説明

プログラムの実行制御方法

【課題】装置の動作状態に応じて適切にメモリを使用して消費電力を削減することができるプログラムの実行制御方法の提供。
【解決手段】CPUとRAMとROMとを含む制御部を備え、印刷時に動作する第1プログラムとスリープ時に動作する第2プログラムとが前記ROMに格納されたプリンタにおけるプログラムの実行制御方法であって、前記印刷時には、前記CPUは、前記第1プログラムを前記RAMに展開し、かつ、当該RAMのワーク領域を使用して実行し、前記スリープ時には、前記CPUは、前記第2プログラムを前記RAMに展開せず、かつ、当該RAMのワーク領域を使用しないで実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムの実行制御方法に関し、特に、印刷時に動作するプログラムとスリープ時に動作するプログラムとが実行されるプリンタにおけるプログラムの実行制御方法に関する。
【背景技術】
【0002】
プログラムにより動作を制御する装置には、通常、CPU(Central Processing Unit)とRAM(Random Access Memory)やROM(Read Only Memory)などのメモリとで構成される制御部が設けられており、ROMに格納されたプログラムはRAMに展開されてCPU上で実行される。
【0003】
ここで、RAMとしてコスト的に安価なDRAM(Dynamic RAM)を使用する場合、リードライト動作と連動してDRAMにデータを保持させるためリフレッシュ動作を必要とする。このため、DRAMは、アクセスなしの状態では消費電力は少ないが、リードライト動作時およびリフレッシュ動作時には消費電力が増加し、アクセス回数に伴って消費電力が増大する。
【0004】
この問題に対して、下記特許文献1では、DRAM等の消費電力の大きな第2メモリにダウンロードされた制御プログラムを使用したMPUの動作において、装置の立上げ処理が完了した後についても、立上げプログラムが格納されている消費電力の少ないROM等の第1メモリの中に含まれる特定のプログラムモジュール、例えばアイドルプログラムを使用することにより、消費電力の大きな第2メモリ上のプログラムモジュールを使用する時間を少なくして消費電力を抑える手法を開示している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平7−334278号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記特許文献1の技術を利用することにより、アイドル時のメモリの消費電力を削減することができるが、上記技術では、様々な装置の様々な動作状態において、消費電力を適切に削減することは困難である。
【0007】
例えば、プリンタのように駆動部や加熱部などの複雑な機構を備える装置では、印刷データを受信した時に迅速に印刷を実行できるようにするために、上記機構をスタンバイさせた状態で動作させる必要がある。また、プリンタは常時電源ONの状態であるため、一定時間使用されない状態が続いた場合には、消費電力を抑えたスリープ状態で動作させる必要がある。
【0008】
このように、印刷時とスタンバイ時とスリープ時とではプリンタの動作状態が異なるため、各々の動作状態に応じたプログラムを適切に動作させなければならないが、特許文献1の技術は、プログラムで実現する処理の規模(処理に際して一時的に保存する情報量)や処理速度などのプログラムの属性を考慮していないため、この技術をプリンタのような装置に適用しても、消費電力を適切に削減することができない。
【0009】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、装置の動作状態に応じて適切にメモリを使用して消費電力を削減することができるプログラムの実行制御方法を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明は、CPUとRAMとROMとを含む制御部を備え、印刷時に動作する第1プログラムとスリープ時に動作する第2プログラムとが前記ROMに格納されたプリンタにおけるプログラムの実行制御方法であって、前記印刷時には、前記CPUは、前記第1プログラムを前記RAMに展開し、かつ、当該RAMのワーク領域を使用して実行し、前記スリープ時には、前記CPUは、前記第2プログラムを前記RAMに展開せず、かつ、当該RAMのワーク領域を使用しないで実行するものである。
【0011】
本発明においては、更に、スタンバイ時に動作する第3プログラムが前記ROMに格納されており、前記スタンバイ時には、前記CPUは、前記第3プログラムを前記RAMに展開せず、かつ、当該RAMのワーク領域を使用して実行する構成とすることができる。
【0012】
また、本発明においては、前記CPUは、前記第2プログラムを、内部レジスタを使用して実行することが好ましく、前記CPUは、前記第2プログラムの実行時に、前記RAMをリフレッシュする構成とすることができる。
【発明の効果】
【0013】
本発明のプログラムの実行制御方法によれば、装置の動作状態に応じて適切にメモリを使用して消費電力を削減することができる。
【0014】
その理由は、スリープ時のように、処理の規模が小さく、CPUのレジスタで実行可能なプログラム(低速処理で十分なプログラム)が動作する状態では、当該プログラムをROMに格納し、RAMを使用せずに実行し、印刷時のように、処理の規模が大きく、RAMのワーク領域が必要なプログラム(高速処理が求められるプログラム)が動作する状態では、当該プログラムをRAMに展開し、RAMのワーク領域を使用して実行する制御を行うからである。
【0015】
また、スタンバイ時のように、処理の規模が高速処理プログラムと低速処理プログラムの間で、RAMのワーク領域が必要なプログラム(中速処理が求められるプログラム)が動作する状態では、当該プログラムをROMに格納し、RAMのワーク領域を使用して実行する制御を行うからである。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施例に係るプリンタ及びコントローラの構成を模式的に示す図である。
【図2】本発明の一実施例に係るプリンタにおけるプログラムの実行手順を示すフローチャート図である。
【発明を実施するための形態】
【0017】
近年の装置は消費電力の削減が求められており、アイドル時に消費電力の少ないROMを使用して消費電力の削減を図る技術が開示されている。しかしながら、従来のプリンタは、高速処理を必要としないスリープ時においても、高速処理と同様にRAMのワーク領域を使用してプログラムが実行されるため、消費電力を十分に削減することができないという問題があった。
【0018】
具体的に説明すると、ROMとRAMとでは消費電力が大きく異なり、RAMは動作状態で消費電力が大きく異なる。例えば、消費電力はおおよそ、ROMは0.1W、RAMは稼働時で0.72W、スタンバイ時で0.36W、セルフリフレッシュ時で0.036Wとなる。従って、スリープ時にRAMのワーク領域を使用してプログラムを実行すると、消費電力が大きくなってしまう。
【0019】
そこで、本発明の一実施の形態では、プリンタのように複雑な機構を備え、様々な状態で動作する装置において、適切に消費電力を削減できるようにするために、各々の状態で動作するプログラムの属性を考慮して、RAMおよびROMの使用方法を変更できるようにする。
【0020】
例えば、印刷時に動作するプログラム(処理の規模が大きく、RAMのワーク領域が必要な高速処理が求められるプログラム)は、RAMに展開し、RAMのワーク領域を使用して実行する。また、スタンバイ時に動作するプログラム(処理の規模が中程度で、RAMのワーク領域が必要な中速処理のプログラム)は、ROMに格納し、RAMのワーク領域を使用して実行する。また、スリープ時に動作するプログラム(処理の規模が小さく、CPUのレジスタで実行可能な低速処理のプログラム)は、ROMに格納し、RAMのワーク領域を使用しないで(レジスタを使用して)実行する。
【0021】
このように、プログラムをRAM又はROMのいずれに格納するか、プログラムの動作時にRAMのワーク領域を使用するか否かを設定できるようにすることで、プリンタの消費電力を効率的に削減することができる。
【0022】
なお、RAMとして、コンピュータ内の各回路間で同期を取る際に、クロック信号の立上がり時と立下がり時の両方を利用するDDR(Double Data Rate)よりも高性能で消費電力が少ないDDR2を用いた場合は、セルフリフレッシュモードにして、更なる消費電力の低減を図ることができる。
【実施例】
【0023】
上記した本発明の一実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係るプログラムの実行制御方法について、図1及び図2を参照して説明する。図1は、本実施例のプリンタ及びコントローラの構成を模式的に示すブロック図であり、図2は、プリンタの動作を示すフローチャート図である。なお、本実施例では、プリンタを例にして説明するが、スキャナ装置やFAX装置、複合機(MFP:Multi Function Peripheral)などの画像処理装置全般に適用可能である。
【0024】
図1に示すように、本実施例のプリンタは、コントローラ10(制御部)と、コントローラ10に接続されるメカコン20や操作パネル30、PH(Printer Hardware)40などで構成される。
【0025】
また、コントローラ10は、CPU(SOC:System-on-a-Chip)11、RAM(DDR2)12、ROM13、画像処理ASIC(Application Specific Integrated Circuit)14、LAN(Local Area Network)インタフェース15、USB(Universal Serial Bus)インタフェース16などで構成される。CPU11は、メカコン20や操作パネル30に接続され、画像処理ASIC14は、PH40に接続される。
【0026】
CPU11は、ROM13に格納又はRAM12に展開されたプログラムを実行する部分であり、ALU(Arithmetic Logic Unit)などの演算装置、データを一時記憶するレジスタ、メモリなどの記憶装置へのインタフェース、周辺機器との入出力装置へのインタフェース、CPU全体を制御する制御装置などで構成される。なお、レジスタは、フリップフロップなどの回路素子を用いて、計算結果を一時的に保持したり、RAM12やROM13などのメインメモリを読み書きする際のアドレスを保持したり、プロセッサや周辺機器の動作状態を保持・変更したりする回路である。
【0027】
RAM12は、アドレス信号によって番地情報を与えることにより任意の番地のメモリセルに対して読み出しや書き込みといった操作が出来る記憶装置であり、大きくはDRAMとSRAM(Static RAM)に大別されるが、本実施例ではコストの低いDRAMが使用される。このDRAMは、記憶データをコンデンサ(キャパシタ)の電荷として蓄えているため、一定時間経つと自然放電によりデータが消えてしまう。このため、情報を維持するために定期的に情報を読み出し、再度書き込みをする動作(リフレッシュ)が必要であり、記憶を保持するために、例えば、1秒間に数十回の頻度で繰り返しリフレッシュが行われる。
【0028】
また、RAM12は、プログラムを展開する領域と、ライト/リードが可能な領域(ワーク領域と呼ぶ。)と、を備える。そして、CPU11は、例えば、ROM13に記憶された高速処理を必要とするプログラムを展開し、画像処理ASIC14を利用して、ワーク領域に画像データの描画を行い、描画完了後に、画像処理ASIC14を経由させてPH40に出力する。
【0029】
ROM13は、読み出し専用の記憶装置であり、大きくはマスクROMとPROM(Programmable ROM)に大別される。ROM13に格納するプログラムとしては、下記に示すものがある。
【0030】
1.コントローラ10の初期化プログラム(非圧縮)
2.スリープ時に動作する(低速処理を行う)プログラム(非圧縮)
3.スタンバイ時に動作する(中速処理を行う)プログラム(非圧縮)
4.印刷時に動作する(高速処理を行う)プログラム(非圧縮又は圧縮)
5.4のプログラムをRAM12に展開するプログラム(非圧縮)
【0031】
なお、2の低速処理を行うプログラムは、主に、LANやUSBの受信割込み待ちを行う。また、3の中速処理を行うプログラムは、主に、LANやUSBの受信待ち、メカコン20および操作パネル30との通信を行う。
【0032】
画像処理ASIC14は、例えば、入力されるRGBの画像データをCMYに変換し,画素単位のCMYデータに基づいて領域分離、黒生成、色補正などの画像処理を行うための集積回路である。
【0033】
LANインタフェース15は、NIC(Network Interface Card)などであり、プリンタを通信ネットワークに接続し、クライアントのコンピュータ装置などとの通信を確立する。
【0034】
USBインタフェース16は、シリアルバス規格の1つであるUSB規格に適合する機器(例えば、デジタルカメラ)や記憶媒体(例えば、USBメモリ)との通信を確立する。
【0035】
メカコン20は、機械の信頼性・性能を確保する上でメカコントロールを行っている制御系である。
【0036】
操作パネル30は、表示部上に透明電極が格子状に配置された感圧式の操作部(タッチパネル)を設けたものである。
【0037】
PH40は、プリンタの印刷部などであり、例えば、感光体、帯電装置、露光装置、現像装置、転写装置、定着装置などの印刷機構である。
【0038】
なお、図1は、プリンタの一例であり、コントローラ10にCPU11とRAM12とROM13を備える限りにおいて適宜変更可能である。例えば、HDD(Hard Disk Drive)などの記憶手段を設け、高速処理のプログラムなどを記憶しておき、装置の起動時に当該プログラムをHDDから読み出してRAM12に格納する構成としてもよい。
【0039】
次に、上記構成のプリンタにおけるプログラムの実行手順について、図2のフローチャート図を参照して説明する。
【0040】
まず、装置の電源をオンにすると、ハードウェアの初期化プログラムを実行し、CPU11、RAM12、ROM13、画像処理ASIC14、LANインタフェース15、USBインタフェース16の各ハードウェアを使用できるように設定を行う(S101)。
【0041】
次に、CPU11は、ROM13に格納したプログラムをRAM12に展開するためのプログラムを実行して、印刷時に実行するプログラム(RAM12のワーク領域を必要とする高速処理を行うプログラム)をROM13から読み出し、RAM12に展開する(S102)。
【0042】
この段階でプリンタはスタンバイ状態となり、CPU11は、スタンバイ時に実行するプログラム(RAM12のワーク領域を必要とする中速処理を行うプログラム)を実行する(S103)。その際、CPU11は、このプログラムをRAM12に展開せずに実行するが、RAM12のワーク領域を、LANインタフェース15、USBインタフェース16の受信待ち、メカコン20、操作パネル30の通信用のバッファなどとして使用する。
【0043】
このスタンバイ状態で、LANインタフェース15又はUSBインタフェース16からの印刷データの受信を監視し(S104)、印刷データを受信したら、プリンタを印刷状態とし、CPU11は、ステップS102でRAM12に展開したプログラム(RAM12のワーク領域を必要とする高速処理を行うプログラム)を実行する(S105)。その際、CPU11は、画像処理ASIC14を利用し、RAM12のワーク領域に画像データの描画を行い、描画完了後に画像処理ASIC14を経由させて画像データをPH40に出力する。
【0044】
そして、印刷処理が終了したら(S106のYes)、S103に戻ってスタンバイ状態に戻り、印刷処理が終了していなければ(S106のNo)、S104に戻って印刷データの受信を待つ。
【0045】
また、S104で印刷データを受信しなければ、スタンバイ状態が予め定めた設定時間を経過したかを判断し(S107)、設定時間を経過していなければS103に戻ってスタンバイ状態を維持する。
【0046】
一方、設定時間を経過したらスリープ状態に移行し、CPU11は、低速処理を行うプログラム(CPU11のレジスタで実行可能なプログラム)を実行する(S108)。その際、CPU11は、RAM12のワーク領域は不使用せず、RAM12をセルフリフレッシュモードにしてリフレッシュを行う。
【0047】
このスリープ状態で、LANインタフェース15又はUSBインタフェース16からの印刷データの受信を監視し(S109)、印刷データを受信しなければS108に戻ってスリープ状態を維持し、印刷データを受信したらS105に遷移して印刷状態にする。
【0048】
そして、上記動作を電源がオフにされるまで行う。
【0049】
このように、本実施例では、印刷時に動作するプログラム(例えば、高速処理のプログラム)はRAM12に格納してRAM12のワーク領域を使用して実行し、スタンバイ時に動作するプログラム(例えば、中速処理のプログラム)はROM13に格納してRAM12のワーク領域を使用して実行し、スリープ時に動作するプログラム(例えば、低速処理のプログラム)はROM13に格納してRAM12のワーク領域を使用せず実行するため、プリンタの消費電力を効率的に削減することができる。
【0050】
なお、上記実施例ではプリンタの制御方法について説明したが、本発明は上記実施例に限定されるものではなく、動作状態に応じて、RAM12のワーク領域を使用するプログラムとRAM12のワーク領域を使用しないプログラムとが選択的に実行される任意の装置に対して同様に適用することができる。
【産業上の利用可能性】
【0051】
本発明は、CPUとRAMとROMを用いてプログラムを実行する装置、特に、動作状態に応じて、RAM12のワーク領域を使用するプログラムとRAM12のワーク領域を使用しないプログラムとが選択的に実行されるプリンタに利用可能である。
【符号の説明】
【0052】
10 コントローラ
11 CPU
12 RAM
13 ROM
14 画像処理ASIC
15 LANインタフェース
16 USBインタフェース
20 メカコン
30 操作パネル
40 PH

【特許請求の範囲】
【請求項1】
CPUとRAMとROMとを含む制御部を備え、印刷時に動作する第1プログラムとスリープ時に動作する第2プログラムとが前記ROMに格納されたプリンタにおけるプログラムの実行制御方法であって、
前記印刷時には、前記CPUは、前記第1プログラムを前記RAMに展開し、かつ、当該RAMのワーク領域を使用して実行し、
前記スリープ時には、前記CPUは、前記第2プログラムを前記RAMに展開せず、かつ、当該RAMのワーク領域を使用しないで実行する、
ことを特徴とするプログラムの実行制御方法。
【請求項2】
更に、スタンバイ時に動作する第3プログラムが前記ROMに格納されており、
前記スタンバイ時には、前記CPUは、前記第3プログラムを前記RAMに展開せず、かつ、当該RAMのワーク領域を使用して実行する、
ことを特徴とする請求項1に記載のプログラムの実行制御方法。
【請求項3】
前記CPUは、前記第2プログラムを、内部レジスタを使用して実行する、
ことを特徴とする請求項1又は2に記載のプログラムの実行制御方法。
【請求項4】
前記CPUは、前記第2プログラムの実行時に、前記RAMをリフレッシュする、
ことを特徴とする請求項1乃至3のいずれか一に記載のプログラムの実行制御方法。
【請求項5】
前記第1プログラムは、前記第2プログラムに比べて高速処理が求められるプログラムである、
ことを特徴とする請求項1乃至4のいずれか一に記載のプログラムの実行制御方法。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2011−248780(P2011−248780A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−123453(P2010−123453)
【出願日】平成22年5月28日(2010.5.28)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】