JPH04175930A - Data processor - Google Patents

Data processor

Info

Publication number
JPH04175930A
JPH04175930A JP30242290A JP30242290A JPH04175930A JP H04175930 A JPH04175930 A JP H04175930A JP 30242290 A JP30242290 A JP 30242290A JP 30242290 A JP30242290 A JP 30242290A JP H04175930 A JPH04175930 A JP H04175930A
Authority
JP
Japan
Prior art keywords
register
input
instruction
instructions
read
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
JP30242290A
Other languages
Japanese (ja)
Other versions
JP2915131B2 (en
Inventor
Makoto Hanawa
花輪 誠
Tadahiko Nishimukai
西向井 忠彦
Osamu Nishii
修 西井
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 JP30242290A priority Critical patent/JP2915131B2/en
Publication of JPH04175930A publication Critical patent/JPH04175930A/en
Application granted granted Critical
Publication of JP2915131B2 publication Critical patent/JP2915131B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To process instructions at a high speed by providing a bypass means for setting outputs of plural computing elements in the input registers of the computing elements directly. CONSTITUTION:A processor 100 which executes two instructions in parallel consists principally of a register file 110, two computing elements 120 and 130, instruction registers 140, 141, 150, 151, 160, and 161, and an instruction buffer 180. The computing elements 120 and 130 are connected to A-side input registers 121 and 131 and B-side input registers 122 and 132, and selectors 124 and 125, and 134 and 135 are connected to the input ports of input registers 121 and 122, and 131 and 132 respectively. The selectors select the readout port of the register file and one of the outputs 126 and 136 of the two computing elements and input them to the input registers. Consequently, the instructions can be processed at a high speed.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプロセッサの如きデータ処理装置に
係わり、特に、並列処理RISCプロセッサの複数命令
同時実行の処理方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a data processing device such as a microprocessor, and particularly to a processing method for simultaneous execution of multiple instructions in a parallel processing RISC processor.

〔従来の技術〕[Conventional technology]

従来の装置は、特開昭63−49843号公報に記載の
ように、演算器の入力レジスタの入力はレジスタファイ
ルの出力ポートのみに接続し、演算器の出力は、演算器
固有の出力ポートのみに接続していた。
In the conventional device, as described in Japanese Patent Application Laid-Open No. 63-49843, the input of the input register of the arithmetic unit is connected only to the output port of the register file, and the output of the arithmetic unit is connected only to the output port specific to the arithmetic unit. was connected to.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上記従来例では、命令を(1)レジスタ読出し。 In the above conventional example, the command is (1) read register.

(2)演算、(3)レジスタ書込みの3ステージに分け
て実行するパイプライン処理方式を採用する際、レジス
タ読出しのステージにある命令の読出しレジスタ番号が
、演算ステージにある命令の書込みレジスタ番号に一致
する場合について配慮されておらず、演算ステージにあ
る命令の実行結果が、引き続く命令であるレジスタ読出
しステージにある命令のオペランドデータに反映されな
いという問題があった。
When adopting a pipeline processing method that executes in three stages: (2) operation and (3) register write, the read register number of the instruction in the register read stage is the same as the write register number of the instruction in the operation stage. There is no consideration given to the case of coincidence, and there is a problem in that the execution result of an instruction in the arithmetic stage is not reflected in the operand data of a subsequent instruction, that is, an instruction in the register read stage.

本発明の目的は、上記の場合のようにレジスタ番号が一
致しても、演算ステージにある命令の実行結果が、正し
く次の命令(つまり、レジスタ読出しくステージにある
命令)に反映できる手段を提供することにある。
An object of the present invention is to provide a means by which the execution result of an instruction in the calculation stage can be correctly reflected in the next instruction (that is, the instruction in the register read stage) even if the register numbers match as in the above case. It is about providing.

本発明の他の目的は、上記の場合のようにレジスタ番号
が一致しても、デイレイサイクルを挿入することなく、
演算ステージにある命令の実行結果を正しく次の命令に
反映できる手段を提供することにある。
Another object of the present invention is to avoid inserting a delay cycle even if the register numbers match as in the above case.
The purpose of the present invention is to provide a means for correctly reflecting the execution result of an instruction in an arithmetic stage on the next instruction.

本発明の更にまた他の目的は、上記の場合のようにレジ
スタ番号が一致しても、デイレイサイクルを挿入するこ
となく、演算ステージにある複数の命令の実行結果を、
正しく次の複数の命令に反映できる手段を提供すること
にある。
Still another object of the present invention is to process the execution results of multiple instructions in the arithmetic stage without inserting a delay cycle even if the register numbers match as in the above case.
The purpose is to provide a means that can correctly reflect the following commands.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するために、演算器の入力レジスタの入
力は、レジスタファイルの出力ポートのみならず、演算
器の出力も接続されており1選択的にデータ入力ができ
るようにしたものである。
In order to achieve the above object, the input of the input register of the arithmetic unit is connected not only to the output port of the register file but also to the output of the arithmetic unit, so that data can be input selectively.

また、レジスタ読出しステージにある命令の読出しレジ
スタフィールドと、演算ステージにある命令の書込みレ
ジスタフィールドを比較する手段を設け、一致した場合
には、レジスタファイルからの読出しの代わりに、該当
する演算器の出力を直接、演算器の入力レジスタヘセッ
トする手段を設けたものである。
In addition, a means is provided to compare the read register field of the instruction in the register read stage and the write register field of the instruction in the arithmetic stage, and if they match, instead of reading from the register file, the register field of the corresponding arithmetic unit is read. A means is provided for directly setting the output to the input register of the arithmetic unit.

〔作用〕[Effect]

並列に実行される複数(n個)の命令のうち。 Among multiple (n) instructions executed in parallel.

第1番目の命令は、第1番目の演算器で演算されるもの
とする。
It is assumed that the first instruction is operated by the first arithmetic unit.

レジスタ読出しステージにある複数の命令のうち第1番
目の命令(第1の命令)において、上記第1の命令の読
出しレジスタ番号が、演算ステージにあるn個の命令の
書込みレジスタ番号のどれとも一致しない場合は、レジ
スタファイルから該当するレジスタ番号の内容を読出し
て、第1番目の演算器の入力レジスタヘセットする。一
方、演算ステージにあるn個の命令のうち第j番目の命
令(第2の命令)の書込みレジスタ番号と一致する場合
には、レジスタファイルからの読出しの代わりに、第j
番目の演算器の演算結果を、直接、第1番目の演算器の
入力レジスタヘセットする。
In the first instruction (first instruction) among multiple instructions in the register read stage, the read register number of the first instruction matches any of the write register numbers of the n instructions in the calculation stage. If not, the contents of the corresponding register number are read from the register file and set in the input register of the first arithmetic unit. On the other hand, if it matches the write register number of the j-th instruction (second instruction) among the n instructions in the calculation stage, the j-th instruction is written instead of reading from the register file.
The operation result of the th arithmetic unit is directly set to the input register of the 1st arithmetic unit.

それによって、第1の命令は、第2の命令の実行結果を
正しく反映することができるので、誤動作することはな
い。
Thereby, the first instruction can correctly reflect the execution result of the second instruction, so that malfunctions will not occur.

また、演算ステージにある複数の命令の書込みレジスタ
番号が、一致しているときに、更にこのレジスタ番号に
、上記第1の命令の読出しレジスタ番号が一致した場合
には、レジスタ番号が一致した命令のうちで本来、最も
遅く実行されるはずの命令、つまり番号の最も大きい命
令(第3の命令)に対応する演算器の出力を選んで、第
1番目の演算器の入力レジスタファイルする。また、レ
ジスタファイルへの書込みにおいても、上記第3の命令
の実行結果が有効になるように、第3の命令の演算結果
のみを書込み、書込みレジスタ番号の一致している他の
命令の演算結果をレジスタファイルへ書込まないように
する。これにより、レジスタファイルの内容及び第1の
命令において、第3の命令の実行結果が有効となり、誤
動作することはない。
In addition, when the write register numbers of multiple instructions in the calculation stage match, and if this register number also matches the read register number of the first instruction, the instruction with the matching register number Among them, the output of the arithmetic unit corresponding to the instruction that is originally supposed to be executed the slowest, that is, the instruction with the largest number (third instruction) is selected and stored in the input register file of the first arithmetic unit. Also, when writing to the register file, only the operation result of the third instruction is written, and the operation results of other instructions with the same write register number are written so that the execution result of the third instruction is valid. Prevent writing to the register file. As a result, the contents of the register file and the execution result of the third instruction are valid in the first instruction, and malfunctions do not occur.

〔実施例〕〔Example〕

以下、本発明の一実施例を第1図を用いて説明する。 An embodiment of the present invention will be described below with reference to FIG.

第1図は本発明の一実施例である2つの命令を並列に実
行するプロセッサ10’Oのブロック図である。
FIG. 1 is a block diagram of a processor 10'O that executes two instructions in parallel, which is an embodiment of the present invention.

プロセッサ100は主にレジスタファイル110.2つ
の演算器120,130、命令レジスタ140゜141
.150,151,160,161.及び命令バッファ
180からなる。
The processor 100 mainly includes a register file 110, two arithmetic units 120 and 130, and an instruction register 140, 141.
.. 150, 151, 160, 161. and an instruction buffer 180.

レジスタファイル110は、ROからR31までの32
本のレジスタからなる。
The register file 110 has 32 registers from RO to R31.
Consists of book registers.

演算器120,130はそれぞれ、A個入力レジスタ1
21,131、及びB偏入力レジスタ番号2.132に
接続している。
Each of the arithmetic units 120 and 130 has A input registers 1
21, 131, and B bias input register number 2.132.

また、入力レジスタ121,122,131゜132の
入力ポートにはセレクタ124,125゜134.13
5が接続されている。
In addition, the input ports of the input registers 121, 122, 131゜132 have selectors 124, 125゜134.13.
5 is connected.

セレクタ124は、レジスタファイルの読み出しポート
111及び2つの演算器の出力126゜136のうち1
つを選択して、入力レジスタ121に入力する。
The selector 124 selects one of the read port 111 of the register file and the outputs 126° and 136 of the two arithmetic units.
Select one and input it to the input register 121.

セレクタ125は、レジスタファイルの読み出しポート
112及び2つの演算器の出力126゜136のうち1
つを選択して、入力レジスタ122に入力する。
The selector 125 selects one of the read port 112 of the register file and the outputs 126° and 136 of the two arithmetic units.
Select one and input it to the input register 122.

セレクタ134は、レジスタファイルの読み呂しポート
113及び2つの演算器の出力126゜136のうち1
つを選択して、入力レジスタ131に入力する。
The selector 134 selects one of the read ports 113 of the register file and the outputs 126° 136 of the two arithmetic units.
Select one and input it to the input register 131.

セレクタ135は、レジスタファイルの読み出しポート
114及び2つの演算器の出力126゜136のうち1
つを選択して、入力レジスタ132に入力する。
The selector 135 selects one of the read port 114 of the register file and the outputs 126° 136 of the two arithmetic units.
Select one and input it to the input register 132.

命令レジスタ140,150,160は直列に接続され
ており、命令バッファ180から転送された偶数番地の
命令は、命令レジスタ140゜L50,160を順に送
られていく。
Instruction registers 140, 150, and 160 are connected in series, and instructions at even addresses transferred from instruction buffer 180 are sequentially sent through instruction registers 140°L50 and 160.

命令レジスタ141,151,161は直列に接続され
ており、命令バッファ180から転送された奇数番地の
命令は、命令レジスタ141゜151.161を順に送
られていく。
The instruction registers 141, 151, and 161 are connected in series, and the instructions at odd addresses transferred from the instruction buffer 180 are sequentially sent through the instruction registers 141, 151, and 161.

命令バッファ180は、メインメモリ又はキャッシュメ
モリから読み出された命令を一時的に蓄えている。
The instruction buffer 180 temporarily stores instructions read from main memory or cache memory.

本実施例のプロセッサで扱う命令(例えば140)は、
4つのフィールドからなり、第1のフィールドは命令(
演算)の種類を示す○Pコード部(140a)と第1の
ソースオペランド(演算器のA偏入力)を示す第1ソー
ス部(140b)と第2のソースオペランド(演算器の
B個入力)を示す第2ソース部(140c)とデスティ
ネーションオペランド(演算器の出力光)を示すデステ
ィネーション部(140d)からなる。
The instructions (for example, 140) handled by the processor of this embodiment are as follows:
It consists of four fields, the first field is the instruction (
○P code section (140a) indicating the type of operation), a first source section (140b) indicating the first source operand (A biased input of the operation unit), and a second source operand (B inputs of the operation unit) It consists of a second source section (140c) indicating the , and a destination section (140d) indicating the destination operand (output light of the arithmetic unit).

本実施例のプロセッサは命令の実行を3つのステージに
分割して、パイプライン的に処理している。
The processor of this embodiment divides the execution of instructions into three stages and processes them in a pipeline manner.

3つのステージとは、(1)レジスタの読み出しステー
ジ、(2)演算実行ステージ、(3)レジスタへの書き
込みステージの3つである。
The three stages are (1) register read stage, (2) operation execution stage, and (3) register write stage.

命令レジスタ140,141は上記レジスタの読み出し
ステージにある命令を保持し、命令レジスタ150,1
51は上記演算実行ステージにある命令を保持し、命令
レジスタ160,161は上記レジスタへの書き込みス
テージにある命令を保持している。
The instruction registers 140 and 141 hold the instructions in the read stage of the above registers, and the instruction registers 150 and 1
Reference numeral 51 holds instructions in the arithmetic execution stage, and instruction registers 160 and 161 hold instructions in the write stage to the registers.

以下、命令を実行する様子をサイクルごとに説明する。Below, the manner in which instructions are executed will be explained cycle by cycle.

第1のサイクルでは、メモリから読み出された命令はま
ず、命令バッファ180から命令レジスタ140及び1
41に転送される。
In the first cycle, instructions read from memory are first transferred from instruction buffer 180 to instruction register 140 and
Transferred to 41.

命令レジスタ140及び141にセットされた命令は、
ソースオペランドをレジスタファイル110から読み出
し、演算器の入力レジスタ121゜122.131,1
32にセットする。
The instructions set in the instruction registers 140 and 141 are:
Read the source operand from the register file 110, input register 121゜122.131,1 of the arithmetic unit
Set to 32.

ここでレジスタファイルの読み出しポート111は命令
レジスタ140の第1ソース部140bで示されたレジ
スタ番号のレジスタの内容を読み出し、レジスタファイ
ルの読み出しポート112は命令レジスタ140の第2
ソース部140cで示されたレジスタ番号のレジスタの
内容を読み出し、レジスタファイルの読み出しポート1
13は命令レジスタ141の第1ソース部141bで示
されたレジスタ番号のレジスタの内容を読み出し、レジ
スタファイルの読み出しポート114は命令レジスタ1
41の第2ソース部141Cで示されたレジスタ番号の
レジスタの内容を読み出す。
Here, the read port 111 of the register file reads the contents of the register with the register number indicated in the first source part 140b of the instruction register 140, and the read port 112 of the register file reads the contents of the register with the register number indicated in the first source part 140b of the instruction register
Reads the contents of the register with the register number indicated in the source section 140c, and reads the register file read port 1.
13 reads the contents of the register with the register number indicated in the first source part 141b of the instruction register 141, and the read port 114 of the register file reads the contents of the register indicated by the first source part 141b of the instruction register 141.
The contents of the register with the register number indicated by the second source section 141C of No. 41 are read out.

第2のサイクルでは、命令レジスタ140及び141に
セットされた命令は、それぞれ命令レジスタ150及び
151に転送される。
In the second cycle, the instructions set in instruction registers 140 and 141 are transferred to instruction registers 150 and 151, respectively.

命令レジスタ150及び151にセットされた命令は、
演算器の入力レジスタ121,122゜131.132
にセットされたオペランドデータを演算器120,13
0を用いて演算し、演算の結果は呂カレジスタ123,
133にセットする。
The instructions set in the instruction registers 150 and 151 are:
Arithmetic unit input register 121, 122゜131.132
The operand data set in the arithmetic units 120 and 13
The calculation is performed using 0, and the result of the calculation is stored in the register 123,
Set to 133.

なおここで、演算器120は、命令レジスタ150の○
Pコード部150aを解読するデコーダ152の出力信
号により制御され、演算器130は、命令レジスタ15
1のopココ−1151aを解読するデコーダ153の
高力信号により制御される。
Note that here, the arithmetic unit 120 inputs ○ in the instruction register 150.
Controlled by the output signal of the decoder 152 that decodes the P code section 150a, the arithmetic unit 130 is controlled by the instruction register 15.
It is controlled by a high power signal of the decoder 153 which decodes the 1 opco-1151a.

第3のサイクルでは、命令レジスタ150及び151に
セットされた命令は、それぞれ命令レジスタ160及び
161に転送される。命令レジスタ160及び161に
セットされた命令は、命令の実行結果(出力レジスタ1
23,133の内容)をレジスタファイルのデスティネ
ーションオペランドへ書き込む。なおここで、レジスタ
ファイルの書き込みポート115は命令レジスタ160
のデスティネーション部160dで示されたレジスタ番
号のレジスタへ書き込み、レジスタファイルの書き込み
ポート116は命令レジスタ161のデスティネーショ
ン部161dで示されたレジスタ番号のレジスタへ書き
込む。
In the third cycle, the instructions set in instruction registers 150 and 151 are transferred to instruction registers 160 and 161, respectively. The instructions set in the instruction registers 160 and 161 are the execution results of the instructions (output register 1
23, 133) to the destination operand of the register file. Note that the write port 115 of the register file is the instruction register 160.
The write port 116 of the register file writes to the register number indicated by the destination section 161d of the instruction register 161.

次に1本発明の特徴である比較器171,172゜17
3.174,175,176.177.178について
説明する。
Next, comparators 171, 172°17 which are a feature of the present invention
3.174, 175, 176.177.178 will be explained.

比較器171は、命令レジスタ140の第1ソース部1
40bと命令レジスタ151のデスティネーション部1
51dとを比較し、レジスタ番号が一致している場合は
、セレクタ124を制御して、レジスタファイルの読み
出しポート111の代わりに、演算器130の出力13
6を選択して入力レジスタ121に入力する。
The comparator 171 is connected to the first source section 1 of the instruction register 140.
40b and the destination part 1 of the instruction register 151
51d, and if the register numbers match, the selector 124 is controlled and the output 13 of the arithmetic unit 130 is used instead of the read port 111 of the register file.
6 is selected and input to the input register 121.

比較器172は、命令レジスタ140の第1ソース部1
40bと命令レジスタ150のデスティネーション部1
50dとを比較し、レジスタ番号が一致している場合は
、セレクタ124を制御して、レジスタファイルの読み
出しポート111の代わりに、演算器120の出力12
6を選択して入力レジスタ121に入力する。
The comparator 172 is connected to the first source section 1 of the instruction register 140.
40b and the destination part 1 of the instruction register 150
50d, and if the register numbers match, the selector 124 is controlled and the output 12 of the arithmetic unit 120 is used instead of the read port 111 of the register file.
6 is selected and input to the input register 121.

なお上記の比較器171,172が共に一致を検出した
場合は、比較器171の制御を優先させる。優先回路1
90は上記の処理を行うための回路である。
Note that when both the comparators 171 and 172 described above detect a match, control of the comparator 171 is given priority. Priority circuit 1
90 is a circuit for performing the above processing.

比較器173は、命令レジスタ140の第2ソース部1
40cと命令レジスタ151のデスティネーション部1
51dとを比較し、レジスタ番号が一致している場合は
、セレクタ125を制御して、レジスタファイルの読み
出しポート112の代わりに、演算器130の出力13
6を選択して入力レジスタ122に入力する。
The comparator 173 is connected to the second source section 1 of the instruction register 140.
40c and the destination part 1 of the instruction register 151
51d, and if the register numbers match, the selector 125 is controlled to output the output 13 of the arithmetic unit 130 instead of the read port 112 of the register file.
6 is selected and input to the input register 122.

比較器174は、命令レジスタ140の第2ソース部1
40cと命令レジスタ150のデスティネーション部1
50dとを比較し、レジスタ番号が一致している場合は
、セレクタ125を制御して、レジスタファイルの読み
出しボート112の代わりに、演算器120の出力12
6を選択して入力レジスタ122に入力する。
The comparator 174 is connected to the second source section 1 of the instruction register 140.
40c and the destination part 1 of the instruction register 150
50d, and if the register numbers match, the selector 125 is controlled to read the output 12 of the arithmetic unit 120 instead of the read port 112 of the register file.
6 is selected and input to the input register 122.

なお上記の比較器173,174が共に一致を検出した
場合は、比較器173の制御を優先させる。優先回路1
91は上記の処理を行うための回路である。
Note that when both the comparators 173 and 174 described above detect a match, control of the comparator 173 is given priority. Priority circuit 1
91 is a circuit for performing the above processing.

比較器175は、命令レジスタ141の第1ソース部1
41bと命令レジスタ151のデスティネーション部1
51dとを比較し、レジスタ番号が一致している場合は
、セレクタ134を制御して、レジスタファイルの読み
呂しボート113の代わりに、演算器130の出力13
6を選択して入力レジスタ131に入力する。
The comparator 175 is connected to the first source section 1 of the instruction register 141.
41b and the destination part 1 of the instruction register 151
51d, and if the register numbers match, the selector 134 is controlled to select the output 13 of the arithmetic unit 130 instead of the read port 113 of the register file.
6 is selected and input to the input register 131.

比較器176は、命令レジスタ141の第1ソース部1
41bと命令レジスタ150のデスティネーション部1
50dとを比較し、レジスタ番号が一致している場合は
、セレクタ134を制御して、レジスタファイルの読み
出しボート113の代わりに、演算器120の出力12
6を選択して入力レジスタ131に入力する。
The comparator 176 is connected to the first source section 1 of the instruction register 141.
41b and the destination section 1 of the instruction register 150
50d, and if the register numbers match, the selector 134 is controlled to read the output 12 of the arithmetic unit 120 instead of the read port 113 of the register file.
6 is selected and input to the input register 131.

なお上記の比較器175,176が共に一致を検出した
場合は、比較器175の制御を優先させる。優先回路1
92は上記の処理を行うための回路である。
Note that if both of the comparators 175 and 176 detect a match, control of the comparator 175 is given priority. Priority circuit 1
92 is a circuit for performing the above processing.

比較器177は、命令レジスタ141の第2ソース部1
41cと命令レジスタ151のデスティネーション部1
51dとを比較し、レジスタ番号が一致している場合は
、セレクタ135を制御して、レジスタファイルの読み
出しボート114の代わりに、演算器130の出力13
6を選択して入力レジスタ132に入力する。
The comparator 177 is connected to the second source section 1 of the instruction register 141.
41c and the destination part 1 of the instruction register 151
51d, and if the register numbers match, the selector 135 is controlled to read the output 13 of the arithmetic unit 130 instead of the read port 114 of the register file.
6 is selected and input to the input register 132.

比較器178は、命令レジスタ141の第2ソース部1
41cと命令レジスタ150のデスティネーション部1
50dとを比較し、レジスタ番号が一致している場合は
、セレクタ135を制御して、レジスタファイルの読み
出しボート114の代わりに、演算器120の出力12
6を選択して入力レジスタ132に入力する。
The comparator 178 is connected to the second source section 1 of the instruction register 141.
41c and the destination part 1 of the instruction register 150
50d, and if the register numbers match, the selector 135 is controlled to read the output 12 of the arithmetic unit 120 instead of the read port 114 of the register file.
6 is selected and input to the input register 132.

なお上記の比較器177.178が共に一致を検出した
場合は、比較器177の制御を優先させる。優先回路1
93は上記の処理を行うための回路である。
Note that when both the comparators 177 and 178 described above detect a match, control of the comparator 177 is given priority. Priority circuit 1
93 is a circuit for performing the above processing.

本実施例のレジスタファイル110では、書き込みボー
ト115及び116から成るレジスタに書き込んだデー
タは、そのサイクルの読み出しにおいて、読み出しボー
ト111,112,113゜114に反映している。つ
まり、書き込みボート115でR2レジスタヘデータを
書き込み、同一サイクルで読み出しボート111からR
2レジスタの内容を読み出したとき、書き込みボート1
15から書き込んだデータが正しく、読み出しボート1
11から読みだすことができる。これは、レジスタファ
イル内にバイパス経路を設けても実現できるが、1サイ
クルのうち、前半の1/2サイクルでレジスタファイル
への書き込みを行い、後半の172サイクルでレジスタ
ファイルの読み出しを行えば容易に実現できる6 以上本実施例によれば、従来1つの命令を実行していた
サイクル時間の中で、2つの命令を並列に実行すること
ができる。
In the register file 110 of this embodiment, data written to the registers consisting of the write ports 115 and 116 is reflected in the read ports 111, 112, 113, and 114 during reading in that cycle. In other words, the write boat 115 writes data to the R2 register, and the read port 111 writes data to the R2 register in the same cycle.
When the contents of register 2 are read, write port 1
The data written from 15 is correct and read from boat 1.
It can be read from 11. This can be achieved by creating a bypass path in the register file, but it is easier if you write to the register file in the first 1/2 cycle of one cycle and read the register file in the latter 172 cycles. According to the present embodiment, two instructions can be executed in parallel within the cycle time that conventionally required one instruction to be executed.

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

以上説明したように、本発明によれば、複数の演算器の
出力を直接、演算器の入力レジスタヘセットするための
バイパス手段を設けているので、レジスタ読出し、演算
実行、レジスタ書込みをそれぞれ1ステージとするパイ
プライン処理プロセッサにおいても、演算実行ステージ
の命令の演算結果を次のサイクルの演算実行にも使用す
ることができるので、命令の高速処理が可能になる。
As explained above, according to the present invention, the bypass means for directly setting the outputs of a plurality of arithmetic units to the input registers of the arithmetic units is provided. In the pipeline processing processor as a stage, the operation result of the instruction in the operation execution stage can also be used for the operation execution in the next cycle, so that high-speed instruction processing is possible.

また、レジスタ読出しステージの命令の読出しレジスタ
番号と、演算実行ステージの命令の書込みレジスタ番号
との比較する手段を有しているので、レジスタ番号が一
致した場合は、上記のバイパス手段を使って、演算結果
を直接、演算器の入力レジスタヘセットするよう制御で
きるので、レジスタ内の古い値を読出すことを防止し、
更に命令の高速実行が可能となる。
In addition, it has a means for comparing the read register number of the instruction in the register read stage and the write register number of the instruction in the operation execution stage, so if the register numbers match, the above-mentioned bypass means is used to Since the calculation result can be controlled to be set directly to the input register of the calculation unit, reading out old values in the register can be prevented.
Furthermore, high-speed execution of instructions becomes possible.

さらにまた、バイパス経路の優先順位決定手段を有して
いるので、演算実行ステージにある複数の命令の書込み
レジスタの番号と、読出しレジスタの番号が一致しても
、最新の演算出力を選択でき、古い値を読出すことを防
止でき、更にまた、命令の高速実行が可能となる。
Furthermore, since it has bypass path priority determining means, even if the write register number and read register number of multiple instructions in the operation execution stage match, the latest operation output can be selected. Reading old values can be prevented, and furthermore, instructions can be executed at high speed.

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

第1図は本発明の一実施例であるデータ処理装置のブロ
ック図である。 124.125,134,135・・・バイパス入力セ
レクタ、126,136・・・演算器出力のバイパス経
路、171,172,173,174,175゜176
.177.178・・・レジスタ番号比較器、190.
191,192,193・・・バイパス経路%r  図 メ七す
FIG. 1 is a block diagram of a data processing device that is an embodiment of the present invention. 124.125, 134, 135... Bypass input selector, 126, 136... Bypass path for arithmetic unit output, 171, 172, 173, 174, 175° 176
.. 177.178...Register number comparator, 190.
191, 192, 193... Bypass route %r Diagram 7

Claims (1)

【特許請求の範囲】 1、複数の命令を並列に実行するデータ処理装置におい
て、 該データ処理装置はレジスタファイルと複数の演算器か
ら成り、 該演算器は、それぞれ2個の入力レジスタと1個の出力
レジスタに接続し、 該出力レジスタの入力は、該演算器の出力に接続されて
おり、出力は該レジスタファイルの入力ポートに接続さ
れており、 該入力レジスタの出力は、該演算器の入力に接続されて
おり、入力は該レジスタファイルの出力ポート及び、該
複数の演算器の出力に接続されており、選択的にデータ
入力ができるセレクタ手段を有する該入力レジスタを設
けたことを特徴とするデータ処理装置。 2、請求項第1項に記載のデータ処理装置において、 該命令は、読出しレジスタフィールド及び書込みレジス
タフィールド、命令コードフィールドよりなり、 該データ処理装置は複数の命令を毎サイクル毎に実行し
、 該データ処理装置は、命令を3つのステージに分け実行
し、該ステージは、(1)レジスタ読出し、(2)演算
、(3)レジスタ書込みの3つのステージであり、該プ
ロセッサは、該演算ステージにある複数の命令の書込み
レジスタ番号と、該レジスタ読出しステージにある複数
の命令の読出しレジスタ番号とを比較する手段を有し、 該比較出段によつてレジスタ番号が一致していることを
検出した時、該レジスタファイルの読出しの代りに請求
項第1項に記載のように該演算器の出力を該入力レジス
タに直接入力するよう制御する手段を設けたことを特徴
とするデータ処理装置。 3、請求項第2項のデータ処理装置において、同一の該
入力レジスタに対する複数の演算器からの入力制御手段
に接続されている優先順位決定手段を有し、 該優先順位決定手段は、該レジスタ読出しステージにあ
る命令の読出しレジスタ番号が、該演算ステージにある
複数の命令の書込みレジスタ番号と一致しているとき、
該複数の命令のうち最新の演算結果を示す命令に対応す
る演算器からの入力指示を優先的に該入力レジスタへセ
ットさせる制御手段であることを特徴とするデータ処理
装置。
[Claims] 1. A data processing device that executes a plurality of instructions in parallel, the data processing device comprising a register file and a plurality of arithmetic units, each of which has two input registers and one arithmetic unit. The input of the output register is connected to the output of the arithmetic unit, the output is connected to the input port of the register file, and the output of the input register is connected to the output of the arithmetic unit. The input register is connected to an input, the input is connected to an output port of the register file and an output of the plurality of arithmetic units, and has a selector means for selectively inputting data. data processing equipment. 2. The data processing device according to claim 1, wherein the instruction includes a read register field, a write register field, and an instruction code field, and the data processing device executes a plurality of instructions every cycle. The data processing device executes instructions in three stages: (1) register read, (2) operation, and (3) register write, and the processor executes instructions in the operation stage. It has means for comparing write register numbers of a plurality of instructions with read register numbers of a plurality of instructions in the register read stage, and it is detected by the comparison stage that the register numbers match. 2. A data processing device comprising means for controlling the output of the arithmetic unit to be directly input to the input register as claimed in claim 1, instead of reading the register file. 3. The data processing device according to claim 2, further comprising priority determining means connected to input control means from a plurality of arithmetic units for the same input register, and the priority determining means is connected to the input control means for the input register from the plurality of arithmetic units. When the read register number of an instruction in the read stage matches the write register number of a plurality of instructions in the calculation stage,
A data processing device characterized in that it is a control means for preferentially setting an input instruction from an arithmetic unit corresponding to an instruction indicating the latest operation result among the plurality of instructions into the input register.
JP30242290A 1990-11-09 1990-11-09 Data processing device Expired - Fee Related JP2915131B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30242290A JP2915131B2 (en) 1990-11-09 1990-11-09 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30242290A JP2915131B2 (en) 1990-11-09 1990-11-09 Data processing device

Publications (2)

Publication Number Publication Date
JPH04175930A true JPH04175930A (en) 1992-06-23
JP2915131B2 JP2915131B2 (en) 1999-07-05

Family

ID=17908732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30242290A Expired - Fee Related JP2915131B2 (en) 1990-11-09 1990-11-09 Data processing device

Country Status (1)

Country Link
JP (1) JP2915131B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316824A (en) * 2006-05-24 2007-12-06 Sanyo Electric Co Ltd Variable function achievement device and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316824A (en) * 2006-05-24 2007-12-06 Sanyo Electric Co Ltd Variable function achievement device and method

Also Published As

Publication number Publication date
JP2915131B2 (en) 1999-07-05

Similar Documents

Publication Publication Date Title
US4745547A (en) Vector processing
EP0155211B1 (en) System for by-pass control in pipeline operation of computer
EP0378830B1 (en) Method and apparatus for handling multiple condition codes as for a parallel pipeline computer
US4740893A (en) Method for reducing the time for switching between programs
JP2539974B2 (en) Register read control method in information processing apparatus
US6101596A (en) Information processor for performing processing without register conflicts
JP2620511B2 (en) Data processor
US5274777A (en) Digital data processor executing a conditional instruction within a single machine cycle
EP0093430A2 (en) Pipeline data processing system
US6862676B1 (en) Superscalar processor having content addressable memory structures for determining dependencies
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
JPH04175930A (en) Data processor
JP2553728B2 (en) Arithmetic unit
EP1050800A1 (en) A pipelined execution unit
JPH0277940A (en) Data processor
JP2812610B2 (en) Pipeline control method
JPH07110769A (en) Vliw type computer
JPH06332700A (en) Information processor
JPS60178540A (en) By-pass control system of information processor
JP2000305782A (en) Arithmetic unit
JPH0769800B2 (en) Data processing device
JPH05165639A (en) Register reading method and register reading device for parallel processor
JPS5914048A (en) Operation buffer system
JPH0419575B2 (en)
JPH0311479A (en) Method and device for detecting completion of stream arithmetic operation

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080416

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees