JPS63131230A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS63131230A JPS63131230A JP61276554A JP27655486A JPS63131230A JP S63131230 A JPS63131230 A JP S63131230A JP 61276554 A JP61276554 A JP 61276554A JP 27655486 A JP27655486 A JP 27655486A JP S63131230 A JPS63131230 A JP S63131230A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- arithmetic
- execution
- sent
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or 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 OR CALCULATING; 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 OR CALCULATING; 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/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/38585—Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はいわゆる汎用コンピュータ等の、概念的に命令
が1つずつ処理されるコンピュータに係り、特に処理速
度向上のために複数の演算器にて複数の命令を並列に演
算する方式を実現する上で重要となる制御方式に関する
。
が1つずつ処理されるコンピュータに係り、特に処理速
度向上のために複数の演算器にて複数の命令を並列に演
算する方式を実現する上で重要となる制御方式に関する
。
概念的に命令が1つずつ処理されるコンピュータのうち
、複数の演算器にて複数の命令を並列に演算する方式を
とるものの従来例の1つとして、米国クレイリサーチ社
のクレイ1がある。クレイ1においては、概念的に順序
づけられた2つの命令が、異なる演算器で演算され得る
ため、結果の書き込み順序が概念的順序の逆となること
がある。
、複数の演算器にて複数の命令を並列に演算する方式を
とるものの従来例の1つとして、米国クレイリサーチ社
のクレイ1がある。クレイ1においては、概念的に順序
づけられた2つの命令が、異なる演算器で演算され得る
ため、結果の書き込み順序が概念的順序の逆となること
がある。
米国IBM社の370アーキテクチャ−において、クレ
イ1で起こるような結果の書き込み順序の逆転が起こる
と、いくつかの問題点が発生する。
イ1で起こるような結果の書き込み順序の逆転が起こる
と、いくつかの問題点が発生する。
この問題点は、概念的に先行する命令の結果の書き込み
、すなわち、実行の完了した時点で、後続命令の処理を
中断する必要が生じた時、既に記憶装置に後続命令の結
果の書き込みが行われていると、同アーキテクチャの仕
様に従い、記憶装置を後続命令による変更の直前の状態
に復元しなければならないことから生ずる。これを行う
には、結果の書き込みが無効化される可能性のある場合
は、書き込みによって失われるフィールドのデータを退
避しておき、書き込み後方−前の状態に復元する必要の
生じた場合には、退避しておいたデータを再び書キ込む
といった動作が必要となる。このような動作そのものは
、従来機種においても別の理由で行われている例はある
が、制御が複雑になること、金物が増加すること、復元
に時間を要するため、復元が頻発すると処理速度の低下
要因となることなど、いくつかの欠点がある。並列演算
を行い、結果の書き込み順序の逆転を許す方式において
、上述のような復元動作が必要となるのは。
、すなわち、実行の完了した時点で、後続命令の処理を
中断する必要が生じた時、既に記憶装置に後続命令の結
果の書き込みが行われていると、同アーキテクチャの仕
様に従い、記憶装置を後続命令による変更の直前の状態
に復元しなければならないことから生ずる。これを行う
には、結果の書き込みが無効化される可能性のある場合
は、書き込みによって失われるフィールドのデータを退
避しておき、書き込み後方−前の状態に復元する必要の
生じた場合には、退避しておいたデータを再び書キ込む
といった動作が必要となる。このような動作そのものは
、従来機種においても別の理由で行われている例はある
が、制御が複雑になること、金物が増加すること、復元
に時間を要するため、復元が頻発すると処理速度の低下
要因となることなど、いくつかの欠点がある。並列演算
を行い、結果の書き込み順序の逆転を許す方式において
、上述のような復元動作が必要となるのは。
割込みが起った場合、分岐命令において、分岐判定が確
定する前に予測したストリーム上の命令処理を行う場合
等である。
定する前に予測したストリーム上の命令処理を行う場合
等である。
割込みの発生する頻度は少ないと考えられるが、分岐命
令の出現頻度はきわめて高く、この時に上述の復元動作
が必要となると、処理速度の低下が無視できず問題であ
る。
令の出現頻度はきわめて高く、この時に上述の復元動作
が必要となると、処理速度の低下が無視できず問題であ
る。
本発明は、並列演算によって処理速度の向上を図る上で
、上述のような復元動作の必要でない。
、上述のような復元動作の必要でない。
従って、制御のより簡単で、金物のより少ない、そして
、復元動作による処理速度低下のないコンピュータを提
供することにある。
、復元動作による処理速度低下のないコンピュータを提
供することにある。
上記目的は、本発明においては、並列に演算実行する命
令グループの間では演算実行の追い抜きを行わないこと
で実現する。これは、N個ある演算手段のうち、演算実
行の追い抜きを許したくないMlllの演算手段に対し
て、それらが全て空きとなることを検出する検出手段と
、該検出手段の検出結果が否である間は、該M個のいず
れの演算手段においても後続命令の演算実行を待ち合わ
せるだめの待ち合わせ手段を設けることで達成される。
令グループの間では演算実行の追い抜きを行わないこと
で実現する。これは、N個ある演算手段のうち、演算実
行の追い抜きを許したくないMlllの演算手段に対し
て、それらが全て空きとなることを検出する検出手段と
、該検出手段の検出結果が否である間は、該M個のいず
れの演算手段においても後続命令の演算実行を待ち合わ
せるだめの待ち合わせ手段を設けることで達成される。
上記M個の演算器で実行されている命令の演算実行が全
て完了しないうちは、上記検出手段の検出結果は否とな
り、この間は、該′M個の演算器のいずれにおいても後
続命令の演算実行が開始しないように、上記待ち合わせ
手段が作用する。従って、該M個の演算器にて同時に演
算実行されている1つμ上の命令を命令グループと呼ぶ
とすると。
て完了しないうちは、上記検出手段の検出結果は否とな
り、この間は、該′M個の演算器のいずれにおいても後
続命令の演算実行が開始しないように、上記待ち合わせ
手段が作用する。従って、該M個の演算器にて同時に演
算実行されている1つμ上の命令を命令グループと呼ぶ
とすると。
命令グループ間では演算実行の追い抜きがないこととな
る。汎用コンピュータに対してはMの値は器 高々数個でよいため、このM個の演算における命へ 令の同時実行に伴う、概念的順序性保障のみ行えばよい
こととなる。これは従来のように、書き込み前の記憶域
のデータを予め待避しておき、オーバランが発生した時
にそれを回復するという方法で解決されるっそしてMが
小さいことからこのだめの処理時間は十分小さくて済む
。あるいはまた同一命令グループ内での演算実行の追い
抜き抑止手段を用いる場合は、上記退避1回復すら必要
としない。
る。汎用コンピュータに対してはMの値は器 高々数個でよいため、このM個の演算における命へ 令の同時実行に伴う、概念的順序性保障のみ行えばよい
こととなる。これは従来のように、書き込み前の記憶域
のデータを予め待避しておき、オーバランが発生した時
にそれを回復するという方法で解決されるっそしてMが
小さいことからこのだめの処理時間は十分小さくて済む
。あるいはまた同一命令グループ内での演算実行の追い
抜き抑止手段を用いる場合は、上記退避1回復すら必要
としない。
以下本発明の一実施例を図をもって説明する。
第1図は本発明を適用した情報処理装置の全体構成であ
る。1は記憶装置であり、プログラム及びデータが格納
される。2は命令制御装置であり記憶装置1から命令を
読み出し、解読を行い、必要ならオペランドを記憶装置
1から読み出す。このため、命令読み出しアドレスMA
!及びオペランド読み出しアドレスM A l= M
A Nが命令制御装置2から記憶装置1へ、また命令デ
ータMD+及びオペランドデータM D l−M D
Nが記憶装置1から命令制御装置2へ送出される。
る。1は記憶装置であり、プログラム及びデータが格納
される。2は命令制御装置であり記憶装置1から命令を
読み出し、解読を行い、必要ならオペランドを記憶装置
1から読み出す。このため、命令読み出しアドレスMA
!及びオペランド読み出しアドレスM A l= M
A Nが命令制御装置2から記憶装置1へ、また命令デ
ータMD+及びオペランドデータM D l−M D
Nが記憶装置1から命令制御装置2へ送出される。
命令制御装置2では、後述するようにN個の命令解読回
路があり、各解読回路毎に、それによって解読が済み演
算実行待ちである命令が存在することを示す命令準備完
了信号IRDYI〜IRDYsを並列演算制御回路5に
送出する。
路があり、各解読回路毎に、それによって解読が済み演
算実行待ちである命令が存在することを示す命令準備完
了信号IRDYI〜IRDYsを並列演算制御回路5に
送出する。
3〜4はN個の演算器(El−EN)であり、これら全
体の演算実行制御を並列演算制御回路5が行う。5から
は各演算器E+(t−t〜N)毎に演算実行開始信号B
OP+が送出され、また各演算器からは演算実行終了信
号E OP +が送シ返される。E OP I信号は、
オンとなった後はElに新たなりOP I信号が入力さ
れ、演算実行が開始されるまではずっとオンの1ま保持
される。
体の演算実行制御を並列演算制御回路5が行う。5から
は各演算器E+(t−t〜N)毎に演算実行開始信号B
OP+が送出され、また各演算器からは演算実行終了信
号E OP +が送シ返される。E OP I信号は、
オンとなった後はElに新たなりOP I信号が入力さ
れ、演算実行が開始されるまではずっとオンの1ま保持
される。
命令制御装置2からは、N個の命令解読回路で解読され
た命令解読情報OPl〜OP N及び各命令のオペラン
ドDI−DNが演算器E1〜EHに送出される。またE
1〜ENからは、それぞれ演算結果几1〜RNが命令制
御装置i12に送出される。
た命令解読情報OPl〜OP N及び各命令のオペラン
ドDI−DNが演算器E1〜EHに送出される。またE
1〜ENからは、それぞれ演算結果几1〜RNが命令制
御装置i12に送出される。
並列演算制御回路5からは、BOP 1=BOPN信号
が命令制御装置2にも送出される。
が命令制御装置2にも送出される。
また、演算器ENからは1分岐命令の分岐成立信号TK
Nが命令制御装置2に送出される。
Nが命令制御装置2に送出される。
第2図は並列演算制御回路5の構成である。
22はANDゲートであり、EOP1〜EOPN信号を
入力とし、これらが全て′1”のときのみ演算準備完了
信号ERDYを1”とし、1つでも”Onの入力があれ
ばERDY信号を0”とする。
入力とし、これらが全て′1”のときのみ演算準備完了
信号ERDYを1”とし、1つでも”Onの入力があれ
ばERDY信号を0”とする。
23〜24はANDゲートであシ、演算器Ex〜ENに
対し、演算実行開始信号BOPt〜BOP Nを送出す
る。23〜24の各ANDゲートにはIRDY+及びE
RDYが入力されその論理積をBOPIとして出力する
。BOP t カ” 1 ’ トl’j、命令解読回路
1によって解読済みの命令があり。
対し、演算実行開始信号BOPt〜BOP Nを送出す
る。23〜24の各ANDゲートにはIRDY+及びE
RDYが入力されその論理積をBOPIとして出力する
。BOP t カ” 1 ’ トl’j、命令解読回路
1によって解読済みの命令があり。
しかも対応する演算器EIが空いているため、該命令を
E+にセットアツプし、演算実行を開始することを示し
ている。
E+にセットアツプし、演算実行を開始することを示し
ている。
BOPIが”1”となると演算器E+では命令制御装置
2から送出されるOPI及びD−をとり込み、これによ
って該命令の演算実行を開始する。
2から送出されるOPI及びD−をとり込み、これによ
って該命令の演算実行を開始する。
演算実行が開始されるとE、はEOPIをオフとし、演
算実行が終了するとE+は再びEOPIをオンとし、空
き状態となったことを示す。E+は例えばマイクロプロ
グラム制御による従来技術で構成される。
算実行が終了するとE+は再びEOPIをオンとし、空
き状態となったことを示す。E+は例えばマイクロプロ
グラム制御による従来技術で構成される。
以上のような動作によって、演算器E!〜EHの全てが
空いて始めてERI)Yが′″1″となり。
空いて始めてERI)Yが′″1″となり。
これによってBOP +が11”となるので、この時点
まで後続の命令グループの演算実行が待ち合わされるこ
とになる。
まで後続の命令グループの演算実行が待ち合わされるこ
とになる。
ここで、N個の演算器のうちM個の演算器についてのみ
上記の、命令グループ間の逐次実行を行わせる場合には
、ANDゲート220入力を該M個の演算器に対応した
演算実行終了信号とすることで容易に実現できる。
上記の、命令グループ間の逐次実行を行わせる場合には
、ANDゲート220入力を該M個の演算器に対応した
演算実行終了信号とすることで容易に実現できる。
第3図に命令制御装置2の構成を示す。301は命令読
み出し回路であり、現在実行中の命令に引き続く複数命
令を先行フェッチする。301における命令の先行フェ
ッチは従来技術によって容易に構成することができる。
み出し回路であり、現在実行中の命令に引き続く複数命
令を先行フェッチする。301における命令の先行フェ
ッチは従来技術によって容易に構成することができる。
301からは命令読み出しアドレスMA lが記憶装置
1に送出され。
1に送出され。
記憶装置1から命令データMDIが送られてくる。
301は先行フェッチした複数命令を同時にN個ある命
令解読回路302〜303 (DBCI−DECN)に
切シ出すことができる。この構成と制御は例えば、!F
y門チ蝉〜/767ダツ(命令語解読ユニット。
令解読回路302〜303 (DBCI−DECN)に
切シ出すことができる。この構成と制御は例えば、!F
y門チ蝉〜/767ダツ(命令語解読ユニット。
鳥居能5名)に示しであるように、DEClにアドレス
A上の命令を切り出すと同時にその命令の命令長りを解
読し、この命令長りに従ってDEC2にアドレス(A+
L)上の命令を切シ出す、という技術によシ容易に実現
することができる。解読した命令は命令待ち行列レジス
タ304・〜305(I Q r〜IQN)に格納され
、同時にIQt〜IQHに解読済み命令が格納されてい
ることを表示する。命令準備完了表示回路306〜30
7(IRDYCt〜IRDYCN)に解読完了信号D8
゜〜U 8 Nが送出される。IQt〜IQNはそれぞ
れ先入れ先出しく FI FO)アルゴリズムに従って
命令解読情報の格納ととシ出しを制御する。とり出した
命令解読情報OPl〜OP NはE1〜ENに送出され
るとともに、このうちオペランドレジスタ番号が汎用レ
ジスタ(GR) 308に送出される。これらのレジス
タ番号に従ってレジスタオペランドがG l−G Nと
して読み出される。DEC。
A上の命令を切り出すと同時にその命令の命令長りを解
読し、この命令長りに従ってDEC2にアドレス(A+
L)上の命令を切シ出す、という技術によシ容易に実現
することができる。解読した命令は命令待ち行列レジス
タ304・〜305(I Q r〜IQN)に格納され
、同時にIQt〜IQHに解読済み命令が格納されてい
ることを表示する。命令準備完了表示回路306〜30
7(IRDYCt〜IRDYCN)に解読完了信号D8
゜〜U 8 Nが送出される。IQt〜IQNはそれぞ
れ先入れ先出しく FI FO)アルゴリズムに従って
命令解読情報の格納ととシ出しを制御する。とり出した
命令解読情報OPl〜OP NはE1〜ENに送出され
るとともに、このうちオペランドレジスタ番号が汎用レ
ジスタ(GR) 308に送出される。これらのレジス
タ番号に従ってレジスタオペランドがG l−G Nと
して読み出される。DEC。
〜DECNで解読された情報のうち、オペランドアドレ
スを生成するだめのアドレスレジスタ番号X I−X
NがGRに、また変位値DSP t−DSP Nがアド
レス加算器309〜310 (AAl−AAに)に送出
される。X1〜XNで指定されたGRの内容が読み出さ
れ、A A t ”” A A wに送出され、上記D
SP1〜D8PNと加算され、オペランドアドレスMA
s〜MANとして出力される。
スを生成するだめのアドレスレジスタ番号X I−X
NがGRに、また変位値DSP t−DSP Nがアド
レス加算器309〜310 (AAl−AAに)に送出
される。X1〜XNで指定されたGRの内容が読み出さ
れ、A A t ”” A A wに送出され、上記D
SP1〜D8PNと加算され、オペランドアドレスMA
s〜MANとして出力される。
MA 1〜M A sは記憶装置1に送出され、対応す
るオペランドデータMDs〜MDNが記憶装置から読み
出され、命令制御装置2の中のオペランドバッファ31
1〜312(OB1〜0BN)に格納される。OB1〜
OBNもIQt〜IQNと同様の制御によって読み出さ
れ、各々の出力が前述の01〜GNとともに、オペラン
ドデータD1〜Dsとして演算器E!〜ENに送出され
る。
るオペランドデータMDs〜MDNが記憶装置から読み
出され、命令制御装置2の中のオペランドバッファ31
1〜312(OB1〜0BN)に格納される。OB1〜
OBNもIQt〜IQNと同様の制御によって読み出さ
れ、各々の出力が前述の01〜GNとともに、オペラン
ドデータD1〜Dsとして演算器E!〜ENに送出され
る。
E!〜ENからの演算結果几t”RにはGRに書き込ま
れる。
れる。
一方、命令準備完了表示回路I RDYCr〜IRDY
CNにはE1〜ENからBOPt〜BOPNが送出され
、また、命令準備完了信号IRDYI〜IRDYNを出
力し、これらを並列演算制御回路5に送出する。
CNにはE1〜ENからBOPt〜BOPNが送出され
、また、命令準備完了信号IRDYI〜IRDYNを出
力し、これらを並列演算制御回路5に送出する。
LRDYCIはI Q tに対応し、I Q Iに格納
されている命令数が1以上存在する時にIRDY+信号
をオンとする。このため、初期値を0とすると。
されている命令数が1以上存在する時にIRDY+信号
をオンとする。このため、初期値を0とすると。
DS+信号が”1”となると命令数を1増加させ。
B OP +信号が61#となると命令数を1減少させ
るような命令数カウンタ及び、カウンタの値が1以上の
時″1nとなる比較回路により構成することができる。
るような命令数カウンタ及び、カウンタの値が1以上の
時″1nとなる比較回路により構成することができる。
次に本実施例における分岐命令の予測制御方式について
説明する。分岐命令のうち特にBranchon Co
ndition命令(BC命令と略記する)は、演算実
行時に分岐判定が行われ1分岐成立の場合はTKN信号
が演算器Esから命令制御装置2に送出される。BC命
令は従来よく行われるように、不成立予測とし、BC命
令に引き続く命令を分岐判定を待たずして処理していく
。従ってBC命令が分岐成立すなわち分岐予測失敗とな
るとTKN信号が′1″となり、これを受けた命令制御
装置2はBC命令に引き続く命令解読を中止し、IQl
〜IQNの中にある解読済みの命令を全て無効化する。
説明する。分岐命令のうち特にBranchon Co
ndition命令(BC命令と略記する)は、演算実
行時に分岐判定が行われ1分岐成立の場合はTKN信号
が演算器Esから命令制御装置2に送出される。BC命
令は従来よく行われるように、不成立予測とし、BC命
令に引き続く命令を分岐判定を待たずして処理していく
。従ってBC命令が分岐成立すなわち分岐予測失敗とな
るとTKN信号が′1″となり、これを受けた命令制御
装置2はBC命令に引き続く命令解読を中止し、IQl
〜IQNの中にある解読済みの命令を全て無効化する。
上記のように現在演算器E1〜ENで演算中の命令グル
ープと、後続命令との間での追い抜きがないため、命令
制御装置2の中の命令はすべて概念的にBCの後に実行
すべき命令であり、従ってTKN信号を受けてこれらを
全て無効化すればよく、無効化の制御は単純で済む。一
方E1〜Esで演算中の命令グループ内の命令の概念的
実行順序は演算器番号の順となっていることは上記制御
から明らかである。よってBC命令がi番目の演算器E
Iにセットアツプされたとすると、分岐が成立であった
場合E++t−EN内の命令がBCの後続命令であり、
これを無効化する。このためElから分岐成立信号T
K N +がEt+t〜ENに送出され、これを受けて
E++t〜ENは演算実行を中止し命令を無効化する。
ープと、後続命令との間での追い抜きがないため、命令
制御装置2の中の命令はすべて概念的にBCの後に実行
すべき命令であり、従ってTKN信号を受けてこれらを
全て無効化すればよく、無効化の制御は単純で済む。一
方E1〜Esで演算中の命令グループ内の命令の概念的
実行順序は演算器番号の順となっていることは上記制御
から明らかである。よってBC命令がi番目の演算器E
Iにセットアツプされたとすると、分岐が成立であった
場合E++t−EN内の命令がBCの後続命令であり、
これを無効化する。このためElから分岐成立信号T
K N +がEt+t〜ENに送出され、これを受けて
E++t〜ENは演算実行を中止し命令を無効化する。
T K N +信号の接続関係を第4図に示す。Elか
らはT K N 1信号がEz〜E*に、E2からはT
K N z信号がE3〜ENに送出され、同様にして
EIからはTKN +信号がEt+1−ENに送出され
る。BNではTKNt〜T K N NのN本の信号の
論理和を生成しTKN信号として命令制御装置2に送出
する。
らはT K N 1信号がEz〜E*に、E2からはT
K N z信号がE3〜ENに送出され、同様にして
EIからはTKN +信号がEt+1−ENに送出され
る。BNではTKNt〜T K N NのN本の信号の
論理和を生成しTKN信号として命令制御装置2に送出
する。
本実施例では演算実行の追い抜きがないためBC命令に
よる分岐予測失敗があっても予測した命令による書き込
みのオーバランがなく、従ってオーバラフ発生に伴う回
復処理による遅れが生じない。従って並列実行による高
速化を図りながらも分岐予測失敗による処理速度低下を
来さないため、命令処理装置全体としての高速化を実現
できる。また上述のとおり分岐予測失敗時の制御も簡潔
であシ、命令制御装置、演算器のいずれについても従来
と同様の命令無効化論理を設けるだけでよいため、特別
のハードウェアの増加もない。
よる分岐予測失敗があっても予測した命令による書き込
みのオーバランがなく、従ってオーバラフ発生に伴う回
復処理による遅れが生じない。従って並列実行による高
速化を図りながらも分岐予測失敗による処理速度低下を
来さないため、命令処理装置全体としての高速化を実現
できる。また上述のとおり分岐予測失敗時の制御も簡潔
であシ、命令制御装置、演算器のいずれについても従来
と同様の命令無効化論理を設けるだけでよいため、特別
のハードウェアの増加もない。
第5図を用いて、簡単な命令列の処理タイムチャートの
説明を行う。第5図は、メモリのA番地の内容を汎用レ
ジスタGROに格納する第1の命令Load 、 13
番地の内容をGROの内容と乗算し。
説明を行う。第5図は、メモリのA番地の内容を汎用レ
ジスタGROに格納する第1の命令Load 、 13
番地の内容をGROの内容と乗算し。
結果をGR,Oに格納する第2の命令Multiply
、C番地の内容IGI(,2に格納する第3の命令LO
ad、D番地の内容をGR2の内容と加算し、結果をG
R2に格納する第4のAdd命令の4つの命令処理タイ
ムチャートを示している。ここで命令解読回路や演算器
は2つ(N=2)であるとしている。
、C番地の内容IGI(,2に格納する第3の命令LO
ad、D番地の内容をGR2の内容と加算し、結果をG
R2に格納する第4のAdd命令の4つの命令処理タイ
ムチャートを示している。ここで命令解読回路や演算器
は2つ(N=2)であるとしている。
横軸はサイクルタイムを単位とした時間を、縦軸は上半
分が該4命令の処理ステージ、下半分が対応する信号の
値を示している。処理ステージのうち、DI、D、は命
令解読回路1,2による命令解読ステージ、AH、A2
はアドレス加算器1゜2によるアドレス加算ステージ、
Ll、Lxは記憶装置からのオペランドデータ読み出し
ステージ、El、Ezは演算器1,2における演算ステ
ージ、Px、Pzは汎用レジスタに対する結果の書き込
みステージである。同図では命令読み出しのステージは
省略しである。サイクルC1では命令■。
分が該4命令の処理ステージ、下半分が対応する信号の
値を示している。処理ステージのうち、DI、D、は命
令解読回路1,2による命令解読ステージ、AH、A2
はアドレス加算器1゜2によるアドレス加算ステージ、
Ll、Lxは記憶装置からのオペランドデータ読み出し
ステージ、El、Ezは演算器1,2における演算ステ
ージ、Px、Pzは汎用レジスタに対する結果の書き込
みステージである。同図では命令読み出しのステージは
省略しである。サイクルC1では命令■。
■の解読が行われ、解読完了信号DSL、DS2が次の
C2でオンとなる。これに応答して、命令準備完了表示
回路DY1 、IRDY2がC3でオンとなる。C3に
おいて、演算器1,2はともに空いているとすると演算
実行終了信号EOP I、EOPzがともにオンであシ
、従って演算準備完了信号ERDYがオンである。この
結果、演算実行開始信号BOP 1. BOP zがオ
ンとなり、演算器1,2にて命令■、■の演算が開始す
る。Load命令は1サイクルで演算が終了するためb
C,にてE1ステージが実行され同時にE OP 1
がオンとなシ、PIステージがCsにて実行され、結果
が書き込まれる。またMultiply命令は演算に3
サイクルを要するため、C4〜C6にてE2ステージが
実行されC6にてE OP zがオンとなり、Piステ
ージがC7にて実行され、結果が書き込まれる。
C2でオンとなる。これに応答して、命令準備完了表示
回路DY1 、IRDY2がC3でオンとなる。C3に
おいて、演算器1,2はともに空いているとすると演算
実行終了信号EOP I、EOPzがともにオンであシ
、従って演算準備完了信号ERDYがオンである。この
結果、演算実行開始信号BOP 1. BOP zがオ
ンとなり、演算器1,2にて命令■、■の演算が開始す
る。Load命令は1サイクルで演算が終了するためb
C,にてE1ステージが実行され同時にE OP 1
がオンとなシ、PIステージがCsにて実行され、結果
が書き込まれる。またMultiply命令は演算に3
サイクルを要するため、C4〜C6にてE2ステージが
実行されC6にてE OP zがオンとなり、Piステ
ージがC7にて実行され、結果が書き込まれる。
−万〇2では命令■、■の解読が行われ、D81゜D
S 2が次の03でオンとなる。これに応答してIRD
Yl、IRDY2が04にてオンとなる。C4゜Csに
おいては演算器2にてMultiply命令が演算中で
あるためERDYがオフであり、従ってBOP l、B
OPzともにオンとならない。つまり。
S 2が次の03でオンとなる。これに応答してIRD
Yl、IRDY2が04にてオンとなる。C4゜Csに
おいては演算器2にてMultiply命令が演算中で
あるためERDYがオフであり、従ってBOP l、B
OPzともにオンとならない。つまり。
本発明により% Cs t C6は演算器1は空いてい
るが命令■の演算ステージは待たされることとなる。こ
こでIRDY 1.IRDY2はこの間オンのまま保持
される。C6においてE OP zがオンとなるためE
RDYがオンとなシ、これによってBOP 1 。
るが命令■の演算ステージは待たされることとなる。こ
こでIRDY 1.IRDY2はこの間オンのまま保持
される。C6においてE OP zがオンとなるためE
RDYがオンとなシ、これによってBOP 1 。
BOP2がオンとなるため演算器1.2にてそれぞれ命
令■、■の演算ステージがCtにて実行される。
令■、■の演算ステージがCtにて実行される。
上記処理から明らかなように、本発明によれば、命令■
〜■の結果の書き込みステージPs、P2は追い抜きが
生じない。従来の並列処理方式では命令■のP1ステー
ジが06で実行されうるので。
〜■の結果の書き込みステージPs、P2は追い抜きが
生じない。従来の並列処理方式では命令■のP1ステー
ジが06で実行されうるので。
命令■のP2ステージを追い抜くこととなり、分岐予測
失敗時や割込み発生時の順序性保証が困難であった。
失敗時や割込み発生時の順序性保証が困難であった。
本発明によれば、概念的に1つずつ命令の処理されるタ
イプの情報処理装置において、並列演算方式によって高
速化を図る場合、割込みや分岐命令による予測失敗時の
演算実行の順序保障が極めて容易になり、従って順序保
障に必要な退避データレジスタや制御回路が簡略化でき
るのでノ・−ドウエア量が削減でき、しかもオーバラン
発生もしくはその可能性のある場合の回復処理時間を短
縮することができるので、経済的にも、また処理速度向
上の上でも効果がある。
イプの情報処理装置において、並列演算方式によって高
速化を図る場合、割込みや分岐命令による予測失敗時の
演算実行の順序保障が極めて容易になり、従って順序保
障に必要な退避データレジスタや制御回路が簡略化でき
るのでノ・−ドウエア量が削減でき、しかもオーバラン
発生もしくはその可能性のある場合の回復処理時間を短
縮することができるので、経済的にも、また処理速度向
上の上でも効果がある。
第1図は本発明を実施した情報処理装置の全体構成図、
第2図は並列演算制御回路の構成図、第3図は命令制御
装置2の構成図、第4図はN個の1・・・記憶装置、2
・・・命令制御ユニット、3−4・・・演算器、5・・
・並列演算制御回路、22〜24・・・ANDゲー)、
301・・・命令読み出し回路、302〜303・・・
命令解読回路、304〜305・・・命令待ち行列、3
06〜307・・・命令準備完了表示回路、308・・
・汎用レジスタ、309〜310・・・アドレス加算器
、311〜312・・・オペランドバッファ。
第2図は並列演算制御回路の構成図、第3図は命令制御
装置2の構成図、第4図はN個の1・・・記憶装置、2
・・・命令制御ユニット、3−4・・・演算器、5・・
・並列演算制御回路、22〜24・・・ANDゲー)、
301・・・命令読み出し回路、302〜303・・・
命令解読回路、304〜305・・・命令待ち行列、3
06〜307・・・命令準備完了表示回路、308・・
・汎用レジスタ、309〜310・・・アドレス加算器
、311〜312・・・オペランドバッファ。
Claims (1)
- 1、概念的に命令が1つずつ処理され結果が概念的に順
序的に記憶装置に書き込まれる情報処理装置において、
M個命令の解読およびオペランド読み出しを並列に行え
る命令制御手段と、複数の命令の演算を相互に並列に行
うことのできる、該Mより大きいか等しいN個の演算手
段と、該N個の演算手段のうち該命令制御手段にて解読
されたM個の命令が必要とするM個の演算手段が全て空
きか否かを検出する検出手段と、該検出手段の検出結果
が否である間は、該解読されたM個の命令の演算実行を
待ち合わせるための待ち合わせ手段を有することを特徴
とする情報処理装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61276554A JPS63131230A (ja) | 1986-11-21 | 1986-11-21 | 情報処理装置 |
| US07/123,139 US4942525A (en) | 1986-11-21 | 1987-11-20 | Data processor for concurrent executing of instructions by plural execution units |
| US07/915,204 US5671382A (en) | 1986-11-21 | 1992-04-20 | Information processing system and information processing method for executing instructions in parallel |
| US08/888,645 US5922068A (en) | 1986-11-21 | 1997-07-07 | Information processing system and information processing method for executing instructions in parallel |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61276554A JPS63131230A (ja) | 1986-11-21 | 1986-11-21 | 情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63131230A true JPS63131230A (ja) | 1988-06-03 |
Family
ID=17571105
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61276554A Pending JPS63131230A (ja) | 1986-11-21 | 1986-11-21 | 情報処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (3) | US4942525A (ja) |
| JP (1) | JPS63131230A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01310445A (ja) * | 1988-06-08 | 1989-12-14 | Nippon Telegr & Teleph Corp <Ntt> | 並列演算処理装置 |
| JPH04116726A (ja) * | 1990-09-07 | 1992-04-17 | Koufu Nippon Denki Kk | 情報処理装置 |
| EP0407911A3 (en) * | 1989-07-07 | 1992-10-14 | Hitachi, Ltd. | Parallel processing apparatus and parallel processing method |
| JPH0749782A (ja) * | 1993-08-09 | 1995-02-21 | Nec Corp | 情報処理装置 |
| EP0782071A3 (en) * | 1988-11-11 | 1997-07-30 | Hitachi, Ltd. | Data processor |
Families Citing this family (92)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63131230A (ja) * | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 情報処理装置 |
| US5590293A (en) * | 1988-07-20 | 1996-12-31 | Digital Equipment Corporation | Dynamic microbranching with programmable hold on condition, to programmable dynamic microbranching delay minimization |
| US5862399A (en) * | 1988-12-28 | 1999-01-19 | Philips Electronics North America Corporation | Write control unit |
| JPH02306341A (ja) * | 1989-02-03 | 1990-12-19 | Nec Corp | マイクロプロセッサ |
| US5226166A (en) * | 1989-02-10 | 1993-07-06 | Mitsubishi Denki K.K. | Parallel operation processor with second command unit |
| 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 |
| 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 |
| EP0394624B1 (en) * | 1989-04-24 | 1997-06-18 | International Business Machines Corporation | Multiple sequence processor system |
| US5617574A (en) * | 1989-05-04 | 1997-04-01 | Texas Instruments Incorporated | Devices, systems and methods for conditional instructions |
| CA2016068C (en) * | 1989-05-24 | 2000-04-04 | Robert W. Horst | Multiple instruction issue computer architecture |
| US5197137A (en) * | 1989-07-28 | 1993-03-23 | International Business Machines Corporation | Computer architecture for the concurrent execution of sequential programs |
| US5615349A (en) * | 1990-09-04 | 1997-03-25 | Mitsubishi Denki Kabushiki Kaisha | Data processing system capable of execution of plural instructions in parallel |
| US5745723A (en) * | 1989-09-04 | 1998-04-28 | Mitsubishi Denki Kabushiki Kaisha | Data processing system capable of execution of plural instructions in parallel |
| WO1991004536A1 (en) * | 1989-09-20 | 1991-04-04 | Dolphin Server Technology A/S | Instruction cache architecture for parallel issuing of multiple instructions |
| JP2507638B2 (ja) * | 1989-12-01 | 1996-06-12 | 三菱電機株式会社 | デ―タ処理装置 |
| US5203002A (en) * | 1989-12-27 | 1993-04-13 | Wetzel Glen F | System with a multiport memory and N processing units for concurrently/individually executing 2N-multi-instruction-words at first/second transitions of a single clock cycle |
| US5197130A (en) * | 1989-12-29 | 1993-03-23 | Supercomputer Systems Limited Partnership | Cluster architecture for a highly parallel scalar/vector multiprocessor system |
| US5623650A (en) * | 1989-12-29 | 1997-04-22 | Cray Research, Inc. | Method of processing a sequence of conditional vector IF statements |
| US5544337A (en) * | 1989-12-29 | 1996-08-06 | Cray Research, Inc. | Vector processor having registers for control by vector resisters |
| US5303356A (en) * | 1990-05-04 | 1994-04-12 | International Business Machines Corporation | System for issuing instructions for parallel execution subsequent to branch into a group of member instructions with compoundability in dictation tag |
| DE69123629T2 (de) * | 1990-05-04 | 1997-06-12 | International Business Machines Corp., Armonk, N.Y. | Maschinenarchitektur für skalaren Verbundbefehlssatz |
| US5214763A (en) * | 1990-05-10 | 1993-05-25 | International Business Machines Corporation | Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism |
| EP0825529A3 (en) * | 1990-05-04 | 1998-04-29 | International Business Machines Corporation | System for preparing instructions for instruction parallel processor and system with mechanism for branching in the middle of a compound instruction |
| PL166513B1 (pl) * | 1990-05-04 | 1995-05-31 | Ibm | Uklad komputerowy do przetwarzania rozkazów PL |
| US5598547A (en) * | 1990-06-11 | 1997-01-28 | Cray Research, Inc. | Vector processor having functional unit paths of differing pipeline lengths |
| JP2771683B2 (ja) * | 1990-07-17 | 1998-07-02 | 三菱電機株式会社 | 並列処理方式 |
| JP2834292B2 (ja) * | 1990-08-15 | 1998-12-09 | 株式会社日立製作所 | データ・プロセッサ |
| US5163139A (en) * | 1990-08-29 | 1992-11-10 | Hitachi America, Ltd. | Instruction preprocessor for conditionally combining short memory instructions into virtual long instructions |
| JPH04111127A (ja) * | 1990-08-31 | 1992-04-13 | Toshiba Corp | 演算処理装置 |
| EP0477598A2 (de) * | 1990-09-26 | 1992-04-01 | Siemens Aktiengesellschaft | Befehlswerk für einen n Prozessorelemente aufweisenden Prozessor |
| JP2532300B2 (ja) * | 1990-10-17 | 1996-09-11 | 三菱電機株式会社 | 並列処理装置における命令供給装置 |
| JP2535252B2 (ja) * | 1990-10-17 | 1996-09-18 | 三菱電機株式会社 | 並列処理装置 |
| US5265213A (en) * | 1990-12-10 | 1993-11-23 | Intel Corporation | Pipeline system for executing predicted branch target instruction in a cycle concurrently with the execution of branch instruction |
| US5299321A (en) * | 1990-12-18 | 1994-03-29 | Oki Electric Industry Co., Ltd. | Parallel processing device to operate with parallel execute instructions |
| US5446850A (en) * | 1991-01-15 | 1995-08-29 | International Business Machines Corporation | Cross-cache-line compounding algorithm for scism processors |
| EP0498067A2 (en) * | 1991-02-08 | 1992-08-12 | International Business Machines Corporation | Microcode generation for a scalable compound instruction set machine |
| DE69228083T2 (de) * | 1991-03-14 | 1999-05-20 | Fujitsu Ltd., Kawasaki, Kanagawa | Verfahren und Vorrichtung zur Steuerung von Pipelineoperationen |
| US5630157A (en) * | 1991-06-13 | 1997-05-13 | International Business Machines Corporation | Computer organization for multiple and out-of-order execution of condition code testing and setting instructions |
| EP0518420A3 (en) * | 1991-06-13 | 1994-08-10 | Ibm | Computer system for concurrent processing of multiple out-of-order instructions |
| JPH052484A (ja) * | 1991-06-24 | 1993-01-08 | Mitsubishi Electric Corp | スーパースカラプロセツサ |
| US5539911A (en) | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
| US5826055A (en) * | 1991-07-08 | 1998-10-20 | Seiko Epson Corporation | System and method for retiring instructions in a superscalar microprocessor |
| DE69231762T2 (de) * | 1991-07-08 | 2001-07-26 | Seiko Epson Corp., Tokio/Tokyo | Risc-prozessor mit dehnbarer architektur |
| EP0547240B1 (en) * | 1991-07-08 | 2000-01-12 | Seiko Epson Corporation | Risc microprocessor architecture implementing fast trap and exception state |
| US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
| 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 |
| US5283874A (en) * | 1991-10-21 | 1994-02-01 | Intel Corporation | Cross coupling mechanisms for simultaneously completing consecutive pipeline instructions even if they begin to process at the same microprocessor of the issue fee |
| US5438669A (en) * | 1991-11-20 | 1995-08-01 | Hitachi, Ltd. | Data processor with improved loop handling utilizing improved register allocation |
| EP0544083A3 (en) * | 1991-11-26 | 1994-09-14 | Ibm | Interleaved risc-type parallel processor and processing methods |
| US5363490A (en) * | 1992-02-03 | 1994-11-08 | Unisys Corporation | Apparatus for and method of conditionally aborting an instruction within a pipelined architecture |
| DE4237417C2 (de) * | 1992-03-25 | 1997-01-30 | Hewlett Packard Co | Datenverarbeitungssystem |
| 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 |
| DE69311330T2 (de) * | 1992-03-31 | 1997-09-25 | Seiko Epson Corp., Tokio/Tokyo | Befehlsablauffolgeplanung von einem risc-superskalarprozessor |
| WO1993022722A1 (en) | 1992-05-01 | 1993-11-11 | Seiko Epson Corporation | A system and method for retiring instructions in a superscalar microprocessor |
| US5619668A (en) * | 1992-08-10 | 1997-04-08 | Intel Corporation | Apparatus for register bypassing in a microprocessor |
| ES2143490T3 (es) * | 1992-08-12 | 2000-05-16 | Advanced Micro Devices Inc | Decodificador de instrucciones. |
| DE69329778T2 (de) | 1992-09-29 | 2001-04-26 | Seiko Epson Corp., Tokio/Tokyo | System und verfahren zur handhabung von laden und/oder speichern in einem superskalar mikroprozessor |
| 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 |
| US6002880A (en) * | 1992-12-29 | 1999-12-14 | Philips Electronics North America Corporation | VLIW processor with less instruction issue slots than functional units |
| EP0605927B1 (en) * | 1992-12-29 | 1999-07-28 | Koninklijke Philips Electronics N.V. | Improved very long instruction word processor architecture |
| US5628021A (en) | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
| EP1107111A3 (en) * | 1992-12-31 | 2002-02-06 | Seiko Epson Corporation | System and method for register renaming |
| CA2107305A1 (en) * | 1993-01-08 | 1994-07-09 | James Allen Kahle | Method and system for nonsequential instruction dispatch and execution in a superscalar processor system |
| US5440703A (en) * | 1993-09-20 | 1995-08-08 | International Business Machines Corporation | System and method for saving state information in a multi-execution unit processor when interruptable instructions are identified |
| US5721854A (en) * | 1993-11-02 | 1998-02-24 | International Business Machines Corporation | Method and apparatus for dynamic conversion of computer instructions |
| US5588126A (en) * | 1993-12-30 | 1996-12-24 | Intel Corporation | Methods and apparatus for fordwarding buffered store data on an out-of-order execution computer system |
| US5627985A (en) * | 1994-01-04 | 1997-05-06 | Intel Corporation | Speculative and committed resource files in an out-of-order processor |
| US5590351A (en) * | 1994-01-21 | 1996-12-31 | Advanced Micro Devices, Inc. | Superscalar execution unit for sequential instruction pointer updates and segment limit checks |
| US5584037A (en) * | 1994-03-01 | 1996-12-10 | Intel Corporation | Entry allocation in a circular buffer |
| JP3212213B2 (ja) * | 1994-03-16 | 2001-09-25 | 株式会社日立製作所 | データ処理装置 |
| 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 |
| JP3494489B2 (ja) * | 1994-11-30 | 2004-02-09 | 株式会社ルネサステクノロジ | 命令処理装置 |
| DE19543880B4 (de) * | 1994-11-30 | 2005-04-21 | Mitsubishi Denki K.K. | Verarbeitungseinrichtung, die in der Lage ist eine Anweisung spekulativ auszuführen |
| US5689673A (en) * | 1995-02-14 | 1997-11-18 | Hal Computer Systems, Inc. | Apparatus and method for controlling instruction flow by using a matrix of transmission gates in super-scaler microprocessor and selectively delaying microprocessor instruction execution based on resource availability |
| KR970004783A (ko) * | 1995-06-29 | 1997-01-29 | 음향 광학 동조 필터를 이용한 영상 투사 장치 | |
| US6092184A (en) * | 1995-12-28 | 2000-07-18 | Intel Corporation | Parallel processing of pipelined instructions having register dependencies |
| US5764943A (en) * | 1995-12-28 | 1998-06-09 | Intel Corporation | Data path circuitry for processor having multiple instruction pipelines |
| US5649138A (en) * | 1996-01-04 | 1997-07-15 | Advanced Micro Devices | Time dependent rerouting of instructions in plurality of reservation stations of a superscalar microprocessor |
| WO1998020415A1 (en) * | 1996-11-04 | 1998-05-14 | Philips Electronics N.V. | Processing device, reads instructions in memory |
| US5850547A (en) * | 1997-01-08 | 1998-12-15 | Oracle Corporation | Method and apparatus for parallel processing aggregates using intermediate aggregate values |
| US6035388A (en) | 1997-06-27 | 2000-03-07 | Sandcraft, Inc. | Method and apparatus for dual issue of program instructions to symmetric multifunctional execution units |
| JP3534987B2 (ja) * | 1997-10-20 | 2004-06-07 | 富士通株式会社 | 情報処理装置 |
| US6446190B1 (en) * | 1998-03-12 | 2002-09-03 | Bops, Inc. | Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor |
| USRE41012E1 (en) | 1998-03-12 | 2009-11-24 | Altera Corporation | Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor |
| US6356994B1 (en) * | 1998-07-09 | 2002-03-12 | Bops, Incorporated | Methods and apparatus for instruction addressing in indirect VLIW processors |
| US6308262B1 (en) * | 1998-09-30 | 2001-10-23 | Intel Corporation | System and method for efficient processing of instructions using control unit to select operations |
| US6216216B1 (en) * | 1998-10-07 | 2001-04-10 | Compaq Computer Corporation | Method and apparatus for providing processor partitioning on a multiprocessor machine |
| US6088784A (en) * | 1999-03-30 | 2000-07-11 | Sandcraft, Inc. | Processor with multiple execution units and local and global register bypasses |
| EP2335149A1 (en) * | 2008-09-08 | 2011-06-22 | Bridgeco, Inc. | Very long instruction word processor with multiple data queues |
| RU2010111027A (ru) * | 2010-03-24 | 2011-09-27 | ЭлЭсАй Корпорейшн (US) | Устройство и способ для высокоскоростного расчета таблиц перемежения для нескольких стандартов беспроводной связи |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5194734A (en) * | 1975-02-19 | 1976-08-19 | Tajushorisochino enzanseigyohoshiki | |
| JPS57155666A (en) * | 1981-03-20 | 1982-09-25 | Fujitsu Ltd | Instruction controlling system of vector processor |
| US4532589A (en) * | 1981-12-02 | 1985-07-30 | Hitachi, Ltd. | Digital data processor with two operation units |
| JPS58176751A (ja) * | 1982-04-09 | 1983-10-17 | Hitachi Ltd | 命令語解読ユニツト |
| JPS5932045A (ja) * | 1982-08-16 | 1984-02-21 | Hitachi Ltd | 情報処理装置 |
| US4594655A (en) * | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
| US4807115A (en) * | 1983-10-07 | 1989-02-21 | Cornell Research Foundation, Inc. | Instruction issuing mechanism for processors with multiple functional units |
| US4837676A (en) * | 1984-11-05 | 1989-06-06 | Hughes Aircraft Company | MIMD instruction flow computer architecture |
| JPH0762823B2 (ja) * | 1985-05-22 | 1995-07-05 | 株式会社日立製作所 | デ−タ処理装置 |
| JPS6226580A (ja) * | 1985-07-29 | 1987-02-04 | Hitachi Ltd | 障害処理方式 |
| EP0239081B1 (en) * | 1986-03-26 | 1995-09-06 | Hitachi, Ltd. | Pipelined data processor capable of decoding and executing plural instructions in parallel |
| 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 |
| US4766566A (en) * | 1986-08-18 | 1988-08-23 | International Business Machines Corp. | Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing |
| JPS63131230A (ja) * | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 情報処理装置 |
| US4833599A (en) * | 1987-04-20 | 1989-05-23 | Multiflow Computer, Inc. | Hierarchical priority branch handling for parallel execution in a parallel processor |
| US4943915A (en) * | 1987-09-29 | 1990-07-24 | Digital Equipment Corporation | Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit |
| 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 |
-
1986
- 1986-11-21 JP JP61276554A patent/JPS63131230A/ja active Pending
-
1987
- 1987-11-20 US US07/123,139 patent/US4942525A/en not_active Expired - Lifetime
-
1992
- 1992-04-20 US US07/915,204 patent/US5671382A/en not_active Expired - Fee Related
-
1997
- 1997-07-07 US US08/888,645 patent/US5922068A/en not_active Expired - Fee Related
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01310445A (ja) * | 1988-06-08 | 1989-12-14 | Nippon Telegr & Teleph Corp <Ntt> | 並列演算処理装置 |
| EP0782071A3 (en) * | 1988-11-11 | 1997-07-30 | Hitachi, Ltd. | Data processor |
| US6256726B1 (en) | 1988-11-11 | 2001-07-03 | Hitachi, Ltd. | Data processor for the parallel processing of a plurality of instructions |
| US7424598B2 (en) | 1988-11-11 | 2008-09-09 | Renesas Technology Corp. | Data processor |
| EP0407911A3 (en) * | 1989-07-07 | 1992-10-14 | Hitachi, Ltd. | Parallel processing apparatus and parallel processing method |
| JPH04116726A (ja) * | 1990-09-07 | 1992-04-17 | Koufu Nippon Denki Kk | 情報処理装置 |
| JPH0749782A (ja) * | 1993-08-09 | 1995-02-21 | Nec Corp | 情報処理装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US4942525A (en) | 1990-07-17 |
| US5671382A (en) | 1997-09-23 |
| US5922068A (en) | 1999-07-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2701179B2 (ja) | データ処理システム | |
| JP5431308B2 (ja) | システムおよびパイプラインプロセッサにおける条件命令実行の加速のためのローカル条件コードレジスタの使用方法 | |
| US6119203A (en) | Mechanism for sharing data cache resources between data prefetch operations and normal load/store operations in a data processing system | |
| JP2518616B2 (ja) | 分岐方法 | |
| JP2645669B2 (ja) | データ処理システム | |
| JP3096427B2 (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 | |
| US3881173A (en) | Condition code determination and data processing | |
| JPH02208729A (ja) | マイクロコード式実行装置での並列動作による複数機能装置の制御 | |
| KR19980018064A (ko) | 멀티타스킹 처리시스템 환경에서의 효율적인 콘텍스트 저장 및 복구장치 및 방법 | |
| CN1320238A (zh) | 高频管道去耦合队列设计 | |
| JPS6234242A (ja) | デ−タ処理システム | |
| JPS61107434A (ja) | デ−タ処理装置 | |
| US5574872A (en) | Method and apparatus for controlling the saving of pipelines in pipelined processors during trap handling | |
| JP2620511B2 (ja) | データ・プロセッサ | |
| CN1099631C (zh) | 双执行部件处理器的反回逻辑线路 | |
| US5469552A (en) | Pipelined data processor having combined operand fetch and execution stage to reduce number of pipeline stages and penalty associated with branch instructions | |
| JPH0248732A (ja) | 命令パイプライン方式のマイクロプロセッサ | |
| JP3096429B2 (ja) | 複数の命令の非整順完了をサポートする方法およびスーパースカラ・マイクロプロセッサ | |
| JP2680899B2 (ja) | 情報処理装置及びその制御方法 | |
| JPH0552534B2 (ja) | ||
| JP2668987B2 (ja) | データ処理装置 | |
| JPS59218567A (ja) | アドレスオ−バラツプチエツク方式 | |
| JPS59163671A (ja) | ベクトル処理装置 | |
| JP2856784B2 (ja) | 電子計算機 |