(57)【要約】【課題】待機時の消費電力を低減する消費電力低減装置の提供。【解決手段】外部バス、及び、待機状態中に動作不要な回路ブロックにおける電力消費は、ほぼリーク電流によるものだけになり、メインメモリであるＳＤＲＡＭはｓｅｌｆ  ｒｅｆｒｅｓｈ動作による消費電力だけとなる。また、ＣＰＵ、キャッシュメモリ、及びその制御部については、駆動クロックを通常時より低速化することにより、動作電流が低減できる。低消費電力モード中、非アクティブとする回路ブロックに対して、リセット処理を行わず、駆動クロックを停止する直前の設定を保持させることにより、通常動作モードに復帰した際、すばやく処理を開始できる利点が得られる。【選択図】        図１
2004326153.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサ、
前記マイクロプロセッサに接続されたキャッシュメモリ、
前記マイクロプロセッサ及び前記キャッシュメモリを制御するキャッシュ制御手段、
バスインターフェイス、
外部バスを制御する外部バス制御手段、
外部ＳＤＲＡＭを制御するＳＤＲＡＭ制御手段、
システムの待機状態からのサービス要求を検出する手段、
前記各制御部それぞれにクロック信号を供給するクロック制御手段、
とを内蔵するシステム制御デバイスと、
前記外部バス制御手段により制御される外部バスに繋がれるＲＯＭ、ＲＡＭ、ＩＯデバイスと、
前記ＳＤＲＡＭ制御手段に繋がれるＳＤＲＡＭデバイスと、
からなる、マイクロプロセッサ制御システムにおいて、
前記マイクロプロセッサは、当該システムが待機状態であると判断した時、
・前記ＳＤＲＡＭに対して、前記ＳＤＲＡＭ制御手段を介し、セルフレフレッシュ状態にエントリさせ、
・前記キャッシュメモリに対して、待機状態において実行するプログラムを、前記ＲＯＭ或いは前記ＳＤＲＡＭデバイスから、ロードさせ、
・前記キャッシュ制御手段に対し、前記キャッシュメモリでのｆｌａｓｈ、ｗｒｉｔｅ  ｂａｃｋ、ｗｒｉｔｅ  ｔｈｒｏｕｇｈの全動作を禁止する設定を行ない、
・前記クロック制御手段を介して、マイクロプロセッサ自身と、前記各制御手段のうちアクティブ状態を維持すべきものについては、供給するクロックを、それぞれ通常動作時とは異なる周期の駆動クロックに変更し、また非アクティブ状態にする各制御手段については、駆動クロックの供給を停止し、
以後、前記マイクロプロセッサは、前記キャッシュに格納された命令コードに従って、前記アクティブ状態を維持する制御手段のみを監視して、サービス要因の有無を監視する処理を行うことを特徴とする消費電力低減装置。
【請求項２】
請求項１において、低消費電力動作期間中には、駆動クロックを停止され、非アクティブとなる制御手段に対して、前記低消費電力動作の前後において、リセット処理を行わなわず、動作状態を継続的に保持することを特徴とする消費電力低減装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は消費電力低減装置に関し、マイクロコンピュータにより制御されるシステム装置において、待機時の消費電力を低減する技術に関するものである。
【０００２】
【従来の技術】
特許文献１には、意図的にキャッシュをミスヒットさせることにより、低速な外部メモリアクセスを実行させ、その結果、ＣＰＵのアイドル状態が増加することによる、ＣＰＵ及びキャッシュメモリでの消費電力を低下する方法が開示されている。
【０００３】
特許文献２には、
・動作不要な回路ブロックへのクロック供給を一時的に、低速化或いは停止する
・動作不要な回路ブロックへの電力供給を遮断する
・非キャッシュ領域へのアクセスであるとき、キャッシュ制御回路へのクロック供給を停止する
ことにより消費電力を低下する方法が開示されている。
【０００４】
特許文献３には、メモリアクセスがキャッシュメモリにヒットしたと判断したとき、外部メモリであるＳＤＲＡＭを低消費電力モードにすることにより、消費電力を低下する方法が開示されている。
【０００５】
【特許文献１】
特開平５−３２４１４１号公報
【特許文献２】
特開平１０−３０１６５９号公報
【特許文献３】
特許第３０５６１７５号明細書
【０００６】
【発明が解決しようとする課題】
しかし、特開平５−３２４１４１号公報では、外部メモリを動作させることにより、そのメモリ及びそのインターフェイス制御回路での消費電力が増加する欠点がある。
【０００７】
また、特開平１０−３０１６５９号公報及び特許第３０５６１７５号明細書では、ＣＰＵ自体の消費電力を低下する方法が示されていない。
【０００８】
本発明は、メモリの消費電力だけではなく、ＣＰＵを含めシステム全体としての消費電力を低減することを目的とする消費電力低減装置を提供するものである。
【０００９】
【課題を解決するための手段】
待機時に実行すべき処理プログラムは、一般に非常に単純な処理の繰り返しであるため、命令コード量としては非常に小容量である。従って、それら全てを命令キャッシュメモリ（以下Ｉキャッシュと略記）に格納することは容易に可能である。
【００１０】
また、その時に扱うデータ量も同様に非常に少ないので、データキャッシュメモリ（以下Ｄキャッシュと略記）の容量範囲内に収めることが可能である。
【００１１】
そこで、本発明による制御システムにおいて、ＣＰＵは、システムが待機状態にあると判断すると、以下の処理を行い、消費電力を低減するよう作用する。
【００１２】
１．待機状態中に実行すべき命令コードの全てをＩキャッシュにロードし、
２．データアクセス領域をＤキャッシュの範囲に制限し、
３．前記ＩキャッシュおよびＤキャッシュのｆｌａｓｈ、ｗｒｉｔｅ  ｂａｃｋ、そしてｗｒｉｔｅ  ｔｈｒｏｕｇｈなどのキャッシュメモリと外部メモリ間のデータ交換処理を禁止する様に、両キャッシュメモリをロックし、
４．外部メモリであるＳＤＲＡＭをセルフリフレッシュ状態にエントリさせることにより、その記憶データを保存すると共に消費電力を低下させ、
５．ＣＰＵ自身を含め、動作クロックを低速なクロックに変更し、
６．動作不要な回路ブロックに対しては、さらに、クロック供給を停止し、
７．以後，ＣＰＵは前記Ｉキャッシュに格納された命令コードに従い、Ｄキャッシュを参照しつつ、処理要求の発生を検出するための、検出処理を継続する。
【００１３】
そして、何らかの処理要求を検出すると、前記とは逆の処理を行い、システムを定常状態に復元する。
【００１４】
なお、さらに詳細に説明すれば、本発明は下記の構成によって前記課題を解決できた。
【００１５】
（１）マイクロプロセッサ、前記マイクロプロセッサに接続されたキャッシュメモリ、前記マイクロプロセッサ及び前記キャッシュメモリを制御するキャッシュ制御手段、バスインターフェイス、外部バスを制御する外部バス制御手段、外部ＳＤＲＡＭを制御するＳＤＲＡＭ制御手段、システムの待機状態からのサービス要求を検出する手段、前記各制御部それぞれにクロック信号を供給するクロック制御手段、とを内蔵するシステム制御デバイスと、前記外部バス制御手段により制御される外部バスに繋がれるＲＯＭ、ＲＡＭ、ＩＯデバイスと、前記ＳＤＲＡＭ制御手段に繋がれるＳＤＲＡＭデバイスと、からなる、マイクロプロセッサ制御システムにおいて、
前記マイクロプロセッサは、当該システムが待機状態であると判断した時、
・前記ＳＤＲＡＭに対して、前記ＳＤＲＡＭ制御手段を介し、セルフレフレッシュ状態にエントリさせ、
・前記キャッシュメモリに対して、待機状態において実行するプログラムを、前記ＲＯＭ或いは前記ＳＤＲＡＭデバイスから、ロードさせ、
・前記キャッシュ制御手段に対し、前記キャッシュメモリでのｆｌａｓｈ、ｗｒｉｔｅ  ｂａｃｋ、ｗｒｉｔｅ  ｔｈｒｏｕｇｈの全動作を禁止する設定を行ない、
・前記クロック制御手段を介して、マイクロプロセッサ自身と、前記各制御手段のうちアクティブ状態を維持すべきものについては、供給するクロックを、それぞれ通常動作時とは異なる周期の駆動クロックに変更し、また非アクティブ状態にする各制御手段については、駆動クロックの供給を停止し、
以後、前記マイクロプロセッサは、前記キャッシュに格納された命令コードに従って、前記アクティブ状態を維持する制御手段のみを監視して、サービス要因の有無を監視する処理を行うことを特徴とする消費電力低減装置。
【００１６】
（２）前記（１）において、低消費電力動作期間中には、駆動クロックを停止され、非アクティブとなる制御手段に対して、前記低消費電力動作の前後において、リセット処理を行わなわず、動作状態を継続的に保持することを特徴とする消費電力低減装置。
【００１７】
【発明の実施の形態】
図１は、本発明を応用した画像処理装置の構成例である。
【００１８】
太枠Ａは、ワンチップのデバイスを表す。
【００１９】
１は、本実施例のシステムを制御するマイクロプロセッサ。
【００２０】
２は、直近の過去に実行した命令とその近傍の命令コードの複製を記憶し、アクセス対象がヒットした時、メインメモリに代わって高速に当該命令コードをＣＰＵ１に供給する命令キャッシュ。
【００２１】
３は、過去にアクセスしたデータとその近傍のデータの複製を記憶し、アクセス対象がヒットした時、メインメモリに代わって高速に当該ｒｅａｄデータをＣＰＵ１に供給する、或いはメインメモリに代わっｗｒｉｔｅデータを記憶することにより、ＣＰＵ１の処理速度を向上させるためのデータキャッシュ。
【００２２】
４は、ＣＰＵ１がアクセスしようとするメモリアドレスが前記２つのキャッシュ２，或いは３に記憶した領域にヒットしているか否かを判定し、ヒットした場合には、メインメモリに代わって高速にデータのｒｅａｄ／ｗｒｉｔｅを実行し、ミスヒットした場合には、キャッシュ内のデータをメインメモリに基づいて更新するように動作するキャッシュコントローラ。
【００２３】
５は、メインメモリやＩＯデバイスをアクセスするための複数のバス制御を行うバスインターフェイスであり、下記３つのバスを制御する。
ｂｕｓ＿ａ：ワンチップデバイスＡ内の各回路ブロックを制御するための内部制御バス。
ｂｕｓ＿ｂ：ＳＤＲＡＭコントローラ６に接続され、外部メモリであるＳＤＲＡＭ２０をアクセスするためのメモリバス。
ｂｕｓ＿ｃ：外部バスコントローラ１１を制御するために用いられる外部バス。
【００２４】
６は、ＳＤＲＡＭ２０に対するアクセス制御を行うＳＤＲＡＭコントローラである、ＣＰＵ１の指示に応じて、ＳＤＲＡＭ２０をｓｅｌｆ−ｒｅｆｒｅｓｈモードへのｅｎｔｒｙ、およびｅｘｉｔ処理を行う。
【００２５】
７は、システム外部とのインターフェイスＡを制御する為のインターフェイス制御部であり、インターフェイス制御のためのデバイス７ｉに接続される。
【００２６】
８は、システム外部とのインターフェイスＢを制御する為のインターフェイス制御部であり、インターフェイス制御のためのデバイス８ｉに接続される。
【００２７】
９は、本システムに対する動作要求を入力するための操作ボタンを備えた操作部２１を制御するためのパネルインターフェイス。
【００２８】
１０は、本システムの動作状態を表示する液晶モジュール２２を制御するＬＣＤ制御部。
【００２９】
１１は、ｂｕｓ−ｃによる制御信号に基づいて、外部バスｂｕｓ＿ｄに所定のアクセス制御信号を生成する外部バス制御部。
ｂｕｓ＿ｄ：命令コードや既定データを格納する不揮発性メモリであるＲＯＭ２３、ｒｅａｄ／ｗｒｉｔｅ可能なＲＡＭ２４、そして、ＩＯデバイス２５に接続される外部制御バス。
【００３０】
１２は、ＣＰＵ１の指示に基づいて、デバイスＡ内の各機能ブロックそれぞれに、駆動クロックを供給するクロック生成部。
【００３１】
１３は、時間を計測し、設定された期間が経過したら、ＣＰＵ１にその由を通知するタイマ。
【００３２】
１４は、原稿読み取り部２６に接続され、そこから原稿画像データを入力し、ＳＤＲＡＭ２０に転送するスキャナ制御部。
【００３３】
１５は、文字あるいは画像データを印刷処理するプリンタ２７に接続され、ＳＤＲＡＭ２０に格納された印刷データをプリンタ２７に出力し、印刷処理を制御するプリンタ制御部。
【００３４】
２０は、制御データ、ＲＯＭ２３から転送された命令コード、処理データなどを記憶するメインメモリとして機能し、ｓｅｌｆ−ｒｅｆｒｅｓｈモードにエントリされることにより、記憶データを保持しつつ、消費電力を低減することが可能なＳＤＲＡＭ。
【００３５】
２１は、本システムに対し、操作を入力するための操作部。
【００３６】
２２は、本システムの動作状態を表示するＬＣＤ表示部。
【００３７】
２３は、命令コードを記憶する不揮発性メモリであり、システムの動作に応じ、命令コードは、ＣＰＵがより高速にアクセス可能なメインメモリ２０に転送される。
【００３８】
２４は、本システムの主電源が切られた状態でも記憶しておくことが必要で、かつ、システム稼動中に比較的頻繁にその内容が変更されるデータを格納する書き換え可能なメモリＲＡＭ。
【００３９】
一般的に、一次電池などによりバックアップすることが可能な構成を備える。
【００４０】
２５は、外部バスに接続されたＩＯデバイスであり、ＣＰＵからの制御としては、比較的低速であるデバイス。
【００４１】
２６は、スキャナ制御部１４による制御に基づいて、原稿画像の読み取り動作を行うスキャナ部。
【００４２】
２７は、プリンタ制御部１５による制御に基づいて、画像を用紙に印刷する動作を行うプリンタ部。
【００４３】
図３は、待機時に行われる省電力動作モード処理を説明するフローチャートである。
【００４４】
まず、ＣＰＵは、処理すべきジョブが何も無い状態になると、時間の計測を開始し、それが所定時間、継続した時、当該システムが待機時であると判断する。その結果、以下に述べる省電力モードを処理を開始する。
【００４５】
Ｓ１：Ｉキャッシュ２に、省電力モードを実行するために必要な制御プログラムの全てをロードする。
【００４６】
これは、キャッシュとしての一般的な機能を応用するのであれば、キャッシュ単位ごとに、必要なプログラム格納アドレス空間を順次アクセスすることで実現できる。或いは、キャッシュメモリを専用のアドレス空間にマッピングすることにより、メインメモリからプログラムデータを転送することによっても実現できる。
【００４７】
Ｓ２：この時点でＤキャッシュ３にキャッシュされていた内容全てを、本来のメモリにｗｒｉｔｅ  ｂａｃｋさせた後、Ｄキャッシュを専用のメモリ空間にマッピングし、そのアドレス空間内に、スタックメモリとワークメモリ領域を定義する。
【００４８】
Ｓ３：前記両キャッシュのキャッシュとしての機能、すなわち、ＣＰＵ１のアクセスに応じて自動的にその記憶内容を更新することを禁止するように、ＣＰＵ１は、キャッシュコントローラ４の設定を変更する。
【００４９】
Ｓ４：ＣＰＵ１は、ＳＤＲＡＭコントローラ６に対し、ＳＤＲＡＭ２０をｓｅｌｆ  ｒｅｆｒｅｓｈモードにエントリするよう、指示する。ＳＤＲＡＭコントローラ６はこれに応じて、ＳＤＲＡＭ２０に低消費電力にするｓｅｌｆ  ｒｅｆｒｅｓｈ  ｅｎｔｒｙコマンドを発行する。
【００５０】
なお、一般にｓｅｌｆ  ｒｅｆｒｅｓｈ状態にあるＳＤＲＡＭは、所定のｓｅｌｆ  ｒｅｆｒｅｓｈ  ｅｘｉｔコマンドが実行されるまでアクセスすることができない。
【００５１】
Ｓ５：ＣＰＵ１は次に、クロック生成部１２に対し、待機状態中に動作することが不要な回路ブロックへのクロック供給は停止させ、また、ＣＰＵ自身に対するクロックと、待機状態中においてもアクティブ状態を保つべき回路ブロックに対して供給するクロックを通常時よりも低速な周波数に変更するように、設定を変更する。
【００５２】
この具体例を、図１に示した実施例に基づいた図２に示す。図２において、灰色に色づけされた回路ブロックは、駆動クロックの供給が停止されたもの、或いは非アクティブな状態にあるものを示す。
【００５３】
ＳＤＲＡＭ２０は、前記処理Ｓ４により、すでにアクセスすることはできない状態になっており、従ってＳＤＲＡＭコントローラ６は、非アクティブな状態にすることができる。
【００５４】
また、説明の為、一例として、インターフェイスＡは、外部からの処理要求を受け付ける機能を持つ場合を想定し、逆にインターフェイスＢは、それが無い場合を示す。
【００５５】
従って、低消費電力モードにおいて、インターフェイスＡに関する回路ブロックはアクティブ状態を維持するが、インターフェイスＢに関する回路ブロックは非アクティブとする。
【００５６】
操作部の液晶表示装置２２は、受動的に機能するものであるから、ＬＣＤコントローラ１０と共に非アクティブとされる。
【００５７】
また、低消費電力モード中は、外部バスｂｕｓ−ｄを介したデバイスアクセスは行わないので，外部バス制御部１１も非アクティブとする。この結果ｂｕｓ−ｄの制御信号は定常状態を維持するとこになり、接続されるＲＯＭ２３，ＲＡＭ２４、及びＩＯデバイス２５も、ほぼ非アクティブと等しくなる。
【００５８】
さらに、読み取り部２６とその制御部１４、プリンタ部２７とその制御部１５も、ＣＰＵ１からの起動指示により動作を開始する受動的な処理部であるため、非アクティブとすることができる。
【００５９】
なお、このとき、クロック供給を停止される回路ブロックに対しては、リセットを行わず、それまでの設定を維持させる。これにより、再びクロック供給を開始し、通常状態に復帰した際に、初期設定から始めなければならなくなることによるオーバーヘッドを削減することができる。
【００６０】
これにより、低消費電力モード中に、例えばパーソナルコンピュータやネットワークを介して何らかの処理要求を受けた場合でも、所定の応答制限時間内にアクションを起こすことが容易になる利点がある。
【００６１】
以上の結果、以下の回路ブロックだけが、低消費電力モードにおいてアクティブ状態を維持する。
・ＣＰＵ１：
データ処理要求の発生の有無の検出処理を実行する。
・Ｉキャッシュ２：
ＣＰＵ１に対し、命令コードを供給する。
・Ｄキャッシュ３：
ＣＰＵ１の制御データを格納する。
・キャッシュコントローラ４：
前記Ｉキャッシュ２、Ｄキャッシュ３とＣＰＵ１とを接続する。
・バスインターフェイス５：
ｂｕｓ＿ａに接続された、復帰要因を生成するデバイスをＣＰＵ１がアクセスするため。
・外部インターフェイス制御部Ａ７とインターフェイスデバイス７ｉ：
例えばＵＳＢインターフェイスを介したパーソナルコンピュータからの印刷要求など、外的なデータ処理要求を検出する。
・操作部インターフェイス９と操作部２１：
本装置使用者からの操作要求を認識する。
・クロック生成部１２：
クロックを供給する。
・タイマ部１３：
復帰要因監視処理において、検出された要因の真偽を判断するための絶対時間を計測する。
【００６２】
以上のシステム環境において、ＣＰＵ１は、以下の処理を行う。
【００６３】
Ｓ６：ＣＰＵ１は、Ｉキャッシュ２に格納された命令コードに従い、クロック生成部１２から供給される低速クロックにより、待機状態から処理状態に復帰すべき要因の有無を示すデータを収集する。
【００６４】
要因としては、当該装置を使用しようとする操作部２１からのキー操作入力のほか、インターフェイスデバイス７ｉに接続される外部装置からの処理要求などがある。
【００６５】
Ｓ７：前記Ｓ６の検索処理の結果に応じて、システムを定常状態に復元すべき要因があるか否かを判断する。真ならばＳ８に進み、偽なら、Ｓ６に戻る。
【００６６】
Ｓ８：Ｓ５の処理とは逆に、クロック生成部に対し、通常のクロック供給を行うように設定する。
【００６７】
Ｓ９：ＳＤＲＡＭ２０を通常状態に復帰させるべく、ＳＤＲＡＭコントローラ６に対し、ｓｅｌｆ  ｒｅｆｒｅｓｈ  ｅｘｉｔコマンドの実行を指示する。
【００６８】
Ｓ１０：Ｉキャッシュ２及びＤキャッシュ３を通常のキャッシュメモリとして動作させるべく、キャッシュコントローラ４に対し、キャッシュメモリのアンロックを指示する。
【００６９】
以上の手順により、本実施例のシステムは通常動作時の状態に復帰する。
【００７０】
【発明の効果】
外部バス、及び、待機状態中に動作不要な回路ブロックにおける電力消費は、ほぼリーク電流によるものだけになり、メインメモリであるＳＤＲＡＭはｓｅｌｆ  ｒｅｆｒｅｓｈ動作による消費電力だけとなる。
【００７１】
また、ＣＰＵ、キャッシュメモリ、及びその制御部については、駆動クロックを通常時より低速化することにより、動作電流が低減できる。
【００７２】
低消費電力モード中、非アクティブとする回路ブロックに対して、リセット処理を行わず、駆動クロックを停止する直前の設定を保持させることにより、通常動作モードに復帰した際、すばやく処理を開始できる利点が得られる。
【図面の簡単な説明】
【図１】本発明の実施例である画像処理装置の構成図である。
【図２】前記図１の実施例において、本発明における消費電力動作を実行している状態を、視覚的に表現する図である。
【図３】本発明の低消費電力動作を実行する制御フローチャートである。
【符号の説明】
１  マイクロプロセッサ
２  命令キャッシュメモリ
３  データキャッシュメモリ
４  キャッシュコントローラ
５  バスインターフェイス
ｂｕｓ＿ａ  内部制御バス
ｂｕｓ＿ｂ  メインメモリバス
ｂｕｓ＿ｃ  外部バス
６  ＳＤＲＡＭコントローラ
７  外部インターフェイスＡの制御部
７ｉ  外部インターフェイスＡのインターフェイスデバイス
８  外部インターフェイスＢの制御部
８ｉ  外部インターフェイスＢのインターフェイスデバイス
９  パネルインターフェイス
１０  ＬＣＤ制御部
１１  バスｂｕｓ＿ｄのバス制御部
ｂｕｓ＿ｄ  外部制御バス
１２  クロック生成部
１３  タイマ
１４  スキャナ制御部
１５  プリンタ制御部
２０  ＳＤＲＡＭ
２１  操作部
２２  ＬＣＤ表示部
２３  命令コードを記憶する不揮発性メモリ
２４  書き換え可能なメモリ
２５  外部バスに接続されたＩＯデバイス
２６  スキャナ部
２７  プリンタ部
【図１】
2004326153.tif 000003
【図２】
2004326153.tif 000004
【図３】
2004326153.tif 000005