JPS59132045A - 命令を先取りする方法とその装置 - Google Patents
命令を先取りする方法とその装置Info
- Publication number
- JPS59132045A JPS59132045A JP58191642A JP19164283A JPS59132045A JP S59132045 A JPS59132045 A JP S59132045A JP 58191642 A JP58191642 A JP 58191642A JP 19164283 A JP19164283 A JP 19164283A JP S59132045 A JPS59132045 A JP S59132045A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- cache
- address
- stack
- 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
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/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 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
-
- 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
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
発明の分野
本発明は大型でノ・イ・・ぐフオーマンスの汎用型ディ
ノタル・デー多処理シスオムの同期中央処理装置の分野
に関するものである。更に詳細には本発明は当該中央処
理装置の多段型又は中央実行ノやイブライン・ユニッ)
(CEPU )に対する命令を先取り(prefet
ch )する方法とその装置に関するものである。
ノタル・デー多処理シスオムの同期中央処理装置の分野
に関するものである。更に詳細には本発明は当該中央処
理装置の多段型又は中央実行ノやイブライン・ユニッ)
(CEPU )に対する命令を先取り(prefet
ch )する方法とその装置に関するものである。
先行技術の説明
中央処理装置と当該中央処理装置が一部分を成している
データ処理システムのノや一フオーマンスを高めるため
こうした処理装置には多数の改変と改良が導入されて来
ている。こうした一つの改変はオペランドと命令を取出
すのに必要な時間を最低にするため処理装置内に位置付
けられる高速キャッシュユニットを使用することである
。更にデータ処理システムのi4−フオーマンスを高め
るため中央処理装置は同期化され、即ち、クロック装置
が中央処理装置のオ被し−ションの各ステップを制御す
るクロック・・ぐルスを発生させる。同期化では各命令
を実行するプロセスを多数の一連のステップに分割させ
、各命令が相互に同じステップシーケンスを経るように
して命令の実行を並行処理、重複処理又はノクイデライ
ンニング処理させることが出来る。パイプ・ラインニン
グ処理の結果、シーケンス又はパイプ・ラインに破断が
無いと仮定すれば、1つの命令は各クロック期間の完了
時にCEPUの通過を完了することになる。こうした中
央処理装置においては段階又はステップの個数は・ぐイ
ブーラインの深さとして定められる。
データ処理システムのノや一フオーマンスを高めるため
こうした処理装置には多数の改変と改良が導入されて来
ている。こうした一つの改変はオペランドと命令を取出
すのに必要な時間を最低にするため処理装置内に位置付
けられる高速キャッシュユニットを使用することである
。更にデータ処理システムのi4−フオーマンスを高め
るため中央処理装置は同期化され、即ち、クロック装置
が中央処理装置のオ被し−ションの各ステップを制御す
るクロック・・ぐルスを発生させる。同期化では各命令
を実行するプロセスを多数の一連のステップに分割させ
、各命令が相互に同じステップシーケンスを経るように
して命令の実行を並行処理、重複処理又はノクイデライ
ンニング処理させることが出来る。パイプ・ラインニン
グ処理の結果、シーケンス又はパイプ・ラインに破断が
無いと仮定すれば、1つの命令は各クロック期間の完了
時にCEPUの通過を完了することになる。こうした中
央処理装置においては段階又はステップの個数は・ぐイ
ブーラインの深さとして定められる。
・ぞイブ・ライン化された中央処理装置は、こうした能
力を有する最大の利点を達成するため、ノ々イブ・ライ
ンが命令の実行過程を開始出来る前に取出すべき命令を
待たねばならないCEPUによって生ずる遅延がないよ
うに当該命令を実行し、利用可能とし、又は先取シする
( prefetch )必要がある。中央実行ノソイ
デ・ライン・ユニットに命令先取りユニットを設けるこ
とは当技術において新規のものではないか、先行技術の
命令先取シュニツトでは成る種の問題がある。こうした
先行技術の命令先取りユニットは所定のシーケンシャル
径路又は命令の流れに沿ってのみ命令を取出す。所定の
7−ケンシヤル径路又は命令の流れにおいては当該流れ
の命令のメモリ・アドレスは当該流れの初期命令から始
まるシーケンシャルである。流れの命令のアドレスはブ
ランチ命令が遭遇する時間迄、所定の量、通常は1又は
2だけ増加される。
力を有する最大の利点を達成するため、ノ々イブ・ライ
ンが命令の実行過程を開始出来る前に取出すべき命令を
待たねばならないCEPUによって生ずる遅延がないよ
うに当該命令を実行し、利用可能とし、又は先取シする
( prefetch )必要がある。中央実行ノソイ
デ・ライン・ユニットに命令先取りユニットを設けるこ
とは当技術において新規のものではないか、先行技術の
命令先取シュニツトでは成る種の問題がある。こうした
先行技術の命令先取りユニットは所定のシーケンシャル
径路又は命令の流れに沿ってのみ命令を取出す。所定の
7−ケンシヤル径路又は命令の流れにおいては当該流れ
の命令のメモリ・アドレスは当該流れの初期命令から始
まるシーケンシャルである。流れの命令のアドレスはブ
ランチ命令が遭遇する時間迄、所定の量、通常は1又は
2だけ増加される。
ブランチ命令に遭遇すると現在の命令の流れ即ち径路が
破壊又は中断され、新しい命令の流れ又は径路があるア
ドレス、即ちブランチ命令により指定されるターケゝッ
ト・アドレスから始められる。
破壊又は中断され、新しい命令の流れ又は径路があるア
ドレス、即ちブランチ命令により指定されるターケゝッ
ト・アドレスから始められる。
所定の命令の流れに沿って命令を先取シすることのみが
出来る先行技術の命令先取りユニットの場合、無条件ブ
ランチが生ずる時点に中央実行パイプ・ライン・ユニッ
トに中断が生じ、飛越しく transfer )命令
のクーグツト命令のアドレスが決定されてCEPUに対
し利用可能とされる迄、パイプ・ラインのステップを通
るそれらの命令の通過が開始されない。遅延の程度は実
行パイプ・ラインでのステップ又は段階の個数の関数で
、典型的には3ないし10クロック期間である。こうし
た遅延後にブランチ命令のターケ゛ット命令が呼出され
、中央実行ユニットに供給され、CEPUの作動は次の
ブランチ命令が処理装置により実行される迄続行する。
出来る先行技術の命令先取りユニットの場合、無条件ブ
ランチが生ずる時点に中央実行パイプ・ライン・ユニッ
トに中断が生じ、飛越しく transfer )命令
のクーグツト命令のアドレスが決定されてCEPUに対
し利用可能とされる迄、パイプ・ラインのステップを通
るそれらの命令の通過が開始されない。遅延の程度は実
行パイプ・ラインでのステップ又は段階の個数の関数で
、典型的には3ないし10クロック期間である。こうし
た遅延後にブランチ命令のターケ゛ット命令が呼出され
、中央実行ユニットに供給され、CEPUの作動は次の
ブランチ命令が処理装置により実行される迄続行する。
命令の連続した実行での一時的な中断を生じさせること
が出来る他の形式の命令は間接命令と呼ばれている。間
接命令を実行するにあたり、その他ニ命令によシ実行さ
れるべきオシレーションのオ被ランドのアドレスは他の
ワード、間接ワードのアドレスであシ、当該間接ワード
はオ啄ランド又は他の間接ワードのアドレスを形成する
のに使用される。その第2の間接ワードが他のワードの
アドレスを含む場合には、このワードはオペランドのア
ドレス、オペランドのアドレスを形成するのに使用可能
なアドレス又は他の即ち第3の間接ワードのアドレス等
のいずれかであることが出来る。間接命令を先取シした
後、命令先取りユニットが中央実行パイプ・ライン・ユ
ニットのパイプ・ラインを中断することを避ける場合に
はターケ゛ット間接ワードを取出し、次に間接命令が位
置利けである現在の命令の流れにおける後続のシーケン
7ヤルな命令を先取りすることが必要である。
が出来る他の形式の命令は間接命令と呼ばれている。間
接命令を実行するにあたり、その他ニ命令によシ実行さ
れるべきオシレーションのオ被ランドのアドレスは他の
ワード、間接ワードのアドレスであシ、当該間接ワード
はオ啄ランド又は他の間接ワードのアドレスを形成する
のに使用される。その第2の間接ワードが他のワードの
アドレスを含む場合には、このワードはオペランドのア
ドレス、オペランドのアドレスを形成するのに使用可能
なアドレス又は他の即ち第3の間接ワードのアドレス等
のいずれかであることが出来る。間接命令を先取シした
後、命令先取りユニットが中央実行パイプ・ライン・ユ
ニットのパイプ・ラインを中断することを避ける場合に
はターケ゛ット間接ワードを取出し、次に間接命令が位
置利けである現在の命令の流れにおける後続のシーケン
7ヤルな命令を先取りすることが必要である。
本発明の要約
本発明は汎用ディノタル・データ処理システムの同期中
央処理装置の中央実行パイプ・ライン・ユニット用の命
令を先取りする改善された方法とその装置を提供するも
のである。本装置たる命令取出しユニットには命令カウ
ンタ・レジスタと一対の機械語、命令又はオペランドの
キャッジ−アドレスを格納するバックアップ命令カウン
タ・レジスタが含まれている。中央処理装置には機械語
が書込まれて当該機械語が読出されるカジノ・とレベル
に組織化されたブイレフ) IJとデータの列を有する
セット・アソシエティブ・キャッシュユニットが含まれ
ている。命令取出しユニットから読まれた命令と間接ワ
ードは命令取出しレジスタに格納され、次に命令取出し
レジスタから命令スタックへ移送される。ディレクトリ
とカラム及びレベルに組織化されたアレイを備えている
飛越しと間接予報(TIP )テーブルはデータ列内に
書込まれるTIPワードを有し、当該列から当該TIP
ワードが読まれるよう設計されている。各TIPワード
にはキャッシュユニット内の対応する命令カニ飛越し命
令、間接命令又はそのいずれでもないことを表わす予報
コードが含まれており、当該命令75玉飛び越し又は間
接ワードである場合には各当該命令のターケ゛ットワー
ドのキャッシュアドレスカニ提供される。
央処理装置の中央実行パイプ・ライン・ユニット用の命
令を先取りする改善された方法とその装置を提供するも
のである。本装置たる命令取出しユニットには命令カウ
ンタ・レジスタと一対の機械語、命令又はオペランドの
キャッジ−アドレスを格納するバックアップ命令カウン
タ・レジスタが含まれている。中央処理装置には機械語
が書込まれて当該機械語が読出されるカジノ・とレベル
に組織化されたブイレフ) IJとデータの列を有する
セット・アソシエティブ・キャッシュユニットが含まれ
ている。命令取出しユニットから読まれた命令と間接ワ
ードは命令取出しレジスタに格納され、次に命令取出し
レジスタから命令スタックへ移送される。ディレクトリ
とカラム及びレベルに組織化されたアレイを備えている
飛越しと間接予報(TIP )テーブルはデータ列内に
書込まれるTIPワードを有し、当該列から当該TIP
ワードが読まれるよう設計されている。各TIPワード
にはキャッシュユニット内の対応する命令カニ飛越し命
令、間接命令又はそのいずれでもないことを表わす予報
コードが含まれており、当該命令75玉飛び越し又は間
接ワードである場合には各当該命令のターケ゛ットワー
ドのキャッシュアドレスカニ提供される。
命令取出しユニットは命令取出し・曙ブ・ラインであり
、当該・ぞイブ・ラインはその第1段1昔において所定
の命令の流れの次の対の命令のキャッシュアドレスを形
成するため命令カウンタ・し・ソスタを増加さiる。第
2段階においては、先の段階で形成され且つ命令カウン
タ・レジスタに格納すしたキャッシュアドレスがキャッ
シュユニットディレクトリとTIPテーブル・ディレク
ト1ノに分配される。第3段階又はステップにおいて、
キャッシュブイレフ) IJは命令の対の実際の4−ジ
番号を得るためにアクセスされ、TIPテーブルのポイ
ンタ) IJはアドレスされた命令の対の命令に対する
TIPテーブル・データ列に書込まれたTIPテーブル
・ワードを選択するためアクセスされる。
、当該・ぞイブ・ラインはその第1段1昔において所定
の命令の流れの次の対の命令のキャッシュアドレスを形
成するため命令カウンタ・し・ソスタを増加さiる。第
2段階においては、先の段階で形成され且つ命令カウン
タ・レジスタに格納すしたキャッシュアドレスがキャッ
シュユニットディレクトリとTIPテーブル・ディレク
ト1ノに分配される。第3段階又はステップにおいて、
キャッシュブイレフ) IJは命令の対の実際の4−ジ
番号を得るためにアクセスされ、TIPテーブルのポイ
ンタ) IJはアドレスされた命令の対の命令に対する
TIPテーブル・データ列に書込まれたTIPテーブル
・ワードを選択するためアクセスされる。
第4段階において、一対の命令がキャッシュアドレス内
で指定されたキャッシュデータ列のレベルから読出され
、これらの命令に関連したTIPワードの予報コードが
検査され、命令スタックに設けられた命令のいずれか一
方又は両方が飛越し命令又は間接命令であるか否がが決
定される。かくして選択された命令は命令取出しレジス
タ内に格納される。キャッシュディレクトリのアドレス
されたカラムとレベルに格納された命令の対の実際のイ
ーノ番号は命令の実4−ジ番号スタック・レノスタに格
納される。第5サイクルにおいて、命令取出しレジスタ
内の命令は命令スタック内に設定される。
で指定されたキャッシュデータ列のレベルから読出され
、これらの命令に関連したTIPワードの予報コードが
検査され、命令スタックに設けられた命令のいずれか一
方又は両方が飛越し命令又は間接命令であるか否がが決
定される。かくして選択された命令は命令取出しレジス
タ内に格納される。キャッシュディレクトリのアドレス
されたカラムとレベルに格納された命令の対の実際のイ
ーノ番号は命令の実4−ジ番号スタック・レノスタに格
納される。第5サイクルにおいて、命令取出しレジスタ
内の命令は命令スタック内に設定される。
命令の一つが飛越し命令である場合には、ターゲット命
令のキャッシュアドレス又は飛越し命令のターゲットの
アドレスが命令カウンタ内にロードされ、ターゲットの
当該アドレスは新しい又は次の命令の流れの初期命令の
アドレスである。命令が間接命令である場合にはターケ
ゞット間接ワード、オペランド又は他の間接ワードのキ
ャッシュアドレスは命令カウンタ・レジスタ内にのみロ
ードされ、バックアップ命令カウンタ・レジスタ内には
ロードされない。その時の現行の命令の流れにおける次
の命令対のアドレスであるバックアップ命令カウンタ・
レジスタ内のアドレスは次に次のクロック期間中に命令
カウンタ・レジスタ内にロードされる。中央実行パイプ
・ラインに移送される次の命令は命令スタック・リンク
・スタ、りにあるポインタにより識別され、当該ポイン
ターは命令が各飛越し命令又は間接命令を識別又は指示
するTIPテーブル・ワード内に含まれている予報型コ
ードを利用する命令スタック内に設定される際制御論理
にょシ得られる。当該予報は同じ命令が中央実行パイプ
・ライン・ユニットにょシ以前に実行された際発生した
内容に依存している。
令のキャッシュアドレス又は飛越し命令のターゲットの
アドレスが命令カウンタ内にロードされ、ターゲットの
当該アドレスは新しい又は次の命令の流れの初期命令の
アドレスである。命令が間接命令である場合にはターケ
ゞット間接ワード、オペランド又は他の間接ワードのキ
ャッシュアドレスは命令カウンタ・レジスタ内にのみロ
ードされ、バックアップ命令カウンタ・レジスタ内には
ロードされない。その時の現行の命令の流れにおける次
の命令対のアドレスであるバックアップ命令カウンタ・
レジスタ内のアドレスは次に次のクロック期間中に命令
カウンタ・レジスタ内にロードされる。中央実行パイプ
・ラインに移送される次の命令は命令スタック・リンク
・スタ、りにあるポインタにより識別され、当該ポイン
ターは命令が各飛越し命令又は間接命令を識別又は指示
するTIPテーブル・ワード内に含まれている予報型コ
ードを利用する命令スタック内に設定される際制御論理
にょシ得られる。当該予報は同じ命令が中央実行パイプ
・ライン・ユニットにょシ以前に実行された際発生した
内容に依存している。
命令取出しユニットの命令スタックに格納された命令は
現行の命令の流れの命令と、おそらくは1個以上の予め
格納された交互の命令流れと同様TIPテーブル内に格
納されたTIPテーブル・ワードによシ予報される間接
ワードを表わす。命令取出しユニットには飛越し命令と
間接命令のターゲット命令とターゲット・オペランドを
中央実行パイプ・ライン・ユニット内での中断の発生を
最低にするか若しくは最低にするのに遅延のない状態で
中央実行・やイブ・ライン・ユニットに供給する能力が
ある。命令先取り中に命令の飛越しが成功するか若しく
は飛越しゴーの状態にあることを命令に対するTIPテ
ーブル・ワードが予報する場合には命令取出しユニット
は飛越し命令のターケ゛ットを取出し、そのターゲット
が最初になっている命令の流れ中の命令を先取シする。
現行の命令の流れの命令と、おそらくは1個以上の予め
格納された交互の命令流れと同様TIPテーブル内に格
納されたTIPテーブル・ワードによシ予報される間接
ワードを表わす。命令取出しユニットには飛越し命令と
間接命令のターゲット命令とターゲット・オペランドを
中央実行パイプ・ライン・ユニット内での中断の発生を
最低にするか若しくは最低にするのに遅延のない状態で
中央実行・やイブ・ライン・ユニットに供給する能力が
ある。命令先取り中に命令の飛越しが成功するか若しく
は飛越しゴーの状態にあることを命令に対するTIPテ
ーブル・ワードが予報する場合には命令取出しユニット
は飛越し命令のターケ゛ットを取出し、そのターゲット
が最初になっている命令の流れ中の命令を先取シする。
実行される命令が間接命令である場合には命令呼出しユ
ニットは間接命令のターゲットを取出し、その後、命令
取出しユニットが現在の命令の流れの命令の呼出しを再
び始める。飛越しゴー又は間接命令が無い場合には命令
取出しユニットは連続的に現在の命令の流れ“の取出し
命令を続行し、かくして先取りされた命令を一回に2個
命令スタック内に格納する。命令取出しユニットは、予
報された飛越しコゝ−命令が中央実行・やイブ・ライン
・ユニット内で実行される時には、飛越し命令でないか
若しくは飛越しノー・ゴー命令であれば、現行の命令の
流れの命令の先取シを再開する。飛越し命令のタ〜ケ゛
ットと間接命令のターケ゛ットはそれらが先取りされる
と直ちに命令実行パイン0・ライン・ユニットによる処
理のため利用可能となる。従って、TIPテーブルによ
り正確に予報されない飛越し命令又は間接命令を実行す
る場合の中央実行パイプ・ライン・ユニットの遅れは全
て最低にされる。
ニットは間接命令のターゲットを取出し、その後、命令
取出しユニットが現在の命令の流れの命令の呼出しを再
び始める。飛越しゴー又は間接命令が無い場合には命令
取出しユニットは連続的に現在の命令の流れ“の取出し
命令を続行し、かくして先取りされた命令を一回に2個
命令スタック内に格納する。命令取出しユニットは、予
報された飛越しコゝ−命令が中央実行・やイブ・ライン
・ユニット内で実行される時には、飛越し命令でないか
若しくは飛越しノー・ゴー命令であれば、現行の命令の
流れの命令の先取シを再開する。飛越し命令のタ〜ケ゛
ットと間接命令のターケ゛ットはそれらが先取りされる
と直ちに命令実行パイン0・ライン・ユニットによる処
理のため利用可能となる。従って、TIPテーブルによ
り正確に予報されない飛越し命令又は間接命令を実行す
る場合の中央実行パイプ・ライン・ユニットの遅れは全
て最低にされる。
与えられた命令の先の実行時に当該命令が飛越しゴー命
令であったか又は間接ワード若しくはオペランドを要求
するか否かを決定するためTIPテーブル・ワードを参
照することに注意すべきである。中央実行・やイブ・ラ
イン・ユニットは各飛越し命令又は間接命令が中央実行
・ぐイブ・ライン・ユニットを通じてその通過を完了さ
せる際実際に起る事柄に基づきTIPテーブルの内容を
更新する。
令であったか又は間接ワード若しくはオペランドを要求
するか否かを決定するためTIPテーブル・ワードを参
照することに注意すべきである。中央実行・やイブ・ラ
イン・ユニットは各飛越し命令又は間接命令が中央実行
・ぐイブ・ライン・ユニットを通じてその通過を完了さ
せる際実際に起る事柄に基づきTIPテーブルの内容を
更新する。
発明の目的
従って、本発明の目的は、同期中央処理ユニットに対す
る改良された命令取出しユニットを提供することにある
。
る改良された命令取出しユニットを提供することにある
。
本発明の他の目的は、与えられる飛越し命令が飛越しゴ
ーである時点を経緯に基づき予報し、又飛越し命令のタ
ーケ゛ット・アドレスをも予報し、最初の命令が実行飛
越し命令のターケ゛ット命令になっている状態で新しい
命令の流れに沿って命令の先取りを開始し、かくして新
しい命令の流れの命令が中央実行パイプ・ライン・ユニ
ットにおける遅延若しくは中断を回避させるのに充分な
時間、中央実行パイプ・ライン・ユニットに利用可能と
する命令取出しユニットを提供することにある。
ーである時点を経緯に基づき予報し、又飛越し命令のタ
ーケ゛ット・アドレスをも予報し、最初の命令が実行飛
越し命令のターケ゛ット命令になっている状態で新しい
命令の流れに沿って命令の先取りを開始し、かくして新
しい命令の流れの命令が中央実行パイプ・ライン・ユニ
ットにおける遅延若しくは中断を回避させるのに充分な
時間、中央実行パイプ・ライン・ユニットに利用可能と
する命令取出しユニットを提供することにある。
本発明の更に他の目的は、飛越し命令と間接命令のター
ケ8ットが中央実行パイプ・ライン・ユニットの中断の
可能性を最低にするため予め取出されるような改良され
た命令取出しユニットを提供することにある。
ケ8ットが中央実行パイプ・ライン・ユニットの中断の
可能性を最低にするため予め取出されるような改良され
た命令取出しユニットを提供することにある。
本発明の更に他の目的は、飛越し命令又は間接命令の予
報ターケ゛ットのアドレスが不正確である場合に命令取
出しユニットが中央実行・々イブ・ライン・ユニットの
ツヤイブ・ラインの付加的な中断の可能性を最低にする
ためその現時点での命令の流れの命令の先取りを再開さ
せるよう々命令取出しユニットを提供することにある。
報ターケ゛ットのアドレスが不正確である場合に命令取
出しユニットが中央実行・々イブ・ライン・ユニットの
ツヤイブ・ラインの付加的な中断の可能性を最低にする
ためその現時点での命令の流れの命令の先取りを再開さ
せるよう々命令取出しユニットを提供することにある。
本発明の他の目的、特徴及び利点については添附図面に
関連して行なわれる本発明の好適実施態様に関する以下
の説明から容易に明らかとなるが本開示内容の新規な技
術思想とその範囲から逸脱せずに改変及び倍変例が実行
可能である。
関連して行なわれる本発明の好適実施態様に関する以下
の説明から容易に明らかとなるが本開示内容の新規な技
術思想とその範囲から逸脱せずに改変及び倍変例が実行
可能である。
実施例の説明
ここで第1図を参照すると、命令取出しユニット10の
機能は中央実行・ぐイブ・ライン・ユニット12に実行
すべき命令を提供することにある。
機能は中央実行・ぐイブ・ライン・ユニット12に実行
すべき命令を提供することにある。
命令取出しアドレス作成論理14は第2図に図解しであ
る命令カウンタ・レノスフ16に一対の命令ワード又は
命令の対のアドレスを提供し、当該命令ワードはキャッ
シュユニット18に格納される。キャッシュユニッ)1
8から取出された命令ワードの対は命令スタック20に
設定され、ここで先取りされた命令は中央実行パイプ・
ライン・ユニット12による要求がある迄格納さね、る
。命令は一回に一つの命令が命令スタック20から読出
される。命令ワードのフォーマットを第3図に示す。
る命令カウンタ・レノスフ16に一対の命令ワード又は
命令の対のアドレスを提供し、当該命令ワードはキャッ
シュユニット18に格納される。キャッシュユニッ)1
8から取出された命令ワードの対は命令スタック20に
設定され、ここで先取りされた命令は中央実行パイプ・
ライン・ユニット12による要求がある迄格納さね、る
。命令は一回に一つの命令が命令スタック20から読出
される。命令ワードのフォーマットを第3図に示す。
第4図に示す如く、実行中の現在の命令の流れ24には
棲数個の命令22が含まれており、当該命令の一つは飛
越し命令26であり、当該飛越し命令は新しい命令の流
れ28に実行を開始させる。
棲数個の命令22が含まれており、当該命令の一つは飛
越し命令26であり、当該飛越し命令は新しい命令の流
れ28に実行を開始させる。
第4図において、各ドツトは命令22を表わしている。
命令のシーケンス即ち命令の流れ24は飛越しゴー命令
たる飛越し命令26が実行される迄続行する。飛越し命
令には2種類、即ち条件付き飛越し命令と無条件飛越し
命令があることに注意すべきである。無条件飛越し命令
は常時そのターゲット命令に移送し若しくはそのターケ
ゝット命令に行き、当該命令は命令の新しいシーケンス
を開始させ、ターケゝット命令のアドレスは無条件の飛
越し命令26の好適実施態様におけるY即ちアドレス・
フィールドのビット0ないし17を構成要素として利用
するCEPU 12により形成される。命令の流れ28
の命令30といった条件付き飛越し命令が実行される場
合には新しい命令の流れに対する飛越しが発生するか若
しくは行なわれ、又は行表われないかを決定する条件が
インジケータ・レジスフに格納される値となシ得、当該
値は先の命令によりセットされている。条件が真であれ
ば、移送は完了して移送ゴーとなシ、真でない場合は移
送ノー・ゴーとなる。条件付き飛越し試験の共通の型式
はオペランドをメモリから中央処理装置のAレジスフに
ロードすることである。後続の飛越し命令はAレジスタ
内のデータが例えばOであるか否かをチェックする。そ
れが0であシ、真である場合には飛越しに対する条件に
合致し、現在の命令の流れが飛越し命令のターケ゛ット
命令から始まる新しい命令の流れに移送され、中央実行
パイプ・ライン・ユニット12はその新しい命令の流れ
を実行し始める。
たる飛越し命令26が実行される迄続行する。飛越し命
令には2種類、即ち条件付き飛越し命令と無条件飛越し
命令があることに注意すべきである。無条件飛越し命令
は常時そのターゲット命令に移送し若しくはそのターケ
ゝット命令に行き、当該命令は命令の新しいシーケンス
を開始させ、ターケゝット命令のアドレスは無条件の飛
越し命令26の好適実施態様におけるY即ちアドレス・
フィールドのビット0ないし17を構成要素として利用
するCEPU 12により形成される。命令の流れ28
の命令30といった条件付き飛越し命令が実行される場
合には新しい命令の流れに対する飛越しが発生するか若
しくは行なわれ、又は行表われないかを決定する条件が
インジケータ・レジスフに格納される値となシ得、当該
値は先の命令によりセットされている。条件が真であれ
ば、移送は完了して移送ゴーとなシ、真でない場合は移
送ノー・ゴーとなる。条件付き飛越し試験の共通の型式
はオペランドをメモリから中央処理装置のAレジスフに
ロードすることである。後続の飛越し命令はAレジスタ
内のデータが例えばOであるか否かをチェックする。そ
れが0であシ、真である場合には飛越しに対する条件に
合致し、現在の命令の流れが飛越し命令のターケ゛ット
命令から始まる新しい命令の流れに移送され、中央実行
パイプ・ライン・ユニット12はその新しい命令の流れ
を実行し始める。
第4図において、飛越し命令26は無条件移送命令であ
るところから、飛越命令26を実行すると命令の流れ2
4の後続のシーケンンアルな命令の実行が停止し、命令
の流れ28の命令がCEPU12内での実行を開始させ
る。実行される命令の流れ28の命令22は例えば後続
の飛越し命令に遭遇する迄連続蓋しくは一連の状態にな
っている。
るところから、飛越命令26を実行すると命令の流れ2
4の後続のシーケンンアルな命令の実行が停止し、命令
の流れ28の命令がCEPU12内での実行を開始させ
る。実行される命令の流れ28の命令22は例えば後続
の飛越し命令に遭遇する迄連続蓋しくは一連の状態にな
っている。
命令シーケンス即ち命令の流れ28において遭遇する最
初の飛越し命令は条件付き飛越し命令30である。この
例において、条件付き飛越し命令30はノー・ゴー命令
とみなす。即ち、チェックされる条件は真ではなく、従
って条件付き飛越し命令30のターゲットに対する移送
が発生しない。
初の飛越し命令は条件付き飛越し命令30である。この
例において、条件付き飛越し命令30はノー・ゴー命令
とみなす。即ち、チェックされる条件は真ではなく、従
って条件付き飛越し命令30のターゲットに対する移送
が発生しない。
従って、命令の流れ28の後続の一連の命令22の実行
が続行する。命令の流れ28内の飛越し命令32はテス
ト時に指定の条件が真であるか又は満たされることがら
ターケ゛ット命令に対する飛越しが発生する条件付き飛
越し命令である。従って、条件付き飛越し命令32は飛
越しゴーである。飛越し命令32がCEPU 12によ
シ実行される場合命令の流れ28内の命令22の以降の
実行が終了し、命令の流れ34への移送が生じ、それは
命令の流れ34の第1命令が飛越し命令32のターケ8
ットとなった状態で発生する。飛越し命令32のターゲ
ツトのアドレスは条件付きの飛越し命令32のYフィー
ルドを使用し、CEPU 12により作成される。こう
した飛越しはターケ8ット命令のアドレスを命令カウン
タ・レジスタ16内にロードすることによシ達成される
。しかる後、命令カウンタ・レノスタ16の内容が命令
の流れ34の後続の連続した命令のアドレスを作成する
ため命令取出しアドレス作成論理14により増加される
。
が続行する。命令の流れ28内の飛越し命令32はテス
ト時に指定の条件が真であるか又は満たされることがら
ターケ゛ット命令に対する飛越しが発生する条件付き飛
越し命令である。従って、条件付き飛越し命令32は飛
越しゴーである。飛越し命令32がCEPU 12によ
シ実行される場合命令の流れ28内の命令22の以降の
実行が終了し、命令の流れ34への移送が生じ、それは
命令の流れ34の第1命令が飛越し命令32のターケ8
ットとなった状態で発生する。飛越し命令32のターゲ
ツトのアドレスは条件付きの飛越し命令32のYフィー
ルドを使用し、CEPU 12により作成される。こう
した飛越しはターケ8ット命令のアドレスを命令カウン
タ・レジスタ16内にロードすることによシ達成される
。しかる後、命令カウンタ・レノスタ16の内容が命令
の流れ34の後続の連続した命令のアドレスを作成する
ため命令取出しアドレス作成論理14により増加される
。
第4図に図示されている最終的な事例は間接命令36の
事例である。間接命令は命令ワード22のアドレス部分
Yがメモリー内の間接ワードのアドレスとなるか又は当
該ワードのアドレス部分成するのに使用される命令であ
シ、当該間接ワードは間接命令のオペランドのアドレス
を含むことが出来るか又は他の間接ワードのアドレス等
を定めるのに使用可能である。使用可能な間接レベルの
個数には制限がなく、その個数はシステムにより実行さ
れるプログラムを書込ているプログラマ−の決定による
。間接命令に遭遇した場合には命令取出しユニット10
が間接命令の第1ターケ゛ツトワードをCF、PU 1
2に提供する。他の間接レベルがある場合には、CEP
U 12はターケ8ットの間接ワードを処理し、即ちコ
ンピュータ技術で良く知られている如く間接命令のオ波
ランドが呼出される時間布、ターケ゛ット間接ワードを
データ処理システムのキャッシュユニット18又はラン
ダム・アクセス・メモリから呼出す。
事例である。間接命令は命令ワード22のアドレス部分
Yがメモリー内の間接ワードのアドレスとなるか又は当
該ワードのアドレス部分成するのに使用される命令であ
シ、当該間接ワードは間接命令のオペランドのアドレス
を含むことが出来るか又は他の間接ワードのアドレス等
を定めるのに使用可能である。使用可能な間接レベルの
個数には制限がなく、その個数はシステムにより実行さ
れるプログラムを書込ているプログラマ−の決定による
。間接命令に遭遇した場合には命令取出しユニット10
が間接命令の第1ターケ゛ツトワードをCF、PU 1
2に提供する。他の間接レベルがある場合には、CEP
U 12はターケ8ットの間接ワードを処理し、即ちコ
ンピュータ技術で良く知られている如く間接命令のオ波
ランドが呼出される時間布、ターケ゛ット間接ワードを
データ処理システムのキャッシュユニット18又はラン
ダム・アクセス・メモリから呼出す。
間接命令は命令取出しユニッ)10によって飛越し命令
の様式と極めて類似した様式で処理され、間接命令は、
命令カウンタ・レジスタ16内のキャッシュ・アドレス
を間接命令のターゲットワードのキャッシュアドレスに
対応するキャッシュアドレスに変化させることによシ命
令取出しユニット10でターダット間接ワー ドを取出
させる。
の様式と極めて類似した様式で処理され、間接命令は、
命令カウンタ・レジスタ16内のキャッシュ・アドレス
を間接命令のターゲットワードのキャッシュアドレスに
対応するキャッシュアドレスに変化させることによシ命
令取出しユニット10でターダット間接ワー ドを取出
させる。
IFU 10がキャッシュユニット28からターゲット
ワードを先取りする過程を開始させると直ちに命令カウ
ンタ・レノスタ16がノぐツクアップ命令カウンタ・レ
ジスタ38内のアドレスでロードされ・るところから、
命令の流れ34の間接命令36に引続く命令が第4図に
示す如く呼出されることになる。その結果、命令の流れ
34内の命令22の実行が開始され、飛越しゴーである
次の飛越し命令又は間接命令に遭遇する迄続く。
ワードを先取りする過程を開始させると直ちに命令カウ
ンタ・レノスタ16がノぐツクアップ命令カウンタ・レ
ジスタ38内のアドレスでロードされ・るところから、
命令の流れ34の間接命令36に引続く命令が第4図に
示す如く呼出されることになる。その結果、命令の流れ
34内の命令22の実行が開始され、飛越しゴーである
次の飛越し命令又は間接命令に遭遇する迄続く。
第5図を参照すると、好適実施態様における命令取出し
ユニット10には5つの段階があり、又は尚該ユニット
はIFI 、 IFA 、 IFPC、IFC8及びI
FETの5つの命令先取りサイクルを有する命令先取
9/′Pイデ・ラインである。これら5つのサイクルを
完了した時点で先取り命令は通常命令スタック20内に
格納される。CEPU 12には各命令が流れる即ち通
過する5つの段階又はサイクルも備えである。5つの段
階又はサイクルは1.A、P、C。
ユニット10には5つの段階があり、又は尚該ユニット
はIFI 、 IFA 、 IFPC、IFC8及びI
FETの5つの命令先取りサイクルを有する命令先取
9/′Pイデ・ラインである。これら5つのサイクルを
完了した時点で先取り命令は通常命令スタック20内に
格納される。CEPU 12には各命令が流れる即ち通
過する5つの段階又はサイクルも備えである。5つの段
階又はサイクルは1.A、P、C。
C6,ETで表わされる。命令取出しユニット10とC
EPU i 2が構成要素となっている中央処理装置に
は完了させるのに1クロック期間以上を要する命令が実
行される複数個の拡張した実行ユニットも備えである。
EPU i 2が構成要素となっている中央処理装置に
は完了させるのに1クロック期間以上を要する命令が実
行される複数個の拡張した実行ユニットも備えである。
第5図において、これらのサイクルは中央実行パイプ・
ライン・ユニット12の最後のサイクル又は段階である
ETを越えて延在する結果パイプ・ライン4oにあるが
又はそれを含むものとして示されている。CEPU 1
2において「■」は命令サイクル、「A」はアドレス・
サイクル、1m P C」i−1?−ソングとキャッシ
ュアクセス・サイクル、FC8、!+はキャッシュ選択
サイクル、FETJ、は実行又は飛越しサイクルである
。
ライン・ユニット12の最後のサイクル又は段階である
ETを越えて延在する結果パイプ・ライン4oにあるが
又はそれを含むものとして示されている。CEPU 1
2において「■」は命令サイクル、「A」はアドレス・
サイクル、1m P C」i−1?−ソングとキャッシ
ュアクセス・サイクル、FC8、!+はキャッシュ選択
サイクル、FETJ、は実行又は飛越しサイクルである
。
命令取出しユニッ)10において各サイクル識F:J子
は「命令取出し」を表わす「IFJIが先に付けられて
いる点を除−てIFU 10のサイクルの名称と識別略
語はCEPU 12のものと類似している。
は「命令取出し」を表わす「IFJIが先に付けられて
いる点を除−てIFU 10のサイクルの名称と識別略
語はCEPU 12のものと類似している。
IFU 10 (7) IFIサイクル中に命令カウン
タ・レジスタ16は2だけ増加する。IFAサイクルに
おいては、命令カウンタ・レジスタ16の内容は第2図
に示されているキャッジ−ユニy ) 18 、!:
TIPテーブル42に分配される。rFpcサイクルに
おいてTIPテーブル42のディレクトリ44.■キャ
ッジー48のディレクトリ46.オペランドキャッシュ
52の゛ディレクトリ50がアクセスされる。
タ・レジスタ16は2だけ増加する。IFAサイクルに
おいては、命令カウンタ・レジスタ16の内容は第2図
に示されているキャッジ−ユニy ) 18 、!:
TIPテーブル42に分配される。rFpcサイクルに
おいてTIPテーブル42のディレクトリ44.■キャ
ッジー48のディレクトリ46.オペランドキャッシュ
52の゛ディレクトリ50がアクセスされる。
■キャッシュ48とオペランドキャッシュ52はキャッ
シュユニットist含む。IFCSサイクル中に命令の
対がIキャッシュデルタアレイ54又はオペランドキャ
ッシュデータアレイ56の4つのキャッシュレベルの1
つから選択される。この命令の対は命令取出しレジスタ
(IFR) 58に格納され、TIPテーブル・データ
アレイ62から2つのTIPテーブル・ワード60迄の
応答がチェックされ、命令取出しレジスタ58に設定さ
れた命令のいずれか一方が飛越しゴー又は間接命令とし
てTIPテーブル42内に記録されたか否かを調べる。
シュユニットist含む。IFCSサイクル中に命令の
対がIキャッシュデルタアレイ54又はオペランドキャ
ッシュデータアレイ56の4つのキャッシュレベルの1
つから選択される。この命令の対は命令取出しレジスタ
(IFR) 58に格納され、TIPテーブル・データ
アレイ62から2つのTIPテーブル・ワード60迄の
応答がチェックされ、命令取出しレジスタ58に設定さ
れた命令のいずれか一方が飛越しゴー又は間接命令とし
てTIPテーブル42内に記録されたか否かを調べる。
第5番目の命令先取りサイクルであるlFETにお−て
命令取出しレジスタ58内の命令の対は命令スタック2
0内に設定される。フォーマットが第6図に図示され、
■キャッジーデータアレイ54゜56のいずれか一方か
ら取出される命令に対するTIPテーブルアレイ62よ
り読出される各TIPテーブル・ワード60のビット4
及び5であるタイプ・コードが、命令のいずれか一方が
飛越しゴー又は間接命令であることを示す場合には、命
令カウンタ・レジスタ16が対応する命令のTIPテー
ブル・ワード60のビット6ないし16を、ターケ8ソ
トのキャン/ニアドレス内にロードする。
命令取出しレジスタ58内の命令の対は命令スタック2
0内に設定される。フォーマットが第6図に図示され、
■キャッジーデータアレイ54゜56のいずれか一方か
ら取出される命令に対するTIPテーブルアレイ62よ
り読出される各TIPテーブル・ワード60のビット4
及び5であるタイプ・コードが、命令のいずれか一方が
飛越しゴー又は間接命令であることを示す場合には、命
令カウンタ・レジスタ16が対応する命令のTIPテー
ブル・ワード60のビット6ないし16を、ターケ8ソ
トのキャン/ニアドレス内にロードする。
TIPテーブル・ワード60を得てキャッシュアドレス
を命令カウンタ・レジスタ16内にロードするため飛越
しコゝ−命令のキャッシュアドレスが命令カウンタ・レ
ジスタ16内にロードされた後、多数のクロック期間T
が要求される。その結果、現在の命令の流れの付加的な
、2個又はそれ以上の余分のダブル・ワード対がキャッ
シュユニット18から読出され、IFU 10が新しめ
命令の流れの命令を取出し始める前に命令スタック20
内に格納される。
を命令カウンタ・レジスタ16内にロードするため飛越
しコゝ−命令のキャッシュアドレスが命令カウンタ・レ
ジスタ16内にロードされた後、多数のクロック期間T
が要求される。その結果、現在の命令の流れの付加的な
、2個又はそれ以上の余分のダブル・ワード対がキャッ
シュユニット18から読出され、IFU 10が新しめ
命令の流れの命令を取出し始める前に命令スタック20
内に格納される。
予報された飛越しゴーが中央実行パイプ・ライン・ユニ
ット12による実行で飛越しノー・ゴー命令になる場合
には現在の命令の流れの余分のダブル・ワード対がCE
PU 12による使用に対し命令スタック20内で利用
可能となる。ニスタック・リンク制御スタック64内の
Iインクは、飛越し命令又は間接命令がCEPU 12
により実行される際には当該命令の予報されたターケゝ
ソトが正しくないものとなっている場合でも命令の適確
な順序を維持するよう、命令スタック20から読出され
るべき次の命令を指示する。
ット12による実行で飛越しノー・ゴー命令になる場合
には現在の命令の流れの余分のダブル・ワード対がCE
PU 12による使用に対し命令スタック20内で利用
可能となる。ニスタック・リンク制御スタック64内の
Iインクは、飛越し命令又は間接命令がCEPU 12
により実行される際には当該命令の予報されたターケゝ
ソトが正しくないものとなっている場合でも命令の適確
な順序を維持するよう、命令スタック20から読出され
るべき次の命令を指示する。
lFETサイクル中に爺令取出しレジスタ58内の命令
の一つがCEPU 12のステップ又は段階で実行を開
始するか又はその段階の処理を開始させる次の命令−で
ある場合には、当該命令は命令スフ、り20をパイノE
スするCEPU 12の基本命令レジスタ66に直接移
送可能となる。命令取出しレジスタ58内の命令がいず
れもCEPU 1.2によυ直ちに必要とされない場合
には、これらの命令は命令スタック20内に格納される
。
の一つがCEPU 12のステップ又は段階で実行を開
始するか又はその段階の処理を開始させる次の命令−で
ある場合には、当該命令は命令スフ、り20をパイノE
スするCEPU 12の基本命令レジスタ66に直接移
送可能となる。命令取出しレジスタ58内の命令がいず
れもCEPU 1.2によυ直ちに必要とされない場合
には、これらの命令は命令スタック20内に格納される
。
第5図に関連して注目すべき一つの事項は、iFU 1
0は一時に2個づつの命令を先取りし、一方、(JPU
12は命令を一時に1個処理していることである。従
って、命令取出しユニッ)10はCEPU 12が命令
を実行するよシ早い割合で命令を先取シする。CEPU
12が実行するのに利用可能な命令をIFU 10が
取出すのを待っている間にCEPU 12が遅延されな
いよう、’l”FU 10は新しい命令の流れにおける
命令又は間接ワードと同様現在の命令の流れにおける命
令を含む充分な個数の命令を先取りする時間と能力を持
っている。
0は一時に2個づつの命令を先取りし、一方、(JPU
12は命令を一時に1個処理していることである。従
って、命令取出しユニッ)10はCEPU 12が命令
を実行するよシ早い割合で命令を先取シする。CEPU
12が実行するのに利用可能な命令をIFU 10が
取出すのを待っている間にCEPU 12が遅延されな
いよう、’l”FU 10は新しい命令の流れにおける
命令又は間接ワードと同様現在の命令の流れにおける命
令を含む充分な個数の命令を先取りする時間と能力を持
っている。
先に指摘したように新しい流れの第1命令のアドレスを
命令カウンタ・レジスタ16内にロードするのに、飛越
しゴー又は間接命令がIFU 10によって取出された
後、通常数クロック期間Tかかシ、そのためIFU 1
0は現在の命令のシーケンス又は流れにおける命令を先
取シし、例えば2個以上の命令の対を引張り、新しい命
令の流れの命令を先取シする処理を開始する前に当該対
を命令スタック20内にロードし続ける。飛越し命令が
飛越しゴーとして予報され、それが飛越しゴーでない場
合には、その現在の命令の流れの飛越しノー・ゴー径路
に沿って8個迄の命令が命令スタック20内に格納され
る。これらの命令はCEPU 12に対する飛越しに利
用可能であるところから、 CEPU12は飛越しゴー
命令に対する決定がTIPテーブル42内のエントリー
によシ誤った予報がなされなかったならばIFU 10
が到るであろう個所までIFU 10が達するのを待つ
必要はない。
命令カウンタ・レジスタ16内にロードするのに、飛越
しゴー又は間接命令がIFU 10によって取出された
後、通常数クロック期間Tかかシ、そのためIFU 1
0は現在の命令のシーケンス又は流れにおける命令を先
取シし、例えば2個以上の命令の対を引張り、新しい命
令の流れの命令を先取シする処理を開始する前に当該対
を命令スタック20内にロードし続ける。飛越し命令が
飛越しゴーとして予報され、それが飛越しゴーでない場
合には、その現在の命令の流れの飛越しノー・ゴー径路
に沿って8個迄の命令が命令スタック20内に格納され
る。これらの命令はCEPU 12に対する飛越しに利
用可能であるところから、 CEPU12は飛越しゴー
命令に対する決定がTIPテーブル42内のエントリー
によシ誤った予報がなされなかったならばIFU 10
が到るであろう個所までIFU 10が達するのを待つ
必要はない。
第2図を参照すると、命令カウンタ・レジスタ16は現
在の命令の流れにおける次の対の命令のキャッシュ・ア
、ドレスを保持−する。好適実施態様におけるキャッシ
ュ・アドレスはシステム・メモリ内の命令の26ビツト
・フィジカル・アドレスの下位11ビツトである。フィ
ジカル・アドレスはシステム・メモリ内の命令又はオペ
ランドの実際のアドレスである。キャッシュ・アドレス
はCEPU 12によシ提供可能であシ、又は当該アド
レスは誤った径路アドレス・バックアップ・スタック6
8から、バックアップ命令カウンタ・レジスタ38から
又はTIPテーブル・データ・アレイ62から直接的若
しくはターケ゛ット・キャッシュ・アドレス・スタック
70から得ることが出来る。
在の命令の流れにおける次の対の命令のキャッシュ・ア
、ドレスを保持−する。好適実施態様におけるキャッシ
ュ・アドレスはシステム・メモリ内の命令の26ビツト
・フィジカル・アドレスの下位11ビツトである。フィ
ジカル・アドレスはシステム・メモリ内の命令又はオペ
ランドの実際のアドレスである。キャッシュ・アドレス
はCEPU 12によシ提供可能であシ、又は当該アド
レスは誤った径路アドレス・バックアップ・スタック6
8から、バックアップ命令カウンタ・レジスタ38から
又はTIPテーブル・データ・アレイ62から直接的若
しくはターケ゛ット・キャッシュ・アドレス・スタック
70から得ることが出来る。
命令の流れが通常続行している場合即ち連続的に続行シ
ている場合には命令カウンタ・レジスタ16内の命令の
キャッシュ・アドレスが加算回路72に与えられ、当該
回路で2だけ増力目し、次の対の命令のキャッシュアド
レスを形成スる。この増加したアドレスが次に命令カウ
ンタ・レジスタ16内にロードされる。一般に、ノぐツ
クアップ命令カウンタ・レジスタ38の内容は命令カウ
ンタ・レジスタ16内の内容′と同じである。
ている場合には命令カウンタ・レジスタ16内の命令の
キャッシュ・アドレスが加算回路72に与えられ、当該
回路で2だけ増力目し、次の対の命令のキャッシュアド
レスを形成スる。この増加したアドレスが次に命令カウ
ンタ・レジスタ16内にロードされる。一般に、ノぐツ
クアップ命令カウンタ・レジスタ38の内容は命令カウ
ンタ・レジスタ16内の内容′と同じである。
■スタック・リンク制御スタック64は、命令スタック
20からCEPU 12の基本命令レジスタ66に転送
されるべき次の命令を識別するため、TIPテーブル・
ワード60から得られる情報に基づいたポインタを含む
。命令スタック20力為ら読出される命令は各クロック
期間に対し1個程度の割合で読出される。
20からCEPU 12の基本命令レジスタ66に転送
されるべき次の命令を識別するため、TIPテーブル・
ワード60から得られる情報に基づいたポインタを含む
。命令スタック20力為ら読出される命令は各クロック
期間に対し1個程度の割合で読出される。
■キャッシュ48のディレクトリ46又はオ啄ランドキ
ャッジ、52のディレクトリ50から得られるにしろ、
キャッシュアドレスが命令カウンタ・レジスタ16内に
あった命令の対の実ページ番号(RPN )は第3図に
図解したIRPNスタック74内に格納される。■キー
vyシュ48のディレクトリ46の各カラムの4つのレ
ベルに対応する4つのレジスタ76a 、76b 、7
6c 、76d及びオペランドキャッシュ52のディレ
クト1ノ50の各カラムの4つのレベルに対応する4つ
のレジスタ78a I 78b l 78c及び78d
稈命令の実ページ番号を保持する。命令スタック20の
所定のレベル内にロードされた命令の実ページ番号はI
RPNスタック74の対応するレベル内に書込まれる
。同様にして、誤った径路アドレス・・々ツクアップ・
スタック68と■スタック・リンク制御スタック64も
レベルが16個ある。
ャッジ、52のディレクトリ50から得られるにしろ、
キャッシュアドレスが命令カウンタ・レジスタ16内に
あった命令の対の実ページ番号(RPN )は第3図に
図解したIRPNスタック74内に格納される。■キー
vyシュ48のディレクトリ46の各カラムの4つのレ
ベルに対応する4つのレジスタ76a 、76b 、7
6c 、76d及びオペランドキャッシュ52のディレ
クト1ノ50の各カラムの4つのレベルに対応する4つ
のレジスタ78a I 78b l 78c及び78d
稈命令の実ページ番号を保持する。命令スタック20の
所定のレベル内にロードされた命令の実ページ番号はI
RPNスタック74の対応するレベル内に書込まれる
。同様にして、誤った径路アドレス・・々ツクアップ・
スタック68と■スタック・リンク制御スタック64も
レベルが16個ある。
第7図に図解した回路の機能はCEPE 12により実
行されている時の各命令のアドレスが正しいことを確認
することにある。これは飛越し命令がCEPU 12内
でそのPCサイクルを完了する際当該命令に対しCEP
U 12から得られるレジスタ8o内の命令の流れのペ
ージ番号(ISRPN)を当該命令がIFU 10によ
って命令スタック2o内に設定された時点のI RPN
スタック74内に格納された実ページ番号と比較するこ
とにより達成される。従って、CEPU 12のCSサ
イクルにおいて、CEPU 12のCSサイクルでの命
令の実ページ番号(RPN)は命令の実ページ番号スタ
ックI RPNスタック74がら読出され、命令の流れ
の実ページ番号のレジスタ80内にある内容と比較器8
2にょシ比較される。
行されている時の各命令のアドレスが正しいことを確認
することにある。これは飛越し命令がCEPU 12内
でそのPCサイクルを完了する際当該命令に対しCEP
U 12から得られるレジスタ8o内の命令の流れのペ
ージ番号(ISRPN)を当該命令がIFU 10によ
って命令スタック2o内に設定された時点のI RPN
スタック74内に格納された実ページ番号と比較するこ
とにより達成される。従って、CEPU 12のCSサ
イクルにおいて、CEPU 12のCSサイクルでの命
令の実ページ番号(RPN)は命令の実ページ番号スタ
ックI RPNスタック74がら読出され、命令の流れ
の実ページ番号のレジスタ80内にある内容と比較器8
2にょシ比較される。
この比較が行なわれると命令は正しいとみなされ、比較
が行なわれない場合には命令はエラーがあると見なされ
る。
が行なわれない場合には命令はエラーがあると見なされ
る。
命令が間接命令である場合にはCEPU 12により作
成された間接ページ番号のターゲットの実ページ番号が
INDRPNレジスタ84に格納される。
成された間接ページ番号のターゲットの実ページ番号が
INDRPNレジスタ84に格納される。
INDRPNレジスタ84内の間接的な実ページ番号は
IRDNスタック74内に格納されたターケゝノドのペ
ージ番号と比較器86によって比較される。いずれの場
合でも比較器82.86のいずれか一方が比較を示さな
い場合には命令は不適当となる。CCEPU 12のC
Sサイクルでの命令が飛越しゴーと予報された場合には
当該命令を実行している際、CEPU 12がその命令
が飛越しノー・ゴーであることを決定し、ノー・ゴーの
実ページ番号がETサイクル中にCEPU 12からI
RPN−ETレジスタ88にロードされる。次のサイク
ル時にこの正確な実ページ番号はレジスタIRPN−E
l 90にロードされ、当該レジスタからl5RPNレ
ジスタ80にロードされる。IRPN−ETレジスタ8
8とレジスタIRPN−Elを含む回路の機能はl5R
PNレジスタ80内の実ページ番号が常時正確であるこ
とを確認することにある。この回路は又INDRPNレ
ジスタ84内の間接的な実ページ番号も常時圧しいこと
を確認する。
IRDNスタック74内に格納されたターケゝノドのペ
ージ番号と比較器86によって比較される。いずれの場
合でも比較器82.86のいずれか一方が比較を示さな
い場合には命令は不適当となる。CCEPU 12のC
Sサイクルでの命令が飛越しゴーと予報された場合には
当該命令を実行している際、CEPU 12がその命令
が飛越しノー・ゴーであることを決定し、ノー・ゴーの
実ページ番号がETサイクル中にCEPU 12からI
RPN−ETレジスタ88にロードされる。次のサイク
ル時にこの正確な実ページ番号はレジスタIRPN−E
l 90にロードされ、当該レジスタからl5RPNレ
ジスタ80にロードされる。IRPN−ETレジスタ8
8とレジスタIRPN−Elを含む回路の機能はl5R
PNレジスタ80内の実ページ番号が常時正確であるこ
とを確認することにある。この回路は又INDRPNレ
ジスタ84内の間接的な実ページ番号も常時圧しいこと
を確認する。
与えられた命令に対するTIPテーブル・ワード60が
飛越しゴーを予報し、実際、飛越しがノー・ゴーである
場合にはノー・ゴー径路又は誤った径路アドレス即ち現
在の命令の流れのアドレスが誤った径路アドレス・バン
クアンプ・スタックたるレジスタ68から得られ、命令
カウンタ・レジスタ16にロードされる。与えられた命
令に対する’I’IPテーブル・ワード60が飛越しゴ
ーを予報する度に、現在の命令の流れから取出される最
後の命令のキャソノーアドレスは対応する命令が命令ス
タック20内に格納されたレベルに対応する径路アドレ
ス・バンクアンプ・スタック68のレベルにおいて誤っ
た径路アドレス・バンクアップ・スタック68に格納さ
れる。移送ゴー又は間接命令の誤った予報が生じる場合
には命令スタック20内の誤って予報された命令のレベ
ルに対応する誤った径路アドレス・バックアップ・スタ
ック68内のレベルからのアドレスが命令カウンタ・レ
ジスタ16内にロードされ、命令カウンタ・レジスタ1
6内の現在の正しいアドレスを増加させるプロセスが開
始される。以前指摘したように、現在の命令の流れの命
令は8個までの命令スタック20から利用可能であるた
め、元の又は現在の命令の流れを開始させるだめ命令カ
ウンタ・レジスタ16内にロードされる前に誤った径路
のアドレスが充−分に数回、増加可能とされる。TIP
テーブル・ワード60によって予報されたターケ8ット
・キャッシュアドレスが正しくない場合には正しいアド
レスがCEPU 12により発生され、キャッシュ・ア
ドレス部分たる下位11ビツトが直接命令カウンタ・レ
ジスタ16内にロードされるところから、IFU 10
は新しい命令の流れの命令を取出し、再開始させること
が出来る。これらの回復機構を設ける理由は飛越しがゴ
ーであるか又はノー・コゝ〜であるか、そしてコゞ−で
ある場合にはアドレスが正しく予報されたか否かをCE
PU 12のETサイクルまで当該CEPU 12によ
って決定されないことによる。従って、実行を誤って開
始させた飛越し命令の背後にはCEPU 12内に多数
の命令が存在する可能性がある。TIPテーブル42に
よって誤って予報された命令に引続く全ての命令はCE
PU 12によって消去され、パイプ・ラインがバック
アンプされ、正しい径路に沿って再開される。
飛越しゴーを予報し、実際、飛越しがノー・ゴーである
場合にはノー・ゴー径路又は誤った径路アドレス即ち現
在の命令の流れのアドレスが誤った径路アドレス・バン
クアンプ・スタックたるレジスタ68から得られ、命令
カウンタ・レジスタ16にロードされる。与えられた命
令に対する’I’IPテーブル・ワード60が飛越しゴ
ーを予報する度に、現在の命令の流れから取出される最
後の命令のキャソノーアドレスは対応する命令が命令ス
タック20内に格納されたレベルに対応する径路アドレ
ス・バンクアンプ・スタック68のレベルにおいて誤っ
た径路アドレス・バンクアップ・スタック68に格納さ
れる。移送ゴー又は間接命令の誤った予報が生じる場合
には命令スタック20内の誤って予報された命令のレベ
ルに対応する誤った径路アドレス・バックアップ・スタ
ック68内のレベルからのアドレスが命令カウンタ・レ
ジスタ16内にロードされ、命令カウンタ・レジスタ1
6内の現在の正しいアドレスを増加させるプロセスが開
始される。以前指摘したように、現在の命令の流れの命
令は8個までの命令スタック20から利用可能であるた
め、元の又は現在の命令の流れを開始させるだめ命令カ
ウンタ・レジスタ16内にロードされる前に誤った径路
のアドレスが充−分に数回、増加可能とされる。TIP
テーブル・ワード60によって予報されたターケ8ット
・キャッシュアドレスが正しくない場合には正しいアド
レスがCEPU 12により発生され、キャッシュ・ア
ドレス部分たる下位11ビツトが直接命令カウンタ・レ
ジスタ16内にロードされるところから、IFU 10
は新しい命令の流れの命令を取出し、再開始させること
が出来る。これらの回復機構を設ける理由は飛越しがゴ
ーであるか又はノー・コゝ〜であるか、そしてコゞ−で
ある場合にはアドレスが正しく予報されたか否かをCE
PU 12のETサイクルまで当該CEPU 12によ
って決定されないことによる。従って、実行を誤って開
始させた飛越し命令の背後にはCEPU 12内に多数
の命令が存在する可能性がある。TIPテーブル42に
よって誤って予報された命令に引続く全ての命令はCE
PU 12によって消去され、パイプ・ラインがバック
アンプされ、正しい径路に沿って再開される。
第8図にはニスタック・リンク制御スタック64の詳細
が開示しである。ニスタック・リンク制御スタック64
は2つの部分即ちリンク・リスト・スタック62とTI
Pテーブル・ヒストリー・スタック94に分割されたも
のとして考えることが出来る。これらのスタックの各ス
タックもレベルは16個ある。リンク・リスト・スタッ
ク92は3つのカラム即ちノー・コゝ−・ポインタ・カ
ラム96 、偶nターゲット・ポインタ・カラム98及
ヒ奇数ターゲツト・ポインタ・カラム100K分割され
る。好適実施態様における各ポインタは5ビツトで構成
されている。TIPテーブル・ヒストリー・スタック9
4のヒツト・ヒストリー・カラム102は幅が4ビツト
あシ、2個のビットでヒツト・ヒストリー偶数列104
を形成し、残シの2ビツトでヒツト・ヒストリー奇数列
106を形成する。従って、命令スタック2oの所定の
レベル内での各命令に対し、ヒツト・ヒストリー・ビッ
ト又はタイプ・コードは2個存在する。第9図は、各タ
イプ・コードの重要性即ち意味を定めるテーブルである
。イニシャライズされた有効ビット・カラム108は真
の値即ち論理1の場合ノー・ゴー・ポインタ・カラム9
6.偶数ターゲット・ポインタ・カラム98.奇数ター
ゲット・ポインタ・カラム100及びヒツト・ヒストリ
ー・カラム102の当該レベル内の全てのデータが有効
であることを意味する1ビツトを有している。
が開示しである。ニスタック・リンク制御スタック64
は2つの部分即ちリンク・リスト・スタック62とTI
Pテーブル・ヒストリー・スタック94に分割されたも
のとして考えることが出来る。これらのスタックの各ス
タックもレベルは16個ある。リンク・リスト・スタッ
ク92は3つのカラム即ちノー・コゝ−・ポインタ・カ
ラム96 、偶nターゲット・ポインタ・カラム98及
ヒ奇数ターゲツト・ポインタ・カラム100K分割され
る。好適実施態様における各ポインタは5ビツトで構成
されている。TIPテーブル・ヒストリー・スタック9
4のヒツト・ヒストリー・カラム102は幅が4ビツト
あシ、2個のビットでヒツト・ヒストリー偶数列104
を形成し、残シの2ビツトでヒツト・ヒストリー奇数列
106を形成する。従って、命令スタック2oの所定の
レベル内での各命令に対し、ヒツト・ヒストリー・ビッ
ト又はタイプ・コードは2個存在する。第9図は、各タ
イプ・コードの重要性即ち意味を定めるテーブルである
。イニシャライズされた有効ビット・カラム108は真
の値即ち論理1の場合ノー・ゴー・ポインタ・カラム9
6.偶数ターゲット・ポインタ・カラム98.奇数ター
ゲット・ポインタ・カラム100及びヒツト・ヒストリ
ー・カラム102の当該レベル内の全てのデータが有効
であることを意味する1ビツトを有している。
命令スタック20内の命令のアドレス、特にそのレベル
と当該命令が奇数又は偶数であれ、そのアドレスはノー
・ゴー・ポインタ・カラム96、偶数ターケ゛ソト・ポ
インタ・カラム98及び奇数ターケ9ット・ポインタ・
カラム100内のポインタを構成する5ビツトの2進数
である。命令スタック20内に書込む次の命令に対する
ニスタック書込みアドレスは命令スタック書込みアドレ
ス(l5WA ) +−7シフタ110内に格納され当
該アドレスは加算器112によって各命令の対ごとに一
回増加される。命令スタック2o内への命令の書込みは
ラウンド・ロビン規準で行なわれる。
と当該命令が奇数又は偶数であれ、そのアドレスはノー
・ゴー・ポインタ・カラム96、偶数ターケ゛ソト・ポ
インタ・カラム98及び奇数ターケ9ット・ポインタ・
カラム100内のポインタを構成する5ビツトの2進数
である。命令スタック20内に書込む次の命令に対する
ニスタック書込みアドレスは命令スタック書込みアドレ
ス(l5WA ) +−7シフタ110内に格納され当
該アドレスは加算器112によって各命令の対ごとに一
回増加される。命令スタック2o内への命令の書込みは
ラウンド・ロビン規準で行なわれる。
ニスタック・リンク制御スタック64の機能はCEPU
12からの要求に応答して命令スタック2゜から読出
されたシ、cEPU12の基本命令レジスタ66内に読
込まれる命令スタック2o内の次の命令を定めることで
ある。命令スタック2oの所定のレベル内での命令に対
してはリンク・リスト・スタック92のノー・ゴー・ポ
インタ・カラム96、偶数ターゲット・ポインタ・カラ
ム98゜奇数ターゲット・ポインタ・カラムlooの少
なくとも1つにエントリ又はポインタがあり、当該ポイ
ンタは命令スタック2oがら読出される次の命令の奇数
若しくは偶数にしろ、そのアドレスとレベルを指示し又
は識別する。現在の命令の流れが続行しているか又は飛
越しゴーとして予報される条件付き飛越し命令が飛越し
ノー・ゴーとなる場合にはノー・ゴー・ポインタ・カラ
ム96の与えられたレベルによるポインタは命令スタッ
ク20から読出される次の命令の対のレベルを指す。
12からの要求に応答して命令スタック2゜から読出
されたシ、cEPU12の基本命令レジスタ66内に読
込まれる命令スタック2o内の次の命令を定めることで
ある。命令スタック2oの所定のレベル内での命令に対
してはリンク・リスト・スタック92のノー・ゴー・ポ
インタ・カラム96、偶数ターゲット・ポインタ・カラ
ム98゜奇数ターゲット・ポインタ・カラムlooの少
なくとも1つにエントリ又はポインタがあり、当該ポイ
ンタは命令スタック2oがら読出される次の命令の奇数
若しくは偶数にしろ、そのアドレスとレベルを指示し又
は識別する。現在の命令の流れが続行しているか又は飛
越しゴーとして予報される条件付き飛越し命令が飛越し
ノー・ゴーとなる場合にはノー・ゴー・ポインタ・カラ
ム96の与えられたレベルによるポインタは命令スタッ
ク20から読出される次の命令の対のレベルを指す。
偶数ターゲット・ポインタ・カラム98の所定のレベル
にある有効なポインタは偶数番号の命令のターゲットが
格納される命令スタック20内のレベルとカラムを指す
か又は識別する。奇数ターケ゛ノド・ポインタ・カラム
100内のポインタは奇数番号の゛r/I命令の目標値
が命令スタック20内に格納される命令スタック20内
のレベルトカラムを識別する。条件付き飛越し命令が実
行される場合、前記指摘の如く当該命令は移送ノー・ゴ
ー命令となり得、その前の実行の場合でも当該命令は飛
越しコ8−命令であった。この様な場合、次の命令はノ
ー ・ゴー・ポインタ・カラム96の対応するレベルの
ノー・ゴー・ポインタにより表わされるか又は示される
現在の命令の流れ内の次の連続した命令である。こうし
た状況においては、命令スタック20内の現在の命令の
流れの次の連続的な命令の位置を示すか又は表わすため
ノー・ゴー・ポインタのみが使用される。
にある有効なポインタは偶数番号の命令のターゲットが
格納される命令スタック20内のレベルとカラムを指す
か又は識別する。奇数ターケ゛ノド・ポインタ・カラム
100内のポインタは奇数番号の゛r/I命令の目標値
が命令スタック20内に格納される命令スタック20内
のレベルトカラムを識別する。条件付き飛越し命令が実
行される場合、前記指摘の如く当該命令は移送ノー・ゴ
ー命令となり得、その前の実行の場合でも当該命令は飛
越しコ8−命令であった。この様な場合、次の命令はノ
ー ・ゴー・ポインタ・カラム96の対応するレベルの
ノー・ゴー・ポインタにより表わされるか又は示される
現在の命令の流れ内の次の連続した命令である。こうし
た状況においては、命令スタック20内の現在の命令の
流れの次の連続的な命令の位置を示すか又は表わすため
ノー・ゴー・ポインタのみが使用される。
TIPテーブルのヒツト・ヒストリー・カラム102、
特にヒツト・ヒストリー偶数列104とヒツト・ヒスト
リー奇数列106は先のヒストリーに基づく情報を提供
し、即ち命令スタック20に格納された各T / I命
令に対するTIPテーブル・ワード60のビット4及び
5はリンク・リスト・スタック92からの適当なポイン
タが■スタック読取リアドレス レジスタ118に転送
されるよう制御回路114にスイッチ116のどの組が
可能化されるかを選択可能にする。TIPテーブルのヒ
ント・ヒストリー・カラム]02は命令スタック20と
同様にレベルが16種類あり命令スタック20の対応す
るレベルにある各対の命令の各ワードに対し2ビツトの
エントリーがある。これら2個のビット即ちクイズ コ
ードばそれらの対応する命令が飛越し命令か又は間接命
令であるかを表わす。
特にヒツト・ヒストリー偶数列104とヒツト・ヒスト
リー奇数列106は先のヒストリーに基づく情報を提供
し、即ち命令スタック20に格納された各T / I命
令に対するTIPテーブル・ワード60のビット4及び
5はリンク・リスト・スタック92からの適当なポイン
タが■スタック読取リアドレス レジスタ118に転送
されるよう制御回路114にスイッチ116のどの組が
可能化されるかを選択可能にする。TIPテーブルのヒ
ント・ヒストリー・カラム]02は命令スタック20と
同様にレベルが16種類あり命令スタック20の対応す
るレベルにある各対の命令の各ワードに対し2ビツトの
エントリーがある。これら2個のビット即ちクイズ コ
ードばそれらの対応する命令が飛越し命令か又は間接命
令であるかを表わす。
TIPテーブル・ワード60は命令がCEPU 12に
よシ実行される際そのTIPテーブル・ワード60によ
って命令が正しくなく予報されていたことが判明した場
合CEPU ]、 2によシ準備される。命令は全て最
初にキャッジ−ユニット18内に格納された際ノー・ゴ
ーとして予報され即ち現在の命令の流れが続行する。好
適実施態様において8個の命令の新シいブロックがキャ
ッシュ・ユニット18内に格納されるとキャッシユ、・
ユニット18からクリアされた命令のグロックに組合っ
ているTIPテーブル・ワード60がTIPテーブル4
2からクリアされる。CEPU 12はTIPテーブル
・ワード60を準備し、命令がノー・ゴーであるという
仮定又はTIPテーブル42内にTIPテーブル・ワー
ド60が存在することにより表わされる命令のだめのT
IPテーブル予報が、当該命令がCEPU 12により
実行されるときに、不正確であると判った場合にのみ当
該TIPテーブル・ワードをTIPテーブル42に格納
する。これは例えば飛越しゴー命令がキャラ/−・ユニ
ット18内に格納されて、引続き最初に当該命令が実行
されている場合又はその対応する又は組合っているTI
Pテーブル・ワード60により飛越しコ゛−と予報され
た命令がそのCEPU12内での実行を完了した時点で
ノー・コ゛−であると判明した場合に発生する。
よシ実行される際そのTIPテーブル・ワード60によ
って命令が正しくなく予報されていたことが判明した場
合CEPU ]、 2によシ準備される。命令は全て最
初にキャッジ−ユニット18内に格納された際ノー・ゴ
ーとして予報され即ち現在の命令の流れが続行する。好
適実施態様において8個の命令の新シいブロックがキャ
ッシュ・ユニット18内に格納されるとキャッシユ、・
ユニット18からクリアされた命令のグロックに組合っ
ているTIPテーブル・ワード60がTIPテーブル4
2からクリアされる。CEPU 12はTIPテーブル
・ワード60を準備し、命令がノー・ゴーであるという
仮定又はTIPテーブル42内にTIPテーブル・ワー
ド60が存在することにより表わされる命令のだめのT
IPテーブル予報が、当該命令がCEPU 12により
実行されるときに、不正確であると判った場合にのみ当
該TIPテーブル・ワードをTIPテーブル42に格納
する。これは例えば飛越しゴー命令がキャラ/−・ユニ
ット18内に格納されて、引続き最初に当該命令が実行
されている場合又はその対応する又は組合っているTI
Pテーブル・ワード60により飛越しコ゛−と予報され
た命令がそのCEPU12内での実行を完了した時点で
ノー・コ゛−であると判明した場合に発生する。
命令スタック20の所定のレベルにある命令のいずれも
飛越しゴー命令又は間接命令であると予報されない場合
には、これらの命令に対するTIPテーブル・ワード6
0はTIPテーブル42内に書込まれる。更にこれらの
命令がキャッシュ・ユニット]8から読出されるときヒ
ツト・ヒストリーカラム102内に設置された対応する
エントリー即ちそのレベルに対するヒント・ヒストリー
偶数アレイ104とヒツト・ヒストリー奇数アレイ10
6内の2ビツトのコードが2進数11となる。
飛越しゴー命令又は間接命令であると予報されない場合
には、これらの命令に対するTIPテーブル・ワード6
0はTIPテーブル42内に書込まれる。更にこれらの
命令がキャッシュ・ユニット]8から読出されるときヒ
ツト・ヒストリーカラム102内に設置された対応する
エントリー即ちそのレベルに対するヒント・ヒストリー
偶数アレイ104とヒツト・ヒストリー奇数アレイ10
6内の2ビツトのコードが2進数11となる。
これらの信号は当該レベルに対するノー・コ゛−・ポイ
ンタ・カラム96からのノー・ゴー・ポインタが1スタ
ック読取りアドレス・レジスタ118に書込まれるよう
制御論理たる制御回路114にスイッチ116をケ゛−
1・化即ち可能化させ、当該し/スタは命令スタック2
0から読出される及びCEI)U 12の基本命令レジ
スタ66に書込まれる次の連続した命令を選択する。命
令スタック20の同じレベルとカラムにある命令が飛越
しゴー又は間接命令であることをTIPデープルのヒン
ト・ヒストリー カラム102が予報する場合には、ポ
インタ論理120は汐−グソトが命令スタック2゜の偶
数カラム122又は奇数カラム124にあるか否かを識
別するとともに、ターケ゛ソトの命令スタック20内の
レベルを識別して、偶数ターケゞノド・ポインタ・カラ
ム98又は奇数ターグット・ポインタ・カラム100に
ポインタを書込む。ターケ゛ットに対するポインタは命
令がその命令の流れ又はシーケンスで偶数番号の命令で
ある場合にidIスタック・リンク制御のポインタ論理
120により偶数カラム122内に書込まれ、命令が奇
数番号の命令である場合には奇数カラム124内にt込
まれる。各ポインタの4つのピントは16個のレベルの
1つを特異に表わし、5番目のビットはターケ゛ノドが
偶数カラム122又は奇数カラム124内にあるか否か
を表わす。
ンタ・カラム96からのノー・ゴー・ポインタが1スタ
ック読取りアドレス・レジスタ118に書込まれるよう
制御論理たる制御回路114にスイッチ116をケ゛−
1・化即ち可能化させ、当該し/スタは命令スタック2
0から読出される及びCEI)U 12の基本命令レジ
スタ66に書込まれる次の連続した命令を選択する。命
令スタック20の同じレベルとカラムにある命令が飛越
しゴー又は間接命令であることをTIPデープルのヒン
ト・ヒストリー カラム102が予報する場合には、ポ
インタ論理120は汐−グソトが命令スタック2゜の偶
数カラム122又は奇数カラム124にあるか否かを識
別するとともに、ターケ゛ソトの命令スタック20内の
レベルを識別して、偶数ターケゞノド・ポインタ・カラ
ム98又は奇数ターグット・ポインタ・カラム100に
ポインタを書込む。ターケ゛ットに対するポインタは命
令がその命令の流れ又はシーケンスで偶数番号の命令で
ある場合にidIスタック・リンク制御のポインタ論理
120により偶数カラム122内に書込まれ、命令が奇
数番号の命令である場合には奇数カラム124内にt込
まれる。各ポインタの4つのピントは16個のレベルの
1つを特異に表わし、5番目のビットはターケ゛ノドが
偶数カラム122又は奇数カラム124内にあるか否か
を表わす。
好適実施態様におけるタイミングはリンク・リスト・ス
タック92とTIPテーブル・ヒストリー・スタック9
4の所定のレベルの全てのビットをイニシャライズする
時間がないようになっでいるところから、T工Pテーブ
ル・ヒストリー・スタック94の有効ビット・カラム1
−08の各レベルにおけるイニシャライズされた有効ビ
ットは実行するビットであり、その理由は当該全てのビ
ットが同時に読取られ且つ書込まれることによる。エラ
ーを防止するため、イニシャライズされたビットはIス
タック・リンク制御スタック64の所定レベルにおける
ポインタがどれも有効でないことを表わす本実施態様に
おけるOにポインタ論理120によシリセットされ、当
該レベルに対するポインタとヒツト・ヒストリー・スタ
ック・エントリが有効で、従って使用可能となる際論理
1にセットされる。命令又は間接ワードはタイミングが
CEPU 12によって制御され−る状態で1回に1ワ
ードが命令スタック20から読出される。然し乍ら、I
FU・10はCEPU 12からの要求に応じてどの命
令が命令スタック20から読出されるかを決定する。
タック92とTIPテーブル・ヒストリー・スタック9
4の所定のレベルの全てのビットをイニシャライズする
時間がないようになっでいるところから、T工Pテーブ
ル・ヒストリー・スタック94の有効ビット・カラム1
−08の各レベルにおけるイニシャライズされた有効ビ
ットは実行するビットであり、その理由は当該全てのビ
ットが同時に読取られ且つ書込まれることによる。エラ
ーを防止するため、イニシャライズされたビットはIス
タック・リンク制御スタック64の所定レベルにおける
ポインタがどれも有効でないことを表わす本実施態様に
おけるOにポインタ論理120によシリセットされ、当
該レベルに対するポインタとヒツト・ヒストリー・スタ
ック・エントリが有効で、従って使用可能となる際論理
1にセットされる。命令又は間接ワードはタイミングが
CEPU 12によって制御され−る状態で1回に1ワ
ードが命令スタック20から読出される。然し乍ら、I
FU・10はCEPU 12からの要求に応じてどの命
令が命令スタック20から読出されるかを決定する。
第10図には命令又は命令の流れの多数のノーケンスが
図解されている。第11図には第10図の命令の流れの
命令の命令スタック20内の位置、TIPテーブルのヒ
ント・ヒストリー・カラム102とリンク・リスト・ス
タック920ノー・ゴー・ポインタ・カラム96、偶数
ターゲット・ポインタ・カラム98及び奇数ターゲット
・ポインタ・カラム1()0内の対応するポインタの内
容が図解され゛ている。命令の流れ126.128.1
30及び132には本発明の機能特にIスタック・リン
ク制御スタック64の機能の説明を容易にするため移送
命令と間接命令の語例が含まれている。
図解されている。第11図には第10図の命令の流れの
命令の命令スタック20内の位置、TIPテーブルのヒ
ント・ヒストリー・カラム102とリンク・リスト・ス
タック920ノー・ゴー・ポインタ・カラム96、偶数
ターゲット・ポインタ・カラム98及び奇数ターゲット
・ポインタ・カラム1()0内の対応するポインタの内
容が図解され゛ている。命令の流れ126.128.1
30及び132には本発明の機能特にIスタック・リン
ク制御スタック64の機能の説明を容易にするため移送
命令と間接命令の語例が含まれている。
命令の流れ126の命令は命令1,2,3,4゜5.6
として表わされている。命令2は奇数番号の命令であり
、移送ゴー命令である。命令の流れ126の命令2のタ
ーゲットは命令の流れ128の命令Aである。これは命
令の流れ126の命令2の先の実行時にターゲットが命
令の流れ128の命令Aであった飛越しゴー命令であっ
たことから知られている。命令2は、命令スタック20
の奇数カラム124のレベル0に書込まれる。ターケ゛
ソトの命令Aはそれが奇数番号の命令として識別され又
は奇数番号の命令となっているので命令スタック20の
奇数カラム124内のレベル3に書込まれる。リンク制
御論理たるポインタ論理120は奇数ターゲット・ポイ
ンタ・カラム100のレベルOに、命令2のターダッI
−Aが書込まれている命令スタック20内のレベルを指
すポインタ「30」を書込む。奇数ターゲット・ポイン
タカラム100内の文字「0」は命令スタック20内の
命令2のターゲットAの位置、即ち奇数カラム124の
レベル3、を正確に識別するため、奇数を意味している
。命令2は奇数番号の命令として表わされるので、「レ
ベル3」「奇数」を表わす「30」のポインタが奇数タ
ーゲット・ポインタ・カラム100内に書込まれる。ヒ
ツト・ヒストリー・カラム102内のヒツト・ヒストリ
ー奇数列106において、タイプ・コード01は命令2
がその実行前の時に移送ゴーであったことを表わす。命
令2に対するTIPテーブル・ワード60のビット6な
いし19はターゲット命令Aのキャッシュアドレスを提
供する。ヒツト・ヒストリーカラム102のヒント・ヒ
ストリー偶数列104のOレベルに書込まれているタイ
プ・コード11は、命令の流れ126の命令lが移送命
令又は間接命令として予報されず、そのだめノー・ゴー
・ポインタ・カラム96内のレベル0にあるポインタが
現在の命令の流れの命令の次の対が格納されている命令
スタック20内の位置として命令スタック200レベル
lを指示していることを、表わしている。最初の命令の
流れ126の命令3,4゜5.6は命令スタック20の
レベル1及び2に格納されることに注意すべきである。
として表わされている。命令2は奇数番号の命令であり
、移送ゴー命令である。命令の流れ126の命令2のタ
ーゲットは命令の流れ128の命令Aである。これは命
令の流れ126の命令2の先の実行時にターゲットが命
令の流れ128の命令Aであった飛越しゴー命令であっ
たことから知られている。命令2は、命令スタック20
の奇数カラム124のレベル0に書込まれる。ターケ゛
ソトの命令Aはそれが奇数番号の命令として識別され又
は奇数番号の命令となっているので命令スタック20の
奇数カラム124内のレベル3に書込まれる。リンク制
御論理たるポインタ論理120は奇数ターゲット・ポイ
ンタ・カラム100のレベルOに、命令2のターダッI
−Aが書込まれている命令スタック20内のレベルを指
すポインタ「30」を書込む。奇数ターゲット・ポイン
タカラム100内の文字「0」は命令スタック20内の
命令2のターゲットAの位置、即ち奇数カラム124の
レベル3、を正確に識別するため、奇数を意味している
。命令2は奇数番号の命令として表わされるので、「レ
ベル3」「奇数」を表わす「30」のポインタが奇数タ
ーゲット・ポインタ・カラム100内に書込まれる。ヒ
ツト・ヒストリー・カラム102内のヒツト・ヒストリ
ー奇数列106において、タイプ・コード01は命令2
がその実行前の時に移送ゴーであったことを表わす。命
令2に対するTIPテーブル・ワード60のビット6な
いし19はターゲット命令Aのキャッシュアドレスを提
供する。ヒツト・ヒストリーカラム102のヒント・ヒ
ストリー偶数列104のOレベルに書込まれているタイ
プ・コード11は、命令の流れ126の命令lが移送命
令又は間接命令として予報されず、そのだめノー・ゴー
・ポインタ・カラム96内のレベル0にあるポインタが
現在の命令の流れの命令の次の対が格納されている命令
スタック20内の位置として命令スタック200レベル
lを指示していることを、表わしている。最初の命令の
流れ126の命令3,4゜5.6は命令スタック20の
レベル1及び2に格納されることに注意すべきである。
これらの命令は命令2がCEPU 12によシ実行され
る際ノー・ゴーとして決定された場合使用される。従っ
て、命令1及び2が命令スタック20から読出された後
、命令スタック20から読出される次の命令は命令の流
れ128の命令Aであシ、その命令Aはリンク・リスト
・スタック92の奇数ターケ8ソト・ポインタ・カラム
100のレベル100のレベルOに位置するポインタに
よシ予報される奇数カラム124のレベル3に格納され
ている。
る際ノー・ゴーとして決定された場合使用される。従っ
て、命令1及び2が命令スタック20から読出された後
、命令スタック20から読出される次の命令は命令の流
れ128の命令Aであシ、その命令Aはリンク・リスト
・スタック92の奇数ターケ8ソト・ポインタ・カラム
100のレベル100のレベルOに位置するポインタに
よシ予報される奇数カラム124のレベル3に格納され
ている。
命令Aに対するヒツト・ヒストリー・カラム102のヒ
ツト・ヒストリー奇数列106のレベル3におけるヒツ
ト・ヒストリー・テーブル・工ントリはタイプ・コード
11、ノー・コゝ−・コードであるところから命令Aは
飛越しゴー命令又は間接命令として予報され々い。従っ
て、命令の流れ128にお(噴る命令の順次的な実行が
進められ、命令スタック2oから読出される次の命令は
命令Bである。命令Bはノー・ゴー・ポインタ・カラム
96のレベル3におけるノー・ゴー・ポインタ4により
示される如く、命令スタック2oの偶数カラム122の
レベル4に格納される。偶数カラム122においてレベ
ル4に格納される命令の流れ128の命令Bはヒツト・
ヒストリー・カラム102のヒツト・ヒストリー偶数列
104のレベル4に書込まれたタイプ・コード0]にょ
シ飛越しゴー命令として予報される。命令Bのターケ゛
ットは命令の流れ130の命令Iとして予報される。
ツト・ヒストリー奇数列106のレベル3におけるヒツ
ト・ヒストリー・テーブル・工ントリはタイプ・コード
11、ノー・コゝ−・コードであるところから命令Aは
飛越しゴー命令又は間接命令として予報され々い。従っ
て、命令の流れ128にお(噴る命令の順次的な実行が
進められ、命令スタック2oから読出される次の命令は
命令Bである。命令Bはノー・ゴー・ポインタ・カラム
96のレベル3におけるノー・ゴー・ポインタ4により
示される如く、命令スタック2oの偶数カラム122の
レベル4に格納される。偶数カラム122においてレベ
ル4に格納される命令の流れ128の命令Bはヒツト・
ヒストリー・カラム102のヒツト・ヒストリー偶数列
104のレベル4に書込まれたタイプ・コード0]にょ
シ飛越しゴー命令として予報される。命令Bのターケ゛
ットは命令の流れ130の命令Iとして予報される。
命令Bの予報ターケラトたる命令Iは偶数カラム122
のレベル6内に格納される。その命令Iに対するポイン
タは偶数ターケ゛ノド・ポインタ・カラム98のレベル
4に書込まれる。即ち該ポインタi’j: 命令スタッ
ク2oの偶数カラム122のレベル6を識別する6Eで
ある。命令取出しユニット10は命令の流れ130の命
令■及び■を取出し、命令スタック200レベル6にそ
れらを格納する前に命令の流れ128の命令り及びEを
取出して、それらを命令スタック200レベル6に格納
していることに注意すべ”きである。ヒツト・ヒストリ
ー偶数列1040レベル6における命令■に対するタイ
プ・コードは命令Iが間接命令として予報されることを
表わすタイプ・コード10である。命令Iのターゲット
は命令の流れ132における機械語命令aである。命令
aは偶数番号の命令として表わされるのでワードaは命
令スタック20の偶数カラム122のレベル8内に格納
される。命令Iは偶数番号の命令であるのでポインタ8
Eは偶数ターデッド・ポインタ・カラム98のレベル6
に書込まれる。命令の流れ130のIの如き間接命令が
呼出され、そのターケ゛ットが取出されて命令スタック
20内に書込まれ、引続き基本命令レジスタ66内に書
込まれると命令スタック20の読出される次の命令は命
令■である現在の命令の流れ130の次の連続した命令
である。■の如き間接命令が命令スタック20から読出
されると、制御回路たるポインタ論理120は、スタッ
ク読取りアドレス・レジスタ118内への間接命令ター
ケ゛ソト・ワード「a」のニスタック・リンク・アドレ
スのローディング時に、当該アドレスが1スタツク・リ
ンク・アドレス・レジスタ134内にロードされるのを
阻止するので、ニスタック・リンク・アドレス・レジス
タ134は命令の流れ130の間接命令Iのニスタック
・アドレスを保持する。ノー・ゴー・ポインタ・カラム
96のレベル7においてポインタ論理120は命令の流
れ130の命令の次の対即ち命令Vと■を位置付けるレ
ベル9を指すポインタを設置することに注意すべきであ
る。
のレベル6内に格納される。その命令Iに対するポイン
タは偶数ターケ゛ノド・ポインタ・カラム98のレベル
4に書込まれる。即ち該ポインタi’j: 命令スタッ
ク2oの偶数カラム122のレベル6を識別する6Eで
ある。命令取出しユニット10は命令の流れ130の命
令■及び■を取出し、命令スタック200レベル6にそ
れらを格納する前に命令の流れ128の命令り及びEを
取出して、それらを命令スタック200レベル6に格納
していることに注意すべ”きである。ヒツト・ヒストリ
ー偶数列1040レベル6における命令■に対するタイ
プ・コードは命令Iが間接命令として予報されることを
表わすタイプ・コード10である。命令Iのターゲット
は命令の流れ132における機械語命令aである。命令
aは偶数番号の命令として表わされるのでワードaは命
令スタック20の偶数カラム122のレベル8内に格納
される。命令Iは偶数番号の命令であるのでポインタ8
Eは偶数ターデッド・ポインタ・カラム98のレベル6
に書込まれる。命令の流れ130のIの如き間接命令が
呼出され、そのターケ゛ットが取出されて命令スタック
20内に書込まれ、引続き基本命令レジスタ66内に書
込まれると命令スタック20の読出される次の命令は命
令■である現在の命令の流れ130の次の連続した命令
である。■の如き間接命令が命令スタック20から読出
されると、制御回路たるポインタ論理120は、スタッ
ク読取りアドレス・レジスタ118内への間接命令ター
ケ゛ソト・ワード「a」のニスタック・リンク・アドレ
スのローディング時に、当該アドレスが1スタツク・リ
ンク・アドレス・レジスタ134内にロードされるのを
阻止するので、ニスタック・リンク・アドレス・レジス
タ134は命令の流れ130の間接命令Iのニスタック
・アドレスを保持する。ノー・ゴー・ポインタ・カラム
96のレベル7においてポインタ論理120は命令の流
れ130の命令の次の対即ち命令Vと■を位置付けるレ
ベル9を指すポインタを設置することに注意すべきであ
る。
本発明の利点、即ち分岐命令のクーケ゛ノドと間接命令
のターケ゛ノド・ワードを先取りすることが達成され、
その結果、ソヌテムの中央実行ハイプライン・ユニット
が新しい命令の流れに沿った命令又は間接命令のターゲ
ットが取出される迄強制的に待たされず、当該分岐は名
目上クロック期間Tにつき1つの命令の1サイクル・・
やイブ・ライン割合にて実行可能であり、このため/ス
テムのスループットが全体的に著しく高まること、が前
掲の説明から明らかになると思われる。
のターケ゛ノド・ワードを先取りすることが達成され、
その結果、ソヌテムの中央実行ハイプライン・ユニット
が新しい命令の流れに沿った命令又は間接命令のターゲ
ットが取出される迄強制的に待たされず、当該分岐は名
目上クロック期間Tにつき1つの命令の1サイクル・・
やイブ・ライン割合にて実行可能であり、このため/ス
テムのスループットが全体的に著しく高まること、が前
掲の説明から明らかになると思われる。
第1図は、中央実行パイプ・ライン・ユニットに対する
命令取出しユニットの相対的な機能を説明するブロック
図。 第2図は、命令取り出しユニットの模式ブロック図。 第3図は、命令ワードのフォーマットを示す図。 第4図は、典型的な命令の流れの模式図。 第5図は、命令取出しパイプ・ラインの段階と中央実行
パイプ・ライン・ユニットの段階を示す図。 第6図は、T工Pチーグル・ワードのフォーマットを示
す図。 第7図は、命令取出しユニットの付加的な詳細部分と特
に正確な命令が中央実行パイプ・ライン・ユニットに移
送されたことを示すことに関連した詳細を示すブロック
図。 第8図は、命令スタック・リンク制御スタックの模式ブ
ロック図。 第9図は、TIPテーブル・ワードのタイプ・コードを
定めるテーブル。 第10図は、−組の命令の流れの他の模式的に図。 第11図は、命令のスタックと第10図の命令の流れの
命令に対するリンク・リスト・スタックの内容を示す。 10、命令取出しユニット、12:中央実行・ぐイブ・
ライン・ユニット、14.命令取出しアドレス作成論理
、16;命令カウンタ・レジスタ、18、キャッシュ・
ユニット、20:命令スタック、42:飛越し/間接・
予報テーブル(TIPテーブル)。 第1頁の続き 0発 明 者 ウィリアム・エイ・シェリーアメリカ合
衆国85018アリシナ 州フイーニクス・イースト・オ スポーフ・ロード4900 手続補正書(方式) %式% 1、事件の表示 特願昭58−19+642 号2
発 明 の名称 命令を先取ジする方法とその装置 3 補正をする者 事件との関係 出願人 代表者 ウィリアム・タブリュー ホロウェイ ジュ
ニア4 代理人 住所 東京都港区西新橋3丁目3番3号5 手続補正指
令1の日付 昭和59年 1月 11日(発送日昭和59年 1月
3]B)以 上
命令取出しユニットの相対的な機能を説明するブロック
図。 第2図は、命令取り出しユニットの模式ブロック図。 第3図は、命令ワードのフォーマットを示す図。 第4図は、典型的な命令の流れの模式図。 第5図は、命令取出しパイプ・ラインの段階と中央実行
パイプ・ライン・ユニットの段階を示す図。 第6図は、T工Pチーグル・ワードのフォーマットを示
す図。 第7図は、命令取出しユニットの付加的な詳細部分と特
に正確な命令が中央実行パイプ・ライン・ユニットに移
送されたことを示すことに関連した詳細を示すブロック
図。 第8図は、命令スタック・リンク制御スタックの模式ブ
ロック図。 第9図は、TIPテーブル・ワードのタイプ・コードを
定めるテーブル。 第10図は、−組の命令の流れの他の模式的に図。 第11図は、命令のスタックと第10図の命令の流れの
命令に対するリンク・リスト・スタックの内容を示す。 10、命令取出しユニット、12:中央実行・ぐイブ・
ライン・ユニット、14.命令取出しアドレス作成論理
、16;命令カウンタ・レジスタ、18、キャッシュ・
ユニット、20:命令スタック、42:飛越し/間接・
予報テーブル(TIPテーブル)。 第1頁の続き 0発 明 者 ウィリアム・エイ・シェリーアメリカ合
衆国85018アリシナ 州フイーニクス・イースト・オ スポーフ・ロード4900 手続補正書(方式) %式% 1、事件の表示 特願昭58−19+642 号2
発 明 の名称 命令を先取ジする方法とその装置 3 補正をする者 事件との関係 出願人 代表者 ウィリアム・タブリュー ホロウェイ ジュ
ニア4 代理人 住所 東京都港区西新橋3丁目3番3号5 手続補正指
令1の日付 昭和59年 1月 11日(発送日昭和59年 1月
3]B)以 上
Claims (1)
- 【特許請求の範囲】 1)中央実行ニーニット用の命令取出しユニットであっ
て、 一対の命令のアドレスを格納する命令カウンタ・レジス
タ装置と、 命令のオペランドが書き込まれ命令とオペランドが読出
されるキャッジ−装置と、 実行を待っている命令を格納する命令スタック装置と、 移送命令と間接命令のターゲット・アドレスを含むTI
Pテーブル・ワードが記録される侭爪し9間接予報テー
ブル装置と、 (1)命令の次の対のアドレスを形成するだめ命令カウ
ンタ・レジスタ装置を増加させ、(2)命令の対のアド
レスをキャッシュ装置と電数し1間接予報テーブル装置
に分配し、(3)命令の対がキャッシュ装置内にあるか
否か及びアドレスされた命令のTIPテーブル・ワード
が偽承し、アドレスされた予報テーブル装置に格納され
ているかを決定するためキャッジ−装置と先へい間接′
予報テーブル装置にアクセスし、(4)アドレスされた
命令の対をキャッシュ装置から選択し、選択されアドレ
スされた命令を命令取出レジスタ内に格納し、アドレス
された命令が船計命令か又は間接命令及びその命令のタ
ーゲットアドレスであるか否かを決定するため+を愚′
シ2間接予報テーブルからのアドレスされた命令に対し
TIPテーブル・ワードをチェックし、(5)命令の対
を命令スタック装置に設定し、亀へし又は間接命令とし
てTIPテーブル・ワード内に記録された命令に対しT
IPテーブル・ワード内のアドレスを命令カウンタ装置
にロードする命令取出パイプ・ライン装置と、 命令スタック内のどの命令が中央実行ユニットによって
実行すべき次の命令であるかを予報する各命令のTIP
テーブル・ワード内のデータに応答する装置とを備えた
中央実行ユニット用命令取出しユニット。 2)命令カウンタ・レジスタ内に格納されたアドレスが
キャッシュ・アドレスである特許請求の範囲1)項に記
載の命令取出しユニット。 3)キャッシュ装置が命令格納のだめの命令キャッシュ
装置を含む特許請求の範囲2)項に記載の命令取出しユ
ニット。 4) 各TIPテーブル・ワードがタイプ・コードを
含む特許請求の範囲3)項に記載の命令取出しユニット
0 5)所定長さの時間のクロック期間を有する同期中央処
理装置と中央実行パイプライン・ユニットのだめの命令
取出しユニットであって、一対のワードのキャッシュ・
アドレスを格納スる命令カウンタ・レジスタ装置とバン
クアップ命令カウンタ・レジスタ装置と、 ワードが書き込まれワードが読み出されるカラムとレベ
ルに組織化されたディレクトリ装置とデータ・アレイ装
置とを有するセット・アソシエティブ・キャッジ−装置
と、 命令を格納する命令取出しレジスタ装置と、命令と間接
ワードを格納する命令スタック装置と、 キャッシュ・ディレクトリ装置から読出されるアドレス
された命令の実ページ番号を格納する命令ノ実−<−ジ
番号スタック装置と、 TIPワードが書込まれTIPワードが読出されるカラ
ムとレベルに組織化されたディレクトリ装置とデータ・
アレイ装置を有する飛越し間接予報(TIP)テーブル
装置であって、各TIPワード9力玉対応する命令ワー
ドが飛越し命令1間接命令、又はいずれでもなく且つ当
該各命令のターケ゛ット・1フードのキャッシュ・アド
レスであることを表わす予報コードを含むものである前
記飛越し・間接予報テーブル装置と、 (1)与えられた命令の流れの次の対の命令のキャッシ
ュ・アドレスを形成するだめ第1段階で命令カウンタ・
レジスタ装置を増加させ、(2) 第1段階での命令
カウンタ内のキーyツシュ・アドレスを第2段階でキャ
ッシュ装置とTIPテーブル・ディレクトリ装置に分配
し、 (3)命令の対の実ページ番号(RPN)を得るため第
3段階でキャッシュ・ディレクトリ装置にアクセスし、
そして命令の対のいずれか一方の命令若しくは両方の命
令に対してTIPテーブル・データ・アレイ装置内にT
IPワードが書込まれたか否かを決定するだめTIPテ
ーブル装置のディレクトリ装置にアクセスし、 (4)第4段階中にキャッシュ・データ・アレイ装置か
らの一対の命令と前記命令の対のRPNを選択し、RP
Nを命令実技−ジ番号スタック装置に格納し命令を命令
取出しレジスタ・アドレス装置に格納し、 (5)第5段階中、命令スタック装置内に第4段階中の
命令取出しレジスタ内に設けた命令をロードし、命令が
飛越し又は間接命令であるか否かを決定するため命令ス
タック内にロードされた命令に対しTIPテーブルから
読出されたTIPワードの予報コードを調べ、TIPワ
ードのターゲットワードのキャッジ−・アドレスを命令
カウンタ・レジスタ装置とバックアップ命令カウンタ装
置にロードするも、命令が間接命令である場合にはター
ゲット・ワードのキャッシュ・アドレスが命令カウンタ
・レジスタ装置内にのみロードされてノ々ツクアップ命
令カウンタ・レジスタ装置内にはロードされずバックア
ップ命令カウンタ装置内のキャッシュアドレスが次のク
ロック期間中に命令カウンタ・レジスタ装置にロードさ
れるようにした5段階命令取出し・やイブライン装置と
、 中央パイプライン・ユニットから命令スタック6)キャ
ッシュ・アドレスがキャッシュ装置内のレベルを含むよ
うにした特許請求の範囲5)項に記載の命令取出しユニ
ット。 7)キャッジ−装置がオペランド・キャッシュ装置と命
令キャッシュ装置に組織化され、キャッシュ・アドレス
が前記2個のキャラ、シュ装置の一方を指定するように
した特許請求の範囲6)項に記載の命令取出しユニット
。 8)命令スタックから読出す次の命令を決定する装置が
命令スタック・リンク制御スタック装置を含むよ・うに
した特許請求の範囲7)項に記載の命令取出しユニット
。 9)命令スタック・リンク制御スタック装置がノー・ゴ
ー・ポインタ・スタック装置、ターケゞットポインタ・
スタック装置及び命令スタック装置に格納された各命令
に対する奇数クーケ゛ット・スタック装置も含むように
してなる特許請求の範囲8)項に記載の命令取出しユニ
ット。 10) 命令スタック・リンク制御スタック装置が更
に命令スタック装置内に格納された各命令に対するタイ
プ・コードを記録するTIPテーブル・ヒツト・スタッ
ク装置を含むようにしてなる特許請求の範囲9)項に記
載の命令取出しユニット。 11)中央実行ユニットから命令を取出す方法であって
、 一対の命令のアドレスを命令カウンタ・レジスタに格納
する段階と、 次の対の命令のアドレスを形成すべく命令カウンタ・レ
ジスタ装置を増加させる段階と、対になった命令のアド
レスをキャッシュ装置および飛越し・間接予報テーブル
に分配する段階と、一対の命令がキャッシュ装置内にあ
るか否かおよびアドレスされた命令のTIPテーブル・
ワードが飛越し・間接予報テーブル内にあるか否かを決
定するためキャッシュ装置および飛越し・間接予報テー
ブルにアクセスする段階と、 アドレスされた命令の対をキャッシュ装置から選択し、
その選択された命令を命令取出しレジスタ内に格納し、
命令が飛越し命令であるか間接命令であるか及びそれら
のターケ゛ットアドレスであるか否かを決定するだめ飛
越し・間接予報テーブルから選択せる命令に対するTI
Pテーブル・ワードをチェックすZ段階と、 命令の対を命令スタックに設定する段階と、飛越し又は
間接命令としてTIPテーブル・ワード内部に記録され
た飛越し命令用のTIPテーブル・ワードに格納された
アドレスを命令カウンタにロードする段階と、 命令スタック内のどの命令が中央実行ユニットに転送さ
れる次の命令であるかを予報する段階とを有する中央実
行ユニットから命令を取出す方法。 12)ターゲット間接ワードのアドレスが分配された直
後に間接命令のアドレスが命令レジスタ内にロードされ
る特許請求の範囲第11)項に記載の方法0 13)飛越し又は間接命令がTIPテーブル・ワードに
よシ誤って予報された場合現行の命令流れの次ノシーケ
ンンヤル命令のアドレスを命令カウンタ・レジスタ内に
ロードする特許請求の範囲第12)項に記載の方法。 14) TIPテーブル内にTIPテーブル・ワード
が無い場合アドレスされた命令の両者共飛越し又は間接
命令でないと判定する段階を含む特許請求の範囲第3)
項記載の方法。 15)所定長さの時間のクロック期間を有する同期中央
処理装置と中央実行パイプライン・ユニットのだめの命
令を先取シする方法であって、(1)第1段階では所定
の命令の流れの次の対の命令のキャッジ−・アドレスを
形成するため命令カウンタ・レジスタとバックアップ命
令カウンタ・レジスタの内容を増加させる段階と、 り2)第2段階で第1段階での命令カウンタに格納され
たキャッシュ・アドレスをキャッシュ装置とTIPテー
ブル・ディレクトリに分配する段階と、(3)−第3段
階では命令の対の実ページ番号に対しキャッシュ・ユニ
ットのディレクトリにアクセスし、命令の対の命令のい
ずれか一方に対するTIPテーブル・データ・アレイ内
にTIPワードが書込まれたか否かを決定するためTI
Pテーブルのテ゛イレクトリ装置にアクセスする段階と
、(4)第4段階中、キャッシュ・アドレスに指定され
たキャッシュ・ディレクトリのレベルに対応するキャッ
シュ・データ・アレイのレベルカラ一対の命令を選択し
、各選択された命令を命令取出しレジスタに格納し、命
令実ページ番号スタックに実ページ番号を格納する段階
と、 (5) 第4段階中に命令取出しレジスタ内に設定さ
れた命令を第5段階中に命令スタック内にロードし、命
令が飛越し又は間接命令であるか否かを決定するため命
令スタック内にロードされた命令に対するTIPテーブ
ルから読出されたTIPワードの予報コードを調べ、T
IPワードのターケ8ット・ワードのキャッジ−アドレ
スを命令カウンタ・レジスタ内にロードし;しかしもし
命令か間接命令である場合にはターケ゛ットヮードのキ
ャッジ−・アドレスが命令カウンタ・レジスタ内にのみ
ロードされてバックアップ・レジスタ内にはロードされ
ず、バックアップ命令カウンタ・レジスタ内のアドレス
が次のクロック期間中に命令カウンタ・レジスタ内にロ
ードされるようにする段階と、次のどの命令を中央パイ
プライン・ユニットにより命令スタックから読出すかを
決定する段階とを有する命令を予め取出す方法。 16)更に命令スタック内にロードされた各命令の実ぜ
−ジ番号を各命令が中央実行・やイブライン・ユニット
によシ実行される際中央実行パイプライン・ユニットに
よシ決定される各命令の実被−シ番号と比較する段階を
含むようにした特許請求の範囲第15)項に記載の方法
。 17)更に実ページ番号が比較しない命令に引続いて取
出された全ての命令を消去する段階を含む特許請求の範
囲第16)項に記載の方法。 18)飛越し又は間接命令がそのTIPテーブル・ワー
ドにより誤って予報された場合次のシーケンシャルの命
令の対のアドレスを命令カウンタ・レジスタ内にロード
する段階を含むよう例した特許請求の範囲第17)項に
記載の方法。 19) TIPナーブル内にTIPテーブル・ワード
が無いことによって、アドレスされた命令がいずれも飛
越し又は間接命令でないことを確認する段階を含む特許
請求の範囲第18)項に記載の方法。 20)飛越し又は間接命令のターケ゛ットが先取りされ
る前に当該命令が取出された後に現在の命令の流れの複
数個の命令が先取りされる特許請求の範囲第19)項に
記載の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US434197 | 1982-10-13 | ||
| US06/434,197 US4594659A (en) | 1982-10-13 | 1982-10-13 | Method and apparatus for prefetching instructions for a central execution pipeline unit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59132045A true JPS59132045A (ja) | 1984-07-30 |
| JPS6341093B2 JPS6341093B2 (ja) | 1988-08-15 |
Family
ID=23723211
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58191642A Granted JPS59132045A (ja) | 1982-10-13 | 1983-10-13 | 命令を先取りする方法とその装置 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US4594659A (ja) |
| EP (1) | EP0106671B1 (ja) |
| JP (1) | JPS59132045A (ja) |
| AU (1) | AU573188B2 (ja) |
| CA (1) | CA1204219A (ja) |
| DE (1) | DE3380972D1 (ja) |
Families Citing this family (64)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5043870A (en) * | 1982-02-24 | 1991-08-27 | At&T Bell Laboratories | Computer with automatic mapping of memory contents into machine registers during program execution |
| US4594660A (en) * | 1982-10-13 | 1986-06-10 | Honeywell Information Systems Inc. | Collector |
| EP0150177A1 (en) * | 1983-07-11 | 1985-08-07 | Prime Computer, Inc. | Data processing system |
| JPS60168238A (ja) * | 1984-02-10 | 1985-08-31 | Hitachi Ltd | パイプラインデータ処理装置 |
| US4691277A (en) * | 1984-10-24 | 1987-09-01 | International Business Machines Corp. | Small instruction cache using branch target table to effect instruction prefetch |
| JPH0769818B2 (ja) * | 1984-10-31 | 1995-07-31 | 株式会社日立製作所 | デ−タ処理装置 |
| US5146570A (en) * | 1984-10-31 | 1992-09-08 | International Business Machines Corporation | System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution |
| US4761731A (en) * | 1985-08-14 | 1988-08-02 | Control Data Corporation | Look-ahead instruction fetch control for a cache memory |
| 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 | 株式会社日立製作所 | 情報処理装置 |
| US4755935A (en) * | 1986-01-27 | 1988-07-05 | Schlumberger Technology Corporation | Prefetch memory system having next-instruction buffer which stores target tracks of jumps prior to CPU access of instruction |
| EP0258453B1 (en) * | 1986-02-28 | 1993-05-19 | Nec Corporation | Instruction prefetch control apparatus |
| DE3751503T2 (de) * | 1986-03-26 | 1996-05-09 | Hitachi Ltd | Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen. |
| US4888689A (en) * | 1986-10-17 | 1989-12-19 | Amdahl Corporation | Apparatus and method for improving cache access throughput in pipelined processors |
| GB2200483B (en) * | 1987-01-22 | 1991-10-16 | Nat Semiconductor Corp | Memory referencing in a high performance microprocessor |
| US4833599A (en) * | 1987-04-20 | 1989-05-23 | Multiflow Computer, Inc. | Hierarchical priority branch handling for parallel execution in a parallel processor |
| US4991090A (en) * | 1987-05-18 | 1991-02-05 | International Business Machines Corporation | Posting out-of-sequence fetches |
| JPS63317828A (ja) * | 1987-06-19 | 1988-12-26 | Fujitsu Ltd | マイクロコ−ド読み出し制御方式 |
| US4894772A (en) * | 1987-07-31 | 1990-01-16 | Prime Computer, Inc. | Method and apparatus for qualifying branch cache entries |
| JPH0646382B2 (ja) * | 1987-10-05 | 1994-06-15 | 日本電気株式会社 | プリフェッチキュー制御方式 |
| US5148525A (en) * | 1987-11-30 | 1992-09-15 | Nec Corporation | Microprogram-controlled type bus control circuit |
| US4943908A (en) * | 1987-12-02 | 1990-07-24 | International Business Machines Corporation | Multiple branch analyzer for prefetching cache lines |
| GB8728493D0 (en) * | 1987-12-05 | 1988-01-13 | Int Computers Ltd | Jump prediction |
| US4876642A (en) * | 1988-01-19 | 1989-10-24 | Gibson Glenn A | Rules and apparatus for a loop capturing code buffer that prefetches instructions |
| US5220669A (en) * | 1988-02-10 | 1993-06-15 | International Business Machines Corporation | Linkage mechanism for program isolation |
| US4926323A (en) * | 1988-03-03 | 1990-05-15 | Advanced Micro Devices, Inc. | Streamlined instruction processor |
| JP2722523B2 (ja) * | 1988-09-21 | 1998-03-04 | 日本電気株式会社 | 命令先取り装置 |
| US5067069A (en) * | 1989-02-03 | 1991-11-19 | Digital Equipment Corporation | Control of multiple functional units with parallel operation in a microcoded execution unit |
| 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 |
| CA2016068C (en) * | 1989-05-24 | 2000-04-04 | Robert W. Horst | Multiple instruction issue computer architecture |
| US5179673A (en) * | 1989-12-18 | 1993-01-12 | Digital Equipment Corporation | Subroutine return prediction mechanism using ring buffer and comparing predicated address with actual address to validate or flush the pipeline |
| WO1991011765A1 (en) * | 1990-01-29 | 1991-08-08 | Teraplex, Inc. | Architecture for minimal instruction set computing system |
| 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 |
| US5093778A (en) * | 1990-02-26 | 1992-03-03 | Nexgen Microsystems | Integrated single structure branch prediction cache |
| US5163140A (en) * | 1990-02-26 | 1992-11-10 | Nexgen Microsystems | Two-level branch prediction cache |
| US5226130A (en) * | 1990-02-26 | 1993-07-06 | Nexgen Microsystems | Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency |
| DE69129872T2 (de) * | 1990-03-27 | 1999-03-04 | Philips Electronics N.V., Eindhoven | Datenverarbeitungssystem mit einem leistungsverbessernden Befehlscachespeicher |
| DE69129252T2 (de) * | 1990-08-06 | 1998-12-17 | Ncr International, Inc., Dayton, Ohio | Verfahren zum Betrieb eines Rechnerspeichers und Anordnung |
| US5163139A (en) * | 1990-08-29 | 1992-11-10 | Hitachi America, Ltd. | Instruction preprocessor for conditionally combining short memory instructions into virtual long instructions |
| US5454090A (en) * | 1990-10-12 | 1995-09-26 | Siemens Aktiengesellschaft | Apparatus for furnishing instructions in a microprocessor with a multi-stage pipeline processing unit for processing instruction phase and having a memory and at least three additional memory units |
| US5226138A (en) * | 1990-11-27 | 1993-07-06 | Sun Microsystems, Inc. | Method for selectively transferring data instructions to a cache memory |
| DE69224084T2 (de) * | 1991-01-15 | 1998-07-23 | Koninkl Philips Electronics Nv | Rechneranordnung mit Mehrfachpufferdatencachespeicher und Verfahren dafür |
| US5285527A (en) * | 1991-12-11 | 1994-02-08 | Northern Telecom Limited | Predictive historical cache memory |
| US5442767A (en) * | 1992-10-23 | 1995-08-15 | International Business Machines Corporation | Address prediction to avoid address generation interlocks in computer systems |
| US5696958A (en) * | 1993-01-11 | 1997-12-09 | Silicon Graphics, Inc. | Method and apparatus for reducing delays following the execution of a branch instruction in an instruction pipeline |
| US5511174A (en) * | 1993-03-31 | 1996-04-23 | Vlsi Technology, Inc. | Method for controlling the operation of a computer implemented apparatus to selectively execute instructions of different bit lengths |
| US5870599A (en) * | 1994-03-01 | 1999-02-09 | Intel Corporation | Computer system employing streaming buffer for instruction preetching |
| US5822576A (en) * | 1997-03-26 | 1998-10-13 | International Business Machines Corporation | Branch history table with branch pattern field |
| JP2000172651A (ja) * | 1998-12-03 | 2000-06-23 | Nec Corp | 非同期転送モード(atm)セルパイプライン処理装置 |
| EP1122246A1 (de) | 2000-02-07 | 2001-08-08 | Degussa AG | Verfahren zur Epoxidierung von Olefinen |
| EP1122248A1 (de) | 2000-02-07 | 2001-08-08 | Degussa AG | Verfahren zur Epoxidierung von Olefinen |
| EP1122247A1 (de) | 2000-02-07 | 2001-08-08 | Degussa AG | Verfahren zur Epoxidierung von Olefinen |
| US6678817B1 (en) * | 2000-02-22 | 2004-01-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus for fetching instructions from the memory subsystem of a mixed architecture processor into a hardware emulation engine |
| DE50115570D1 (de) | 2001-01-08 | 2010-09-09 | Evonik Degussa Gmbh | Verfahren zur Epoxidierung von Olefinen |
| US6600055B2 (en) | 2001-06-13 | 2003-07-29 | Degussa Ag | Process for the epoxidation of olefins |
| US6608219B2 (en) | 2001-06-13 | 2003-08-19 | Degussa Ag | Process for the epoxidation of olefins |
| US6596881B2 (en) | 2001-06-13 | 2003-07-22 | Degussa Ag | Process for the epoxidation of olefins |
| US6749668B2 (en) | 2001-06-18 | 2004-06-15 | Degussa Ag | Process for the recovery of combustible components of a gas stream |
| US6610865B2 (en) | 2001-08-15 | 2003-08-26 | Degussa Ag | Process for the epoxidation of olefins |
| US6596883B2 (en) | 2001-08-23 | 2003-07-22 | Degussa Ag | Process for the epoxidation of olefins |
| US20050273559A1 (en) | 2004-05-19 | 2005-12-08 | Aris Aristodemou | Microprocessor architecture including unified cache debug unit |
| WO2007049150A2 (en) * | 2005-09-28 | 2007-05-03 | Arc International (Uk) Limited | Architecture for microprocessor-based systems including simd processing unit and associated systems and methods |
| US8516181B1 (en) * | 2009-03-31 | 2013-08-20 | Micron Technology, Inc. | Memory devices having data flow pipelining |
| US20130046964A1 (en) * | 2011-08-15 | 2013-02-21 | Noam DVORETZKI | System and method for zero penalty branch mis-predictions |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS549456A (en) * | 1977-06-22 | 1979-01-24 | Toshiba Corp | Vacuum cleaner |
| JPS5759253A (en) * | 1980-09-29 | 1982-04-09 | Nec Corp | Branch instruction prefetch system |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4200927A (en) * | 1978-01-03 | 1980-04-29 | International Business Machines Corporation | Multi-instruction stream branch processing mechanism |
| US4208716A (en) * | 1978-12-11 | 1980-06-17 | Honeywell Information Systems Inc. | Cache arrangement for performing simultaneous read/write operations |
| US4325120A (en) * | 1978-12-21 | 1982-04-13 | Intel Corporation | Data processing system |
| US4332010A (en) * | 1980-03-17 | 1982-05-25 | International Business Machines Corporation | Cache synonym detection and handling mechanism |
| US4399507A (en) * | 1981-06-30 | 1983-08-16 | Ibm Corporation | Instruction address stack in the data memory of an instruction-pipelined processor |
| US4521851A (en) * | 1982-10-13 | 1985-06-04 | Honeywell Information Systems Inc. | Central processor |
| US4530052A (en) * | 1982-10-14 | 1985-07-16 | Honeywell Information Systems Inc. | Apparatus and method for a data processing unit sharing a plurality of operating systems |
-
1982
- 1982-10-13 US US06/434,197 patent/US4594659A/en not_active Expired - Lifetime
-
1983
- 1983-10-12 AU AU20078/83A patent/AU573188B2/en not_active Ceased
- 1983-10-13 DE DE8383306196T patent/DE3380972D1/de not_active Expired - Lifetime
- 1983-10-13 JP JP58191642A patent/JPS59132045A/ja active Granted
- 1983-10-13 CA CA000438918A patent/CA1204219A/en not_active Expired
- 1983-10-13 EP EP83306196A patent/EP0106671B1/en not_active Expired
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS549456A (en) * | 1977-06-22 | 1979-01-24 | Toshiba Corp | Vacuum cleaner |
| JPS5759253A (en) * | 1980-09-29 | 1982-04-09 | Nec Corp | Branch instruction prefetch system |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6341093B2 (ja) | 1988-08-15 |
| EP0106671A2 (en) | 1984-04-25 |
| EP0106671B1 (en) | 1989-12-13 |
| AU573188B2 (en) | 1988-06-02 |
| CA1204219A (en) | 1986-05-06 |
| EP0106671A3 (en) | 1986-07-16 |
| DE3380972D1 (de) | 1990-01-18 |
| AU2007883A (en) | 1984-04-19 |
| US4594659A (en) | 1986-06-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS59132045A (ja) | 命令を先取りする方法とその装置 | |
| US5276882A (en) | Subroutine return through branch history table | |
| US4860197A (en) | Branch cache system with instruction boundary determination independent of parcel boundary | |
| EP0199947B1 (en) | Pageable branch history table | |
| US5265213A (en) | Pipeline system for executing predicted branch target instruction in a cycle concurrently with the execution of branch instruction | |
| KR100411529B1 (ko) | 제2 레벨 분기 예측 테이블을 이용한 분기 예측 방법 및장치 | |
| CN100520712C (zh) | 用来实施具有追踪缓存的微处理器的方法及系统 | |
| US6550004B1 (en) | Hybrid branch predictor with improved selector table update mechanism | |
| JP2744890B2 (ja) | ブランチ予測式データ処理装置および動作方法 | |
| EP1889152B1 (en) | A method and apparatus for predicting branch instructions | |
| KR101081674B1 (ko) | 워킹 글로벌 히스토리 레지스터를 이용하기 위한 시스템 및 방법 | |
| JP2001521241A (ja) | 分岐予測を迅速に特定するための命令キャッシュ内のバイト範囲に関連する分岐セレクタ | |
| KR20010075258A (ko) | 간접 분기 목적지 산출 방법 | |
| US8473727B2 (en) | History based pipelined branch prediction | |
| JPH07129413A (ja) | 割込み処理装置 | |
| US5893146A (en) | Cache structure having a reduced tag comparison to enable data transfer from said cache | |
| KR20220017403A (ko) | 프로세서의 추론적 예측 실패 복구에서 로드 기반 제어 독립적 (ci) 명령어의 재생 제한 | |
| KR100603067B1 (ko) | 분기 예측의 타입을 분류하기 위해 복귀 선택 비트들을 이용하는 분기 예측 | |
| JP3725547B2 (ja) | 限定ラン分岐予測 | |
| US6978361B2 (en) | Effectively infinite branch prediction table mechanism | |
| KR920006770B1 (ko) | 명령을 페치(fetch)하기 위한 제어 시스템 | |
| US7114063B1 (en) | Condition indicator for use by a conditional branch instruction | |
| US7343481B2 (en) | Branch prediction in a data processing system utilizing a cache of previous static predictions | |
| US20060112262A1 (en) | Branch prediction of unconditionally executed branch instructions | |
| EP0101759B1 (en) | Data processing system having branch instruction prefetching performance |