JPH01300338A - Floating point multiplier - Google Patents
Floating point multiplierInfo
- Publication number
- JPH01300338A JPH01300338A JP63132148A JP13214888A JPH01300338A JP H01300338 A JPH01300338 A JP H01300338A JP 63132148 A JP63132148 A JP 63132148A JP 13214888 A JP13214888 A JP 13214888A JP H01300338 A JPH01300338 A JP H01300338A
- Authority
- JP
- Japan
- Prior art keywords
- normalized
- numbers
- booth
- denormalized
- floating point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
〔発明の概要〕
正規化数の他に非正規化数も入力オペランドとする高速
浮動小数点乗算器に関し、
多次のブースのアルゴリズムを用いる場合の乗算器の遅
延時間を短くすることを目的とし、正規化数と非正規化
数を入力オペランドとし、3次以上のブースのアルゴリ
ズムを用いる浮動小数点乗算器において、非正規化数を
正規化数に変換する回路と、3倍数を含む倍数発生器を
並設し、入力オペランドが正規化数であればそれを倍数
発生器側へ、また非正規化数であればそれを変換回路へ
入力するセレクタを設けるよう構成する。[Detailed Description of the Invention] [Summary of the Invention] Regarding a high-speed floating point multiplier that uses non-normalized numbers as input operands in addition to normalized numbers, the delay time of the multiplier when using a multi-order Booth algorithm A circuit for converting a denormalized number into a normalized number in a floating point multiplier that takes normalized numbers and denormalized numbers as input operands and uses Booth's algorithm of degree 3 or higher, with the aim of shortening the number. Multiple generators including multiples are arranged in parallel, and if the input operand is a normalized number, a selector is provided for inputting it to the multiple generator side, and if it is a non-normalized number, inputting it to the conversion circuit.
本発明は、正規化数の他に非正規化数も入力オペランド
とする高速浮動小数点乗算器に関する。The present invention relates to a high-speed floating point multiplier that uses non-normalized numbers as input operands in addition to normalized numbers.
浮動小数点演算される数のビット長は最近長くなる傾向
にあり、倍精度64ビツト長などがよく使用される。ま
た演算数(入力オペランド)のフォーマットとしては、
IEEE標準フォーマットが使用されることが多い。Recently, the bit length of numbers used in floating point operations has tended to increase, and double-precision 64-bit lengths are often used. Also, the format of the operand (input operand) is:
IEEE standard formats are often used.
IEEE標準フォーマットでは数例えば0.00110
・・・・・・lは正規化して仮数部1.lO・・・・・
・lと、小数点のシフト量を示す指数部で表わし、仮数
部1.lO・・・・・・lの最初は1である。しかし0
.00・・・・・・とOが多数続き、指数部の全部を使
っても(それだけ小数点をシフトしても)まだ1が現わ
れない場合は、非正規化数とし、仮数部を0.0010
・・・・・・1などとし。In the IEEE standard format, the number is 0.00110, for example.
....l is normalized and the mantissa part is 1. lO...
・Represented by l and an exponent part indicating the shift amount of the decimal point, and a mantissa part 1. lO...The first value of l is 1. But 0
.. If there are many O's like 00... and 1 still does not appear even after using the entire exponent part (shifting the decimal point by that much), consider it as a denormalized number and set the mantissa part to 0.0010.
・・・・・・1 etc.
バイアスがかかった指数部を000・・・・・・0とす
る。Let the biased exponent part be 000...0.
更に小さい数では仮数部全部が0になるが、かかる数は
アンダーフローとして演算対象外とする。For even smaller numbers, the entire mantissa part becomes 0, but such numbers are treated as underflows and are excluded from calculations.
結局、非正規化数は正規化数より小さくアンダーフロー
より大きい数として例外的に現われる。演算器としては
正規化数しか扱わないものもあるが、正規化数と上記非
正規化数の両方を扱うものもあり、本発明は後者の演算
器に係るものである。After all, denormalized numbers exceptionally appear as numbers that are smaller than normalized numbers and larger than underflow. Some arithmetic units handle only normalized numbers, while others handle both normalized numbers and non-normalized numbers, and the present invention relates to the latter arithmetic unit.
非正規化数も扱う演算器では、演算に当って演算対象(
入力オペランド)が正規化数か非正規化数かを知り、そ
れに応じた処理をしなければならない。ところでIEE
E標準フォーマントの入力オペランドは仮数部を見ただ
けでは正規化数か非正規化数かは分らない。これは、仮
数部の先頭(上記の1.またはO,)は隠れビットとし
て仮数部から除いてしまうことによる。しかし、正規化
数か非正規化数かは指数部を見れば分り、指数部が1以
上なら正規化数、オール0なら非正規化数である。In arithmetic units that also handle denormalized numbers, the operation target (
It is necessary to know whether the input operand) is a normalized number or a denormalized number, and process it accordingly. By the way, IEE
It is not possible to tell whether the input operand of the E standard formant is a normalized number or a non-normalized number just by looking at the mantissa part. This is because the beginning of the mantissa (1. or O, above) is removed from the mantissa as a hidden bit. However, you can tell whether it is a normalized number or a non-normalized number by looking at the exponent part; if the exponent part is 1 or more, it is a normalized number, and if it is all 0, it is a non-normalized number.
入力オペランドのビット長の増加に従って乗算器の乗算
アレイ (又はトリー)は、多次のブースのアルゴリズ
ムを用いることで高速化が図れる。As the bit length of the input operand increases, the multiplier array (or tree) of multipliers can be made faster by using a multi-order Booth algorithm.
また入力オペランドに非正規化数を含む場合、従来方式
では入力オペランドをランプ数変換回路に入力し、その
出力に対し乗算処理を行なうが、これでは遅延が大にな
る2本発明はこの点を改善して高速化を図るものである
。Furthermore, when the input operand includes a denormalized number, the conventional method inputs the input operand to a ramp number conversion circuit and multiplies its output, but this results in a large delay.The present invention solves this problem. The aim is to improve and speed up the process.
浮動小数点の乗算を行う場合、一般に仮数部のビット幅
が大きくなるとブースのアルゴリズムが使用されること
が多い。これは例えば2次のブースのアルゴリズムを使
用した場合、乗算アレイまたはトリーのハード量が約1
/2になり、伝播遅延時間も約1/2になるためである
。When performing floating point multiplication, Booth's algorithm is generally used when the bit width of the mantissa becomes large. This means that, for example, when using the second-order Booth algorithm, the hard amount of the multiplying array or tree is approximately 1
/2, and the propagation delay time is also approximately 1/2.
さらに仮数部のビット数が増えた場合には3次のブース
のアルゴリズムを使用するのがよく、これにより乗算ア
レイまたはトリーのハード量を2次のブースを使用した
場合の約2/3にすることができる。しかし、実際には
64ビット程度の演算では3次のブースのアルゴリズム
を使用せず2次のブースを使用することが多い。これは
、2次のブースのアルゴリズムでは被乗数と被乗数の2
倍の数が必要なのに対して、3次のブースのアルゴリズ
ムでは被乗数と被乗数の2.3,4.倍の数が必要なた
めである。2進数の場合、ある数の2倍の数は1ビツト
の左シフト、4倍の数は2ビツトの左シフトで得られる
ためハード量、遅延の増加は問題にならないが、3倍の
数を得るためには被乗数と被乗数を左に1ビツトシフト
した数を加算する必要があり、遅れが生じる。このため
、乗算アレイまたはトリーの遅延が短くなっても、被乗
数オペランドの3倍数の生成時間を加えると、全体の遅
延は2次のブースのアルゴリズムを使用した場合よりも
大きくなる傾向にある。Furthermore, when the number of bits in the mantissa increases, it is better to use a cubic Booth algorithm, which reduces the hard amount of the multiplication array or tree to about 2/3 of that when using a quadratic Booth. be able to. However, in reality, in calculations of about 64 bits, the cubic Booth algorithm is often not used, but the quadratic Booth algorithm is used. In the quadratic Booth algorithm, this is the multiplicand and the 2 of the multiplicand.
Whereas the cubic Booth algorithm requires a multiplicand of 2.3, 4. This is because twice the number is required. In the case of binary numbers, the number twice as large as a certain number can be obtained by shifting 1 bit to the left, and the number four times the number can be obtained by shifting 2 bits to the left, so the increase in hardware and delay is not a problem. To obtain this, it is necessary to add the multiplicand and a number obtained by shifting the multiplicand one bit to the left, which causes a delay. Therefore, even though the delay of the multiplier array or tree is reduced, the overall delay tends to be larger than using the second-order Booth algorithm when adding the generation time of three times the multiplicand operand.
また前述のように最近は浮動小数点のフォーマットとし
てはrEEEフォーマットが使用されることが多い、
IEEEフォーマットでは例えば32ビツトに対する倍
精度フォーマットは、符号ピントが1ビツト、指数部が
11ビツト、仮数部が52ピント、計64ビットで表現
される。正規化数の場合には仮数部にはかくれビット1
があり、必ず、l。Also, as mentioned above, the rEEE format is often used as a floating point format these days.
In the IEEE format, for example, the double-precision format for 32 bits is expressed with 1 bit for the sign, 11 bits for the exponent, and 52 bits for the mantissa, for a total of 64 bits. In the case of normalized numbers, the mantissa has a hidden bit of 1
There is always l.
×××××のように表現され、指数部はバイアスがかか
っており正の数しか取りえない、また、IEEEフォー
マットでは0(アンダーフロー)と最小の正規化数の間
に非正規化数が存在し、非正規化数はバイアスがかかっ
た指数部が0、仮数部はがくれビットが0で0.×××
××で表現される。It is expressed as exists, and a denormalized number has a biased exponent part of 0, a mantissa part with a loose bit of 0, and 0. ×××
It is expressed as XX.
また前述のように、IEEEフォーマットの乗算を行う
場合には、この非正規化数が問題となる。正規化/非正
規化でみると入力オペランドの種類としては、2つのオ
ペランド(X、Y)がともに正規化数の場合、1つが正
規化数で他の1つが非正規化数の場合、2つとも非正規
化数の場合が考えられる。Further, as described above, when performing multiplication in IEEE format, this denormalized number poses a problem. In terms of normalization/denormalization, the types of input operands are: when two operands (X, Y) are both normalized numbers, when one is a normalized number and the other is a denormalized number, The case of non-normalized numbers can also be considered.
非正規化数のオペランドを含む乗算を行う場合にはその
まま乗算すると仮数部が桁落ちするため通常は非正規化
数をラップ数に変換してから乗算を行う、ランプ数とは
非正規化数の仮数部を正規化しくかくれビットを1とし
)、指数部を2の補数表示として負数を表現した数であ
る。したがって、乗算の前処理としてラップ数変換回路
が必要となる。第3図に、3次のブース・アルゴリズム
を使い、IEEEフォーマットの非正規化数を扱うこと
のできる浮動小数点乗算器の一般的なブロック図を示す
。When performing multiplication that includes operands that are denormalized numbers, the mantissa will lose digits if the multiplication is performed as is, so the denormalized number is usually converted to a wrap number before multiplication is performed.A ramp number is a denormalized number. The mantissa part is normalized and the hidden bit is set to 1), and the exponent part is expressed as a two's complement number to represent a negative number. Therefore, a wrap number conversion circuit is required as preprocessing for multiplication. FIG. 3 shows a general block diagram of a floating point multiplier that uses the cubic Booth algorithm and can handle denormalized numbers in IEEE format.
図示のようにこの方式ではX、Yオペランドをランプ数
変換回路11に加え、非正規化数ならう・ノブ数変換を
する。オペランドが正規化数か非正規化数かはオペラン
ドチエツクフラグFLGが示すから、これにより上記処
理が可能である。非正規化数をラップ数変換すると指数
部は負になる(正規化数では指数部が負にならないよう
にバイアスするが、非正規化数はこのバイアスでは足り
ず、負になる)が、これは指数部加算を減算(負の加算
)とするだけで済む。なお指数部が負の正規化数をラッ
プ数という。As shown in the figure, in this method, the X and Y operands are added to the lamp number conversion circuit 11, and the non-normalized number conversion/knob number conversion is performed. Since the operand check flag FLG indicates whether the operand is a normalized number or a non-normalized number, the above processing is possible. When converting a denormalized number to a wrapped number, the exponent part becomes negative (normalized numbers are biased so that the exponent part does not become negative, but this bias is not enough for denormalized numbers and it becomes negative), but this , it is sufficient to simply change the addition of the exponent part to subtraction (negative addition). Note that a normalized number with a negative exponent part is called a wrap number.
ラップ数変換回路11を通ったX、Yオペランドの指数
部ez、ey は指数部加算器12へ加えられ、仮数部
Mx、Myは3倍数発生器14.3次ブースのデコーダ
13.3次ブースのセレクタ15、乗算トリー16、お
よび部分積加算器17で構成される乗算部に加えられて
乗算され、積2−X−Yの仮数部および指数部M o
* e oが求められる。The exponent parts ez and ey of the X and Y operands that have passed through the wrap number conversion circuit 11 are added to the exponent part adder 12, and the mantissa parts Mx and My are added to the triple generator 14.3rd order Booth decoder 13.3rd order Booth The mantissa part and the exponent part M o of the product 2-X-Y are added to the multiplier section composed of the selector 15, the multiplication tree 16, and the partial product adder 17, and are multiplied.
* eo is required.
3次ブースのセレクタ15へは、仮数部Mxと、3倍数
発生器14からの該Mxの3倍数と、2倍数および4倍
数(これらは15でシフトして入力することによって発
生する)とが入力され、これらが、3次ブースのデコー
ダ13の出力により選択されて乗算トリー16へ入力さ
れ、最終部分積が求められて、それらが加算器17で加
算され、仮数部Moとなる。指数部加算器12ではオベ
ラ゛ンドX、Yの指数部ez、eyの加算または減算が
行なわれ、その結果が指数部eoになる。The selector 15 of the tertiary booth receives the mantissa part Mx, the triple of Mx from the triple generator 14, and the double and quadruple numbers (these are generated by shifting by 15 and inputting them). These are selected by the output of the tertiary Booth decoder 13 and input to the multiplication tree 16, and the final partial products are determined and added by the adder 17 to form the mantissa part Mo. The exponent part adder 12 adds or subtracts the exponent parts ez and ey of the operands X and Y, and the result becomes the exponent part eo.
2次のブースのアルゴリズムを表1に、また3次のブー
スのアルゴリズムを表2に示す。ここで、Xを被乗数、
Yを乗数とする。またfuncはブースのセレクタで選
択されるべき数を示す、つまり、Xは被乗数そのもの、
2Xは被乗数の2倍数(1ビツト左ヘシフトした数)、
3Xは被乗数の3倍数である。The second-order Booth algorithm is shown in Table 1, and the third-order Booth algorithm is shown in Table 2. Here, X is the multiplicand,
Let Y be a multiplier. Also, func indicates the number to be selected with the booth selector, that is, X is the multiplicand itself,
2X is twice the multiplicand (number shifted 1 bit to the left),
3X is three times the multiplicand.
表1
Y−Σ(y2i ” )’21+1−y2i+2 )・
2表2
Y=Σ(yji +ys++t +23’si+2”
3i+2 )・2この第3図の乗算回路の遅延時間は乗
算器本体の遅延に3倍数発生器とラップ数変換回路の遅
延を加えた遅延時間となる。前に述べたようにこの回路
ブロックのハード量は入力オペランド64ビツト長程度
の場合、2次のブースの乗算器よりも少なくなるが、全
体の遅延時間は大きくなる傾向にある。Table 1 Y−Σ(y2i ” )'21+1−y2i+2 )・
2Table 2 Y=Σ(yji +ys++t +23'si+2"
3i+2).2 The delay time of the multiplication circuit shown in FIG. 3 is the delay time of the multiplier itself plus the delay of the triple generator and the wrap number conversion circuit. As mentioned above, the hardware amount of this circuit block is smaller than that of a second-order Booth multiplier when the input operand is approximately 64 bits long, but the overall delay time tends to be large.
本発明はこの点を改善し、多次のブースのアルゴリズム
を用いる場合の乗算器の遅延時間を短くすることを目的
とするものである。The present invention aims to improve this point and shorten the delay time of the multiplier when using a multi-order Booth algorithm.
第1図に示すように本発明では、ラップ数変換回路11
と3倍数発生器14を並列に置き、またセレクタ18を
設け、これにオペランドチエツクフラグFLGを入力す
る。他は第3図と同じで、12は指数部加算器、13は
3次ブースのデコーダ、15は3次ブースのセレクタ、
16は乗算トリー、17は部分積加算器である。As shown in FIG. 1, in the present invention, the wrap number conversion circuit 11
and a triple generator 14 are placed in parallel, and a selector 18 is provided, to which an operand check flag FLG is input. The rest is the same as in Figure 3, 12 is an exponent adder, 13 is a cubic Booth decoder, 15 is a cubic Booth selector,
16 is a multiplication tree, and 17 is a partial product adder.
入力オペランドX、Yには、正規化数の他に非正規化数
も認める。浮動小数点のフォーマントにはIEEE標準
フォーマントを予定するが、これ以外のフォーマントで
もよい。IEEE標準フォーマント以外のフォーマント
のときは、その非正規化数を正規化数に変換する回路を
ラップ数変換回路11の代りに用いる。For input operands X and Y, not only normalized numbers but also non-normalized numbers are allowed. The floating point format is expected to be an IEEE standard format, but other formats may be used. In the case of a formant other than the IEEE standard formant, a circuit for converting the non-normalized number into a normalized number is used instead of the wrap number conversion circuit 11.
オペランドX、Yが共にIEEE非正規化数の場合、積
z=x −yはアンダフローになり、演算対象外である
。またオペランドX、Yが共に正規化数の場合は、ラッ
プ数変換は不要である。従ってラップ数変換回路が必要
なのはオペランドX、Yの一方がIEEE非正規化数、
他方がIEEE正規化数の場合だけである0本発明は該
一方の非正規化数(DNN)をラップ数変換回路11へ
加え、他方の正規化数(NN)を3倍数発生器14と3
次ブースのセレクタ15に加える。この振分けをセレク
タ18が行なう。後は第3図と同様であり、部分積加算
器17と指数部加算器12より、積2の仮数部Moと指
数部eoが得られる。When operands X and Y are both IEEE denormalized numbers, the product z=x−y underflows and is not subject to calculation. Further, if both operands X and Y are normalized numbers, wrap number conversion is not necessary. Therefore, a wrap number conversion circuit is required if one of the operands X and Y is an IEEE denormalized number.
The present invention applies only when the other is an IEEE normalized number.The present invention adds one of the denormalized numbers (DNN) to the wrap number conversion circuit 11, and adds the other normalized number (NN) to the triple generators 14 and 3.
Add it to selector 15 in the next booth. The selector 18 performs this distribution. The rest is the same as in FIG. 3, and the mantissa part Mo and exponent part eo of product 2 are obtained from the partial product adder 17 and the exponent part adder 12.
この回路では、オペランドXが正規化数でオペランドY
が非正規化数の場合は図示のようにX。In this circuit, operand X is a normalized number and operand Y
If is a non-normalized number, use X as shown in the figure.
Yが割当てられるが、オペランドXが非正規化数でオペ
ランドYが正規化数の場合は図示とは反対にX、Yが割
当てられる。これは、前者ではX・Yの乗算が行なわれ
、後者ではY−Xの乗算が行なわれることになるが、X
−Y=Y −Xであるから問題でない。However, if operand X is a non-normalized number and operand Y is a normalized number, then X and Y are assigned, contrary to what is shown in the figure. This means that in the former case, multiplication by X and Y is performed, and in the latter case, multiplication by Y-X is performed, but
-Y=Y-X, so there is no problem.
また−船釣に入力オペランドは入力時に正規化数、非正
規化数のチエツクをおこなわなければならないので、ど
ちらのオペランドが非正規化数かのフラグは得られ、こ
のフラグを前記フラグFLGとすることができる。Also, since it is necessary to check whether the input operand is a normalized number or a non-normalized number at the time of input, a flag indicating which operand is a non-normalized number can be obtained, and this flag is set as the flag FLG. be able to.
この回路では3倍数発生とラップ数変換が同時に行なわ
れるので、第3図ではこれらの処理の時間の和が所要遅
延時間であったものが、本発明ではランプ数変換回路ま
たは3倍数発生回路の各遅延時間のどちらか大きい方と
なる。In this circuit, triple generation and wrap number conversion are performed at the same time, so in Fig. 3, the sum of these processing times is the required delay time, but in the present invention, the required delay time is The larger of each delay time will be used.
正規化数どうしの乗算の場合にはラップ数変換は必要な
く、変換回路11はスルー状態になる。In the case of multiplication between normalized numbers, wrap number conversion is not necessary and the conversion circuit 11 is in a through state.
しかし、乗算器のサイクルタイムは最大の遅延時間で決
まるから、正規化数×非正規化数の場合のそれになる。However, since the cycle time of the multiplier is determined by the maximum delay time, it is the same as that in the case of normalized number x non-normalized number.
第2図に本発明の実施例を示す、最近の傾向として演算
のスルーブツトを向上させるために浮動小数点乗算器は
パイプライン構成とすることが多(、本発明もパイプラ
イン構成としたときにより大きな利点が得られる。FIG. 2 shows an embodiment of the present invention.As a recent trend, floating-point multipliers are often configured in a pipeline configuration in order to improve the throughput of operations (and the present invention also has a Benefits can be obtained.
本実施例は第1パイプライン・ステージとして、ラップ
数変換回路11と3倍数発生器14、第2パイプライン
・ステージとして乗算トリー16、ブースのデコーダ1
3、セレクタ15等でパイプラインを切った場合である
。従来は2次のブース・アルゴリズムを使用するか、第
3図の構成の3次ブース構成でパイプライン化していた
わけであるが、本実施例と比較すると2次のブースの乗
算器に対しては第2ステージの遅延が小さ(、従来の3
次ブースの乗算器に対しては第1ステージの遅延が小さ
くなる。パイプライン処理は、クロックで各レジスタ間
をデータが転送して行なわれ、最も処理の遅いステージ
が律速する。第2図では演算部のステージ2が高速化さ
れるので、前処理部のステージ1が律速となり、これも
従来方式より高速化され、従って全体として一層の高速
化が可能である。In this embodiment, the first pipeline stage includes a wrap number conversion circuit 11 and a triple generator 14, and the second pipeline stage includes a multiplication tree 16 and a Booth decoder 1.
3. This is a case where the pipeline is cut off using the selector 15 or the like. Conventionally, a second-order Booth algorithm was used or pipelined using a third-order Booth configuration as shown in Figure 3, but compared to this embodiment, the second-order Booth multiplier is Second stage delay is small (conventional 3
The first stage delay is reduced for the next Booth multiplier. Pipeline processing is performed by transferring data between registers using a clock, and the slowest processing stage determines the speed. In FIG. 2, stage 2 of the arithmetic unit is speeded up, so stage 1 of the preprocessing unit becomes rate-determining, and this is also faster than the conventional system, so that the overall speed can be further increased.
本実施例のステージ1の遅延時間は3倍数発生回路とラ
ップ数変換回路の遅延の内でどちらか大きい方となるが
オペランド長が64ビット程度の場合はこれらの回路の
遅延はほぼ同じ(らいになるため従来例と比較して約1
/2の値になると考えられる。また第2ステージの遅延
は3次ブース・デコーダ+3次ブース・セレクタ+3次
ブースの乗算トリーの遅延となり、−船釣に言って2次
のブースの乗算器と比較して約2/3の遅延時間となる
。The delay time of stage 1 in this embodiment is the larger of the delays of the triple generation circuit and the wrap number conversion circuit, but if the operand length is about 64 bits, the delays of these circuits are almost the same ( Therefore, it is about 1 compared to the conventional example.
It is thought that the value will be /2. Also, the delay in the second stage is the delay of the tertiary booth decoder + tertiary booth selector + tertiary booth multiplication tree, which is approximately 2/3 of the delay compared to the 2nd booth multiplier in boat fishing terms. It's time.
本発明は3次以上のブースのアルゴリズムを用いる浮動
小数点乗算器にも適用できる。たとえば4次15次のブ
ースのアルゴリズムを用いる場合には、倍数としてはそ
れぞれ0〜8倍10〜16倍の数が必要となる。この中
でシフト処理で発生できない数はそれぞれ、3倍、5倍
、7倍/3倍。The present invention can also be applied to floating point multipliers that use Booth's algorithm of order three or higher. For example, when using the 4th order and 15th order Booth algorithm, the multiples must be 0 to 8 times and 10 to 16 times, respectively. Of these, the numbers that cannot be generated by shift processing are 3x, 5x, and 7x/3x, respectively.
5倍、7倍、9倍、11倍、13倍、15倍の数であり
、これらは3倍数と同様にシフト処理+被乗算数(X)
の加算で得られる。そこでたとえば4次のブースを使用
する場合には、第1図の×3発生器14と並列に×5及
び×7発生器を接続しこの出力を15セレクタにて選択
することで実施することができる。なおこの場合の×5
.x7発生器の遅延時間は×3発生器の遅延とほぼ同じ
である。The numbers are 5 times, 7 times, 9 times, 11 times, 13 times, and 15 times, and these are the same as 3 times, shift processing + multiplicand (X)
It can be obtained by adding . Therefore, for example, when using a 4th order booth, it can be implemented by connecting ×5 and ×7 generators in parallel with ×3 generator 14 in Fig. 1 and selecting the output with selector 15. can. In this case, ×5
.. The delay time of the x7 generator is approximately the same as the delay of the x3 generator.
以上説明したように本発明にれば、3倍数発生器と正規
化数に変換する回路とを並行動作させるので、多次のブ
ースのアルゴリズムを用いる乗算器の遅延時間を短くす
ることができる。As described above, according to the present invention, since the triple generator and the circuit for converting into normalized numbers operate in parallel, the delay time of the multiplier using the multi-order Booth algorithm can be shortened.
第1図は本発明の原理説明図、
第2図は本発明の実施例を示すブロック図、第3図は従
来例の説明図である。
第1図でX、Yは入力オペランド、18はセレクタ、1
1は非正規化数を正規化数に変換する回路、14は倍数
発生器である。FIG. 1 is an explanatory diagram of the principle of the present invention, FIG. 2 is a block diagram showing an embodiment of the present invention, and FIG. 3 is an explanatory diagram of a conventional example. In Figure 1, X and Y are input operands, 18 is a selector, and 1
1 is a circuit for converting a non-normalized number into a normalized number, and 14 is a multiple generator.
Claims (1)
以上のブースのアルゴリズムを用いる浮動小数点乗算器
において、 非正規化数を正規化数に変換する回路(11)と、3倍
数を含む倍数発生器(14)を並設し、入力オペランド
(X、Y)が正規化数であればそれを倍数発生器(14
)側へ、また非正規化数であればそれを変換回路(11
)へ入力するセレクタ(18)を設けたことを特徴とす
る浮動小数点乗算器。[Claims] 1. A circuit for converting a denormalized number into a normalized number in a floating point multiplier that takes a normalized number and a denormalized number as input operands and uses Booth's algorithm of degree 3 or higher (11 ) and a multiple generator (14) containing triples are installed in parallel, and if the input operands (X, Y) are normalized numbers, they are sent to the multiple generator (14).
) side, or if it is a non-normalized number, convert it to the conversion circuit (11
) A floating point multiplier characterized in that it is provided with a selector (18) for inputting to the input signal.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63132148A JPH01300338A (en) | 1988-05-30 | 1988-05-30 | Floating point multiplier |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63132148A JPH01300338A (en) | 1988-05-30 | 1988-05-30 | Floating point multiplier |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01300338A true JPH01300338A (en) | 1989-12-04 |
Family
ID=15074480
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63132148A Pending JPH01300338A (en) | 1988-05-30 | 1988-05-30 | Floating point multiplier |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01300338A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0474219A (en) * | 1990-07-17 | 1992-03-09 | Toshiba Corp | High speed multiplier |
| JPH064271A (en) * | 1992-06-17 | 1994-01-14 | Mitsubishi Electric Corp | Multiplier |
-
1988
- 1988-05-30 JP JP63132148A patent/JPH01300338A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0474219A (en) * | 1990-07-17 | 1992-03-09 | Toshiba Corp | High speed multiplier |
| JPH064271A (en) * | 1992-06-17 | 1994-01-14 | Mitsubishi Electric Corp | Multiplier |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Mohan et al. | Residue number systems | |
| US6099158A (en) | Apparatus and methods for execution of computer instructions | |
| EP0421092B1 (en) | Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier | |
| US5184318A (en) | Rectangular array signed digit multiplier | |
| JPH02196328A (en) | Floating point computing apparatus | |
| GB2341702A (en) | Floating-point multiply-accumulate unit | |
| US5144576A (en) | Signed digit multiplier | |
| JPH04283831A (en) | Divider | |
| US5177703A (en) | Division circuit using higher radices | |
| US7921149B2 (en) | Division and square root arithmetic unit | |
| US20040010536A1 (en) | Apparatus for multiplication of data in two's complement and unsigned magnitude formats | |
| US4677583A (en) | Apparatus for decimal multiplication | |
| US4823300A (en) | Performing binary multiplication using minimal path algorithm | |
| JPH04355827A (en) | Square root calculation device | |
| JP3306497B2 (en) | Rounding circuit in floating point multiplier | |
| JP3660075B2 (en) | Dividing device | |
| JPH01300338A (en) | Floating point multiplier | |
| US7003540B2 (en) | Floating point multiplier for delimited operands | |
| JPH04172526A (en) | Floating point divider | |
| JP3132436B2 (en) | Floating-point multiply-accumulate unit | |
| JPH0831024B2 (en) | Arithmetic processor | |
| Kumar et al. | Simulation and synthesis of 32-bit multiplier using configurable devices | |
| Gonzalez-Navarro et al. | A study of decimal left shifters for binary numbers | |
| JP2777265B2 (en) | High radix square root arithmetic unit | |
| Fraser et al. | An adaptive digital signal processor based on the residue number system |