(57)【特許請求の範囲】
【請求項１】
通常動作モードとそれよりも電力消費の少ないパワーセーブモードとを有し、通常動作モードからパワーセーブモードへの移行およびそのパワーセーブモードから通常動作モードへの復帰機能を有するコンピュータシステムにおいて、
所定のパワーダウン入力端子に供給されるパワーダウン信号によって動作モードが通常動作モードと低消費電力モードとの間で切り替えられるキャッシュメモリと、
前記コンピュータシステムのパワーセーブモードへの移行に連動して、前記パワーダウン信号により前記キャッシュメモリの動作モードを通常動作モードから低消費電力モードに切り替える手段と、
前記コンピュータシステムのパワーセーブモードからの復帰に連動して、前記パワーダウン信号により前記キャッシュメモリの動作モードを低消費電力モードから通常動作モードに切り替える手段と、
前記キャッシュメモリの動作モードが低消費電力モードから通常動作モードに切り替えられてからそのキャッシュメモリが正常動作可能になるまでに必要な所定期間中に前記キャッシュメモリがアクセスされることに起因する誤動作を防止するための誤動作防止手段とを具備し、
この誤動作防止手段は、
前記キャッシュメモリが低消費電力モードに切り替えられるとき、その切り替えに先立って、前記キャッシュメモリをその使用が不可能なディスエーブル状態に設定するキャッシュディスエーブル手段と、
前記キャッシュメモリが通常動作モードに切り替えられてから前記所定期間経過した後に前記キャッシュメモリをディスエーブル状態からイネーブル状態に切り替えてその使用を可能にするキャッシュイネーブル手段とを具備することを特徴とするコンピュータシステム。
【請求項２】
前記キャッシュディスエーブル手段は、前記キャッシュメモリに供給されるチップセレクト信号をインアクティブ状態にすることによって前記キャッシュメモリをディスエーブル状態に設定し、
前記キャッシュイネーブル手段は、前記チップセレクト信号をインアクティブ状態からアクティブ状態に切り替えることによって、前記キャッシュメモリをディスエーブル状態からイネーブル状態に切り替えることを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
通常動作モードとそれよりも電力消費の少ないパワーセーブモードとを有し、通常動作モードからパワーセーブモードへの移行およびそのパワーセーブモードから通常動作モードへの復帰機能を有するコンピュータシステムにおいて、
所定のパワーダウン入力端子に供給されるパワーダウン信号によって動作モードが通常動作モードと低消費電力モードとの間で切り替えられるキャッシュメモリと、
前記コンピュータシステムのパワーセーブモードへの移行に連動して、前記パワーダウン信号により前記キャッシュメモリの動作モードを通常動作モードから低消費電力モードに切り替える手段と、
前記コンピュータシステムのパワーセーブモードからの復帰に連動して、前記パワーダウン信号により前記キャッシュメモリの動作モードを通常動作モードから低消費電力モードに切り替える手段と、
前記キャッシュメモリの動作モードが低消費電力モードから通常動作モードに切り替えられてからそのキャッシュメモリが正常動作可能になるまでに必要な所定期間中に前記キャッシュメモリがアクセスされることに起因する誤動作を防止するための誤動作防止手段とを具備し、
この誤動作防止手段は、
前記所定期間中におけるキャッシュアクセスでキャッシュミスが発生されるように、前記キャッシュメモリが低消費電力モードに移行するときに、前記キャッシュメモリの内容を無効化するキャッシュインバリデード手段を具備することを特徴とするコンピュータシステム。
【請求項４】
通常動作モードとそれよりも電力消費の少ないパワーセーブモードとを有し、通常動作モードからパワーセーブモードへの移行およびそのパワーセーブモードから通常動作モードへの復帰機能を有するコンピュータシステムにおいて、
所定のパワーダウン入力端子に供給されるパワーダウン信号によって動作モードが通常動作モードと低消費電力モードとの間で切り替えられるキャッシュメモリと、
このキャッシュメモリを制御するキャッシュコントローラと、
前記コンピュータシステムのパワーセーブモードへの移行に連動して、前記パワーダウン信号により前記キャッシュメモリの動作モードを通常動作モードから低消費電力モードに切り替える手段と、
前記コンピュータシステムのパワーセーブモードからの復帰に連動して、前記パワーダウン信号により前記キャッシュメモリの動作モードを通常動作モードから低消費電力モードに切り替える手段と、
前記キャッシュメモリの動作モードが低消費電力モードから通常動作モードに切り替えられてからそのキャッシュメモリが正常動作可能になるまでに必要な所定期間中に前記キャッシュメモリがアクセスされることに起因する誤動作を防止するための誤動作防止手段とを具備し、
この誤動作防止手段は、
前記パワーダウン信号によって動作制御され、前記キャッシュメモリの動作モードを低消費電力モードから通常動作モードに切り替えるときの前記パワーダウン信号の変化から前記所定期間経過するまで、前記コンピュータシステムのＣＰＵから前記キャッシュコントローラへのメモリアクセスコマンドの入力をブロックするブロック手段とを具備することをことを特徴とするコンピュータシステム。
【請求項５】
システムアイドル時にＣＰＵが動作停止され、システムイベント発生時に前記ＣＰＵの動作が再開されるコンピュータシステムにおいて、
所定のパワーダウン入力端子に供給されるパワーダウン信号によって動作モードが通常動作モードと低消費電力モードとの間で切り替えられるキャッシュメモリと、
前記ＣＰＵによってアクセス可能に構成され、前記パワーダウン信号の発生を制御するためのパワーダウン制御情報が設定される第１レジスタと、
前記ＣＰＵによってアクセス可能に構成され、前記キャッシュメモリに供給されるチップセレクト信号の発生を制御するためのチップセレクト制御情報が設定される第２レジスタとを具備し、
前記ＣＰＵは、
前記システムアイドルが検出されたとき、前記第１および第２レジスタのパワーダウン制御情報およびチップセレクト制御情報を書き換えることにより、前記キャッシュメモリをその使用が不可能なディスエーブル状態にすると共に前記低消費電力モードに移行させた後、前記ＣＰＵの動作を停止するための手続きを実行し、
前記システムイベントの発生によってそのＣＰＵ動作が開始されたとき、前記第１レジスタのパワーダウン制御情報を書き換えて前記キャッシュメモリの動作モードを低消費電力モードから通常動作モードに切り替え、その切り替えから所定期間経過した後、前記第２レジスタのチップセレクト制御情報を書き換えて前記キャッシュメモリをディスエーブル状態からその使用が可能なイネーブル状態に切り替えることを特徴とするコンピュータシステム。
【請求項６】
システムアイドル時にＣＰＵが動作停止され、システムイベント発生時に前記ＣＰＵの動作が再開されるコンピュータシステムにおいて、
所定のパワーダウン入力端子に供給されるパワーダウン信号によって動作モードが通常動作モードと低消費電力モードとの間で切り替えられるキャッシュメモリと、
このキャッシュメモリを制御するキャッシュコントローラと、
前記ＣＰＵによってアクセス可能に構成され、前記パワーダウン信号の発生を制御するためのパワーダウン制御情報が設定されるレジスタとを具備し、
前記ＣＰＵは、
前記システムアイドルが検出されたとき、前記キャッシュコントローラに前記キャッシュメモリの内容を無効化するインバリデードサイクルを実行させた後、前記レジスタのパワーダウン制御情報を書き換えることにより前記キャッシュメモリを低消費電力モードに移行させ、そして前記ＣＰＵの動作を停止するための手続きを実行し、
前記システムイベントの発生によってそのＣＰＵ動作が開始されたとき、前記レジスタのパワーダウン制御情報を書き換えて前記キャッシュメモリの動作モードを低消費電力モードから通常動作モードに切り替えることを特徴とするコンピュータシステム。
【請求項７】
システムアイドル時にＣＰＵが動作停止され、システムイベント発生時に前記ＣＰＵの動作が再開されるコンピュータシステムにおいて、
所定のパワーダウン入力端子に供給されるパワーダウン信号によって動作モードが通常動作モードと低消費電力モードとの間で切り替えられるキャッシュメモリと、
このキャッシュメモリを制御するキャッシュコントローラと、
前記ＣＰＵによってアクセス可能に構成され、前記パワーダウン信号の発生を制御するためのパワーダウン制御情報が設定されるレジスタと、
前記パワーダウン信号によって動作制御され、前記キャッシュメモリの動作モードを低消費電力モードから通常動作モードに切り替えるときの前記パワーダウン信号の変化から一定期間経過するまで、前記ＣＰＵから前記キャッシュコントローラへのメモリアクセスコマンドの入力をブロックするブロック回路とを具備し、
前記ＣＰＵは、
前記システムアイドルが検出されたとき、前記レジスタのパワーダウン制御情報を書き換えることにより前記キャッシュメモリを低消費電力モードに移行させた後、前記ＣＰＵの動作を停止するための手続きを実行し、
前記システムイベントの発生によってそのＣＰＵ動作が開始されたとき、前記レジスタのパワーダウン制御情報を書き換えて前記キャッシュメモリの動作モードを低消費電力モードから通常動作モードに切り替えることを特徴とするコンピュータシステム。
【請求項８】
ストップクロック信号が供給されるストップクロック入力端子を有し、前記ストップクロック信号によって、動作モードが通常動作モードとＣＰＵコアユニットに対するクロック供給が停止される低消費電力モードとに切り替えられるＣＰＵと、
パワーダウン信号が供給されるパワーダウン入力端子を有し、前記パワーダウン信号によって、動作モードが通常動作モードと低消費電力モードとの間で切り替えられるキャッシュメモリと、
システムアイドル時に前記ストップクロック信号を発生して前記ＣＰＵを低消費電力モードに設定し、システムイベント発生時に前記ストップクロック信号の発生を停止して前記ＣＰＵを低消費電力モードから通常動作モードに復帰させる手段とを備えたコンピュータシステムにおいて、
前記キャッシュメモリのパワーダウン入力端子を前記ＣＰＵのストップクロック入力端子に電気的に結合することにより、前記ＣＰＵの動作モードの切り替えに連動させて、前記キャッシュメモリの動作モードを通常動作モードと低消費電力モードとの間で切り替えられるようにしたことを特徴とするコンピュータシステム。
【請求項９】
前記ＣＰＵによってアクセス可能に構成され、前記キャッシュメモリに供給されるチップセレクト信号の発生を制御するためのチップセレクト制御情報が設定されるレジスタと、
このレジスタのチップセレクト制御情報をソフトウェア制御によって書き換えることにより、前記ＣＰＵが低消費電力モードに移行するとき、前記キャッシュメモリに供給されているチップセレクト信号をインアクティブ状態にして前記キャッシュメモリをその使用が不可能なディスエーブル状態に設定し、前記ＣＰＵが通常動作モードに切り替えられてから所定期間経過した後に前記チップセレクト信号をインアクティブ状態からアクティブ状態に切り替えることによって前記キャッシュメモリをイネーブル状態に切り替えてその使用を可能にする手段とをさらに具備し、
前記キャッシュメモリの動作モードが低消費電力モードから通常動作モードに切り替えられてからそのキャッシュメモリが正常動作可能になるまでに必要な所定期間中に前記キャッシュメモリがアクセスされることに起因する誤動作を防止できるようにしたことを特徴とする請求項８記載のコンピュータシステム。
【請求項１０】
前記キャッシュメモリが低消費電力モードから通常動作モードに切り替えられてからそのキャッシュメモリが正常動作可能になるまでに必要な所定期間中におけるキャッシュアクセスでキャッシュミスが発生されるように、前記ＣＰＵが低消費電力モードに移行するときに、前記キャッシュメモリの内容を無効化する手段とをさらに具備し、
前記所定期間中に前記キャッシュメモリがアクセスされることに起因する誤動作を防止できるようにしたことを特徴とする請求項８記載のコンピュータシステム。
【請求項１１】
前記ＣＰＵの動作モードを低消費電力モードから通常動作モードに切り替えるときの前記ストップクロック信号の応答して動作開始され、前記キャッシュメモリに対するメモリアクセスコマンドの入力をその動作開始時から一定期間ブロックする手段をさらに具備し、
前記キャッシュメモリの動作モードが低消費電力モードから通常動作モードに切り替えられてからそのキャッシュメモリが正常動作可能になるまでに必要な所定期間中に前記キャッシュメモリがアクセスされることに起因する誤動作を防止できるようにしたことを特徴とする請求項８記載のコンピュータシステム。
【請求項１２】
所定のパワーダウン入力端子に供給されるパワーダウン信号によって動作モードが通常動作モードと低消費電力モードとの間で切り替えられるキャッシュメモリを備えたコンピュータシステムで使用され、前記パワーダウン信号を用いて前記キャッシュメモリの動作モードの切り替えを行うキャッシュメモリのパワーダウン制御方法において、
前記キャッシュメモリが低消費電力モードに移行するとき、前記キャッシュメモリをその使用が不可能なディスエーブル状態に設定し、
前記キャッシュメモリが低消費電力モードから通常動作モードに切り替えられてから所定期間経過した後に、前記キャッシュメモリをディスエーブル状態からその使用が可能なイネーブル状態に切り替え、
前記キャッシュメモリの動作モードが低消費電力モードから通常動作モードに切り替えられてからそのキャッシュメモリが正常動作可能になるまでに必要な所定期間中に前記キャッシュメモリがアクセスされることに起因する誤動作を防止できるようにしたことを特徴とするキャッシュメモリのパワーダウン制御方法。
【請求項１３】
所定のパワーダウン入力端子に供給されるパワーダウン信号によって動作モードが通常動作モードと低消費電力モードとの間で切り替えられるキャッシュメモリを備えたコンピュータシステムで使用され、前記パワーダウン信号を用いて前記キャッシュメモリの動作モードの切り替えを行うキャッシュメモリのパワーダウン制御方法において、
前記キャッシュメモリが低消費電力モードから通常動作モードに切り替えられてからそのキャッシュメモリが正常動作可能になるまでに必要な所定期間中におけるキャッシュアクセスでキャッシュミスが発生されるように、前記キャッシュメモリが低消費電力モードに移行するとき、前記キャッシュメモリの内容を無効化し、
前記所定期間中に前記キャッシュメモリがアクセスされることに起因する誤動作を防止できるようにしたことを特徴とするキャッシュメモリのパワーダウン制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ラップトップタイプまたはノートブックタイプのパーソナルコンピュータシステムに関し、特に消費電力の低減のためのパワーセーブモードを有するコンピュータシステムおよびそのシステムにおけるキャッシュメモリのパワーセーブ制御方法に関する。
【０００２】
【従来の技術】
近年、携行が容易でバッテリにより動作可能なノートブックタイプのパーソナルコンピュータが種々開発されている。この種のコンピュータに於いては、無駄な消費電力を低減するために、各種のパワーセーブ機能が設けられている。
【０００３】
代表的なパワーセーブ機能としては、システムアイドル時にＣＰＵを自動的に停止させるＣＰＵスリープモード機能、ＣＰＵを停止させるだけでなく、コンピュータシステムのシステムメモリを除く他のほとんど全てのデバイスをパワーオフするサスペンド機能、さらには所定の条件下においてハードディスクのモータを停止したり、ディスプレイを消灯するといった機能などが知られている。
【０００４】
ところで、最近では、システム性能の向上のために、デスクトップ型パーソナルコンピュータを中心に高速ＳＲＡＭなどを使用した２次キャッシュが多く採用され始めている。２次キャッシュを搭載したシステムでは、主記憶アクセスのための比較的長いメモリサイクルによるＣＰＵの待ち時間が解消され、ＣＰＵ性能を引き出すことができる。２次キャッシュとしての使用に好適な高速ＳＲＡＭのタイプとしては、パイプラインバーストＳＲＡＭ（ＰＢＳＲＡＭ）が知られている。ＰＢＳＲＡＭを使用すると、通常の非同期型の高速ＳＲＡＭを用いた場合よりも、ＣＰＵと２次キャッシュとの間のバースト転送サイクルを著しく高速化することができる。
【０００５】
【発明が解決しようとする課題】
しかし、従来のサスペンド機能やＣＰＵスリープ機能などにおいては、２次キャッシュをパワーセーブするための仕組みは用意されてない。
このため、低消費電力が必要とされるノートブックタイプのパーソナルコンピュータにおいては、２次キャッシュを搭載すると、動作速度が向上する反面、バッテリ動作時間が短くなるという問題が生じる。また、サスペンドモード時などにおいてはシステムメモリだけでなく、２次キャッシュについてもその記憶データをバッテリによって保持する必要が生じるため、サスペンドモード時におけるデータ保持可能時間も短くなる。特に、ＰＢＳＲＡＭなどの高速ＳＲＡＭは電力消費が大きいため、その影響は大きい。
【０００６】
また、最近開発されたＰＢＳＲＡＭの中には、低消費電力モードを持つタイプのもの（例えば、ＴＣ５５Ｖ１３２５、東芝製）もある。この種のＰＢＳＲＡＭは、ＺＺピンなどと称されているパワーダウン入力端子を有しており、そこに供給されるパワーダウン信号がアクティブにされると、動作モードが通常動作モードから低消費電力モードに切り替えられる。低消費電力モードでは、ＰＢＳＲＡＭのクロックピンを含む全ての入力信号がブロックされるため、クロックを供給し続けた状態でも消費電流を最大２ｍＡ程度に抑えることができる。低消費電力モードの間もデータは保持される。また、パワーダウン信号がインアクティブになると、動作モードが低消費電力モードから通常動作モードに再び切り替えられる。低消費電力モードから通常動作モードに切り替えられてもＰＢＳＲＡＭは直ぐには正常動作することはできず、その正常動作が保証されるまでには動作モードの切り替えから〜１００ｎｓ程度の時間必要となる。
【０００７】
従って、ＺＺピンを持つＰＢＳＲＡＭを２次キャッシュとして使用する場合には、ＰＢＳＲＡＭを低消費電力モードから通常動作モードに復帰させた時から一定期間は、２次キャッシュを使えなくする必要がある。これは、ＰＢＳＲＡＭの正常動作が保証されてない期間にＣＰＵが２次キャッシュをアクセスすることによる誤動作を防止するためである。
【０００８】
この発明はこのような点に鑑みてなされたものであり、ＺＺピンを持つＰＢＳＲＡＭが有する低消費電力モードを有効活用することによって２次キャッシュを含むコンピュータシステムの新たなパワーセーブ機能を実現できるようにし、またそのパワーセーブ機能にある一定期間は２次キャッシュを使用できなくするための仕組みを組み込むことによって、高性能、低消費電力、且つ動作信頼性の高いコンピュータシステムおよびキャッシュメモリのパワーダウン制御方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
請求項１に係る発明は、通常動作モードとそれよりも電力消費の少ないパワーセーブモードとを有し、通常動作モードからパワーセーブモードへの移行およびそのパワーセーブモードから通常動作モードへの復帰機能を有するコンピュータシステムにおいて、所定のパワーダウン入力端子に供給されるパワーダウン信号によって動作モードが通常動作モードと低消費電力モードとの間で切り替えられるキャッシュメモリと、前記コンピュータシステムのパワーセーブモードへの移行に連動して、前記パワーダウン信号により前記キャッシュメモリの動作モードを通常動作モードから低消費電力モードに切り替える手段と、前記コンピュータシステムのパワーセーブモードからの復帰に連動して、前記パワーダウン信号により前記キャッシュメモリの動作モードを低消費電力モードから通常動作モードに切り替える手段と、前記キャッシュメモリの動作モードが低消費電力モードから通常動作モードに切り替えられてからそのキャッシュメモリが正常動作可能になるまでに必要な所定期間中に前記キャッシュメモリがアクセスされることに起因する誤動作を防止するための誤動作防止手段とを具備し、この誤動作防止手段は、前記キャッシュメモリが低消費電力モードに切り替えられるとき、その切り替えに先立って、前記キャッシュメモリをその使用が不可能なディスエーブル状態に設定するキャッシュディスエーブル手段と、前記キャッシュメモリが通常動作モードに切り替えられてから前記所定期間経過した後に前記キャッシュメモリをディスエーブル状態からイネーブル状態に切り替えてその使用を可能にするキャッシュイネーブル手段とを具備することを特徴とする。
【００１０】
このコンピュータシステムにおいては、ＺＺ端子などのパワーダウン入力端子を持つキャッシュメモリが使用されており、そのパワーダウン入力端子に供給されるパワーダウン信号によってキャッシュメモリのパワーセーブが行われる。すなわち、コンピュータシステムが通常モードからサスペンドモードやＣＰＵスリープモードなどのようなＣＰＵの動作停止などを伴うパワーセーブモードに移行するときは、その移行と連動してキャッシュメモリも通常動作モードから低消費電力モードに切り替えられる。そして、コンピュータシステムがサスペンドモードやＣＰＵスリープモードから復帰するときにも、それに連動して、キャッシュメモリは低消費電力モードから通常動作モードに切り替えられる。このようにコンピュータシステムの動作モードの切り替えと連動させてキャッシュメモリの動作モードを切り替えることにより、ＣＰＵが動作停止されている期間にあわせてキャッシュメモリを低消費電力モードに設定することができる。したがって、システム性能に影響を与えることなく、キャッシュメモリ、およびコンピュータシステム全体のパワーセーブを実現することができる。
【００１１】
また、このコンピュータシステムでは、キャッシュメモリを低消費電力モードに切り替える前にキャッシュメモリをディスエーブル状態にしてその使用を禁止しておき、通常動作モードに切り替えられたから一定期間経過した後にキャッシュメモリをディスエーブル状態からその使用が可能なイネーブル状態に復帰させるという制御が行われる。これにより、キャッシュメモリが通常動作モードに切り替えられても、その切り替えから一定期間はキャッシュメモリを使用できなくすることができる。したがって、たとえキャッシュメモリが正常動作可能な状態に復帰される前、つまり通常動作モードに切り替えられた直後にＣＰＵからメモリアクセス要求が発行されても、キャッシュメモリは使用できないので、キャッシュアクセスに起因する誤動作の発生を防止することができる。
【００１２】
キャッシュメモリのイネーブル／ディスエーブル制御は、キャッシュメモリに供給するチップイネーブル信号をアクティブ／インアクティブに設定することによって実現することができる。
【００１３】
また、この発明の請求項３に係るコンピュータシステムは、請求項１の誤動作防止手段として、キャッシュメモリが低消費電力モードに移行するときに、前記キャッシュメモリの内容を無効化するキャッシュインバリデード手段を含むことを特徴とする。
【００１４】
このコンピュータシステムにおいては、キャッシュメモリが低消費電力モードから通常動作モードに切り替えられたときには既にキャッシュインバリデードの状態となっている。このため、キャッシュメモリが通常動作モードに切り替えられた後に最初に行われるキャッシュアクセスは、常にキャッシュミスとなる。キャッシュミスの場合は、キャッシュメモリからのデータ読み出しや書き込みは一切実行されず、主記憶アクセスのためのメモリサイクルが実行される。このメモリサイクルには比較的時間がかかり、またメモりサイクルが終了するまでキャッシュアクセスは発生しない。したがって、その間にキャッシュメモリは正常動作可能な状態に復帰することができ、次回のキャッシュアクセスからはキャッシュメモリからのデータ読み出しや書き込みを正常に行うことができる。よって、たとえキャッシュメモリが通常動作モードに切り替えられた直後にキャッシュアクセスが行われたとしても、そのキャッシュアクセスによる誤動作を防止することが可能となる。
【００１５】
また、この発明の請求項４に係るコンピュータシステムは、請求項１の誤動作防止手段として、前記パワーダウン信号によって動作制御され、前記キャッシュメモリの動作モードを低消費電力モードから通常動作モードに切り替えるときの前記パワーダウン信号の変化から前記所定期間経過するまで、前記コンピュータシステムのＣＰＵから前記キャッシュコントローラへのメモリアクセスコマンドの入力をブロックするブロック手段を含むことを特徴とする。
【００１６】
このコンピュータシステムにおいては、パワーダウン信号によってキャッシュメモリの動作モードが低消費電力モードから通常動作モードに切り替えられると、それと同時にブロック手段によるコマンド入力のブロックが自動的に開始される。したがって、パワーダウン信号を用いてキャッシュメモリの動作モードをコンピュータシステムに連動して切り替える制御を行うだけで、キャッシュメモリが正常動作可能になるまでに必要な期間中におけるキャッシュアクセスに起因する誤動作を防止することが可能となる。
【００１７】
また、請求項５に係る発明は、システムアイドル時にＣＰＵが動作停止され、システムイベント発生時に前記ＣＰＵの動作が再開されるコンピュータシステムにおいて、所定のパワーダウン入力端子に供給されるパワーダウン信号によって動作モードが通常動作モードと低消費電力モードとの間で切り替えられるキャッシュメモリと、前記ＣＰＵによってアクセス可能に構成され、前記パワーダウン信号の発生を制御するためのパワーダウン制御情報が設定される第１レジスタと、前記ＣＰＵによってアクセス可能に構成され、前記キャッシュメモリに供給されるチップセレクト信号の発生を制御するためのチップセレクト制御情報が設定される第２レジスタとを具備し、前記ＣＰＵは、前記システムアイドルが検出されたとき、前記第１および第２レジスタのパワーダウン制御情報およびチップセレクト制御情報を書き換えることにより、前記キャッシュメモリをその使用が不可能なディスエーブル状態にすると共に前記低消費電力モードに移行させた後、前記ＣＰＵの動作を停止するための手続きを実行し、前記システムイベントの発生によってそのＣＰＵ動作が開始されたとき、前記第１レジスタのパワーダウン制御情報を書き換えて前記キャッシュメモリの動作モードを低消費電力モードから通常動作モードに切り替え、その切り替えから所定期間経過した後、前記第２レジスタのチップセレクト制御情報を書き換えて前記キャッシュメモリをディスエーブル状態からその使用が可能なイネーブル状態に切り替えることを特徴とする。
【００１８】
このコンピュータシステムにおいては、パワーダウン信号の発生を制御するためのレジスタとチップセレクト信号の発生を制御するレジスタが設けられているので、それ以外の特別なハードウェアを用いることなく、ＣＰＵによるソフトウェア制御のみによってパワーダウン信号とチップセレクト信号それぞれの発生を任意のタイミングで容易に制御することができる。したがって、ＣＰＵの動作停止を伴うパワーセーブ機能を実現する従来のＢＩＯＳプログラムに、レジスタ制御の手続きを追加するだけで、コンピュータシステムの動作モードの切り替えと連動させてキャッシュメモリの動作モードを切り替えることにより、ＣＰＵのパワーセーブとキャッシュメモリのパワーセーブを連動して行うことが可能となる。また、ＣＰＵ自体の動作が停止される前に、キャッシュメモリのディスエーブルおよびパワーダウンを行い、またＣＰＵ自体の動作が開始された時は、レジスタ制御によってキャッシュメモリを通常動作モードに戻してから一定期間経過した後にキャッシュメモリをイネーブルにしているので、キャッシュメモリが正常動作可能になるまでに必要な期間中におけるキャッシュアクセスに起因する誤動作を防止することが可能となる。
【００１９】
請求項６に係る発明は、請求項５のチップセレクト信号を用いたキャッシュディスエーブル／イネーブル制御の代わりに、キャッシュメモリのインバリデートサイクルを利用している。すなわち、ＣＰＵ自体の動作が停止される前にキャッシュメモリのインバリデートサイクルを行っておき、これによってＣＰＵ動作再開時にキャッシュミスを引き起こさせることにより、キャッシュアクセスに起因する誤動作を防止する構成である。
【００２０】
請求項７に係る発明は、請求項５のチップセレクト信号を用いたキャッシュディスエーブル／イネーブル制御の代わりに、ＣＰＵから前記キャッシュコントローラへのメモリアクセスコマンドの入力をブロックするブロック回路を使用し、これによってキャッシュアクセスに起因する誤動作を防止する構成である。
【００２１】
また、請求項８に係る発明は、ストップクロック信号が供給されるストップクロック入力端子を有し、前記ストップクロック信号によって、動作モードが通常動作モードとＣＰＵコアユニットに対するクロック供給が停止される低消費電力モードとに切り替えられるＣＰＵと、パワーダウン信号が供給されるパワーダウン入力端子を有し、前記パワーダウン信号によって、動作モードが通常動作モードと低消費電力モードとの間で切り替えられるキャッシュメモリと、システムアイドル時に前記ストップクロック信号を発生して前記ＣＰＵを低消費電力モードに設定し、システムイベント発生時に前記ストップクロック信号の発生を停止して前記ＣＰＵを低消費電力モードから通常動作モードに復帰させる手段とを備えたコンピュータシステムにおいて、前記キャッシュメモリのパワーダウン入力端子を前記ＣＰＵのストップクロック入力端子に電気的に結合することにより、前記ＣＰＵの動作モードの切り替えに連動させて、前記キャッシュメモリの動作モードを通常動作モードと低消費電力モードとの間で切り替えられるようにしたことを特徴とする。
【００２２】
このコンピュータシステムにおいては、キャッシュメモリのパワーダウン入力端子とＣＰＵのストップクロック入力端子とが電気的に結合されているので、キャッシュメモリに供給するパワーダウン信号の発生を制御するための機構を何ら設けることなく、ＣＰＵのパワーダウンとキャッシュメモリのパワーダウンとを連動して実行させることができる。これにより、簡単な構成で、高性能且つ低消費電力のコンピュータシステムを実現できる。
【００２３】
さらに、この請求項８の構成に加え、請求項９、１０、または１１の誤動作防止のための構成を具備することにより、キャッシュアクセスに起因する誤動作を防止することが可能となる。
【００２４】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図１には、この発明の第１実施形態に係るコンピュータシステムの構成が示されている。このコンピュータシステムはバッテリ駆動可能なノートブックタイプまたはラップトップタイプのパーソナルコンピュータであり、そのシステムボード上には、ＣＰＵローカルバス（プロセッサバス）１、ＰＣＩバス２、ＩＳＡバス３が配設され、また、ＣＰＵ１１、ホスト／ＰＣＩブリッジ装置１２、メインメモリ１３、２次キャッシュ（Ｌ２キャッシュ）１４、グラフィクスコントローラやハードディスクなどのＰＣＩデバイス１５，１６、ＰＣＩ−ＩＳＡブリッジ装置１７、ＢＩＯＳ  ＲＯＭ１８、および各種ＩＳＡデバイスなどが設けられている。
【００２５】
ＣＰＵ１１は、このシステム全体の動作制御およびデータ処理を実行するものであり、キャッシュを内蔵している。このＣＰＵ１１としては、システム管理割り込みＳＭＩ（ＳＭＩ；Ｓystem   Ｍanagement Ｉnterrupt）をサポートするもの、例えば、米インテル社により製造販売されているマイクロプロセッサ“Ｐｅｎｔｉｕｍ”が使用される。ＳＭＩを使用したシステム管理機能は、次のように行われる。
【００２６】
すなわち、ＣＰＵ１１は、アプリケーションプログラムやオペレーティングシステム（ＯＳ）などのプログラムを実行するための動作モードとしてリアルモード、プロテクトモード、仮想８６モードを有する他、システム管理モード（ＳＭＭ；Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  ｍｏｄｅ）と称されるシステム管理機能を実現するための動作モードを有している。
【００２７】
リアルモードは、最大で１Ｍバイトのメモリ空間をアクセスできるモードであり、論理アドレスから物理アドレスへの変換は、セグメントレジスタで表されるベースアドレスからのオフセット値で物理アドレスを決定するアドレス計算形式によって行われる。
【００２８】
一方、プロテクトモードは１タスク当たり最大４Ｇバイトのメモリ空間をアクセスできるモードであり、ディスクプリタテーブルと称されるアドレスマッピングテーブルを用いてリニアアドレスが決定される。このリニアアドレスは、ページングによって最終的に物理アドレスに変換される。
【００２９】
このように、プロテクトモードとリアルモードとでは、互いに異なるメモリアドレッシングが採用されている。
システム管理モード（ＳＭＭ）は疑似リアルモードであり、このモードにおけるアドレス計算形式はリアルモードのアドレス計算形式と同一であり、ディスクプリタテーブルは参照されず、ページングも実行されない。
【００３０】
システム管理割込み（ＳＭＩ；Ｓystem   Ｍanagement Ｉnterrupt）がＣＰＵ１１に発行された時、ＣＰＵ１１の動作モードは、その時の動作モードであるリアルモード、プロテクトモード、または仮想８６モードから、ＳＭＭにスイッチされる。ＳＭＩによってＳＭＭにスイッチした時、ＣＰＵ１１はその時のＣＰＵレジスタの内容であるＣＰＵステータスをＳＭＲＡＭ１３１にセーブする。ＳＭＲＡＭ１３１は、メインメモリ１３の一部にマッピングされるオーバレイメモリであり、ＳＭＭにおいてのみアクセスが可能である。ＳＭＭにおいて復帰命令（ＲＳＭ命令）が実行されると、ＣＰＵ１１はＳＭＲＡＭ１３１からＣＰＵレジスタにＣＰＵステータスをリストアし、ＳＭＩ発生前の動作モードに復帰する。ＳＭＭでは、ＢＩＯＳ  ＲＯＭ１８に格納されたＳＭＩハンドラなどのシステム管理プログラムが実行される。
【００３１】
ＳＭＩはマスク不能割り込みＮＭＩの一種であるが、通常のＮＭＩやマスク可能割り込みＩＮＴＲよりも優先度の高い、最優先度の割り込みである。このＳＭＩを発行することによって、システム管理プログラムを、実行中のアプリケーションプログラムやオペレーティングシステムの環境に依存せずに起動することができる。
【００３２】
この実施形態においては、システム管理プログラムは、ＣＰＵ１１の動作停止を伴うパワーセーブモードの実現のために利用される。すなわち、ここでは、システムアイドル時にＣＰＵ１１の動作を停止させるＣＰＵスリープモードと連動してＬ２キャッシュ１４のパワーセーブを実現するために、システム管理プログラム内のパワーセーブルーチンが利用される。ＣＰＵ１１の動作停止は、パワーセーブルーチンがＣＰＵ１１に動作停止命令（ＨＡＬＴ）を実行されることによって実現される。また、Ｌ２キャッシュ１４のパワーセーブは、パワーセーブルーチンがＬ２キャッシュ１４のＺＺ端子を制御することによって実現される。
【００３３】
ＣＰＵ１１のパワーセーブとＬ２キャッシュ１４のパワーセーブとの連動制御はこの発明の特徴とする部分であり、その詳細は図２以降で説明する。
ホスト／ＰＣＩブリッジ装置１２は、プロセッサバス１とＰＣＩバス２とを双方向で接続するためのブリッジＬＳＩであり、ここにはメインメモリ１３を制御するメモリコントローラ、および前述のＳＭＩ、ＮＭＩ、ＩＮＴＲの発生制御、リセット信号ＲＥＳＥＴやクロックＣＬＫの発生制御などを行うシステムロジックが組み込まれている。
【００３４】
ＳＭＩは、このコンピュータシステムのアイドル状態が検出されたとき、前述のシステム管理プログラムを実行させるためにホスト／ＰＣＩブリッジ装置１２から発行される。システムアイドル状態の検出には、例えば、システム内の各デバイスからの割り込み要求信号を監視し、全ての割り込み要求信号が発生されないときにシステムアイドル状態であると決定するなどの手法を採用することができる。
【００３５】
また、ＢＩＯＳのキーボード制御ルーチンを用いてＣＰＵ１１のパワーセーブ制御を行うこともできる。すなわち、アプリケーションプログラムがキー入力待ちになると、ＩＮＴ１６Ｈがコールされ、キーボード制御ルーチンが実行される。このキーボード制御ルーチンは、一定時間内にキーボード入力に起因する割り込みＩＮＴＲがないと、システムアイドル状態であることを検出し、ＣＰＵ１１にプログラム実行を停止させるためのＨＡＬＴ命令を実行させる。このキーボード制御ルーチンに、前述のシステム管理プログラムのパワーセーブルーチンと同様のキャッシュパワーセーブ処理を組み込むことにより、ＣＰＵスリープと連動したＬ２キャッシュ１４のパワーセーブ制御を行うことができる。
【００３６】
ＩＮＴＲは、ホスト／ＰＣＩブリッジ装置１２に設けられた割り込みコントローラの制御の下、何れかのデバイスから割り込み要求信号が発生されたときに、それに対応する割り込み処理サービスをＣＰＵ１１に実行させるために発行されるものである。
【００３７】
また、ホスト／ＰＣＩブリッジ装置１２には、Ｌ２キャッシュ１４を制御するためのキャッシュコントローラ１２１が内蔵されている。キャッシュコントローラ１２１には、Ｌ２キャッシュ１４のキャッシュ動作を制御するためのＬ２キャッシュ制御レジスタＲ１と、Ｌ２キャッシュ１４のデータＲＡＭとして使用されるＰＢＳＲＡＭに対するチップセレクト信号ＣＳ￣の発生およびそのＺＺ端子に入力されるパワーダウン信号の発生をそれぞれ制御するためのチップセレクト制御情報およびパワーダウン制御情報が設定されるＰＢＳＲＡＭ制御レジスタＲ２が設けられている。これらＬ２キャッシュ制御レジスタＲ１およびＰＢＳＲＡＭ制御レジスタＲ２は共にＣＰＵ１１によってアクセス可能に構成されている。したがって、Ｌ２キャッシュ制御レジスタＲ１に対してキャッシュインバリデード要求を書き込むことによりキャッシュ内容を無効化するためのキャッシュインバリデードサイクルを実行させたり、また、ＰＢＳＲＡＭ制御レジスタＲ２のチップセレクト制御情報の書き換えによるキャッシュのイネーブル／ディスエーブル制御、さらにはＰＢＳＲＡＭ制御レジスタＲ２のパワーダウン制御情報の書き換えによるＰＢＳＲＡＭのパワーダウン制御などをソフトウェア制御の下にＣＰＵ１１によって実行することができる。
【００３８】
Ｌ２キャッシュ１４は、メインメモリ１３の写しの一部を保持するためのものであり、タグＲＡＭとデータＲＡＭとから構成されている。Ｌ２キャッシュ１４のライトポリシーはライトスルーである。データＲＡＭは、ＺＺ端子を持つＰＢＳＲＡＭから構成されている。このＰＢＳＲＡＭは、ＺＺ端子に入力されるパワーダウン信号がアクティブになると、その動作モードが通常動作モードからスリープモード（スヌーズモードと称されることもある）と称される低消費電力モードに切り替えられる。スリープモードでは、ＰＢＳＲＡＭのクロックピンを含む全ての入力信号がブロックされるため、クロックを供給し続けた状態でも消費電流を最大２ｍＡ程度に抑えることができる。スリープモードは低消費電力の待機モードであり、その間もデータは消失されずに保持される。また、パワーダウン信号がインアクティブになると、動作モードがスリープモードから通常動作モードに再び切り替えられる。スリープモードから通常動作モードに切り替えられてもＰＢＳＲＡＭは直ぐには正常動作することはできず、その正常動作が保証されるまでには動作モードの切り替えから〜１００ｎｓ程度のディレイ時間が必要となる。
【００３９】
次に、図２および図３を参照して、ＣＰＵ１１のパワーセーブとＬ２キャッシュ１４のパワーセーブとを連動させて行うための第１のパワーセーブ制御方法について説明する。
【００４０】
図２には、ＣＰＵ１１の動作状態の変化に対するＰＢＳＲＡＭの動作制御タイミングが示されている。
ＣＰＵ１１が外部割り込み待ちになるなどのシステムアイドル状態の発生が検出されると、ＨＡＬＴ命令の実行によりＣＰＵ１１はノーマルモードからそれよりも低消費電力のスリープモードに入る。ＣＰＵ１１のスリープモードは、外部割り込みＩＲＱ、ＮＭＩ、ＳＭＩが発生されたとき、あるいはリセット信号ＲＥＳＥＴが入力されたときに解除され、ノーマルモードに復帰する。
【００４１】
ＣＰＵ１１のこのような動作状態の変化に同期して、ＰＢＳＲＡＭのＺＺ端子に入力されるパワーダウン信号（ＺＺ信号）が制御される。すなわち、パワーダウン信号（ＺＺ信号）は、ＣＰＵ１１がスリープモードに入るときにアクティブとなり、またＣＰＵ１１がスリープモードを抜けるときにインアクティブとなる。これにより、ＣＰＵ１１が動作停止されている期間にあわせてＰＢＳＲＡＭを低消費電力モードに設定することができる。したがって、コンピュータシステムのシステム性能に影響を与えることなく、ＣＰＵ１１とＬ２キャッシュ１４のパワーセーブを実現することができる。
【００４２】
また、パワーダウン信号（ＺＺ信号）がアクティブにされるときには、それに先立ってチップセレクト信号ＣＳ￣がインアクティブにされる。これにより、Ｌ２キャッシュ１４はその使用ができないディスエーブル状態となる。そして、パワーダウン信号（ＺＺ信号）がインアクティブにされてＰＢＳＲＡＭがスリープモードを抜けてから１００ｎｓ程度経過した後に、チップセレクト信号ＣＳ￣がアクティブとなり、これによってキャッシュ１４がディスエーブル状態からその使用が可能なイネーブル状態に復帰される。このようなチップセレクト信号ＣＳ￣を使ったＬ２キャッシュ１４のディスエーブル／イネーブル制御により、Ｌ２キャッシュ１４のＰＢＳＲＡＭがスリープモードを抜けてから一定期間はキャッシュメモリを使用できなくすることができる。したがって、たとえＰＢＳＲＡＭが正常動作可能な状態に復帰される前、つまりスリープモードを抜けてから１００ｎＳ程度経過するまでの期間にＣＰＵ１１からメモリアクセス要求が発行されても、Ｌ２キャッシュ１４は使用できないので、その期間におけるＰＢＳＲＡＭに対するデータのリード／ライトに起因する誤動作の発生を防止することができる。
【００４３】
次に、図３のフローチャートを参照して、図２のタイミング制御を実現するためのパワーセーブルーチンの処理手順を説明する。
システムアイドル状態の発生が検出されると、ＣＰＵ１１にＳＭＩが発行され、これによってＣＰＵ１１はＳＭＭに入り、そこでパワーセーブルーチンを実行する。このパワーセーブルーチンは、まず、図１のＰＢＳＲＡＭ制御レジスタＲ２のチップセレクト制御情報を書き換えることによってＰＢＳＲＡＭのチップセレクト信号ＣＳ￣をインアクティブにし、これによってＬ２キャッシュ１４をディスエーブル状態に設定する（ステップＳ１０１）。次いで、パワーセーブルーチンは、図１のＰＢＳＲＡＭ制御レジスタＲ２のパワーダウン制御情報を書き換えることによってＰＢＳＲＡＭのパワーダウン制御信号（ＺＺ信号）をアクティブにし、これによってＰＢＳＲＡＭをスリープモードに移行させる（ステップＳ１０２）。この後、パワーセーブルーチンは、ＣＰＵ１１にＨＡＬＴ命令を実行させる（ステップＳ１０３）。これにより、ＣＰＵ１１はスリープモードとなる。
【００４４】
この後、ＣＰＵ１１に外部割り込みが入力されると、ＣＰＵ１１はスリープモードを抜け、パワーセーブルーチンのＨＡＬＴ命令の次の命令からその実行を再開する。
【００４５】
この場合、パワーセーブルーチンは、まず、ＰＢＳＲＡＭ制御レジスタＲ２のパワーダウン制御情報を再び書き換えることによってＰＢＳＲＡＭのパワーダウン制御信号（ＺＺ信号）をインアクティブにし、これによってＰＢＳＲＡＭをスリープモードからノーマルモードに切り替える（ステップＳ１０４）。この後、パワーセーブルーチンは、例えばＮＯＰ命令を繰り返し実行することなどにより１００ｎＳ程度の期間ウエイトし（ステップＳ１０５）、その後、ＰＢＳＲＡＭ制御レジスタＲ２のチップセレクト制御情報を再び書き換えることによってＰＢＳＲＡＭのチップセレクト信号ＣＳ￣をアクティブにし、これによってＬ２キャッシュ１４をイネーブル状態に戻す（ステップＳ１０６）。そして、復帰命令（ＲＳＭ）を実行して、ＳＭＩ発生によって割り込み処理されたプログラムに制御を戻す（ステップＳ１０７）。
【００４６】
このパワーセーブルーチンの処理手順は、ＩＮＴ１６Ｈのキーボード制御ルーチンに組み込んでも良い。この場合にも、同様にして、図２のタイミング制御を実現することができる。
【００４７】
次に、図４および図５を参照して、ＣＰＵ１１のパワーセーブとＬ２キャッシュ１４のパワーセーブとを連動させて行うための第２のパワーセーブ制御方法について説明する。
【００４８】
図４には、ＣＰＵ１１の動作状態の変化に対するＰＢＳＲＡＭの動作制御タイミングが示されている。
ＣＰＵ１１の動作状態の変化に同期してＰＢＳＲＡＭのＺＺ端子に入力されるパワーダウン信号（ＺＺ信号）を制御し、これによってＣＰＵスリープの期間にあわせてＰＢＳＲＡＭをスリープさせる点は図２と同じであるが、ここでは、チップセレクト信号を用いたキャッシュディスエーブル／イネーブル制御は行われず、その代わりに、Ｌ２キャッシュ１４の内容を無効化するキャッシュインバリデードサイクルがＰＢＳＲＡＭをスリープさせる前に実行されている。
【００４９】
したがって、ＰＢＳＲＡＭがスリープモードから抜けたときには既にキャッシュインバリデードの状態となっている。このため、ＣＰＵ１１がスリープモードを抜けた後に最初に行われるキャッシュアクセスは、常にキャッシュミスとなる。キャッシュミスの場合は、ＰＢＳＲＡＭからのデータ読み出しや書き込みは一切実行されず、メインメモリ１３をアクセスのためのメモリサイクルが実行される。このメモリサイクルには比較的時間がかかり、またメモりサイクルが終了するまでキャッシュアクセスは発生しない。したがって、その間にＰＢＳＲＡＭは正常動作可能な状態に復帰することができ、次回のキャッシュアクセスからはＰＢＳＲＡＭからのデータ読み出しや書き込みを正常に行うことができる。よって、たとえＰＢＳＲＡＭがスリープモードを抜けた直後にキャッシュアクセスが行われたとしても、そのキャッシュアクセスによる誤動作を防止することが可能となる。
【００５０】
次に、図５のフローチャートを参照して、図４のタイミング制御を実現するためのパワーセーブルーチンの処理手順を説明する。
システムアイドル状態の発生が検出されると、ＣＰＵ１１にＳＭＩが発行され、これによってＣＰＵ１１はＳＭＭに入り、そこでパワーセーブルーチンを実行する。このパワーセーブルーチンは、まず、図１のＬ２キャッシュ制御レジスタＲ１にキャッシュインバリデード指示情報を書き込むことによってＬ２キャッシュ１４を無効化するためのインバリデードサイクルをキャッシュコントローラ１２１に実行させる（ステップＳ１１１）。このインバリデードサイクルによって、タグＲＡＭには無効コードが書き込まれる。
【００５１】
次いで、パワーセーブルーチンは、図１のＰＢＳＲＡＭ制御レジスタＲ２のパワーダウン制御情報を書き換えることによってＰＢＳＲＡＭのパワーダウン制御信号（ＺＺ信号）をアクティブにし、これによってＰＢＳＲＡＭをスリープモードに移行させる（ステップＳ１１２）。この後、パワーセーブルーチンは、ＣＰＵ１１にＨＡＬＴ命令を実行させる（ステップＳ１１３）。これにより、ＣＰＵ１１はスリープモードとなる。
【００５２】
この後、ＣＰＵ１１に外部割り込みが入力されると、ＣＰＵ１１はスリープモードを抜け、パワーセーブルーチンのＨＡＬＴ命令の次の命令からその実行を再開する。
【００５３】
この場合、パワーセーブルーチンは、まず、ＰＢＳＲＡＭ制御レジスタＲ２のパワーダウン制御情報を再び書き換えることによってＰＢＳＲＡＭのパワーダウン制御信号（ＺＺ信号）をインアクティブにし、これによってＰＢＳＲＡＭをスリープモードからノーマルモードに切り替える（ステップＳ１１４）。この後、パワーセーブルーチンは、復帰命令（ＲＳＭ）を実行して、ＳＭＩ発生によって割り込み処理されたプログラムに制御を戻す（ステップＳ１１５）。
【００５４】
このパワーセーブルーチンの処理手順は、ＩＮＴ１６Ｈのキーボード制御ルーチンに組み込んでも良い。この場合にも、同様にして、図４のタイミング制御を実現することができる。
【００５５】
次に、図６、図７、および図８を参照して、ＣＰＵ１１のパワーセーブとＬ２キャッシュ１４のパワーセーブとを連動させて行うための第３のパワーセーブ制御方法について説明する。
【００５６】
図６には、この第３のパワーセーブ制御方法で使用されるキャッシュアクセスコマンドブロック回路が示されている。このキャッシュアクセスコマンドブロック回路２００は、ＰＢＳＲＡＭがスリープモードを抜けた直後のキャッシュアクセスに起因する誤動作を防止するための機構としてホスト／ＰＣＩブリッジ１２に設けられたものであり、パワーダウン信号（ＺＺ信号）がインアクティブに変化されてから一定期間の間、ＣＰＵ１１からキャッシュコントローラ１２１へのメモリアクセスコマンドの入力をブロックする。メモリアクセスコマンドのブロックは、ＣＰＵ１１からキャッシュコントローラ１２１に対して送られるアドレスストローブ信号ＡＤＳ￣をブロックすることによって行われる。
【００５７】
ブロック回路２００は、図示のように、キャッシュコントローラ１２１の前段に設けられており、ＡＤＳラッチ回路２０１、タイマ２０２、およびゲート回路２０３から構成されている。ＡＤＳラッチ回路２０１は例えばシフトレジスタなどを利用して構成されており、ＣＰＵ１１からのアドレスストローブ信号ＡＤＳ￣をラッチし、そのラッチ出力をゲート回路２０３に送る。タイマ２０２は、パワーダウン信号（ＺＺ信号）がアクティブ状態からインアクティブ状態に変化された時点から一定期間（１００ｎＳ）、ＡＤＳブロック信号を発生する。ＡＤＳブロック信号が発生されている期間においては、ＡＤＳラッチ回路２０１のラッチ出力、つまりラッチされたアドレスストローブ信号ＡＤＳ￣がキャッシュコントローラ１２１に入力されることがゲート回路２０３によって禁止される。また、ラッチされたアドレスストローブ信号ＡＤＳ￣は、ＡＤＳブロック信号が停止された後、キャッシュメモリコントローラ１２１に送られる。これにより、パワーダウン信号（ＺＺ信号）がアクティブ状態からインアクティブ状態に変化された時点から一定期間の間は、キャッシュメモリコントローラ１２１はプロセッサバス１上のメモリサイクルに対して応答せず、ＡＤＳブロック信号停止後に、そのサイクルに応答したキャッシュ制御動作を開始する。
【００５８】
図７には、ＣＰＵ１１の動作状態の変化に対するＰＢＳＲＡＭの動作制御タイミングが示されている。
ＣＰＵ１１の動作状態の変化に同期してＰＢＳＲＡＭのＺＺ端子に入力されるパワーダウン信号（ＺＺ信号）を制御し、これによってＣＰＵスリープの期間にあわせてＰＢＳＲＡＭをスリープさせる点は図２、図４と同じであるが、ここでは、チップセレクト信号を用いたキャッシュディスエーブル／イネーブル制御やキャッシュインバリデードサイクルは実行されず、図６のブロック回路２００によって、ＰＢＳＲＡＭがスリープモードを抜けた直後のキャッシュアクセスに起因する誤動作が防止される。
【００５９】
次に、図８のフローチャートを参照して、図７のタイミング制御を実現するためのパワーセーブルーチンの処理手順を説明する。
システムアイドル状態の発生が検出されると、ＣＰＵ１１にＳＭＩが発行され、これによってＣＰＵ１１はＳＭＭに入り、そこでパワーセーブルーチンを実行する。このパワーセーブルーチンは、まず、図１のＰＢＳＲＡＭ制御レジスタＲ２のパワーダウン制御情報を書き換えることによってＰＢＳＲＡＭのパワーダウン制御信号（ＺＺ信号）をアクティブにし、これによってＰＢＳＲＡＭをスリープモードに移行させる（ステップＳ１２１）。この後、パワーセーブルーチンは、ＣＰＵ１１にＨＡＬＴ命令を実行させる（ステップＳ１２２）。これにより、ＣＰＵ１１はスリープモードとなる。
【００６０】
この後、ＣＰＵ１１に外部割り込みが入力されると、ＣＰＵ１１はスリープモードを抜け、パワーセーブルーチンのＨＡＬＴ命令の次の命令からその実行を再開する。
【００６１】
この場合、パワーセーブルーチンは、まず、ＰＢＳＲＡＭ制御レジスタＲ２のパワーダウン制御情報を再び書き換えることによってＰＢＳＲＡＭのパワーダウン制御信号（ＺＺ信号）をインアクティブにし、これによってＰＢＳＲＡＭをスリープモードからノーマルモードに切り替える（ステップＳ１２３）。この時のパワーダウン制御信号（ＺＺ信号）の変化に応答して、ブロック回路２００によるキャッシュアクセスコマンドのブロック動作が開始される。
【００６２】
この後、パワーセーブルーチンは、復帰命令（ＲＳＭ）を実行して、ＳＭＩ発生によって割り込み処理されたプログラムに制御を戻す（ステップＳ１１５）。
このパワーセーブルーチンの処理手順は、ＩＮＴ１６Ｈのキーボード制御ルーチンに組み込んでも良い。この場合にも、同様にして、図７のタイミング制御を実現することができる。
【００６３】
次に、この発明の第２実施形態を説明する。
図９には、この発明の第２実施形態に係るコンピュータシステムの構成が示されている。
【００６４】
このコンピュータシステムにおいては、ＣＰＵ１１の動作停止をストップクロック信号ＳＴＰＣＬＫを用いて制御している。ストップクロック信号ＳＴＰＣＬＫがアクティブになると、ＣＰＵ１１は通常動作モードから命令実行を停止する低消費電力モードに移行し、またストップクロック信号ＳＴＰＣＬＫがインアクティブになるとＣＰＵ１１は通常動作モードに復帰する。
【００６５】
すなわち、ＣＰＵ１１は、図１０に示されているように、電力消費の異なる３つの動作ステート、つまり、ノーマルステート（Ｎｏｒｍａｌ  Ｓｔａｔｅ）、ストップグラントステート（Ｓｔｏｐ  Ｇｒａｎｔ  Ｓｔａｔｅ）、およびストップクロックステート（ＳＴＯＰ  Ｃｌｏｃｋ  Ｓｔａｔｅ）を有している。ノーマルステートはＣＰＵ１１の通常の動作ステートであり、命令はこのノーマルステートにおいて実行される。このノーマルステートは電力消費の最も多いステートであり、その消費電流は〜７００ｍＡ程度である。最も電力消費の少ないのはストップクロックステートであり、その消費電流は〜３０μＡ程度である。このストップクロックステートにおいては、命令の実行が停止されるだけでなく、ＣＰＵ１１の外部クロックＣＬＫおよびそのＣＰＵ１１内部で生成される内部クロックＣＬＫ２も停止されている。
【００６６】
ストップグラントステートは、ノーマルステートとストップクロックステートの中間の動作ステートであり、その消費電流は２０〜５５ｍＡ程度と比較的少ない。ストップグラントステートにおいては、命令は実行されない。また、外部クロックＣＬＫおよび内部クロックＣＬＫ２は共にランニング状態であるが、ＣＰＵコア部への内部クロックＣＬＫ２の供給は禁止される。このストップグラントステートは外部クロックＣＬＫの停止可能なステートであり、このストップグラントステートにおいて外部クロックＣＬＫを停止すると、ＣＰＵ１１はストップグラントステートからストップクロックステートに移行する。
【００６７】
ノーマルステートとストップグラントステート間の遷移は、ストップクロック信号ＳＴＰＣＬＫによって高速に行うことができる。
すなわち、ノーマルステートにおいてＣＰＵ１１に供給されるＳＴＰＣＬＫ信号がアクティブに設定されると、ＣＰＵ１１は、現在実行中の命令が完了後、次の命令を実行すること無く、内部のパイプラインをすべて空にしてから、ストップグラントサイクルを実行して、ノーマルステートからストップグラントステートに移行する。一方、ストップグラントステートにおいてＳＴＰＣＬＫ信号がインアクイブステートに設定されると、ＣＰＵ１１は、ストップグラントステートからノーマルステートに移行し、次の命令の実行を再開する。
【００６８】
以上のように、ストップグラントステートは、ノーマルステートに比べ非常にローパワーであり、且つＳＴＰＣＬＫ信号によってノーマルステート、つまり命令実行状態に高速に復帰できるという特徴を持っている。このため、図９のシステムでは、ＣＰＵスリープ機能の実現のために、ストップクロック信号ＳＴＰＣＬＫを用いたストップグラントステートを利用している。
【００６９】
さらに、図９のシステムにおいては、Ｌ２キャッシュ１４として使用されているＰＢＳＲＡＭのＺＺ端子が、ＣＰＵ１１のストップクロック入力端子と電気的に結合されており、ストップクロック信号ＳＴＰＣＬＫがＰＢＳＲＡＭのＺＺ端子にそのパワーダウン信号として入力される。これにより、ＣＰＵ１１とＰＢＳＲＡＭとを確実に同期させた状態でそれらのスリープ制御を行うことが可能となる。
【００７０】
図１１には、ホスト／ＰＣＩブリッジ１２に設けられたＳＴＰＣＬＫ信号の発生制御のためのハードウェア構成が示されている。
ＳＴＰＣＬＫ信号の発生制御は、ＳＴＰＣＬＫ発生回路３０１、ＳＴＰＣＬＫ制御レジスタ３０２、およびＯＲ回路３０３によって行われる。ＳＴＰＣＬＫ制御レジスタ３０２にＣＰＵ１１によってＳＴＰＣＬＫ信号発生情報が設定されると、ＳＴＰＣＬＫ発生回路３０１によってＳＴＰＣＬＫ信号がアクティブ状態にされる。そして、この後、何れかの外部割り込み（ＩＮＴＲ，ＮＭＩ，ＳＭＩ）が発生されると、それがストップブレーク信号としてＯＲ回路３０３からＳＴＰＣＬＫ発生回路３０１に送られ、これによってＳＴＰＣＬＫ信号がインアクティブ状態にされる。
【００７１】
次に、図９のシステムにおいてＣＰＵ１１のパワーセーブとＬ２キャッシュ１４のパワーセーブとを連動させて行うための第１のパワーセーブ制御方法について説明する。
【００７２】
ＣＰＵ１１の動作状態の変化に対するＰＢＳＲＡＭの動作制御タイミングは図２と同じであり、誤動作防止のための機構としては、チップセレクト信号を用いたキャッシュイネーブル／ディスエーブル制御が行われる。
【００７３】
このタイミング制御を実現するためのパワーセーブルーチンの処理手順を図１２に示す。
システムアイドル状態の発生が検出されると、ＣＰＵ１１にＳＭＩが発行され、これによってＣＰＵ１１はＳＭＭに入り、そこでパワーセーブルーチンを実行する。このパワーセーブルーチンは、まず、図１のＰＢＳＲＡＭ制御レジスタＲ２のチップセレクト制御情報を書き換えることによってＰＢＳＲＡＭのチップセレクト信号ＣＳ￣をインアクティブにし、これによってＬ２キャッシュ１４をディスエーブル状態に設定する（ステップＳ１３１）。次いで、パワーセーブルーチンは、図１１のＳＴＰＣＬＫ制御レジスタ３０２にＳＴＰＣＬＫ信号発生情報を設定することにより、ＳＴＰＣＬＫ信号を発生させる（ステップＳ１３２）。この時、ＰＢＳＲＡＭのパワーダウン制御信号（ＺＺ信号）も同時にアクティブに設定され、これによってＣＰＵ１１とＰＢＳＲＡＭがスリープモードに移行させる。
【００７４】
この後、ＣＰＵ１１に外部割り込みが入力されると、ＳＴＰＣＬＫ信号がインアクティブとなるため、ＣＰＵ１１はスリープモードを抜け、パワーセーブルーチンの次の命令からその実行を再開する。この時、ＰＢＳＲＡＭのパワーダウン制御信号（ＺＺ信号）も同時にインアクティブに設定され、これによってＣＰＵ１１とＰＢＳＲＡＭがスリープモードから抜ける。
【００７５】
パワーセーブルーチンは、まず、例えばＮＯＰ命令を繰り返し実行することなどにより１００ｎＳ程度の期間ウエイトし（ステップＳ１３３）、その後、ＰＢＳＲＡＭ制御レジスタＲ２のチップセレクト制御情報を再び書き換えることによってＰＢＳＲＡＭのチップセレクト信号ＣＳ￣をアクティブにし、これによってＬ２キャッシュ１４をイネーブル状態に戻す（ステップＳ１３４）。そして、復帰命令（ＲＳＭ）を実行して、ＳＭＩ発生によって割り込み処理されたプログラムに制御を戻す。
【００７６】
このパワーセーブルーチンの処理手順は、ＩＮＴ１６Ｈのキーボード制御ルーチンに組み込んでも良い。
次に、図９のシステムにおいてＣＰＵ１１のパワーセーブとＬ２キャッシュ１４のパワーセーブとを連動させて行うための第２のパワーセーブ制御方法について説明する。
【００７７】
ＣＰＵ１１の動作状態の変化に対するＰＢＳＲＡＭの動作制御タイミングは図４と同じであり、誤動作防止のための機構としては、キャッシュインバリデード制御が用いられる。
【００７８】
このタイミング制御を実現するためのパワーセーブルーチンの処理手順を図１３に示す。
システムアイドル状態の発生が検出されると、ＣＰＵ１１にＳＭＩが発行され、これによってＣＰＵ１１はＳＭＭに入り、そこでパワーセーブルーチンを実行する。このパワーセーブルーチンは、まず、図１のＬ２キャッシュ制御レジスタＲ１にキャッシュインバリデード指示情報を書き込むことによってＬ２キャッシュ１４を無効化するためのインバリデードサイクルをキャッシュコントローラ１２１に実行させる（ステップＳ１４１）。このインバリデードサイクルによって、タグＲＡＭには無効コードが書き込まれる。
【００７９】
次いで、パワーセーブルーチンは、図１１のＳＴＰＣＬＫ制御レジスタ３０２にＳＴＰＣＬＫ信号発生情報を設定することにより、ＳＴＰＣＬＫ信号を発生させる（ステップＳ１４２）。この時、ＰＢＳＲＡＭのパワーダウン制御信号（ＺＺ信号）も同時にアクティブに設定され、これによってＣＰＵ１１とＰＢＳＲＡＭがスリープモードに移行させる。
【００８０】
この後、ＣＰＵ１１に外部割り込みが入力されると、ＳＴＰＣＬＫ信号がインアクティブとなるため、ＣＰＵ１１はスリープモードを抜け、パワーセーブルーチンの次の命令からその実行を再開する。この時、ＰＢＳＲＡＭのパワーダウン制御信号（ＺＺ信号）も同時にインアクティブに設定され、これによってＣＰＵ１１とＰＢＳＲＡＭがスリープモードから抜ける。
【００８１】
パワーセーブルーチンは、復帰命令（ＲＳＭ）を実行して、ＳＭＩ発生によって割り込み処理されたプログラムに制御を戻す（ステップＳ１４３）。
このパワーセーブルーチンの処理手順は、ＩＮＴ１６Ｈのキーボード制御ルーチンに組み込んでも良い。
【００８２】
次に、図１４のシステムにおいてＣＰＵ１１のパワーセーブとＬ２キャッシュ１４のパワーセーブとを連動させて行うための第３のパワーセーブ制御方法について説明する。
【００８３】
ＣＰＵ１１の動作状態の変化に対するＰＢＳＲＡＭの動作制御タイミングは図７と同じであり、誤動作防止のための機構としては、図１４のキャッシュアクセスコマンドブロック回路２００’が使用される。図１４のキャッシュアクセスコマンドブロック回路２００’は図６のキャッシュアクセスコマンドブロック回路２００と比べ、タイマ２０２に入力される信号がパワーダウン信号ではなく、ＳＴＰＣＬＫ信号である点だけが異なり、他の点は全て同じである。すなわち、タイマ２０２は、ＳＴＰＣＬＫ信号がアクティブ状態からインアクティブ状態に変化された時点から一定期間（１００ｎＳ）、ＡＤＳブロック信号を発生する。ＡＤＳブロック信号が発生されている期間においては、ＡＤＳラッチ回路２０１のラッチ出力、つまりラッチされたアドレスストローブ信号ＡＤＳ￣がキャッシュコントローラ１２１に入力されることがゲート回路２０３によって禁止される。また、ラッチされたアドレスストローブ信号ＡＤＳ￣は、ＡＤＳブロック信号が停止された後、キャッシュメモリコントローラ１２１に送られる。これにより、ＳＴＰＣＬＫ信号がアクティブ状態からインアクティブ状態に変化された時点から一定期間の間は、キャッシュメモリコントローラ１２１はＣＰＵ１１のメモリサイクルに対して応答せず、ＡＤＳブロック信号停止後に、そのサイクルに応答したキャッシュ制御動作を開始する。
【００８４】
この第３の制御方法に対応するパワーセーブルーチンの処理手順を図１６に示す。
システムアイドル状態の発生が検出されると、ＣＰＵ１１にＳＭＩが発行され、これによってＣＰＵ１１はＳＭＭに入り、そこでパワーセーブルーチンを実行する。このパワーセーブルーチンは、まず、図１１のＳＴＰＣＬＫ制御レジスタ３０２にＳＴＰＣＬＫ信号発生情報を設定することにより、ＳＴＰＣＬＫ信号を発生させる（ステップＳ１５１）。この時、ＰＢＳＲＡＭのパワーダウン制御信号（ＺＺ信号）も同時にアクティブに設定され、これによってＣＰＵ１１とＰＢＳＲＡＭがスリープモードに移行させる。
【００８５】
この後、ＣＰＵ１１に外部割り込みが入力されると、ＳＴＰＣＬＫ信号がインアクティブとなるため、ＣＰＵ１１はスリープモードを抜け、パワーセーブルーチンの次の命令からその実行を再開する。この時、ＰＢＳＲＡＭのパワーダウン制御信号（ＺＺ信号）も同時にインアクティブに設定され、これによってＣＰＵ１１とＰＢＳＲＡＭがスリープモードから抜ける。さらに、ＳＴＰＣＬＫ信号の変化に応答して、ブロック回路２００’によるキャッシュアクセスコマンドのブロック動作が開始される。
【００８６】
この後、パワーセーブルーチンは、復帰命令（ＲＳＭ）を実行して、ＳＭＩ発生によって割り込み処理されたプログラムに制御を戻す（ステップＳ１５２）。このパワーセーブルーチンの処理手順は、ＩＮＴ１６Ｈのキーボード制御ルーチンに組み込んでも良い。
【００８７】
【発明の効果】
以上説明したように、この発明によれば、ＺＺピンを持つＰＢＳＲＡＭが有する低消費電力モードを有効活用することによって２次キャッシュを含むシステムの新たなパワーセーブ機能を実現できるようになり、またそのパワーセーブ機能にある一定期間は２次キャッシュを使用できなくするための仕組みを組み込んでいるので、高性能、低消費電力、且つ動作信頼性の高いコンピュータシステムを実現することができる。
【図面の簡単な説明】
【図１】この発明の第１実施形態に係るコンピュータシステムの構成を示すブロック図。
【図２】同第１実施形態のシステムに第１のパワーセーブ制御方法を適用した場合におけるＣＰＵの動作状態の変化とＰＢＳＲＡＭの動作制御タイミングとの関係を示すタイミングチャート。
【図３】図２のタイミング制御を実現するためのＢＩＯＳパワーセーブルーチンの処理手順を示すフローチャート。
【図４】同第１実施形態のシステムに第２のパワーセーブ制御方法を適用した場合におけるＣＰＵの動作状態の変化とＰＢＳＲＡＭの動作制御タイミングとの関係を示すタイミングチャート。
【図５】図４のタイミング制御を実現するためのＢＩＯＳパワーセーブルーチンの処理手順を示すフローチャート。
【図６】同第１実施形態のシステムに第３のパワーセーブ制御方法を適用する場合に用いられるキャッシュアクセスコマンドブロック回路の構成を示すブロック図。
【図７】同第１実施形態のシステムに第３のパワーセーブ制御方法を適用した場合におけるＣＰＵの動作状態の変化とＰＢＳＲＡＭの動作制御タイミングとの関係を示すタイミングチャート。
【図８】図７のタイミング制御を実現するためのＢＩＯＳパワーセーブルーチンの処理手順を示すフローチャート。
【図９】この発明の第２実施形態に係るコンピュータシステムの構成を示すブロック図。
【図１０】同第２実施形態のシステムにおいてＣＰＵパワーセーブのために使用されるストップクロック信号を説明するための図。
【図１１】同第２実施形態のシステムに設けられたストップクロック信号発生制御回路の構成を示すブロック図。
【図１２】同第２実施形態のシステムに適用される第１のパワーセーブ制御方法を実現するためのＢＩＯＳパワーセーブルーチンの処理手順を示すフローチャート。
【図１３】同第２実施形態のシステムに適用される第２のパワーセーブ制御方法を実現するためのＢＩＯＳパワーセーブルーチンの処理手順を示すフローチャート。
【図１４】同第２実施形態のシステムに第３のパワーセーブ制御方法を適用する場合に用いられるキャッシュアクセスコマンドブロック回路の構成を示すブロック図。
【図１５】同第２実施形態のシステムに適用される第２のパワーセーブ制御方法を実現するためのＢＩＯＳパワーセーブルーチンの処理手順を示すフローチャート。
【符号の説明】
１…ＣＰＵローカルバス（プロセッサバス）、２…ＰＣＩバス、３…ＩＳＡバス、１２…ホスト／ＰＣＩブリッジ装置、１３…メインメモリ、１４…２次キャッシュ（Ｌ２キャッシュ）、１８…ＢＩＯＳ  ＲＯＭ、Ｒ１…Ｌ２キャッシュ制御レジスタ、Ｒ２…ＰＢＳＲＡＭ制御レジスタ。
【図１】
0003798476.tif 000002
【図２】
0003798476.tif 000003
【図３】
0003798476.tif 000004
【図４】
0003798476.tif 000005
【図５】
0003798476.tif 000006
【図６】
0003798476.tif 000007
【図７】
0003798476.tif 000008
【図８】
0003798476.tif 000009
【図９】
0003798476.tif 000010
【図１０】
0003798476.tif 000011
【図１１】
0003798476.tif 000012
【図１２】
0003798476.tif 000013
【図１３】
0003798476.tif 000014
【図１４】
0003798476.tif 000015
【図１５】
0003798476.tif 000016