JP2716055B2 - Vector processor control method - Google Patents

Vector processor control method

Info

Publication number
JP2716055B2
JP2716055B2 JP63138543A JP13854388A JP2716055B2 JP 2716055 B2 JP2716055 B2 JP 2716055B2 JP 63138543 A JP63138543 A JP 63138543A JP 13854388 A JP13854388 A JP 13854388A JP 2716055 B2 JP2716055 B2 JP 2716055B2
Authority
JP
Japan
Prior art keywords
instruction
vector
lift
processing
register
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 - Lifetime
Application number
JP63138543A
Other languages
Japanese (ja)
Other versions
JPH01307870A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63138543A priority Critical patent/JP2716055B2/en
Publication of JPH01307870A publication Critical patent/JPH01307870A/en
Application granted granted Critical
Publication of JP2716055B2 publication Critical patent/JP2716055B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数のパイプライン処理機構から成るベク
トル処理装置の制御方式に係り、特に、パイプライン処
理機構における資源待ちの無駄な空き時間を排除し、効
率良くベクトル命令を処理するために用いて好適なベク
トル処理装置の制御方式に関する。
Description: BACKGROUND OF THE INVENTION The present invention relates to a control method of a vector processing device including a plurality of pipeline processing mechanisms, and more particularly, to a method of reducing wasteful idle time of resource waiting in a pipeline processing mechanism. The present invention relates to a control method of a vector processing apparatus which is preferably used for efficiently processing vector instructions by eliminating the same.

〔従来の技術〕[Conventional technology]

複数のパイプライン処理機構と複数本のベクトルレジ
スタから成るベクトル処理装置において、ベクトル命令
を実行する場合、処理装置は、前もつて、該命令が使用
するパイプライン処理機構(リソースとも呼ぶ)やベク
トルレジスタが“空”状態になつているか否かを検査す
ることが必要である。もし、これらが“空”状態でなけ
れば(これをリソース・コンフリクト、レジスタ・コン
フリクトと呼ぶ)該命令の実行は待たされることにな
る。
In the case of executing a vector instruction in a vector processing device including a plurality of pipeline processing mechanisms and a plurality of vector registers, the processing device previously includes a pipeline processing mechanism (also referred to as a resource) and a vector used by the instruction. It is necessary to check whether the register is in the "empty" state. If they are not in the "empty" state (this is called a resource conflict or a register conflict), the execution of the instruction is delayed.

このようなコンフリクトが発生すると、後続の命令が
割付けられたリソースやレジスタに空時間が生じてしま
い、これがシステムの性能を低下させることになる。こ
の性能低下を改善する従来技術として、例えば、その一
つに「チエイニング」と呼ばれる技術が知られている。
この技術は、先行するベクトル命令のベクトルレジスタ
への書込が全て終了しなくても、書込まれた要素に関し
ては、後続命令での読み出しを行なうよう処理するもの
である。即ち、二つのパイプラインを連結(チエイン)
して処理するわけである。このチエイニングにより、レ
ジスタコンフリクトによるパイプライン処理機構の無駄
な空時間の発生を抑えることができる。
When such a conflict occurs, idle time is generated in resources and registers to which subsequent instructions are allocated, which lowers the performance of the system. As a conventional technique for improving the performance degradation, for example, a technique called “chaining” is known as one of the techniques.
In this technique, even if writing of the preceding vector instruction to the vector register is not completed, the written element is processed to be read by the subsequent instruction. That is, connecting two pipelines (chain)
And then process it. By this chaining, generation of useless idle time in the pipeline processing mechanism due to register conflict can be suppressed.

なお、このようなチエイニングに関する技術は、「日
経エレクトロニクス、1984.11.19、第262頁から第264
頁」、「日経エレクトロニクス、1983.4.11、第147頁か
ら第148頁」等において論じられたものが知られてい
る。
The technology related to such chaining is described in “Nikkei Electronics, November 19, 1984, pp. 262 to 264.
Pages, "Nikkei Electronics, 1983.4.11, pp. 147 to 148" and the like are known.

また、リソース・コンフリクト時の処理装置性能低下
防止対策として、各リソースに次に実行すべき命令のバ
ツフアを設け、実行中の命令終了後直ちに次の命令を実
行する方式も提案されている。この技術は、命令起動管
理回路とリソース間の制御信号の送受における無駄時間
を排除して、処理装置の性能低下を防止するものであ
る。
As a countermeasure for preventing the performance of the processing apparatus from deteriorating at the time of resource conflict, a method has been proposed in which a buffer of an instruction to be executed next is provided in each resource, and the next instruction is executed immediately after completion of the instruction being executed. This technique eliminates a dead time in transmission and reception of a control signal between an instruction activation management circuit and a resource, thereby preventing performance degradation of a processing device.

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

ところが、前記従来技術は、読出中のベクトルレジス
タに対する書込動作のチエイニングについては考慮され
ていなかつた。すなわち、前記従来技術は、先行命令に
よるベクトルレジスタの読出が終了するまで、該ベクト
ルレジスタに書込む後続命令の発行もしくは実行を抑止
するように制御するものであり、また、前記以外の場
合、例えば、先行する命令によるレジスタ読出中の後続
命令による読出、または、ベクトルレジスタ周辺回路の
レジスタ間共用によるコンフリクト発生時にも、後続命
令の発行もしくは実行を抑止するものであつた。
However, the prior art does not consider the chaining of the write operation to the vector register being read. That is, the above-described prior art controls the issue or execution of a subsequent instruction to be written to the vector register until reading of the vector register by the preceding instruction is completed. In addition, the issue or execution of the subsequent instruction is suppressed even when the register is read by the preceding instruction and read by the subsequent instruction or when a conflict occurs due to sharing of registers of the vector register peripheral circuit.

一例として、次の簡単なプログラムを考える。 As an example, consider the following simple program.

これを、ベクトル処理装置で実行する場合のベクトル
命令列は、 となる。ここでVRはベクトルレジスタである。この場
合、VR0は、Load命令による書込と、Store命令による読
出でコンフリクトが発生するが、前記チエイニング技術
により回避可能である。ところが、前記ベクトル命令
を、最大ベクトル長50の装置で処理することを考えると
状況は変化する。つまり、前記ベクトル命令は、ベクト
ル長100のベクトル処理であるので、前記ベクトル長50
の装置では、上記ベクトル命令を2回実行する必要が生
じるため、1回目のStore命令と2回目のLoad命令でVR0
がぶつかることになる。一般に、このような場合のコン
フリクト回避は、チエイニング相当の技術の実現回路が
複雑になるために行なわれない。この結果、2回目のLo
ad命令の実行は、1回目のStore命令の実行終了まで待
たされることになる。
When this is executed by the vector processing device, the vector instruction sequence is Becomes Here, VR is a vector register. In this case, a conflict occurs in VR0 between the writing by the Load instruction and the reading by the Store instruction, which can be avoided by the chaining technique. However, the situation changes when considering that the vector instruction is processed by a device having a maximum vector length of 50. That is, since the vector instruction is a vector process with a vector length of 100, the vector length is 50.
In the device described above, it is necessary to execute the vector instruction twice, so that the first Store instruction and the second Load instruction cause VR0
Will hit. In general, conflict avoidance in such a case is not performed because a circuit for implementing a technology equivalent to chaining becomes complicated. As a result, the second Lo
Execution of the ad instruction is delayed until the execution of the first Store instruction is completed.

ところが、パイプライン処理機構において、前記のよ
うなコンフリクト発生時に抑止する必要がある処理は、
ベクトルレジスタへの書込動作、または、ベクトルレジ
スタからの読出動作以降であり、該動作以前のパイプラ
イン・ステージでは、コンフリクトとは無関係に該命令
の処理を実行することが可能である。つまり、パイプラ
イン処理機構において、先行する命令によるベクトルレ
ジスタへのアクセスが完全に終了した段階で後続命令を
パイプライン処理機構に投入する従来技術は、コンフリ
クトとは無関係なステージ分の無駄な空時間が発生して
しまうという問題点を有し、さらに、コンフリクトによ
つて発行を抑止させられた命令の後続命令が、コンフリ
クトを発生しない場合であつても、過剰に後続命令を止
めてしまい、これが処理システム全体の性能低下を生じ
させるという問題点を有する。
However, in the pipeline processing mechanism, the processing that needs to be suppressed when the above-described conflict occurs,
In a pipeline stage after the writing operation to the vector register or the reading operation from the vector register and before the operation, it is possible to execute the processing of the instruction regardless of the conflict. In other words, in the pipeline processing mechanism, the conventional technique of inputting the subsequent instruction to the pipeline processing mechanism at the stage when the access to the vector register by the preceding instruction is completely completed is a wasteful idle time for a stage unrelated to the conflict. In addition, even if the instruction following the instruction whose issuance has been suppressed due to the conflict does not cause a conflict, the subsequent instruction is stopped excessively. There is a problem that the performance of the entire processing system is reduced.

本発明の目的は、先行命令に対してコンフリクトを起
こしている後続命令の処理過程において、該後続命令の
実行に無駄な空時間を発生させず、且つ、該コンフリク
トに無関係な命令の実行を過剰に抑止することを、比較
的簡単な制御機構により防止することのできるベクトル
処理装置の制御方式を提供することになる。
SUMMARY OF THE INVENTION It is an object of the present invention to prevent useless idle time from being generated in the execution of a subsequent instruction in the process of processing a subsequent instruction that causes a conflict with a preceding instruction, and to excessively execute an instruction unrelated to the conflict. The present invention provides a control method of a vector processing device which can prevent the above-mentioned suppression by a relatively simple control mechanism.

〔課題を解決するための手段〕[Means for solving the problem]

本発明によれば、前記目的は、コンフリクトが発生し
ていることを検出する回路を備え、コンフリクトを検出
した場合に、コンフリクトが発生していることを示すコ
ンフリクト情報をベクトル命令の先頭要素に付加してパ
イプライン処理機構に流し込む手段と、コンフリクト解
除を検出すると、該情報をパイプライン処理機構に通知
する手段とを設けるとともに、パイプライン処理機構に
おいて、コンフリクト発生情報を検出した時点で、パイ
プラインの処理を特定ステージで停止させ、コンフリク
ト解除通知を受取ると該パイプライン処理を再開させる
制御手段を設けることにより達成される。更に、前記目
的は、各パイプライン処理機構に、コンフリクト解消通
知によりカウント・アツプ(または、ダウン)し、コン
フリクト情報付命令処理時にカウント・ダウン(また
は、アツプ)するコンフリクト情報カウンタを設けるこ
とにより達成される。
According to the present invention, the object is to provide a circuit for detecting that a conflict has occurred, and to add a conflict information indicating that a conflict has occurred to a head element of a vector instruction when a conflict is detected. And a means for notifying the pipeline processing mechanism when the conflict release is detected. In addition, when the pipeline processing mechanism detects the conflict occurrence information, the pipeline processing means Is stopped at a specific stage, and a control means for restarting the pipeline processing upon receiving a conflict release notification is provided. Further, the above object is achieved by providing each pipeline processing mechanism with a conflict information counter that counts up (or down) in response to a conflict resolution notification and counts down (or up) when processing an instruction with conflict information. Is done.

〔作用〕[Action]

ベクトル処理装置が、ベクトル命令を実行しようとす
る場合、その命令で使用するベクトルレジスタ等が、先
行命令で使用中であるようなコンフリクト状態が検出さ
れると、該コンフリクト情報は、ベクトル命令の先頭要
素に付加されて、目的のパイプライン処理機構に流し込
まれる。パイプライン処理機構は、先頭要素に付加され
た該コンフリクト情報を検出すると、ベクトル・レジス
タ等をアクセスするステージより上流のパイプライン・
ステージにおいて処理を停止させる。これにより、該パ
イプラインに割付けられた命令の処理は停止させられ、
当然ベクトルレジスタ等のアクセスも抑止され、アクセ
スのぶつかりは回避される。但し、コンフリクトを検出
したベクトル命令のパイプライン処理は、途中まで進め
られることになる。
When a vector processor attempts to execute a vector instruction, if a conflict state is detected in which a vector register or the like used by the instruction is being used by a preceding instruction, the conflict information is set to the head of the vector instruction. Attached to the element and poured into the desired pipeline processing mechanism. When the pipeline processing mechanism detects the conflict information added to the head element, the pipeline processing mechanism detects the pipeline information upstream of the stage that accesses the vector register or the like.
Stop processing at the stage. As a result, the processing of the instruction assigned to the pipeline is stopped,
Of course, access to the vector register and the like is also suppressed, and collision of access is avoided. However, the pipeline processing of the vector instruction for which a conflict is detected is advanced halfway.

また、命令実行制御機構は、該コンフリクトが解消し
たことを検出すると、該解消情報を前記パイプライン処
理機構に通知する。パイプライン処理機構は、該コンフ
リクト解消情報を受取ると、停止させていたパイプライ
ンの処理を再開させる。これにより、ベクトルレジスタ
等へのアクセスを、先行命令のアクセスとのぶつかりを
回避して行なうことが可能となり、且つ、コンフリクト
によるパイプライン処理機構の無駄な空時間の発生を極
力抑えることが可能になる。
When detecting that the conflict has been resolved, the instruction execution control mechanism notifies the pipeline processing mechanism of the resolved information. Upon receiving the conflict resolution information, the pipeline processing mechanism restarts the processing of the stopped pipeline. This makes it possible to access the vector register and the like while avoiding collision with the access of the preceding instruction, and to minimize wasteful idle time of the pipeline processing mechanism due to a conflict. Become.

さらに、コンフリクト情報カウンタは、コンフリクト
解消通知でカウント・アツプし、コンフリクト情報付の
命令の処理によりカウント・ダウンするよう動作してい
る。パイプライン処理機構は、このカウント値が“0"の
場合、コンフリクト解消通知が到着していないものとし
て、パイプラインの処理を停止させ、また、該カウンタ
が“0"でなければ、コンフリクト解消情報が到着してい
るものと判断し、該カウンタをカウントダウンして、パ
イプラインを停止させることなく、処理を進めるよう制
御する。
Further, the conflict information counter operates to count up by the conflict resolution notification and to count down by the processing of the instruction with the conflict information. When the count value is “0”, the pipeline processing mechanism determines that the conflict resolution notification has not arrived, stops the pipeline processing, and if the counter is not “0”, the conflict resolution information Is determined to have arrived, the counter is counted down, and control is performed so as to proceed without stopping the pipeline.

このようなコンフリクト情報カウンタを設けることに
より、コンフリクト情報を付加されたベクトル命令の先
頭要素が、パイプラインの特定ステージに到着する前
に、該コンフリクト解消情報通知が到着した場合の該解
消情報の消失を防ぐことができる。また、ベクトル長が
短かい命令が連続し、且つコンフリクトが発生している
場合においても、コンフリクト情報をカウントすること
ができる為、本方式によるパイプライン処理の適用範囲
を広げることが可能である。
By providing such a conflict information counter, the loss of the resolution information when the conflict resolution information notification arrives before the head element of the vector instruction to which the conflict information is added arrives at a specific stage of the pipeline. Can be prevented. Further, even when instructions having a short vector length are consecutive and a conflict occurs, the conflict information can be counted, so that the applicable range of the pipeline processing by this method can be expanded.

〔実施例〕〔Example〕

以下、本発明によるベクトル処理装置の制御方式の一
実施例を図面により詳細に説明する。
Hereinafter, an embodiment of a control method of a vector processing device according to the present invention will be described in detail with reference to the drawings.

第1図は本発明によるベクトル命令実行制御装置とア
クセス命令処理装置の一実施例を示すブロツク図、第2
図はベクトル処理装置の全体構成を示すブロツク図、第
3図はベクトル命令実行制御装置の構成を示すブロツク
図、第4図はアクセス命令制御回路の構成を示すブロツ
ク図、第5図はアクセス送出制御回路の構成を示すブロ
ツク図である。第1図〜第5図において、1はスカラ処
理ユニツト、2はベクトル命令実行制御装置、3,4はア
クセス命令処理装置、5,6演算装置、7はベクトルレジ
スタ、8は主記憶制御装置、9は主記憶装置、20は命令
レジスタ、21は命令起動管理回路、22は状態管理回路、
33はアクセス命令制御回路、34はアクセス要求送出制御
回路、210,212,219は解読回路、220はパイプライン処理
機構状態管理回路、221はベクトルレジスタ状態管理回
路、346はコンフリクト有情報検出回路、353は非零検出
回路である。
FIG. 1 is a block diagram showing an embodiment of a vector instruction execution control device and an access instruction processing device according to the present invention.
3 is a block diagram showing the configuration of a vector instruction execution control device, FIG. 4 is a block diagram showing the configuration of an access instruction control circuit, and FIG. 5 is an access transmission. FIG. 3 is a block diagram illustrating a configuration of a control circuit. 1 to 5, 1 is a scalar processing unit, 2 is a vector instruction execution control device, 3 and 4 are access instruction processing devices, 5 and 6 operation devices, 7 is a vector register, 8 is a main storage control device, 9 is a main memory, 20 is an instruction register, 21 is an instruction activation management circuit, 22 is a state management circuit,
33 is an access instruction control circuit, 34 is an access request transmission control circuit, 210, 212, 219 are decoding circuits, 220 is a pipeline processing mechanism state management circuit, 221 is a vector register state management circuit, 346 is a conflict presence information detection circuit, and 353 is non-zero. It is a detection circuit.

第2図に示す本発明によるベクトル処理装置の全体構
成において、アクセス命令処理装置3,4及び演算装置5,6
は、パイプライン処理機構により構成されている。
In the overall configuration of the vector processing device according to the present invention shown in FIG. 2, the access instruction processing devices 3, 4 and the arithmetic devices 5, 6
Is constituted by a pipeline processing mechanism.

通常の中央処理装置であるスカラ処理ユニツト1から
送られたベクトル命令は、ベクトル命令実行制御装置2
によつて解読され、アクセス命令処理装置3,4及び演算
装置5,6内の対応する空きのパイプライン処理機構を起
動する。アクセス命令処理装置3,4は、ベクトルレジス
タ7と主記憶装置9との間のデータ転送を制御するもの
であり、ベクトルレジスタ7は、複数のベクトルデータ
を格納するものである。主記憶制御装置8は、アクセス
命令処理装置3,4からのアクセス要求を受付け、アクセ
ス要求に従つて主記憶装置9をアクセスする。
The vector instruction sent from the scalar processing unit 1 which is a normal central processing unit is sent to the vector instruction execution control unit 2
And activates the corresponding empty pipeline processing mechanism in the access instruction processing units 3 and 4 and the arithmetic units 5 and 6. The access instruction processing devices 3 and 4 control data transfer between the vector register 7 and the main storage device 9, and the vector register 7 stores a plurality of vector data. The main storage control device 8 receives an access request from the access instruction processing devices 3 and 4, and accesses the main storage device 9 according to the access request.

ベクトル命令実行制御装置2は、第1図に示すよう
に、スカラ処理ユニツト1からのベクトル命令を受取る
為の命令レジスタ20、命令レジスタ20内の命令を解読し
て対応のパイプライン処理機構を起動する命令起動管理
回路21、各パイプライン処理機構およびベクトルレジス
タの状態を管理し、命令起動管理回路21に情報を提供す
る状態管理回路22から構成される。一方、アクセス命令
処理装置3は、アドレス計算ステージ、アドレス変換
ステージ、例外検出ステージ、リクエスト送出ステ
ージの4つのステージにより構成される。レジスタ30
aはベクトル命令実行制御装置2から送られたアクセス
命令のアドレスの基底値を保持するベース・アドレスレ
ジスタVBRであり、レジスタ30bは各ベクトル要素のアド
レスを求める為の増分値を保持するインクリメント・ア
ドレス・レジスタViRである。アクセス命令に対応する
ベクトル要素のアドレスは、先頭要素をVBR30aの値とし
てアドレス加算器32をスルーさせて求め、これをアドレ
スレジスタ35aにセツトし、2番目以降のアドレスは、
アドレスレジスタ35aとViR30bの加算によつて順次生成
される。アドレス変換機構36は、レジスタ35a内に求め
られたアドレスの論理アドレスを実行アドレスに変換す
る機構であり、論理アドレスと実アドレスの変換対より
なる変換テーブル等のハードウエアで実現することがで
きる。レジスタ37aは、アドレス変換後の実アドレスを
保持するレジスタであり、例外検出機構38は、変換され
たアドレスのアドレツシング例外、記憶保護例外を検出
する。レジスタ39aは、例外検出以降のアドレスを保持
するレジスタであり、且つ、主記憶装置9に対する他の
アクセス要求制御装置のリクエストとの競合によるリク
エスト処理の乱れを吸収する為のリクエスト・バツフア
として機能する。アクセス要求送出制御回路34は、リク
エスト・バツフア39aに存在するリクエストを主記憶制
御装置8に送出する制御を司り、さらに、リクエストバ
ツフア39aの出口でコンフリクト発生情報を検出する
と、ベクトル命令実行制御装置2からのコンフリクト解
消の通知を受取るまで、主記憶制御装置8へのリクエス
トの送出を停止させる機能を有する。アクセス命令制御
回路33は、ベクトル命令実行制御装置2から送られた命
令を保持し、アクセス命令処理装置3,4内のアクセス要
求の処理状況を判断し、アドレス加算器32に対する計算
指示とともにアクセス要求の生成を制御する。レジスタ
35b,37b,39bは、各々レジスタ35a,37a,39aのアドレスレ
ジスタに対応するアクセス要求及びその種類を示すコー
ド用のレジスタである。
As shown in FIG. 1, the vector instruction execution control device 2 decodes the instruction in the instruction register 20 for receiving the vector instruction from the scalar processing unit 1 and the instruction in the instruction register 20, and starts the corresponding pipeline processing mechanism. And a state management circuit 22 that manages the state of each pipeline processing mechanism and vector register and provides information to the instruction activation management circuit 21. On the other hand, the access instruction processing device 3 includes four stages: an address calculation stage, an address translation stage, an exception detection stage, and a request transmission stage. Register 30
a is a base address register VBR holding the base value of the address of the access instruction sent from the vector instruction execution control device 2, and the register 30b is an increment address holding an increment value for obtaining the address of each vector element.・ Register ViR. The address of the vector element corresponding to the access instruction is obtained by passing the first element through the address adder 32 as the value of the VBR 30a, setting this in the address register 35a, and setting the second and subsequent addresses as
It is sequentially generated by adding the address register 35a and ViR30b. The address translation mechanism 36 is a mechanism that translates a logical address of an address obtained in the register 35a into an execution address, and can be realized by hardware such as a translation table including a translation pair of a logical address and a real address. The register 37a is a register for holding the real address after the address translation, and the exception detection mechanism 38 detects an addressing exception and a memory protection exception of the translated address. The register 39a is a register for holding an address after the exception is detected, and functions as a request buffer for absorbing disturbance of request processing due to contention with a request from another access request control device to the main storage device 9. . The access request transmission control circuit 34 controls the transmission of the request existing in the request buffer 39a to the main storage controller 8, and further detects the conflict occurrence information at the exit of the request buffer 39a. 2 has a function of stopping the transmission of the request to the main storage control device 8 until the notification of conflict resolution from the client 2 is received. The access instruction control circuit 33 holds the instruction sent from the vector instruction execution control device 2, judges the processing status of the access request in the access instruction processing devices 3 and 4, and calculates the access request together with a calculation instruction to the address adder 32. Control the generation of register
35b, 37b, and 39b are access registers corresponding to the address registers of the registers 35a, 37a, and 39a, respectively, and are registers for codes indicating the types thereof.

第3図は、ベクトル命令実行制御装置2の詳細を示し
たものである。状態管理回路22は、パイプライン処理機
構対応のビジー状態を保持するパイプライン処理機構状
態管理回路220と、ベクトルレジスタ対応のビジー状態
を保持するベクトルレジスタ状態管理回路221から成
る。各状態管理回路220,221は、命令起動管理回路21が
パイプライン処理機構やベクトルレジスタ7を起動した
時点でビジー状態にセツトされ、パイプライン処理機構
やベクトルレジスタ7からの処理終了の報告によりビジ
ー状態がリセツトされる。命令起動管理回路21内の解読
回路210は、命令レジスタ20内の命令を解読する回路で
あり、該命令が使用するパイプライン処理機構、ベクト
ルレジスタを決定する。比較回路211は、解読回路210で
決定されたパイプライン処理機構が使用中であるか否か
を、状態管理回路220からの情報で判定する。この結
果、比較回路211は、目的のパイプライン処理機構が
“空”であれば、ゲート214を介して解読回路215にイネ
ーブル信号を与え、パイプライン処理機構に対する起動
信号215aの送出を許可する。また、目的のパイプライン
処理機構が“使用中”であれば、解読回路215からの前
記起動信号215aの送出は抑止され、同時に、スカラ処理
ユニツト1に対する命令起動報告216bの送出も抑止され
る。比較回路212も、解読回路210で決定されたベクトル
レジスタが使用中であるか否かを、状態管理回路221か
らの情報で判定する。この結果、比較回路212は、目的
のベクトルレジスタが“空”であれば、ゲート217,214
を介して解読回路215にイネーブル信号を与え、起動信
号215aの送出を許可する。また、目的のベクトルレジス
タが“使用中”であつても、既にコンフリクト発生命令
を実行中であることを示すフリツプフロツプ213が“0"
であれば、コンフリクト有情報212aを付加して起動信号
215aの送出を許可する。もし既に該フリツプフロツプ21
3が“1"であり、比較回路212の出力もベクトルレジスタ
の“使用中”を示している場合には、起動信号215aは抑
止れる。フリツプフロツプ213は、コンフリクト有命令
の起動により“1"にセツトされ、該コンフリクトが解消
された時点でリセツトされる。本発明の実施例は、説明
を簡易化するため、パイプライン処理機構が、1個のコ
ンフリクト情報有りの命令を受入れ可能としており、起
動信号215aの抑止の制御を、このフリツプフロツプ213
の情報に基づいて行つている。
FIG. 3 shows details of the vector instruction execution control device 2. The state management circuit 22 includes a pipeline processing mechanism state management circuit 220 that holds a busy state corresponding to the pipeline processing mechanism, and a vector register state management circuit 221 that holds a busy state corresponding to the vector register. Each of the state management circuits 220 and 221 is set to a busy state when the instruction activation management circuit 21 activates the pipeline processing mechanism and the vector register 7, and the busy state is reported by the pipeline processing mechanism and the report of the processing end from the vector register 7. Reset. The decoding circuit 210 in the instruction activation management circuit 21 is a circuit for decoding an instruction in the instruction register 20, and determines a pipeline processing mechanism and a vector register used by the instruction. The comparison circuit 211 determines whether or not the pipeline processing mechanism determined by the decryption circuit 210 is in use, based on information from the state management circuit 220. As a result, if the target pipeline processing mechanism is “empty”, the comparison circuit 211 supplies an enable signal to the decoding circuit 215 via the gate 214, and permits transmission of the start signal 215a to the pipeline processing mechanism. If the target pipeline processing mechanism is "in use", the transmission of the activation signal 215a from the decoding circuit 215 is suppressed, and the transmission of the instruction activation report 216b to the scalar processing unit 1 is also suppressed. The comparison circuit 212 also determines whether or not the vector register determined by the decoding circuit 210 is in use based on information from the state management circuit 221. As a result, if the target vector register is “empty”, the comparison circuit 212
To the decryption circuit 215 via the, and permits transmission of the activation signal 215a. Even if the target vector register is "in use", the flip-flop 213 indicating that the conflict generation instruction is already being executed is set to "0".
If so, the conflict presence information 212a is added and the activation signal
Allow transmission of 215a. If the flip flop 21 is already
When 3 is “1” and the output of the comparison circuit 212 also indicates “in use” of the vector register, the activation signal 215a is suppressed. The flip-flop 213 is set to "1" by the activation of the conflict instruction, and is reset when the conflict is resolved. In the embodiment of the present invention, in order to simplify the description, the pipeline processing mechanism is capable of accepting one instruction with conflict information, and controls the suppression of the activation signal 215a by the flip-flop 213.
Going based on the information.

本発明は、パイプライン処理機構が、複数個のコンフ
リクト情報有りの命令を受入れ可能とすることができ
る。この場合、フリツプフロツプ213の代りに、コンフ
リクト解消通知241aによりカウント・アツプ(または、
カウント・ダウン)され、コンフリクト情報有りの命令
の実行によりカウント・ダウン(または、カウント・ア
ツプ)するカウンタを設け、このカウンタの値に基づい
て、起動信号215aの抑止を制御することができる。例え
ば、前記カウンタがコンフリクト解消通知によりカウン
ト・アツプされる場合、そのカウント値が“0"の場合
に、起動信号215aを抑止するようにすればよい。
According to the present invention, the pipeline processing mechanism can accept a plurality of instructions having conflict information. In this case, instead of the flip-flop 213, the count-up (or
A counter that counts down (counts down) and counts down (or counts up) by executing an instruction with conflict information is provided, and the suppression of the activation signal 215a can be controlled based on the value of this counter. For example, when the counter is counted up by the conflict resolution notification, the activation signal 215a may be suppressed when the count value is “0”.

レジスタ218は、コンフリクトを起こしているベクト
ルレジスタの番号を保持するものである。比較回路240
は、ベクトルレジスタ9からの処理終了報告とレジスタ
218に保持されているコンフリクト発生中のベクトルレ
ジスタ番号を比較する回路であり、一致すれば、コンフ
リクト解消通知241aをパイプライン処理機構に送出する
とともに、コンフリクト有命令実行中のフリツプフロツ
プ213をリセツトする。また、このとき、該ベクトルレ
ジスタは、引続きビジー状態にする必要がある為、信号
241aを許可信号とする解読回路244の出力を反転した信
号をANDゲート222に供給する。これにより、該ベクトル
・レジスタのビジー状態のリセツトが抑止される。解読
回路219は、命令解読回路210のレジスタ番号をデコード
し、ベクトルレジスタ状態管理回路221に“ビジー状
態”をセツトする為の回路である。また、解読回路215
は、解読回路210の出力のパイプライン処理機構の番号
をデコードし、目的のパイプライン処理機構に起動信号
を送出する為の回路である。なお、ゲート216,217,241,
242は、夫々ANDゲート、ゲート214はNORゲート、ゲート
243は反転ゲートである。
The register 218 holds the number of the conflicting vector register. Comparison circuit 240
Indicates the processing end report from the vector register 9 and the register
This is a circuit for comparing the vector register number under conflict occurrence held in 218, and if they match, sends a conflict elimination notification 241a to the pipeline processing mechanism and resets the flip-flop 213 during execution of the conflicted instruction. At this time, since the vector register must be kept busy,
A signal obtained by inverting the output of the decoding circuit 244 using the permission signal 241a is supplied to the AND gate 222. As a result, the reset of the vector register in the busy state is suppressed. The decoding circuit 219 is a circuit for decoding the register number of the instruction decoding circuit 210 and setting a "busy state" in the vector register state management circuit 221. Also, the decryption circuit 215
Is a circuit for decoding the number of the pipeline processing mechanism output from the decoding circuit 210 and transmitting a start signal to a target pipeline processing mechanism. In addition, gates 216, 217, 241,
242 is an AND gate, and gate 214 is a NOR gate and a gate, respectively.
243 is an inversion gate.

第4図は、アクセス命令制御回路の詳細を示したもの
である。
FIG. 4 shows details of the access instruction control circuit.

第4図において、ベクトル命令実行制御装置2の命令
起動管理回路21から送られた起動信号215aは、アクセス
命令処理中を示すビジーフリツプフロツプ332をセツト
する。これに伴ない、起動信号215aに付随するアクセス
要求の種類を示すコード(コンフリクト有情報を含
む)、ベクトル長が夫々レジスタ330,331にセツトされ
る。ベクトル長レジスタ331の値は、送出したアクセス
要求320aの数を“+1"回路335とレジスタ334から成るカ
ウンタの値と比較回路336で比較される。両者の値が一
致すると、すなわち、指定されたベクトル長分のアクセ
ス要求を送出すると、ベクトル命令実行制御装置に対し
て命令処理終了通知信号336aが送出されるととも、ビジ
ーフリツプフロツプ332のリセツトおよび実行ベクトル
長レジスタ334の値が“0"に初期化される。一方、アク
セス要求320aは、アクセス命令処理装置内のアクセス要
求の処理状況を判断しながら送出されなければならな
い。このため、アクセス命令処理装置3の最終ステージ
にあるリクエストバツフア39aがオーバーフローするこ
とがないように、発行リクエストの数と、主記憶制御装
置8に対して送出したアクセス要求の数が監視されてい
る。バツフアカウントレジスタ337の値は、最初“0"に
リセツトされており、アクセス要求320aを送出すると加
算器338によつてそのカウント値が“+1"されて、レジ
スタ377にセツトされる。このレジスタ337の値と、リク
エストバツフア39aの数(本実施例では4個)との比較
が比較回路339で行なわれ、一致すると、反転ゲート321
を通して、ANDゲート320においてアクセス要求320aの送
出が抑止される。また、アクセス要求を主記憶制御装置
に対して1個送出したことを示す信号8aをアクセス要求
送出制御回路34から受けると、加算器338は、レジスタ3
37内のアクセス要求数を1個減じる。
In FIG. 4, an activation signal 215a sent from the instruction activation management circuit 21 of the vector instruction execution control device 2 sets a busy flip-flop 332 indicating that an access instruction is being processed. Along with this, a code (including conflict existence information) indicating the type of access request accompanying the activation signal 215a and a vector length are set in the registers 330 and 331, respectively. The comparison circuit 336 compares the value of the vector length register 331 with the value of the counter composed of the “+1” circuit 335 and the register 334 with the number of the access requests 320a transmitted. When the two values match, that is, when an access request for the designated vector length is sent, an instruction processing end notification signal 336a is sent to the vector instruction execution control device, and the busy flip-flop 332 is sent. The value of the reset and execution vector length register 334 is initialized to "0". On the other hand, the access request 320a must be sent out while judging the processing status of the access request in the access instruction processing device. Therefore, the number of issued requests and the number of access requests sent to the main storage controller 8 are monitored so that the request buffer 39a at the final stage of the access instruction processor 3 does not overflow. I have. The value of the buffer account register 337 is initially reset to "0". When the access request 320a is transmitted, the count value is set to "+1" by the adder 338 and set in the register 377. The comparison circuit 339 compares the value of the register 337 with the number of request buffers 39a (four in this embodiment).
The transmission of the access request 320a in the AND gate 320 is suppressed. When the signal 8a indicating that one access request has been sent to the main memory control device is received from the access request sending control circuit 34, the adder 338 sets the register 3
Reduce the number of access requests in 37 by one.

第5図はアクセス要求送出制御回路34の詳細を示した
ものである。
FIG. 5 shows details of the access request transmission control circuit 34.

第5図において、アクセス命令処理装置3内のステー
ジから送られたアクセス要求34aに伴なうコード(コ
ンフリクト有情報を含む)、アドレス、データ等は、リ
クエストバツフア、39a及びレジスタ39bにセツトされ
る。このときセツトされるバツフア位置は、インポイン
タレジスタ340の値を解読回路342でデコードした信号に
よつて指示され、該インポインタの値は、アクセス要求
34aが送られてくる毎に加算器341において“+1"され
る。なお、インポインタレジスタ340は“0"〜“3"の値
をとり、“3"の次は“0"にラツプアラウンドされる。バ
ツフア39a及びレジスタ39bにセツトされたアクセス要求
は、アウトポインタレジスタ343の値を解読回路345でデ
コードした信号によつて示されるバツフア位置から選択
回路390・391を通して取出される。バツフア39a及びレ
ジスタ39bから取出されたアクセス要求は、コンフリク
ト有情報付でなければ、ANDゲート350を介して主記憶制
御装置8に対してアクセス要求350aとして送出される。
これと同時に、アクセス要求に伴なうコード、アドレ
ス、データ等がバツフア390a及びレジスタ391aより主記
憶制御装置8に送出される。送出されたアクセス要求35
0aは、主記憶装置の状態や他のアクセス要求との競合に
より、必ずしも直ちに主記憶制御装置8に受付けられる
とは限らない。このため、主記憶制御装置8は、その内
部に優先順位決定回路を備え、該回路においてプライオ
リテイをとり、その旨を通知するアクセプト信号8aを返
送する。アクセス要求送出制御回路34は、このアクセプ
ト信号8aを受取ると、アウトポインタレジスタ343の値
を加算器344により“+1"するととも、アクセス命令制
御回路33に対して、アクセス要求が一つ処理されたこと
を、前述のアクセプト信号8aをそのまま送出することに
より通知する。一方、バツフア39a及びレジスタ39bから
取出されたアクセス要求が、コンフリクト有要求である
ことを検出回路346が検出すると、反転ゲート347、ORゲ
ート349を通してアクセス要求350aの送出が阻止され
る。但し、この場合でも、コンフリクト情報カウントレ
ジスタ351が“0"でなければ、アクセス要求350aは送出
される。これと同時に、コンフリクト情報カウントレジ
スタ351の値は、加算器352を通して“1"が減じられる。
このコンフリクト情報カウントレジスタ351の値は、命
令起動管理回路からのコンフリクト解消通知241aにより
“1"が加えられる。
In FIG. 5, a code (including conflict information), an address, data, etc. accompanying an access request 34a sent from a stage in the access instruction processing device 3 are set in a request buffer 39a and a register 39b. You. The buffer position set at this time is indicated by a signal obtained by decoding the value of the in-pointer register 340 by the decoding circuit 342, and the value of the in-pointer is determined by the access request.
Each time 34a is sent, "+1" is added in the adder 341. Note that the in-pointer register 340 takes a value from "0" to "3", and after "3", it is wrapped around to "0". The access request set in the buffer 39a and the register 39b is fetched from the buffer position indicated by the signal obtained by decoding the value of the out pointer register 343 by the decoding circuit 345 through the selection circuits 390 and 391. The access request fetched from the buffer 39a and the register 39b is sent as an access request 350a to the main storage controller 8 via the AND gate 350 unless conflict information is provided.
At the same time, a code, an address, data, and the like accompanying the access request are sent from the buffer 390a and the register 391a to the main storage controller 8. Access request sent 35
0a is not always immediately accepted by the main storage control device 8 due to the state of the main storage device or a conflict with another access request. For this purpose, the main memory control device 8 has a priority determining circuit therein, takes priority in the circuit, and returns an accept signal 8a notifying the priority. Upon receiving the accept signal 8a, the access request transmission control circuit 34 sets the value of the out-pointer register 343 to "+1" by the adder 344, and the access command control circuit 33 has processed one access request. This is notified by transmitting the above-mentioned accept signal 8a as it is. On the other hand, when the detection circuit 346 detects that the access request fetched from the buffer 39a and the register 39b is a request with conflict, the transmission of the access request 350a is blocked through the inversion gate 347 and the OR gate 349. However, even in this case, if the conflict information count register 351 is not "0", the access request 350a is transmitted. At the same time, the value of the conflict information count register 351 is reduced by “1” through the adder 352.
“1” is added to the value of the conflict information count register 351 by the conflict resolution notification 241a from the instruction activation management circuit.

以上が、本発明におけるベクトル命令実行制御装置と
アクセス命令処理装置の構成および動作概要であるが、
次に一つのベクトル命令列を挙げて処理の流れを説明す
る。
The above is the configuration and operation outline of the vector instruction execution control device and the access instruction processing device in the present invention.
Next, the flow of processing will be described with reference to one vector instruction sequence.

ベクトル命令列としては、前述したLoad・Store命令
を2回実行する次に示す命令列の場合を考える。
As a vector instruction sequence, consider the following instruction sequence in which the above-described Load / Store instruction is executed twice.

まず、1回目のLoad命令は、アクセス命令処理装置3
に割当てられ実行される。Store命令は、先行するLoad
命令と使用するベクトルレジスタが同じであるが、ベク
トルレジスタへの書込→読出を一連の処理として定義す
るチエイニング処理(図示していない)により、ベクト
ルレジスタVR0から主記憶装置への書込みをアクセス命
令処理装置4で実行することにより行われる。次に、2
回目のLoad命令を実行しようとする場合、1回目のLoad
命令の処理が終了していない間は、パイプライン処理機
構の管理回路220が、パイプライン処理機構3が使用中
であることを示す為に、該命令の起動は、比較回路21
1、NORゲート214、解読回路215を通して抑止される。1
回目のLoad命令の処理が終了し、管理回路220がアクセ
ス命令処理装置3が“空”になったことを示すと、パイ
プライン処理機構に関する命令起動の抑止要因は取除か
れる。一方、ベクトルレジスタのコンフリクトは、1回
目のStore命令の処理が終了するまで解消されない。但
し、前述の実施例の場合、この時点ではコンフリクト有
命令は実行していなものとする。このため、コンフリク
ト有信号212aを付加して、アクセス命令処理装置3に対
して起動信号215aを送出することができる。従つて、コ
ンフリクト有信号212を付加した起動信号をアクセス命
令処理装置に送出すると、同時に、コンフリクト有命令
実行中を示すフリツプフロツプは“1"にセツトされる。
これにより、以降のコンフリクト有命令は、1回目のSt
ore命令によるベクトルレジスタからの読出動作が終了
してコンフリクトが解消するまで抑止されることにな
る。
First, the first Load instruction is executed by the access instruction processor 3
And executed. Store instruction is preceded by Load
Although the instruction and the vector register to be used are the same, an access instruction for writing from the vector register VR0 to the main storage device by a chaining process (not shown) that defines writing to reading from the vector register as a series of processes. The processing is performed by the processing device 4. Next, 2
When trying to execute the first Load instruction, the first Load instruction
While the processing of the instruction is not completed, the management circuit 220 of the pipeline processing mechanism activates the instruction to indicate that the pipeline processing mechanism 3 is in use.
1. Suppressed through NOR gate 214 and decoding circuit 215. 1
When the processing of the second Load instruction is completed and the management circuit 220 indicates that the access instruction processing device 3 has become “empty”, the factor for inhibiting the instruction activation related to the pipeline processing mechanism is removed. On the other hand, the conflict of the vector register is not resolved until the processing of the first Store instruction is completed. However, in the case of the above-described embodiment, it is assumed that the conflicting instruction has not been executed at this time. Therefore, the activation signal 215a can be transmitted to the access instruction processing device 3 by adding the conflict presence signal 212a. Therefore, when the start signal to which the conflict presence signal 212 is added is sent to the access instruction processing device, the flip-flop indicating that the conflict presence instruction is being executed is set to "1" at the same time.
As a result, the subsequent conflicting instruction is the first St instruction
The reading operation from the vector register by the ore instruction is completed, and the operation is suppressed until the conflict is resolved.

起動信号215aを受けたアクセス命令処理装置3のアク
セス命令制御回路33は、アクセス要求をパイプラインを
流し込む。但し、該起動信号にはコンフリクト有情報が
付加されており、コード用レジスタ330にセツトされて
いる。アクセス命令制御回路33は、該命令の先頭のアク
セス要求にコンフリクト有情報を付加し、それ以降では
付加しない為、先頭要素の送出とともに、信号320aによ
りコード用レジスタ330のコンフリクト有情報をリセツ
トする。
The access instruction control circuit 33 of the access instruction processing device 3 having received the activation signal 215a flows the access request through the pipeline. However, conflict start information is added to the start signal, and the start signal is set in the code register 330. The access instruction control circuit 33 adds the conflict existence information to the head access request of the instruction and does not add it thereafter. Therefore, the transmission of the head element and resetting of the conflict existence information of the code register 330 by the signal 320a.

アクセス要求送出制御回路34は、上流のステージから
流れてきたアクセス要求をバツフア39a及びレジスタ39b
に取込むと同時に、バツフア39a及びレジスタ39b内のア
クセス要求を取出し、コンフリクト有情報付か否かを検
査する。2回目のLoad命令に対応する先頭のアクセス要
求にはコンフリクト有情報が付加されており、この時点
で命令起動管理回路21からコンフリクト解消通知241aが
送られていなければ、つまり、コンフリクト情報カウン
トレジスタ351が“0"を示していれば、アクセス要求350
aの送出は抑止されるとともに、アクセス命令処理装置
3の処理は、このアクセス要求ステージにおいて、停止
させられることになる。一方、1回目のStore命令によ
るVR0の読出しが終了すると、その通知が命令起動管理
回路21に送られ、比較回路240、ANDゲート241を介して
コンフリクト解消通知241aがアクセス命令処理装置3に
送出される。このコンフリクト解消通知241aをアクセス
送出制御回路34が受取ると、該回路34は、コンフリクト
情報カウントレジスタの値を“1"にする。これにより、
抑止されていたアクセス要求350aの送出が再開され、コ
ンフリクト情報カウントレジスタ351の値が“1"減じら
れて、停止していたアクセス命令処理装置の処理が再開
される。
The access request sending control circuit 34 buffers the access request flowing from the upstream stage into a buffer 39a and a register 39b.
At the same time, the access request in the buffer 39a and the register 39b is taken out, and it is checked whether or not there is conflict information. Conflict presence information is added to the first access request corresponding to the second Load instruction, and if the conflict resolution notification 241a has not been sent from the instruction activation management circuit 21 at this time, that is, the conflict information count register 351 Indicates “0”, the access request 350
The transmission of a is suppressed, and the processing of the access instruction processing device 3 is stopped in this access request stage. On the other hand, when the reading of VR0 by the first Store instruction is completed, the notification is sent to the instruction activation management circuit 21, and the conflict resolution notification 241a is sent to the access instruction processing device 3 via the comparison circuit 240 and the AND gate 241. You. When the access transmission control circuit 34 receives the conflict resolution notification 241a, the circuit 34 sets the value of the conflict information count register to "1". This allows
The transmission of the inhibited access request 350a is restarted, the value of the conflict information count register 351 is reduced by "1", and the processing of the stopped access instruction processing device is restarted.

また、コンフリクト解消通知241aが、コンフリクト有
情報付アクセス要求よりも早くアクセス送出制御回路に
到着した場合には、コンフリクト有情報付アクセス要求
をバツフア39a、レジスタ39bから取出した時点で、直ち
に、主記憶制御装置8に対してアクセス要求350aを送出
するとともに、コンフリクト情報カウントレジスタ351
の値を“1"減じてコンフリクト関連処理を終了する。
If the conflict resolution notification 241a arrives at the access transmission control circuit earlier than the access request with conflict information, the main memory is immediately stored when the access request with conflict information is fetched from the buffer 39a and the register 39b. The access request 350a is sent to the control device 8, and the conflict information count register 351 is sent.
Is reduced by “1”, and the conflict-related processing ends.

以上のようにして、コンフリクトが発生している命令
に関しても、パイプラインの途中のステージまで処理を
進める制御方式を実現することができる。
As described above, it is possible to realize a control method for processing a conflicting instruction to a stage in the middle of the pipeline.

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

以上説明したように、本発明によれば、実行しようと
した命令が使用する資源(ベクトルレジスタ、パイプラ
イン処理機構など)が、既に先行命令により使用中(コ
ンフリクト状態)であつても、該資源を実際に使用する
ステージの直前のステージまでパイプラインの処理を進
めることができるため、パイプライン処理機構の無駄な
空時間を発生させることなく命令を処理することが可能
となる。更に、コンフリクトが発生している命令の後続
命令が、先行命令の実行待ちにより過剰に待たされる事
態を回避することが可能となり、命令発行における無駄
な空時間の発生を抑えることが可能になる。
As described above, according to the present invention, even if a resource (a vector register, a pipeline processing mechanism, etc.) used by an instruction to be executed is already used (a conflict state) by a preceding instruction, the resource is Can be processed up to the stage immediately before the stage in which the instruction is actually used, so that the instruction can be processed without generating unnecessary idle time of the pipeline processing mechanism. Further, it is possible to avoid a situation in which the instruction following the conflicting instruction is excessively waited for the execution of the preceding instruction, and it is possible to suppress the occurrence of useless idle time in issuing the instruction.

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

第1図は本発明によるベクトル命令実行制御装置とアク
セス命令処理装置の一実施例を示すブロツク図、第2図
はベクトル処理装置の全体構成を示すブロツク図、第3
図はベクトル命令実行制御装置の構成を示すブロツク
図、第4図はアクセス命令制御回路の構成を示すブロツ
ク図、第5図はアクセス送出制御回路の構成を示すブロ
ツク図である。 1……スカラ処理ユニツト、2……ベクトル命令実行制
御装置、3,4……アクセス命令処理装置、5,6……演算装
置、7……ベクトルレジスタ、8……主記憶制御装置、
9……主記憶装置、20……命令レジスタ、21……命令起
動管理回路、22……状態管理回路、33……アクセス命令
制御回路、34……アクセス要求送出制御回路、213……
コンフリクト有命令実行中表示フリツプ・フロツプ、21
0,212,219……解読回路、220……パイプライン処理機構
状態管理回路、221……ベクトルレジスタ状態管理回
路、240……コンフリクト解消信号作成用比較回路、351
……コンフリクト情報カウントレジスタ、346……コン
フリクト有情報検出回路、353……非零検出回路。
FIG. 1 is a block diagram showing an embodiment of a vector instruction execution control device and an access instruction processing device according to the present invention, FIG. 2 is a block diagram showing an overall configuration of the vector processing device, and FIG.
FIG. 4 is a block diagram showing the configuration of the vector instruction execution control device, FIG. 4 is a block diagram showing the configuration of the access instruction control circuit, and FIG. 5 is a block diagram showing the configuration of the access transmission control circuit. 1 ... Scalar processing unit, 2 ... Vector instruction execution controller, 3,4 ... Access instruction processor, 5,6 ... Calculator, 7 ... Vector register, 8 ... Main memory controller,
9: Main memory device, 20: Instruction register, 21: Instruction activation management circuit, 22: State management circuit, 33: Access instruction control circuit, 34: Access request transmission control circuit, 213:
Conflicted instruction execution display flip-flop, 21
0, 212, 219: decoding circuit, 220: pipeline processing mechanism state management circuit, 221: vector register state management circuit, 240: comparison circuit for creating a conflict resolution signal, 351
… Conflict information count register 346… Conflict presence information detection circuit 353… Non-zero detection circuit

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−118977(JP,A) 特開 昭58−114274(JP,A) 特開 昭63−127368(JP,A) ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-60-118977 (JP, A) JP-A-58-114274 (JP, A) JP-A-63-127368 (JP, A)

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数要素のデータを保持するベクトルレジ
スタと、該ベクトルレジスタ内に保持されているデータ
に対して、その複数要素を連続的に処理する複数個のパ
イプライン処理機構とを備え、各パイプライン処理機構
に個別のベクトル命令を割当てて処理するベクトル処理
装置において、各パイプラインに割当てられた命令によ
り指定されている資源が、先行する命令により使用中で
あるというコンフリフト状態を検出するコンフリフト検
出機構と、該機構が資源のコンフリフト状態を検出する
と、コンフリフト状態であることを示すコンフリフト情
報を前記命令の要素に付加して前記パイプライン処理機
構に送り込む機構と、前記コンフリフト検出機構が前記
コンフリフト状態の解消を検出すると、この解消情報を
前記パイプライン処理機構に通知する機構とを備え、前
記パイプライン処理機構は、前記命令に付加されたコン
フリフト情報を検出すると、その命令のパイプライン処
理を特定のステージで停止させ、前記コンフリフト解消
が通知されると、停止させていたパイプライン処理を再
開することを特徴とするベクトル処理装置の制御方式。
A vector register for holding data of a plurality of elements, and a plurality of pipeline processing mechanisms for continuously processing the plurality of elements with respect to the data held in the vector register; In a vector processing apparatus that allocates and processes individual vector instructions to each pipeline processing mechanism, a lift state is detected in which a resource specified by an instruction allocated to each pipeline is being used by a preceding instruction. A conf lift detecting mechanism, a mechanism for adding conf lift information indicating the conf lift state to the element of the instruction and sending the information to the pipeline processing mechanism when the conf lift state of the resource is detected, and When the cancellation of the lift state is detected, this cancellation information is sent to the pipeline. The pipeline processing mechanism, when detecting the lift information added to the instruction, stops the pipeline processing of the instruction at a specific stage, and is notified of the lift cancellation. And restarting the pipeline processing that has been stopped.
【請求項2】前記パイプライン処理機構は、前記コンフ
リフト解消通知と、コンフリフト情報付き命令の処理終
了とにより制御されるカウンタを備え、このカウンタの
値により、次々と連続してパイプライン処理機構に送り
込まれる複数の命令の実行を制御することを特徴とする
特許請求の範囲第1項記載のベクトル処理装置の制御方
式。
2. The pipeline processing mechanism includes a counter controlled by the lift cancellation notification and the end of processing of the instruction with the lift information, and the pipeline processing mechanism continuously and continuously sends the pipeline processing mechanism according to the value of the counter. 2. The control method for a vector processing device according to claim 1, wherein execution of a plurality of instructions to be sent is controlled.
【請求項3】前記カウンタは、前記コンフリフト解消通
知によりカウント・アップ(または、ダウン)、前記コ
ンフリフト情報付命令を処理したことによりカウント・
ダウン(または、アップ)され、前記パイプライン処理
機構は、このカウンタの値が所定の値でない場合に、コ
ンフリフト情報付き命令が特定のステージに到達して
も、パイプライン処理を停止させず、カウンタの値が所
定値である場合に、コンフリフト情報付き命令の処理を
特定のステージで停止させることを特徴とする特許請求
の範囲第2項記載のベクトル処理装置の制御方式。
3. The counter counts up (or down) in response to the lift lift elimination notification, and counts up in response to processing of the lift lift information instruction.
When the value of the counter is not a predetermined value, the pipeline processing mechanism does not stop the pipeline processing even if the instruction with the lift information reaches a specific stage. 3. The control method for a vector processing device according to claim 2, wherein the processing of the instruction with the lift information is stopped at a specific stage when the value of is a predetermined value.
JP63138543A 1988-06-07 1988-06-07 Vector processor control method Expired - Lifetime JP2716055B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63138543A JP2716055B2 (en) 1988-06-07 1988-06-07 Vector processor control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63138543A JP2716055B2 (en) 1988-06-07 1988-06-07 Vector processor control method

Publications (2)

Publication Number Publication Date
JPH01307870A JPH01307870A (en) 1989-12-12
JP2716055B2 true JP2716055B2 (en) 1998-02-18

Family

ID=15224612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63138543A Expired - Lifetime JP2716055B2 (en) 1988-06-07 1988-06-07 Vector processor control method

Country Status (1)

Country Link
JP (1) JP2716055B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60118977A (en) * 1983-11-30 1985-06-26 Fujitsu Ltd Pipeline control system

Also Published As

Publication number Publication date
JPH01307870A (en) 1989-12-12

Similar Documents

Publication Publication Date Title
US5257354A (en) System for monitoring and undoing execution of instructions beyond a serialization point upon occurrence of in-correct results
EP0690371A1 (en) Fetch and store buffer for supporting out of order execution in a data processing system
EP0172522B1 (en) Data processing machine suitable for high-speed processing
US6026451A (en) System for controlling a dispatch of requested data packets by generating size signals for buffer space availability and preventing a dispatch prior to a data request granted signal asserted
JPH0324696B2 (en)
JPH06103494B2 (en) Vector processor control system
JPH077379B2 (en) Interrupt selection method for multi-processing system
JPH07104841B2 (en) Interrupt control method for multiprocessing system
EP0166431B1 (en) An information processing apparatus having an instruction prefetch circuit
CA2056356C (en) Interruption handling system
EP0363889B1 (en) Vector processor using buffer for preparing vector data
US5598574A (en) Vector processing device
EP0265108B1 (en) Cache storage priority
US5615375A (en) Interrupt control circuit
EP0220990B1 (en) Buffer storage control system
JP2716055B2 (en) Vector processor control method
JPH11167557A (en) Shared memory access sequence assurance method and multiprocessor system
US6665750B1 (en) Input/output device configured for minimizing I/O read operations by copying values to system memory
JP2783285B2 (en) Information processing device
JPH04232559A (en) Method of conversation between processors of system, system for conducting this method and use for dispatching
JP3169878B2 (en) Memory control circuit
JP3123946B2 (en) Microcomputer
JP2559165B2 (en) Multiprocessor system
JP2988139B2 (en) Interrupt control device
JP2549410B2 (en) Main memory reference order control method