JP2555427B2 - Instruction execution serialization control method - Google Patents
Instruction execution serialization control methodInfo
- Publication number
- JP2555427B2 JP2555427B2 JP63264457A JP26445788A JP2555427B2 JP 2555427 B2 JP2555427 B2 JP 2555427B2 JP 63264457 A JP63264457 A JP 63264457A JP 26445788 A JP26445788 A JP 26445788A JP 2555427 B2 JP2555427 B2 JP 2555427B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- vector
- unit
- scalar
- serialization
- 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
Links
Landscapes
- Advance Control (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 〔概要〕 複数のスカラユニットとこれらのスカラユニットから
送られるベクトル命令を処理するベクトルユニットとを
備えた情報処理システムにおけるPOST命令およびWAIT命
令を用いた命令実行のシリアライズ制御方式に関し, スカラユニットごとにPOST命令に先行するベクトルST
ORE命令の完了を認識できるようにして,他のスカラユ
ニットの命令シーケンスの影響によるオーバヘッドをな
くすことを目的とし, ベクトルユニットはベクトル命令管理部および記憶制
御部を含み,ベクトル命令管理部は,入力されたベクト
ル命令を依頼元のスカラユニットごとに区別して管理す
るフラグ手段およびシリアライズ制御手段を有し,また
記憶制御部は,スカラユニットごとに反映すべきバッフ
ァ無効化アドレスの残り個数をカウントするシリアライ
ズカウンタをスカラユニット対応でもつことにより,POS
T命令に先行するベクトル命令の終了をスカラユニット
対応で認識し,シリアライズ制御を行うように構成し
た。DETAILED DESCRIPTION [Outline] Serialization control of instruction execution using a POST instruction and a WAIT instruction in an information processing system including a plurality of scalar units and a vector unit for processing vector instructions sent from these scalar units Regarding the method, the vector ST preceding the POST instruction for each scalar unit
The purpose is to recognize the completion of the ORE instruction and to eliminate the overhead due to the influence of the instruction sequence of other scalar units. The vector unit includes a vector instruction manager and a memory controller. The storage control unit has a flag unit and a serialization control unit that separately manage the generated vector instructions for each scalar unit of the request source, and the storage control unit counts the remaining number of buffer invalidation addresses to be reflected for each scalar unit. By having a counter for the scalar unit, the POS
The end of the vector instruction preceding the T instruction is recognized in correspondence with the scalar unit, and serialization control is performed.
本発明は,複数のスカラユニットとこれらのスカラユ
ニットから送られるベクトル命令を処理するベクトルユ
ニットとを備えた科学技術用計算機などの情報処理シス
テムにおけるPOST命令およびWAIT命令を用いた命令実行
のシリアライズ制御方式に関する。The present invention relates to serialization control of instruction execution using a POST instruction and a WAIT instruction in an information processing system such as a scientific and technological computer having a plurality of scalar units and a vector unit that processes vector instructions sent from these scalar units. Regarding the scheme.
このようなシステムでは,スカラ命令とベクトル命
令,あるいはベクトル命令とベクトル命令間で命令の先
行制御や並列実行が行われることがあるため,所定の命
令間での主記憶参照順序が保証されないことがある。従
って主記憶参照順序を保証するためにはベクトルオペレ
ーションのシリアライズを行う必要がある。In such a system, since a scalar instruction and a vector instruction, or an instruction advance control or parallel execution between instructions may be performed between vector instructions, the main memory reference order between certain instructions may not be guaranteed. is there. Therefore, it is necessary to serialize the vector operations in order to guarantee the main memory reference order.
ベクトルオペレーションのシリアライズとは,それ以
前に実行中である命令が生じる主記憶オペランドアクセ
スをそれよりも後に実行すべき命令の主記憶オペランド
アクセスが生じる前に終了させることである。The serialization of a vector operation is to terminate the main memory operand access of an instruction being executed before that before the main memory operand access of the instruction to be executed later occurs.
このベクトルオペレーションのシリアライズは,ベク
トル命令同士及びベクトル命令とスカラ命令の主記憶オ
ペランドアクセス間において意味をもち,スカラ命令間
ではもともと順序関係が保証されているため意味をもた
ない。The serialization of this vector operation has no meaning because it has a meaning between vector instructions and between main memory operand accesses of vector instructions and scalar instructions, and the order relation is originally guaranteed between scalar instructions.
POST命令とWAIT命令を用いたシリアライズ制御は,命
令シーケンス中でPOST命令に先行する全ての命令が終了
するまではWAIT命令に後続する命令の実行をインタロッ
クするものである。WAIT命令が後続命令のインタロック
を解除するためには,POST命令に先行する命令の終了を
認識する必要があるが,先行する命令がベクトルSTORE
命令である場合その終了は,ストアアドレスがバッファ
無効化アドレスとしてスカラユニット内のバッファに反
映されたときになる。Serialization control using the POST and WAIT instructions interlocks the execution of the instructions following the WAIT instruction until all the instructions preceding the POST instruction in the instruction sequence are completed. In order for the WAIT instruction to release the interlock of the subsequent instruction, it is necessary to recognize the end of the instruction preceding the POST instruction.
If it is an instruction, its end is when the store address is reflected in the buffer in the scalar unit as the buffer invalidation address.
ところでスカラユニットが複数ある場合には,それぞ
れのシリアライズ制御が混乱なく行われなければならな
いが,各スカラユニットの命令実行が他のスカラユニッ
トのシリアライズ制御により影響されてオーバヘッドが
増大することになり易い。By the way, when there are multiple scalar units, each serialization control must be performed without confusion, but the instruction execution of each scalar unit is affected by the serialization control of other scalar units, and the overhead tends to increase. .
本発明は,近年の科学技術用計算機システムにおける
高速化要求に応えるため,ベクトルオペレーションのシ
リアライズに伴うオーバヘッドの削減を図ることを意図
している。The present invention intends to reduce the overhead associated with the serialization of vector operations in order to meet the demand for high speed in recent scientific and technological computer systems.
第7図に,本発明が適用される従来の科学技術用計算
機システムの構成例を示す。FIG. 7 shows a configuration example of a conventional science and technology computer system to which the present invention is applied.
第7図において,1−0および1−1はスカラユニット
SU−0およびSU−1,2はベクトルユニットVU,3はベクト
ル実行部,4および5は乗算・加算パイプラインMA,7はベ
クトルレジスタVR,8および9はロード・ストアパイプラ
インLOAD/STORE,10は主記憶装置MSU,11はベクトル制御V
CU,12はベクトル命令管理部Vi,13はベクトル記憶管理部
VS,14は記憶制御部MCUである。In FIG. 7, 1-0 and 1-1 are scalar units.
SU-0 and SU-1,2 are vector units VU, 3 is a vector execution unit, 4 and 5 are multiplication / addition pipelines MA, 7 are vector registers VR, 8 and 9 are load / store pipelines LOAD / STORE, 10 is main memory MSU, 11 is vector control V
CU, 12 is a vector instruction management unit Vi, 13 is a vector storage management unit
VS, 14 is a storage control unit MCU.
スカラユニットSU−0,SU−1は,各々プログラム中の
命令を順次フェッチし,スカラ命令は自身で実行し,ベ
クトル命令はベクトルユニットVUへ送って実行させる。The scalar units SU-0 and SU-1 sequentially fetch the instructions in the program, execute the scalar instructions by themselves, and send the vector instructions to the vector unit VU for execution.
ベクトルユニットVUのベクトル制御部VCUにおいて,
ベクトル命令管理部ViはスカラユニットSU−0,S−1か
ら送出されたベクトル命令を受け取り,実行を管理す
る。主記憶アクセスを行う場合は,ベクトル記憶管理部
VSが起動され,アドレスが発生されて,記憶制御部MCU
を介して主記憶装置MSUへのアクセスが行われる。In the vector control unit VCU of the vector unit VU,
The vector instruction management unit Vi receives the vector instructions sent from the scalar units SU-0 and S-1 and manages the execution. When accessing the main memory, the vector memory management unit
VS is started, an address is generated, and the storage controller MCU
The main memory MSU is accessed via the.
主記憶装置MSUからベクトルレジスタVRへのベクトル
データのLOAD,およびベクトルレジスタVRから主記憶装
置MSUへのベクトルデータのSTOREの処理は,LOAD/STORE
パイプラインを用いて行われる。LOAD / STORE processing of vector data from main memory MSU to vector register VR and STORE of vector data from vector register VR to main memory MSU
It is done using a pipeline.
一方,スカラユニットSU−0,SU−1から主記憶装置MS
Uへのアクセスは,それぞれベクトルユニットVU内の記
憶制御部MCUを介して行われる。On the other hand, from the scalar units SU-0 and SU-1 to the main memory device MS
Each access to U is performed via the storage control unit MCU in the vector unit VU.
スカラユニットSU−0,SU−1とベクトルユニットVUと
は,可能な限り並列に動作することがシステムの処理性
能を高めるうえで望ましい。しかし,プログラム中のベ
クトル命令あるいはスカラ命令が,先行するベクトル命
令あるいはスカラ命令の実行結果のデータをオペランド
として使用する場合,それらの命令間での実行順序を保
証することが必要となる。この制御が,ベクトルオペレ
ーションのシリアライズ制御である。It is desirable that the scalar units SU-0 and SU-1 and the vector unit VU operate in parallel as much as possible in order to improve the processing performance of the system. However, when a vector instruction or a scalar instruction in the program uses the data of the execution result of the preceding vector instruction or the scalar instruction as an operand, it is necessary to guarantee the execution order between these instructions. This control is the serialization control of vector operations.
従来の多くのシステムでは,ベクトルオペレーション
のシリアライズ制御を,POST命令及びWAIT命令を利用し
て行っている。この方法は,POST命令より前に実行され
るべき命令の主記憶オペランドの参照が,WAIT命令より
後で実行されるべき命令の主記憶オペランドの参照より
も早く行われるように制御するものである。このため,P
OST命令とWAIT命令にはさまれた命令の主記憶オペラン
ドは,ベクトルオペレーションのシリアライズの対象か
ら除外される。In many conventional systems, the POST operation and WAIT instruction are used to control the serialization of vector operations. This method controls that the reference of the main memory operand of the instruction to be executed before the POST instruction is made earlier than the reference of the main memory operand of the instruction to be executed after the WAIT instruction. . Therefore, P
The main memory operand of the instruction sandwiched between the OST instruction and the WAIT instruction is excluded from the serialization target of the vector operation.
従来ある1つのスカラユニットにおいて,ベクトル命
令とスカラ命令の各組み合わせでのシリアライズの保証
は次のように行われている。In one conventional scalar unit, serialization is guaranteed as follows for each combination of vector instruction and scalar instruction.
(1) ベクトル命令→ベクトル命令間のシリアライズ a.POST命令に先行するベクトルLOAD命令の保証 −プライオリティがとれるまで。(1) Serialization between vector instructions and vector instructions a. Guarantee of vector LOAD instruction preceding POST instruction-until priority is taken.
b.POST命令に先行するベクトルSTORE命令の保証 −プライオリティがとれるまで。b. Assurance of vector STORE instruction preceding POST instruction-until priority is taken.
(2) スカラ命令→ベクトル命令間のシリアライズ a.POST命令に先行するスカラLOAD命令の保証 −もともと保証されている。(2) Serialization between scalar instruction and vector instruction a. Guarantee of scalar LOAD instruction preceding POST instruction − Originally guaranteed.
b.POST命令に先行するスカラSTORE命令の保証 −プライオリティがとれるまで。b. Guarantee of a scalar STORE instruction that precedes the POST instruction-until priority is taken.
(3) ベクトル命令→スカラ命令間のシリアライズ a.POST命令に先行するベクトルLOAD命令の保証 −プライオリティがとれるまで。(3) Serialization between vector instruction and scalar instruction a. Guarantee of vector LOAD instruction preceding POST instruction-until priority is taken.
b.POST命令に先行するベクトルSTORE命令の保証 −スカラユニットSUへのバッファ・インバリデーション
が全てスカラユニットSUに反映されるまで。b. Guarantee of vector STORE instruction preceding POST instruction-until all buffer validations to scalar unit SU are reflected in scalar unit SU.
ここで,上記(3)のbは,POST命令に先行するベク
トルSTORE命令によって主記憶装置MSUにデータを書き込
んだ場合,スカラユニットSU内のバッファに該当するア
ドレスの旧データがあれば,これらを全て無効化するバ
ッファ無効化アドレスの反映処理を行い,これが終了す
るまでは,WAIT命令の後の主記憶参照を伴うスカラ命令
を実行させないことを意味している。Here, in (3) b, when the data is written to the main memory MSU by the vector STORE instruction preceding the POST instruction, if there is old data at the corresponding address in the buffer in the scalar unit SU, these are written. This means that the buffer invalidation address that invalidates all is reflected, and until it is finished, the scalar instruction with main memory reference after the WAIT instruction is not executed.
このバッファ無効化アドレスの反映処理はベクトルユ
ニットVU内の記憶制御部MCUから行われるが,従来の記
憶制御部MCUではその機構上,POST命令に先行するベクト
ルSTORE命令のバッファ無効化アドレスをスカラユニッ
トごとに区別して処理することができなかった。The reflection processing of this buffer invalidation address is performed from the storage control unit MCU in the vector unit VU, but in the conventional storage control unit MCU, the buffer invalidation address of the vector STORE instruction preceding the POST instruction is a scalar unit because of its mechanism. It could not be processed separately.
したがってあるスカラユニットSUにおいてPOST命令に
先行するベクトル命令に対してWAIT命令後のスカラ命令
のシリアライズを行おうとすれば,他のスカラユニット
からのベクトルSTORE命令によるものも含めてそれらの
バッファ無効化アドレスも含めてそれらの反映処理が終
了するまで待たせるしかなかった。第8図および第9図
に具体例を示す。Therefore, if an attempt is made to serialize a scalar instruction after the WAIT instruction for a vector instruction that precedes the POST instruction in a certain scalar unit SU, those buffer invalidation addresses including those by the vector STORE instruction from another scalar unit There was no choice but to wait until the reflection process including those was completed. Specific examples are shown in FIGS. 8 and 9.
第8図は,2つのスカラユニットSU−0,SU−1において
それぞれPOST命令とWAIT命令とを用いてシリアライズ制
御を行う命令シーケンスの例を示したもので,VSTはベク
トルSTORE命令,LDはスカラのLOAD命令を表す。Fig. 8 shows an example of an instruction sequence for serializing control using POST and WAIT instructions in two scalar units SU-0 and SU-1, respectively. VST is a vector STORE instruction and LD is a scalar. Represents the LOAD instruction of.
第8図において,SU−1の命令シーケンスではPOSTの
前にあるのVSTが完了するまでは,WAITの後にあるの
LDは実行されず,これらVSTとLDとの間の主記憶参照順
序は保証される。同様にSU−1の命令シーケンスではPO
STの前にあるないしのVSTが完了するまではWAITの
後続命令LDは実行されない。In Fig. 8, the instruction sequence of SU-1 is before POST, but after WAIT until VST is completed.
LD is not executed, and the main memory reference order between these VST and LD is guaranteed. Similarly, in the SU-1 instruction sequence, PO
The succeeding instruction LD of WAIT is not executed before the ST or until VST is completed.
第9図は,第8図に示されている2つの命令シーケン
スの処理例をフローで示したものである。FIG. 9 is a flowchart showing a processing example of the two instruction sequences shown in FIG.
この第9図の例では,第8図中のSU−0,SU−1のな
いしのベクトル命令VSTは,第7図のベクトルユニッ
トVUのベクトル命令管理部Viにより,2本のLOAD/STOREパ
イプラインを用い2命令ずつ連続して並列実行制御され
る。そして,ないしのVSTが実行され,これらのバ
ッファ無効化・アドレスの全てが,記憶制御部MCUから
各スカラユニットSU−0,SU−1のバッファに反映された
後に,SU−0のWAIT命令が終了し,のLDが実行でき
た。In the example of FIG. 9, the vector instructions VST of SU-0 and SU-1 in FIG. 8 are processed by the vector instruction management unit Vi of the vector unit VU of FIG. 7 by two LOAD / STORE pipes. Two instructions are continuously executed in parallel using a line. Then, after VST is executed and all of these buffer invalidation / addresses are reflected from the storage control unit MCU to the buffers of each scalar unit SU-0, SU-1, the SU-0 WAIT instruction is executed. The LD was completed and could be executed.
従来の複数のスカラユニットをもつ情報処理システム
では,ある1つのスカラユニットの命令シーケンスにお
けるPOST命令の前にあるベクトルSTORE命令についての
バッファ無効化アドレス反映処理を,後に続く他のスカ
ラユニットからのベクトルSTORE命令のバッファ無効化
アドレス反映処理から区別して認識することができなか
ったため,WAIT命令は,そのWAIT命令に先行する各スカ
ラユニットからの全てのPOST命令の前にあるベクトルST
ORE命令のバッファ無効化アドレス反映処理が終了する
まで,実行を終了することができなかった。In the conventional information processing system with multiple scalar units, the buffer invalidation address reflection processing for the vector STORE instruction that precedes the POST instruction in the instruction sequence of one scalar unit, and the vector from another scalar unit that follows is performed. Since it was not possible to recognize it from the buffer invalidation address reflection processing of the STORE instruction, the WAIT instruction is the vector ST that precedes all the POST instructions from each scalar unit preceding the WAIT instruction.
Execution could not be completed until the buffer invalid address reflection processing of the ORE instruction was completed.
そのため1つのスカラユニットの命令シーケンスにお
けるシリアライズ制御は,そのシリアライズに関係のな
い他の命令シーケンスにおけるベクトルSTORE命令の処
理がオーバヘッドとなり,並列処理性能が低下するとい
う問題があった。Therefore, the serialization control in the instruction sequence of one scalar unit has a problem that the processing of the vector STORE instruction in the other instruction sequence unrelated to the serialization becomes an overhead and the parallel processing performance deteriorates.
本発明は,スカラユニットごとにPOST命令に先行する
ベクトルSTORE命令の完了を認識できるようにして,他
のスカラユニットの命令シーケンスの影響によるオーバ
ヘッドをなくし,シリアライズ制御を高速化することを
目的とする。An object of the present invention is to make it possible to recognize the completion of a vector STORE instruction preceding the POST instruction for each scalar unit, eliminate the overhead due to the influence of the instruction sequence of other scalar units, and speed up serialization control. .
本発明は,ベクトルユニット内のベクトル命令管理部
に,ステージ内の命令がいずれのスカラユニットからの
ものかを表示するフラグ手段とスカラユニットごとのシ
リアライズ制御手段とを設け,また主記憶制御部に,ス
カラユニットごとに反映すべきバッファ無効化アドレス
の残り個数をカウントするシリアライズカウンタをスカ
ラユニット対応で設けることにより,スカラユニットご
とにバッファ無効化アドレスの反映処理の終了を認識
し,シリアライズ制御を他のスカラユニットの処理に影
響されずに実行できるようにする。According to the present invention, the vector instruction management unit in the vector unit is provided with a flag unit for displaying which scalar unit the instruction in the stage is from and a serialization control unit for each scalar unit, and a main memory control unit. By providing a serialization counter that counts the remaining number of buffer invalidation addresses to be reflected for each scalar unit in correspondence with the scalar unit, the end of the buffer invalidation address reflection processing is recognized for each scalar unit, and serialization control is performed. It can be executed without being affected by the processing of the scalar unit of.
第1図は本発明の原理的構成図である。図示されてい
る情報処理システムの構成は,第7図の従来例システム
に対応するものであり,共通の要素には同一の参照番号
が用いられている。FIG. 1 is a principle block diagram of the present invention. The configuration of the information processing system shown in the figure corresponds to that of the conventional example system shown in FIG. 7, and the same reference numerals are used for common elements.
第1図において, 1−0はスカラユニットSU−0である。 In FIG. 1, 1-0 is a scalar unit SU-0.
1−1はスカラユニットSU−1である。 1-1 is a scalar unit SU-1.
2はベクトルユニットVUである。 2 is a vector unit VU.
3はベクトル実行部VXUであり,ベクトルレジスタ,
アクセスパイプライン,演算パイプラインを含む。3 is a vector execution unit VXU, a vector register,
Includes access pipeline and operation pipeline.
10は主記憶装置MSUである。 10 is a main memory unit MSU.
12はベクトル命令管理部Viであり,ベクトル命令のデ
コード,発信,シリアライズなどの命令制御を行う。Reference numeral 12 is a vector instruction management unit Vi, which performs instruction control such as decoding, transmission, and serialization of vector instructions.
14は記憶制御部MCUであり,主記憶装置MCUに対するア
クセス要求のプライオリティ制御やアクセス制御を行
う。A storage control unit MCU 14 performs priority control and access control of access requests to the main storage device MCU.
15−0,15−1はそれぞれスカラユニットSU−0,SU−1
のバッファであり,スカラユニットSUが主記憶装置MSU
にある命令やオペランドを効率的にアクセスするために
設けられている。15-0 and 15-1 are scalar units SU-0 and SU-1, respectively.
Of the main unit MSU
It is provided for efficient access to instructions and operands in.
16はステージであり,ベクトル命令のフェッチ,プリ
デコード,スタート/キューの各ステージや,ベクトル
実行部VXUのアクセスパイプラインを制御するためのRea
d,Store,Terminateなどの命令実行管理ステージを含む
(図では簡略化して示してある)。Reference numeral 16 is a stage, which is a Rea for controlling each stage of vector instruction fetch, predecode, start / queue, and access pipeline of the vector execution unit VXU
Includes instruction execution management stages such as d, Store, Terminate (simplified in the figure).
17はPOSTフラグであり,POST命令に先行するベクトル
命令を認識するため上記した命令実行管理ステージの各
ステージごとに設けられる。Reference numeral 17 denotes a POST flag, which is provided for each of the instruction execution management stages described above in order to recognize a vector instruction preceding the POST instruction.
18はSUフラグであり,SU−0,SU−1を識別するため命
令実行管理ステージと他の必要なステージに設けられ
る。Reference numeral 18 denotes an SU flag, which is provided in the instruction execution management stage and other necessary stages to identify SU-0 and SU-1.
19−0,19−1はスカラユニットSU−0,SU−1に対応す
るシリアライズ制御部であり,スカラユニットSU−0,SU
−1ごとにPOST命令が起動されると先行する全てのベク
トル命令のPOSTフラグ17をONにセットし,全てのPOSTフ
ラグ17がOFFであることにより実行終了を検出し,記憶
制御部MCUにシリアライズ起動信号を送出する。そして
記憶制御部MCUからバッファ無効化アドレス反映の終了
を示すBi−Pending信号(図示省略)を受け取ると,対
応するスカラユニットにWAIT命令の実行終了可能を通知
するWAIT_ACK信号を送出する。19-0 and 19-1 are serialization control units corresponding to the scalar units SU-0 and SU-1, respectively.
When the POST instruction is activated for each -1, the POST flag 17 of all the preceding vector instructions is set to ON, the execution end is detected when all the POST flags 17 are OFF, and serialized to the storage control unit MCU. Send a start signal. When a Bi-Pending signal (not shown) indicating the end of reflection of the buffer invalidation address is received from the storage control unit MCU, a WAIT_ACK signal for notifying execution completion of the WAIT instruction is sent to the corresponding scalar unit.
20−0,20−1はそれぞれMCU内に設けられたSU−0,SU
−1用のTAGであり,SU−0,SU−1のバッファ15−0,15−
1にフェッチされているデータのアドレスを保持し,ス
トア時にバッファ無効化アドレスを検出するために使用
される。20-0 and 20-1 are SU-0 and SU provided in the MCU, respectively.
-1 TAG, SU-0, SU-1 buffers 15-0,15-
It is used to hold the address of the data being fetched at 1 and to detect the buffer invalidation address when storing.
21はバッファインバリデーション・アドレススタック
BiASであり,実行されたベクトルSTORE命令のバッファ
無効化アドレスが格納され,順次読み出してSU−0,SU−
1のバッファ15−0,15−1への反映処理が行われる。21 is buffer invalidation address stack
It is a BiAS, and the buffer invalidation address of the executed vector STORE instruction is stored and read sequentially and SU-0, SU-
The reflection process of the 1 into the buffers 15-0 and 15-1 is performed.
22−0,22−1はシリアライズカウンタであり,それぞ
れベクトル命令管理部Viのシリアライズ制御部19−0,19
−1からシリアライズ起動信号を受け取ると,BiAS中の
残りアドレス数をセットされる。以後BiASからアドレス
が読み出されてバッファ無効化の反映処理が行われるた
びに1ずつ減算され,0になったときシリアライズ終了信
号が対応するSU−0,SU−1に送出される。22-0 and 22-1 are serialization counters, and serialization control units 19-0 and 19 of the vector instruction management unit Vi, respectively.
When the serialization activation signal is received from -1, the number of remaining addresses in BiAS is set. Thereafter, each time the address is read from the BiAS and the buffer invalidation reflection processing is performed, it is decremented by 1, and when it becomes 0, the serialization end signal is sent to the corresponding SU-0, SU-1.
さらにMCUからViに対して,シリアライズの起動後,Bi
ASが空になるまでの間ONとなるBiAS_Pending信号が送出
される。Furthermore, after starting serialization from the MCU to Vi, Bi
A BiAS_Pending signal that is ON until AS becomes empty is sent.
Viから各SUに対して,POST命令の発信でONとなりBiAS
が空,すなわちシリアライズカウンタが“0"になるとOF
FとなるPOST_Pending信号が送出される。It is turned on by sending a POST command from Vi to each SU and BiAS
Is empty, that is, OF when the serialization counter becomes "0"
The POST_Pending signal that becomes F is sent.
Viから各SUに対して,WAIT命令の発信でONとなるWAIT_
ACK信号が送出される。WAIT_ that turns ON when a WAIT command is issued from Vi to each SU
The ACK signal is sent.
第1図において,スカラユニットSU−0,SU−1は,そ
れぞれ独立に動作し,命令シーケンス中でベクトル命令
を検出すると,ベクトルユニットVUに処理を依頼する。In FIG. 1, the scalar units SU-0 and SU-1 operate independently of each other, and when a vector instruction is detected in the instruction sequence, request processing to the vector unit VU.
ベクトルユニットVU内のベクトル命令管理部Viでは,
入力されたベクトル命令は複数のステージ16中を順次流
れ,それぞれのステージで定められている制御を行う。
各ステージは,連続的に入力された複数のベクトル命令
を並行して制御することができる。In the vector instruction management unit Vi in the vector unit VU,
The input vector instruction sequentially flows through the plurality of stages 16 and performs the control defined in each stage.
Each stage can control a plurality of vector instructions that are continuously input in parallel.
順次のステージは,ベクトル命令の入力(フェッ
チ),プリデコードによるベクトル命令の識別,命令実
行を開始させるためのスタート/キュー,ベクトル実行
部VXUの対応するパイプラインの命令実行管理をそれぞ
れ制御するようになっている。The sequential stages control the input (fetch) of vector instructions, the identification of vector instructions by predecoding, the start / queue for starting instruction execution, and the instruction execution management of the corresponding pipeline of the vector execution unit VXU. It has become.
ベクトル命令がSU−0とSU−1のいずれから入力され
たものであるかにしたがって,SUフラグSUFに“0"または
“1"がセットされる。The SU flag SUF is set to "0" or "1" depending on whether the vector instruction is input from SU-0 or SU-1.
またステージ16の前段に設けられるプリデコードステ
ージ(図示省略)でPOST命令が検出されると,そのPOST
命令を送出したスカラユニットに対応するシリアライズ
制御部(19−0,19−1)が起動される。When a POST instruction is detected in the predecode stage (not shown) provided before the stage 16, the POST instruction is detected.
The serialization control unit (19-0, 19-1) corresponding to the scalar unit that has sent the command is activated.
起動されたシリアライズ制御部は,ステージ16中の命
令実行管理ステージに存在する有効なベクトル命令の中
で自己スカラユニットに属する全てのもののPOSTフラグ
POSをONにセットする。つまり,POST命令を発したスカラ
ユニットの命令シーケンス中でPOST命令に先行した全て
のベクトル命令に標識を付ける。The activated serialization control unit displays the POST flags of all valid vector instructions existing in the instruction execution management stage in stage 16 that belong to the self-scalar unit.
Set POS to ON. In other words, all vector instructions preceding the POST instruction are marked in the instruction sequence of the scalar unit that issued the POST instruction.
次にシリアライズ制御部は,自己のスカラユニットの
SUフラグSUFをもつ各ステージのPOSTフラグPOSを監視
し,それが全てOFFとなったとき,シリアライズ起動信
号を記憶制御部MCUに送出する。Next, the serialization control unit
The POST flag POS of each stage having the SU flag SUF is monitored, and when all of them are turned off, a serialization activation signal is sent to the storage control unit MCU.
記憶制御部MCUは,SU−0,SU−1の各バッファ15−0,15
−1の内容に対応するTAG20−0,20−1をそなえてい
る。The storage control unit MCU consists of SU-0 and SU-1 buffers 15-0 and 15
It has TAGs 20-0 and 20-1 corresponding to the contents of -1.
バッファ15−0,15−1は,いわゆるストアスルー方式
で動作する。そのためTAG20−0,20−1には,それぞれ
対応するスカラユニットSU−0,SU−1が命令あるいはオ
ペランドをフェッチしたときのアドレスが登録され,そ
してベクトルユニットVUがストアを行うときは,そのス
トアアドレスを用いて参照される。このストアアドレス
による参照で一致するアドレスが検出されれば,そのTA
Gに対応するスカラユニット内のバッファに無効にすべ
き旧データが存在することを意味するため,そのアドレ
スをバッファ無効化アドレスとして,バッファインバリ
デーション・アドレススタックBiASに一時的に保持す
る。The buffers 15-0 and 15-1 operate by a so-called store-through method. Therefore, the address when the corresponding scalar unit SU-0, SU-1 fetches the instruction or operand is registered in TAG 20-0, 20-1, and when the vector unit VU stores, the store Referenced using an address. If a matching address is detected by the reference by this store address, the TA
Since the old data to be invalidated exists in the buffer in the scalar unit corresponding to G, that address is temporarily stored in the buffer invalidation address stack BiAS as the buffer invalidation address.
BiASのバッファ無効化アドレスは逐次読み出され,対
応するスカラユニットへ送出される。The BiAS buffer invalidation address is read sequentially and sent to the corresponding scalar unit.
前述したViから出力されるシリアライズ起動信号は,P
OST命令に先行する全てのベクトルSTORE命令VSTのバッ
ファ無効化アドレスがBiASに格納済みとなるタイミング
で行われる。したがってこの時点でBiASに残っているバ
ッファ無効化アドレスの反映処理が全て終了したときが
シリアライズ終了となる。The serialization activation signal output from Vi described above is P
This is performed at the timing when the buffer invalidation addresses of all vector STORE instructions VST preceding the OST instruction have been stored in BiAS. Therefore, the serialization ends when all the reflection processing of the buffer invalidation address remaining in BiAS is completed at this point.
このためシリアライズ制御すべきスカラユニットに対
応するシリアライズカウンタ22−0,22−1の一方にこの
BiAS内の残りアドレス数をプリセットし,BiASからアド
レスが読み出されるごとにカウントダウンして,“0"に
なったときシリアライズ終了信号を対応するスカラユニ
ットへ送出する。またこのときViに対してBiAS_Pending
のOFFが通知される。Therefore, one of the serialization counters 22-0 and 22-1 corresponding to the scalar unit to be serialized
It presets the number of remaining addresses in BiAS, counts down each time an address is read from BiAS, and sends a serialization end signal to the corresponding scalar unit when it reaches "0". At this time, BiAS_Pending against Vi
OFF is notified.
シリアライズ制御部19−0,19−1は,WAIT命令を発信
(命令実行管理ステージへ入力)したとき,依頼元のス
カラユニットにWAIT_ACKのONを通知し,またBiAS_Pendi
ngがOFFになると,POST_PendingのOFFを同じスカラユニ
ットに通知する。When the WAIT instruction is issued (input to the instruction execution management stage), the serialization control units 19-0 and 19-1 notify the requesting scalar unit that WAIT_ACK is ON, and BiAS_Pendi
When ng turns OFF, the OFF of POST_Pending is notified to the same scalar unit.
スカラユニットでは,WAIT_ACKのONとPOST_PendingのO
FFを検出すると,WAIT命令によりインタロックされてい
た後続命令の実行を開始する。In the scalar unit, WAIT_ACK is ON and POST_Pending is O.
When FF is detected, execution of the subsequent instruction interlocked by the WAIT instruction starts.
第2図は,第8図の命令シーケンス例を本発明方式で
実行した場合の処理フローである。第9図に示されてい
る従来方式による処理方式にくらべて,スカラユニット
SU−0における命令LDの実行タイミングが大幅に早期化
されていることが判る。FIG. 2 is a processing flow when the instruction sequence example of FIG. 8 is executed by the method of the present invention. Compared to the conventional processing method shown in FIG. 9, a scalar unit
It can be seen that the execution timing of the instruction LD in SU-0 is significantly accelerated.
第3図は本発明の1実施例システムの構成図である。 FIG. 3 is a configuration diagram of a system according to an embodiment of the present invention.
第3図において,1−0,1−1はスカラユニットSU−0,S
U−1,2はベクトルユニットVU,12はベクトル命令管理部V
i,14は記憶制御部MCUであり,第1図に示されている構
成と同じである。In FIG. 3, 1-0 and 1-1 are scalar units SU-0 and S
U-1, 2 is the vector unit VU, 12 is the vector instruction management unit V
Reference numerals i and 14 denote storage control unit MCUs having the same configuration as that shown in FIG.
次に第3図のブロック間に矢線で示される信号ない
しについて説明する。Next, signals or signals indicated by arrows between blocks in FIG. 3 will be described.
:シリアライズ起動信号(Vi→MCU) −POST命令に先行するすべてのSTORE命令が,すべてBiA
Sに入ったことが保証できるタイミングで,ViからMCUに
送る。: Serialization activation signal (Vi → MCU) − All STORE instructions preceding the POST instruction are BiA
Send it from Vi to the MCU at a timing when it can be guaranteed that S has entered.
:BiAS_Pending信号(MCU→Vi) −シリアライズ起動信号によりシリアライズを起動され
てから,BiASが空になるまでONとなる。: BiAS_Pending signal (MCU → Vi) -Turns on until BiAS becomes empty after serialization is started by the serialization start signal.
,′:POST_Pending信号(Vi→SU−0,SU−1) −POST命令の発信でONとなる。POST命令に先行するすべ
てのSTORE命令によるBiASのバッファ無効化アドレスが
空になり,かつPOST命令に先行するすべてのSTORE命令
のプライオリティがとれるとOFFになる。, ′: POST_Pending signal (Vi → SU-0, SU-1) -ON when the POST command is issued. It turns off when the BiAS buffer invalidation address by all STORE instructions preceding the POST instruction becomes empty and the priority of all STORE instructions preceding the POST instruction can be obtained.
,′:シリアライズ終了信号(MCU→SU−0,SU−
1) −BiASが空になったところで,MCUからSUに送る。SUで
は,この信号により,バッファインバリデーションBiを
行う。, ′: Serialization end signal (MCU → SU-0, SU-
1) -When BiAS is empty, send from MCU to SU. In SU, buffer invalidation Bi is performed by this signal.
(その期間,CPU_ACKをINHIBITする。) ,′:WAIT_ACK信号(Vi→SU−0,SU−1) −WAIT命令の発信でONとなる。SUでは,この信号の後PO
ST_Pending信号がOFFになるまで,命令をインタロック
とする。(Inhibit CPU_ACK during that period.), ′: WAIT_ACK signal (Vi → SU-0, SU-1) -Turns on when WAIT command is issued. In SU, after this signal PO
The instruction is interlocked until the ST_Pending signal turns off.
第4図にベクトル命令管理部Viの実施例構成を示し,
第5図にそのうちのシリアライズ制御部の出力論理回路
の一部を示す。FIG. 4 shows an example configuration of the vector instruction management unit Vi,
FIG. 5 shows a part of the output logic circuit of the serialization control section.
第4図において,16はステージ,19−0,19−1はシリア
ライズ制御部,23は命令発信制御部である。In FIG. 4, 16 is a stage, 19-0 and 19-1 are serialization control units, and 23 is a command transmission control unit.
またF0,F1は命令フェッチステージであり,それぞれS
U−0,SU−1からベクトル命令を受け取る入口となる。F0 and F1 are instruction fetch stages, and S
It serves as an entrance for receiving vector instructions from U-0 and SU-1.
Pはプリデコードステージであり,ベクトル命令のデ
コードや例外チェックを行う。P is a predecode stage, which decodes vector instructions and performs exception checking.
Qはスタート/キューステージであり,ベクトル命令
の発信を行う。Q is a start / cue stage and sends a vector command.
R,S,Tはアクセス命令用の命令実行管理ステージであ
り,そのうちRはReadステージ,SはStoreステージ,TはT
erminateステージである。他のベクトル命令のための命
令実行管理ステージは図示省略されている。R, S, and T are instruction execution management stages for access instructions, of which R is the Read stage, S is the Store stage, and T is T.
It is the erminate stage. Instruction execution management stages for other vector instructions are not shown.
Uは命令終了ステージである。 U is the instruction end stage.
上記各ステージは全てVALiDフラグをもち,さらにR,
S,TステージにはPOSTフラグPOSが,またP,Q,R,S,Tステ
ージにはSUフラグSUFが付加されている。Each of the above stages has a VALiD flag, and R,
A POST flag POS is added to the S and T stages, and a SU flag SUF is added to the P, Q, R, S, and T stages.
命令発信制御部23は,POST命令またはWAIT命令が,ス
タート/キューステージQから命令実行管理ステージへ
発信されたとき,シリアライズ制御部19−0あるいは19
−1にPOST_STARTまたはWAIT_STARTを送出する。When the POST instruction or the WAIT instruction is transmitted from the start / queue stage Q to the instruction execution management stage, the instruction transmission control section 23 serializes the control section 19-0 or 19.
Send POST_START or WAIT_START to -1.
シリアライズ制御部19−0,19−1は,POST_START,WAIT
_START,BiAS_Pendingの各信号と,R,S,T各ステージのPOS
TフラグPOSとVALiDフラグVのAND出力とを入力として,
一定の論理にしたがいPOSTフラグセット,POST_Pending,
WAIT_ACK,シリアライズ起動の各信号を出力する。The serialization control units 19-0 and 19-1 use POST_START, WAIT
_START, BiAS_Pending signals and POS of R, S, T stages
Using the T flag POS and the AND output of the VALiD flag V as inputs,
POST flag set, POST_Pending, according to a certain logic
Outputs WAIT_ACK and serialization activation signals.
第5図は,シリアライズ制御部19−0,19−1内の論理
の一部を示したもので,図(a)はPOST_Pendingの出力
論理,図(b)はシリアライズ起動の出力論理をそれぞ
れ示している。FIG. 5 shows a part of the logic in the serialization control units 19-0 and 19-1, where FIG. 5A shows the output logic of POST_Pending, and FIG. 5B shows the output logic of serialization activation. ing.
SU−0あるいはSU−1からのPOST命令のSTART(発
信)により,命令発信制御部23からPOST_STARTが送出さ
れると,起動される側のシリアライズ制御部19−0ある
いは19−1は,命令実行管理ステージのVALiDフラグV
がONのステージのOPSTフラグPOSをONにすると共に,対
応するSUに対するPOST_Pending信号をONにする。When POST_START is transmitted from the command transmission control unit 23 by START (transmission) of the POST command from SU-0 or SU-1, the serialization control unit 19-0 or 19-1 on the activated side executes the command. VALiD flag V of management stage
Turns on the OPST flag POS of the stage where is ON and turns on the POST_Pending signal for the corresponding SU.
命令実行管理ステージのPOSTフラグがすべてOFFにな
ったところで,起動されているシリアライズ制御部19−
0あるいは19−1は,MCUにシリアライズ起動信号を送
る。When all the POST flags of the instruction execution management stage are turned off, the serialization control unit 19- that has been activated
0 or 19-1 sends a serialization activation signal to the MCU.
その後WAIT命令が発信され,命令発信制御部23がWAIT
_STARTを送出すると,シリアライズ制御部19−0あるい
は19−1はWAIT_ACK信号をSU−0あるいはSU−1に返
す。SU−0,SU−1では,この信号とPOST_Pendingとの一
致をとった信号で,後続の主記憶参照スカラ命令をイン
タロックする。After that, the WAIT command is transmitted and the command transmission control unit 23 waits.
When _START is transmitted, the serialization control unit 19-0 or 19-1 returns a WAIT_ACK signal to SU-0 or SU-1. In SU-0 and SU-1, a signal that matches this signal with POST_Pending is used to interlock the subsequent main memory reference scalar instruction.
MCUから送られるBiAS−PendingがOFFになったところ
で,シリアライズ制御部19−0あるいは19−1は,POST_
PendingをOFFにし,SU−0あるいはSU1ではインタロック
を解除する。When BiAS-Pending sent from the MCU is turned off, the serialization controller 19-0 or 19-1
Set Pending to OFF and cancel the interlock at SU-0 or SU1.
第6図に,記憶制御部MCUの実施例構成を示す。 FIG. 6 shows the configuration of an embodiment of the storage control unit MCU.
MCUはA,B,C,Dの4本のポートをもち,並列制御を行
う。ここでは各ポートをAのポートで代表させて説明す
る。The MCU has four ports A, B, C and D, and performs parallel control. Here, each port will be described by using the port A as a representative.
第6図において, 24は,ストアアドレス・スタックSTASである。 In FIG. 6, 24 is the store address stack STAS.
25は,セレクタSEL−1である。 25 is a selector SEL-1.
26は,バッファインバリデーション・1レジスタBi1R
である。26 is buffer validation 1 register Bi1R
Is.
27−0,27−1は,タグレジスタTAGR−0,TAGR−1であ
る。27-0 and 27-1 are tag registers TAGR-0 and TAGR-1.
28−0,28−1は,RAMで構成されたタグTAGである。 28-0 and 28-1 are tag TAGs composed of RAM.
29−0,29−1は,一致回路である。 29-0 and 29-1 are coincidence circuits.
30は,バッファインバリデーション・2レジスタBi2R
である。30 is buffer invalidation 2 register Bi2R
Is.
31−0,31−1は,マッチフラグMATCH−0,MATCH−1で
ある。31-0 and 31-1 are match flags MATCH-0 and MATCH-1.
32は,バッファインバリデーション・アドレススタッ
クBiASである。32 is a buffer invalidation address stack BiAS.
33は,インプットポインタINQ_COUNTである。 33 is an input pointer INQ_COUNT.
34は,アウトプットポインタOUTQ_COUNTである。 34 is an output pointer OUTQ_COUNT.
35は,減算回路である。 35 is a subtraction circuit.
36−0,36−1は,シリアライズカウンタCOUNT−0,COU
NT−1である。36-0 and 36-1 are serialization counters COUNT-0 and COU
It is NT-1.
37−0,37−1は,セレクタSEL−2である。 37-0 and 37-1 are selectors SEL-2.
28−0,38−1は,バッファインバリデーション・アド
レスレジスタBiAR−0,BiAR−1である。28-0 and 38-1 are buffer invalidation address registers BiAR-0 and BiAR-1.
39−0,39−1は,“0"検出回路である。 39-0 and 39-1 are "0" detection circuits.
STASはVU側のストアアクセス時にアドレスをたくわえ
るためのレジスタであり,SEL−1はSTASの出力とSUから
の登録アドレスを選択する回路である。STAS is a register for storing an address during store access on the VU side, and SEL-1 is a circuit for selecting the output of STAS and the registered address from SU.
Bi1Rは,SEL−1の出力を受け取るレジスタである。Bi
1Rと並列のTAGR−0,TAGR−1は,それぞれSU−0,SU−1
のTAG用のレジスタであり,VUからのストアアクセス時
は,TAG用の参照アドレスを示し,SU−0,SU−1からのフ
ェッチアクセス時はTAG用の登録アドレス及び登録デー
タを示している。Bi1R is a register that receives the output of SEL-1. Bi
TAGR-0 and TAGR-1 in parallel with 1R are SU-0 and SU-1 respectively.
Register for TAG, and indicates a reference address for TAG at the time of store access from VU, and shows a registration address and registration data for TAG at the time of fetch access from SU-0 and SU-1.
一致回路29−0,29−1はVUからのストアアクセス時
に,Bi1RからのアドレスとTAG28−0,28−1の各アドレス
とを比較する回路であり,その出力はそれぞれMATCHフ
ラグMATCH−0,MATCH−1を空輸してBiASに書き込まれ
る。The coincidence circuits 29-0 and 29-1 are circuits that compare the address from Bi1R with the respective addresses of TAG 28-0 and 28-1 at the time of store access from VU, and the outputs thereof are MATCH flag MATCH-0, MATCH-1 is shipped by air and written in BiAS.
BiASの下のINQ_COUNTは,MATCH−0,MATCH−1がBiASに
書き込まれた回数を示し,OUTQ_COUNTはBiASから読み出
された回数を示している。減算回路35は,INQ_COUNTの値
からOUTQ_COUNTの値を引き,BiASの中に残っているフラ
グ(アドレス)の個数を求める。INQ_COUNT under BiAS indicates the number of times MATCH-0 and MATCH-1 were written to BiAS, and OUTQ_COUNT indicates the number of times read from BiAS. The subtraction circuit 35 subtracts the value of OUTQ_COUNT from the value of INQ_COUNT to obtain the number of flags (addresses) remaining in BiAS.
Viのシリアライズ制御部19−0,19−1(第4図)から
のシリアライズ起動信号を受け取ると,BiASの中に残っ
ている個数を対応するシリアライズカウンタCOUNT−0
あるいはCOUNT−1にセットし,BiASからアドレスが読み
出されるたびにそのシリアライズカウンタの値を1ずつ
減算し,値が“0"になったことを“0"検出回路で検出し
て,シリアライズ終了信号をSUに対して送出する。When a serialization activation signal from the serialization control units 19-0 and 19-1 (FIG. 4) of Vi is received, the number remaining in the BiAS is determined by the corresponding serialization counter COUNT-0.
Alternatively, it is set to COUNT-1 and the value of the serialization counter is decremented by 1 each time the address is read from BiAS, and when the value becomes "0" is detected by the "0" detection circuit and the serialization end signal is output. Send to SU.
また“0"検出回路39−0あるいは39−1は,シリアラ
イズ起動信号による起動がかかってから,BiASの値が
“0"になるまで,Viに対してBiAS_Pending信号を送出す
る。Further, the "0" detection circuit 39-0 or 39-1 sends the BiAS_Pending signal to Vi until the value of BiAS becomes "0" after being activated by the serialization activation signal.
本発明によるシリアライズ制御では,スカラユニット
ごとにPOST命令に先行するベクトルSTORE命令の完了の
みを区別して認識するため,他のスカラユニットからの
ベクトルSTORE命令によるWAIT命令のオーバーヘッドを
なくすことができ,各スカラユニットSUにおける処理効
率が向上するとともに,ベクトルユニットVUとの並列処
理性能も改善される。In the serialization control according to the present invention, since the completion of the vector STORE instruction preceding the POST instruction is distinguished and recognized for each scalar unit, the overhead of the WAIT instruction due to the vector STORE instruction from other scalar units can be eliminated, and The processing efficiency in the scalar unit SU is improved and the parallel processing performance with the vector unit VU is also improved.
第1図は本発明の原理的構成図,第2図は本発明のシリ
アライズ制御方式に基づく処理フロー図,第3図は本発
明の1実施例システムの構成図,第4図はベクトル命令
管理部の実施例構成図,第5図は第4図中のシリアライ
ズ制御部の一部の出力論理回路図,第6図は記憶制御部
の実施例構成図,第7図は従来の科学技術用計算機シス
テムの構成図,第8図はPOST/WAITを用いてシリアライ
ズを行った命令シーケンス例の説明図,第9図は第8図
の命令シーケンス例についての従来のシリアライズ制御
方式に基づく処理フロー図である。 第1図中 1−0,1−1:スカラユニットSU−0,SU−1 2:ベクトルユニットVU 3:ベクトル実行部VXU 10:主記憶装置MSU 12:ベクトル命令管理部Vi 14:記憶制御部MCU 15−0,15−1:バッファ 16:ステージ 17:POSTフラグPOS 18:SUフラグSUF 19−0,19−1:シリアライズ制御部 20−0,20−1:TAG 21:バッファインバリデーション・アドレススタックBiA
S 22−0,22−1:シリアライズカウンタFIG. 1 is a block diagram of the principle of the present invention, FIG. 2 is a process flow diagram based on the serialization control method of the present invention, FIG. 3 is a block diagram of a system of one embodiment of the present invention, and FIG. 4 is vector instruction management. FIG. 5 is a block diagram of an output logic circuit of a part of the serialization control unit in FIG. 4, FIG. 6 is a block diagram of an embodiment of the storage control unit, and FIG. 8 is a block diagram of a computer system, FIG. 8 is an explanatory diagram of an example of an instruction sequence serialized using POST / WAIT, and FIG. 9 is a processing flow diagram based on the conventional serialization control method for the example of the instruction sequence of FIG. Is. In FIG. 1, 1-0,1-1: Scalar unit SU-0, SU-1 2: Vector unit VU 3: Vector execution unit VXU 10: Main memory MSU 12: Vector instruction management unit Vi 14: Storage control unit MCU 15-0, 15-1: Buffer 16: Stage 17: POST flag POS 18: SU flag SUF 19-0, 19-1: Serialization control block 20-0, 20-1: TAG 21: Buffer invalidation address Stack BiA
S 22-0, 22-1: Serialization counter
Claims (1)
ト(1−0,1−1)と,各スカラユニットから依頼され
るベクトル命令を処理するベクトルユニット(2)とを
備え,POST命令およびWAIT命令を用いて命令実行のシリ
アライズを行う機能を備えた情報処理システムにおい
て, ベクトルユニット(2)はベクトル命令管理部(12)お
よび記憶制御部(14)を含み,ベクトル命令管理部(1
2)は,入力されたベクトル命令を依頼元のスカラユニ
ットごとに区別して管理するフラグ手段(18)およびシ
リアライズ制御手段(19−0,19−1)を有し,また記憶
制御部(14)は,スカラユニットごとに反映すべきバッ
ファ無効化アドレスの残り個数をカウントするシリアラ
イズカウンタ(22−0,22−1)をスカラユニット対応で
もつことにより,ベクトル命令管理部(12)は,POST命
令が入力されると,そのPOST命令を送出したスカラユニ
ットに対応する上記シリアライズ制御手段を起動し,起
動されたシリアライズ制御手段は,フラグ手段(18)を
参照して,先に入力されているベクトル命令中で上記PO
ST命令を送出したスカラユニットに属する全てのベクト
ル命令を検出し,それらのベクトル命令が実行終了した
とき記憶制御部(14)のシリアライズ制御を起動し,記
憶制御部(14)は,シリアライズ対象の上記スカラユニ
ットに対応する上記シリアライズカウンタが示すバッフ
ァ無効化アドレスの残り個数にしたがってシリアライズ
対象の上記スカラユニットにバッファ無効化アドレスを
送出し,バッファへの反映処理を行わせることによりシ
リアライズ制御を行うことを特徴とする命令実行のシリ
アライズ制御方式。1. A POST comprising: a main memory device (10); a plurality of scalar units (1-0, 1-1); and a vector unit (2) for processing vector instructions requested by each scalar unit. In an information processing system having a function of serializing instruction execution using instructions and WAIT instructions, a vector unit (2) includes a vector instruction management unit (12) and a storage control unit (14), and a vector instruction management unit ( 1
2) has flag means (18) and serialization control means (19-0, 19-1) for separately managing the input vector instructions for each requesting scalar unit, and also has a storage control section (14). Has a serialization counter (22-0, 22-1) that counts the remaining number of buffer invalidation addresses that should be reflected for each scalar unit in correspondence with the scalar unit, so that the vector instruction management unit (12) Is input, the serialization control means corresponding to the scalar unit that has sent the POST command is activated, and the activated serialization control means refers to the flag means (18) and the previously input vector is input. PO above in the order
All vector instructions that belong to the scalar unit that sent the ST instruction are detected, and when these vector instructions have finished executing, the serialization control of the storage control unit (14) is activated, and the storage control unit (14) Performing serialization control by sending the buffer invalidation address to the scalar unit to be serialized according to the remaining number of buffer invalidation addresses indicated by the serialization counter corresponding to the scalar unit, and causing the buffer invalidation address to be reflected. A serialization control method for instruction execution.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63264457A JP2555427B2 (en) | 1988-10-20 | 1988-10-20 | Instruction execution serialization control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63264457A JP2555427B2 (en) | 1988-10-20 | 1988-10-20 | Instruction execution serialization control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02110770A JPH02110770A (en) | 1990-04-23 |
| JP2555427B2 true JP2555427B2 (en) | 1996-11-20 |
Family
ID=17403473
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63264457A Expired - Fee Related JP2555427B2 (en) | 1988-10-20 | 1988-10-20 | Instruction execution serialization control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2555427B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5172725A (en) * | 1992-01-17 | 1992-12-22 | Isao Kitagawa | Device for switching the flow direction of fluid |
| CN117112025B (en) * | 2023-10-18 | 2023-12-22 | 北京开源芯片研究院 | Instruction execution methods, devices, equipment and storage media of processing components |
-
1988
- 1988-10-20 JP JP63264457A patent/JP2555427B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02110770A (en) | 1990-04-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4916652A (en) | Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures | |
| US5293500A (en) | Parallel processing method and apparatus | |
| JP2701179B2 (en) | Data processing system | |
| EP0243892B1 (en) | System for guaranteeing the logical integrity of data | |
| US6233670B1 (en) | Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing | |
| JP2677414B2 (en) | Instruction execution serialization control method | |
| JPH07281896A (en) | Information processing equipment | |
| US4287561A (en) | Address formulation interlock mechanism | |
| JP3400458B2 (en) | Information processing device | |
| EP1050811A1 (en) | Branching in a computer system | |
| US5802340A (en) | Method and system of executing speculative store instructions in a parallel processing computer system | |
| US5175827A (en) | Branch history table write control system to prevent looping branch instructions from writing more than once into a branch history table | |
| JP2682217B2 (en) | Microprocessor | |
| JP2555427B2 (en) | Instruction execution serialization control method | |
| JPS62102344A (en) | Buffer memory control system | |
| JP2504536B2 (en) | Instruction execution serialization control method | |
| EP0292188B1 (en) | Cache system | |
| US5276853A (en) | Cache system | |
| US5574924A (en) | Vector processing device that utilizes post marks to ensure serialization of access requests of vector store instructions | |
| EP1050805B1 (en) | Transfer of guard values in a computer system | |
| US6789185B1 (en) | Instruction control apparatus and method using micro program | |
| JPH0326862B2 (en) | ||
| JP2581565B2 (en) | Data processing device that executes guarded instructions | |
| JP2783285B2 (en) | Information processing device | |
| JP5185478B2 (en) | Pipeline processing method and pipeline processing apparatus using the method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |