Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0361225B2 - - Google Patents
[go: Go Back, main page]

JPH0361225B2 - - Google Patents

Info

Publication number
JPH0361225B2
JPH0361225B2 JP26024485A JP26024485A JPH0361225B2 JP H0361225 B2 JPH0361225 B2 JP H0361225B2 JP 26024485 A JP26024485 A JP 26024485A JP 26024485 A JP26024485 A JP 26024485A JP H0361225 B2 JPH0361225 B2 JP H0361225B2
Authority
JP
Japan
Prior art keywords
instruction
register
registers
input
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
Application number
JP26024485A
Other languages
Japanese (ja)
Other versions
JPS62119674A (en
Inventor
Nobuyuki Sugiura
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 JP26024485A priority Critical patent/JPS62119674A/en
Publication of JPS62119674A publication Critical patent/JPS62119674A/en
Publication of JPH0361225B2 publication Critical patent/JPH0361225B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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個乃至複数個のメ
モリアクセス処理部を含む複数個の演算処理部を
持つデータ処理装置において、命令発信制御部の
近傍に、命令投入部で選択された命令のコピーを
格納する発信待機レジスタQXを設け、各命令の
処理サイクルの次のサイクルで発信条件を判定す
る命令を選択して格納するように制御することに
より、発信制御を、上記発信待機レジスタQXの
内容のみで行うようにしたものである。
[Detailed Description of the Invention] [Table of Contents] Overview Industrial Application Fields Conventional Technology Problems to be Solved by the Invention Means for Solving Problems Effects of the Invention [Summary] Plural arithmetic processing units , or in a data processing device having a plurality of arithmetic processing units including one or more memory access processing units, a transmission standby system in which a copy of the instruction selected by the instruction input unit is stored near the command transmission control unit. By providing a register QX and controlling the instruction to select and store the instruction that determines the transmission condition in the cycle following the processing cycle of each instruction, transmission control can be performed only by the contents of the transmission standby register QX. This is what I did.

〔産業上の利用分野〕[Industrial application field]

本発明は、データ処理装置、例えば、ベクトル
データ処理装置において、後発の命令を先発の命
令より先に実行できるようにした命令制御方式に
関する。
The present invention relates to an instruction control method that allows a later instruction to be executed before an earlier instruction in a data processing device, such as a vector data processing device.

最近の半導体技術の著しい進歩に伴つて、デー
タ処理装置の大きな機能ブロツクが、1つのチツ
プ、或いはプリント板内に高集積化されるように
なつてきた。
With recent remarkable advances in semiconductor technology, large functional blocks of data processing devices have come to be highly integrated within a single chip or printed board.

又、該データ処理装置を高速化する為に、マシ
ンサイクルを短くする動向にあり、該チツプ、或
いはプリント板間での論理遅延が、当該データ処
理装置の処理能力に影響を与えるようになつてき
た。
In addition, there is a trend to shorten machine cycles in order to increase the speed of data processing devices, and logic delays between chips or printed circuit boards have begun to affect the processing capacity of the data processing devices. Ta.

一方、複数の演算パイプライン、又は、1つ乃
至複数個のメモリアクセスパイプラインを含む演
算パイプラインを備えたベクトルデータ処理装置
においては、1つのベクトル命令で、多量のデー
タについての処理を行う為、複数のベクトル命令
間において、該命令の順序性を守る要因がなけれ
ば、後続の命令を先行して実行させることによ
り、該ベクトルデータ処理装置全体の処理能力を
大幅に向上させることができる。
On the other hand, in a vector data processing device equipped with multiple arithmetic pipelines or an arithmetic pipeline including one or more memory access pipelines, a single vector instruction is used to process a large amount of data. , if there is no factor that protects the order of a plurality of vector instructions, the processing capacity of the entire vector data processing device can be greatly improved by executing subsequent instructions in advance.

このようなベクトルデータ処理装置において
は、命令制御部が、大きく分けて命令投入部と、
命令発信部とから構成されており、命令投入部の
待ち合わせレジスタQ1,Q2中にある命令を選択
して、命令発信部に送り、先行命令と比較して発
信条件を判定した後、該発信を妨げる要因がなけ
れば、該ベクトル命令を命令発信部に取り込み、
関連する演算部を起動するような命令制御を行つ
ている。(後述の特開昭57−161938号公報参照) この場合、上記命令投入部と、命令発信部と
が、別々のチツプ、或いはプリント板に収容され
ている場合には、命令投入部から命令発信部への
データの転送に伴う論理遅延や、命令投入部にお
ける前述の待ち合わせレジスタQ1,Q2の何れか
を選択する為の選択回路の論理段数による論理遅
延のため、当該命令の発信制御に時間がかかり、
命令投入部の命令が発信されるのが遅くなつてし
まうと云う問題があつた。
In such a vector data processing device, the instruction control section is broadly divided into an instruction input section,
It consists of an instruction sending section, which selects the instruction in the waiting registers Q1 and Q2 of the instruction inputting section, sends it to the instruction sending section, compares it with the preceding instruction, determines the sending condition, and then selects the instruction in the waiting registers Q1 and Q2 of the instruction sending section. If there are no factors preventing the transmission, take the vector command into the command transmission section,
It performs command control such as activating related arithmetic units. (Refer to Japanese Unexamined Patent Publication No. 57-161938 mentioned below.) In this case, if the command input section and the command transmission section are housed in separate chips or printed boards, the command input section can transmit the command. Due to the logic delay associated with the transfer of data to the instruction input section and the number of logic stages of the selection circuit for selecting either of the above-mentioned waiting registers Q 1 or Q 2 in the instruction input section, it is difficult to control the transmission of the instruction. It takes time,
There was a problem in that the commands from the command input section were delayed.

このような事情から、命令投入部と、命令発信
部との間の命令制御タイミングは同じにして、且
つ命令投入部と、命令発信部との間のブロツク間
転送の存在を見掛け上見えないようにして、当該
ベクトルデータ処理装置の処理能力を向上させる
命令制御方式が要求されるようになつてきた。
For this reason, the command control timing between the instruction input section and the instruction transmission section is the same, and the existence of inter-block transfer between the instruction input section and the instruction transmission section is made invisible. As a result, there has been a demand for an instruction control system that improves the processing performance of vector data processing devices.

〔従来の技術〕[Conventional technology]

一般に、複数のエレメントを有する第2オペラ
ンドA(a0,a1,…ao-1)と、複数のエレメント
を有する第3オペランドB(b0,b1,……bo-1
とで、対応するエレメント同志に演算を施し、演
算結果の第1オペランドC(c1,C1,……co-1
(ここで、C=A+Bなる演算を施すならば、ci
=ai+bi)を得るデータ処理装置は、 ベクトルデータ処理装置と呼ばれている。
In general, a second operand A (a 0 , a 1 , ...a o-1 ) has multiple elements, and a third operand B (b 0 , b 1 , ...b o-1 ) has multiple elements.
Then, the operation is performed on the corresponding elements, and the first operand of the operation result C (c 1 , C 1 , ...c o-1 )
(Here, if we perform the operation C=A+B, c i
A data processing device that obtains the following equation is called a vector data processing device.

これに対して、エレメントが1個(n=1)に
限定された従来の汎用処理装置はスラカー処理装
置と呼ばれている。
On the other hand, a conventional general-purpose processing device in which the number of elements is limited to one (n=1) is called a slacker processing device.

第3図はベクトルデータ処理装置の概要を示し
た図であつて、実線の矢印データの流れを示し、
点線の矢印は制御信号の流れを示している。
FIG. 3 is a diagram showing an outline of the vector data processing device, and shows the flow of data with solid line arrows.
Dotted arrows indicate the flow of control signals.

先ず、ストア制御部4はベクトル・レジスタ6
からのデータを主記憶装置MS1に格納する為の
ものであり、ロード処理部5は主記憶装置MS1
からデータを読み出して、ベクトル・レジスタ6
に格納する為のものである。
First, the store control unit 4 stores the vector register 6.
The load processing unit 5 is for storing data from the main memory device MS1 in the main memory device MS1.
Read data from vector register 6
It is for storing in.

該ベクトル・レジスタ6は、複数のエレメント
よりなるベクトルデータを保持するベクトル・レ
ジスタを複数個有している。
The vector register 6 has a plurality of vector registers that hold vector data consisting of a plurality of elements.

上記ストア処理部4、ロード処理部5、乗算器
MP7、及び加算器AD8はパイプライン構造の
ものである。
The above store processing section 4, load processing section 5, multiplier
MP7 and adder AD8 have a pipeline structure.

命令制御部9は、ベクトル・レジスタ6や、ス
トア処理部4、ロード処理部5、乗算器MP7、
加算器AD8等を制御する。
The instruction control unit 9 includes a vector register 6, a store processing unit 4, a load processing unit 5, a multiplier MP7,
Controls adder AD8 etc.

上記ストア処理部4、ロード処理部5、乗算器
MP7、加算器AD8を含めて演算処理部と称す
る。
The above store processing section 4, load processing section 5, multiplier
MP7 and adder AD8 are collectively referred to as an arithmetic processing section.

又、ベクトル命令は命令コード、第1オペラン
ド指定部、第2オペランド指定部、及び第3オペ
ランド指定部を有しており、例えば、ベクトル乗
算命令は、 VM 1,2,3 で表される。これは、ベクトル・レジスタ2の内
容と、ベクトル・レジスタ3の内容とを乗算し、
該乗算結果をベクトル・レジスタ1に格納するも
である。
Further, 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, a vector multiplication instruction is expressed as VM 1, 2, 3. This multiplies the contents of vector register 2 by the contents of vector register 3,
The multiplication result is stored in vector register 1.

ベクトル加算命令は、 VA 4,5,1 で表される。これは、ベクトル・レジスタ5の内
容と、ベクトル・レジスタ1の内容を加算し、該
加算結果をベクトル・レジスタ4に格納するもの
である。
The vector addition instruction is represented by VA 4,5,1. This adds the contents of vector register 5 and the contents of vector register 1, and stores the addition result in vector register 4.

一般に、ベクトル命令を処理する場合には、乗
算器MP7や、加算器AD8等をパイプライン構
造とし、先行しているエレメントの演算処理が完
了する前に、後続のエレメントを該演算パイプラ
インに投入するようにしている。
Generally, when processing vector instructions, multiplier MP7, adder AD8, etc. are configured in a pipeline structure, and subsequent elements are input into the arithmetic pipeline before the arithmetic processing of the preceding element is completed. I try to do that.

第4図は加算器ADにおけるベクトル加算命令
の処理状況を示した図であつて、a図に示すよう
に、 データの読み出し(READ) 両オペランドの指数比較(COMPARE) 指数合わせのためのシフト(PRE SHUFT) 加算(ADD) 加算後の正規化のためのシフト(POST
SHIFT) データの書き込み(WRITE) の6段階のパイプラインとなる。このような命令
処理は本図bのように平行四辺形で表され、縦方
向は上記のパイプラインの各段階を示し、横方向
は当該ベクトル加算命令で処理されるエレメント
数を示している。
Figure 4 is a diagram showing the processing status of the vector addition instruction in the adder AD. PRE SHUFT) Addition (ADD) Shift for normalization after addition (POST
SHIFT) Data writing (WRITE) This is a six-stage pipeline. Such instruction processing is represented by a parallelogram as shown in FIG.

今、 VM 1,2,3 VA 4,5,1 VA 7,8,9 と云うベクトル命令列があつたとする。 Now VM 1, 2, 3 VA 4,5,1 VA 7, 8, 9 Suppose we have a vector instruction sequence called

このときの通常の処理では、第5図のベクトル
命令列の通常の処理を示す図に示した如くに処理
される。但し、ベクトル乗算命令は、11段階のパ
イプラインであり、エレメント数は8であるとす
る。本図において、の「VA 4,5,1」が
時刻=11から始まつているのは、該「VA 4,
5,1」がの「VM 1,2,3」の結果デー
タを使用しているからであり、少なくとも、第1
エレメントの乗算が完了しないと、当該加算を開
始することができないことによる。
In the normal processing at this time, processing is performed as shown in FIG. 5, which shows the normal processing of the vector instruction sequence. However, it is assumed that the vector multiplication instruction is an 11-stage pipeline and has 8 elements. In this figure, "VA 4, 5, 1" starts from time = 11 because "VA 4, 5, 1" starts from time = 11.
This is because "VM 5,1" uses the result data of "VM 1,2,3", and at least the first
This is because the addition cannot be started until the multiplication of the elements is completed.

の「VA 7,8,9」は先行のベクトル命
令とは、ベクトル・レジスタの干渉がないので、
の「VA 4,5,1」の前に先行して実行さ
せることにより、命令処理時間を短縮させること
ができる。
"VA 7, 8, 9" is different from the preceding vector instruction because there is no vector register interference.
The command processing time can be shortened by executing the command before "VA 4, 5, 1".

第6図は後発のベクトル命令を先行のベクトル
命令より先に実行させた場合の命令処理を示した
図であつて、命令処理時間の短縮状態を良く示し
ている。
FIG. 6 is a diagram showing instruction processing when a subsequent vector instruction is executed before a preceding vector instruction, and clearly shows how the instruction processing time is shortened.

具体的には、第6図の例では、第5図の通常の
処理形態に比較して、命令処理時間が9サイクル
短くなつていることが分かる。(例えば、37サイ
クルから28サイクル) このように、プログラムで指示されたベクトル
命令の実行順序をを変更するように制御すると、
ベクトルデータ処理装置の処理能力は大幅に向上
することになる。
Specifically, in the example shown in FIG. 6, it can be seen that the instruction processing time is nine cycles shorter than in the normal processing form shown in FIG. (For example, from 37 cycles to 28 cycles) In this way, if you control to change the execution order of vector instructions specified by the program,
The processing power of vector data processing devices will be significantly improved.

そこで、改良されたベクトルデータ処理装置に
おける命令制御方式が、特開昭57−161938号公報
に開示されている。
Therefore, an improved command control system for a vector data processing device is disclosed in Japanese Patent Laid-Open No. 161938/1983.

第7図は改良された命令制御部の一実施例をブ
ロツク図で示した図であつて、第8図は命令の追
い越しが行われる場合の動作をタイムチヤートで
示した図である。
FIG. 7 is a block diagram illustrating an embodiment of the improved instruction control section, and FIG. 8 is a time chart illustrating the operation when an instruction is overtaken.

先ず、フエツチレジスタF10には、主記憶装
置MS1から取り出された命令情報がセツトされ
る。Q1,Q2投入制御回路11はレジスタ干渉チ
エツク回路13−1,及び13−2が、レジスタ
干渉なしを示していること等を条件として、上記
フエツチレジスタF10の命令情報を待ち合わせ
レジスタQ1,12−1,又はQ2,12−2へ移
す。
First, instruction information retrieved from main memory device MS1 is set in fetch register F10. The Q 1 and Q 2 input control circuit 11 transfers the instruction information of the fetch register F10 to the waiting register Q 1 on the condition that the register interference check circuits 13-1 and 13-2 indicate that there is no register interference. , 12-1, or Q 2 , 12-2.

セレクタSEL14は、1サイクル毎に制御信号
の値を反転する選択制御回路19からの制御信号
に従つて、上記待ち合わせレジスタQ1,12−
1,又はQ2,12−2の何れかを交互に選択す
る。
The selector SEL14 selects the above-mentioned waiting registers Q1 , 12- according to a control signal from a selection control circuit 19 that inverts the value of the control signal every cycle.
1, or Q 2 , 12-2 alternately.

次に、命令発信制御回路15は、レジスタ干渉
チエツク回路18−1,及び18−2の双方が、
レジスタ干渉なしを示していること等を条件とし
て、セレクタSEL14の出力がベクトル加算命令
のときには、この命令情報を加算レジスタAR1
7に、該セレクタSEL14の出力がベクトル乗算
命令のときには、この命令情報を乗算レジスタ
MR16に移し、これと同時に演算処理部起動情
報を送出する。
Next, the instruction transmission control circuit 15 causes both the register interference check circuits 18-1 and 18-2 to
Under the condition that there is no register interference, when the output of selector SEL14 is a vector addition instruction, this instruction information is stored in addition register AR1.
7, when the output of the selector SEL14 is a vector multiplication instruction, this instruction information is stored in the multiplication register.
The data is transferred to the MR 16, and at the same time, arithmetic processing unit activation information is sent out.

このような、命令制御部9において、ベクトル
命令の追い越しが行われる場合の動作をタイムチ
ヤートで示したものが、第8図である。
FIG. 8 is a time chart showing the operation when a vector instruction is overtaken in the instruction control unit 9.

本図において、「VM 1,2,3」なる命令情
報は、時刻T=0において、フエツチレジスタF
10にセツトされ、時刻T=1で待ち合わせレジ
スタQ1,12−1に移され、T=2で乗算レジ
スタMR16に移されることにより、乗算が開始
される。この時、乗算開始と同時にWRITE開始
前フラグが“オン”にセツトされ、ベクトル・レ
ジスタ6への演算結果の書き込みが開始されると
“オン”にリセツトされる。
In this figure, the instruction information “VM 1, 2, 3” is stored in the fetch register F at time T=0.
10, is moved to the waiting register Q 1 , 12-1 at time T=1, and is moved to the multiplication register MR16 at T=2, thereby starting multiplication. At this time, the WRITE pre-start flag is set to "on" at the same time as the multiplication starts, and is reset to "on" when writing of the operation result to the vector register 6 starts.

「VA 4,5,1」なる命令情報は、時刻T
=1でフエツチレジスタF10にセツトされ、時
刻T=2で待ち合わせレジスタQ2,12−2に
セツトされる。
The command information “VA 4, 5, 1” is at time T
At time T=1, it is set in the fetch register F10, and at time T=2, it is set in the waiting register Q2 , 12-2.

この場合、命令発信制御回路15において、命
令発信条件が検査されるが、乗算レジスタMR1
6に保持されている「VM 1,2,3」の第1
オペランドレジスタと、上記待ち合わせレジスタ
Q2,12−2に保持されている上記「VA 4,
5,1」の第3オペランドレジスタとがレジスタ
干渉を起こしているので、該待ち合わせレジスタ
Q2,12−2に保持されている「VA 4,5,
1」命令の発信は待たされるように機能する。
In this case, the command transmission condition is checked in the command transmission control circuit 15, and the multiplication register MR1
The first of "VM 1, 2, 3" held in
Operand register and above waiting register
The above “VA 4,” held in Q 2 , 12-2.
5, 1" and the third operand register is causing register interference, the waiting register
“VA 4, 5,” held in Q 2 , 12-2
The transmission of the ``1'' command functions as if it were to wait.

時刻T=2で、「VA 7,8,9」なる命令が
フエツチレジスタF10にセツトされると、待ち
合わせレジスタQ2,12−2に保持されている
「VA 4,5,1」命令と、フエツチレジスタF
10に保持されている上記「VA 7,8,9」
命令との間には、レジスタ干渉がないので、時刻
T=3において、「VA 7,8,9」命令が待ち
合わせレジスタQ1,12−1に移され、且つ命
令の発信を妨げる要因がないので、時刻T=4に
おいて、該「VA 7,8,9」命令は、加算レ
ジスタAR17に移されると共に、加算器AD8
に対して加算処理の起動をかけるように動作す
る。
At time T=2, when the instruction "VA 7, 8, 9" is set in the fetch register F10, the instruction "VA 4, 5, 1" held in the waiting registers Q 2 , 12-2 and , fetish register F
The above "VA 7, 8, 9" held in 10
Since there is no register interference with the instruction, at time T=3, the "VA 7, 8, 9" instruction is moved to the waiting register Q 1 , 12-1, and there is no factor that prevents the instruction from being sent. Therefore, at time T=4, the "VA 7, 8, 9" instruction is transferred to the addition register AR17 and is also transferred to the adder AD8.
It operates to start addition processing for .

このようにして、後発命令の先行命令に対する
追い越しが行われる。
In this way, the subsequent instruction overtakes the preceding instruction.

上記の特開昭57−161938号公報には、他の追い
越し方式も開示されているが、次に述べる問題点
に関しては条件を示すので、ここでは省略する。
Although other overtaking systems are disclosed in the above-mentioned Japanese Patent Application Laid-Open No. 57-161938, the following problems will be omitted here as they will only be described in terms of conditions.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

従つて、従来の命令制御方式においては、命令
の発信制御はかなり複雑な論理が必要となる為、
上記命令発信制御回路15の論理段数が多くなる
と云う問題があつた。
Therefore, in the conventional command control method, control of issuing commands requires quite complex logic.
A problem arises in that the number of logic stages in the command generation control circuit 15 increases.

又、回路を構成する物量も多くなるので、第7
図で示した命令投入部と、命令発信部とを、互い
に離れた別々のブロツク(例えば、別々のチツプ
とか、プリント板)に分けて構成する必要が出て
くる。
Also, since the amount of materials that make up the circuit increases, the seventh
It becomes necessary to configure the command input section and the command transmission section shown in the figure in separate blocks (for example, separate chips or printed boards) separated from each other.

このようにすると、信号の遅延時間を伸ばす原
因となつて、命令発信制御を、前述の命令投入か
ら命令発信迄の1マシンサイクルの間で済ますこ
とが困難となり、ひいては、該マシンサイクルの
増加を余儀なくされる場合も生じてくる。
If this is done, the delay time of the signal will be increased, and it will be difficult to control the command transmission within one machine cycle from the input of the command to the transmission of the command, which will further increase the number of machine cycles. There will be times when you are forced to do so.

特に、発信条件の判定の前に、待ち合わせレジ
スタQ1,Q2,12−1,12−2中の命令情報
を、セレクタSEL14を通してブロツク間の転送
を行い、命令発信制御回路15へ送出する迄の遅
延時間がネツクになる。
In particular, before determining the transmission condition, the command information in the waiting registers Q 1 , Q 2 , 12-1, 12-2 is transferred between blocks through the selector SEL 14 until it is sent to the command transmission control circuit 15. The delay time becomes a nuisance.

本発明は上記従来の欠点に鑑み、命令投入部の
待ち合わせレジスタQ1,Q2から命令発信制御回
路迄の論理遅延のネツクを解消する方法を提供す
ることを目的とするものである。
SUMMARY OF THE INVENTION In view of the above-mentioned drawbacks of the conventional art, it is an object of the present invention to provide a method for eliminating the logical delay bottleneck from the waiting registers Q 1 and Q 2 of the instruction input section to the instruction generation control circuit.

〔問題点を解決するための手段〕[Means for solving problems]

第1図は、本発明の概念を示した図であり、第
2図が本発明の一実施例の概念をブロツク図で示
した図である。
FIG. 1 is a diagram showing the concept of the present invention, and FIG. 2 is a diagram showing the concept of one embodiment of the present invention in a block diagram.

本発明においては、発信待機レジスタQX20
を命令発信制御回路15の近傍、例えば、直前に
設けると共に、Q1,Q2投入制御回路11の出力
をセレクタSEL14にバイパスするルートを設け
るように構成し、QX入力選択制御回路21が、
各々の条件に対して以下のような制御を、セレク
タSEL14で行うようにする。
In the present invention, the transmission standby register QX20
is provided near, for example, just before the command generation control circuit 15, and a route is provided to bypass the outputs of the Q 1 and Q 2 input control circuits 11 to the selector SEL 14, and the QX input selection control circuit 21
The selector SEL14 performs the following control for each condition.

(a) 選択制御回路19が待ち合わせレジスタQ1
(以下、Q1レジスタと云う)12−1を選択す
る1サイクル前のタイミングに、Q1,Q2投入
制御回路11がQ1レジスタ12−1に命令を
投入するとき、フエツチレジスタ(以下、Fレ
ジスタて云う)10の命令情報を選択し、該命
令がQ1レジスタ12−1にセツトされると同
時に、発信待機レジスタ(以下、QXレジスタ
と云う)20もセツトするように制御する。
(a) The selection control circuit 19 is the waiting register Q 1
(hereinafter referred to as the Q1 register) 12-1, when the Q1 , Q2 input control circuit 11 inputs an instruction to the Q1 register 12-1 at a timing one cycle before selecting the fetch register (hereinafter referred to as the Q1 register) 12-1. .

但し、Q1レジスタ12−1にセツトされな
いときには、QXレジスタ20にもセツトしな
い。
However, when it is not set in the Q1 register 12-1, it is not set in the QX register 20 either.

(b) 選択制御回路19がQ1レジスタ12−1を
選択する1サイクル前のタイミングに、Q1
Q2投入制御回路11がQ1レジスタ12−1に
命令を投入しないときには、該Q1レジスタ1
2−1をQXレジスタ20にセツトする。
(b) One cycle before the selection control circuit 19 selects the Q 1 register 12-1, Q 1 ,
When the Q 2 input control circuit 11 does not input an instruction to the Q 1 register 12-1, the Q 1 register 1
2-1 is set in the QX register 20.

(c) 選択制御回路19が待ち合わせレジスタQ2
(以下、レジスタと云う)12−2を選択する
1サイクル前のタイミングに、Q1,Q2投入制
御回路11がQ2レジスタ12−2に命令を投
入するとき、Fレジスタ10の命令情報を選択
し、該命令がQ2レジスタ12−2にセツトさ
れると同時に、QXレジスタ20にもセツトす
るように制御する。
(c) The selection control circuit 19 is the waiting register Q 2
(hereinafter referred to as register) 12-2, when the Q 1 and Q 2 input control circuit 11 inputs an instruction to the Q 2 register 12-2, it inputs the instruction information of the F register 10. The instruction is selected and controlled so that it is set in the QX register 20 at the same time as the instruction is set in the Q2 register 12-2.

但し、Q2レジスタ12−2にセツトされな
いときには、QXレジスタ20にもセツトしな
い。
However, when it is not set in the Q2 register 12-2, it is not set in the QX register 20 either.

(d) 選択制御回路19がQ2レジスタ12−2を
選択する1サイクル前のタイミングに、Q1
Q2投入制御回路11がQ2レジスタ12−2に
命令を投入しないときには、該Q2レジスタ1
2−2をQXレジスタ20にセツトする。
(d) One cycle before the selection control circuit 19 selects the Q 2 register 12-2, Q 1 ,
When the Q 2 input control circuit 11 does not input an instruction to the Q 2 register 12-2, the Q 2 register 1
2-2 is set in the QX register 20.

以上の動作を概念的に示したものが、第1図で
あつて、横軸のF,Q2,Q1,QX,MR,ARは
前述の各レジスタを示しており、縦軸のT1〜各
時刻を示しており、〜は命令情報を示してい
る。そして、備考欄の(a)〜が上記制御条件に対応
している。
The above operation is conceptually shown in Fig. 1, in which F, Q 2 , Q 1 , QX, MR, AR on the horizontal axis indicate the above-mentioned registers, and T1 to T1 on the vertical axis. Each time is shown, and ~ shows command information. And (a) ~ in the remarks column corresponds to the above control conditions.

本図から明らかな如く、本発明を実施した場合
には、命令発信部から見たときの、QXレジスタ
20の内容は、前述の選択制御回路19が選択し
たQ1レジスタ12−1、或いはQ2レジスタ12
−2の内容と全く一致しており、且つタイミング
的にも、遅延が見られないと云う特徴がある。
As is clear from this figure, when the present invention is implemented, the contents of the QX register 20 when viewed from the instruction transmitter are the Q1 register 12-1 selected by the selection control circuit 19, or the Q 2 register 12
-2, and also has the characteristic that there is no delay in terms of timing.

以上のように制御すれば、どのような場合で
も、1マシンサイクル毎に、QXレジスタ20に
は、Q1レジスタ12−1,又はQ2レジスタ12
−2の命令のコピーが交互にセツトされることが
分かる。
If controlled as described above, in any case, the QX register 20 will contain either the Q1 register 12-1 or the Q2 register 12 for each machine cycle.
It can be seen that copies of the -2 instructions are set alternately.

つまり、QXレジスタ20からの出力は、論理
的にはセレクタSEL14の出力と同じであり、且
つタイミング的にも同じである。
In other words, the output from the QX register 20 is logically the same as the output from the selector SEL14, and also in terms of timing.

従つて、セレクタSEL14と、ブロツク間転送
の遅延時間が見えない分だけ、命令発信問題の高
速化が図れることになる。
Therefore, the problem of command transmission can be speeded up by the fact that the delay time of the selector SEL 14 and inter-block transfer is not visible.

〔作用〕[Effect]

即ち、本発明によれば、複数個の演算処理部、
又は1個乃至複数個のメモリアクセス処理部を含
む複数個の演算処理部を持つデータ処理装置にお
いて、命令発信制御部の近傍に、命令投入部で選
択された命令のコピーを格納する発信待機レジス
タQXを設け、各命令の処理サイクルの次のサイ
クルで発信条件を判定する命令を選択して格納す
るように制御することにより、発信制御を、上記
発信待機レジスタQXの内容のみで行うようにし
たものであるので、命令投入部から命令発信部迄
のブロツク間転送を意識する必要がなく、命令発
信制御の高速化が図れる効果がある。
That is, according to the present invention, a plurality of arithmetic processing units,
Alternatively, in a data processing device having a plurality of arithmetic processing units including one or more memory access processing units, a transmission standby register that stores a copy of the instruction selected by the instruction input unit near the instruction transmission control unit. By providing QX and controlling the instruction to select and store the instruction that determines the transmission condition in the next cycle of each instruction processing cycle, transmission control is performed only by the contents of the transmission standby register QX. Therefore, there is no need to be aware of inter-block transfer from the command input section to the command transmission section, and there is an effect that the speed of command transmission control can be increased.

〔実施例〕〔Example〕

以下本発明の実施例を図面によつて詳述する。 Embodiments of the present invention will be described in detail below with reference to the drawings.

前述の第2図は、本発明の一実施例の概略をブ
ロツク図で示した図であつて、投入制御回路11
からセレクタSEL14に対する命令情報のバイパ
ス通路と、QX入力選択制御回路21、発信待機
レジスタQX20が本発明を実施するのに必要な
機能ブロツクである。尚、全図を通して、同じ符
号は同じ対象物を示している。又、本実施例にお
いては、説明の便宜上、本発明に直接関係しない
レジスタ干渉チエツク回路は省略してある。
The above-mentioned FIG. 2 is a diagram schematically showing an embodiment of the present invention in the form of a block diagram, in which the input control circuit 11
A bypass path for command information from to selector SEL14, QX input selection control circuit 21, and transmission standby register QX20 are functional blocks necessary to implement the present invention. Note that the same reference numerals indicate the same objects throughout the figures. Further, in this embodiment, for convenience of explanation, a register interference check circuit that is not directly related to the present invention is omitted.

本発明を実施しても、命令の発信制御の動作も
のものは従来と変わることはないので省略し、こ
こでは、本発明のポイントである。QXレジスタ
20に対する命令情報のセツト方式を中心に説明
する。
Even if the present invention is implemented, the operation of controlling the transmission of commands will not change from the conventional one, so a description thereof will be omitted, and this is the main point of the present invention. The method of setting instruction information for the QX register 20 will be mainly explained.

先ず、選択制御回路19は従来と同じようにし
て、Q1レジスタ12−1と、Q2レジスタ12−
2を交互に選択する選択信号Sを発生し、その選
択信号Sと、Q1,Q2発信制御回路11からの、
上記Q1レジスタ12−1又は、Q2レジスタ12
−2の何れに、Fレジスタ10からの命令情報を
投入したかを示す信号Tとに基づいて、QX入力
選択制御回路21が、セレクタSEL10に対し
て、次のような制御を行う。即ち、 (a) 選択制御回路19がQ1レジスタ12−1を
選択する1サイクル前のタイミングに、Q1
Q2投入制御回路11がQ1レジスタ12−1に
命令を投入するとき、Fレジスタ10の命令情
報を選択し、該命令がQ1レジスタ12−1に
セツトされると同時に、上記バイパスルートを
通してQXレジスタ20にもセツトするように
制御する。
First, the selection control circuit 19 operates the Q1 register 12-1 and the Q2 register 12-1 in the same way as in the conventional case.
A selection signal S for alternately selecting Q 1 and Q 2 is generated, and the selection signal S and Q 1 , Q 2 from the transmission control circuit 11 are
The above Q 1 register 12-1 or Q 2 register 12
-2, the QX input selection control circuit 21 performs the following control on the selector SEL10 based on the signal T indicating to which of the input terminals the command information from the F register 10 is input. That is, (a) Q 1 ,
When the Q2 input control circuit 11 inputs an instruction to the Q1 register 12-1, it selects the instruction information in the F register 10, and at the same time that the instruction is set in the Q1 register 12-1, it inputs the instruction through the bypass route. It is also controlled to be set in the QX register 20.

但し、Q1レジスタ12−1にセツトされな
いときには、QXレジスタ20にもセツトしな
い。
However, when it is not set in the Q1 register 12-1, it is not set in the QX register 20 either.

(b) 選択制御回路19がQ1レジスタ12−1を
選択する1サイクル前のタイミングに、Q1
Q2投入制御回路11がQ1レジスタ12−1に
命令を投入しないときには、該Q1レジスタ1
2−1のみをQXレジスタ20にセツトする。
(b) One cycle before the selection control circuit 19 selects the Q 1 register 12-1, Q 1 ,
When the Q 2 input control circuit 11 does not input an instruction to the Q 1 register 12-1, the Q 1 register 1
Only 2-1 is set in the QX register 20.

(c) 選択制御回路19がQ2レジスタ12−2を
選択する1サイクル前のタイミングに、Q1
Q2投入制御回路11がQ2レジスタ12−2に
命令を投入するとき、Fレジスタ10の命令情
報を選択し、該命令がQ2レジスタ12−2に
セツトされると同時に、上記バイパスルートを
通してQXレジスタ20にもセツトするように
制御する。
(c) One cycle before the selection control circuit 19 selects the Q 2 register 12-2, Q 1 ,
When the Q2 input control circuit 11 inputs an instruction to the Q2 register 12-2, it selects the instruction information in the F register 10, and at the same time that the instruction is set in the Q2 register 12-2, it inputs the instruction through the bypass route. It is also controlled to be set in the QX register 20.

但し、Q2レジスタ12−2にセツトされな
いときには、QXレジスタ20にもセツトしな
い。
However, when it is not set in the Q2 register 12-2, it is not set in the QX register 20 either.

(d) 選択制御回路19がQ2レジスタ12−2を
選択する1サイクル前のタイミングに、Q1
Q2投入制御回路11がQ2レジスタ12−2に
命令を投入しないときには、該Q2レジスタ1
2−2のみをQXレジスタ20にセツトする。
(d) One cycle before the selection control circuit 19 selects the Q 2 register 12-2, Q 1 ,
When the Q 2 input control circuit 11 does not input an instruction to the Q 2 register 12-2, the Q 2 register 1
Set only 2-2 in the QX register 20.

ここで、Q1レジスタ12−1を選択する1
サイクル前のタイミング、又はQ2レジスタ1
2−2を選択する1サイクル前のタイミングで
あることを知ることは、上記選択信号Sの否定
をとることによつて可能である。
Here, 1 selects Q1 register 12-1.
Timing before cycle or Q 2 register 1
It is possible to know that the timing is one cycle before selecting 2-2 by negating the selection signal S.

このように、本発明においては、QXレジスタ
からの出力を、論理的に、セレクタSEL14の出
力と同じとすると共に、タイミング的にも同じと
した所に特徴がある。
As described above, the present invention is characterized in that the output from the QX register is logically the same as the output of the selector SEL14, and the timing is also the same.

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

以上、詳細に説明したように、本発明の命令制
御方式は、複数個の演算処理部、又は1個乃至複
数個のメモリアクセス処理部を含む複数個の演算
処理部を持つデータ処理装置において、命令発信
制御部の近傍に、命令投入部で選択された命令の
コピーを格納する発信待機レジスタQXを設け、
各命令の処理サイクルの次のサイクルで発信条件
を判定する命令を選択して格納するように制御す
ることにより、発信制御を、上記発信待機レジス
タQXの内容のみで行うようにしたものであるの
に命令投入部から命令発信部迄のブロツク間転送
を意識する必要がなく、命令発信制御の高速化が
図れる効果がある。
As described above in detail, the instruction control method of the present invention is applicable to a data processing device having a plurality of arithmetic processing units or a plurality of arithmetic processing units including one or more memory access processing units. A transmission standby register QX is provided near the instruction transmission control section to store a copy of the instruction selected by the instruction input section.
By controlling the instruction to select and store the instruction that determines the transmission condition in the cycle following the processing cycle of each instruction, transmission control is performed only by the contents of the transmission standby register QX. There is no need to be aware of the inter-block transfer from the command input section to the command transmission section, which has the effect of increasing the speed of command transmission control.

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

第1図は本発明の概念を説明した図、第2図は
本発明の一実施例の概略をブロツク図で示した
図、第3図はベクトルデータ処理装置の概要を示
した図、第4図は加算器ADにおけるベクトル加
算命令の処理状況を示した図、第5図はベクトル
命令列の通常の処理を示す図、第6図は後発のベ
クトル命令を先発のベクトル命令より先に実行し
た場合の命令処理を示した図、第7図は改良され
た命令制御部の一実施例をブロツク図で示した
図、第8図は命令の追い越しが行われる場合の動
作をタイムチヤートで示した図、である。 図面において、1は主記憶装置MS、3は演算
処理部、4はストア処理部、5はロード処理部、
6はベクトル・レジスタ、7は乗算器MP、8は
加算器AD、9は命令制御部、10はフエツチレ
ジスタF、11はQ1,Q2投入制御回路、12−
1,12−2は待ち合わせレジスタQ1,Q2、1
3−1,13−2,18−1,18−2はレジス
タ干渉チエツク回路、14はセレクタSEL、15
は命令発信制御回路、16は乗算レジスタMR、
17は加算レジスタAR、VM 1,2,3、VA
4,5,1、VA 7,8,9はベクトル命令、
をそれぞれ示す。
Fig. 1 is a diagram explaining the concept of the present invention, Fig. 2 is a block diagram showing an outline of an embodiment of the invention, Fig. 3 is a diagram showing an outline of a vector data processing device, and Fig. 4 is a diagram showing an outline of a vector data processing device. The figure shows the processing status of a vector addition instruction in the adder AD, Figure 5 shows the normal processing of a vector instruction sequence, and Figure 6 shows the execution of a later vector instruction before the earlier vector instruction. FIG. 7 is a block diagram showing an example of an improved instruction control unit, and FIG. 8 is a time chart showing the operation when an instruction is overtaken. Figure. In the drawing, 1 is a main storage device MS, 3 is an arithmetic processing unit, 4 is a store processing unit, 5 is a load processing unit,
6 is a vector register, 7 is a multiplier MP, 8 is an adder AD, 9 is an instruction control unit, 10 is a fetch register F, 11 is a Q1 , Q2 input control circuit, 12-
1, 12-2 are waiting registers Q 1 , Q 2 , 1
3-1, 13-2, 18-1, 18-2 are register interference check circuits, 14 is a selector SEL, 15
is an instruction transmission control circuit, 16 is a multiplication register MR,
17 is addition register AR, VM 1, 2, 3, VA
4, 5, 1, VA 7, 8, 9 are vector instructions,
are shown respectively.

Claims (1)

【特許請求の範囲】 1 複数個の演算処理部、又は1個乃至複数個の
メモリアクセス処理部を含む複数個の演算処理部
を持つデータ処理装置において、 演算実行前の命令情報を保持する複数個の待ち
合わせレジスタQ1,Q2,12−1,12−2と、
該複数個の待ち合わせレジスタQ1,Q2,12−
1,12−2の内容と、新たな命令情報とを比較
して、上記待ち合わせレジスタQ1,Q2,12−
1,12−2に投入するQ1,Q2投入制御回路1
1と、該待ち合わせレジスタQ1,Q2,12−1,
12−2に保持されている命令情報群の内から1
つの命令情報を選択する選択回路SEL14と選択
制御回路19とからなる命令投入部と、演算実行
中の命令情報を保持する複数個のレジスタMR,
AR,16,17と、該演算実行中の命令情報
と、上記待ち合わせレジスタQ1,Q2,12−1,
12−2の内から選択された命令情報とを比較す
る手段15と、該比較手段15によつて、上記命
令投入部における待ち合わせレジスタQ1,Q2
12−1,12−2に保持されている演算実行前
の命令群の内から1つを選択して、演算実行開始
を妨げる要因がないことを確認した命令を、上記
演算実行中の命令情報を保持する複数個のレジス
タMR,AR,16,17の内の“空き”レジス
タに移すと共に、該命令に対応する上記演算処理
部を起動する命令発信部とを備え、 上記命令投入部の選択回路SEL14に、上記待
ち合わせレジスタQ1,Q2,12−1,12−2
に入力する命令情報F10の出力をバイパスして
入力する手段を設けると共に、該選択回路SEL1
4によつて選択された命令情報を入力することに
よつて、各マシンサイクル毎に、該複数個の待ち
合わせレジスタQ1,Q2,12−1,12−2の
内の、何れか1つと同一の命令情報がセツトされ
る発信待機レジスタQX,20を設け、 該発信待機レジスタQX,20内の命令と、現
在演算実行中の命令情報とを比較して、演算実行
の開始を妨げる要因がないことが確認されたと
き、該命令を上記演算実行中の命令情報を保持す
る複数個のレジスタMR,AR,16,17の内
の“空き”レジスタに移すと共に、該命令に対応
する上記演算処理部を起動するようにしたことを
特徴とする命令制御方式。
[Claims] 1. In a data processing device having a plurality of arithmetic processing units or a plurality of arithmetic processing units including one or more memory access processing units, a plurality of arithmetic processing units that hold instruction information before execution of an arithmetic operation are provided. waiting registers Q 1 , Q 2 , 12-1, 12-2,
The plurality of waiting registers Q 1 , Q 2 , 12-
1, 12-2 and the new instruction information, the above-mentioned waiting registers Q 1 , Q 2 , 12-
Q 1 and Q 2 input control circuit 1 to input to 1 and 12-2
1, and the corresponding waiting registers Q 1 , Q 2 , 12-1,
1 from the instruction information group held in 12-2
an instruction input section consisting of a selection circuit SEL14 for selecting instruction information and a selection control circuit 19; a plurality of registers MR holding instruction information during execution of an operation;
AR, 16, 17, instruction information during execution of the operation, and the above-mentioned waiting registers Q 1 , Q 2 , 12-1,
12-2, and the comparison means 15 compares the waiting registers Q 1 , Q 2 , Q 2 ,
12-1 and 12-2, one of the instructions before execution of the operation is selected, and the instruction for which it has been confirmed that there are no factors preventing the start of execution of the operation is added to the instruction information during execution of the operation. an instruction issuing section that moves the instruction to an "empty" register among the plurality of registers MR, AR, 16, and 17 holding the instruction, and activates the arithmetic processing section corresponding to the instruction, and selects the instruction input section. The above-mentioned waiting registers Q 1 , Q 2 , 12-1, 12-2 are connected to the circuit SEL14.
In addition to providing means for bypassing and inputting the output of the command information F10 to be input to the selection circuit SEL1,
By inputting the instruction information selected by 4, one of the plurality of waiting registers Q 1 , Q 2 , 12-1, 12-2 is selected for each machine cycle. A transmission standby register QX, 20 is provided in which the same instruction information is set, and the instruction in the transmission standby register QX, 20 is compared with information on the instruction currently being executed to determine if there is a factor preventing the start of the operation. When it is confirmed that there is no such instruction, the instruction is moved to an "empty" register among the multiple registers MR, AR, 16, and 17 that hold information about the instruction being executed, and the above operation corresponding to the instruction is executed. An instruction control method characterized by activating a processing section.
JP26024485A 1985-11-20 1985-11-20 Instruction control system Granted JPS62119674A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26024485A JPS62119674A (en) 1985-11-20 1985-11-20 Instruction control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26024485A JPS62119674A (en) 1985-11-20 1985-11-20 Instruction control system

Publications (2)

Publication Number Publication Date
JPS62119674A JPS62119674A (en) 1987-05-30
JPH0361225B2 true JPH0361225B2 (en) 1991-09-19

Family

ID=17345354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26024485A Granted JPS62119674A (en) 1985-11-20 1985-11-20 Instruction control system

Country Status (1)

Country Link
JP (1) JPS62119674A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154829A (en) * 1997-10-20 2000-11-28 Matsushita Electric Industrial Co., Ltd. Cascaded arithmetic pipeline data processor

Also Published As

Publication number Publication date
JPS62119674A (en) 1987-05-30

Similar Documents

Publication Publication Date Title
US4591979A (en) Data-flow-type digital processing apparatus
US5832248A (en) Semiconductor integrated circuit having CPU and multiplier
US4507728A (en) Data processing system for parallel processing of different instructions
US5093920A (en) Programmable processing elements interconnected by a communication network including field operation unit for performing field operations
US3163850A (en) Record scatter variable
JPS646488B2 (en)
JPH06236273A (en) Method and system for dispatch of plurality of instructions at one cycle in superscalar processor system
EP0025087A2 (en) Pipeline Control apparatus for generating Instructions in a Digital Computer
US4739472A (en) Information processing device capable of rapidly processing instructions of different groups
JPH06242954A (en) Method and system for improving order dispatch in superscalar processor system by using middle storage area that is independently accessed
JP2008181551A (en) Vector tail gating on computers with vector registers
US4197589A (en) Operation sequencing mechanism
JPH04153733A (en) Instruction supply device of parallel processor
US4338662A (en) Microinstruction processing unit responsive to interruption priority order
US5333281A (en) Advanced instruction execution system for assigning different indexes to instructions capable of parallel execution and same indexes to instructions incapable of parallel execution
US4152763A (en) Control system for central processing unit with plural execution units
US5079694A (en) Data processing apparatus having a working memory area
US4314332A (en) Memory control system
JPS59106075A (en) Data processing system
JPH0361225B2 (en)
US5677859A (en) Central processing unit and an arithmetic operation processing unit
JPH04215129A (en) Method and apparatus for executing continuous command
JPS60178580A (en) Instruction control system
JP2638613B2 (en) Programmable accelerator and method thereof
JPS6134186B2 (en)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees