![]() Method of controlling pipeline
专利摘要:
公开号:WO1985002279A1 申请号:PCT/JP1984/000535 申请日:1984-11-08 公开日:1985-05-23 发明作者:Katsumi Onishi;Yuji Oinaga;Kohei Otsuyama 申请人:Fujitsu Limited; IPC主号:G06F9-00
专利说明:
[0001] 明 細 書 [0002] 発明の名称 [0003] パイ ブライ ン制御方式 [0004] 技術分野 , [0005] 本発明はパイ プライ ン制御方式、 特にパイ プライ ン制御のデータ処理装置において、 分岐命令が存在 した場合の処理を高速化するよ う にしたパイ プライ ン制御方式に関する o [0006] 背景技術 [0007] 命令フ ツ チから当該命令の実行に至る過程をパ イ ブラ イ ン制御によつて実行するよ う にしたパイ プ ラ イ ン制御のデータ処理装置が採用されている。 こ の種のパイ ブライ ン制御のデータ処理装置において は、 キ ヤ ッ シ ュ メ モ リ にデー タ又は命令が存在し ¾ かった時に生じる 「待ち」 を如何に少¾ く するかと いう事と、 命令のシーケンスが分岐条件の成立, 或 いは割 込みによって変更される場合、 如何に円滑 に該変更処理を行うかという 問題がある。 [0008] 上記 「待ち」 の問題に対しては、 キ ヤ ッ シ ュ メ ^ リの容量を増加させることである程度解決できるが、 命令のシーケ ンスの変更処理に関しては、 分岐命令 における分岐先命令の読み出しを如何に早い時点で 行うかがボイ ン ト となる。 [0009] —方、 最近の論理回路の高集積化動向に伴って、 ある論理機能を構成する場^、 論理素子の数は多少 増加しても、 該論理プロ ッ クの入出力端子が少 く できるハードゥ ヱァ構成が実現できれば、 システム 全体のパー ォ ー スは向上する動向にある。 [0010] 以下、 従来方式について説明し従来方式の問題点 を指摘する。 [0011] 第 1図は、 従来方式のパイ プラ イ ン制御のデータ 処理装置におけるパイ プライ ン動作を模式的に示し た図であって、 I 1 〜 1 3は命令フ ヱ ツ チの為のパ ィ プラ イ ンの各ステージを示し、 P 1 〜 P 6は命令 実行即ちオペラン ドフ ヱ ッチ及び演算に関するパイ プライ ンの各ステージを示している。 [0012] この図によって、 先ずパイ プライ ン制御のデータ 処理装置における一般的 ¾動作を説明する。 [0013] 最初、 本データ処理装置のパイ プラ イ ンの I 1ス テ一ジにおいて、 サー ビスプロセ ッサー ( 図示せず) から命令ア ドレス レジス タ ( 以下 I A I とい う )1A に、 これから実行するプロ グラ ムの先頭ア ドレスが セ ッ 卜 される。 この時、 命令フ ヱ ツ チコ ンスタ ン ト レジスタ ( 以下 I FKRという ) 1 Bには " 0 " が設 定されているので、 IAR 1 1の内容はその儘、 12 ステージにおいて加算器 (A) 2 Aを通して実行ァ ドレ ス レジスタ ( 以下 E A Rという ) 3にセ ッ 卜 され、 EAR 3によってキ ヤ ッ シ ュ メ モ リ 4がアクセスさ れて、 I 3ステージの終わ ] のタ イ ミ ン グで当該命 令が命令語レジスタ ( 以下 IWRという ) 5に読み [0014] Ο Ι一 出される。 [0015] 上記、 最初の命令読み出し以降については、 命令 フ ェ ツ チ制御部 ( IFC ) 1 ょ 固定値" 8"が IFKR 1 Bに設定され、 IAR 1 Aの 内容と 加算器 (A) 2 A で加算され、 実行ア ドレスが計算され、 EAR 3に セ ッ 卜 されるよ う に動作する。 この結果、 IWR 5 への命令読み出しは 8バイ ト 単位で行われる。 [0016] 上記の IWR 5 は一般には多段のシ フ ト レ ジス タ で構成されていて、 ボイ ン タ レジス タ ( 図示せず ) によって、 IWR 5 に蓄積されている複数の命令の 境界ァ ド レ スを知る とができる。 [0017] 上記ポィ ン タ レジス タ が示すァ ド レスによ って、 これからパイ プライ ンにおいて実行する命令を選択 するのがセ レク タ ( SEL) 6である o [0018] パイ プラ イ ンの P 1ステー ジにおいて、 セ レク タ [0019] ( SEL) 6によって、 当該命令がセレク トされる と 該命令の操作コー ド部は各 P 2ステージ〜 P 6ステ —ジに対応して、 それぞれ操作コ ー ド部レ ジス タ P2 0P 〜 P6 0P ( 8 ) にシフ ト され、 そ.れぞれのス テージでの命令実行時に使用される。 [0020] 該命令の各レジス タ指定部はデコー ドされ、 その デコ一 ドア ドレスによって汎用レジス タがアク セス され、 ベー スァ ド レ ス及びィ ンデッ ク ス値がそれぞ れベース レジス タ ( BR) 9, イ ンデ ッ クス レ ジス タ (XR) 1 0 に読み出される。 該命令のディ ス プレイ ス メ ン ト指定部は、 デイ ス プレイ ス メ ン ト レジス タ (DR) 1 1に設定される。 次に P 2ステージにおいて、 上記ベースレジスタ (BR) 9の内容と、 イ ンデ ッ クス レジスタ (XH )10 の内容と、 ディ ス ブレイ ス メ ン ト レジスタ (DR )11 の内容とが加算器 (B) l 2において演算され、 オペラ ン ドア ドレスが計算され、 P 3ステージのア ドレス レジスタ (P3TAR) 1 3にス ト アされ、 キ ヤ ッ シ ュ メ モ リ 4をアクセス してオペ ラ ン ドフ ヱ ツ チを行う。 該オペラ ン ドフ ヱ ツ チの結果は、 P 4ステージの 終わ のタ イ ミ ン グにおいてオペラ ン ド語レジスタ (OWR) 15に読み出され、 次の P 5ステージに い て演算回路 1 6で演算され、 演算結果は P 6ステ— ジの最初のタ イ ミ ングでリ ザル ト レジスタ ( RR )17 にセ ッ ト され、 同じ P 6ステージで汎用レジスタ 7 にス ト アされる o [0021] 又、 前述の I 1ステージにおいては、 前記命令実 行ア ド レ ス計算の他に、 以下の動作を行う。 [0022] 即ち、 命令実行ア ド レスを計算する時に、 加算器 (A} 2 Aで加算が行われる度に命令フ ヱ ツチコ ンスタ ン ト レジス タ ( IFKH) 1Bに設定されている固定値 ( えば "8" :) をカ ウ ン タ ( CTH ) 1Cによって累積 する o [0023] そして、 パイ ブラ イ ンを抜けた命令の操作コー ド を P 6ステージにおける命令操作部レジスタ ( P 6 [0024] OMPI WIPO OP)によ って検出し、 命令フ ヱ ツチ制御部 ( IFC) 1 に送出する ことによ 、 該パイ プラ イ ンを抜けた命 令の長さ ( バイ ト数 ) を知つて加算器 (02 Bで、 上 記カ ウ ン タ (CTR) 1Cの値から減算を行う よ う に動 作する。 [0025] この結果、 上記カ ウ ン タ ( CTR ) 1Cには、 現在パ イ ブライ ン中で処理されている全命令長が入ってい る ことにる 、 [0026] C I AR 1A〕一〔カウンタ (CTR) 1C〕 = [0027] P 6ステージにある命令のァドレス を意味する ことになる。 ( この値が必要る理由は後 述する。) [0028] この演算が必要 ¾場合、 IAR 1 Aから カ ウ ン タ (CTR) 1Cの値を加算器 (A) 2 Aで減算する こ とによ つて実行する o [0029] このよ う に従釆方式においては、 命令を読み出す 為の命令ア ド レス レジス タ と、 パイ プライ ンで実行 中の命令のァ ド レスを示す命令ァ ド レス レ ジス タ と が共用されている所に一つの特徴がある。 [0030] 以上が一般命令の動作であるが、 本発明に関連す る分岐命令の場合の動作を第 3図のタ イ ム チ ャ ー ト を参照しながら、 次に説明する。 [0031] 今、 IWR 5に読み出された命令 ( nで示す ) が 分岐命令である と、 加算器 (B) l 2で計算されたオペ [0032] O PI ラ ン ドア ドレスが分岐先のァ ドレスを示すことに ¾ D、 該ア ドレスが P 3 〜; P 6の各ステージのターゲ ッ ト レ ジス タ P3TAR〜P6TARに蓄積され、 シフ ト される と共に、 P 2 ステージ (該分岐先命令につい ては I I ステージに相当 ) において分岐先のア ドレ スがオア回路 2 Cを通して ΕΑβ 3 にセ ッ ト される。 そして以後、 キ ヤ ッ シ ュ メ モ リ 4をアクセスして分 岐先命令( m, m+l …… で示す) が読み出される形 とるる o [0033] この P 4 ステージにおいて、 該分岐命令の一つ前 の命令( n- 1で示す ) の演算が行われてお ( n-1 の命令については P 5 ステージ ) 、 その演算結果に よって分岐条件が成立したとする と、 上記アクセス されている分岐先命令が IWH 5 に読み出され、 該 分岐先命令の P 1 〜 P 6の各ステージの実行が行わ れ o [0034] 第 3図のタ イ ムチャー ト において、 該分岐先命令 ( 但し、 この時読み出された 8バイ トは 2個の 4バ ィ 卜命令とする ) のパイ プライ ンでの動作( P 1 〜 P 6 ステージ ) を m, m+ l で示している。 [0035] この従来方式において、 続く分岐先命令 m+ 2を読 み出す時は、 分岐命令 nの p 6 ステージにおいてタ 一ゲ ッ ト レジス タ P6 TARに蓄積されている分岐 先ア ドレスが、 オア回路 1 9を通して IAR 1 A -t ッ ト され、 該分岐先命令 m+2の I 1 ステージにおい [0036] O PI て加算器 (2)Aで IFKR IBの値 8 " )が加算され 分岐先侖令 mのア ドレスの 8バイ ト先の実行ア ドレ スが 1 2ステージで EAR 3 にセ ッ ト され、 キヤ ッ ' シ ュ メ モ リ 4をアク セス して分岐先命令 m+2が読み 出される。 [0037] 結局、 従来方式においては、 分岐命令 nの; P 6ス テージが終了してから m + 2分岐先命令を読み出す 為の I 1 〜 1 3ステージが実行されることに ¾る。 この後に、 該 m + 2命令の P 1 〜 P 6のステージが 実行されるので、 第 3図のタ イ ムチ ャー トから明ら かな如く 、 m + 1命令から 3サイ クル遅れてしま う ことにるる o [0038] 従来方式は、 分岐命令を実行して分岐条件が成立 した場合に、 先行して読み出している分岐先命令の 実行タイ ミ ングについては問題ないが、 キ ヤ ッ シ ュ メ モ リ から後続する 8バイ ト 先の分岐先命令を読み 出すタイ ミ ングが遅れる ( 具体的には前述のよ う に 分岐命令 nの実行が P 6ステージに達してから、 分 岐先侖令 m + 2の I 1ステージがス ター ト する ) 所 に問題がある。 [0039] 上記のよ う に分岐先ァ ドレスを分岐命令 nO P 6 ステージ迄、 ターゲ ッ ト レジス タ P3 TAR〜P6 T AR によって保持する必要があるのは、 P 6ステー ジにおいて、 該分岐命令 nの実行中に割 ] 込みがあ つたかどうかと、 演算結果のェラ ーチ ェ ッ ク どの [0040] OMPI WIPO チ ックを行っているので、 少るく とも該分岐命令 nがパイ ブラインを抜ける迄は Ι Αβ 1 Αの内容を変 えることができないことによる。 [0041] このことは例えば、 P 6 ステージでエラーが検出 された場合を考えると、 該分岐命令 nの実行は無効 となるので、 該命令 nをリ ト ライする必要があ!)、 リ ト ライア ド レスを I AR 1 Aから得ることが必須 条件と るからである。 [0042] 以上、 従来方式の問題点を要約すると、 従来方式 においては、 命令の読み出しの為の命令ア ド レス レ ジス タと、 パイ プライ ンで実行中の侖令のァド レ ス を示す命令ァド レスレジスタ とを共用していること、 又、 パイ プラ イ ン処理中に割 込みやエラーが生じ る可能性があるため、 分岐命令の分岐が決定した後 でも、 該分岐命令が完了する迄、 何等かの手段で該 分岐命令のア ド レ スを保持していなければならない ことなどの為、 分岐先の 8バイ ト先の命令の読み出 しに時間遅れを生じることにある。 [0043] 尚、 リ ザル ト レジス タ ( RR ) 1 7からオア回路 19 のルートは、 例えばロー ド P S W ( プロ グラ ムステ 一タ ス語)侖令で分岐する時に用いられる。 [0044] 発明の開示 [0045] 本発明は上記従釆の欠点に鑑み、 パイ プラ イ ン制 御のデータ処理装置において、 分岐命令を実行した 時に生じる分岐先ア ドレスの 8バイ ト先の命令を高 速に読み出す方式を提供することを目的としている o 又、 更に本発明は上記パイ プラ イ ン制御のデータ処 理装置において、 分岐命令が連続して生じる場合に 対処すべく設けられる命令語バ ッ フ ァ · レジス タ の 個数を削減できる構成を提供することを目的として いる o [0046] そしてこの目的は、 本発明によればパイ プライ ン 制御のデータ処理装置において、 命令を読み出す為 の N個( ≥ 1 ) の命令ア ド レ スを保持する第 1の手 段と、 パイ プライ ンで実行中の M個( ) の命令 のア ド レ スを保持する第 2 の手段と、 上記第 2の手 段で保持している命令のァ ド レ スを各命令の実行完 了時点で更新する第 3の手段とを備え、 パイ プライ ン に供給された最も古い命令の実行完了前に、 命令 · シーケンスが変更された時点で、 最も古い命令のァ ド レ スを保持している上記第 1 の手段を、 新たな命 令シーケンスの命令を読み出す為の命令保持手段と して用いて、 命令シーケンスの変更を高速化する方 式を提供することによって達成され、 又、 分岐命令 が連続して生じる場合にも、 実行対象となる命令は シ リ ャルに実行される点に着目して、 上記命令語バ ッ フ ァ · レ ジス タを共通化することによつ て達成さ れる。 本発明の場合には、 命令の読み出しの為の命 令ア ドレス レ ジス タ · ュ - ッ 卜 I と、 ィ プラ イ ン で実行中の命令のァ ド レ スを示す命令ァド レ ス レ ジ [0047] OMPI スタ · ュ - ッ ト I とを独立して持つ為、 分岐命令の 分岐が決定した時点で命令ァ ドレス レジス タ · ュ - ッ ト Iの内容を更新することができ、 分岐先の 8バ ィ ト先の命令の読み出しに対する遅れを少な くする ことができる利点がある。 [0048] 要約する'と、 本発明によれば命令の読み出しの為 の命令ア ド レスレジスタ ' ュニ ッ ト I と、 パイ ブラ ィ ンで実行中の命令のァ ド レスを示す命令ア ド レ ス レジスタ · ュニ ッ ト I とを独立して持たせ、 分岐命 令のア ド レ スは、 該命令がパイ プラ イ ンを抜け出す 迄、 命令ア ド レ ス レジス タ · ュ - ッ ト I で保持して おき、 該分岐命令の分岐が決定した時点で侖令ア ド レ ス レジスタ ' ュ ニ ッ ト I の内容を更新する ことが できるよ う にし、 分岐先の 8バイ ト先の命令の読み 出しに対する遅れをな くするよ うにしている。 [0049] 図面の簡単 ¾説明 [0050] 第 1図は従来方式のパイ プライ ン動作を模式的に 示した図、 [0051] 第 2図は本発明を実施した場合のパイ プライ ン動 作を模式的に示した図、 [0052] 第 3図は従来方式のパイ プラ イ ン において、 分岐 命令を実行した場合の動作をタ イ ムチ ャ ー ト で示し た図、 [0053] 第 4図は本発明を実施したパィ プライ ンにおいて、 分岐命令を実行した場合の動作をタィ ムチャ ー ト で [0054] O PI 示した図である。 [0055] 又、 第 5図は分岐命令の連続発生を考慮した場合 の命令語バ ッ フ ァ · レジスタの構成例を示し、 第 6図は第 5図図示の構成を改善した本発明の一 実施例を示す。 [0056] 発明を実施する為の最良の形態 [0057] 以下、 本発明の実 ½例を図面によって詳述する。 第 2図が本発明の一実施例をプロ ッ ク'図で示した図 であ 、 第 4図が第 2図の実施例で、 分岐命令を実 行した場合の動作をタ イ ム チ ャ ー ト で示した図であ o [0058] 第 2図に いて、 1A, 1B, 2A, 2C, 3〜: L9 は第 1図で説明したものと同じものでぁ 、 20~23が 本発明を実施するのに必要 ¾論理ブロ ッ クで、 上記 のパイ プラ イ ンで実行中の命令のア ド レスを示す命 令ア ド レス レ ジス タ · ュニ ッ ト Eを構成する。 即ち、 2 0は命令長生 ill路( ILC ), 2 1は命令ア ド レス レ ジス タ 1 ( 1 AR I ), 2 2は加算器 Dである。 [0059] 第 2図においては、 第 1図図示の場合と同様に、 I I, 12, 13, PI, P2, P3, P4, P5, P6の各ステ一 ジにおいて夫々の処理が進行してゆく タ イ ミ ン グに 見合って各構成が利用されてゆ く態様を表わすよ う にされている。 本発明の一実施例におけるハ一 ドゥ ヱ ァ構成は、 図示キヤ ッ シュ メ モ リ 4が重複して図 示されているだけで、 第 2図に示されているものと [0060] O PI 実質的に変] は い。 勿論、 上記キャ ッ シ ュ メ モ リ [0061] 4を第 2図図示の如く 2個もつよ う に構成しても よ [0062] o [0063] このよ う に本発明を実施した場合、 命令ア ドレス レ ジス タ · ュニ ッ 卜 I と、 侖令ア ド レス レ ジス タ · ュ - ッ .ト I とが独立に構成されている所にボイ ン ト [0064] ^ある。 [0065] 本発明を実施した場合の一般的 ¾パイ プラ イ ン動 作については、 従来と同じであるので説明は省略し、 分岐命令を実行した場合の効果を中心に、 第 4図の タ イ ム チ ャー トを参照し ¾がら実施例の説明を行う。 [0066] 本発明を実施した場合においても、 最初、 本デー タ処理装置のパィ プライ ンの I 1 ステージにおいて、 サー ビスプロセ ッサ一 ( 図示せず ) から、 2つの命 令ア ド レス レ ジス I , H 〔 I AR (I) 1 A, I AR(I)2 1〕 に、 これから.実行する プロ グラ ムの先頭ア ド レスが セ ッ ト される o [0067] そして、 命令ア ド レス レ ジス タ I ( I AR I ) 1 Aは 従来方式と同じ動作と るが、 命令ア ド レス レジス タ I ( I AR H ) 2 1 においては、 パイ ブラ イ ンの P6 ステージにおいて、 1つの命令の実行が完了する毎 に、 該命令の命令長が命令長生成回路( I LC ) 2 0に おいて生成され、 命令ア ド レス レ ジス タ H ( I AR I) に加算されるよ う に動作するので、 この加算動作が 行われる迄は、 該パイ プライ ンで実行される命令の [0068] Γ OΟMΜPΡIΙ Η Λ 最も古い命令のァ ド レ スを保持しているこ とになる o 従って、 分岐命令が実行される場合においても、 該分岐命令がパイ ブラ イ ンを抜け出す迄、 命令ア ド レ ス レ ジス タ I ( IAR I ) 2 1 に該分岐命令のア ド レスが保持されている。 [0069] 以下、 第 1図, 第 3図での説明と同じよ う に、 分 岐命令を II , 分岐先命令を m , m+1, m+2 として 第 4図を参照しつつ説明する。 [0070] 先ず、 IWR 5 に読み出された命令 ( nで示す ) が分岐命令である と、 加算器 (B) l 2で計算された才 ペ ラ ン ドア ドレスが分岐先のァ ド レ スを示すことに な 、 P 3 〜 P 6の各ステージのターゲッ ト レジス タ P3 TAR〜P6 TAR に蓄積されシフ ト される と 共に、 P 2ステージ ( 該分岐先命令については I 1 ステージ ) において、 分岐先ア ドレスがオア回路 2 C-を通して EAR 3にセ ッ 卜 される。 そして以後、 キ ヤ ッ シ ュ メ モ リ 4をアク セス して分岐先命令 (m, m + 1 ……で示す ) が読み出される形と ¾る。 [0071] そして P 4ステージにおいて、 該分岐命令の一つ 前の命令 ( n - 1 ) の演算が行われて ( 即ち、 命令 ( n - 1 ) に対しては P 5ステー ジ ) 、 その演 算結果によって分岐条件が成立したとする と、 上記 アク セスされている分岐先命令が I 3ステージの終 ゎ のタイ ミ ングで IWR 5に読み出され、 続いて 該分岐先命令の P 1 〜 P ·6の各ステージの実行が行 われる。 [0072] 第 4図のタ イ ムチャー ト において、 該分岐先命令 [0073] (但し、 この時読み出された 8バイ トは 2個の 4パ ィ ト命令とする ) のパイ プライ ンでの動作 ( P1〜P [0074] 6ステージ ) を m, m+ 1で示している。 [0075] 本図から明らかる如く、 こ こ迄の動作は従来方式 と同じである。 ' [0076] 後続する分岐先命令 m + 2を読み出す場合、 本発 明においては分岐命令 nOP 4ステージにおいて、 ターゲ ッ ト レジスタ P4 TAR に蓄積されている分 岐先ァ ドレスがオア回路 2 3を通して IAR( I )1A にセ ッ 卜 され、 分岐先命令 m + 2の I 1ステージに おいて加算器 (A) 2 Aで IFKR 1Bの値 ( "8" ) が加 算され、 分岐先命令 mのア ドレスの 8バイ ト先の実 行ア ドレスが I 2ステージで EAR 3にセ ッ ト され るよ う に動作する。 [0077] 従って、 本発明を実施した場合、 分岐命令 nの P4 ステージが終了した時点において、 m + 2分岐先命 令を読み出す為の I 1 ~ I 3ステージの実行が開始 されるので、 分岐先命令 m, m+ 1の読み出し動作![] ち、 I 1 〜 1 3ステージ ) と、 該分岐先命令 mの 8 バイ ト先の命令 m + 2の読み出し動作( I 1 〜 I 3 ステージ ) との間に遅れを生じない。 そして、 この 後該 m + 2命令の P 1 〜 P 6のステージが実行され るので、 第 4図のタ イ ム チ ャ ー ト力 ら明らかな如く、 [0078] OMPI [0079] WIPO Ά」 m + 1命令からの遅れは 1 サイ クルに削減される こ とに る o [0080] 上記のよ う に本発明を実施した場合、 分岐侖令 n の P 4 ス テージで分岐先命令 m + 2を読み出す為の I 1 〜 I 3 ステージを実行を開始する為に、 IAR(I) 1 Aに m + 2命令のア ド レスをセ ッ ト し、 分岐侖令 nのァ ド レスを該分岐侖令の終了前に壌している こ と となるが、 前述のよ う に該分岐命令 nが P 6 ステー ジを抜け出す迄、 該分岐命令 nのア ド レスが命令ァ ド レス レ ジス タ I ( I AR 丑) 2 1 に保持されている ので、 従来方式において説明したよ う に、 上記 P 6 ステージでエラーが検出され、 該分岐命令 nを リ ト ライ する必要が生じても、 上記命令ア ド レス レ ジス タ E ( I AR E ) 2 1 の内容を加算器 (D) 2 2 , オア回 路 1 9 , 2 3を通して命令ア ド レス レ ジ ス タ 1 ( 1 AR 1 ) 1 Aに再セ ッ ト する こ とによ 、 該命令の再 読み出してできるので問題は起ら ¾い。 [0081] 以上に述べた如く本発明によれば、 分岐条件が成 立した時でもパイ プライ ン中で発生するサイ クル口 スを少る く するこ とができ、 分岐命令を高速化でき る効果がある。 [0082] 尚、 上記第 3図, 第 4図には図示してい ¾いが、 分岐命令 nで分岐条件が成立しなかった場合に備え て、 分岐先命令 m, m + 1 を読み出している間に、 分岐命令 nの後続の命令 ( いわば n + 1 , n + 2, -) [0083] OMPI WIPO が順次 P 1 ステージに投入されている。 そして、 例 えば第 4図において、 分岐命令 nの P 4 ステージに おいて、 分岐条件が成立する とそれまでに投入され た命令 n + l, n + 2, n + 3はキ ャ ンセルされ、 分岐先 命令 mが P 1 ステージに投入されるよ う に つてい る。 この場合、 命令 n + 2 , n + 3等は命令語レ ジスタ IWR 5 にバ -ッ フ 了 されていたものがパイ プ ライ ン に投入される ものである。 [0084] 上記第 1 図および第 2図に関違した上記説明にお いては、 図示命令語レジスタ ( IWR ) 5 が一般に多 段のシ フ ト レ ジス タによつて構成されている と記述 したに止ま ったが、 第 4図図示の如く分岐命令 nが 現われた時には、 分岐が成立した場合の分岐先命令 mをセ ッ トする命令語レ ジス タ と共に、 分岐が不成 功である場合の命令 ii + 2, をセ ッ 卜する 命令語レ ジス タを用意しておき 、 夫々の命令のいす れでも取出せるよ う にするこ とが望まれる。 又、 分 岐命令が連続して現われる場合にも対処できるよ う に、 更に別個の命令語レ ジス タを用意するよ う にさ れる。 [0085] これらのことを考慮して、 第 1 図図示の命令ア ド レス レ ジス タ ( I AR I ) 1 Aと、 命令語レジスタ(I WR ) 5 との個所が、 第 5図図示の如く並列に重複す る形で構成されるよ う にされる。 第 5図において、 図中の符号 2 A, 3 , 4, 6は第 2図に対応してぉ 、 [0086] OMPI [0087] 、 W wEirPOリ 1 A- 1¾いし 1 A- 3は夫々第 2図図示の命令ァ ドレ ス レジスタ ( IAR I ) 1Aに対応する命令ア ド レス レ ジス タ、 5-1ないし 5 -3は夫々第 2図図示の命令 語レジス タ ( IWR) 5 に対応する命令語レジス タ 、 5— 13ないし 5-11は命令語バ ッ フ ァ レ ジス タであ つ て命令語レ ジス タ 5 - 1の後段に位置する も の、 5 - 23 いし 5— 21は命令語バ ッ フ ァ レジス タであ つ て命令語レジスタ 5 - 2の後段に位置する もの、 5-33¾いし 5— 31は命令語バ ッ フ ァ レジス タであ つて命令語レジス タ 5 - 3の後段に位置する もの、 2 4はセ レク タを表わしている。 [0088] 分岐命令以外の命令の場合には、 第 1図に関連し て説明した如く、 IAR 1A- 1 と加算器 2 Aとによ つて決定された実行ァ ドレスが EAR 3にセ ッ 卜 さ れ、 当該実行ァ ドレ スに基づいてキャ ッ シ ュ メ モ リ 4から読み出された命令が IWR 5 - 1 にセ ッ ト さ れる。 次々 と命令のフ ヱ ツ チが進行してゆくにつれて、 現に IWR 5-1にセ ッ 卜 された命令は、 命令語バ ッ フ ァ レ ジス タ ( IBR 13 ) 5-13 にシ フ ト され、 新 し く キ ヤ ッ シ ュ メ モ リ 4から読み出された命令が I WR 5-1 にセ ッ ト される形で、 次々 と命令が命令 バ ッ フ ァ レ ジスタ IBR 5-13, IBR 5-12, I [0089] BR 5-11と シ フ ト されて、 セ レク タ 6を経てパイ プライ ンに移送されて行く o [0090] 分岐命令が現われる と、 当該分岐命令の分岐不成 功または分岐成功に拘わらず、 分岐不成功側の命令 列を IWR 5— 1, IBR 5-13, IBR 5 - 12, IBR 5 - 11と保持せしめる。 そして、 分岐成功側の命令 列を IAR 1A- 2の内容に基づいて得て、 IWR 5 -2, IBR 5-23, IBR 5-22, IBR 5-21 に保 持するよ う にする。 また、 分岐命令が連続する場合 には、 必要な命令列を IWR 5-3, IBR 5-33, I BR 5-32, IBR 5— 31 に保持できるよ う にする。 しかし、 第 5図図示構成の場合には、 命令語バッ フ ァ レジス タ ( IBR ) の回路が大型, 複雑に 、 また、 セレク タ 6の構成も複雑になる。 [0091] 第 4図を参照して説明した如く、 第 2図図示の構 成を採用した場合には、 分岐命令 ϋに対応した分岐 の成立, 不成立が決定するのは、 分岐命令 ηについ ての Ρ 4ステージである。 そして、 このタ ミ ング を分岐成立側の分岐先命令 mについてみる と、 丁度 、 当該分岐先命令 mの P 1ステージの 1サイ クル前 である。 また次に読み出される分岐先側の命令 m+2 についてみる と、 当該分岐先侖令 m + 2の I! ステ —ジの 1サイ クル前である。 [0092] 即ち、 仮に分岐が成立したとしても、 分岐先命令 mが命令語レジスタ IWR 5- 2にセ ッ ト される時点 で分岐不成立を見越してフ ェ ツ チされている命令 n +1や n + 2や n + 3' キヤ ンセノレされる。 [0093] また、 上記と逆に分岐が不成立であったとしても、 [0094] O PI 分岐を見越してフ ェ ッ チして、 また命令 mが命令語 レジス タ IWR 5-2にセ ッ ト された後にキ ヤ ンセル される形となる。 [0095] 第 6 図は、 当該分岐の成功, 不成功が決定される タ イ ミ ン グを考察して、 第 5図図示の構成部分を改 善した一実施例構成を示している。 [0096] 図中の符号 1 A— 1ないし 1 A— 2, 2A, 3, 4, 5—1 ¾いし 5-3, 6, 24は夫々第 5図に対応して 、 5- 30, 5— 20, 5— 10は命令語バッ フ ァレ ジス タを 表わしている。 [0097] 第 2図図示の構成が採用される場合には、 分岐の 成功, 不成功が決定されるタ イ ミ ン グは分岐不成功 側の命令 n + 4, n+3, n + 2, n+1が夫々順に、 IWR 5- 1, IBR 5 - 30, I BR 5-20, I BR 5- 10に位 置し、 分岐成功側の命令 mが IWR 5-2に位置して いる.時である。 このために、 第 6図図示の構成を採 用することによって命令語バ ッ フ ァ レ ジス タ I B R を、 いわば 1 系統にま とめる ことが可能と る。 分岐命令が連続した場合にも、 後に現われた分岐 命令に対応した分岐が不成立の場合についての命令 列がレ ジス タ IWR 5-2, IBR 5-30, IBR 5-20, I BR 5- 10に存在している状態で、 分岐成功の場 合の先頭の命令がレ ジス タ IWR 5-3に存在してい る時点で、 後の分岐命令の成功, 不成功が決定され る ことにるる。 即ち、 第 6図図示の構成を採用する ことが可能と ¾る。 [0098] R£4 OMPI [0099] Ί则
权利要求:
Claims 請 求 の 範 囲 (1) パイ ブライ ン制御のデータ処理装置において、 命令を読み出す為の N個( 1 ) の命令ア ドレスを 保持する第 1 の手段と、 パイ プラ イ ンで実行中の M 個 ( ≥ 1 ) の命令のァ ドレスを保持する第 2の手段 と、 上記第 2 の手段で保持している命令のア ドレス を各命令の実行完了時点で更新する第 3の手段とを 備え、 パイ プラ イ ンに供給された最も古い命令の実 行完了前に、 命令シーケンスが変更された時点で、 上記第 1手段に保持されている中で最も古い命令のァ ドレスを、 新たる命令シーケ ンスの命令を読み出す 為の命令ア ド レスに更新して命令を読み出すこ とに よ ] 、 命令シーケンスの変更を高速化する こ とを特 徵とするパィ プラ イ ン制御方式。 (2) 上記パイ プライ ン制御のデータ ' 理装置は、 複 数ステージ分の命令プリ フ ヱ ツ チ部と、 複数ステ一 ジ分の命令実行部とを備えて 、 上記第 1 の手段 は上記命令プリ フ ヱ ツ チ部の頭初の処理ステージに おいて動作するよ う構欣され、 上記第 2の手段は上 記命令実行部の末尾に対応する処理ステージにおい て動作するよ う構成されることを特徵とする等許請 求の範囲第 (1)項記載のパイ プライ ン制御方式。 (3) 上記パイ プライ ン内に分岐命令が供給された場 合に、 当該分岐命令に基づく 分岐の成功, 不成功が 上記命令実行部における遅く と も予め定められた^ O PI 理ステージに対応するタ イ ミ ングにて決定されるよ う に構成され、 上記分岐成功に対応した分岐先命令 に続く後続命令についてのフ ェ ッ チ動作が、 上記成 功, 不成功が決定される処理ステージの次の処理ス テージに対応して実行開始されることを特徵とする 特許請求の範囲第 (2)項記載のパイ プライ ン制御方式 o (4) 上記命令プリ フ ェ ッ チ部の後段に複数個の命令 語レジスタを並列に設ける と共に、 当該複数個の各 命令語レジスタの内容が夫々選択的にシフ ト される 共通命令語バ ッ フ ァ レジス タ段を設けて 、 上記 複数個の各命令語レジス タの夫々 との内容と、 上記 命令語バッ フ ァ レジスタ段を構成する各レジス タの 内容とを選択的に抽出するセレク タを備えることを 特徵とする特許請求の範囲第 (2)項記載のパイ ブライ ン剞御方式。 、 .一 OMM
类似技术:
公开号 | 公开日 | 专利标题 US7178010B2|2007-02-13|Method and apparatus for correcting an internal call/return stack in a microprocessor that detects from multiple pipeline stages incorrect speculative update of the call/return stack DE69627807T2|2004-03-11|Datenprozessor zum gleichzeitigen Dataladen und Durchführung einer multiplizier-addier Operation EP0661625B1|1999-09-08|Method and apparatus for implementing a four stage branch resolution system in a computer processor KR880002660B1|1988-12-17|중앙 처리장치 US4112489A|1978-09-05|Data processing systems DE4447238B4|2005-08-18|Schaltungsanordnung und Verfahren zum Gewinnen von Informationen zur Verzweigungsvorhersage JP3565504B2|2004-09-15|プロセッサにおける分岐予測方法及びプロセッサ US6035387A|2000-03-07|System for packing variable length instructions into fixed length blocks with indications of instruction beginning, ending, and offset within block US5222240A|1993-06-22|Method and apparatus for delaying writing back the results of instructions to a processor EP0996057B1|2003-08-13|Data processor with an instruction unit having a cache and a ROM US4709324A|1987-11-24|Data processor control unit having an interrupt service using instruction prefetch redirection US6898699B2|2005-05-24|Return address stack including speculative return address buffer with back pointers US6564314B1|2003-05-13|Computer instruction compression CA1268555A|1990-05-01|Branch stream coprocessor US5751982A|1998-05-12|Software emulation system with dynamic translation of emulated instructions for increased processing speed DE2846495C2|1993-10-21|Zentraleinheit EP0686912B1|1998-12-16|Data processor with an execution unit for performing load instructions and method of operation US4477872A|1984-10-16|Decode history table for conditional branch instructions JP2559399B2|1996-12-04|情報処理装置 US5276882A|1994-01-04|Subroutine return through branch history table JP2864421B2|1999-03-03|命令の多機能ユニットへの同時ディスパッチのための方法及び装置 JP3542021B2|2004-07-14|セット予測によりセット連想キャッシュの遅延を少なくする方法及び装置 US4894772A|1990-01-16|Method and apparatus for qualifying branch cache entries JP2746549B2|1998-05-06|コンピュータシステム及びその動作方法 EP0135844B1|1989-08-02|A data processor with a branch target instruction storage
同族专利:
公开号 | 公开日 DE3478157D1|1989-06-15| AU3612284A|1985-06-27| EP0163740B1|1989-05-10| US4802113A|1989-01-31| EP0163740A1|1985-12-11| EP0163740A4|1986-04-15| AU560378B2|1987-04-02| BR8407165A|1985-10-08|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 JPS509621B1|1970-08-10|1975-04-14|||US7502725B2|2004-04-29|2009-03-10|International Business Machines Corporation|Method, system and computer program product for register management in a simulation environment|US4040031A|1973-04-13|1977-08-02|Compagnie Honeywell Bull |Computer instruction control apparatus and method| US4200927A|1978-01-03|1980-04-29|International Business Machines Corporation|Multi-instruction stream branch processing mechanism| US4616331A|1980-02-25|1986-10-07|Tsuneo Kinoshita|Information processing system consisting of an arithmetic control unit formed into a one-chip typed by application of a highly-integrated semiconductor device| JPS6125169B2|1981-05-11|1986-06-14|Hitachi Ltd||CA1250667A|1985-04-15|1989-02-28|Larry D. Larsen|Branch control in a three phase pipelined signalprocessor| EP0253364A1|1986-07-16|1988-01-20|Siemens Aktiengesellschaft|Verfahren und Schaltungsanordnung zur Bearbeitung von unbedingten Sprungbefehlen in nach dem Fliessbandprinzip arbeitenden Datenverarbeitungsanlagen| JP2902402B2|1987-09-30|1999-06-07|三菱電機株式会社|データ処理装置| JPH0766324B2|1988-03-18|1995-07-19|三菱電機株式会社|データ処理装置| US5155818A|1988-09-28|1992-10-13|Data General Corporation|Unconditional wide branch instruction acceleration| US5150469A|1988-12-12|1992-09-22|Digital Equipment Corporation|System and method for processor pipeline control by selective signal deassertion| EP0442116A3|1990-02-13|1993-03-03|Hewlett-Packard Company|Pipeline method and apparatus| US5163140A|1990-02-26|1992-11-10|Nexgen Microsystems|Two-level branch prediction cache| US5230068A|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| US5226130A|1990-02-26|1993-07-06|Nexgen Microsystems|Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency| JP3204323B2|1991-07-05|2001-09-04|エヌイーシーマイクロシステム株式会社|キャッシュメモリ内蔵マイクロプロセッサ| US5542109A|1994-08-31|1996-07-30|Exponential Technology, Inc.|Address tracking and branch resolution in a processor with multiple execution pipelines and instruction stream discontinuities| FR2770660B1|1997-11-03|2000-08-25|Inside Technologies|Microprocesseur, notamment pour carte a puce|
法律状态:
1985-05-23| AK| Designated states|Designated state(s): AU BR KR US | 1985-05-23| AL| Designated countries for regional patents|Designated state(s): DE FR GB | 1985-06-21| WWE| Wipo information: entry into national phase|Ref document number: 1984904162 Country of ref document: EP | 1985-12-11| WWP| Wipo information: published in national office|Ref document number: 1984904162 Country of ref document: EP | 1989-05-10| WWG| Wipo information: grant in national office|Ref document number: 1984904162 Country of ref document: EP |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 JP58212021A|JPS638492B2|1983-11-11|1983-11-11|| JP58/212021||1983-11-11|| JP58225623A|JPS60117336A|1983-11-30|1983-11-30|Branch instruction control system| JP58/225623||1983-11-30||BR8407165A| BR8407165A|1983-11-11|1984-11-08|Sistema de controle de canalizacao| DE19843478157| DE3478157D1|1983-11-11|1984-11-08|Pipeline control system| KR8570120A| KR900005340B1|1983-11-11|1984-11-08|파이프라인 제어방식| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|