JP3187402B2 - 浮動小数点データ加減算回路 - Google Patents

浮動小数点データ加減算回路

Info

Publication number
JP3187402B2
JP3187402B2 JP19284989A JP19284989A JP3187402B2 JP 3187402 B2 JP3187402 B2 JP 3187402B2 JP 19284989 A JP19284989 A JP 19284989A JP 19284989 A JP19284989 A JP 19284989A JP 3187402 B2 JP3187402 B2 JP 3187402B2
Authority
JP
Japan
Prior art keywords
circuit
data
addition
subtraction
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
JP19284989A
Other languages
English (en)
Other versions
JPH0357019A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP19284989A priority Critical patent/JP3187402B2/ja
Publication of JPH0357019A publication Critical patent/JPH0357019A/ja
Application granted granted Critical
Publication of JP3187402B2 publication Critical patent/JP3187402B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、正規化された浮動小数点データの加減算回
路に関するもので、特にデジタル・シグナル・プロセッ
サ(略してDSP)や高位マイコンに使用されるものであ
る。
(従来の技術) DSPや高位マイコン等、高精度で広いダイナミックレ
ンジを実現する信号処理LSIには、正規化された浮動小
数点データが広く使用されている。ところで上記信号処
理LSIは、高速性が要求されている。その高速化を制限
しているものの1つに、浮動小数点データ加減算回路
(FASUという)がある。
まず、従来の浮動小数点加減算回路(FASU)について
説明する。
第29図に従来のFASUのブロック図を示す。
まず桁合せ回路1により入力Xと入力Yの指数部デー
タを比較して、その差に従い仮数部データの桁合せ操作
を行なう。その時に、指数部の差が仮数部桁合せ桁より
大きい場合、指数部が小なる一方の仮数部データを0に
固定する(0判定回路)。
次に、加減算回路2により、桁合せされた2入力の仮
数部データの加減算を行なう。
最後に、正規化回路3により、仮数部の加減算結果か
ら正規化量を見積り、その見積りに従い加減算結果を正
規化する。
第30図は、従来の32E6(仮数部32ビット,指数部6ビ
ット)FASUの回路ブロック図である。次にこの回路につ
いて説明する。
まず減算回路4によって、入力Xの指数部データXE
と、入力Yの指数部データYEとの減算を行なう。その減
算結果に従い仮数部データXMまたはYMを、右方向にシフ
トすることによって桁合せを行なう。その時シフトは、
Xシフタ5、Yシフタ6にて行なわれる。次表にシフト
条件を記載する。
次に、桁合せ後の仮数部データXM′とYM′を、命令に
従い、加減算回路7で加算または減算を行なう。上記加
減算回路7にて加減算された出力データの正規化を行な
うための正規化量検出回路8と左シフト回路9と減算回
路10によって正規化回路が構成されている。上記加減算
結果ZM′を回路8に入力し、仮数部データの正規化量を
検出する。その正規化量に従い、仮数部ZM′を左にシフ
トする。また回路10により、正規化量を指数部ZE′から
減算する。その出力結果である仮数部出力ZMと指数部出
力ZEがそれぞれ浮動小数点加減算回路出力となる。
次に実際に数値を代入してX−Yの減算方法を説明す
る。データ長は、仮数部が32ビット(bit),指数部が
6ビット(bit)とする。下記の仮数部1bit目は符号bit
である。Eの左側は仮数部データ、右側は指数部データ
である。
上式を求める時、まずXE−YEを求める。
上の計算結果のXE>YE、|XE−YE|=4から、YMを右に
4bitシフトして減算を行なう。
即ち減算結果ZM′から正規化量を検出する。符号bit
は0で、それから0が1bit連続であるので、正規化量は
D=1つまり1ビットシフトである。
次に正規化量に従い仮数部ZM′を左に1bitシフトす
る。その出力結果ZMが仮数部の出力となる。また指数部
は、「XE−YE>0」であるため、桁合せ回路でXE,YEと
もに、XEの指数部100000に合せ込まれており、ZE′はZ
E′=XE=100000となる。その後正規化量D=1に従
い、仮数部データが左に1bitシフトしたため、指数部デ
ータは1だけ減少する。よって指数部データZEは、0111
11となる。
この場合XE=100000,YE=011111で、これら両者は1bi
tちがいだから、桁合せのため、YMを右1bitシフトす
る。
ここでZM′=00000100…000,ZE′=100000であり、Z
M′より正規量を見積る。符号bitのあとに0が4個だか
らD=4である。即ちZM′を左へ4bitシフトし、ZE′を
4減少する。つまりZM=01000000…000,ZE=011100とな
る。
の場合は、XE−YE=2だから、桁合せすると、 これを正規化すると(1bitシフト) Z=010011…10 E 011111 となる。
第31図は従来の仮数部31bit、指数部6bitの浮動小数
点加減算回路のブロック図である。次にこの回路につい
て説明する。ここではXシフタ5、Yシフタ6、減算回
路4等に含まれていた0固定回路12,13、0判定回路1
4、シフト量検出回路15等を取り出して示してある。
この回路は、まず、減算回路4によって入力Xの指数
部データXEと、入力Yの指数部データYEとの差を求め、
その結果に従い仮数部データXMまたはYMを右方向にシフ
トすることによって桁合せを行なう。その時のシフトは
Xシフト回路5、Yシフト回路6にて行なわれる。その
時のシフト量と条件を第32図に記載する。
次に、桁合せの後の仮数部データXM′とYM′を、命令
に従い31bit加減算回路7により加減算を行なう。
最後に、加減算回路7の出力結果に従い、出力データ
の正規化を行なう。まず、31bit加減算回路7の出力結
果を入力とし、正規化量検出回路8によって正規化量を
検出する。その値に従い仮数部を左シフトし、それをZM
とする。また、減算回路10により正規化量を指数部ZE′
から減算し、その結果をZEとする。その出力結果ZMとZE
を、浮動小数点加減算回路の出力結果とする。
(発明が解決しようとする課題) 第30図のデータ長32E6の浮動小数点加減算回路は、入
力データとしては、32E6の正規化入力信号XとYと、加
算,減算を選択する演算命令があり、出力に関しては、
入力信号X,Yを、演算命令に従い、加減算を行なった結
果Zを出力する。
前述しているように入力信号X,Yを入れてから計算出
力Z(ZEとZM)が出てくるまでに、直列に次の回路を通
る。
1) 6bitの減算回路4からシフト量を算出する。
2) 上記1)の結果から31bit(5段)のシフタ5,6を
通る。
3) 上記2)の結果を32bitの、加減算回路7で計算
する。
4) 計算結果「32bit+キャリー」を入力として、5bi
t出力する正規化量算出のエンコーダ回路8を通る。
5) エンコーダ8により検出された正規化量に従い、
仮数部データをシフトする31bit(5段)のシフタ9を
通る。
5)′エンコーダ8により検出された正規化量に従い、
指数部データを削減させる6bit減算回路10を通る。
以上浮動小数点加減算回路は、1)〜5)、または
1)〜4),5)′を直列に信号が流れるため、演算速度
が遅くなる欠点があり、信号処理LSIの高速化を制限す
る原因の1つになっている。
また第31図の従来のFASUでは、加減算時において、2
入力指数部の差が仮数部データの桁数以上、つまりシフ
ト量以上の時はシフト不可となり、加減算回路入力YE′
またはXM′の指数部の小なる数の仮数部データを0に固
定して、加減算を行なっている(第32図)。
このため、浮動小数点加減算回路(FASU)の演算経路
のクリティカルパスに、減算回路4の出力結果からXMま
たはYMを0に固定するための0判定回路14と、31bit加
減算回路7の入力信号XM′またはYM′を、0判定回路14
の出力結果に従い、オール“0"に固定するための0固定
回路12,13が挿入されている。これは、浮動小数点加減
算回路のゲート段数の増加を意味しており、高速化のさ
またげになっている。
また第31図の浮動小数点加減算回路では、正規化回路
において、仮数部加減算回路7の出力結果から正規化量
を検出しているため、正規化、つまり仮数部の正規化量
分の左シフトと指数部の正規化量分の減算が、仮数部の
加減算結果が検出されるまで行なわれず、高速化が難し
かった。
そこで本発明の目的は、前記従来のものより高速化が
可能となる浮動小数点データ加減算回路を提供すること
にある。
[発明の構成] (課題を解決するための手段と作用) 本発明は、少くとも第1、第2の仮数部データ演算経
路を有し、前記第1の仮数部データ演算経路は、所定の
桁数の桁合せ機能を有し、この所定の桁数の範囲内で指
数部データの差に応じて仮数部データの桁合せを行なう
桁合せ回路と、該回路により桁合せされた仮数部データ
の加算または減算を行なう加減算回路と、該回路での演
算結果から正規化量を検出する正規化量検出回路と、前
記正規化量に応じて仮数部データの正規化を行なう正規
化用シフタとを有し、前記第2の仮数部データ演算経路
は、入力オペランドスルーの経路と入力オペランドの符
号反転回路を有し、前記第1、第2の仮数部データ演算
経路を並列に動作させ、浮動小数点データの加算命令時
において、指数部の差が仮数部桁合せ桁数より大きい
時、指数部が大であるオペランドのスルーデータを加減
算結果とし、浮動小数点データの減算命令時において、
指数部の差が仮数部桁合せ桁数より大きい時、2つのオ
ペランド内の被減数が大である時は被減数側のスルーデ
ータを、減数が大である時は減数側の符号反転データ
を、加減算結果とするものであり、指数部データの差に
応じて前記第1、第2の仮数部データ演算経路の出力を
選択することを特徴とする浮動小数点データ加減算回路
である。
また、本発明は、指数部データの差に応じて仮数部デ
ータの桁合せを行なう桁合せ回路と、該回路により桁合
せされた仮数部データの加算または減算を行なう加減算
回路と、該回路での演算前の仮数部データの各ビットの
一部とその前後の数ビットを用いて、桁上がり信号を伴
わずに論理演算し、その演算結果からフラグを立て、そ
れを正規化量エンコード回路の入力とする正規化量検出
回路と、該回路の出力に応じて前記加減算回路からの仮
数部データの正規化を行なう正規化用シフタと、該シフ
タの出力から該出力データを右または左へ1ビットシフ
トするか否かを選択する手段とを具備したことを特徴と
する浮動小数点データ加減算回路である。
即ち本発明は、従来技術のデータの流れに対して、あ
る条件を加味した複数のデータパスを設け、それぞれを
浮動小数点データによって、選択的に制御,選択する事
によって、各データパス系の回路機能を単純にし、回路
のゲート段数の減少を企てる。また本発明は、従来技術
における0判定回路および0固定回路による処理速度の
低下を軽減するため、桁合せのために生じるシフト量に
よって選択される少くとも2系統の演算回路を設け、こ
れらの演算結果を選択することで、高速性を実現してい
る。即ち指数部の減算によって仮数部のシフト量が仮数
部の桁数未満である時は、従来技術と同様の加減算回路
の演算結果が選択される。ただし、この回路には0固定
回路は付加されていない。つまり、指数部の小さい方の
データの仮数部を、指数部の減算結果分右シフトし加減
算を行ない、その後正規化をする。また、指数部の減算
によって仮数部のシフト量が仮数部の桁数以上である時
は、データスルーもしくは符号反転の回路が選択され
る。上記の2系統の回路は並列に処理され、指数部入力
により最後に選択される。
また本発明では、正規化回路において正規化量を桁合
せ後のデータ、すなわち仮数部加減算回路の入力データ
から検出することを特徴としている。正規化量の検出、
および正規化に費やされる処理のほとんどは、仮数部加
減算回路の入力データを用いることにより、仮数部加減
算と並列に処理される。
また本発明では、仮数部データの加減算回路の出力が
オーバーフローした時、1ビット右シフトする回路を正
規化用シフタから取り出し、これらを並列に選択使用す
ることにより、ゲート段数を減らし、高速化をはかって
いる。
(実施例) 以下図面を参照して本発明の実施例を説明する。第1
図はこの発明の途中の過程で考えられた浮動小数点デー
タ加減算回路の構成図であり、経路Aは、桁合せ回路2
1、加減算回路22、±1bitシフトの正規化回路23よりな
る。経路Bは、最大1bitシフトの桁合せ回路24、加減算
回路25、正規化回路26よりなる。経路A,Bは、セレクタ
回路27への制御信号Cで、いずれかが選択され、それが
出力Zとなる。
正規化された2つの浮動小数点信号の仮数部条件は、 010000……000≦XM≦0111……111 …(1) 010000……000≦YM≦0111……111 …(2) である。ここでは簡単のためXM,YMが両方とも正の場合
について説明するがXM,YMが2の補数表現であることを
考慮すれば、XM,YMの片方または両方が負である場合も
同様に説明できる。ここでXM(XM>0の場合)の左辺及
び右辺の最上位ビットの重みは「1」,次の桁の重みは
「1/2」,次の桁の重みは「1/4」,…であり、YMについ
ても同様である。従って(1)式のXMの左辺及び(2)
式のYMの左辺は、共に「1/2」を表わしている。またXM
の右辺及びYMの右辺は、共に最下位ビット分だけ「1」
より小さい数を表わしている。
(5)式から、YMを2bit以上右にシフトした時、 となり、正規化は、高々1以下となる。換言すれば
「1」の場合1bitシフト,「0」の場合シフトなしであ
る。また(6)式から、XMを2bit以上右へシフトした場
合、 となり、正規化量は高々1以下となる。
以上の結果から、2bit以上の正規化シフトが必要な条
件としては、桁合せ量(指数部の値による仮数部どうし
の桁合せ量)が1bit以下つまり|XE−YE|≦1の時であ
る。
第1図の回路は、2つの加減算経路A,Bを設け、Aは
従来の桁合せ回路を持っているが、正規化量が高々1bit
であり、Bは、桁合せが1bit以下であるが、従来の正規
化回路を持っている。この信号経路Aの出力とBの出力
を別々に求め、最後にAの出力またはBの出力を信号C
で選択する。その時の信号Cによる選択条件として、2
入力信号の差|XE−YE|≦1を使用する。以上の特徴によ
って、高速化を実現できることは後述する。
第2図は第1図の具体例である。
1)信号経路Aについては、 (i)2入力信号の指数部の差「XE−YE」を減算回路31
で算出する。その差に従い、Xシフタ211,Yシフタ212
より、XMまたはYMを右にシフトする事で桁合せを行な
う。ただし、条件として、「XE−YE>31」の時はYM=0
とする。「XE−YE<−31」の時はXM=0とする。これら
は共にシフト範囲をこえた時である。
(ii)上記(i)によって、桁合せ後の仮数部データY
M′1とYM′1を、加算又は減算命令によって加減算回
路22で加算又は減算する。また指数部データの大きい方
をセレクタ32でセレクトし、これをZE′として減算回路
34へ出力する。
(iii)加減算回路22の出力結果ZM′1を、±1bit正規
化用エンコーダ33に入力し、ZM′1の上位数ビットから
左又は右1bitシフト制御信号を出力する。そのシフト制
御信号に従い左右1bitシフタ23によって正規化を行な
う。このシフタ23の出力を信号経路Aの仮数部出力ZM1
とする。
ここで、ZM′1の正規化量が、±1bit以上になる可能
性はあるが、その時の出力セレクタ27は、経路Bを選択
するので、don't Care(関係なし)である。
2)次に信号経路Bについては、 (i)2入力信号の指数部下位2bitつまりXE1,XE0,YE1,
YE0を入力として、第3図に従い、1bitシフタ241または
242でXMまたはYMを1bit右にシフトする。第3図で
「X」は不定の意味である。第6図は第5図のカルノー
マップをもとに設計した信号XS(Xシフト),YS(Yシ
フト)の発生回路である。
(ii)上記(i)により、桁合せ後の仮数部データXM′
2とYM′2を、加算又は減算命令によって、加減算回路
25で加減算する。
(iii)加減算回路25の出力結果ZM′2に対し、正規化
量検出回路35によって正規化量を検出する。その検出結
果に従って、31bit左シフタ26によってシフトする事で
正規化を行なう。そのシフタ26の出力を信号経路Bの仮
数部データZM2とする。
3)次に仮数部出力結果ZM1,ZM2及び正規化量結果M1ま
たは、M2の選択用セレクタ27,セレクタ36の制御信号の
選択条件は、第4図によって求まる。
入力信号XM,YMの符号bit、加減算命令、指数部XE,YE
の減算結果によって、第7図の如く選択信号Cが作ら
れ、それに従いセレクタ27,セレクタ36で出力結果が選
択され、出力される。
上記第2図の回路によれば次の利点がある。
即ち第30図の如く、従来の32E6の浮動小数点の加減算
においては、その信号経路が、まず6bit減算回路4によ
って指数部の差を求め、指数部の差に従い、Xシフタ5
またはYシフタ6(31bitシフタ)により、桁合せを行
なう。そのデータを32bit加減算回路7にて加減算し、
その加減算結果を用いて正規化量を検出し、この正規化
量に従い、シフタ9でシフトを行なう。その時のデータ
の回路遅延は、 (1) 6bit減算回路4→5段シフト回路5または6→
32bit加減算回路7→−1bit,+31bitエンコーダ8→5
段シフト回路9 となる。
一方、第2図の回路では、 (2) 6bit減算回路31→5段シフト回路211または212
→32bit加減算回路22→±1bitエンコーダ33→1段シフ
ト回路23→セレクト回路27 または、 (3) 4入力制御回路(第6図)→1段シフト回路24
1または242→32bit加減算回路25→+31bitエンコーダ25
→5段シフト回路26→セレクト回路27 回路遅延は、信号パス(2),(3)の遅い方になる。
明らかに(2),(3)は、(1)に比べゲート段数が
少く、高速性が実現できる。
第8図は従来の第31図を改良した本発明の実施例で、
これは仮数部31bit,指数部6bitのFASUに適用したもので
ある。第9図(a)は一般的な1bit減算器のブロック
図、第9図(b)はその真理値表、第9図(c)は同回
路図、第10図は第9図の1bit減算器を利用した減算回路
4及び0判定回路14の回路図、第11図(a),第12図は
従来のXシフト回路,Yシフト回路図、第11図(b)は回
路部51のブロック図、第11図(c)は同詳細回路図、第
13図,第14図は第8図のXシフト回路5,Yシフト回路6
を示す。
第8図において41〜44はセレクタで、それぞれ選択入
力(C1,C2)が“1"の時、A0〜A3側の入力が選択され、
選択入力が“0"の時、他方の入力が選択される。45はPM
スルー/−PM回路であり、この回路45は、Xの仮数部XM
側が選択されるかまたは加算(X+Y)の時にセレクタ
41の出力PMをスルーし、Yの仮数部YM側が選択されかつ
減算(X−Y)の時にセレクタ41の出力PMを反転して出
力する。この第8図では、 (1) 入力データの指数部の差の絶対値|XE−YE|を減
算回路4によって検出し、これが31未満の時は最終的に
以下の回路が選択される。
まず、桁合せのため、XE−YEの値によって仮数部XM,Y
Mに対し、第15図に示すシフトを行なう。
つまり0固定は行なわず、また|XE−YE|≧31の範囲で
はデータは保証しなくて良い。
次に、上記のシフタで得られた仮数部XM′、YM′に対
して、31bit加減算回路7により演算を行なう。
次に、上記の加減算回路7によって得られた仮数部Z
M′を正規化するために、正規化量検出回路8によって
正規化量を検出する。ここで正規化量検出回路8は、仮
数部ZM′を入力とし、上位bitを優先するプライオリテ
ィー・エンコーダである。
上記正規化量で仮数部ZM′を左シフトしたものを仮数
部出力とする。
減算回路10によって、指数部データXEおよびYEの大き
い方から、上記正規化量を差し引いて、これを指数部出
力B3とする。
(2) 減算回路4の出力|XE−YE|が31以上の時は、最
終的に以下の回路が選択される。
この回路は、セレクタ41およびPMスルー/−PM回路45
からなり、第16図に示す演算結果が出力される。
この第16図において「命令」とはX+Y,X−Yのこと
であり、「加算及び減算」とは、加算の場合でも減算の
場合でもという意味である。
(3) 前述した通り、最後に上記(1)および(2)
の出力が、減算回路4の演算結果から0判定回路14によ
り選択され、これを出力ZMおよびZEとする。
本実施例では、並列に処理される2系統の演算結果
が、0判定回路14により最後に選択される。つまり、本
実施例による浮動小数点加減算回路においては、0判定
回路14はクリティカルパスに含まれない。また、第31図
の従来技術において0判定回路14の演算結果を入力とす
る0固定回路12,13が、本実施例による浮動小数点加減
算回路では存在しない。従来技術では、0判定回路及び
0固定回路による処理速度の低下が大きかったが、本発
明では、これを回避することで高速性を実現している。
第17図ないし第19図は加減算前の仮数部データから正
規化量を検出し、高速化をはかる実施例である。図中51
はYMスルー/−YM回路で、減算の場合、仮数部YMの符号
を反転する。81は正規化量検出回路8のエンコーダ、52
〜54は減算回路、55は1ビット修正検出回路、56は左1b
itシフタ、57は右1bitシフタ、58,59はセレクタであ
る。シフタ56は1bitシフト不足の時、左へ1bitシフトす
るもの、シフタ57は1bitシフトしすぎの時、右へ1ビッ
トもどすものである。正規化データをそのまゝ通過させ
たい時は、経路60を用いる。
(1) 最初に、本発明の特徴である正規化量検出の実
施例について説明する。
ここで、仮数部データは隠れbit無しの2の補正数表
現であるとし、加算命令だけを考える。
まず、桁合せ後の仮数部データがXM′、YM′が同符号
である場合、その加算結果について、正規化による左シ
フトは行なわれない。つまり、加算結果においては、X
M′、YM′が異符号である場合のみを考えれば良い。こ
こで、XM′、YM′から直接、正規化量を検出する方法を
考える。以下の説明のため、XM′、YM′の対応する各bi
tが、共に0である場合を“0"、片方が1である場合を
“1"、共に1である場合を“2"と表現することにする。
正規化が生じるのは、加算結果において、符号bitであ
るMSB(最上位bit)と同じデータが、MSBから連続して3
bit以上並ぶ場合であり、第20図に示す2つの場合しか
ない。
つまり、の場合は、加算結果が負になる場合で、加
算結果において、正規化位置まで1が続く。これを加算
前データで見れば、最初に1が続き、これに0が1bit続
く。次に2以外が来れば、加算結果においてこれより下
位に1が続くことはない。加算前データにおいて0の次
に2が来れば、2が続く限り加算結果において1が続
く。
一方の場合は、加算結果が正になる場合で、加算結
果において、正規化位置まで0が続く。これもの場合
と同様に加算前データで見れば、最初に1が続き、これ
に2が1bit続く。次に0以外が来れば、加算結果におい
てこれより下位に0が続くことはなく、加算前データに
おいて2の次に0が来れば、0が続く限り加算結果にお
いて0が続く。
以上から、加算前データにおいて隣接する3bitを検証
すれば、その中央のビットが正規化位置となり得るかど
うかが判るので、加算前データの各bitについて、左右1
bitを含む3bitで上記の検証を行ない、対応するbitにフ
ラグを立て、つまり加算後に正規化した場合にMSBとな
るところにフラグを立て、このbit列を正規化量検出回
路8及びプライオリティー・エンコーダ81に通すこと
で、正規化量を検出する事ができる。
詳細に説明するため、上記、を第21図に示すのよ
うに場合分けし、正規化検出によるフラグ位置を併記す
る。
ここで、第21図で備考欄に記したように、加算結果に
とって2通りの正規化が予想される場合がある。これ
は、下位bitからの桁上りによって生じるものである
が、その正規化量は、高々1bitしか違わない。1bitの修
正は容易なので、加算後に1bitの修正を行なうものとす
る。
ところで第21図において、上記1bitの修正が必要な場
合には、フラグの欄で“……011×……”のように正規
化が起こり得る2bitにフラグ(「1」で示す)が立って
いるが、加算後に1bitの修正をすることを前提とすれ
ば、この2bitのうちのいずれかにフラグを立てれば良
い。この点を考慮して、正規化量検出のための論理回路
を設計した例を示す。ここでSおよびCは加算前データ
であり、“0"の時SC=00、“1"の時SC=10、“2"の時SC
=01である。また、当該3bitに対し、上位bitからS0C
0、S1C1、S2C2とする。
a) 加算後に右1bitの修正をする場合。
この場合、上記1bit修正を考慮した2bitのフラグの
内、下位bitにフラグを立て、上位bitにはフラグを立て
ない。第22図にカルノー図、第23図にこのカルノー図か
ら求めた正規化量検出回路を示す。第22図において上下
または左右2欄にわたり丸枠で囲った部分は、カルノー
図から得る回路の簡単化のための手法を示し、第23図の
回路は第22図のS0,C0,S1,C1,S2,S2の計6種から得られ
る。
b) 加算後に左1bitの修正をする場合。
この場合、上記1bit修正を考慮した2bitのフラグの
内、上位bitにフラグを立て、下位bitのフラグは“0"、
“1"のいずれでも良い。第24図にカルノー図、第25図に
このカルノー図から求めた正規化量検出回路を示す。上
記の右1bitの修正をする場合より、小さい回路で実現で
きる。
c) 加算後に左または右1bitの修正をする場合。
この場合、上記1bit修正を考慮した2bitのフラグの
内、下位bitにフラグを立て、上位bitのフラグは“0"、
“1"のいずれでも良い。第26図にカルノー図、第27図は
このカルノー図から求めた正規化量検出回路を示す。上
記の左1bitの修正をする場合より、さらに小さい回路で
実現できる。
(2) 次に、本発明を適用した仮数部31bit、指数部6
bitの浮動小数点加減算回路の実施例について説明す
る。
第17図が、左右1bitの修正を考慮した本実施例のブロ
ック図である。
まず、減算回路4によって入力Xの指数部データXE
と、入力Yの指数部データYEとの差XE−YEを求め、その
結果に従いXシフト回路5、Yシフト回路6により、仮
数部データXMもしくはYMを右方向に|XE−YE|シフトする
ことによって桁合せを行なう。また、セレクタ11により
XE、YEの大きい方を選択し、これをZE′とする。
次に、(1)で説明した正規化量検出回路を適用する
ため、減算の場合は回路51でYの仮数部の符号を反転す
る。
次に、仮数部データXM′とYM′の加算を行ない、同時
に(1)の正規化量検出回路により正規化量NEを検出
し、その出力をエンコードする。
次に、減算回路52〜54によって、指数部ZE′から正規
化量NEを減算する。この時、減算回路52〜54は、指数部
の正規化において左右1bitの修正を考慮し、各々ZE′−
NE−1、ZE′−NE、ZE′−NE+1を演算する。
上記減算と同時に、上記正規化量にしたがって、左シ
フタ9により仮数部ZM′を正規化する。その後、検出回
路55で、左1bitシフタ56または右1bitシフタ57による左
右1bitの修正値を検出する。
最後に、上記正規化と同時に左3bitシフタ9の出力か
ら検出した修正量にしたがい、セレクタ59、58により仮
数部ZMおよび指数部ZEを選択し、これを浮動小数点加減
算回路の出力結果とする。
第18図は、右1bitの修正を考慮した実施例のブロック
図である。(1)で前述した通り、正規化量検出回路は
左右1bit修正の場合に句べて複雑だが、指数部正規化の
ための減算回路と、仮数部正規化のための1bitシフタが
1つづつ少くてすみ、ZEおよびZMを選択するためのセレ
クタ58,59も小さくてすむ。
第19図は、左1bitの修正を考慮した実施例のブロック
図である。(1)で前述した通り、正規化量検出回路は
左1bit修正の場合に比べて簡単であるが、左右1bit修正
の場合に比べて複雑である。しかし、正規化のための減
算回路および1bitシフタの回路規模は、右1bit修正の場
合と同じである。
従来の浮動小数点加減算回路では、正規化回路におい
て、仮数部加減算回路の出力結果から正規化量を検出し
ているため、正規化が仮数部の加減算結果が検出される
まで行なわれなかったが、本実施例では、加減算前の仮
数部データから正規化量を検出するため、正規化が仮数
部の加減算結果の出力に先立って行なわれ、高速な浮動
小数点加減算回路を設計することができる。特に、指数
部の減算は、正規化に費やす時間に対して大きな比重を
占めているので、これが仮数部加減算出力に先立って行
なわれることは、高速化に寄与する。
第28図はこの発明の途中の過程で考えられた、FASUの
高速化が図られた浮動小数点データ加減算回路のブロッ
ク図である。即ち通常の正規化回路(例えば第31図のシ
フタ9参照)は、前段部に、加減算回路出力がオーバー
フローした場合に、1bit右シフトさせるシフタが設けて
ある。この1bit右シフタ91は、シフタ9から独立させて
もかまわないので、これらシフタ9,91を並列配置し、例
えば加減算器7の出力の上位2bitを用いて形成した制御
信号により、セレクタ16で出力選択する構成とすれば、
加減算回路7以降でのゲート段数が減り、その分高速化
が図れるものである。また、右1bitシフタの全てを独立
させず、クリティカルパスだけをシフタ9から独立させ
ることでも、同様に高速化を図ることができる。
なお本発明は実施例のみに限られず種々の応用が可能
である。例えば実施例では仮数部演算経路を2個とし、
これらを選択するようにしたが、それ以上としてもよ
い。
[発明の効果] 以上説明した如く本発明によれば、ゲート段数を少と
したり、演算経路を複数としてこれらを共に動作させ、
得たい出力のみを選択するようにしたり、上記演算経路
の動作中に選択用信号も並行して得られるようにしたた
め、高速化された浮動小数点データ加減算回路が提供で
きるものである。
【図面の簡単な説明】
第1図は本発明の途中の過程で考えられた浮動小数点デ
ータ加減算回路の構成図、第2図は同構成の具体例を示
す構成図、第3図ないし第5図は同構成の作用を示す図
表、第6図,第7図は同構成の一部詳細回路図、第8図
は本発明の実施例の構成図、第9図は同構成の一部詳細
説明図、第10図は減算回路及び0判定回路部分図、第11
図,第12図は第8図の構成の効果説明に用いる従来回路
図、第13図,第14図は同従来回路の改良例を示す回路
図、第15図,第16図は第8図の構成の作用を示す図表、
第17図ないし第19図は本発明の異なる実施例の構成図、
第20図ないし第27図は同構成の一部説明図、第28図はこ
の発明の途中の過程で考えられた浮動小数点データ加減
算回路のブロック図、第29図ないし第31図は従来回路の
構成図、第32図は第31図の作用を示す図表である。 4,10,31……減算回路、5,6……右30bitシフタ、7……
加減算回路、8……正規化量検出回路、81……エンコー
ダ、9……左30bitシフタ、91……右1bitシフタ、15…
…シフト量検出回路、16……セレクタ、211……Xシフ
タ、212……Yシフタ、21,24……桁合せ回路、22,25…
…加減算回路、23,26……正規化回路、241,242……1bit
シフタ、27……セレクタ、33,35……エンコーダ、41,43
……セレクタ、45……PMスルー/−PM回路、51……スル
ー又は反転回路、55……修正量検出回路、56……左1bit
シフタ、57……右1bitシフタ、59……セレクタ。
フロントページの続き (72)発明者 小泉 正幸 神奈川県川崎市幸区堀川町580番1号 株式会社東芝半導体システム技術センタ ー内 (56)参考文献 特開 昭60−204031(JP,A) 特開 昭53−133344(JP,A) 特開 昭63−310022(JP,A) 特開 昭59−226944(JP,A) 特開 昭61−33539(JP,A) 特開 平1−111229(JP,A) 特開 昭63−167930(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/50

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】少くとも第1、第2の仮数部データ演算経
    路を有し、前記第1の仮数部データ演算経路は、所定の
    桁数の桁合せ機能を有し、この所定の桁数の範囲内で指
    数部データの差に応じて仮数部データの桁合せを行なう
    桁合せ回路と、該桁合せ回路により桁合せされた仮数部
    データの加算または減算を行なう加減算回路と、該加減
    算回路での演算結果から正規化量を検出する正規化量検
    出回路と、前記正規化量に応じて仮数部データの正規化
    を行なう正規化用シフタとを有し、前記第2の仮数部デ
    ータ演算経路は、入力オペランドスルーの経路と入力オ
    ペランドの符号反転回路を有し、前記第1、第2の仮数
    部データ演算経路を並列に動作させ、浮動小数点データ
    の加算命令時において、指数部の差が仮数部桁合せ桁数
    より大きい時、指数部が大であるオペランドのスルーデ
    ータを加減算結果とし、浮動小数点データの減算命令時
    において、指数部の差が仮数部桁合せ桁数より大きい
    時、2つのオペランド内の被減数が大である時は被減数
    側のスルーデータを、減数が大である時は減数側の符号
    反転データを、加減算結果とするものであり、指数部デ
    ータの差に応じて前記第1、第2の仮数部データ演算経
    路の出力を選択することを特徴とする浮動小数点データ
    加減算回路。
  2. 【請求項2】指数部データの差に応じて仮数部データの
    桁合せを行なう桁合せ回路と、該桁合せ回路により桁合
    せされた仮数部データの加算または減算を行なう加減算
    回路と、該加減算回路での演算前の仮数部データの各ビ
    ットの一部とその前後の数ビットを用いて、桁上がり信
    号を伴わずに論理演算し、その演算結果からフラグを立
    て、それを正規化エンコード回路の入力とする正規化量
    検出回路と、該正規化量検出回路の出力に応じて前記加
    減算回路からの仮数部データの正規化を行なう正規化用
    シフタと、該正規化用シフタの出力から該出力データを
    右または左へ1ビットシフトするか否かを選択して加減
    算結果の仮数部を出力する手段と、指数部データのうち
    大きい方の指数部データから前記正規化量検出回路の出
    力を減算し、この減算値またはこの減算値に対し上記正
    規化用シフタの出力に基づいて1ビット加算または減算
    した値を加減算結果の指数部として出力する手段とを具
    備したことを特徴とする浮動小数点データ加減算回路。
JP19284989A 1989-07-26 1989-07-26 浮動小数点データ加減算回路 Expired - Lifetime JP3187402B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19284989A JP3187402B2 (ja) 1989-07-26 1989-07-26 浮動小数点データ加減算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19284989A JP3187402B2 (ja) 1989-07-26 1989-07-26 浮動小数点データ加減算回路

Publications (2)

Publication Number Publication Date
JPH0357019A JPH0357019A (ja) 1991-03-12
JP3187402B2 true JP3187402B2 (ja) 2001-07-11

Family

ID=16297996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19284989A Expired - Lifetime JP3187402B2 (ja) 1989-07-26 1989-07-26 浮動小数点データ加減算回路

Country Status (1)

Country Link
JP (1) JP3187402B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05313857A (ja) * 1992-05-08 1993-11-26 Nec Corp 浮動小数点加減算装置とその制御方式
US5392228A (en) * 1993-12-06 1995-02-21 Motorola, Inc. Result normalizer and method of operation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53133344A (en) * 1977-04-27 1978-11-21 Panafacom Ltd Floatinggpoint arithmetic processing system
JPS59226944A (ja) * 1983-06-09 1984-12-20 Fujitsu Ltd 浮動小数点デ−タ加減算方式
US4639887A (en) * 1984-02-24 1987-01-27 The United States Of America As Represented By The United States Department Of Energy Bifurcated method and apparatus for floating point addition with decreased latency time
JPS6133539A (ja) * 1984-07-25 1986-02-17 Toshiba Corp 浮動小数点演算装置
JPH083788B2 (ja) * 1987-06-11 1996-01-17 松下電器産業株式会社 演算処理装置

Also Published As

Publication number Publication date
JPH0357019A (ja) 1991-03-12

Similar Documents

Publication Publication Date Title
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US5010508A (en) Prenormalization for a floating-point adder
JP4388543B2 (ja) 3項入力の浮動小数点加減算器
US7720899B2 (en) Arithmetic operation unit, information processing apparatus and arithmetic operation method
KR100203468B1 (ko) 부동소수점수를 위한 산술연산장치
US5111421A (en) System for performing addition and subtraction of signed magnitude floating point binary numbers
US6175851B1 (en) Fast adder/subtractor for signed floating point numbers
EP0487814A2 (en) Overflow determination for three-operand alus in a scalable compound instruction set machine
JP3313560B2 (ja) 浮動小数点演算処理装置
US7428567B2 (en) Arithmetic unit for addition or subtraction with preliminary saturation detection
US20020129075A1 (en) Apparatus and method of performing addition and rounding operation in parallel for floating-point arithmetic logical unit
JP3187402B2 (ja) 浮動小数点データ加減算回路
JP3429927B2 (ja) 浮動小数点演算装置の正規化回路装置
JP4439060B2 (ja) 浮動小数点加算器
EP1282034A2 (en) Elimination of rounding step in the short path of a floating point adder
JP3517162B2 (ja) 除算・開平演算装置
US7240085B2 (en) Faster shift value calculation using modified carry-lookahead adder
JP3462054B2 (ja) 並列加減算回路
JP2555577B2 (ja) 演算装置
JPH113210A (ja) 3入力比較器、並びにこれを用いた飽和演算装置およびその演算方法
JPS59140560A (ja) 浮動小数点乗算器
JPH0383126A (ja) 浮動小数点乗算器
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JP2003029960A (ja) 浮動小数点加算器のショートパスにおける丸めステップの排除
JPS62159224A (ja) 浮動小数点演算回路

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9