JPS6161416B2 - - Google Patents
Info
- Publication number
- JPS6161416B2 JPS6161416B2 JP56091696A JP9169681A JPS6161416B2 JP S6161416 B2 JPS6161416 B2 JP S6161416B2 JP 56091696 A JP56091696 A JP 56091696A JP 9169681 A JP9169681 A JP 9169681A JP S6161416 B2 JPS6161416 B2 JP S6161416B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- vector
- executing
- waiting
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
Description
本発明は、ベクトル処理装置において先行する
ベクトル命令の結果オプランドを後続するベクト
ル命令が入力オペランドとして使用する場合にお
ける後続命令の発信タイミグを合理的に検出する
ようにした命令制御方式に関するものである。
第1図はベクトル処理装置の概要を示すもので
あつて、VUはベクトル処理装置、1は主記憶装
置、2は主記憶制御装置、3はメモリ・アクセス
処理部、4はベクトル・レジスタ、5は命令制御
部、6は演算処理部、7はロード処理部、8はス
トア処理部、9は加算器、10は乗算器をそれぞ
れ示している。主記憶制御装置2は、主記憶装置
1とベクトル処理装置VUとの間のデータ転送を
制御するものである。メモリ・アクセス処理部3
は、ロード処理部7とストア処理部8とを有して
いる。ロード処理部7はロード要求を発信し、そ
して主記憶制御装置2から送られて来たベクト
ル・データをベクトル・レジスタ4に格納するも
のである。ストア処理部8は、ストア要求を発信
し、そしてベクトル・レジスタ4内のベクトル・
データを主記憶制御装置2へ転送するものであ
る。ベクトル・レジスタ4は1個しか図示されて
いないが、実際には複数のベクトル・レジスタが
存在しており、各ベクトル・レジスタは複数のエ
レメントを記憶することが出来る。命令制御部5
は、メモリ・アクセス処理部3、ベクトル・レジ
スタ4および演算処理部6を制御する。演算処理
部6は、加算器9および乗算器10を有してお
り、これらの加算器9および乗算器10はパイプ
ライン構造のものである。ロード処理部7とスト
ア処理部8も同様である。
ベクトル処理装置VUは、複数のエレメントを
有する第2オペランドA=a0,a1,……ai…ao-
1と複数のエレメントを有する第3オペランドB
=b0,b1……bi……bo-1との間で対応するエレ
メント同志に演算を施し、結果の第1オペランド
C=c0,c1,……Ci……co-1を得るものであ
る。例えば、C=A+Bの演算を行う場合には、
Ci=ai+biとなる。これに対して、エレメント
が1個に限定された従来の汎用処理装置をスカラ
ー処理装置と称する。
ベクトル命令は、命令コード、第1オペランド
指定部、第2オペランド指定部および第3オペラ
ンド指定部を有している。例えば、VM1,2,
3は、ベクトル・レジスタ2とベクトル・レジス
タ3の内容を乗算し、ベクトル・レジスタ1に結
果を入れるベクトル乗算命令である。また、VA
4,5,1は、ベクトル・レジスタ5とベクト
ル・レジスタ1の内容を加算し、結果をベクト
ル・レジスタ4に入れるベクトル加算命令であ
る。
ベクトル命令を処理する場合、処理を高速に行
うために、ロード処理部7、ストア処理部8、加
算器9、乗算器10などをパイプライン構造に
し、先行のエレメントの演算処理が完了する前に
後続のエレメントを投入するようになつている。
第2図はベクトル加算処理を示すものであつて、
ベクトル加算処理は、
データの読出し(READ)
両オペランドの指数比較(COMPARE)
指数合わせるためのシフト(PRE−
SHIFT)
加算
演算後正規化のためのシフト(POST−
SHIFT)
データの書込み(WRITE)
の6段階のパイプライン処理になる。命令処理
は、第2図に示すように平行四辺形で表わす。
ところで、従来のベクトル処理装置は、演算処
理を効率的に行い得ないという欠点を有してい
る。例えば、
VM1,2,3
VA4.5,1
というベクトル命令列があるとき、のベクトル
命令の結果データをのベクトル命令の入力デー
タとして使用する。したがつて、のベクトル命
令の結果が出てからの命令の発信を行わなけれ
ばならない。
さて、従来のスカラー処理装置では、1命令毎
に処理をしていた。エレメントが1個のスカラー
命令では、
M1,2,3
A4,5,1
という乗算命令と加算命令を実行するとき、第3
図に示すように、の命令が完了してからの命
令を実行する。なお、第3図において、IFは命
令フエツチ、Dは命令デコード、Aはアドレス計
算、OFはオペランド・フエツチ、Eは実行の各
フエーズをそれぞれ示している。
第4図はスカラー処理装置と同様にベクトル処
理装置を制御した場合の命令処理を示すものであ
る。なお、第4図において、IFは命令フエツ
チ、Dは命令デコード、Qは待合せ、Eは命令の
実行のフエーズをそれぞれ示している。第4図に
示すように、従来方式においては、のベクトル
命令はのベクトル命令が完了してから実行され
ているが、このような従来方式では、ベクトル処
理装置の資源を効率的に使用することが出来な
い。
本発明は、上記の考察に基づくものであつて、
ベクトル処理装置の資源を効率的に使用できると
共に、ベクトル命令列を高速で処理できるように
した命令制御方式を提供することを目的としてい
る。そしてそのため、本発明の命令制御方式は、
複数のベクトル・レジスタ、ベクトル命令で指定
されたベクトル・データを処理する複数の演算処
理部、実行中のベクトル命令の命令情報を保持す
る実行中命令レジスタを持つ複数の実行中命令管
理部、演算実行前の命令情報を保持する待合せレ
ジスタ、上記待合せレジスタの命令情報に対応す
る演算処理部が空きでない場合もしくは空きの実
行中命令管理が存在しない場合には上記待合せレ
ジスタに保持されている命令の発信を行わないよ
うに構成された命令発信制御回路を有するベクト
ル処理装置において、上記実行中命令管理部のそ
れぞれに命令実行開始から当該命令の種類によつ
て定まる時間経過後にライト・フラグを所定値と
するライト・フラグ作成手段を設けると共に、上
記命令発信制御回路に上記複数の実行中命令管理
部のそれぞれと対応したレジスタ干渉チエツク回
路を設け、上記各レジスタ干渉チエツク回路は、
上記待合せレジスタの命令情報と対応する実行中
命令管理部の実行中命令レジスタに保持されてい
る命令情報とを比較して、実行中命令レジスタ内
の命令の第1オペランド・レジスタ番号と待合せ
レジスタ内の命令の第2オペランド・レジスタ番
号とが等しい場合又は実行中命令レジスタ内の第
1オペランド・レジスタ番号と待合せレジスタ内
の第3オペランド・レジスタ番号とが等しい場合
には、対応する実行中命令管理部のライト・フラ
グが所定値になるまで、命令発信待ち信号を命令
発信待ちを示す値に保持することを特徴とするも
のである。以下、本発明を図面を参照しつつ説明
する。
第5図は本発明の命令制御装置の1実施例のブ
ロツク図、第6図は命令発信制御回路内のレジス
タ干渉チエツク回路の1実施例のブロツク図、第
7図は本発明による命令処理のタイミングを説明
する図である。
第5図において、11は命令フエツチ・レジス
タ、12はデコーダ、13は待合せレジスタ、1
4は命令発信制御回路、15−1と15−2は実
行中命令管理部、16−1と16−2は実行中命
令レジスタ、17−1と17−2は計数回路、1
8−1と18−2はライト・フラグ、19と20
は一致回路、21と22はAND回路、23は
NAND回路、24はOR回路をそれぞれ示してい
る。
第5図において、フエツチされたベクトル命令
は命令フエツチ・レジスタ11にセツトされる。
命令レジスタ11のベクトル命令はデコーダ12
によつてデコードされる。デコードされた命令情
報は待合せレジスタ13にセツトされる。命令発
信制御回路14は、待合せレジスタ13および実
行中命令管理部15−1,15−2からの情報を
読取り、命令発信可能な場合には命令発信しよう
としている演算処理部と空きの実行中命令管理部
とを対応付け、その演算処理部に起動情報を送出
すると共に、対応付けられた実行中命令管理部に
待合せレジスタ13内の命令情報を送る。実行中
命令管理部15−1は、実行中命令レジスタ16
−1、計数回路17−1およびライト・フラグ1
8−1を有している。実行中命令レジスタ16−
1には、対応する演算処理部が実行されている命
令の命令情報がセツトされる。計数回路17−1
は、実行中命令レジスタ16に命令情報がセツト
された時に時間計数を開始し、その命令情報で定
まる時間を計数した時にライト・フラグ18−1
をセツトする。加算を実行する演算処理部の段数
を10、除算を実行する演算処理部のパイプライ
ン段数を20であると仮定すると、加算命令なら
命令実行開始から10サイクル後に、除算命令なら
命令実行開始から20サイクル後にライト・フラグ
18−1はセツトされる。即ち、ライト・フラグ
は、命令実行開始からパイプライン処理による演
算処理を行つて先頭の結果エレメントがベクト
ル・レジスタに書き込まれた時に“1”にされ
る。実行中命令管理部15−2も同様な構成を有
している。
命令発信制御回路14は、
(イ) 命令を発信しようとしている演算処理部が空
いているか。
(ロ) 実行中命令管理部が空いているか。
(ハ) レジスタ干渉がないか。
(ニ) ライト・フラグが上つているか。
などをチエツクして命令の実行を開始する。命令
を発信しようとしている演算処理部が空いていな
い場合又は空きの実行中命令管理部が存在しない
場合には、命令発信制御回路14は命令発信を行
わない。また、命令を発信しようとしている演算
処理部が空いており且つ空きの実行中命令管理部
が存在していてもレジスタ干渉がある場合には、
直ちに命令発信を行わず、ライト・フラグが上つ
た後に命令発信を行う。
第6図は命令発信制御回路14内に存在するレ
ジスタ干渉チエツク回路の1実施例を示すもので
ある。なお、第6図において、E1WRITE
FLAGとはライト・フラグ18−1のことであ
り、E1命令第1オペランド・レジスタ番号とは
実行中命令レジスタ16−1の中に記憶されてい
るものであり、Q命令第2オペランド・レジスタ
番号およびQ命令第3オペランド・レジスタ番号
は待合せレジスタ13に含まれているものであ
る。
第6図において、E1命令第1オペランド・レ
ジスタ番号とQ命令第2オペランド・レジスタ番
号が不一致であり且つE1命令第1オペランド・
レジスタ番号とQ命令第3オペランド・レジスタ
番号とが不一致である場合には、命令発信待ち信
号が論理「0」となり、他の条件を満しておれ
ば、命令発信が行われる。E1命令第1オペラン
ド・レジスタ番号とQ命令第2オペランド・レジ
スタ番号とが一致している場合又はE1命令第1
オペランド・レジスタ番号とQ命令第3オペラン
ド・レジスタ番号が一致している場合には、
E1WRITE FLAGが「1」となると、命令発信
待ち信号がオフされ、命令発信が可能となる。な
お、第6図の如きレジスタ干渉チエツク回路は、
実際にはE2用としてもう1組存在する。
第7図は本発明によるベクトル命令処理の1例
を示すものである。第7図は
VM1,2,3
VA4,5,1
というベクトル命令列を処理する場合を示してお
り、このベクトル乗算命令VMは第iエレメント
の読込みから第i結果エレメントの書込みまでに
6段階を要するものとしている。
ベクトル命令が実行中命令レジスタ16−1
にセツトされると、計数回路17−1が時間計数
を開始し、計数値が所定値(この場合は“6”)
になると、ライト・フラグ18−1が論理「1」
となる。ライト・フラグ18−1が「1」となる
と、待合せレジスタ13にセツトされているベク
トル命令が命令発信制御回路14によつて実行
中レジスタ16−2にセツトされ、ベクトル命令
の実行が開始される。
以上の説明から明らかなように、本発明によれ
ば、ベクトル処理装置の資源を効率的に使用し、
ベクトル命令列を高速で処理することが出来る。
The present invention relates to an instruction control method for rationally detecting the timing of issuing a subsequent instruction in a vector processing device when the subsequent vector instruction uses the resultant operand of the preceding vector instruction as an input operand. FIG. 1 shows an overview of a vector processing device, in which VU is a vector processing device, 1 is a main memory, 2 is a main memory control device, 3 is a memory access processing unit, 4 is a vector register, 5 is a Reference numeral denotes an instruction control section, 6 an arithmetic processing section, 7 a load processing section, 8 a store processing section, 9 an adder, and 10 a multiplier, respectively. The main storage control device 2 controls data transfer between the main storage device 1 and the vector processing device VU. Memory access processing unit 3
has a load processing section 7 and a store processing section 8. The load processing section 7 issues a load request and stores vector data sent from the main memory control device 2 in the vector register 4. The store processing unit 8 issues a store request and stores the vector in the vector register 4.
This is to transfer data to the main memory control device 2. Although only one vector register 4 is shown, in reality there are multiple vector registers, and each vector register can store multiple elements. Command control unit 5
controls the memory access processing section 3, vector register 4, and arithmetic processing section 6. The arithmetic processing unit 6 has an adder 9 and a multiplier 10, and the adder 9 and the multiplier 10 have a pipeline structure. The same applies to the load processing section 7 and the store processing section 8. The vector processing unit VU processes a second operand A=a 0 , a 1 , ...a i ...a o- having a plurality of elements.
1 and a third operand B with multiple elements
= b 0 , b 1 ... b i ... b o-1 , and the corresponding elements are operated on, and the first operand of the result C = c 0 , c 1 , ... C i ... c o -1 . For example, when performing the calculation C=A+B,
C i =a i +b i . On the other hand, a conventional general-purpose processing device in which the number of elements is limited to one is called a scalar processing device. A vector instruction has an instruction code, a first operand specification section, a second operand specification section, and a third operand specification section. For example, VM1, 2,
3 is a vector multiplication instruction that multiplies the contents of vector register 2 and vector register 3 and stores the result in vector register 1. Also, V.A.
4, 5, 1 is a vector addition instruction that adds the contents of vector register 5 and vector register 1 and stores the result in vector register 4. When processing vector instructions, in order to perform the processing at high speed, the load processing unit 7, store processing unit 8, adder 9, multiplier 10, etc. are arranged in a pipeline structure, and the processing is performed before the arithmetic processing of the preceding element is completed. It is designed to insert subsequent elements.
Figure 2 shows the vector addition process,
Vector addition processing consists of reading data (READ), comparing the exponents of both operands (COMPARE), and shifting to match the exponents (PRE−).
SHIFT) Addition Shift for normalization after operation (POST−
SHIFT) Data writing (WRITE) is a 6-step pipeline process. Instruction processing is represented by a parallelogram as shown in FIG. However, conventional vector processing devices have the disadvantage that they cannot perform arithmetic processing efficiently. For example, when there is a vector instruction sequence VM1,2,3 VA4.5,1, the result data of the vector instruction is used as the input data of the vector instruction. Therefore, the command must be issued after the result of the vector command is obtained. Now, in the conventional scalar processing device, processing was performed for each instruction. In a scalar instruction with one element, when executing the multiplication and addition instructions M1, 2, 3 A4, 5, 1, the third
As shown in the figure, the instruction after the instruction is completed is executed. In FIG. 3, IF represents an instruction fetch, D represents an instruction decode, A represents an address calculation, OF represents an operand fetch, and E represents each phase of execution. FIG. 4 shows command processing when a vector processing device is controlled in the same way as a scalar processing device. In FIG. 4, IF represents an instruction fetch, D represents an instruction decode, Q represents a waiting phase, and E represents an instruction execution phase. As shown in Fig. 4, in the conventional method, the vector instruction is executed after the vector instruction in I can't. The present invention is based on the above considerations, and includes:
It is an object of the present invention to provide an instruction control method that makes it possible to efficiently use the resources of a vector processing device and to process vector instruction sequences at high speed. Therefore, the command control method of the present invention is
Multiple vector registers, multiple arithmetic processing units that process vector data specified by vector instructions, multiple executing instruction management units that have an executing instruction register that holds instruction information of the vector instruction that is being executed, and arithmetic operations. A waiting register that holds instruction information before execution, if the arithmetic processing unit corresponding to the instruction information in the above waiting register is not free, or if there is no free executing instruction management, the instruction held in the above waiting register is In a vector processing device having a command transmission control circuit configured not to transmit a command, each of the executing command management units sets the write flag to a predetermined value after a time period determined by the type of the command has elapsed from the start of command execution. A write flag generating means is provided, and a register interference check circuit corresponding to each of the plurality of executing instruction management units is provided in the instruction transmission control circuit, and each of the register interference check circuits is configured to:
The instruction information in the above waiting register is compared with the instruction information held in the executing instruction register of the corresponding executing instruction management section, and the first operand register number of the instruction in the executing instruction register is compared with the instruction information in the waiting register. If the second operand register numbers of the instructions are equal, or if the first operand register number in the executing instruction register and the third operand register number in the waiting register are equal, the corresponding executing instruction management This is characterized in that the command transmission wait signal is held at a value indicating the command transmission wait state until the write flag of the section reaches a predetermined value. Hereinafter, the present invention will be explained with reference to the drawings. FIG. 5 is a block diagram of one embodiment of the instruction control device of the present invention, FIG. 6 is a block diagram of one embodiment of the register interference check circuit in the instruction transmission control circuit, and FIG. 7 is a block diagram of one embodiment of the instruction processing according to the present invention. It is a figure explaining timing. In FIG. 5, 11 is an instruction fetch register, 12 is a decoder, 13 is a waiting register, 1
4 is an instruction transmission control circuit, 15-1 and 15-2 are executing instruction management units, 16-1 and 16-2 are executing instruction registers, 17-1 and 17-2 are counting circuits, 1
8-1 and 18-2 are write flags, 19 and 20
is a matching circuit, 21 and 22 are AND circuits, and 23 is a matching circuit.
A NAND circuit and 24 indicate an OR circuit, respectively. In FIG. 5, the fetched vector instruction is set in instruction fetch register 11.
The vector instruction in the instruction register 11 is sent to the decoder 12.
decoded by The decoded instruction information is set in the waiting register 13. The instruction transmission control circuit 14 reads information from the waiting register 13 and the executing instruction management units 15-1 and 15-2, and if the instruction can be issued, selects the arithmetic processing unit to which the instruction is to be issued and the vacant executing instruction. It associates it with the management section and sends startup information to the arithmetic processing section, and also sends instruction information in the queue register 13 to the associated executing instruction management section. The executing instruction management unit 15-1 stores the executing instruction register 16.
-1, counting circuit 17-1 and write flag 1
8-1. Executing instruction register 16-
1 is set with instruction information of the instruction being executed by the corresponding arithmetic processing unit. Counting circuit 17-1
starts time counting when instruction information is set in the executing instruction register 16, and when the time determined by the instruction information is counted, the write flag 18-1 is set.
Set. Assuming that the number of stages of the arithmetic processing unit that executes addition is 10 and the number of pipeline stages of the arithmetic processing unit that executes division is 20, an addition instruction will be executed 10 cycles after the start of instruction execution, and a division instruction will be executed 20 cycles after the start of instruction execution. After the cycle, write flag 18-1 is set. That is, the write flag is set to "1" when the first result element is written to the vector register after performing arithmetic processing by pipeline processing from the start of instruction execution. The executing command management unit 15-2 also has a similar configuration. The command transmission control circuit 14 determines whether (a) the arithmetic processing unit to which the command is to be transmitted is vacant; (b) Is the executing command management section vacant? (c) Is there any register interference? (d) Is the light flag raised? etc. and start executing the command. If the arithmetic processing unit to which the command is to be issued is not vacant or if there is no vacant executing command management unit, the command transmission control circuit 14 does not transmit the command. In addition, even if the arithmetic processing unit to which the instruction is to be issued is vacant and there is a vacant executing instruction management unit, if there is register interference,
The command is not issued immediately, but after the write flag goes up. FIG. 6 shows one embodiment of a register interference check circuit existing in the instruction generation control circuit 14. In addition, in Figure 6, E1WRITE
FLAG is the write flag 18-1, the E1 instruction first operand register number is stored in the executing instruction register 16-1, and the Q instruction second operand register number and Q instruction third operand register number is included in the queue register 13. In FIG. 6, the E1 instruction first operand register number and the Q instruction second operand register number do not match, and the E1 instruction first operand register number does not match the E1 instruction first operand register number.
If the register number and the third operand register number of the Q instruction do not match, the command transmission wait signal becomes logic "0", and if other conditions are met, the command is transmitted. If the E1 instruction first operand register number and the Q instruction second operand register number match, or if the E1 instruction first
If the operand register number and the Q instruction third operand register number match,
When E1WRITE FLAG becomes "1", the command transmission wait signal is turned off and command transmission becomes possible. Note that the register interference check circuit as shown in FIG.
There is actually another set for E2. FIG. 7 shows an example of vector instruction processing according to the present invention. Figure 7 shows the case of processing a vector instruction sequence VM1, 2, 3 VA4, 5, 1, and this vector multiplication instruction VM goes through six steps from reading the i-th element to writing the i-th result element. It is considered necessary. Vector instruction being executed instruction register 16-1
When set to , the counting circuit 17-1 starts counting time, and the counted value reaches a predetermined value (“6” in this case).
, the write flag 18-1 becomes logic “1”.
becomes. When the write flag 18-1 becomes "1", the vector instruction set in the waiting register 13 is set in the execution register 16-2 by the instruction transmission control circuit 14, and execution of the vector instruction is started. . As is clear from the above description, according to the present invention, resources of a vector processing device can be used efficiently,
Vector instruction sequences can be processed at high speed.
第1図はベクトル処理装置の概要を示す図、第
2図はベクトル加算処理を説明する図、第3図は
スカラー処理装置における命令列の処理タイミン
グを示す図、第4図は従来のベクトル命令処理の
タイミングを示す図、第5図は本発明の命令制御
装置の1実施例のブロツク図、第6図は命令発信
制御回路内のレジスタ干渉チエツチ回路の1実施
例のブロツク図、第7図はベクトル命令処理の1
例を示す図である。
VU……ベクトル処理装置、1……主記憶装
置、2……主記憶制御装置、3……メモリ・アク
セス処理部、4……ベクトル・レジスタ、5……
命令制御部、6……演算処理部、7……ロード処
理部、8……ストア処理部、9……加算器、10
……乗算器、11……命令フエツチ・レジスタ、
12……デコーダ、13……待合せレジスタ、1
4……命令発信制御回路、15−1と15−2…
…実行中命令管理部、16−1と16−2……実
行中命令レジスタ、17−1と17−2……計数
回路、18−1と18−2……ライト・フラグ、
19と20……一致回路、21と22……AND
回路、23……NAND回路、24……OR回路。
Fig. 1 is a diagram showing an overview of a vector processing device, Fig. 2 is a diagram explaining vector addition processing, Fig. 3 is a diagram showing processing timing of an instruction sequence in a scalar processing device, and Fig. 4 is a diagram showing conventional vector instructions. 5 is a block diagram of an embodiment of the instruction control device of the present invention, FIG. 6 is a block diagram of an embodiment of the register interference check circuit in the instruction transmission control circuit, and FIG. 7 is a diagram showing the timing of processing. is vector instruction processing 1
It is a figure which shows an example. VU...Vector processing unit, 1...Main memory, 2...Main memory control unit, 3...Memory access processing unit, 4...Vector register, 5...
Instruction control unit, 6... Arithmetic processing unit, 7... Load processing unit, 8... Store processing unit, 9... Adder, 10
... Multiplier, 11 ... Instruction fetch register,
12...Decoder, 13...Waiting register, 1
4... Command generation control circuit, 15-1 and 15-2...
...Executing instruction management unit, 16-1 and 16-2...Executing instruction register, 17-1 and 17-2...Counting circuit, 18-1 and 18-2...Write flag,
19 and 20...matching circuit, 21 and 22...AND
Circuit, 23...NAND circuit, 24...OR circuit.
Claims (1)
指定されたベクトル・データを処理する複数の演
算処理部、実行中のベクトル命令の命令情報を保
持する実行中命令レジスタを持つ複数の実行中命
令管理部、演算実行前の命令情報を保持する待合
せレジスタ、上記待合せレジスタの命令情報に対
応する演算処理部が空きでない場合もしくは空き
の実行中命令管理部が存在しない場合には上記待
合せレジスタに保持されている命令の発信を行わ
ないように構成された命令発信制御回路を有する
ベクトル処理装置において、上記実行中命令管理
部のそれぞれに命令実行開始から当該命令の種類
によつて定まる時間経過後にライト・フラグを所
定値とするライト・フラグ作成手段を設けると共
に、上記命令発信制御回路に上記複数の実行中命
令管理部のそれぞれと対応したレジスタ干渉チエ
ツク回路を設け、上記各レジスタ干渉チエツク回
路は、上記待合せレジスタの命令情報と対応する
実行中命令管理部の実行中命令レジスタに保持さ
れている命令情報とを比較して、実行中命令レジ
スタ内の命令の第1オペランド・レジスタ番号と
待合せレジスタ内の命令の第2オペランド・レジ
スタ番号とが等しい場合又は実行中命令レジスタ
内の第1オペランド・レジスタ番号と待合せレジ
スタ内の第3オペランド・レジスタ番号とが等し
い場合には、対応する実行中命令管理部のライ
ト・フラグが所定値になるまで、命令発信待ち信
号を命令発信待ちを示す値に保持することを特徴
とする命令制御方式。1. A plurality of vector registers, a plurality of arithmetic processing units that process vector data specified by a vector instruction, and a plurality of executing instruction management units that have an executing instruction register that holds instruction information of the vector instruction that is being executed; A waiting register that holds instruction information before execution of an operation; if the arithmetic processing unit corresponding to the instruction information in the waiting register is not free, or if there is no empty executing instruction management unit, the waiting register holds the instruction information. In a vector processing device having an instruction generation control circuit configured not to issue instructions, a write flag is set in each of the executing instruction management sections after a time period determined by the type of instruction has elapsed from the start of instruction execution. In addition to providing a write flag generating means for setting a predetermined value, the instruction transmission control circuit is provided with a register interference check circuit corresponding to each of the plurality of executing instruction management units, and each of the register interference check circuits is connected to the queue register. The instruction information held in the executing instruction register of the corresponding executing instruction management unit is compared, and the first operand register number of the instruction in the executing instruction register and the instruction in the waiting register are determined. If the second operand register numbers are equal, or if the first operand register number in the executing instruction register and the third operand register number in the waiting register are equal, write the corresponding executing instruction management section. - An instruction control method characterized in that a command transmission wait signal is held at a value indicating waiting for command transmission until the flag reaches a predetermined value.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56091696A JPS57206982A (en) | 1981-06-15 | 1981-06-15 | Instruction controlling system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56091696A JPS57206982A (en) | 1981-06-15 | 1981-06-15 | Instruction controlling system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS57206982A JPS57206982A (en) | 1982-12-18 |
| JPS6161416B2 true JPS6161416B2 (en) | 1986-12-25 |
Family
ID=14033673
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56091696A Granted JPS57206982A (en) | 1981-06-15 | 1981-06-15 | Instruction controlling system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS57206982A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60122511U (en) * | 1984-01-26 | 1985-08-19 | 小松ゼノア株式会社 | Engine starting pressure reducing device |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60178580A (en) * | 1984-02-24 | 1985-09-12 | Fujitsu Ltd | Command control method |
| JPS61188628A (en) * | 1985-02-16 | 1986-08-22 | Nec Corp | Instruction processing and controller system in information processor |
| JPH06103493B2 (en) * | 1986-08-30 | 1994-12-14 | 日本電気株式会社 | Information processing equipment |
| JPH06103495B2 (en) * | 1987-02-12 | 1994-12-14 | 日本電気株式会社 | Information processing equipment |
| JP3080740B2 (en) * | 1991-12-04 | 2000-08-28 | 甲府日本電気株式会社 | Instruction issue control unit |
| JP2009054032A (en) * | 2007-08-28 | 2009-03-12 | Toshiba Corp | Parallel processor |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS51854A (en) * | 1974-06-21 | 1976-01-07 | Hitachi Ltd | Deijitarukeisankino senkoseigyohoshiki |
| JPS5744173B2 (en) * | 1975-02-27 | 1982-09-20 |
-
1981
- 1981-06-15 JP JP56091696A patent/JPS57206982A/en active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60122511U (en) * | 1984-01-26 | 1985-08-19 | 小松ゼノア株式会社 | Engine starting pressure reducing device |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS57206982A (en) | 1982-12-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2701179B2 (en) | Data processing system | |
| EP0328721A2 (en) | Dynamic multiple instruction stream multiple data multiple pipeline floatingpoint unit | |
| JPS6161436B2 (en) | ||
| JPH0766329B2 (en) | Information processing equipment | |
| WO1994003860A1 (en) | Massively parallel computer including auxiliary vector processor | |
| JPH03116233A (en) | System and method for processing instruc- tion of data processor | |
| JPH0622035B2 (en) | Vector processor | |
| US5029073A (en) | Method for fast establishing a co-processor to memory linkage by main processor | |
| US5119324A (en) | Apparatus and method for performing arithmetic functions in a computer system | |
| US5053986A (en) | Circuit for preservation of sign information in operations for comparison of the absolute value of operands | |
| JP2653037B2 (en) | Data processing system | |
| US5420989A (en) | Coprocessor interface supporting I/O or memory mapped communications | |
| JP3510729B2 (en) | Instruction execution method and instruction execution device | |
| JPS6142308B2 (en) | ||
| JPS6161416B2 (en) | ||
| JPS62115542A (en) | Information processor | |
| JPS60178580A (en) | Command control method | |
| JP2001117886A (en) | Processor and processor system | |
| EP0573071A2 (en) | A microprocessor | |
| JPS61110238A (en) | Microprogram type parallel processor | |
| JPS5828609B2 (en) | Tokushiyumei Reishiori Sochi | |
| JPS6116112B2 (en) | ||
| JPS6134188B2 (en) | ||
| JPH0222413B2 (en) | ||
| JPH03257665A (en) | Information processor |