Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0623976B2 - Vector register controller - Google Patents
[go: Go Back, main page]

JPH0623976B2 - Vector register controller - Google Patents

Vector register controller

Info

Publication number
JPH0623976B2
JPH0623976B2 JP59198701A JP19870184A JPH0623976B2 JP H0623976 B2 JPH0623976 B2 JP H0623976B2 JP 59198701 A JP59198701 A JP 59198701A JP 19870184 A JP19870184 A JP 19870184A JP H0623976 B2 JPH0623976 B2 JP H0623976B2
Authority
JP
Japan
Prior art keywords
vector
register
instruction
data
operand
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
JP59198701A
Other languages
Japanese (ja)
Other versions
JPS6177968A (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.)
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 JP59198701A priority Critical patent/JPH0623976B2/en
Publication of JPS6177968A publication Critical patent/JPS6177968A/en
Publication of JPH0623976B2 publication Critical patent/JPH0623976B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、ベクトルプロセツサに関し、特に、ベクトル
レジスタの割当機構に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vector processor, and more particularly to a vector register allocation mechanism.

〔発明の背景〕[Background of the Invention]

一般に、ベクトルプロセツサでは、演算対象や演算結果
のベクトルデータをベクトルレジスタに格納することに
よつて、主記憶との間のデータ転送回数を節減してい
る。ところが、演算が複雑になると、ベクトルレジスタ
の所要個数が増して、物理的に設置されたベクトルレジ
スタの個数よりも多くなるという事態が、しばしば発生
する。ベクトルコンパイラは、ステートメントの静的な
解析に基づいて、ベクトルデータのベクトルレジスタへ
の最適な割当てを試みるが、演算の進行につれて変化す
る動的な状況までも正確に把握することはできないか
ら、真に効率の良い割当てを期待することはできない。
Generally, in a vector processor, the number of data transfers to and from the main memory is reduced by storing vector data of an operation target and an operation result in a vector register. However, when the calculation becomes complicated, the number of vector registers required increases, and often exceeds the number of physically installed vector registers. The vector compiler attempts to optimally allocate vector data to vector registers based on the static analysis of statements, but cannot grasp even the dynamic conditions that change as the operation progresses. You cannot expect an efficient allocation for the.

例えば、次のような一連の命令があるとする。For example, assume the following sequence of instructions.

1) VR1←A(*) 2) VR2←B(*) 3) VR4←VR3*VR1 4) VR6←VR5+VR2 5) VR?←C(*) 第1命令はベクトルA(*)をベクトルレジスタ(以下
VRと略記)1にロードする命令であり、第2命令はベ
クトルB(*)をVR2にロードする命令である。第3
命令はVR3の内容とVR1の内容を乗算してその結果
をVR4に格納する命令であり、第4命令はVR5の内
容とVR2の内容を加算してその結果をVR6に格納す
る命令である。ここで、VRは6個しかなく、そして、
VR3〜VR6は以降の命令で使用する予定があるとす
ると、第5命令でベクトルC(*)をロードする先(V
R?)としては、VR1とVR2の2候補があるが、ど
ちらが先に解放されて再使用が可能となるかは、最近の
ベクトルプロセツサのように、複数の演算器が並行処理
を行う場合、実行時でなければ判定できない。ランダム
にVR1をこれに割当てたとすると、実際にはVR2の
方が先に解放されたときでも、第5命令の実行はVR1
の解放まで待たされるから、時間の空費となる。
1) VR1 ← A (*) 2) VR2 ← B (*) 3) VR4 ← VR3 * VR1 4) VR6 ← VR5 + VR2 5) VR? ← C (*) The first instruction is an instruction to load the vector A (*) into the vector register (hereinafter abbreviated as VR) 1, and the second instruction is an instruction to load the vector B (*) into VR2. Third
The instruction is an instruction for multiplying the contents of VR3 and the contents of VR1 and storing the result in VR4, and the fourth instruction is an instruction for adding the contents of VR5 and the contents of VR2 and storing the result in VR6. Here, there are only 6 VRs, and
If VR3 to VR6 are planned to be used in the subsequent instructions, the destination (V
R? ), There are two candidates, VR1 and VR2, but which one is released first and can be reused is executed when a plurality of arithmetic units perform parallel processing like a recent vector processor. It cannot be judged unless it is time. If VR1 is randomly assigned to this, even if VR2 is actually released first, the execution of the fifth instruction will be VR1.
It will be a waste of time because you will have to wait until the release of.

〔発明の目的〕[Object of the Invention]

本発明の目的は、VRの割当てを動的な状況に応じて自
動的に行なうことにより、前記のような時間の空費を防
ぎ、また、プログラムがVRの本数やそれらの割当てに
ついて考慮する必要を除くことにある。
An object of the present invention is to prevent VR from being wasted as described above by automatically allocating VRs according to a dynamic situation, and it is necessary for a program to consider the number of VRs and their allocation. Is to exclude.

〔発明の概要〕[Outline of Invention]

本発明は、プログラム命令上はベクトルレジスタを問題
にせず、ハードウエアによりベクトルレジスタの割当て
を行なうようにするものであり、そのために、ベクトル
レジスタデイレクトリに各ベクトルレジスタの割当て状
況を登録しておき、これを検索して、命令の指定するベ
クトルデータに割当てられたベクトルレジスタが存在す
るか否かをチエツクし、存在すれば当該ベクトルレジス
タ番号を用いてベクトルレジスタ群にアクセスし、存在
しなければ、リプレイスメント回路が、新たにベクトル
レジスタの割当てを行つて、その結果をベクトルレジス
タデイレクトリに登録するように、ベクトルレジスタ制
御装置を構成したものである。
According to the present invention, the vector register is not considered to be a problem on the program instruction, and the vector register is allocated by hardware. Therefore, the allocation status of each vector register is registered in the vector register directory. This is searched to check whether or not there is a vector register assigned to the vector data specified by the instruction. If it exists, the vector register number is used to access the vector register group. The replacement circuit configures the vector register control device so as to newly allocate the vector register and register the result in the vector register directory.

実施態様として、命令がベクトルデータ指示情報を保持
するベクトル指示レジスタ(実施例におけるDR)を指
定することによつて、間接的にベクトルデータを指定す
るとともに、ベクトルレジスタデイレクトリにおいて
も、各ベクトルレジスタに割当てられたベクトルデータ
を、前記ベクトル指示レジスタを特定することにより間
接的に特定する形式とすることができる。
As an embodiment, an instruction specifies a vector instruction register (DR in the embodiment) holding vector data instruction information to indirectly specify vector data, and also in the vector register directory, each vector register The assigned vector data can be indirectly specified by specifying the vector instruction register.

〔発明の実施例〕Example of Invention

以下に説明する実施例は、1個のベクトル演算器と16
個のVRを有するベクトルプロセツサについてのもので
ある。第2図は、本実施例における命令のフオーマツト
を示す。命令10の第1バイトは演算の種類を指定する
OPコードである。第2ないし第4バイトは、それぞ
れ、第1ないし第3オペランドのためのベクトル指示レ
ジスタ(Description Register、以下DRと略記)の番
号R〜Rを指定し、これらのDRは、それぞれのオ
ペランドの主記憶装置上の位置を示す情報を保持する。
第1オペランド位置は演算結果の格納先であり、第2及
び第3オペランド位置は演算を受けるデータの入手先で
ある。
In the embodiment described below, one vector calculator and 16
For a vector processor with 3 VRs. FIG. 2 shows the format of instructions in this embodiment. The first byte of the instruction 10 is an OP code that specifies the type of operation. The second to fourth bytes specify the numbers R 1 to R 3 of the vector instruction register (Description Register, hereinafter abbreviated as DR) for the first to third operands, and these DRs are the respective operands. Holds information indicating the position of the main storage device.
The first operand position is the storage destination of the operation result, and the second and third operand positions are the acquisition destination of the data to be operated.

DRは256個設けられているものとする。第3図に示
すように、DR11の内容は4部分からなる。「データ
タイプ」は、ベクトルのエレメントの長さとデータのタ
イプ(整数、浮動小数点表示等)を示す。「スタートア
ドレス」は、当該ベクトルの最初のエレメントの主記憶
装置におけるアドレスを示す。「増分値」は、当該ベク
トルのエレメント間に対する主記憶装置のアドレス増分
値を示す。「ベクトル長」は、当該ベクトルを構成する
エレメントの個数を示す。各DR11の内容は、演算の
開始に先立つて、然るべき命令群によりセツトされる。
It is assumed that 256 DRs are provided. As shown in FIG. 3, the content of DR11 consists of four parts. “Data type” indicates the length of the element of the vector and the type of data (integer, floating point display, etc.). The "start address" indicates the address of the first element of the vector in the main memory. The “increment value” indicates an address increment value of the main memory device between elements of the vector. The “vector length” indicates the number of elements forming the vector. The contents of each DR11 are set by the appropriate instruction group prior to the start of calculation.

第1図は、ベクトルプロセツサの全体的構成を示す。ベ
クトル命令制御ユニツト20内の命令レジスタ21か
ら、第1ないし第3オペランドを指定するDR番号が、
データ線22〜24を経て、DR−VR変換回路30に
送られる。DR−VR変換回路30は、これらのDR番
号に対応するVR番号を検索して、第1オペランドのた
めのVR番号をデータ線55を経て第1オペランドVR
書込制御回路50に与え、同様に、第2オペランド及び
第3オペランドのためのVR番号を、データ線56及び
57を経て、第2オペランドVR読出制御回路51及び
第3オペランドVR読出制御回路52に与える。
FIG. 1 shows the overall construction of the vector processor. From the instruction register 21 in the vector instruction control unit 20, the DR number designating the first to third operands is
It is sent to the DR-VR conversion circuit 30 via the data lines 22 to 24. The DR-VR conversion circuit 30 searches for the VR numbers corresponding to these DR numbers, and outputs the VR number for the first operand via the data line 55 to the first operand VR.
Similarly, the VR numbers for the second operand and the third operand are given to the write control circuit 50 and, via the data lines 56 and 57, the second operand VR read control circuit 51 and the third operand VR read control circuit 52. Give to.

第2オペランドと第3オペランドは、対応するVR読出
制御回路51と52の制御の下に、VR群43中の指定
されたVRからエレメントずつ同期して読出され、デー
タ線58と59を経て演算器44に入力される。演算結
果は、データ線60を経てVR群43に戻され、第1オ
ペランドVR書込制御回路50の制御の下に、所定のV
Rに書込まれる。
The second and third operands are synchronously read from the designated VR in the VR group 43 element by element under the control of the corresponding VR read control circuits 51 and 52, and are operated via the data lines 58 and 59. Input to the container 44. The operation result is returned to the VR group 43 via the data line 60, and under the control of the first operand VR write control circuit 50, a predetermined V
Written to R.

例えば、第2オペランドがVR群43中に存在しなかつ
た場合の動作は、次のようになる。まず、DR−VR変
換回路30は、データ線31を経て、第2オペランドを
指示するDRの内容をアドレス生成回路41に供給す
る。アドレス生成回路41は、受取つたDRの内容に基
づき、当該ベクトルの各エレメントのアドレスを順次生
成して、主記憶装置42に読出しを要求し、主記憶装置
42は、読出したデータ線61を経てVR群43に転送
する。その間、DR−VR変換回路30は、この読出さ
れた第2オペランドに新たに1個のVVRを割当てて、
そのVR番号を、データ線54を経てVR読出・書込制
御回路53に与え、当該VRに主記憶装置42から読出
された第2オペランドのベクトルデータを書込ませる。
同時に、このVR番号は第2オペランドVR読出制御回
路51にも与えられて、書込まれた第2オペランドはそ
のまま演算器44に供給される。
For example, the operation when the second operand does not exist in the VR group 43 is as follows. First, the DR-VR conversion circuit 30 supplies the content of DR indicating the second operand to the address generation circuit 41 via the data line 31. The address generation circuit 41 sequentially generates the address of each element of the vector based on the content of the received DR and requests the main memory device 42 to read the data. The main memory device 42 passes the read data line 61. Transfer to the VR group 43. Meanwhile, the DR-VR conversion circuit 30 newly allocates one VVR to the read second operand,
The VR number is applied to the VR read / write control circuit 53 via the data line 54 to write the vector data of the second operand read from the main storage device 42 into the VR.
At the same time, this VR number is also given to the second operand VR read control circuit 51, and the written second operand is supplied to the arithmetic unit 44 as it is.

第3オペランドがVR群43中に存在しなかつた場合
も、同様にして、主記憶装置42から読出したベクトル
データを、VR群43を経由して演算器44に供給す
る。
Even when the third operand does not exist in the VR group 43, similarly, the vector data read from the main storage device 42 is supplied to the arithmetic unit 44 via the VR group 43.

第1オペランドに割当てられたVRが存在しなかつた場
合、DR−VR変換回路30は、それに対するVRの割
当てを行い、そのVR番号をデータ線55を経て第1オ
ペランドVR書込制御回路50に供給して、当該VRに
演算結果を書込ませる。ただし、割当て可能なVRが少
なくなつた場合には、VRだけでなく、主記憶装置42
にも、第1オペランドの書込みが行われる。このとき、
DR−VR変換回路30は、データ線31を経て第1オ
ペランドを指示するDRの内容をアドレス生成回路41
に送り、アドレス生成回路41は、第1オペランドのベ
クトルの各エレメントのアドレスを順次生成して、主記
憶装置42に書込みを要求する。同時に、DR−VR変
換回路30は、第1オペランドVR書込制御回路50に
与えたVR番号を、データ線54を経て、VR読出・書
込制御回路53にも供給して、VRに書込んだ演算結果
をそのまま読出し、データ線62を経て主記憶装置42
に転送する。
If the VR assigned to the first operand does not exist, the DR-VR conversion circuit 30 assigns the VR to it and assigns the VR number to the first operand VR write control circuit 50 via the data line 55. It is supplied and the calculation result is written in the VR. However, when the allocatable VR decreases, not only the VR but also the main memory 42
Also, the writing of the first operand is performed. At this time,
The DR-VR conversion circuit 30 outputs the content of DR indicating the first operand via the data line 31 to the address generation circuit 41.
The address generation circuit 41 sequentially generates the addresses of the elements of the vector of the first operand and requests the main storage device 42 to write. At the same time, the DR-VR conversion circuit 30 also supplies the VR number given to the first operand VR write control circuit 50 to the VR read / write control circuit 53 via the data line 54 to write it in VR. The operation result is read as it is, and the main memory 42 is passed through the data line 62.
Transfer to.

ベクトル命令ユニツト20、アドレス生成回路41、主
記憶装置42、VR群43、演算器44、及びVRの読
出し・書込み等のための制御回路50〜53は、従来の
ものでよい。特開昭58−114274号公報はその一例を示
している。
The vector instruction unit 20, the address generation circuit 41, the main memory 42, the VR group 43, the arithmetic unit 44, and the control circuits 50 to 53 for reading / writing the VR may be conventional ones. Japanese Patent Laid-Open No. 58-114274 shows an example thereof.

DR−VR変換回路30の構成は、第4図に示されてい
る。DR群70は、256個のDR11からなるレジス
タ群であり、命令語レジスタ21の第2〜第4バイトの
出力22〜24、すなわち第1〜第3オペランドのDR
番号により指定されたDR11の内容が、データ線91
〜93にそれぞれ読出される。VRデイレクトリ(以下
VRDと略記)73は、各VRと一対一に対応する16
個のVRDレジスタ94からなる。各VRDレジスタ9
4は、第5図に示すように、対応するVRに格納された
ベクトルデータを特定するDR11の内容(データタイ
プ、データアドレス、増分値、ベクトル長)に加えて、
当該DRの番号と、有効性フラグと、再使用可能フラグ
とを保持する。これらの内、有効性フラグは、対応する
VRが未使用ならば、“0”で、何らかの有効データが
格納されると“1”となる。また、再使用可能フラグ
は、対応するVRが再使用(割当て)可能ならば“1”
で、不可ならば“0”となる。
The structure of the DR-VR conversion circuit 30 is shown in FIG. The DR group 70 is a register group including 256 DR11, and outputs 22 to 24 of the second to fourth bytes of the instruction word register 21, that is, DR of the first to third operands.
The content of DR11 designated by the number is the data line 91
To 93, respectively. The VR directory (hereinafter abbreviated as VRD) 73 has a one-to-one correspondence with each VR 16
It is composed of VRD registers 94. Each VRD register 9
4, as shown in FIG. 5, in addition to the contents (data type, data address, increment value, vector length) of DR11 that specifies the vector data stored in the corresponding VR,
The DR number, the validity flag, and the reusable flag are held. Of these, the validity flag is "0" when the corresponding VR is unused, and is "1" when some valid data is stored. The reusable flag is "1" if the corresponding VR can be reused (assigned).
Then, if it is not possible, it becomes “0”.

第4図は比較回路77〜79は、命令がDRを介して指
定したベクトルデータに割当てられたVRが存在するか
否か(第2及び第3オペランドの場合には当該ベクトル
データを保持するVRが存在するか否か)を判定するた
めのものである。これらの比較回路は、それぞれ16個
の比較器を備え、データ線74を経て、VRD73から
16個のVRDレジスタ94中のDR番号と有効性フラ
グとを同時に受取り、これらの16個の番号を、命令が
第1〜第3オペランドのために指定したDR番号(デー
タ線22〜24)とそれぞれ並列に比較して、一致があ
れば、その一致の生じた比較器の位置に基づいて対応す
るVR番号を生成する。そして、更に当該VRDレジス
タ中の有効性フラグが“1”であることを条件に、その
VR番号と一致成立を示す信号とを、データ線95〜9
7に送出する。この一致成立信号は、選択回路81〜8
3を制御して、当該VR番号を、データ線55〜57を
経て第1図のオペランドVR書込/読出制御回路50〜
52の該当する1つに供給する。それに加えて、第1オ
ペランドに割当てられたVRの存在が検出されたときに
は、データ線95により、当該VRに対応するVRDレ
ジスタ94中の再使用可能フラグを“0”として、そこ
にこれから書込まれる演算結果が読出されないうちに当
該VRが再使用されるのを、防止する。また、第2及び
第3オペランドがVR上に存在することが検出されたと
きには、データ線96,97により、当該VRに対応す
るVRDレジスタ94中の再使用可能フラグを“1”と
して、そのVRが他のベクトルデータに割当てられても
差支えのないことを表示する。
FIG. 4 shows that the comparison circuits 77 to 79 determine whether or not there is a VR assigned to the vector data designated by the instruction via DR (in the case of the second and third operands, the VR holding the vector data is held). Is present or not). These comparator circuits each include 16 comparators, and simultaneously receive the DR number and the validity flag in the 16 VRD registers 94 from the VRD 73 via the data line 74, and these 16 numbers are The instruction is compared in parallel with the DR numbers (data lines 22 to 24) designated for the first to third operands, and if there is a match, the corresponding VR is based on the position of the comparator in which the match occurred. Generate a number. Then, further on the condition that the validity flag in the VRD register is "1", the VR number and a signal indicating the coincidence establishment are sent to the data lines 95-9.
Send to 7. This coincidence establishment signal is output to the selection circuits 81 to 8
3 to control the corresponding VR number via the data lines 55 to 57 and the operand VR write / read control circuit 50 to 50 in FIG.
52 to the appropriate one. In addition, when the presence of the VR assigned to the first operand is detected, the reusable flag in the VRD register 94 corresponding to the VR is set to "0" by the data line 95, and the data is written therein. The VR is prevented from being reused before the operation result is read. Further, when it is detected that the second and third operands exist on the VR, the reusable flag in the VRD register 94 corresponding to the VR is set to "1" by the data lines 96 and 97, and the VR is set. Indicates that it can be assigned to other vector data.

リプレイスメント回路(以下RPLと略記)76は、第
1〜第3オペランドのいずれかがVRの割当てを受けて
いなかつたときに、それに割当てるべきVRを決定す
る。この目的のために、RPL76は、データ線75を
経て、各VRDレジスタ94中の有効性フラグと再使用
可能フラグを調べ、まず、有効性フラグが“0”になつ
ているVRDレジスタを探し、あればその1個を選択す
る。有効性フラグが“0”のものが無いときは、再使用
可能フラグが“1”になつているものの中から1個を選
択する。
The replacement circuit (hereinafter abbreviated as RPL) 76 determines the VR to be assigned to any of the first to third operands when the assignment of VR has not been performed. For this purpose, the RPL 76 examines the validity flag and reusable flag in each VRD register 94 via the data line 75, first looking for the VRD register whose validity flag is "0", If there is one, select that one. If there is no validity flag "0", one is selected from the reusable flags "1".

例えば、第2オペランドに対するVRの新規割当ては、
次のようにして行われる。命令が第2オペランドのため
に指定したDR番号と一致するDR番号がVRD73中
に発見できないことを、比較回路78からのデータ線9
6によつて検知すると、RPL76は、前述の手順によ
り選択したVRDレジスタに対応するVRの番号を、デ
ータ線54を経て第1図のVR読出・書込制御回路53
に供給するとともに、選択回路82からデータ線56を
経て第2オペランドVR読出制御回路51に供給して、
主記憶装置42から読出されるベクトルデータの受入れ
の準備をする。同時に、RPL76は、選択回路84を
制御して、命令が第2オペランドのために指定したDR
11の内容(第3図)を、データ線92から同31を経
て、第1図のアドレス生成回路41に供給し、主記憶装
置42の読出しを行わせる。RPL76は、更に、前記
のようにして選択したVRDレジスタ94に、当該DR
の内容(データ線31)とそのDR番号を書込み、かつ
その有効性フラグと再使用可能フラグを“1”にする。
For example, the new assignment of VR to the second operand is
This is done as follows. The data line 9 from the comparison circuit 78 indicates that the DR number that matches the DR number specified by the instruction for the second operand cannot be found in the VRD 73.
6, the RPL 76 outputs the VR number corresponding to the VRD register selected by the above-mentioned procedure via the data line 54 to the VR read / write control circuit 53 of FIG.
And to the second operand VR read control circuit 51 from the selection circuit 82 via the data line 56,
Prepare to accept the vector data read from the main memory 42. At the same time, the RPL 76 controls the selection circuit 84 to change the DR designated by the instruction for the second operand.
The contents of FIG. 11 (FIG. 3) are supplied from the data line 92 through the same 31 to the address generation circuit 41 of FIG. 1 to read the main memory device 42. The RPL 76 further adds the DR to the VRD register 94 selected as described above.
(Data line 31) and its DR number are written, and its validity flag and reusable flag are set to "1".

第3オペランドに対するVRの新規割当ても、以上と同
様であり、ただ、決定されたVR番号は、データ線56
ではなく、同57に出力されて、第3オペランドVR読
出制御回路52に供給される点が異なる。
The new assignment of VR to the third operand is similar to the above, but the determined VR number is the data line 56.
Instead, it is output to the same 57 and supplied to the third operand VR read control circuit 52.

第1オペランドに対して新たにVRが割当てられたとき
には、この割当てられたVRの番号が、選択回路81か
らデータ線55を経て、第1オペランドVR書込制御回
路50に供給される。同時に、このVRに対応するVR
Dレジスタ94に、第1オペランドを指示するDR11
の内容が、データ線91から同31を経て書込まれる。
同時に、そのVRDレジスタ94中の有効性フラグは
“1”にセツトされる。
When a VR is newly assigned to the first operand, the assigned VR number is supplied from the selection circuit 81 to the first operand VR write control circuit 50 via the data line 55. At the same time, the VR corresponding to this VR
DR11 indicating the first operand to the D register 94
Is written via the data line 91 through 31.
At the same time, the validity flag in that VRD register 94 is set to "1".

RPL76は、有効性フラグの元の値が“0”のVRを
第1オペランドに割当てたときには、対応するVRDレ
ジスタ94の再使用可能フラグを“0”として、当該V
Rが他のベクトルデータに割当てられるのを防止する。
この場合には、第1図のアドレス生成回路41及びVR
読出・書込制御回路53の起動は行わない。それは、割
当てが可能なVRがまた充分に残つているとみなしうる
からである。しかし、有効性フラグが“0”のVRが残
つていないために、有効性フラグは“1”であるが再使
用可能フラグが“1”のVRを第1オペランドに割当て
たときには、対応するVRDレジスタの再使用可能フラ
グは“1”のままにしておき、データ線54を経て当該
VR番号をVR読出・書込制御回路53に送つて、その
VRに書込まれた演算結果を直ちに読出すことを指示す
るとともに、対応するDRの内容をデータ線31を経て
アドレス生成回路41に送り、前記VRから読出された
演算結果(データ線62)を、主記憶装置42に書込ま
せる。この措置は、割当て可能なVRが少なくなつたこ
との対策として、第1オペランドによるVRの独占を排
して更に他のベクトルデータへの割当てを可能にすると
ともに、そのような再割当てに備えて、演算結果を主記
憶装置にも保存しておくためのものである。
When the VR whose original value of the validity flag is “0” is assigned to the first operand, the RPL 76 sets the reusable flag of the corresponding VRD register 94 to “0” and sets the V
Prevent R from being assigned to other vector data.
In this case, the address generation circuit 41 and VR shown in FIG.
The read / write control circuit 53 is not activated. This is because it can be considered that there are enough VRs that can be allocated. However, since there is no VR with the validity flag remaining "0", when the VR with the validity flag "1" but the reusable flag "1" is assigned to the first operand, the corresponding The reusable flag of the VRD register is left at "1", the VR number is sent to the VR read / write control circuit 53 via the data line 54, and the operation result written in the VR is immediately read. At the same time as instructing to output, the content of the corresponding DR is sent to the address generation circuit 41 via the data line 31, and the operation result (data line 62) read from the VR is written to the main storage device 42. This measure eliminates monopolization of the VR by the first operand and enables allocation to other vector data as a countermeasure against the decrease in the number of VRs that can be allocated, and prepares for such reallocation. , For storing the calculation result also in the main storage device.

この実施例では、現実には16個のVRが存在するにす
ぎないにもかかわらず、プログラム上はあたかも256
個(DRの個数)のVRが存在するかのようにみなすこ
とができる。
In this embodiment, although there are actually only 16 VRs, the program is as if 256.
It can be regarded as if there are VRs (the number of DRs).

本発明において、演算器は1個に限られず、複数個あつ
てもよい。むしろ、複数の演算器が並行動作を行う場合
の方が、本発明の利点が活用される。また、前記の実施
例では、VRは1回読出されれば直ちに再使用が可能に
なるものとしたが、任意に指定された回数の読出しが終
るまで再使用を禁止するようにしてもよい。そのために
は、例えば、DR11に読出回数指定フイールドを設け
るととも、VRDレジスタ94には、再使用可能フラグ
に代えて、読出回数フイールドを設ける。そして、VR
Dレジスタの読出回数フイールドは、割当て当初にDR
の読出回数指定フイールドの値を転記しておいて、以
後、対応するVRからの読出しが行われる度に1ずつ減
算し、その値が“0”の状態を、前記実施例における再
使用可能フラグが“1”の状態に相当するものとして扱
う。
In the present invention, the number of arithmetic units is not limited to one, and a plurality of arithmetic units may be provided. Rather, the advantage of the present invention is utilized when a plurality of arithmetic units operate in parallel. Further, in the above-mentioned embodiment, the VR can be reused immediately after being read once, but the reuse may be prohibited until the reading of an arbitrarily specified number of times is completed. For that purpose, for example, a read number designation field is provided in the DR 11, and a read number field is provided in the VRD register 94 instead of the reusable flag. And VR
The read count field of the D register is DR at the beginning of the allocation.
The value of the read number designating field is transcribed, and thereafter, each time reading from the corresponding VR is performed, it is decremented by one, and the value of "0" is changed to the reusable flag in the above embodiment. Is treated as being equivalent to the state of "1".

また、前記実施例では、DRの内容はプログラムの実行
中固定されていることが前提となつているが、途中でD
Rの内容を更新できるようにすれば、DRの個数以上の
ベクトルデータを処理することができる。そのために
は、VRD73の検索が、DRの番号ではなく、その内
容に基づいて行われるようにする。例えば、第4図にお
いて、比較回路77〜79が、一方の入力として、デー
タ線22〜24の代りに、それらが指示するDRの内容
であるデータ線91〜93を受け、また、他方の入力7
4としても、VRDレジスタ94中それらに対応するフ
イールドの内容を受けるようにすればよい。
Further, in the above-mentioned embodiment, the content of DR is premised on being fixed during the execution of the program.
If the contents of R can be updated, vector data more than the number of DRs can be processed. For that purpose, the VRD 73 is searched based on its contents, not on the DR number. For example, in FIG. 4, the comparator circuits 77-79 receive, as one input, the data lines 91-93 which are the contents of the DR indicated by them, instead of the data lines 22-24, and the other input. 7
Even if it is 4, the contents of the fields corresponding to them in the VRD register 94 may be received.

更に、以上の実施例では、命令におけるベクトルデータ
データの指定が、DRを介して間接的に行なわれ、DR
群がいわば仮想VRを構成している形式となつている
が、DR群70を廃して、命令が直接にベクトルデータ
のスタートアドレス、増分値、ベクトル長等のベクトル
指示情報を与えるようにしてもよい。この場合、第4図
の比較回路77〜79は、命令中のベクトル指示情報と
VRDレジスタ中のベクトル指示情報を、直接比較する
ものとなり、データ線91〜93は、命令レジスタ21
の出力となる。
Further, in the above embodiment, the designation of the vector data data in the instruction is performed indirectly via the DR,
Although the group is, so to speak, a form of forming a virtual VR, even if the DR group 70 is abolished and an instruction directly gives vector instruction information such as a start address of vector data, an increment value, and a vector length. Good. In this case, the comparison circuits 77 to 79 in FIG. 4 directly compare the vector instruction information in the instruction with the vector instruction information in the VRD register, and the data lines 91 to 93 are connected to the instruction register 21.
Will be output.

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

本発明によれば、プログラム作成側は物理的構造として
のVRの個数やその割当てを考慮する必要がなく、例え
ば、VRの個数が異なつてもプログラムは変えなくとも
よい。また、再使用可能なVRが存在するにもかかわら
ず他のVRの空くのを待つというような、時間の空費を
生じることもない。
According to the present invention, the program creator does not need to consider the number and allocation of VRs as a physical structure, and for example, the program does not have to be changed even if the number of VRs is different. In addition, there is no waste of time, such as waiting for another VR to become available despite the existence of the reusable VR.

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

第1図は本発明の一実施例のブロツクダイヤグラム、第
2図は命令のフオーマツト図、第3図はDRの内容の模
式図、第4図は第1図におけるDR−VR変換回路のブ
ロツクダイヤグラム、第5図は第4図におけるVRDレ
ジスタの内容の模式図である。 21…命令レジスタ、30…DR−VR変換回路、42
…主記憶装置、43…ベクトルレジスタ(VR)群、5
0〜53…VR群に対する書込/読出制御回路、70…
ベクトルデータ指示情報を保持するレジスタ(DR)
群、73…ベクトルレジスタデイレクトリ、76…リプ
レイスメント回路。
FIG. 1 is a block diagram of one embodiment of the present invention, FIG. 2 is a command format diagram, FIG. 3 is a schematic diagram of the contents of DR, and FIG. 4 is a block diagram of the DR-VR conversion circuit in FIG. , FIG. 5 is a schematic diagram of the contents of the VRD register in FIG. 21 ... Instruction register, 30 ... DR-VR conversion circuit, 42
... Main storage device, 43 ... Vector register (VR) group, 5
0-53 ... Write / read control circuit for VR group, 70 ...
Register holding vector data instruction information (DR)
Group, 73 ... Vector register directory, 76 ... Replacement circuit.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】複数のベクトルレジスタを有し、これらベ
クトルレジスタ上のベクトルデータをオペランドとする
ベクトルプロセツサにおいて、各ベクトルレジスタのベ
クトルデータへの割当て状況を示す情報を保持するベク
トルレジスタデイレクトリと、解読された命令内のベク
トルデータ指定情報に応答して前記ベクトルレジスタデ
イレクトリを検索して命令の指定するベクトルデータに
割り当てられたベクトルレジスタが存在するか否かを調
査し、存在する場合には当該ベクトルレジスタを指示す
る情報をベクトルレジスタアクセス制御回路へ出力する
回路と、存在しない場合にベクトルレジスタの割当てを
行つて、その結果を前記ベクトルレジスタデイレクトリ
に登録するリプレイスメント回路とを備えることを特徴
とするベクトルレジスタ制御装置。
1. A vector processor having a plurality of vector registers, wherein vector data on these vector registers is used as an operand, a vector register directory holding information indicating an allocation status of each vector register to vector data, In response to the decoded vector data designation information in the instruction, the vector register directory is searched to check whether or not there is a vector register assigned to the vector data designated by the instruction. A circuit for outputting information indicating a vector register to a vector register access control circuit, and a replacement circuit for allocating the vector register when it does not exist and registering the result in the vector register directory are provided. Vector Static control device.
【請求項2】特許請求の範囲1において、前記命令内の
ベクトルデータ指定情報は、ベクトルデータを特定する
ベクトルデータ指示情報が格納されたベクトル指示レジ
スタの識別情報を含み、前記ベクトルレジスタデイレク
トリ内の割当て状況を示す情報は、各ベクトルレジスタ
が割当てられたベクトルデータのベクトルデータ指示情
報が格納されたベクトル指示レジスタの識別情報を含
み、前記ベクトルレジスタを指示する情報を出力する回
路は、命令内のベクトル指示レジスタ識別情報とベクト
ルレジスタデイレクトリ内のベクトル指示レジスタ識別
情報を比較する回路を含むことを特徴とするベクトルレ
ジスタ制御装置。
2. The vector data designating information in the instruction according to claim 1, includes identification information of a vector designating register in which vector data designating information for specifying vector data is stored, and in the vector register directory. The information indicating the allocation status includes the identification information of the vector instruction register in which the vector data instruction information of the vector data to which each vector register is assigned is stored, and the circuit for outputting the information instructing the vector register is A vector register control device comprising a circuit for comparing the vector instruction register identification information with the vector instruction register identification information in the vector register directory.
JP59198701A 1984-09-25 1984-09-25 Vector register controller Expired - Lifetime JPH0623976B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59198701A JPH0623976B2 (en) 1984-09-25 1984-09-25 Vector register controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59198701A JPH0623976B2 (en) 1984-09-25 1984-09-25 Vector register controller

Publications (2)

Publication Number Publication Date
JPS6177968A JPS6177968A (en) 1986-04-21
JPH0623976B2 true JPH0623976B2 (en) 1994-03-30

Family

ID=16395586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59198701A Expired - Lifetime JPH0623976B2 (en) 1984-09-25 1984-09-25 Vector register controller

Country Status (1)

Country Link
JP (1) JPH0623976B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4734076B2 (en) * 2005-10-04 2011-07-27 クインライト電子精工株式会社 Needle width adjustment mechanism in binding machine

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58187850U (en) * 1982-06-04 1983-12-13 株式会社日立製作所 Vector processing device

Also Published As

Publication number Publication date
JPS6177968A (en) 1986-04-21

Similar Documents

Publication Publication Date Title
US7434032B1 (en) Tracking register usage during multithreaded processing using a scoreboard having separate memory regions and storing sequential register size indicators
US4449184A (en) Extended address, single and multiple bit microprocessor
US4031517A (en) Emulation of target system interrupts through the use of counters
JP3724582B2 (en) Register renaming circuit for instruction execution unit
EP0213843A2 (en) Digital processor control
EP0551148A2 (en) Direct input/output in a virtual memory system
JPS63289659A (en) Storage device protecting system
EP0523863B1 (en) Digital data processor for high level instructions
US7093105B2 (en) Method and apparatus for determining availability of a queue to which a program step is issued out of program order
EP0126247B1 (en) Computer system
JP3773470B2 (en) Handling of coprocessor instructions in a data processor
US4974143A (en) Information processing apparatus wherein address path is used for continuous data transfer
KR19990037572A (en) Design of Processor Architecture with Multiple Sources Supplying Bank Address Values and Its Design Method
US4991083A (en) Method and system for extending address space for vector processing
JP2551167B2 (en) Microcomputer
JPH07281948A (en) Memory controller
JPH0623976B2 (en) Vector register controller
JPS59106075A (en) Data processing system
JP3453761B2 (en) Address translation method
US3513446A (en) Data processing system wherein the instruction word contains plural data word addresses
JP2941583B2 (en) Data processing device
EP0297895A2 (en) Apparatus and method using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system
JPS6032220B2 (en) information processing equipment
US6711655B1 (en) Finding available memory space by finding its associated memory transfer controller
EP0938047A1 (en) Memory protection method and device therefor