JPS61501419A - 浮動小数点演算装置及び方法 - Google Patents

浮動小数点演算装置及び方法

Info

Publication number
JPS61501419A
JPS61501419A JP85501285A JP50128585A JPS61501419A JP S61501419 A JPS61501419 A JP S61501419A JP 85501285 A JP85501285 A JP 85501285A JP 50128585 A JP50128585 A JP 50128585A JP S61501419 A JPS61501419 A JP S61501419A
Authority
JP
Japan
Prior art keywords
rounding
circuit
difference
digit
sum
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
JP85501285A
Other languages
English (en)
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 アナロジツク コ−ポレ−シヨン
Publication of JPS61501419A publication Critical patent/JPS61501419A/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/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49915Mantissa overflow or underflow in handling floating-point numbers
    • 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

Abstract

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

Description

【発明の詳細な説明】 浮動小数点演算製置屋ひり;& 発明の分野 本発明は、改良した高速度浮動小数点演算装置に係り、特に丸めを予測して仮数 部の加算と同時に丸めを実行する浮動小数点演算装置に関する。
発明の背景 通常の浮動小数点演算@置にあっては、数を指数部及び仮数部と呼ぶ小数だよっ て表現する。仮数部は常に基数と基数をこえる1との間にある。例えば、基数が 10のときは、仮数部は0.1と1.0との間にある。
基数が2であるとき、仮数部は0.5と1゜0との間にある。加算又は演算全行 うときは、指数部を先ず比較する。指数部が同一であるとき、加算又は減算をた だちに進めることができる。指数部が異なるときは、小さい指数部をもつ数の仮 数部を下方に桁移動(右側に桁2つの指数部を同一なものとしなげればならない 。そのうえで加算上進めることができる。減算は、多くの場合、減数の補数をめ たのち加算を行うものである。
通常の浮動小数点装置は、4段階の手記を用いる。第1段階は、2つの仮数部の 位置合せすることであって、指数部の大きさを比較したのち、小さな数の指数部 を大きな数の指数部と等しくさせるのに必要な桁数だけ、小さな数の仮数部を右 に桁移動させることである。第2段階では、加算においては、加数及び被加数を ともに加えてその和をめ、減算においては減数を被減数から差引いてその差をめ る。減数又は被加数の仮数部は、通常、保護数字、丸め数字及び添付数字の3個 の数字が追加されており、これらの数字は、仮数部を桁移動させるとき、丸めの 目的に使用する。いくつかの手法では、減算は、減数の補数をめて演算する力ζ その場合、減数と被減数とを加算する。第3段階は正規化である。加算中、仮数 部が桁溢れを生じるときは、仮数部を右に桁移動して、指数部を1べi(巾)、 増加させる。桁溢れを生じないときは、桁移動の必要はない。減算では、差に1 (I!又は複数個の先行ゼロが含むとぎは、仮数部を左に桁移動して、指数部を 先行ゼロの数だけ減少させなげればならない。先行ゼロをもって終った桁溢れの 加算演算又は減算演算は、いずれも、そのとき決定が行われなげればならない。
第4段階では、正規された結果が丸められる。加算の桁溢れ状態では、最下位の 数字が丸められる。減算演算で、その差に先行ゼロを含むときは、丸ア薮字が丸 められ、また先行ゼロを含まないときは、保護数字が丸められる。この方法では 第2正規化となる第2の加算演算が必要である。
従って、本発明の目的は改良された浮動小数点演算装置を提供することだある。
そのような装置であって、通常の装置よりも速度の速いものを提供するのも本発 明の目的である。
そのような装置で算術演算全行うのて少ない段階を使用するものを提供するのも 本発明の目的である。
そのような装置であって、丸めが必要かどうか、また、どの数字に丸めが必要か を予測して、算術演算と同時に丸めを実行する装置を提供するのも本発明の目そ のような装置であって、少ない部品を使用して、価格の低廉なものを提供するの も本発明の目的である。
本発明は、丸め予測を行う浮動小数点演算装置を特徴とする。演算装置は、2つ 仮数部を算術的に結合させるために使用される。繰上げ回路は、2つの仮数部の 加算において、その和に桁溢れを生じるかどうか、また2つの仮数部の減算では 、加算で、先行ゼロを含むかどうかを決定する。減算における減数、及び加算に おける被加数には、保護数字、丸め数字及び添付数字を追加して加える。丸め回 路は、繰上げ回路に応答して、和が桁溢れするとき、和の最下位の数字を丸め、 また和が桁溢れしないときは、和の保護数字を丸める。
丸め回路は、また、差に先行ゼ−i含むとき、差の丸め数字を丸めるよう指定し 、また差に先行ゼロを含まないときは、保護数字を丸めるよう指定する。2つの 仮数部の算術的結合中、指定された数字において演算装置に基数の2分の1に等 しい数値全導入して、算術演算中に丸めを実行する装置を備える。
好適実施例では、演算装置に加算演算及び減算演算を行う加算器装置を備える。
繰上げ回路には、減数仮数部の最上位の数字が先行ゼロをもつとき、差に先行ゼ ロをもつかどうかを予測決定するだめの繰上げ発生/伝搬ブリッジを含む。丸め 予測加算器には、減数の仮数部の最上位の数字を1にセットし、減数の補数全演 算し、最下位の数字に1を加算し、また2つの仮数部を加算する装置を含む。丸 め回路には、また、保護数字、丸め数字、添付数字が、基数の2分の1より大き いかどうか全決定する丸め決定回路を含む。予測加算丸め回路は、桁溢れが生じ るとき演算装置の最下位の数字に基数の2分の1t−置き、また、桁溢れを生じ ないときは、保護数字に基数の2分の1を加える。予測減算丸め回路は、差だ先 行ゼロが存在しないとき、保護数字から基数の2分の1を差引き、また、差に先 行ゼロが存在するとき、丸め数字から基数の2分の1を差引く。2つの仮数部の 算術結合中、指定の数字において、演算装置に基数の2分の1を導入する装置に は、保護数字加算器回路及び丸め数字加算器回路を含む。
本発明は、また、2つの仮数部を加算するときその和が桁溢れするかどうかを決 定し、また、2つの仮数部を減算するとき、2つの仮数部の差が先行ゼロをもつ かどうか全決定する、浮動小数点演算装置用の丸め予想の方法にも持家がある。
和の最下位の数字は、和が桁溢れするときの丸め用に指定される。和の保護数字 は、和が桁溢れしないとき、丸め用に指定される。
差の丸め数字は差が先行ゼロをもつとき丸め用に指定され、また差の保護数字は 差が先行ゼ0=a−もたないとき、丸め用に指定される。2つの仮数部の算術結 合中に、基数の2分の1に等しい値が、指定された数字において演算装置に導入 されて、算術演算中に丸めが実行される。
好適実施例の開示 その他の目的、持家及び利点は、好適実施例及び添第1図は、本発明による浮動 小数点演算装置だ関する浮動小数点パイプライン回路のブロック図である。
第2図は、第1図に示した浮動小数点加算器ならびに予測桁溢れ及び丸め回路の 詳細なブロック図である。
第3図は、第2図に示した予測加算丸め回路、予想減算丸め回路、及び丸め決定 回路の詳細図である。
また、第4図は本発明による丸め予測を伴う浮動小数点演算方法の流れ図である 。
第1図には、浮動小数点演算パイプラインの回路、すなわち装置10を示した。
この装置はランダム・アクセス・メモリ12を含み、このメモリ内には、それぞ れ指数部と仮数部をもつ2組の数AとBを記憶させておく。それぞれの数A1及 びB1の指数部は比較器回路14に加えられ、また、数A1及びBiの仮数部は 、小さい万の仮数St選択し記憶させる回路16と大きい万の仮数部全選択し記 憶させる回路18との両方に加えられる。指数部比較器回路14は、どちらの指 数部が大きいか全決定して、大きな指数部に対する仮数部を記憶装置18に導き 、また、小さな指数部の数の仮数部を記憶装置16て導く。この点で、保護ピッ ト、丸めピット及び添付ピットが32ビツトの仮数部て追加される。それと同時 に、大きい方の指数部は、指数部訂正回路20に加えられる。指数部と仮数部が 全く等しい(すなわち、小さな数も大きな数も存在しない)場合には、一方の数 、例えば数Bを小さな数と指定し、他方の数を大きな数と指定する。選択された 数が記憶装置16に到達すると、2つの数の指数部の差によって決定される間隔 の数だけ桁移動して位置合せされる。
大きい万の仮数部は、桁移動することなく記憶装置18に記憶される。その後、 2つの仮数部は記憶装置16及び18から本発明による浮動小数点加算器回路2 2に加えられる。予測桁溢れ及び丸め回路24は、丸めの必要があるかどうが、 またどの数字に丸めが必要かを、ただちに決定して、算術演算が進行中に適当な りLを加算器22に導入するので、丸めと加算又は減算が同時に行われる。加算 器22における仮数部の算術的結合は、加算演算、減算演算、又は最初に減数の 補数をめる減算演算を行った後の加算演算となる。
減算演算による差に含まれる先行ゼロの数は、先行ゼロ計数器回路26に加えら れる。差又は和Σ。−32、gは加算器レジスタ28に加えられる。記号Σ。− 3□は仮数部が62ビツトを含むこと全表わすものであって、31番目の数字は 符号数字であり、300番目数字は最上位の数字であり、また0位の数字は最下 位の数字である。gは和、差の保護数字である。加算器レジスタ28の出力は、 仮数部正規化シフトレジスタ30及び先行ゼロ計数器回路26に加えられる。先 行ゼロ計数器回路26は、予測桁溢れ及び丸め回路24によって、演算が桁溢れ となったかどうかを決定する。桁溢れを生じたときは、加算器レジスタ28から の入力によって決定した見掛けの先行ゼロを無視して、仮数部を下方に桁移動さ せて、先行1を挿入して指数部を増加させる。桁溢れを生じなかったときは、先 行ゼロが計算されて、シフトレジスタ30において仮数部を左に桁移動させて、 同時に指数部訂正回路20中の指数部f:減少させるのに使用される。最終の指 数部は、指数部レジスタ32に加えられ、また最終仮数部は、仮数部レジスタ3 4に加えられる。これまでの開示では、基数の用語によって述べたので、付加位 置は保護数字、丸め数字及び添付数字のように呼んだが、これらは一般的な用語 である。2進方式で使用されるとき、基数は2であって、数字は通常、保護ビッ ト、丸めビット及び添付ビットのようにビットで呼ばれる。
浮動小数点加算器回路22及び予測桁溢れ及び丸め回路24をさらに詳細に第2 図に示した。浮動小数点加算器回路22には32優の加算器を含み、仮数部の3 2ビツトのそれぞれのビットに1個の加算器を備えるが、そのうちの、加算器4 0,42,44.46及び48を図示した。予測桁溢れ及び丸め回路24には、 繰上げ回路50及び丸め回路52を含む。繰上げ回路50には、繰上げ発生/繰 上げ伝搬ブリッジ54及び丸め予測加算器56を含む。大きい方の仮数部段18 からの32ピン) 、LO−31と小さい方の仮数部段16からの32ビン)  、5o−31が、繰上げ発生/伝搬ブリッジ54に加えられる。このブリッジ5 4は、加算又は他の算術演算が加算器40ないし48によって実行される以前で も、繰上げ又は桁溢れが起るかどうかを決定できる3運な繰上げグリッジである 。入力は、So。
r、0; sl、Ll等の対となって各加算器に加えられ、繰上げがブリッジ5 4に発生すると、屓次各加算器に戻される。そのとき、差又は和。−31が第1 図の加算器レジスタ28に加えられる。特別加算器、丸め予測加算器56は、減 算演算の差に先行ゼロが生じるかどうかを決定するので、加算演算における桁溢 れを決定するのて使用できる。丸め回路52には、丸め決定回路58、予測加算 丸め回路60及び予測減算丸め回路62を含む。これらの回路6o及び62は、 加算器回路22の保護/丸め加算器64部へ入力を与える。ブリッジ54からの 繰上げは、導線66によって、回路58.60及び62のそれぞれだ加えられる 。丸め決定回路58は、保護、丸め及び添付の数字が基数の2分の1よりも大き いかどうかを決定する。予測加算丸め回路60は、桁溢れ全土じるとき、演算装 置の最下位の数字に基数の2分の1を置き、また、指温r′L全生じないときは 、保護数字に基数の2分の1を加える。
予測減算丸め回路62は、差て先行ゼロ全土しないとき、保護数字から基数の2 分の1を差引き、また差に先行ゼロが存在するとぎ、丸め数字から基数の2分の 1を差引く。
この装置の加算及び減算には3段層がある。小さい方の値を大きい方の1と整合 させるだめの位置合せ、すなわち、小さい方の小数に先行ゼロの数を増加させ、 同じ数だけ指数部を増加させて、指数部を同一にする。
そこで加算又は減算の演算全行って、最後に、仮数部から先行ゼ=1−除去し指 数部を減少させることによって結果を正規化する。−有効数字は一定の数、この 特発の実施例では32に限定されるが、31固の特別の数宅保護、丸め及び添付 の数字又はビットを最下位の数字の下に追加しておく。
この装置の動作は、加算及び減算の方法の説明たよってよく理解できる。2つの 小数の加算では、2数の和が1より大きいか、又は1より小さいかのどちらかと 予測される。和が1より大きいときは、結果の仮数部全1桁だけ下方に桁移動さ せ、指数部は1だけ増加させなげればならない。最下位の数字は無視され、最下 位から2番目の数字は丸められる。和が1より小さいときは、最下位の数字より 小さいすべての数字は無視されて、最下位の数字が丸められる。
減算はや一複雑である。3つのケ゛−スがある。第1のケースは、指数部が等し い場合である。すなわち、位置合せ後は、どちらの小数も先行ゼロをもたない。
第2のケースは、指数部が172″げ異る場合である。すなわち、位置合せが完 了した後は、小さい方の小数が先行ゼロをもつ。第3のケースは、指数部が2又 はそれ以上異る場合である。
第1のケースは、位置合せの必要がないので、最下位の数字より下位の3個の特 別な数字、保護、丸め及び添付の位置はゼロとなる。結果は、少くとも1個の先 行ゼロをもつので、2進法では、少(とも1Bの先行ゼロをもつ。しかしながら 、有効数字で無視するものはないので、丸めの必要は起らない。
第2のケースでは、位置合せのため桁を下方移動するので、保護数字が結果にお ける有効数字を含む唯一の数字位置である。結果が先行ゼロをもたないときは、 保護数字(グ無視されて、最下位の数字が丸められる。
しかしながら、結果が先行ゼロをもっときは、仮数部全上方に桁移動して、先行 ゼロを無視するときは、保護数字は保留される。従って、丸めはない。
第3のケースでは、保護数字と丸め数字の位置だ有効数字を含むが、結果は、多 くとも、1圓の先行ゼロをもつ。結果が先行ゼロをもたないとぎは、保護及び丸 めの数字又はビットが無視されて、最下位ビットが丸められる。結果が1圓の先 行ゼロをもつとき、丸め数字だけが無視されて、保護数字は丸められて、保留さ れる。
本発明では、丸めは、別の加算器を使用しないで加算/減算の演算中に実行し、 丸め状態の桁溢れを予測することによって加算の第2段階を省略して速度全上昇 させる。本発明は、各数字の対の加算又は減算によって、大きい仮数部と小さい 仮数部とから桁溢れが発生するかどうかを決定する。繰上げ発生/伝搬ブリッジ 54のような一連の繰上げ発生/繰上げ伝搬ブリッジ及び丸め予測入力部56を 使用して、繰上げ又は借りを発生又は伝搬させる。そうして、小さい方の仮数部 の先行ゼロの数によって、結果のどの数字位置が無視される、どの数字位置を丸 めるか、また数字を無視するとき、繰上げ/借りを発生させる値、通常、基数の 2分の1をどこに挿入するか全決定できる。
さらに、繰上げを生じるときは、繰上げの(直が、加算器の最下位の数字位置だ 押し込まれて、2つの仮数部の最下位の数字に加算されると、最下位から2番目 の数字位置に繰上げを生じる。2進加算器では、これは最下位のビット位置に1 の繰上げが行われる。しかしながら、加算において最上位の数字に繰上げを生じ ないときで、最も小さい恒の保護数字が丸めの大きさであるときは、加算器の保 護数字位置への入力の一つは最下位の数字位置に繰上げ全発生する1直とされる 。
2進加算器では、これは大きい万の仮数部の保護ピントの、通常ゼロの値を1に 変えさせることになる。1回の加算後、結果の和は、すでに丸められて適当な位 置におかれる。結果は、そこで藺凰だ切りつめられる。
減算における第1のケースで、小さい方の仮数部が下方て桁移動されないときは 、先行ゼロがないので、このとき、丸めの必要はない。第2のケースで、小さく ・方の仮数部が1個の先行ゼロをもつときは、大きい方の仮数部の最上位の数字 から借りがおこり得る。もし借りがおこらないときは、結果の保護数字は無視さ れる。その値は、通常ゼロである大きい万の仮数部の保護数字位置に強制的に入 れられて、小さい方の仮数部の保護数字が十分な大きさであるとき、減算演算中 、最下位の数字に借りを生じる。2進方式で借りが生じると、結果が先行ゼロを もち、この結果の保護ビットは保留される。両方の仮数部の丸め数字はゼロであ るから、大きい万の仮数部の丸め数字位置に数値を押し入れる必要はない。
減算演算の第3のケースでは、大きい方の仮数部の最上位の数字から借りがおこ ると、差に先行ゼロを生じて、丸め数字は無視される。従って、小さい万の仮数 部の丸め数字が十分な大きさであるとき、大ぎい方の仮数部の丸め数字位置は減 算中、保護数字から借りを生じる直とされる。借りがおこらないとぎは、保護数 字と丸め数字はともに減算後無視される。結果の最上位の数字がゼロでないから である。このとき、小さい方の仮数部の保護数字が十分な大きさであると、大き い万の入力仮数部の保護数字位置は減算中、最下位の数字から借りを生じるよう な筑とされる。
丸め予測加算器56には、L30.s3o及びL29゜S29加算器からの繰上 げが加わって、正規の加算器として動作して、和及び繰上げ出力を生じる。しか し、減算状態では、加算器56には、減数の最上位の数字S3゜を1にセットし 、減数の補数を計算し、また2つの入力を加算する装置を含む。これは、最上位 のビットが1である減算の第1ケースで、ゼロの繰上げ出方は、差の最上位ビッ トが1であり、また繰上げ出方がる。減算の第2ケース及び第3ケースでは、S 30がゼロのとき、ゼロの繰上げは差の最上位ビットがゼロであり、また1の繰 上げは差の最上位ビットが1であることを示す。
小さい万の仮数部の保護、丸め、及び添付のビット、SM()RD 、SMP− ’JD 、SM 5TICKYは第3図のORデート70に加えられる。これら ビットのうちのどれか1つが2進数1であり、また繰上げも2進数1であるとき 、AND r −) 72は、oRr−ドア4及ヒAND r−ドア6に1与え る。別に、5eTD又はSM 5TICKY (7)どちらかが2進数1である とき、1がORデート78を通過してA)JD r −ト80の一方の入力に加 わる。小さい万の仮数部の保護ビットSMGRDが1で、繰上げがぞ口であると ぎ、1がORデート74を介してANDデート76に加わる。丸めピッ) SM RND又は添付ピッ) 5M5TICKYのいずれかがORデート78の入力知 おいて1であるという表示は、導線84によってANDデート86の一方の入力 に加わる。他方の入力、保護ビットSMGP、、Dが1であるとき、ANDデー ト86は、予測減算丸め回路62内のANDデー)90への導線88に1を加え る。また、保護ビットsMGRD及び添付ピッ) 5M5T工CKYがANDデ ート96の入力で共に1であるとぎは、回路62中のANDデート94への導線 92に1が加えられる。
従って、第3図の予測加算丸め回路6oは、導線82上の信号が1であり、装置 が加算状態で動作しており、また、ORケ”−ト104の入力における繰上げ又 は保護ピッ) SMGRDのいずれがが1であるとき、ORデート102を介し て保護加算器1ooの一方の入力VC1を加える。装置が加算状態であるとぎ、 回路60は、また、AND’r −ト106カラo Rr −ト108を介して 加算器100に第2の1を加える。同時に、装置の加算状態で、ゼロがANDr −ト110からORデート112を介して丸め加算器114に加わる。保護加算 器100、丸め加算器114及びそれらに関連するORデート102.108及 び112は、2つの仮数部の結合期間中に、基数の2分の1に等しい直を指定数 字において演算装置に導入する装置となる。2進方式では、その値は1であって 、算術演算と同時に丸めを実行する。加算器100はまた、導g88に1が加わ り、装置が減算状態にあって、繰上げが1に等しく、かつ最上位ビットS30が ゼロに等しいときは、回路62のハDデート90からORデート102を介して 1を受信する。保護加算器100は、また、装置が減算状態にあって、保護ピッ ) SMC)RDが1であるとき、ANDデート116から○Rデート1o8を 介して1を受信する。丸め加算器114は、導線92に1が加わり、装置が減算 状態にあって、繰上げがゼロであり、また最上位ビットSM 30もゼロである とき、OR・デート112を介して1を受信する。丸め加算器114の第2人力 は、丸めピッ) SMRNDである。丸め加算器114への繰上げ入力は、最上 位ビットs3゜がゼロであるか又は繰上げが1であるかいずれかのとき、ORデ ート118によって加えられる。追加加算器、添付加算器は、従来技術の装置に は設げられたが、本発明の一部全構成するものではない。添付ビットは、無視す べきビットが基数の2分の1より小さくもなく、また基数の2分の1より大きく もなく、丁度基数の2分の1である状態に適用する。その場合、1981年、3 月のIEEEタスク P754コンぎユータ誌、(工EEETask P 75 4 Computer)の51A!−ジに掲載された“2進浮動小数点演算に提 案された標準”(A ProposedStandard for Binar y Floating−Point Arithme+、ic)の論文だ示され ている多くの方法のうちのどれかが使用できる。
本発明の方法を実施するときは、最初に、第4図のステップ200に示した算術 演算は加算か又は減算かという質問を受ける。加算であるときは、次に和は指温 れするかどうかステップ202で質問される。
その答えが肯定的のとぎは、最小位のビットがステップ204で丸められる。答 えが否定的のとぎは、保護ビットがステップ206で丸められる。装置を減算状 態で動作させるときは、ステップ208でその差に先行ゼロが含まれるかどうか が質問される。その答えが肯定的のときは、丸めビットがステツ7°210で丸 められる。答えが否定的のときは、保護ビットがステップ212で丸められる。
いずれの場合でも、保護ビットを丸めなければならないときは、基数の2分の1 がステップ214で保護ビットに挿入される。もしも、丸めビラトラ丸めなげれ ばならないときは、基数の2゛分の1がステラ7°216で丸めビットに挿入さ れる。
もしまた、最小位の数字(LSD) を丸めなげればならないときは、ステップ 217でLSDS冥加算器中上げが1にされる。
当業者は次の請求の範囲内で他の実施例を考えつくことであろう。
FIG、 /

Claims (10)

    【特許請求の範囲】
  1. 1.丸め予測を備えた浮動小数点演算装置であつて、2つの仮数部を算術的に結 合させる演算装置、2つの仮数部を加算するときその和が桁溢れするかどうかを 決定し、また2つの仮数部を減算するときその差に先行ゼロを含むかどうかを決 定する繰上げ回路であつて、減算における減数及び加算における被加数に保護数 字、丸め数字、及び添付数字を含む前記の繰上げ回路、 前記繰上げ回路に応答して、和が桁溢れするとき和の最下位の数字の丸めを指定 し、また和が桁溢れしないとき和の保護数字の丸めを指定し、さらに差が先行ゼ ロをもつとき差の丸め数字の丸めを指定し、また差が先行ゼロをもたないとき、 差の保護数字の丸めを指定する丸め回路、及び 2つの仮数部の算術結合中に指定された数字において前記演算装置に基数の2分 の1に等しい数値を導入して算術演算中に丸めを実行する装置、を含んでなる前 記の浮動小数点演算装置。
  2. 2.請求の範囲第1項において、前記演算装置に加算演算及び減算演算を実行す る加算装置を含む、浮動小数点演算装置。
  3. 3.請求の範囲第2項において、2つの仮数部の加算において、和に桁溢れを生 じるかどうかを予測し決定する、繰上げ発生/伝搬ブリツジを前記繰上げ回路が 含む、浮動小数点演算装置。
  4. 4.請求の範囲第1項において、前記繰上げ回路に丸め予測加算器を含んで、減 数仮数部の最上位の数字が先行ゼロをもつとき、差が先行ゼロをもつかどうかを 予測し決定する浮動小数点演算装置。
  5. 5.請求の範囲第1項において、前記丸め予測加算器に、最上位の数字を1にセ ツトし、減数の補数を求め、最下位の数字に1を加え、また2つの仮数部を加算 する装置を含む、浮動小数点演算装置。
  6. 6.請求の範囲第1項において、前記の丸め回路に、保護数字、丸め数字及び添 付数字が基数の2分の1より大きいかどうかを決定する、丸め決定回路を含む、 浮動小数点演算装置。
  7. 7.請求の範囲第1項において、前記丸め回路に予測加算丸め回路を含んで、桁 溢れを生じるときは演算装置の最下位の数字に基数の2分の1を置き、また桁溢 れを生じないときは、保護数字に基数の2分の1を加える、浮動小数点演算装置 。
  8. 8.請求の範囲第1項において、前記丸め回路に予測減算丸め回路を含んで、差 に先行ゼロを含まないとき、保護数字に基数の2分の1を加え、また差に先行ゼ ロを含むとき、丸め数字に基数の2分の1を加える浮動小数点演算装置。
  9. 9.請求の範囲第1項において、前記の導入用装置に、保護数字加算器回路及び 丸め数字加算器回路を含む、浮動小数点演算装置。
  10. 10.浮動小数点演算装置に対する丸め予測の方法において、 2つの仮数部の加算において和に桁溢れを生じるかどうかを決定すること、 2つの仮数部の減算において、2つの仮数部の差が先行ゼロをもつかどうかを決 定すること、和に桁溢れを生じるとき、和の最下位の数字を丸めることを指定す ること、 和に桁溢れを生じないとき、和の保護数字を丸めることを指定すること、 差が先行ゼロをもつとき、差の丸め数字を丸めることを指定すること、 差が先行ゼロをもたないとき、差の保護数字を丸めることを指定すること、及び 2つの仮数部の算術結合中、指定された数字において、基数の2分の1に等しい 数値を演算装置に導入して、算術演算中に丸めを実行すること、を含む前記の浮 動小数点演算装置に対する丸め予測の方法。
JP85501285A 1984-03-19 1985-03-14 浮動小数点演算装置及び方法 Pending JPS61501419A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US06/591,199 US4562553A (en) 1984-03-19 1984-03-19 Floating point arithmetic system and method with rounding anticipation
US591199 1984-03-19
PCT/US1985/000430 WO1985004272A1 (en) 1984-03-19 1985-03-14 Floating point arithmetic system and method with anticipation rounding

Publications (1)

Publication Number Publication Date
JPS61501419A true JPS61501419A (ja) 1986-07-10

Family

ID=24365489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP85501285A Pending JPS61501419A (ja) 1984-03-19 1985-03-14 浮動小数点演算装置及び方法

Country Status (6)

Country Link
US (1) US4562553A (ja)
EP (1) EP0179796B1 (ja)
JP (1) JPS61501419A (ja)
DE (1) DE3577149D1 (ja)
IL (1) IL74759A (ja)
WO (1) WO1985004272A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01126829A (ja) * 1987-11-12 1989-05-18 Sony Corp デコーダ回路

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59188740A (ja) * 1983-04-11 1984-10-26 Hitachi Ltd フロ−テイング加算器
CA1229415A (en) * 1983-12-09 1987-11-17 Masayuki Ikeda Floating-point addition/subtraction system
JPS60140422A (ja) * 1983-12-28 1985-07-25 Nec Corp 演算処理装置
JPS6125245A (ja) * 1984-07-12 1986-02-04 Nec Corp 丸め処理回路
US4758974A (en) * 1985-01-29 1988-07-19 American Telephone And Telegraph Company, At&T Bell Laboratories Most significant digit location
JPS61213927A (ja) * 1985-03-18 1986-09-22 Hitachi Ltd 浮動小数点演算処理装置
JPS61256436A (ja) * 1985-05-10 1986-11-14 Hitachi Ltd 演算装置
JPH069028B2 (ja) * 1986-02-18 1994-02-02 日本電気株式会社 演算装置
JPH0650462B2 (ja) * 1986-02-18 1994-06-29 日本電気株式会社 シフト数制御回路
JPH0644225B2 (ja) * 1986-03-27 1994-06-08 日本電気株式会社 浮動小数点丸め正規化回路
US4758972A (en) * 1986-06-02 1988-07-19 Raytheon Company Precision rounding in a floating point arithmetic unit
JPH0772860B2 (ja) * 1986-10-30 1995-08-02 日本電気株式会社 演算方式
US4800516A (en) * 1986-10-31 1989-01-24 Amdahl Corporation High speed floating-point unit
JP2558669B2 (ja) * 1986-12-29 1996-11-27 松下電器産業株式会社 浮動小数点演算装置
US4852039A (en) * 1987-06-19 1989-07-25 Digital Equipment Corporation Apparatus and method for accelerating floating point addition and subtraction operations by accelerating the effective subtraction procedure
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
JPH0776911B2 (ja) * 1988-03-23 1995-08-16 松下電器産業株式会社 浮動小数点演算装置
JPH01302425A (ja) * 1988-05-31 1989-12-06 Toshiba Corp 浮動小数点加減算回路
JP2693800B2 (ja) * 1988-12-28 1997-12-24 甲府日本電気株式会社 浮動小数点データ総和演算回路
JP3076046B2 (ja) * 1989-01-31 2000-08-14 日本電気株式会社 例外検出回路
US4994996A (en) * 1989-02-03 1991-02-19 Digital Equipment Corporation Pipelined floating point adder for digital computer
US5027308A (en) * 1989-02-14 1991-06-25 Intel Corporation Circuit for adding/subtracting two floating point operands
US4926370A (en) * 1989-04-17 1990-05-15 International Business Machines Corporation Method and apparatus for processing postnormalization and rounding in parallel
US5161117A (en) * 1989-06-05 1992-11-03 Fairchild Weston Systems, Inc. Floating point conversion device and method
US4999803A (en) * 1989-06-29 1991-03-12 Digital Equipment Corporation Floating point arithmetic system and method
US5103418A (en) * 1989-11-20 1992-04-07 Motorola, Inc. Dangerous range detector for floating point adder
US4977535A (en) * 1989-12-08 1990-12-11 Motorola, Inc. Method of computation of normalized numbers
US5111421A (en) * 1990-02-26 1992-05-05 General Electric Company System for performing addition and subtraction of signed magnitude floating point binary numbers
EP0463966B1 (en) * 1990-06-29 1998-11-25 Digital Equipment Corporation High-performance multi-processor having floating point unit and operation method
JP2523962B2 (ja) * 1990-08-20 1996-08-14 松下電器産業株式会社 浮動小数点演算装置
US5258943A (en) * 1991-12-23 1993-11-02 Intel Corporation Apparatus and method for rounding operands
US5390134A (en) * 1993-01-29 1995-02-14 Hewlett-Packard Company System and method for reducing latency in a floating point processor
GB2274730B (en) * 1993-01-30 1997-05-28 Motorola Inc A mantissa addition system for a floating point adder
GB2275355B (en) * 1993-02-19 1997-06-18 Motorola Inc Detection of exponent underflow and overflow in a floating point adder
US5671170A (en) * 1993-05-05 1997-09-23 Hewlett-Packard Company Method and apparatus for correctly rounding results of division and square root computations
KR0139733B1 (ko) * 1994-04-29 1998-07-01 구자홍 부동 소수점 덧셈/뺄셈 연산기의 반올림 방법 및 장치
US5550767A (en) * 1994-10-14 1996-08-27 Ibm Corporation Method and apparatus for detecting underflow and overflow
US5471410A (en) * 1994-10-14 1995-11-28 International Business Machines Corporation Method and apparatus for sticky and leading one detection
US5548544A (en) * 1994-10-14 1996-08-20 Ibm Corporation Method and apparatus for rounding the result of an arithmetic operation
US5511016A (en) * 1994-11-30 1996-04-23 International Business Machines Corporation Method for store rounding and circuit therefor
US5493343A (en) * 1994-12-28 1996-02-20 Thomson Consumer Electronics, Inc. Compensation for truncation error in a digital video signal decoder
US5668984A (en) * 1995-02-27 1997-09-16 International Business Machines Corporation Variable stage load path and method of operation
US5646875A (en) * 1995-02-27 1997-07-08 International Business Machines Corporation Denormalization system and method of operation
JPH09507941A (ja) * 1995-04-18 1997-08-12 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン multiply−add浮動小数点シーケンスにおけるウエイト・サイクルなしのブロック正規化
JPH09204295A (ja) * 1996-01-29 1997-08-05 Kofu Nippon Denki Kk スティッキービット検出回路
US6557021B1 (en) 1999-11-04 2003-04-29 Intrinsity, Inc. Rounding anticipator for floating point operations
US6941335B2 (en) * 2001-11-29 2005-09-06 International Business Machines Corporation Random carry-in for floating-point operations
US8589258B2 (en) * 2006-09-14 2013-11-19 Microsoft Corporation Declining balance financial calculation with no remainder
US8392490B2 (en) * 2008-02-18 2013-03-05 International Business Machines Corporation Identifying decimal floating point addition operations that do not require alignment, normalization or rounding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3842250A (en) * 1973-08-29 1974-10-15 Sperry Rand Corp Circuit for implementing rounding in add/subtract logic networks
US4295203A (en) * 1979-11-09 1981-10-13 Honeywell Information Systems Inc. Automatic rounding of floating point operands
US4338675A (en) * 1980-02-13 1982-07-06 Intel Corporation Numeric data processor
AU549632B2 (en) * 1981-04-23 1986-02-06 Data General Corporation Floating point notation
US4442498A (en) * 1981-04-23 1984-04-10 Josh Rosen Arithmetic unit for use in data processing systems
US4468748A (en) * 1981-06-11 1984-08-28 Data General Corporation Floating point computation unit having means for rounding the floating point computation result

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01126829A (ja) * 1987-11-12 1989-05-18 Sony Corp デコーダ回路

Also Published As

Publication number Publication date
EP0179796A4 (en) 1986-07-17
WO1985004272A1 (en) 1985-09-26
EP0179796A1 (en) 1986-05-07
EP0179796B1 (en) 1990-04-11
IL74759A (en) 1988-11-15
IL74759A0 (en) 1985-06-30
DE3577149D1 (de) 1990-05-17
US4562553A (en) 1985-12-31

Similar Documents

Publication Publication Date Title
JPS61501419A (ja) 浮動小数点演算装置及び方法
EP0472139B1 (en) A floating-point processor
EP0381403B1 (en) Pipelined floating point adder for digital computer
JP4388543B2 (ja) 3項入力の浮動小数点加減算器
US6549926B1 (en) SRT divider having several bits of each partial remainder one-hot encoded to minimize the logic levels needed to estimate quotient bits
JPH02500551A (ja) 浮動小数点正規化予測のための装置及び方法
JPWO2007096982A1 (ja) 演算処理装置および演算処理方法
US5341319A (en) Method and apparatus for controlling a rounding operation in a floating point multiplier circuit
JP3313560B2 (ja) 浮動小数点演算処理装置
CN108694037B (zh) 用于在执行浮点减法时估计移位量的装置和方法
US4941119A (en) Method and apparatus for predicting an overflow in an integer multiply
JPH03164932A (ja) 演算回路と演算回路のデータ処理法
JPS584369B2 (ja) デイジツトの有効性追跡装置
US5150319A (en) Circuitry for rounding in a floating point multiplier
US6571264B1 (en) Floating-point arithmetic device
KR20180064975A (ko) 선두 제로 예측
US10275218B1 (en) Apparatus and method for subtracting significand values of floating-point operands
JP3137131B2 (ja) 浮動小数点乗算器及び乗算方法
JP2752698B2 (ja) 浮動小数点加減算回路
JP2622012B2 (ja) シフト回路
JPH03245225A (ja) 浮動小数点加減算装置
Morris Arithmetic Processes
JPS63182740A (ja) 除算器
Frangakis Serial negabinary adder-subtractor and multiplier
JPH04315222A (ja) 2進数加減算装置