JPS5840668A - Register selecting system - Google Patents

Register selecting system

Info

Publication number
JPS5840668A
JPS5840668A JP13936181A JP13936181A JPS5840668A JP S5840668 A JPS5840668 A JP S5840668A JP 13936181 A JP13936181 A JP 13936181A JP 13936181 A JP13936181 A JP 13936181A JP S5840668 A JPS5840668 A JP S5840668A
Authority
JP
Japan
Prior art keywords
register
registers
rar
microinstruction
unit
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
JP13936181A
Other languages
Japanese (ja)
Other versions
JPH0363091B2 (en
Inventor
Kiyoshi Yada
矢田 潔
Shigeo Sawada
沢田 栄夫
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 JP13936181A priority Critical patent/JPS5840668A/en
Publication of JPS5840668A publication Critical patent/JPS5840668A/en
Publication of JPH0363091B2 publication Critical patent/JPH0363091B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection

Abstract

PURPOSE:To decrease the number of bits of a microinstruction, and to reduce the capacity of a control storage, by using a register address register having a counting function, and executing direct designation of the register. CONSTITUTION:A register address register RAR 13 is set by a microinstruction from a result data bus ZB. The contents of the RAR 13 are added or subtracted by ''1'' by a counter 15, and after that, its updated value is fed back and is set to the RAR13. The contents set to the RAR13 are decoded by a source decoder 18, and a transfer register to the operating unit is selected. Also, the contents of the RAR 13 are latched by a delay RAR (DRAR) 14 after a half machine cycle, are decoded by a destination decoder 17, and the transfer register from the operating unit is selected.

Description

【発明の詳細な説明】 本発明は、レジスタ選択方式に関し、特にビット長の短
かいマイタ賞命令で多数のレジスタを選択で亀る間接指
定によるレジスタ選択方式に関すJh4のである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a register selection method, and in particular to a register selection method using indirect specification in which a large number of registers are selected by a miter award instruction with a short bit length.

マイクロ・プログラム制御の中央処m装置では、制御論
理がプ繋グラムの形で制御記憶に集中して格納され、そ
の変更修正が比較的簡単であるため、八−ドウニアに柔
軟性を与えることがで亀る等、−々の利点を有している
In a microprogram-controlled central processing unit, the control logic is stored centrally in the control memory in the form of a programmable program, and it is relatively easy to change and modify the logic, giving eight-dounia flexibility. It has several advantages, such as:

垂直型の!イクロ命令は、操作コードと操作オペランド
・フィールドからなり、操作オペランド・フィールドで
演算回路の入力や結果の行先略を指定する。
Vertical! A microinstruction consists of an operation code and an operation operand field, and the operation operand field specifies the input to the arithmetic circuit and the destination of the result.

第1WJは、マイタロ・プログラム制御の中央処s装置
のブロック図である。
The first WJ is a block diagram of a central processing unit under Mitalo program control.

第1図にお−て、lti演算ユニット(ムLU)、2#
i記憶装置を制御するエニン) Ca0U> 、3はマ
イクロ・プログラムのシーケンスを制御するユニット(
IIQ)、番はチャネル制御ユニット(OH)である。
In Fig. 1, lti operation unit (MULU), 2#
Ca0U>, 3 is a unit that controls the sequence of micro programs (enin) that controls the i-storage device
IIQ), the number is the channel control unit (OH).

これらの各ユニットlN4には、マイタロ・プ賀ダラム
によって選択されるレジスタが多数分散されてお9、選
択されたレジスタの内容がデータ・バスを介して各ユニ
ット2〜4と演算ユニット1の間で転送される。
In each of these units IN4, a large number of registers selected by the miteropugadalam are distributed 9, and the contents of the selected registers are transferred between each unit 2 to 4 and the arithmetic unit 1 via a data bus. will be transferred.

第1図において、演算ユニツ)1には、ローカル・スト
レージ(以下L8と記す)5とこのL8に対応するレジ
スタ!¥7が配置され、L85riデータ・バス(XB
)δを通って演算器6に人力する一方、レジスタr#7
はデータ・バス(YB)9を通って演算器6に入力し、
その演算結果はデータ・AX (ZB)11を通って各
ユニツ)l−4のレジスタに格納される。なお、演算ユ
ニット1以外のユニット2〜4に存在するレジスタは、
共通データ・バスIB)10を通って、演算ユニット1
のデータ・バス(YB)9に接続されている。 レジス
タを選択する場合、従来よ)マイクロ命令による直接指
定、りま如各レジスタごとに■#)!!1てられた識別
コードをiイタcI命令の操作オペランド・フィールド
で指定することにより選択している。したがって、!l
lll−ドを指定するフィールド長は、すべてのレジス
タを区別するために必要なレジスタ選択用ビット数を準
備しなければなら1に−0例えば、中央処理装置内のレ
ジスタ数が200個存在する場合、これらを選択するに
は、2”−256によって8ビツトが必要であシ、X+
Y−Z(7)演算を行うために、X、Y、Zのレジスタ
を独立に指定すれば、8ビツトの3倍1つま卦24ビッ
トが必要となる◎   ゛そこで、従来より、レジスタ
選択に必要なマイクロ命令のビット数を減少するため、
x+y−zの演算を行う場合、x2:zのレジスタを同
一にするか、あるーはYと2のレジスタを同一にする方
法、またa200個のレジスタのうち%X+Y−2の演
算に必要なレジスタのみをあらかじめ選択しておく方法
等を用いている。
In FIG. 1, an arithmetic unit 1 has a local storage (hereinafter referred to as L8) 5 and a register corresponding to L8! ¥7 is placed and the L85ri data bus (XB
) δ to the arithmetic unit 6, while the register r#7
is input to the arithmetic unit 6 through the data bus (YB) 9,
The result of the operation passes through the data AX (ZB) 11 and is stored in the register of each unit 1-4. Note that the registers existing in units 2 to 4 other than arithmetic unit 1 are as follows:
Through the common data bus IB) 10, the arithmetic unit 1
data bus (YB) 9. When selecting a register, you can directly specify it using a microinstruction (conventionally), for each register ■#)! ! The selected identification code is selected by specifying it in the operation operand field of the i ita cI instruction. therefore,! l
The field length for specifying the 1ll-code must provide the number of register selection bits necessary to distinguish all registers.For example, if there are 200 registers in the central processing unit, , to select these requires 8 bits by 2”-256,
If you specify the X, Y, and Z registers independently to perform Y-Z(7) operation, you will need 3 times 8 bits or 24 bits. To reduce the number of microinstruction bits required,
When performing the operation x + y - z, the registers for x2:z should be the same, or the registers for Y and 2 should be the same. A method is used in which only registers are selected in advance.

しかし、これらの方法を用−ても、まだマイクロ命令の
レジスタ選択l択に必要なビット数の占める割合が大禽
いため、マイクロ命令を記憶する制御記憶装置の容量が
大きくなシ、コスト高を招いている。
However, even with these methods, the number of bits required for microinstruction register selection still occupies a large proportion, so the capacity of the control storage device for storing microinstructions is large, resulting in high costs. I'm inviting you.

本発明の目的は、このような従来の欠点を解消するため
、レジスタ選択に必要なマイクロ命令のビット数を減少
し、かつマシン・サイクルを短縮するとともに、マイク
ロ命令のビット数を変更なしにレジスタ数を増加するこ
とが可能なレジスタ選択方式を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to reduce the number of microinstruction bits required for register selection, shorten the machine cycle, and reduce the number of microinstruction bits required for register selection without changing the number of microinstruction bits. The object of the present invention is to provide a register selection method that can increase the number of registers.

事・発明のレジスタ選択方式は゛、マイクロ・プログラ
ムによ)mimlを行うデータ処理装置において、演算
に用いるレジスタを間接的に指定するレジスタ・アドレ
ス・レジスタを具備し、該レジスタ・アドレス・し、シ
フタに対してマイクロ・プログラムによる任意の値のセ
ット、あるいは命令実行開始時の初期設定を行い、その
値に対応するレジスタをaIRした時点で、レジスタ・
アドレス・レジスタの値をカウンFパアツブあるいはカ
ウント・ダウンすることを特徴とする。       
 4以下、本゛発明の動作原理と実施例を、図面によ抄
説明する。
The register selection method of the present invention is that a data processing device that performs miml (by a micro program) is provided with a register address register that indirectly specifies a register to be used for an operation, and a shifter When a micro program sets an arbitrary value for , or initializes it at the start of instruction execution, and aIRs the register corresponding to that value, the register
It is characterized by counting down or counting down the value of the address register.
4 Below, the operating principle and embodiments of the present invention will be briefly explained with reference to the drawings.

111図に示す中央処理装置において、マイクロ、プロ
グラムによや選択されるレジスタのうち、使用頻度が高
く、かつ高速度で選択する必要のあるレジスタは・、演
算ユニット1に集中しており、他のユニット2〜4では
、高速度選択を要するレジスタは2〜31WN度で、大
部分のレジスタが高速度選択を必要としない。
In the central processing unit shown in Fig. 111, among the registers selected by the microprocessor and program, the registers that are used frequently and need to be selected at high speed are concentrated in the arithmetic unit 1, and other registers are In units 2 to 4, the registers that require high speed selection are 2 to 31 WN degrees, and most registers do not require high speed selection.

本発明においては、マイクロ・プログラムによりレジス
タ選択を行う場合、高速度選択を要′する演算ユニット
1内のレジスタ、つまりデゴタ・バス(xn)aを通し
て読み出される一レジスタ(L8)”とデータ・バス(
YfS) 9を通して読み出される演算ユニットlのレ
ジスタ群に対して゛は、“′マイタロ命令によるTfL
!lr−指定を行い、高速度選択を要し&イユtット2
〜4内のレジスタ、つまり”共?ftテーデータバスC
EB’)10’)jlして腕゛み出されるレジスタに対
しては、マイタロ命令による間接指定を行う゛。 この
ように、本発明では、使用頻度が大きく、マイクロ命令
によ#)直接指定しないと処理装置の性能が低下するレ
ジスタに対しては、マイクロ命令による直接指定を行い
゛、エラー等、桐外事項が発生したときのみ参照するも
ので、高速度選択を要しないレジスタに対しては、マイ
クロ命令による間接指定を行う。さらに、間接指定のた
めのレジスタ・アドレス・レジスタ(以下RABと記す
)に対して、命令開始時の初期設定とマイクロ命令によ
る任意の値の設定のai能、およびカウント機能を持た
せることによって間接指定の高速化を計り、特定の命令
でのみ使用するレジスタ選択聞蒙指定できるようにする
In the present invention, when register selection is performed by a microprogram, a register in the arithmetic unit 1 that requires high-speed selection, that is, one register (L8) that is read out through the degoter bus (xn)a, and a data bus (
YfS) For the register group of the arithmetic unit l that is read through
! lr-specified, requires high-speed selection & unit 2
The registers in ~4, that is, the ?ft data bus C
EB')10') For the registers that are extended by the arm, indirect specification is performed using a mital instruction. In this way, in the present invention, registers that are used frequently and would degrade the performance of the processing device if not directly specified by microinstructions are specified directly by microinstructions. Registers that are referenced only when an event occurs and do not require high-speed selection are indirectly specified using microinstructions. Furthermore, the register address register (hereinafter referred to as RAB) for indirect specification is provided with an AI function for initial setting at the start of an instruction, an arbitrary value setting by a microinstruction, and a count function. To speed up specification and enable register selection to be used only in specific instructions.

112図(a)(旬は、本発明の実施例を示すマイクロ
命令のレジスタ選択用コードの説明図である。
FIG. 112(a) is an explanatory diagram of a microinstruction register selection code showing an embodiment of the present invention.

マイタロ命令12は、F、gX、A、BY、−・・め各
フィールドに分制されてお沙、それぞれ’!Fiyアン
タシ四ン(バイト処理、ワード処理、転送処理等の指示
)、sxは演算器のX@のソース・レジスタ選択の指定
、Aは演算の榴誼の指定、BYは演算器のYaのソース
・レジスタおよびデイステネーシツン・レジスタの選択
の指定を行う。
The Mytaro command 12 is divided into fields F, gX, A, BY, ..., respectively. Fiy command (instructions for byte processing, word processing, transfer processing, etc.), sx specifies the source register selection of X @ of the arithmetic unit, A specifies the summary of the operation, BY specifies the source of Ya of the arithmetic unit - Specify register and destination register selection.

8xフイールドは従来どおりマイクロ命令により直接指
定を行−,8Yフイールドは演算ユニット1のレジスタ
群7を除去して間接指定を行う。
The 8x field is directly specified by a microinstruction as before, and the 8Y field is indirectly specified by removing the register group 7 of the arithmetic unit 1.

中央処理装置内にレジスタ数が例えば、200個存在す
る場合、従来の方式であれば8X、8Yyイールドとも
8ビツト長となるのに対して、第2図では演算二二ツ)
1のレジスタのみ直接指定を行うので、5Xt8Yフイ
ールドとも4ビツト長でよい・ いま、植鉢ユニット1
のレジスタ名をA、B、0.・・・とすると、レジス#
A、B。
If there are, for example, 200 registers in the central processing unit, in the conventional method both 8X and 8Yy yields would be 8 bits long, but in Fig.
Since only register 1 is specified directly, the length of both 5Xt8Y fields can be 4 bits. Now, flowerpot unit 1
The register names of A, B, 0. ...then Regis #
A, B.

C2・・・と、ユニット2〜4ごとに#置される凰ムR
と、ユニット2〜4ごとの転送用データ・バス(SCU
B 、8NQB 、0RB)の養がマイタロ命令で直接
tk宕で自る゛4ピットのコードを持っており、これに
麹して他のユニット2〜4のレジスタFiRムRによ抄
間接指定されるコードを独立して持ち、そのピッ)数は
任意に決定で自る。
C2... and the #R placed for each unit 2 to 4.
and transfer data bus (SCU) for each unit 2 to 4.
B, 8NQB, 0RB) has its own 4-pit code in tk with the Mitaro instruction directly, and is indirectly specified by the registers FiR of other units 2 to 4. It has an independent code, and the number of pins can be determined arbitrarily.

@ 21m (&)のSXフィールドには、演算ユニッ
ト1の各レジスタム、B、0.・・・に割り当てられた
コードのみが入るのに対して、8Yフイールドには、演
算ユニット1の各レジ哀タム’、B、0゜・・・のコー
ドと、他ユニット2〜番の81Rとバスに割)IAてら
れたコード岬が入る。
@21m (&) SX field contains each register of arithmetic unit 1, B, 0 . ..., while the 8Y field contains the codes for each register ', B, 0°, etc. of calculation unit 1, and 81R and 81R of other units 2~. Cord Misaki, who was given an IA, enters the bus.

第2図(b)は、1Yフイ一ルド番ビットのコードの一
例を示しており、0000″〜“0111” には演算
ユニットlの各レジスタム、B、・・・が、1000−
1011  にはチャネル41pユニツト4のRARと
転送用のデータ・バス(CIIB)が、“1100〜“
1101 には記憶亀1」岬ユニット2のRARと転送
用のデータ・バスC3CUB)が、また“1110〜″
1111 にはジ−ケンスル:計ユニット3のRA、R
と転送用のデータ・バス(SEQB)が、それぞれ割り
肖てられる。したがって、マイクロ・プログラムによっ
てレジスタA、B。
FIG. 2(b) shows an example of the code of the 1Y field number bit, where each register of the arithmetic unit l, B, .
In 1011, the RAR of channel 41p unit 4 and the data bus (CIIB) for transfer are connected to "1100~".
1101 has the RAR and transfer data bus C3CUB of the memory turtle 1" Misaki unit 2, and also "1110~"
1111 is a sequence: Total unit 3 RA, R
and a transfer data bus (SEQB), respectively. Therefore, registers A, B are created by the micro program.

・・・を1棲指示するとともに、チャネルBAR(HR
AIIL) 、1懐制御RAR(SRAR)シーケンス
制御RAR(QRAR)等を任意に指定してit+r指
定を行い、また各ユニット2〜4の転送用デー タ・バ
ス(OHE 、5OUB 、5EQB)を指示する。O
RB 、5CUB 、8EQBは、RARにより指定さ
れた各ユニット2〜4のレジスタの演算ユニツ)lへの
転送、あるいは演算ユニット1から各ユニット2〜4の
レジスタへの転送を指定することになる。
..., as well as channel BAR (HR
AIIL), one control RAR (SRAR), sequence control RAR (QRAR), etc. are arbitrarily specified to specify it+r, and each unit 2 to 4 transfer data bus (OHE, 5OUB, 5EQB) is specified. do. O
RB, 5CUB, and 8EQB designate the transfer of the register of each unit 2 to 4 specified by RAR to the arithmetic unit)l, or the transfer from the arithmetic unit 1 to the register of each unit 2 to 4.

第3図(&)(b)は、本発明の実施例を示すRARと
その付j4回路のブロック図、およびRARのビット内
容説明図である。
FIG. 3(b) is a block diagram of an RAR and its attached j4 circuit showing an embodiment of the present invention, and a diagram explaining the bit contents of the RAR.

RAR13Fi、各ユニット2〜4に独立して設ゆられ
、マイクロ命令によって各凡ムBが独自に昏 指示される。RAR13に対しては、結果データ・バス
(ZB)11からマイクロ命令により任意の値をセフ)
できる他、命令を実行するに当って初期値を設定するこ
とができる。 また、RAR13の内容は、カウンタ1
δによりプラス1あるいはマイナス1された後、その更
新された値がフイーレドパツタされてBAR13にセッ
トされる・第a霞(bzに示すように、jlAR13は
例えばbピッ)で構成され、1ビツトのコントロール・
ピッ)(0〒L)と養ピッシのレジスタ・コード(00
(1・)からなる。 コントロール・ビット(0〒L)
は、カウントの抑止/許可を制御し、レジスタ・コード
(0(14・)Fi鰻大16個のレジスタの選択に使用
する。 RAR13にセットさくた内容は、ソース・デ
コーダ18によりデコードされ、演算ユニット1への転
送レジスタが選択される。t+、、RAR13の内容は
、半マシン・サイクル徒にディレィRAR(DRAR)
14にランチされ、それによってディスデネーション・
デコーダ17によりデコードされて、演件ユニット1か
らの転送レジスタが選択される。
RAR13Fi is installed independently in each unit 2 to 4, and each unit B is independently instructed by a microinstruction. For RAR13, any value can be saved from the result data bus (ZB) 11 using a microinstruction)
In addition, initial values can be set when executing instructions. In addition, the contents of RAR13 are the contents of counter 1.
After being incremented by 1 or minus 1 by δ, the updated value is field-puttered and set in BAR13. It is composed of a-th Kasumi (as shown in bz, jlAR13 is, for example, b-pit), and controls 1 bit.・
Pi) (0〒L) and Yo Pissi register code (00
It consists of (1.). Control bit (0〒L)
is used to control the suppression/enablement of counting and select the register code (0(14.)Fi 16 registers. The contents set in the RAR13 are decoded by the source decoder 18 and calculated. The transfer register to unit 1 is selected.t+, the contents of RAR13 are delayed RAR (DRAR) in half a machine cycle.
Lunch was held on the 14th, thereby making the Destiny
It is decoded by the decoder 17 and the transfer register from the program unit 1 is selected.

カウンタ15は、現在の値にプラス1を行い、RARを
使用した間接指定があると、そのカウントした鎗をRム
R13にフィードバックしてセットする。
The counter 15 adds 1 to the current value, and when there is an indirect designation using RAR, the counted spear is fed back to the RM R13 and set.

イニシャライズ手段16は、命令の開始時に、RAR1
3を“0“、あるいは特宇の命令の場合には、ある定数
に初期設定する。
The initializing means 16 initializes the RAR1 at the start of the instruction.
3 is initialized to "0" or, in the case of a special instruction, to a certain constant.

第4図は、第3図のRARの動作説明図であり、第5図
はディレィRARの動作タイ人チャートである。 各ユ
ニット2〜4のすべてのレジスタは、各ユニットごとに
4ビツトのコードが割り当てられ、このコードがlζA
R13にセクトされたききに選択指定される。 したが
って、異なるユニットのレジスタに、11復するコード
が!+り当てられて−何ら差し支えない。
FIG. 4 is an explanatory diagram of the operation of the RAR shown in FIG. 3, and FIG. 5 is a Thai chart of the operation of the delay RAR. All registers in each unit 2 to 4 are assigned a 4-bit code for each unit, and this code is
It is selected and designated when it is sected to R13. Therefore, there is a code that repeats 11 times in the registers of different units! + Assigned - There is no problem.

いま、第4図に示すように、チャネル−」鉛二二ッ)4
内にORI〜CH909個のレジスタが存在し−それぞ
れoooo”−;xooo”  が割り当てられている
場合、マイクロ命令の8Yフイールドで“1000 が
指定されると、第2図(b)に示すように、チャネル、
RAR(nuAR)13が選択される◎ この場合、命
令を実行する前の準備期間に、イニシャライズ手段16
によって例えば、“0000 が初期設定されていれば
、レジスタ(CHl)が指定され、次にマイクロ命令の
8Yフイールドで1001  が指示されると、第2図
(b)にしたがってチャネル・データ・バス(OHB)
101が選択されて、レジスタ(CHI)の内容が11
データ・バス(]1EB)を通って一演算ユニット1に
転送される・ ところで、−鮫゛に、レジスタの使用方法としては、o
al、cH2tcn3・・・の順序で回−ユニット内の
レジスタを確保して使用するようなマイクロ・プログラ
ムが多いので、この場合には、前のコードをプラス1す
れd次に指定されるレジスタのフードとなる。
Now, as shown in Figure 4, the channel
If there are 909 registers from ORI to CH in the file, and they are assigned oooo"-;xooo", if "1000" is specified in the 8Y field of the microinstruction, the ,channel,
RAR (nuAR) 13 is selected ◎ In this case, the initialization means 16 is selected during the preparation period before executing the instruction.
For example, if "0000" is initialized, the register (CHl) is specified, and then 1001 is specified in the 8Y field of the microinstruction, the channel data bus ( OHB)
101 is selected and the contents of the register (CHI) become 11.
It is transferred to one arithmetic unit 1 through the data bus (1EB). By the way, the way to use registers is as follows:
There are many microprograms that reserve and use registers in the circuit unit in the order of al, cH2tcn3, etc., so in this case, add 1 to the previous code and use the next specified register. It becomes a hood.

嬉番図では、最初のコード“oooo” が選択され、
レジスタ(CHI)の内容が転送されると同時に、II
RAR13の内容が自重ノ的にプラス1された飴に更新
されるので“OOO1”″ に対応するレジスタ(OH
2)が指定される。 マイクロ命令で“1001 が指
示されて、レジスタ(CHl2)の内容が演算ユニット
1に転送されると、直ちにHRARl3の内容がプラス
1されたV″0010に更新され、レジスタ(OH3)
が指定窟れる・このようにして、番号順にレジスタカニ
&保され、高速度で演算が行われる。
In the Hibanzu, the first code “oooo” is selected,
At the same time as the contents of register (CHI) are transferred, II
Since the contents of RAR13 are updated to candy with +1 added due to its own weight, the register corresponding to “OOO1” (OH
2) is specified. When "1001" is specified by the microinstruction and the contents of the register (CHl2) are transferred to the arithmetic unit 1, the contents of HRARl3 are immediately updated to V''0010, which is +1, and the contents of the register (OH3) are transferred.
In this way, the registers are stored in numerical order and calculations are performed at high speed.

また、プログラムの1中であれば、マイクロ・プログラ
ムにより演算の結果データ・バス(zB)11を通して
任意の値をHRAR13にセットできる。 例見ば、”
0111  がセットされると、そのコードに対応する
レジスタ(OHM)が蟲択され、マイクロ命令による転
送指示でレジスタ(CH8)の内容が演算ユニツ)1に
転送される・このとき、次にレジスタ(OH9)を指定
する場合には、あらかじめHRARl3のコントロール
・ピッ) (0’!’L)を 1にしておけば、自動的
に“Ol l l”がプラス1されて“1000” か
HRA凰13にセットされる・tな、次にレジスタ(O
H9)を再び指定するときには、あらおじめHRムII
L13のコントロール・ビット (OT L)を“0に
しておけば、プラスlatすることなく、前の値がその
ままHRARl 3にセントされる。また、次に、レジ
スタ(OH9)以外のレジスタを指定すると亀には、マ
イタp・プログラムによりデータ・バス(ZB)11を
通して任意の値をHRARl3にセクトすればよ―。
Further, if it is in one of the programs, an arbitrary value can be set in the HRAR 13 through the arithmetic result data bus (zB) 11 by the micro program. For example,”
When 0111 is set, the register (OHM) corresponding to that code is selected, and the contents of register (CH8) are transferred to operation unit (CH8) 1 by a transfer instruction by a microinstruction. When specifying OH9), if you set the control pitch (0'!'L) of HRARl3 to 1 in advance, "Ol l l" will be automatically incremented by 1 and will become "1000" or HRA凰13. is set to ・t, then the register (O
When specifying H9) again, it is necessary to
If the control bit (OT L) of L13 is set to "0," the previous value will be sent to HRAR13 as it is without being incremented.Also, if a register other than register (OH9) is specified next, For the turtle, just select any value to HRAR13 through the data bus (ZB) 11 using the miter p program.

なお、kムR13のコントロール・ビット(CTL)が
“l のとき、カウンタ1δでマイナス1して、順次O
H9,0)18 、OH7・・・の順に指定することも
できる。 さらに、コントロール・ビット(OT L)
を2ビツトに増加してコ01のときプラス1.”10 
 のときマイナス1.’00のときそのtまの−にする
こともできる0このように8五Rがカウント機能を具伽
するので、2回目以降のマイクロ命令はチャネル・デ−
タ・パス(OII B )の指示を連続して発行するだ
けでよく、マイクロ・プログラムの桐或はきわめて簡単
となる。 なお、第4図では、チャネル制御ユニット4
について説明したが、池のユニッシ2#3にクーても全
く同じである。 また、第4図では、ユニット4内のレ
ジスタ数が9@の場合を示しているが、16個以上存在
する場合には4ビツトで指定で也る範囲を越えるため、
ビット数を増加すればよく、マイクロ命令のビット数と
8ム凡のビット数を一致させる必要はない。 した力2
つて、ユニット内のレジスタ数を増減しても、RARの
ビット数を増減するのみで、マイクロ命令のビット長に
Vi無関係にすることができる。
Furthermore, when the control bit (CTL) of km R13 is "l", the counter 1δ is decremented by 1, and O
They can also be specified in the order of H9,0)18, OH7... Additionally, the control bit (OTL)
is increased to 2 bits, and when ko is 01, plus 1. ”10
Minus 1. When it is '00, it can also be changed to - for that t. 0 In this way, the 85R has a counting function, so the second and subsequent microinstructions will be the channel data.
It is only necessary to issue the instructions of the data path (OII B) continuously, which makes the micro program extremely simple. In addition, in FIG. 4, the channel control unit 4
I explained about this, but it is exactly the same even if you coo at the pond's Unisshi 2 #3. In addition, although Fig. 4 shows the case where the number of registers in unit 4 is 9@, if there are 16 or more registers, it exceeds the range that can be specified with 4 bits.
It is only necessary to increase the number of bits, and there is no need to match the number of bits of the microinstruction with the number of bits of the microinstruction. power 2
Therefore, even if the number of registers in the unit is increased or decreased, Vi can be made independent of the bit length of the microinstruction by simply increasing or decreasing the number of RAR bits.

第6図(&) (b)に示すように、マイクロ命令を実
行する場合、1マシン・サイクル(IMC)の翳り半で
ソース(&OE)レジスタの内容が読み出され1t7R
牛のサイクルでデイステネーション(DEN)レジスタ
に書き込まれる。 したがって、前のサイクルのデイス
テネーション・レジスタの一択と次のサイクルのソース
・レジスタのiv(は時fi++ 的にmtする。 第
5図(6)に示すように、RARkmセットされる値が
“00017.“0010″ と更新されると、第51
.j(d)に示すようり、I)lζAnには半サイクル
遅れて“QOOl”′、“0010″ がセットされ、
さらに半サイクル存れたタイミングでカウンタ15によ
りプラス1されて、RA TLの値が更新される。
As shown in FIG. 6 (&) (b), when a microinstruction is executed, the contents of the source (&OE) register are read out in half of one machine cycle (IMC) and 1t7R.
Written to the destination (DEN) register in the cow cycle. Therefore, the selection of the destination register in the previous cycle and the source register iv (in the next cycle) are mt at the time fi++. As shown in FIG. 5 (6), the value set to RARkm is “00017.”0010”, the 51st
.. As shown in j(d), “QOOl”′, “0010” is set in I)lζAn after a half cycle delay,
After another half cycle, the counter 15 increments the value by 1 and updates the value of RATL.

第6図は本発明の実施例を示すマイクロ・プログラムの
70−チャートであり、第7図は第6図のマイクロ・プ
ログラムのタイム・チャートである。
FIG. 6 is a 70-chart of a micro program showing an embodiment of the present invention, and FIG. 7 is a time chart of the micro program shown in FIG.

第6[(A)は実行途中におけるチャネル・ユニットの
間接指定のマイクロ命令列を示し、第6図(3)は実行
開始時にお妙る記憶制御ユニットのr&lI接指定のマ
イタロ命令列を示している。
Figure 6 (A) shows a microinstruction sequence that indirectly specifies the channel unit during execution, and Figure 6 (3) shows a microinstruction sequence that indirectly specifies the storage control unit at the beginning of execution. There is.

第6図囚においては、ステップ(υでnRAHに’)K
?に4をセットし、ステップ■ではHRAR−4で指定
されるレジスタをローカル・ストレージLSに転送し、
ステップ■では、H)LARの内容はステップ■でCB
Bをソース指定L fcことにょ9番から5にカウント
・アップされているので、HRAR−5で指定されるレ
ジスタをローカル・ストレージL8に転送する。 ステ
ップ(勾、(■では、同じようにして、HRAR−6,
7で示すレジスタの内容をローカル・ストレージL8に
転送する。
In Figure 6, the step (υ to nRAH')K
? Set 4 to 4, and in step ■ transfer the register specified by HRAR-4 to the local storage LS,
In step ■, the contents of H) LAR are converted to CB in step ■.
Since the source designation Lfc has been counted up from number 9 to 5, the register designated by HRAR-5 is transferred to the local storage L8. Step (gradient, (■), in the same way,
The contents of the register indicated by 7 are transferred to local storage L8.

第7図(→は、上述した第6図(4)におけるHRA几
の内容の更新されるタイミングを示しており、ステップ
2.3,4.5の各マシン・サイクルでHRムRの内容
はそれぞれ4.5,6.7となる・この場合、ソース・
レジスタの選択であるため、DHILARの内容は使用
されない。
FIG. 7 (→ indicates the timing at which the contents of the HRA box in FIG. 6 (4) described above are updated, and the contents of the HRA box are updated in each machine cycle of steps 2.3 and 4.5. 4.5 and 6.7 respectively. In this case, the source
Since this is a register selection, the contents of DHILAR are not used.

次に、第6図(2)は、命令の開始からのマイクロ・プ
ロダテ^を示しており、記憶制御ユニット(80U)の
11RARFi第7図伽)のよう、に、8に初期設定さ
れてしる。ステップ(1)、でDSRA”−8で示すレ
ジスタにローカル・スジレージL8からデータが転送さ
れ、8RARFi8から9にカウント・アップされる。
Next, Figure 6(2) shows the micro-product data from the start of the instruction, and it is initialized to 8, as in 11RARFi of the storage control unit (80U) (Figure 7). Ru. In step (1), data is transferred from the local streakage L8 to the register indicated by DSRA''-8, and the count is increased from 8RARFi8 to 9.

したがって、ステップ■では18fLAR−9で指定さ
れるレジスタの内容が胃−。
Therefore, in step (2), the contents of the register specified by 18fLAR-9 are -.

カル・スジレージL8に転送され、S RA RFil
oにカウント・アップされる。
Transferred to Cal Susilage L8, S RA RFil
It is counted up to o.

第7WJ(@)に示すように、D8RAR&:はX?7
プ(1)の後半のサイクルで8がセットされ、ステップ
■の後半のサイクルで9がセットされるが、このDII
RAHの9はソース・レジスタの指定であるため使用さ
れない。
As shown in the 7th WJ (@), D8RAR&: is X? 7
8 is set in the latter cycle of step (1), and 9 is set in the latter cycle of step (2), but this DII
RAH 9 is not used because it specifies the source register.

なお、#!6図■のステップ■およびステップ(優では
、他のマイクロ命令の実行が行われ、このSLムRに対
してはマイクロ命令が売行されないので、嬉7図伽)(
O)に示すように、その1マシン・サイクルは制御され
ず、同じ値を保持する。
In addition,#! Step ■ and Step (Execution of other microinstructions in Figure 6) and Step (Execution of other microinstructions are performed in Figure 6, and no microinstructions are sold to this SL, so Figure 7) (
As shown in O), that one machine cycle is uncontrolled and holds the same value.

このように、連続マシン・すイタルてな(ても、fq−
zエツト内でレジスタが番号順に使用される場合に、高
速制御が可能となる。
In this way, the continuous machine
Fast control is possible if registers are used in numerical order within the z-set.

館6[@で祉、WJ期値が8となっているが、命令の種
類によ−、その命令が使用するレジスタ番号に初期11
!してお(ことができるのけ勿論である。し友がって、
マイクロ・プログラムで8ムRに常歌をセットすること
なく、命令開始時からその命令に必W′Ikレジスタが
選択されているので、RARの設定による性能低下はな
い。また、RARによるレジスタ選択を行う度ごとに、
RARの内容がカウント・アップするので、1度のRA
Rの設定によに、レジスタ番号を処理順に付加しておけ
ば、連続的にレジスタが選択でき、これによってRAR
への常数設定による性能低下を防ぐことがで龜る。
Building 6 [@, WJ initial value is 8, but depending on the type of instruction, the initial register number used by that instruction is 11.
! Of course you can do that.
Since the required W'Ik register is selected for the instruction from the start of the instruction without setting the constant value to 8mR in the microprogram, there is no performance deterioration due to the RAR setting. Also, each time you select a register using RAR,
Since the contents of RAR count up, one RA
If register numbers are added in the processing order to the R settings, registers can be selected consecutively, which allows RAR
This makes it easier to prevent performance degradation due to constant settings.

以上の方法によって、従来、マイクロ命令で直′接指定
していたレジスタも、間接指定を行うことが可能とな9
、マイクロ命令で直接指定しなければならないレジスタ
の数が大幅に減少する。
By using the above method, it is now possible to indirectly specify registers that were previously specified directly by microinstructions.
, the number of registers that must be directly specified with microinstructions is greatly reduced.

実施例では、マイタロ命令の8Yフイールドは番ビフト
であり1マイクロ命令で直接指定した場合にけ、指定可
能なレジスタ数tf16個であるが、4 ユ= 7 )
 f) RA Rで間接指定することにより、RARで
選択可能なレジスタ数が64個(16個X4−−ニット
)となる。 もし、80個のレジスタt*接指定すれば
、7ビツトが必要であるのに対して、本発明で#′1R
ARを用いて4ビツトで指定できるので、差引3ビツト
の低減となる。
In the embodiment, the 8Y field of the Mitaro instruction is number bit, and the number of registers tf that can be specified is 16 if it is directly specified with one microinstruction, but 4Y = 7).
f) RA By indirectly specifying with R, the number of registers that can be selected with RAR becomes 64 (16 x 4 - nits). If 80 registers t* are specified, 7 bits are required, but in the present invention, #'1R
Since it can be specified using 4 bits using AR, the reduction is 3 bits.

以上説明したように、本発明によれば、カウント機能を
有するRARを用−てレジスタの間接指定を行うので、
マイクロ命令のビット数の低域が可能であり、制御記憶
の容置を減少で龜る・★た、鼠ムaのビット数は増減可
能であや、性能向上のためにデータ処ma置内のレジス
タ数を増加)る場合、マイクロ命令のピッ)数の変更な
しで孤彊が可能である。さらに、マイクロ命令による直
贅指定のレジスタ厳か減少するので、凡ムRによるデコ
ードをあらかじめ完了させておくことができ、デコード
の簡単化によりマシン・すイタ慶の111m化が可能と
なる0
As explained above, according to the present invention, indirect specification of registers is performed using RAR having a counting function.
It is possible to reduce the number of microinstruction bits, increasing the control memory space by reducing the number of bits in the microinstruction. When increasing the number of registers, isolation is possible without changing the number of microinstructions. Furthermore, since the registers specified by the microinstruction are drastically reduced, the decoding by the BomR can be completed in advance, and the simplification of decoding makes it possible to make the machine Suita-kei 111m.

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

第1図はマイタロ・プログチ五制御の中央処纏装置の一
例を示すブロック図、第2図は本発明の実施例を示すマ
イクロ命令のレジスタ遥択用コードの説VN図、第3図
は本発明の実施例を示すRARとその付属回路のブロッ
ク図とRAHのビット内容説明図、第4図は第3図のR
AILの動作説明図、第6図はディレィRAHの動作タ
イム・チャート、第6図は本発明の実施例を示すマイク
ロ・ブセグラムのフローチャート、第7藺は第6図のマ
イクロ・プログラムの実行動作タイム・チャートである
。 1:演算ユニット、2:記憶制御ユニット、3ニジ−ケ
ンス制御ユニット、4:チャネル制御ユニット、5:ロ
ーカル・ストレージ(LS) 、6:1IliF算器、
7:レジスタ群、8=xバス、9+YA7..1.0=
Eバx、11:Zバス、12=−rイクロ命令、13:
レジスタ・アドレスΦレジスタ(RAR) 、14 :
ディレイRAR(DRAR)、16:カウンタ、16:
イニシヤライザ、17:デイステ本−シ゛輩ン・デコー
ダ、18:ソース・デコーダ、101:ユニット・デー
タ・パス。 第1図 第2図 (a) ]2 第3図 17  18 第4図 第5図 fdl I)RARo o o      ()()(
)1     ”Qj−Q−! Q−−’−−−−第6
図 ■) 第7図
Fig. 1 is a block diagram showing an example of a central processing unit for Mytalo-Proguchi five control, Fig. 2 is a VN diagram of a microinstruction register selection code showing an embodiment of the present invention, and Fig. A block diagram of RAR and its attached circuits showing an embodiment of the invention, and a diagram explaining the bit contents of RAH, FIG. 4 is the R of FIG.
An explanatory diagram of AIL operation, Fig. 6 is an operation time chart of delay RAH, Fig. 6 is a flowchart of a micro busegram showing an embodiment of the present invention, and Fig. 7 is an execution operation time of the micro program in Fig. 6.・It is a chart. 1: Arithmetic unit, 2: Storage control unit, 3 Nisiken control unit, 4: Channel control unit, 5: Local storage (LS), 6: 1IliF calculator,
7: register group, 8=x bus, 9+YA7. .. 1.0=
E bus x, 11: Z bus, 12 = -r microinstruction, 13:
Register address Φ register (RAR), 14:
Delay RAR (DRAR), 16: Counter, 16:
Initializer, 17: Destination main-sequence decoder, 18: Source decoder, 101: Unit data path. Figure 1 Figure 2 (a) ] 2 Figure 3 17 18 Figure 4 Figure 5 fdl I) RARo o o () () (
)1 ``Qj-Q-! Q--'---6th
Figure ■) Figure 7

Claims (1)

【特許請求の範囲】[Claims] マイクロ・プログラムによゐ制−を行うデータ処理装菫
において、演算に用いるレジスタを間接的に指定するレ
ジスタ・アドレス・レジスタIL備し、該レジスタ・ア
ドレス・レジスタに対して指定すべ龜レジスタに対応す
る値を命令実行開始時に初期設定するか、ある−は実行
i中に!イク買・プログラムにより設定し、設定された
値に対応するレジスタが選択されると、上記レジスタ・
アドレス・レジスタの値をカウント・アップある−はカ
ウント・ダウンすることを特徴とするレジスタ選択方式
In a data processing system that is controlled by a micro program, it is equipped with a register address register IL that indirectly specifies the register used for calculations, and corresponds to the register specified for the register address register. The value to be initialized at the start of instruction execution, or - is during execution i! When the register corresponding to the set value is selected by the immediate purchase program, the above register
A register selection method characterized by counting up or down the value of an address register.
JP13936181A 1981-09-04 1981-09-04 Register selecting system Granted JPS5840668A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13936181A JPS5840668A (en) 1981-09-04 1981-09-04 Register selecting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13936181A JPS5840668A (en) 1981-09-04 1981-09-04 Register selecting system

Publications (2)

Publication Number Publication Date
JPS5840668A true JPS5840668A (en) 1983-03-09
JPH0363091B2 JPH0363091B2 (en) 1991-09-30

Family

ID=15243532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13936181A Granted JPS5840668A (en) 1981-09-04 1981-09-04 Register selecting system

Country Status (1)

Country Link
JP (1) JPS5840668A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687808B2 (en) 2001-08-01 2004-02-03 Nec Electronics Corporation Data processor using indirect register addressing
JP2008535065A (en) * 2005-03-24 2008-08-28 クゥアルコム・インコーポレイテッド Indirect register read and write operations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687808B2 (en) 2001-08-01 2004-02-03 Nec Electronics Corporation Data processor using indirect register addressing
JP2008535065A (en) * 2005-03-24 2008-08-28 クゥアルコム・インコーポレイテッド Indirect register read and write operations

Also Published As

Publication number Publication date
JPH0363091B2 (en) 1991-09-30

Similar Documents

Publication Publication Date Title
US3418638A (en) Instruction processing unit for program branches
US4131943A (en) Microprogrammed computer employing a decode read only memory (DROM) and a microinstruction read only memory (ROM)
DE2837852C2 (en) Processor for the simultaneous determination and provision of two addresses of command and / or data word registers of a main memory that can be addressed in areas
EP0149213B1 (en) Vector processor
US4118776A (en) Numerically controlled machine comprising a microprogrammable computer operable with microprograms for macroinstructions and for inherent functions of the machine
JPS6230651B2 (en)
GB2030742A (en) Microprocessor having plural internal data buses
US4763246A (en) Microprogram control
JPS61107431A (en) Arithmetic unit
DE69629646T2 (en) METHOD FOR CARRYING OUT A "ROTATE THROUGH CARRY" OPERATION
JPS5840668A (en) Register selecting system
EP3419214B1 (en) Processor with secure hash algorithm and digital signal processing method with secure hash algorithm
US4032895A (en) Electronic data processing computer
CA2016145C (en) Control device having a function of modifying a micro instruction
US3245044A (en) Automatic program suspension system
EP0169030A2 (en) Data processing circuit for calculating either a total sum or a total product of a series of data at a high speed
JPH0345420B2 (en)
SE456051B (en) DIGITAL PROCESSOR DEVICE PROVIDED FOR PIPELINE DATA PROCESSING OPERATIONS
JPS5819953A (en) Microprogram controlling system
EP0671683A1 (en) Improved circuit arrangement of data processing system
JP3055139B2 (en) Micro program control method
US5062036A (en) Instruction prefetcher
EP0240870A2 (en) Instruction prefetch unit
JPS5697173A (en) Operation processing system by mask
Approv I Approve