JP2881023B2 - Instruction buffer configuration method - Google Patents

Instruction buffer configuration method

Info

Publication number
JP2881023B2
JP2881023B2 JP2243795A JP24379590A JP2881023B2 JP 2881023 B2 JP2881023 B2 JP 2881023B2 JP 2243795 A JP2243795 A JP 2243795A JP 24379590 A JP24379590 A JP 24379590A JP 2881023 B2 JP2881023 B2 JP 2881023B2
Authority
JP
Japan
Prior art keywords
instruction
buffer
control unit
time
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.)
Expired - Lifetime
Application number
JP2243795A
Other languages
Japanese (ja)
Other versions
JPH04124730A (en
Inventor
保 田原
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2243795A priority Critical patent/JP2881023B2/en
Publication of JPH04124730A publication Critical patent/JPH04124730A/en
Application granted granted Critical
Publication of JP2881023B2 publication Critical patent/JP2881023B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、パイプライン制御方式が用いられる計算機
に設けられる命令バッファ構成方式に関する。
Description: TECHNICAL FIELD The present invention relates to an instruction buffer configuration system provided in a computer using a pipeline control system.

(従来の技術) パイプイラン制御方式とは、計算機の中央処理装置で
実行される命令を複数のステージに分解し、分割された
各ステージをそれぞれ別個の処理回路により平行処理す
る方式である。このようなパイプライン制御方式によ
り、中央処理装置のデータ処理時間の短縮を図ることが
できる。ところで、パイプライン制御方式の中央処理装
置には、命令の読出し速度の向上のため、命令の先行フ
ェッチを行なう命令バッファが設けられている。
(Prior Art) The pipe-Iran control method is a method in which an instruction executed by a central processing unit of a computer is divided into a plurality of stages, and each of the divided stages is processed in parallel by a separate processing circuit. With such a pipeline control method, the data processing time of the central processing unit can be reduced. By the way, the central processing unit of the pipeline control system is provided with an instruction buffer for prefetching an instruction in order to improve an instruction reading speed.

第2図は、従来の命令バッファ構成方式を示すブロッ
ク図である。
FIG. 2 is a block diagram showing a conventional instruction buffer configuration method.

この図には、主記憶装置1と、中央処理装置2とが示
されている。
FIG. 1 shows a main storage device 1 and a central processing unit 2.

主記憶装置1は、ランダム・アクセス・メモリから成
り、命令列を格納している。
The main storage device 1 is composed of a random access memory and stores an instruction sequence.

中央処理装置2は、命令列を実行する。この中央処理
装置2には、命令バッファ41〜44及び命令フェッチ制御
部45が設けられている。
The central processing unit 2 executes the instruction sequence. The central processing unit 2 is provided with instruction buffers 41 to 44 and an instruction fetch control unit 45.

命令バッファ41〜44は、ランダム・アクセス・メモリ
から成り、命令の先行フェッチを行なう。これらの命令
バッファ41〜44の大きさは、いずれも8バイトである。
命令フェッチ制御部45は、命令バッファ41〜44への命令
列の転送を制御する。
The instruction buffers 41 to 44 are composed of random access memories, and perform prefetching of instructions. The size of each of these instruction buffers 41 to 44 is 8 bytes.
The instruction fetch control unit 45 controls the transfer of an instruction sequence to the instruction buffers 41 to 44.

命令バッファ41及び42は、一対のシーソーバッファと
して使用される。即ち、片方の命令バッファの空き状態
が検知されると、命令バッファ制御部45は、主記憶装置
1から空き状態の命令バッファへ命令列を読み込む。命
令バッファ43及び44も、命令バッファ41及び42と同様
に、一対のシーソーバッファとして使用される。
The instruction buffers 41 and 42 are used as a pair of seesaw buffers. That is, when the empty state of one of the instruction buffers is detected, the instruction buffer control unit 45 reads the instruction sequence from the main storage device 1 into the empty instruction buffer. The instruction buffers 43 and 44 are also used as a pair of seesaw buffers, like the instruction buffers 41 and 42.

また、命令バッファ41、42と、命令バッファ43、44と
の2組は、いずれか1組が現在実行中の命令列を格納す
るために使用され、もう1組が条件分岐命令実行時の分
岐先の命令列を格納するために使用される。命令バッフ
ァ41〜44に格納された命令は、複数のステージに分割さ
れて命令パイプライン制御部3に送られる。
One of the two sets of the instruction buffers 41 and 42 and the instruction buffers 43 and 44 is used to store the currently executed instruction sequence, and the other set is a branch for executing the conditional branch instruction. Used to store the previous instruction sequence. The instructions stored in the instruction buffers 41 to 44 are divided into a plurality of stages and sent to the instruction pipeline control unit 3.

命令パイプライン制御部3は、Dステージ制御部4
と、Xステージ制御部5と、Aステージ制御部6と、E
ステージ制御部7とから成る。
The instruction pipeline control unit 3 includes a D stage control unit 4
X stage controller 5, A stage controller 6, E
And a stage control unit 7.

Dステージ制御部4は、命令デコードを行なう。 D stage control unit 4 performs instruction decoding.

Xステージ制御部5は、アドレス計算を行なう。即
ち、分岐命令については、分岐先のアドレス計算を行な
う。また、オペランドを有する命令については、オペラ
ンドのアドレス計算を行なう。
X stage control unit 5 performs address calculation. That is, for the branch instruction, the address of the branch destination is calculated. For an instruction having an operand, the address of the operand is calculated.

Aステージ制御部6は、オペランドの先行フェッチを
行なう。
A stage control unit 6 performs prefetching of operands.

Eステージ制御部7は、オペランドに対する演算処理
を行なう。
E stage control unit 7 performs arithmetic processing on operands.

命令バッファ41〜4に格納された命令がこれらの各ス
テージの順に実行され、各ステージが同時並行動作する
ことによりパイプライン制御が行なわれる。
The instructions stored in the instruction buffers 41 to 4 are executed in the order of these stages, and the stages are simultaneously operated to perform pipeline control.

第5図は、主記憶装置上の命令の配置の一例を示す図
である。
FIG. 5 is a diagram showing an example of the arrangement of instructions on the main storage device.

1000番地から長さ4バイトの6個の命令(命令01〜0
6)が連続して配置されている。また、2000番地から長
さ4バイトの6個の命令(命令11〜16)が連続して配置
されている。ここで、命令02を除く命令は、分岐を伴わ
ない命令である。これらの命令は、例えば、命令03の次
には命令04を実行するようにアドレスの昇順に順次実行
される。
6 instructions of 4 bytes in length from address 1000 (instructions 01 to 0)
6) are arranged continuously. In addition, six instructions (instructions 11 to 16) having a length of 4 bytes from address 2,000 are continuously arranged. Here, the instructions other than the instruction 02 are instructions that do not involve a branch. These instructions are sequentially executed in ascending order of address, for example, such that instruction 04 is executed after instruction 03.

命令02は、条件分岐命令である。即ち、ある条件が成
立した場合には、この命令の次に2000番地の命令(命令
11)が実行される。一方、ある条件が成立しない場合に
は、他の命令と同様、次のアドレスの命令(命令03)が
実行される。
Instruction 02 is a conditional branch instruction. That is, if a certain condition is satisfied, the instruction at address 2000 (instruction
11) is executed. On the other hand, if a certain condition is not satisfied, the instruction (instruction 03) at the next address is executed as in the other instructions.

第3図は、第2図の装置において、第5図に示す配置
の命令列を1000番地から実行した場合のタイムチャート
である。
FIG. 3 is a time chart when the instruction sequence of the arrangement shown in FIG. 5 is executed from address 1000 in the apparatus of FIG.

以下、第3図において、従来例の動作を説明する。 The operation of the conventional example will be described below with reference to FIG.

初期状態において、命令バッファ41及び42は、現在実
行中の命令列のために使用される。一方、命令バッファ
43及び44は、条件分岐の場合の分岐先の命令列のために
使用されるものとする。
In the initial state, the instruction buffers 41 and 42 are used for a currently executed instruction sequence. Meanwhile, the instruction buffer
Reference numerals 43 and 44 are used for a branch destination instruction sequence in the case of a conditional branch.

まず最初に、第5図における1000番地から命令が実行
された場合、命令フェッチ制御部45は、時間T0において
主記憶装置1の1000番地から8バイト分の命令列(命令
01、02)を命令バッファ41に読み込む。時間T1において
は、命令バッファ42が空き状態であるので、命令フェッ
チ制御部45は、更に1008番地から8バイト分の命令列
(命令03、04)を命令バッファ42に読み込む。また、同
じ時間T1から、命令バッファ41に読み込まれた1000番地
の命令01がDステージ、Xステージ、Aステージ、Eス
テージを経て順次実行されていく。
First, when an instruction is executed from the address 1000 in FIG. 5, the instruction fetch control unit 45 executes an instruction sequence (instruction) of 8 bytes from the address 1000 in the main storage device 1 at time T0.
01, 02) are read into the instruction buffer 41. At time T1, since the instruction buffer 42 is empty, the instruction fetch control unit 45 further reads an instruction sequence (instructions 03 and 04) of 8 bytes from address 1008 into the instruction buffer 42. At the same time T1, the instruction 01 at address 1000 read into the instruction buffer 41 is sequentially executed through the D stage, X stage, A stage, and E stage.

時間T3においては、命令01及び02がDステージで実行
されたことにより命令バッファ41が空き状態となる。こ
のため、命令フェッチ制御部45は、1010番地から8バイ
ト分の命令列(命令05、06)を命令バッファ41に読み込
む。また、時間T3からは、命令03のDステージが開始さ
れ、時間T4からは命令04のDステージが開始される。こ
こで、命令02は、条件分岐命令であるので、命令02のX
ステージが実行される時間T3において、分岐先のアドレ
ス2000が計算される。これに続く時間T4においては、命
令フェッチ制御部45は、主記憶装置1の2000番地から8
バイト分の命令列(命令11、12)を命令バッファ43に転
送する。更に、時間T5においては、命令バッファ44が空
き状態であることにより、命令フェッチ制御部45は、20
08番地から8バイト分の命令列(命令13、14)を命令バ
ッファ44に転送する。一方、時間T5においては、条件分
岐命令02のEステージが実行され、ある条件の判定がな
され、分岐が成立するか否かが決定される。
At time T3, the instruction buffer 41 becomes empty due to the execution of the instructions 01 and 02 in the D stage. Therefore, the instruction fetch control unit 45 reads an instruction sequence (instructions 05 and 06) of 8 bytes from the address 1010 into the instruction buffer 41. At time T3, the D stage of the instruction 03 starts, and at time T4, the D stage of the instruction 04 starts. Here, since instruction 02 is a conditional branch instruction, X of instruction 02
At time T3 when the stage is executed, the branch destination address 2000 is calculated. At the time T4 following this, the instruction fetch control unit 45 sets the address of the main storage device 1 from 2000 to 8
The instruction sequence (instructions 11 and 12) for bytes is transferred to the instruction buffer 43. Further, at time T5, the instruction fetch control unit 45
The instruction sequence (instructions 13 and 14) of 8 bytes from address 08 is transferred to the instruction buffer 44. On the other hand, at time T5, the E stage of the conditional branch instruction 02 is executed, a certain condition is determined, and it is determined whether or not the branch is taken.

第3図は、分岐が成立した場合のタイムチャートであ
り、T5に続く時間T6では、命令バッファ43に時間T4にお
いて予め読み込まれた2000番地の命令11のDステージが
開始れ、時間T7からは命令12のDステージが開始され
る。また、時間T8においては、命令11と命令12のDステ
ージが時間T7まで実行されたことにより命令バッファ44
が空き状態となり、2010番地から8バイトの命令列(命
令15、16)が命令バッファ44に転送される。以後、次の
分岐命令が出現するまで、命令バッファ43と44が使用さ
れ、命令フェッチが続けられる。
FIG. 3 is a time chart in the case where the branch is taken. At time T6 following T5, the D stage of the instruction 11 at the address 2000 previously read into the instruction buffer 43 at time T4 starts, and from time T7. The D stage of instruction 12 is started. Further, at time T8, the D stage of instructions 11 and 12 has been executed until time T7, so that the instruction buffer 44
Becomes empty, and an 8-byte instruction sequence (instructions 15 and 16) from address 2010 is transferred to the instruction buffer 44. Thereafter, the instruction buffers 43 and 44 are used and instruction fetch is continued until the next branch instruction appears.

以上のように、時間T0からT5までは、命令バッファ41
と42が現在実行中の命令列を読み込むために使用され、
命令バッファァ43と44が条件分岐命令の分岐先の命令列
を読み込むために使用される。時間T6以後は、命令バッ
ファ43と44が現在実行中の命令列を読み込むために使用
される。
As described above, from time T0 to time T5, the instruction buffer 41
And 42 are used to read the currently executing instruction sequence,
The instruction buffers 43 and 44 are used to read the instruction sequence at the branch destination of the conditional branch instruction. After time T6, instruction buffers 43 and 44 are used to read the currently executing instruction sequence.

(発明が解決しようとする課題) しかしながら、上述した従来の技術には、次のような
問題点があった。
(Problems to be solved by the invention) However, the above-described conventional technology has the following problems.

即ち、上述した方式では、条件分岐命令以外の命令を
実行している間は、命令バッファを1組しか使用しな
い。つまり、条件分岐命令の実行のためだけに命令バッ
ファが2組必要となり、ハードウェア量が多くなってい
るという問題があった。
That is, in the method described above, only one set of instruction buffers is used while executing instructions other than the conditional branch instruction. That is, two sets of instruction buffers are required only for executing the conditional branch instruction, and there is a problem that the amount of hardware is increased.

本発明は以上の点に着目してなされたもので、パイプ
ライン制御の性能を保ちつつ、ハードウェア量の低減を
図ることができる命令バッファ構成方式を提供すること
を目的とするものである。
The present invention has been made in view of the above points, and it is an object of the present invention to provide an instruction buffer configuration method capable of reducing the amount of hardware while maintaining the performance of pipeline control.

(課題を解決するための手段) 本発明の命令バッファ構成方式は、複数の命令列を格
納する記憶装置と、パイプライン制御により実行される
命令を予め格納する3面から成る命令バッファと、前記
記憶装置に格納される命令列を前記3面から成る命令バ
ッファに転送する命令フェッチ制御部とを有し、この命
令フェッチ制御部が、前記3面から成る命令バッファの
うち、2面の命令バッファに現在実行中の命令列を転送
し、残り1面の命令バッファに条件分岐命令の分岐先の
命令列を転送することを特徴とするものである。
(Means for Solving the Problems) According to an instruction buffer configuration method of the present invention, a storage device for storing a plurality of instruction sequences, an instruction buffer having three surfaces for storing instructions to be executed by pipeline control in advance, and An instruction fetch control unit for transferring an instruction sequence stored in a storage device to the three-sided instruction buffer, wherein the instruction fetch control unit comprises two instruction buffers of the three-sided instruction buffer The instruction sequence currently being executed is transferred to the instruction buffer on the other side, and the instruction sequence at the branch destination of the conditional branch instruction is transferred to the remaining one instruction buffer.

(作用) 本発明の命令バッファ構成方式においては、3面の命
令バッファのうち、2面の現在実行中の命令列に対して
使用される。一方、条件分岐命令の分岐先の命令列に対
しては残りの1面が使用される。従って、条件分岐命令
が実行されない状態で使用されていない命令バッファ
は、1面のみとすることができ、ハードウェア量の低減
を図ることができる。
(Operation) In the instruction buffer configuration method of the present invention, the instruction buffer is used for two currently executed instruction strings among the three instruction buffers. On the other hand, the remaining one side is used for the instruction sequence at the branch destination of the conditional branch instruction. Therefore, the instruction buffer that is not used in a state where the conditional branch instruction is not executed can be provided on only one surface, and the amount of hardware can be reduced.

(実施例) 第1図は、本発明の命令バッファ構成方式の一実施例
のブロック図である。
(Embodiment) FIG. 1 is a block diagram of an embodiment of an instruction buffer configuration system according to the present invention.

この図には、主記憶装置1と、中央処理装置2とが示
されている。
FIG. 1 shows a main storage device 1 and a central processing unit 2.

主記憶装置1は、第2図に示す従来のものと同様に、
ランダム・アクセス・メモリから成り、命令列を格納し
ている。
The main storage device 1 is similar to the conventional one shown in FIG.
It consists of a random access memory and stores a sequence of instructions.

中央処理装置2′は、命令列を実行する。この中央処
理装置2′には、命令バッファ11〜13及び命令フェッチ
制御部14が設けられている。
The central processing unit 2 'executes the instruction sequence. The central processing unit 2 'is provided with instruction buffers 11 to 13 and an instruction fetch control unit 14.

命令バッファ11〜13は、ランダム・アクセス・メモリ
から成り、命令の先行フェッチを行なう。これらの命令
バッファ11〜13の大きさは、いずれも8バイトである。
命令フェッチ制御部14は、命令バッファ11〜13への命令
列の転送を制御する。
The instruction buffers 11 to 13 are composed of random access memories, and perform prefetching of instructions. The size of each of the instruction buffers 11 to 13 is 8 bytes.
The instruction fetch control unit 14 controls the transfer of an instruction sequence to the instruction buffers 11 to 13.

命令バッファ11が現在実行中の命令列を読み込むため
に使用されているときは、命令バッファ11は命令バッフ
ァ12とともにシーソーバッファとして使用される。この
とき、命令バッファ13は、条件分岐命令の分岐先命令列
を読み込むために使用される。また、命令バッファ13が
現在実行中の命令列を読み込むために使用されていると
きは、命令バッファ13は命令バッファ12とともにシーソ
ーバッファとして使用される。このとき、命令バッファ
11は、条件分岐命令の分岐先命令列を読み込むために使
用される。
When the instruction buffer 11 is used to read the currently executed instruction sequence, the instruction buffer 11 is used together with the instruction buffer 12 as a seesaw buffer. At this time, the instruction buffer 13 is used for reading a branch instruction sequence of the conditional branch instruction. When the instruction buffer 13 is used to read a currently executed instruction sequence, the instruction buffer 13 is used as a seesaw buffer together with the instruction buffer 12. At this time, the instruction buffer
Reference numeral 11 is used to read a branch destination instruction sequence of a conditional branch instruction.

命令パイプライン制御部3は、従来のものと同様に、
Dステージ制御部4と、Xステージ制御部5と、Aステ
ージ制御部6と、Eステージ制御部7とから成る。
The instruction pipeline control unit 3 is, like the conventional one,
It comprises a D stage control unit 4, an X stage control unit 5, an A stage control unit 6, and an E stage control unit 7.

Dステージ制御部4は、命令のデコードを行なう。 D stage control section 4 decodes the instruction.

Xステージ制御部5は、アドレス計算を行なう。即
ち、分岐命令については、分岐先のアドレス計算を行な
う。また、オペランドを有する命令については、オペラ
ンドのアドレス計算を行なう。
X stage control unit 5 performs address calculation. That is, for the branch instruction, the address of the branch destination is calculated. For an instruction having an operand, the address of the operand is calculated.

Aステージ制御部6は、オペランドの先行フェッチを
行なう。
A stage control unit 6 performs prefetching of operands.

Eステージ制御部7は、オペランドに対する演算処理
を行なう。
E stage control unit 7 performs arithmetic processing on operands.

命令バッファ11〜13に格納された命令がこれらの各ス
テージの順に実行され、各ステージが同時並行動作する
ことによりパイプライン制御が行なわれる。
The instructions stored in the instruction buffers 11 to 13 are executed in the order of these stages, and the stages are simultaneously operated to perform pipeline control.

第4図は、第1図の動作を説明するためのタイムチャ
ートである。
FIG. 4 is a time chart for explaining the operation of FIG.

この図は、従来例と同一の第5図に示す命令列を1000
番地から実行した場合のタイムチャートである。以下、
第4図を参照して本発明の一実施例の動作の説明を行な
う。
In this figure, the instruction sequence shown in FIG.
It is a time chart at the time of starting from an address. Less than,
The operation of one embodiment of the present invention will be described with reference to FIG.

初期状態において、命令バッファ11が現在実行中の命
令列のために使用され、命令バッファ12が条件分岐命令
の分岐先命令列のために使用されるものとする。
In the initial state, it is assumed that the instruction buffer 11 is used for the currently executed instruction sequence and the instruction buffer 12 is used for the branch destination instruction sequence of the conditional branch instruction.

まず最初に、第5図における1000番地から命令が実行
された場合、命令フェッチ制御部14は、時間T0におい
て、主記憶装置1の1000番地から8バイト分の命令列
(命令01、02)を命令バッファ11に読み込む。時間T1に
おいては、命令バッファ12が空き状態であるので、命令
フェッチ制御部14は、更に1008番地から8バイト分の命
令列(命令03、04)を命令バッファ12に読み込む。ま
た、同じ時間T1からメモリバッファ11に読み込まれてい
る1000番地の命令01がDステージより実行を開始され
る。同様に、時間T2から1004番地の命令02が時間T3より
1008番地の命令03が時間T4から100C番地の命令04がDス
テージより実行を開始される。一方、時間T3において
は、命令01及び02がDステージで実行されたことにより
命令バッファ11が空き状態となるので、命令フェッチ制
御部14は、1010番地から8バイト分の命令列(命令05、
06)を命令バッファ11に読み込む。ここで、命令02は条
件分岐命令であるので、命令02のXステージが実行され
る時間T3において分岐先のアドレス2000が計算される。
それに続く時間T4においては、命令フェッチ制御部14
は、2000番地から8バイト分の命令列(命令11、12)を
命令バッファ13に転送する。一方、時間T5においては、
条件分岐命令02のEステージが実行され、ある条件の判
定がなされ、分岐が成立するか否かが決定される。第4
図は、分岐が成立した場合のタイムチャートであり、時
間T5に続く時間T6において、命令バッファ13に時間T4で
予め読み込まれた200番地の命令11のDステージが開始
され、時間T7からは命令12のDステージが開始される。
また、時間T5で条件分岐が成立したことにより命令バッ
ファ12は、命令バッファ13とともに使われるように切り
替わり、時間T6において2008番地から8バイト分の命令
列(命令13、14)がメモリバッファ12に転送される。時
間T8においては、命令11と命令12のDステージが時間T7
までに実行されたことにより命令バッファ13が空き状態
となり、2010番地から8バイト分の命令列(命令15、1
6)が命令バッファ13に転送される。以後、次の分岐命
令が出現するまで命令バッファ13と命令バッファ12とが
現在実行中の命令列のフェッチに使用される。
First, when an instruction is executed from the address 1000 in FIG. 5, the instruction fetch control unit 14 fetches an 8-byte instruction sequence (instructions 01 and 02) from the address 1000 in the main storage device 1 at time T0. Read into the instruction buffer 11. At time T1, since the instruction buffer 12 is empty, the instruction fetch control unit 14 reads an instruction sequence (instructions 03 and 04) of 8 bytes from address 1008 into the instruction buffer 12. At the same time T1, the execution of the instruction 01 at the address 1000 read into the memory buffer 11 is started from the D stage. Similarly, instruction 02 at address 1004 from time T2 starts at time T3
The instruction 03 at the address 1008 starts executing from the D stage from the time T4. On the other hand, at the time T3, the instruction buffer 11 becomes empty due to the execution of the instructions 01 and 02 in the D stage, so that the instruction fetch control unit 14 executes the instruction sequence of eight bytes from the address 1010 (the instructions 05 and
06) into the instruction buffer 11. Here, since the instruction 02 is a conditional branch instruction, the branch destination address 2000 is calculated at the time T3 when the X stage of the instruction 02 is executed.
At the subsequent time T4, the instruction fetch control unit 14
Transfers an instruction sequence (instructions 11 and 12) of 8 bytes from the address 2000 to the instruction buffer 13. On the other hand, at time T5,
The E stage of the conditional branch instruction 02 is executed, a certain condition is determined, and it is determined whether or not the branch is taken. 4th
The figure is a time chart in the case where the branch is taken. At time T6 following time T5, the D stage of the instruction 11 of the address 200 previously read into the instruction buffer 13 at time T4 is started, and the instruction is started at time T7. Twelve D stages are started.
When the conditional branch is taken at time T5, the instruction buffer 12 is switched to be used together with the instruction buffer 13. At time T6, an 8-byte instruction string (instructions 13 and 14) from address 2008 is stored in the memory buffer 12. Will be transferred. At time T8, the D stages of instruction 11 and instruction 12
By this time, the instruction buffer 13 becomes empty, and the 8-byte instruction string (instructions 15, 1
6) is transferred to the instruction buffer 13. Thereafter, the instruction buffer 13 and the instruction buffer 12 are used for fetching the currently executed instruction sequence until the next branch instruction appears.

(発明の効果) 以上説明したように、本発明の命令バッファ構成方式
によれば、3面分の命令バッファを2面ずつ使用するよ
うにしたので、従来、4面分のハードウェアが必要であ
ったのに対し、3面分のハードウェアにより命令バッフ
ァを構成することができる。また、条件分岐命令の分岐
成立時にも従来と同等の性能を得ることができ、条件分
岐命令の不成立時にも同等の性能を得ることができる。
以上のように、本発明によれば、従来より少ないハード
ウェア量で従来と同等の性能を持つ命令バッファを構成
することが可能となる。
(Effect of the Invention) As described above, according to the instruction buffer configuration method of the present invention, two instruction buffers for three planes are used, and hardware for four planes is conventionally required. On the other hand, an instruction buffer can be constituted by hardware for three surfaces. Further, even when the branch of the conditional branch instruction is taken, the same performance as that of the related art can be obtained, and when the conditional branch instruction is not taken, the same performance can be obtained.
As described above, according to the present invention, it is possible to configure an instruction buffer having the same performance as the conventional one with a smaller amount of hardware than the conventional one.

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

第1図は本発明の命令バファ構成方式の一実施例のブロ
ック図、第2図は従来の命令バッファ構成方式を示すブ
ロック図、第3図は第2図の動作を説明するためのタイ
ムチャート、第4図は第1図の動作を説明するためのタ
イムチャート、第5図は主記憶装置上の命令配置図であ
る。 1…主記憶装置、2′…中央処理装置、3…命令パイプ
ライン制御部、4…Dステージ制御部、5…Xステージ
制御部、6…Aステージ制御部、7…Eステージ制御
部、11、12、13…命令バッファ、14…命令フェッチ制御
部。
FIG. 1 is a block diagram of an embodiment of an instruction buffer configuration system according to the present invention, FIG. 2 is a block diagram showing a conventional instruction buffer configuration system, and FIG. 3 is a time chart for explaining the operation of FIG. FIG. 4 is a time chart for explaining the operation of FIG. 1, and FIG. 5 is an instruction arrangement diagram on the main storage device. DESCRIPTION OF SYMBOLS 1 ... Main storage device, 2 '... Central processing unit, 3 ... Instruction pipeline control unit, 4 ... D stage control unit, 5 ... X stage control unit, 6 ... A stage control unit, 7 ... E stage control unit, 11 , 12, 13 ... instruction buffer, 14 ... instruction fetch control unit.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数の命令列を格納する記憶装置と、 パイプライン制御により実行される命令を予め格納する
3面から成る命令バッファと、 前記記憶装置に格納される命令列を前記3面から成る命
令バッファに転送する命令フェッチ制御部とを有し、 この命令フェッチ制御部が、前記3面から成る命令バッ
ファのうち、2面の命令バッファに現在実行中の命令列
を転送し、残り1面の命令バッファに条件分岐命令の分
岐先の命令列を転送することを特徴とする命令バッファ
構成方式。
1. A storage device for storing a plurality of instruction sequences, an instruction buffer having three surfaces for storing instructions to be executed by pipeline control in advance, and an instruction sequence stored in the storage device being read from the three surfaces. An instruction fetch control unit for transferring the currently executed instruction sequence to two instruction buffers of the three instruction buffers, and An instruction buffer configuration method, wherein an instruction sequence at a branch destination of a conditional branch instruction is transferred to an instruction buffer on a side.
JP2243795A 1990-09-17 1990-09-17 Instruction buffer configuration method Expired - Lifetime JP2881023B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2243795A JP2881023B2 (en) 1990-09-17 1990-09-17 Instruction buffer configuration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2243795A JP2881023B2 (en) 1990-09-17 1990-09-17 Instruction buffer configuration method

Publications (2)

Publication Number Publication Date
JPH04124730A JPH04124730A (en) 1992-04-24
JP2881023B2 true JP2881023B2 (en) 1999-04-12

Family

ID=17109064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2243795A Expired - Lifetime JP2881023B2 (en) 1990-09-17 1990-09-17 Instruction buffer configuration method

Country Status (1)

Country Link
JP (1) JP2881023B2 (en)

Also Published As

Publication number Publication date
JPH04124730A (en) 1992-04-24

Similar Documents

Publication Publication Date Title
JP2571336B2 (en) Data processing device
US6665790B1 (en) Vector register file with arbitrary vector addressing
US4745547A (en) Vector processing
US7366874B2 (en) Apparatus and method for dispatching very long instruction word having variable length
US6272596B1 (en) Data processor
KR100346515B1 (en) Temporary pipeline register file for a superpipe lined superscalar processor
JPS6131502B2 (en)
JPH02101576A (en) Vector processor
JPS63303460A (en) Parallel processor
JPH03233630A (en) Information processor
JP2881023B2 (en) Instruction buffer configuration method
JP2001297074A (en) Execution controller, of data drive type information processor
JP2668987B2 (en) Data processing device
JP2861560B2 (en) Data processing device
JPH0193825A (en) Prefetch queue control system
JP2689914B2 (en) Information processing device
JPH10116191A (en) Processor equipped with buffer for compressed instruction
JPH02157939A (en) Instruction processing method and instruction processor
JP3668643B2 (en) Information processing device
JPS63163634A (en) Instruction fetch system
JPH0342721A (en) Information processor
JPS62145430A (en) Data processor
JPH04255995A (en) Instruction cache
JPH07210384A (en) Floating point arithmetic unit
JPH08110901A (en) Microprocessor

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040427