JP2980341B2 - 浮動小数点桁合せ回路 - Google Patents

浮動小数点桁合せ回路

Info

Publication number
JP2980341B2
JP2980341B2 JP2115898A JP11589890A JP2980341B2 JP 2980341 B2 JP2980341 B2 JP 2980341B2 JP 2115898 A JP2115898 A JP 2115898A JP 11589890 A JP11589890 A JP 11589890A JP 2980341 B2 JP2980341 B2 JP 2980341B2
Authority
JP
Japan
Prior art keywords
bit
mantissa
difference
outputs
circuit
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 - Fee Related
Application number
JP2115898A
Other languages
English (en)
Other versions
JPH0414131A (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 JP2115898A priority Critical patent/JP2980341B2/ja
Publication of JPH0414131A publication Critical patent/JPH0414131A/ja
Application granted granted Critical
Publication of JP2980341B2 publication Critical patent/JP2980341B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、浮動小数点桁合わせ回路に関するものであ
る。
(従来の技術) 近年、浮動小数点桁合わせ回路を搭載したLSIの開発
が盛んに行なわれている。浮動小数点表示では、一般に
正負を表す符号と仮数部と指数部によって以下の様に数
が表現される。
(−1)符号×(仮数部)×2(指数部−定数) ここで、仮数部の最上位を1になる様に取り、この1
を省略する方法が取られることがある。これは「けち表
現」と呼ばれ、IEEEの32ビット浮動小数点表記の場合、
符号1ビット、仮数部23ビット、指数部8ビットとし
て、次の様な表現となる。
(−1)符号×(1.仮数部)×2
(指数部−127) (1) ただし、これまでは0及び0に近い数が表現されない
ので、指数部が0の時はけち表現をやめ次の様に値を表
現する。
(−1)符号×(仮数部)×2-126 (2) この様に、けち表現と通常の表現が同時に用いられる
ため、これらの間の計算には注意が必要である。
第16図に従来の浮動小数点演算器の桁合わせ回路を示
す。これは、2つの浮動小数点表示の数AとBを取り扱
うにあたって、指数部AE,BE同士の差を取り小さい方の
仮数AM又はBMをその分シフトさせ、仮数同士での演算を
可能にするものである。この回路では指数部の差AE−B
E、BE−AEを減算器1,3で求め、シフター5,7で仮数BM,AM
をその差の分だけ夫々シフトさせる。そして、セレクタ
9はAE,BEの小さい方を出力し、セレクタ11,13はAM,BE
の一方のシフトされた値ともう片方のシフトされない値
を出力する。
もし、入力数が通常の表現になっていれば、この装置
は極めて高速に動作することが出来る。つまり、減算器
は普通下位のほうから結果が決まるので、シフターは減
算の最終結果を待たずにシフト動作を行なうことが出来
るのである。すなわち、減算シフトが並行して行なわれ
るのである。
(発明が解決しようとする課題) しかし、前記の様に入力数が二つの表現が混在してい
る場合には、けち表現であるか否かの判定がなされるま
では、すなわち、上位ビット位置に1を付加するか否か
が決定されるまでは、シフト動作を始めることが出来
ず、この判定を行なう回路の動作がボトルネックとなっ
ていた。
[発明の構成] (課題を解決するための手段) 前記問題点を解決するために、本発明に従う浮動小数
点桁合わせ回路は、浮動小数点表示された第一及び第二
の数の仮数部の桁合せを行う回路であって、 前記第一の数の指数部から前記第二の数の指数部を引
いた第一の差と、前記第二の数の指数部から前記第一の
数の指数部を引いた第二の差とを出力する減算器と、 前記第二の差の分だけ前記第一の数の仮数部のシフト
を行う第一のシフト手段と、 前記第一の差の分だけ前記第二の数の仮数部のシフト
を行う第二のシフト手段と、 前記第一及び第二の数がけち表現されているか否かを
検出する表現検出手段と、 前記表現検出手段で前記第一の数がけち表現されてい
ることが検出された場合、前記第二の差の分の少なくと
も一部についてシフトされた後に前記第一の数の仮数部
の最上位のビットが取るビット位置よりも1ビット上位
の位置に1を付与する手段と、 前記表現検出手段で前記第二の数がけち表現されてい
ることが検出された場合、前記第一の差の分の少なくと
も一部についてシフトされた後に前記第二の数の仮数部
の最上位のビットが取るビット位置よりも1ビット上位
の位置に1を付与する手段と、 前記第一の数の仮数部とそのシフトされたビット列又
はシフトされかつ前記1が付与されたビット列を入力
し、前記第一の数の指数部よりも前記第二の数の指数部
の方が大きい場合に前者を出力し、小さい場合に後者を
出力する第一のセレクタと、 前記第二の数の仮数部とそのシフトされたビット列又
はシフトされかつ前記1が付与されたビット列を入力
し、前記第二の数の指数部よりも前記第一の数の指数部
の方が大きい場合に前者を出力し、小さい場合に後者を
出力する第二のセレクタと、 前記第一及び第二の指数部を入力し、いずれか大きい
方を出力する第三のセレクタとを具備していることを特
徴としている。
(作用) 上記構成の桁合わせ回路によれば、桁合わせをすべき
仮数部がけち表現を用いているか否かに拘わらず、シフ
ト動作を開始してしまう。そして、もし、けち表現を用
いていることが判明した場合には、シフト動作のあとで
仮数部の最上位に1を付与する。
これにより、けち表現を行なっているか否かを検出を
待たずに、シフト動作を開始することが可能となった。
(実施例) 第1図に本発明の第一の実施例を示す。この浮動小数
点演算器の桁合わせ回路は、2つの浮動小数点表示の数
A(指数部AE、仮数部AM)とB(指数部BE、仮数部BM)
を取り扱うにあたって、指数部AE,BE同士の差を取り小
さい方の仮数AM又はBMをその分シフトさせ、仮数同士の
演算を可能にするものである。尚、実施例では仮数部23
ビット、指数部8ビットとする。指数AE.BEは夫々第一
の減算器15及び第二の減算器17に入力され、ここでAM−
BMとBM−AMが計算される。BE−AEはAMを入力する第一の
シフタ19に入力され、又AE−BEはBMを入力する第二のシ
フタ21に入力され、ここでA,Bがけち表現であるか否か
に拘わらず0拡張のシフトが行なわれる。けち表現が行
なわれている場合は仮数部の上位に1を加える必要があ
るが、これは次の様に行なわれる。即ち、第2図の右側
に示した様に、仮数部A(a1,a2,a3…)の上位に0を付
け加え、nビットシフト動作(図で3ビット)を行な
い、それと並行してn+1ビット目のみが1であるビッ
ト列(以下加算数という)を生成して、これをシフト結
果に加えるのである。
これを、従来の場合について説明すれば、第2図の左
側の様に行なっていた。つまり、Aがけち表現であるか
否かの判定を待って、もしけち表現であれば1を加えた
上で、又はもしけち表現を行なっていなければそのまま
で、シフト動作を行なうのである。すなわち、シフト動
作の開始が遅れることになる。
第1図の実施例では、指数部がゼロであるかどうかに
よってけち表現であるか否かを検出するけち表現検出回
路23,24と減算器15,17とに夫々接続して前記加算数を生
成するデコーダ25,27が設けられている。このデコーダ2
5からの出力は、ビットOR29,31で、シフト結果と加算さ
れ、セレクタ33,35へ送られる。セレクタ33は、AE−BE
<0の場合にはシフトされたビット列を仮数部として出
力し、AE−BE>0の場合にはシフトされる前の元の仮数
をそのまま出力する。又、セレクタ33は、AE−BE>0の
場合にはシフトされたビット列を仮数部として出力し、
AE−BE<0の場合にはシフトされる前の元の仮数をその
まま出力する。セレクタ37は二つの指数を入力し、大き
い方を出力する。つまり、図では省略したが、減算器15
の出力の符号を表す信号が、各セレクタへ供給され、こ
れに基づいて出力の選択がなされる。
デコーダ25,27の回路図を第3図に示す。減算器15ま
たは17からの出力の下位5ビットの信号がS0〜S4の端子
へ入力する。S0〜S4の各端子にはNORゲートが接続され
反転信号と共に全部で10本の信号線が形成されている。
又、加算数A23〜A0の出力を持つ24個のNORゲートが設け
られ、ここへS0〜S4信号又はその反転信号のいずれかの
出力線がビット毎に接続されている。この接続は、入力
信号S0〜S4で表わされる数に対応してA23〜A0の一つの
端子のみが1となり、他の端子は0を出力する様になっ
ている。一方けち表現検出回路23または25からは、けち
表現が為されているときは0が、為されていないときは
1が夫々端子Cへ出力される。この端子Cは全てのNOR
ゲートに接続されており、S0〜S4の値のいかんに拘わら
ず、Cが1の時はA23〜A0の全てが0になる。従って、
けち表現がなされている時のみ、加算数A23〜A0、即ち
シフト後に省略された上位の1ビットに1を付与する加
算数信号が得られる。
ビットOR回路29の回路図を第4図に示す。これは24個
のOR回路からなり、シフター19又は21からの出力I23〜I
0と加算数A23〜A0との、ビット毎の論理積が取られ、け
ち表現がなされている場合又はけち表現がなされていな
い場合のシフト後の加算数信号O23〜O0が出力される。
第5図に第2実施例を示す。この図では、デコーダ3
9,41はけち表現検出回路23,24からの出力は受けず、代
わりにビットOR回路43,45がけち表現検出回路23と接続
されている。デコーダ39,41の回路図は、第6図に示さ
れている。これは第3図の回路とは信号線Cが用いられ
ていない点とNORゲートの代わりにANDゲートが用いられ
ている点を除いて同じ構成になっている。つまり、けち
表現であるか否かに拘わらず加算数が出力される。も
し、けち表現でなければ、ビットOR回路43,45で必要な
処理が試されるのである。ビットOR回路39では、第7図
に示されている様に、けち表現であるか否かを示す信号
Cの否定信号と加算数A23〜A0との論理和が夫々のビッ
ト毎に形成され、これとシフト後の信号I23〜I0との論
理積がビット毎に形成され正しい仮数信号O23〜O0とし
て出力される。
第8図に第3実施例を示す。この実施例では、第1図
に示した実施例の2つのシフターの上位部分を共通にし
ている。一般にシフターというのは、シフタ量を表す2
進法数の各ビット毎にシフターが設けられこれらを直列
に接続した構成になっている。例えば、5ビットのシフ
ト量を扱う場合、1ビットシフター、2ビットシフタ
ー、4ビットシフター、8ビットシフター及び16ビット
シフターが直列に接続されており、各シフターにシフト
量の対応するビット信号が与えられる。この場合、シフ
ト量が多い程配線が複雑になり、実質的なハードウェア
が増大する。従って、第8図の様な構成は、上位のシフ
ターを共通にしている為、ハードウエアコストという点
で大変有利となる。
この例では、1ビットシフターと2ビットシフターか
らなる下位シフター47,49を減算器15,17の下位(1ビッ
ト目と2ビット目)の出力線に夫々接続し、減算とシフ
トを並列に行う。この下位シフターのいずれか一方の出
力をセレクタ51を介して上位シフター53に転送する。こ
の上位シフター53は4ビットシフター、8ビットシフタ
ー及び16ビットシフターからなり、セレクタ55を介して
減算器15,17のいずれかの上位(4ビット、8ビット及
び16ビット目)の出力が与えられ、ここで必要なシフト
動作が完了する。
一方、けち表現検出回路23,25は、第1図のものと同
一で、そのいずれかの出力がセレクタ61で選択される。
又、セレクタ55は、減算器15,17の下位出力の選択を行
うセレクタ57と共に、デコーダ27に必要なシフト量の情
報を与え、ここで加算数の形成が行われる。このデコー
ダ27は第3図に示したものと同一構成を有し、セレクタ
61の出力を端子Cに受け、適宜加算数をビットOR29に出
力する。このビットOR29も第4図に示したものと同一で
ある。又、セレクタ33,35,37も、第1図のものと同一な
ので、その説明を省略する。
第9図の第4実施例の第3実施例に対する関係は、第
2実施例の第1実施例に対する関係と同じで詳しい説明
は省略する。即ち、デコーダ39とビットOR43は、夫々第
6図、第7図に示した構成を有し、セレクタ61の出力は
ビットOR43に対して与えられる。
第10図に第5実施例を示す。ここでは、下位シフター
47,49の出力に対して、デコーダ63,65及びビットOR67,6
9を用いて、けち表現の場合に上位の1の付与を行う。
これらデコーダ63,65とビットOR67,69の機能及び構成
は、シフト量が少ないだけで、先の実施例のものと同様
である。夫々第11図、第12図に夫々の具体例を掲げ、説
明は省略する。
第13図の第6実施例の第5実施例に対する関係は、第
2実施例の第1実施例に対する関係と同じであり詳しい
説明は省略する。即ち、デコーダ39,41とビットOR43,45
は、夫々第6図、第7図に示した構成を有し、けち表現
検出回路の出力はビットOR43,45に対して与えられる。
これまでの説明で、各実施例で説明を省いた要素は先
行する実施例の対応する要素と同じ機能を持っている。
例えば、各セレクタはすべて減算器15の出力信号の符号
を受け、それが正の場合は指数部AE、シフト前のAM、シ
フトされたBMを出力し、それが負の場合は指数部BE、シ
フト前のBM、シフトされたAMを出力するものである。
以上好ましい実施例について説明したが、本発明の趣
旨を変えない限り多くの変形例が考えられる。例えば、
これまでの説明では、シフト動作は上位に0を付与する
0拡張を行っていたが、デコーダ及びビットORとして第
14図及び第15図の様な回路を用いることにより、これを
省略することも出来る。又、デコーダ、ビットORの回路
構成は、ここに掲えたもの以外にも多くの種類があり、
それらも利用可能である。尚、以上の説明は負論理を用
いても同様に行われることは言うまでもない。
[発明の効果] 本発明によれば、けち表現であるか否かの決定を待た
ずに、減算器から出力される指数部の差に基づいて直ち
にシフト動作を開始することが出来、動作速度が大幅に
改善される。又、けち表現検出回路が桁合わせの実行に
際して、ボトルネックとならないので、この回路の設計
にゆとりを持たせることが出来る。
【図面の簡単な説明】
第1図は、本発明による浮動小数点合わせ回路の第一の
実施例を示すブロック図である。 第2図は、本発明によるけち表現された数のシフト方法
を従来例との比較において示した説明図である。 第3図は、第1図に示された桁合わせ回路に用いられる
デコーダの回路図である。 第4図は、第1図に示された桁合わせ回路に用いられる
ビットORの回路図である。 第5図は、本発明による浮動小数点桁合わせ回路の第二
の実施例を示すブロック図である。 第6図は、第5図に示された桁合わせ回路に用いられる
デコーダの回路図である。 第7図は、第5図に示された桁合わせ回路に用いられる
ビットORの回路図である。 第8図は、本発明による浮動小数点桁合わせ回路の第三
の実施例を示すブロック図である。 第9図は、本発明による浮動小数点桁合わせ回路の第四
の実施例を示すブロック図である。 第10図は、本発明による浮動小数点桁合わせ回路の第五
の実施例を示すブロック図である。 第11図は、第10図に示された桁合わせ回路に用いられる
デコーダの回路図である。 第12図は、第10図に示された桁合わせ回路に用いられる
ビットORの回路図である。 第13図は、本発明による浮動小数点桁合わせ回路の第六
の実施例を示すブロック図である。 第14図は、本発明による桁合わせ回路に用いられるデコ
ーダの変形例を示す回路図である。 第15図は、本発明による桁合わせ回路に用いられるビッ
トORの変形例を示す回路図である。 第16図は、従来の浮動小数点演算器の桁合わせ回路を示
すブロック図である。 15,17……減算器 19,21……シフタ 23,24……表現検出回路 25,27……デコーダ 29,31……ビットOR 33,35,37……セレクタ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】浮動小数点表示された第一及び第二の数の
    仮数部の桁合せを行う回路であって、 前記第一の数の指数部から前記第二の数の指数部を引い
    た第一の差と、前記第二の数の指数部から前記第一の数
    の指数部を引いた第二の差とを出力する減算器と、 前記第二の差の分だけ前記第一の数の仮数部のシフトを
    行う第一のシフト手段と、 前記第一の差の分だけ前記第二の数の仮数部のシフトを
    行う第二のシフト手段と、 前記第一及び第二の数がけち表現されているか否かを検
    出する表現検出手段と、 前記表現検出手段で前記第一の数がけち表現されている
    ことが検出された場合、前記第二の差の分の少なくとも
    一部についてシフトされた後に前記第一の数の仮数部の
    最上位のビットが取るビット位置よりも1ビット上位の
    位置に1を付与する手段と、 前記表現検出手段で前記第二の数がけち表現されている
    ことが検出された場合、前記第一の差の分の少なくとも
    一部についてシフトされた後に前記第二の数の仮数部の
    最上位のビットが取るビット位置よりも1ビット上位の
    位置に1を付与する手段と、 前記第一の数の仮数部とそのシフトされたビット列又は
    シフトされかつ前記1が付与されたビット列を入力し、
    前記第一の数の指数部よりも前記第二の数の指数部の方
    が大きい場合に前者を出力し、小さい場合に後者を出力
    する第一のセレクタと、 前記第二の数の仮数部とそのシフトされたビット列又は
    シフトされかつ前記1が付与されたビット列を入力し、
    前記第二の数の指数部よりも前記第一の数の指数部の方
    が大きい場合に前者を出力し、小さい場合に後者を出力
    する第二のセレクタと、 前記第一及び第二の指数部を入力し、いずれか大きい方
    を出力する第三のセレクタとからなる浮動小数点桁合せ
    回路。
  2. 【請求項2】浮動小数点表示された第一及び第二の数の
    仮数部の桁合せを行う回路であって、 前記第一の数の指数部から前記第二の数の指数部を引い
    た第一の差と、前記第二の数の指数部から前記第一の数
    の指数部を引いた第二の差とを出力する減算器と、 前記第二の差の分だけ前記第一の数の仮数部のシフトを
    行う第一のシフターと、 前記第一の差の分だけ前記第二の数の仮数部のシフトを
    行う第二のシフターと、 前記第二の差を入力し、前記第一の数の仮数部の最上位
    のビットが前記第一のシフターでシフトされた後に取る
    ビット位置よりも1ビット上位の位置のみが1である第
    一のビット列を生成する第一のデコーダと、 前記第一の差を入力し、前記第二の数の仮数部の最上位
    のビットが前記第二のシフターでシフトされた後に取る
    ビット位置よりも1ビット上位の位置のみが1である第
    二のビット列を生成する第二のデコーダと、 前記第一のシフターの出力に前記第一のビット列との論
    理和を取る第一のOR回路と、 前記第二のシフターの出力に前記第二のビット列との論
    理和を取る第二のOR回路と、 前記第一の数がけち表現されているか否かを検出し、け
    ち表現されている場合には前記第一のOR回路に於いて前
    記第一のビット列の論理和が行われない様にする第一の
    回路構成と、 前記第二の数がけち表現されているか否かを検出し、け
    ち表現されている場合には前記第二のOR回路に於いて前
    記第二のビット列の論理和が行われない様にする第二の
    回路構成と、 前記第一の数の仮数部と前記第一のOR回路の出力を入力
    し、前記第一の数の指数部よりも前記第二の数の指数部
    の方が大きい場合に前者を出力し、小さい場合に後者を
    出力する第一のセレクタと、 前記第二の数の仮数部と前記第二のOR回路の出力を入力
    し、前記第二の数の指数部よりも前記第一の数の指数部
    の方が大きい場合に前者を出力し、小さい場合に後者を
    出力する第二のセレクタと、 前記第一及び第二の数の指数部を入力し、いずれか大き
    い方を出力する第三のセレクタとからなる浮動小数点桁
    合せ回路。
JP2115898A 1990-05-07 1990-05-07 浮動小数点桁合せ回路 Expired - Fee Related JP2980341B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2115898A JP2980341B2 (ja) 1990-05-07 1990-05-07 浮動小数点桁合せ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2115898A JP2980341B2 (ja) 1990-05-07 1990-05-07 浮動小数点桁合せ回路

Publications (2)

Publication Number Publication Date
JPH0414131A JPH0414131A (ja) 1992-01-20
JP2980341B2 true JP2980341B2 (ja) 1999-11-22

Family

ID=14673936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2115898A Expired - Fee Related JP2980341B2 (ja) 1990-05-07 1990-05-07 浮動小数点桁合せ回路

Country Status (1)

Country Link
JP (1) JP2980341B2 (ja)

Also Published As

Publication number Publication date
JPH0414131A (ja) 1992-01-20

Similar Documents

Publication Publication Date Title
JP3076046B2 (ja) 例外検出回路
JPH0479013B2 (ja)
JP2618374B2 (ja) 最上位の数字の位置の検出
US5831884A (en) Apparatus for performing arithmetic operation of floating point numbers capable of improving speed of operation by performing canceling prediction operation in parallel
JPH10289096A (ja) 論理回路及び浮動小数点演算装置
US4590584A (en) Method and system for processing exponents in floating-point multiplication
US3976866A (en) Addition control system
JP2980341B2 (ja) 浮動小数点桁合せ回路
US5235539A (en) Method and apparatus for generating carry out signals
JPH0346024A (ja) 浮動小数点演算器
JPH0511980A (ja) 桁あふれ検出方式とその回路
US7003540B2 (en) Floating point multiplier for delimited operands
JP2507183B2 (ja) 浮動小数点加減算装置
JPH07118654B2 (ja) 算術演算装置
US7240085B2 (en) Faster shift value calculation using modified carry-lookahead adder
US6076098A (en) Adder for generating sum and sum plus one in parallel
JP3187402B2 (ja) 浮動小数点データ加減算回路
JP2856792B2 (ja) 浮動小数点数演算装置
JPS5966790A (ja) 演算回路
JP2711487B2 (ja) 固定データ加減算回路
US6411975B1 (en) Digital processing
JPS6298425A (ja) 算術シフタ回路
JP2801472B2 (ja) 浮動小数点演算装置
JP2901463B2 (ja) 加算装置
JP3139011B2 (ja) 固定小数点プロセッサ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees