JPH0253139A - Register file controller - Google Patents
Register file controllerInfo
- Publication number
- JPH0253139A JPH0253139A JP63204335A JP20433588A JPH0253139A JP H0253139 A JPH0253139 A JP H0253139A JP 63204335 A JP63204335 A JP 63204335A JP 20433588 A JP20433588 A JP 20433588A JP H0253139 A JPH0253139 A JP H0253139A
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- port
- register file
- field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010586 diagram Methods 0.000 abstract description 6
- 238000000034 method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 1
Abstract
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
本発明は、マイクロプログラム制御方式の計算機に於い
て、仮想3ポートレジスタフアイルを実現し、1マイク
ロ命令でレジスタファイル内の3種のレジスタを指定可
能としたレジスタファイル制御装置に関する。[Detailed Description of the Invention] [Objective of the Invention] (Industrial Field of Application) The present invention realizes a virtual 3-port register file in a computer using a microprogram control method, and writes data in the register file with one microinstruction. The present invention relates to a register file control device that can specify three types of registers.
(従来の技術)
従来、マイクロプログラム制御方式の算術論理演算回路
(以下ALUと称す)に於いては、マイクロ命令コード
に設定した2つのレジスタ番号により、レジスタファイ
ルからそれぞれ対応するレジスタのデータを演算対象と
して読み出し、この各データをALUで演算して、その
結果のデー夕を再びレジスタファイルに格納するという
制御が行なわれる。(Prior Art) Conventionally, in a microprogram-controlled arithmetic logic circuit (hereinafter referred to as ALU), data in corresponding registers is calculated from a register file using two register numbers set in a microinstruction code. Control is performed such that each data is read out as a target, each data is operated on by the ALU, and the resulting data is stored in the register file again.
第4図は従来の構成によるレジスタファイル及びALU
とその周辺の回路構成を示すブロック図である。Figure 4 shows the register file and ALU in the conventional configuration.
FIG. 2 is a block diagram showing the circuit configuration of the main unit and its peripheral circuitry.
ここでは、マイクロ命令コード43のCフィールド及び
Dフィールドにそれぞれ設定されているレジスタ番号の
うち、Cフィールドのレジスタ番号がレジスタファイル
42のAポートに入力され、Dフィールドのレジスタ番
号が同じくレジスタファイル42のBポートに入力され
る。レジスタファイル42はAポートが示すレジスタの
データDAとBポートが示すレジスタのデータDBを読
み出し、ALU41に出力する。ALU41は上記各デ
ータ(D^、 DB)を演算処理して、その結果のデー
タをレジスタファイル42に出力する。レジスタファイ
ル42は、このデータをBポートが示すレジスタへ格納
する。Here, among the register numbers set in the C field and D field of the microinstruction code 43, the register number of the C field is input to the A port of the register file 42, and the register number of the D field is also input to the register file 42. is input to the B port of The register file 42 reads data DA of the register indicated by the A port and data DB of the register indicated by the B port, and outputs them to the ALU 41. The ALU 41 performs arithmetic processing on each of the above data (D^, DB) and outputs the resulting data to the register file 42. The register file 42 stores this data in the register indicated by the B port.
従って、2種類のレジスタの演算結果を他のレジスタへ
ストアする場合は、演算結果をBポートが示すレジスタ
に一時スドアし、その後、目的とするレジスタへ転送す
ることで実現できる。Therefore, when storing the operation results of two types of registers in other registers, this can be achieved by temporarily storing the operation results in the register indicated by the B port, and then transferring them to the target register.
(発明が解決しようとする課題)
このように、2ポートのレジスタファイルでは、一方の
ポート(第4図の例ではBポート)が読み出しと書込み
の両機能を兼ねるため、ソースデータを保持する一方の
レジスタの内容は必ず演算結果のデータに書換えられて
しまう。従って、従来では、2Fl類のレジスタの演算
結果を他のレジスタへストアする場合、上記したデータ
の書換えによる不具合を回避するため、ソースデータを
他のレジスタヘセーブしてから演算を実行していた。こ
のため従来では2種類のレジスタの演算結果を他のレジ
スタへストアするとき、ソースデータを他のレジスタヘ
セーブするマイクロ命令処理が別途必要となり、マイク
ロプログラム量、処理速度等の面で問題があった。(Problem to be Solved by the Invention) In this way, in a two-port register file, one port (Port B in the example in Figure 4) has both read and write functions, so one The contents of the register will always be rewritten with the data of the operation result. Therefore, conventionally, when storing the operation result of a 2F class register to another register, the source data was saved to another register and then the operation was executed in order to avoid the problems caused by data rewriting described above. . For this reason, conventionally, when storing the operation results of two types of registers to other registers, separate microinstruction processing was required to save the source data to the other registers, which caused problems in terms of microprogram size, processing speed, etc. Ta.
本発明は上記実情に鑑みなされたもので、マイクロプロ
グラム制御方式の計算機に於いて、仮想3ポートレジス
タフアイルを実現し、1マイクロ命令でレジスタファイ
ル内の3種のレジスタを指定可能として、2柾類のレジ
スタの演算とその演算結果を他のレジスタにストアする
動作をマイクロプログラム処理の1ステツプで実行でき
るレジスタファイル制御装置を提供するもので、これに
よりマイクロプログラム量を削減でき処理速度の向上が
図れる。The present invention was made in view of the above-mentioned circumstances, and it realizes a virtual 3-port register file in a computer using a microprogram control system, and allows specifying three types of registers in the register file with one microinstruction. The present invention provides a register file control device that can perform operations on similar registers and store the operation results in other registers in one step of microprogram processing, thereby reducing the amount of microprograms and improving processing speed. I can figure it out.
[発明の構成]
(課題を解決するための手段及び作用)本発明は、2ポ
ートの2組のレジスタファイルと、マイクロ命令コード
のレジスタフィールドに設定された、演算結果の格納先
レジスタ番号を指定する特定フィールドを含む2種類の
レジスタ番号をレベルによって選択するアドレスセレク
タと、このアドレスセレクタにより選択されたレジスタ
フィールドのレジスタ番号とマイクロ命令コードの他の
レジスタフィールドに設定されたレジスタ番号を上記レ
ジスタファイルの各ポートに選択的に供給するレベル制
御手段と、上記レジスタファイルから読み出されたデー
タをポート別に選択し演算データとしてALUに供給す
るデータセレクタと、ALUより出力された演算結果の
データを上記レジスタファイルの上記特定フィールドで
指定するレジスタに書込む手段とを有し、マイクロプロ
グラム上は3つのポートをもつ1つのレジスタファイル
と見做して、1マイクロ命令でレジスタファイル内の3
種のレジスタを指定可能としたもので、これにより、2
種類のレジスタの演算とその演算結果を他のレジスタに
ストアする動作をマイクロプログラム処理の1ステツプ
で実行でき、マイクロプログラムを簡素化して処理を高
速化できる。[Structure of the Invention] (Means and Effects for Solving the Problems) The present invention provides two sets of register files with two ports, and specifies the storage destination register number of the operation result set in the register field of the microinstruction code. An address selector that selects two types of register numbers depending on the level, including a specific field to be stored, and an address selector that selects the register number of the register field selected by this address selector and the register number set in the other register field of the microinstruction code to the above register file. level control means for selectively supplying data to each port of the above; a data selector that selects data read from the register file for each port and supplies the data to the ALU as calculation data; It has a means for writing to the register specified by the above-mentioned specific field of the register file, and it is regarded as one register file with three ports on the microprogram, and three ports in the register file can be written with one microinstruction.
It is possible to specify the seed register, which allows 2
Operations on different types of registers and operations for storing the operation results in other registers can be executed in one step of microprogram processing, thereby simplifying the microprogram and speeding up the processing.
(実施例) 以下図面を参照して本発明の一実施例を説明する。(Example) An embodiment of the present invention will be described below with reference to the drawings.
第1図は本発明の一実施例によるレジスタファイル制御
装置の構成を示すブロック図である。FIG. 1 is a block diagram showing the configuration of a register file control device according to an embodiment of the present invention.
第1図に於いて、1はデータセレクタ7.8から出力さ
れた演算対象となるデータを受けて、同データの算術論
理演算を実行するALU (算術論理演算回路)である
。In FIG. 1, reference numeral 1 denotes an ALU (arithmetic logic circuit) which receives data to be operated on outputted from the data selector 7.8 and executes arithmetic and logic operations on the same data.
2及び3はそれぞれ2ポートのレジスタファイルである
。このうちレジスタファイル2は、A1ポートが示すレ
ジスタの内容をデータDAIとしてセレクタ7へ、B1
ポートが示すレジスタの内容をデータDBIとしてセレ
クタ8へそれぞれ出力する。更に、レベル制御部6から
のレベル信号DLVI、によりライトイネーブルとなり
、ALUIの出力データ(演算結果のデータ)を書込む
。ここではこのレジスタファイル2のレベルを“0”(
LVLO)とする。又、レジスタファイル3は、A2ポ
ートが示すレジスタの内容をデータDA2としてセレク
タ7へ、B2ポートが示すレジスタの内容をデータDB
2としてセレクタ8へそれぞれ出力する。更に、レベル
制御部6からのレベル信号ELVLによりライトイネー
ブルとなり、ALUIの出力データを書込む。ここでは
このレジスタファイル3のレベルを′1” (LVLI
)とする。2 and 3 are two-port register files, respectively. Of these, the register file 2 sends the contents of the register indicated by the A1 port to the selector 7 as data DAI.
The contents of the register indicated by the port are output to the selector 8 as data DBI. Further, the level signal DLVI from the level control unit 6 enables write, and the output data of ALUI (data of the calculation result) is written. Here, the level of this register file 2 is set to “0” (
LVLO). In addition, the register file 3 sends the contents of the register indicated by the A2 port as data DA2 to the selector 7, and sends the contents of the register indicated by the B2 port to the data DB.
2 and output to the selector 8, respectively. Furthermore, the level signal ELVL from the level control unit 6 enables write, and the output data of ALUI is written. Here, the level of this register file 3 is '1' (LVLI
).
4及び5は上記レジスタファイル2,3のレジスタ指定
アドレスを選択するアドレスセレクタである。このうち
、アドレスセレクタ4は、レベル制御部6からのレベル
信号DLVLに従い、マイクロ命令コード9のDフィー
ルド又はEフィールドを選択し、レジスタファイル2の
81ポートへ送出する。又、アドレスセレクタ5は、レ
ベル制御部Bからのレベル信号ELVLに従い、マイク
ロ命令コード9のDフィールド又はEフィールドを選択
し、レジスタファイル3の82ポートへ送出する。4 and 5 are address selectors for selecting register designation addresses of the register files 2 and 3. Among these, the address selector 4 selects the D field or the E field of the microinstruction code 9 according to the level signal DLVL from the level control section 6 and sends it to the 81 port of the register file 2. Further, the address selector 5 selects the D field or the E field of the microinstruction code 9 according to the level signal ELVL from the level control section B, and sends it to the 82 port of the register file 3.
6はレジスタファイル2.3内の各レジスタのレベル(
“0”/“1°)を保持するレベル制御部6であり、マ
イクロ命令コード9のCフィールドが示すレジスタのレ
ベルをDLVLとして、Dフィールドが示すレジスタの
レベルをDLVLとして、それぞれ各機能部へ出力する
。又、レジスタの書換えが行なわれた場合は、そのレジ
スタ(E)(−ルドが示すレジスタ)のレベルをELV
L (DI、VLの論理否定)に書換える。即ち、レベ
ル制御部6は、レジスタファイル2,3の各レジスタに
対応して1ビツトのレベル保持部を有し、このレベル保
持部のうちのEフィールドが示すレジスタに対応するレ
ベル保持部のレベル(’O@/“1”)をELVL (
DLVLの論理否定)に書換える。6 is the level of each register in register file 2.3 (
It is a level control unit 6 that maintains a value of “0”/“1°), and the level of the register indicated by the C field of the microinstruction code 9 is set as DLVL, and the level of the register indicated by the D field is set as DLVL, and is sent to each functional unit, respectively. In addition, when a register is rewritten, the level of that register (E) (the register indicated by the - field) is set to ELV.
Rewrite to L (logical negation of DI and VL). That is, the level control section 6 has a 1-bit level holding section corresponding to each register of the register files 2 and 3, and the level of the level holding section corresponding to the register indicated by the E field of the level holding section ('O@/“1”) to ELVL (
Rewrite it to (logical negation of DLVL).
7はレベル制御部6からのレベル信号CLVL(“0”
/“1#)に従い、レジスタファイル2のA1ポートの
指定による出力データDA1、又はレジスタファイル3
のA2ポートの指定による出力データDA2を選択し、
演算対象データとしてALUIに送出するデータセレク
タであり、CLVL−“0#のときデータDAIを選択
し、CLVL−“1”のときデータDA2を選択する。7 is a level signal CLVL (“0”) from the level control unit 6.
/“1#), output data DA1 specified by port A1 of register file 2, or register file 3
Select the output data DA2 specified by the A2 port of
This is a data selector that is sent to ALUI as data to be calculated, and selects data DAI when CLVL-“0#” and selects data DA2 when CLVL-“1”.
8はレベル制御部6からのレベル信号DLVL(“0“
/“11)に従い、レジスタファイル2の81ポートの
指定による出力データDBI、又はレジスタファイル3
の82ポートの指定による出力データDB2を選択し、
演算対象データとしてALUIに送出するデータセレク
タであり、DLVL−“0”のときデータDBIを選択
し、D L V I、−′1#のときデータD日2を選
択する。8 is a level signal DLVL (“0”) from the level control unit 6.
/ According to “11), output data DBI specified by port 81 of register file 2 or register file 3
Select output data DB2 by specifying 82 ports of
This is a data selector that is sent to ALUI as data to be calculated, and selects data DBI when DLVL-“0”, and selects data D day 2 when DLVL-“1#”.
9はマイクロ命令コードであり、この実施例では、Cフ
ィールドをAポート指定のソースレジスタ、Dフィール
ドをBポート指定のソースレジスタ、EフィールドをB
ポート指定の書込み用レジスタのための領域と定義する
。9 is a microinstruction code, and in this embodiment, the C field is the source register designated for A port, the D field is the source register designated for B port, and the E field is designated as B port.
Define this area as an area for port-specified write registers.
第2図は上記実施例の動作を説明するためのマイクロプ
ログラムの処理ステップを示すフローチャートである。FIG. 2 is a flowchart showing the processing steps of a microprogram for explaining the operation of the above embodiment.
図中、Slはro11J番地のマイクロプログラムの処
理ステップであり、ここでは、レジスタ#O(RO)と
レジスタ#1(R1)の内容を加算し、その結果をレジ
スタ#2 (R2)にストアする(RO+R1→R2)
。In the figure, Sl is the processing step of the microprogram at address ro11J. Here, the contents of register #O (RO) and register #1 (R1) are added and the result is stored in register #2 (R2). (RO+R1→R2)
.
第3図は上記第2図に於ける各レジスタ(ROlRl、
R2)のレベルをマイクロプログラムのr011J番地
とro12J番地を例に示したもので、「011」列が
上記フローチャートのr011J番地実行時の各レジス
タ(RO,R1゜R2,・・・)のレベル、「012」
列が上記フローチャートのro 12J番地実行時の上
記各レジスタのレベルである。Figure 3 shows each register (ROlRl,
The level of R2) is shown using addresses r011J and ro12J of the microprogram as an example, and the "011" column shows the level of each register (RO, R1°R2,...) at the time of execution of address r011J in the above flowchart. "012"
The columns indicate the levels of each of the above registers at the time of execution at address ro 12J in the above flowchart.
ここで、上記した第1図乃至第3図を参照して一実施例
の動作を説明する。Here, the operation of one embodiment will be explained with reference to the above-mentioned FIGS. 1 to 3.
マイクロ命令コード9のC−Cフィールドには、レジス
タファイル2.3内の指定レジスタ番号が設定されてい
る。第2図に示すマイクロプログラムのro11J番地
(ステップSりを実行するとき、各フィールドの内容は
、Cフィールド−rOJ、Dフィールド−rlJ、Eフ
ィールド−「2」である。即ち、Cフィールドにはレジ
スタ#0 (RO)を指定するためのデータrOJ 、
Dフィールドにはレジスタ#1(R1)を指定するため
のデータ「1」、Cフィールドにはレジスタ#2 (R
2)を指定するためのデータ「2」がそれぞれ設定され
ている。The designated register number in the register file 2.3 is set in the C-C field of the microinstruction code 9. Address ro11J of the microprogram shown in FIG. Data rOJ for specifying register #0 (RO),
The D field contains data “1” to specify register #1 (R1), and the C field contains data “1” to specify register #2 (R
Data "2" for specifying 2) is set respectively.
上記マイクロ命令コード9のCフィールドのデータは、
レジスタファイル2.3のAポート(AIポート、A2
ポート)に導かれて、この各レジスタファイル2,3か
らCフィールドで指定したレジスタ#0のデータ(DA
I、DA2)が読み出される。このレジスタファイル2
のレジスタ#0から読み出されたデータ(DAI)とレ
ジスタファイル3のレジスタ#0からから読み出された
データ(DA2)は共にデータセレクタ7に入力され、
そのいずれか一方のデータ(DAI/DA2)がレベル
信号CLVL (“0”/“1”)に従って選択される
。The C field data of the above microinstruction code 9 is:
Register file 2.3 A port (AI port, A2
The data of register #0 specified by the C field is transferred from each register file 2 and 3 to
I, DA2) is read out. This register file 2
The data (DAI) read from register #0 of register file 3 and the data (DA2) read from register #0 of register file 3 are both input to data selector 7,
One of the data (DAI/DA2) is selected according to the level signal CLVL (“0”/“1”).
又、上記マイクロ命令コード9のDフィールドのデータ
とCフィールドのデータはそれぞれアドレスセレクタ4
.5とレベル制御部6に供給される。Further, the data in the D field and the data in the C field of the microinstruction code 9 are respectively sent to the address selector 4.
.. 5 and is supplied to the level control section 6.
レベル制御部6は、Dフィールドのデータに従うレジス
タ#i (R1)のレベル信号DLVLをアドレスセレ
クタ4へ送出し、その論理否定のレベルi 号ELVL
をアドレスセレクタ5へ送出する。The level control unit 6 sends the level signal DLVL of the register #i (R1) according to the data of the D field to the address selector 4, and outputs the level signal DLVL of the logical negation of the register #i (R1).
is sent to the address selector 5.
ここでは、第2図に示す「011」番地(ステップSL
)の処理実行時に於いて、レジスタ#1(R1)のレベ
ルが1″であることから、レベル信号DLVLが“1”
、レベル信号ELVLが“0#であり、これによりアド
レスセレクタ4がCフィールドを選択し、アドレスセレ
クタ5がDフィールドを選択する。Here, address "011" (step SL) shown in FIG.
), the level signal DLVL is "1" because the level of register #1 (R1) is "1".
, the level signal ELVL is "0#", so that the address selector 4 selects the C field and the address selector 5 selects the D field.
アドレスセレクタ4で選択されたCフィールドのデータ
はレジスタファイル2の81ポートに供給され、アドレ
スセレクタ5で選択されたDフィールドのデータはレジ
スタファイル3のB2ポートに供給される。The data of the C field selected by the address selector 4 is supplied to the 81 port of the register file 2, and the data of the D field selected by the address selector 5 is supplied to the B2 port of the register file 3.
レジスタファイル2は上記B1ポートに供給されたCフ
ィールドのデータからレジスタ#2(R2)の内容をデ
ータDBIとして出力し、レジスタファイル3は上記B
2ポートに供給されたDフィールドのデータからレジス
タ#1(R1)の内容をデータDB2として出力する。Register file 2 outputs the contents of register #2 (R2) as data DBI from the C field data supplied to the B1 port, and register file 3 outputs the contents of register #2 (R2) as data DBI.
The contents of register #1 (R1) are output as data DB2 from the D field data supplied to port 2.
この各データ(DBI、DB2)はデータセレクタ8に
供給される。Each of the data (DBI, DB2) is supplied to the data selector 8.
又、レベル制御部6は、Cフィールドのデータに従うレ
ジスタ#0 (RO)のレベル信号CLVLをデータセ
レクタ7へ送出し、Dフィールドのデータに従うレジス
タ#1(R1)のレベル信号DLVLをデータセレクタ
8へ送出する。Further, the level control unit 6 sends the level signal CLVL of register #0 (RO) according to the data of the C field to the data selector 7, and sends the level signal DLVL of the register #1 (R1) according to the data of the D field to the data selector 8. Send to.
こ、こでは、第2図に示すro 11J番地(ステップ
SL)の処理実行時に於いて、レジスタ#0(RO)の
レベルが0” レジスタ#1(R1)のレベルが上記し
た如く “1”であることから、データセレクタ7がレ
ジスタファイル2より出力されたデータDAIを選択し
、データセレクタ8がレジスタファイル3より出力され
たデータDB2を選択して、それぞれALUIに送出す
る。Here, when executing the process at address ro 11J (step SL) shown in FIG. 2, the level of register #0 (RO) is "0" and the level of register #1 (R1) is "1" as described above. Therefore, the data selector 7 selects the data DAI output from the register file 2, and the data selector 8 selects the data DB2 output from the register file 3, and sends them to the ALUI.
即ち、ここでは、マイクロ命令コード9のCフィールド
で指定されたレジスタ#0 (RO)のデータとDフィ
ールドで指定されたレジスタ#1(R1)のデータがそ
れぞれ演算対象データとしてALUIに供給される。That is, here, the data of register #0 (RO) specified by the C field of microinstruction code 9 and the data of register #1 (R1) specified by the D field are each supplied to ALUI as operation target data. .
ALUIは上記レジスタファイル2より出力されたデー
タDAIとレジスタファイル3より出力されたデータD
B2をロードして、同データを演算処理し、その演算結
果のデータをレジスタファイル2及びレジスタファイル
3の各データ入力端に送出する。ALUI is data DAI output from register file 2 and data D output from register file 3.
B2 is loaded, the data is subjected to arithmetic processing, and the data resulting from the arithmetic operation is sent to each data input terminal of register file 2 and register file 3.
この際、レジスタファイル2のライトイネーブルはレベ
ル信号DLVLで制御され、レジスタファイル3のライ
トイネーブルはレベル信号ELVLで制御される。ここ
では上記したように、レベル信号ELVI、が“0”
レベル信号DLVLが“11であることから、レジスタ
ファイル3への書込みが禁止され、レジスタファイル2
への書込みが許可されて、上記ALUIより出力された
演算結果のデータが、レジスタファイル2内のEフィー
ルドで指定されたレジスタ#2 (R2)に書込まれる
。At this time, the write enable of the register file 2 is controlled by the level signal DLVL, and the write enable of the register file 3 is controlled by the level signal ELVL. Here, as mentioned above, the level signal ELVI is "0"
Since the level signal DLVL is "11", writing to register file 3 is prohibited, and register file 2
The data of the operation result output from the ALUI is written to the register #2 (R2) specified by the E field in the register file 2.
一方、レベル制御部6は上記Eフィールドが示すレジス
タ#2のレベル値としてレベル信号ELVL(ここでは
’o’ >を書込む。On the other hand, the level control unit 6 writes the level signal ELVL ('o' in this case) as the level value of the register #2 indicated by the E field.
即ち、ALUIの出力データを書込4だレジスタがレジ
スタファイル2側であれば′0”がそのレジスタのレベ
ルとしてレベル制御部6の上記レジスタに対応する1ビ
ツトのレベル記憶領域に保持され、レジスタファイル3
側であれば“1”が上記同様にそのレジスタのレベルと
して保持される。That is, if the register in which the output data of ALUI is written is on the register file 2 side, '0' is held as the level of that register in the 1-bit level storage area corresponding to the above register of the level control unit 6, and the register is File 3
If it is on the side, "1" is held as the level of that register in the same way as above.
この実施例では、第2図に示すフローチャートのr01
1J番地の処理の開始の際、レジスタ#2 (R2)の
レベルが第3図に示す如く “1″であったが、「01
1」番地の処理実行後は、レジスタファイル2側のレジ
スタ#2が書換えられたため、ro12J番地ではレジ
スタ#2 (R2)のレベルが“0”になる。In this embodiment, r01 in the flowchart shown in FIG.
At the start of processing at address 1J, the level of register #2 (R2) was “1” as shown in Figure 3, but it became “01”.
After execution of the process at address 1, register #2 on the register file 2 side has been rewritten, so the level of register #2 (R2) becomes "0" at address ro12J.
このように、2ポートのレジスタファイルを2組設けて
レベル制御によりレジスタを選択制御し、マイクロプロ
グラム上は3つのポートをもつ1つのレジスタファイル
と見做して、1マイクロ命令でレジスタファイル内の3
種のレジスタを指定可能な構成としたことにより、2種
類のレジスタの演算とその演算結果を他のレジスタにス
トアする動作をマイクロプログラム処理の1ステツプで
実行でき、マイクロプログラムを簡素化して処理を高速
化できる。In this way, two sets of two-port register files are provided, registers are selected and controlled by level control, and in the microprogram, it is regarded as one register file with three ports, and one microinstruction can be used to control the register file contents. 3
By adopting a configuration in which the type of register can be specified, operations on two types of registers and storing the operation results in other registers can be performed in one step of microprogram processing, simplifying the microprogram and processing. It can be made faster.
[発明の効果]
以上詳記したように本発明のレジスタファイル制御装置
によれば、演算対象となるソースデータ及び演算結果の
データを貯えるそれぞれが2ポート構成をなす一対のレ
ジスタファイルと、この一対のレジスタファイルの各一
方のポートに、マイクロ命令コードの特定フィールドで
指定したレジスタ番号を供給する回路と、上記一対のレ
ジスタファイルの他方のポートに、上記マイクロ命令コ
ードの特定フィールドを除く2つのフィールドを選択対
象として上記各レジスタファイル別に選択したフィール
ドで指定したレジスタ番号を供給するセレクタと、上記
一対のレジスタファイルの各一方のポートに対応する読
み出しデータを選択対象とするデータセレクタ、及び上
記一対のレジスタファイルの各他方のポートに対応する
読み出しデータを選択対象とするデータセレクタと、こ
の各データセレクタで選択されたデータが演算対象とし
て与えられ、演算結果のデータを上記一対のレジスタフ
ァイルに送出する算術論理演算回路と、上記各セレクタ
を選択制御しレジスタファイルを書込み制御する制御回
路とを備え、マイクロプログラム上は3つのポートをも
つ1つのレジスタファイルと見做して、1マイクロ命令
でレジスタファイル内の3種のレジスタを指定可能な構
成としたことにより、2種類のレジスタの演算とその演
算結果を他のレジスタにストアする動作をマイクロプロ
グラム処理の1ステツプで実行でき、マイクロプログラ
ムを簡素化して処理を高速化できる。[Effects of the Invention] As detailed above, according to the register file control device of the present invention, a pair of register files each having a two-port configuration for storing source data to be calculated and data of a calculation result, and A circuit that supplies the register number specified by the specific field of the microinstruction code to each port of the register file, and two fields other than the specific field of the microinstruction code to the other port of the pair of register files. a selector that supplies a register number specified in a field selected for each register file as a selection target; a data selector that selects read data corresponding to one port of each of the pair of register files; A data selector that selects the read data corresponding to each other port of the register file, and the data selected by each data selector is given as an operation target, and the data of the operation result is sent to the above pair of register files. It is equipped with an arithmetic logic operation circuit and a control circuit that selects and controls each of the selectors mentioned above and controls writing to the register file, and on a microprogram, it is regarded as one register file with three ports, and one microinstruction can write the register file. By having a configuration in which three types of registers can be specified, operations on two types of registers and storing the operation results in other registers can be performed in one step of microprogram processing, simplifying microprograms. can speed up processing.
第1図は本発明の一実施例によるレジスタファイル制御
装置の構成を示すブロック図、第2図は上記実施例の動
作を説明するためのマイクロプログラムの処理ステップ
を示すフローチャート、第3図は上記第2図に於ける各
レジスタ(ROlRl、R2)のレベルをマイクロプロ
グラムのr011J番地とro 12J番地を例に示す
図、第4図は従来のレジスタファイル制御装置の構成を
示すブロック図である。
■・・・ALU (算術論理演算回路)、 2.3・・
・レジスタファイル(2ポート構成)、 4.5・・・
アドレスセレクタ、B・・・レベル制御部、7.8・・
・データセレクタ、9・・・マイクロ命令コード。
出願人代理人 弁理士 鈴江武彦
第
図
第
図FIG. 1 is a block diagram showing the configuration of a register file control device according to an embodiment of the present invention, FIG. 2 is a flowchart showing the processing steps of a microprogram to explain the operation of the above embodiment, and FIG. A diagram showing the levels of each register (ROlRl, R2) in FIG. 2 using addresses r011J and ro12J of a microprogram as an example, and FIG. 4 is a block diagram showing the configuration of a conventional register file control device. ■...ALU (arithmetic logic circuit), 2.3...
・Register file (2 port configuration), 4.5...
Address selector, B...level control section, 7.8...
・Data selector, 9...Micro instruction code. Applicant's Representative Patent Attorney Takehiko Suzue
Claims (1)
貯えるそれぞれが2ポート構成をなす一対のレジスタフ
ァイルと、この一対のレジスタファイルの各一方のポー
トに、マイクロ命令コードの特定フィールドで指定した
レジスタ番号を供給する回路と、上記一対のレジスタフ
ァイルの他方のポートに、上記マイクロ命令コードの特
定フィールドを除く2つのフィールドを選択対象として
上記各レジスタファイル別に選択したフィールドで指定
したレジスタ番号を供給するセレクタと、上記一対のレ
ジスタファイルの各一方のポートに対応する読み出しデ
ータを選択対象とするデータセレクタ、及び上記一対の
レジスタファイルの各他方のポートに対応する読み出し
データを選択対象とするデータセレクタと、この各デー
タセレクタで選択されたデータが演算対象として与えら
れ、演算結果のデータを上記一対のレジスタファイルに
送出する算術論理演算回路と、上記各セレクタを選択制
御しレジスタファイルを書込み制御する制御回路とを具
備してなることを特徴とするレジスタファイル制御装置
。A pair of register files, each of which has a two-port configuration, stores the source data to be operated on and the data of the operation result, and a register number specified in a specific field of the microinstruction code is assigned to each port of this pair of register files. a circuit for supplying the register, and a selector for supplying, to the other port of the pair of register files, the register number specified in the field selected for each of the register files, with two fields other than the specific field of the microinstruction code as selection targets; , a data selector that selects read data corresponding to one port of the pair of register files, and a data selector that selects read data corresponding to the other port of the pair of register files; an arithmetic and logic operation circuit that receives data selected by each data selector as an operation target and sends the resultant data to the pair of register files; and a control circuit that selects and controls each of the selectors and controls writing to the register file. A register file control device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63204335A JPH0253139A (en) | 1988-08-17 | 1988-08-17 | Register file controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63204335A JPH0253139A (en) | 1988-08-17 | 1988-08-17 | Register file controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0253139A true JPH0253139A (en) | 1990-02-22 |
Family
ID=16488794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63204335A Pending JPH0253139A (en) | 1988-08-17 | 1988-08-17 | Register file controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0253139A (en) |
-
1988
- 1988-08-17 JP JP63204335A patent/JPH0253139A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100447294B1 (en) | Vector register file with arbitrary vector addressing | |
JP2905446B2 (en) | Data string generation method, computer operation method, pixel value set generation method, and computer | |
JPH0414385B2 (en) | ||
JPH06124352A (en) | Data-driven information processing device | |
KR970016872A (en) | Programmable controller | |
US7441099B2 (en) | Configurable SIMD processor instruction specifying index to LUT storing information for different operation and memory location for each processing unit | |
KR100765567B1 (en) | Data processor, multimedia device and computer readable recording medium having arithmetic logic unit and stack | |
JPH0673105B2 (en) | Instruction pipeline type microprocessor | |
JP2690406B2 (en) | Processor and data processing system | |
JPH0253139A (en) | Register file controller | |
JP5145659B2 (en) | Vector renaming method and vector computer | |
US5893928A (en) | Data movement apparatus and method | |
JP2883489B2 (en) | Instruction processing unit | |
JP2883488B2 (en) | Instruction processing unit | |
JPS5995646A (en) | Arithmetic control system | |
JP2842024B2 (en) | Register file circuit | |
JPS62226336A (en) | Microprogram control system | |
JP2576589B2 (en) | Virtual storage access control method | |
JPH03100829A (en) | Computer containing program | |
JPH04271432A (en) | Operand designating method and central arithmetic processing unit using this method | |
JPS6028014B2 (en) | microprocessor | |
JPH03164935A (en) | Arithmetic processor | |
JPS62143176A (en) | Vector register access control method | |
JPH0241522A (en) | Function arithmetic processor | |
JPS61241836A (en) | Storage device |