JPS6119065B2 - - Google Patents

Info

Publication number
JPS6119065B2
JPS6119065B2 JP9801581A JP9801581A JPS6119065B2 JP S6119065 B2 JPS6119065 B2 JP S6119065B2 JP 9801581 A JP9801581 A JP 9801581A JP 9801581 A JP9801581 A JP 9801581A JP S6119065 B2 JPS6119065 B2 JP S6119065B2
Authority
JP
Japan
Prior art keywords
arithmetic unit
register
unit
cpu
additional
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
JP9801581A
Other languages
Japanese (ja)
Other versions
JPS57212541A (en
Inventor
Yasushi Yokoyama
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP9801581A priority Critical patent/JPS57212541A/en
Publication of JPS57212541A publication Critical patent/JPS57212541A/en
Publication of JPS6119065B2 publication Critical patent/JPS6119065B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor

Description

【発明の詳細な説明】 本発明は計算機システム、とくに付加高速演算
装置を備えた計算機システムに関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a computer system, and more particularly to a computer system equipped with an additional high-speed arithmetic unit.

中央処理装置(以下CPU)に含まれる演算装
置よりもバイト幅の広い高速の演算装置を付加し
て特定の演算、たとえば浮動小数点演算を高速で
行なわせる方式は従来から知られている。このよ
うな装置では、一般に装置の機能仕様を満足する
ためにCPUと付加演算装置との両方の側から書
き込まれるレジスタが存在する。例えば付加演算
装置で浮動小数点演算命令のみを実行し、CPU
内の演算装置で二進、十進および論理演算等の浮
動小数点以外の演算命令を実行する演算装置の場
合、プログラム状態レジスタには上記いずれの演
算命令の結果の状態も格納され、これが以後のプ
ログラムの流れを制御する条件として使用され
る。
A method has long been known in which a high-speed arithmetic unit with a wider byte width than the arithmetic unit included in a central processing unit (hereinafter referred to as CPU) is added to perform specific operations, such as floating-point operations, at high speed. In such a device, there are generally registers written to by both the CPU and the additional processing unit in order to satisfy the functional specifications of the device. For example, an additional arithmetic unit executes only floating-point arithmetic instructions, and the CPU
In the case of an arithmetic unit that executes non-floating-point arithmetic instructions such as binary, decimal, and logical operations, the program status register stores the state of the results of any of the above arithmetic instructions, and this is used for subsequent operations. Used as conditions to control program flow.

従来、この種の演算装置においては、CPU側
にこのレジスタをおき、付加演算装置側からは専
用のデータバスを用いて書込み信号を引込むか、
または付加装置側から書き込むデータは付加装置
内部のワークレジスタに一旦格納し、共通データ
バスを用いてCPUのレジスタに格納し直すのが
通例である。
Conventionally, in this type of arithmetic unit, this register was placed on the CPU side, and a write signal was drawn in from the additional arithmetic unit using a dedicated data bus, or
Alternatively, data written from the attached device side is usually stored once in a work register inside the attached device, and then stored again in the register of the CPU using a common data bus.

この結果、付加演算装置の演算ごとに付加演算
装置からCPUのレジスタへのデーータ移動が必
要となりこれに要する時間がオーバヘツドロとな
りそれだけ処理時間を長くするという欠点があ
る。
As a result, it is necessary to move data from the additional arithmetic unit to the register of the CPU for each operation of the additional arithmetic unit, and the time required for this is overheaded, resulting in a drawback that the processing time becomes longer.

本発明の目的は従来の上述の欠点を除去した計
算機システムを提供するにある。
An object of the present invention is to provide a computer system that eliminates the above-mentioned drawbacks of the conventional art.

本発明のシステムは、第1の演算装置と主記憶
装置とからなる中央処理装置と前記中央処理装置
に結合される第2の演算装置とを備えてなる計算
機システムであつて、前記計算機システム内でソ
フトウエア実行結果を格納するレジスタとして前
記第1の演算装置内に設けた第1の格納手段と、
前記レジスタと同一レジスタとして前記第2の演
算装置内に設けた第2の格納手段と、前記第1ま
たは第2の格納手段に書込みを行なう書込制御信
号に応答してセツトまたはリセツト状態を取るフ
リツプフロツプと、前記フリツプフロツプの状態
に応答して前記第1または第2のいずれかの格納
手段に格納された内容を選択する選択手段とを有
する。
The system of the present invention is a computer system comprising a central processing unit including a first arithmetic unit and a main storage device, and a second arithmetic unit coupled to the central processing unit, the system comprising: a first storage means provided in the first arithmetic unit as a register for storing software execution results;
A second storage means provided in the second arithmetic unit as the same register as the register, and a set or reset state in response to a write control signal for writing to the first or second storage means. It has a flip-flop and selection means for selecting the contents stored in either the first or second storage means in response to the state of the flip-flop.

次に図面を参照して本発明を詳細に説明する。 Next, the present invention will be explained in detail with reference to the drawings.

第1図は本発明の一実施例の全体を示すブロツ
ク図および第2図はその一部を示すブロツク図で
ある。
FIG. 1 is a block diagram showing the whole of one embodiment of the present invention, and FIG. 2 is a block diagram showing a part thereof.

本実施例は、中央処理装置1(以後CPU1)およ
び付加演算装置2からなり、さらに、前記CPU1
は、主記憶装置3、制御記憶11、シーケンス制
御ユニツト12、主記憶バツフアユニツト13、
アドレス変換ユニツト14、実行ユニツト15を
含み、また前記付加演算装置2は浮動小数点演算
装置20を含む。
This embodiment consists of a central processing unit 1 (hereinafter referred to as CPU 1 ) and an additional arithmetic unit 2, and further includes the CPU 1
The main memory device 3, the control memory 11, the sequence control unit 12, the main memory buffer unit 13,
The additional arithmetic unit 2 includes an address translation unit 14 and an execution unit 15, and the additional arithmetic unit 2 includes a floating point arithmetic unit 20.

さらに、第2図に示すように、前記CPU1の実
行ユニツト15はレジスタ151,152、演算
器153、プログラム状態レジスタ154、選択
指示用フリツプフロツプ155(以後FF155)お
よび選択回路156を含み、また、前記浮動小数
点演算装置20は指数レジスタ200,202、
仮数レジスタ201,203、浮動小数点演算器
204およびプログラム状態レジスタ205を含
む。
Furthermore, as shown in FIG. 2, the execution unit 15 of the CPU 1 includes registers 151, 152, an arithmetic unit 153, a program status register 154, a selection instruction flip-flop 155 (hereinafter referred to as FF 155 ), and a selection circuit 156. , the floating point arithmetic unit 20 has exponent registers 200, 202,
It includes mantissa registers 201 and 203, a floating point arithmetic unit 204, and a program status register 205.

まず、実行すべきソフトウエア命令は、主記憶
装置3からバツフアユニツト13を介して読み出
され、実行ユニツト15の中のソフトウエア命令
レジスタ(図示せず)に格納される。このソフト
ウエア命令はソフトウエア命令デコーダ(図示せ
ず)により解読され、解読された情報がシーケン
ス制御ユニツト12に供給される。
First, a software instruction to be executed is read from the main memory 3 via the buffer unit 13 and stored in a software instruction register (not shown) in the execution unit 15. This software instruction is decoded by a software instruction decoder (not shown) and the decoded information is provided to sequence control unit 12.

各ソフトウエア命令に対応するマイクロプログ
ラムは、制御記憶11の中に格納されており、制
御ユニツト12は前記供給された情報に従つて制
御記憶11から読み出すプログラムの流れを制御
する。かくして、各ソフトウエア命令は、それに
対応するマイクロプログラムの実行という形で処
理され、このマイクロプログラムの各命令を解読
したシーケンス制御ユニツト12がそれに応じて
前記各ユニツトあるいは付加演算装置を制御する
ことにより実行される。
A microprogram corresponding to each software instruction is stored in the control memory 11, and the control unit 12 controls the flow of programs read from the control memory 11 according to the information supplied. In this way, each software instruction is processed by executing the corresponding microprogram, and the sequence control unit 12 that decodes each instruction of this microprogram controls each of the units or additional arithmetic units accordingly. executed.

さて、今、前記命令デコーダによつて解読され
たソフトウエア命令が浮動小数点掛算命令であつ
たとする。制御ユニツト12は解読された被乗数
を浮動小数点演算装置20に含まれるレジスタ2
00および201に格納する。この場合にこの被
乗数の指数部は指数部レジスタ200に、また仮
数部は仮数部レジスタ201に格納される。同様
にして指定された乗数の指数部は指数部レジスタ
202にまた仮数部は仮数部レジスタ203に格
納される。
Now, assume that the software instruction decoded by the instruction decoder is a floating-point multiplication instruction. The control unit 12 stores the decoded multiplicand in a register 2 included in the floating point arithmetic unit 20.
Stored in 00 and 201. In this case, the exponent part of this multiplicand is stored in the exponent part register 200, and the mantissa part is stored in the mantissa register 201. Similarly, the exponent part of the designated multiplier is stored in the exponent part register 202 and the mantissa part is stored in the mantissa register 203.

次に制御ユニツト12は浮動小数点掛算を開始
すべきことを浮動小数点演算装置20に指令す
る。この指令がすむと制御ユニツト12はアドレ
ス変換ユニツト14を介して次のソフトウエア命
令の先取りを開始する。
Control unit 12 then instructs floating point unit 20 to begin floating point multiplication. Once this command is completed, the control unit 12 starts prefetching the next software command via the address translation unit 14.

一方、浮動小数点演算装置20は、前記浮動小
数点掛算の開始指令を受けるとそれに従つて、こ
の演算装置20に含まれる制御記憶(図示せず)
から浮動小数点掛算を実行するためのマイクロプ
ログラムの開始番地のマイクロ命令を読み出し
(浮動小数点掛算マイクロプログラムの開始番地
にジヤンプし)、このマイクロプログラムの各命
令に従つて浮動小数点演算器204を制御するこ
とにより浮動小数点掛算を実行する。このマイク
ロプログラムは、この掛算が終了するとその演算
結果に応じてプログラム状態レジスタ205の内
容を書き込み、かつ、CPU1の実行ユニツト15
の中に設けられている選択指示用フリツプフロツ
プ155(FF155)をセツトする。
On the other hand, upon receiving the floating point multiplication start command, the floating point arithmetic unit 20 executes a control memory (not shown) included in the arithmetic unit 20.
Reads the microinstruction at the start address of the microprogram for executing floating-point multiplication from (jumps to the start address of the floating-point multiplication microprogram), and controls the floating-point arithmetic unit 204 according to each instruction of this microprogram. This performs floating point multiplication. When this multiplication is completed, this microprogram writes the contents of the program status register 205 according to the result of the operation, and also writes the contents of the program status register 205 to the execution unit 15 of the CPU 1 .
The selection instruction flip-flop 155 (FF 155 ) provided in the FF 155 is set.

CPU1の実行ユニツト15の中には、固定小数
点数の演算を行う演算器153およびそれに付随
するレジスタ151,152およびプログラム状
態レジスタ154があり、このプログラム状態レ
ジスタ154の出力は選択回路156の一方の入
力に供給されている。前記浮動小数点演算装置2
0のプログラム状態レジスタ205の出力はライ
ン2000を介し前記選択回路156のもう一方
の入力に供給されている。また、前記FF155
がセツトされている場合には、選択回路156は
レジスタ205側の出力を選択し、この出力をプ
ログラム状態の値を必要とする実行ユニツト15
の中の論理回路に直接供給する。
The execution unit 15 of the CPU 1 includes an arithmetic unit 153 that performs fixed-point arithmetic operations, registers 151 and 152 associated therewith, and a program status register 154. The output of the program status register 154 is sent to one side of the selection circuit 156. is being fed to the input of The floating point arithmetic unit 2
The output of the zero program status register 205 is provided via line 2000 to the other input of the selection circuit 156. Also, the FF155
is set, the selection circuit 156 selects the output on the register 205 side, and sends this output to the execution unit 15 that requires the program state value.
directly to the logic circuit inside.

CPU1中にあるプログラム状態レジスタ154
と浮動小数点演算装置20の中にあるプログラム
状態レジスタ205とは、ソフトウエアからは唯
一に定義された同一のレジスタと見なされるレジ
スタである。このため従来装置では、前述のよう
に、付加演算装置側にはレジスタ205に相当す
るものを備えておらず演算器204の演算結果の
状態データ(演算結果が0か正か、負かオバーフ
ローがあつたか等のプログラムの流れを制御する
ための状態データ)は専用のデータパスを用いて
直接CPU側のプログラム状態レジスタ154に
転送するかまたは付加演算装置内部のワークレジ
スタに一旦格納し、共通のデータバスを介して
CPU側のレジスタに格納し直すのが通例であ
る。
Program status register 154 in CPU 1
and the program status register 205 in the floating point arithmetic unit 20 are registers that are considered to be the same and unique register defined by the software. For this reason, in the conventional device, as mentioned above, the additional arithmetic unit side is not equipped with something equivalent to the register 205, and the state data of the arithmetic result of the arithmetic unit 204 (whether the arithmetic result is 0 or positive, negative or overflow) is not provided. Status data (for controlling the flow of programs such as hot data) is transferred directly to the program status register 154 on the CPU side using a dedicated data path, or is temporarily stored in a work register inside the additional processing unit and transferred to a common via data bus
It is customary to store it back in a register on the CPU side.

しかるに、本実施例によるとCPU1と付加演算
装置2との両方の装置内にそれぞれ独立に書き込
むことのできるレジスタ154および205が個
別に備わつており、FF155をセツトリセツトする
ことにより有効な値が格納されている方のレジス
タの出力信号が選択回路156で選択され、プロ
グラム状態レジスタのデータを必要とする論理回
路に直接供給されるので付加演算装置からCPU
のレジスタへのデータ移動が無くなり、これによ
るオーバーヘツドロスを排除し装置のスループツ
トを改善することができる。
However, according to this embodiment, both the CPU 1 and the additional arithmetic unit 2 are provided with registers 154 and 205 that can be written to independently, and by resetting the FF 155 , valid values can be set. The output signal of the register storing the program status register is selected by the selection circuit 156 and is directly supplied to the logic circuit that requires the data of the program status register, so that the output signal from the additional arithmetic unit to the CPU
This eliminates the need to move data to the registers, thereby eliminating overhead loss and improving the throughput of the device.

また、付加演算装置のデータパスを装置内のレ
ジスタで区切れるので、これを含むデータパスの
遅延時間に余裕をもたせることができる。
Further, since the data path of the additional arithmetic unit can be separated by a register within the device, it is possible to provide a margin for the delay time of the data path including this.

なお、FF155をセツトおよびリセツトする信号
としては従来装置で演算器204の状態をプログ
ラム状態レジスタに書き込むときに使用する書込
み信号と、演算器153の状態をプログラム状態
レジスタに書き込むときに使用する書込み信号と
をそれぞれ使用すればよい。
The signals for setting and resetting the FF 155 include a write signal used in conventional devices when writing the state of the arithmetic unit 204 to the program status register, and a write signal used when writing the state of the arithmetic unit 153 to the program status register. It is sufficient to use the signals respectively.

本実施例においては、付加演算装置として浮動
小数点演算装置をとりあげたが、これは一例にす
ぎず、対象をこれに限定するものでないことは明
らかである。
In this embodiment, a floating point arithmetic unit is used as an additional arithmetic unit, but this is merely an example, and it is clear that the object is not limited to this.

また、本実施例においてはプログラム状態レジ
スタを用いて説明したが、CPUと付加演算装置
の双方から書き込みがなされ、しかもソフトウエ
アからみて唯一に定義された他のレジスタに対し
ても同様に本発明を適用することができる。
Furthermore, although this embodiment has been explained using the program status register, the present invention can similarly apply to other registers that are written by both the CPU and the additional processing unit and are uniquely defined from the software perspective. can be applied.

以上のように、本発明を用いると、中央処理装
置と付加演算装置間のデータ移動を効率化して装
置のスループツトを向上させ、また付加演算装置
のデータパスの遅延時間に余裕を生みだすという
効果がある。
As described above, the present invention has the effect of increasing the efficiency of data movement between the central processing unit and the additional processing unit, improving the throughput of the device, and creating a margin for the delay time of the data path of the additional processing unit. be.

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

第1図は本発明の計算機システムの一実施例の
全体を示すブロツク図および第2図は前記実施例
の一部を詳細に説明するためのブロツク図であ
る。 図において、1……中央処理装置(CPU1)、2
……付加演算装置、3……主記憶装置、11……
制御記憶、12……シーケンス制御ユニツト、1
3……主記憶バツフアユニツト、14……アドレ
ス変換ユニツト、15……実行ユニツト、20…
…浮動小数点演算装置、151,152……レジ
スタ、153……演算器、154,205……プ
ログラム状態レジスタ、155……選択指示用フ
リツプフロツプ(FF155)、156……選択回
路、200,202……指数レジスタ、201,
203……仮数レジスタ、204……浮動小数点
演算器。
FIG. 1 is a block diagram showing an entire embodiment of a computer system according to the present invention, and FIG. 2 is a block diagram for explaining a part of the embodiment in detail. In the figure, 1...Central processing unit (CPU 1 ), 2
...Additional arithmetic unit, 3...Main storage device, 11...
Control memory, 12...Sequence control unit, 1
3...Main memory buffer unit, 14...Address conversion unit, 15...Execution unit, 20...
...Floating point arithmetic unit, 151, 152...Register, 153...Arithmetic unit, 154,205...Program status register, 155...Flip-flop for selection instruction ( FF155 ), 156...Selection circuit, 200,202... ...Exponent register, 201,
203...mantissa register, 204...floating point arithmetic unit.

Claims (1)

【特許請求の範囲】[Claims] 1 第1の演算装置と主記憶装置とからなる中央
処理装置と前記中央処理装置に結合される第2の
演算装置とを備えてなる計算機システムにおい
て、前記計算機システム内でソフトウエア実行結
果を格納するレジスタとして前記第1の演算装置
内に設けた第1の格納手段と、前記レジスタと同
一レジスタとして前記第2の演算装置内に設けた
第2の格納手段と、前記第1または第2の格納手
段に書込みを行なう書込制御信号に応答してセツ
トまたはリセツト状態を取るフリツプフロツプ
と、前記フリツプフロツプの状態に応答して前記
第1または第2のいずれかの格納手段に格納され
た内容を前記レジスタの内容として選択する選択
手段とを有することを特徴とする計算機システ
ム。
1. In a computer system comprising a central processing unit comprising a first arithmetic unit and a main storage device, and a second arithmetic unit coupled to the central processing unit, software execution results are stored within the computer system. a first storage means provided in the first arithmetic unit as a register to be stored; a second storage means provided in the second arithmetic unit as the same register as the register; a flip-flop that takes a set or reset state in response to a write control signal for writing to the storage means; 1. A computer system comprising: selection means for selecting contents of a register.
JP9801581A 1981-06-24 1981-06-24 Operational processor Granted JPS57212541A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9801581A JPS57212541A (en) 1981-06-24 1981-06-24 Operational processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9801581A JPS57212541A (en) 1981-06-24 1981-06-24 Operational processor

Publications (2)

Publication Number Publication Date
JPS57212541A JPS57212541A (en) 1982-12-27
JPS6119065B2 true JPS6119065B2 (en) 1986-05-15

Family

ID=14207989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9801581A Granted JPS57212541A (en) 1981-06-24 1981-06-24 Operational processor

Country Status (1)

Country Link
JP (1) JPS57212541A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH081604B2 (en) * 1983-07-25 1996-01-10 株式会社日立製作所 Microprocessor
US5165033A (en) * 1983-07-25 1992-11-17 Hitachi, Ltd. Microprocessor and data processor using the former
JPS60214069A (en) * 1984-04-02 1985-10-26 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション Processing system

Also Published As

Publication number Publication date
JPS57212541A (en) 1982-12-27

Similar Documents

Publication Publication Date Title
US4740893A (en) Method for reducing the time for switching between programs
JPS6313215B2 (en)
US4773035A (en) Pipelined data processing system utilizing ideal floating point execution condition detection
JPS623461B2 (en)
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JPS6119065B2 (en)
US5134698A (en) Data processing system having a storage controller for transferring an arbitrary amount of data at an arbitrary address boundary between storages
KR910001708B1 (en) Central processing unit
JPS59114677A (en) Vector processor
JPS594049B2 (en) computer equipment
JPS5828609B2 (en) Tokushiyumei Reishiori Sochi
JPH0222413B2 (en)
JPS6125166B2 (en)
US4630194A (en) Apparatus for expediting sub-unit and memory communications in a microprocessor implemented data processing system having a multibyte system bus that utilizes a bus command byte
JPH07110769A (en) Vliw type computer
JPS607540A (en) Interruption control circuit
JPS6158861B2 (en)
EP0305527A1 (en) High-speed floating point arithmetic unit
JPS629926B2 (en)
JP2619416B2 (en) emulator
JP2883489B2 (en) Instruction processing unit
SU896625A1 (en) Data processing device
JPS617976A (en) Vector operation processor
JPS6116114B2 (en)
JPS5954091A (en) Electronic computer