JPH02294820A - 浮動小数点数演算処理装置および演算処理方法 - Google Patents

浮動小数点数演算処理装置および演算処理方法

Info

Publication number
JPH02294820A
JPH02294820A JP2099453A JP9945390A JPH02294820A JP H02294820 A JPH02294820 A JP H02294820A JP 2099453 A JP2099453 A JP 2099453A JP 9945390 A JP9945390 A JP 9945390A JP H02294820 A JPH02294820 A JP H02294820A
Authority
JP
Japan
Prior art keywords
rounding
circuit
normalization
decimal
bit
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
JP2099453A
Other languages
English (en)
Inventor
Jeffrey D Brown
ジエフリイ・ダグラス・ブラウン
Donald L Freerksen
ドナルド・リイ・フリークソン
Scott A Hilker
スコツト・アレン・ヒルカー
Daniel L Stasiak
ダニエル・ローレンス・スタシイーク
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 JPH02294820A publication Critical patent/JPH02294820A/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/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
    • G06F7/49957Implementation of IEEE-754 Standard

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 A.産業上の利用分野 本技術はデータ処理装置における浮動小数点演算処理の
実行方法及び装置に関する。さらに詳しくは、浮動小数
点演算の正規化及び丸めステップの並行処理によって、
浮動小数点演算を実行する装置とその装置の実行方法に
関する。これらのステップは浮動小数点の計算が終了し
浮動小数点の答えが導き出された後に実行される。
B.従来技術および課題 データ処理装置における浮動小数点演算はコンピュータ
技術の初期から一般に行なわれてきたものである。浮動
小数点演算のハードウエアの開発は様々な方向を持ち、
ハードウエア構成の簡略化、あるいは計算処理の高速化
等を図っている。加減乗除の4つの演算処理は加算と減
算を持つプロセスの特別なサブセットを用いて実行され
る。例えば乗算は加算処理を繰り返し実行する処理であ
り、除算は減算処理の繰り返しである。この処理の促進
、及び簡略化に様々な工夫がなされており、特に全ての
計算処理の処理速度を決定する加算回路のハードウエア
回路構成に努力が注がれている。
除算の場合は、部分商によって、あるいは同時に多重商
ビットを予測することによって除算に要する加算、ある
いは減算処理の繰り返し数を引き下げて処理速度を上げ
る工夫がされている。
浮動小数点演算の実行のためのルールの統一基準を作成
するために米国基準が作成されている。
この基準はANS I/I EEEスタンダードNo.
 754−1985に記載されている。浮動小数点演算
のシステムおよびアルゴリズム構成において、この基準
を満たすことは必須であり、これによってこのシステム
およびアルゴリズムのユーザが異なるコンピュータを用
いて所定の計算を実行した際に調和が達成される。基準
は基本及び拡張浮動小数点数フォーマット、計算処理、
整数と浮動小数点数間の変換、異なる浮動小数点数間の
変換、基本フォーマット浮動小数点数とlO進ストリン
グ間の変換、及び所定の浮動小数点例外の扱いについて
規定している。
一般的な浮動小数点演算処理は単精度、あるいは倍精度
のフォーマットのどちらかによって達成される。これら
各々のフォーマットは符号、指数、および各フィールド
が浮動小数点数の所定部分を占めるような小数フィール
ドを使用する。32ビット単精度の場合、符号フィール
ド数は最上位ビットポジションが占める単ビットであり
、指数フィールドは次の上位8ビット、小数フィールド
は下位23ビットとなる。倍精度浮動小数点数の場合は
符号フィールドが最上位単ビット、指数フィールドは次
の上位11ビット、小数フィールドは下位52ビットと
なる。
各浮動小数点の答えが導かれた後に正規化及び丸め処理
が必要となる。答えが正規化されると、小数フィールド
の中の先行ゼ″口の数がカウントされる。次にこの数が
指数から差し引かれ、小数は小数フィールドの最上位ビ
ット位置に1が存在するまで左にシフトされる。浮動小
数点数の答えには指数がすでに可能な最低値を持ち、小
数フィールドの最上位ビット値が1でないために正規化
できないものもある。
ANS I/IEEE規格754−1985を満足する
浮動小数点実行のハードウエアおよび論理の設計におい
ては浮動小数点ハードウエア処理に所定の追加ビットを
導入することが望ましく、また必要である。この指示ビ
ットは浮動小数点数の小数フィールドに入りこみ、浮動
小数点処理中に一定の状態が発生したことを示すのに演
算制御論理によって使用される。例えば、暗黙(IMP
LICIT)ビッ}Iは浮動小数点数の指数がゼロ以外
の値を持つときに演算制御論理によって生成される。暗
黙ビッ}Iは浮動小数点数が演算ロジックにロードされ
たときに生成され、暗黙ビット■はその小数フィールド
の第1ビット位置を占める。さらに保3i(GUARD
)ビットGは所定の演算処理の際に浮動小数点制御論理
によってセットされる。これは処理浮動小数点数の精度
ロスを示す。Gビットは右シフトの際正規化を必要とす
るときにレジスタ・キャパシティの右サイドから上位ビ
ットがシフト・オフするときにセットされる。単精度数
の場合、Gビットは小数フィールドのビット位置25を
占める。倍精度数の場合はビット位置54となる。丸め
(ROUND)ビットも所定の浮動小数点演算処理に使
用され、演算制御論理によってセットされる。Rビット
は単精度数の場合には小数フィールドの26ビット位置
、倍精度の場合はビット位W5 5を占める。最後にス
テイッキー(ST I CKY)ビットは所定の浮動小
数点数演算においてセットされ、いずれの低精度ビット
も1であり、浮動小数点数がいくつかの精度を失ったこ
とを示すときの指示ビットである。Sビットは単精度数
の場合には小数フィールドの27ビット位置、倍精度の
場合はビット位置56を占める。
小数フィールドの3つのエクストラ・ビットは結果が正
規化された後の丸め処理に専ら使用される。ガード(G
)、丸め(R)ビットはあたかも自身が小数の一部であ
るかのように扱われる。これらは他の小数に伴ってシフ
トされ、すべての演算に含まれる。ステイッキ−(S)
ビットは小数と共にシフトされないが演算には含まれる
。これは1が小数の右側にシフト・オフされた場合、小
数の右側にシフト・オフされた1のキャッチャとして動
作し、このSビットは正規化および丸めが完了するまで
、1のままに維持される。
丸め処理においては以下のような4つの典型モードがあ
る。
■)最近接部への丸め 2)正限界への丸め 3)負限界への丸め 4)ゼロへの丸め 「最近接部への丸めJモードは最大限正確な結果に近い
値が導かれることを意味する。もし、2つの最近接値が
まったく等しい距離にある場合はその最低位ビットがゼ
ロの方が導かれる。「正限界への丸め」モードは最大限
正確な値に最も近く、かつそれよりも小さくない値が導
かれる。「負限界への丸め」モードは最大限正確な値に
最も近く、かつそれよりも大きくない値が導かれる。「
ゼロへ丸め」モードは最大限正確な値に最も近くその絶
対値がそれよも大きくない値を導くものである。
もし、G,R,Sビットがどれも1でないなら、丸めモ
ードが選択されても丸めは実行されない。
C.発明の概要および解決課題 本発明の主目的はANS I/IEEE規格754−1
985を満足する浮動小数点演算処理の装置および方法
を提供することである。
さらにもう1つの目的は処理に要求されるマシン・サイ
クルのいくつかを省くことにより、単時間で所定の浮動
小数点演算処理を実行する装置と方法を提供することで
ある。
さらに、処理時間の短縮を図るために正規化後の処理と
丸め処理を並行に処理する装置と方法を提供することを
もう1つの目的とする。
本発明は浮動小数点演算処理装置および正規化および丸
め処理を並行して実行する方法に関する。
浮動小数点演算処理の部分的な結果が最初の2ピント位
置において検査される。もし、これらの2ビット位置が
1.Xの形であれば正規化は行なわれず丸め処理だけが
実行される。もし、最初の2ビットが0.IXであれば
小数は左に1ポジションだけシフトし、新たな正規化は
実行されずにその後丸め処理が実行される。もし、最初
の2ビットが上記のいずれでもない場合は小数は正規化
され、丸め処理を必要とせずに直接出力に送られる。
従って、正規化および/または丸め処理の実行は完全に
これら2ビットから予測できる。正規化および丸め処理
はシーケンシャルではなく並行処理で実行される。
D.実施例 第1図に本発明による浮動小数点演算回路10のブロッ
ク図を示す。浮動小数点演算の実行は最適な結果を導く
特別なアルゴリズムが必要であるため、その実現のため
にこの回路が使用される。
この回路は浮動小数点数は予め特定のフォーマットに従
ってアレンジされているものと仮定されている。すなわ
ち、最上位ビットが浮動小数点数の符号を表し、次の上
位ビット・グループが浮動小数点数の指数、そして他の
ビットが小数値を表すごとくである。小数値において2
進位置は小数値の最も左端にある。浮動小数点演算が3
2ビット・サイズの単精度計算において実行される場合
、符号ビットはビット0、指数ビットは1〜8、小数値
ビットは9〜3lとなる。浮動小数点演算が倍精度数に
おいて実行される場合は符号ビットはビット0、指数ビ
ットは1〜11、小数値ビットは12〜63となる。こ
れらの識別ビットに加えて、第1図に関するハードウエ
アおよびレジスタは4つの付加ビットを持つ。Iビット
は小数フィールドの最上位を占め、G,R、およびSビ
ットは各々小数フィールドの最下位ビットの位置を占め
る。
浮動小数点オペランドはそれらの指数が等しくなるまで
は相互に加算あるいは減算できない。このことはすなわ
ち、両指数が比較され、小さい指数を有するオペランド
の小数が、指数が等しくなるまで指数の差分シフトされ
るということになる。
小数はその後、結果として得られた大きい指数のもとて
加算あるいは減算される。浮動小数点オペランドの乗算
には指数が加算され、小数が乗算されることが必要であ
る。浮動小数点数の除算は除数の七数が被除数の指数か
ら減算され、被除数の小数が除数の小数によって除算さ
れることが必要となる。
第1図に示した浮動小数点演算回路は単精度および倍精
度両者の演算処理が実行可能である。浮動小数点の加算
、減算、14ビット浮動小数点乗算処理、2ビット浮動
小数点除算処理が実行可能である。
第1図の浮動小数点演算回路10はデータ処理装置のよ
うな他ソースからのデータの転送のためのデータ・バス
12を有している。データ・バス12を介して受領した
情報は複数の浮動小数点レジスタに転送される。この実
施例においては8つの浮動小数点レジスタ14が存在し
、各々が浮動小数点オペランドを保持し、浮動小数点処
理の結果を保持する。浮動小数点レジスタ14はFAレ
ジスタ16、FBレジスタ18、およびFCレジスタ2
2に情報転送を行なう。FAレジスタ16は、また逆に
浮動小数点レジスタl4に情報を転送する。
FAレジスタ16は浮動小数点レジスタ14からのデー
タの宛先レジスタであり、かつ浮動小数点レジスタ14
へ転送するデータのソース・レジスタである。さらにF
Aレジスタ16はメモリへ対して記憶データ・バスl2
を介して転送されるデータのソース・レジスタであり、
また桁上げ伝搬加算器30、指数加算器20および正規
化丸め処理装置34から転送されるデータの宛先レジス
タでもある。FAレジスタ16はマルチプル・セレクタ
24、正規化丸め処理装[34、および指数加算器20
に対する出力を持つ。FAレジスタ16は加算、減算、
比較、乗算、および除算処理の第2オペランドを保有す
る。FAレジスタ16は浮動小数点数の指数を保持する
セクション16aと浮動小数点数のオペランド部を保持
するセクション16bを持つ。
FAレジスタに対する複数入力のうちいずれをレジスタ
にゲートさせるかを決定する選択制御のためにFAレジ
スタはその中にマルチプレクサ回路15を有している。
マルチプレクサ回路15は活動化信号Aの制御の下でレ
ジスタ16に対する複数入力の選択制御を行う。浮動小
数点演算回路の他のレジスタも同様の機能を持つ。
制御論理回路1lは浮動小数点演算回路中でのデータ交
換、およびデータ処理に必要とされる活動信゛号を送出
する。制御論理回路11はAと定義される複数の制御信
号出力を持ち、これらの各々は多数の回路およびレジス
タに対する制御入力を供給する。浮動小数点演算処理に
おいて必要とされる活動信号と同様、制御論理回路11
の構成については当業者においては明らかなところであ
るので詳細な説明は省くこととする。
FBレジスタ18は記憶データ・ハス12から受領する
浮動小数点レジスタ14のデータの宛先レジスタであり
、桁上げ伝搬加算器30と正規化丸め処理装置34から
のデータのための宛先レジスタである。これはマルチプ
ル・セレクタ24、事前位置合せ装置26、指数加算器
20への出力を有する。FBレジスタは加算、減算、比
較、除算を行う第1オペランドを保持し、加算、減算、
乗算処理の中間結果を保持する。FBレジスタ1日は浮
動小数点数の指数部を保持するセクション18aと浮動
小数点数のオペランド部を保持するセクション18bと
を持ち、さらに制御論理回路11からの活動信号の制御
の基でレジスタにデータをゲートするための入力マルチ
プレクサ回路17を持つ。
FCレジスタ22は記憶データ・バス12を介したメモ
リからのデータ用の宛先レジスタであり、かつ桁上げ伝
搬加算器30と正規化丸め処理装置34からのデータの
宛先レジスクである。これは、さらに浮動小数点レジス
タ14からの宛先レジス夕でもある。FCレジスタ22
はマルチプル・セレクタ24、事前位置合せ装置2G、
正規化丸め処理装置34への出力を持つ。FCレジスタ
22は乗算処理の第1オペランドを保持するのに用いら
れ、除算処理結果の宛先レジスタとなる。入力マルチブ
レクサ回路21は制御論理回路11からの活動信号の制
御の基でFCレジスタ22へのデータ・ゲートをffi
ll i卸する。
指数加算器20は指数演算に使用される13ビットの加
算回路である。これは単精度、および倍精度の指数演算
を扱う。指数加算器はFAレジスタのセクション16a
とFBレジスタのセクション18aに転送されるデータ
のソースである指数加算器20は入力マルチプレクサ回
路19を有する。
事前位置合せ装置26は加算あるいは減算処理に先んじ
て必要となる浮動小数点数オペランドの指数合わせであ
る小さい指数を有する小数の予備シフトの実行に使用さ
れる。事前位置合せ装置26は実行中の演算が単精度か
倍精度かに依存して浮動小数点小数を右に0から55ビ
ットまでシフトすることができる。事前位置合せ装置2
6は桁上げ伝搬加算器30、FCレジスタ22に対する
出力を有する。
マルチプル・セレクタ24は乗算処理の被乗数の倍数、
および除算処理の除数の倍数を生成する。
除算処理の場合は、被除数、あるいは部分的な被除数の
上位ビット、および除数の上位ビットから倍数が導かれ
る。オペランドの補数は必要に応じてマルチプル・セレ
クタから生成される。マルチブル・セレクタ24は、F
Aレジスク16、FBレジスタ18、FCレジスタ22
からのデータを受領する。マルチプル・セレクタ24は
桁上げ保持加算器ツリー28への出力を持つ。
桁上げ保持加算器ツリー28は同時に3オペランドを加
算することができる。これは1つの繰り返しごとに2つ
の商ビットを生成する除算アルゴリズムを使用する。桁
上げ保持加算器ツリー28はマルチプル・セレクタ24
からのデータ、および桁上げ伝搬加算器30への転送デ
ータを受領する。
桁上げ伝搬加算器30は57ビット加算器であり、乗算
処理の部分積、あるいは除算処理の部分被除数を生成す
るための桁上げ保持加算器28からの入力を持つ。桁上
げ伝搬加算器30はさらに事前位置合せ装置26、FA
レジスタ16、およびF−Bレジスタ18からの入力を
受領する。桁上げ伝搬加算器30はFAレジスタ16、
およびFBレジスタ18への出力接続を持つ。入力マル
チプレクサ回路29は制御論理回路11からの活動信号
八の制御の下で桁上げ伝搬加算器30へのデータ・ゲー
トを制御する。
正規化丸め処理装置34は浮動小数点処理の結果の正規
化に使用する正規化装置34aを持つ。
例えば、乗算処理結果は小数の正規化のために1ビット
の左シフトが要求され、加算および減算処理の場合は5
4ビット位置までの左シフトが要求される。正規化丸め
回路34はさらに所定の丸め処理に使用されるインクリ
メンタ回路を持った丸め処理装置34を有する。ここで
低位ビット位置においでlだけインクリメントされる。
第2図には従来通りの演算処理の後の正規化および丸め
処理に使用される回路であり、第1図の一部に該当する
回路が示してある。第3図は従来の正規化および丸め処
理のデータの流れを示す図であり、正規化および丸め処
理の必要な浮動小数点結果は、まず正規化の処理が実行
され、その後丸め処理が実行される。データ経路ステッ
プは正規化および丸め制御論理回路11の制御のちとに
あり、処理はシーケンシャルに実行される。第2図のブ
ロック図から正規化および丸め処理のシーケンスにおい
ては複数のステップが必要なことが分かる。まず、最初
にレジスタl6に保持された小数結果がいわゆるシック
である正規化論理回路34aにゲートされることによっ
て正規化される。
正規化装置34a中のデータはすべての先行ゼロを除去
するために左シフトされ、これを達成するために必要と
されるシフト数がカウントされる。
シフト・カウントは指数加算器20においてレジスタ1
6の結果指数から差し引かれ、ここで得られた指数が1
6aに置き換えられる。次に、正規化小数が丸め処理装
置34bにおいて丸め処理がされる。ここでは所定の丸
めパラメータに従って処理が実行され、丸め小数はレジ
スタ16bに再配置される。最後に新しい指数と小数が
次の処理のために浮動小数点レジスタ14に転送される
必要に応じて正規化や丸め処理が実行されるとき、これ
らは通常シーケンシャルに実行されるので、その完了ま
では多大な時間がかかることが多い。本発明はこの時間
的問題をシーケンシャルな正規化および丸め処理を並行
処理とすることによって解決しようとするものである。
すべての演算処理の小数結果は以下に示す4つの態様の
1つとして表現できる。
1)1.XXX.,,XX 2)O.IXXX..,XX 3)O.OXXX,,,XX 4)LX.XXX,,XX 上記の最初のケース1)では暗黙ビット(I)がすでに
1であるので正規化は必要とされず、丸め処理のみが必
要となる。ケース2)の場合は左側へ1シフトの正規化
が必要とされる。この場合左側への1ビット位置クイッ
ク・シフトが実行され、続いて丸め処理が必要となる。
ケース3)の場合は減算処理のみが可能であり、ステイ
ツキー・ビット(S)がゼロとなり、ガード・ビット(
G)、および丸め回転ビット(R)が正規化の間シフト
され、ゼロに置き換えられる。3つすべての丸めビット
、ガード(G)、丸め(R)、およびステイッキー(S
)ビットが正規化の後ゼロになるので、丸めモードであ
っても丸め処理は要求されない。従って、正規化のみが
必要とされる.例えば、事前正規化オペランドを利用し
たいかなる乗算処理も、その結果は上記のケース1)あ
るいはケース2)のいずれかである。同様に事前正規化
オペランドを使用した2ビット非復元除算アルゴリズム
によって実行される除算処理も上記のケース1)あるい
はケース2)の商を結果とする。加算および減算処理に
おいては上記の4つのフォーマットのいずれでもとり得
る。本発明では上記ケースの1、2および3について扱
っており、ケース4については、これをケース1に変換
する方法を本件米国出願と同日出願の米国特許出願第3
39347号で開示している。
表1に加算処理例の一覧、表2に減算処理例の一覧を示
す。これらの表において「オペランド1、2」は加算あ
るいは減算される小数値であり、「指数差」はオペラン
ド指数が等しい(差がゼロ)、あるいは等しくない(差
がゼロより大)、または1の差を有するかを示す。「結
果」は答えの可能なフォーマットを示してある。rNo
rm」は正規化が必要ならばYと記し、rRound」
は丸め処理の必要性と丸め処理の態様を記した。
表1 加算処理 表2 減算処理 上記の表1と2には3つのタイプの丸め処理が示されて
おり、それは以下のように定義されている。
Rl:前述の米国特許出願に開示された手段が丸め処理
に使用される。
R2:シフト処理なしの丸め処理が実行される。
R3:丸め処理の前に1ビット・シフトが実行される。
R1モードにおいては小数結果は1ビット右ヘシフトさ
れ、必要に応じて丸め処理が実行される。
R2モードにおいてはシフトは要求されず、丸め処理が
ノーマルに実行される。R3モードにおいては小数結果
は1ビット左にシフトされ、丸め処理がノーマルに実行
される。
同じ指数を持つ2つの正規化数の減算においては、結果
はO.IXXX., .であるか、または0.IXXX
,,,である。どちらの結果においてもガード(G)、
丸め(R)、ステイッキ−(S)はセットされない。従
って正規化処理は実行すべき必要のあるもののみの処理
となる。もし1つの指数が高ければ、結果は1,  X
XX, , ,、0.IXXXあるいはo.o−xxx
となる。最初のフォーマット(1,XXX...)にお
いては、丸め処理が必要な唯一の処理である。第2フォ
ーマット(0.IXXX,,,)では結果は単1ビン1
・左シフトの後、ノーマルな丸めが実行されて、正規化
および丸め処理が行なわれる。第3のフォーマットでは
正規化のみが実行される。この第3のフォーマットは2
指数の差が1のときにのみ発生ずる。指数差が1より大
きい場合は、結果は0.LXまたは1.XXとなる。指
数差が1のときは、ガード(G)ビツ1・のみがセット
され得るが、結果が0,Oxであり、正規化によってガ
ード・ビツ1・Gはクリアされる。すなわち、第3のフ
ォーマットにおいては丸め処理は必要ないということで
ある。従って、1ビット以上のシフト、丸め処理のいず
れも要求されない。
同じ指数を持つ正規化数と非正規化数との計算では、可
能な結果の態様は1,XXX... 、O.IXXX.
.. 、またはo.oxxxである。1.XXX,,,
のときは丸め処理のみが必要となる。
0.IXXX, ..の場合は1ビット左シフトに伴っ
た丸め処理が実行される。o.oxxx,,,の場合は
正規化のみが必要となる。従ってこのフォーマットの場
合は丸めビットのセットは行なわれない。
等しくない指数を有する正規化数と非正規化数との計算
の場合は可能な結果は1.XXX.,,とO.IXXX
,,,である。この場合には丸めビットがセットされ、
丸め処理が1ビット左シフトを伴って(前者)、伴わず
(後者)に実行される。このように、正規化オペランド
と非正規化オペランドとの間の減算結果の丸め処理に際
して1ビット左シフト以上は必要としない。
すべての非正規化数は等しい指数をもっているので2つ
の非正規化数の減算においてゼロより大の指数差が存在
することはない。2つの非正規化数の減算における可能
な答の形態はo.xxx,,.である。この答えにおい
ては丸めビットのセットはなく、丸め処理は必要ない。
また、被正規化数であるので正規化処理も必要ない。
第4図は本発明に従った正規化と丸めの並行処理を実行
する改良された演算回路10を示したものである。演算
処理の小数結果は上述の3フォーマットの1つの形態で
レジスタ16に保持される。
小数結果は同時に正規化装置34aとセレクタ回路53
とに接続される。正規化装置34aは上述した従来の方
法で処理が実行され、出力セレクタ回路53に正規化出
力を供給する。セレクタ回路53に対するレジスタ16
からの平行接続は制御論理1lによってさらに制御され
る。制御論理回路11は小数結果の最初の2ビットを検
査し、2ビット・フォーマットが1,Xであればセレク
タ・ライン(1.X)を活動化し、0.1Xの場合はセ
レクタ・ライン(0.LX)を活動化する。
2ビット・フォーマットが1,Xでも0.IXでもなけ
れば、レジスタ16からのセレクタ回路53を介して丸
め処理装置34bへの小数結果の転送は行なわれず、正
規化34aへの転送が実行される。小数結果2ビット・
フォーマットが1.Xであれば、小数結果はセレクタ回
路53を介して直接丸め処理装置34bに転送され、そ
れから出力セレクタ回路56へ転送される。丸めセレク
ト(Select Round)信号が同時に活動化し
て出力セレクタ回路56において丸め処理装置34から
受領した信号をレジスタ16へ戻す動作を実行せしめる
。このシーケンスは2ビット・フォーマットが1,Xで
暗黙ビットIが1にセットされ、正規化処理が要求され
ず、丸め処理のみが実行される場合に発生する。
小数結果の2ビット・フォーマットが0.1であり、指
数差がゼロでないときは、制御論理回路11はライン(
0.LX)を活動化し、小数結果を1ビット左にシフト
し、同時に結果をセレクタ回路53を介して丸め処理装
置34bに送り、さらに出力セレクタ56々転送する。
制御論理回路11はselect norm (正規化
選択)信号か、select round (丸め選択
)かのどちらかを、2ビット・フォーマットの検査結果
および指数差に従って活性化する。可能な組合せは多数
存在し、その結果によって活性化ラインが決定する。こ
の様子を表したのが表1と表2である。
これらの表1、表2からどのケースでselectno
rm (正規化選択)信号か、select roun
c! (丸め選択)のどちらが選択されるかが理解され
る。このように本発明によれば、従来シーケンシャルに
実行していた処理であった正規化の処理と丸め処理とを
パラレルに実行することが可能となったのである。この
平行処理はこのように所定処理の時間を節約でき、その
結果本発明の実施により全体の処理時間の削減が可能と
なる。
第5図は本発明におけるデータの流れを表すもので、小
数結果が同時に正規化装置と丸め処理の装置に転送され
、平行処理が制御論理11によって制御されている。制
御論理1lは2つの平行経路のいずれが正しい出力結果
を有しているかを示す信号を出力セレクタ56へ送出す
る。
E.発明の効果 以上のように、本発明に従えば浮動小数点演算処理にお
ける処理時間の大幅な削減が可能となる。
【図面の簡単な説明】
第1図は本発明の浮動小数点演算回路を示すブロック図
、第2図は従来の正規化および丸め処理に用いられ、第
1図の回路の一部を構成する部分回路図、第3図は従来
の丸め処理および正規化処理のデータ経路を示すブロッ
ク図、第4図は本発明の正規化および丸め処理に用いら
れ、第1図の回路の一部を構成する部分回路図、第5図
は本発明の処理データ経路を示すブロック図である。 11・・・・制御論理、34a・・・・正規化装置、3
4b・・・・丸め処理装置、53・・・・セレクタ、5
6・・・・出力セレクタ。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士 ・頓  宮  孝  一(外1名) 第2図 正規化装置 第6図

Claims (2)

    【特許請求の範囲】
  1. (1)浮動小数点数演算における指数および小数結果に
    基づく丸め回路および正規化回路での並行処理を実行す
    る装置に関し、 イ)小数結果の正規化手段を有する正規化回路と、小数
    結果の丸め手段を有する丸め回路、 ロ)上記丸め回路に接続され、上記小数結果を上記丸め
    回路に送出する第1選択手段と、上記小数結果を1ビッ
    ト位置左にシフトしシフトされた小数結果を上記丸め回
    路に送出する第2選択手段とを有する選択回路、 ハ)上記小数結果を上記選択回路および上記丸め回路に
    並行接続する手段、 ニ)正規化回路出力と丸め回路出力とを受領するように
    接続され、該正規化回路出力と該丸め回路出力のいずれ
    を選択するかを決定する制御信号入力手段を有する出力
    回路、 ホ)小数結果の左端の2ビット構成が1.Xまたは0.
    1X(Xは任意の値)であることを検知する手段、該2
    ビット構成が1.Xであるときに上記選択回路第1選択
    手段を活性化する手段、該2ビット構成が0.1Xであ
    るときに上記選択回路第2選択手段を活性化する手段、
    および正規化回路出力または丸め回路出力のいずれかを
    選択するために上記出力回路制御信号入力手段を活性化
    する手段とを有する制御論理回路、 とを有することを特徴とする浮動小数点数演算装置。
  2. (2)浮動小数点数演算処理の指数および小数結果に基
    づく処理である該指数および小数結果の正規化または丸
    め処理を実行する方法であり、 イ)上記小数結果の最初の2ビットを検査して1.X、
    0.1X、または0.0X(Xは任意の値)のいずれで
    あるかを判別するステップ、 ロ)上記2ビットが1.Xであるときに上記小数結果の
    丸め処理を実行するステップ、 ハ)上記2ビットが0.1Xであるときに上記小数結果
    を左に1ビット位置シフトし、該シフトされた小数結果
    に対して丸め処理を実行するステップ、 ニ)上記2ビットが0.0Xであるときに上記小数結果
    の正規化を実行するステップ、 とを有する浮動小数点数演算処理方法。
JP2099453A 1989-04-17 1990-04-17 浮動小数点数演算処理装置および演算処理方法 Pending JPH02294820A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/339,348 US4926370A (en) 1989-04-17 1989-04-17 Method and apparatus for processing postnormalization and rounding in parallel
US339348 1989-04-17

Publications (1)

Publication Number Publication Date
JPH02294820A true JPH02294820A (ja) 1990-12-05

Family

ID=23328606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2099453A Pending JPH02294820A (ja) 1989-04-17 1990-04-17 浮動小数点数演算処理装置および演算処理方法

Country Status (3)

Country Link
US (1) US4926370A (ja)
EP (1) EP0394169A3 (ja)
JP (1) JPH02294820A (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1309665C (en) * 1987-06-27 1992-11-03 Kenzo Akagiri Amplitude compressing/expanding circuit
DE69132807T2 (de) * 1990-08-24 2002-06-27 Matsushita Electric Industrial Co., Ltd. Verfahren und Gerät zur Berechnung von Gleitkommadaten
AU1150492A (en) * 1990-12-03 1992-06-25 Board Of Trustees Of The Leland Stanford Junior University Adaptive decision feedback equalizer apparatus for processing information stored on digital storage media
US5150319A (en) * 1991-05-03 1992-09-22 Sun Microsystems, Inc. Circuitry for rounding in a floating point multiplier
US5258943A (en) * 1991-12-23 1993-11-02 Intel Corporation Apparatus and method for rounding operands
US5822557A (en) * 1991-12-27 1998-10-13 Fujitsu Limited Pipelined data processing device having improved hardware control over an arithmetic operations unit
US5390134A (en) * 1993-01-29 1995-02-14 Hewlett-Packard Company System and method for reducing latency in a floating point processor
KR0139733B1 (ko) * 1994-04-29 1998-07-01 구자홍 부동 소수점 덧셈/뺄셈 연산기의 반올림 방법 및 장치
US5548544A (en) * 1994-10-14 1996-08-20 Ibm Corporation Method and apparatus for rounding the result of an arithmetic operation
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
US5808926A (en) * 1995-06-01 1998-09-15 Sun Microsystems, Inc. Floating point addition methods and apparatus
US5635858A (en) * 1995-06-07 1997-06-03 International Business Machines, Corporation Zero-stopping incrementers
US5886915A (en) * 1995-11-13 1999-03-23 Intel Corporation Method and apparatus for trading performance for precision when processing denormal numbers in a computer system
US5880983A (en) * 1996-03-25 1999-03-09 International Business Machines Corporation Floating point split multiply/add system which has infinite precision
US5764549A (en) * 1996-04-29 1998-06-09 International Business Machines Corporation Fast floating point result alignment apparatus
US5790445A (en) * 1996-04-30 1998-08-04 International Business Machines Corporation Method and system for performing a high speed floating point add operation
WO1998006029A1 (en) * 1996-08-07 1998-02-12 Valery Yakovlevich Gorshtein Apparatus and methods for execution of computer instructions
US5844830A (en) * 1996-08-07 1998-12-01 Sun Microsystems, Inc. Executing computer instrucrions by circuits having different latencies
US6167419A (en) * 1997-04-01 2000-12-26 Matsushita Electric Industrial Co., Ltd. Multiplication method and multiplication circuit
US6185593B1 (en) 1997-09-02 2001-02-06 Intrinsity, Inc. Method and apparatus for parallel normalization and rounding technique for floating point arithmetic operations
US6173299B1 (en) 1997-09-02 2001-01-09 Intrinsity, Inc. Method and apparatus for selecting an intermediate result for parallel normalization and rounding technique for floating point arithmetic operations
US6151615A (en) * 1997-09-02 2000-11-21 Intrinsity, Inc. Method and apparatus for formatting an intermediate result for parallel normalization and rounding technique for floating point arithmetic operations
US6175847B1 (en) 1998-07-22 2001-01-16 Intrinsity, Inc. Shifting for parallel normalization and rounding technique for floating point arithmetic operations
US6684232B1 (en) * 2000-10-26 2004-01-27 International Business Machines Corporation Method and predictor for streamlining execution of convert-to-integer operations
EP1357669A4 (en) * 2001-01-31 2005-08-24 Matsushita Electric Ind Co Ltd DECODING DEVICE AND METHOD
US10540143B2 (en) 2015-10-24 2020-01-21 Alan A. Jorgensen Apparatus for calculating and retaining a bound on error during floating point operations and methods thereof
US9817662B2 (en) 2015-10-24 2017-11-14 Alan A Jorgensen Apparatus for calculating and retaining a bound on error during floating point operations and methods thereof

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5983244A (ja) * 1982-11-04 1984-05-14 Nec Corp 演算処理装置
JPS608933A (ja) * 1983-06-28 1985-01-17 Nec Corp 演算処理装置
JPS61122750A (ja) * 1984-11-20 1986-06-10 Matsushita Electric Ind Co Ltd 演算装置
JPS61131123A (ja) * 1984-11-30 1986-06-18 Toshiba Corp 浮動小数点演算装置
JPS63310021A (ja) * 1987-06-11 1988-12-19 Matsushita Electric Ind Co Ltd 丸め処理回路
JPH01232422A (ja) * 1988-03-11 1989-09-18 Fujitsu Ltd 演算回路
JPH01240927A (ja) * 1988-03-23 1989-09-26 Matsushita Electric Ind Co Ltd 浮動小数点演算装置
JPH02115926A (ja) * 1988-10-26 1990-04-27 Matsushita Electric Ind Co Ltd 浮動小数点正規化丸め装装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4528640A (en) * 1982-07-13 1985-07-09 Sperry Corporation Method and a means for checking normalizing operations in a computer device
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 丸め処理回路
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
JP2558669B2 (ja) * 1986-12-29 1996-11-27 松下電器産業株式会社 浮動小数点演算装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5983244A (ja) * 1982-11-04 1984-05-14 Nec Corp 演算処理装置
JPS608933A (ja) * 1983-06-28 1985-01-17 Nec Corp 演算処理装置
JPS61122750A (ja) * 1984-11-20 1986-06-10 Matsushita Electric Ind Co Ltd 演算装置
JPS61131123A (ja) * 1984-11-30 1986-06-18 Toshiba Corp 浮動小数点演算装置
JPS63310021A (ja) * 1987-06-11 1988-12-19 Matsushita Electric Ind Co Ltd 丸め処理回路
JPH01232422A (ja) * 1988-03-11 1989-09-18 Fujitsu Ltd 演算回路
JPH01240927A (ja) * 1988-03-23 1989-09-26 Matsushita Electric Ind Co Ltd 浮動小数点演算装置
JPH02115926A (ja) * 1988-10-26 1990-04-27 Matsushita Electric Ind Co Ltd 浮動小数点正規化丸め装装置

Also Published As

Publication number Publication date
EP0394169A2 (en) 1990-10-24
US4926370A (en) 1990-05-15
EP0394169A3 (en) 1992-06-24

Similar Documents

Publication Publication Date Title
JPH02294820A (ja) 浮動小数点数演算処理装置および演算処理方法
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
US5844830A (en) Executing computer instrucrions by circuits having different latencies
US6529928B1 (en) Floating-point adder performing floating-point and integer operations
KR100242274B1 (ko) 제산 및 제곱근 계산 기능을 갖고 있는 부동 소숫점/정수 프로세서
KR100302686B1 (ko) 독립적인승산및가산명령어를이용하여고정밀도승산-가산연산을수행하기위한방법및장치
US4758972A (en) Precision rounding in a floating point arithmetic unit
JPH0123806B2 (ja)
US5995991A (en) Floating point architecture with tagged operands
US4922446A (en) Apparatus and method for floating point normalization prediction
JPH02289006A (ja) 浮動小数点加算器においてオペランドの仮数を加算し、減算する回路
JPH06236257A (ja) データ・プロセッサにおいて浮動小数点実行ユニット内で後正規化を実行する方法および装置
JPS584441A (ja) デ−タ処理システム
US5943249A (en) Method and apparatus to perform pipelined denormalization of floating-point results
US5548545A (en) Floating point exception prediction for compound operations and variable precision using an intermediate exponent bus
EP0529101B1 (en) Floating-point dividing circuit
US5247471A (en) Radix aligner for floating point addition and subtraction
JPH09212337A (ja) 浮動小数点演算処理装置
US6499044B1 (en) Leading zero/one anticipator for floating point
US4996660A (en) Selection of divisor multipliers in a floating point divide circuit
JPH02294821A (ja) 浮動小数点数演算処理装置
US6061707A (en) Method and apparatus for generating an end-around carry in a floating-point pipeline within a computer system
US5117384A (en) Method and apparatus for exponent adder
JPH0748176B2 (ja) 浮動小数点算術演算方法及び装置