JPH05241787A - 算術演算におけるスティッキイ・ビット値の判別装置 - Google Patents

算術演算におけるスティッキイ・ビット値の判別装置

Info

Publication number
JPH05241787A
JPH05241787A JP4299146A JP29914692A JPH05241787A JP H05241787 A JPH05241787 A JP H05241787A JP 4299146 A JP4299146 A JP 4299146A JP 29914692 A JP29914692 A JP 29914692A JP H05241787 A JPH05241787 A JP H05241787A
Authority
JP
Japan
Prior art keywords
circuit
bit
sticky
value
register
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
JP4299146A
Other languages
English (en)
Inventor
Jeffrey D Brown
ジェフリイ・ダグラス・ブラウン
Roy R Faget
ロイ・ロバート・ファゲット
Scott A Hilker
スコット・アラン・ヒルカー
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05241787A publication Critical patent/JPH05241787A/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 浮動小数点演算の進行と同時に演算結果のス
ティッキイ・ビット値を判別して浮動小数点演算の高速
化を図る。 【構成】 オペランドを保持するレジスタ10,20
と、オペランドの後続ゼロの数を検出する後続ゼロ検出
論理回路12,22と、それらの数を加算又は減算する
加減算回路30と、その計算結果と定数値とを比較して
スティッキイ・ビット値を出力する比較回路40とから
成り、浮動小数点演算の結果としてスティッキイ・ビッ
ト位置に指定するべき正しい値を判別することを特徴と
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はデータ処理システムに
おいて浮動小数点算術演算を実行する装置に関する。こ
の発明は、特にオペランド浮動小数点の計算結果の値に
現われた“スティッキイ・ビット”値の早期判別を行う
ようオペランドを処理することによって浮動小数点算術
演算の完了を簡素化する装置に関する。
【0002】
【従来の技術】データ処理システムの演算に浮動小数点
算術演算を使用することは、コンピュータ技術の開始以
来、実際上、普通なことであった。浮動小数点算術演算
ハードウェアの開発は、通常、ハードウェア構造の簡素
化、又は算術演算処理の高速化の目的から多くの形式が
とられてきた。4つの算術計算である加算,減算,掛
算、及び割算は通常加算及び減算を含む処理の特殊サブ
セットを使用して達成してきた。例えば、掛算演算は、
多くの場合、反復加算処理によって行われ、割算は反復
減算処理によって達成することができる。
【0003】これらの処理演算の高速化に対しては、特
に最終的には、全べての算術演算の処理速度の最高速度
を限定することになる加算回路のハードウェア回路設計
に対する拡張及び簡潔化に焦点が当てられ、そこに努力
が払われてきた。例えば、割算の場合、割算計算のため
に要求される加算又は減算の反復数を減少するため、部
分商の計算又は倍数商ビットの同時予測によって演算速
度を高めるよう努力が払われてきた。
【0004】浮動小数点算術演算システムの実施を管理
する規則の一様な体系を与えるため、米国標準規格が開
発された。この標準規格はANSI/IEEE基準第754−1
985号として認識され、ここで参考文献に編入され
る。それは浮動小数点算術演算システム及びアルゴリズ
ムの設計において、この基準に合致した結果を達成する
こと、及びかかるシステム及びアルゴリズムの使用者は
他の異なるコンピュータ・システムを使用して問題を解
決する場合、その問題に対する計算及び解答において相
互に適合性を達成することを可能にすることがその主要
目的である。
【0005】この基準は基本及び拡張浮動小数点数のホ
ーマット,算術演算,整数と浮動小数点ホーマット間の
変換、異なる浮動小数点ホーマット間の変換,基本形式
の浮動小数点数と10進数ストリング間の変換、及びあ
る浮動小数点の例外の取扱い等を明確にしている。
【0006】典型的な浮動小数点算術演算は単一精度か
又は倍精度ホーマットのいずれかで遂行することができ
る。これら各ホーマットは、それぞれのフィールドが浮
動小数点数の予め定められた部分を占有するようにした
サイン又は符号フィールド、対数フィールド、及び小数
部フィールドを使用する。32ビットの単一精度数の場
合、サイン・フィールドは最高位ビット位置を占める単
一ビットであり、対数フィールドは最高位の次のビット
位置を占める8ビット数であり、小数部フィールドは最
下位位置を占める23ビットである。
【0007】倍精度浮動小数点数の場合、サイン・フィ
ールドは最高位ビット位置を占める単一ビットであり、
対数フィールドは最高位ビットの次のビット位置を占め
る11ビット・フィールドであり、小数部フィールドは
最下位ビット位置を占める52ビット・フィールドであ
る。
【0008】各浮動小数点の計算結果又は答が引出され
た後、その答は正規化され、丸め又は端数切捨てされな
ければならない。答が正規化されたときに小数部フィー
ルドの先行ゼロの数を計数する。その数は対数から減算
され、“1”が小数部フィールドの最高位ビット位置に
くるまで小数部を左に移動する。
【0009】ANSI/IEEE基準第754−1985号に適
合して浮動小数点算術演算を実行するハードウェア及び
ロジックの設計の際、浮動小数点ハードウェアの演算に
ある追加の表示ビットを加えることが必要であり、望ま
しい。これら表示ビットは浮動小数点数の小数部フィー
ルドに挿入され、浮動小数点演算においてある状態が存
在したときに浮動小数点制御ロジックがそれを表示する
ために使用される。
【0010】例えば、浮動小数点数の対数が非ゼロ値を
有するときに、“暗黙”ビットIが算術制御ロジックに
よって“1”にセットされる。暗黙ビットIは浮動小数
点数が算術レジスタにロードされたときに作成され、そ
の数の小数部フィールドの第1ビット位置を占める。そ
の上、ある算術演算中、丸め方の表示として“保護”又
はガード(guard)ビットGが浮動小数点制御ロジックに
よってセットされる。
【0011】このGビットは丸め前の計算結果又は答え
の最下位ビット(LSB)ではなく、最下位から1ビッ
ト次のビット位置を占める。最後に、“スティッキイ”
(sticky) ビットSは、“保護”ビット(G)より低い
精度のビットのいずれかが“1”であるときに、浮動小
数点数がある精度を失ったことを表示する表示として、
すべての浮動小数点算術演算においてセットされる表示
ビットである。
【0012】小数部フィールドの特別ビットは計算結果
を正規化した後、丸め(又は端数切捨)演算のために排
他的に使用される。“保護”(G)ビットは、恰も小数
部の一部であるかの如くに取扱われ、残りの小数部と共
に移動し、すべての算術に含まれる。スティッキイ・ビ
ット(S)は小数部と共に移動はしないが、算術には含
まれる。それは小数部の右端が移動切捨される“1”の
ための“キャッチャ”として動作し、“1”が小数部の
右端から移動切捨されたときに、正規化及び丸め演算が
終了するまでスティッキイ・ビット(S)がその“1”
を保持する。
【0013】IEEE基準に基づく丸め(又は端数切捨)演
算においては下記のように使用される4つの丸めモード
がある。 1)最も近くに丸めモード 2)正無限大に丸めモード 3)負無限大に丸めモード 4)ゼロに丸めモード
【0014】“最も近くに丸め”モードは限り無く精密
な計算結果に最も近い値が送出されるべきことを意味す
る。2つの最も近い表示可能な値が等しく近くにある場
合、その最下位ビットにゼロを持つものが送出される。
“正無限大に丸め”モードは無限に精密な計算結果より
小さくなり、無限に精密な計算結果に最も接近した値が
送出されるべきことを意味する。“負無限大に丸め”モ
ードは無限に精密な計算結果より大きくなく、無限に精
密な計算結果に最も接近した値が送出されるべきことを
意味する。“ゼロに丸め”モードは送出される計算結果
が無限に精密な計算結果よりその大きさは大きくなり、
無限に精密な計算結果に最も接近されるべきことを意味
する。
【0015】しかしながら、加算又は減算を実行する加
算機構を使用する算術回路はどれも必然的に最下位ビッ
ト位置からより高位のビット位置に伝播する桁上げビッ
トの発生を含み、事実、算術演算中、すべてのビット位
置を通して伝播することができる。これは計算終了に必
要な処理時間を延長する結果となり、この問題を取扱う
種々多くの設計努力が払われてきた。
【0016】例えば、1988年6月28日発行の米国
特許第4,754,422号は算術演算の各反復又は周
期を通して複数の商ビットを作成する作業において3つ
の桁上げ保管加算機構を使用した割算装置を開示してい
る。又、1971年11月16日に発行した米国特許第
3,621,218号は算術演算の各反復を通して複数
の商ビットを作成する単一桁上げ保管加算機構と、演算
に使用される一列の部分商を保持する複数のレジスタと
を使用する高速割算機構を開示している。
【0017】更に、1987年1月27日に発行された
米国特許第4,639,887号は浮動小数点の加算及
び減算に対する待ち時間を減少する装置を開示してい
る。その発明は浮動小数点数の小数部に対する算術演算
の計算のために重複ハードウェアを使用し、そして対数
の差による計算結果の値を選択するようにした。
【0018】データ処理システムにおける如何なる浮動
小数点の演算においても、1以上の浮動小数点演算の効
率を高めることが望まれる。この効率の増強はシステム
の演算全体のそれに比例した時間節約に変えられる。あ
る効率は特定の状況下において高めることが可能であ
り、そのあるものは上記の従来技術の開示に例示されて
いる。これら効率の利用は、データ処理演算の進行中、
上記の特定の状況が相当頻繁に出現するかもしれない場
合には特に重要な価値がある。
【0019】例えば、浮動小数点算術計算は、答が出た
ときには正規化が頻繁に要求され、答が不正確な場合に
は頻繁に丸め演算が要求される。しかし、これら演算の
どちらか又は両方共、計算結果にある状態が存在すると
きにはスキップされるかもしれない。従って、スキップ
しない場合には、これら演算の実行のために使用される
時間をスキップした結果、その時間だけ節約されること
になる。
【0020】浮動小数点掛算演算における正規化及び丸
め(又は端数切捨)工程はある演算条件下においては約
25%の時間を削減することができ、浮動小数点加算及
び減算演算に対する正規化及び丸め工程では、ある条件
に従い約25%の時間を節約することができる。それら
の条件が時間短縮可能であるということを提案したとき
に、それら上記の工程を除去することにより、コンピュ
ータ処理時間の全体的節約が達成される。
【0021】
【発明が解決しようとする課題】“保護”ビット
(G),“スティッキイ”・ビット(S)、及び最下位
ビット(LSB)の状態と、計算結果のサインと、丸め
モードとは全べて正しい丸めが行われた小数部の計算結
果を送出するため、最下位ビットが増分されるべきか否
かを判別し、丸め演算をスキップしうるか否かの決定に
使用される。従って、“スティッキイ”・ビット(S)
の状態は通常最終結果を送出する前に知られなければな
らないということになる。
【0022】従って、本発明の主要目的は、浮動小数点
演算処理が進行中、同時に計算結果のスティッキイ・ビ
ット値を判別する装置を提供することである。
【0023】本発明の他の目的は、演算に使用されるオ
ペランドを処理することによって、浮動小数点算術演算
におけるスティッキイ・ビット値を提供することであ
る。
【0024】本発明の他の目的は、全体的な浮動小数点
算術演算の速度を速くすることである。
【0025】
【課題を解決するための手段】本発明は、上記の問題を
解決するため、下記の如く構成した。すなわち、本発明
は、浮動小数点処理計算とは別に、本発明に従い浮動小
数点処理と同時に進行することができるようスティッキ
イ・ビット(S)の判別を行うようにした、オペランド
を処理する方法及び装置を提供することを特徴とする。
本発明は、浮動小数点演算が進行中に各オペランドの後
続ゼロの数を検出する回路を使用する。
【0026】各オペランドに対する後続ゼロ検出論理回
路は加算機構に接続されて総和値を算出し、比較器がそ
の総和値と所定の値とを比較して算術浮動小数点演算の
ために必要なスティッキイ・ビットの最終値を判別す
る。この発明はわずかな変更を行うことによって浮動小
数点掛算、割算、及び平方根計算に対して使用すること
ができる。それら各演算は以下の実施例において詳細に
説明する。
【0027】
【実施例】以下、添付図面に基づき本発明の一実施例を
詳細に説明する。本実施例は、掛算及び割算の両算術演
算のために適切なスティッキイ・ビット(S)値の判別
に対して特に有益である。本発明は、又平方根算術演算
のような特殊割算演算に対しても使用することができ
る。以下、本発明は、最初、掛算演算について説明し、
次に割算演算について説明して、最後に平方根演算につ
いて説明する。すべての演算について、暗黙ビット
(I)は“1”であるものとみなされる。
【0028】掛算演算 図1は本発明の実施例による装置を掛算演算に対して実
施した場合の例を示す。図1に示す装置は実際の掛算演
算を実行する回路と同時にそれとは独立して動作する。
そして、その装置は掛算回路から算出された計算結果の
値と、それと同時に使用可能となるスティッキイ・ビッ
ト値を作成する。
【0029】スティッキイ・ビット値は乗数及び被乗数
の両小数部オペランドにある後続ゼロ・ビットの値を判
別することによって算出される。小数部の後続ゼロ・ビ
ットの数はオペランドの精度の指示量であり、入力オペ
ランドの精度は、ビット位置の数が無制限であった場合
に表示されるであろうような出力小数部の精度の予測の
ために使用される。予測結果の小数部精度はスティッキ
イ・ビットの状態の判別に使用される。
【0030】積の計算結果の精度を予め判別するため、
最初2つの2進値の掛算のための基本前提部を考察する
ことが有益である。LA が2進“1”の値のみを取囲む
2進オペランドAの長さを表わすとすれば、先行及び後
続ゼロすべては2進小数点の位置と共に無視することが
できる。故に、LB 及びLC も同様にオペランドB及び
Cの長さを表わすものとする。
【0031】次の方程式に対する積Cを検査する場合、 A×B=C 次式の関係を確証することができる。 LA +LB −1 C A +LB
【0032】次の例は上記方程式を例証するものであ
る。
【0033】図1に例示した装置は、如何なるものでも
被乗数小数部と乗数小数部の積に対するスティッキイ・
ビット値を判別するに必要な比較及び計算を実行する。
この例は倍精度算術演算を例示するものであるが、ステ
ィッキイ・ビットのビット位置のある記憶場所は公知で
あり、すべての異なる算術演算に対して設定することが
できるから、同様な類似する例を単一精度算術演算、及
び単一及び倍拡張精度算術演算に対して適用することも
できる。
【0034】図1において、被乗数小数部はレジスタ1
0に保持され、乗数小数部はレジスタ20に保持され
る。倍精度の設計と仮定すると、52ビットのレジスタ
10は後続ゼロ検出論理回路12によって監視され、後
続ゼロ検出論理回路12は検出した後続ゼロの数を表わ
す6ビット2進出力を発生する。
【0035】後続ゼロの数は1乃至52の如何なる数で
も存在することができるから、6ビット出力2進表示は
発生しうる如何なる後続ゼロの数の表示にも適応するこ
とができる。レジスタ20に保持されている乗数小数部
も同様に後続ゼロ検出論理回路22によって監視され
る。後続ゼロ検出論理回路22は乗数小数部で検出され
た後続ゼロの数を表示する6ビット2進出力値を発生す
る。
【0036】後続ゼロ検出論理回路12及び22によっ
て検出された2進出力値は出力31に2つの入力の総和
を発生する加算回路30に接続される。2つの6ビット
入力値の総和は7ビット出力値を発生するかもしれず、
出力31は加算演算から生じた如何なる7ビット出力値
をも表示することができる。出力31は比較回路40に
接続され、比較回路40はその出力値と、比較回路40
の第2の入力に接続された定数数値“51”とを比較す
る。
【0037】比較の有意度又は重みは計算結果の小数部
レジスタの大きさと、“保護”ビット(G)及び“ステ
ィッキイ”・ビット(S)を保持するよう選ばれたそれ
ぞれのビット位置とに関係する。2つの53ビット小数
部(暗黙ビットを含む)の掛算は絶対精度が維持される
べき場合、106ビット小数部の答が得られる。
【0038】絶対精度を得るために要求される大きさの
レジスタ及び記憶位置を設計することは実際的ではない
ので、53ビット・サイズの小数部レジスタに答又は計
算結果を収容するため、及びそれと同時に掛算演算で算
出された相対的精度(又は精度の不足)の記録を保持す
るため、ここに述べるような種々の特別目的のビットが
考案された。従って、暗黙ビット(I)、保護ビット
(G)、及びスティッキイ・ビット(S)に対応する3
つの特別目的ビット位置が、それら計算結果と共に伝送
され、全体的な掛算演算の一部として開発されるよう考
案された。
【0039】以上、これら特別ビットの目的を説明した
が、そこで暗黙ビット(I)は小数部の計算結果全体の
第1ビット位置を占める。実際の計算結果の小数部はビ
ット位置2−53(すなわち52ビット・フィールド)
を占有する。保護ビット(G)はビット位置54を占有
する。比較回路40は2つの入力の和の精度が保護ビッ
ト位置に対して測定された精度より低いか、又は等しい
か否かを判別する。
【0040】2つの入力の和の精度が保護ビット位置に
対して測定された精度より低いか又は等しい場合、ステ
ィッキイ・ビットは0でなければならず、その値は掛算
演算が線41の信号を用いてスティッキイ・ビットに指
定する値である。すなわち、掛算演算は線41の信号を
用いてスティッキイ・ビット値を強制的に0にセットす
るよう処理する。2つの入力の和の精度が保護ビット位
置に対して測定された精度より高い場合、スティッキイ
・ビットの値は“1”でなければならず、比較器40の
出力から出る線42の信号はスティッキイ・ビット値を
1にセットするために使用される。
【0041】又、考慮しなければならない1つの不明確
又は不定な場合がある。この場合は、2つの入力の和の
精度がスティッキイ・ビット位置に対して測定された精
度に等しい場合に発生する。これらの場合、精度長の公
式は保護ビット位置に対して測定されたものと、スティ
ッキイ・ビット位置に対して測定されたものどちらで
も、計算結果の2つの可能性のある値を許容するので、
スティッキイ・ビットの値は不定である。故に、この場
合、スティッキイ・ビットは図1の回路によって予測さ
れないかもしれず、スティッキイ・ビットの値は小数部
の掛算処理によって判別されなければならない。
【0042】しかしながら、この場合、スティッキイ・
ビット位置の右側にはビット存在の可能性がないので、
遅延が加えられない。それ故、スティッキイ・ビット値
は、可能な1ビット正規化移動の後は、単にスティッキ
イ・ビット位置のビットの値に等しい。そして、回路は
線43の信号を用い、掛算演算それ自体によってスティ
ッキイ・ビット位置の値を判別することを許す。
【0043】割算演算 2つの2進数の割算を実行する1つの方法は除数の逆数
に被除数を掛けるニュートン・ラフソン近似式を使用し
て商を算出することである。下記のニュートン・ラフソ
ンの公式を反復することにより、現在の逆数Xi と除数
Dとから次の逆数Xi +1を算出する。 Xi +1=Xi *(2−D*Xi ) 次の逆数Xi +1は前の逆数の2倍のように多数ビット
による精度を有する。
【0044】少くとも希望する最終商の精度と同じ大き
さの精度を持つ最後の逆数を得るために十分な反復が行
われた場合でも、まだ商が出たときにその公式が有限的
に表示可能ではないかもしれない逆数を発生する場合が
あるため、その最下位ビット位置に1ビットの誤りがあ
る可能性がある。
【0045】例えば、 1100/0011=0100; であるが、0011の逆数は0.0101010101
0101・・・,であり、それが1100によって掛算
されると0011.11111111111・・・,が
算出される。そして、その商に最下位ビット位置がある
限り、その最下位ビット位置に1ビットの誤りの可能性
がある。
【0046】掛算演算に従って説明した方式は割算演算
についても使用することができる。掛算の積の長さを確
認するためにオペランドの長さを使用した前述の例は商
の長さを確認するために割算にも適用しうるよう言い換
えることができる。すなわち、A*B=CはC/A=B
と同じである。
【0047】割算演算のために下記方程式を使用する。 LC −L A B C −LA +1 割算演算において、正確な計算結果又は答はビット長
(LC −LA )の差異か又はビット長+1(LC −LA
+1)の差異を含むであろう。他の如何なる長さの答も
不正確なものである。
【0048】図2は、割算演算のためのスティッキイ・
ビット(S)を予測するに必要な論理回路のブロック図
である。被除数小数部はレジスタ100に保持され、除
数小数部はレジスタ120に保持される。各レジスタ1
00及び120は後続ゼロ検出論理回路112,122
に接続される。すなわち、レジスタ100は後続ゼロ検
出論理回路112に、レジスタ120は後続ゼロ検出論
理回路122に接続される。
【0049】各後続ゼロ検出論理回路112,122は
それぞれの小数部の後続ゼロの数を表わす2進出力値を
出力する。後続ゼロ検出論理回路112,122の出力
値は調節定数+54と共に2の補数加算機構である減算
回路130の入力に対して接続され、後続ゼロ検出論理
回路122の出力は補数にされる。減算回路130の出
力は比較回路140の入力に対して接続される。
【0050】割算演算を終了した後、商小数部はレジス
タ150に現われる。レジスタ150は後続ゼロ検出論
理回路152に接続され、そこで保護ビット位置から測
定した商小数部の後続ゼロの数を表わす2進出力値を発
生する。後続ゼロ検出論理回路152の出力は比較回路
140の入力に対して接続される。
【0051】比較回路140は出力を発生して計算結果
レジスタのスティッキイ・ビット(S)位置に入力す
る。すなわち、比較器140が2つの入力値を等しいと
判別すると、線141の出力“S”は0であり、比較器
140が2つの入力値を等しくないと判別すると、線1
41の出力“S”は“1”である。
【0052】平方根演算 平方根算術演算は割算演算の特殊ケースと考えることが
できる。そこで、被除数は知られており、等しい値を持
つ除数と商とを識別するよう判別がなされなければなら
ない。この場合の“被除数”を“被開数小数部”と称
し、“除数”及び“商”は“根小数部”と称する。正規
化された被開数小数部が与えられると、被開数の有意度
は小数部フィールドの長さから後続ゼロの数を減じた値
となる。
【0053】平方根演算は次の方程式の解を求めようと
する試みを実行することである。 被開数(RAD)=根*根 スティッキイ・ビット(S)値を判別する前述の方式は
些細な変更のみによって平方根演算にも使用することが
できる。例えば、有意ビットの長さを判別する方程式は
下式のように減縮される。 LROOT=(LRAD +1)/2 、又は LROOT=LRAD /2; 全部整数を発生すると
きは常に。
【0054】被開数の精度は常に最大小数部フィールド
長より短いか等しいから、根の有意度は、根が無理数で
なく、無限長(例えば、2の平方根)を持たない場合、
決して小数部フィールド長の1/2を越えることはでき
ない。故に、根有意度が無限でない場合には、全べて、
スティッキイ・ビット(S)は0であり、有意なLROOT
のビット数は前述のように判別される。そこで、問題
は、根が無限の有意度を持つとき、従って“1”のステ
ィッキイ・ビット(S)を持つときを判別する場合であ
る。
【0055】図3は平方根演算のスティッキイ・ビット
(S)の値を判別するためのブロック図を示す。被開数
はレジスタ200に保持され、レジスタ200は後続ゼ
ロ検出論理回路212に接続され、後続ゼロ検出論理回
路212は“二分割”回路230に接続される。“二分
割”回路230は後続ゼロ検出論理回路212の出力を
比較回路240の入力に接続する前に、その出力の値を
単に1位置だけ右に移動する回路であってよい。比較回
路240に対するもう一方の入力は後続ゼロ検出論理回
路252の出力から接続される。
【0056】後続ゼロ検出論理回路252の入力は計算
結果根小数部レジスタ250の出力から接続される。
“二分割”回路230の出力の後続ゼロの数が後続ゼロ
検出論理回路252の出力の後続ゼロの数に等しいと比
較回路240が判断すると、出力線241の信号はステ
ィッキイ・ビット(S)位置を“0”に設定し、“二分
割”回路230の出力の後続ゼロの数が後続ゼロ検出論
理回路252の出力の後続ゼロの数に等しくないと比較
回路240が判断すると、出力線241の信号はスティ
ッキイ・ビット(S)位置を“1”に設定する。
【0057】以上、本発明の一実施例を説明したが、本
発明はその理念及び本質から離れることなく、多くの他
の形式で実施することができ、その各部を変化変更する
ことができる。
【0058】
【発明の効果】本発明は、以上説明したように、浮動小
数点演算の進行と同時にオペランドを処理して演算結果
のスティッキイ・ビット値を判別することによって、浮
動小数点の演算を相当高速化することができる。
【図面の簡単な説明】
【図1】本発明の一実施例による掛算演算に使用する装
置を示すブロック図
【図2】本発明の一実施例による割算演算に使用する装
置を示すブロック図
【図3】本発明の一実施例による平方根演算に使用する
装置を示すブロック図
【符号の説明】
10 被乗数小数部レジスタ 12,22,112,122,152,212 後続
ゼロ検出論理回路 20 乗数小数部レジスタ 30 加算回路 40,140,240 比較回路 100 被除数小数部レジスタ 120 除数小数部レジスタ 130 減算回路 150 商小数部レジスタ 200 被開数レジスタ 230 二分割回路 250 計算結果根小数部レジスタ 252 後続ゼロ検出論理回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロイ・ロバート・ファゲット アメリカ合衆国55902、ミネソタ州、ロッ チェスタ、36ス・ストート・エス・ダヴリ ュー、721番地 (72)発明者 スコット・アラン・ヒルカー アメリカ合衆国55906、ミネソタ州、ロッ チェスタ、24ス・アベニュー・エヌ・ダヴ リュー、6203番地

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 a) 算術オペランドの各々を保持する
    レジスタ手段と、 b) 各前記レジスタ手段に接続され、前記算術オペラ
    ンドの後続ゼロの数を含む出力を供給する手段を含む後
    続ゼロ検出回路と、 c) 各前記出力を入力して算術和するよう接続され、
    前記出力の和又は差を供給する加算又は減算回路と、 d) 前記加算又は減算回路から出力された和又は差を
    受信するよう接続された比較回路 とを含み、2進コンピュータ・プロセッサにおいて浮動
    小数点算術演算の計算結果としてのスティッキイ・ビッ
    ト値を判別することを特徴とするスティッキイ・ビット
    値の判別装置。
  2. 【請求項2】 前記加算又は減算回路は更に2つの算術
    オペランドの後続ゼロ数の和を供給する手段を有する加
    算回路を含むことを特徴とする請求項1記載のスティッ
    キイ・ビット値の判別装置。
  3. 【請求項3】 前記加算又は減算回路は更に定数値によ
    って調整された2つの算術オペランドの後続ゼロの数の
    差を供給する手段を有する減算回路を含むことを特徴と
    する請求項1記載のスティッキイ・ビット値の判別装
    置。
  4. 【請求項4】 前記算術オペランドの各々を保持するレ
    ジスタ手段は単一オペランド・レジスタを含むことを特
    徴とする請求項1記載のスティッキイ・ビット値の判別
    装置。
  5. 【請求項5】 前記加算又は減算回路は更に前記後続ゼ
    ロ検出回路の出力を1ビット位置右移動する手段を有す
    る二分割回路を含み、前記判別装置は更に前記オペラン
    ド・レジスタに記憶されたオペランド値の平方根値を記
    憶する手段を有する根小数部レジスタを含むことを特徴
    とする請求項4記載のスティッキイ・ビット値の判別装
    置。
JP4299146A 1991-12-30 1992-10-13 算術演算におけるスティッキイ・ビット値の判別装置 Pending JPH05241787A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US814934 1991-12-30
US07/814,934 USH1222H (en) 1991-12-30 1991-12-30 Apparatus for determining sticky bit value in arithmetic operations

Publications (1)

Publication Number Publication Date
JPH05241787A true JPH05241787A (ja) 1993-09-21

Family

ID=25216393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4299146A Pending JPH05241787A (ja) 1991-12-30 1992-10-13 算術演算におけるスティッキイ・ビット値の判別装置

Country Status (2)

Country Link
US (1) USH1222H (ja)
JP (1) JPH05241787A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100336014C (zh) * 2004-05-12 2007-09-05 中国人民解放军国防科学技术大学 并行粘接位计算部件设计方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212661A (en) * 1989-10-16 1993-05-18 Matsushita Electric Industrial Co., Ltd. Apparatus for performing floating point arithmetic operation and rounding the result thereof
US5341319A (en) * 1993-02-10 1994-08-23 Digital Equipment Corporation Method and apparatus for controlling a rounding operation in a floating point multiplier circuit
US5471410A (en) * 1994-10-14 1995-11-28 International Business Machines Corporation Method and apparatus for sticky and leading one detection
RU95107478A (ru) * 1995-05-18 1997-02-10 А.И. Грушин Способ устранения старших незначащих цифр при вычислениях с плавающей запятой и устройство для его осуществления
US5808926A (en) * 1995-06-01 1998-09-15 Sun Microsystems, Inc. Floating point addition methods and apparatus
US5742537A (en) * 1995-06-30 1998-04-21 Wolrich; Gilbert M. Fast determination of floating point sticky bit from input operands
US5745744A (en) * 1995-10-12 1998-04-28 International Business Machines Corporation High speed mask generation using selection logic
US5844830A (en) * 1996-08-07 1998-12-01 Sun Microsystems, Inc. Executing computer instrucrions by circuits having different latencies
US5944773A (en) * 1997-06-25 1999-08-31 Sun Microsystems, Inc. Floating-point multiplier circuit for generating the sticky-bit from the input operands
US6044391A (en) * 1997-06-25 2000-03-28 Sun Microsystems, Inc. Method of generating the sticky-bit from the input operands
JP3418711B2 (ja) * 1998-12-25 2003-06-23 富士通株式会社 スティッキービット値予測回路及びこれを備えた半導体装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100336014C (zh) * 2004-05-12 2007-09-05 中国人民解放军国防科学技术大学 并行粘接位计算部件设计方法

Also Published As

Publication number Publication date
USH1222H (en) 1993-08-03

Similar Documents

Publication Publication Date Title
KR100955557B1 (ko) 선택가능 준정밀도를 가진 부동―소수점 프로세서
US4941120A (en) Floating point normalization and rounding prediction circuit
US5357237A (en) In a data processor a method and apparatus for performing a floating-point comparison operation
US5995991A (en) Floating point architecture with tagged operands
KR20080098440A (ko) 선택가능한 하위 정밀도에 대하여 감소된 전력 요구조건들을 가지는 부동 소수점 프로세서
WO2002023326A1 (en) Handler for floating-point denormalized numbers
CN107025091B (zh) 二进制融合乘加浮点计算
JPH0544046B2 (ja)
JP3313560B2 (ja) 浮動小数点演算処理装置
CN108139912B (zh) 在浮点运算期间计算和保留误差边界的装置和方法
JPH05241787A (ja) 算術演算におけるスティッキイ・ビット値の判別装置
CN112241291A (zh) 用于指数函数实施的浮点单元
CN108694037B (zh) 用于在执行浮点减法时估计移位量的装置和方法
US6879992B2 (en) System and method to efficiently round real numbers
US6233595B1 (en) Fast multiplication of floating point values and integer powers of two
US4979142A (en) Two-bit floating point divide circuit with single carry-save adder
KR20060103920A (ko) 스케일링된 정수를 사용하는 부동 소수점 연산
Muller et al. Semi-logarithmic number systems
EP0738959A1 (en) Method and apparatus for finding arctangents
JP2695178B2 (ja) 演算回路
US8185723B2 (en) Method and apparatus to extract integer and fractional components from floating-point data
RU2276805C2 (ru) Способ и устройство для выделения целой и дробных компонент из данных с плавающей точкой
Gonzalez-Navarro et al. A binary integer decimal-based multiplier for decimal floating-point arithmetic
Schulte et al. A processor for staggered interval arithmetic
US6996591B2 (en) System and method to efficiently approximate the term 2x