JPS60250436A - Microprogram controller - Google Patents
Microprogram controllerInfo
- Publication number
- JPS60250436A JPS60250436A JP10528184A JP10528184A JPS60250436A JP S60250436 A JPS60250436 A JP S60250436A JP 10528184 A JP10528184 A JP 10528184A JP 10528184 A JP10528184 A JP 10528184A JP S60250436 A JPS60250436 A JP S60250436A
- Authority
- JP
- Japan
- Prior art keywords
- output
- branch
- decoder
- address
- state
- 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
Links
Abstract
Description
【発明の詳細な説明】
産業上の利用分野
本発明は自由度の大きいステートの分岐或い(は共用が
可能なマイクロプログラム制御95式に関する。DETAILED DESCRIPTION OF THE INVENTION FIELD OF INDUSTRIAL APPLICATION The present invention relates to a microprogram control system with a large degree of freedom in which states can be branched or shared.
従来例の構成とその問題点
マイクロプログラムによる制御方式は命令のステートを
共用することで全体のステート数を減少させることが可
能であるが、ステートの分岐条件が多くなると分岐制御
回路が複雑になってし捷う。Conventional configurations and their problems Microprogram-based control systems can reduce the overall number of states by sharing instruction states, but as the number of state branch conditions increases, the branch control circuit becomes more complex. I'm going to switch.
従来のマイクロプログラム制御方式の従来例を第1図及
び第2図を参照しながら説明する。A conventional example of a conventional microprogram control system will be explained with reference to FIGS. 1 and 2.
図において、1は命令コードを一時記憶する命令レジス
タ(I 、R)、2はその出力をデコードするPLA形
式のデコーダ(P LA dec、 )、3は次に実行
すべきステートのアドレス(NXTADR)と、分岐条
件(BRCOND)と、分岐の有無を示すフラグ(FL
AG)と、命令レジスタ1の出力の一部とを入力し、分
岐先アドレスを後記マイクロ命令ポインタにセットする
分岐制御回路(BRC)、4は現在実行中のステートの
アドレスを一時記憶するマイクロ命令ポインタ(MIP
)、6はその出力をデコードするROM形式のデコーダ
(ROMdec、)、6は命令の最初のステートたけ前
記PLA形式のデコーダ2の出力を選択し、その後のス
テートでは前記ROM形式のデコーダ5の出力を選択す
る選択信号線、7はPLA形式デコーダ2或いはROM
形式デコーダ6の出力をエンコードするエンコーダであ
る。このエンコーダ7の出力の一部がNXTADR信号
として分岐制御回路3に加えられている。In the figure, 1 is an instruction register (I, R) that temporarily stores the instruction code, 2 is a PLA format decoder (PLA dec, ) that decodes its output, and 3 is the address of the next state to be executed (NXTADR). , a branch condition (BRCOND), and a flag (FL) indicating the presence or absence of a branch.
A branch control circuit (BRC) which inputs a part of the output of the instruction register 1 (AG) and a part of the output of the instruction register 1 and sets a branch destination address to a microinstruction pointer (described later); 4 is a microinstruction which temporarily stores the address of the state currently being executed; Pointer (MIP
), 6 is a ROM-format decoder (ROMdec, ) that decodes its output, 6 selects the output of the PLA-format decoder 2 in the first state of the instruction, and selects the output of the ROM-format decoder 5 in subsequent states. 7 is the PLA format decoder 2 or ROM
This is an encoder that encodes the output of the format decoder 6. A part of the output of this encoder 7 is applied to the branch control circuit 3 as an NXTADR signal.
第2図に示すように3種の命令a、b、Cがあり、第2
ステートで、それぞれの命令毎に演算モードが異なり、
かつ4つのアドレッシングモードを持つ場合には、最初
のPLA形式デコーダ2による制御から1(OM形式デ
コーダらの制御に移行する際、12方向に分岐する必要
がある。その場合一般に命令レジスタ1の出力の一部を
分岐先アドレスに組込み、マイクロ命令ポインタ4にセ
ットする機能が分岐制御回路3に必要である。As shown in Figure 2, there are three types of instructions a, b, and C.
In the state, the operation mode is different for each instruction,
And if there are four addressing modes, it is necessary to branch in 12 directions when transitioning from control by the first PLA format decoder 2 to control by the 1 (OM format decoders).In that case, generally the output of instruction register 1 The branch control circuit 3 is required to have a function of incorporating a part of the address into the branch destination address and setting it in the microinstruction pointer 4.
なお第2図で黒丸はP L A dec、使用、白丸は
ROMdec、使用を示している。In FIG. 2, black circles indicate PLA dec, used, and white circles indicate ROMdec, used.
従来の方式ではステートの合流は簡単に行なえるが、分
岐には分岐制御回路に多くの)・−ドウエアを必要とし
、しかも第2Aに示すように第2ステートのデコード数
が増加するという問題点があった0
またPLA形式デコーダだけを用いた場合には、第2図
Bに示すように第2ステートで複数のデコード線を同時
にイネーブルすることができるので第2ステートのデコ
ード数は減少するが、ステートの共用が困難な為第4ス
テートのように同じ処理をするステートでも命令毎にデ
コードしなければならないという問題点があった。In the conventional method, states can be easily merged, but branching requires a large amount of hardware in the branch control circuit, and as shown in Section 2A, the number of decodes of the second state increases. 0 Also, if only a PLA format decoder is used, multiple decode lines can be enabled simultaneously in the second state as shown in Figure 2B, so the number of decodes in the second state will be reduced. Since it is difficult to share states, there is a problem in that even states that perform the same processing, such as the fourth state, must be decoded for each instruction.
発明の目的
本発明は上記問題点を解消するもので、ステートの共用
により命令全体のステート数を減少させ、かつステート
の分岐制御回路を簡単化するマイクロプログラム制御装
置を提供することを目的とする。OBJECTS OF THE INVENTION The present invention solves the above problems, and aims to provide a microprogram control device that reduces the number of overall instruction states by sharing states and simplifies the state branch control circuit. .
発明の構成
本発明は、命令コートを一時記憶する命令レジスタ表、
前記命令レジスタの出力とマイクロ命令ポインタの出力
とを入力してデコードするPLA形式のデコーダと、次
に実行すべきステートのアドレスとステート分岐条件を
示す信号と分岐の有無を示すフラグとを入力とし、分岐
先アドレスを変更する分岐制御回路と、分岐先ステート
のアドレスを一時記憶する前記マイクロ命令ポインタと
、前記マイクロ命令ポインタの出力をデコードするRO
M形式のデコーダと、前記PLA形式デコーダの出力か
或いは前記ROM形式デコーダの出力のうちどちらを選
択するかを示す選択手段を有したマイクロプログラム制
御装置であり、命令全体゛のステート数を減小させ、簡
単な分岐制御回路で自由度の大きいステートの分岐或い
は共用を可能にすることができるものである。Structure of the Invention The present invention provides an instruction register table for temporarily storing an instruction code;
A PLA format decoder inputs and decodes the output of the instruction register and the microinstruction pointer, and inputs the address of the next state to be executed, a signal indicating a state branch condition, and a flag indicating the presence or absence of a branch. , a branch control circuit that changes the branch destination address, the microinstruction pointer that temporarily stores the address of the branch destination state, and an RO that decodes the output of the microinstruction pointer.
A microprogram control device having an M-format decoder and a selection means for selecting either the output of the PLA-format decoder or the output of the ROM-format decoder, which reduces the number of states of the entire instruction. This makes it possible to branch or share states with a large degree of freedom with a simple branch control circuit.
実施例の説明
第3図は本発明の一実施例におけるマイクロプログラム
制御装置の構成を示すものであり、1と5と6と7は従
来例と同じ、32はマイクロ命令ポインタの一部を入力
としているほかは従来例のPLA形式デコーダ2と同じ
、33は次に実行すべきステートのアドレスと、分岐条
件と、分岐の有無を示すフラグとを入力とし、分岐アド
レスを決定する分岐制御回路で、従来例と異なり命令レ
ジスタ1の出力を入力していない。34は分岐先ステー
トのアドレスを一時記憶するマイクロ命令ポインタで、
後記ゲート38により命令の最終実行サイクルでリセッ
トされる。ゲート38は前記マイクロ命令ポインタ34
をリセットするゲートである。39は命令の最終実行サ
イクルを示すLAST信号、310はROM形式デコー
ダ5の出力を使用することを示すUSEROM信号であ
る。DESCRIPTION OF THE EMBODIMENT FIG. 3 shows the configuration of a microprogram control device in an embodiment of the present invention, where 1, 5, 6, and 7 are the same as the conventional example, and 32 is a part of the microinstruction pointer input. 33 is a branch control circuit that receives as input the address of the next state to be executed, a branch condition, and a flag indicating the presence or absence of a branch, and determines the branch address. , unlike the conventional example, the output of the instruction register 1 is not input. 34 is a microinstruction pointer that temporarily stores the address of the branch destination state;
It is reset by the gate 38 described later in the final execution cycle of the instruction. Gate 38 is connected to the microinstruction pointer 34.
This is a gate that resets the 39 is a LAST signal indicating the final execution cycle of the instruction, and 310 is a USEROM signal indicating that the output of the ROM format decoder 5 is used.
以上のように構成された本実施例のマイクロプログラム
制御装置について以下、動作について説明する。The operation of the microprogram control device of this embodiment configured as described above will be explained below.
第4図に示すように2サイクルで実行する命令1と3サ
イクルで実行する命令2があり、命令1゜命令2共最後
のサイクルでROM形式のデコーダ6の出力を選択して
使う命令である。USEROM信づ3101rJ:次の
ステートでROM形式のデコート5の出力をイ史う[寺
にイネーブルとなるので、それをタイミングS1 でデ
ィレーさせたROM5T信月6は命令デコートのうちR
’OM形式のデコーダ5の出力を選択するサイクルにイ
ネーブルとなる。従ってそのサイクルではデコーダ5の
出力をエンコードして制御信号Sig 1が作られる。As shown in Fig. 4, there are instruction 1 that is executed in 2 cycles and instruction 2 that is executed in 3 cycles, and both instruction 1 and instruction 2 are instructions that select and use the output of the ROM-format decoder 6 in the last cycle. . USEROM 3101rJ: In the next state, the output of ROM-format decoding 5 is programmed.
'It is enabled in the cycle in which the output of the OM format decoder 5 is selected. Therefore, in that cycle, the output of the decoder 5 is encoded to generate the control signal Sig1.
命令1の第1ステートと命令2の第1ステート及び第2
ステートは、その逆でデコーダ32の出力をエンコード
して制御信号Sig 1が作られる。The first state of instruction 1 and the first state and second state of instruction 2
The state encodes the output of the decoder 32 in reverse, and the control signal Sig 1 is generated.
命令2のように第2ステート1てPLA形式のデコーダ
32の出力を選択可能にすることにより、第5図に示す
ように命令毎に演算モードを決定するデコード線とアド
レッシングモードを決定するデコード線を分けることが
できる。なお、第5図で黒丸はPLAdec、使用、白
丸はROMdec。By making the output of the PLA format decoder 32 selectable in the second state 1 as in instruction 2, the decode line that determines the operation mode and the decode line that determines the addressing mode for each instruction as shown in FIG. can be separated. In addition, in Figure 5, the black circle is PLAdec, used, and the white circle is ROMdec.
使用を示している。従って例えばアドレッシングモード
2を使う命令aの場合には、adrm 2を出力するデ
コード線と、命令aの演算モードを出力するデコード線
とをステート2で同時に出力する。Shows use. Therefore, for example, in the case of instruction a using addressing mode 2, a decode line that outputs adrm 2 and a decode line that outputs the operation mode of instruction a are simultaneously output in state 2.
従来例ではステート2が、ROM形式のデコーI・6か
ら出力するので、同時に2本のデコード線を出力するこ
とはできない。In the conventional example, since state 2 outputs from the ROM-type decoder I/6, it is not possible to output two decode lines at the same time.
以上のようにPLA形式のデコーダ出力を使用すること
により命令全体のステート数つ捷りデコード線を大幅に
減少させることができる。As described above, by using the PLA type decoder output, the number of states of the entire instruction can be switched and the number of decode lines can be significantly reduced.
発明の効果
本発明は第2ステート以後もPLA形式デコーダの出力
を使用可能にすることで、ステートの分岐制御回路が簡
単化され、かつ命令全体のステート数を大幅減少できる
ものである。従ってその実用的効果は大きい。Effects of the Invention The present invention makes it possible to use the output of the PLA format decoder even after the second state, thereby simplifying the state branch control circuit and greatly reducing the number of states in the entire instruction. Therefore, its practical effects are great.
説明する為のステート分岐図、第3図は本発明にゞおけ
る一実施例゛のマイクロプログラム制御装置のブロック
図、第4図は同実施例の動作を説明する為のタイミング
図、第6図は同実施例のステートの分岐を説明するため
のステート分岐図である。
1・・命令レジスタ、32 ・・ PLA形式デコーダ
(第1のデコーダ)、33・・・分岐制御回路、34・
・・マイクロ命令ポインタ、6・・・・ROM形式デコ
ーダ(第2のデコーダ)、6・・・選択信号、7・・・
・・エンコーダ。
代理人の氏名 弁理士 中 尾 敏 男 ほか1名花1
図
第2図
算1スf−F 算2n−f 1−77−ト第 3 図
1が゛イ2ノν
第5図
・ αterm /
・ attrpn 2
・ 久にfMj
・ adrtrt4
#lスフー) 算2λ7−トFIG. 3 is a block diagram of a microprogram control device according to an embodiment of the present invention, FIG. 4 is a timing diagram for explaining the operation of the embodiment, and FIG. 6 is a state branch diagram for explanation. FIG. 2 is a state branch diagram for explaining state branches in the same embodiment. 1... Instruction register, 32... PLA format decoder (first decoder), 33... Branch control circuit, 34...
...Microinstruction pointer, 6...ROM format decoder (second decoder), 6...Selection signal, 7...
...Encoder. Name of agent: Patent attorney Toshio Nakao and 1 other person Hana 1
Figure 2 Calculation 1st f-F Calculation 2n-f 1-77-T 3 Figure 1 is I2 No ν Figure 5 ・ αterm / ・ attrpn 2 ・ Long time fMj ・ adrtrt4 #l Shu) Calculation 2λ7 -
Claims (1)
のステートのアドレスを一時記憶するマイクロ命令ポイ
ンタと、前記命令レジスタの出力と前記マイクロ命令ポ
インタの出力とを入力してデコードする第1のデコーダ
と、前記マイクロ命令ポインタの出力をデコーダする第
2のデコーダ゛ と、前記第1のデコーダ出力と前記第
2のデコーダ出力を選択して出力する選択手段と、前記
選択手段により選択された出力をエンコードして制御信
号を作るエンコーダと、次に実行すべきステートのアド
レスとステート分岐条件を示す信号と分岐の有無を示す
フラグとを入力とし、分岐アドレスを前記マイクロ命令
ポインタにセットする分岐制御回路を有したことを特徴
とするマイクロプログラム制御装置。an instruction register that temporarily stores an instruction code; a microinstruction pointer that temporarily stores the address of the currently executing state; and a first decoder that receives and decodes the output of the instruction register and the microinstruction pointer. , a second decoder for decoding the output of the microinstruction pointer, a selection means for selecting and outputting the first decoder output and the second decoder output, and encoding the output selected by the selection means. an encoder that generates a control signal, and a branch control circuit that receives as input the address of the next state to be executed, a signal indicating a state branch condition, and a flag indicating the presence or absence of a branch, and sets the branch address in the microinstruction pointer. A microprogram control device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10528184A JPH0247770B2 (en) | 1984-05-24 | 1984-05-24 | MAIKUROPUROGURAMUSEIGYOSOCHI |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10528184A JPH0247770B2 (en) | 1984-05-24 | 1984-05-24 | MAIKUROPUROGURAMUSEIGYOSOCHI |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS60250436A true JPS60250436A (en) | 1985-12-11 |
JPH0247770B2 JPH0247770B2 (en) | 1990-10-22 |
Family
ID=14403289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10528184A Expired - Lifetime JPH0247770B2 (en) | 1984-05-24 | 1984-05-24 | MAIKUROPUROGURAMUSEIGYOSOCHI |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0247770B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0449457U (en) * | 1990-08-31 | 1992-04-27 |
-
1984
- 1984-05-24 JP JP10528184A patent/JPH0247770B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0247770B2 (en) | 1990-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1242801A (en) | Control unit for a microprogrammed processor | |
KR100875401B1 (en) | Processor Units and How to Handle Complex Conditions | |
JPS60250436A (en) | Microprogram controller | |
US4831572A (en) | Polynomial vector arithmetic operation control system | |
JP3804778B2 (en) | Processor and instruction execution method | |
JP2564054B2 (en) | Register file | |
JPS6288031A (en) | Register filing system | |
KR940000960A (en) | Microprocessor | |
JPS62120503A (en) | Numerical control system | |
JPS6240538A (en) | Data processor | |
JPS61202225A (en) | Hardware control system using processor | |
JPH0224721A (en) | Program controller | |
JPS60250438A (en) | Information processor | |
JPS6391739A (en) | Decoder for variable length instruction | |
JPH02118600A (en) | Voice synthetic lsi | |
JPH0619705A (en) | Pipeline control system | |
JPS63318634A (en) | Instruction prefetching system | |
JPH04328634A (en) | Microprogram controller | |
JP2001229075A (en) | Bi-endian multi-instruction length executing method | |
JPH02137028A (en) | Instruction control system | |
JPS63291108A (en) | Processor | |
JPH05197543A (en) | Instruction decoding system of information processor | |
JPS63292232A (en) | Microprogram controller | |
JPS61143847A (en) | Central processor | |
JPH03252845A (en) | Address control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |