JPH0442327A - 先行制御装置 - Google Patents

先行制御装置

Info

Publication number
JPH0442327A
JPH0442327A JP14880590A JP14880590A JPH0442327A JP H0442327 A JPH0442327 A JP H0442327A JP 14880590 A JP14880590 A JP 14880590A JP 14880590 A JP14880590 A JP 14880590A JP H0442327 A JPH0442327 A JP H0442327A
Authority
JP
Japan
Prior art keywords
instruction
register
memory data
stage
flip
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
JP14880590A
Other languages
English (en)
Inventor
Shigeyuki Aino
茂幸 愛野
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 JP14880590A priority Critical patent/JPH0442327A/ja
Publication of JPH0442327A publication Critical patent/JPH0442327A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置に関し、特に命令の処理を行う
先行制御装置に関する。
〔従来の技術〕
この種の先行制御装置において、アドレス生成のために
必要なレジスタのレジスタ番号が先行する命令の更新す
るレジスタのレジスタ番号と一致する、第1の命令があ
った場合、先行する命令がレジスタを更新し、第1の命
令がレジスタを使用してアドレス生成を実行するまで、
第1の命令に後続する命令の処理は開始しないことにな
っている。
[発明が解決しようとする課題] 上述した従来の先行制御装置において、アドレス生成の
ために必要なレジスタのレジスタ番号が先行する命令の
更新するレジスタのレジスタ番号と一致する、第1の命
令があった場合、先行する命令がレジスタを更新し、第
1の命令がレジスタを使用してアドレス生成を実行する
まで、第1の命令に後続する命令の処理は開始しないこ
とになっているので、第1の命令に後続する命令が第1
の命令を実行することにより更新する情報を使用しない
命令である場合、性能低下が生じるという欠点がある。
本発明の目的は、このような欠点を除去し、命令の処理
において性能の低下を防止できる先行制御装置を提供す
ることにある。
〔課題を解決するための手段〕
本発明の先行制御装置は、第1の命令のオペランドアド
レス生成に必要なレジスタのレジスタ番号が、第1の命
令に先行する命令の更新するレジスタのレジスタ番号と
一致しているか検出する第1の判別手段と、 第1の命令に後続する第2の命令のオペランドアドレス
生成に必要なレジスタのレジスタ番号が、第2の命令に
先行する命令の更新するレジスタのレジスタ番号と一致
しているか検出する第2の判別手段と、 第1の命令が分岐命令か否かを示す分岐命令識別手段と
、 第1の命令がメモリデータを書き換える命令か否かを示
すメモリデータ更新命令識別手段と、第2の命令がメモ
リを参照する命令か否かを判別するメモリデータ参照識
別手段と、 第1の判別手段で一致が検出され、第2の判別手段で不
一致が検出され、分岐命令識別手段で第1の命令が分岐
命令でないことが検出され、メモリデータ更新命令識別
手段で第1の命令がメモリデータを書き換える命令でな
いことが検出された場合は、第2の命令を第1の命令に
先だってメモリオペランドアドレス生成を行わせる第1
の実行手段と、 第1の判別手段で一致が検出され、分岐命令識別手段で
第1の命令が分岐命令でないことが検出され、メモリデ
ータ参照識別手段で第2の命令がメモリデータを参照す
る命令でないことが検出された場合は、第2の命令を第
1の命令に先だってオペランドアドレスを生成するフレ
ーズの次のフレーズを行わせる第2の実行手段とを有し
ている。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1回は、本発明の一実施例を示すブロック図である。
第1図に示される先行制御装置は、レジスタ1〜8.1
1〜13と、フリップフロップ9,1014〜17と、
ペースレジスタ群(BR)100と、汎用レジスタ群(
GR)101と、T L B (Translatio
n−Look−asside Buffer)102と
、キ+7シユ(Cache) 103と、デコーダ20
0と、選択回路201〜203.220と、制御回路2
04と、比較回路205〜211、216〜218 と
、OR回路212.219.401 と、NOR回路2
13と、演算器214と、アドレス加算器215と、A
ND回路221〜226と、信号線300〜305.3
16とを備えている。
この先行制御装置は、D、A、O,E、Wの5ステージ
より構成するパイプライン型情報処理装置であり、Dス
テージは命令語(000)を解読するステージであり、
Aステージはアドレス生成に使用するレジスタを読み出
しアドレス加算を行うステージである。0ステージはT
 L B102. Cache103を索引してメモリ
データを読み出すステージであり、Eステージは演算器
214を使用して演算を行うステージである。Wステー
ジは演算結果を格納するステージである。
このような先行制御装置において、レジスタ1は、命令
語を保持しているレジスタである。レジスタ1のFフィ
ールドは命令のオペレーションを規定しており、Rフィ
ールドは更新するレジスタのレジスタ番号を示している
。さらに、Bフィールドはアドレス生成に使用するペー
スレジスタのレジスタ番号を示しており、Xフィールド
はアドレス生成に使用する汎用レジスタのレジスタ番号
を示しており、Dフィールドはアドレス生成に使用する
ディスプレイスメントを示している。
デコーダ200は、レジスタ1の保持している命令語が
分岐命令であるか否かを解読し、フリップフロップ9に
出力する。また、データをメモリに格納する命令である
か否かを解読し、格納する命令であれば、フリップフロ
ップ10に1を出力する。
さらに、メモリデータを読み出す命令であるか否かを解
読し、読み出す命令であれば、信号線300を通して制
御回路204に1を出力する。
レジスタ2はアドレス生成に使用するペースレジスタの
レジスタ番号を持ち、レジスタ3は汎用レジスタのレジ
スタ番号を持ち、レジスタ4はディスプレイスメントを
持つ。レジスタ5は、Aステージにある命令が更新する
レジスタのレジスタ番号を持つ。フリップフロップ9は
Aステージにある命令が分岐命令であれば1を出力し、
フリップフロップ10ばAステージにある命令がデータ
をメモリに格納する命令であれば1を出力する。
制御回路204は、信号線300〜304の状態に基づ
いて、信号線305に1または0を送り出す。この様子
は、次の第1表の真理表に示されている。
第1表 (×はdon’ t careを示す)このような信号
線305の信号は、フリップフロップ14.15と選択
回路201〜203.220とに送られている。
選択回路201はレジスタ2またはレジスタlのBフィ
ールドを、信号線305により選択し、選択回路202
はレジスタ3またはレジスタ1のXフィールドを、信号
線305により選択する。また、選択回路203はレジ
スタ4またはレジスタ1のDフィールドを、信号線30
5により選択する。このとき、信号綿305が0を出力
すれば、選択回路201゜202、203はレジスタl
を選択する。
レジスタ群100はペースレジスタ群であり、レジスタ
群101は汎用レジスタ群である。また、3人力加算器
215はレジスタ群100.101の出力と選択回路2
03の出力を入力として、アドレス生成を行う。
レジスタ11はメモリオペランドアドレスを持ち、レジ
スタ11の出力を入力としてT L B 102. C
ache103を索引してメモリデータを読み出す。
レジスタ12はメモリデータを持ち、レジスタ12の出
力を入力として演算回路214で演算を行う。
レジスタ13は、演算結果を保持するレジスタである。
レジスタ5はAステージの命令が更新するレジスタのレ
ジスタ番号を持ち、レジスタ6は○ステージの命令が更
新するレジスタのレジスタ番号を持つ。また、レジスタ
7はEステージの命令が更新するレジスタのレジスタ番
号を持ち、レジスタ8はWステージの命令が更新するレ
ジスタのレジスタ番号を持つ。
フリップフロップ14は、信号線305が0であれば1
をセットし、信号線303が0を出力するまで1をホー
ルドし続ける。これにより、フリップフロップ14がつ
いている限り、後続の命令に追い抜かれた命令がAステ
ージにあることを示している。
フリップフロップ15.16.17は、それぞれAステ
ージにある命令を追い抜いた後続の命令が0ステージ、
Eステージ、Wステージにあることを示している。
次に、この先行制御装置の動作について説明す命令がレ
ジスタ1にセットされると、比較回路208.209.
210.211とNOR回路213とを通して、命令語
のRフィールドとレジスタ5,6,7.8の保持してい
るレジスタ番号が一致しているかを調べる。そして、一
致しているものが1つもない場合は、NOR回路213
から1を出力し、信号線304を通して、制御回路20
4に通知する。
Aステージでは、レジスタ2の保持しているレジスタ番
号がレジスタ6の保持しているレジスタ番号と一致して
いるかを比較回路216で調べる。
そして、比較回路216の出力をフリップフロップ15
の負論理出力とANDゲート222で論理積をとりOR
回路219に出力する。
また、レジスタ2はレジスタ7と比較回路217で比較
される。そして、フリップフロップ16の負論理出力と
比較回路217の出力とをANDゲート224で論理積
をとり、OR回路219に出力する。
また、レジスタ2はレジスタ8と比較回路218で比較
される。そして、フリップフロシブ17の9論理出力と
比較回路218の出力をANDゲート226で論理積を
とり、OR回路219に出力する。
同様にして、レジスタ3の保持しているレジスタ番号が
レジスタ6の保持しているレジスタ番号と一致している
かを比較回路205で調べる。そして、比較回路205
の出力をフリップフロップ15の負論理出力とANDゲ
ート221で論理積をとり、OR回路212に出力する
また、レジスタ3はレジスタ7とIL較回路206で比
較される。そして、フリップフロップ16の負論理出力
と比較回路206の出力とをANDゲート223で論理
積をとり、OR回路212に出力する。
また、レジスタ3はレジスタ8と比較回路207で比較
される。そして、フリップフロップ17の負論理出力と
比較回路207の出力とをANDゲート225で論理積
をとり、OR回路212に出力する。
次に、OR回路401は、OR回路219の出力とOR
回路212との出力を入力として、論理和を取り、出力
を信号線303を通して、制御回路20.1に通知する
。フリップフロップ14は、信号線305が0であれば
セラ1−シ、信号線303の出力が1になるまでホール
ドし続ける。これにより、フリップフロップ14が1で
あれば、Aステージにおいてアドレス生成を行おうとし
ている命令を後続の命令が追い抜いている状態を示して
いることになる。
フリップフロップ15.16.17はフリップフロップ
14の出力をステージごとに持ちまわっており、それぞ
れ○ステージ、Eステージ、Wステージにある命令がA
ステージにある命令を追い越していることを示している
第2図は、第1図に示される先行制御装置のタイムチャ
ートであり、タイミング(Timing)とり。
A、O,E、Wステージと信号線100〜304との状
態を示している。第2図に示すように、命令2が更新す
るレジスタを命令3がアドレス生成のために使用し、か
つ命令3は分岐命令ではないがメモリを更新する命令で
ある。また、命令4はメモリを索引しない命令であり、
アドレス生成に使用するレジスタをAステージ、0ステ
ージ、Eステージ、Wステージにあるどの命令も更新し
ないとしたときの例である。Toサイクルで追い抜きの
条件が成立するため、T1サイクルのOステージには命
令4が入る。これにより、命令AがDステージに入り、
命令3も命令4も共にWステージを終了している状態に
なるまで、7マシンサイクル7かかることになる。とこ
ろが、従来技術においては、第3図に示されるようにな
る。すなわち、第3図は従来技術のタイムチャート例で
あり、命令2が更新するレジスタを命令3がアドレス生
成のために使用する例であり、命令4を考えると、Dス
テージからWステージまでに8マシンサイクルかかるこ
とになる。
なお、第2図に示される例は、1命令だけが追い越すこ
とを例としてあげたが、複数の命令が追い越すことも同
様に可能であるのは明らかである。
このように、本実施例は一連の処理過程を連続した複数
のフェーズに分割し、複数フェーズのそれぞれに対応し
た命令を個々に連続して実行するだめのパイプラインを
具備した処理方式を採用したパイプライン型情報処理装
置において、第1の命令のオペランドアドレス生成に必
要なレジスタのレジスタ番号が、この第1の命令に先行
する命令の更新するレジスタのレジスタ番号と一致して
いるかを検出する第1の判別手段と、第1の命令に後続
する第2の命令のオペランドアドレス生成に必要なレジ
スタのレジスタ番号が、第2の命令に先行する命令の更
新するレジスタのレジスタ番号と一致しているか検出す
る第2の判別手段と、第1の命令が分岐命令か否かを示
す分岐命令識別手段と、第1の命令がメモリデータを書
き換える命令か否かを示すメモリデータ更新命令識別手
段と、第2の命令がメモリを参照する命令か否かを判別
するメモリデータ参照識別手段と、第1の判別手段で一
致が・検出され、第2の判別手段で不一致が検出され、
分岐命令識別手段で第1の命令が分岐命令でないことが
検出され、メモリデータ更新命令識別手段で第1の命令
がメモリデータを書き換える命令でないことが検出され
た場合は、第2の命令を第1の命令に先だってメモリオ
ペランドアドレス生成を行わせる手段と、第1の判別手
段で一致が検出され、分岐命令識別手段で第1の命令が
分岐命令でないことが検出され、メモリデータ参照識別
手段で第2の命令がメモリデータを参照する命令でない
ことが検出された場合は、第2の命令を第1の命令に先
だってオペランドアドレスを生成するフレーズの次のフ
ェーズを行わせる手段とを有することを特徴とする先行
制御装置である。
〔発明の効果〕
以上説明したように、本発明によれば、命令処理を高速
化できる効果がある。
【図面の簡単な説明】
第1図は、本発明の一実施例を示すブロック図、第2図
は、第1図の実施例のタイムチャート、第3図は、従来
の先行制御装置のタイムチャートである。 1〜8,11〜13・・・レジスタ 9、10.14〜17・ ・・フリップフロップ100
  ・・・・・ベースレジスタ群(BR)101  ・
・・・・汎用レジスタ群(GR)102  ・ ・ ・
 ・ ・TLB 103・・・・・キャシュ(Cache)200 ・・
・・・デコーダ 2OL 202.203.220・・・選択回路204
  ・・・・・制御回路 205〜211.216〜218・・・比較回路212
、219.401  ・・・OR回路213  ・・・
・・NOR回路 214  ・・・・・演算器 215 ・・・・・アドレス加算器 221〜226・・・AND回路

Claims (1)

    【特許請求の範囲】
  1. (1)第1の命令のオペランドアドレス生成に必要なレ
    ジスタのレジスタ番号が、第1の命令に先行する命令の
    更新するレジスタのレジスタ番号と一致しているか検出
    する第1の判別手段と、第1の命令に後続する第2の命
    令のオペランドアドレス生成に必要なレジスタのレジス
    タ番号が、第2の命令に先行する命令の更新するレジス
    タのレジスタ番号と一致しているか検出する第2の判別
    手段と、 第1の命令が分岐命令か否かを示す分岐命令識別手段と
    、 第1の命令がメモリデータを書き換える命令か否かを示
    すメモリデータ更新命令識別手段と、第2の命令がメモ
    リを参照する命令か否かを判別するメモリデータ参照識
    別手段と、 第1の判別手段で一致が検出され、第2の判別手段で不
    一致が検出され、分岐命令識別手段で第1の命令が分岐
    命令でないことが検出され、メモリデータ更新命令識別
    手段で第1の命令がメモリデータを書き換える命令でな
    いことが検出された場合は、第2の命令を第1の命令に
    先だってメモリオペランドアドレス生成を行わせる第1
    の実行手段と、 第1の判別手段で一致が検出され、分岐命令識別手段で
    第1の命令が分岐命令でないことが検出され、メモリデ
    ータ参照識別手段で第2の命令がメモリデータを参照す
    る命令でないことが検出された場合は、第2の命令を第
    1の命令に先だってオペランドアドレスを生成するフレ
    ーズの次のフレーズを行わせる第2の実行手段とを有す
    る先行制御装置。
JP14880590A 1990-06-08 1990-06-08 先行制御装置 Pending JPH0442327A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14880590A JPH0442327A (ja) 1990-06-08 1990-06-08 先行制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14880590A JPH0442327A (ja) 1990-06-08 1990-06-08 先行制御装置

Publications (1)

Publication Number Publication Date
JPH0442327A true JPH0442327A (ja) 1992-02-12

Family

ID=15461104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14880590A Pending JPH0442327A (ja) 1990-06-08 1990-06-08 先行制御装置

Country Status (1)

Country Link
JP (1) JPH0442327A (ja)

Similar Documents

Publication Publication Date Title
US5446849A (en) Electronic computer which executes squash branching
JP2002024011A (ja) プロセッサにおける命令の叙述された実行
JP2560988B2 (ja) 情報処理装置および処理方法
JPS62115542A (ja) 情報処理装置
JPH0442327A (ja) 先行制御装置
JP2503984B2 (ja) 情報処理装置
JPH06124207A (ja) サブルーチン分岐命令実行方法
JPH0877021A (ja) 割込処理装置および方法
JP2819733B2 (ja) 情報処理装置
JP3405106B2 (ja) プログラマブルコントローラ
JP3490191B2 (ja) 計算機
JP2778610B2 (ja) パイプライン演算制御方法およびシステム
JP2812610B2 (ja) パイプライン制御方式
JPH11219294A (ja) プログラム制御方法及び装置
JP2771373B2 (ja) 命令先取り装置
JPS6327746B2 (ja)
JPS63293638A (ja) データ処理装置
JP3325309B2 (ja) サブルーチンリターン命令処理装置
JPH0991139A (ja) 情報処理装置
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JP3743155B2 (ja) パイプライン制御型計算機
JP4502983B2 (ja) ベクトル制御回路、ベクトル処理装置、ベクトル制御方法、および、ベクトル制御プログラム。
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPH06314196A (ja) 情報処理方法および装置
JPH08297583A (ja) 割り込み処理装置およびその方法