JPH0267631A - Microprogram branch control system - Google Patents

Microprogram branch control system

Info

Publication number
JPH0267631A
JPH0267631A JP21825788A JP21825788A JPH0267631A JP H0267631 A JPH0267631 A JP H0267631A JP 21825788 A JP21825788 A JP 21825788A JP 21825788 A JP21825788 A JP 21825788A JP H0267631 A JPH0267631 A JP H0267631A
Authority
JP
Japan
Prior art keywords
address
instruction
sub
microprogram
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP21825788A
Other languages
Japanese (ja)
Other versions
JPH087677B2 (en
Inventor
Satoshi Sugiura
聡 杉浦
Fumio Matsunoshita
松野下 文郎
Akisumi Koike
小池 夫澄
Masato Tanaka
正人 田中
Yoshihiro Mizushima
水島 芳宏
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 JP63218257A priority Critical patent/JPH087677B2/en
Publication of JPH0267631A publication Critical patent/JPH0267631A/en
Publication of JPH087677B2 publication Critical patent/JPH087677B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To effectively use the area of a control storage (CS) by accessing an address in the CS corresponding to a suboperation code. CONSTITUTION:An instruction control part 8 executes the fetching of an instruction, decoding of an instruction code or the like. A selector 10 selects an address based upon an instruction code, a suboperation code or a CS data next address information under the control of a CS address selecting circuit 9 and sets up the selected address in a CS address register 11. At the end of the processing of an instruction, an address corresponding to an instruction code is selected as the next CS address without fail. The contents of a microprogram setting up the address as the leading address are successively read out from the CS 12 and processed by an instruction execution part 14.

Description

【発明の詳細な説明】 [概  要コ サブオペレーションコードを持つ命令の実行に係る処理
を行なうマイクロプログラムの制御に関し、 サブオペレーションコードを持つ命令の処理に係る同一
のマイクロプログラムが重複してコントロールストレー
ジ中に存在することを排・してコントロールストレージ
を有効に使用することを目的とし、 コントロールストレージの各マイクロプログラムステッ
プに対応せしめて分岐を指示する情報を格納する領域を
設けると共に、異なるサブオペレーションコードを有す
る命令の実行に係る制御の一部を共通のマイクロプログ
ラムで処理せしめる手段と、該マイクロプログラム中の
特定のプログラムステップにより、前記コントロールス
トレージの領域に分岐を指示する情報を伝達する手段と
を設けることにより構成する。
[Detailed Description of the Invention] [Summary Regarding the control of a microprogram that performs processing related to the execution of an instruction having a co-sub-operation code, the same micro-program related to the processing of an instruction having a sub-operation code is redundantly stored in the control storage. The purpose is to effectively use control storage by eliminating the presence of sub-operation codes in the control storage. means for causing a common microprogram to process a part of the control related to the execution of an instruction having the instruction, and means for transmitting information instructing a branch to an area of the control storage by a specific program step in the microprogram. It is constituted by providing.

[産業上の利用分野] 本発明は命令の実行に係る処理をマイクロプログラムに
よって行なう如く構成された情報処理装置の該マイクロ
プログラムの制御に関し、特に、命令がサブオペレーシ
ョンコードを伴う場合のマイクロプログラムの制御に係
る。
[Industrial Field of Application] The present invention relates to the control of a microprogram in an information processing device configured to perform processing related to the execution of instructions using a microprogram, and in particular to the control of a microprogram when an instruction is accompanied by a sub-operation code. Related to control.

[従来の技術] 情報処理装置における命令の読み出し、デコード、実行
等の動作は、主記憶へのアクセス、レジスタへのデータ
のロード、データのシフト、加算器への人出力等の基本
的動作の組み合わせによって実現している。
[Prior Art] Operations such as reading, decoding, and executing instructions in an information processing device involve basic operations such as accessing main memory, loading data into registers, shifting data, and outputting data to adders. This is achieved through a combination.

命令をこのような基本動作に分解したり、これを実行し
たりする処理は論理回路によっても実現し得るものであ
るが、基本動作を専門に行なうためのプログラム(マイ
クロプログラム)によ→て行なうことが可能であり、動
作の変更等の措置が容易である所からこのような形式の
情報処理装置が多く作られている。
Although the process of breaking down instructions into basic operations and executing them can also be achieved using logic circuits, it is performed by a program (microprogram) that specializes in basic operations. Many information processing apparatuses of this type are manufactured because it is possible to do this and it is easy to take measures such as changing the operation.

一方、近年情報処理装置による処理の高速化、高機能化
のために、多機能の命令の実現が要求され、命令数の増
加が必要となってきている。
On the other hand, in recent years, in order to increase the processing speed and functionality of information processing devices, there has been a demand for multifunctional instructions, and an increase in the number of instructions has become necessary.

このように命令数が増加すると、従来の命令(オペレー
ションコード)に割り当てられていたビット数では足り
なくなるので、特定の命令コードの場合に、これにサブ
オペレーションコードを付加して該命令コードから更に
複数の異なる命令を新たに作り出すことが行なわれる。
As the number of instructions increases in this way, the number of bits allocated to conventional instructions (operation codes) is no longer sufficient, so in the case of a specific instruction code, a sub-operation code is added to it to further expand the bits from that instruction code. A plurality of new instructions are created.

[発明が解決しようとする課題] 従来、サブオペレーションコードを持つ命令については
、サブオペレーションコードごとに、又はサブオペレー
ションコードを持つ命令をグループ分けしてマイクロプ
ログラムの先頭アドレスを決めて、配置して置き、各先
頭アドレスから実行する方法が採られていた。サブオペ
レーションコードを持つ命令の処理については、異なる
サブオペレーションであってモ、全<同様のマイクロス
テップの実行によって処理を行なう部分がかなりあり、
例えば、第4図に示すように#A、#B、#Cで示す各
サブオペレーションコードを持つ命令のマイクロステッ
プがM−00→M−01−M−02の間は全く同じであ
り、これらの処理後に異なるマイクロステップ(M−A
O,M−BO,M−Co)に分岐するような場合がある
[Problems to be Solved by the Invention] Conventionally, instructions with sub-operation codes have been arranged by determining the start address of a microprogram for each sub-operation code or by grouping instructions with sub-operation codes. The method used was to set the address and execute it from each starting address. Regarding the processing of instructions with sub-operation codes, there are many parts that are processed by executing similar micro-steps, even though they are different sub-operations.
For example, as shown in Figure 4, the microsteps of instructions with sub-operation codes #A, #B, and #C are exactly the same from M-00 to M-01-M-02; Different microsteps (M-A
O, M-BO, M-Co).

従来はこのような場合であっても、サブオペレーション
コードごとに、マイクロプログラムの先頭アドレスを決
めて、コントロールストレージ上に配置していた。
Conventionally, even in such cases, the start address of the microprogram was determined for each sub-operation code and placed on the control storage.

本発明は、上述のような全く同様のマイクロプログラム
による処理を行なう部分を、異なるサブオペレーション
コードを持つ命令が共通的に用いることを可能として、
同じマイクロプログラムが重複してコントロールストレ
ージ上に存在することを避け、コントロールストレージ
領域を有効に利用することの出来るマイクロプログラム
の制御方式を提供することを目的としている。
The present invention makes it possible for instructions with different sub-operation codes to commonly use parts that perform processing by exactly the same microprogram as described above,
It is an object of the present invention to provide a microprogram control method that can avoid the same microprogram from being duplicated on a control storage and make effective use of a control storage area.

[課題を解決するための手段] 本発明によれば、上述の目的は前記特許請求の範囲に記
載した手段により達成される。すなわち、本発明は、命
令の実行に係る制御をマイクロプログラムによって行な
う如く構成され、サブオペレーションコードを伴う命令
コードを有する情報処理装置において、マイクロプログ
ラムを格納するコントロールストレージの各マイクロス
テップに対応せしめて分岐を指示する情報を格納する領
域を設けると共に、異なるサブオペレーションコードを
有する命令の実行に係る制御の一部を共通のマイクロプ
ログラムで処理せしめる手段と、該情報を検出したとき
命令のサブオペレーションコードを選択して、該サブオ
ペレーションコードに対応するコントロールストレージ
上のアドレスにアクセスする手段とを設けたマイクロプ
ログラム分岐制御方式である。
[Means for Solving the Problems] According to the present invention, the above objects are achieved by the means described in the claims. That is, the present invention provides an information processing apparatus configured to control the execution of instructions by a microprogram and having an instruction code accompanied by a sub-operation code. A means for providing an area for storing information instructing a branch, a means for having a common microprogram process part of the control related to the execution of instructions having different sub-operation codes, and a sub-operation code of the instruction when the information is detected. This microprogram branch control system is provided with means for selecting a sub-operation code and accessing an address on a control storage corresponding to the sub-operation code.

[作 用] 第1図は本発明の詳細な説明する図であって、1は命令
コードをセットするレジスタを表わしており、1aに命
令コードが、Ibにサブオペレーションコードがセット
される。
[Operation] FIG. 1 is a diagram explaining the present invention in detail, in which 1 represents a register in which an instruction code is set, the instruction code is set in 1a, and the sub-operation code is set in Ib.

また、2はセレクタ、3はCSアドレス選択制御部、4
はCSアドレスレジスタ、5はコントロールストレージ
(以下C8とも言う)、6は分岐指示の表示を行なう領
域、7は命令実行部のCSデータレジスタを表わしてい
る。
Further, 2 is a selector, 3 is a CS address selection control unit, and 4 is a selector.
is a CS address register, 5 is a control storage (hereinafter also referred to as C8), 6 is an area for displaying branch instructions, and 7 is a CS data register of the instruction execution section.

同図において、最初にレジスタlに命令コードとサブオ
ペレーションコードがセットされたとき、CSアドレス
選択制御部3は、セレクタ2が命令コードを選択し、こ
れに対応するO8上のアドレスがCSアドレスレジスタ
4にセットされる。
In the figure, when an instruction code and a sub-operation code are first set in register l, the CS address selection control unit 3 selects the instruction code by selector 2, and the corresponding address on O8 is set in the CS address register. Set to 4.

そして該アドレスによって、コントロールストレージ(
C5)にアクセスし、マイクロプログラムを読み出すこ
とによって命令の実行が行なわれる。該マイクロプログ
ラムを構成するマイクロステップは直前のマイクロステ
ップのネクストアドレス情報により読み出されるが、こ
のとき、マイクロプログラムの読み出し中に、読み出し
たマイクロステップに対応する領域6に分岐指示の表示
(例えば“1”)があるとき、これがCSアドレス選択
制御部3に伝えられ、該CSアドレス選択制御部3は、
セレクタ2に対して、サブオペレーションコード1bを
選択するよう指示する。
And by the address, control storage (
Instructions are executed by accessing C5) and reading the microprogram. The microsteps constituting the microprogram are read out based on the next address information of the immediately preceding microstep. At this time, while reading the microprogram, a branch instruction is displayed (for example, "1") in the area 6 corresponding to the read microstep. ”), this is transmitted to the CS address selection control unit 3, and the CS address selection control unit 3
Instructs selector 2 to select sub-operation code 1b.

これにより、セレクタ2がサブオペレーションコード1
bを選択し、該サブオペレーションコードに対応するア
ドレスがCsアドレスレジスタ4にセットされる。
This causes selector 2 to change to sub-operation code 1.
b is selected, and the address corresponding to the sub-operation code is set in the Cs address register 4.

そして、C8の該アドレスの領域にアクセスすることに
より当該サブオペレーションコード特有の命令実行動作
を行なう。
Then, by accessing the area of C8 at the address, an instruction execution operation specific to the sub-operation code is performed.

本発明においては、以上の動作により異なるサブオペレ
ーションコードを有する命令のうち、マイクロプログラ
ムの処理に共通の部分があるときは、それを総てサブオ
ペレーションごとにC8上に配置する必要がなく、同一
のマイクロプログラムを共通に使用した後、必要な箇所
から分岐させることができるので、C8の領域を有効に
使用することができる。
In the present invention, among the instructions having different sub-operation codes due to the above operation, if there is a common part in microprogram processing, there is no need to place all of them on the C8 for each sub-operation, and the same After the microprogram is used in common, it can be branched from a necessary point, so the area of C8 can be used effectively.

[実施例] 第2図は本発明の一実施例のブロック図であって、マイ
クロプログラム制御の命令処理装置のCSアドレス制御
系を示しており、8は命令制御部、9はCSアドレス選
択回路部、10はセレクタ、11はCSアドレスレジス
タ、12はコントロールストレージ、13は分岐表示領
域、14は命令実行部、15はCSデータレジスタ、1
6はデコーダを表わしている。
[Embodiment] FIG. 2 is a block diagram of an embodiment of the present invention, showing a CS address control system of a microprogram-controlled instruction processing device, where 8 is an instruction control section and 9 is a CS address selection circuit. 10 is a selector, 11 is a CS address register, 12 is a control storage, 13 is a branch display area, 14 is an instruction execution unit, 15 is a CS data register, 1
6 represents a decoder.

同図において命令制御部8は命令の取り出し、命令コー
ドのデコードなどを行なう。
In the figure, an instruction control unit 8 takes out instructions, decodes instruction codes, and so on.

セレクタ10はCSアドレス選択回路部の制御により、
命令コードあるいはサブオペレーションコード、または
、CSデータのネタストアドレス情報によるアドレスを
選択してCSアドレスレジスタ11にセットする。−命
令の処理が終了したとき、次の最初のCSアドレスは必
ず命令コードに対応するアドレスが選択される。そして
、コントロールストレージ12から該アドレスを先頭ア
ドレスとするマイクロプログラムが順次読み出され、命
令実行部14によって処理が行なわれる。
The selector 10 is controlled by the CS address selection circuit section,
An address based on the instruction code, sub-operation code, or netast address information of CS data is selected and set in the CS address register 11. - When the processing of an instruction is completed, the address corresponding to the instruction code is always selected as the next first CS address. Then, the microprograms having this address as the start address are sequentially read out from the control storage 12 and processed by the instruction execution unit 14.

前記CSアドレス選択回路部9はマイクロステップの読
み出しに際して分岐表示領域13から“1”が読み出さ
れたことを知ると、セレクタ10にサブオペレーション
コードを選択するように指示する。これによりセレクタ
lOはサブオペレーションコードを選択し、これに対応
するアドレスをCSアドレスレジスタ11にセットする
When the CS address selection circuit section 9 learns that "1" has been read out from the branch display area 13 during microstep reading, it instructs the selector 10 to select a sub-operation code. As a result, the selector IO selects the sub-operation code and sets the corresponding address in the CS address register 11.

例えば、CSアドレスが12ピツトで、命令コードがX
’ 81 であるとき、それがサブオペレーションコー
ドを伴う命令であっても、CSアドレスレジスタ11に
はサブオペレーションコードには関係なく、X’081
がセットされる。
For example, the CS address is 12 pits and the instruction code is
'81, even if it is an instruction with a sub-operation code, the CS address register 11 will contain X'081 regardless of the sub-operation code.
is set.

そして、コントロールストレージ12から読み出したマ
イクロステップの分岐表示領域に“1”が表示されてい
るのが検出されると、これによりCSアドレス選択回路
部9はセレクタ10にサブオペレーションコードの選択
を指示する。
Then, when it is detected that "1" is displayed in the branch display area of the microstep read from the control storage 12, the CS address selection circuit section 9 instructs the selector 10 to select a sub-operation code. .

〕のとき、サブオペレーションコードがx゛83(すな
わち、命令全体のコードがX’ 8183である場合)
であれば、CSアドレスレジスタに、例えば、X’83
1.:X’800を加えた値であルX’883がセット
されるように動作する。
], the sub-operation code is x'83 (that is, when the code of the entire instruction is X'8183)
For example, if X'83 is set in the CS address register,
1. :X'883 is set to the value added by X'800.

第3図はこのような動作の様子を説明する図で、#A、
#B、#Cはそれぞれ異なるサブオペレーションコード
を持つ命令を示している。
Figure 3 is a diagram explaining the state of such operation, and #A,
#B and #C indicate instructions having different sub-operation codes.

同図において、#A、#B、#Cとも命令コードが同一
であり、M−00〜M−02で示す間のマイクロステッ
プが共通のものであるため、最初は常にM−00のマイ
クロステップが選択され処理に入る。そして、数字符1
7で示すMo2のステップにおいて、コントロールスト
レージ12の分岐表示領域13に“l”が立てられてい
る。
In the same figure, #A, #B, and #C have the same instruction code, and the microsteps between M-00 and M-02 are common, so the microstep of M-00 is always the first step. is selected and begins processing. And the number 1
At step Mo2 indicated by 7, "l" is set in the branch display area 13 of the control storage 12.

これによって、命令#AはマイクロステップM−AOへ
、命令#BはマイクロステップM−BOへ、命令#Cは
マイクロステップM−COへ分岐する。
As a result, instruction #A branches to microstep M-AO, instruction #B branches to microstep M-BO, and instruction #C branches to microstep M-CO.

従来の方式では、このような場合、マイクロステップM
−00〜M−02を、命令#A、#B、#Cがそれぞれ
C8上に持っている必要があったが、本発明の方式によ
れば、このように、マイクロステップM−00〜M−0
2を1組持っていればよいので、コントロールストレー
ジの必要領域が少なくてすむことになる。
In the conventional method, in such a case, the microstep M
It was necessary for instructions #A, #B, and #C to each have microsteps M-00 to M-02 on C8, but according to the method of the present invention, microsteps M-00 to M-02 are -0
Since it is only necessary to have one set of 2, the area required for control storage is reduced.

第3図に右いては、説明を容易にするため、三つの命令
が、3ステツプのマイクロ命令を共有する場合について
説明しているが、実際には、更に多くの命令が、多くの
マイクロステップを共有することが考えられ、コントロ
ールストレージ領域の使用効率を大幅に高め得ることが
できる。
For ease of explanation, on the right side of Figure 3, three instructions share a three-step microinstruction, but in reality, many more instructions share many microsteps. It is possible to share the control storage area, and the efficiency of use of the control storage area can be greatly increased.

[発明の効果コ 以上説明したように、本発明によれば、サブオペレーシ
ョンコードを有する命令の実行に係る処理において、共
通の動作を行なうマイクロプログラムの部分を、異なる
命令ごとにコントロー、ルストレージ上に持つ必要がな
くなり、1組のマイクロプログラムを異なる命令が容易
に使用できるから、コントロールストレージの領域を効
果的に使用することができる利点がある。
[Effects of the Invention] As explained above, according to the present invention, in processing related to the execution of an instruction having a sub-operation code, parts of a microprogram that perform a common operation are controlled and stored in a control storage for each different instruction. This eliminates the need to store multiple microprograms in one set of microprograms, and different instructions can easily be used for one set of microprograms, which has the advantage that the control storage area can be used effectively.

Claims (1)

【特許請求の範囲】 命令の実行に係る制御をマイクロプログラムによって行
なう如く構成され、サブオペレーションコードを伴なう
命令コードを有する情報処理装置において、 マイクロプログラムを格納するコントロールストレージ
の各マイクロプログラムステップに対応せしめて分岐を
指示する情報を格納する領域を設けると共に、異なるサ
ブオペレーションコードを有する命令の実行に係る制御
の一部を共通のマイクロプログラムで処理せしめる手段
と、 該情報を検出したとき命令のサブオペレーションコード
を選択して、該サブオペレーションコードに対応するコ
ントロールストレージ上のアドレスにアクセスする手段
とを設けたことを特徴とするマイクロプログラム分岐制
御方式。
[Claims] In an information processing device configured to control execution of instructions by a microprogram and having instruction codes accompanied by sub-operation codes, each microprogram step in a control storage storing the microprograms is provided. A means for providing an area for storing information instructing branching in correspondence with each other, and having a common microprogram handle part of the control related to the execution of instructions having different sub-operation codes; 1. A microprogram branch control system comprising means for selecting a sub-operation code and accessing an address on a control storage corresponding to the sub-operation code.
JP63218257A 1988-09-02 1988-09-02 Micro-program branch control method Expired - Lifetime JPH087677B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63218257A JPH087677B2 (en) 1988-09-02 1988-09-02 Micro-program branch control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63218257A JPH087677B2 (en) 1988-09-02 1988-09-02 Micro-program branch control method

Publications (2)

Publication Number Publication Date
JPH0267631A true JPH0267631A (en) 1990-03-07
JPH087677B2 JPH087677B2 (en) 1996-01-29

Family

ID=16717044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63218257A Expired - Lifetime JPH087677B2 (en) 1988-09-02 1988-09-02 Micro-program branch control method

Country Status (1)

Country Link
JP (1) JPH087677B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60105044A (en) * 1983-11-11 1985-06-10 Fujitsu Ltd Microprogram control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60105044A (en) * 1983-11-11 1985-06-10 Fujitsu Ltd Microprogram control system

Also Published As

Publication number Publication date
JPH087677B2 (en) 1996-01-29

Similar Documents

Publication Publication Date Title
US4016545A (en) Plural memory controller apparatus
US3988719A (en) Microprogrammed data processing systems
US4701842A (en) Method and apparatus for avoiding excessive delay in a pipelined processor during the execution of a microbranch instruction
JP3237858B2 (en) Arithmetic unit
JPH01310441A (en) Data processor
US4812970A (en) Microprogram control system
JPH031231A (en) Microprogram controller
JPH0267631A (en) Microprogram branch control system
CA1099028A (en) Microprogram splatter return apparatus
JPS62263536A (en) Operation improvement for computer
JP2982129B2 (en) Micro program controller
JP2004302647A (en) Vector processor and address designation method for register
JPS6339928B2 (en)
JP3117214B2 (en) Sequencer microprogram control method
JPS6346855B2 (en)
JP3392413B2 (en) Two-level micro control system and method
JPH0218732B2 (en)
JPS6226485B2 (en)
JPH0290324A (en) Microprogram controller
JPS6051739B2 (en) Micro program method
JPH0128965B2 (en)
JPH0412850B2 (en)
JPH02110631A (en) Microprogram controlling method
JPS58169247A (en) High-speed instruction reading system
JPS6028014B2 (en) microprocessor