JPH0431133B2 - - Google Patents
Info
- Publication number
- JPH0431133B2 JPH0431133B2 JP19465085A JP19465085A JPH0431133B2 JP H0431133 B2 JPH0431133 B2 JP H0431133B2 JP 19465085 A JP19465085 A JP 19465085A JP 19465085 A JP19465085 A JP 19465085A JP H0431133 B2 JPH0431133 B2 JP H0431133B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- pipeline
- control
- read
- 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.)
- Expired
Links
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 7
- 230000010365 information processing Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000593 degrading effect Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】
〔概要〕
1サイクルに1命令ずつ入力可能なパイプライ
ン制御の情報処理装置において、オペランド用バ
ツフアメモリと命令用バツフアメモリとを別々に
設け、それぞれ独立にパイプライン制御されるよ
うにして、オペランドと命令の読出し競合をなく
す。
ン制御の情報処理装置において、オペランド用バ
ツフアメモリと命令用バツフアメモリとを別々に
設け、それぞれ独立にパイプライン制御されるよ
うにして、オペランドと命令の読出し競合をなく
す。
本発明は、パイプライン制御の情報処理装置に
関するものであり、特にオペランドおよび命令の
読出しのためのパイプライン制御方法に関する。
関するものであり、特にオペランドおよび命令の
読出しのためのパイプライン制御方法に関する。
パイプライン制御は、1つの命令の処理を複数
のステージ(ステツプ)に分け、複数の命令を所
定のサイクルずつずらせて入力し、各ステージで
重複しないように並行処理することにより、1命
令当たりの平均処理時間を短縮するものである。
のステージ(ステツプ)に分け、複数の命令を所
定のサイクルずつずらせて入力し、各ステージで
重複しないように並行処理することにより、1命
令当たりの平均処理時間を短縮するものである。
一般に命令の処理は、命令の読出し、命令の解
読、オペランドの読出し、命令の実行に大きく分
けることができ、これらはさらにいくつかの細か
いステージに分割される。
読、オペランドの読出し、命令の実行に大きく分
けることができ、これらはさらにいくつかの細か
いステージに分割される。
このようなパイプライン制御を用いた情報処理
装置では、パイプライン中にできるだけ多くの命
令を空白なしに詰め込み、待ちをできるだけ少な
くすることが重要である。
装置では、パイプライン中にできるだけ多くの命
令を空白なしに詰め込み、待ちをできるだけ少な
くすることが重要である。
従来、パイプライン制御には、2サイクルごと
に1命令ずつ入力するサイクルパイプライン方式
が多く用いられている。この2サイクルパイプラ
イン方式の場合、オペランドあるいは命令の高速
読出しのためのバツフアメモリのアクセスに2サ
イクルがあてられており、ブランチ命令や並行処
理される命令間でのオペランドの読出しと命令の
読出しとの競合が避けられるように工夫されてい
る。
に1命令ずつ入力するサイクルパイプライン方式
が多く用いられている。この2サイクルパイプラ
イン方式の場合、オペランドあるいは命令の高速
読出しのためのバツフアメモリのアクセスに2サ
イクルがあてられており、ブランチ命令や並行処
理される命令間でのオペランドの読出しと命令の
読出しとの競合が避けられるように工夫されてい
る。
これに対して、最近高速化に対する要求から1
サイクルごとに1命令ずつ入力する1サイクルパ
イプライン方式の装置が現れている。この1サイ
クルパイプライン方式の場合はオペランド読出し
と命令読出しのバツフアクセスが競合すると、待
ちを生じる可能性がある。
サイクルごとに1命令ずつ入力する1サイクルパ
イプライン方式の装置が現れている。この1サイ
クルパイプライン方式の場合はオペランド読出し
と命令読出しのバツフアクセスが競合すると、待
ちを生じる可能性がある。
従来の1サイクルパイプライン方式では、オペ
ランドや命令読出しのためのバツアメモリアクセ
スで待ちが生じた場合、パイプラインは完全にイ
ンターロツク状態となり、その待ち時間は命令の
実行時間に加算されるため、パイプラインの性能
を低下させるという問題があつた。
ランドや命令読出しのためのバツアメモリアクセ
スで待ちが生じた場合、パイプラインは完全にイ
ンターロツク状態となり、その待ち時間は命令の
実行時間に加算されるため、パイプラインの性能
を低下させるという問題があつた。
本発明は、1サイクルパイプライン方式におい
て、オペランド用バツフアメモリと命令用バツフ
アメモリとを別個に設け、それぞれのアクセスを
独立したパイプラインで制御できるように構成す
ることにより、オペランドと命令のバツフアメモ
リアクセスの競合による待ちの発生を防止するも
のである。なおこのため、バツフアメモリとも
に、アドレス計算用加算器およびアドレス変換バ
ツフアも、オペランド用と命令読出し用とに別個
に設けられる。
て、オペランド用バツフアメモリと命令用バツフ
アメモリとを別個に設け、それぞれのアクセスを
独立したパイプラインで制御できるように構成す
ることにより、オペランドと命令のバツフアメモ
リアクセスの競合による待ちの発生を防止するも
のである。なおこのため、バツフアメモリとも
に、アドレス計算用加算器およびアドレス変換バ
ツフアも、オペランド用と命令読出し用とに別個
に設けられる。
第1図は、本発明の原理的構成を示す図であ
る。図において、1は汎用レジスタGR、2はベ
ースレジスタBR、3はインデクスレジスタXR、
4はデイスプレイスメントレジスタDR、5はオ
ペランドアドレス用加算器、6はオペランド実効
アドレスレジスタOEAR、7はオペランド用バ
ツフアメモリ部O−LBS、8はオペランドワー
ドOWR、9は命令アドレスレジスタIARA、1
0は命令アドレスレジスタIARB、11はインク
リメントレジスタPFO、12は命令読出しアド
レス用加算器、13はセレクタ、14は命令実効
アドレスレジスタIEAR、15は命令用バツフア
メモリ部I−LBS、16は命令バツフア、17
は命令ワードレジスタIWRを表す。
る。図において、1は汎用レジスタGR、2はベ
ースレジスタBR、3はインデクスレジスタXR、
4はデイスプレイスメントレジスタDR、5はオ
ペランドアドレス用加算器、6はオペランド実効
アドレスレジスタOEAR、7はオペランド用バ
ツフアメモリ部O−LBS、8はオペランドワー
ドOWR、9は命令アドレスレジスタIARA、1
0は命令アドレスレジスタIARB、11はインク
リメントレジスタPFO、12は命令読出しアド
レス用加算器、13はセレクタ、14は命令実効
アドレスレジスタIEAR、15は命令用バツフア
メモリ部I−LBS、16は命令バツフア、17
は命令ワードレジスタIWRを表す。
ここで、図の上段および下段は、それぞれ独立
したパイプラインを構成し、またオペランド用バ
ツフアメモリ部O−LBS7および命令用バツフ
アメモリ部I−LBS15は、それぞれバツフア
メモリとともに、アドレス変換バツフアとTLB
(テーブル・ルツクアサイド・バツフア)および
TAG(タグ部)とを含んでいる。
したパイプラインを構成し、またオペランド用バ
ツフアメモリ部O−LBS7および命令用バツフ
アメモリ部I−LBS15は、それぞれバツフア
メモリとともに、アドレス変換バツフアとTLB
(テーブル・ルツクアサイド・バツフア)および
TAG(タグ部)とを含んでいる。
実行すべき命令は、命令バツフア16から取り
出され、命令デコードサイクルDで解読されて、
一部は汎用レジスタGRIを経て、オペランドアド
レスのベース、インデクス、デイスプレイスメン
トの各値が、それぞれBR2、XR3、DR4に設
定される。
出され、命令デコードサイクルDで解読されて、
一部は汎用レジスタGRIを経て、オペランドアド
レスのベース、インデクス、デイスプレイスメン
トの各値が、それぞれBR2、XR3、DR4に設
定される。
オペランド用加算器5は、アドレス計算サイク
ルAで、BR2、XR3、DR4の各値を加算し
て、オペランドアクセスの場合、オペランド実効
アドレスを生成し、OEAR6に格納し、またブ
ランチ命令のブランチ先ターゲツト命令の読出し
アクセスの場合には、命令実効アドレスを生成
し、セレクタ13を介してIEAR14に格納す
る。
ルAで、BR2、XR3、DR4の各値を加算し
て、オペランドアクセスの場合、オペランド実効
アドレスを生成し、OEAR6に格納し、またブ
ランチ命令のブランチ先ターゲツト命令の読出し
アクセスの場合には、命令実効アドレスを生成
し、セレクタ13を介してIEAR14に格納す
る。
オペランドアクセスの場合、次のアドレス変換
サイクルTで、オペランド用バツフアメモリ部O
−LBS7において、オペランド実効アドレスは、
アドレス変換バツフアを介してTLBで仮想記憶
のための論理アドレスから実アドレスへの変換が
行われる。
サイクルTで、オペランド用バツフアメモリ部O
−LBS7において、オペランド実効アドレスは、
アドレス変換バツフアを介してTLBで仮想記憶
のための論理アドレスから実アドレスへの変換が
行われる。
さらに次のバツフアサイクルBで、バツフアメ
モリをアクセスするためのTAG参照が行われ、
ヒツトした場合に、バツフアメモリから読出され
たオペランドが、OWR8に格納される。
モリをアクセスするためのTAG参照が行われ、
ヒツトした場合に、バツフアメモリから読出され
たオペランドが、OWR8に格納される。
OWR8のオペランドは、次の実行サイクルE
で、演算回路へ転送され、処理される。
で、演算回路へ転送され、処理される。
また命令読出しアクセスの場合には、IEAR1
4に設定された命令実効アドレスについて命令用
バツフアメモリ部I−LBS15において、Tサ
イクル,Bサイクルで、それぞれ同様なアドレス
変換およびバツフアメモリアクセスが行われ、読
出された命令は、IWR17を介して、命令バツ
フア16に格納される。
4に設定された命令実効アドレスについて命令用
バツフアメモリ部I−LBS15において、Tサ
イクル,Bサイクルで、それぞれ同様なアドレス
変換およびバツフアメモリアクセスが行われ、読
出された命令は、IWR17を介して、命令バツ
フア16に格納される。
命令実効アドレスは、セレクタ13の出口か
ら、IARA9およびIAR10のいずれか一方にも
格納され、命令読出しアドレス用加算器12によ
りPFO11のインクリメント値(命令幅でたと
えば8バイト)を加算されることにより、次の順
位の命令実効アドレスが生成される。
ら、IARA9およびIAR10のいずれか一方にも
格納され、命令読出しアドレス用加算器12によ
りPFO11のインクリメント値(命令幅でたと
えば8バイト)を加算されることにより、次の順
位の命令実効アドレスが生成される。
本発明によれば、たとえばブランチ命令の実行
時にオペランドアドレス用の加算器を用いてブラ
ンチ先アドレスを計算し、そのアドレスを命令読
出しアドレスとする事で、ブランチ命令のブラン
チ先の命令の読出しに関する制御をオペランドパ
イプラインから命令読出しパイプラインへ完全移
行させ、オペランドパイプラインを次の命令に対
して、開放することができる。
時にオペランドアドレス用の加算器を用いてブラ
ンチ先アドレスを計算し、そのアドレスを命令読
出しアドレスとする事で、ブランチ命令のブラン
チ先の命令の読出しに関する制御をオペランドパ
イプラインから命令読出しパイプラインへ完全移
行させ、オペランドパイプラインを次の命令に対
して、開放することができる。
また逆に、オペランドパイプラインが、バツフ
アメモリにオペランドがないなどの別の原因でイ
ンターロツクされていても、命令読出しパイプラ
インに制御を移行することにより、ブランチ先の
命令の読出しを早く行うことが可能となる。
アメモリにオペランドがないなどの別の原因でイ
ンターロツクされていても、命令読出しパイプラ
インに制御を移行することにより、ブランチ先の
命令の読出しを早く行うことが可能となる。
第2図、第3図、第4図は、それぞれ本発明に
よるパイプラインの命令実行制御シーケンス例を
示すフローである。
よるパイプラインの命令実行制御シーケンス例を
示すフローである。
図示の例は、いずれもブランチ命令がブランチ
先のアドレスを計算し、そのターゲツトの命令を
読出す処理について示している。各図中、5はオ
ペランドアドレス用加算器、9は命令実効アドレ
スレジスタIARA、12は命令読出しアドレス用
加算器、15は命令用バツフアメモリ部I−
LBSである。またDは命令デコード、Aはアド
レス計算、Tはアドレス変換、Bはバツフアアク
セス、Eは実行、Wは書き込み、Iは命令のアド
レス生成の各サイクルを表している。
先のアドレスを計算し、そのターゲツトの命令を
読出す処理について示している。各図中、5はオ
ペランドアドレス用加算器、9は命令実効アドレ
スレジスタIARA、12は命令読出しアドレス用
加算器、15は命令用バツフアメモリ部I−
LBSである。またDは命令デコード、Aはアド
レス計算、Tはアドレス変換、Bはバツフアアク
セス、Eは実行、Wは書き込み、Iは命令のアド
レス生成の各サイクルを表している。
第2図の例では、オペランドパイプラインのオ
ペランドアドレス用加算器5が、Aサイクルでブ
ランチ命令のブランチ先アドレスを計算し、命令
読出しパイプラインに実行を要求し、転送する。
命令読出しパイプラインは直ちに受付け、そのT
サイクル、Dサイクルで命令用バツフアメモリ部
I−LBS15により、アドレス変換およびバツ
フアアクセスを行い、ブランチ先の命令を読出
す。読出されたブランチ先命令は無条件にオペラ
ンドパイプラインに投入されるが、先のブランチ
命令の実行においてブランチ条件が満足された場
合にだけ実行されるように制御される。
ペランドアドレス用加算器5が、Aサイクルでブ
ランチ命令のブランチ先アドレスを計算し、命令
読出しパイプラインに実行を要求し、転送する。
命令読出しパイプラインは直ちに受付け、そのT
サイクル、Dサイクルで命令用バツフアメモリ部
I−LBS15により、アドレス変換およびバツ
フアアクセスを行い、ブランチ先の命令を読出
す。読出されたブランチ先命令は無条件にオペラ
ンドパイプラインに投入されるが、先のブランチ
命令の実行においてブランチ条件が満足された場
合にだけ実行されるように制御される。
第3図は、第2図の場合と異なり、オペランド
パイプラインから命令読出しパイプラインへの要
求が直ちには受付けられないため、Iサイクルで
一旦IARA9にアドレスを格納しておいて、1サ
イクル後にアドレス変換およびバツフアアクセス
が実行される例である。
パイプラインから命令読出しパイプラインへの要
求が直ちには受付けられないため、Iサイクルで
一旦IARA9にアドレスを格納しておいて、1サ
イクル後にアドレス変換およびバツフアアクセス
が実行される例である。
第4図は、オペランドパイプラインがブランチ
命令のAサイクルでインターロツクしたが、命令
読出しパイプラインはインターロツクししないた
め、ブランチ先命令の先行読出しが実行され、イ
ンターロツク解除後に、ブランチ条件が満足され
ていれば、そのブランチ先命令が直ちに実行され
る例である。
命令のAサイクルでインターロツクしたが、命令
読出しパイプラインはインターロツクししないた
め、ブランチ先命令の先行読出しが実行され、イ
ンターロツク解除後に、ブランチ条件が満足され
ていれば、そのブランチ先命令が直ちに実行され
る例である。
本発明によれば、オペランドパイプラインと命
令読出しパイプラインとが分離され、それぞれ独
立に制御可能にされたことにより、オペランドア
クセスと、命令読出しアクセスとの完全な並行理
が実現でき、待ち時間の減少により、性能向上を
図ることができる。
令読出しパイプラインとが分離され、それぞれ独
立に制御可能にされたことにより、オペランドア
クセスと、命令読出しアクセスとの完全な並行理
が実現でき、待ち時間の減少により、性能向上を
図ることができる。
第1図は本発明の原理的構成図、第2図、第3
図、第4図はそれぞれ本発明の実施例によるパイ
プラインの命令実行制御シーケンスのフロー図で
ある。 第1図中、5……オペランドアドレス用加算
器、7……オペランド用バツフアメモリ部O−
LBS、12……命令読出しアドレス用加算器、
15……命令用バツフアメモリ部。
図、第4図はそれぞれ本発明の実施例によるパイ
プラインの命令実行制御シーケンスのフロー図で
ある。 第1図中、5……オペランドアドレス用加算
器、7……オペランド用バツフアメモリ部O−
LBS、12……命令読出しアドレス用加算器、
15……命令用バツフアメモリ部。
Claims (1)
- 【特許請求の範囲】 1 パイプライン制御の情報処理装置において、
オペランド制御用のパイプラインと命令読出し制
御用のパイプラインとを備え、 それぞれのパイプラインには、オペランド用の
バツフアメモリ及びアドレス変換バツフアと、命
令用のバツフアメモリ及びアドレス変換バツフア
とを独立に設けるとともに、オペランドアドレス
計算用の加算器5と命令読出しアドレス計算用の
加算器12とを独立に設け、 前記オペランドアドレス計算用の加算器5で計
算されたアドレスと、前記命令読出しアドレス計
算用の加算器12で計算されたアドレスの一方を
選択して命令読出し用のアドレスとして命令読出
し制御用のパイプラインに与える選択手段を有
し、 プランチ命令以外の通常の命令の時はオペラン
ド制御用のパイプラインと命令読出し制御用のパ
イプラインは独立に動作し、 前記オペランド制御用のパイプラインにブラン
チ命令が投入された時は、ブランチ先命令アドレ
スの計算は、オペランドアドレス計算用の加算器
5で、前記オペランド制御用のパイプラインのア
ドレス計算のタイミング時に計算し、 前記オペランドアドレス計算用の加算器5で計
算された前記ブランチ先命令アドレスは、前記加
算器5による計算後、前記選択手段によつて命令
読出し制御用のパイプラインに与えられ、以降の
命令読出しに関する制御は命令読出し制御用のパ
イプライン側に移行して行うことを特徴とするパ
イプライン制御方法。 2 特許請求の範囲第1項において、 前記選択手段によつて命令読出し制御用のパイ
プラインに与えられたブランチ先アドレスは、前
記命令用のアドレス変換バツフアでアドレス変換
された後に命令読出し用のバツフアメモリからブ
ランチ先命令を読出すものであつて、 前記オペランド制御用のパイプラインのアドレ
ス計算用の加算器5でアドレス計算のタイミング
時に計算されたブランチ先アドレスは、前記アド
レス計算のタイミング時に前記選択手段によつて
命令読出し制御用のパイプラインに渡されて命令
読出しアクセスが要求され、前記命令読出し制御
用のパイプラインが当該要求を直ちに受付られな
い場合は、前記ブランチ先アドレスを命令読出し
制御用のパイプラインに設けられた命令アドレス
レジスタ9にいつたん保持し、前記命令読出し制
御用のパイプラインに前記オペランド制御用のパ
イプラインからブランチ先アドレスを渡したタイ
ミングの後のタイミングで、前記命令読出し制御
用のパイプラインに設けられた命令アドレスレジ
スタ9に保持されたブランチ先アドレスを当該命
令読出し制御用のパイプラインのアドレス変換バ
ツフアに送つてアドレス変換し前記命令読出し用
のバツフアメモリからブランチ先命令を読み出す
ことを特徴とするパイプライン制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19465085A JPS6255735A (ja) | 1985-09-03 | 1985-09-03 | パイプライン制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19465085A JPS6255735A (ja) | 1985-09-03 | 1985-09-03 | パイプライン制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6255735A JPS6255735A (ja) | 1987-03-11 |
| JPH0431133B2 true JPH0431133B2 (ja) | 1992-05-25 |
Family
ID=16328035
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19465085A Granted JPS6255735A (ja) | 1985-09-03 | 1985-09-03 | パイプライン制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6255735A (ja) |
-
1985
- 1985-09-03 JP JP19465085A patent/JPS6255735A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6255735A (ja) | 1987-03-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2918631B2 (ja) | デコーダ | |
| US6026478A (en) | Split embedded DRAM processor | |
| JP2550213B2 (ja) | 並列処理装置および並列処理方法 | |
| US7395409B2 (en) | Split embedded DRAM processor | |
| EP0772819B1 (en) | Apparatus and method for efficiently determining addresses for misaligned data stored in memory | |
| US6687808B2 (en) | Data processor using indirect register addressing | |
| JPH07253887A (ja) | スーパースカラ・プロセッサにおける命令の前復号および操向機構 | |
| JPH03233630A (ja) | 情報処理装置 | |
| EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
| JPH0431133B2 (ja) | ||
| JPS626261B2 (ja) | ||
| JPS60178580A (ja) | 命令制御方式 | |
| JP2001216275A (ja) | 画像処理装置および画像処理方法 | |
| JP2731740B2 (ja) | 通信レジスタ付並列計算機 | |
| JPH03268041A (ja) | キャッシュ操作明示化コンピュータ | |
| JPH059818B2 (ja) | ||
| JP2636821B2 (ja) | 並列処理装置 | |
| JP2586690B2 (ja) | 命令プリフェッチ装置 | |
| JP3668643B2 (ja) | 情報処理装置 | |
| JPS59771A (ja) | デ−タ処理装置における演算処理部選択制御方式 | |
| JPS6153754B2 (ja) | ||
| JPH05289870A (ja) | 並列命令実行制御方式 | |
| US4811274A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
| JPH06332700A (ja) | 情報処理装置 | |
| Craig et al. | PIPE: A High Performance VLSI Processor Implementation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |