JPS63318635A - Data processor - Google Patents

Data processor

Info

Publication number
JPS63318635A
JPS63318635A JP15448987A JP15448987A JPS63318635A JP S63318635 A JPS63318635 A JP S63318635A JP 15448987 A JP15448987 A JP 15448987A JP 15448987 A JP15448987 A JP 15448987A JP S63318635 A JPS63318635 A JP S63318635A
Authority
JP
Japan
Prior art keywords
instruction
execution
unit
processor
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP15448987A
Other languages
Japanese (ja)
Other versions
JPH0827719B2 (en
Inventor
Hidekazu Matsumoto
松本 秀和
Tetsuaki Nakamikawa
哲明 中三川
Hideo Inayoshi
秀夫 稲吉
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP15448987A priority Critical patent/JPH0827719B2/en
Publication of JPS63318635A publication Critical patent/JPS63318635A/en
Publication of JPH0827719B2 publication Critical patent/JPH0827719B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To execute a data processing at high speed by a simple hardware, by providing a waiting field on an instruction, and also, providing an execution waiting control circuit and a flag on an executing means and a storing means in a pipeline processor element. CONSTITUTION:Pipeline processor elements 101, 102, 103 and 104 consist of an instruction fetching unit 122, an executing unit 123 and a storing unit 124 of the same constitution component, and the unit 123 is provided with AND gates 203, 207, etc., for executing a waiting control. Also, the unit 124 is provided with a flag 209 by which the elements 101-104 become ON, when a processing of an instruction is ended, and a control circuit 208. In this state, when a waiting field (w) in an instruction decoded by an execution waiting control circuit consisting of the gates 203 and 207, etc., provided on the unit 123 is OFF, the execution of an instruction is started immediately. Also, when the field (w) is ON when the flag 209 become ON, the execution of the instruction is started. In such a way, a data processing can be executed at high speed by a simple hardware.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は並列形のデータ処理装置に係り、特に複数のパ
イプラインプロセサから成るデータ処理装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a parallel data processing device, and particularly to a data processing device comprising a plurality of pipeline processors.

〔従来の技術〕[Conventional technology]

計算機高速化の手段として、パイプライン処理は有効な
手段であり、特に、単一のプロセスの高速化を図るため
の重要な技術となっている。しかし、単一のパイプライ
ン処理では、その性能向上に寄与するには限界がある。
Pipeline processing is an effective means for speeding up a computer, and is an important technique in particular for speeding up a single process. However, there is a limit to how much a single pipeline process can contribute to improving performance.

このため、マイクロプログラムレベルでの並列処理を狙
った低レベル並列計算機が研究されている。これは1例
えば、第13回コンピュータアーキテクチャ学会(19
86)第280頁から第289頁(3t h  Sym
posiumon Computer Archite
cture、pp280−289.1986)に論じら
れている。
For this reason, low-level parallel computers aiming at parallel processing at the microprogram level are being researched. This is 1For example, the 13th Computer Architecture Society (19th
86) Pages 280 to 289 (3th Sym
posiumon Computer Architecture
ture, pp 280-289.1986).

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

上記従来技術は、マイクロプログラムのレベルで並列処
理を行わしめるものであるため、マイクロプログラムの
作成が複雑であること、マイクロプログラムレベルでの
並列処理であるため、並列化率があまり高くならないこ
と、ハードウェアが複雑になること、細かな制御を行う
ためにはマクロ命令の数が膨大になること、したがって
、効率的なコンパイラを開発することが困難であること
、などの点で問題があった。
Since the above-mentioned conventional technology performs parallel processing at the microprogram level, the creation of the microprogram is complicated.Since the above conventional technology performs parallel processing at the microprogram level, the parallelization rate does not become very high. Problems included the complexity of the hardware, the large number of macro instructions needed to perform detailed control, and the difficulty of developing an efficient compiler. .

本発明の目的は、単一のプロセスの高速化に対して、マ
ルチプロセサの考え方を導入して、繰返しを主体として
シンプルなハードウェアで高速のデータ処理装置を提供
することにある。
An object of the present invention is to introduce a multiprocessor concept to speed up a single process, and to provide a high-speed data processing device that uses simple hardware and is mainly based on repetition.

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

上記目的は、単一命令ストリームを実行する複数のパイ
プラインプロセサによりデータ処理装置を構成し、各パ
イプラインプロセサにプロセサ間の待合せ制御機構を設
けることにより、達成される。
The above object is achieved by configuring a data processing device with a plurality of pipeline processors that execute a single instruction stream, and providing each pipeline processor with an inter-processor queuing control mechanism.

〔作用〕[Effect]

個別のパイプラインプロセサエレメントは、単一の命令
ストリームから命令を取出して、実行する。データ処理
装置には複数のパイプラインプロセサエレメントが含ま
れ、これらは並列に動作するので、単一の命令ストリー
ムに対して、並列処理が行われる。プロセサエレメント
間で待合せ制御が必要な場合には、待合せを行う命令を
用意し、この命令を実行したときには、他プロセサの状
態を監視してそれらの動作終了を待って自プロセサでの
命令実行を始めることにより、待ち制御を簡単に行え、
簡単な機構で処理を高速化できる。
Separate pipeline processor elements take and execute instructions from a single instruction stream. The data processing device includes a plurality of pipeline processor elements that operate in parallel, so that parallel processing is performed on a single instruction stream. If queuing control is required between processor elements, prepare an instruction that performs queuing, and when this instruction is executed, it monitors the status of other processors, waits for their operations to finish, and then executes the instruction in its own processor. By starting, you can easily perform waiting control,
Processing can be sped up with a simple mechanism.

〔実施例〕〔Example〕

以下、図面を参照して本発明の一実施例を説明する。第
2図は、本発明を実施するデータ処理装置の全体の構成
を示している。処理装置は、プロセサユニット(PU)
10.メモリコントロールユニット(MCU)20.メ
インメモリ(MM)30、I10プ0−1=4+ (I
OP)40と、:れを接続する信号線群15,25,3
5から構成さ゛れる。もちろん、上記以外の構成要素も
存在するが、本発明の理解には必要ないので省略してい
る。プロセサユニット10はメインメモリ30に格納さ
れている命令及びオペランドデータをメモリコントロー
ルユニット20を介して取り込み、命令を実行する。I
10プロセサ40は入出力制御用のプロセサである。本
発明は、この中で、プロセサユニット10に関するもの
であるため、以下ではこれを主として説明する。もちろ
んI10プロセサ40もプロセサであるため、本発明が
適用できる。
Hereinafter, one embodiment of the present invention will be described with reference to the drawings. FIG. 2 shows the overall configuration of a data processing device implementing the present invention. The processing device is a processor unit (PU)
10. Memory control unit (MCU)20. Main memory (MM) 30, I10 pu 0-1=4+ (I
OP) Signal line group 15, 25, 3 connecting 40 and :
It consists of 5 parts. Of course, there are other components other than those described above, but they are omitted because they are not necessary for understanding the present invention. The processor unit 10 takes in instructions and operand data stored in the main memory 30 via the memory control unit 20, and executes the instructions. I
10 processor 40 is a processor for input/output control. Since the present invention relates to the processor unit 10, this will be mainly explained below. Of course, since the I10 processor 40 is also a processor, the present invention can be applied to it.

第3図は、プロセサユニット10の内部構成を示すブロ
ック図である。プロセサユニット10は複数のパイプラ
インプロセサエレメント(P P #2、PP#3.P
P#4)101,102,103゜104(以下単にプ
ロセサエレメントという)と共通リソース管理部(CR
M)105から成る。
FIG. 3 is a block diagram showing the internal configuration of the processor unit 10. The processor unit 10 includes a plurality of pipeline processor elements (PP#2, PP#3.P
P#4) 101, 102, 103゜104 (hereinafter simply referred to as processor element) and common resource management unit (CR
M) Consists of 105.

本実施例では、4組のプロセサエレメントを待つが、こ
の数は4組に制限されず、任意の数に対して本発明は適
用可能である。
In this embodiment, four sets of processor elements are waited for, but this number is not limited to four, and the present invention is applicable to any number.

各プロセサエレメント101〜104は、信号線群11
1,112,113,114によって共通リソース管理
部105と結合されており、単体としてマイクロ命令を
処理できる。そしてリソースの競合が起こらない限り、
他のプロセサエレメントと独立に動作できるものである
Each processor element 101 to 104 has a signal line group 11
It is connected to the common resource management unit 105 by 1, 112, 113, and 114, and can process microinstructions as a single unit. And as long as there is no resource contention,
It can operate independently from other processor elements.

第4図はプロセサエレメント101の構成を示すブロッ
ク図で、他も同じ構成であって命令フェッチユニット(
IU)121.命令デコードユニット(DU)122.
実行ユニット(EU)123゜ストアユニッチ(SU)
124がら成る。上記の各ユニットは各々独立に動作し
、4段のパイプライン処理を実現する。
FIG. 4 is a block diagram showing the configuration of the processor element 101. The other components have the same configuration and the instruction fetch unit (
IU) 121. Instruction decode unit (DU) 122.
Execution unit (EU) 123° Store unit (SU)
It consists of 124 pieces. Each of the above units operates independently to realize four-stage pipeline processing.

命令フェッチユニット121は命令のアドレスを信号線
134を介して送出し、フェッチした命令を信号線13
5を介して受取る。デコードユニット122は、命令フ
ェッチユニット121でフェッチした命令を信号線13
1を介して受取り、デコードした結果を信号5132を
介して実行ユニット123に送る。実行ユニツl−12
3はデコード結果を受けて命令を実行し、実行結果をス
トアユニット124に信号線133を介して送る。
The instruction fetch unit 121 sends the address of the instruction via the signal line 134, and transfers the fetched instruction to the signal line 13.
Receive via 5. The decode unit 122 transfers the instruction fetched by the instruction fetch unit 121 to the signal line 12.
1 and sends the decoded result to the execution unit 123 via signal 5132. Execution unit l-12
3 executes the instruction upon receiving the decoding result, and sends the execution result to the store unit 124 via the signal line 133.

ストアユニット124は受取った実行結果を信号線14
0を介して、共通リソース管理部105へ送る。バス1
30は各ユニット間のデータ転送を行うためのパスであ
る。信号線136はオペランドのアドレス及びレジスタ
のアドレスを共通リソース管理部105に送る信号線、
信号線138゜139はレジスタのリードデータを受は
取るためのもの、信号線137はメモリリードオペラン
ドを受は取るためのものである。
The store unit 124 stores the received execution results on the signal line 14.
0 to the common resource management unit 105. bus 1
30 is a path for transferring data between each unit. A signal line 136 is a signal line that sends operand addresses and register addresses to the common resource management unit 105.
Signal lines 138 and 139 are for receiving and receiving register read data, and signal line 137 is for receiving and receiving memory read operands.

第5図は共通リソース管理部105の内部構成を示すブ
ロック図である。命令フェッチセレクタ(IFS)15
1は、各プロセサエレメントのフェッチ要求と命令フェ
ッチアドレスを信号線134を介して受取り、共通メモ
リブロック内へのアクセスである場合には1つのメモリ
アクセスにまとめて、異なるメモリブロックの場合には
到着順に。
FIG. 5 is a block diagram showing the internal configuration of the common resource management section 105. Instruction fetch selector (IFS) 15
1 receives the fetch request and instruction fetch address of each processor element via the signal line 134, and if the access is to a common memory block, it is combined into one memory access, and if the access is to a different memory block, the instruction fetch address is received. In order.

アクセス要求とメモリアドレスをメモリアクセスコント
ローラ153に信号線161を介して送る。
The access request and memory address are sent to the memory access controller 153 via the signal line 161.

オペランドアクセスセレクタ(OAS)152は、各プ
ロセサエレメントのフェッチ要求とそのアドレスを信号
線136を介して受取り、共通メモリブロック内へのア
クセスである場合には1つのメモリアクセスにまとめて
、異なるメモリブロックの場合には到着順に、アクセス
要求とメモリアドレスをメモリアクセスコントローラ1
53へ信号線162を介して送る。メモリアクセスコン
トローラ(AM)153は、命令フェッチセレクタ15
1又はオペランドアクセスセレクタ152から受取った
アドレスを物理アドレスに変換し、信号[165を介し
てメインメモリ30をアクセスする。リードバッファ(
RB)157はメインメモリ30から信号線166を介
して受取ったり−ドデータをバッファリングして、命令
フェッチデータの場合命令ディストリビュータ154に
、オペランドデータの場合オペランドディストリビュー
タ156に送る。命令ディストリビュータ(ID)15
4は、リードバッファ157から信号線163を介して
受取った命令を、要求したプロセサエレメントに信号線
135を介して送る。オペランドディストリビュータ(
OD)156は、リードバッファ157から信号線16
4を介して受取ったオペランドデータを、要求したプロ
セサエレメントに信号線137を介して送る。レジスタ
ファイル(RF)158は、リードボートとして8組。
An operand access selector (OAS) 152 receives the fetch request and its address of each processor element via the signal line 136, and if the access is to a common memory block, it is combined into one memory access, and if the fetch request is to a common memory block, it is combined into one memory access, In this case, access requests and memory addresses are sent to memory access controller 1 in the order of arrival.
53 via the signal line 162. A memory access controller (AM) 153 includes an instruction fetch selector 15
1 or converts the address received from the operand access selector 152 into a physical address and accesses the main memory 30 via the signal [165. Read buffer (
RB) 157 buffers the read data received from main memory 30 via signal line 166 and sends it to instruction distributor 154 in the case of instruction fetch data and to operand distributor 156 in the case of operand data. Instruction distributor (ID) 15
4 sends the command received from the read buffer 157 via the signal line 163 to the requested processor element via the signal line 135. operand distributor (
OD) 156 is the signal line 16 from the read buffer 157.
The operand data received via line 137 is sent to the requested processor element via signal line 137. There are 8 sets of register files (RF) 158 as read ports.

ライトポートとして4組、計12ボートを持ち。It has 12 boats in total, 4 groups serving as light ports.

プロセサエレメント毎に、2組のリードデータを信号線
138,139を介して送り、ライトデータを信号14
0を介して受取る。ストアバッファ(SB)159は、
信号線140を介して受取ったライトデータと、信号線
165を介して受取ったメモリアドレスを受取り、メイ
ンメモリ30への書込みを信号線167tt介して行う
For each processor element, two sets of read data are sent via signal lines 138 and 139, and write data is sent via signal line 14.
Receive via 0. The store buffer (SB) 159 is
It receives the write data received via the signal line 140 and the memory address received via the signal line 165, and writes it into the main memory 30 via the signal line 167tt.

第6図は各プロセサエレメントが実行するマイクロ命令
(機械語)の命令フォーマットを示している。全ての命
令は32ビツトの固定長とすることにより、命令のデコ
ードを行わなくとも、次の命令の位置を検出できるよう
な、いわゆるRISC(Reduced In5tru
ction Set Computer)と呼ばれる命
令形式を採用する。RISCに関しては、例えば、アイ
・イー・イー・イー、コンピュータ、 1982年9月
号第11頁(I E E E 、 Computer、
ppH。
FIG. 6 shows the instruction format of microinstructions (machine language) executed by each processor element. By setting all instructions to a fixed length of 32 bits, it is possible to detect the position of the next instruction without decoding the instruction.
An instruction format called ction Set Computer) is adopted. Regarding RISC, for example, IEE, Computer, September 1982 issue, page 11 (IEE, Computer,
ppH.

September、 1982)に参照される。September, 1982).

本命令形式では、ロード、ストア、ブランチ命令以外の
命令は全て、レジスタオペランドまたはイミーデイエイ
トオペランドを取る。
In this instruction format, all instructions other than load, store, and branch instructions take register operands or immediate-eight operands.

第6図(a)は全てのオペランドがレジスタの場合の命
令形式を示す。オペレーションの種類を示すオペコード
(OP)フィールド、待ちのテストを行うことを指示す
る(W)フィールド、レジスタの番号を指示する(Rs
l、 Rsz、 Ri)フィールドを含む。
FIG. 6(a) shows the instruction format when all operands are registers. Opcode (OP) field that indicates the type of operation, (W) field that instructs to perform a wait test, and (Rs) field that indicates the register number.
1, Rsz, Ri) fields.

第6図(b)は、ロード、ストア、ブランチ命令のよう
にメモリアドレスの計算が必要となる命令の形式を示し
ている。R5,R−フィールドはレジスタ番号を指定し
、Dispフィールドはオフセット値を与える。なお第
6図では、WフィールドをOPフィールドから独立して
与えているが。
FIG. 6(b) shows the format of instructions such as load, store, and branch instructions that require calculation of memory addresses. The R5, R- field specifies the register number and the Disp field gives the offset value. Note that in FIG. 6, the W field is provided independently from the OP field.

OPフィールド内にWフィールドをコード化・して含め
ることも、もちろん可能である。
Of course, it is also possible to code and include the W field within the OP field.

次に、各プロセサエレメントの動作について説明する。Next, the operation of each processor element will be explained.

第7図、第8図はプロセサユニット10全体のパイプラ
インステージフローを示している。
7 and 8 show the pipeline stage flow of the entire processor unit 10.

このうち第7図は、全プロセサエレメントでパイプライ
ンに空きが全く生じない場合を示している。
Of these, FIG. 7 shows a case where there is no vacant space in the pipeline for all processor elements.

各プロセサエレメントはデコード、実行、ストアの各ユ
ニット122,123,124で、1マシンサイクルピ
ツチで命令を処理している。各プロセサエレメントは命
令ストリーム中の4つの離れた命令を順次実行する。例
えばプロセサエレメント101では、命令nの次は命令
n+4、次に命令n+8の順に実行する。同様にプロセ
サエレメント102では、命令n+1の次には命令n+
5、次に命令n+9の順に実行する。同一のパイプライ
ンステージで実行されている命令は、隣近するプロセサ
レメント間では、分岐命令が発行されない限り、1(又
は3)だけ違うだけである0例えばt5サイクルの実行
ユニット123で実行中の命令はプロセサエレメント1
01では、命令n+8、プロセサエレメント102では
命令n’+9、プロセサエレメント103では命令n+
10゜プロセサエレメント104では命令n+11であ
る。
Each processor element has decode, execute, and store units 122, 123, and 124 that process instructions at one machine cycle pitch. Each processor element sequentially executes four separate instructions in the instruction stream. For example, in the processor element 101, after instruction n, instruction n+4 is executed, and then instruction n+8 is executed in this order. Similarly, in the processor element 102, the instruction n+1 is followed by the instruction n+1.
5. Next, execute instruction n+9 in order. Instructions being executed in the same pipeline stage differ by only 1 (or 3) between adjacent processor elements, unless a branch instruction is issued. The instruction is processor element 1
01, instruction n+8, processor element 102 instruction n'+9, processor element 103 instruction n+
In the 10° processor element 104, the instruction is n+11.

第8図は、他の命令実行終了を待って、その命令の実行
を行う場合のパイプラインステージフローを示している
。第8図で、命令n、n+1.n+2.n+3.n+4
.n+5.n+6.n+7は前の命令の実行状態に依ら
ず実行される命令である。このように先行する命令の実
行状態によらずに実行できることを表すため、命令語の
Wフィールドを“0” (即ち待合せしないことを示す
)とする、一方、命令n+8は、先行する命令の実行が
終了するのを待って実行される命令である。
FIG. 8 shows a pipeline stage flow when executing an instruction after waiting for the completion of execution of another instruction. In FIG. 8, instructions n, n+1. n+2. n+3. n+4
.. n+5. n+6. n+7 is an instruction that is executed regardless of the execution state of the previous instruction. In order to indicate that it can be executed regardless of the execution state of the preceding instruction, the W field of the instruction word is set to "0" (in other words, indicating that there is no waiting).On the other hand, instruction n+8 is executed without depending on the execution state of the preceding instruction. This is an instruction that is executed after waiting for the completion of the process.

これは、例えば、先行する命令の実行結果を使って演算
を行うような場合、このような待合せが必要となる。命
令n+8を実行するプロセサエレメント101はt4サ
イクルで命令デコード終了後、全てのプロセサエレメン
トで先行する命令の実行が終了する(即ち、全てのプロ
セサエレメントのストアユニット24の実行が完了する
)のを待ち、終了後実行ユニット123での実行を開始
する。このように先行する命令の実行終了を待つ場合に
は、命令語のWフィールドをgg 1 ##とする。
This kind of waiting is necessary, for example, when an operation is performed using the execution result of a preceding instruction. The processor element 101 that executes instruction n+8 waits for all processor elements to finish executing the preceding instruction (that is, for all processor elements to finish executing the store unit 24) after completing instruction decoding in cycle t4. , starts execution in the execution unit 123 after completion. In this way, when waiting for the completion of execution of the preceding instruction, the W field of the instruction word is set to gg 1 ##.

他のプロセサエレメント102〜104はプロセサエレ
メント101と同期をとるため、命令n+8に後続する
命令n + 9 、 n + 10 * n + 11
の3命令についても、命令n+8と同様Wフィールドを
“1”とする、これによる待ち状態を第8図では点線で
示しており、t5サイクルでは全プロセサエレメントの
実行ユニットが待ちとなっている。
Since the other processor elements 102 to 104 are synchronized with the processor element 101, the instructions n+9, n+10*n+11 following the instruction n+8
For the three instructions, the W field is set to "1" similarly to instruction n+8, and the resulting wait state is shown by dotted lines in FIG. 8, and in the t5 cycle, the execution units of all processor elements are in the wait state.

上記の命令待ち合わせ機能を実現するための、本発明の
特徴とする回路の実施例を第1図に示す。
FIG. 1 shows an embodiment of a circuit, which is a feature of the present invention, for realizing the above-mentioned instruction waiting function.

同図において、4組のプロセサエレメント101〜10
4 (PP#1〜#4)は同じ構成要素を持つため、こ
れらを区別する目的で、各ユニットを示す符号の後に$
n (n=1+ 2e 3* 4)を付加している。
In the figure, four sets of processor elements 101 to 10
4 (PP#1 to #4) have the same components, so to distinguish them, $ is added after the code indicating each unit.
n (n=1+2e3*4) is added.

命令フェッチユニット122は、命令をデコードする命
令デコーダ(ID#1)201.該デコード結果をラッ
チするラッチ(DR#1)202を有する。実行ユニッ
ト123は、待制御を行うためのアンドゲート203,
204,207.オアゲート206.インバータ205
を有する。ストアユニット124は、制御回路(SC#
1)208とストアユニットがアイドル中又は次のサイ
クルでアイドルとなることを示すフラグ(ST#1)2
Q9を有する。このフラグ209は制御回路208から
の信号線229によってセット/リセットされる。
The instruction fetch unit 122 includes an instruction decoder (ID#1) 201 . It has a latch (DR#1) 202 that latches the decoded result. The execution unit 123 includes an AND gate 203 for performing wait control,
204, 207. Orgate 206. Inverter 205
has. The store unit 124 includes a control circuit (SC#
1) 208 and a flag (ST#1) 2 indicating that the store unit is idle or will become idle in the next cycle
It has Q9. This flag 209 is set/reset by a signal line 229 from the control circuit 208.

このような構成において、Wフィールドが110 ##
の命令を命令デコーダ201がデコードして、その結果
をラッチ202にセットすると、待ち制御を必要としな
い命令であることを実行ユニット123に指示する信号
線211がaO″となる。
In such a configuration, the W field is 110 ##
When the instruction decoder 201 decodes the instruction and sets the result in the latch 202, the signal line 211 that instructs the execution unit 123 that the instruction does not require wait control becomes aO''.

これによってオアゲート出力は# 1 $1となり、ク
ロック信号223はアンドゲート207を通って、実行
ユニット123の全ラッチゲートへのクロック信号22
4として出力される。
This causes the OR gate output to be # 1 $1, and the clock signal 223 passes through the AND gate 207 to the clock signal 22 to all latch gates of the execution unit 123.
Output as 4.

一方、命令のWフィールドが1”で、待ち制御を必要と
するときは信号線211が111 )lとなり、このと
きはアンドゲート203の出力222が“1″の時だけ
オアゲート203の出力はJ”になる。ところが各プロ
セサエレメント101〜104のストアユニット(SU
#1〜#4)のいずれかが動作中であると各フラグ20
9 (SI#1〜#4)の該当するものが0”でアンド
ゲート203出力も410 IIIになり、実行ユニッ
ト123は待ち状態になる。そしてすべてのプロセサエ
レメント101〜104すべての動作が終了してフラグ
がすべて“1”になったとき、ゲート203の出力22
2はN 1 ytとなってフロック信号224が出力さ
れ、実行ユニット123が実行処理を行う。
On the other hand, when the W field of the instruction is "1" and wait control is required, the signal line 211 becomes 111)l, and in this case, the output of the OR gate 203 is J only when the output 222 of the AND gate 203 is "1". "become. However, the store unit (SU) of each processor element 101 to 104
If any of #1 to #4) is in operation, each flag 20
9 (SI #1 to #4) is 0'', the AND gate 203 output also becomes 410 III, and the execution unit 123 enters the wait state.Then, all operations of all processor elements 101 to 104 are completed. When all the flags become “1”, the output 22 of the gate 203
2 becomes N 1 yt, a flock signal 224 is output, and the execution unit 123 performs execution processing.

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

本発明によれば、単純な論理を繰り返し用いて構成した
複数のパイプラインプロセサエレメントによりデータ処
理装置を構成でき、複雑なロジックを有する単一プロセ
サにより構成された従来のデータ処理装置に比べて、よ
り高速な性能を実現できるという効果がある。
According to the present invention, a data processing device can be configured by a plurality of pipeline processor elements configured by repeatedly using simple logic, and compared to a conventional data processing device configured by a single processor having complex logic, This has the effect of realizing faster performance.

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

第1図は本発明の装置の待ち制御の一実施例を示すブロ
ック図、第2図は本発明を適用するデータ処理装置の全
体構成を示すブロック図、第3図は本発明の適用対象と
なるプロセサ部の構成を示すブロック図、第4図及び第
5図は第3図の詳細を示すブロック図、第6図は本発明
の一実施例で採用している命令形式を示す図、第7図及
び第8図は本発明の一実施例の動作シーケンスを説明す
るステージフロー図である。 101.102,103,104・・・パイプラインプ
ロセサエレメント、122・・・命令デコードユニット
、123・・・実行ユニット、124・・・ストアユニ
ット、203,204,205,206,207・・・
ゲート、2o9・・・フラグ。
FIG. 1 is a block diagram showing an embodiment of wait control of the device of the present invention, FIG. 2 is a block diagram showing the overall configuration of a data processing device to which the present invention is applied, and FIG. 4 and 5 are block diagrams showing the details of FIG. 3. FIG. 6 is a diagram showing the instruction format adopted in an embodiment of the present invention. 7 and 8 are stage flow diagrams illustrating the operation sequence of an embodiment of the present invention. 101.102, 103, 104... Pipeline processor element, 122... Instruction decode unit, 123... Execution unit, 124... Store unit, 203, 204, 205, 206, 207...
Gate, 2o9...flag.

Claims (1)

【特許請求の範囲】[Claims] 1、命令のデコード手段と、該手段によりデコードされ
た命令を実行する実行手段と、該手段による処理結果を
メモリへ格納する格納手段とをパイプラインステージと
して有するところの同一のパイプライン構造のプロセサ
エレメントを複数個設け、該プロセサエレメントの各々
によつて単一ストリームの命令を順次サイクリツクに処
理するように構成したデータ処理装置において、命令に
待ちフィールドを設け、上記プロセサエレメント内の格
納手段に当該プロセサエレメントが命令の処理終了時に
オンとされるフラグを設け、さらに上記プロセサエレメ
ント内の実行手段に実行待ち制御回路を設けるとともに
、該実行待ち制御回路は、デコードされた命令の上記待
ちフィールドがオフの時は当該命令の実行を直ちに開始
し、デコードされた命令の上記待ちフィールドがオンの
ときはすべての上記格納手段のフラグがオンになつたと
きに当該命令の実行を開始するように、対応する実行手
段を制御する機能を有したことを特徴とするデータ処理
装置。
1. Processors with the same pipeline structure, each having as a pipeline stage an instruction decoding means, an execution means for executing the instruction decoded by the means, and a storage means for storing the processing result by the means in memory. In a data processing device that includes a plurality of elements and is configured such that a single stream of instructions is sequentially and cyclically processed by each of the processor elements, a waiting field is provided for the instructions, and the storage means in the processor element is provided with a waiting field. A processor element is provided with a flag that is turned on when processing of an instruction is completed, and an execution wait control circuit is provided in the execution means in the processor element, and the execution wait control circuit is configured to turn off the wait field of the decoded instruction. , the execution of the instruction is started immediately, and when the wait field of the decoded instruction is on, the execution of the instruction is started when the flags of all the storage means are turned on. What is claimed is: 1. A data processing device having a function of controlling execution means.
JP15448987A 1987-06-23 1987-06-23 Data processing device Expired - Fee Related JPH0827719B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15448987A JPH0827719B2 (en) 1987-06-23 1987-06-23 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15448987A JPH0827719B2 (en) 1987-06-23 1987-06-23 Data processing device

Publications (2)

Publication Number Publication Date
JPS63318635A true JPS63318635A (en) 1988-12-27
JPH0827719B2 JPH0827719B2 (en) 1996-03-21

Family

ID=15585361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15448987A Expired - Fee Related JPH0827719B2 (en) 1987-06-23 1987-06-23 Data processing device

Country Status (1)

Country Link
JP (1) JPH0827719B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01310445A (en) * 1988-06-08 1989-12-14 Nippon Telegr & Teleph Corp <Ntt> Parallel arithmetic processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01310445A (en) * 1988-06-08 1989-12-14 Nippon Telegr & Teleph Corp <Ntt> Parallel arithmetic processor

Also Published As

Publication number Publication date
JPH0827719B2 (en) 1996-03-21

Similar Documents

Publication Publication Date Title
US6272616B1 (en) Method and apparatus for executing multiple instruction streams in a digital processor with multiple data paths
US5179530A (en) Architecture for integrated concurrent vector signal processor
JP2810068B2 (en) Processor system, computer system, and instruction processing method
US5640524A (en) Method and apparatus for chaining vector instructions
US4740893A (en) Method for reducing the time for switching between programs
JP2550213B2 (en) Parallel processing device and parallel processing method
US5133077A (en) Data processor having multiple execution units for processing plural classs of instructions in parallel
US10678541B2 (en) Processors having fully-connected interconnects shared by vector conflict instructions and permute instructions
US6330657B1 (en) Pairing of micro instructions in the instruction queue
JPH11154144A (en) Method and device for interfacing processor to coprocessor
JP2004171573A (en) Coprocessor extension architecture built by using novel splint-instruction transaction model
JP2653037B2 (en) Data processing system
JPH09237184A (en) Instruction executing method and its device
US6654870B1 (en) Methods and apparatus for establishing port priority functions in a VLIW processor
US4803615A (en) Microcode control of a parallel architecture microprocessor
JP2680828B2 (en) Digital device
JPS63318635A (en) Data processor
JPS5916071A (en) Parallel processing system
JP3102399B2 (en) Data processing apparatus and method
EP0015276B1 (en) A digital pipelined computer
JPH02211534A (en) Parallel processor
JP2545594B2 (en) Operand data prefetching method
JPS6153754B2 (en)
JPS58114250A (en) Common microprocessor
JP2927281B2 (en) Parallel processing unit

Legal Events

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