JPS61282928A - Floating-point arithmetic unit - Google Patents

Floating-point arithmetic unit

Info

Publication number
JPS61282928A
JPS61282928A JP60124243A JP12424385A JPS61282928A JP S61282928 A JPS61282928 A JP S61282928A JP 60124243 A JP60124243 A JP 60124243A JP 12424385 A JP12424385 A JP 12424385A JP S61282928 A JPS61282928 A JP S61282928A
Authority
JP
Japan
Prior art keywords
exponent
zero
mantissa
intermediate result
circuit
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.)
Pending
Application number
JP60124243A
Other languages
Japanese (ja)
Inventor
Takeshi Watanabe
毅 渡辺
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 JP60124243A priority Critical patent/JPS61282928A/en
Publication of JPS61282928A publication Critical patent/JPS61282928A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To make the arithmetic result of zero at a high speed by providing a means which generates the zero condition of a fixed-point part in accordance with the exponent part of an intermediate result and the fixed-point part of the intermediate result independently of a means which detects the exponent underflow exception. CONSTITUTION:In a mantissa normalization arithmetic part 18, zero bits of an intermediate result register 6 are encoded by an encoder 11' to obtain a normalized counted value, and this normalized counted value is subtracted from the exponent part of an intermediate result register 8 to obtain the zero condition of the fixed-point part by a carry look ahead forecasting circuit 19. If the zero condition is satisfied, the output (zero signal) of the circuit 19 goes to '1', and the arithmetic result of the fixed-point part obtained by a normalization shift circuit 10 is made of zero by an AND circuit 14. Thus, the arithmetic result is made of zero at a high speed evenn if the exponent under-flow exception occurs.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は浮動小数点演算装置に係わり、特に指数アンダ
ーフロー例外が発生した場合に高速に演算結果を零化す
るのに好適な浮動小数点加減算装置に関する。
[Detailed Description of the Invention] [Field of Application of the Invention] The present invention relates to a floating-point arithmetic device, and more particularly to a floating-point addition/subtraction device suitable for quickly zeroing out arithmetic results when an exponent underflow exception occurs. .

[発明の背景〕 浮動小数点数値は、符号と指数部と仮数部の3つから構
成される。符号は(+) 、  (−)を0゜1で、指
数部は16のべき乗で、また仮数部は最上位桁の左側に
小数点を有する16進数で、それぞれ表わされる。浮動
小数点数値は固定長であり。
[Background of the Invention] A floating point value is composed of three parts: a sign, an exponent part, and a mantissa part. The signs (+) and (-) are expressed as 0°1, the exponent is expressed as a power of 16, and the mantissa is expressed as a hexadecimal number with a decimal point to the left of the most significant digit. Floating point values are fixed length.

1語32ビツト形式のものでは、0ビツト目が符号、1
〜7ビツト目が指数部、8〜31ビツト目が仮数部であ
る。
In the format of 32 bits per word, the 0th bit is a sign, 1
The 7th to 7th bits are the exponent part, and the 8th to 31st bits are the mantissa part.

浮動小数点数値では、仮数の最上位桁を16進の0.1
以上になるように、仮数部および指数部を調整すること
ができ、これを正規化という、また、浮動小数点命令の
実行結果、演算例外が生じたときにはプログラム割込み
が行われる1例えば。
For floating point numbers, the most significant digit of the mantissa is 0.1 hexadecimal.
As described above, the mantissa and exponent parts can be adjusted, which is called normalization.For example, when an arithmetic exception occurs as a result of executing a floating-point instruction, a program interrupt is performed.

浮動小数点数値の演算において、結果の指数が零より小
さく、かつ仮数部が零でない場合には指数アンダーフロ
ー例外が生じる。このとき、仮数部は正規化され、符号
および仮数部は正しい値を示すが、指数部は正しい値よ
り128だけ大きな値を示す。
In a floating-point operation, if the resulting exponent is less than zero and the mantissa is not zero, an exponent underflow exception occurs. At this time, the mantissa part is normalized and the sign and mantissa part show correct values, but the exponent part shows a value 128 larger than the correct value.

一般に浮動小数点加減算においては、中間和の仮数部の
各桁(一般に16進数)ごとの零検出ビットから正規化
カウントを求め、中間和の指数部からこの正規化カウン
トを減算することにより指数アンダーフロー例外を検出
している。
Generally, in floating-point addition and subtraction, a normalized count is calculated from the zero detection bit for each digit (generally hexadecimal) of the mantissa part of the intermediate sum, and this normalized count is subtracted from the exponent part of the intermediate sum to detect exponent underflow. Detecting an exception.

第2図に従来の演算結果の構成例を示す6図中、17は
指数正規化演算部、18は仮数正規化演算部である。
In FIG. 6 showing an example of the structure of a conventional calculation result, 17 is an exponent normalization calculation section, and 18 is a mantissa normalization calculation section.

正規化加算を実行する場合、先ず入力レジスタ1.2の
2つのオペランドOPI、OP2の大きさを調べるため
に、2つのオペランドの指数部を比較する。もし、2つ
のオペランドOPI、OP2の指数部の大きさが異なる
場合には、シフト回路3により、小さい指数部を有する
オペランドの仮数部を、大きい指数部を有するオペラン
ドの指数部に等し°くなるまで右にシフトした後、加算
器4で代数加算を行い、仮数部の中間和を中間結果レジ
スタ5にセットする。同時に中間和の零ビットを中間結
果レジスタ6にセットする。一方、大きい方の指数部が
指数選択ゲート7で取り出されて、中間結果レジスタ8
にセットされる。
When performing normalized addition, first, in order to check the sizes of the two operands OPI and OP2 of the input register 1.2, the exponent parts of the two operands are compared. If the sizes of the exponent parts of the two operands OPI and OP2 are different, the shift circuit 3 makes the mantissa part of the operand with a small exponent part equal to the exponent part of the operand with a large exponent part. After shifting to the right until , the adder 4 performs algebraic addition, and the intermediate sum of the mantissa part is set in the intermediate result register 5. At the same time, the zero bit of the intermediate sum is set in the intermediate result register 6. On the other hand, the larger exponent part is taken out by the exponent selection gate 7 and intermediate result register 8
is set to

仮数正規化演算部18では、中間結果レジスタ6の零ビ
ットあるいは中間結果レジスタ5の仮数部をエンコーダ
9でエンコードすることにより、正規化シフトカウント
値を求め、正規化シフト回路lOで仮数部の上位に零が
なくなるまで左側にシフトし、空いた下位の桁を零で埋
める。
In the mantissa normalization operation unit 18, a normalized shift count value is obtained by encoding the zero bit of the intermediate result register 6 or the mantissa part of the intermediate result register 5 with the encoder 9, and the upper part of the mantissa part is determined by the normalization shift circuit lO. Shift to the left until there are no zeros, and fill in the empty lower digits with zeros.

指数正規化演算部17では、中間結果レジスタ6の零ビ
ットをエンコーダ11でエンコードすることにより、正
規化カウント値を求め、指数部加減算器12において、
中間結果レジスタ8の値からエンコーダ11で得た正規
化カウント値を減算する。
In the exponent normalization operation unit 17, the zero bit of the intermediate result register 6 is encoded by the encoder 11 to obtain a normalized count value, and in the exponent part adder/subtractor 12,
The normalized count value obtained by the encoder 11 is subtracted from the value of the intermediate result register 8.

指数部加減算器12での減算の際に、指数アンダーフロ
ーが発生し、かつ、プログラム・マスク(psw上にあ
る)の指数アンダーフロー・マスクビットが「1」にセ
ットされていれば、指数アンダーフロー割込みを起す。
If an exponent underflow occurs during subtraction in the exponent adder/subtractor 12 and the exponent underflow mask bit in the program mask (on psw) is set to "1", an exponent underflow occurs. Causes a flow interrupt.

また、指数アンダーフロー・マスク・ビットがrOJに
リセットされていれば、指数アンダーフロー割込みは抑
止され、AND回路13.14により、指数部および仮
数部の演算結果を零化する。演算結果はレジスタ15.
16に各々セットされる。
Further, if the exponent underflow mask bit is reset to rOJ, the exponent underflow interrupt is suppressed, and the AND circuits 13 and 14 zero out the calculation results of the exponent and mantissa parts. The calculation result is stored in register 15.
16, respectively.

しかし、第2図の構成では、中間結果レジスタ6の零検
出ビットから指数アンダーフロー条件を検出し、その結
果により仮数部を零化するまでのディレィが大きくなっ
てしまい、演算装置のマシンサイクルを短縮する上での
ネックとなっている。
However, in the configuration shown in FIG. 2, the delay until the exponent underflow condition is detected from the zero detection bit of the intermediate result register 6 and the mantissa is zeroed based on the result becomes long, and the machine cycle of the arithmetic unit is reduced. This is a bottleneck in shortening the length.

この開運に対し1例えば特開昭55−135942号に
示されるように、中間和の指数部をデコードし、そのデ
コード出力と仮数部の零検出ビットの1ないし数ビット
との論理積をとることにより、指数アンダーフロー例外
を高速に検出する方法が知られている。しかし、この方
法では、指数アンダーフロー条件を検出するまでのゲー
ト段数を削減するために、ゲート数を著しく増大させて
しまうこと、および仮数ポストシフト演算器までの距離
が増大し、信号伝搬ディレィが大きくなるという新たな
る問題を生じてしまう。
For this good luck, 1. For example, as shown in Japanese Patent Laid-Open No. 55-135942, the exponent part of the intermediate sum is decoded, and the decoded output is ANDed with one or several zero detection bits of the mantissa part. A method for quickly detecting an exponential underflow exception is known. However, this method significantly increases the number of gates in order to reduce the number of gate stages required to detect an exponential underflow condition, and the distance to the mantissa postshift calculator increases, resulting in a signal propagation delay. This creates a new problem of increasing size.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、浮動小数点演算装置において、指数ア
ンダーフロー例外が生じた場合に、演算結果の零化を高
速に実行可能とする演算結果零化手段を提供することに
ある。
SUMMARY OF THE INVENTION An object of the present invention is to provide an operation result zeroing means that can quickly zero the operation result when an exponent underflow exception occurs in a floating point arithmetic unit.

〔発明の概要〕[Summary of the invention]

本発明は、仮数部のボストノーマライズを行う仮数正規
化演算部に、指数アンダーフロー例外検出回路とは別に
、中間和の仮数部の上位より連続する零の桁数を表わす
情報より、ボストノーマライズに必要なシフト桁数をデ
コードし、それを中間和の指数部より減算することによ
り指数アンダーフローを検出し、指数アンダーフローマ
スクが零であれば仮数部を零化する仮数部零化論理回路
を設けたことを特徴とする。
The present invention provides a mantissa normalization operation unit that performs bost normalization of the mantissa part, in addition to an exponent underflow exception detection circuit, based on information representing the number of consecutive zero digits from the upper part of the mantissa part of the intermediate sum. A mantissa zeroing logic circuit detects exponent underflow by decoding the required number of shift digits and subtracting it from the exponent part of the intermediate sum, and zeroes the mantissa part if the exponent underflow mask is zero. It is characterized by having been established.

〔発明の実施例〕[Embodiments of the invention]

第1図は本発明の一実施例を示し、第2図と同一部分は
同一記号で表わしている。第2図と異なる点は、仮数正
規化演算部18に、正規化カウントエンコーダ1ビとキ
ャリー先見予測回路19を設け、指数正規化加減算回路
12からの指数アンダーフロー信号のかわりに、キャリ
ー先見予測回路19で得られる零化信号をAND回路1
4に与えるようにしたことである。
FIG. 1 shows an embodiment of the present invention, and the same parts as in FIG. 2 are represented by the same symbols. The difference from FIG. 2 is that the mantissa normalization calculation section 18 is provided with a normalized count encoder 1 bit and a carry look-ahead prediction circuit 19, and instead of the exponent underflow signal from the exponent normalization addition/subtraction circuit 12, the carry look-ahead prediction AND circuit 1
4.

正規化加算を実行する場合、入力レジスタ1゜2の2つ
のオペランドOPI、OP2の指数部を比較する。もし
、2つのオペランドopt、op2の指数部が異なる場
合、小さい指数部を有するオペランドの仮数部を、シフ
ト回路3により2つの指数部が等しくなるまで右にシフ
トした後、加算器4で2つの仮数部の代数加算を行い、
その中間和を中間結果レジスタ5にセットする。同時に
該仮数部の中間和の零ビットを中間結果レジスタ6にセ
ットする。一方、2つのオペランドOPI。
When performing normalized addition, the exponent parts of the two operands OPI and OP2 of input register 1.2 are compared. If the exponent parts of the two operands opt and op2 are different, the mantissa part of the operand having the smaller exponent part is shifted to the right by the shift circuit 3 until the two exponent parts are equal, and then the adder 4 Perform algebraic addition of the mantissa part,
The intermediate sum is set in intermediate result register 5. At the same time, the zero bit of the intermediate sum of the mantissa is set in the intermediate result register 6. On the other hand, two operands OPI.

OF2の大きい方の指数部を指数選択ゲート7を介して
中間結果レジスタ8にセットする。
The larger exponent part of OF2 is set in the intermediate result register 8 via the exponent selection gate 7.

仮数正規化演算部18では、中間結果レジスタ6の零ビ
ットをエンコーダ9でエンコードして正規化シフトカウ
ント値を求め、正規化シフト回路10において、中間結
果レジスタ5の仮数部を上位に零がなくなるまで左側に
シフトし、空いた下位の桁は零で埋めて仮数部の演算結
果を得る。同時に、中間結果レジスタ6の零ビットをエ
ンコーダ11’でエンコードして正規化カウント値を得
、キャリー先見予測回路19により、中間結果レジスタ
8の指数部から該正規化カウント値を減算して仮数部の
零化条件を求める。零化条件が成立すると、キャリー先
見予測回路19の出力(零化信号)が′″1″となり、
正規化シフト回路lOで求まった仮数部の演算結果はA
ND回路14により零化される。
In the mantissa normalization calculation unit 18, the zero bit of the intermediate result register 6 is encoded by the encoder 9 to obtain a normalized shift count value, and in the normalization shift circuit 10, the mantissa part of the intermediate result register 5 has no zero in the upper part. Shift to the left up to 0.0 and fill the empty lower digits with zeros to obtain the result of the mantissa operation. At the same time, the zero bit of the intermediate result register 6 is encoded by the encoder 11' to obtain a normalized count value, and the carry look-ahead prediction circuit 19 subtracts the normalized count value from the exponent part of the intermediate result register 8 to obtain the mantissa part. Find the conditions for zeroing out. When the zeroing condition is satisfied, the output (zeroing signal) of the carry look-ahead prediction circuit 19 becomes ``1'',
The calculation result of the mantissa obtained by the normalization shift circuit lO is A
It is made zero by the ND circuit 14.

一方、指数正規化演算部17では、中間結果レジスタ6
の零ビットをエンコーダ11でエンコードして正規化カ
ウント値を°求め、指数部加減算器12において、中間
結果レジスタ8の指数部から該正規化カウント値を減算
して指数部の演算結果を得る。その際、加減算HI11
2より指数アンダーフロー信号が発生し、かつ、指数ア
ンダーフロー・マスク・ビットが「0」にリセットされ
ていれば、指数部の演算結果はAND回路13により零
化される。
On the other hand, in the exponent normalization calculation unit 17, the intermediate result register 6
The encoder 11 encodes the zero bits of , to obtain a normalized count value, and the exponent adder/subtractor 12 subtracts the normalized count value from the exponent part of the intermediate result register 8 to obtain the calculation result of the exponent part. At that time, addition/subtraction HI11
If an exponent underflow signal is generated from 2 and the exponent underflow mask bit is reset to "0", the calculation result of the exponent part is zeroed by the AND circuit 13.

以上、正規化加算を実行する場合について説明したが、
正規化減算の場合も同様である。
Above, we have explained the case of performing normalized addition.
The same applies to normalized subtraction.

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

本発明によれば、指数正規化演算部より仮数部ポストシ
フト演算器までの零化信号の伝搬時間がまったく不要に
なるため、指数アンダーフロー例外が生じた場合でも、
高速に演算結果の零化が実行可能である。また、従来技
術に比べ、必要なゲート数も少なくて済むため、実装上
の制約を受けずに実施することができる。これにより、
浮動小数点演算装置のマシンサイクルの短縮が可能とな
る。
According to the present invention, since the propagation time of the nulling signal from the exponent normalization calculation unit to the mantissa postshift calculation unit is not required at all, even when an exponent underflow exception occurs,
It is possible to zero out the calculation result at high speed. Furthermore, since the number of required gates is smaller than that of the conventional technology, it can be implemented without mounting restrictions. This results in
It is possible to shorten the machine cycle of a floating point arithmetic unit.

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

第1図は本発明による浮動小数点演算装置の一実施例を
示す図、第2図は従来の構成例を示す図である。 1.2・・・入力レジスタ、  3・・・桁合せシフト
回路、 4・・・加算器、  5,6.8・・・中間結
果レジスタ、  9・・・正規化シフトカウントエンコ
ーダ、  10・・・正規化シフト回路、11.11’
・・・正規化カウントエンコーダ、12・・・正規化加
減算回路、   13.14・・・AND回路、  1
5・・・指数最終レジスタ。 16・・・仮数最終レジスタ、  17・・・指数正規
化演算部、  18・・・仮数正規化演算部、19・・
・キャリー先見予測回路。 第2図
FIG. 1 is a diagram showing an embodiment of a floating point arithmetic device according to the present invention, and FIG. 2 is a diagram showing an example of a conventional configuration. 1.2... Input register, 3... Digit alignment shift circuit, 4... Adder, 5, 6.8... Intermediate result register, 9... Normalization shift count encoder, 10...・Normalization shift circuit, 11.11'
...Normalized count encoder, 12...Normalized addition/subtraction circuit, 13.14...AND circuit, 1
5... Index final register. 16... Mantissa final register, 17... Exponent normalization calculation unit, 18... Mantissa normalization calculation unit, 19...
・Carry foresight prediction circuit. Figure 2

Claims (1)

【特許請求の範囲】[Claims] (1)2つの浮動小数点数値を演算し、中間結果の仮数
部の上位より連続する零の桁数を調べ、該桁数だけ中間
結果の仮数部をシフトして仮数部の演算結果を得、中間
結果の指数部から前記桁数だけ減算して指数部の演算結
果を得ると共に、指数アンダーフローが発生すると前記
指数部および仮数部の演算結果を零化する演算装置にお
いて、指数アンダーフロー例外を検出する手段とは別に
、中間結果の指数部と中間結果の仮数部より仮数部の零
化条件を生成する手段を設けたことを特徴とする浮動小
数点演算装置。
(1) Operate two floating point numbers, check the number of consecutive zero digits from the upper part of the mantissa part of the intermediate result, shift the mantissa part of the intermediate result by the number of digits, and obtain the operation result of the mantissa part, In an arithmetic device that subtracts the number of digits from the exponent part of the intermediate result to obtain the arithmetic result of the exponent part, and zeroes the arithmetic results of the exponent part and the mantissa part when an exponent underflow occurs, an exponent underflow exception is generated. A floating-point arithmetic device characterized in that, separate from the detecting means, means is provided for generating a zeroing condition for the mantissa part from the exponent part of the intermediate result and the mantissa part of the intermediate result.
JP60124243A 1985-06-10 1985-06-10 Floating-point arithmetic unit Pending JPS61282928A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60124243A JPS61282928A (en) 1985-06-10 1985-06-10 Floating-point arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60124243A JPS61282928A (en) 1985-06-10 1985-06-10 Floating-point arithmetic unit

Publications (1)

Publication Number Publication Date
JPS61282928A true JPS61282928A (en) 1986-12-13

Family

ID=14880505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60124243A Pending JPS61282928A (en) 1985-06-10 1985-06-10 Floating-point arithmetic unit

Country Status (1)

Country Link
JP (1) JPS61282928A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02170225A (en) * 1988-12-22 1990-07-02 Koufu Nippon Denki Kk System for detecting arithmetic exception
US5282156A (en) * 1991-01-31 1994-01-25 Matsushita Electric Industrial Co., Ltd. Leading one anticipator and floating point addition/subtraction apparatus employing same
JPH07114455A (en) * 1993-09-29 1995-05-02 Internatl Business Mach Corp <Ibm> Pipeline floating-point processor and execution of its multiplication and addition instruction sequence

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55135942A (en) * 1979-04-11 1980-10-23 Hitachi Ltd Operation device
JPS5679336A (en) * 1979-11-29 1981-06-29 Fujitsu Ltd Decision circuit for exponential part operation result
JPS59154542A (en) * 1983-02-23 1984-09-03 Hitachi Ltd Multiplying device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55135942A (en) * 1979-04-11 1980-10-23 Hitachi Ltd Operation device
JPS5679336A (en) * 1979-11-29 1981-06-29 Fujitsu Ltd Decision circuit for exponential part operation result
JPS59154542A (en) * 1983-02-23 1984-09-03 Hitachi Ltd Multiplying device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02170225A (en) * 1988-12-22 1990-07-02 Koufu Nippon Denki Kk System for detecting arithmetic exception
US5282156A (en) * 1991-01-31 1994-01-25 Matsushita Electric Industrial Co., Ltd. Leading one anticipator and floating point addition/subtraction apparatus employing same
JPH07114455A (en) * 1993-09-29 1995-05-02 Internatl Business Mach Corp <Ibm> Pipeline floating-point processor and execution of its multiplication and addition instruction sequence

Similar Documents

Publication Publication Date Title
Schmookler et al. Leading zero anticipation and detection-a comparison of methods
US8799344B2 (en) Comparator unit for comparing values of floating point operands
US8793294B2 (en) Circuit for selectively providing maximum or minimum of a pair of floating point operands
JPH07225671A (en) Result normalization mechanism and method of operation
US10416962B2 (en) Decimal and binary floating point arithmetic calculations
JPS584369B2 (en) Digit Validity Tracker
Tsen et al. A combined decimal and binary floating-point multiplier
JP3753275B2 (en) Most significant bit position prediction method
JPH08161152A (en) Arithmetic unit for floating point
JPS61282928A (en) Floating-point arithmetic unit
US10275218B1 (en) Apparatus and method for subtracting significand values of floating-point operands
US5657260A (en) Priority detecting counter device
Sasidharan et al. VHDL Implementation of IEEE 754 floating point unit
US7003540B2 (en) Floating point multiplier for delimited operands
US20140059104A1 (en) Arithmetic circuit for calculating correction value
CN111290790A (en) Conversion device for converting fixed point into floating point
JP3257278B2 (en) Normalizer using redundant shift number prediction and shift error correction
JPS5911141B2 (en) arithmetic device
JP2752564B2 (en) Leading one prediction device and floating point addition / subtraction device
JPH0216632A (en) Fixed point number/floating point number converting circuit
JPS60235239A (en) Floating point adding circuit
JPS63158626A (en) Arithmetic processing unit
JPH0680487B2 (en) Processor
JPH0467652B2 (en)
JPS59125435A (en) Arithmetic system for floating point