JP2507183B2 - Floating point addition / subtraction unit - Google Patents
Floating point addition / subtraction unitInfo
- Publication number
- JP2507183B2 JP2507183B2 JP2332503A JP33250390A JP2507183B2 JP 2507183 B2 JP2507183 B2 JP 2507183B2 JP 2332503 A JP2332503 A JP 2332503A JP 33250390 A JP33250390 A JP 33250390A JP 2507183 B2 JP2507183 B2 JP 2507183B2
- Authority
- JP
- Japan
- Prior art keywords
- operand
- subtraction
- circuit
- mantissa
- addition
- 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 - Lifetime
Links
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、半導体集積回路装置に係り、特にIEEE(Th
e institute of Electroical and Electronics Enginee
rs)規格の浮動小数点加減算回路に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a semiconductor integrated circuit device, and more particularly to IEEE (Th
e institute of Electroical and Electronics Enginee
rs) standard floating-point adder / subtractor circuit.
従来の技術 IEEE754規格によると32ビット浮動小数点形式のデー
タについて正規化数と非正規化数は(1)式に示すよう
に定義されている。2. Description of the Related Art According to the IEEE754 standard, a normalized number and a denormalized number for 32-bit floating point format data are defined as shown in equation (1).
正規化数 (-1)S2E-127(1.F) 非正規化数(-1)S2O-126(1.F) (1) ここで、Sは符号値、Eはバイアスされる前の指数値、
Fは小数点以下の仮数値を表す。但し、Eは1以上の数
である。それぞれSは1ビット、Eは8ビット、Fは23
ビットで表現される。(1)式より、非正規化数の指数
値は0であり、また指数値のバイアス値が正規化数と非
正規化数で1違っている事がわかる。Normalized number (-1) S 2 E-127 (1.F) Denormalized number (-1) S 2 O-126 (1.F) (1) where S is the sign value and E is biased Index value before
F represents a mantissa value below the decimal point. However, E is a number of 1 or more. S is 1 bit, E is 8 bits, F is 23
Expressed in bits. From the equation (1), it can be seen that the exponent value of the denormalized number is 0, and the bias value of the exponent value differs by 1 between the normalized number and the denormalized number.
第3図は従来の浮動小数点加減算装置のブロック図で
ある。入力される2つのオペランドをX,Yとし、それぞ
れの符号部、指数部、仮数部をXs,Ys,Xe,Ye、Xf,Yfとす
る。非正規化数検出回路301はオペランド指数部(Xe,Y
e)を入力し、それぞれが非正規化数であるか否かを検
出する回路である。スワップ回路302は、オペランド仮
数部(1.Xfまたは0.Xf、1.Yfまたは0.Yf)を入力し、そ
のまま出力するかスワップして出力する回路である。減
算回路303は、オペランド指数部(Xe,Ye)を減算し、絶
対値(|Xe−Ye|)と符号(S(Xe−Ye))を出力する回
路である。減算回路304は、前記絶対値(|Xe−Ye|)か
ら1を減じる回路である。右バレルシフト回路305は、
データ線L32からの入力値を24ビットまでの任意のビッ
ト数右にシフトする回路である。右シフト回路306は、
データ線L31からの入力値と前記右バレルシフト回路305
の出力値(データ値L33)をシフト信号生成回路310から
の信号(加算であるという信号)をもとに、右に1桁シ
フトするかまたは、そのまま出力する回路である。加減
算回路307は、前記右シフト回路306の出力値を加算また
は減算し丸め処理を行う回路である。左シフト回路308
は、前記加減算回路307の出力値(データ線L34)を左に
1ビットシフトするかまたはそのまま出力する回路であ
る。マルチプレクサ309、311は、2入力1出力のセレク
タである。シフト信号生成回路310は、2つの入力オペ
ランドの符号値(Xs,Ys)と、減算実行信号subをもと
に、実行演算が加算であるという信号を出力する回路で
ある。加減算回路312は、シフト信号生成回路310から出
力される信号を基に加算を実行するか減算を実行するか
決定し、仮に加算である場合、マルチプレクサ311から
出力される指数値と"0"との加算と、指数値と"1"との加
算を並列に実行し、その後加減算回路307より出力され
る信号(L35)によりどちらかを選択するという回路で
ある。FIG. 3 is a block diagram of a conventional floating point addition / subtraction device. The two input operands are X and Y, and the sign part, exponent part, and mantissa part of each are Xs, Ys, Xe, Ye, and Xf, Yf. The denormalized number detection circuit 301 uses the operand exponent part (Xe, Y
It is a circuit that inputs e) and detects whether or not each is a denormalized number. The swap circuit 302 is a circuit which inputs an operand mantissa part (1.Xf or 0.Xf, 1.Yf or 0.Yf) and outputs it as it is or swaps and outputs it. The subtraction circuit 303 is a circuit that subtracts the operand exponent part (Xe, Ye) and outputs the absolute value (| Xe−Ye |) and the sign (S (Xe−Ye)). The subtraction circuit 304 is a circuit that subtracts 1 from the absolute value (| Xe−Ye |). The right barrel shift circuit 305 is
It is a circuit that shifts the input value from the data line L32 to the right by any number of bits up to 24 bits. The right shift circuit 306 is
Input value from the data line L31 and the right barrel shift circuit 305
The output value (data value L33) is shifted to the right by one digit based on the signal from the shift signal generation circuit 310 (the signal indicating addition), or is output as it is. The adder / subtractor circuit 307 is a circuit that adds or subtracts the output value of the right shift circuit 306 to perform rounding processing. Left shift circuit 308
Is a circuit that shifts the output value (data line L34) of the adder / subtractor circuit 307 to the left by 1 bit or outputs it as it is. The multiplexers 309 and 311 are 2-input / 1-output selectors. The shift signal generation circuit 310 is a circuit that outputs a signal that the execution operation is addition based on the code values (Xs, Ys) of the two input operands and the subtraction execution signal sub. The adder / subtractor circuit 312 determines whether to perform addition or subtraction based on the signal output from the shift signal generation circuit 310, and if it is addition, the exponent value output from the multiplexer 311 and "0" are set. And the addition of the exponent value and "1" are executed in parallel, and then either is selected by the signal (L35) output from the addition / subtraction circuit 307.
次に第3図に示される従来例の動作に付いて説明す
る。2つの入力オペランド指数部(Xe,Ye)は減算回路3
03、非正規化数検出回路301、マルチプレクサ311に入力
される。また、同時にオペランド仮数部(1.Xfまたは0.
Xf、1.Yfまたは0.Yf)もスワップ回路302に入力され
る。まず、減算回路303では、指数値を同一にするため
のオペランド仮数部のシフト量|Xe−Ye|と、符号S(Xe
−Ye)を計算する。2つのオペランドが正規化数同士で
あるかまたは非正規化数同士である場合、(1)式に示
したように、指数部に於けるバイアス値は2つのオペラ
ンド間で同じである(正規化数の場合−127、非正規化
数の場合−126)ため、シフト回路305へのシフト量は、
|Xe−Ye|となる。これは減算回路303で計算される。し
かし2つのオペランドのうち片方が正規化数で片方が非
正規化数の場合、(1)式のように、指数部のバイアス
値が正規化数と非正規化数で1異なる為、前記指数値を
同一にするためのオペランド仮数部のシフト量は、|Xe
−Ye|−1でなくてはならない。すなわち、減算回路303
の出力値に補正を加える必要がある。例えば、オペラン
ドXを正規化数、オペランドYを非正規化数であると
し、これを(2)式に示す。Next, the operation of the conventional example shown in FIG. 3 will be described. The two input operand exponents (Xe, Ye) are subtraction circuits 3
03, the denormalized number detection circuit 301, and the multiplexer 311. At the same time, the mantissa of the operand (1.Xf or 0.
Xf, 1.Yf or 0.Yf) is also input to the swap circuit 302. First, in the subtraction circuit 303, the shift amount | Xe−Ye | of the operand mantissa part for making the exponent values the same and the sign S (Xe
−Ye) is calculated. When the two operands are normalized numbers or denormalized numbers, the bias value in the exponent part is the same between the two operands (normalized as shown in equation (1)). The number of shifts to the shift circuit 305 is
It becomes | Xe−Ye |. This is calculated by the subtraction circuit 303. However, when one of the two operands is a normalized number and the other is a denormalized number, the bias value of the exponent part differs by 1 between the normalized number and the denormalized number as shown in equation (1). The shift amount of the mantissa of the operand to make the values the same is | Xe
Must be −Ye | -1. That is, the subtraction circuit 303
It is necessary to correct the output value of. For example, assuming that the operand X is a normalized number and the operand Y is a denormalized number, this is shown in the equation (2).
X=(-1)Xs1.Xf*2Xe-127 Y=(-1)Ys0.Yf*2O-126 (2) この時、減算回路303で計算されるオペランドYの仮数
部の右シフト量は“|Xe−0|"となる。しかしオペランド
XとYでは指数部のバイアス値が“−127"と“−126"で
1だけ異なっている。そのため、オペランドYの仮数部
“0.Yf"を“|Xe−0|"だけ右シフトし、指数部“−126"
に“|Xe−0|"を加算しても、オペランドXとYの指数部
は同一にならない。オペランドXとYの指数部を同一に
するためには、前記右シフト量|Xe−0|から、さらに1
だけ減じ、この値分だけ仮数部を右シフトしなければな
らない。以上は、加算の場合について述べたが、2つの
オペランドを減算する時にも同じことがいえる。すなわ
ち、減算回路304では、正規化数と非正規化数の加減算
を実行するときの、指数値を同一にするためのオペラン
ド仮数部のシフト量の補正を行っている。X = (-1) Xs 1.Xf * 2 Xe-127 Y = (-1) Ys 0.Yf * 2 O-126 (2) At this time, the right hand side of the mantissa part of the operand Y calculated by the subtraction circuit 303 The shift amount is “| Xe−0 |”. However, in the operands X and Y, the bias values of the exponent part are different by 1 between "-127" and "-126". Therefore, the mantissa part "0.Yf" of the operand Y is right-shifted by "| Xe-0 |", and the exponent part "-126"
Even if "| Xe-0 |" is added to, the exponent parts of the operands X and Y do not become the same. In order to make the exponents of the operands X and Y the same, from the right shift amount | Xe-0 |
Therefore, the mantissa must be right-shifted by this value. Although the case of addition has been described above, the same can be said when subtracting two operands. That is, the subtraction circuit 304 corrects the shift amount of the operand mantissa part for making the exponent values the same when executing addition and subtraction of the normalized number and the denormalized number.
また、上記減算回路303で指数部減算を実行すると同
時に、非正規化数検出回路301では、オペランドX,Yがそ
れぞれ非正規化数であるか否かを検出する。オペランド
X,Yの指数部が0であれば、非正規化数である。そし
て、オペランドのうちどちらか一方が非正規化数であれ
ば、マルチプレクサ309で減算回路304からの出力(|Xe
−Ye|−1)を選択する。また、オペランドが両方とも
正規化数、または非正規化数であれば、マルチプレクサ
309では減算回路303からの出力(|Xe−Ye|)を選択し、
右バレルシフト回路305へ入力されるシフト量が決定さ
れる。At the same time that the subtraction circuit 303 executes the exponential part subtraction, the denormalized number detection circuit 301 detects whether the operands X and Y are denormalized numbers. operand
If the exponent part of X and Y is 0, it is a denormalized number. If either one of the operands is a denormalized number, the multiplexer 309 outputs the output from the subtraction circuit 304 (| Xe
-Ye | -1) is selected. Also, if both operands are normalized or denormalized, the multiplexer
In 309, select the output (| Xe−Ye |) from the subtraction circuit 303,
The shift amount input to the right barrel shift circuit 305 is determined.
また、マルチプレクサ311では、減算回路303から出力
された指数減算値の符号S(Xe−Ye)を基に、Xe,Yeの
内、大きい方を選択し出力する。この大きい方の指数値
が、加減算結果の指数値の候補になる。The multiplexer 311 selects and outputs the larger one of Xe and Ye based on the sign S (Xe-Ye) of the exponent subtraction value output from the subtraction circuit 303. This larger index value becomes a candidate for the index value of the addition / subtraction result.
次に、オペランド仮数部(1.Xfまたは0.Xf、1.Yfまた
は0.Yf)について述べる。オペランド仮数部は、スワッ
プ回路302に於て、減算回路303で計算される符号S(Xe
−Ye)により、以下のようにスワップされる。Xe−Yeが
正であるかまたは0の時(S(Xe−Ye)>=0)、Xオ
ペランド(1.Xfまたは0.Xf)はデータ線L31に、Yオペ
ランド(1.Yfまたは0.Yf)はデータ線L32に出力され
る。また、負の時(S(Xe−Ye)<0)は入力値をスワ
ップして出力する。そして、スワップ回路302から出力
されたデータ線L31は、そのまま右シフト回路306に入力
され、データ線L32は右バレルシフト回路305に入力され
る。Next, the operand mantissa part (1.Xf or 0.Xf, 1.Yf or 0.Yf) will be described. The operand mantissa part is a code S (Xe calculated by the subtraction circuit 303 in the swap circuit 302.
-Ye) swaps as follows: When Xe-Ye is positive or 0 (S (Xe-Ye)> = 0), the X operand (1.Xf or 0.Xf) is on the data line L31 and the Y operand (1.Yf or 0.Xf). Yf) is output to the data line L32. When the value is negative (S (Xe-Ye) <0), the input value is swapped and output. The data line L31 output from the swap circuit 302 is input to the right shift circuit 306 as it is, and the data line L32 is input to the right barrel shift circuit 305.
以上述べた動作から、問題となることを以下に述べ
る。2つのオペランド入力時点から右バレルシフト回路
305までのデータの遅延を見る。オペランド仮数部(1.X
fまたは0.Xf、1.Yfまたは0.Yf)が右バレルシフト回路3
05に入力されるまでの一番長いパスは、減算回路303で
指数値の差の符号(S(Xe−Ye))を求めスワップ回路
302を制御し、オペランド仮数部データのうち指数値の
小さい方を右バレルシフト回路305に入力というパスで
ある。From the operation described above, a problem will be described below. Right barrel shift circuit from the time of two operand inputs
See the data delay up to 305. Operand mantissa (1.X
f or 0.Xf, 1.Yf or 0.Yf) is the right barrel shift circuit 3
The longest path until it is input to 05 is the swap circuit that obtains the sign (S (Xe-Ye)) of the difference in exponent values with the subtraction circuit 303
This is a path for controlling 302 and inputting to the right barrel shift circuit 305 one of the operand mantissa data having the smaller exponent value.
また、右バレルシフト回路305にシフト量のデータが
入力されるまでの一番長いパスは、減算回路303、304を
用い、|Xe−Ye|−1を計算し、この値をマルチプレクサ
309を通し、右バレルシフト回路305に入力するパスであ
る。明らかに後者のシフト量を計算するパスのほうが減
算回路を2つ通過するため遅延段数が長くなる。すなわ
ち上記したように、従来の浮動小数点加減算装置におい
ては、桁合わせのためのシフト量を計算するために2つ
の減算回路を使用するため、演算時間が長くなり、装置
全体の回路が複雑に且つ大きくなる。また回路規模が大
きくなることにともなって消費電力が増大するという欠
点がある。In addition, the longest path until the shift amount data is input to the right barrel shift circuit 305 uses the subtraction circuits 303 and 304 to calculate | Xe−Ye | −1, and multiplex this value.
It is a path that passes through 309 and is input to the right barrel shift circuit 305. Obviously, the latter path for calculating the shift amount has two delay stages because it passes through two subtraction circuits. That is, as described above, in the conventional floating-point addition / subtraction device, since two subtraction circuits are used to calculate the shift amount for digit alignment, the operation time becomes long and the circuit of the entire device becomes complicated and growing. In addition, there is a drawback that the power consumption increases as the circuit scale increases.
さらに以下に、従来例の動作説明を続ける。右シフト
回路306は、シフト信号生成回路310からのシフト信号
(これは加算であるという信号である)を基にデータ線
L31、データ線L33のデータを1桁右にシフトする回路で
ある。この右シフト回路306は、データ線L31,L33から入
力されるデータを、加減算回路307で加算または減算を
実行後に生じる丸め位置のずれを補正する回路である。
右シフト回路306の動作について以下に述べる。The operation of the conventional example will be further described below. The right shift circuit 306 is a data line based on the shift signal from the shift signal generation circuit 310 (this is a signal indicating addition).
This is a circuit for shifting the data of the L31 and the data line L33 to the right by one digit. The right shift circuit 306 is a circuit that corrects the deviation of the rounding position that occurs after the addition and subtraction of the data input from the data lines L31 and L33 by the addition / subtraction circuit 307.
The operation of the right shift circuit 306 will be described below.
加算及び減算実行時においては、全部で3通りのパタ
ーンが存在する。There are three patterns in total when executing addition and subtraction.
正規化数±正規化数 (3−1) 正規化数±非正規化数 (3−2) 非正規化数±非正規化数 (3−3) 上記3つのパターンを実行したとき、右シフト回路306
を使用しない場合について以下に述べる。Normalized number ± Normalized number (3-1) Normalized number ± Denormalized number (3-2) Denormalized number ± Denormalized number (3-3) Right shift when the above three patterns are executed Circuit 306
The case of not using is described below.
(3−1),(3−2),(3−3)で加算を実行し
た場合、加減算回路307の中で丸め処理する以前の結果
は次のようになる。(3−1),(3−2)の場合、丸
め処理する前の結果は、(4−1),(4−2)に示さ
れるように、仮数部の最上位にある“1"が小数点より上
位2桁目であるか、または小数点より上位1桁目にある
という状態になる。また(3−3)の場合、丸め処理す
る前の結果は、(4−3),(4−4)に示すような結
果が得られる。When the addition is executed in (3-1), (3-2), and (3-3), the result before the rounding process in the adder / subtractor circuit 307 is as follows. In the case of (3-1) and (3-2), the result before rounding is that the “1” at the top of the mantissa part is as shown in (4-1) and (4-2). It is in the state of being in the second digit higher than the decimal point or in the first digit higher than the decimal point. In the case of (3-3), the results before the rounding process are the same as those shown in (4-3) and (4-4).
1*.****−−−**×2Xe-127 (4−1) 1.****−−−**×2Xe-127 (4−2) 1.****−−−**×2O-126 (4−3) 0.****−−−**×2O-126 (4−4) また、(3−1),(3−2),(3−3)で減算を
実行した場合、丸める前の結果は次のようになる。(3
−1),(3−2)の場合、(5−1),(5−2),
(5−3)に示すように、小数点より上位1桁目に“1"
があるか、または小数点より下位1桁目に“1"があるか
または、小数点より下位2桁目以下に初めて“1"が存在
する3種類の結果が得られる。また(3−3)の場合は
(5−4)のように必ず非正規化数になる。1 *. *** ---- * × 2 Xe-127 (4-1) 1. *** ---- ** × 2 Xe-127 (4-2) 1. **** --- * * × 2 O-126 (4-3) 0. **** ---- * × 2 O-126 (4-4) Also, (3-1), (3-2), (3-3) ), The result before rounding is as follows. (3
-1) and (3-2), (5-1), (5-2),
As shown in (5-3), "1" is displayed in the first digit higher than the decimal point.
, Or "1" in the first digit lower than the decimal point, or "1" exists in the second digit lower than the decimal point for the first time. Further, in the case of (3-3), it is always a denormalized number like (5-4).
1.****−−−**×2Xe-127 (5−1) 0.1***−−−**×2Xe-127 (5−2) 0.0***−−−**×2Xe-127 (5−3) 0.****−−−**×2O-126 (5−4) すなわち、以上述べたように、加算と減算で結果が正
規化数になる場合、最も上位に数値“1"の来る位置が1
桁ずれている事が解る。このことは、結果を有効桁数に
丸め処理する場合、加算結果を丸め処理する位置と減算
結果を丸め処理する位置が違うということである。つま
り、丸め処理する回路を加算と減算の各々の場合につい
て備えておく必要があるということであり、ハードウエ
アの増加を引き起こす。これは明らかに加算と減算にお
いて丸め桁上げの位置を同一にし、丸め処理回路を1つ
だけ使用した方が得である。このため、加算結果また
は、減算結果のうちどちらか一方をもう片方の結果に桁
合わせる処理を行なう必要がある。本従来例では、シフ
ト信号生成回路310により演算の種類を判断し、加算の
場合は右シフト回路306で入力オペランドを右1ビット
シフトし、減算の場合の結果と同じ丸め位置になるよう
にアライメンとする。そうすることで、丸め処理する前
の加算結果は(4)式から(6)式に示すようになり、
丸め処理する前の減算結果と丸め位置を同一にする事が
出来る。1. **** --- ** × 2 Xe-127 (5-1) 0.1 *** --- ** × 2 Xe-127 (5-2) 0.0 *** --- ** × 2 Xe-127 (5-3) 0. **** --- *** 2 O-126 (5-4) That is, as mentioned above, when the result of addition and subtraction becomes a normalized number. , The position where the numerical value "1" comes to the highest is 1
You can see that the numbers are off. This means that when the result is rounded to the number of significant digits, the position where the addition result is rounded is different from the position where the subtraction result is rounded. That is, it is necessary to provide a circuit for rounding for each of addition and subtraction, which causes an increase in hardware. This is obviously advantageous when the positions of rounding carry are the same in addition and subtraction and only one rounding processing circuit is used. For this reason, it is necessary to perform a process of digitizing one of the addition result and the subtraction result with the other result. In this conventional example, the shift signal generation circuit 310 determines the type of operation, the right shift circuit 306 shifts the input operand to the right by 1 bit in the case of addition, and the alignment is performed so that the rounding position is the same as the result in the case of subtraction. And By doing so, the addition result before rounding becomes as shown in equation (4) to equation (6),
The subtraction result before the rounding process and the rounding position can be made the same.
1.****−−−**×2Xe-127+1 (6−1) 0.1***−−−**×2Xe-127+1 (6−2) 0.1***−−−**×2Xo-126+1 (6−3) 0.0***−−−**×2O-126+1 (6−4) この時、加算オペランドは右シフトされているため、
指数値は見かけ上“+1"増加している。この指数値の増
加の補正については後で述べる。以上のように、右シフ
ト回路306では、加算の場合、入力オペランドを1桁右
シフトする事で、減算場合と丸め位置を同一にするとい
う役割を果たす。1. **** --- * × 2 Xe-127 + 1 (6-1) 0.1 *** --- ** 2 Xe-127 + 1 (6-2) 0.1 *** -- − ** × 2 Xo-126 + 1 (6-3) 0.0 *** −−− ** × 2 O-126 + 1 (6-4) At this time, since the addition operand is right-shifted,
The index value apparently increases by "+1". The correction of the increase in the index value will be described later. As described above, the right shift circuit 306 plays the role of making the rounding position the same as that of the subtraction by shifting the input operand right by one digit in the case of addition.
右バレルシフト回路305から出力されたデータは、加
減算回路307に入力され加減算後丸め処理され、結果が
データ線L34に出力される。また、データ線L35には、加
減算結果の小数点より上位1桁目の値が出力される。The data output from the right barrel shift circuit 305 is input to the addition / subtraction circuit 307, rounded after addition / subtraction, and the result is output to the data line L34. Further, the value of the first digit higher than the decimal point of the addition / subtraction result is output to the data line L35.
この後、左シフト回路308、加減算回路312を使用し、
演算結果の正規化処理を実行する。この正規化処理の際
に、加算時の指数値の補正が実行される。After that, the left shift circuit 308 and the addition / subtraction circuit 312 are used,
The normalization processing of the calculation result is executed. At the time of this normalization processing, the exponent value at the time of addition is corrected.
データ線L34上には、(5),(6)式の仮数部に示
されるような演算結果が出力される。但し、厳密には
(5),(6)式は仮数部が丸め処理される前の値であ
るが、丸め処理された後もこれらのどれかのデータ形式
になる為、これらの値を使用する。以下に、正規化処理
について、加算の場合と減算の場合について述べる。On the data line L34, the calculation result as shown in the mantissa part of the equations (5) and (6) is output. However, strictly speaking, expressions (5) and (6) are values before the mantissa part is rounded, but after rounding, any of these data formats will be used, so use these values. To do. The normalization processing will be described below for the case of addition and the case of subtraction.
加算の場合、(6−1)に示すように、小数点より上
位1桁目に1がある場合(データ線L35=1)、左シフ
ト回路308では、データ線34のデータ(仮数値)をその
まま出力する。一方、指数値は、加減算回路312でXe+
1を実行し、出力する。そうすることで、指数値のバイ
アス値は“−127"になり、しかも仮数値は“1.***”
という正規化数のフォーマットで出力される。次に(6
−2),(6−3),(6−4)に示すように、小数点
より上位1桁目に0がある場合(データ線L35=0、左
シフト回路308では、データ線L34のデータ(仮数値)を
左1桁シフトし出力する。一方、指数値は、加減算回路
312でXe+0を実行し、出力する。こうすることで、
(6−2)については正規化処理が実行され、(6−
4)は、この処理で、非正規化数として出力される。
(6−3)については、データを次のサイクルで別のハ
ードウエアを用い、正規化処理する。In the case of addition, as shown in (6-1), when there is 1 in the first digit higher than the decimal point (data line L35 = 1), the left shift circuit 308 keeps the data (mantissa value) of the data line 34 as it is. Output. On the other hand, the exponent value is Xe + in the adder / subtractor circuit 312.
Execute 1 and output. By doing so, the bias value of the exponent value becomes "-127" and the mantissa value becomes "1. ***".
Is output in the normalized number format. Then (6
-2), (6-3), (6-4), when there is 0 in the first digit higher than the decimal point (data line L35 = 0, in the left shift circuit 308, the data of the data line L34 ( The mantissa value is shifted left one digit and output, while the exponent value is added and subtracted
At 312, Xe + 0 is executed and output. By doing this,
Normalization processing is executed for (6-2), and (6-
4) is output as a denormalized number by this processing.
For (6-3), the data is normalized in the next cycle using another hardware.
減算の場合、(5−1)に示すように小数点より上位
1桁目に“1"が存在する場合(データ線L35=1)、左
シフト回路308ではデータ線L34のデータ(仮数値)をシ
フトせずに出力する。一方、加減算回路312では、減算X
e−0が実行され、指数値として出力され、正規化処理
が実現される。(5−2),(5−3),(5−4)の
様に、小数点より上位1桁目に“0"が存在する場合(デ
ータ線L35=0)、左シフト回路308では、データ線L34
のデータ(仮数値)を左1桁シフトする。一方、加減算
回路312では、減算Xe−1を実行する。こうすること
で、(5−2)については、正規化処理が実行される。
また、(5−3),(5−4)に関しては、データを次
のサイクルで別のハードウエアを用い、正規化処理また
は非正規化処理を実行する。In the case of subtraction, as shown in (5-1), when “1” exists in the first digit higher than the decimal point (data line L35 = 1), the left shift circuit 308 changes the data (mantissa value) of the data line L34. Output without shifting. On the other hand, in the addition / subtraction circuit 312, the subtraction X
e-0 is executed, output as an exponent value, and the normalization processing is realized. When "0" exists in the first digit higher than the decimal point (data line L35 = 0) like (5-2), (5-3), (5-4), the left shift circuit 308 outputs the data. Line L34
Shift the data (mantissa value) by 1 digit to the left. On the other hand, the addition / subtraction circuit 312 executes subtraction Xe-1. By doing so, the normalization process is executed for (5-2).
Regarding (5-3) and (5-4), the normalization process or the non-normalization process is executed on the data in the next cycle by using another hardware.
以上より、加算と減算の場合で、丸め位置を同一にす
るために必要な右シフト回路306は、浮動小数点加減算
装置全体からみてクリチカルパスに入っていることは明
らかである。すなわち、この右シフト回路306が存在す
るため、この浮動小数点加減算器の演算速度がさらに遅
くなるという欠点がある。From the above, it is clear that the right shift circuit 306 required for making the rounding positions the same in the case of addition and subtraction is in the critical path as seen from the whole floating-point addition / subtraction apparatus. That is, since the right shift circuit 306 is present, there is a drawback that the operation speed of the floating point adder / subtractor is further reduced.
発明が解決しようとする課題 従来の浮動小数点加減算器においては、桁合わせのた
め減算回路が2つ必要になり、演算速度を遅くしかつ回
路を複雑にし、さらに回路規模を大きくすることの原因
になっていた。また加算時と減算時に位置を一致させる
ため。右シフト回路をクリチカルパスに入れなければな
らず、さらに演算速度を遅くする原因となっていた。Problems to be Solved by the Invention In a conventional floating-point adder / subtractor, two subtraction circuits are required for digit alignment, which slows down the operation speed, complicates the circuit, and increases the circuit scale. Was becoming. Also, to match the positions when adding and subtracting. The right shift circuit had to be placed in the critical path, which further slowed down the calculation speed.
本発明は、前記問題点を鑑み、右バレルシフト回路の
前に左右シフト回路を置くことで、桁合わせのためのシ
フト量を計算する減算回路を1つしか使用せず、回路が
簡単でしかも消費電力が少なく演算所要時間も少ない浮
動小数点加減算装置を提供することを目的としている。In view of the above problems, the present invention uses only one subtraction circuit for calculating the shift amount for digit alignment by placing the left and right shift circuits in front of the right barrel shift circuit, and the circuit is simple. It is an object of the present invention to provide a floating point addition / subtraction device that consumes less power and requires less calculation time.
課題を解決するための手段 本発明は、仮数部オペランド、指数部オペランド、符
号部オペランドからなる浮動小数点形式の2つの被演算
データを加算または減算する浮動小数点加減算装置にお
いて、前記2つの被演算データが、正規化数であるか非
正規化数であるかまたは実行演算が加算であるか減算で
あるかの情報を基に、前記2つの仮数部オペランドの加
減算を実行する前に前記仮数部オペランドをシフトしな
いかまたは右または左に1桁シフトするシフト手段を有
する浮動小数点加減算装置である。Means for Solving the Problems The present invention provides a floating-point addition / subtraction device that adds or subtracts two operand data in a floating-point format consisting of a mantissa part operand, an exponent part operand, and a sign part operand. Is a normalized number, a denormalized number, or whether the execution operation is addition or subtraction, the mantissa operand before the addition and subtraction of the two mantissa operands. Is a floating point addition / subtraction device having shift means for not shifting or shifting by one digit to the right or left.
作用 本発明は上述した構成により、オペランド仮数部シフ
ト量を計算する減算回路を1つしか使用する必要がな
く、さらに加算と減算で丸め処理位置を同一にする為の
シフト回路がクリチカルパスに入らない浮動小数点加減
算装置を実現している。The present invention has the above-described configuration, and therefore only one subtraction circuit for calculating the operand mantissa shift amount needs to be used, and a shift circuit for making the rounding processing positions the same for addition and subtraction is included in the critical path. A floating point adder / subtractor is realized.
実施例 第1図は特許請求の範囲第1項、第2項及び第4項記
載の浮動小数点加減算装置の構成図である。Embodiment 1 FIG. 1 is a block diagram of a floating point adder / subtractor according to the first, second and fourth claims.
2つの入力オペランド指数部(Xe,Ye)は減算回路10
4、非正規化数検出回路101に入力される。また同時にオ
ペランド仮数部(1.Xfまたは0.Xf、1.Yfまたは0.Yf)
も、左右シフト回路103に入力される。そして、減算回
路104では、オペランド指数値Xe,Yeを減算し、絶対値|X
e−Ye|と、符号値S(Xe−Ye)を計算する。また、非正
規化数検出回路101では、それぞれの入力オペランド
が、正規化数であるか否かを検出し、2つのオペランド
が正規化数であるという信号(NORX,NORY)を出力す
る。The two input operand exponents (Xe, Ye) are subtraction circuits 10
4, input to the denormalized number detection circuit 101. At the same time, the mantissa part of the operand (1.Xf or 0.Xf, 1.Yf or 0.Yf)
Is also input to the left / right shift circuit 103. Then, the subtraction circuit 104 subtracts the operand exponent values Xe and Ye to obtain an absolute value | X.
e−Ye | and the code value S (Xe−Ye) are calculated. Further, the denormalized number detection circuit 101 detects whether or not each input operand is a normalized number, and outputs a signal (NORX, NORY) that the two operands are normalized numbers.
非正規化数検出回路101から出力された2本の検出信
号(NORX,NORY)は、シフト信号生成回路102に入力さ
れ、オペランドの符号値(Xs,Ys)と、減算実行信号sub
と伴に、2つの入力オペランド仮数値を左右に1桁シフ
トする制御信号(Rx,Ry,Lx,Ly,Nx,Xy)をつくる。左右
シフト回路103では、シフト信号生成回路102からの制御
信号(Rx,Ry,Lx,Ly,Nx,Xy)を基に、2つの入力オペラ
ンド仮数値を右または左にシフトする。左右シフト回路
103の出力は、スワップ回路105で減算回路104から出力
される符号(S(Xe−Ye))に基づいて、入力データ
(Xf′,Yf′)をスワップし、右バレルシフト回路106と
加減算回路107に出力する(Xf″,Yf″)。The two detection signals (NORX, NORY) output from the denormalization number detection circuit 101 are input to the shift signal generation circuit 102, and the operand code values (Xs, Ys) and the subtraction execution signal sub
Along with this, control signals (Rx, Ry, Lx, Ly, Nx, Xy) for shifting the two input operand mantissa values to the left or right by one digit are created. The left / right shift circuit 103 shifts the two input operand mantissas to the right or left based on the control signals (Rx, Ry, Lx, Ly, Nx, Xy) from the shift signal generation circuit 102. Left and right shift circuit
The output of 103 swaps the input data (Xf ', Yf') based on the code (S (Xe-Ye)) output from the subtraction circuit 104 in the swap circuit 105, and the right barrel shift circuit 106 and the addition / subtraction circuit. Output to 107 (Xf ″, Yf ″).
右バレルシフト回路106では、減算回路104から出力さ
れる、オペランド指数値の差の絶対値|Xe−Ye|だけ入力
値を右にシフトする。そして加減算回路107で加減算及
び丸め処理を実行したのち、左シフト回路108で、加減
算回路107の出力値の小数点より上位1桁目(データ線L
18)に“1"が存在しない場合に、加減算回路107の出力
値を、左に1桁シフトし出力する。The right barrel shift circuit 106 shifts the input value to the right by the absolute value | Xe−Ye | of the difference between the operand exponent values output from the subtraction circuit 104. After the addition / subtraction circuit 107 executes addition / subtraction and rounding processing, the left shift circuit 108 outputs the output value of the addition / subtraction circuit 107 to the first digit (data line L).
When "1" does not exist in 18), the output value of the addition / subtraction circuit 107 is shifted to the left by one digit and output.
また、指数部の方は、マルチプレクサ109で減算回路1
04より出力される符号値S(Xe−Ye)を用い、指数値の
大きい方を選択する。そして、加減算回路110にマルチ
プレクサ109の出力を入力し、シフト信号生成回路102よ
り出力される実行演算の信号(Add)を基に、加減算回
路110の演算を決定し(加算か減算か)、例えば加減算
回路110の演算を加算であると決定した場合、指数値に
“1"を加算した結果と“0"を加算した結果を並列に生成
しておく。そして、加減算回路107より出力されるデー
タ線L18によって、どちらかの加減算結果を選択し、出
力する。このデータ線L18は、加減算回路107の結果の小
数点より上位1桁目が“1"であると言う信号である。For the exponent, the subtractor circuit 1
Using the code value S (Xe-Ye) output from 04, select the one with the larger exponent value. Then, the output of the multiplexer 109 is input to the adder / subtractor circuit 110, and the operation of the adder / subtractor circuit 110 is determined (addition or subtraction) based on the execution operation signal (Add) output from the shift signal generation circuit 102. When it is determined that the operation of the adder / subtractor circuit 110 is addition, the result of adding "1" to the exponent value and the result of adding "0" are generated in parallel. Then, either the addition / subtraction result is selected and output by the data line L18 output from the addition / subtraction circuit 107. The data line L18 is a signal that the first digit higher than the decimal point of the result of the adder / subtractor circuit 107 is "1".
次に本発明の概略についてのべる。従来例で示したよ
うに、仮数部を加算した場合と減算した場合では丸め位
置が1桁ずれてくる。本発明では、加算結果を減算結果
に合わせ、丸め位置を加算と減算で同一にし、更に桁合
わせのために必要な指数値の小さい方の仮数部オペラン
ドをシフトするシフト量を、1つの減算回路で求められ
るよう、左右シフト回路103が制御される。以下に、こ
の左右シフト回路103の制御と、仮数シフト量が減算回
路1つで求められてくることを示す。Next, an outline of the present invention will be given. As shown in the conventional example, the rounding position is shifted by one digit when the mantissa part is added and when the mantissa part is subtracted. According to the present invention, the addition result is matched with the subtraction result, the rounding position is made the same for addition and subtraction, and the shift amount for shifting the mantissa operand having the smaller exponent value necessary for digit matching is set to one subtraction circuit. The left / right shift circuit 103 is controlled as required by. The control of the left / right shift circuit 103 and the fact that the mantissa shift amount is obtained by one subtraction circuit will be described below.
ここでは簡単のため前述の如く、32ビットのIEEE754
規格の浮動小数点データを用いた場合について示す。ま
ず、加算の場合から(3−1),(3−2),(3−
3)について述べる。Here, for simplicity, as mentioned above, 32-bit IEEE754
The case where standard floating point data is used is shown. First, from the case of addition, (3-1), (3-2), (3-
3) will be described.
(3−1)の正規化数同士の加算の場合を式に表現す
ると(7)式のようになる。但し、*は、0かまたは1
であり、Xe>=Yeであるとする。この条件は、以下の全
ての式についても当てはまる。また両オペランドとも正
規化数であるからXe,Yeは0ではない。When the case of addition of the normalized numbers of (3-1) is expressed in an expression, it becomes as shown in expression (7). However, * is 0 or 1
And Xe> = Ye. This condition also applies to all the following expressions. Also, since both operands are normalized numbers, Xe and Ye are not 0.
1.****−−−**×2Xe-127 +)1.****−−−**×2Ye-127 −−−−−−−−−−−−−−−−−−−−−−−−−
−−(7) この時、加算結果としては、(8−1),(8−2)式
のように2通りの結果が得られる。1. **** --- ** × 2 Xe-127 +) 1. **** --- ** × 2 Ye-127 ---------------- −−−−−−−−−
-(7) At this time, as the addition result, two kinds of results are obtained as in the equations (8-1) and (8-2).
1*.****−−−**×2Xe-127 (8−1) 1.****−−−**×2Xe-127 (8−2) 正規化数同士の加算の場合には、最上位に1が存在する
桁が小数点より上位2桁目と1桁目に存在する。このた
め、減算結果と丸め位置を合わせるため、左右シフト回
路103で、あらかじめ入力オペランド仮数部をそれぞれ
1桁右にシフトしておき、見かけ上指数バイアス値を−
126にしておく。この時の指数部の桁合わせを実行する
ための仮数部を右シフト量は、指数バイアス値が等しい
ため|Xe−Ye|のままでよく、これは減算回路104で計算
される。1 *. **** --- ** × 2 Xe-127 (8-1) 1. **** --- ** × 2 Xe-127 (8-2) When adding normalized numbers , The digit with 1 in the highest digit exists in the second and first digits higher than the decimal point. Therefore, in order to match the rounding position with the subtraction result, the left and right shift circuits 103 shift the input operand mantissa parts to the right by one digit in advance respectively, and apparently set the exponent bias value to −.
Leave it at 126. At this time, since the exponent bias values are the same, the right shift amount of the mantissa part for executing the digit alignment of the exponent part may remain as | Xe−Ye |, which is calculated by the subtraction circuit 104.
(3−2)の正規化数と非正規化数の加算について述
べる。式に示すと(9)式のようになる。The addition of the normalized number and the denormalized number in (3-2) will be described. The formula is as shown in formula (9).
1.****−−−**×2Xe-127 +)0.****−−−**×2O-126 −−−−−−−−−−−−−−−−−−−−−−−−−
−(9) この時、加算結果としては、(10−1)(10−2)式の
ように2通りの結果が得られる。1. *** --- ** × 2 Xe-127 +) 0. **** --- ** × 2 O-126 --------------- −−−−−−−−−
-(9) At this time, as the addition result, two kinds of results are obtained as in the equations (10-1) and (10-2).
1*.****−−−**×2Xe-127 (10−1) 1.****−−−**×2Xe-127 (10−2) すなわち、この時も(8−1),(10−2)と同様であ
り、減算の場合と丸め位置を同一にするため左右1桁シ
フト回路103で、入力オペランド仮数部をシフトする必
要がある。ここでは、正規化数のオペランド仮数入力値
(1.Xf)だけを右に1桁シフトする。すなわち、(9)
式を(11)式に示すようにする。1 *. **** --- ** × 2 Xe-127 (10-1) 1. **** --- ** 2 Xe-127 (10-2) That is, also at this time (8-1) , (10-2), and in order to make the rounding positions the same as in the case of subtraction, it is necessary to shift the input operand mantissa part by the left and right one-digit shift circuit 103. Here, only the operand mantissa input value (1.Xf) of the normalized number is shifted to the right by one digit. That is, (9)
The formula is as shown in formula (11).
0.1***−−−**×2Xe-127+1 +)0.****−−−**×2O-126 −−−−−−−−−−−−−−−−−−−−−−−−−
−(11) (11)式のようにすることで、加算結果の最も上位に
“1"の存在する位置は、減算結果と等しくなる。また同
時に、見かけ上指数バイアス値が正規化数、非正規化数
ともに“−126"となるため、桁合わせのために必要な仮
数部オペランド右シフト量は|Xe−0|でよくなる。これ
は減算回路104で計算される。0.1 *** −−− * ×× 2 Xe-127 + 1 +) 0. **** −−− * ×× 2 O-126 −−−−−−−−−−−−−−−−− −−−−−−−−−
-(11) By performing the equation (11), the position where "1" exists in the highest order of the addition result becomes equal to the subtraction result. At the same time, the exponential bias value is apparently "-126" for both the normalized number and the denormalized number, and therefore the mantissa operand right shift amount required for digit alignment is | Xe-0 |. This is calculated by the subtraction circuit 104.
(3−3)の非正規化数と非正規化数の加算について
のべる。式に示すと(12)式のようになる。(3-3) Addition of denormalized numbers and denormalized numbers will be described. The formula is as shown in formula (12).
0.****−−−**×2O-126 +)0.****−−−**×2O-126 −−−−−−−−−−−−−−−−−−−−−−−−−
−(12) この時、加算結果としては、非正規化数かまたは、(1
3)式のような正規化数が得られる。0. **** --- *** 2 O-126 +) 0. **** --- ** 2 O-126 -------------------- −−−−−−−−−
-(12) At this time, the addition result is either a denormalized number or (1
You can get the normalized number like the formula 3).
1.****−−−**×21-127 (13) この時は、左右シフト回路103で、入力オペランド仮数
部をシフトしなくても、減算の場合と丸め位置を同一に
なっている。また、指数値バイアス値も“−126"と同じ
であるため、桁合わせの為の仮数部シフト量は、|0−0|
でよく、これは減算回路104で計算される。1. **** -- ** × 2 1-127 (13) At this time, the rounding position is the same as in the case of subtraction without shifting the input operand mantissa by the left / right shift circuit 103. ing. Also, the exponent bias value is the same as "-126", so the mantissa shift amount for digit alignment is | 0-0 |
Which is calculated by the subtraction circuit 104.
以上述べたように、加算が実行される場合、左右シフ
ト回路103で正規化数の仮数部オペランド1桁右シフト
する事で、減算結果と丸め位置が同一に出来るととも
に、指数部のバイアス値は見かけ上“−126"に設定され
る。そうすることで、この後の桁合わせ処理で指数値の
小さい方の仮数部オペランドを右シフトする場合のシフ
ト量が、単に二つの指数部オペランドの差の絶対値を取
るだけで求められる。As described above, when the addition is executed, the left and right shift circuit 103 shifts the mantissa part operand of the normalized number to the right by one digit, so that the subtraction result and the rounding position can be the same, and the bias value of the exponent part is Apparently set to "-126". By doing so, the shift amount when right-shifting the mantissa operand having the smaller exponent value in the subsequent digit alignment processing is obtained by simply taking the absolute value of the difference between the two exponent operands.
次に減算の場合について述べる。 Next, the case of subtraction will be described.
まず、(3−1)の正規化数と正規化数の減算につい
て述べる。式に示すと(14)式のようになる。First, (3-1) the normalized number and the subtraction of the normalized number will be described. The formula is as shown in formula (14).
1.****−−−**×2Xe-127 −)1.****−−−**×2Ye-127 −−−−−−−−−−−−−−−−−−−−−−−−−
−−(14) この時、減算結果は、(15−1),(15−2)式のよう
な2通りの結果が得られるか、または非正規化数にな
る。1. **** --- ** × 2 Xe-127 -) 1. **** --- ** × 2 Ye-127 --------------- −−−−−−−−−
-(14) At this time, the subtraction result is two kinds of results as in the expressions (15-1) and (15-2), or is a denormalized number.
1.****−−−**×2Xe-127 (15−1) 0.1***−−−**×2Xe-127 (15−2) ここでは、左右シフト回路103によって2つの入力オペ
ランドをシフトする必要がなく、また、指数バイアス値
も同じなので、指数部の桁合わせの為のシフト量は|Xe
−Ye|でよい。これは減算回路104で計算される。1. **** --- * × 2 Xe-127 (15-1) 0.1 *** --- ** × 2 Xe-127 (15-2) Since it is not necessary to shift the input operand and the exponent bias value is the same, the shift amount for aligning the exponent part is | Xe
−Ye | This is calculated by the subtraction circuit 104.
(3−2)の正規化数と非正規化数の減算について述
べる。式に示すと(16)式のようになる。Subtraction of the normalized number and the non-normalized number in (3-2) will be described. The formula is as shown in formula (16).
1.****−−−**×2Xe-127 −)0.****−−−**×2O-126 −−−−−−−−−−−−−−−−−−−−−−−−−
−(16) この時、減算結果は、(17−1),(17−2)式のよう
に2通りの結果または、非正規化数になる。1. *** --- ** × 2 Xe-127 -) 0. **** --- ** × 2 O-126 ---------------- −−−−−−−−−
-(16) At this time, the subtraction result becomes two kinds of results as in the equations (17-1) and (17-2) or a denormalized number.
1.****−−−**×2Xe-127 (17−1) 0.1***−−−**×2Xe-127 (17−2) (16)式では、2つの入力オペランドのバイアス値が1
異なるため、非正規化数の仮数部を1桁左シフトしてお
く。すると、(16)式は、(18)式のようになる。1. **** --- * ×× 2 Xe-127 (17-1) 0.1 *** --- ** × 2 Xe-127 (17-2) In equation (16), two input operands are used. Has a bias value of 1
Since it is different, the mantissa part of the denormalized number is left-shifted by one digit. Then, equation (16) becomes equation (18).
1.****−−−**×2Xe-127 −)*.****−−−*0×2O-126-1 −−−−−−−−−−−−−−−−−−−−−−−−−
−(18) (18)式の仮数減算結果として、(17)式に示されるよ
うな値になる。よって、左右シフト回路103によって、
非正規化数の仮数部を1桁左シフトすることで、桁合わ
せの為の仮数部シフト量は、見かけ上バイアス値(−12
7)が同じになる為|Xe−0|でよくなり、これは減算回路
104で計算される。1. *** --- ** × 2 Xe-127 -) *. **** --- * 0 × 2 O-126-1 ------------------------
-(18) As a result of mantissa subtraction from Eq. (18), the value will be as shown in Eq. (17). Therefore, by the left / right shift circuit 103,
By shifting the mantissa part of the denormalized number to the left by one digit, the mantissa part shift amount for digit alignment is apparently a bias value (-12
Since 7) is the same, | Xe−0 |
Calculated as 104.
(3−3)の非正規化数と非正規化数の減算について
述べる。式に示すと(19)式のようになる。The denormalization of (3-3) and the subtraction of the denormalization will be described. The formula is as shown in formula (19).
0.****−−−**×2O-126 −)0.****−−−**×2O-126 −−−−−−−−−−−−−−−−−−−−−−−−−
−(19) この時、減算結果としては、必ず非正規化数が得られ
る。この場合は、2通りの左右シフト回路103の制御の
方法がある。第1に仮数部オペランドをシフトしない、
第2に仮数部オペランドを両方とも左にシフトする方法
である。0. **** --- *** × 2 O-126- ) 0. **** ---- *** 2 O-126 ----------------------- −−−−−−−−−
-(19) At this time, the denormalized number is always obtained as the subtraction result. In this case, there are two methods of controlling the left / right shift circuit 103. First, do not shift the mantissa operand,
The second method is to shift both mantissa operands to the left.
まず、第1の方法について、実行した場合について述
べる。シフト回路103で入力オペランド仮数部をシフト
しない場合、指数バイアス値は“−126"で同じである。
この時、指数部を桁合わせするための仮数シフト量は|0
−0|でよく、減算回路104で実行される。First, the case where the first method is executed will be described. When the input operand mantissa is not shifted by the shift circuit 103, the exponent bias value is "-126", which is the same.
At this time, the mantissa shift amount for aligning the digits of the exponent is | 0
It may be −0 | and is executed by the subtraction circuit 104.
また第2の方法では、以下のようになる。シフト回路
103で入力するオペランド仮数部を左シフトする場合、
指数バイアス値は見かけ上“−127"で同じである。また
この時、指数部を桁合わせするための仮数シフト量は|0
−0|でよい。この場合、(20)式に示すようになる。The second method is as follows. Shift circuit
To shift the operand mantissa input in 103 to the left,
The exponential bias value is apparently the same at "-127". At this time, the mantissa shift amount for aligning the exponent part is | 0.
−0 | In this case, it becomes as shown in Expression (20).
*.****−−−*0×2O-126-1 −)*.****−−−*0×2O-126-1 −−−−−−−−−−−−−−−−−−−−−−−−−
−(20) (20)式から解るとおり、指数バイアス値は見かけ上−
127になる。非正規化数同士の減算は結果として、必ず
非正規化数になるため、加減算結果107から出力された
結果に対し、仮数部を右1桁シフトし指数部のバイアス
値が−126になるようにしなければならない。即ち、加
減算回路107の後に、仮数部を右1桁シフトする右1桁
シフト回路が必要になってくる。これはハードウエアの
増加を招くとともに、演算時間の増加も引き起こす。従
って、本実施例においては、第1の方法つまり、両方の
オペランドがともに非正規化数で、減算の場合、左右シ
フト回路103で、仮数オペランドをそのままシフトせず
に動作させる。*. *** ---- * 0x2 O-126-1- ) *. **** --- * 0 × 2 O-126-1 ------------------------
− (20) As can be seen from Eq. (20), the exponential bias value is apparent −
It becomes 127. Since the result of subtraction between denormalized numbers is always a denormalized number, the mantissa part is shifted to the right by one digit with respect to the result output from the addition / subtraction result 107 so that the bias value of the exponent part becomes −126. I have to That is, after the adder / subtractor circuit 107, a right one digit shift circuit for shifting the mantissa part one digit to the right becomes necessary. This causes an increase in hardware and an increase in calculation time. Therefore, in the present embodiment, the first method, that is, both operands are denormalized numbers, and in the case of subtraction, the left and right shift circuit 103 operates without shifting the mantissa operand.
減算が実行される場合、以上述べたように左右シフト
回路103を動作させることで、桁合わせ処理で指数値の
小さい方の仮数部オペランドを右シフトする場合のシフ
ト量が、単に二つの指数部オペランドの差の絶対値を取
るだけで求められる。When the subtraction is executed, by operating the left-right shift circuit 103 as described above, the shift amount when right-shifting the mantissa operand having the smaller exponent value in the digit alignment process is only two exponent parts. It can be calculated simply by taking the absolute value of the difference between the operands.
以上、演算の型(加算、減算)、入力オペランドのタ
イプ(正規化数、非正規化数)、入力オペランド仮数部
のシフト方向(右シフト、左シフト、シフト無し)、桁
合わせに必要なシフト量についてまとめて表にすると第
2図のようになる。第2図において201は、演算の型で
あり実行される演算が加算であるか減算であるかを示し
ている。これは、オペランドの符号(Xs,Ys)と、減算
信号subから求まる。すなわち、実行演算が加算である
という式は、(21)式に示す論理式になる。Above, operation type (addition, subtraction), input operand type (normalized number, denormalized number), input operand mantissa shift direction (right shift, left shift, no shift), shift required for digit alignment Figure 2 shows a table of the quantities. In FIG. 2, 201 is a type of operation and indicates whether the operation to be executed is addition or subtraction. This is obtained from the sign (Xs, Ys) of the operand and the subtraction signal sub. That is, the expression that the execution operation is addition is the logical expression shown in Expression (21).
この信号は、第1図中でAddで示される信号線である。 This signal is the signal line indicated by Add in FIG.
入力オペランドタイプ202は、2つの入力オペランド
(X,Y)が非正規化数であるか、否かを示している。こ
れは、各オペランド指数値が0であるか否かによって判
断され、非正規化数検出回路101で実行される。オペラ
ンド指数値が0であれば、非正規化数である。203は、
左右シフト回路103が演算の型201および入力オペランド
タイプ202によってどう動くかを示している。Nであれ
ばシフトしない、Rであれば右に1桁シフト、Lであれ
ば左シフトすることを示している。これは第1図の信号
線Rx,Ry,Lx.Ly,Nx,Nyである。204は、右バレルシフト回
路106のシフト量を示している。これは第1図中の減算
回路104より出力される|Xe−Ye|である。The input operand type 202 indicates whether or not the two input operands (X, Y) are denormalized numbers. This is determined by whether or not each operand exponent value is 0, and is executed by the denormalized number detection circuit 101. If the operand exponent value is 0, it is a denormalized number. 203 is
It shows how the left / right shift circuit 103 operates according to the operation type 201 and the input operand type 202. N indicates no shift, R indicates right shift by one digit, and L indicates left shift. This is the signal lines Rx, Ry, Lx.Ly, Nx, Ny in FIG. Reference numeral 204 indicates the shift amount of the right barrel shift circuit 106. This is | Xe-Ye | output from the subtraction circuit 104 in FIG.
次に、第1図に示される回路の論理を組む。非正規化
数検出回路101は、2つの指数部オペランドが正規化数
であるか非正規化数であるか検出する回路である。指数
値がすべて“0"であれば非正規化数である。これを回路
にすると第4図に示すようになる。第4図においては、
出力として“正規化数である”と言う信号(NORX、NOR
Y)をゲート遅延段数2段で出力する。Next, the logic of the circuit shown in FIG. 1 is assembled. The denormalized number detection circuit 101 is a circuit that detects whether the two exponent part operands are a normalized number or a denormalized number. If all the exponent values are "0", it is a denormalized number. When this is made into a circuit, it becomes as shown in FIG. In FIG.
As output, signals that are "normalized numbers" (NORX, NOR
Y) is output with two gate delay stages.
シフト信号生成回路102は、左右シフト回路103で入力
される2つの仮数部オペランドを右1桁シフトするか、
左1桁シフトするか、シフトしないかの制御信号を生成
するとともに、実行演算が加算であるという信号(Ad
d)を生成する回路である。これを回路にすると、第5
図の様になる。入力として、符号部オペランド(Xs,Y
s)及び減算信号(sub)及びX,Yオペランドがそれぞれ
正規化数であるという信号(NORX、NORY)を入力し、出
力として、左1桁シフトする(Lx,Ly)、右1桁シフト
する(Rx,Ry)、シフトしない(Nx,Ny)いう信号を出力
する。また、実行演算が加算であるという信号(Add)
も出力する。シフト信号生成回路102は符号部オペラン
ド、指数部オペランドが入力されてから、ゲート遅延段
数4段で制御信号を出力することが解る。The shift signal generation circuit 102 shifts the two mantissa operands input by the left and right shift circuit 103 by one digit to the right,
Generates a control signal for shifting left one digit or not, and a signal that the execution operation is addition (Ad
It is a circuit that generates d). If this is made into a circuit,
It becomes like the figure. As input, the sign part operands (Xs, Y
s), subtraction signal (sub), and signals that the X and Y operands are normalized numbers (NORX, NORY) are input, and the output is shifted by one digit to the left (Lx, Ly) and shifted by one digit to the right. (Rx, Ry) and no shift (Nx, Ny) signals are output. Also, a signal that the execution operation is addition (Add)
Will also be output. It is understood that the shift signal generation circuit 102 outputs the control signal with four gate delay stages after the sign part operand and the exponent part operand are input.
左右シフト回路103は入力された2つの仮数部オペラ
ンドを、シフト信号生成回路102から出力された制御信
号(Rx,Ry,Lx,Ly,Nx,Ny)に基づいて、左に1桁シフ
ト、右に1桁シフトまたはシフトしないという3つの操
作を実行するブロックである。これを、実際の回路にす
ると第6図に示すようになる。601はある任意の桁(k
桁目)の左右シフト回路である。Rx,Ryが入力されれ
ば、1桁上位の値が出力され、Nx,Nyが入ればその桁の
値が出力され、Lx,Lyが入力されれば、1桁下位の値が
出力される。シフト信号生成回路102から制御信号(Rx,
Ry,Lx,Ly,Nx,Ny)が入って来てからゲート遅延段数1段
で、前述した3つのシフト動作が実行されることが解
る。The left / right shift circuit 103 shifts the input two mantissa operands to the left by one digit based on the control signals (Rx, Ry, Lx, Ly, Nx, Ny) output from the shift signal generation circuit 102. It is a block that executes three operations of shifting by one digit or not. When this is used as an actual circuit, it becomes as shown in FIG. 601 is an arbitrary digit (k
The left and right shift circuit. If Rx, Ry is input, the value one digit higher is output, if Nx, Ny is input, the value of that digit is output, and if Lx, Ly is input, the value one digit lower is output. . The control signal (Rx,
It can be seen that the above-mentioned three shift operations are executed with one gate delay stage after Ry, Lx, Ly, Nx, Ny) comes in.
スワップ回路105は、減算回路104から出力された指数
値の差の符号S(Xe−Ye)により、左右シフト回路103
から出力された仮数部オペランドをスワップする回路で
ある。これを実際の回路にすると第7図に示す様にな
る。701はある任意の桁(k桁目)のスワップ回路であ
る。信号S(Xe−Ye)が入ると、入力データがスワップ
され出力される。The swap circuit 105 uses the sign S (Xe−Ye) of the difference between the exponent values output from the subtraction circuit 104 to shift the right / left shift circuit 103.
This is a circuit for swapping the mantissa operand output from the. When this is used as an actual circuit, it becomes as shown in FIG. 701 is a swap circuit of an arbitrary digit (kth digit). When the signal S (Xe-Ye) is input, the input data is swapped and output.
減算回路104は、2つの指数部オペランドを減算し、
減算値の符号S(Xe−Ye)と絶対値|Xe−Ye|を出力する
回路である。この回路については特開平1−205328に記
載されており、この回答を利用し構成した減算回路を第
8図に示す。指数部オペランドが入力されて、符号値S
(Xe−Ye)が出力されるまでのゲート遅延段数が5段、
絶対値|Xe−Ye|が求まるまでのゲート遅延段数が7段で
ある。The subtraction circuit 104 subtracts two exponent operands,
This is a circuit that outputs the sign S (Xe-Ye) of the subtraction value and the absolute value | Xe-Ye |. This circuit is described in Japanese Patent Application Laid-Open No. 1-205328, and a subtraction circuit constructed by using this answer is shown in FIG. The exponent operand is input and the sign value S
The number of gate delay stages until (Xe-Ye) is output is 5,
The number of gate delay stages until the absolute value | Xe−Ye | is obtained is seven.
ここで、スワップ回路105までのデータパスをみる。
まず、非正規仮数検出回路101、シフト信号生成回路10
2、左右シフト103を通り、スワップ回路105に仮数部デ
ータを入力するパスは、第4図、第5図、第6図から、
ゲート遅延段数5段であることが解る。これに対し、減
算回路104からスワップ回路105でデータをスワップする
ための制御信号S(Xe−Ye)は、第7図より、ゲート遅
延段数5段であることが解る。従って、浮動小数点デー
タが入力されてスワップ回路105が動作するまでのパス
を見た場合、前者、後者ともに同じゲート遅延段数であ
ることが解る。Now, look at the data path to the swap circuit 105.
First, the non-normal mantissa detection circuit 101 and the shift signal generation circuit 10
2. The path for inputting the mantissa data to the swap circuit 105 through the left / right shift 103 is shown in FIG. 4, FIG. 5, and FIG.
It can be seen that the number of gate delay stages is five. On the other hand, it is understood from FIG. 7 that the control signal S (Xe-Ye) for swapping data from the subtraction circuit 104 to the swap circuit 105 has five gate delay stages. Therefore, when looking at the path from the input of floating point data to the operation of the swap circuit 105, it is understood that the former and the latter have the same number of gate delay stages.
従って、以上より本発明の左右シフト回路を使用する
ことで、従来問題であった加算と減算時に丸め位置を同
一にするデータのシフト操作のための時間がクリチカル
パスに入ることがなく、更に、指数部桁合わせの為の仮
数部シフト量は、1つの減算回路を用いることだけで良
く、演算時間を短くすることができ、更に、回路規模も
小さくできるという絶大なる効果を生む。Therefore, by using the left-right shift circuit of the present invention as described above, the time for the data shift operation for making the rounding positions the same at the time of addition and subtraction, which is a conventional problem, does not enter the critical path, and further, The mantissa shift amount for aligning the exponent digits is only required to use one subtraction circuit, and the calculation time can be shortened, and further, the circuit scale can be reduced, which is a great effect.
なお、加減算結果の正規化処理については、左シフト
回路108、加減算回路110を使用し、従来例と同様に実行
される。The normalization process of the addition / subtraction result is performed using the left shift circuit 108 and the addition / subtraction circuit 110 as in the conventional example.
以上、本実施例では、32ビットのIEEE754規格の浮動
小数点データを用いた場合について示したが、オペラン
ドが長いほど、仮数部シフト量を求める指数部減算にか
かる時間が非正規化数を検出する時間よりも長くなる
為、本発明は更に有効である。As described above, in this embodiment, the case where 32-bit IEEE754 standard floating point data is used has been described. However, the longer the operand is, the time required for the exponent part subtraction to obtain the mantissa shift amount is to detect the denormalized number. The present invention is more effective because it takes longer than the time.
また、以上の実施例では左右シフト回路103がスワッ
プ回路105の前にきていたが、第9図に示す実施例の様
にスワップ回路105を左右シフト回路103の前に持ってき
ても同様の効果が得られる。但し、これは減算回路104
で指数減算値の符号S(Xe−Ye)がシフト信号Rx,Ry,L
x,Ly,Nx,Nyを求めるよりも遥かに早く求めることが出来
る場合である。Further, in the above embodiment, the left / right shift circuit 103 comes before the swap circuit 105, but if the swap circuit 105 is brought before the left / right shift circuit 103 as in the embodiment shown in FIG. The effect is obtained. However, this is the subtraction circuit 104
And the sign S (Xe-Ye) of the exponent subtraction value is the shift signal Rx, Ry, L
This is the case when it is possible to obtain much faster than x, Ly, Nx, Ny.
発明の効果 上述のごとく本発明によれば、IEEE規格の浮動小数点
加減算を実行するに当たり、2つのオペランドの桁合わ
せの為、指数値の小さい方のオペランド仮数部を右にシ
フトする前に、シフトしないかまたは右または左に1桁
シフトするシフト回路を設けることで、2つのオペラン
ドの桁合わせのシフト量を計算する減算器が1つでよ
く、回路が簡単でかつ演算所用時間も少ない浮動小数点
加減算装置を得ることができる。As described above, according to the present invention, when performing the floating-point addition / subtraction of the IEEE standard, since the two operands are aligned with each other, the operand mantissa of the smaller exponent value is shifted rightward. No, or by providing a shift circuit that shifts to the right or left by one digit, only one subtractor may be used to calculate the shift amount of digit alignment of two operands, and the circuit is simple and the floating point time is short. An adder / subtractor can be obtained.
第1図は本発明の一実施例である浮動小数点加減算装置
のブロック図、第2図は第1図中の左右シフト回路の動
作、及び減算回路から出力されるシフト量が演算の型・
オペランドの型によってどう変化するかを表にした図、
第3図は従来の浮動小数点加減算装置のブロック図、第
4図は第1図中の非正規化数検出回路101の論理図、第
5図は第1図中のシフト信号生成回路102の論理図、第
6図は第1図中の左右シフト回路103の論理図、第7図
は第1図中スワップ回路105の論理図、第8図は第1図
中減算回路104の論理図、第9図は本発明の他の実施例
である浮動小数点加減算装置のブロック図である。 101……非正規化数検出回路、102……シフト信号生成回
路、103……左右シフト回路、104……減算回路、105…
…スワップ回路、106……右バレルシフト回路、107……
加減算回路、108……左シフト回路、109……マルチプレ
クサ、110……加減算回路。FIG. 1 is a block diagram of a floating-point addition / subtraction device according to an embodiment of the present invention, and FIG. 2 is a diagram showing the operation of the left / right shift circuit in FIG. 1 and the shift amount output from the subtraction circuit.
Figure showing how it changes depending on the type of operand,
FIG. 3 is a block diagram of a conventional floating point addition / subtraction device, FIG. 4 is a logic diagram of the denormalized number detection circuit 101 in FIG. 1, and FIG. 5 is a logic of the shift signal generation circuit 102 in FIG. 6 and 6 are logic diagrams of the left / right shift circuit 103 in FIG. 1, FIG. 7 is a logic diagram of the swap circuit 105 in FIG. 1, and FIG. 8 is a logic diagram of the subtraction circuit 104 in FIG. FIG. 9 is a block diagram of a floating point adder / subtractor according to another embodiment of the present invention. 101 ... Denormalized number detection circuit, 102 ... Shift signal generation circuit, 103 ... Left / right shift circuit, 104 ... Subtraction circuit, 105 ...
… Swap circuit, 106 …… Right barrel shift circuit, 107 ……
Addition / subtraction circuit, 108 ... Left shift circuit, 109 ... Multiplexer, 110 ... Addition / subtraction circuit.
Claims (4)
号部オペランドからなる浮動小数点形式の2つの被演算
データを加算または減算する浮動小数点加減算装置にお
いて、前記2つの被演算データが、正規化数であるか非
正規化数であるかまたは実行演算が加算であるか減算で
あるかの情報を基に、前記2つの仮数部オペランドの加
減算を実行する前に前記仮数部オペランドをシフトしな
いかまたは右または左に1桁シフトするシフト手段を有
することを特徴とする浮動小数点加減算装置1. A floating point addition / subtraction device for adding or subtracting two operand data in a floating point format consisting of a mantissa operand, an exponent operand and a sign operand, wherein the two operands are normalized numbers. The mantissa operand is not shifted or right before the addition and subtraction of the two mantissa operands is performed, based on the information of whether there is a denormalized number or whether the operation is addition or subtraction. Or a floating-point addition / subtraction device having shift means for shifting left one digit
号部オペランドからなる浮動小数点形式の2つの被演算
データを加算または減算する浮動小数点加減算装置にお
いて、前記2つの被演算データが、正規化数であるか非
正規化数であるかまたは実行演算が加算であるか減算で
あるかの情報を基に、仮数部オペランドをシフトしない
かまたは右または左に1桁シフトする制御信号を生成す
る第1の手段と、前記第1の手段から出力される制御信
号を使い、入力データをシフトしないかまたは右または
左に1桁シフトする第2の手段と、指数部オペランドを
減算し、該減算結果の符号と絶対値を出力する第3の手
段と、入力データを第3の手段より出力される減算結果
の符号によりスワップし出力する第4の手段と、入力デ
ータを第3の手段より出力される減算結果の絶対値量だ
け右シフトする第5の手段と、入力データを加減算し、
加減算結果を丸め処理し出力する第6の手段とを有し、
前記第2の手段に2つの仮数部オペランドが入力され、
前記第1の手段より出力される制御信号により仮数部オ
ペランドをシフトしないかまたは右または左に1桁シフ
トして出力し、該出力データを前記第4の手段に入力
し、該入力データの内、指数値の小さい方のデータを前
記第5の手段の入力データとし、前記第5の手段の出力
データと、前記第4の手段の入力データの内指数値の大
きい方の入力データを前記第6の手段の入力とする事を
特徴とする浮動小数点加減算装置。2. A floating-point addition / subtraction device for adding or subtracting two operand data in a floating-point format consisting of a mantissa operand, an exponent operand, and a sign operand, wherein the two operand data are normalized numbers. Generating a control signal that does not shift the mantissa operand or shifts it to the right or left by one digit based on the information whether it is a certain number, a denormalized number, or an execution operation is addition or subtraction Means for using the control signal output from the first means, second means for not shifting the input data or shifting the input data by one digit to the right or left, and subtracting the exponent operand, Third means for outputting a sign and an absolute value, fourth means for swapping input data with the sign of the subtraction result outputted by the third means and outputting the same, and third means for input data And fifth means for only right-shift the absolute value of the outputted subtraction result Ri, by adding or subtracting the input data,
And a sixth means for rounding and outputting the addition / subtraction result,
Two mantissa operands are input to the second means,
The mantissa operand is not shifted by the control signal output from the first means, or is shifted to the right or left by one digit and is output, and the output data is input to the fourth means, , The data having the smaller exponent value is used as the input data of the fifth means, and the output data of the fifth means and the input data having the larger index value of the input data of the fourth means are used as the input data of the fifth means. 6. A floating point addition / subtraction device characterized by being input as means of 6.
号部オペランドからなる浮動小数点形式の2つの被演算
データを加算または減算する浮動小数点加減算装置にお
いて、前記2つの被演算データが、正規化数であるか非
正規化数であるかまたは実行演算が加算であるか減算で
あるかの情報を基に、仮数部オペランドをシフトしない
かまたは右または左に1桁シフトする制御信号を生成す
る第1の手段と、前記第1の手段から出力される制御信
号を使い、入力データをシフトしないかまたは右または
左に1桁シフトする第2の手段と、指数部オペランドを
減算し、該減算結果の符号と絶対値を出力する第3の手
段と、入力データを第3の手段より出力される減算結果
の符号によりスワップし出力する第4の手段と、入力デ
ータを第3の手段より出力される減算結果の絶対値量だ
け右シフトする第5の手段と、入力データを加減算し加
減算結果を丸め処理し出力する第6の手段とを有し、前
記第4の手段に2つの仮数部オペランドが入力され、前
記第3の手段より出力される減算結果の符号により指数
部オペランドの小さい方の仮数部オペランドが前記第5
の手段の入力となるようにスワップして出力し、該出力
データを前記第2の手段に入力し、前記第1の手段で生
成された制御信号により入力データをシフトしないか右
または左に1桁シフトし出力し、該出力データを前記第
5の手段と第6の手段に入力し、前記第5の手段の入力
は前記第3の手段で得られる減算結果の絶対値により右
シフトし出力され、該出力データが前記第6の手段の入
力となることを特徴とする浮動小数点加減算装置。3. A floating point addition / subtraction device for adding or subtracting two operand data in a floating point format consisting of a mantissa operand, an exponent operand, and a sign operand, wherein the two operands are normalized numbers. Generating a control signal that does not shift the mantissa operand or shifts it to the right or left by one digit based on the information whether it is a certain number, a denormalized number, or an execution operation is addition or subtraction Means for using the control signal output from the first means, second means for not shifting the input data or shifting the input data by one digit to the right or left, and subtracting the exponent operand, Third means for outputting a sign and an absolute value, fourth means for swapping input data with the sign of the subtraction result outputted by the third means and outputting the same, and third means for input data And a sixth means for adding / subtracting the input data, rounding the addition / subtraction result, and outputting the rounded result. The fifth means has two means. The mantissa operand is input, and the significand of the subtraction result output from the third means causes the mantissa operand of the smaller exponent operand to be the fifth mantissa operand.
The output data is input to the second means, and the input data is not shifted by the control signal generated by the first means. Digit shift and output, the output data is input to the fifth means and the sixth means, and the input of the fifth means is shifted right by the absolute value of the subtraction result obtained by the third means and output. And the output data is input to the sixth means.
で実行演算が減算である場合、左右シフト手段でオペラ
ンド仮数部をシフトしない事を特徴とする請求項1、
2、3のいずれかに記載の浮動小数点加減算装置。4. When the two floating-point operands are denormalized numbers and the execution operation is subtraction, the left and right shift means do not shift the operand mantissa part.
The floating point addition / subtraction device according to any one of 2 and 3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2332503A JP2507183B2 (en) | 1989-11-28 | 1990-11-28 | Floating point addition / subtraction unit |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30868789 | 1989-11-28 | ||
JP1-308687 | 1989-11-28 | ||
JP2332503A JP2507183B2 (en) | 1989-11-28 | 1990-11-28 | Floating point addition / subtraction unit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03218518A JPH03218518A (en) | 1991-09-26 |
JP2507183B2 true JP2507183B2 (en) | 1996-06-12 |
Family
ID=26565650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2332503A Expired - Lifetime JP2507183B2 (en) | 1989-11-28 | 1990-11-28 | Floating point addition / subtraction unit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2507183B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150059082A (en) * | 2013-11-21 | 2015-05-29 | 삼성전자주식회사 | High performance floating-point adder with full in-line denormal/subnormal support |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5880983A (en) * | 1996-03-25 | 1999-03-09 | International Business Machines Corporation | Floating point split multiply/add system which has infinite precision |
US5790445A (en) * | 1996-04-30 | 1998-08-04 | International Business Machines Corporation | Method and system for performing a high speed floating point add operation |
JP2000010762A (en) | 1998-06-19 | 2000-01-14 | Mitsubishi Electric Corp | Floating-point operation device |
-
1990
- 1990-11-28 JP JP2332503A patent/JP2507183B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150059082A (en) * | 2013-11-21 | 2015-05-29 | 삼성전자주식회사 | High performance floating-point adder with full in-line denormal/subnormal support |
KR102200913B1 (en) * | 2013-11-21 | 2021-01-11 | 삼성전자주식회사 | High performance floating-point adder with full in-line denormal/subnormal support |
Also Published As
Publication number | Publication date |
---|---|
JPH03218518A (en) | 1991-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4999803A (en) | Floating point arithmetic system and method | |
US6529928B1 (en) | Floating-point adder performing floating-point and integer operations | |
JPH02289006A (en) | Circuit for adding and subtracting mantissa of operand in floating point adder | |
JPH07225671A (en) | Result normalization mechanism and method of operation | |
JPH09212337A (en) | Floating-point arithmetic processor | |
US5146419A (en) | Floating point addition-subtraction apparatus | |
JP2507183B2 (en) | Floating point addition / subtraction unit | |
JP2558669B2 (en) | Floating point arithmetic unit | |
KR920003493B1 (en) | Operation circuit based on floating-point representation | |
US7003540B2 (en) | Floating point multiplier for delimited operands | |
JP4439060B2 (en) | Floating point adder | |
JPH0540605A (en) | Floating point multiplier | |
JP2555577B2 (en) | Arithmetic unit | |
JPH01282633A (en) | Non-normalized number processing system | |
JP2856792B2 (en) | Floating point arithmetic unit | |
JPS63158626A (en) | Arithmetic processing unit | |
JPH0383126A (en) | Floating-point multiplier | |
JPH05204606A (en) | Floating point arithmetic system and unit | |
JP2512939B2 (en) | Fixed floating data conversion circuit | |
JP3124286B2 (en) | Floating point arithmetic unit | |
JP3100868B2 (en) | Arithmetic unit for floating point numbers | |
JPS62168228A (en) | Product/sum arithmetic unit with floating point function | |
JPH0540609A (en) | Floating point divider | |
JPH03217938A (en) | Floating deciaml rounding normalizing device | |
JPH05100823A (en) | Floating point arithmetic system and its device |