(57)【要約】【課題】装置の動作状態に応じて適切にメモリを使用して消費電力を削減することができるプログラムの実行制御方法の提供。【解決手段】ＣＰＵとＲＡＭとＲＯＭとを含む制御部を備え、印刷時に動作する第１プログラムとスリープ時に動作する第２プログラムとが前記ＲＯＭに格納されたプリンタにおけるプログラムの実行制御方法であって、前記印刷時には、前記ＣＰＵは、前記第１プログラムを前記ＲＡＭに展開し、かつ、当該ＲＡＭのワーク領域を使用して実行し、前記スリープ時には、前記ＣＰＵは、前記第２プログラムを前記ＲＡＭに展開せず、かつ、当該ＲＡＭのワーク領域を使用しないで実行する。【選択図】図２
2011248780.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵとＲＡＭとＲＯＭとを含む制御部を備え、印刷時に動作する第１プログラムとスリープ時に動作する第２プログラムとが前記ＲＯＭに格納されたプリンタにおけるプログラムの実行制御方法であって、
前記印刷時には、前記ＣＰＵは、前記第１プログラムを前記ＲＡＭに展開し、かつ、当該ＲＡＭのワーク領域を使用して実行し、
前記スリープ時には、前記ＣＰＵは、前記第２プログラムを前記ＲＡＭに展開せず、かつ、当該ＲＡＭのワーク領域を使用しないで実行する、
ことを特徴とするプログラムの実行制御方法。
【請求項２】
更に、スタンバイ時に動作する第３プログラムが前記ＲＯＭに格納されており、
前記スタンバイ時には、前記ＣＰＵは、前記第３プログラムを前記ＲＡＭに展開せず、かつ、当該ＲＡＭのワーク領域を使用して実行する、
ことを特徴とする請求項１に記載のプログラムの実行制御方法。
【請求項３】
前記ＣＰＵは、前記第２プログラムを、内部レジスタを使用して実行する、
ことを特徴とする請求項１又は２に記載のプログラムの実行制御方法。
【請求項４】
前記ＣＰＵは、前記第２プログラムの実行時に、前記ＲＡＭをリフレッシュする、
ことを特徴とする請求項１乃至３のいずれか一に記載のプログラムの実行制御方法。
【請求項５】
前記第１プログラムは、前記第２プログラムに比べて高速処理が求められるプログラムである、
ことを特徴とする請求項１乃至４のいずれか一に記載のプログラムの実行制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの実行制御方法に関し、特に、印刷時に動作するプログラムとスリープ時に動作するプログラムとが実行されるプリンタにおけるプログラムの実行制御方法に関する。
【背景技術】
【０００２】
プログラムにより動作を制御する装置には、通常、ＣＰＵ（Central Processing Unit）とＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）などのメモリとで構成される制御部が設けられており、ＲＯＭに格納されたプログラムはＲＡＭに展開されてＣＰＵ上で実行される。
【０００３】
ここで、ＲＡＭとしてコスト的に安価なＤＲＡＭ（Dynamic RAM）を使用する場合、リードライト動作と連動してＤＲＡＭにデータを保持させるためリフレッシュ動作を必要とする。このため、ＤＲＡＭは、アクセスなしの状態では消費電力は少ないが、リードライト動作時およびリフレッシュ動作時には消費電力が増加し、アクセス回数に伴って消費電力が増大する。
【０００４】
この問題に対して、下記特許文献１では、ＤＲＡＭ等の消費電力の大きな第２メモリにダウンロードされた制御プログラムを使用したＭＰＵの動作において、装置の立上げ処理が完了した後についても、立上げプログラムが格納されている消費電力の少ないＲＯＭ等の第１メモリの中に含まれる特定のプログラムモジュール、例えばアイドルプログラムを使用することにより、消費電力の大きな第２メモリ上のプログラムモジュールを使用する時間を少なくして消費電力を抑える手法を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−３３４２７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１の技術を利用することにより、アイドル時のメモリの消費電力を削減することができるが、上記技術では、様々な装置の様々な動作状態において、消費電力を適切に削減することは困難である。
【０００７】
例えば、プリンタのように駆動部や加熱部などの複雑な機構を備える装置では、印刷データを受信した時に迅速に印刷を実行できるようにするために、上記機構をスタンバイさせた状態で動作させる必要がある。また、プリンタは常時電源ＯＮの状態であるため、一定時間使用されない状態が続いた場合には、消費電力を抑えたスリープ状態で動作させる必要がある。
【０００８】
このように、印刷時とスタンバイ時とスリープ時とではプリンタの動作状態が異なるため、各々の動作状態に応じたプログラムを適切に動作させなければならないが、特許文献１の技術は、プログラムで実現する処理の規模（処理に際して一時的に保存する情報量）や処理速度などのプログラムの属性を考慮していないため、この技術をプリンタのような装置に適用しても、消費電力を適切に削減することができない。
【０００９】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、装置の動作状態に応じて適切にメモリを使用して消費電力を削減することができるプログラムの実行制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明は、ＣＰＵとＲＡＭとＲＯＭとを含む制御部を備え、印刷時に動作する第１プログラムとスリープ時に動作する第２プログラムとが前記ＲＯＭに格納されたプリンタにおけるプログラムの実行制御方法であって、前記印刷時には、前記ＣＰＵは、前記第１プログラムを前記ＲＡＭに展開し、かつ、当該ＲＡＭのワーク領域を使用して実行し、前記スリープ時には、前記ＣＰＵは、前記第２プログラムを前記ＲＡＭに展開せず、かつ、当該ＲＡＭのワーク領域を使用しないで実行するものである。
【００１１】
本発明においては、更に、スタンバイ時に動作する第３プログラムが前記ＲＯＭに格納されており、前記スタンバイ時には、前記ＣＰＵは、前記第３プログラムを前記ＲＡＭに展開せず、かつ、当該ＲＡＭのワーク領域を使用して実行する構成とすることができる。
【００１２】
また、本発明においては、前記ＣＰＵは、前記第２プログラムを、内部レジスタを使用して実行することが好ましく、前記ＣＰＵは、前記第２プログラムの実行時に、前記ＲＡＭをリフレッシュする構成とすることができる。
【発明の効果】
【００１３】
本発明のプログラムの実行制御方法によれば、装置の動作状態に応じて適切にメモリを使用して消費電力を削減することができる。
【００１４】
その理由は、スリープ時のように、処理の規模が小さく、ＣＰＵのレジスタで実行可能なプログラム（低速処理で十分なプログラム）が動作する状態では、当該プログラムをＲＯＭに格納し、ＲＡＭを使用せずに実行し、印刷時のように、処理の規模が大きく、ＲＡＭのワーク領域が必要なプログラム（高速処理が求められるプログラム）が動作する状態では、当該プログラムをＲＡＭに展開し、ＲＡＭのワーク領域を使用して実行する制御を行うからである。
【００１５】
また、スタンバイ時のように、処理の規模が高速処理プログラムと低速処理プログラムの間で、ＲＡＭのワーク領域が必要なプログラム（中速処理が求められるプログラム）が動作する状態では、当該プログラムをＲＯＭに格納し、ＲＡＭのワーク領域を使用して実行する制御を行うからである。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施例に係るプリンタ及びコントローラの構成を模式的に示す図である。
【図２】本発明の一実施例に係るプリンタにおけるプログラムの実行手順を示すフローチャート図である。
【発明を実施するための形態】
【００１７】
近年の装置は消費電力の削減が求められており、アイドル時に消費電力の少ないＲＯＭを使用して消費電力の削減を図る技術が開示されている。しかしながら、従来のプリンタは、高速処理を必要としないスリープ時においても、高速処理と同様にＲＡＭのワーク領域を使用してプログラムが実行されるため、消費電力を十分に削減することができないという問題があった。
【００１８】
具体的に説明すると、ＲＯＭとＲＡＭとでは消費電力が大きく異なり、ＲＡＭは動作状態で消費電力が大きく異なる。例えば、消費電力はおおよそ、ＲＯＭは０．１Ｗ、ＲＡＭは稼働時で０．７２Ｗ、スタンバイ時で０．３６Ｗ、セルフリフレッシュ時で０．０３６Ｗとなる。従って、スリープ時にＲＡＭのワーク領域を使用してプログラムを実行すると、消費電力が大きくなってしまう。
【００１９】
そこで、本発明の一実施の形態では、プリンタのように複雑な機構を備え、様々な状態で動作する装置において、適切に消費電力を削減できるようにするために、各々の状態で動作するプログラムの属性を考慮して、ＲＡＭおよびＲＯＭの使用方法を変更できるようにする。
【００２０】
例えば、印刷時に動作するプログラム（処理の規模が大きく、ＲＡＭのワーク領域が必要な高速処理が求められるプログラム）は、ＲＡＭに展開し、ＲＡＭのワーク領域を使用して実行する。また、スタンバイ時に動作するプログラム（処理の規模が中程度で、ＲＡＭのワーク領域が必要な中速処理のプログラム）は、ＲＯＭに格納し、ＲＡＭのワーク領域を使用して実行する。また、スリープ時に動作するプログラム（処理の規模が小さく、ＣＰＵのレジスタで実行可能な低速処理のプログラム）は、ＲＯＭに格納し、ＲＡＭのワーク領域を使用しないで（レジスタを使用して）実行する。
【００２１】
このように、プログラムをＲＡＭ又はＲＯＭのいずれに格納するか、プログラムの動作時にＲＡＭのワーク領域を使用するか否かを設定できるようにすることで、プリンタの消費電力を効率的に削減することができる。
【００２２】
なお、ＲＡＭとして、コンピュータ内の各回路間で同期を取る際に、クロック信号の立上がり時と立下がり時の両方を利用するＤＤＲ（Double Data Rate）よりも高性能で消費電力が少ないＤＤＲ２を用いた場合は、セルフリフレッシュモードにして、更なる消費電力の低減を図ることができる。
【実施例】
【００２３】
上記した本発明の一実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係るプログラムの実行制御方法について、図１及び図２を参照して説明する。図１は、本実施例のプリンタ及びコントローラの構成を模式的に示すブロック図であり、図２は、プリンタの動作を示すフローチャート図である。なお、本実施例では、プリンタを例にして説明するが、スキャナ装置やＦＡＸ装置、複合機（ＭＦＰ：Multi Function Peripheral）などの画像処理装置全般に適用可能である。
【００２４】
図１に示すように、本実施例のプリンタは、コントローラ１０（制御部）と、コントローラ１０に接続されるメカコン２０や操作パネル３０、ＰＨ（Printer Hardware）４０などで構成される。
【００２５】
また、コントローラ１０は、ＣＰＵ（ＳＯＣ：System-on-a-Chip）１１、ＲＡＭ（ＤＤＲ２）１２、ＲＯＭ１３、画像処理ＡＳＩＣ（Application Specific Integrated Circuit）１４、ＬＡＮ（Local Area Network）インタフェース１５、ＵＳＢ（Universal Serial Bus）インタフェース１６などで構成される。ＣＰＵ１１は、メカコン２０や操作パネル３０に接続され、画像処理ＡＳＩＣ１４は、ＰＨ４０に接続される。
【００２６】
ＣＰＵ１１は、ＲＯＭ１３に格納又はＲＡＭ１２に展開されたプログラムを実行する部分であり、ＡＬＵ（Arithmetic Logic Unit）などの演算装置、データを一時記憶するレジスタ、メモリなどの記憶装置へのインタフェース、周辺機器との入出力装置へのインタフェース、ＣＰＵ全体を制御する制御装置などで構成される。なお、レジスタは、フリップフロップなどの回路素子を用いて、計算結果を一時的に保持したり、ＲＡＭ１２やＲＯＭ１３などのメインメモリを読み書きする際のアドレスを保持したり、プロセッサや周辺機器の動作状態を保持・変更したりする回路である。
【００２７】
ＲＡＭ１２は、アドレス信号によって番地情報を与えることにより任意の番地のメモリセルに対して読み出しや書き込みといった操作が出来る記憶装置であり、大きくはＤＲＡＭとＳＲＡＭ（Static RAM）に大別されるが、本実施例ではコストの低いＤＲＡＭが使用される。このＤＲＡＭは、記憶データをコンデンサ（キャパシタ）の電荷として蓄えているため、一定時間経つと自然放電によりデータが消えてしまう。このため、情報を維持するために定期的に情報を読み出し、再度書き込みをする動作（リフレッシュ）が必要であり、記憶を保持するために、例えば、１秒間に数十回の頻度で繰り返しリフレッシュが行われる。
【００２８】
また、ＲＡＭ１２は、プログラムを展開する領域と、ライト／リードが可能な領域（ワーク領域と呼ぶ。）と、を備える。そして、ＣＰＵ１１は、例えば、ＲＯＭ１３に記憶された高速処理を必要とするプログラムを展開し、画像処理ＡＳＩＣ１４を利用して、ワーク領域に画像データの描画を行い、描画完了後に、画像処理ＡＳＩＣ１４を経由させてＰＨ４０に出力する。
【００２９】
ＲＯＭ１３は、読み出し専用の記憶装置であり、大きくはマスクＲＯＭとＰＲＯＭ（Programmable ROM）に大別される。ＲＯＭ１３に格納するプログラムとしては、下記に示すものがある。
【００３０】
１．コントローラ１０の初期化プログラム（非圧縮）
２．スリープ時に動作する（低速処理を行う）プログラム（非圧縮）
３．スタンバイ時に動作する（中速処理を行う）プログラム（非圧縮）
４．印刷時に動作する（高速処理を行う）プログラム（非圧縮又は圧縮）
５．４のプログラムをＲＡＭ１２に展開するプログラム（非圧縮）
【００３１】
なお、２の低速処理を行うプログラムは、主に、ＬＡＮやＵＳＢの受信割込み待ちを行う。また、３の中速処理を行うプログラムは、主に、ＬＡＮやＵＳＢの受信待ち、メカコン２０および操作パネル３０との通信を行う。
【００３２】
画像処理ＡＳＩＣ１４は、例えば、入力されるＲＧＢの画像データをＣＭＹに変換し，画素単位のＣＭＹデータに基づいて領域分離、黒生成、色補正などの画像処理を行うための集積回路である。
【００３３】
ＬＡＮインタフェース１５は、ＮＩＣ（Network Interface Card）などであり、プリンタを通信ネットワークに接続し、クライアントのコンピュータ装置などとの通信を確立する。
【００３４】
ＵＳＢインタフェース１６は、シリアルバス規格の１つであるＵＳＢ規格に適合する機器（例えば、デジタルカメラ）や記憶媒体（例えば、ＵＳＢメモリ）との通信を確立する。
【００３５】
メカコン２０は、機械の信頼性・性能を確保する上でメカコントロールを行っている制御系である。
【００３６】
操作パネル３０は、表示部上に透明電極が格子状に配置された感圧式の操作部（タッチパネル）を設けたものである。
【００３７】
ＰＨ４０は、プリンタの印刷部などであり、例えば、感光体、帯電装置、露光装置、現像装置、転写装置、定着装置などの印刷機構である。
【００３８】
なお、図１は、プリンタの一例であり、コントローラ１０にＣＰＵ１１とＲＡＭ１２とＲＯＭ１３を備える限りにおいて適宜変更可能である。例えば、ＨＤＤ（Hard Disk Drive）などの記憶手段を設け、高速処理のプログラムなどを記憶しておき、装置の起動時に当該プログラムをＨＤＤから読み出してＲＡＭ１２に格納する構成としてもよい。
【００３９】
次に、上記構成のプリンタにおけるプログラムの実行手順について、図２のフローチャート図を参照して説明する。
【００４０】
まず、装置の電源をオンにすると、ハードウェアの初期化プログラムを実行し、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、画像処理ＡＳＩＣ１４、ＬＡＮインタフェース１５、ＵＳＢインタフェース１６の各ハードウェアを使用できるように設定を行う（Ｓ１０１）。
【００４１】
次に、ＣＰＵ１１は、ＲＯＭ１３に格納したプログラムをＲＡＭ１２に展開するためのプログラムを実行して、印刷時に実行するプログラム（ＲＡＭ１２のワーク領域を必要とする高速処理を行うプログラム）をＲＯＭ１３から読み出し、ＲＡＭ１２に展開する（Ｓ１０２）。
【００４２】
この段階でプリンタはスタンバイ状態となり、ＣＰＵ１１は、スタンバイ時に実行するプログラム（ＲＡＭ１２のワーク領域を必要とする中速処理を行うプログラム）を実行する（Ｓ１０３）。その際、ＣＰＵ１１は、このプログラムをＲＡＭ１２に展開せずに実行するが、ＲＡＭ１２のワーク領域を、ＬＡＮインタフェース１５、ＵＳＢインタフェース１６の受信待ち、メカコン２０、操作パネル３０の通信用のバッファなどとして使用する。
【００４３】
このスタンバイ状態で、ＬＡＮインタフェース１５又はＵＳＢインタフェース１６からの印刷データの受信を監視し（Ｓ１０４）、印刷データを受信したら、プリンタを印刷状態とし、ＣＰＵ１１は、ステップＳ１０２でＲＡＭ１２に展開したプログラム（ＲＡＭ１２のワーク領域を必要とする高速処理を行うプログラム）を実行する（Ｓ１０５）。その際、ＣＰＵ１１は、画像処理ＡＳＩＣ１４を利用し、ＲＡＭ１２のワーク領域に画像データの描画を行い、描画完了後に画像処理ＡＳＩＣ１４を経由させて画像データをＰＨ４０に出力する。
【００４４】
そして、印刷処理が終了したら（Ｓ１０６のＹｅｓ）、Ｓ１０３に戻ってスタンバイ状態に戻り、印刷処理が終了していなければ（Ｓ１０６のＮｏ）、Ｓ１０４に戻って印刷データの受信を待つ。
【００４５】
また、Ｓ１０４で印刷データを受信しなければ、スタンバイ状態が予め定めた設定時間を経過したかを判断し（Ｓ１０７）、設定時間を経過していなければＳ１０３に戻ってスタンバイ状態を維持する。
【００４６】
一方、設定時間を経過したらスリープ状態に移行し、ＣＰＵ１１は、低速処理を行うプログラム（ＣＰＵ１１のレジスタで実行可能なプログラム）を実行する（Ｓ１０８）。その際、ＣＰＵ１１は、ＲＡＭ１２のワーク領域は不使用せず、ＲＡＭ１２をセルフリフレッシュモードにしてリフレッシュを行う。
【００４７】
このスリープ状態で、ＬＡＮインタフェース１５又はＵＳＢインタフェース１６からの印刷データの受信を監視し（Ｓ１０９）、印刷データを受信しなければＳ１０８に戻ってスリープ状態を維持し、印刷データを受信したらＳ１０５に遷移して印刷状態にする。
【００４８】
そして、上記動作を電源がオフにされるまで行う。
【００４９】
このように、本実施例では、印刷時に動作するプログラム（例えば、高速処理のプログラム）はＲＡＭ１２に格納してＲＡＭ１２のワーク領域を使用して実行し、スタンバイ時に動作するプログラム（例えば、中速処理のプログラム）はＲＯＭ１３に格納してＲＡＭ１２のワーク領域を使用して実行し、スリープ時に動作するプログラム（例えば、低速処理のプログラム）はＲＯＭ１３に格納してＲＡＭ１２のワーク領域を使用せず実行するため、プリンタの消費電力を効率的に削減することができる。
【００５０】
なお、上記実施例ではプリンタの制御方法について説明したが、本発明は上記実施例に限定されるものではなく、動作状態に応じて、ＲＡＭ１２のワーク領域を使用するプログラムとＲＡＭ１２のワーク領域を使用しないプログラムとが選択的に実行される任意の装置に対して同様に適用することができる。
【産業上の利用可能性】
【００５１】
本発明は、ＣＰＵとＲＡＭとＲＯＭを用いてプログラムを実行する装置、特に、動作状態に応じて、ＲＡＭ１２のワーク領域を使用するプログラムとＲＡＭ１２のワーク領域を使用しないプログラムとが選択的に実行されるプリンタに利用可能である。
【符号の説明】
【００５２】
１０  コントローラ
１１  ＣＰＵ
１２  ＲＡＭ
１３  ＲＯＭ
１４  画像処理ＡＳＩＣ
１５  ＬＡＮインタフェース
１６  ＵＳＢインタフェース
２０  メカコン
３０  操作パネル
４０  ＰＨ
【図１】
2011248780.tif 000003
【図２】
2011248780.tif 000004