JPH0283779A - Instruction execution control method for vector processing equipment - Google Patents
Instruction execution control method for vector processing equipmentInfo
- Publication number
- JPH0283779A JPH0283779A JP23505788A JP23505788A JPH0283779A JP H0283779 A JPH0283779 A JP H0283779A JP 23505788 A JP23505788 A JP 23505788A JP 23505788 A JP23505788 A JP 23505788A JP H0283779 A JPH0283779 A JP H0283779A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- vector
- vector register
- register
- work
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Advance Control (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、複数のパイプライン処理機構から成るベクト
ル処理装置の制御方式に係り、特に、パイプライン処理
機構における資源待ちの無駄な空き時間を排除し、効率
良くベクトル命令を処理するために用いて好適なベクト
ル処理装置の命令実行制御方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a control method for a vector processing device comprising a plurality of pipeline processing mechanisms. The present invention relates to an instruction execution control method for a vector processing device that is suitable for eliminating vector instructions and efficiently processing vector instructions.
複数のパイプライン処理機構と複数本のベクトルレジス
タから成るベクトル処理装置において、ベクトル命令を
実行する場合、処理装置は、前もって、該命令が使用す
るパイプライン処理機構(リソースとも呼ぶ)やベクト
ルレジスタが“空5状態になっているか否かを検査する
ことが必要である。もし、これらが“空”状態でなけれ
ば(これをリソース・コンフリクト、レジスタ・コンフ
リクトと呼ぶ)該命令の実行は待たされることになる。When executing a vector instruction in a vector processing device consisting of multiple pipeline processing mechanisms and multiple vector registers, the processing device must determine in advance the pipeline processing mechanisms (also called resources) and vector registers used by the instruction. It is necessary to check whether they are in the "empty" state. If they are not in the "empty" state (this is called a resource conflict or register conflict), execution of the instruction will be delayed. It turns out.
このようなコンフリクトが発生すると、後続の命令が割
付けられたリソースやレジスタに空時間が生じてしまい
、これがシステムの性能を低下させることになる。この
性能低下を改善する従来技術として、例えば、その一つ
に「チエイニング」と呼ばれる技術が知られている。こ
の技術は、先行するベクトル命令のへクトルレジヌタへ
の書込が全て終了しなくても、書込まれた要素に関して
は、後続命令での読み出しを行なうよう処理するもので
ある。即ち、二つのパイプラインを連結(チエイン)し
て処理するわけである。このチエイニングにより、レジ
スタコンフリクトによるパイプライン処理機構の無駄な
空時間の発生を抑えることができる。When such a conflict occurs, idle time occurs in resources and registers to which subsequent instructions are allocated, which reduces system performance. As a conventional technique for improving this performance degradation, for example, a technique called "chaining" is known. This technique processes so that even if writing to the vector register by the preceding vector instruction is not completed, the written element can be read by the subsequent instruction. In other words, processing is performed by connecting two pipelines (chain). This chaining can suppress the occurrence of wasted idle time in the pipeline processing mechanism due to register conflicts.
なお、このようなチエイニングに関する技術は、「日経
エレクトロニクス、1,984.11.19、第262
頁から第264頁」、「日経エレクトロニクス、198
3.4.、LL第147頁から第148頁」等において
論じられたものが知られている。The technology related to chaining is described in "Nikkei Electronics, 1,984.11.19, No. 262.
page to page 264”, “Nikkei Electronics, 198
3.4. , LL, pages 147 to 148" are known.
また、リソース・コンフリクト時の処理装置性能低下防
止対策として、各リソースに次に実行すべき命令のバッ
ファを設け、実行中の命令終了後直ちに次の命令を実行
する方式も提案されている。Furthermore, as a measure to prevent processing device performance from deteriorating in the event of a resource conflict, a method has been proposed in which each resource is provided with a buffer for the next instruction to be executed, and the next instruction is executed immediately after the currently executed instruction is completed.
この技術は、命令起動管理回路とリソース間の制御信号
の送受における無駄時間を排除して、処理装置の性能低
下を防止するものである。This technique eliminates wasted time in transmitting and receiving control signals between an instruction activation management circuit and resources, thereby preventing performance degradation of the processing device.
ところが、前記従来技術は、続出中のベクトルレジスタ
に対する書込動作のチエイニングについては考慮されて
いなかった。すなわち、前記従来技術は、先行命令によ
るベクトルレジスタの続出が終了するまで、該ベクトル
レジスタに書込む後続命令の発行もしくは実行を抑止す
るように制御するものであり、また、前記以外の場合、
例えば、先行する命令によるレジスタ続出中の後続命令
による続出、または、ベクトルレジスタ周辺回路のレジ
スタ間共用によるコンフリクi−発生時にも、後続命令
の発行もしくは実行を抑止するものであった。However, the prior art does not take into account chaining of write operations to vector registers that are being executed one after another. That is, in the prior art, the issuance or execution of subsequent instructions that write into the vector register is inhibited until the successive writing of the vector register by the preceding instruction is completed, and in cases other than the above,
For example, the issuance or execution of a subsequent instruction is inhibited even when a subsequent instruction continues to issue a register while a preceding instruction is issuing a register, or when a conflict occurs due to shared registers in a vector register peripheral circuit.
一例として、次の簡単なプログラムを考える。As an example, consider the following simple program.
これを、ベクトル処理装置で実行する場合のベクトル命
令列は、
となる。ここでVRはベクトルレジスタである。The vector instruction sequence when this is executed by a vector processing device is as follows. Here, VR is a vector register.
この場合、VROは、L oad命令による書込と、S
tore命令による読出でコンフリクトが発生するが
、前記チエイニング技術により回避可能である。In this case, the VRO performs writing using the Load command and S
Although a conflict occurs when reading by the tore instruction, it can be avoided by using the chaining technique described above.
ところが、前記ベクトル命令を、最大ベクトル長50の
装置で処理することを考えると状況は変化する。つまり
、前記ベクトル命令は、ベクトル長100のベクトル処
理であるので、前記ベクトル長50の装置では、上記ベ
クトル命令を2回実行する必要が生じるため、1回目の
S tore命令と2回目のL oad命令でVROが
ぶつかることになる。However, the situation changes when considering that the vector instruction is processed by a device with a maximum vector length of 50. In other words, since the vector instruction is vector processing with a vector length of 100, in a device with the vector length of 50, it is necessary to execute the vector instruction twice. The VRO will collide with the command.
一般に、このような場合のコンフリクト回避は、チエイ
ニング相当の技術の実現回路が複雑になるために行なわ
れない。この結果、2回目のL oad命令の実行は、
1回目のS tore命令の実行終了まで待たされるこ
とになる。In general, conflict avoidance in such cases is not performed because the implementation circuit of the technology equivalent to chaining becomes complicated. As a result, the second execution of the load instruction is
This means that the process will have to wait until the execution of the first Store instruction is completed.
ところが、パイプライン処理機構において、前記のよう
なコンフリクト発生時に抑止する必要がある処理は、ベ
クトルレジスタへの書込動作、または、ハク1−ルレジ
スクからの読出動作以降であり、該動作以前のパイプラ
イン・ステージでは、コンフリクトとは無関係に該命令
の処理を実行することが可能である。つまり、パイプラ
イン処理機構において、先行する命令によるベクトルレ
ジスタへのアクセスが完全に終了した段階で後続命令を
パイプライン処理機構に投入する従来技術は、コンフリ
クトとは無関係なステージ分の無駄な空時間が発生して
しまうという問題点を有し、さらに、コンフリクトによ
って発行を抑止させられた命令の後続命令が、コンフリ
クトを発生しない場合であっても、過剰に後続命令を止
めてし、まい、これが処理システム全体の性能低下を生
じさせるという問題点を有する。However, in the pipeline processing mechanism, the processing that needs to be suppressed when a conflict occurs as described above is the processing after the write operation to the vector register or the read operation from the hack register, and the At the line stage, processing of the instruction can be executed regardless of conflicts. In other words, in the pipeline processing mechanism, the conventional technology that inputs the subsequent instruction into the pipeline processing mechanism after the preceding instruction completely finishes accessing the vector register wastes idle time for stages unrelated to the conflict. Furthermore, even if the instruction subsequent to the instruction whose issuance was suppressed due to a conflict does not cause a conflict, it may excessively stop subsequent instructions. This has the problem of causing a decline in the performance of the entire processing system.
本発明の目的は、先行命令に対してコンフリクトを起こ
している後続命令の処理過程において、該後続命令の実
行に無駄な空時間を発生させず、且つ、該コンフリク1
−に無関係な命令の実行を過剰に抑止することを、比較
的簡単な制御機構により防止することのできるベクトル
処理装置の命令実行制御方式を提供することにある。An object of the present invention is to prevent wasteful idle time from occurring in the execution of a subsequent instruction that causes a conflict with a preceding instruction, and to prevent the conflict 1 from occurring.
An object of the present invention is to provide an instruction execution control system for a vector processing device that can prevent excessive inhibition of the execution of instructions unrelated to - by a relatively simple control mechanism.
本発明によれば、前記目的は、VRへの書き込みコンフ
リクトが発生していることを検出する回路と、そのコン
フリクトの解消を検出する回路と、命令によっては指定
することのできない、リソースとVRとの間に位置する
1本のワーク・ベクトル・レジスタく以下、WVRとい
う)と、要素対応にマスク値を保持するワーク・マスク
・レジスタ(以下、WMRという)と、WMRの制御回
路と、コンフリクトが検出されたとき、WVRが空かど
うかによって、該コンフリクトが検出された命令をWV
Rへの書き込みと、WVRからVRへの転送の2つに分
解して実行するか、あるいは、実行を待たせるかを制御
する手段とを備えることにより達成される。さらに、前
記目的は、WVRへの書き込みが始まる前に、コンフリ
クトが解消した場合に、書き込み先を元のVRに戻し、
2つ目の命令であるWVRからVRへの転送をキャンセ
ルする回路を備えることにより達成される。According to the present invention, the purpose is to provide a circuit for detecting the occurrence of a write conflict in the VR, a circuit for detecting resolution of the conflict, and a circuit for detecting the occurrence of a write conflict between a resource and the VR, which cannot be specified by an instruction. If there is a conflict between one work vector register (hereinafter referred to as WVR) located between When a conflict is detected, depending on whether WVR is empty or not, the instruction in which the conflict was detected is
This is achieved by providing a means for controlling whether to separate and execute the writing into R and the transfer from WVR to VR, or to make the execution wait. Furthermore, the purpose is to return the write destination to the original VR if the conflict is resolved before writing to the WVR begins;
This is achieved by providing a circuit that cancels the second instruction, the transfer from WVR to VR.
ベクトル処理装置が、ベクトル命令を実行しようとした
場合に、その命令で書き込みを行おうとするVRが、先
行する命令により使用中であるというコンフリクトが検
出され、また、その他のコンフリクトが無いこと、及び
WVRが空きであることが検出されると、ベクトル処理
装置は、前記ベクトル命令の書き込み先をWVRに変更
する指示を付加して、リソース制御回路に命令を発行し
、命令の実行を開始する。また、ベクトル処理装置は、
WVRの有効ビットを“1″とし、該命令の書き込み先
VR番号を保持する。When the vector processing device attempts to execute a vector instruction, a conflict is detected in which the VR to which the instruction is to write is in use by a preceding instruction, and there are no other conflicts; When it is detected that the WVR is empty, the vector processing device adds an instruction to change the writing destination of the vector instruction to the WVR, issues the instruction to the resource control circuit, and starts executing the instruction. In addition, the vector processing device is
The valid bit of WVR is set to "1" and the VR number to which the instruction is written is held.
前記ベクトル命令は、前述したように、その書き込み先
がWVRに変更されたことにより、コンフリクトが回避
され実行可能となる。但し、この場合、チエイニングカ
ウンタは、カウントアツプされない。また、WVRの有
効ビットが1″である間、書き込み先のVRの書き込み
ビジーは、“1”とされているので、以降のコンフリク
トの判定を誤ることがない。As described above, since the writing destination of the vector instruction is changed to WVR, conflicts can be avoided and the vector instruction can be executed. However, in this case, the chaining counter is not counted up. Furthermore, while the valid bit of the WVR is 1'', the write busy status of the write destination VR is set to ``1'', so that subsequent conflict determinations will not be made incorrectly.
前述のコンフリクトが解消された時点で、WMRに書き
込まれたデータは、順次本来のVRへ転送され、同時に
、該VRのチエイニングカウンタは、カウントアツプさ
れ、後続の命令のチエイニング動作が可能とされる。When the above-mentioned conflict is resolved, the data written in the WMR is sequentially transferred to the original VR, and at the same time, the chaining counter of the VR is incremented to enable the chaining operation of the subsequent instruction. Ru.
WVRからVRへの前述のデータの転送が終了すれば、
WVRの有効ビットが“O”とされ、WVRは解放され
る。Once the above data transfer from WVR to VR is completed,
The valid bit of WVR is set to "O" and WVR is released.
前記ベクトル命令の書き込み先を、−旦、WMRに変更
した後、WVRへの書き込みを開始する前に、コンフリ
クト状態が解消した場合、ベクトル処理装置は、該命令
の書き込み先をWVRへ変更する指示を取り消す指示を
発行し1.同時にWVRの有効ビットを“O″とする。If the conflict state is resolved after the write destination of the vector instruction is changed to WMR but before writing to WVR is started, the vector processing device issues an instruction to change the write destination of the instruction to WVR. Issue an instruction to cancel 1. At the same time, the valid bit of WVR is set to "O".
前述のようにして、本発明においては、コンフリクトが
発生した場合にも、リソースの空きを短縮することがで
きる。As described above, in the present invention, even when a conflict occurs, the amount of available resources can be reduced.
実行しようとするベクトル命令がマスク付命令で、前述
と同様なコンフリクトが検出された場合、ベクトルデー
力がWVR−書き込まれると同時に、付随するマスク値
がW M R’に保持され、本来のVRへの書き込みを
行う場合には、マスク値が“1”の場合のみ書き込み動
作を行えばよく、2俳j令に分割されても、その結果を
誤ることはない。If the vector instruction to be executed is a masked instruction and a conflict similar to the one described above is detected, the vector data is written to WVR, and at the same time, the associated mask value is held in WMR', and the original VR When writing to , it is only necessary to perform the write operation when the mask value is "1", and even if the data is divided into two orders, the result will not be incorrect.
以下、本発明によるベクトル処理装置の命令実行制御方
式の一実施例を図面により詳細に説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of an instruction execution control method for a vector processing device according to the present invention will be described in detail below with reference to the drawings.
第1図は本発明が適用されるベクトル処理装置の構成を
示すブロック図、第2図はベクトル命令解読部の構成を
示すブロック図である。第1図第2図において、1はス
カラ処理ユニット、2はベクトル命令実行制御装置、3
,4はアクセス命令処理ユニット、5.6は演算装置、
9は主記憶装置、20はベクトル命令解読部、21はベ
クトル命令実行制御部、70〜77はベクトル・レジス
タ(VR)、78ばワーク・ベクトル・レジスタ(WV
R) 、79ばワーク・マスク・レジスタ(WMR)
、80.81はスイッチング回路、200はベクトル命
令レジスタ、201はパイプライン装置状態表示回路、
202はベクトルレジスタ状態表示回路、203はワー
クベクトルレジスタ状態表示回路、204は実行可否判
定回路、205はコンフリクト解消検出回路、213は
ワークベクトルし・ジスタ制御カウンタ、218はデコ
ーダである。FIG. 1 is a block diagram showing the configuration of a vector processing device to which the present invention is applied, and FIG. 2 is a block diagram showing the configuration of a vector instruction decoding section. In FIG. 1 and FIG. 2, 1 is a scalar processing unit, 2 is a vector instruction execution control device, and 3 is a scalar processing unit.
, 4 is an access instruction processing unit, 5.6 is an arithmetic unit,
9 is a main memory, 20 is a vector instruction decoder, 21 is a vector instruction execution controller, 70 to 77 are vector registers (VR), and 78 is a work vector register (WV).
R), 79 work mask register (WMR)
, 80.81 is a switching circuit, 200 is a vector instruction register, 201 is a pipeline device status display circuit,
202 is a vector register status display circuit, 203 is a work vector register status display circuit, 204 is an execution feasibility determination circuit, 205 is a conflict resolution detection circuit, 213 is a work vector register/registration control counter, and 218 is a decoder.
第1図に示すベクトル処理装置ば、スカラ処理ユニット
1と、ベクトル命令実行制?fBI装置2と、アクセス
命令処理ユニ゛ント3,4、演算装置5゜6及び複数の
VR70−77から成るパイプライン処理装置とによっ
て構成されている。第1図において、WVR78は、命
令によっては直接指定できないものであり、また、WM
R79は、WVR78の各要素に対し、それぞれ1ビツ
トのマスクデータを保持するものである。The vector processing device shown in FIG. 1 includes a scalar processing unit 1 and a vector instruction execution system. It is composed of an fBI device 2, a pipeline processing device consisting of access command processing units 3 and 4, an arithmetic unit 5 and 6, and a plurality of VRs 70-77. In FIG. 1, WVR78 cannot be specified directly depending on the instruction, and WM
R79 holds 1-bit mask data for each element of WVR78.
前述のように構成されたベクI・生処理装置において、
スカラ処理ユニット1からベクトル命令実行制御装置2
に送られるベクトル命令は、該ベクトル命令制御装置2
内のベクトル命令解読部20により、解読、実行可否判
定、リソース割り付けが行われた後、ベクトル命令実行
制御部21から、ハイブライン処理装置のアクセス命令
処理ユニット3,4、VR70〜77及び演算袋25.
6への実行指示信号2a、2b、2cとして送出される
。なお、ベクトル命令実行制御装置2内のマスクレジス
タ22は、演算装置5により生成されるマスク情報を保
持しており、このマスク情報は、マスク付演算命令の実
行時に、パイプライン処理装置に送られ、VRへの書き
込み時のライトイネーブルとして使用される。In the vector I/raw processing apparatus configured as described above,
From the scalar processing unit 1 to the vector instruction execution control device 2
The vector command sent to the vector command control device 2
After the vector instruction decoding unit 20 in the computer decodes, determines whether or not to execute, and allocates resources, the vector instruction execution control unit 21 sends the access instruction processing units 3, 4, VRs 70 to 77, and arithmetic bag of the high line processing device. 25.
6 as execution instruction signals 2a, 2b, and 2c. Note that the mask register 22 in the vector instruction execution control device 2 holds mask information generated by the arithmetic device 5, and this mask information is sent to the pipeline processing device when a masked arithmetic instruction is executed. , is used as a write enable when writing to VR.
ベクトル命令解読部20の詳細な構成を示す第2図にお
いて、ベクトル命令レジスタ200は、スカラ処理ユニ
ット1から送られてくるベクトル命令を保持するレジス
タであり、パイプライン装置状態表示回路201は、ア
クセス命令処理装置3.4及び演算装置5,6のビジー
状態を表示する回路である。また、ベクトルレジスタ状
態表示回路202は、VR70〜77のビジー状態を、
ワーク−・クトルレジスタ状態表示回路203は、WV
R78のビジー状態と本来の書き込み先ベクトルレジス
タ番号とを表示する回路である。前記状態表示回路20
1,202のビジー状態は、ベクトル命令実行制御部2
1からのフリー信号21321bによってリセットされ
る。In FIG. 2 showing the detailed configuration of the vector instruction decoder 20, the vector instruction register 200 is a register that holds vector instructions sent from the scalar processing unit 1, and the pipeline device status display circuit 201 is a register that holds vector instructions sent from the scalar processing unit 1. This circuit displays the busy state of the instruction processing unit 3.4 and the arithmetic units 5 and 6. In addition, the vector register status display circuit 202 indicates the busy status of VRs 70 to 77.
The workpiece register status display circuit 203 is a WV
This circuit displays the busy state of R78 and the original write destination vector register number. The status display circuit 20
The busy state of 1,202 indicates that the vector instruction execution control unit 2
It is reset by the free signal 21321b from 1.
スカラ処理ユニット1から送られてくるベクトル命令は
、−・巳ヘク1ル命令レジスタ200に保持され、実行
可否判定回路204は、前述した状態表示回路201〜
203の表わす演算装置5゜6、VR70〜77及びW
VR7Bのビジー状態に基づき、この命令が実行可能か
否かを判定する。The vector instructions sent from the scalar processing unit 1 are held in the -.1 hex instruction register 200, and the executable/impossible judgment circuit 204 is operated by the status display circuits 201 to 201 described above.
Arithmetic device 5゜6, VR70-77 and W represented by 203
Based on the busy state of VR7B, it is determined whether this instruction can be executed.
すなわち、実行可否判定回路204は、前述の命令の実
行に必要な装置、レジスタが何れも空いている場合、実
行可と判定し、必要とする演算装置が空いていなければ
、実行不可と判定する。実行不可と判定された場合、前
述の命令は、演算装置5.6が空きとなるまでベクトル
命令レジスタ200に保持される。また、実行可否判定
回路204は、必要とずろ装置が空きであり、書き込み
先のVRのみが、読み出し中または書き込み中で空いて
いない場合、WVR713が空きであれば、実行可と判
定し、信号204a〜204Cを発して、ベクトル命令
実行制御部21へ命令を発行する。ここで、信号204
aは、実行開始指示信号、信号204bは、命令データ
、処理要素数を示す信号、信号204Cは、書き込み先
VRをWVR78に変更することを示す信号である。That is, the executable/impossible judgment circuit 204 determines that the above-mentioned instruction can be executed if the devices and registers necessary for executing it are all vacant, and determines that the instruction cannot be executed if the necessary arithmetic device is not vacant. . If it is determined that the instruction cannot be executed, the above-mentioned instruction is held in the vector instruction register 200 until the arithmetic unit 5.6 becomes vacant. In addition, if the necessary adjustment device is empty and only the write destination VR is being read or written and is not empty, and the WVR 713 is empty, the execution possibility determination circuit 204 determines that execution is possible, and sends a signal. 204a to 204C to issue instructions to the vector instruction execution control unit 21. Here, signal 204
A is an execution start instruction signal, a signal 204b is a signal indicating instruction data and the number of processing elements, and a signal 204C is a signal indicating changing the write destination VR to WVR78.
実行可否判定回路204は、前述のようにしてベクトル
命令実行制御部21に命令を発行すると同時に、信号2
04dを発行して、該命令で使用される装置及びレジス
タに対応する状態表示回路201.202の位置をビジ
ー表示とし、さらに、その命令がWVR78への書き込
み指示付きであれば、ワークベクトルレジスタ状態表示
回路203の有効ビ・ン)Vを1°゛とし7、本来の書
き込み先のVRO番月をRGN部に保持させる。The execution possibility determination circuit 204 issues an instruction to the vector instruction execution control unit 21 as described above, and at the same time outputs the signal 2.
04d, the position of the status display circuit 201, 202 corresponding to the device and register used in the instruction is displayed as busy, and if the instruction includes a write instruction to the WVR78, the work vector register status is The effective bin (V) of the display circuit 203 is set to 1°, and the VRO number and month of the original writing destination are held in the RGN section.
このワークベクトルレジスタ状態表示回路203の有効
ビットが“l”とされるので、実行可否判定回路204
は、以後、RGN部に保持されている番号のVRは書き
込め動作中であるとみなし、以降の命令実行可否判定を
正しく行うことができる。Since the valid bit of the work vector register status display circuit 203 is set to "l", the execution possibility determination circuit 204
Thereafter, it is assumed that the VR with the number held in the RGN section is in the writing operation, and it is possible to correctly determine whether or not subsequent commands can be executed.
−1り1−ル実行制御部21は、VR70〜77に対応
してチエイニングカウンタが儂えられ、VRに書き込み
を行ったとき“→−1゛を行′い、VRから読み出し、
を行ったとき“−1”を行うようにして、読み出し7が
書き込みを追い越さないような制御を行っている。-1 R1- The chaining counter is set corresponding to VR70 to 77, and when writing is performed to VR, the rule execution control unit 21 performs "→-1", reads from VR,
Control is performed so that reading 7 does not overtake writing by setting it to "-1" when it is executed.
前述のようにして、WVR7Bへの書き込み指示付きの
命令が発行された場合、WVR78への書き込みで信号
21Cが与えられ、ベクトル命令解読部20内のワーク
ベクトルレジスタ制御カウンタ213がカウントアツプ
され、その書き込みが終了すれば、信号21dが与えら
れて、フリツプフロツプ210が1″にセットされる。As described above, when an instruction with a write instruction to the WVR 7B is issued, the signal 21C is given by writing to the WVR 78, the work vector register control counter 213 in the vector instruction decoder 20 is counted up, and the When writing is completed, the signal 21d is applied and the flip-flop 210 is set to 1''.
以上により、実行しようとする命令で使用するVRが先
行する命令で使用中である場合、そのVRに書き込むべ
きデータが、WVRに退避されたことになり、ベクトル
命令制御装置2は、次の命令の処理を行うことが可能と
なる。As described above, if the VR used by the instruction to be executed is being used by the preceding instruction, the data to be written to that VR has been saved to the WVR, and the vector instruction control device 2 It becomes possible to perform the following processing.
その後、コンフリクト解消検出回路205は、コンフリ
クトの解消、すなわち、WVR78に対するワークベク
トルレジスタ状態表示回路203のRGN部に保持され
ている番号と同一番号のVRの読み出し、書き込み再動
作の終了を監視し、この終了検出時点で、ANDゲート
208,209にパルス信号を送出する。この時点で、
WVRへの書き込み開始信号21eがすでに到達してい
れば、フリップフロップ206は1″となっており、こ
の結果、AND回路208は、WVR78からベクトル
レジスタへの転送許可を表わすフリップフロップ211
を“1”にセットする。また、WVR78への書き込み
開始信号21141がまだ到達していなければ、AND
回路209は、フリップフロップ212を“1″にセッ
トし、ベクトル命令実行制御部21に対してキャンセル
指示を送出し、書き込み先を本来のVR番号を持ったV
Rに切替えるように指示する。このとき、同時に、OR
回路216は、その出力を1″として、ワークベクトル
レジスタ状態表示回路203の有効ビットを“0”にリ
セットする。After that, the conflict resolution detection circuit 205 monitors the resolution of the conflict, that is, the completion of the read/write re-operation of the VR with the same number as the number held in the RGN section of the work vector register status display circuit 203 for the WVR 78, At this point in time when the end is detected, a pulse signal is sent to AND gates 208 and 209. at this point
If the write start signal 21e to the WVR has already arrived, the flip-flop 206 is 1'', and as a result, the AND circuit 208 outputs the flip-flop 211 indicating permission for transfer from the WVR 78 to the vector register.
is set to “1”. Also, if the write start signal 21141 to WVR78 has not arrived yet, AND
The circuit 209 sets the flip-flop 212 to "1", sends a cancel instruction to the vector instruction execution control unit 21, and changes the write destination to the V with the original VR number.
Instructs to switch to R. At this time, at the same time, OR
The circuit 216 sets its output to 1'' and resets the valid bit of the work vector register status display circuit 203 to “0”.
一方、フリップフロップ211が“1”にセットされた
とき、制御カウンタ213の出力が0″でなげれば、す
なわち、端子NZの出力が“1′″であれば、AND回
路217は、その出力を1″として、WVR7Bに対す
る読み出し信号217aをWVR78に送出し、同時に
この信号217aがデコーダ218にイネーブル信号と
して与えられ、本来のVRに対する書き込み信号218
a〜218hの1つが送出され、データ及びマスクビッ
トの転送が行われ、本来のVRへのデータの書き込みが
行われる。前述の信号218a〜218hは、同時に実
行制御部21へ送られ、該当するVRのチエイニングカ
ウンタをカウントアツプし、後続の命令とのチエイニン
グを可能とする。On the other hand, when the flip-flop 211 is set to "1", if the output of the control counter 213 is 0", that is, if the output of the terminal NZ is "1'", the AND circuit 217 is set to 1'', the read signal 217a for the WVR 7B is sent to the WVR 78, and at the same time, this signal 217a is given to the decoder 218 as an enable signal, and the write signal 218 for the original VR is sent to the WVR 78.
One of the signals a to 218h is sent out, data and mask bits are transferred, and data is originally written to the VR. The aforementioned signals 218a to 218h are simultaneously sent to the execution control unit 21 to count up the chaining counter of the corresponding VR to enable chaining with subsequent instructions.
また、実行制御部21からWVR78への書き込み終了
信号v21dが与えられ、フリップフロップ210が“
1″となった状態で、制御カウンタ213が“0、すな
わち、端子Zの出力が“1”となれば、AND回路21
5は、その出力を“1”として、OR回路214を通し
て、WVR78の読出し許可を示すフリップフロップ2
11を、またOR回路216を通して、ワークベクトル
レジスタ状態表示回路203の有効ビットVを、それぞ
れ“0”にリセットし、ベクトル命令実行制御部21に
信号215aを送出して動作の終了を報告する。Further, the write end signal v21d is given from the execution control unit 21 to the WVR 78, and the flip-flop 210 is “
1", if the control counter 213 becomes "0", that is, the output of the terminal Z becomes "1", the AND circuit 21
5 is a flip-flop 2 whose output is "1" and which indicates permission to read the WVR 78 through an OR circuit 214.
11 and the valid bit V of the work vector register status display circuit 203 are reset to "0" through the OR circuit 216, and a signal 215a is sent to the vector instruction execution control section 21 to report the completion of the operation.
前述した本発明の実施例は、ベクトルレジスタが空きで
ないようなコンフリクトが発生した場合、その時点にお
ける命令をWVRへの書き込みと、WVRからVRへの
転送の2つに分解して実行し、そのベクトルレジスタに
書き込む−゛きデータを、ワークベクトルレジスタに−
・旦退避して、命令の実行を進めることができるので、
効率良くベクトル命令の処理を行うことができる。In the embodiment of the present invention described above, when a conflict such as a vector register not being free occurs, the instruction at that point is divided into two parts, a write to the WVR and a transfer from the WVR to the VR, and executed. Write the data to the vector register to the work vector register.
・You can evacuate and proceed with the execution of the command,
Vector instructions can be processed efficiently.
前述した本発明の実施例は、WVRをVRと同等の構成
のものとしたが、WVRは、−船釣なデータバッファと
ポインタの組合せによって構成されてもよい。In the embodiment of the present invention described above, the WVR has the same configuration as the VR, but the WVR may also be configured by a combination of a data buffer and a pointer.
以」二説明したように、本発明によれば、実行しようと
する命令で使用するレジスタが、先行する命令によって
使用中であっても、そのレジスタに書き込むべきデータ
を、ワークベクトルレジスタに退避することにより、処
理を進めることができるので、パイプライン処理機構の
無駄な空時間の発生を抑止し、効率よくベクトル命令の
処理を実行することができる。As explained above, according to the present invention, even if the register used by the instruction to be executed is being used by a preceding instruction, the data to be written to the register is saved to the work vector register. This allows the processing to proceed, thereby preventing the pipeline processing mechanism from wasting idle time and efficiently processing vector instructions.
第1図は本発明が適用されるベクトル処理装置の構成を
示すブロック図、第2図はベクトル命令解読部の構成を
示すブロック図である。
1・・・・・・・・・スカラ処理ユニッI・、2・・・
・・・・・・ベクトル命令制御装置、3,4・・・・・
・・・・アクセス命令処理ユニット、5.6・・・・・
・・・・演算装置、9・・・・・・・・・主記憶装置、
20・・・・・・・・・ベクトル命令解読部、21・・
・・・・・・・ベクトル命令実行制御部、70〜77・
・・・・・・・・ベクトルレジスタ(VR)、78・・
・・・・・・・ワークベクトルレジスタ(WVR) 、
79・・・・・・・・・ワークマスクレジスタ(WMR
) 、80.81・・・・・・・・・スイッチング回路
、200・・・・・・・・・ベクトル命令レジスフ、2
01・・・・・・・・・パイプライン装置状態表示回路
、202・・・・・・・・・ベクトルレジスタ状態表示
回路、203・・・・・・・・・ワークベクトルレジス
タ状態表示回路、204・・・・・・・・・ベクトル実
行可否判定回路、205・・・・・・・・・コンフリク
ト解消検出回路、213・・・・・・・・・ワークベク
トルレジスタ制御カウンタ、218・・・・・・・・・
デコーダ。
79:
7−フ7ズ7レリ゛スタ(WMR)FIG. 1 is a block diagram showing the configuration of a vector processing device to which the present invention is applied, and FIG. 2 is a block diagram showing the configuration of a vector instruction decoding section. 1... Scalar processing unit I, 2...
...Vector instruction control device, 3, 4...
...Access command processing unit, 5.6...
... Arithmetic unit, 9... Main storage device,
20...Vector instruction decoding section, 21...
......Vector instruction execution control unit, 70-77.
・・・・・・Vector register (VR), 78...
・・・・・・Work vector register (WVR),
79... Work mask register (WMR
), 80.81...Switching circuit, 200...Vector instruction register, 2
01...Pipeline device status display circuit, 202...Vector register status display circuit, 203...Work vector register status display circuit, 204......Vector execution feasibility determination circuit, 205...Conflict resolution detection circuit, 213...Work vector register control counter, 218...・・・・・・・・・
decoder. 79: 7-f7z 7reister (WMR)
Claims (1)
該ベクトルレジスタ内のデータに対して、その複数要素
を連続的に処理する複数個のパイプライン処理機構とを
備え、各パイプライン処理機構に個別のベクトル命令を
割り当てて処理するベクトル処理装置において、命令に
より指定されるベクトルレジスタの他に、命令によつて
は直接指定不可能なワークベクトルレジスタと、各パイ
プラインに割り当てられる命令で指定されたベクトルレ
ジスタまたは該ベクトルレジスタへの書き込みパスが先
行する命令によつて使用中であるというコンフリクト状
態を検出する機構とを備え、コンフリクト状態が検出さ
れた場合、前記パイプラインに割り当てられる命令を、
前記ワークベクトルレジスタへの書き込みと、ワークベ
クトルレジスタからベクトルレジスタへの転送の2つに
分割して実行することを特徴とするベクトル処理装置の
命令実行制御方式。 2、前記ワークベクトルレジスタからベクトルレジスタ
への転送を行わせる命令を、該命令が実行可能となるま
で保持し、その後の命令が追い越して実行されることを
可能とし、ワークベクトルレジスタへの書き込み開始前
に、前記コンフリクトが解消した場合、直ちに、その書
き込み先を本来のベクトルレジスタに変更し、前記ワー
クベクトルレジスタからベクトルレジスタへの転送を行
わせる命令をキャンセルすることを特徴とする特許請求
の範囲第1項記載のベクトル処理装置の命令実行制御方
式。 3、前記ワークベクトルレジスタの各ベクトル要素に対
応したマスク情報を保持するマスクレジスタをさらに備
え、マスク付ベクトル命令の実行を可能としたことを特
徴とする特許請求の範囲第1項または第2項記載のベク
トル処理装置の命令実行制御方式。[Claims] 1. A vector register that holds data of multiple elements;
A vector processing device that includes a plurality of pipeline processing mechanisms that sequentially process multiple elements of data in the vector register, and that assigns and processes individual vector instructions to each pipeline processing mechanism, In addition to the vector register specified by the instruction, a work vector register that cannot be directly specified by the instruction and a vector register specified by the instruction assigned to each pipeline or a write path to the vector register precedes. and a mechanism for detecting a conflict state in which the instruction is being used by an instruction, and when a conflict state is detected, the instruction to be assigned to the pipeline is
An instruction execution control method for a vector processing device, characterized in that execution is divided into two parts: writing to the work vector register and transferring from the work vector register to the vector register. 2. Hold the instruction that causes the transfer from the work vector register to the vector register until the instruction becomes executable, allow subsequent instructions to overtake and execute, and start writing to the work vector register. If the conflict is resolved beforehand, the writing destination is immediately changed to the original vector register, and the instruction for causing the transfer from the work vector register to the vector register is canceled. An instruction execution control method for a vector processing device according to item 1. 3. Claims 1 or 2 further comprising a mask register that holds mask information corresponding to each vector element of the work vector register, making it possible to execute masked vector instructions. Instruction execution control method of the vector processing device described.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23505788A JPH0283779A (en) | 1988-09-21 | 1988-09-21 | Instruction execution control method for vector processing equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP23505788A JPH0283779A (en) | 1988-09-21 | 1988-09-21 | Instruction execution control method for vector processing equipment |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0283779A true JPH0283779A (en) | 1990-03-23 |
Family
ID=16980443
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP23505788A Pending JPH0283779A (en) | 1988-09-21 | 1988-09-21 | Instruction execution control method for vector processing equipment |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0283779A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010067141A (en) * | 2008-09-12 | 2010-03-25 | Nec Computertechno Ltd | Apparatus and method for controlling instruction issuance |
| JP2010218076A (en) * | 2009-03-16 | 2010-09-30 | Nec Computertechno Ltd | Vector arithmetic unit and vector arithmetic method |
-
1988
- 1988-09-21 JP JP23505788A patent/JPH0283779A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010067141A (en) * | 2008-09-12 | 2010-03-25 | Nec Computertechno Ltd | Apparatus and method for controlling instruction issuance |
| JP2010218076A (en) * | 2009-03-16 | 2010-09-30 | Nec Computertechno Ltd | Vector arithmetic unit and vector arithmetic method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1645968B1 (en) | Multi-threaded DMA | |
| US5363506A (en) | Information processor with delayed interrupt device | |
| JPS63127368A (en) | Vector processing device control method | |
| US6728797B2 (en) | DMA controller | |
| EP0166431B1 (en) | An information processing apparatus having an instruction prefetch circuit | |
| US4385365A (en) | Data shunting and recovering device | |
| US5701501A (en) | Apparatus and method for executing an atomic instruction | |
| CA1279407C (en) | Buffer storage control system | |
| JP3505728B2 (en) | Storage controller | |
| US6622181B1 (en) | Timing window elimination in self-modifying direct memory access processors | |
| JPH0283779A (en) | Instruction execution control method for vector processing equipment | |
| US6311266B1 (en) | Instruction look-ahead system and hardware | |
| EP0700005B1 (en) | Vector data bypass mechanism for vector computer | |
| JP3111052B2 (en) | Method and system for supplying data to a bus connected to a plurality of processors | |
| JPS6236575B2 (en) | ||
| US7124288B2 (en) | Programmable unit with a stack buffer storage device configurable into discrete shadow storage elements accessible by a plurality of command execution units | |
| JP3467188B2 (en) | Multiplexing bus order guarantee system. | |
| CN116088942B (en) | Instruction execution method, device, chip and computer equipment | |
| JPH044630B2 (en) | ||
| JP2594140B2 (en) | Data driven data processor | |
| JP2965045B2 (en) | Semiconductor integrated circuit device | |
| JPS6391756A (en) | Partial write instruction processing system for storage device | |
| JP2856709B2 (en) | Bus coupling system | |
| JPS6149695B2 (en) | ||
| JPS6174045A (en) | Channel control system in multi-processor system |