JPH06124205A - Instruction prefetching device - Google Patents

Instruction prefetching device

Info

Publication number
JPH06124205A
JPH06124205A JP27269592A JP27269592A JPH06124205A JP H06124205 A JPH06124205 A JP H06124205A JP 27269592 A JP27269592 A JP 27269592A JP 27269592 A JP27269592 A JP 27269592A JP H06124205 A JPH06124205 A JP H06124205A
Authority
JP
Japan
Prior art keywords
instruction
task
instruction data
data
prefetch
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
JP27269592A
Other languages
Japanese (ja)
Inventor
Eiji Yonezawa
栄治 米澤
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP27269592A priority Critical patent/JPH06124205A/en
Publication of JPH06124205A publication Critical patent/JPH06124205A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To provide an instruction prefetching device capable of prefetching instruction data at the time of materializing conditions and at the time of not materializing the conditions in the case of executing a condition branching instruction at the time of executing a single task and prefetching the instruction data of the task being executed at present and the instruction data of the task to be executed next at the time of a multi-task processing. CONSTITUTION:Since the instruction data of a branching destination can be prefetched at the time of executing the condition branching instruction and also the instruction data of the task to be executed next can be prefetched at the time of the multi-task processing by providing a first instruction prefetching execution part 9 and a second instruction prefetching execution part 10, unrequired cycles for prefetching the instruction data and supplying the instruction data to an instruction data decoder 11 are reduced and the instruction can be executed at a high speed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、条件分岐命令実行時に
は、分岐条件不成立時と分岐条件成立時の命令データを
先取りし、またマルチタスク処理時には、現在実行中の
タスクの命令データと次に実行するタスクの命令データ
を先取りすることが可能な命令プリフェッチ装置に関す
るものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention pre-fetches instruction data when a branch condition is not satisfied and when the branch condition is satisfied when executing a conditional branch instruction. The present invention relates to an instruction prefetch device capable of prefetching instruction data of a task to be executed.

【0002】[0002]

【従来の技術】従来より、条件分岐命令実行時に命令デ
ータを先取りする場合には、命令データを先取りし、格
納しておくための命令先取りキューを1組しか備えてな
かったため、分岐条件不成立時の命令データだけしか先
取りできないため、分岐条件不成立の場合は先取りされ
た命令データを使用できるが、分岐条件成立の場合は再
度、分岐条件成立時の命令データを格納する必要があっ
た。
2. Description of the Related Art Conventionally, when prefetching instruction data at the time of execution of a conditional branch instruction, only one set of instruction prefetch queues for prefetching and storing the instruction data has been provided. Since only the instruction data of (1) can be prefetched, the prefetched instruction data can be used when the branch condition is not satisfied, but when the branch condition is satisfied, it is necessary to store the instruction data when the branch condition is satisfied again.

【0003】また、現在実行中のタスクの命令データの
先取りは可能であったがマルチタスク処理を行なう場合
にはタスク切り換え時に割り込みをかけ実行していたタ
スクの再実行のために、実行していたタスクの再実行時
の命令データのポインタを記憶装置に退避させ、その
後、次に実行するタスクのスタートアドレスおよび命令
データを格納する必要があり、オバーヘッドが大きかっ
た。
Although it is possible to prefetch the instruction data of the task currently being executed, it is executed in order to re-execute the task that was executed by interrupting at the time of task switching when performing multitask processing. It is necessary to save the pointer of the instruction data at the time of re-execution of the task in the storage device, and then store the start address and the instruction data of the task to be executed next, resulting in a large overhead.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、上記従
来の構成では、条件分岐命令実行時には、分岐先の命令
データの先取りができず、条件分岐命令実行時に、条件
が成立して分岐する場合は、命令データの再格納が必要
である。
However, in the above-described conventional configuration, when the conditional branch instruction is executed, the instruction data of the branch destination cannot be prefetched, and when the conditional branch instruction is executed, the condition is satisfied and the branch is executed. It is necessary to restore the instruction data.

【0005】またマルチタスク処理時には、タスク切り
換え時に、割込みをかけ、実行中のタスクの再実行時の
命令データのポインタを記憶装置へ退避した後、次に実
行するタスクの命令データの格納を行なう必要があり、
次に実行するタスクの命令データの先取りが行えず、タ
スク切り換え時に命令解読装置への命令データの供給に
不要な空きサイクルが生じていた。
During multitask processing, an interrupt is issued at the time of task switching, the pointer of the instruction data at the time of re-execution of the task being executed is saved in the storage device, and then the instruction data of the task to be executed next is stored. Must be,
Since the instruction data of the task to be executed next cannot be prefetched, there is an unnecessary empty cycle for supplying the instruction data to the instruction decoding device when the task is switched.

【0006】本発明は上記従来の課題を解決するもの
で、条件分岐命令実行時には分岐する場合と分岐しない
場合の命令データの先取りができ、またマルチタスク処
理時には現在実行中のタスクの命令データと次に実行す
る命令データの先取りができる命令プリフェッチ装置を
提供することを目的とする。
The present invention solves the above-mentioned conventional problems. When conditional branch instructions are executed, instruction data can be prefetched when a branch occurs and when a branch does not occur. Further, during multitask processing, the instruction data of a task currently being executed and An object of the present invention is to provide an instruction prefetch device capable of prefetching instruction data to be executed next.

【0007】[0007]

【課題を解決するための手段】この目的を達成するため
に本発明の命令プリフェッチ装置は、先取りした命令デ
ータを格納しておくための命令先取りキューを2組備
え、それに対応して、前記命令先取りキューへ書き込み
アドレスを指示する第一の手段と、前記命令先取りキュ
ーへ読み出しアドレスを指示する第二の手段と、前記命
令先取りキューの有効バイト数を示す第三の手段をそれ
ぞれ2組備え、 (1)シングルタスク実行時に条件分岐命令を実行する
際には一方の命令先取りキューに分岐条件不成立つまり
分岐しない場合の命令データを先取りし、他方の命令先
取りキューに分岐条件成立時つまり分岐する場合の命令
データを先取りする。
In order to achieve this object, an instruction prefetch apparatus of the present invention comprises two sets of instruction prefetch queues for storing prefetched instruction data. Two sets of first means for instructing a write address to the prefetch queue, second means for instructing a read address to the instruction prefetch queue, and two third means for indicating the effective number of bytes of the instruction prefetch queue are provided. (1) When executing a conditional branch instruction during single task execution, one of the instruction prefetch queues prefetches instruction data when the branch condition is not satisfied, that is, when branching is not performed, and when the branch condition is satisfied, that is, when branching to the other instruction prefetch queue. Prefetch the instruction data of.

【0008】(2)また、マルチタスク処理時には一方
の命令先取りキューに実行中のタスクの命令データを先
取りし、他方の命令先取りキューに次に実行するタスク
の命令データを先取りすることが可能なように構成した
ものである。
(2) During multitask processing, it is possible to prefetch one instruction prefetch queue with the instruction data of the task being executed and the other instruction prefetch queue with the instruction data of the task to be executed next. It is configured as follows.

【0009】[0009]

【作用】この構成によって、条件分岐命令実行時には、
分岐先の命令データを先取りすることができ、また、マ
ルチタスク処理時には、次に実行するタスクの命令デー
タの先取りが行えるため、従来のような命令解読装置へ
の命令データの供給に不要な空きサイクルがなくなっ
た。
With this configuration, when a conditional branch instruction is executed,
The instruction data at the branch destination can be prefetched, and the instruction data for the task to be executed next can be prefetched during multitask processing, so there is no unnecessary space for supplying instruction data to the conventional instruction decoding device. The cycle is gone.

【0010】[0010]

【実施例】以下、本発明の一実施例について、図面を参
照しながら説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.

【0011】図1は本発明の一実施例における命令プリ
フェッチ装置および命令データ解読装置の構成図を示す
ものである。
FIG. 1 is a block diagram showing an instruction prefetch device and an instruction data decoding device according to an embodiment of the present invention.

【0012】図1において、1,2は記憶装置(図示せ
ず)から先取りした命令データを格納しておくための第
一の命令先取りキュー及び第二の命令先取りキュー、
3,4は記憶装置に先取りする命令データのアドレス1
02を指示し、同時に前記第一の命令先取りキュー1の
書き込みアドレス103、および前記第二の命令先取り
キュー2の書き込みアドレス104(書き込みアドレス
103,104は前記第一の命令先取りキュー1、第二
の命令先取りキュー2がそれぞれ8バイトで構成されて
おり、1アドレス1バイトとすると、前記アドレス10
0,101の下位3ビットを使用)を指示する第一の書
き込みアドレスカウンタ及び第二の書き込みアドレスカ
ウンタ、5,6は、現在実行中の命令のポインタを示
し、同時に前記第一の命令先取りキュー1の読み出しア
ドレス125、および前記第二の命令先取りキュー2の
読み出しアドレス126(読み出しアドレス125,1
26は、前記第一の命令先取りキュー1、第二の命令先
取りキュー2がそれぞれ8バイトで構成されており、1
アドレス1バイトとすると、現在実行中の命令のポイン
タ113,114の下位3ビットを使用)、7,8は前
記第一の命令先取りキュー1、第二の命令先取りキュー
2の有効バイト数105,106を示し、また、前記第
一の命令先取りキュー1、第二の命令先取りキュー2に
書き込み許可信号および前記第一の書き込みアドレスカ
ウンタ3、第二の書き込みアドレスカウンタ4に記憶装
置へのアドレス出力許可信号107,108を出力する
第一の有効バイト数カウンタ、第二の有効バイト数カウ
ンタ、9は、前記第一の命令先取りキュー1、第一の書
き込みアドレスカウンタ3、第一の読み出しアドレスカ
ウンタ5、第一の有効バイト数カウンタ7で構成された
第一の命令先取り実行部、10は前記第二の命令先取り
キュー2、第二の書き込みアドレスカウンタ4、第二の
読み出しアドレスカウンタ6、第二の有効バイト数カウ
ンタ8で構成された第二の命令先取り実行部である。
In FIG. 1, reference numerals 1 and 2 denote a first instruction prefetch queue and a second instruction prefetch queue for storing instruction data prefetched from a storage device (not shown).
Addresses 1 and 3 of the instruction data to be prefetched to the storage device
02, and at the same time, the write address 103 of the first instruction prefetch queue 1 and the write address 104 of the second instruction prefetch queue 2 (the write addresses 103 and 104 are the first instruction prefetch queue 1 and the second instruction prefetch queue 1, respectively). Each instruction prefetch queue 2 of 8 bytes is composed of 8 bytes.
0, 101 (using the lower 3 bits of 0, 101) and a second write address counter, 5 and 6 indicate the pointer of the instruction currently being executed, and at the same time, the first instruction prefetch queue 1 read address 125 and read address 126 of the second instruction prefetch queue 2 (read addresses 125, 1
The first instruction prefetch queue 1 and the second instruction prefetch queue 2 are each composed of 8 bytes.
If the address is 1 byte, the lower 3 bits of the pointers 113 and 114 of the instruction currently being executed are used), 7 and 8 are the effective byte number 105 of the first instruction prefetch queue 1 and the second instruction prefetch queue 2, respectively. 106, a write enable signal to the first instruction prefetch queue 1 and the second instruction prefetch queue 2, and an address output to the storage device to the first write address counter 3 and the second write address counter 4. A first valid byte number counter that outputs permission signals 107 and 108, a second valid byte number counter, and 9 are the first instruction prefetch queue 1, the first write address counter 3, and the first read address counter. 5, a first instruction prefetch execution unit composed of a first valid byte number counter 7, 10 is the second instruction prefetch queue 2, a second instruction prefetch queue Can included the address counter 4, a second read address counter 6, a second instruction prefetch execution unit composed of a second active byte counter 8.

【0013】11は命令データを解読し、解読情報信号
を出力する命令解読装置(命令プリフェッチ装置には含
まない)、12は前記第一の書き込みアドレスカウンタ
3の出力するアドレス109と、前記第二の書き込みア
ドレスカウンタ4の出力するアドレス110とを選択す
るマルチプレクサ、13は前記第一の有効バイト数カウ
ンタ7が出力する有効バイト数111と前記第二の有効
バイト数カウンタ8が出力する有効バイト数112とを
選択するためのマルチプレクサ、14は前記第一の読み
出しアドレスカウンタ5が出力する実行中の命令のポイ
ンタ113と前記第二の読み出しアドレスカウンタ6が
出力する実行中の命令のポインタ114とを選択するマ
ルチプレクサ、15は、前記第一の命令先取りキュー1
が出力する命令データ115と前記第二の命令先取りキ
ュー2が出力する命令データ116とを選択するための
マルチプレクサ、16は前記第一の書き込みアドレスカ
ウンタ3が記憶装置に対して出力する前記アドレス10
0と前記第二の書き込みアドレスカウンタ4が記憶装置
に対して出力する前記アドレス101とを選択するマル
チプレクサ、17は、前記マルチプレクサ12の出力1
17と、先取りした命令データのバイト数118を加算
するための加算器であり、前記加算器17の出力119
によって前記第一の書き込みアドレスカウンタ3あるい
は第二の書き込みアドレスカウンタ4は更新される。1
8は前記マルチプレクサ13の出力120と、解読の終
了した命令のバイト数127を減算するための減算器、
19は前記減算器の出力121と先取りした命令データ
のバイト数118を加算するための加算器であり、前記
加算器19の出力122によって前記第一の有効バイト
数カウンタ7あるいは第二の有効バイト数カウンタ8は
更新される。
Reference numeral 11 is an instruction decoding device (not included in the instruction prefetch device) for decoding instruction data and outputting a decoding information signal, and 12 is an address 109 output by the first write address counter 3 and the second Of the write address counter 4 and a multiplexer 13 for selecting the address 110 output from the write address counter 4, and the number 13 of valid bytes output from the first valid byte number counter 7 and the second valid byte number counter 8 A multiplexer for selecting 112 and a pointer 14 for an executing instruction output by the first read address counter 5 and a pointer 114 for an executing instruction output by the second read address counter 6. The multiplexer to select, 15 is the first instruction prefetch queue 1
For selecting the instruction data 115 output by the second instruction prefetch queue 2 and the instruction data 116 output by the second instruction prefetch queue 2, 16 indicates the address 10 output by the first write address counter 3 to the storage device.
0 is a multiplexer for selecting 0 and the address 101 output to the storage device by the second write address counter 4, 17 is an output 1 of the multiplexer 12.
17 is an adder for adding the byte number 118 of the prefetched instruction data, and the output 119 of the adder 17
Thus, the first write address counter 3 or the second write address counter 4 is updated. 1
Reference numeral 8 denotes a subtracter for subtracting the output 120 of the multiplexer 13 and the byte number 127 of the decoded instruction,
Reference numeral 19 denotes an adder for adding the output 121 of the subtracter and the byte number 118 of the prefetched instruction data, and the output 122 of the adder 19 causes the first valid byte counter 7 or the second valid byte to be added. The number counter 8 is updated.

【0014】20は、前記マルチプレクサ14の出力1
23と解読の終了した命令のバイト数127を加算する
ための加算器であり、前記加算器20の出力124によ
って前記第一の読み出しアドレスカウンタ5あるいは第
二の読み出しアドレスカウンタ6は更新される。21は
前記マルチプレクサ12,13,14,15,16の制
御および、前記加算器17,19,20、および減算器
18への入力を与える命令先取り制御装置である。
Reference numeral 20 denotes an output 1 of the multiplexer 14.
23 is an adder for adding the number of bytes 127 of the instruction which has been decoded and 127, and the first read address counter 5 or the second read address counter 6 is updated by the output 124 of the adder 20. Reference numeral 21 is an instruction prefetch control device for controlling the multiplexers 12, 13, 14, 15, 16 and providing inputs to the adders 17, 19, 20 and subtractor 18.

【0015】以上のように構成された本実施例の命令プ
リフェッチ装置について、以下、(1)シングルタスク
処理時の条件分岐命令以外の命令実行時、(2)シング
ルタスク処理時の条件分岐命令実行時、(3)マルチタ
スク処理時の3つの場合に分けて動作を説明する。
With respect to the instruction prefetch device of the present embodiment configured as described above, hereinafter, (1) execution of instructions other than conditional branch instructions during single task processing, (2) execution of conditional branch instructions during single task processing At this time, the operation will be described in three cases (3) multitask processing.

【0016】(1)条件分岐命令およびマルチタスク処
理以外の場合の命令の先取りについて説明する。
(1) Prefetching of instructions other than conditional branch instructions and multitask processing will be described.

【0017】この場合、前記第二の命令先取り実行部1
0は使用せず、前記第一の命令先取り実行部9を使用す
るため、前記命令先取り制御装置21は、前記マルチプ
レクサ12,13,14,15,16に前記第一の命令
先取り実行部9の出力するデータを選択するように、セ
レクト信号128を出力し、また前記、加算器17,1
9,20の出力によって、前記第一の書き込みアドレス
カウンタ3、第一の有効バイト数カウンタ7、第一の読
み出しアドレスカウンタ5が更新されるものとする。
In this case, the second instruction prefetch execution unit 1
Since 0 is not used and the first instruction prefetch execution unit 9 is used, the instruction prefetch control device 21 causes the multiplexers 12, 13, 14, 15, 16 to execute the first instruction prefetch execution unit 9 of the first instruction prefetch execution unit 9. The select signal 128 is output so as to select the data to be output, and the adders 17 and 1
It is assumed that the outputs of 9 and 20 update the first write address counter 3, the first valid byte number counter 7, and the first read address counter 5.

【0018】また、前記第一の命令先取りキュー1への
書き込み許可信号であり、記憶装置へのアドレス出力許
可信号である107の出力される条件(以下、命令先取
り許可条件)は、第一の命令先取りキュー1の構成バイ
ト数−第一の有効バイト数カウンタ7≧先取りする命令
データのバイト数とする。
The condition for outputting 107, which is a write permission signal to the first instruction prefetch queue 1 and an address output permission signal to the storage device (hereinafter, instruction prefetch permission condition), is The number of bytes of the instruction prefetch queue 1 minus the first valid byte number counter 7 ≧ the number of bytes of instruction data to be prefetched.

【0019】まず、命令のスタート時は、前記第一の有
効バイト数カウンタ7は零であるため、前記書き込み許
可信号、アドレス出力許可信号107が出力されてお
り、前記第一の書き込みアドレスカウンタ3と第一の読
み出しアドレスカウンタ5に記憶装置からスタートアド
レス129が格納され、前記第一の書き込みアドレスカ
ウンタ3は、アドレス100(前記スタートアドレス1
29と同じ)を出力することにより、記憶装置に先取り
する命令データのアドレス102が指示され、前記第一
の書き込みアドレスカウンタが指示する書き込みアドレ
ス103に従って前記第一の命令先取りキュー1に命令
データ130が格納され、前記命令先取り制御装置は、
先取りした命令データのバイト数118を出力し、前記
第一の書き込みアドレスカウンタ3が出力するアドレス
(スタートアドレス129と同じ)109すなわちマル
チプレクサの出力117と加算器17で加算され、前記
第一の書き込みアドレスカウンタ3は更新され、同様に
前記第一の有効バイト数カウンタ7も加算器19の出力
により更新される。そして、前記第一の読み出しアドレ
スカウンタ5が指示する読み出しアドレス125に従っ
て命令データ115を出力することにより、命令データ
解読装置11は命令データ119を受け取り、命令の解
読を開始し、解読の終了した命令データについてはその
バイト数を示す信号131を前記命令先取り制御装置2
1に送ることにより前記命令先取り制御装置21は前記
加算器20と前記減算器18に対して解読の終了した命
令データのバイト数128を出力することにより、前記
第一の読み出しアドレスカウンタ5すなわち現在実行中
の命令のポインタは更新され、また前記第一の有効バイ
ト数カウンタ7も更新される。そして、1つの命令の解
読および実行が終了したときに命令解読終了信号132
が出力され、前記命令先取り制御装置21は命令データ
読み出し許可信号133を前記第一の命令先取りキュー
1に指示し、前記読み出しアドレス125に従って命令
データの読み出しを行なう。また、前記命令先取り許可
条件が成立しているときは常に命令データの先取りがで
きる。
First, at the start of an instruction, the first valid byte counter 7 is zero, so the write enable signal and the address output enable signal 107 are output, and the first write address counter 3 is output. And a start address 129 is stored in the first read address counter 5 from the storage device, and the first write address counter 3 stores the address 100 (start address 1
The same as 29) is output to indicate the address 102 of the instruction data to be prefetched to the storage device, and the instruction data 130 to the first instruction prefetch queue 1 according to the write address 103 indicated by the first write address counter. Is stored, the instruction prefetch control device is
The number of bytes 118 of the prefetched instruction data is output, and the address (the same as the start address 129) 109 output from the first write address counter 3, that is, the output 117 of the multiplexer is added by the adder 17, and the first write is performed. The address counter 3 is updated, and similarly, the first valid byte number counter 7 is also updated by the output of the adder 19. Then, by outputting the instruction data 115 according to the read address 125 designated by the first read address counter 5, the instruction data decoding device 11 receives the instruction data 119, starts decoding the instruction, and finishes decoding the instruction. For data, a signal 131 indicating the number of bytes is sent to the instruction prefetch control device 2
The instruction prefetch control device 21 outputs the byte number 128 of the decoded instruction data to the adder 20 and the subtractor 18 by sending the data to the first read address counter 5, that is, the current read address counter 5. The pointer of the instruction being executed is updated, and the first valid byte number counter 7 is also updated. Then, when the decoding and execution of one instruction are completed, the instruction decoding end signal 132
Is output, the instruction prefetch control device 21 instructs the instruction data read enable signal 133 to the first instruction prefetch queue 1 to read the instruction data according to the read address 125. Further, the instruction data can be prefetched whenever the instruction prefetch permission condition is satisfied.

【0020】このように、前記第一の命令先取りキュー
1への書き込みおよび読み出しを行うことにより効率よ
く命令の先取りができる。
As described above, the instruction can be prefetched efficiently by writing and reading the first instruction prefetch queue 1.

【0021】(2)次に条件分岐命令実行時の、条件成
立時と条件不成立時の命令データの先取りについて説明
する。
(2) Next, the prefetching of instruction data when the condition is satisfied and when the condition is not satisfied when the conditional branch instruction is executed will be described.

【0022】また前記第一の命令先取り実行部9と第二
の命令先取り実行部10は機能は全く同じであるため、
前記第二の命令先取り実行部10での命令先取りの詳細
は省略する。条件分岐命令を実行する以前の命令は、前
述(1)の通りに前記第一の命令先取り実行部9を使用
して命令の先取りおよび読み出しが行われ、条件分岐命
令実行時は、条件不成立時すなわち分岐しない場合の命
令データは前記第二の命令先取りキュー2に先取りし条
件成立時すなわち分岐する場合は、前記命令データ解読
装置11が解読した命令データを条件分岐命令だと判断
すると、分岐先の命令データのアドレス134を解読し
て出力し、前記第二の書き込みアドレスカウンタ4と第
二の読み出しアドレスカウンタ6に分岐先のアドレス1
34が格納され、前記第一の命令先取り実行部と同様に
して記憶装置から命令データ135が前記第二の命令先
取りキュー2に格納される。そして、条件分岐命令実行
終了後、前記命令データ解読装置11は命令先取り制御
装置に結果フラグ136を出力し、条件不成立の場合
は、引き続き前記第一の命令先取り実行部9を使用し
て、命令の先取りを続けていくが、条件成立の場合、前
記命令先取り制御装置21は前記第二の命令先取り実行
部10の出力するデータを選択するように前記セレクト
信号128を出力する。
Since the first instruction prefetch execution unit 9 and the second instruction prefetch execution unit 10 have exactly the same functions,
Details of the instruction prefetch in the second instruction prefetch execution unit 10 will be omitted. The instruction before the conditional branch instruction is executed is prefetched and read by using the first instruction prefetch execution unit 9 as described in (1) above, and when the conditional branch instruction is executed, the condition is not satisfied. That is, when the instruction data in the case of not branching is prefetched to the second instruction prefetch queue 2 and the condition is satisfied, that is, in the case of branching, if the instruction data decoded by the instruction data decoding device 11 is judged to be a conditional branch instruction, the branch destination Address 134 of the instruction data is output by decoding, and the branch destination address 1 is sent to the second write address counter 4 and the second read address counter 6.
34 is stored, and instruction data 135 is stored in the second instruction prefetch queue 2 from the storage device in the same manner as the first instruction prefetch execution unit. After the execution of the conditional branch instruction, the instruction data decoding device 11 outputs the result flag 136 to the instruction prefetch control device, and when the condition is not satisfied, the instruction prefetch execution unit 9 is continuously used to If the condition is satisfied, the instruction prefetch control device 21 outputs the select signal 128 so as to select the data output from the second instruction prefetch execution unit 10.

【0023】分岐して以降の命令データの先取りは前記
第二の命令先取り実行部10を使用して実行するが、さ
らに条件分岐命令を実行する場合、分岐しない場合の命
令データの先取りは、前記第二の命令先取り実行部10
を使用し、分岐した場合の命令データの先取りは前記第
一の命令先取り実行部9を使用する。
Prefetching of instruction data subsequent to branching is executed by using the second instruction prefetching execution unit 10. If a conditional branch instruction is further executed, prefetching of instruction data when not branching is performed as described above. Second instruction prefetch execution unit 10
The first instruction prefetch execution unit 9 is used for prefetching instruction data when a branch occurs.

【0024】(3)マルチタスク処理時の命令先取りに
ついて説明する。 まず、一番最初に実行するタスクは、前記(1)と同様
に前記第一の命令先取り実行部9を使用して、命令先取
りを行ない、次に実行するタスクの命令データの先取り
は、タスクを切り換える前に、前記第二の書き込みアド
レスカウンタ4と第二の読み出しアドレスカウンタ6に
次に実行するタスクのスタートアドレス137を格納
し、前記第二の命令先取りキュー2に命令データ135
を先取りしておく。そしてタスクを切り換えるときに前
記命令先取り制御装置21は前記セレクタ信号128を
切り換え、前記第二の命令先取り実行部10の出力デー
タが選択され、次のタスクの実行が始まる。さらに次の
タスクの命令データを先取りする場合は、前記第一の命
令先取り実行部9を使用する。
(3) Instruction prefetching during multitask processing will be described. First, the task to be executed first performs instruction prefetching using the first instruction prefetching execution unit 9 as in (1) above, and prefetching the instruction data of the task to be executed next is Before switching between the two, the start address 137 of the next task to be executed is stored in the second write address counter 4 and the second read address counter 6, and the instruction data 135 is stored in the second instruction prefetch queue 2.
In advance. When switching the task, the instruction prefetch control device 21 switches the selector signal 128, the output data of the second instruction prefetch execution unit 10 is selected, and execution of the next task starts. When prefetching the instruction data of the next task, the first instruction prefetch execution unit 9 is used.

【0025】このようにマルチタスク処理の場合も第一
の命令先取り実行部と第二の命令実行部を交互に使用す
る。
As described above, also in the case of multitask processing, the first instruction prefetch execution section and the second instruction execution section are alternately used.

【0026】[0026]

【発明の効果】本発明は、前記命令先取りキューと第
一,第二,第三の手段を2組設けることにより、条件分
岐命令実行時に条件成立時の命令データと条件不成立時
の命令データを先取りでき、また、マルチタスク処理時
に次に実行するタスクの命令データの先取りができる優
れた命令プリフェッチ装置を実現できるものである。
According to the present invention, by providing two sets of the instruction prefetch queue and the first, second and third means, the instruction data when the condition is satisfied and the instruction data when the condition is not satisfied at the time of executing the conditional branch instruction. It is possible to realize an excellent instruction prefetch device capable of prefetching and prefetching instruction data of a task to be executed next at the time of multitask processing.

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

【図1】本発明の一実施例における命令プリフェッチ装
置の構成図
FIG. 1 is a configuration diagram of an instruction prefetch device according to an embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1 第一の命令先取りキュー 2 第二の命令先取りキュー 3 第一の書き込みアドレスカウンタ 4 第二の書き込みアドレスカウンタ 5 第一の読み出しアドレスカウンタ 6 第二の読み出しアドレスカウンタ 7 第一の有効バイト数カウンタ 8 第二の有効バイト数カウンタ 9 第一の命令先取り実行部 10 第二の命令先取り実行部 11 命令データ解読装置 12〜16 マルチプレクサ 17,19,20 加算器 18 減算器 21 命令先取り制御装置 1 1st instruction prefetch queue 2 2nd instruction prefetch queue 3 1st write address counter 4 2nd write address counter 5 1st read address counter 6 2nd read address counter 7 1st effective byte number counter 8 Second Effective Byte Count Counter 9 First Instruction Prefetch Execution Unit 10 Second Instruction Prefetch Execution Unit 11 Instruction Data Decoding Device 12-16 Multiplexer 17, 19, 20 Adder 18 Subtractor 21 Instruction Prefetch Control Device

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】記憶装置から命令データを先取りし、格納
しておくための命令先取りキューを2組備え、それに対
応して先取りする命令データのアドレスを示し、同時に
前記命令先取りキューの書き込みアドレスを示す第一の
手段と、現在実行中の命令データのポインタを示し、同
時に前記命令先取りキューの読み出しアドレスを示す第
二の手段と、前記命令先取りキュー内の有効な命令デー
タのバイト数を示す第三の手段をそれぞれ2組備え、シ
ングルタスク実行時に条件分岐命令を実行する場合は、
2組の前記命令先取りキュー、第一,第二,第三の手段
を同時に使用し、条件不成立時の命令データは条件分岐
命令を実行する以前の命令を先取りした際に使用した方
の命令先取りキューに先取りし、分岐条件成立時の命令
データは、もう一方の命令先取りキューに先取りするこ
とにより、条件分岐命令実行後、分岐条件不成立の場合
は、条件分岐命令を実行する以前の命令を先取りした際
に使用していた方の命令先取りキューに先取りされた命
令データを選択し、分岐条件成立の場合はもう一方の命
令先取りキューに先取りされた命令データを選択し、命
令の実行を進め、継続してマルチタスク処理を行う場合
は、2組の命令先取りキュー、第一,第二,第三の手段
を同時に使用し実行中のタスクについては実行中のタス
クが使用している方の命令先取りキューに命令データを
先取りし、またタスクを切換える前にもう一方の命令先
取りキューに次に実行するタスクの命令データを先取り
し、タスク切換え時には、次に実行するタスクの命令デ
ータが先取りされている方の命令先取りキューの命令デ
ータを選択し、命令実行を進め、 タスクを切り換えるときは、2組の命令先取りキューに
交互に命令データの先取りを行なうことを特徴とする命
令プリフェッチ装置。
1. A set of two instruction prefetch queues for prefetching and storing instruction data from a storage device, corresponding to the address of the prefetched instruction data, and at the same time a write address of the instruction prefetch queue. First means for indicating, a pointer for instruction data currently being executed, second means for indicating a read address of the instruction prefetch queue at the same time, and first means for indicating the number of bytes of valid instruction data in the instruction prefetch queue When two sets of three means are provided and a conditional branch instruction is executed during single task execution,
Two sets of the instruction prefetch queues, the first, second, and third means are used at the same time, and the instruction data when the condition is not satisfied is the instruction prefetch used when the instruction before executing the conditional branch instruction is prefetched. By prefetching to the queue and prefetching the instruction data when the branch condition is satisfied to the other instruction prefetch queue, if the branch condition is not satisfied after executing the conditional branch instruction, the instruction before executing the conditional branch instruction is prefetched. Select the instruction data prefetched to the instruction prefetch queue that was used when doing, and if the branch condition is satisfied, select the instruction data prefetched to the other instruction prefetch queue and proceed with the execution of the instruction. When continuously performing multi-task processing, two sets of instruction prefetch queues, first, second, and third means are used at the same time, and the currently executing task is used by the currently executing task. The instruction data of the task to be executed next is prefetched to the other instruction prefetch queue before switching the task, and the instruction data of the task to be executed next is prefetched when the task is switched. An instruction prefetch device characterized by selecting instruction data in the instruction prefetch queue of one of the stored instruction prefetch queues, advancing instruction execution, and prefetching instruction data in two sets of instruction prefetch queues alternately when switching tasks.
JP27269592A 1992-10-12 1992-10-12 Instruction prefetching device Pending JPH06124205A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27269592A JPH06124205A (en) 1992-10-12 1992-10-12 Instruction prefetching device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27269592A JPH06124205A (en) 1992-10-12 1992-10-12 Instruction prefetching device

Publications (1)

Publication Number Publication Date
JPH06124205A true JPH06124205A (en) 1994-05-06

Family

ID=17517510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27269592A Pending JPH06124205A (en) 1992-10-12 1992-10-12 Instruction prefetching device

Country Status (1)

Country Link
JP (1) JPH06124205A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6161158A (en) * 1997-04-25 2000-12-12 Nec Corporation Bus arbitration apparatus and method wherein each module has two in-module arbiters

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6373335A (en) * 1986-09-16 1988-04-02 Nec Corp Information processor
JPS6389930A (en) * 1986-09-21 1988-04-20 Matsushita Electric Ind Co Ltd Microprogram controller
JPS63318634A (en) * 1987-06-23 1988-12-27 Nec Corp Instruction prefetching system
JPH01126732A (en) * 1987-11-12 1989-05-18 Matsushita Electric Ind Co Ltd Information processor
JPH0324624A (en) * 1989-06-21 1991-02-01 Mitsubishi Electric Corp Miroprocessor
JPH03147134A (en) * 1989-11-02 1991-06-24 Oki Electric Ind Co Ltd Instruction sequence controller
JPH03188530A (en) * 1989-12-18 1991-08-16 Matsushita Electric Ind Co Ltd Program prefetching device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6373335A (en) * 1986-09-16 1988-04-02 Nec Corp Information processor
JPS6389930A (en) * 1986-09-21 1988-04-20 Matsushita Electric Ind Co Ltd Microprogram controller
JPS63318634A (en) * 1987-06-23 1988-12-27 Nec Corp Instruction prefetching system
JPH01126732A (en) * 1987-11-12 1989-05-18 Matsushita Electric Ind Co Ltd Information processor
JPH0324624A (en) * 1989-06-21 1991-02-01 Mitsubishi Electric Corp Miroprocessor
JPH03147134A (en) * 1989-11-02 1991-06-24 Oki Electric Ind Co Ltd Instruction sequence controller
JPH03188530A (en) * 1989-12-18 1991-08-16 Matsushita Electric Ind Co Ltd Program prefetching device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6161158A (en) * 1997-04-25 2000-12-12 Nec Corporation Bus arbitration apparatus and method wherein each module has two in-module arbiters

Similar Documents

Publication Publication Date Title
JPS63175934A (en) Data processor
JPH0895804A (en) Central processor
JPH0769812B2 (en) Data processing device
KR20010040919A (en) Microprocessor including multiple register files occupying the same logical space
JP3970609B2 (en) Processor system
JP3723020B2 (en) Branch history information writing control apparatus and method
JPH06124205A (en) Instruction prefetching device
JPH04287125A (en) Information processor
WO1984000833A1 (en) Pre-execution next address calculating mechanism
JPS6125166B2 (en)
JP2668987B2 (en) Data processing device
JPH0520010A (en) Register file
KR920004280B1 (en) Data processing apparatus
JP3305841B2 (en) Program control unit
JPS60231241A (en) Program advance fetch control system
JPH10283185A (en) Processor
JP2583614B2 (en) Vector arithmetic unit
JPS60250438A (en) Information processor
JPH0347536B2 (en)
JPS62251943A (en) Memory address control system for channel device
JPH06103065A (en) Instruction prefetch device
JPH06250854A (en) Instruction prefetching device
JPH07210384A (en) Floating point arithmetic unit
JPH11327929A (en) Program controller
JPH01296345A (en) Information processor