JPH0283728A - Floating point multiplier - Google Patents

Floating point multiplier

Info

Publication number
JPH0283728A
JPH0283728A JP23716188A JP23716188A JPH0283728A JP H0283728 A JPH0283728 A JP H0283728A JP 23716188 A JP23716188 A JP 23716188A JP 23716188 A JP23716188 A JP 23716188A JP H0283728 A JPH0283728 A JP H0283728A
Authority
JP
Japan
Prior art keywords
exponent
multiplier
register
exponent part
mantissa
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP23716188A
Other languages
Japanese (ja)
Inventor
Shoji Kume
久米 正二
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP23716188A priority Critical patent/JPH0283728A/en
Priority to DE19893931545 priority patent/DE3931545A1/en
Publication of JPH0283728A publication Critical patent/JPH0283728A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49936Normalisation mentioned as feature only

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

PURPOSE:To improve multiplying speed by attaining the multiplication with only a final normalization without normalizing a multiplier and a multiplicand and simultaneously deciding the overflow and underflow states via a 1-byte addition/subtraction unit. CONSTITUTION:A multiple of an appropriate multiplicand is selected 50 out of a register 30 based on the value of the least significant 4 bits of a register 40 and added 21 with the value obtained by shifting right a register 10 by 4 bits. These added values are set at the register 10. The value obtained by shifting right the register 10 by 4 bits via a shift circuit 20 is set at a register 11 with the least significant 4 bits of the register 10 used as a right shift carry. The multiplier of the register 40 is shifted right by 4 bits by a shifter 60. This process is applied to all digits of the multiplier and the mantissas of the intermediate products are stored in the registers 10 and 11. The multipliers and multiplicands stored in the registers 70 and 80 undergo the addition 90 and the correction of -64 via an exponent part. The results of these addition and correction are set at the register 80 and corrected with normalization. Then the product exponent part of the register 80 is merged with the product mantissa parts of the registers 10 and 11 for acquisition of a product.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデジタル計算機の浮動小数点乗算装置に関し、
特に指数部のオーバーフローまたはアンダーフローの検
出と積の算出を高速に行う乗算装置に関する。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a floating point multiplication device for a digital computer;
In particular, the present invention relates to a multiplication device that quickly detects overflow or underflow of an exponent and calculates a product.

〔従来の技術〕[Conventional technology]

従来の浮動小数点乗算では、浮動小数点数で表現された
乗数と被乗数のそれぞれについて、仮数部の最上位桁に
ゼロでない値が入るまで桁単位で左シフトし、該シフト
桁数を指数部から減する正規化を行ってから浮動小数点
乗算、すなわち、指数部の加算と仮数部の乗算が行われ
、この結果求まった中間積の仮数部の最」−桁がゼロで
ある場合には、左へ1桁シフ1〜し、中間積の指数部を
1だけ減している。このため、計最大3回のシフト演算
と指数部の減算が必要とされる。
In conventional floating-point multiplication, the multiplier and multiplicand, both expressed as floating-point numbers, are shifted to the left by digits until the most significant digit of the mantissa contains a non-zero value, and the number of shifted digits is subtracted from the exponent. After normalization, floating-point multiplication, that is, addition of exponents and multiplication of mantissas, is performed, and if the most significant digit of the mantissa of the resulting intermediate product is zero, it is moved to the left. A 1-digit shift is performed, and the exponent part of the intermediate product is decreased by 1. Therefore, a maximum of three shift operations and subtraction of the exponent part are required.

また、乗算結果の指数オーバーフロー、指数アンダーフ
ローを判定する場合に1〜7ビツ1−の指数部の」〕位
に2ビット拡大して9ピツI〜幅として指数部を演算し
、9ヒソj−のうちの上位2ヒソ1への値を用いて判定
を行っている。このため、乗算の指数部演算は1バイト
幅では足らす、4ハイド幅の演算器を用いて演算するた
め、種々のオーバーヘッドがか\る。以下、具体例につ
いて説明する。
In addition, when determining exponent overflow or underflow of the multiplication result, the exponent part is expanded by 2 bits to the ``] place of the exponent part of 1 to 7 bits 1-, and the exponent part is calculated as 9 bits I~ width. The determination is made using the values for the top two hiso1 of -. For this reason, the exponent part calculation of multiplication is performed using a 4-hide width arithmetic unit, which is sufficient for 1 byte width, which incurs various overheads. A specific example will be explained below.

正規化7.%動小数点は政敵か止か負かを刀くず符号、
指数部、仮数部からなる。以上、符号はlビットてOは
止、]は負を示し、指数部は7ヒノI〜でエフセス64
表現で表わされ、仮数部は24ピノl〜である浮動小数
点数を例にとる。第2図はエフセス64表現の具体例で
ある。
Normalization 7. % The floating decimal point is a sword symbol for political opponents, defeat or defeat,
It consists of an exponent part and a mantissa part. Above, the sign is l bit and O is stop, ] indicates negative, and the exponent part is 7 hino I ~ and Fcess is 64.
Let us take as an example a floating point number represented by the following expression, whose mantissa is 24 pinots. FIG. 2 is a specific example of FCS64 expression.

指数演算では、乗数、被乗数をそれぞれ右に24ビット
シフ1へしてワークレジスタWKO,WK1に格納する
。こうすることにより、指数部はワークレジスタの右端
に格納され、その」1位3バイ1〜にはセロか格納され
る。その後、4バイ1〜幅加算器にてWKO+WK土を
行い、その結果をWN2に格納する。−・方、仮数部の
乗算を行い、その結果について正規化が必要かチエツク
し、必要ならば積の仮数を左へ1桁シフ1〜すると\も
に、WN2−1を実行する。このときの指数部(すなわ
ちWN2の値)のとりうる値を第3図に示す。第3図か
らWN2の第233ヒノト力叫のとき指数アンターフロ
ーと判定し、第23ビットかOでかつ第24ヒノ1−が
1のとき指数オーバーフローと判定すればよい3、 なお、浮動小数点演算として関連するものには、例えば
特開昭62−49540号公報が挙げられる。1 〔発明が解決しようとする課題〕 :3 −4−記従来技術は、浮動小数点乗算処理に、1いて、
正規化を最大3回行い、かつ指数オーバーフロー指数ア
ンダーフロー判定のため4バイト幅加算器を使用するの
で、指数部を例えば右に24ピッl−もシフl−する必
要があり、演算スピード向−1−のネックとなっている
In the exponent operation, the multiplier and multiplicand are each shifted to the right by 24 bits and stored in work registers WKO and WK1. By doing this, the exponent part is stored at the right end of the work register, and a cello is stored in the 1st place 3by1~. Thereafter, WKO+WK is performed using a 4-by-1 width adder, and the result is stored in WN2. On the other hand, multiply the mantissa parts, check whether normalization is necessary for the result, shift the mantissa of the product by one digit to the left if necessary, and execute WN2-1. FIG. 3 shows possible values of the exponent part (ie, the value of WN2) at this time. From Figure 3, it is determined that there is an exponent underflow when the 233rd bit of WN2 is 0, and when the 23rd bit is O and the 24th bit is 1, it is determined that there is an exponent overflow3. In addition, floating point arithmetic Related publications include, for example, Japanese Patent Laid-Open No. 62-49540. 1 [Problem to be solved by the invention]: The prior art described in 3-4- has the following problems in floating point multiplication processing:
Since normalization is performed up to three times and a 4-byte wide adder is used to determine exponent overflow and exponent underflow, it is necessary to shift the exponent part by, for example, 24 pips to the right, which improves calculation speed. This is the bottleneck for 1-.

本発明の目的は、浮動小数点乗算における演算スピード
を向1−させることにある。
An object of the present invention is to improve the calculation speed in floating point multiplication.

〔課題を解決するためのF段〕[F stage for solving problems]

−1−記目的を達成するために、本発明は乗数と被乗数
のそれぞれの指数部の上位に1ピツI〜の指数拡張部を
イ・1加した長さの演算幅を持つ指数部演算用加減算器
と、乗数と被乗数のそ扛それの仮数部を入力とし、乗数
と被乗数のそれぞれの仮数部のデータ幅の和以上の出力
幅で乗数と被乗数の積を丸めることなく出力する仮数部
演算用乗算器と、−1−記仮数部演算用乗算器の出力幅
と同しかそれ以−1−の演算幅をもつシフタと、−1−
記仮数部演算用乗3つ器の出力の先頭から連続するゼロ
の桁数を検出する回路と、1−記指数部演算用加減算器
の出力の第Oビットと第1ピツ1への値の排他的論理和
を出力する回路を設ける。
In order to achieve the object described in (1), the present invention provides an exponent part calculation having a length of an exponent extension part of 1 pixel I to the upper part of each exponent part of a multiplier and a multiplicand. A mantissa operation that takes an adder/subtractor and the mantissa parts of the multiplier and multiplicand as input, and outputs the product of the multiplier and multiplicand without rounding, with an output width that is greater than or equal to the sum of the data widths of the mantissa parts of each of the multiplier and multiplicand. a shifter having an arithmetic width equal to or greater than the output width of the multiplier for -1- storage mantissa operations, and -1-
A circuit for detecting the number of consecutive zero digits from the beginning of the output of the triple multiplier for calculating the mantissa part, and a circuit for detecting the number of consecutive zero digits from the beginning of the output of the triple multiplier for calculating the mantissa part, and the value for the Oth bit and the first bit 1 of the output of the adder/subtractor for calculating the exponent part. A circuit that outputs exclusive OR is provided.

〔作 用〕[For production]

乗数と被乗数の指数部の1−位に1ピツ1への拡張指数
部を付加すると\もに、そのビン1〜をゼロにセットシ
た後、その指数部を指数部演算用加減算器に人力する1
、指数部演算用加減算器では、入力された両指数部を加
算すると\もに、指数値が偏位を加えて表現されていれ
ば(例えばエフセス64表現)、加算値からその偏位だ
け減しる。一方、乗数と被乗数の仮数部は正規化せずに
仮数部演算用乗算器に人力され、その積が丸められるこ
となく出力される。乗数と被乗数とはもに1に規化され
ていないため、・般にこの積の上位には数桁のゼロが連
続する。
When adding the extended exponent part to 1 bit 1 to the 1-place of the exponent part of the multiplier and multiplicand, after setting the bin 1~ to zero, manually input the exponent part to the adder/subtractor for exponent part calculation. 1
, in the exponent calculation adder/subtractor, when both input exponent parts are added, if the exponent value is expressed by adding a deviation (for example, Fcess 64 expression), the added value is subtracted by that deviation. Sign. On the other hand, the mantissa parts of the multiplier and the multiplicand are manually input to a mantissa calculation multiplier without being normalized, and the product is output without being rounded. Since both the multiplier and the multiplicand are not normalized to 1, there are generally several consecutive zero digits in the upper part of this product.

次に、この積の−1−位から連続するセロの桁数を、仮
数部演算用乗算器の出力の先頭から連続するセロの桁数
を検出する回路を用いて検出する5、シフタに、1−配
積と桁数を入力し、桁数分だけ積を左にシフI−するこ
とにより積の正規化を行うと\もに、先に求めておいた
指数部と上記桁数を指数部演算用加減算器に入力し、指
数部から上記桁数を減算することにより、正規化による
指数部への補正を行う。補正後の指数部の第Oビットが
1のとき、指数オーバーフローか指数アンダーフローが
発生することがわかる。また、指数オーバーフローか指
数アンダーフローのいずれが発生する可能性があるかは
、指数補正前の指数部の第Oビットおよび第1ビットの
値の排他的論理和の値で判定できる。すなわち、上記排
他的論理和の値が1のとき指数オーバーフローが起こる
可能性があると判定できる。これは、正規化による指数
部の補正が指数部を減らす方向にしか起こりえず、かつ
Next, the number of consecutive zero digits from the -1- place of this product is detected using a circuit that detects the number of consecutive zero digits from the beginning of the output of the mantissa calculation multiplier. 1- Input the product and the number of digits, and normalize the product by shifting the product to the left by the number of digits. The exponent part is corrected by normalization by inputting it to an adder/subtractor for calculating the exponent part and subtracting the above-mentioned number of digits from the exponent part. It can be seen that when the Oth bit of the exponent part after correction is 1, exponent overflow or exponent underflow occurs. Furthermore, whether exponent overflow or exponent underflow is likely to occur can be determined by the value of the exclusive OR of the values of the O-th bit and the first bit of the exponent part before exponent correction. That is, when the value of the exclusive OR is 1, it can be determined that there is a possibility that an exponent overflow will occur. This is because correction of the exponent part by normalization can only occur in the direction of decreasing the exponent part, and.

その補正値も、乗数、被乗数が良精度の場合でも、たか
だか27であるため、補正前に指数オーバーフローが起
こる可能性があると判定されたときに(すなわち上記排
他的論理和の値が1のときに)、正規化による補正を行
って指数アンダーフローになることは起こり得す、また
、指数アンダーフローが起こる可能性があると判定され
たときに(すなわち上記排他的論理和の値がOのときに
)、正規化による補正を行って指数オーバーフローにな
ることは起こり得ないことによる。
The correction value is also 27 at most even when the multiplier and multiplicand have good precision, so when it is determined that there is a possibility of exponent overflow occurring before correction (i.e., the value of the exclusive OR above is 1). When it is determined that there is a possibility of exponent underflow (i.e., when the value of the above exclusive OR is O ), it is impossible for exponential overflow to occur due to correction by normalization.

以上により、乗数、被乗数について正規化を行わずに最
後の1回の正規化のみで乗算が可能となり、かつ、オー
バーフロー、アンダーフローの判定を1バイト加減算器
で行い、また、オーバーフローとアンダーフローのいず
れが発生し得るか最終の積が求まる以前に判明している
ので、乗算処理の速度を大幅に向上することができる。
As a result of the above, multiplication is possible without normalizing the multiplier and multiplicand by just one final normalization, and overflow and underflow can be determined using a 1-byte adder/subtractor. Since it is known which of these may occur before the final product is determined, the speed of the multiplication process can be greatly improved.

〔実施例〕〔Example〕

以下、本発明の一実施例について図面により説明する。 An embodiment of the present invention will be described below with reference to the drawings.

第1図は本発明の一実施例の構成図である。10と11
は中間積格納仮数部格納レジスタ、20はシフト回路、
21は仮数部演算器、30は正規化前の被乗数およびそ
の倍数を格納するレジスタ群、40は乗数格納レジスタ
、50は乗数格納レジスタ40の最下位4ビットの値に
よりレジスタ群30の1つを選択する倍数選択回路、6
0は乗=7 数を右に4ビットシフトするシフタ、70は乗数の指数
部の上位に1ビットの0を付加した8ビット幅のレジス
タ、80は被乗数の指数部の上位に1ビットのOを付加
した8ビット幅のレジスタ。
FIG. 1 is a block diagram of an embodiment of the present invention. 10 and 11
is an intermediate product storage mantissa storage register; 20 is a shift circuit;
21 is a mantissa calculation unit; 30 is a group of registers for storing the multiplicand and its multiples before normalization; 40 is a multiplier storage register; Multiple selection circuit to select, 6
0 is a shifter that shifts a number to the right by 4 bits, 70 is an 8-bit wide register with a 1-bit 0 added to the upper part of the exponent part of the multiplier, and 80 is a 1-bit O bit added to the upper part of the exponent part of the multiplicand. 8-bit wide register with .

90は指数部演算器、100は先頭ゼロ桁カウント回路
、110は排他的論理和回路である。
90 is an exponent part arithmetic unit, 100 is a leading zero digit counting circuit, and 110 is an exclusive OR circuit.

初期設定として、レジスタ10.11にはオールゼロを
セットしておく。乗数格納レジスタ40の最下位4ビッ
トの値によりレジスタ30から適当な被乗数の倍数が倍
数選択回路50で選択され、演算器21において、中間
積格納レジスタ10を4ビット右シフトした値と加算さ
れ、加算結果はレジスタ10にセットされる。また、シ
フト回路20においてレジスタ11を4ビット右シフト
した値が、レジスタ10の最下位4ビットを右シフトキ
ャリーとしてレジスタ11にセラ1〜される。
As an initial setting, registers 10 and 11 are set to all zeros. A multiple selection circuit 50 selects an appropriate multiple of the multiplicand from the register 30 based on the value of the lowest 4 bits of the multiplier storage register 40, and the arithmetic unit 21 adds it to the value of the intermediate product storage register 10 shifted to the right by 4 bits. The addition result is set in register 10. Further, the value obtained by shifting the register 11 to the right by 4 bits in the shift circuit 20 is transferred to the register 11 by using the lowest 4 bits of the register 10 as a right shift carry.

乗数格納レジスタ40の乗数は、シフタ60で右に4ビ
ットシフトされる。以上の処理を、レジスタ40に格納
されている乗数の全桁について行うことによりレジスタ
10.11には中間積の仮数部が格納される。乗数と被
乗数の仮数部がそれぞれNバイトとすると、この積は最
大2Nバイトとなる。しかし、乗数と被乗数はともに正
規化されていないため、一般にこの積の上位には数桁の
ゼロが連続する。第5図は該仮数部演算の具体例を示し
たものである。
The multiplier in the multiplier storage register 40 is shifted 4 bits to the right by the shifter 60. By performing the above processing for all digits of the multiplier stored in register 40, the mantissa part of the intermediate product is stored in registers 10 and 11. If the mantissa parts of the multiplier and the multiplicand are each N bytes, this product has a maximum of 2N bytes. However, since both the multiplier and the multiplicand are not normalized, there are generally several consecutive zero digits in the upper part of this product. FIG. 5 shows a specific example of the mantissa calculation.

レジスタ70.80に格納されている乗数、被乗数の指
数部は1バイト演算器90によって加算と−64の補正
(第2図のエフセス64表現の場合)が行われ、その結
果得られる中間積の指数部がレジスタ80にセットされ
る。このとき、指数部の0ピッ1−目と1ビット目が1
0又は01のときEXPOVフラグがセットされる。第
4図はエフセス64表現を例にとり、該指数演算のとき
の出力のとりうる値を示したものである。
The exponent parts of the multipliers and multiplicands stored in registers 70 and 80 are added and corrected by -64 (in the case of Fcess 64 expression in Fig. 2) by the 1-byte arithmetic unit 90, and the resulting intermediate product is The exponent part is set in register 80. At this time, the 0th bit 1-th and the 1st bit of the exponent part are 1
When the value is 0 or 01, the EXPOV flag is set. FIG. 4 shows the possible values of the output when performing the exponent calculation, taking the FCS64 expression as an example.

その後、中間積格納レジスタ10.11の内容は先頭ゼ
ロ桁カウン1〜回路100によってチエツクされる。該
カウント回路100で得られたカウントはシフト回路2
0へ送られ、中間積格納レジスタ10.11の内容は先
頭の0の桁がなくなるまで桁単位に左シフトされる。さ
らに先頭ゼロ桁カウント回路100で得られたカウント
は1バイト幅演算器90に送られ、レジスタ80に格納
されている中間積の指数部の値に正規化による補正が行
われる。第6図は、被乗数および乗数がそれぞれ良精度
(符号1ビット、指数部7ビツ1〜、仮数部5Gビット
)としたとき、補正後の指数部のとりうる値を示したも
のである。
Thereafter, the contents of the intermediate product storage register 10.11 are checked by the leading zero digit counter 1 to circuit 100. The count obtained by the count circuit 100 is sent to the shift circuit 2.
0, and the contents of intermediate product storage registers 10.11 are shifted to the left digit by digit until there are no leading 0 digits. Further, the count obtained by the leading zero digit count circuit 100 is sent to a 1-byte width arithmetic unit 90, and the value of the exponent part of the intermediate product stored in the register 80 is corrected by normalization. FIG. 6 shows possible values of the exponent part after correction, assuming that the multiplicand and the multiplier each have good precision (sign 1 bit, exponent part 7 bits 1~, mantissa part 5 G bits).

補正後の指数部のビット0(EXI)O)が1のとき指
数オーバーフローか指数アンダーフローかのいずれかが
発生したことを示し、 (EXPO=1)& (EXPOV=1)ならば指数オ
ーバーフローが、 (EXP○=1)& (EXI)OV=O)ならば指数
アンダーフローが発生したことを示す。
When bit 0 (EXI)O) of the exponent part after correction is 1, it indicates that either an exponent overflow or an exponent underflow has occurred, and if (EXPO=1) & (EXPOV=1), an exponent overflow has occurred. , (EXP◯=1) & (EXI)OV=O) indicates that an index underflow has occurred.

他の保持しておいた積の符号ビット、積の指数部格納レ
ジスタ80、積の仮数部格納レジスタ10.11の内容
をマージすることで、積を求めることができる。
The product can be obtained by merging the contents of the other stored product sign bit, product exponent storage register 80, and product mantissa storage register 10.11.

本実施例によれば、乗数、被乗数の正規化を省き、かつ
指数オーバーフロー、アンダーフローの判定を高速に行
うことで、浮動小数点乗算の性能を大幅に向」ニさせる
ことが可能である。
According to this embodiment, by omitting the normalization of the multiplier and the multiplicand and quickly determining exponent overflow and underflow, it is possible to significantly improve the performance of floating point multiplication.

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

以上の説明から明らかな如く、本発明によれば、浮動小
数点乗算において、乗数、被乗数の正規化処理が不要と
なり、また、指数部演算、指数オーバーフローと指数ア
ンダーフローの判定が1パイ1〜演算器で実行でき、シ
フト処理が不要であり、浮動小数点乗算処理の大幅な高
速化が可能になる。
As is clear from the above description, according to the present invention, normalization processing of multipliers and multiplicands is not required in floating point multiplication, and exponent part calculations and determination of exponent overflow and exponent underflow can be performed using 1 pie 1 to 1 calculation. It can be executed on a single device, does not require shift processing, and can significantly speed up floating-point multiplication processing.

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

第1図は本発明の一実施例の回路構成図、第2図はエフ
セス64表現の具体例を示す図、第3図は指数演算の従
来例を示す図、第4図は本発明における指数演算の正規
化前の一例を示す図、第5図は本発明の仮数部演算の具
体例を示す図、第6図は指数演算の正規化後の一例を示
す図である。 10.11・中間積仮数部格納レジスタ、80・・・中
間積指数部格納レジスタ、100・・中間積先頭ゼロ桁
カウンI−回路、第6図
Fig. 1 is a circuit diagram of an embodiment of the present invention, Fig. 2 is a diagram showing a specific example of F-S64 expression, Fig. 3 is a diagram showing a conventional example of exponent operation, and Fig. 4 is an exponent in the present invention. FIG. 5 is a diagram showing an example of the calculation before normalization, FIG. 5 is a diagram showing a specific example of the mantissa calculation of the present invention, and FIG. 6 is a diagram showing an example of the exponent calculation after normalization. 10.11. Intermediate product mantissa storage register, 80... Intermediate product exponent storage register, 100... Intermediate product leading zero digit counter I-circuit, FIG.

Claims (1)

【特許請求の範囲】[Claims] (1)乗数と被乗数のそれぞれの指数部の上位に1ビッ
トの指数拡張部を付加した長さの演算幅を持つ指数部演
算用加減算器と、乗数と被乗数のそれぞれの仮数部を入
力とし、乗数と被乗数のそれぞれの仮数部の積を出力す
る仮数部演算用乗算器と、上記積を入力とするシフタと
、最終的中間積の仮数部の先頭から連続するゼロの桁数
を検出するゼロ検出回路と、上記指数部演算用加減算器
の出力ビット0とビット1を入力とするデコーダ回路を
備え、 上記乗数と被乗数を正規化することなく、かつ、それぞ
れの指数部の上位に1ビットの拡張指数部を付加すると
ゝもに、そのビットをゼロに設定して指数部の加算と仮
数部の乗算を行い、求まった最終的中間積の仮数部を上
記ゼロ検出回路に入力し、求まったゼロの桁数だけ上記
シフタにおいて上記最終的中間積の仮数部を左シフトす
るとゝもに、上記指数部演算用加減算器において上記最
終的中間積の指数部から上記桁数を減算して積の指数部
と仮数部を求め、求まった積の指数部のビット0の値お
よび上記最終的中間積の指数部のビット0とビット1の
値によって指数部のオーバフロー、アンダーフローを検
出することを特徴とする浮動小数点乗算装置。
(1) An adder/subtractor for exponent part calculations having a calculation width equal to the length of the exponent part of each of the multiplier and the multiplicand with a 1-bit exponent extension added to the upper part of the exponent part, and the mantissa part of each of the multiplier and the multiplicand as input, A multiplier for mantissa calculation that outputs the product of the mantissa parts of each of the multiplier and the multiplicand, a shifter that receives the product as input, and a zero digit that detects the number of consecutive zero digits from the beginning of the mantissa part of the final intermediate product. It is equipped with a detection circuit and a decoder circuit which inputs the output bits 0 and 1 of the adder/subtractor for exponent part calculation, and without normalizing the above multiplier and multiplicand, 1 bit is added to the upper part of each exponent part. At the same time as adding the extended exponent part, set that bit to zero, add the exponent part and multiply the mantissa part, and input the mantissa part of the final intermediate product found to the above zero detection circuit, and then The mantissa part of the final intermediate product is shifted to the left by the number of zero digits in the shifter, and the number of digits is subtracted from the exponent part of the final intermediate product in the exponent part calculation adder/subtractor to calculate the product. The exponent part and the mantissa part are determined, and overflow and underflow of the exponent part are detected based on the value of bit 0 of the exponent part of the product obtained and the values of bit 0 and bit 1 of the exponent part of the final intermediate product. floating point multiplier.
JP23716188A 1988-09-21 1988-09-21 Floating point multiplier Pending JPH0283728A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP23716188A JPH0283728A (en) 1988-09-21 1988-09-21 Floating point multiplier
DE19893931545 DE3931545A1 (en) 1988-09-21 1989-09-21 Floating point processor - has adder subtractor handling exponent part for improved execution of multiplication and division

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23716188A JPH0283728A (en) 1988-09-21 1988-09-21 Floating point multiplier

Publications (1)

Publication Number Publication Date
JPH0283728A true JPH0283728A (en) 1990-03-23

Family

ID=17011295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23716188A Pending JPH0283728A (en) 1988-09-21 1988-09-21 Floating point multiplier

Country Status (2)

Country Link
JP (1) JPH0283728A (en)
DE (1) DE3931545A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114455A (en) * 1993-09-29 1995-05-02 Internatl Business Mach Corp <Ibm> Pipeline floating-point processor and execution of its multiplication and addition instruction sequence

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5195052A (en) * 1991-12-13 1993-03-16 International Business Machines Corporation Circuit and method for performing integer power operations
US5553015A (en) * 1994-04-15 1996-09-03 International Business Machines Corporation Efficient floating point overflow and underflow detection system
JP3429927B2 (en) * 1995-10-16 2003-07-28 三菱電機株式会社 Normalization circuit device of floating point arithmetic unit
JP5862397B2 (en) * 2012-03-22 2016-02-16 富士通株式会社 Arithmetic processing unit
DE102018209901A1 (en) * 2018-06-19 2019-12-19 Robert Bosch Gmbh Computing unit, method and computer program for multiplying at least two multiplicands

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5776635A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Floating multiplying circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114455A (en) * 1993-09-29 1995-05-02 Internatl Business Mach Corp <Ibm> Pipeline floating-point processor and execution of its multiplication and addition instruction sequence

Also Published As

Publication number Publication date
DE3931545A1 (en) 1990-03-22

Similar Documents

Publication Publication Date Title
EP0472148B1 (en) Method and apparatus for computing floating point data
JP2729027B2 (en) Execution of pipeline floating-point processor and its multiplication / addition instruction sequence
EP0483864A2 (en) Hardware arrangement for floating-point addition and subtraction
US20110040815A1 (en) Apparatus and method for performing fused multiply add floating point operation
JP2557190B2 (en) Optimization system for argument reduction
US5184318A (en) Rectangular array signed digit multiplier
US5677861A (en) Arithmetic apparatus for floating-point numbers
EP0416308A2 (en) Rectangular array signed digit multiplier
US20090164544A1 (en) Dynamic range enhancement for arithmetic calculations in real-time control systems using fixed point hardware
JPH0283728A (en) Floating point multiplier
US4823300A (en) Performing binary multiplication using minimal path algorithm
US11366638B1 (en) Floating point multiply-add, accumulate unit with combined alignment circuits
US6571264B1 (en) Floating-point arithmetic device
JP2695178B2 (en) Arithmetic circuit
US7003540B2 (en) Floating point multiplier for delimited operands
JPH0540605A (en) Floating point multiplier
Lang et al. Division unit for binary integer decimals
KR20040033198A (en) Floating point with multiply-add unit
JP4428778B2 (en) Arithmetic device, arithmetic method, and computing device
JPH0361224B2 (en)
JPH01282633A (en) Non-normalized number processing system
JPH0552532B2 (en)
JPH0823812B2 (en) Floating point data calculation method and calculation device
JP3100868B2 (en) Arithmetic unit for floating point numbers
JP3124286B2 (en) Floating point arithmetic unit