JPH02214931A - 浮動小数点演算回路 - Google Patents

浮動小数点演算回路

Info

Publication number
JPH02214931A
JPH02214931A JP1035128A JP3512889A JPH02214931A JP H02214931 A JPH02214931 A JP H02214931A JP 1035128 A JP1035128 A JP 1035128A JP 3512889 A JP3512889 A JP 3512889A JP H02214931 A JPH02214931 A JP H02214931A
Authority
JP
Japan
Prior art keywords
circuit
output
mantissa
rounding
shift
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
JP1035128A
Other languages
English (en)
Inventor
Hiroyuki Yoshida
裕之 吉田
Toshio Jufuku
寿福 利夫
Shoichi Imazeki
今関 將市
Mitsuharu Baba
光晴 馬場
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP1035128A priority Critical patent/JPH02214931A/ja
Publication of JPH02214931A publication Critical patent/JPH02214931A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は浮動小数点演算回路における正規化処理と丸め
処理に関するものである。
(従来の技術) 第4図は従来の浮動小数点演算回路の一例を示すブロッ
ク図である(例えば、「昭和61年度電子通信学会総合
全国大会講演論文集nJ(昭6l−3−5)電子通信学
会P2−157)。
この浮動小数点演算回路は第1オペランドと第2オペラ
ンドの指数部の大小を比較して桁合わせ処理を行う前処
理部101と、桁合わせ後の仮数部同士の演算を行う仮
数部演算回路102と、仮数部演算回路102の出力を
正規化するためのシフト量を検出する正規化シフト量検
出回路103と、正規化シフト量検出回路103が検出
したシフト量に従い仮数部演算回路102の出力の正規
化処理を行うシフト回路104と、シフト回路104の
出力の丸め処理を行う丸め処理回路105と、指数部の
補正値として正規化シフト量検出回路103の出力値か
または丸め処理回路105の出力値を選択する選択回路
110と、選択回路110の出力に基づき前処理部10
1の出力である指数部の補正を行う指数部演算回路10
6と、指数部演算回路106の出力と丸め処理回路10
5の出力とから最終結果を合成する後処理部107とか
ら構成されている。
次にこの浮動小数点演算回路の動作について説明する。
本説明で用いる浮動小数点データ形式は、第2図の(イ
)に示すように浮動小数点数を(−1)s・2°−12
7・(1+f)且つO≦f〈1としたとき、1ピントの
符号部Sと8ビツトの指数部e1及び23ヒ゛ノド絶対
値表現の仮数部fとから成る32ビツトのデータとする
。この32ビット形式の2つのオペランドを以下に述べ
る■〜■の順序で処理する。
■ 前処理部101は、両オペランドの指数部の大小を
比較し、指数部の値が小さい方の仮数部を指数部の差分
だけ右シフトする。両オペランドの仮数部は、第2図の
(ロ)に示すように23ビツトの仮数部fの最上位桁に
隠しピノ) ” 1 ’″を付加しさらに1ビツトの拡
張ビットを最下位に付加した25ビツトの中間形式で出
力される。最下位桁の拡張ビットには前記右シフト時に
桁あぶれを起こしたビットが格納される。また同時にこ
のときの指数部の値も出力される。
■ 仮数部演算回路)02は、この中間形式の仮数部同
士を演算し第2図のe→に示すように中間形式の最上位
桁にオーバフロービットを付加した26ビノトの仮数部
演算結果を得る。
■ 正規化シフト量検出回路103は、前記仮数部演算
結果の上位桁から連続している′0′″の数を検出し、
指数部補正量と正規化シフト量を算出する。
■ 正規化シフト量検出回路103の出力に従い、シフ
ト回路104は仮数部演算回路102の出力のシフト処
理を行う。
■ 丸め処理回路105はシフト回路104の出力に対
し丸め処理を行う。丸め処理において」−1加算の結果
、オーバフローを生じた場合は加算結果を1ビツト右シ
フトした値が丸め処理回路105の出力となり、更に指
数部補正量として°+1”′を出力する。一方オーパフ
ローが生じない場合は+1加算結果が丸め処理回路10
5の出力となり、指数部補正量は正規化シフト量検出回
路103の出力が有効となる。
■ 指数部の補正量とj−で、正規化シフト量検出回路
103の出力か、または丸め処理回路1θ5の出力のど
ちらかを選択回路110で選択する。
■ 指数部演算回路106は選択回路110の出力に従
い前処理部101の出力の指数部を補正する。
■ 後処理部107で指数部演算回路1θ6の出力と丸
め処理回路105の出力を合成し最終結果を得る。
(発明が解決しようとする課題) しかしながら、上記構成の浮動小数点演算回路における
演算時間Tは、正規化処理にががる時間をTn 、丸め
処理にかかる時間をTr 、その他の処理時間をTmと
したとき、T=Tm + Tn−h Trとなり、正規
化処理時間及び丸め処理時間にょシ浮動小数点演算時間
が延びるという問題点があった。
本発明は、以上述べた正規化処理時間と丸め処理時間を
逐次に実行することにより浮動小数点演算時間が延びる
という問題点を除去し、高速な浮動小数点演算回路を提
供することを目的とする。
(課題を解決するための手段) 本発明は上記目的を達成するため、桁合わせ後の仮数部
同士の演算を行う仮数部演算回路と、前記仮数部演算回
路の出力から該出力を正規化するためのシフト量を検出
する正規化シフト量検出回路と、前記仮数部演算回路の
出力を前記シフト量に従いシフトして正規化するシフト
回路と、前記仮数部演算回路の出力の丸め処理を行う丸
め処理回路と、前記シフト量が丸め処理を無効にする値
であるときは前記シフト回路の出力を選択し、無効にす
る値でないときは前記丸め処理回路の出力を選択して仮
数部演算結果とする選択回路とを備えたものである。
(作用) 仮数部演算回路は桁合わせ後の仮数部同士について演算
を行い、その結果を正規化シフト量検出回路、シフト回
路および丸め処理回路に出力する。
正規化シフト量検出回路は前記出方を正規化するための
シフト量を検出し、丸め処理の有効、無効を判別する。
判別は、左へ1ビツト以上シフトするとき、丸め処理が
無効になることに着目して行うことができる。シフト回
路は仮数部演算回路の出力を前記シフト量に従いシフト
し、正規化を行い仮数部を出力する。一方、丸め処理回
路もそれと並列に仮数部演算回路の出力について丸め処
理を行い仮数部を出力する。選択回路は正規化シフト量
検出回路の判別の結果に従い丸め処理が無効の場合には
シフト回路の出力を、有効の場合には丸め処理回路の出
力を選択し、仮数部演算結果として出力する。
すなわち、丸め処理が無効である場合にはシフト回路の
出力を仮数部演算結果とすることにょシ丸め処理を省略
し、その必要処理時間だけ短縮して浮動小数点演算の高
速化を図るものである。
(実施例) 第1図は本発明の実施例を示すブロック図である。すな
わち本実施例は第1オペランドと第2オペランドの指数
部の大小を比較して桁合わせ処理を行う前処理部1と、
桁合わせ後の仮数部同士の演算を行う仮数部演算回路2
と、仮数部演算回路2の出力を正規化するためのシフト
量を検出すると共に指数部補正量を出力する正規化シフ
ト量検出回路3と、正規化シフト量検出回路3が検出し
たシフト量に従い仮数部演算回路2の出力の正規化処理
を行い仮数部を出力するシフト回路4と、仮数部演算回
路2の出力の丸め処理を行い仮数部と指数部補正量とを
出力する丸め処理回路5と、正規化シフト量検出回路3
からの指数部補正量かまたは丸め処理回路5からの指数
部補正量を選択する選択回路10と、選択回路10の出
力に従い前処理部1の出力の指数部の補正を行う指数部
演算回路6と、シフト回路4から出力される仮数部かま
たは丸め処理回路5から出力される仮数部を選択する選
択回路11と、選択回路10の出力と選択回路1ノの出
力とを合成して最終結果を得る後処理部7とから構成さ
れている。
このように、本実施例はシフト回路4と丸め処理回路5
とを並列に構成した点に特徴があり、この点で第4図に
示す従来の浮動小数点演算回路の構成と大きく異ってい
る。
次に本実施例の動作について説明する。なお、本実施例
で用いる浮動小数点データ形式は、第4図に示す従来の
浮動小数点演算回路の動作説明で用いた形式と同様であ
るとし、また前処理部1から仮数部演算回路2−!での
動作は既に説明した第4図の前処理部101から仮数部
演算回路102までの動作と同様であるので、本実施例
の動作のうち仮数部演算回路2の出力を得た後からの動
作について説明する。
まず、最終結果の仮数部を仮数部演算回路2から求める
場合について述べる。正規化処理において左シフト操作
が行われる場合は、下位の桁に順次゛′0”が補われる
。従って、第2図の(ロ)に示すような本実施例におけ
るデータ形式では最下位桁の拡張ビット数が1ビツトで
あることから、1ビツト以上の左シフトが生じると拡張
ビットの値はIf OITとなり、丸め処理は無効にな
る。一方、シフト量がOビットの場合または1ビツト右
シフトする場合には丸め処理が有効となり、丸め処理に
おける+1加算を行うピット位置と1ビツトのシフト処
理の有無を考慮することにより必要とする仮数部、指数
部補正量を得ることができるのでシフト回路4による正
規化シフト処理を無効とすることができる。つまシ、仮
数部演算回路2の出力結果における上位2ビツト(ビッ
ト位置:25゜24)を判別することによシ、正規化シ
フト回路4の出力の仮数部が有効となる場合と丸め処理
回路5の出力の仮数部が有効となる場合とは区別するこ
とができ、これによシ正規化処理と丸め処理とを並列に
実行させることが可能となる。
前記上位2ビツト(ビット位置:25,24)のパター
ンが°00゛、 ” 01′”、 ” i o″′” 
11 ”の各場合について、第3図に示すデータ形式を
参照しながら以下詳細に説明する。
■ 仮数部演算回路2の出力の上位2ビツトがII O
OIIのパターンの場合には、第3図の(イ)に示すよ
うに正規化シフト処理において1ビツト以上(ニー24
ビツト、iは隠しビットのピット位置)の左シフト操作
が行われる。この左シフト操作により下位の桁には1ビ
ツト以上の“0゛′が補われるため丸め処理が無効であ
υ、シフト回路4の出力が有効となる。シフト後のビッ
ト23からビット1がシフト回路4の出力となる。
■ 仮数部演算回路2の出力の上位2ビツトが01”′
のノ9ターンの場合には左シフト操作は行われないので
丸め処理回路5の出力が有効となる。
第3図の(ロ)に示すように最下位ビットに1を加算す
ることによυ丸め処理を行い、その結果、桁上がシが無
く最上位ビット(ビット位置:25)が第3図の()う
に示すように0′″となるときは加算結果のビット23
からビット1が、また桁上がシを生じて最上位ビット(
ビット位置:25)が第3図のに)に示すように1゛′
となるときは加算結果のピント24からビット2が、そ
れぞれ丸め処理回路5の出力となる。
■ 仮数部演算回路の出力の上位2ビツトが”10’″
のパターンの場合には、左シフト操作は行われないので
丸め処理回路5の出力が有効となる。第3図の((ホ)
に示すように拡張ビットに対応する下位2ビツト目(ビ
ット位置:1)に1を加算することによシ丸め処理を行
い、ビット24が′0′であることから桁上りの有無に
関係なく加算結果のビット24からビット2が丸め処理
回路5の出力となる。
■ 仮数部演算回路2の出力の上位2ビツトが11″の
パターンの場合には、左シフト操作は行われないので丸
め処理回路5の出力が有効となる。この場合、第3図(
へ)に示すように下位2ビツト目(ビット位置:l)は
常に0゛′となるためあえて1を加算する必要はなく、
従って仮数部演算回路2の出力のビット24からピント
2がそのまま丸め処理回路5の出力となる。
次に、最終結果である指数部を前処理部1から求める場
合について説明する。最終結果の指数部は、正規化シフ
ト量検出回路3からの補正量域たは丸め処理回路5から
の補正量を選択回路10により選択し、指数部演算回路
6において前処理部1の出力の指数部を選択した補正量
の値に基づいて補正することにより得るものである。
まず、上述の■の場合には、仮数部演算回路2の出力に
つき(1−24)ビットの左シフト操作が行われシフト
回路4の出力が有効となるので、正規化シフト量検出回
路3から出力される補正値“+ 、−24++が選択回
路10により選択される。
また、上述の■、■、■の場合には、左シフト操作が行
われないことから丸め処理回路5の出力が有効となるの
で、丸め処理回路5から出力される補正量、すなわちオ
ーバフロービット(ビット位置:25)の値が選択回路
10により選択される。つまり、■の場合には、第3図
の(ハ)に示すように丸め処理における加算後のオーバ
フローピットの値が0″ときはパ0”が、第3図のに)
に示すように加算後のオーバフロービットが1”のとき
は” + 1 ”が補正量として選択される。また■、
■の場合には、第3図の(ホ)、(へ)に示すようにオ
ーバフロービットの値が” 1 ”であるので、” +
 1 ”が補正量として選択される。
以上、説明したように本実施例では、最終結果の仮数部
としては、上述の■の場合には正規化シフト回路4の出
力が、■、■、■の場合には丸め処理回路5の出力が選
択回路11により選択され後処理部7に供給される。ま
た、最終結果の指数部の補正量としては、■の場合には
正規化シフト量検出回路3の出力値である1−24′′
が、■。
■、■の場合には丸め処理回路5の出力であるオパフロ
ービノト(ピット位置=25)の値(”0°′または”
1”)に対応して0゛′または°+1′″が選択回路1
0により選択される。
従って、正規化処理と丸め処理とを並列に実行すること
が可能となシ、丸め処理が無効の場合にはこれを省略す
ることにより浮動小数点演算時間を短縮することができ
る。すなわち、正規化処理時間をTn 、丸め処理時間
をTr 、その他の処理時間をTmとした場合、一般に
Tn > Trであるから、選択回路の遅延時間が無視
できるものとすると、浮動小数点演算時間TはTm +
 Tnとなり、従ってT(Tm 十Tn + Trとな
るので、浮動小数点演算時間Tを丸め処理時間Trに相
当する時間短縮することができることとなる。
(発明の効果) 以上、詳細に説明したように本発明によれば、仮数部演
算の中間結果を正規化処理する際に丸め処理が無効とな
る正規化シフト量に着目し、その中間結果を分類するこ
とによシ正規化処理と丸め処理とを並列に実行すること
が可能となり、選択回路等の若干のハードウェアを付加
することで浮動小数点演算時間を丸め処理にかかる時間
だけ短縮できる。
本発明は、実施例の説明において用いた浮動小数点ヲ(
−1)s・2e−127・(1+f)且ツ0≦f〈1テ
アルトした32ビツトのデータ形式の場合に限定される
ものではなく、指数部と仮数部とを持つ一般の浮動小数
点データ形式の場合についても適用することができ、同
様の効果が期待できる。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図第3図は
データ形式を示す図、第4図は従来の浮動小数点演算回
路のブロック図である。 1・・・前処理部、2・・・仮数部演算回路、3・・・
正規化シフト量検出回路、4・・・シフト回路、5・・
・丸め処理回路、6・・・指数部演算回路、7・・・後
処理部、10.11・・・選択回路。 特許出願人 沖電気工業株式会社 夕形式 第3図 デ 第1オペランド 第2オペランド 演算結果 従来の浮動/」・数点演算回路 第4図

Claims (1)

  1. 【特許請求の範囲】 桁合わせ後の仮数部同士の演算を行う仮数部演算回路と
    、 前記仮数部演算回路の出力から該出力を正規化するため
    のシフト量を検出する正規化シフト量検出回路と、 前記仮数部演算回路の出力を前記シフト量に従いシフト
    して正規化するシフト回路と、 前記仮数部演算回路の出力の丸め処理を行う丸め処理回
    路と、 前記シフト量が丸め処理を無効にする値であるときは前
    記シフト回路の出力を選択し、無効にする値でないとき
    は前記丸め処理回路の出力を選択して仮数部演算結果と
    する選択回路とを具備したことを特徴とする浮動小数点
    演算回路。
JP1035128A 1989-02-16 1989-02-16 浮動小数点演算回路 Pending JPH02214931A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1035128A JPH02214931A (ja) 1989-02-16 1989-02-16 浮動小数点演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1035128A JPH02214931A (ja) 1989-02-16 1989-02-16 浮動小数点演算回路

Publications (1)

Publication Number Publication Date
JPH02214931A true JPH02214931A (ja) 1990-08-27

Family

ID=12433295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1035128A Pending JPH02214931A (ja) 1989-02-16 1989-02-16 浮動小数点演算回路

Country Status (1)

Country Link
JP (1) JPH02214931A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324270A (ja) * 1991-09-25 1993-12-07 Matsushita Electric Ind Co Ltd 浮動小数点数のためのフォーマット変換方法及びその装置
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324270A (ja) * 1991-09-25 1993-12-07 Matsushita Electric Ind Co Ltd 浮動小数点数のためのフォーマット変換方法及びその装置
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

Similar Documents

Publication Publication Date Title
US8626813B1 (en) Dual-path fused floating-point two-term dot product unit
CA1324217C (en) Pipelined floating point adder for digital computer
KR100264962B1 (ko) 결합된 선두 1 및 선두 제로 예상기
JPH07281872A (ja) 効率的な浮動小数点オーバーフローおよびアンダーフロー検出システム
US7720898B2 (en) Apparatus and method for adjusting exponents of floating point numbers
US20070112902A1 (en) Reciprocal estimate computation methods and apparatus
JP2008152360A (ja) 3項入力の浮動小数点加減算器
US7290023B2 (en) High performance implementation of exponent adjustment in a floating point design
US5931896A (en) Floating point addition and subtraction arithmetic circuit performing preprocessing of addition or subtraction operation rapidly
JPH02214931A (ja) 浮動小数点演算回路
JPH0239809B2 (ja)
US11366638B1 (en) Floating point multiply-add, accumulate unit with combined alignment circuits
JPH04350724A (ja) シフト量検出回路
EP1282034A2 (en) Elimination of rounding step in the short path of a floating point adder
JP2919386B2 (ja) 浮動小数点数検出装置および浮動小数点数検出回路
US6581087B1 (en) Floating point adder capable of rapid clip-code generation
US5838601A (en) Arithmetic processing method and arithmetic processing device
JP2517064B2 (ja) 非正規化数の処理方式
JP3174974B2 (ja) 浮動小数点演算装置および方法
US11429349B1 (en) Floating point multiply-add, accumulate unit with carry-save accumulator
JP2723707B2 (ja) 正規化回路
JP3187402B2 (ja) 浮動小数点データ加減算回路
JP3950920B2 (ja) 積和演算器及びデータ処理装置
JPH08202530A (ja) 正規化前丸め手段を有する浮動小数点加減算処理装置及び方法
JPH05204606A (ja) 浮動小数点演算方式および装置