JPH02232723A - ディジタルコンピュータ用パイプライン式浮動小数点加減算器 - Google Patents

ディジタルコンピュータ用パイプライン式浮動小数点加減算器

Info

Publication number
JPH02232723A
JPH02232723A JP1284669A JP28466989A JPH02232723A JP H02232723 A JPH02232723 A JP H02232723A JP 1284669 A JP1284669 A JP 1284669A JP 28466989 A JP28466989 A JP 28466989A JP H02232723 A JPH02232723 A JP H02232723A
Authority
JP
Japan
Prior art keywords
fractional
result
decimal
subtraction
adder
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
JP1284669A
Other languages
English (en)
Inventor
Tryggve Fossum
トリューグヴ フォッサム
William R Grundmann
ウィリアム アール グランドマン
Muhammad S Hag
ムハマッド エス ハック
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH02232723A publication Critical patent/JPH02232723A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/485Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/49936Normalisation mentioned as feature only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は一般にディジタル・コンピュータにおいて用い
るための浮動小数点処理装置に関し、更に詳細には、改
良されたパイプライン式浮動小数点加減算器及びこれに
おける減算方法に関する。
〔従来の技術〕
浮動小数点数は、小数部FRAC (または仮数)、指
数部EXP、及び下弐によって定義される数Nの符号S
を表す一続きの連続ビットである。
N=PRAC *  2”’ *  (−1)’浮動小
数点数を表すための典型的な64ビ7}・フォーマット
を下表に示す。
l4 小数部PRACは53ビットの正の小数部として表され
、2進小数点は最上位ビットの左に置かれる。小数部F
RACがゼロでない場合には、PRACの最上位ビット
は1となり、従ってこのビットは記憶されない.このビ
ットは「ヒドン・ビットJ  (hidden btt
)と呼ばれ、FRACを、53ビットではなしに、52
ビットで表すことを可能にする.残りの12ビットのう
ちの1ビットを用いて符号Sを表し、他の11ビットを
用いて指数部EXPを表す。
周知のように、2つの浮動小数点数の2進小数点は、こ
れら2つの数の加算または減算の前に整列することが必
要である。この整列は、2つの指数部IEXP+  I
及びIEXPg  I(7)相対的大キさを比較し、次
いで、小数部をシフトし、小さい方の指数部(EXP+
  EXPx )を右に置くことによってなされる.そ
こで、2つの小数部を加算または減算することができる
。即ち、FRAC,±FRAC.となり、大きい方の指
数部はこの結果の指数として働く。(tJ&算において
は、減数の2の補数を被減数に加える。)次いで、結果
の和を、最上位ビットが1となるまで小数部を左ヘシフ
トし、従って指数部を減少させることによって、正規化
する。最後に、この結果を、例えば丸め定数を加えるこ
とによって、丸める.上述したステップは、指数部が互
いに異なっている場合には、パイプライン式浮動小数点
加減算器において働<.シかし、指数部が互いに等しい
大きさである場合には、どちらの数が小さいかが解らず
、これは減算において問題となる。互いに等しい大きさ
の指数部を有する数を減算するための一つの方法は、ど
ちらの数が小さいかを最初に推測することである。しか
し、この推測が誤っていると、正しい数を得るために余
分のステップを追加することが必要となる。他の方法は
、2つの加算器を用いて減算を両方で行い、次いで、後
続のステップにおいて正しい小数部を選定することであ
る.この方法には2つの加算器が必要となるという欠点
があり、また、集積回路上に余分のピンが必要となり、
臨界信号に対する余分の負荷が必要となる。
パイプライン式浮動小数点加減算器において生ずる他の
問題は「スティッキー・ビット」(sticky bi
t)問題である.即ち、シフトされる数の整列中の切り
捨てのため、この数の最下位ビットの右の一つのビット
が損失となる.この損失に対する補償がないと、加減算
動作の結果は不正確なものとなる。
〔発明が解決しようとする課題〕
本発明の一つの目的は2つの浮動小数点2進数を減算す
るための改良された方法及び装置を提供することにある
本発明の他の目的はスティッキー・ビ,ト信号を発生す
るための方法及び装置を提供することにある。
〔課題を解決するための手段〕
2つの浮動小数点2進数を減算するための本発明の方法
及び装置においては、減算のための2つの小数部を整列
させ、前記2つの浮動小数点数の一方の小数部を減数と
して任意指定し、前記指定された小数部の補数を作って
この補数を他方の小数部へ加算し、その結果を正規化し
、その結果が負であるかどうかを測定し、負である場合
には、前記正規化された結果の補数を作り、前記2つの
浮動小数点数の指数部のうちの大きいものを選定し、前
記選定された指数部の値を前記結果の正規化に従って調
節する。
スティッキー・ビットを発生するための本発明の方法及
び装置においては、減算のための2つの小数部を一方を
右へシフトすることによってこれら2つの小数部を整列
させ、前記一方の小数部における連続ゼロの数を、その
シフト前に、最下位ピント位置で始めて、測定し、(1
》前記整列ステップにおいて前記一方の小数部がシフト
される位置の数を、《2》前記一方の小数部におけるゼ
ロの数と比較し、前記連続ゼロの数が前記整列ステップ
においてシフトされる一方の小数部の位置の数よりも小
さい場合にスティッキー・ビット信号を発生させる。こ
のスティッキー・ビット信号は、前記整列ステップ中の
少なくとも1つのセット・ビットの切り捨てを示す。
本発明の他の目的及び利点は、図面を参照して行う以下
の詳細な説明から明らかになる。
〔実施例〕
本発明に対しては種々の変形及び代替形式が可能である
が、以下、本発明の特定の実施例について図面を参照し
て詳細に説明する。しかし、本発明はここに開示する実
施例に限定されるものではなく、特許請求の範囲に記載
のごとき本発明の精神及び範囲内で種々の変形、等価手
段及び代替手段の採用が可能である。
先ず第1図について説明すると、各々が64ビット浮動
小数点数から成る2つのソース・オペランドSQLIR
CE.及びS O U R C E zが、ラッチIO
及び11を介して一対の小数部整列装置12およびI3
へ供給される。オペランドSOURCEI は、52ビ
ット小数部PRAC,,11ビット指数部EXP. 、
及び符号ビットS1から成る。同様に、オペランドSO
URCE.は、52ビット小数部FRACz 、1 1
ビット指数部EXP.、及び符号ビ7トS,から成る。
例示の装置は他のフォーマットの浮動小数点数を処理す
ることもできる。
前述したように、2つのソース・オペランドの2進小数
点を、有意味加算または減算を行う前に整列させなけれ
ばならない。この整列は2つの整列装置l2及び13に
よって行なわれ、これら整列装置は、最初、ソース・オ
ペランドSOIJRCE ,及びS O U R C 
E zからFRAC.及びFRACtを減算する。次い
で、小さい指数部を有する小数部を所定数の位置だけ右
へシフトすることにより、整列を完成する。この所定数
は、指数部処理装置I4によって決定される2つの指数
部間の差に等しい。
指数部処理装置14は、ラソチ10及びl1から2つの
オペランドSOURCE,及びSOURCEzを受け取
り、11指数部ビッ}EXP+及びEXP.をそれぞれ
のオペランドから抽出し、そして小数部整列装置12及
び13に対する1対の6ビット信号を発生する.(実際
上は、2つの整列装置12及び13はそれ自体の指数部
減算器を持つことができる。)これら6ビット制御信号
は、小数部F R A C t及びF R A C z
のうちのどれを整列装置12及び13内でシフトすべき
かということ、及びシフトの大きさを決定する. F 
R A C I整列装置12へ与えられる制御信号は、
EXP,がEXP2よりも大きい場合にはゼロであり、
EXP.がEXP,よりも大きいかまたはこれに等しい
場合には2つの指数部間の差に等しい。即ち、小数部F
RACZは、EXP,がEXP,よりも大きい場合には
、EXP,とE X P zとの間の差に等しい数の位
置だけ右へシフトされる。
FRACz整列装置を与えられる制御信号は、EXP.
がEXPIよりも大きいかまたはこれに等しい場合には
ゼロとなり、EXP,がEXP.よりも大きい場合には
これら2つの指数部間の差に等しくなる。即ち、小数部
FRACZは、EXP,がExpzよりも大きい場合に
はEXP,とEXPtとの間の差に等しい数の位置だけ
右へシフトされる。従って、これら制御信号の正味の効
果は、小さい小数部を有するソース・オペランドの小数
部を適切な数の2進位置だけシフトし、これら2つのソ
ース・オペランドの小数部を加算また減算させることを
可能にするである。
整列装置12及び13から、2つの整列済み小数部PR
AC,及びFRACzを1対のラッチl6及び17を介
して小数部加算器15へ送る。
前述したように、そして後で詳細に説明するように、加
算器l5を用いて2つの小数部F R A C +及び
F R A C 2を加算することも、または減算する
こともできる。
加算器l5によって作られた和FRACsは正規化装置
18へ送られ、該装置は和FRAC!を、FRACSを
正規化するのに必要な数の位置だけ左へシフトする。同
時に、正規化装置は制御信号を指数部調整装置19へ送
る。この指数部調整装置は、2つの指数部EXP.及び
EXPzのうちの大きい方のものをラッチ20を介して
受け取る.この大きい方の指数部を,以後、相指数部E
XP.と呼ぶ。指数部調整装置l9の目的は、EXP.
を、FRACsが正規化装置■8において左ヘシフトさ
れる位置数に等しい数だけ、減少させることである。正
規化装置18の出力FRACN及び指数部調整装置19
の出力EXP.はいずれも丸め装置2lへ送られ、該丸
め装置は、この結果を、丸め定数を加えることによって
丸める。次いで、最終小数部FRACF及び最終指数部
EXPFは結果を形成するように一組にされ、この結果
はラフチ22へ送られる。
次に第2図を参照し、加算器I5、正規化装置l8及び
丸め装置2Iの動作を、第2図におけるこれら3つの装
置の略図について詳細に説明ずる.小数部加算器I5に
おける加算動作に対しては、2つの64ビット整列済み
小数部PRAC.及びF R A C tを、通例の加
算器30において単純加算する.減算動作に対しては、
減算入力端子SUBにおける制御人力SUBFRACを
主張してF’RAC,の補数をFRAC.に加算する。
即ち、FRACI をFRAC.から減算する。重要な
こととして、PRAC.は、F R A C rがFR
AC!よりも大きいか小さいかとは無関係に、常に減数
として任意指定される。即ち、負の結果は、この装置に
よって適切に取り扱うことができるからである。従って
、互いに等しい指数部を有する浮動小数点数を、単一の
加算器を用い、単一の加算動作を行って、加算または減
算することができる。加算器30によって作られた結果
はバス31上で正規化装置18へ送られる。
後で詳細に説明するように、加算器30はまた、バス3
1上の数が正であるか負であるかを示す制御信号十/一
を発生する。この制御信号十/一は負の結果に対して主
張される。
正規化装置18においては、バス31上の数は、先行0
検出器32及び先行1検出器33によって受け取られる
。前述したように、正の浮動小数点数を正規化するには
、小数部を左ヘシフトし、最上位ビット位置に1が現れ
るまで先行0(最上位ビット位置にある)を押し進める
ことが必要である。負数の場合には、相補的正規化動作
を行う。
即ち、小数部を左ヘシフトし、最上位ビット位置に0が
現れるまで先行lを押し進める。即ち、第2図の装置に
おいて、先行0検出器32を用い、正数を正規化するの
に必要な左シフトの数を測定し、そして、先行1検出器
33を用いて負数に対して同じことを行う.バス3l上
の数が全てlであるという特殊の場合には、先行1検出
器33は誤った結果を与える。しかし、この誤りは、後
で詳細に説明するように、丸め装置21において続いて
生ずるオーバフロー信号によって後で補正される。
2つの検出器32及び33の出力はマルチブレクサ34
へ送られ、このマルチブレクサは、信号+/−に応答し
て前記2つの検出器の一方の出力を選択する。即ち、信
号十/一が主張される場合には先行1検出器33の出力
が選択され、バス31上の数が負であるということを示
す。信号+/一が主張されない場合には、マルチブレク
サ34は先行0検出器32の出力が選択される。マルチ
ブレクサ34から、前記選択された検出器出力はシフタ
35へ送られる。このシフタはバス3工からの数を受け
取り、そして、この数を、マルチプレクサ34からの制
御信号によって指示される位置の数だけ、左へシフトす
る.その結果の正規化済み数FRACNは、次いで、バ
ス36上で丸め装置21へ送られる。シフタ35につい
ては、第5図について後で詳細に説明する。
マルチブレクサ34の出力はまた、第1図に示す指数部
調整装置l9へ送られる。指数部調整装置19において
、指数部EXP.は、シフタ35における指数部FRA
Csの左シフトごとに1ずつディクレメントされる。
再び第2図について説明すると、丸め装置2lは加算器
37を有し、この加算器は丸め定数Kを、バス36上に
受け取られた小数部FRACNに加える。定数KはFR
ACs内の最下位ビットの2分の1に等しい.その結果
の丸め済み数FRACFが加算器37からの出力バス3
8上に、64ビットの正規化済み、丸め済みの浮動小数
点2進数として作られる。
以上の説明から解るように、減算動作においては、小数
部FRAC.は、FRAC,が小数部FRAC.よりも
大きいか小さいかとは無関係に、常にFRAC!から減
算される。従って、FRACIがFRACzよりも大き
い場合には、減算動作の結果は負となり、制御信号一/
+が発生される。この負の結果はまた、FRAC,とF
RAC!との間の真の差の補数となる。従って、信号一
/+は加算器37の減算入力端子SUBに加えられ、こ
れにより、負の結果が信号一/+の発生によって示され
ると、F R A C Hの補数が加算器37内の丸め
定数Kに加算される。加算器37はまたキャリアウト信
号C。utを発生し、この信号は、EXPの調整済み値
が1または2だけ増加されるかどうかを決定する。これ
については第3図について下に説明する。
次に第3図について説明するが、ソース・オペランドS
 O U R C E +及びSOURCE2をそれぞ
れ受け取る2つのラッチ10及びl1、2つの小数部整
列装置12及び13、並びに指数部処理装置14につい
ては第1図について上に説明した.第3図にはまた、そ
れぞれの小数部整列装置l2およびl3からスティッキ
ー・ビット出力信号SB.及びSB.を示してあり、こ
れらスティッキー・ビット信号の発生及び処理について
以下に説明する。
2つの小数部整列装置12及び13の出力は、それぞれ
のラッチ16及び17並びにこれらラッチのクロック入
力端子Cへ送られ、そこで、2つの整列済み小数部FR
AC,及びFRACZを何時小数部加算器40へ送るか
を制御する。これら数がレジスタ、即ちラッチ16及び
17から加算器40へ送られる最中に、先行Oが、回線
4l及び42を介して、各数に最上位ビットとして挿入
される。これらの加えられた0は「オーバフロー・ビッ
ト」であり、小数部加算器40において行われる加算の
結果として作られる余分ビットを受け入れるためのプレ
ースホルダの役をなす。即ち、1よりも大きいかまたは
これに等しい和に備えるものである。
レジスタ16からの数FRAC.は排他的ORゲート4
3を通って送られる。このゲートはまた、2つの数F 
R A C I及びFRACzが加算器40において加
算されないで減算されるべきときに主張される制1n信
号SUBFRACを受け入れる。
この信号SUBFRACの主張により、数FRACI 
は真の形ではなしに補数の形で加算器40に加えられる
。詳述すると、ゲート43は数FRACzを逆転し、そ
して、■が、信号SUBFRACにより、インバータ4
4及びNORゲート45を介して加算器40のキャリイ
ンへ加えられ、これにより、FRACZに対する加算の
ためのFRACI.の2の補数を作る。
信号SUBFRACは排他的ORゲート46によって作
られる。このゲートは3つの入力信号、即ち、ソース・
オペランドSOURCEIをソース・オペランドSOU
RCE!から減算すべきことを示す減算信号SUB,m
びに前記2つのソース・オペランドの2つの符号ビット
S,及びS!を受け入れる。入力信号のこの組合せによ
り、ゲート46の出力、即ち信号SUBFRAC,が、
(11 S U Bが主張され且つS1及びS2が同じ
である場合に、または(2) S U Bは主張されな
いがSl及びS2が異なる場合に、主張させられる。い
うまでもなく、PRAC,及びFRACtを、反対符号
を有する状態で処理することが必要であるという条件が
ある。
減算信号SUBFRACは加算器40へ送られるだけで
はなく (インバータ44及び45を介して) 、AN
Dゲート47へも送られて符号一/+を発生する。AN
Dゲート47への第2の入力は加算器40の出力内の最
上位ビットである。このビットがセットされると、これ
は、加算器40の出力が負数であるということを示す。
即ち、信号−/+の主張は、小数部加算器40によって
作られる和F R A CMを、所望の算術結果を得る
ために、その補数の形に変換することが必要であるとい
うことを示す。これを行う方法については以下に説明す
る。
小数部加算器40の出力はバス48を介してシフク49
(前述のシフタ35に対応)へ送られ、次いでバス51
を介して丸め加算器50へ送られる。シフタ49と加算
器50との間で、正規化済み結果FRACFが、AND
ゲート47からの信号一/+を受信する排他的ORゲー
ト52を通って送られる。信号一/+の主張により、バ
ス51上の正規化済み結果F R A C *が、真の
形ではなしに補数の形で加算器50へ加えられる。詳述
すると、ゲート52はF R A CMを逆転し、そし
て1が、信号一/+により、インバータ53及びNOR
ゲート54を介して加算器50のキャリインへ加えられ
、これによりF R A C Hの2の補数を作る。丸
め加算器の出力は、最初の2つのソース・オペランドS
OURCE.とS O U R C E zとの間の実
際の差を表す浮動小数点数の小数部の最終値FRACF
を表す。この数FRAC,はバス55を介してバフキン
グ装置56へ送られ、次いでラッチ57へ送られる。
ヒドン・ビットは小数部FRAC,及びFRAC!の各
々の真の値の一部であるから、このビットを、加減算器
内で処理される前に、各小数部ヘリストアすることが必
要である。即ち、第3図に示すように、ヒドン・ビット
を、それぞれの整列装置12及び13に入る前に、2つ
の小数部へ再記憶する。次いで、丸め加算器50によっ
て最終小数部値F R A CFが作られるときに、こ
のヒドン・ビットを、前記最終値が最終指数部値及び符
号とともに一組にされる前に、再び取り出す。
次に、指数部処理装置l4によって選択されてラッチ2
0へ送られる指数部数EXPの処理について説明すると
、ラッチ20へ与えられるクロフク信号が、何時この数
を指数部調整装置l9へ送るかを決定する(第1図)。
第3図において、指数部調整装置l9は加算器60を有
し、該加算器において、数EXP.は、数FRACSが
正規化装置、即ちシフタ49内でシフトされる位置数に
等しい数だけ、デクリメントされる。このデクリメント
数は、第2図について説明したと同じ方法で、検出器3
2及び33並びにマルチブレクサ34を用いて、決定さ
れる。
指数部調整加算器60から、調製済み指数部数EXP.
は、数EXPNの値を1及び2だけ増加させる1対の加
算器61及び62をそれぞれ通過させられる。EXP.
の値は、小数部FRAC.及びPRAC2が加算器40
に入る前にこれら小数部の各々に対するオーバフロー・
ビットの加算があるので、常に1だけ増加させられる。
丸め加算器50内でオーバフ口一が生ずると、EXPN
の値は2だけ増加させられる。これはまた、先行1検出
器33に与えられる数の全てが1であるという前述の特
殊な場合に先行1検出器33によって導入される誤りを
補正する。
2つの加算器61と62との間で選択するため、これら
2つの加算器の出力をマルチプレクサ63に与える。こ
のマルチプレクサの選択入力端子は丸め加算器50から
のキャリアウトを受け取る。
このキャリアウトが主張されると、マルチブレクサ63
は、加算器6lではなしに加算器62の出力を選択し,
従って、加算器60からの数EXP.は、■ではなしに
2だけ増加させられる。マルチプレクサ63の出力は数
EXPFであり、これは、最初の2つのソース・オペラ
ンドSOURCE,とSOURCE.との間の実際の差
を表す浮動小数点数に対する指数部の最終値である。
第3図に示す装置の最終結果の符号は結果符号ロジック
70によって決定される。このロジックは、入力信号と
して、減算信号SUB,EXP.がEXP.よりも大き
いかどうかということを示す指数部処理装置14からの
信号、2つのソース・オペランドの2つの符号ビットS
I及びS2、並びにゲート47からのー/十信号を受け
取る。
(1)EXP.がEXPtよりも大きいか、または(2
)EXP,及びEXP.が等しく且つ信号一/+が発生
される場合には、オペランドSOURCE,の絶対値は
オペランドSOIJRCEzの絶対値よりも大きい。S
OURCE,の絶対値がSOURCEZの絶対値よりも
大きく、そしてSOURCE.がS O U R C 
E zに加算されつつある場合には、結果の符号SFは
SOURCE.の符号S,となる。即ち、符号ビフトS
1はロジック70を通過させられ、そして浮動小数点加
算動作の最終結果の符号ビットSFとなる。
SOURCE,の絶対値がSOURCE.の絶対値より
も小さく、そしてSOURCE,及びSOUR.CE,
が加算されつつある場合には、ロジック70は、SOU
RCE.の符号S2と同じである結果符号SFを作る。
SOURCE,がSOURCE.から減算されつつある
ときには、信号SUBが発生される。そこで、SOtJ
RCE,の絶対値がS O U R C E zの絶対
値よりも大きい場合には、結果符号SFはS1の反対と
なる。SOURCE,の絶対値がSOURCE.の絶対
値よりも小さい場合には、結果符号SFはS2と同じに
なる。
指数部処理装置工4のための回路の実施例を第4図に示
す。この回路は2つの指数部減算器80および81を有
し、その各々は2つの指数部EXP.及びEXP.を受
け取る。2つの減算器を用いることにより、1つの減算
器を整列装置12及び13の各々とともに機械的に実装
することが可能になる。両方の減算器において、1が各
入力の最上位位置に加えられてバイアス・ビットが再記
憶される。2つの減算器80及び81のいずれかからの
正の出力は、この減算器に?tj.減数として与えられ
た指数部が、この減算器に減数として与えられた指数部
よりも大きい、ということを示すものである。従って、
この加算器の正の出力の数値は、この加算器に減数とし
て与えられた指数部に対応ずる小数部が整列のために右
へシフトされるべき位置数を表す。減算器80の場合に
は、この出力部にはANDゲート82が設けられ、この
ゲートは、減算器80の数値出力を一つの入力とし、符
号ビットの補数を第2の入力として、インバータ83を
介して受け取る。ANDゲート82の出力は小数部整列
装置12に与えられ、小数部FRACI の左シフトの
数を制御する。減算器80の出力が負である場合には、
その符号ビットは1となり、インバータ83によって反
転されると、ANDゲート82をディスエーブルし、従
って小数部P R A C l はシフトされない。
減算器81の場合には、出力はANDゲート84によっ
て小数部整列装置13のための入力信号に転換される.
このゲートは、減算器81の数値出力を一つの人力とし
て、及び符号ビットの補数を第2の入力として、イ″ン
バータ85を介して受け入れる。BXPIがEXP.よ
りも大きい場合には、ANDゲート84の出力は、整列
装置l3における小数部F R A C 2の左シフト
の数を制御する。減算器81の出力が負である場合には
、符号ビットは1となり、これは、インバータ85によ
って反転されると、ANDゲート84をディスエーブル
し、従って小数部FRACzはシフトされない。
第4図の回路はまた、2つの指数部値EXPI及びEX
P2を受け俄るマルチブレクサ86を有す。減算器80
の出力からの符号ビットはマルチブレクサ86の選択線
を働かせ、減算器80からの符号ビットが正である場合
には指数部をEXP.を大きい指数部として選択し、減
算器80からの符号ビットが負である場合には指数部E
XP,を選択するようにする。そこで、マルチブレクサ
86の出力端子に現れる指数部は2つの指数部のうちの
大きい方のものである。これは指数部値EXP.であり
、加算器60及び6lまたは62において何等かの調整
が行われた後に、最終指数値EXP,となる。
小数部整列装置12またはl3のための回路の実施例を
第5図に示す。この回路はANDゲート82または84
の出力を受け取り、そして、出力の6個の最下位ビット
の連続する4ビット・シフト・マルチブレクサ90、9
1及び92へ送る。
小数部FRAC,またはFRACzの64ビットを第1
のマルチブレクサ90へ送り、そして,.このマルチプ
レクサに対する2つの制御入力のいずれかの上に1が存
在する場合には、前記64ビットはこれに従ってシフト
される。
詳述すると、マルチブレクサ90は小数部を1、2また
は3位置だけシフ{・することができ、マルチブレクサ
9Iは4、8またはI2位置だけシフトすることができ
、マルチブレクサ92は16、32または48位置だけ
シフトすることができる。
例えば、指数部処理装置の出力内の最下位ビット位置に
1が存在することは、2つの指数部BXP.及びE X
 P tが少なくとも1だけ異なっており、従って小数
部FRAC,またはF R A C zはマルチブレク
サ90において1位置だけシフトされるということを示
す。このシフトされた数は、次いで、4ビット・シフト
・マルチブレクサ91へ送られ、このマノレチフ″レク
サは、菖亥マノレチフ゜レクサが受け取った2つの制御
入力に従ってビット位置だけこの数をシフトする。例え
ば、マルチブレクサ91に対する2つの入力において上
の方のビット位置に1が存在するということは、2つの
指数部EXp,及びEXP.が少なくともなお8だけ異
なっているということを示す。従って、マルチブレクサ
91によって受け取られた小数部FRAC,またはF 
R A C zは、この制御入力信号に応答して更に8
ビット位置だけシフ1・させられる。
2つの指数部EXP,及びEXP.が等しい場合には、
ANDゲート82及び84はいずれもO出力をなし、従
って0がマルチプレクサ90ないし92に対する全数6
つの制御入力端子へ送られる。従って、2つの小数部F
 R A C +及びFRAC,は全然シフトされない
マルチプレクサ91ないし92に対する全数6つの制御
入力端子上に1が存在する場合には、小数部PRAC,
またはF R A C tは全数63位置だけシフトさ
れる。一つの整列装置12または13において一つの小
数部PRAC+またはFRACzがシフトされると、こ
のシフトされた小数部の最下位ビットの右にある1がこ
の小数部の切り捨ての結果として「捨てられる」可能性
がある。これが生ずると、シフトが行われる整列装置1
2または13は[スティッキー・ビフト」信号SB,ま
たはSB2を発生し、この信号は、切捨てによるビット
の損失を補償するために後で用いられる。整列装置12
または13におけるこの信号SB,またはSB.を発生
するための回路を第6図に示す.この回路における小数
部シフタ99は第5図に示すシックである。
第6図の整列装置においては、63ビットまでのシフト
を制御するためにシフタ内のマルチブレクサ90ないし
92に制御信号として与えられる同じ6ビットが比較器
100に入力Aとして与えられる。比較器100に対す
る入力Bは末尾0検出器lOlから引き出される.この
検出器は、64ビット小数部内の連続0の数を、最下位
ビット位置から始めて、測定する。入力Bが入力Aより
も小さい場合には、ビット・シフトの数が末尾0の数を
越える。このことは、シフトされる小数部の切捨てにお
いてlが失われたということを意味する。従って、比較
器100は、スティッキー・ビット信号SBである出力
信号を主張する。
F R A C +に対する整列装置12からのスティ
ッキー・ビット信号SB.はNORゲー・ト45へ与え
られ、このゲートは信号SUBFRACを小数部加算器
40のキャリインに与える.信号SB.が出力されると
、これはキャリイン信号が加算器40へ与えられること
を妨げ、これにより、整列装置12におけるセット・ビ
ットの切捨てを補償する。
FRACzに対する整列装置13からのスティッキー・
ビット信号はNORゲート54に与えられ、このゲート
は信号一/+を丸め加算器50のキャリインに与える.
信号S B zが出力されると、これはキャリイン信号
が加算器50に与えられることを妨げ、これにより、整
列装置13におけるセット・ビットの切捨てを補償する
末尾0検出器101のための回路の実施例を第7図に示
す。この回路においては、64ビット小数部の連続バイ
トが、8つの別々の8ビット優先エンコーダ110ない
し117に、及び8つの別々のORゲート120ないし
127に与えられる。
ORゲート120〜127の出力は全て、8ビット優先
エンコーダ130に、及びORゲート131に与えられ
る。各エンコーダは、第8図の真理値表に従い、その入
力バイト内の最初の1の位置を表す3ビット出力を発生
する。これら8つの3ビット出力は、全て、マルチブレ
クサ132に与えられる。エンコーダ130はその8ビ
ット入力内の最初の1の位置を表す3ビット出力を発生
し、そしてこの3ビット出力はマルチプレクサ132の
選択端子に与えられる。即ち、エンコーダ130は、エ
ンコーダ110〜117のうちの最初のものを、最下位
バイトを受け取るエンコーダ110から始めて、選択し
て、1を検出する。
そして、マルチプレクサはこの選択されたエンコーダの
3ビット出力を通過させる。次いで、このマルチブレク
サの出力は、第7図に示すように、エンコーダ130の
出力と結合し、64ビット小数部内の最初の1のビット
位置を識別する6ビット2進数を形成する。この数はま
た末尾0の数を識別する。
第7図に示す末尾0検出器はまた、64ビット入力を単
に映すことにより、先行0検出器として用いることもで
きる。
【図面の簡単な説明】
第1図は本発明を具現する浮動小数点加算器のブロック
線図、第2図は第1図の加算器内の小数部加算器、正規
化装置及び丸め装置の略図路図、第3図は第1図に示す
全体的加算器を詳細に示す回路図、第4図は第3図にお
ける指数部処理装置の略回路図、第5図は第3図の装置
に含まれる小数部整列装置内に用いられるシフタの略回
路図、第6図は第3図の装置に含まれる一つの小数部整
列装置の略回路図、第7図は第6図の回路に含まれる末
尾O検出器の略回路図、第8図は第7図の回路内に用い
られる8ビット優先エンコーダのための真理値表である
。 12、l3:小数部整列装置、 14:指数部処理装置、 15:小数部加算器、 18:正規化装置、 19:指数部調整装置、 21:丸め装置。 8ビット優先エンコーダ真理値表 1.事件の表示 2.発明の名称 4.代 理人 5,補正命令の日付 7.補正の対象 手続補正書 2、1.10 平成1年特許願第284669号 ディジタルコンピ二ータ用バイブ ライン式浮動小数点加減算器 自 発 明細書の特許請求の範囲の欄 特許請求の範囲 1. ディジタル・コンピュータ内のパイプライン式浮
動小数点加減算器において各々が小数部、指数部及び符
号を有する2つの浮動小数点2進数を減算する方法にお
いて、 前記2つの小数部を減算のために整列させる段階と、 前記2つの浮動小数点数の一方の小数部を減数として任
意指定し、及び前記指定された小数部の補数を作る段階
と、 前記指定された小数部の前記補数を他方の小数部に加算
し、及びその結果を正規化する段階と、 前記結果が負であるかどうかを測定し、負である場合に
は、前記正規化された結果の補数を作り、及び前記2つ
の浮動小数点数の指数部のうちの大きい方を選定し、及
び前記選定された指数部の値を前記結果の正規化に従っ
て調整する段階とを有する減算方法。 2.指定された小数部の補数は、2つの小数部を整列さ
せる段階の後に作られる請求項l記載の減算方法. 3. ディジタル・コンピュータ内のパイプライン式浮
動小数点加減算器において各々が小数部、指数部及び符
号を有する2つの浮動小数点2進数を減算する方法にお
いて、 前記2つの小数部のうちの一方をシフトすることにより
前記2つの小数部を減算のために整列させる段階と、 前記一方の小数部内の連続Oの数を、そのシフトの前に
、最下位ビット位置から始めて、測定する段階と、 (1)前記整列段階において前方一方の小数部がシフト
される位置数を(2)前記一方の小数部内の前記連Vt
oの数と比較する段階と、 前記連続0の数が前記一゜方の小数部が前記整列段階中
にシフトされる位置数よりも小さい場合にスティッキー
・ビット信号を発生する段階とを含んでおり、前記ステ
ィッキー・ビット信号は前記整列段階中における少なく
とも1つのセ7}・ビットの切捨てを示す減算方法.4
. ディジタル・コンピュータ内のパイプライン式浮勅
小数点加減算器において各々が小数部、指数部及び符号
を有する2つの浮動小数点2進数を減算する方法におい
て、 小さい方の指数部と関連する小数部を、2つの前記指数
部間の数値差に等しい複数のビット位置だけ右へシフト
することにより、2つの前記小数部を減算のために整列
させる段階と、前記2つの小数部が減算のために整列さ
せられた後、前記小数部の一方の補数を作る段階と、前
記2つの小数部を2つの入力端子において受け取る加算
器において、指定された前記小数部の補数を他方の小数
部へ加算する段階とを有し、前記2つの入力端子のうち
の所定のものにおいて受け取られる小数部は常に減数と
して指定される小数部であって前記加算段階によって作
られる結果を正規化し、更に、 前記結果が負であるかどうかを測定し、負である場合に
は、前記正規化済み結果の補数を作り、及び前記2くの
浮動小数点数の指数部のうちの大きい方を選定し、及び
前記選定された指数部の値を前記結果の正規化に従って
調整する段階を有する減算方法。 5.正規化済み結果をこれに丸め定数を加算することに
よって丸める段階を含んでおり、前記正規化済み結果の
補数は前記丸め段階中に作られる請求項1又は4記載の
減算方法. 6.結果の最上位ビットが何時セソトされるかを検出す
る段階と、前記結果の最上位ビット位置におけるセット
・ビットの検出に応答して正規化済み結果の補数を作る
段階とを含んでいる請求項5記載の減算方法。 7.整列段階は2つの小数部のうちの一方をシフトする
ことを含んでおり、更に、 前記一方の小数部内の連続Oの数を、そのシフトの前に
、最下位ビット位置から始めて、測定する段階と、 (11前記整列段階において前方一方の小数部がシフト
される位置数を(2)前記一方の小数部内の前記連続0
の数と比較する段階と、 前記連続Oの数が前記一方の小数部が前記整列段階中に
シフトされる位置数よりも小さい場合にスティッキー・
ビット信号を発生する段階とを含んでおり、前記スティ
ッキー・ビット信号は前記整列段階中における少なくと
も1つのセット・ビットの切捨てを示す請求項1又は4
記載の減算方法。 8.整列段階中にシフトされる小数部が減数として指定
された小数部である場合にスティッキー・ビット信号の
発生に応答して加算段階中のキャリインを妨げる段階を
含んでいる請求項7記載の減算方法。 9.正規化済み結果をこれに丸め定数を加算することに
よって丸める段階と、整列段階中にシフトされた小数部
が減数として指定された小数部でない場合にスティッキ
ー・ビット信号の発生を応答して前記丸め段階中のキャ
リインを妨げる段階とを含んでいる請求項7記載の減算
方法。 1 0.  各々が小数部、指数部及び符号を有する2
つの浮動小数点2進数をディジタル・コンピュータにお
いて減算するためのパイプライン式浮動小数点加減算器
において、 前記2つの小数部を減算のために整列させる手段と、 前記2つの浮動小数点数の一方の小数部を減数として任
意指定し、及び前記指定された小数部の補数を作るため
の手段と、 前記指定された小数部の前記補数を他方の小数部に加算
するための加算器と、 前記加算器によって作られた結果を正規化するための正
規化手段と、 前記結果が負であるかどうかを測定し、負である場合に
は、前記正規化された結果の補数を作るための手段と、 前記2つの浮動小数点数の指数のうちの大きい方を選定
し、及び前記選定された指数部の値を前記結果の正規化
に従って調整するための指数処理装置とを備えて成るパ
イプライン式浮動小数点加減算器. 11.指定された小数部の補数は、2つの小故部の減算
のための整列の後に作られる請求項IO記載のパイプラ
イン式浮動小数点加減算器。 12.  正規化済み結果をこれに丸め定数を加算する
ことによって丸めるための、及び前記丸め段階中に前記
正規化済み結果の補数を作るための手段を含んでいる請
求項lO記載のパイプライン式浮動小数点加減算器。 13.正規化済み結果の最上位ビットが何時セットされ
るかを検出するための、及び前記結果の最上位ビット位
置におけるセット・ビットの検出に応答して前記正規化
済み結果の補数を作るための手段を含んでいる請求項1
2記載のパイプライン式浮動小数点加減算器。 14,整列手段は2つの小数部の一方を右へシフトする
ための手段を具備しており、更に、前記一方の小数部に
おける連続0の数を、そのシフトの前に、最下位ビット
位置から始めて、測定するための末尾O検出器と、 (1)  前記一方の小数部が整列段階においてシフト
される位置数を、(2)前記一方の小数部における前記
連続0の数と比較し、及び前記述続0の数が前記一方の
小数部が整列段階においてシフトされる位置数よりも小
さい場合にスティッキー・ビット信号を発生するための
比較手段を含んでおり、前記スティッキー・ビット信号
は前記整列段階中の少なくとも1つのセット・ビノトの
切捨てを示す請求項lO記載のパイプライン式浮動小数
点加減算器。 1 5.  整列段階中にシフトされる小数部が減数と
して指定される小数部である場合に、スティソキー・ピ
ント信号の発生に応答して加算段階中のキャリインを妨
げるための手段を含んでいる請求項14記載のパイプラ
イン式浮動小数点加減算器。 16.  正規化済み結果をこれに丸め定数を加算する
ことによって丸めるための手段と、 整列段階中にシフトされる小数部が減数として指定され
る小数部でない場合に、スティッキー・ビット信号の発
生に応答して前記丸め段階中のキャリインを妨げるため
の手段とを含んでいる請求項l4記載のパイプライン式
浮動小数点加減算器。 17、各々が小数部、指数部及び符号を有する2つの浮
動小数点2進数をデイジタル・コンピュータにおいて減
算するためのパイプライン式浮動小数点加減算器におい
て、 2つの前記小数部の一方を右へシフトすることによって
前記2つの小数部を減算のための整列させるための手段
と、 前記一方の小数部における連続0の数を、そのシフトの
前に、最下位ビット位置から始めて、測定するための末
尾O検出器と、 (1)  前記一方の小数部が整列段階においてシフト
される位置数を、(2)前記一方の小数部における前記
連続0の数と比較し、及び前記連続0の数が前記一方の
小数部が整列段階においてシフトされる位置数よりも小
さい場合にスティッキー・ビット信号を発生するための
比較手段とを備えて成り、前記スティッキー・ビット信
号は前記整列段階中の少なくとも1つのセット・ビット
の切捨てを示すパイプライン式浮動小数点加減算器。

Claims (1)

  1. 【特許請求の範囲】 1、ディジタル・コンピュータ内のパイプライン式浮動
    小数点加減算器において各々が小数部、指数部及び符号
    を有する2つの浮動小数点2進数を減算する方法におい
    て、 前記2つの小数部を減算のために整列させる段階と、 前記2つの浮動小数点数の一方の小数部を減数として任
    意指定し、及び前記指定された小数部の補数を作る段階
    と、 前記指定された小数部の前記補数を他方の小数部に加算
    し、及びその結果を正規化する段階と、 前記結果が負であるかどうかを測定し、負である場合に
    は、前記正規化された結果の補数を作り、及び前記2つ
    の浮動小数点数の指数部のうちの大きい方を選定し、及
    び前記選定された指数部の値を前記結果の正規化に従っ
    て調整する段階とを有する減算方法。 2、指定された小数部の補数は、2つの小数部を整列さ
    せる段階の後に作られる請求項1記載の減算方法。 3、整列段階は小さい方の指数部に関連する小数部を右
    へシフトし、前記シフトは2つの指数部間の数値差に等
    しい複数のビット位置である請求項1記載の減算方法。 4、加算段階は、2つの入力端子において2つの小数部
    を受け取る加算器において行われ、前記2つの入力端子
    のうちの所定のものにおいて受け取られる小数部は常に
    減数として指定された小数部である請求項1記載の減算
    方法。 5、所定の入力端子において受け取られる小数部の補数
    は、浮動小数点数の一方のものの符号表す信号、前記数
    の他方のものの符号を表す信号、及び前記2つの数の減
    算を指令する信号の排他的論理和処理に応答して作られ
    る請求項4記載の減算方法。 6、結果が負であるかどうかを測定する段階は、前記結
    果の最上位ビットが何時セットされるかを検出すること
    を含んでいる請求項1記載の減算方法。 7、正規化済み結果をこれに丸め定数を加算することに
    よって丸める段階を含んでおり、前記正規化済み結果の
    補数は前記丸め段階中に作られる請求項1記載の減算方
    法。 8、結果の最上位ビットが何時セットされるかを検出す
    る段階と、前記結果の最上位ビット位置におけるセット
    ・ビットの検出に応答して正規化済み結果の補数を作る
    段階とを含んでいる請求項7記載の減算方法。 9、整列段階は2つの小数部のうちの一方をシフトする
    ことを含んでおり、更に、 前記一方の小数部内の連続0の数を、そのシフトの前に
    、最下位ビット位置から始めて、測定する段階と、 (1)前記整列段階において前記一方の小数部がシフト
    される位置数を(2)前記一方の小数部内の前記連続0
    の数と比較する段階と、 前記連続0の数が前記一方の小数部が前記整列段階中に
    シフトされる位置数よりも小さい場合にスティッキー・
    ビット信号を発生する段階とを含んでおり、前記スティ
    ッキー・ビット信号は前記整列段階中における少なくと
    も1つのセット・ビットの切捨てを示す請求項1記載の
    減算方法。 10、整列段階中にシフトされる小数部が減数として指
    定された小数部である場合にスティッキー・ビット信号
    の発生に応答して加算段階中のキャリインを妨げる段階
    を含んでいる請求項9記載の減算方法。 11、正規化済み結果をこれに丸め定数を加算すること
    によって丸める段階と、整列段階中にシフトされた小数
    部が減数として指定された小数部でない場合にスティッ
    キー・ビット信号の発生に応答して前記丸め段階中のキ
    ャリインを妨げる段階とを含んでいる請求項9記載の減
    算方法。 12、ディジタル・コンピュータ内のパイプライン式浮
    動小数点加減算器において各々が小数部、指数部及び符
    号を有する2つの浮動小数点2進数を減算する方法にお
    いて、 前記2つの小数部のうちの一方をシフトすることにより
    前記2つの小数部を減算のために整列させる段階と、 前記一方の小数部内の連続0の数を、そのシフトの前に
    、最下位ビット位置から始めて、測定する段階と、 (1)前記整列段階において前記一方の小数部がシフト
    される位置数を(2)前記一方の小数部内の前記連続0
    の数と比較する段階と、 前記連続0の数が前記一方の小数部が前記整列段階中に
    シフトされる位置数よりも小さい場合にスティッキー・
    ビット信号を発生する段階とを含んでおり、前記スティ
    ッキー・ビット信号は前記整列段階中における少なくと
    も1つのセット・ビットの切捨てを示す減算方法。 13、整列段階において一方の小数部がシフトされる位
    置数は2つの浮動小数点数の指数間の数値差に等しい請
    求項12記載の減算方法。 14、ディジタル・コンピュータ内のパイプライン式浮
    動小数点加減算器において各々が小数部、指数部及び符
    号を有する2つの浮動小数点2進数を減算する方法にお
    いて、 小さい方の指数部と関連する小数部を、2つの前記指数
    部間の数値差に等しい複数のビット位置だけ右へシフト
    することにより、2つの前記小数部を減算のために整列
    させる段階と、前記2つの小数部が減算のために整列さ
    せられた後、前記小数部の一方の補数を作る段階と、前
    記2つの小数部を2つの入力端子において受け取る加算
    器において、指定された前記小数部の補数を他方の小数
    部へ加算する段階とを有し、前記2つの入力端子のうち
    の所定のものにおいて受け取られる小数部は常に減数と
    して指定される小数部であって前記加算段階によって作
    られる結果を正規化し、更に、 前記結果が負であるかどうかを測定し、負である場合に
    は、前記正規化済み結果の補数を作り、及び前記2つの
    浮動小数点数の指数部のうちの大きい方を選定し、及び
    前記選定された指数部の値を前記結果の正規化に従って
    調整する段階を有する減算方法。 15、所定の入力端子において受け取られる小数部の補
    数は、浮動小数点数の一方のものの符号を表す信号、前
    記数の他方のものの符号を表す信号、及び前記2つの数
    の減算を指令する信号の排他的論理和処理に応答して作
    られる請求項14記載の減算方法。 16、結果が負であるかどうかを測定する段階は、前記
    結果の最上位ビットが何時セットされるかを検出するこ
    とを含んでいる請求項14記載の減算方法。 17、正規化済み結果をこれに丸め定数を加算すること
    によって丸める段階を含んでおり、前記正規化済み結果
    の補数は前記丸め段階中に作られる請求項14記載の減
    算方法。 18、結果の最上位ビットが何時セットされるかを検出
    する段階と、前記結果の最上位ビット位置におけるセッ
    ト・ビットの検出に応答して正規化済み結果の補数を作
    る段階とを含んでいる請求項17記載の減算方法。 19、整列段階は、2つの小数部のうちの一方を右へシ
    フトすることを含んでおり、更に、 前記一方の小数部内の連続0の数を、そのシフトの前に
    、最下位ビット位置から始めて、測定する段階と、 (1)前記整列段階において前記一方の小数部がシフト
    される位置数を(2)前記一方の小数部内の前記連続0
    の数と比較する段階と、 前記連続0の数が前記一方の小数部が前記整列段階中に
    シフトされる位置数よりも小さい場合にスティッキー・
    ビット信号を発生する段階とを含んでおり、前記スティ
    ッキー・ビット信号は前記整列段階中における少なくと
    も1つのセット・ビットの切捨てを示す請求項14記載
    の減算方法。 20、整列段階中にシフトされる小数部が減数として指
    定された小数部である場合にスティッキー・ビット信号
    の発生に応答して加算段階中のキャリインを妨げる段階
    を含んでいる請求項18記載の減算方法。 21、正規化済み結果をこれに丸め定数を加算すること
    によって丸める段階と、整列段階中にシフトされた小数
    部が減数として指定された小数部でない場合にスティッ
    キー・ビット信号の発生に応答して前記丸め段階中のキ
    ャリインを妨げる段階とを含んでいる請求項19記載の
    減算方法。 22、各々が小数部、指数部及び符号を有する2つの浮
    動小数点2進数をディジタル・コンピュータにおいて減
    算するためのパイプライン式浮動小数点加減算器におい
    て、 前記2つの小数部を減算のために整列させる手段と、 前記2つの浮動小数点数の一方の小数部を減数として任
    意指定し、及び前記指定された小数部の補数を作るため
    の手段と、 前記指定された小数部の前記補数を他方の小数部に加算
    するための加算器と、 前記加算器によって作られた結果を正規化するための正
    規化手段と、 前記結果が負であるかどうかを測定し、負である場合に
    は、前記正規化された結果の補数を作るための手段と、 前記2つの浮動小数点数の指数のうちの大きい方を選定
    し、及び前記選定された指数部の値を前記結果の正規化
    に従って調整するための指数処理装置とを備えて成るパ
    イプライン式浮動小数点加減算器。 23、指定された小数部の補数は、2つの小数部の減算
    のための整列の後に作られる請求項22記載のパイプラ
    イン式浮動小数点加減算器。 24、整列手段は小さい方の指数部に関連する小数部を
    右へシフトし、前記シフトは2つの指数部間の数値差に
    等しい複数のビット位置である請求項22記載のパイプ
    ライン式浮動小数点加減算器。 25、加算器は2つの入力端子において2つの小数部を
    受け取り、更に、前記2つの入力端子のうちの所定のも
    のにおいて受け取られる小数部を常に減数として指定す
    るための手段を含んでいる請求項22記載のパイプライ
    ン式浮動小数点加減算器。 26、所定の入力端子において受け取られる小数部の補
    数を作るため、浮動小数点数の一方のものの符号を表す
    信号、前記数の他方のものの符号を表す信号、及び前記
    2つの数の減算を指令する信号の排他的論理和処理のた
    めの手段を含んでいる請求項25記載のパイプライン式
    浮動小数点加減算器。 27、結果が負であるかどうかを測定するための手段は
    、前記結果の最上位ビットが何時セットされるかを検出
    するための手段を具備している請求項22記載のパイプ
    ライン式浮動小数点加減算器。 28、正規化済み結果をこれに丸め定数を加算すること
    によって丸めるための、及び前記丸め段階中に前記正規
    化済み結果の補数を作るための手段を含んでいる請求項
    22記載のパイプライン式浮動小数点加減算器。 29、正規化済み結果の最上位ビットが何時セットされ
    るかを検出するための、及び前記結果の最上位ビット位
    置におけるセット・ビットの検出に応答して前記正規化
    済み結果の補数を作るための手段を含んでいる請求項2
    8記載のパイプライン式浮動小数点加減算器。 30、整列手段は2つの小数部の一方を右へシフトする
    ための手段を具備しており、更に、 前記一方の小数部における連続0の数を、そのシフトの
    前に、最下位ビット位置から始めて、測定するための末
    尾0検出器と、 (1)前記一方の小数部が整列段階においてシフトされ
    る位置数を、(2)前記一方の小数部における前記連続
    0の数と比較し、及び前記連続0の数が前記一方の小数
    部が整列段階においてシフトされる位置数よりも小さい
    場合にスティッキー・ビット信号を発生するための比較
    手段を含んでおり、前記スティッキー・ビット信号は前
    記整列段階中の少なくとも1つのセット・ビットの切捨
    てを示す請求項22記載のパイプライン式浮動小数点加
    減算器。 31、整列段階中にシフトされる小数部が減数として指
    定される小数部である場合に、スティッキー・ビット信
    号の発生に応答して加算段階中のキャリインを妨げるた
    めの手段を含んでいる請求項30記載のパイプライン式
    浮動小数点加減算器。 32、正規化済み結果をこれに丸め定数を加算すること
    によって丸めるための手段と、 整列段階中にシフトされる小数部が減数として指定され
    る小数部でない場合に、スティッキー・ビット信号の発
    生に応答して前記丸め段階中のキャリインを妨げるため
    の手段とを含んでいる請求項30記載のパイプライン式
    浮動小数点加減算器。 33、各々が小数部、指数部及び符号を有する2つの浮
    動小数点2進数をディジタル・コンピュータにおいて減
    算するためのパイプライン式浮動小数点加減算器におい
    て、 2つの前記小数部の一方を右へシフトすることによって
    前記2つの小数部を減算のための整列させるための手段
    と、 前記一方の小数部における連続0の数を、そのシフトの
    前に、最下位ビット位置から始めて、測定するための末
    尾0検出器と、 (1)前記一方の小数部が整列段階においてシフトされ
    る位置数を、(2)前記一方の小数部における前記連続
    0の数と比較し、及び前記連続0の数が前記一方の小数
    部が整列段階においてシフトされる位置数よりも小さい
    場合にスティッキー・ビット信号を発生するための比較
    手段とを備えて成り、前記スティッキー・ビット信号は
    前記整列段階中の少なくとも1つのセット・ビットの切
    捨てを示すパイプライン式浮動小数点加減算器。 34、一方の小数部が整列段階によってシフトされる位
    置の数は2つの浮動小数点2進数間の数値差に等しい請
    求項33記載のパイプライン式浮動小数点加減算器。
JP1284669A 1989-02-03 1989-10-31 ディジタルコンピュータ用パイプライン式浮動小数点加減算器 Pending JPH02232723A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US306343 1989-02-03
US07/306,343 US4994996A (en) 1989-02-03 1989-02-03 Pipelined floating point adder for digital computer

Publications (1)

Publication Number Publication Date
JPH02232723A true JPH02232723A (ja) 1990-09-14

Family

ID=23184866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1284669A Pending JPH02232723A (ja) 1989-02-03 1989-10-31 ディジタルコンピュータ用パイプライン式浮動小数点加減算器

Country Status (7)

Country Link
US (1) US4994996A (ja)
EP (1) EP0381403B1 (ja)
JP (1) JPH02232723A (ja)
AT (1) ATE145290T1 (ja)
AU (1) AU628969B2 (ja)
CA (1) CA1324217C (ja)
DE (1) DE69029098T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623435A (en) * 1992-03-17 1997-04-22 Hitachi, Ltd. Arithmetic unit capable of performing concurrent operations for high speed operation

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5111421A (en) * 1990-02-26 1992-05-05 General Electric Company System for performing addition and subtraction of signed magnitude floating point binary numbers
KR920008271B1 (ko) * 1990-04-03 1992-09-26 정호선 신경회로망을 이용한 부동소수점방식 가산기회로
JP2508912B2 (ja) * 1990-10-31 1996-06-19 日本電気株式会社 浮動小数点加算装置
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
EP0551531A1 (en) * 1991-12-20 1993-07-21 International Business Machines Corporation Apparatus for executing ADD/SUB operations between IEEE standard floating-point numbers
US5423051A (en) * 1992-09-24 1995-06-06 International Business Machines Corporation Execution unit with an integrated vector operation capability
GB2274730B (en) * 1993-01-30 1997-05-28 Motorola Inc A mantissa addition system for a floating point adder
US5459681A (en) * 1993-12-20 1995-10-17 Motorola, Inc. Special functions arithmetic logic unit method and apparatus
JPH0816364A (ja) * 1994-04-26 1996-01-19 Nec Corp カウンタ回路とそれを用いたマイクロプロセッサ
US5471410A (en) * 1994-10-14 1995-11-28 International Business Machines Corporation Method and apparatus for sticky and leading one detection
US5550768A (en) * 1995-01-31 1996-08-27 International Business Machines Corporation Rounding normalizer for floating point arithmetic operations
US5757682A (en) * 1995-03-31 1998-05-26 International Business Machines Corporation Parallel calculation of exponent and sticky bit during normalization
JP3429927B2 (ja) * 1995-10-16 2003-07-28 三菱電機株式会社 浮動小数点演算装置の正規化回路装置
EP1291764A1 (en) * 1995-10-20 2003-03-12 Kabushiki Kaisha Toshiba Logic circuit and method for designing the same
US6154760A (en) * 1995-11-27 2000-11-28 Intel Corporation Instruction to normalize redundantly encoded floating point numbers
US6275839B1 (en) * 1998-09-22 2001-08-14 International Business Machines Corporation Method and system for immediate exponent normalization in a fast floating point adder
US6301594B1 (en) * 1999-03-11 2001-10-09 Sun Microsystems, Inc. Method and apparatus for high-speed exponent adjustment and exception generation for normalization of floating-point numbers
US6366943B1 (en) 1999-03-31 2002-04-02 Brian Martin Clinton Adder circuit with the ability to detect zero when rounding
KR100331846B1 (ko) * 1999-04-02 2002-04-09 박종섭 실수 연산기
GB2412986B (en) * 2001-03-14 2005-11-30 Micron Technology Inc Arithmetic pipeline
US6988119B2 (en) * 2001-06-29 2006-01-17 Intel Corporation Fast single precision floating point accumulator using base 32 system
US20030115169A1 (en) * 2001-12-17 2003-06-19 Hongzhuan Ye System and method for management of transcribed documents
US6990445B2 (en) * 2001-12-17 2006-01-24 Xl8 Systems, Inc. System and method for speech recognition and transcription

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5999542A (ja) * 1982-11-30 1984-06-08 Fujitsu Ltd 演算回路
JPS61213927A (ja) * 1985-03-18 1986-09-22 Hitachi Ltd 浮動小数点演算処理装置
JPS62187933A (ja) * 1987-02-06 1987-08-17 Hitachi Ltd 加減算装置
JPS63157233A (ja) * 1986-12-20 1988-06-30 Fujitsu Ltd 浮動小数点演算装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4282582A (en) * 1979-06-04 1981-08-04 Sperry Rand Corporation Floating point processor architecture which performs subtraction with reduced number of guard bits
US4395758A (en) * 1979-12-10 1983-07-26 Digital Equipment Corporation Accelerator processor for a data processing system
JPS5776634A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Digital signal processor
JPS59188740A (ja) * 1983-04-11 1984-10-26 Hitachi Ltd フロ−テイング加算器
US4562553A (en) * 1984-03-19 1985-12-31 Analogic Corporation Floating point arithmetic system and method with rounding anticipation
JPS6125245A (ja) * 1984-07-12 1986-02-04 Nec Corp 丸め処理回路
US4698771A (en) * 1984-12-31 1987-10-06 Gte Communication Systems Corporation Adder circuit for encoded PCM samples
JPH0644225B2 (ja) * 1986-03-27 1994-06-08 日本電気株式会社 浮動小数点丸め正規化回路
US4800516A (en) * 1986-10-31 1989-01-24 Amdahl Corporation High speed floating-point unit
JP2558669B2 (ja) * 1986-12-29 1996-11-27 松下電器産業株式会社 浮動小数点演算装置
JPS63229521A (ja) * 1987-03-19 1988-09-26 Matsushita Electric Ind Co Ltd シフト回路
US4858165A (en) * 1987-06-19 1989-08-15 Digital Equipment Corporation Apparatus and method for acceleration of effective subtraction procedures by the approximation of the absolute value of the exponent argument difference
US4864527A (en) * 1987-08-24 1989-09-05 Victor Peng Apparatus and method for using a single carry chain for leading one detection and for "sticky" bit calculation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5999542A (ja) * 1982-11-30 1984-06-08 Fujitsu Ltd 演算回路
JPS61213927A (ja) * 1985-03-18 1986-09-22 Hitachi Ltd 浮動小数点演算処理装置
JPS63157233A (ja) * 1986-12-20 1988-06-30 Fujitsu Ltd 浮動小数点演算装置
JPS62187933A (ja) * 1987-02-06 1987-08-17 Hitachi Ltd 加減算装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623435A (en) * 1992-03-17 1997-04-22 Hitachi, Ltd. Arithmetic unit capable of performing concurrent operations for high speed operation

Also Published As

Publication number Publication date
EP0381403A2 (en) 1990-08-08
EP0381403B1 (en) 1996-11-13
ATE145290T1 (de) 1996-11-15
AU628969B2 (en) 1992-09-24
AU5394890A (en) 1991-12-19
DE69029098D1 (de) 1996-12-19
US4994996A (en) 1991-02-19
CA1324217C (en) 1993-11-09
EP0381403A3 (en) 1992-04-01
DE69029098T2 (de) 1997-06-12

Similar Documents

Publication Publication Date Title
JPH02232723A (ja) ディジタルコンピュータ用パイプライン式浮動小数点加減算器
US5357237A (en) In a data processor a method and apparatus for performing a floating-point comparison operation
EP0973089B1 (en) Method and apparatus for computing floating point data
US6529928B1 (en) Floating-point adder performing floating-point and integer operations
US5317527A (en) Leading one/zero bit detector for floating point operation
US4922446A (en) Apparatus and method for floating point normalization prediction
US5995991A (en) Floating point architecture with tagged operands
KR100264962B1 (ko) 결합된 선두 1 및 선두 제로 예상기
JPH07281872A (ja) 効率的な浮動小数点オーバーフローおよびアンダーフロー検出システム
US7290023B2 (en) High performance implementation of exponent adjustment in a floating point design
JPS63123125A (ja) 浮動小数点数の加算装置
US11366638B1 (en) Floating point multiply-add, accumulate unit with combined alignment circuits
EP0361886A2 (en) Improved floating point computation unit
US7003540B2 (en) Floating point multiplier for delimited operands
JP2801472B2 (ja) 浮動小数点演算装置
US11429349B1 (en) Floating point multiply-add, accumulate unit with carry-save accumulator
JP3257278B2 (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
JP3233432B2 (ja) 乗算器
JPS59139448A (ja) 浮動小数点乗算装置
IE901521A1 (en) Pipelined floating adder for digital computer
JPH0367328A (ja) 浮動小数点演算装置
JPH0383126A (ja) 浮動小数点乗算器
JP3124286B2 (ja) 浮動小数点数演算装置
JPS5960637A (ja) 浮動小数点演算装置
JP3522387B2 (ja) パイプライン演算装置