JPS6336336A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPS6336336A
JPS6336336A JP18037986A JP18037986A JPS6336336A JP S6336336 A JPS6336336 A JP S6336336A JP 18037986 A JP18037986 A JP 18037986A JP 18037986 A JP18037986 A JP 18037986A JP S6336336 A JPS6336336 A JP S6336336A
Authority
JP
Japan
Prior art keywords
instruction
address
branch
register
prefetch
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.)
Pending
Application number
JP18037986A
Other languages
English (en)
Inventor
Takashi Horikawa
隆 堀川
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
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 filed Critical NEC Corp
Priority to JP18037986A priority Critical patent/JPS6336336A/ja
Publication of JPS6336336A publication Critical patent/JPS6336336A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は命令の先取りを行う情報処理装置に関し、特に
、効果的に命令の先取りを実行するため、無条件に分岐
が行われる命令について分岐命令のアドレスと分岐先ア
ドレスの対応を記録して、このような命令の処理を高速
に行う情報処理装置に関する。
(従来の技術〉 一般に、情報処理装置では、命令コードの取り込み(以
下、命令フェッチ)、命令コードの解読(以下、命令デ
コード)、命令実行という操作を各命令について行うこ
とにより、プログラムを実行している。命令によっては
、この他に、オペランド・アドレスの計算、主記憶から
のオペランドのアクセス(以下、オペランド・リード)
や命令実行結果の主記憶への書き戻しく以下、オペラン
ド・ライ1〜)という操作を必要とするものもある。
情報処理装置では、命令フェッチ、オペランド・リード
、オペランド・ライトを主記憶制御部、命令デコード、
オペランド・アドレスの計算を命令デコード部、命令の
実行を命令実行部で行っている。これらの操作は、情報
処理装置内の各部分で分担して処理されるため5.連続
する数命令についてこれらの各操作をオーバーラツプさ
せて並列に行うことが可能である。この点に着目し、命
令を高速に実行するために、数命令分の操作を並列に処
理するように制御することが広く行われている。これを
パイプライン制御といい、このような制御をとっている
情報処理装置をパイプライン型情報処理装置と呼ぶ。
パイプライン型情報処理装置で処理を高速に行うために
は、装置内の各部分が並列に動作する必要がある。しか
し、分岐命令では分岐先アドレスの計算が終了するまで
命令フェッチを行うことができないため、分岐命令に続
く命令のフェッチを行うことができない。このため、情
報処理装置内の各ユニットに空き時間が生じ、命令実行
速度向」二の妨げになっていた。
(発明が解決しようとする問題点) パイプライン型情報処理装置の処理速度を向上させるた
め、分岐命令のアドレスと分岐先のアドレスを記録して
おく方式では、条件分岐命令において分岐方向が変化し
たことに対処するため、多大なハードウェアを用いた複
雑な制御を必要とするという問題点があった。
(問題点を解決するための手段) 本発明による情報処理装置では、前記の問題点を解決す
るため、無条件に分岐する命令についてのみ分岐命令の
アドレスと分岐先のアドレスを記録しておくことにより
、分岐命令の次に実行すべき命令のアドレスが変化した
ときに対応するハードウェアを削減する。
(作用) 情報処理装置においてプログラムの実行中に、無条件に
分岐する命令が命令レジスタにセットされると、無条件
分岐命令認識部がこれを認識し、設定アドレス導出部に
より導出された無条件に分岐する命令のアドレスを命令
アドレス表、アドレス計算部により計算された分岐先ア
ドレスを分岐先アドレス表に記録する。先取りアドレス
・レジスタに保持されるアドレスが命令アドレス表に存
在するときには、これに対応する分岐先アドレスを分岐
先アドレス表から命令先取り部に送る。命令先取り部で
は、無条件分岐アドレス対応表から送られたアドレスか
ら命令フェッチを行う。
このような制御を行うことにより、分岐命令実行時にお
いて情報処理装置内の各部分に生じる空き時間を少なく
して、命令実行速度を向上させる。
(実施例) 本実施例では、情報処理装置の内部を第2図に示すよう
にプロセッサ21と、主記憶23に分割して説明する。
第2図において、プロセッサ21内部の主記憶制御部2
2は主記憶のアクセスを行う部分であり、命令先取り部
2、先取りアドレス・レジスタ3.2系統の命令バッフ
ァ4を内部に持つ。また第1図には、主記憶23、命令
実行部25を除いた部分を表示している。主記憶制御部
22の内部にメモリ管理機構やキャッシュ・メモリを持
つ情報処理装置や、命令バッファ4を3系統以上持つ情
報処理装置も考えられる。命令デコード部24は命令の
デコードとアドレス計算を行う部分であり、命令レジス
タ5、命令アドレス・レジスタ6、無条件分岐認識部8
、アドレス計算部7、設定アドレス導出部9を内部に持
つ。アドレス計算部7は、命令レジスタ5に格納された
命令コードや命令アドレス・レジスタ6に格納されたア
ドレスやプロセッサ内のレジスタを用いてオペランド・
アドレスを計算する部分である。設定アドレス導出部9
では、命令アドレス・レジスタ6に格納されたアドレス
より命令コード語の最後尾のアドレスを導出する。可変
長命令の場合は、命令をデコードすることにより得られ
る命令長を使用する。命令アドレス表1Oは、連想メモ
リで構成され、これに格納された総てのアドレスと先取
りアドレス・レジスタ3の内容との比較を行う。この比
較の結果、一致するアドレスがあれば、このアドレスに
対応する分岐先アドレスが有効な値として分岐先アドレ
ス表11から出力される。一致するアドレスがない場合
は、この表からの出力は無効となる。この分岐先アドレ
ス表11は、通常のメモリにより構成される。命令実行
部25は命令を実行する部分である。
まず、本実施例における情報処理装置で分岐命令以外の
命令を実行する手順を示す。
先取りアドレス・レジスタ3に格納されたアドレスによ
りその位置を指定される主記憶23上の命令コードは、
命令先取り部2により制御される主記憶制御部22によ
って主記憶バス26を通して取り出され、命令バッファ
4に格納する。この操作が終了すると、命令先取り部2
は、後続する命令のアドレスを先取りアドレス・レジス
タ3に格納する。ここでは、2系統用意された命令バッ
ファ4、42の内、命令バッファ41に格納しているも
のとして説明する。この操作を繰り返し行うことにより
、命令フェッチを行う。この結果、先取りアドレス・レ
ジスタ3に格納されたアドレスは、命令フェッチを行っ
ているアドレスを示すことになる。命令バッファ4に格
納された命令コードは、命令コード・バス27を通して
命令デコード部24内(/、命令レジスタ5に送られる
。命令デコード部24では、命令レジスタに格納された
命令コードをデコードする。この結果、命令レジスタに
格納された命令が、主記憶にあるオペランドを扱う命令
であること、がわかると、アドレス計算部7によりオペ
ランドのアドレスを計算する。このアドレスはオペラン
ドのリード、ライトの区別とともに主記憶制御部22に
アドレス・バス28を通して送られる。また、命令デコ
ード部24では、デコードの結果判明した「命令で行う
操作」に関する情報を、命令デコード結果バス29を通
して命令実行部25に送る。主記憶制御部22では、リ
ードすべきオペランドについて、命令デコード部24か
ら送られたオペランド・アドレスを主記憶バス26を通
してアクセスし、次の命令実行に必要なオペランドを用
意する。命令実行部25では、命令デコード結果バス2
つを通して指定される「命令で行う操作」を、主記憶制
御部22が用意したオペランドをデータ・バス30を通
して取り出し、これを用いて実行する。
さらに、命令の実行結果を主記憶23に格納する必要の
あるときには、データ・バス30を通して実行結果を主
記憶制御部22に送る。主記憶制御部22では、ライト
する必要のあるオペランドが命令実行部25から送られ
ると、あらかじめ命令デコード部24から送られたオペ
ランド・アドレスで指定される位置に、主記憶バス26
を通して、このオペランドをライトする。
実行すべき命令が分岐命令の場合、アドレス計算部7に
より分岐先アドレスが計算され、アドレス・バス2Bを
通して命令先取り部2に送られる。
命令先取り部2では、アドレス・バス2日を通して送ら
れた分岐先アドレスを先取りアドレス・レジスタ3に格
納し、このアドレスから命令フェッチを行うと共に、命
令バッファ41を命令バッファ42に切り換えることで
分岐が行なわれる。従って、フェッチされた命令コード
は、命令バッファ42に格納される。この操作に伴い、
命令レジスタ5に送る命令コードは命令バッファ42か
ら取り出されるように制御される。
実行される命令が無条件に分岐する命令のときには、以
下の操作がなされる。
無条件分岐命令認識部8は命令レジスタ5を監視してお
り、ここに格納された命令が無条件に分岐する命令のと
きには、無条件分岐命令認識部8の出力を有効にする。
この操作により、書き込み制御部12が起動され、設定
アドレス導出部って計算される無条件に分岐する命令コ
ード語の最後尾のアドレスとアドレス計算部7により計
算された分岐先アドレスの対が命令アドレス表10と分
岐先アドレス表11に設定されていないときには、書き
込み制御部12内の書き込み位置決定部31により指定
される位置にアドレスの対が記録される。以上の操作に
より、命令アドレス表10と分岐先アドレス表11の内
容が設定される。。
次に、無条件に分岐する命令の内、一度実行されて、上
に示した手順で命令アドレス表10と分岐先アドレス表
11に格納されている命令を再び実行する際の手順を示
す。この命令をここでは、再実行無条件分岐命令と呼ぶ
。先取りアドレス・レジスタ3に格納されたアドレスは
、命令フェッチを行っているアドレスを示しており、こ
れは常に命令アドレス表10に記録された総てのアドレ
スと比較されている。これを検索操作と、呼び、先取り
アドレス・レジスタ3に格納されたアドレスと一致する
アドレスが命令アドレス表10に存在するときには検索
操作が成功したものとする。再実行無条件分岐命令の最
後尾までフェッチを行うと、先取リアドレス・レジスタ
3に格納されたアドレスによる検索操作が成功するため
、一致したアドレスに対応する分岐先アドレスが分岐先
アドレス表11から有効な値として出力され、命令先取
り部2に送られる。命令先取り部2では、有効な値とし
て出力された分岐先アドレスを受は取ると、これを先取
りアドレス・レジスタ3に格納し、このアドレスで示さ
れる主記憶位置から命令のフェッチを行うと共に、命令
バッファ41を命令バッファ42に切り換える。以上の
操作により、再実行無条件分岐命令を高速に実行する。
以上に示した制御を行うことにより、無条件分岐命令に
おいて、分岐先アドレスを計算するより直に命令コード
をフェッチすることを可能とする。
(発明の効果) 本発明によると、無条件に分岐する命令において分岐先
アドレスを計算する前に分岐を行うことができ、さらに
、条件分岐命令において分岐方向が変化したこと対処す
るための多大なハードウェアと複雑な制御を必要としな
い情報処理装置を構成することが可能となる。
【図面の簡単な説明】
第1図は、本発明の構成要素を示す図、第2図は、本発
明の一実施例における情報処理装置の構成を示す図であ
る。 図において、 2・・・命令先取り部 3・・先取りアドレス・レジスタ 4・・・命令バッファ 5・・・命令レジスタ 6・・・命令アドレス・レジスタ 7・・・アドレス計算部 8・・・無条件分岐命令認識部 9・・・設定アドレス導出部 10・・・命令アドレス表 11・・・分岐先アドレス表 12・・・書き込み制御部 21・・・プロセッサ 22・・・主記憶制御部 23・・・主記憶 24・・・命令デコード部 25・・・命令実行部 26・・・主記憶バス 27・・命令コード・バス 28・・・アドレス・バス 29・・・命令デコード結果バス 30・・・データ・バス 第1図

Claims (1)

  1. 【特許請求の範囲】 1、命令の先取りを行う命令先取り部、先取りしている
    命令のアドレスを保持する先取りアドレス・レジスタ、
    先取りした命令を保持する複数系統の命令バッファ、命
    令バッファに格納された命令を取り出してこれを保持す
    るための命令レジスタ、命令レジスタに保持されている
    命令のアドレスを保持する命令アドレス・レジスタ、分
    岐命令実行時には命令レジスタに保持されている命令コ
    ードと命令アドレス・レジスタに保持されている命令の
    アドレスおよびその他の情報処理装置内部に保持されて
    いる情報をもとに分岐先アドレスを計算してこれを先取
    り制御部に送るアドレス計算部を持ち、命令先取り部に
    おいて、先取りアドレス・レジスタに格納されたアドレ
    スまたは、アドレス計算部から送られたアドレスをもと
    に次に先取りすべきアドレスを計算して先取りアドレス
    ・レジスタに格納するとともに、計算したアドレスより
    先取りした命令を命令バッファに格納する情報処理装置
    において、命令レジスタに保持された命令が無条件に分
    岐する命令であることを認識する無条件分岐命令認識部
    、命令アドレス・レジスタに保持されている命令アドレ
    スから命令の存在する位置に関係するアドレスを導出す
    る設定アドレス導出部、無条件分岐命令の存在する位置
    に関係するアドレスを保持する命令アドレス表、命令ア
    ドレス表に対応して分岐先アドレスを保持する分岐先ア
    ドレス表および命令アドレス表と命令アドレス表への書
    き込みを制御する書き込み制御部を持たせ、無条件分岐
    命令認識部により命令レジスタに保持されている命令が
    無条件に分岐する命令であると認識されたときに書き込
    み制御部を起動し、設定アドレス導出部から出力される
    アドレスとアドレス計算部から出力される分岐先アドレ
    スの対が命令アドレス表と分岐先アドレス表に存在しな
    いときにこれを書き込み制御部により決定される位置に
    書き込み、さらに、先取り制御部により先取りアドレス
    ・レジスタにアドレスが設定されたときにはこのアドレ
    スにより命令アドレス表の検索を行い、このアドレスが
    命令アドレス表に存在するときには、命令バッファを別
    系統のバッファに切り換え、分岐先アドレス表に記録さ
    れた対応する分岐先アドレスから命令の先取りを行うこ
    とを特徴とする情報処理装置。 2、条件分岐命令については分岐予測を行う特許請求の
    範囲第1項に記載の情報処理装置。
JP18037986A 1986-07-30 1986-07-30 情報処理装置 Pending JPS6336336A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18037986A JPS6336336A (ja) 1986-07-30 1986-07-30 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18037986A JPS6336336A (ja) 1986-07-30 1986-07-30 情報処理装置

Publications (1)

Publication Number Publication Date
JPS6336336A true JPS6336336A (ja) 1988-02-17

Family

ID=16082205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18037986A Pending JPS6336336A (ja) 1986-07-30 1986-07-30 情報処理装置

Country Status (1)

Country Link
JP (1) JPS6336336A (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51138355A (en) * 1975-05-26 1976-11-29 Hitachi Ltd Processing apparatus with a high speed branching feature
JPS57114949A (en) * 1981-01-05 1982-07-17 Nec Corp Data processor
JPS58166452A (ja) * 1982-03-26 1983-10-01 Toshiba Corp デ−タ処理装置
JPS6027945A (ja) * 1983-07-27 1985-02-13 Nec Corp 命令取出装置
JPS6051948A (ja) * 1983-08-31 1985-03-23 Hitachi Ltd 情報処理装置
JPS60168238A (ja) * 1984-02-10 1985-08-31 Hitachi Ltd パイプラインデータ処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51138355A (en) * 1975-05-26 1976-11-29 Hitachi Ltd Processing apparatus with a high speed branching feature
JPS57114949A (en) * 1981-01-05 1982-07-17 Nec Corp Data processor
JPS58166452A (ja) * 1982-03-26 1983-10-01 Toshiba Corp デ−タ処理装置
JPS6027945A (ja) * 1983-07-27 1985-02-13 Nec Corp 命令取出装置
JPS6051948A (ja) * 1983-08-31 1985-03-23 Hitachi Ltd 情報処理装置
JPS60168238A (ja) * 1984-02-10 1985-08-31 Hitachi Ltd パイプラインデータ処理装置

Similar Documents

Publication Publication Date Title
JP2006520964A5 (ja)
JP2006520964A (ja) 分岐ターゲットに基づいて分岐予測をするための方法および装置
EP0297943B1 (en) Microcode reading control system
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
JPS6336336A (ja) 情報処理装置
JPH10124312A (ja) 中央処理装置
JP2534662B2 (ja) 命令キヤツシユ制御方法
JPH01263830A (ja) 情報処理装置
JPS63221427A (ja) 分岐予測を行う情報処理装置
JP2591325B2 (ja) 分岐制御装置
KR19980052331A (ko) 프로세서의 캐시 메모리 제어 방법
JP2534674B2 (ja) 情報処理装置
JPH04245334A (ja) 情報処理装置の命令先読み制御方式
JP2006331415A (ja) データプロセッサ、データ処理方法
JPH01239638A (ja) 分岐予測を行う情報処理装置
JPH04246728A (ja) 情報処理装置
JPH0462637A (ja) マイクロプロセッサ
JP2806690B2 (ja) マイクロプロセッサ
JPH03113535A (ja) パイプライン制御機構
JPS6295636A (ja) 先取り制御処理装置
JPH027128A (ja) 情報処理装置
JPS63311438A (ja) ストア命令不一致制御回路
JPS62203236A (ja) 命令プリフェッチ方法
JP2001184207A (ja) マイクロ命令における分岐命令制御方式
JPS6344244A (ja) 情報処理装置