JPS61282928A - Floating-point arithmetic unit - Google Patents
Floating-point arithmetic unitInfo
- 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
Links
Abstract
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.
本発明の目的は、浮動小数点演算装置において、指数ア
ンダーフロー例外が生じた場合に、演算結果の零化を高
速に実行可能とする演算結果零化手段を提供することに
ある。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.
本発明は、仮数部のボストノーマライズを行う仮数正規
化演算部に、指数アンダーフロー例外検出回路とは別に
、中間和の仮数部の上位より連続する零の桁数を表わす
情報より、ボストノーマライズに必要なシフト桁数をデ
コードし、それを中間和の指数部より減算することによ
り指数アンダーフローを検出し、指数アンダーフローマ
スクが零であれば仮数部を零化する仮数部零化論理回路
を設けたことを特徴とする。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.
第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.
本発明によれば、指数正規化演算部より仮数部ポストシ
フト演算器までの零化信号の伝搬時間がまったく不要に
なるため、指数アンダーフロー例外が生じた場合でも、
高速に演算結果の零化が実行可能である。また、従来技
術に比べ、必要なゲート数も少なくて済むため、実装上
の制約を受けずに実施することができる。これにより、
浮動小数点演算装置のマシンサイクルの短縮が可能とな
る。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.
第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)
部の上位より連続する零の桁数を調べ、該桁数だけ中間
結果の仮数部をシフトして仮数部の演算結果を得、中間
結果の指数部から前記桁数だけ減算して指数部の演算結
果を得ると共に、指数アンダーフローが発生すると前記
指数部および仮数部の演算結果を零化する演算装置にお
いて、指数アンダーフロー例外を検出する手段とは別に
、中間結果の指数部と中間結果の仮数部より仮数部の零
化条件を生成する手段を設けたことを特徴とする浮動小
数点演算装置。(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.
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)
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)
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 |
-
1985
- 1985-06-10 JP JP60124243A patent/JPS61282928A/en active Pending
Patent Citations (3)
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)
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 |