JPS6047618B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPS6047618B2
JPS6047618B2 JP10885280A JP10885280A JPS6047618B2 JP S6047618 B2 JPS6047618 B2 JP S6047618B2 JP 10885280 A JP10885280 A JP 10885280A JP 10885280 A JP10885280 A JP 10885280A JP S6047618 B2 JPS6047618 B2 JP S6047618B2
Authority
JP
Japan
Prior art keywords
instruction
branch
register
word
stored
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
JP10885280A
Other languages
English (en)
Other versions
JPS5734254A (en
Inventor
忠雄 近藤
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
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP10885280A priority Critical patent/JPS6047618B2/ja
Publication of JPS5734254A publication Critical patent/JPS5734254A/ja
Publication of JPS6047618B2 publication Critical patent/JPS6047618B2/ja
Expired 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding

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

【発明の詳細な説明】 本発明は分岐命令処理を高速に処理する情報処理装置に
関する。
従来、大型計算機では処理の高速化を図るため、同時に
複数の命令をオーバラップして処理を行うパイプライン
制御方式を採用している。
今、一例として第1A図に示すA、P、C、EおよびW
の5つのサイクルで構成する場合のパイプライン制御動
作について説明する。Aサイクルは命令レジスタ中の命
令を解読し、汎用レジスタ、ベースレジスタおよび命令
レジスタのデイスプレイスメント部を加算しアドレス計
算を行うサイクルである。PサイクルはAサイクルで得
られた仮想アドレスを実アドレスに変換するサイクル、
Cサイクルは変換された実アドレスを用いてキャッシュ
メモリをアクセスしオペランドを取出すサイクルである
。Eサイクルは読み出されたオペランドを用いて演算を
行うサイクルでありWサイクルは演算結果を汎用レジス
タまたは主メモリヘ格納するサイクルである。このよう
に、パイプライン制御方式は命令の処理をいくつかのス
テップに分解し同時に複数の命令を処理することにより
1命令の実行時間が1サイクルの時間に短縮できる優れ
た方式であるが、分岐命令はパイプラインに空白を生じ
せしめ、パーイプラインの効率を低下させるという問題
がある。
本発明の目的は分岐命令の分岐先命令語取出動作を早め
分岐命令の処理を高速化するようにした情報処理装置を
提供することにある。本発明の装置は、主メモリからの
命令語を格納フする第1の命令レジスタ手段と、この第
1の命令レジスタ手段に命令語を格納すると同時に前記
第1の命令レジスタ手段に格納する命令語の直後の命令
語を前記主メモリから取り出し格納する第2の命令レジ
スタ手段と、5 この第2の命令レジスタ手段に分岐命
令が格納されると該分岐命令の分岐先命令語の取出し要
求を前記主メモリに送出する手段とを含む。
次に本発明について図面を参照して詳細に説明する。
第2図に示す本発明の一実施例は、命令バッファ1、汎
用レジスタ2、この命令バッファ1からの命令を格納す
る命令レジスタ3、この命令レジスタ3の命令を解読す
るデコーダ10、前記命令バッファ1からの分岐命令を
格納する分岐命令レジスタ牡この分岐命令レジスタ4の
分岐命令を解読するデコーダ11、前記命令レジスタ1
0の命令のデイスプレースメントと前記汎用レジスタ2
からの値とを加算し仮想アドレスを出力するアドレス加
算器5、このアドレス加算器5からの仮想アドレスを格
納する仮想アドレスレジスタ1、前記分岐命令レジスタ
4の分岐命令のデイスプレースメントと前記汎用レジス
タ2からの値とを加算し仮想アドレスを格納する仮想ア
ドレスレジスタ8、キャッシュメモリ9および仮想アド
レスレジスタ7からの仮想アドレスの指定するキャッシ
ュメモリ9の位置から命令を読み出し命令バッファ1に
格納するよう前記デコーダ10からの解読結果に基づき
指示するか仮想アドレスレジスタ7からの仮想アドレス
の指定するキャッシュメモリ9の記憶位置からの命令を
読み出し命令バッファ1に格納するよう前記デコーダ1
0からの解読結果に基づき指示する制御部12から構成
されている。
次に本実施例の動作を詳細に説明する。
命令語は命令バッファ1から取り出され命令レジスタ3
および分岐命令レジスタ4に格納される。命令バッファ
1の補充は前記バッファ1が空になり次第.制御部12
により逐次行なわれる。命令レジスタ3へは本来処理す
べき命令語が取り出され同時に分岐命令レジスタ4へは
命令レジスタ3に取り出される命令語の次の命令語が取
り出され、それぞれ格納される。従つて、分岐命令レジ
スタ4にはj次のAサイクルで命令レジスタ3に格納さ
れる命令語が格納される。命令バッファ1中に充分に命
令語がない場合、命令レジスタ3のみが格納されること
もあり、この場合は分岐命令の高速処理はできない。
クアドレス加算
器5および6は前記レジスタ3および4中のデイスプレ
イスメントと、汎用レジスタ2の値とを加算しオペラン
ドの仮想アドレスを出力する。得られた仮想アドレスは
仮想アドレスレジスタ7および8にそれぞれ格納される
。デコーダ10および11は前記レジスタ3および4の
命令を解読する。今、命令レジスタ3にロード命令が、
分岐レジスタ4中に無条件分岐命令が格納された楊合に
ついて説明する。
デコーグ11は分岐命令レジスタ4の命令が分岐命令で
あることを検出し、制御部12に報告する。制御部12
はアドレス加算器6により算出された仮想アドレスを仮
想アドレスレフジスタ8に格納するとともにキャッシュ
メモリ9に対し前記レジスタ8の値に従い命令語を取り
出し命令バッファ1に格納することを指示する。仮想ア
ドレスレジスタ7には命令レジスタ3の命令に従いオペ
ランドアドレスが同様に算出されてい;るが、分岐命令
レジスタ4中に無条件分岐命令が検出されていると分岐
先取出動作を優先し、ロード命令のオペランド取出動作
は分岐先命令語取出動作の後に行なう。すなわち、第1
B図に示すタイムチャートのように無条件分岐命令の直
前の命l令のPサイクルは無条件分岐命令のPサイクル
終了後開始される。命令バッファ1は2つのバッファか
ら構成され、片方が現在実行中の命令を保持している場
合、他方に分岐先命令語の取出動作を行い、分岐の実行
にともないこれが入替るよう制御される。
命令レジスタ3および分岐命令レジスタ4への命令取出
動作は現在実行中の命令を保持するバッファから取り出
され、無条件分岐の分岐先命令語のキャッシュからの読
出しデータは命令バッファ1の他方のバッファに格納さ
れる。分岐命令レジスタ4に格納された無条件分岐命令
は次のサイクルで命令レジスタ3に格納され、命令実行
に必要なデコード情報を付加し、実行ユニットに送出さ
れる。
分岐命令レジスタ4での処理において、分岐先アドレス
の計算に使用する汎用レジスタ2が先行する命令の実行
が完了しないために値が確定していない場合や、命令レ
ジスタ3中の命令で変更される場合分岐先取出動作は中
止され、キャッシュメモリ9に対しては命令レジスタ3
中の命令のオペランド取出アクセスが行なわれる。分岐
先命令語がキャッシュメモリ9から取り出されると命令
バッファ1に格納されるとともに命令レジスタ3および
分岐命令レジスタ4に格納され、分岐先命令語の処理に
入る。
第3図は、命令レジスタ3、および分岐命令レジスタ4
に命令バッファ1から命令を取り出し格納するタイミン
グを作成する回路を示す図である。
ゲート31は命令バッファ1に、命令レジスタ3に取り
出せる有効な命令があるかまたはキャッシュから読出し
中であることを示す信号を作り、ゲート32に送出する
フリップフロップ33は命令レジスタ3に有効な命令が
入つていることを示すフリップフロップであり、このフ
リップフロップ33のセットタイミングが命令レジスタ
3および分岐命令レジスタ4への命令取出タイミングと
なり、ゲート32により作成される。
ゲート37には命令レジスタ3中の命令がアドレス計算
を必要とする命令(例えば分岐命令)か否かをデコーダ
10によりデコードされた信号が与えられ、アドレス計
算を必要とする場合、ゲート38によりアドレス計算要
求が受付可能信号と論理積がとられる。
ゲート34およびゲート35はそれぞれアドレス計算を
不要とする命令または必要とする命令ての命令レジスタ
3が空になるタイミングを与えるもので、ゲート36に
より命令レジスタ3が空の条件と論理和がとられ命令レ
ジスタ3が空または次のサイクルで空という信号が出力
される。ゲート32は命令レジスタ3が空になる条件と
命令を取出可能という条件との論理積をとり命令レジス
タ3のセットタイミングを作成する。本実施例において
は、アドレス加算器5,6およびアドレスレジスタ7,
8が分岐命令高速化のために2組設けられているが、回
路素子の遅延時間が許せば、共用化することは容易であ
る。
また、本実施例においては無条件分岐を例に説明したが
、分岐成功側を先取りする条件分岐命令も同様に分岐成
功のケースを高速化できることは明らかである。さらに
、本実施例では命令バッファを介して命令取出動作を行
つているが、命令バッファがない場合、キャッシュメモ
リからの読出データを直接命令レジスタに取込む方法も
採用できる。
但しこの場合、後続命令が分岐命令レジスタ4に取り出
せないケースがキャッシュメモリの読出データ幅と読出
アドレスとに応じて発生する。本発明には連続する2命
令を同時に解読することにより分岐先の命令語取出動作
を早め、分岐命令の処理を高速化できるという効果があ
る。
【図面の簡単な説明】
第1A図は従来方式の一例を示すタイムチヤーント、第
1B図は本発明の一実施例を示すタイムチャート、第2
図は本発明の一実施例を示す図および第3図は第2図の
レジスタ3および4の命令格納タイミング信号を生成す
る回路の構成を示す図てある。 5 第1A,B図から第3図において、1・・・・・命
令バッファ、2・・・・・・汎用レジスタ、3・・・・
・・命令レジスタ、4・・・・・分岐命令レジスタ、5
,6・・・・・アドレスアグー、7,8・・・・・アド
レスレジスタ、9・・・・・・キャッシュメモl八10
,11・・・・・・デコーダ、”012・・・・・制御
部。

Claims (1)

    【特許請求の範囲】
  1. 1 主メモリからの命令語を格納する第1の命令レジス
    タ手段と、この第1の命令レジスタ手段に命令語を格納
    すると同時に前記第1の命令レジスタ手段に格納される
    命令語の直後の命令語を格納する第2の命令レジスタ手
    段と、この第2の命令レジスタ手段に格納された命令が
    分岐命令であることを検出する分岐命令デコード手段と
    、この分岐命令デコード手段が分岐命令を検出したとき
    この分岐命令の分岐先命令語の取出し動作をこのとき前
    記第1の命令レジスタ手段に格納されている命令語によ
    るオペランド取出し動作よりも優先して行なわせる制御
    手段とを含むことを特徴とする情報処理装置。
JP10885280A 1980-08-08 1980-08-08 情報処理装置 Expired JPS6047618B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10885280A JPS6047618B2 (ja) 1980-08-08 1980-08-08 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10885280A JPS6047618B2 (ja) 1980-08-08 1980-08-08 情報処理装置

Publications (2)

Publication Number Publication Date
JPS5734254A JPS5734254A (en) 1982-02-24
JPS6047618B2 true JPS6047618B2 (ja) 1985-10-22

Family

ID=14495222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10885280A Expired JPS6047618B2 (ja) 1980-08-08 1980-08-08 情報処理装置

Country Status (1)

Country Link
JP (1) JPS6047618B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59160239A (ja) * 1983-03-02 1984-09-10 Hitachi Ltd 情報処理装置
JP2687765B2 (ja) * 1991-07-04 1997-12-08 日本電気株式会社 分岐予測方式

Also Published As

Publication number Publication date
JPS5734254A (en) 1982-02-24

Similar Documents

Publication Publication Date Title
JPS60168238A (ja) パイプラインデータ処理装置
JP3182438B2 (ja) データプロセッサ
EP0297943B1 (en) Microcode reading control system
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
JPH0650465B2 (ja) 分岐制御回路
JPS6047618B2 (ja) 情報処理装置
JPH05298097A (ja) 情報処理装置
JPH0326862B2 (ja)
JPH0248733A (ja) 情報処理装置
JPH02157939A (ja) 命令処理方法及び命令処理装置
JPS5925264B2 (ja) ベクトル命令処理方式
JP2545594B2 (ja) オペランドデータ先取り方式
JPS6232507B2 (ja)
JPH10283182A (ja) パイプライン型情報処理装置
JPH02254541A (ja) 条件分岐命令の制御方式
JPH03113535A (ja) パイプライン制御機構
JPS6277649A (ja) 情報処理装置
JPH01271842A (ja) 情報処理装置
JPS6020245A (ja) デ−タ処理装置の命令制御回路
JPS60134939A (ja) デ−タ処理装置
JPS6277648A (ja) 命令読出し制御方法
JPH06314196A (ja) 情報処理方法および装置
JPH024011B2 (ja)
JPS6027966A (ja) データ処理装置
JPS63168730A (ja) 分岐命令処理装置