JPH02227769A - データ処理システム - Google Patents
データ処理システムInfo
- Publication number
- JPH02227769A JPH02227769A JP2003662A JP366290A JPH02227769A JP H02227769 A JPH02227769 A JP H02227769A JP 2003662 A JP2003662 A JP 2003662A JP 366290 A JP366290 A JP 366290A JP H02227769 A JPH02227769 A JP H02227769A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- processor
- floating point
- instructions
- fixed point
- 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.)
- Granted
Links
- 239000000872 buffer Substances 0.000 description 28
- 238000010926 purge Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 7
- 101100322582 Streptomyces coelicolor (strain ATCC BAA-471 / A3(2) / M145) add1 gene Proteins 0.000 description 5
- 238000007792 addition Methods 0.000 description 5
- 102100024348 Beta-adducin Human genes 0.000 description 3
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 102100034033 Alpha-adducin Human genes 0.000 description 2
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 2
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 2
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 101100490488 Mus musculus Add3 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は、データ処理システムに関し、より具体的には
、複数の処理装置を含むデータ処理に関する。
、複数の処理装置を含むデータ処理に関する。
B、従来の技術
従来のデータ処理システムは、一連の命令を一時に1つ
ずつ実行する。複数の処理装置を含むデータ処理システ
ムにおいては、通常それらの命令の復号は、各命令が命
令シーケンス中のその位置に応じて復号されるように、
集中化されている。
ずつ実行する。複数の処理装置を含むデータ処理システ
ムにおいては、通常それらの命令の復号は、各命令が命
令シーケンス中のその位置に応じて復号されるように、
集中化されている。
IBM テクニカル・ディスクロージャ・プルテン、V
ol、25、No、3B (1982年8月)、pp、
1637−1638所載の論文「マルチプロセッサ同期
化設計法(MultiprocessorSynchr
onization Design Method)
Jでは、複数のプロセッサの集まりが、各プロセッサが
指示された状態にあるかどうかを同時に決定できる方法
が開示されている。プロセスの終わりには、すべてのプ
ロセッサは、相互に一致した状況になる。
ol、25、No、3B (1982年8月)、pp、
1637−1638所載の論文「マルチプロセッサ同期
化設計法(MultiprocessorSynchr
onization Design Method)
Jでは、複数のプロセッサの集まりが、各プロセッサが
指示された状態にあるかどうかを同時に決定できる方法
が開示されている。プロセスの終わりには、すべてのプ
ロセッサは、相互に一致した状況になる。
IBM テクニカル・ディスクロージャ・プルテン、V
o 1.30、No、7 (1987年12月)、1)
p、98−99所載の論文「高度並列マルチプロセッサ
・システム用の同期化処理要素(Syn、chroni
zation Processing Elemen
ts forHighly Parallel Mul
tiprocessors Systems) Jは、
同期化処理要素の使用によって、高度並列マルチプロセ
ッサ・コンピュータ・システムにおける同期化オーバー
ヘッドを最小にできるように、多重処理コンピュータ・
アーキテクチャの機能を向上させる技法を開示している
。
o 1.30、No、7 (1987年12月)、1)
p、98−99所載の論文「高度並列マルチプロセッサ
・システム用の同期化処理要素(Syn、chroni
zation Processing Elemen
ts forHighly Parallel Mul
tiprocessors Systems) Jは、
同期化処理要素の使用によって、高度並列マルチプロセ
ッサ・コンピュータ・システムにおける同期化オーバー
ヘッドを最小にできるように、多重処理コンピュータ・
アーキテクチャの機能を向上させる技法を開示している
。
IBM テクニカル・ディスクロージャ・プルテン、V
ol、29、No、10 (1987年3月)、pp、
4658−4E387所載の論文「分散処理同期化及び
アドレス計算用の実行的アルゴリズム(Run−Tim
e Algorithm for Distribut
edProcessing 5ynchronizat
ion and AddressCalculati
ons) Jは、分散処理アーキテクチャの各分散処理
要素に常駐するワン・タイム・アルゴリズムを開示して
いる。これらのワン・タイム・アルゴリズムは、各分散
処理要素についてのアドレス計算をネットワーク内の他
の分散処理要素と調整された形でスケジューリングする
ことを実現する。
ol、29、No、10 (1987年3月)、pp、
4658−4E387所載の論文「分散処理同期化及び
アドレス計算用の実行的アルゴリズム(Run−Tim
e Algorithm for Distribut
edProcessing 5ynchronizat
ion and AddressCalculati
ons) Jは、分散処理アーキテクチャの各分散処理
要素に常駐するワン・タイム・アルゴリズムを開示して
いる。これらのワン・タイム・アルゴリズムは、各分散
処理要素についてのアドレス計算をネットワーク内の他
の分散処理要素と調整された形でスケジューリングする
ことを実現する。
C0発明が解決しようとする課題
本発明の目的は、個々のプロセッサによる個々の命令の
実行が実際には順序通りでなくても、見かけ上、命令全
体が順序通り実行されるように見える形で、一連の命令
を実行できる多重処理システムを提供することである。
実行が実際には順序通りでなくても、見かけ上、命令全
体が順序通り実行されるように見える形で、一連の命令
を実行できる多重処理システムを提供することである。
00課題を解決するための手段
本発明によれば、2つのプロセッサの動作を必要とする
一連の命令を記憶するための命令記憶回路を含む、デー
タ処理システムが提供される。それぞれ前記命令記憶回
路からの命令を実行するための、少なくとも2つのプロ
セッサが含まれているが、少なくとも1つのプロセッサ
に各命令をタスク指名するための命令タスク指名回路が
設けられている。少なくとも1つのプロセッサは、別の
プロセッサが命令シーケンス内の先行する命令を実行す
る前に、タスク指名された命令を実行するための回路を
含む。
一連の命令を記憶するための命令記憶回路を含む、デー
タ処理システムが提供される。それぞれ前記命令記憶回
路からの命令を実行するための、少なくとも2つのプロ
セッサが含まれているが、少なくとも1つのプロセッサ
に各命令をタスク指名するための命令タスク指名回路が
設けられている。少なくとも1つのプロセッサは、別の
プロセッサが命令シーケンス内の先行する命令を実行す
る前に、タスク指名された命令を実行するための回路を
含む。
好ましい実施例では、一連の命令を記憶する1個の命令
バッファを含むデータ処理システムが提供される。この
シーケンス内の少なくとも1つの命令は、少なくとも2
つの独立したプロセッサの動作を必要とする。命令記憶
回路は、2つのプロセッサに接続されている。各プロセ
ッサは、命令記憶回路からの命令を実行する。また本発
明には命令タスク指名回路が含まれており、少なくとも
1つのプロセッサに各命令をタスク指名する。少なくと
も1つのプロセッサは、別のプロセッサが命令シーケン
ス内の先行する命令を実行する前に、タスク指名された
命令を実行する能力をもつ。
バッファを含むデータ処理システムが提供される。この
シーケンス内の少なくとも1つの命令は、少なくとも2
つの独立したプロセッサの動作を必要とする。命令記憶
回路は、2つのプロセッサに接続されている。各プロセ
ッサは、命令記憶回路からの命令を実行する。また本発
明には命令タスク指名回路が含まれており、少なくとも
1つのプロセッサに各命令をタスク指名する。少なくと
も1つのプロセッサは、別のプロセッサが命令シーケン
ス内の先行する命令を実行する前に、タスク指名された
命令を実行する能力をもつ。
この好ましい実施例では、1つのプロセッサは固定小数
点数演算プロセッサである。、第2のプロセッサは浮動
小数点数演算プロセッサである。命令シーケンスは、固
定小数点プロセッサ用及び浮動小数点プロセッサ用の命
令を含んでいる。しかし、命令シーケンスはまた、浮動
小数点ロード命令及び記憶命令を含み、この好ましい実
施例では、それらの命令は固定小数点プロセッサと浮動
小数点プロセッサの両方の動作を必要とする。具体的に
は、固定小数点プロセッサは、浮動小数点命令に対する
ロード動作及び記憶動作を実行するためのアドレス計算
を実行する。
点数演算プロセッサである。、第2のプロセッサは浮動
小数点数演算プロセッサである。命令シーケンスは、固
定小数点プロセッサ用及び浮動小数点プロセッサ用の命
令を含んでいる。しかし、命令シーケンスはまた、浮動
小数点ロード命令及び記憶命令を含み、この好ましい実
施例では、それらの命令は固定小数点プロセッサと浮動
小数点プロセッサの両方の動作を必要とする。具体的に
は、固定小数点プロセッサは、浮動小数点命令に対する
ロード動作及び記憶動作を実行するためのアドレス計算
を実行する。
この実施例では、他のプロセッサが先行する命令を実行
する前に、タスク指名された命令を実行する能力をもつ
プロセッサはまた、その命令が他のプロセッサによっで
ある動作が実行されることを必要とするとき、順番がく
る前のその命令の実行を遅らせる能力をもつ。この例で
は、浮動小数点命令が固定小数点プロセッサの動作を必
要とするときは、浮動小数点プロセッサは浮動小数点命
令を実行しない。
する前に、タスク指名された命令を実行する能力をもつ
プロセッサはまた、その命令が他のプロセッサによっで
ある動作が実行されることを必要とするとき、順番がく
る前のその命令の実行を遅らせる能力をもつ。この例で
は、浮動小数点命令が固定小数点プロセッサの動作を必
要とするときは、浮動小数点プロセッサは浮動小数点命
令を実行しない。
またこの実施例では、他のプロセッサが先行する命令を
実行する前にタスク指名された命令を実行できるプロセ
ッサの能力には、さらに、割込み可能な命令が他の命令
の実行に対して適当な順序で実行されるまで、そのプロ
セッサに対する割込み条件を発生させることのできるタ
イプの割込み可能命令の実行を遅らせる能力が含まれる
。
実行する前にタスク指名された命令を実行できるプロセ
ッサの能力には、さらに、割込み可能な命令が他の命令
の実行に対して適当な順序で実行されるまで、そのプロ
セッサに対する割込み条件を発生させることのできるタ
イプの割込み可能命令の実行を遅らせる能力が含まれる
。
E、実施例
本発明はマルチプロセッサの同期化の問題を対象とする
。具体的に言うと、好ましい実施例では、固定小数点プ
ロセッサと浮動小数点プロセッサとの間の同期化が必要
である。この要件は、固定小数点プロセッサが、浮動小
数点プロセッサで浮動小数点ロード動作及び記憶動作を
実行するためのアドレス計算を実行しなければならない
ことから生ずる。同期化を必要とするもう1つの態様は
、浮動小数点プロセッサが固定小数点プロセッサの前に
割込み可能命令を実行する能力をもつことから生じる。
。具体的に言うと、好ましい実施例では、固定小数点プ
ロセッサと浮動小数点プロセッサとの間の同期化が必要
である。この要件は、固定小数点プロセッサが、浮動小
数点プロセッサで浮動小数点ロード動作及び記憶動作を
実行するためのアドレス計算を実行しなければならない
ことから生ずる。同期化を必要とするもう1つの態様は
、浮動小数点プロセッサが固定小数点プロセッサの前に
割込み可能命令を実行する能力をもつことから生じる。
この例では同期化により、浮動小数点プロセッサが固定
小数点プロセッサより前に割込み可能命令を実行できな
くなる。
小数点プロセッサより前に割込み可能命令を実行できな
くなる。
第1図で、固定小数点プロセッサ6は、複数の制御信号
を表す制御線29を介して浮動小数点プロセッサ8に接
続されている。固定小数点プロセッサ6及び浮動小数点
プロセッサ8はさらに、共通の命令キャッシュ10及び
1個のメモリ80に接続されている。固定小数点プロセ
ッサ6は命令キャッシュ10に接続された命令事前取出
しバッファ20を含む。命令事前取出しバッファ2oは
、命令キャッシュ10から命令シーケンスを受は取る。
を表す制御線29を介して浮動小数点プロセッサ8に接
続されている。固定小数点プロセッサ6及び浮動小数点
プロセッサ8はさらに、共通の命令キャッシュ10及び
1個のメモリ80に接続されている。固定小数点プロセ
ッサ6は命令キャッシュ10に接続された命令事前取出
しバッファ20を含む。命令事前取出しバッファ2oは
、命令キャッシュ10から命令シーケンスを受は取る。
すなわち、命令事前取出しバッファ20からの命令は、
復号回路22で復号され、レジスタ・ファイル24及び
制御回路30に情報を供給する。
復号回路22で復号され、レジスタ・ファイル24及び
制御回路30に情報を供給する。
好ましい実施例では、固定小数点プロセッサ6のレジス
タ24は、32個の個別にアドレス可能なレジスタを含
む。レジスタ・ファイル24の出力は、演算論理機構2
B (ALU)に供給される。
タ24は、32個の個別にアドレス可能なレジスタを含
む。レジスタ・ファイル24の出力は、演算論理機構2
B (ALU)に供給される。
ALU26の出力は、レジスタ・ファイル24に戻され
る。固定小数点プロセッサ6はまた、レジスタ・ファイ
ル24及び制御回路30に接続された入出力回路28を
含む。入出力回路28は外部メモリ80に接続されてい
る。固定小数点プロセッサ6の制御回路30は、固定小
数点プロセッサ8の内部動作、入出力回路28による外
部メモリ80のアクセス、及び浮動小数点プロセッサ8
との同期を制御する。
る。固定小数点プロセッサ6はまた、レジスタ・ファイ
ル24及び制御回路30に接続された入出力回路28を
含む。入出力回路28は外部メモリ80に接続されてい
る。固定小数点プロセッサ6の制御回路30は、固定小
数点プロセッサ8の内部動作、入出力回路28による外
部メモリ80のアクセス、及び浮動小数点プロセッサ8
との同期を制御する。
浮動小数点プロセッサ8は命令キャッシュ10に接続さ
れた命令事前取出しバッファ40を含む。
れた命令事前取出しバッファ40を含む。
命令事前取出しバッファ40から受は取った命令を復号
するための復号回路42が設けられている。
するための復号回路42が設けられている。
復号回路42は、浮動小数点プロセッサ制御回路52及
びレジスタ・ファイル44に入力を供給する。レジスタ
・ファイル44は、出力を指数加算回路50及び乗算回
路48に供給する。乗算器48の出力は加算器54に供
給され、加算器54は出力を丸め回路56に供給する。
びレジスタ・ファイル44に入力を供給する。レジスタ
・ファイル44は、出力を指数加算回路50及び乗算回
路48に供給する。乗算器48の出力は加算器54に供
給され、加算器54は出力を丸め回路56に供給する。
制御論理回路52はまた、指数加算器50、乗算器48
、加算器54、及び丸め回路56に制御入力を供給する
。
、加算器54、及び丸め回路56に制御入力を供給する
。
好ましい実施例では、指数加算器は、浮動小数点計算用
の指数演算を実行し、さらに乗算器48に対するシフト
制御を行なう。乗算器48はウォーレス・ツリー乗算器
で、桁上げ保管式加算器アーキテクチャを使用している
。指数加算回路50は、乗算のために指数を足したり、
引いたりする加算器回路である。この指数情報は、乗算
演算子の結果において加算のための加算オペランドを桁
合せするのに使用される。
の指数演算を実行し、さらに乗算器48に対するシフト
制御を行なう。乗算器48はウォーレス・ツリー乗算器
で、桁上げ保管式加算器アーキテクチャを使用している
。指数加算回路50は、乗算のために指数を足したり、
引いたりする加算器回路である。この指数情報は、乗算
演算子の結果において加算のための加算オペランドを桁
合せするのに使用される。
丸め回路56は加算器54からの結果を増分し、丸めた
結果をレジスタ・ファイル44に供給する。
結果をレジスタ・ファイル44に供給する。
浮動小数点プロセッサ8はまた、外部メモリ80に接続
された入出力回路46を含む。入出力回路46はさらに
制御回路52に接続されている。固定小数点プロセッサ
6におけると同様に、制御回路52は、浮動小数点プロ
セッサ8中で実行される浮動小数点数演算の内部制御を
行なう。さらに、浮動小数点制御回路52は、固定小数
点プロセッサ6からの同期化信号を受は取るために、線
29を介して固定小数点プロセッサ制御回路50に接続
されている。
された入出力回路46を含む。入出力回路46はさらに
制御回路52に接続されている。固定小数点プロセッサ
6におけると同様に、制御回路52は、浮動小数点プロ
セッサ8中で実行される浮動小数点数演算の内部制御を
行なう。さらに、浮動小数点制御回路52は、固定小数
点プロセッサ6からの同期化信号を受は取るために、線
29を介して固定小数点プロセッサ制御回路50に接続
されている。
好ましい実施例では、メモリ80は、必要な場合、固定
小数点プロセッサ6と浮動小数点プロセッサ8との間の
データ通信手段として働く。また、命令キャッシュ10
は、固定小数点プロセッサ6及び浮動小数点プロセッサ
8の両方のための命令シーケンスを記憶する。この実施
例では、命令シーケンスは、固定小数点プロセッサ6の
命令事前取出しバッファ20と浮動小数点プロセッサ8
の命令事前取出しバッファ40の両方に供給される。
小数点プロセッサ6と浮動小数点プロセッサ8との間の
データ通信手段として働く。また、命令キャッシュ10
は、固定小数点プロセッサ6及び浮動小数点プロセッサ
8の両方のための命令シーケンスを記憶する。この実施
例では、命令シーケンスは、固定小数点プロセッサ6の
命令事前取出しバッファ20と浮動小数点プロセッサ8
の命令事前取出しバッファ40の両方に供給される。
言い換えると、同じ命令が両方の事前取出しバッファ2
0及び40に供給される。
0及び40に供給される。
好ましい実施例では、固定小数点プロセッサ6は32ビ
ット幅処理装置である。浮動小数点プロセッサ8は、6
4ビット幅浮動小数点数演算装置である。
ット幅処理装置である。浮動小数点プロセッサ8は、6
4ビット幅浮動小数点数演算装置である。
第2図は、浮動小数点プロセッサ用の制御回路52にお
ける制御の流れを示している。具体的には、この制御の
流れは、固定小数点プロセッサ6と浮動小数点プロセッ
サ8との間の同期化機能の制御を示している。最初に、
命令事前取出しバッファ40からの命令が、第2図のス
テップ100で、復号回路42にシフトされる。ステッ
プ102で、この命令が復号される。ステップ104で
、復号された命令が割込み可能な命令かどうか判定され
る。この説明では、浮動小数点プロセッサ8に対するロ
ード命令及び記憶命令だけが割込み可能である。復号さ
れた命令が割込み可能でない場合は、ステップ106で
、その命令が浮動小数点命令かどうか判定される。浮動
小数点命令でない場合は、ステップ100に戻る。これ
は、復号中の命令が実際には固定小数点数演算命令であ
る場合に起こる。ステップ106に戻って、コード化さ
れた命令が浮動小数点命令である場合、ステップ108
でその浮動小数点命令が実行される。この場合も、その
命令の実行が完了すると、ステップ100に戻る。
ける制御の流れを示している。具体的には、この制御の
流れは、固定小数点プロセッサ6と浮動小数点プロセッ
サ8との間の同期化機能の制御を示している。最初に、
命令事前取出しバッファ40からの命令が、第2図のス
テップ100で、復号回路42にシフトされる。ステッ
プ102で、この命令が復号される。ステップ104で
、復号された命令が割込み可能な命令かどうか判定され
る。この説明では、浮動小数点プロセッサ8に対するロ
ード命令及び記憶命令だけが割込み可能である。復号さ
れた命令が割込み可能でない場合は、ステップ106で
、その命令が浮動小数点命令かどうか判定される。浮動
小数点命令でない場合は、ステップ100に戻る。これ
は、復号中の命令が実際には固定小数点数演算命令であ
る場合に起こる。ステップ106に戻って、コード化さ
れた命令が浮動小数点命令である場合、ステップ108
でその浮動小数点命令が実行される。この場合も、その
命令の実行が完了すると、ステップ100に戻る。
ステップ104に戻って、復号された命令が割込み可能
命令である場合は、ステップ110に進んで、パージ信
号及び同期化信号を監視する。パージ信号及び同期化信
号は、第1図では、固定小数点プロセッサ6の制御回路
30を浮動小数点プロセッサ8の制御回路52に接続す
る線29として示されている。ステップ112で、パー
ジ信号を受は取ったかどうか判定され、受は取った場合
は、ステップ116で、命令事前取出しバッファ40内
のすべての命令が消去され、ステップ100に戻る。ス
テップ112に戻って、パージ信号を受は取っていない
場合は、ステップ114で同期化信号が発生したかどう
か判定される。発生していない場合は、ステップ110
に戻って、この場合もこの2つの信号を監視する。同期
化信号を受は取った場合は、ステップ114からステッ
プ106に移って、実行される命令が浮動小数点命令で
あるかどうか判定する。このようにして、浮動小数点プ
ロセッサ8は、固定小数点プロセッサ6から同期化信号
を受は取る。しかし、命令が割込み可能でない場合は、
浮動小数点プロセッサ8は、固定小数点プロセッサ6か
らの同期化信号を必要としないことを理解されたい。し
たがって、浮動小数点プロセッサ8が、固定小数点プロ
セッサ6によって実行される命令から順番がくる前の命
令を実行することは、本発明によれば完全に許される。
命令である場合は、ステップ110に進んで、パージ信
号及び同期化信号を監視する。パージ信号及び同期化信
号は、第1図では、固定小数点プロセッサ6の制御回路
30を浮動小数点プロセッサ8の制御回路52に接続す
る線29として示されている。ステップ112で、パー
ジ信号を受は取ったかどうか判定され、受は取った場合
は、ステップ116で、命令事前取出しバッファ40内
のすべての命令が消去され、ステップ100に戻る。ス
テップ112に戻って、パージ信号を受は取っていない
場合は、ステップ114で同期化信号が発生したかどう
か判定される。発生していない場合は、ステップ110
に戻って、この場合もこの2つの信号を監視する。同期
化信号を受は取った場合は、ステップ114からステッ
プ106に移って、実行される命令が浮動小数点命令で
あるかどうか判定する。このようにして、浮動小数点プ
ロセッサ8は、固定小数点プロセッサ6から同期化信号
を受は取る。しかし、命令が割込み可能でない場合は、
浮動小数点プロセッサ8は、固定小数点プロセッサ6か
らの同期化信号を必要としないことを理解されたい。し
たがって、浮動小数点プロセッサ8が、固定小数点プロ
セッサ6によって実行される命令から順番がくる前の命
令を実行することは、本発明によれば完全に許される。
第3図には、固定小数点プロセッサ6に対する制御の流
れが示されている。ステップ200で、命令事前取出し
バッファ20からの次の命令が復号回路22にシフトさ
れる。ステップ202で、この命令が復号される。ステ
ップ204で、命令が固定小数点ユニット命令かそれと
も浮動小数点ユニット命令かが判定される。命令が固定
小数点ユニット命令でない場合は、ステップ200に進
む。しかし、命令が固定小数点ユニット命令である場合
は、ステップ206に進む。固定小数点ロード命令及び
浮動小数点ストア命令はどちらも、固定小数点プロセッ
サ6によって固定小数点命令と見なされることを理解さ
れたい。というのは、どちらも固定小数点プロセッサ6
による固定小数点アドレスの計算を必要としないからで
ある。したがって、固定小数点プロセッサθ内で演算を
実行する必要のない浮動小数点命令では、ステップ20
0に戻る。他方、固定小数点プロセッサ6の動作を必要
とする、あるいは浮動小数点ロード命令または記憶命令
を必要とする固定小数点ユニット命令では、その命令を
実行するために、ステップ206に進むようにする。ス
テップ208で、命令の実行が完了したかどうか判定さ
れ、完了していない場合は、ステップ206で命令の実
行が続行される。命令の実行が完了すると、ステップ2
10に進んで、その命令が実際に割込み可能かどうか判
定する。その命令が割込み可能でない場合は、ステップ
200に戻る。しかし、その命令が割込み可能な場合は
、ステップ212で、命令の割込みが実際に発生したか
どうか判定される。命令の割込みが発生していない場合
は、ステップ214に進んで、同期化信号を線29(第
1図)を介して浮動小数点プロセッサ8の制御回路52
に供給する。その後、ステップ200に戻る。
れが示されている。ステップ200で、命令事前取出し
バッファ20からの次の命令が復号回路22にシフトさ
れる。ステップ202で、この命令が復号される。ステ
ップ204で、命令が固定小数点ユニット命令かそれと
も浮動小数点ユニット命令かが判定される。命令が固定
小数点ユニット命令でない場合は、ステップ200に進
む。しかし、命令が固定小数点ユニット命令である場合
は、ステップ206に進む。固定小数点ロード命令及び
浮動小数点ストア命令はどちらも、固定小数点プロセッ
サ6によって固定小数点命令と見なされることを理解さ
れたい。というのは、どちらも固定小数点プロセッサ6
による固定小数点アドレスの計算を必要としないからで
ある。したがって、固定小数点プロセッサθ内で演算を
実行する必要のない浮動小数点命令では、ステップ20
0に戻る。他方、固定小数点プロセッサ6の動作を必要
とする、あるいは浮動小数点ロード命令または記憶命令
を必要とする固定小数点ユニット命令では、その命令を
実行するために、ステップ206に進むようにする。ス
テップ208で、命令の実行が完了したかどうか判定さ
れ、完了していない場合は、ステップ206で命令の実
行が続行される。命令の実行が完了すると、ステップ2
10に進んで、その命令が実際に割込み可能かどうか判
定する。その命令が割込み可能でない場合は、ステップ
200に戻る。しかし、その命令が割込み可能な場合は
、ステップ212で、命令の割込みが実際に発生したか
どうか判定される。命令の割込みが発生していない場合
は、ステップ214に進んで、同期化信号を線29(第
1図)を介して浮動小数点プロセッサ8の制御回路52
に供給する。その後、ステップ200に戻る。
命令の割込みが発生した場合は、ステップ216に進ん
で、(1)パージ信号を線29(第1図)を介して浮動
小数点プロセッサ8の制御回路52に供給し、(2)命
令事前取出しバッファ20のパージを行なう。ステップ
216が完了すると、ステップ200に戻る。
で、(1)パージ信号を線29(第1図)を介して浮動
小数点プロセッサ8の制御回路52に供給し、(2)命
令事前取出しバッファ20のパージを行なう。ステップ
216が完了すると、ステップ200に戻る。
割込みによって命令事前取出しバッファ20及び40が
パージされる理由は、割込み処理ソフトウェアが実行さ
れ、したがって割込みの発生前に存在した命令事前取出
しバッファ内の残りの命令は実行されないからであるこ
とを理解されたい。
パージされる理由は、割込み処理ソフトウェアが実行さ
れ、したがって割込みの発生前に存在した命令事前取出
しバッファ内の残りの命令は実行されないからであるこ
とを理解されたい。
命令事前取出しバッファ20及び40をパージすること
により、命令キャッシュ10は、割込み発生後、適切な
命令を実行のため自由にロードすることができる。
により、命令キャッシュ10は、割込み発生後、適切な
命令を実行のため自由にロードすることができる。
第3図で留意すべきもう1つの点は、命令が割込み可能
である場合、ステップ216でパージ信号が発生され、
あるいはステップ214で同期化信号が発生されること
である。第2図を思い出すと、命令が割込み可能でない
場合、浮動小数点ユニットは、固定小数点プロセッサ6
から同期化信号を受信するのを待たない。第4図及び第
5図に、2つのプロセッサ6及び8の動作を示す。第4
図には、命令のリストを、各命令の実行に必要なサイク
ル数及びそれらの命令が割込可能かどうかということと
共に示す。第4図にリストした例では、どの命令も割込
み可能ではない。しかし、1つの命令(FXU−MUL
3)は実行するのに4サイクルを要する。FPUは浮動
小数点ユニット命令を表わす。FXUは固定小数点ユニ
ット命令を表わす。したがって、浮動小数点ユニット命
令は浮動小数点プロセッサ8で実行され、固定小数点ユ
ニット命令は固定小数点プロセッサ6で実行される。
である場合、ステップ216でパージ信号が発生され、
あるいはステップ214で同期化信号が発生されること
である。第2図を思い出すと、命令が割込み可能でない
場合、浮動小数点ユニットは、固定小数点プロセッサ6
から同期化信号を受信するのを待たない。第4図及び第
5図に、2つのプロセッサ6及び8の動作を示す。第4
図には、命令のリストを、各命令の実行に必要なサイク
ル数及びそれらの命令が割込可能かどうかということと
共に示す。第4図にリストした例では、どの命令も割込
み可能ではない。しかし、1つの命令(FXU−MUL
3)は実行するのに4サイクルを要する。FPUは浮動
小数点ユニット命令を表わす。FXUは固定小数点ユニ
ット命令を表わす。したがって、浮動小数点ユニット命
令は浮動小数点プロセッサ8で実行され、固定小数点ユ
ニット命令は固定小数点プロセッサ6で実行される。
第5図は、いくつかのサイクル(1ないし10)の間の
固定小数点ユニット・プロセッサ6 (FXU)及び浮
動小数点プロセッサ8 (FPU)のパイプライン式動
作を示すタイミング図である。パイプライン動作には、
シフト、復号、及び実行が含まれる。同期化線及びパー
ジ線は、同期化信号またはパージ信号の発生を示す。
固定小数点ユニット・プロセッサ6 (FXU)及び浮
動小数点プロセッサ8 (FPU)のパイプライン式動
作を示すタイミング図である。パイプライン動作には、
シフト、復号、及び実行が含まれる。同期化線及びパー
ジ線は、同期化信号またはパージ信号の発生を示す。
第5図のサイクル1で、ADD1命令を、固定小数点ユ
ニット命令事前取出しバッファ20及び浮動小数点ユニ
ット命令事前取出しバッファ40が受は取る。サイクル
2で、ADDlが図のように両者によって復号される。
ニット命令事前取出しバッファ20及び浮動小数点ユニ
ット命令事前取出しバッファ40が受は取る。サイクル
2で、ADDlが図のように両者によって復号される。
またサイクル2で、ADD2命令が、プロセッサ6及び
8の事前取出しバッファ20及び40にシフトされる。
8の事前取出しバッファ20及び40にシフトされる。
サイクル3で、乗算(MUL3)命令がバッファ20及
び40にシフトされる。ADD2命令は、プロセッサ6
及び8によって復号される。しかし、ADD1命令は浮
動小数点命令なので、浮動小数点プロセッサ8によって
だけ実行される。サイクル4で、ADD4命令がシフト
され、MUL3命令が復号され、ADD2命令は固定小
数点命令なので、固定小数点プロセッサ6によって実行
される。サイクル5で、ADD5命令がバッファ20及
び40にシフトされる。ADD4命令が、プロセッサ6
及び8によって復号され、MUL3命令が固定小数点プ
ロセッサ6で実行される。サイクル6で、ADD5命令
はバッファ20内に残るが、ADD6命令は浮動小数点
プロセッサ8のバッファ40にロードされる。固定小数
点プロセッサ6内のADD5命令も、それが浮動小数点
プロセッサ8内にあるときと同様に復号される。乗算命
令(MUL3)は、引き続き固定小数点プロセッサ6内
で実行される。ADD4命令は、順番が(る前なのに、
浮動小数点プロセッサ8によって実行されることに留意
されたい。サイクル7で、MUL3命令が引き続き実行
され、ADD6命令が浮動小数点プロセッサ8で復号さ
れる。サイクル8で、MUL3命令が引き続き固定小数
点プロセッサ6で実行され、ADD6命令が浮動小数点
プロセッサ8で実行される。サイクル9で、ADD8命
令が、すでに浮動小数点プロセッサによって実行されて
いるのに、固定小数点プロセッサ6の固定小数点ユニッ
トで復号される。また、ADD5命令が固定小数点プロ
セッサ6で実行される。サイクル10では、ADD6命
令は浮動小数点命令であり、実際にはADD5命令より
前に(すなわち順番がくるより前に)実行されたので、
どちらのプロセッサも実行すべきパイプライン動作がな
い。
び40にシフトされる。ADD2命令は、プロセッサ6
及び8によって復号される。しかし、ADD1命令は浮
動小数点命令なので、浮動小数点プロセッサ8によって
だけ実行される。サイクル4で、ADD4命令がシフト
され、MUL3命令が復号され、ADD2命令は固定小
数点命令なので、固定小数点プロセッサ6によって実行
される。サイクル5で、ADD5命令がバッファ20及
び40にシフトされる。ADD4命令が、プロセッサ6
及び8によって復号され、MUL3命令が固定小数点プ
ロセッサ6で実行される。サイクル6で、ADD5命令
はバッファ20内に残るが、ADD6命令は浮動小数点
プロセッサ8のバッファ40にロードされる。固定小数
点プロセッサ6内のADD5命令も、それが浮動小数点
プロセッサ8内にあるときと同様に復号される。乗算命
令(MUL3)は、引き続き固定小数点プロセッサ6内
で実行される。ADD4命令は、順番が(る前なのに、
浮動小数点プロセッサ8によって実行されることに留意
されたい。サイクル7で、MUL3命令が引き続き実行
され、ADD6命令が浮動小数点プロセッサ8で復号さ
れる。サイクル8で、MUL3命令が引き続き固定小数
点プロセッサ6で実行され、ADD6命令が浮動小数点
プロセッサ8で実行される。サイクル9で、ADD8命
令が、すでに浮動小数点プロセッサによって実行されて
いるのに、固定小数点プロセッサ6の固定小数点ユニッ
トで復号される。また、ADD5命令が固定小数点プロ
セッサ6で実行される。サイクル10では、ADD6命
令は浮動小数点命令であり、実際にはADD5命令より
前に(すなわち順番がくるより前に)実行されたので、
どちらのプロセッサも実行すべきパイプライン動作がな
い。
第6図及び第7図は、やはり固定小数点プロセッサ6及
び浮動小数点プロセッサ8の命令の流れの例を示す。た
だし、この例では、浮動小数点ロード命令(LOAD)
が実行される。第7図は第5図に類似した形でパイプラ
イン式動作の性能を示す。したがって、浮動小数点ロー
ドに必要な動作について説明する前にパイプライン動作
の性能について説明する。それらの動作は同じである。
び浮動小数点プロセッサ8の命令の流れの例を示す。た
だし、この例では、浮動小数点ロード命令(LOAD)
が実行される。第7図は第5図に類似した形でパイプラ
イン式動作の性能を示す。したがって、浮動小数点ロー
ドに必要な動作について説明する前にパイプライン動作
の性能について説明する。それらの動作は同じである。
サイクル5で、浮動小数点ロード命令が、バッファ20
及び40にロードされる。サイクル6で、この命令が復
号される。ただし、固定小数点プロセッサ6は、3サイ
クルを要する多重MUL3を実行していることに留意さ
れたい。したがって、サイクル7で、ロード命令は、浮
動小数点プロセッサ8で復号されているのに、固定小数
点プロセッサ6で実行されるのを待つ。ロード命令は、
固定小数点プロセッサ6でのアドレス計算の実行を待た
なければならないので、実行されない。しかし、ロード
命令のあとからくるADDe命令は復号される。サイク
ル8で、ロード動作が固定小数点プロセッサ6で実行さ
れた後、同期化信号(SYNC)が固定小数点プロセッ
サ6から供給される。
及び40にロードされる。サイクル6で、この命令が復
号される。ただし、固定小数点プロセッサ6は、3サイ
クルを要する多重MUL3を実行していることに留意さ
れたい。したがって、サイクル7で、ロード命令は、浮
動小数点プロセッサ8で復号されているのに、固定小数
点プロセッサ6で実行されるのを待つ。ロード命令は、
固定小数点プロセッサ6でのアドレス計算の実行を待た
なければならないので、実行されない。しかし、ロード
命令のあとからくるADDe命令は復号される。サイク
ル8で、ロード動作が固定小数点プロセッサ6で実行さ
れた後、同期化信号(SYNC)が固定小数点プロセッ
サ6から供給される。
同期化信号が発生すると、浮動小数点プロセッサ8は、
ロード命令のための演算を実行する。最後に、ADD6
命令の実行が行なわれる。
ロード命令のための演算を実行する。最後に、ADD6
命令の実行が行なわれる。
第8図及び第9図も、命令シーケンスの別の例を示して
いる。この命令シーケンスは、第6図のそれに似ている
が、ロード命令は第6図では単に割込み可能な浮動小数
点ロード命令であったが、この場合は固定小数点ロード
命令であり、第8図で割込みを発生する。この場合も、
第8図の命令リストのタイミング図を第9図に示す。第
9図と第7図との相違はサイクル8にある。(固定小数
点ロード)命令が割込みを発生させたので、パージ信号
が固定小数点プロセッサ6から供給されることに留意さ
れたい。パージ信号を受は取ると、浮動小数点プロセッ
サ8は、命令事前取出しバッファ40の内容をパージす
る。この場合も、パージ信号が発生すると、浮動小数点
プロセッサ6も、その命令事前取出しバッファ20の内
容をパージする。
いる。この命令シーケンスは、第6図のそれに似ている
が、ロード命令は第6図では単に割込み可能な浮動小数
点ロード命令であったが、この場合は固定小数点ロード
命令であり、第8図で割込みを発生する。この場合も、
第8図の命令リストのタイミング図を第9図に示す。第
9図と第7図との相違はサイクル8にある。(固定小数
点ロード)命令が割込みを発生させたので、パージ信号
が固定小数点プロセッサ6から供給されることに留意さ
れたい。パージ信号を受は取ると、浮動小数点プロセッ
サ8は、命令事前取出しバッファ40の内容をパージす
る。この場合も、パージ信号が発生すると、浮動小数点
プロセッサ6も、その命令事前取出しバッファ20の内
容をパージする。
ロード命令及び記憶命令に対する割込みが起こるのは、
好ましい実施例ではページ不在(すなわち、メモリ内に
ない)が発生した場合である。言い換えれば、データ・
キャッシュが設けられており、ロードすべき命令がデー
タ・キャッシュ内またはメモリ内に含まれていない場合
は、このデータを外部メモリから取り出す動作を実行し
なければならない。外部メモリからこのデータを取り出
すには多数のサイクルを要し、この取出しを行なう命令
シーケンスは、割込みハンドラ内に含まれている。した
がって、命令キャッシュ10は、割込みが発生すると、
この取り出しを実行するための割込みハンドラ動作を含
むようになる。
好ましい実施例ではページ不在(すなわち、メモリ内に
ない)が発生した場合である。言い換えれば、データ・
キャッシュが設けられており、ロードすべき命令がデー
タ・キャッシュ内またはメモリ内に含まれていない場合
は、このデータを外部メモリから取り出す動作を実行し
なければならない。外部メモリからこのデータを取り出
すには多数のサイクルを要し、この取出しを行なう命令
シーケンスは、割込みハンドラ内に含まれている。した
がって、命令キャッシュ10は、割込みが発生すると、
この取り出しを実行するための割込みハンドラ動作を含
むようになる。
第1図は、共通の命令キャッシュ及び共通のメモリに接
続された2つの処理装置を示すブロック図。 第2図は、浮動小数点プロセッサ用の 制御機能を示す流れ図。 第3図は、固定小数点プロセッサ用の 制御機能を示す流れ図。 第4図は、割込みを発生しない浮動小数点命令及び固定
小数点命令のリストを示す図である。 第5図は、第4図の命令シーケンスの実行を示すタイミ
ング図である。 第6図は、1個の割込み可能命令を含む命令シーケンス
のリストを示す図である。 第7図は、第6図の命令シーケンスの実行を示すタイミ
ング図である。 第8図は、割込みが実際には起こらない割込み可能命令
を含む命令シーケンスのリストを示す図である。 第9図は、第8図の命令シーケンスの実行を示すタイミ
ング図である。 6・・・・固定小数点プロセッサ、8・・・・浮動小数
点プロセッサ、10・・・・命令キャッシュ、20.4
0・・・・命令事前取出しバッファ、22.42・・・
・復号回路、24.44・・・・レジスタ・ファイル、
26・・・・演算論理機構(ALU) 、28.46・
・・・入出力回路、30152・・・・制御回路、48
・・・・乗算回路、50・・・・指数加算回路、54・
・・・加算回路、56・・・・丸め回路。 出願人 インターナシロナル・ビジネス・マシーンズ
拳コーポレーション 代理人 弁理士 頓 宮 孝 − 9可−一一一 ・丁−一
続された2つの処理装置を示すブロック図。 第2図は、浮動小数点プロセッサ用の 制御機能を示す流れ図。 第3図は、固定小数点プロセッサ用の 制御機能を示す流れ図。 第4図は、割込みを発生しない浮動小数点命令及び固定
小数点命令のリストを示す図である。 第5図は、第4図の命令シーケンスの実行を示すタイミ
ング図である。 第6図は、1個の割込み可能命令を含む命令シーケンス
のリストを示す図である。 第7図は、第6図の命令シーケンスの実行を示すタイミ
ング図である。 第8図は、割込みが実際には起こらない割込み可能命令
を含む命令シーケンスのリストを示す図である。 第9図は、第8図の命令シーケンスの実行を示すタイミ
ング図である。 6・・・・固定小数点プロセッサ、8・・・・浮動小数
点プロセッサ、10・・・・命令キャッシュ、20.4
0・・・・命令事前取出しバッファ、22.42・・・
・復号回路、24.44・・・・レジスタ・ファイル、
26・・・・演算論理機構(ALU) 、28.46・
・・・入出力回路、30152・・・・制御回路、48
・・・・乗算回路、50・・・・指数加算回路、54・
・・・加算回路、56・・・・丸め回路。 出願人 インターナシロナル・ビジネス・マシーンズ
拳コーポレーション 代理人 弁理士 頓 宮 孝 − 9可−一一一 ・丁−一
Claims (1)
- 【特許請求の範囲】 少なくとも2つのプロセッサ手段による動作を要する一
連の命令を記憶するための命令記憶手段、前記命令記憶
手段からの命令を実行するための複数のプロセッサ手段
、及び 各命令を少なくとも前記プロセッサ手段の1つにタスク
指名するための命令タスク指名手段を含み、 前記プロセッサ手段の少なくとも1つが、他のプロセッ
サ手段が命令シーケンス中の前にある命令を実行する前
に、タスク指名された命令を実行するための手段を含む データ処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/297,783 US5075840A (en) | 1989-01-13 | 1989-01-13 | Tightly coupled multiprocessor instruction synchronization |
US297783 | 1989-01-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02227769A true JPH02227769A (ja) | 1990-09-10 |
JP2645669B2 JP2645669B2 (ja) | 1997-08-25 |
Family
ID=23147726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003662A Expired - Lifetime JP2645669B2 (ja) | 1989-01-13 | 1990-01-12 | データ処理システム |
Country Status (13)
Country | Link |
---|---|
US (1) | US5075840A (ja) |
EP (1) | EP0377991B1 (ja) |
JP (1) | JP2645669B2 (ja) |
KR (1) | KR930004214B1 (ja) |
CN (1) | CN1013067B (ja) |
AU (1) | AU618142B2 (ja) |
BR (1) | BR9000112A (ja) |
CA (1) | CA1321655C (ja) |
DE (1) | DE68927911T2 (ja) |
GB (1) | GB2227108A (ja) |
HK (1) | HK1000050A1 (ja) |
MY (1) | MY105754A (ja) |
PH (1) | PH30201A (ja) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293500A (en) * | 1989-02-10 | 1994-03-08 | Mitsubishi Denki K.K. | Parallel processing method and apparatus |
US5768575A (en) * | 1989-02-24 | 1998-06-16 | Advanced Micro Devices, Inc. | Semi-Autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for sepculative and out-of-order execution of complex instructions |
US5226126A (en) * | 1989-02-24 | 1993-07-06 | Nexgen Microsystems | Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags |
US5781753A (en) | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions |
US5185871A (en) * | 1989-12-26 | 1993-02-09 | International Business Machines Corporation | Coordination of out-of-sequence fetching between multiple processors using re-execution of instructions |
EP0547240B1 (en) * | 1991-07-08 | 2000-01-12 | Seiko Epson Corporation | Risc microprocessor architecture implementing fast trap and exception state |
EP1526446A3 (en) * | 1991-07-08 | 2007-04-04 | Seiko Epson Corporation | Extensible RISC microprocessor architecture |
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5961629A (en) * | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
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 |
GB2263565B (en) * | 1992-01-23 | 1995-08-30 | Intel Corp | Microprocessor with apparatus for parallel execution of instructions |
US5438668A (en) | 1992-03-31 | 1995-08-01 | Seiko Epson Corporation | System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer |
US6735685B1 (en) | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
WO1994008287A1 (en) | 1992-09-29 | 1994-04-14 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
US5410657A (en) * | 1992-10-09 | 1995-04-25 | International Business Machines Corporation | Method and system for high speed floating point exception enabled operation in a multiscalar processor system |
EP0596410B1 (en) * | 1992-11-04 | 1999-07-28 | Digital Equipment Corporation | Detection of command synchronisation error |
JP2549256B2 (ja) * | 1992-12-01 | 1996-10-30 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 浮動小数点プロセッサへデータを転送する方法及び装置 |
JP3182591B2 (ja) * | 1993-01-20 | 2001-07-03 | 株式会社日立製作所 | マイクロプロセッサ |
GB9305263D0 (en) * | 1993-03-15 | 1993-05-05 | Univ Westminster | Parrallel computation |
JP2596712B2 (ja) * | 1993-07-01 | 1997-04-02 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 近接した分岐命令を含む命令の実行を管理するシステム及び方法 |
CA2123442A1 (en) * | 1993-09-20 | 1995-03-21 | David S. Ray | Multiple execution unit dispatch with instruction dependency |
US5740398A (en) * | 1993-10-18 | 1998-04-14 | Cyrix Corporation | Program order sequencing of data in a microprocessor with write buffer |
US5471598A (en) * | 1993-10-18 | 1995-11-28 | Cyrix Corporation | Data dependency detection and handling in a microprocessor with write buffer |
US5615402A (en) * | 1993-10-18 | 1997-03-25 | Cyrix Corporation | Unified write buffer having information identifying whether the address belongs to a first write operand or a second write operand having an extra wide latch |
US5584009A (en) * | 1993-10-18 | 1996-12-10 | Cyrix Corporation | System and method of retiring store data from a write buffer |
US6219773B1 (en) | 1993-10-18 | 2001-04-17 | Via-Cyrix, Inc. | System and method of retiring misaligned write operands from a write buffer |
TW353732B (en) * | 1994-03-31 | 1999-03-01 | Ibm | Processing system and method of operation |
CN1048344C (zh) * | 1994-05-24 | 2000-01-12 | 禹成海 | 一种适度耦合多处理机系统的体系结构 |
US5465336A (en) * | 1994-06-30 | 1995-11-07 | International Business Machines Corporation | Fetch and store buffer that enables out-of-order execution of memory instructions in a data processing system |
US5666506A (en) * | 1994-10-24 | 1997-09-09 | International Business Machines Corporation | Apparatus to dynamically control the out-of-order execution of load/store instructions in a processor capable of dispatchng, issuing and executing multiple instructions in a single processor cycle |
US5805906A (en) * | 1996-10-15 | 1998-09-08 | International Business Machines Corporation | Method and apparatus for writing information to registers in a data processing system using a number of registers for processing instructions |
US5860014A (en) * | 1996-10-15 | 1999-01-12 | International Business Machines Corporation | Method and apparatus for improved recovery of processor state using history buffer |
US5870612A (en) * | 1996-10-15 | 1999-02-09 | International Business Machines Corporation | Method and apparatus for condensed history buffer |
US6070235A (en) * | 1997-07-14 | 2000-05-30 | International Business Machines Corporation | Data processing system and method for capturing history buffer data |
US6065086A (en) * | 1998-02-17 | 2000-05-16 | International Business Machines Corporation | Demand based sync bus operation |
US6564298B2 (en) | 2000-12-22 | 2003-05-13 | Intel Corporation | Front end system having multiple decoding modes |
US20070083192A1 (en) * | 2005-10-07 | 2007-04-12 | Eric Welch | Apparatus and method for ablation of targeted tissue |
TWI348652B (en) * | 2005-10-17 | 2011-09-11 | Via Tech Inc | Driver assisted asynchronous command processing |
US20070157030A1 (en) * | 2005-12-30 | 2007-07-05 | Feghali Wajdi K | Cryptographic system component |
US20070192571A1 (en) * | 2006-02-14 | 2007-08-16 | Feghali Wajdi K | Programmable processing unit providing concurrent datapath operation of multiple instructions |
CN102617431B (zh) * | 2011-01-28 | 2013-09-25 | 天津滨海索尔特生物技术中心有限公司 | 用无机碱提取盐藻中的β-胡萝卜素的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3793631A (en) * | 1972-09-22 | 1974-02-19 | Westinghouse Electric Corp | Digital computer apparatus operative with jump instructions |
JPS6231379A (ja) * | 1985-07-31 | 1987-02-10 | Nippon Kogaku Kk <Nikon> | 超音波モータ |
JPS6246341A (ja) * | 1985-08-23 | 1987-02-28 | Hitachi Ltd | 付加プロセツサの入出力制御方法 |
EP0226226A2 (en) * | 1985-12-19 | 1987-06-24 | Wang Laboratories Inc. | System for floating point operations |
JPS6365528A (ja) * | 1986-09-06 | 1988-03-24 | Nec Corp | コ・プロセツサ |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3229260A (en) * | 1962-03-02 | 1966-01-11 | Ibm | Multiprocessing computer system |
US3896418A (en) * | 1971-08-31 | 1975-07-22 | Texas Instruments Inc | Synchronous multi-processor system utilizing a single external memory unit |
GB1441458A (en) * | 1972-06-28 | 1976-06-30 | Texas Instruments Inc | Stored programme data processing for parallel processing of programme segment |
CH556576A (de) * | 1973-03-28 | 1974-11-29 | Hasler Ag | Einrichtung zur synchronisierung dreier rechner. |
FR2471631B1 (fr) * | 1979-12-11 | 1986-02-21 | Cii Honeywell Bull | Dispositif de synchronisation et d'affectation de processus entre plusieurs processeurs dans un systeme de traitement de l'information |
JPS6043535B2 (ja) * | 1979-12-29 | 1985-09-28 | 富士通株式会社 | 情報処理装置 |
JPS58114274A (ja) * | 1981-12-28 | 1983-07-07 | Hitachi Ltd | デ−タ処理装置 |
US4498136A (en) * | 1982-12-15 | 1985-02-05 | Ibm Corporation | Interrupt processor |
US4564901A (en) * | 1983-07-21 | 1986-01-14 | Burroughs Corporation | Method of performing a sequence of related activities via multiple asynchronously intercoupled digital processors |
JP2610821B2 (ja) * | 1986-01-08 | 1997-05-14 | 株式会社日立製作所 | マルチプロセツサシステム |
JPS63282528A (ja) * | 1987-02-04 | 1988-11-18 | Sharp Corp | 中央処理装置実行命令の検出方式 |
ATE85853T1 (de) * | 1987-03-20 | 1993-03-15 | Digital Equipment Corp | Vorrichtung und verfahren zur synchronisation von arithmetischen exceptionen in parallelen pipeline-ausfuehrungseinheiten. |
EP0312764A3 (en) * | 1987-10-19 | 1991-04-10 | International Business Machines Corporation | A data processor having multiple execution units for processing plural classes of instructions in parallel |
US4937741A (en) * | 1988-04-28 | 1990-06-26 | The Charles Stark Draper Laboratory, Inc. | Synchronization of fault-tolerant parallel processing systems |
-
1989
- 1989-01-13 US US07/297,783 patent/US5075840A/en not_active Expired - Fee Related
- 1989-08-18 CA CA000608713A patent/CA1321655C/en not_active Expired - Fee Related
- 1989-11-02 AU AU44337/89A patent/AU618142B2/en not_active Ceased
- 1989-12-09 CN CN89109161A patent/CN1013067B/zh not_active Expired
- 1989-12-13 PH PH39687A patent/PH30201A/en unknown
- 1989-12-13 KR KR1019890018447A patent/KR930004214B1/ko not_active IP Right Cessation
- 1989-12-13 MY MYPI89001751A patent/MY105754A/en unknown
- 1989-12-20 DE DE68927911T patent/DE68927911T2/de not_active Expired - Fee Related
- 1989-12-20 EP EP89313401A patent/EP0377991B1/en not_active Expired - Lifetime
- 1989-12-20 GB GB8928776A patent/GB2227108A/en not_active Withdrawn
-
1990
- 1990-01-12 BR BR909000112A patent/BR9000112A/pt not_active Application Discontinuation
- 1990-01-12 JP JP2003662A patent/JP2645669B2/ja not_active Expired - Lifetime
-
1997
- 1997-07-23 HK HK97101597A patent/HK1000050A1/xx not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3793631A (en) * | 1972-09-22 | 1974-02-19 | Westinghouse Electric Corp | Digital computer apparatus operative with jump instructions |
JPS6231379A (ja) * | 1985-07-31 | 1987-02-10 | Nippon Kogaku Kk <Nikon> | 超音波モータ |
JPS6246341A (ja) * | 1985-08-23 | 1987-02-28 | Hitachi Ltd | 付加プロセツサの入出力制御方法 |
EP0226226A2 (en) * | 1985-12-19 | 1987-06-24 | Wang Laboratories Inc. | System for floating point operations |
JPS6365528A (ja) * | 1986-09-06 | 1988-03-24 | Nec Corp | コ・プロセツサ |
Also Published As
Publication number | Publication date |
---|---|
EP0377991A3 (en) | 1991-07-31 |
JP2645669B2 (ja) | 1997-08-25 |
EP0377991A2 (en) | 1990-07-18 |
HK1000050A1 (en) | 1997-10-24 |
AU618142B2 (en) | 1991-12-12 |
MY105754A (en) | 1995-01-30 |
KR930004214B1 (ko) | 1993-05-21 |
EP0377991B1 (en) | 1997-03-26 |
CN1013067B (zh) | 1991-07-03 |
DE68927911T2 (de) | 1997-09-18 |
AU4433789A (en) | 1990-07-19 |
CN1044177A (zh) | 1990-07-25 |
BR9000112A (pt) | 1990-10-23 |
GB2227108A (en) | 1990-07-18 |
DE68927911D1 (de) | 1997-04-30 |
PH30201A (en) | 1997-02-05 |
KR900012155A (ko) | 1990-08-03 |
GB8928776D0 (en) | 1990-02-28 |
CA1321655C (en) | 1993-08-24 |
US5075840A (en) | 1991-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH02227769A (ja) | データ処理システム | |
EP0437044B1 (en) | Data processing system with instruction tag apparatus | |
EP0207665B1 (en) | Bidirectional branch prediction and optimization | |
US6374347B1 (en) | Register file backup queue | |
US4782441A (en) | Vector processor capable of parallely executing instructions and reserving execution status order for restarting interrupted executions | |
US4594655A (en) | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions | |
JP2597811B2 (ja) | データ処理システム | |
EP0378830B1 (en) | Method and apparatus for handling multiple condition codes as for a parallel pipeline computer | |
US5699279A (en) | Optimized binary adders and comparators for inputs having different widths | |
EP0762270B1 (en) | Microprocessor with load/store operation to/from multiple registers | |
US5043867A (en) | Exception reporting mechanism for a vector processor | |
EP0682309A2 (en) | Data processing system adapted for single instruction branching on multiple condition codes from plural processing elements | |
US5590351A (en) | Superscalar execution unit for sequential instruction pointer updates and segment limit checks | |
US20030005261A1 (en) | Method and apparatus for attaching accelerator hardware containing internal state to a processing core | |
JP3207124B2 (ja) | カウント/リンク・レジスタ変更命令の投機実行をサポートする方法及び装置 | |
JPH03286332A (ja) | デジタルデータ処理装置 | |
JP2620505B2 (ja) | スーパースカラ・プロセッサ・システムの同期化効率を向上させる方法およびシステム | |
EP0762271A2 (en) | Early completion of floating-point operations during load/store multiple operations | |
EP1050805B1 (en) | Transfer of guard values in a computer system | |
CN112579168B (zh) | 指令执行单元、处理器以及信号处理方法 | |
EP0314342B1 (en) | Parallel pipelined computer processor | |
JPS61136132A (ja) | 情報処理装置 | |
KR20010085353A (ko) | 고속 컨텍스트 전환을 갖는 컴퓨터 | |
JPH10283178A (ja) | 命令を発行するための方法及びシステム | |
JPH0279122A (ja) | 浮動小数点演算機構 |