JPS6177968A - Controller of vector register - Google Patents

Controller of vector register

Info

Publication number
JPS6177968A
JPS6177968A JP19870184A JP19870184A JPS6177968A JP S6177968 A JPS6177968 A JP S6177968A JP 19870184 A JP19870184 A JP 19870184A JP 19870184 A JP19870184 A JP 19870184A JP S6177968 A JPS6177968 A JP S6177968A
Authority
JP
Japan
Prior art keywords
vector
register
circuit
data
instruction
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
JP19870184A
Other languages
Japanese (ja)
Other versions
JPH0623976B2 (en
Inventor
Shunichi Torii
俊一 鳥居
Keiji Kojima
啓二 小島
Tokuyasu Imon
徳安 井門
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)

Abstract

PURPOSE:To eliminate the waste of time and to reduce the load of a program by allocating automatically a vector register in response to the dynamic situation. CONSTITUTION:The DR numbers designating the 1st-3rd operands are sent to a DR/VR converter circuit 30 from an instruction register 21 within a vector control unit 20 of a vector processor. The circuit 30 retrieves the numbers corresponding to the DR numbers and applies the DR numbers to write/read control circuits 50-53 corresponding to the VR groups respectively. Then the arithmetic result of the corresponding VR is written on a vector register 43. Here the contents of the DR indicating each operand are applied to an address generating circuit 41 from the circuit 30. Then a writing request is delivered to a main memory 42 with the address produced by the circuit 41. The circuit 30 is provided with a register group 70 which holds the vector data indicating information, a vector register directory 73, a replacement circuit 76, etc. Thus the data is held when no vector data exists, and the register 21 is automatically allocated.

Description

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

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

一般ニ、ベクトルプロセッサでは、演算対象や演算結果
のベクトルデータ全ベクトルレジスタに格納することに
よって、主記憶との間のデータ転送回数を節減している
。ところが、演算が複雑になると、ベクトルレジスタの
所要個数が増して、物理的に設置されたベクトルレジス
タの個数よりも多くなるという事態が、しばしば発生す
る。ベクトルコンパイラは、ステートメ7トの静的な解
析に基づいて、ベクトルデータのベクトルレジスタへの
最適な割当てを試みるが、演算の進行につれて変化する
動的な状況までも正確に把握することはできないから、
真に効率の良い割当てを期待することはできない。
Generally speaking, vector processors reduce the number of times data is transferred to and from main memory by storing vector data of operation targets and operation results in all vector registers. However, as operations become more complex, the number of required vector registers increases, and a situation often arises in which the number of required vector registers becomes greater than the number of physically installed vector registers. The vector compiler tries to optimally allocate vector data to vector registers based on static analysis of statements, but it cannot accurately grasp the dynamic situation that changes as the operation progresses. ,
Truly efficient allocation cannot be expected.

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

1)  VRI←A(餐) 2)  VR2←B(4暑 3)  VR4←VR:lVR,1 4)  VR6←VR,5+VR2 s)  VR?←C(★) 第1命令はベクトルA (+ )をベクトルレジスタ(
以下VRと略記)1にロードする命令であり、第2命令
はベクトルB(’)t”VR2にロードする命令である
。第3命令はVR3の内容とVRIの内容を乗算してそ
の結果をVR,4に格納する命令であり、第4命令はV
R,5の内容とVR,2の内容を加算してその結果iV
R,6に格納する命令である。ここで、VR,は6個し
かなく、そして、VR3〜VR6は以降の命令で使用す
る予定があるとすると、第5命令でベクトルc(+)t
ロードする先(VR?)とシテは、V[1とVR,2の
2候補があるが、どちらが先に解放されて再使用が可能
となるかは、最近のベクトルプロセッサのように、複数
の演算器が並行処I!′l!を行う場合、実行時でなけ
れば判定できない。ランダムにvRlをこれに割当てた
とすると、実際にはVR2の方が先に解放されたときで
も、第5命令の実行はVRIの解放まで侍だされるから
、時間の空費となる。
1) VRI←A (dinner) 2) VR2←B (4 heat 3) VR4←VR:lVR, 1 4) VR6←VR, 5+VR2 s) VR? ←C(★) The first instruction stores the vector A (+) in the vector register (
(hereinafter abbreviated as VR) 1, and the second instruction is an instruction to load into vector B(')t''VR2. The third instruction multiplies the contents of VR3 and VRI and returns the result. This is an instruction to be stored in VR,4, and the fourth instruction is V
Add the contents of R,5 and the contents of VR,2, and the result is iV
This is an instruction to store in R,6. Here, if there are only 6 VRs, and VR3 to VR6 are scheduled to be used in subsequent instructions, then in the fifth instruction the vector c(+)t
There are two candidates for the load destination (VR?) and shite, V[1 and VR,2, but which one is released first and can be reused is determined by multiple Arithmetic unit is parallel processing I! 'l! When doing so, it can only be determined at runtime. If vRl is randomly assigned to this, even if VR2 is actually released first, the execution of the fifth instruction will be delayed until VRI is released, resulting in wasted time.

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

本発明の目的は、VRの割当てを動的な状況に応じて自
動的に行なうことにより、前記のような時間の空費を防
ぎ、また、プログラムがVRの本数やそれらの割当てに
ついて考慮する必要金線くことにある。
The purpose of the present invention is to prevent the above-mentioned wasted time by automatically allocating VRs according to dynamic situations, and also to eliminate the need for programs to consider the number of VRs and their allocation. It's about gold wire.

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

本発明は、プログラム命令上はベクトルレジスタを間頭
にせず、ノ・−ドウエアによジペタトルレジスタの割当
て全行なうようにするものであり、そのために、ベクト
ルレジスタディレクトリに各ベクトルレジスタの割当て
状況を登録しておき、これを検索して、命令の指定する
ベクトルデータに割当てられたベクトルレジスタが存在
するか否・かをチェックし、存在すれば当該ベクトルレ
ジスタ番号を用いてベクトルレジスタ群にアクセスし、
存在しなければ、リプレイスメント回路が、新たにベタ
トルレジスタの割当てを行って、その結果をベクトルレ
ジスタディレクトリに登録するように、ベクトルレジス
タ制御装置を構成したものである。
In the present invention, the vector registers are not placed first in the program instructions, and all the registers are allocated by the software. To this end, the allocation status of each vector register is stored in the vector register directory. is registered, and it is searched to check whether a vector register assigned to the vector data specified by the instruction exists. If it exists, the vector register group is accessed using the corresponding vector register number. death,
The vector register control device is configured such that if the vector register does not exist, the replacement circuit allocates a new vector register and registers the result in the vector register directory.

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

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

以下に説明する実施例は、1個のベクトル演算器と16
個のVRを有するベクトルプロセッサについてのもので
ある。第2図は、本実施例における命令のフォーマント
ラ示す。命令10の第1バイトは演算の種類を指定する
OPコードである。
The embodiment described below uses one vector arithmetic unit and 16
This is for a vector processor with VRs. FIG. 2 shows a formant diagram of an instruction in this embodiment. The first byte of instruction 10 is an OP code that specifies the type of operation.

第2ないし第4バイトは、それぞれ、第1ないし第3オ
ペランドのだめのベクトル指示レジスタ(])escr
iption R,egister、以下DRと略記)
の番号F4.1〜R3k指定し、これらのDRは、それ
ぞれのオペランドの主記憶装置上の位置を示す情報を保
持する。第1オペランド位置は演算結果の格納先でろ9
、第2及び第3オペランド位置は演Xt受けるデータの
入手先である。
The second to fourth bytes are vector instruction registers (]) for the first to third operands, respectively.
iption R,egister (hereinafter abbreviated as DR)
These DRs hold information indicating the location of each operand on the main storage device. The first operand position is where the calculation result will be stored.9
, the second and third operand positions are where the data to be received by Xt is obtained.

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

第1図は、ベクトルプロセッサの全体的構成を示す。ベ
クトル命令制御ユニット2o内の命令レジスタ21から
、第1ないし第3オペランドを指定するDR番号が、デ
ータ・、塚22〜24を経て、DR−VRR換回路30
に送られる。DR−VR変変目回路30、これらのDR
,番号に対応するVR番号を検索して、第1オペランド
のためのVII、番号をデータ線55を経て第1オペラ
ツドvR可込制御回路50に与え、同様に、第2オペラ
ンド及び第3オペランドのためのVR番号を、データ線
56及び57を経て、第2オペランドVR続出制師回路
51及び第3オペランドVR読出制例回路52に与える
FIG. 1 shows the overall configuration of a vector processor. The DR number specifying the first to third operands is sent from the instruction register 21 in the vector instruction control unit 2o to the DR-VRR conversion circuit 30 via the data blocks 22 to 24.
sent to. DR-VR transition circuit 30, these DR
, the VR number corresponding to the VII number for the first operand is provided to the first operand vR programmable control circuit 50 via the data line 55, and similarly, the VR number corresponding to the second operand and the third operand is provided. The VR number for reading is given to the second operand VR successive output restriction circuit 51 and the third operand VR read restriction circuit 52 via data lines 56 and 57.

第2オペランドと第3オペランドは、対応するVR,読
出制御回路51と52の制御の下に、■R詳43中の指
定されたVR,からエレメントずつ同期して読出され、
データ縁58と59を経て演算器44に入力される。演
算結果は、データ線60を経てVR群43に戻され、第
1オベラ/ドVR。
The second and third operands are synchronously read element by element from the specified VR in the R details 43 under the control of the corresponding VR read control circuits 51 and 52,
The data is input to the arithmetic unit 44 via data edges 58 and 59. The calculation result is returned to the VR group 43 via the data line 60, and is sent to the first VR/DO VR.

書込制御回路50の制御の下に、所定のVR,に書込ま
れる。
The data is written to a predetermined VR under the control of the write control circuit 50.

例えば、第2オペランドが■几群43中に存在しなかっ
た場合の動作は、次のようになる。まず、D I’L 
−V IL変換回路30は、データ線31を経て、第2
オペラツドを指示するDR,の内容をアドレス生成回路
41に供給する。アドレス生成回路41は、受取ったD
Rの内容に基づき、当該ベクトルの各エレメントのアド
レスを順次生成して、主記憶装置42に読出しを要求し
、主記憶装置42は、読出したデータをデータ線61を
経てVR群43に転送する。その間、DR−VRR換回
路30は、この読出された第2オペランドに新たに1個
のVRを割当てて、そのV几番号を、データ線54を経
てVR読出・書込制御回路53に与え、当該VR,に主
記憶装置42から読出された第2オペランドのベクトル
データを書込ませる。同時に、このvl(番号は第2オ
ペラ/ド■R読出制御回路51にも与えられて、書込ま
れた第2オペランドはそのまま演算器44に供給される
For example, the operation when the second operand does not exist in the group 43 is as follows. First, DI'L
-V IL conversion circuit 30 is connected to the second
The contents of DR, which indicates the operand, are supplied to the address generation circuit 41. The address generation circuit 41 receives D
Based on the contents of R, addresses for each element of the vector are sequentially generated and read is requested to the main memory 42, and the main memory 42 transfers the read data to the VR group 43 via the data line 61. . Meanwhile, the DR-VRR conversion circuit 30 allocates one new VR to this read second operand, gives the V number to the VR read/write control circuit 53 via the data line 54, The vector data of the second operand read from the main storage device 42 is written into the VR. At the same time, this vl (number) is also given to the second operand/do R read control circuit 51, and the written second operand is supplied to the arithmetic unit 44 as is.

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

第1オベラ/ドに割当てられたVRが存在しなかった場
合、DR−VRR換回路30は、それに対するVR,の
割当てを行い、そのVR番号をデータ線55を経て第1
オペランドVFL書込制御回路50に供給して、当該V
RKR算結果を書込ませる。ただし、割当て可能なVr
Lが少なくなった場合には、VRだけでなく、主記憶装
置42にも、第1オペランドの書込みが行われる。この
とき、DR−VRR換回路30は、データ線31を経て
第1オペランドを指示するDRの内容をアドレス生成回
路41に送り、アドレス生成回路41は、第1オペラン
ドのベクトルの各エレメントのアドレス?順次生成して
、主記憶装置42に書込みを要求する。同時に、DIL
−VRR換回路30は、第1オペランドv Ic ’+
tr込jlll贈11回路50に与えたVI’(4i号
を、データ線54を経て、VR続出・書込制御回路53
にも供給して、vitに薔込んだぴ算結果をそのまま読
出し、データ線62を経て主記憶装置42に転送する。
If there is no VR assigned to the first controller, the DR-VRR conversion circuit 30 assigns a VR to it, and sends the VR number to the first controller via the data line 55.
The operand VFL is supplied to the write control circuit 50 and the corresponding V
Write the RKR calculation result. However, allocable Vr
When L decreases, the first operand is written not only to the VR but also to the main storage device 42. At this time, the DR-VRR conversion circuit 30 sends the contents of the DR indicating the first operand to the address generation circuit 41 via the data line 31, and the address generation circuit 41 generates the address of each element of the vector of the first operand. They are generated sequentially and requested to be written to the main storage device 42. At the same time, DIL
-VRR conversion circuit 30 converts the first operand v Ic'+
The VI' (No. 4i) given to the tr included jllll gift 11 circuit 50 is sent to the VR continuous output/write control circuit 53 via the data line 54.
The calculation results stored in the VIT are read out as they are, and transferred to the main storage device 42 via the data line 62.

ベクトル命令ユニット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 and filling the VR may be conventional ones. Japanese Unexamined Patent Publication No. 58-114274 shows an example of this.

DR−VR父換回路30の構成は、第4図に示されてい
る。DR群70は、256個のDRIIからなるレジス
タ群であり、命令語レジスタ21(7)m2〜第4バイ
トの出力22〜24、すなわち@1〜第3オペランドの
DR,@号により指定されたDRIIの内容が、データ
線91〜93にそれぞれ読出される。Vl”tディレク
トリ(以下VR,Dと略記)73は、各VRと一対一に
対応する161固のVR,Dレジスタ94からなる。各
VRDRジスタ94は、第鷲図に示すように、対応する
VRに格納されたベクトルデータを特定するDRIIの
内容(データタイプ、データアドレス、増分値、ベクト
ル長)に加えて、当該り凡の番号と、有効性フラグと、
再使用可能フラグと全保持する。これらの内、有効性フ
ラグは、対応するVRが未使用ならば”0″で、回らか
の有効データが格納されると“1″となる。また、再使
用可能フラグは、対応するVRが再使用(割当て)可能
ならば1“で、不可ならば0″となる。
The configuration of the DR-VR father exchange circuit 30 is shown in FIG. The DR group 70 is a register group consisting of 256 DRIIs, and is specified by the outputs 22 to 24 of the instruction word register 21 (7) m2 to the fourth byte, that is, the DR of the @1 to third operands. The contents of DRII are read onto data lines 91-93, respectively. The Vl"t directory (hereinafter abbreviated as VR, D) 73 consists of 161 VR, D registers 94 that correspond one-to-one with each VR. Each VRDR register 94 has a corresponding one, as shown in Fig. In addition to the contents of the DRII (data type, data address, increment value, vector length) that identifies the vector data stored in the VR, the relevant number, validity flag,
Reusable flag and keep all. Among these, the validity flag is "0" if the corresponding VR is unused, and becomes "1" when valid data is stored. Further, the reusable flag is 1" if the corresponding VR can be reused (allocated), and 0" if it is not.

第4図の比較回路77〜79は、命令がDRを介して指
定したベクトルデータに割当てられたVRが存在するか
否か(第2及び第3オペランドの場合には当該ベクトル
データを保持するV Rが存在するか否か)を判定する
ためのものである。
Comparing circuits 77 to 79 in FIG. This is for determining whether R exists or not.

これらの比較回路は、それぞれ16個の比較器を備え、
データ線74を経て、V几D73から16個のV 14
 Dレジスタ94中のDR査号と有効性フラグと全同時
に受取り、これらの16藺のDR,番号を、命令が第1
〜第3オペランドのために指定したDf1番号(データ
線22〜24)とそれぞれ並列に比較して、一致があれ
ば、その一致の生り。
These comparison circuits each include 16 comparators,
Via the data line 74, 16 V 14 from V 几D73
The DR scan code and validity flag in the D register 94 are received at the same time, and these 16 DR numbers are received when the instruction is first executed.
- Compare each in parallel with the Df1 number (data lines 22 to 24) specified for the third operand, and if there is a match, the result of that match.

た比較器の位置に基づいて対応−rるVR,苦すを生成
する。そして、更に当該VRDレジスタ中の有効性フラ
グが“1″でらること?条件に、そのVR,番号と一致
成立を示す信号と?、データ線95〜97に送出する。
A corresponding VR is generated based on the position of the comparator. And, is the validity flag in the VRD register set to "1"? The conditions include the VR, number, and a signal that indicates a match. , to data lines 95-97.

この一致成立信号は、選択回路81〜83を制御して、
当該VR番号を、データ線55〜57を経て第1図のオ
ペランドVR■込/読出制御回路50〜52の該当する
1つに供給する。それに加えて、第1オペランドに割当
てられたVRの存在が検出されたときには、データ線9
5により、当該VRに対応するVR,Dレジスタ94中
の再使用可能フラグを”0″として、そこにこれから書
込まれる演算結果が読出されないうちに当該VRが再使
用されるのを、防止する。また、第2及び第3オペラン
ドがVR,上に存在することが検出されたときには、デ
ータ線96.97により、当該VFt、に対応するVR
Dレジスタ94中の再使用可能フラグを”1″として、
その■几が他のベクトルデータに割当てられても差支え
のないことを表示する。
This coincidence signal controls the selection circuits 81 to 83,
The VR number is supplied to a corresponding one of the operand VR loading/reading control circuits 50-52 in FIG. 1 via data lines 55-57. In addition, when the presence of a VR assigned to the first operand is detected, data line 9
5, the reusable flag in the VR, D register 94 corresponding to the VR is set to "0" to prevent the VR from being reused before the calculation result to be written therein is read. . Further, when it is detected that the second and third operands are present on VR, data lines 96 and 97 are used to indicate the VR corresponding to the VFt.
Setting the reusable flag in the D register 94 to "1",
It is displayed that there is no problem even if the data is assigned to other vector data.

リプレイスメント回路(以下RPLと略記)76は、第
1〜第3オペランドのいずれかがVR。
In the replacement circuit (hereinafter abbreviated as RPL) 76, any one of the first to third operands is VR.

の割当てを受けていなかったときに、それに割当てるべ
きVRを決定する。この目的のために、RPL76は、
データ線75を経て、各VR,Dレジスタ94中の有効
性フラグと再使用可能フラグ金調べ、まず、有効性フラ
グが”0″になっているVR,Dレジスタを探し、あれ
ばその1個を選択する。有効性フラグが”0”のものが
無いときは、再使用可能フラグが1″になっているもの
の中から1個を選択する。
If the VR has not been allocated, determine which VR should be allocated to it. For this purpose, RPL76:
Check the validity flag and reusable flag in each VR and D register 94 through the data line 75. First, search for the VR and D register whose validity flag is "0", and if there is one. Select. If there is no one whose validity flag is "0", one is selected from among those whose reusable flag is "1".

911えば、第2オペランドに対するVILの新規割当
ては、次のようにして行われる。命令が第2オペランド
のために指定したD R番号と一致するDIR番号がV
I?、D73中に発見できないことと1比較回路78か
らのデータ線96によって検知すると、rtPL76は
、前述の手順により選択したVrLDレジスタに対応す
るVRの番号を、データ線54を経て第1図のvrt読
出・111込d;ij向1回路53に供給するとともに
、選択回路82からデータ線56を経て第2オペランド
VR読出制御回路51に供給して、主記憶装置42から
読出されるベクトルデータの受入れの4備をする。同時
に、It、 I’ L 76は、選択回路84を制御し
て、命令が第2オペランドのために指定したDR,11
の内容(第3図)ヲ、データ線92から同31を経て、
第1図のアドレス生成回路41に供給し、主記憶装置4
2の読出し全行わせる。几PL76は、更に、前記のよ
うにして選択したVRDレジスタ94に、当該DRの内
容(データ線31)とそのDR香号ヲ書込み、かつ、そ
の有効性フラグと再使用可能フラグを“1″にする。
911 For example, a new assignment of VIL to the second operand is performed as follows. The DIR number that matches the DR number specified by the instruction for the second operand is
I? , D73 and the data line 96 from the 1 comparison circuit 78, the rtPL 76 sends the number of VR corresponding to the VrLD register selected by the above procedure to the vrt of FIG. 1 via the data line 54. Read/111 included d: Accepting vector data read from the main storage device 42 by supplying it to the ij direction 1 circuit 53 and supplying it from the selection circuit 82 to the second operand VR read control circuit 51 via the data line 56. Make four preparations. At the same time, It,I'L 76 controls selection circuit 84 to select the DR,11 that the instruction specified for the second operand.
The contents of (Figure 3) wo, from the data line 92 through the data line 31,
The main memory 4 is supplied to the address generation circuit 41 shown in FIG.
2. Perform all readings. The PL 76 further writes the contents of the DR (data line 31) and its DR fragrance into the VRD register 94 selected as described above, and sets its validity flag and reusable flag to "1". Make it.

第3オペランドに対するVRの新規割当ても、以上と同
様であり、ただ、決定されたVR,番号は、データ#1
156ではなく、同57に出力されて、第3オペランド
V11.読出側Φ1)回路52に供給される点が異なる
The new assignment of VR to the third operand is the same as above, except that the determined VR, number is
57 instead of 156, and the third operand V11. The difference is that it is supplied to the readout side Φ1) circuit 52.

第1オペランドに対して新たにVRが割当てられたとき
には、この割当てらJtたVl’(の番号が、選択回路
81からデータ線55?経て、第1オベランドVR書込
制(財)回路50に供給される。同時に、このVRに対
応するVR,Dレジスタ94に、第1オペランドを指示
するDI(11の内容が、データIfi191から同3
1を経て書込まれる。同時に、そのVILDレジスタ9
4中の有効性フラグは“1”にセットされる。
When a new VR is assigned to the first operand, the number of this assigned Jt Vl' (is transferred from the selection circuit 81 to the data line 55? to the first operand VR write control circuit 50. At the same time, the contents of DI (11) specifying the first operand are transferred from the data Ifi 191 to the VR, D register 94 corresponding to this VR.
1 and then written. At the same time, that VILD register 9
The validity flag in No. 4 is set to "1".

RPL76は、有効性フラグの元の値が“0″のVIL
i第1オペランドに割当てたときには、対応するV I
L Dレジスタ94の再使用可能フラグを”O゛として
、当該VRが池のベクトルデータに割当てられるの?防
止する。この場合には、第1図のアドレス生成回路41
及びVRk出・書込1口11(財)回路53の起動は行
わない。それは、割当てが可11ヒなV Rがまだ充分
に残っているとみなしつるからである。しかし、有効性
フラグが“0“のVr(が残っていないために、有効性
フラグは1″でちるが再使用可能フラグが“1″のVR
を第1オペランドに割当てたときには、対応するVRD
レジスタの再使用可能フラグは”1″のままにしておき
、データ線54を経て当該VIL番号金vR読出・書込
制御回路53に送って、そのVRに書込まれた演算結果
を直ちに読出すことを指示するとともに、対応するDR
の内容をデータ線31を経てアドレス生成回路41に送
り、前記VRから続出された演算結果(データ線62 
) k、主記憶装置42に−ご」込ませる。この措置は
、割当て可能なVrモが少なくなったことの対策として
、第1オペランドによるVRの独占を排して更に他のベ
クトルデータへの割当てを可能にするとともに、そのよ
うな再割当てに備えて、演算結果金主記憶装置にも保存
しておくためのもので心る。
RPL76 is VIL whose original value of validity flag is “0”.
When assigned to the first operand i, the corresponding V I
Setting the reusable flag of the LD register 94 to "O" prevents the VR from being assigned to the pond vector data.In this case, the address generation circuit 41 of FIG.
And the VRk output/write 1 port 11 circuit 53 is not activated. This is because it is assumed that there are still enough VRs left that can be allocated. However, since there are no VRs whose validity flag is "0" remaining, the validity flag is 1", but the VR whose reusable flag is "1"
When assigned to the first operand, the corresponding VRD
The reusable flag of the register is left as "1", and the VIL number is sent to the corresponding VR read/write control circuit 53 via the data line 54, and the operation result written in that VR is immediately read out. and the corresponding DR.
The content of is sent to the address generation circuit 41 via the data line 31, and the calculation result (data line 62
) k, to be loaded into the main storage device 42. This measure eliminates the monopoly of VR by the first operand and enables allocation to other vector data as a countermeasure against the decrease in the number of Vr models that can be allocated, and also prepares for such reallocation. It is also intended to store the calculation results in the main storage device.

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

本発明において、演算器は1貼に限られず、複数1[1
i16つてもよい。むしろ、複数の演算器が並行動作全
行う場合の方が、本発明の利点が活用される。また、前
記の実施例では、VRは1回読出されれば直ちに再使用
が可能になるものとしたが、任意に指定された回数の読
出しが終るまで再使用を禁止するようにしてもよい。そ
のためには、例え・ば、DRllに読出回数指定フィー
ルドを設けるとともに、VR,Dレジスタ94には、再
使用可[化フラグに代えて、読出回数フィールドを設け
る。
In the present invention, the number of arithmetic units is not limited to one, but a plurality of
i16 is also good. Rather, the advantages of the present invention are more effectively utilized when a plurality of arithmetic units perform all operations in parallel. Further, in the above embodiment, the VR can be reused immediately after being read once, but reuse may be prohibited until an arbitrarily specified number of readings are completed. To this end, for example, a read count designation field is provided in DRll, and a read count field is provided in place of the reusable flag in the VR and D registers 94.

そして、vRDレジスタの読出回数フィールドは、W’
l当て当初にDRの読出回数指定フィールドの値?転記
しておいて、以後、対応するVRからの読出しが行われ
る度に1ずつ減#シ、その1直が“0″の状態ヲ、1l
ij記実〃也例における再使用可能フラグが1″の状態
に相当するものとして扱う。
The read count field of the vRD register is W'
Is it the value of the DR read count specification field at the beginning of guessing? After transcribing it, the number is decremented by 1 every time reading from the corresponding VR is performed, and the state where the first shift is "0" is 1l.
It is assumed that the reusable flag in the example is equivalent to 1''.

また、前記実施例では、DRの内容はプログラムの実行
中固定されていることが前提となっているが、途中でD
Rの内容に更新できるようにすれば、DILの1−数基
上のベクトルデータを処理することができる。そのため
には、VR,D73の検索が、DI”tの蕾号ではなく
、その内容に基づいて行われるようにする。例えば、第
4図において1、比較回路77〜79が、一方の入力と
して、データ線22〜24の代りに、それらが指示する
DI(の内容であるデータ線91〜93を受け、また、
他方の入カフ4としても、VR,Dレジスタ94中それ
らに対応するフィールドの内容を受けるようにすればよ
い。
Furthermore, in the above embodiment, it is assumed that the contents of the DR are fixed during the execution of the program.
If it is possible to update to the contents of R, it is possible to process vector data on one or several bases of DIL. To do this, the search for VR, D73 is performed based on the contents of DI"t, rather than the bud number. For example, in FIG. , instead of the data lines 22-24, receive the data lines 91-93 which are the contents of the DI they point to, and
The other input cuff 4 may also receive the contents of the corresponding fields in the VR and D registers 94.

更に、以上の実施例では、命令におけるベクトルデータ
の指定が、DRe介して間接的に行なわれ、DR群がい
わば仮想■Rを溝数している形式となっているが、DR
群70全廃して、命令が直接にベクトルデータのスター
トアドレス、増分慣、ベクトル長等のベクトル指示情報
を与えるようにしてもよい。この場合、第4図の比較回
路77〜79は、命咎中のベクトル指示情報とVRDレ
ジスタ中のベクトル指示情報金、直接比較するものとな
り、データ線91〜93は、命令レジスタ21の出力と
なる。
Furthermore, in the embodiments described above, vector data specification in an instruction is performed indirectly via DRe, and the DR group is a form in which the virtual R is numbered, so to speak.
Group 70 may be completely abolished, and the instruction may directly provide vector instruction information such as the start address, increment number, vector length, etc. of vector data. In this case, the comparison circuits 77 to 79 in FIG. Become.

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

本発明によれば、プログラム作成側は物理的構造として
のVR,の1固敢やその割当てを考慮する必要がなく、
例えば、VRの開数が異なってもプログラムは変えなく
てよい。」た、再使用可能なVI(が存在”するにもか
かわらず池の\r1(が空ぐの金持つというような、時
間の空費を生じることもない。
According to the present invention, there is no need for the program creator to consider the specificity of VR as a physical structure or its allocation.
For example, even if the numerical aperture of VR is different, the program does not need to be changed. In addition, there is no wasted time, such as having to spend money on a pond's \r1( despite the existence of a reusable VI).

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

第1図は本発明の一実施例のブロックダイヤグラA 、
第2図は請合のフォーマット図、第3図はDRの内容の
模式図、第4図は第1図におけるDR−vf’(変換回
路のブロックダイヤグラム、第5図は第4図におけるV
ll、Dレジスタの内容の模式図である。 21・・・請合レジスタ、30・・・DR−VI(変換
回路、42・・・主3己tQ装置、43・・・ベクトル
レジスタ(VR)群、50〜53・・・VROに対する
書込/読出;till f1回路、70・・・ベクトル
テータ指示情報を保持するレジスタ(DB)群、73・
・・ベクトルレジスタディレクトリ、7G・・・リブレ
イスメ/ト回路。
FIG. 1 is a block diagram A of an embodiment of the present invention.
Figure 2 is a format diagram of the request, Figure 3 is a schematic diagram of the contents of DR, Figure 4 is a block diagram of the DR-vf' (conversion circuit) in Figure 1, and Figure 5 is a block diagram of the DR-vf' (conversion circuit) in Figure 4.
FIG. 11 is a schematic diagram of the contents of the ll and D registers. 21... Inquiry register, 30... DR-VI (conversion circuit, 42... Main tQ device, 43... Vector register (VR) group, 50-53... Writing to VRO /Read; till f1 circuit, 70...Register (DB) group for holding vector data instruction information, 73.
...Vector register directory, 7G...librace mate circuit.

Claims (1)

【特許請求の範囲】 1、複数のベクトルレジスタを有し、これらベクトルレ
ジスタ上のベクトルデータをオペランドとするベクトル
プロセッサにおいて、各ベクトルレジスタのベクトルデ
ータへの割当て状況を示す情報を保持するベクトルレジ
スタディレクトリと、このベクトルレジスタディレクト
リを検索して命令の指定するベクトルデータに割当てら
れたベクトルレジスタが存在するか否かを調査し、存在
する場合には当該ベクトルレジスタを指示する情報を出
力する回路と、存在しない場合にベクトルレジスタの割
当てを行つて、その結果を前記ベクトルレジスタディレ
クトリに登録するリプレイスメント回路とを備えること
を特徴とするベクトルレジスタ制御装置。 2、特許請求の範囲1において、命令におけるベクトル
データの指定とベクトルレジスタが割当てられたベクト
ルデータのベクトルレジスタディレクトリにおける表示
とが、ベクトルデータ指示情報を保持するベクトル指示
レジスタを特定することによつてなされることを特徴と
するベクトルレジスタ制御装置。
[Claims] 1. In a vector processor that has a plurality of vector registers and uses vector data on these vector registers as operands, a vector register directory that holds information indicating the allocation status of each vector register to vector data. and a circuit that searches this vector register directory to check whether a vector register assigned to the vector data specified by the instruction exists, and if it exists, outputs information indicating the vector register; A vector register control device comprising: a replacement circuit that allocates a vector register if it does not exist and registers the result in the vector register directory. 2. In claim 1, the designation of vector data in an instruction and the display of vector data to which a vector register is allocated in a vector register directory are performed by specifying a vector instruction register that holds vector data instruction information. A vector register control device characterized in that:
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 true JPS6177968A (en) 1986-04-21
JPH0623976B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007097790A (en) * 2005-10-04 2007-04-19 Kuinraito Denshi Seiko Kk Needle width adjusting mechanism in binding machine

Citations (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

Patent Citations (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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007097790A (en) * 2005-10-04 2007-04-19 Kuinraito Denshi Seiko Kk Needle width adjusting mechanism in binding machine

Also Published As

Publication number Publication date
JPH0623976B2 (en) 1994-03-30

Similar Documents

Publication Publication Date Title
US4511964A (en) Dynamic physical memory mapping and management of independent programming environments
JP2750311B2 (en) Apparatus and method for controlling execution of data operations in a data processing device
US7434032B1 (en) Tracking register usage during multithreaded processing using a scoreboard having separate memory regions and storing sequential register size indicators
EP0523863B1 (en) Digital data processor for high level instructions
US3949379A (en) Pipeline data processing apparatus with high speed slave store
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
CN103218208B (en) For implementing the system and method for the memory access operation being shaped
US4675806A (en) Data processing unit utilizing data flow ordered execution
EP1050803B1 (en) Guarded computer instruction execution
JP2002521761A5 (en)
GB2322209A (en) Multi-tasking computer system has shared address space among multiple virtual address spaces
CN103425533A (en) Method and system for managing nested execution streams
JPH0571975B2 (en)
US3701977A (en) General purpose digital computer
IT8922593A1 (en) MULTIPROCESSOR SYSTEM WITH DISTRIBUTED RESOURCES WITH DYNAMIC REPLICATION OF GLOBAL DATA
US6338134B1 (en) Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data
JPH06242955A (en) Method and system for indexing assignment of middle memory buffer in superscalar processor system
JP2003058368A (en) Handling of coprocessor instruction in data processor
KR0122527B1 (en) Method and system for nonsequential instruction dispatch and execution a superscalar processor system
US4991083A (en) Method and system for extending address space for vector processing
CN102163140A (en) Data rearrangement method and rearrangement device thereof
JPH07319627A (en) External storage device
JP2851048B2 (en) Address generator
JPS6177968A (en) Controller of vector register
US4964037A (en) Memory addressing arrangement