JPH0348535B2 - - Google Patents

Info

Publication number
JPH0348535B2
JPH0348535B2 JP4854482A JP4854482A JPH0348535B2 JP H0348535 B2 JPH0348535 B2 JP H0348535B2 JP 4854482 A JP4854482 A JP 4854482A 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
Application number
JP4854482A
Other languages
English (en)
Other versions
JPS58166452A (ja
Inventor
Haruo Tateno
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP4854482A priority Critical patent/JPS58166452A/ja
Publication of JPS58166452A publication Critical patent/JPS58166452A/ja
Publication of JPH0348535B2 publication Critical patent/JPH0348535B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional 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の解読結果に応じてパイプライン制御
を含む各部の制御を行なう。
論理アドレス生成回路18はCNT17の制御
により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に供給する
ためのレジスタである。
次にメモリアクセスステージが行なわれる。こ
のステージでは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などにロードされ、該命令の論
理アドレス生成ステージに入る。
〔背景技術の問題点〕
このように従来のパイプライン制御方式のデー
タ処理装置では、分岐命令処理に際し、判定条件
検出前に見込みで成立もしくは不成立の処理を行
なうようになつているが、見込みがはずれた場合
に命令カウンタの内容を補正するために、この補
正すべきアドレスを算出する加算器、この加算器
のアドレス算出結果を保持するレジスタ、このレ
ジスタの内容を選択して命令カウンタに導くセレ
クタなどのハードウエアが必要となる欠点があつ
た。
〔発明の目的〕
本発明は上記事情に鑑みてなされたものでその
目的は、分岐命令をパイプライン処理で行なう場
合に、条件成立の見込み処理がはずれても特定の
回路を付加することなく正しいアドレスに補正で
きるデータ処理装置を提供することにある。
〔発明の概要〕
論理アドレス生成回路では、分岐命令に基づい
て見込みで分岐先論理アドレスの生成を行なつた
後、分岐命令の実行ステージで条件成立/不成立
が判断されるまでアドレス生成動作が行なわれな
いことに着目し、上記論理アドレス生成回路で分
岐先論理アドレスが生成されるサイクルの次のサ
イクルにおいて、命令カウンタに保持されている
分岐命令のアドレスを用いて、この分岐命令の次
の命令の論理アドレスを上記論理アドレス生成回
路で生成するようにし、上記論理アドレス生成回
路の出力がパイプラインステージ単位で順に移動
されて保持され実行部に導かれるように構成され
ているレジスタ群の中の特定レジスタに上記分岐
先論理アドレスが保持されている場合に、この特
定レジスタに保持されている分岐先論理アドレス
を上記分岐命令の実行前に上記命令カウンタに置
数し、分岐命令の実行ステージにおいて分岐不成
立が確認された場合にそのときの上記特定レジス
タの保持内容すなわち分岐命令の次の命令の論理
アドレスを上記命令カウンタに置数するようにし
たものである。
〔発明の実施例〕
以下、本発明の一実施例を図面を参照して説明
する。なお、第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にロードする機能を
有する。
次に本発明の一実施例の動作を第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)を求めるように
している。
次のマシンサイクル(サイクル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にロードする。
次のマシンサイクル(サイクルT5)ではEス
テージが行なわれる。この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以降については
説明を省略する。
〔発明の効果〕
以上詳述したように本発明のデータ処理装置に
よれば、分岐命令をパイプライン処理で行なう場
合に、条件成立の見込み処理がはずれても特定の
回路を付加することなく正しいアドレスに補正す
ることができる。
【図面の簡単な説明】
第1図は従来例を示すブロツク図、第2図は本
発明の一実施例を示すブロツク図、第3図は本発
明の動作を示すためのタイミング図である。 11……命令バツフア(IB)、15……命令カ
ウンタ(RRL)、17,44……コントロール部
(CNT)、18,42……論理アドレス生成回路、
22,33……加算器(ADD)、24……RMA
レジスタ、28……RMBレジスタ。

Claims (1)

  1. 【特許請求の範囲】 1 パイプライン制御方式のデータ処理装置にお
    いて、 論理アドレス生成回路で生成された論理アドレ
    スがパイプラインステージ単位で順に移動されて
    保持され実行部に導かれるように構成されている
    レジスタ群と、 上記論理アドレス生成回路で分岐先論理アドレ
    スが生成されるサイクルの次のサイクルにおい
    て、命令の実行先アドレスを示す命令カウンタに
    保持されている分岐命令のアドレスを用いてこの
    分岐命令に続く次の命令の論理アドレスである後
    続命令論理アドレスを上記論理アドレス生成回路
    で生成せしめる手段と、 上記論理アドレス生成回路で生成された上記分
    岐先論理アドレスが上記分岐命令の実行ステージ
    開始前に上記レジスタ群の特定レジスタに保持さ
    れている状態で、この特定レジスタの内容を上記
    命令カウンタに置数する手段と、 上記分岐命令の実行ステージが開始されて分岐
    不成立が確認された場合には、上記分岐先論理ア
    ドレス生成サイクルの次のサイクルにおいて上記
    論理アドレス生成回路で生成されて上記特定レジ
    スタに保持されている上記後続命令論理アドレス
    を上記命令カウンタに置数して、この命令令カウ
    ンタの内容を上記分岐先論理アドレスから上記後
    続命令論理アドレスに補正する手段と、 を具備し、上記分岐命令に基づいて上記分岐先論
    理アドレスが生成されてから同分岐命令の実行ス
    テージで分岐成立/不成立が判断されるまでの上
    記論理アドレス生成回路の空きを利用して、同回
    路にて上記後続命令論理アドレスを生成するよう
    にしたことを特徴とするデータ処理装置。 2 上記特定レジスタが、イミーデイエツト命令
    の場合に上記実行部に対して即値アドレスを出力
    するためのレジスタであることを特徴とする特許
    請求の範囲第1項記載のデータ処理装置。
JP4854482A 1982-03-26 1982-03-26 デ−タ処理装置 Granted JPS58166452A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4854482A JPS58166452A (ja) 1982-03-26 1982-03-26 デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4854482A 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
JP4854482A Granted JPS58166452A (ja) 1982-03-26 1982-03-26 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS58166452A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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 情報処理装置

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
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
JP2580396B2 (ja) パイプラインにおける分岐命令制御方式
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
JPS5815810B2 (ja) デジタル処理装置
JP2545594B2 (ja) オペランドデータ先取り方式
JP2771373B2 (ja) 命令先取り装置
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JPH0248733A (ja) 情報処理装置
KR100515039B1 (ko) 조건부 명령어를 고려한 파이프라인 상태 표시 회로
JPS6126089B2 (ja)
JPH06314196A (ja) 情報処理方法および装置
JPH059818B2 (ja)
JPH05334265A (ja) 情報処理装置および情報処理方法