(57)【要約】  命令処理回路（１４）、命令処理回路（１４）によってアドレス指定可能なメインメモリ（１８）、および、キャッシュメモリ（１６）を含む装置である。通常モードでは、キャッシュメモリ（１６）は、命令処理回路（１４）が実行中にメインメモリ（１８）内でアドレス指定するデータおよび／または命令の一部分をキャッシュし、命令処理回路（１４）がメインメモリ（１８）内のデータおよび／または命令をアドレス指定するときに、キャッシュされたデータおよび／または命令を代用するため使用される。この回路は低電力動作モードに切り換えることが可能である。切り換えの時点で、低電力動作モードでの動作中にある機能を実効する割り込みプログラムがメインメモリ（１８）からキャッシュメモリ（１６）にロードされる。メインメモリ（１８）への電力供給はそのときスイッチがオフにされるが、キャッシュメモリ（１６）の少なくとも一部分が電力供給を継続して受け取るように維持する。この部分はその機能を実効する命令のプログラムが命令処理回路で利用できることを保証する。プログラムは低電力動作モードではキャッシュメモリ（１６）の前記一部分から実行される。
2007506171.tif 000002
【特許請求の範囲】
【請求項１】
低電力動作モードと通常動作モードとに切り替え可能な装置であって、
命令処理回路と、
前記命令処理回路による実行中に前記命令処理回路に命令を供給するメインメモリと、
前記命令処理回路と前記メインメモリとの間に結合され、前記命令処理回路が実行中に前記メインメモリ内でアドレス指定するデータおよび／または命令の一部分をキャッシュし、前記命令処理回路が前記メインメモリ内の前記データおよび／または命令をアドレス指定するときにキャッシュされたデータおよび／または命令を代用するため前記通常動作モードで動作可能であるキャッシュメモリと、
前記メインメモリを含むが前記キャッシュメモリの少なくとも一部分を含まない当該装置の一部分を前記低電力動作モードでの動作中に停止状態に保つように構成され、前記低電力動作モードに切り替わる前に、前記低電力動作モードにおける動作中にある機能を実行する命令のプログラムを前記キャッシュメモリの前記少なくとも一部分にロードするようにアレンジされた低電力動作モード作動回路と、
を備えている装置。
【請求項２】
前記キャッシュメモリが、ロックされた情報を廃棄できない状態であるロック状態に切り替え可能であり、前記低電力動作モード作動回路が、前記キャッシュメモリ内の前記機能を実行する命令の前記プログラムをロックするように前記キャッシュメモリを前記ロック状態に切り替えるようにアレンジされる、請求項１に記載の装置。
【請求項３】
前記低電力動作モード作動回路が、前記低電力動作モードへの切り替え時に、前記機能を実行する命令の前記プログラムによって前記メインメモリ内のアドレスを用いてアドレス指定されるすべてのデータを前記キャッシュメモリにロードするようにアレンジされる、請求項１に記載の装置。
【請求項４】
前記低電力動作モードにおけるある機能を実行する命令の前記プログラムが割り込みプログラムであり、当該装置は、前記低電力動作モードにおいて動作中の選択された時点で前記割り込みプログラムを実行するように前記命令処理回路をトリガーする割り込み回路を備えている、請求項１に記載の装置。
【請求項５】
命令処理回路、前記命令処理回路によってアドレス指定可能なメインメモリ、および、キャッシュメモリを含む装置を動作させる方法であって、
通常動作モードにおいて、前記キャッシュメモリおよび前記メインメモリを使用して、前記命令処理回路が実行中に前記メインメモリ内でアドレス指定するデータおよび／または命令の一部分を前記キャッシュメモリにキャッシュし、前記命令処理回路が前記メインメモリ内の前記データおよび／または命令をアドレス指定するときにキャッシュされたデータおよび／または命令を代用するステップと、
低電力動作モードでの動作中におけるある機能を実行する命令のプログラムを前記キャッシュメモリにロードし、
消費電力を削減するため、前記メインメモリを停止状態にさせ、前記命令を実行する命令の前記プログラムを取り出すため必要とされる前記キャッシュメモリの少なくとも一部分を動作状態に保つことにより、
前記低電力動作モードに切り替えるステップと、
前記キャッシュメモリの前記少なくとも一部分から、前記低電力動作モードにおける命令の前記プログラムを実行するステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は低電力動作モードをサポートする装置に関する。
【背景技術】
【０００２】
米国特許第５，７８４，６２８号はデータ処理装置による電源消費を削減する方法について記載する。この装置は、装置の大部分がパワーダウンされる低電力モードに切り替わる。重要なデータはパワーダウンされないメモリに保存されるので、装置は低電力モードから出るときに動作を容易に再開できる。よって、通常動作モードの次に（および、装置が動作しないか、または、全く電力を消費しない「オフ」モードの次に）、低電力モードが起動され、装置は、オフモードからの動作再開より速くその低電力モードから動作を再開する。
【０００３】
多くの装置では、装置は、通常動作モードに切り替わることなく、低電力モードにおいてある種の基本機能を実行できることが望ましい。このような機能の典型的な例には、ユーザによる制御スイッチの作動によって生じる処理割り込み、受信された可能性のあるメッセージの検査などが含まれる。このような基本機能を実行するため装置を通常動作モードへ切り換えることは、装置がその他の理由から完全動作に戻る必要がない間にその切り換えが頻繁に実行されるべきであるならば、消費電力をかなり増加させるであろう。
【０００４】
特に、この装置は長時間に亘って低電力モードにある。したがって、この低電力モードでの消費電力は最小化されることが望ましい。このことはバッテリー駆動式装置に対し重大であるが、スタンバイに切り替えられる商用電源式テレビジョンセットのような他の装置についてもまた、このような装置がスタンバイモードのままである時間が延長されることを考えると重要である。
【０００５】
コンピュータプロセッサと、プロセッサによる使用のためのデータおよび／または命令を含むメインメモリとを含む既知の装置は、実行を高速化するためにキャッシュメモリが設けられることがよくある。キャッシュメモリは、プロセッサがメインメモリ内でアドレス指定したデータおよび／または命令の一部分のコピーを一時的に記憶するので、そのメインメモリアドレスが与えられると、取り出すことが可能である。プロセッサがこのようなデータおよび／または命令を再度アドレス指定するとき、キャッシュメモリは、メインメモリからのデータおよび／または命令の代わりにキャッシュされたデータおよび／または命令を使用する。よって、データおよび／または命令が利用可能になる前の遅延はかなり削減される。もちろん、キャッシュメモリは、前の処理中に使用されたデータおよび／または命令の一部分の冗長なコピーを記憶するだけであるので、装置が低電力モードに切り替えられたときに停止状態にされる従来の回路の一つである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特に、本発明の目的は、低電力動作モードをもつ装置による消費電力の削減を提供することである。
【課題を解決するための手段】
【０００７】
本発明による装置は請求項１に記載されている。本発明によれば、キャッシュメモリの少なくとも一部分は、低電力モードで選択的に動作状態に保たれ、一方、メインメモリが停止状態にさせられる（停止状態化は、典型的に、メインメモリへの電力供給を切断するか、または、少なくとも消費電力を著しく削減し、その結果、メインメモリは使用できない状態であるか、または、完全には使用できない状態である。）。低電力モードへの切り替えの前に、装置が低電力モードである間にある機能を実行すべき命令のプログラムが後で使用するためキャッシュメモリにロードされる。命令処理回路が低電力モードでその機能を実行するとき、命令処理回路は、メインメモリを作動させることなく（十分な電力を供給することなく）、キャッシュメモリからその命令をロードする。メインメモリは、一般に、キャッシュメモリより非常に大きいので、一般に、比較的小型であるキャッシュメモリより大量の電力を消費する。これに対して、低電力モード中に実行される機能は、通常、キャッシュメモリに収まる適度のプログラムしか必要としない。したがって、消費電力は、低電力動作モードにおける唯一のメモリとしてキャッシュメモリを使用することにより削減される。
【０００８】
本発明の上記の目的およびその他の目的と有利な態様は、添付図面を使用して非限定的に説明される。
【発明を実施するための最良の形態】
【０００９】
図１は、主電源回路１０、低電力モード電源回路１２、プロセッサ１４、キャッシュメモリ１６、メインメモリ１８、および、割り込み回路１９を含む装置を表している。図１は簡略化された概略図を与えるだけであり、多数の細部が省かれていることが理解されるべきである。主電源回路１０はメインメモリ１８および図示されないその他の回路に電力を供給する。低電力モード電源１２は、プロセッサ１４、キャッシュメモリ１６および割り込み回路１９に電力を供給する。プロセッサ１４はキャッシュメモリ１６に接続されたアドレス／データインターフェイスを有し、次には、キャッシュメモリがメインメモリ１８に接続されたアドレス／データインターフェイスを有する。割り込み回路１９はプロセッサ１４に接続される。
【００１０】
動作中に、この装置は、少なくとも通常動作モードと低電力動作モードをサポートする。通常動作モードでは、両方の電源回路１０、１２が動作状態であるので、割り込み回路１９、プロセッサ１４、キャッシュメモリ１６、メインメモリ１８、および、主電源回路１０に接続されたさらなる回路は完全に動作可能である。この通常モードにおいて、プロセッサ１４は、メインメモリ１８から取り出されたプログラムおよび／またはメインメモリ１８からのユーザデータを実行する。
【００１１】
通常動作モードでは、キャッシュメモリ１６は従来型のキャッシュメモリ１６として機能する。プロセッサ１４が命令および／またはデータを必要とするとき、プロセッサ１４は、命令および／またはデータをメインメモリ内でアドレス指定するため用いられるアドレスをそのアドレス／データインターフェイスに出力する。キャッシュメモリ１６はアドレスを受信し、そのアドレスに対応する命令および／またはデータがキャッシュメモリ１６に記憶されているかどうかをテストする。このタイプのテストのための技術はそれ自体が知られている。アドレス指定された命令および／またはデータがキャッシュメモリ１６に用意されているならば、キャッシュメモリ１６はキャッシュメモリ１６からの命令および／またはデータを返す。アドレス指定された命令および／またはデータがキャッシュメモリ１６に用意されていないならば、キャッシュメモリはそのアドレスをメインメモリ１８に転送し、メインメモリが命令および／またはデータをキャッシュメモリ１６に返す。キャッシュメモリ１６は、次に、メインメモリ１８からの命令および／またはデータをプロセッサ１４に供給する。好ましくは、キャッシュメモリ１６は、後の使用のため、つまり、プロセッサ１４がそのアドレスを再度使用するときのため、この命令および／またはデータのコピーをさらに記憶する。（一般に、本発明から逸脱することなく、メインメモリ１８は、アドレス指定された命令および／またはデータの他に、隣接する命令および／またはデータを含むデータの並びを返し、そのデータの並び全体がキャッシュメモリ１６に記憶される）。
【００１２】
キャッシュメモリ１６は、簡潔さのため単一ユニットとして表されているが、キャッシュメモリは、たとえば、キャッシュに保持されるべきデータおよび／または命令を選択するキャッシュ管理ユニットのみならず、別個の命令キャッシュメモリとデータキャッシュメモリなどを備えていることが認められる。同様に、プロセッサ１４のアドレス／データインターフェイスはメインメモリ１８に直接的に接続され、キャッシュメモリ１６はキャッシュメモリ１６に記憶されているデータのアドレスを検出したときに限り介入する。同様に、メインメモリ１８は単一ブロックとして表されているが、このメインメモリ１８は、データのためのＲＡＭ若しくはフラッシュメモリ、命令のためのフラッシュメモリ若しくはＲＯＭなどのような種々のユニットを備えていることが認められるべきである。「メインメモリ」という語は、キャッシュメモリ１６から区別されたその他のメモリが存在しないという意味に解釈されるべきではなく、「メインメモリ」は、その他の、より大型である可能性のあるメモリが装置に存在することを除外しない。
【００１３】
図２は、低電力動作モードへの切り替えとそのモードにおける動作の実施形態を説明する。最初に、第１の実行ブロック２１において、プロセッサ１４は通常モードで動作する。プロセッサ１４がブロック２２において、これ以上通常モードで動作する必要がないことを検出したとき、プロセッサ１４は低電力モードに切り替わるため、切り替えプログラムを実行し始める。切り替えプログラムの第１のステップ２３は、後で通常動作モードへ戻るため、オプショナルにデータを保存させる。
【００１４】
第２のステップ２４において、切り替えプログラムは、プロセッサ１４に、キャッシュメモリ１６に対して割り込みプログラムのすべての命令をメインメモリ１８からキャッシュメモリ１６にロードするように通知させる。割り込みプログラムは、割り込みプログラムのすべての命令が一緒にキャッシュメモリ１６に記憶できるように選択されたメインメモリ内のアドレスに記憶されている。
【００１５】
割り込みプログラムをロードする種々の解決策が存在する。一実施例では、切り替えプログラムは、割り込みプログラムの開始アドレスと終了アドレスが与えられるので、切り替えプログラムは、開始アドレスから終了アドレスまでのすべてのメモリロケーションをアドレス指定し、それらをキャッシュメモリ１６に強制的にロードさせることが可能である。メインメモリ１８が命令および／またはデータの複数の並びを返すことが分かっているならば、各並びからの１個のアドレスだけをアドレス指定すればよい。
【００１６】
このことは、キャッシュメモリ１６がすべてのアドレス指定されたデータを保持することが保証されていることを前提としている。キャッシュメモリ１６は、従来型のロック機構がさらに設けられ、このロック機構は、プロセッサが命令および／またはデータがキャッシュに保持されるべきであること（そして、オプショナルには始まりのアドレス）を通知することを可能にさせる。この場合、切り替えプログラムは、好ましくは、プロセッサ１４に、割り込みプログラムの命令が保持されるべきことをキャッシュメモリ１６へ通知させる。代案として、割り込みプログラム（そして、オプション的には切り替えプログラム）は、切り替えプログラムが割り込みプログラム全体をその後に放棄されることなくキャッシュメモリ１６にロードできることを予め保証するように選択されたアドレスに記憶される。さらなる代案として、回路は、プロセッサ１４の命令セットが、指定された命令、または、特に割り込みルーチンをキャッシュメモリ１６にロードさせるための命令を含むように構成される。
【００１７】
割り込みプログラムがキャッシュメモリ１６にロードされると、切り替えプログラムは、プロセッサ１４に、主電源回路１０に対してそれ自体を停止状態にすることを通知させるために第３のステップ２５を実行する。次に、切り替えプログラムは、プロセッサ１４を一時停止モードへ切り替わらせるか、または、待機状態に入らせる。この装置は、このとき、低電力動作モードに入ったと考えられる。
【００１８】
低電力動作モードでの動作中に、たとえば、ユーザインターフェイスボタンなどの作動、または、バス若しくはワイヤレスインターフェイスを介したメッセージ候補の受信、または、周期的なタイミング信号のようなある種のイベントに応答して、割り込み回路１９は、割り込みプログラムを実行するようにプロセッサをトリガーする。割り込みプログラムの実行中に、メインメモリ１８は停止状態のままである。割り込みプログラムの第１のステップ２６は、割り込みによる作動を示すために破線のターゲットとして図２に示されている。
【００１９】
割り込みプログラムの第１のステップ２６において、プロセッサ１４は、キャッシュメモリ１６に記憶された割り込みプログラムの命令をアドレス指定するので、メインメモリ１８によることなく、割り込みプログラムを実行することが可能である。割り込みプログラムの第２のステップ２７において、割り込みプログラムの実行の結果として、通常動作モードへ戻ることが必要であるならば、プロセッサ１４は、主電源回路１０を再作動させるために割り込みプログラムの第３のステップ２８を実行する。しかし、このことが必要ではないならば、プロセッサ１４は、もしあれば、割り込みプログラムのさらなるステップ２９を実行し、メインメモリ１０は割り込みプログラムの完全な実行中に停止状態にされたままであり、プロセッサ１４は最終的に一時停止モードまたは待機状態に戻る。
【００２０】
この装置は、たとえば、割り込みプログラムが、割り込みをトリガーしたメッセージ候補は無関係であること、または、有効なボタンは作動されていないこと、または、通常動作モードへ戻ることを必要とする状態は検出されなかったことを判定するならば、低電力動作モードを保つ。
【００２１】
付加的な対策が用いられてもよいことが理解されるべきである。たとえば、割り込みプログラムに加えて、切り替えプログラムは、低電力動作モードへ切り替わる前に、割り込み処理に関連したデータをメインメモリからキャッシュメモリ１６へロードするように構成される。しかし、たとえば、データが必要でないならば、または、専用データメモリが低電力動作モードで必要とされるデータのために設けられているならば、このことは必要ではない。
【００２２】
キャッシュメモリ１６は、通常動作モードと、低電力動作モードで使用するためのスタンドアローンモードとの間で切り替え可能であるように構成される。この場合、切り替えプログラムは、プロセッサ１４に、キャッシュメモリに対して低電力動作モードに入る前にスタンドアローンモードに入るように通知させる。スタンドアローンモードにおいて、キャッシュメモリ１６は、データを書き戻すためにも、その他の目的のためにもメインメモリのアドレス指定を避けるように構成される。しかし、割り込みプログラムの実行がキャッシュメモリ１６にメインメモリ１８をアクセスさせないならば、スタンドアローンモードをサポートすることは必要でないことが認められるべきである。
【００２３】
キャッシュメモリ１６の一部分は電源消費を削減するために低電力動作モードにおいて停止状態にされることが理解されるべきである。これは、主電源回路１０からそれらの部分に電力を供給することによって、または、プロセッサ１４にキャッシュメモリ１６に対してこれらの部分を停止状態にするように通知させるための命令を切り替えプログラムに組み込むことにより実現される。よって、たとえば、キャッシュメモリ１６内のデータの置き換えを管理するキャッシュ管理ユニット（図示せず）は、スイッチが切られる。同じことが、割り込みプログラムからの命令がキャッシュメモリ１６にあるかどうかを検出するため使用されるアドレス比較回路についても成り立つが、その理由は、これらの命令が低電力動作モードではキャッシュメモリ１６にあることが分かっているからである。同様に、低電力動作モードにおける動作中に必要とされないキャッシュメモリ１６の過剰な記憶容量は停止状態にされる。
【００２４】
単一のプロセッサ１４が説明されているが、実際には、キャッシュメモリ１６に接続された２台以上のプロセッサを含む命令処理回路が使用され、その一部分は、たとえば、それらが主電源回路１０からの電力供給を受けるので、低電力動作モードにおいて停止状態にされることが理解されるべきである。この場合、たとえば、性能が制限され、消費電力が少ないプロセッサが、割り込みプログラムを実行する命令処理回路に組み込まれる。
【００２５】
本発明は低電力動作モード中の割り込みプログラムの実行について説明されているが、本発明は、この例では省かれている割り込み回路１９によってトリガーされることなく、低電力動作モードの間にループするプログラムのようなその他のタイプのプログラムにも適用されることが認められる。同様に、種々のタイプの割り込みのために役立つ複数の割り込みプログラムが低電力動作モードにおいてキャッシュメモリ１６に保持される。
【００２６】
同様に、電源電圧の低下、命令サイクル周波数の低減などのようなその他の手段が低電力動作モードにおける消費電力を削減するために利用される。この目的のため、通常動作モードと低電力動作モードの両方で動作可能であるキャッシュメモリ１６のような回路は、通常動作モードでは主電源回路１０から、低電力動作モードでは専用電源回路から電力を受けるように切り替えられる。
【００２７】
低電力動作モードへの切り替えは、たとえば、電源と回路との間のスイッチを非導通にすることによって、主電源回路１０を停止状態にするという形で説明されているが、消費電力を削減するために、クロック信号またはその他の信号を無効にするようなその他の停止状態化の方法が使用されることが理解されるべきである。キャッシュメモリ１６およびプロセッサ１４は、割り込みプログラムを実行するという意味で動作していないときに、停止状態化がデータまたは命令の損失を引き起こさない限り、低電力動作モードの期間の一部分の間という意味で停止状態にされることさえある。
【００２８】
プロセッサ１４によって実行される切り替えプログラムが低電力動作モードへの切り替えを制御する本発明の一実施形態が記載されているが、代案として、切り替えに関与するステップは、装置が低電力動作モードに切り替わるべきであることを通知するときに作動されるこの目的のための専用（プログラミングされていない）回路の制御下で実行してもよく、または、この目的のためのキャッシュメモリ１６および／またはメインメモリへ独自にアクセスすることができるその他のプロセッサによって実行してもよいことが認められるべきである。この切り替えはプロセッサ１４のような単一回路によって制御される必要はない。たとえば、割り込みプログラムのローディングのような切り替えの一部分は一方の回路によって実行され、主電源の停止のような別の部分は別の回路によって実行される。
【図面の簡単な説明】
【００２９】
【図１】低電力動作モードをサポートする装置を表す図である。
【図２】装置の動作を説明する図である。
【符号の説明】
【００３０】
１０  主電源回路
１２  低電力モード電源回路
１４  プロセッサ
１６  キャッシュメモリ
１８  メインメモリ
１９  割り込み回路
【図１】
2007506171.tif 000003
【図２】
2007506171.tif 000004
【国際調査報告】
2007506171.tif 000005
2007506171.tif 000006
2007506171.tif 000007