JPH0738157B2 - Register selection method - Google Patents

Register selection method

Info

Publication number
JPH0738157B2
JPH0738157B2 JP5316786A JP5316786A JPH0738157B2 JP H0738157 B2 JPH0738157 B2 JP H0738157B2 JP 5316786 A JP5316786 A JP 5316786A JP 5316786 A JP5316786 A JP 5316786A JP H0738157 B2 JPH0738157 B2 JP H0738157B2
Authority
JP
Japan
Prior art keywords
operand
microprogram
address
micro
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
JP5316786A
Other languages
Japanese (ja)
Other versions
JPS62210542A (en
Inventor
弘司 飯田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP5316786A priority Critical patent/JPH0738157B2/en
Publication of JPS62210542A publication Critical patent/JPS62210542A/en
Publication of JPH0738157B2 publication Critical patent/JPH0738157B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はレジスタ選択方式に関し、特にマイクロプログ
ラム制御の情報処理装置におけるレジスタ選択方式に関
する。
The present invention relates to a register selection method, and more particularly to a register selection method in an information processing device under microprogram control.

〔従来の技術〕[Conventional technology]

従来、マイクロプログラム制御の情報処理装置における
レジスタ選択方式では、マイクロプログラム中で参照す
るレジスタの指定はマイクロプログラム自身がマイクロ
オペランドアドレスをオペランドポインタに格納し、ま
たはデコード部で実行するソフトウェア命令の解読を行
い得られたマイクロオペランドアドレスをソフトウェア
命令の実行開始に先立ってオペランドポインタに格納
し、このオペランドポインタのマイクロオペランドアド
レスをマイクロオペランドバスを介してマイクロオペラ
ンドデコーダに転送することによって行われていた。
Conventionally, in the register selection method in the information processing device of the microprogram control, the register referred to in the microprogram is specified by the microprogram itself by storing the microoperand address in the operand pointer or by decoding the software instruction executed by the decoding unit. The obtained micro-operand address is stored in the operand pointer before the execution of the software instruction is started, and the micro-operand address of the operand pointer is transferred to the micro-operand decoder via the micro-operand bus.

〔発明が解決しようとする問題点〕[Problems to be solved by the invention]

上述した従来のマイクロプログラム制御の情報処理装置
におけるレジスタ選択方式では、オペランドポインタ中
の1つのマイクロオペランドアドレスに対して参照でき
るレジスタは1つに限られていたので、例えば多倍長演
算命令のように1オペランドとして複数のレジスタを参
照する場合にはマイクロプログラムにより逐次オペラン
ドポインタの値を書き換えなければならず、制御記憶の
容量を増加させるとともにソフトウェア命令の実行時間
を増大させる欠点がある。
In the register selection method in the conventional microprogram-controlled information processing apparatus described above, since only one register can be referred to for one microoperand address in the operand pointer, for example, a multiple-precision arithmetic instruction When referring to a plurality of registers as one operand, the value of the operand pointer must be sequentially rewritten by the microprogram, which has the drawback of increasing the capacity of control storage and the execution time of software instructions.

本発明の目的は、上述の点に鑑み、オペランドポインタ
中の1つのマイクロオペランドアドレスに対して複数の
レジスタを参照することができるレジスタ選択方式を提
供することにある。
In view of the above points, an object of the present invention is to provide a register selection method capable of referring to a plurality of registers with respect to one micro-operand address in an operand pointer.

〔問題点を解決するための手段〕[Means for solving problems]

本発明のレジスタ選択方式は、マイクロプログラムを格
納する制御記憶と、デコード部でソフトウェア命令を解
読して得られたマイクロオペランドアドレスを前記ソフ
トウェア命令の実行開始時に格納するかまたは前記マイ
クロプログラムの制御によりデータバスの内容を格納す
るオペランドポインタと、前記マイクロオペランドアド
レスをマイクロオペランドデコーダに転送するマイクロ
オペランドバスとを備え、前記マイクロオペランドアド
レスを前記マイクロオペランドデコーダが解読すること
により参照すべきレジスタをアクセスするレジスタ選択
方式において、前記マイクロプログラムをその実行前毎
に保持するマイクロプログラムラッチと、前記マイクロ
オペランドアドレスの一部をベースアドレスとしてソフ
トウェア命令の実行開始に先立って格納するベースレジ
スタと、前記データバスから前記ベースレジスタへのデ
ータ転送ならびに前記マイクロプログラムラッチおよび
前記ベースレジスタから前記マイクロオペランドバスへ
の同時データ転送を制御するマイクロプログラム制御手
段とを有する。
According to the register selection method of the present invention, a control memory for storing a microprogram and a microoperand address obtained by decoding a software instruction in a decoding unit are stored at the start of execution of the software instruction or by control of the microprogram. An operand pointer for storing the contents of the data bus and a micro-operand bus for transferring the micro-operand address to the micro-operand decoder are provided, and the micro-operand decoder decodes the micro-operand address to access a register to be referred to. In the register selection method, a microprogram latch that holds the microprogram before each execution of the microprogram and a realization of a software instruction using a part of the microoperand address as a base address. A base register to be stored prior to starting, and a microprogram control means for controlling data transfer from the data bus to the base register and simultaneous data transfer from the microprogram latch and the base register to the microoperand bus. .

〔実施例〕〔Example〕

次に、本発明について図面を参照して説明する。 Next, the present invention will be described with reference to the drawings.

図は本発明の一実施例を示す構成図である。本実施例の
レジスタ選択方式は、マイクロオペランドアドレスのベ
ースアドレスを保持するベースレジスタ1と、制御記憶
(図示せず)からのマイクロプログラムを保持するマイ
クロプログラムラッチ2と、マイクロオペランドアドレ
スを保持するオペランドポインタ3と、マイクロプログ
ラムによって制御されるデータバス11と、ソースオペラ
ンドに対するマイクロオペランドアドレスをマイクロオ
ペランドデコーダ(図示せず)に転送するマイクロオペ
ランドソースバス18と、デストネーションオペランドに
対するマイクロオペランドアドレスをマイクロオペラン
ドデコーダに転送するマイクロオペランドデストネーシ
ョンバス19とから、その主要部が構成されている。
FIG. 1 is a block diagram showing an embodiment of the present invention. The register selection method of the present embodiment includes a base register 1 for holding a base address of a microoperand address, a microprogram latch 2 for holding a microprogram from a control memory (not shown), and an operand for holding a microoperand address. A pointer 3, a data bus 11 controlled by a microprogram, a microoperand source bus 18 for transferring a microoperand address for a source operand to a microoperand decoder (not shown), and a microoperand address for a destination operand by a microoperand. Its main part is composed of the micro-operand destination bus 19 transferred to the decoder.

オペランドポインタ3は、7ビット構成をとっており、
入力がデータバス11に接続されているとともに、信号線
12を介してデコード部(図示せず)に接続されている。
オペランドポインタ3の出力は、マイクロオペランドソ
ースバス18およびマイクロオペランドデストネーション
バス19に接続されている。
Operand pointer 3 has a 7-bit configuration,
The input is connected to the data bus 11 and the signal line
It is connected via 12 to a decoding unit (not shown).
The output of the operand pointer 3 is connected to the micro-operand source bus 18 and the micro-operand destination bus 19.

マイクロプログラムラッチ2は、ソースオペランド指定
用およびデストネーションオペランド指定用の各2ビッ
トずつ用意され、、4ビットの構成をとっている。マイ
クロプログラムラッチ2の入力は信号線13を介して制御
記憶に接続され、出力は信号線15ならびに出力信号線16
および17を介してマイクロオペランドソースバス18およ
びマイクロオペランドデストネーションバス19に接続さ
れている。
The micro program latch 2 is provided with 2 bits for each of the source operand specification and the destination operand specification, and has a 4-bit configuration. The input of the micro program latch 2 is connected to the control memory via a signal line 13, and the output is a signal line 15 and an output signal line 16
And 17 to micro-operand source bus 18 and micro-operand destination bus 19.

ベースレジスタ1は、5ビット長で構成されており、入
力が信号線12を介してデコード部に接続されているとと
もに、データバス11に接続されている。ベースレジスタ
1の出力は、信号線14ならびに出力信号線16および17を
介してマイクロオペランドソースバス18およびマイクロ
オペランドデストネーションバス19に接続されている。
The base register 1 has a length of 5 bits, and its input is connected to the decoding unit via the signal line 12 and also to the data bus 11. The output of the base register 1 is connected to the microoperand source bus 18 and the microoperand destination bus 19 via the signal line 14 and the output signal lines 16 and 17.

なお、5ビットの信号線14と4ビットの信号線15の各2
ビットとが一緒になって各7ビットの出力信号線16およ
び17となっている。
Note that each of the 5-bit signal line 14 and the 4-bit signal line 15 is 2
Together with the bits are 7 bit output signal lines 16 and 17, respectively.

また、符号20〜23はベースレジスタ1、マイクロプログ
ラムラッチ2およびオペランドポインタ3に対する書込
み許可信号、24〜27はベースレジスタ1、マイクロプロ
グラムラッチ2およびオペランドポインタ3に対する出
力許可信号をそれぞれ示す。
Reference numerals 20 to 23 denote write permission signals for the base register 1, micro program latch 2 and operand pointer 3, and reference numerals 24 to 27 denote output permission signals for the base register 1, micro program latch 2 and operand pointer 3, respectively.

次に、このように構成された本実施例のレジスタ選択方
式の動作について説明する。
Next, the operation of the register selection method of the present embodiment configured as described above will be described.

まず、デコード部からソフトウェア命令のマイクロオペ
ランドアドレスを与えられる場合について説明する。
First, a case where a micro-operand address of a software instruction is given from the decoding unit will be described.

デコード部から与えられるマイクロオペランドアドレス
は、信号線12を介してベースレジスタ1およびオペラン
ドポインタ3に転送される。書込み許可信号(INSTBG
N)21は、前ソフトウェア命令の実行終了時に出力さ
れ、現ソフトウェア命令の実行開始時にはベースレジス
タ1およびオペランドポインタ3の値は確定している。
The micro-operand address given from the decoding unit is transferred to the base register 1 and the operand pointer 3 via the signal line 12. Write enable signal (INSTBG
N) 21 is output at the end of execution of the previous software instruction, and the values of the base register 1 and operand pointer 3 are fixed at the start of execution of the current software instruction.

いま仮に、マイクロオペランドアドレスとして汎用レジ
スタ(GR)7を指す値である0000111B(Bは2進数であ
ることを示す。以下同様)がデコード部で指定されたと
すると、オペランドポインタ3には0000111Bが格納され
ており、ベースレジスタ1には00001Bが格納されてい
る。
If 0000111B (B indicates a binary number; the same applies hereinafter), which is a value indicating the general-purpose register (GR) 7, is designated as the micro-operand address by the decoding unit, 0000111B is stored in the operand pointer 3. Therefore, 00001B is stored in the base register 1.

現ソフトウェア命令が多倍長演算命令で1オペランドと
して4つのレジスタの参照が必要であるときには、マイ
クロプログラムではベースレジスタ1を用いたオペラン
ド指定を行う。ベースレジスタ1へのデータ転送は、デ
ータバス11を介してマイクロプログラム制御手段によっ
て書込み許可信号(BRWR)20を働かせて行う。ベースレ
ジスタ1への書込みは、ソフトウェア命令の実行開始時
やリードルーチン中で行うことができる。
When the current software instruction is a multiple precision arithmetic instruction and it is necessary to refer to four registers as one operand, the microprogram specifies the operand using the base register 1. Data transfer to the base register 1 is performed by operating the write enable signal (BRWR) 20 by the microprogram control means via the data bus 11. Writing to the base register 1 can be performed at the start of execution of a software instruction or in a read routine.

ベースレジスタ1には、ベースアドレスとして00001Bが
保持されているので、GR4〜GR7が参照可能である。これ
らGRのうちのいずれのレジスタを参照するかは、マイク
ロプログラムラッチ2に保持されている値によって定ま
る。
Since the base register 1 holds 00001B as the base address, GR4 to GR7 can be referenced. Which of these GR's is referred to is determined by the value held in the microprogram latch 2.

マイクロプログラム中でGR5の参照が指定されていたと
すれば、マイクロプログラムラッチ2のソースオペラン
ド側には01Bが保持され、マイクロプログラム制御手段
は出力許可信号(BR−S−SEL)25を働かせてマイクロ
オペランドソースバス18に0000101Bを出力する。このマ
イクロオペランドソースバス18上のマイクロオペランド
アドレスをマイクロオペランドデコーダがデコードして
GR5に対する参照を行うことができる。
If GR5 reference is designated in the microprogram, 01B is held on the source operand side of the microprogram latch 2 and the microprogram control means activates the output enable signal (BR-S-SEL) 25 to cause the microprogram to operate. 0000101B is output to the operand source bus 18. The microoperand decoder on the microoperand source bus 18 decodes the microoperand address.
References to GR5 can be made.

続いて、マイクロプログラム中でGR6の参照が指定され
ていたとすれば、マイクロプログラムラッチ2のソース
オペランド側には10Bが保持され、マイクロオペランド
ソースバス18には0000110Bが出力される。したがべて、
GR6の参照が行われる。
If GR6 is designated in the microprogram, 10B is held on the source operand side of the microprogram latch 2 and 0000110B is output to the microoperand source bus 18. Therefore,
GR6 is referenced.

以下同様にして、オペランドポインタ3を書き換えるこ
となく、ベースレジスタ1に格納されたベースアドレス
を用いることにより多倍長演算命令におけるオペランド
参照を順次行うことができる。
Similarly, the operand reference in the multiple precision arithmetic instruction can be sequentially performed by using the base address stored in the base register 1 without rewriting the operand pointer 3.

ソフトウェア命令が通常の命令で1オペランドについて
1レジスタの参照を行うときには、マイクロプログラム
ではオペランドポインタ3を用いたオペランド指定を行
う。オペランドポインタ3には0000111Bが保持されてい
るので、GR7の参照が可能である。マイクロプログラム
制御手段は、信号線(PR−S−SEL)24が働かせてGR7に
対する参照を行うことができる。
When a software instruction is an ordinary instruction and refers to one register for one operand, the operand is designated using the operand pointer 3 in the microprogram. Since 0000111B is held in the operand pointer 3, GR7 can be referenced. The microprogram control means can operate the signal line (PR-S-SEL) 24 to refer to GR7.

なお、上記動作の説明では、ソースオペランドとしてレ
ジスタを参照する場合について述べたが、デストネーシ
ョンオペランドとしてレジスタを参照する場合には、出
力許可信号25および24の代わりに、出力許可信号線(BR
−D−SEL)27および出力許可信号線(PR−D−SEL)26
を働かせるようにすればよい。
In the description of the above operation, the case where the register is referred to as the source operand has been described. However, when the register is referred to as the destination operand, instead of the output enable signals 25 and 24, the output enable signal line (BR
-D-SEL) 27 and output enable signal line (PR-D-SEL) 26
To work.

また、オペランドポインタ3およびベースレジスタ1は
データバス11にも接続されているので、マイクロプログ
ラム制御手段により信号線(BRWR)20や信号線(PRWR)
23を働かせてオペランドポインタ3およびベースレジス
タ1の内容を書き換えることができ、このようにするこ
とによってマイクロプログラムの実行中においてもオペ
ランドポインタ中の1つのマイクロオペランドアドレス
について複数のレジスタを参照することができる。
Further, since the operand pointer 3 and the base register 1 are also connected to the data bus 11, the signal line (BRWR) 20 and the signal line (PRWR) are set by the micro program control means.
23 can be operated to rewrite the contents of the operand pointer 3 and the base register 1. By doing so, it is possible to refer to a plurality of registers for one microoperand address in the operand pointer even during execution of the microprogram. it can.

〔発明の効果〕〔The invention's effect〕

以上説明したように本発明は、実行するマイクロプログ
ラムを保持するマイクロプログラムラッチとソフトウェ
ア命令の実行開始に先立ってマイクロオペランドアドレ
スのベースアドレスを保持するベースレジスタとを設け
ることにより、レジスタの参照を行うときにマイクロプ
ログラムラッチとベースレジスタとの情報をマイクロオ
ペランドアドレスとして用いることによって可変数のレ
ジスタを参照することが可能となり、制御記憶の容量の
減少と命令実行時間の短縮化とを図ることができる効果
がある。
As described above, the present invention refers to a register by providing a microprogram latch that holds a microprogram to be executed and a base register that holds the base address of a microoperand address prior to the start of execution of a software instruction. It is sometimes possible to refer to a variable number of registers by using the information of the microprogram latch and the base register as the microoperand address, and it is possible to reduce the capacity of the control memory and the instruction execution time. effective.

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

図は本発明のレジスタ選択方式の一実施例を示す構成図
である。 図において、 1…ベースレジスタ、2…マイクロプログラムラッチ、
3…オペランドポインタ、11…データバス、18…マイク
ロオペランドソースバス、19…マイクロオペランドデス
トネーションバスである。
FIG. 1 is a block diagram showing an embodiment of a register selection system of the present invention. In the figure, 1 ... Base register, 2 ... Microprogram latch,
3 ... Operand pointer, 11 ... Data bus, 18 ... Micro-operand source bus, 19 ... Micro-operand destination bus.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】マイクロプログラムを格納する制御記憶
と、デコード部でソフトウェア命令を解読して得られた
マイクロオペランドアドレスを前記ソフトウェア命令の
実行開始時に格納するかまたは前記マイクロプログラム
の制御によりデータバスの内容を格納するオペランドポ
インタと、前記マイクロオペランドアドレスをマイクロ
オペランドデコーダに転送するマイクロオペランドバス
とを備え、前記マイクロオペランドアドレスを前記マイ
クロオペランドデコーダが解読することにより参照すべ
きレジスタをアクセスするレジスタ選択方式において、 前記マイクロプログラムをその実行前毎に保持するマイ
クロプログラムラッチと、 前記マイクロオペランドアドレスの一部をベースアドレ
スとしてソフトウェア命令の実行開始に先立って格納す
るベースレジスタと、 前記データバスから前記ベースレジスタへのデータ転送
ならびに前記マイクロプログラムラッチおよび前記ベー
スレジスタから前記マイクロオペランドバスへの同時デ
ータ転送を制御するマイクロプログラム制御手段と、 を有することを特徴とするレジスタ選択方式。
1. A control memory for storing a microprogram and a microoperand address obtained by decoding a software instruction in a decoding unit are stored at the start of execution of the software instruction, or a microbus address of a data bus is controlled by the microprogram. A register selection system having an operand pointer for storing contents and a micro-operand bus for transferring the micro-operand address to the micro-operand decoder, and accessing the register to be referred to by the micro-operand decoder decoding the micro-operand address In a microprogram latch for holding the microprogram before each execution thereof, and prior to starting execution of a software instruction with a part of the microoperand address as a base address. A base register for storing the data, and microprogram control means for controlling data transfer from the data bus to the base register and simultaneous data transfer from the microprogram latch and the base register to the microoperand bus. Register selection method.
JP5316786A 1986-03-11 1986-03-11 Register selection method Expired - Lifetime JPH0738157B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5316786A JPH0738157B2 (en) 1986-03-11 1986-03-11 Register selection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5316786A JPH0738157B2 (en) 1986-03-11 1986-03-11 Register selection method

Publications (2)

Publication Number Publication Date
JPS62210542A JPS62210542A (en) 1987-09-16
JPH0738157B2 true JPH0738157B2 (en) 1995-04-26

Family

ID=12935297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5316786A Expired - Lifetime JPH0738157B2 (en) 1986-03-11 1986-03-11 Register selection method

Country Status (1)

Country Link
JP (1) JPH0738157B2 (en)

Also Published As

Publication number Publication date
JPS62210542A (en) 1987-09-16

Similar Documents

Publication Publication Date Title
JPH0414385B2 (en)
JPS58108552U (en) data processing equipment
JPS623461B2 (en)
JPS6122817B2 (en)
JPH034936B2 (en)
KR910001708B1 (en) Central processing unit
JPH0738157B2 (en) Register selection method
JPH1091593A (en) Data processor provided with microprocessor and optional calculation unit
JPS6148735B2 (en)
JP2883489B2 (en) Instruction processing unit
JPS61838A (en) Microprogram controller
JPH0545978B2 (en)
JPH0778730B2 (en) Information processing equipment
JPS62221030A (en) Microprogram control system
JPH0827711B2 (en) Microprocessor
JPH0241522A (en) Function arithmetic processor
JPS62210541A (en) Register selecting system
JPS6320631A (en) Register selecting system
JPS62251930A (en) Information processor
JPH0531170B2 (en)
JPS61267873A (en) Data processor
JPH0752416B2 (en) Microcomputer system
JPH01113806A (en) Sequence controller
JP2002140192A (en) Arithmetic processing unit
JPH01161436A (en) Arithmetic processor