[go: up one dir, main page]

JP2513884B2 - Microprocessor - Google Patents

Microprocessor

Info

Publication number
JP2513884B2
JP2513884B2 JP782190A JP782190A JP2513884B2 JP 2513884 B2 JP2513884 B2 JP 2513884B2 JP 782190 A JP782190 A JP 782190A JP 782190 A JP782190 A JP 782190A JP 2513884 B2 JP2513884 B2 JP 2513884B2
Authority
JP
Japan
Prior art keywords
decoding
basic
extension
instruction
latch circuit
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
JP782190A
Other languages
Japanese (ja)
Other versions
JPH02277130A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP782190A priority Critical patent/JP2513884B2/en
Publication of JPH02277130A publication Critical patent/JPH02277130A/en
Application granted granted Critical
Publication of JP2513884B2 publication Critical patent/JP2513884B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔概要〕 可変長命令形式を採用したマイクロプロセッサに関
し、 効率良く可変長命令をデコードでき、且つ簡素な構成
の命令デコーダを具備するマイクロプロセッサを提供す
ることし、 該基本部の指定に応じて付加される拡張部を含む可変
長命令を実行するマイクロプロセッサであって、前記基
本部をデコードすることで、後続の基本部及び拡張部の
有無を判別し、基本部遷移要求又は拡張部遷移要求を出
力する基本部デコーダと、前記拡張部をデコードするこ
とで、拡張部の継続の有無を判別し、拡張部継続要求を
出力する拡張部デコーダと、前記基本部デコーダ、拡張
部デコーダにデコードを指示する制御信号を所定のシー
ケンスに従って発生するデコードシーケンサとを具備
し、前記デコードシーケンサは、前記基本部遷移要求に
応答して前記基本部デコーダに対する制御信号を発生す
る第1制御回路と、前記拡張部遷移要求又は拡張部継続
要求に応答して前記拡張部デコーダに対する制御信号を
発生する第2制御回路と、前記第1制御回路と前記第2
制御回路に接続され前記拡張部遷移要求又は拡張部継続
要求があるときには前記基本部遷移要求に対する第1制
御回路の動作を保留させる第3制御回路とを具備して構
成される。
DETAILED DESCRIPTION OF THE INVENTION [Outline] The present invention relates to a microprocessor adopting a variable-length instruction format, which is capable of efficiently decoding variable-length instructions and which is provided with an instruction decoder having a simple structure. A microprocessor for executing a variable-length instruction including an extension part added according to the designation of a part, by decoding the basic part, the presence or absence of the following basic part and the expansion part is determined, and the basic part transition A basic unit decoder that outputs a request or an extended unit transition request, and an extended unit decoder that decodes the extended unit to determine whether or not the extended unit is continued and outputs an extended unit continuation request; and the basic unit decoder, A decode sequencer for generating a control signal for instructing the extension decoder to perform decoding according to a predetermined sequence, wherein the decode sequencer generates a control signal for the base decoder in response to the base transition request. A control circuit; a second control circuit for generating a control signal for the extension decoder in response to the extension transition request or extension continuation request; the first control circuit and the second control circuit;
And a third control circuit connected to the control circuit and holding the operation of the first control circuit for the basic part transition request when there is the expansion part transition request or the expansion part continuation request.

〔産業上の利用分野〕[Industrial applications]

本発明は、可変長命令形式を採用したマイクロプロセ
ッサに関する。特に単一命令が複数の基本部と、可変長
の拡張部とで構成される可変長命令の各部分のデコード
順を制御する改良されたデコードシーケンサを具備する
マイクロプロセッサに関する。
The present invention relates to a microprocessor adopting a variable length instruction format. In particular, the present invention relates to a microprocessor having an improved decode sequencer for controlling the decoding order of each part of a variable length instruction, which is composed of a plurality of basic parts of a single instruction and a variable length extension part.

〔従来の技術〕[Conventional technology]

第10図は可変長命令形式の概念図である。第10図は、
マイクロプロセッサに対する1つの命令が、最大N個の
部分から構成されることを示している。この様な命令は
複数のサイクルを使ってデコードされる。各部分の基本
部には命令コードが含まれ、拡張部にはイミディエート
データ等が含まれる。例えば第1の部分の基本部に基づ
いて後続の拡張部の有無や第2の部分の基本部の意味が
特定される。基本部がN個ある場合にはN個の基本部を
デコードして、始めて意味のある制御信号が得られる。
FIG. 10 is a conceptual diagram of the variable length instruction format. Figure 10 shows
It is shown that one instruction to the microprocessor is composed of up to N parts. Such instructions are decoded using multiple cycles. The basic part of each part includes an instruction code, and the extension part includes immediate data and the like. For example, the presence or absence of a subsequent extension part and the meaning of the basic part of the second part are specified based on the basic part of the first part. When there are N basic parts, a meaningful control signal is obtained only after decoding the N basic parts.

第11図は32ビット・マイクロプロセッサを想定した直
交型の命令形式の一例であり、最大3つの基本部を持つ
命令まで可変できる命令形式を示す図である。この命令
形式では16ビット単位で命令が構成されており、OPは命
令コード部で命令コード及び後続の基本部の有無を示す
情報を含む。R,Ra,Rbはレジスタ指定部、Sはオペラン
ドサイズ指定部、#Iはイミディエートデータ、dispは
ディスプレースメント部である。オペランド指定部は後
続の拡張部の有無を示す情報も含む。拡張部は16ビット
の整数倍の長さを持ち、オペランド指定部の直後に置か
れ、オペランド指定部を拡張する為に用いられる。拡張
部には、更に後続の拡張部の有無を示す情報も含まれ
る。16×n(nは0を含む整数)は拡張部の長さを16ビ
ット単位で可変であることを示す。尚、短縮形は一般形
のオペランド指定部のビット長を2ビット短縮すること
で、実行速度を速めたものである。この様な可変長命令
形式では、使用頻度の高い命令は1オペランド形式に割
り当てられ、使用頻度の低い命令は2オペランド以上の
形式が割り当てられる。こうすることで使用頻度の高い
命令は短時間で実行し、且つ命令の種類も多くすること
ができる。係る可変長命令のより具体的な例を第12A図
〜第12C図に示す。
FIG. 11 is an example of an orthogonal instruction format assuming a 32-bit microprocessor, and is a diagram showing an instruction format in which an instruction having a maximum of three basic parts can be changed. In this instruction format, the instruction is configured in 16-bit units, and the OP includes an instruction code section and information indicating the presence or absence of the following basic section. R, Ra , and Rb are register designation sections, S is an operand size designation section, #I is immediate data, and disp is a displacement section. The operand designation part also includes information indicating the presence or absence of a subsequent extension part. The extension part has a length that is an integral multiple of 16 bits, is placed immediately after the operand specification part, and is used to expand the operand specification part. The extension part further includes information indicating the presence or absence of a subsequent extension part. 16×n (n is an integer including 0) indicates that the length of the extension part can be changed in 16-bit units. The shortened type shortens the execution speed by shortening the bit length of the general operand designation part by 2 bits. In such variable length instruction format, frequently used instructions are assigned to one operand format, and less frequently used instructions are assigned to two or more operand formats. By doing so, frequently used instructions can be executed in a short time, and the types of instructions can be increased. More specific examples of such variable length instructions are shown in FIGS. 12A to 12C.

第12A図、第12B図は2オペランド形式の命令の具体例
を示す図、第12C図は1オペランド形式の命令の具体例
を示す図である。第12A図は8ビットの実効アドレスフ
ィールドを持つ2オペランド一般型の命令を示し、16ビ
ットよりなる第1基本部は命令コードOP、ソース・オペ
ランド・サイズSS、ソース・オペランド・実効アドレス
easよりなり、第2基本部は命令コードOP、デスティネ
ーション・オペランド・サイズDD、デスティネーション
・オペランド・実効アドレスeadよりなる。尚、exp16/3
2は16ビット又は32ビットよりなる拡張部である。第12B
図は8ビット・イミディエート型の命令を示し、第1基
本部は命令コードOP、イミディエートデータ#よりな
り、第2基本部は命令コード、デスティネーション・オ
ペランド・サイズDD、デスティネーション・オペランド
・実効アドレスeadよりなる。この命令では、第2基本
部のみに拡張部exp16/32が付加される。第12C図は短縮
型のレジスターメモリ間転送命令を示し、命令コードO
P、レジスタ指定部Rn、ソース・オペランド・サイズS
S、ソース・オペランド・実効アドレス又はデスティネ
ーション・オペランド・実効アドレスeas/eadより成る
基本部と拡張部exp16/32より構成されている。
12A and 12B are diagrams showing a specific example of a two-operand format instruction, and FIG. 12C is a diagram showing a specific example of a one-operand format instruction. FIG. 12A shows a two-operand general type instruction having an 8-bit effective address field, and the first basic part consisting of 16 bits has an instruction code OP, source operand size SS, source operand effective address.
The second basic part is composed of an instruction code OP, a destination operand size DD, and a destination operand effective address ead. Incidentally, exp16/3
Reference numeral 2 is an extension section consisting of 16 bits or 32 bits. No. 12B
The figure shows an 8-bit immediate type instruction. The first basic part is composed of an instruction code OP and immediate data #, and the second basic part is an instruction code, destination operand size DD, destination operand effective address. consists of ead. In this instruction, the expansion part exp16/32 is added only to the second basic part. Figure 12C shows the shortened register-memory transfer instruction, which has the instruction code O
P, register specification Rn, source operand size S
It consists of a basic part consisting of S, a source operand, an effective address or a destination operand, and an effective address eas/ead and an expanded part exp16/32.

かかる可変長命令のデコード・シーケンスとして第13
図に示すステージ遷移が考えられる。第13図は最長で第
3基本部まで持つ命令のデコードのステージ遷移図であ
る。尚、○印は各部のデコードステージを示し、矢印は
他のデコードステージへの状態遷移を示す。第1基本部
のみを持つ命令が連続する場合には第1基本部のデコー
ドステージのみを繰り返せばよいが、第2、第3基本
部、第1、2、3拡張部がある場合には、単純に前のデ
コードステージを参照しながら後続ステージのデコード
を行おうとすると複雑なデコードシーケンスとなってし
まう。これは第1基本部の命令コードにより、後続の基
本部の命令コードの意味が変わり、且つ拡張部の長さも
可変である為である。
As the decoding sequence of such variable length instruction,
The stage transition shown in the figure can be considered. FIG. 13 is a stage transition diagram for decoding an instruction having up to the third basic part at the longest. In addition, a circle indicates a decode stage of each unit, and an arrow indicates a state transition to another decode stage. When the instructions having only the first basic part are continuous, only the decode stage of the first basic part needs to be repeated, but when there are the second and third basic parts and the first, second, and third expansion parts, If the decoding of the succeeding stage is simply performed while referring to the preceding decoding stage, the decoding sequence becomes complicated. This is because the instruction code of the first basic part changes the meaning of the instruction code of the subsequent basic part, and the length of the extension part is also variable.

例えば、第1図に示す命令をデコードするには第1基
本部をデコードし、そのデコード結果から第1拡張部が
あると判定する。次に、第1拡張部をデコードし、その
結果拡張部が続くと判断されれば第1拡張部のデコード
処理を繰り返し行う。第1拡張部のデコードが終了し、
且つ第1基本部のデコードの結果、第2基本部が有ると
判定されていれば、第2基本部のデコードステージへ遷
移する。第2基本部をデコードし第2基本部のデコード
結果から第2拡張部があると判定すると第2拡張部のデ
コードステージへ遷移する。その後、先の第2基本部の
デコード結果から第3基本部があると判定されると、第
3基本部をデコードステージ遷移する。第3基本部のデ
コード結果から第3拡張部があると判定されると第3拡
張部をデコードし第3基本部のデコード結果から第3拡
張部、第4基本部がないと判定すると 次の命令に移り、上述と同様のデコード・シーケンス
でデコードを行なう。しかし、この様なデコード・シー
ケンスでは各拡張部のデコード終了後に次の基本部のデ
コードに移るには、その拡張部がどの基本部に付随する
拡張部であるかを確認し、且つその基本部のデコード結
果を知る必要がある。状態遷移が多い程、遷移を指示す
る為の多くの制御信号を必要とする。よって、第4図に
示したステージ遷移を行なうデコードシーケンサではそ
の回路構成が複雑になるという問題がある。この問題は
1つの命令を構成する基本部及び拡張部の数が増加する
ほど深刻なものとなる。又、デコードシーケンサの複雑
化によりデコード処理に要する時間も長くなる。
For example, in order to decode the instruction shown in FIG. 1, the first basic part is decoded, and it is determined from the decoding result that there is the first extension part. Next, the first extension unit is decoded, and if it is determined that the extension unit continues as a result, the decoding process of the first extension unit is repeated. The decoding of the first extension part is completed,
In addition, if it is determined as a result of the decoding of the first basic part that the second basic part is present, a transition is made to the decoding stage of the second basic part. When the second basic part is decoded and it is determined from the decoding result of the second basic part that there is the second expansion part, the process proceeds to the decoding stage of the second expansion part. Then, if it is determined from the decoding result of the second basic part that there is a third basic part, the third basic part is shifted to the decoding stage. If it is determined from the decoding result of the third basic part that the third extended part is present, the third extended part is decoded, and if it is determined from the decoding result of the third basic part that the third extended part and the fourth basic part are not present, Move to the instruction and perform decoding in the same decoding sequence as above. However, in such a decoding sequence, in order to shift to the decoding of the next basic part after the completion of decoding of each expansion part, it is necessary to confirm which basic part the expansion part is associated with and decode that basic part. It is necessary to know the decoding result of. The more state transitions, the more control signals are required to direct the transitions. Therefore, there is a problem that the circuit configuration of the decode sequencer for performing the stage transition shown in FIG. 4 becomes complicated. This problem becomes more serious as the number of basic parts and extension parts constituting one instruction increases. Also, the time required for the decoding process becomes long due to the complexity of the decoding sequencer.

〔発明が解決しようとする課題〕[Problems to be Solved by the Invention]

本発明は効率良く可変長命令をデコードでき、且つ簡
素な構成の命令デコーダを具備するマイクロプロセッサ
を提供することを課題とする。
It is an object of the present invention to provide a microprocessor that can efficiently decode variable length instructions and that has an instruction decoder with a simple configuration.

本発明の他の課題は、可変長命令を高速にデコード可
能な命令デコーダを具備するマイクロプロセッサを提供
することにある。
Another object of the present invention is to provide a microprocessor including an instruction decoder capable of decoding variable length instructions at high speed.

本発明の更に他の課題は、高集積化に適したマイクロ
プロセッサの構成を提供することにある。
Still another object of the present invention is to provide a microprocessor structure suitable for high integration.

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

上記の課題は、命令コード及びオペランド指定部を含
む基本部と、該オペランド指定部を拡張する為に該基本
部の指定に応じて付加される拡張部を含む可変長命令を
実行するマイクロプロセッサであって、前記基本部をデ
コートすることで、後続の基本部及び拡張部の有無を判
別し、基本部遷移要求又は拡張部遷移要求を出力する基
本部デコーダ(28,30,32A,32B)と、前記拡張部をデコ
ードすることで、拡張部の継続の有無を判別し、拡張部
継続要求を出力する拡張部デコーダ(34)、前記基本部
デコーダ、拡張部デコーダにデコードを指示する制御信
号(OP1〜OP3,ADDM,IMM2,IMM3)を所定のシーケンスに
従って発生するデコードシーケンサ(14)とを具備し、
前記デコードシーケンサは、前記基本部遷移要求に応答
して前記基本部デコーダに対する制御信号を発生する第
1制御回路(421〜423,104〜106)と、前記拡張部遷移
要求又は拡張部継続要求に応答して前記拡張部デコーダ
に対する制御信号を発生する第2制御回路(44,120,424
〜426,114〜116)と、前記第1制御回路と前記第2制御
回路に接続され前記拡張部遷移要求又は拡張部継続要求
があるときには前記基本部遷移要求に対応する第1制御
回路の動作を保留させる第3制御回路(101〜103,111)
とを具備することを特徴とするマイクロプロセッサ。
The above problem is in a microprocessor that executes a variable length instruction including a basic part including an instruction code and an operand designating part, and an extension part added according to the designation of the basic part to extend the operand designating part. Therefore, by decoding the basic part, the presence or absence of the following basic part and extension part is determined, and a basic part decoder (28, 30, 32A, 32B) that outputs a basic part transition request or an expansion part transition request is used. , The extension unit is decoded to determine whether or not the extension unit is continued, and outputs an extension unit continuation request, an extension unit decoder (34), the basic unit decoder, and a control signal for instructing the extension unit decoder to perform decoding ( OP1 to OP3, ADDM, IMM2, IMM3) and a decoding sequencer (14) for generating a predetermined sequence,
The decode sequencer is responsive to the basic part transition request to generate a control signal for the basic part decoder (421 to 423, 104 to 106), and to respond to the extended part transition request or the extended part continuation request. Second control circuit (44, 120, 424) for generating a control signal for the extension decoder.
426, 114 to 116), the operation of the first control circuit connected to the first control circuit and the second control circuit and corresponding to the basic part transition request is suspended when there is the expansion part transition request or the expansion part continuation request. Third control circuit (101 to 103,111)
And a microprocessor.

〔作用〕[Action]

本発明に於いては、デコードステージを基本モードと
拡張モードとに分け、基本部と拡張部のデコードステー
ジ分離している。更に第1拡張部、第2拡張部、第3拡
張部のデコードステージを分けず、各拡張部のデコード
ステージを共通化してステージ遷移を簡素化することで
デコードシーケンサの構成も簡素化可能としている。そ
の際に基本部のデコード開始と拡張部のデコード開始が
競合した場合には後続の基本部のデコード要求をマスク
して拡張部のデコードを開始させる信号の方を優先さ
せ、各拡張部のデコード終了後に次の基本部のデコード
に移る様にデコードシーケンサの構成している。
In the present invention, the decode stage is divided into a basic mode and an extended mode, and the decode stages of the basic portion and the extended portion are separated. Further, the decode stages of the first extension unit, the second extension unit, and the third extension unit are not divided, and the decode stage of each extension unit is made common to simplify the stage transition, thereby making it possible to simplify the configuration of the decode sequencer. .. If the decoding start of the basic part and the decoding start of the extension part conflict at this time, the signal that masks the decoding request of the subsequent basic part and starts the decoding of the extension part is given priority, and the decoding of each extension part is performed. The decoding sequencer is configured so that the decoding of the next basic part starts after the end.

〔実施例〕〔Example〕

本発明の一実施例に於ける命令デコードのステージ遷
移を第1図を用いて説明する。図中、○印はデコードス
テージを示し、矢印はデコードステージの遷移を示す。
The stage transition of instruction decoding in one embodiment of the present invention will be described with reference to FIG. In the figure, the circles indicate the decode stages, and the arrows indicate the transitions of the decode stages.

本発明に於いては、デコードステージを基本モードと
拡張モードとに分け、基本部と拡張部のデコードステー
ジ分離している。更に、第13図の様に第1拡張部、第2
拡張部、第3拡張部のデコードステージを分けず、各拡
張部のデコードステージを共通化している。この結果、
第13図に比べて第1図の本発明の一実施例ではデコード
ステージの状態遷移の種類が少なくなり、デコードシー
ケンサの簡素化が可能となる。
In the present invention, the decode stage is divided into a basic mode and an extended mode, and the decode stages of the basic portion and the extended portion are separated. Further, as shown in FIG. 13, the first expansion portion, the second
The decode stages of the extension unit and the third extension unit are not separated, and the decode stages of the extension units are made common. As a result,
Compared to FIG. 13, in the embodiment of the present invention shown in FIG. 1, there are fewer kinds of state transitions in the decode stage, and the decode sequencer can be simplified.

本実施例では、命令中に拡張部が無い場合、又は拡張
部がある場合でも基本部と同じデコードサイクル内でオ
ペランド処理に必要なデータ、制御信号が用意できる場
合には基本モード内でのみデコードステージが遷移す
る。第1基本部のみの命令が続く場合には第1基本部の
デコードステージのみが繰り返される。また、第3基本
部まである命令のばあいには、第1基本部。第2基本
部、第3基本部の順でデコードステージが遷移し、その
後に次の命令のデコードの為に第1基本部へ遷移する。
一方、第1基本部をデコードした段階で、第2基本部有
り、第1拡張部有りと判断され且つ基本部と同じデコー
ドサイクル内で処理に必要なデータ、制御信号が用意で
きない場合(例えば、オペランド指定部で指定されたイ
ミディエートデータ長が大で1サイクルでは取り込めな
い場合)には、第2基本部への遷移要求は保持状態で待
たせておき、拡張モードへ遷移して後続の拡張部をデコ
ードする。後続の拡張部をデコードした結果、更に拡張
部が続くと判断された場合には拡張部のデコードステー
ジを繰り返す。第2、3拡張部についても同様に処理さ
れる。後続の拡張部が無いと判断されると再び基本モー
ドに戻り、持たせてあった第2基本部のデコードステー
ジへ遷移する。第5図に示すステージ遷移は、第2図に
示す命令デコード部を備えることで実現される。第2図
は本発明の原理構成を示している。尚、デコード対象で
ある命令は、第10図、第11図、第12A図〜第12C図に示す
様に所定ビット長の基本部と、前記基本部により指定さ
れて前記所定ビット長の整数倍の拡張部と、先行する基
本部に従属する基本部を有する可変長命令である。
In this embodiment, if there is no extension part in the instruction, or even if there is an extension part, if data and control signals necessary for operand processing can be prepared in the same decode cycle as the basic part, decoding is performed only in the basic mode. The stage transitions. When the instruction of only the first basic part continues, only the decode stage of the first basic part is repeated. In the case of commands that have up to the third basic part, the first basic part. The decode stage transits in the order of the second basic part and the third basic part, and then transits to the first basic part for decoding the next instruction.
On the other hand, when it is determined that the second basic portion exists and the first extension portion exists at the stage of decoding the first basic portion, and the data and control signal necessary for processing cannot be prepared within the same decoding cycle as the basic portion (for example, (If the immediate data length specified by the operand specification part is too long to be captured in one cycle), the transition request to the second basic part is made to wait in the holding state, and the transition to the extension mode is made to follow the extension part. To decode. As a result of decoding the subsequent extension part, if it is determined that the extension part will continue, the decoding stage of the extension part is repeated. The same applies to the second and third extension units. When it is determined that there is no subsequent extension part, the mode is returned to the basic mode again, and a transition is made to the decoding stage of the second basic part which was held. The stage transition shown in FIG. 5 is realized by including the instruction decoding unit shown in FIG. FIG. 2 shows the principle configuration of the present invention. The instruction to be decoded is a basic part having a predetermined bit length as shown in FIGS. 10, 11 and 12A to 12C, and an integer multiple of the predetermined bit length designated by the basic part. Is a variable length instruction having an extension part of and a base part subordinate to the preceding base part.

第2図に於いて、1は遷移要求デコード部であり、命
令を先頭から処理単位ビット長毎に順次読み込み後続の
基本部及び拡張部の有無を判別する。2はラッチ回路等
の記憶回路であり、基本部及び拡張部の有無を示す信号
を一時記憶する。3はデコードシーケンサであり、記憶
回路2の保持デコータに対応した基本部及び拡張部のデ
コードを開始させる信号を、基本部デコーダ4A又は拡張
部デコード4Bに対し順次出力する。この際、デコードシ
ーケンサ3は、基本部のデコード開始と前の命令の拡張
部のデコード開始が競合した場合には後続の基本部のデ
コード要求をマスクして拡張部のデコードを開始させる
信号の方を優先させて出力する。
In FIG. 2, 1 is a transition request decoding unit, which sequentially reads an instruction from the beginning for each processing unit bit length and determines the presence or absence of a subsequent basic unit and extension unit. Reference numeral 2 denotes a storage circuit such as a latch circuit, which temporarily stores a signal indicating the presence/absence of the basic portion and the extension portion. Reference numeral 3 denotes a decode sequencer, which sequentially outputs a signal for starting decoding of the basic unit and the expansion unit corresponding to the holding decoder of the storage circuit 2 to the basic unit decoder 4A or the expansion unit decode 4B. At this time, when the decoding start of the basic part and the decoding start of the expansion part of the previous instruction conflict, the decoding sequencer 3 masks the decoding request of the subsequent basic part and starts the decoding of the expansion part. Is output with priority.

各拡張部のデコード終了後に次の基本部のデコードに
移る場合、記憶回路2に基本部有りの情報が保持されて
いるので、前期優先制御によって拡張部のデコードを優
先しても容易に後続の基本部のデコード開始制御に移る
ことができる。この記憶回路2とデコードシーケンサ3
の優先制御との組み合わせにより、デコードシーケンサ
の構成が従来よりも簡単になる。
When the next basic part is decoded after the decoding of each expanded part, the information indicating that the basic part exists is stored in the memory circuit 2. Therefore, even if the decoding of the expanded part is prioritized by the previous period priority control, the subsequent It is possible to shift to the decoding start control of the basic part. This memory circuit 2 and decode sequencer 3
In combination with the priority control of, the configuration of the decode sequencer becomes simpler than in the past.

第3図は、本発明の一実施例であるデコード・シーケ
ンスをより具体的に示すステージ遷移図である。本実施
例のデコード・シーケンスに於いて取り得る状態は次の
7ステージである。
FIG. 3 is a stage transition diagram more specifically showing a decoding sequence which is an embodiment of the present invention. The states that can be taken in the decoding sequence of this embodiment are the following seven stages.

基本モード 先行する基本部のオペレーションコードが更に後続の
オペレーションコードを必要とする場合にステージ遷移
する。
Basic mode A stage transition occurs when the operation code of the preceding basic part requires a subsequent operation code.

SG1:命令の先頭(OP1)、即ち第1基本部からデコード
を行なうテステージ SG2:命令の第2基本部(OP2)をデコードするステージ SG3:命令の第3基本部(OP3)をデコードするステージ 拡張モード 基本モードに於いて、オペランド指定されたオへランド
処理に必要なデータ、制御信号が基本部のデコードサイ
クル内で用意できない場合に基本モードから遷移する。
SG1: Instruction head (OP1), that is, test stage for decoding from the first basic part SG2: Stage for decoding second basic part (OP2) of the instruction SG3: Stage for decoding third basic part (OP3) of the instruction Extended mode In the basic mode, transition is made from the basic mode when the data and control signals necessary for the operand-specified Holland processing cannot be prepared within the decode cycle of the basic section.

ADDM:付加モードのデコードステージ IMM2:ロングデータのイミディエートデータの2ワード
目を抜き取るステージ IMM3:ロングデータのイミディエートデータの3ワード
目を抜き取るステージ WAIT:デコード1サイクルに対し、後続する回路が2サ
イクル動作を必要とする場合に同期をとる為、デコード
を2サイクルにするステージ 各ステージへの遷移要求は付きのとりである。
ADDM: Decode stage in additional mode IMM2: Stage for extracting the second word of immediate data for long data IMM3: Stage for extracting the third word for immediate data for long data WAIT: Two cycles of subsequent circuit for one cycle of decoding In order to achieve synchronization in the case where is required, a transition request to each stage is required.

SGIREQ:第1基本部デコードの要求(第1基本部のみの
命令が続くときはこの要求も繰り返し出される) SG2REQ:第2基本部デコードの要求 SG3REQ:第3基本部デコードの要求 ADDMREQ:付加モードへの遷移要求 IMM2REQ:2ワード目のイミディエートデータがある場合
に出される遷移要求 IMM3REQ:3ワード目のイミディエートデータがある場合
に出される遷移要求 WAIT:ウエイト要求 尚、ADDMステージ、IMM2ステージ、IMM3ステージ、WA
ITステージから基本モードへ向かう破線の矢印は、それ
ぞれ先行する基本部に応じてSG1〜SG3の対応するステー
ジへ遷移することを示している。
SGIREQ: Request for decoding of the first basic part (This request is also repeatedly issued when the instruction of only the first basic part continues) SG2REQ: Request for decoding the second basic part SG3REQ: Request for decoding the third basic part ADDMREQ: Addition mode Transition request to IMM2REQ: Transition request issued when there is immediate data in the second word IMM3REQ: Transition request issued when immediate data in the third word is present WAIT: Wait request In addition, ADDM stage, IMM2 stage, IMM3 stage , WA
Dashed arrows pointing from the IT stage to the basic mode indicate transitions to corresponding stages of SG1 to SG3 depending on the preceding basic part.

本発明実施例の基本的なステージ遷移と第1図と同様
である。同図と異なる点は、拡張モードのステージをよ
り詳細に示した点である。ここで付加モードとは多重間
接やスケーリングを使用可能としたアドレッシングモー
ドでのオペランド指定部の拡張モードを意味する。ロン
グイミディエートデータの取込み時の遷移は次のとおり
である。SG1ステージで第1基本部のデコード結果が2
又は3ワードのロングイミディエートデータ有りの場合
にはIMM2ステージへ遷移する。更に、第1基本部のデコ
ード結果が3ワードのロングイミディエートデータ有り
の場合にはIMM3ステージへ遷移するシーケンスとなって
いる。また、SG1ステージからSG3ステージへの遷移要求
SG3REQは、第1基本部と第2基本部を同時にデコードし
た際に、第3図基本部有りと判断されたときに出される
ものである。尚、ウエイト要求WAIT・REQについてはSG
1、SG3ステージで発生するものとしてある。
This is similar to the basic stage transition of the embodiment of the present invention and FIG. The difference from the figure is that the extended mode stage is shown in more detail. Here, the additional mode means an extension mode of an operand designating section in an addressing mode in which multiple indirection and scaling can be used. The transitions at the time of fetching the long immediate data are as follows. The decoding result of the first basic part is 2 on the SG1 stage
Or, if there is 3-word long immediate data, transition to IMM2 stage. Further, when the decoding result of the first basic portion has the 3-word long immediate data, the sequence is such that it transits to the IMM3 stage. Also, a transition request from the SG1 stage to the SG3 stage
SG3REQ is issued when it is determined that the basic part shown in FIG. 3 is present when the first basic part and the second basic part are simultaneously decoded. The weight request WAIT/REQ is SG
1, as it occurs in the SG3 stage.

第3図に示すデコード・シーケンスにより、例えば第
8図に示すMOV命令は次の様にデコードされる。尚、第
4図はTRON(The Realtime Operating system Neucleu
s)仕様に準拠した命令の形式を示す図である。このMOV
命令は、メモリからメモリへの転送命令でありニーモニ
ックでは次のように表される。
By the decoding sequence shown in FIG. 3, for example, the MOV instruction shown in FIG. 8 is decoded as follows. Figure 4 shows TRON (The Realtime Operating system Neucleu
s) It is a figure which shows the format of the instruction based on the specification. This MOV
The instruction is a memory-to-memory transfer instruction and is represented as follows in the mnemonic.

MOV:G @@(disp,Rn),@Rm MOVは転送命令を、Gは第11図に示した一般形の命令で
あることを示す。また、@は間接アドレッシングを、@
@は二重間接アドレッシングを、dispはディスプレイス
メントを、Rn,Rmはインデックスレジスタを示す。EA1に
は次の第1拡張部が付加モードであることを示すコード
が格納され、EA2にはRmの間接アドレッシングの識別コ
ードが格納され、第1拡張部には付加モードとして、Rn
とディスプレイスメントの値による二重間接アドレッシ
ングを示すコードが格納されている。即ち、上記命令で
はインデックスレジスタRn内の値にディスプレイースメ
ントdispを加算した値のアドレスでメモリをアクセスし
てオペランドアドレスを取り出す。オペランドアドレス
に基いてソースデータをアクセスし、それをインデック
スレジスタRm内の値に対応するアドレスへ転送する。命
令中のOP1、S1、EA1は第1基本部であり、後続の付加モ
ードの部分が第1拡張部である。OP2、S2、EA2は第2基
本部である。OP1は第2基本部が有るという情報を持
ち、EA1は第1拡張部が有るという情報をもっている。
第1拡張部(付加モード)は、OP1により指定され第1
基本部に従属している。S1、S2はオペランドサイズであ
る。
MOV:G @@(disp,Rn),@Rm MOV indicates a transfer instruction, and G indicates a general type instruction shown in FIG. Also, @ means indirect addressing, @
@ Indicates double indirect addressing, disp indicates displacement, and Rn and Rm indicate index registers. The EA1 stores a code indicating that the first extension unit is in the additional mode, the EA2 stores the identification code of the indirect addressing of Rm, and the first extension unit uses the Rn as an additional mode.
And a code indicating double indirect addressing by a displacement value is stored. That is, in the above instruction, the memory is accessed at the address of the value obtained by adding the displacement disp to the value in the index register Rn to fetch the operand address. The source data is accessed based on the operand address and transferred to the address corresponding to the value in the index register Rm. OP1, S1, and EA1 in the command are the first basic part, and the part of the subsequent additional mode is the first extension part. OP2, S2 and EA2 are the 2nd basic part. OP1 has the information that it has the second basic part, and EA1 has the information that it has the first extension part.
The first extension (additional mode) is designated by OP1
Subordinate to the basic part. S1 and S2 are operand sizes.

このMOV命令を本発明に係るデコード・シーケンスに
基づいてデコードする際のステージ遷移を第5図に示
す。第5図の横方向は時間軸でありサイクル毎に現在の
ステージ、現在のステージでのデコード結果に基いて識
別される次に続くステージ、そのサイクル内でのデコー
ド動作を示している。
FIG. 5 shows stage transitions when the MOV instruction is decoded based on the decoding sequence according to the present invention. The horizontal direction of FIG. 5 is the time axis, and shows the current stage for each cycle, the next stage identified based on the decoding result at the current stage, and the decoding operation within the cycle.

MOV命令は第1基本部+拡張部(付加モード)+第2
基本部という構成になっているのでSG1ステージでOP1を
デコードすることで次ステージとしてSG2ステージ、ADD
Mステージが要求されることが分かる。ADDMステージは
第1拡張部に対応するものであるから、SG2ステージへ
の遷移は凍結させておき、次のサイクルではADDMステー
ジへ遷移する。この場合、拡張部の長さは1サイクルで
処理できる長さであるので、次のサイクルではSG2ステ
ージへ遷移する。但し、WAIT要求が来ている為、OP2の
デコードを1サイクル待たせ(OP2Wで示す)、現ステー
ジはSG2ステージのまま保持する。次のサイクルではOP2
をデコードする。MOV命令は第2基本部までなので次ス
テージはSG1ステージとなっている。
MOV instruction is 1st basic part + extended part (additional mode) + 2nd
Since it is configured as a basic part, by decoding OP1 at the SG1 stage, SG2 stage as the next stage, ADD
You can see that M stage is required. Since the ADDM stage corresponds to the first extension part, the transition to the SG2 stage is frozen and transitioned to the ADDM stage in the next cycle. In this case, since the length of the extension part is a length that can be processed in one cycle, transition to the SG2 stage occurs in the next cycle. However, because a WAIT request is coming, the decoding of OP2 is made to wait for one cycle (indicated by OP2W), and the current stage is kept as the SG2 stage. OP2 in next cycle
To decode. Since the MOV instruction is up to the second basic part, the next stage is SG1 stage.

尚、MOV:G@(disp,Rn),@Rmの様な命令(レジスタ
Rnの値にディスプレースメントdispを加算した値のアド
レスでメモリをアクセスし、そのアドレスのデータをレ
ジスタRmの値のアドレスへ転送)の場合は、拡張部があ
ってもディスプレースメントdispが基本部のデコードサ
イクル内で用意できるので拡張モードへの遷移はしな
い。
Note that commands (registers such as MOV:G@(disp,Rn),@Rm)
In the case of accessing the memory at the address of the value obtained by adding the displacement disp to the value of Rn and transferring the data at that address to the address of the value of register Rm), the displacement disp is Since it can be prepared within the decode cycle, the transition to extended mode is not performed.

第6図は、第3図に示したステージ遷移を実現する為
の本発明の一実施例である命令デコーダのブロック図で
ある。この命令デコーダは、命令キュー10から命令キュ
ーバス12を介して供給される命令をデコードシーケンサ
14からの制御信号に基づいて取り込み、デコードする。
FIG. 6 is a block diagram of an instruction decoder which is an embodiment of the present invention for realizing the stage transition shown in FIG. This instruction decoder decodes the instruction supplied from the instruction queue 10 via the instruction queue bus 12.
Capture and decode based on the control signal from 14.

以下、第11図に示した命令形式の可変長命令をデコー
ドする場合を例として説明する。命令キューバス12は64
ビット幅のバスであり、命令キュー10は64ビット単位で
命令を命令キューバス12へ送出する。命令キューバ12上
のデータ(ビット63〜ビット0)は、デコードシーケン
サ14からの制御信号に基づくタイミングでラッチ回路16
〜26に保持される。図中、括弧内の数は対応するラッチ
回路への入力されるビット番号を示す。例えば(63:4
8)は、ビット63〜ビット48の16ビットが入力されるこ
とを示す。
Hereinafter, the case of decoding the variable length instruction of the instruction format shown in FIG. 11 will be described as an example. 64 for instruction queue bus 12
The instruction queue 10 is a bus having a bit width and sends an instruction to the instruction queue bus 12 in units of 64 bits. The data (bit 63 to bit 0) on the instruction cuba 12 is latched by the latch circuit 16 at the timing based on the control signal from the decode sequencer 14.
Held at ~26. In the figure, the number in parentheses indicates the bit number input to the corresponding latch circuit. For example (63:4
8) indicates that 16 bits from bit 63 to bit 48 are input.

第1オペレーションコード(OP1)デコード部28、第
2オペレーションコード(OP2)デコード部30、アドレ
ッシング部デコード部32B、次ステージ遷移要求デコー
ド部32Aは基本部をデコードする為のデコーダである。
付加モードデコード部34は拡張部をデコードするデコー
ダである。イミディエートデータ、ディスプレースメン
トデータ等は64ビットの入力側命令レジスタ46、出力側
命令レジスタ48を介して取り込まれる。ラッチ回路16は
12ビットラッチ、ラッチ回路18は2入力の8ビットラッ
チ、ラッチ回路20は16ビットラッチ、ラッチ回路22は2
入力の16ビットラッチ、ラッチ回路24は2ビットラッチ
である。
The first operation code (OP1) decoding unit 28, the second operation code (OP2) decoding unit 30, the addressing unit decoding unit 32B, and the next stage transition request decoding unit 32A are decoders for decoding the basic unit.
The additional mode decoding unit 34 is a decoder that decodes the extension unit. Immediate data, displacement data, etc. are fetched via the 64-bit input side instruction register 46 and output side instruction register 48. Latch circuit 16
12-bit latch, latch circuit 18 is a 2-input 8-bit latch, latch circuit 20 is a 16-bit latch, and latch circuit 22 is 2
The input 16-bit latch and the latch circuit 24 are 2-bit latches.

第1オペレーションコード(OP1)デコード部28は、
ラッチ制御信号S31のタイミングでラッチ回路16に取り
込まれた第1基本部に含まれるオペレーションコード12
ビット〔(63:52),(50:48)〕をSG1ステージでデコ
ードする。
The first operation code (OP1) decoding unit 28
The operation code 12 included in the first basic portion fetched by the latch circuit 16 at the timing of the latch control signal S31.
Bits [(63:52), (50:48)] are decoded in the SG1 stage.

第2オペレーションコード(OP2)デコード部30は、
ラッチ制御信号S31のタイミングでラッチ回路18に取り
込まれた第2基本部に含まれるオペレーションコード8
ビット(47:40)をSG1ステージでデコードし、ラッチ制
御信号S32のタイミングでラッチ回路18に取り込まれた
オペレーションコード8ビット(63:56)をSG2ステージ
でする。
The second operation code (OP2) decoding unit 30
Operation code 8 included in the second basic portion fetched by the latch circuit 18 at the timing of the latch control signal S31
Bits (47:40) are decoded in the SG1 stage, and the operation code 8 bits (63:56) fetched in the latch circuit 18 at the timing of the latch control signal S32 are set in the SG2 stage.

次ステージ遷移要求デコード部32A及びアドレッシン
グデコード部32Bは、ラッチ回路20、22、24〜24のデー
タ及びS41、S42、S43を入力としてデコードを行う。次
ステージ遷移要求デコード部32A第7図に示した各ステ
ージへの遷移要求を判別する。アドレッシングデコード
部32Bは、アドレッシングモードをデコードする。ラッ
チ回路20にはラッチ制御信号S31のタイミングで16ビッ
ト(63:48)が取り込まれ、このデータはSG1ステージで
デコードされる。ラッチ回路22は2入力ラッチであり、
SG1ステージはラッチ制御信号S31のタイミングで16ビッ
ト(47,32)を取り込み、SG2ステージではラッチ制御信
号16ビット(63:48)を取り込む。ラッチ回路24はラッ
チ制御信号S33のタイミングで2ビット(57:56)をSG3
ステージに於いて取り込む。
The next stage transition request decoding unit 32A and the addressing decoding unit 32B receive the data of the latch circuits 20, 22, 24 to 24 and S41, S42, S43, and perform decoding. Next stage transition request decoding unit 32A The transition request to each stage shown in FIG. 7 is determined. The addressing decoding unit 32B decodes the addressing mode. 16 bits (63:48) are taken into the latch circuit 20 at the timing of the latch control signal S31, and this data is decoded at the SG1 stage. The latch circuit 22 is a 2-input latch,
The SG1 stage takes in 16 bits (47, 32) at the timing of the latch control signal S31, and the SG2 stage takes in 16 bits (63:48) of the latch control signal. The latch circuit 24 outputs 2 bits (57:56) to SG3 at the timing of the latch control signal S33.
Capture on stage.

付加モードデコード部34は、ラッチ制御信号S34のタ
イミングでラッチ回路26に保持された16ビット(63:4
8)の拡張部をADDMRステージに於いてデコードする。
The additional mode decoding unit 34 uses the 16-bit data (63:4) held in the latch circuit 26 at the timing of the latch control signal S34.
Decode the extension of 8) in the ADDMR stage.

尚、第2オペレーションコード(OP2)デコード部28
が、SG1ステージでもデコードを行うのは第1基本部、
第2基本部の同時デコードをする場合があるからであ
る。一般型の2オペランド以上を有する命令に於いて
は、第1オペランドがレジスタダイレクト(レジスタ中
のデータをオペランドとしてそのまま使う場合)の場合
には、命令キューバス12上の第2ハーフワード(47:3
2)にはSG2ステージでデコードすべき第2オペレーショ
ンコードがある。この時に限って命令の第1、第2オペ
レーションコードを同時にデコードする。その為、SG1
ステージでは、無条件に第2オペレーションデコード部
18及びアドレッシングデコード部32Bのラッチ回路18、2
2に第2ハーフワードを取込み、OP1デコード部28での第
1オペレーションコードのデコードにより命令が一般型
であり、且つ第1オペランドがレジスタダイレクトの場
合には第2オペレーションコードのデコード結果を有効
とする。一方、命令が一般型でないか又は一般型で第1
オペランドがレジスタダイレクト以外の場合には第2オ
ペレーションコードのデコード結果を無効とし、第1命
令オペレーションコードのデコード結果を有効とする。
このとき、一般型の命令で第1オペランドがレジスタダ
イレクト以外の場合には、SG2ステージ遷移要求がアサ
ートされ、次サイクル(SG2ステージ)で第2オペレー
ションコードのデコードを行なう。SG2ステージでは、
第2オペレーションコードは命令キューバス12上の第1
ハーフワード(63:48)にある為、第2オペレーション
コードデコード部30及びアドレッシングデコード部32B
のラッチ回路18、22は、命令キューバス12上の第1ハー
フワード(63:48)データを取込み、第2オペレーショ
ンコード及び第2オペランドのデコードを行なう。
The second operation code (OP2) decoding unit 28
However, it is the first basic part that decodes on the SG1 stage,
This is because the second basic part may be simultaneously decoded. In the case of a general type instruction having two or more operands, if the first operand is register direct (when the data in the register is used as an operand), the second halfword (47: 3
In 2), there is a second operation code to be decoded in the SG2 stage. Only at this time, the first and second operation codes of the instruction are simultaneously decoded. Therefore, SG1
In the stage, unconditionally the second operation decoding unit
18 and the latch circuits 18 and 2 of the addressing decoding unit 32B
If the second halfword is fetched into 2, and the instruction is general type due to the decoding of the first operation code by the OP1 decoding unit 28, and the first operand is register direct, the decoding result of the second operation code is validated. To do. On the other hand, the instruction is not of general type or of general type
When the operand is other than register direct, the decoding result of the second operation code is invalidated, and the decoding result of the first instruction operation code is validated.
At this time, if the first operand of the general type instruction is other than register direct, the SG2 stage transition request is asserted, and the second operation code is decoded in the next cycle (SG2 stage). On the SG2 stage,
The second operation code is the first on the instruction queue bus 12.
Since it is in halfword (63:48), the second operation code decoding unit 30 and the addressing decoding unit 32B
Latch circuits 18 and 22 fetch the first halfword (63:48) data on the instruction queue bus 12 and decode the second operation code and the second operand.

本一実施例に於いて第3基本部を有する命令として
は、固定ビット長ビットフィールド命令と、アッド・コ
ンペア・ブランチ、サブ・コンペア・ブランチ等のルー
プ命令がある。これらの命令は4オペランドを持つ命令
で、この内2オペランドは一般型の第1、第2基本部の
第1オペランド及び第2オペランド指定部で指定され、
残りの2オペランドを指定する為に第3基本部が使用さ
れる。第3基本部は命令を判別するオペレーションコー
ドを持たず(命令種は第1、第2基本部のオペレーショ
ンコードで既に指定され、第3基本部のデコード時点で
は判別済である)レジスタ番号やイミディエートデータ
を有する。従って、SG3ステージでデコーダは、イミデ
ィエートデータのサイズを指定するティールド(57:5
6)を入力するのみで、定数発生指示を出力する。レジ
スタ番号やイミディエートデータは入力側命令レジスタ
46及び出力側命令レジスタを通って後段の回路へ伝えら
れる。
In the present embodiment, the instructions having the third basic portion include fixed bit length bit field instructions and loop instructions such as add compare branch and sub compare branch. These instructions are instructions having four operands, of which two operands are designated by the first operand and the second operand designating part of the general type first and second basic parts,
The third primitive is used to specify the remaining two operands. The third basic part does not have an operation code for discriminating an instruction (the instruction type has already been specified by the operation code of the first and second basic parts and has already been discriminated at the time of decoding the third basic part) register number or immediate Have data. Therefore, in SG3 stage, the decoder specifies the size of immediate data (57:5
The constant generation instruction is output only by inputting 6). Register number and immediate data are input instruction register
It is transmitted to the subsequent circuit through 46 and the output side instruction register.

本一実施例に於いて、拡張部は付加モードアドレッシ
ングを実現する為に使用される。付加モードアドレッシ
ングは、多重間接やスケーリングが使用できるアドレッ
シングモードである。オペランドアドレスは基本的に以
下の式で求められ、このアドレス計算を繰り返し適用す
ることによって多重間接アドレッシングを実現する。
In one embodiment, the extensions are used to implement additional mode addressing. The additional mode addressing is an addressing mode in which multiple indirection and scaling can be used. The operand address is basically obtained by the following formula, and multiple indirect addressing is realized by repeatedly applying this address calculation.

〔ベースアドレス+インデックス*スケール+ディスプレースメント〕[Base address + index * scale + displacement]

従って、一段目のベースアドレスを基本部のオペランド
指定部により指定し、インデックス、スケール、ディス
プレースメントを一段毎に以下のフォーマットで指定す
る。
Therefore, the base address of the first stage is designated by the operand designation part of the basic part, and the index, scale, and displacement are designated for each stage in the following format.

E :終了指定 I :間接指定 Rn:インデックスレジスタ番号 M :インデックス指定 XX:スケール指定 D :ディスプレースメント指定 D4:ディスプレースメントデータ (16ビット及び32ビットの場合は拡張部EXPのフィール
ドに拡張) この付加モードアドレッシング指定部をデコードするの
が付加モードデコードでADDMステージに於一段毎に命令
キューバス12上の第1ハーフワード(15:0)をラッチし
てデコードする。オペレーションコードデコード部28,3
0のデコード結果は、それぞれラッチ制御信号S03のタイ
ミングでラッチ回路36,38に保持される。保持された出
力のうち一方が選択されて第9図に示すマイクロプログ
ラムROM65に対しマイクロアドレスを供給するとともに
パイプライン制御部64に対しタグを供給する。アドレッ
シングデコード部32A及び次ステージ遷移要求デコード
部34Bのデコード結果はラッチ制御信号S03のタイミング
でラッチ回路42に保持され、付加モードデコード部34の
デコード結果はラッチ回路44に保持される。これら保持
データは、第13図の命令実行部81の構成要素であるアド
レス発生部68及び定数発生部67に対しアドレス計算指示
及び定数発生指示を与える。
E: End designation I: Indirect designation Rn: Index register number M: Index designation XX: Scale designation D: Displacement designation D4: Displacement data (In the case of 16-bit and 32-bit, extended to EXP field of extension) Add this The mode addressing designation portion is decoded by the additional mode decoding, and the first half word (15:0) on the instruction queue bus 12 is latched and decoded in each stage in the ADDM stage. Operation code decoding unit 28,3
The decoding result of 0 is held in the latch circuits 36 and 38 at the timing of the latch control signal S03. One of the held outputs is selected to supply a micro address to the micro program ROM 65 shown in FIG. 9 and a tag to the pipeline control unit 64. The decoding results of the addressing decoding unit 32A and the next stage transition request decoding unit 34B are held in the latch circuit 42 at the timing of the latch control signal S03, and the decoding results of the additional mode decoding unit 34 are held in the latch circuit 44. These held data give an address calculation instruction and a constant generation instruction to the address generation section 68 and the constant generation section 67 which are the constituent elements of the instruction execution section 81 of FIG.

第6図の命令デコーダの制御はデコードシーケンサ14
によって行われる。第7図は本発明の一実施例であるデ
コードシーケンサ14のブロック図である。
The control of the instruction decoder of FIG.
Done by FIG. 7 is a block diagram of the decode sequencer 14 which is an embodiment of the present invention.

本実施例のデコードシーケンサでは、基本状態の遷移
では拡張部の有無は考慮せず、基本遷移要求が拡張遷移
要求がアサートされている間は凍結される様に上記各制
御信号を発生する。又、デコードが複数サイクルにまた
がる為、第1オペレーションコード、第2オペレーショ
ンコード、及び付加モードに対応して、それぞれデコー
ドを行うデコード部設け、各ステージ信号によりデコー
ド済信号を後続サイクルで参照するため、分割されたデ
コード部毎にラッチ回路を制御している。更にウエイト
ステージ及び外部からのウエイト要求があると、出力側
ラッチを凍結し、その状態を保持する。
In the decode sequencer of this embodiment, the presence or absence of the extension part is not taken into consideration in the transition of the basic state, and the above control signals are generated so that the basic transition request is frozen while the extended transition request is asserted. In addition, since the decoding spans a plurality of cycles, a decoding unit is provided to perform decoding corresponding to the first operation code, the second operation code, and the additional mode, and the decoded signal is referred to in the subsequent cycle by each stage signal. The latch circuit is controlled for each of the divided decoding units. Further, when there is a wait stage or a wait request from the outside, the output side latch is frozen and the state is held.

以下、本実施例のデコードシーケンサの細部について
詳細に説明する。本実施例に於けるデコードシーケンサ
は、次ステージ遷移要求デコード部32Aから出力される
基本遷移要求信号S11、S12、S13、拡張遷移要求信号S1
4、S15、S16、付加モードデコード部34から拡張継続要
求信号S18及び第8図に示す4相クロック信号φ〜φ
に基づいて入力、出力側のラッチ制御信号、各デコー
ド部のイネーブル信号を発生する。ラッチ回路42の一部
であるラッチ回路42aは、次ステージ25遷移要求デコー
ド部32Aから出力されるデコード出力S11〜S17を一時保
持する。ビットラッチ回路421〜423の出力はそれぞれ、
第1基本ステージ遷移要求信号SG1REQ(S21)、第2基
本ステージ遷移要求信号SG2REQ(S22)、第3基本ステ
ージ遷移要求信号SG3REQ(S23)となる。ビットラッチ
回路424〜427の出力はそれぞれ、付加モードステージ遷
移要求信号ADDM・REQ(S24)、64ビットイミディエート
遷移要求信号IMM2REQ(S25)、96ビットイミディエート
遷移要求信号IMM3REQ(S26)、ウエイト要求信号WAIT・
REQ(S27)となる。付加モードデコード部34のデコード
出力S18はラッチ回路44に一時保持され、付加モード継
続信号ADDM・CN(S27)として出力する。ビットラッチ
回路421〜423の保持データは、それぞれアンドゲート10
1,102,103を介してクロック信号φのタイミングでビ
ットラッチ回路104,105,106に保持される。アンドゲー
ト101〜103は、拡張部遷移要求がある間、基本部遷移要
求をマスクする機能を有する。ビットラッチ回路104〜1
06の保持データS41,S42,S43は、オアゲート107に入力さ
れ、その論理和出力はよりてアンドゲート108の一方の
入力端子に供給される。アンドゲート108の他方の入力
端子にはパイプライン制御部64(第9図参照)からのウ
エイト要求信号WAIT・PL(S01)がインバータ109を介し
て供給される。オアゲート107は、現ステージが基本部
ステージにあることを検出する機能を有する。アンドゲ
ート108はウエイト要求WAIT・PL及び基本部遷移要求が
無いことを検出して次ステージ遷移要求デコード部の出
力S11〜S13の取り込みを支持する信号を発生する機能を
有する。アンドゲート108の出力は、アンドゲート110の
一方の入力端子に供給され、アンドゲート110の他方の
入力端子には、クロック信号φが供給される。アンド
ゲート110の出力は、ビットラッチ回路421,422,423にデ
コード出力S11〜S13を取り込む為のラッチタイミング信
号として用いられる。アンドゲート101〜103の他方の入
力端子には、基本部遷移要求のマスクを制御するノアゲ
ート111の出力が供給される。ノアゲート111の入力端子
には、ビットラッチ回路424,426の出力がそれぞれオア
ゲート112,アンドゲート113を介し信号S34,S36として供
給され、さらにビットラッチ回路425,427に保持された
データS25,S27が直接供給され、拡張部への遷移要求の
有無を検出している。データS34,S25,S36はクロック信
号φのタイミングでそれぞれビットラッチ回路114,11
5,116に保持され、拡張部デコードイネーブル信号ADDM
(S44)、IMM2(S45)、IMM3(S46)として出力され
る。データS44,S45はそれぞれビットラッチ回路117,118
にデータS54,S55として保持される。データS54はアンド
ゲート120の一方の入力端子に供給され、データS55はア
ンドゲート113の他方の入力端子に供給される。アンド
ゲート113はIMM2ステージに於いてIMM3REQがあるときに
ビットラッチ回路116へIMM3REQを転送する機能を有す
る。アンドゲート120は、拡張モードの最中に拡張部を
デコードした結果、更に拡張モードが続くと判別された
ことを検出してADDM・REQをビットラッチ回路114へ転送
する機能を有する。インバータ109の出力とクロック信
号φとがアンドゲート119へ供給され、アンドゲート1
19の出力がラッチタイミング信号としてビットラッチ回
路117,118,424〜427へデコード出力S14〜S17を取り組む
為のタイミング信号として用いられている。
The details of the decode sequencer of this embodiment will be described below in detail. The decode sequencer in the present embodiment includes basic transition request signals S11, S12, S13 and extended transition request signal S1 output from the next stage transition request decoding unit 32A.
4, S15, S16, the extension continuation request signal S18 from the additional mode decoding unit 34, and the four-phase clock signals φ 0 to φ shown in FIG.
Based on 3 , the latch control signal on the input side and the output side, and the enable signal for each decoding section are generated. The latch circuit 42a, which is a part of the latch circuit 42, temporarily holds the decode outputs S11 to S17 output from the next stage 25 transition request decoding unit 32A. The outputs of the bit latch circuits 421 to 423 are
It becomes the first basic stage transition request signal SG1REQ (S21), the second basic stage transition request signal SG2REQ (S22), and the third basic stage transition request signal SG3REQ (S23). The outputs of the bit latch circuits 424 to 427 are the additional mode stage transition request signal ADDM.REQ (S24), the 64-bit immediate transition request signal IMM2REQ (S25), the 96-bit immediate transition request signal IMM3REQ (S26), and the wait request signal WAIT, respectively.・
It becomes REQ (S27). The decode output S18 of the additional mode decoding unit 34 is temporarily held in the latch circuit 44 and output as the additional mode continuation signal ADDM•CN (S27). The data held in the bit latch circuits 421 to 423 is the AND gate 10 respectively.
It is held in the bit latch circuits 104, 105 and 106 at the timing of the clock signal φ 1 via 1 , 102 and 103. The AND gates 101 to 103 have a function of masking a basic part transition request while there is an extension part transition request. Bit latch circuit 104-1
The stored data S41, S42, S43 of 06 are input to the OR gate 107, and the logical sum output thereof is further supplied to one input terminal of the AND gate 108. The other input terminal of the AND gate 108 is supplied with the wait request signal WAITPL (S 01 ) from the pipeline control unit 64 (see FIG. 9) via the inverter 109. The OR gate 107 has a function of detecting that the current stage is the basic unit stage. The AND gate 108 has a function of detecting that there is no wait request WAITPL and basic part transition request, and generating a signal for supporting the capture of the outputs S11 to S13 of the next stage transition request decoding unit. The output of the AND gate 108 is supplied to one input terminal of the AND gate 110, and the clock signal φ 3 is supplied to the other input terminal of the AND gate 110. The output of the AND gate 110 is used as a latch timing signal for fetching the decode outputs S11 to S13 into the bit latch circuits 421, 422, 423. The other input terminals of the AND gates 101 to 103 are supplied with the output of the NOR gate 111 which controls the mask of the basic part transition request. To the input terminal of the NOR gate 111, the outputs of the bit latch circuits 424 and 426 are respectively supplied as signals S34 and S36 via the OR gate 112 and the AND gate 113, and further the data S25 and S27 held in the bit latch circuits 425 and 427 are directly supplied, The presence/absence of a transition request to the extension part is detected. The data S34, S25, S36 are respectively bit latch circuits 114, 11 at the timing of the clock signal φ 1.
It is held at 5,116, and the extension decode enable signal ADDM
(S44), IMM2 (S45) and IMM3 (S46) are output. Data S44 and S45 are bit latch circuits 117 and 118, respectively.
Are stored as data S54 and S55. The data S54 is supplied to one input terminal of the AND gate 120, and the data S55 is supplied to the other input terminal of the AND gate 113. The AND gate 113 has a function of transferring IMM3REQ to the bit latch circuit 116 when there is IMM3REQ in the IMM2 stage. The AND gate 120 has a function of detecting that it is determined that the extension mode continues as a result of decoding the extension portion during the extension mode, and transfers ADDM.REQ to the bit latch circuit 114. The output of the inverter 109 and the clock signal φ 3 are supplied to the AND gate 119, and the AND gate 1
The output of 19 is used as a latch timing signal as a timing signal for engaging the decode outputs S14 to S17 to the bit latch circuits 117, 118, 424 to 427.

付加モードデコード部34からのデコード出力S18はア
ンドゲート119の出力のタイミングでラッチ回路44に保
持され、付加モード継続信号ADDM・CN(S28)としてと
してアンドゲート120の他方の入力端子に供給される。
ウエイト要求信号WAIT・REQ(S27)はクロック信号φ
のタイミングでビットラッチ回路121に保持され、ウエ
イト信号WAIT(S47)としてノアゲート122へ供給され
る。ノアゲート122はWAIT又はWAIT・PLの有無を検出す
る機能を有する。ノアゲート122の出力及びクロック信
号φがアンドゲート123へ供給され、ウエイト要求が
無いときにアンドゲート123からラッチ制御信号S03が出
力される。このラッチ制御信号S03は、第10図に示すラ
ッチ回路36、38、44、48のラッチタイミング信号として
用いられる。アンドゲート101の出力はラッチ制御信号O
P1I(S31)として第6図に示すラッチ回路16〜20をイネ
ーブル状態とする為に供給される。アンドゲート102の
出力はラッチ制御信号OP21(S32)として第6図に示す
ラッチ回路18,22をイネーブル状態とする為に供給され
る。アンドゲート103の出力はラッチ制御信号OP3I(S3
3)として第6図に示すラッチ回路24をイネーブル状態
とする為に供給される。ビットラッチ回路104の保持デ
ータS41は第1基本部デコードイネーブル信号OP1として
第10図に示すOP1デコード部28及びアドレッシングデコ
ード部32Bに供給される。ビットラッチ回路105の保持デ
ータS42は第2基本部デコードイネーブル信号OP2として
第6図に示すOP2デコード部30及びアドレッシングデコ
ード部32Bに供給される。ビットラッチ回路106の保持デ
ータS43は第3基本部デコードイネーブル信号OP3として
第6図に示すアドレッシングデコード部32Bに供給され
る。各デコード部はデコードイネーブル信号OP1〜OP3に
応答してデコードを開始する。また、ビットラッチ回路
114〜116の保持データS44,S45,S46はそれぞれ、拡張部
デコードイネーブル信号ADDM、IMM2、IMM3となる。拡張
部デコードイネーブル信号ADDMとして拡張部のデコード
開始を指示する為に第6図の付加モードデコード部34に
供給される。S45,S46はそれぞれ64ビット、96ビットの
イミディエートのデコードを指示するデコードイネーブ
ル信号として、ラッチ回路44に保持され、この保持デー
タは定数発生部に対して定数発生指示を与える。
The decode output S18 from the additional mode decoding unit 34 is held in the latch circuit 44 at the output timing of the AND gate 119, and is supplied to the other input terminal of the AND gate 120 as the additional mode continuation signal ADDM.CN (S28). ..
Wait request signal WAIT REQ (S27) is clock signal φ 1
It is held in the bit latch circuit 121 at the timing of and is supplied to the NOR gate 122 as a wait signal WAIT (S47). The NOR gate 122 has a function of detecting the presence or absence of WAIT or WAIT.PL. The output of the NOR gate 122 and the clock signal φ 3 are supplied to the AND gate 123, and the latch control signal S03 is output from the AND gate 123 when there is no wait request. The latch control signal S03 is used as a latch timing signal for the latch circuits 36, 38, 44 and 48 shown in FIG. The output of the AND gate 101 is the latch control signal O
It is supplied as P1I (S31) to enable the latch circuits 16 to 20 shown in FIG. The output of the AND gate 102 is supplied as a latch control signal OP21 (S32) to enable the latch circuits 18 and 22 shown in FIG. The output of the AND gate 103 is the latch control signal OP3I (S3
As 3), it is supplied to enable the latch circuit 24 shown in FIG. The held data S41 of the bit latch circuit 104 is supplied to the OP1 decoding unit 28 and the addressing decoding unit 32B shown in FIG. 10 as the first basic unit decoding enable signal OP1. The data S42 held by the bit latch circuit 105 is supplied to the OP2 decoding unit 30 and the addressing decoding unit 32B shown in FIG. 6 as the second basic unit decoding enable signal OP2. The data S43 held in the bit latch circuit 106 is supplied to the addressing decoding unit 32B shown in FIG. 6 as the third basic unit decoding enable signal OP3. Each decoding unit starts decoding in response to the decode enable signals OP1 to OP3. Also, bit latch circuit
The held data S44, S45, S46 of 114 to 116 become extension decode enable signals ADDM, IMM2, IMM3, respectively. The extended portion decode enable signal ADDM is supplied to the additional mode decoding portion 34 in FIG. 6 to instruct the start of decoding of the extended portion. S45 and S46 are held in the latch circuit 44 as decode enable signals for instructing immediate and 64-bit immediate decoding, and the held data gives a constant generation instruction to the constant generation unit.

デコードシーケンサの動作を説明する為、一例とし
て、第4図に示したメモリ−メモリ間転送命令MOVのデ
コード時に於ける動作タイミングを第8図に示す。尚、
第8図に於いて第7図と同一符号は同一の信号を示す。
To explain the operation of the decode sequencer, FIG. 8 shows an operation timing at the time of decoding the memory-memory transfer instruction MOV shown in FIG. 4 as an example. still,
In FIG. 8, the same symbols as in FIG. 7 indicate the same signals.

前命令の処理終了後、クロック信号φの立ち上がり
タイミングて第1基本部遷移要求信号SG1REQ(S21)が
“1"となる。このとき第2基本部遷移要求信号SG2REQ
(S22)、第3基本部遷移要求信号SG3REQ(S23)、拡張
部遷移要求信号ADDM・REQ(S24)、IMM2REQ(S25)、IM
M3REQ(S26)、ウエイト要求信号WAIT・REQ(S27)、付
加モード継続信号ADDM・CN(S28)は全て“0"である。
従って、ノアゲート111の出力は“1"であり、ラッチ制
御信号OP1I(S31)が“1",OP2I(S32)及びOP3I(S33)
が“0"であるので、ラッチ回路16、18、20、22に命令キ
ューバス12上の対応するデータが取り込まれる。次のク
ロック信号φの立ち上がりタイミングで第1基本部デ
コードイネーブル信号OP1(S41)が“1"となり、第1基
本部のデコードが行われる。このとき、第2基本部デコ
ードイネーブル信号OP2(S42)、第3基本部デコードイ
ネーブル信号(S43)は“0"であり、ディスエーブル状
態を指示している。
After the processing of the previous instruction is completed, the first basic part transition request signal SG1REQ (S21) becomes “1” at the rising timing of the clock signal φ 3 . At this time, the second basic part transition request signal SG2REQ
(S22), third basic part transition request signal SG3REQ (S23), extended part transition request signal ADDM/REQ (S24), IMM2REQ (S25), IM
M3REQ (S26), wait request signal WAIT.REQ (S27), and additional mode continuation signal ADDM.CN (S28) are all "0".
Therefore, the output of the NOR gate 111 is "1", and the latch control signal OP1I (S31) is "1", OP2I (S32) and OP3I (S33).
Is "0", the corresponding data on the instruction queue bus 12 is fetched into the latch circuits 16, 18, 20, 22. At the next rising timing of the clock signal φ 1 , the first basic part decode enable signal OP1 (S41) becomes “1”, and the first basic part is decoded. At this time, the second basic part decode enable signal OP2 (S42) and the third basic part decode enable signal (S43) are "0", indicating the disable state.

次のクロック信号φの立ち上がりタイミングで第1
基本部遷移要求信号SG1REQ(S21)が“0",第2基本部遷
移要求信号SG2REQ(S22)及び拡張部遷移要求信号ADDM
・REQ(S24)が両方とも“1"になる。但しノアゲート11
1の出力は“0"であるので、第2基本部遷移要求信号SG2
REQ(S22)はアンドゲート102によりマスクされ、拡張
部遷移要求信号ADDM・REQ(S24)が優先される。従っ
て、次のクロック信号φの立ち上がりタイミングでは
第2基本部デコードイネーブル信号OP2(S42)は“0"で
ディスエーブル状態のままであり、拡張部遷移要求信号
ADDM・REQ(S24)はビットラッチ回路44に取り込まれ、
拡張部デコードイネーブル信号ADDM(S44)が“1"とな
り、第1拡張部(付加モード)がデコードされる。
At the rising timing of the next clock signal φ 3 , the first
Basic part transition request signal SG1REQ (S21) is “0”, second basic part transition request signal SG2REQ (S22) and extended part transition request signal ADDM
・Both REQ (S24) become "1". However, Noah Gate 11
Since the output of 1 is "0", the second basic unit transition request signal SG2
REQ (S22) is masked by the AND gate 102, and the extension transition request signal ADDM.REQ (S24) has priority. Therefore, at the next rising timing of the clock signal φ 1 , the second basic part decode enable signal OP2 (S42) remains “0” and the disabled state, and the extended part transition request signal.
ADDM·REQ (S24) is taken into the bit latch circuit 44,
The extension decode enable signal ADDM (S44) becomes "1", and the first extension (additional mode) is decoded.

次のクロック信号φの立ち上がりタイミングで拡張
部遷移要求信号ADDM・REQ(S24)が“0"になる。この
時、付加モード継続信号ADDM・CN(S28)は“0"で後続
の拡張部が無いことを示しているので付加モードステー
ジの終了が指示される。付加モードステージの終了に応
答してノアゲート111が“1"になり、アンドゲート101〜
103によるマスクが解除される。その結果、ラッチ制御
信号OP2I(S32)が“1"になり、ラッチ回路18、22に命
令キューバス12上のデータが取り込まれる。次のクロッ
ク信号φの立ち上がりタイミングで第2基本部遷移要
求信号SG2REQ(S22)の“1"がビットラッチ回路105に取
り込まれ第2基本部デコードイネーブル信号OP2(S42)
が“1"となり、第2基本部のデコードが行われる。但
し、この時パイプライン制御部からのウエイト要求信号
WAIT・PL(S01)が“1"となりウエイト要求が来てい
る。従って、ノアゲート122の出力は“0"、アンドゲー
ト123から出力される出力側ラッチ回路制御信号(S03)
はクロック信号φの論理値に関わらず“0"に固定さ
れ、次のクロック信号φ立ち上がっても第2基本部の
デコード結果はラッチ回路38に取り込まれない。同様に
アンドゲート110,119もウエイト要求に応答して閉じて
いるので、ビットラッチ回路42aへの新たなデータの取
込みは行われない。従って、デコードシーケンサの状態
は1サイクルの間変化がなく、待ち状態となる。
The extension transition request signal ADDM•REQ (S24) becomes “0” at the next rising timing of the clock signal φ 3 . At this time, the additional mode continuation signal ADDM•CN (S28) is "0", which indicates that there is no subsequent extension part, and therefore the end of the additional mode stage is instructed. In response to the end of the additional mode stage, NOR gate 111 becomes "1", and AND gate 101-
The mask by 103 is released. As a result, the latch control signal OP2I (S32) becomes "1", and the data on the instruction queue bus 12 is taken into the latch circuits 18 and 22. At the next rising timing of the clock signal φ 1 , “1” of the second basic part transition request signal SG2REQ (S22) is taken in by the bit latch circuit 105 and the second basic part decode enable signal OP2 (S42).
Becomes "1", and the second basic part is decoded. However, at this time, the wait request signal from the pipeline control unit
WAIT/PL (S01) becomes "1" and a wait request is coming. Therefore, the output of the NOR gate 122 is "0", and the output side latch circuit control signal (S03) output from the AND gate 123
Is fixed to "0" regardless of the logic value of the clock signal phi 3, the decoding result of the second basic section also rises following the clock signal phi 3 is not taken into the latch circuit 38. Similarly, since the AND gates 110 and 119 are closed in response to the wait request, new data is not taken into the bit latch circuit 42a. Therefore, the state of the decode sequencer does not change for one cycle and is in a waiting state.

次のクロック信号φの立ち上がりタイミングではウ
エイト要求信号WAIT・PL(S01)が“0"となり、待ち状
態が解除される。次のクロック信号φの立ち上がりタ
イミングではラッチ回路信号(S03)が“1"となるので
前のサイクルでデコードした第2基本部のデコード結果
がラッチ回路38に取り込まれる。このとき、第1基本部
遷移要求信号SG1REQ(S21)、ラッチ制御信号OP1I(S3
1)は“1"になり第2基本部遷移要求信号SG2REQ(S2
2)、ラッチ制御信号OP2I(S32)は“0"になってMOVE命
令のデコード処理が終了する。次のサイクルでは続く次
命令のデコード処理が開始される。
At the next rising timing of the clock signal φ 1 , the wait request signal WAITPL (S01) becomes "0" and the wait state is released. Since the latch circuit signal (S03) becomes "1" at the next rising timing of the clock signal φ 3 , the decoding result of the second basic portion decoded in the previous cycle is fetched by the latch circuit 38. At this time, the first basic unit transition request signal SG1REQ (S21) and the latch control signal OP1I (S3
1) becomes “1” and the second basic part transition request signal SG2REQ (S2
2), the latch control signal OP2I (S32) becomes "0", and the decoding process of the MOVE instruction ends. In the next cycle, the decoding process of the following next instruction is started.

第9図は、本発明の一実施例であるマイクロプロセッ
サの概略構成を示すブロック図である。同図のマイクロ
プロセッサは、モノリシックLSIとして構成され、パイ
プライン制御や命令のデコード等を行う命令制御部80、
命令の実行を行う命令実行部81、内蔵したキャッシュメ
モリ等の制御をするメモリ制御部82、LSIチップ外部と
の情報を授受を制御するバス制御部83とからなる。命令
制御部制御部80は命令キュー61、第11図及び第12図に示
した構成を備えた命令デコーダ62、デコードシーケンサ
63、パイプライン制御部64、マイクロコードを格納しマ
イクロアドレスに基づいて制御信号を出力するマイクロ
プログラムROM65、命令レジスタ66を含んで構成され
る。命令実行部81は定数発生部67、アドレスアダー及び
プログラムカウンタを含むアドレス発生部68、レジスタ
ファイル70、演算部70を含んで構成される。演算部70は
ALU、バレルシフタ、エンコーダ、BCDチェッカ等を具備
している。メモリ制御部82は命令アクセス制御部71、オ
ペランドアクセス制御部72を含んで構成されている。命
令アクセス制御部71は、命令用のキャシュメモリ、TL
B、プロテクションチェック回路等を具備する。オペラ
ンドアクセス制御部72はオペランド用のキャシュメモ
リ、TLB、プロテクションチェック回路、ストアバッフ
ァ等を具備する。バス制部83はLSIチップ外部とのイン
タフェース機能を有しアドレスのモニタリング回路等を
有するアドレス制御部73、ブロックアクセス用の制御信
号等を発生するバス監視制御部74、データ送受部75等を
含んで構成される。尚、本発明に係るデコーダ及びデコ
ードシーケンサは第13図に示した構成のマイクロプロセ
ッサに限らず適用できることはいうまでもない。
FIG. 9 is a block diagram showing a schematic configuration of a microprocessor which is an embodiment of the present invention. The microprocessor shown in the figure is configured as a monolithic LSI, and has an instruction control unit 80 that performs pipeline control, instruction decoding, and the like.
It includes an instruction execution unit 81 for executing instructions, a memory control unit 82 for controlling a built-in cache memory and the like, and a bus control unit 83 for controlling exchange of information with the outside of the LSI chip. The instruction control unit control unit 80 includes an instruction queue 61, an instruction decoder 62 having the configuration shown in FIGS. 11 and 12, and a decode sequencer.
63, a pipeline control unit 64, a microprogram ROM 65 for storing microcode and outputting a control signal based on a microaddress, and an instruction register 66. The instruction execution unit 81 includes a constant generation unit 67, an address generation unit 68 including an address adder and a program counter, a register file 70, and a calculation unit 70. The calculation unit 70
Equipped with ALU, barrel shifter, encoder, BCD checker, etc. The memory controller 82 includes an instruction access controller 71 and an operand access controller 72. The instruction access control unit 71 includes a cache memory for instructions, a TL
B, equipped with a protection check circuit, etc. The operand access control unit 72 includes an operand cache memory, a TLB, a protection check circuit, a store buffer and the like. The bus control unit 83 includes an address control unit 73 having an interface function with the outside of the LSI chip and having an address monitoring circuit and the like, a bus monitoring control unit 74 for generating control signals for block access, a data transmission/reception unit 75, and the like. Composed of. Needless to say, the decoder and the decode sequencer according to the present invention are not limited to the microprocessor having the configuration shown in FIG.

〔発明の効果〕〔The invention's effect〕

以上発明したように、本発明に係るマイクロプロセッ
サによれば、命令を先頭から順次読み込み後続の基本部
及び拡張部の有無を判別し、その有無を記憶回路に一時
記憶し、後続の基本部のデコード開始要求と拡張部のデ
コード開始要求が競合した場合には基本部のデコード開
始要求を保持したまま拡張部のデコードを開始の方に優
先させる様に制御することで、デコードシーケンサの構
成を簡素化できる。また、デコードシーケンサの簡素化
により、処理速度の向上が図られ、且つ集積回路化にも
適している。
As described above, according to the microprocessor of the present invention, the instruction is sequentially read from the head, the presence or absence of the subsequent basic unit and the extension unit is determined, the presence or absence thereof is temporarily stored in the memory circuit, and the presence of the subsequent basic unit When there is a conflict between the decode start request and the decode start request of the extension part, the decode sequencer configuration is simplified by controlling the decode start request of the basic part to be given priority over the decode start request. Can be converted. In addition, the simplification of the decoding sequencer improves the processing speed and is suitable for integration into an integrated circuit.

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

第1図は本発明の一実施例である命令デコードのステー
ジ遷移図、 第2図は本発明の一実施例である命令デコード部の要部
ブロック図、 第3図は本発明の一実施例である命令デコードのステー
ジ遷移図、 第4図はMOV命令の命令形式を示す図、 第5図は本発明の一実施例によりMOV命令をデコードす
る場合のステージ遷移図、 第6図は本発明の本発明の一実施例である命令デコーダ
のブロック図、 第7図は本発明の本発明の一実施例であるデコードシー
ケンサのブロック図、 第8図は第11図に示すデコードシーケンサの動作を説明
する為のタイミングチャート、 第9図は本発明の一実施例であるマイクロプロセッサの
ブロック図、 第10図は可変長命令の概念図、 第11図は第3基本部を持つ命令まで可変できる命令形式
を示す概念図、 第12A図、第12B図は2オペランド一般型の命令を示す概
念図、第12C図は短縮型のレジスタ−メモリ間転送命令
を示す概念図、 第13図は可変長命令のデコードシーケンスとして考えう
るステージ遷移図、 1……遷移要求デコード部 2……記憶回路 3……デコードシーケンサ 4A……基本部デコーダ 4B……拡張部デコーダ 10……命令キュー 12……命令キューバス 14……デコードシーケンサ 16,18,20,22,24,26,36,38,42,44……ラッチ回路 28……第1オペレーションコードデコード部 30……第2オペレーションコードデコード部 32A……次ステージ遷移要求デコード部 32B……アドレッシングモードデコード部 34……付加モードデコード部 40……セレクタ 46……入力側レジスタ 48……出力側レジスタ
FIG. 1 is a stage transition diagram of instruction decoding which is an embodiment of the present invention, FIG. 2 is a block diagram of an essential part of an instruction decoding unit which is an embodiment of the present invention, and FIG. 3 is an embodiment of the present invention. FIG. 4 is a stage transition diagram of the instruction decoding, FIG. 4 is a diagram showing an instruction format of the MOV instruction, FIG. 5 is a stage transition diagram when the MOV instruction is decoded according to an embodiment of the present invention, and FIG. 6 is the present invention. 7 is a block diagram of an instruction decoder which is an embodiment of the present invention, FIG. 7 is a block diagram of a decode sequencer which is an embodiment of the present invention, and FIG. 8 shows an operation of the decode sequencer shown in FIG. FIG. 9 is a timing chart for explaining, FIG. 9 is a block diagram of a microprocessor which is an embodiment of the present invention, FIG. 10 is a conceptual diagram of a variable length instruction, and FIG. 11 is variable up to an instruction having a third basic part. 12A and 12B are conceptual diagrams showing a two-operand general type instruction, FIG. 12C is a conceptual diagram showing a shortened register-memory transfer instruction, and FIG. 13 is a variable length. A stage transition diagram that can be considered as an instruction decoding sequence, 1... Transition request decoding unit 2... Memory circuit 3... Decoding sequencer 4A... Basic unit decoder 4B... Expansion unit decoder 10... Instruction queue 12... Instruction queue Bus 14... Decode sequencer 16,18,20,22,24,26,36,38,42,44……Latch circuit 28……First operation code decoding unit 30……Second operation code decoding unit 32A…… Next stage transition request decoding unit 32B ......Addressing mode decoding unit 34 ……Additional mode decoding unit 40 ……Selector 46 ……Input side register 48 ……Output side register

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】命令コード及びオペランド指定部を含む基
本部と、該オペランド指定部を拡張する為に該基本部の
指定に応じて付加される拡張部を含む可変長命令を実行
するマイクロプロセッサであって、 前記基本部をデコートすることで、後続の基本部及び拡
張部の有無を判別し、基本部遷移要求又は拡張部遷移要
求を出力する基本部デコーダと、 前記拡張部をデコードすることで、拡張部の継続の有無
を判別し、拡張部継続要求を出力する拡張部デコーダ
と、 前記基本部デコーダ、拡張部デコーダにデコードを指示
する制御信号を所定のシーケンスに従って発生するデコ
ードシーケンサとを具備し、 前記デコードシーケンサは、前記基本部遷移要求に応答
して前記基本部デコーダに対する制御信号を発生する第
1制御回路と、前記拡張部遷移要求又は拡張部継続要求
に応答して前記拡張部デコーダに対する制御信号を発生
する第2制御回路と、前記第1制御回路と前記第2制御
回路に接続され前記拡張部遷移要求又は拡張部継続要求
があるときには前記基本部遷移要求に応答する第1制御
回路の動作を保留させる第3制御回路を具備することを
特徴とするマイクロプロセッサ。
1. A microprocessor for executing a variable length instruction including a basic part including an instruction code and an operand designating part, and an extension part added according to the designation of the basic part to extend the operand designating part. By decoding the basic part, it is possible to determine the presence or absence of the following basic part and extension part, and a basic part decoder that outputs a basic part transition request or an expansion part transition request; and by decoding the expansion part, An extension section decoder that determines whether or not the extension section is continued and outputs an extension section continuation request; and a decoding sequencer that generates a control signal instructing the basic section decoder and the extension section decoder to perform decoding according to a predetermined sequence. The decode sequencer includes a first control circuit that generates a control signal for the basic section decoder in response to the basic section transition request, and the extended section decoder in response to the extended section transition request or the extended section continuation request. A second control circuit for generating a control signal for the first control circuit and a first control circuit connected to the first control circuit and the second control circuit and responding to the basic section transition request when there is the extended section transition request or the extended section continuation request. A microprocessor comprising a third control circuit for holding the operation of the circuit.
【請求項2】前記マイクロプロセッサは更に、 命令を供給する命令バスと、前記基本部デコーダと前記
命令バスとの間に接続された第1入力ラッチ回路と、 前記基本部デコーダの出力を保持する第1出力ラッチ回
路と、 前記拡張部デコーダの出力を保持する第2出力ラッチ回
路とを具備し、 前記第1入力ラッチ回路及び第1、2出力ラッチ回路の
入力取り込み動作が前記デコードシーケンサにより制御
されることを特徴とする請求項(1)記載のマイクロプ
ロセッサ。
2. The microprocessor further holds an instruction bus for supplying an instruction, a first input latch circuit connected between the basic unit decoder and the instruction bus, and an output of the basic unit decoder. A first output latch circuit; and a second output latch circuit that holds the output of the extension decoder. Input operations of the first input latch circuit and the first and second output latch circuits are controlled by the decode sequencer. The microprocessor according to claim 1, wherein the microprocessor is provided.
【請求項3】前記基本部デコーダは、 オペレーションコードをデコードするオペレーションコ
ードデコード部と、 アドレッシングモードをデコードするアドレッシングモ
ードデコード部と、 後続の基本部または拡張部の有無を判別する次ステージ
遷移要求デコード部とを具備することを特徴とする請求
項(1)記載のマイクロプロセッサ。
3. The basic section decoder includes: an operation code decoding section for decoding an operation code, an addressing mode decoding section for decoding an addressing mode, and a next stage transition request decoding for determining the presence or absence of a subsequent basic section or extension section. The microprocessor according to claim 1, further comprising:
【請求項4】前記オペレーションコードデコード部は、
第1基本部のオペレーションコードをデコードする第1
オペレーションコードデコード部と、 第2基本部のオペレーションコードをデコードする第2
オペレーションコードデコード部とを具備することを特
徴とする請求項(3)記載のマイクロプロセッサ。
4. The operation code decoding unit comprises:
First to decode the operation code of the first basic part
An operation code decoding unit and a second decoding unit for decoding the operation code of the second basic unit
The microprocessor according to claim 3, further comprising an operation code decoding unit.
【請求項5】前記第1制御回路は、前記基本部遷移要求
を保持する第1ラッチ回路と、前記第1ラッチ回路の出
力を保持して基本部デコードネーブル信号として出力す
る第2ラッチ回路と、前記第1ラッチ回路と第2ラッチ
回路との間に接続された第1ゲート回路とを具備し、 前記第2制御回路は、前記拡張部遷移要求を保持する第
3ラッチ回路と、前記第3ラッチ回路の出力を保持して
拡張部デコードイネーブル信号として出力する第4ラッ
チ回路と、前記第3ラッチ回路の出力を受け、前記拡張
部遷移要求又は前記拡張部継続要求があるときには前記
第1ゲート回路を制御して前記第1ラッチ回路の出力が
前記第2ラッチ回路へ転送されるのを禁止する第2ゲー
ト回路を具備することを特徴とする請求項(1)記載の
マイクロプロセッサ。
5. The first control circuit includes: a first latch circuit that holds the basic unit transition request; and a second latch circuit that holds the output of the first latch circuit and outputs it as a basic unit decode enable signal. A first gate circuit connected between the first latch circuit and a second latch circuit, wherein the second control circuit holds a third latch circuit that holds the extension transition request; A fourth latch circuit which holds the output of the third latch circuit and outputs it as an extension decode enable signal, and an output of the third latch circuit, and when there is the extension transition request or the extension continuation request, the first latch 2. The microprocessor according to claim 1, further comprising a second gate circuit that controls a gate circuit to prohibit the output of the first latch circuit from being transferred to the second latch circuit.
JP782190A 1989-01-17 1990-01-17 Microprocessor Expired - Lifetime JP2513884B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP782190A JP2513884B2 (en) 1989-01-17 1990-01-17 Microprocessor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP1-8124 1989-01-17
JP812489 1989-01-17
JP782190A JP2513884B2 (en) 1989-01-17 1990-01-17 Microprocessor

Publications (2)

Publication Number Publication Date
JPH02277130A JPH02277130A (en) 1990-11-13
JP2513884B2 true JP2513884B2 (en) 1996-07-03

Family

ID=26342193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP782190A Expired - Lifetime JP2513884B2 (en) 1989-01-17 1990-01-17 Microprocessor

Country Status (1)

Country Link
JP (1) JP2513884B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008083873A (en) * 2006-09-26 2008-04-10 Yamaha Corp Digital signal processor
US8543796B2 (en) * 2008-11-05 2013-09-24 Intel Corporation Optimizing performance of instructions based on sequence detection or information associated with the instructions

Also Published As

Publication number Publication date
JPH02277130A (en) 1990-11-13

Similar Documents

Publication Publication Date Title
US5249273A (en) Microprocessor having a variable length instruction format
US6405302B1 (en) Microcomputer
JP2616182B2 (en) Data processing device
US5465376A (en) Microprocessor, coprocessor and data processing system using them
US4954943A (en) Data processing system
JP3203401B2 (en) Data processing device
JPH0827716B2 (en) Data processing device and data processing method
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
JPH05143443A (en) Data processor
JP2513884B2 (en) Microprocessor
JP2556182B2 (en) Data processing device
US5519881A (en) Priority encoder for accessing multiple registers simultaneously and a data processing system which uses it
GB2366426A (en) Multi-processor system with registers having a common address map
US5361338A (en) Pipelined system for decomposing instruction into two decoding parts and either concurrently generating two operands addresses of merging decomposing decoding codes based upon the second operand
JP2003005954A (en) Data processor and method for controlling the same
EP0573071A2 (en) A microprocessor
US5187782A (en) Data processing system
JP2583506B2 (en) Data processing device
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
JP2601055B2 (en) Microprogram sequencer
JPH04163628A (en) Information processor
JPH0769805B2 (en) Data processing device
JPH0769801B2 (en) Data processing device
JP2003131873A (en) Microcomputer
JPH0769803B2 (en) Data processing device