JP2620519B2 - オペレーションの処理システムおよび方法 - Google Patents
オペレーションの処理システムおよび方法Info
- Publication number
- JP2620519B2 JP2620519B2 JP6143460A JP14346094A JP2620519B2 JP 2620519 B2 JP2620519 B2 JP 2620519B2 JP 6143460 A JP6143460 A JP 6143460A JP 14346094 A JP14346094 A JP 14346094A JP 2620519 B2 JP2620519 B2 JP 2620519B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- information
- buffer
- processing system
- 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 - Lifetime
Links
- 238000012545 processing Methods 0.000 title claims description 77
- 238000000034 method Methods 0.000 title claims description 32
- 239000000872 buffer Substances 0.000 claims description 224
- 230000004044 response Effects 0.000 claims description 83
- 238000010586 diagram Methods 0.000 description 20
- 230000000630 rising effect Effects 0.000 description 12
- 230000007704 transition Effects 0.000 description 12
- 102100034013 Gamma-glutamyl phosphate reductase Human genes 0.000 description 11
- 101150075317 bfr1 gene Proteins 0.000 description 10
- 101000799554 Homo sapiens Protein AATF Proteins 0.000 description 8
- 102100034180 Protein AATF Human genes 0.000 description 8
- 238000012546 transfer Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 238000013468 resource allocation Methods 0.000 description 4
- 102100023328 G-protein coupled estrogen receptor 1 Human genes 0.000 description 3
- 101000829902 Homo sapiens G-protein coupled estrogen receptor 1 Proteins 0.000 description 3
- 101000648012 Homo sapiens Signal transducing adapter molecule 1 Proteins 0.000 description 2
- 102100025245 Signal transducing adapter molecule 1 Human genes 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004148 unit process Methods 0.000 description 2
- 102100033047 G-protein coupled receptor 3 Human genes 0.000 description 1
- 101000871088 Homo sapiens G-protein coupled receptor 3 Proteins 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 102100021145 fMet-Leu-Phe receptor Human genes 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 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/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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- 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
-
- 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/3858—Result writeback, i.e. updating the architectural state or memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
【0001】
【産業上の利用分野】本発明は、一般的に情報を処理す
るシステム、より詳細にはオペレーションの処理システ
ムおよび方法に関する。
るシステム、より詳細にはオペレーションの処理システ
ムおよび方法に関する。
【0002】
【従来の技術】スーパースカラー処理システムは、多数
の命令を同時に実行する多数の実行ユニットを有する。
或る処理システムにおいて、命令は、命令のストリーム
内のプログラムされた順序に関して無関係に実行可能で
ある。したがって、命令の結果は、必ずしも命令のプロ
グラムされた順序にしたがって得られるとは限らない。
それにもかかわらず、これらの処理システムのあるもの
は、命令のプログラムされた順序にしたがって、命令の
結果を構造化されたレジスタにライトバックするように
設計されている。
の命令を同時に実行する多数の実行ユニットを有する。
或る処理システムにおいて、命令は、命令のストリーム
内のプログラムされた順序に関して無関係に実行可能で
ある。したがって、命令の結果は、必ずしも命令のプロ
グラムされた順序にしたがって得られるとは限らない。
それにもかかわらず、これらの処理システムのあるもの
は、命令のプログラムされた順序にしたがって、命令の
結果を構造化されたレジスタにライトバックするように
設計されている。
【0003】この理由により、或る処理システムは、中
間的に記憶された結果を構造化されたレジスタにライト
バックする適切な時機まで、命令結果を中間的に記憶す
るリネーム・バッファを有する。従来の技術は、実行さ
れた命令間でデータ依存関係を受容するために、処理シ
ステムのリネーム・バッファを制御するように開発され
てきた。それにもかかわらず、このような従来の技術の
欠点は、この技術を実現するために、比較的に処理速度
が遅く、かなり複雑であり、システムの物理的なサイズ
が大きくなることである。処理速度が遅く、かなり複雑
であり、物理的に大きなサイズのために、このようなシ
ステムは、最新の集積回路マイクロプロセッサに用いる
のにあまり適していない。
間的に記憶された結果を構造化されたレジスタにライト
バックする適切な時機まで、命令結果を中間的に記憶す
るリネーム・バッファを有する。従来の技術は、実行さ
れた命令間でデータ依存関係を受容するために、処理シ
ステムのリネーム・バッファを制御するように開発され
てきた。それにもかかわらず、このような従来の技術の
欠点は、この技術を実現するために、比較的に処理速度
が遅く、かなり複雑であり、システムの物理的なサイズ
が大きくなることである。処理速度が遅く、かなり複雑
であり、物理的に大きなサイズのために、このようなシ
ステムは、最新の集積回路マイクロプロセッサに用いる
のにあまり適していない。
【0004】したがって、リネーム・バッファを制御す
るシステムの処理速度を従来の技術と比較して速くする
オペレーションの処理システムと方法の必要性が生じ
る。さらに、リネーム・バッファを制御するシステムの
物理サイズを従来の技術と比較して小さくするオペレー
ションの処理システムと方法の必要性が生じる。さら
に、リネーム・バッファを制御するシステムを従来の技
術と比較して先進の集積回路マイクロプロセッサの使用
にさらに適合させるオペレーションの処理システムと方
法の必要性が生じる。
るシステムの処理速度を従来の技術と比較して速くする
オペレーションの処理システムと方法の必要性が生じ
る。さらに、リネーム・バッファを制御するシステムの
物理サイズを従来の技術と比較して小さくするオペレー
ションの処理システムと方法の必要性が生じる。さら
に、リネーム・バッファを制御するシステムを従来の技
術と比較して先進の集積回路マイクロプロセッサの使用
にさらに適合させるオペレーションの処理システムと方
法の必要性が生じる。
【0005】
【発明が解決しようとする課題】本発明の技術的な有利
性は、従来の技術と比較して、リネーム・バッファを制
御するシステムの処理速度が速いということである。本
発明の他の技術的な有利性は、従来の技術と比較して、
リネーム・バッファを制御するシステムが複雑でないこ
とである。本発明のさらに他の技術的な有利性は、従来
の技術と比較して、リネーム・バッファを制御するシス
テムの物理サイズが小さいことである。本発明の他の技
術的な有利性はまた、従来の技術と比較して、リネーム
・バッファを制御するシステムが先進の集積回路マイク
ロプロセッサの使用するのにより適していることであ
る。
性は、従来の技術と比較して、リネーム・バッファを制
御するシステムの処理速度が速いということである。本
発明の他の技術的な有利性は、従来の技術と比較して、
リネーム・バッファを制御するシステムが複雑でないこ
とである。本発明のさらに他の技術的な有利性は、従来
の技術と比較して、リネーム・バッファを制御するシス
テムの物理サイズが小さいことである。本発明の他の技
術的な有利性はまた、従来の技術と比較して、リネーム
・バッファを制御するシステムが先進の集積回路マイク
ロプロセッサの使用するのにより適していることであ
る。
【0006】
【課題を解決するための手段】本発明のオペレーション
の処理システムおよび方法は、レジスタを特定している
命令に応答して、少なくとも1つの実行ユニットがレジ
スタの情報を処理する。多数の制御ユニットの各々は、
命令に応答して多重バッファのそれぞれ1つを選択的に
割り当てて情報を記憶する。
の処理システムおよび方法は、レジスタを特定している
命令に応答して、少なくとも1つの実行ユニットがレジ
スタの情報を処理する。多数の制御ユニットの各々は、
命令に応答して多重バッファのそれぞれ1つを選択的に
割り当てて情報を記憶する。
【0007】
【実施例】図1に、処理システム10の好適な実施例の
ブロック図を示す。好適な実施例において、処理システ
ム10は、集積回路スーパースカラー・マイクロプロセ
ッサであり、システムバス12に接続されている。
ブロック図を示す。好適な実施例において、処理システ
ム10は、集積回路スーパースカラー・マイクロプロセ
ッサであり、システムバス12に接続されている。
【0008】処理システム10は、バス・インターフェ
ース・ユニット(BIU)14、命令キャッシュ16お
よびデータ・キャッシュ18を有する。さらに、処理シ
ステム10は、固定小数点ユニット20、ロード/記憶
ユニット22および浮動小数点ユニット24を有する。
また、処理システム10は、固定小数点リネーム・バッ
ファ26、浮動小数点リネーム・バッファ28、汎用目
的構造化レジスタ(GPR)30および浮動小数点構造
化レジスタ(FPR)32も有する。
ース・ユニット(BIU)14、命令キャッシュ16お
よびデータ・キャッシュ18を有する。さらに、処理シ
ステム10は、固定小数点ユニット20、ロード/記憶
ユニット22および浮動小数点ユニット24を有する。
また、処理システム10は、固定小数点リネーム・バッ
ファ26、浮動小数点リネーム・バッファ28、汎用目
的構造化レジスタ(GPR)30および浮動小数点構造
化レジスタ(FPR)32も有する。
【0009】さらに、処理システム10は、点線のエン
クロージャによって示された制御セクション34を有す
る。制御セクション34は、命令待ち行列36、命令デ
コーダ38および完了論理40を有する。好適な実施例
の重要な側面において、制御セクション34は、固定小
数点STAM(ソース決定、タグ割り当て、メモリの割
り付けと割り付け解消を行うモジュール)42、および
浮動小数点STAM44をさらに有する。
クロージャによって示された制御セクション34を有す
る。制御セクション34は、命令待ち行列36、命令デ
コーダ38および完了論理40を有する。好適な実施例
の重要な側面において、制御セクション34は、固定小
数点STAM(ソース決定、タグ割り当て、メモリの割
り付けと割り付け解消を行うモジュール)42、および
浮動小数点STAM44をさらに有する。
【0010】図5に関連してさらに以下に示すように、
STAM42は、便宜的に複数の同一のカスケード可能
なリネーム・バッファ制御ユニットBFR0,BFR
1,BFR2,BFR3およびBFR4を有する。制御
ユニットBFR0は、固定小数点リネーム・バッファ2
6の物理リネーム・バッファ0(図2)と関連してい
る。したがって、好適な実施例の重要な側面において、
制御ユニットBFR0が任意のGPR30にデータを記
憶するかどうかを制御する。同様に、制御ユニットBF
R1〜BFR4は、物理リネーム・バッファ1〜4にそ
れぞれ連係されている。
STAM42は、便宜的に複数の同一のカスケード可能
なリネーム・バッファ制御ユニットBFR0,BFR
1,BFR2,BFR3およびBFR4を有する。制御
ユニットBFR0は、固定小数点リネーム・バッファ2
6の物理リネーム・バッファ0(図2)と関連してい
る。したがって、好適な実施例の重要な側面において、
制御ユニットBFR0が任意のGPR30にデータを記
憶するかどうかを制御する。同様に、制御ユニットBF
R1〜BFR4は、物理リネーム・バッファ1〜4にそ
れぞれ連係されている。
【0011】制御ユニットBFR0〜BFR4は、図5
に示すようにカスケード形式で接続されている。明らか
に、リネーム・バッファ26が1つのリネーム・バッフ
ァのみを有すれば、STAM42は制御ユニットBFR
0のみを有する。同様に、リネーム・バッファ26が5
つ以上のリネーム・バッファを有すれば、各追加のリネ
ーム・バッファは、STAM42内で(制御ユニットB
FR0〜BFR4に加えて制御ユニットBFR0と同一
である)それぞれ連係された追加の制御ユニット有す
る。このような各追加の制御ユニットは、制御ユニット
BFR4で始まるカスケード形式で直列に接続すること
によってSTAM42に追加することができる。
に示すようにカスケード形式で接続されている。明らか
に、リネーム・バッファ26が1つのリネーム・バッフ
ァのみを有すれば、STAM42は制御ユニットBFR
0のみを有する。同様に、リネーム・バッファ26が5
つ以上のリネーム・バッファを有すれば、各追加のリネ
ーム・バッファは、STAM42内で(制御ユニットB
FR0〜BFR4に加えて制御ユニットBFR0と同一
である)それぞれ連係された追加の制御ユニット有す
る。このような各追加の制御ユニットは、制御ユニット
BFR4で始まるカスケード形式で直列に接続すること
によってSTAM42に追加することができる。
【0012】重要なことに、制御ユニットBFR0〜B
FR4は、カスケードで接続でき、物理リネーム・バッ
ファ0〜4にそれぞれ連係されている。このようにモジ
ュール化されたカスケード可能な構造は、ソース・ファ
イル・シミュレーションの形成、半導体製造プランのレ
イアウト、設計の拡張性、種々の処理システムへの適合
性、および再使用部品設計のライブラリの部分としての
有利性を容易にする。したがって、STAM42の回路
は、リネーム・バッファを制御する従来の技術に比べ
て、(図1のスーパースカラー・マイクロプロセッサの
ような)先進の集積回路マイクロプロセッサに用いるの
により適合している。さらに、STAM42の回路は、
リネーム・バッファを制御する従来の技術に比べて、複
雑さを軽減し、物理サイズを縮小している。さらに、S
TAM42の回路は、リネーム・バッファを制御する従
来の技術に比べて処理速度が速い。
FR4は、カスケードで接続でき、物理リネーム・バッ
ファ0〜4にそれぞれ連係されている。このようにモジ
ュール化されたカスケード可能な構造は、ソース・ファ
イル・シミュレーションの形成、半導体製造プランのレ
イアウト、設計の拡張性、種々の処理システムへの適合
性、および再使用部品設計のライブラリの部分としての
有利性を容易にする。したがって、STAM42の回路
は、リネーム・バッファを制御する従来の技術に比べ
て、(図1のスーパースカラー・マイクロプロセッサの
ような)先進の集積回路マイクロプロセッサに用いるの
により適合している。さらに、STAM42の回路は、
リネーム・バッファを制御する従来の技術に比べて、複
雑さを軽減し、物理サイズを縮小している。さらに、S
TAM42の回路は、リネーム・バッファを制御する従
来の技術に比べて処理速度が速い。
【0013】図1を参照して、処理システム10は、バ
ス・インターフェース・ユニット14を通じて、情報を
システム・バス12へ出力し、システム・バス12から
入力する。このような情報は、命令およびデータを含
む。命令キャッシュ16は、システム・バス12からバ
ス・インターフェース・ユニット14を通じて命令入力
を記憶する。データ・キャッシュ18は、システム・バ
ス12からバス・インターフェース・ユニット14を通
じてデータ入力を記憶する。さらに、バス・インターフ
ェース・ユニット14は、データ・キャッシュ18から
記憶されたデータを入力し、このデータをシステム・バ
ス12へ出力する。
ス・インターフェース・ユニット14を通じて、情報を
システム・バス12へ出力し、システム・バス12から
入力する。このような情報は、命令およびデータを含
む。命令キャッシュ16は、システム・バス12からバ
ス・インターフェース・ユニット14を通じて命令入力
を記憶する。データ・キャッシュ18は、システム・バ
ス12からバス・インターフェース・ユニット14を通
じてデータ入力を記憶する。さらに、バス・インターフ
ェース・ユニット14は、データ・キャッシュ18から
記憶されたデータを入力し、このデータをシステム・バ
ス12へ出力する。
【0014】ロード/記憶ユニット22は、固定小数点
リネーム・バッファ26を通じてデータ・キャッシュ1
8からGPR30へデータを転送する。さらに、ロード
/記憶ユニット22は、浮動小数点リネーム・バッファ
28を通じてデータ・キャッシュ18からFPR32へ
データを転送する。さらに、ロード/記憶ユニット22
は、GPR30からデータ・キャッシュ18へおよびF
PR32からデータ・キャッシュ18へデータを転送す
る。ロード/記憶ユニット22は、制御セクション34
の命令デコーダ38によってデコードされた命令に応答
して、GPR30、FPR32およびデータ・キャッシ
ュ18の間でこのようなデータの転送を実行する。
リネーム・バッファ26を通じてデータ・キャッシュ1
8からGPR30へデータを転送する。さらに、ロード
/記憶ユニット22は、浮動小数点リネーム・バッファ
28を通じてデータ・キャッシュ18からFPR32へ
データを転送する。さらに、ロード/記憶ユニット22
は、GPR30からデータ・キャッシュ18へおよびF
PR32からデータ・キャッシュ18へデータを転送す
る。ロード/記憶ユニット22は、制御セクション34
の命令デコーダ38によってデコードされた命令に応答
して、GPR30、FPR32およびデータ・キャッシ
ュ18の間でこのようなデータの転送を実行する。
【0015】同様に、命令デコーダ38によってデコー
ドされた命令に応答して、固定小数点ユニット20は、
GPR30からデータを受け取り、このデータを処理
し、固定小数点リネーム・バッファ26を通じてGPR
30へ処理データを出力する。また、命令デコーダ38
によってデコードされた命令に応答して、浮動小数点ユ
ニット24は、FPR32からデータを受け取り、この
データを処理し、浮動小数点リネーム・バッファ28を
通じてFPR32へ処理データを出力する。全体的に、
固定小数点ユニット20、ロード/記憶ユニット22お
よび浮動小数点ユニット24は、システム10の実行ユ
ニットを形成する。図1は命令デコーダ38から実行ユ
ニットへの接続を示していない。
ドされた命令に応答して、固定小数点ユニット20は、
GPR30からデータを受け取り、このデータを処理
し、固定小数点リネーム・バッファ26を通じてGPR
30へ処理データを出力する。また、命令デコーダ38
によってデコードされた命令に応答して、浮動小数点ユ
ニット24は、FPR32からデータを受け取り、この
データを処理し、浮動小数点リネーム・バッファ28を
通じてFPR32へ処理データを出力する。全体的に、
固定小数点ユニット20、ロード/記憶ユニット22お
よび浮動小数点ユニット24は、システム10の実行ユ
ニットを形成する。図1は命令デコーダ38から実行ユ
ニットへの接続を示していない。
【0016】前述したように、浮動小数点ユニット24
は、浮動小数点リネーム・バッファ28を通じてFPR
32へデータを出力する。たとえば、浮動小数点ユニッ
ト24は、FPR32の特定の1つのデータを変更し、
浮動小数点リネーム・バッファ28にこのような変更さ
れたデータを記憶する。その後、完了論理40からライ
ン85b上のライトバック信号および浮動小数点STA
M44からライン87b上のライトバック・アドレスに
応答して、この変更されたデータは、浮動小数点リネー
ム・バッファ28から特定のFPRへライトバックされ
る。
は、浮動小数点リネーム・バッファ28を通じてFPR
32へデータを出力する。たとえば、浮動小数点ユニッ
ト24は、FPR32の特定の1つのデータを変更し、
浮動小数点リネーム・バッファ28にこのような変更さ
れたデータを記憶する。その後、完了論理40からライ
ン85b上のライトバック信号および浮動小数点STA
M44からライン87b上のライトバック・アドレスに
応答して、この変更されたデータは、浮動小数点リネー
ム・バッファ28から特定のFPRへライトバックされ
る。
【0017】浮動小数点ユニット24は、浮動小数点リ
ネーム・バッファ28からデータを受け取ることがで
き、したがってこの変更されたデータが浮動小数点リネ
ーム・バッファ28から特定のFPRへライトバックさ
れる以前に、1回以上特定のFPRに対するデータを変
更することができる。このような状況において、複数の
浮動小数点リネーム・バッファ28は、特定のFPRに
対するデータを記憶する。さらに図5〜図12と関連し
て以下に示すように、浮動小数点STAM44は、どの
浮動小数点リネーム・バッファ28が特定のFPRに対
する最も最新のデータを記憶するかを監視する。完了論
理40からのライトバック信号および浮動小数点STA
M44からのライトバック・アドレスに応答して、浮動
小数点リネーム・バッファ28のうちのただ1つからの
データは、特定のFPRに任意の1回ライトバックされ
る。
ネーム・バッファ28からデータを受け取ることがで
き、したがってこの変更されたデータが浮動小数点リネ
ーム・バッファ28から特定のFPRへライトバックさ
れる以前に、1回以上特定のFPRに対するデータを変
更することができる。このような状況において、複数の
浮動小数点リネーム・バッファ28は、特定のFPRに
対するデータを記憶する。さらに図5〜図12と関連し
て以下に示すように、浮動小数点STAM44は、どの
浮動小数点リネーム・バッファ28が特定のFPRに対
する最も最新のデータを記憶するかを監視する。完了論
理40からのライトバック信号および浮動小数点STA
M44からのライトバック・アドレスに応答して、浮動
小数点リネーム・バッファ28のうちのただ1つからの
データは、特定のFPRに任意の1回ライトバックされ
る。
【0018】同様にして、浮動小数点STAM44から
の指示に応答して、ロード/記憶ユニット22、FPR
32および浮動小数点リネーム・バッファ28の間でデ
ータを転送する。さらに同様にして、固定小数点STA
M42からの指示に応答して、ロード/記憶ユニット2
2、GPR30および固定小数点リネーム・バッファ2
6の間でデータを転送する。
の指示に応答して、ロード/記憶ユニット22、FPR
32および浮動小数点リネーム・バッファ28の間でデ
ータを転送する。さらに同様にして、固定小数点STA
M42からの指示に応答して、ロード/記憶ユニット2
2、GPR30および固定小数点リネーム・バッファ2
6の間でデータを転送する。
【0019】好適な実施例の重要な側面において、固定
小数点STAM42は固定小数点リネーム・バッファ2
6の特定の1つがGPR30の特定の1つに対するデー
タを記憶するかどうかを制御する。同様に、浮動小数点
STAM44は、浮動小数点リネーム・バッファ28の
特定の1つがFPR32の特定の1つに対するデータを
記憶するかどうかを制御する。固定小数点STAM42
は、STAM42および44の代表的な1つである。固
定小数点STAM42は、図5〜図12に関連して以下
にさらに説明する。
小数点STAM42は固定小数点リネーム・バッファ2
6の特定の1つがGPR30の特定の1つに対するデー
タを記憶するかどうかを制御する。同様に、浮動小数点
STAM44は、浮動小数点リネーム・バッファ28の
特定の1つがFPR32の特定の1つに対するデータを
記憶するかどうかを制御する。固定小数点STAM42
は、STAM42および44の代表的な1つである。固
定小数点STAM42は、図5〜図12に関連して以下
にさらに説明する。
【0020】図2に、固定小数点リネーム・バッファ2
6のブロック図を示す。図2に示すように、固定小数点
リネーム・バッファ26は、リネーム・バッファ0、リ
ネーム・バッファ1、リネーム・バッファ2、リネーム
・バッファ3、およびリネーム・バッファ4を有する。
好適な実施例において、各リネーム・バッファ0〜4は
32ビット幅である。
6のブロック図を示す。図2に示すように、固定小数点
リネーム・バッファ26は、リネーム・バッファ0、リ
ネーム・バッファ1、リネーム・バッファ2、リネーム
・バッファ3、およびリネーム・バッファ4を有する。
好適な実施例において、各リネーム・バッファ0〜4は
32ビット幅である。
【0021】図3に、命令待ち行列36のブロック図を
示す。命令待ち行列36は、実行命令バッファ56のバ
ッファI0およびバッファI1にそれぞれI0命令およ
びI1命令を記憶する。好適な実施例において、システ
ム10のサイクルに応答して、I0命令を実行ユニット
に対してそれ自身によってディスパッチするか、または
I0およびI1命令の両方をそれぞれの実行ユニットに
ディスパッチするか、またはI1命令を実行ユニットに
対してそれ自身によってディスパッチする。バッファI
0およびI1の内容は、それぞれライン49aおよび4
9bを通じて命令デコーダ38(図1)へ出力される。
示す。命令待ち行列36は、実行命令バッファ56のバ
ッファI0およびバッファI1にそれぞれI0命令およ
びI1命令を記憶する。好適な実施例において、システ
ム10のサイクルに応答して、I0命令を実行ユニット
に対してそれ自身によってディスパッチするか、または
I0およびI1命令の両方をそれぞれの実行ユニットに
ディスパッチするか、またはI1命令を実行ユニットに
対してそれ自身によってディスパッチする。バッファI
0およびI1の内容は、それぞれライン49aおよび4
9bを通じて命令デコーダ38(図1)へ出力される。
【0022】I0命令をそれ自身によってディスパッチ
すれば、shift1信号(図1)がアサートされ、シ
ステム10の後のサイクルに応答してI1命令がディス
パッチされる。同様に、I0およびI1命令をともにデ
ィスパッチすれば、shift2信号(図1)がアサー
トされる。I1命令をそれ自身によってディスパッチす
れば、shift1信号もshift2信号もアサート
されない。I0命令はシステム10の後のサイクルに応
答してディスパッチされ、shift2信号はその後の
サイクルでアサートされる。
すれば、shift1信号(図1)がアサートされ、シ
ステム10の後のサイクルに応答してI1命令がディス
パッチされる。同様に、I0およびI1命令をともにデ
ィスパッチすれば、shift2信号(図1)がアサー
トされる。I1命令をそれ自身によってディスパッチす
れば、shift1信号もshift2信号もアサート
されない。I0命令はシステム10の後のサイクルに応
答してディスパッチされ、shift2信号はその後の
サイクルでアサートされる。
【0023】好適な実施例において、命令待ち行列36
はバス50aおよび50bを経て命令キャッシュ16か
ら並列に2つの命令をそれぞれ入力することができる。
shift2信号のアサートに応答して、命令待ち行列
36は以前に記憶された命令を命令バッファ54aおよ
び54bからバッファI0およびI1へそれぞれ転送す
る。また、命令待ち行列36は、以前に記憶された命令
を命令バッファ52aおよび52bから命令バッファ5
4aおよび54bへそれぞれ転送する。さらに、命令待
ち行列36は、2つの命令を命令キャッシュ16からバ
ス50aおよび50bを通じて入力し、これらの命令を
命令バッファ52aおよび52bにそれぞれ記憶する。
はバス50aおよび50bを経て命令キャッシュ16か
ら並列に2つの命令をそれぞれ入力することができる。
shift2信号のアサートに応答して、命令待ち行列
36は以前に記憶された命令を命令バッファ54aおよ
び54bからバッファI0およびI1へそれぞれ転送す
る。また、命令待ち行列36は、以前に記憶された命令
を命令バッファ52aおよび52bから命令バッファ5
4aおよび54bへそれぞれ転送する。さらに、命令待
ち行列36は、2つの命令を命令キャッシュ16からバ
ス50aおよび50bを通じて入力し、これらの命令を
命令バッファ52aおよび52bにそれぞれ記憶する。
【0024】shift1信号のアサートに応答して、
命令待ち行列36は以前に記憶された命令をバッファI
1からバッファI0へ転送する。また、命令待ち行列3
6は、以前に記憶された命令を、命令バッファ54aか
らバッファI1へ、命令バッファ54bから命令バッフ
ァ54aへ、命令バッファ52aから命令バッファ54
bへ、および命令バッファ52bから命令バッファ52
aへ転送する。さらに、命令待ち行列36は、命令キャ
ッシュ16からバス50bを通じて命令を取り出し、命
令バッファ52bにこの命令を記憶する。
命令待ち行列36は以前に記憶された命令をバッファI
1からバッファI0へ転送する。また、命令待ち行列3
6は、以前に記憶された命令を、命令バッファ54aか
らバッファI1へ、命令バッファ54bから命令バッフ
ァ54aへ、命令バッファ52aから命令バッファ54
bへ、および命令バッファ52bから命令バッファ52
aへ転送する。さらに、命令待ち行列36は、命令キャ
ッシュ16からバス50bを通じて命令を取り出し、命
令バッファ52bにこの命令を記憶する。
【0025】好適な実施例において、たとえI0命令
が、命令ストリーム内のプログラムされた順序において
I1命令に先行していても、I1命令はI0命令に先立
って実行ユニットに対してディスパッチ可能である。こ
のような状況において、shift1もshift2も
アサートされない。I0命令はシステム10の後のサイ
クルに応答してディスパッチされ、shift2信号は
その後のサイクルでアサートされる。好適な実施例の重
要な側面において、固定小数点STAM42は、命令の
このような「無秩序」ディスパッチをバッファI0およ
びI1において受容する。
が、命令ストリーム内のプログラムされた順序において
I1命令に先行していても、I1命令はI0命令に先立
って実行ユニットに対してディスパッチ可能である。こ
のような状況において、shift1もshift2も
アサートされない。I0命令はシステム10の後のサイ
クルに応答してディスパッチされ、shift2信号は
その後のサイクルでアサートされる。好適な実施例の重
要な側面において、固定小数点STAM42は、命令の
このような「無秩序」ディスパッチをバッファI0およ
びI1において受容する。
【0026】図4に、システム10による命令フォーマ
ットを示す。図4は、命令コード・フィールド62、R
T レジスタ・フィールド64、RA レジスタ・フィール
ド66およびRB レジスタ・フィールド68を有する一
般的な命令を示している。命令コード・フィールド62
は、命令60が固定小数点ユニット20またはロード/
記憶ユニット22または浮動小数点ユニット24のいず
れかによって実行されるかどうかを指摘している。
ットを示す。図4は、命令コード・フィールド62、R
T レジスタ・フィールド64、RA レジスタ・フィール
ド66およびRB レジスタ・フィールド68を有する一
般的な命令を示している。命令コード・フィールド62
は、命令60が固定小数点ユニット20またはロード/
記憶ユニット22または浮動小数点ユニット24のいず
れかによって実行されるかどうかを指摘している。
【0027】たとえば、命令コード62は、固定小数点
ユニット20によって実行されるADD命令として命令
60を識別することができる。このような命令に応答し
て、固定小数点ユニット20はGPRレジスタRA の内
容とGPRレジスタRB の内容とを加算し、固定小数点
STAM42からのデスティネーション・タグに応答し
て、その結果を固定小数点リネーム・バッファ26の選
択された1つに記憶する。有利なことに、固定小数点S
TAM42は、レジスタRT を固定小数点リネーム・バ
ッファ26の選択された1つに記憶されたデータと連係
させている。
ユニット20によって実行されるADD命令として命令
60を識別することができる。このような命令に応答し
て、固定小数点ユニット20はGPRレジスタRA の内
容とGPRレジスタRB の内容とを加算し、固定小数点
STAM42からのデスティネーション・タグに応答し
て、その結果を固定小数点リネーム・バッファ26の選
択された1つに記憶する。有利なことに、固定小数点S
TAM42は、レジスタRT を固定小数点リネーム・バ
ッファ26の選択された1つに記憶されたデータと連係
させている。
【0028】その後、完了論理40からライン85a上
のライトバック信号および固定小数点STAM42から
ライン87a上のライトバック・アドレスに応答して、
関連するデータは、固定小数点リネーム・バッファ26
の選択された1つからGPRレジスタRT へライトバッ
クされる。固定小数点リネーム・バッファ26の選択さ
れた1つと固定小数点STAM42により連係されたレ
ジスタに従って、ライトバック・アドレスは、固定小数
点リネーム・バッファ26の選択された1つからどのG
PRにデータ入力を記憶する予定であるかを指示する。
のライトバック信号および固定小数点STAM42から
ライン87a上のライトバック・アドレスに応答して、
関連するデータは、固定小数点リネーム・バッファ26
の選択された1つからGPRレジスタRT へライトバッ
クされる。固定小数点リネーム・バッファ26の選択さ
れた1つと固定小数点STAM42により連係されたレ
ジスタに従って、ライトバック・アドレスは、固定小数
点リネーム・バッファ26の選択された1つからどのG
PRにデータ入力を記憶する予定であるかを指示する。
【0029】好適な実施例において、命令60のRT レ
ジスタ・フィールド64によって指定されたレジスタ
は、常に、命令の結果を記憶するようなデスティネーシ
ョン・レジスタである。同様に、RB レジスタ・フィー
ルド68によって指定されたレジスタは、常に、データ
が取り出され且つフィールド62に指定された命令コー
ドに従って処理されるソース・レジスタである。フィー
ルド62に指定された命令コードに依存して、RA レジ
スタ・フィールド66によって指定されたレジスタは、
ソース・レジスタまたはデスティネーション・レジスタ
のいずれかである。
ジスタ・フィールド64によって指定されたレジスタ
は、常に、命令の結果を記憶するようなデスティネーシ
ョン・レジスタである。同様に、RB レジスタ・フィー
ルド68によって指定されたレジスタは、常に、データ
が取り出され且つフィールド62に指定された命令コー
ドに従って処理されるソース・レジスタである。フィー
ルド62に指定された命令コードに依存して、RA レジ
スタ・フィールド66によって指定されたレジスタは、
ソース・レジスタまたはデスティネーション・レジスタ
のいずれかである。
【0030】図5に、STAM42のブロック図を示
す。好適な実施例の重要な側面において、STAM42
は多重で同一のカスケード可能なリネーム・バッファ制
御ユニットBFR0,BFR1,BFR2,BFR3お
よびBFR4を有する。制御ユニットBFR0は、制御
ユニットBFR0〜BFR4の代表的な1つである。し
たがって、図1は制御ユニットBFR0のみを示してい
る。
す。好適な実施例の重要な側面において、STAM42
は多重で同一のカスケード可能なリネーム・バッファ制
御ユニットBFR0,BFR1,BFR2,BFR3お
よびBFR4を有する。制御ユニットBFR0は、制御
ユニットBFR0〜BFR4の代表的な1つである。し
たがって、図1は制御ユニットBFR0のみを示してい
る。
【0031】制御ユニットBFR0は、固定小数点リネ
ーム・バッファ26の物理リネーム・バッファ0(図
2)と連係している。したがって、好適な実施例の重要
な側面において、制御ユニットBFR0は、リネーム・
バッファ0が任意のGPR30に対するデータを記憶す
るかどうかを制御する。同様に、制御ユニットBFR1
〜BFR4は、物理リネーム・バッファ1〜4とそれぞ
れ連係している。
ーム・バッファ26の物理リネーム・バッファ0(図
2)と連係している。したがって、好適な実施例の重要
な側面において、制御ユニットBFR0は、リネーム・
バッファ0が任意のGPR30に対するデータを記憶す
るかどうかを制御する。同様に、制御ユニットBFR1
〜BFR4は、物理リネーム・バッファ1〜4とそれぞ
れ連係している。
【0032】制御ユニットBFR0〜BFR4は、図5
に示すようにカスケード形式で接続されている。特に、
リネーム・バッファ26が唯一のリネーム・バッファを
有すれば、STAM42は制御ユニットBFR0のみを
有する。同様に、リネーム・バッファ26が5つ以上の
リネーム・バッファを有すれば、追加の各リネーム・バ
ッファはSTAM内で(制御ユニットBFR0〜BFR
4に加えて、制御ユニットBFR0と同一の)それぞれ
連係している追加の制御ユニットを有する。このような
追加の制御ユニットは、制御ユニットBFR4で始まる
カスケード形式で直列に接続することによってSTAM
42に追加される。
に示すようにカスケード形式で接続されている。特に、
リネーム・バッファ26が唯一のリネーム・バッファを
有すれば、STAM42は制御ユニットBFR0のみを
有する。同様に、リネーム・バッファ26が5つ以上の
リネーム・バッファを有すれば、追加の各リネーム・バ
ッファはSTAM内で(制御ユニットBFR0〜BFR
4に加えて、制御ユニットBFR0と同一の)それぞれ
連係している追加の制御ユニットを有する。このような
追加の制御ユニットは、制御ユニットBFR4で始まる
カスケード形式で直列に接続することによってSTAM
42に追加される。
【0033】再び図1を参照して、完了論理40はライ
ン80aを通じて固定小数点STAM42へ5つの完了
ラインを出力する。すなわち、ライン80aは、ccc_gp
r_wr_0,ccc_gpr_wr_1,ccc_gpr_wr_2,ccc_gpr_wr_3およ
びccc_gpr_wr_4である。同様に、完了論理40はライン
80b(図1)を通じて浮動小数点STAM44へ5つ
の完了ラインを出力する。図5を参照して、完了ライン
ccc_gpr_wr_0は、固定小数点リネーム・バッファ26の
リネーム・バッファ0と連係している。したがって、完
了ラインccc_gpr_wr_0の完了論理40によるアサーショ
ンは、固定小数点リネーム・バッファ26のリネーム・
バッファ0がGPR30の異なる1つに再割り当て可能
であることを制御ユニットBFR0に示す。同様に、制
御ユニットBFR1は完了ラインccc_gpr_wr_1が入力さ
れ、制御ユニットBFR2は完了ラインccc_gpr_wr_2が
入力され、制御ユニットBFR3は完了ラインccc_gpr_
wr_3が入力され、制御ユニットBFR4は完了ラインcc
c_gpr_wr_4が入力される。
ン80aを通じて固定小数点STAM42へ5つの完了
ラインを出力する。すなわち、ライン80aは、ccc_gp
r_wr_0,ccc_gpr_wr_1,ccc_gpr_wr_2,ccc_gpr_wr_3およ
びccc_gpr_wr_4である。同様に、完了論理40はライン
80b(図1)を通じて浮動小数点STAM44へ5つ
の完了ラインを出力する。図5を参照して、完了ライン
ccc_gpr_wr_0は、固定小数点リネーム・バッファ26の
リネーム・バッファ0と連係している。したがって、完
了ラインccc_gpr_wr_0の完了論理40によるアサーショ
ンは、固定小数点リネーム・バッファ26のリネーム・
バッファ0がGPR30の異なる1つに再割り当て可能
であることを制御ユニットBFR0に示す。同様に、制
御ユニットBFR1は完了ラインccc_gpr_wr_1が入力さ
れ、制御ユニットBFR2は完了ラインccc_gpr_wr_2が
入力され、制御ユニットBFR3は完了ラインccc_gpr_
wr_3が入力され、制御ユニットBFR4は完了ラインcc
c_gpr_wr_4が入力される。
【0034】制御ユニットBFR0〜BFR4の各入力
には、shift1ラインとshift2ラインが入力
される。さらに、制御ユニットBFR0〜BFR4の各
入力には、ライン82aを通じて命令デコーダ38から
要求ラインI0Rt_rq,I0Ra_rq,I1Rt_rqおよびI1Ra_rqが入
力される。同様に、浮動小数点STAM44は、ライン
82bを通じて命令デコーダ38から要求ラインが入力
される。命令デコーダ38は、バッファI0内の命令
(図3)が1以上の要求ラインI0Rt_rqおよびI0Ra_rqを
アサートすることにより、有効な固定小数点またはロー
ド/記憶命令であることを、固定STAM42に示す。
には、shift1ラインとshift2ラインが入力
される。さらに、制御ユニットBFR0〜BFR4の各
入力には、ライン82aを通じて命令デコーダ38から
要求ラインI0Rt_rq,I0Ra_rq,I1Rt_rqおよびI1Ra_rqが入
力される。同様に、浮動小数点STAM44は、ライン
82bを通じて命令デコーダ38から要求ラインが入力
される。命令デコーダ38は、バッファI0内の命令
(図3)が1以上の要求ラインI0Rt_rqおよびI0Ra_rqを
アサートすることにより、有効な固定小数点またはロー
ド/記憶命令であることを、固定STAM42に示す。
【0035】たとえば、命令デコーダ38は、命令の結
果が(フィールド62の命令コードによって特定される
ように)記憶される予定のGPR30の1つを特定して
いる、バッファI0(図3)内のその命令の有効なRT
フィールド64(図4)に応答して要求ラインI0Rt_rq
をアサートする。さらに、命令デコーダ38は、命令の
結果が記憶される予定のGPR30の1つを特定してい
る、バッファI0のその命令の有効なRA フィールド6
6に応答して要求ラインI0Ra_rqをアサートする。ま
た、命令デコーダ38は、命令の結果が記憶される予定
のGPR30の1つを特定している、バッファI1のそ
の命令の有効なRT フィールド64に応答して要求ライ
ンI1Rt_rqをアサートする。同様に、命令デコーダ38
は、命令の結果が記憶される予定のGPR30の1つを
特定している、バッファI1のその命令の有効なRA フ
ィールド66に応答して要求ラインI1Ra_rqをアサート
する。
果が(フィールド62の命令コードによって特定される
ように)記憶される予定のGPR30の1つを特定して
いる、バッファI0(図3)内のその命令の有効なRT
フィールド64(図4)に応答して要求ラインI0Rt_rq
をアサートする。さらに、命令デコーダ38は、命令の
結果が記憶される予定のGPR30の1つを特定してい
る、バッファI0のその命令の有効なRA フィールド6
6に応答して要求ラインI0Ra_rqをアサートする。ま
た、命令デコーダ38は、命令の結果が記憶される予定
のGPR30の1つを特定している、バッファI1のそ
の命令の有効なRT フィールド64に応答して要求ライ
ンI1Rt_rqをアサートする。同様に、命令デコーダ38
は、命令の結果が記憶される予定のGPR30の1つを
特定している、バッファI1のその命令の有効なRA フ
ィールド66に応答して要求ラインI1Ra_rqをアサート
する。
【0036】固定小数点STAM42および浮動小数点
STAM44は、ライン84を通じて命令待ち行列から
5ビットのレジスタ・フィールドI0Rt_d,I0Ra_d,I1Rt_
d,I1Ra_d,I0Ra_s,I0Rb_s,I1Ra_s,およびI1Rb_sを入力す
る。図5及び図6を参照して、制御ユニットBFR0〜
BFR4の各々は、5ビットのレジスタ・フィールドを
受け取る。I0Rt_dは、バッファI0の命令のRT レジス
タ・フィールド64から5ビットの2進値にエンコード
されたレジスタ番号である。I0Ra_dは、バッファI0の
命令のRA レジスタ・フィールド66から5ビットの2
進値にエンコードされたレジスタ番号である。ここで、
レジスタRA は、命令の結果が記憶される予定のデステ
ィネーション・レジスタである。
STAM44は、ライン84を通じて命令待ち行列から
5ビットのレジスタ・フィールドI0Rt_d,I0Ra_d,I1Rt_
d,I1Ra_d,I0Ra_s,I0Rb_s,I1Ra_s,およびI1Rb_sを入力す
る。図5及び図6を参照して、制御ユニットBFR0〜
BFR4の各々は、5ビットのレジスタ・フィールドを
受け取る。I0Rt_dは、バッファI0の命令のRT レジス
タ・フィールド64から5ビットの2進値にエンコード
されたレジスタ番号である。I0Ra_dは、バッファI0の
命令のRA レジスタ・フィールド66から5ビットの2
進値にエンコードされたレジスタ番号である。ここで、
レジスタRA は、命令の結果が記憶される予定のデステ
ィネーション・レジスタである。
【0037】I1Rt_dは、バッファI1の命令のRT レジ
スタ・フィールド64から5ビットの2進値にエンコー
ドされたレジスタ番号である。I1Ra_dは、バッファI1
の命令のRA レジスタ・フィールド66から5ビットの
2進値にエンコードされたレジスタ番号である。ここ
で、レジスタRA は、命令の結果が記憶される予定のデ
スティネーション・レジスタである。
スタ・フィールド64から5ビットの2進値にエンコー
ドされたレジスタ番号である。I1Ra_dは、バッファI1
の命令のRA レジスタ・フィールド66から5ビットの
2進値にエンコードされたレジスタ番号である。ここ
で、レジスタRA は、命令の結果が記憶される予定のデ
スティネーション・レジスタである。
【0038】I0Ra_sは、バッファI0の命令のRA レジ
スタ・フィールド66から5ビットの2進値にエンコー
ドされたレジスタ番号である。ここで、レジスタRA
は、命令の結果が記憶される予定のデスティネーション
・レジスタである。I0Rb_sは、バッファI0の命令のR
B レジスタ・フィールド68から5ビットの2進値にエ
ンコードされたレジスタ番号である。
スタ・フィールド66から5ビットの2進値にエンコー
ドされたレジスタ番号である。ここで、レジスタRA
は、命令の結果が記憶される予定のデスティネーション
・レジスタである。I0Rb_sは、バッファI0の命令のR
B レジスタ・フィールド68から5ビットの2進値にエ
ンコードされたレジスタ番号である。
【0039】I1Ra_sは、バッファI1の命令のRA レジ
スタ・フィールド66から5ビットの2進値にエンコー
ドされたレジスタ番号である。ここで、レジスタRA
は、命令の結果が記憶される予定のデスティネーション
・レジスタである。I1Rb_sは、バッファI1の命令のR
B レジスタ・フィールド68から5ビットの2進値にエ
ンコードされたレジスタ番号である。
スタ・フィールド66から5ビットの2進値にエンコー
ドされたレジスタ番号である。ここで、レジスタRA
は、命令の結果が記憶される予定のデスティネーション
・レジスタである。I1Rb_sは、バッファI1の命令のR
B レジスタ・フィールド68から5ビットの2進値にエ
ンコードされたレジスタ番号である。
【0040】図7に、STAM42のリソース割り当て
アレイ(「RAA」)100のブロック図を示す。RA
A100は、4つのセル102a〜102dを有する。
セル102aは、ライン103を通じて/alloc0
(/はバーであり反転を意味する)を入力する。/al
loc0が(現在、リネーム・バッファ0がGPRに割
り当てられていないことを指摘するように)設定され、
I0Rt_rq が(バッファI0の命令のRT レジスタ・フィ
ールドが有効であることを指摘するように)設定されれ
ば、セル102aはassign_I0Rtを設定し、avail_I0Rt
をクリアし、かつrq_I0Rt_after0をクリアする。/al
loc0が(現在、リネーム・バッファ0がGPRに割
り当てられていることを指摘するように)クリアされれ
ば、セル102aはrq_I0Rt_after0をI0Rt_rqに等しく
し、avail_I0Rtをクリアし、かつassign_I0Rtをクリア
する。/alloc0が設定され、I0Rt_rqがクリアさ
れれば、セル102aはrq_I0Rt_after0をクリアし、as
sign_I0Rtをクリアし、avail_I0Rtを設定する。
アレイ(「RAA」)100のブロック図を示す。RA
A100は、4つのセル102a〜102dを有する。
セル102aは、ライン103を通じて/alloc0
(/はバーであり反転を意味する)を入力する。/al
loc0が(現在、リネーム・バッファ0がGPRに割
り当てられていないことを指摘するように)設定され、
I0Rt_rq が(バッファI0の命令のRT レジスタ・フィ
ールドが有効であることを指摘するように)設定されれ
ば、セル102aはassign_I0Rtを設定し、avail_I0Rt
をクリアし、かつrq_I0Rt_after0をクリアする。/al
loc0が(現在、リネーム・バッファ0がGPRに割
り当てられていることを指摘するように)クリアされれ
ば、セル102aはrq_I0Rt_after0をI0Rt_rqに等しく
し、avail_I0Rtをクリアし、かつassign_I0Rtをクリア
する。/alloc0が設定され、I0Rt_rqがクリアさ
れれば、セル102aはrq_I0Rt_after0をクリアし、as
sign_I0Rtをクリアし、avail_I0Rtを設定する。
【0041】セル102bを参照して、avail_I0Rtを
(現在、リネーム・バッファ0がGPRに割り当てられ
ていないことを指摘するように)設定し、I0Ra_rqを
(バッファI0の命令のRA レジスタ・フィールドが有
効であることを指摘するように)設定すれば、セル10
2bはassign_I0Raを設定し、avail_I0Raをクリアし、r
q_I0Ra_after0をクリアする。avail_I0Rtを(現在、リ
ネーム・バッファ0がGPRに割り当てられていること
を指摘するように)クリアすれば、セル102bはrq_I
0Ra_after0をI0Ra_rqに等しくし、avail_I0Raをクリア
し、assign_I0Raをクリアする。avail_I0Rtを設定しお
よびI0Ra_rqをクリアすれば、セル102bはrq_I0Ra_a
fter0をクリアし、assign_I0Raをクリアし、avail_I0Ra
を設定する。
(現在、リネーム・バッファ0がGPRに割り当てられ
ていないことを指摘するように)設定し、I0Ra_rqを
(バッファI0の命令のRA レジスタ・フィールドが有
効であることを指摘するように)設定すれば、セル10
2bはassign_I0Raを設定し、avail_I0Raをクリアし、r
q_I0Ra_after0をクリアする。avail_I0Rtを(現在、リ
ネーム・バッファ0がGPRに割り当てられていること
を指摘するように)クリアすれば、セル102bはrq_I
0Ra_after0をI0Ra_rqに等しくし、avail_I0Raをクリア
し、assign_I0Raをクリアする。avail_I0Rtを設定しお
よびI0Ra_rqをクリアすれば、セル102bはrq_I0Ra_a
fter0をクリアし、assign_I0Raをクリアし、avail_I0Ra
を設定する。
【0042】セル102cを参照して、avail_I0Raを
(現在、リネーム・バッファ0がGPRに割り当てられ
ていないことを指摘するように)設定し、I1Ra_rqを
(バッファI1の命令のRT レジスタ・フィールドが有
効であることを指摘するように)設定すれば、セル10
2cはassign_I1Rtを設定し、avail_I1Rtをクリアし、r
q_I1Rt_after0をクリアする。avail_I0Raを(現在、リ
ネーム・バッファ0がGPRに割り当てられていること
を指摘するように)クリアすれば、セル102cはrq_I
1Rt_after0をI1Ra_rqに等しくし、avail_I1Rtをクリア
し、assign_I1Rtをクリアする。avail_I0Raを設定しお
よびI1Rt_rqをクリアすれば、セル102cはrq_I1Rt_a
fter0をクリアし、assign_I1Rtをクリアし、avail_I1Rt
を設定する。
(現在、リネーム・バッファ0がGPRに割り当てられ
ていないことを指摘するように)設定し、I1Ra_rqを
(バッファI1の命令のRT レジスタ・フィールドが有
効であることを指摘するように)設定すれば、セル10
2cはassign_I1Rtを設定し、avail_I1Rtをクリアし、r
q_I1Rt_after0をクリアする。avail_I0Raを(現在、リ
ネーム・バッファ0がGPRに割り当てられていること
を指摘するように)クリアすれば、セル102cはrq_I
1Rt_after0をI1Ra_rqに等しくし、avail_I1Rtをクリア
し、assign_I1Rtをクリアする。avail_I0Raを設定しお
よびI1Rt_rqをクリアすれば、セル102cはrq_I1Rt_a
fter0をクリアし、assign_I1Rtをクリアし、avail_I1Rt
を設定する。
【0043】セル102dを参照して、avail_I1Rtを
(現在、リネーム・バッファ0がGPRに割り当てられ
ていないことを指摘するように)設定し、I1Ra_rqが
(バッファI1の命令のRA レジスタ・フィールドが有
効であることを指摘するように)設定すれば、セル10
2dは assign_I1Raを設定し、rq_I1Ra_after0をクリア
する。avail_I1Rtを(現在、リネーム・バッファ0がG
PRに割り当てられていないことを指摘するように)ク
リアすれば、セル102dはrq_I1Ra_after0をI1Ra_rq
に等しくし、assign_I1Raをクリアする。avail_I1Rtを
設定しおよびI1Ra_rqをクリアすれば、セル102dはr
q_I1Ra_after0をクリアし、assign_I1Raをクリアする。
(現在、リネーム・バッファ0がGPRに割り当てられ
ていないことを指摘するように)設定し、I1Ra_rqが
(バッファI1の命令のRA レジスタ・フィールドが有
効であることを指摘するように)設定すれば、セル10
2dは assign_I1Raを設定し、rq_I1Ra_after0をクリア
する。avail_I1Rtを(現在、リネーム・バッファ0がG
PRに割り当てられていないことを指摘するように)ク
リアすれば、セル102dはrq_I1Ra_after0をI1Ra_rq
に等しくし、assign_I1Raをクリアする。avail_I1Rtを
設定しおよびI1Ra_rqをクリアすれば、セル102dはr
q_I1Ra_after0をクリアし、assign_I1Raをクリアする。
【0044】図5を参照して、ライン109a〜109
dを通じて、制御ユニットBFR1のリソース割り当て
アレイ100は、I0Rt_rq,I0Ra_rq,I1Rt_rq,I1Ra_rqの
代わりにそれぞれrq_I0Rt_after0,rq_I0Ra_after0,rq_I
1Rt_after0,rq_I1Ra_after0を入力する。このようにし
て、制御ユニットBFR1は、カスケード形式で制御ユ
ニットBFR0に直列に接続される。
dを通じて、制御ユニットBFR1のリソース割り当て
アレイ100は、I0Rt_rq,I0Ra_rq,I1Rt_rq,I1Ra_rqの
代わりにそれぞれrq_I0Rt_after0,rq_I0Ra_after0,rq_I
1Rt_after0,rq_I1Ra_after0を入力する。このようにし
て、制御ユニットBFR1は、カスケード形式で制御ユ
ニットBFR0に直列に接続される。
【0045】さらに、RAA100は、assign_I0Rt,as
sign_I0Ra,assign_I1Rt,assign_I1Raを、ライン108
を通じてデスティネーション比較およびMRA設定論理
104、マルチプレクサ106および割り当てビット論
理110へ出力する。ライン108に応答して、マルチ
プレクサ106はデスティネーション・フィールドI0Rt
_d,I0Ra_d,I1Rt_d,I1Ra_dの1つをレジスタ・アドレス
値ラッチ113へ出力する。ある任意の時点で、assign
_I0Rt,assign_I0Ra,assign_I1Rt,assign_I1Raの唯一の
ラインが真となる。
sign_I0Ra,assign_I1Rt,assign_I1Raを、ライン108
を通じてデスティネーション比較およびMRA設定論理
104、マルチプレクサ106および割り当てビット論
理110へ出力する。ライン108に応答して、マルチ
プレクサ106はデスティネーション・フィールドI0Rt
_d,I0Ra_d,I1Rt_d,I1Ra_dの1つをレジスタ・アドレス
値ラッチ113へ出力する。ある任意の時点で、assign
_I0Rt,assign_I0Ra,assign_I1Rt,assign_I1Raの唯一の
ラインが真となる。
【0046】ラインassign_I0Rt,assign_I0Ra,assign_I
1Rt,assign_I1Raは、デスティネーション・フィールドI
0Rt_d,I0Ra_d,I1Rt_d,I1Ra_dとそれぞれ連係している。
たとえば、assign_I0Rt=0,assign_I0Ra=0,assign_I1Rt=
1,assign_I1Ra=0であれば、マルチプレクサ106はデ
スティネーション・フィールドI0Rt_dをレジスタ・アド
レス値ラッチ113へ出力する。クロック・ラインCL
K上のクロック信号の立ち上がり遷移に応答して、レジ
スタ・アドレス値ラッチ113はマルチプレクサ106
から出力デスティネーション・フィールドをラッチす
る。したがって、5ビットのデスティネーション・フィ
ールドI1Rt_dがGPR30の汎用目的レジスタ番号27
を表すように2進値にエンコードされれば、レジスタ・
アドレス値ラッチ113は2進値にエンコードされた汎
用目的レジスタ番号27をラッチする。このようにし
て、制御ユニットBFR0は、GPR30の1つのレジ
スタ番号を固定小数点リネーム・バッファ26の割り当
てられたリネーム・バッファ0(図2)と連係する。
1Rt,assign_I1Raは、デスティネーション・フィールドI
0Rt_d,I0Ra_d,I1Rt_d,I1Ra_dとそれぞれ連係している。
たとえば、assign_I0Rt=0,assign_I0Ra=0,assign_I1Rt=
1,assign_I1Ra=0であれば、マルチプレクサ106はデ
スティネーション・フィールドI0Rt_dをレジスタ・アド
レス値ラッチ113へ出力する。クロック・ラインCL
K上のクロック信号の立ち上がり遷移に応答して、レジ
スタ・アドレス値ラッチ113はマルチプレクサ106
から出力デスティネーション・フィールドをラッチす
る。したがって、5ビットのデスティネーション・フィ
ールドI1Rt_dがGPR30の汎用目的レジスタ番号27
を表すように2進値にエンコードされれば、レジスタ・
アドレス値ラッチ113は2進値にエンコードされた汎
用目的レジスタ番号27をラッチする。このようにし
て、制御ユニットBFR0は、GPR30の1つのレジ
スタ番号を固定小数点リネーム・バッファ26の割り当
てられたリネーム・バッファ0(図2)と連係する。
【0047】図8に、STAM42の割り当てビット論
理110の電子回路図を示す。割り当てビット論理11
0は、ラッチ112a〜112dおよびORゲート11
4a〜114dを有する。同時に、ORゲート114a
〜114dの出力は、それぞれI0Rt_alloc_0,I0Ra_allo
c_0,I1Rt_alloc_0,I1Ra_alloc_0を形成する。
理110の電子回路図を示す。割り当てビット論理11
0は、ラッチ112a〜112dおよびORゲート11
4a〜114dを有する。同時に、ORゲート114a
〜114dの出力は、それぞれI0Rt_alloc_0,I0Ra_allo
c_0,I1Rt_alloc_0,I1Ra_alloc_0を形成する。
【0048】assign_I0Rtが真であれば、I0Rt_alloc_0
は真となる。同様に、assign_I0Raが真であればI0Ra_al
loc_0は真となる。また、assign_I1Rtが真であればI1Rt
_alloc_0は真となる。さらに、assign_I1Raが真であれ
ばI1Ra_alloc_0は真となる。
は真となる。同様に、assign_I0Raが真であればI0Ra_al
loc_0は真となる。また、assign_I1Rtが真であればI1Rt
_alloc_0は真となる。さらに、assign_I1Raが真であれ
ばI1Ra_alloc_0は真となる。
【0049】shift1が偽であれば、マルチプレク
サ116aおよび116bの出力はそれぞれassign_I0R
tおよびassign_I0Raに等しい。さもなければ、shif
t1が真であれば、マルチプレクサ116aおよび11
6bの出力はそれぞれI1Rt_alloc_0およびI1Ra_alloc_0
に等しくなる。このようにして、(I1命令が図3に関
連して前述したようにバッファI0に移動されるよう
に)shift1が真であれば、I1Rt_alloc_0およびI1
Ra_alloc_0の状態は、I1Rt_alloc_0およびI1Ra_alloc_0
をマルチプレクサ116aおよび116bにそれぞれコ
ピーすることによって保持される。
サ116aおよび116bの出力はそれぞれassign_I0R
tおよびassign_I0Raに等しい。さもなければ、shif
t1が真であれば、マルチプレクサ116aおよび11
6bの出力はそれぞれI1Rt_alloc_0およびI1Ra_alloc_0
に等しくなる。このようにして、(I1命令が図3に関
連して前述したようにバッファI0に移動されるよう
に)shift1が真であれば、I1Rt_alloc_0およびI1
Ra_alloc_0の状態は、I1Rt_alloc_0およびI1Ra_alloc_0
をマルチプレクサ116aおよび116bにそれぞれコ
ピーすることによって保持される。
【0050】I1Rt_alloc_0およびI1Ra_alloc_0の状態を
保持することによって、固定小数点STAM42は、図
3と関連して前述したように、I1命令がI0命令に先
立って実行ユニットに対して「無秩序」に行われる状況
を便宜的に受容する。このような保持は、リネーム・バ
ッファ0(図2)が、以前ディスパッチされたI1命令
に応答して制御ユニットBFR0によって割り当てられ
ることを余儀なくされるので重要であり、このような割
り当ては、I1Rt_alloc_0およびI1Ra_alloc_0の状態によ
って示される。
保持することによって、固定小数点STAM42は、図
3と関連して前述したように、I1命令がI0命令に先
立って実行ユニットに対して「無秩序」に行われる状況
を便宜的に受容する。このような保持は、リネーム・バ
ッファ0(図2)が、以前ディスパッチされたI1命令
に応答して制御ユニットBFR0によって割り当てられ
ることを余儀なくされるので重要であり、このような割
り当ては、I1Rt_alloc_0およびI1Ra_alloc_0の状態によ
って示される。
【0051】マルチプレクサ116aの出力が真であれ
ば、ラッチ112aの出力はクロック・ラインCLKの
クロック信号の立ち上がり遷移に応答して設定され、し
たがってI0Rt_alloc_0は真にラッチされる。同様に、マ
ルチプレクサ116bの出力が真であれば、ラッチ11
2bの出力はクロック・ラインCLKのクロック信号の
立ち上がり遷移に応答して設定され、したがってI0Ra_a
lloc_0は真にラッチされる。また、assign_I1Rtが真で
あれば、ラッチ112cの出力はクロック・ラインCL
Kのクロック信号の立ち上がり遷移に応答して設定さ
れ、したがってI1Rt_alloc_0は真にラッチされる。さら
に、assign_I1Raが真であれば、ラッチ112dの出力
はクロック・ラインCLKのクロック信号の立ち上がり
遷移に応答して設定され、したがってI1Ra_alloc_0が真
にラッチされる。前述したように、ある任意の時点で、
assign_I0Rt,assign_I0Ra,assign_I1Rt,assign_I1Raの
唯一のラインが真となる。
ば、ラッチ112aの出力はクロック・ラインCLKの
クロック信号の立ち上がり遷移に応答して設定され、し
たがってI0Rt_alloc_0は真にラッチされる。同様に、マ
ルチプレクサ116bの出力が真であれば、ラッチ11
2bの出力はクロック・ラインCLKのクロック信号の
立ち上がり遷移に応答して設定され、したがってI0Ra_a
lloc_0は真にラッチされる。また、assign_I1Rtが真で
あれば、ラッチ112cの出力はクロック・ラインCL
Kのクロック信号の立ち上がり遷移に応答して設定さ
れ、したがってI1Rt_alloc_0は真にラッチされる。さら
に、assign_I1Raが真であれば、ラッチ112dの出力
はクロック・ラインCLKのクロック信号の立ち上がり
遷移に応答して設定され、したがってI1Ra_alloc_0が真
にラッチされる。前述したように、ある任意の時点で、
assign_I0Rt,assign_I0Ra,assign_I1Rt,assign_I1Raの
唯一のラインが真となる。
【0052】assign_I0Rtが偽でかつラッチ112aの
出力が偽であれば、I0Rt_alloc_0は真となる。同様に、
assign_I0Raが偽でかつラッチ112bの出力が偽であ
れば、I0Ra_alloc_0は真となる。また、assign_I1Rtが
偽でかつラッチ112cの出力が偽であれば、I1Rt_all
oc_0は真となる。さらに、assign_I1Raが偽でかつラッ
チ112dの出力が偽であれば、I1Ra_alloc_0は真となる。
出力が偽であれば、I0Rt_alloc_0は真となる。同様に、
assign_I0Raが偽でかつラッチ112bの出力が偽であ
れば、I0Ra_alloc_0は真となる。また、assign_I1Rtが
偽でかつラッチ112cの出力が偽であれば、I1Rt_all
oc_0は真となる。さらに、assign_I1Raが偽でかつラッ
チ112dの出力が偽であれば、I1Ra_alloc_0は真となる。
【0053】ORゲート117を参照して、shift
1またはshift2のいずれかが真であれば、ラッチ
112cおよび112dの出力は、クロック・ラインC
LKのクロック信号の立ち上がり遷移に応答してクリア
される。点線のエンクロージャ118aおよび118b
によって示されている論理を参照して、shift2が
真であればラッチ112aおよび112bの出力は、ク
ロック・ラインCLKのクロック信号の立ち上がり遷移
に応答してクリアされる。
1またはshift2のいずれかが真であれば、ラッチ
112cおよび112dの出力は、クロック・ラインC
LKのクロック信号の立ち上がり遷移に応答してクリア
される。点線のエンクロージャ118aおよび118b
によって示されている論理を参照して、shift2が
真であればラッチ112aおよび112bの出力は、ク
ロック・ラインCLKのクロック信号の立ち上がり遷移
に応答してクリアされる。
【0054】論理118aを参照して、shift1が
真でかつI1Rt_alloc_0が偽であれば、ラッチ112aの
出力は、クロック・ラインCLKのクロック信号の立ち
上がり遷移に応答してクリアされる。論理118bを参
照して、shift1が真でかつI1Ra_alloc_0が偽であ
れば、ラッチ112bの出力は、クロック・ラインCL
Kのクロック信号の立ち上がり遷移に応答してクリアさ
れる。このようにして、(図3と関連して詳細に前述し
たように、I1命令がバッファI0に移動されるよう
に)shift1が真であれば、I1Rt_alloc_0およびI1
Ra_alloc_0は、それぞれラッチ112aおよび112b
の出力にI1Rt_alloc_0およびI1Ra_alloc_0をコピーする
ことによって保持される。
真でかつI1Rt_alloc_0が偽であれば、ラッチ112aの
出力は、クロック・ラインCLKのクロック信号の立ち
上がり遷移に応答してクリアされる。論理118bを参
照して、shift1が真でかつI1Ra_alloc_0が偽であ
れば、ラッチ112bの出力は、クロック・ラインCL
Kのクロック信号の立ち上がり遷移に応答してクリアさ
れる。このようにして、(図3と関連して詳細に前述し
たように、I1命令がバッファI0に移動されるよう
に)shift1が真であれば、I1Rt_alloc_0およびI1
Ra_alloc_0は、それぞれラッチ112aおよび112b
の出力にI1Rt_alloc_0およびI1Ra_alloc_0をコピーする
ことによって保持される。
【0055】I0Rt_alloc_0,I0Ra_alloc_0,I1Rt_alloc_0
またはI1Ra_alloc_0のいずれかが真であれば、リネーム
・バッファ0は制御ユニットBFR0によってGPR3
0の1つに割り当てられる。ある任意の時点で、I0Rt_a
lloc_0,I0Ra_alloc_0,I1Rt_alloc_0およびI1Ra_alloc_0
の唯一のラッチは真となる。点線のエンクロージャ11
9により示されている論理を参照して、shift2が
アサートされれば、I0Rt_alloc_0,I0Ra_alloc_0,I1Rt_a
lloc_0またはI1Ra_alloc_0のいずれかが真のとき、ラッ
チ120はクロック・ラインCLKのクロック信号の立
ち上がり遷移に応答してallocated_0をセットする。
またはI1Ra_alloc_0のいずれかが真であれば、リネーム
・バッファ0は制御ユニットBFR0によってGPR3
0の1つに割り当てられる。ある任意の時点で、I0Rt_a
lloc_0,I0Ra_alloc_0,I1Rt_alloc_0およびI1Ra_alloc_0
の唯一のラッチは真となる。点線のエンクロージャ11
9により示されている論理を参照して、shift2が
アサートされれば、I0Rt_alloc_0,I0Ra_alloc_0,I1Rt_a
lloc_0またはI1Ra_alloc_0のいずれかが真のとき、ラッ
チ120はクロック・ラインCLKのクロック信号の立
ち上がり遷移に応答してallocated_0をセットする。
【0056】同様に、shift1がアサートされれ
ば、I0Rt_alloc_0またはI0Ra_alloc_0のいずれかがが真
のとき、ラッチ120はクロック・ラインCLKのクロ
ック信号の立ち上がり遷移に応答してallocated_0をセ
ットする。さらに、shift1がアサートされれば、
I1Rt_alloc_0およびI1Ra_alloc_0は、ラッチ112aお
よび112bの出力にI1Rt_alloc_0およびI1Ra_alloc_0
をコピーすることによって保持される。
ば、I0Rt_alloc_0またはI0Ra_alloc_0のいずれかがが真
のとき、ラッチ120はクロック・ラインCLKのクロ
ック信号の立ち上がり遷移に応答してallocated_0をセ
ットする。さらに、shift1がアサートされれば、
I1Rt_alloc_0およびI1Ra_alloc_0は、ラッチ112aお
よび112bの出力にI1Rt_alloc_0およびI1Ra_alloc_0
をコピーすることによって保持される。
【0057】したがって、allocated_0は、リネーム・
バッファ0が実行された命令に応答して割り当てられる
かどうか(図5に示すライン132を通じて)MRAリ
セット論理130に示す。allocated_0が真であれば、
リネーム・バッファ0(図2)は、実行された命令によ
って特定されたように、GPR30の特定の1つにデー
タを記憶するように割り当てられる。レジスタ・アドレ
ス値ラッチ113と関連して前述したように、特定のG
PR番号は、制御ユニットBFR0のレジスタ・アドレ
ス値ラッチ113によってラッチされる。ccc_gpr_wr_0
が真であれば、ラッチ120はクロック・ラインCLK
のクロック信号の立ち上がり遷移に応答してallocated_
0をクリアし、これによってリネーム・バッファ0がい
ずれのGPR30にも割り当てられないことを示す。
バッファ0が実行された命令に応答して割り当てられる
かどうか(図5に示すライン132を通じて)MRAリ
セット論理130に示す。allocated_0が真であれば、
リネーム・バッファ0(図2)は、実行された命令によ
って特定されたように、GPR30の特定の1つにデー
タを記憶するように割り当てられる。レジスタ・アドレ
ス値ラッチ113と関連して前述したように、特定のG
PR番号は、制御ユニットBFR0のレジスタ・アドレ
ス値ラッチ113によってラッチされる。ccc_gpr_wr_0
が真であれば、ラッチ120はクロック・ラインCLK
のクロック信号の立ち上がり遷移に応答してallocated_
0をクリアし、これによってリネーム・バッファ0がい
ずれのGPR30にも割り当てられないことを示す。
【0058】特に、shift1がアサートされれば
(バッファI1の命令がディスパッチされていないこと
を示す)allocated_0は、I1Rt_alloc_0またはI1Ra_allo
c_0による、リネーム・バッファ0が割り当てられたと
いう表示を反映しない。したがって、NORゲート12
4はallocated_0とラッチ112a〜112dの出力を
入力される。これらの入力のすべてが真であるとき/a
lloc0はクリアされ、さもなければ/alloc0
はセットされる。このように、/alloc0は、命令
が実行されるか否かにかかわらず、命令に応答してリネ
ーム・バッファ0を割り当てるかどうかをRAA100
に示す。
(バッファI1の命令がディスパッチされていないこと
を示す)allocated_0は、I1Rt_alloc_0またはI1Ra_allo
c_0による、リネーム・バッファ0が割り当てられたと
いう表示を反映しない。したがって、NORゲート12
4はallocated_0とラッチ112a〜112dの出力を
入力される。これらの入力のすべてが真であるとき/a
lloc0はクリアされ、さもなければ/alloc0
はセットされる。このように、/alloc0は、命令
が実行されるか否かにかかわらず、命令に応答してリネ
ーム・バッファ0を割り当てるかどうかをRAA100
に示す。
【0059】ラッチ112a〜112dの出力は、ライ
ン122_0を通じて命令デコーダ38(図1)に出力され
る。同様に、固定小数点STAM42は、ライン122_1
〜122_4(図1)を制御ユニットBFR1〜BFR4か
ら命令デコーダ38へそれぞれ出力する。ライン122_1
〜122_4は図5に示していない。
ン122_0を通じて命令デコーダ38(図1)に出力され
る。同様に、固定小数点STAM42は、ライン122_1
〜122_4(図1)を制御ユニットBFR1〜BFR4か
ら命令デコーダ38へそれぞれ出力する。ライン122_1
〜122_4は図5に示していない。
【0060】ライン122_0〜122_4は、1つ以上のI0Rt_r
q,I0Ra_rq,I1Rt_rqおよびI1Ra_rqの命令デコーダによ
るアサートに応答して、リネーム・バッファを割り当て
る。ライン122_0〜122_4を通じて、固定小数点STAM
42からのこのような指摘に応答して、命令デコーダ3
8は、固定小数点STAM42がリネーム・バッファを
割り当てたI0Rt_rq,I0Ra_rq,I1Rt_rqおよびI1Ra_rqの
以前にアサートされた任意の1つをクリアする。このよ
うにして、固定小数点STAM42は、命令デコーダ3
8から単一の要求に応答して複数のリネーム・バッファ
の重複割り当てを回避する。
q,I0Ra_rq,I1Rt_rqおよびI1Ra_rqの命令デコーダによ
るアサートに応答して、リネーム・バッファを割り当て
る。ライン122_0〜122_4を通じて、固定小数点STAM
42からのこのような指摘に応答して、命令デコーダ3
8は、固定小数点STAM42がリネーム・バッファを
割り当てたI0Rt_rq,I0Ra_rq,I1Rt_rqおよびI1Ra_rqの
以前にアサートされた任意の1つをクリアする。このよ
うにして、固定小数点STAM42は、命令デコーダ3
8から単一の要求に応答して複数のリネーム・バッファ
の重複割り当てを回避する。
【0061】図6を参照して、制御ユニットBFR0が
ラインI0Rt_alloc_0,I0Ra_alloc_0,I1Rt_alloc_0およ
びI1Ra_alloc_0を出力するのと同様に、制御ユニットB
FR1〜BFR4は、ラインI0Rt_alloc_n,I0Ra_alloc
_n,I1Rt_alloc_nおよびI1Ra_alloc_nを出力する(ここ
で、n=1はBFR1に、n=2はBFR2に、n=3
はBFR3に、n=4はBFR4にそれぞれ対応す
る)。図5を参照して、5ビットのデスティネーション
・タグI0Rtは、束線I0Rt_alloc_0,I0Rt_alloc_1,
I0Rt_alloc_2,I0Rt_alloc_3およびI0Rt_alloc_4によっ
て形成される。同様に、5ビットのデスティネーション
・タグI0Ra,I1RtおよびI1Raは、束線I0Ra
_alloc_n,I1Rt_alloc_nおよびI1Ra_alloc_nによって形
成される(ここでn=[0・・・4]である)。
ラインI0Rt_alloc_0,I0Ra_alloc_0,I1Rt_alloc_0およ
びI1Ra_alloc_0を出力するのと同様に、制御ユニットB
FR1〜BFR4は、ラインI0Rt_alloc_n,I0Ra_alloc
_n,I1Rt_alloc_nおよびI1Ra_alloc_nを出力する(ここ
で、n=1はBFR1に、n=2はBFR2に、n=3
はBFR3に、n=4はBFR4にそれぞれ対応す
る)。図5を参照して、5ビットのデスティネーション
・タグI0Rtは、束線I0Rt_alloc_0,I0Rt_alloc_1,
I0Rt_alloc_2,I0Rt_alloc_3およびI0Rt_alloc_4によっ
て形成される。同様に、5ビットのデスティネーション
・タグI0Ra,I1RtおよびI1Raは、束線I0Ra
_alloc_n,I1Rt_alloc_nおよびI1Ra_alloc_nによって形
成される(ここでn=[0・・・4]である)。
【0062】また、図1を参照して、デスティネーショ
ン・タグI0Rt,I0Ra,I1RtおよびI1Ra
は、ライン128を通じて、固定小数点STAM42か
ら固定小数点ユニット20およびロード/記憶ユニット
22へ出力される。たとえば、固定小数点STAM42
がデスティネーション・タグI0Rt=10000を出
力し、一方、固定小数点ユニット20がバッファI0
(図3)からの命令を実行すれば、固定小数点ユニット
20は、固定小数点リネーム・バッファ26のリネーム
・バッファ0(図2)に命令のRT 結果データを記憶す
る。さらに、固定小数点STAM42の制御ユニットB
FR0は、レジスタ・アドレス値ラッチ113と関連し
て前述したように、割り当てられたリネーム・バッファ
0を命令のRT レジスタ・フィールドに特定されたレジ
スタ番号と連係する。
ン・タグI0Rt,I0Ra,I1RtおよびI1Ra
は、ライン128を通じて、固定小数点STAM42か
ら固定小数点ユニット20およびロード/記憶ユニット
22へ出力される。たとえば、固定小数点STAM42
がデスティネーション・タグI0Rt=10000を出
力し、一方、固定小数点ユニット20がバッファI0
(図3)からの命令を実行すれば、固定小数点ユニット
20は、固定小数点リネーム・バッファ26のリネーム
・バッファ0(図2)に命令のRT 結果データを記憶す
る。さらに、固定小数点STAM42の制御ユニットB
FR0は、レジスタ・アドレス値ラッチ113と関連し
て前述したように、割り当てられたリネーム・バッファ
0を命令のRT レジスタ・フィールドに特定されたレジ
スタ番号と連係する。
【0063】図9に、固定小数点STAM42のホール
ドオフ生成ユニット140の電子回路図を示す。通常、
制御ユニットBFR0は、ディスパッチされた命令に応
答してその関連するリネーム・バッファ0(図2)を割
り当ててGPR30の特定の1つにデータを記憶すると
き、そのMRAビットを設定する。それにもかかわら
ず、ホールドオフ生成ユニット140で、固定小数点S
TAM42は、(1)I1命令をI0命令以前にまたは
I0命令と共にディスパッチし、(2)I0命令および
I1命令の各々がRT レジスタ・フィールド64(図
1)またはRA レジスタ・フィールド66に特定された
共通のデスティネーション・レジスタを有するという状
態を受容する。たとえば、 I0命令がinstr.code,R3,R4,R5 I1命令がinstr.code,R3,R6,R7 であれば、レジスタ番号3(すなわちR3)はI0命令
およびI1命令の両方のRT レジスタ・フィールド64
で特定される。このような状況において、制御ユニット
BFR0がリネーム・バッファ0を割り当て、ディスパ
ッチされた命令I0に応答してレジスタR3にデータを
記憶すれば、制御ユニットBFR0はそのMRAビット
を設定しない。これは、以前にまたは同時にディスパッ
チされたI1命令に応答してレジスタ3のためのデータ
を記憶するため、異なるリネーム・バッファが固定小数
点STAM42によって割り当てられるからである。順
番ではI1命令はI0命令に続く命令であるから、この
異なるリネーム・バッファは、レジスタR3のためのデ
ータを記憶する「最後に割り当てられた」リネーム・バ
ッファとして、固定小数点STAM42によって指定さ
れる。
ドオフ生成ユニット140の電子回路図を示す。通常、
制御ユニットBFR0は、ディスパッチされた命令に応
答してその関連するリネーム・バッファ0(図2)を割
り当ててGPR30の特定の1つにデータを記憶すると
き、そのMRAビットを設定する。それにもかかわら
ず、ホールドオフ生成ユニット140で、固定小数点S
TAM42は、(1)I1命令をI0命令以前にまたは
I0命令と共にディスパッチし、(2)I0命令および
I1命令の各々がRT レジスタ・フィールド64(図
1)またはRA レジスタ・フィールド66に特定された
共通のデスティネーション・レジスタを有するという状
態を受容する。たとえば、 I0命令がinstr.code,R3,R4,R5 I1命令がinstr.code,R3,R6,R7 であれば、レジスタ番号3(すなわちR3)はI0命令
およびI1命令の両方のRT レジスタ・フィールド64
で特定される。このような状況において、制御ユニット
BFR0がリネーム・バッファ0を割り当て、ディスパ
ッチされた命令I0に応答してレジスタR3にデータを
記憶すれば、制御ユニットBFR0はそのMRAビット
を設定しない。これは、以前にまたは同時にディスパッ
チされたI1命令に応答してレジスタ3のためのデータ
を記憶するため、異なるリネーム・バッファが固定小数
点STAM42によって割り当てられるからである。順
番ではI1命令はI0命令に続く命令であるから、この
異なるリネーム・バッファは、レジスタR3のためのデ
ータを記憶する「最後に割り当てられた」リネーム・バ
ッファとして、固定小数点STAM42によって指定さ
れる。
【0064】したがって、図5および図9は、比較器1
50a〜150dおよびその個々の出力152a〜15
2dを示す。図9を参照して、比較器150aはI0Rt_d
とI1Rt_dとの間の一致に応答して出力152aをアサー
トする。同様に、比較器150bはI0Ra_dとI1Rt_dとの
間の一致に応答して出力152bをアサートする。ま
た、比較器150cはI0Rt_dとI1Ra_dとの間の一致に応
答して出力152cをアサートする。さらに、比較器1
50dはI0Ra_dとI1Ra_dとの間の一致に応答して出力1
52dをアサートする。
50a〜150dおよびその個々の出力152a〜15
2dを示す。図9を参照して、比較器150aはI0Rt_d
とI1Rt_dとの間の一致に応答して出力152aをアサー
トする。同様に、比較器150bはI0Ra_dとI1Rt_dとの
間の一致に応答して出力152bをアサートする。ま
た、比較器150cはI0Rt_dとI1Ra_dとの間の一致に応
答して出力152cをアサートする。さらに、比較器1
50dはI0Ra_dとI1Ra_dとの間の一致に応答して出力1
52dをアサートする。
【0065】I1Rt_rqが真(バッファI1の命令の有効
なRT フィールド64を示す)かつ出力152aがアサ
ートされれば、ホールドオフ生成ユニット140はI0Rt
_holdoff(154a)をアサートする。同様に、I1Rt_r
qが真かつ出力152bがアサートされれば、ホールド
オフ生成ユニット140はI0Ra_holdoff(154b)を
アサートする。また、I1Ra_rqが真(バッファI1の命
令の有効なRA フィールド66を示す)かつ出力152
cがアサートされれば、ホールドオフ生成ユニット14
0はI0Rt_holdoff(154a)をアサートする。さら
に、I1Ra_rqが真かつ出力152dがアサートされれ
ば、ホールドオフ生成ユニット140はI0Ra_holdoff
(154b)をアサートする。
なRT フィールド64を示す)かつ出力152aがアサ
ートされれば、ホールドオフ生成ユニット140はI0Rt
_holdoff(154a)をアサートする。同様に、I1Rt_r
qが真かつ出力152bがアサートされれば、ホールド
オフ生成ユニット140はI0Ra_holdoff(154b)を
アサートする。また、I1Ra_rqが真(バッファI1の命
令の有効なRA フィールド66を示す)かつ出力152
cがアサートされれば、ホールドオフ生成ユニット14
0はI0Rt_holdoff(154a)をアサートする。さら
に、I1Ra_rqが真かつ出力152dがアサートされれ
ば、ホールドオフ生成ユニット140はI0Ra_holdoff
(154b)をアサートする。
【0066】図10に、デスティネーション比較および
MRA設定論理104のMRA設定論理160の電子回
路図を示す。図5に示すように、デスティネーション比
較およびMRA設定論理104は、ホールドオフ生成ユ
ニット140からI0Rt_holdoff(154a)およびI0Ra
_holdoff(154b)を入力する。
MRA設定論理104のMRA設定論理160の電子回
路図を示す。図5に示すように、デスティネーション比
較およびMRA設定論理104は、ホールドオフ生成ユ
ニット140からI0Rt_holdoff(154a)およびI0Ra
_holdoff(154b)を入力する。
【0067】図10を参照して、(1)assign_I0Rt_0
が真かつshift1が真、(2)assign_I0Ra_0が真
かつshift1が真、(3)assign_I1Rt_0が真かつ
shift2が真、または、(4)assign_I0Ra_0が真
かつshift2が真、であれば、MRA設定論理16
0は、mra_set_0をアサートする。 (1)assign_I0Rt_0が真かつshift2が真(I0Rt_
holdoffが真でなければ)、または、(2)assign_I0Ra
_0が真かつshift2が真(I0Ra_holdoffが真でなけ
れば)であれば、MRA設定論理160は、mra_set_0
をアサートする。
が真かつshift1が真、(2)assign_I0Ra_0が真
かつshift1が真、(3)assign_I1Rt_0が真かつ
shift2が真、または、(4)assign_I0Ra_0が真
かつshift2が真、であれば、MRA設定論理16
0は、mra_set_0をアサートする。 (1)assign_I0Rt_0が真かつshift2が真(I0Rt_
holdoffが真でなければ)、または、(2)assign_I0Ra
_0が真かつshift2が真(I0Ra_holdoffが真でなけ
れば)であれば、MRA設定論理160は、mra_set_0
をアサートする。
【0068】したがって、I0命令がI1命令の後また
はI1命令と共にディスパッチ(shift2のアサー
ションによって示される)され、かつI0およびI1命
令の各々がRT またはRA レジスタ・フィールドのいず
れかに特定された共通のデスティネーション・レジスタ
を有し、かつ制御ユニットBFR0がディスパッチされ
た命令I0に応答して共通するデスティネーション・レ
ジスタのためのデータを記憶するために、リネーム・バ
ッファ0を割り当てれば、制御ユニットBFR0はその
MRAビットを設定しない。代わりに、固定小数点ST
AM42の異なる制御ユニットが、ディスパッチされた
命令I1に応答して共通するデスティネーション・レジ
スタのためのデータを記憶するため、異なるリネーム・
バッファを割り当てれば、この異なる制御ユニットは、
そのMRAビットを設定する。
はI1命令と共にディスパッチ(shift2のアサー
ションによって示される)され、かつI0およびI1命
令の各々がRT またはRA レジスタ・フィールドのいず
れかに特定された共通のデスティネーション・レジスタ
を有し、かつ制御ユニットBFR0がディスパッチされ
た命令I0に応答して共通するデスティネーション・レ
ジスタのためのデータを記憶するために、リネーム・バ
ッファ0を割り当てれば、制御ユニットBFR0はその
MRAビットを設定しない。代わりに、固定小数点ST
AM42の異なる制御ユニットが、ディスパッチされた
命令I1に応答して共通するデスティネーション・レジ
スタのためのデータを記憶するため、異なるリネーム・
バッファを割り当てれば、この異なる制御ユニットは、
そのMRAビットを設定する。
【0069】図5を参照して、MRA設定論理160
は、ライン162としてmra_set_0をMRAラッチ16
4へ出力する。mra_set_0のアサーションに応答して、
MRAラッチ164はMRAビットを設定する。
は、ライン162としてmra_set_0をMRAラッチ16
4へ出力する。mra_set_0のアサーションに応答して、
MRAラッチ164はMRAビットを設定する。
【0070】図11に、固定小数点STAM42のMR
Aリセット論理130の電子回路図を示す。さらに、図
11はデスティネーション比較およびMRA設定論理1
04のデスティネーション比較論理170を示してい
る。図5および図11に示すように、デスティネーショ
ン比較論理170は、reg_adr_0としてレジスタ・アド
レス値ラッチ113からラッチされたレジスタ番号を入
力する。さらに、デスティネーション比較論理170
は、I0Rt_d,I0Ra_d,I1Rt_dおよびI1Ra_dを入力する。
Aリセット論理130の電子回路図を示す。さらに、図
11はデスティネーション比較およびMRA設定論理1
04のデスティネーション比較論理170を示してい
る。図5および図11に示すように、デスティネーショ
ン比較論理170は、reg_adr_0としてレジスタ・アド
レス値ラッチ113からラッチされたレジスタ番号を入
力する。さらに、デスティネーション比較論理170
は、I0Rt_d,I0Ra_d,I1Rt_dおよびI1Ra_dを入力する。
【0071】明らかに、制御ユニットBFR0〜BFR
4の各々のMRAリセット論理は、命令デコーダ38か
ら要求ラインI0Rt_rq,I0Ra_rq,I1Rt_rqおよびI1Ra_rq
を受け取る(図1)。また、制御ユニットBFR0〜B
FR4の各々のMRAリセット論理は、shift1,
shift2,allocated_nおよびccc_gpr_wr_nを受け
取る(ここでn=1はBFR1、n=2はBFR2、n
=3はBFR3、およびn=4はBFR4にそれぞれ対
応する)。
4の各々のMRAリセット論理は、命令デコーダ38か
ら要求ラインI0Rt_rq,I0Ra_rq,I1Rt_rqおよびI1Ra_rq
を受け取る(図1)。また、制御ユニットBFR0〜B
FR4の各々のMRAリセット論理は、shift1,
shift2,allocated_nおよびccc_gpr_wr_nを受け
取る(ここでn=1はBFR1、n=2はBFR2、n
=3はBFR3、およびn=4はBFR4にそれぞれ対
応する)。
【0072】制御ユニットBFR0は、任意の3つの状
態に応答してそのMRAビットをクリアする。第1の状
態において、ccc_gpr_wr_0は、図1と図5に関連して前
述したように完了論理40によってアサートされる。第
2の状態において、I0命令はディスパッチされ、ディ
スパッチされたI0命令は、割り当てられたリネーム・
バッファ0とともに制御ユニットBFR0によって連係
されたGPRレジスタ番号に等しい有効なデスティネー
ション・レジスタを有する。第3の状態において、I0
命令はI1命令の後にまたはI1命令と共にディスパッ
チされ、ディスパッチされたI1命令は、割り当てられ
たリネーム・バッファ0とともに制御ユニットBFR0
によって連係されたGPRレジスタ番号に等しい有効な
デスティネーション・レジスタを有する。
態に応答してそのMRAビットをクリアする。第1の状
態において、ccc_gpr_wr_0は、図1と図5に関連して前
述したように完了論理40によってアサートされる。第
2の状態において、I0命令はディスパッチされ、ディ
スパッチされたI0命令は、割り当てられたリネーム・
バッファ0とともに制御ユニットBFR0によって連係
されたGPRレジスタ番号に等しい有効なデスティネー
ション・レジスタを有する。第3の状態において、I0
命令はI1命令の後にまたはI1命令と共にディスパッ
チされ、ディスパッチされたI1命令は、割り当てられ
たリネーム・バッファ0とともに制御ユニットBFR0
によって連係されたGPRレジスタ番号に等しい有効な
デスティネーション・レジスタを有する。
【0073】したがって、デスティネーション比較論理
170は、4つの比較器172a〜172dを有する。
reg_adr_0がI0Rt_dと一致すれば、比較器172aはM
RAリセット論理130にライン174aを設定する。
同様に、reg_adr_0がI0Ra_dと一致すれば、比較器17
2bはMRAリセット論理130にライン174bを設
定する。また、reg_adr_0がI1Rt_dと一致すれば、比較
器172cはMRAリセット論理130にライン174
cを設定する。さらに、reg_adr_0がI1Ra_dと一致すれ
ば、比較器172dはMRAリセット論理130にライ
ン174dを設定する。
170は、4つの比較器172a〜172dを有する。
reg_adr_0がI0Rt_dと一致すれば、比較器172aはM
RAリセット論理130にライン174aを設定する。
同様に、reg_adr_0がI0Ra_dと一致すれば、比較器17
2bはMRAリセット論理130にライン174bを設
定する。また、reg_adr_0がI1Rt_dと一致すれば、比較
器172cはMRAリセット論理130にライン174
cを設定する。さらに、reg_adr_0がI1Ra_dと一致すれ
ば、比較器172dはMRAリセット論理130にライ
ン174dを設定する。
【0074】allocated_0が真で、かつ、(1)ライン
174aが真、shift1が真、かつI0Rt_rqが真、
(2)ライン174aが真、shift2が真、かつI0
Rt_rqが真、(3)ライン174bが真、shift1
が真、かつI0Ra_rqが真、(4)ライン174bが真、
shift2が真、かつI0Ra_rqが真、(5)ライン1
74cが真、shift2が真、かつI0Rt_rqが真、ま
たは、(6)ライン174dが真、shift2が真、
かつI0Ra_rqが真、であれば、MRAリセット論理13
0は、mra_reset_0をアサートする。
174aが真、shift1が真、かつI0Rt_rqが真、
(2)ライン174aが真、shift2が真、かつI0
Rt_rqが真、(3)ライン174bが真、shift1
が真、かつI0Ra_rqが真、(4)ライン174bが真、
shift2が真、かつI0Ra_rqが真、(5)ライン1
74cが真、shift2が真、かつI0Rt_rqが真、ま
たは、(6)ライン174dが真、shift2が真、
かつI0Ra_rqが真、であれば、MRAリセット論理13
0は、mra_reset_0をアサートする。
【0075】さらに、MRAリセット論理130は、cc
c_gpr_wr_0が真であれば、mra_reset_0をアサートす
る。図5を参照して、MRAリセット論理130は、ラ
イン176としてmra_reset_0をMRAラッチ164へ
出力する。mra_reset_0のアサーションに応答して、M
RAラッチ164はMRAビット166をクリアする。
c_gpr_wr_0が真であれば、mra_reset_0をアサートす
る。図5を参照して、MRAリセット論理130は、ラ
イン176としてmra_reset_0をMRAラッチ164へ
出力する。mra_reset_0のアサーションに応答して、M
RAラッチ164はMRAビット166をクリアする。
【0076】図6を参照して、固定小数点STAM42
はソース比較論理190を含む。ソース比較論理190
は、reg_adr_0としてレジスタ・アドレス値ラッチ11
3からラッチされたレジスタ番号を入力する。さらに、
ソース比較論理190は、I0Ra_s,I0Rb_s,I1Ra_sおよ
びI1Rb_sを入力する。
はソース比較論理190を含む。ソース比較論理190
は、reg_adr_0としてレジスタ・アドレス値ラッチ11
3からラッチされたレジスタ番号を入力する。さらに、
ソース比較論理190は、I0Ra_s,I0Rb_s,I1Ra_sおよ
びI1Rb_sを入力する。
【0077】ソース比較論理190は、reg_adr_0と、I
0Ra_s,I0Rb_s,I1Ra_sおよびI1Rb_sを比較する。reg_a
dr_0とI0Ra_sとの一致に応答して、ソース比較論理19
0はANDゲート192aにラインをアサートする。A
NDゲート192aは、MRAビット166が設定され
るとラインI0Ra_source_0をアサートする。同様に、reg
_adr_0とI0Rb_sとの一致に応答して、ソース比較論理1
90はANDゲート192bにラインをアサートする。
ANDゲート192bは、MRAビット166が設定さ
れるとラインI0Rb_source_0をアサートする。
0Ra_s,I0Rb_s,I1Ra_sおよびI1Rb_sを比較する。reg_a
dr_0とI0Ra_sとの一致に応答して、ソース比較論理19
0はANDゲート192aにラインをアサートする。A
NDゲート192aは、MRAビット166が設定され
るとラインI0Ra_source_0をアサートする。同様に、reg
_adr_0とI0Rb_sとの一致に応答して、ソース比較論理1
90はANDゲート192bにラインをアサートする。
ANDゲート192bは、MRAビット166が設定さ
れるとラインI0Rb_source_0をアサートする。
【0078】I0Ra_source_0およびI0Rb_source_0に加え
て、制御ユニットBFR0は、マルチプレクサ194a
および194bからラインI1Ra_source_0およびI1Rb_so
urce_0を出力する。マルチプレクサ194aおよび19
4bは、図12に関連して前述した通りである。
て、制御ユニットBFR0は、マルチプレクサ194a
および194bからラインI1Ra_source_0およびI1Rb_so
urce_0を出力する。マルチプレクサ194aおよび19
4bは、図12に関連して前述した通りである。
【0079】制御ユニットBFR0は、ラインI0Ra_sou
rce_0,I0Rb_source_0,I1Ra_source_0およびI1Rb_sour
ce_0を出力する。同様に、各制御ユニットBFR1〜B
FR4は、ラインI0Ra_source_n,I0Rb_source_n,I1Ra
_source_nおよびI1Rb_source_nを出力する(ここでn=
1はBFR1、n=2はBFR2、n=3はBFR3、
およびn=4はBFR4に対応する)。5ビットのソー
ス・タグI0Raは、ラインI0Ra_source_0,I0Ra_sour
ce_1,I0Ra_source_2,I0Ra_source_3,およびI0Ra_sou
rce_4を構成することによって形成される。同様に、5
ビットのソース・タグI0Rb,I1RaおよびI1R
bは、ラインI0Rb_source_n,I1Ra_source_nおよびI1Rb
_source_nをそれぞれ構成することによって形成される
(ここでn=[0・・・4])。
rce_0,I0Rb_source_0,I1Ra_source_0およびI1Rb_sour
ce_0を出力する。同様に、各制御ユニットBFR1〜B
FR4は、ラインI0Ra_source_n,I0Rb_source_n,I1Ra
_source_nおよびI1Rb_source_nを出力する(ここでn=
1はBFR1、n=2はBFR2、n=3はBFR3、
およびn=4はBFR4に対応する)。5ビットのソー
ス・タグI0Raは、ラインI0Ra_source_0,I0Ra_sour
ce_1,I0Ra_source_2,I0Ra_source_3,およびI0Ra_sou
rce_4を構成することによって形成される。同様に、5
ビットのソース・タグI0Rb,I1RaおよびI1R
bは、ラインI0Rb_source_n,I1Ra_source_nおよびI1Rb
_source_nをそれぞれ構成することによって形成される
(ここでn=[0・・・4])。
【0080】図1を参照して、ソース・タグI0Ra,
I0Rb,I1RaおよびI1Rbは、ライン198を
通じて固定小数点STAM42から固定小数点ユニット
20およびロード/記憶ユニット22へ出力される。同
じように、固定小数点STAM42は、固定小数点リネ
ーム・バッファ26の最後に割り当てられた1つが命令
のRA レジスタ・フィールドまたはRB レジスタ・フィ
ールドにおいて特定されたレジスタ番号のためのデータ
を記憶するかどうかを示す。したがって、複数のリネー
ム・バッファが特定されたレジスタ番号のデータを記憶
すれば、固定小数点STAM42はリネーム・バッファ
の最後に割り当てられた1つのみを示す。
I0Rb,I1RaおよびI1Rbは、ライン198を
通じて固定小数点STAM42から固定小数点ユニット
20およびロード/記憶ユニット22へ出力される。同
じように、固定小数点STAM42は、固定小数点リネ
ーム・バッファ26の最後に割り当てられた1つが命令
のRA レジスタ・フィールドまたはRB レジスタ・フィ
ールドにおいて特定されたレジスタ番号のためのデータ
を記憶するかどうかを示す。したがって、複数のリネー
ム・バッファが特定されたレジスタ番号のデータを記憶
すれば、固定小数点STAM42はリネーム・バッファ
の最後に割り当てられた1つのみを示す。
【0081】たとえば、固定小数点STAM42がソー
ス・タグI0Ra=00100、固定小数点ユニット2
0がバッファI0からの命令を実行すれば(図3)、固
定小数点ユニット20は、固定小数点リネーム・バッフ
ァ26のリネーム・バッファ2(図2)から命令のRa
ソース・データを入力する。他の例として、固定小数点
STAM42がソース・タグI0Ra=00000、固
定小数点ユニット20がバッファI0からの命令を実行
すれば(図3)、固定小数点ユニット20は、命令のR
A レジスタ・フィールドで特定されたGPRの1つから
の命令のRA データ・ソースを入力する。
ス・タグI0Ra=00100、固定小数点ユニット2
0がバッファI0からの命令を実行すれば(図3)、固
定小数点ユニット20は、固定小数点リネーム・バッフ
ァ26のリネーム・バッファ2(図2)から命令のRa
ソース・データを入力する。他の例として、固定小数点
STAM42がソース・タグI0Ra=00000、固
定小数点ユニット20がバッファI0からの命令を実行
すれば(図3)、固定小数点ユニット20は、命令のR
A レジスタ・フィールドで特定されたGPRの1つから
の命令のRA データ・ソースを入力する。
【0082】図12に、固定小数点STAM42の優先
順位割り当てユニット200の電子回路図を示す。優先
順位割り当てユニット200とともに、固定小数点ST
AM42は(1)I1命令がI0命令以前にまたはI0
命令と共にディスパッチされる、(2)I0命令がI1
命令のソース・レジスタであるデスティネーション・レ
ジスタを有する、という状態を受容する。たとえば、 I0命令がinstr.code,R3,R4,R5 I1命令がinstr.code,R8,R6,R3 であれば、レジスタ番号3(すなわちR3)はI0命令
のRT レジスタ・フィールド64およびI1命令のRB
ソース・レジスタ・フィールドに特定される。このよう
な状況において、固定小数点STAM42は、(ディス
パッチされた命令I0に応答して)命令I0のディスパ
ッチに先立ち、レジスタR3のためのデータを記憶する
ために、リネーム・バッファを割り当てることはしな
い。これは、I0命令の以前にまたはI0命令と共にデ
ィスパッチされるからである。
順位割り当てユニット200の電子回路図を示す。優先
順位割り当てユニット200とともに、固定小数点ST
AM42は(1)I1命令がI0命令以前にまたはI0
命令と共にディスパッチされる、(2)I0命令がI1
命令のソース・レジスタであるデスティネーション・レ
ジスタを有する、という状態を受容する。たとえば、 I0命令がinstr.code,R3,R4,R5 I1命令がinstr.code,R8,R6,R3 であれば、レジスタ番号3(すなわちR3)はI0命令
のRT レジスタ・フィールド64およびI1命令のRB
ソース・レジスタ・フィールドに特定される。このよう
な状況において、固定小数点STAM42は、(ディス
パッチされた命令I0に応答して)命令I0のディスパ
ッチに先立ち、レジスタR3のためのデータを記憶する
ために、リネーム・バッファを割り当てることはしな
い。これは、I0命令の以前にまたはI0命令と共にデ
ィスパッチされるからである。
【0083】さらに、ディスパッチされたIO命令に応
答して、固定小数点STAM42は,IO命令のデステ
ィネーション・レジスタのためのデータを記憶するため
に、リネーム・バッファを割り当てる。この割り当てら
れたリネーム・バッファは、固定小数点リネーム・バッ
ファ26の最後に割り当てられた1つであり、I1命令
のソース・レジスタのための最新のデータを記憶する。
答して、固定小数点STAM42は,IO命令のデステ
ィネーション・レジスタのためのデータを記憶するため
に、リネーム・バッファを割り当てる。この割り当てら
れたリネーム・バッファは、固定小数点リネーム・バッ
ファ26の最後に割り当てられた1つであり、I1命令
のソース・レジスタのための最新のデータを記憶する。
【0084】有利なことに、固定小数点STAM42
は、固定小数点リネーム・バッファ26の最後に割り当
てられた1つが、たとえI1命令がI0命令の以前また
はI0命令と共にディスパッチされても、且つたとえI
0命令のデスティネーション・レジスタがI1命令のソ
ース・レジスタであっても、I1命令のRA レジスタ・
フィールドまたはRB レジスタ・フィールドに特定され
たレジスタ番号のデータを記憶するかどうかを示す。
は、固定小数点リネーム・バッファ26の最後に割り当
てられた1つが、たとえI1命令がI0命令の以前また
はI0命令と共にディスパッチされても、且つたとえI
0命令のデスティネーション・レジスタがI1命令のソ
ース・レジスタであっても、I1命令のRA レジスタ・
フィールドまたはRB レジスタ・フィールドに特定され
たレジスタ番号のデータを記憶するかどうかを示す。
【0085】したがって、図6および図12に、4つの
比較器202a〜202dおよびこれらの個別の出力2
04a〜204dを示す。図12を参照して、比較器2
02aはI1Ra_sとI0Rt_dとの間の一致に応答して出力2
04aをアサートする。同様に、比較器202bはI1Ra
_sとI0Ra_dとの間の一致に応答して出力204bをアサ
ートする。また、比較器202cはI1Rb_sとI0Rt_dとの
間の一致に応答して出力204cをアサートする。さら
に、比較器202dはI1Rb_sとI0Ra_dとの間の一致に応
答して出力204dをアサートする。
比較器202a〜202dおよびこれらの個別の出力2
04a〜204dを示す。図12を参照して、比較器2
02aはI1Ra_sとI0Rt_dとの間の一致に応答して出力2
04aをアサートする。同様に、比較器202bはI1Ra
_sとI0Ra_dとの間の一致に応答して出力204bをアサ
ートする。また、比較器202cはI1Rb_sとI0Rt_dとの
間の一致に応答して出力204cをアサートする。さら
に、比較器202dはI1Rb_sとI0Ra_dとの間の一致に応
答して出力204dをアサートする。
【0086】I0Rt_alloc_0が真(制御ユニットBFR0
がリネーム・バッファ0を割り当て、バッファI0の命
令の有効RT フィールド64のデータの記憶を示してい
る)かつ出力204aが真(I1Ra_sとI0Rt_dとの間の一
致を示している)であれば、優先順位割り当てユニット
200は、I1Ra_first_0(206a)をアサートする。
同様に、I0Ra_alloc_0が真(制御ユニットBFR0がリ
ネーム・バッファ0を割り当て、バッファI0の命令の
有効RA フィールド64のデータの記憶を示している)
かつ出力204bが真(I1Ra_sとI0Ra_dとの間の一致を
示している)であれば、優先順位割り当てユニット20
0は、I1Ra_first_0(206a)をアサートする。
がリネーム・バッファ0を割り当て、バッファI0の命
令の有効RT フィールド64のデータの記憶を示してい
る)かつ出力204aが真(I1Ra_sとI0Rt_dとの間の一
致を示している)であれば、優先順位割り当てユニット
200は、I1Ra_first_0(206a)をアサートする。
同様に、I0Ra_alloc_0が真(制御ユニットBFR0がリ
ネーム・バッファ0を割り当て、バッファI0の命令の
有効RA フィールド64のデータの記憶を示している)
かつ出力204bが真(I1Ra_sとI0Ra_dとの間の一致を
示している)であれば、優先順位割り当てユニット20
0は、I1Ra_first_0(206a)をアサートする。
【0087】I0Rt_alloc_0が真かつ出力204cが真
(I1Rb_sとI0Rt_dとの間の一致を示している)であれ
ば、優先順位割り当てユニット200は、I1Rb_first_0
(206b)をアサートする。さらに、I0Ra_alloc_0が
真かつ出力204dが真(I1Rb_sとI0Ra_dとの間の一致
を示している)であれば、優先順位割り当てユニット2
00は、I1Rb_first_0(206b)をアサートする。
(I1Rb_sとI0Rt_dとの間の一致を示している)であれ
ば、優先順位割り当てユニット200は、I1Rb_first_0
(206b)をアサートする。さらに、I0Ra_alloc_0が
真かつ出力204dが真(I1Rb_sとI0Ra_dとの間の一致
を示している)であれば、優先順位割り当てユニット2
00は、I1Rb_first_0(206b)をアサートする。
【0088】ふたたび図6において、reg_adr_0とI0Ra_
sとの間の一致に応答して、ソース比較論理190は、
ANDゲート192cにラインをアサートし、ANDゲ
ート192cはMRAビット166が設定されればI1Ra
_second_0(208a)がアサートされる。さらに、reg
_adr_0とI1Rb_sとの間の一致に応答して、ソース比較論
理190は、ANDゲート192dにラインをアサート
し、ANDゲート192dはMRAビット166が設定
されればI1Rb_second_0(208b)がアサートされ
る。
sとの間の一致に応答して、ソース比較論理190は、
ANDゲート192cにラインをアサートし、ANDゲ
ート192cはMRAビット166が設定されればI1Ra
_second_0(208a)がアサートされる。さらに、reg
_adr_0とI1Rb_sとの間の一致に応答して、ソース比較論
理190は、ANDゲート192dにラインをアサート
し、ANDゲート192dはMRAビット166が設定
されればI1Rb_second_0(208b)がアサートされ
る。
【0089】制御ユニットBFR0がラインI1Ra_first
_0およびI1Rb_first_0を出力するのと同様に、各制御ユ
ニットBFR1〜BFR4はラインI1Ra_first_nおよび
I1Rb_first_nを出力する(ここで、n=1はBFR1,
n=2はBFR2,n=3はBFR3およびn=4はB
FR4に対応する)。ORゲート210aは、ラインI1
Ra_first_0,I1Ra_first_1,I1Ra_first_2,I1Ra_first
_3およびI1Ra_first_4を入力する。同様に、ORゲート
210bは、ラインI1Rb_first_0,I1Rb_first_1,I1Rb
_first_2,I1Rb_first_3およびI1Rb_first_4を入力す
る。
_0およびI1Rb_first_0を出力するのと同様に、各制御ユ
ニットBFR1〜BFR4はラインI1Ra_first_nおよび
I1Rb_first_nを出力する(ここで、n=1はBFR1,
n=2はBFR2,n=3はBFR3およびn=4はB
FR4に対応する)。ORゲート210aは、ラインI1
Ra_first_0,I1Ra_first_1,I1Ra_first_2,I1Ra_first
_3およびI1Ra_first_4を入力する。同様に、ORゲート
210bは、ラインI1Rb_first_0,I1Rb_first_1,I1Rb
_first_2,I1Rb_first_3およびI1Rb_first_4を入力す
る。
【0090】任意のラインI1Ra_first_n(n=[0・・
・4])が真(固定小数点STAM42がリネーム・バ
ッファを割り当て、I0命令のデスティネーション・レ
ジスタのデータを記憶し、またI1命令のRaソース・
レジスタであることを示している)であれば、ORゲー
ト210aの出力S1は真となる。S1が真であれば、
マルチプレクサ194aはI1Ra_source_0としてI1Ra_fi
rst_0を出力する。さもなければ、マルチプレクサ19
4aは、I1Ra_source_0としてI1Ra_second_0を出力す
る。
・4])が真(固定小数点STAM42がリネーム・バ
ッファを割り当て、I0命令のデスティネーション・レ
ジスタのデータを記憶し、またI1命令のRaソース・
レジスタであることを示している)であれば、ORゲー
ト210aの出力S1は真となる。S1が真であれば、
マルチプレクサ194aはI1Ra_source_0としてI1Ra_fi
rst_0を出力する。さもなければ、マルチプレクサ19
4aは、I1Ra_source_0としてI1Ra_second_0を出力す
る。
【0091】同様に、任意のラインI1Rb_first_n(n=
[0・・・4])が真(固定小数点STAM42がリネ
ーム・バッファを割り当て、I1命令のソース・レジス
タのデータを記憶し、またI1命令のRbソース・レジ
スタであることを示している)であれば、ORゲート2
10bの出力S2は真となる。S2が真であれば、マル
チプレクサ194bはI1Rb_source_0としてI1Rb_first_
0を出力する。さもなければ、マルチプレクサ194a
はI1Rb_source_0としてI1Rb_second_0を出力する。
[0・・・4])が真(固定小数点STAM42がリネ
ーム・バッファを割り当て、I1命令のソース・レジス
タのデータを記憶し、またI1命令のRbソース・レジ
スタであることを示している)であれば、ORゲート2
10bの出力S2は真となる。S2が真であれば、マル
チプレクサ194bはI1Rb_source_0としてI1Rb_first_
0を出力する。さもなければ、マルチプレクサ194a
はI1Rb_source_0としてI1Rb_second_0を出力する。
【0092】このようにして、固定小数点STAM42
は、たとえI1命令がI0命令の以前またはI0命令と
共にディスパッチされても、且つたとえI0命令のデス
ティネーション・レジスタがI1命令のソース・レジス
タであっても、固定小数点リネーム・バッファ26の最
後に割り当てられた1つが、I1命令のRA レジスタ・
フィールドまたはRB レジスタ・フィールドに特定され
たレジスタ番号のデータを記憶するかどうかを示す。
は、たとえI1命令がI0命令の以前またはI0命令と
共にディスパッチされても、且つたとえI0命令のデス
ティネーション・レジスタがI1命令のソース・レジス
タであっても、固定小数点リネーム・バッファ26の最
後に割り当てられた1つが、I1命令のRA レジスタ・
フィールドまたはRB レジスタ・フィールドに特定され
たレジスタ番号のデータを記憶するかどうかを示す。
【0093】ふたたび図1を参照して、完了論理40か
らライン85a上のライトバック信号および固定小数点
STAM42からライン87a上のライトバック・アド
レスに応答して、固定小数点リネーム・バッファ26の
選択された1つからのデータはGPR30の1つにライ
トバックされる。ライトバック・アドレスは、固定小数
点リネーム・バッファ26の選択された1つとともに固
定小数点STAM42によって連係されたレジスタに従
って、どのGPR30が固定小数点リネーム・バッファ
26の選択された1つからデータ入力を記憶する予定で
あるかを示す。
らライン85a上のライトバック信号および固定小数点
STAM42からライン87a上のライトバック・アド
レスに応答して、固定小数点リネーム・バッファ26の
選択された1つからのデータはGPR30の1つにライ
トバックされる。ライトバック・アドレスは、固定小数
点リネーム・バッファ26の選択された1つとともに固
定小数点STAM42によって連係されたレジスタに従
って、どのGPR30が固定小数点リネーム・バッファ
26の選択された1つからデータ入力を記憶する予定で
あるかを示す。
【0094】したがって、図5を参照して、完了論理4
0はライン220aおよび220bを通じてそれぞれ5
ビットのライトバック要求ccc_wrtおよびccc_winを出力
する。ライトバック要求ccc_wrt220aおよびccc_win220b
は、固定小数点STAM42のライトバック・アービト
レーション・ユニット222によって入力される。さら
に、アービトレーション・ユニット222は、制御ユニ
ットBFR0からreg_adr_0を入力する。同様に、アー
ビトレーション・ユニット222は、制御ユニットBF
R1からreg_adr_1を、制御ユニットBFR2からreg_a
dr_2を、制御ユニットBFR3からreg_adr_3を、およ
び制御ユニットBFR4からreg_adr_4を入力する。
0はライン220aおよび220bを通じてそれぞれ5
ビットのライトバック要求ccc_wrtおよびccc_winを出力
する。ライトバック要求ccc_wrt220aおよびccc_win220b
は、固定小数点STAM42のライトバック・アービト
レーション・ユニット222によって入力される。さら
に、アービトレーション・ユニット222は、制御ユニ
ットBFR0からreg_adr_0を入力する。同様に、アー
ビトレーション・ユニット222は、制御ユニットBF
R1からreg_adr_1を、制御ユニットBFR2からreg_a
dr_2を、制御ユニットBFR3からreg_adr_3を、およ
び制御ユニットBFR4からreg_adr_4を入力する。
【0095】有利なことに、アービトレーション・ユニ
ット222は、ライン87a上の2つの5ビット・ライ
トバック・アドレスwb0およびwb1を出力すること
ができる。ライトバック要求ccc_wrt220aを通じて、完
了論理40はGPRにライトバック対象の2つの固定小
数点リネーム・バッファ26を選択する。5ビットのラ
イトバック要求ccc_wrt220aの各々は、固定小数点リネ
ーム・バッファ26のリネーム・バッファ0〜4のそれ
ぞれの1つに連係されている。たとえば、ccc_wrt220a
=00101であれば、リネーム・バッファ2およびリ
ネーム・バッファ4はGPR30にライトバックされる
はずである。他の例では、ccc_wrt220a=11000で
あれば、リネーム・バッファ1およびリネーム・バッフ
ァ2はGPR30にライトバックされるはずである。
ット222は、ライン87a上の2つの5ビット・ライ
トバック・アドレスwb0およびwb1を出力すること
ができる。ライトバック要求ccc_wrt220aを通じて、完
了論理40はGPRにライトバック対象の2つの固定小
数点リネーム・バッファ26を選択する。5ビットのラ
イトバック要求ccc_wrt220aの各々は、固定小数点リネ
ーム・バッファ26のリネーム・バッファ0〜4のそれ
ぞれの1つに連係されている。たとえば、ccc_wrt220a
=00101であれば、リネーム・バッファ2およびリ
ネーム・バッファ4はGPR30にライトバックされる
はずである。他の例では、ccc_wrt220a=11000で
あれば、リネーム・バッファ1およびリネーム・バッフ
ァ2はGPR30にライトバックされるはずである。
【0096】ccc_wrt220aに応答して、アービトレーシ
ョン論理222は、wb0およびwb1としてライン8
7a上へ2つの5ビットreg_adr_n(n=[0・・・
4])を多重化する。GPR30は、wb0およびwb
1を入力する。このように、wb0およびwb1は、完
了論理40によって選択された2つの固定小数点リネー
ム・バッファからデータ入力を記憶する2つのGPR3
0を示している。ここで示した2つのGPRは、2つの
固定小数点リネーム・バッファとともに、固定小数点S
TAM42により連係されたレジスタである。
ョン論理222は、wb0およびwb1としてライン8
7a上へ2つの5ビットreg_adr_n(n=[0・・・
4])を多重化する。GPR30は、wb0およびwb
1を入力する。このように、wb0およびwb1は、完
了論理40によって選択された2つの固定小数点リネー
ム・バッファからデータ入力を記憶する2つのGPR3
0を示している。ここで示した2つのGPRは、2つの
固定小数点リネーム・バッファとともに、固定小数点S
TAM42により連係されたレジスタである。
【0097】ライトバック要求ccc_wrt220aが、(2つ
のリネーム・バッファの1つのみが最後に割り当てられ
るけれども)同じGPRのデータを記憶する2つのリネ
ーム・バッファを選択することは可能である。ライトバ
ック要求ccc_wrt220bを通じて、完了論理40はこのよ
うな状況で2つのccc_wrt_selectedリネーム・バッファ
のどちらをGPR30にライトバックするかを特定す
る。ccc_wrt220aのように、5ビットのライトバック要
求ccc_wrt220aの各々は、固定小数点リネーム・バッフ
ァ26のリネーム・バッファ0〜4のそれぞれの1つに
連係されている。たとえば、ccc_wrt220a=01010
かつccc_wrt220b=00010でかつreg_adr_1=reg_ad
r_3であれば、アービトレーション論理222は、wb
0としてライン87a上へ(ccc_win220bによって特定
された)reg_adr_3のみを多重化する。この例では、ラ
イトバック・アドレスwb1は空アドレス00000で
ある。
のリネーム・バッファの1つのみが最後に割り当てられ
るけれども)同じGPRのデータを記憶する2つのリネ
ーム・バッファを選択することは可能である。ライトバ
ック要求ccc_wrt220bを通じて、完了論理40はこのよ
うな状況で2つのccc_wrt_selectedリネーム・バッファ
のどちらをGPR30にライトバックするかを特定す
る。ccc_wrt220aのように、5ビットのライトバック要
求ccc_wrt220aの各々は、固定小数点リネーム・バッフ
ァ26のリネーム・バッファ0〜4のそれぞれの1つに
連係されている。たとえば、ccc_wrt220a=01010
かつccc_wrt220b=00010でかつreg_adr_1=reg_ad
r_3であれば、アービトレーション論理222は、wb
0としてライン87a上へ(ccc_win220bによって特定
された)reg_adr_3のみを多重化する。この例では、ラ
イトバック・アドレスwb1は空アドレス00000で
ある。
【0098】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0099】(1)レジスタを特定する命令に応答し
て、前記レジスタの情報を処理する少なくとも1の実行
ユニットと、前記実行ユニットに結合され、前記情報を
記憶する複数のバッファと、前記実行ユニットに結合さ
れた複数の制御ユニットであって、その各々が、前記命
令に応答して、前記情報を記憶するために前記バッファ
の各1つを選択的に割り当てる制御ユニットとを有する
処理システム。
て、前記レジスタの情報を処理する少なくとも1の実行
ユニットと、前記実行ユニットに結合され、前記情報を
記憶する複数のバッファと、前記実行ユニットに結合さ
れた複数の制御ユニットであって、その各々が、前記命
令に応答して、前記情報を記憶するために前記バッファ
の各1つを選択的に割り当てる制御ユニットとを有する
処理システム。
【0100】(2)前記各制御ユニットは、前記情報を
前記個々のバッファから読み出すかどうかを前記実行ユ
ニットへ指示する、(1)記載の処理システム。
前記個々のバッファから読み出すかどうかを前記実行ユ
ニットへ指示する、(1)記載の処理システム。
【0101】(3)前記各制御ユニットは、前記情報を
前記個々のバッファに記憶するかどうかを前記実行ユニ
ットへ指示する、(1)記載の処理システム。
前記個々のバッファに記憶するかどうかを前記実行ユニ
ットへ指示する、(1)記載の処理システム。
【0102】(4)前記命令は、プログラムされたシー
ケンスにおいて追加命令に続いている、(1)記載の処
理システム。
ケンスにおいて追加命令に続いている、(1)記載の処
理システム。
【0103】(5)前記追加命令は前記レジスタを特定
する、(4)記載の処理システム。
する、(4)記載の処理システム。
【0104】(6)前記命令および追加命令は、デステ
ィネーション・レジスタとして前記レジスタを特定す
る、(5)記載の処理システム。
ィネーション・レジスタとして前記レジスタを特定す
る、(5)記載の処理システム。
【0105】(7)第1の制御ユニットは、前記命令に
応答して、前記情報を記憶するためにその各々のバッフ
ァを割り当て、第2の制御ユニットは、前記追加の命令
に応答して、前記情報を記憶するためにその各々のバッ
ファを割り当て、前記制御ユニットは、どの前記バッフ
ァが前記情報を記憶するために最後に割り当てられたか
を示す(6)記載の処理システム。
応答して、前記情報を記憶するためにその各々のバッフ
ァを割り当て、第2の制御ユニットは、前記追加の命令
に応答して、前記情報を記憶するためにその各々のバッ
ファを割り当て、前記制御ユニットは、どの前記バッフ
ァが前記情報を記憶するために最後に割り当てられたか
を示す(6)記載の処理システム。
【0106】(8)前記命令は、前記追加命令のディス
パッチに遅延することなく前記実行ユニットへディスパ
ッチされ、前記第1の制御ユニットは、その各々のバッ
ファが前記情報を記憶するために最後に割り当てられた
ことを示す(7)記載の処理システム。
パッチに遅延することなく前記実行ユニットへディスパ
ッチされ、前記第1の制御ユニットは、その各々のバッ
ファが前記情報を記憶するために最後に割り当てられた
ことを示す(7)記載の処理システム。
【0107】(9)前記命令は、ソース・レジスタとし
て前記レジスタを特定し、前記追加命令はデスティネー
ション・レジスタとして前記レジスタを特定する、
(5)記載の処理システム。
て前記レジスタを特定し、前記追加命令はデスティネー
ション・レジスタとして前記レジスタを特定する、
(5)記載の処理システム。
【0108】(10)特定の制御ユニットは、前記追加
命令に応答して、前記情報を記憶するためにその各々の
バッファを割り当て、各々のバッファから前記情報を読
み出すことを前記実行ユニットに示す、(9)記載の処
理システム。
命令に応答して、前記情報を記憶するためにその各々の
バッファを割り当て、各々のバッファから前記情報を読
み出すことを前記実行ユニットに示す、(9)記載の処
理システム。
【0109】(11)前記命令は、前記追加命令のディ
スパッチに遅延することなく前記実行ユニットへディス
パッチされる、(10)記載の処理システム。
スパッチに遅延することなく前記実行ユニットへディス
パッチされる、(10)記載の処理システム。
【0110】(12)前記制御ユニットは、互いにカス
ケード接続されている、(1)記載の処理システム。
ケード接続されている、(1)記載の処理システム。
【0111】(13)レジスタを特定する命令に応答し
て、少なくとも1の実行ユニットで前記レジスタの情報
を処理するステップと、複数の制御ユニットの各々で、
前記命令に応答して、前記情報を記憶するために複数の
バッファの各々の1つを選択的に割り当てるステップと
を含む処理システムの動作方法。
て、少なくとも1の実行ユニットで前記レジスタの情報
を処理するステップと、複数の制御ユニットの各々で、
前記命令に応答して、前記情報を記憶するために複数の
バッファの各々の1つを選択的に割り当てるステップと
を含む処理システムの動作方法。
【0112】(14)前記各制御ユニットでもって、前
記情報が前記各々のバッファから読み出されるものかど
うか、又は前記情報が前記各々のバッファに記憶される
ものかどうかを前記実行ユニットに表示するステップを
さらに含む(13)記載の処理システムの動作方法。
記情報が前記各々のバッファから読み出されるものかど
うか、又は前記情報が前記各々のバッファに記憶される
ものかどうかを前記実行ユニットに表示するステップを
さらに含む(13)記載の処理システムの動作方法。
【0113】(15)前記処理ステップが、前記命令に
応答して前記情報を処理するステップであって、前記命
令は、プログラムされたシーケンスにおいて追加命令に
続き、前記命令及び前記追加命令は、デスティネーショ
ン・レジスタとして前記レジスタを特定する前記ステッ
プを含む(13)記載の処理システムの動作方法。
応答して前記情報を処理するステップであって、前記命
令は、プログラムされたシーケンスにおいて追加命令に
続き、前記命令及び前記追加命令は、デスティネーショ
ン・レジスタとして前記レジスタを特定する前記ステッ
プを含む(13)記載の処理システムの動作方法。
【0114】(16)前記選択的に割り当てるステップ
が、第1制御ユニットでもって、前記命令に応答して、
前記情報を記憶するために各々のバッファを割り当てる
ステップと、第2制御ユニットであって、前記追加命令
に応答して、前記情報を記憶するために各々のバッファ
を割り当てるステップとを含み、前記制御ユニットが、
どの前記バッファが前記情報を記憶するために最後に割
り当てられたかを示す(15)記載の処理システムの動
作方法。
が、第1制御ユニットでもって、前記命令に応答して、
前記情報を記憶するために各々のバッファを割り当てる
ステップと、第2制御ユニットであって、前記追加命令
に応答して、前記情報を記憶するために各々のバッファ
を割り当てるステップとを含み、前記制御ユニットが、
どの前記バッファが前記情報を記憶するために最後に割
り当てられたかを示す(15)記載の処理システムの動
作方法。
【0115】(17)前記追加命令のディスパッチに遅
延することなく前記実行ユニットに前記命令をディスパ
ッチするステップをさらに含み、前記第1制御ユニット
は、各々のバッファが情報を記憶するために最後に割り
当てられたことを示す(16)記載の処理システムの動
作方法。
延することなく前記実行ユニットに前記命令をディスパ
ッチするステップをさらに含み、前記第1制御ユニット
は、各々のバッファが情報を記憶するために最後に割り
当てられたことを示す(16)記載の処理システムの動
作方法。
【0116】(18)前記処理ステップが、前記命令に
応答して前記情報を処理するステップであって、前記命
令は、プログラムされたシーケンスにおいて追加命令に
続き、前記命令は、ソース・レジスタとして前記レジス
タを特定し、前記追加命令は、デスティネーション・レ
ジスタとして前記レジスタを特定する前記ステップを含
む(15)記載の処理システムの動作方法。
応答して前記情報を処理するステップであって、前記命
令は、プログラムされたシーケンスにおいて追加命令に
続き、前記命令は、ソース・レジスタとして前記レジス
タを特定し、前記追加命令は、デスティネーション・レ
ジスタとして前記レジスタを特定する前記ステップを含
む(15)記載の処理システムの動作方法。
【0117】(19)前記選択的に割り当てるステップ
が、前記追加命令に応答して前記情報を記憶するため
に、特定の制御ユニットでもって、その各々のバッファ
を割り当て、前記特定の制御ユニットが各々のバッファ
から前記情報を読み出すことを前記実行ユニットに示す
ステップを含む、(18)記載の処理システムの動作方
法。
が、前記追加命令に応答して前記情報を記憶するため
に、特定の制御ユニットでもって、その各々のバッファ
を割り当て、前記特定の制御ユニットが各々のバッファ
から前記情報を読み出すことを前記実行ユニットに示す
ステップを含む、(18)記載の処理システムの動作方
法。
【0118】(20)前記追加命令のディスパッチに遅
延することなく、前記命令を前記実行ユニットにディス
パッチするステップをさらに含む、(19)記載の処理
システムの動作方法。
延することなく、前記命令を前記実行ユニットにディス
パッチするステップをさらに含む、(19)記載の処理
システムの動作方法。
【0119】(21)前記方法は、前記追加命令のディ
スパッチに遅延することなく前記命令を前記実行ユニッ
トへディスパッチするステップをさらに含む、(20)
記載のシステム。
スパッチに遅延することなく前記命令を前記実行ユニッ
トへディスパッチするステップをさらに含む、(20)
記載のシステム。
【0120】
【発明の効果】本発明によれば、レジスタを特定してい
る命令に応答して、少なくとも1つの実行ユニットがレ
ジスタの情報を処理し、多重制御ユニットの各々が命令
に応答して多重バッファのそれぞれ1つを選択的に割り
当てて情報を記憶することにより、高速処理、システム
の簡素化および物理サイズの縮小を実現できるという効
果が得られる。
る命令に応答して、少なくとも1つの実行ユニットがレ
ジスタの情報を処理し、多重制御ユニットの各々が命令
に応答して多重バッファのそれぞれ1つを選択的に割り
当てて情報を記憶することにより、高速処理、システム
の簡素化および物理サイズの縮小を実現できるという効
果が得られる。
【図1】本発明の好適な実施例の処理システムのブロッ
ク図である。
ク図である。
【図2】図1のシステムのリネーム・バッファを示すブ
ロック図である。
ロック図である。
【図3】図1のシステムの命令待ち行列を示すブロック
図である。
図である。
【図4】図1のシステムによる命令フォーマットを示す
図である。
図である。
【図5】図1のシステムのソース決定、タグ指定、タグ
割り当て及びタグ割り当て解消メモリ(「STAM」)
を示すブロック図である。
割り当て及びタグ割り当て解消メモリ(「STAM」)
を示すブロック図である。
【図6】図1のシステムのソース決定、タグ指定、タグ
割り当て及びタグ割り当て解消メモリ(「STAM」)
を示すブロック図である。
割り当て及びタグ割り当て解消メモリ(「STAM」)
を示すブロック図である。
【図7】図5及び図6のSTAMのリソース割り当てア
レイを示すブロック図である。
レイを示すブロック図である。
【図8】図5及び図6のSTAMの割り当てビット論理
を示す電子回路図である。
を示す電子回路図である。
【図9】図5及び図6のSTAMのホールドオフ生成ユ
ニットを示す電子回路図である。
ニットを示す電子回路図である。
【図10】図5及び図6のSTAMの最終割り当て
(「MRA」)設定論理を示す電子回路図である。
(「MRA」)設定論理を示す電子回路図である。
【図11】図5及び図6のSTAMのMRAリセット論
理を示す電子回路図である。
理を示す電子回路図である。
【図12】図5及び図6のSTAMの優先順位割り当て
ユニットを示す電子回路図である。
ユニットを示す電子回路図である。
10 処理システム 12 システム・バス 14 バス・インターフェース・ユニット(BIU) 16 命令キャッシュ 18 データ・キャッシュ 20 固定小数点ユニット 22 ロード/記憶ユニット 24 浮動小数点ユニット 26 固定小数点リネーム・バッファ 28 浮動小数点リネーム・バッファ 30 汎用目的構成レジスタ(GPR) 32 浮動小数点構成レジスタ(FPR) 34 制御部分 36 命令待ち行列 38 命令デコーダ 40 完了論理 42 固定小数点STAM 44 浮動小数点STAM 60 命令 62 命令コード 64 RT レジスタ・フィールド 66 RA レジスタ・フィールド 68 RB レジスタ・フィールド 100 リソース割り当てアレイ 102a〜102d セル 104 デスティネーション比較およびMRA設定論理 106 マルチプレクサ 110 割り当てビット論理 112a〜112d ラッチ 113 レジスタ・アドレス値ラッチ 114a〜114d ORゲート 116a,116b マルチプレクサ 117 ORゲート 120 ラッチ 124 NORゲート 130 MRAリセット論理 140 ホールドオフ生成ユニット 150a〜150d 比較器 160 MRA設定論理 164 MRAラッチ 166 MRAビット 170 デスティネーション比較論理 172a〜172d 比較器 190 SRC比較ユニット 192a〜192d ANDゲート 194a〜194d マルチプレクサ 200 優先順位割り当てユニット 202a〜202d 比較器 210a〜210d ORゲート 222 アービトレーション・ユニット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ニール・レイ・バンダーシャーフ アメリカ合衆国78681 テキサス州、ラ ウンド・ロック、ブルー・スプリング・ サークル 932 (56)参考文献 特開 平2−178838(JP,A) 特開 平5−224921(JP,A)
Claims (20)
- 【請求項1】情報を記憶するレジスタと、 前記レジスタを特定する命令に応答して、前記情報を処
理する少なくとも1の実行ユニットと、 前記実行ユニットに結合され、前記情報を記憶するN個
(Nは1より大きい整数)のバッファと、 前記実行ユニットに結合されたN個の制御ユニットであ
って、前記N個の制御ユニットはカスケードに接続可能
であり、かつそれぞれが前記N個のバッファに連係さ
れ、さらにそのそれぞれが前記命令に応答して、前記情
報を記憶するためにそのそれぞれに連係されるバッファ
のみを選択的に割り当てる制御ユニットとを有する処理
システム。 - 【請求項2】前記各制御ユニットは、前記情報を前記そ
れぞれに連係されるバッファから読み出すかどうかを前
記実行ユニットへ指示する、請求項1記載の処理システ
ム。 - 【請求項3】前記各制御ユニットは、前記情報を前記そ
れぞれに連係されるバッファに記憶するかどうかを前記
実行ユニットへ指示する、請求項1記載の処理システ
ム。 - 【請求項4】前記命令は、プログラムされたシーケンス
において追加命令に続いている、請求項1記載の処理シ
ステム。 - 【請求項5】前記追加命令は前記レジスタを特定する、
請求項4記載の処理システム。 - 【請求項6】前記命令および追加命令は、デスティネー
ション・レジスタとして前記レジスタを特定する、請求
項5記載の処理システム。 - 【請求項7】第1の制御ユニットは、前記命令に応答し
て、前記情報を記憶するためにそのそれぞれに連係され
るバッファを割り当て、第2の制御ユニットは、前記追
加の命令に応答して、前記情報を記憶するためにそのそ
れぞれに連係されるバッファを割り当て、前記制御ユニ
ットは、どの前記バッファが前記情報を記憶するために
最後に割り当てられたかを示す請求項6記載の処理シス
テム。 - 【請求項8】前記命令は、前記追加命令のディスパッチ
に遅延することなく前記実行ユニットへディスパッチさ
れ、前記第1の制御ユニットは、その各々のバッファが
前記情報を記憶するために最後に割り当てられたことを
示す請求項7記載の処理システム。 - 【請求項9】前記命令は、ソース・レジスタとして前記
レジスタを特定し、前記追加命令はデスティネーション
・レジスタとして前記レジスタを特定する、請求項5記
載の処理システム。 - 【請求項10】特定の制御ユニットは、前記追加命令に
応答して、前記情報を記憶するためにその各々のバッフ
ァを割り当て、各々のバッファから前記情報を読み出す
ことを前記実行ユニットに示す、請求項9記載の処理シ
ステム。 - 【請求項11】前記命令は、前記追加命令のディスパッ
チに遅延することなく前記実行ユニットへディスパッチ
される、請求項10記載の処理システム。 - 【請求項12】前記制御ユニットは、互いにカスケード
接続されている、請求項1記載の処理システム。 - 【請求項13】レジスタを特定する命令に応答して、少
なくとも1の実行ユニットで前記レジスタの情報を処理
するステップと、 カスケードに接続可能でありかつそのそれぞれがN個
(Nは1より大きい整数)のバッファと連係されるN個
の制御ユニットの各々で、前記命令に応答して、前記情
報を記憶するためにそのそれぞれに連係されるバッファ
のみのを選択的に割り当てるステップとを含む処理シス
テムの動作方法。 - 【請求項14】前記各制御ユニットでもって、前記情報
が前記それぞれに連係されるバッファから読み出される
ものかどうか、又は前記情報が前記それぞれに連係され
るバッファに記憶されるものかどうかを前記実行ユニッ
トに示すステップをさらに含む請求項13記載の処理シ
ステムの動作方法。 - 【請求項15】前記処理ステップが、 前記命令に応答して前記情報を処理するステップであっ
て、 前記命令は、プログラムされたシーケンスにおいて追加
命令に続き、 前記命令及び前記追加命令は、デスティネーション・レ
ジスタとして前記レジスタを特定する前記ステップを含
む請求項13記載の処理システムの動作方法。 - 【請求項16】前記選択的に割り当てるステップが、 第1制御ユニットでもって、前記命令に応答して、前記
情報を記憶するためにそれぞれに連係されるバッファを
割り当てるステップと、 第2制御ユニットであって、前記追加命令に応答して、
前記情報を記憶するためにそれぞれに連係されるバッフ
ァを割り当てるステップとを含み、 前記制御ユニットが、どの前記バッファが前記情報を記
憶するために最後に割り当てられたかを示す請求項15
記載の処理システムの動作方法。 - 【請求項17】前記追加命令のディスパッチに遅延する
ことなく前記実行ユニットに前記命令をディスパッチす
るステップをさらに含み、 前記第1制御ユニットは、各々のバッファが情報を記憶
するために最後に割り当てられたことを示す請求項16
記載の処理システムの動作方法。 - 【請求項18】前記処理ステップが、 前記命令に応答して前記情報を処理するステップであっ
て、 前記命令は、プログラムされたシーケンスにおいて追加
命令に続き、 前記命令は、ソース・レジスタとして前記レジスタを特
定し、 前記追加命令は、デスティネーション・レジスタとして
前記レジスタを特定する前記ステップを含む請求項15
記載の処理システムの動作方法。 - 【請求項19】前記選択的に割り当てるステップが、 前記追加命令に応答して前記情報を記憶するために、特
定の制御ユニットでもって、そのそれぞれに連係される
バッファを割り当て、前記特定の制御ユニットがそれぞ
れに連係されるバッファから前記情報を読み出すことを
前記実行ユニットに示すステップを含む、請求項18記
載の処理システムの動作方法。 - 【請求項20】前記追加命令のディスパッチに遅延する
ことなく、前記命令を前記実行ユニットにディスパッチ
するステップをさらに含む、請求項19記載の処理シス
テムの動作方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10834693A | 1993-08-18 | 1993-08-18 | |
US108346 | 1993-08-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0764790A JPH0764790A (ja) | 1995-03-10 |
JP2620519B2 true JP2620519B2 (ja) | 1997-06-18 |
Family
ID=22321680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6143460A Expired - Lifetime JP2620519B2 (ja) | 1993-08-18 | 1994-06-24 | オペレーションの処理システムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5655141A (ja) |
EP (1) | EP0639810A1 (ja) |
JP (1) | JP2620519B2 (ja) |
TW (1) | TW242673B (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974240A (en) * | 1995-06-07 | 1999-10-26 | International Business Machines Corporation | Method and system for buffering condition code data in a data processing system having out-of-order and speculative instruction execution |
US5764970A (en) * | 1995-11-20 | 1998-06-09 | International Business Machines Corporation | Method and apparatus for supporting speculative branch and link/branch on count instructions |
US5781790A (en) * | 1995-12-29 | 1998-07-14 | Intel Corporation | Method and apparatus for performing floating point to integer transfers and vice versa |
US5751946A (en) * | 1996-01-18 | 1998-05-12 | International Business Machines Corporation | Method and system for detecting bypass error conditions in a load/store unit of a superscalar processor |
US5790826A (en) * | 1996-03-19 | 1998-08-04 | S3 Incorporated | Reduced register-dependency checking for paired-instruction dispatch in a superscalar processor with partial register writes |
WO2012032653A1 (ja) * | 2010-09-10 | 2012-03-15 | 富士通株式会社 | 処理システム,通信装置および処理装置 |
US20140379584A1 (en) * | 2013-06-25 | 2014-12-25 | FraudFree Finance, LLC | Anti-fraud financial transaction method |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5194734A (en) * | 1975-02-19 | 1976-08-19 | Tajushorisochino enzanseigyohoshiki | |
US4574349A (en) * | 1981-03-30 | 1986-03-04 | International Business Machines Corp. | Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction |
JPS57174701A (en) * | 1981-04-20 | 1982-10-27 | Hitachi Ltd | Decentralized controlling system |
JPH0769818B2 (ja) * | 1984-10-31 | 1995-07-31 | 株式会社日立製作所 | デ−タ処理装置 |
US4903196A (en) * | 1986-05-02 | 1990-02-20 | International Business Machines Corporation | Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor |
US4992938A (en) * | 1987-07-01 | 1991-02-12 | International Business Machines Corporation | Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers |
US5134561A (en) * | 1987-07-20 | 1992-07-28 | International Business Machines Corporation | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries |
US4901233A (en) * | 1987-07-20 | 1990-02-13 | International Business Machines Corporation | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries |
US5101497A (en) * | 1988-09-09 | 1992-03-31 | Compaq Computer Corporation | Programmable interrupt controller |
JPH02178838A (ja) * | 1988-12-29 | 1990-07-11 | Matsushita Electric Ind Co Ltd | データ処理装置 |
US5197137A (en) * | 1989-07-28 | 1993-03-23 | International Business Machines Corporation | Computer architecture for the concurrent execution of sequential programs |
US5185868A (en) * | 1990-01-16 | 1993-02-09 | Advanced Micro Devices, Inc. | Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy |
US5197132A (en) * | 1990-06-29 | 1993-03-23 | Digital Equipment Corporation | Register mapping system having a log containing sequential listing of registers that were changed in preceding cycles for precise post-branch recovery |
US5260935A (en) * | 1991-03-01 | 1993-11-09 | Washington University | Data packet resequencer for a high speed data switch |
CA2060555A1 (en) * | 1991-04-24 | 1992-10-25 | Robert J. Bullions, Iii | System and method for draining an instruction pipeline |
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 |
US5371684A (en) * | 1992-03-31 | 1994-12-06 | Seiko Epson Corporation | Semiconductor floor plan for a register renaming circuit |
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 |
KR0122528B1 (ko) * | 1993-01-08 | 1997-11-20 | 윌리엄 티.엘리스 | 슈퍼스칼라 프로세서 시스템에서 중간 기억 버퍼의 할당을 인덱스하기 위한 방법 및 시스템 |
-
1994
- 1994-01-15 TW TW083100298A patent/TW242673B/zh active
- 1994-06-24 JP JP6143460A patent/JP2620519B2/ja not_active Expired - Lifetime
- 1994-07-21 EP EP94305379A patent/EP0639810A1/en not_active Withdrawn
-
1996
- 1996-08-28 US US08/704,034 patent/US5655141A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5655141A (en) | 1997-08-05 |
JPH0764790A (ja) | 1995-03-10 |
TW242673B (ja) | 1995-03-11 |
EP0639810A1 (en) | 1995-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3531166B2 (ja) | レジスタ・リネーミングのシステム及び方法 | |
JP3561915B2 (ja) | スーパースカラ型プロセサにおいて命令処理を制御するためタグを割り当てるシステム及び方法 | |
US5133077A (en) | Data processor having multiple execution units for processing plural classs of instructions in parallel | |
US5150470A (en) | Data processing system with instruction queue having tags indicating outstanding data status | |
US6289433B1 (en) | Superscalar RISC instruction scheduling | |
US7526636B2 (en) | Parallel multithread processor (PMT) with split contexts | |
US5684971A (en) | Reservation station with a pseudo-FIFO circuit for scheduling dispatch of instructions | |
US6324640B1 (en) | System and method for dispatching groups of instructions using pipelined register renaming | |
JP2620519B2 (ja) | オペレーションの処理システムおよび方法 | |
US7315935B1 (en) | Apparatus and method for port arbitration in a register file on the basis of functional unit issue slots | |
US6240507B1 (en) | Mechanism for multiple register renaming and method therefor | |
US7269716B2 (en) | Processor to efficiently rename decoded condition codes and instruction control method thereof | |
JP3045964B2 (ja) | スーパスカラ・プロセッサのリネーム・バッファを効率よく使用する方法及び装置 | |
HUT75816A (en) | Method of operation of a system for processing information, as well as the processing system | |
US6446194B1 (en) | Virtual register renamed instruction issue for execution upon virtual/physical rename buffer wrap around detection signaling available physical register | |
US20040006686A1 (en) | Processor and instruction control method | |
JP2000181714A (ja) | 命令制御装置 | |
MXPA98003108A (en) | Storage instruction sending technique with probability of shipping aument |