JPH01307870A - Control system for vector processor - Google Patents

Control system for vector processor

Info

Publication number
JPH01307870A
JPH01307870A JP13854388A JP13854388A JPH01307870A JP H01307870 A JPH01307870 A JP H01307870A JP 13854388 A JP13854388 A JP 13854388A JP 13854388 A JP13854388 A JP 13854388A JP H01307870 A JPH01307870 A JP H01307870A
Authority
JP
Japan
Prior art keywords
conflict
instruction
vector
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.)
Granted
Application number
JP13854388A
Other languages
Japanese (ja)
Other versions
JP2716055B2 (en
Inventor
Tadaaki Isobe
磯部 忠章
Toshiko Isobe
磯部 敏子
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
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co 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, Hitachi Computer Engineering Co 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

Landscapes

  • Complex Calculations (AREA)

Abstract

PURPOSE:To perform the vector processing without wasting time neither excessively suppressing instructions unrelated to conflict by using a simple control mechanism for the processing of a succeeding instruction conflicting with the preceding instruction. CONSTITUTION:If conflict is detected while a vector register 7 or the like used for instruction execution is used by the preceding instruction, this information is added to the start element of the vector instruction and is flowed to an objective pipeline processing mechanism. The pipeline processing mechanism detects information to stop the processing in a pipeline stage above the stage of access to the vector register 7. The instruction processing assigned to the pipeline is stopped and access to the register 7 is stopped to avoid conflict. An instruction execution control mechanism reports resolution of conflict to the pipeline processing mechanism to restart the processing when detecting solution of conflict, and the vector register can be accessed without conflict not to waste time. When a conflict information counter is provided, loss of conflict solution information is prevented.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数のパイプライン処理機構から成るベクト
ル処理装置の制御方式に係り、特に、パイプライン処理
機構における資源待ちの無駄な空き時間を排除し、効率
良くベクトル命令を処理するために用いて好適なベクト
ル処理装置の制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a control method for a vector processing device comprising a plurality of pipeline processing mechanisms. The present invention relates to a control method for a vector processing device that is suitable for eliminating vector instructions and efficiently processing vector instructions.

〔従来の技術〕[Conventional technology]

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

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

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

また、リソース・コンフリクト時の処理装置性能低下防
止対策として、各リソースに次に実行すべき命令のバッ
ファを設け、実行中の命令終了後直ちに次の命令を実行
する方式も提案されている。
Furthermore, as a measure to prevent processing device performance from deteriorating in the event of a resource conflict, a method has been proposed in which each resource is provided with a buffer for the next instruction to be executed, and the next instruction is executed immediately after the currently executed instruction is completed.

この技術は、命令起動管理回路とリソース間の制御信号
の送受における無駄時間を排除して、処理装置の性能低
下を防止するものである。
This technique eliminates wasted time in transmitting and receiving control signals between an instruction activation management circuit and resources, thereby preventing performance degradation of the processing device.

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

ところが、前記従来技術は、続出中のベクトルレジスタ
に対する書込動作のチエイニングについては考慮されて
いなかった。すなわち、前記従来技術は、先行命令によ
るベクトルレジスタの続出が終了するまで、該ベクトル
レジスタに書込む後続命令の発行もしくは実行を抑止す
るように制御するものであり、また、前記以外の場合、
例えば、先行する命令によるレジスタ続出中の後続命令
による続出、または、ベクトルレジスタ周辺回路のレジ
スタ間共用によるコンフリクト発生時にも、後続命令の
発行もしくは実行を抑止するものであった。
However, the prior art does not take into account chaining of write operations to vector registers that are being executed one after another. That is, in the prior art, the issuance or execution of subsequent instructions that write into the vector register is inhibited until the successive writing of the vector register by the preceding instruction is completed, and in cases other than the above,
For example, the issuance or execution of subsequent instructions is inhibited even when a conflict occurs due to registers being issued by a subsequent instruction while registers are being issued by a preceding instruction, or by sharing of registers in a vector register peripheral circuit.

これを、ベクトル処理装置で実行する場合のベクトル命
令列は、 となる。ここでVRはベクトルレジスタである。
The vector instruction sequence when this is executed by a vector processing device is as follows. Here, VR is a vector register.

この場合、VROは、L oad命令による書込と、S
 tore命令による読出でコンフリクトが発生するが
、前記チエイニング技術により回避可能である。
In this case, the VRO performs writing using the Load command and S
Although a conflict occurs when reading by the tore instruction, it can be avoided by using the chaining technique described above.

ところが、前記ベクトル命令を、最大ベクトル長50の
装置で処理することを考えると状況は変化する。つまり
、前記ベクトル命令は、ベクトル長100のヘクトル処
理であるので、前記ベクトル長50の装置では、上記ベ
クトル命令を2同突行する必要が生じるため、1回目の
S tore命令と2回目のL oad命令でVROが
ぶつかることになる。
However, the situation changes when considering that the vector instruction is processed by a device with a maximum vector length of 50. In other words, since the vector instruction is hector processing with a vector length of 100, in a device with the vector length of 50, it is necessary to execute two of the vector instructions at the same time. The VRO will collide with the oad instruction.

一般に、このような場合のコンフリクト回避は、チエイ
ニング相当の技術の実現回路が複雑になるために行なわ
れない。この結果、2回目のL oad命令の実行は、
1回目のS tore命令の実行終了まで待たされるこ
とになる。
In general, conflict avoidance in such cases is not performed because the implementation circuit of the technology equivalent to chaining becomes complicated. As a result, the second execution of the load instruction is
This means that the process will have to wait until the execution of the first Store instruction is completed.

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

本発明の目的は、先行命令に対してコンフリクトを起こ
している後続命令の処理過程において、該後続命令の実
行に無駄な空時間を発生させず、且つ、該コンフリクト
に無関係な命令の実行を過剰に抑止することを、比較的
簡単な制御機構により防止することのできるベクトル処
理装置の制御方式を提供することになる。
An object of the present invention is to prevent wasteful idle time from occurring in the execution of a subsequent instruction that causes a conflict with a preceding instruction, and to avoid excessive execution of instructions unrelated to the conflict. Therefore, it is possible to provide a control method for a vector processing device that can prevent the vector processing device from being inhibited by using a relatively simple control mechanism.

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

本発明によれば、前記目的は、コンフリクトが発生して
いることを検出する回路を備え、コンフリクトを検出し
た場合に、コンフリクトが発生していることを示すコン
フリクト情報をベクトル命令の先頭要素に付加してパイ
プライン処理機構に流し込む手段と、コンフリクト解除
を検出すると、該情弗をパイプライン処理機構に通知す
る手段とを設けるとともに、パイプライン処理機構にお
いて、コンフリクト発生情報を検出した時点で、パイプ
ラインの処理を特定ステージで停止させ、コンフリクト
解除通知を受取ると該パイプライン処理を再開させる制
御手段を設けることにより達成される。更に、前記目的
は、各パイプライン処理機構に、コンフリクト解消通知
によりカウント・ト情報カウンタを設けることにより達
成される。
According to the present invention, the object is to include a circuit that detects the occurrence of a conflict, and when a conflict is detected, adds conflict information indicating that a conflict has occurred to the first element of a vector instruction. and a means for notifying the pipeline processing mechanism of the information when conflict resolution is detected. This is achieved by providing a control means that stops the line processing at a specific stage and restarts the pipeline processing when a conflict release notification is received. Furthermore, the above object is achieved by providing each pipeline processing mechanism with a count information counter by notification of conflict resolution.

〔作用〕[Effect]

ベクトル処理装置が、ベクトル命令を実行しようとする
場合、その命令で使用するベクトルレジスタ等が、先行
命令で使用中であるようなコンフリクト状態が検出され
ると、該コンフリクト情報は、ベクトル命令の先頭要素
に付加されて、目的のパイプライン処理機構に流し込ま
れる。パイプライン処理機構は、先頭要素に付加された
該コンフリクト情報を検出すると、ベクトル・レジスタ
等をアクセスするステージより上流のパイプライン・ス
テージにおいて処理を停止させる。これにより、該パイ
プラインに割付けられた命令の処理は停止させられ、当
然ベクトルレジスタ等のアクセスも抑止され、アクセス
のぶつかりは回避される。但し、コンフリクトを検出し
たベクトル命令のパイプライン処理は、途中まで進めら
れることになる。
When a vector processing device attempts to execute a vector instruction, if a conflict state is detected in which a vector register, etc. used by that instruction is being used by a preceding instruction, the conflict information is stored at the beginning of the vector instruction. It is attached to the element and flowed into the destination pipeline processing mechanism. When the pipeline processing mechanism detects the conflict information added to the leading element, it stops processing at a pipeline stage upstream from a stage that accesses a vector register or the like. As a result, processing of instructions assigned to the pipeline is stopped, and accesses to vector registers and the like are naturally also inhibited, thereby avoiding access conflicts. However, the pipeline processing of the vector instruction in which a conflict has been detected will proceed halfway.

また、命令実行制御機構は、該コンフリクトが解消した
ことを検出すると、該解消情報を前記パイプライン処理
機構に通知する。パイプライン処理機構は、該コンフリ
クト解消情報を受取ると、停止させていたパイプライン
の処理を再開させる。
Furthermore, when the instruction execution control mechanism detects that the conflict has been resolved, it notifies the pipeline processing mechanism of the resolution information. When the pipeline processing mechanism receives the conflict resolution information, it restarts the stopped pipeline processing.

これにより、ベクトルレジスタ等へのアクセスを、先行
命令のアクセスとのぶつかりを回避して行なうことが可
能となり、且つ、コンフリクトによるパイプライン処理
機構の無駄な空時間の発生を極力抑えることが可能にな
る。
This makes it possible to access vector registers, etc. without conflicting with accesses of preceding instructions, and to minimize the occurrence of wasted idle time in the pipeline processing mechanism due to conflicts. Become.

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

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

(実施例〕 以下、本発明によるベクトル処理装置の制御方式の一実
施例を図面により詳細に説明する。
(Embodiment) Hereinafter, one embodiment of the control method of the 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図において、lはスカラ処理
ユニット、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, FIG. 2 is a block diagram showing the overall configuration of the vector processing device, and FIG.
4 is a block diagram showing the structure of the vector instruction execution control device, FIG. 4 is a block diagram showing the structure of the access instruction control circuit, and FIG. 5 is a block diagram showing the structure of the access sending control circuit. 1 to 5, 1 is a scalar processing unit, 2 is a vector instruction execution control device, 3.4 is an access instruction processing device, 5 and 6 are arithmetic units, 7 is a vector register, 8 is a main memory control device, 9 is a main storage device, 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 sending control circuit, 210, 212, 219 are decoding circuits, and 220 is a decoding circuit. Pipeline processing mechanism state management circuit, 221
346 is a vector register state management circuit, 346 is a conflict information detection circuit, and 353 is a non-zero detection circuit.

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

通常の中央処理装置であるスカラ処理ユニットlから送
られたベクトル命令は、ベクトル命令実行制御装置2に
よって解読され、アクセス命令処理装置3.4及び演算
装置5,6内の対応する空きのパイプライン処理機構を
起動する。アクセス命令処理装置3,4は、ベクトルレ
ジスタ7と主記憶装置9との間のデータ転送を制御する
ものであり、ベクトルレジスタ7は、複数のへクトルデ
ータを格納するものである。主記憶制御装置8は、アク
セス命令処理装置3,4からのアクセス要求を受付け、
アクセス要求に従って主記憶装置9をアクセスする。
A vector instruction sent from the scalar processing unit l, which is a normal central processing unit, is decoded by the vector instruction execution control unit 2, and the corresponding free pipeline in the access instruction processing unit 3.4 and the arithmetic units 5 and 6 is processed. Start the processing mechanism. The access command 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 memory control device 8 receives access requests from the access command processing devices 3 and 4,
The main storage device 9 is accessed according to the access request.

ベクトル命令実行制御装置2は、第1図に示すように、
スカラ処理ユニット1からのベクトル命令を受取る為の
命令レジスタ20、命令レジスタ20内の命令を解読し
て対応のパイプライン処理機構を起動する命令起動管理
回路21、各パイプライン処理機構およびベクトルレジ
スタの状態を管理し、命令起動管理回路21に情報を提
供する状態管理回路22から構成される。一方、アクセ
ス命令処理装置3は、アドレス計算ステージ■、アドレ
ス変換ステージ■、例外検出ステージ■、リクエスト送
出ステージ■の4つのステージにより構成される。レジ
スタ30aはベクトル命令実行制御装置2から送られた
アクセス命令のアドレスの基底値を保持するベース・ア
ドレスレジスタVBRであり、レジスタ30bは各ベク
トル要素のアドレスを求める為の増分値を保持するイン
クリメント・アドレス・レジスタViRである。アクセ
ス命令に対応するベクトル要素のアドレスは、先頭要素
をVBR30aの値としてアドレス加算器32をスルー
させて求め、これをアドレスレジスタ35aにセットし
、2番目基、降のアドレスは、アドレスレジスタ35a
とViR30bの加算によって順次生成される。アドレ
ス変換機構36は、レジスタ35a内に求められたアド
レスの論理アドレスを実行アドレスに変換する機構であ
り、論理アドレスと実アドレスの変換対よりなる変換テ
ーブル等のハードウェアで実現することができる。
The vector instruction execution control device 2, as shown in FIG.
an instruction register 20 for receiving vector instructions from the scalar processing unit 1; an instruction activation management circuit 21 for decoding the instructions in the instruction register 20 and activating the corresponding pipeline processing mechanism; It is composed of a state management circuit 22 that manages the state and provides information to the instruction activation management circuit 21. On the other hand, the access instruction processing device 3 is composed of four stages: an address calculation stage (2), an address conversion stage (2), an exception detection stage (2), and a request sending stage (2). The register 30a is a base address register VBR that holds 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 register VBR that holds the increment value for determining the address of each vector element. Address register ViR. The address of the vector element corresponding to the access command is obtained by passing the address adder 32 with the first element as the value of the VBR 30a, and setting this in the address register 35a.
and ViR30b are sequentially generated. The address conversion mechanism 36 is a mechanism for converting the logical address found in the register 35a into an execution address, and can be realized by hardware such as a conversion table consisting of conversion pairs of logical addresses and real addresses.

レジスタ37aは、アドレス変換後の実アドレスを保持
するレジスタであり、例外検出機構38は、変換された
アドレスのアドレッシング例外、記憶保護例外を検出す
る。レジスタ39aは、例外検出以降のアドレスを保持
するレジスタであり、且つ、主記憶装置9に対する他の
アクセス要求制御装置のリクエストとの競合によるリク
エスト処理の乱れを吸収する為のリクエスト・バッファ
として機能する。アクセス要求送出制御回路34は、リ
クエスト・バッファ39aに存在するリクエストを主記
憶制御装置8に送出する制御を司り、さらに、リクエス
トバッファ39aの出口でコンフリクト発生情報を検出
すると、ヘクトル命令実行制fffU装置2からのコン
フリクト解消の通知を受取るまで、主記jI!制御装置
8へのリクエストの送出を停止させる機能を有する。ア
クセス命令制御回路33は、ベクトル命令実行制御装置
2から送られた命令を保持し、アクセス命令処理装置3
,4内のアクセス要求の処理状況を判断し、アドレス加
算器32に対する計算指示とともにアクセス要求の生成
を制御する。レジスタ35b、37b。
The register 37a is a register that holds the real address after address translation, and the exception detection mechanism 38 detects addressing exceptions and storage protection exceptions of the translated address. The register 39a is a register that holds addresses after the exception is detected, and also functions as a request buffer for absorbing disturbances in request processing due to conflicts with requests from other access request control devices to the main storage device 9. . The access request sending control circuit 34 controls sending the request existing in the request buffer 39a to the main memory control device 8, and furthermore, when conflict occurrence information is detected at the exit of the request buffer 39a, the access request sending control circuit 34 sends the request existing in the request buffer 39a to the main memory control device 8. Until we receive a notice of conflict resolution from 2, the principal jI! It has a function to stop sending requests to the control device 8. The access command control circuit 33 holds the commands sent from the vector command execution control device 2, and the access command processing device 3
, 4, and controls the generation of access requests together with calculation instructions to the address adder 32. Registers 35b, 37b.

39bは、各々レジスタ35a、37a、39aのアド
レスレジスタに対応するアクセス要求及びその種類を示
すコード用のレジスタである。
Reference numeral 39b is a register for a code indicating an access request and its type corresponding to the address registers of registers 35a, 37a, and 39a, respectively.

第3図は、ベクトル命令実行制御装置2の詳細を示した
ものである。状態管理回路22は、パイプライン処理機
構対応のビジー状態を保持するパイプライン処理機構状
態管理回路220と、ベクトルレジスタ対応のビジー状
態を保持するベクトルレジスタ状態管理回路221から
成る。各状態管理回路220,221は、命令起動管理
回路21がパイプライン処理機構やベクトルレジスタ7
を起動した時点でビジー状態にセットされ、パイプライ
ン処理機構やベクトルレジスタ7からの処理終了の幸騒
告によりビジー状態がリセットされる。
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 maintains a busy state corresponding to a pipeline processing mechanism, and a vector register state management circuit 221 that maintains a busy state corresponding to a vector register. Each of the state management circuits 220 and 221 includes an instruction activation management circuit 21, a pipeline processing mechanism and a vector register 7.
The busy state is set at the time of startup, and the busy state is reset by notification of completion of processing from the pipeline processing mechanism or vector register 7.

命令起動管理回路21内の解読回路210は、命令レジ
スタ20内の命令を解読する回路であり、該命令が使用
するパイプライン処理機構、ベクトルレジスタを決定す
る。比較回路211は、解読回路210で決定されたパ
イプライン処理機構が使用中であるか否かを、状態管理
回路220からの情報で判定する。この結果、比較回路
211は、目的のパイプライン処理機構が“空”であれ
ば、ゲート214を介して解読回路215にイネーブル
信号を与え、パイプライン処理機構に対する起動信号2
15aの送出を許可する。また、目的のパイプライン処
理機構が“使用中”であれば、解読回路215からの前
記起動信号215aの送出は抑止され、同時に、スカラ
処理ユニット1に対する命令起動報告216bの送出も
抑止される。
The decoding circuit 210 in the instruction activation management circuit 21 is a circuit that decodes the instruction in the instruction register 20, and determines the pipeline processing mechanism and vector register used by the instruction. The comparison circuit 211 determines whether the pipeline processing mechanism determined by the decoding 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 provides an enable signal to the decoding circuit 215 via the gate 214, and sends an activation signal 2 to the pipeline processing mechanism.
15a is permitted. Further, if the target pipeline processing mechanism is "in use", the sending of the activation signal 215a from the decoding circuit 215 is inhibited, and at the same time, the sending of the instruction activation report 216b to the scalar processing unit 1 is also inhibited.

比較回路212も、解読回路210で決定されたベクト
ルレジスタが使用中であるか否かを、状態管理回路22
1からの情報で判定する。この結果、比較回路212は
、目的のベクトルレジスタが“空”であれば、ゲー1−
217,214を介して解読回路215にイネーブル1
8号を与え、起動信号215aの送出を許可する。また
、目的のベクトルレジスタが“使用中”であっても、既
にコンフリクト発生命令を実行中であることを示すフリ
ップフロップ213が0”であれば、コンフリクト有情
Ig212aを付加して起動信号215aの送出を許可
する。もし既に該フリップフロップ213が“l”であ
り、比較回路212の出力もベクトルレジスタの“使用
中′を示している場合には、起動信号215aは抑止れ
る。フリップフロップ213は、コンフリクト有命令の
起動により“l”にセットされ、該コンフリクトが解消
された時点でリセットされる。本発明の実施例は、説明
を簡易化するため、パイプライン処理機構が、1個のコ
ンフリクト情報有りの命令を受入れ可能としており、起
動信号215aの抑止の制御を、このフリップフロップ
213の情報に基づいて行つている。
The comparison circuit 212 also determines whether the vector register determined by the decoding circuit 210 is in use or not by the state management circuit 22.
Judgment is made using the information from 1. As a result, if the target vector register is "empty", the comparator circuit 212
Enable 1 to the decoding circuit 215 via 217 and 214.
No. 8 is given, and the transmission of the activation signal 215a is permitted. Furthermore, even if the target vector register is "in use", if the flip-flop 213 indicating that the conflict generating instruction is already being executed is "0", the conflict-sensitive Ig 212a is added and the activation signal 215a is sent. If the flip-flop 213 is already at "L" and the output of the comparison circuit 212 also indicates that the vector register is "in use", the activation signal 215a is inhibited. The flip-flop 213 is set to "l" by activation of a conflicting instruction, and is reset when the conflict is resolved. In the embodiment of the present invention, in order to simplify the explanation, the pipeline processing mechanism is capable of accepting one instruction with conflict information, and the inhibition control of the activation signal 215a is based on the information of this flip-flop 213. Based on this.

本発明は、パイプライン処理機構が、複数個のコンフリ
クト情報有りの命令を受入れ可能とすることができる。
According to the present invention, the pipeline processing mechanism can accept a plurality of instructions with conflict information.

この場合、フリップフロップ213の代りに、コンフリ
クト解消通知241aによりカウント・アップ(または
、カウント・ダウン)され、コンフリクト情報有りの命
令の実行によりカウント・ダウン(または、カウント・
アップ)するカウンタを設け、このカウンタの値に基づ
いて、起動信号215aの抑止を制御することができる
。例えば、前記カウンタがコンフリクト解消通知により
カウント・アップされる場合、そのカウント値が“0”
の場合に、起動信号215aをIrII止するようにす
ればよい。
In this case, the counter is counted up (or counted down) by the conflict resolution notification 241a instead of the flip-flop 213, and counted down (or counted down) by executing an instruction with conflict information.
It is possible to provide a counter that increases (up) and control the suppression of the activation signal 215a based on the value of this counter. For example, when the counter is counted up by a conflict resolution notification, the count value is “0”.
In this case, the activation signal 215a may be stopped by IrII.

レジスタ218は、コンフリクトを起こしているベクト
ルレジスタの番号を保持するものである。
Register 218 holds the number of the vector register causing the conflict.

比較回路240は、ベクトルレジスタ9からの処理終了
報告とレジスタ218に保持されているコンフリクト発
生中のへクトルレジスク番号を比較する回路であり、−
敗すれば、コンフリクト解消ill知241aをパイプ
ライン処理機構に送出するとともに、コンフリクト存命
全実行中のフリツブフmlツブ213をリセットする。
The comparison circuit 240 is a circuit that compares the processing completion report from the vector register 9 and the hector registration disk number in which a conflict is occurring, which is held in the register 218.
If it loses, it sends the conflict resolution ill knowledge 241a to the pipeline processing mechanism, and resets the conflict ml block 213 which is currently being executed.

また、このとき、該へクトルレジスタは、引続きビジー
状態にする必要がある為、信号241aを許可信号とす
る解読回路244の出力を反転した信号をANDゲート
222に供給する。これにより、該ベクトル・レジスタ
のビジー状態のリセットが抑止される。
Also, at this time, since the hector register needs to be kept in a busy state, a signal obtained by inverting the output of the decoding circuit 244, which uses the signal 241a as a permission signal, is supplied to the AND gate 222. This prevents a busy reset of the vector register.

解読回路219は、命令解読回路210のレジスタ番号
をデコードし、ベクトルレジスタ状態管理回路221に
“ビジー状態”をセットする為の回路である。また、解
読回路215は、解読回路210の出力のパイプライン
処理機構の番号をデコードし、目的のベイブライン処理
機構に起動13号を送出する為の回路である。なお、ゲ
ート216゜217.241,242は、夫々ANDゲ
ート、ゲート214はNORゲート、ゲート243は反
転ゲートである。
The decoding circuit 219 is a circuit for decoding the register number of the instruction decoding circuit 210 and setting the vector register state management circuit 221 to a "busy state". Further, the decoding circuit 215 is a circuit for decoding the number of the pipeline processing mechanism output from the decoding circuit 210 and sending the activation number 13 to the target Babe line processing mechanism. Note that gates 216, 217, 241, and 242 are AND gates, gate 214 is a NOR gate, and gate 243 is an inversion gate.

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

第4図において、ベクトル命令実行制御装置2の命令起
動管理回路21から送られた起動信号215aは、アク
セス命令処理中を示すビジーフリップフロップ332を
セットする。これに伴ない、起動信号215aに付随す
るアクセス要求の種類を示すコード(コンフリクト有情
報を含む)、ベクトル長が夫々レジスタ330,331
にセットされる。ベクトル長レジスタ331の値は、送
出したアクセス要求320aの数を“+1”回路335
とレジスタ334から成るカウンタの値と比較回路33
6で比較される。両者の値が一致すると、すなわち、指
定されたベクトル製分のアクセス要求を送出すると、ベ
クトル命令実行制御装置に対して命令処理終了通知信号
336aが送出されるととも、ビジーフリップフロップ
332のリセットおよび実行ベクトル長レジスタ334
の値が“0”に初期化される。一方、アクセス要求32
0aは、アクセス命令処理装置内のアクセス要求の処理
状況を判断しながら送出されなければならない。このた
め、アクセス命令処理装置3の最終ステージにあるリク
エストバッファ39aがオーバーフローすることがない
ように、発行リクエストの数と、主記憶制御装置8に対
して送出したアクセス要求の数が監視されている。バッ
ファカウントレジスタ337の値は、最初″0”にリセ
ットされており、アクセス要求320aを送出すると加
算器338によってそのカウント値が“+1”されて、
レジスタ377にセットされる。
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, the code (including conflict existence information) indicating the type of access request accompanying the activation signal 215a and the vector length are set in the registers 330 and 331, respectively.
is set to The value of the vector length register 331 increases the number of sent access requests 320a by “+1” to the circuit 335.
and the value of the counter consisting of the register 334 and the comparison circuit 33
6 is compared. When the two values match, that is, when an access request for the specified vector fraction is sent, an instruction processing completion notification signal 336a is sent to the vector instruction execution control device, and the busy flip-flop 332 is reset and Execution vector length register 334
The value of is initialized to "0". On the other hand, access request 32
0a must be sent while determining the access request processing status within the access command processing device. For this reason, the number of issued requests and the number of access requests sent to the main memory control device 8 are monitored to prevent the request buffer 39a in the final stage of the access instruction processing device 3 from overflowing. . The value of the buffer count register 337 is initially reset to "0", and when the access request 320a is sent, the count value is incremented by "+1" by the adder 338.
It is set in register 377.

このレジスタ337の値と、リクエストバッファ39a
の数(本実施例では4個)との比較が比較回路339で
行なわれ、一致すると、反転ゲート321を通して、A
NDゲート320においてアクセス要求320aの送出
が抑止される。また、アクセス要求を主記憶制御装置に
対して1個送出したことを示す信号8aをアクセス要求
送出制御回路34から受けると、加算器338は、レジ
スタ337内のアクセス要求数を1個減じる。
The value of this register 337 and the request buffer 39a
A comparison circuit 339 compares the number of A (in this embodiment, four) and if they match, the A
The ND gate 320 suppresses sending of the access request 320a. Further, upon receiving a signal 8a from the access request sending control circuit 34 indicating that one access request has been sent to the main memory control device, the adder 338 decrements the number of access requests in the register 337 by one.

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

第5図において、アクセス命令処理装置3内のステージ
■から送られたアクセス要求34aに伴なうコード(コ
ンフリクト有情報を含む)、アドレス、データ等は、リ
クエストバッファ、39a及びレジスタ39bにセット
される。このときセットされるバッファ位置は、インポ
インタレジスタ340の値を解読回路342でデコード
した信号によって指示され、該インポインタの値は、ア
クセス要求34aが送られてくる毎に加算器341にお
いて“+l° される。なお、インポインタレジスタ3
40は′0″〜“3”の値をとり、“3”の次は“0”
にラップアラウンドされる。バッファ39a及びレジス
タ39bにセットされたアクセス要求は、アウトポイン
タレジスタ343の値を解読回路345でデコードした
信号によって示されるバッファ位置から選択回路390
・391を通して取出される。バッファ39a及びレジ
スタ39bから取出されたアクセス要求は、コンフリク
ト有情報付でなければ、ANDゲー)350を介して主
記憶制御装置8に対してアクセス要求350aとして送
出される。これと同時に、アクセス要求に伴なうコード
、アドレス、データ等がバッファ390a及びレジスタ
391a’より主記憶制御装置8に送出される。送出さ
れたアクセス要求350aは、主記憶装置の状態や他の
アクセス要求との競合により、必ずしも直らに主起19
制御装置8に受付けられるとは限らない。このため、主
記憶制御装置8は、その内部に優先順位決定回路を備え
、該回路においてプライオリティをとり、その旨を通知
するアクセプト信号8aを返送する。
In FIG. 5, the code (including conflict information), address, data, etc. associated with the access request 34a sent from stage 3 in the access instruction processing device 3 are set in the request buffer 39a and register 39b. Ru. The buffer position to be set at this time is indicated by a signal obtained by decoding the value of the inpointer register 340 by the decoding circuit 342, and the value of the inpointer is changed to "+l" in the adder 341 every time an access request 34a is sent. ° In addition, in pointer register 3
40 takes values from '0'' to '3', and after '3' is '0'
wrapped around. The access request set in the buffer 39a and the register 39b is sent to the selection circuit 390 from the buffer position indicated by the signal obtained by decoding the value of the out pointer register 343 by the decoding circuit 345.
・Taken out through 391. The access request taken out from the buffer 39a and the register 39b is sent to the main memory control device 8 as an access request 350a via an AND game 350 unless it is accompanied by conflict information. At the same time, codes, addresses, data, etc. associated with the access request are sent to the main memory control device 8 from the buffer 390a and register 391a'. The sent access request 350a may not necessarily be issued immediately due to the state of the main storage device or conflicts with other access requests.
There is no guarantee that the control device 8 will accept the request. For this reason, the main memory control device 8 includes a priority determining circuit therein, determines the priority, and returns an accept signal 8a notifying the priority.

アクセス要求送出制御回路34は、このアクセプト信号
8aを受取ると、アウトポインタレジスタ343の値を
加算器344により“+1”するととも、アクセス命令
制御回路33に対して、アクセス要求が一つ処理された
ことを、前述のアクセプト信号8aをそのまま送出する
ことにより通知する。一方、バッファ39a及びレジス
タ39bから取出されたアクセス要求が、コンフリクト
有要求であることを検出回路346が検出すると、反転
ゲート347、ORゲー1349を通してアクセス要求
350aの送出が抑止される。但し、この場合でも、コ
ンフリクト情報カウントレジスタ351が“0”でなけ
れば、アクセス要求350aは送出される。これと同時
に、コンフリクト情報カウントレジスタ351の値は、
加算器352を通して“1″が減じられる。このコンフ
リクト情報カウントレジスタ351の値は、命令起動管
理回路からのコンフリクト解消通知241aに、、t;
す“1”が加えられる。
When the access request sending control circuit 34 receives this accept signal 8a, it increments the value of the out pointer register 343 by "+1" using the adder 344, and also informs the access command control circuit 33 that one access request has been processed. This is notified by directly transmitting the above-mentioned accept signal 8a. On the other hand, when the detection circuit 346 detects that the access request taken out from the buffer 39a and the register 39b is a conflict request, the transmission of the access request 350a is inhibited through the inverting gate 347 and the OR gate 1349. However, even in this case, if the conflict information count register 351 is not "0", the access request 350a is sent. At the same time, the value of the conflict information count register 351 is
“1” is subtracted through adder 352. The value of this conflict information count register 351 is sent to the conflict resolution notification 241a from the instruction activation management circuit, t;
"1" is added.

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

ベクトル命令列としては、前述したLoad  ・S 
tore命令を2口実行する次に示す命令列の場合を考
える。
As a vector instruction sequence, the above-mentioned Load ・S
Consider the following instruction sequence that executes two tore instructions.

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

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

アクセス要求送出制御回路34は、上流のステージから
流れてきたアクセス要求をバッファ39a及びレジスタ
39bに取込むと同時に、バッファ39a及びレジスタ
39b内のアクセス要求を取出し、コンフリクト有情利
付か否かを検査する。
The access request sending control circuit 34 takes in the access request flowing from the upstream stage into the buffer 39a and the register 39b, and at the same time takes out the access request in the buffer 39a and the register 39b, and checks whether or not there is a conflict interest. .

2回目のL oad命令に対応する先頭のアクセス要求
にはコンフリクト有情報が付加されており、この時点で
命令起動管理回路21からコンフック1〜解消通知24
1aが送られていなければ、つまり、コンフリクト情報
カウントレジスタ351が“0”を示していれば、アク
セス要求350aの送出は抑止されるとともに、アクセ
ス命令処理装置3の処理は、このアクセス要求ステージ
において、停止させられることになる。一方、1回目の
s tore命令によるVROの読出しが終了すると、
その通知が命令起動管理回路21に送られ、比較回路2
40、ΔNDゲー1−241を介してコンフリクト解消
通知241aがアクセス命令処理装置3に送出される。
Conflict information is added to the first access request corresponding to the second load instruction, and at this point, the instruction activation management circuit 21 sends the conflict notification 1 to resolution notification 24.
1a is not sent, that is, if the conflict information count register 351 indicates "0", the sending of the access request 350a is suppressed, and the processing of the access instruction processing device 3 is performed at this access request stage. , will be stopped. On the other hand, when the first store command finishes reading the VRO,
The notification is sent to the instruction activation management circuit 21, and the comparison circuit 2
40, a conflict resolution notification 241a is sent to the access command processing device 3 via the ΔND game 1-241.

このコンフックl−解消通知241 aをアクセス送出
制御回路34が受取ると、該回路34は、コンフリクト
情報カウントレジスタの値を“1”にする。これにより
、抑止されていたアクセス要求350aの送出が再開さ
れ、コンフリクト情IIカウントレジスタ351の1直
が“1″減じられて、停止していたアクセス命令処理装
置の処理が再開される。
When the access transmission control circuit 34 receives this conflict l-resolution notification 241a, the circuit 34 sets the value of the conflict information count register to "1". As a result, the transmission of the suppressed access request 350a is restarted, the 1 shift of the conflict information II count register 351 is decremented by "1", and the stopped processing of the access command processing device is restarted.

また、コンフリクト解消通知241aが、コンフリクト
有情報付アクセス要求よりも早くアクセス送出側j′J
1回路に到着した場合には、コンフリクト有情報付アク
セス要求をバッファ39a、レジスタ39bから取出し
た時点で、直ちに、主記憶制御装置8に対してアクセス
要求350aを送出するとともに、コンフリクト情(し
カウントレジスタ351の値を“1”減じてコンフリク
ト関連処理をPニア″する。
Furthermore, the conflict resolution notification 241a is sent to the access sending side j′J earlier than the access request with conflict information.
If the access request with conflict information is retrieved from the buffer 39a and register 39b, the access request 350a is immediately sent to the main memory control device 8, and the conflict information (and count) is sent to the main memory control device 8. The value of the register 351 is decremented by "1" and the conflict-related process is performed.

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

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、実行しようとし
た命令が使用する資源(ベクトルレジスタ、パイプライ
ン処理機構など)が、既に先行命令により使用中(コン
フリクI・状態)であっても、該資源を実際に使用する
ステージの直前のステージまでパイプラインの処理を進
めることができるため、パイプライン処理機構の無駄な
空時間を発生させることなく命令を処理することが可能
となる。更に、コンフリクトが発生している命令の後続
命令が、先行命令の実行待ちにより過剰に待たされる事
態を回避することが可能となり、命令発行における無駄
な空時間の発生を抑えることが可能になる。
As explained above, according to the present invention, even if the resources (vector registers, pipeline processing mechanism, etc.) used by the instruction to be executed are already in use by the preceding instruction (conflict I/state), Since pipeline processing can be advanced to the stage immediately before the stage that actually uses the resource, it is possible to process instructions without wasting idle time in the pipeline processing mechanism. Furthermore, it is possible to avoid a situation in which an instruction subsequent to the instruction in which a conflict has occurred is made to wait excessively due to the execution of the preceding instruction, and it is possible to suppress the occurrence of wasted idle time in issuing instructions.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明によるベクトル命令実行制御装置とアク
セス命令処理装置の一実施例を示すブロック図、第2図
はヘクトル処理装置の全体構成を示すブロック図、第3
図はベクトル命令実行制御装置の構成を示すブロック図
、第4図はアクセス合資制御回路の構成を示すブロック
図、第5図はアクセス送出制御回路の構成を示すブロッ
ク図である。 ■・・・・・・・・・スカラ処理ユニット、2・・・・
・・・・・ヘクトル命令実行制御装置、3,4・・・・
・・・・・アクセス命令処理装置、5,6・・・・・・
・・・演算装置、7・・・・・・・・・ベクトルレジス
タ、8・・・・・・・・・主記憶制御装置、9・・・・
・・・・・主記憶装置、20・・・・・・・・・命令レ
ジスタ、21・・・・・・・・・命令起動管理回路、2
2.・・・・・・・・・状態管理回路、33・・・・・
・・・・アクセス命令制御回路、34・・・・・・・・
・アクセス要求送出制御回路、213・・・・・・・・
・コンフリクト有命令実行中表示フリップ・フロップ、
210゜212.219・・・・・・・・・解読回路、
220・・・・・・・・・バイブライン処理機構状態管
理回路、221・・・・・・・・・・\クトルレジスタ
状態管理回路、240・・・・・・・・・コンフリクI
−解消信号作成用比較回路、351・・・・・・・・・
二1ンフリクト情報カウントレジスタ、346・・・・
・・・・・コンフリクト有情報検出回路、353・・・
・・・・・・非′咎検出回路。 第2図 第4図 334:突行べ゛7トル長レジスフ 335:・1@路 338:go算若
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 the overall configuration of a hector processing device, and FIG.
4 is a block diagram showing the structure of the vector instruction execution control device, FIG. 4 is a block diagram showing the structure of the access joint capital control circuit, and FIG. 5 is a block diagram showing the structure of the access transmission control circuit. ■・・・・・・Scalar processing unit, 2...
...Hector command execution control device, 3, 4...
...Access command processing device, 5, 6...
...Arithmetic unit, 7...Vector register, 8...Main memory control unit, 9...
...Main storage device, 20...Instruction register, 21...Instruction activation management circuit, 2
2. ......State management circuit, 33...
...Access command control circuit, 34...
・Access request sending control circuit, 213...
・Indication flip-flop when conflicting instruction is being executed,
210°212.219・・・・・・Decoding circuit,
220...Vibeline processing mechanism state management circuit, 221...\Vector register state management circuit, 240...Conflict I
- Comparison circuit for creating canceled signal, 351...
21 conflict information count register, 346...
...Conflict information detection circuit, 353...
・・・・・・Non-blame detection circuit. Figure 2 Figure 4 334: Thrust base 7 length register 335: ・1@Route 338: go calculation

Claims (1)

【特許請求の範囲】 1、複数要素のデータを保持するベクトルレジスタと、
該ベクトルレジスタ内に保持されているデータに対して
、その複数要素を連続的に処理する複数個のパイプライ
ン処理機構とを備え、各パイプライン処理機構に個別の
ベクトル命令を割当てて処理するベクトル処理装置にお
いて、各パイプラインに割当てられた命令により指定さ
れている資源が、先行する命令により使用中であるとい
うコンフリクト状態を検出するコンフリクト検出機構と
、該機構が資源のコンフリクト状態を検出すると、コン
フリクト状態であることを示すコンフリクト情報を前記
命令の要素に付加して前記パイプライン処理機構に送り
込む機構と、前記コンフリクト検出機構が前記コンフリ
クト状態の解消を検出すると、この解消情報を前記パイ
プライン処理機構に通知する機構とを備えることを特徴
とするベクトル処理装置の制御方式。 2、前記パイプライン処理機構は、前記命令に付加され
たコンフリクト情報を検出すると、その命令のパイプラ
イン処理を特定のステージで停止させ、前記コンフリク
ト解消が通知されると、停止させていたパイプライン処
理を再開することを特徴とする特許請求の範囲第1項記
載のベクトル処理装置の制御方式。 3、前記パイプライン処理機構は、前記コンフリクト解
消通知と、コンフリクト情報付き命令の処理終了とによ
り制御されるカウンタを備え、このカウンタの値により
、次々と連続してパイプライン処理機構に送り込まれる
複数の命令の実行を制御することを特徴とする特許請求
の範囲第1項または第2項記載のベクトル処理装置の制
御方式。 4、前記カウンタは、前記コンフリクト解消通知により
カウント・アップ(または、ダウン)、前記コンフリク
ト情報付命令を処理したことによりカウント・ダウン(
または、アップ)され、前記パイプライン処理機構は、
このカウンタの値が所定の値でない場合に、コンフリク
ト情報付き命令が特定のステージに到達しても、パイプ
ライン処理を停止させず、カウンタの値が所定値である
場合に、コンフリクト情報付き命令の処理を特定のステ
ージで停止させることを特徴とする特許請求の範囲第3
項記載のベクトル処理装置の制御方式。
[Claims] 1. A vector register that holds data of multiple elements;
A vector that includes a plurality of pipeline processing mechanisms that sequentially process multiple elements of data held in the vector register, and that processes the data by assigning individual vector instructions to each pipeline processing mechanism. In a processing device, a conflict detection mechanism detects a conflict state in which a resource specified by an instruction assigned to each pipeline is being used by a preceding instruction, and when the mechanism detects a resource conflict state, a mechanism that adds conflict information indicating a conflict state to an element of the instruction and sends it to the pipeline processing mechanism; and when the conflict detection mechanism detects resolution of the conflict state, this resolution information is sent to the pipeline processing mechanism; 1. A control method for a vector processing device, comprising: a mechanism for notifying a mechanism. 2. When the pipeline processing mechanism detects conflict information added to the instruction, it stops the pipeline processing of the instruction at a specific stage, and when the conflict resolution is notified, the pipeline processing mechanism that had been stopped stops. A control method for a vector processing device according to claim 1, characterized in that processing is restarted. 3. The pipeline processing mechanism is provided with a counter that is controlled by the conflict resolution notification and the completion of processing of instructions with conflict information, and the value of this counter determines the number of times the plurality of messages are sent to the pipeline processing mechanism one after another. A control method for a vector processing device according to claim 1 or 2, characterized in that the method controls execution of an instruction. 4. The counter counts up (or down) in response to the conflict resolution notification, and counts down (or counts down) in response to the processing of the conflict information attached command.
or up), and the pipeline processing mechanism is
If the value of this counter is not a predetermined value, pipeline processing will not be stopped even if an instruction with conflict information reaches a specific stage, and if the value of this counter is a predetermined value, the instruction with conflict information will not be stopped. Claim 3, characterized in that the processing is stopped at a specific stage.
Control method of the vector processing device described in Section 1.
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 true JPH01307870A (en) 1989-12-12
JP2716055B2 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)

Citations (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

Patent Citations (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
JP2716055B2 (en) 1998-02-18

Similar Documents

Publication Publication Date Title
US5922057A (en) Method for multiprocessor system of controlling a dynamically expandable shared queue in which ownership of a queue entry by a processor is indicated by a semaphore
JPS63127368A (en) Control system for vector processor
JPH09128351A (en) Parallel process scheduling method in parallel computer and processor for parallel computer
US5485593A (en) Data structure access control circuit and method utilizing tag bits indicating address match and memory fullness conditions
JPH0430053B2 (en)
US20080034193A1 (en) System and Method for Providing a Mediated External Exception Extension for a Microprocessor
JP4168281B2 (en) Parallel processing system, interconnection network, node and network control program
JPH11167557A (en) Shared memory access sequence assurance method and multiprocessor system
JPH0827757B2 (en) Data block transfer control method
JPH01307870A (en) Control system for vector processor
EP0206335B1 (en) Interruption method for a data processing system
EP0700005B1 (en) Vector data bypass mechanism for vector computer
JP2783285B2 (en) Information processing device
JP2643931B2 (en) Information processing device
JP2671160B2 (en) Exception handling method
JPH0850560A (en) Write and/or read access priority management apparatus
JPH08314850A (en) Bus bridge for computer system
JPH0728748A (en) Bus control mechanism and computer system
JPS6125249A (en) Exclusive control system
JP2549410B2 (en) Main memory reference order control method
JPH0283779A (en) Instruction execution control system for vector processor
JPS601656B2 (en) buffer memory circuit
JPH04162135A (en) Data processor
JP2639988B2 (en) Data driven data processor
JPH07234850A (en) Device and method for multiprocessor system