JP2504536B2 - Instruction execution serialization control method - Google Patents

Instruction execution serialization control method

Info

Publication number
JP2504536B2
JP2504536B2 JP63251349A JP25134988A JP2504536B2 JP 2504536 B2 JP2504536 B2 JP 2504536B2 JP 63251349 A JP63251349 A JP 63251349A JP 25134988 A JP25134988 A JP 25134988A JP 2504536 B2 JP2504536 B2 JP 2504536B2
Authority
JP
Japan
Prior art keywords
instruction
vector
post
serialization
unit
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
JP63251349A
Other languages
Japanese (ja)
Other versions
JPH0298776A (en
Inventor
賢一 坂井
正樹 北島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63251349A priority Critical patent/JP2504536B2/en
Publication of JPH0298776A publication Critical patent/JPH0298776A/en
Application granted granted Critical
Publication of JP2504536B2 publication Critical patent/JP2504536B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/12Improving ICE efficiencies

Landscapes

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

Description

【発明の詳細な説明】 〔概要〕 スカラユニットとスカラユニットから送られるベクト
ル命令を処理するベクトルユニットとを備えた科学技術
用計算機などの情報処理システムにおけるPOST命令およ
びWAIT命令を用いた命令実行のシリアライズ制御方式に
関し, POST命令に先行するベクトルSTORE命令の完了だけを
認識できるようにして,余分なベクトルSTORE命令によ
るWAIT命令のオーバヘッドを短縮することを目的とし, ベクトルユニット内のベクトル命令管理部にあるアク
セスパイプライン用の命令管理ステージにPOSTフラグを
設け,POST命令の起動時に先行する全ての有効なベクト
ル命令のPOSTフラグをONに設定して,POST命令に先行す
るベクトル命令の終了を全てのPOSTフラグがOFFになっ
たことで認識し,シリアライズ制御を行うように構成し
た。
DETAILED DESCRIPTION OF THE INVENTION [Outline] Execution of instruction execution using a POST instruction and a WAIT instruction in an information processing system such as a scientific and technological computer provided with a scalar unit and a vector unit for processing a vector instruction sent from the scalar unit. Regarding the serialization control method, the vector instruction management section in the vector unit is designed to reduce the overhead of the WAIT instruction due to the extra vector STORE instruction by making it possible to recognize only the completion of the vector STORE instruction that precedes the POST instruction. A POST flag is provided in the instruction management stage for a certain access pipeline, the POST flags of all valid vector instructions that precede the POST instruction are set to ON, and the end of the vector instruction that precedes the POST instruction is terminated. It was configured to recognize when the POST flag was turned off and perform serialization control.

〔産業上の利用分野〕[Industrial applications]

本発明は,スカラユニットとスカラユニットから送ら
れるベクトル命令を処理するベクトルユニットとを備え
た科学技術用計算機などの情報処理システムにおけるPO
ST命令およびWAIT命令を用いた命令実行のシリアライズ
制御方式に関する。
The present invention relates to a PO in an information processing system such as a scientific and technological computer having a scalar unit and a vector unit for processing vector instructions sent from the scalar unit.
The present invention relates to a serialization control method of instruction execution using ST instruction and WAIT instruction.

このようなシステムでは,スカラ命令とベクトル命
令,あるいはベクトル命令とベクトル命令間で命令の先
行制御や並列実行が行われることがあるため,主記憶参
照順序が保証されないことがある。従って主記憶参照順
序を保証するためにはベクトルオペレーションのシリア
ライズを行う必要がある。
In such a system, the scalar memory instruction and the vector instruction, or the instruction advance control or parallel execution between the vector instructions may be performed, and thus the main memory reference order may not be guaranteed. 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 the 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.

近年の科学技術用計算機システムにおける高速化要求
に応えるため,本発明はベクトルオペレーションのシリ
アライズに伴うオーバヘッドの削減を図ることを意図し
ている。
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.

〔従来の技術〕[Conventional technology]

第7図に,本発明が適用される従来の科学技術用計算
機システムの構成例を示す。
FIG. 7 shows a configuration example of a conventional science and technology computer system to which the present invention is applied.

第7図において,1はスカラユニットSU,2はベクトルユ
ニットVU,3は命令実行部VXU,4は加算パイプラインADD,5
は乗算パイプラインMULTi,6は除算パイプラインDiV,7は
ベクトルレジスタVR,8および9はロード・ストアパイプ
ラインLOAD/STORE,10は主記憶装置MSU,11はベクトル制
御部VCU,12はベクトル命令管理部Vi,13はベクトル記憶
管理部VS,14は記憶制御装置MCUである。
In FIG. 7, 1 is a scalar unit SU, 2 is a vector unit VU, 3 is an instruction execution unit VXU, 4 is an addition pipeline ADD, 5
Is a multiplication pipeline MULTi, 6 is a division pipeline DiV, 7 is a vector register VR, 8 and 9 are load / store pipelines LOAD / STORE, 10 is a main memory MSU, 11 is a vector control unit VCU, and 12 is a vector instruction The management unit Vi, 13 is a vector storage management unit VS, 14 is a storage control unit MCU.

スカラユニットSUはプログラム中の命令を順次フェッ
チし,スカラ命令は自身で実行し,ベクトル命令はベク
トルユニットVUへ送って実行させる。
The scalar unit SU sequentially fetches the instructions in the program, executes the scalar instructions by itself, and sends the vector instructions to the vector unit VU for execution.

ベクトルユニットVUのベクトル制御部VCUにおいて,
ベクトル命令管理部ViはスカラユニットSUから送られた
ベクトル命令を受け取り,実行を管理する。主記憶アク
セスを行う場合は,ベクトル記憶管理部VSが起動され,
アドレスが発生されて,記憶制御装置MCUを介して主記
憶装置MSUへのアクセスが行われる。
In the vector control unit VCU of the vector unit VU,
The vector instruction management unit Vi receives the vector instruction sent from the scalar unit SU and manages the execution. When accessing the main memory, the vector memory management unit VS is started,
An address is generated and the main memory MSU is accessed via the memory controller MCU.

主記憶装置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から主記憶装置MSUへのアク
セスは,ベクトルユニットVU内の記憶制御装置MCUを介
して行われる。
On the other hand, access from the scalar unit SU to the main memory MSU is performed via the memory controller MCU in the vector unit VU.

スカラユニットSUとベクトルユニットVUとは,可能な
限り並列に動作することがシステムの処理性能を高める
うえで望ましい。しかし,プログラム中のベクトル命令
あるいはクカラ命令が,先行するベクトル命令あるいは
スカラ命令の実行結果のデータをオペランドとして使用
する場合,それらの命令間での実行順序を保証すること
が必要となる。この制御が,ベクトルオペレーションの
シリアライズ制御である。
It is desirable that the scalar unit SU 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 Kukara instruction in a program uses the data of the execution result of the preceding vector instruction or a scalar instruction as an operand, it is necessary to guarantee the execution order between those instructions. This control is the serialization control of vector operations.

従来のシステムでは,ベクトルオペレーションのシリ
アライズ制御を,POST命令及びWAIT命令を利用して行っ
ている。この方法は,POST命令より前に実行されるべき
命令の主記憶オペランドの参照が,WAIT命令より後で実
行されるべき命令の主記憶オペランドの参照よりも早く
行われるように制御するものである。このため,POST命
令とWAIT命令にはさまれた命令の主記憶オペランドは,
ベクトルオペレーションのシリアライズの対象から除外
される。
In the conventional system, the serialization control of vector operations is performed using the POST and WAIT instructions. 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, the main memory operand of the instruction sandwiched between the POST and WAIT instructions is
Excluded from serialization of vector operations.

従来ベクトル命令とスカラ命令の各組み合わせでのシ
リアライズの保証は次のように行われている。
The conventional guarantee of serialization in each combination of vector instruction and scalar instruction is performed as follows.

(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 invalidation of buffer to scalar unit SU is 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. It means that the buffer invalidation (invalidation) processing to invalidate all is performed, and until it ends, the scalar instruction with main memory reference after the WAIT instruction is not executed.

しかしこのバッファ無効化は,機構上POST命令に先行
するベクトルSTORE命令によるものだけを分離して処理
することができない。そのため,POST命令とWAIT命令の
中間にあるベクトルSTORE命令も一緒にしてそのバッフ
ァ無効化反映処理の終了検出を行っていた。
However, this buffer invalidation cannot be separated and processed only by the vector STORE instruction that precedes the POST instruction due to the mechanism. For this reason, the end of the buffer invalidation reflection process was detected together with the vector STORE instruction that is between the POST instruction and the WAIT instruction.

したがってWAIT命令に続く主記憶参照を伴うスカラ命
令の起動は,WAIT命令に先行する全てのベクトルSTORE命
令に基因するバッファ無効化が終了するまで待たされて
いた。第8図および第9図に具体例を示す。
Therefore, the activation of the scalar instruction with the main memory reference following the WAIT instruction was delayed until the buffer invalidation due to all vector STORE instructions preceding the WAIT instruction was completed. Specific examples are shown in FIGS. 8 and 9.

第8図は,POST命令とWAIT命令とを用いてシリアライ
ズ制御を行う命令シーケンスの例を示したもので,VSTは
ベクトルSTORE命令,LDはスカラのLOAD命令を表す。
FIG. 8 shows an example of an instruction sequence for performing serialization control using a POST instruction and a WAIT instruction, where VST is a vector STORE instruction and LD is a scalar LOAD instruction.

第8図において,POSTの前にあるのVSTが実行完了す
るまでは,WAITの後にあるのLDは実行されず,これらV
STとLDとの間の主記憶参照順序は保証される。しかし,P
OSTとWAITの間にあるないしのVSTについては,シリ
アライズ制御は行われず,主記憶の参照順序は保証され
ない。
In Fig. 8, LDs after WAIT are not executed until VST before POST is completed.
The main memory reference order between ST and LD is guaranteed. However, P
Serialization control is not performed for VST between OST and WAIT, and the reference order of main memory is not guaranteed.

第9図は,第8図に示されている命令シーケンスの処
理フローを例示したものである。
FIG. 9 exemplifies the processing flow of the instruction sequence shown in FIG.

この例では,第7図のベクトルユニットVUにおいて,
ベクトル命令管理部Viにより,第8図中のないしの
ベクトル命令VSTは,2本のパイプラインを用いて第9図
に示すように順次2命令ずつ並列実行制御される。
In this example, in the vector unit VU of FIG.
The vector instruction management unit Vi controls the parallel execution of the vector instructions VST in FIG. 8 by two instructions sequentially by using two pipelines as shown in FIG.

そして,ないしのVSTが実行され,これらのバッ
ファ無効化が全てスカラユニットSUのバッファに反映さ
れた後に,WAIT命令が終了し,のLDが実行された。
Then, VST of or is executed, and after all of these buffer invalidations are reflected in the buffer of the scalar unit SU, the WAIT instruction is completed and LD of is executed.

〔発明が解決しようとする課題〕[Problems to be Solved by the Invention]

従来のシステムでは,POST命令の前と後にベクトルSTO
RE命令が存在するとき,POST命令の前にあるベクトルSTO
RE命令についてのバッファ無効化反映処理を,後にある
ベクトルSTORE命令のバッファ無効化反映処理と区別し
てその終了タイミングを認識することができなかったた
め,WAIT命令は,WAIT命令に先行する全てのベクトルSTOR
E命令のバッファ無効化反映処理が終了するまで,実行
を終了することができなかった。
In conventional systems, vector STO is used before and after the POST instruction.
The vector STO preceding the POST instruction when the RE instruction is present
Since the end timing could not be recognized by distinguishing the buffer invalidation reflection processing for the RE instruction from the buffer invalidation reflection processing of the subsequent vector STORE instruction, the WAIT instruction could not be executed for all vector STORs preceding the WAIT instruction.
Execution could not be completed until the buffer invalidation reflection processing of the E instruction was completed.

したがって,WAIT命令に続く主記憶参照を伴うスカラ
命令の実行は,POST命令とWAIT命令の間に挟まれたシリ
アライズに関係のないベクトルSTORE命令に影響され
て,その実行完了まで待たされ,処理性能が低下すると
いう問題があった。
Therefore, the execution of a scalar instruction with a main memory reference following the WAIT instruction is affected by the vector STORE instruction that is not related to serialization sandwiched between the POST instruction and the WAIT instruction, and is waited until its execution is completed. There was a problem that it decreased.

本発明は,POST命令に先行するベクトルSTORE命令の完
了だけを認識できるようにして,余分なベクトルSTORE
命令によるWAIT命令のオーバヘッドを短縮し,シリアラ
イズ制御の高速化を図ることを目的とする。
The present invention makes it possible to recognize only the completion of the vector STORE instruction preceding the POST instruction, and
The purpose is to reduce the overhead of the WAIT instruction due to the instruction and speed up the serialization control.

〔課題を解決するための手段〕 本発明は,ベクトルユニット内のベクトル命令管理部
において,ロード/ストアのアクセスパイプライン用命
令管理ステージに,ステージ内の命令がPOST命令の先行
命令であるかどうかを表示するPOSTフラグを設け,POST
命令の起動時に,先行する全ての有効(VALID)な命令
のPOSTフラグをONに設定する。ベクトル命令管理部は,
その後POSTフラグがONの各命令の処理が終了して全ての
POSTフラグがOFFになったときを検出して,POST命令に先
行するベクトルSTORE命令のバッファ無効化反映を切り
分ける制御を行う。具体的には,すべてのPOSTフラグが
OFFになり,POSTに先行する記憶制御装置に受け入れられ
たタイミングで,記憶制御装置に対してシリアライズ要
求を送り,記憶制御装置は,シリアライズ要求を受け取
った時点でバッファ無効化反映(バッファへの無効化・
アドレス通知)が未処理のアドレス数をカウントし,以
後のバッファ無効化の反映回数が先のカウント値に達し
たときにシリアライズ終了をスカラユニットSUに通知す
るようにしている。
[Means for Solving the Problem] According to the present invention, in the vector instruction management unit in the vector unit, whether the instruction in the stage is a preceding instruction of the POST instruction in the instruction management stage for access pipeline of load / store. POST flag is set to display
When the instruction is started, the POST flags of all the preceding valid (VALID) instructions are set to ON. The vector instruction manager is
After that, the processing of each instruction with the POST flag ON is completed and all
Detects when the POST flag turns off and controls the buffer invalidation reflection of the vector STORE instruction that precedes the POST instruction. Specifically, all POST flags
When the storage controller turns off and is accepted by the storage controller preceding POST, it sends a serialization request to the storage controller, and the storage controller receives the buffer invalidation when it receives the serialization request. Change
(Address notification) counts the number of unprocessed addresses, and notifies the scalar unit SU of the end of serialization when the number of reflections of subsequent buffer invalidation reaches the previous count value.

第1図は本発明の原理的構成図である。図示されてい
る情報処理システムの構成は,第7図の従来例システム
に対応するものであり,共通の要求には同一の参照番号
が用いられている。
FIG. 1 is a principle block diagram of the present invention. The configuration of the illustrated information processing system corresponds to that of the conventional example system shown in FIG. 7, and the same reference numerals are used for common requests.

第1図において, 1はスカラユニットSUである。 In FIG. 1, 1 is a scalar unit SU.

2はベクトルユニットVUである。 2 is a vector unit VU.

3はベクトル実行部であり,ベクトルレジスタ,アク
セスパイプライン,演算パイプラインを含む。
A vector execution unit 3 includes a vector register, an access pipeline, and an arithmetic 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であり,主記憶装置MSUに対する
アクセス要求のプライオリティ制御やアクセス制御を行
う。
Reference numeral 14 denotes a storage control unit MCU, which performs priority control and access control of access requests to the main storage unit MSU.

15はバッファであり,スカラユニットSUが主記憶装置
MSUにある命令やオペランドを効率的にアクセスするた
めに設けられている。
Reference numeral 15 is a buffer, and the scalar unit SU is the main storage device.
It is provided to efficiently access the instructions and operands in the MSU.

16は命令管理ステージであり,ベクトル実行部VXUの
アクセスパイプラインを制御するためのRead,Store,Ter
minateの各ステージを含む。
16 is an instruction management stage, which is a Read, Store, Ter for controlling the access pipeline of the vector execution unit VXU.
Includes each stage of minate.

17はPOSTフラグであり,命令管理ステージ16の各ステ
ージごとに設けられる。
Reference numeral 17 is a POST flag, which is provided for each stage of the instruction management stage 16.

18はシリアライズ制御部であり,POST命令が起動され
ると先行する命令のPOSTフラグ17をONにセットし,全て
のPOSTフラグ17がOFFであることを検出すると,記憶制
御装置MCUにシリアライズ起動信号を送出する。そして
記憶制御装置MCUからシリアライズ終了信号を受け取る
と,WAIT命令の実行を終了させる。
A serialization control unit 18 sets the POST flag 17 of the preceding instruction to ON when the POST instruction is activated, and when it detects that all the POST flags 17 are OFF, it issues a serialization activation signal to the storage control unit MCU. Is sent. When the serialization end signal is received from the storage control unit MCU, the execution of the WAIT instruction is ended.

19はバッファインバリデーション・アドレススタック
BiASであり,実行されたベクトルSTORE命令のアドレス
が格納され,順次読み出してスカラユニットSUへ送出
し,バッファ15へのバッファ無効化反映処理が行われ
る。
19 is buffer invalidation address stack
This is a BiAS, and the address of the executed vector STORE instruction is stored, read sequentially and sent to the scalar unit SU, and buffer invalidation reflection processing to the buffer 15 is performed.

20はシリアライズカウンタであり,ベクトル命令管理
部Viのシリアライズ制御部18からシリアライズ起動信号
を受け取った時,BiAS中の残りアドレス数をセットされ
る。以後BiASからアドレスが読み出されてバッファ無効
化反映処理が行われるたびに1ずつ減算カウントし,0に
なったときシリアライズ終了信号をSUに送出させる。
A serialization counter 20 is set with the number of remaining addresses in BiAS when a serialization activation signal is received from the serialization control unit 18 of the vector instruction management unit Vi. After that, each time an address is read from BiAS and buffer invalidation reflection processing is performed, the counter is decremented by one, and when it becomes 0, the serialization end signal is sent to SU.

さらに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となりシリア
ライズカウンタが“0"になるとOFFとなるPOST_Pending
信号が送出される。
It is turned on when the POST command is sent from Vi to SU and turned off when the serialization counter is set to "0". POST_Pending
The signal is sent out.

ViからSUに対して,WAIT命令の発信でONとなるWAIT_AC
K信号が送出される。
WAIT_AC that turns ON when a WAIT command is issued from Vi to SU
K signal is sent.

〔作用〕[Action]

第1図において,ベクトル命令管理部Viのシリアライ
ズ制御部は,POST命令が発信されるとその時点で命令管
理ステージ16に存在する全ての先行命令のPOSTフラグ17
をONにする。この結果POST命令に先行するベクトルSTOR
E命令があれば,それらはPOSTフラグによってPOST命令
の後のベクトルSTORE命令から区別できることになる
(以後先行するベクトルSTORE命令があった場合につい
て説明する)。
In FIG. 1, when the POST command is transmitted, the serialization control unit of the vector command management unit Vi has the POST flags 17 of all the preceding commands existing in the command management stage 16 at that time.
To ON. As a result, the vector STOR that precedes the POST command
If there is an E instruction, they can be distinguished from the vector STORE instruction after the POST instruction by the POST flag (the case where there is a preceding vector STORE instruction will be described below).

次に命令管理ステージ16のPOSTフラグが全てOFFにな
ったとき,先行するベクトルSTORE命令が全て実行され
たものとして,記憶制御装置MCUにシリアライズ起動信
号を送出する。この送出タイミングは,POSTフラグがOFF
になってから,(例えばプライオリティがとられてか
ら)POST命令に先行する全てのベクトルSTORE命令がMCU
のBiASに入力できるまでの時間を考慮して決定される。
Next, when all the POST flags of the instruction management stage 16 are turned off, it is assumed that all the preceding vector STORE instructions have been executed, and a serialization activation signal is sent to the storage control unit MCU. At this transmission timing, the POST flag is OFF
, All vector STORE instructions that precede the POST instruction (for example, after the priority is taken)
It is decided in consideration of the time until it can be input to BiAS.

MCUは,シリアライズ起動信号に応答して,POST命令に
先行するベクトルSTORE命令のバッファ無効化・アドレ
スでバッファへの反映が未済のものの数を,BiASから検
出する。このバッファ無効化・アドレスの数はシリアラ
イズカウンタ20にセットされ,続いてBiASからバッファ
無効化・アドレスが読み出されて,SUに送出されるごと
にカウントダウンされる。
In response to the serialization activation signal, the MCU detects from the BiAS the number of vector invalid STORE instructions that precede the POST instruction and the buffer invalidation / address that has not been reflected in the buffer. The number of buffer invalidation / addresses is set in the serialization counter 20, and the buffer invalidation / address is subsequently read from the BiAS and is counted down each time it is sent to the SU.

シリアライズカウンタ20のカウント値が0になったと
きが,POST命令に先行する全てのベクトルSTOREに命令の
バッファ無効化・アドレスの送出が完了したときであ
る。このときMCUは,SUにシリアライズ終了信号を送出す
る。またViへのBiAS_PendingをOFFにする。
When the count value of the serialization counter 20 becomes 0 is when the buffer invalidation of the instruction and the transmission of the address are completed to all the vector STORE preceding the POST instruction. At this time, the MCU sends a serialization end signal to the SU. Also turn off BiAS_Pending to Vi.

第2図は,第8図の命令シーケンスを本発明方式で実
行した場合の処理フローを示す。第9図の従来方式によ
る処理フローとくらべると判るように,WAIT_ACKの生成
とスカラユニットSUにおける命令LDの実行のタイミング
は大幅に早期化される。
FIG. 2 shows a processing flow when the instruction sequence of FIG. 8 is executed by the method of the present invention. As can be seen from the comparison with the processing flow according to the conventional method in FIG. 9, the timing of WAIT_ACK generation and execution of the instruction LD in the scalar unit SU is significantly accelerated.

〔実施例〕 第3図は本発明の1実施例システムの構成図である。[Embodiment] FIG. 3 is a configuration diagram of a system according to an embodiment of the present invention.

第3図において,1はスカラユニットSU,2はベクトルユ
ニットVU,12はベクトル命令管理部Vi,14は記憶制御装置
MCUであり,第1図に示されている構成と同じである。
In FIG. 3, 1 is a scalar unit SU, 2 is a vector unit VU, 12 is a vector instruction management unit Vi, and 14 is a storage controller.
It is an MCU and has the same configuration as that shown in FIG.

そしてスカラユニットSU内のBufferは,主記憶アクセ
スデータのバッファえあり,WAIT_BusyおよびWAIT_Pendi
ngはそれぞれラッチである。また記憶制御装置MCU14内
のBiASは,ベクトルSTORE命令が更新した主記憶アドレ
スをバッファ無効化のために保持しておくスタックであ
り,このアドレスは後にSUのBufferに反映され,該当す
るアドレスのデータが無効化される。
The Buffer in the scalar unit SU has a buffer for main memory access data, WAIT_Busy and WAIT_Pendi.
Each ng is a latch. The BiAS in the storage controller MCU14 is a stack that holds the main storage address updated by the vector STORE instruction in order to invalidate the buffer. This address is later reflected in the SU buffer and the data of the corresponding address is stored. Is invalidated.

次に第3図のブロック間に矢線で示される信号ない
しについて説明する。
Next, signals or signals indicated by arrows between blocks in FIG. 3 will be described.

:シリアライズ起動信号(Vi→MCU) −POST命令に先行するすべてのSTORE命令が,すべてB
iASに入ったことが保証できるタイミングで,ViからMCU
に送る。
: Serialization activation signal (Vi → MCU) − All STORE instructions preceding the POST instruction are all B
At the timing when it can be guaranteed that the iAS is entered, Vi to MCU
Send to

:BiAS_Pesding信号(MCU→Vi) −シリアライズ起動信号によりシリアライズを起動さ
れてから,BiASが空になるまでONとなる。
: BiAS_Pesding signal (MCU → Vi) -It is turned on until BiAS becomes empty after serialization is started by the serialization start signal.

:POST_Pesding信号(Vi→SU) −POST命令の発信でONとなる。POST命令に先行するす
べてのSTORE命令によるBiASが空になり,かつPOST命令
に先行するすべてのSTORE命令のプライオリティがとれ
るとOFFになる。
: POST_Pesding signal (Vi → SU) -ON when a POST command is sent. It turns off when the BiAS by all STORE instructions preceding the POST instruction becomes empty and the priority of all STORE instructions preceding the POST instruction is taken.

:シリアライズ終了信号(MCU→SU) −BiASが空になったところで,MCUからSUに送る。SUで
は,この信号により,バッファ無効化Biを行い,その期
間,CPU_ACKをINHIBITする。
: Serialization end signal (MCU → SU) -Send from MCU to SU when BiAS becomes empty. In SU, buffer invalidation Bi is performed by this signal, and CPU_ACK is INHIBIT during that period.

:WAIT_ACK信号(Vi→SU) −WAIT命令の発信でONとなる。SUでは,この信号の後
POST_Pending信号がOFFになるまで,命令をインタロッ
クとする。
: WAIT_ACK signal (Vi → SU) -Turns on when a WAIT command is issued. In SU, after this signal
The instruction is interlocked until the POST_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 controller.

第4図において,16は命令管理ステージ,18はシリアラ
イズ制御部,21は命令発信制御部である。
In FIG. 4, 16 is an instruction management stage, 18 is a serialization control unit, and 21 is an instruction transmission control unit.

またIは命令フェッチステージであり,SUからベクト
ル命令を受け取る入口となる。
I is an instruction fetch stage, which is an entrance for receiving vector instructions from SU.

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,Uはアクセス命令用の命令管理ステージであ
り,そのうちRはReadステージ,SはStoreステージ,TはT
erminateステージ,Uは命令終了ステージである。
R, S, T, and U are instruction management stages for access instructions, of which R is the Read stage, S is the Store stage, and T is T.
erminate stage, U is the instruction termination stage.

上記各ステージは全てVALiDフラグをもち,さらにR,
S,TステージについてはPOSTフラグPFをもっている。
Each of the above stages has a VALiD flag, and R,
The S and T stages have a POST flag PF.

命令発信制御部21は,POST命令またはWAIT命令が,ス
タート/キューステージQから命令管理ステージへ発信
されたとき,シリアライズ制御部18にPOST_STARTまたは
WAIT_STARTを送出する。
When the POST command or the WAIT command is transmitted from the start / queue stage Q to the command management stage, the command transmission control unit 21 causes the serialization control unit 18 to POST_START or
Send WAIT_START.

シリアライズ制御部18は,POST_START,WAIT_START,BiA
S_Pending,R,S,T各ステージのPOSTフラグを入力して,
一定の論理にしたがいPOSTフラグセット,POST_Pending,
WAIT_ACK,シリアライズ起動の各信号を出力する。
The serialization controller 18 uses POST_START, WAIT_START, BiA
Input the POST flag of each stage of S_Pending, R, S, T,
POST flag set, POST_Pending, according to a certain logic
Outputs WAIT_ACK and serialization activation signals.

第5図は,シリアライズ制御部18内の論理の一部を示
したもので,図(a)はPOST_Pendingの出力論理,図
(b)はシリアライズ起動の出力論理をそれぞれ示して
いる。
FIG. 5 shows a part of the logic in the serialization control unit 18. FIG. 5A shows the output logic of POST_Pending, and FIG. 5B shows the output logic of serialization activation.

POST命令のSTART発信により,命令発信制御部21からP
OST_STARTが送出されると,シリアライズ制御部18は,
命令管理ステージ16のVALiDフラグがONのステージのPOS
TフラグをONにすると共に,SUに対するPOST_Pending信号
をONにする。
By the START transmission of the POST instruction, the instruction transmission control unit 21
When OST_START is sent, the serialization control unit 18
POS of the stage where the VALiD flag of the instruction management stage 16 is ON
Turns on the T flag and turns on the POST_Pending signal for SU.

命令管理ステージ16のPOSTフラグがすべてOFFになっ
たところで,シリアライズ制御部18はMCUにシリアライ
ズ起動信号を送る。
When all the POST flags of the instruction management stage 16 are turned off, the serialization control unit 18 sends a serialization activation signal to the MCU.

その後WAIT命令が発信され,命令発信制御部21がWAIT
_STARTを送出すると,シリアライズ制御部18はWAIT_ACK
信号をSUに返す。SUでは,この信号とPOST_Pendingとの
一致をとった信号で,後続の主記憶参照スカラ命令をイ
ンタロックする。
After that, the WAIT command is transmitted, and the command transmission control unit 21 waits.
When _START is sent, the serialization control unit 18 waits for WAIT_ACK
Return signal to SU. In SU, the signal that matches this signal with POST_Pending interlocks the subsequent main memory reference scalar instruction.

MCUから送られるBiAS_PendingがOFFになったところ
で,シリアライズ制御部18は,POST_PendingをOFFにし,S
Uではインタロックを解除する。
When BiAS_Pending sent from the MCU is turned off, the serialization control unit 18 turns off POST_Pending and sets S
At U, unlock the interlock.

第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図において, 22は,ストアアドレス・スタックSTASである。 In FIG. 6, 22 is the store address stack STAS.

23は,セレクタSEL−1である。 23 is a selector SEL-1.

24は,バッファインバリデーション・1レジスタBi1R
である。
24 is buffer validation 1 register Bi1R
Is.

25は,タグレジスタTAGRである。 25 is a tag register TAGR.

26は,RAMで構成されたタグTAGである。 Reference numeral 26 is a tag TAG composed of RAM.

27は,一致回路である。 27 is a matching circuit.

28は,バッファインバリデーション・2レジスタBi2R
である。
28 is buffer invalidation 2 register Bi2R
Is.

29は,マッチフラグMATCHである。 29 is a match flag MATCH.

30は,バッファインバリデーション・アドレススタッ
クBiASである。
30 is a buffer invalidation address stack BiAS.

31は,インプットポインタINQ_COUNTである。 Reference numeral 31 is an input pointer INQ_COUNT.

32は,アウトプットポインタOUTQ_COUNTである。 32 is an output pointer OUTQ_COUNT.

33は,減算回路である。 33 is a subtraction circuit.

34は,シリアライズカウンタである。 34 is a serialization counter.

35は,セレクタSEL−2である。 Reference numeral 35 is a selector SEL-2.

36は,バッファインバリデーション・アドレスレジス
タBIARである。
36 is a buffer invalidation address register BIAR.

37は,“0"検出回路である。 37 is a "0" detection circuit.

第6図にMCUの構成例を示す。 FIG. 6 shows a configuration example of the MCU.

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はTAG用のレジスタであり,VUからのスト
アアクセス時は,TAG用の参照アドレスを示し,SUからの
フェッチアクセス時はTAG用の登録アドレス及び登録デ
ータを示している。
Bi1R is a register that receives the output of SEL-1. Bi
TAGR in parallel with 1R is a TAG register, which indicates a reference address for TAG during store access from VU, and shows a registration address and registration data for TAG during fetch access from SU.

一致回路27はVUからのストアアクセス時に,Bi1Rから
のアドレスとTAGのアドレスと比較する回路であり,そ
の出力はMATCHフラグ29を経由してBiASを書き込まれ
る。
The coincidence circuit 27 is a circuit for comparing the address from Bi1R with the address of TAG at the time of store access from VU, and its output is written to BiAS via MATCH flag 29.

BiASの下のINQ_COUNTは,MATCHフラグがBiASに書き込
まれた回数を示し,OUTQ_COUNTはBiASから読み出された
回数を示している。減算回路33は,INQ_COUNTの値からOU
TQ_COUNTの値を引き,BiASの中に残っているフラグの個
数を求める。
INQ_COUNT under BiAS indicates the number of times the MATCH flag was written to BiAS, and OUTQ_COUNT indicates the number of times it was read from BiAS. The subtraction circuit 33 uses the value of INQ_COUNT
Subtract the value of TQ_COUNT to find the number of flags remaining in BiAS.

Viからのシリアライズ起動信号を受け取ると,BiASの
中に残っている個数をシリアライズカウンタ34にセット
し,BiASからアドレスが読み出されるたびにシリアライ
ズカウンタ34の値を1ずつ減算し,値が“0"になったこ
とを“0"検出回路37で検出して,シリアライズ終了信号
をSUに対して送出する。
When the serialization activation signal from Vi is received, the number remaining in BiAS is set in serialization counter 34, and the value of serialization counter 34 is decremented by 1 each time an address is read from BiAS, and the value is "0". It is detected by the "0" detection circuit 37 that the serialization end signal is sent to the SU.

また“0"検出回路37は,シリアライズ起動信号による
起動がかかってから,BiASの値が“0"になるまで,Viに対
してBiAS_Pending信号を送出する。
Further, the “0” detection circuit 37 sends the BiAS_Pending signal to Vi until the BiAS value becomes “0” after the activation by the serialization activation signal.

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

本発明によるシリアライズ制御では,POST命令に先行
するベクトルSTORE命令の完了のみを区別して識別する
ため,POST命令に後続するベクトルSTORE命令によるWAIT
命令のオーバーヘッドをなくすことができ,スカラユニ
ットSUにおける処理効率が向上するとともに,ベクトル
ユニットVUとの並列処理性能も改善される。
In the serialization control according to the present invention, in order to distinguish and identify only the completion of the vector STORE instruction preceding the POST instruction, the WAIT by the vector STORE instruction following the POST instruction is distinguished.
The instruction overhead can be eliminated, the processing efficiency in the scalar unit SU is improved, and the parallel processing performance with the vector unit VU is also improved.

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

第1図は本発明の原理的構成図,第2図は本発明のシリ
アライズ制御方式の処理フロー図,第3図は本発明の1
実施例システムの構成図,第4図はベクトル命令管理部
の実施例構成図,第5図は第4図中のシリアライズ制御
部の一部の出力論理回路図,第6図は記憶制御装置の実
施例構成図,第7図は従来の科学技術用計算機システム
の構成図,第8図はPOST/WAITを用いてシリアライズを
行った命令シーケンス例の説明図,第9図は第8図の命
令シーケンス例についての従来のシリアライズ制御方式
の処理フロー図である。 第1図中 1:スカラユニットSU 2:ベクトルユニットVU 3:ベクトル実行部VXU 10:主記憶装置MSU 12:ベクトル命令管理部Vi 14:記憶制御装置MCU 15:バッファ 16:命令管理ステージ 17:POSTフラグPF 18:シリアライズ制御部 19:バッファインバリデーション・アドレススタックBiA
S 20:シリアライズカウンタ
FIG. 1 is a block diagram of the principle of the present invention, FIG. 2 is a process flow diagram of the serialization control method of the present invention, and FIG.
FIG. 4 is a block diagram of an embodiment system, FIG. 4 is a block diagram of an embodiment of a vector instruction management unit, FIG. 5 is a partial output logic circuit diagram of the serialization control unit in FIG. 4, and FIG. FIG. 7 is a configuration diagram of a conventional science and technology computer system, FIG. 8 is an explanatory diagram of an example of an instruction sequence serialized using POST / WAIT, and FIG. 9 is an instruction of FIG. It is a processing flow figure of the conventional serialization control system about a sequence example. In Fig. 1: 1: Scalar unit SU 2: Vector unit VU 3: Vector execution unit VXU 10: Main memory MSU 12: Vector instruction management unit Vi 14: Storage controller MCU 15: Buffer 16: Instruction management stage 17: POST Flag PF 18: Serialization control block 19: Buffer invalidation address stack BiA
S 20: Serialization counter

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】主記憶装置(10)と,記憶制御装置(14)
と,スカラユニット(1)と,ベクトルユニット(2)
とを有し,POST命令およびWAIT命令を用いてシリアライ
ズを行う機能を備えた情報処理システムにおいて, ベクトルユニット(2)は,ベクトル命令管理部(12)
とベクトル実行部(3)を有し,該ベクトル命令管理部
(12)には,アクセスパイプライン用の命令管理ステー
ジ(16)を有し,該命令管理ステージ(16)にPOSTフラ
グを設け, ベクトル命令管理部(12)は,POST命令の起動時に先行
する全ての有効なベクトルストア命令に対応するPOSTフ
ラグをONに設定する手段と,該POSTフラグが全てOFFに
なったことで,POST命令に先行するすべてのベクトルス
トア命令の終了を認識して,シリアライズ要求を記憶制
御装置(14)に送出する手段とを有し,また, 記憶制御装置(14)は,前記シリアライズ要求が送られ
た時点で未処理となっているバッファ無効化要求アドレ
ス(19)が,すべてスカラユニット(1)に送出された
後で,スカラユニット(1)に対し,シリアライズ終了
信号を送出する手段を有し, 前記POST命令に先行するすべてのベクトルストア命令の
終了を認識することにより,シリアライズ制御を行うこ
とを特徴とする,命令実行のシリアライズ制御方式。
1. A main storage device (10) and a storage control device (14)
, Scalar unit (1) and vector unit (2)
In the information processing system having the function of serializing using the POST instruction and the WAIT instruction, the vector unit (2) includes a vector instruction management unit (12).
And a vector execution unit (3), the vector instruction management unit (12) has an access pipeline instruction management stage (16), and the instruction management stage (16) is provided with a POST flag, The vector instruction management unit (12) sets the POST flag corresponding to all the valid vector store instructions preceding at the time of starting the POST instruction to ON, and the fact that the POST flags are all OFF, the POST instruction And a means for recognizing the end of all vector store instructions preceding to and sending a serialization request to the storage controller (14), and the storage controller (14) has received the serialization request. A buffer invalidation request address (19) that has not been processed at this point is sent to the scalar unit (1), and a means for sending a serialization end signal to the scalar unit (1) is provided. Before By recognizing the completion of all the vector store instructions preceding the POST instruction, and performs serialization control, serialization control method of instruction execution.
JP63251349A 1988-10-05 1988-10-05 Instruction execution serialization control method Expired - Fee Related JP2504536B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63251349A JP2504536B2 (en) 1988-10-05 1988-10-05 Instruction execution serialization control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63251349A JP2504536B2 (en) 1988-10-05 1988-10-05 Instruction execution serialization control method

Publications (2)

Publication Number Publication Date
JPH0298776A JPH0298776A (en) 1990-04-11
JP2504536B2 true JP2504536B2 (en) 1996-06-05

Family

ID=17221506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63251349A Expired - Fee Related JP2504536B2 (en) 1988-10-05 1988-10-05 Instruction execution serialization control method

Country Status (1)

Country Link
JP (1) JP2504536B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628182A (en) * 1992-04-16 1994-02-04 Matsushita Electric Ind Co Ltd Information processor
JPH06168263A (en) * 1992-11-30 1994-06-14 Fujitsu Ltd Vector processor
WO2000078095A1 (en) 1999-06-11 2000-12-21 Fps Inc. Flat acoustic transducer
US9504625B2 (en) 2008-03-31 2016-11-29 Kohler Co. Vibroacoustic water system
JP6105307B2 (en) * 2013-02-07 2017-03-29 Necプラットフォームズ株式会社 Instruction execution control device, instruction execution control system, instruction execution control method, and instruction execution control program

Also Published As

Publication number Publication date
JPH0298776A (en) 1990-04-11

Similar Documents

Publication Publication Date Title
US5293500A (en) Parallel processing method and apparatus
US4916652A (en) Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures
CA1202422A (en) Data processor with parallel-operating operation units
US5257354A (en) System for monitoring and undoing execution of instructions beyond a serialization point upon occurrence of in-correct results
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
US5694617A (en) System for prioritizing quiesce requests and recovering from a quiescent state in a multiprocessing system with a milli-mode operation
EP0238810A2 (en) Method and system for facilitating instruction processing of a digital computer
EP0106670A2 (en) CPU with multiple execution units
JP2677414B2 (en) Instruction execution serialization control method
US4287561A (en) Address formulation interlock mechanism
US4773041A (en) System for executing a sequence of operation codes with some codes being executed out of order in a pipeline parallel processor
US4847748A (en) Virtual memory arrangement data processing system with decoding and execution of prefetched instructions in parallel
US5930491A (en) Identification of related instructions resulting from external to internal translation by use of common ID field for each group
US5226166A (en) Parallel operation processor with second command unit
JPS61204758A (en) Co-processor controlling system
KR930003444B1 (en) Priority controller with memory reference
JP2504536B2 (en) Instruction execution serialization control method
EP0223150B1 (en) Information processing apparatus
JP3180175B2 (en) Instruction level parallel processing control method and processor
EP0778519B1 (en) Multiple instruction dispatch system for pipelined microprocessor without branch breaks
JPH0410102B2 (en)
EP0600583B1 (en) Vector processing device
US5276853A (en) Cache system
EP0292188B1 (en) Cache system
JP2555427B2 (en) Instruction execution serialization control method

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees