(57)【要約】【課題】機器が動作していない待機時だけでなく、動作時にも機器が消費するエネルギー量を抑えることで、機器が消費するエネルギー量を更に抑える。【解決手段】外部割込みの要求がある場合は、省電力モード移行タスクよりも高いプライオリティのタスクがあるときにＣＰＵがフルパワーで動作できるように、ＣＰＵの電力状態が省電力モードの場合に、電力状態を省電力モードから通常の電力モードに復帰する（ステップ１００，１０２）。省電力モード移行タスクよりもプライオリティの高いタスクが存在するか否かを判定し（ステップ１０４）、存在しない場合は省電力モード移行タスクをコールし、省電力モード移行タスクを実行し、ＣＰＵの電力状態を省電力モードに移行する（ステップ１０６，１０８）。存在する場合は最もプライオリティの高いタスクをコールし、最もプライオリティの高いタスクを実行する（ステップ１１０，１１２）。【選択図】図３
2009122828.tif 000002
【特許請求の範囲】
【請求項１】
優先度が最低に設定されたタスクであって中央処理装置の電力状態を省電力モードに移行する移行タスクを含む複数のタスクの何れかを順に実行するマルチタスクオペレーティングシステムの管理下で動作する中央処理装置であって、
前記移行タスクより優先度が高いタスクが存在するか否かを判定する判定手段と、
前記判定手段により前記優先度が高いタスクが存在すると判定された場合には、該優先度が高いタスクを実行し、前記優先度が高いタスクが存在しないと判定された場合には、前記移行タスクを実行する実行手段と、
を含む中央処理装置。
【請求項２】
前記移行タスクの実行中に前記マルチタスクオペレーティングシステムのタスクスイッチによるタイマ割込みを含む外部割込みが発生した場合に、前記電力状態を省電力モードから通常の電力モードに復帰させる復帰手段を更に含む請求項１に記載の中央処理装置。
【請求項３】
前記実行手段は、前記中央処理装置が搭載されている制御装置が処理能力の高さが重視される状態の場合には、前記優先度が高いタスクが存在しないと判定されたときであっても前記移行タスクの実行を中止する請求項１又は請求項２に記載の中央処理装置。
【請求項４】
前記中央処理装置を複数の異なる省電力モードの何れかの省電力モードに移行可能とし、前記移行タスクの実行によって移行する省電力モードを前記中央処理装置の動作に応じて設定した請求項１〜請求項３の何れか１項に記載の中央処理装置。
【請求項５】
前記請求項１〜請求項４の何れか１項に記載の中央処理装置が搭載されている制御装置であって、
前記中央処理装置が即時性の要求されるタスクの実行に用いられている場合は、オートリフレッシュによってリフレッシュし、前記中央処理装置が即時性の要求されないタスクの実行に用いられている場合は、セルフリフレッシュによってリフレッシュする主記憶装置を含む制御装置。
【請求項６】
中央処理装置を、前記請求項１〜請求項４の何れか１項に記載の中央処理装置に含まれる各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中央処理装置、制御装置、及びプログラムに関する。
【背景技術】
【０００２】
地球温暖化は、毎日消費するエネルギーと密接な関係にあり、とくに近年は、長時間スイッチを入れた状態になりがちな機器のエネルギー消費が問題になると共に、消費するエネルギー量を抑えるために検討がなされている。
【０００３】
例えば、特許文献１には、通信インターフェースにイーサネット(登録商標)が接続されている場合には、ダイレクトメモリアクセス（ＤＭＡ）コントローラから所定時間以上ＤＭＡ転送要求信号が出力されないと中央処理装置（ＣＰＵ）等へのクロック供給を停止させるスリープモードへ遷移するように制御すると共に、ホストコンピュータ群からデータを受信した場合にスリープモードを解除するように制御し、通信インターフェースにＵＳＢ機器やＩＥＥＥ１２８４機器が接続されている場合には、ＤＭＡコントローラから所定時間以上ＤＭＡ転送要求信号が出力されないと、ＣＰＵ等への電源供給を停止させる電源停止モードへ遷移するように制御することにより、省電力性を向上させる技術が記載されている。
【０００４】
このように、機器が動作していない待機時に消費するエネルギー量を抑える技術は、種々提案されてきた。
【特許文献１】特開２００１−１８００８３公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、機器が動作していない待機時だけでなく、動作時にも機器が消費するエネルギー量を抑えることで、機器が消費するエネルギー量を更に抑えることができる中央処理装置、制御装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１の中央処理装置の発明は、優先度が最低に設定されたタスクであって中央処理装置の電力状態を省電力モードに移行する移行タスクを含む複数のタスクの何れかを順に実行するマルチタスクオペレーティングシステムの管理下で動作する中央処理装置であって、前記移行タスクより優先度が高いタスクが存在するか否かを判定する判定手段と、前記判定手段により前記優先度が高いタスクが存在すると判定された場合には、該優先度が高いタスクを実行し、前記優先度が高いタスクが存在しないと判定された場合には、前記移行タスクを実行する実行手段と、を含んで構成されている。
【０００７】
請求項２の発明は請求項１に記載の中央処理装置において、前記移行タスクの実行中に前記マルチタスクオペレーティングシステムのタスクスイッチによるタイマ割込みを含む外部割込みが発生した場合に、前記電力状態を省電力モードから通常の電力モードに復帰させる復帰手段を更に含んで構成されている。
【０００８】
請求項３の発明は請求項１又は請求項２に記載の中央処理装置において、前記実行手段は、前記中央処理装置が搭載されている制御装置が処理能力の高さが重視される状態の場合には、前記優先度が高いタスクが存在しないと判定されたときであっても前記移行タスクの実行を中止するものである。
【０００９】
請求項４の発明は請求項１〜請求項３の何れか１項に記載の中央処理装置において、前記中央処理装置を複数の異なる省電力モードの何れかの省電力モードに移行可能とし、前記移行タスクの実行によって移行する省電力モードを前記中央処理装置の動作に応じて設定したものである。
【００１０】
請求項５の制御装置の発明は、前記請求項１〜請求項４の何れか１項に記載の中央処理装置が搭載されている制御装置であって、前記中央処理装置が即時性の要求されるタスクの実行に用いられている場合は、オートリフレッシュによってリフレッシュし、前記中央処理装置が即時性の要求されないタスクの実行に用いられている場合は、セルフリフレッシュによってリフレッシュする主記憶装置を含んで構成されている。
【００１１】
請求項６の発明は、中央処理装置を、前記請求項１〜請求項４の何れか１項に記載の中央処理装置に含まれる各手段として機能させるためのプログラムである。
【発明の効果】
【００１２】
請求項１の発明によれば、優先度が高いタスクが存在しないときに、中央処理装置の電力状態を省電力モードに移行するタスクを実行しない場合と比較して、中央処理装置が消費する電力を抑えることができる、という効果が得られる。
【００１３】
請求項２の発明によれば、外部割込みが発生した場合に、中央処理装置の電力状態を省電力モードから通常の電力モードに復帰させない場合と比較して、優先度が高いタスクが存在するときに通常の電力モードで優先度が高いタスクを実行することができる、という効果が得られる。
【００１４】
請求項３の発明によれば、優先度が高いタスクが存在しないときに、中央処理装置の電力状態を常に省電力モードに移行するタスクを実行する場合と比較して、処理能力の高さを重視して制御装置を動作させることができる、という効果が得られる。
【００１５】
請求項４の発明によれば、中央処理装置の動作に応じた設定をしない場合と比較して、中央処理装置の電力状態を適切な省電力モードに移行させることができる、という効果が得られる。
【００１６】
請求項５の発明によれば、中央処理装置の用途を考慮しない場合と比較して、主記憶装置が消費する電力を抑えることができる、という効果が得られる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
【００１８】
図１に示すように、制御装置１０は、制御装置１０全体を制御するためのＣＰＵ（中央処理装置）１２、メインメモリ１４、及びＣＰＵ１２の制御を受けずにメインメモリ１４に直接アクセスし、メインメモリ１４とデバイス１６との間でデータの入出力を直接行うためのＤＭＡコントローラ１８を含んで構成されたコントローラ２０と、デバイス１６への信号の入出力を行うための入出力インターフェース２２を含んで構成されている。
【００１９】
ＣＰＵ１２は、制御装置１０の内部動作を統括的に制御するメイン・コントローラであり、制御装置１０に搭載されているマルチタスクオペレーティングシステム（マルチタスクＯＳ）に管理される動作環境下で複数のプログラムを実行する。複数のプログラムは、時分割等により複数のタスクに分割され、マルチタスクＯＳが提供する所謂マルチタスクの動作環境下で並列に実行される。
【００２０】
メインメモリ１４は、主にＤＲＡＭで構成されており、一定時間毎に再び電荷を注入するリフレッシュ動作を行なう。
【００２１】
本実施の形態では、デバイス１６は、ＣＲＴ又はＬＣＤ等の表示デバイスを含む複数種のデバイスを含んで構成されている。デバイス１６には表示デバイスの他に、例えば、キーボード及びポインティングデバイス等の操作者によって操作される入力デバイス、並びに補助記憶装置等が含まれる。
【００２２】
デバイス１６は、入出力インターフェース２２及びバスを介してコントローラ２０と信号の送受信を行うように接続され、表示デバイスは、ビデオカード及びバスを介してコントローラ２０から出力された信号を受信するように接続されている。
【００２３】
また、制御装置１０には、電源装置２４が接続されており、電源スイッチ（図示省略）がオンされることにより、制御装置１０に電源装置２４からの電力が供給される。コントローラ２０は電力が供給されることで起動すると共に、作動可能となるように制御装置１０を立ち上げる。電源装置２４は、制御装置１０に設けられた切換回路２６を介して、一点鎖線の矢印で示すように、ＣＰＵ１２、メインメモリ１４、デバイス１６、ＤＭＡコントローラ１８、及び入出力インターフェース２２の各々の電力供給先に作動用の電力を供給する。切換回路２６は、ＣＰＵ１２の制御によって、電力供給先の各々への電力の供給と供給停止とを切り換える。また、切換回路２６は、ＣＰＵ１２の制御によって、電力供給先の各々への電力の供給量を変更する。
【００２４】
制御装置１０に含まれる電力供給先の各々は、電力消費量の低減を図るために、電源装置２４からの電力供給量が低減される省電力モードに移行可能である。ＣＰＵ１２は、電力供給先の各々を監視し、例えば、作動停止状態が所定時間以上経過したとき等の予め設定したタイミングで制御装置１０に含まれる電力供給先の各々を省電力モードへ移行させる。省電力モードへの移行は、ＣＰＵ１２が、電力の供給を停止する停止制御信号、又は電力の供給量を低減する低減制御信号等を電力供給先に応じて生成し、生成した信号を切換回路２６に出力して切り替えることにより行われる。切換回路２６は、ＣＰＵ１２から停止制御信号、低減制御信号等が入力されることにより、電力供給先に応じて電力の供給の停止、電力の供給量の低減等を行う。
【００２５】
ＣＰＵ１２を含む電力供給先の各々は、複数の異なる省電力モードの何れかに移行するように設定可能である。どの省電力モードに移行するかは電力供給先の各々の動作に関する設定に応じて定まる。
【００２６】
本実施の形態における制御装置１０では、ＤＭＡコントローラ１８により、ＣＰＵ１２の制御を受けずにメインメモリ１４とデバイス１６との間で直接データの入出力を行うＤＭＡ入出力制御が行なわれる。このようにＤＭＡ入出力制御を行なう場合、ＣＰＵ１２のキャッシュに記憶されているデータとメインメモリ１４に記憶されているデータとの一貫性を保つ必要がある。このアルゴリズムとして、例えば、キャッシュが自身やＤＭＡ入出力制御により更新されたメインメモリ１４の更新状態を把握及び管理し、キャッシュとメインメモリ１４との更新状態の情報を交換することで、キャッシュ又はメインメモリ１４の何れに最新のデータが存在するかを知り、必要なときにキャッシュが最新のデータを取得できるように、キャッシュ自身の状態の変更、及びラインの消去等を行うスヌープ方式がある。このスヌープ方式を採用した場合、キャッシュに記憶されているデータをキャストアウトするか否かの設定内容に応じてＣＰＵ１２が消費する電力が異なる。このように、設定内容に応じて、ＣＰＵ１２が移行する省電力モードが定まる。
【００２７】
なお、上記ではＣＰＵ１２のキャッシュに記憶されているデータとメインメモリ１４に記憶されているデータとの一貫性を保つための設定内容を一例に挙げて説明したが、これに限らず、種々の設定内容に応じて移行する省電力モードが定まる。
【００２８】
ところで、ＤＭＡ入出力制御では、ＣＰＵ１２がＤＭＡコントローラ１８にＤＭＡ入出力制御を指示した後は、メインメモリ１４とデバイス１６との間のデータ転送はＤＭＡコントローラ１８が管理する。これにより、ＣＰＵ１２は、メインメモリ１４とデバイス１６との間のデータ転送以外のタスクを実行することが可能となる。しかし、ＣＰＵ１２がＤＭＡコントローラ１８にＤＭＡ入出力制御を指示した後に、処理すべきタスクが存在しない場合には、ＣＰＵ１２はアイドル状態となり、電源装置２４から供給される電力を不要に消費することになる。
【００２９】
これに対し、本実施の形態では、詳細を後述するようにＣＰＵ１２のタスクに、ＣＰＵ１２に供給される電力を低減させるためのタスクであって、省電力モードへ移行させる省電力モード移行タスクをプライオリティを最低に設定して含められている。ここで、マルチタスクＯＳの管理下では、ＣＰＵ１２は、図中の矢印Ａで模式的に示す入出力割込みやタイマ割込み等、割込み処理が要求される度に、タスク管理プログラムによって、そのとき実行可能なタスクの中から、最もプライオリティの高いタスクの実行を開始するか、あるいは再開させる。すなわち、ＣＰＵ１２は、通常の処理すべきタスクが存在しない場合には、プライオリティが最低に設定された省電力モード移行タスクによって自らの電力状態を省電力モードに移行する。これにより、ＣＰＵ１２による不要な電力の消費を抑えることができる。
【００３０】
図２は、本実施の形態に係るＣＰＵ１２によって実行されるタスクの優先順位の一例を示している。図２に示されるように、プライオリティを最低のレベルに設定した省電力モード移行タスクが、複数のタスクに含まれている。すなわち、ＣＰＵ１２は、高いレベルのプライオリティが設定されているネットワークに関するタスク、ユーザーインターフェースに関するタスク、及びジョブデコンポーザに関するタスク等が存在しない場合、省電力モード移行タスクを実行して、ＣＰＵ１２を省電力モードに移行する。これにより、ＣＰＵ１２による不要な電力の消費を抑えることができる。
【００３１】
次に、本実施の形態に係るＣＰＵ１２による処理ルーチンを図３に示すフローチャートを用いて説明する。この処理ルーチンのプログラムは、コントローラ２０に設けられた記憶媒体としてのＲＯＭ（図示省略）に記憶されている。
【００３２】
ステップ１００では、入出力割込みやタイマ割込み等の外部割込みの要求の有無を判定する。肯定された場合、すなわち外部割込みの要求があった場合はステップ１０２へ移行し、否定された場合はステップ１００に戻る。
【００３３】
ステップ１０２では、省電力モード移行タスクよりも高いプライオリティのタスクが存在するときにＣＰＵ１２がフルパワーで動作できるように、ＣＰＵ１２の電力状態が省電力モードの場合には、電力状態が省電力モードから通常の電力モードに一旦復帰される。
【００３４】
ステップ１０４では、省電力モード移行タスクよりもプライオリティの高いタスクが存在するか否かを判定する。プライオリティの高いタスクが存在しない場合はステップ１０６へ移行し、プライオリティの高いタスクが存在する場合はステップ１１０へ移行する。
【００３５】
ステップ１０６では、省電力モード移行タスクをコールし、ステップ１０８では、コールした省電力モード移行タスクを実行し、ＣＰＵ１２の電力状態を省電力モードに移行する。
【００３６】
ステップ１１０では、プライオリティの高いタスクの中から最もプライオリティの高いタスクをコールし、ステップ１１２では、最もプライオリティの高いタスクを実行する。
【００３７】
ステップ１０８、又はステップ１１２の実行後は、ステップ１００へ戻る。
【００３８】
なお、本実施の形態では、ＣＰＵ１２がリアルタイム性の要求されるタスクの実行に用いられているとして、タスクスイッチのタイマは例えば１０ｍｓ毎にエクスパイアするように設定されている。このような設定がされている場合、ＣＰＵ１２については、１０ｍｓ毎に省電力モードへの移行及び復帰を行うことによって消費することが抑えられる電力量は、１０ｍｓ毎に省電力モードへの移行及び復帰を行うことによって消費する電力量よりも大きい。一方、メインメモリ１４については、１０ｍｓ毎に省電力モードへの移行及び復帰を行うことによって消費することが抑えられる電力量は、１０ｍｓ毎に省電力モードへの移行及び復帰を行うことによって消費する電力量よりも小さい。従って、本実施の形態では、ＣＰＵ１２を省電力モードに移行する場合にも、メインメモリ１４への電力供給状態は維持する。また、メインメモリ１４は、オートリフレッシュによりリフレッシュを行うようになっている。
【００３９】
一方、ＣＰＵ１２がリアルタイム性が要求されないタスクの実行に用いられている場合は、例えば１００ｍｓ等、タスクスイッチのタイマがエクスパイアするまでの時間間隔がリアルタイム性の要求されるタスクを実行する場合より長く設定される。このようにタイマがエクスパイアするまでの時間間隔が長く設定されている場合は、ＣＰＵ１２を省電力モードに移行するときに、メインメモリ１４の電力状態も省電力モードに移行する。また、タイマがエクスパイアするまでの時間間隔が長く設定されている場合は、メインメモリ１４は、セルフリフレッシュによりリフレッシュを行うように設定しておく。
【００４０】
また、制御装置１０の処理能力を高く保つことを最優先とするように設定されている場合は、実行すべきタスクが省電力モード移行タスクのみの場合でも、省電力モード移行タスクをコールすることなく、ＣＰＵ１２の電力状態を省電力モードに移行しないようにするとよい。
【００４１】
このように、本実施の形態では、制御装置が動作していても、ＣＰＵがアイドル状態であるときに、ＣＰＵの電力状態を省電力モードに移行することで、コントローラが消費する電力を抑えることができる。さらに、マルチタスクＯＳのタスクスイッチのタイマ割込みを含む外部割込みの要求毎にＣＰＵが省電力モードから通常の電力モードに復帰することで、省電力モードに移行するタスクよりも高いプライオリティのタスクがあるときにＣＰＵがフルパワーで動作可能な状態となり、制御装置の動作状態に係わらず、コントローラが消費する電力を抑えることができる。
【００４２】
なお、本発明に係る中央処理装置は、本発明を実現する構成を備えたものであればよく、上述した中央処理装置の構成に限定されるものではない。
【００４３】
また、本発明に係る制御装置は、本発明を実現する構成を備えたものであればよく、上述した制御装置の構成に限定されるものではなく、例えば、デバイスとしてプリンタ、スキャナを含んだ画像形成の機能を備えた制御装置であってもよい。
【図面の簡単な説明】
【００４４】
【図１】本実施の形態に係る制御装置の概略構成図である。
【図２】タスクのプライオリティの一例を示す図である。
【図３】本実施の形態に係るＣＰＵによる処理ルーチンを示すフローチャートである。
【符号の説明】
【００４５】
１０   制御装置
１２   ＣＰＵ
１４   メインメモリ
１６   デバイス
１８   ＤＭＡコントローラ
２０   コントローラ
２２   入出力インターフェース
２４   電源装置
２６   切換回路
【図１】
2009122828.tif 000003
【図２】
2009122828.tif 000004
【図３】
2009122828.tif 000005