JPH0348535B2 - - Google Patents
Info
- Publication number
- JPH0348535B2 JPH0348535B2 JP57048544A JP4854482A JPH0348535B2 JP H0348535 B2 JPH0348535 B2 JP H0348535B2 JP 57048544 A JP57048544 A JP 57048544A JP 4854482 A JP4854482 A JP 4854482A JP H0348535 B2 JPH0348535 B2 JP H0348535B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- logical address
- branch
- generation circuit
- cycle
- 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
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100252016 Arabidopsis thaliana RMA2 gene Proteins 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000037213 diet Effects 0.000 description 1
- 235000005911 diet Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/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
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)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明はパイプライン制御方式のデータ処理装
置に関する。
置に関する。
電子計算機の高速化を図るための技術の一つと
してパイプライン制御技術が知られている。この
パイプライン制御方式が適用されるデータ処理装
置は第1図に示されており、例えば分岐命令(条
件付分岐命令)の処理は次のようにして実行され
ていた。今、命令バツフア(以下、IBと称する)
11から分岐命令が取り出されたものとする。こ
の分岐命令の各部はそれぞれ命令のアドレス部を
保持するレジスタ(以下、RILと称する)12、
命令情報部の一部を保持するレジスタ(以下、N
と称する)13、命令コードを保持するレジスタ
(以下、Iと称する)14に置数される。このと
き、命令の実行先アドレスを示す命令カウンタ
(以下、RRLと称する)15の内容は上記分岐命
令のアドレスとなる。I14に置数された命令コ
ードはデコード回路(以下、DECと称する)1
6によつて解読される。そしてコントロール部1
7はI14に置数されている命令コードおよび
DEC16の解読結果に応じてパイプライン制御
を含む各部の制御を行なう。
してパイプライン制御技術が知られている。この
パイプライン制御方式が適用されるデータ処理装
置は第1図に示されており、例えば分岐命令(条
件付分岐命令)の処理は次のようにして実行され
ていた。今、命令バツフア(以下、IBと称する)
11から分岐命令が取り出されたものとする。こ
の分岐命令の各部はそれぞれ命令のアドレス部を
保持するレジスタ(以下、RILと称する)12、
命令情報部の一部を保持するレジスタ(以下、N
と称する)13、命令コードを保持するレジスタ
(以下、Iと称する)14に置数される。このと
き、命令の実行先アドレスを示す命令カウンタ
(以下、RRLと称する)15の内容は上記分岐命
令のアドレスとなる。I14に置数された命令コ
ードはデコード回路(以下、DECと称する)1
6によつて解読される。そしてコントロール部1
7はI14に置数されている命令コードおよび
DEC16の解読結果に応じてパイプライン制御
を含む各部の制御を行なう。
論理アドレス生成回路18はCNT17の制御
によりRIL12,N13,RRL15の各保持内
容、DEC16から出力される対応する命令の命
令語長(レングス)L、および汎用レジスタ(以
下、GRと称する)19の出力の中から指定され
た情報を選択して論理アドレスを生成する。論理
アドレス生成回路18は、RIL12の内容または
RRL15の内容のいずれか一方を選択するセレ
クタ20と、N13の内容またはGR19の出力
のいずれか一方を選択するセレクタ21と、これ
らセレクタ20,21の各選択出力間の加算を行
なう加算器(以下、ADDと称する)22とを有
している。この場合、論理アドレス生成回路18
は上記分岐命令の分岐先論理アドレスを生成出力
する。すなわち、パイプライン処理では、分岐命
令処理に際し、判定条件検出前に例えば分岐成立
を予測して分岐先の論理アドレスの生成が行なわ
れる。
によりRIL12,N13,RRL15の各保持内
容、DEC16から出力される対応する命令の命
令語長(レングス)L、および汎用レジスタ(以
下、GRと称する)19の出力の中から指定され
た情報を選択して論理アドレスを生成する。論理
アドレス生成回路18は、RIL12の内容または
RRL15の内容のいずれか一方を選択するセレ
クタ20と、N13の内容またはGR19の出力
のいずれか一方を選択するセレクタ21と、これ
らセレクタ20,21の各選択出力間の加算を行
なう加算器(以下、ADDと称する)22とを有
している。この場合、論理アドレス生成回路18
は上記分岐命令の分岐先論理アドレスを生成出力
する。すなわち、パイプライン処理では、分岐命
令処理に際し、判定条件検出前に例えば分岐成立
を予測して分岐先の論理アドレスの生成が行なわ
れる。
論理アドレス生成回路18で生成された分岐先
論理アドレスは、論理アドレス生成回路18の出
力が分岐先論理アドレスの場合に該回路18の出
力を保持するレジスタ(以下、RTLと称する)
23、および論理アドレス生成回路18の出力を
保持するレジスタ(以下、RMAと称する)24
に置数される。これで論理アドレス生成ステージ
が終了し、物理アドレス生成ステージに入る。物
理アドレス生成ステージでは、セレクタ25によ
つてRTL23に置数されている分岐先論理アド
レスが選択され、物理アドレス変換回路26によ
つて分岐先物理アドレスに変換される。この分岐
先物理アドレスは物理アドレスを保持するレジス
タ(以下、PAと称する)27に置数される。こ
のとき、RMA24の内容がレジスタ28(以
下、RMB28と称する)に置数される。RMB
28はイミーデイエツト命令のときにその保持内
容をセレクタ29を介して実行部30に供給する
ためのレジスタである。
論理アドレスは、論理アドレス生成回路18の出
力が分岐先論理アドレスの場合に該回路18の出
力を保持するレジスタ(以下、RTLと称する)
23、および論理アドレス生成回路18の出力を
保持するレジスタ(以下、RMAと称する)24
に置数される。これで論理アドレス生成ステージ
が終了し、物理アドレス生成ステージに入る。物
理アドレス生成ステージでは、セレクタ25によ
つてRTL23に置数されている分岐先論理アド
レスが選択され、物理アドレス変換回路26によ
つて分岐先物理アドレスに変換される。この分岐
先物理アドレスは物理アドレスを保持するレジス
タ(以下、PAと称する)27に置数される。こ
のとき、RMA24の内容がレジスタ28(以
下、RMB28と称する)に置数される。RMB
28はイミーデイエツト命令のときにその保持内
容をセレクタ29を介して実行部30に供給する
ためのレジスタである。
次にメモリアクセスステージが行なわれる。こ
のステージではPA27の内容に従つて主メモリ
またはキヤツシユメモリ(以下MEMと称する)
31がアクセスされる。この場合、PA27の内
容は分岐先物理アドレスであり、MEM31から
対応する分岐先命令が取り出される。この分岐先
命令の各部はメモリアクセスステージの最後で、
前述した分岐命令の場合と同様にRIL12,N1
3,I14などにロードされる。このとき、
RMA24に保持されている分岐先論理アドレス
がセレクタ32にによつて選択されRRL15に
ロードされる。そして、次の実行ステージにおい
て分岐条件成立/不成立の判断が行なわれ、予測
通りに分岐成立が判断された場合、そのままパイ
プライン処理が続行される。
のステージではPA27の内容に従つて主メモリ
またはキヤツシユメモリ(以下MEMと称する)
31がアクセスされる。この場合、PA27の内
容は分岐先物理アドレスであり、MEM31から
対応する分岐先命令が取り出される。この分岐先
命令の各部はメモリアクセスステージの最後で、
前述した分岐命令の場合と同様にRIL12,N1
3,I14などにロードされる。このとき、
RMA24に保持されている分岐先論理アドレス
がセレクタ32にによつて選択されRRL15に
ロードされる。そして、次の実行ステージにおい
て分岐条件成立/不成立の判断が行なわれ、予測
通りに分岐成立が判断された場合、そのままパイ
プライン処理が続行される。
一方、分岐成立の予測がはずれて分岐不成立が
判断された場合、分岐命令の次の命令をIB11
から取り出す一方、RRL15の内容を当該命令
の論理アドレスに更新する必要がある。そこで従
来のデータ処理装置では、分岐不成立の予測がは
ずれた場合の補正のために、論理アドレス生成回
路18内のADD22とは別にADD(加算器)3
3が設けられている。そして、分岐先論理アドレ
スが生成されるサイクルより後のサイクルで、
ADD33を用いてRRL15の保持内容である分
岐命令のアドレスとDEC16から出力される分
岐命令の命令語長Lとの加算を行ない、分岐命令
の次の命令の論理アドレスを算出しておくように
なつている。この分岐命令の次の命令のアドレス
は専用のレジスタ(以下、RXと称する)34に
置数される。このような構成において、前述した
ように分岐命令の実行ステージで分岐不成立が判
断された場合、セレクタ32によりRX34の内
容すなわち、分岐命令の次の命令のアドレスが選
択されRRL15にロードされる。このときIB1
1に先取りされていた分岐命令の次の命令がIB
11からRIL12などにロードされ、該命令の論
理アドレス生成ステージに入る。
判断された場合、分岐命令の次の命令をIB11
から取り出す一方、RRL15の内容を当該命令
の論理アドレスに更新する必要がある。そこで従
来のデータ処理装置では、分岐不成立の予測がは
ずれた場合の補正のために、論理アドレス生成回
路18内のADD22とは別にADD(加算器)3
3が設けられている。そして、分岐先論理アドレ
スが生成されるサイクルより後のサイクルで、
ADD33を用いてRRL15の保持内容である分
岐命令のアドレスとDEC16から出力される分
岐命令の命令語長Lとの加算を行ない、分岐命令
の次の命令の論理アドレスを算出しておくように
なつている。この分岐命令の次の命令のアドレス
は専用のレジスタ(以下、RXと称する)34に
置数される。このような構成において、前述した
ように分岐命令の実行ステージで分岐不成立が判
断された場合、セレクタ32によりRX34の内
容すなわち、分岐命令の次の命令のアドレスが選
択されRRL15にロードされる。このときIB1
1に先取りされていた分岐命令の次の命令がIB
11からRIL12などにロードされ、該命令の論
理アドレス生成ステージに入る。
このように従来のパイプライン制御方式のデー
タ処理装置では、分岐命令処理に際し、判定条件
検出前に見込みで成立もしくは不成立の処理を行
なうようになつているが、見込みがはずれた場合
に命令カウンタの内容を補正するために、この補
正すべきアドレスを算出する加算器、この加算器
のアドレス算出結果を保持するレジスタ、このレ
ジスタの内容を選択して命令カウンタに導くセレ
クタなどのハードウエアが必要となる欠点があつ
た。
タ処理装置では、分岐命令処理に際し、判定条件
検出前に見込みで成立もしくは不成立の処理を行
なうようになつているが、見込みがはずれた場合
に命令カウンタの内容を補正するために、この補
正すべきアドレスを算出する加算器、この加算器
のアドレス算出結果を保持するレジスタ、このレ
ジスタの内容を選択して命令カウンタに導くセレ
クタなどのハードウエアが必要となる欠点があつ
た。
本発明は上記事情に鑑みてなされたものでその
目的は、分岐命令をパイプライン処理で行なう場
合に、条件成立の見込み処理がはずれても特定の
回路を付加することなく正しいアドレスに補正で
きるデータ処理装置を提供することにある。
目的は、分岐命令をパイプライン処理で行なう場
合に、条件成立の見込み処理がはずれても特定の
回路を付加することなく正しいアドレスに補正で
きるデータ処理装置を提供することにある。
論理アドレス生成回路では、分岐命令に基づい
て見込みで分岐先論理アドレスの生成を行なつた
後、分岐命令の実行ステージで条件成立/不成立
が判断されるまでアドレス生成動作が行なわれな
いことに着目し、上記論理アドレス生成回路で分
岐先論理アドレスが生成されるサイクルの次のサ
イクルにおいて、命令カウンタに保持されている
分岐命令のアドレスを用いて、この分岐命令の次
の命令の論理アドレスを上記論理アドレス生成回
路で生成するようにし、上記論理アドレス生成回
路の出力がパイプラインステージ単位で順に移動
されて保持され実行部に導かれるように構成され
ているレジスタ群の中の特定レジスタに上記分岐
先論理アドレスが保持されている場合に、この特
定レジスタに保持されている分岐先論理アドレス
を上記分岐命令の実行前に上記命令カウンタに置
数し、分岐命令の実行ステージにおいて分岐不成
立が確認された場合にそのときの上記特定レジス
タの保持内容すなわち分岐命令の次の命令の論理
アドレスを上記命令カウンタに置数するようにし
たものである。
て見込みで分岐先論理アドレスの生成を行なつた
後、分岐命令の実行ステージで条件成立/不成立
が判断されるまでアドレス生成動作が行なわれな
いことに着目し、上記論理アドレス生成回路で分
岐先論理アドレスが生成されるサイクルの次のサ
イクルにおいて、命令カウンタに保持されている
分岐命令のアドレスを用いて、この分岐命令の次
の命令の論理アドレスを上記論理アドレス生成回
路で生成するようにし、上記論理アドレス生成回
路の出力がパイプラインステージ単位で順に移動
されて保持され実行部に導かれるように構成され
ているレジスタ群の中の特定レジスタに上記分岐
先論理アドレスが保持されている場合に、この特
定レジスタに保持されている分岐先論理アドレス
を上記分岐命令の実行前に上記命令カウンタに置
数し、分岐命令の実行ステージにおいて分岐不成
立が確認された場合にそのときの上記特定レジス
タの保持内容すなわち分岐命令の次の命令の論理
アドレスを上記命令カウンタに置数するようにし
たものである。
以下、本発明の一実施例を図面を参照して説明
する。なお、第1図と同一部分には同一符号を付
して詳細な説明を省略する。第2図のデータ処理
装置において、41はRMB28の保持内容を
RRL15に導くための信号ライン、42は論理
アドレス生成回路である。論理アドレス生成回路
42は基本的に第1図の論理アドレス生成回路1
8とほぼ同様の構成を有する。論理アドレス生成
回路42の論理アドレス生成回路18と異なる点
は、N13の内容、GR19の出力、またはDEC
16から出力される命令語長Lのいずれか一方を
選択するセレクタ43を、第1図のセレクタ21
に代えて備えていることである。
する。なお、第1図と同一部分には同一符号を付
して詳細な説明を省略する。第2図のデータ処理
装置において、41はRMB28の保持内容を
RRL15に導くための信号ライン、42は論理
アドレス生成回路である。論理アドレス生成回路
42は基本的に第1図の論理アドレス生成回路1
8とほぼ同様の構成を有する。論理アドレス生成
回路42の論理アドレス生成回路18と異なる点
は、N13の内容、GR19の出力、またはDEC
16から出力される命令語長Lのいずれか一方を
選択するセレクタ43を、第1図のセレクタ21
に代えて備えていることである。
44は第1図のCNT17とほぼ同様の機能を
有するCNT(コントロール部)である。CNT4
4の有する制御機能でCNT17と異なる点は次
の通りである。CNT44は対応する命令が分岐
命令の場合、論理アドレス生成回路42で分岐先
論理アドレスを生成せしめた後、次のサイクル
(マシンサイクル)においてRRL15の内容およ
びDEC16から出力される命令語長Lとの加算
を論理アドレス生成回路42で行なわしめる機能
を有する。そして、このときの論理アドレス生成
回路42の出力についても、CNT44は通常の
パイプライン処理と同様に1サイクル毎にRMA
24、RMB28の順で移動せしめる機能を有す
る。同じくCNT44はRMA24に移動された論
理アドレス生成回路42の出力を用いて物理アド
レス変換処理、この処理で得られた物理アドレス
に基づくMEM31のアクセスを行なわしめる機
能を有する。またCNT44は分岐命令の実行ス
テージの開始時(メモリアクセスステージの終了
時)にそのときのRMB28の内容をRRL15に
ロードし、更に分岐命令の実行ステージおいて分
岐不成立が判断された場合にそのときのRMB2
8の内容を同じくRRL15にロードする機能を
有する。
有するCNT(コントロール部)である。CNT4
4の有する制御機能でCNT17と異なる点は次
の通りである。CNT44は対応する命令が分岐
命令の場合、論理アドレス生成回路42で分岐先
論理アドレスを生成せしめた後、次のサイクル
(マシンサイクル)においてRRL15の内容およ
びDEC16から出力される命令語長Lとの加算
を論理アドレス生成回路42で行なわしめる機能
を有する。そして、このときの論理アドレス生成
回路42の出力についても、CNT44は通常の
パイプライン処理と同様に1サイクル毎にRMA
24、RMB28の順で移動せしめる機能を有す
る。同じくCNT44はRMA24に移動された論
理アドレス生成回路42の出力を用いて物理アド
レス変換処理、この処理で得られた物理アドレス
に基づくMEM31のアクセスを行なわしめる機
能を有する。またCNT44は分岐命令の実行ス
テージの開始時(メモリアクセスステージの終了
時)にそのときのRMB28の内容をRRL15に
ロードし、更に分岐命令の実行ステージおいて分
岐不成立が判断された場合にそのときのRMB2
8の内容を同じくRRL15にロードする機能を
有する。
次に本発明の一実施例の動作を第3図のタイミ
ング図を適宜参照しながら説明する。最初のマシ
ンサイクル(サイクルT1)において、IB11か
ら分岐命令Ibが取り出されたものとする。この分
岐命令Ibのアドレス(論理アドレス)をb、分岐
命令Ibの分岐先アドレスを示すアドレス部の内容
をa、そのアドレス修飾後の値すなわち真の分岐
先論理アドレスをa′とする。サイクルT1の終了
時に分岐命令Ibのアドレス部の内容aがRIL12
に、分岐命令Ibの命令情報部の一部がN13に、
分岐命令Ibの命令コードがI14にそれぞれ置数
される。このとき、RRL15の内容は第3図に
示されるようにbとなる。次のマシンサイクル
(サイクルT2)ではI14に保持されている命令
コードに基づいてCNT44による制御が行なわ
れ、論理アドレス生成ステージ(以下、Lステー
ジと称する。)が実行される。すなわち、サイク
ルT2ではCNT44によつてセレクタ20,43
が選択制御され、これら各セレクタ20,43の
選択出力間の加算がADD22により行なわれる。
この場合ADD22の加算結果は、RIL12の保
持内容aのアドレス修飾後の値であり分岐先論理
アドレスa′である。この分岐先論理アドレスa′は
サイクルT2の終了時にRTL23およびRMA2
4に置数される(第3図参照)。
ング図を適宜参照しながら説明する。最初のマシ
ンサイクル(サイクルT1)において、IB11か
ら分岐命令Ibが取り出されたものとする。この分
岐命令Ibのアドレス(論理アドレス)をb、分岐
命令Ibの分岐先アドレスを示すアドレス部の内容
をa、そのアドレス修飾後の値すなわち真の分岐
先論理アドレスをa′とする。サイクルT1の終了
時に分岐命令Ibのアドレス部の内容aがRIL12
に、分岐命令Ibの命令情報部の一部がN13に、
分岐命令Ibの命令コードがI14にそれぞれ置数
される。このとき、RRL15の内容は第3図に
示されるようにbとなる。次のマシンサイクル
(サイクルT2)ではI14に保持されている命令
コードに基づいてCNT44による制御が行なわ
れ、論理アドレス生成ステージ(以下、Lステー
ジと称する。)が実行される。すなわち、サイク
ルT2ではCNT44によつてセレクタ20,43
が選択制御され、これら各セレクタ20,43の
選択出力間の加算がADD22により行なわれる。
この場合ADD22の加算結果は、RIL12の保
持内容aのアドレス修飾後の値であり分岐先論理
アドレスa′である。この分岐先論理アドレスa′は
サイクルT2の終了時にRTL23およびRMA2
4に置数される(第3図参照)。
次のマシンサイクル(サイクルT3)では、セ
レクタ25によつてRTL23の内容(a′)が選
択され、物理アドレス変換回路26によつて分岐
先物理アドレスに変換される。これが物理アドレ
ス生成ステージ(以下、Pステージと称する。)
である。上記分岐先物理アドレスはサイクルT3
の終了時にPA27に置数される。このとき、
RMA24の内容(a′)が第3図に示されている
ようにRMB28に置数される。サイクルT3では
CNT44の制御により論理アドレス生成回路4
2がサイクルT2に続いて起動される。すなわち
CNT44は、RRL15に保持されている分岐命
令Ibのアドレスbをセレクタ20からADD22
に選択出力せしめ、DEC16から出力されてい
る分岐命令Ibの命令語長Lをセレクタ43から
ADD22に選択出力せしめる。そしてCNT44
はセレクタ20,43の各出力間の加算をADD
22で行なわしめ、その加算結果b+Lを第3図
に示されているようにサイクルT3の終了時に
RMA24に置数する。上記加算結果b+Lは分
岐命令Ibの次の命令(これをIb+Lと称する。)の
論理アドレスである。すなわち本実施例では、分
岐命令処理に際し、分岐成立を見込んで処理を先
行する場合に、論理アドレス生成回路は分岐先論
理アドレスを生成するサイクル(この例ではサイ
クルT2)を除いて分岐命令の実行ステージ(以
下、Eステージと称する)までの間に使用されな
いことに着目し、サイクルT3にて論理アドレス
生成回路を用い、分岐不成立の場合の実行アドレ
ス(分岐命令Ibの次の命令Ib+L)を求めるように
している。
レクタ25によつてRTL23の内容(a′)が選
択され、物理アドレス変換回路26によつて分岐
先物理アドレスに変換される。これが物理アドレ
ス生成ステージ(以下、Pステージと称する。)
である。上記分岐先物理アドレスはサイクルT3
の終了時にPA27に置数される。このとき、
RMA24の内容(a′)が第3図に示されている
ようにRMB28に置数される。サイクルT3では
CNT44の制御により論理アドレス生成回路4
2がサイクルT2に続いて起動される。すなわち
CNT44は、RRL15に保持されている分岐命
令Ibのアドレスbをセレクタ20からADD22
に選択出力せしめ、DEC16から出力されてい
る分岐命令Ibの命令語長Lをセレクタ43から
ADD22に選択出力せしめる。そしてCNT44
はセレクタ20,43の各出力間の加算をADD
22で行なわしめ、その加算結果b+Lを第3図
に示されているようにサイクルT3の終了時に
RMA24に置数する。上記加算結果b+Lは分
岐命令Ibの次の命令(これをIb+Lと称する。)の
論理アドレスである。すなわち本実施例では、分
岐命令処理に際し、分岐成立を見込んで処理を先
行する場合に、論理アドレス生成回路は分岐先論
理アドレスを生成するサイクル(この例ではサイ
クルT2)を除いて分岐命令の実行ステージ(以
下、Eステージと称する)までの間に使用されな
いことに着目し、サイクルT3にて論理アドレス
生成回路を用い、分岐不成立の場合の実行アドレ
ス(分岐命令Ibの次の命令Ib+L)を求めるように
している。
次のマシンサイクル(サイクルT4)ではPA2
7に保持されている分岐先物理アドレスに基づい
てMEM31がアクセスされ、分岐先命令Ia′が読
み出される。これがメモリアクセスステージ(以
下、Cステージと称する)である。MEM31か
ら読み出された上記分岐先命令Ia′の各部はRIL
12,N13,I14などにサイクルT4の終了
時に置数される。このとき、CNT44はその時
点のRMB28の内容すなわち分岐先論理アドレ
スa′を信号ライン41を介してRRL15にロー
ドする(第3図参照)。同じくCNT44はその時
点のRMA24の内容すなわち分岐不成立時の実
行命令である命令Ib+Lの論理アドレスb+Lを
RMB28にロードする。
7に保持されている分岐先物理アドレスに基づい
てMEM31がアクセスされ、分岐先命令Ia′が読
み出される。これがメモリアクセスステージ(以
下、Cステージと称する)である。MEM31か
ら読み出された上記分岐先命令Ia′の各部はRIL
12,N13,I14などにサイクルT4の終了
時に置数される。このとき、CNT44はその時
点のRMB28の内容すなわち分岐先論理アドレ
スa′を信号ライン41を介してRRL15にロー
ドする(第3図参照)。同じくCNT44はその時
点のRMA24の内容すなわち分岐不成立時の実
行命令である命令Ib+Lの論理アドレスb+Lを
RMB28にロードする。
次のマシンサイクル(サイクルT5)ではEス
テージが行なわれる。このEステージにおいて分
岐条件成立/不成立の判断が行なわれ、条件成立
であることが確認された場合には処理はこのまま
進められる。すなわちサイクルT5において、分
岐先命令Ia′に基づくLステージが行なわれ、次
のマシンサイクル(サイクルT6)において同じ
くPステージが行なわれる。サイクルT7以降に
ついては説明を省略する。
テージが行なわれる。このEステージにおいて分
岐条件成立/不成立の判断が行なわれ、条件成立
であることが確認された場合には処理はこのまま
進められる。すなわちサイクルT5において、分
岐先命令Ia′に基づくLステージが行なわれ、次
のマシンサイクル(サイクルT6)において同じ
くPステージが行なわれる。サイクルT7以降に
ついては説明を省略する。
これに対し、上記Eステージにおいて条件不成
立すなわち条件成立の見込みがはずれた場合に
は、CNT44の制御によりEステージ(サイク
ルT5)の終了時にその時点のRMB28の内容す
なわち命令Ib+Lの論理アドレスb+Lが信号ライ
ン41を介してRRL15にロードされる。また、
IB11に先取りされていた(分岐命令に続く)
命令がIB11より取り出され、この命令の各部
はRIL12、N13,I14などに置数される。
この命令が分岐命令の次の命令Ib+Lであることは
勿論である。そして、次のマシンサイクル(サイ
クルT6)において命令Ib+Lに基づくLステージが
行なわれる。なお、サイクルT7以降については
説明を省略する。
立すなわち条件成立の見込みがはずれた場合に
は、CNT44の制御によりEステージ(サイク
ルT5)の終了時にその時点のRMB28の内容す
なわち命令Ib+Lの論理アドレスb+Lが信号ライ
ン41を介してRRL15にロードされる。また、
IB11に先取りされていた(分岐命令に続く)
命令がIB11より取り出され、この命令の各部
はRIL12、N13,I14などに置数される。
この命令が分岐命令の次の命令Ib+Lであることは
勿論である。そして、次のマシンサイクル(サイ
クルT6)において命令Ib+Lに基づくLステージが
行なわれる。なお、サイクルT7以降については
説明を省略する。
以上詳述したように本発明のデータ処理装置に
よれば、分岐命令をパイプライン処理で行なう場
合に、条件成立の見込み処理がはずれても特定の
回路を付加することなく正しいアドレスに補正す
ることができる。
よれば、分岐命令をパイプライン処理で行なう場
合に、条件成立の見込み処理がはずれても特定の
回路を付加することなく正しいアドレスに補正す
ることができる。
第1図は従来例を示すブロツク図、第2図は本
発明の一実施例を示すブロツク図、第3図は本発
明の動作を示すためのタイミング図である。 11……命令バツフア(IB)、15……命令カ
ウンタ(RRL)、17,44……コントロール部
(CNT)、18,42……論理アドレス生成回路、
22,33……加算器(ADD)、24……RMA
レジスタ、28……RMBレジスタ。
発明の一実施例を示すブロツク図、第3図は本発
明の動作を示すためのタイミング図である。 11……命令バツフア(IB)、15……命令カ
ウンタ(RRL)、17,44……コントロール部
(CNT)、18,42……論理アドレス生成回路、
22,33……加算器(ADD)、24……RMA
レジスタ、28……RMBレジスタ。
Claims (1)
- 【特許請求の範囲】 1 パイプライン制御方式のデータ処理装置にお
いて、 論理アドレス生成回路で生成された論理アドレ
スがパイプラインステージ単位で順に移動されて
保持され実行部に導かれるように構成されている
レジスタ群と、 上記論理アドレス生成回路で分岐先論理アドレ
スが生成されるサイクルの次のサイクルにおい
て、命令の実行先アドレスを示す命令カウンタに
保持されている分岐命令のアドレスを用いてこの
分岐命令に続く次の命令の論理アドレスである後
続命令論理アドレスを上記論理アドレス生成回路
で生成せしめる手段と、 上記論理アドレス生成回路で生成された上記分
岐先論理アドレスが上記分岐命令の実行ステージ
開始前に上記レジスタ群の特定レジスタに保持さ
れている状態で、この特定レジスタの内容を上記
命令カウンタに置数する手段と、 上記分岐命令の実行ステージが開始されて分岐
不成立が確認された場合には、上記分岐先論理ア
ドレス生成サイクルの次のサイクルにおいて上記
論理アドレス生成回路で生成されて上記特定レジ
スタに保持されている上記後続命令論理アドレス
を上記命令カウンタに置数して、この命令令カウ
ンタの内容を上記分岐先論理アドレスから上記後
続命令論理アドレスに補正する手段と、 を具備し、上記分岐命令に基づいて上記分岐先論
理アドレスが生成されてから同分岐命令の実行ス
テージで分岐成立/不成立が判断されるまでの上
記論理アドレス生成回路の空きを利用して、同回
路にて上記後続命令論理アドレスを生成するよう
にしたことを特徴とするデータ処理装置。 2 上記特定レジスタが、イミーデイエツト命令
の場合に上記実行部に対して即値アドレスを出力
するためのレジスタであることを特徴とする特許
請求の範囲第1項記載のデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57048544A JPS58166452A (ja) | 1982-03-26 | 1982-03-26 | デ−タ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57048544A JPS58166452A (ja) | 1982-03-26 | 1982-03-26 | デ−タ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58166452A JPS58166452A (ja) | 1983-10-01 |
JPH0348535B2 true JPH0348535B2 (ja) | 1991-07-24 |
Family
ID=12806305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57048544A Granted JPS58166452A (ja) | 1982-03-26 | 1982-03-26 | デ−タ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS58166452A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62194544A (ja) * | 1986-02-20 | 1987-08-27 | Nec Corp | 命令先読み制御方式 |
JPS6336336A (ja) * | 1986-07-30 | 1988-02-17 | Nec Corp | 情報処理装置 |
-
1982
- 1982-03-26 JP JP57048544A patent/JPS58166452A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS58166452A (ja) | 1983-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4827402A (en) | Branch advanced control apparatus for advanced control of a branch instruction in a data processing system | |
US4179731A (en) | Microprogrammed control system | |
US5461722A (en) | Parallel processing apparatus suitable for executing in parallel a plurality of instructions including at least two branch instructions | |
US6611909B1 (en) | Method and apparatus for dynamically translating program instructions to microcode instructions | |
US4574344A (en) | Entry control store for enhanced CPU pipeline performance | |
US5313644A (en) | System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word | |
JPH10228376A (ja) | 複数レジスタ命令を処理する方法及びプロセッサ | |
EP0297943B1 (en) | Microcode reading control system | |
EP0093430A2 (en) | Pipeline data processing system | |
US5142630A (en) | System for calculating branch destination address based upon address mode bit in operand before executing an instruction which changes the address mode and branching | |
JPH0348535B2 (ja) | ||
KR920006770B1 (ko) | 명령을 페치(fetch)하기 위한 제어 시스템 | |
JP2723238B2 (ja) | 情報処理装置 | |
US5361338A (en) | Pipelined system for decomposing instruction into two decoding parts and either concurrently generating two operands addresses of merging decomposing decoding codes based upon the second operand | |
EP0292188B1 (en) | Cache system | |
US5269008A (en) | Method and apparatus for pre-processing the source of a pop instruction in a pipeline computer | |
JPS5815810B2 (ja) | デジタル処理装置 | |
JP2545594B2 (ja) | オペランドデータ先取り方式 | |
JP2771373B2 (ja) | 命令先取り装置 | |
US5524221A (en) | Next instruction pointer calculation system for a microcomputer | |
JPH0248733A (ja) | 情報処理装置 | |
KR100515039B1 (ko) | 조건부 명령어를 고려한 파이프라인 상태 표시 회로 | |
JPS6126089B2 (ja) | ||
JPH059818B2 (ja) | ||
JPH0619705A (ja) | パイプライン制御方式 |