JPH07104777B2 - 浮動小数点加減算装置 - Google Patents

浮動小数点加減算装置

Info

Publication number
JPH07104777B2
JPH07104777B2 JP2042273A JP4227390A JPH07104777B2 JP H07104777 B2 JPH07104777 B2 JP H07104777B2 JP 2042273 A JP2042273 A JP 2042273A JP 4227390 A JP4227390 A JP 4227390A JP H07104777 B2 JPH07104777 B2 JP H07104777B2
Authority
JP
Japan
Prior art keywords
bit
operand
bits
rounding
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.)
Expired - Lifetime
Application number
JP2042273A
Other languages
English (en)
Other versions
JPH03245225A (ja
Inventor
拓 中野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2042273A priority Critical patent/JPH07104777B2/ja
Priority to US07/659,198 priority patent/US5128889A/en
Publication of JPH03245225A publication Critical patent/JPH03245225A/ja
Publication of JPH07104777B2 publication Critical patent/JPH07104777B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49952Sticky bit

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、データ処理装置における加減算装置に係り、
とくに演算結果の丸めを行うのに好適な浮動小数加減算
装置に関する。
[従来の技術] 従来、丸めビットよりも下位のすべてのビットの論理和
に依存して丸めを行う浮動小数点加減算装置の例とし
て、特開昭61−213927号公報が知られている。
この例では、装置の内部において仮数部のビット長を数
値表現型式よりも長く取り(例えば67ビット)、丸めを
行なうときに丸めビットよりも下位のすべてのビットの
論理和を求めており、IEEE task P754の標準形式を採用
したときの丸めビットよりも下位のビット長は、単精度
で41ビット、倍精度で11ビット、拡張精度で1ビットと
なっている。
[発明が解決しようとする課題] しかしながら、前記した従来の浮動小数点加減算装置で
は、第2図に示すIEEE標準形式の倍精度、拡張精度では
指数どうしの大きさを同一にする仮数の桁合わせにおい
て右シフトにより失われるビットのすべての論理和演算
のために時間がかかり、右シフトに長時間を要するとい
う課題を有していた。
一方、単精度では丸めビットよりも下位の41ビットの論
理和演算のために時間がかかり、丸め処理に長時間を要
するという課題も有していた。
本発明は前記従来技術の課題を解決するため、、内部の
演算器のビット幅に直接依存することなく、丸めビット
よりも下位のすべてのビットの論理和を予測して高速な
丸め処理を可能とする浮動小数点加減算装置を提供する
ことを目的とする。
[課題を解決するための手段] 前記目的を達成するため、本発明の浮動小数点加減算装
置は、符号、指数部、仮数部からなる同一数値表現形式
の被演算数、演算数を入力して、被演算数、演算数と同
一数値表現形式の加減算結果を出力する浮動小数点加減
算装置にして、中間的な仮数部の演算結果に対して、丸
めビットよりも下位のすべてのビットの論理和に依存し
て丸めを行う浮動小数点加減算装置において、中間的な
仮数部の演算結果の丸めビットよりも下位のすべてのビ
ットの論理和を予測するため、被演算数と演算数の各々
の仮数部に対して、最下位ビットからの“0"の連続する
ビット長を検出する手段を設けるとともに、前記2つの
“0"の連続するビット長のなかから指数が小さい数に対
応する“0"の連続するビット長を選択する選択手段と、
前記選択手段の出力する“0"の連続するビット長と、指
数の大きさを合わせるために指数の小さい方に対応する
仮数の右シフトを行うときに失われるビット長との大小
比較手段を設けたことを特徴とする。
[作用] 前記した本発明の構成によれば、指数の小さい方に対応
する仮数の最下位ビットからの“0"の連続するビット長
が、指数の大きさを合わせるために指数の小さい方に対
応する仮数の右シフトを行うときに失われるビット長よ
りも小さいとき、値が“1"、それ以外の場合には値が
“0"となるスピルトビットを導入し、丸めビットの下位
にスピトルビットを付加して演算することにより、丸め
ビットよりも下位のすべてのビットの論理和であるステ
ィッキービットを予測することができる。
[実施例] 以下、本発明の一実施例を図を用いて詳細に説明する。
なお本発明は下記の実施例に限定されるものではない。
第1図は本発明による浮動小数点加減算装置の全体構成
を示している。
第1図において、1は装置全体の制御を司る制御回路、
2は浮動小数点レジスタであり、1ワード64ビットの浮
動小数点データを32個格納することができ、2つの読み
だしポートと、1つの書き込みポートを有している。3
は被演算数レジスタ、4は演算数レジスタ、5は絶対値
減算器、6と7はリーディングビット付加回路、8と9
は最下位ビットからの“0"の連続するビット長を検出す
る溯行ゼロ検出回路、10、11、12、13、14は2対1マル
チプレクサ、15は反転回路、16は2対1マルチプレク
サ、17はプレシフタ、18は大小比較回路、19は絶対値加
算器、20は反転回路、21は2対1マルチプレクサ、22は
MSBから先行する“0"の連続するビット長を検出する先
行ゼロ検出回路、23は加減算器、24はポストシフタ、25
は丸めデータ生成回路、26は丸め加算器、27は定数加算
器、28は2対1マルチプレクサである。
本浮動小数点加減算装置で取り扱う浮動小数点データの
数値表現形式は第2図に示すようにIEEE Task p754の倍
精度形式を採用している。
まず、浮動小数点レジスタ2より、被演算数と演算数が
読みだされ、それぞれ、被演算数レジスタ3、演算数レ
ジスタ4にセットされる。制御回路1では命令が加算ま
たは減算のいずれかと被演算数と演算数の符号より、加
減算装置全体が実質的に加算を実行するのか減算を実行
するのかを判定する。絶対値減算器5では、被演算数レ
ジスタ3と演算数レジスタ4の出力する被演算数と演算
数の指数部を入力して差を求めて、さらに絶対値化した
値を出力するとともに、被演算数の指数と演算数の指数
の大小比較結果を出力する。
一方、被演算数レジスタ3と演算数レジスタ4から出力
される被演算数と演算数の仮数部は、リーディングビッ
ト付加回路6、7で、リーディングビットが付加される
とともに、溯行ゼロ検出回路8、9により被演算数と演
算数の仮数部の最下位ビットからの“0"の連続するビッ
ト長が検出される。マルチプレクサ10、11、12では、絶
対値減算器5の出力する指数大小比較結果が被演算数の
方が大きいか等しいときは、被演算数の符号、指数、リ
ーディングビットが付加された仮数を、またそれ以外の
場合には演算数の符号、指数、リーディングビットが付
加された仮数をそれぞれ選択してして出力する。マルチ
プレクサ13、14では、絶対値減算器5の出力する指数大
小比較結果が被演算数の方が大きいか等しいときは、演
算数のリーディングビットが付加された仮数、演算数の
溯行ゼロビット長を、またそれ以外の場合には被演算数
のリーディングビットが付加された仮数、被演算数の溯
行ゼロビット長を、それぞれ選択して出力する。反転回
路15ではマルチプレクサ12の出力を入力して各ビットを
反転して出力し、マルチプレクサ16により、実質加算の
ときはマルチプレクサ12の出力にさらに下位に3ビット
の“0"が付加されたものが選択され、実質減算のときは
反転回路15の出力にさらに下位に3ビットの“1"が付加
されたものが選択される。プレシフタ17ではマルチプレ
クサ13の出力する指数が小さい方に対応するリーディン
グビットを含む仮数を絶対値減算器5から送られる指数
の差の絶対値の数だけ右にシフトする。プレシフタ17で
は、仮数部のビット長を下位に2ビット拡張して右シフ
トを行い、シフト数が2より大きいときはシフタよりあ
ふれたビットは失われる。大小比較回路18では、マルチ
プレクサ14の出力する指数が小さい方に対応する溯行ゼ
ロビット長に“2"を加えた値と絶対値減算器5から送ら
れる指数どうしの差の絶対値の大小比較を行い、指数ど
うしの差の絶対値の方が大きい場合にはスピルトビット
を“1"、それ以外の場合にはスピルトビットを“0"とし
て出力する。
次に、絶対値加算器19ではマルチプレクサ16の出力を第
1の入力とし、プレシフタ17の出力の下位に大小比較回
路18の出力するスピルトビットを付加したものを第2の
入力とし、さらに図示はしていないが、制御回路1より
初期キャリとして実質加算時は“0"が、実質減算時は
“1"が送られて2の補数加算を実行した後、加算結果を
絶対値化して、第3図に示す中間的な演算結果を出力す
る。反転回路20ではマルチプレクサ10の出力を反転し、
マルチプレクサ21では制御回路1より送られる実質減算
を示す情報と絶対値加算器19より送られてくる絶対値を
取る前の加算結果の符号により(図示せず)、実質減算
および絶対値を取る前の符号が正の場合に反転回路20の
出力を、それ以外の場合にはマルチプレクサ10の出力を
選択して出力する。先行ゼロ検出回路22では、第3図に
示すビット56(21・・・ビットの位を示す、以下同
じ)、ビット55(2・・・)の値が“01"となるように
絶対値加算器19の出力をシフトするためのシフト数を求
める。このとき、右シフトとして1、左シフトとして1
から54のシフト数があり、また、スティッキービットは
シフトの対象としない。加減算器23はマルチプレクサ11
の出力する指数に対して右シフトのときはシフト数を加
算し、左シフトのときはシフト数を減算し、シフトしな
いときはゼロを加算して出力する。ポストシフタ24で
は、先行ゼロ検出回路22の出力に対応して絶対値加算器
19の出力のシフトを行う。このとき、右1ビットシフト
のときは、ビット1(2-54)、ビット0(スティッキー
ビット)の論理和を改めてビット0とし、左シフトの場
合には、ビット0は何も変更することなく左シフトによ
り空きが生じたビットにはゼロを補う。
次に丸めデータ生成回路25では、マルチプレクサ21の出
力する符号とポストシフタ24の出力の中からビット3
(2-52)のLSB、ビット2(-53)のガードビット、ビッ
ト1(2-54)のラウンドビット、ビット0のスティッキ
ービットを入力するとともに、制御回路1より丸めモー
ドビットを入力し(図示せず)、第4図(a)(b)
(c)(d)に示す丸め処理が行われるように丸め加算
器26へのキャリを生成し、出力する。定数加算器27で
は、加減算器23の出力する指数に定数“1"を加えて出力
する。丸め加算器26でビット56(21)への桁上げがある
場合にはマルチプレクサ28で、定数加算器27の出力を、
またそれ以外の場合には加減算器23の出力を最終的な演
算結果の指数部として選択する。最終的な演算結果の仮
数部としてはリーディングビットを除いて丸め加算器26
のビット54からビット3の52ビットを出力する。ビット
56(21)への桁上げがある場合も、上記選択で支障がな
い理由は該当する桁上げ後のビット55からビット3の53
ビットはすべてゼロであり、ビット55からビット4を選
んでも結果的には上記の選択と同一になるからである。
最後に、以上のようにして求められた最終的な演算結果
が浮動小数点レジスタ2に書き込まれ、浮動小数点加
算、または浮動小数点減算が終了する。
本実施例では、IEEE標準の浮動小数点データの倍精度数
値形式だけを取り扱ったが、他の数値形式の場合におい
ても中間的な仮数部の演算結果に対して丸めビットより
も下位のすべてのビットの論理和を予測するのに本発明
は適用できる。
[発明の効果] 本発明によれば、丸めビットよりも下位のすべてのビッ
トの論理和に依存して丸め処理を行う浮動小数点加減算
装置に対して、中間的な仮数部の積の丸めビットよりも
下位のすべてのビットの論理和をとるかわりに、被演算
数、演算数の仮数部から上記論理和を予測できるため、
丸め処理を高速に実行できるという優れた効果を達成す
ることができる。
【図面の簡単な説明】
第1図は本発明による浮動小数点加減算装置の全体構成
を示すブロック図、第2図はIEEE標準の浮動小数点デー
タ数値表現形式を示す図、第3図は本発明の一実施例の
浮動小数点加減算装置による中間的な仮数部の演算結果
を示す図、第4図(a)(b)(c)(d)は従来の丸
め処理を示す図である。 1……制御回路、2……浮動小数点レジスタ、3……被
演算数レジスタ、4……演算数レジスタ、5……絶対値
減算器、6,7……リーディングビット付加回路、8,9……
溯行ゼロ検出回路、10,11,12,13,14,16,21,28……マル
チプレクサ、15,20……反転回路、17……プレシフタ、1
8……大小比較回路、19……絶対値加算器、22……先行
ゼロ検出回路、23……加減算器、24……ポストシフタ、
25……溯行ゼロレジスタ、26……丸め加算器、27……定
数加算器。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】符号、指数部、仮数部からなる同一数値表
    現形式の被演算数、演算数を入力して、被演算数、演算
    数と同一数値表現形式の加減算結果を出力する浮動小数
    点加減算装置であって、かつ中間的な仮数部の演算結果
    に対して、丸めビットよりも下位のすべてのビットの論
    理和に依存して丸めを行う浮動小数点加減算装置におい
    て、中間的な仮数部の演算結果の丸めビットよりも下位
    のすべてのビットの論理和を予測するため、被演算数と
    演算数の各々の仮数部に対して、最下位ビットからの
    “0"の連続するビット長を検出する手段を設けるととも
    に、前記2つの“0"の連続するビット長のなかから指数
    が小さい数に対応する“0"の連続するビット長を選択す
    る選択手段と、前記選択手段の出力する“0"の連続する
    ビット長と、指数の大きさを合わせるために指数の小さ
    い方に対応する仮数の右シフトを行うときに失われるビ
    ット長との大小比較手段を設けたことを特徴とする浮動
    小数点加減算装置。
JP2042273A 1990-02-22 1990-02-22 浮動小数点加減算装置 Expired - Lifetime JPH07104777B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2042273A JPH07104777B2 (ja) 1990-02-22 1990-02-22 浮動小数点加減算装置
US07/659,198 US5128889A (en) 1990-02-22 1991-02-22 Floating-point arithmetic apparatus with compensation for mantissa truncation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2042273A JPH07104777B2 (ja) 1990-02-22 1990-02-22 浮動小数点加減算装置

Publications (2)

Publication Number Publication Date
JPH03245225A JPH03245225A (ja) 1991-10-31
JPH07104777B2 true JPH07104777B2 (ja) 1995-11-13

Family

ID=12631432

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2042273A Expired - Lifetime JPH07104777B2 (ja) 1990-02-22 1990-02-22 浮動小数点加減算装置

Country Status (1)

Country Link
JP (1) JPH07104777B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09204295A (ja) * 1996-01-29 1997-08-05 Kofu Nippon Denki Kk スティッキービット検出回路
GB201111035D0 (en) * 2011-06-29 2011-08-10 Advanced Risc Mach Ltd Floating point adder

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298435A (ja) * 1987-05-28 1988-12-06 Matsushita Electric Ind Co Ltd 浮動小数点演算装置

Also Published As

Publication number Publication date
JPH03245225A (ja) 1991-10-31

Similar Documents

Publication Publication Date Title
JP2662196B2 (ja) 演算結果正規化方法及び装置
US6381624B1 (en) Faster multiply/accumulator
JP3076046B2 (ja) 例外検出回路
US5128889A (en) Floating-point arithmetic apparatus with compensation for mantissa truncation
US5222037A (en) Floating-point processor for performing an arithmetic operation on fixed-point part data with high speed rounding of a result
US5184318A (en) Rectangular array signed digit multiplier
US3814925A (en) Dual output adder and method of addition for concurrently forming the differences a{31 b and b{31 a
JPH0542011B2 (ja)
US5144576A (en) Signed digit multiplier
GB1579100A (en) Digital arithmetic method and means
US5831884A (en) Apparatus for performing arithmetic operation of floating point numbers capable of improving speed of operation by performing canceling prediction operation in parallel
JPH0479015B2 (ja)
JP2695178B2 (ja) 演算回路
JP2511527B2 (ja) 浮動小数点演算器
KR100331846B1 (ko) 실수 연산기
JPH07104777B2 (ja) 浮動小数点加減算装置
EP0543024A1 (en) Divider
EP0328779A2 (en) Apparatus for branch prediction for computer instructions
He et al. Multiply-add fused float point unit with on-fly denormalized number processing
JP3257278B2 (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
JPS61224036A (ja) 演算装置
JP2752698B2 (ja) 浮動小数点加減算回路
JP2512230B2 (ja) 演算処理装置
JP4428778B2 (ja) 演算装置及び演算方法並びに計算装置
JPH03245226A (ja) 浮動小数点乗算装置