JPH024025B2 - - Google Patents

Info

Publication number
JPH024025B2
JPH024025B2 JP17728182A JP17728182A JPH024025B2 JP H024025 B2 JPH024025 B2 JP H024025B2 JP 17728182 A JP17728182 A JP 17728182A JP 17728182 A JP17728182 A JP 17728182A JP H024025 B2 JPH024025 B2 JP H024025B2
Authority
JP
Japan
Prior art keywords
vector
register
instruction
vector length
length setting
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
Application number
JP17728182A
Other languages
Japanese (ja)
Other versions
JPS5971577A (en
Inventor
Tetsuo Okamoto
Yoshuki Tanakura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP17728182A priority Critical patent/JPS5971577A/en
Publication of JPS5971577A publication Critical patent/JPS5971577A/en
Publication of JPH024025B2 publication Critical patent/JPH024025B2/ja
Granted legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00—Digital computers in general; Data processing equipment in general
    • G06F15/76—Architectures of general purpose stored program computers
    • G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053—Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、1ベクトル・ワードの大きさをもつ
複数のベクトル・レジスタ基本単位を有し、指定
されたベクトル長に応じて複数のベクトル・レジ
スタ基本単位を連結し、これを1個の処理単位と
して取扱い得るようになつたベクトル処理装置に
おいて、ベクトル長設定レジスタを変更するため
の特定のベクトル長ベクトル・ロード・フアース
ト・リリース命令がデコードされた場合には、ベ
クトル長ベクトル・ロード・フアースト・リリー
ス命令発信前に実行が開始されたベクトル命令の
実行の完了を待つことなく、ベクトル長ベクト
ル・ロード・フアースト・リリース命令を実行し
てベクトル長設定レジスタの内容を変更できるよ
うにしたものである。
Detailed Description of the Invention [Technical Field of the Invention] The present invention has a plurality of vector register basic units each having a size of one vector word, and a plurality of vector registers according to a specified vector length. In a vector processing device that can now connect basic units and handle them as one processing unit, a specific vector length vector load first release instruction to change the vector length setting register was decoded. In this case, the vector length vector load fast release instruction is executed to set the vector length without waiting for the completion of execution of vector instructions that started execution before the vector length vector load fast release instruction was issued. This allows the contents of the register to be changed.

〔従来技術と問題点〕[Conventional technology and problems]

第1図はベクトル処理装置の概要を示す図であ
つて、VPUはベクトル処理装置、1は主記憶、
2−1と2−2はロード・ストア処理部、3−1
と3−2は演算部、4は命令制御部、5はベクト
ル・レジスタをそれぞれ示している。ロード・ス
トア処理部2−1は、主記憶1の中のベクトル・
データをベクトル・レジスタ5へロードするため
の処理およびベクトル・レジスタ5の中のベクト
ル・データを主記憶1へストアするための処理を
行う。ロード・ストア処理部2−2は、ロード・
ストア処理部2−1と同一の機能を有している。
演算部3−1は、ベクトル・レジスタ5の中のベ
クトル・データの加算、減算、乗算、割算などの
処理を行う。演算部3−2は、演算部3−1と同
一の機能を有している。命令制御部4は、実行す
べきベクトル命令を解釈し、ストア・ロード処理
部やベクトル・レジスタ、演算部などを制御す
る。
FIG. 1 is a diagram showing an overview of a vector processing device, in which VPU is a vector processing device, 1 is a main memory,
2-1 and 2-2 are load/store processing units, 3-1
and 3-2 indicate an arithmetic unit, 4 an instruction control unit, and 5 a vector register, respectively. The load/store processing unit 2-1 stores vectors in the main memory 1.
Processing for loading data into vector register 5 and processing for storing vector data in vector register 5 into main memory 1 are performed. The load/store processing unit 2-2 includes a load/store processing unit 2-2.
It has the same functions as the store processing section 2-1.
The arithmetic unit 3-1 performs processing such as addition, subtraction, multiplication, and division of vector data in the vector register 5. The calculation section 3-2 has the same function as the calculation section 3-1. The instruction control unit 4 interprets vector instructions to be executed and controls the store/load processing unit, vector register, arithmetic unit, and the like.

第2図はベクトル・レジスタ5の構成を示す図
である。ベクトル・レジスタ5は、複数のベクト
ル・レジスタ基本単位BU(以下、たんに基本単
位という)より構成されており、各基本単位BU
には複数のエレメント・データを格納することが
出来る。基本単位BUは、汎用レジスタの集りで
あると考えることもできる。
FIG. 2 is a diagram showing the configuration of vector register 5. The vector register 5 is composed of a plurality of vector register basic units BU (hereinafter simply referred to as basic units), and each basic unit BU
can store multiple element data. The basic unit BU can also be thought of as a collection of general-purpose registers.

第3図はベクトル命令のベクトル・レジスタ番
号と実際にデータが記憶されるデータ域とベクト
ル長の3者の関係を示すものである。第3図にお
いて、VWはベクトル・ワードを示している。基
本単位BUが4ビツトで指定されるとする。ベク
トル長が 0≦ベクトル長≦VW の場合には、VR0000に対しては第2図の第0番
(最上部)の基本単位BUが割当てられる。ベク
トル長が VW<ベクトル長≦2VW の場合には、VR0000に対して第2図の第0番と
第1番の基本単位が割当てられる。即ち、この場
合にはVR0000の最下位ビツトは無視される。ベ
クトル長が 2VW<ベクトル長≦4VW の場合には、VR0000に対して第2図の第0番な
いし第3番目の基本単位BUが割当てられる。即
ち、この場合にはVR0000の下位2ビツトは無視
される。
FIG. 3 shows the relationship among the vector register number of a vector instruction, the data area where data is actually stored, and the vector length. In FIG. 3, VW indicates a vector word. Assume that the basic unit BU is specified by 4 bits. When the vector length is 0≦vector length≦VW, basic unit BU number 0 (top) in FIG. 2 is allocated to VR0000. When the vector length is VW<vector length≦2VW, the basic units No. 0 and No. 1 in FIG. 2 are assigned to VR0000. That is, in this case, the least significant bit of VR0000 is ignored. When the vector length is 2VW<vector length≦4VW, the 0th to 3rd basic units BU in FIG. 2 are allocated to VR0000. That is, in this case, the lower two bits of VR0000 are ignored.

いま、下記のようなベクトル命令列を想定す
る。
Now, assume the following vector instruction sequence.

VLVL VL=VW VAD 0000,0001,0101 VLVL VL=4VW VAD 0100,1000,1100 VLVLはベクトル長ベクトル・ロード命令であ
り、例えば VLVL VL=VW は、ベクトル長設定レジスタにVWをセツトせよ
という命令である。VADはベクトル加算命令で
あり、例えば VAD 0000,0001,0101 は、ベクトル・レジスタ0101の内容とベクトル・
レジスタ0001の内容とをベクトル加算し、加算結
果をベクトル・レジスタ0000に書込め、というも
のである。
VLVL VL=VW VAD 0000, 0001, 0101 VLVL VL=4VW VAD 0100, 1000, 1100 VLVL is a vector length vector load instruction. For example, VLVL VL=VW is an instruction to set VW in the vector length setting register. be. VAD is a vector addition instruction; for example, VAD 0000, 0001, 0101 adds the contents of vector register 0101 and vector
Add the contents of register 0001 as a vector, and write the addition result to vector register 0000.

VAD 0000,0001,0101 という命令のベクトル・レジスタ(0000,0001,
0101)と、 VAD 0100,1000,1100 という命令のベクトル・レジスタ(0100,1000,
1100)は一見異なるように見えるが、上記のよう
なベクトル命令列においては、ベクトル・レジス
タ0101に割当てられる基本単位はベクトル・レジ
スタ0100に割当てられる基本単位集合に含まれて
いる。したがつて、上記のベクトル命令列を論理
矛盾なく実行するためには、 VAD 0000,0001,0101 というベクトル命令の実行が完了した後に、 VAD 0100,1000,1100 というベクトル命令を実行する必要がある。
VAD 0000, 0001, 0101 instruction vector register (0000, 0001,
0101) and the vector register (0100, 1000,
1100) may seem different at first glance, but in the above vector instruction sequence, the basic unit assigned to vector register 0101 is included in the basic unit set assigned to vector register 0100. Therefore, in order to execute the above vector instruction sequence without any logical contradiction, it is necessary to execute the vector instructions VAD 0100, 1000, 1100 after the execution of the vector instructions VAD 0000, 0001, 0101 is completed. .

ベクトル長設定値に応じてベクトル命令のベク
トル・レジスタ指定部の値で指定される基本単位
集合が変化するようなベクトル処理装置におい
て、ベクトル長設定値変更前のベクトル命令と、
ベクトル長設定値変更後のベクトル命令を論理矛
盾なく実行するためには、 (a) ベクトル長設定値変更前におけるベクトル命
令のベクトル・レジスタ指定部に割当てられた
基本単位集合と、ベクトル長設定値変更後のベ
クトル命令のベクトル・レジスタ指定部に割当
てられた基本単位集合のコンフリクト
(conflict)をハードウエアで以つてチエツク
し、コンフリクトが生じなくなつたことを条件
にして、ベクトル長設定値変更後のベクトル命
令を実行する。
In a vector processing device in which the basic unit set specified by the value of the vector register specification part of the vector instruction changes according to the vector length setting value, the vector instruction before the vector length setting value is changed,
In order to execute a vector instruction without logical contradiction after changing the vector length setting value, (a) The basic unit set assigned to the vector register specification part of the vector instruction before changing the vector length setting value and the vector length setting value must be Conflicts in the basic unit set assigned to the vector register specification part of the vector instruction after the change are checked using hardware, and on the condition that no conflicts occur, the vector length setting value is changed. Executes a vector instruction.

(b) ベクトル設定値変更前のベクトル命令の実行
が完了してから、ベクトル設定値変更以後のベ
クトル命令を実行する。
(b) After completing the execution of the vector instruction before changing the vector setting value, execute the vector instruction after changing the vector setting value.

という2種類の方式が考えられる。しかし、上記
(a)の方式は性能は良いが、このためのハードウエ
アが非常に大きくなるという欠点を有しており、
上記(b)の方式はこのためのハードウエア構成は小
さくなるが、性能が落ちるという欠点を有してい
る。
There are two possible methods. But above
Although method (a) has good performance, it has the disadvantage that the hardware required for this is very large.
Although the above method (b) requires a smaller hardware configuration, it has the disadvantage of lower performance.

〔発明の目的〕[Purpose of the invention]

本発明は、上記の考察に基づくものであつて、
ベクトル長設定値の変更に応じてベクトル命令の
ベクトル・レジスタ指定部の値によつて指定され
るベクトル・レジスタ基本単位集合が変化するよ
うになつたベクトル処理装置において、大規模な
ハードウエアを持つことなく、ベクトル命令列を
効率的に且つ論理矛盾を生ずることなく実行でき
るようにしたベクトル処理装置の制御方式を提供
することを目的としている。
The present invention is based on the above considerations, and includes:
In a vector processing device that has large-scale hardware, the vector register basic unit set specified by the value of the vector register specification part of the vector instruction changes according to the change in the vector length setting value. It is an object of the present invention to provide a control system for a vector processing device that can efficiently execute a sequence of vector instructions without causing logical contradictions.

〔発明の構成〕[Structure of the invention]

そしてそのため、本発明のベクトル処理装置の
制御方式は、複数のベクトル・レジスタ基本単位
のベクトル・レジスタ基本単位を有するベクト
ル・レジスタを具備し、ベクトル長設定値の大き
さとベクトル命令のベクトル・レジスタ指定部の
値とによつて当該ベクトル・レジスタ指定部に割
当てられるベクトル・レジスタ基本単位集合が定
まるように構成されたベクトル処理装置におい
て、ベクトル長設定値を直ちに変更すべきことを
指定する第1のベクトル長変更命令と、それ以前
のベクトル命令が完了した後にベクトル長設定値
を変更すべきことを指定する第2のベクトル長変
更命令を準備し、第1のベクトル長変更命令がデ
コードされたときには直ちにベクトル長設定値の
変更を行い、第2のベクトル長変更命令がデコー
ドされたときには、当該命令より前のベクトル命
令の実行が完了した後にベクトル長設定値の変更
を行うことを特徴とするものである。
Therefore, the control method of the vector processing device of the present invention includes a vector register having a plurality of vector register basic units, and a vector register specification of a vector length setting value and a vector instruction. In a vector processing device configured such that the vector register basic unit set assigned to the vector register designation section is determined by the value of the vector register specification section, a first vector length setting value that specifies that the vector length setting value should be changed immediately Prepare a vector length change instruction and a second vector length change instruction that specifies that the vector length setting value should be changed after the previous vector instruction is completed, and when the first vector length change instruction is decoded. The vector length setting value is changed immediately, and when the second vector length change instruction is decoded, the vector length setting value is changed after the execution of the vector instruction preceding the instruction is completed. It is.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明を図面を参照しつつ説明する。 Hereinafter, the present invention will be explained with reference to the drawings.

要約すると、本発明は、ベクトル長の変更が必
要とされる場合のうち、ベクトル長の変更にとも
なうベクトル・レジスタ基本単位の結合の変更が
一連のベクトル命令においてベクトル・レジスタ
基本単位集合のコンフリクトを引き起こさないこ
とがプログラム上保証されている場合が多いとい
う実情に鑑み、不必要なベクトル・レジスタ基本
単位集合のコンフリクト・チエツクを行わないよ
うに指定する命令を新たに追加すると共に、当該
命令がデコードされたとき、ベクトル・レジスタ
基本単位集合のコンフリクトを無視して次のベク
トル命令の実行を開始できるようにしたものであ
る。
In summary, the present invention solves the problem that, in cases where a change in vector length is required, a change in the combination of vector register basic units due to a change in vector length causes a conflict in the set of vector register basic units in a series of vector instructions. Considering the fact that there are many cases in which the program is guaranteed not to cause this problem, we have added a new instruction that specifies not to perform an unnecessary conflict check on the vector/register basic unit set, and also When the instruction is executed, the conflict in the vector register basic unit set can be ignored and execution of the next vector instruction can be started.

第4図は演算部3−1の概要を示す図である。
第4図において、6ないし11はレジスタ、12
−1と12−2は演算器、13は実行制御部、1
4は−1減算器をそれぞれ示している。レジスタ
6には、ベクトル命令の第2のベクトル・レジス
タ指定部の値とベクトル長設定値とによつて定ま
る基本単位集合の中のベクトル・データが1エレ
メントずつ順番にセツトされる。また、レジスタ
7には、ベクトル命令の第3ベクトル・レジスタ
指定部の値とベクトル長設定値とによつて定まる
基本単位集合の中のベクトル・データが1エレメ
ントずつセツトされる。入力されたエレメント対
は、演算器12−1,12−2……を含む演算パ
イプラインによつて遂次処理される。結果エレメ
ントの列は、ベクトル命令の第1ベクトル・レジ
スタ指定部の値とベクトル長設定値とによつて定
まる基本単位集合に遂次書込まれる。レジスタ1
0には、命令制御部4から送られて来るベクトル
命令のOPコード(オペレーシヨン・コード)が
セツトされる。命令実行制御部13は、命令制御
部4からのスタート信号を受信すると動作を開始
し、レジスタ10およびレジスタ11の内容に従
つて演算器12−1,12−2,……を制御する
と共に、レジスタ11を制御する。レジスタ11
には、命令制御部4から送られて来るベクトル長
設定値がセツトされる。レジスタ11の値は、1
個の入力エレメント対が演算部3−1に入力され
る度に−1される。更に命令実行制御部13はレ
ジスタ11の値が終了値を示すと終了信号Sを実
行管理部へ送る。
FIG. 4 is a diagram showing an outline of the calculation section 3-1.
In FIG. 4, 6 to 11 are registers, 12
-1 and 12-2 are arithmetic units, 13 is an execution control unit, 1
4 indicates a -1 subtractor, respectively. In the register 6, vector data in the basic unit set determined by the value of the second vector register designation part of the vector instruction and the vector length setting value is sequentially set one element at a time. Further, in the register 7, vector data in the basic unit set determined by the value of the third vector register designation part of the vector instruction and the vector length setting value is set one element at a time. The input element pairs are successively processed by an arithmetic pipeline including arithmetic units 12-1, 12-2, . . . . The sequence of result elements is sequentially written into a basic unit set determined by the value of the first vector register specification part of the vector instruction and the vector length setting value. register 1
The OP code (operation code) of the vector instruction sent from the instruction control unit 4 is set to 0. The instruction execution control section 13 starts operating upon receiving the start signal from the instruction control section 4, and controls the arithmetic units 12-1, 12-2, . . . according to the contents of the register 10 and the register 11. Controls register 11. register 11
The vector length setting value sent from the instruction control unit 4 is set in the vector length setting value sent from the instruction control unit 4. The value of register 11 is 1
Each time input element pairs are input to the calculation unit 3-1, it is decremented by 1. Further, the instruction execution control section 13 sends an end signal S to the execution management section when the value of the register 11 indicates the end value.

第5図は本発明による命令制御部の1実施例の
ブロツク図である。第5図において、15ないし
17はレジスタ、18はベクトル長設定レジス
タ、19はベクトル長セツト回路、20は命令発
信制御部、21は実行管理部、22はデコーダを
それぞれ示している。レジスタ15には、命令に
対応したデータがセツトされる。レジスタ15の
中のデータは、ベクトル長設定命令に対応した場
合、ベクトル長を示す部分があり、その部分によ
り示されるベクトル長はNEWVLと呼ばれる。
ベクトル長セツト回路19は、実行される命令が
ベクトル長設定命令の場合、命令発信制御部20
の制御指令に基づき、レジスタ15の中の
NEWVLをベクトル長設定レジスタ18にセツ
トする。ベクトル長設定レジスタ18の内容は、
OLDVLとよばれる。レジスタ16−1には主記
憶1からフエツチされた命令がセツトされる。デ
コーダ22は、レジスタ16−1のベクトル命令
をデコードする。デコードの結果として得られる
命令制御情報はレジスタ17にセツトされレジス
タ16−1の命令はレジスタ16−2にセツトさ
れる。命令発信制御部20は、レジスタ17の命
令制御情報および実行管理部21からの制御情報
を参照し、命令を発信すべき送り先を定め、実行
管理部21が命令発信許可を指示しているときに
は、命令発信を行う。実行管理部21は、レジス
タ17の命令制御情報、NEWVL、OLDVLおよ
び演算器の状態情報などを参照して制御情報を作
成し、この制御情報を命令発信制御部20に送
る。
FIG. 5 is a block diagram of one embodiment of the instruction control unit according to the present invention. In FIG. 5, 15 to 17 are registers, 18 is a vector length setting register, 19 is a vector length set circuit, 20 is an instruction transmission control section, 21 is an execution management section, and 22 is a decoder. Data corresponding to the command is set in the register 15. When the data in the register 15 corresponds to a vector length setting instruction, there is a part indicating the vector length, and the vector length indicated by this part is called NEWVL.
When the command to be executed is a vector length setting command, the vector length set circuit 19 controls the command transmission control unit 20.
Based on the control command of
Set NEWVL in the vector length setting register 18. The contents of the vector length setting register 18 are as follows:
It is called OLDVL. The instruction fetched from main memory 1 is set in register 16-1. Decoder 22 decodes the vector instruction in register 16-1. The instruction control information obtained as a result of decoding is set in register 17, and the instruction in register 16-1 is set in register 16-2. The command transmission control unit 20 refers to the command control information in the register 17 and the control information from the execution management unit 21, determines the destination to which the command should be transmitted, and when the execution management unit 21 instructs permission to transmit the command, Sends commands. The execution management section 21 creates control information by referring to the instruction control information in the register 17, NEWVL, OLDVL, state information of the arithmetic unit, etc., and sends this control information to the instruction transmission control section 20.

第6図は実行管理部21のベクトル長設定命令
実行制御部分の1実施例のブロツク図である。第
6図において、23は比較回路、24はフリツ
プ・フロツプ、25はAND回路、26はOR回路
をそれぞれ示している。フリツプ・フロツプ24
は、VLVLF命令がデコードされた場合にセツト
され、また、VLVL命令がデコードされ且つ
VLVL命令より前のベクトル命令の実行が完了し
た場合にセツトされる。なおVLVLFはベクト
ル・レングス・ベクトル・ロード・フアースト・
リリースの略であり、VLVLはベクトル・レング
ス・ベクトル・ロードの略である。NEWVLと
OLDVLとが比較回路23によつて比較され、両
者が一致すると、発信許可信号がOR回路26か
ら出力される。比較回路23がNEWVLと
OLDVLの不一致を示している場合には、フリツ
プ・フロツプ24がセツトされると、発信許可信
号がOR回路26から出力される。即ち、
VLVLF命令がデコードされると、直ちに
NEWVLがベクトル長設定レジスタ18にセツ
トされ、また、VLVL命令がデコードされると、
VLVL命令より前のベクトル命令の実行が全て完
了したことを条件にしてNEWVLがベクトル長
設定レジスタ18にセツトされる。
FIG. 6 is a block diagram of one embodiment of the vector length setting instruction execution control portion of the execution management section 21. In FIG. 6, 23 indicates a comparison circuit, 24 a flip-flop, 25 an AND circuit, and 26 an OR circuit. flip flop 24
is set if a VLVLF instruction is decoded, and is set if a VLVL instruction is decoded and
Set when the vector instruction before the VLVL instruction completes execution. VLVLF is vector length vector load first
VLVL stands for Vector Length Vector Load. NEWVL and
OLDVL is compared by the comparison circuit 23, and if the two match, a transmission permission signal is output from the OR circuit 26. Comparison circuit 23 is NEWVL
If the OLDVL does not match, the flip-flop 24 is set and a transmission permission signal is output from the OR circuit 26. That is,
As soon as the VLVLF instruction is decoded,
When NEWVL is set in the vector length setting register 18 and the VLVL instruction is decoded,
NEWVL is set in the vector length setting register 18 on the condition that all vector instructions preceding the VLVL instruction have been executed.

VLVLF命令を用いたプログラムの1例を下記
に示す。
An example of a program using the VLVLF instruction is shown below.

VLVLF VL=4VW VLD 0000,A1 VLD 0100,B1 VAD 1000,0100,0000 VST 1000,C1 VLD 0000,A2 VLD 0100,B2 VAD 1000,0100,0000 VST 1000,C2 〓 VLD 0000,Ao-1 VLD 0100,Bo-1 VAD 1000,0100,0000 VST 1000,Co-1 VLVLF VL=VW VLD 0000,Ao VLD 0100,Bo VAD 1000,0100,0000 VST 1000,Co 上式において、VLDはダブル・ワードのベク
トル・ロード命令、VADはベクトル加算命令、
VSTはベクトル・ストア命令をそれぞれ示して
いる。上記のプログラムは、ベクトル長設定レジ
スタ18に4VWをセツトし、しかる後にiを1、
2、……n−1と変化させながら、主記憶1のア
ドレスAiからベクトル・データを読出してベク
トル・レジスタ0000にロードし、主記憶1のアド
レスBiからベクトル・データを読出してベクト
ル・レジスタ0100にロードし、ベクトル・レジス
タ0000のベクトル・データとベクトル・レジスタ
0100のベクトル・データとを加算し、加算結果を
ベクトル・レジスタ1000に格納し、ベクトル・レ
ジスタ1000のベクトル・データをアドレスCiにス
トアする処理をn−1回行い、しかる後に、ベク
トル長設定レジスタ18にVWをセツトし、主記
憶1のアドレスAnからベクトル・データを読出
してベクトル・レジスタ0000にロードし、主記憶
1のアドレスBnからベクトル・データを読出し
てベクトル・レジスタ0100にロードし、ベクト
ル・レジスタ0000のベクトル・データとベクト
ル・レジスタ0100のベクトル・データとを加算
し、加算結果をベクトル・レジスタ1000に格納
し、ベクトル・レジスタ1000のベクトル・データ
を主記憶1のアドレスCnにストアする処理を行
うことを示している。上記のプログラムにおい
て、VLVLF命令がデコードされると、直ちにベ
クトル長設定レジスタ18に4VWがセツトされ
る。ベクトル長設定レジスタ18に4VWがセツ
トされた後、直ちに VLD 0000,A1 というベクトル命令がロード・ストア処理部2−
1又はロード・ストア処理部2−2に対して発信
される。以下、プログラムに従つてベクトル命令
が遂次実行される。
VLVLF VL=4VW VLD 0000, A 1 VLD 0100, B 1 VAD 1000, 0100, 0000 VST 1000, C 1 VLD 0000, A 2 VLD 0100, B 2 VAD 1000, 0100, 0000 VST 1000, C 2 〓 VLD 0000, A o-1 VLD 0100, B o-1 VAD 1000, 0100, 0000 VST 1000, C o-1 VLVLF VL=VW VLD 0000, A o VLD 0100, B o VAD 1000, 0100, 0000 VST 1000, C o top In the formula, VLD is a double word vector load instruction, VAD is a vector addition instruction,
VST stands for vector store instruction. The above program sets 4VW in the vector length setting register 18, then sets i to 1,
2,...n-1, read vector data from address Ai in main memory 1 and load it into vector register 0000, read vector data from address Bi in main memory 1 and load it into vector register 0100. and vector data in vector register 0000 and vector register
Add the vector data of 0100, store the addition result in vector register 1000, store the vector data of vector register 1000 to address Ci n-1 times, and then add the vector length setting register. Set VW to 18, read vector data from address An of main memory 1 and load it to vector register 0000, read vector data from address Bn of main memory 1 and load it to vector register 0100, and load vector data from address An of main memory 1 to vector register 0100.・Add the vector data in register 0000 and the vector data in vector register 0100, store the addition result in vector register 1000, and store the vector data in vector register 1000 at address Cn in main memory 1. Indicates that processing is to be performed. In the above program, when the VLVLF instruction is decoded, 4VW is immediately set in the vector length setting register 18. Immediately after 4VW is set in the vector length setting register 18, the vector instruction VLD 0000, A 1 is sent to the load/store processing unit 2-
1 or the load/store processing section 2-2. Thereafter, vector instructions are sequentially executed according to the program.

VLVLF VL=VW という命令がデコードされると、直ちにベクトル
長設定レジスタ18にVWがセツトされる。ベク
トル長設定レジスタ18にVWがセツトされた後
直ちに VLD 0000,Ao というベクトル命令がロード・ストア処理部2−
1又は2−2に対して発信される。以下、プログ
ラムに従つてベクトル命令が遂次実行される。
When the instruction VLVLF VL=VW is decoded, VW is immediately set in the vector length setting register 18. Immediately after VW is set in the vector length setting register 18, the vector command VLD 0000, A o is sent to the load/store processing unit 2-
1 or 2-2. Thereafter, vector instructions are sequentially executed according to the program.

第7図は、ベクトル・レジスタ基本単位集合の
コンフリクト・チエツクをハードウエアで行う場
合の構成の1例を示すものである。第7図におい
て、27と28は比較回路、29−1ないし29
−mは使用VR検出回路をそれぞれ示している。
比較回路27は、OLDVLとNEWVLとを比較
し、一致しない場合には比較回路28を起動す
る。使用VR検出回路29−1は、OLDVLの値
と使用中のベクトル・レジスタ番号とに基づいて
当該ベクトル・レジスタ番号に割当てられている
1個もしくは複数個のベクトル・レジスタ基本単
位の番号を出力する。使用中VR検出回路29−
mは、NEWVLの値および使用予定のベクト
ル・レジスタ番号に基づいて当該ベクトル・レジ
スタ番号に割当てられている1個もしくは複数個
のベクトル・レジスタ基本単位の番号を出力す
る。比較回路28は、使用中のベクトル・レジス
タ基本単位の番号と使用予定のベクトル・レジス
タ基本単位の番号とを比較し、一致するものがあ
れば、命令発信待ちの信号を命令発信制御部へ送
る。ベクトル・レジスタ基本単位集合のコンフリ
クト・チエツクをハードウエアで実行しようとす
ると、第7図のようなハードウエア構成が必要と
なるが、本発明によれば、このようなハードウエ
ア構成が不要となる。
FIG. 7 shows an example of a configuration in which a conflict check of a vector register basic unit set is performed by hardware. In FIG. 7, 27 and 28 are comparison circuits, 29-1 to 29
-m indicates the VR detection circuit used.
Comparison circuit 27 compares OLDVL and NEWVL, and if they do not match, activates comparison circuit 28. The used VR detection circuit 29-1 outputs the number of one or more vector register basic units assigned to the vector register number based on the value of OLDVL and the vector register number in use. . VR detection circuit in use 29-
m outputs the number of one or more vector register basic units assigned to the vector register number based on the value of NEWVL and the vector register number to be used. The comparison circuit 28 compares the number of the vector register basic unit in use with the number of the vector register basic unit to be used, and if there is a match, sends a command transmission wait signal to the command transmission control section. . If a conflict check of a vector register basic unit set is to be executed by hardware, a hardware configuration as shown in FIG. 7 is required, but according to the present invention, such a hardware configuration is not necessary. .

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

以上の説明から明らかなように、本発明によれ
ば、ベクトル長設定値およびベクトル命令のベク
トル・レジスタ指定部の値によつてベクトル命令
のベクトル・レジスタ指定部に割当てられるベク
トル・レジスタ基本単位集合が定まるようになつ
たベクトル処理装置において、大規模なハードウ
エアをもつことなく、ベクトル命令列を効果的に
且つ論理矛盾なく実行することが出来る。
As is clear from the above description, according to the present invention, the vector register basic unit set is assigned to the vector register specification part of the vector instruction according to the vector length setting value and the value of the vector register specification part of the vector instruction. In a vector processing device that has become well-defined, vector instruction sequences can be executed effectively and without logical contradictions without requiring large-scale hardware.

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

第1図はベクトル処理装置の概要を示す図、第
2図はベクトル・レジスタの構成を示す図、第3
図はベクトル命令で指定されるベクトル番号と実
際にデータが記憶されるデータ域とベクトル長の
3者の関係を示す図、第4図は演算部3−1の概
要を示す図、第5図は本発明による命令制御部の
1実施例のブロツク図、第6図は実行管理部のベ
クトル長設定命令実行制御部分の1実施例のブロ
ツク図、第7図はベクトル・レジスタ基本単位集
合のコンフリクト・チエツクをハードウエアで行
う場合の構成の1例を示す図である。 1…主記憶、2−1と2−2…ロード・ストア
処理部、3−1と3−2…演算部、4…命令制御
部、5…ベクトル・レジスタ、6ないし11…レ
ジスタ、12−1と12−2…演算器、13…実
行制御部、14…−1減算器、15ないし17…
レジスタ、18…ベクトル長設定レジスタ、19
…ベクトル長セツト回路、20…命令発信制御
部、21…実行管理部、22…デコーダ、23…
比較回路、24…フリツプ・フロツプ、25…
AND回路、26…OR回路、27と28…比較回
路、29−1ないし29−m…使用VR検出回
路。
Figure 1 shows an overview of the vector processing device, Figure 2 shows the configuration of the vector register, and Figure 3 shows the configuration of the vector register.
The figure shows the relationship between the vector number specified by a vector command, the data area where data is actually stored, and the vector length. Figure 4 shows an overview of the calculation unit 3-1. Figure 5 6 is a block diagram of an embodiment of the instruction control section according to the present invention, FIG. 6 is a block diagram of an embodiment of the vector length setting instruction execution control section of the execution management section, and FIG. 7 is a block diagram of a vector register basic unit set conflict diagram. - It is a diagram showing an example of a configuration when checking is performed by hardware. 1...Main memory, 2-1 and 2-2...Load/store processing unit, 3-1 and 3-2...Arithmetic unit, 4...Instruction control unit, 5...Vector register, 6 to 11...Register, 12- 1 and 12-2... arithmetic unit, 13... execution control unit, 14...-1 subtractor, 15 to 17...
Register, 18...Vector length setting register, 19
...vector length set circuit, 20...command transmission control unit, 21...execution management unit, 22...decoder, 23...
Comparison circuit, 24...Flip-flop, 25...
AND circuit, 26...OR circuit, 27 and 28...comparison circuit, 29-1 to 29-m...VR detection circuit used.

Claims (1)

【特許請求の範囲】[Claims] 1 複数のベクトル・レジスタ基本単位を有する
ベクトル・レジスタを具備し、ベクトル長設定値
の大きさとベクトル命令のベクトル・レジスタ指
定部の値とによつて当該ベクトル・レジスタ指定
部に割当てられるベクトル・レジスタ基本単位集
合が定まるように構成されたベクトル処理装置に
おいて、ベクトル長設定値を直ちに変更すべきこ
とを指定する第1のベクトル長変更命令と、それ
以前のベクトル命令が完了した後にベクトル長設
定値を変更すべきことを指定する第2のベクトル
長変更命令を準備し、第1のベクトル長変更命令
がデコードされたときには直ちにベクトル長設定
値の変更を行い、第2のベクトル長変更命令がデ
コードされたときには、当該命令より前のベクト
ル命令の実行が完了した後にベクトル長設定値の
変更を行うことを特徴とするベクトル処理装置の
制御方式。
1. A vector register that is equipped with a vector register that has a plurality of vector register basic units and that is assigned to the vector register specification section according to the size of the vector length setting value and the value of the vector register specification section of the vector instruction. In a vector processing device configured to determine a basic unit set, a first vector length change instruction that specifies that the vector length setting value should be changed immediately, and a vector length setting value after the previous vector instruction is completed. A second vector length change instruction that specifies that the vector length change instruction should be changed is prepared, and when the first vector length change instruction is decoded, the vector length setting value is changed immediately, and the second vector length change instruction is decoded. 1. A control method for a vector processing device, characterized in that when a vector instruction is executed, a vector length setting value is changed after execution of a vector instruction preceding the instruction is completed.
JP17728182A 1982-10-08 1982-10-08 Control system of vector processor Granted JPS5971577A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17728182A JPS5971577A (en) 1982-10-08 1982-10-08 Control system of vector processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17728182A JPS5971577A (en) 1982-10-08 1982-10-08 Control system of vector processor

Publications (2)

Publication Number Publication Date
JPS5971577A JPS5971577A (en) 1984-04-23
JPH024025B2 true JPH024025B2 (en) 1990-01-25

Family

ID=16028291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17728182A Granted JPS5971577A (en) 1982-10-08 1982-10-08 Control system of vector processor

Country Status (1)

Country Link
JP (1) JPS5971577A (en)

Also Published As

Publication number Publication date
JPS5971577A (en) 1984-04-23

Similar Documents

Publication Publication Date Title
US4779192A (en) Vector processor with a synchronously controlled operand fetch circuits
EP0114304B1 (en) Vector processing hardware assist and method
EP0208870B1 (en) Vector data processor
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
KR0133238B1 (en) Computer processing system and instruction execution method
US5299321A (en) Parallel processing device to operate with parallel execute instructions
US3593306A (en) Apparatus for reducing memory fetches in program loops
US6272596B1 (en) Data processor
US3943494A (en) Distributed execution processor
JPS6161436B2 (en)
CA1315006C (en) Multiprocessor control system
JPH0248931B2 (en)
JPS623461B2 (en)
US4575796A (en) Information processing unit
EP0240606A2 (en) Pipe-line processing system and microprocessor using the system
US5276853A (en) Cache system
KR910001708B1 (en) Central processing unit
US5875323A (en) Processor using implicit register addressing
JPS6161416B2 (en)
JPH02126321A (en) Decoder for instruction code
JP2861560B2 (en) Data processing device
JPS6055911B2 (en) main storage
JP3182796B2 (en) Central processing unit
JPS6116112B2 (en)
JPH07325805A (en) Vector processor