JPS6027945A - 命令取出装置 - Google Patents

命令取出装置

Info

Publication number
JPS6027945A
JPS6027945A JP58138583A JP13858383A JPS6027945A JP S6027945 A JPS6027945 A JP S6027945A JP 58138583 A JP58138583 A JP 58138583A JP 13858383 A JP13858383 A JP 13858383A JP S6027945 A JPS6027945 A JP S6027945A
Authority
JP
Japan
Prior art keywords
branch
instruction
address
word
block
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
Application number
JP58138583A
Other languages
English (en)
Other versions
JPS6236258B2 (ja
Inventor
Haruo Yano
矢野 治雄
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP58138583A priority Critical patent/JPS6027945A/ja
Publication of JPS6027945A publication Critical patent/JPS6027945A/ja
Publication of JPS6236258B2 publication Critical patent/JPS6236258B2/ja
Granted legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 この発明は高速の情報処理装置に適する命令取出装置に
関するものである。
く背 景〉 近年、高速の情報処理装置においては、命令の実−行と
並行して、実行中の命令シーケンスの後続の命令シーケ
ンスをキャツンユメモリより脱出し、これを一時記憶す
るための命令バッファを持つことが多い。まだ命令バッ
ファからの命令の取出し、命令のデコード、オペランド
の準(rfN削算の各過程に7J応した一連の処理ステ
ージを備え、マンンサイクルの周期で順次命令を前記一
連のステージに流して処理するパイプライン処理が行な
われることが多い。
ところで科学技術計算プログラムでは、プログラムの同
一シーケンスを多数回ループさせることが多く、和学技
術計算の専用処理装置においては同一の命令シーケンス
をデータを変えて多数回実行することが多い。従来科学
技術訓わ、専用の処理装置り、における命令取出方式の
1つとし7て、命令バッファの容計を例えば数にバイト
程+yに大きくし、これを複数個のブロックに分割し、
記憶装置の命令語エリア内の実行中の命令語をブロック
単位に、前記命令バッファ上のブロックに転記し、同時
に命令バッファの各ブロック毎にそのブロックに保持さ
れている命令語の命令アドレスを保持する手段を設け、
デコードすべき命令語の命令アドレスで、前記アドレス
保持手段のアドレスを探すことによシ、命令バッファ上
のブロック番号をめ、そのブロックから順次命令をデコ
ードステージに取出す方式がある。
この方式では分岐命令をデコードし、分岐条件を検出す
ると、その分岐命令語が指定するペースレジスタ及びイ
ンテックスレジスタのそれぞれの値と、命令語内のディ
スプレイスメントとを加算し分岐アドレスをめ、その分
岐アドレスで前記アドレス派持手段を探して分岐先命令
語の存在する命令バッファ(以下IBと記す)上のブロ
ック番号をめ、そのブロックより分岐先の命令を順次読
出す。従ってこの方式では分岐命令の処理は大半がIB
上で分岐することにな9前記ル一プ回数の多いプログラ
ムに適しているといえる。
しかしながら、それでも分岐命令をIBJJ取出し、分
岐先の命令語をIBより取出す捷でには以下の処理が必
要である。
(1)分岐命令のデコード (2)命令語の指定に従った分岐アドレスの計算(3)
分岐成功/不成功の判定 (4) 分岐アドレスによる前記アドレス保持手段のザ
ーチ(探索) こメで上記(3)と(4)は並列に処理できるが、それ
以外は遂次的に処理される。そのだめ分岐命令を取出し
、分岐先命令を取出す丑てにかなり時間がかかり、この
間演算ステージを有効に利用できないという欠点がある
〈発明の目的〉 この発明の目的は前記従来方式の命令取出方式において
、IB内の命令語の1乃至数語刀に]エンi・リーを有
し、その対応する命令語群内に分岐「[δ令かある場合
、その分岐の分岐成立/不成立履HyH及び)−ト岐先
命令語の存在するI 13上のアドレスを保持する分岐
1援歴テーブル(以下13 HTと記す)を設け、1B
からデコードステージに命令を取出す際にi3 II 
Tの対応エントリーから」=記分岐情報を取出し、命令
語が分岐命令て゛あり、その分岐情報の分岐成立/不成
立履歴が分岐成立を示してぃれば、その分岐情報内の分
岐先のIBアドレスにより即、坐に分岐先の命令語をI
Bより取出すことにより、上記欠点を解決した命令取出
装置を提供することにある。。
〈発明の概要〉 この発明による命令取出装置は記憶装置から読出された
8令語をブロック単位に保持する命令バッファと、その
命令バッファ上のブロックの1乃至数個に対応して、そ
のブロック群に保持される命令語のアドレスを保持する
アドレス保持手段と、前記命令バッファから読出された
命令語を保持する命令レジスタと、前記命令バッファ上
の命令語の1乃至数語毎に1エントリを有し、その命令
語群内に分岐命令がある場合、その分岐命令の分岐成立
/不成立履歴及び分岐先命令語が格納されてあシ、前記
命令バッファ上のアドレスを保持する分岐履歴テーブル
とにより構成される。
〈実施例〉 構成 次にこの発明の一実施例について図面を参照して説、明
する。第J図UJ:この発明による命令取出装 1置を
示すブロック1ン1である。この実施例では命令しく″
J]4バイト、叩ら32ビットであり、命令の論 (哩
アドレスは30ビツトの語アドレスである。命令・くツ
ノア(丁13)3は16バイト×64ワードの4’i/
7成で、読出、招込が同時に可能な記憶素子により実現
され、16ワード毎にブロック0,1゜2.3として使
用する。各ブロックには記憶装置にある命令語情・ト1
φの1ブロック即ち256バイト 1境界から始捷る2
56バイトの情報がロードされる1、レジスタ2(弓:
これに対するロード時に記憶装置1グからの情報を一度
受け、In2に書込むだめのレジスタで16バイトであ
る0、切替回路4けIn2から読出された4語の内の1
つを選択し、その選択した1語を4バイトの命令レジス
タ5((スト「」−ブする3、 レジスタ20及び21はそれぞれIn2のブロック0及
びブロック3に保持されている命令語のアドレス上位2
6ビツトを保持するだめの先頭アドレスレジスタである
。第1図では一部省略してのるが先頭アドレスレジスタ
はIn2の各ブロック対応にあり計4個用意されている
。レジスタ19は分岐命令により決定される分岐アドレ
ス及びインストラクションカウンタのイ刀只月1直がセ
ットされる分岐゛アドレスレジスタである。分岐゛アド
レスレジスタ19の値の上位26ビツトを先頭アドレス
レジスタ20.・・・、21と比較回路22.・・・・
23でそれぞれ比較し、一致出力により分岐先の命令語
のあるブロック番号を決める。
分岐履歴テーブル(以下BITと省略)11けIn2の
4バイトに対応して1エンl−1)−即ち9ビツトを有
し、36ビツト×64ワードの構成である。BHTII
もI 133と同様の記憶素子により実現される。B 
I−I T 11の1エントリーの形式を第2 i7J
 Aに示す。ビット0のVビット(竹そのエントリーに
対応するIn2の命令語が無条件分岐若しくは分岐成立
の条件分岐であったことを示し、ビット1〜8はその分
岐の分岐先命令語のあるIn3上のアドレスを示す。
In2及びBHTIIの読出アドレスカウンタ7の形式
を第2 ill Bに示す。ビット0,1はブロック1
J1゛号、ビット2〜5はブロック内のワード番 号、
ピッl−6、7はワード内網番号をそれぞれ示す。、ビ
ット2〜7は)山常id+1さノしる。、1B3の11
11へアドレスカウンタ1及びBHTILの俵込ア 1
ドレスカウンタ10の形式は同一でこれを第2図CK示
す1.ビット0,1lI−1ニブロツク甫弓でビット 
′2〜5けワード番号である。ピッl−2・〜5が+1
されることがある。
制御回路25は上記のバッファの、1ノ゛1“1出、書
込、レジスタのスI・ローブ及びレジスタの人力切替等
の信号を発生ずるiil、l @j回路である。
動 作 次に第1図を参照i〜でとの命令取出装置の動作を説明
する。、制御回路25は命令取出の開始指示を受けると
初+c++ I C(インストラクションカウンタ)を
[J)替回路18を介して分岐アドレスレジスタ19に
セットする。開始指示を受けた時点ではI B 3には
有効な命令語はロードされてなく、先vi4アドレスレ
ジスタ対比、に設けられた有効性表示ビット(以下Vビ
ットとする)は全てリセット状裏である。従ってブロッ
ク0〜3の内ヒツトするものはなく、分岐アドレスレジ
スタ19の値をアクセスアドレスとして記憶装置にブロ
ックロード決求を送出する。
そのロード先のブロック番号は前記Vビットが0″のブ
ロックの内から若番を優先的に選択するって、最初はブ
ロック0が選択される。、制御回路25は記憶装置にロ
ード要求を出すと、その記憶装置より応答情報を受ける
までの時間を利用してBHTIIのブロックOの全エン
トリーの■ビットをクリアする。即ち書込アドレスカウ
ンタ10の上位2ビツトにブロック番号0がセットされ
、下位のワード番号部をOから15までインクリメント
しつつvビットに0″を書込む。制御回路25は記憶装
置から応答信号を受けると、データ線30を通して送ら
れてくる16バイト×16回の情報をIn2のブロック
0の各ワードに書込む。その情報はリクエストアドレス
の情報を含む16バイトを先頭にして16回送られてく
る。制御回路25は寸た応答信号を受けると分岐アドレ
スレジスタ19の上位26ビツトの値を先頭アドレスレ
ジスタOにセットし、同時にそのレジスタ対応のVビッ
トをセットする。これにょシ比較回路22の出力が1″
とな9回路24がらヒツト信号32とブロック番号信号
33とが出力される。制御回路25はそのブロック番号
信号と分岐アドレスレジスタ19の下位6ビツトを切替
回路6を通じて読出アドレスカウンタ7にセットし、以
後そのカウンタの下位6ビツトを++m次インクリメン
トする。
これにより命令レジスタ5には所定の命令語が順次読み
出され、同時に分岐情寄レジスタ15に(ri対応する
B)ITIIのエントリーの情報が読み出される3、命
令レジスタ5内の命令語ノオペレー7ヨンコードはデコ
ーダ26に入力されて分岐命令であれば検出される。
こ\で条件分岐命令を検出すると、flil」御回路2
5はその命令語のIBa上のアドレス、即ちに出7ドレ
スカウンタ7のアドレスをレジスタ12がらスタック1
3に移送する。又、Bf(Tllがら読出された分岐情
報をレジスタ15からスタック16に移送する。なお条
件分岐命令を検出して驚分岐情報のVビットはリセット
されているので分岐不成立側の命令を引続いて読み出す
。その分岐命令が命令レジスタ5より次段のステージに
送出されるとその命令語が指定するペースレジスタ、イ
ンデックスレジスタの値と、ディスプレイスメント値が
加算されて分岐アドレスとして4マシンサイクル後に送
られてくる。
制御回路25はその分岐アドレスを分岐アドレスレジス
タ19にセットし、先頭アドレスレジスタ0〜3の値と
比較し、分岐先命令語の存在するブロック番号を引き出
しておく。こ\では説明を簡単にするだめにブロック内
でループするだめの条件分岐を検出したものとし、ブロ
ック0がヒツトしたとする。制御回路25は分岐アドレ
スを受けた1マシンサイクル後に分岐成立/不成立信号
を受ける。こ\で分岐不成立信号を受けると、スタック
16の分岐情報も分岐不成立を予測していたので(分岐
成立履歴が″0″であるので)伺もせず、すでに進めて
いる分岐不成立側の命令の読出しを続行する。
分岐成立信号を受けるとスタック16の分岐方向予測(
分岐成立履1i+i5@o ” )と異なるので、命令
1、l)の読み出しを正しい分岐方向に切替える。即ち
前記引出したブロック番号と分岐アドレスレジスタ19
の下位ビットとを読出カウンタ7にセットする。またレ
ジスタ9においてもVビット、即ち分岐成立履歴が分岐
成立信号によ!l) ” i ”とされ、読出カウンタ
7にセットとした分岐先のI Bアドレスと同一の内容
をセットし、これでB HT 11の対応工/トリーを
更新する。この際、BHTの一占込アドレスカウンタ1
0にはスタック13からのアドレスをセットしておく1
、以後分岐先の命令語が順次読み出され、再度同一の条
件分岐を読み出すと、この時には分岐情報レジスタ15
のvビットがセットされているので、即座に分岐情相内
の分岐先IBアドレスを読出アドレスカウンタ7にセッ
トし、分岐先の命令語を読み出す。
この際にも、分岐情報はレジスタ15よりスタック16
に移送し、その条件分岐命令を次段に送出後、送られて
くる分岐アドレスで分岐先のIBアドレスを引出し、こ
の正規にめたIBアドレスとスタック16内の予測によ
るIBアドレスの一致チェックを比較回路17で行なう
。両者か−、致しないことは実用上極めて少ないのであ
るが、この場合には正規にめたIBアドレスにより命令
語を読み出す。なお既に送出済の命令語は演算実行ステ
ージに渡す前に無効にする。
この実施例においてはIn2の1語(4バイト)に対し
てBHTIIの1エントリーを設けているが、BHTl
lの金物句、を減らすためにIn2の数語、即ち数命令
に対してBHTIIの1エントリーを設け、各エントリ
ー内の分岐情報が対応する数命令内のいずれの命令に関
するかを指定するポインタ情報を各エントリーに設ける
ようにしてもよい。またこの実施例においてはIn2に
命令語が存在しなかった場合、IBa上のブロックの1
つに記憶装置より命令語をロードするが、この記憶装置
がキャッシュメモリあるいは主メモリのいずれであって
もよい。
〈効 果〉 この発明は以上説明したように、命令バッファの命令語
対応にその命令語が分岐命令の時に、分岐成立/不成立
履歴及び分岐先の命令バッファ上のアドレスを保持する
分岐履歴テーブルを設け、分岐先の命令語を命令バッフ
ァより速かに取シ出し、実行ステージに伊給することに
より、この命令取出装置を含む情報処理装置の処、″1
1速度を向上さぜる効果がある。
【図面の簡単な説明】
第1図はこの発明による命令取出装置の全体を示すブロ
ック図、第2図は第1図に示した分岐層、l;、・テー
ブル11の1エントリーの形式、読出アドレスカラ/タ
フの形式及び書込アドレスカウンタ1の形式を示す図で
ある。 1.7.10:カウンタ、2,5,9,12゜1、5 
、 ] 9 、20 、21 :レジスタ、3:命令バ
ッファ、11:分岐履歴テーブル、4,6゜s 、 1
−4 、18 :切替回路、17,22.23:比較回
路、25:制御回路、13.16 ニスタック。 時計出願人 日本電気株式会社 代 理 人 草 野 卓

Claims (1)

    【特許請求の範囲】
  1. (1) its: If<装置より脱出された命令語を
    ブロック単位に保持する命令バッファと、その命令バッ
    ファ」二のブロックの1個乃至数個に対応してそのブロ
    ックイ1]、に保持される命令語のアドレスを保持する
    アドレス保持手段と、前記命令バッファから読出された
    命令語を保持する命令レジスタと、前記命令バッファ上
    のブロック内の命令語の1乃至数語t7I)に1エント
    リーを有し、その命令語群内に分岐命令がある場合、そ
    の分岐命令の分岐ノあ立/不成立を示す履歴及び分岐先
    の命令語が格納されてあシ、前記命令バッファ上のブロ
    ック番号校びブロック内アドレスを保持する分岐&歴テ
    ーブルと、その分岐1ia歴テーブルから読出された情
    報全保持する分岐情報レジスタとを含む命令取出装置で
    あって、前記命令バッファより命令語を命令レジスタに
    取出すと同時に前記分岐B 歴テーブルの対応エントリ
    ーを分岐情報レジスタに取出し、その分岐情報内の分岐
    成立/不成立を示す履歴が分岐成立を示していると以後
    分岐情報内の分岐先のブロック番号、ブロック内アドレ
    スに従って命令語を取出し、又分岐情報内の分岐成立/
    不成立履歴が分岐成立を示していないが対応して取出し
    た命令語が分岐命令で分岐成立条件を検出した場合にr
    rl、その命令語の指定に従って計算した分岐アドレス
    と前記アドレス保持手段の値との一致チェックをし、一
    致した場合には前記命令バッファ上のそのブロックより
    分岐先命令語を取出し、更に前記分岐履歴テーブルの前
    記分岐命令に対応するエン) IJ−にそのブロック番
    号及び分岐成立表示を登録することを特徴とする命令取
    出装置。
JP58138583A 1983-07-27 1983-07-27 命令取出装置 Granted JPS6027945A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58138583A JPS6027945A (ja) 1983-07-27 1983-07-27 命令取出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58138583A JPS6027945A (ja) 1983-07-27 1983-07-27 命令取出装置

Publications (2)

Publication Number Publication Date
JPS6027945A true JPS6027945A (ja) 1985-02-13
JPS6236258B2 JPS6236258B2 (ja) 1987-08-06

Family

ID=15225508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58138583A Granted JPS6027945A (ja) 1983-07-27 1983-07-27 命令取出装置

Country Status (1)

Country Link
JP (1) JPS6027945A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62221036A (ja) * 1986-03-13 1987-09-29 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 計算装置
JPS62224829A (ja) * 1986-03-25 1987-10-02 Nec Corp 命令キヤツシユ制御方式
JPS6336336A (ja) * 1986-07-30 1988-02-17 Nec Corp 情報処理装置
JPS6395538A (ja) * 1986-10-09 1988-04-26 Nec Corp 命令処理順序制御装置
JPH01169538A (ja) * 1987-12-02 1989-07-04 Internatl Business Mach Corp <Ibm> 命令事前取出し装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5022384A (ja) * 1973-06-29 1975-03-10
JPS5759253A (en) * 1980-09-29 1982-04-09 Nec Corp Branch instruction prefetch system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5022384A (ja) * 1973-06-29 1975-03-10
JPS5759253A (en) * 1980-09-29 1982-04-09 Nec Corp Branch instruction prefetch system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62221036A (ja) * 1986-03-13 1987-09-29 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 計算装置
JPS62224829A (ja) * 1986-03-25 1987-10-02 Nec Corp 命令キヤツシユ制御方式
JPS6336336A (ja) * 1986-07-30 1988-02-17 Nec Corp 情報処理装置
JPS6395538A (ja) * 1986-10-09 1988-04-26 Nec Corp 命令処理順序制御装置
JPH0668722B2 (ja) * 1986-10-09 1994-08-31 日本電気株式会社 命令処理順序制御装置
JPH01169538A (ja) * 1987-12-02 1989-07-04 Internatl Business Mach Corp <Ibm> 命令事前取出し装置

Also Published As

Publication number Publication date
JPS6236258B2 (ja) 1987-08-06

Similar Documents

Publication Publication Date Title
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
US4725947A (en) Data processor with a branch target instruction storage
US4827402A (en) Branch advanced control apparatus for advanced control of a branch instruction in a data processing system
US4745547A (en) Vector processing
US4305124A (en) Pipelined computer
US20110264894A1 (en) Branching processing method and system
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
JPH0374434B2 (ja)
JPS6217252B2 (ja)
JP2000330787A (ja) 命令ループを実行するコンピュータシステムおよび命令ループ実行方法
JPH063584B2 (ja) 情報処理装置
JPH05120013A (ja) 分岐命令バツフアを有するデータプロセツサ
JPS6010668B2 (ja) 可変長オペランドの取出制御機構
JPS6027945A (ja) 命令取出装置
US4924425A (en) Method for immediately writing an operand to a selected word location within a block of a buffer memory
JPH0650465B2 (ja) 分岐制御回路
US5121474A (en) Bit string data processor using dynamically addressable bit locations in memory so overlapping strings do not destroy data in memory
US3644900A (en) Data-processing device
JPS5991551A (ja) 分岐先アドレス予測を行なう命令先取り装置
JPS6116335A (ja) 情報処理装置
JPH01183737A (ja) 情報処理装置
JPS60126734A (ja) 情報処理装置
JPH046983B2 (ja)
EP0015276B1 (en) A digital pipelined computer
JPS5890244A (ja) デ−タ処理装置