JP2622012B2 - シフト回路 - Google Patents

シフト回路

Info

Publication number
JP2622012B2
JP2622012B2 JP2127545A JP12754590A JP2622012B2 JP 2622012 B2 JP2622012 B2 JP 2622012B2 JP 2127545 A JP2127545 A JP 2127545A JP 12754590 A JP12754590 A JP 12754590A JP 2622012 B2 JP2622012 B2 JP 2622012B2
Authority
JP
Japan
Prior art keywords
floating
normalized
shift
mantissa
point data
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
JP2127545A
Other languages
English (en)
Other versions
JPH0423033A (ja
Inventor
伸悟 石原
Original Assignee
甲府日本電気株式会社
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 甲府日本電気株式会社 filed Critical 甲府日本電気株式会社
Priority to JP2127545A priority Critical patent/JP2622012B2/ja
Publication of JPH0423033A publication Critical patent/JPH0423033A/ja
Application granted granted Critical
Publication of JP2622012B2 publication Critical patent/JP2622012B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 技術分野 本発明はシフト回路に関し、特に浮動小数点データ演
算器において、正規化されていない入力データの仮数部
をシフト制御するシフト回路に関するものである。
従来技術 浮動小数点加減算において、正規化が施されていない
浮動小数点データを入力するような場合、演算精度を上
げるため、まず、非正規化データを正規化するための処
理を行なう。
正規化されていない仮数部の値より、指数部、仮数部
を正規するための正規化量を算出する。指数部は正規化
量に基づいた値を指数部の値に加算もしくは減算するこ
とで正規化され、また仮数部は正規化量をシフト量とし
て、双方向シフタによりシフトすることで正規化され
る。
正規化データが準備されると、次に指数部をそろえる
ため、正規化された指数部同士の比較を行ない、指数部
の値が最も大きいデータを基準として、そのデータの仮
数部はシフトせず、そうでないデータの仮数部は値が最
も大きい指数部と自分自身の指数部との差分だけ右シフ
トを行なう。そして、桁合せされた仮数部同士の加減算
を行なえばよい。
従来例として、2つのオペランドを入力とする浮動小
数点加算器について、第3図を用いて具体的に説明す
る。
第1オペランドは符号部SA、指数部EA,仮数部MAより
構成されている正規化浮動小数点データ、第2オペラン
ドは符号部SB0,指数部EB0,仮数部MB0,仮数部桁あふれ用
保護部GB0より構成されている非正規化浮動小数点デー
タである。
第2オペランドは2進数であり、 (−1)SB0×(GB0+MB0)×2EB0と表され、特に仮数
部MB0,仮数部桁あふれ用保護部GB0は次のように表現さ
れる。
MB0=M0×2-1+M1×2-2+ …+Mm×2m-1 GB0=Gn×2n-1+ …+G2×21+G1×20 この場合、非正規化浮動小数点データと呼ばれるの
は、GB0=0かつMB0の少なくとも最大有意ビットM0が0
であるような値(以下有左シフトデータと呼ぶ)と、加
減算の結果などでMB0から桁あふれが生じ、GB0≠0であ
るような値(以下桁あふれデータと呼ぶ)のことであ
る。
また、正規化浮動小数点データとは、仮数部からの桁
あふれがなく(GB=0)かつ最大有意ビットM0が1であ
るような値のことをいう。
正規化量算出回路1は仮数部MB0と仮数部桁あふれ用
保護部GB0を入力として、仮数部が桁あふれしているか
どうかを判断し、「桁あふれがあるのなら仮数部を桁あ
ふれ分右シフトを、桁あふれがなければ仮数部をリーデ
ィングゼロカウンタの値分左シフトを行なう」、という
ことを表わす正規化シフト量NSB0を出力するものとす
る。この正規化シフト量NSB0は仮数部をシフトするべき
シフト分の値として、左シフトなら負数、右シフトなら
正数で表現する。したがって仮数部桁あふれデータなら
正数、有左シフトデータなら負数となる。
仮数部MB0はこの正規化シフト量NSB0に基づいて双方
向シフタ8により正規化される。正規化された仮数部を
MBと呼ぶ。また、指数部EB0は、指数部正規化回路2に
より正規化シフト量NSB0を加算することで正規化され
る。正規化された指数部をEBと呼ぶ。
指数部比較回路31は2つの指数部EA,EBを入力とし
て、それらの大小比較を行ない、 EA=EBのとき、CI(S0,T0) =(0,0) EA>EBのときCI(S0,T0) =(0,1) EA<EBのときCI(S0,T0) =(1,0) と表すような比較情報CI(S0,T0)を比較結果として出
力する。
また、指数部減算回路32はEBからEAを減じ、その差分
SBBAを出力し、指数部減算回路33はEAからEBを減じ、そ
の差分SBABを出力する。
そして、指数部比較回路31より導かれた比較情報CI
(S0,T0)に基づいて、選択回路34は、T0=0のとき、
(EA≦EBのとき)、指数部減算回路32の出力結果SBBA
を、S0=0のとき(EA≧EBのとき)、零を夫々選択す
る。同じように、選択回路35はS0=0のとき(EA≧EBの
とき)、指数部減算回路33の出力結果SBBAを、T0=0の
とき(EA≦EBのとき)、零を夫々選択する。
これらの選択回路の出力がそれぞれ第1、第2オペラ
ンドの仮数部MA,MBに対する桁合せシフト量SFA,SFBとな
る。桁合せシフト量も、正規化量と同じように左シフト
なら負数、右シフトなら正数で表現される。
尚、指数部比較回路31、指数部減算回路32、33及び選
択回路34,35がシフト量算出部3を構成している。
選択回路4は、S0=0のとき(EA≧EBのとき)、第1
オペランドの指数部EAを、T0=0とき(EA≦EBのと
き)、第2オペランドの指数部EBを夫々選択し、加算結
果指数部ECとして出力する。
右方向シフタ5は桁合せシフト量SFAに基づいて第1
オペランドの仮数部MAをシフトし、右方向シフタ9は桁
合せシフト量SFBに基づいて、第2オペランドの仮数部M
Bをシフトする。
桁合せが施された2つの仮数部MAS,MBSは仮数部加算
回路7で加算され、加算結果仮数部MCとして出力され
る。
前述したように、非正規化データを入力に持つ浮動小
数点演算器における正規化されていないオペランドの仮
数部に対しては、正規化シフトを行ない、さらに桁合せ
シフトを行なう、という2回のシフト処理を施さなけれ
ばならない。つまり、一つの仮数部に対して2つのシフ
タが必要となる。一般にシフタの回路はシフトされるべ
きデータのビット幅分の選択ゲートから構成されている
ためビット幅の非常に大きい仮数部などに対するシフタ
は選択ゲートが多数必要となる。したがって、シフタを
2段直列に必要とするということはハードウェア量およ
び演算時間の増大という問題が発生する。
前述の如く、非正規化浮動小数点データの仮数部に対
しては、正規化シフトと桁合せシフトが別々に行なわれ
ているが、この2つのシフト処理をまとめて1回の処理
で済ませれば、前述した問題点は解決される。そのため
には、正規化シフトと桁合せシフトを同様に考え合せ
て、1回のシフト処理で済むようなシフト量を生成する
ようにする必要がある。
発明の目的 そこで、本発明はこの様な従来技術の問題点を考慮し
てなされたものであり、その目的とするところは、非正
規化データの仮数部のシフト処理を1回で済ませるよう
にして、ハードウェア量及び演算時間の削減を図ったシ
フト回路を提供することにある。
発明の構成 本発明によれば、正規化されている第1の浮動小数点
データと正規化されていない第2の浮動小数点データと
の演算を、前記第2の浮動小数点データを正規化した後
に行なうようにした浮動小数点演算器において、前記第
2の浮動小数点データの仮数部に対するシフトを行なう
シフト回路であって、前記第2の浮動小数点データの仮
数部に応じて正規化量を算出する手段と、前記第2の浮
動小数点データの指数部を前記正規化量に応じて正規化
する手段と、この正規化された指数部と前記第1の浮動
小数点データの指数部と、更には前記正規化量とに応じ
て前記第2の浮動小数点データの仮数部のシフト量を算
出する手段と、このシフト量に応じて当該仮数部をシフ
トする手段とを含み、このシフト後のデータを前記演算
器へ送出するようにしたことを特徴とするシフト回路が
得られる。
更に本発明によれば、正規化されている第1の浮動小
数点データと正規化されている第2の浮動小数点データ
との演算を、前記第2の浮動小数点データを正規化した
後に行なうようにした浮動小数点演算器において、前記
第2の浮動小数点データの仮数部に対するシフトを行な
うシフト回路であって、前記第2の浮動小数点データの
仮数部に応じて正規化量を算出する手段と、前記第2の
浮動小数点データの指数部を前記正規化量に応じて正規
化する手段と、前記第1及び第2の浮動小数点データの
各指数部と前記正規化量とに応じて前記第2の浮動小数
点データの仮数部のシフト量を算出する手段と、このシ
フト量に応じて当該仮数部をシフトする手段とを含み、
このシフト後のデータを前記演算器へ送出するようにし
たことを特徴とするシフト回路が得られる。
実施例 次に、本発明の実施例を図面を用いて説明する。第1
図は本発明の実施例の回路図であり、実施例は従来例と
同様、2つのオペランドを入力とする浮動小数点加算器
について適用した例であり、第1オペランドは符号部S
A、指数部EA,仮数部MAより構成されている正規化浮動小
数点データ、第2オペランドは符号部SB0,指数部EB0,仮
数部MB0,仮数部桁あふれ用保護部GB0より構成されてい
る非正規化浮動小数点データとする。
第3図と同等部分は同一符号により示しており、非正
規化データに対する正規化量算出、非正規化データ指数
部を正規化する処理比較情報生成、加算結果指数部、加
算結果仮数部の算出、および正規化データである第1オ
ペランドの仮数部が桁合せされる処理は第3図の従来例
と全く同じである。
非正規化データである第2オペランドの仮数部が正規
化および桁合せされるまでを以下詳細に述べる。
正規化のためのシフト量は正規化量算出回路1より、
求められている。
正規化シフト量=NSB0 また、桁合せのためのシフト量は指数部減算回路33より
求められている。
桁合せシフト量=SBAB=EA−EB (≧0のとき有効) これらのシフト量は従来例と同様、左シフトなら負数、
右シフトなら正数で表現される。
ところで指数部同士を大小比較したときに、自分自身
の方が大きいかあるいは等しいのならば、自分自身の指
数部を基準とするので、仮数部を桁合せシフトする必要
がなく、正規化シフトのみ考えればよい。逆に、他のオ
ペランドの指数部が基準となる場合は、正規化シフトと
桁合せシフトの両方が必要となり、正規化シフト量と桁
合せシフト量を加算するシフト量加算回路36の結果ADS
が有効となる。
以上を整理すると、比較情報CI(S0,T0)に基づい
て、選択回路35はT0=0のとき(EA≦EBのとき)、正規
化シフト量NSB0を、S0=0のとき(EA≧EBのとき)、シ
フト量加算回路36の結果ADSを選択して、第2オペラン
ド仮数部に対するシフト量SFB0となる。
T0=S0=0のとき(EA=EBのとき)は、正規化シフト
量NSB0と加算結果ADSとが同時に選ばれるが、これ等は ADS=NSB0+(EA−EB)=NSB0 と表わされて互いに同値なので、何ら問題はない。
このシフト量SFB0に基づいて、仮数部MB0および仮数
部桁あふれ用保護部GB0は双方向シフタ6によって正規
化および桁合せが同時に処理される。
第2図は本発明の他の実施例の回路図であり、第1図
と同等部分は同一符号により示している。この実施例も
第1図の実施例と同様、2つのオペランドを入力とする
浮動小数点加算器について適用したものであり、第1オ
ペランドは符号部SA、指数部EA、仮数部MAより構成され
る正規化浮動小数点データ、第2オペランドは符号部SB
0,指数部EB0、仮数部MB0、仮数部桁あふれ用保護部GB0
より構成される非正規化浮動小数点データとする。
非正規化データに対する正規化量算出、非正規化デー
タ指数部を正規化する処理比較情報生成、加算結果指数
部、加算結果仮数部の算出、および正規化データである
第1オペランドの仮数部が桁合せされる処理は従来例と
全く同じである。
非正規化データである第2オペランドの仮数部が正規
化および桁合せされるまでを以下詳細に述べる。正規化
のためのシフト量は正規化量算出回路1より求められて
いる。
正規化シフト量=NSB0 また、桁合せのためのシフト量は正規化されている指数
部同士の差分で、第2オペランドに対しては 桁合せシフト量=SBAB=EA−EB (≧0)である。
ところで、指数部EBは正規化された後の値で元々は非
正規化指数部と正規化シフト量の和である。
EB=EB0+NSB0 これらのシフト量は従来例と同様、左シフトなら負数、
右シフトなら整数で表現される。
ところで、指数部同士を大小比較したときに自分自身
の方が大きいかあるいは等しいのならば、自分自身の指
数部を基準とするので、仮数部を桁合せシフトする必要
がなく、正規化シフトのみ考えればよい。逆に、他のオ
ペランドの指数部が基準となる場合は、正規化シフトと
桁合せシフトの両方が必要となる。この場合正規化シフ
ト量と桁合せシフト量を加算すればよい。つまり、 NSB0+SBAB=NSB0+EA−EB となる。さらに、 EB=EB0+NSB0 なので、 NSB0+SBAB=NSB0+EA− (EB0+NSB0)=EA−EB0 (=SBAB0) となり、これが正規化と桁合せとを同時に考えたときの
シフト量となる。
第1オペランドの正規化データ指数部EAから第2オペ
ランドの非正規化データ指数部EBを減じる指数部減算回
路33の出力SBAB0がこれである。
以上を整理すると、比較情報CI(S0,T0)に基づい
て、選択回路35はT0=0のときEA≦EBのとき)、正規化
シフト量NSB0を、S0=0のとき(EA≧EBのとき)、指数
部減算回路33の結果SBAB0を選択して、第2オペランド
仮数部に対するシフト量SFB0とする。
T0=S0=0のとき(EA=EBのとき)は正規化シフト量NS
B0と減算結果SBAB0が同時に選ばれるが、これ等は SBAB0=EA−EB0=EB−EB0 =(EB0+NSB0)−EB0 =NSB0 と表わされて互いに同値なので、何ら問題はない。
このシフト量SFB0に基づいて仮数部MB0および仮数部
桁あふれ用保護部GB0は双方向シフタ6によって正規化
および桁合せが同時に処理される。
発明の効果 以上説明したように、本発明によれば、非正規化浮動
小数点データの仮数部に対して施さなければならない正
規化シフトと桁合せシフトとを1回のシフト処理で済ま
せるために、2つのシフトをまとめて行なえるようなシ
フト量を算出するシフト量算出手段を有することで、仮
数部に対するシフタが1つで済むようになり、演算時間
の遅延、ハードウェア量が小さくなるという効果があ
る。
【図面の簡単な説明】
第1図及び第2図は本発明の実施例を夫々示す回路図、
第3図は従来技術を示す浮動小数点演算器の回路図であ
る。 主要部分の符号の説明 1……正規化量算出回路 2……指数部正規化回路 3……シフト量算出部 6……双方向シフタ 33……指数部演算回路 35……セレクタ 36……シフト量加算回路

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】正規化されている第1の浮動小数点データ
    と正規化されていない第2の浮動小数点データとの演算
    を、前記第2の浮動小数点データを正規化した後に行な
    うようにした浮動小数点演算器において、前記第2の浮
    動小数点データの仮数部に対するシフトを行なうシフト
    回路であって、前記第2の浮動小数点データの仮数部に
    応じて正規化量を算出する手段と、前記第2の浮動小数
    点データの指数部を前記正規化量に応じて正規化する手
    段と、この正規化された指数部と前記第1の浮動小数点
    データの指数部と、更には前記正規化量とに応じて前記
    第2の浮動小数点データの仮数部のシフト量を算出する
    手段と、このシフト量に応じて当該仮数部をシフトする
    手段とを含み、このシフト後のデータを前記演算器へ送
    出するようにしたことを特徴とするシフト回路。
  2. 【請求項2】正規化されている第1の浮動小数点データ
    と正規化されていない第2の浮動小数点データとの演算
    を、前記第2の浮動小数点データを正規化した後に行な
    うようにした浮動小数点演算器において、前記第2の浮
    動小数点データの仮数部に対するシフトを行なうシフト
    回路であって、前記第2の浮動小数点データの仮数部に
    応じて正規化量を算出する手段と、前記第2の浮動小数
    点データの指数部を前記正規化量に応じて正規化する手
    段と、前記第1及び第2の浮動小数点データの各指数部
    と前記正規化量とに応じて前記第2の浮動小数点データ
    の仮数部のシフト量を算出する手段と、このシフト量に
    応じて当該仮数部をシフトする手段とを含み、このシフ
    ト後のデータを前記演算器へ送出するようにしたことを
    特徴とするシフト回路。
JP2127545A 1990-05-17 1990-05-17 シフト回路 Expired - Lifetime JP2622012B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2127545A JP2622012B2 (ja) 1990-05-17 1990-05-17 シフト回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2127545A JP2622012B2 (ja) 1990-05-17 1990-05-17 シフト回路

Publications (2)

Publication Number Publication Date
JPH0423033A JPH0423033A (ja) 1992-01-27
JP2622012B2 true JP2622012B2 (ja) 1997-06-18

Family

ID=14962659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2127545A Expired - Lifetime JP2622012B2 (ja) 1990-05-17 1990-05-17 シフト回路

Country Status (1)

Country Link
JP (1) JP2622012B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01282633A (ja) * 1988-05-10 1989-11-14 Fujitsu Ltd 非正規化数の処理方式
JPH0212128A (ja) * 1988-06-29 1990-01-17 Fuji Photo Film Co Ltd 液晶セル作成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01282633A (ja) * 1988-05-10 1989-11-14 Fujitsu Ltd 非正規化数の処理方式
JPH0212128A (ja) * 1988-06-29 1990-01-17 Fuji Photo Film Co Ltd 液晶セル作成方法

Also Published As

Publication number Publication date
JPH0423033A (ja) 1992-01-27

Similar Documents

Publication Publication Date Title
EP0483864B1 (en) Hardware arrangement for floating-point addition and subtraction
US4999803A (en) Floating point arithmetic system and method
US8185570B2 (en) Three-term input floating-point adder-subtractor
WO1985004272A1 (en) Floating point arithmetic system and method with anticipation rounding
US6549926B1 (en) SRT divider having several bits of each partial remainder one-hot encoded to minimize the logic levels needed to estimate quotient bits
WO1989009441A1 (en) Apparatus and method for floating point normalization prediction
US5375078A (en) Arithmetic unit for performing XY+B operation
US6175851B1 (en) Fast adder/subtractor for signed floating point numbers
JPWO2007096982A1 (ja) 演算処理装置および演算処理方法
US4639887A (en) Bifurcated method and apparatus for floating point addition with decreased latency time
US5623435A (en) Arithmetic unit capable of performing concurrent operations for high speed operation
US5260889A (en) Computation of sticky-bit in parallel with partial products in a floating point multiplier unit
US20070038693A1 (en) Method and Processor for Performing a Floating-Point Instruction Within a Processor
US6061707A (en) Method and apparatus for generating an end-around carry in a floating-point pipeline within a computer system
JP2511527B2 (ja) 浮動小数点演算器
US6571264B1 (en) Floating-point arithmetic device
JP2622012B2 (ja) シフト回路
EP0332215B1 (en) Operation circuit based on floating-point representation
US11429349B1 (en) Floating point multiply-add, accumulate unit with carry-save accumulator
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
US6067556A (en) Method and apparatus for adding floating point numbers in a data processing system
JP3124286B2 (ja) 浮動小数点数演算装置
JPH04213110A (ja) 浮動小数点算術演算方法及び装置
GB2296803A (en) Apparatus for arithmetically operating floating-points
JPH0498524A (ja) 浮動小数点演算装置