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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 70
- 238000007667 floating Methods 0.000 title claims description 66
- 238000010606 normalization Methods 0.000 claims abstract description 58
- 238000000034 method Methods 0.000 claims description 22
- 230000003213 activating effect Effects 0.000 claims 3
- 238000003672 processing method Methods 0.000 claims 1
- 241001442055 Vipera berus Species 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49936—Normalisation mentioned as feature only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
- G06F7/49957—Implementation 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つの演算処理は加算と減
算を持つプロセスの特別なサブセットを用いて実行され
る。例えば乗算は加算処理を繰り返し実行する処理であ
り、除算は減算処理の繰り返しである。この処理の促進
、及び簡略化に様々な工夫がなされており、特に全ての
計算処理の処理速度を決定する加算回路のハードウエア
回路構成に努力が注がれている。
技術の初期から一般に行なわれてきたものである。浮動
小数点演算のハードウエアの開発は様々な方向を持ち、
ハードウエア構成の簡略化、あるいは計算処理の高速化
等を図っている。加減乗除の4つの演算処理は加算と減
算を持つプロセスの特別なサブセットを用いて実行され
る。例えば乗算は加算処理を繰り返し実行する処理であ
り、除算は減算処理の繰り返しである。この処理の促進
、及び簡略化に様々な工夫がなされており、特に全ての
計算処理の処理速度を決定する加算回路のハードウエア
回路構成に努力が注がれている。
除算の場合は、部分商によって、あるいは同時に多重商
ビットを予測することによって除算に要する加算、ある
いは減算処理の繰り返し数を引き下げて処理速度を上げ
る工夫がされている。
ビットを予測することによって除算に要する加算、ある
いは減算処理の繰り返し数を引き下げて処理速度を上げ
る工夫がされている。
浮動小数点演算の実行のためのルールの統一基準を作成
するために米国基準が作成されている。
するために米国基準が作成されている。
この基準はANS I/I EEEスタンダードNo.
754−1985に記載されている。浮動小数点演算
のシステムおよびアルゴリズム構成において、この基準
を満たすことは必須であり、これによってこのシステム
およびアルゴリズムのユーザが異なるコンピュータを用
いて所定の計算を実行した際に調和が達成される。基準
は基本及び拡張浮動小数点数フォーマット、計算処理、
整数と浮動小数点数間の変換、異なる浮動小数点数間の
変換、基本フォーマット浮動小数点数とlO進ストリン
グ間の変換、及び所定の浮動小数点例外の扱いについて
規定している。
754−1985に記載されている。浮動小数点演算
のシステムおよびアルゴリズム構成において、この基準
を満たすことは必須であり、これによってこのシステム
およびアルゴリズムのユーザが異なるコンピュータを用
いて所定の計算を実行した際に調和が達成される。基準
は基本及び拡張浮動小数点数フォーマット、計算処理、
整数と浮動小数点数間の変換、異なる浮動小数点数間の
変換、基本フォーマット浮動小数点数とlO進ストリン
グ間の変換、及び所定の浮動小数点例外の扱いについて
規定している。
一般的な浮動小数点演算処理は単精度、あるいは倍精度
のフォーマットのどちらかによって達成される。これら
各々のフォーマットは符号、指数、および各フィールド
が浮動小数点数の所定部分を占めるような小数フィール
ドを使用する。32ビット単精度の場合、符号フィール
ド数は最上位ビットポジションが占める単ビットであり
、指数フィールドは次の上位8ビット、小数フィールド
は下位23ビットとなる。倍精度浮動小数点数の場合は
符号フィールドが最上位単ビット、指数フィールドは次
の上位11ビット、小数フィールドは下位52ビットと
なる。
のフォーマットのどちらかによって達成される。これら
各々のフォーマットは符号、指数、および各フィールド
が浮動小数点数の所定部分を占めるような小数フィール
ドを使用する。32ビット単精度の場合、符号フィール
ド数は最上位ビットポジションが占める単ビットであり
、指数フィールドは次の上位8ビット、小数フィールド
は下位23ビットとなる。倍精度浮動小数点数の場合は
符号フィールドが最上位単ビット、指数フィールドは次
の上位11ビット、小数フィールドは下位52ビットと
なる。
各浮動小数点の答えが導かれた後に正規化及び丸め処理
が必要となる。答えが正規化されると、小数フィールド
の中の先行ゼ″口の数がカウントされる。次にこの数が
指数から差し引かれ、小数は小数フィールドの最上位ビ
ット位置に1が存在するまで左にシフトされる。浮動小
数点数の答えには指数がすでに可能な最低値を持ち、小
数フィールドの最上位ビット値が1でないために正規化
できないものもある。
が必要となる。答えが正規化されると、小数フィールド
の中の先行ゼ″口の数がカウントされる。次にこの数が
指数から差し引かれ、小数は小数フィールドの最上位ビ
ット位置に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を占める。
浮動小数点実行のハードウエアおよび論理の設計におい
ては浮動小数点ハードウエア処理に所定の追加ビットを
導入することが望ましく、また必要である。この指示ビ
ットは浮動小数点数の小数フィールドに入りこみ、浮動
小数点処理中に一定の状態が発生したことを示すのに演
算制御論理によって使用される。例えば、暗黙(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のままに維持される。
規化された後の丸め処理に専ら使用される。ガード(G
)、丸め(R)ビットはあたかも自身が小数の一部であ
るかのように扱われる。これらは他の小数に伴ってシフ
トされ、すべての演算に含まれる。ステイッキ−(S)
ビットは小数と共にシフトされないが演算には含まれる
。これは1が小数の右側にシフト・オフされた場合、小
数の右側にシフト・オフされた1のキャッチャとして動
作し、このSビットは正規化および丸めが完了するまで
、1のままに維持される。
丸め処理においては以下のような4つの典型モードがあ
る。
る。
■)最近接部への丸め
2)正限界への丸め
3)負限界への丸め
4)ゼロへの丸め
「最近接部への丸めJモードは最大限正確な結果に近い
値が導かれることを意味する。もし、2つの最近接値が
まったく等しい距離にある場合はその最低位ビットがゼ
ロの方が導かれる。「正限界への丸め」モードは最大限
正確な値に最も近く、かつそれよりも小さくない値が導
かれる。「負限界への丸め」モードは最大限正確な値に
最も近く、かつそれよりも大きくない値が導かれる。「
ゼロへ丸め」モードは最大限正確な値に最も近くその絶
対値がそれよも大きくない値を導くものである。
値が導かれることを意味する。もし、2つの最近接値が
まったく等しい距離にある場合はその最低位ビットがゼ
ロの方が導かれる。「正限界への丸め」モードは最大限
正確な値に最も近く、かつそれよりも小さくない値が導
かれる。「負限界への丸め」モードは最大限正確な値に
最も近く、かつそれよりも大きくない値が導かれる。「
ゼロへ丸め」モードは最大限正確な値に最も近くその絶
対値がそれよも大きくない値を導くものである。
もし、G,R,Sビットがどれも1でないなら、丸めモ
ードが選択されても丸めは実行されない。
ードが選択されても丸めは実行されない。
C.発明の概要および解決課題
本発明の主目的はANS I/IEEE規格754−1
985を満足する浮動小数点演算処理の装置および方法
を提供することである。
985を満足する浮動小数点演算処理の装置および方法
を提供することである。
さらにもう1つの目的は処理に要求されるマシン・サイ
クルのいくつかを省くことにより、単時間で所定の浮動
小数点演算処理を実行する装置と方法を提供することで
ある。
クルのいくつかを省くことにより、単時間で所定の浮動
小数点演算処理を実行する装置と方法を提供することで
ある。
さらに、処理時間の短縮を図るために正規化後の処理と
丸め処理を並行に処理する装置と方法を提供することを
もう1つの目的とする。
丸め処理を並行に処理する装置と方法を提供することを
もう1つの目的とする。
本発明は浮動小数点演算処理装置および正規化および丸
め処理を並行して実行する方法に関する。
め処理を並行して実行する方法に関する。
浮動小数点演算処理の部分的な結果が最初の2ピント位
置において検査される。もし、これらの2ビット位置が
1.Xの形であれば正規化は行なわれず丸め処理だけが
実行される。もし、最初の2ビットが0.IXであれば
小数は左に1ポジションだけシフトし、新たな正規化は
実行されずにその後丸め処理が実行される。もし、最初
の2ビットが上記のいずれでもない場合は小数は正規化
され、丸め処理を必要とせずに直接出力に送られる。
置において検査される。もし、これらの2ビット位置が
1.Xの形であれば正規化は行なわれず丸め処理だけが
実行される。もし、最初の2ビットが0.IXであれば
小数は左に1ポジションだけシフトし、新たな正規化は
実行されずにその後丸め処理が実行される。もし、最初
の2ビットが上記のいずれでもない場合は小数は正規化
され、丸め処理を必要とせずに直接出力に送られる。
従って、正規化および/または丸め処理の実行は完全に
これら2ビットから予測できる。正規化および丸め処理
はシーケンシャルではなく並行処理で実行される。
これら2ビットから予測できる。正規化および丸め処理
はシーケンシャルではなく並行処理で実行される。
D.実施例
第1図に本発明による浮動小数点演算回路10のブロッ
ク図を示す。浮動小数点演算の実行は最適な結果を導く
特別なアルゴリズムが必要であるため、その実現のため
にこの回路が使用される。
ク図を示す。浮動小数点演算の実行は最適な結果を導く
特別なアルゴリズムが必要であるため、その実現のため
にこの回路が使用される。
この回路は浮動小数点数は予め特定のフォーマットに従
ってアレンジされているものと仮定されている。すなわ
ち、最上位ビットが浮動小数点数の符号を表し、次の上
位ビット・グループが浮動小数点数の指数、そして他の
ビットが小数値を表すごとくである。小数値において2
進位置は小数値の最も左端にある。浮動小数点演算が3
2ビット・サイズの単精度計算において実行される場合
、符号ビットはビット0、指数ビットは1〜8、小数値
ビットは9〜3lとなる。浮動小数点演算が倍精度数に
おいて実行される場合は符号ビットはビット0、指数ビ
ットは1〜11、小数値ビットは12〜63となる。こ
れらの識別ビットに加えて、第1図に関するハードウエ
アおよびレジスタは4つの付加ビットを持つ。Iビット
は小数フィールドの最上位を占め、G,R、およびSビ
ットは各々小数フィールドの最下位ビットの位置を占め
る。
ってアレンジされているものと仮定されている。すなわ
ち、最上位ビットが浮動小数点数の符号を表し、次の上
位ビット・グループが浮動小数点数の指数、そして他の
ビットが小数値を表すごとくである。小数値において2
進位置は小数値の最も左端にある。浮動小数点演算が3
2ビット・サイズの単精度計算において実行される場合
、符号ビットはビット0、指数ビットは1〜8、小数値
ビットは9〜3lとなる。浮動小数点演算が倍精度数に
おいて実行される場合は符号ビットはビット0、指数ビ
ットは1〜11、小数値ビットは12〜63となる。こ
れらの識別ビットに加えて、第1図に関するハードウエ
アおよびレジスタは4つの付加ビットを持つ。Iビット
は小数フィールドの最上位を占め、G,R、およびSビ
ットは各々小数フィールドの最下位ビットの位置を占め
る。
浮動小数点オペランドはそれらの指数が等しくなるまで
は相互に加算あるいは減算できない。このことはすなわ
ち、両指数が比較され、小さい指数を有するオペランド
の小数が、指数が等しくなるまで指数の差分シフトされ
るということになる。
は相互に加算あるいは減算できない。このことはすなわ
ち、両指数が比較され、小さい指数を有するオペランド
の小数が、指数が等しくなるまで指数の差分シフトされ
るということになる。
小数はその後、結果として得られた大きい指数のもとて
加算あるいは減算される。浮動小数点オペランドの乗算
には指数が加算され、小数が乗算されることが必要であ
る。浮動小数点数の除算は除数の七数が被除数の指数か
ら減算され、被除数の小数が除数の小数によって除算さ
れることが必要となる。
加算あるいは減算される。浮動小数点オペランドの乗算
には指数が加算され、小数が乗算されることが必要であ
る。浮動小数点数の除算は除数の七数が被除数の指数か
ら減算され、被除数の小数が除数の小数によって除算さ
れることが必要となる。
第1図に示した浮動小数点演算回路は単精度および倍精
度両者の演算処理が実行可能である。浮動小数点の加算
、減算、14ビット浮動小数点乗算処理、2ビット浮動
小数点除算処理が実行可能である。
度両者の演算処理が実行可能である。浮動小数点の加算
、減算、14ビット浮動小数点乗算処理、2ビット浮動
小数点除算処理が実行可能である。
第1図の浮動小数点演算回路10はデータ処理装置のよ
うな他ソースからのデータの転送のためのデータ・バス
12を有している。データ・バス12を介して受領した
情報は複数の浮動小数点レジスタに転送される。この実
施例においては8つの浮動小数点レジスタ14が存在し
、各々が浮動小数点オペランドを保持し、浮動小数点処
理の結果を保持する。浮動小数点レジスタ14はFAレ
ジスタ16、FBレジスタ18、およびFCレジスタ2
2に情報転送を行なう。FAレジスタ16は、また逆に
浮動小数点レジスタl4に情報を転送する。
うな他ソースからのデータの転送のためのデータ・バス
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を持つ。
タの宛先レジスタであり、かつ浮動小数点レジスタ14
へ転送するデータのソース・レジスタである。さらにF
Aレジスタ16はメモリへ対して記憶データ・バスl2
を介して転送されるデータのソース・レジスタであり、
また桁上げ伝搬加算器30、指数加算器20および正規
化丸め処理装置34から転送されるデータの宛先レジス
タでもある。FAレジスタ16はマルチプル・セレクタ
24、正規化丸め処理装[34、および指数加算器20
に対する出力を持つ。FAレジスタ16は加算、減算、
比較、乗算、および除算処理の第2オペランドを保有す
る。FAレジスタ16は浮動小数点数の指数を保持する
セクション16aと浮動小数点数のオペランド部を保持
するセクション16bを持つ。
FAレジスタに対する複数入力のうちいずれをレジスタ
にゲートさせるかを決定する選択制御のためにFAレジ
スタはその中にマルチプレクサ回路15を有している。
にゲートさせるかを決定する選択制御のためにFAレジ
スタはその中にマルチプレクサ回路15を有している。
マルチプレクサ回路15は活動化信号Aの制御の下でレ
ジスタ16に対する複数入力の選択制御を行う。浮動小
数点演算回路の他のレジスタも同様の機能を持つ。
ジスタ16に対する複数入力の選択制御を行う。浮動小
数点演算回路の他のレジスタも同様の機能を持つ。
制御論理回路1lは浮動小数点演算回路中でのデータ交
換、およびデータ処理に必要とされる活動信゛号を送出
する。制御論理回路11はAと定義される複数の制御信
号出力を持ち、これらの各々は多数の回路およびレジス
タに対する制御入力を供給する。浮動小数点演算処理に
おいて必要とされる活動信号と同様、制御論理回路11
の構成については当業者においては明らかなところであ
るので詳細な説明は省くこととする。
換、およびデータ処理に必要とされる活動信゛号を送出
する。制御論理回路11はAと定義される複数の制御信
号出力を持ち、これらの各々は多数の回路およびレジス
タに対する制御入力を供給する。浮動小数点演算処理に
おいて必要とされる活動信号と同様、制御論理回路11
の構成については当業者においては明らかなところであ
るので詳細な説明は省くこととする。
FBレジスタ18は記憶データ・ハス12から受領する
浮動小数点レジスタ14のデータの宛先レジスタであり
、桁上げ伝搬加算器30と正規化丸め処理装置34から
のデータのための宛先レジスタである。これはマルチプ
ル・セレクタ24、事前位置合せ装置26、指数加算器
20への出力を有する。FBレジスタは加算、減算、比
較、除算を行う第1オペランドを保持し、加算、減算、
乗算処理の中間結果を保持する。FBレジスタ1日は浮
動小数点数の指数部を保持するセクション18aと浮動
小数点数のオペランド部を保持するセクション18bと
を持ち、さらに制御論理回路11からの活動信号の制御
の基でレジスタにデータをゲートするための入力マルチ
プレクサ回路17を持つ。
浮動小数点レジスタ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卸する。
リからのデータ用の宛先レジスタであり、かつ桁上げ伝
搬加算器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を有する。
算回路である。これは単精度、および倍精度の指数演算
を扱う。指数加算器はFAレジスタのセクション16a
とFBレジスタのセクション18aに転送されるデータ
のソースである指数加算器20は入力マルチプレクサ回
路19を有する。
事前位置合せ装置26は加算あるいは減算処理に先んじ
て必要となる浮動小数点数オペランドの指数合わせであ
る小さい指数を有する小数の予備シフトの実行に使用さ
れる。事前位置合せ装置26は実行中の演算が単精度か
倍精度かに依存して浮動小数点小数を右に0から55ビ
ットまでシフトすることができる。事前位置合せ装置2
6は桁上げ伝搬加算器30、FCレジスタ22に対する
出力を有する。
て必要となる浮動小数点数オペランドの指数合わせであ
る小さい指数を有する小数の予備シフトの実行に使用さ
れる。事前位置合せ装置26は実行中の演算が単精度か
倍精度かに依存して浮動小数点小数を右に0から55ビ
ットまでシフトすることができる。事前位置合せ装置2
6は桁上げ伝搬加算器30、FCレジスタ22に対する
出力を有する。
マルチプル・セレクタ24は乗算処理の被乗数の倍数、
および除算処理の除数の倍数を生成する。
および除算処理の除数の倍数を生成する。
除算処理の場合は、被除数、あるいは部分的な被除数の
上位ビット、および除数の上位ビットから倍数が導かれ
る。オペランドの補数は必要に応じてマルチプル・セレ
クタから生成される。マルチブル・セレクタ24は、F
Aレジスク16、FBレジスタ18、FCレジスタ22
からのデータを受領する。マルチプル・セレクタ24は
桁上げ保持加算器ツリー28への出力を持つ。
上位ビット、および除数の上位ビットから倍数が導かれ
る。オペランドの補数は必要に応じてマルチプル・セレ
クタから生成される。マルチブル・セレクタ24は、F
Aレジスク16、FBレジスタ18、FCレジスタ22
からのデータを受領する。マルチプル・セレクタ24は
桁上げ保持加算器ツリー28への出力を持つ。
桁上げ保持加算器ツリー28は同時に3オペランドを加
算することができる。これは1つの繰り返しごとに2つ
の商ビットを生成する除算アルゴリズムを使用する。桁
上げ保持加算器ツリー28はマルチプル・セレクタ24
からのデータ、および桁上げ伝搬加算器30への転送デ
ータを受領する。
算することができる。これは1つの繰り返しごとに2つ
の商ビットを生成する除算アルゴリズムを使用する。桁
上げ保持加算器ツリー28はマルチプル・セレクタ24
からのデータ、および桁上げ伝搬加算器30への転送デ
ータを受領する。
桁上げ伝搬加算器30は57ビット加算器であり、乗算
処理の部分積、あるいは除算処理の部分被除数を生成す
るための桁上げ保持加算器28からの入力を持つ。桁上
げ伝搬加算器30はさらに事前位置合せ装置26、FA
レジスタ16、およびF−Bレジスタ18からの入力を
受領する。桁上げ伝搬加算器30はFAレジスタ16、
およびFBレジスタ18への出力接続を持つ。入力マル
チプレクサ回路29は制御論理回路11からの活動信号
八の制御の下で桁上げ伝搬加算器30へのデータ・ゲー
トを制御する。
処理の部分積、あるいは除算処理の部分被除数を生成す
るための桁上げ保持加算器28からの入力を持つ。桁上
げ伝搬加算器30はさらに事前位置合せ装置26、FA
レジスタ16、およびF−Bレジスタ18からの入力を
受領する。桁上げ伝搬加算器30はFAレジスタ16、
およびFBレジスタ18への出力接続を持つ。入力マル
チプレクサ回路29は制御論理回路11からの活動信号
八の制御の下で桁上げ伝搬加算器30へのデータ・ゲー
トを制御する。
正規化丸め処理装置34は浮動小数点処理の結果の正規
化に使用する正規化装置34aを持つ。
化に使用する正規化装置34aを持つ。
例えば、乗算処理結果は小数の正規化のために1ビット
の左シフトが要求され、加算および減算処理の場合は5
4ビット位置までの左シフトが要求される。正規化丸め
回路34はさらに所定の丸め処理に使用されるインクリ
メンタ回路を持った丸め処理装置34を有する。ここで
低位ビット位置においでlだけインクリメントされる。
の左シフトが要求され、加算および減算処理の場合は5
4ビット位置までの左シフトが要求される。正規化丸め
回路34はさらに所定の丸め処理に使用されるインクリ
メンタ回路を持った丸め処理装置34を有する。ここで
低位ビット位置においでlだけインクリメントされる。
第2図には従来通りの演算処理の後の正規化および丸め
処理に使用される回路であり、第1図の一部に該当する
回路が示してある。第3図は従来の正規化および丸め処
理のデータの流れを示す図であり、正規化および丸め処
理の必要な浮動小数点結果は、まず正規化の処理が実行
され、その後丸め処理が実行される。データ経路ステッ
プは正規化および丸め制御論理回路11の制御のちとに
あり、処理はシーケンシャルに実行される。第2図のブ
ロック図から正規化および丸め処理のシーケンスにおい
ては複数のステップが必要なことが分かる。まず、最初
にレジスタl6に保持された小数結果がいわゆるシック
である正規化論理回路34aにゲートされることによっ
て正規化される。
処理に使用される回路であり、第1図の一部に該当する
回路が示してある。第3図は従来の正規化および丸め処
理のデータの流れを示す図であり、正規化および丸め処
理の必要な浮動小数点結果は、まず正規化の処理が実行
され、その後丸め処理が実行される。データ経路ステッ
プは正規化および丸め制御論理回路11の制御のちとに
あり、処理はシーケンシャルに実行される。第2図のブ
ロック図から正規化および丸め処理のシーケンスにおい
ては複数のステップが必要なことが分かる。まず、最初
にレジスタl6に保持された小数結果がいわゆるシック
である正規化論理回路34aにゲートされることによっ
て正規化される。
正規化装置34a中のデータはすべての先行ゼロを除去
するために左シフトされ、これを達成するために必要と
されるシフト数がカウントされる。
するために左シフトされ、これを達成するために必要と
されるシフト数がカウントされる。
シフト・カウントは指数加算器20においてレジスタ1
6の結果指数から差し引かれ、ここで得られた指数が1
6aに置き換えられる。次に、正規化小数が丸め処理装
置34bにおいて丸め処理がされる。ここでは所定の丸
めパラメータに従って処理が実行され、丸め小数はレジ
スタ16bに再配置される。最後に新しい指数と小数が
次の処理のために浮動小数点レジスタ14に転送される
。
6の結果指数から差し引かれ、ここで得られた指数が1
6aに置き換えられる。次に、正規化小数が丸め処理装
置34bにおいて丸め処理がされる。ここでは所定の丸
めパラメータに従って処理が実行され、丸め小数はレジ
スタ16bに再配置される。最後に新しい指数と小数が
次の処理のために浮動小数点レジスタ14に転送される
。
必要に応じて正規化や丸め処理が実行されるとき、これ
らは通常シーケンシャルに実行されるので、その完了ま
では多大な時間がかかることが多い。本発明はこの時間
的問題をシーケンシャルな正規化および丸め処理を並行
処理とすることによって解決しようとするものである。
らは通常シーケンシャルに実行されるので、その完了ま
では多大な時間がかかることが多い。本発明はこの時間
的問題をシーケンシャルな正規化および丸め処理を並行
処理とすることによって解決しようとするものである。
すべての演算処理の小数結果は以下に示す4つの態様の
1つとして表現できる。
1つとして表現できる。
1)1.XXX.,,XX
2)O.IXXX..,XX
3)O.OXXX,,,XX
4)LX.XXX,,XX
上記の最初のケース1)では暗黙ビット(I)がすでに
1であるので正規化は必要とされず、丸め処理のみが必
要となる。ケース2)の場合は左側へ1シフトの正規化
が必要とされる。この場合左側への1ビット位置クイッ
ク・シフトが実行され、続いて丸め処理が必要となる。
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号で開示している。
ツキー・ビット(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の差を有するかを示す。「結
果」は答えの可能なフォーマットを示してある。rNo
rm」は正規化が必要ならばYと記し、rRound」
は丸め処理の必要性と丸め処理の態様を記した。
表1 加算処理
表2 減算処理
上記の表1と2には3つのタイプの丸め処理が示されて
おり、それは以下のように定義されている。
おり、それは以下のように定義されている。
Rl:前述の米国特許出願に開示された手段が丸め処理
に使用される。
に使用される。
R2:シフト処理なしの丸め処理が実行される。
R3:丸め処理の前に1ビット・シフトが実行される。
R1モードにおいては小数結果は1ビット右ヘシフトさ
れ、必要に応じて丸め処理が実行される。
れ、必要に応じて丸め処理が実行される。
R2モードにおいてはシフトは要求されず、丸め処理が
ノーマルに実行される。R3モードにおいては小数結果
は1ビット左にシフトされ、丸め処理がノーマルに実行
される。
ノーマルに実行される。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ビット以上のシフト、丸め処理のいず
れも要求されない。
は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,,,
のときは丸め処理のみが必要となる。
能な結果の態様は1,XXX... 、O.IXXX.
.. 、またはo.oxxxである。1.XXX,,,
のときは丸め処理のみが必要となる。
0.IXXX, ..の場合は1ビット左シフトに伴っ
た丸め処理が実行される。o.oxxx,,,の場合は
正規化のみが必要となる。従ってこのフォーマットの場
合は丸めビットのセットは行なわれない。
た丸め処理が実行される。o.oxxx,,,の場合は
正規化のみが必要となる。従ってこのフォーマットの場
合は丸めビットのセットは行なわれない。
等しくない指数を有する正規化数と非正規化数との計算
の場合は可能な結果は1.XXX.,,とO.IXXX
,,,である。この場合には丸めビットがセットされ、
丸め処理が1ビット左シフトを伴って(前者)、伴わず
(後者)に実行される。このように、正規化オペランド
と非正規化オペランドとの間の減算結果の丸め処理に際
して1ビット左シフト以上は必要としない。
の場合は可能な結果は1.XXX.,,とO.IXXX
,,,である。この場合には丸めビットがセットされ、
丸め処理が1ビット左シフトを伴って(前者)、伴わず
(後者)に実行される。このように、正規化オペランド
と非正規化オペランドとの間の減算結果の丸め処理に際
して1ビット左シフト以上は必要としない。
すべての非正規化数は等しい指数をもっているので2つ
の非正規化数の減算においてゼロより大の指数差が存在
することはない。2つの非正規化数の減算における可能
な答の形態はo.xxx,,.である。この答えにおい
ては丸めビットのセットはなく、丸め処理は必要ない。
の非正規化数の減算においてゼロより大の指数差が存在
することはない。2つの非正規化数の減算における可能
な答の形態はo.xxx,,.である。この答えにおい
ては丸めビットのセットはなく、丸め処理は必要ない。
また、被正規化数であるので正規化処理も必要ない。
第4図は本発明に従った正規化と丸めの並行処理を実行
する改良された演算回路10を示したものである。演算
処理の小数結果は上述の3フォーマットの1つの形態で
レジスタ16に保持される。
する改良された演算回路10を示したものである。演算
処理の小数結果は上述の3フォーマットの1つの形態で
レジスタ16に保持される。
小数結果は同時に正規化装置34aとセレクタ回路53
とに接続される。正規化装置34aは上述した従来の方
法で処理が実行され、出力セレクタ回路53に正規化出
力を供給する。セレクタ回路53に対するレジスタ16
からの平行接続は制御論理1lによってさらに制御され
る。制御論理回路11は小数結果の最初の2ビットを検
査し、2ビット・フォーマットが1,Xであればセレク
タ・ライン(1.X)を活動化し、0.1Xの場合はセ
レクタ・ライン(0.LX)を活動化する。
とに接続される。正規化装置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にセットされ、正規化処理が要求され
ず、丸め処理のみが実行される場合に発生する。
れば、レジスタ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はライン(
0.LX)を活動化し、小数結果を1ビット左にシフト
し、同時に結果をセレクタ回路53を介して丸め処理装
置34bに送り、さらに出力セレクタ56々転送する。
制御論理回路11はselect norm (正規化
選択)信号か、select round (丸め選択
)かのどちらかを、2ビット・フォーマットの検査結果
および指数差に従って活性化する。可能な組合せは多数
存在し、その結果によって活性化ラインが決定する。こ
の様子を表したのが表1と表2である。
選択)信号か、select round (丸め選択
)かのどちらかを、2ビット・フォーマットの検査結果
および指数差に従って活性化する。可能な組合せは多数
存在し、その結果によって活性化ラインが決定する。こ
の様子を表したのが表1と表2である。
これらの表1、表2からどのケースでselectno
rm (正規化選択)信号か、select roun
c! (丸め選択)のどちらが選択されるかが理解され
る。このように本発明によれば、従来シーケンシャルに
実行していた処理であった正規化の処理と丸め処理とを
パラレルに実行することが可能となったのである。この
平行処理はこのように所定処理の時間を節約でき、その
結果本発明の実施により全体の処理時間の削減が可能と
なる。
rm (正規化選択)信号か、select roun
c! (丸め選択)のどちらが選択されるかが理解され
る。このように本発明によれば、従来シーケンシャルに
実行していた処理であった正規化の処理と丸め処理とを
パラレルに実行することが可能となったのである。この
平行処理はこのように所定処理の時間を節約でき、その
結果本発明の実施により全体の処理時間の削減が可能と
なる。
第5図は本発明におけるデータの流れを表すもので、小
数結果が同時に正規化装置と丸め処理の装置に転送され
、平行処理が制御論理11によって制御されている。制
御論理1lは2つの平行経路のいずれが正しい出力結果
を有しているかを示す信号を出力セレクタ56へ送出す
る。
数結果が同時に正規化装置と丸め処理の装置に転送され
、平行処理が制御論理11によって制御されている。制
御論理1lは2つの平行経路のいずれが正しい出力結果
を有しているかを示す信号を出力セレクタ56へ送出す
る。
E.発明の効果
以上のように、本発明に従えば浮動小数点演算処理にお
ける処理時間の大幅な削減が可能となる。
ける処理時間の大幅な削減が可能となる。
第1図は本発明の浮動小数点演算回路を示すブロック図
、第2図は従来の正規化および丸め処理に用いられ、第
1図の回路の一部を構成する部分回路図、第3図は従来
の丸め処理および正規化処理のデータ経路を示すブロッ
ク図、第4図は本発明の正規化および丸め処理に用いら
れ、第1図の回路の一部を構成する部分回路図、第5図
は本発明の処理データ経路を示すブロック図である。 11・・・・制御論理、34a・・・・正規化装置、3
4b・・・・丸め処理装置、53・・・・セレクタ、5
6・・・・出力セレクタ。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 ・頓 宮 孝 一(外1名) 第2図 正規化装置 第6図
、第2図は従来の正規化および丸め処理に用いられ、第
1図の回路の一部を構成する部分回路図、第3図は従来
の丸め処理および正規化処理のデータ経路を示すブロッ
ク図、第4図は本発明の正規化および丸め処理に用いら
れ、第1図の回路の一部を構成する部分回路図、第5図
は本発明の処理データ経路を示すブロック図である。 11・・・・制御論理、34a・・・・正規化装置、3
4b・・・・丸め処理装置、53・・・・セレクタ、5
6・・・・出力セレクタ。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 ・頓 宮 孝 一(外1名) 第2図 正規化装置 第6図
Claims (2)
- (1)浮動小数点数演算における指数および小数結果に
基づく丸め回路および正規化回路での並行処理を実行す
る装置に関し、 イ)小数結果の正規化手段を有する正規化回路と、小数
結果の丸め手段を有する丸め回路、 ロ)上記丸め回路に接続され、上記小数結果を上記丸め
回路に送出する第1選択手段と、上記小数結果を1ビッ
ト位置左にシフトしシフトされた小数結果を上記丸め回
路に送出する第2選択手段とを有する選択回路、 ハ)上記小数結果を上記選択回路および上記丸め回路に
並行接続する手段、 ニ)正規化回路出力と丸め回路出力とを受領するように
接続され、該正規化回路出力と該丸め回路出力のいずれ
を選択するかを決定する制御信号入力手段を有する出力
回路、 ホ)小数結果の左端の2ビット構成が1.Xまたは0.
1X(Xは任意の値)であることを検知する手段、該2
ビット構成が1.Xであるときに上記選択回路第1選択
手段を活性化する手段、該2ビット構成が0.1Xであ
るときに上記選択回路第2選択手段を活性化する手段、
および正規化回路出力または丸め回路出力のいずれかを
選択するために上記出力回路制御信号入力手段を活性化
する手段とを有する制御論理回路、 とを有することを特徴とする浮動小数点数演算装置。 - (2)浮動小数点数演算処理の指数および小数結果に基
づく処理である該指数および小数結果の正規化または丸
め処理を実行する方法であり、 イ)上記小数結果の最初の2ビットを検査して1.X、
0.1X、または0.0X(Xは任意の値)のいずれで
あるかを判別するステップ、 ロ)上記2ビットが1.Xであるときに上記小数結果の
丸め処理を実行するステップ、 ハ)上記2ビットが0.1Xであるときに上記小数結果
を左に1ビット位置シフトし、該シフトされた小数結果
に対して丸め処理を実行するステップ、 ニ)上記2ビットが0.0Xであるときに上記小数結果
の正規化を実行するステップ、 とを有する浮動小数点数演算処理方法。
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)
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)
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)
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 | 松下電器産業株式会社 | 浮動小数点演算装置 |
-
1989
- 1989-04-17 US US07/339,348 patent/US4926370A/en not_active Expired - Fee Related
-
1990
- 1990-03-13 EP EP19900480045 patent/EP0394169A3/en not_active Withdrawn
- 1990-04-17 JP JP2099453A patent/JPH02294820A/ja active Pending
Patent Citations (8)
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) | 浮動小数点算術演算方法及び装置 |