JPH0442327A - Advance controller - Google Patents

Advance controller

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
Japanese (ja)
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/en
Publication of JPH0442327A publication Critical patent/JPH0442327A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To increase the instruction processing speed by starting the processing of the instruction following to a 1st instruction before this instruction carries out the generation of an address with the use of a register when the outrunning conditions are satisfied. CONSTITUTION:A flip-flop 14 is set when a signal line 305 is set at 0 and held as it is until the output of a signal line 301 is set at 1. Therefore an instruction which is going to generate an address at a stage A is outrun by a subsequent instruction as long as the flip-flop 14 is kept at 1. The flip-flop 15 - 17 carry about the output of the flip-flop 14 at every stage, that is, the instruction of stages O, E and W outrun the instruction of the stage A respectively. Thus the processing can be started for the instructions subsequent to a 1st instruction even though a 1st instruction does not generate any address with the use of a register. Thus, the instruction processing performance is improved.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置に関し、特に命令の処理を行う
先行制御装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an information processing device, and particularly to an advance control device that processes instructions.

〔従来の技術〕[Conventional technology]

この種の先行制御装置において、アドレス生成のために
必要なレジスタのレジスタ番号が先行する命令の更新す
るレジスタのレジスタ番号と一致する、第1の命令があ
った場合、先行する命令がレジスタを更新し、第1の命
令がレジスタを使用してアドレス生成を実行するまで、
第1の命令に後続する命令の処理は開始しないことにな
っている。
In this type of advance control device, if there is a first instruction in which the register number of the register required for address generation matches the register number of the register to be updated by the preceding instruction, the preceding instruction updates the register. until the first instruction performs address generation using registers.
Processing of the instructions following the first instruction is not to be started.

[発明が解決しようとする課題] 上述した従来の先行制御装置において、アドレス生成の
ために必要なレジスタのレジスタ番号が先行する命令の
更新するレジスタのレジスタ番号と一致する、第1の命
令があった場合、先行する命令がレジスタを更新し、第
1の命令がレジスタを使用してアドレス生成を実行する
まで、第1の命令に後続する命令の処理は開始しないこ
とになっているので、第1の命令に後続する命令が第1
の命令を実行することにより更新する情報を使用しない
命令である場合、性能低下が生じるという欠点がある。
[Problems to be Solved by the Invention] In the conventional advance control device described above, there is a first instruction in which the register number of the register required for address generation matches the register number of the register to be updated in the preceding instruction. In this case, processing of the instruction following the first instruction does not start until the preceding instruction updates the register and the first instruction uses the register to generate an address. The instruction following the first instruction is the first instruction.
If the instruction does not use the information that is updated by executing the instruction, there is a drawback that performance will deteriorate.

本発明の目的は、このような欠点を除去し、命令の処理
において性能の低下を防止できる先行制御装置を提供す
ることにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a proactive control device that can eliminate such drawbacks and prevent performance deterioration in processing instructions.

〔課題を解決するための手段〕[Means to solve the problem]

本発明の先行制御装置は、第1の命令のオペランドアド
レス生成に必要なレジスタのレジスタ番号が、第1の命
令に先行する命令の更新するレジスタのレジスタ番号と
一致しているか検出する第1の判別手段と、 第1の命令に後続する第2の命令のオペランドアドレス
生成に必要なレジスタのレジスタ番号が、第2の命令に
先行する命令の更新するレジスタのレジスタ番号と一致
しているか検出する第2の判別手段と、 第1の命令が分岐命令か否かを示す分岐命令識別手段と
、 第1の命令がメモリデータを書き換える命令か否かを示
すメモリデータ更新命令識別手段と、第2の命令がメモ
リを参照する命令か否かを判別するメモリデータ参照識
別手段と、 第1の判別手段で一致が検出され、第2の判別手段で不
一致が検出され、分岐命令識別手段で第1の命令が分岐
命令でないことが検出され、メモリデータ更新命令識別
手段で第1の命令がメモリデータを書き換える命令でな
いことが検出された場合は、第2の命令を第1の命令に
先だってメモリオペランドアドレス生成を行わせる第1
の実行手段と、 第1の判別手段で一致が検出され、分岐命令識別手段で
第1の命令が分岐命令でないことが検出され、メモリデ
ータ参照識別手段で第2の命令がメモリデータを参照す
る命令でないことが検出された場合は、第2の命令を第
1の命令に先だってオペランドアドレスを生成するフレ
ーズの次のフレーズを行わせる第2の実行手段とを有し
ている。
The preceding control device of the present invention includes a first control device that detects whether a register number of a register necessary for generating an operand address of a first instruction matches a register number of a register to be updated in an instruction preceding the first instruction. a determining means; detecting whether the register number of a register necessary for generating an operand address of a second instruction following the first instruction matches the register number of a register to be updated in an instruction preceding the second instruction; a second determination means; a branch instruction identification means for indicating whether the first instruction is a branch instruction; a memory data update instruction identification means for indicating whether the first instruction is an instruction to rewrite memory data; a memory data reference identification means for determining whether or not the instruction refers to memory; a first determination means detects a match; a second determination means detects a mismatch; and a branch instruction identification means detects a first If it is detected that the instruction is not a branch instruction, and the memory data update instruction identification means detects that the first instruction is not an instruction to rewrite memory data, the second instruction is sent to the memory operand before the first instruction. The first one that causes address generation to occur.
The execution means and the first determination means detect a match, the branch instruction identification means detects that the first instruction is not a branch instruction, and the memory data reference identification means determines that the second instruction references memory data. If it is detected that the instruction is not an instruction, the second instruction executes a phrase next to the phrase for generating an operand address before the first instruction.

〔実施例〕〔Example〕

次に、本発明の実施例について図面を参照して説明する
Next, embodiments of the present invention will be described with reference to the drawings.

第1回は、本発明の一実施例を示すブロック図である。The first part is a block diagram showing an embodiment of the present invention.

第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とを備えている。
The advance controller shown in FIG. 1 includes registers 1 to 8.1.
1 to 13, flip-flops 9, 1014 to 17,
Pace register group (BR) 100 and general purpose register group (
GR) 101 and T LB (Translatio
n-Look-asside Buffer) 102, cache 103, and decoder 20
0, selection circuits 201 to 203.220, and control circuit 2
04, comparison circuits 205-211, 216-218, OR circuit 212.219.401, and NOR circuit 2
13, arithmetic unit 214, address adder 215, and A
ND circuits 221 to 226 and signal lines 300 to 305.3
16.

この先行制御装置は、D、A、O,E、Wの5ステージ
より構成するパイプライン型情報処理装置であり、Dス
テージは命令語(000)を解読するステージであり、
Aステージはアドレス生成に使用するレジスタを読み出
しアドレス加算を行うステージである。0ステージはT
 L B102. Cache103を索引してメモリ
データを読み出すステージであり、Eステージは演算器
214を使用して演算を行うステージである。Wステー
ジは演算結果を格納するステージである。
This advance control device is a pipeline type information processing device consisting of five stages D, A, O, E, and W, and the D stage is a stage for decoding the instruction word (000).
The A stage is a stage that reads a register used for address generation and performs address addition. 0 stage is T
L B102. This is a stage where the Cache 103 is indexed and memory data is read out, and the E stage is a stage where an arithmetic operation is performed using the arithmetic unit 214. The W stage is a stage that stores calculation results.

このような先行制御装置において、レジスタ1は、命令
語を保持しているレジスタである。レジスタ1のFフィ
ールドは命令のオペレーションを規定しており、Rフィ
ールドは更新するレジスタのレジスタ番号を示している
。さらに、Bフィールドはアドレス生成に使用するペー
スレジスタのレジスタ番号を示しており、Xフィールド
はアドレス生成に使用する汎用レジスタのレジスタ番号
を示しており、Dフィールドはアドレス生成に使用する
ディスプレイスメントを示している。
In such a advance control device, register 1 is a register that holds an instruction word. The F field of register 1 defines the operation of the instruction, and the R field indicates the register number of the register to be updated. Furthermore, the B field indicates the register number of the pace register used for address generation, the X field indicates the register number of the general register used for address generation, and the D field indicates the displacement used for address generation. ing.

デコーダ200は、レジスタ1の保持している命令語が
分岐命令であるか否かを解読し、フリップフロップ9に
出力する。また、データをメモリに格納する命令である
か否かを解読し、格納する命令であれば、フリップフロ
ップ10に1を出力する。
Decoder 200 decodes whether the instruction word held in register 1 is a branch instruction or not, and outputs it to flip-flop 9 . It also decodes whether the instruction is to store data in the memory or not, and outputs 1 to the flip-flop 10 if the instruction is to store data.

さらに、メモリデータを読み出す命令であるか否かを解
読し、読み出す命令であれば、信号線300を通して制
御回路204に1を出力する。
Furthermore, it decodes whether the command is to read memory data or not, and if it is a command to read, outputs 1 to the control circuit 204 through the signal line 300.

レジスタ2はアドレス生成に使用するペースレジスタの
レジスタ番号を持ち、レジスタ3は汎用レジスタのレジ
スタ番号を持ち、レジスタ4はディスプレイスメントを
持つ。レジスタ5は、Aステージにある命令が更新する
レジスタのレジスタ番号を持つ。フリップフロップ9は
Aステージにある命令が分岐命令であれば1を出力し、
フリップフロップ10ばAステージにある命令がデータ
をメモリに格納する命令であれば1を出力する。
Register 2 has a register number of a pace register used for address generation, register 3 has a register number of a general-purpose register, and register 4 has a displacement. Register 5 has the register number of the register updated by the instruction in the A stage. Flip-flop 9 outputs 1 if the instruction in the A stage is a branch instruction;
The flip-flop 10 outputs 1 if the instruction in the A stage is an instruction to store data in memory.

制御回路204は、信号線300〜304の状態に基づ
いて、信号線305に1または0を送り出す。この様子
は、次の第1表の真理表に示されている。
Control circuit 204 sends 1 or 0 to signal line 305 based on the states of signal lines 300 to 304. This situation is shown in the truth table in Table 1 below.

第1表 (×はdon’ t careを示す)このような信号
線305の信号は、フリップフロップ14.15と選択
回路201〜203.220とに送られている。
Table 1 (X indicates don't care) Such a signal on the signal line 305 is sent to the flip-flop 14.15 and the selection circuits 201 to 203.220.

選択回路201はレジスタ2またはレジスタlのBフィ
ールドを、信号線305により選択し、選択回路202
はレジスタ3またはレジスタ1のXフィールドを、信号
線305により選択する。また、選択回路203はレジ
スタ4またはレジスタ1のDフィールドを、信号線30
5により選択する。このとき、信号綿305が0を出力
すれば、選択回路201゜202、203はレジスタl
を選択する。
The selection circuit 201 selects the B field of register 2 or register I using the signal line 305, and the selection circuit 202
selects the X field of register 3 or register 1 by signal line 305. Further, the selection circuit 203 selects the D field of register 4 or register 1 from the signal line 30.
Select by 5. At this time, if the signal wire 305 outputs 0, the selection circuits 201, 202, 203 select the register l.
Select.

レジスタ群100はペースレジスタ群であり、レジスタ
群101は汎用レジスタ群である。また、3人力加算器
215はレジスタ群100.101の出力と選択回路2
03の出力を入力として、アドレス生成を行う。
Register group 100 is a pace register group, and register group 101 is a general purpose register group. In addition, the three-man power adder 215 is connected to the outputs of the register groups 100 and 101 and the selection circuit 2.
Address generation is performed using the output of 03 as input.

レジスタ11はメモリオペランドアドレスを持ち、レジ
スタ11の出力を入力としてT L B 102. C
ache103を索引してメモリデータを読み出す。
Register 11 has a memory operand address, and uses the output of register 11 as input to write T L B 102 . C
ache103 is indexed and memory data is read.

レジスタ12はメモリデータを持ち、レジスタ12の出
力を入力として演算回路214で演算を行う。
The register 12 has memory data, and an arithmetic circuit 214 performs arithmetic operations using the output of the register 12 as an input.

レジスタ13は、演算結果を保持するレジスタである。Register 13 is a register that holds calculation results.

レジスタ5はAステージの命令が更新するレジスタのレ
ジスタ番号を持ち、レジスタ6は○ステージの命令が更
新するレジスタのレジスタ番号を持つ。また、レジスタ
7はEステージの命令が更新するレジスタのレジスタ番
号を持ち、レジスタ8はWステージの命令が更新するレ
ジスタのレジスタ番号を持つ。
Register 5 has the register number of the register updated by the A stage instruction, and register 6 has the register number of the register updated by the O stage instruction. Further, register 7 has the register number of the register updated by the E stage instruction, and register 8 has the register number of the register updated by the W stage instruction.

フリップフロップ14は、信号線305が0であれば1
をセットし、信号線303が0を出力するまで1をホー
ルドし続ける。これにより、フリップフロップ14がつ
いている限り、後続の命令に追い抜かれた命令がAステ
ージにあることを示している。
The flip-flop 14 is 1 if the signal line 305 is 0.
is set and continues to hold 1 until the signal line 303 outputs 0. This indicates that as long as the flip-flop 14 is on, the instruction that has been overtaken by the subsequent instruction is in the A stage.

フリップフロップ15.16.17は、それぞれAステ
ージにある命令を追い抜いた後続の命令が0ステージ、
Eステージ、Wステージにあることを示している。
For flip-flops 15, 16, and 17, the subsequent instructions that overtake the instruction in the A stage are in the 0 stage, respectively.
This indicates that it is in the E stage or W stage.

次に、この先行制御装置の動作について説明す命令がレ
ジスタ1にセットされると、比較回路208.209.
210.211とNOR回路213とを通して、命令語
のRフィールドとレジスタ5,6,7.8の保持してい
るレジスタ番号が一致しているかを調べる。そして、一
致しているものが1つもない場合は、NOR回路213
から1を出力し、信号線304を通して、制御回路20
4に通知する。
Next, when an instruction explaining the operation of this advance control device is set in register 1, comparison circuits 208, 209 .
210, 211 and the NOR circuit 213, it is checked whether the R field of the instruction word and the register numbers held in registers 5, 6, and 7.8 match. If there is no match, the NOR circuit 213
1 from the control circuit 20 through the signal line 304.
Notify 4.

Aステージでは、レジスタ2の保持しているレジスタ番
号がレジスタ6の保持しているレジスタ番号と一致して
いるかを比較回路216で調べる。
In stage A, the comparison circuit 216 checks whether the register number held in register 2 matches the register number held in register 6.

そして、比較回路216の出力をフリップフロップ15
の負論理出力とANDゲート222で論理積をとりOR
回路219に出力する。
Then, the output of the comparison circuit 216 is transferred to the flip-flop 15.
AND gate 222 performs a logical product with the negative logic output of
Output to circuit 219.

また、レジスタ2はレジスタ7と比較回路217で比較
される。そして、フリップフロップ16の負論理出力と
比較回路217の出力とをANDゲート224で論理積
をとり、OR回路219に出力する。
Further, register 2 is compared with register 7 by comparison circuit 217. Then, the negative logic output of the flip-flop 16 and the output of the comparison circuit 217 are ANDed by an AND gate 224 and output to an OR circuit 219.

また、レジスタ2はレジスタ8と比較回路218で比較
される。そして、フリップフロシブ17の9論理出力と
比較回路218の出力をANDゲート226で論理積を
とり、OR回路219に出力する。
Further, register 2 is compared with register 8 by comparison circuit 218. Then, the 9 logic outputs of the flip-flop 17 and the output of the comparator circuit 218 are ANDed by an AND gate 226 and output to an OR circuit 219.

同様にして、レジスタ3の保持しているレジスタ番号が
レジスタ6の保持しているレジスタ番号と一致している
かを比較回路205で調べる。そして、比較回路205
の出力をフリップフロップ15の負論理出力とANDゲ
ート221で論理積をとり、OR回路212に出力する
Similarly, comparison circuit 205 checks whether the register number held in register 3 matches the register number held in register 6. And comparison circuit 205
The output is ANDed with the negative logic output of the flip-flop 15 by an AND gate 221 and outputted to an OR circuit 212.

また、レジスタ3はレジスタ7とIL較回路206で比
較される。そして、フリップフロップ16の負論理出力
と比較回路206の出力とをANDゲート223で論理
積をとり、OR回路212に出力する。
Further, register 3 is compared with register 7 by IL comparison circuit 206. Then, the negative logic output of the flip-flop 16 and the output of the comparison circuit 206 are ANDed by an AND gate 223 and outputted to an OR circuit 212.

また、レジスタ3はレジスタ8と比較回路207で比較
される。そして、フリップフロップ17の負論理出力と
比較回路207の出力とをANDゲート225で論理積
をとり、OR回路212に出力する。
Further, register 3 is compared with register 8 by comparison circuit 207. Then, the negative logic output of the flip-flop 17 and the output of the comparison circuit 207 are ANDed by an AND gate 225 and outputted to an OR circuit 212.

次に、OR回路401は、OR回路219の出力とOR
回路212との出力を入力として、論理和を取り、出力
を信号線303を通して、制御回路20.1に通知する
。フリップフロップ14は、信号線305が0であれば
セラ1−シ、信号線303の出力が1になるまでホール
ドし続ける。これにより、フリップフロップ14が1で
あれば、Aステージにおいてアドレス生成を行おうとし
ている命令を後続の命令が追い抜いている状態を示して
いることになる。
Next, the OR circuit 401 performs an OR circuit with the output of the OR circuit 219.
The output from the circuit 212 is used as an input, a logical sum is performed, and the output is notified to the control circuit 20.1 through the signal line 303. If the signal line 305 is 0, the flip-flop 14 continues to hold the signal until the output of the signal line 303 becomes 1. As a result, if the flip-flop 14 is 1, this indicates that a subsequent instruction has overtaken the instruction that is about to generate an address in the A stage.

フリップフロップ15.16.17はフリップフロップ
14の出力をステージごとに持ちまわっており、それぞ
れ○ステージ、Eステージ、Wステージにある命令がA
ステージにある命令を追い越していることを示している
The flip-flops 15, 16, and 17 carry the output of the flip-flop 14 for each stage, and the instructions in the ○ stage, E stage, and W stage are
It shows that you are overtaking the commands on stage.

第2図は、第1図に示される先行制御装置のタイムチャ
ートであり、タイミング(Timing)とり。
FIG. 2 is a time chart of the advance control device shown in FIG. 1, and shows 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マシンサイクルかかるこ
とになる。
The states of the A, O, E, and W stages and signal lines 100 to 304 are shown. As shown in FIG. 2, instruction 3 uses the register that instruction 2 updates to generate an address, and although instruction 3 is not a branch instruction, it is an instruction that updates memory. In addition, instruction 4 is an instruction that does not index memory,
This is an example in which the register used for address generation is not updated by any of the instructions in the A stage, 0 stage, E stage, and W stage. Since the overtaking condition is satisfied in the To cycle, instruction 4 enters the O stage of the T1 cycle. As a result, instruction A enters the D stage,
It will take 7 machine cycles for both instruction 3 and instruction 4 to complete the W stage. However, in the prior art, the situation is as shown in FIG. That is, FIG. 3 is an example of a time chart of the prior art, in which instruction 3 uses a register updated by instruction 2 to generate an address. Considering instruction 4, from the D stage to the W stage, 8 It will take machine cycles.

なお、第2図に示される例は、1命令だけが追い越すこ
とを例としてあげたが、複数の命令が追い越すことも同
様に可能であるのは明らかである。
In the example shown in FIG. 2, only one instruction overtakes, but it is clear that it is possible for a plurality of instructions to overtake.

このように、本実施例は一連の処理過程を連続した複数
のフェーズに分割し、複数フェーズのそれぞれに対応し
た命令を個々に連続して実行するだめのパイプラインを
具備した処理方式を採用したパイプライン型情報処理装
置において、第1の命令のオペランドアドレス生成に必
要なレジスタのレジスタ番号が、この第1の命令に先行
する命令の更新するレジスタのレジスタ番号と一致して
いるかを検出する第1の判別手段と、第1の命令に後続
する第2の命令のオペランドアドレス生成に必要なレジ
スタのレジスタ番号が、第2の命令に先行する命令の更
新するレジスタのレジスタ番号と一致しているか検出す
る第2の判別手段と、第1の命令が分岐命令か否かを示
す分岐命令識別手段と、第1の命令がメモリデータを書
き換える命令か否かを示すメモリデータ更新命令識別手
段と、第2の命令がメモリを参照する命令か否かを判別
するメモリデータ参照識別手段と、第1の判別手段で一
致が・検出され、第2の判別手段で不一致が検出され、
分岐命令識別手段で第1の命令が分岐命令でないことが
検出され、メモリデータ更新命令識別手段で第1の命令
がメモリデータを書き換える命令でないことが検出され
た場合は、第2の命令を第1の命令に先だってメモリオ
ペランドアドレス生成を行わせる手段と、第1の判別手
段で一致が検出され、分岐命令識別手段で第1の命令が
分岐命令でないことが検出され、メモリデータ参照識別
手段で第2の命令がメモリデータを参照する命令でない
ことが検出された場合は、第2の命令を第1の命令に先
だってオペランドアドレスを生成するフレーズの次のフ
ェーズを行わせる手段とを有することを特徴とする先行
制御装置である。
In this way, this embodiment adopts a processing method that divides a series of processing steps into a plurality of consecutive phases and has a pipeline that individually and consecutively executes instructions corresponding to each of the plurality of phases. In a pipelined information processing device, a first instruction detects whether a register number of a register necessary for generating an operand address of a first instruction matches a register number of a register to be updated in an instruction preceding the first instruction. Whether the register number of the register required for generating the operand address of the second instruction following the first instruction matches the register number of the register to be updated by the instruction preceding the second instruction. a second determining means for detecting; a branch instruction identifying means for indicating whether the first instruction is a branch instruction; and a memory data update instruction identifying means for indicating whether the first instruction is an instruction to rewrite memory data; a memory data reference identification means for determining whether the second instruction is an instruction that refers to memory; a match is detected by the first determination means; a mismatch is detected by the second determination means;
If the branch instruction identification means detects that the first instruction is not a branch instruction, and the memory data update instruction identification means detects that the first instruction is not an instruction to rewrite memory data, the second instruction is The means for generating a memory operand address prior to the first instruction and the first determining means detect a match, the branch instruction identifying means detects that the first instruction is not a branch instruction, and the memory data reference identifying means detects that the first instruction is not a branch instruction. and means for causing the second instruction to perform the next phase of the operand address generating phrase prior to the first instruction if it is detected that the second instruction is not an instruction that references memory data. This is a special advanced control device.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、命令処理を高速
化できる効果がある。
As described above, the present invention has the effect of speeding up instruction processing.

【図面の簡単な説明】[Brief explanation of drawings]

第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回路
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a time chart of the embodiment of FIG. 1, and FIG. 3 is a time chart of a conventional advance control device. 1-8, 11-13...Register 9, 10.14-17...Flip-flop 100
...Base register group (BR) 101 ・
...General-purpose register group (GR) 102 . . .
・ ・TLB 103...Cache 200...
... Decoder 2OL 202.203.220 ... Selection circuit 204
...Control circuits 205-211.216-218...Comparison circuit 212
, 219.401...OR circuit 213...
... NOR circuit 214 ... Arithmetic unit 215 ... Address adders 221 to 226 ... AND circuit

Claims (1)

【特許請求の範囲】[Claims] (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) a first determining means for detecting whether a register number of a register necessary for generating an operand address of a first instruction matches a register number of a register to be updated in an instruction preceding the first instruction; a second determining means for detecting whether a register number of a register necessary for generating an operand address of a second instruction following the first instruction matches a register number of a register to be updated in an instruction preceding the second instruction; a branch instruction identification means for indicating whether the first instruction is a branch instruction; a memory data update instruction identification means for indicating whether the first instruction is an instruction for rewriting memory data; A memory data reference identifying means determines whether the instruction is a referenced instruction, a first determining means detects a match, a second determining means detects a mismatch, and a branch instruction identifying means determines whether the first instruction is a branch instruction. If it is detected that the first instruction is not an instruction that rewrites memory data, and the memory data update instruction identification means detects that the first instruction is not an instruction that rewrites memory data, the second instruction is caused to generate a memory operand address before the first instruction. 1st
The execution means and the first determination means detect a match, the branch instruction identification means detects that the first instruction is not a branch instruction, and the memory data reference identification means determines that the second instruction references memory data. If it is detected that the command is not an instruction, a second execution means causes the second instruction to execute a phrase next to the phrase for generating an operand address before the first instruction.
JP14880590A 1990-06-08 1990-06-08 Advance controller Pending JPH0442327A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14880590A JPH0442327A (en) 1990-06-08 1990-06-08 Advance controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14880590A JPH0442327A (en) 1990-06-08 1990-06-08 Advance controller

Publications (1)

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

Family

ID=15461104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14880590A Pending JPH0442327A (en) 1990-06-08 1990-06-08 Advance controller

Country Status (1)

Country Link
JP (1) JPH0442327A (en)

Similar Documents

Publication Publication Date Title
US5446849A (en) Electronic computer which executes squash branching
JP2002024011A (en) Described execution of instruction in processor
JP2560988B2 (en) Information processing apparatus and processing method
JPS62115542A (en) Information processor
JPH0442327A (en) Advance controller
JP2503984B2 (en) Information processing device
JPH06124207A (en) Subroutine branch instruction execution method
JPH0877021A (en) Interrupt processing apparatus and method
JP2819733B2 (en) Information processing device
JP3405106B2 (en) Programmable controller
JP3490191B2 (en) calculator
JP2778610B2 (en) Pipeline operation control method and system
JP2812610B2 (en) Pipeline control method
JPH11219294A (en) Program control method and apparatus
JP2771373B2 (en) Instruction prefetch device
JPS6327746B2 (en)
JPS63293638A (en) data processing equipment
JP3325309B2 (en) Subroutine return instruction processing unit
JPH0991139A (en) Information processing device
JPH06162067A (en) Device and method for controlling vector instruction
JP3743155B2 (en) Pipeline controlled computer
JP4502983B2 (en) Vector control circuit, vector processing device, vector control method, and vector control program
JP2576589B2 (en) Virtual storage access control method
JPH06314196A (en) Information processing method and device
JPH08297583A (en) Interrupt handling apparatus and method thereof