JPH0283728A - 浮動小数点乗算装置 - Google Patents

浮動小数点乗算装置

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
English (en)
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/ja
Priority to DE19893931545 priority patent/DE3931545A1/de
Publication of JPH0283728A publication Critical patent/JPH0283728A/ja
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

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデジタル計算機の浮動小数点乗算装置に関し、
特に指数部のオーバーフローまたはアンダーフローの検
出と積の算出を高速に行う乗算装置に関する。
〔従来の技術〕
従来の浮動小数点乗算では、浮動小数点数で表現された
乗数と被乗数のそれぞれについて、仮数部の最上位桁に
ゼロでない値が入るまで桁単位で左シフトし、該シフト
桁数を指数部から減する正規化を行ってから浮動小数点
乗算、すなわち、指数部の加算と仮数部の乗算が行われ
、この結果求まった中間積の仮数部の最」−桁がゼロで
ある場合には、左へ1桁シフ1〜し、中間積の指数部を
1だけ減している。このため、計最大3回のシフト演算
と指数部の減算が必要とされる。
また、乗算結果の指数オーバーフロー、指数アンダーフ
ローを判定する場合に1〜7ビツ1−の指数部の」〕位
に2ビット拡大して9ピツI〜幅として指数部を演算し
、9ヒソj−のうちの上位2ヒソ1への値を用いて判定
を行っている。このため、乗算の指数部演算は1バイト
幅では足らす、4ハイド幅の演算器を用いて演算するた
め、種々のオーバーヘッドがか\る。以下、具体例につ
いて説明する。
正規化7.%動小数点は政敵か止か負かを刀くず符号、
指数部、仮数部からなる。以上、符号はlビットてOは
止、]は負を示し、指数部は7ヒノI〜でエフセス64
表現で表わされ、仮数部は24ピノl〜である浮動小数
点数を例にとる。第2図はエフセス64表現の具体例で
ある。
指数演算では、乗数、被乗数をそれぞれ右に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−のネックとなっている
本発明の目的は、浮動小数点乗算における演算スピード
を向1−させることにある。
〔課題を解決するためのF段〕
−1−記目的を達成するために、本発明は乗数と被乗数
のそれぞれの指数部の上位に1ピツI〜の指数拡張部を
イ・1加した長さの演算幅を持つ指数部演算用加減算器
と、乗数と被乗数のそ扛それの仮数部を入力とし、乗数
と被乗数のそれぞれの仮数部のデータ幅の和以上の出力
幅で乗数と被乗数の積を丸めることなく出力する仮数部
演算用乗算器と、−1−記仮数部演算用乗算器の出力幅
と同しかそれ以−1−の演算幅をもつシフタと、−1−
記仮数部演算用乗3つ器の出力の先頭から連続するゼロ
の桁数を検出する回路と、1−記指数部演算用加減算器
の出力の第Oビットと第1ピツ1への値の排他的論理和
を出力する回路を設ける。
〔作 用〕
乗数と被乗数の指数部の1−位に1ピツ1への拡張指数
部を付加すると\もに、そのビン1〜をゼロにセットシ
た後、その指数部を指数部演算用加減算器に人力する1
、指数部演算用加減算器では、入力された両指数部を加
算すると\もに、指数値が偏位を加えて表現されていれ
ば(例えばエフセス64表現)、加算値からその偏位だ
け減しる。一方、乗数と被乗数の仮数部は正規化せずに
仮数部演算用乗算器に人力され、その積が丸められるこ
となく出力される。乗数と被乗数とはもに1に規化され
ていないため、・般にこの積の上位には数桁のゼロが連
続する。
次に、この積の−1−位から連続するセロの桁数を、仮
数部演算用乗算器の出力の先頭から連続するセロの桁数
を検出する回路を用いて検出する5、シフタに、1−配
積と桁数を入力し、桁数分だけ積を左にシフI−するこ
とにより積の正規化を行うと\もに、先に求めておいた
指数部と上記桁数を指数部演算用加減算器に入力し、指
数部から上記桁数を減算することにより、正規化による
指数部への補正を行う。補正後の指数部の第Oビットが
1のとき、指数オーバーフローか指数アンダーフローが
発生することがわかる。また、指数オーバーフローか指
数アンダーフローのいずれが発生する可能性があるかは
、指数補正前の指数部の第Oビットおよび第1ビットの
値の排他的論理和の値で判定できる。すなわち、上記排
他的論理和の値が1のとき指数オーバーフローが起こる
可能性があると判定できる。これは、正規化による指数
部の補正が指数部を減らす方向にしか起こりえず、かつ
その補正値も、乗数、被乗数が良精度の場合でも、たか
だか27であるため、補正前に指数オーバーフローが起
こる可能性があると判定されたときに(すなわち上記排
他的論理和の値が1のときに)、正規化による補正を行
って指数アンダーフローになることは起こり得す、また
、指数アンダーフローが起こる可能性があると判定され
たときに(すなわち上記排他的論理和の値がOのときに
)、正規化による補正を行って指数オーバーフローにな
ることは起こり得ないことによる。
以上により、乗数、被乗数について正規化を行わずに最
後の1回の正規化のみで乗算が可能となり、かつ、オー
バーフロー、アンダーフローの判定を1バイト加減算器
で行い、また、オーバーフローとアンダーフローのいず
れが発生し得るか最終の積が求まる以前に判明している
ので、乗算処理の速度を大幅に向上することができる。
〔実施例〕
以下、本発明の一実施例について図面により説明する。
第1図は本発明の一実施例の構成図である。10と11
は中間積格納仮数部格納レジスタ、20はシフト回路、
21は仮数部演算器、30は正規化前の被乗数およびそ
の倍数を格納するレジスタ群、40は乗数格納レジスタ
、50は乗数格納レジスタ40の最下位4ビットの値に
よりレジスタ群30の1つを選択する倍数選択回路、6
0は乗=7 数を右に4ビットシフトするシフタ、70は乗数の指数
部の上位に1ビットの0を付加した8ビット幅のレジス
タ、80は被乗数の指数部の上位に1ビットのOを付加
した8ビット幅のレジスタ。
90は指数部演算器、100は先頭ゼロ桁カウント回路
、110は排他的論理和回路である。
初期設定として、レジスタ10.11にはオールゼロを
セットしておく。乗数格納レジスタ40の最下位4ビッ
トの値によりレジスタ30から適当な被乗数の倍数が倍
数選択回路50で選択され、演算器21において、中間
積格納レジスタ10を4ビット右シフトした値と加算さ
れ、加算結果はレジスタ10にセットされる。また、シ
フト回路20においてレジスタ11を4ビット右シフト
した値が、レジスタ10の最下位4ビットを右シフトキ
ャリーとしてレジスタ11にセラ1〜される。
乗数格納レジスタ40の乗数は、シフタ60で右に4ビ
ットシフトされる。以上の処理を、レジスタ40に格納
されている乗数の全桁について行うことによりレジスタ
10.11には中間積の仮数部が格納される。乗数と被
乗数の仮数部がそれぞれNバイトとすると、この積は最
大2Nバイトとなる。しかし、乗数と被乗数はともに正
規化されていないため、一般にこの積の上位には数桁の
ゼロが連続する。第5図は該仮数部演算の具体例を示し
たものである。
レジスタ70.80に格納されている乗数、被乗数の指
数部は1バイト演算器90によって加算と−64の補正
(第2図のエフセス64表現の場合)が行われ、その結
果得られる中間積の指数部がレジスタ80にセットされ
る。このとき、指数部の0ピッ1−目と1ビット目が1
0又は01のときEXPOVフラグがセットされる。第
4図はエフセス64表現を例にとり、該指数演算のとき
の出力のとりうる値を示したものである。
その後、中間積格納レジスタ10.11の内容は先頭ゼ
ロ桁カウン1〜回路100によってチエツクされる。該
カウント回路100で得られたカウントはシフト回路2
0へ送られ、中間積格納レジスタ10.11の内容は先
頭の0の桁がなくなるまで桁単位に左シフトされる。さ
らに先頭ゼロ桁カウント回路100で得られたカウント
は1バイト幅演算器90に送られ、レジスタ80に格納
されている中間積の指数部の値に正規化による補正が行
われる。第6図は、被乗数および乗数がそれぞれ良精度
(符号1ビット、指数部7ビツ1〜、仮数部5Gビット
)としたとき、補正後の指数部のとりうる値を示したも
のである。
補正後の指数部のビット0(EXI)O)が1のとき指
数オーバーフローか指数アンダーフローかのいずれかが
発生したことを示し、 (EXPO=1)& (EXPOV=1)ならば指数オ
ーバーフローが、 (EXP○=1)& (EXI)OV=O)ならば指数
アンダーフローが発生したことを示す。
他の保持しておいた積の符号ビット、積の指数部格納レ
ジスタ80、積の仮数部格納レジスタ10.11の内容
をマージすることで、積を求めることができる。
本実施例によれば、乗数、被乗数の正規化を省き、かつ
指数オーバーフロー、アンダーフローの判定を高速に行
うことで、浮動小数点乗算の性能を大幅に向」ニさせる
ことが可能である。
〔発明の効果〕
以上の説明から明らかな如く、本発明によれば、浮動小
数点乗算において、乗数、被乗数の正規化処理が不要と
なり、また、指数部演算、指数オーバーフローと指数ア
ンダーフローの判定が1パイ1〜演算器で実行でき、シ
フト処理が不要であり、浮動小数点乗算処理の大幅な高
速化が可能になる。
【図面の簡単な説明】
第1図は本発明の一実施例の回路構成図、第2図はエフ
セス64表現の具体例を示す図、第3図は指数演算の従
来例を示す図、第4図は本発明における指数演算の正規
化前の一例を示す図、第5図は本発明の仮数部演算の具
体例を示す図、第6図は指数演算の正規化後の一例を示
す図である。 10.11・中間積仮数部格納レジスタ、80・・・中
間積指数部格納レジスタ、100・・中間積先頭ゼロ桁
カウンI−回路、第6図

Claims (1)

    【特許請求の範囲】
  1. (1)乗数と被乗数のそれぞれの指数部の上位に1ビッ
    トの指数拡張部を付加した長さの演算幅を持つ指数部演
    算用加減算器と、乗数と被乗数のそれぞれの仮数部を入
    力とし、乗数と被乗数のそれぞれの仮数部の積を出力す
    る仮数部演算用乗算器と、上記積を入力とするシフタと
    、最終的中間積の仮数部の先頭から連続するゼロの桁数
    を検出するゼロ検出回路と、上記指数部演算用加減算器
    の出力ビット0とビット1を入力とするデコーダ回路を
    備え、 上記乗数と被乗数を正規化することなく、かつ、それぞ
    れの指数部の上位に1ビットの拡張指数部を付加すると
    ゝもに、そのビットをゼロに設定して指数部の加算と仮
    数部の乗算を行い、求まった最終的中間積の仮数部を上
    記ゼロ検出回路に入力し、求まったゼロの桁数だけ上記
    シフタにおいて上記最終的中間積の仮数部を左シフトす
    るとゝもに、上記指数部演算用加減算器において上記最
    終的中間積の指数部から上記桁数を減算して積の指数部
    と仮数部を求め、求まった積の指数部のビット0の値お
    よび上記最終的中間積の指数部のビット0とビット1の
    値によって指数部のオーバフロー、アンダーフローを検
    出することを特徴とする浮動小数点乗算装置。
JP23716188A 1988-09-21 1988-09-21 浮動小数点乗算装置 Pending JPH0283728A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP23716188A JPH0283728A (ja) 1988-09-21 1988-09-21 浮動小数点乗算装置
DE19893931545 DE3931545A1 (de) 1988-09-21 1989-09-21 Gleitkommaprozessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23716188A JPH0283728A (ja) 1988-09-21 1988-09-21 浮動小数点乗算装置

Publications (1)

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

Family

ID=17011295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23716188A Pending JPH0283728A (ja) 1988-09-21 1988-09-21 浮動小数点乗算装置

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114455A (ja) * 1993-09-29 1995-05-02 Internatl Business Mach Corp <Ibm> パイプライン浮動小数点プロセッサ及びその乗算・加算命令シーケンスの実行

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 (ja) * 1995-10-16 2003-07-28 三菱電機株式会社 浮動小数点演算装置の正規化回路装置
JP5862397B2 (ja) * 2012-03-22 2016-02-16 富士通株式会社 演算処理装置
DE102018209901A1 (de) * 2018-06-19 2019-12-19 Robert Bosch Gmbh Recheneinheit, Verfahren und Computerprogramm zum Multiplizieren zumindest zweier Multiplikanden

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 (ja) * 1993-09-29 1995-05-02 Internatl Business Mach Corp <Ibm> パイプライン浮動小数点プロセッサ及びその乗算・加算命令シーケンスの実行

Also Published As

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

Similar Documents

Publication Publication Date Title
EP0472148B1 (en) Method and apparatus for computing floating point data
JP2729027B2 (ja) パイプライン浮動小数点プロセッサ及びその乗算・加算命令シーケンスの実行
US8499017B2 (en) Apparatus and method for performing fused multiply add floating point operation
EP0483864A2 (en) Hardware arrangement for floating-point addition and subtraction
US5184318A (en) Rectangular array signed digit multiplier
EP0622727A1 (en) System for optimizing argument reduction
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 (ja) 浮動小数点乗算装置
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 (ja) 演算回路
US7003540B2 (en) Floating point multiplier for delimited operands
JPH0540605A (ja) 浮動小数点乗算装置
Lang et al. Division unit for binary integer decimals
KR20040033198A (ko) 부동소수점의 곱셈 및 누산장치
JP4428778B2 (ja) 演算装置及び演算方法並びに計算装置
JPH0361224B2 (ja)
JPH01282633A (ja) 非正規化数の処理方式
JPH0552532B2 (ja)
JPH0823812B2 (ja) 浮動小数点データの演算方法および演算装置
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JP3124286B2 (ja) 浮動小数点数演算装置