JPH04369038A - Instruction prefetching device - Google Patents

Instruction prefetching device

Info

Publication number
JPH04369038A
JPH04369038A JP14610891A JP14610891A JPH04369038A JP H04369038 A JPH04369038 A JP H04369038A JP 14610891 A JP14610891 A JP 14610891A JP 14610891 A JP14610891 A JP 14610891A JP H04369038 A JPH04369038 A JP H04369038A
Authority
JP
Japan
Prior art keywords
instruction data
instruction
bytes
queue memory
queue
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.)
Granted
Application number
JP14610891A
Other languages
Japanese (ja)
Other versions
JP2682761B2 (en
Inventor
Katsuya Fujimura
克也 藤村
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 JP3146108A priority Critical patent/JP2682761B2/en
Publication of JPH04369038A publication Critical patent/JPH04369038A/en
Application granted granted Critical
Publication of JP2682761B2 publication Critical patent/JP2682761B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To improve through-put by compacting the size of a circuit while allowing the circuit to correspond to various instruction word lengths and minimizing a queue state to an instruction execution request. CONSTITUTION:A queue memory 2 forming a series of instruction data storing area of kXn byte length by connecting k n-byte length instruction data temperarily storing registers 2a to a ROM 1 for storing microcomputer program of n-byte reference instruction word length is included in this instruction prefetch device. The device is also provided with a queue management part 5 for controlling the prefetching of each n bytes out of the instruction data of j-byte optional word length from the ROM 1 to the queue memory 2 while always grasping the leading address of instruction data to be read out next from the queue memory 2, the total number of bytes of effective instruction data stored in the memory 2, the batch reading of j-byte length instruction data from the memory 2 by a selector 3 and the transfer of the instruction data to an instruction decoding part 4.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、命令のフェッチと現在
の処理の実行とを並行して行うために、ROM等のプロ
グラムメモリに格納されたマイクロコンピュータの命令
データを順次先取りし、該先取りした命令データを実行
に先立って命令解読部にて順次解読させるための命令プ
リフェッチ装置に関するものである。
[Industrial Application Field] The present invention sequentially prefetches instruction data of a microcomputer stored in a program memory such as a ROM, in order to fetch instructions and execute current processing in parallel. The present invention relates to an instruction prefetch device for sequentially decoding instruction data in an instruction decoding section prior to execution.

【0002】0002

【従来の技術】まず、従来の命令プリフェッチ装置につ
いて説明する。図6は従来の命令プリフェッチ装置の構
成を示したブロック図、図7は図6中のキュー22の詳
細構成と該キューを通した命令データの流れとを示した
概念図である。
2. Description of the Related Art First, a conventional instruction prefetch device will be explained. FIG. 6 is a block diagram showing the configuration of a conventional instruction prefetch device, and FIG. 7 is a conceptual diagram showing the detailed configuration of the queue 22 in FIG. 6 and the flow of instruction data through the queue.

【0003】マイクロコンピュータの命令は、一般に命
令の種類やその動作を決めるオペコード部とその命令の
動作を修飾するオペランド部とにより構成される。図6
及び図7に示した従来の命令プリフェッチ装置は、全体
がオペコード部の語長(命令オペコード幅)mバイトを
基本サイズとして構成されたものであって、プログラム
を構成する複数の命令データが格納されたROM21か
ら命令データをmバイト単位で順次プリフェッチ(先取
り)し、該プリフェッチした命令データを同じくmバイ
ト単位で命令解読部23へ転送して該命令解読部にて順
次解読させるものである。このために、本命令プリフェ
ッチ装置はキュー22とシーケンス制御部24とを有す
る。
[0003] Microcomputer instructions generally consist of an operation code section that determines the type of instruction and its operation, and an operand section that modifies the operation of the instruction. Figure 6
The conventional instruction prefetch device shown in FIG. The instruction data is sequentially prefetched from the ROM 21 in units of m bytes, and the prefetched instruction data is also transferred in units of m bytes to the instruction decoder 23, where the instruction decoder 23 sequentially decodes them. For this purpose, the present instruction prefetch device includes a queue 22 and a sequence control section 24.

【0004】キュー22は、図7に示すように、ROM
21に対して直列に配置されかつ互いの間で命令データ
を順次シフトさせるi段のmバイト長命令データ一時格
納用レジスタ22aを有し、命令データがFIFO(フ
ァーストイン・ファーストアウト)形式で読み書きされ
るものである。ただし、該キュー22から読み出されて
命令解読部23へ転送される命令データは、以後特にキ
ューデータと呼ぶ。
[0004] The queue 22 is a ROM, as shown in FIG.
21 and has an i-stage m-byte long instruction data temporary storage register 22a that sequentially shifts instruction data between them, and the instruction data is read and written in FIFO (first-in first-out) format. It is something that will be done. However, the instruction data read from the queue 22 and transferred to the instruction decoder 23 will be particularly referred to as queue data hereinafter.

【0005】シーケンス制御部24は、キュー22への
命令データのプリフェッチが終了する毎に更新される該
キュー22の空き領域情報が与えられ、かつ命令解読部
23による命令データの解読が終了する毎に命令解読バ
イト数情報すなわち該解読された命令データのバイト数
に関する情報が与えられる。該シーケンス制御部24は
、これらの情報を受けてキュー22のFIFO動作を制
御するためのシフトクロック信号を出力するとともに、
ROM21から次にプリフェッチされるべき命令データ
の先頭アドレスを保持するためのアドレスポインタを有
して該アドレスポインタの内容をROMアドレスとして
出力するものである。
[0005] The sequence control unit 24 is provided with free space information of the queue 22, which is updated every time the prefetching of instruction data to the queue 22 is completed, and every time the instruction decoding unit 23 finishes decoding the instruction data. The instruction decoded byte number information, that is, the information regarding the number of bytes of the decoded instruction data is given to the instruction decoded byte number information. The sequence control unit 24 receives this information and outputs a shift clock signal for controlling the FIFO operation of the queue 22, and
It has an address pointer for holding the start address of the next instruction data to be prefetched from the ROM 21, and outputs the contents of the address pointer as a ROM address.

【0006】以上に説明した従来の命令プリフェッチ装
置の動作を説明する。キュー22の全ての命令データ一
時格納用レジスタ22aが空である初期状態では、シー
ケンス制御部24は、まずキュー22がいっぱいになる
まで、空きサイクルを利用してROM21からキュー2
2へ命令データをアドレスポインタに従ってmバイト単
位で順次プリフェッチさせる。この際、先にプリフェッ
チされた命令データは、シーケンス制御部24から与え
られるシフトクロック信号により各命令データ一時格納
用レジスタ22aの間を進んでいく。
The operation of the conventional instruction prefetch device described above will now be described. In the initial state in which all instruction data temporary storage registers 22a of the queue 22 are empty, the sequence control unit 24 first uses empty cycles to read data from the ROM 21 to the queue 2 until the queue 22 is full.
2, the instruction data is sequentially prefetched in units of m bytes according to the address pointer. At this time, the previously prefetched instruction data advances between the respective instruction data temporary storage registers 22a by a shift clock signal given from the sequence control section 24.

【0007】一方、キュー22内にプリフェッチされた
命令データは、同じくシーケンス制御部24から与えら
れるシフトクロック信号によりmバイト単位のキューデ
ータとして命令解読部23へ順次転送される。命令解読
部23は、命令解読に必要なオペコード部とオペランド
部とを獲得したうえで命令解読を実行する。1つの命令
の解読が終了すると、該命令解読部23は、命令解読バ
イト数情報をシーケンス制御部24へ送って次の命令デ
ータのプリフェッチを促す。
On the other hand, the instruction data prefetched into the queue 22 is sequentially transferred to the instruction decoding section 23 as queue data in units of m bytes by a shift clock signal also applied from the sequence control section 24. The instruction decoding unit 23 executes the instruction decoding after acquiring the opcode part and operand part necessary for the instruction decoding. When the decoding of one instruction is completed, the instruction decoding section 23 sends instruction decoding byte number information to the sequence control section 24 to prompt prefetching of the next instruction data.

【0008】なお、条件分岐命令における分岐条件の成
立/不成立を予測したうえで該予測に基づいてキュー2
2への命令データのプリフェッチを進める分岐予測方式
を採用する場合もあった。ただし、例えば分岐条件が成
立しないものと予測してプリフェッチを進めていたにも
かかわらず実際には該分岐条件が成立した場合は、キュ
ー22内に既にプリフェッチされた命令データが全て無
効になる。このように分岐予測がはずれた場合は、キュ
ー22の全ての命令データ一時格納用レジスタ22aが
空である上記初期状態の場合と同様に、キュー22が命
令データで満たされるまでプリフェッチを行わないと命
令解読部23へキューデータを与えることができない。
[0008] After predicting whether the branch condition in the conditional branch instruction is satisfied or not, the queue 2 is
In some cases, a branch prediction method was adopted in which instruction data was prefetched to the second branch. However, if, for example, the branch condition is predicted to not hold and the prefetch is proceeding, but the branch condition actually holds, then all of the instruction data that has already been prefetched in the queue 22 becomes invalid. If the branch prediction is incorrect in this way, the prefetch must be performed until the queue 22 is filled with instruction data, as in the case of the above initial state where all instruction data temporary storage registers 22a of the queue 22 are empty. Cue data cannot be given to the instruction decoder 23.

【0009】[0009]

【発明が解決しようとする課題】上記のとおり、従来の
命令プリフェッチ装置はキュー22が命令データそのも
のを複数の命令データ一時格納用レジスタ22aの間で
シフトさせるデータシフト方式であったため、初期状態
や分岐予測がはずれた場合はキュー22が命令データで
満たされるまでプリフェッチを行わないと命令解読部2
3へキューデータを与えることができない。したがって
、命令実行要求に対して命令データ一時格納用レジスタ
22aの段数分のシフト時間に相当する待ち状態が発生
し、システムのスループット低下を招いていた。また、
キュー22をデータシフト方式で構成するにはマスター
スレーブ型のフリップフロップを用いる必要があり、回
路が大規模化する問題もあった。
As mentioned above, in the conventional instruction prefetch device, the queue 22 uses a data shift method in which the instruction data itself is shifted between a plurality of instruction data temporary storage registers 22a. If the branch prediction is incorrect, the instruction decoder 2 must perform prefetching until the queue 22 is filled with instruction data.
Unable to give cue data to 3. Therefore, a waiting state corresponding to the shift time corresponding to the number of stages of the instruction data temporary storage register 22a occurs in response to an instruction execution request, resulting in a decrease in system throughput. Also,
In order to configure the queue 22 using a data shift method, it is necessary to use a master-slave type flip-flop, which poses a problem of increasing the scale of the circuit.

【0010】さらに、マイクロコンピュータの命令オペ
コード幅を基本サイズとしたmバイト長の複数の命令デ
ータ一時格納用レジスタ22aを直列に配置し、該命令
データ一時格納用レジスタ22aの間で命令データをm
バイト単位で順次シフトさせるキュー22の構成を採用
していたので、該キュー22の書き込み及び読み出しの
単位がいずれもmバイト単位に限られる問題もあった。 つまり、命令語長がmバイトの倍数長(2mバイト、3
mバイト、…)とは異なるバイト数の命令については、
命令データ一時格納用レジスタ22aの一部が無駄にな
るのである。近年の高機能化・複雑化が進んでいるマイ
クロコンピュータにおいては、その命令語長が多様化し
てきており、上記のように書き込み単位と読み出し単位
とがいずれもmバイトに固定されたキュー22では著し
くスループットを低下させてしまう。
Furthermore, a plurality of instruction data temporary storage registers 22a each having a length of m bytes whose basic size is the instruction operation code width of a microcomputer are arranged in series, and instruction data is stored between the instruction data temporary storage registers 22a.
Since the configuration of the queue 22 is such that the queue is sequentially shifted in units of bytes, there is a problem in that the units of writing and reading from the queue 22 are both limited to units of m bytes. In other words, the instruction word length is a multiple of m bytes (2 m bytes, 3
For instructions with a different number of bytes than m bytes,...),
A part of the instruction data temporary storage register 22a is wasted. In recent years, microcomputers have become more sophisticated and complex, and their instruction word lengths have become more diverse.As mentioned above, the queue 22 in which both the writing unit and the reading unit are fixed to m bytes, This will significantly reduce throughput.

【0011】本発明の目的は、多様な命令語長への対応
を可能にしながら回路規模の縮小化を図り、かつ命令実
行要求に対する待ち状態を最小限におさえてスループッ
トを向上させることにある。
An object of the present invention is to reduce the circuit scale while making it possible to deal with various instruction word lengths, and to improve throughput by minimizing the waiting state for instruction execution requests.

【0012】0012

【課題を解決するための手段】上記の課題を解決するた
めに本発明は、複数の命令データ一時格納用レジスタを
プログラムメモリに対して並列に配置することによって
一連の長い命令データ格納領域を形成したキューメモリ
を採用し、該命令データ格納領域に対する任意語長jバ
イトの命令データの書き込み及び読み出しを可能にする
とともに、該命令データの任意アドレスへの書き込みと
任意アドレスからの読み出しとを同時に実現したもので
ある。
[Means for Solving the Problems] In order to solve the above problems, the present invention forms a series of long instruction data storage areas by arranging a plurality of instruction data temporary storage registers in parallel with a program memory. Adopts a queue memory that makes it possible to write and read instruction data of arbitrary word length j bytes to and from the instruction data storage area, and simultaneously realizes writing and reading of the instruction data to and from any address. This is what I did.

【0013】具体的に説明すると、請求項1の発明は、
標準命令語長nバイトのマイクロコンピュータのプログ
ラムを構成する複数の命令データが格納されたプログラ
ムメモリから任意語長jバイトの命令データを標準命令
語長と一致するnバイト単位で順次プリフェッチし、か
つ該プリフェッチした任意語長jバイトの命令データを
命令解読部にて順次解読させるための命令プリフェッチ
装置であって、次のようなキューメモリ、セレクタ及び
キュー管理部を備えた構成を採用したものである。
[0013] To explain concretely, the invention of claim 1:
Sequentially prefetching instruction data of an arbitrary word length j bytes from a program memory storing a plurality of instruction data constituting a microcomputer program having a standard instruction word length n bytes in units of n bytes that match the standard instruction word length, and This is an instruction prefetching device for sequentially decoding the prefetched instruction data of arbitrary word length j bytes in an instruction decoding section, which adopts the following configuration including a queue memory, a selector, and a queue management section. be.

【0014】すなわち、キューメモリは、各々が標準命
令語長と同じnバイト長を有する複数の命令データ一時
格納用レジスタを備え、該複数の命令データ一時格納用
レジスタが互いに連結されかつプログラムメモリに対し
て並列に配置されてなり、該複数の命令データ一時格納
用レジスタにより構成される任意アドレスへの書き込み
及び任意アドレスからの読み出しが可能な命令データ格
納領域のうち有効かつ未解読の命令データが格納されて
いない空き領域へプログラムメモリから任意語長jバイ
トの命令データが標準命令語長と一致するnバイト単位
で順次プリフェッチされて、任意語長jバイトの複数の
命令データが互いに隙間なく詰め込まれるものである。
That is, the queue memory includes a plurality of instruction data temporary storage registers each having a length of n bytes, which is the same as the standard instruction word length, and the plurality of instruction data temporary storage registers are connected to each other and stored in the program memory. Valid and undeciphered instruction data is stored in the instruction data storage area that is arranged in parallel to the instruction data storage area and can be written to and read from any address, which is configured by the plurality of instruction data temporary storage registers. Instruction data of arbitrary word length j bytes is sequentially prefetched from the program memory into an unstored free area in units of n bytes that match the standard instruction word length, and multiple instruction data of arbitrary word length j bytes are packed into each other without gaps. It is something that can be done.

【0015】またセレクタは、キューメモリ内にプリフ
ェッチされた任意語長jバイトの命令データを該キュー
メモリの指定されたアドレスから読み出し、該読み出し
た任意語長jバイトの命令データを命令解読部へ順次転
送するものである。
[0015] The selector also reads out the instruction data of arbitrary word length j bytes prefetched into the queue memory from the specified address of the queue memory, and sends the read instruction data of arbitrary word length j bytes to the instruction decoding section. The information is transferred sequentially.

【0016】さらにキュー管理部は、キューメモリにお
ける空き領域として少なくとも命令データのプリフェッ
チ単位に一致するnバイト長の領域が確保されたときに
プログラムメモリからキューメモリへの命令データのプ
リフェッチを実行させ、かつ該プリフェッチと並行して
該キューメモリから次に読み出されるべき有効かつ未解
読の命令データの先頭アドレスを該キューメモリに与え
ることによってセレクタによるキューメモリからの命令
データの読み出しと該命令データの転送とを実行させる
ものである。
Further, the queue management section executes prefetching of instruction data from the program memory to the queue memory when at least an n-byte length area corresponding to a prefetch unit of instruction data is secured as a free area in the queue memory; And in parallel with the prefetch, the selector reads the instruction data from the queue memory and transfers the instruction data by giving the queue memory the start address of valid and undeciphered instruction data to be read next from the queue memory. This is what makes it possible to carry out the following.

【0017】請求項2の発明は、キューメモリから次に
読み出されるべき命令データの先頭アドレスと該キュー
メモリ中の命令データのバイト総数とを常に把握しなが
らキューメモリの命令データの任意アドレスへの書き込
みと任意アドレスからの読み出しとを制御するために、
次のキューメモリポインタ、有効バイト数レジスタ、プ
リフェッチ時更新手段、命令解読時更新手段及びプリフ
ェッチ制御部を備えたキュー管理部の構成を採用したも
のである。
According to the second aspect of the invention, the instruction data in the queue memory is read to an arbitrary address while always keeping track of the start address of the instruction data to be read next from the queue memory and the total number of bytes of the instruction data in the queue memory. To control writing and reading from arbitrary addresses,
This configuration employs a queue management section that includes the following queue memory pointer, effective byte number register, update means during prefetch, update means during instruction decoding, and prefetch control section.

【0018】すなわち、キューメモリポインタは、キュ
ーメモリから次に読み出されるべき有効かつ未解読の命
令データの先頭アドレスをキューメモリ読み出しアドレ
スとして常に保持し、該キューメモリ読み出しアドレス
をキューメモリに与えることによってセレクタによるキ
ューメモリからの命令データの読み出しと該命令データ
の転送とを実行させるものである。
That is, the queue memory pointer always holds the first address of valid and undeciphered instruction data to be read next from the queue memory as the queue memory read address, and by giving the queue memory read address to the queue memory. This allows the selector to read instruction data from the queue memory and transfer the instruction data.

【0019】また有効バイト数レジスタは、キューメモ
リ中の有効かつ未解読の命令データのバイト総数を有効
バイト数として常に保持するものである。
The effective byte number register always holds the total number of valid and undeciphered instruction data bytes in the queue memory as the effective byte number.

【0020】さらにプリフェッチ時更新手段は、キュー
メモリへの命令データの標準命令語長と一致するnバイ
ト単位のプリフェッチが終了する毎に、該プリフェッチ
された命令データのバイト数nだけ有効バイト数を増や
すように有効バイト数レジスタを更新するものである。
Furthermore, the prefetch update means updates the number of effective bytes by the number n of bytes of the prefetched instruction data every time a prefetch of n byte units matching the standard instruction word length of the instruction data to the queue memory is completed. This updates the effective byte count register to increase the number of bytes.

【0021】さらに命令解読時更新手段は、命令解読部
による任意語長jバイトの命令データの解読が終了する
毎に該解読された命令データのバイト数jが命令解読部
から与えられ、該解読された命令データのバイト数jが
与えられる毎に、該解読された命令データのバイト数j
だけキューメモリ読み出しアドレスを進めるようにキュ
ーメモリポインタを更新し、かつ該解読された命令デー
タのバイト数jだけ有効バイト数を減らすように有効バ
イト数レジスタを更新するものである。
Furthermore, the instruction decoding update means receives the number j of bytes of the decoded instruction data from the instruction decoder every time the instruction decoder finishes decoding the instruction data of arbitrary word length j bytes, and Every time the number j of bytes of decoded instruction data is given, the number j of bytes of the decoded instruction data
The queue memory pointer is updated to advance the queue memory read address by J, and the effective byte number register is updated to reduce the effective byte number by the number j of bytes of the decoded instruction data.

【0022】最後にプリフェッチ制御部は、キューメモ
リ読み出しアドレスと有効バイト数とからキューメモリ
における空き領域の先頭アドレスと該空き領域のバイト
数とを算出し、該空き領域として少なくとも命令データ
のプリフェッチ単位に一致するnバイト長の領域が確保
されたときに、プログラムメモリに対して次にプリフェ
ッチされるべき命令データの先頭アドレスを指定しかつ
次にプリフェッチされるべき命令データに関するキュー
メモリ書き込みアドレスとしてキューメモリに対して空
き領域の先頭アドレスを指定することによって、プログ
ラムメモリからキューメモリへの命令データのプリフェ
ッチを実行させるものである。
Finally, the prefetch control unit calculates the start address of the free area in the queue memory and the number of bytes of the free area from the queue memory read address and the number of effective bytes, and uses at least the prefetch unit of instruction data as the free area. When an area with a length of n bytes corresponding to By specifying the start address of a free area in the memory, prefetching of instruction data from the program memory to the queue memory is executed.

【0023】[0023]

【作用】請求項1の発明によれば、標準命令語長と同じ
nバイト(一定)長の命令データ一時格納用レジスタが
プログラムメモリに対して複数並列に連結されて、nバ
イトの整数倍のバイト長を有する一連の命令データ格納
領域がキューメモリに形成される。該命令データ格納領
域は、任意アドレスへの書き込み及び任意アドレスから
の読み出しが可能であって、いずれかの位置に空き領域
として少なくともnバイト長の領域が確保されたときに
は、該空き領域へプログラムメモリから任意語長jバイ
トの命令データがnバイト単位で順次プリフェッチされ
る。この際、任意語長jバイトの複数の命令データが互
いに隙間なく命令データ格納領域へ詰め込まれる。
According to the invention of claim 1, a plurality of instruction data temporary storage registers each having a length of n bytes (constant), which is the same as the standard instruction word length, are connected in parallel to the program memory. A series of instruction data storage areas each having a byte length are formed in the queue memory. The instruction data storage area can be written to and read from any address, and when an area of at least n bytes long is secured as an empty area at any position, the program memory is transferred to the empty area. Instruction data of an arbitrary word length of j bytes is sequentially prefetched in units of n bytes. At this time, a plurality of instruction data having an arbitrary word length of j bytes are packed into the instruction data storage area without any gaps between them.

【0024】一方、キュー管理部は次にキューメモリか
ら読み出されるべき有効かつ未解読の命令データの先頭
アドレスを常に管理しており、前記プログラムメモリか
らキューメモリへの命令データのプリフェッチと並行し
て、セレクタはキューメモリ内の任意語長jバイトの命
令データをキュー管理部によって指定されたアドレスか
ら例えば一括して読み出し、該命令データを命令解読部
へ順次転送する。つまり、プリフェッチに必要なnバイ
ト長の空き領域がキューメモリに確保できたときには、
すぐにプログラムメモリからキューメモリへの命令デー
タのプリフェッチが実行され、該プリフェッチされた命
令データはキューメモリが命令データで満たされるのを
待たずに直ちにセレクタによって読み出されて命令解読
部へ転送されるのである。
On the other hand, the queue management section always manages the start address of valid and undeciphered instruction data to be read next from the queue memory, and in parallel with the prefetching of instruction data from the program memory to the queue memory. , the selector reads out instruction data of arbitrary word length j bytes in the queue memory from an address specified by the queue management section, for example, all at once, and sequentially transfers the instruction data to the instruction decoding section. In other words, when the n-byte free space required for prefetching is secured in the queue memory,
Prefetching of instruction data from the program memory to the queue memory is immediately executed, and the prefetched instruction data is immediately read by the selector and transferred to the instruction decoding section without waiting for the queue memory to be filled with instruction data. It is.

【0025】また、請求項2の発明によれば、キューメ
モリから次に読み出されるべき有効かつ未解読の命令デ
ータの先頭アドレスがキューメモリ読み出しアドレスと
してキューメモリポインタに常に保持され、該キューメ
モリ中の有効かつ未解読の命令データのバイト総数が有
効バイト数として有効バイト数レジスタに常に保持され
る。キューメモリポインタの内容は、セレクタによるキ
ューメモリから命令解読部への任意語長jバイトの命令
データの転送と該命令データの解読とが終了する毎に命
令解読時更新手段によりjバイトずつ進められるので、
常にその妥当性が確保される。また、有効バイト数レジ
スタの内容は、プログラムメモリからキューメモリへの
命令データのnバイト単位のプリフェッチが終了する毎
にプリフェッチ時更新手段によりnバイトずつ増やされ
る一方、セレクタによるキューメモリから命令解読部へ
の任意語長jバイトの命令データの転送と該命令データ
の解読とが終了する毎に命令解読時更新手段によりjバ
イトずつ減らされるので、同様に常にその妥当性が確保
される。
According to the second aspect of the invention, the start address of valid and undeciphered instruction data to be read next from the queue memory is always held in the queue memory pointer as the queue memory read address, and The total number of valid and undeciphered instruction data bytes is always held in the valid byte count register as the valid byte count. The contents of the queue memory pointer are advanced by j bytes by the instruction decoding update means each time the selector completes the transfer of instruction data of arbitrary word length j bytes from the queue memory to the instruction decoding section and the decoding of the instruction data. So,
Its validity is always ensured. In addition, the contents of the effective byte count register are incremented by n bytes by the prefetch update means every time the prefetch of instruction data from the program memory to the queue memory in units of n bytes is completed. Each time the transfer of instruction data of an arbitrary word length of j bytes to the instruction data and the decoding of the instruction data are completed, the instruction decoding update means decreases the number by j bytes, so that its validity is also always ensured.

【0026】プリフェッチ制御部は、以上のキューメモ
リポインタ及び有効バイト数レジスタの各内容すなわち
正確なキューメモリ読み出しアドレスと有効バイト数と
に基づいて、キューメモリにおける空き領域の先頭アド
レスと該空き領域のバイト数とを算出する。そして、該
空き領域のバイト数を調べ、該空き領域として少なくと
も命令データのプリフェッチ単位に一致するnバイト長
の領域が確保されたときに、プログラムメモリに対して
次にプリフェッチされるべき命令データの先頭アドレス
を指定するとともに、キューメモリに対して算出した空
き領域の先頭アドレスを次にプリフェッチされるべき命
令データに関するキューメモリ書き込みアドレスとして
指定する。これによって、プログラムメモリからキュー
メモリの空き領域への命令データのプリフェッチが正確
に実行される。一方、キューメモリポインタは、キュー
メモリ読み出しアドレスをキューメモリに与えることに
よって、セレクタによるキューメモリからの命令データ
の読み出しを正確に実行させるのである。
[0026] The prefetch control unit determines the start address of the free area in the queue memory and the start address of the free area based on the contents of the queue memory pointer and the effective byte number register, that is, the accurate queue memory read address and the effective number of bytes. Calculate the number of bytes. Then, the number of bytes of the free area is checked, and when an area with a length of n bytes that matches at least the prefetch unit of instruction data is secured as the free area, the next instruction data to be prefetched from the program memory is In addition to specifying the start address, the start address of the free area calculated for the queue memory is specified as the queue memory write address for the next instruction data to be prefetched. Thereby, prefetching of instruction data from the program memory to the free area of the queue memory is accurately executed. On the other hand, the queue memory pointer allows the selector to accurately read instruction data from the queue memory by providing a queue memory read address to the queue memory.

【0027】[0027]

【実施例】以下、本発明の実施例について図面を参照し
ながら説明する。図1は本発明の一実施例における命令
プリフェッチ装置の構成を示したブロック図である。
Embodiments Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of an instruction prefetch device in an embodiment of the present invention.

【0028】同図に示した命令プリフェッチ装置は、標
準命令語長nバイトのマイクロコンピュータの複数の命
令データが格納されたROM1から任意語長jバイトの
命令データをnバイト単位で順次プリフェッチし、かつ
該プリフェッチした任意語長jバイトの命令データを命
令解読部4にて順次解読させるものであって、キューメ
モリ2、セレクタ3及びキュー管理部5を備える。
The instruction prefetch device shown in the figure sequentially prefetches instruction data of an arbitrary word length of j bytes in units of n bytes from the ROM 1 in which a plurality of instruction data of a microcomputer with a standard instruction word length of n bytes is stored. The prefetched instruction data of arbitrary word length j bytes is sequentially decoded by an instruction decoding section 4, and includes a queue memory 2, a selector 3, and a queue management section 5.

【0029】キューメモリ2は、k個(kは2以上の整
数)の命令データ一時格納用レジスタ2aがROM1に
対して並列に配置されたものである。各命令データ一時
格納用レジスタ2aはnバイト長であり、互いに連結さ
れて全体でk×nバイト長の一連の命令データ格納領域
を構成する。このキューメモリ2の命令データ格納領域
は、ROM1からnバイト単位でプリフェッチされた任
意語長jバイトの命令データを一時格納するものであっ
て、任意アドレスへの書き込み及び任意アドレスからの
読み出しが可能である。
The queue memory 2 has k (k is an integer of 2 or more) instruction data temporary storage registers 2a arranged in parallel with the ROM 1. Each instruction data temporary storage register 2a has a length of n bytes, and is connected to each other to form a series of instruction data storage areas having a total length of k×n bytes. The instruction data storage area of the queue memory 2 temporarily stores instruction data of an arbitrary word length j bytes prefetched from the ROM 1 in units of n bytes, and can be written to and read from any address. It is.

【0030】セレクタ3は、キューメモリ2内にプリフ
ェッチされた任意語長jバイトの命令データを該キュー
メモリ2の指定されたアドレスから読み出し、該読み出
した任意語長jバイトの命令データをキューメモリデー
タとして命令解読部4へ順次転送するものである。
The selector 3 reads the prefetched instruction data of arbitrary word length j bytes into the queue memory 2 from the specified address of the queue memory 2, and transfers the read instruction data of arbitrary word length j bytes to the queue memory. The data is sequentially transferred to the instruction decoder 4 as data.

【0031】キュー管理部5は、キューメモリ2から次
に読み出されるべき命令データの先頭アドレスと該キュ
ーメモリ2中の命令データのバイト総数とを常に把握し
ながらROM1からキューメモリ2へのnバイト単位の
命令データのプリフェッチを制御するとともに、セレク
タ3によるキューメモリ2からのjバイト長の命令デー
タの一括読み出し及び該命令データの命令解読部4への
転送を制御するものである。このために、キュー管理部
5は、キューメモリ2からプリフェッチ終了信号を受信
し、命令解読部4から命令解読終了信号とともに命令解
読バイト数情報を受けて、命令データのプリフェッチの
ためにROM1に対してROMアドレスを、キューメモ
リ2に対してキューメモリ書き込みアドレスを各々与え
るとともに、キューメモリ2からの命令データの読み出
しのために該キューメモリ2に対してキューメモリ読み
出しアドレスを与える。
The queue management unit 5 transfers n bytes from the ROM 1 to the queue memory 2 while always keeping track of the start address of the next instruction data to be read from the queue memory 2 and the total number of bytes of instruction data in the queue memory 2. It controls the prefetching of unit instruction data, and also controls the batch reading of j-byte length instruction data from the queue memory 2 by the selector 3 and the transfer of the instruction data to the instruction decoding section 4. For this purpose, the queue management section 5 receives a prefetch end signal from the queue memory 2, receives the instruction decoding end signal and instruction decoding byte number information from the instruction decoding section 4, and sends the command to the ROM 1 for prefetching instruction data. A ROM address is given to the queue memory 2, a queue memory write address is given to the queue memory 2, and a queue memory read address is given to the queue memory 2 for reading instruction data from the queue memory 2.

【0032】図2は、キュー管理部5の詳細構成を示し
たブロック図である。同図に示すようにキュー管理部5
は、有効バイト数レジスタ11、加算器12、減算器1
3、キューメモリポインタ14及びプリフェッチ制御部
15を備える。
FIG. 2 is a block diagram showing the detailed configuration of the queue management section 5. As shown in FIG. As shown in the figure, the queue management section 5
is effective byte number register 11, adder 12, subtracter 1
3. A queue memory pointer 14 and a prefetch control unit 15 are provided.

【0033】有効バイト数レジスタ11はキューメモリ
2中の有効かつ未解読の命令データのバイト総数を有効
バイト数として常に保持するものであり、キューメモリ
ポインタ14はキューメモリ2から次に読み出されるべ
き有効かつ未解読の命令データの先頭アドレスをキュー
メモリ読み出しアドレスとして常に保持し該キューメモ
リ読み出しアドレスをキューメモリ2に対して出力する
ものである。
The effective byte count register 11 always holds the total number of bytes of valid and undeciphered instruction data in the queue memory 2 as the effective byte count, and the queue memory pointer 14 indicates the number of bytes to be read next from the queue memory 2. The head address of valid and undeciphered instruction data is always held as a queue memory read address, and the queue memory read address is outputted to the queue memory 2.

【0034】加算器12は、キューメモリ2への命令デ
ータのnバイト単位のプリフェッチ終了時に前記のプリ
フェッチ終了信号が与えられる毎に、該プリフェッチさ
れた命令データのバイト数n(一定値)だけ有効バイト
数を増やすように有効バイト数レジスタ11を更新する
ものである。減算器13は、命令解読部4による任意語
長jバイトの命令データの解読が終了する毎に該解読さ
れた命令データのバイト数j(可変値)に関する情報す
なわち前記の命令解読バイト数情報が命令解読終了信号
とともに命令解読部4から与えられ、その度に、該解読
された命令データのバイト数jだけキューメモリ読み出
しアドレスを進めるようにキューメモリポインタ14を
更新し、かつ同バイト数jだけ有効バイト数を減らすよ
うに有効バイト数レジスタ11を更新するものである。
The adder 12 is valid for the number n (fixed value) of bytes of the prefetched instruction data each time the prefetch end signal is given at the end of prefetching the instruction data in units of n bytes to the queue memory 2. The effective byte number register 11 is updated to increase the number of bytes. The subtracter 13 extracts information about the number j (variable value) of the decoded instruction data each time the instruction decoder 4 finishes decoding the instruction data of arbitrary word length j bytes, that is, the instruction decoding byte number information. It is given from the instruction decoding unit 4 along with the instruction decoding end signal, and each time it updates the queue memory pointer 14 so as to advance the queue memory read address by the number j of bytes of the decoded instruction data, and by the same number j of bytes. The effective byte number register 11 is updated to reduce the number of effective bytes.

【0035】プリフェッチ制御部15は、ROM1から
キューメモリ2への命令データのプリフェッチを実行さ
せるために、有効バイト数レジスタ11が保持する有効
バイト数とキューメモリポインタ14が保持するキュー
メモリ読み出しアドレスとに基づいてキューメモリ2に
おける空き領域の先頭アドレスと該空き領域のバイト数
とを算出し、該空き領域として少なくとも命令データの
プリフェッチ単位に一致するnバイト長の領域が確保さ
れたときに、ROM1に対して次にプリフェッチされる
べき命令データの先頭アドレスをROMアドレスとして
指定し、かつ次にプリフェッチされるべき命令データに
関するキューメモリ書き込みアドレスとしてキューメモ
リ2に対して空き領域の先頭アドレスを指定するもので
ある。
The prefetch control unit 15 uses the number of effective bytes held by the effective byte number register 11 and the queue memory read address held by the queue memory pointer 14 in order to prefetch instruction data from the ROM 1 to the queue memory 2. The start address of the free area in the queue memory 2 and the number of bytes of the free area are calculated based on Specify the start address of the instruction data to be prefetched next as the ROM address, and specify the start address of the free area for queue memory 2 as the queue memory write address for the instruction data to be prefetched next. It is something.

【0036】次に、以上に説明した本実施例に係る命令
プリフェッチ装置の動作を、 (a)命令データがnバイトの場合 (b)命令データがnバイトよりも小さい場合(c)命
令データがnバイトよりも大きい場合の3つの場合に分
けて、各々キューメモリ2における命令データのプリフ
ェッチ位置の変化とキューメモリポインタ14の更新の
様子とを示した図3〜図5を参照しながら説明する。た
だし、図3〜図5中のハッチングを施していない空白部
はキューメモリ2の空き領域を、ハッチング部は有効か
つ未解読の命令データが格納されているキューメモリ2
の有効領域を各々示す。
Next, the operation of the instruction prefetch device according to the present embodiment explained above is as follows: (a) When the instruction data is n bytes (b) When the instruction data is smaller than n bytes (c) When the instruction data is The explanation will be given with reference to FIGS. 3 to 5, which show changes in the prefetch position of instruction data in the queue memory 2 and updates to the queue memory pointer 14 in three cases where the size is larger than n bytes. . However, the unhatched blank areas in FIGS. 3 to 5 indicate empty areas of the queue memory 2, and the hatched areas indicate the queue memory 2 in which valid and undeciphered instruction data is stored.
The effective area of each is shown.

【0037】(a)  命令データがnバイトの場合図
3の(a1)〜(a5)は、プリフェッチすべき命令デ
ータの語長j(バイト)が標準命令語長n(バイト)と
一致する場合の図である。まず、(a1)に示すように
初期状態ではキューメモリ2の全ての命令データ一時格
納用レジスタが空き領域となっており、有効バイト数レ
ジスタ11の内容はクリアされて0になっている。この
ようにキューメモリ2の空き領域としてnバイト以上の
領域が確保されている場合には、空きサイクルを利用し
てROM1からキューメモリ2へのプリフェッチが実行
される。ただし、初期状態では(a1)に示すように最
左端の命令データ一時格納用レジスタが最初のプリフェ
ッチ位置となる。
(a) When instruction data is n bytes (a1) to (a5) in FIG. 3 are cases where the word length j (bytes) of the instruction data to be prefetched matches the standard instruction word length n (bytes). This is a diagram. First, as shown in (a1), in the initial state, all registers for temporarily storing instruction data in the queue memory 2 are empty areas, and the contents of the effective byte number register 11 are cleared to 0. In this way, when an area of n bytes or more is secured as a free space in the queue memory 2, prefetching from the ROM 1 to the queue memory 2 is performed using the free cycle. However, in the initial state, as shown in (a1), the leftmost instruction data temporary storage register becomes the first prefetch position.

【0038】このプリフェッチ位置へ(a2)に示すよ
うに実際にnバイト長の命令データがプリフェッチされ
ると、該プリフェッチされた命令データの先頭アドレス
を指定するようにキューメモリポインタ14の内容が定
められるとともに、加算器12によって有効バイト数レ
ジスタ11の内容がnだけ増やされる。この結果、プリ
フェッチ位置が同じく(a2)に示すように更新され、
次にプリフェッチされるnバイト長の命令データは先に
プリフェッチされたnバイト長の命令データに対して隙
間なく詰め込まれる。以上の空き領域への命令データの
プリフェッチに並行して解読のためにキューメモリ2内
の命令データの読み出しが行われるのであるが、空きサ
イクルが多い場合にはプリフェッチ数が読み出し数を上
回るためにキューメモリ2が命令データで満たされてい
く。
When n-byte instruction data is actually prefetched to this prefetch position as shown in (a2), the contents of the queue memory pointer 14 are determined so as to specify the start address of the prefetched instruction data. At the same time, the adder 12 increments the contents of the effective byte number register 11 by n. As a result, the prefetch position is updated as shown in (a2),
The next prefetched n-byte instruction data is packed into the previously prefetched n-byte instruction data without any gaps. In parallel with the above prefetching of instruction data into the free area, the instruction data in the queue memory 2 is read for decoding, but if there are many free cycles, the number of prefetches exceeds the number of reads. The queue memory 2 is filled with command data.

【0039】キューメモリ2内にプリフェッチされた命
令データは、前記のようにプリフェッチと並行して、キ
ューメモリポインタ14が指定するキューメモリ読み出
しアドレスからセレクタ3によって読み出されて命令解
読部4へ転送される。(a3)に示すようにキューメモ
リ2の全ての命令データ一時格納用レジスタが命令デー
タで満たされた状態で例えば最左端の命令データ一時格
納用レジスタに格納されていた命令データが読み出され
、該命令データの解読が終了した場合には、キュー管理
部5は命令解読部4から命令解読バイト数情報(この場
合はnバイト)を受けて減算器13によりキューメモリ
ポインタ14をnバイトだけ進めるとともに、有効バイ
ト数レジスタ11の内容をnだけ減らす。この結果、キ
ューメモリ2の空き領域として命令データのプリフェッ
チ単位に一致するnバイト長の領域が確保されることに
なり、次のプリフェッチが可能になる。
The instruction data prefetched into the queue memory 2 is read by the selector 3 from the queue memory read address specified by the queue memory pointer 14 and transferred to the instruction decoder 4 in parallel with the prefetch as described above. be done. As shown in (a3), in a state where all instruction data temporary storage registers of the queue memory 2 are filled with instruction data, for example, the instruction data stored in the leftmost instruction data temporary storage register is read out. When the decoding of the instruction data is completed, the queue management section 5 receives the instruction decoding byte number information (n bytes in this case) from the instruction decoding section 4 and advances the queue memory pointer 14 by n bytes using the subtractor 13. At the same time, the contents of the effective byte number register 11 are decreased by n. As a result, an area with a length of n bytes corresponding to the prefetch unit of instruction data is secured as a free area in the queue memory 2, and the next prefetch becomes possible.

【0040】ところで、キューメモリポインタ14の内
容が(a4)に示すように最右端の命令データ一時格納
用レジスタの先頭アドレスまで進んだときは、次の命令
解読終了時にはキューメモリポインタ14をリング状に
更新する。つまり、(a5)に示すように命令解読の終
了時に最右端の命令データ一時格納用レジスタが次のプ
リフェッチ位置になる場合には、キューメモリポインタ
14は最左端の命令データ一時格納用レジスタの先頭ア
ドレスを指定するように更新される。
By the way, when the contents of the queue memory pointer 14 advance to the start address of the rightmost instruction data temporary storage register as shown in (a4), the queue memory pointer 14 is set in a ring shape when the next instruction is decoded. Update to. In other words, as shown in (a5), when the rightmost instruction data temporary storage register becomes the next prefetch position at the end of instruction decoding, the queue memory pointer 14 is at the beginning of the leftmost instruction data temporary storage register. Updated to specify the address.

【0041】(b)  命令データがnバイトよりも小
さい場合 図4の(b1)〜(b5)は、プリフェッチすべき命令
データの語長j(バイト)が標準命令語長n(バイト)
よりも小さい場合の図である。図3の場合と同様にRO
M1からキューメモリ2への命令データのnバイト単位
のプリフェッチと並行して該キューメモリ2からの命令
データの読み出しが進められるのであるが、空きサイク
ルが多い場合にはプリフェッチ数が読み出し数を上回る
ためにキューメモリ2が命令データで満たされていく。 ただし、後からプリフェッチされるj(<n)バイト長
の命令データは、先にプリフェッチされたj(<n)バ
イト長の命令データに対して隙間なく詰め込まれる。こ
の結果、(b1)に示すようにキューメモリ2の全ての
命令データ一時格納用レジスタが命令データで満たされ
、キューメモリポインタ14が最左端の命令データ一時
格納用レジスタの先頭アドレスを指定するように進んだ
ものとする。
(b) When the instruction data is smaller than n bytes In (b1) to (b5) of FIG. 4, the word length j (bytes) of the instruction data to be prefetched is the standard instruction word length n (bytes).
It is a figure when it is smaller than. As in the case of Figure 3, RO
In parallel with the prefetching of instruction data from M1 to queue memory 2 in units of n bytes, the reading of instruction data from queue memory 2 proceeds, but if there are many empty cycles, the number of prefetching exceeds the number of reading. Therefore, the queue memory 2 is filled with command data. However, the j (<n) byte length instruction data that is prefetched later is packed into the j (<n) byte length instruction data that is prefetched first without any gaps. As a result, as shown in (b1), all instruction data temporary storage registers in the queue memory 2 are filled with instruction data, and the queue memory pointer 14 specifies the start address of the leftmost instruction data temporary storage register. shall have proceeded to.

【0042】この時点で(b2)に示すように最左端の
命令データ一時格納用レジスタに格納されていたj(<
n)バイト長の命令データがセレクタ3により切り出さ
れ、該命令データの解読が終了した場合には、キュー管
理部5は命令解読部4から命令解読バイト数情報(この
場合はjバイト、j<n)を受けて減算器13により前
記と同様にキューメモリポインタ14をjバイトだけ進
めるとともに、有効バイト数レジスタ11の内容をjだ
け減らす。ところが、前記の(a)の場合とは違って解
読された命令データのバイト数jがnよりも小さいので
、1つの命令データの解読が終了しただけではキューメ
モリ2の空き領域として命令データのプリフェッチ単位
であるnバイト長の領域が確保されず、すぐには次のプ
リフェッチが実行されない。(b3)に示すように、さ
らに次の命令データの解読が終了した時点で初めて次の
nバイト単位のプリフェッチが可能になる。
At this point, as shown in (b2), j(<
n) When byte-length instruction data is extracted by the selector 3 and the decoding of the instruction data is completed, the queue management section 5 receives instruction decoding byte number information from the instruction decoding section 4 (in this case, j bytes, j< n), the subtracter 13 advances the queue memory pointer 14 by j bytes and decrements the contents of the valid byte number register 11 by j in the same manner as described above. However, unlike in case (a) above, the number j of bytes of the decoded instruction data is smaller than n, so if only one instruction data is decoded, the free space in the queue memory 2 will be filled with instruction data. An area of n-byte length, which is a prefetch unit, is not secured, and the next prefetch is not executed immediately. As shown in (b3), the next n-byte unit prefetch becomes possible only when the decoding of the next instruction data is completed.

【0043】なお、キューメモリポインタ14の内容が
(b4)に示すように最右端の命令データ一時格納用レ
ジスタまで進んだときは、次の命令解読終了時にはキュ
ーメモリポインタ14をリング状に更新する。つまり、
(b5)に示すように命令解読の終了時に最右端の命令
データ一時格納用レジスタが次のプリフェッチ位置にな
る場合には、キューメモリポインタ14は最左端の命令
データ一時格納用レジスタ中のアドレスを指示するよう
にjバイトだけ更新される。
Note that when the contents of the queue memory pointer 14 advance to the rightmost instruction data temporary storage register as shown in (b4), the queue memory pointer 14 is updated in a ring shape when the next instruction is finished decoding. . In other words,
As shown in (b5), when the rightmost instruction data temporary storage register becomes the next prefetch position at the end of instruction decoding, the queue memory pointer 14 points to the address in the leftmost instruction data temporary storage register. j bytes are updated as instructed.

【0044】(c)  命令データがnバイトよりも大
きい場合 図5の(c1)〜(c4)は、プリフェッチすべき命令
データの語長j(バイト)が標準命令語長n(バイト)
よりも大きい場合の図である。(b)の場合と同様に空
きサイクルが多いために(c1)に示すようにキューメ
モリ2の全ての命令データ一時格納用レジスタが命令デ
ータで満たされ、キューメモリポインタ14が最左端の
命令データ一時格納用レジスタの先頭アドレスを指定す
るように進んだものとする。ただし、この場合もROM
1からキューメモリ2への命令データのプリフェッチは
nバイト単位で行われ、後からプリフェッチされるj(
>n)バイト長の命令データは先にプリフェッチされた
j(>n)バイト長の命令データに対して隙間なく詰め
込まれる。
(c) When the instruction data is larger than n bytes In (c1) to (c4) of FIG. 5, the word length j (bytes) of the instruction data to be prefetched is the standard instruction word length n (bytes).
It is a figure when it is larger than. As in the case of (b), since there are many empty cycles, all of the instruction data temporary storage registers in the queue memory 2 are filled with instruction data as shown in (c1), and the queue memory pointer 14 is set to the leftmost instruction data. Assume that the process proceeds to specify the start address of the temporary storage register. However, in this case as well, the ROM
Prefetching of instruction data from 1 to queue memory 2 is performed in units of n bytes, and the prefetching data is j(
>n) byte length instruction data is packed into the previously prefetched j(>n) byte length instruction data without any gaps.

【0045】この時点で(c2)に示すように最左端の
命令データ一時格納用レジスタとこれに隣接する命令デ
ータ一時格納用レジスタとにまたがって格納されていた
j(>n)バイト長の命令データがセレクタ3により切
り出され、該命令データの解読が終了した場合には、キ
ュー管理部5は命令解読部4から命令解読バイト数情報
(この場合はjバイト、j>n)を受けて減算器13に
より前記と同様にキューメモリポインタ14をjバイト
だけ進めるとともに、有効バイト数レジスタ11の内容
をjだけ減らす。この場合には解読された命令データの
バイト数jがnよりも大きいので、1つの命令データの
解読が終了しただけでキューメモリ2の空き領域として
命令データのプリフェッチ単位であるnバイト長の領域
が確保され、すぐに次のプリフェッチを実行できる状態
となる。
At this point, as shown in (c2), the j (>n) byte length instruction is stored across the leftmost instruction data temporary storage register and the adjacent instruction data temporary storage register. When the data is extracted by the selector 3 and the decoding of the instruction data is completed, the queue management section 5 receives the instruction decoding byte number information (in this case, j bytes, j>n) from the instruction decoding section 4 and subtracts it. Similarly to the above, the queue memory pointer 14 is advanced by j bytes, and the contents of the valid byte number register 11 are decreased by j. In this case, since the number j of bytes of decoded instruction data is larger than n, the decoding of one instruction data is completed, and an n-byte length area, which is the prefetch unit of instruction data, is used as a free space in the queue memory 2. is secured and the next prefetch can be executed immediately.

【0046】なお、キューメモリポインタ14の内容が
(c3)に示すように最右端の命令データ一時格納用レ
ジスタの中ほどまで進んだときは、次の命令解読終了時
には該キューメモリポインタ14をリング状に更新する
。この際、(c4)に示すようにキューメモリポインタ
14の指定アドレスが最左端の命令データ一時格納用レ
ジスタを飛び越えて該最左端の命令データ一時格納用レ
ジスタに隣接する命令データ一時格納用レジスタまで進
められる場合には、一度に2×nバイトの空き領域が確
保できるので、空きサイクルを利用してnバイト単位の
2回のプリフェッチが続けて行われる。
Note that when the contents of the queue memory pointer 14 advance to the middle of the rightmost instruction data temporary storage register as shown in (c3), the queue memory pointer 14 is ringed when the next instruction is decoded. Update as follows. At this time, as shown in (c4), the specified address of the queue memory pointer 14 jumps over the leftmost instruction data temporary storage register and reaches the instruction data temporary storage register adjacent to the leftmost instruction data temporary storage register. If the data is advanced, a free area of 2×n bytes can be secured at a time, so prefetching is performed twice in n-byte units successively using the free cycle.

【0047】以上のとおり本実施例によれば、従来のデ
ータシフト方式とは違って複数の命令データ一時格納用
レジスタ2aによりキューメモリ2として任意アドレス
への書き込み及び任意アドレスからの読み出しが可能な
一連の命令データ格納領域を形成したので、キューメモ
リ2内にプリフェッチされた命令データは該キューメモ
リ2が命令データで満たされるのを待たずに直ちにセレ
クタ3により読み出されて命令解読部4へ転送される。 したがって、初期状態や分岐予測がはずれた場合でも命
令実行要求に対する待ち状態が最小限におさえられ、ス
ループットが向上する。また、キューメモリ2の構成に
簡単なデータラッチ回路を用いることができ、回路規模
の縮小化を図ることができる。
As described above, according to this embodiment, unlike the conventional data shift method, it is possible to write to and read from arbitrary addresses as the queue memory 2 using a plurality of instruction data temporary storage registers 2a. Since a series of instruction data storage areas are formed, the instruction data prefetched into the queue memory 2 is immediately read out by the selector 3 and sent to the instruction decoder 4 without waiting for the queue memory 2 to be filled with instruction data. be transferred. Therefore, even if the initial state or branch prediction is wrong, the waiting state for instruction execution requests is minimized, and throughput is improved. Further, a simple data latch circuit can be used in the configuration of the queue memory 2, and the circuit scale can be reduced.

【0048】さらに、複数の命令データ一時格納用レジ
スタ2aを連結させてキューメモリ2を構成することに
より任意語長jバイトの命令データの書き込み及び読み
出しが可能な一連の命令データ格納領域を形成するとと
もに、該一連の命令データ格納領域に任意語長jバイト
の複数の命令データが互いに隙間なく詰め込まれるよう
にしたので、該キューメモリが無駄なく使え、多様な命
令語長に対して柔軟に対応し得る。しかも、命令データ
一時格納用レジスタ2aの各々のサイズと命令データの
プリフェッチ単位とをマイクロコンピュータの標準命令
語長nバイトに一致させているので、ROM1とキュー
メモリ2との間のインターフェイス回路の構成が容易で
あって、この点でも回路規模の縮小化が図れる。また、
数の多い標準命令語長nバイトの命令データの取扱いに
便利であって、該語長の命令データに対して最高のスル
ープットが実現できる。
Furthermore, by concatenating a plurality of instruction data temporary storage registers 2a to form a queue memory 2, a series of instruction data storage areas in which instruction data of arbitrary word length j bytes can be written and read is formed. At the same time, multiple instruction data of arbitrary word length j bytes are packed into the series of instruction data storage areas without gaps between each other, so the queue memory can be used without wastage, and it can flexibly handle various instruction word lengths. It is possible. Moreover, since the size of each of the instruction data temporary storage registers 2a and the prefetch unit of instruction data are made to match the standard instruction word length of a microcomputer, n bytes, the configuration of the interface circuit between the ROM 1 and the queue memory 2 is made It is easy to do this, and the circuit scale can be reduced in this respect as well. Also,
This is convenient for handling a large number of standard instruction data with a standard instruction word length of n bytes, and the highest throughput can be achieved for instruction data with this word length.

【0049】さらにまた、プリフェッチ時及び命令解読
時に正確に更新される有効バイト数レジスタ11とキュ
ーメモリポインタ14とを備え、両者によって管理され
るキューメモリ2の有効バイト数と読み出しアドレスと
に基づいてキューメモリ2への命令データのプリフェッ
チと該キューメモリ2からの命令データの読み出しとを
制御しているので、命令データの語長が標準命令語長n
バイトと異なる場合であっても該命令データを正しくプ
リフェッチし、かつ該プリフェッチした命令データを正
確に命令解読部4へ転送することができる。
Furthermore, it is provided with an effective byte number register 11 and a queue memory pointer 14, which are updated accurately at the time of prefetching and instruction decoding, and based on the effective number of bytes of the queue memory 2 managed by both and the read address. Since the prefetching of instruction data to the queue memory 2 and the reading of instruction data from the queue memory 2 are controlled, the word length of the instruction data is the standard instruction word length n.
Even if the instruction data is different from the byte, the instruction data can be correctly prefetched and the prefetched instruction data can be accurately transferred to the instruction decoder 4.

【0050】[0050]

【発明の効果】以上説明してきたように請求項1の発明
によれば、従来のデータシフト方式とは違って複数の命
令データ一時格納用レジスタを連結することにより任意
アドレスへの書き込み及び任意アドレスからの読み出し
が可能な一連の命令データ格納領域を形成したキューメ
モリの構成を採用したので、該キューメモリの空き領域
への命令データのプリフェッチと並行して該キューメモ
リの任意の位置からアドレス指定によって命令データを
読み出すことができる。つまり、プリフェッチに必要な
バイト長の空き領域がキューメモリに確保できたときに
は、すぐに該キューメモリへの命令データのプリフェッ
チが実行され、該プリフェッチされた命令データはキュ
ーメモリが命令データで満たされるのを待たずに直ちに
読み出されて命令解読部へ転送されるのである。したが
って、初期状態や分岐予測がはずれた場合でも命令実行
要求に対する待ち状態が最小限におさえられ、スループ
ットが向上する。また、従来のデータシフト方式の場合
のマスタースレーブ型フリップフロップに代えて簡単な
データラッチ回路を用いてキューメモリを構成すること
ができるので、回路規模の縮小化を図ることができる。
As described above, according to the invention of claim 1, unlike the conventional data shift method, by connecting a plurality of registers for temporarily storing instruction data, writing to an arbitrary address and writing to an arbitrary address can be performed. Since we have adopted a queue memory configuration that forms a series of instruction data storage areas that can be read from, it is possible to specify addresses from any location in the queue memory in parallel with prefetching instruction data into the empty area of the queue memory. The instruction data can be read by In other words, when a free space of the byte length required for prefetching is secured in the queue memory, prefetching of instruction data to the queue memory is immediately executed, and the prefetched instruction data fills the queue memory with instruction data. It is read out immediately and transferred to the instruction decoding section without waiting for the instruction decoder. Therefore, even if the initial state or branch prediction is wrong, the waiting state for instruction execution requests is minimized, and throughput is improved. Further, since the queue memory can be constructed using a simple data latch circuit instead of the master-slave type flip-flop used in the conventional data shift method, the circuit scale can be reduced.

【0051】さらに、互いに連結された複数の命令デー
タ一時格納用レジスタにより任意語長jバイトの命令デ
ータの書き込み及び読み出しが可能な一連の命令データ
格納領域を形成したキューメモリを備えた構成を採用し
、しかも該一連の命令データ格納領域に任意語長jバイ
トの複数の命令データが互いに隙間なく詰め込まれるよ
うにしたので、該キューメモリが無駄なく使え、多様な
命令語長に対して柔軟に対応し得る。
Furthermore, a configuration is adopted that includes a queue memory that forms a series of instruction data storage areas in which instruction data of arbitrary word length j bytes can be written and read by a plurality of mutually connected instruction data temporary storage registers. Moreover, since a plurality of instruction data of arbitrary word length j bytes are packed into the series of instruction data storage area without gaps between each other, the queue memory can be used without waste, and it is possible to flexibly handle various instruction word lengths. I can handle it.

【0052】しかも、キューメモリを構成する複数の命
令データ一時格納用レジスタの各々のサイズと命令デー
タのプリフェッチ単位とをマイクロコンピュータの標準
命令語長nバイトに一致させているので、プログラムメ
モリとキューメモリとの間のインターフェイス回路の構
成が容易であって、この点でも回路規模の縮小化が図れ
る。また、一般に数の多い標準命令語長nバイトの命令
データの取扱いに便利であって、該語長の命令データに
対して最高のスループットが実現できる。
Moreover, since the size of each of the plurality of instruction data temporary storage registers constituting the queue memory and the instruction data prefetch unit are made to match the standard instruction word length of a microcomputer, n bytes, the program memory and the queue are The structure of the interface circuit with the memory is easy, and the circuit scale can also be reduced in this respect. In addition, it is convenient for handling instruction data with a standard instruction word length of n bytes, which is generally large in number, and the highest throughput can be achieved for instruction data of this word length.

【0053】また、請求項2の発明によれば、プリフェ
ッチ時及び命令解読時に正確に更新されるキューメモリ
ポインタと有効バイト数レジスタとを備え、両者によっ
て管理されるキューメモリに関する読み出しアドレスと
有効バイト数とに基づいてキューメモリの空き領域への
命令データのプリフェッチと該キューメモリからの命令
データの読み出しとを実行させる構成を採用したので、
命令データの語長が標準命令語長nバイトと異なる場合
であっても、該命令データを正しくプリフェッチし、か
つ該プリフェッチした命令データを正確に命令解読部へ
転送することができる。
Further, according to the invention of claim 2, a queue memory pointer and an effective byte number register are provided which are updated accurately at the time of prefetching and instruction decoding, and the read address and effective byte number register regarding the queue memory managed by both are provided. Since we have adopted a configuration in which prefetching of instruction data into a free area of the queue memory and reading of instruction data from the queue memory are executed based on the number,
Even if the word length of the instruction data is different from the standard instruction word length n bytes, the instruction data can be correctly prefetched and the prefetched instruction data can be accurately transferred to the instruction decoder.

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

【図1】  本発明の一実施例における命令プリフェッ
チ装置の構成を示したブロック図である。
FIG. 1 is a block diagram showing the configuration of an instruction prefetch device in an embodiment of the present invention.

【図2】  図1中のキュー管理部の詳細構成を示した
ブロック図である。
FIG. 2 is a block diagram showing a detailed configuration of a queue management section in FIG. 1;

【図3】  プリフェッチすべき命令データの語長が標
準命令語長n(バイト)と一致する場合の図1中のキュ
ーメモリにおける命令データのプリフェッチ位置の変化
とキューメモリポインタの更新の様子とを示した概念図
である。
FIG. 3 shows the change in the prefetch position of instruction data in the queue memory in FIG. 1 and the update of the queue memory pointer when the word length of the instruction data to be prefetched matches the standard instruction word length n (bytes). FIG.

【図4】  プリフェッチすべき命令データの語長が標
準命令語長n(バイト)よりも小さい場合の図3と同様
の図である。
FIG. 4 is a diagram similar to FIG. 3 in a case where the word length of instruction data to be prefetched is smaller than the standard instruction word length n (bytes).

【図5】  プリフェッチすべき命令データの語長が標
準命令語長n(バイト)よりも大きい場合の図3と同様
の図である。
FIG. 5 is a diagram similar to FIG. 3 in a case where the word length of instruction data to be prefetched is larger than the standard instruction word length n (bytes).

【図6】  従来の命令プリフェッチ装置の構成を示し
たブロック図である。
FIG. 6 is a block diagram showing the configuration of a conventional instruction prefetch device.

【図7】  図6中のキューの詳細構成と該キューを通
した命令データの流れとを示した概念図である。
7 is a conceptual diagram showing the detailed configuration of the queue in FIG. 6 and the flow of command data through the queue; FIG.

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

1…ROM(プログラムメモリ) 2…キューメモリ 2a…命令データ一時格納用レジスタ 3…セレクタ 4…命令解読部 5…キュー管理部 11…有効バイト数レジスタ 12…加算器(プリフェッチ時更新手段)13…減算器
(命令解読時更新手段) 14…キューメモリポインタ 15…プリフェッチ制御部
1...ROM (program memory) 2...Queue memory 2a...Register for temporarily storing instruction data 3...Selector 4...Instruction decoding section 5...Queue management section 11...Valid byte number register 12...Adder (updating means at prefetch) 13... Subtractor (updating means when decoding an instruction) 14...Queue memory pointer 15...Prefetch control unit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】  標準命令語長nバイトのマイクロコン
ピュータのプログラムを構成する複数の命令データが格
納されたプログラムメモリから任意語長jバイトの命令
データを標準命令語長と一致するnバイト単位で順次プ
リフェッチし、かつ該プリフェッチした任意語長jバイ
トの命令データを命令解読部にて順次解読させるための
命令プリフェッチ装置であって、各々が標準命令語長と
同じnバイト長を有する複数の命令データ一時格納用レ
ジスタを備え、該複数の命令データ一時格納用レジスタ
が互いに連結されかつ前記プログラムメモリに対して並
列に配置されてなり、該複数の命令データ一時格納用レ
ジスタにより構成される任意アドレスへの書き込み及び
任意アドレスからの読み出しが可能な命令データ格納領
域のうち有効かつ未解読の命令データが格納されていな
い空き領域へ前記プログラムメモリから任意語長jバイ
トの命令データが標準命令語長と一致するnバイト単位
で順次プリフェッチされて、任意語長jバイトの複数の
命令データが互いに隙間なく詰め込まれるキューメモリ
と、該キューメモリ内にプリフェッチされた任意語長j
バイトの命令データを該キューメモリの指定されたアド
レスから読み出し、該読み出した任意語長jバイトの命
令データを前記命令解読部へ順次転送するためのセレク
タと、前記キューメモリにおける空き領域として少なく
とも命令データのプリフェッチ単位に一致するnバイト
長の領域が確保されたときに前記プログラムメモリから
キューメモリへの命令データのプリフェッチを実行させ
、かつ該プリフェッチと並行して該キューメモリから次
に読み出されるべき有効かつ未解読の命令データの先頭
アドレスを該キューメモリに与えることによって前記セ
レクタによるキューメモリからの命令データの読み出し
と該命令データの転送とを実行させるためのキュー管理
部とを備えたことを特徴とする命令プリフェッチ装置。
Claim 1: Instruction data of an arbitrary word length of j bytes is extracted from a program memory storing a plurality of instruction data constituting a microcomputer program with a standard instruction word length of n bytes in units of n bytes that match the standard instruction word length. An instruction prefetch device for sequentially prefetching and causing an instruction decoding unit to sequentially decode the prefetched instruction data of arbitrary word length j bytes, the instruction prefetching device including a plurality of instructions each having a length of n bytes, which is the same as a standard instruction word length. an arbitrary address configured by the plurality of instruction data temporary storage registers, the plurality of instruction data temporary storage registers being connected to each other and arranged in parallel with the program memory; Out of the instruction data storage area that can be written to and read from any address, instruction data of an arbitrary word length j bytes is transferred from the program memory to an empty area in which valid and undeciphered instruction data is not stored. A queue memory in which a plurality of instruction data of an arbitrary word length j bytes are packed into each other without gaps by sequential prefetching in units of n bytes that match, and an arbitrary word length j prefetched into the queue memory.
a selector for reading byte of instruction data from a specified address of the queue memory and sequentially transferring the read instruction data of arbitrary word length j bytes to the instruction decoder; When an n-byte length area corresponding to a data prefetch unit is secured, prefetching of instruction data from the program memory to the queue memory is executed, and the next data to be read from the queue memory in parallel with the prefetch. and a queue management unit for causing the selector to read instruction data from the queue memory and transfer the instruction data by giving a start address of valid and undeciphered instruction data to the queue memory. Features an instruction prefetch device.
【請求項2】  請求項1記載の命令プリフェッチ装置
において、前記キュー管理部は、前記キューメモリから
次に読み出されるべき有効かつ未解読の命令データの先
頭アドレスをキューメモリ読み出しアドレスとして常に
保持し、該キューメモリ読み出しアドレスを該キューメ
モリに与えることによって前記セレクタによるキューメ
モリからの命令データの読み出しと該命令データの転送
とを実行させるためのキューメモリポインタと、前記キ
ューメモリ中の有効かつ未解読の命令データのバイト総
数を有効バイト数として常に保持するための有効バイト
数レジスタと、前記キューメモリへの命令データの標準
命令語長と一致するnバイト単位のプリフェッチが終了
する毎に、該プリフェッチされた命令データのバイト数
nだけ有効バイト数を増やすように前記有効バイト数レ
ジスタを更新するためのプリフェッチ時更新手段と、前
記命令解読部による任意語長jバイトの命令データの解
読が終了する毎に該解読された命令データのバイト数j
が該命令解読部から与えられ、該解読された命令データ
のバイト数jが与えられる毎に、該解読された命令デー
タのバイト数jだけキューメモリ読み出しアドレスを進
めるように前記キューメモリポインタを更新し、かつ該
解読された命令データのバイト数jだけ有効バイト数を
減らすように前記有効バイト数レジスタを更新するため
の命令解読時更新手段と、前記キューメモリ読み出しア
ドレスと有効バイト数とから前記キューメモリにおける
空き領域の先頭アドレスと該空き領域のバイト数とを算
出し、該空き領域として少なくとも命令データのプリフ
ェッチ単位に一致するnバイト長の領域が確保されたと
きに、前記プログラムメモリに対して次にプリフェッチ
されるべき命令データの先頭アドレスを指定しかつ次に
プリフェッチされるべき命令データに関するキューメモ
リ書き込みアドレスとして該キューメモリに対して前記
空き領域の先頭アドレスを指定することによって、前記
プログラムメモリからキューメモリへの命令データのプ
リフェッチを実行させるためのプリフェッチ制御部とを
備えたことを特徴とする命令プリフェッチ装置。
2. The instruction prefetch device according to claim 1, wherein the queue management section always holds a start address of valid and undeciphered instruction data to be read next from the queue memory as a queue memory read address; a queue memory pointer for causing the selector to read instruction data from the queue memory and transfer the instruction data by giving the queue memory read address to the queue memory; and a valid and undeciphered pointer in the queue memory. an effective byte count register for always holding the total number of bytes of instruction data as the effective byte count; the prefetch time updating means for updating the effective byte number register so as to increase the number of effective bytes by the number n of bytes of the instruction data that has been read, and the instruction decoding unit completing the decoding of the instruction data of arbitrary word length j bytes. The number of bytes of instruction data decoded for each j
is given from the instruction decoder, and each time the number j of bytes of the decoded instruction data is given, the queue memory pointer is updated so that the queue memory read address is advanced by the number j of bytes of the decoded instruction data. and updating means for updating the effective byte number register so as to reduce the effective byte number by the number j of bytes of the decoded instruction data; The start address of the free area in the queue memory and the number of bytes of the free area are calculated, and when an area with a length of n bytes that matches at least the prefetch unit of instruction data is secured as the free area, the program by specifying the start address of the instruction data to be prefetched next and specifying the start address of the free area for the queue memory as the queue memory write address for the instruction data to be prefetched next. An instruction prefetch device comprising: a prefetch control unit for prefetching instruction data from a memory to a queue memory.
JP3146108A 1991-06-18 1991-06-18 Instruction prefetch device Expired - Lifetime JP2682761B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3146108A JP2682761B2 (en) 1991-06-18 1991-06-18 Instruction prefetch device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3146108A JP2682761B2 (en) 1991-06-18 1991-06-18 Instruction prefetch device

Publications (2)

Publication Number Publication Date
JPH04369038A true JPH04369038A (en) 1992-12-21
JP2682761B2 JP2682761B2 (en) 1997-11-26

Family

ID=15400335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3146108A Expired - Lifetime JP2682761B2 (en) 1991-06-18 1991-06-18 Instruction prefetch device

Country Status (1)

Country Link
JP (1) JP2682761B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010282637A (en) * 1998-03-18 2010-12-16 Qualcomm Inc Digital signal processor

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5627455A (en) * 1979-08-10 1981-03-17 Fujitsu Ltd Instruction prefetch system using buffer register with byte aligner
JPS57152046A (en) * 1981-03-13 1982-09-20 Mitsubishi Electric Corp Instruction buffer controlling method
JPS59154546A (en) * 1983-02-24 1984-09-03 Toshiba Corp Information processor
JPS59189448A (en) * 1983-04-12 1984-10-27 Nec Corp Operand buffer
JPS6072030A (en) * 1983-09-28 1985-04-24 Hitachi Ltd Information processing device
JPS61214029A (en) * 1985-03-18 1986-09-22 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション Command forestalling buffer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5627455A (en) * 1979-08-10 1981-03-17 Fujitsu Ltd Instruction prefetch system using buffer register with byte aligner
JPS57152046A (en) * 1981-03-13 1982-09-20 Mitsubishi Electric Corp Instruction buffer controlling method
JPS59154546A (en) * 1983-02-24 1984-09-03 Toshiba Corp Information processor
JPS59189448A (en) * 1983-04-12 1984-10-27 Nec Corp Operand buffer
JPS6072030A (en) * 1983-09-28 1985-04-24 Hitachi Ltd Information processing device
JPS61214029A (en) * 1985-03-18 1986-09-22 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション Command forestalling buffer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010282637A (en) * 1998-03-18 2010-12-16 Qualcomm Inc Digital signal processor
JP2015028793A (en) * 1998-03-18 2015-02-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated Digital signal processor
JP2016146189A (en) * 1998-03-18 2016-08-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated Digital signal processor

Also Published As

Publication number Publication date
JP2682761B2 (en) 1997-11-26

Similar Documents

Publication Publication Date Title
US5276882A (en) Subroutine return through branch history table
JP2504830Y2 (en) Data processing device
JPH0374434B2 (en)
JPS63501454A (en) data processor controller
JPH0636515B2 (en) Communication processor device
US20230385063A1 (en) Streaming engine with early exit from loop levels supporting early exit loops and irregular loops
US5313644A (en) System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word
JP3619939B2 (en) Central processing unit
USRE32493E (en) Data processing unit with pipelined operands
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
KR100385495B1 (en) Processing system with word alignment branch target
JPH052484A (en) Super scalar processor
JPH04369038A (en) Instruction prefetching device
JPH0793152A (en) Microprocessor controller
JP2668987B2 (en) Data processing device
JP2772100B2 (en) Parallel instruction fetch mechanism
JP2825315B2 (en) Information processing device
JPH03147134A (en) Instruction sequence controller
US5687380A (en) Macro service processing of interrupt requests in a processing system where a single interrupt is generated for a plurality of completed transactions
JPH08161166A (en) Processor
JP2689914B2 (en) Information processing device
JP2687765B2 (en) Branch prediction method
JP2881023B2 (en) Instruction buffer configuration method
JPS60250438A (en) Information processor
JPH05313888A (en) Instruction buffer system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970722