(57)【特許請求の範囲】
【請求項１】
コンピュータ・システムを含む装置であって、
ＢＩＯＳ回路を含み、パワー管理動作モードに対応するそれぞれアサーション状態とデアサーション状態との第１の組み合わせを少なくとも有する、少なくとも１つのパワー制御信号を含む１つ又はそれ以上のプロセッサ制御信号を供給するシステム制御回路と、
複数のデータとデータ処理用の複数のデータ命令とを記憶し供給するメモリー回路と、  前記少なくとも１つのパワー制御信号の第１及び第２の状態に応答して、複数の表示データに対応する作動可能とされた視覚表示と、作動不能とされた視覚表示とをそれぞれ供給する表示装置と、
前記表示装置に結合され、１つ又はそれ以上のユーザコマンドと前記複数の表示データとを送るインタフェース回路と、
前記システム制御回路、前記メモリー回路、及び前記インタフェース回路に少なくとも部分的に結合され、前記１つ又はそれ以上のプロセッサ制御信号、前記複数のデータ、前記複数のデータ命令、及び前記１つ又はそれ以上のユーザコマンドを受け取り、前記複数の表示データを供給する統合プロセッサ回路と、
を備え、
前記統合プロセッサ回路は、
前記１つ又はそれ以上のプロセッサ制御信号のそれぞれアサーション状態とデアサーション状態との前記第１の組み合わせの後に少なくとも１つのクロック制御信号の前記それぞれのアサーション状態を有し、前記１つ又はそれ以上のプロセッサ制御信号のアサーション状態及びデアサーション状態に関連付けられたそれぞれアサーション状態及びデアサーション状態を有する前記少なくとも１つのクロック制御信号を供給することによって、前記１つ又はそれ以上のプロセッサ制御信号及び第１のクロック信号に少なくとも部分的に応答するプロセッサ制御回路と、
前記プロセッサ制御信号に結合され、前記少なくとも１つのクロック制御信号のアサーション及びデアサーション状態とは実質的に無関係にアクティブ及びイナクティブ状態を有する前記第１のクロック信号と、前記少なくとも１つのクロック制御信号のデアサーション状態及びアサーション状態にそれぞれ対応するアクティブ及びイナクティブ状態を有する第２のクロック信号とを供給することによって、前記少なくとも１つのクロック制御信号に少なくとも部分的に応答するクロック回路と、
パイプラインサブ回路を含み、前記プロセッサ制御回路及び前記クロック回路に少なくとも部分的に結合され、前記複数のデータ命令に対して選択的に動作することによって少なくとも前記第２のクロック信号に応答する複数のサブ回路と、
を含み、
前記複数のサブ回路の第１の部分が、複数の処理制御信号を供給することにより、且つこれに従って、対応する複数のデコードされた命令を供給するために前記複数のデータ命令に対して複数のフェッチ動作及び複数のデコード動作を実行することにより、少なくとも前記アクティブな第２のクロック信号に応答し、
前記パイプラインサブ回路の第１の部分を少なくとも含む前記複数のサブ回路の第２の部分が、前記複数のサブ回路の前記第１の部分に結合され、対応する複数の実行可能命令を供給することによって前記アクティブな第２のクロック信号と少なくとも前記複数の処理制御信号と前記複数のデコードされた命令とに応答し、
前記パイプラインサブ回路の第２の部分を少なくとも含む前記複数のサブ回路の第３の部分が、前記複数のサブ回路の前記第２の部分に結合され、前記複数の実行可能命令のそれぞれの部分を実行することによって、少なくとも前記アクティブな第２のクロック信号に応答する、
ことを特徴とする装置。
【請求項２】
前記表示装置は、それぞれアサーション状態とデアサーション状態との前記第１の組み合わせを有する前記１つ又はそれ以上のプロセッサ制御信号を供給した後に、前記ディスエーブルの視覚表示を供給することを特徴とする請求項１に記載の装置。
【請求項３】
前記プロセッサ制御回路は、更に、前記少なくとも１つのクロック制御信号の前記それぞれのアサーション状態を示すステータス信号を供給することを特徴とする請求項１に記載の装置。
【請求項４】
前記プロセッサ制御回路は、前記１つ又はそれ以上のプロセッサ制御信号を前記少なくとも１つのクロック制御信号に変換するロジック回路を含むことを特徴とする請求項１に記載の装置。
【請求項５】
前記プロセッサ制御回路は、前記少なくとも１つのクロック制御信号を供給するために、前記１つ又はそれ以上のプロセッサ制御信号が記憶される少なくとも１つのレジスタを含むことを特徴とする請求項１に記載の装置。
【請求項６】
前記プロセッサ制御回路は、前記それぞれのデアサーション状態において前記少なくとも１つのクロック制御信号を供給することにより、前記１つ又はそれ以上のプロセッサ制御信号のそれぞれアサーション状態とデアサーション状態との第２の組み合わせに応答することを特徴とする請求項１に記載の装置。
【請求項７】
前記複数のサブ回路の第１の部分は、前記複数の処理制御信号を供給することにより、且つこれに従って、前記対応する複数のデコードされた命令を供給するために前記複数のデータ命令に対して前記複数のフェッチ動作及び前記複数のデコード動作を同時に実行することにより、少なくとも前記アクティブな第２のクロック信号に応答することを特徴とする請求項１に記載の装置。
【請求項８】
前記複数のサブ回路の第１の部分は、前記複数の処理制御信号を供給することにより、且つこれに従って、前記対応する複数のデコードされた命令を供給するために前記複数のデータ命令に対して同時期の複数のフェッチ動作及びデコード動作を実行することにより、少なくとも前記アクティブな第２のクロック信号に応答することを特徴とする請求項１に記載の装置。
【請求項９】
前記複数のサブ回路の第１の部分は、前記複数の処理制御信号を供給することにより、且つこれに従って、前記対応する複数のデコードされた命令を供給するために前記複数のデータ命令に対して同時に前記複数のフェッチ動作及び前記複数のデコード動作を実行することにより、少なくとも前記アクティブな第２のクロック信号に応答することを特徴とする請求項１に記載の装置。
【請求項１０】
前記複数のサブ回路の第１の部分は、前記複数の処理制御信号を供給することにより、且つこれに従って、前記対応する複数のデコードされた命令を供給するために前記複数のデータ命令のうち関連するものに対して前記複数のフェッチ動作及び前記複数のデコード動作を実行することにより、少なくとも前記アクティブな第２のクロック信号に応答することを特徴とする請求項１に記載の装置。
【請求項１１】
前記複数のサブ回路の第１の部分は、前記複数の処理制御信号を供給することにより、且つこれに従って、前記対応する複数のデコードされた命令を供給するために前記複数のデータ命令に対して複数の関連するフェッチ及びデコード動作を実行することにより、少なくとも前記アクティブな第２のクロック信号に応答することを特徴とする請求項１に記載の装置。
【請求項１２】
前記プロセッサ制御回路は、
前記１つ又はそれ以上のプロセッサ制御信号のそれぞれアサーション状態とデアサーション状態との前記第１の組み合わせと、
前記１つ又はそれ以上のプロセッサ制御信号のそれぞれアサーション状態とデアサーション状態との前記第１の組み合わせの前に開始される前記複数の実行可能命令のそれぞれの部分の前記実行の完了と、
の後で前記それぞれのアサーション状態における前記少なくとも１つのクロック制御信号を供給することを特徴とする請求項１に記載の装置。
【請求項１３】
前記複数のサブ回路の第１の部分は、前記複数の処理制御信号を供給することにより、且つこれに従って、前記対応する複数のデコードされた命令を供給するために前記複数のデータ命令に対して前記複数のフェッチ動作及び前記複数のデコード動作を同時に実行することにより、少なくとも前記アクティブな第２のクロック信号に応答することを特徴とする請求項１２に記載の装置。
【請求項１４】
前記複数のサブ回路の第１の部分は、前記複数の処理制御信号を供給することにより、且つこれに従って、前記対応する複数のデコードされた命令を供給するために前記複数のデータ命令に対して同時期の複数のフェッチ動作及びデコード動作を実行することにより、少なくとも前記アクティブな第２のクロック信号に応答することを特徴とする請求項１２に記載の装置。
【請求項１５】
前記複数のサブ回路の第１の部分は、前記複数の処理制御信号を供給することにより、且つこれに従って、前記対応する複数のデコードされた命令を供給するために前記複数のデータ命令に対して同時に前記複数のフェッチ動作及び前記複数のデコード動作を実行することにより、少なくとも前記アクティブな第２のクロック信号に応答することを特徴とする請求項１２に記載の装置。
【請求項１６】
前記複数のサブ回路の第１の部分は、前記複数の処理制御信号を供給することにより、且つこれに従って、前記対応する複数のデコードされた命令を供給するために前記複数のデータ命令の関連するものに対して前記複数のフェッチ動作及び前記複数のデコード動作を実行することにより、少なくとも前記アクティブな第２のクロック信号に応答することを特徴とする請求項１２に記載の装置。
【請求項１７】
前記システム制御回路は、
少なくとも前記統合プロセッサ回路が低パワー動作モードに入ることに関連する１つ又はそれ以上の条件の検出に応答した前記１つ又はそれ以上のプロセッサ制御信号のそれぞれアサーション状態とデアサーション状態との前記第１の組み合わせと、
少なくとも前記統合プロセッサ回路が前記低パワー動作モードから出ることに関連する別の１つ又はそれ以上の条件の検出に応答した前記１つ又はそれ以上のプロセッサ制御信号のそれぞれアサーション状態とデアサーション状態との第２の組み合わせと、
を備えて前記１つ又はそれ以上のプロセッサ制御信号を供給することを特徴とする請求項１に記載の装置。
【請求項１８】
前記システム制御回路は、更に、少なくとも前記統合プロセッサ回路を前記低パワー動作モードに入れることに関連する前記１つ又はそれ以上の条件を検出することを特徴とする請求項１７に記載の装置。
【請求項１９】
前記システム制御回路は、更に、少なくとも前記統合プロセッサ回路が前記低パワー動作モードに入ることを検出することを特徴とする請求項１８に記載の装置。
【請求項２０】
前記システム制御回路は、更に、少なくとも前記統合プロセッサ回路が前記低パワー動作モードから出ることに関連する前記別の１つ又はそれ以上の条件を検出することを特徴とする請求項１７に記載の装置。
【請求項２１】
前記システム制御回路は、更に、少なくとも前記統合プロセッサ回路が前記低パワー動作モードから出るのを検出することを特徴とする請求項２０に記載の装置。
【請求項２２】
前記システム制御回路は、
パワー消費低減手順の開始に関連する１つ又はそれ以上の条件の検出に応答した前記１つ又はそれ以上のプロセッサ制御信号のそれぞれアサーション状態とデアサーション状態との前記第１の組み合わせと、
前記パワー消費低減手順の終了に関連する別の１つ又はそれ以上の条件の検出に応答した前記１つ又はそれ以上のプロセッサ制御信号のそれぞれアサーション状態とデアサーション状態との第２の組み合わせと、
を備えて前記１つ又はそれ以上のプロセッサ制御信号を供給することを特徴とする請求項１に記載の装置。
【請求項２３】
前記システム制御回路は、更に、少なくとも前記統合プロセッサ回路が前記パワー消費低減手順を開始させたことに関連する前記１つ又はそれ以上の条件を検出することを特徴とする請求項２２に記載の装置。
【請求項２４】
前記システム制御回路は、更に、前記統合プロセッサ回路によって前記パワー消費低減手順の開始を検出することを特徴とする請求項２３に記載の装置。
【請求項２５】
前記システム制御回路は、更に、前記統合プロセッサ回路が前記パワー消費低減手順を終了させたことに関連する前記別の１つ又はそれ以上の条件を検出することを特徴とする請求項２２に記載の装置。
【請求項２６】
前記システム制御回路は、更に、少なくとも前記統合プロセッサ回路によって前記パワー消費低減手順の終了を検出することを特徴とする請求項２５に記載の装置。
【請求項２７】
コンピュータ・システムを含む装置であって、
ＢＩＯＳ回路を含み、パワー管理動作モードに対応するそれぞれアサーション状態とデアサーション状態との第１の組み合わせを有する、少なくとも１つのパワー制御信号を含む１つ又はそれ以上のプロセッサ制御信号を供給するシステム制御手段と、
複数のデータとデータ処理用の複数のデータ命令とを記憶し供給するメモリー手段と、  複数の表示データに対応するイネーブルの視覚表示とディスエーブルの視覚表示とをそれぞれ供給することによって前記少なくとも１つのパワー制御信号の第１及び第２の状態に応答する表示手段と、
１つ又はそれ以上のユーザコマンド及び前記複数の表示データを送るインタフェース手段と、
前記１つ又はそれ以上のプロセッサ制御信号、前記複数のデータ、前記複数のデータ命令、及び前記１つ又はそれ以上のユーザコマンドを受け取り、前記複数の表示データを供給する統合プロセッサ手段と、
を備え、
前記統合プロセッサ手段は、
前記１つ又はそれ以上のプロセッサ制御信号のそれぞれアサーション状態とデアサーション状態との前記第１の組み合わせの後に少なくとも１つのクロック制御信号の前記それぞれのアサーション状態を有し、前記１つ又はそれ以上のプロセッサ制御信号のアサーション状態及びデアサーション状態に関連付けられたそれぞれアサーション状態及びデアサーション状態を有する前記少なくとも１つのクロック制御信号を供給することによって、前記１つ又はそれ以上のプロセッサ制御信号及び第１のクロック信号に少なくとも部分的に応答するプロセッサ制御手段と、
前記少なくとも１つのクロック制御信号のアサーション及びデアサーション状態とは実質的に無関係にアクティブ及びイナクティブ状態を有する前記第１のクロック信号と、前記少なくとも１つのクロック制御信号のデアサーション状態及びアサーション状態にそれぞれ対応するアクティブ及びイナクティブ状態を有する第２のクロック信号とを供給することによって、前記少なくとも１つのクロック制御信号に少なくとも部分的に応答するクロック手段と、
パイプラインサブ回路を含み、前記複数のデータ命令に対して選択的に動作することによって少なくとも前記第２のクロック信号に応答する複数のサブ手段と、
を含み、
前記複数のサブ手段の第１の部分が、複数の処理制御信号を供給することにより、且つこれに従って、対応する複数のデコードされた命令を供給するために前記複数のデータ命令に対して複数のフェッチ動作及び複数のデコード動作を実行することにより、少なくとも前記アクティブな第２のクロック信号に応答し、
前記パイプラインサブ手段の少なくとも第１の部分を含む前記複数のサブ手段の第２の部分が、対応する複数の実行可能命令を供給することによって前記アクティブな第２のクロック信号と少なくとも前記複数の処理制御信号と前記複数のデコードされた命令とに応答し、
前記パイプラインサブ手段の少なくとも第２の部分を含む前記複数のサブ手段の第３の部分が、前記複数の実行可能命令のそれぞれの部分を実行することによって、少なくとも前記アクティブな第２のクロック信号に応答する、
ことを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、統合プロセッサ回路に関し、特にハードウェア制御のパワー管理機能を備えたコンピュータ・システムに関する。
【背景技術】
【０００２】
電子回路製造者は、その回路基板のパワー消費を少なくする必要にますます迫られている。パワーの保存は、電気コンセントを利用できない状態で用いるために特別に製品が設計されているラップトップ型やノートブック型のコンピュータなどの携帯用電子装置において特に重要である。ラップトップ型やノートブック型のコンピュータは、長い時間にわたって内部の電池又は充電可能な電池を使って作動しなければならないので、電池のパワーの保存は大切なこととなる。
【０００３】
ラップトップ又はノートブック型のコンピュータでは、パワーを最も多く使うのはディスプレイ（表示装置）である。表示装置が消費するパワーの割合は、使われている技術により変化する。よって、ラップトップ及びノートブック型のコンピュータの製造者は、作動していない間は表示装置へのパワーを切っていた。電源からの表示装置の切離しは、かなり簡単な回路により達成出来る。
【０００４】
ラップトップ型又はノートブック型のコンピュータにおいて、次に多くのパワーを消費するのはＣＰＵ母板マイクロプロセッサである。従来、コンピュータ製造者は、作動していないときのマイクロプロセッサのパワー消費を少なくするために一ないし二の技術を使っている。一つの技術は、システムクロックの速度を、不作動時に通常作動周波数の数分の一に減少させる。マイクロプロセッサのパワー消費は周波数に比例するので、システムクロックの周波数を減らせばマイクロプロセッサのパワー消費も少なくなる。インテル(Intel)８０３８６ＤＸマイクロプロセッサ（カリフォルニア州サンタクララ市のインテル社により製造される）においては、作動周波数を３３ＭＨz から４ＭＨz に低下させることにより、マイクロプロセッサの典型的作動電流が４００ミリアンペアから約１００ミリアンペアに減らされる。それにもかかわらず、１００ミリアンペアの作動電流はなお電池に大きなパワー漏れを強いている。
【０００５】
パワーを減少させる第二の技術は、不作動時にシステムクロックをオフにする。システムクロックをオフにすると、母板上の全ての回路に影響が及ぶ。その結果として、システムクロックを作動不能にする回路は、マイクロプロセッサ及び付随のボード論理中の全ての関連情報を保存すると共に、作動再開時には、システムクロックの再開後にコンピュータの状態がシステムクロック停止前のコンピュータの状態と同一となるように、そのデータを元に戻さなければならない。その結果として、パワーを消費するためのこの技術は、回路が複雑であるためにコストがかかると共に、コンピュータの状態を保存したり元に戻したりする必要があるために低速でもある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従って、複雑な外付け回路を必要とすることなくマイクロプロセッサのパワー漏れを著しく少なくする電子装置におけるパワーを保存するための方法及び装置を提供する必要が生じている。
【課題を解決するための手段】
【０００７】
本発明のコンピュータ・システムは、
ＢＩＯＳ回路を含み、パワー管理動作モードに対応するそれぞれアサーション状態とデアサーション状態との第１の組み合わせを有する、少なくとも１つのパワー制御信号を含む１つ又はそれ以上のプロセッサ制御信号を供給するシステム制御回路と、
【０００８】
複数のデータの少なくとも一部とデータ処理用の複数のデータ命令の少なくとも一部とを記憶し供給するメモリー回路と、
【０００９】
複数のデータの少なくとも他の一部と及び複数のデータ命令の少なくとも他の一部を送るインタフェース回路と、
【００１０】
前記システム制御回路、前記メモリー回路、及び前記インタフェース回路に少なくとも部分的に結合され、前記１つ又はそれ以上のプロセッサ制御信号、前記複数のデータ、前記複数のデータ命令、及び前記１つ又はそれ以上のユーザコマンドを受け取り、前記複数の表示データを供給する統合プロセッサ回路と、
を備え、
【００１１】
前記統合プロセッサ回路は、
前記第１のプロセッサ制御信号状態組み合わせの後に前記それぞれのアサーション状態を有し、前記１つ又はそれ以上のプロセッサ制御信号のアサーション状態及びデアサーション状態に関連付けられたそれぞれアサーション状態及びデアサーション状態を有する少なくとも１つのクロック制御信号を供給することによって、前記１つ又はそれ以上のプロセッサ制御信号及び第１のクロック信号に少なくとも部分的に応答するプロセッサ制御回路と、
【００１２】
前記プロセッサ制御信号に結合され、前記少なくとも１つのクロック制御信号のアサーション及びデアサーション状態とは実質的に無関係にアクティブ及びイナクティブ状態を有する前記第１のクロック信号と、前記少なくとも１つのクロック制御信号のデアサーション状態及びアサーション状態にそれぞれ対応するアクティブ及びイナクティブ状態を有する第２のクロック信号とを供給することによって、前記少なくとも１つのクロック制御信号に少なくとも部分的に応答するクロック回路と、
【００１３】
前記クロック回路に接続され、複数のデータ及び複数のデータ命令の統合プロセッサ回路によって受信を制御することによって、前記第１および第２のクロック信号の少なくとも１つに、少なくとも部分的に応答するメモリー制御回路と、
【００１４】
パイプラインサブ回路を含み、前記プロセッサ制御回路及び前記クロック回路に少なくとも部分的に結合され、前記複数のデータ命令に対して選択的に動作することによって少なくとも前記第２のクロック信号に応答する複数のサブ回路と、
を含み、
【００１５】
前記複数のサブ回路の第１の部分が、複数の処理制御信号を供給することにより、且つこれと共に対応する複数のデコード命令を供給する前記複数のデータ命令に対して複数のフェッチ動作と複数のデコード動作の実行に従って少なくとも前記アクティブな第２のクロック信号に応答し、
【００１６】
前記パイプラインサブ回路の少なくとも第１の部分を含む前記複数のサブ回路の第２の部分が、前記複数のサブ回路の前記第１の部分に結合され、対応する複数の実行可能命令を供給することによって前記アクティブな第２のクロック信号と少なくとも前記複数の処理制御信号と前記複数のデコード命令とに応答し、
【００１７】
前記パイプラインサブ回路の少なくとも第２の部分を含む前記複数のサブ回路の第３の部分が、前記複数のサブ回路の前記第２の部分に結合され、前記複数の実行可能命令のそれぞれの部分を実行することによって、少なくとも前記アクティブな第２のクロック信号に応答することを特徴とするシステムである。
【００１８】
本発明の他のコンピュータ・システムは、
ＢＩＯＳ回路を含み、パワー管理動作モードに対応するそれぞれアサーション状態とデアサーション状態との第１の組み合わせを有する、少なくとも１つのパワー制御信号を含む１つ又はそれ以上のプロセッサ制御信号を供給するシステム制御手段と、
【００１９】
複数のデータとデータ処理用の複数のデータ命令とを記憶し供給するメモリー手段と、
複数の表示データに対応するイネーブルの視覚表示とディスエーブルの視覚表示とをそれぞれ供給することによって前記少なくとも１つのパワー制御信号の第１及び第２の状態に応答する表示手段と、
【００２０】
１つ又はそれ以上のユーザコマンド及び前記複数の表示データを送るインタフェース手段と、
【００２１】
前記１つ又はそれ以上のプロセッサ制御信号、前記複数のデータ、前記複数のデータ命令、及び前記１つ又はそれ以上のユーザコマンドを受け取り、前記複数の表示データを供給する統合プロセッサ手段と、
を備え、
【００２２】
前記統合プロセッサ手段は、
前記第１のプロセッサ制御信号状態組み合わせの後に前記それぞれのアサーション状態を有し、前記１つ又はそれ以上のプロセッサ制御信号のアサーション状態及びデアサーション状態に関連付けられたそれぞれアサーション状態及びデアサーション状態を有する少なくとも１つのクロック制御信号を供給することによって、前記１つ又はそれ以上のプロセッサ制御信号及び第１のクロック信号に少なくとも部分的に応答するプロセッサ制御手段と、
【００２３】
前記少なくとも１つのクロック制御信号のアサーション及びデアサーション状態とは実質的に無関係にアクティブ及びイナクティブ状態を有する前記第１のクロック信号と、前記少なくとも１つのクロック制御信号のデアサーション状態及びアサーション状態にそれぞれ対応するアクティブ及びイナクティブ状態を有する第２のクロック信号とを供給することによって、前記少なくとも１つのクロック制御信号に少なくとも部分的に応答するクロック手段と、
【００２４】
パイプラインサブ回路を含み、前記複数のデータ命令に対して選択的に動作することによって少なくとも前記第２のクロック信号に応答する複数のサブ手段と、
を含み、
【００２５】
前記複数のサブ手段の第１の部分が、複数の処理制御信号を供給することにより、且つこれと共に対応する複数のデコード命令を供給する前記複数のデータ命令に対して複数のフェッチ動作と複数のデコード動作の実行に従って少なくとも前記アクティブな第２のクロック信号に応答し、
【００２６】
前記パイプラインサブ手段の少なくとも第１の部分を含む前記複数のサブ手段の第２の部分が、対応する複数の実行可能命令を供給することによって前記アクティブな第２のクロック信号と少なくとも前記複数の処理制御信号と前記複数のデコード命令とに応答し、
【００２７】
前記パイプラインサブ手段の少なくとも第２の部分を含む前記複数のサブ手段の第３の部分が、前記複数の実行可能命令のそれぞれの部分を実行することによって、少なくとも前記アクティブな第２のクロック信号に応答することを特徴とするシステムである。
【発明の効果】
【００２８】
本発明のこの特徴は著しい利点を提供するものである。他の×８６両立型のマイクロプロセッサには見られないピンを必要とするマイクロプロセッサに強化した特徴を設けることが出来る。その強化特徴ピンは、×８６マイクロプロセッサ・アーキテクチャとの両立性を保証するために該３状態装置により選択的に作動不能（ディスエーブル）にされることが出来る。その強化特徴が支援される様な状態では、該ピンはソフトウェアを通して選択的に作動可能（イネーブル）にされ得る。
【発明を実施するための最良の形態】
【００２９】
本発明と、その利点とをより完全に理解してもらうために、添付図面を参照して説明をする。
【００３０】
本発明の好ましい実施例とその利点とは、図１〜６を参照することから最も良く理解することが出来る。いろいろな図の同様の部分及び対応する部分には同様の数字が用いられている。
【００３１】
図１はコンピュータ・システムのブロック図である。コンピュータ・システム１０は、メモリー・サブシステム１４に結合されたマイクロプロセッサＣＰＵチップ１２と、ＢＩＯＳ  ＲＯＭ１６と、論理回路チップ１８（一般に『チップセット』と呼ばれている）とから成る。マイクロプロセッサ１２はバス２０に接続されている。バス２０は、図１にキーボード・コントローラ２２、ビデオ・コントローラ２４、Ｉ／Ｏ回路２６及びディスク・コントローラ２８として示されている数個の周辺装置と通信するのに使われる。
【００３２】
キーボード・コントローラ２２はキーボード２９に接続されている。ディスク・コントローラ２８は、ハードディスク３０及びフレキシブルディスク３２に接続されている。ビデオ・コントローラ２４はディスプレイ３４に接続されている。オプションのコプロセッサ３５はマイクロプロセッサ１２及びＢＩＯＳ  ＲＯＭ１６に接続されている。
【００３３】
図１に示されているコンピュータ・システム１０は、例えばＩＢＭのパソコン及びこれと両立するパソコンなどのパーソナル・コンピュータに共通の汎用アーキテクチャである。ＢＩＯＳ１６（基本的入出力システム）は、典型的には、コンピュータ・システム１０のための基本的制御動作及び管理動作を実行するためのプログラムのセットを内蔵する読み出し専用メモリーである。ＢＩＯＳ１６は、コンピュータ回路、ＣＰＵ１２により実行されるアプリケーション・ソフトウェアとの間のインタフェースとして作用する。
【００３４】
重要なことに、パワー消費の目的で、ＢＩＯＳ１６及び論理回路１８は、パワー消費減少手順が実施され得るか否か判定するために、選択された回路を監視する。例えば、ＢＩＯＳ１６及び／又は論理１８は、表示装置３４を監視して、その出力が所定時間にわたって変化したか否かを判定することが出来る。若し否であれば、ＢＩＯＳ１６は、コンピュータ・システム１０が携帯可能なコンピュータであると仮定すると）エネルギーを保存するために表示装置３４への給電を不能にする手順を実施することが出来る。
【００３５】
更に、ＢＩＯＳ１６は、コンピュータ・システム１０の動作に影響を与えずにマイクロプロセッサ１２をアイドル状態に出来るか否か判定するためにマイクロプロセッサ１２を監視する。例えば、マイクロプロセッサ１２は、キーボードからの文字を待つルーチンを実行しているかもしれない。この場合、マイクロプロセッサの動作は、キーが押されるまで保留されることが出来る。
【００３６】
図２は、マイクロプロセッサ１２の好ましい実施例の種々のサブ回路の詳細ブロック図である。説明の目的のために、インテル社の８０×８６ファミリーの処理装置（特に８０３８６マイクロプロセッサ。しかし、本発明は他の処理装置にも使用されることが出来る）とピン両立し且つ命令両立するマイクロプロセッサとの関係でマイクロプロセッサ１２を説明することにする。
【００３７】
マイクロプロセッサ１２は、三つの主な機能グループ、即ち、コア回路３６、メモリー回路３８及びバス・コントローラ４０、から成っている。コア回路３６は、内部データ・バス４４に接続された命令キュー４２を包含する。命令キュー４２の出力は、デコード／シーケンス回路４７のデコーダ４６に接続されている。デコード／シーケンス回路４７は、シーケンサ５０と例外処理装置８６とをも包含する。デコーダ４６はマイクロコードＲＯＭ４８、例外処理装置８６及びシーケンサ５０に接続されている。シーケンサ５０は、マイクロコードＲＯＭ４８及び実行装置５２にも接続されている。
【００３８】
この実行装置は、リミット装置５４、乗算装置５６、加算装置５８、シフト装置６０、及びレジスター・ファイル６２を包含する。実行装置５２は、マイクロコードＲＯＭ４８と、マルチプレクサ及びＩ／Ｏレジスター回路６４とに接続されている。メモリー回路３８は、線型アドレス・バス６８に接続されたメモリー管理装置６６から成り、このバスは実行装置５２と命令／データ・キャッシュ・メモリー７０とにも接続されている。メモリー管理装置６６は更に内部データ・バス４４に接続されている。
【００３９】
メモリー管理装置６６とキャッシュ７０との間に先取り装置７２が接続されている。バス・コントローラ４０は、データ・バッファー７４、アドレス・バッファー７６及び制御回路７８を包含する。データ・バッファー７４は、データＩ／ＯピンＤ３１−Ｄ０に接続され、アドレス・バッファー７６はアドレス・ピンＡ３１−Ａ２及びＢＥ３＃−ＢＥ０＃に接続されている。データ・アドレス・バス８０は、メモリー管理装置６６、キャッシュ７０及びアドレス・バッファー７６を接続する。命令アドレス・バス８２は、先取り装置７２、キャッシュ７０及びアドレス・バッファー７６を接続する。データ・バッファー７４は内部データ・バス４４に接続されている。
【００４０】
クロック・モジュール８４は、外部クロック信号（ＣＬＫ２）を受け取り、ＣＬＫＡ（バス・コントローラ４０に接続される）とＣＬＫＢ（メモリー回路３８及びコア回路３６に接続される）とを発生させる。ＣＬＫＡ及びＣＬＫＢは、共にＣＬＫ２の周波数の半分の周波数のクロック信号である。クロック・モジュール８４はバス・コントローラ４０から制御信号を受け取る。
【００４１】
作動時に、メモリー管理装置６６の制御下でマイクロプロセッサ１２により外部メモリーから命令が受け取られる。性能を向上させるために、命令／データ・キャッシュ７０は、バス・コントローラ４０を通して受け取られる命令及びデータを記憶する。命令は、命令キュー４２に格納されて、後にデコーダ４６によってマイクロコードに変換される。シーケンサ５０は、デコーダ４６及び実行装置５２の制御下でマイクロコードＲＯＭ４８内の次のアドレスを指す。実行装置５２は、マイクロコードＲＯＭ４８の制御下で情報を処理する。
【００４２】
好ましい実施例では、マイクロプロセッサ１２は静的デザインを有する、即ち、内部メモリーとマイクロプロセッサ１２のレジスターとの中のデータの維持はクロック信号に依存しない。詳しく後述する様に、クロック・モジュール８４は、バス・コントローラ４０の制御下で、バス・コントローラ４０へクロック信号を発生させ続けながらコア回路３６のサブ回路及びメモリー回路３８へのクロックを作動不能にすることが出来る。よって、不作動時には、マイクロプロセッサの回路の大部分を一時停止させることが出来、これによりマイクロプロセッサ１２の消費するパワーを大幅に減らすことが出来る。
【００４３】
図３及び図４はパワー削減回路を詳しく示す。図３は、マイクロプロセッサのいろいろな部分の間の制御信号を示すブロック図である。バス・コントローラ４０は、マイクロプロセッサ１２の外部ピンからの信号を制御する。一時停止（ＳＵＳＰ）信号がバス・コントローラ４０に入力され、一時停止確認（ＳＵＳＰＡＣＫ）がバス・コントローラ４０から出力される。ビジー（ＢＵＳＹ）がバス・コントローラ４０によりコプロセッサ３５から受信される。バス・コントローラ４０は、マスカブル・インターラプト（ＩＮＴＲ）信号とノンマスカブル・インターラプト（ＮＭＩ）信号とをも受信する。
【００４４】
インターラプト（又は『例外』）信号Ｆ ＳＵＳＰを例外処理装置８６に出力し、制御信号Ｄ ＳＵＳＰＡＣＫを受け取る。例外処理装置８６は、マイクロコードＲＯＭ４８、バス・コントローラ４０及び実行装置５２を監視して、命令が実行されつつあるか否か判定する。例外処理装置８６は信号Ｄ ＥＸＣＥＰＴＩＯＮをシーケンサ５０に出力し、マイクロコードＲＯＭ４８から制御信号Ｕ ＡＨＡＬＴを受信する。バス・コントローラ４０は、制御信号Ｆ ＩＤＬＥをクロック・モジュール８４に出力する。
【００４５】
作動時には、外部回路（典型的には論理回路１８と関連してＢＩＯＳ１６）は、例えば、マイクロプロセッサがキーボードからの文字を待つルーチンを実行しているときなど、マイクロプロセッサの動作が一時停止され得る状態を検出する。その様な状態が検出されたとき、外部回路は（例えば、論理低電圧でＳＵＳＰピンを駆動することにより）ＳＵＳＰピンをアサートする。ＳＵＳＰ信号のアサーションに応じて、バス・コントローラ４０は、例外処理装置８６と関連して、Ｆ ＩＤＬＥ制御信号をクロック・モジュール８４へアサートする。Ｆ ＩＤＬＥ信号のアサーションに応じて、クロック・モジュール８４は、ＣＬＫＡクロック信号を発生させ続けながら、（作動不能にされたクロック信号を論理高電圧又は論理低電圧に保持することにより）ＣＬＫＢクロック信号を作動不能にする。
【００４６】
マイクロプロセッサのデザインは静的であるので、メモリーはリフレッシュ動作を必要とせず、従ってクロックを一時停止させてもマイクロプロセッサ１２内のデータは失われない。マイクロプロセッサ１２が一時停止状態であることを外部回路に知らせるためにＳＵＳＰＡＣＫ信号がアサートされる。マイクロプロセッサ１２の動作を再開させるために、例えば、キーボードからの信号がＢＩＯＳ１６及び論理回路１８によって検出されたときにＳＵＳＰ信号のアサーションは停止される（即ち、論理低電圧をＳＵＳＰピンに加えることにより）。
【００４７】
コア回路３６及びメモリー回路３８へのクロックを一時停止させることにより、マイクロプロセッサ１２により消費されるパワーを著しく減少させることが出来る。バス・コントローラ４０は、活動状態に留まって、マイクロプロセッサ１２及び外部回路の間のＩ／Ｏ信号を観察し制御する。
【００４８】
図４は、一時停止モードの動作の詳細を示すフローチャートである。判定ブロック８８において、ＳＵＳＰ信号がアサートされるのを待つループが形成される。ブロック９０において、ＳＵＳＰ信号がアサートされた後、バス・コントローラ４０はＦ ＳＵＳＰ信号をアサートするが、これは例外処理装置８６に中継される。ブロック９２において、Ｆ ＳＵＳＰ信号のアサーションに応じて、命令キュー４２は、新しい命令を進めることを禁止される。ブロック９４において、デコーダ４６は新しい命令をマイクロコードＲＯＭ４８へ進めるのを止め、そして、該パイプライン中の命令に関するバス・コントローラ４０による活動を含んで、マイクロコードＲＯＭ４８又は実行装置５２（ひとまとめにして、『パイプライン』）により現在処理されつつある命令が完了される。
【００４９】
該パイプライン中の全ての命令が実行された後、ブロック９６において例外処理装置８６により制御信号Ｄ ＥＸＣＥＰＴＩＯＮが出力される。Ｄ ＥＸＣＥＰＴＩＯＮはシーケンサ５０により受信され、これはＤ ＥＸＣＥＰＴＩＯＮに応じてパワー・ダウン・マイクロコード・ルーチン（ブロック９８）を開始する。
【００５０】
このパワー・ダウン・マイクロコード・ルーチンは、マイクロプロセッサを一時停止モードのために準備させる。ブロック１００において、マイクロコードＲＯＭ４８は例外処理装置８６に制御信号Ｕ ＡＨＡＬＴをアサートする。Ｕ ＡＨＡＬＴの受信に応じて、ブロック１０２において例外処理装置８６はＤ ＳＵＳＰＡＣＫをバス・コントローラ４０へアサートする。判定ブロック１０４において、バス・コントローラ４０は、例外処理装置からＤ ＳＵＳＰＡＣＫを受信した後、コプロセッサから受信されるビジー信号をチェックする。
【００５１】
コプロセッサからビジー信号がアサートされている間は、外部回路へのＳＵＳＰＡＣＫ信号はアサートされず、ＣＬＫＢは作動不能にされない。コプロセッサによってビジー信号のアサーションが停止されると、マイクロプロセッサ１２が一時停止状態にあること、並びに、コプロセッサが現在は何らの計算も行っておらず、そして一時停止され得ること、を外部回路に警報するためにＳＵＳＰＡＣＫ信号がバス・コントローラ４０によりアサートされる。
【００５２】
ブロック１０８において、Ｆ ＩＤＬＥがバス・コントローラ４０によってクロック・モジュール８４へアサートされる。Ｆ ＩＤＬＥ信号の出力に応じて、クロック・モジュール８４はブロック１０９においてＣＬＫＢを作動不能にし、これによりコア回路３６及びメモリー回路３８の動作を一時停止させる。すると、バス・コントローラ４０は、ＳＵＳＰ信号のアサーションが判定ブロック１１０において止められるまで、待機する。ＳＵＳＰ信号のアサーションが止められると、ＣＬＫＢが再開される。
【００５３】
８０３８６を含む殆どのマイクロプロセッサは、チップ・パッケージ上の使用可能なピンを全て使うものではない。よって、使われていないピンを用いてＳＵＳＰ信号及びＳＵＳＰＡＣＫ信号をマイクロプロセッサ１２との間で遣り取りすることが出来、これにより既存の技術との両立性を保つことが出来る。それでもなお、好ましい実施例では、ＳＵＳＰ信号及びＳＵＳＰＡＣＫ信号のためのピンを選択的に作動可能又は作動不能にすることが出来る。
【００５４】
好ましい実施例では、ＳＵＳＰピン及びＳＵＳＰＡＣＫピンは最初は作動不能にされ、ＢＩＯＳ１６は該ピンをその始動ルーチンにおいて作動可能にする様に構成されなければならない。ＳＵＳＰピン及びＳＵＳＰＡＣＫピンの作動可能化及び作動不能化を実行するために、予め選択されたＩ／Ｏポートを介して読み書き出来る制御ビットが設けられている。
【００５５】
この特徴の好ましい実施例が図５（ａ）、（ｂ）と関連して詳しく図示されている。
図５（ａ）において、マイクロプロセッサ１２（図１）内の複数の制御レジスターは、制御レジスター１２０に入力されるＩＮＤＥＸ信号及びＤＡＴＡ信号を使ってアクセス可能である。該レジスターの大多数（及び、そのビット）は、キャッシュ・メモリー・サブシステムを構成するために使われる。例えば、主メモリー１４のキャッシュ不能領域を画定し、キャッシュ方法（直接マッピング又は集合連想）を選択し、外付けピンを介してキャッシュ・メモリー７０のフラッシング (flushing) を可能にするために制御レジスターを使うことが出来る。
【００５６】
各制御レジスターは、図（ａ）にＩ／Ｏポート２２ｈとして示されているＩ／Ｏポートへ該レジスターのアドレス（ここでＩＮＤＥＸと呼ばれる）を書き込むことによってアクセス可能である。ここにＩ／Ｏポート２３ｈとして示されている他のＩ／Ｏポートは、指定された制御レジスターからデータを読み書きするために使われる。好ましい実施例では、各Ｉ／Ｏポート２３ｈの動作に先立ってＩ／Ｏポート２２ｈの動作が行われるが、さもなければ第２の後のＩ／Ｏポート２３ｈの動作はオフチップに向けられることになる。図５（ａ）に示されている実施例では、制御レジスターは各々Ｃ０ｈとＣＦｈとの間のインデックスを持っている。
【００５７】
図５（ｂ）において、Ｃ０ｈのインデックスを有するレジスター１２２は、その最下位ビットを使って３状態装置１２４及び１２６（その各々は、ハイ状態及びロー状態の他に、高インピーダンス状態を含む）を制御する。論理ハイ（即ち論理『１』）に等しいビットは、両方の３状態装置１２４及び１２５がＳＵＳＰ信号及びＳＵＳＰＡＣＫ信号の伝送を提供することを可能にする。論理『０』は、３状態装置１２４及び１２６を作動不能にし、これによりＳＵＳＰピン及びＳＵＳＰＡＣＫピンをマイクロプロセッサ１２の回路から絶縁させる。
【００５８】
好ましい実施例のこの特徴は、既存のマイクロプロセッサのピン構造との両立性を保証する。
図６は本発明の他の特徴を示しており、ここではマイクロプロセッサ１２の動作はソフトウェア・コマンドに応じて一時停止されることが出来る。８０×８６装置は、全ての命令の実行を停止させて８０×８６を一時停止（ＨＡＬＴ）状態に置く『一時停止（ＨＡＬＴ）』動作（オプコードＦ４）を支援する。バス・コントローラに中継されたノンマスカブル・インターラプト（ＮＭＩピン）で、アンマスクド・インターラプト（バス・コントローラ４０に中継されるＩＮＴＲピンで）又はリセット（ＲＥＳＥＴ）に応じて実行が再開される。通常は、この命令は、システムを停止させるシーケンスにおける最後の命令として用いられる。
【００５９】
しかし、本発明においては、ＨＡＬＴ命令は本質的に、ＳＵＳＰピンから出力を出させるのと同じ結果をもたらす。よって、ＢＩＯＳ１６は、ＨＡＬＴ命令をマイクロプロセッサ１２へ発し、これによりＣＬＫＢを作動不能にすることが出来る。また、ＣＬＫＢを作動不能にすれば、マイクロプロセッサ１２が消費するパワーを著しく少なくすることが出来る。
【００６０】
図６は、好ましい実施例におけるＨＡＬＴ命令の動作を示すフローチャートである。判定ブロック１３０においてマイクロプロセッサ１２へのＨＡＬＴ命令が受信されると、ブロック１３２においてマイクロコードＲＯＭ４８によりＵ ＡＨＡＬＴが出力される。マイクロコードＲＯＭからのＵ ＡＨＡＬＴ信号に応じて、例外処理装置８６はＤ ＳＵＳＰＡＣＫを出力する。判定ブロック１３６においてコプロセッサからのビジー信号をチェックした後、ＳＵＳＰＡＣＫ信号がブロック１４０においてバス・コントローラ４０により出力され、内部ＣＬＫＢクロックがブロック１４２において作動不能にされる。判定ブロック１４４において、判定ブロック１４４でインターラプトが出力されるまで一時停止状態に留まる。インターラプトが出力されると、ＣＬＫＢクロックが作動可能にされ、処理が続けて行われる。
【００６１】
ＨＡＬＴ命令は、ＢＩＯＳ１６がマイクロプロセッサへの付加的なハードウェア接続部無しでマイクロプロセッサ１２を一時停止状態に置くことを許すものである。
本発明は、従来技術に比べて著しい利点を提供する。コア回路及びメモリー回路へのクロックを一時停止させることにより、１０ミリアンペア未満の電流消費が証明された。殆どのＢＩＯＳプログラムがパワー保存手段を支援するので、ＳＵＳＰ信号及びＳＵＳＰＡＣＫ信号を支援するための付加的な符号化は比較的に単純である。その代わりとして、ＳＵＳＰ信号及びＳＵＳＰＡＣＫ信号の発生を支援するようにチップセット論理１８を改造することが出来る。
【００６２】
更に、好ましい実施例においてＳＵＳＰＡＣＫはコプロセッサの動作が完了するまではアサートされないので、ＢＩＯＳはコプロセッサを監視するための付加的な回路又はコードを提供しなくてもよい。更に、ピン両立性を犠牲にせずにマイクロプロセッサ・チップ上にパワー節約回路を設けることが出来る。また、強化ＨＡＬＴコマンドを使うことにより、マイクロプロセッサ１２を一時停止状態から脱出させるインターラプトを出力する以外は、如何なるハードウェア相互作用も無しにマイクロプロセッサを一時停止状態で作動させることが出来る。
【００６３】
本発明及びその利点を詳しく説明したけれども、特許請求の範囲の欄の記載内容により定義される発明の範囲から逸脱することなく、これに種々の変更、置換、及び変更をなし得ることが理解されなければならない。
【図面の簡単な説明】
【００６４】
【図１】コンピュータ・システムのブロック図を示す。
【図２】図１のコンピュータ・システムに使われるマイクロプロセッサの好ましい実施例のブロック図である。
【図３】図２のマイクロプロセッサの、パワー管理回路に関連する部分の詳細ブロック図である。
【図４】マイクロプロセッサのパワー消費を減らす操作の好ましい実施例を説明するフローチャートである。
【図５】（ａ）及び（ｂ）は、パワー管理制御信号を提供するピンを作動可能にし及び作動不能にするための回路を示す。
【図６】マイクロプロセッサのパワー消費を維持するためのソフトウェア制御される実施例の動作のフローチャートである。
【図１】
0004621706.tif 000002
【図２】
0004621706.tif 000003
【図３】
0004621706.tif 000004
【図４】
0004621706.tif 000005
【図５】
0004621706.tif 000006
【図６】
0004621706.tif 000007