JP2682761B2 - Instruction prefetch device - Google Patents

Instruction prefetch device

Info

Publication number
JP2682761B2
JP2682761B2 JP3146108A JP14610891A JP2682761B2 JP 2682761 B2 JP2682761 B2 JP 2682761B2 JP 3146108 A JP3146108 A JP 3146108A JP 14610891 A JP14610891 A JP 14610891A JP 2682761 B2 JP2682761 B2 JP 2682761B2
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.)
Expired - Lifetime
Application number
JP3146108A
Other languages
Japanese (ja)
Other versions
JPH04369038A (en
Inventor
克也 藤村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
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

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

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

【0002】[0002]

【従来の技術】まず、従来の命令プリフェッチ装置につ
いて説明する。図6は従来の命令プリフェッチ装置の構
成を示したブロック図、図7は図6中のキュー22の詳
細構成と該キューを通した命令データの流れとを示した
概念図である。
2. Description of the Related Art First, a conventional instruction prefetch device will be described. 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とを有す
る。
An instruction of a microcomputer is generally composed of an operation code section which determines the type of the instruction and its operation and an operand section which modifies the operation of the instruction. FIG.
Also, the conventional instruction prefetch device shown in FIG. 7 is configured by using the word length (instruction opcode width) m bytes of the operation code part as a basic size, and stores a plurality of instruction data which constitutes a program. The instruction data is sequentially prefetched (prefetched) from the ROM 21 in units of m bytes, and the prefetched instruction data is also transferred to the instruction decoding unit 23 in units of m bytes and sequentially decoded by the instruction decoding unit. For this purpose, the present instruction prefetch device has a queue 22 and a sequence controller 24.

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

【0005】シーケンス制御部24は、キュー22への
命令データのプリフェッチが終了する毎に更新される該
キュー22の空き領域情報が与えられ、かつ命令解読部
23による命令データの解読が終了する毎に命令解読バ
イト数情報すなわち該解読された命令データのバイト数
に関する情報が与えられる。該シーケンス制御部24
は、これらの情報を受けてキュー22のFIFO動作を
制御するためのシフトクロック信号を出力するととも
に、ROM21から次にプリフェッチされるべき命令デ
ータの先頭アドレスを保持するためのアドレスポインタ
を有して該アドレスポインタの内容をROMアドレスと
して出力するものである。
The sequence control section 24 is provided with empty area information of the queue 22 which is updated each time the prefetch of the instruction data to the queue 22 is completed, and every time the instruction decoding section 23 completes the decoding of the instruction data. The instruction decoding byte number information, that is, the information regarding the byte number of the decoded instruction data is given. The sequence control unit 24
Receives the information and outputs a shift clock signal for controlling the FIFO operation of the queue 22, and has an address pointer for holding the start address of the instruction data to be prefetched next from the ROM 21. The contents of the address pointer are output 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 be described. In the initial state in which all the instruction data temporary storage registers 22a of the queue 22 are empty, the sequence controller 24 first uses the empty cycle from the ROM 21 to the queue 2 until the queue 22 becomes full.
2. Instruction data is sequentially prefetched in units of m bytes according to the address pointer. At this time, the prefetched instruction data advances between the instruction data temporary storage registers 22a by the shift clock signal given from the sequence control unit 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 unit 23 as m-byte unit queue data by the shift clock signal similarly supplied from the sequence control unit 24. The instruction decoding unit 23 acquires an operation code portion and an operand portion necessary for instruction decoding and then executes instruction decoding. When the decoding of one instruction is completed, the instruction decoding unit 23 sends the instruction decoding byte number information to the sequence control unit 24 to prompt the prefetch of the next instruction data.

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

【0009】[0009]

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

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

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

【0012】[0012]

【課題を解決するための手段】上記の課題を解決するた
めに、本発明は、標準命令語長nバイトのマイクロコン
ピュータのために、各々nバイト長を有する3個以上
命令データ一時格納用レジスタをプログラムメモリに対
して並列に配置することによって、nバイトの3倍以上
のバイト長を有する一連の命令データ格納領域を形成し
たキューメモリを採用し、かつ該命令データ格納領域へ
のnバイト単位の書き込みと、該命令データ格納領域の
任意アドレスからの任意語長jバイトの命令データの切
り出しとを同時に実現したものである。ここに、j=
n、j>n、j<nのいずれでも許容される。
In order to solve the above-mentioned problems, the present invention, for a microcomputer having a standard instruction word length of n bytes, temporarily stores three or more instruction data each having an n-byte length. A queue memory in which a series of instruction data storage areas having a byte length three times or more of n bytes is formed by arranging registers in parallel with the program memory is used, and the instruction data storage areas are used. The writing of n bytes to the instruction data storage area and the cutting out of instruction data having an arbitrary word length of j bytes from an arbitrary address of the instruction data storage area are realized at the same time. Where j =
Any of n, j> n and j <n is allowed.

【0013】具体的に説明すると、本発明は、標準命令
語長nバイトのマイクロコンピュータのプログラムを構
成する複数の命令データが格納されたプログラムメモリ
から任意語長jバイトの命令データを標準命令語長と一
致するnバイト単位で順次プリフェッチし、かつ該プリ
フェッチした任意語長jバイトの命令データを命令解読
部にて順次解読させるための命令プリフェッチ装置であ
って、次のようなキューメモリ、セレクタ及びキュー管
理部を備えた構成を採用したものである。
More specifically, according to the present invention , a standard instruction word having an instruction word length of n bytes is converted into a standard instruction word from a program memory storing a plurality of instruction data constituting a microcomputer program. An instruction prefetch device for sequentially prefetching in units of n bytes matching the length, and causing the instruction decoding unit to sequentially decode the prefetched arbitrary word length j bytes of instruction data. And a configuration including a queue management unit.

【0014】すなわち、キューメモリは、各々が標準命
令語長と同じnバイト長を有する3個以上の命令データ
一時格納用レジスタを備え、該3個以上の命令データ一
時格納用レジスタが互いに連結されかつ前記プログラム
メモリに対して並列に配置されて、任意アドレスへの書
き込み及び任意アドレスからの読み出しが可能なnバイ
トの3倍以上のバイト長を有する一連の命令データ格納
領域が構成され、該命令データ格納領域のうち有効かつ
未解読の命令データが格納されていない空き領域へ前記
プログラムメモリから任意語長jバイトの命令データが
標準命令語長と一致するnバイト単位で順次プリフェッ
チされて、任意語長jバイトの複数の命令データが互い
に隙間なく詰め込まれるものである。
That is, the queue memory includes three or more instruction data temporary storage registers each having the same n-byte length as the standard instruction word length, and the three or more instruction data temporary storage registers are connected to each other. In addition, a series of instruction data storage areas having a byte length three times or more of n bytes capable of writing to and reading from an arbitrary address are formed in parallel with the program memory, and the instruction is stored. Arbitrary arbitrary j-byte instruction data is sequentially prefetched from the program memory in units of n bytes, which matches the standard instruction word length, into an empty area in the data storage area where valid and undecoded instruction data is not stored. A plurality of instruction data having a word length of j bytes are packed without a gap.

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

【0016】さらにキュー管理部は、キューメモリにお
ける空き領域として少なくとも命令データのプリフェッ
チ単位に一致するnバイト長の領域が確保されたときに
プログラムメモリからキューメモリへの命令データのプ
リフェッチを実行させ、かつ該プリフェッチと並行して
該キューメモリから次に読み出されるべき有効かつ未解
読の命令データの先頭アドレスを該キューメモリに与え
ることによってセレクタによるキューメモリからの命令
データの読み出しと該命令データの転送とを実行させる
ものである。
Further, the queue management unit 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 an empty area in the queue memory, Further, the selector reads the instruction data from the queue memory and transfers the instruction data by giving the starting address of valid and undecoded instruction data to be read next from the queue memory in parallel with the prefetch. And to execute.

【0017】しかも本発明は、キューメモリから次に読
み出されるべき命令データの先頭アドレスと該キューメ
モリ中の命令データのバイト総数とを常に把握しながら
キューメモリの命令データの任意アドレスへの書き込み
と任意アドレスからの読み出しとを制御するために、次
のキューメモリポインタ、有効バイト数レジスタ、プリ
フェッチ時更新手段、命令解読時更新手段及びプリフェ
ッチ制御部を備えたキュー管理部の構成を採用したもの
である。
Moreover, the present invention always writes the instruction data of the queue memory to an arbitrary address while always grasping 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. In order to control reading from an arbitrary address, the structure of the queue management unit including the following queue memory pointer, effective byte number register, prefetch updating unit, instruction decoding updating unit, and prefetch control unit is adopted. is there.

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

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

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

【0021】さらに命令解読時更新手段は、命令解読部
による任意語長jバイトの命令データの解読が終了する
毎に該解読された命令データのバイト数jが命令解読部
から与えられ、該解読された命令データのバイト数jが
与えられる毎に、該解読された命令データのバイト数j
だけキューメモリ読み出しアドレスを進めるようにキュ
ーメモリポインタを更新し、かつ該解読された命令デー
タのバイト数jだけ有効バイト数を減らすように有効バ
イト数レジスタを更新するものである。
Further, the instruction decoding time updating means is provided with the byte number j of the decoded instruction data from the instruction decoding section each time the instruction decoding section completes decoding of the instruction data of arbitrary word length j bytes, and the decoding is performed. Each time the number of bytes j of the command data that has been decoded is given, the number of bytes j of the decoded command data
The queue memory pointer is updated so as to advance the read address of the queue memory, and the valid byte number register is updated so as to reduce the valid byte number by the byte number j 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 at least the prefetch unit of the instruction data as the free area. When an area of n-byte length corresponding to is secured, the start address of the instruction data to be prefetched next to the program memory is specified and a queue memory write address for the instruction data to be prefetched next is queued. By designating the start address of the free area for the memory, prefetch of instruction data from the program memory to the queue memory is executed.

【0023】[0023]

【作用】本発明によれば、標準命令語長と同じnバイト
(一定)長の命令データ一時格納用レジスタがプログラ
ムメモリに対して複数並列に連結されて、nバイトの
倍以上のバイト長を有する一連の命令データ格納領域が
キューメモリに形成される。該命令データ格納領域は、
任意アドレスへの書き込み及び任意アドレスからの読み
出しが可能であって、いずれかの位置に空き領域として
少なくともnバイト長の領域が確保されたときには、該
空き領域へプログラムメモリから任意語長jバイトの命
令データがnバイト単位で順次プリフェッチされる。こ
の際、任意語長jバイトの複数の命令データが互いに隙
間なく命令データ格納領域へ詰め込まれる。
According to the present invention , a plurality of n-byte (constant) instruction data temporary storage registers having the same length as the standard instruction word length are connected in parallel to the program memory to form n-byte 3 bytes.
A series of instruction data storage areas having a length more than twice the byte length are formed in the queue memory. The command data storage area is
When writing to an arbitrary address and reading from an arbitrary address is possible, and when an empty area of at least n bytes is secured in any position, an arbitrary word length of j bytes is written from the program memory to the empty area. Instruction data 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 a gap.

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

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

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

【0027】[0027]

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

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

【0029】キューメモリ2は、k個(kは3以上の整
数)の命令データ一時格納用レジスタ2aがROM1に
対して並列に配置されたものである。各命令データ一時
格納用レジスタ2aはnバイト長であり、互いに連結さ
れて全体でk×nバイト長の一連の命令データ格納領域
を構成する。このキューメモリ2の命令データ格納領域
は、ROM1からnバイト単位でプリフェッチされた任
意語長jバイトの命令データを一時格納するものであっ
て、任意アドレスへの書き込み及び任意アドレスからの
読み出しが可能である。
The queue memory 2 has k (k is an integer of 3 or more ) instruction data temporary storage registers 2 a 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 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 an arbitrary address. Is.

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

【0031】キュー管理部5は、キューメモリ2から次
に読み出されるべき命令データの先頭アドレスと該キュ
ーメモリ2中の命令データのバイト総数とを常に把握し
ながらROM1からキューメモリ2へのnバイト単位の
命令データのプリフェッチを制御するとともに、セレク
タ3によるキューメモリ2からのjバイト長の命令デー
タの一括読み出し及び該命令データの命令解読部4への
転送を制御するものである。このために、キュー管理部
5は、キューメモリ2からプリフェッチ終了信号を受信
し、命令解読部4から命令解読終了信号とともに命令解
読バイト数情報を受けて、命令データのプリフェッチの
ためにROM1に対してROMアドレスを、キューメモ
リ2に対してキューメモリ書き込みアドレスを各々与え
るとともに、キューメモリ2からの命令データの読み出
しのために該キューメモリ2に対してキューメモリ読み
出しアドレスを与える。
The queue management unit 5 keeps track of the start address of the instruction data to be read next from the queue memory 2 and the total number of bytes of the instruction data in the queue memory 2, and n bytes from the ROM 1 to the queue memory 2 In addition to controlling the prefetch of the unit instruction data, the selector 3 controls the batch reading of the instruction data of the j-byte length from the queue memory 2 and the transfer of the instruction data to the instruction decoding unit 4. For this purpose, the queue management unit 5 receives the prefetch end signal from the queue memory 2, receives the instruction decode byte number information together with the instruction decode end signal from the instruction decode unit 4, and sends it to the ROM 1 for prefetching the instruction data. And a queue memory write address to the queue memory 2, and a queue memory read address 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 a detailed configuration of the queue management unit 5. As shown in the figure, the queue management unit 5
Is a valid byte number register 11, an adder 12, and a subtractor 1
3, a queue memory pointer 14 and a prefetch control unit 15.

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

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

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

【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 described above will be described. (A) When the instruction data is n bytes (b) When the instruction data is smaller than n bytes (c) When the instruction data is It will be described with reference to FIGS. 3 to 5 showing the change of the prefetch position of the instruction data in the queue memory 2 and the state of updating the queue memory pointer 14 in each of the three cases of larger than n bytes. . However, in FIG. 3 to FIG. 5, the non-hatched blank portion indicates a free area of the queue memory 2, and the hatched portion indicates a valid area of the queue memory 2 in which valid and undecoded instruction data is stored.

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

【0038】このプリフェッチ位置へ(a2)に示すよ
うに実際にnバイト長の命令データがプリフェッチされ
ると、該プリフェッチされた命令データの先頭アドレス
を指定するようにキューメモリポインタ14の内容が定
められるとともに、加算器12によって有効バイト数レ
ジスタ11の内容がnだけ増やされる。この結果、プリ
フェッチ位置が同じく(a2)に示すように更新され、
次にプリフェッチされるnバイト長の命令データは先に
プリフェッチされたnバイト長の命令データに対して隙
間なく詰め込まれる。以上の空き領域への命令データの
プリフェッチに並行して解読のためにキューメモリ2内
の命令データの読み出しが行われるのであるが、空きサ
イクルが多い場合にはプリフェッチ数が読み出し数を上
回るためにキューメモリ2が命令データで満たされてい
く。
When n-byte length instruction data is actually pre-fetched to this pre-fetch position as shown in (a2), the contents of the queue memory pointer 14 are set so as to specify the start address of the pre-fetched instruction data. At the same time, the adder 12 increases the content of the valid byte number register 11 by n. As a result, the prefetch position is updated as shown in (a2),
The n-byte length instruction data to be prefetched next is packed without any gap with respect to the previously prefetched n-byte length instruction data. The instruction data in the queue memory 2 is read out for decoding in parallel with the prefetching of the instruction data into the above empty area. However, when there are many empty 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 in the queue memory 2 is read by the selector 3 from the queue memory read address designated by the queue memory pointer 14 and transferred to the instruction decoding unit 4 in parallel with the prefetch as described above. To be done. As shown in (a3), while all the instruction data temporary storage registers of the queue memory 2 are filled with the instruction data, the instruction data stored in the leftmost instruction data temporary storage register is read, When the decoding of the instruction data is completed, the queue management unit 5 receives the instruction decoding byte number information (n bytes in this case) from the instruction decoding unit 4, and the subtracter 13 advances the queue memory pointer 14 by n bytes. At the same time, the content of the valid byte number register 11 is reduced by n. As a result,
As an empty area of the queue memory 2, an area having an n-byte length that matches the prefetch unit of instruction data is secured, and the next prefetch can be performed.

【0040】ところで、キューメモリポインタ14の内
容が(a4)に示すように最右端の命令データ一時格納
用レジスタの先頭アドレスまで進んだときは、次の命令
解読終了時にはキューメモリポインタ14をリング状に
更新する。つまり、(a5)に示すように命令解読の終
了時に最右端の命令データ一時格納用レジスタが次のプ
リフェッチ位置になる場合には、キューメモリポインタ
14は最左端の命令データ一時格納用レジスタの先頭ア
ドレスを指定するように更新される。
By the way, when the content of the queue memory pointer 14 reaches the head address of the rightmost instruction data temporary storage register as shown in (a4), the queue memory pointer 14 is ring-shaped at the end of decoding of the next instruction. To update. That is, as shown in (a5), when the rightmost instruction data temporary storage register is located at the next prefetch position at the end of instruction decoding, the queue memory pointer 14 is set to the head 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 (byte) of the instruction data to be prefetched is the standard instruction word length n (byte).
FIG. RO as in the case of FIG.
The instruction data is read out from the queue memory 2 in parallel with the prefetch of the instruction data from the M1 to the queue memory 2 in units of n bytes. However, the number of prefetches exceeds the number of reads when there are many empty cycles. Therefore, the queue memory 2 is filled with command data.
However, the instruction data of j (<n) byte length that is prefetched later is packed without a gap with respect to the instruction data of j (<n) byte length that was previously prefetched. As a result, as shown in (b1), all the instruction data temporary storage registers of the queue memory 2 are filled with the instruction data, and the queue memory pointer 14 specifies the head address of the leftmost instruction data temporary storage register. It is assumed that you have advanced 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 (<is stored in the leftmost instruction data temporary storage register.
n) When the selector 3 cuts out instruction data having a byte length and the decoding of the instruction data is completed, the queue management unit 5 causes the instruction decoding unit 4 to read the instruction decoding byte number information (in this case, j bytes, j < When n) is received, the subtractor 13 advances the queue memory pointer 14 by j bytes in the same manner as described above and decreases the content of the valid byte number register 11 by j. However, unlike the case of the above (a), the byte number j of the decoded instruction data is smaller than n, so that the decoding of one instruction data is completed and the instruction data is regarded as an empty area of the queue memory 2. An n-byte length area that is a prefetch unit is not secured, and the next prefetch is not executed immediately. As shown in (b3),
Further, the prefetch in the next n-byte unit becomes possible only when the decoding of the next instruction data is completed.

【0043】なお、キューメモリポインタ14の内容が
(b4)に示すように最右端の命令データ一時格納用レ
ジスタまで進んだときは、次の命令解読終了時にはキュ
ーメモリポインタ14をリング状に更新する。つまり、
(b5)に示すように命令解読の終了時に最右端の命令
データ一時格納用レジスタが次のプリフェッチ位置にな
る場合には、キューメモリポインタ14は最左端の命令
データ一時格納用レジスタ中のアドレスを指示するよう
にjバイトだけ更新される。
When the content of the queue memory pointer 14 has reached the rightmost instruction data temporary storage register as shown in (b4), the queue memory pointer 14 is updated in a ring shape at the end of decoding of the next instruction. . That is,
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 sets the address in the leftmost instruction data temporary storage register. Only j bytes are updated as indicated.

【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 (byte) of the instruction data to be prefetched is the standard instruction word length n (byte).
FIG. Since there are many empty cycles as in the case of (b), as shown in (c1), all the instruction data temporary storage registers of the queue memory 2 are filled with instruction data, and the queue memory pointer 14 is leftmost instruction data. It is assumed that the process has proceeded to specify the start address of the temporary storage register. However, in this case as well
Prefetch of instruction data from 1 to the queue memory 2 is performed in units of n bytes, and prefetched later.
The instruction data of (> n) byte length is packed without any gap in the previously prefetched instruction data of j (> n) byte length.

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

【0046】なお、キューメモリポインタ14の内容が
(c3)に示すように最右端の命令データ一時格納用レ
ジスタの中ほどまで進んだときは、次の命令解読終了時
には該キューメモリポインタ14をリング状に更新す
る。この際、(c4)に示すようにキューメモリポイン
タ14の指定アドレスが最左端の命令データ一時格納用
レジスタを飛び越えて該最左端の命令データ一時格納用
レジスタに隣接する命令データ一時格納用レジスタまで
進められる場合には、一度に2×nバイトの空き領域が
確保できるので、空きサイクルを利用してnバイト単位
の2回のプリフェッチが続けて行われる。
When the contents of the queue memory pointer 14 have reached the middle of the rightmost instruction data temporary storage register as shown in (c3), the queue memory pointer 14 is ringed at the end of decoding of the next instruction. Update to the state. At this time, as shown in (c4), the designated 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. In the case of advancing, an empty area of 2 × n bytes can be secured at one time, and therefore, the prefetch is performed twice in units of n bytes using the empty cycle.

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

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

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

【0050】[0050]

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

【0051】さらに、互いに連結された複数の命令デー
タ一時格納用レジスタにより任意語長jバイトの命令デ
ータの書き込み及び読み出しが可能な一連の命令データ
格納領域を形成したキューメモリを備えた構成を採用
し、しかも該一連の命令データ格納領域に任意語長jバ
イトの複数の命令データが互いに隙間なく詰め込まれる
ようにしたので、該キューメモリが無駄なく使え、多様
な命令語長に対して柔軟に対応し得る。
Further, a structure is provided which includes a queue memory in which a series of instruction data storage areas capable of writing and reading instruction data of arbitrary word length j bytes are formed by a plurality of instruction data temporary storage registers connected to each other. In addition, since a plurality of instruction data of arbitrary word length j bytes are packed in the series of instruction data storage areas without any space therebetween, the queue memory can be used without waste and is flexible for various instruction word lengths. Can respond.

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

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

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

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

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

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

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

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

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

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

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

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

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 標準命令語長nバイトのマイクロコンピ
ュータのプログラムを構成する複数の命令データが格納
されたプログラムメモリから任意語長j(ここに、j=
n、j>n、j<nのいずれでも許容される。)バイト
の命令データを標準命令語長と一致するnバイト単位で
順次プリフェッチし、かつ該プリフェッチした任意語長
jバイトの命令データを命令解読部にて順次解読させる
ための命令プリフェッチ装置であって、 各々が標準命令語長と同じnバイト長を有する3個以上
の命令データ一時格納用レジスタを備え、該3個以上
命令データ一時格納用レジスタが互いに連結されかつ前
記プログラムメモリに対して並列に配置されて、任意ア
ドレスへの書き込み及び任意アドレスからの読み出しが
可能なnバイトの3倍以上のバイト長を有する一連の命
令データ格納領域が構成され、該命令データ格納領域の
うち有効かつ未解読の命令データが格納されていない空
き領域へ前記プログラムメモリから任意語長jバイトの
命令データが標準命令語長と一致するnバイト単位で順
次プリフェッチされて、任意語長jバイトの複数の命令
データが互いに隙間なく詰め込まれるキューメモリと、 該キューメモリ内にプリフェッチされた任意語長jバイ
トの命令データを該キューメモリの指定されたアドレス
から切り出して読み出し、該読み出した任意語長jバイ
トの命令データを前記命令解読部へ順次転送するための
セレクタと、 前記キューメモリにおける空き領域として少なくとも命
令データのプリフェッチ単位に一致するnバイト長の領
域が確保されたときに前記プログラムメモリからキュー
メモリへの命令データのプリフェッチを実行させ、かつ
該プリフェッチと並行して該キューメモリから次に読み
出されるべき有効かつ未解読の命令データの先頭アドレ
スを該キューメモリに与えることによって前記セレクタ
によるキューメモリからの命令データの読み出しと該命
令データの転送とを実行させるためのキュー管理部と
備え、 前記キュー管理部は、 前記キューメモリから次に読み出されるべき有効かつ未
解読の命令データの先頭アドレスをキューメモリ読み出
しアドレスとして保持し、該キューメモリ読み出しアド
レスを前記キューメモリに与えることによって前記セレ
クタによるキューメモリからの命令データの読み出しと
該命令データの転送とを実行させるためのキューメモリ
ポインタと、 前記キューメモリ中の有効かつ未解読の命令データのバ
イト総数を有効バイト数として保持するための有効バイ
ト数レジスタと、 前記キューメモリへの命令データの標準命令語長と一致
するnバイト単位のプリフェッチが終了する毎に、該プ
リフェッチされた命令データのバイト数nだけ有効バイ
ト数を増やすように前記有効バイト数レジスタを更新す
るためのプリフェッチ時更新手段と、 前記命令解読部による任意語長jバイトの命令データの
解読が終了する毎に該解読された命令データのバイト数
jが該命令解読部から与えられ、該解読された命令デー
タのバイト数jが与えられる毎に、該解読された命令デ
ータのバイト数jだけキューメモリ読み出しアドレスを
進めるように前記キューメモリポインタを更新し、かつ
該解読された命令データのバイト数jだけ有効バイト数
を減らすように前記有効バイト数レジスタを更新するた
めの命令解読時更新手段と、 前記キューメモリ読み出しアドレスと有効バイト数とか
ら前記キューメモリにおける空き領域の先頭アドレスと
該空き領域のバイト数とを算出し、該空き領域として少
なくとも命令データのプリフェッチ単位に一致するnバ
イト長の領域が確保されたときに、前記プログラムメモ
リに対して次にプリフェッチされるべき命令データの先
頭アドレスを指定しかつ次にプリフェッチされるべき命
令データに関するキューメモリ書き込みアドレスとして
該キューメモリに対して前記空き領域の先頭アドレスを
指定することによって、前記プログラムメモリからキュ
ーメモリへの命令データのプリフェッチを実行させるた
めのプリフェッチ制御部とを備えた ことを特徴とする命
令プリフェッチ装置。
1. A program memory in which a plurality of instruction data that constitutes a microcomputer program having a standard instruction word length of n bytes is stored.
Any of n, j> n and j <n is allowed. ) An instruction prefetch device for sequentially prefetching byte instruction data in units of n bytes that match the standard instruction word length, and sequentially decoding the prefetched arbitrary word length j bytes of instruction data by an instruction decoding unit. , Three or more instruction data temporary storage registers each having the same n-byte length as the standard instruction word length, the three or more instruction data temporary storage registers being connected to each other and the program memory Are arranged in parallel with respect to each other, and a series of instruction data storage areas having a byte length three times or more of n bytes capable of writing to and reading from an arbitrary address are configured. Of the instruction data of arbitrary word length j bytes from the program memory to the empty area where valid and undecoded instruction data is not stored A queue memory that is sequentially prefetched in units of n bytes that matches the word length, and a plurality of instruction data of arbitrary word length j bytes are packed without gaps between them, and instruction data of arbitrary word length j bytes prefetched in the queue memory Is cut out from a specified address of the queue memory and is read out, and a selector for sequentially transferring the read instruction data of arbitrary word length j bytes to the instruction decoding unit; When an n-byte length area matching the prefetch unit is secured, prefetch of instruction data from the program memory to the queue memory is executed, and in parallel with the prefetch, it is valid and should be read next from the queue memory. Give the start address of undecoded instruction data to the queue memory In this way, a queue management unit for executing the reading of instruction data from the queue memory by the selector and the transfer of the instruction data is provided.
The queue management unit is provided with a valid and unread function to be read next from the queue memory.
Read the start address of decoding instruction data in the queue memory
Stored as an address and read the queue memory
To the queue memory by giving a reply to the queue memory.
And reading the instruction data from the queue memory
Queue memory for executing the transfer of the instruction data
The pointer and the valid and undecoded instruction data bar in the queue memory.
Bytes to keep the total number of bytes as valid bytes.
Number register and the standard instruction word length of instruction data to the queue memory
Each time n-byte unit prefetch is completed,
Valid bytes for the number n of bytes of refetched instruction data
Update the number of valid bytes register to increase
Updating means for prefetching and instruction data of arbitrary byte length j bytes by the instruction decoding unit
Number of bytes of the decoded instruction data each time decoding is completed
j is given from the instruction decoding unit, and the decoded instruction data
Each time the number of data bytes j is given, the decoded instruction data
The queue memory read address for byte number j of data
Update the queue memory pointer to proceed, and
The number of valid bytes corresponding to the byte number j of the decoded instruction data
Update the valid bytes register to reduce
For decoding the instruction for decoding, the queue memory read address and the number of valid bytes
And the start address of the empty area in the queue memory
Calculate the number of bytes in the free area and reduce the free area.
If there is no n-number that matches the prefetch unit of instruction data
When the program length area is secured, the program memo
Ahead of the instruction data that should be prefetched next
Life to specify head address and next prefetch
As a queue memory write address for command data
The start address of the empty area is set to the queue memory
By specifying, the program memory
-For prefetching instruction data to memory
And a prefetch control unit for the instruction prefetch device.
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 JPH04369038A (en) 1992-12-21
JP2682761B2 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1457876B1 (en) * 1998-03-18 2017-10-04 Qualcomm Incorporated Systems for and method of controlling a digital signal processor using a variable length instruction set, method of generating and storing said instructions and memory comprising said instructions

Family Cites Families (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
CA1233270A (en) * 1985-03-18 1988-02-23 Vojin G. Oklobdzija Register selection mechanism and organization of an instruction prefetch buffer

Also Published As

Publication number Publication date
JPH04369038A (en) 1992-12-21

Similar Documents

Publication Publication Date Title
US5717946A (en) Data processor
EP0320098B1 (en) Jump prediction
KR100875377B1 (en) Apparatus and Method for Performing Stack Pop and Push Operations in a Processing System
EP0180725A2 (en) Instruction prefetch operation for branch instructions
EP1241567B1 (en) Method and apparatus for executing coprocessor instructions
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
EP0458305B1 (en) Microprocessor having branch prediction function
JPH1091443A (en) Information processing circuit, microcomputer and electronic equipment
JP2655191B2 (en) Arithmetic processing unit
KR100682635B1 (en) Microprocessor Including Multiple Register Files Occupying The Same Logical Space
KR100385495B1 (en) Processing system with word alignment branch target
JPH07120278B2 (en) Data processing device
EP1143333B1 (en) Microprocessor for supporting reduction of program codes in size
JP5154763B2 (en) Conditional branch instruction encoding in multiple instruction set data processing systems
JP2682761B2 (en) Instruction prefetch device
JPH06266556A (en) Data processor
US20010037444A1 (en) Instruction buffering mechanism
US6862680B2 (en) Microprocessor processing specified instructions as operands
JP2002024008A (en) Data processor and program conversion device
JP3602801B2 (en) Memory data access structure and method
CN111124499A (en) Processor compatible with multi-instruction system and operation method thereof
JP2668987B2 (en) Data processing device
JP2694799B2 (en) Information processing device
JPH0793152A (en) Microprocessor controller
JPH08161166A (en) Processor

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