JPH0218732B2 - - Google Patents

Info

Publication number
JPH0218732B2
JPH0218732B2 JP58034073A JP3407383A JPH0218732B2 JP H0218732 B2 JPH0218732 B2 JP H0218732B2 JP 58034073 A JP58034073 A JP 58034073A JP 3407383 A JP3407383 A JP 3407383A JP H0218732 B2 JPH0218732 B2 JP H0218732B2
Authority
JP
Japan
Prior art keywords
instruction
microinstruction
decoder
address
register
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
JP58034073A
Other languages
Japanese (ja)
Other versions
JPS59160239A (en
Inventor
Keiichi Ju
Takashi Tsunehiro
Junji Nakakoshi
Koichi Nakai
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3407383A priority Critical patent/JPS59160239A/en
Publication of JPS59160239A publication Critical patent/JPS59160239A/en
Publication of JPH0218732B2 publication Critical patent/JPH0218732B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、マイクロプログラム制御の情報処理
装置に関し、特に先行制御によりマイクロ命令ス
テツプ数を短縮した情報処理装置に関するもので
ある。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a microprogram-controlled information processing device, and more particularly to an information processing device in which the number of microinstruction steps is shortened by advance control.

〔従来技術〕[Prior art]

マイクロプログラム制御の情報処理装置は、処
理装置の基本動作を指定するマイクロ命令セツト
によりプログラミングを行い、これを制御記憶装
置に格納し、これから逐次マイクロ命令を読み出
し実行することにより、処理装置の動作を実現す
る。処理装置の機械語命令を実現するためのマイ
クロプログラム制御部は、大きく3つの部分より
成る。すなわち、次の通りである。
A microprogram-controlled information processing device is programmed with a set of microinstructions that specify the basic operations of the processing device, stores this in a control storage device, and sequentially reads and executes the microinstructions to control the operations of the processing device. Realize. A microprogram control unit for realizing machine language instructions of a processing device is mainly composed of three parts. That is, as follows.

(1) 機械語命令を主記憶装置から読み出す。(1) Read machine language instructions from main memory.

(2) 読み出した機械語命令を解読する。(2) Decipher the read machine language instructions.

(3) 解読した機械語命令を実行する。(3) Execute the decoded machine language instructions.

(2)では、機械語命令を解読し、各命令に対応し
たマイクロ命令実行ルーチンへ分岐する処理があ
り、(3)では、各命令に共通なオペランド記述部の
アドレス計算実行後、オペレーシヨン部の実行を
行う処理がある。
In (2), there is a process of decoding the machine language instruction and branching to the microinstruction execution routine corresponding to each instruction, and in (3), after calculating the address of the operand description section common to each instruction, the operation section There is a process that performs the following.

機械語命令は、その用途、目的により、効率の
よい処理を行う命令を用意するが、ここでは、第
1図に示す様に、2つの形式の例を示す。
Machine language instructions are prepared to perform efficient processing depending on their use and purpose, and here, as shown in FIG. 1, examples of two formats are shown.

形式1と形式2はともに、オペレーシヨンコー
ド部により、オペランドの属性が異なり、オペラ
ンドはレジスタの内容、レジスタとデイスプレイ
スメントの演算した内容あるいは主記憶装置の内
容に分かれる。形式1は、第1オペランドが暗黙
のうちに特定のレジスタの内容、あるいは、該レ
ジスタで示される主記憶装置の内容に決められて
いるところが形式2と異なる。この例は、第1オ
ペランドと第2オペランドの演算を行う命令であ
るが、形式1は、分岐命令とし、形式2はオペラ
ンド記述部2が、レジスタとデイスプレイスメン
トの演算した結果をアドレスとする主記憶装置の
内容を指し、これを第2オペランドとし、オペラ
ンド記述部1が、レジスタの内容を指し、これを
第1オペランドとする例である。
In both formats 1 and 2, the attributes of the operands differ depending on the operation code part, and the operands are divided into register contents, contents calculated by registers and displacement, or contents of the main storage device. Format 1 differs from Format 2 in that the first operand is implicitly determined to be the contents of a specific register or the contents of the main memory indicated by the register. This example is an instruction that performs an operation on the first and second operands. Format 1 is a branch instruction, and format 2 is for an instruction in which operand description part 2 uses the result of register and displacement operations as an address. In this example, the contents of the storage device are designated as the second operand, and the operand description part 1 is designated as the contents of the register, which is designated as the first operand.

形式2の機械語命令を1個の演算器で実現する
マイクロ命令の動作フローのタイムチヤートを、
第2図、第3図に示す。第2図は、機械語命令の
処理を、機械語命令の読み出しIF、読み出した
機械語命令の解読D、オペランド記述部2に示す
内容のアドレス計算A、第2オペランドの読み出
しOF、第1オペランドと第2オペランドの演算
Eを繰返し行う動作フローである。この動作フロ
ーでは、アドレス計算A、オペランド間の演算E
以外では、演算器は動作していない。
A time chart of the operation flow of a microinstruction that implements Format 2 machine language instructions with one arithmetic unit is shown below.
It is shown in FIGS. 2 and 3. Figure 2 shows the processing of a machine language instruction: read IF of the machine language instruction, decoding D of the read machine language instruction, address calculation A of the contents shown in operand description part 2, read OF of the second operand, and IF of the read machine language instruction. This is an operation flow in which operation E of the second operand is repeatedly performed. In this operation flow, address calculation A, operation between operands E
Otherwise, the arithmetic unit is not operating.

これを改善して高速処理にしたのが第3図であ
る。第3図は、3つの機械語命令を2マシンサイ
クルずらして、同時に処理を行うマイクロ命令の
動作フローで、主記憶装置の読出し、演算器の使
用を効率よく行うことができる。これを実現する
ためには、ハードウエアは機械語命令を格納する
インストラクシヨンレジスタが少くとも3個必要
であり、また機械語命令解読後に前に読み出した
機械語のオペランド間の演算をする為の演算記憶
制御回路が必要である。
Fig. 3 shows an improved version of this method that enables high-speed processing. FIG. 3 shows the operation flow of a microinstruction in which three machine language instructions are processed at the same time with two machine cycles shifted, thereby making it possible to efficiently read out the main memory and use the arithmetic unit. In order to achieve this, the hardware needs at least three instruction registers to store machine language instructions, and after decoding machine language instructions, to perform operations between the previously read machine language operands. This requires an arithmetic storage control circuit.

第3図から明らかなように、3命令の処理時間
が15マシンサイクルから10マシンサイクルに短縮
される。第3図に示した動作フローで動く情報処
理装置が形式1の分岐命令の場合には、第4図に
示す動作フローで動作する。すなわち、2番目の
読出した機械語命令が分岐命令の場合には、3番
目に読出した命令は実行してはならず、分岐先の
機械語命令から続行しなければならない。この
為、動作フローに乱れが生じ、演算の処理速度が
低下する。
As is clear from FIG. 3, the processing time for three instructions is reduced from 15 machine cycles to 10 machine cycles. If the information processing device that operates according to the operational flow shown in FIG. 3 uses a format 1 branch instruction, it operates according to the operational flow shown in FIG. 4. That is, if the second read machine language instruction is a branch instruction, the third read instruction must not be executed and the program must continue from the branch destination machine language instruction. This causes a disturbance in the operational flow and reduces the processing speed of calculations.

1個の演算器を最適に動作させた場合、形式2
の機械語命令を連続してn回実行すると、2nマ
シンサイクルで動作するはずである。しかし、従
来の1個の演算器を使用した情報処理装置は、第
3図で示したように、形式2の機械語命令を連続
してn回実行すると、2n+4マシンサイクルの
時間を要し、情報処理装置を最適に動作するには
到らなかつた。
When one arithmetic unit is operated optimally, Format 2
If you execute this machine language instruction n times in succession, it should take 2n machine cycles. However, as shown in FIG. 3, a conventional information processing device using one arithmetic unit takes 2n+4 machine cycles when executing Format 2 machine language instructions n times in succession. The information processing device could not be operated optimally.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、このような従来の問題を解決
し、1個の演算器を最適に動作させて、処理効率
を向上させることが可能な情報処理装置を提供す
ることにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide an information processing apparatus capable of solving such conventional problems and operating one arithmetic unit optimally to improve processing efficiency.

〔発明の概要〕[Summary of the invention]

上記目的を達成するため、本発明の情報処理装
置は、単独の演算装置と、主記憶装置から連続し
て読み出された複数の命令を格納する複数の命令
レジスタと、読み出された命令の解読用デコーダ
およびアドレス計算用デコーダとを備えて、先行
制御を行うマイクロプログラム制御の情報処理装
置において、主記憶装置から連続して読み出され
た複数の命令を別個に選択して、それぞれ上記命
令解読用デコーダあるいはアドレス計算用デコー
ダの一方に送出する複数の第1のセレクタと、制
御記憶から読み出されたマイクロ命令中のアドレ
ス計算先行制御指定フイールドの内容で制御され
ることにより、オペランドのアドレス計算を行う
ため、上記アドレス計算用デコーダの出力制御信
号を上記演算装置に送出するか否かを選択する第
2のセレクタと、上記オペランドのアドレス計算
結果を分岐命令のときにプログラムカウンタにセ
ツトするように制御する分岐命令選択デコーダと
を具備したことに特徴がある。
In order to achieve the above object, an information processing device of the present invention includes a single arithmetic unit, a plurality of instruction registers that store a plurality of instructions successively read from a main memory, and a In a microprogram-controlled information processing device that is equipped with a decoder for decoding and a decoder for address calculation and performs advance control, a plurality of instructions successively read from the main memory are separately selected, and each of the instructions is The address of the operand is controlled by a plurality of first selectors sent to either the decoder for decoding or the decoder for address calculation, and the contents of the address calculation advance control designation field in the microinstruction read from the control memory. A second selector selects whether or not to send the output control signal of the address calculation decoder to the arithmetic unit in order to perform the calculation, and a second selector that sets the address calculation result of the operand in the program counter at the time of a branch instruction. A feature of the present invention is that it is equipped with a branch instruction selection decoder that controls the branch instruction selection decoder.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の一実施例を説明する。 An embodiment of the present invention will be described below.

第5図は、前記形式2の機械語命令のマイクロ
命令の動作フローチヤートであり、第6図は、こ
のマイクロ命令を実現する本発明のハードウエア
の概略構成図である。第5図は、2命令を1マシ
ンサイクルずらして同時に処理を行う動作フロー
である。
FIG. 5 is an operation flowchart of a microinstruction of the Format 2 machine language instruction, and FIG. 6 is a schematic configuration diagram of the hardware of the present invention that implements this microinstruction. FIG. 5 is an operational flow in which two instructions are processed simultaneously with a shift of one machine cycle.

本発明では、(i)前記形式2の命令を実行する際
に、オペレーシヨン・コードのデコードDとオペ
ランド記述部のアドレス計算Aを、同一マシン・
サイクルで並行して行うことにより、1命令を4
マシン・サイクルで実行すること、および(ii)前記
形式1(つまり分岐命令)を実行する際には、デ
コードDの前にオペランド記述部のアドレス計算
Aを行つてしまい、分岐先の主記憶装置アドレス
を先に算出することにより、次のマシン・サイク
ルで分岐先の命令を読み出し、分岐がない場合よ
り1マシン・サイクル短縮した時間で実行するこ
と、を可能にしている。
In the present invention, (i) when executing the Format 2 instruction, decoding D of the operation code and address calculation A of the operand description part are performed on the same machine.
By executing in parallel in cycles, one instruction can be executed in four
(ii) When executing Format 1 (that is, a branch instruction), address calculation A of the operand description section is performed before decoding D, and the main memory of the branch destination is By calculating the address first, it is possible to read the branch destination instruction in the next machine cycle and execute it in one machine cycle less time than if there were no branch.

第6図において、1は主記憶装置、2,3はそ
れぞれA側とB側の演算用レジスタ、4はメモ
リ・アドレス・レジスタ、5はプログラム・カウ
ンタ、6はメモリ・バツフア・レジスタ、7,8
はそれぞれ第1と第2のインストラクシヨン・レ
ジスタ、9は計算用セレクタ、10は機械語命令
解読用セレクタ、11はアドレス計算用デコー
ダ、12は機械語命令解読用デコーダ、13は演
算器、14はマイクロプログラム加算回路、15
はマイクロ命令アドレス・セレクタ、16はマイ
クロ命令アドレス・レジスタ、17は制御記憶装
置、18はマイクロ命令レジスタ、19は演算制
御信号用セレクタ、20は分岐命令選択デコーダ
である。
In FIG. 6, 1 is a main memory, 2 and 3 are operation registers on the A side and B side, respectively, 4 is a memory address register, 5 is a program counter, 6 is a memory buffer register, 7, 8
are first and second instruction registers, respectively, 9 is a calculation selector, 10 is a selector for machine language instruction decoding, 11 is an address calculation decoder, 12 is a machine language instruction decoder, 13 is an arithmetic unit, 14 is a microprogram addition circuit, 15
16 is a microinstruction address selector, 16 is a microinstruction address register, 17 is a control storage device, 18 is a microinstruction register, 19 is a selector for arithmetic control signals, and 20 is a branch instruction selection decoder.

第6図においては、前記(i)に示したデコードD
とオペランド記述部のアドレス計算Aを並行して
実行るするたに、2つのインストラクシヨン・レ
ジスタ7,8に保持された命令のうち、2番目に
読み出された命令を選択し、デコードしてオペラ
ンド記述部のアドレス計算の制御を行う手段9,
11,19を新たに設けるとともに、制御記憶装置1
7から読み出されたマイクロ命令の中にアドレス
計算先行制御指定フイールドCを設けてセレクタ
19を制御するようにしている。また、前記(ii)に
示した分岐命令のときのステツプ短縮のために、
さらに分岐命令選択デコーダ20を新たに設け、
先に求めたオペランド記述部のアドレス計算結果
を、メモリ・アドレス・レジスタ4にセツトする
ことなく、プログラム・カウンタ5にセツトする
ように制御する。これにより、分岐命令による処
理速度の低下を防止し、通常の場合よりさらに1
マシン・サイクル処理を短縮している。
In FIG. 6, the decoding D shown in (i) above is
To execute address calculation A of the operand description section in parallel, select the second instruction read out of the two instructions held in instruction registers 7 and 8, and decode it. means 9 for controlling address calculation of the operand description section;
11 and 19, and control storage device 1.
An address calculation advance control designation field C is provided in the microinstruction read from 7 to control the selector 19. In addition, in order to shorten the steps for the branch instruction shown in (ii) above,
Furthermore, a branch instruction selection decoder 20 is newly provided,
The previously obtained address calculation result of the operand description part is controlled to be set in the program counter 5 without being set in the memory address register 4. This prevents processing speed from slowing down due to branch instructions, and is even faster than normal.
Reduces machine cycle processing.

第6図の動作を詳述する。 The operation shown in FIG. 6 will be explained in detail.

マイクロ命令が、機械語命令読み出し(命令1
のIF)を指定すると、プログラム・カウンタ5
に対応した命令1を主記憶装置1より読み出し、
インストラクシヨン・レジスタ7にセツトする。
次に、マイクロ命令が、機械語命令読み出し(命
令2のIF)と、命令1の解読Dと命令1のオペ
ランド記述部のアドレス計算Aを指定すると、先
行制御のため、インストラクシヨン・レジスタ8
に主記憶装置1より読み出した命令2をセツトす
る。また、現在実行しようとする命令がセツトさ
れているインストラクシヨンレジスタ7をセレク
タ10により選択し、これに基づいて命令1のマ
イクロ命令実行群の先頭番地へ分岐する為にマイ
クロ命令アドレスを作成するデコーダ12で命令
1のオペレーシヨン・コードをデコードし、その
出力をマイクロ命令アドレス・セレクタ15が選
択して、マイクロ命令アドレス・レジスタ16に
セツトする。16,17,18はマイクロプログ
ラム制御部を構成するもので、マイクロ命令アド
レス・レジスタ16の内容をアドレスとして制御
記憶装置17にアクセスし、そのアドレス・エリ
アからマイクロ命令を読み出して、マイクロ命令
レジスタ18にセツトする。マイクロ命令レジス
タ18にセツトされたマイクロ命令には、特別の
3つのフイールドa,b,cが設けられ、1つは
次のマイクロ命令を読み出すためのアドレス指定
を行うフイールドa、他の1つは演算を実行する
ための制御信号を出力するフイールドb、最後の
1つは次の命令のアドレス計算先行制御指定を行
うフイールドCである。
Microinstruction reads machine language instruction (instruction 1
IF), program counter 5
Reads the instruction 1 corresponding to the main memory 1 from the main memory 1,
Set to instruction register 7.
Next, when the microinstruction specifies machine language instruction reading (IF of instruction 2), decoding D of instruction 1, and address calculation A of the operand description part of instruction 1, instruction register 8 is set for advance control.
The instruction 2 read from the main memory 1 is set to In addition, the instruction register 7 in which the instruction to be executed is currently set is selected by the selector 10, and based on this, a microinstruction address is created in order to branch to the first address of the microinstruction execution group of instruction 1. The operation code of instruction 1 is decoded by the decoder 12, and the output thereof is selected by the microinstruction address selector 15 and set in the microinstruction address register 16. Reference numerals 16, 17, and 18 constitute a microprogram control unit, which accesses the control storage device 17 using the contents of the microinstruction address register 16 as an address, reads out the microinstruction from the address area, and writes the microinstruction register 18 to the microinstruction register 18. Set to . The microinstruction set in the microinstruction register 18 has three special fields a, b, and c; one is field a, which specifies the address for reading the next microinstruction, and the other field is Field b outputs a control signal for executing an operation, and the last one is field C that specifies advance control of address calculation for the next instruction.

マイクロ命令レジスタ18にマイクロ命令がセ
ツトされると、これと同時に、命令1をセツトし
たインストラクシヨン・レジスタ7をセレクタ9
により選択して、演算用レジスタと演算内容を指
定するデコーダ11によりデコードし、オペラン
ド記述部のアドレス計算の為の制御信号を出力す
る。この時、マイクロ命令は、先行アドレス計算
指定をし(命令2のA)、演算制御信号をセレク
タ19により、デコーダ11の出力に選択する。
次に、マイクロ命令が命令1のオペランドの読み
出し(OF)と命令2のオペランド記述部のアド
レス計算Aを指定すると、命令1のオペランドア
ドレスがセツトされているアドレスレジスタ4に
対応した内容を主記憶装置1より読み出し、メモ
リバツフアレジスタ6にセツトする。また、命令
2をセツトしたインストラクシヨンレジスタ8を
セレクタ9により選択し、前記のように、命令2
のオペランド記述部のアドレス計算Aを行う制御
信号をセレクタ19より出力し、アドレス計算を
行う。セレクタ9は、前のマイクロ命令で機械語
命令解読Dを指定すると、次に読み出した機械語
命令をセツトするインストラクシヨンレジスタ7
を選択する。
When the microinstruction is set in the microinstruction register 18, at the same time, the instruction register 7 in which instruction 1 was set is set to the selector 9.
is selected, decoded by the decoder 11 that specifies the operation register and operation contents, and outputs a control signal for calculating the address of the operand description section. At this time, the microinstruction specifies advance address calculation (A of instruction 2), and the selector 19 selects the arithmetic control signal as the output of the decoder 11.
Next, when the microinstruction specifies read operand (OF) of instruction 1 and address calculation A of the operand description section of instruction 2, the contents corresponding to address register 4, where the operand address of instruction 1 is set, are stored in main memory. It is read from the device 1 and set in the memory buffer register 6. In addition, the instruction register 8 in which the instruction 2 is set is selected by the selector 9, and the instruction register 8 is set to the instruction 2 as described above.
A control signal for performing address calculation A of the operand description portion of is output from the selector 19, and address calculation is performed. When the selector 9 specifies machine language instruction decoding D in the previous microinstruction, the instruction register 7 sets the machine language instruction read next.
Select.

次に、マイクロ命令は、命令1の演算Eの実行
と、命令2のオペランド読み出し(OF)と命令
2の解読Dを指定すると、セレクタ19はマイク
ロ命令レジスタ18が出力する演算用制御信号(b)
を選択し、オペランドをセツトしているメモリ・
バツフア・レジスタ6とレジスタ2で命令1のオ
ペレーシヨンコードに従つた演算を行う。また、
命令2のオペランド・アドレスがセツトされてい
るアドレスレジスタ4に対応した内容を主記憶装
置1より読み出し、メモリバツフアレジスタ6に
セツトする。同時に、命令2の解読Dを行い、前
記の様に命令2に対応するマイクロ命令群の先頭
のマイクロ命令をマイクロ命令レジスタ18にセ
ツトする。
Next, when the microinstruction specifies execution of operation E of instruction 1, operand reading (OF) of instruction 2, and decoding D of instruction 2, the selector 19 selects the operation control signal (b) output from the microinstruction register 18. )
and select the memory where the operand is set.
Buffer register 6 and register 2 perform an operation according to the operation code of instruction 1. Also,
The contents corresponding to the address register 4 to which the operand address of the instruction 2 is set are read from the main memory 1 and set in the memory buffer register 6. At the same time, instruction 2 is decoded D, and the first microinstruction of the microinstruction group corresponding to instruction 2 is set in the microinstruction register 18 as described above.

次に、マイクロ命令が次の機械語命令の読み出
し(命令3のIF)と、命令2の演算Eの実行を
指定すると、前記のようにインストラクシヨンレ
ジスタ7に命令3をセツトすると同時に、マイク
ロ命令レジスタ18が出力する演算用制御信号(b)
をセレクタ19が選択し、命令2の演算Eを行
う。以下この動作を繰返す。
Next, when the microinstruction specifies reading of the next machine language instruction (IF of instruction 3) and execution of operation E of instruction 2, the microinstruction sets instruction 3 in the instruction register 7 as described above, and at the same time Operation control signal (b) output from the instruction register 18
is selected by the selector 19, and operation E of instruction 2 is performed. Repeat this operation below.

この動作を繰返しのタイム・チヤートを、第7
図bに示す。すなわち、第7図bは形式2の命令
を連続して実行した場合であつて、命令1と命令
2を実行する合計時間は5マシン・サイクル、つ
まり2n+1(nは命令数)マシン・サイクルであ
るが、命令3は演算器13が空いていないため、
3マシン・サイクル遅れて読み出されることにな
り、命令1〜命令3の合計時間は8マシン・サイ
クル、つまり2n+2マシン・サイクルかかるこ
とになる。しかし、演算器13を2個設ければ、
2nマシン・サイクルで実行可能である。このよ
うに、本実施例によれば、マイクロ命令でオペラ
ンド記述部のアドレス計算を、機械語命令のオペ
レーシヨンコード解読の前に行う事により、前記
形式2の命令を連続してn回実行するので、2n
マシンサイクの時間で実行でき、処理装置の効率
を上げる効果がある。
The time chart for repeating this operation is shown in the 7th
Shown in Figure b. In other words, Figure 7b shows the case where instructions of Format 2 are executed consecutively, and the total time to execute instructions 1 and 2 is 5 machine cycles, that is, 2n + 1 (n is the number of instructions) machine cycles. However, since the arithmetic unit 13 is not available for instruction 3,
It will be read out with a delay of 3 machine cycles, and the total time for instructions 1 to 3 will be 8 machine cycles, that is, 2n+2 machine cycles. However, if two computing units 13 are provided,
It can be executed in 2n machine cycles. As described above, according to this embodiment, by calculating the address of the operand description part using a microinstruction before decoding the operation code of the machine language instruction, the instruction of the Format 2 is executed n times in succession. So, 2n
It can be executed in machine cycle time and has the effect of increasing the efficiency of processing equipment.

次に、本実施例のハードウエアを用いて形式1
の機械語命令を実行するマイクロ命令の動作フロ
ーを第7図aに示す。第7図aが第7図bと異な
る点は、命令2が分岐命令である為、動作フロー
が乱れる点にある。第7図aを実現するハードウ
エアで分岐命令特有のものは、第6図の分岐命令
選択デコーダ20が動作する事であり、読み出し
た機械語命令が分岐命令の場合には、オペランド
記述部のアドレス計算結果をメモリアドレス・レ
ジスタ4にセツトするのではなく、プログラム・
カウンタ5にセツトし、かつ読み出したオペラン
ドをインストラクシヨンレジスタ7にセツトする
様、本デコーダ20が制御する。これにより分岐
命令による処理速度の低下を最小限に留める事が
できる。
Next, using the hardware of this example, format 1
The operation flow of a microinstruction that executes a machine language instruction is shown in FIG. 7a. The difference between FIG. 7a and FIG. 7b is that instruction 2 is a branch instruction, which disrupts the operational flow. What is unique to the branch instruction in the hardware that implements FIG. 7a is that the branch instruction selection decoder 20 shown in FIG. Rather than setting the address calculation result in memory address register 4, the program
This decoder 20 controls so that the counter 5 is set and the read operand is set in the instruction register 7. This allows the reduction in processing speed due to branch instructions to be kept to a minimum.

すなわち、第7図aに示すように、分岐命令2
がある場合、命令1〜命令3の実行時間の合計は
7マシン・サイクルであり、これは2n+1マシ
ン・サイクルである。
That is, as shown in FIG. 7a, branch instruction 2
If so, the total execution time of instructions 1 through 3 is 7 machine cycles, which is 2n+1 machine cycles.

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

本発明によれば、機械語命令のオペレーシヨン
コードを解読して、機械語命令に対応したマイク
ロ命令群に分岐する前に、オペランド記述部のア
ドレス計算を行うことができ、かつ全てのステツ
プで単独の演算装置を使用し、メモリアクセスを
実行するので、レジスタ・メモリ演算をn回連続
して行うとほぼ2nマシンサイクルの時間で行う
事ができ、処理装置の高速化の効果がある。
According to the present invention, the address of the operand description part can be calculated before decoding the operation code of the machine language instruction and branching to the microinstruction group corresponding to the machine language instruction. Since a single arithmetic unit is used to perform memory access, register/memory operations can be performed n times in succession in approximately 2n machine cycles, which has the effect of speeding up the processing unit.

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

第1図は、機械語命令の2つの命令形式の例を
示す図、第2図は第1図の形式2の機械語命令を
実現したマイクロ命令動作フロー図、第3図は第
2図を改善したマイクロ命令動作フロー図、第4
図は第1図の形式1の機械語命令を実現したマイ
クロ命令動作フロー図、第5図、第7図は本発明
を実施したマイクロ命令の動作フロー図、第6図
は本発明の実施例を示す情報処理装置の概略構成
図である。 1:主記憶装置、2:演算用A側レジスタ、
3:演算用B側レジスタ、4:メモリアドレスレ
ジスタ、5:プログラムカウンタ、6:メモリバ
ツフアレジスタ、7:インストラクシヨンレジス
タ1、8:インストラクシヨンレジスタ2、9:
アドレス計算用セレクタ、10:機械語命令解読
用セレクタ、11:アドレス計算用デコーダ、1
2:機械語命令解読用デコーダ、13:演算器、
14:マイクロプログラム加算回路、15:マイ
クロ命令アドレスセレクタ、16:マイクロ命令
アドレスレジスタ、17:制御用記憶装置、1
8:マイクロ命令レジスタ、19:演算制御信号
用セレクタ、20:分岐命令選択デコーダ。
Fig. 1 is a diagram showing examples of two formats of machine language instructions, Fig. 2 is a microinstruction operation flow diagram that realizes the format 2 machine language instruction in Fig. 1, and Fig. 3 is a diagram showing examples of two formats of machine language instructions. Improved microinstruction operation flow diagram, 4th
The figure is an operation flow diagram of a microinstruction that implements the Format 1 machine language instruction in Figure 1, Figures 5 and 7 are operation flow diagrams of a microinstruction that implements the present invention, and Figure 6 is an embodiment of the present invention. FIG. 1 is a schematic configuration diagram of an information processing device. 1: Main memory, 2: A-side register for calculation,
3: Operation B-side register, 4: Memory address register, 5: Program counter, 6: Memory buffer register, 7: Instruction register 1, 8: Instruction register 2, 9:
Selector for address calculation, 10: Selector for decoding machine language instructions, 11: Decoder for address calculation, 1
2: Decoder for decoding machine language instructions, 13: Arithmetic unit,
14: Microprogram addition circuit, 15: Microinstruction address selector, 16: Microinstruction address register, 17: Control storage device, 1
8: microinstruction register, 19: arithmetic control signal selector, 20: branch instruction selection decoder.

Claims (1)

【特許請求の範囲】[Claims] 1 単独の演算装置と、主記憶装置から連続して
読み出された複数の命令を格納する複数の命令レ
ジスタと、読み出された命令の解読用デコーダお
よびアドレス計算用デコーダとを備えて、先行制
御を行うマイクロプログラム制御の情報処理装置
において、主記憶装置から連続して読み出された
複数の命令を別個に選択して、それぞれ上記命令
解読用デコーダあるいはアドレス計算用デコーダ
の一方に送出する複数の第1のセレクタと、制御
記憶から読み出されたマイクロ命令中のアドレス
計算先行制御指定フイールドの内容で制御される
ことにより、オペランドのアドレス計算を行うた
め、上記アドレス計算用デコーダの出力制御信号
を上記演算装置に送出するか否かを選択する第2
のセレクタと、上記オペランドのアドレス計算結
果を分岐命令のときにプログラムカウンタにセツ
トするように制御する分岐命令選択デコーダとを
具備したことを特徴とする情報処理装置。
1 Equipped with a single arithmetic unit, a plurality of instruction registers for storing a plurality of instructions successively read from the main memory, a decoder for decoding the read instructions, and a decoder for calculating addresses, In a microprogram-controlled information processing device that performs control, a plurality of instructions that are sequentially read out from a main memory are separately selected and sent to one of the instruction decoding decoder or address calculation decoder, respectively. The output control signal of the address calculation decoder is controlled by the first selector of , and the contents of the address calculation advance control designation field in the microinstruction read from the control memory to calculate the address of the operand. a second selecting whether or not to send the data to the arithmetic unit;
1. An information processing device comprising: a selector; and a branch instruction selection decoder for controlling the address calculation result of the operand to be set in a program counter at the time of a branch instruction.
JP3407383A 1983-03-02 1983-03-02 Information processing device Granted JPS59160239A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3407383A JPS59160239A (en) 1983-03-02 1983-03-02 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3407383A JPS59160239A (en) 1983-03-02 1983-03-02 Information processing device

Publications (2)

Publication Number Publication Date
JPS59160239A JPS59160239A (en) 1984-09-10
JPH0218732B2 true JPH0218732B2 (en) 1990-04-26

Family

ID=12404082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3407383A Granted JPS59160239A (en) 1983-03-02 1983-03-02 Information processing device

Country Status (1)

Country Link
JP (1) JPS59160239A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2583506B2 (en) * 1987-05-27 1997-02-19 株式会社日立製作所 Data processing device
JP2646855B2 (en) * 1991-01-21 1997-08-27 三菱電機株式会社 Data processing device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5734254A (en) * 1980-08-08 1982-02-24 Nec Corp Information processing device
JPS5794853A (en) * 1980-12-03 1982-06-12 Hitachi Ltd Data processor
JPS5848144A (en) * 1981-09-16 1983-03-22 Nec Corp Branch instruction control system of data processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5734254A (en) * 1980-08-08 1982-02-24 Nec Corp Information processing device
JPS5794853A (en) * 1980-12-03 1982-06-12 Hitachi Ltd Data processor
JPS5848144A (en) * 1981-09-16 1983-03-22 Nec Corp Branch instruction control system of data processor

Also Published As

Publication number Publication date
JPS59160239A (en) 1984-09-10

Similar Documents

Publication Publication Date Title
US4179731A (en) Microprogrammed control system
JPS6312029A (en) Information processor
JPS6313215B2 (en)
JPH0545985B2 (en)
JPS61107431A (en) Arithmetic unit
JPH0248931B2 (en)
JP3237858B2 (en) Arithmetic unit
KR100334174B1 (en) Data processing device
JPH03233630A (en) Information processor
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
US4812970A (en) Microprogram control system
JP2571682B2 (en) Information processing device
JPH0218732B2 (en)
JPH07110769A (en) Vliw type computer
JPH0218729B2 (en)
JPS63141131A (en) Pipeline control system
JP2812610B2 (en) Pipeline control method
JPH0524537B2 (en)
JP2982129B2 (en) Micro program controller
JPS58176751A (en) Decoding unit of instruction word
JP2576589B2 (en) Virtual storage access control method
JPS62147545A (en) Processing system for transfer instruction of information processor
JPS62295163A (en) Parallel data processor
JPH06332701A (en) Information processor
JPS6375833A (en) Information processor