JPS6393041A - 計算機 - Google Patents
計算機Info
- Publication number
- JPS6393041A JPS6393041A JP61239566A JP23956686A JPS6393041A JP S6393041 A JPS6393041 A JP S6393041A JP 61239566 A JP61239566 A JP 61239566A JP 23956686 A JP23956686 A JP 23956686A JP S6393041 A JPS6393041 A JP S6393041A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- area
- branch
- execution
- sequence
- 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
- 238000004458 analytical method Methods 0.000 claims description 16
- 230000009191 jumping Effects 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000002747 voluntary effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
- G06F9/3806—Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
- G06F9/3844—Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
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
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、命令のパイプライン処理機能を備えた計算
機に関するものである。
機に関するものである。
第2図は命令のパイプライン処理機能と分岐命令の飛び
先予測機能とを備えた従来の計In機としてのマイクロ
プロセッサのブロック図である。この図において、1は
命令先取り装置としての命令プリフェッチキュー、2は
命令解析装置としての命令デコード部、3は命令実行装
置としての命令実行部、4は分岐命令等の飛び先予測を
行う飛び先予測装首としてのブランチ・ターゲット・バ
ッファである。
先予測機能とを備えた従来の計In機としてのマイクロ
プロセッサのブロック図である。この図において、1は
命令先取り装置としての命令プリフェッチキュー、2は
命令解析装置としての命令デコード部、3は命令実行装
置としての命令実行部、4は分岐命令等の飛び先予測を
行う飛び先予測装首としてのブランチ・ターゲット・バ
ッファである。
次にこのマイクロプロセッサの動作について説明する。
命令実行部3で命令を実行している間に命令デコード部
2では次に実行すべき命令をデコードしており、命令実
行部3で命令の実行が終了したら命令デコード部2でデ
コードが終了している次の命令が速やかに実行される。
2では次に実行すべき命令をデコードしており、命令実
行部3で命令の実行が終了したら命令デコード部2でデ
コードが終了している次の命令が速やかに実行される。
このとき、命令プリフェッチキュー1は複数の命令を一
定規則に従う第1.第2.第3.第4等の領域認識記号
(以下番地という)で順序付けされた複数の領域に記憶
する記憶装置(以下主記憶という)からこの主記憶がア
クセスされていない時間を利用して命令をあらかじめ取
り込んでおき、命令デコード部2が命令プリフェッチキ
ュー1から次にデコードすべき命令データをフェッチす
ることにより命令フェッチにかかる時間を短縮している
。
定規則に従う第1.第2.第3.第4等の領域認識記号
(以下番地という)で順序付けされた複数の領域に記憶
する記憶装置(以下主記憶という)からこの主記憶がア
クセスされていない時間を利用して命令をあらかじめ取
り込んでおき、命令デコード部2が命令プリフェッチキ
ュー1から次にデコードすべき命令データをフェッチす
ることにより命令フェッチにかかる時間を短縮している
。
一般に命令の流れが乱れた場合、たとえば分岐命令が実
行された時には、命令デコード部2および命令プリフェ
ッチキュー1はキャンセルされ、命令プリフェッチキュ
ー1は飛び先番地から新たにキューイングを行う。すな
わち、ジャンプ命令実行後初めて実行される命令は主記
憶から直接取り込まなければならず、次に実行すべき命
令がフェッチされデコードされるまで命令実行部3は命
令の実行を中断しなければならないが、このマイクロプ
ロセッサでは、この点を改善するためにブランチ・ター
ゲット・バッファ4と呼ばれるものが使われている。
これは、分岐命令の番地、その飛び先番地およびその分
岐命令が前回実行された時、実際に分岐したかどうかを
示すフラグなどを組にして記憶しておくもので、分岐命
令を実際に実行する前に飛び先番地を予測する飛び先番
地予測機構である。予測の方法によってはかなり高い確
率でプログラムの流れが予測できることがわかっている
。
行された時には、命令デコード部2および命令プリフェ
ッチキュー1はキャンセルされ、命令プリフェッチキュ
ー1は飛び先番地から新たにキューイングを行う。すな
わち、ジャンプ命令実行後初めて実行される命令は主記
憶から直接取り込まなければならず、次に実行すべき命
令がフェッチされデコードされるまで命令実行部3は命
令の実行を中断しなければならないが、このマイクロプ
ロセッサでは、この点を改善するためにブランチ・ター
ゲット・バッファ4と呼ばれるものが使われている。
これは、分岐命令の番地、その飛び先番地およびその分
岐命令が前回実行された時、実際に分岐したかどうかを
示すフラグなどを組にして記憶しておくもので、分岐命
令を実際に実行する前に飛び先番地を予測する飛び先番
地予測機構である。予測の方法によってはかなり高い確
率でプログラムの流れが予測できることがわかっている
。
次に、その動作について説明する。
命令プリフェッチキュー1より命令デコード部2に命令
データが取り込まれると、命令デコードが開始されると
ともにその命令の番地でブランチ・ターゲット・バッフ
ァ4が引かれる。ブランチ・ターゲット・バッファ4に
より分岐が起こると予測されると、命令プリフェッチキ
ュー1はクリアされて、ブランチ・ターゲット命バッフ
ァ4により予測された飛び先番地よりキューイングを行
い、取り込まれた命令デコードを命令デコード部2に渡
す、そして、予測が的中した時には命令実行部3が次に
実行すべき命令は既に命令デコード部2でデコードされ
ているため、パイプライン処理が大きく乱れることはな
い。
データが取り込まれると、命令デコードが開始されると
ともにその命令の番地でブランチ・ターゲット・バッフ
ァ4が引かれる。ブランチ・ターゲット・バッファ4に
より分岐が起こると予測されると、命令プリフェッチキ
ュー1はクリアされて、ブランチ・ターゲット命バッフ
ァ4により予測された飛び先番地よりキューイングを行
い、取り込まれた命令デコードを命令デコード部2に渡
す、そして、予測が的中した時には命令実行部3が次に
実行すべき命令は既に命令デコード部2でデコードされ
ているため、パイプライン処理が大きく乱れることはな
い。
このようにブランチ・ターゲット・バッファ4を付加す
ることにより分岐命令実行後のパイプライン処理の乱れ
を抑えて計算機の実効的な計算速度を上げることが行わ
れている。
ることにより分岐命令実行後のパイプライン処理の乱れ
を抑えて計算機の実効的な計算速度を上げることが行わ
れている。
上記のような従来の計算機では、ブランチ・ターゲット
・バッファ4を備えることにより飛び先番地の予測をお
こなってパイプライン処理の乱れを抑えているが、分岐
命令の飛び先予測が外れて分岐が起こらなかった場合は
新しいプログラムカウンタの示す番地の命令が主記憶か
らフェッチされるまでの間実行を中断しなければならず
パイプライン処理が乱れて実効的な処理速度が低下する
という問題点があった。
・バッファ4を備えることにより飛び先番地の予測をお
こなってパイプライン処理の乱れを抑えているが、分岐
命令の飛び先予測が外れて分岐が起こらなかった場合は
新しいプログラムカウンタの示す番地の命令が主記憶か
らフェッチされるまでの間実行を中断しなければならず
パイプライン処理が乱れて実効的な処理速度が低下する
という問題点があった。
この発明は、かかる問題点を解決するためになされたも
ので、分岐命令の飛び先予測が外れて分岐が起こらなか
った場合にもパイプライン処理の乱れを最小限に抑えて
実効的な処理速度を上げることが可能な計算機を得るこ
とを目的とする。
ので、分岐命令の飛び先予測が外れて分岐が起こらなか
った場合にもパイプライン処理の乱れを最小限に抑えて
実効的な処理速度を上げることが可能な計算機を得るこ
とを目的とする。
この発明に係る計算機は、複数の命令を一定規則に従う
領域認識記号で順序付けされた複数の領域に格納する記
憶装置の第1の領域認識記号で区別される領域に格納さ
れた第1の命令列を実行する命令実行装置と、第1の命
令列が命令実行装置で実行されている間に記憶装はの第
1の領域認識記号で区別される領域に引き続いた順序の
第2の領域認識記号で区別される領域に格納された第2
の命令列を解析する命令解析装置と、第2の命令列が命
令解析装置で解析されている間に記憶装置の第2の領域
認識記号で区別されるφ域に引き続いた順序の第3の領
域認識記号で区別される領域に格納された第3の命令列
を取り込む命令先取り装置と、命令実行装置が第2の命
令列を実行する以前に第2の命令列が記憶装置の第2の
領域認識記号で区別される領域に引き続いた順序以外の
第4の領域認識記号で区別される領域に格納された第4
の命令列を第2の命令列の実行後に実行させる分岐命令
かどうかを予測し、分岐命令の実行が予測された時に命
令解析装置にあらかじめ記憶しておいた飛び先の領域認
識記号または命令を送出する飛び先予測装置と、この飛
び先予測装置が第4の命令列を第2の命令列の実行後に
実行すると予測した時に命令先取り装置に取り込まれて
いる第3の命令列の一部または全部が一時退避される命
令プリフェッチキュー退避装置とから構成される計算機
であって、命令解析装置を、分岐命令の実行が予測され
たにもかかわらず分岐命令が実行されなかった場合に命
令プリフェッチキュー退避装置から退避させておいた命
令列を取り込む構成としたものである。
領域認識記号で順序付けされた複数の領域に格納する記
憶装置の第1の領域認識記号で区別される領域に格納さ
れた第1の命令列を実行する命令実行装置と、第1の命
令列が命令実行装置で実行されている間に記憶装はの第
1の領域認識記号で区別される領域に引き続いた順序の
第2の領域認識記号で区別される領域に格納された第2
の命令列を解析する命令解析装置と、第2の命令列が命
令解析装置で解析されている間に記憶装置の第2の領域
認識記号で区別されるφ域に引き続いた順序の第3の領
域認識記号で区別される領域に格納された第3の命令列
を取り込む命令先取り装置と、命令実行装置が第2の命
令列を実行する以前に第2の命令列が記憶装置の第2の
領域認識記号で区別される領域に引き続いた順序以外の
第4の領域認識記号で区別される領域に格納された第4
の命令列を第2の命令列の実行後に実行させる分岐命令
かどうかを予測し、分岐命令の実行が予測された時に命
令解析装置にあらかじめ記憶しておいた飛び先の領域認
識記号または命令を送出する飛び先予測装置と、この飛
び先予測装置が第4の命令列を第2の命令列の実行後に
実行すると予測した時に命令先取り装置に取り込まれて
いる第3の命令列の一部または全部が一時退避される命
令プリフェッチキュー退避装置とから構成される計算機
であって、命令解析装置を、分岐命令の実行が予測され
たにもかかわらず分岐命令が実行されなかった場合に命
令プリフェッチキュー退避装置から退避させておいた命
令列を取り込む構成としたものである。
この発明においては、飛び先予測装置による予測が外れ
て分岐命令の実行が起こらなかった場合に命令プリフェ
ッチキューに退避させておいた命令列が命令解析装置に
取り込まれる。
て分岐命令の実行が起こらなかった場合に命令プリフェ
ッチキューに退避させておいた命令列が命令解析装置に
取り込まれる。
第1図はこの発明の計算機の一実施例を示すブロック図
である。この図において、第2図と同一符号は同一部分
を示し、5は命令プリフェッチキュー退避装置としての
命令プリフェッチキュー退避部である。
である。この図において、第2図と同一符号は同一部分
を示し、5は命令プリフェッチキュー退避装置としての
命令プリフェッチキュー退避部である。
次に、動作について説明する。
命令プリフェッチキュー1より命令デコード部2に命令
データが取り込まれると、命令デコードが開始されると
ともにその命令番地でブランチ・ターゲット・バッファ
4が引かれる。プランチーターゲット・バッファ4によ
り分岐が起こると予測されると命令プリフェッチキュー
1の内容の一部または全部が命令プリフェッチキュー退
避部5に退避された後、命令プリフェッチキュー1はク
リアされて、ブランチ・ターゲット・バッファ4により
予測された飛び先番地より再びキューイングを行い、取
り込まれた命令データを命令デコードBB2に渡す。予
測が的中した詩には命令実行部3が次に実行すべき命令
は既に命令デコード部2でされておりパイプライン舛理
が大きく乱れることはない。また、条件分岐命令で予測
が外れ分岐が起こらなかった場合には、命令デコード部
2でのデコード結果をキャンセルし、命令プリフェッチ
キュー1をクリアするとともに、命令プリフェッチキュ
ー退避部5に退避されていた命令データを命令デコード
部2に取り込む。命令プリフェッチキュー】は命令プリ
フェッチキュー退避部5に取り込まれていた命令に引き
続く命令の格納番地から再びキューイングを行う。従っ
て、予測が外れ分岐が起こらなかった場合にも次に実行
すべき命令を再び主記憶から取り込む必要がない。
データが取り込まれると、命令デコードが開始されると
ともにその命令番地でブランチ・ターゲット・バッファ
4が引かれる。プランチーターゲット・バッファ4によ
り分岐が起こると予測されると命令プリフェッチキュー
1の内容の一部または全部が命令プリフェッチキュー退
避部5に退避された後、命令プリフェッチキュー1はク
リアされて、ブランチ・ターゲット・バッファ4により
予測された飛び先番地より再びキューイングを行い、取
り込まれた命令データを命令デコードBB2に渡す。予
測が的中した詩には命令実行部3が次に実行すべき命令
は既に命令デコード部2でされておりパイプライン舛理
が大きく乱れることはない。また、条件分岐命令で予測
が外れ分岐が起こらなかった場合には、命令デコード部
2でのデコード結果をキャンセルし、命令プリフェッチ
キュー1をクリアするとともに、命令プリフェッチキュ
ー退避部5に退避されていた命令データを命令デコード
部2に取り込む。命令プリフェッチキュー】は命令プリ
フェッチキュー退避部5に取り込まれていた命令に引き
続く命令の格納番地から再びキューイングを行う。従っ
て、予測が外れ分岐が起こらなかった場合にも次に実行
すべき命令を再び主記憶から取り込む必要がない。
この発明は以上説明したとおり、この発明に係る計算機
は、複数の命令を一定規則に従う領域認識記号で順序付
けされた複数の領域に格納する記憶装置の第1の領域認
識記号で区別される領域に格納された第1の命令列を実
行する命令実行装置と、第1の命令列が命令実行装置で
実行されている間に記憶装置の第1の領域認識記号で区
別される領域に引き続いた順序の第2の領域認識記号で
区別される領域に格納された第2の命令列を解析する命
令解析装置と、第2の命令列が命令解析装置で解析され
ている間に記憶装置の第2の領域認識記号で区別される
領域に引き続いた順序の第3の領域認識記号で区別され
る領域に格納された第3の命令列を取り込む命令先取り
装置と、命令実行装置が第2の命令列を実行する以前に
第2の命令列が記憶装置の第2の領域認識記号で区別さ
れる領域に引き続いた順序以外の第4の領域認識記号で
区別される領域に格納された第4の命令列を第2の命令
列の実行後に実行する不連続命令の実行かどうかを予測
し、実行が予測された時に命令解析装置にあらかじめ記
憶しておいた飛び先の領域認識記号または命令を送出す
る飛び先予測装置と、この飛び先予測装置が第4の命令
列を第2の命令列の実行後に実行すると予測した時に命
令先取り装置に取り込まれている第3の命令列の一部ま
たは全部が一時退避される命令プリフェッチキュー退避
装置とから構成される計算機であって、命令解析装置を
、分岐命令の実行が予測されたにもかかわらず分岐命令
が実行されなかった場合に命令プリフェッチキュー退避
装置から退避させておいた命令列を取り込む構成とした
ので、予測が外れ分岐命令が実行されなかった場合にも
退避させていた命令列を命令解析装置内に取り込むこと
ができ、パイプライン処理の乱れを抑、えて実効的な処
理速度を上げることができる。
は、複数の命令を一定規則に従う領域認識記号で順序付
けされた複数の領域に格納する記憶装置の第1の領域認
識記号で区別される領域に格納された第1の命令列を実
行する命令実行装置と、第1の命令列が命令実行装置で
実行されている間に記憶装置の第1の領域認識記号で区
別される領域に引き続いた順序の第2の領域認識記号で
区別される領域に格納された第2の命令列を解析する命
令解析装置と、第2の命令列が命令解析装置で解析され
ている間に記憶装置の第2の領域認識記号で区別される
領域に引き続いた順序の第3の領域認識記号で区別され
る領域に格納された第3の命令列を取り込む命令先取り
装置と、命令実行装置が第2の命令列を実行する以前に
第2の命令列が記憶装置の第2の領域認識記号で区別さ
れる領域に引き続いた順序以外の第4の領域認識記号で
区別される領域に格納された第4の命令列を第2の命令
列の実行後に実行する不連続命令の実行かどうかを予測
し、実行が予測された時に命令解析装置にあらかじめ記
憶しておいた飛び先の領域認識記号または命令を送出す
る飛び先予測装置と、この飛び先予測装置が第4の命令
列を第2の命令列の実行後に実行すると予測した時に命
令先取り装置に取り込まれている第3の命令列の一部ま
たは全部が一時退避される命令プリフェッチキュー退避
装置とから構成される計算機であって、命令解析装置を
、分岐命令の実行が予測されたにもかかわらず分岐命令
が実行されなかった場合に命令プリフェッチキュー退避
装置から退避させておいた命令列を取り込む構成とした
ので、予測が外れ分岐命令が実行されなかった場合にも
退避させていた命令列を命令解析装置内に取り込むこと
ができ、パイプライン処理の乱れを抑、えて実効的な処
理速度を上げることができる。
第1図はこの発明の計算機の一実施例を示すブロック図
、第2図は従来の命令パイプライン処理機能とブランチ
[相]ターゲット・バッファを備えたマイクロプロセッ
サのブロック図である。 図において、1は命令プリフェッチキュー、2は命令デ
コード部、3は命令実行部、4はブランチ・ターゲット
・バッファ、5は命令プリフェッチキュー退避部である
。 なお、各図中の同一符号は同一または相当部分を示す。 代理人 大 岩 増 雄 (外2名)第1図 第2図 手続補正書(自発) 1、事件の表示 特願昭8l−23958fi号2
、発明の名称 計算機 3、補正をする者 代表者志岐守哉 4、代理人 5、補正の対象 明細書の特許請求の範囲の欄および発明の詳細な説明の
欄 6、補正の内容 (1)明細書の特許請求の範囲を別紙のように補正する
。 (2)明細書第8頁7〜9行、第11頁17〜18行の
「分岐命令の実行が予測されたにもかかわらず分岐命令
が実行されなかった場合に」を、それぞれ「分岐命令が
実行されたが予測された分岐が起こらなかった場合に」
と補正する。 (3)同じく第8頁14行の「分岐命令の実行が起こら
なかった場合」を、「分岐が起こらなかった場合」と補
正する。 以上 2、特許請求の範囲 複数の命令を一定規則に従う領域認識記号で順序付けさ
れた複数の領域に格納する記憶袋はの第1の領域認識記
号で区別される領域に格納された第1の命令列を実行す
る命令実行装置と、前記第1の命令列が前記命令実行装
置で実行されている間に前記記憶装置の前記第1の領域
認識記号で区別される領域に引き続いた順序の第2の領
域認識記号で区別される領域に格納された第2の命令列
を解析する命令解析装置と、前記第2の命令列が前記命
令解析装置で解析されている間に前記記憶装置の前記第
2の領域認識記号で区別される領域に引き続いた順序の
第3の領域認識記号で区別される領域に格納された第3
の命令列を取り込む命令先取り装置と、前記命令実行装
置が前記第2の命令列を実行する以前に前記第2の命令
列が前記記憶装置の前記第2の領域認識記号で区別され
る領域に引き続いた順序以外の第4の領域認識記号で区
別される領域に格納された第4の命令列を前記第2の命
令列の実行後に実行させる分岐命令かどうかを予測し、
前記分岐命令の実行が予測された時に前記命令解析装置
にあらかじめ記憶しておいた飛び先の領域認識記号また
は命令を送出する飛び先予測装置と、この飛び先予測装
匝が前記第4の命令列を前記第2の命令列の実行後に実
行すると予測した時に前記命令先取り装置に取り込まれ
ている前記第3の命令列の一部または全部が一時退避さ
れる命令プリフェッチキュー退避装置とから構成される
計算機であって、前記命令解析装置を、前記分岐命令が
実行されたが予測された分岐が起こらなかった場合に前
記命令プリフェッチキュー退避装置から退避させておい
た命令列を取り込む構成としたことを特徴とする計算機
。
、第2図は従来の命令パイプライン処理機能とブランチ
[相]ターゲット・バッファを備えたマイクロプロセッ
サのブロック図である。 図において、1は命令プリフェッチキュー、2は命令デ
コード部、3は命令実行部、4はブランチ・ターゲット
・バッファ、5は命令プリフェッチキュー退避部である
。 なお、各図中の同一符号は同一または相当部分を示す。 代理人 大 岩 増 雄 (外2名)第1図 第2図 手続補正書(自発) 1、事件の表示 特願昭8l−23958fi号2
、発明の名称 計算機 3、補正をする者 代表者志岐守哉 4、代理人 5、補正の対象 明細書の特許請求の範囲の欄および発明の詳細な説明の
欄 6、補正の内容 (1)明細書の特許請求の範囲を別紙のように補正する
。 (2)明細書第8頁7〜9行、第11頁17〜18行の
「分岐命令の実行が予測されたにもかかわらず分岐命令
が実行されなかった場合に」を、それぞれ「分岐命令が
実行されたが予測された分岐が起こらなかった場合に」
と補正する。 (3)同じく第8頁14行の「分岐命令の実行が起こら
なかった場合」を、「分岐が起こらなかった場合」と補
正する。 以上 2、特許請求の範囲 複数の命令を一定規則に従う領域認識記号で順序付けさ
れた複数の領域に格納する記憶袋はの第1の領域認識記
号で区別される領域に格納された第1の命令列を実行す
る命令実行装置と、前記第1の命令列が前記命令実行装
置で実行されている間に前記記憶装置の前記第1の領域
認識記号で区別される領域に引き続いた順序の第2の領
域認識記号で区別される領域に格納された第2の命令列
を解析する命令解析装置と、前記第2の命令列が前記命
令解析装置で解析されている間に前記記憶装置の前記第
2の領域認識記号で区別される領域に引き続いた順序の
第3の領域認識記号で区別される領域に格納された第3
の命令列を取り込む命令先取り装置と、前記命令実行装
置が前記第2の命令列を実行する以前に前記第2の命令
列が前記記憶装置の前記第2の領域認識記号で区別され
る領域に引き続いた順序以外の第4の領域認識記号で区
別される領域に格納された第4の命令列を前記第2の命
令列の実行後に実行させる分岐命令かどうかを予測し、
前記分岐命令の実行が予測された時に前記命令解析装置
にあらかじめ記憶しておいた飛び先の領域認識記号また
は命令を送出する飛び先予測装置と、この飛び先予測装
匝が前記第4の命令列を前記第2の命令列の実行後に実
行すると予測した時に前記命令先取り装置に取り込まれ
ている前記第3の命令列の一部または全部が一時退避さ
れる命令プリフェッチキュー退避装置とから構成される
計算機であって、前記命令解析装置を、前記分岐命令が
実行されたが予測された分岐が起こらなかった場合に前
記命令プリフェッチキュー退避装置から退避させておい
た命令列を取り込む構成としたことを特徴とする計算機
。
Claims (1)
- 複数の命令を一定規則に従う領域認識記号で順序付けさ
れた複数の領域に格納する記憶装置の第1の領域認識記
号で区別される領域に格納された第1の命令列を実行す
る命令実行装置と、前記第1の命令列が前記命令実行装
置で実行されている間に前記記憶装置の前記第1の領域
認識記号で区別される領域に引き続いた順序の第2の領
域認識記号で区別される領域に格納された第2の命令列
を解析する命令解析装置と、前記第2の命令列が前記命
令解析装置で解析されている間に前記記憶装置の前記第
2の領域認識記号で区別される領域に引き続いた順序の
第3の領域認識記号で区別される領域に格納された第3
の命令列を取り込む命令先取り装置と、前記命令実行装
置が前記第2の命令列を実行する以前に前記第2の命令
列が前記記憶装置の前記第2の領域認識記号で区別され
る領域に引き続いた順序以外の第4の領域認識記号で区
別される領域に格納された第4の命令列を前記第2の命
令列の実行後に実行させる分岐命令かどうかを予測し、
前記分岐命令の実行が予測された時に前記命令解析装置
にあらかじめ記憶しておいた飛び先の領域認識記号また
は命令を送出する飛び先予測装置と、この飛び先予測装
置が前記第4の命令列を前記第2の命令列の実行後に実
行すると予測した時に前記命令先取り装置に取り込まれ
ている前記第3の命令列の一部または全部が一時退避さ
れる命令プリフェッチキュー退避装置とから構成される
計算機であって、前記命令解析装置を、前記分岐命令の
実行が予測されたにもかかわらず前記分岐命令が実行さ
れなかった場合に前記命令プリフェッチキュー退避装置
から退避させておいた命令列を取り込む構成としたこと
を特徴とする計算機。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61239566A JPS6393041A (ja) | 1986-10-07 | 1986-10-07 | 計算機 |
US07/106,604 US4974154A (en) | 1986-10-07 | 1987-10-06 | Computer with instruction prefetch queue retreat unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61239566A JPS6393041A (ja) | 1986-10-07 | 1986-10-07 | 計算機 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6393041A true JPS6393041A (ja) | 1988-04-23 |
Family
ID=17046703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61239566A Pending JPS6393041A (ja) | 1986-10-07 | 1986-10-07 | 計算機 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4974154A (ja) |
JP (1) | JPS6393041A (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2723238B2 (ja) * | 1988-01-18 | 1998-03-09 | 株式会社東芝 | 情報処理装置 |
JPH01205228A (ja) * | 1988-02-10 | 1989-08-17 | Hitachi Ltd | 命令バツフアシステム |
US5522053A (en) * | 1988-02-23 | 1996-05-28 | Mitsubishi Denki Kabushiki Kaisha | Branch target and next instruction address calculation in a pipeline processor |
US5127091A (en) * | 1989-01-13 | 1992-06-30 | International Business Machines Corporation | System for reducing delay in instruction execution by executing branch instructions in separate processor while dispatching subsequent instructions to primary processor |
US5689670A (en) * | 1989-03-17 | 1997-11-18 | Luk; Fong | Data transferring system with multiple port bus connecting the low speed data storage unit and the high speed data storage unit and the method for transferring data |
JP2682217B2 (ja) * | 1989-08-28 | 1997-11-26 | 日本電気株式会社 | マイクロプロセッサ |
US5230068A (en) * | 1990-02-26 | 1993-07-20 | Nexgen Microsystems | Cache memory system for dynamically altering single cache memory line as either branch target entry or pre-fetch instruction queue based upon instruction sequence |
US5325495A (en) * | 1991-06-28 | 1994-06-28 | Digital Equipment Corporation | Reducing stall delay in pipelined computer system using queue between pipeline stages |
US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
DE69311330T2 (de) | 1992-03-31 | 1997-09-25 | Seiko Epson Corp., Tokio/Tokyo | Befehlsablauffolgeplanung von einem risc-superskalarprozessor |
EP0638183B1 (en) | 1992-05-01 | 1997-03-05 | Seiko Epson Corporation | A system and method for retiring instructions in a superscalar microprocessor |
US5442756A (en) * | 1992-07-31 | 1995-08-15 | Intel Corporation | Branch prediction and resolution apparatus for a superscalar computer processor |
US5434985A (en) * | 1992-08-11 | 1995-07-18 | International Business Machines Corporation | Simultaneous prediction of multiple branches for superscalar processing |
US5423048A (en) * | 1992-08-27 | 1995-06-06 | Northern Telecom Limited | Branch target tagging |
US5784604A (en) * | 1992-10-09 | 1998-07-21 | International Business Machines Corporation | Method and system for reduced run-time delay during conditional branch execution in pipelined processor systems utilizing selectively delayed sequential instruction purging |
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 |
WO1994016384A1 (en) | 1992-12-31 | 1994-07-21 | Seiko Epson Corporation | System and method for register renaming |
US5537559A (en) * | 1994-02-08 | 1996-07-16 | Meridian Semiconductor, Inc. | Exception handling circuit and method |
US5724565A (en) * | 1995-02-03 | 1998-03-03 | International Business Machines Corporation | Method and system for processing first and second sets of instructions by first and second types of processing systems |
US5812811A (en) * | 1995-02-03 | 1998-09-22 | International Business Machines Corporation | Executing speculative parallel instructions threads with forking and inter-thread communication |
US5734881A (en) * | 1995-12-15 | 1998-03-31 | Cyrix Corporation | Detecting short branches in a prefetch buffer using target location information in a branch target cache |
JPH10214188A (ja) * | 1997-01-30 | 1998-08-11 | Toshiba Corp | プロセッサの命令供給方法及び装置 |
US5987599A (en) * | 1997-03-28 | 1999-11-16 | Intel Corporation | Target instructions prefetch cache |
US6026477A (en) * | 1997-12-31 | 2000-02-15 | Intel Corporation | Branch recovery mechanism to reduce processor front end stall time by providing path information for both correct and incorrect instructions mixed in the instruction pool |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4626988A (en) * | 1983-03-07 | 1986-12-02 | International Business Machines Corporation | Instruction fetch look-aside buffer with loop mode control |
US4742451A (en) * | 1984-05-21 | 1988-05-03 | Digital Equipment Corporation | Instruction prefetch system for conditional branch instruction for central processor unit |
US4691277A (en) * | 1984-10-24 | 1987-09-01 | International Business Machines Corp. | Small instruction cache using branch target table to effect instruction prefetch |
US4679141A (en) * | 1985-04-29 | 1987-07-07 | International Business Machines Corporation | Pageable branch history table |
US4714994A (en) * | 1985-04-30 | 1987-12-22 | International Business Machines Corp. | Instruction prefetch buffer control |
US4763245A (en) * | 1985-10-30 | 1988-08-09 | International Business Machines Corporation | Branch prediction mechanism in which a branch history table is updated using an operand sensitive branch table |
JPH0743648B2 (ja) * | 1985-11-15 | 1995-05-15 | 株式会社日立製作所 | 情報処理装置 |
-
1986
- 1986-10-07 JP JP61239566A patent/JPS6393041A/ja active Pending
-
1987
- 1987-10-06 US US07/106,604 patent/US4974154A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US4974154A (en) | 1990-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6393041A (ja) | 計算機 | |
JP2603626B2 (ja) | データ処理装置 | |
JPS6393038A (ja) | 計算機 | |
EP3306466A1 (en) | An instruction sequence buffer to store branches having reliably predictable instruction sequences | |
JP5815596B2 (ja) | プロシージャリターンシーケンスを加速するための方法およびシステム | |
JPS6356731A (ja) | デ−タ処理装置 | |
US8943301B2 (en) | Storing branch information in an address table of a processor | |
JP4728877B2 (ja) | マイクロプロセッサおよびパイプライン制御方法 | |
JP2534662B2 (ja) | 命令キヤツシユ制御方法 | |
JPH08161230A (ja) | オンデマンドページングにおける先読み方法 | |
JP2508021B2 (ja) | デ−タ処理装置 | |
JPH0646382B2 (ja) | プリフェッチキュー制御方式 | |
JPH01106141A (ja) | データ処理装置 | |
JPS63106046A (ja) | デ−タ処理装置 | |
JPS6393039A (ja) | 計算機 | |
JP3712675B2 (ja) | キュープロセッサにおける投機実行方法 | |
JPS63170740A (ja) | デ−タ処理装置 | |
JP5679263B2 (ja) | 情報処理装置及びマイクロ命令処理方法 | |
JPS6393042A (ja) | デ−タ処理装置 | |
JPS6393040A (ja) | 計算機 | |
JPS63124135A (ja) | デ−タ処理装置 | |
JP2006202346A (ja) | 情報処理装置 | |
JP2001356904A (ja) | プロセッサ | |
JPS6336336A (ja) | 情報処理装置 | |
JPS6295636A (ja) | 先取り制御処理装置 |