JP2701179B2 - データ処理システム - Google Patents
データ処理システムInfo
- Publication number
- JP2701179B2 JP2701179B2 JP2279510A JP27951090A JP2701179B2 JP 2701179 B2 JP2701179 B2 JP 2701179B2 JP 2279510 A JP2279510 A JP 2279510A JP 27951090 A JP27951090 A JP 27951090A JP 2701179 B2 JP2701179 B2 JP 2701179B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- load
- execution
- register
- data
- 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
- 238000000034 method Methods 0.000 claims description 10
- 239000000872 buffer Substances 0.000 description 29
- 238000010586 diagram Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000012536 storage buffer Substances 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- 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, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
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)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明はデータ処理システムに関し、特に、単一順序
の命令を実行する複数の処理ユニットを有するデータ処
理システムに関する。
の命令を実行する複数の処理ユニットを有するデータ処
理システムに関する。
B.従来の技術 最近のフォン・ノイマン装置では、同一メモリからの
命令とデータとのアクセスが共通の問題として生じる。
最近のデータ処理システムでは、処理ユニット内での命
令実行と比較して、メモリへのアクセスに非常に時間が
掛かる。メモリアクセスのために時間が掛かるという問
題は、キャッシュ・メモリ、すなわち、データ処理シス
テムに接続されて、頻繁に使用する情報を保持する非常
に高速のメモリを使用することにより、ある程度緩和さ
れる。ところが、アクセス対象の情報がキャッシュ・メ
モリで利用できない場合、主メモリにアクセスするの
で、更に時間が必要となる。従来の連続送り形データ処
理システムでは、複数の命令が順々に実行されるが、そ
の実行は準並列処理で行われる。各命令はいくつかの段
階に分けて実行され、1つの命令段階が実行されている
間、他の命令段階も並行して実行される。連続送り形処
理の結果、命令の並行実行は、命令の順序関係を維持し
ながら、順序正しく行われる。ところが、通常は、ある
命令がメモリからデータを要求すると、データがメモリ
から取り出される間に、連続送りが停止し、そのため
に、連続送り処理における並行又は並列命令実行の多く
の利点が失われる。本発明の目的は、メモリ・アクセス
により生じるこの不具合を最小にすることにある。
命令とデータとのアクセスが共通の問題として生じる。
最近のデータ処理システムでは、処理ユニット内での命
令実行と比較して、メモリへのアクセスに非常に時間が
掛かる。メモリアクセスのために時間が掛かるという問
題は、キャッシュ・メモリ、すなわち、データ処理シス
テムに接続されて、頻繁に使用する情報を保持する非常
に高速のメモリを使用することにより、ある程度緩和さ
れる。ところが、アクセス対象の情報がキャッシュ・メ
モリで利用できない場合、主メモリにアクセスするの
で、更に時間が必要となる。従来の連続送り形データ処
理システムでは、複数の命令が順々に実行されるが、そ
の実行は準並列処理で行われる。各命令はいくつかの段
階に分けて実行され、1つの命令段階が実行されている
間、他の命令段階も並行して実行される。連続送り形処
理の結果、命令の並行実行は、命令の順序関係を維持し
ながら、順序正しく行われる。ところが、通常は、ある
命令がメモリからデータを要求すると、データがメモリ
から取り出される間に、連続送りが停止し、そのため
に、連続送り処理における並行又は並列命令実行の多く
の利点が失われる。本発明の目的は、メモリ・アクセス
により生じるこの不具合を最小にすることにある。
この問題に対処するために、従来使用されている方法
の一つとして、未処理のロード動作の目標であるレジス
タ(すなわちメモリからデータを受け取ろうとするレジ
スタ)にタグを付けるということがあった。この技術
は、出願日が1984年5月31日である米国特許第4,630,19
5号からの再発行出願として1988年12月16日に出願され
た同時継続中の再発行出願第07/285,827号に記載されて
いる。この技術によると、処理装置の各レジスタはタグ
記憶機構を含んでいる。タグ付きレジスタからのデータ
を必要としない命令が実行されている時、命令実行の継
続が許容される。ところが、タグ付きレジスタに記憶さ
れたデータに従属する命令が実行される場合、タグで指
定されたデータをレジスタは受け取らず、命令は実行さ
れない。
の一つとして、未処理のロード動作の目標であるレジス
タ(すなわちメモリからデータを受け取ろうとするレジ
スタ)にタグを付けるということがあった。この技術
は、出願日が1984年5月31日である米国特許第4,630,19
5号からの再発行出願として1988年12月16日に出願され
た同時継続中の再発行出願第07/285,827号に記載されて
いる。この技術によると、処理装置の各レジスタはタグ
記憶機構を含んでいる。タグ付きレジスタからのデータ
を必要としない命令が実行されている時、命令実行の継
続が許容される。ところが、タグ付きレジスタに記憶さ
れたデータに従属する命令が実行される場合、タグで指
定されたデータをレジスタは受け取らず、命令は実行さ
れない。
C.発明が解決しようとする課題 本発明の目的は、1つの命令の実行が第1処理装置で
行われ、同時に、その命令についてのデータが第2処理
装置で取り出されるような多重プロセッサを含むデータ
処理システムのためのタグ付け機構を提供することにあ
る。本発明は、メモリからのデータ・アクセスを管理し
ながら、連続する命令の順序立てた実行を許容すること
により、順次命令実行能力を与えるものである。
行われ、同時に、その命令についてのデータが第2処理
装置で取り出されるような多重プロセッサを含むデータ
処理システムのためのタグ付け機構を提供することにあ
る。本発明は、メモリからのデータ・アクセスを管理し
ながら、連続する命令の順序立てた実行を許容すること
により、順次命令実行能力を与えるものである。
D.課題を解決するための手段 本発明によるデータ処理システムは、第1形式の命令
を実行するための命令実行回路を含んでいる。メモリか
ら命令を取り出し、又、第2形式の命令に応答してメモ
リからデータを取り出すための取り出し回路が設けてあ
る。又、命令デコーダが設けてあり、該デコーダは、取
り出された命令を復号するとともに、第1形式の命令を
命令待ち行列回路に指名(ディスパッチ)し、第2形式
の命令を取り出し回路に指名する。命令待ち行列回路
は、復号された第1形式の命令を記憶し、これらの命令
の実行に必要なデータが取り出されていない時に、第1
形式のこれらの命令にタグを付ける。これらの命令につ
いてのタグは、実行に必要なデータが取り出された時に
消去される。命令待ち行列回路は、タグ無し命令を、実
行のために命令実行回路へ逐次与える。
を実行するための命令実行回路を含んでいる。メモリか
ら命令を取り出し、又、第2形式の命令に応答してメモ
リからデータを取り出すための取り出し回路が設けてあ
る。又、命令デコーダが設けてあり、該デコーダは、取
り出された命令を復号するとともに、第1形式の命令を
命令待ち行列回路に指名(ディスパッチ)し、第2形式
の命令を取り出し回路に指名する。命令待ち行列回路
は、復号された第1形式の命令を記憶し、これらの命令
の実行に必要なデータが取り出されていない時に、第1
形式のこれらの命令にタグを付ける。これらの命令につ
いてのタグは、実行に必要なデータが取り出された時に
消去される。命令待ち行列回路は、タグ無し命令を、実
行のために命令実行回路へ逐次与える。
実施例の多重処理システムでは、メモリが命令及びデ
ータの両方を含んでいる。この実施例では、2つの処理
装置が、命令制御ユニットからの命令を実行するために
設けてある。この実施例では、第1形式の命令は、浮動
小数点処理装置によってのみ実行され得る浮動小数点命
令である。第2形式の命令は、浮動小数点データを浮動
小数点処理装置レジスタに与えるためのロード命令であ
り、固定小数点処理装置により実行される。固定小数点
処理装置は、浮動小数点データにアクセスするために、
メモリへのバス上に与えられたアドレスを実際に計算す
る。更に、実施例では、第1待ち行列が、レジスタ対レ
ジスタ命令及びレジスタ対メモリ命令を記憶するために
設けてあり、又、メモリ対レジスタ命令を記憶する第2
待ち行列が設けてある。実施例の命令復号行列は、多重
命令を並列に復号する能力を含んでいる。ロード命令は
その他の浮動小数点演算命令から分離して命令待ち行列
(メモリ対レジスタ待ち行列)に記憶され、又、上記そ
の他の浮動小数点演算命令は別の待ち行列に記憶され
る。浮動小数点演算命令が、ロード命令の結果としてロ
ードされているデータを必要とする時、浮動小数点演算
命令に、その命令待ち行列においてタグが付けられる。
命令にタグがない場合、該命令は浮動小数点処理装置に
与えられて実行される。
ータの両方を含んでいる。この実施例では、2つの処理
装置が、命令制御ユニットからの命令を実行するために
設けてある。この実施例では、第1形式の命令は、浮動
小数点処理装置によってのみ実行され得る浮動小数点命
令である。第2形式の命令は、浮動小数点データを浮動
小数点処理装置レジスタに与えるためのロード命令であ
り、固定小数点処理装置により実行される。固定小数点
処理装置は、浮動小数点データにアクセスするために、
メモリへのバス上に与えられたアドレスを実際に計算す
る。更に、実施例では、第1待ち行列が、レジスタ対レ
ジスタ命令及びレジスタ対メモリ命令を記憶するために
設けてあり、又、メモリ対レジスタ命令を記憶する第2
待ち行列が設けてある。実施例の命令復号行列は、多重
命令を並列に復号する能力を含んでいる。ロード命令は
その他の浮動小数点演算命令から分離して命令待ち行列
(メモリ対レジスタ待ち行列)に記憶され、又、上記そ
の他の浮動小数点演算命令は別の待ち行列に記憶され
る。浮動小数点演算命令が、ロード命令の結果としてロ
ードされているデータを必要とする時、浮動小数点演算
命令に、その命令待ち行列においてタグが付けられる。
命令にタグがない場合、該命令は浮動小数点処理装置に
与えられて実行される。
本発明の上記及びその他の目的、構成、効果を次に添
付図面を参照して説明する。
付図面を参照して説明する。
E.実施例 第1図のブロック線図に示すデータ処理システムで
は、メモリ10が命令ユニット12に接続している。命令ユ
ニット12の出力には2つの命令があり、それらは、固定
小数点処理ユニット14又は浮動小数点処理ユニット16に
与えられる。固定小数点処理ユニットは命令待ち行列27
(「逐次命令実行待ち行列」と呼ぶ)を含んでいる。浮
動小数点処理ユニット16は命令待ち行列34を含んでお
り、該待ち行列34は、第2待ち行列30において固定小数
点処理ユニット14で実行される同期命令であり、又、上
記第2待ち行列30は「非同期命令」と称される命令を含
んでいる。浮動小数点処理ユニット16による命令の実行
は、「同期命令」を除いて、固定小数点ユニット14によ
る命令実行から独立している。「同期命令」は、メモリ
10からのデータを浮動小数点処理ユニット16レジスタに
与えるロード・データ命令を含んでいる。これらのロー
ド命令のためのアドレス計算は、牽引付きロード命令の
場合の固定小数点計算のように固定小数点処理ユニット
14で行われる。データの取り出しはメモリ10に対して固
定小数点処理ユニット14により開始される。次にデータ
はデータ・キャッシュ18を介して浮動小数点処理ユニッ
ト16のレジスタに与えられる。浮動小数点処理ユニット
16についてのロード・データ命令は待ち行列34、27の両
方に含まれている。ロード命令の記憶調整はライン29に
より行われる。
は、メモリ10が命令ユニット12に接続している。命令ユ
ニット12の出力には2つの命令があり、それらは、固定
小数点処理ユニット14又は浮動小数点処理ユニット16に
与えられる。固定小数点処理ユニットは命令待ち行列27
(「逐次命令実行待ち行列」と呼ぶ)を含んでいる。浮
動小数点処理ユニット16は命令待ち行列34を含んでお
り、該待ち行列34は、第2待ち行列30において固定小数
点処理ユニット14で実行される同期命令であり、又、上
記第2待ち行列30は「非同期命令」と称される命令を含
んでいる。浮動小数点処理ユニット16による命令の実行
は、「同期命令」を除いて、固定小数点ユニット14によ
る命令実行から独立している。「同期命令」は、メモリ
10からのデータを浮動小数点処理ユニット16レジスタに
与えるロード・データ命令を含んでいる。これらのロー
ド命令のためのアドレス計算は、牽引付きロード命令の
場合の固定小数点計算のように固定小数点処理ユニット
14で行われる。データの取り出しはメモリ10に対して固
定小数点処理ユニット14により開始される。次にデータ
はデータ・キャッシュ18を介して浮動小数点処理ユニッ
ト16のレジスタに与えられる。浮動小数点処理ユニット
16についてのロード・データ命令は待ち行列34、27の両
方に含まれている。ロード命令の記憶調整はライン29に
より行われる。
第2図は浮動小数点処理ユニット16を示すブロック線
図である。命令は前取り出しバッファ制御部20で調べら
れて、これらの命令が有効であるかどうかが判断され
る。有効である場合、命令は浮動小数点命令待ち行列22
に記憶される。次に、これらの命令は復号論理部24で制
御されながら、復号装置26、28で2個づつ復号される。
復号された命令は次に命令待ち行列30、34に与えられ、
第1の利用可能なバッファ内に置かれる。ロード・デー
タ命令以外の浮動小数点処理ユニット命令は、命令待ち
行列30に記憶される。この待ち行列30は、レジスタに対
する全ての浮動小数点処理ユニットレジスタと、メモリ
動作に対するレジスタとを含んでいる。(データ命令を
ロードする)浮動小数点処理ユニット16のためのメモリ
対レジスタ動作は命令待ち行列34に記憶される。待ち行
列30、34のこれらの命令は、適当な時間において実行制
御ユニット32により指名される。
図である。命令は前取り出しバッファ制御部20で調べら
れて、これらの命令が有効であるかどうかが判断され
る。有効である場合、命令は浮動小数点命令待ち行列22
に記憶される。次に、これらの命令は復号論理部24で制
御されながら、復号装置26、28で2個づつ復号される。
復号された命令は次に命令待ち行列30、34に与えられ、
第1の利用可能なバッファ内に置かれる。ロード・デー
タ命令以外の浮動小数点処理ユニット命令は、命令待ち
行列30に記憶される。この待ち行列30は、レジスタに対
する全ての浮動小数点処理ユニットレジスタと、メモリ
動作に対するレジスタとを含んでいる。(データ命令を
ロードする)浮動小数点処理ユニット16のためのメモリ
対レジスタ動作は命令待ち行列34に記憶される。待ち行
列30、34のこれらの命令は、適当な時間において実行制
御ユニット32により指名される。
作動状態では、命令待ち行列30の命令が、浮動小数点
処理ユニット・レジスタにデータが記憶されることを要
求することがある。このデータは、これらの命令が実行
のために指名できるようになる前に記憶される必要があ
る。本発明のタグ付け装置は、これらの命令を適切に管
理して、命令が指名された時に、これらの命令で要求さ
れるデータがレジスタに適切に記憶されているようにす
る。
処理ユニット・レジスタにデータが記憶されることを要
求することがある。このデータは、これらの命令が実行
のために指名できるようになる前に記憶される必要があ
る。本発明のタグ付け装置は、これらの命令を適切に管
理して、命令が指名された時に、これらの命令で要求さ
れるデータがレジスタに適切に記憶されているようにす
る。
第3図は本発明のタグ機構を示している。この発明は
浮動小数点ユニット16の回路構成により構成されてい
る。浮動小数点ユニット16において、復号0レジスタ26
と復号1レジスタ28は復号された命令を記憶する。復号
処理において、比較機構40、42、44、46、48を使用して
比較が行われ、復号処理中のいずれかの命令が、待ち行
列70、72として第3図に示すロード命令待ち行列34に記
憶されたロード命令の実行に従属するかどうかが判断さ
れる。両待ち行列位置70、72は6ビット「t」記述子を
含んでいる。該記述子は、ロード命令によりロードされ
ている浮動小数点実行ユニット16におけるレジスタのア
ドレスである。これらのレジスタ・アドレスは比較機構
40、42、44、46、48への入力であり、復号回路26、28に
おいて命令により特定されるレジスタと比較される。な
お、実施例では、浮動小数点命令が3個までの元レジス
タと、1個の宛先レジスタとを含んでいる。元レジスタ
は「A」、「B」、「C」と指定されている。宛先レジ
スタ又は目標レジスタは、「T」で指定されている。実
施例では、浮動小数点実行ユニット16が命令を実行し、
それにより、積及び和の両方(A*B+C)が求められ
る。様式にしたがって、積算・加算処理の結果が次に目
標レジスタ「T」に置かれる。
浮動小数点ユニット16の回路構成により構成されてい
る。浮動小数点ユニット16において、復号0レジスタ26
と復号1レジスタ28は復号された命令を記憶する。復号
処理において、比較機構40、42、44、46、48を使用して
比較が行われ、復号処理中のいずれかの命令が、待ち行
列70、72として第3図に示すロード命令待ち行列34に記
憶されたロード命令の実行に従属するかどうかが判断さ
れる。両待ち行列位置70、72は6ビット「t」記述子を
含んでいる。該記述子は、ロード命令によりロードされ
ている浮動小数点実行ユニット16におけるレジスタのア
ドレスである。これらのレジスタ・アドレスは比較機構
40、42、44、46、48への入力であり、復号回路26、28に
おいて命令により特定されるレジスタと比較される。な
お、実施例では、浮動小数点命令が3個までの元レジス
タと、1個の宛先レジスタとを含んでいる。元レジスタ
は「A」、「B」、「C」と指定されている。宛先レジ
スタ又は目標レジスタは、「T」で指定されている。実
施例では、浮動小数点実行ユニット16が命令を実行し、
それにより、積及び和の両方(A*B+C)が求められ
る。様式にしたがって、積算・加算処理の結果が次に目
標レジスタ「T」に置かれる。
肯定比較が、復号処理中の命令におけるレジスタ指示
子でいずれかのレジスタによりなされる場合、命令が命
令バッファ62に記憶された時に、適当なタグが設定され
る。タグは、タグ制御回路部68で制御されながら、2ビ
ットバッファ64に記憶される。バッファ50、54、58、62
は第2図に示す命令待ち行列30に対応する。各命令は、
復号されると、第1の利用可能なバッファに記憶される
(該バッファは、ロード命令については、バッファ72で
始まり、その他の全ての浮動小数点命令については、バ
ッファ62で始まる)。従って、全ての非同期命令(固定
小数点ユニット14の命令の実行とは無関係に浮動小数点
実行ユニット16で実行される命令)は、最初に、バッフ
ァ50に記憶される。又、バッファ50、54、58、62に記憶
された命令についても、それらの個々のタグはタグ記憶
機構52、56、60、64にそれぞれ移送される。命令が指名
されると、該命令は実行回路部66へ送られる。タグ制御
論理部68はメモリ・バス8からデータ準備信号を受け取
るように接続されている。データ準備信号を受け取る
と、適当なタグがゼロ化される。又、タグ制御論理部
は、タグ位置64の両方のタグ・ビットが0になると、バ
ッファ位置62の命令を指名する。この様にして本発明は
命令待ち行列の命令順序を管理して、命令実行のための
データが適切に取り込まれ、実行のために命令が実際に
指名される前に利用可能となるようにする。
子でいずれかのレジスタによりなされる場合、命令が命
令バッファ62に記憶された時に、適当なタグが設定され
る。タグは、タグ制御回路部68で制御されながら、2ビ
ットバッファ64に記憶される。バッファ50、54、58、62
は第2図に示す命令待ち行列30に対応する。各命令は、
復号されると、第1の利用可能なバッファに記憶される
(該バッファは、ロード命令については、バッファ72で
始まり、その他の全ての浮動小数点命令については、バ
ッファ62で始まる)。従って、全ての非同期命令(固定
小数点ユニット14の命令の実行とは無関係に浮動小数点
実行ユニット16で実行される命令)は、最初に、バッフ
ァ50に記憶される。又、バッファ50、54、58、62に記憶
された命令についても、それらの個々のタグはタグ記憶
機構52、56、60、64にそれぞれ移送される。命令が指名
されると、該命令は実行回路部66へ送られる。タグ制御
論理部68はメモリ・バス8からデータ準備信号を受け取
るように接続されている。データ準備信号を受け取る
と、適当なタグがゼロ化される。又、タグ制御論理部
は、タグ位置64の両方のタグ・ビットが0になると、バ
ッファ位置62の命令を指名する。この様にして本発明は
命令待ち行列の命令順序を管理して、命令実行のための
データが適切に取り込まれ、実行のために命令が実際に
指名される前に利用可能となるようにする。
第4図はタグ付け処理をフローチャート形態で示して
いる。ステップ100において、復号回路部に有効命令が
あるかどうかが判断される。ない場合、その様な有効命
令が存在するまで、制御動作はループ状態となる。次
に、ステップ102において、有効命令がロード待ち行列
1に存在するかどうかが判断される。有効命令がロード
待ち行列1にない場合、制御はステップ102の最初に戻
る。有効命令が待ち行列1に存在する場合、制御はステ
ップ106に進んで、取り出されているオペランドが復号
中の命令にとって適切なオペランドであるかどうかが判
断される。適切であれば、制御はステップ110へ進み、
命令タグ・ビット1が1に等しく設定される。適切でな
い場合、制御はステップ112に進み、命令タグ・ビット
1が0に設定される。これと並行して、ステップ104で
は、ロード待ち行列0の命令が有効命令であるかどうか
という判断がなされる。有効命令でない場合、制御はス
テップ104の最初に戻る。有効ロード命令が存在する場
合、制御はステップ108に進み、取り出されつつあるオ
ペランドが復号中の命令のためのオペランドであるかど
うかが判断され、そうであれば、命令タグ・ビット0が
ステップ114において1に設定される。そうでない場
合、命令タグ・ビット0がステップ116で0に設定され
る。
いる。ステップ100において、復号回路部に有効命令が
あるかどうかが判断される。ない場合、その様な有効命
令が存在するまで、制御動作はループ状態となる。次
に、ステップ102において、有効命令がロード待ち行列
1に存在するかどうかが判断される。有効命令がロード
待ち行列1にない場合、制御はステップ102の最初に戻
る。有効命令が待ち行列1に存在する場合、制御はステ
ップ106に進んで、取り出されているオペランドが復号
中の命令にとって適切なオペランドであるかどうかが判
断される。適切であれば、制御はステップ110へ進み、
命令タグ・ビット1が1に等しく設定される。適切でな
い場合、制御はステップ112に進み、命令タグ・ビット
1が0に設定される。これと並行して、ステップ104で
は、ロード待ち行列0の命令が有効命令であるかどうか
という判断がなされる。有効命令でない場合、制御はス
テップ104の最初に戻る。有効ロード命令が存在する場
合、制御はステップ108に進み、取り出されつつあるオ
ペランドが復号中の命令のためのオペランドであるかど
うかが判断され、そうであれば、命令タグ・ビット0が
ステップ114において1に設定される。そうでない場
合、命令タグ・ビット0がステップ116で0に設定され
る。
第3図から明らかなように、4つの命令バッファ50、
54、58、62の内の1つに記憶された命令が、バッファ7
2、70に記憶された2つのロード命令の結果として、ロ
ードされているオペランドのロードが完了していること
を要求できる。この例では、ビット記憶バッファ52又は
56、60、64の両方のビット、そのそれぞれの命令バッフ
ァ50又は54、58、62について、1つの1を含むことにな
る。バッファ72のロード動作が実行ユニット74に移動す
ると、バッファ70の動作はバッファ72まで下降し、タグ
・バッファ52又は56、60、64の最も左のビットが最も右
のビット位置へ移動する。従って、両方のビット位置が
1に設定され、これは命令バッファ70、72に記憶された
両方のロード命令がデータについての未処理要求を持っ
ていることを示すものである。同様に、両方のビット位
置が0であれば、これは、ロード中のいずれのデータに
も従属性が全くなく、命令は実行のために指名できると
いうことを意味する。
54、58、62の内の1つに記憶された命令が、バッファ7
2、70に記憶された2つのロード命令の結果として、ロ
ードされているオペランドのロードが完了していること
を要求できる。この例では、ビット記憶バッファ52又は
56、60、64の両方のビット、そのそれぞれの命令バッフ
ァ50又は54、58、62について、1つの1を含むことにな
る。バッファ72のロード動作が実行ユニット74に移動す
ると、バッファ70の動作はバッファ72まで下降し、タグ
・バッファ52又は56、60、64の最も左のビットが最も右
のビット位置へ移動する。従って、両方のビット位置が
1に設定され、これは命令バッファ70、72に記憶された
両方のロード命令がデータについての未処理要求を持っ
ていることを示すものである。同様に、両方のビット位
置が0であれば、これは、ロード中のいずれのデータに
も従属性が全くなく、命令は実行のために指名できると
いうことを意味する。
第5図は実行のためのタグの順序及び命令のホールデ
ィング・オフを説明する状態線図である。ロード・バッ
ファ70で実行中のロード命令に命令が従属する時、タグ
は第1状態120において、1Xに設定される。その場合、
「X」は「任意」を意味する。その時点で実行状態は0
に設定され、これは命令を実行のために指名できないこ
とを意味する。そのオペランドについてのデータ準備信
号が0である限り、処理はこの状態に留まる。オペラン
ドについて、データ準備信号が受け取られると、処理は
状態122に進む。これは、ロード命令が第3図のロード
命令バッファ70からロード命令バッファ72へ移送された
ことを示す。この場合も、次のデータ準備信号が受け取
られるまで、処理は状態122に留まり、受け取りが行わ
れると、処理は状態124に進み、そこにおいて、タグが0
0に設定され、実行状態が1に変化して、命令が実行の
ために指名されたことが示される。
ィング・オフを説明する状態線図である。ロード・バッ
ファ70で実行中のロード命令に命令が従属する時、タグ
は第1状態120において、1Xに設定される。その場合、
「X」は「任意」を意味する。その時点で実行状態は0
に設定され、これは命令を実行のために指名できないこ
とを意味する。そのオペランドについてのデータ準備信
号が0である限り、処理はこの状態に留まる。オペラン
ドについて、データ準備信号が受け取られると、処理は
状態122に進む。これは、ロード命令が第3図のロード
命令バッファ70からロード命令バッファ72へ移送された
ことを示す。この場合も、次のデータ準備信号が受け取
られるまで、処理は状態122に留まり、受け取りが行わ
れると、処理は状態124に進み、そこにおいて、タグが0
0に設定され、実行状態が1に変化して、命令が実行の
ために指名されたことが示される。
第6A図は命令順序を示している。通常の順序で実行さ
れる連続送り形処理システムの動作では、第1命令LD0
(レジスター0のロードを示す)が実行のために指名さ
れる最初の命令となる。後続の全ての命令は、このレジ
スタ0ロードの完了を待つことになる。次に、レジスタ
2の内容とレジスタ3の内容とを乗算することが乗算命
令により指示される。乗算命令に続いて、レジスタ1を
ロードするロード命令が与えられる。最後に、加算命令
が与えられ、レジスタ0の内容とレジスタ1の内容とが
加算され、その結果がレジスタ4に記憶される。
れる連続送り形処理システムの動作では、第1命令LD0
(レジスター0のロードを示す)が実行のために指名さ
れる最初の命令となる。後続の全ての命令は、このレジ
スタ0ロードの完了を待つことになる。次に、レジスタ
2の内容とレジスタ3の内容とを乗算することが乗算命
令により指示される。乗算命令に続いて、レジスタ1を
ロードするロード命令が与えられる。最後に、加算命令
が与えられ、レジスタ0の内容とレジスタ1の内容とが
加算され、その結果がレジスタ4に記憶される。
この例を説明するために、レジスタ2、3が予めロー
ドされているものとする。第3図において、ロード・レ
ジスタ0命令が復号0レジスタ26にロードされ、乗算命
令がサイクル1(第6B図)において復号1レジスタ28に
ロードされる。サイクル2では、ロード・レジスタ0命
令が未処理ロード待ち行列1レジスタ72へ移送され、デ
ータ従属性が全くないので、乗算命令が非同期命令バッ
ファ50、54、58、62から実行ユニット66へ実行のために
供給される。
ドされているものとする。第3図において、ロード・レ
ジスタ0命令が復号0レジスタ26にロードされ、乗算命
令がサイクル1(第6B図)において復号1レジスタ28に
ロードされる。サイクル2では、ロード・レジスタ0命
令が未処理ロード待ち行列1レジスタ72へ移送され、デ
ータ従属性が全くないので、乗算命令が非同期命令バッ
ファ50、54、58、62から実行ユニット66へ実行のために
供給される。
サイクル1では、ロード・レジスタ1命令が復号0レ
ジスタ26に置かれ、加算命令が復号1レジスタ28に置か
れる。サイクル1では、ロード・レジスタ0命令が未処
理ロード命令待ち行列1レジスタ72に留まり、ロード・
レジスタ1命令が未処理ロード命令待ち行列0レジスタ
70に置かれる。加算命令はバッファ0レジスタ62置か
れ、又、タグ・レジスタ64が11に設定され、これは加算
命令がレジスタ70、72に記憶された両方のロード命令の
実行完了に従属していることを示している。サイクル3
では、データ準備信号がデータ準備ライン150で示すよ
うに受け取られる。これは、データが、それを適当なレ
ジスタで記憶するために、浮動小数点実行ユニット16に
与えられていることを示す。ロード命令はそれらの適当
な未処理ロード命令待ち行列レジスタ70、72に記憶され
たままとなり、加算命令は、そのタグがタグ記憶機構60
に記憶された状態でレジスタ62に記憶された状態に留ま
る。サイクル4では、ロード・レジスタ0命令は完了し
ているので、レジスタ72から除去され、ロード・レジス
タ0からのロード・レジスタ1により置き換えられる。
加算命令がレジスタ62に留まっている間、レジスタ64の
タグは01に再設定され、これは、1つのロード命令が完
了し、命令が従属する未処理ロードがこの時点でレジス
タ72に置かれたことを示している。サイクル5では、第
2のデータ準備信号がライン150で受け取られる。サイ
クル6では、データの第2ピースが浮動小数点実行ユニ
ット16で既に受け取られているので、加算タグは00に設
定され、加算命令が実行ユニット66に指名される。
ジスタ26に置かれ、加算命令が復号1レジスタ28に置か
れる。サイクル1では、ロード・レジスタ0命令が未処
理ロード命令待ち行列1レジスタ72に留まり、ロード・
レジスタ1命令が未処理ロード命令待ち行列0レジスタ
70に置かれる。加算命令はバッファ0レジスタ62置か
れ、又、タグ・レジスタ64が11に設定され、これは加算
命令がレジスタ70、72に記憶された両方のロード命令の
実行完了に従属していることを示している。サイクル3
では、データ準備信号がデータ準備ライン150で示すよ
うに受け取られる。これは、データが、それを適当なレ
ジスタで記憶するために、浮動小数点実行ユニット16に
与えられていることを示す。ロード命令はそれらの適当
な未処理ロード命令待ち行列レジスタ70、72に記憶され
たままとなり、加算命令は、そのタグがタグ記憶機構60
に記憶された状態でレジスタ62に記憶された状態に留ま
る。サイクル4では、ロード・レジスタ0命令は完了し
ているので、レジスタ72から除去され、ロード・レジス
タ0からのロード・レジスタ1により置き換えられる。
加算命令がレジスタ62に留まっている間、レジスタ64の
タグは01に再設定され、これは、1つのロード命令が完
了し、命令が従属する未処理ロードがこの時点でレジス
タ72に置かれたことを示している。サイクル5では、第
2のデータ準備信号がライン150で受け取られる。サイ
クル6では、データの第2ピースが浮動小数点実行ユニ
ット16で既に受け取られているので、加算タグは00に設
定され、加算命令が実行ユニット66に指名される。
第7A図は第6A図の命令順序に類似した第2の命令順序
を示している。但し、第7A図の命令順序は、乗算命令で
はなく、除算命令を含んでいる。除算命令の重要性は、
それにより、乗算命令よりも実行に数多くのサイクルを
必要とするということである。第6B図において、乗算命
令は単一サイクルで完了する。第7B図に示す例では、除
算命令はその完了までに7つのサイクルが必要である。
を示している。但し、第7A図の命令順序は、乗算命令で
はなく、除算命令を含んでいる。除算命令の重要性は、
それにより、乗算命令よりも実行に数多くのサイクルを
必要とするということである。第6B図において、乗算命
令は単一サイクルで完了する。第7B図に示す例では、除
算命令はその完了までに7つのサイクルが必要である。
サイクル0において、ロード及び除算命令の両者が前
述(第6A図及び第6B図)の場合と同様に、復号レジスタ
26、28に置かれる。サイクル1では、復号レジスタ28か
らの除算命令が実行ユニット66に直接置かれる。ロード
・レジスタ0命令は、未処理ロード命令待ち行列1レジ
スタ72内に置かれる。又、ロード・レジスタ1命令は、
復号0レジスタ26に置かれ、加算命令は復号1レジスタ
28に置かれる。サイクル2において、ロード・レジスタ
1命令は未処理ロード命令待ち行列0レジスタ70に置か
れ、加算命令はバッファ0レジスタ62に置かれる。その
時点において、タグ制御論理部68がレジスタ70、72の両
方のロード命令の完了にタグを設定する。サイクル3に
おいて、データ準備信号はライン152で示すように受け
取られる。
述(第6A図及び第6B図)の場合と同様に、復号レジスタ
26、28に置かれる。サイクル1では、復号レジスタ28か
らの除算命令が実行ユニット66に直接置かれる。ロード
・レジスタ0命令は、未処理ロード命令待ち行列1レジ
スタ72内に置かれる。又、ロード・レジスタ1命令は、
復号0レジスタ26に置かれ、加算命令は復号1レジスタ
28に置かれる。サイクル2において、ロード・レジスタ
1命令は未処理ロード命令待ち行列0レジスタ70に置か
れ、加算命令はバッファ0レジスタ62に置かれる。その
時点において、タグ制御論理部68がレジスタ70、72の両
方のロード命令の完了にタグを設定する。サイクル3に
おいて、データ準備信号はライン152で示すように受け
取られる。
サイクル4において、ロード・レジスタ0命令は既に
完了しており、データは適当な浮動小数点実行ユニット
・レジスタにロードされているので、該命令は破棄され
る。ロード・レジスタ1命令が次にレジスタ70からレジ
スタ72へ移される。次に、タグ制御論理部68がタグ記憶
機構64のタグを01に再設定し、これは、単一ロード命令
だけにデータ従属性があり、ロード命令がレジスタ72に
記憶されることを示している。サイクル5では、第2の
データ準備信号が受け取られる。サイクル6では、レジ
スタ72のロード1命令は既に完了しており、データは浮
動小数点実行ユニットに適切にロードされているので、
該命令は破棄される。タグ制御論理部68はタグ記憶機構
64に一時的に記憶されたタグを00に再設定しており、こ
れは、レジスタ58に記憶された加算命令について、デー
タ従属性が全くないことを示している。但し、除算命令
は引き続いて実行される。サイクル7では除算命令の実
行が以前として継続しているために、バッファ1レジス
タ62の加算命令を実行ユニット66に指名することができ
ない。サイクル8では、除算命令が最終的に完了するの
で、加算命令が指名され、純粋に順序的な実行に比べ
て、全体で3サイクルが節約される。
完了しており、データは適当な浮動小数点実行ユニット
・レジスタにロードされているので、該命令は破棄され
る。ロード・レジスタ1命令が次にレジスタ70からレジ
スタ72へ移される。次に、タグ制御論理部68がタグ記憶
機構64のタグを01に再設定し、これは、単一ロード命令
だけにデータ従属性があり、ロード命令がレジスタ72に
記憶されることを示している。サイクル5では、第2の
データ準備信号が受け取られる。サイクル6では、レジ
スタ72のロード1命令は既に完了しており、データは浮
動小数点実行ユニットに適切にロードされているので、
該命令は破棄される。タグ制御論理部68はタグ記憶機構
64に一時的に記憶されたタグを00に再設定しており、こ
れは、レジスタ58に記憶された加算命令について、デー
タ従属性が全くないことを示している。但し、除算命令
は引き続いて実行される。サイクル7では除算命令の実
行が以前として継続しているために、バッファ1レジス
タ62の加算命令を実行ユニット66に指名することができ
ない。サイクル8では、除算命令が最終的に完了するの
で、加算命令が指名され、純粋に順序的な実行に比べ
て、全体で3サイクルが節約される。
第8A図は第3の命令の命令順序を含んでおり、それに
よると、2つのロード命令が復号され、又、それに対し
て加算及び乗算命令が続いている。この命令順序の目的
は、データ従属性のない(完了している未処理ロードに
従属しない)命令を実行ユニットに指名できないという
ことを説明することである。第8B図において、ロード・
レジスタ0命令とロード・レジスタ1命令は、それぞ
れ、復号0レジスタ26と復号1レジスタ28とに指名され
る。サイクル1において、ロード・レジスタ0命令は未
処理ロード命令待ち行列0レジスタ72に置かれる。ロー
ド・レジスタ1命令は未処理ロード命令待ち行列0レジ
スタ70に置かれる。加算及び乗算命令は復号0レジスタ
26及び復号1レジスタ28にそれぞれ置かれる。但し、加
算及び乗算命令の両者は、レジスタ0にロードされるデ
ータに対して従属性がある。この例を説明するために、
(レジスタ5、7における)これらの命令により要求さ
れるその他のデータは既に与えられているものとする。
サイクル2では、ロード・レジスタ1及びロード・レジ
スタ0命令が、それぞれ、レジスタ70、72に留まってお
り、一方、乗算命令はバッファ1レジスタ58に置かれ、
加算命令はバッファ0レジスタ62に置かれている。加算
及び乗算命令の両者が、実行の完了したレジスタ72のロ
ード命令に従属しているので、タグは両者とも01に設定
される。これらのタグは対応する命令ごとにレジスタ6
0、64に記憶される。サイクル3では、データ準備信号
がライン154で受け取られる。サイクル4では、加算命
令が、一時記憶機構64のタグを00に再設定し、又、加算
命令が実行のために、命令ユニット66に指名される。一
方、乗算命令はバッファ0レジスタ62に移動させられ、
そのタグはタグ記憶機構60からタグ記憶機構64へ移る。
加算命令と同様に、乗算命令のタグも00に再設定されて
おり、これはデータ従属性が全く存在しないことを示
す。又、サイクル4では、この時点で実行が完了してい
るロード0命令が破棄される。ロード・レジスタ1命令
は未処理ロード命令待ち行列1レジスタ72に移される。
サイクル5では、ロード・レジスタ1命令が実行完了を
待つ間に、乗算命令が実行ユニット66に指名される。最
後に、サイクル8に置いて、データ準備信号がライン15
4で受け取られ、これはロード・レジスタ1命令の実行
が完了したことを示している。
よると、2つのロード命令が復号され、又、それに対し
て加算及び乗算命令が続いている。この命令順序の目的
は、データ従属性のない(完了している未処理ロードに
従属しない)命令を実行ユニットに指名できないという
ことを説明することである。第8B図において、ロード・
レジスタ0命令とロード・レジスタ1命令は、それぞ
れ、復号0レジスタ26と復号1レジスタ28とに指名され
る。サイクル1において、ロード・レジスタ0命令は未
処理ロード命令待ち行列0レジスタ72に置かれる。ロー
ド・レジスタ1命令は未処理ロード命令待ち行列0レジ
スタ70に置かれる。加算及び乗算命令は復号0レジスタ
26及び復号1レジスタ28にそれぞれ置かれる。但し、加
算及び乗算命令の両者は、レジスタ0にロードされるデ
ータに対して従属性がある。この例を説明するために、
(レジスタ5、7における)これらの命令により要求さ
れるその他のデータは既に与えられているものとする。
サイクル2では、ロード・レジスタ1及びロード・レジ
スタ0命令が、それぞれ、レジスタ70、72に留まってお
り、一方、乗算命令はバッファ1レジスタ58に置かれ、
加算命令はバッファ0レジスタ62に置かれている。加算
及び乗算命令の両者が、実行の完了したレジスタ72のロ
ード命令に従属しているので、タグは両者とも01に設定
される。これらのタグは対応する命令ごとにレジスタ6
0、64に記憶される。サイクル3では、データ準備信号
がライン154で受け取られる。サイクル4では、加算命
令が、一時記憶機構64のタグを00に再設定し、又、加算
命令が実行のために、命令ユニット66に指名される。一
方、乗算命令はバッファ0レジスタ62に移動させられ、
そのタグはタグ記憶機構60からタグ記憶機構64へ移る。
加算命令と同様に、乗算命令のタグも00に再設定されて
おり、これはデータ従属性が全く存在しないことを示
す。又、サイクル4では、この時点で実行が完了してい
るロード0命令が破棄される。ロード・レジスタ1命令
は未処理ロード命令待ち行列1レジスタ72に移される。
サイクル5では、ロード・レジスタ1命令が実行完了を
待つ間に、乗算命令が実行ユニット66に指名される。最
後に、サイクル8に置いて、データ準備信号がライン15
4で受け取られ、これはロード・レジスタ1命令の実行
が完了したことを示している。
F.発明の効果 本発明は、1つの命令の実行が第1プロセッサで行わ
れ、その間に該命令のためのデータが第2プロセッサで
取り出される多重プロセッサを含むデータ処理システム
用のタグ付け機構を提供するものである。
れ、その間に該命令のためのデータが第2プロセッサで
取り出される多重プロセッサを含むデータ処理システム
用のタグ付け機構を提供するものである。
第1図はデータ処理システムのブロック線図、第2図は
浮動小数点ユニットに配置される命令待ち行列を示すブ
ロック線図、第3図は浮動小数点ユニットの命令待ち行
列に接続される命令復号論理部を示すブロック線図、第
4図はタグ処理を示すフローチャート、第5図はタグ処
理における命令フローを示す状態説明図、第6A図は第1
順序の命令の図、第6B図は第6A図の命令順序の連続送り
実行を示すタイミング線図、第7A図は第2命令順序を示
す図、第7B図は第7A図の命令順序の連続送り実行を説明
するタイミング線図、第8A図は第3命令順序を示す図、
第8B図は第8A図の命令順序の連続送り実行を説明するタ
イミング線図である。 10……メモリ、12……命令ユニット、14……固定小数点
処理ユニット、16……浮動小数点処理ユニット、22、2
7、30、34……命令待ち行列、26、28……復号装置、32
……制御ユニット
浮動小数点ユニットに配置される命令待ち行列を示すブ
ロック線図、第3図は浮動小数点ユニットの命令待ち行
列に接続される命令復号論理部を示すブロック線図、第
4図はタグ処理を示すフローチャート、第5図はタグ処
理における命令フローを示す状態説明図、第6A図は第1
順序の命令の図、第6B図は第6A図の命令順序の連続送り
実行を示すタイミング線図、第7A図は第2命令順序を示
す図、第7B図は第7A図の命令順序の連続送り実行を説明
するタイミング線図、第8A図は第3命令順序を示す図、
第8B図は第8A図の命令順序の連続送り実行を説明するタ
イミング線図である。 10……メモリ、12……命令ユニット、14……固定小数点
処理ユニット、16……浮動小数点処理ユニット、22、2
7、30、34……命令待ち行列、26、28……復号装置、32
……制御ユニット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイホン・ジユーイアンフー アメリカ合衆国テキサス州オースチン、 アパート252シエパード・マウンテン・ コーブ 6001番地 (56)参考文献 特開 昭58−101346(JP,A) 特開 昭59−32045(JP,A)
Claims (2)
- 【請求項1】メモリからデータを取り出すロード命令の
後ろに、前記データに対して演算を行う演算命令が続く
命令順序を処理するデータ処理システムであって、 前記ロード命令及び前記演算命令を含む複数の命令並び
にデータを記憶するメモリと、 前記演算命令を実行する第1の実行手段と、 前記メモリから取り出された命令を復号し、復号した命
令が前記演算命令であれば該演算命令を第1の待ち行列
手段に入れ、復号した命令が前記ロード命令であれば該
ロード命令を第2の待ち行列手段に入れる命令復号手段
と、 前記第2の待ち行列手段に入れられたロード命令の実行
が完了するまで、前記第1の待ち行列手段中の関連する
演算命令にタグを付け、前記ロード命令の実行が完了す
ると前記関連する演算命令のタグをはずすタグ制御手段
と、 前記タグ制御手段によってタグをはずされた演算命令を
前記第1の待ち行列手段から前記第1の実行手段にディ
スパッチするディスパッチ手段と、 前記第1の実行手段から独立して前記ロード命令を実行
する第2の実行手段と、 を具備するデータ処理システム。 - 【請求項2】メモリからデータを取り出すロード命令の
後ろに、前記データに対して演算を行う演算命令が続く
命令順序を処理するために、前記ロード命令及び前記演
算命令を含む複数の命令並びにデータを記憶するメモリ
と、前記演算命令を実行する第1の実行手段と、前記第
1の実行手段から独立して前記ロード命令を実行する第
2の実行手段とを有するデータ処理システムにおいて、 前記メモリから取り出された命令を復号し、復号した命
令が前記演算命令であれば該演算命令を第1の待ち行列
手段に入れ、復号した命令が前記ロード命令であれば該
ロード命令を第2の待ち行列手段に入れるステップと、 前記ロード命令を前記第2の待ち行列手段から前記第2
の実行手段へディスパッチするステップと、 前記ロード命令の実行が完了するまで、前記第1の待ち
行列手段中の関連する演算命令にタグを付け、前記ロー
ド命令の実行が完了すると前記関連する演算命令のタグ
をはずすステップと、 前記タグ制御手段によってタグをはずされた演算命令を
前記第1の待ち行列手段から前記第1の実行手段にディ
スパッチするステップと、 を含む命令実行制御方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US453529 | 1989-12-20 | ||
US07/453,529 US5150470A (en) | 1989-12-20 | 1989-12-20 | Data processing system with instruction queue having tags indicating outstanding data status |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03191461A JPH03191461A (ja) | 1991-08-21 |
JP2701179B2 true JP2701179B2 (ja) | 1998-01-21 |
Family
ID=23800914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2279510A Expired - Lifetime JP2701179B2 (ja) | 1989-12-20 | 1990-10-19 | データ処理システム |
Country Status (10)
Country | Link |
---|---|
US (1) | US5150470A (ja) |
EP (1) | EP0437044B1 (ja) |
JP (1) | JP2701179B2 (ja) |
KR (1) | KR930008035B1 (ja) |
CN (1) | CN1021144C (ja) |
AU (1) | AU639953B2 (ja) |
DE (1) | DE69017178T2 (ja) |
HK (1) | HK90795A (ja) |
MY (1) | MY104531A (ja) |
NZ (1) | NZ236142A (ja) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2507638B2 (ja) * | 1989-12-01 | 1996-06-12 | 三菱電機株式会社 | デ―タ処理装置 |
US5255371A (en) * | 1990-04-02 | 1993-10-19 | Unisys Corporation | Apparatus for interfacing a real-time communication link to an asynchronous digital computer system by utilizing grouped data transfer commands |
JP2834292B2 (ja) * | 1990-08-15 | 1998-12-09 | 株式会社日立製作所 | データ・プロセッサ |
US5363495A (en) * | 1991-08-26 | 1994-11-08 | International Business Machines Corporation | Data processing system with multiple execution units capable of executing instructions out of sequence |
US5371684A (en) | 1992-03-31 | 1994-12-06 | Seiko Epson Corporation | Semiconductor floor plan for a register renaming circuit |
JP2549256B2 (ja) * | 1992-12-01 | 1996-10-30 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 浮動小数点プロセッサへデータを転送する方法及び装置 |
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 |
US5434987A (en) * | 1993-09-21 | 1995-07-18 | Intel Corporation | Method and apparatus for preventing incorrect fetching of an instruction of a self-modifying code sequence with dependency on a bufered store |
WO1995016955A1 (en) * | 1993-12-15 | 1995-06-22 | Silicon Graphics, Inc. | Load latency of zero for floating point load instructions using a load data queue |
US5734856A (en) * | 1994-04-05 | 1998-03-31 | Seiko Epson Corporation | System and method for generating supplemental ready signals to eliminate wasted cycles between operations |
US5758176A (en) * | 1994-09-28 | 1998-05-26 | International Business Machines Corporation | Method and system for providing a single-instruction, multiple-data execution unit for performing single-instruction, multiple-data operations within a superscalar data processing system |
CN1069983C (zh) * | 1994-10-13 | 2001-08-22 | 联华电子股份有限公司 | 一种虚拟排队装置 |
US5745726A (en) * | 1995-03-03 | 1998-04-28 | Fujitsu, Ltd | Method and apparatus for selecting the oldest queued instructions without data dependencies |
US5751983A (en) * | 1995-10-03 | 1998-05-12 | Abramson; Jeffrey M. | Out-of-order processor with a memory subsystem which handles speculatively dispatched load operations |
US5799165A (en) * | 1996-01-26 | 1998-08-25 | Advanced Micro Devices, Inc. | Out-of-order processing that removes an issued operation from an execution pipeline upon determining that the operation would cause a lengthy pipeline delay |
US5796997A (en) * | 1996-05-15 | 1998-08-18 | Hewlett-Packard Company | Fast nullify system and method for transforming a nullify function into a select function |
US5920710A (en) * | 1996-11-18 | 1999-07-06 | Advanced Micro Devices, Inc. | Apparatus and method for modifying status bits in a reorder buffer with a large speculative state |
US5878242A (en) * | 1997-04-21 | 1999-03-02 | International Business Machines Corporation | Method and system for forwarding instructions in a processor with increased forwarding probability |
US5941983A (en) * | 1997-06-24 | 1999-08-24 | Hewlett-Packard Company | Out-of-order execution using encoded dependencies between instructions in queues to determine stall values that control issurance of instructions from the queues |
US5958047A (en) * | 1997-06-25 | 1999-09-28 | Sun Microsystems, Inc. | Method for precise architectural update in an out-of-order processor |
US5958041A (en) * | 1997-06-26 | 1999-09-28 | Sun Microsystems, Inc. | Latency prediction in a pipelined microarchitecture |
US6032249A (en) * | 1998-02-02 | 2000-02-29 | International Business Machines Corporation | Method and system for executing a serializing instruction while bypassing a floating point unit pipeline |
US7237090B1 (en) | 2000-12-29 | 2007-06-26 | Mips Technologies, Inc. | Configurable out-of-order data transfer in a coprocessor interface |
US7287147B1 (en) | 2000-12-29 | 2007-10-23 | Mips Technologies, Inc. | Configurable co-processor interface |
US7134116B1 (en) | 2001-04-30 | 2006-11-07 | Mips Technologies, Inc. | External trace synchronization via periodic sampling |
US7168066B1 (en) * | 2001-04-30 | 2007-01-23 | Mips Technologies, Inc. | Tracing out-of order load data |
US7181728B1 (en) | 2001-04-30 | 2007-02-20 | Mips Technologies, Inc. | User controlled trace records |
US7178133B1 (en) | 2001-04-30 | 2007-02-13 | Mips Technologies, Inc. | Trace control based on a characteristic of a processor's operating state |
US7124072B1 (en) | 2001-04-30 | 2006-10-17 | Mips Technologies, Inc. | Program counter and data tracing from a multi-issue processor |
US7069544B1 (en) * | 2001-04-30 | 2006-06-27 | Mips Technologies, Inc. | Dynamic selection of a compression algorithm for trace data |
US7185234B1 (en) * | 2001-04-30 | 2007-02-27 | Mips Technologies, Inc. | Trace control from hardware and software |
US7065675B1 (en) | 2001-05-08 | 2006-06-20 | Mips Technologies, Inc. | System and method for speeding up EJTAG block data transfers |
US7231551B1 (en) | 2001-06-29 | 2007-06-12 | Mips Technologies, Inc. | Distributed tap controller |
US7043668B1 (en) | 2001-06-29 | 2006-05-09 | Mips Technologies, Inc. | Optimized external trace formats |
US7159101B1 (en) | 2003-05-28 | 2007-01-02 | Mips Technologies, Inc. | System and method to trace high performance multi-issue processors |
DE102004004307A1 (de) * | 2004-01-28 | 2005-09-01 | Infineon Technologies Ag | Schaltungsanordnung mit Zustandskontrolleinrichtung zur Überprüfung von abgesetzten Befehlen |
US20110004718A1 (en) | 2009-07-02 | 2011-01-06 | Ross John Stenfort | System, method, and computer program product for ordering a plurality of write commands associated with a storage device |
US20120117335A1 (en) * | 2010-11-10 | 2012-05-10 | Advanced Micro Devices, Inc. | Load ordering queue |
US9519944B2 (en) * | 2014-09-02 | 2016-12-13 | Apple Inc. | Pipeline dependency resolution |
GB2564144B (en) | 2017-07-05 | 2020-01-08 | Advanced Risc Mach Ltd | Context data management |
GB2572954B (en) * | 2018-04-16 | 2020-12-30 | Advanced Risc Mach Ltd | An apparatus and method for prefetching data items |
CN111290786B (zh) * | 2018-12-12 | 2022-05-06 | 展讯通信(上海)有限公司 | 一种信息处理方法、设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3718912A (en) * | 1970-12-22 | 1973-02-27 | Ibm | Instruction execution unit |
US4179736A (en) * | 1977-11-22 | 1979-12-18 | Honeywell Information Systems Inc. | Microprogrammed computer control unit capable of efficiently executing a large repertoire of instructions for a high performance data processing unit |
JPS58151655A (ja) * | 1982-03-03 | 1983-09-08 | Fujitsu Ltd | 情報処理装置 |
JP2564805B2 (ja) * | 1985-08-08 | 1996-12-18 | 日本電気株式会社 | 情報処理装置 |
US4972317A (en) * | 1986-10-06 | 1990-11-20 | International Business Machines Corp. | Microprocessor implemented data processing system capable of emulating execution of special instructions not within the established microprocessor instruction set by switching access from a main store portion of a memory |
US5001624A (en) * | 1987-02-13 | 1991-03-19 | Harrell Hoffman | Processor controlled DMA controller for transferring instruction and data from memory to coprocessor |
US5045992A (en) * | 1988-10-19 | 1991-09-03 | Hewlett-Packard Company | Apparatus for executing instruction regardless of data types and thereafter selectively branching to other instruction upon determining of incompatible data type |
US4999802A (en) * | 1989-01-13 | 1991-03-12 | International Business Machines Corporation | Floating point arithmetic two cycle data flow |
-
1989
- 1989-12-20 US US07/453,529 patent/US5150470A/en not_active Expired - Fee Related
-
1990
- 1990-10-19 JP JP2279510A patent/JP2701179B2/ja not_active Expired - Lifetime
- 1990-11-17 CN CN90109188A patent/CN1021144C/zh not_active Expired - Fee Related
- 1990-11-20 MY MYPI90002044A patent/MY104531A/en unknown
- 1990-11-20 NZ NZ236142A patent/NZ236142A/en unknown
- 1990-11-20 AU AU66753/90A patent/AU639953B2/en not_active Ceased
- 1990-12-07 EP EP90313353A patent/EP0437044B1/en not_active Expired - Lifetime
- 1990-12-07 DE DE69017178T patent/DE69017178T2/de not_active Expired - Fee Related
- 1990-12-08 KR KR9020196A patent/KR930008035B1/ko not_active IP Right Cessation
-
1995
- 1995-06-08 HK HK90795A patent/HK90795A/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0437044A2 (en) | 1991-07-17 |
EP0437044A3 (en) | 1992-11-04 |
HK90795A (en) | 1995-06-16 |
AU639953B2 (en) | 1993-08-12 |
DE69017178T2 (de) | 1995-08-10 |
CN1021144C (zh) | 1993-06-09 |
JPH03191461A (ja) | 1991-08-21 |
KR930008035B1 (en) | 1993-08-25 |
AU6675390A (en) | 1991-06-27 |
KR910012913A (ko) | 1991-08-08 |
MY104531A (en) | 1994-04-30 |
DE69017178D1 (de) | 1995-03-30 |
US5150470A (en) | 1992-09-22 |
CN1052740A (zh) | 1991-07-03 |
NZ236142A (en) | 1992-12-23 |
EP0437044B1 (en) | 1995-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2701179B2 (ja) | データ処理システム | |
US4875160A (en) | Method for implementing synchronous pipeline exception recovery | |
KR101148495B1 (ko) | 파이프라인 프로세서에서 조건 명령 실행을 촉진시키기 위해 로컬 조건 코드 레지스터를 이용하기 위한 방법 및 장치 | |
US5872985A (en) | Switching multi-context processor and method overcoming pipeline vacancies | |
US5019967A (en) | Pipeline bubble compression in a computer system | |
JP2503164B2 (ja) | デ―タ処理システム | |
CA1325285C (en) | Method and apparatus for ordering and queueing multiple memory requests | |
KR930004214B1 (ko) | 데이타 처리 시스템 | |
US5006980A (en) | Pipelined digital CPU with deadlock resolution | |
US5142631A (en) | System for queuing individual read or write mask and generating respective composite mask for controlling access to general purpose register | |
JP2597811B2 (ja) | データ処理システム | |
US6233670B1 (en) | Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing | |
US5778210A (en) | Method and apparatus for recovering the state of a speculatively scheduled operation in a processor which cannot be executed at the speculated time | |
US5867684A (en) | Method and processor that permit concurrent execution of a store multiple instruction and a dependent instruction | |
JPS63131230A (ja) | 情報処理装置 | |
WO1998013759A1 (fr) | Machine de traitement de donnees et systeme de traitement de donnees | |
JPH09258980A (ja) | 並列マルチタスキングの方法及びシステム | |
JPH087678B2 (ja) | 異なるアーキテクチヤのインストラクシヨンを処理するコンピユータ及びその結果の通信方法 | |
JPH08505725A (ja) | 命令実行を制御するため命令にタグを割り当てるシステム及び方法 | |
US6338134B1 (en) | Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data | |
US6003126A (en) | Special instruction register including allocation field utilized for temporary designation of physical registers as general registers | |
CN110659115A (zh) | 具有硬件辅助任务调度的多线程处理器核 | |
US6192461B1 (en) | Method and apparatus for facilitating multiple storage instruction completions in a superscalar processor during a single clock cycle | |
US5479622A (en) | Single cycle dispatch delay in a multiple instruction dispatch mechanism of a data processing system | |
JPH096611A (ja) | データ処理システムにおけるデータをバッファリングする方法およびシステム |