JPH0472253B2 - - Google Patents

Info

Publication number
JPH0472253B2
JPH0472253B2 JP58033278A JP3327883A JPH0472253B2 JP H0472253 B2 JPH0472253 B2 JP H0472253B2 JP 58033278 A JP58033278 A JP 58033278A JP 3327883 A JP3327883 A JP 3327883A JP H0472253 B2 JPH0472253 B2 JP H0472253B2
Authority
JP
Japan
Prior art keywords
instruction
address
branch destination
read
register
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 - Lifetime
Application number
JP58033278A
Other languages
English (en)
Other versions
JPS59158442A (ja
Inventor
Michitaka Yamamoto
Shuichi Abe
Kenichi Wada
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3327883A priority Critical patent/JPS59158442A/ja
Publication of JPS59158442A publication Critical patent/JPS59158442A/ja
Publication of JPH0472253B2 publication Critical patent/JPH0472253B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は命令読出し制御方法に係り、特に命令
処理と独立に、連続した命令の先取りを行うデー
タ処理装置に好適な分岐先の命令読出し方法に関
する。
〔従来技術〕
分岐命令のデコード後、1回目の分岐先命令読
出しで読出す有効な命令データ長は、分岐先アド
レスにより異なるが、1命令分に満たない場合も
ある。この様な場合、2回目の分岐先の命令読出
しをできるだけ早く行なう必要がある。例えば、
バツフア記憶方式のデータ処理装置の場合、1回
の命令読出しでは、バツフア記憶装置のブロツク
(64バイト)の境界をまたがつて読出すことはで
きない。このため分岐先アドレスがブロツク境界
に近いと、分岐命令のデコード後に行う1回目の
分岐先命令読出しで持つて来る有効な命令数がな
くなり、その結果、分岐後、命令が読出されない
ためにデコードが遅れるケースが生じる。このよ
うな性能低下を救うため、2回目の命令読出しは
急いで行う必要がある。
しかし、従来、命令処理と命令読出し処理を並
列に行うデータ処理装置では、命令読出し処理で
必要な記憶装置参照より命令処理で必要な記憶装
置参照を優先して行つていた。このため、分岐命
令の後続命令の記憶装置参照と分岐先の2回目の
命令読出しとのぶつかりが生じると、命令読出し
が待たされ、分岐後、命令がそろつていないた
め、デコードが遅れてしまうという欠点があつ
た。
〔発明の目的〕
本発明の目的は、命令処理と命令読出し処理を
並列に行うデータ処理装置において、分岐命令に
よる分岐後、命令読出し待ちでデコードが遅れる
効率を小さくすることにある。
〔発明の概要〕
本発明は、命令処理に付随してオペランドアド
レスあるいは分岐先アドレスを求め、オペランド
あるいは分岐先の命令読出しを行う命令処理手段
と、該命令処理手段とは独立に、順次命令読出し
アドレスを求め、連続した命令の先取りを行う命
令読出し手段とを具備してなるデータ処理装置に
おいて、前記命令処理手段は、分岐命令の命令処
理に付随する処理として、求まつた分岐先アドレ
スの先頭命令を含む1回目の分岐先命令読出し処
理に引き続いて、該アドレスにもとづいて2回目
の分岐先命令読出しアドレスを求め、前記1回目
の分岐先命令読出し領域に続く領域から2回目の
分岐先命令読出し処理を行い、前記命令読出し手
段は、前記命令処理手段で求まつた1回目の分岐
先命令読出しアドレスを入力として、3回目以降
の分岐先命令読出しアドレスを求め、命令の先取
りを行うことを特徴とする。
〔発明の実施例〕
第1図は本発明の一実施例のブロツク図であ
る。以下、1つの命令8バイトからなるとして説
明する。第1図において、記憶装置1には命令と
オペランドが記憶されており、アドレス線14又
はアドレス線15で指定する8バイトのデータを
データ線20へ読出すことができる。命令バツフ
ア2は、記憶装置1より読出した命令データを一
時貯えておくためのレジスタであり、8バイトの
レジスタが2個で構成される。シフタ3は次にデ
コードを開始すべき命令を左ヅメにして、命令レ
ジスタ(IR)4へ転送する。命令レジスタ4は、
命令バツフア2より1命令ずつ取り込み、命令デ
コード及びオペランド計算中、その命令を保持す
る。
命令レジスタ4の命令のオペレーシヨンフイー
ルドは、データ線21を介してデコーダ10へ入
力される。デコーダ10は命令のオペレーシヨン
フイールドを解読し、分岐命令ならば信号線33
に“1”を出力する。信号線33が“1”になる
と、フリツプフロツプ11,12,13は半サイ
クルずつオーバラツプしながら1サイクルピツチ
で次々に“1”となる。
命令レジスタ4のレジスタ・アドレス・フイー
ルドはデータ線22を介し汎用レジスタ(GR)
25へ伝えられ、命令で指定した汎用レジスタの
内容がデータ線23へ読出される。又、命令レジ
スタ4の変位フイールドはデータ線24へ読出さ
れる。セレクタ16は、フリツプフロツプ12が
“0”の場合は汎用レジスタ25の出力データ線
23を、“1”の場合は演算結果データ線34を
選択して、加算器(AA)5の一方の入力とする
ものである。同様にセレクタ17は、フリツプフ
ロツプ12が“0”の場合はデータ線24の変位
フイールドを、“1”の場合は固定値“8”を選
択して、加算器5の他方の入力とするものであ
る。
加算器5は命令処理に付随するアドレス計算、
すなわち、命令のオペランドアドレス又は分岐命
令による分岐先アドレスを求めるための加算器で
ある。命令のオペランド計算又は分岐先の1回目
のアドレス計算時には、フリツプフロツプ12は
“0”となつており、セレクタ16は汎用レジス
タ側を、又、セレクタ17は命令レジスタ4から
の変位フイールド側を選び、加算器5により、命
令で指定するアドレスが計算される。一方、フリ
ツプフロツプ12が“1”の場合には、セレクタ
16及び17はアドレス計算結果を保持するレジ
スタ(AAL)6と固定値“8”を選択し、加算
器5において前サイクルで得たアドレス計算結果
に“8”が加算される。
レジスタ6の内容は、記憶装置の読出しアドレ
スとしてアドレス線14を介し記憶装置1へ伝え
られる。フリツプフロツプ12が“1”の時、こ
のレジスタ6の内容はセレクタ18を介してレジ
スタ(IFR)7に転送されるようになつている。
加算器(AI)8は、命令処理とは独立に連続
した命令の先取りを行うため、順次、命令読出し
アドレスを求めていく加算器である。セレクタ1
9は、フリツプフロツプ13が“0”のとき固定
値“8”を、“1”のとき固定値“16”を選択し
て、加算器8に入力する。通常、加算器8はレジ
スタ7の内容にセレクタ19で選択された命令読
出し幅“8”を加算して次の命令読出しアドレス
を求め、中間レジスタ(IFL)9を経て、レジス
タ7へ再び入力する。一方、フリツプフロツプ1
3が“1”の場合のみ、加算器8はレジスタ7の
内容に固定値“16”を加算して次の次の命令読出
しアドレスを求める。レジスタ7は命令を連続的
に読出す場合のアドレスレジスタであり、その内
容はアドレス線15を介して記憶装置1へ伝えら
れる。
デコード制御回路28は命令のデコード及びア
ドレス計算の開始を指示するコマンドを発生し、
信号線27、ゲート29を経て、信号線26へ出
力する。このデコード開始コマンドは、命令レジ
スタ4の更新などに使用する。又、デコード制御
回路28は、命令のデコード及びアドレス計算の
終了を指示するコマンドを発生し、信号線31へ
出力する。ゲート30は分岐命令のデコード終了
を検出し、このゲート30の出力信号は分岐命令
のデコード終了時に、デコード開始コマンドをゲ
ート29で抑止する。
次に、本発明の特徴である分岐命令の命令読出
し動作について、第2図のタイムチヤートに従つ
て説明する。
分岐命令がサイクル1の先頭で命令レジスタ4
に入力されると、デコーダ10のデコーダ出力線
33が“1”となり、その結果、フリツプフロツ
プ11,12,13は第2図に示すタイミングで
順次“1”となる。サイクル1では、フリツプフ
ロツプ12は“0”であるため、セレクタ16は
命令レジスタ4のレジスタ・アドレス・フイール
ドで示される汎用レジスタ(GR)の内容が乗る
データ線23を、又、セレクタ17は命令レジス
タ4の変位フイールドが乗るデータ線24をそれ
ぞれ選択し、加算器5により分岐先アドレスが計
算され、結果がレジスタ6に保持される。このレ
ジスタ6に保持された分岐アドレスは、サイクル
2の先頭で、アドレス線14により命令読出しア
ドレスとして記憶装置1へ伝えられ、分岐先の先
頭命令を含む1回目の命令読出し()が行われ
る。
フリツプフロツプ12はサイクル2の間“1”
になる。このため、サイクル2では、セレクタ1
6はレジスタ6の出力線34を、又、セレクタ1
7は固定値“8”をそれぞれ選択し、加算器5に
より分岐先アドレスに8加算され、結果がレジス
タ6に保持される。このレジスタ6の内容が、次
のサイクル3の先頭でアドレス線14により記憶
装置1へ伝えられ、分岐先の2回目の命令読出し
()が行われる。
一方、分岐命令のデコードが終了する時点で
は、フリツプフロツプ11の出力は“1”になる
ため、ゲート30のアンド条件が成立し、信号線
32は“0”となる。これにより、後続命令のデ
コード開始コマンドはゲート29で抑止される。
すなわち、分岐先の2回目の命令読出し処理中、
次のデコード開始を抑止する。
前記フリツプフロツプ12の出力はセレクタ1
8にも与えられる。これにより、サイクル2の先
頭で、レジスタ6の分岐先アドレスがセレクタ1
8を通してレジスタ7に入力される。その後、フ
リツプフロツプ13が“1”になると、セレクタ
19は固定値“16”を選択し、加算器8は、レジ
スタ7に保持されている分岐先アドレスと“16”
の加算を行う。その結果は中間レジスタ9、セレ
クタ18を経て再びレジスタ7に入力される。こ
のレジスタ7の内容が、サイクル4の先頭でアド
レス線15により記憶装置1へ伝えられ、分岐先
の3回目の命令読出し()が行われる。以後
は、加算器8によりレジスタ7の内容と“8”の
加算が行われ、次命令アドレスが生成される。
〔発明の効果〕
以上の説明から明らかな如く、本発明によれ
ば、分岐命令で指定された分岐先の先頭命令を含
む1回目の命令読出しに引き続いて、該1回目の
命令読出し領域に続く領域からの2回目の命令読
出しを、他のメモリ要求処理に優先させて行うの
で、分岐先の数命令をすばやく揃えることがで
き、分岐後、命令読出しデータが到着していない
ためにデコードが遅れる確率が減少し、性能が向
上する。
【図面の簡単な説明】
第1図は本発明の一実施例のブロツク図、第2
図は第1図の動作を説明するためのタイミング図
である。 1……記憶装置、2……命令バツフア、3……
シフタ、4……命令レジスタ、5,8……加算
器、6,7,9……レジスタ、10……デコー
ダ、11,12,13……フリツプフロツプ、2
8……デコード制御回路。

Claims (1)

  1. 【特許請求の範囲】 1 命令処理に付随してオペランドアドレスある
    いは分岐先アドレスを求め、オペランドあるいは
    分岐先の命令読出しを行う命令処理手段と、該命
    令処理手段とは独立に、順次命令読出しアドレス
    を求め、連続した命令の先取りを行う命令読出し
    手段とを具備してなるデータ処理装置において、 前記命令処理手段は、分岐命令の命令処理に付
    随する処理として、求まつた分岐先アドレスの先
    頭命令を含む1回目の分岐先命令読出し処理に引
    き続いて、該アドレスにもとづいて2回目の分岐
    先命令読出しアドレスを求め、前記1回目の分岐
    先命令読出し領域に続く領域から2回目の分岐先
    命令読出し処理を行い、 前記命令読出し手段は、前記命令処理手段で求
    まつた1回目の分岐先命令読出しアドレスを入力
    として、3回目以降の分岐先命令読出しアドレス
    を求め、命令の先取りを行うことを特徴とする命
    令読出し制御方法。
JP3327883A 1983-03-01 1983-03-01 命令読出し制御方法 Granted JPS59158442A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3327883A JPS59158442A (ja) 1983-03-01 1983-03-01 命令読出し制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3327883A JPS59158442A (ja) 1983-03-01 1983-03-01 命令読出し制御方法

Publications (2)

Publication Number Publication Date
JPS59158442A JPS59158442A (ja) 1984-09-07
JPH0472253B2 true JPH0472253B2 (ja) 1992-11-17

Family

ID=12382058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3327883A Granted JPS59158442A (ja) 1983-03-01 1983-03-01 命令読出し制御方法

Country Status (1)

Country Link
JP (1) JPS59158442A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61147341A (ja) * 1984-12-20 1986-07-05 Fujitsu Ltd 分岐制御方式
JPS61262849A (ja) * 1985-05-17 1986-11-20 Hitachi Ltd 情報処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49121449A (ja) * 1973-03-19 1974-11-20
JPS57187748A (en) * 1981-05-14 1982-11-18 Nec Corp Branch instruction execution system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49121449A (ja) * 1973-03-19 1974-11-20
JPS57187748A (en) * 1981-05-14 1982-11-18 Nec Corp Branch instruction execution system

Also Published As

Publication number Publication date
JPS59158442A (ja) 1984-09-07

Similar Documents

Publication Publication Date Title
US4722050A (en) Method and apparatus for facilitating instruction processing of a digital computer
US4858104A (en) Preceding instruction address based branch prediction in a pipelined processor
EP0044562B1 (en) Vector data processor
JPH0374434B2 (ja)
JPH0545985B2 (ja)
JPH0527143B2 (ja)
US4954947A (en) Instruction processor for processing branch instruction at high speed
US6553474B2 (en) Data processor changing an alignment of loaded data
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
US5276822A (en) System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction
JPH0472253B2 (ja)
JPH0512751B2 (ja)
JPS60117335A (ja) 情報処理装置
JP2861560B2 (ja) データ処理装置
JPS60241136A (ja) デ−タ処理装置
JPS60105050A (ja) パイプライン制御方式
JPH0248733A (ja) 情報処理装置
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JPS6020245A (ja) デ−タ処理装置の命令制御回路
JPH07110769A (ja) Vliw型計算機
JPS6047618B2 (ja) 情報処理装置
JPH07113891B2 (ja) パイプライン処理装置
JPS6277648A (ja) 命令読出し制御方法
JPH01224870A (ja) 情報処理装置における主記憶アクセス命令実行制御方式
JPS59157750A (ja) 命令読出し制御方式