JPS6116113B2 - - Google Patents

Info

Publication number
JPS6116113B2
JPS6116113B2 JP8611180A JP8611180A JPS6116113B2 JP S6116113 B2 JPS6116113 B2 JP S6116113B2 JP 8611180 A JP8611180 A JP 8611180A JP 8611180 A JP8611180 A JP 8611180A JP S6116113 B2 JPS6116113 B2 JP S6116113B2
Authority
JP
Japan
Prior art keywords
instruction
stage
arithmetic
register
processing
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
JP8611180A
Other languages
Japanese (ja)
Other versions
JPS5710873A (en
Inventor
Shigeaki Okuya
Tetsuo Okamoto
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 JP8611180A priority Critical patent/JPS5710873A/en
Publication of JPS5710873A publication Critical patent/JPS5710873A/en
Publication of JPS6116113B2 publication Critical patent/JPS6116113B2/ja
Granted legal-status Critical Current

Links

Classifications

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

Description

【発明の詳細な説明】 本発明は例えば複数の第1オペランドと複数の
第2オペランドの対応するオペランド同志を演算
するベクトル演算処理装置における命令制御装置
に関し、特に命令制御装置の命令パイプラインに
おいて演算処理部や記憶制御部を管理する演算制
御管理部分を複数段にするとともに、後段の演算
処理管理部分に対する命令情報をタイミングよく
転送することによりデータ処理を効率よく行なう
ようにした命令制御装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an instruction control device in a vector arithmetic processing device that operates on corresponding operands, for example, a plurality of first operands and a plurality of second operands, and particularly relates to an instruction control device in a vector arithmetic processing device that operates on corresponding operands of a plurality of first operands and a plurality of second operands. This relates to an instruction control device that efficiently performs data processing by having multiple stages of arithmetic control management sections that manage processing units and storage control sections, and transferring instruction information to subsequent arithmetic processing management sections in a timely manner. It is.

汎用計算機では、1エレメントのデータをメモ
リ上から中央処理装置内のレジスタへロードした
り、また、レジスタ上の1エレメントよりなる第
2入力オペランドと、1エレメントよりなる第3
入力オペランドとの間に演算を施し、1エレメン
トよりなる結果オペランドを得る。そしてこのよ
うな制御を行なう命令は、スカラ命令といわれる
1命令で単数のエレメント処理を行なう命令であ
る。
In a general-purpose computer, one element of data is loaded from memory to a register in the central processing unit, and a second input operand consisting of one element on the register and a third input operand consisting of one element are loaded.
An operation is performed on the input operand to obtain a result operand consisting of one element. An instruction that performs such control is an instruction called a scalar instruction that processes a single element with one instruction.

しかしながらベクトル演算装置では、1命令に
より複数のエレメントを処理するベクトル命令に
より制御されるものである。例えばロード命令で
は、第1図に示す如く、主記憶装置1上の複数の
データa1,a2,a3,………,aoおよびb1,b2
b3,………,boを命令制御装置4の命令にもと
づき、記憶制御装置3、主記憶制御装置2を経由
してベクトル・レジスタ5にロードし、例えば次
の加算命令によつて演算処理部6おいてこれらの
データを加算させてA+B=Cすなわちa1+b1
c1、a2+b2=c2………、ao+bo=coという加算
を行なわせこの結果得られた複数の加算結果c1
c2,c3………,coをベクトル・レジスタ5にセ
ツトしたのちに主記憶装置1に格納するような処
理が行なわれる。この場合、1つの加算命令によ
り上記a1+b1=c1、a2+b2=c2………ao+bo
oという複数の演算が順次行なわれるものであ
る。
However, vector arithmetic devices are controlled by vector instructions that process a plurality of elements with one instruction. For example, in a load instruction, as shown in FIG. 1, a plurality of data a 1 , a 2 , a 3 , .
b 3 , ......, b o are loaded into the vector register 5 via the storage control device 3 and main storage control device 2 based on the command of the instruction control device 4, and are calculated by, for example, the following addition instruction. These data are added in the processing unit 6 and A+B=C, that is, a 1 +b 1 =
Perform the additions c 1 , a 2 + b 2 = c 2 , a o + b o = c o , and the resulting multiple addition results c 1 ,
After setting c 2 , c 3 . In this case, with one addition instruction, the above a 1 +b 1 =c 1 , a 2 +b 2 =c 2 ......a o + b o =
A plurality of operations c o are sequentially performed.

このような演算を行なう場合に、ベクトル演算
装置の如き高速計算機の分野では命令をパイプラ
イン処理することが一般に行なわれている。例え
ば1つの命令処理は、第2図に示す如く、命令
語の取出し(Fetch)、その解読(Decode)、
命令実行(Execute)の3段階に分けることがで
きる。そしてこのような命令処理を1命令ずつ処
理せずに、先行の命令が命令実行を行なつている
とき次の命令は命令の解読を行なつており、さら
に後続する命令は命令語の取出を行なう。すなわ
ち、第3図に示す如く、先行の命令V1が命令実
行(E)を行なつているとき次の命令V2は命令解読
(D)を行ない、さらに次の命令V3は命令語取出(F)
を行なうというように、各段階を同時に処理する
パイプライン処理方式により処理されている。こ
のとき命令実行のために複数サイクルを必要とす
るものであるが、一般に演算処理部はパイプライ
ン構造ではなく1命令実行に際してアダーやシフ
ターを複数回使用して1つのスカラ命令、つまり
1エレメントづつの処理を行なうようになつてい
る。したがつて1つの先行命令が命令実行(E)を終
了するまで次の命令に対する命令実行を行なうこ
とができなかつた。
When performing such operations, instructions are generally processed in a pipeline in the field of high-speed computers such as vector arithmetic units. For example, as shown in FIG. 2, one instruction process includes fetching an instruction word (Fetch), decoding it (Decode),
It can be divided into three stages: instruction execution (Execute). Instead of processing these instructions one by one, when the preceding instruction is executing the instruction, the next instruction is decoding the instruction, and the subsequent instruction is decoding the instruction. Let's do it. That is, as shown in Figure 3, when the preceding instruction V 1 is executing instruction (E), the next instruction V 2 is decoding the instruction.
Execute (D), and the next instruction V 3 is command word fetch (F)
Processing is performed using a pipeline processing method in which each stage is processed simultaneously. At this time, multiple cycles are required to execute an instruction, but generally the arithmetic processing unit uses adders and shifters multiple times to execute one scalar instruction, that is, one element at a time, instead of using a pipeline structure. It is now possible to perform the following processing. Therefore, the next instruction cannot be executed until the instruction execution (E) of one preceding instruction is completed.

ところが演算速度の高速化があまり要求されな
い場合は、上記の如き方式でもあまり問題はない
が、ベクトル命令を超高速度で処理する場合に
は、演算処理部をパイプライン構造にし、先行の
エレメントの演算処理が完了する前に後続のエレ
メントを投入しその演算処理を開始する必要があ
る。
However, if high-speed calculations are not required, the method described above will not cause much of a problem, but if vector instructions are to be processed at extremely high speeds, the calculation processing section should be constructed in a pipeline structure, and the processing of the preceding element is Before the arithmetic process is completed, it is necessary to input the subsequent element and start the arithmetic process.

例えば加算を行なう場合、演算処理部における
命令実行は、データの読出し(Read)、両オ
ペランドの指数比較(Compare)、指数を合わ
せるためのシフト(Aligment)、加算(Add)
演算後正規化のためのシフト(Post Shift)、
データの書込み(Write)の6段階に分けられ
る。ここで上記およびではシフタを使用する
必要がある。汎用計算機では同じシフタを使用し
ているが、これでは演算速度が遅くなるので、ベ
クトル命令を超高速に処理するためには当然演算
処理部をパイプライン構造にし、このために上記
およびのためにそれぞれ別のシフタが設けら
れることになる。したがつて複数のエレメントを
1つの命令で処理するベクトル命令をパイプライ
ン演算器で処理すると、第4図イに示す如く、一
番先行のエレメントe1に関して最終段階である書
込処理が行なわれるとき次のエレメントe2はポス
トシフト処理が行なわれ、エレメントe3について
は加算処理が行なわれ、エレメントe4については
アライメント処理が行なわれ、エレメントe5につ
いては指数比較処理が行なわれ、そしてエレメン
トe6については読出処理が行なわれ、このような
各処理がエレメントeoについて順次行なわれ
る。そしてその結果、ベクトル命令で加算を行な
う場合には、1命令について第4図ロの如き、平
行四辺形で表示されるような処理が遂行されるこ
とになる。
For example, when performing addition, the instruction execution in the arithmetic processing unit involves reading data (Read), comparing the exponents of both operands (Compare), shifting to match the exponents (Aligment), and adding (Add).
Shift for normalization after operation (Post Shift),
Data writing is divided into six stages. Here and above you need to use a shifter. General-purpose computers use the same shifter, but this slows down the calculation speed, so in order to process vector instructions at ultra-high speed, the calculation processing unit naturally has a pipeline structure, and for this purpose, the above and Separate shifters will be provided for each. Therefore, when a vector instruction that processes multiple elements in one instruction is processed by a pipeline arithmetic unit, the final stage of write processing is performed for the most preceding element e1 , as shown in Figure 4A. When the next element e 2 is postshifted, element e 3 is added, element e 4 is aligned, element e 5 is compared exponentially, and element A read process is performed for e 6 , and each of these processes is sequentially performed for element e o . As a result, when addition is performed using a vector instruction, a process represented by a parallelogram as shown in FIG. 4B is performed for each instruction.

また第1図に示すベクトル・レジスタ5に主記
憶装置1からデータをロードするロード命令のと
きには、記憶制御装置3において加算命令と同様
のパイプライン処理が行なわれる。
Furthermore, when a load instruction is used to load data from the main storage device 1 into the vector register 5 shown in FIG. 1, pipeline processing similar to that for the addition instruction is performed in the storage control device 3.

しかしながらこのようなパイプライン構造を具
備した演算処理部で、ベクトル命令V1,V2(例
えばいずれも加算命令とする)を連続的に処理す
る場合、命令制御装置における命令、制御パイプ
ライン構造では、第5図に示すような状態でこれ
らのベクトル命令V1,V2に対する処理が行なわ
れる。
However, when an arithmetic processing unit with such a pipeline structure continuously processes vector instructions V 1 and V 2 (for example, both are addition instructions), the instructions in the instruction control device and the control pipeline structure , processing for these vector instructions V 1 and V 2 is performed in the state shown in FIG.

いま命令制御装置では命令V1により命令語の
読出しF1が行なわれ、それの解読D1が行なわれ
るとき命令V2に命令語の読出しF2が行なわれ
る。そして演算処理部で命令V1の命令実行E1
行なわれるとき命令制御装置では命令V2におけ
る命令語の解読D2が行なわれる。しかるにこの
命令実行E1は、第5図に示す如く、時間t2におい
て最後のエレメントe8に対する書込み処理が行な
われたときに終了し、それから命令V2に対する
命令実行E2が行なわれる。それ故、演算処理部
で命令V1において最後のエレメントe8に対するデ
ータ読出し処理が終つた時刻t1から命令V2におい
て、最初のエレメントe1′に対するデータ読出し
処理が始まる時刻t2までのt2−t1=t0の期間はこの
データ読出し処理回路は、ジヨブの遂行が可能で
あるにもかかわらず命令制御装置から何もジヨブ
が与えられない、いわゆる遊び期間となる。同様
にして指数比較処理、アライメント処理、加算処
理、ポストシフト処理、および書込み処理の各回
路にもそれぞれ期間t0だけの遊び期間が存在し、
その結果、第5図において斜線部Lで示す如き遊
び期間が存在することになる。このように命令制
御装置のパイプライン構造上の制限により、演算
処理部で命令V1に対する読出しの段階があけば
命令V2に対する読出し処理を行なうことができ
るにもかかわらずこれを行なうことができず、こ
の結果上記遊び期間を生ずる欠点があり、高速処
理上問題となる。
Now, in the instruction control device, reading of the instruction word F 1 is performed in accordance with the instruction V 1 , and when it is decoded D 1 , reading of the instruction word F 2 is performed in response to the instruction V 2 . When the arithmetic processing unit executes the instruction E1 of the instruction V1 , the instruction control device decodes the instruction word D2 of the instruction V2 . However, as shown in FIG. 5, this instruction execution E 1 ends when the write process for the last element e 8 is performed at time t 2 , and then instruction execution E 2 for the instruction V 2 is performed. Therefore, from time t 1 when the data read process for the last element e 8 is completed in the instruction V 1 in the arithmetic processing unit to time t 2 when the data read process for the first element e 1 ' starts in the instruction V 2 . The period of 2 -t 1 =t 0 is a so-called idle period in which the data read processing circuit is not given any job from the instruction control device even though it is possible to execute a job. Similarly, each circuit for index comparison processing, alignment processing, addition processing, postshift processing, and write processing each has an idle period of period t 0 ,
As a result, there is an idle period as shown by the shaded area L in FIG. As described above, due to the limitations of the pipeline structure of the instruction control device, the arithmetic processing unit is unable to perform read processing for instruction V 2 even though it is possible to do so once the read stage for instruction V 1 has been completed. As a result, there is a drawback that the above-mentioned idle period occurs, which poses a problem in terms of high-speed processing.

それ故、第6図に示す如く、命令パイプライン
の命令実行段階を、例えば2分割してデータ読出
し段階とその後の段階に分けて管理することが考
えられる。この場合には、命令制御装置に第1命
令実行レジスタと第2命令実行レジスタを設け、
命令V1については最初第1命令実行レジスタに
セツトされた命令により制御を行ない、命令V1
においてすべてのエレメントに対する読出し処理
が終了した時刻T1において第2命令実行レジス
タに命令をセツトして、該第2命令実行レジスタ
にセツトした命令にもとづき、時刻T2までの書
込み処理を管理するようにすることになる。しか
しながらこの場合、最初のエレメントに対する書
込み処理の開始される時刻T0から上記時刻T1
での期間は、第1命令実行レジスタにおいて読出
し処理に対する制御と書込み処理に対する制御を
管理しなければならず、このために制御が複雑に
なるという他の問題がある。
Therefore, as shown in FIG. 6, it is conceivable to manage the instruction execution stage of the instruction pipeline by dividing it into two, for example, into a data read stage and a subsequent stage. In this case, the instruction control device is provided with a first instruction execution register and a second instruction execution register,
The instruction V 1 is initially controlled by the instruction set in the first instruction execution register, and then the instruction V 1
An instruction is set in the second instruction execution register at time T1 when read processing for all elements is completed, and write processing up to time T2 is managed based on the instruction set in the second instruction execution register. It will be done. However, in this case, during the period from time T 0 when the write process for the first element is started to the above-mentioned time T 1 , the first instruction execution register must manage the control for the read process and the control for the write process. Another problem is that this makes the control complex.

したがつて本発明は上記問題を解決するために
命令制御装置におけるパイプライン構造のうち、
命令実行ステージを複数のステージに分割してそ
の演算制御実行を高速処理できるようにするとと
もに、演算処理手段または記憶データ処理手段か
ら伝達される制御信号にもとづき演算制御実行に
必要な命令情報を演算制御実行命令保持手段に保
持させるようにした命令制御装置を提供すること
を目的とするものであつて、このために本発明に
おける命令制御装置では、パイプライン構造を有
する演算処理装置等の演算処理手段または記憶制
御装置等の記憶データ処理手段と上記演算処理手
段または記憶データ処理手段におけるデータ処理
を制御する命令制御装置を具備しベクトル命令を
処理するデータ処理装置において、上記命令制御
装置の演算実行命令情報を保持するステージ・レ
ジスタ、ステージ設定回路、命令デコーダ等を具
備する演算制御実行ステージに演算制御実行命令
情報を保持する複数の演算制御実行命令保持手段
を設けてこの演算制御実行ステージを複数のステ
ージに分割するとともに、上記演算処理手段また
は記憶データ処理手段から伝達される制御信号に
もとづき上記演算制御実行命令保持手段に演算制
御実行命令を保持させるようにしたことを特徴と
する。
Therefore, in order to solve the above-mentioned problem, the present invention improves the pipeline structure of an instruction control device by:
The instruction execution stage is divided into multiple stages to enable high-speed processing of the arithmetic control execution, and the instruction information necessary for the arithmetic control execution is calculated based on the control signal transmitted from the arithmetic processing means or storage data processing means. It is an object of the present invention to provide an instruction control device in which a control execution instruction is held in a control execution instruction holding means. In a data processing device for processing vector instructions, the data processing device includes a stored data processing means such as a means or a storage control device, and an instruction control device for controlling data processing in the arithmetic processing means or the stored data processing means, and the instruction control device performs calculations. A plurality of arithmetic control execution instruction holding means for holding arithmetic control execution instruction information are provided in the arithmetic control execution stage which is equipped with a stage register for holding instruction information, a stage setting circuit, an instruction decoder, etc. The method is characterized in that the arithmetic control execution command is held in the arithmetic control execution command holding means based on a control signal transmitted from the arithmetic processing means or the storage data processing means.

以下本発明の一実施例を第7図および第8図に
もとづき説明する。
An embodiment of the present invention will be described below with reference to FIGS. 7 and 8.

第7図は本発明の一実施例構成、第8図はその
動作説明図である。
FIG. 7 is a configuration of one embodiment of the present invention, and FIG. 8 is an explanatory diagram of its operation.

図中、7はERステージ設定回路、8はERステ
ージレジスタ、9はEWステージ設定回路、10
はEWステージレジスタ、11および12はそれ
ぞれデコーダ、13はベクトルレジスタ、14は
演算処理部である。
In the figure, 7 is an ER stage setting circuit, 8 is an ER stage register, 9 is an EW stage setting circuit, 10
1 is an EW stage register, 11 and 12 are decoders, 13 is a vector register, and 14 is an arithmetic processing unit.

ERステージ・レジスタ8およびEWステー
ジ・レジスタ10は、それぞれ演算実行命令を保
持するステージ・レジスタであり、演算実行命令
保持手段を提供する。
The ER stage register 8 and the EW stage register 10 are stage registers each holding an operation execution instruction, and provide operation execution instruction holding means.

ERステージ設定回路7は、演算処理部14に
対してデコーダ11から命令を伝達したときに読
出し処理の実行が可能かどうか判断し、読出し処
理可能であるときデコーダDより命令を受取つて
これをERステージレジスタ8に伝達してさらに
デコーダ11で解読したり、また該ERステージ
レジスタ8にセツトした命令を保持する必要がな
くなつたときにはこれを消去したりあるいは次の
新らしい命令を受理するような制御を行なうもの
である。
The ER stage setting circuit 7 determines whether the read process can be executed when the instruction is transmitted from the decoder 11 to the arithmetic processing unit 14, and when the read process is possible, receives the instruction from the decoder D and executes the ER stage setting circuit 7. It is transmitted to the stage register 8 and further decoded by the decoder 11, or when it is no longer necessary to hold the instruction set in the ER stage register 8, it is erased or the next new instruction is accepted. It is for controlling.

EWステージ設定回路9はERステージレジス
タ8からEWステージレジスタ10に対して命令
をセツトしたり、またEWステージレジスタ10
にセツトした命令を保持する必要がなくなつたと
きにはこれを消去したりあるいは次の新らしい命
令を受理するような制御を行なうものである。
The EW stage setting circuit 9 sets the command from the ER stage register 8 to the EW stage register 10, and also sets the command from the ER stage register 8 to the EW stage register 10.
When it is no longer necessary to hold an instruction that has been set, it is deleted or the next new instruction is accepted.

デコーダ11はEWステージレジスタ8にセツ
トされた命令をデコードするものであつて、特に
書込み処理命令以外の部分をデコードするもので
ある。
The decoder 11 decodes the instructions set in the EW stage register 8, and in particular decodes parts other than write processing instructions.

デコーダ12はEWステージレジスタ10にセ
ツトされた命令をデコードするものであつて、特
に書込み処理命令部分をデコードするものであ
る。
The decoder 12 decodes the instructions set in the EW stage register 10, and in particular decodes the write processing instruction portion.

ベクトルレジスタ13はベクトル演算に必要な
複数のエレメントを一時的にセツトしたり、また
演算処理部14で処理した結果をデコーダ12に
より解読されたライト命令により一時的にセツト
されるようなベクトルレジスタである。
The vector register 13 is a vector register that temporarily sets a plurality of elements necessary for a vector operation, or is temporarily set by a write instruction decoded by the decoder 12 for the result processed by the arithmetic processing unit 14. be.

演算処理部14はベクトルレジスタ13にセツ
トされているエレメントを使用して、デコーダ1
1により解読された演算処理を実行するととも
に、演算結果を書込処理すべき状態になつたと
き、EWステージ設定回路9に対してこれを伝達
する機能を具備するものである。
The arithmetic processing unit 14 uses the elements set in the vector register 13 to process the decoder 1.
It has a function of executing the arithmetic processing decoded by No. 1 and transmitting the result to the EW stage setting circuit 9 when the state of writing the arithmetic result is reached.

いま、第8図に示す如く、命令V1およびV2
実行する場合、命令制御装置にまず命令V1が伝
達される。これにより命令制御装置は命令フエツ
チF1を行ない次いでこれをデコードD1する。そ
して時刻t0′でERステージ設定回路7が演算処理
部14において上記デコードD1にもとづく命令
が実行できると判断したとき、ERステージレジ
スタ8にデコーダより伝達された命令をセツトす
る。
Now, as shown in FIG. 8, when instructions V 1 and V 2 are to be executed, instruction V 1 is first transmitted to the instruction control device. This causes the instruction controller to perform an instruction fetch F1 and then decode it D1 . Then, at time t0 ', when the ER stage setting circuit 7 determines that the instruction based on the decode D1 can be executed in the arithmetic processing section 14, it sets the instruction transmitted from the decoder in the ER stage register 8.

このERステージレジスタ8にセツトされた命
令はさらにデコーダ11によりデコードされる。
これにもとづきデコーダ11はエレメントの読出
要求命令および該エレメント処理要求命令(例え
ば加算処理命令)をベクトルレジスタ13および
演算処理部14に伝達する。これによりベクトル
レジスタ13にセツトされているエレメントe1
e2,e3,………が順次読出され(エレメントe1
オペランドa1とb1、エレメントe2はa2とb2、エレ
メントe3はオペランドa3とb3………よりなる)、
これらの両オペランドの指数比較、指数合わせの
ためのシフト、加算および加算後正規化のための
シフトが行なわれる。そして最初のエレメントe1
に対する上記各処理が行なわれその演算結果をベ
クトルレジスタ13にセツトすべき段階にきたと
きに、演算処理部14はEWステージ設定回路9
に対して指示信号を伝達する。EWステージ設定
回路9はこの指示信号を受けたときERステージ
レジスタ8にセツトされている命令をEWステー
ジレジスタ10にセツトする。これによりデコー
ダ12はその書込み処理命令部分をデコードして
書込要求命令をベクトルレジスタ13に伝達す
る。これにより時刻t1′において上記エレメント
e1,e2………に対する演算結果が演算処理部14
からベクトルレジスタ13にセツトされるライト
段階の処理が遂行されることになる。
The instruction set in the ER stage register 8 is further decoded by the decoder 11.
Based on this, the decoder 11 transmits an element read request instruction and an element processing request instruction (for example, an addition processing instruction) to the vector register 13 and the arithmetic processing section 14. As a result, the elements e 1 set in the vector register 13,
e 2 , e 3 , ...... are read out sequentially (element e 1 consists of operands a 1 and b 1 , element e 2 consists of a 2 and b 2 , element e 3 consists of operands a 3 and b 3 ...... ),
A comparison of the exponents of both operands, a shift for adjusting the exponents, an addition, and a shift for normalization after the addition are performed. and the first element e 1
When the above-mentioned processes have been performed on the EW stage setting circuit 9 and the calculation result is set in the vector register 13, the calculation processing section 14 sets the EW stage setting circuit 9.
transmits an instruction signal to the When the EW stage setting circuit 9 receives this instruction signal, it sets the command set in the ER stage register 8 into the EW stage register 10. As a result, the decoder 12 decodes the write processing command portion and transmits the write request command to the vector register 13. As a result, at time t 1 ′, the above element
The calculation results for e 1 , e 2 ...... are sent to the calculation processing unit 14.
From there, the write stage processing is performed, which is set in the vector register 13.

一方命令V1による上記エレメントe1,e2,e3
……の読出し段階が時刻t2′で終るとき、ベクト
ルレジスタ13はこれをERステージ設定回路7
に報告する。これによりERステージ設定回路7
は、今度はデコーダDを経由して伝達されている
命令V2をERステージレジスタ8にセツトし、こ
れにもとづく読出段階の処理が開始されることに
なる。
On the other hand, the above elements e 1 , e 2 , e 3 ... by instruction V 1
When the readout stage of ... ends at time t2 ', the vector register 13 transfers it to the ER stage setting circuit 7.
Report to. As a result, the ER stage setting circuit 7
This time, the instruction V2 transmitted via the decoder D is set in the ER stage register 8, and the read stage processing based on this is started.

また上記時刻t1′から開始されたライト段階の
処理は時刻t3′で終了するが、このとき演算処理
部14は演算結果をベクトルレジスタ13にセツ
トすべき段階に来るのでこれを指示する信号を
EWステージ設定回路9に伝達する。これにより
今度はEWステージ設定回路9はERステージレ
ジスタ8にセツトされた命令V2に関する命令を
EWステージレジスタ10にセツトし命令V2に対
するライト段階の処理が開始されることになる。
そして命令V2に対しても命令V1と同様な制御処
理が行なわれ、時刻t4′においてこの命令V2にお
ける読出し段階の処理が終り、時刻t5′において
命令V2におけるライト段階の処理が終了するこ
とになる。
Further, the write stage processing started from time t 1 ' ends at time t 3 ', but at this time the arithmetic processing unit 14 reaches the stage where the arithmetic result should be set in the vector register 13, so a signal instructing this is sent. of
It is transmitted to the EW stage setting circuit 9. As a result, the EW stage setting circuit 9 now outputs the instruction related to instruction V 2 set in the ER stage register 8.
The EW stage register 10 is set, and the write stage processing for instruction V2 is started.
The same control processing as that for instruction V 1 is performed for instruction V 2 , and at time t 4 ', the read stage processing of instruction V 2 is completed, and at time t 5 ', the write stage processing of instruction V 2 is completed. will end.

上記命令V1の処理について時刻t1′からt2′まで
の間ではERステージレジスタ8およびEWステ
ージレジスタ10に同一の命令がセツトされ、ま
た命令V2の処理について時刻t3′からt4′までの間
ではこれまた上記ERステージレジスタ8および
EWステージレジスタ10に同一命令がセツトさ
れる。この結果ERステージレジスタ8にセツト
された命令をデコードする場合にはEWステージ
レジスタ10に対してデコーダ12がデコードす
る部分以外のもののみをデコードすればよく、ま
たEWステージレジスタ10ではライト命令部分
のみをデコードすればよいので、これらのデコー
ドを分離して管理することができ、そのデコード
及び制御が非常に簡単になるとともに、第5図に
示す如き遊び期間が演算処理を行なうことができ
る。しかも、ライト段階の制御開始を演算処理部
からの指示にもとづき行なうことができるので、
例えば演算結果の先頭に0が存在せず加算後正規
化のためのシフトを必要としないような場合に
は、この正規化のためのシフト段階を経由せずに
その前の段階で上記指示を行なうこともできるの
で、正規化のためのシフト段階を必らず経由しな
ければならないような制御に比較して、演算処理
を早くすることができる。
The same instruction is set in the ER stage register 8 and the EW stage register 10 from time t1 ' to t2 ' for the processing of the instruction V1, and from time t3 ' to t4 for the processing of the instruction V2 . ’, the above ER stage register 8 and
The same instruction is set in the EW stage register 10. As a result, when decoding the instruction set in the ER stage register 8, it is only necessary to decode only the part of the EW stage register 10 other than the part decoded by the decoder 12, and the EW stage register 10 only needs to decode the part of the write instruction. Since it is only necessary to decode these decodes, these decodes can be managed separately, making the decoding and control very simple, and the idle period shown in FIG. 5 can be used for arithmetic processing. Moreover, since the control of the write stage can be started based on instructions from the arithmetic processing section,
For example, if there is no 0 at the beginning of the operation result and no shift is required for normalization after addition, the above instructions can be used in the previous stage without going through the shift stage for normalization. Therefore, the calculation process can be made faster compared to control that necessarily requires going through a shift stage for normalization.

本発明の他の実施例を第9図にもとづき説明す
る。
Another embodiment of the present invention will be described based on FIG.

主記憶装置1を中央処理装置20およびチヤネ
ルプロセツサ21等で共通に使用するデータ処理
システムにおいて、いま中央処理装置20がデー
タ処理のために必要なデータを主記憶装置1から
読出してベクトルレジスタ5にセツトしようとし
たとき、チヤネルプロセツサ21から先行アクセ
スがある場合主記憶制御装置2は中央処理装置2
0からのアクセス要求を一時待機させる。そして
上記先行アクセスが終了したとき、今度は中央処
理装置20に対するアクセス要求を行なうことに
なる。このとき記憶制御装置3内のロード命令処
理部3−1では、命令制御処理4から伝達された
命令をデコードし、アドレス計算を行ない、アク
セス要求信号を主記憶制御装置2に発行し、主記
憶制御装置2からアクセス許可信号を受取つたと
き、主記憶装置1のアクセスを開始する。そして
主記憶装置1から主記憶制御装置2を経由して記
憶制御装置3にこの読出したデータが伝達され、
ベクトルレジスタ5にセツトするときに、ロード
命令処理部3−1は命令制御装置4に対してデー
タの書込を指示するタイミング指示信号を伝達す
る。このタイミング指示信号は命令制御装置4内
のEWステージ設定回路に印加され、EWステー
ジレジスタに命令がセツトされてベクトルレジス
タ5に対するライト段階の処理が開始されること
になる。これによれば例えばマルチプロセツサ方
式における主記憶装置からのデータ読出しのとき
のように、アクセス要求後のベクトルレジスタに
対するライト段階のタイミングが種類の条件によ
り不定の場合でも処理部の方からの指示にもとづ
き行なうので、最適の時期に書込処理を行なうこ
とができる。
In a data processing system in which the main storage device 1 is commonly used by the central processing unit 20, the channel processor 21, etc., the central processing unit 20 currently reads data necessary for data processing from the main storage device 1 and stores it in the vector register 5. If there is a prior access from the channel processor 21, the main memory controller 2
The access request from 0 is temporarily put on standby. When the preceding access is completed, an access request is made to the central processing unit 20. At this time, the load instruction processing unit 3-1 in the storage control device 3 decodes the instruction transmitted from the instruction control processing 4, performs address calculation, issues an access request signal to the main memory control device 2, and sends the main memory When an access permission signal is received from the control device 2, access to the main storage device 1 is started. The read data is then transmitted from the main storage device 1 to the storage control device 3 via the main storage control device 2.
When setting the data in the vector register 5, the load instruction processing section 3-1 transmits a timing instruction signal instructing the instruction control device 4 to write data. This timing instruction signal is applied to the EW stage setting circuit in the instruction control device 4, the instruction is set in the EW stage register, and the write stage processing for the vector register 5 is started. According to this, even if the timing of the write stage to the vector register after an access request is uncertain depending on the type of conditions, such as when reading data from the main memory in a multiprocessor system, instructions from the processing unit can be used. Since the write process is performed based on

以上説明の如く結局本発明によれば命令制御装
置における命令実行段階の管理手段をパイプライ
ン構造にして命令情報をオーバラツプして保持す
ることができるように構成するとともに、制御処
理部からの命令実行指示タイミング信号により命
令情報を伝達するようにしたので、実際の制御処
理状態に応じた最適のデータ処理を行なうことが
できる。
As described above, according to the present invention, the management means for the instruction execution stage in the instruction control device is configured in a pipeline structure so that instruction information can be held in an overlapping manner, and the instruction execution stage from the control processing section is Since the instruction information is transmitted using the instruction timing signal, it is possible to perform optimal data processing according to the actual control processing state.

なお上記説明では加算命令や主記憶装置からの
データ読出しの場合について説明したが、本発明
は勿論これらのみに限定されるものではない。
Although the above explanation deals with an addition instruction and reading data from the main memory, the present invention is of course not limited to these.

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

第1図はベクトル演算装置の構成図、第2図乃
至第4図はその動作説明図、第5図は従来のベク
トル演算装置の問題点の説明図、第6図は上記問
題点を改善した場合の動作説明図、第7図は本発
明の一実施例構成、第8図はその動作説明図、第
9図は本発明の他の実施例である。 図中、1は主記憶装置、2は主記憶制御装置、
3は記憶制御装置、4は命令制御装置、5はベク
トルレジスタ、6は演算処理部、7はERステー
ジ設定回路、8はERステージレジスタ、9は
EWステージ設定回路、10はEWステージレジ
スタ、11,12はデコーダ、13はベクトルレ
ジスタ、14は演算処理部、20は中央処理装
置、21はチヤネルプロセツサをそれぞれ示す。
Figure 1 is a block diagram of a vector calculation device, Figures 2 to 4 are illustrations of its operation, Figure 5 is an illustration of the problems of the conventional vector calculation device, and Figure 6 is a diagram that has improved the above problems. FIG. 7 is an explanatory diagram of an embodiment of the present invention, FIG. 8 is an explanatory diagram of the operation, and FIG. 9 is another embodiment of the present invention. In the figure, 1 is a main storage device, 2 is a main storage control device,
3 is a storage control device, 4 is an instruction control device, 5 is a vector register, 6 is an arithmetic processing unit, 7 is an ER stage setting circuit, 8 is an ER stage register, 9 is a
EW stage setting circuit, 10 is an EW stage register, 11 and 12 are decoders, 13 is a vector register, 14 is an arithmetic processing unit, 20 is a central processing unit, and 21 is a channel processor.

Claims (1)

【特許請求の範囲】 1 パイプライン構造を有する演算処理手段また
は記憶データ処理手段と上記演算処理手段または
記憶データ処理手段におけるデータ処理を制御す
る命令制御装置を具備しベクトル命令を処理する
データ処理装置において、 上記命令制御装置の演算実行命令情報を保持す
るステージ・レジスタ、ステージ設定回路、命令
デコーダ等を具備する演算制御実行ステージに演
算制御実行命令情報を保持する複数の演算制御実
行命令保持手段を設けてこの演算制御実行ステー
ジを複数のステージに分割するとともに、上記演
算処理手段または記憶データ処理手段から伝達さ
れる制御信号にもとづき上記演算制御実行命令保
持手段に演算制御実行命令を保持させるようにし
たことを特徴とする命令制御装置。
[Scope of Claims] 1. A data processing device that processes vector instructions and includes an arithmetic processing means or stored data processing means having a pipeline structure and an instruction control device that controls data processing in the arithmetic processing means or stored data processing means. A plurality of arithmetic control execution instruction holding means for holding arithmetic control execution instruction information is provided in an arithmetic control execution stage that includes a stage register, a stage setting circuit, an instruction decoder, etc. for holding arithmetic execution instruction information of the instruction control device. and dividing the arithmetic control execution stage into a plurality of stages, and causing the arithmetic control execution command holding means to hold the arithmetic control execution command based on a control signal transmitted from the arithmetic processing means or the storage data processing means. A command control device characterized by:
JP8611180A 1980-06-25 1980-06-25 Instruction control device Granted JPS5710873A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8611180A JPS5710873A (en) 1980-06-25 1980-06-25 Instruction control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8611180A JPS5710873A (en) 1980-06-25 1980-06-25 Instruction control device

Publications (2)

Publication Number Publication Date
JPS5710873A JPS5710873A (en) 1982-01-20
JPS6116113B2 true JPS6116113B2 (en) 1986-04-28

Family

ID=13877584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8611180A Granted JPS5710873A (en) 1980-06-25 1980-06-25 Instruction control device

Country Status (1)

Country Link
JP (1) JPS5710873A (en)

Also Published As

Publication number Publication date
JPS5710873A (en) 1982-01-20

Similar Documents

Publication Publication Date Title
US5293500A (en) Parallel processing method and apparatus
JPS6313215B2 (en)
JPH04367936A (en) Superscalar processor
JPS6217252B2 (en)
JPS6239780B2 (en)
JPH0374434B2 (en)
JPS6116113B2 (en)
US5276853A (en) Cache system
JPS6116112B2 (en)
JPS6161416B2 (en)
JPS6134188B2 (en)
JPS6116114B2 (en)
US5220670A (en) Microprocessor having ability to carry out logical operation on internal bus
JPS6116111B2 (en)
JPS60108973A (en) Method for finding the minimum value of array elements and element number of the minimum element
JPH01116702A (en) Sequence controller
JPS59125472A (en) Controller for execution of sequential instruction
JPS595354A (en) Data processing device
KR950004227B1 (en) Information processing system
JPS6353644A (en) Instruction control device
JPS6128140B2 (en)
JPS5896346A (en) Hierarchical arithmetic system
JPH0338613B2 (en)
JPH0546389A (en) Parallel processor
JPS6218933B2 (en)