JP3288326B2 - Vector processing equipment - Google Patents

Vector processing equipment

Info

Publication number
JP3288326B2
JP3288326B2 JP02253299A JP2253299A JP3288326B2 JP 3288326 B2 JP3288326 B2 JP 3288326B2 JP 02253299 A JP02253299 A JP 02253299A JP 2253299 A JP2253299 A JP 2253299A JP 3288326 B2 JP3288326 B2 JP 3288326B2
Authority
JP
Japan
Prior art keywords
instruction
vector
vector pipeline
pipeline operation
elements
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 - Fee Related
Application number
JP02253299A
Other languages
Japanese (ja)
Other versions
JP2000222390A (en
Inventor
英正 戸田
Original Assignee
甲府日本電気株式会社
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 甲府日本電気株式会社 filed Critical 甲府日本電気株式会社
Priority to JP02253299A priority Critical patent/JP3288326B2/en
Publication of JP2000222390A publication Critical patent/JP2000222390A/en
Application granted granted Critical
Publication of JP3288326B2 publication Critical patent/JP3288326B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ベクトル処理装置
に関し、各々のベクトルパイプライン演算部が独立して
命令発行制御を行うベクトル処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vector processing apparatus, and more particularly to a vector processing apparatus in which each vector pipeline operation unit independently controls instruction issuance.

【0002】[0002]

【従来の技術】図4はこの種の従来のベクトル処理装置
の一例を示し、命令の制御を行う命令制御部101と、
複数のベクトルパイプライン演算部111〜11nと、
これらベクトルパイプライン演算部111〜11n間の
データ移送を行うクロスバ20とで構成されている。
2. Description of the Related Art FIG. 4 shows an example of a conventional vector processing apparatus of this kind, which comprises an instruction control unit 101 for controlling an instruction,
A plurality of vector pipeline operation units 111 to 11n;
The crossbar 20 performs data transfer between the vector pipeline operation units 111 to 11n.

【0003】ベクトルパイプライン演算部111は、命
令制御部101からのベクトル命令を受けてベクトルパ
イプライン演算部内のリソース管理及びベクトル命令の
発行を行う命令実行制御手段104と、同期発行が必要
なベクトル命令発行において他ベクトルパイプライン演
算部との同期制御信号のやりとりを信号線103を介し
て行いベクトル命令発行の同期をとる同期判定手段10
5とを含んで構成されている。
[0003] A vector pipeline operation unit 111 receives instruction of a vector from the instruction control unit 101 and manages resources in the vector pipeline operation unit and issues a vector instruction. Synchronization control means 10 for exchanging a synchronization control signal with another vector pipeline operation unit via signal line 103 in issuing an instruction to synchronize the issuance of vector instructions.
5 is included.

【0004】また、ベクトルパイプライン演算部11n
もベクトルパイプライン演算部110と同様に、命令実
行制御手段104と、同期判定手段105とを含んで構
成されている。
The vector pipeline operation unit 11n
Similarly to the vector pipeline operation unit 110, the configuration includes an instruction execution control unit 104 and a synchronization determination unit 105.

【0005】ベクトル要素がインタリーブして割り当て
られる各ベクトルパイプライン演算部111〜11n
は、そのリソース状況に応じて独立に動作して与えられ
たベクトル命令の処理を行う。この際、与えられたベク
トル要素が各ベクトルパイプライン演算部内に閉じた処
理であれば必ずしも各ベクトルパイプライン演算部内の
演算回路108に対し同時に命令発行が行われる必要は
ない。しかし、ベクトルパイプライン演算部間において
ベクトル要素の移送が必要な命令やメモリアクセス命令
を実行する場合には各演算回路に対し同期して命令発行
が行われる必要がある。
Each of the vector pipeline operation units 111 to 11n to which the vector elements are allocated in an interleaved manner.
Operates independently according to the resource status and processes the given vector instruction. At this time, if the given vector element is processing closed in each vector pipeline operation unit, it is not always necessary to simultaneously issue instructions to the operation circuits 108 in each vector pipeline operation unit. However, when executing an instruction requiring transfer of a vector element or a memory access instruction between vector pipeline operation units, it is necessary to issue an instruction in synchronization with each operation circuit.

【0006】ベクトル命令の発行においては、ベクトル
要素の数(以下、ベクトル要素数と呼ぶ。)がベクトル
パイプライン演算部の数(以下、パイプライン数とい
う。)の整数倍となるとは限らない。このため、各演算
部間で異なった要素数の演算が行われることがある。
In issuing a vector instruction, the number of vector elements (hereinafter, referred to as the number of vector elements) is not always an integral multiple of the number of vector pipeline operation units (hereinafter, referred to as the number of pipelines). For this reason, the calculation of a different number of elements may be performed between the calculation units.

【0007】例えば、図5を参照すると、ベクトルパイ
プライン演算部の数が2である装置を考える。まず、ベ
クトル要素数が8であるベクトル命令Xが発行された場
合を仮定すると(T=0)、各ベクトルパイプライン演
算回路はそれぞれ4個のベクトル要素の演算を行うこと
になり、演算部間においてはずれは生じない(T=
4)。しかし、ベクトル要素が7であるベクトル命令Y
が発行された場合、パイプ数が2個であるからベクトル
パイプライン演算部111ではベクトル要素が4の演算
が、ベクトルパイプライン演算部11nではベクトル要
素が3の演算が行われることになる(T=7,8)。こ
のように、ベクトルパイプライン演算部間において処理
する要素数にばらつきが生じる場合、同期が必要でない
命令が発行され続けると命令発行タイミングに大きなず
れが生じることになる。
For example, referring to FIG. 5, consider an apparatus in which the number of vector pipeline operation units is two. First, assuming that a vector instruction X having eight vector elements is issued (T = 0), each vector pipeline arithmetic circuit performs an arithmetic operation on four vector elements, and a Does not occur at (T =
4). However, a vector instruction Y having a vector element of 7
Is issued, since the number of pipes is two, the vector pipeline operation unit 111 performs an operation with a vector element of 4 and the vector pipeline operation unit 11n performs an operation with a vector element of 3 (T = 7,8). As described above, in the case where the number of elements to be processed varies among the vector pipeline operation units, if instructions that do not need to be synchronized are continuously issued, a large difference occurs in instruction issuance timing.

【0008】そこで、従来のベクトル処理装置では、同
期が必要なベクトル命令を処理する際、ベクトルパイプ
ライン演算部間で同期をとって次の命令を演算回路に発
行していた。したがって、同期制御を行うために命令実
行制御手段104は与えられたベクトル命令が同期を必
要とする命令か否かを判別し、当該ベクトルパイプライ
ン演算部の同期判定手段105へそれぞれ通知しなけれ
ばならなかった。また、同期判定手段105は当該ベク
トルパイプライン演算部内の同期制御信号を信号線10
3を介して他のベクトルパイプライン演算部に通知する
と共に他のベクトルパイプライン演算部からの同期制御
信号の状態を受け取って、ベクトル命令が発行可能な状
態になったと判定すると当該命令実行制御手段104に
通知しなければならなかった。
Therefore, in the conventional vector processing apparatus, when processing a vector instruction requiring synchronization, the next instruction is issued to the arithmetic circuit while synchronizing between the vector pipeline arithmetic units. Therefore, in order to perform the synchronization control, the instruction execution control means 104 must determine whether or not the given vector instruction is an instruction requiring synchronization, and notify the synchronization determination means 105 of the vector pipeline operation unit, respectively. did not become. Further, the synchronization determination means 105 transmits the synchronization control signal in the vector pipeline operation unit to the signal line 10.
3 and the status of the synchronization control signal from the other vector pipeline operation unit is received, and when it is determined that the vector instruction can be issued, the instruction execution control means 104 had to be notified.

【0009】図6においては、パイプライン数が2、ベ
クトル命令におけるベクトル要素数を7とし、 命令A
→命令B→命令C(同期命令)→命令D(同期命令)の
順で命令列が処理される場合の動作例である。
In FIG. 6, the number of pipelines is 2, the number of vector elements in a vector instruction is 7, and an instruction A
This is an operation example in which an instruction sequence is processed in the order of → instruction B → instruction C (synchronous instruction) → instruction D (synchronous instruction).

【0010】命令A、命令Bはそれぞれベクトルパイプ
ライン演算部内に閉じた同期の必要ない演算命令である
とする。
It is assumed that the instructions A and B are operation instructions closed in the vector pipeline operation unit and need not be synchronized.

【0011】命令Aを処理するにあたって、ベクトルパ
イプライン演算部111の命令実行制御手段104では
ベクトルパイプライン演算部数、ベクトル要素数および
当該ベクトルパイプライン演算部が何番目の演算部であ
るかを示すパイプライン番号(この場合、ベクトルパイ
プライン演算部111を1番目、ベクトルパイプライン
演算部112を2番目とする)から処理要素数”4”を
算出する。これは当該ベクトルパイプライン演算部にお
ける演算処理要素の数であり、これを基に命令実行制御
部104におけるリソース管理と命令発行および演算を
行う(図6の時間T=0)。また、パイプライン演算部
112の命令実行制御部104も同様に、ベクトルパイ
プライン演算部数とベクトル要素数と当該ベクトルパイ
プライン演算部のパイプライン番号(=2)とから処理
要素数”3”を算出し、これを命令発行制御および演算
に使用する。命令Bに対しての動作もこれと同様であ
る。しかしながら、ベクトルパイプライン演算部111
とベクトルパイプライン演算部112との命令Bの発行
タイミングを比較すると、それぞれのベクトルパイプラ
イン演算部が独立して命令発行制御を行うため要素数の
違いから命令発行のタイミングにずれが生じてしまう
(T=3,4)。命令C,Dはベクトルパイプ間にまた
がってベクトル要素を処理する命令であるとする。この
場合、ベクトルパイプライン演算部111,112内の
ベクトル要素はクロスバ102を経由して他のベクトル
パイプライン演算部に移送され処理を行う必要があるた
め、ベクトルパイプライン演算部112がベクトルデー
タの送出と受け取りを同期して処理を行う必要がある。
In processing the instruction A, the instruction execution control means 104 of the vector pipeline arithmetic unit 111 indicates the number of vector pipeline arithmetic units, the number of vector elements, and the number of the vector pipeline arithmetic unit. The number of processing elements “4” is calculated from the pipeline number (in this case, the vector pipeline operation unit 111 is the first and the vector pipeline operation unit 112 is the second). This is the number of operation processing elements in the vector pipeline operation unit. Based on this, resource management, instruction issuance, and operation are performed in the instruction execution control unit 104 (time T = 0 in FIG. 6). Similarly, the instruction execution control unit 104 of the pipeline arithmetic unit 112 also calculates the number of processing elements “3” from the number of vector pipeline arithmetic units, the number of vector elements, and the pipeline number (= 2) of the vector pipeline arithmetic unit. Calculate and use this for instruction issue control and arithmetic. The operation for instruction B is the same. However, the vector pipeline operation unit 111
Comparing the issuance timing of the instruction B with the vector pipeline operation unit 112, the respective vector pipeline operation units independently control the instruction issuance, so that the instruction issuance timing is shifted due to the difference in the number of elements. (T = 3,4). Assume that instructions C and D are instructions that process vector elements across vector pipes. In this case, since the vector elements in the vector pipeline operation units 111 and 112 need to be transferred to another vector pipeline operation unit via the crossbar 102 for processing, the vector pipeline operation unit 112 It is necessary to synchronize sending and receiving.

【0012】このため、命令実行制御手段104は命令
C,Dの実行に先立ち同期命令発行であることを同期判
定手段105に通知し、他のベクトルパイプライン演算
部110の同期判定手段105に命令が発行可能である
ことを通知する(T=6、12)。命令実行制御手段1
04もまた、同様に実行している命令が終了すると、同
期判定手段105に通知し、他のベクトルパイプライン
演算部11nの同期判定手段105に命令が発行可能で
あることを通知する(T=8、13)。ベクトルパイプ
ライン演算部111および112は、各ベクトルパイプ
ライン演算部の同期判定手段の全てから同期制御信号が
通知されると次のベクトル命令の発行を行う(T=9、
104)。このように、全てのベクトルパイプライン演
算部111、112の同期制御信号が揃った時点ではじ
めて命令発行が可能となり、命令実行制御手段104か
らの命令発行のタイミングの同期がとられることにな
る。
Therefore, the instruction execution control means 104 notifies the synchronization determination means 105 that the synchronous instruction is issued prior to the execution of the instructions C and D, and instructs the synchronization determination means 105 of the other vector pipeline operation unit 110 to execute the instruction. (T = 6, 12). Instruction execution control means 1
Similarly, when the instruction being executed ends, the synchronization determination unit 105 is notified that the instruction is being executed, and the synchronization determination unit 105 of the other vector pipeline operation unit 11n is notified that the instruction can be issued (T = 8, 13). The vector pipeline operation units 111 and 112 issue the next vector instruction when the synchronization control signal is notified from all of the synchronization determination units of each vector pipeline operation unit (T = 9,
104). As described above, an instruction can be issued only when the synchronization control signals of all the vector pipeline operation units 111 and 112 are prepared, and the timing of instruction issuance from the instruction execution control unit 104 is synchronized.

【0013】[0013]

【発明が解決しようとする課題】上述の従来技術では、
同期が必要な命令を処理する場合、命令発行に先だって
同期制御信号のやりとりを行った上で発行を行うため、
命令の発行のために準備時間がかかり、余分な処理時間
を必要としていた。
In the above-mentioned prior art,
When processing an instruction that requires synchronization, the synchronization control signal is exchanged before the instruction is issued, and then issued.
Preparation time was required for issuing the instruction, and extra processing time was required.

【0014】本発明の目的は、ベクトル要素がそれぞれ
のベクトルパイプライン演算部にインタリーブして割り
付けられるベクトル処理装置において、同期処理にかか
るオーバヘッド時間を削減して処理の高速化を図ること
にある。
An object of the present invention is to reduce the overhead time required for synchronous processing in a vector processing device in which vector elements are allocated to respective vector pipeline arithmetic units in an interleaved manner, thereby speeding up processing.

【0015】[0015]

【課題を解決するための手段】上記課題を解決するため
に本発明のベクトル処理装置は、命令の制御を行う命令
制御部と、ベクトルデータがインタリーブして割り当て
られリソース状況により独立して命令発行制御を行う複
数のベクトルパイプライン演算部と、前記複数のベクト
ルパイプライン演算部間のデータ移送を行うクロスバと
を有するベクトル処理装置において、前記複数のベクト
ルパイプライン演算部はそれぞれ、前記複数のベクトル
パイプライン演算部のそれぞれにおける演算処理要素数
の中で最大となる演算処理要素数を制御要素数として求
める制御要素数判定手段と、命令の発行制御を行う命令
実行制御手段とを含み、前記命令実行制御手段は、前記
制御要素数判定手段により求められた制御要素数の値に
より次の命令の発行制御を行う。
In order to solve the above-mentioned problems, a vector processing apparatus according to the present invention comprises: an instruction control unit for controlling instructions; In a vector processing device having a plurality of vector pipeline operation units that perform control and a crossbar that performs data transfer between the plurality of vector pipeline operation units, the plurality of vector pipeline operation units are each provided with the plurality of vectors. A control element number determining unit for obtaining a maximum number of operation processing elements among the number of operation processing elements in each of the pipeline operation units as a control element number; and an instruction execution control unit for performing instruction issue control. The execution control means issues the next instruction based on the value of the number of control elements obtained by the control element number determination means. Performs control.

【0016】また、前記複数のベクトルパイプライン演
算部はそれぞれ、ベクトルパイプライン演算部間におい
てメモリアクセス命令に対する同期判定を行うメモリア
クセス命令同期判定手段をさらに含み、前記命令実行制
御手段は、メモリアクセス命令に対しては前記メモリア
クセス命令同期判定手段により他のベクトルパイプライ
ン処理装置との同期を判定して次の命令の発行制御を行
う。
Further, each of the plurality of vector pipeline operation units further includes a memory access instruction synchronization determination unit for performing a synchronization determination for a memory access instruction among the vector pipeline operation units, and the instruction execution control unit includes a memory access instruction unit. For the instruction, the memory access instruction synchronization determining means determines the synchronization with another vector pipeline processing device and controls the issuance of the next instruction.

【0017】[0017]

【0018】[0018]

【発明の実施の形態】次に本発明のベクトル処理装置の
実施の形態について図面を参照して詳細に説明する。
Next, an embodiment of a vector processing apparatus according to the present invention will be described in detail with reference to the drawings.

【0019】図1を参照すると、本発明の実施の形態
は、命令制御部1とクロスバ2と複数のベクトルパイプ
ライン演算部11〜1nとを有する。
Referring to FIG. 1, the embodiment of the present invention has an instruction control unit 1, a crossbar 2, and a plurality of vector pipeline operation units 11 to 1n.

【0020】命令制御部1は全命令の制御を行い、ベク
トル命令についてはベクトルパイプライン演算部11〜
1nに通知し、各ベクトルパイプライン演算部11〜1
nのベクトルレジスタに対しベクトル要素を割り付け
る。
The instruction control unit 1 controls all the instructions. For vector instructions, the vector pipeline operation units 11 to
1n, and each vector pipeline operation unit 11-1
Vector elements are allocated to n vector registers.

【0021】クロスバ2はベクトルパイプライン演算部
11〜1nからのデータを受け、ベクトルパイプライン
演算部間のデータ移送を行う。
The crossbar 2 receives data from the vector pipeline operation units 11 to 1n and transfers data between the vector pipeline operation units.

【0022】ベクトルパイプライン演算部11は、命令
制御部1からのベクトル命令を受けてベクトルパイプラ
イン演算部11内のリソース管理及びベクトル命令の演
算回路への発行を制御する命令実行制御手段4と、命令
実行制御手段4からの情報を受けて当該ベクトルパイプ
ライン演算部に割り付けられた演算を処理するベクトル
要素の数(以下、演算処理要素数という。)を求める演
算要素数判定手段6と、命令実行制御手段4からの情報
を受けて全てのベクトルパイプライン演算部の中での演
算処理要素数の最大値を求める制御要素数判定手段7
と、前記命令実行制御手段4からの情報を受けて他のベ
クトルパイプライン演算部へメモリアクセス命令の同期
制御信号を通知すると共に他のベクトルパイプライン演
算部から同期制御信号を受け取るメモリアクセス命令同
期判定手段5とを含む。
The vector pipeline operation unit 11 receives the vector instruction from the instruction control unit 1, and controls the resource management in the vector pipeline operation unit 11 and the issuance of the vector instruction to the operation circuit. An operation element number determination unit 6 for receiving information from the instruction execution control unit 4 and obtaining the number of vector elements for processing the operation allocated to the vector pipeline operation unit (hereinafter, referred to as the number of operation processing elements); Control element number judging means 7 which receives information from instruction execution control means 4 and obtains the maximum value of the number of operation processing elements in all vector pipeline operation units.
Receiving the information from the instruction execution control means 4 and notifying the synchronization control signal of the memory access instruction to another vector pipeline operation unit and receiving the synchronization control signal from the other vector pipeline operation unit. Determination means 5.

【0023】ベクトルパイプライン演算部12〜1nも
またベクトルパイプライン演算部11と同様に、命令実
行制御手段4と、演算要素数判定手段6と、制御要素数
判定手段7と、メモリアクセス命令同期判定手段5と含
む。
Similarly to the vector pipeline operation unit 11, the vector pipeline operation units 12 to 1n also include an instruction execution control unit 4, an operation element number determination unit 6, a control element number determination unit 7, and a memory access instruction synchronization unit. It includes determination means 5.

【0024】命令制御部1は、図示しない上位装置より
与えられる前命令に対する制御を行い、各ベクトルパイ
プライン演算部11〜1nに対して通知を行う。各ベク
トルパイプライン演算部11〜1nの命令実行制御手段
4は、当該ベクトルパイプライン演算部内のリソースの
使用状況によって命令を逐次発行していく。
The instruction control unit 1 controls a previous instruction given from a higher-level device (not shown) and notifies each of the vector pipeline operation units 11 to 1n. The instruction execution control means 4 of each of the vector pipeline operation units 11 to 1n sequentially issues instructions according to the use status of resources in the vector pipeline operation unit.

【0025】命令実行制御手段4では、演算要素数判定
手段6においてベクトル要素数、パイプライン数および
当該ベクトルパイプライン演算部が何番目の演算部であ
るかを示すパイプライン番号とから当該ベクトルパイプ
ライン演算部11の演算処理要素数を求め、この値を用
いて演算を行うよう演算回路8に通知する。さらに、制
御要素数判定手段7においてベクトル要素数とパイプ数
から全てのベクトルパイプライン演算部の中での最大の
処理要素数を求める。そして、この値を制御要素数とし
て用いるように命令実行制御手段4に通知する。命令実
行制御手段4はこの制御要素数を命令の発行サイクルと
して用い制御を行う。ベクトルパイプライン演算部12
〜1nもベクトルパイプライン演算部11と同様に動作
する。
In the instruction execution control means 4, the number of vector elements, the number of pipelines, and the pipeline number indicating the number of the vector pipeline operation unit in the operation element number determination means 6 are used to determine the vector pipeline. The number of calculation processing elements of the line calculation unit 11 is obtained, and the calculation circuit 8 is notified to perform calculation using this value. Further, the control element number determination means 7 obtains the maximum number of processing elements in all the vector pipeline operation units from the number of vector elements and the number of pipes. Then, it notifies the instruction execution control means 4 to use this value as the number of control elements. The instruction execution control means 4 performs control using the number of control elements as an instruction issue cycle. Vector pipeline operation unit 12
1n operate similarly to the vector pipeline operation unit 11.

【0026】ここで、演算処理要素数の求め方は、ベク
トル要素数をx、パイプライン数をy、パイプライン番
号をzとすると、 [x/y]+1 ( x/yの余り≧zの場合 ) [x/y] ( x/yの余り<zの場合 ) という式で求められる。ここで、[x/y]はxをyで
割った商を表す。
Here, the method of calculating the number of operation processing elements is as follows: When the number of vector elements is x, the number of pipelines is y, and the pipeline number is z, [x / y] +1 (the remainder of x / y ≧ z Case) [x / y] (Remainder of x / y <case of z). Here, [x / y] represents a quotient obtained by dividing x by y.

【0027】また、制御要素数は、 [x/y]+1 ( x/yの余りが0以外 ) [x/y] ( x/yの余りが0の時 ) として求められる。このように、各ベクトルパイプライ
ン演算部11〜1nが演算回路へ命令を発行するタイミ
ングを制御要素数に基づいて行うことで、終了のタイミ
ングが不定となるメモリアクセス命令を先行命令とする
ベクトル命令以外では全ベクトルパイプライン演算部1
1〜1nが同期制御の動作を要することなく同タイミン
グで命令を発行することが可能となる。
The number of control elements is obtained as [x / y] +1 (the remainder of x / y is other than 0) and [x / y] (when the remainder of x / y is 0). As described above, the timing at which each of the vector pipeline operation units 11 to 1n issues an instruction to the operation circuit is performed based on the number of control elements. Other than that, all vector pipeline operation unit 1
1 to 1n can issue instructions at the same timing without requiring the operation of synchronous control.

【0028】メモリアクセス命令においては、メモリ制
御部9から処理の終了タイミングをメモリアクセス命令
同期判定手段5に通知し、該情報を他のベクトルパイプ
ライン演算部と当該命令実行制御部4に同期制御信号と
して通知する。また、これと共に他のベクトルパイプラ
イン演算部からの同期制御信号を信号線3を介して受け
取る。メモリアクセス命令同期判定手段5は他のベクト
ルパイプライン演算部からの同期制御信号を全て受け取
ると、該情報を命令実行制御部4に通知する。他のベク
トルパイプライン演算部11〜1nも同様に動作し、こ
れにより他のベクトルパイプライン演算部のメモリアク
セス命令終了タイミングを知ることができ、以降のベク
トル命令の発行タイミングの同期をとることが可能とな
る。
For a memory access instruction, the memory control unit 9 notifies the memory access instruction synchronization determination unit 5 of the end timing of the processing, and the information is synchronously controlled by another vector pipeline operation unit and the instruction execution control unit 4. Notify as a signal. At the same time, it receives a synchronization control signal from another vector pipeline operation unit via the signal line 3. Upon receiving all the synchronization control signals from the other vector pipeline operation units, the memory access instruction synchronization determination unit 5 notifies the instruction execution control unit 4 of the information. The other vector pipeline operation units 11 to 1n operate in the same manner, whereby it is possible to know the memory access instruction end timing of the other vector pipeline operation units, and to synchronize the subsequent vector instruction issue timings. It becomes possible.

【0029】次に、図面を参照して本発明の実施の形態
の動作を説明する。
Next, the operation of the embodiment of the present invention will be described with reference to the drawings.

【0030】図2を参照すると、命令制御部1は、与え
られた命令を各ベクトルパイプライン演算部11〜1n
に対して割り当てる(図2のS1)。各ベクトルパイプ
ライン演算部11〜1nの命令実行制御手段4はそれぞ
れ、割り当てられた命令がメモリアクセス命令であるか
否かを判断する(S2)。メモリアクセス命令でなけれ
ば、演算要素数判定手段6によりベクトルパイプライン
演算部の数、ベクトル要素数および当該ベクトルパイプ
ライン演算部のパイプライン番号から当該ベクトルパイ
プライン演算部におけるベクトル要素の処理要素数を求
める(S3)。また、制御要素数判定手段によりベクト
ルパイプライン演算部の数およびベクトル要素数から制
御要素数を求める(S3)。命令実行制御手段4は、各
自の処理要素数により演算回路の実行を制御し、制御要
素数の時間が経過したかを監視する(S4)。制御要素
数の時間が経過したことを検出すると、命令実行制御手
段4は次の命令の発行を行う(S5)。一方、S2にお
いて割り当てられた命令がメモリアクセス命令であると
判断すると、命令実行制御手段4はメモリアクセスを実
行して、メモリアクセス命令同期判定手段5によりメモ
リ制御部9からの終了タイミングの通知を待ち受ける
(S6)。メモリアクセス命令同期判定手段5はメモリ
制御部9から終了タイミングの通知を受け取ると、信号
線3を介して他のベクトルパイプライン演算部のメモリ
アクセス命令同期判定手段5に同期制御信号を通知する
(S7)。メモリアクセス命令同期判定手段5は他のベ
クトルパイプライン演算部の全てのメモリアクセス命令
同期判定手段5から同期制御信号を受け取ったか判断し
(S8)、受け取っていれば同期制御処理が完了したこ
とを命令実行制御手段4に通知する(S9)。命令実行
制御手段4は同期制御処理の完了の通知を受け取ると次
の命令の発行を行う(S5へ)。
Referring to FIG. 2, instruction control unit 1 converts a given instruction into each of vector pipeline operation units 11 to 1n.
(S1 in FIG. 2). The instruction execution control means 4 of each of the vector pipeline operation units 11 to 1n determines whether the assigned instruction is a memory access instruction (S2). If the instruction is not a memory access instruction, the number of processing elements of the vector element in the vector pipeline operation unit is obtained from the number of vector pipeline operation units, the number of vector elements and the pipeline number of the vector pipeline operation unit by the operation element number determination unit 6. (S3). Further, the number of control elements is determined from the number of vector pipeline operation units and the number of vector elements by the control element number determination means (S3). The instruction execution control means 4 controls the execution of the arithmetic circuit by the number of processing elements of each, and monitors whether or not the time of the number of control elements has elapsed (S4). Upon detecting that the time equal to the number of control elements has elapsed, the instruction execution control means 4 issues the next instruction (S5). On the other hand, if it is determined in S2 that the assigned instruction is a memory access instruction, the instruction execution control means 4 executes a memory access, and the memory access instruction synchronization determination means 5 notifies the memory control unit 9 of the end timing. Wait (S6). Upon receiving the notification of the end timing from the memory control unit 9, the memory access instruction synchronization determining unit 5 notifies the memory access instruction synchronization determining unit 5 of the other vector pipeline operation unit of a synchronization control signal via the signal line 3 ( S7). The memory access instruction synchronization determining means 5 determines whether or not a synchronization control signal has been received from all the memory access instruction synchronization determining means 5 of the other vector pipeline operation units (S8). It notifies the instruction execution control means 4 (S9). When receiving the notification of the completion of the synchronous control processing, the instruction execution control means 4 issues the next instruction (to S5).

【0031】次に、図面を参照して本発明の動作例を詳
細に説明する。
Next, an example of the operation of the present invention will be described in detail with reference to the drawings.

【0032】図3はベクトルパイプライン演算部が
“2”、ベクトル要素数が“7”である場合の例であ
り、 命令A→命令B→命令C(メモリアクセス命令)→命令
D→命令E の命令列を処理した場合の動作例である。ここで、命令
Aおよび命令Bは同期を必要としない命令であり、命令
Cはメモリアクセス命令、命令Dおよび命令Eは同期を
必要とする命令とする。
FIG. 3 shows an example in which the vector pipeline operation unit is "2" and the number of vector elements is "7". Instruction A → Instruction B → Instruction C (Memory Access Instruction) → Instruction D → Instruction E This is an operation example when the instruction sequence is processed. Here, instructions A and B are instructions that do not require synchronization, instruction C is a memory access instruction, and instructions D and E are instructions that require synchronization.

【0033】まず、命令Aが演算回路に対して発行され
ると、ベクトルパイプライン演算部11では、演算要素
数判定手段6によりパイプライン数とベクトル要素数お
よび当該パイプライン番号(この場合ベクトルパイプラ
イン演算部11を1番、ベクトルパイプライン演算部1
2を2番とする)から処理要素数”4”が算出され、制
御要素数判定手段7によりパイプ数とベクトル要素から
制御要素数”4”がそれぞれ算出される。命令実行制御
手段4はこれらをもとにベクトルパイプライン演算部1
1のリソース管理と命令発行を行う。同様にベクトルパ
イプライン演算部12においては、演算要素数判定手段
7により処理要素数”3”が算出され、制御要素数判定
手段6ではパイプ数とベクトル要素数から制御要素数”
4”が算出される。そして、ベクトルパイプライン演算
部12の命令実行制御手段4はこれらをもとにベクトル
パイプライン演算部12のリソース管理と命令発行を行
う。
First, when the instruction A is issued to the arithmetic circuit, in the vector pipeline arithmetic unit 11, the number of arithmetic elements and the number of vector elements and the pipeline number (in this case, the vector pipe) The line operation unit 11 is the first, the vector pipeline operation unit 1
The number of processing elements “4” is calculated from “2” as 2), and the number of control elements “4” is calculated from the number of pipes and the vector element by the control element number determination means 7. The instruction execution control means 4 uses the vector pipeline operation unit 1
1 for resource management and instruction issuance. Similarly, in the vector pipeline operation unit 12, the number of processing elements "3" is calculated by the operation element number determination means 7, and the control element number determination means 6 calculates the number of control elements "
4 ″. Then, the instruction execution control means 4 of the vector pipeline operation unit 12 performs resource management and instruction issuance of the vector pipeline operation unit 12 based on these.

【0034】これにより、処理要素数”4”のベクトル
パイプライン演算部11では、サイクルタイムが“4”
経過、すなわち、先行するベクトル命令の処理が終了す
るとともに演算回路に対して次のベクトル命令の発行が
行われる。一方、処理要素数”3”のベクトルパイプラ
イン演算部12では、サイクルタイムが“4”経過、す
なわち、前の処理が終わってからサイクルタイムが
“1”経過すると次のベクトル命令が発行される。
Thus, in the vector pipeline operation unit 11 having the number of processing elements “4”, the cycle time is “4”.
The progress, that is, the processing of the preceding vector instruction ends, and the next vector instruction is issued to the arithmetic circuit. On the other hand, in the vector pipeline operation unit 12 having the number of processing elements “3”, when the cycle time has elapsed “4”, that is, when the cycle time has elapsed “1” after the end of the previous processing, the next vector instruction is issued. .

【0035】従って、ベクトルパイプライン演算部11
では、時刻T=0に命令Aが発行されると、処理要素数
および制御要素数がともに“4”であることから、先行
する命令の終了に合わせてT=4、8のタイミングでそ
れぞれ命令Bおよび命令Cが発行される。一方、処理要
素数が“3”、制御要素数が“4”であるベクトルパイ
プライン演算部12では、命令AはT=3に終了する
が、制御要素数が“4”であるため、1クロック待った
後、T=4のタイミングで命令Bが発行される。命令C
もまた同様に命令Bの終了後1クロック待った後に発行
される。
Therefore, the vector pipeline operation unit 11
When the instruction A is issued at time T = 0, the number of processing elements and the number of control elements are both "4", so that at the timing of T = 4, 8 B and instruction C are issued. On the other hand, in the vector pipeline operation unit 12 in which the number of processing elements is “3” and the number of control elements is “4”, the instruction A ends at T = 3, but since the number of control elements is “4”, 1 After waiting for the clock, the instruction B is issued at the timing of T = 4. Instruction C
Is also issued after waiting one clock after the end of instruction B.

【0036】命令Cはメモリアクセス命令であるため、
メモリの状態によりベクトルロードデータがベクトルパ
イプライン演算部11,12へ到着するタイミングにば
らつきが生じることがある。このばらつきのタイミング
を予測して命令発行することは容易ではない。そこで、
メモリ制御部9が各ベクトルパイプライン演算部に対し
てメモリアクセスが終了するタイミングを予告し、この
情報を基にメモリアクセス命令同期判定手段5は信号線
3を介してベクトルパイプライン演算部11,12間で
同期制御情報のやり取りを行う。これによりベクトルパ
イプライン演算部11、12の間でメモリアクセス命令
の終了の同期を取ることができ、次命令の発行のタイミ
ングを合わせることが可能となる。図3においてはメモ
リアクセス命令Cを処理するのにパイプライン演算部間
でずれが生じ、同期制御に2Tを要したことを示してい
る。このように、直前の先行する命令がメモりアクセス
命令である場合に限っては後続のベクトル命令Dの発行
には演算部間で相互に同期制御信号のやりとりが必要と
なるが、各命令すべてに対して同期制御を行うことが必
要でなくなるため処理の高速化が可能となる。
Since instruction C is a memory access instruction,
The timing at which the vector load data arrives at the vector pipeline operation units 11 and 12 may vary depending on the state of the memory. It is not easy to predict the timing of this variation and issue an instruction. Therefore,
The memory control unit 9 notifies each vector pipeline operation unit of the timing at which the memory access ends, and based on this information, the memory access instruction synchronization determination unit 5 sends the vector pipeline operation unit 11, 12 exchanges synchronization control information. Thereby, the end of the memory access instruction can be synchronized between the vector pipeline operation units 11 and 12, and the timing of issuing the next instruction can be adjusted. FIG. 3 shows that a shift occurs between the pipeline operation units to process the memory access instruction C, and 2T is required for the synchronization control. As described above, if the immediately preceding instruction is a memory access instruction, the issuance of the subsequent vector instruction D requires the exchange of synchronization control signals between the operation units. It is no longer necessary to perform synchronous control on the data, so that the processing can be sped up.

【0037】以上のように、本発明の実施の形態によれ
ば、ベクトル命令を実行制御するにおいて、同期判定手
段によるベクトルパイプライン演算部間での同期制御処
理を行うことなく、次の命令を同期させて順次発行する
ことができることが可能になり、同期制御を行うための
余分なオーバヘッドを削減してベクトル命令の実行処理
を高速化することができる。
As described above, according to the embodiment of the present invention, in controlling the execution of the vector instruction, the next instruction is executed without performing the synchronization control processing between the vector pipeline operation units by the synchronization determining means. This makes it possible to issue the instructions sequentially in synchronization with each other, thereby reducing the extra overhead for performing the synchronization control and speeding up the execution of the vector instruction.

【0038】[0038]

【発明の効果】以上の説明で明らかなように、本発明に
よると、全ベクトルパイプライン演算部の命令発行タイ
ミングを予測した制御構成とすることで、従来の同期を
とりながら命令発行を行う場合の同期処理にかかるオー
バーヘッドを削減し、処理の高速化を図ることが可能と
なる。
As is apparent from the above description, according to the present invention, by adopting a control configuration in which the instruction issue timing of all vector pipeline operation units is predicted, it is possible to issue instructions in a conventional synchronous manner. It is possible to reduce the overhead required for the synchronous processing and to increase the processing speed.

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

【図1】本発明の実施の形態の構成を示すブロック図で
ある。
FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention.

【図2】本発明の実施の形態の動作を表すフローチャー
トである。
FIG. 2 is a flowchart showing the operation of the embodiment of the present invention.

【図3】本発明の実施の形態の動作例を表すタイミング
チャートである。
FIG. 3 is a timing chart illustrating an operation example of the exemplary embodiment of the present invention.

【図4】従来の装置の構成を示すブロック図である。FIG. 4 is a block diagram showing a configuration of a conventional device.

【図5】従来の装置の動作例を表すタイミングチャート
である。
FIG. 5 is a timing chart illustrating an operation example of a conventional device.

【図6】従来の装置の動作例を表すタイミングチャート
である。
FIG. 6 is a timing chart illustrating an operation example of a conventional device.

【符号の説明】[Explanation of symbols]

1、101 命令制御部 2、102 クロスバ 3、103 信号線 11〜1n、111〜11n ベクトルパイプライン演
算部 4、 命令実行制御手段 5 メモリアクセス命令同期判定手段 6 演算要素数判定手段 7 制御要素数判定手段 8、108 演算回路 104 命令実行制御手段 105 同期判定手段
DESCRIPTION OF SYMBOLS 1, 101 Instruction control part 2, 102 Crossbar 3, 103 Signal line 11-1n, 111-11n Vector pipeline operation part 4, Instruction execution control means 5 Memory access instruction synchronization judgment means 6 Operation element number judgment means 7 Number of control elements Determination means 8, 108 Arithmetic circuit 104 Instruction execution control means 105 Synchronization determination means

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平10−289224(JP,A) 特開 平9−198374(JP,A) 特開 平6−28388(JP,A) 特開 平5−35474(JP,A) 特開 平4−360241(JP,A) 特開 平4−30253(JP,A) 特開 平3−241452(JP,A) 特開 平2−127768(JP,A) 特開 平1−284967(JP,A) 特開 平1−261780(JP,A) 特開 昭63−155352(JP,A) 特開 昭62−187971(JP,A) 特開 昭61−95477(JP,A) 特開 昭60−215280(JP,A) 特開 昭60−77265(JP,A) 特開 昭57−113175(JP,A) 特開 昭57−64863(JP,A) 特開 昭57−39474(JP,A) 特開 昭51−10746(JP,A) 泉沢裕之、他2名,多重並列パイプラ イン方式によるベクトル計算機,第30回 (昭和60年前期)全国大会講演論文集 (1),日本,社団法人情報処理学会, 1985年 3月13日,p.101−102 (58)調査した分野(Int.Cl.7,DB名) G06F 17/16 G06F 15/16 - 15/177 G06F 9/38 ────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-10-289224 (JP, A) JP-A-9-198374 (JP, A) JP-A-6-28388 (JP, A) JP-A-5-1983 35474 (JP, A) JP-A-4-360241 (JP, A) JP-A-4-30253 (JP, A) JP-A-3-241452 (JP, A) JP-A-2-127768 (JP, A) JP-A-1-284967 (JP, A) JP-A-1-261780 (JP, A) JP-A-63-155352 (JP, A) JP-A-62-187971 (JP, A) JP-A-61-95477 (JP, A) JP-A-60-215280 (JP, A) JP-A-60-77265 (JP, A) JP-A-57-113175 (JP, A) JP-A-57-64863 (JP, A) Japanese Patent Laid-Open No. 57-39474 (JP, A) JP-A-51-10746 (JP, A) Hiroyuki Izumisawa, two others, multiple parallel pipeline system That vector computer, the 30th (Showa 60 years the previous fiscal year) National Conference Papers (1), Japan, Japan Information Processing Society of Japan, March 13, 1985, p. 101-102 (58) Field surveyed (Int.Cl. 7 , DB name) G06F 17/16 G06F 15/16-15/177 G06F 9/38

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】命令の制御を行う命令制御部と、ベクトル
データがインタリーブして割り当てられリソース状況に
より独立して命令発行制御を行う複数のベクトルパイプ
ライン演算部と、前記複数のベクトルパイプライン演算
部間のデータ移送を行うクロスバとを有するベクトル処
理装置において、 前記複数のベクトルパイプライン演算部はそれぞれ、前
記複数のベクトルパイプライン演算部のそれぞれにおけ
る演算処理要素数の中で最大となる演算処理要素数を制
御要素数として求める制御要素数判定手段と、 命令の発行制御を行う命令実行制御手段とを含み、 前記命令実行制御手段は、前記制御要素数判定手段によ
り求められた制御要素数の値により次の命令の発行制御
を行うことを特徴とするベクトル処理装置。
An instruction control unit for controlling instructions; a plurality of vector pipeline arithmetic units for interleaving and assigning vector data and independently controlling instruction issuance according to resource status; and the plurality of vector pipeline arithmetic units. A vector processing device having a crossbar for transferring data between units, wherein each of the plurality of vector pipeline arithmetic units has a maximum number of arithmetic processing elements among the number of arithmetic processing elements in each of the plurality of vector pipeline arithmetic units. A control element number determining unit that determines the number of elements as a control element number; and an instruction execution control unit that performs instruction issue control, wherein the instruction execution control unit determines the number of control elements determined by the control element number determining unit. A vector processing device for controlling issuance of a next instruction according to a value.
【請求項2】前記複数のベクトルパイプライン演算部は
それぞれ、ベクトルパイプライン演算部間においてメモ
リアクセス命令に対する同期判定を行うメモリアクセス
命令同期判定手段をさらに含み、 前記命令実行制御手段は、メモリアクセス命令に対して
は前記メモリアクセス命令同期判定手段により他のベク
トルパイプライン処理装置との同期を判定して次の命令
の発行制御を行うことを特徴とする請求項1記載のベク
トル処理装置。
2. The method according to claim 1, wherein each of the plurality of vector pipeline operation units further includes a memory access instruction synchronization determination unit that performs a synchronization determination on a memory access instruction among the vector pipeline operation units. 2. The vector processing device according to claim 1, wherein for the instruction, the memory access instruction synchronization determination unit determines synchronization with another vector pipeline processing device and controls the issuance of the next instruction.
JP02253299A 1999-01-29 1999-01-29 Vector processing equipment Expired - Fee Related JP3288326B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02253299A JP3288326B2 (en) 1999-01-29 1999-01-29 Vector processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02253299A JP3288326B2 (en) 1999-01-29 1999-01-29 Vector processing equipment

Publications (2)

Publication Number Publication Date
JP2000222390A JP2000222390A (en) 2000-08-11
JP3288326B2 true JP3288326B2 (en) 2002-06-04

Family

ID=12085420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02253299A Expired - Fee Related JP3288326B2 (en) 1999-01-29 1999-01-29 Vector processing equipment

Country Status (1)

Country Link
JP (1) JP3288326B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5255885B2 (en) * 2008-04-02 2013-08-07 株式会社日立製作所 Vector processor controller

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
泉沢裕之、他2名,多重並列パイプライン方式によるベクトル計算機,第30回(昭和60年前期)全国大会講演論文集(1),日本,社団法人情報処理学会,1985年 3月13日,p.101−102

Also Published As

Publication number Publication date
JP2000222390A (en) 2000-08-11

Similar Documents

Publication Publication Date Title
JPS6131502B2 (en)
JPH02238553A (en) Multiprocessor system
JPH036534B2 (en)
JPH06187303A (en) Method and processor for synchronous processing
JP3288326B2 (en) Vector processing equipment
JP3526492B2 (en) Parallel processing system
JPH02105961A (en) Multiprocessor synchronization system
JP2944111B2 (en) Request control method and storage control device
JPH05282242A (en) Bus control system
JPS629460A (en) Instruction control system for multi-processor system
JP4134371B2 (en) I / O bus bridge device
JP4472402B2 (en) Bus equipment
JPS5844266B2 (en) Multiprocessor parallel operation execution processing method
JP2900581B2 (en) Instruction control pipeline structure
JP2001184340A (en) Information processor and method for synchronizing plural vector processors
JPH022178B2 (en)
JPH0685166B2 (en) Instruction control method for multiprocessor system
JP2002222161A (en) Semiconductor device, and method of transferring data
JPH02140852A (en) Dma transfer controller
JPH05128279A (en) One-chip microcomputer
JP3583032B2 (en) Vector diffusion processor
JPS6280750A (en) Data transfer device for system bus
JPH027099B2 (en)
JPS61174851A (en) Bus control system
JPH0448262B2 (en)

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020212

LAPS Cancellation because of no payment of annual fees