JPH02100175A - Vector processor - Google Patents

Vector processor

Info

Publication number
JPH02100175A
JPH02100175A JP25352388A JP25352388A JPH02100175A JP H02100175 A JPH02100175 A JP H02100175A JP 25352388 A JP25352388 A JP 25352388A JP 25352388 A JP25352388 A JP 25352388A JP H02100175 A JPH02100175 A JP H02100175A
Authority
JP
Japan
Prior art keywords
instruction
flag
write busy
vector register
instruction execution
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
JP25352388A
Other languages
Japanese (ja)
Other versions
JPH07117955B2 (en
Inventor
Takeshi Nishikawa
西川 岳
Kazuaki Furusawa
古澤 一昭
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.)
NEC Corp
NEC Computertechno Ltd
Original Assignee
NEC Corp
NEC Computertechno 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 NEC Corp, NEC Computertechno Ltd filed Critical NEC Corp
Priority to JP25352388A priority Critical patent/JPH07117955B2/en
Publication of JPH02100175A publication Critical patent/JPH02100175A/en
Publication of JPH07117955B2 publication Critical patent/JPH07117955B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PURPOSE:To shorten computing time when the storage of the arithmetic results is continuous to the same vector register by selecting and checking a flag that is controlled in the timing corresponding to the number of pipeline steps of each computing element. CONSTITUTION:When the computing element to be used with an instruction which is decoded at an instruction control part 2 is equal to an adder 11, a short write busy A flag 33 is selected. In the same way, a short write busy L flag 32, a short write busy M flag 34, and a write busy flag 31 are respectively selected with a logical computing element 12, a multiplier 13, and a computing element 14 which starts a storing action to a designated vector register right after the execution of an instruction is instructed. These selected flags are checked by a write busy check circuit 23, and these check results are set to an instruction execution instructing circuit 24. Then an instruction executing instruction is sent to an instruction executing part 1. Thus the storage of the arithmetic results is continuously carried out to the vector register and the total computing time is shortened.

Description

【発明の詳細な説明】[Detailed description of the invention]

〔産業上の利用分野〕 本発明は、複数のベクトルレジスタおよびパイプライン
段数の異なる複数の演算器から構成される命令実行部と
、実行すべき命令の解読を行ない命令実行のための情報
を生成し、前記命令実行部のベクトルレジスタおよび演
算器等のリソースの状態を管理しながら命令の実行指示
を行なう命令制御部とを備えたベクトル処理装置に関す
る。 [従来の技術1 従来、この種のベクトル処理装置は、命令実行指示を命
令実行部に送出すると同時に命令のオペランドを与える
ベクトルレジスタが読出し中であることを示すフラッグ
(以降リードビジーフラッグと称す)、演算結果を指定
されたベクトルレジスタに格納中であることを示すフラ
ッグ(以降ライトビジーフラッグと称す)をセットし、
後続の命令実行指示送出前にこれらのフラッグをチェッ
クすることで命令実行部の状態をチェックし、とジーで
なければ命令実行部に命令実行指示を送出し、とジーで
あれば解除されるまで待ち、解除されたあと命令実行指
示を送出する。命令実行部の演算器は、加減算2乗算、
論理演算、シフト演算等の機能を各々持ち、パイプライ
ン構成でベクトルレジスタの1要素データを1クロツク
毎に演算でき、演算機能によりパイプライン段数が異な
るのが一般的である。よってパイプライン段数の多い演
算器を使用する命令はど、命令実行指示からのライトビ
ジー期間は長くなる。 特に、第3図に示すように、命令実行部で使用している
演算結果を格納しているベクトルレジスタの指定が命令
制御部でチェックしている命令で演算結果を格納すべき
ベクトルレジスタの指定と一致している場合、命令実行
部で演算結果を格納しているベクトルレジスタのライト
ビジーが解除されてから後続の命令の実行指示が命令実
行部に送出され、後続命令で使用している演算器のパイ
プライン段数相当クロック後に演算結果を指定されたベ
クトルレジスタに格納しはじめることにより、ベクトル
レジスタへの格納が中断し、空き時間が生じていた。し
たがって、第4図に示すように、種々の演算器の中でパ
イプライン段数の最小のものを使用する命令が後続して
いる場合、ライトとジ−フラッグより最小パイプライン
段数相当2092分だけ短いフラッグ(以下ショートラ
イトビジーフラッグと称す)を、各命令の実行指示から
セットし、このフラッグのリセットをチェックし、後続
命令の実行指示を命令実行部へ送出するなら、演算結果
の格納は中断しなくてずむように制御できる。しかし、
第5図に示すように、それ以上のパイプライン段数をも
つ演算器を使用する命令が後続する場合、ショートライ
トビジーフラッグのリセットをチェックして命令実行指
示を命令実行部へ送出すると、演算結果の格納は中断さ
れ空き時間が生ずる。 [発明が解決しようとする課題] 上述した従来のベクトル処理装置は、演算結果を格納す
るベクトルレジスタの指定が同一である連続した演算命
令を実行すると、後続する命令で使用すべき演算器のパ
イプライン段数が大きいものほど、先行演算の結果の格
納と後続演算の結果の格納との間に演算結果が得られな
い、より大きな空き時間が生じてしまい、全体として演
算時間が長くなってしまうという欠点がある。 [課題を解決するための手段1 本発明のベクトル処理装置は、 複数のベクトルレジスタ毎に複数の演算器対応に設けら
れ、演算結果を指定されたベクトルレジスタに格納中で
あることを示し、当該演算器のパイプライン段数相当ク
ロックだけライトビジーフラッグより早いタイミングで
リセットされる複数のショートライトビジーフラッグと
、 命令制御部において解読中の命令で使用すべき演算器に
より前記ショートライトビジーフラッグを選択するセレ
クタと、 選択されたショートライトビジーフラッグをチェックす
るチェック回路と、 該ショートライトビジーフラッグがリセットされた時点
で後続の演算命令の実行指示を命令実行部へ送出する命
令実行指示手段とを有する。
[Industrial Application Field] The present invention comprises an instruction execution unit composed of a plurality of vector registers and a plurality of arithmetic units with different numbers of pipeline stages, and an instruction execution unit that decodes instructions to be executed and generates information for instruction execution. The present invention also relates to a vector processing device comprising an instruction control section that instructs the execution of instructions while managing the states of resources such as vector registers and arithmetic units of the instruction execution section. [Prior art 1] Conventionally, this type of vector processing device sends an instruction execution instruction to an instruction execution unit and at the same time sends a flag (hereinafter referred to as read busy flag) indicating that a vector register that provides an operand of the instruction is being read. , sets a flag (hereinafter referred to as write busy flag) indicating that the calculation result is being stored in the specified vector register,
The state of the instruction execution unit is checked by checking these flags before sending a subsequent instruction execution instruction. Wait, and then send an instruction execution instruction after it is released. The arithmetic unit of the instruction execution unit performs addition, subtraction, 2 multiplication,
They each have functions such as logical operations and shift operations, and can operate on one element data of a vector register every clock in a pipeline configuration, and the number of pipeline stages generally differs depending on the operation function. Therefore, for an instruction that uses an arithmetic unit with a large number of pipeline stages, the write busy period from the instruction execution instruction becomes longer. In particular, as shown in Figure 3, the designation of the vector register that stores the calculation result used in the instruction execution unit is the designation of the vector register that should store the calculation result in the instruction that is checked in the instruction control unit. If it matches, the write busy of the vector register storing the operation result in the instruction execution unit is released, and then the instruction to execute the subsequent instruction is sent to the instruction execution unit, and the operation used in the subsequent instruction is By starting to store the operation result in the designated vector register after a clock period corresponding to the number of pipeline stages of the device, storage in the vector register was interrupted, resulting in idle time. Therefore, as shown in Figure 4, if an instruction that uses the smallest number of pipeline stages among various arithmetic units follows, it will be shorter than Write and G-Flag by 2092 equivalent to the minimum number of pipeline stages. If a flag (hereinafter referred to as the short write busy flag) is set from the execution instruction of each instruction, the reset of this flag is checked, and the execution instruction of the subsequent instruction is sent to the instruction execution unit, the storage of the operation result will not be interrupted. You can control it so that it doesn't need to be used. but,
As shown in Figure 5, when an instruction that uses an arithmetic unit with more pipeline stages follows, if the reset of the short write busy flag is checked and an instruction execution instruction is sent to the instruction execution unit, the operation result will be The storage of the data is interrupted and idle time is created. [Problems to be Solved by the Invention] When the above-described conventional vector processing device executes consecutive arithmetic instructions in which the same vector register designation for storing the arithmetic result is executed, the pipe of the arithmetic unit to be used in the subsequent instruction is The larger the number of line stages, the longer the calculation time will be as a result of the storage of the result of the preceding calculation and the storage of the result of the subsequent calculation, where no calculation result will be obtained, and the longer the calculation time will be. There are drawbacks. [Means for Solving the Problems 1] The vector processing device of the present invention is provided in correspondence with a plurality of arithmetic units for each of a plurality of vector registers, and indicates that an arithmetic result is being stored in a designated vector register. A plurality of short write busy flags are reset at a timing earlier than the write busy flag by a clock equivalent to the number of pipeline stages of the arithmetic unit, and the short write busy flag is selected according to the arithmetic unit to be used for the instruction being decoded in the instruction control unit. It has a selector, a check circuit that checks a selected short write busy flag, and an instruction execution instruction means that sends an instruction to execute a subsequent arithmetic instruction to an instruction execution section when the short write busy flag is reset.

【作用〕[Effect]

したがって、命令実行部で実行中の命令の演算結果を格
納中であるベクトルレジスタの指定と命令制御部で解読
中の命令の演算結果を格納すべきベクトルレジスタの指
定が一致し、命令実行部で実行中の命令で使用している
演算器のパイプライン段数よりも命令制御部で解読中の
命令で使用すべき演算器のパイプライン段数の方が大き
い場合でも命令実行部で実行中の命令の演算結果の格納
と後続する命令制御部で解読中の命令の演算結果の格納
とを連続して行なえる。 [実施例] 次に、本発明の実施例について図面を参照して説明する
。 第1図は本発明のベクトル処理装置の一実施例のブロッ
ク図、第2図は加算命令実行時のフラッグの説明図、第
3図は後続命令の命令実行指示送出チェック時に、先行
命令のライトビジーフラッグ31を参照した場合の図、
第4図は後続命令が論理演算器使用命令で、命令実行指
示送出チェック時にショートライトビジーヒフラッグ3
2をチェックした場合の図、第5図は後続命令が乗算器
使用命令で命令実行指示送出チェック時にショートライ
トビジーヒフラッグ32をチェックした場合の図、第6
図は加算命令実行時のすべてのフラッグの説明の図、第
7図は後続命令が乗算器使用命令で命令実行指示送出チ
ェック時にショートビジーMフラッグ34をチェックし
た場合の図である。 本実施例は命令実行部1と命令制御部2とからなる。命
令実行部1は、複数個のエントリを有するベクトルレジ
スタR0〜R7と、クロスバスイッチlOと、加算器1
1と、論理演算器12と、乗算器13と、演算器14と
から構成されている。加算器11、論理演算器12.乗
算器13、演算器14のパイプライン段数は、演算器に
より固有であり、ここでは乗算器12.加算器比論理演
算器13の順にパイプライン段数が大きいと仮定する。 演算器14は演算命令実行指示直後に、指定されたベク
トルレジスタへの格納を開始すると仮定する。は命令制
御部2は、命令レジスタ20と、デコード回路21と、
リードビジーフラッグ30と、ライトビジーフラッグ3
1と、ショートライトビジーヒフラッグ32と、ショー
トライトビジーAフラッグ33と、ショートライトとジ
ー間フラッグ34と、セレクタ回路25と、リードビジ
ーチェック回路22と、ライトビジーチェック回路23
と、命令実行指示回路24とから構成されている。リー
ドビジーフラッグ30は、実行している命令のオペラン
ドを与えるベクトルレジスタの読出し中であることを示
し、読出しが終了するとリセットされる。ライトとジ−
フラッグ31は、演算結果を指定されたベクトルレジス
タに格納中であることを示し、指定されたベクトルレジ
スタへの格納が終了するとリセットされる。 ショートライトビジーヒフラッグ32は、第2図に示す
ように、ライトビジーフラッグ31より各種演算器の中
で最もパイプライン段数の短い論理演算器12のパイプ
ライン段数相当クロックだけ早いタイミングでリセット
される。ショートライトビジーAフラッグ33は、ライ
トビジーフラッグ31より加算器11のパイプライン段
数相当クロックだけ早いタイミングでリセットされる。 ショートライトとジー間フラッグ34は、ライトビジー
フラッグ31より乗算器13のパイプライン段数相当ク
ロックだけ早いタイミングでリセットされる。 従来、命令制御部2で解読中の命令でオペランドを与え
るベクトルレジスタの指定と実行中の命令が読出し中で
あるベクトルレジスタの指定との一致をリードビジーフ
ラッグ30を用いてリードビジーチェック回路22で検
出し、同じく、解読中の命令で演算結果を格納すべきベ
クトルレジスタの指定と実行中の命令で演算結果を格納
中であるベクトルレジスタの指定との一致をライトビジ
ーフラッグ31を用いてライトビジーチェック回路23
で検出し、これらの結果から命令実行指示回路24によ
り、命令実行部lへ命令実行指示を送出していた。この
−ため、実行中の命令の結果を格納中であるベクトルレ
ジスタの指定と命令制御部2で解読中の命令の演算結果
を格納すべきベクトルレジスタの指定が一致したとき、
第3図で示すように、命令実行部1でベクトルレジスタ
Ro、R+の加算結果をベクトルレジスタR2へ格納中
であり、後続命令がベクトルレジスタR2,Rsの論理
演算結果をベクトルレジスタR1に格納する命令である
場合、ベクトルレジスタR1のライトビジーフラッグ3
1がリセットされた時点で後続の論理演算命令の実行指
示を命令実行部1へ送出できる。 よってベクトルレジスタR?への演算結果の格納は連続
して行なえず空き時間を生ずる。さらに、ライトビジー
チェック回路23でチェックするフラッグをライトビジ
ーフラッグ31を用いず、ショートライトビジーヒフラ
ッグ32を用いた場合、第4図で示すように、第3図と
同じ演算を行なえば、ベクトルレジスタRyへの演算結
果の格納は連続して行なえる。 ところが、第5図で示すように、命令実行部1でベクト
ルレジスタR6,R,の加算結果をベクトルレジスタR
7へ格納中であり、後続命令が、ベクトルレジスタR4
,Rsの乗算結果をベクトルレジスタR7に格納する命
令である場合、ライトビジーチェック回路23でチェッ
クするフラッグをショートライトとジ−ヒフラッグ32
とすると、乗算器13のパイプライン段数の方が論理演
算器12のパイプライン段数より大きいため、ベクトル
レジスタR1への演算結果の格納は連続せず、再び空き
時間を生ずる。 以上の問題点を解決するために、第6図に示すように、
命令実行指示送出時に、加えてショートライトビジーA
フラッグ33.ショートライトビジーMフラッグ34を
セットし、それぞれライトビジーフラッグ31より各演
算器のパイプライン段数相当クロックだけ早くリセット
するようにし、これを各ベクトルレジスタ毎に設定する
。 第1図に示すように、命令制御部2において解読中の命
令で使用すべき演算器のパイプライン段数により、これ
らフラッグをセレクタ回路25で選択し、選択されたフ
ラッグをライトとジ−チェック回路23でチェックし、
その結果を命令実行指示回路24に送り、命令実行指示
を命令実行部1に送出する。すなわち、命令制御部2で
解読中の命令で使用すべき演算器が加算器llである場
合はショートライトビジーAフラッグ33を、論理演算
器12である場合はショートライトビジーヒフラッグ3
2を、乗算器13である場合はショートライトビジーM
フラッグ34を、命令実行指示直後に指定されたベクト
ルレジスタへの格納を開始するような演算器】4の場合
はライトビジーフラッグ31をそれぞれ選択する。 例えば、第7図に示すようなベクトルレジスタRo、R
+の加算結果をベクトルレジスタR7へ格納中であり、
後続命令がベクトルレジスタR4゜Rsの乗算結果をベ
クトルレジスタRyに格納する命令である場合、乗算器
13のパイプライン段数からショートライトとジー間フ
ラッグ34が選択されう′イトビジーチエ9ク回路23
で該フラッグがチェックされ、命令実行指示回路24か
ら命令実行部lへ命令実行指示が送出され、結果として
ベクトルレジスタR1への演算結果の格納は連続して行
なわれる。 〔発明の効果〕 以上説明したように本発明は、解読中の命令で使用すべ
き演算器のパイプライン段数により、演算器対応に各演
算器のパイブライ、ン段数に応じたタイミングで制御さ
れるフラッグを選択して、チェックすることにより、同
一ベクトルレジスタへの演算結果格納の指定が連続した
場合も、演算結果を中断することなく格納でき、また、
後続する命令で使用すべき演算器のパイプライン段数が
先行する命令で使用している演算器のパイプライン段数
に比べて大きいときも、演算結果の格納が中断すること
なく行なわれ、よって同一ベクトルレジスタへの演算結
果格納の指定が連続した場合、全体として演算時間を短
縮できる効果がある。
Therefore, the designation of the vector register that is storing the operation result of the instruction being executed by the instruction execution unit and the designation of the vector register that should store the operation result of the instruction that is being decoded by the instruction control unit match, and the instruction execution unit Even if the number of pipeline stages of the arithmetic unit used by the instruction being executed is greater than the number of pipeline stages of the arithmetic unit that should be used for the instruction being decoded by the instruction control unit, the number of pipeline stages of the arithmetic unit used by the instruction being executed is The storage of the calculation result and the storage of the calculation result of the instruction being decoded by the subsequent instruction control unit can be performed continuously. [Example] Next, an example of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram of an embodiment of the vector processing device of the present invention, FIG. 2 is an explanatory diagram of flags when an addition instruction is executed, and FIG. Diagram when referring to busy flag 31,
Figure 4 shows that the subsequent instruction is an instruction using a logical operation unit, and the short write busy flag is 3 when checking the instruction execution instruction sending.
2 is checked. Figure 5 is a diagram when the subsequent instruction uses a multiplier and the short write busy flag 32 is checked when checking the instruction execution instruction sending.
This figure is a diagram explaining all the flags when an addition instruction is executed, and FIG. 7 is a diagram showing a case where the subsequent instruction uses a multiplier and the short busy M flag 34 is checked when checking the sending of an instruction execution instruction. This embodiment consists of an instruction execution section 1 and an instruction control section 2. The instruction execution unit 1 includes vector registers R0 to R7 having a plurality of entries, a crossbar switch IO, and an adder 1.
1, a logical arithmetic unit 12, a multiplier 13, and an arithmetic unit 14. Adder 11, logical operator 12. The number of pipeline stages of the multiplier 13 and the arithmetic unit 14 is unique to each arithmetic unit; It is assumed that the number of pipeline stages increases in the order of the adder ratio logical operator 13. It is assumed that the arithmetic unit 14 starts storing data in a designated vector register immediately after being instructed to execute an arithmetic instruction. The instruction control unit 2 includes an instruction register 20, a decoding circuit 21,
Read busy flag 30 and write busy flag 3
1, short write busy flag 32, short write busy A flag 33, short write to G flag 34, selector circuit 25, read busy check circuit 22, and write busy check circuit 23.
and an instruction execution instruction circuit 24. The read busy flag 30 indicates that a vector register providing the operand of the instruction being executed is being read, and is reset when the read is completed. light and g-
The flag 31 indicates that the calculation result is being stored in the designated vector register, and is reset when the storage in the designated vector register is completed. As shown in FIG. 2, the short write busy flag 32 is reset at a timing earlier than the write busy flag 31 by a clock equivalent to the number of pipeline stages of the logical operator 12, which has the shortest pipeline stage among the various arithmetic units. . The short write busy A flag 33 is reset at a timing earlier than the write busy flag 31 by a clock corresponding to the number of pipeline stages of the adder 11. The short write-to-G flag 34 is reset at a timing earlier than the write busy flag 31 by a clock corresponding to the number of pipeline stages of the multiplier 13. Conventionally, the read busy check circuit 22 uses a read busy flag 30 to check whether the designation of the vector register that provides the operand in the instruction being decoded by the instruction control unit 2 matches the designation of the vector register from which the instruction being executed is being read. Similarly, the write busy flag 31 is used to detect a match between the designation of the vector register in which the calculation result is to be stored by the instruction being decoded and the designation of the vector register in which the calculation result is stored by the instruction being executed. Check circuit 23
Based on these results, the instruction execution instruction circuit 24 sends an instruction execution instruction to the instruction execution unit l. Therefore, when the designation of the vector register that is storing the result of the instruction being executed matches the designation of the vector register that is to store the operation result of the instruction that is being decoded by the instruction control unit 2,
As shown in FIG. 3, the instruction execution unit 1 is storing the addition result of vector registers Ro and R+ in vector register R2, and the subsequent instruction stores the logical operation result of vector registers R2 and Rs in vector register R1. If it is an instruction, write busy flag 3 of vector register R1
1 is reset, an instruction to execute a subsequent logical operation instruction can be sent to the instruction execution unit 1. So vector register R? The calculation results cannot be stored continuously, resulting in empty time. Furthermore, if the write busy check circuit 23 does not use the write busy flag 31 but uses the short write busy flag 32, as shown in FIG. 4, if the same calculation as in FIG. 3 is performed, the vector The calculation results can be stored continuously in the register Ry. However, as shown in FIG.
7, and the subsequent instruction is being stored in vector register R4.
, Rs, the flag to be checked by the write busy check circuit 23 is set to short write and gihi flag 32.
In this case, since the number of pipeline stages of the multiplier 13 is larger than the number of pipeline stages of the logical operator 12, the storage of the operation results to the vector register R1 is not continuous, and empty time occurs again. In order to solve the above problems, as shown in Figure 6,
In addition, short write busy A occurs when an instruction execution instruction is sent.
Flag 33. The short write busy M flag 34 is set so as to be reset earlier than the write busy flag 31 by a clock corresponding to the number of pipeline stages of each arithmetic unit, and this is set for each vector register. As shown in FIG. 1, these flags are selected by the selector circuit 25 according to the number of pipeline stages of the arithmetic unit to be used for the instruction being decoded in the instruction control unit 2, and the selected flags are transferred to the write and g-check circuits. Check on 23,
The result is sent to the instruction execution instruction circuit 24, and an instruction execution instruction is sent to the instruction execution section 1. That is, if the arithmetic unit to be used for the instruction being decoded by the instruction control unit 2 is the adder 11, the short write busy A flag 33 is set, and if it is the logical arithmetic unit 12, the short write busy flag 3 is set.
2, short write busy M if multiplier 13
In the case of [4], an arithmetic unit that starts storing the flag 34 into a designated vector register immediately after an instruction execution instruction is issued, the write busy flag 31 is selected. For example, vector registers Ro, R as shown in FIG.
The + addition result is being stored in vector register R7,
If the subsequent instruction is an instruction to store the multiplication result of the vector register R4゜Rs in the vector register Ry, the short write and G flag 34 is selected from the number of pipeline stages of the multiplier 13.
The flag is checked, and an instruction execution instruction is sent from the instruction execution instruction circuit 24 to the instruction execution unit 1. As a result, the operation results are continuously stored in the vector register R1. [Effects of the Invention] As explained above, the present invention is capable of controlling the pipeline of each arithmetic unit at a timing corresponding to the number of pipeline stages of each arithmetic unit, depending on the number of pipeline stages of the arithmetic unit to be used for the instruction being decoded. By selecting and checking the flag, even if the storage of calculation results to the same vector register is specified consecutively, the calculation results can be stored without interruption.
Even when the number of pipeline stages of the arithmetic unit to be used in the subsequent instruction is larger than the number of pipeline stages of the arithmetic unit used in the preceding instruction, the storage of the operation result is performed without interruption, and therefore the same vector If the storage of calculation results in registers is specified consecutively, the overall calculation time can be reduced.

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

第1図は本発明のベクトル処理装置の一実施例のブロッ
ク図、第2図は加算命令実行時のフラッグの説明図、第
3図は後続命令の命令実行指示送出チェック時に、先行
命令のライトビジーフラッグ31を参照した場合の図、
第4図は後続命令が論理演算器使用命令で、命令実行指
示送出チェック時にショートライトビジーヒフラッグ3
2をチェックした場合の図、第5図は後続命令が乗算器
使用命令で命令実行指示送出チェック時にショートライ
トとジ−ヒフラッグ32をチェックした場合の図、第6
図は加算命令実行時のすべてのフラッグの説明の図、第
7図は後続命令が乗算器使用命令で命令実行指示送出チ
ェック時にショートビジーMフラッグ34をチェックし
た場合の図である。 1・・・・・・・・・・命令実行部 2・・・・・・・・・・命令制御部 R0〜R1・・・ベクトルレジスタ 10・・・・・・・・・・クロスバスイッチ++・・・
・・・・・・・加算器 12・・・・・・・・・・論理演算器 13・・・・・・・・・・乗算器 14・・・・・・・・・・演算器 20・・・・・・・・・・命令レジスタ21・・・・・
・・・・・デコード回路22・・・・・・・・・・リー
ドビジーチェック回路23・・・・・・・・・・ライト
ビジーチェック回路24・・・・・・・・・・命令実行
指示回路30・・・・・・・・・・リードビジーフラッ
グ31・・・・・・・・・・ライトビジーフラッグ32
・・・・・・・・・・ショートライトビジーヒフラッグ
33・・・・・・・・・・ショートライトとジーAフラ
ッグ34・・・・・・・・・・ショートライトビジーM
フラッグ4g1ff櫓示 第2 奔命 Ry−RO+R+ 〜−R2JR3 命令 R7−f% + R。 R7−R4*R5 毎分 R7←RO+R電 R7◆−R2LFb 4今 R7−R,+R。
FIG. 1 is a block diagram of an embodiment of the vector processing device of the present invention, FIG. 2 is an explanatory diagram of flags when an addition instruction is executed, and FIG. Diagram when referring to busy flag 31,
Figure 4 shows that the subsequent instruction is an instruction using a logical operation unit, and the short write busy flag is 3 when checking the instruction execution instruction sending.
2 is checked. Figure 5 is a diagram when the subsequent instruction is an instruction using a multiplier and the short write and gee-hi flag 32 are checked when checking the sending of an instruction execution instruction.
This figure is a diagram explaining all the flags when an addition instruction is executed, and FIG. 7 is a diagram showing a case where the subsequent instruction uses a multiplier and the short busy M flag 34 is checked when checking the sending of an instruction execution instruction. 1......Instruction execution unit 2...Instruction control unit R0-R1...Vector register 10...Crossbar switch++ ...
...... Adder 12 ...... Logical operator 13 ... Multiplier 14 ...... Arithmetic unit 20 ......Instruction register 21...
...Decode circuit 22 ... Read busy check circuit 23 ... Write busy check circuit 24 ...... Instruction execution Indication circuit 30...Read busy flag 31...Write busy flag 32
・・・・・・・・・・Short write busy flag 33・・・・・・・・Short light and G-A flag 34・・・・・・・・・・Short write busy M
Flag 4g1ff turret display 2nd command Ry-RO+R+ ~-R2JR3 command R7-f% + R. R7-R4*R5 Every minute R7←RO+R electric R7◆-R2LFb 4 Now R7-R, +R.

Claims (1)

【特許請求の範囲】 1、複数のベクトルレジスタおよびパイプライン段数の
異なる複数の演算器から構成される命令実行部と、命令
のオペランドを与えるベクトルレジスタが読出し中であ
ることを示すリードビジーフラッグおよび演算結果を指
定されたベクトルレジスタに格納中であることを示すラ
イトビジーフラッグを含み、実行すべき命令の解読を行
ない命令実行のための情報を生成し、前記命令実行部の
ベクトルレジスタおよび演算器等のリソースの状態を前
記リードビジーフラッグとライトビジーフラッグで管理
しながら命令の実行指示を行なう命令制御部とを備えた
ベクトル処理装置において、前記複数のベクトルレジス
タ毎に前記複数の演算器対応に設けられ、演算結果を指
定されたベクトルレジスタに格納中であることを示し、
当該演算器のパイプライン段数相当クロックだけ前記ラ
イトビジーフラッグより早いタイミングでリセットされ
る複数のショートライトビジーフラッグと、 命令制御部において解読中の命令で使用すべき演算器に
より前記ショートライトビジーフラッグを選択するセレ
クタと、 選択されたショートライトビジーフラッグをチェックす
るチェック回路と、 該ショートライトビジーフラッグがリセットされた時点
で後続の演算命令の実行指示を命令実行部へ送出する命
令実行指示手段とを有することを特徴とするベクトル処
理装置。
[Claims] 1. An instruction execution unit composed of a plurality of vector registers and a plurality of arithmetic units with different numbers of pipeline stages, and a read busy flag indicating that a vector register providing an operand of an instruction is being read. It includes a write busy flag indicating that the operation result is being stored in the specified vector register, decodes the instruction to be executed, generates information for instruction execution, and stores the instruction execution unit's vector register and arithmetic unit. In the vector processing device, each of the plurality of vector registers is configured to correspond to the plurality of arithmetic units. is provided to indicate that the operation result is being stored in the specified vector register,
a plurality of short write busy flags that are reset at a timing earlier than the write busy flag by clocks corresponding to the number of pipeline stages of the arithmetic unit; and a plurality of short write busy flags that are reset by the arithmetic unit to be used for the instruction being decoded in the instruction control unit. A selector for making a selection, a check circuit for checking a selected short write busy flag, and an instruction execution instruction means for sending an instruction to execute a subsequent arithmetic instruction to an instruction execution section when the short write busy flag is reset. A vector processing device comprising:
JP25352388A 1988-10-06 1988-10-06 Vector processor Expired - Lifetime JPH07117955B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25352388A JPH07117955B2 (en) 1988-10-06 1988-10-06 Vector processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25352388A JPH07117955B2 (en) 1988-10-06 1988-10-06 Vector processor

Publications (2)

Publication Number Publication Date
JPH02100175A true JPH02100175A (en) 1990-04-12
JPH07117955B2 JPH07117955B2 (en) 1995-12-18

Family

ID=17252553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25352388A Expired - Lifetime JPH07117955B2 (en) 1988-10-06 1988-10-06 Vector processor

Country Status (1)

Country Link
JP (1) JPH07117955B2 (en)

Also Published As

Publication number Publication date
JPH07117955B2 (en) 1995-12-18

Similar Documents

Publication Publication Date Title
EP0087978B1 (en) Information processing unit
JPS5911943B2 (en) Trap mechanism for data processing equipment
JPH06105460B2 (en) Multiprocessor processor switching device
JPS58149541A (en) Data processing device
JP2003058381A (en) Processor realizing exception processing setting by program
JPH02100175A (en) Vector processor
JPH01503340A (en) data processing unit
JP2503984B2 (en) Information processing device
JPH07219766A (en) Arithmetic processor
JPS60126736A (en) Data processor
JP2544817B2 (en) Vector processing device and vector processing method
JPH07244588A (en) Data processor
JPH052482A (en) Data processor
JPS58200349A (en) Microprogram controller
JPH01286034A (en) Information processor
JPH0690712B2 (en) Vector processor
JP2503983B2 (en) Information processing device
JPS60201442A (en) Data processing device
JPH03263265A (en) Vector processor
JP2019046138A (en) Processor including a plurality of register groups
JPS63186372A (en) Vector processor
JPH0269826A (en) System for controlling instruction with condition
JPS6117033B2 (en)
JPS6238946A (en) Arithmetic processor
JPS63247834A (en) Processing method for pseudo instruction of floating point function