JPH03131930A - Information processor - Google Patents

Information processor

Info

Publication number
JPH03131930A
JPH03131930A JP27200489A JP27200489A JPH03131930A JP H03131930 A JPH03131930 A JP H03131930A JP 27200489 A JP27200489 A JP 27200489A JP 27200489 A JP27200489 A JP 27200489A JP H03131930 A JPH03131930 A JP H03131930A
Authority
JP
Japan
Prior art keywords
instruction
branch
execution
stage
address
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
JP27200489A
Other languages
Japanese (ja)
Inventor
Kiyoshi Morishima
森島 潔
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 JP27200489A priority Critical patent/JPH03131930A/en
Publication of JPH03131930A publication Critical patent/JPH03131930A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To attain processing without increasing the time required for a stage by providing the information processor with a next instruction suppressing FF for suppressing the execution of an instruction in an address next to that of a branch instruction and a branched instruction suppressing FF for suppressing the execution of a branched instruction. CONSTITUTION:On the instruction execution stage of a branch instruction N, whether processing is to be branched by a branch instruction N or not is detected. Namely, a tag specified by the branch instruction N is transferred from a general purpose register group 13 to a control circuit 9 and a tag to be compared with the contents of the register group 13 from an instruction post register 6. The discrepancy of both tags is checked by a control circuit 9, and when no branch is detected, the address (N+2) of the instruction (N+2) is successively loaded from an instruction address forming circuit 8 to an instruc tion address register 1. The next instruction suppressing FF 10 and the branched instruction suppressing FF 11 are set up by the circuit 9 and the processing of the next instruction (N+1) and the processing of the instruction decoding stage of the branched instruction are suppressed by the succeeding cycle, so that the processing can be executed without increasing the stage time.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置の制御に関する。[Detailed description of the invention] [Industrial application field] The present invention relates to control of an information processing device.

〔従来の技術〕[Conventional technology]

従来の情報処理装置では、(1)分岐しない場合にも次
命令の実行を行うか、あるいは、(2)分岐しない場合
に次命令の実行を抑止する制御においては、タグの一致
を検出するステージで次命令の実行を抑止する方式であ
った。
In conventional information processing devices, (1) the next instruction is executed even if the branch is not taken, or (2) the next instruction is inhibited from being executed in the case where the branch is not taken, in a stage where tag matching is detected. This method suppressed the execution of the next instruction.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上述した従来の情報処理装置は、(1)のケースでは分
岐しない場合に、次命令を実行させたくないときには、
次命令をNOP命令にしなければならず、また、(2)
のケースではタグの一致検出と次命令の抑止とが同一の
ステップで行われるため、ステージの時間が増大し、(
1) 、 (2)とも性能が低下するという問題点があ
った。
In case (1), when the conventional information processing device described above does not branch and does not want to execute the next instruction,
The next instruction must be a NOP instruction, and (2)
In the case of (
Both 1) and (2) had the problem of reduced performance.

本発明の目的は、ステージの時間を増大させずに、処理
することができる情報処理装置を提供することにある。
An object of the present invention is to provide an information processing device that can perform processing without increasing stage time.

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

本発明の情報処理装置は、次命令の次に分岐先命令を取
り出し、命令語によって指定されたレジスタ内のタグと
、前記命令語に記述されたタグとが一致するか否かで前
記次命令の実行/非実行、および分岐動作を実行する情
報処理装置において、タグの一致を検出するステージで
タグの一致が検出されると、そのまま前記次命令を実行
してから前記分岐先命令を実行し、逆にタグの不一致が
検出されると、次命令抑止フリップフロップ、および分
岐先命令抑止フリップフロップをセットし、前記次命令
抑止フリップフロップにより前記次命令の実行を抑止し
、前記分岐先命令抑止クリップ70ツブにより前記分岐
先命令の実行を抑止し、かつ、次々命令を取り出し、前
記次々命令から実行するように構成されている。
The information processing device of the present invention extracts a branch destination instruction next to the next instruction, and determines whether or not the tag in the register specified by the instruction word matches the tag written in the instruction word. In an information processing device that performs execution/non-execution and branching operations, when a match of tags is detected at the tag match detection stage, the next instruction is executed as is, and then the branch destination instruction is executed. On the other hand, when a tag mismatch is detected, the next instruction inhibit flip-flop and the branch target instruction inhibit flip-flop are set, the next instruction inhibit flip-flop inhibits execution of the next instruction, and the branch target instruction inhibit The clip 70 is configured to inhibit execution of the branch destination instruction, and to take out instructions one after another and execute them starting from the instruction one after another.

〔実施例〕〔Example〕

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

第1図は本発明の一実施例のブロック図である。FIG. 1 is a block diagram of one embodiment of the present invention.

第1図に示す情報処理装置は、命令取り出しステージに
命令のアドレスを保持する命令アドレスレジスタ1、命
令デコードステージに命令のアドレスを保持する命令ア
ドレスレジスタ2、命令実行ステージに命令のアドレス
を保持する命令アドレスレジスタ3、命令実行結果書き
込みステージに命令のアドレスを保持する命令アドレス
レジスタ4、命令デコードステージに命令語を保持する
命令語レジスタ5、命令実行ステージに命令語を保持す
る命令語レジスタ6、命令実行結果書き込みステージに
命令語を保持アドレス命令レジスタ7、命令アドレスレ
ジスタ1にロードする命令アドレスを作成する命令アド
レス作成回路8、情報処理装置の制御を行う制御回路9
、分岐命令の次のアドレスの命令の実行を抑止するため
の次命令抑止フリップフロップ(以下、フリップフロッ
プをF/Fと称する)10、分岐先命令の実行を抑止す
るための分岐先命令実行F/Fll−命令語か書込まれ
ているメモリ回路12、タグ付きのデータを貯える汎用
レジスタ群13から構成されている。
The information processing device shown in FIG. 1 has an instruction address register 1 that holds the address of an instruction in the instruction fetch stage, an instruction address register 2 that holds the address of the instruction in the instruction decode stage, and an instruction address register 2 that holds the address of the instruction in the instruction execution stage. an instruction address register 3, an instruction address register 4 that holds the address of the instruction in the instruction execution result write stage, an instruction word register 5 that holds the instruction word in the instruction decode stage, an instruction word register 6 that holds the instruction word in the instruction execution stage, An address instruction register 7 that holds the instruction word in the instruction execution result writing stage, an instruction address generation circuit 8 that generates an instruction address to be loaded into the instruction address register 1, and a control circuit 9 that controls the information processing device.
, a next instruction inhibit flip-flop (hereinafter referred to as F/F) 10 for inhibiting execution of the instruction at the next address of the branch instruction, and a branch target instruction execution F for inhibiting execution of the branch target instruction. It is composed of a memory circuit 12 into which /Fll-instruction words are written, and a general-purpose register group 13 that stores tagged data.

次に、動作を説明する。Next, the operation will be explained.

第2図は第1図に示された情報処理装置の動作を示すタ
イミング図である。
FIG. 2 is a timing diagram showing the operation of the information processing apparatus shown in FIG.

第2図において、Nは分岐命令、N+1は分岐命令の次
のアドレスに置かれている命令、N+2はN+1の次の
アドレスに置かれている命令、Mは分岐命令Nの実行に
より分岐するときの分岐先命令である。それぞれの命令
は命令取り出しステージ、命令デコードステージ、命令
実行ステージ、命令実行結果書き込みステージに順次遷
移していく。
In Figure 2, N is a branch instruction, N+1 is an instruction placed at the address next to the branch instruction, N+2 is an instruction placed at the address next to N+1, and M is when branching occurs due to execution of branch instruction N. This is the branch destination instruction. Each instruction sequentially transitions to an instruction fetching stage, an instruction decoding stage, an instruction execution stage, and an instruction execution result writing stage.

第2図において、サイクルT1では、分岐命令Nは命令
取り出しステージにあり、命令アドレスレジスタ1に分
岐命令Nを指すアドレス<N>が保持されている。これ
がメモリ回路12に転送されると、メモリ回i12は命
令語レジスタ5に分岐命令Nの命令語を転送する。分岐
命令Nの命令語は命令取り出しステージの終りに命令語
レジスタ5に取り込まれる。そして分岐命令Nは命令デ
コードステージに移る。また、命令アドレスレジスタ1
には命令アドレス作成回路8から命令アドレス<N+ 
1 >がロードされる。
In FIG. 2, in cycle T1, branch instruction N is in the instruction fetch stage, and address <N> pointing to branch instruction N is held in instruction address register 1. When this is transferred to the memory circuit 12, the memory circuit i12 transfers the instruction word of the branch instruction N to the instruction word register 5. The instruction word of branch instruction N is taken into the instruction word register 5 at the end of the instruction fetch stage. The branch instruction N then moves to the instruction decode stage. Also, instruction address register 1
The instruction address generation circuit 8 inputs the instruction address <N+
1> is loaded.

次のサイクルT2においては、分岐命令Nは命令デコー
ドステージに、次命令N+1は命令取り出しアドレス作
成回路8から命令アドレスレジスタ1にロードされる。
In the next cycle T2, the branch instruction N is loaded into the instruction decode stage, and the next instruction N+1 is loaded from the instruction fetch address generation circuit 8 into the instruction address register 1.

次のサイクルT3においては、分岐命令Nは命令実行ス
テージに、次命令N+1は命令デコードステージに、分
岐先命令Mは命令取り出しステージになる。この時点で
分岐命令Nよって分岐するか否かの検出が行われる。汎
用レジスタ群13から制御回路9に分岐命令Nによって
指定されたタグが転送され、また、命令語レジスタ6か
ら汎用レジスタと比較されるタグが転送される。制御回
路9によって両方のタグの不一致が調べられ分岐しない
ことが検出されると、命令作成回路8がら次々命令N+
2のアドレス<N+2>が命令アドレスレジスタ1にロ
ードされる。また、制御回路9により次命令抑止F/F
 10、および分岐先命令抑止F/Fi1.がセットさ
れる。
In the next cycle T3, the branch instruction N is in the instruction execution stage, the next instruction N+1 is in the instruction decode stage, and the branch destination instruction M is in the instruction fetch stage. At this point, it is detected whether or not to branch based on the branch instruction N. The tag specified by the branch instruction N is transferred from the general-purpose register group 13 to the control circuit 9, and the tag to be compared with the general-purpose register is transferred from the instruction word register 6. When the control circuit 9 checks for mismatch between both tags and detects that there is no branch, the instruction generation circuit 8 sequentially issues instructions N+
2 address <N+2> is loaded into instruction address register 1. The control circuit 9 also controls the next instruction inhibit F/F.
10, and branch destination instruction inhibition F/Fi1. is set.

次のサクルT4においては、分岐命令Nは命令実行結果
書き込みステージに、次命令N+1は命令実行ステージ
に、分岐先命令Mは命令デコードステージに、次々命令
N+2は命令取り出しステージになる。この時点では次
命令抑止F/F10および分岐先命令抑止F/Filが
セットされているため、次命令N+1の命令実行ステー
ジにおける処理、および分岐先命令の命令デコードステ
ージにおける処理は抑止される。そして、このサイクル
の終りに次命令抑止F/F 10および分岐先命令抑止
F/Filがリセットされる。また、次々命令N+2の
命令語がメモリ回路12から命令語レジスタ5にロード
される。
In the next cycle T4, the branch instruction N is in the instruction execution result write stage, the next instruction N+1 is in the instruction execution stage, the branch destination instruction M is in the instruction decode stage, and the next instruction N+2 is in the instruction fetch stage. At this point, the next instruction inhibition F/F10 and branch destination instruction inhibition F/Fil are set, so the processing in the instruction execution stage of the next instruction N+1 and the processing in the instruction decode stage of the branch destination instruction are inhibited. Then, at the end of this cycle, the next instruction inhibition F/F 10 and the branch destination instruction inhibition F/Fil are reset. Further, instruction words of instruction N+2 are loaded into the instruction word register 5 from the memory circuit 12 one after another.

次のサイクルT5においては、次命令N+1、および分
岐先命令Mは前サイクルT4において抑止されたため存
在しない。次々命令N+2は命令デコードステージに、
さらに、次の命令N+3は命令取り出しステージになる
In the next cycle T5, the next instruction N+1 and the branch destination instruction M do not exist because they were inhibited in the previous cycle T4. One after another, instructions N+2 go to the instruction decode stage,
Furthermore, the next instruction N+3 becomes the instruction fetch stage.

以下同様に、サイクル下6.サイクルT7においても順
次命令が実行されていく。
Similarly below, cycle 6. In cycle T7 as well, instructions are sequentially executed.

また、分岐命令Nの命令実行ステージにおいてタグが一
致し分岐することが検出されると、次命令抑止F/F、
分岐先命令抑止F/Fはセットされず、実行はN、N+
1、M、M+1のように行われる。
In addition, when it is detected that the tags match and a branch is executed in the instruction execution stage of the branch instruction N, the next instruction suppression F/F,
Branch destination instruction inhibition F/F is not set, execution is N, N+
1, M, M+1.

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

以上説明したように、本発明は、分岐する場合には次命
令を実行してから分岐し、分岐しない場合には次命令を
実行せずに次々命令から実行する分岐命令の処理におい
て、分岐命令の命令実行ステージにおいて分岐しないこ
とが検出されると、次命令抑止F/Fおよび分岐先命令
抑止F/Fをセットし、次のサイクルにおいて次命令お
よび分岐先命令の実行をそれらのF/Fにより抑止する
ことにより、ステージの時間を増大させずに、処理する
ことができるという効果を有する。
As explained above, the present invention is advantageous in processing a branch instruction in which, when branching, the next instruction is executed and then branching, and when not branching, the branching instruction is executed one after another without executing the next instruction. When it is detected that no branch will occur at the instruction execution stage, the next instruction inhibition F/F and branch destination instruction inhibition F/F are set, and the execution of the next instruction and branch destination instruction is inhibited from those F/Fs in the next cycle. This has the effect that processing can be performed without increasing the stage time.

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

第1図は本発明の一実施例のブロック図、第2図は第1
図に示された情報処理装置の動作を示すタイミング図で
ある。 1〜4・・・・・命令アドレスレジスタ、5〜7・・・
・・・命令語レジスタ、8・・・・・・命令アドレス作
成回路、9・・・・・制御回路、10・・・・・・次命
令抑止フリップフロッグ(F/F)、11・・・・・・
分岐先命令抑止フリップフロップ(F/F)、12・・
・・・メモリ回路、13・・・・・汎用レジスタ群、N
・・・・・・分岐命令、N+1・・・・・・次命令、M
・・・・・・分岐先命令、N+2〜N+5・・・・・・
次々命令以降の命令。
FIG. 1 is a block diagram of one embodiment of the present invention, and FIG. 2 is a block diagram of an embodiment of the present invention.
FIG. 3 is a timing chart showing the operation of the information processing device shown in the figure. 1 to 4...Instruction address register, 5 to 7...
...Instruction word register, 8...Instruction address generation circuit, 9...Control circuit, 10...Next instruction inhibit flip-flop (F/F), 11... ...
Branch destination instruction inhibit flip-flop (F/F), 12...
...Memory circuit, 13...General-purpose register group, N
...Branch instruction, N+1...Next instruction, M
...Branch destination instruction, N+2 to N+5...
Instructions after one instruction after another.

Claims (1)

【特許請求の範囲】[Claims] 次命令の次に分岐先命令を取り出し、命令語によって指
定されたレジスタ内のタグと、前記命令語に記述された
タグとが一致するか否かで前記次命令の実行/非実行、
および分岐動作を実行する情報処理装置において、タグ
の一致を検出するステージでタグの一致が検出されると
、そのまま前記次命令を実行してから前記分岐先命令を
実行し、逆にタグの不一致が検出されると、次命令抑止
フリップフロップ、および分岐先命令抑止フリップフロ
ップをセットし、前記次命令抑止フリップフロップによ
り前記次命令の実行を抑止し、前記分岐先命令抑止フリ
ップフロップにより前記分岐先命令の実行を抑止し、か
つ、次々命令を取り出し、前記次々命令から実行するこ
とを特徴とする情報処理装置。
The branch destination instruction is taken out after the next instruction, and the execution/non-execution of the next instruction is performed depending on whether the tag in the register specified by the instruction word matches the tag written in the instruction word.
In an information processing device that executes a branch operation, when a tag match is detected at the tag match detection stage, the next instruction is executed as is, and then the branch destination instruction is executed, and conversely, the tag mismatch is executed. is detected, a next instruction inhibit flip-flop and a branch target instruction inhibit flip-flop are set, the next instruction inhibit flip-flop inhibits execution of the next instruction, and the branch target instruction inhibit flip-flop inhibits execution of the branch target. An information processing device characterized by inhibiting execution of instructions, extracting instructions one after another, and executing the instructions one after another.
JP27200489A 1989-10-18 1989-10-18 Information processor Pending JPH03131930A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27200489A JPH03131930A (en) 1989-10-18 1989-10-18 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27200489A JPH03131930A (en) 1989-10-18 1989-10-18 Information processor

Publications (1)

Publication Number Publication Date
JPH03131930A true JPH03131930A (en) 1991-06-05

Family

ID=17507803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27200489A Pending JPH03131930A (en) 1989-10-18 1989-10-18 Information processor

Country Status (1)

Country Link
JP (1) JPH03131930A (en)

Similar Documents

Publication Publication Date Title
US20120166768A1 (en) Pipeline replay support for multicycle operations
JP2003029986A (en) Inter-processor register succeeding method and device therefor
US7080239B2 (en) Loop control circuit and loop control method
US6647488B1 (en) Processor
JPH0248732A (en) Micro processor for instruction pipe line system
EP0592404A1 (en) Apparatus and method for providing a stall cache
EP0279953A2 (en) Computer system having mixed macrocode and microcode instruction execution
JPH03131930A (en) Information processor
KR100241970B1 (en) Data processing apparatus for performing pipeline processing
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
US20080155238A1 (en) Combining data processors that support and do not support register renaming
JPS5890247A (en) Pipeline controlling system of information processor
JPS62254237A (en) Inter-printer type branch instruction executing system
EP0211487A1 (en) Conditional operations in computers
JP2764844B2 (en) Pipeline processing equipment
JPH09330234A (en) Interruption processing method and microprocessor
JPH06149569A (en) Register number changing device
JPH03241435A (en) Pipe line system
JPH0269825A (en) Pipe line control system
JPH0740226B2 (en) Branch instruction control method
JPH03218524A (en) Instruction processor
JPS61208129A (en) Control system for preread of instruction
JPH0540629A (en) Information processor
KR850002910A (en) Data processing systems
JP2002149438A (en) Method for controlling buffer storage for recovery control