JPH0553765A - Preceding one detecting circuit and floating point adder-subtractor - Google Patents
Preceding one detecting circuit and floating point adder-subtractorInfo
- Publication number
- JPH0553765A JPH0553765A JP4015601A JP1560192A JPH0553765A JP H0553765 A JPH0553765 A JP H0553765A JP 4015601 A JP4015601 A JP 4015601A JP 1560192 A JP1560192 A JP 1560192A JP H0553765 A JPH0553765 A JP H0553765A
- Authority
- JP
- Japan
- Prior art keywords
- digit
- zsd
- value
- subtraction
- 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.)
- Granted
Links
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、仮数部、指数部、符号
部からなる2つの浮動小数点データについて加減算を実
行し、上位桁に無効桁が発生する場合、有効桁の最上位
位置を高速に予測する回路およびこの回路を用いた浮動
小数点加減算装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention executes addition and subtraction on two floating point data consisting of a mantissa part, an exponent part, and a sign part, and when an invalid digit occurs in the upper digit, the most significant position of the significant digit is set at high speed. The present invention relates to a prediction circuit and a floating point addition / subtraction device using this circuit.
【0002】[0002]
【従来の技術】従来、仮数部、指数部、符号部からなる
2つの浮動小数点データX,Yにおいて仮数部減算を実
行する場合、桁合わせ処理、仮数部加減算処理、正規化
処理の順で実行される。以下図4に示す従来の浮動小数
点数の加減算を実行する浮動小数点加減算装置を例にし
て説明する。2. Description of the Related Art Conventionally, when performing mantissa subtraction on two floating point data X and Y consisting of a mantissa part, an exponent part, and a sign part, digit alignment processing, mantissa part addition / subtraction processing, and normalization processing are executed in this order. To be done. An example of a conventional floating-point addition / subtraction apparatus that executes addition / subtraction of floating-point numbers shown in FIG. 4 will be described below.
【0003】図4において、まず桁合わせ処理は以下の
ように実行される。2つの入力オペランド指数部(X
e,Ye)は減算回路405 、シフト信号生成回路404 、
セレクタ回路406 に入力される。また、同時に、オペラ
ンド仮数部(1.Xfまたは0.Xf,1.Yfまたは
0.Yf)は、左右1桁シフト回路401 に入力される。
このとき、減算回路405 では、オペランド指数値Xeか
らYeを減算し、絶対値(絶対値(Xe−Ye))と、
符号値(符号値(Xe−Ye))を生成する。また同時
に、シフト信号生成回路404 では、それぞれの入力オペ
ランドが、指数値Xe、Yeを使用し正規化数であるか
否かを検出し、オペランドの符号値(Xs,Ys)と、
減算実行信号subを使用し、2つの入力オペランド仮
数値を左右にシフトする制御信号をつくる。この制御に
ついては、特願平1-38687 号に示してある。左右シフト
回路401 では、シフト信号生成回路404 からの制御信号
を基に、2つの入力オペランド仮数値を右または左にシ
フトする。左右シフト回路401 の出力はスワップ回路40
2 に入力され、ここで、減算回路405 から出力される符
号値(符号値(Xe−Ye))に基づいて、入力データ
がスワップされ、指数値の大きくないオペランドの仮数
値は右バレルシフト回路403 に入力され、もう一方の指
数値の大きいオペランド仮数値は加減算回路407 に入力
される。右バレルシフト回路403 では、減算回路405 か
ら出力されるオペランド指数値の差の絶対値(絶対値
(Xe−Ye))だけ入力値が右にシフトされる。この
ようにして、桁合わせ処理が実行される。In FIG. 4, first, digit alignment processing is executed as follows. Two input operand exponents (X
e, Ye) is a subtraction circuit 405, a shift signal generation circuit 404,
It is input to the selector circuit 406. At the same time, the operand mantissa part (1.Xf or 0.Xf, 1.Yf or 0.Yf) is input to the left / right one-digit shift circuit 401.
At this time, the subtraction circuit 405 subtracts Ye from the operand exponent value Xe to obtain an absolute value (absolute value (Xe-Ye)),
A code value (code value (Xe-Ye)) is generated. At the same time, the shift signal generation circuit 404 detects whether or not each input operand is a normalized number using the exponent values Xe and Ye, and detects the code values (Xs, Ys) of the operands.
The subtraction execution signal sub is used to create a control signal that shifts the two input operand mantissa values to the left or right. This control is shown in Japanese Patent Application No. 1-38687. The left / right shift circuit 401 shifts the two input operand mantissas to the right or left based on the control signal from the shift signal generation circuit 404. The output of the left / right shift circuit 401 is the swap circuit 40.
2, the input data is swapped based on the code value (code value (Xe-Ye)) output from the subtraction circuit 405, and the mantissa value of the operand whose exponent value is not large is the right barrel shift circuit. The other operand mantissa value having a large exponent value is input to the adder / subtractor circuit 407. The right barrel shift circuit 403 shifts the input value to the right by the absolute value (absolute value (Xe-Ye)) of the difference between the operand exponent values output from the subtraction circuit 405. In this way, the digit alignment process is executed.
【0004】次に、加減算処理および丸め処理が加減算
回路407 で実行される。さらに、正規化処理について説
明する。2つの浮動小数点数入力オペランドの指数値X
eから指数値Yeを引いた減算結果が0,1または−1
のとき、浮動小数点数減算実行時に、仮数減算値の上位
に無効桁が生じ桁落ちする場合が生じる。この桁落ちし
た仮数値の正規化処理のためにプライオリティエンコー
ダ(以下PEと記述する)408 および左バレルシフト回
路409 が必要になる。加減算回路407 からの出力結果
は、PE408 および左バレルシフト回路409 に入力され
る。PE408 では、加減算回路407 より出力された結果
から、正規化するために必要な左シフト量を検出する。
そして、PE408 で検出されたシフト量に基づいて、左
バレルシフト回路409 で仮数値減算結果を正規化する。Next, addition / subtraction processing and rounding processing are executed by the addition / subtraction circuit 407. Further, the normalization process will be described. Exponent value X of two floating point input operands
The subtraction result obtained by subtracting the index value Ye from e is 0, 1 or -1.
In this case, when the floating point number subtraction is executed, an invalid digit may occur in the upper part of the mantissa subtraction value and the digit may be lost. A priority encoder (hereinafter referred to as PE) 408 and a left barrel shift circuit 409 are required for the normalization process of the mantissa value with the digit cancellation. The output result from the adder / subtractor circuit 407 is input to the PE 408 and the left barrel shift circuit 409. The PE 408 detects the amount of left shift required for normalization from the result output from the adder / subtractor circuit 407.
Then, the left barrel shift circuit 409 normalizes the mantissa value subtraction result based on the shift amount detected by the PE 408.
【0005】一方、セレクタ回路406 に入力された指数
値は、減算回路405 から出力される符号値(符号値(X
e−Ye))にしたがい、指数値の小さくない方を選択
する。そしてセレクタ回路406 の出力は減算回路410 に
入力され、PE408 で検出されたシフト量を減算し、浮
動小数点数加減算の指数値が求まる。On the other hand, the exponent value input to the selector circuit 406 is the code value (code value (X
e-Ye)), select the one with a smaller index value. The output of the selector circuit 406 is input to the subtraction circuit 410, and the shift amount detected by the PE 408 is subtracted to obtain the exponent value of floating point number addition / subtraction.
【0006】このように、従来の浮動小数点加減算装置
では、仮数値減算結果を正規化処理するために、仮数値
減算結果から上位に発生する無効桁の数をPE408 で検
出し、そしてその検出量に基づいて正規化を行ってい
た。As described above, in the conventional floating point addition / subtraction device, in order to normalize the mantissa value subtraction result, the PE 408 detects the number of invalid digits occurring in the upper part of the mantissa value subtraction result, and the detected amount. It was normalized based on.
【0007】[0007]
【発明が解決しようとする課題】以上説明したような従
来の浮動小数点加減算装置においては、指数の差が0,
1または−1のとき、桁合わせ処理した後の仮数値を減
算した結果について、減算結果の上位に生じる無効桁の
数をPE408で求め、このPE408 で求められた無効桁
の数を用い、仮数値減算結果を左バレルシフト回路で正
規化処理していたため、仮数値の減算と正規化処理のた
めのシフト量検出と正規化処理が連続して実行され、浮
動小数点の加減算実行速度を遅くする原因となってい
た。In the conventional floating-point adder / subtractor as described above, the difference between exponents is 0,
When 1 or -1, for the result of subtracting the mantissa value after digit alignment processing, the number of invalid digits occurring in the higher order of the subtraction result is obtained by PE 408, and the number of invalid digits obtained by PE 408 is used. Since the result of numerical subtraction was normalized by the left barrel shift circuit, subtraction of the mantissa value and shift amount detection for normalization and normalization are executed continuously, slowing down the floating point addition / subtraction execution speed. It was the cause.
【0008】本発明は、上記問題に鑑み、仮数部減算結
果の無効桁の量(または最上位有意桁)を高速に予測す
る先行1検出回路を提供すると同時に、この先行1検出
回路を使用することにより、仮数値の減算と減算結果の
無効桁の数の予測を同時に実行することができて、演算
所要時間を短くできる浮動小数点加減算装置を提供する
ことを目的とするものである。In view of the above problems, the present invention provides a leading 1 detection circuit that predicts the amount of invalid digits (or the most significant digit) of a mantissa part subtraction result at high speed, and at the same time, uses the leading 1 detection circuit. Accordingly, it is an object of the present invention to provide a floating-point addition / subtraction device that can simultaneously perform subtraction of a mantissa value and prediction of the number of invalid digits of the subtraction result, and can shorten the calculation required time.
【0009】[0009]
【課題を解決するための手段】上記問題を解決するた
め、本発明の先行1検出回路は、桁合わせ処理が終了し
た後の2つの浮動小数点仮数部オペランドについて、各
桁毎に減算し、各桁が(−1,0,1)より構成される
冗長2進数値Zsdを生成する第1の手段と、冗長2進
数値Zsdの下位よりk桁目の冗長2進数値Zsdk と
下位よりk+1桁目の冗長2進数値Zsdk+1 を用い、
Zsdk+1 =“1”または“−1”であるときにSk =
−Zsdk となり、Zsdk+1 =“0”であるときにS
k =Zsd k となるように、式Zsdk =2・Ck +S
k にしたがい、中間桁上げCk 、中間和Sk を生成する
第2の手段と、下位桁からの中間桁上げCk-1 と中間和
Skの加算結果が0のときに“0”、0以外のときに
“1”という信号Zk を生成する第3の手段を備えたも
のである。[Means for Solving the Problems]
Therefore, the leading 1 detection circuit of the present invention has completed the digit alignment processing.
For each of the two floating-point mantissa operands after
Each digit is subtracted and each digit is composed of (-1, 0, 1)
First means for generating a redundant binary value Zsd, and redundant binary
Redundant binary value Zsd in the kth digit from the lower order of the value Zsdk When
Redundant binary value Zsd at the k + 1th digit from the lower orderk + 1 Using
Zsdk + 1 S when = "1" or "-1"k =
-Zsdk And Zsdk + 1 S = when "0"
k = Zsd k So that the expression Zsdk = 2 · Ck + S
k According to this, intermediate carry Ck , Intermediate sum Sk Generate
Second means and intermediate carry C from the lower digitk-1 And intermediate sum
SkWhen the addition result of is 0, it is "0". When it is not 0,
Signal Z of "1"k With a third means for generating
Of.
【0010】さらに、本発明の浮動小数点加減算装置
は、仮数部オペランド、指数部オペランド、符号部オペ
ランドを有する浮動小数点形式の2つの被演算データを
加算または減算する浮動小数点加減算装置において、桁
合わせ処理された後の2つの仮数部オペランドを、加減
算回路と前記先行1検出回路に同時に入力し、前記加減
算回路では減算を実行してその減算結果を左バレルシフ
ト回路に入力し、前記先行1検出回路から出力される前
記加減回路の上位に生じる無効桁数の予測数をPEによ
りデコードした値を用い前記左バレルシフト回路に入力
された減算結果を左シフトするように構成したものであ
る。Further, the floating-point addition / subtraction device of the present invention is a floating-point addition / subtraction device for adding or subtracting two operand data in a floating-point format having a mantissa operand, an exponent operand, and a sign operand. The two mantissa operands after the addition are simultaneously input to the adder / subtractor circuit and the leading 1 detection circuit, the addition / subtraction circuit executes subtraction, and the subtraction result is input to the left barrel shift circuit, and the leading 1 detection circuit is added. Is used to shift the subtraction result input to the left barrel shift circuit to the left by using a value obtained by decoding the predicted number of invalid digits generated in the upper part of the addition / subtraction circuit by PE.
【0011】[0011]
【作用】本発明は上述した構成の先行1検出回路を使用
することで、仮数値減算時に生じる無効桁の数の予測を
オペランドの桁数に関係なく一定の時間で求めることが
できる。また、この先行1検出回路を、仮数値減算と同
時に動作させることで、仮数値減算結果が求められると
同時に桁落ち数の予測値を使用し、仮数値減算結果を正
規化処理するため、高速な浮動小数点数加減算装置を実
現できる。According to the present invention, by using the leading 1 detection circuit having the above-described structure, it is possible to predict the number of invalid digits generated during the mantissa value subtraction in a fixed time regardless of the number of digits of the operand. In addition, by operating this leading 1 detection circuit at the same time as the mantissa value subtraction, the mantissa value subtraction result is obtained, and at the same time, the predicted value of the number of digits cancellation is used to normalize the mantissa value subtraction result. A floating point adder / subtractor can be realized.
【0012】[0012]
【実施例】以下本発明の一実施例を図面に基づいて説明
する。図1は本発明の浮動小数点加減算装置に用いる先
行1検出回路の一実施例を示すブロック図である。浮動
小数点演算において、仮数部の桁落ちが発生する場合
は、指数値の差が0,1または−1の場合に、仮数値減
算を実行した場合である。これから述べる先行1検出回
路は、仮数値減算実行時に仮数値の桁落ち量を高速に予
測する回路であり、ここでは被減数X、減数Yの2k-1
の重みを持つ桁から2k+1 の重みを持つ桁までの3桁の
範囲について示してある。ただしkは自然数である。以
下の説明においては、2k の重みを持つ桁の処理につい
て述べる。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of the leading 1 detection circuit used in the floating point addition / subtraction device of the present invention. In floating-point arithmetic, a case where a mantissa digit is lost occurs when mantissa value subtraction is executed when the difference between exponent values is 0, 1 or -1. Leading one detector circuit to be described now is a circuit for predicting the time of mantissa value subtracted perform the cancellation of mantissa values at high speed, where the minuend is X, 2 of the subtrahend Y k-1
A range of 3 digits from a digit having a weight of 2 to a digit having a weight of 2 k + 1 is shown. However, k is a natural number. In the following description, processing of a digit having a weight of 2 k will be described.
【0013】図1において、101 は冗長2進数生成回路
であり、被減数Xと減数Yから各桁毎に冗長二進数値Z
sdを生成する。102 は中間和中間桁上げ生成回路であ
り、一桁上位の冗長2進数値(Zsdk+1 )とその桁の
冗長2進数値(Zsdk )を用い、Zsdk =2・Ck
+Sk にしたがい、中間桁上げCk 、中間和Sk を生成
する(ただし、Ck 、Sk は冗長2進数)。103 はスキ
ャン値生成回路であり、中間和Sk と下位からの中間桁
上げCk-1 を用い、Ck-1 +Sk =0のときに0を出力
し、Ck-1 +Sk =0以外のときに1を出力する。104
は先行1検出回路の各桁毎の構成要素である。In FIG. 1, reference numeral 101 denotes a redundant binary number generating circuit, which is a redundant binary value Z for each digit from the augend X and the subtraction Y.
Generate sd. 102 is an intermediate sum intermediate carry generation circuit, using a single-digit level redundant binary value (Zsd k + 1) and the digit of the redundant binary value (Zsd k), Zsd k = 2 · C k
According to + S k , an intermediate carry C k and an intermediate sum S k are generated (where C k and S k are redundant binary numbers). Reference numeral 103 denotes a scan value generation circuit, which uses the intermediate sum S k and the intermediate carry C k-1 from the lower order, outputs 0 when C k-1 + S k = 0, and C k-1 + S k = 1 is output when other than 0. 104
Is a component for each digit of the preceding 1 detection circuit.
【0014】次に図1の先行1検出回路の詳細な説明を
述べる。まず、冗長2進数生成回路101 の真理値表を表
1に示す。Next, a detailed description of the leading 1 detection circuit of FIG. 1 will be given. First, Table 1 shows a truth table of the redundant binary number generation circuit 101.
【0015】[0015]
【表1】 [Table 1]
【0016】表1でXk 、Yk はそれぞれ被減数、減数
のk桁目の値で、Xk −Yk =Zsdk により冗長2進
数値Zsdk が生成される。次に、冗長2進数生成回路
101 で生成された冗長2進数値Zsdk は一桁上位の冗
長2進数値Zsdk+1 とともに、中間和中間桁上げ生成
回路102 に入力される。中間和中間桁上げ生成回路102
では、冗長2進数値Zsdk+1 を見て冗長2進数値Zs
dk より、(1) 式にしたがい中間和Sk 、中間桁上げC
k を生成する(ただし、Ck 、Sk は冗長2進数)。In Table 1, X k and Y k are the values of the minuend and the k-th digit of the subtraction, respectively, and the redundant binary value Zsd k is generated by X k −Y k = Zsd k . Next, the redundant binary number generation circuit
With numerical ZSD k + 1 binary one digit higher redundancy redundant binary value ZSD k generated by 101, is input to the intermediate sum intermediate carry generation circuit 102. Intermediate sum Intermediate carry generation circuit 102
Then, looking at the redundant binary value Zsd k + 1 , the redundant binary value Zs
From d k , the intermediate sum S k and the intermediate carry C according to the equation (1)
Generate k (where C k and S k are redundant binary numbers).
【0017】 [0017]
【0018】(1) 式より中間桁上げCk 、中間和S
kは、(2) 式のように生成される。From the equation (1), the intermediate carry C k and the intermediate sum S
k is generated as in equation (2).
【0019】 [0019]
【0020】(2) 式から解るように冗長2進数値Zsd
k が“1”または“−1”のとき、中間桁上げCk 、中
間和Sk の組合せとしてそれぞれ2通りあることが解
る。ここでは、(2) 式に示される中間和中間桁上げの組
合せを、1桁上位の冗長2進数値Zsdk+1 を見て、以
下の表2に示されるように振り分ける。表2では、1桁
上位の冗長2進数値Zsdk+1 が1または−1のとき、
Ck =Zsdk になるような組合せが選択され、また1
桁上位の冗長2進数値Zsdk+1 が0のとき、Zsdk
は、中間桁上げCk が“0”になる組合せが選択され
る。As can be seen from the equation (2), the redundant binary value Zsd
when k is "1" or "-1", intermediate carry C k, that there are two ways a combination of intermediate sum S k seen. Here, the combination of the intermediate sum and the intermediate carry shown in the equation (2) is distributed as shown in Table 2 below by looking at the redundant binary value Zsd k + 1 one digit higher. In Table 2, when the redundant binary value Zsd k + 1 with one digit higher is 1 or -1,
A combination is selected such that C k = Zsd k, and 1
When the redundant binary value Zsd k + 1 of the upper digit is 0, Zsd k
Is selected such that the intermediate carry C k is “0”.
【0021】[0021]
【表2】 [Table 2]
【0022】次に、中間和中間桁上げ生成回路102 によ
り生成された中間和Sk ,中間桁上げCk を用い、スキ
ャン値生成回路103 で値Zk を生成する。ここでは、表
3に示す論理でZk を生成する。Next, using the intermediate sum S k and intermediate carry C k generated by the intermediate sum intermediate carry generation circuit 102, the scan value generation circuit 103 generates the value Z k . Here, Z k is generated by the logic shown in Table 3.
【0023】[0023]
【表3】 [Table 3]
【0024】表3において、スキャン値Zk はCk-1 +
Sk =0の時0であり、Ck-1 +S k =0以外の場合1
であることが解る。次に、以上のような論理で構成され
た先行1検出回路を使用することで、減算値の桁落ち量
を予測できることを説明する。In Table 3, the scan value ZkIs Ck-1 +
Sk = 0 when = 0, Ck-1 + S k 1 other than = 0
It turns out that Then, it is composed of the above logic
By using the leading 1 detection circuit,
Explain that can be predicted.
【0025】まず、冗長2進数値生成回路101 を使用
し、2進数で表現された減数、被減数から、各桁が−
1,0,1で表現される冗長2進数値Zsdを生成す
る。冗長2進数値Zsdには、各桁毎の減算値が表現さ
れている。すなわち、冗長2進数Zsdが“1”である
ということは、その桁の被減数が“1”、減数が“0”
であるということ、冗長2進数Zsdが“−1”である
ということは、その桁の被減数が“0”、減数が“1”
であるということ、冗長2進数Zsdが“0”であると
いうことは、その桁の被減数と減数が同じ値であるとい
うことである。すなわち、減数、被減数を冗長2進数値
Zsdで表現するということは、桁借りを伝搬させない
減算を実行することと同等の効果を有する。First, by using the redundant binary value generation circuit 101, each digit is represented by − from the subtraction and the subtraction expressed in binary numbers.
A redundant binary value Zsd represented by 1, 0, 1 is generated. The redundant binary value Zsd represents a subtraction value for each digit. That is, that the redundant binary number Zsd is "1" means that the minuend of the digit is "1" and the divisor is "0".
That is, the redundant binary number Zsd is "-1", which means that the minuend of the digit is "0" and the divisor is "1".
The fact that the redundant binary number Zsd is "0" means that the minuend and the subtrahend of the digit have the same value. That is, expressing the subtrahend and the minuend with the redundant binary value Zsd has the same effect as executing the subtraction without propagating the borrow.
【0026】ここで、減数と被減数を冗長2進数値Zs
dで表現することで、以下のようなことがいえる。「冗
長2進数値Zsdの最上位桁より0個以上の連続した数
値“0”が存在し、その後に“0”以外の数値が存在す
る場合、“0”以外の数値が存在する桁よりも上位桁に
最上位有意桁が存在することはない。Here, the subtraction and the subtraction are set to the redundant binary value Zs.
By expressing with d, the following can be said. "If there are 0 or more consecutive numerical values" 0 "from the most significant digit of the redundant binary value Zsd, and if a numerical value other than" 0 "exists after that, the numerical value other than the numerical value other than" 0 "exists There is no highest significant digit in the upper digits.
【0027】たとえば、冗長2進数値Zsdの上位から
みて、最初に現われる“0”以外の数値が“1”の場合
と、“−1”の場合について、(3),(4)式に示す。For example, when viewed from the higher order of the redundant binary value Zsd, the first numerical value other than "0" is "1" and the case of "-1" are shown in equations (3) and (4). ..
【0028】 [0028]
【0029】このとき、(3) 式は(5) 式に示すような範
囲の値を取ることができる。At this time, the expression (3) can take a value in the range as shown in the expression (5).
【0030】 [0030]
【0031】すなわち、(5) 式から分かるように、(3)
式に示される冗長2進数値Zsdを2進数に変換した場
合、冗長2進数値Zsdの最上位桁より見て、最も上位
に“0”以外の数値が存在する桁よりも上位桁に最上位
有意桁がくることはない。That is, as can be seen from equation (5), (3)
When the redundant binary value Zsd shown in the formula is converted into a binary number, the most significant digit is higher than the digit in which the numerical value other than "0" exists in the most significant digit as viewed from the most significant digit of the redundant binary value Zsd. There is no significant figure.
【0032】また、(4) 式に示されるように、冗長2進
数値Zsdの上位からみて、最初に現われる“0”以外
の数値が“−1”の場合、(4) 式は(6) 式に示すような
範囲の値を取る。Further, as shown in the expression (4), when the numerical value other than "0" which appears first is "-1" when viewed from the higher order of the redundant binary value Zsd, the expression (4) is changed to the expression (6). It takes a value in the range shown in the formula.
【0033】 [0033]
【0034】(6) 式に示される数値はすべて負の数とな
り、2進数に変換すると(7) 式に示すようになる。All the numerical values shown in the equation (6) are negative numbers, and when they are converted into binary numbers, they become as shown in the equation (7).
【0035】 [0035]
【0036】減算結果が負の場合、無効桁は上位より続
く“1”となり、最上位有意桁は最上位からみても最も
上位に“1”以外の数値が存在する桁になる。すなわ
ち、(6),(7) 式から分かるように、減算結果が負の場合
においても冗長2進数値Zsdの上位桁からみても最も
上位に“0”以外の数値が存在する桁よりも上位桁に最
上位有効桁が存在することは無いことが解る。When the result of the subtraction is negative, the invalid digit is "1" continuing from the upper digit, and the most significant digit is the digit having a numerical value other than "1" in the most significant digit as viewed from the most significant digit. In other words, as can be seen from the equations (6) and (7), even when the subtraction result is negative, even if the higher digit of the redundant binary value Zsd is seen, it is higher than the digit having a numerical value other than “0” in the highest digit. It can be seen that there is no highest significant digit in the digit.
【0037】以上述べたように、減数、被減数を用い、
冗長2進数値Zsdを生成することで、最上位有意桁位
置を限定することができる。次に、生成された冗長2進
数値Zsdは、中間和中間桁上げ生成回路102 に入力さ
れ中間和Sk 、中間桁上げCk に分解され、その後、ス
キャン値生成回路103 に入力される。スキャン値生成回
路103 では、その桁の中間和Sk と下位桁からの中間桁
上げCk-1 を用い、それらの加算値が“0”であれば
“0”、加算値が“0”以外であれば、“1”のスキャ
ン値Zk を出力する。このような回路を用い、最上位有
意桁位置をさらに精度良く予想することができる。As described above, using the subtraction and the subtraction,
By generating the redundant binary value Zsd, the most significant significant digit position can be limited. Next, the generated redundant binary value Zsd is input to the intermediate sum intermediate carry generation circuit 102, decomposed into the intermediate sum S k and the intermediate carry C k , and then input to the scan value generation circuit 103. The scan value generation circuit 103 uses the intermediate sum S k of the digit and the intermediate carry C k−1 from the lower digit, and if the added value of them is “0”, the added value is “0”. Otherwise, the scan value Z k of “1” is output. By using such a circuit, the most significant digit position can be predicted more accurately.
【0038】以下に、さらに精度良く最上位有意桁位置
を予測できることを示す。ここでは、下記の(8) 式に示
される形の式を例に説明する。(8)式では、最下位から
n桁目まで任意の冗長2進数値(*&)が続き、n+1
桁目より上位m桁は数値“0”が連続して続く場合を示
してある(ただし、n,mは自然数)。The following shows that the most significant significant digit position can be predicted more accurately. Here, an explanation will be given by taking an equation of the form shown in the following equation (8) as an example. In expression (8), an arbitrary redundant binary value (* &) continues from the lowest to the nth digit, and n + 1
The upper m digits from the first digit show the case where the numerical value "0" continues in succession (however, n and m are natural numbers).
【0039】 [0039]
【0040】ここで、冗長2進数値Zsdの下位よりn
+1,n,n−1桁の3桁について考える。この3桁は
(9) 式に示すようになる。Here, from the lower order of the redundant binary value Zsd, n
Consider three digits of +1, n, n-1 digits. These three digits
It becomes as shown in equation (9).
【0041】 [0041]
【0042】(9) 式は、以下に示す3つのグループに分
割できる。The equation (9) can be divided into the following three groups.
【0043】 [0043]
【0044】ここで、[1]はZsdn とZsdn-1 が
同符号の数値である場合、[2]はZsdn-1 が0であ
る場合、[3]はZsdn とZsdn-1 が異符号の数値
である場合である。Here, [1] is Zsd n and Zsd n-1 having the same sign, [2] is Zsd n-1 is 0, and [3] is Zsd n and Zsd n-. This is the case where 1 is a numerical value with a different sign.
【0045】まず、[1]の場合について考える。最上
位有意桁位置は、下位よりn桁目になる。ここで、ある
桁のスキャン値Zk は、下位からの中間桁上げCk-1 と
その桁の中間和Sk の加算値が“0”であるときは
“0”、加算値が“0”以外であるときは“1”である
と定義する。いま、(Zsdn+1 ,Zsdn ,Zsd
n-1)=(0,1,1)の場合を例に、各桁をどのよう
に中間和、中間桁上げに分けるかを考える。中間和、中
間桁上げの組合せとしては、(2) 式に示してある。Zs
dn+1 =0は、中間和、中間桁上げに分ける組合せ(こ
れを(C,S)n+1 とする)として、(C,S)n+1 =
(0,0)しか存在しない。また、Zsdn =1の場合
は、(C,S)n =(0,1),(1,T)の二通り存
在するが、ここでは、(C,S)n =(0,1)を採用
する。これは、中間桁上げCn =1となる(C,S)n
=(1,T)を採用した場合、n+1桁において、スキ
ャン値を求めた場合、Zn+1 =Cn +Sn+1 =1になっ
てしまい、スキャン値Zにおいて、最も上位に1が存在
する位置(以下、スキャン値最上位1位置とする)が、
最上位有意桁位置の1桁上位になってしまうからであ
る。すなわち、1桁上位の値が0である場合、その1桁
下位の値を中間和中間桁上げに分類する場合、(C,
S)n =(0,1)となるように、分割しなければなら
ない。First, consider the case of [1]. The highest significant digit position is the nth digit from the lower. Here, the scan value Z k of a certain digit is “0” when the added value of the intermediate carry C k−1 from the lower order and the intermediate sum S k of that digit is “0”, and the added value is “0”. If it is other than "," it is defined as "1". Now, (Zsd n + 1 , Zsd n , Zsd
Taking the case of ( n-1 ) = (0,1,1) as an example, let us consider how to divide each digit into an intermediate sum and an intermediate carry. The combination of intermediate sum and intermediate carry is shown in equation (2). Zs
d n + 1 = 0 is (C, S) n + 1 = as a combination (interpreted as (C, S) n + 1 ) divided into an intermediate sum and an intermediate carry.
There is only (0,0). Further, in the case of Zsd n = 1 there are two types of (C, S) n = (0,1) and (1, T), but here (C, S) n = (0,1) To adopt. This results in an intermediate carry C n = 1 (C, S) n
= (1, T) is adopted, when the scan value is obtained at the n + 1 digit, Z n + 1 = C n + S n + 1 = 1 is obtained, and 1 is the highest in the scan value Z. The existing position (hereinafter referred to as the highest scan position 1 position) is
This is because it is one digit higher than the highest significant digit position. That is, if the value one digit higher is 0, and the value one digit lower is classified as intermediate sum intermediate carry, (C,
S) n = (0,1) must be divided.
【0046】今度は、さらに1桁下位の、(Zsdn ,
Zsdn-1 )=(1,1)に注目してみる。Zsdn-1
=1から(C,S)n-1 を生成するとき、(2) 式より2
通りの場合がある。すなわち、(C,S)n-1 =(1,
T),(0,1)である。いま、スキャン値最上位1位
置が下位からn桁目になる(Zn =1)ようにしなけれ
ばならない。つまりCn-1 +Sn ≠0になるようにしな
ければならない。先に述べた通り(C,S)n =(0,
1)であるから、Cn-1 として1,0どちらの場合を採
用しても、Cn-1 +Sn ≠0となり、スキャン値Zn =
1となる。したがって、(Zsdn ,Zsdn-1 )=
(1,1)の場合、(C,S)n-1 =(1,T),
(0,1)のどちらを採用してもかまわない。This time, (Zsd n ,
Notice that Zsd n-1 ) = (1,1). Zsd n-1
When (C, S) n-1 is generated from = 1, from equation (2), 2
May be on the street. That is, (C, S) n-1 = (1,
T) and (0, 1). Now, the highest 1 position of the scan value must be the nth digit from the lower order (Z n = 1). That is, C n-1 + S n ≠ 0 must be set. As described above, (C, S) n = (0,
Therefore, no matter whether C n-1 is 1 or 0, C n-1 + S n ≠ 0, and the scan value Z n =
It becomes 1. Therefore, (Zsd n , Zsd n-1 ) =
In the case of (1,1), (C, S) n-1 = (1, T),
It does not matter which of (0, 1) is adopted.
【0047】以上をまとめると、次のようになる。
(C,S)n-1 =(1,T)のときThe above is summarized as follows.
When (C, S) n-1 = (1, T)
【0048】 [0048]
【0049】(C,S)n-1 =(0,1)のときWhen (C, S) n-1 = (0,1)
【0050】 [0050]
【0051】なお、以上は、(Zsdn+1 ,Zsdn ,
Zsdn-1 )=(0,1,1)のばあいについてのみ述
べたが、(Zsdn+1 ,Zsdn ,Zsdn-1 )=
(0,T,T)についても同様のことがいえる。したが
って、以上のことから、(Zsd k+1 ,Zsdk )を見
たばあい、以下のように、中間桁上げ中間和に分割すれ
ばよいことが解る。The above is (Zsdn + 1 , Zsdn ,
Zsdn-1 ) = (0,1,1)
Solid, (Zsdn + 1 , Zsdn , Zsdn-1 ) =
The same applies to (0, T, T). But
From the above, (Zsd k + 1 , Zsdk )watch the
In the case of a cigarette, split into intermediate carry intermediate sums as follows:
I understand that it is good.
【0052】 [0052]
【0053】次に[2]の場合について考える。最上位
有意桁位置は、n−1桁より下位桁にZsdn と同符号
の数値が存在する場合、n桁目になる。またn−1桁よ
り下位桁にZsdn と反対の符号を持つ数値が存在する
場合、n−1桁目になる。Next, consider the case of [2]. Highest significant digit position, if the value of the ZSD n the same sign to lower digit than n-1 digit is present, the n-th digit. In the case where a number with a sign opposite to the ZSD n lower digits than n-1 digit is present, the n-1 digit.
【0054】以下に、スキャン値最上位1位置が最上位
有意桁位置と等しくなるような中間和中間桁上げを考え
る。例として、(Zsdn+1 ,Zsdn ,Zsdn-1 )
=(0,1,0)の場合を考える。(C,S)n =
(0,1)であることは、先に述べた通りである。ま
た、Zsdn-1 =0であるため、(2) 式より(C,S)
n-1=(0,0)である。したがって、スキャン値Zn
=1(Cn-1 +Sn =1)となり、スキャン値最上位1
位置は必ず下位からn桁目になる。したがって、n−1
桁目より下位側に−1が存在する場合(n−1桁より下
位桁にZsdn と反対の符号を持つ数値が存在する場
合)、スキャン値最上位1位置は最上位有意桁位置の1
桁上位を示すことになる。なお以上は、(Zsdn+1 ,
Zsdn ,Zsd n-1 )=(0,1,0)の場合につい
て考えたが、(Zsdn+1 ,Zsdn ,Zsdn-1 )=
(0,T,0)の場合についても同様である。Below, the scan value highest position 1 is the highest position.
Consider an intermediate sum carry that is equal to the significant digit position.
It As an example, (Zsdn + 1 , Zsdn , Zsdn-1 )
Consider the case of = (0,1,0). (C, S)n =
The fact that it is (0, 1) is as described above. Well
Zsdn-1 = 0, so (C, S)
n-1= (0,0). Therefore, the scan value Zn
= 1 (Cn-1 + Sn = 1), and the highest scan value is 1
The position is always the nth digit from the lower order. Therefore, n-1
When there is -1 in the lower side of the digit (below n-1 digit
Zsd in placen If there is a number with the opposite sign to
), The highest 1 position of the scan value is 1 of the highest significant digit position.
It indicates the upper digit. The above is (Zsdn + 1 ,
Zsdn , Zsd n-1 ) = (0,1,0)
I thought, (Zsdn + 1 , Zsdn , Zsdn-1 ) =
The same applies to the case of (0, T, 0).
【0055】さらに[3]の場合について考える。最上
位有意桁位置はZsdn-1 の数値と同じ数値がn−2桁
目以下に0個以上連続して存在する場合、それが途切れ
る桁の位置またはそれより1桁下位の位置になる。Further, consider the case [3]. The highest significant digit position is the position of the digit at which it is interrupted or the position one digit lower than that when the same number as Zsd n-1 is continuously present in the n- 2th digit and below.
【0056】以下に、スキャン値最上位1位置が最上位
有意桁位置と等しくなるように中間和中間桁上げを考え
る。例として、(Zsdn+1 ,Zsdn ,Zsdn-1 )
=(0,1,T)の場合を考える。(Zsdn+1 ,Zs
dn )=(0,1)のとき、(C,S)n =(0,1)
であることは、先に述べた通りである。次に(Zsd
n ,Zsdn-1 )=(1,T)のとき、(C,S)n-1
をどのようにするかを考える。いま最上位有意桁位置は
必ずn桁目より下位桁になるため、n桁目のスキャン値
Zn=0になるようにしなければならない。すなわち、
いまSn =1であるからCn-1 =Tになるような(C,
S)n を選択しなければならない。したがってZsd
n-1 =Tであるから(C,S)n-1 =(T,1)が選択
される。Below, the highest scan value 1 position is the highest
Consider intermediate carry and carry to be equal to significant digit position
It As an example, (Zsdn + 1 , Zsdn , Zsdn-1 )
Consider the case of = (0,1, T). (Zsdn + 1 , Zs
dn ) = (0,1), (C, S)n = (0,1)
Is as described above. Then (Zsd
n , Zsdn-1 ) = (1, T), (C, S)n-1
Think about how to do. The most significant digit position is now
Since it is always a lower digit than the nth digit, the scan value of the nth digit
Zn = 0 must be set. That is,
Now Sn = 1 so Cn-1 = T (C,
S)n Must be selected. Therefore Zsd
n-1 = T because (C, S)n-1 = (T, 1) is selected
To be done.
【0057】以上をまとめると、次のようになる。The above is summarized as follows.
【0058】 [0058]
【0059】さらに、[3]の場合において、Zsd
n-2 =Tである場合を考える。このとき最上位有意桁は
n−2桁目より下位桁になるので、したがってスキャン
値Zn- 1 =0でなくてはならない。いまSn-1 =1であ
るので、Cn-2 =Tとなるような(C,S)n-2 を選択
しなければならない。いま、Zsdn-2=Tであるか
ら、(C,S)n-2 =(T,1)が選択される。この様
子を示すと次のようになる。Furthermore, in the case of [3], Zsd
Consider the case where n-2 = T. At this time, the highest significant digit becomes a lower digit than the (n-2) th digit, and therefore the scan value Z n- 1 = 0 must be set. Since S n-1 = 1 now, it is necessary to select (C, S) n-2 such that C n-2 = T. Since Zsd n-2 = T, (C, S) n-2 = (T, 1) is selected. This is shown below.
【0060】 [0060]
【0061】したがって、[3]の場合においては、
(Zsdn-1 、Zsdn-2 )=(T,T)のとき、
(C,S)n-2 =(T,1)を使用しなければならな
い。もし(C,S)n-2 =(0,T)を使用すれば、ス
キャン値最上位1位置と最上位有意桁位置がまったく異
なってくる。Therefore, in the case of [3],
When (Zsd n-1 , Zsd n-2 ) = (T, T),
(C, S) n-2 = (T, 1) must be used. If (C, S) n-2 = (0, T) is used, the most significant 1 position of the scan value and the most significant digit position are completely different.
【0062】なお以上は、(Zsdn+1 ,Zsdn ,Z
sdn-1 )=(0,1,T)の場合について考えたが、
(Zsdn+1 ,Zsdn ,Zsdn-1 )=(0,T,
1)の場合についても同様である。したがって、以上の
ことから、任意の2桁(Zsd k+1 ,Zsdk )につい
て見た場合、以下のように、Zsdk を中間桁上げ中間
和に分割すればよいことが解る。The above is (Zsdn + 1 , Zsdn , Z
sdn-1 ) = (0,1, T)
(Zsdn + 1 , Zsdn , Zsdn-1 ) = (0, T,
The same applies to the case of 1). Therefore, the above
Therefore, any two digits (Zsd k + 1 , Zsdk ) About
When viewed as follows, Zsd is as followsk Intermediate carry
It turns out that it is sufficient to divide into sums.
【0063】 [0063]
【0064】以上、[1],[3]より、0以外の同じ
数値が連続して続く場合((Zsd k+1 ,Zsdk )=
(1,1)、(T,T))、[1]においては、(C,
S) k として2通りの取り方があった。しかし、[3]
の条件において、0以外の同じ数値が連続して続く場
合、(C,S)k の取り方として、1通りに限定され
る。すなわち、[1]において、(C,S)の取り方と
して、[3]の取り方をしておけばよいことになる。す
なわち、[1],[2],[3]より、1桁上位の値を
見て中間和中間桁上げを生成する規則は、表2に示すよ
うな規則になる。そして、表2に示されるような規則を
用い、スキャン値Zを生成すると、スキャン値最上位1
位置は、最上位有意桁位置と同じかもしくは1桁上位を
表わすことになる。As described above, from [1] and [3], the same except 0
When numerical values continue ((Zsd k + 1, Zsdk ) =
In (1, 1), (T, T)) and [1], (C,
S) k There were two ways to take. However, [3]
When the same numerical value other than 0 continues in the condition
(C, S)k There is only one way to take
It That is, in [1], how to take (C, S)
Then, the method of [3] should be taken. You
That is, a value one digit higher than [1], [2], and [3]
The rules for generating intermediate sums and intermediate carry are as shown in Table 2.
It becomes a rule. And the rules as shown in Table 2
When the scan value Z is generated by using
The position is the same as the most significant digit position or one digit higher
Will be represented.
【0065】したがって、以上述べたように、本実施例
の先行1検出回路を使用することで、減算時の有効桁最
上位位置と同じか、1桁上位の位置で高速にしかも桁数
に関係なく予測することができる。Therefore, as described above, by using the leading 1 detection circuit of the present embodiment, it is the same as the most significant digit position of the effective digit at the time of subtraction, or one digit higher position at high speed and related to the number of digits. Can be predicted without.
【0066】次に、上記規則により組み上げた実際の先
行1検出回路の一例を図2に示す。図2においては、図
1に示される上位桁からの冗長2進数入力値Zsdk+1
および下位桁からの中間桁上げCk-1 は、図2中の信号
Pk ,Zsdk-1 に集約されている。ここで、Pk は1
桁上位桁の冗長2進数値が“0”であるという信号であ
る。図2に示される回路は、減数、被減数の桁数に関係
なく、ゲート遅延段数が高々3段で構成される。すなわ
ち、本実施例の先行1検出回路を用いることで、実際に
減算するよりもはるかに早く減算時の桁落ち量を予測で
きることがわかる。FIG. 2 shows an example of an actual leading 1 detection circuit assembled according to the above rules. In FIG. 2, the redundant binary number input value Zsd k + 1 from the upper digit shown in FIG.
And the intermediate carry C k-1 from the lower digit are aggregated into the signals P k , Zsd k-1 in FIG. Where P k is 1
It is a signal that the redundant binary value of the upper digit is "0". The circuit shown in FIG. 2 is composed of at most three gate delay stages regardless of the number of digits of the subtrahend and the subtrahend. That is, it can be seen that by using the leading 1 detection circuit of the present embodiment, the digit cancellation amount at the time of subtraction can be predicted much faster than the actual subtraction.
【0067】次に、本発明の先行1検出回路を用いた一
実施例の浮動小数点加減算装置の仮数演算部のブロック
図を図3に示す。従来と同じように、仮数部、指数部、
符号部からなる2つの浮動小数点データX,Yにおいて
減算を実行する場合、桁合わせ処理、仮数部加減算処
理、正規化処理の順で実行される。以下に図3に示す浮
動小数点加減算装置を例にして説明する。Next, FIG. 3 shows a block diagram of the mantissa operation part of the floating point addition / subtraction device of one embodiment using the leading 1 detection circuit of the present invention. The mantissa part, exponent part,
When the subtraction is performed on the two floating-point data X and Y including the sign part, the digit alignment process, the mantissa part addition / subtraction process, and the normalization process are performed in this order. The floating point adder / subtractor shown in FIG. 3 will be described below as an example.
【0068】まず第1に桁合わせ処理は以下のように実
行される。2つの入力オペランド指数部(Xe,Ye)
は減算回路305 、シフト信号生成回路304 、セレクタ回
路306 に入力される。また、同時に、オペランド仮数部
(1.Xfまたは0.Xf,1.Yfまたは0.Yf)
も、左右1桁シフト回路301 に入力される。このとき、
減算回路305 では、オペランド指数値Xe,Yeを減算
し、絶対値(絶対値(Xe−Ye))と、符号値(符号
値(Xe−Ye))を生成する。また同時に、シフト信
号生成回路304 では、それぞれの入力オペランドが、正
規化数であるか否かを検出し、オペランドの符号値(X
s,Ys)と、減算実行信号subを使用し、2つの入
力オペランド仮数値を左右にシフトする制御信号をつく
る。左右シフト回路301 では、シフト信号生成回路304
からの制御信号を基に、2つの入力オペランド仮数値を
右または左にシフトする。左右シフト回路301の出力は
スワップ回路302 に入力され、ここで減算回路305 から
出力される符号値(符号値(Xe−Ye))に基づい
て、入力データがスワップされ、指数値の小さいオペラ
ンドの仮数値は右バレルシフト回路303 に入力され、も
う一方の指数値の小さくないオペランド仮数値は加減算
回路307 に入力される。右バレルシフト回路303 では、
減算回路305 から出力されるオペランド指数値の差の絶
対値(絶対値(Xe−Ye))だけ入力値が右にシフト
される。このようにして、桁合わせ処理が実行される。First, the digit alignment processing is executed as follows. Two input operand exponents (Xe, Ye)
Is input to the subtraction circuit 305, the shift signal generation circuit 304, and the selector circuit 306. 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 one-digit shift circuit 301. At this time,
The subtraction circuit 305 subtracts the operand exponent values Xe and Ye to generate an absolute value (absolute value (Xe-Ye)) and a code value (code value (Xe-Ye)). At the same time, the shift signal generation circuit 304 detects whether or not each input operand is a normalized number, and the code value (X
s, Ys) and the subtraction execution signal sub are used to create a control signal that shifts the two input operand mantissa values to the left or right. In the left / right shift circuit 301, the shift signal generation circuit 304
Shift the two input operand mantissas to the right or left based on the control signal from. The output of the left / right shift circuit 301 is input to the swap circuit 302, where the input data is swapped based on the code value (code value (Xe-Ye)) output from the subtraction circuit 305, and the input data of the operand with a small exponent value is swapped. The mantissa value is input to the right barrel shift circuit 303, and the other operand mantissa value whose exponent value is not small is input to the adder / subtractor circuit 307. In the right barrel shift circuit 303,
The input value is shifted to the right by the absolute value (absolute value (Xe-Ye)) of the difference between the operand exponent values output from the subtraction circuit 305. In this way, the digit alignment process is executed.
【0069】第2に、加減算処理と丸め処理が加減算回
路307 で実行される。この加減算回路307 では、演算結
果の絶対値を出力する。これに、ついては特開平1-2053
28号公報に記載されている。Secondly, addition / subtraction processing and rounding processing are executed by the addition / subtraction circuit 307. The adder / subtractor circuit 307 outputs the absolute value of the calculation result. Regarding this, Japanese Patent Laid-Open No. 1-2053
No. 28 publication.
【0070】第3に、正規化処理について説明する。前
記第2の加減算処理、丸め処理と平行して、桁落ち量の
予測が、先行1検出回路311 ,PE308 を使用し実行され
る。そして予測された桁落ち量は、PE308 よりZae とし
て出力される。Thirdly, the normalization processing will be described. In parallel with the second addition / subtraction process and the rounding process, the digit loss prediction is executed by using the leading 1 detection circuit 311 and PE308. Then, the predicted amount of cancellation is output from PE308 as Zae.
【0071】左シフト回路309 では、PE308 より出力さ
れる予測された桁落ち量Zae を使用し、加減算回路307
の出力値を左シフトし出力する。また、同時に小数点よ
り上位1桁目の値を信号線L1に出力する。L1は、左
シフトした後の値が正規化されていなければ“0”であ
り、正規化されていれば“1”になる。もし、L1が
“0”であれば、予測された桁落ち量Zae は1だけ小さ
かったと言うことであるから、1桁左シフトする必要が
ある。これは、アライメント回路312 で実行される。The left shift circuit 309 uses the predicted digit cancellation amount Zae output from the PE 308, and uses the addition / subtraction circuit 307.
The output value of is shifted left and output. At the same time, the value of the first digit higher than the decimal point is output to the signal line L1. L1 is "0" if the value after left shift is not normalized, and becomes "1" if it is normalized. If L1 is "0", it means that the predicted digit cancellation amount Zae was smaller by 1, so it is necessary to shift left by one digit. This is done in the alignment circuit 312.
【0072】また、同時に、予測された桁落ち量Zae
は、減算回路310 にも入力され、減算回路310 において
Ze´-Zae とZe´-Zae-1 の2つの減算が同時に実行さ
れ、データ線L2、L3に出力される。そして、セレク
タ回路313 では、信号線L1の値が“0”であればZe´
-Zae-1 の減算結果を、信号線L1の値が“1”であれ
ばZe´-Zae の減算結果Zeを出力し、正規化処理が実現
される。At the same time, the predicted digit loss Zae
Is also input to the subtraction circuit 310, and in the subtraction circuit 310,
Two subtractions Ze'-Zae and Ze'-Zae-1 are simultaneously executed and output to the data lines L2 and L3. Then, in the selector circuit 313, if the value of the signal line L1 is “0”, Ze ′
The subtraction result of -Zae-1 is output as the subtraction result Ze of Ze'-Zae when the value of the signal line L1 is "1", and the normalization processing is realized.
【0073】以上本実施例の不動小数点加減算装置で
は、桁落ちした減算結果の正規化処理のために、仮数部
の加減算結果を求めるのと並行して、正規化のために必
要なシフト量を先行1検出回路311 とPE308 を使用し
て早期に予測することができるため、正規化処理を早く
実行することができる。もしアライメント回路312 を使
用しなければならなくなっても、このアライメント回路
は高速であるので、全体として高速な浮動小数点数加減
算装置を実現できる。As described above, the fixed-point addition / subtraction apparatus according to the present embodiment obtains the addition / subtraction result of the mantissa part in parallel with the shift amount required for the normalization for the normalization processing of the subtraction result with the digit cancellation. Since it is possible to make an early prediction by using the leading 1 detection circuit 311 and the PE 308, the normalization processing can be executed earlier. Even if the alignment circuit 312 has to be used, the alignment circuit is fast, so that a high-speed floating-point number adder / subtractor can be realized as a whole.
【0074】[0074]
【発明の効果】上述のごとく本発明によれば、先行1検
出回路により、減算時に生じる桁落ち量をオペランドの
桁数に関係なく一定時間で予測することができる。そし
て、これを用いて浮動小数点加減算装置を構成すること
により、仮数値減算時に、仮数値の減算と減算結果の桁
落ち数の予測が並列して実行できるため、演算所要時間
の少ない浮動小数点加減算装置を得ることができるとい
う効果が得られ、実用上極めて有用である。As described above, according to the present invention, the leading 1 detection circuit can predict the digit loss amount that occurs during subtraction in a constant time regardless of the number of digits of the operand. By constructing a floating-point addition / subtraction device using this, since the subtraction of the mantissa value and the prediction of the number of digits loss of the subtraction result can be executed in parallel at the time of the mantissa value subtraction, the floating-point addition / subtraction operation with a short calculation time The effect that the device can be obtained is obtained, which is extremely useful in practice.
【図1】本発明の一実施例である先行1検出回路のブロ
ック図である。FIG. 1 is a block diagram of a leading 1 detection circuit according to an embodiment of the present invention.
【図2】図1に示される先行1検出回路の論理図であ
る。FIG. 2 is a logic diagram of the leading one detection circuit shown in FIG.
【図3】本発明の一実施例の先行1検出回路を使用した
浮動小数点加減算装置の一実施例を示すブロック図であ
る。FIG. 3 is a block diagram showing an embodiment of a floating point addition / subtraction device using the leading 1 detection circuit of an embodiment of the present invention.
【図4】従来の浮動小数点加減算装置のブロック図であ
る。FIG. 4 is a block diagram of a conventional floating point addition / subtraction device.
101 冗長2進数生成回路 102 中間和中間桁上げ生成回路 103 スキャン値生成回路 104 先行1検出回路の各桁毎の構成要素 307 加減算回路 308 プライオリティエンコーダ 309 左バレルシフト回路 311 先行1検出回路 312 アライメント回路 X 被減数 Y 減数 Zsd 冗長2進数値 C 中間桁上げ S 中間和 Z スキャン値 101 Redundant binary number generation circuit 102 Intermediate sum Intermediate carry generation circuit 103 Scan value generation circuit 104 Components for each digit of leading 1 detection circuit 307 Addition / subtraction circuit 308 Priority encoder 309 Left barrel shift circuit 311 Leading 1 detection circuit 312 Alignment circuit X Subscript Y Y Subtraction Zsd Redundant Binary Value C Intermediate Carry S Intermediate Sum Z Scan Value
Claims (2)
j桁の2進数より構成される減数Y(i,jは自然数)
を、各桁毎に減算し、各桁が(−1,0,1)より構成
される冗長2進数値Zsdを生成する第1の手段と、前
記冗長2進数値Zsdの下位よりk桁目(kは自然数)
の冗長2進数値Zsdk と下位よりk+1桁目の冗長
2進数値Zsdk+1 を用い、Zsdk+1 =“1”または
“−1”であるときにCk =Zsdk となり、Zsd
k+1 =“0”であるときにCk =0となるように、式Z
sdk =2・Ck +Sk にしたがい、中間桁上げCk 、
中間和Sk を生成する第2の手段と、下位桁からの中間
桁上げCk-1 と中間和Skの各桁毎の加算結果が0のと
きに“0”、0以外のときに“1”という信号Zkを生
成する第3の手段を備えた先行1検出回路。1. A minuend X composed of an i-digit binary number and a subtraction Y composed of a j-digit binary number (i and j are natural numbers).
Is subtracted for each digit to generate a redundant binary value Zsd in which each digit is composed of (-1, 0, 1), and the k-th digit from the lower order of the redundant binary value Zsd. (K is a natural number)
Of the redundant binary value Zsdk and the redundant binary value Zsd k + 1 of the k + 1th digit from the lower order, C k = Zsd k when Zsd k + 1 = “1” or “−1”, and Zsd
When k + 1 = “0”, the formula Z is set so that Ck = 0.
According to sd k = 2 · C k + S k , the intermediate carry C k ,
Second means for generating an intermediate sum S k, when intermediate carry C k-1 and the addition result of each digit of the intermediate sum S k from the lower digit is zero "0", when a non-zero A leading 1 detection circuit comprising a third means for generating a signal Z k of "1".
符号部オペランドを有する浮動小数点形式の2つの被演
算データを加算または減算する浮動小数点加減算装置で
あって、桁合わせ処理された後の2つの仮数部オペラン
ドがそれぞれ入力される加減算回路および請求項1記載
の先行1検出回路と、前記加減算回路で減算を実行した
減算結果が入力される左バレルシフト回路と、前記先行
1検出回路から出力される数値が入力されて最上位から
の無効桁数を求めるプライオリティエンコーダとを備
え、前記プライオリティエンコーダの出力を用い、前記
左バレルシフト回路に入力された減算結果を左シフトす
るように構成した浮動小数点加減算装置。2. A mantissa part operand, an exponent part operand,
A floating-point addition / subtraction device that adds or subtracts two operand data in a floating-point format having a sign part operand, and an adder / subtractor circuit to which the two mantissa operands after digit alignment processing are input, respectively. The preceding 1 detection circuit described above, the left barrel shift circuit into which the subtraction result obtained by performing the subtraction in the addition / subtraction circuit is input, and the numerical value output from the preceding 1 detection circuit is input to set the number of invalid digits from the highest rank. A floating point adder / subtractor configured to shift the subtraction result input to the left barrel shift circuit to the left by using the output of the priority encoder.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4015601A JPH0731591B2 (en) | 1991-01-31 | 1992-01-31 | Leading 1 detection circuit and floating point addition / subtraction device |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3-10700 | 1991-01-31 | ||
JP1070091 | 1991-01-31 | ||
JP4015601A JPH0731591B2 (en) | 1991-01-31 | 1992-01-31 | Leading 1 detection circuit and floating point addition / subtraction device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0553765A true JPH0553765A (en) | 1993-03-05 |
JPH0731591B2 JPH0731591B2 (en) | 1995-04-10 |
Family
ID=26346022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4015601A Expired - Lifetime JPH0731591B2 (en) | 1991-01-31 | 1992-01-31 | Leading 1 detection circuit and floating point addition / subtraction device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0731591B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5831884A (en) * | 1994-12-02 | 1998-11-03 | Mitsubishi Denki Kabushiki Kaisha | Apparatus for performing arithmetic operation of floating point numbers capable of improving speed of operation by performing canceling prediction operation in parallel |
US11759376B2 (en) | 2013-08-27 | 2023-09-19 | The Procter & Gamble Company | Absorbent articles with channels |
US11911250B2 (en) | 2011-06-10 | 2024-02-27 | The Procter & Gamble Company | Absorbent structure for absorbent articles |
US11944526B2 (en) | 2013-09-19 | 2024-04-02 | The Procter & Gamble Company | Absorbent cores having material free areas |
US11957551B2 (en) | 2013-09-16 | 2024-04-16 | The Procter & Gamble Company | Absorbent articles with channels and signals |
-
1992
- 1992-01-31 JP JP4015601A patent/JPH0731591B2/en not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5831884A (en) * | 1994-12-02 | 1998-11-03 | Mitsubishi Denki Kabushiki Kaisha | Apparatus for performing arithmetic operation of floating point numbers capable of improving speed of operation by performing canceling prediction operation in parallel |
US11911250B2 (en) | 2011-06-10 | 2024-02-27 | The Procter & Gamble Company | Absorbent structure for absorbent articles |
US11759376B2 (en) | 2013-08-27 | 2023-09-19 | The Procter & Gamble Company | Absorbent articles with channels |
US11957551B2 (en) | 2013-09-16 | 2024-04-16 | The Procter & Gamble Company | Absorbent articles with channels and signals |
US11944526B2 (en) | 2013-09-19 | 2024-04-02 | The Procter & Gamble Company | Absorbent cores having material free areas |
Also Published As
Publication number | Publication date |
---|---|
JPH0731591B2 (en) | 1995-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8965945B2 (en) | Apparatus and method for performing floating point addition | |
KR100232962B1 (en) | Fused floating point multiply and accumulate unit with carry correction | |
JP4388543B2 (en) | 3-input floating-point adder / subtracter | |
JP4500358B2 (en) | Arithmetic processing apparatus and arithmetic processing method | |
US8166092B2 (en) | Arithmetic device for performing division or square root operation of floating point number and arithmetic method therefor | |
JP6309196B2 (en) | Partial product generator and method for polynomial operations | |
JP3609512B2 (en) | Computing unit | |
KR100241076B1 (en) | Floating- point multiply-and-accumulate unit with classes for alignment and normalization | |
JP2618374B2 (en) | Finding the position of the most significant digit | |
US5343413A (en) | Leading one anticipator and floating point addition/subtraction apparatus | |
US5282156A (en) | Leading one anticipator and floating point addition/subtraction apparatus employing same | |
JPH04283831A (en) | Divider | |
CN108694037B (en) | Apparatus and method for estimating shift amount when floating point subtraction is performed | |
JPH0520028A (en) | Mantissa part processing circuit of floating-point arithmetic unit for addition and subtraction | |
JPH0553765A (en) | Preceding one detecting circuit and floating point adder-subtractor | |
KR100331846B1 (en) | floating addition | |
KR101007259B1 (en) | Parity generation circuit, counter and counting method | |
JP5966768B2 (en) | Arithmetic circuit, arithmetic processing device, and control method of arithmetic processing device | |
JPS63167930A (en) | Floating point arithmetic unit | |
JP2752564B2 (en) | Leading one prediction device and floating point addition / subtraction device | |
JPH1040078A (en) | Preceding 0, 1 numeral predicting circuit and floating point arithmetic device and microprocessor and information processor | |
KR20010018956A (en) | effective simultaneous rounding method and floating point adder | |
JPH05100823A (en) | Floating point arithmetic system and its device | |
JPH05204606A (en) | Floating point arithmetic system and unit | |
JPS6371725A (en) | Operation processing device |