JPS60181930A - Microprogram controlling system - Google Patents

Microprogram controlling system

Info

Publication number
JPS60181930A
JPS60181930A JP3786184A JP3786184A JPS60181930A JP S60181930 A JPS60181930 A JP S60181930A JP 3786184 A JP3786184 A JP 3786184A JP 3786184 A JP3786184 A JP 3786184A JP S60181930 A JPS60181930 A JP S60181930A
Authority
JP
Japan
Prior art keywords
instruction
address
condition
register
branch
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.)
Pending
Application number
JP3786184A
Other languages
Japanese (ja)
Inventor
Keiichi Kato
恵一 加藤
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 JP3786184A priority Critical patent/JPS60181930A/en
Publication of JPS60181930A publication Critical patent/JPS60181930A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To speed up an instruction executing time, and to execute a control at a high speed by executing in parallel a read-out access of the next instruction in case when a condition is not formed, and a read-out access of a branch destination instruction in case when the condition is formed, by executing a condition branch type instruction. CONSTITUTION:A microprogram of the same contents is stored in a main control storage 1 and a sub-control storage 2, respectively. Under a control of an execution timing controlling circuit 9, an instruction address register 7 sends out an address of the microprogram to the main control storage 1, and the first instruction which has been read out is sent out to a multiplexer 3. Also, an instruction register 4 inputs said first instruction, and its instruction is executed by an execution control part 5. As soon as an execution of this instruction is started, the next address is set to the register 7 through a multiplexer 8, and an access of the second instruction is executed in parallel to the execution of said instruction. In this way, whether a branch condition is formed or not is decided, and immediately after that, the next instruction can be executed.

Description

【発明の詳細な説明】 (a)発明の(支所分野 本発明はマイクロプログラム即ち命令のアクセスを高速
に実施し得るマイクロプログラム制御方式に係り、特に
条件分岐型命令の条件成立時におけるアクセスを高速化
するマイクロプログラム制御311方式に関する。
DETAILED DESCRIPTION OF THE INVENTION (a) Branch Field of the Invention The present invention relates to a microprogram control method that can perform high-speed access to microprograms, that is, instructions, and particularly to a high-speed access when the condition of a conditional branch type instruction is satisfied. The present invention relates to a microprogram control 311 method to be implemented.

(b)従来技術と問題点 マイクロプログラム制御方式、特に命令の実行シーケン
スを制御する方式は大きく分類して二・つの方式がある
。一つは制御記憶から読出した命令自身に、次に実行す
べき命令が格納されている制御記憶上のアドレスを示す
フィールドが當に含まれている方式である。他の一つは
、通常の命令には次に実行すべき命令が格納されている
制御記憶上のアドレスが含まれておらず、この場合、現
在実行中の命令のアト1/スに+1したアドレスを次の
実行アドレスとした上で、シーケンスの分岐を行う場合
のみ分岐先アドレスを命令の中の所定のフィールドに与
える方式である。後者の方式において、通常は現在の命
令を実行している時間内に、その命令のアドレスに+1
して、次の命令を取り出すための制御記憶へのアクセス
を並行して行うことになるが、条件分岐型命令では命令
の実行途中で分岐/非分岐の決定が行われる。そのため
条件成立により分岐する場合、前記の如く既に制御記憶
にアクセスした動作は無駄となり、新たにこの時点から
制御記憶の分岐先の新しいアドレスにアクセスし直す必
要がある。このため、条件分岐型命令で分岐する場合命
令の実行時間が他の命令より余計にかかることとなる。
(b) Prior Art and Problems Microprogram control methods, particularly methods for controlling the instruction execution sequence, can be broadly classified into two types. One is a method in which the instruction itself read from the control memory includes a field indicating the address in the control memory where the next instruction to be executed is stored. The other is that a normal instruction does not include the address in control memory where the next instruction to be executed is stored, and in this case, the address of the currently executing instruction is +1. This is a method in which the address is set as the next execution address and the branch destination address is given to a predetermined field in the instruction only when branching the sequence. In the latter method, the address of the current instruction is usually +1 during the execution time of the current instruction.
Then, the control memory is accessed in parallel to retrieve the next instruction, but in the case of a conditional branch type instruction, a branch/non-branch decision is made during the execution of the instruction. Therefore, when a branch is made due to the establishment of a condition, the operation that has already accessed the control memory as described above is wasted, and it is necessary to access a new address of the branch destination in the control memory from this point onwards. Therefore, when branching with a conditional branch type instruction, the instruction takes longer to execute than other instructions.

又条件成立で新たに制御記憶の新しいアドレスにアクセ
スさせるために、他の命令と区別してこの命令の実行タ
イミングを制御しなくてはならないためハードウェアも
複雑となる。又更に制御記憶のアクセス速度が遅ければ
遅い程、この条件分岐命令の条件成立時の実行時間が増
大するため、経済的な低速メモリを使うとこの実行時間
差が大きくなるという欠点がある。
Furthermore, in order to access a new address in the control memory when a condition is met, the execution timing of this instruction must be controlled separately from other instructions, which makes the hardware complicated. Furthermore, the slower the access speed of the control memory, the longer the execution time when the condition of the conditional branch instruction is satisfied, so there is a disadvantage that the use of an economical low-speed memory increases the difference in execution time.

(C)発明の目的 本発明の目的は上記欠点に鑑み、条件分岐型命令の実行
に際しても、他の命令に比し実行時間が遅くなることが
無いように高速な制御を可能とするマイクロプログラム
制御方式を提供することにある。
(C) Object of the Invention In view of the above drawbacks, the object of the present invention is to provide a microprogram that enables high-speed control so that the execution time of a conditional branch type instruction is not slower than that of other instructions. The objective is to provide a control method.

(d)発明の構成 本発明の構成はマイクロプログラムを格納する第1第2
の制御記憶と、該第2の制御記憶から読出された命令を
選択する選択手段と、該選択手段により選択された命令
を格納するレジスタと、該レジスタに格納された命令が
非分岐命令の際に第1の制御記憶に次に実行すべき命令
のアドレスを送出する第1のアドレス送出手段と、該レ
ジスタに格納された命令が分岐命令の際に該第1のアド
レス送出手段に分岐先アドレスにある次に実行すべきア
ドレスを送出する第2のアドレス送出手段と、前記第2
の制御記憶に分岐先のアドレスを送出する手段とを備え
、該レジスタに格納された命令の分岐条件成立時に、該
選択手段は第2の制御記憶から読出した命令を選択し、
続いて前記第2のアドレス送出手段が送出するアドレス
で前記第1の制御記憶から読出された命令を選択し、分
岐条件不成立時に該選択手段は第1の制御記憶から読出
した命令を選択するものである。
(d) Structure of the Invention The structure of the present invention consists of a first and a second device storing a microprogram.
a control memory, a selection means for selecting the instruction read from the second control memory, a register for storing the instruction selected by the selection means, and a control memory for selecting the instruction read from the second control memory; a first address sending means for sending an address of an instruction to be executed next to a first control memory; and a branch destination address to the first address sending means when the instruction stored in the register is a branch instruction. a second address sending means for sending an address to be executed next in the second address sending means;
means for sending a branch destination address to a second control memory; when the branch condition of the instruction stored in the register is met, the selection means selects the instruction read from the second control memory;
Subsequently, the second address sending means selects the instruction read from the first control memory at the address sent, and when the branch condition is not satisfied, the selection means selects the instruction read from the first control memory. It is.

(e)発明の実施例 本発明は条件分岐型命令の実行に際し、条件小成I′l
の場合におりる次の命令を読出すための制御記憶に対す
るアクセスと、条件成立の場合におりる分岐先の命令を
読出すための制御記憶に対するアクセスとを並行して行
う。この並行アクセスを可能とするため、条件不成立の
場合のアクセス系と条件成立の場合のアクセス系との2
系統のアクセス系を設け、制御記憶に対するアクセス系
を二重化する。そして条件の判定が行われた時点で、そ
の成立/不成立のいかんにより該当するアクセス系より
得られた命令を、次の実行すべき命令として命令レジス
タに取り込むようにしたものである。この二重化するア
クセス系とは、例えは単に制御記憶を二重化することで
良い。
(e) Embodiments of the Invention When executing a conditional branch type instruction, the present invention provides a conditional small I'l
An access to the control memory for reading the next instruction that occurs in the case of , and an access to the control memory for reading the instruction at the branch destination that occurs when the condition is satisfied are performed in parallel. In order to enable this parallel access, there are two types of access: one when the condition is not met, and one when the condition is met.
A system access system is provided, and the access system for the control memory is duplicated. When the condition is determined, the instruction obtained from the corresponding access system, depending on whether the condition is satisfied or not, is taken into the instruction register as the next instruction to be executed. This duplexed access system may simply be a duplication of control memory, for example.

図は本発明の一実施例を示す回路のブロック図である。The figure is a block diagram of a circuit showing one embodiment of the present invention.

マイクロプログラムは主制御記1.a1に格納される。The microprogram is the main control record 1. It is stored in a1.

副制御記憶2には主制御記憶1と同一内容のマイクロプ
ログラムを格納する。実行タイミング制御回路9の制御
により命令アドレスレジスタ7は主制御記憶1に実行す
べき命令部゛ちマイクロプログラムのアドレスを送出し
、主制御記憶1から読出された第1の命令はマルチプレ
クサ3に送出される。実行タイミング制御回路9から命
令レジスタ4に命令の実行タイミングが与えられ、命令
レジスタ4はマルチプレクサ3から前記第1の命令を取
り込む。命令レジスタ4に取り込まれた第1の命令はA
を経由して実行制御部5に入り解読されて命令内容が実
行される。この命令実行開始と同時又は直後に実行タイ
ミング制御回路9かう命令アドレスレジスフ7に更新パ
ルスが送出され、+1回路10により得られる次のアド
レスがマルチプレクサ8を経て命令アドレスレジスタ7
にセントされる。これにより命令実行と並行して、主制
御記憶1に対して次の命令、即ち第2の命令のアクセス
が行われる。
The sub-control memory 2 stores microprograms having the same contents as the main control memory 1. Under the control of the execution timing control circuit 9, the instruction address register 7 sends the address of the instruction part, ie, the microprogram, to be executed to the main control memory 1, and the first instruction read from the main control memory 1 is sent to the multiplexer 3. be done. The execution timing of the instruction is given from the execution timing control circuit 9 to the instruction register 4, and the instruction register 4 takes in the first instruction from the multiplexer 3. The first instruction taken into the instruction register 4 is A.
It enters the execution control unit 5 via , is decoded, and the contents of the instruction are executed. Simultaneously or immediately after the start of execution of this instruction, an update pulse is sent to the instruction address register 7 of the execution timing control circuit 9, and the next address obtained by the +1 circuit 10 is sent to the instruction address register 7 via the multiplexer 8.
cents. As a result, the next instruction, that is, the second instruction, is accessed to the main control memory 1 in parallel with the execution of the instruction.

ここで命令レジスタ4にセントされた命令が、条件分岐
型命令の場合には命令の条件指定フィールドにある情報
が実行制御部5により解読され、条件判定が行われる。
If the instruction sent to the instruction register 4 is a conditional branch type instruction, the information in the condition specification field of the instruction is decoded by the execution control unit 5 and the condition is determined.

条件成立時の分岐先アドレスは命令レジスタ4からBを
経由して副制御記憶2に送出され、分岐先の命令のアク
セスが行われる。同時に前記の如く命令アドレスレジス
タ7からば第2の命令のアドレスが送出されており、条
件不成立時の命令アクセスが主制御記1.!1に対して
行われる。ここで前記の実行制御部5における条件判定
が終了すると判定信号がマルチプレクサ3に送出される
。マルチプレクサ3は条件成立の場合には副制御記憶2
の分岐先命令を選択して命令レジスタ4に送出し、条件
不成立の場合には主制御記憶1からの第2の命令を命令
レジスタ4に送出する。従って条件の成立/不成立の判
定が行われ次第、直らに次の命令の実行に入ることが出
来る。
The branch destination address when the condition is met is sent from the instruction register 4 via B to the sub control memory 2, and the branch destination instruction is accessed. At the same time, as described above, the address of the second instruction is sent from the instruction address register 7, and the instruction access when the condition is not met is the main control register 1. ! 1. Here, when the condition determination in the execution control section 5 is completed, a determination signal is sent to the multiplexer 3. Multiplexer 3 outputs sub-control memory 2 when the condition is met.
The branch destination instruction is selected and sent to the instruction register 4, and if the condition is not satisfied, the second instruction from the main control memory 1 is sent to the instruction register 4. Therefore, as soon as it is determined whether the condition is met or not, execution of the next instruction can begin immediately.

条件成立で分岐先の命令が実行された時は、分岐先アド
レスは+1回路6により次のアドレスが指定されてマル
チプレクサ8に送出される。実行タイミング制御回路9
のマルチプレクサ8切替信号により、このアドレスは分
岐条件成立時に命令アドレスレジスタ7に格納され、分
岐先アドレスに+1したアドレスに更新される。従って
分岐後は、実行制御部5は主制御記憶1から分岐先のア
ドレスより連続した命令を読出し、実行することが出来
る。
When the branch destination instruction is executed when the condition is satisfied, the next address is specified by the +1 circuit 6 and sent to the multiplexer 8 as the branch destination address. Execution timing control circuit 9
By the multiplexer 8 switching signal, this address is stored in the instruction address register 7 when the branch condition is satisfied, and updated to an address that is +1 to the branch destination address. Therefore, after a branch, the execution control unit 5 can read instructions consecutive from the branch destination address from the main control memory 1 and execute them.

本実施例では主制御記憶lと副制御記憶2とは同一のも
のとしたが、副制御記憶2は分岐エントリアドレスの命
令のみを出力するような、分岐アドレス対分岐先命令内
容の関係を持つテーブル化されたメモリでも同様の効果
が得られる。
In this embodiment, the main control memory 1 and the sub-control memory 2 are the same, but the sub-control memory 2 has a relationship between branch address and branch destination instruction contents such that only the instruction at the branch entry address is output. A similar effect can be obtained with tabled memory.

(f)発明の詳細 な説明した如く、本発明は条件判定が行われた時点で、
直ちに条件の成立又は不成立に応して次に実行する命令
が得られるため、従来の条件成立の判定時点から分岐先
のアドレスの命令にアクセスを開始する方式に比し、命
令の実行時間を高速化することが出来る。又命令実行制
御のタイミングを単純化し得る。更に条件分岐型命令と
、その他の命令とで実行時間が同一となるため制御記憶
に経済的な低速のメモリを用いても、命令実行時間差が
ない点で有利である。そして大容量の1チツプメモリ等
を使用すればハードウェアの増加量も少なくて済む。
(f) As described in the detailed description of the invention, at the time when the condition determination is made, the present invention
Because the next instruction to be executed is immediately obtained depending on whether the condition is satisfied or not, the instruction execution time is faster than the conventional method in which access to the instruction at the branch destination address is started from the moment it is determined that the condition is satisfied. can be converted into Furthermore, the timing of instruction execution control can be simplified. Furthermore, since the execution time is the same for conditional branch type instructions and other instructions, there is no difference in instruction execution time even if an economical low-speed memory is used for control storage, which is advantageous. If a large-capacity one-chip memory or the like is used, the amount of additional hardware can be reduced.

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

図は本発明の一実施例を示す回路のブロック図である。 lは主制御記憶、2は副制御記憶、3,8はマルチプレ
クサ、4は命令レジスタ、5は実行制御部、6,10は
+1回路、7は命令アドレスレジスタ、9は実行タイミ
ング制御回路である。
The figure is a block diagram of a circuit showing one embodiment of the present invention. 1 is a main control memory, 2 is a sub-control memory, 3 and 8 are multiplexers, 4 is an instruction register, 5 is an execution control unit, 6 and 10 are +1 circuits, 7 is an instruction address register, and 9 is an execution timing control circuit. .

Claims (1)

【特許請求の範囲】[Claims] マイクロプログラムを格納する第1第2の制御記憶と、
該第2の制御記憶から読出された命令を選択する選択手
段と、該選択手段により選択された命令を格納するレジ
スタと、該レジスタに格納された命令が非分岐命令の際
に第1の制御記憶に次に実行すべき命令のアドレスを送
出する第1のアドレス送出手段と、該レジスタに格納さ
れた命令が分岐命令の際に該第1のアドレス送出手段に
分岐先アドレスにある次に実行すべきアドレスを送出す
る第2のアドレス送出手段と、前記第2の制御記憶に分
岐先のアドレスを送出する手段とを備え、該レジスタに
格納された命令の分岐条件成立時に、該選択手段は第2
の制御記憶から読出した命令を選択し、続いて前記第2
のアドレス送出手段が送出するアトにスで前記第1の制
御記憶から読出された命令を選択し、分岐条件不成立時
に該選択手段は第1の制御記憶から読出した命令を選択
することを特徴とするマイクロプログラム制御方式。
a first and second control memory storing a microprogram;
a selection means for selecting an instruction read from the second control memory; a register for storing the instruction selected by the selection means; and a first control when the instruction stored in the register is a non-branch instruction. A first address sending means that sends the address of the next instruction to be executed to the memory, and when the instruction stored in the register is a branch instruction, the first address sending means sends the address of the next instruction to be executed at the branch destination address. and means for sending a branch destination address to the second control memory, and when the branch condition of the instruction stored in the register is met, the selection means Second
select the instruction read from the control memory of the second
The instruction read out from the first control memory is selected at the address sent by the address sending means, and when the branch condition is not satisfied, the selection means selects the instruction read out from the first control memory. Microprogram control method.
JP3786184A 1984-02-29 1984-02-29 Microprogram controlling system Pending JPS60181930A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3786184A JPS60181930A (en) 1984-02-29 1984-02-29 Microprogram controlling system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3786184A JPS60181930A (en) 1984-02-29 1984-02-29 Microprogram controlling system

Publications (1)

Publication Number Publication Date
JPS60181930A true JPS60181930A (en) 1985-09-17

Family

ID=12509324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3786184A Pending JPS60181930A (en) 1984-02-29 1984-02-29 Microprogram controlling system

Country Status (1)

Country Link
JP (1) JPS60181930A (en)

Similar Documents

Publication Publication Date Title
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
JPS6239780B2 (en)
JPS63317828A (en) Reading control system for microcode
JPS60181930A (en) Microprogram controlling system
JP2564054B2 (en) Register file
JP3462245B2 (en) Central processing unit
JPH0256636A (en) Branching controller
JPH03288228A (en) Information processor
JP2982129B2 (en) Micro program controller
JPH04245537A (en) Information processor
JPH0261725A (en) Micro branch system
JPH05257807A (en) Cache memory controller
JPS5882342A (en) Microprogram controller
JPS6215645A (en) Central processing unit
JP2531206B2 (en) Channel device
JP2000347931A (en) Cache memory and method for controlling cache memory
JPH05120080A (en) Firmware execution history storage system
JPS62293452A (en) Memory ic diagnosing circuit
JPH04278636A (en) Microprogram controller
JPH02121032A (en) Microprogram control device
JPS58221444A (en) Controlling device of microprogram
JPH0222750A (en) Address conversion system
JPS61237136A (en) Register controlling system
JPH05233379A (en) Execution history storage device
JPH0623952B2 (en) Micro program controller