JPH02138624A - Queue device - Google Patents

Queue device

Info

Publication number
JPH02138624A
JPH02138624A JP8641588A JP8641588A JPH02138624A JP H02138624 A JPH02138624 A JP H02138624A JP 8641588 A JP8641588 A JP 8641588A JP 8641588 A JP8641588 A JP 8641588A JP H02138624 A JPH02138624 A JP H02138624A
Authority
JP
Japan
Prior art keywords
instruction
queue
data
signal
latch
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
JP8641588A
Other languages
Japanese (ja)
Other versions
JPH0769798B2 (en
Inventor
Hisaharu Oba
大場 久晴
Masahiro Nomura
昌弘 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP63086415A priority Critical patent/JPH0769798B2/en
Publication of JPH02138624A publication Critical patent/JPH02138624A/en
Publication of JPH0769798B2 publication Critical patent/JPH0769798B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To improve the performance of a microcomputer by setting the write data width at 2 words to an instruction queue and securing the variable length reading for the read data width every 1 or 2 words against the instruction queue. CONSTITUTION:The instruction codes read out of a memory are written into an instruction queue latch 101 every 2 words. Then the instruction codes are read out of the latch 101 every 1 or 2 words for execution of instructions. While an IQWR signal 1081, i.e., the instruction codes applied to the latch 101 every 2 words or a write signal is inputted to an instruction queue control part 105 from a bus control part 108. At the same time, a QWRD signal 1091, i.e., the instruction code read signals received from the latch 101 every word and a QLWRD signal 1092, i.e., the instruction code read signals received from the latch 101 every 2 words are inputted to the part 105 from an instruction executing part 109. Thus the necessary and sufficient number of instruction codes are supplied and therefore the performance of a microcomputer is improved.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、マイクロコンピュータの先行処理等に用いら
れるキュー装置に関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a queue device used for advance processing of a microcomputer.

〔従来の技術〕[Conventional technology]

一般に、パイプライン制御を行なっているマイクロコン
ピュータでは、命令コードやオペランドデータをメモリ
から先取りして蓄えておくバッファあるいはキューを備
えている。
Generally, a microcomputer that performs pipeline control is equipped with a buffer or queue that stores instruction codes and operand data in advance from memory.

第8図はバイブライン制御を採用した従来のマイクロコ
ンピュータで用いられている、命令コード先取り用のキ
ューを備えた命令コードフェッチ部の構成を示すブロッ
ク図、第9図(1)〜第9図(3)は第8図の従来例の
動作を示す説明図である。
FIG. 8 is a block diagram showing the configuration of an instruction code fetch unit equipped with a queue for prefetching instruction codes, which is used in a conventional microcomputer that employs vibe line control; FIG. 9 (1) to FIG. (3) is an explanatory diagram showing the operation of the conventional example shown in FIG.

命令コードフエッヂ部500は、命令コードを1ワ一ド
単位にFIFOで格納する命令キューラッチ501と、
命令キューラッチ501からの読出し位置を示す命令キ
ューポインタ502と、命令コードフェッチ部500を
制御する命令キュー制御部503からなり、1ワ一ド幅
の命令コード入力バス504および1ワ一ド幅の命令コ
ード出力バス505に接続されている。
The instruction code edge unit 500 includes an instruction queue latch 501 that stores instruction codes in units of one word in FIFO;
It consists of an instruction queue pointer 502 that indicates the read position from the instruction queue latch 501, and an instruction queue control unit 503 that controls the instruction code fetch unit 500. It is connected to an instruction code output bus 505.

また、命令コード入力バス504は、メモリからの命令
コード読出しおよびメモリとのデータ読出し/書込みを
行なうバス制御部506に接続され、命令フード出力バ
ス505は、命令実行を行なう命令実行部507に接続
されている。
The instruction code input bus 504 is connected to a bus control unit 506 that reads instruction codes from the memory and reads/writes data to and from the memory, and the instruction food output bus 505 is connected to an instruction execution unit 507 that executes instructions. has been done.

命令キューラッチ501は、1ワ一ド×4段のシフトレ
ジスタ5011〜5014で構成され、命令キューラッ
チ501への書込みにより、1ワ一ド幅の命令コード入
力バス504の内容をシフトレジスタ5011に取り込
むと共に、それまでのシフトレジスタ5011〜501
4の内容全体を1段出力側にシフトする。
The instruction queue latch 501 is composed of 1-word x 4-stage shift registers 5011 to 5014, and by writing to the instruction queue latch 501, the contents of the 1-word wide instruction code input bus 504 are transferred to the shift register 5011. At the same time as importing, the previous shift registers 5011 to 501
Shift the entire contents of 4 to the output side by one stage.

命令キューポインタ502は、1ビット×5段のシフト
レジスタ5021〜5025で構成され、5ビツトの内
、常に1つのビットのみが1″にセットされており、セ
ットされたポインタが、命令キューラッチ501内の1
ワードデータの読出し位置、即ち命令コード出力バス5
05に出力されている命令キューラッチ501内の1ワ
ードデータの位置に対応している。
The instruction queue pointer 502 is composed of 1-bit x 5-stage shift registers 5021 to 5025, of which only one bit is always set to 1'', and the set pointer is transferred to the instruction queue latch 501. one of them
Word data read position, i.e. instruction code output bus 5
This corresponds to the position of 1 word data in the instruction queue latch 501 that is output to 05.

命令キューラッチ501が空の時、即ち命令キューラッ
チ501内に有効命令コードが無い場合には、シフトレ
ジスタ5021が1″にセットされている。
When instruction queue latch 501 is empty, ie, there is no valid instruction code in instruction queue latch 501, shift register 5021 is set to 1''.

命令キューラッチ501には、バス制御部506がメモ
リから読出した命令コードが1ワ一ド単位で書込まれ、
命令キューラッチ501からは、命令実行部507によ
り、命令コードが1ワ一ド単位で読出される。
The instruction code read from the memory by the bus control unit 506 is written in the instruction queue latch 501 in units of one word.
An instruction code is read from the instruction queue latch 501 in units of one word by the instruction execution unit 507.

命令キュー制御部503には、バス制御部506から、
命令キューラッヂ501への1ワ一ド単位の命令コード
書込み信号であるQWII信号5061が入力される。
The instruction queue control unit 503 receives the following information from the bus control unit 506:
A QWII signal 5061, which is a one-word instruction code write signal to the instruction queue ledge 501, is input.

命令キュー制御部503は、命令キューラッチ内に読出
されていない命令コードが1ワ一ド以上存在する、すな
わち命令キューポインタ5022〜5026のうちいず
れかが1″にセットされている場合、命令キューラッチ
501からの命令コード読出しが可能な状態であること
を示すキューレディー信号50:33をアクティブにす
る。
The instruction queue control unit 503 controls the instruction queue when there is one word or more of unread instruction code in the instruction queue latch, that is, when any of the instruction queue pointers 5022 to 5026 is set to 1''. The queue ready signal 50:33 indicating that the instruction code can be read from the latch 501 is activated.

命令実行部507は、命令キューラッチ501より命令
コードの読出しを行う際、読出しが可能な状態、すなわ
ちキューレディー信号5033がアクティブであれば、
命令キュー制御部503に対して、1ワ一ド単位の命令
コード読出し信号であるQRD信号5071を出力する
When reading an instruction code from the instruction queue latch 501, the instruction execution unit 507 is in a readable state, that is, if the queue ready signal 5033 is active,
A QRD signal 5071, which is an instruction code read signal in units of one word, is output to the instruction queue control unit 503.

命令* ニー ill fll af1503 ハ、Q
WRI号506tQRD信号5071により命令キュー
ポインタ502の動作を制御する。命令キュー制御部5
03は、命令キューポインタ502に対しては、命令キ
ューポインタ502を入力側に1段シフトするQPB信
号5031と、命令キューポインタ502を出力側に1
段シフトするQPF信@5032を出力する。
Command* Knee ill full af1503 Ha, Q
The operation of the instruction queue pointer 502 is controlled by the WRI number 506tQRD signal 5071. Instruction queue control unit 5
03, for the instruction queue pointer 502, a QPB signal 5031 that shifts the instruction queue pointer 502 by one stage to the input side, and a QPB signal 5031 that shifts the instruction queue pointer 502 by one stage to the output side.
Outputs QPF signal @5032 which is shifted by step.

次に、命令コードフェッチ部500の動作を説明する。Next, the operation of instruction code fetch section 500 will be explained.

命令キューラッチ501への書込み動作と、命令キュー
ラッチ501からの読出し動作の組み合わせは、 (1)バス制御部506による命令キューラッチ501
への1込みのみが行なわれた場合(QWR信号5061
がアクティブ) (2)命令実行部507による命令キューラッヂ501
からの読出しのみが行なわれた場合(QRD信号507
1がアクティブ) (3)バス制御部506による命令キューラッチ501
への書込みと、命令実行部507による命令キューラッ
チ501からの読出しが同時に行なわれた場合(QWR
信号5061とQRD信号5071がアクティブ) の3通りがある。
The combination of the write operation to the instruction queue latch 501 and the read operation from the instruction queue latch 501 is as follows: (1) The instruction queue latch 501 by the bus control unit 506
When only 1 is added to QWR signal 5061
(active) (2) Instruction queue latch 501 by instruction execution unit 507
(QRD signal 507
1 is active) (3) Instruction queue latch 501 by bus control unit 506
When writing to and reading from the instruction queue latch 501 by the instruction execution unit 507 are performed at the same time (QWR
There are three ways (signal 5061 and QRD signal 5071 are active).

この3通りの条件における、命令コードフエッヂ部50
0の動作を第9図を参照して述べる。なお、図中のao
、al、a2は、命令キューラッチ501内の命令コー
ドを示している。
Instruction code edge section 50 under these three conditions
The operation of 0 will be described with reference to FIG. In addition, ao in the figure
, al, and a2 indicate instruction codes in the instruction queue latch 501.

(1)の場合には、第9図(1)に示すように、命令キ
ューラッチ501の内容が出力側に1段シフトされ、命
令キュー制御部503は、QPF信号5032をアクテ
ィブにして、命令キューポインタ502を出力側に1段
シフトする。これにより、命令コード出力バス505に
出力されている命令コードは変化しない。
In the case of (1), as shown in FIG. 9(1), the contents of the instruction queue latch 501 are shifted one stage to the output side, and the instruction queue control unit 503 activates the QPF signal 5032 to The cue pointer 502 is shifted one stage to the output side. As a result, the instruction code being output to the instruction code output bus 505 does not change.

(2)の場合には、第9図(2)に示すように、命令キ
ューラッチ501の内容がシフトされず、命令キュー制
御部503は、QPB信号5031をアクティブにして
、命令キューポインタ502を入力側に1段シフトする
。これにより、命令コード出力バス505には、次の1
ワードの命令コードが出力される。
In case (2), as shown in FIG. 9(2), the contents of the instruction queue latch 501 are not shifted, and the instruction queue control unit 503 activates the QPB signal 5031 to set the instruction queue pointer 502. Shift one step to the input side. As a result, the following one is sent to the instruction code output bus 505.
A word instruction code is output.

(3)の場合には、第9図(3)に示すように、命令キ
ューラッチ501の内容が出力側に1段シフトされ、命
令キューポインタ502はシフトしない。これにより、
命令コード出力バス505には、次の1ワードの命令コ
ードが出力される。
In case (3), as shown in FIG. 9(3), the contents of the instruction queue latch 501 are shifted one stage to the output side, and the instruction queue pointer 502 is not shifted. This results in
The next one-word instruction code is output to the instruction code output bus 505.

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

上述した従来の命令キューは、読出しデータ幅が固定長
であるため、命令キューからの読出しデータの最小単位
が1ワードの場合には、キューラッヂのデータ幅を1ワ
ードより大きくすることができない。即ち、従来のキュ
ー構成では、キューラッヂのデータ幅は、読出しデータ
幅の最小単位で制限されているため、命令実行部分のハ
ードウェア強化による命令実行の高速化、あるいはメモ
リからの命令コードフェッチにおける外部バス幅を増大
することにより、マイクロコンピュータの処理能力の向
上を図ろうとしても、命令キューにおけるデータ幅がネ
ックとなり、命令実行部分への命令コード供給が十分に
行なわれないため、処理能力向上が抑えられてしまうと
いう欠点がある。
In the conventional instruction queue described above, the read data width is a fixed length, so if the minimum unit of read data from the instruction queue is one word, the data width of the queue latch cannot be made larger than one word. In other words, in the conventional queue configuration, the data width of the queue latch is limited by the minimum unit of the read data width. Even if an attempt is made to improve the processing power of a microcomputer by increasing the bus width, the data width in the instruction queue becomes a bottleneck, and the instruction code is not sufficiently supplied to the instruction execution part, so the processing power cannot be improved. It has the disadvantage of being suppressed.

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

本発明のキュー装置は、 命令コードあるいはデータをFIFOで格納する単位命
令コード長あるいは単位データ長の倍長の幅を有する複
数段のシフトレジスタで構成される記憶手段と、 記憶手段の上位側単位長命令コードあるいは上位側単位
長データの読出し位置を示す上位読出し位置指示手段と
、 記憶手段の下位側単位長命令コードあるいは下位側単位
長データの読出し位置を示す下位読出し位置指示手段と
、 上位読出し位置指示手段で指される記憶手段内の上位側
単位長命令コードあるいは上位側単位長データと下位読
出し位置指示手段で指される記憶手段内の館記下位側単
位長命令コードあるいは下位側単位長命令コードあるい
は下位側単位長データを交換する交換手段と、 記憶手段内に命令コードあるいはデータが格納されてい
ることを検出する検出手段と、外部からの読出し、書込
み信号に応じて上位読出し位置指示手段、下位読出し位
置指示手段の内容を変化させ、また交換手段をアクティ
ブ/インアクティブにする制御手段とを有している。
The queue device of the present invention comprises a storage means configured with a multi-stage shift register having a width twice the unit instruction code length or unit data length for storing instruction codes or data in FIFO, and an upper unit of the storage means. Upper read position indicating means indicating the read position of the long instruction code or upper unit length data; Lower read position indicating means indicating the read position of the lower unit length instruction code or lower unit length data of the storage means; Upper unit length instruction code or upper unit length data in the storage means pointed to by the position indication means and lower unit length instruction code or lower unit length in the storage means pointed to by the lower reading position indication means An exchange means for exchanging instruction codes or lower unit length data, a detection means for detecting that instruction codes or data are stored in the storage means, and an upper read position instruction in response to external read and write signals. and control means for changing the contents of the lower read position indicating means and for activating/inactivating the exchange means.

〔作用〕[Effect]

本発明は、命令キューへの書込みデータ幅を2ワードと
し、命令キューからの読出しデータ幅は1ワードあるい
は2ワ一ド単位に可変長読出し可能にしている。これに
より、命令キューのデータ幅の制限による、命令実行部
分への命令コード供給ネックの発生を抑え、必要十分な
出の命令コードを供給することによって、マイクロコン
ピュータの性能向上を実現している。
In the present invention, the write data width to the instruction queue is 2 words, and the read data width from the instruction queue is variable in length in units of 1 word or 2 words. This prevents bottlenecks in supplying instruction codes to the instruction execution section due to limitations on the data width of the instruction queue, and improves the performance of the microcomputer by supplying necessary and sufficient output instruction codes.

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

第1図は本発明のキュー装置の第1の実施例である、命
令コード先取り用キューを備えたマイクロコンピュータ
の命令コードフェッチ部の構成を示すブロック図、第4
図(1)〜第4図(10)は第1の実施例の動作説明図
である。
FIG. 1 is a block diagram showing the configuration of an instruction code fetch section of a microcomputer equipped with an instruction code prefetching queue, which is a first embodiment of the queue device of the present invention.
FIG. 4 (1) to FIG. 4 (10) are explanatory diagrams of the operation of the first embodiment.

命令コードフエツヂ部100は、命令コードを2ワ一ド
単位にFIFOで格納する命令キューラッチ101と、
2ワード構成の命令キューラッチ101の内、下位側か
らの1ワードデータの読出し位置を示す下位側命令キュ
ーポインタ102と、上位側からの1ワードデータの読
出し位置を示す上位側命令キューポインタ103と、命
令キューラッチ101の出力の下位側1ワードデータと
、上位側1ワードデータの上位/下位を交換して出力す
る命令キューエクスチェンジャ104と、命令コードフ
ェッチ部100を制御する命令キュー制御部105から
成り、2ワ一ド幅の命令コード入力バス106および2
ワ一ド幅の命令コード出力バス107に接続されている
The instruction code fencing unit 100 includes an instruction queue latch 101 that stores instruction codes in units of 2 words in FIFO;
In the instruction queue latch 101 having a 2-word configuration, a lower instruction queue pointer 102 indicates the position from which one word of data is read from the lower side, and an upper instruction queue pointer 103 indicates the position from which one word of data is read from the upper side. , an instruction queue exchanger 104 that exchanges and outputs the lower one word data of the output of the instruction queue latch 101 and the upper/lower one of the upper one word data, and the instruction queue control section 105 that controls the instruction code fetch section 100. and a 2-word wide instruction code input bus 106 and 2
It is connected to a one-word wide instruction code output bus 107.

また、命令コード入力バス106は、メモリからの命令
コード読出しおよびメモリとのデータ読出し/′m込み
を行なうバス制御部108に接続され、命令コード出力
バス107は、命令実行を行なう命令実行部109に接
続されている。
The instruction code input bus 106 is connected to a bus control unit 108 that reads instruction codes from the memory and reads/writes data to and from the memory, and the instruction code output bus 107 is connected to an instruction execution unit 109 that executes instructions. It is connected to the.

命令キューラッチ101は、2ワ一ド×4段のシフトレ
ジスタ1011〜1014で構成され、命令キューラッ
チ101への書込みにより、2ワ一ド幅の命令コード入
力バス106の内容をシフトレジスタ101+に取り込
むと共に、それまでのシフトレジスタ1011〜101
4の内容全体を出力側に1段シフトする。
The instruction queue latch 101 is composed of 2-word x 4-stage shift registers 1011 to 1014, and by writing to the instruction queue latch 101, the contents of the 2-word wide instruction code input bus 106 are transferred to the shift register 101+. At the same time as importing, the previous shift registers 1011 to 101
The entire contents of 4 are shifted one stage to the output side.

下位側命令キューポインタ102は、1ビット×5段シ
フトレジスタ1021〜1025で構成され、5ビツト
の内、常に1つのビットのみが1″にセットされており
、セットされたポインタが、命令キューラッチ101内
の下位側1ワードデータの読出し位置を示している。
The lower instruction queue pointer 102 is composed of 1 bit x 5 stage shift registers 1021 to 1025, of which only one bit is always set to 1'', and the set pointer is connected to the instruction queue latch. 101 shows the reading position of one word of data on the lower side.

上位側命令キューポインタ103は、1ビット×5段の
シフトレジスタ1031〜1o35で構成され、5ビツ
トの内、常に1つのビットのみが“1″にセットされて
おり、セットされたポインタが、命令キューラッチ10
1内の上位側1ワードデータの読出し位置を示している
The upper instruction queue pointer 103 is composed of shift registers 1031 to 1o35 with 1 bit x 5 stages, and only one bit among the 5 bits is always set to "1", and the set pointer is Cue latch 10
1 shows the read position of the upper 1 word data in 1.

命令キュー100が空の時、即ち命令キューラッチ10
1内に有効命令コードが無い場合には、シフトレジスタ
1021.103+が共に“1′′にセットされている
When the instruction queue 100 is empty, that is, the instruction queue latch 10
If there is no valid instruction code in 1, shift registers 1021 and 103+ are both set to ``1''.

命令キューラッチ101には、メモリから読出された命
令コードが2ワ一ド単位で書込まれ、命令キューラッチ
101からは、命令実行のために命令コードが1ワ一ド
単位あるいは2ワ一ド単位で読出される。
The instruction code read from the memory is written in 2-word units to the instruction queue latch 101, and the instruction code is written in 1-word or 2-word units for instruction execution from the instruction queue latch 101. Read in units.

命令キュー制御部105には、バス制御部108から、
命令キューラッチ101への2ワ一ド単位の命令コード
書込み信号であるIQWR信号1081が入力され、命
令実行部109から、命令キューラッチ101からの1
ワ一ド単位の命令コード読出し信号であるQWRD信@
109t と、命令キューからの2ワ一ド単位の命令コ
ード読出し信号であるQIJRD信号1092が入力さ
れる。命令キュー制御部105は、これらの信号により
下位側命令キューポインタ102.上位側命令キューポ
インタ103および命令キューエクスチェンジャ104
の動作をIII!Ilする。下位側命令キューポインタ
102に対しては、下位側命令キューポインタ102を
入力側に1段シフトするQPLB信号1051と、下位
側命令キューポインタ102を出力側に1段シフトする
QPLF信号1952を、上位側命令キューポインタ1
03に対しては、上位側命令キューポインタ103を入
力側に1段シフトするQ P If B信号1053と
、上位側命令キューポインタ103を出力側に1段シフ
トするQPHF信号1054を、命令キューエクスチェ
ンジャ104に対しては、命令キューエクスヂエンジャ
104がらの出力の反転を制御するIQX信号1055
を出力する。
The instruction queue control unit 105 receives the following information from the bus control unit 108:
The IQWR signal 1081, which is an instruction code write signal in units of 2 words, is input to the instruction queue latch 101, and the instruction execution unit 109 writes the 1 word from the instruction queue latch 101.
QWRD signal which is a word unit instruction code read signal @
109t and a QIJRD signal 1092 which is an instruction code read signal in units of 2 words from the instruction queue are input. The instruction queue control unit 105 uses these signals to set the lower instruction queue pointer 102 . Upper instruction queue pointer 103 and instruction queue exchanger 104
The operation of III! Ill do it. For the lower instruction queue pointer 102, a QPLB signal 1051 that shifts the lower instruction queue pointer 102 one step toward the input side and a QPLF signal 1952 that shifts the lower instruction queue pointer 102 one step toward the output side are sent to the upper instruction queue pointer 102. Side instruction queue pointer 1
For 03, the Q P If B signal 1053 which shifts the upper instruction queue pointer 103 by one step to the input side and the QPHF signal 1054 which shifts the upper instruction queue pointer 103 by one step to the output side are sent to the instruction queue exit. For changer 104, IQX signal 1055 controls the inversion of the output from instruction queue exchanger 104.
Output.

次に、第1図の命令コードフェッチ部100の動作を説
明する。
Next, the operation of the instruction code fetch section 100 shown in FIG. 1 will be explained.

命令キューラッチ101への書込み動作と命令キューラ
ッチ101からの読出し動作の組み合わせは、 (1)バス制御部108による命令キューラッチ101
への2ワード書込みのみが行なわれた場合(IQWn信
号1081がアクティブ)。
The combination of the write operation to the instruction queue latch 101 and the read operation from the instruction queue latch 101 is as follows: (1) The instruction queue latch 101 by the bus control unit 108
(IQWn signal 1081 is active).

(2)命令実行部109による命令キューラッチ101
からの1ワード読出しのみが行なわれた場合(QWRD
信号1091がアクティブ)。
(2) Instruction queue latch 101 by instruction execution unit 109
If only one word is read from QWRD
signal 1091 is active).

(3)命令実行部109による命令キューラッチ101
からの2ワード読出しのみが行なわれた場合(QL14
RD信号1092がアクティブ)。
(3) Instruction queue latch 101 by instruction execution unit 109
When only 2 words are read from QL14
RD signal 1092 is active).

(4)バス制御部108による命令キューラッチ101
への2ワード書込みと、命令実行部109による命令キ
ューラッチ101からの1ワード読出しが同時に行なわ
れた場合(rQWR信号1081とQWRD信号109
1がアクティブ)。
(4) Instruction queue latch 101 by bus control unit 108
When two words are written to the instruction queue latch 101 and one word is read from the instruction queue latch 101 by the instruction execution unit 109 at the same time (rQWR signal 1081 and QWRD signal 109
1 is active).

(5)バス制御部108による命令キューラッチ101
への2ワード書込みと、命令実行部109による命令キ
ューラッチ101からの2ワード読出しが同時に行なわ
れた場合(IQWR信号1081とQL14RD信号1
092がアクティブ)。
(5) Instruction queue latch 101 by bus control unit 108
When two words are written to the instruction queue latch 101 and two words are read from the instruction queue latch 101 by the instruction execution unit 109 at the same time (IQWR signal 1081 and QL14RD signal 1
092 is active).

の5通りがある。There are five ways.

この5通りの条件における命令コードフェッチ部100
の動作を第4図を参照して述べる。なお、図中のao、
al、a2.a3は、命令キューラッチ101内の命令
コードを示している。
Instruction code fetch unit 100 under these five conditions
The operation will be described with reference to FIG. In addition, ao in the figure,
al, a2. a3 indicates the instruction code in the instruction queue latch 101.

(1)の場合(第4図(1) 、 (2) )。第4図
(1)は、IQXfi号1055が0″の場合を、第4
図(2)ハ、IQX信号l 055 カ”1 ” (7
)I合ヲ示している。いずれの場合も、命令キューラッ
チ101の内容が出力側に1段シフトされ、命令キュー
制御部105は、QPLF信号1052およびQPHr
信号1054をアクティブにして、下位側命令キューポ
インタ102および上位側命令キューポインタ103を
共に出力側に1段シフトする。これにより、命令コード
出力バス107に出力されている命令コードは変化しな
い。また、命令キューエクスチェンジャ104の状態は
変化しない。
Case (1) (Figure 4 (1), (2)). Figure 4 (1) shows the case where IQXfi No. 1055 is 0'',
Figure (2) C, IQX signal l 055 F “1” (7
) It shows I match. In either case, the contents of the instruction queue latch 101 are shifted one stage to the output side, and the instruction queue control unit 105 outputs the QPLF signal 1052 and the QPHr
The signal 1054 is activated to shift both the lower instruction queue pointer 102 and the upper instruction queue pointer 103 one stage to the output side. As a result, the instruction code being output to the instruction code output bus 107 does not change. Further, the state of the instruction queue exchanger 104 does not change.

(2)の場合(第4図(3) 、 (4) )。第4図
(3)は、IQX信号1055が“0′′の場合を、第
4図(4)は、IQX信号1056が1″の場合を示し
ている。命令キューラッチ101の内容はシフトせず、
命令キュー制御部105は、 IQX信号1055が“
0″の場合には、QPLB信号1051をアクティブに
して下位側命令キューポインタ102を入力側に1段シ
フトし、IQX信号1055が111 IIの場合には
、QPHB信@1053をアクティブにして、上位側命
令キューポインタ103を入力側に1段シフトする。こ
れにより、命令コード出力バス107には、次の2ワー
ドの命令コードが出力される。また、命令キュー制御部
105は、IQX信号1055を反転することにより、
命令キューエクスチェンジャ104の出力を反転する。
Case (2) (Figure 4 (3), (4)). FIG. 4(3) shows the case where the IQX signal 1055 is "0", and FIG. 4(4) shows the case where the IQX signal 1056 is "1". The contents of the instruction queue latch 101 are not shifted;
The instruction queue control unit 105 determines that the IQX signal 1055 is “
0'', the QPLB signal 1051 is activated and the lower instruction queue pointer 102 is shifted one step to the input side, and when the IQX signal 1055 is 111 II, the QPHB signal @1053 is activated and the lower instruction queue pointer 102 is shifted one step to the input side. The side instruction queue pointer 103 is shifted one step to the input side.As a result, the next two-word instruction code is output to the instruction code output bus 107.In addition, the instruction queue control unit 105 outputs the IQX signal 1055 to the instruction code output bus 107. By reversing the
The output of the instruction queue exchanger 104 is inverted.

(3)の場合(第4図(5) 、 (6) )。第4図
(5)は、IQX信@1055が“i 0 +′の場合
を、第4図(6)は、IQX信号1055が“1″の場
合を示している。命令キューラッチ101の内容はシフ
トせず、命令キュー制御部105は、QPLB信号10
51およびQPHB信号1053をアクティブにして、
下位側命令キューポインタ102および上位側命令キュ
ーポインタ103を共に入力側に1段シフトする。これ
により、命令コード出力バス107には、次の2ワード
の命令コードが出力される。
Case (3) (Figure 4 (5), (6)). 4 (5) shows the case where the IQX signal @1055 is “i 0 +′”, and FIG. 4 (6) shows the case where the IQX signal 1055 is “1”. Contents of the instruction queue latch 101 is not shifted, and the instruction queue control unit 105 uses the QPLB signal 10.
51 and QPHB signal 1053,
Both the lower instruction queue pointer 102 and the upper instruction queue pointer 103 are shifted one stage to the input side. As a result, the next two words of instruction code are output to the instruction code output bus 107.

また、命令キューエクスチェンジャ104の状態は変化
しない。
Further, the state of the instruction queue exchanger 104 does not change.

(4)の場合(第4図(7) 、 (8) )。第4図
(7)は、IQX信号1055が“OHの場合を、第4
図(8)ハ、IQX信号1055が441 IIの場合
を示している。命令キューラッチ101の内容が出力側
に1段シフトされ、命令キュー制御部105は、IQX
信号1055がO″の場合には、QPHF信号1054
を7クテイブにして、上位側命令キューポインタ103
を出力側に1段シフトし、 IQX信号1055が1″
の場合には、QPLF信号1053をアクティブにして
、下位側命令キューポインタ102を出力側に1段シフ
トする。これにより、命令コード出力バス107には、
次の2ワードの命令コードが出力される。また、命令キ
ュー制御部105は、IQX信号1055を反転するこ
とにより、命令キューエクスチェンジャ104の出力を
反転する。
Case (4) (Figure 4 (7), (8)). FIG. 4 (7) shows the case where the IQX signal 1055 is “OH”,
Figure (8) C shows the case where the IQX signal 1055 is 441 II. The contents of the instruction queue latch 101 are shifted one stage to the output side, and the instruction queue control unit 105 outputs the IQX
When signal 1055 is O'', QPHF signal 1054
7 active and the upper instruction queue pointer 103
is shifted one stage to the output side, and the IQX signal 1055 becomes 1''
In this case, the QPLF signal 1053 is activated and the lower instruction queue pointer 102 is shifted one stage to the output side. As a result, the instruction code output bus 107 has
The next two words of instruction code are output. Further, the instruction queue control unit 105 inverts the output of the instruction queue exchanger 104 by inverting the IQX signal 1055.

(5)の場合(第4図(9) 、 (10))。第4図
(9)は、IQX信号1056が“0″の場合を、第4
図(10)ハ、IQX信号1055が1′の場合を示し
ている。命令キューラッチ101の内容が出力側に1段
シフトされる。下位側命令キューポインタ102、上位
側命令キューポインタ103および命令キューエクスチ
ェンジャ104の状態は変化しない。これにより、命令
コード出力バス107には、次の2ワードの命令コード
が出力される。
In the case of (5) (Figure 4 (9) and (10)). FIG. 4 (9) shows the case where the IQX signal 1056 is “0”,
Figure (10) C shows the case where the IQX signal 1055 is 1'. The contents of the instruction queue latch 101 are shifted one stage to the output side. The states of the lower instruction queue pointer 102, the upper instruction queue pointer 103, and the instruction queue exchanger 104 do not change. As a result, the next two words of instruction code are output to the instruction code output bus 107.

第2図は本発明のキュー装置の第2の実施例である、命
令コード先取り用キューを備えたマイクロコンピュータ
の命令フードフエッヂ部の構成を示すブロック図である
FIG. 2 is a block diagram showing the configuration of an instruction food edge section of a microcomputer equipped with an instruction code prefetching queue, which is a second embodiment of the queue device of the present invention.

第2の実施例では、命令キュー制御部105は、命令キ
ューラッチ101内に読出されていない命令コードが2
ワ一ド以上存在する、すなわち下位側命令キューポイン
タ1022〜1026のうちいずれかがII I Tl
にセットされている場合、1ワ一ド単位あるいは2ワ一
ド単位の命令コード読出しが実行可能であることを示す
ロングワードキューレディー信号1056をアクティブ
にする。
In the second embodiment, the instruction queue control unit 105 stores two unread instruction codes in the instruction queue latch 101.
There are one word or more, that is, one of the lower instruction queue pointers 1022 to 1026 is II I Tl
When set to , it activates a long word queue ready signal 1056 indicating that instruction code reading in units of 1 word or 2 words is executable.

命令実行部109は、命令キューラッチ101からの命
令コードの読出しを行なう際、1ワ一ド単位あるいは2
ワ一ド単位の命令コードの読出し可能な状態、すなわち
ロングワードキューレディー信号1056がアクティブ
であれば、1ワ一ド単位の命令コードの読出しを行なう
場合には、Q14RD信号1091を、2ワ一ド単位の
命令コードの読出しを行なう場合には、QLWRD信号
1092を命令キュー制御部105に対して出力する。
When reading the instruction code from the instruction queue latch 101, the instruction execution unit 109 reads the instruction code in units of one word or two.
When the instruction code in units of one word can be read, that is, when the long word queue ready signal 1056 is active, when reading the instruction code in units of one word, the Q14RD signal 1091 is set to one word. When reading instruction codes in units of codes, a QLWRD signal 1092 is output to the instruction queue control section 105.

なお、本実施例における命令コードフェッチ部100の
動作は第4図(1)〜(10)で説明したのと同様であ
るので、その説明は省略する。
Note that the operation of the instruction code fetch unit 100 in this embodiment is the same as that described in FIGS. 4(1) to (10), so the description thereof will be omitted.

第3図は本発明のキュー装置の第3の実施例である。命
令コード先取り用キューを備えたマイクロコンピュータ
の命令コードフェッヂ部の構成を示すブロック図である
FIG. 3 shows a third embodiment of the cue device of the present invention. FIG. 2 is a block diagram showing the configuration of an instruction code fetch section of a microcomputer equipped with an instruction code prefetch queue.

第3の実施例では、第2の実施例においての通知手段で
あるロングワードキューレディー信号1056に加え、
ワードキューレディー信号1057を加えた2本のキュ
ーレディー信号を通知手段としてもっている。すなわち
、第3の実施例では、命令キューラッチ101内に命令
コードが1ワードのみ存在する場合においても、1ワー
ドの命令コード読出しが可能となるように、新たに1ワ
ードの命令コードの読出しが実行可能であることを示す
ワードキューレディー信号1057を加えている。
In the third embodiment, in addition to the long word queue ready signal 1056, which is the notification means in the second embodiment,
Two cue ready signals including the word cue ready signal 1057 are provided as notification means. That is, in the third embodiment, even if only one word of the instruction code exists in the instruction queue latch 101, the reading of one word of the instruction code is newly performed so that the instruction code of one word can be read. A word cue ready signal 1057 indicating that it is executable is added.

命令キュー制御部105は、命令キューラッチ101内
に読出されていない命令コードが1ワードのみ存在する
、すなわち上位側命令キューポインタ1032が1″に
セットされ、かつ下位側命令キューポインタ1022〜
1026がすべて11011リセツトにされている場合
、1ワ一ド単位の命令コードの読出しが実行可能である
ことを示すワードキューレディー信@305aを出力し
、また命令キューラッチ101内に読出されていない命
令コードが2ワ一ド以上存在する、すなわち下位側命令
キューポインタ1022〜1025のうちいずれかが1
′″にセットされている場合、1ワ一ド単位の命令コー
ド読出しが実行可能であることを示すワードキューレデ
ィー信号1057および2ワ一ド単位の命令コード読出
しが実行可能であることを示すロングワードキューレデ
ィー信号3016をアクティブにする。
The instruction queue control unit 105 determines that there is only one word of unread instruction code in the instruction queue latch 101, that is, the upper instruction queue pointer 1032 is set to 1'', and the lower instruction queue pointer 1022 to
When all 1026 are reset to 11011, a word queue ready signal @305a is output indicating that the instruction code can be read in units of 1 word, and the instruction code is not read into the instruction queue latch 101. Two or more words of the instruction code exist, that is, one of the lower instruction queue pointers 1022 to 1025 is 1.
'', the word queue ready signal 1057 indicates that instruction code reading in 1-word units is executable, and the long signal 1057 indicates that instruction code reading in 2-word units is executable. Activate word queue ready signal 3016.

命令実行部109は、命令キューラッチ101からの命
令コードの読出しを行なう際、1ワ一ド中位の命令コー
ドが読出し可能な状態、すなわちワードキューレディー
信号1056のみがアクティブであれば、QWRD信号
1091を、1ワ一ド単位あるいは2ワ一ド単位の命令
コード読出しが可能な状態、すなわちワードキューレデ
ィー信号1057およびロングワードキューレディー信
号1058がともにアクティブであれば、QWRD信9
1091あるいはQLWIID信号1092のいずれか
を命令キュー制御部105に対して出力する。
When reading the instruction code from the instruction queue latch 101, the instruction execution unit 109 outputs the QWRD signal if the medium-sized instruction code of 1 word is readable, that is, if only the word queue ready signal 1056 is active. When the QWRD signal 1091 is in a state where the instruction code can be read in 1-word or 2-word units, that is, when the word queue ready signal 1057 and the long word queue ready signal 1058 are both active, the QWRD signal 9
Either the QLWIID signal 1091 or the QLWIID signal 1092 is output to the instruction queue control unit 105.

なお、本実施例における命令コードフェッチ部100の
動作は第4図(1)〜(10)で説明したのと同様であ
るので、その説明は省略する。
Note that the operation of the instruction code fetch unit 100 in this embodiment is the same as that described in FIGS. 4(1) to (10), so the description thereof will be omitted.

′;55図は本発明のキュー装置の第4の実施例である
、ブロックデータ先取り用キューを備えたマイクロコン
ピュータのデータフエッヂ部の構成を示すブロック図、
第7図(1)〜第7図(10)は第4の実施例の動作説
明図である。
55 is a block diagram showing the configuration of a data edge section of a microcomputer equipped with a block data prefetching queue, which is a fourth embodiment of the queue device of the present invention;
FIG. 7(1) to FIG. 7(10) are explanatory diagrams of the operation of the fourth embodiment.

データフェッチ部300は、データを2ワ一ド単位にF
IFOで格納するデータキューラッチ301と、2ワー
ド構成のデータキューラッチ301の内、下位側からの
1ワードデータの読出し位置を示す下位側データキュー
ポインタ302と、上位側からの1ワードデータの読出
し位置を示す上位側データキューポインタ303と、デ
ータキューラッチ301の出力の下位側1ワードデータ
と、上位側1ワードデ〜りの上位/下位を交換して出力
するデータキューエクスチェンジャ304と、データフ
ェッチ部300を制御するデータキュー制御部305か
らなり、2ワ一ド幅のデータ入力バス306および2ワ
一ド幅のデータ出力バス307に接続されている。
The data fetch unit 300 fetches data in units of 2 words.
A data queue latch 301 that is stored in an IFO, a lower data queue pointer 302 that indicates the reading position of one word of data from the lower side of the two-word data queue latch 301, and one word of data that is read from the upper side. An upper data queue pointer 303 indicating the position, a data queue exchanger 304 that exchanges and outputs the lower one word data of the output of the data queue latch 301 and the upper/lower one word data, and the data fetch The data queue controller 305 is connected to a 2-word wide data input bus 306 and a 2-word wide data output bus 307.

また、データ入力バス306は、メモリからの命令コー
ド読出しおよびメモリとのデータ読出し/書込みを行な
うバス制御部308に接続され、データ出力バス307
は、データ処理を行なうデータ処理部309に接続され
ている。
Further, the data input bus 306 is connected to a bus control unit 308 that reads instruction codes from the memory and reads/writes data to and from the memory, and the data output bus 307
is connected to a data processing unit 309 that performs data processing.

データキューラッチ301は、2ワ一ド×4段のシフト
レジスタ3011〜3014で構成され、データキュー
ラッチ301への書込みにより、2ワ一ド幅のデータ入
力バス306の内容をシフトレジスタ3011に取り込
むと共に、それまでのシフトレジスタ3011〜301
4の内容全体を出力側に1段シフトする。
The data queue latch 301 is composed of 2-word x 4-stage shift registers 3011 to 3014, and by writing to the data queue latch 301, the contents of the 2-word wide data input bus 306 are taken into the shift register 3011. In addition, the previous shift registers 3011 to 301
The entire contents of 4 are shifted one stage to the output side.

下位側データキューポインタ302は、1ビット×5段
のシフトレジスタ3021〜3025で構成され、5ビ
ツトの内、常に1つのビットのみが1″にセットされて
おり、セットされたポインタが、データキューラッチ5
01内の下位側1ワードデータの読出し位置を示してい
る。
The lower data queue pointer 302 is composed of shift registers 3021 to 3025 with 1 bit x 5 stages, and only one bit among the 5 bits is always set to 1'', and the set pointer points to the data queue. latch 5
This shows the read position of the lower one word data in 01.

上位側データキューポインタ303は、1ビット×5段
シフトレジスタ3031〜3035で構成され、5ビツ
トの内、常に1つのビットのみがII 111にセット
されており、セットされたポインタがデータキューラッ
チ301内の上位側1ワードデータの読出し位置を示し
ている。
The upper data queue pointer 303 is composed of 1 bit x 5 stage shift registers 3031 to 3035, of which only one bit is always set in II 111, and the set pointer is connected to the data queue latch 301. This shows the read position of one word of data on the upper side.

データキューラッチ301が空の時、即ちデータキュー
ラッチ301内に有効データが無い場合には、シフトレ
ジスタ302+ 、303+が共に111 IIにセッ
トされている。
When data queue latch 301 is empty, that is, when there is no valid data in data queue latch 301, shift registers 302+ and 303+ are both set to 111 II.

データキューラッチ301には、メモリがら読出された
データが2ワ一ド単位で閤込まれ、データキューラッチ
301からは、データ処理に伴いデータが1ワ一ド単位
あるいは2ワ一ド単位で読出される。
The data read from the memory is loaded into the data queue latch 301 in 2-word units, and data is read out from the data queue latch 301 in 1-word or 2-word units as data is processed. be done.

データキュー制御部305には、バス制御部308から
、データキューラッチ301への2ワ一ド単位のデータ
溜込み信号であるDQWR信号5゜81が入力され、デ
ータ処理部309がら、データキューラッチ301から
の1ワ一ド単位のデータ読出し信号であるDQ!iRD
信号3091と、データキューからの2ワ一ド単位のデ
ータ読出し信号であるDQLWRD信号3092が入力
される。データキュー制御部305は、これらの信号に
より下位側データキューポインタ302.上位側データ
キューポインタ303およびデータキューエクスチェン
ジャ304の動作をlll611する。下位側データキ
ューポインタ302に対しては、下位側データキューポ
インタ302を入力側に1段シフトするDQPLB信号
3051と、下位側データキューポインタ302を出力
側に1段シフトするDQPLF信号3052を、上位側
データキューポインタ303に対しては、上位側データ
キューポインタ303を入力側に1段シフトするDQP
HB信号3o53と、上位側データキューポインタ30
2を出力側に1段シフトするDQPHF信号3o54を
、データキューエクスチェンジャ304に対しては、デ
ータキューエクスチェンジャ304からの出力の反転を
制御するDQX信号3053を出力する。
The data queue control unit 305 receives a DQWR signal 5°81 from the bus control unit 308, which is a data storage signal for the data queue latch 301 in units of 2 words, and the data processing unit 309 DQ! which is a data read signal in units of one word from 301. iRD
A signal 3091 and a DQLWRD signal 3092, which is a data read signal in units of 2 words from the data queue, are input. The data queue control unit 305 uses these signals to set the lower data queue pointer 302 . The operations of the upper data queue pointer 303 and the data queue exchanger 304 are performed ll611. For the lower data queue pointer 302, a DQPLB signal 3051 that shifts the lower data queue pointer 302 by one stage to the input side and a DQPLF signal 3052 that shifts the lower data queue pointer 302 by one stage to the output side are sent to the upper For the side data queue pointer 303, DQP shifts the upper side data queue pointer 303 one stage to the input side.
HB signal 3o53 and upper data queue pointer 30
A DQPHF signal 3o54 for shifting 2 to the output side by one step is output to the data queue exchanger 304, and a DQX signal 3053 for controlling the inversion of the output from the data queue exchanger 304.

次に、第5図のデータフェッチ部300の動作を説明す
る。
Next, the operation of the data fetch section 300 shown in FIG. 5 will be explained.

データキューラッチ301への書込み動作と、データキ
ューラッチ301からの読出し動作の組み合わせは、 (1)バス制御部308によるデータキューラッチ30
1への2ワード1込みのみが行なわれた場合(DQWR
信号3081がアクティブ)。
The combination of the write operation to the data queue latch 301 and the read operation from the data queue latch 301 is as follows: (1) The data queue latch 30 by the bus control unit 308
If only 2-word 1-into 1 is performed (DQWR
signal 3081 is active).

(2)データ処理部309によるデータキューラッチ3
01からの1ワード読出しのみが行なわれた場合(DQ
WRD信号3o91がアクティブ)。
(2) Data queue latch 3 by data processing unit 309
When only one word is read from 01 (DQ
WRD signal 3o91 is active).

(3)データ処理部309によるデータキューラッチ3
01からの2ワード読出しのみが行なわれた場合(DQ
IJRD信号3092がアクティブ)。
(3) Data queue latch 3 by data processing unit 309
When only two words are read from 01 (DQ
IJRD signal 3092 is active).

(4)バス制御部308によるデータキューラッチ30
1への2ワード書込みと、データ処理部309によるデ
ータキューラッチ301からの1ワード読出しが同時に
行なわれた場合(DQWIt信@ 3081 とDQ1
4R[l信号3091がアクティブ)。
(4) Data queue latch 30 by bus control unit 308
When writing 2 words to 1 and reading 1 word from the data queue latch 301 by the data processing unit 309 are performed at the same time (DQWIt signal @ 3081 and DQ1
4R [l signal 3091 active).

(5)バス制御部308によるデータキューラッチ30
1への2ワード書込みと、データ処理部309によるデ
ータキューラッチ301からの2ワード読出しが同時に
行なわれた場合(DQWR信号3081とDQLWR口
信号3092がアクティブ)。
(5) Data queue latch 30 by bus control unit 308
When 2-word writing to 1 and 2-word reading from data queue latch 301 by data processing unit 309 are performed simultaneously (DQWR signal 3081 and DQLWR start signal 3092 are active).

の5通りがある。There are five ways.

この5通りの条件におけるデータフェッチ部300の動
作を第7図(1)〜第7図(10)を参照して述べる。
The operation of the data fetch unit 300 under these five conditions will be described with reference to FIGS. 7(1) to 7(10).

なお、図中のao、al、a2.a3は、データキュー
ラツチ301内のデータを示している。
Note that ao, al, a2. a3 indicates data in the data queue latch 301.

(1)の場合(第7図い) 、 (2) )。第7図(
1)は、DQX信号3055がO”の場合を、第7図(
2)ハ、DQX信号3056がII 111の場合を示
している。いずれの場合も、データキューラッチ301
の内容が出力側に1段シフトされ、データキュー制御部
305は、DQPLF信号3052およびDQPIIF
信号3054をアクティブにして、下位側データキュー
ポインタ302および上位側データキューポインタ30
3を共に出力側に1段シフトする。これにより、データ
出力バス307に出力されているデータは変化しない。
In the case of (1) (Figure 7), (2)). Figure 7 (
1) shows the case where the DQX signal 3055 is O'' as shown in Fig. 7 (
2) C. The case where the DQX signal 3056 is II 111 is shown. In either case, the data queue latch 301
The contents of DQPLF signal 3052 and DQPIIF are shifted one stage to the output side, and data queue control unit 305
By activating signal 3054, lower data queue pointer 302 and upper data queue pointer 30
3 are both shifted one step to the output side. As a result, the data being output to the data output bus 307 does not change.

また、データキューエクスチェンジャ504の状態は変
化しない。
Furthermore, the state of the data queue exchanger 504 does not change.

(2)の場合(第7図(3) 、 (4) )。第7図
(3)は、口QX信号3055 カ” 0 ” (7)
 ’14 合ヲ、第7図(4)ハ、DQX信号3055
 tfi ” 1” (7)llヲ示している。データ
キューラッチ301の内容はシフトせず、データキュー
制御部305は、DQX信号3055がO11の場合に
は、DQPLB信号3051をアクティブにして下位側
データキューポインタ302を入力側に1段シフトし、
DQX信号3055が“1″の場合には、DQPHB信
号3053をアクティブにして、上位側データキューポ
インタ303を入力側に1段シフトする。これにより、
データ出力バス307には、次の2ワードのデータが出
力される。また、データキュー制御部305は、DQX
信号3055を反転することにより、データキューエク
スチェンジャ304の上位/下位のデータの交換を行な
う。
Case (2) (Figure 7 (3), (4)). Figure 7 (3) shows the QX signal 3055 ``0'' (7).
'14 Match, Figure 7 (4) C, DQX signal 3055
tfi "1" (7) is shown. The contents of the data queue latch 301 are not shifted, and when the DQX signal 3055 is O11, the data queue control unit 305 activates the DQPLB signal 3051 and shifts the lower data queue pointer 302 by one stage to the input side.
When the DQX signal 3055 is "1", the DQPHB signal 3053 is activated and the upper data queue pointer 303 is shifted one stage to the input side. This results in
The following two words of data are output to the data output bus 307. Further, the data queue control unit 305
By inverting the signal 3055, upper/lower data of the data queue exchanger 304 is exchanged.

(3)の場合(第7図(5) 、 (B) ’)。第7
図(5)は、DQX信号5055がO″の場合を、第7
図(6)ハ、DQX信号3055が’ 1 ” (7)
場合を示している。データキューラッチ301の内容は
シフトせず、データキュー制御部305は、DQPLB
信号3051およびDQPH8信号5053をアクティ
ブにして、下位側データキューポインタ302および上
位側データキューポインタ303を共に入力側に1段シ
フトする。これにより、データ出力バス307には、次
の2ワードのデータが出力される。また、データキュー
エクスチェンジャ304の状態は変化しない。
In the case of (3) (Figure 7 (5), (B)'). 7th
Figure (5) shows the case where the DQX signal 5055 is O'' at the seventh
Figure (6) C, DQX signal 3055 is '1' (7)
It shows the case. The contents of the data queue latch 301 are not shifted, and the data queue control unit 305
The signal 3051 and the DQPH8 signal 5053 are activated to shift both the lower data queue pointer 302 and the upper data queue pointer 303 to the input side by one stage. As a result, the next two words of data are output to the data output bus 307. Furthermore, the state of the data queue exchanger 304 does not change.

(4)の場合(第7図(71、(81)。第7図(7)
は、DQX信号3055が°’o”の場合を、第7図(
8)は、DQX信号3055が“1″の場合を示してい
る。データキューラッチ301の内容が出力側に1段シ
フトされ、データキュー制御部305は、DQX信号3
055が110 IIの場合には、DQPIIF信号3
054をアクティブにして、上位側データキューポイン
タ303を出力側に1段シフトし、DQX信号3055
が1″の場合には、DQPLF信号3052をアクティ
ブにして、下位側データキューポインタ302を出力側
に1段シフトする。これにより、データ出力バス307
には、次の2ワードのデータが出力される。また、デー
タキュー制御部305は、DQX信号3055を反転す
ることにより、デークキ1−エクスチェンジャ304の
上位/下位のデータの交換を行なう。
In the case of (4) (Figure 7 (71, (81). Figure 7 (7)
The case where the DQX signal 3055 is °'o'' is shown in Figure 7 (
8) shows the case where the DQX signal 3055 is "1". The contents of the data queue latch 301 are shifted by one stage to the output side, and the data queue control unit 305 outputs the DQX signal 3.
If 055 is 110 II, DQPIIF signal 3
054 is activated, the upper data queue pointer 303 is shifted one stage to the output side, and the DQX signal 3055 is activated.
is 1'', the DQPLF signal 3052 is activated and the lower data queue pointer 302 is shifted one stage to the output side.
The following two words of data are output. Further, the data queue control unit 305 exchanges upper/lower data of the data key 1 exchanger 304 by inverting the DQX signal 3055.

(5)の場合(第7図(9) 、 (10))。第7図
(9)は、DQX信号3055が’O”+7)場合を、
第7図(10) ハ、DQX信号3055が“1″の場
合を示している。データキューラッチ301の内容が出
力側に1段シフトされる。下位側データキューポインタ
3o2.上位側データキューポインタ303およびデー
タキューエクスチfンジャ304の状態は変化しない。
In the case of (5) (Figure 7 (9) and (10)). FIG. 7 (9) shows the case where the DQX signal 3055 is 'O''+7).
FIG. 7(10) c shows the case where the DQX signal 3055 is "1". The contents of data queue latch 301 are shifted one stage to the output side. Lower side data queue pointer 3o2. The states of the upper data queue pointer 303 and the data queue extender 304 do not change.

これにより、データ出力バス307には、次の2ワード
のデータが出力される。
As a result, the next two words of data are output to the data output bus 307.

第6図は本発明のキュー装置の第5の実施例である、ブ
ロックデータ先取り用キューを備えたマイクロコンピュ
ータのデータフェッチ部の構成を示すブロック図である
FIG. 6 is a block diagram showing the configuration of a data fetch section of a microcomputer equipped with a queue for prefetching block data, which is a fifth embodiment of the queue device of the present invention.

第5の実施例では、データキュー制御部3053は、デ
ータキューラッチ301内に読出されていないデータが
1ワードのみ存在する、すなわち上位側データキューポ
インタQPII3032が” 1 ”にセットされ、か
つ下位側データキューポインタ3022〜3025がす
べて0″にリセットにされている場合、1ワ一ド単位の
データの読出しが実行可能であることを示すワードキュ
ーレディー信号3057を出力し、またデータキューラ
ッチ301内に読出されていないデータが2ワ一ド以上
存在する、すなわち下位側データキューポインタ302
2〜3025のうちいずれかが11111にセットされ
ている場合、1ワ一ド単位のデータ読出しが実行可能で
あることを示すワードキューレディー信5305yJ5
よび2ワ一ド単位のデータ読出しが実行可能であること
を示すロングワードキューレディー信号3056をアク
ティブにする。
In the fifth embodiment, the data queue control unit 3053 determines that there is only one word of unread data in the data queue latch 301, that is, the upper data queue pointer QPII 3032 is set to "1", and the lower data queue pointer QPII 3032 is set to "1". When the data queue pointers 3022 to 3025 are all reset to 0'', a word queue ready signal 3057 indicating that data can be read in units of 1 word is output, and the data queue latch 301 is There are two or more words of data that have not been read out in the lower data queue pointer 302.
When any one of 2 to 3025 is set to 11111, word queue ready signal 5305yJ5 indicates that data reading in units of 1 word is executable.
and activates a long word queue ready signal 3056 indicating that data reading in 2-word units is executable.

データ処理部309は、データキューラッチ301から
のデータの読出しを行なう際、1ワ一ド単位のデータの
みが読出し可能な状態、すなわちワードキューレディー
信号3057のみがアクティブであれば、DQWItD
信号3091を、1ワ一ド単位あるいは2ワ一ド単位の
データの読出しが可能な状態、すなわちワードキューレ
ディー信号3057およびロングワードキューレディー
信号3056がともにアクティブであれば、DQWRD
信@3091あるいはDQLWRD信号3092のいず
れかをデータキュー制御部305に対して出力する。
When reading data from the data queue latch 301, if the data processing unit 309 is in a state in which only one word of data can be read, that is, only the word queue ready signal 3057 is active, the DQWItD
When the signal 3091 is in a state where data can be read in units of 1 word or 2 words, that is, when both the word queue ready signal 3057 and the long word queue ready signal 3056 are active, the DQWRD is activated.
Either the signal @3091 or the DQLWRD signal 3092 is output to the data queue control unit 305.

なお、本実施例におけるデータキューフェッチ部300
の動作は第7図で説明したのと同様であるので、その説
明は省略する。
Note that the data queue fetch unit 300 in this embodiment
Since the operation is the same as that explained in FIG. 7, its explanation will be omitted.

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

以上説明したように本発明は、可変長読出し可能なキュ
ー構造を提供しており、本発明をマイクロコンピュータ
の命令コード先取り用の命令キューあるいはブロック転
送されたデータ群を一括処理するデータキューとして用
いることにより、以下の効果が得られる。
As explained above, the present invention provides a variable-length readable queue structure, and the present invention is used as an instruction queue for prefetching instruction codes of a microcomputer or as a data queue for collectively processing a group of block-transferred data. By doing so, the following effects can be obtained.

(1)命令キューのデータ幅の制限による命令実行部分
への命令コード供給ネックの発生を抑え、必要十分な量
の命令コードを供給することによって、マイクロコンピ
ュータの性能向上を実現できる。
(1) The performance of the microcomputer can be improved by suppressing the bottleneck in supplying instruction codes to the instruction execution section due to limitations on the data width of the instruction queue and by supplying a necessary and sufficient amount of instruction codes.

(2)命令キューの読出し幅を可変長にすることにより
、命令コード内のイミーディエトデータの読出しを高速
に行なうことが可能で、これによって命令実行速度の向
上を実現できる。
(2) By making the reading width of the instruction queue variable, it is possible to read immediate data in an instruction code at high speed, thereby realizing an improvement in instruction execution speed.

(3)読出し命令コード幅の異なる複数の読出し信号に
対応して、命令キューの状態を示す複数の状態信号によ
って、命令キューの状態を読出し先に通知し、読出し先
は、複数の読出し信号の中より一本を選択して必要とす
る幅の命令]−ドの読出しを行う。これにより、読出し
先からの読出し要求に対する応答性を高めることによっ
て、命令キューからの読出し速度の向上を実現できる。
(3) In response to multiple read signals with different read instruction code widths, the state of the instruction queue is notified to the read destination by multiple status signals indicating the state of the instruction queue, and the read destination receives the multiple read signals. Select one from among them and read the command of the required width. Thereby, by increasing the responsiveness to read requests from the read destination, it is possible to improve the read speed from the instruction queue.

(4)データキューとして用いることにより、1ワード
長データ、2ワード長データ混在のデータ群を予めブロ
ック転送しておき、命令実行時に各々のデータをデータ
長に従って読出し、処理を行なうことが可能になってい
る。これにより、メモリからのデータブロック転送と、
転送されたデータに対するマイクロコンピュータ内部の
処理をバイブラインに実行することが可能で、ブロック
データ処理に対する性能を大幅に向上させることかでき
る。
(4) By using it as a data queue, it is possible to transfer blocks of data containing a mixture of 1-word length data and 2-word length data in advance, and then read and process each data according to the data length when executing an instruction. It has become. This allows data block transfers from memory and
It is possible to execute the internal processing of the microcomputer on the transferred data in a vibrating manner, and the performance for block data processing can be greatly improved.

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

第1図、第2図、第3図はそれぞれ本発明のキュー装置
の第1.第2.第3の実施例のブロック図、第4図は第
1〜第3の実施例の動作説明図、第5図、第6図はそれ
ぞれ本発明のキュー装置の第4.第5の実施例のブロッ
ク図、第7図は第4゜第5の実施例の動作説明図、第8
図はキュー装置の従来例のブロック図、第9図は第8図
の従来例の動作説明図である。 100・・・命令コードフェッチ部、 101・・・命令キューラッチ、 1011〜1014・・・シフトレジスタ、102・・
・下位側命令キューポインタ、1021〜1024・・
・シフトレジスタ、103・・・上位側命令キューポイ
ンタ、1031〜1034・・・シフトレジスタ、10
4・・・命令キューエクスチェンジャ、105・・・命
令キュー制御部、 1051 ・・・QPLB信号、1052・・・QPL
F信号、1053・・・QPH8PH11054・・・
QPHF信号、1055−  IQX信号、 1056・・・ロングワードキューレディー信号、10
57・・・ワードキューレディー信号、106・・・命
令コード入力バス、 107・・・命令コード出力バス、 108・・・バス制御部、 1081・・・IQW’R信号、109・・・命令実行
部、1091 ・・・Q賢RO信号、1092・・・ 
QL讐RD信号、300・・・データフェッチ部、 301・・・データキューラッチ、 3011〜3014・・・シフトレジスタ、302・・
・下位側データキューポインタ、3021〜3024・
・・シフトレジスタ、303・・・上位側データキュー
ポインタ、3031〜3035・・・シフトレジスタ、
304・・・データキューエクスチェンジャ、305・
・・データキュー制御部、 3051 ・・・QPLB信号、5052・・・Q P
 1. F信号、3053・・・QP11B信号、50
54・・・QPIIF信号、3055・−DQX(i 
号、 3056・・・ロングワードキューレディー信号、30
57・・・ワードキューレディー信号、306・・・デ
ータ人力バス、 307・・・データ出力バス、 308・・・バス制御部、 308・・・DQWR信号、 309・・・データ処理部、 3091 ・・・ OQ誓RO信号、 3092・・・DQLWRD信号。 特許出願人  日本電気株式会社 代 理 人  弁理士 内 原  音 間0]珂、102 ロエ原原原ト102 画■]珂、1o2 可■[F]卯ト102 弔 図 回可I可可〜102 可硼6102 蹟巴110” 皿肛[株]計102 第 図 回酊■囮ト102 可酊[F]Ml−102 第 図 回σ旧可】、102 団可EDト102 回互匡回σ〜102 回可口囮卜103 第 図 固酊■匣、302 固形「吃302 第 図 訪■面■ト3o2 回■mフH3O2 匣旺耶ト302 回夏可赴302 匝■函ト3o2 匣■函シ303 (1o) 第 図 匣肛図ヒ302 匣[F]1回」02 固■]回J502 ■買コ珂」02 回圧■し502 匝「画ト502 第 図
FIGS. 1, 2, and 3 respectively show the first embodiment of the cue device of the present invention. Second. FIG. 4 is a block diagram of the third embodiment, FIG. 4 is an explanatory diagram of the operation of the first to third embodiments, and FIGS. A block diagram of the fifth embodiment, FIG. 7 is an explanatory diagram of the operation of the fifth embodiment, and
9 is a block diagram of a conventional example of a cue device, and FIG. 9 is an explanatory diagram of the operation of the conventional example of FIG. 8. 100... Instruction code fetch unit, 101... Instruction queue latch, 1011-1014... Shift register, 102...
・Lower side instruction queue pointer, 1021 to 1024...
・Shift register, 103... Upper instruction queue pointer, 1031 to 1034... Shift register, 10
4...Instruction queue exchanger, 105...Instruction queue control unit, 1051...QPLB signal, 1052...QPL
F signal, 1053...QPH8PH11054...
QPHF signal, 1055- IQX signal, 1056... Long word queue ready signal, 10
57... Word queue ready signal, 106... Instruction code input bus, 107... Instruction code output bus, 108... Bus control unit, 1081... IQW'R signal, 109... Instruction execution Part, 1091...Qken RO signal, 1092...
QLenRD signal, 300...Data fetch unit, 301...Data queue latch, 3011-3014...Shift register, 302...
・Lower side data queue pointer, 3021 to 3024・
...Shift register, 303...Upper side data queue pointer, 3031-3035...Shift register,
304...Data queue exchanger, 305...
...Data queue control unit, 3051 ...QPLB signal, 5052...QP
1. F signal, 3053...QP11B signal, 50
54...QPIIF signal, 3055...-DQX(i
No. 3056...Long word cue ready signal, 30
57... Word queue ready signal, 306... Data human power bus, 307... Data output bus, 308... Bus control unit, 308... DQWR signal, 309... Data processing unit, 3091 ・...OQ RO signal, 3092...DQLWRD signal. Patent Applicant NEC Corporation Agent Patent Attorney Uchi Hara Onma 0] K, 102 Roe Hara Hara To 102 Picture ■] K, 1 o 2 Possible ■ [F] Rabbit 102 Funeral diagrams I Possible ~ 102 Possible硼6102 蹟tomoe 110" Sara-Kou [Co., Ltd.] Total 102 Fig. 102 Fig. 102 可酊 [F] Ml-102 Fig. 1 102 102 102 102 103 Fig. solid intoxication ■box, 302 solid 302 Fig. 3 o 2 times mfu H3O2 box 302 times 302 box 3o2 box 303 (1o) Figure 302 Box [F] 1 time'' 02 Hard ■] Times J502 ■Purchase 02 Times Press 502 Box ``Picture 502 Figure

Claims (1)

【特許請求の範囲】 1、命令コードあるいはデータをFIFOで格納する単
位命令コード長あるいは単位データ長の倍長の幅を有す
る複数段のシフトレジスタで構成される記憶手段と、 前記記憶手段の上位側単位長命令コードあるいは上位側
単位長データの読出し位置を示す上位読出し位置指示手
段と、 前記記憶手段の下位側単位長命令コードあるいは下位側
単位長データの読出し位置を示す下位読出し位置指示手
段と、 前記上位読出し位置指示手段で指される前記記憶手段内
の前記上位側単位長命令コードあるいは前記上位側単位
長データと前記下位読出し位置指示手段で指される前記
記憶手段内の前記下位側単位長命令コードあるいは前記
下位側単位長データを交換する交換手段と、 外部からの読出し、書込み信号に応じて前記上位読出し
位置指示手段、前記下位読出し位置指示手段の内容を変
化させ、また前記交換手段をアクティブ/インアクティ
ブにする制御手段とを有するキュー装置。
[Scope of Claims] 1. Storage means configured with a multi-stage shift register having a width twice the unit instruction code length or unit data length for storing instruction codes or data in FIFO, and an upper layer of the storage means upper read position indicating means for indicating the read position of the side unit length instruction code or the upper side unit length data; and lower read position indicating means for indicating the read position of the lower side unit length instruction code or the lower side unit length data of the storage means. , the upper unit length instruction code or the upper unit length data in the storage means indicated by the upper read position instruction means and the lower unit in the storage means indicated by the lower read position instruction means; exchanging means for exchanging the long instruction code or the lower unit length data; and changing the contents of the upper read position indicating means and the lower read position indicating means in response to external read and write signals; and control means for activating/inactivating.
JP63086415A 1987-07-15 1988-04-07 Cue device Expired - Fee Related JPH0769798B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63086415A JPH0769798B2 (en) 1987-07-15 1988-04-07 Cue device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP62-177628 1987-07-15
JP17762887 1987-07-15
JP63086415A JPH0769798B2 (en) 1987-07-15 1988-04-07 Cue device

Publications (2)

Publication Number Publication Date
JPH02138624A true JPH02138624A (en) 1990-05-28
JPH0769798B2 JPH0769798B2 (en) 1995-07-31

Family

ID=26427545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63086415A Expired - Fee Related JPH0769798B2 (en) 1987-07-15 1988-04-07 Cue device

Country Status (1)

Country Link
JP (1) JPH0769798B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044343A (en) * 2003-06-21 2005-02-17 Samsung Electronics Co Ltd Portable storage device and method enabling free change in data bus width

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60254238A (en) * 1984-05-30 1985-12-14 Nec Corp Data extraction processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60254238A (en) * 1984-05-30 1985-12-14 Nec Corp Data extraction processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044343A (en) * 2003-06-21 2005-02-17 Samsung Electronics Co Ltd Portable storage device and method enabling free change in data bus width

Also Published As

Publication number Publication date
JPH0769798B2 (en) 1995-07-31

Similar Documents

Publication Publication Date Title
US7624251B2 (en) Instructions for efficiently accessing unaligned partial vectors
KR940015852A (en) Handler with long instruction word
JPS59212958A (en) Computer system
JPS623461B2 (en)
JP2001022689A (en) Output fifo data transfer control device
JP2690406B2 (en) Processor and data processing system
JPS584374B2 (en) Data transfer processing method
US5241644A (en) Queue having long word length
JPH02138624A (en) Queue device
JPS62156742A (en) Data writing control system
JP3145545B2 (en) Memory access device
JPH01230125A (en) Data processor having partial updating function of register
JPH0222413B2 (en)
JPH0440524A (en) Arithmetic unit
JP2881023B2 (en) Instruction buffer configuration method
EP0299526B1 (en) Queue having long word length
JP2645477B2 (en) Microprocessor and its cache memory
JPH05173778A (en) Data processor
JP2883488B2 (en) Instruction processing unit
JPH06332700A (en) Information processor
JP3068406B2 (en) Vector arithmetic unit
JP2622026B2 (en) Register writing control method in central processing unit
JP3299663B2 (en) Arithmetic unit
JP2866143B2 (en) Dynamic pipeline processing unit
JPS59218558A (en) Information processing device

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees