JP3466062B2 - プロセッサ内の電力消費を減少させる方法及び回路 - Google Patents
プロセッサ内の電力消費を減少させる方法及び回路Info
- Publication number
- JP3466062B2 JP3466062B2 JP26556397A JP26556397A JP3466062B2 JP 3466062 B2 JP3466062 B2 JP 3466062B2 JP 26556397 A JP26556397 A JP 26556397A JP 26556397 A JP26556397 A JP 26556397A JP 3466062 B2 JP3466062 B2 JP 3466062B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- cache memory
- processor
- power mode
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 35
- 230000015654 memory Effects 0.000 claims description 101
- 230000004044 response Effects 0.000 claims description 65
- 239000000872 buffer Substances 0.000 description 149
- 238000010586 diagram Methods 0.000 description 11
- 102100021145 fMet-Leu-Phe receptor Human genes 0.000 description 10
- 230000007704 transition Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 206010000210 abortion Diseases 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 108091064702 1 family Proteins 0.000 description 1
- 101100236201 Arabidopsis thaliana LSU2 gene Proteins 0.000 description 1
- 101001009517 Homo sapiens Probable G-protein coupled receptor 32 Proteins 0.000 description 1
- 241000288049 Perdix perdix Species 0.000 description 1
- 102100030321 Probable G-protein coupled receptor 32 Human genes 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Power Sources (AREA)
- Advance Control (AREA)
- Microcomputers (AREA)
Description
路に関し、より詳細には、電子回路内の電力消費を減少
させる方法及びシステムに関する。
タは、一般に広く使用されるようになった。このような
ラップトップ・コンピュータは、可搬性を増すために、
多くの場合バッテリにより電力供給される。バッテリに
より電力供給されるラップトップ・コンピュータは、コ
ンピュータのバッテリが再充電されるかまたは交換され
る前に、長時間バッテリ電力により作動することが好ま
しい。したがってバッテリを再充電するかまたは交換す
る前に、電子回路が動作する時間を長くするために、ラ
ップトップ・コンピュータの電子回路内の電力消費を減
少させることが重要である。このためにある種の従来の
技術では、特定の種類の動作を検知することがなく所定
の時間が経過したときに、電子回路への電力供給を止め
たり、あるいはクロック信号を止めたりしていた。この
ような従来の「タイマ」技術の欠点は、電子回路が動作
していないときでも、タイマの時間切れを待つ間、電子
回路が余分な電力を不必要に消費することである。
に比較してより少ない電力を電子回路に消費させる方
法、及びシステムの必要性が生じた。
・キャッシュ・メモリが、第1の電力モードで動作する
間、情報がキャッシュ・メモリのN本(ここでNは1よ
り大きい整数である)までのウェイ(way)で記憶さ
れる。一方このキャッシュ・メモリが、第1の電力モー
ドに比べてプロセッサ内の実行ユニットの各々が使用さ
れていないときが多い第2の電力モードで動作する間、
情報がキャッシュ・メモリのM本(Mは整数でN>M>
0)までのウェイで記憶される。そして、第2の電力モ
ードで動作しているセット・アソシアティブ・キャッシ
ュ・メモリに応答して、M本のウェイ以外のキャッシュ
・メモリのウェイに保管された情報を無効化する。この
方法は従来の技術に比較して、電子回路の余分な電力消
費が減少する技術的な利点がある。
1〜図7を参照するとよく理解できる。図1は本実施例
に従った、情報処理用プロセッサ10のシステムのブロ
ック図である。この実施例においてプロセッサ10は、
単一の集積回路のスーパスカラ・マイクロプロセッサで
ある。したがって以降に説明するように、プロセッサ1
0には各種のユニット、レジスタ、バッファ、メモリ、
及びその他の部分が含まれ、これらのすべてが集積回路
により形成される。更にこの実施例においてプロセッサ
10は、縮小命令セット・コンピューティング(「RI
SC」)技術に従って動作する。図1に示すようにシス
テム・バス11は、プロセッサ10のバス・インターフ
ェース・ユニット(「BIU」)12に接続される。B
IU12は、プロセッサ10とシステム・バス11との
間の情報転送を制御する。
14、及びデータ・キャッシュ16に接続されている。
命令キャッシュ14は、シーケンサ・ユニット18に命
令を出力する。命令キャッシュ14からの上記の命令に
従って、シーケンサ・ユニット18は、プロセッサ10
の他の実行回路に選択的に命令を出力する。
は、シーケンサ・ユニット18に加えて複数の実行ユニ
ット、即ち分岐ユニット20、固定小数点ユニット
(「FXU」)22、複合固定小数点ユニット(「CF
XU」)26、ロード/ストア・ユニット(「LS
U」)28、及び浮動小数点ユニット(「FPU」)3
0を含む。FXU22、CFXU26、及びLSU28
は、自身の送信元オペランド情報を汎用アーキテクチャ
・レジスタ(「GPR」)、及び固定小数点リネーム・
バッファ34から入手する。更にFXU22は、キャリ
ー・ビット(「CA」)レジスタ42から「キャリー・
ビット」を入手する。FXU22、CFXU26、及び
LSU28は、自身の動作の結果(宛先オペランド情
報)を、固定小数点リネーム・バッファ34内の選択さ
れたエントリでの保管のために出力する。更にCFXU
26は、送信元オペランド情報及び宛先オペランド情報
を、特殊目的レジスタ(「SPR」)40との間で入出
力する。
報を浮動小数点アーキテクチャ・レジスタ(「FP
R」)36、及び浮動小数点リネーム・バッファ38か
ら入手する。FPU30は、自身の動作の結果(宛先オ
ペランド情報)を、浮動小数点リネーム・バッファ38
内の選択されたエントリでの記憶のために出力する。
タ・キャッシュ16から情報を入手し、リネーム・バッ
ファ34及び38の選択されたバッファにこの情報をコ
ピーする。この情報がデータ・キャッシュ16に記憶さ
れてない場合は、データ・キャッシュ16は、システム
・バス11に接続されたシステム・メモリ39から、B
IU12及びシステム・バス11を介してこの情報を入
手する。更にデータ・キャッシュ16は、BIU12及
びシステム・バス11を介して、データ・キャッシュ1
6からの情報をシステム11に接続されたシステム・メ
モリ39に出力できる。LSUは、ストア命令に従って
GPR32及びFPR36の選択されたレジスタから情
報を入手し、データ・キャッシュ16にこの情報をコピ
ーする。
及びFPR36との間で情報を入出力する。分岐ユニッ
ト20は、シーケンサ・ユニット18から命令及びプロ
セッサ10の現在の状態を示す情報を入手する。分岐ユ
ニット20は、これらの命令及び信号に反応して、プロ
セッサ10が実行する命令のシーケンスを記憶する適切
なメモリ・アドレスを示す信号を、シーケンサ・ユニッ
ト18に出力する。シーケンサ・ユニット18は、分岐
ユニット20からのこの信号に反応して、命令の指示さ
れたシーケンスを命令キャッシュ14から入手する。1
つまたは複数のシーケンスの命令が命令キャッシュ14
に記憶されていない場合は、命令キャッシュ14は、シ
ステム・バス11に接続されたシステム・メモリ39か
ら、BIU12及びシステム・バス11を介してこれら
の命令を入手する。
シュ14から入手した命令に従って、実行ユニット2
0、22、26、28、及び30の選択されたユニット
に命令を選択的にディスパッチする。各実行ユニット
は、特定のクラスの命令中の1つ、または複数の命令を
実施する。例えばFXU22は加算、減算、AND演
算、OR演算、及びXOR演算などの、ソース・オペラ
ンド上の第1のクラスの固定小数点数学演算を実施す
る。CFXU26は固定小数点の乗算、及び除算など
の、ソース・オペランド上の第2のクラスに固定小数点
演算を実施する。FPU30は浮動小数点の乗算及び除
算などの、ソース・オペランド上の浮動小数点演算を実
施する。
れた1つに記憶されるとき、この情報は、選択されたリ
ネーム・バッファが割り振られる命令が指定する記憶場
所(例えばGPR32またはCAレジスタ42の1つ)
に関連付けられる。リネーム・バッファ34の選択され
た1つに記憶される情報は、シーケンサ・ユニット18
からの信号に反応して、GPR32(またはCAレジス
タ42)の関連する1つにコピーされる。シーケンサ・
ユニット18は、リネーム・バッファ34の選択された
1つに記憶された情報の上記コピーを、この情報を生成
した命令の「完了」に反応して送信する。このようなコ
ピー送信は「ライトバック(writeback)」と
呼ばれる。
れた1つに記憶されたとき、この情報は、FPR36の
1つに関連付けられる。リネーム・バッファ38の選択
された1つに記憶された情報は、シーケンサ・ユニット
18からの信号に反応して、FPR36の関連する1つ
にコピーが送信される。シーケンサ・ユニット18は、
リネーム・バッファ38の選択された1つに記憶された
情報の上記コピーを、この情報を生成した命令の「完
了」に反応して送信する。
2、26、28、及び30のいくつかにおいて、複数の
命令を同時に処理することによって高性能を達成する。
したがって各命令は、複数のステージから成る1シーケ
ンスとして処理され、各ステージは他の命令のステージ
と並列に実施できる。このような技術は「パイプライン
処理」と呼ばれる。この実施例では命令は、通常6ステ
ージ、即ちフェッチ、デコード、ディスパッチ、実行、
完了、及びライトバックとして処理される。
ット18は、命令のシーケンスを記憶している1つまた
は複数のメモリ・アドレスから、1つまたは複数の命令
を(命令キャッシュ14から)選択的に入手する。これ
らの命令のシーケンスについては、分岐ユニット20及
びシーケンサ・ユニット18に関係付けて上記で詳しく
説明した。
ニット18が2つまでのフェッチされた命令をデコード
する。
ユニット18は、ディスパッチされる命令の結果(宛先
オペランド情報)用のリネーム・バッファ・エントリを
予約した後、実行ユニット20、22、26、28、及
び30の(デコード・ステージでのデコードに反応し
て)選択されたユニットに、2つまでのデコードされた
命令を選択的にディスパッチする。ディスパッチ・ステ
ージでは、オペランド情報が、ディスパッチされる命令
用に選択された実行ユニットに供給される。プロセッサ
10は、命令がプログラムされたシーケンス順に命令を
ディスパッチする。
パッチされた命令を実行し、上記で説明したように、リ
ネーム・バッファ34及びリネーム・バッファ38中の
選択されたエントリでの記憶のために、命令実行の結果
(宛先オペランド情報)を出力する。このようにしてプ
ロセッサ10は、命令がプログラムされた順に関係なく
命令を実行できる。
18が命令の「完了」を示す。プロセッサ10は、命令
がプログラムされた順に命令を「完了」させる。
・ユニット18は、リネーム・バッファ34及び38か
らの情報のコピーをそれぞれGPR32及びFPR36
に送る。シーケンサ・ユニット18は、選択されたリネ
ーム・バッファに記憶されていた情報のコピーを送る。
同様に特定の命令のライトバック・ステージでは、プロ
セッサ10はこの特定の命令に従って、自身のアーキテ
クチャ上の状態を更新する。プロセッサ10は、それぞ
れの命令のライトバック・ステージを、命令がプログラ
ムされた順で処理する。プロセッサ10は、各命令の完
了ステージとライトバック・ステージとを、指定された
状況で都合よく結合する。
の各ステージを完了させるために1マシン・サイクルを
必要とする。しかしある種の命令(例えばCFXU26
によって実行される複合固定小数点命令)は、2マシン
・サイクル以上を必要とすることもある。したがって特
定の1つの命令の実行と、これに先立ついくつかの命令
の完了に必要な時間の変動に反応する完了ステージとの
間に、不定の遅延が発生する可能性がある。
たがって動作する。これらの5つの電力消費モードの内
の4つは、「節電」モード動作である。マシン状態レジ
スタ(「MSR」)、及びハードウェア実装レジスタ中
の制御ビットの状態に反応して、これらの5つの電力消
費モードが、選択的にイネーブルにされたり、ディスエ
ーブルにされたりする。これらのレジスタはSPR40
に配置される。したがって、SPR40に送られる移動
命令を実行するCFXU26に反応して、制御ビットが
設定されたり、消去されたりする。5つの電力消費モー
ドは全電力(Full−power)、ドーズ(Doz
e)、ナップ(Nap)、スリープ(Sleep)、及
び当実施例の重要な特徴である「特別(Specia
l)」モードである。各モードを以下に説明する。
セッサ10のデフォルトの電力消費モードである。全電
力モードでは、プロセッサ10は完全に電力供給され、
それぞれのユニットは、プロセッサ10のプロセッサ・
クロック速度で動作する。プロセッサ10は更に、選択
的にイネーブルまたはディスエーブルにできる動的電力
管理モードを実行する。動的電力管理モードがイネーブ
ルにされている場合は、プロセッサ10内の使用されて
ないユニットは、パフォーマンス、ソフトウェア実行、
または外部ハードウェア回路に影響することなく、自動
的に低電力消費状態になる。
力、ドーズ、ナップ、及びスリープの電力消費モード
は、IBM Microelectronics Di
vision、Hopewell Junction、
New York、電話1−800−PowerPC発
行の書籍、主題「PowerPC 603e RISC
Microprocessor User’s Man
ual」により詳しく説明されている。更に動的電力管
理モードは、米国特許第5,420,808号に説明さ
れている。本実施例ではプロセッサ10は、IBM M
icroelectronics Division、
Hopewell Junction、New Yor
kから入手できるPowerPC 603e RISC
マイクロプロセッサの拡張バージョンである。プロセ
ッサ10が「特別」電力モードを実行する点で、プロセ
ッサ10は、PowerPC 603e RISC マ
イクロプロセッサに対して拡張されている。したがって
「特別」電力モードは、本実施例の重要な特徴である。
は、BIU12のバス・スヌーピング論理回路、プロセ
ッサ10のタイム・ベース/減分レジスタ(図1には示
されていない)、及びプロセッサ10の位相ロック・ル
ープ(「PLL」、図1には示されていない)を除くプ
ロセッサ10のすべてのユニットが、ディスエーブルに
される。ドーズ・モードではプロセッサ10のPLL
は、完全に電力供給される状態を維持しており、依然と
してシステム・バス11の外部システム・クロックに同
期されており、プロセッサ10のわずか2、3のクロッ
ク・サイクル内に、全電力モードへのすべての復帰が行
われる。
効化(assertion)による外部非同期割り込み
に反応して、ドーズ・モードから全電力に戻る。したが
ってINTは、プロセッサ10に論理1の状態の信号を
供給する。同様にプロセッサ10は、システム管理割り
込み線SMIの有効化によるシステム管理割り込みに反
応して、ドーズ・モードから全電力モードに戻る。した
がってSMIは、プロセッサ10に論理1の状態の信号
を供給する。更にプロセッサ10は、減分回路例外事
項、ハード・リセットまたはソフト・リセット、もしく
はマシン・チェック入力に反応して、ドーズ・モードか
ら全電力モードに戻る。
dのロー(low)電圧(例えば0ボルト)から参照電
圧ノードGNDを基準にした所定の電圧(例えば2.5
ボルト)への切り換えに反応して発生する。図1〜図6
では、図の明瞭化のためにプロセッサ10内部のIN
T、SMI、Vdd、及びGNDから種々の回路への接
続のすべては示されてないことに注意されたい。プロセ
ッサ10は、ソフト・リセットに反応していかなる節電
モードからも全電力モードに戻る。ソフト・リセットに
おいては、SPR40に送られる適切な移動命令を実行
するCFXU26に反応して、制御ビットが設定及び
(または)消去される。この場合このような移動命令
は、命令のソフトウェア・リセット・シーケンスの一部
である。
ーズ・モードに比較して、BIU12のバス・スヌーピ
ング論理回路をディスエーブルにすることにより、プロ
セッサ10の電力消費を更に減少させる。したがってナ
ップ・モードでは、プロセッサ10のPLL及びタイム
・ベース/減分レジスタのみが、全電力状態に維持され
る。プロセッサ10は、割り込み線INTの有効化によ
る外部非同期割り込み、システム管理割り込み、減分回
路例外事項、ハード・リセットまたはソフト・リセッ
ト、もしくはマシン・チェック入力に反応して、ナップ
・モードから全電力モードに戻る。ドーズ・モードから
の戻りと同じように、ナップ・モードから全電力モード
へのいかなる復帰も、プロセッサ10のわずか2、3ク
ロック・サイクル内に行われる。
では、プロセッサ10のすべてのユニットをディスエー
ブルにし、その後プロセッサ10外の論理回路が、PL
L及び外部システム・クロックをディスエーブルにする
ことができ、電力消費をほとんど最小に減らすことがで
きる。プロセッサ10は、PLL及び外部システム・ク
ロックの双方が再びイネーブルにされ、その後、PLL
が外部システム・クロックに同期するための適切な最短
時間が経過し、更に続いて割り込み線INTの有効化、
システム管理割り込み、減分回路例外事項、ハード・リ
セットまたはソフト・リセット、もしくはマシン・チェ
ック入力が発生することに反応して、スリープ・モード
から全電力モードに戻る。
な特徴として、プロセッサ10は(1)ハードウェア事
象、または(2)ソフトウェア事象のいずれかに反応し
て、「特別」電力モードに入る。本実施例ではこのハー
ドウェア事象は、変換器41がHPS(ハードウェア事
象、節電、「特別」電力モード)線上に論理1の状態の
信号を出力するときに発生する。同様にソフトウェア事
象は、SPR40がSPS(ソフトウェア事象、節電、
「特別」電力モード)線上に論理1の状態の信号を出力
するときに発生する。SPR40は、SPR40の「H
IDO」レジスタの所定ビットに送られる適切な「特殊
目的レジスタへの移動(MTSPR)」命令を実行する
CFXU26に反応して、この信号をSPS上に出力す
る。
る集積回路の相対温度を検知する温度センサが含まれて
いる。ハードウェア事象は、限界値温度を超えた相対温
度を検知する(変換器41の)温度センサに反応して発
生する(即ち変換器41がHPS上に論理1の状態の信
号を出力する)。本実施例においては限界値温度は、全
電力モードで動作するプロセッサ10の最高の安全な温
度として、事前に選択される。したがってプロセッサ1
0の温度が、全電力モードで動作するプロセッサ10の
最高の安全な温度を超える場合は、全電力モードでプロ
セッサ10を継続して動作させると、プロセッサ10に
損傷が生じる可能性がある。都合がよいことにこのよう
な損傷は、プロセッサ10がこのハードウェア事象に反
応して「特別」電力モードの動作に入ることにより、実
質的に避けられる。
応して「特別」電力モードに入った場合、プロセッサ1
0は、自身の単一のサイクル間にフェッチされる最大の
命令数を減少させ、その結果図2、図3に関連付けて以
降に更に説明するように、プロセッサ10のサイクル当
たりにディスパッチされる命令はより少なくなる。この
ようにして、それぞれの実行ユニットが使用されてない
ときが多くなり、その結果、都合がよいことに動的電力
管理モード(米国特許第5,420,808号に説明さ
れている)の低電力状態がより容易に起動される。更に
プロセッサ10が、ハードウェア事象に反応して「特
別」電力モードに入った場合、プロセッサ10は、図5
に関連させて以降に更に説明するように、LSU28の
動作を変更する。
ウェア事象に反応して「特別」電力モードに入った場合
は、プロセッサ10は、(a)図2及び図3に関連付け
て以降に更に説明するように、プロセッサ10の単一サ
イクル間にフェッチされる命令の最大数を減少させ、
(b)図5に関連付けて以降に更に説明するように、L
SU28の動作を変更し、(c)図6に関連付けて以降
に更に説明するように、命令キャッシュ14及びデータ
・キャッシュ16内でこれらのキャッシュの「ウェイ
(way)」数を減少させることにより、電力消費を減
少させる。
びHPSのいずれに対しても、これらに反応して「特
別」電力モードから全電力モードに戻ることはない。更
にプロセッサ10が、ソフトウェア事象にのみ反応して
(即ち、SPSが論理1の状態であり、一方HPSが論
理0の状態である)「特別」電力モードに入った場合、
プロセッサ10は更に、(1)INTの有効化による外
部非同期割り込み、(2)ハード・リセットまたはソフ
ト・リセット、もしくは(3)マシン・チェック入力に
反応して、(「特別」電力モードから)全電力モードに
戻る。代替の実施例では、プロセッサ10がソフトウェ
ア事象にのみ反応して「特別」電力モードに入った場
合、プロセッサ10は更に、SMIの有効化によるシス
テム管理割り込みに反応して、(「特別」電力モードか
ら)全電力モードに戻る。このような代替実施例では、
プロセッサ10がINTの有効化に反応して全電力モー
ドに戻る方法と類似の方法で、プロセッサ10は、SM
Iの有効化に反応して全電力モードに戻る。
サ10はまた減分回路例外事項に反応して、全電力モー
ドに戻る。SPR40は、プロセッサ・クロック信号
(図の明瞭化のために図1には示されていない)に反応
して計数を減分する回路を含む。減分回路例外事項は、
値が0に減分された計数に反応して生成される。
ッシュ16、シーケンサ・ユニット18、及びLSU2
8のそれぞれに接続される単一のSPS線を示す。同様
に図1は命令キャッシュ14、データ・キャッシュ1
6、シーケンサ・ユニット18、及びLSU28のそれ
ぞれに接続される単一のHPS線を示す。更に同様に図
1は命令キャッシュ14、データ・キャッシュ16、シ
ーケンサ・ユニット18、及びLSU28のそれぞれに
接続される単一のINT線を示す。
ク図である。上記のように、フェッチ・ステージでプロ
セッサ10が、(したがってフェッチ論理回路71も)
全電力モードで動作している場合は、フェッチ論理回路
71は、命令キャッシュ14から(プロセッサ10、及
びそれに伴ったフェッチ論理回路71のサイクル当た
り)最多で2つまでの命令を選択的に要求し、これらの
命令を命令バッファ70に保管する。したがってプロセ
ッサ10の特定のサイクル間に、シーケンサ・ユニット
18は命令キャッシュ14から可変数(0から2の範
囲)の命令を要求し、この可変数は、命令バッファ70
に保管できる追加の命令数に依存する(即ち、命令バッ
ファ70中の使用可能なバッファ数に依存する)。
(したがってデコード論理回路72も)全電力モードで
動作している場合、デコード論理回路72は、命令バッ
ファ70から(プロセッサ10、及びそれに伴ったデコ
ード論理回路72のサイクル当たり)最多で2つまでの
フェッチされた命令を選択的に入手し、これらをデコー
ドする。したがってプロセッサ10の特定のサイクル間
に、デコード論理回路72は、命令バッファ70から可
変数(0から2の範囲)の命令を入手し、これらをデコ
ードする。この可変数は、この特定のサイクル間に、デ
ィスパッチ論理回路74がディスパッチする命令数に依
存する。
が、(したがってディスパッチ論理回路74も)全電力
モードで動作している場合、ディスパッチ論理回路74
は、実行ユニット20、22、26、28、及び30の
中の(デコード・ステージ中のデコーディングに反応し
て)選択されたユニットに、(プロセッサ10、及びそ
れに伴ったディスパッチ論理回路74のサイクル当た
り)最多で2つまでのデコードされた命令を選択的ディ
スパッチする。したがってプロセッサ10の特定のサイ
クル間に、ディスパッチ論理回路74は、可変数(0か
ら2の範囲)のデコードされた命令を実行ユニットにデ
ィスパッチし、この可変数は、命令が実行される実行ユ
ニットに保管できる追加の命令数に依存する(例えば実
行ユニット中で使用できる予約ステーション数に依存す
る。)
ッサ10が「特別」電力モードで動作している場合は、
フェッチ論理回路71は(SPS、HPS、及びINT
の論理状態に反応して)命令キャッシュ14から、プロ
セッサ10のサイクル当たり最多で(2つの命令ではな
く)1つの命令を要求し、命令バッファ70にこの1つ
の命令を保管する。このようにして、(a)デコード論
理回路72は、プロセッサ10のサイクル当たり命令バ
ッファ70から(平均で)約1つのフェッチされた命令
を入手してこれをデコードし、(b)ディスパッチ論理
回路74は、(プロセッサ10のサイクル当たり平均
で)約1つの命令を実行ユニット20、22、26、2
8、及び30の選択されたユニットにディスパッチし、
(c)完了論理回路80は、プロセッサ10のサイクル
当たり(平均で)約1つの命令の「完了」(下記に詳細
に説明する)を示す。したがって実行ユニットは、(全
電力モードに比べて)使用されてないときがより多くな
り、その結果、動的電力管理モード(米国特許第5,4
20,808号に説明あり)の低電力状態が、都合よく
より容易に起動される。
別」電力モードで動作している場合は、ディスパッチ論
理回路74は、(SPS、HPS、及びINTの論理状
態に反応して)プロセッサ10のサイクル当たり最多で
(2つの命令ではなく)1つの命令を、実行ユニット2
0、22、26、28、及び30の選択されたユニット
にディスパッチし、この代替実施例の技術は、プロセッ
サ10の単一のサイクル間にフェッチされる最多の命令
数を減少させる本実施例に変わるものであり、更に本実
施例に付加することもできる。したがって図2では、フ
ェッチ論理回路71及びディスパッチ論理回路74の双
方に接続されるSPS、HPS、及びINTを示す。
す。命令バッファ70はI0命令、及びI1命令をディ
スパッチ・バッファ56のバッファI0、及びバッファ
I1のそれぞれに保管する。本実施例ではプロセッサ1
0の1サイクルに反応して、I0命令のみがデコード論
理回路72(図2参照)にディスパッチされるか、I0
命令及びI1命令の双方が一緒にデコード論理回路72
にディスパッチされるか、またはI1命令のみがデコー
ド論理回路72にディスパッチされるかのいずれかであ
る。バッファI0及びバッファI1の内容は、配線55
a及び配線55bのそれぞれを介して、デコード論理回
路72に出力される。
ロセッサ10の単一サイクル間に64ビットのバス50
を介して、2つまでの32ビット命令を並列に命令キャ
ッシュ14から入手できる。I0命令及びI1命令の双
方が、一緒にデコード論理回路72にディスパッチされ
ると、命令バッファ70は以前に保管されたいずれの命
令であっても、命令バッファ54a、54bからバッフ
ァI0、I1のそれぞれに転送する。この状況では命令
バッファ70はまた、以前に保管されたいずれの命令で
あっても、命令バッファ52a、52bから命令バッフ
ァ54a、54bのそれぞれに転送する。更にこのよう
な状況で、プロセッサ10が全電力モードで動作してい
る場合、命令バッファ70は64ビットのバス50を介
して、2つまでの32ビット命令を命令キャッシュ14
から入手し、これらの命令を最初の使用可能な(即ち、
すでに命令を保管してない空の)バッファの組に保管す
る。このバッファの組は、バッファI0から始まって
(a)I0及びI1、(b)54b及び54a、(c)
52b及び52aのいずれかである。
にディスパッチされたことに反応して、命令バッファ7
0は、以前に保管されたいずれの命令であってもバッフ
ァI1からバッファI0に転送する。この状況で命令バ
ッファ70はまた、以前に保管されたいずれの命令であ
っても、命令バッファ54aからバッファI1に、命令
バッファ54bから命令バッファ54aに、命令バッフ
ァ52aから命令バッファ54bに、更に命令バッファ
52bから命令バッファ52aに転送する。更にこの状
況で命令バッファ70は、64ビットのバス50を介し
て単一の32ビット命令を命令キャッシュ14から入手
し、この命令を最初の使用可能なバッファ、即ちバッフ
ァI0から始まるバッファI0、I1、54b、54
a、52b、及び52aのいずれかに保管する。
いる場合は、命令バッファ70は、プロセッサ10の単
一のサイクル間に64ビットのバス50を介して、2つ
までの32ビット命令を並列に命令キャッシュ14から
入手できる。このようにして、例えば命令キャッシュ1
4が4ウェイのセット・アソシアティブ・キャッシュで
あるとすれば、命令キャッシュ14の少なくとも256
のセンス増幅器(64ビット/ウェイ×4ウェイ×1セ
ンス増幅器/ビット)が、プロセッサ10のこの単一の
サイクル間にアクティブである。これらのセンス増幅器
のアクティブ化は、プロセッサ10の平均電力消費に寄
与する。
電力モードで動作している場合は、命令バッファ70
は、プロセッサ10の単一のサイクル間に64ビットの
バス50を介して、単一の32ビット命令を命令キャッ
シュ14から入手できる。この場合には、命令キャッシ
ュ14の例えば128のセンス増幅器(32ビット/ウ
ェイ×4ウェイ×1センス増幅器/ビット)が、プロセ
ッサ10の各サイクル間にアクティブである(一方で命
令キャッシュ14の残る128のセンス増幅器は、使用
不可状態である)。256のセンス増幅器(全電力モー
ド)の代わりに、128のみのセンス増幅器(「特別」
電力モード)をアクティブにすることによって、都合よ
くプロセッサ10の平均電力消費が減少し、これはプロ
セッサ10のサイクル当たりで、これらのセンス増幅器
の1/2のみがアクティブにされるからである。
して「特別」電力モードに入る場合は、更に電力消費の
減少が可能になり、その理由は、図6に関連付けて以降
に更に説明するように、この状況ではプロセッサ10
は、命令キャッシュ14及びデータ・キャッシュ16内
のウェイ数を減少させるからである。プロセッサ10
が、命令キャッシュ14内のウェイ数をソフトウェア事
象に反応して、4ウェイの代わりに例えば2ウェイに減
らす場合は、プロセッサ10が「特別」電力モードで動
作しているときの、プロセッサ10の上記2サイクルの
それぞれの間に、命令キャッシュ14の64のセンス増
幅器(32ビット/ウェイ×2ウェイ×1センス増幅器
/ビット)がアクティブである(一方で命令キャッシュ
14の残る192のセンス増幅器は、使用不可状態であ
る)。プロセッサ10が、ソフトウェア事象に反応して
「特別」電力モードに入った場合は、256のセンス増
幅器(全電力モード)の代わりに、64のみのセンス増
幅器をアクティブにすることによって、都合よくプロセ
ッサ10の平均電力消費が減少し、その理由は、プロセ
ッサ10のサイクル当たりで、これらのセンス増幅器の
1/4のみがアクティブにされるからである。
18のリオーダ・バッファ(reorder buff
er)76を概念的に示したものである。図4に示すよ
うにリオーダ・バッファ76は、バッファ番号0から4
としてそれぞれラベルを付けられた5つのエントリを持
つ。各エントリは5つの主要なフィールドを持ち、それ
らは「命令タイプ」フィールド、「GPR宛先数」フィ
ールド、「FPR宛先数」フィールド、「終了」フィー
ルド、及び「例外」フィールドである。
理回路74が、命令を実行ユニットにディスパッチする
ときに、シーケンサ・ユニット18は、このディスパッ
チされた命令をリオーダ・バッファ76内の関連するエ
ントリに割り当てる。シーケンサ・ユニット18は、先
入れ先出しベース及び回転法で、リオーダ・バッファ7
6中のエントリをディスパッチされた命令に割り当てる
(または「関連付ける」)。つまりシーケンサ・ユニッ
ト18は、エントリ0を割り当て、続いて順にエントリ
1〜4を割り当て、そこで再びエントリ0を割り当て
る。ディスパッチされた命令が、リオーダ・バッファ7
6内の関連エントリに割り当てられるとき、ディスパッ
チ論理回路74は、リオーダ・バッファ76中の関連エ
ントリの種々のフィールド、及びサブフィールド中での
保管のために、ディスパッチされた命令に関する情報を
出力する。
・バッファ76は、命令がFXU22にディスパッチさ
れたことを示している。本実施例の他の特徴としてエン
トリ1は更に、ディスパッチされた命令が1つのGPR
宛先レジスタを持ち(「GPR宛先数」=1が示すよう
に)、ゼロ個のFPR宛先レジスタを持ち(「FPR宛
先数」=0が示すように)、現在まだ終了しておらず
(「終了」=0が示すように)、更に現時点ではまだ例
外を発生させてない(「例外」=0が示すように)こと
を示す。
実行するとき、実行ユニットは、リオーダ・バッファ7
6内のこの命令に関連するエントリを変更する。更に詳
細には、ディスパッチされた命令の実行の終了に反応し
て、実行ユニットはエントリの「終了」フィールドを変
更する(「終了」=1のように)。実行ユニットが、デ
ィスパッチされた命令の実行中に「例外」に遭遇した場
合には、実行ユニットはエントリの「例外」フィールド
を変更する(「例外」=1のように)。
ポインタ175を示す。プロセッサ10は、リオーダ・
バッファ76からの読み出し、及びこのバッファへの書
き込みを制御するために、これらのポインタを維持す
る。プロセッサ10は、リオーダ・バッファのエントリ
が特定の命令に割り振られる(または「関連付けられ
る」)か否かを示すために、割り振りポインタ173を
維持する。図4に示すように割り振りポインタ173
は、リオーダ・バッファ・エントリ3を指し、これによ
ってリオーダ・バッファ・エントリ3が、命令に割り振
ることができる次のリオーダ・バッファ・エントリであ
ることを示している。
持し、(特定の命令に以前に割り振られたリオーダ・バ
ッファ・エントリに対して)この特定の命令が次の条件
を満足するか否かを示す。 条件1−命令をディスパッチされた実行ユニットが、命
令実行を終了させた。 条件2−命令処理のいかなるステージに関しても、例外
に遭遇しなかった。 条件3−以前にディスパッチされた命令のいずれもが、
上記条件1及び条件2を満足している。
リオーダ・バッファのエントリ1を指し、これによりリ
オーダ・バッファのエントリ1は、前記条件1、2、及
び3を満たすことが可能な次のリオーダ・バッファ・エ
ントリであることを示している。したがって「有効な」
リオーダ・バッファ・エントリは、完了ポインタ175
が指すリオーダ・バッファ・エントリとして定義でき、
更にこのエントリの後にあり、割り振りポインタ173
が指すリオーダ・バッファ・エントリの前にあるリオー
ダ・バッファ・エントリとして定義できる。
76のエントリは、シーケンサ・ユニット18の完了論
理回路80、及び例外論理回路82によって読み取られ
る。リオーダ・バッファ76の「例外」フィールドに反
応して、例外論理回路82は、ディスパッチされた命令
の実行中に遭遇した例外を処理する。完了論理回路80
は、リオーダ・バッファの「終了」フィールド、及び
「例外フィールド」に反応し、ディスパッチ論理回路7
4及びリオーダ・バッファ76に信号を出力する。完了
論理回路80はこれらの信号を介して、命令がプログラ
ムされた順で命令の「完了」を示す。完了論理回路80
は、命令が次の条件を満たす場合に命令の「完了」を示
す。 条件1−命令をディスパッチされた実行ユニットが、命
令の実行を終了した(リオーダ・バッファ76内のこの
命令に関連するエントリ内で、「終了」=1となるよう
に)。 条件2−命令のプロセスのいかなるステージに関して
も、例外に遭遇しなかった(リオーダ・バッファ76内
のこの命令に関連するエントリ内で「例外」=0となる
ように)。 条件3−以前にディスパッチされたいかなる命令も、条
件1及び条件2を満たす。
バッファ76中の情報に反応して、ディスパッチすべき
追加命令の適切な数を決定する。
8を概念的に示したものである。リネーム・バッファ3
8は図5に示すように、バッファ番号0から3としてそ
れぞれラベルが付けられている4つのリネーム・バッフ
ァを含む。シーケンサ・ユニット18は、リネーム・バ
ッファ番号0〜3を先入れ先出しベース、及び回転法で
ディスパッチされた命令に割り振る(または「関連付け
る」)。したがってシーケンサ・ユニット18は、先ず
リネーム・バッファ番号0を割り振り、次にリネーム・
バッファ番号1〜3を順に割り振り、ここで再びリネー
ム・バッファ番号0を割り振る。
は、ディスパッチ論理回路74(図2を参照)がディス
パッチした命令用の宛先オペランド情報を保管するため
に、割り振られる。図5は割り振りポインタ180、ラ
イトバック・ポインタ182、及び完了ポインタ184
を示す。プロセッサ10は、リネーム・バッファ38か
らの読み取り、及びこのバッファへの書き込みを制御す
るために、これらのポインタを維持する。プロセッサ1
0は、リネーム・バッファが特定の命令に割り振られて
いるか否かを示すために、割り振りポインタ180を維
持する。割り振りポインタ180は、図5に示すように
リネーム・バッファ3を指し、これによりリネーム・バ
ッファ3が、命令の割り振りのために使用できる次のリ
ネーム・バッファであることを示している。
振られたリネーム・バッファが、他の命令の再割り振り
のために使用可能であるか否かを示すために、更にライ
トバック・ポインタ182を維持する。ライトバック・
ポインタ182は、図5に示すようにリネーム・バッフ
ァ2を指し、これによりリネーム・バッファ2が、プロ
セッサ10が(図5のリネーム・バッファの「情報」フ
ィールドに保管されている)宛先オペランド情報を、
(図5のリネーム・バッファの「レジスタ番号」フィー
ルドに指定されている)FPR36の1つにコピーする
ために取り出す次のリネーム・バッファであることを示
す。
の結果(宛先オペランド情報)をアーキテクチャ・レジ
スタ内で保管するために、リネーム・バッファからコピ
ーしたことに反応して、プロセッサ10は、この特定の
命令に以前に割り振られたリネーム・バッファを通り越
して、ライトバック・ポインタ182を進める。このよ
うにして、プロセッサ10が、特定の命令の結果(宛先
オペランド情報)をアーキテクチャ・レジスタにコピー
するまで、プロセッサ10は、この結果を保管するため
に割り振られるリネーム・バッファを予約する。
り振られたリネーム・バッファに対して、この特定の命
令が次の条件を満足するか否かを示す完了ポインタ18
4も維持する。 条件1−命令をディスパッチされた実行ユニットが、命
令の実行を終了した。 条件2−命令のプロセスのいかなるステージに関して
も、例外に遭遇しなかった。 条件3−以前にディスパッチされた命令のいずれもが、
条件1及び条件2を満足する。
リネーム・バッファ2を指し、これによりリネーム・バ
ッファ2が条件1、2、及び3を満たすことができる次
のリネーム・バッファであることを示している。本実施
例では、命令の結果が、リネーム・バッファからコピー
されてアーキテクチャ・レジスタに保管されるか否かに
関係なく、プロセッサ10は完了ポインタ184を維持
する。
了ポインタ184が指すリネーム・バッファとして定義
でき、更にこのバッファの後にあり、割り振りポインタ
180が指すリネーム・バッファの前にあるリネーム・
バッファとして定義できる。「ライトバック・エント
リ」は、ライトバック・ポインタ182が指すリネーム
・バッファとして定義でき、更にこのバッファの後にあ
り、完了ポインタ184が指すリネーム・バッファの前
にあるリネーム・バッファとして定義できる。ライトバ
ック・エントリは、「完了した」命令であって、しかし
これらの命令の結果が、例えばアーキテクチャ・レジス
タへの書き込みポートが使用できないために、リネーム
・バッファからアーキテクチャ・レジスタにコピーされ
てない、命令の結果を保管する。
ネーム・エントリとアーキテクチャ・レジスタとの間に
位置する。完了ステージでライトバック・ポートが使用
できる場合には、都合のよいことに、命令の結果はライ
トバック・エントリをバイパスし、アーキテクチャ・レ
ジスタに直接書き込める。更にプロセッサ10は、リネ
ーム・エントリと同様に、ライトバック・エントリを操
作し、実行ユニットが、実行ユニットに出力される情報
に関連づけられたアーキテクチャ・レジスタを指定する
命令を実行するときに、実行ユニットに情報を出力す
る。
オペランド、及び倍精度(即ち64ビット)オペランド
の双方に対して、完成にIEEE754を遵守してい
る。したがって倍精度オペランドをサポートするために
は、図5の各リネーム・バッファの「情報」フィールド
は、64ビット幅である。ここで図1も参照すると、プ
ロセッサ10が全電力モードで動作している場合は、L
SU28は(LSU28がFRP36に送られる「ロー
ド」命令を実行する結果)64ビットの情報を、プロセ
ッサ10の単一のサイクル(即ちサイクル当たり64ビ
ットの情報)の間に、データ・キャッシュ16から(リ
ネーム・バッファ38の)単一のリネーム・バッファの
「情報」フィールドにロードする。このようにして、例
えばデータ・キャッシュ16が、4ウェイのセット・ア
ソシアティブ・キャッシュであれば、プロセッサ10の
この単一サイクルの間に、データ・キャッシュ16の少
なくとも256のセンス増幅器(64ビット/ウェイ×
4ウェイ×1センス増幅器/ビット)がアクティブであ
る。これらのセンス増幅器のアクティブ化は、プロセッ
サ10の平均電力消費に寄与する。
別」電力モードで動作している場合は、LSU28は
(LSU28がFPR36に送られる「ロード」命令を
実行する結果)64ビットの情報を、プロセッサ10の
2サイクル(即ちサイクル当たり32ビットの情報)の
間に、データ・キャッシュ16から(リネーム・バッフ
ァ38の)単一のリネーム・バッファの「情報」フィー
ルドにロードする。このようにして、データ・キャッシ
ュ16の例えば128のセンス増幅器(32ビット/ウ
ェイ×4ウェイ×1センス増幅器/ビット)が、プロセ
ッサ10のこれらの2サイクルのそれぞれの間にアクテ
ィブであり、一方でデータ・キャッシュ16の残りの1
28のセンス増幅器が、使用不可状態である。256の
センス増幅器(全電力モード)の代わりに、128のセ
ンス増幅器(「特別」電力モード)だけをアクティブに
することによって、都合よくプロセッサ10の平均電力
消費が減少し、これは、プロセッサ10のサイクル当た
り、これらのセンス増幅器の1/2のみがアクティブに
されるからである。
して「特別」電力モードに入る場合は、更なる電力消費
減少が達成されるが、その理由は、図6に関して以下に
更に説明するように、この状況ではプロセッサ10が、
命令キャッシュ14及びデータ・キャッシュ16内のウ
ェイ数を減少させるからである。プロセッサ10がソフ
トウェア事象に反応して、データ・キャッシュ16内の
ウェイ数を例えば4ウェイの代わりに2ウェイに減らす
場合は、プロセッサ10が「特別」電力モードで動作し
ている間のプロセッサ10の上記2サイクルの各サイク
ルの間、データ・キャッシュ16の64のセンス増幅器
(32ビット/ウェイ×2ウェイ×1センス増幅器/ビ
ット)がアクティブである(一方でデータ・キャッシュ
16の残りの192のセンス増幅器が使用不可状態であ
る)。プロセッサ10が、ソフトウェア事象に反応して
「特別」電力モードに入っている場合は、256のセン
ス増幅器(全電力モード)の代わりに、64のセンス増
幅器のみをアクティブにすることによって、都合よくプ
ロセッサ10の平均電力消費が減少し、これはプロセッ
サ10のサイクル当たり、これらのセンス増幅器の1/
4のみがアクティブにされるからである。
示す。図6の命令キャッシュ14は、同じようなデータ
・キャッシュ16を代表する。命令キャッシュ14及び
データ・キャッシュ16のそれぞれは、16Kバイトの
4ウェイセット・アソシアティブ・キャッシュである。
命令キャッシュ14及びデータ・キャッシュ16は、物
理(即ち「実」)アドレスに従ってアドレスされる。
示され、この制御論理回路には、有効アドレスを物理ア
ドレスに変換するためのメモリ管理ユニット(「MM
U」)が含まれる。有効アドレスは、例えばシーケンサ
・ユニット18のフェッチ論理回路71(図2参照)か
ら受信する。本実施例では有効アドレスのビット20か
ら211は、関連する物理アドレスへの変換では変更され
ず、したがって有効アドレスのビット20から211は、
関連する物理アドレスのビット20から211と同じディ
ジタルの論理値をもつ。
ュ16のそれぞれは、図6に示すように、128の合同
なクラス(即ちセット)に論理的に配置されている。命
令キャッシュ14において例えば各上記セットは、それ
ぞれ命令キャッシュ14内に4ラインの事前に割り当て
られた関連グループ(即ち4ウェイであるブロック0〜
3)をもつ。各ラインはそれぞれのアドレス・タグ、そ
れぞれの状態ビット(例えば「有効」ビット)、及びそ
れぞれの8ワードの情報のグループを保管できる。各ワ
ードは4バイト(即ち32ビット)をもつ。
Address Tag03、状態ビットState03、
及びワードW030からW037を保管できる。同様に各セッ
トxのブロックyは、Address Tagxy、状態
ビットStatexy、及びワードWxyoからWxy7を保管
でき、ここでxは0から127の範囲の可変整数のセッ
ト番号であり、yは0から3の範囲の可変整数のブロッ
ク番号である。
ら211によって指定される。例えば各セットは複数アド
レスを含み、これらのアドレスのすべてが、同じ7つの
物理アドレス・ビット25から211を共有する。したが
っていずれの一瞬間においても、命令キャッシュ14
は、特定のセットxに属する4つまでの物理アドレスに
対する情報を保管し、これらのアドレスは、命令キャッ
シュ14内のセットxに関連する4ラインのグループに
保管されるAddress TagxoからAddres
s Tagx3によって指定される。
ト0のブロック0に、最初のアドレス・ビット212から
231を含むAddress Tag00を保管でき、
(b)命令キャッシュ14はセット0のブロック1に、
第2のアドレス・ビット212から231を含むAddre
ss Tag01を保管でき、(c)命令キャッシュ14
はセット0のブロック2に、第3のアドレス・ビット2
12から231を含むAddress Tag02を保管で
き、更に(d)命令キャッシュ14はセット0のブロッ
ク3に、第4のアドレス・ビット212から231を含むA
ddress Tag03を保管できる。このように各A
ddress Tagxyは20ビットをもつ。
ス増幅回路の構造を示す電気回路図であり、全体を参照
番号121で示す。センス増幅回路121は、図6のセ
ンス増幅器104、106、108a〜108hを代表す
るセンス増幅回路である。したがって各Address
Tagxyが20ビットをもつので、センス増幅器10
4は80個のセンス増幅回路(ブロック0〜ブロック3
の4つに対してそれぞれ20個のセンス増幅回路)を含
み、各増幅回路は、本質的に回路121と同じである。
までの整数のワード番号)は32ビットを持ち、各セン
ス増幅器108aから108hが、それぞれ128個のセ
ンス増幅回路(ブロック0〜ブロック3の4つに対して
それぞれ32個のセンス増幅回路)のグループを含み、
各増幅回路は本質的に回路121と同じであり、したが
ってセンス増幅器108aから108hは合計1024個
のセンス増幅回路(ワード0〜ワード7の8つに対して
それぞれ128個のセンス増幅回路)を含む。同じよう
に、センス増幅器106内のセンス増幅回路数は、St
atexy当たりのビット数の4倍に等しく、これらのセ
ンス増幅回路のそれぞれは、本質的に回路121と同じ
である。
は、それぞれの20個のダイナミック・ランダム・アク
セス・メモリ(「DRAM」)セルのグループを含み、
各DRAMセルは、それぞれのディジタル情報の単一ビ
ットを保管できる。同様に各32ビットのワードWxyz
は、それぞれの32個のDRAMセルのグループを含
み、各DRAMセルは、それぞれのディジタル情報の単
一ビットを保管できる。同じように、各Statexyの
DRAMセル数は、Statexy当たりのビット数に等
しい。
回路は、(1)Address Tagx0(xはセット
番号)として示されている128セット中の20個の各
DRAMセルが、それぞれセンス増幅器104の第1の
グループの20個のセンス増幅回路に結合され、(2)
Address Tagx1として示されている128セ
ット中の20個の各DRAMセルが、それぞれセンス増
幅器104の第2のグループの20個のセンス増幅回路
に結合され、(3)Address Tagx2として示
される128セット中の20個の各DRAMセルが、そ
れぞれセンス増幅器104の第3のグループの20個の
センス増幅回路に結合され、(4)Address T
agx3として示される128セット中の20個の各DR
AMセルが、それぞれセンス増幅器104の第4のグル
ープの20個のセンス増幅回路に結合されるように構成
される。
増幅回路は、Address Tagxyのビット2q用
のディジタル情報を保管するそれぞれの1ファミリの1
28個のDRAMセルに結合され、ここで、(a)qは
一定(即ち、ファミリのすべてのDRAMセルに共通)
の0〜19までのビット番号であり、(b)xは可変
(即ち、ファミリのすべてのDRAMセルに対して異な
る)の0〜127までのセット番号であり、(c)yは
0から3までの一定のブロック番号である。
121)は、イネーブル線をもつ。図6を参照するとイ
ネーブル線102は、合計4本のアドレス・タグ・イネ
ーブル線(4ブロック×1本のアドレス・タグ・イネー
ブル線/ブロック)を含む。このアドレス・タグ・イネ
ーブル線のそれぞれは、制御論理回路100からセンス
増幅器104の4グループのそれぞれの1つに接続さ
れ、そこでそれぞれのグループは、Address T
agxy用のディジタル情報を保管する1ファミリのDR
AMセルに結合されており、ここで、(a)xは0から
127までの可変のセット番号であり、(b)yは0か
ら3までの一定のブロック番号である。
4個のセンス増幅器は、(1)Wx0 zとして示されてい
る128セット中の256個の各DRAMセルが、セン
ス増幅器108aから108hの第1のグループの256
個のセンス増幅回路を介して、それぞれバス120a経
由でマルチプレクサ114aに結合され、(2)Wx1zと
して示されている128セット中の256個の各DRA
Mセルが、センス増幅器108aから108hの第2のグ
ループの256個のセンス増幅回路を介して、それぞれ
バス120b経由でマルチプレクサ114bに結合され、
(3)Wx2zとして示されている128セット中の25
6個の各DRAMセルが、センス増幅器108aから1
08hの第3のグループの256個のセンス増幅回路を
介して、それぞれバス120c経由でマルチプレクサ1
14cに結合され、更に(4)Wx3zとして示されている
128セット中の256個の各DRAMセルが、センス
増幅器108aから108hの第4のグループの256個
のセンス増幅回路を介して、それぞれバス120d経由
でマルチプレクサ114dに結合されるように構成され
る。
の各センス増幅回路は、ワードWxy zのビット2q用のデ
ィジタル情報を保管するそれぞれの1ファミリの128
個のDRAMセルに結合され、ここで(a)qは0から
31までの一定のビット番号、(b)xは0から127
までの可変のセット番号、(c)yは0から3までの一
定のブロック番号、更に(d)zは0から7までの一定
のワード番号である。
ド・イネーブル線(4ブロック×8ワード/ブロック×
1ワード・イネーブル線/ワード)を含む。このワード
・イネーブル線のそれぞれは、制御論理回路100から
センス増幅器108a〜108hの4つのグループのそれ
ぞれのサブグループに接続され、そこで各サブグループ
は、ワードWxyz用のディジタル情報を保管する1ファ
ミリのDRAMセルに結合され、ここで、(a)xは0
から127までの可変のセット番号、(b)yは0から
3までの一定のブロック番号、更に(c)zは0から7
までの一定のワード番号である。
atexo(xはセット番号)として示されている128
セット中のDRAMセルのそれぞれが、センス増幅器1
06の第1のグループのセンス増幅回路に結合され、
(2)Statex1として示されている128セット中
のDRAMセルのそれぞれが、センス増幅器106の第
2のグループのセンス増幅回路に結合され、(3)St
atex2として示されている128セット中のDRAM
セルのそれぞれが、センス増幅器106の第3のグルー
プのセンス増幅回路に結合され、更に(4)State
x3として示されている128セット中のDRAMセルの
それぞれが、センス増幅器106の第4のグループのセ
ンス増幅回路に結合されるように構成される。
増幅回路は、Statexyのビット2q用のディジタル
情報を保管するそれぞれの1ファミリの128個のDR
AMセルに結合され、ここで、(a)qは一定のビット
番号、(b)xは0から127までの可変のセット番
号、更に(c)yは0から3までの一定のブロック番号
である。
イネーブル線(4ブロック×1状態イネーブル線/ブロ
ック)を含む。この状態イネーブル線のそれぞれは、制
御論理回路100からセンス増幅器106の4グループ
のそれぞれの1つに接続され、そこでそれぞれのグルー
プは、Statexy用のディジタル情報を保管する1フ
ァミリのDRAMセルに結合され、ここで(a)xは0
から127までの可変のセット番号であり、(b)yは
0から3までの一定のブロック番号である。
121)には、128個の結合されたDRAMセルの1
つから配線D及びDを介して作動電圧が入力されてい
る。ここで前記の1つのDRAMセルは、セット番号に
従って(即ち、前記のようにアドレス・ビット25から
211に従って)制御論理回路100から制御線124に
出力される論理状態に反応して選択される。イネーブル
が論理1の状態をもつ場合は、回路121がアクティブ
にされ、それ以外の場合は、回路121はアクティブに
されない。回路121がアクティブでない場合は、プロ
セッサ10の電力消費は少なく、出力ノードOUTは、
高インピーダンス状態にある。回路121がアクティブ
にされている間に、DがDより高い電圧をもつ場合は、
OUTはVddに実質的に等しい電圧(即ち論理1状
態)をもつ。これと比較して、回路121がアクティブ
にされている間に、DがDより低い電圧をもつ場合は、
OUTはGNDに実質的に等しい電圧(即ち論理0の状
態)をもつ。
が、制御論理回路100とAddress Tagxyと
の間を転送され、状態情報が、制御論理回路100とS
tatexyとの間を転送される。バス116、118及
び120aから120dを介して、命令情報(またはデー
タ・キャッシュ16の場合はデータ情報)が制御論理回
路100とWxyzとの間を転送される。
理回路100は、シーケンサ・ユニット18から有効ア
ドレスを受信する。制御論理回路100は、前記のよう
に受信した有効アドレス・ビット25から211従って特
定のセットxを決定し、制御論理回路100はセットx
のブロック0〜ブロック3から情報を入手する。更に詳
細には、制御論理回路100は、バス110を介して4
つのアドレス・タグ、Address Tagx0、Ad
dress Tagx1、Address Tagx2、及
びAddress Tagx3を読み取り、更にそれらの
タグそれぞれの4つの状態、Statex0、State
x1、Statex2、及びStatex3を読み取る。
アドレスのビット23及び24を、制御線122を介して
マルチプレクサ114a〜114dに出力する。マルチプ
レクサ114aは、制御線122の論理状態に反応し
て、セットxのブロック0から選択したダブル・ワード
をバス118に出力する。例えば選択したダブル・ワー
ドは、(a)Wx00及びWx01として示されているDRA
Mセル、(b)Wx02及びWx03で示されているDRAM
セル、(c)Wx04及びWx05で示されているDRAMセ
ル、または(d)Wx06及びWx07で示されているDRA
Mセルのいずれかからのものである。
て、マルチプレクサ114bは、セットxのブロック1
から選択されたダブル・ワードをバス118に出力し、
マルチプレクサ114cは、セットxのブロック2から
選択されたダブル・ワードをバス118に出力し、更に
マルチプレクサ114dは、セットxのブロック3から
選択されたダブル・ワードをバス118に出力する。マ
ルチプレクサ112は、バス118を介してマルチプレ
クサ114a〜114dから4つのダブル・ワードのすべ
てを受信する。
友好アドレスを特定の物理アドレスに変換する。制御論
理回路100は、特定の物理アドレスのビット212から
231を、バス110から来るすべての有効なAddre
ss Tagxyと比較する。Address Tagxy
の有効性は、Address Tagxyに付随するSt
atexy中の「有効」ビットのディジタル論理値が示
す。このような比較の結果、特定の物理アドレスのビッ
ト212から231が、いずれかの有効なAddress
tagxyと一致した場合は、制御論理回路100は、制
御線126を介して適切な制御信号をマルチプレクサ1
12に出力する。その結果マルチプレクサ112は、バ
ス116を介して制御論理回路100に、(a)Add
resstagx0と一致したのであれば、マルチプレク
サ114aからのダブル・ワード、(b)Addres
s Tagx1と一致したのであれば、マルチプレクサ1
14bからのダブル・ワード、(c)Address
Tagx2と一致したのであれば、マルチプレクサ114
cからのダブル・ワード、または(d)Address
Tagx3と一致したのであれば、マルチプレクサ11
4dからのダブル・ワードのいずれかを出力する。
プレクサ112からダブル・ワードを入手する。プロセ
ッサ10が全電力モードで動作している場合は、制御論
理回路100は、前記の実例としての命令フェッチ動作
の一部として、ダブル・ワードをマルチプレクサ112
からシーケンサ・ユニット18に出力する。
別」電力モードで動作している場合は、制御論理回路1
00は、単一のワード(即ちダブル・ワードの半分)の
みをマルチプレクサ112からシーケンサ・ユニット1
8に出力する。制御論理回路100は、有効アドレスの
ビット22に従って単一のワードを選択する。これは、
プロセッサ10が「特別」電力モードで動作している場
合は、プロセッサ10の単一サイクルの間に、命令バッ
ファ70(図3参照)が64ビットのバス50を介し
て、命令キャッシュ14から(2つまでの32ビット命
令の代わりに)単一の32ビット命令のみを入手できる
からである。
0は、イネーブル線102上に適切な信号を出力し、そ
の結果、センス増幅器108aから108hの選択された
サブグループのみがアクティブにされ、センス増幅器1
08aから108hの選択されなかったサブグループは、
使用不可状態となる。選択されたサブグループは、ワー
ドWxyz用のディジタル情報を保管しているDRAMセ
ルに結合されているサブグループであり、ここで(a)
xは0から127までの可変のセット番号であり、
(b)yは0から3までの一定のブロック番号であり、
(c)zは有効なアドレス・ビット22から24に従って
選択された0から7までの一定のワード番号である。こ
のようにしてプロセッサ10は、プロセッサ10のサイ
クル当たり、命令キャッシュ14の(全電力モードに比
較して)少ないセンス増幅回路をアクティブにする。こ
れによって命令キャッシュ14の平均電力消費(したが
ってプロセッサ10の平均電力消費)が減少する。
ちSPSが論理1状態をもつ)に反応して「特別」電力
モードに入った場合は、更に電力消費が減る。その理由
は、この状況では制御論理回路100は、命令キャッシ
ュ内のウェイ数を4ウェイの代わりに2ウェイに減らす
からである。したがってプロセッサ10が「特別」電力
モードで動作している間に、制御論理回路100は、
(a)AddressTagx2及びAddress T
agx3が、それぞれStatex2及びStatex3中の
「有効」ビットのディジタル論理値が示すように、有効
ではなく、(b)Address tagx0及びAdd
ress Tagx1のみが、それぞれStatex0及び
Statex1中の「有効」ビットのディジタル論理値が
示すように、有効にされていることが確実な状況で動作
する。
では、256のセンス増幅器(2ワード/ウェイ×4バ
イト/ワード×8ビット/バイト×4ウェイ×1センス
増幅器/ビット)の代わりに、64のセンス増幅器(1
ワード/ウェイ×4バイト/ワード×8ビット/バイト
×2ウェイ×1センス増幅器/ビット)がアクティブに
され、これは図2及び図3に関連させて前記で詳しく説
明した通りである。これにより都合よく、命令キャッシ
ュ14の平均電力消費(したがってプロセッサ10の平
均電力消費)が顕著に減少する。
象に反応して「特別」電力モードに入った場合は、プロ
セッサ10は、データ・キャッシュ16内のウェイ数を
4ウェイの代わりに2ウェイに減らす。したがって、こ
の状況でのLSU28の浮動小数点ロード動作では、6
4のセンス増幅器(1ワード/ウェイ×4バイト/ワー
ド×8ビット/バイト×2ウェイ×1センス増幅器/ビ
ット)が、256のセンス増幅器(2ワード/ウェイ×
4バイト/ワード×8ビット/バイト×4ウェイ×1セ
ンス増幅器/ビット)の代わりにアクティブにされ、こ
れは図5に関連させて前記で詳しく説明した通りであ
る。これにより都合よく、データ・キャッシュ16の平
均電力消費(したがってプロセッサ10の平均電力消
費)が顕著に減少する。
0の状態から論理1の状態に移行した瞬間に発生する。
SPR40の「HID0」レジスタの所定のビットに向
けて、CFXU26が最初のMTSPR命令を実行する
ときに、SPSが論理1状態に移行する。最初のMTS
PR命令は、SPSの論理1状態を指定する。
せるために、最初のMTSPR命令の直前に、ソフトウ
ェアが「同期化(SYNC)」命令を指定し、その直後
に「命令同期化(ISYNC)」命令を指定することが
有用である。最初のMTSPR命令の直後に、ソフトウ
ェアがもう1つのISYNC命令を指定することは有用
である。
が、ソフトウェア事象(即ちSPSが論理1の状態をも
つ)に反応して「特別」電力モードに入った場合は、プ
ロセッサ10は、命令キャッシュ14及びデータ・キャ
ッシュ16内のウェイ数を、4ウェイの代わりに2ウェ
イに減らす。したがって最初のMTSPR命令に先行す
るSYNC命令の直前に、ソフトウェアが「データ・キ
ャッシュ・ブロック・フラッシュ(DCBF)」命令、
及び「命令キャッシュ・ブロック無効化(ICBI)」
命令を指定することが重要である。
タの所定のビットに向けて、CFXU26が第2のMT
SPR命令を実行するときに、SPSは論理0に移行す
る。第2のMTSPR命令は、SPSの論理0の状態を
指定する。第2のMTSPR命令の直前に、ソフトウェ
アがSYNC命令を指定し、その直後にISYNC命令
を指定することは有用である。第2のMTSPRの直後
に、ソフトウェアがもう1つのISYNC命令を指定す
ることは有用である。
する。データ・キャッシュ16内のいずれかのライン
が、有効アドレスに存在する情報(例えばデータ)を保
管する場合は、プロセッサ10は、DCBF命令に従っ
て、Statexy中のこのラインの有効ビットを消去す
ることによって、このラインを無効化する。この無効化
されたラインが、(有効アドレスに従って変換された)
同じ物理アドレスにあるメモリ39(図1参照)に保管
された旧バージョンの情報に対応するものとして、プロ
セッサ10によって既に変更されている情報を保管して
いる場合は、プロセッサ10は、更にDCBF命令に反
応して、変更された情報をデータ・キャッシュ16から
メモり39内の同じ物理アドレスにコピーすることによ
って、メモリ39を更新する。SPSが論理1に移行す
る前に、データ・キャッシュ16内の128個すべての
セットのブロック2、及びブロック3内のすべてのライ
ンが確実に無効化されるように、ソフトウェアが十分な
DCBF命令を指定することが重要である。
命令キャッシュ14内のいずれかのラインが、有効アド
レスに情報(例えば命令)を保管する場合は、プロセッ
サ10は、ICBI命令に従って、Statexy内のこ
のラインの「有効」ビットを消去することによって、こ
のラインを無効化する。SPSが論理1に移行する前
に、命令キャッシュ14内の128個すべてのセットの
ブロック2、及びブロック3内のすべてのラインが確実
に無効化されるように、ソフトウェアが十分なICBI
命令を指定することが重要である。
るすべての命令の実行に対して、順序づけ機能を提供す
る。プロセッサ10が、SYNC命令を実行する際に、
次の命令(即ち実行用命令のプログラムされた順序内
で、SYNC命令に続く命令)のいずれかを実行する前
に、プロセッサは、「タッチ・ロード」操作及び命令フ
ェッチを除くすべての以前の命令(即ち実行用命令のプ
ログラムされた順序内で、SYNC命令の前にある命
令)が、少なくともそれ以降に例外を引き起こすことが
ない段階まで完了していることを確認する。
了したとき、(メモリ39をアクセスする他のすべての
方法に関して)プロセッサ10は、このSYNC命令の
前にプロセッサ10が開始したすべての外部アクセスを
実行し終わっている。プロセッサ10は、更に以前の命
令に従って開始されたすべての自身のロード・キャッシ
ュ/バス活動、及びストア・キャッシュ/バス活動を完
了させている。プロセッサ10は、すべての以前の「デ
ータ・キャッシュ・ブロック・タッチ(DCBT)」、
及び「保管用データ・キャッシュ・ブロック・タッチ
(DCBTFS)」命令が、少なくともアドレス変換を
完了するまで、SYNC命令の完了を遅らせる。しかし
このことは、これらのDCBT及びDCBTFT命令
が、システム・バス11上で完了したか否かには関係な
い。SYNC、DCBT、及びDCBTFT命令は、前
記の「PowerPC 603e RISC Micr
oprocessor User’s Manual」
に更に詳しく説明されている。
て、すべての以前の命令(即ち実行用命令のプログラム
された順序内で、ISYNC命令の前にある命令)の実
行が完了できるまで待つ。そこでプロセッサ10は、す
べてのフェッチ済みの命令を廃棄し、その結果、以前の
命令によって確定された文脈で、次の命令がフェッチ
(または再フェッチ)され、実行される。プロセッサ1
0がISYNC命令を実行するに際し、他のプロセッサ
やそれらのキャッシュには影響を与えない。
際し、再フェッチの連続化を行う。このようにしてプロ
セッサ10が、何らかの次の命令(実行用命令のプログ
ラムされた順序内で、ISYNC命令に続く命令)を実
行する前に、プロセッサ10は、(a)すべての以前の
命令が、少なくともそれ以降に例外を引き起こすことが
ない段階まで完了しており、(b)すべての以前のスト
ア操作が少なくともアドレス変換を完了していることを
確認する。これらの次の命令は、以前の命令のすべての
結果に影響される。ISYNC命令は文脈に同期化され
る。
態から論理1の状態に移行する瞬間に発生する。プロセ
ッサ10は、HPSの論理0状態から論理1状態への移
行に反応して、次のエミュレーション活動を行う。 1.シーケンサ・ユニット18(図1を参照)は、プロ
セッサ10の実行ユニットに未だディスパッチされてな
い、命令バッファ70(図3を参照)内のすべての保留
状態の命令を打ち切る。 2.プロセッサ10は、実行ユニット(分岐ユニット2
0、FXU22、CFXU26、LSU28、及びFP
U30)内のすべての保留状態の命令を打ち切る。その
結果、これらの保留状態の命令は実行されない。上記と
関連してLSU28(図1を参照)は、データ・キャッ
シュ16内の情報記憶域に未だ保管が行われてないすべ
ての保留状態のストア命令を打ち切る。例えば本実施例
では、LSU28はストアの待ち行列を含む。したがっ
てLSU28は、ストア待ち行列内のすべての保留状態
のストア要求を打ち切り、その結果、これらの保留状態
のストア要求は実行されない。 3.プロセッサ10は、リネーム・バッファ34及び3
8(図1を参照)内のすべてのエントリを無効化する。
プロセッサ10は、例えばライトバック・ポインタ18
2(図5を参照)及び完了ポインタ184を移動させ、
その結果、ライトバック・ポインタ182及び完了ポイ
ンタ184は、割り振りポインタ180と同じリネーム
・バッファ・エントリを指す。 4.シーケンサ・ユニット18(図2参照)は、リオー
ダ・バッファ76の完了ポインタ175(図4を参照)
が指す命令のアドレスを保存する。プロセッサ10は、
その後完了ポインタ175を移動させることにより、リ
オーダ・バッファ76内のすべてのエントリを無効化す
る。その結果完了ポインタ175は、割り振りポインタ
173と同じリオーダ・バッファ・エントリを指す。
ン活動を実行した後、フェッチ論理回路71(図2を参
照)は、直前の段落(即ち上記のエミュレーション活動
4)で説明したように、シーケンサ・ユニット18が保
存したアドレスで始めて、命令のフェッチを再開する。
セッサ10がソフトウェア事象、またはハードウェア事
象のいずれに反応して「特別」電力モードに入ったかに
関係なく、プロセッサ10が「特別」電力モードに入る
ときはいつでも、命令キャッシュ14及びデータ・キャ
ッシュ16内のウェイ数を、4ウェイの代わりに2ウェ
イに減らす。このような代替実施例では、HPSの論理
0状態から論理1状態への移行に反応して、次のことが
行われる。 (1)制御論理回路100(図6を参照)は、命令キャ
ッシュ14内の128個のすべてのセットのブロック
2、及びブロック3内のすべてのラインが無効化され、
Statex2及びStatex3中の「有効」ビットが消
去されることを確実に行う。 (2)同様にデータ・キャッシュ16の制御論理回路
は、データ・キャッシュ16内の128個のすべてのセ
ットのブロック2、及びブロック3内のすべてのライン
が無効化されることを確実に行う。 (3)データ・キャッシュ16内のこのような無効化さ
れたラインのいずれかが、(有効アドレスに従って変換
された)同じ物理アドレスに存在するメモリ39(図1
を参照)内に保管された旧バージョンの情報に対応する
ものとして、プロセッサ10によって既に変更された情
報を保管している場合は、プロセッサ10は、変更され
た情報をデータ・キャッシュ16からメモり39内の同
じ物理アドレスにコピーすることによって、メモリ39
を更新する。
4内に新情報を保管するために、最も以前に使用された
(「LRU」)情報を交換する方法を実施する。上記に
関してデータ・キャッシュ16は、命令キャッシュ14
と実質的に同じである。データ・キャッシュ16は、命
令キャッシュ14に比較して、プロセッサ10がデータ
・キャッシュ16に書き込む動作を更にサポートする。
プロセッサ10は、バイト毎、ハーフワード、ワード、
またはダブルワードのベースでこのような書き込み動作
を実行できる。プロセッサ10は、更にプロセッサ10
の単一サイクル内で、データ・キャッシュ16への完全
な「読み取り−変更−書き込み(read−modif
y−write)」動作を実行できる。データ・キャッ
シュ16は、ライトバック・モードかまたはライトスル
ー・モードのいずれかを選択して動作し、更にデータ・
キャッシュは、ページ毎及びライン毎のベースで、キャ
ッシング容易性の制御、書き込みポリシ、メモリ・コヒ
ーレンスを実施する。
の事項を開示する。
ュ・メモリが第1の電力モードで動作している間、前記
キャッシュ・メモリのN本(ここでNはN>1の整数で
ある)までのウェイで情報を保管し、前記キャッシュ・
メモリが第2の電力モードで動作している間、前記キャ
ッシュ・メモリのM本(ここでMはN>M>0の整数で
ある)までのウェイで前記情報を保管する、前記保管す
る動作を含む方法。 (2)前記N本のウェイが前記M本のウェイを含む、
(1)に記載の方法。 (3)前記第1の電力モードが全電力モードであり、前
記第2の電力モードが低電力モードである、(1)に記
載の方法。 (4)前記キャッシュ・メモリが、ソフトウェア事象に
反応して前記第2の電力モードで動作する、(1)に記
載の方法。 (5)前記キャッシュ・メモリが、ハードウェア事象に
反応して前記第2の電力モードで動作する、(1)に記
載の方法。 (6)前記ハードウェア事象が、前記キャッシュ・メモ
リの温度が限界温度を超えたときに発生する、(5)に
記載の方法。 (7)前記限界温度が、前記第1の電力モードで動作し
ている前記キャッシュ・メモリの最高安全温度である、
(6)に記載の方法。 (8)前記第2の電力モードで動作している前記キャッ
シュ・メモリに反応して、前記M本のウェイ以外の前記
キャッシュ・メモリのウェイに保管された前記情報を無
効化することを含む、(1)に記載の方法。 (9)前記無効化された情報が、システム・メモリ内に
保管された前記情報のバージョンに対して変更されたこ
とに反応して、前記無効化された情報を前記キャッシュ
・メモリから前記システム・メモリにコピーすることを
含む、(8)に記載の方法。 (10)前記キャッシュ・メモリが前記第2の電力モー
ドで動作している間、前記M本のウェイ以外の前記キャ
ッシュ・メモリのウェイに結合されたセンス増幅器のグ
ループを使用不可にすることを含む、(1)に記載の方
法。 (11)前記キャッシュ・メモリが命令キャッシュ・メ
モリである、(1)に記載の方法。 (12)前記キャッシュ・メモリがデータ・キャッシュ
・メモリである、(1)に記載の方法。 (13)キャッシュ・メモリが第1の電力モードで動作
している間、前記キャッシュ・メモリのN本(ここでN
はN>1の整数である)までのウェイで情報を保管し、
前記キャッシュ・メモリが第2の電力モードで動作して
いる間、前記キャッシュ・メモリのM本(ここでMはN
>M>0の整数である)までのウェイで前記情報を保管
する、前記保管するためのセット・アソシアティブ・キ
ャッシュ・メモリを含む回路。 (14)前記N本のウェイが前記M本のウェイを含む、
(13)に記載の回路。 (15)前記第1の電力モードが全電力モードであり、
前記第2の電力モードが低電力モードである、(13)
に記載の回路。 (16)前記キャッシュ・メモリが、ソフトウェア事象
に反応して前記第2の電力モードで動作する、(13)
に記載の回路。 (17)前記キャッシュ・メモリが、ハードウェア事象
に反応して前記第2の電力モードで動作する、(13)
に記載の回路。 (18)前記ハードウェア事象が、前記キャッシュ・メ
モリの温度が限界温度を超えたときに発生する、(1
7)に記載の回路。 (19)前記限界温度が、前記第1の電力モードで動作
している前記キャッシュ・メモリの最高安全温度であ
る、(18)に記載の回路。 (20)前記第2の電力モードで動作している前記キャ
ッシュ・メモリに反応して、前記M本のウェイ以外の前
記キャッシュ・メモリのウェイに保管された前記情報を
無効化するための回路を含む、(13)に記載の回路。 (21)前記情報の1バージョンを保管するためのシス
テム・メモリと、前記無効化された情報が、前記システ
ム・メモリ内に保管された前記情報の前記バージョンに
対して変更されたことに反応して、前記無効化された情
報を前記キャッシュ・メモリから前記システム・メモリ
にコピーするための回路と、を含む、(20)に記載の
回路。 (22)前記キャッシュ・メモリが前記第2の電力モー
ドで動作している間、前記M本のウェイ以外の前記キャ
ッシュ・メモリのウェイに結合されたセンス増幅器のグ
ループを使用不可にするための回路を含む、(13)に
記載の回路。 (23)前記キャッシュ・メモリが命令キャッシュ・メ
モリである、(13)に記載の回路。 (24)前記キャッシュ・メモリがデータ・キャッシュ
・メモリである、(13)に記載の回路。
ッサ・システムのブロック図である。
のブロック図である。
ァ待ち行列のブロック図である。
バッファを概念的に示す図である。
概念的に示す図である。
ック図である。
構造を示す電気回路図である。
ッファ 50(図3) 64ビット・バス 52a、52b(図3) 命令バッファ 54a、54b(図3) 命令バッファ 56(図3) ディスパッチ・バッファ 70(図3) 命令バッファ 76(図4) リオーダ・バッファ 110(図6) バス 114a、114b、114c、114d(図6)マル
チプレクサ 116(図6) バス 118(図6) バス 120a、120b、120c、120d(図6)バス 121(図7) センス増幅回路 122(図6) 制御線 124(図6) 制御線 126(図6) 制御線
Claims (20)
- 【請求項1】セット・アソシアティブ・キャッシュ・メ
モリ及び複数の実行ユニットを含むプロセッサ内の電力
消費を減少させる方法であって、前記 セット・アソシアティブ・キャッシュ・メモリが第
1の電力モードで動作している間、前記セット・アソシ
アティブ・キャッシュ・メモリのN本(ここでNはN>
1の整数である)までのウェイで情報を保管するステッ
プと、前記第1の電力モードに比べて前記実行ユニットの各々
が使用されていないときが多い 第2の電力モードで前記
セット・アソシアティブ・キャッシュ・メモリが動作し
ている間、前記セット・アソシアティブ・キャッシュ・
メモリのM本(ここでMはN>M>0の整数である)ま
でのウェイで前記情報を保管するステップと、前記第2の電力モードで動作している前記セット・アソ
シアティブ・キャッシュ・メモリに応答して、前記M本
のウェイ以外の前記キャッシュ・メモリのウェイに保管
された前記情報を無効化するステップとを 含む方法。 - 【請求項2】前記N本のウェイが前記M本のウェイを含
む、請求項1に記載の方法。 - 【請求項3】前記セット・アソシアティブ・キャッシュ
・メモリが、ソフトウェア事象に反応して前記第2の電
力モードで動作する、請求項1に記載の方法。 - 【請求項4】前記セット・アソシアティブ・キャッシュ
・メモリが、ハードウェア事象に反応して前記第2の電
力モードで動作する、請求項1に記載の方法。 - 【請求項5】前記ハードウェア事象が、前記セット・ア
ソシアティブ・キャッシュ・メモリの温度が限界温度を
超えたときに発生する、請求項4に記載の方法。 - 【請求項6】前記限界温度が、前記第1の電力モードで
動作している前記セット・アソシアティブ・キャッシュ
・メモリの最高安全温度である、請求項5に記載の方
法。 - 【請求項7】前記無効化された情報が、システム・メモ
リ内に保管された前記情報のバージョンに対して変更さ
れたことに反応して、前記無効化された情報を前記セッ
ト・アソシアティブ・キャッシュ・メモリから前記シス
テム・メモリにコピーすることを含む、請求項1に記載
の方法。 - 【請求項8】前記セット・アソシアティブ・キャッシュ
・メモリが前記第2の電力モードで動作している間、前
記M本のウェイ以外の前記セット・アソシアティブ・キ
ャッシュ・メモリのウェイに結合されたセンス増幅器の
グループを使用不可にすることを含む、請求項1に記載
の方法。請求項1に記載の方法。 - 【請求項9】前記セット・アソシアティブ・キャッシュ
・メモリが命令キャッシュ・メモリである、請求項1に
記載の方法。 - 【請求項10】前記セット・アソシアティブ・キャッシ
ュ・メモリがデータ・キャッシュ・メモリである、請求
項1に記載の方法。 - 【請求項11】セット・アソシアティブ・メモリ・キャ
ッシュおよび複数の実行ユニットを含むプロセッサ内の
電力消費を減少させる回路であって、前記 セット・アソシアティブ・キャッシュ・メモリが第
1の電力モードで動作している間、前記セット・アソシ
アティブ・キャッシュ・メモリのN本(ここでNはN>
1の整数である)までのウェイで情報を保管し、前記第1の電力モードに比べて前記実行ユニットの各々
が使用されていないときが多い 第2の電力モードで前記
セット・アソシアティブ・キャッシュ・メモリが動作し
ている間、前記セット・アソシアティブ・キャッシュ・
メモリのM本(ここでMはN>M>0の整数である)ま
でのウェイで前記情報を保管し、前記第2の電力モードで動作している前記セット・アソ
シアティブ・キャッシュ・メモリに応答して、前記M本
のウェイ以外の前記セット・アソシアティブ・キャッシ
ュ・メモリのウェイに保管された前記情報を無効化する
回路。 - 【請求項12】前記N本のウェイが前記M本のウェイを
含む、請求項11に記載の回路。 - 【請求項13】前記セット・アソシアティブ・キャッシ
ュ・メモリが、ソフトウェア事象に反応して前記第2の
電力モードで動作する、請求項11に記載の回路。 - 【請求項14】前記セット・アソシアティブ・キャッシ
ュ・メモリが、ハードウェア事象に反応して前記第2の
電力モードで動作する、請求項11に記載の回路。 - 【請求項15】前記ハードウェア事象が、前記セット・
アソシアティブ・キャッシュ・メモリの温度が限界温度
を超えたときに発生する、請求項14に記載の回路。 - 【請求項16】前記限界温度が、前記第1の電力モード
で動作している前記セット・アソシアティブ・キャッシ
ュ・メモリの最高安全温度である、請求項15に記載の
回路。 - 【請求項17】前記情報の1バージョンを保管するため
のシステム・メモリと、 前記無効化された情報が、前記システム・メモリ内に保
管された前記情報の前記バージョンに対して変更された
ことに反応して、前記無効化された情報を前記セット・
アソシアティブ・キャッシュ・メモリから前記システム
・メモリにコピーするための回路とを含む、請求項11
に記載の回路。 - 【請求項18】前記セット・アソシアティブ・キャッシ
ュ・メモリが前記第2の電力モードで動作している間、
前記M本のウェイ以外の前記セット・アソシアティブ・
キャッシュ・メモリのウェイに結合されたセンス増幅器
のグループを使用不可にするための回路を含む、請求項
11に記載の回路。 - 【請求項19】前記セット・アソシアティブ・キャッシ
ュ・メモリが命令キャッシュ・メモリである、請求項1
1に記載の回路。 - 【請求項20】前記セット・アソシアティブ・キャッシ
ュ・メモリがデータ・キャッシュ・メモリである、請求
項11に記載の回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/726,871 US5870616A (en) | 1996-10-04 | 1996-10-04 | System and method for reducing power consumption in an electronic circuit |
US08/726871 | 1996-10-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10124202A JPH10124202A (ja) | 1998-05-15 |
JP3466062B2 true JP3466062B2 (ja) | 2003-11-10 |
Family
ID=24920357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26556397A Expired - Fee Related JP3466062B2 (ja) | 1996-10-04 | 1997-09-30 | プロセッサ内の電力消費を減少させる方法及び回路 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5870616A (ja) |
JP (1) | JP3466062B2 (ja) |
KR (1) | KR100260864B1 (ja) |
CN (1) | CN1099076C (ja) |
GB (1) | GB2317976B (ja) |
SG (1) | SG70606A1 (ja) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6314523B1 (en) * | 1997-04-09 | 2001-11-06 | Compaq Computer Corporation | Apparatus for distributing power to a system of independently powered devices |
US6167524A (en) * | 1998-04-06 | 2000-12-26 | International Business Machines Corporation | Apparatus and method for efficient battery utilization in portable personal computers |
US6185657B1 (en) * | 1998-04-20 | 2001-02-06 | Motorola Inc. | Multi-way cache apparatus and method |
US6421698B1 (en) * | 1998-11-04 | 2002-07-16 | Teleman Multimedia, Inc. | Multipurpose processor for motion estimation, pixel processing, and general processing |
US6658532B1 (en) * | 1999-12-15 | 2003-12-02 | Intel Corporation | Cache flushing |
US6446168B1 (en) * | 2000-03-22 | 2002-09-03 | Sun Microsystems, Inc. | Method and apparatus for dynamically switching a cache between direct-mapped and 4-way set associativity |
US7263567B1 (en) * | 2000-09-25 | 2007-08-28 | Intel Corporation | Method and apparatus for lowering the die temperature of a microprocessor and maintaining the temperature below the die burn out |
US6845432B2 (en) * | 2000-12-28 | 2005-01-18 | Intel Corporation | Low power cache architecture |
TW586666U (en) * | 2001-04-03 | 2004-05-01 | Univ Nat Chiao Tung | Microprocessor command reading structure |
KR100395756B1 (ko) * | 2001-06-16 | 2003-08-21 | 삼성전자주식회사 | 캐쉬 메모리 및 이를 이용하는 마이크로 프로세서 |
US7152170B2 (en) * | 2003-02-20 | 2006-12-19 | Samsung Electronics Co., Ltd. | Simultaneous multi-threading processor circuits and computer program products configured to operate at different performance levels based on a number of operating threads and methods of operating |
US20050046400A1 (en) * | 2003-05-21 | 2005-03-03 | Efraim Rotem | Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components |
US7174405B1 (en) * | 2003-06-06 | 2007-02-06 | Cisco Technology, Inc. | Method and system for replacing a read-modify-write operation with an atomic set-bits or clear-bits operation |
TWI224281B (en) * | 2003-07-16 | 2004-11-21 | Sunplus Technology Co Ltd | A processor executing script with different length and method thereof |
US7233880B2 (en) * | 2003-09-11 | 2007-06-19 | Intel Corporation | Adaptive cache algorithm for temperature sensitive memory |
US20050138296A1 (en) * | 2003-12-18 | 2005-06-23 | Coulson Richard L. | Method and system to alter a cache policy |
US7664970B2 (en) | 2005-12-30 | 2010-02-16 | Intel Corporation | Method and apparatus for a zero voltage processor sleep state |
US20070156992A1 (en) * | 2005-12-30 | 2007-07-05 | Intel Corporation | Method and system for optimizing latency of dynamic memory sizing |
US7966511B2 (en) | 2004-07-27 | 2011-06-21 | Intel Corporation | Power management coordination in multi-core processors |
US7818502B2 (en) * | 2005-03-31 | 2010-10-19 | Semiconductor Energy Laboratory Co., Ltd. | Selectively powering down tag or data memories in a cache based on overall cache hit rate and per set tag hit rate |
US7475192B2 (en) * | 2005-07-12 | 2009-01-06 | International Business Machines Corporation | Cache organization for power optimized memory access |
US7647514B2 (en) * | 2005-08-05 | 2010-01-12 | Fujitsu Limited | Reducing power consumption at a cache |
US20070083783A1 (en) * | 2005-08-05 | 2007-04-12 | Toru Ishihara | Reducing power consumption at a cache |
US20070043965A1 (en) * | 2005-08-22 | 2007-02-22 | Intel Corporation | Dynamic memory sizing for power reduction |
US7562191B2 (en) * | 2005-11-15 | 2009-07-14 | Mips Technologies, Inc. | Microprocessor having a power-saving instruction cache way predictor and instruction replacement scheme |
US7689772B2 (en) * | 2006-05-04 | 2010-03-30 | Intel Corporation | Power-performance modulation in caches using a smart least recently used scheme |
US7644293B2 (en) * | 2006-06-29 | 2010-01-05 | Intel Corporation | Method and apparatus for dynamically controlling power management in a distributed system |
US7827425B2 (en) * | 2006-06-29 | 2010-11-02 | Intel Corporation | Method and apparatus to dynamically adjust resource power usage in a distributed system |
JP2008090673A (ja) * | 2006-10-03 | 2008-04-17 | Mitsubishi Electric Corp | キャッシュメモリ制御装置 |
US8028131B2 (en) | 2006-11-29 | 2011-09-27 | Intel Corporation | System and method for aggregating core-cache clusters in order to produce multi-core processors |
US8151059B2 (en) * | 2006-11-29 | 2012-04-03 | Intel Corporation | Conflict detection and resolution in a multi core-cache domain for a chip multi-processor employing scalability agent architecture |
JP2009251713A (ja) * | 2008-04-02 | 2009-10-29 | Toshiba Corp | キャッシュメモリ制御装置 |
GB2464131A (en) * | 2008-10-06 | 2010-04-07 | Ibm | Lowering i/o power of a computer system by lowering code switching frequency |
JP5338905B2 (ja) * | 2009-05-29 | 2013-11-13 | 富士通株式会社 | キャッシュ制御装置およびキャッシュ制御方法 |
US9164905B2 (en) | 2009-09-02 | 2015-10-20 | Nec Corporation | Semiconductor integrated circuit device, method of controlling semiconductor integrated circuit device, and cache device |
US9164772B2 (en) | 2011-02-04 | 2015-10-20 | Qualcomm Incorporated | Hybrid queue for storing instructions from fetch queue directly in out-of-order queue or temporarily in in-order queue until space is available |
WO2012169142A1 (en) | 2011-06-09 | 2012-12-13 | Semiconductor Energy Laboratory Co., Ltd. | Cache memory and method for driving the same |
JP6012263B2 (ja) | 2011-06-09 | 2016-10-25 | 株式会社半導体エネルギー研究所 | 半導体記憶装置 |
US9135182B2 (en) | 2012-06-01 | 2015-09-15 | Semiconductor Energy Laboratory Co., Ltd. | Central processing unit and driving method thereof |
US20140136793A1 (en) * | 2012-11-13 | 2014-05-15 | Nvidia Corporation | System and method for reduced cache mode |
GB2514618B (en) * | 2013-05-31 | 2020-11-11 | Advanced Risc Mach Ltd | Data processing systems |
KR20200114481A (ko) | 2019-03-28 | 2020-10-07 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5091851A (en) * | 1989-07-19 | 1992-02-25 | Hewlett-Packard Company | Fast multiple-word accesses from a multi-way set-associative cache memory |
IL96808A (en) * | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US5345569A (en) * | 1991-09-20 | 1994-09-06 | Advanced Micro Devices, Inc. | Apparatus and method for resolving dependencies among a plurality of instructions within a storage device |
US5452401A (en) * | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
US5761473A (en) * | 1993-01-08 | 1998-06-02 | International Business Machines Corporation | Method and system for increased instruction synchronization efficiency in a superscalar processsor system utilizing partial data dependency interlocking |
KR0122528B1 (ko) * | 1993-01-08 | 1997-11-20 | 윌리엄 티.엘리스 | 슈퍼스칼라 프로세서 시스템에서 중간 기억 버퍼의 할당을 인덱스하기 위한 방법 및 시스템 |
US5465373A (en) * | 1993-01-08 | 1995-11-07 | International Business Machines Corporation | Method and system for single cycle dispatch of multiple instructions in a superscalar processor system |
US5682515A (en) * | 1993-01-25 | 1997-10-28 | Benchmarq Microelectronics, Inc. | Low power set associative cache memory with status inhibit of cache data output |
US5420808A (en) * | 1993-05-13 | 1995-05-30 | International Business Machines Corporation | Circuitry and method for reducing power consumption within an electronic circuit |
WO1995016952A1 (en) * | 1993-12-15 | 1995-06-22 | Silicon Graphics Inc. | Superscalar microprocessor instruction pipeline including instruction dispatch and release control |
CA2157595A1 (en) * | 1994-01-05 | 1995-07-13 | William H. Keehn | Safe-stop mode for a microprocessor operating in a pseudo-static random access memory environment |
JP3428741B2 (ja) * | 1994-02-14 | 2003-07-22 | 松下電器産業株式会社 | 演算装置とアドレス発生装置及びプログラム制御装置 |
US5495419A (en) * | 1994-04-19 | 1996-02-27 | Lsi Logic Corporation | Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing |
JP2858542B2 (ja) * | 1994-06-03 | 1999-02-17 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ用ディスク・ドライブの電力消費を節減する方法及び装置 |
US5666537A (en) * | 1994-08-12 | 1997-09-09 | Intel Corporation | Power down scheme for idle processor components |
GB2297398B (en) * | 1995-01-17 | 1999-11-24 | Advanced Risc Mach Ltd | Accessing cache memories |
JPH0950401A (ja) * | 1995-08-09 | 1997-02-18 | Toshiba Corp | キャッシュメモリ及びそれを備えた情報処理装置 |
-
1996
- 1996-10-04 US US08/726,871 patent/US5870616A/en not_active Expired - Lifetime
-
1997
- 1997-07-31 GB GB9716264A patent/GB2317976B/en not_active Expired - Fee Related
- 1997-08-11 SG SG1997002901A patent/SG70606A1/en unknown
- 1997-08-18 KR KR1019970039158A patent/KR100260864B1/ko not_active IP Right Cessation
- 1997-09-03 CN CN97117936A patent/CN1099076C/zh not_active Expired - Lifetime
- 1997-09-30 JP JP26556397A patent/JP3466062B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
Slaton,J. et al,The PowerPCTM 603E Microprocessor:An Enhanced,Low−Power,Superscalar Microprocessor,Proc. of 8th Int"l Conf.on Computere Design,米国,IEEE,1995年10月 2日,p.196−203 |
Also Published As
Publication number | Publication date |
---|---|
CN1099076C (zh) | 2003-01-15 |
CN1180196A (zh) | 1998-04-29 |
US5870616A (en) | 1999-02-09 |
KR100260864B1 (ko) | 2000-07-01 |
JPH10124202A (ja) | 1998-05-15 |
GB2317976B (en) | 2001-12-19 |
SG70606A1 (en) | 2000-02-22 |
GB9716264D0 (en) | 1997-10-08 |
GB2317976A (en) | 1998-04-08 |
KR19980032288A (ko) | 1998-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3466062B2 (ja) | プロセッサ内の電力消費を減少させる方法及び回路 | |
JP3177198B2 (ja) | プロセッサ内の電力消費を減少させる方法及び回路 | |
TW382672B (en) | Computer system and method for controlling the same | |
JP3285644B2 (ja) | キャッシュメモリを有するデータプロセッサ | |
US5860107A (en) | Processor and method for store gathering through merged store operations | |
US5249286A (en) | Selectively locking memory locations within a microprocessor's on-chip cache | |
US5897655A (en) | System and method for cache replacement within a cache set based on valid, modified or least recently used status in order of preference | |
US5551005A (en) | Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches | |
US6092159A (en) | Implementation of configurable on-chip fast memory using the data cache RAM | |
US20040064680A1 (en) | Method and apparatus for reducing register file access times in pipelined processors | |
US5893921A (en) | Method for maintaining memory coherency in a computer system having a cache utilizing snoop address injection during a read transaction by a dual memory bus controller | |
JP2713332B2 (ja) | データ処理装置及びメモリ・キャッシュの動作方法 | |
US9128857B2 (en) | Flush engine | |
JPH11312122A (ja) | 使用者が構築可能なオンチッププログラムメモリシステム | |
US6665767B1 (en) | Programmer initiated cache block operations | |
US5809532A (en) | Data processor with cache and method of operation | |
US6772326B2 (en) | Interruptible and re-entrant cache clean range instruction | |
EP0459233A2 (en) | Selectively locking memory locations within a microprocessor's on-chip cache | |
EP1107110B1 (en) | Instruction loop buffer | |
JP3048978B2 (ja) | 電子回路内の電力消費を減少させる方法及びシステム | |
US5895486A (en) | Method and system for selectively invalidating cache lines during multiple word store operations for memory coherence | |
US6963965B1 (en) | Instruction-programmable processor with instruction loop cache | |
JP3048979B2 (ja) | 電子回路内の電力消費を減少させる方法及びシステム | |
US20040078550A1 (en) | Multi-processor computing system having a JAVA stack machine and a RISC-based processor | |
US20040003308A1 (en) | Fixed point unit power reduction mechanism for superscalar loop execution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080829 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080829 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090829 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090829 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100829 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100829 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120829 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |