JPS59123937A - By-pass control system of arithmetic device - Google Patents
By-pass control system of arithmetic deviceInfo
- Publication number
- JPS59123937A JPS59123937A JP57231890A JP23189082A JPS59123937A JP S59123937 A JPS59123937 A JP S59123937A JP 57231890 A JP57231890 A JP 57231890A JP 23189082 A JP23189082 A JP 23189082A JP S59123937 A JPS59123937 A JP S59123937A
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- operand
- bus
- data
- 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
Links
- 238000000034 method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は演算装置の制御方式に関するものであり、特に
、演算装置において、1つの演算命令の実行結果が次の
演算命令のオペランドとして使用される場合に、演算時
間を短縮するために設けられているバイパス回路の制御
方式に関する。[Detailed Description of the Invention] [Technical Field of the Invention] The present invention relates to a control method for an arithmetic device, and in particular, in an arithmetic device, the execution result of one arithmetic instruction is used as an operand of the next arithmetic instruction. The present invention relates to a control method for a bypass circuit provided in order to shorten calculation time in a case.
第1図は9本発明が対象としている形式の従来の演算装
置の回路構成を示したものである。本図において、1は
(%+1)個の要素レジスタR(0) 。FIG. 1 shows the circuit configuration of a conventional arithmetic unit of the type to which the present invention is directed. In this figure, 1 is (%+1) element registers R(0).
R(1) 、 ・・・、 R(s)からなるP R(F
1oati*g Register )と呼ばれるデ
ータレジスタ、2.3はオペランドレジスタであって、
2はAレジスタ、3はBレジスタ、4はLOAD系演算
全演算命令する第1演算部、5は加減乗除算命令を実行
する第2演算部。PR(F) consisting of R(1), ..., R(s)
A data register called 1oati*g Register), 2.3 is an operand register,
2 is an A register, 3 is a B register, 4 is a first arithmetic unit that executes all LOAD-related arithmetic operations, and 5 is a second arithmetic unit that executes addition, subtraction, multiplication, and division instructions.
6.7.8はマルチプレクサ、9は制御部、i。6.7.8 is a multiplexer, 9 is a control unit, i.
はDバス、11はEバスを表わしている。ここで。represents the D bus, and 11 represents the E bus. here.
各レジスタ1.2.3は、制御部9により、書込みと読
出しを同時に実行されるものである。Each register 1.2.3 is written and read simultaneously by the control unit 9.
以下、第1図の従来装置の動作について、簡単に説明す
る。なお、説明の便宜上、FRのレジスタ要素R(0)
、 R(1)、・・・、R(、月こついては、ときによ
り、その内容データを表わすものとして使用される。The operation of the conventional device shown in FIG. 1 will be briefly explained below. For convenience of explanation, register element R(0) of FR
, R(1),...,R(, month is sometimes used to represent its content data.
はじめに、第2演算部5を用いた演算動作について。First, regarding the calculation operation using the second calculation unit 5.
を例にとり説明する。第2図はそのタイムチャートを示
したものであり、tlにおいて、FRから。This will be explained using an example. FIG. 2 shows the time chart, from FR at tl.
R(0)をAレジスタへ転送し、R(1)をBレジスタ
へ転送する。次に第2と第3において、Aレジスタおよ
びBレジスタから、第2演算部へオペランドR(0)お
よびR(1)を読込み、■のR(0) 十R(1)の加
算演算を実行し、演算結果をEバス上へ出力してPRの
R(0)へ書込むと同時に、マルチプレクサ7を通るバ
イパスにより、Aレジスタへも書込む。この第2演算部
の動作には、2サイクルが使用される。Transfer R(0) to the A register and transfer R(1) to the B register. Next, in the second and third, operands R(0) and R(1) are read from the A register and B register to the second calculation unit, and the addition operation of R(0) + R(1) in ■ is executed. Then, while outputting the operation result onto the E bus and writing it to R(0) of PR, it is also written to the A register by bypassing the multiplexer 7. Two cycles are used for the operation of this second arithmetic unit.
また第3には、同時に、FRからR(1)をBレジスタ
へ転送する。Third, at the same time, R(1) is transferred from FR to the B register.
次に第4と第5において、前の■の演算結果であるAレ
ジスタのR(0)と、BレジスタのR(2)とにもとづ
き、第2演算部において、 Rto) + R(2)の
加算演算を実行し、演算結果を、再びEバス上に出力し
てFRのR(0)に書込む。この後の演算のためにも2
サイクルが使用されたので、■と■の全体の演算が4サ
イクルで実行されたことになる。しかし、これは上記■
の演算で使用するオペランドのR(0)を、PRからA
レジスタへ転送せずに、Eバスからバイパスを用いて、
直接、Aレジスタへ書込んだものを使用していることに
より、1サイクルだけ演算時間の短縮がなされている。Next, in the fourth and fifth sections, based on R(0) of the A register and R(2) of the B register, which are the operation results of the previous ■, the second operation section calculates Rto) + R(2) The addition operation is executed, and the operation result is outputted onto the E bus again and written to R(0) of the FR. For the calculations that follow, 2
Since cycles were used, the entire operation of ■ and ■ was executed in four cycles. However, this is the above ■
The operand R(0) used in the operation is changed from PR to A
Using bypass from the E bus without transferring to the register,
By using what is written directly to the A register, the calculation time is reduced by one cycle.
このようなバイパスの使用は、制御部9において、順次
の演算命令について、先行命令の演算結果の行先アドレ
スと次の演算命令のオペランドアドレスとの比較を行な
い、その比較結果にしたがって、マルチプレクサ7ある
いは8を制御することによって行なわれている。To use such a bypass, the control unit 9 compares the destination address of the operation result of the preceding instruction and the operand address of the next operation instruction for sequential operation instructions, and according to the comparison result, the multiplexer 7 or This is done by controlling 8.
次に、第1演算部の動作について、PRにおけるR (
0) −R(1)の転送を例にとり、IV4図のタイム
チャートにしたがって説明する。まずtlにお(1で。Next, regarding the operation of the first arithmetic unit, R (
0) -R(1) transfer will be taken as an example and explained according to the time chart in FIG. IV4. First of all, to tl (1).
FRからR(0)をAレジスタへ転送し、!1.’て第
1演算部へ読込み、tlにおいてPRのR(υへ書込む
。Transfer R(0) from FR to A register, ! 1. ' is read into the first arithmetic unit, and at tl, it is written to R(υ) of PR.
こり場合、第1演算部の動作のだ−めに、1サイクルが
使用される9才1演算部の機能4は、データの正負極性
を操作することにあり、データ本体1こついては単なる
転送を行なうだけである。In this case, one cycle is used for the operation of the first arithmetic unit.Function 4 of the first arithmetic unit is to manipulate the positive and negative polarity of the data. Just do it.
第5図は1以上の第1演算部と第2演算部とを両方とも
使用し、かつオペランドの)(′イノ(ス制御も行なわ
れる演算例
についてのタイムチャートを示したものである。FIG. 5 shows a time chart for an example of an operation in which both one or more first arithmetic units and second arithmetic units are used, and the operands are also controlled.
このように、演算装置においては、〕くイノ(ス回路を
使用することにより演算時間の大幅な短縮力ず可能とな
る。 ・〔発明の目的お
よび構成〕
本発明の目的は、演算装置にお゛けるノ(イノ(ス制御
回路を改善し、・〕〕1−ドウエを簡単化することにあ
る。As described above, in an arithmetic device, by using an innovation circuit, it is possible to significantly shorten the calculation time. The goal is to improve the innovation control circuit and simplify the process.
本発明は、DバスからAレジスタへ通じるバイパス回路
の特性に着目し、第1演算部は、LOAD系命令全命令
する場合、その正負の符号について操作を行なうだけで
、データ本体については何ら操作しないことから、LO
AD系命令全命令した後、その演算結果が1次め命令で
使用され、かつノ(イパス制御される場合に、Aレジス
タのデータ本体を第1演算部へ供給する一方、Aレジス
タ内にそのまま保存しておき、第1演算部からDバスへ
出力されたデータ中、正負の符号のみをAレジスタへバ
イパスするようにして、Aレジスタの入力部におけるマ
ルチプレクサ回路の構成を簡単化するものである。
゛
本発明の構成は、それにより演算データを格納するデー
タレジスタと、オペランドレジスタと。The present invention focuses on the characteristics of the bypass circuit leading from the D bus to the A register, and when the first calculation unit executes all LOAD-related instructions, it only operates on the positive and negative signs, and does not perform any operations on the data itself. Because I don't do it, LO
After all AD system instructions are executed, the result of the operation is used in the first instruction, and when the data is controlled by the first instruction, the data body of the A register is supplied to the first operation unit, while the data itself is stored in the A register as it is. This is to simplify the structure of the multiplexer circuit at the input section of the A register by bypassing only the positive and negative signs of the data stored and output from the first arithmetic unit to the D bus to the A register. .
゛The configuration of the present invention includes a data register for storing operation data, and an operand register.
演算部と、連続・する2つの演算命令について先行命令
の演算結果を後続命令がオ゛ペランドとして使用するか
否かを検出し、オペランドとして使用する場合、演算部
からデータレジスタ′へ出力される演算結果を、オペラ
ンドレジスタへバイパスさせる制御回路とを有する演算
装置において、上記先行命令がLOAD系命令であった
場合、該先行命令を実行した後、後続命令を実行するま
で、オペランドレジスタ内のデータを保存するとともに
、先行命令の演算結果をデータレジスタへ転送する際。The arithmetic unit detects whether the operation result of the preceding instruction is used as an operand for two consecutive arithmetic instructions, and if it is used as an operand, it is output from the arithmetic unit to the data register. In an arithmetic device that has a control circuit that bypasses the operation result to the operand register, if the preceding instruction is a LOAD instruction, the data in the operand register is stored after the preceding instruction is executed until the subsequent instruction is executed. When storing the operation result of the preceding instruction and transferring it to the data register.
該演算結果の正負符号のみをオペランドレジスタへバイ
パスすることを特徴とするものである。This method is characterized in that only the sign of the operation result is bypassed to the operand register.
牙6図は1本発明の実施例構成を示す。同図は。 Figure 6 shows the configuration of an embodiment of the present invention. The same figure.
第1図の回路にほぼ対応するものである。図中。This circuit roughly corresponds to the circuit shown in FIG. In the figure.
1はFR,2はAレジスタ、3はBレジスタ、4は第1
演算部、5は第2演算部、6,8はマルチプレクサ、9
は制御部、10はDバス、11はEバス、12はAレジ
スタの正負符号部、13.14はマルチプレクサ、15
はアドレス比較部、16は命令判定回路を表わしている
。1 is FR, 2 is A register, 3 is B register, 4 is 1st
arithmetic unit; 5 is a second arithmetic unit; 6 and 8 are multiplexers; 9
is a control unit, 10 is a D bus, 11 is an E bus, 12 is a sign part of the A register, 13.14 is a multiplexer, 15
1 represents an address comparison section, and 16 represents an instruction determination circuit.
マルチプレクサ13はAレジスタの正負符号部12にの
み結合され、マルチプレクサ14はAレジスタの残り部
分、すなわちデータ本体部に結合される。FRからの出
力線およびEバスからのバイパス線は、マルチプレクサ
13および14の両方に結合されているが、Dバスから
のバイパス線は、マルチプレクサ14に結合されていな
い。これにより、第1演算部4からDバスへ出力された
演算結果については、正負符号のみがAレジスタへバイ
パスされることになる。Aレジスタの正負符号部のみに
書込みを行なうためには、正負符号部のみにクロックを
与え、他へはクロックを供給しないようにすればよい。Multiplexer 13 is coupled only to the sign portion 12 of the A register, and multiplexer 14 is coupled to the remainder of the A register, ie, the data body. The output line from FR and the bypass line from the E bus are coupled to both multiplexers 13 and 14, but the bypass line from the D bus is not coupled to multiplexer 14. As a result, only the positive and negative signs of the calculation results output from the first calculation unit 4 to the D bus are bypassed to the A register. In order to write only to the plus/minus sign section of the A register, it is sufficient to supply a clock only to the plus/minus sign section and not to the others.
このための制御は、制御部9において、アドレス比較回
路15および命令判定回路16により行なわれる。Control for this purpose is performed by an address comparison circuit 15 and an instruction determination circuit 16 in the control section 9.
アドレス比較回路15は、相続く2つの命令について、
先行命令の演算結果の行先外が、後続命令の第1オペラ
ンド(単一オペランドの場合を含む)あるいは″)v2
オペランドの格納場所NあるいはMのいずれかに一致す
るか否かを調べる。そして1%=Nあるいはn=Mの場
合にバイパス制御を行なう。Regarding two consecutive instructions, the address comparison circuit 15
The destination of the operation result of the preceding instruction is the first operand of the succeeding instruction (including the case of a single operand) or ``)v2
Check whether it matches either the operand storage location N or M. When 1%=N or n=M, bypass control is performed.
DバスおよびEバスに対して、マルチプレクサ8.13
.14.を制御するためには、更に以下のように先行命
令の種別を考慮する必要がある。For D bus and E bus, multiplexer 8.13
.. 14. In order to control this, it is also necessary to consider the type of preceding instruction as described below.
s = Nの場合
■ 先行命令がLOAD系命令であれば、マルチプレク
サ13をDバスに対して有効化する。When s=N ■ If the preceding instruction is a LOAD type instruction, multiplexer 13 is enabled for the D bus.
■ 先行命令が非LOAD系命令、すなわち加減乗除算
命令であれば、マルチプレクサ13゜14をEバスに対
して有効化する。(2) If the preceding instruction is a non-LOAD instruction, that is, an addition/subtraction/multiplication/division instruction, multiplexers 13 and 14 are enabled for the E bus.
■ 先行命令がLOAD系命令であれば、マルチプレク
サ8をDバスに対して有効化する。(2) If the preceding instruction is a LOAD type instruction, multiplexer 8 is enabled for the D bus.
■ 先行命令が非LOAD系命令であれば、マルチプレ
クサ8をEバスに対して有効化する。(2) If the preceding instruction is a non-LOAD instruction, multiplexer 8 is enabled for the E bus.
以上のような制御は、命令判定回路16によって実行さ
れる。The above control is executed by the instruction determination circuit 16.
Aレジスタの正負符号部に対するクロック制御は1%”
Nでかつ先行命令がLOAD系命令であるか否かによっ
て行なわれる。The clock control for the plus/minus sign part of the A register is 1%.
This is performed depending on whether the instruction is N and the preceding instruction is a LOAD type instruction.
上述したように9本発明によれば、Dバスのデータ本体
をAレジスタの入力マルチプレクサに結合する必要がな
いため、データビット長が長い場合には、マルチプレク
サの入力回路が簡単化されることによるハードウェア量
の削減効果は大きい。As described above, according to the present invention, there is no need to couple the data body of the D bus to the input multiplexer of the A register, so when the data bit length is long, the input circuit of the multiplexer is simplified. The effect of reducing the amount of hardware is significant.
第1図は従来の演算装置の回路構成図、第2図゛は第1
図の従来装置の動作側説明図、第3図は牙1図の装置の
Aレジスタ、Dバスを抜き出した構成図、第4図および
牙5図はその動作側説明図。
第6図は本発明実施例の回路構成図である。
図中、1はFR,2はAレジスタ、3はBレジスタ、4
は第1演算部、5は第2演算部、6,8゜13.14は
′マルチプレクサ、9は制御部、10はDバス、11は
Eバス、15はアドレス比較回路、16は命令判定回路
を表わす。
特許出願人 富士通株式会社
代理人弁理士 長谷用 文 廣(外1名))J
d
や □Figure 1 is a circuit diagram of a conventional arithmetic unit, and Figure 2 is a circuit diagram of a conventional arithmetic unit.
FIG. 3 is a configuration diagram of the device shown in FIG. 1, with the A register and D bus extracted, and FIGS. 4 and 5 are explanatory diagrams of the operation side. FIG. 6 is a circuit configuration diagram of an embodiment of the present invention. In the figure, 1 is FR, 2 is A register, 3 is B register, 4
1 is the first arithmetic unit, 5 is the second arithmetic unit, 6,8°13.14 is the multiplexer, 9 is the control unit, 10 is the D bus, 11 is the E bus, 15 is the address comparison circuit, and 16 is the instruction judgment circuit. represents. Patent applicant Fujitsu Ltd. Representative patent attorney Fumihiro Hase (1 other person)) Jd ya □
Claims (1)
ジスタと、演算部と、連続する2つの演算命令について
先行命令の演算結果を後続命令がオペランドとして使用
するか否かを検出し、オペランドとして使用する場合演
算部からデータレジスタへ出力される演算結果を、オペ
ランドレジスタへバイパスさせる制御回路とを有する演
算装置において、上記先行命令がLOAD系命令であっ
た場合、該先行命令を実行した後、後続命令を実行する
まで、オペランドレジスタ内のデータを保存するととも
に、先行命令の演算結果をデータレジスタへ転送する際
、該演算結果の正負符号のみをオペランドレジスタへバ
イパスすることを特徴とする演算装置におけるバイパス
制御方式。A data register that stores operation data, an operand register, an operation section, and detects whether or not the operation result of the preceding instruction is used as an operand by the subsequent instruction for two consecutive operation instructions, and performs the operation if it is used as an operand. In an arithmetic unit having a control circuit that bypasses the operation result output from the unit to the data register to the operand register, if the preceding instruction is a LOAD type instruction, the subsequent instruction is executed after the preceding instruction is executed. A bypass control method in an arithmetic unit, characterized in that data in an operand register is saved until the operation is completed, and when an operation result of a preceding instruction is transferred to a data register, only the plus or minus sign of the operation result is bypassed to the operand register. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57231890A JPS59123937A (en) | 1982-12-29 | 1982-12-29 | By-pass control system of arithmetic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57231890A JPS59123937A (en) | 1982-12-29 | 1982-12-29 | By-pass control system of arithmetic device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59123937A true JPS59123937A (en) | 1984-07-17 |
JPS6226730B2 JPS6226730B2 (en) | 1987-06-10 |
Family
ID=16930631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57231890A Granted JPS59123937A (en) | 1982-12-29 | 1982-12-29 | By-pass control system of arithmetic device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59123937A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6188332A (en) * | 1984-10-06 | 1986-05-06 | Nec Corp | Binary operating circuit |
JPS6237737A (en) * | 1985-08-12 | 1987-02-18 | Matsushita Electric Ind Co Ltd | Microprocessor circuit |
US6772318B1 (en) * | 1999-09-24 | 2004-08-03 | Kabushiki Kaisha Toshiba | Bypass control circuit |
US7287150B2 (en) | 2002-07-05 | 2007-10-23 | Fujitsu Limited | Processor and instruction control method |
-
1982
- 1982-12-29 JP JP57231890A patent/JPS59123937A/en active Granted
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6188332A (en) * | 1984-10-06 | 1986-05-06 | Nec Corp | Binary operating circuit |
JPS6237737A (en) * | 1985-08-12 | 1987-02-18 | Matsushita Electric Ind Co Ltd | Microprocessor circuit |
US6772318B1 (en) * | 1999-09-24 | 2004-08-03 | Kabushiki Kaisha Toshiba | Bypass control circuit |
US7287150B2 (en) | 2002-07-05 | 2007-10-23 | Fujitsu Limited | Processor and instruction control method |
Also Published As
Publication number | Publication date |
---|---|
JPS6226730B2 (en) | 1987-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3954171B2 (en) | How to fill a vector with scalar values on a computer | |
US4630195A (en) | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage | |
JPS59154564A (en) | Programmable controller | |
JPS6351287B2 (en) | ||
US5504925A (en) | Apparatus and method for implementing interrupts in pipelined processors | |
JP2682232B2 (en) | Floating point processor | |
JPS59123937A (en) | By-pass control system of arithmetic device | |
JPS58182758A (en) | Arithmetic controller | |
EP0334131B1 (en) | Data processor performing operation on data having length shorter than one-word length | |
JP2511063B2 (en) | Pipeline control method | |
JPH0452488B2 (en) | ||
JPH05173778A (en) | Data processor | |
JP2924004B2 (en) | Instruction code transfer method | |
JP3068406B2 (en) | Vector arithmetic unit | |
JPS6120907B2 (en) | ||
JPH0253820B2 (en) | ||
JPH03263264A (en) | Information processor | |
JPS62248042A (en) | Main memory access system | |
JPS6014335A (en) | Information processor | |
JPS6028014B2 (en) | microprocessor | |
JPH0792902A (en) | Programmable controller | |
JPH03217956A (en) | Data writing control system | |
JPH027139A (en) | Store data register selecting system | |
JPS5960551A (en) | Memory access controlling system | |
JPH04245333A (en) | Information processor |