JPH0545981B2 - - Google Patents
Info
- Publication number
- JPH0545981B2 JPH0545981B2 JP63152089A JP15208988A JPH0545981B2 JP H0545981 B2 JPH0545981 B2 JP H0545981B2 JP 63152089 A JP63152089 A JP 63152089A JP 15208988 A JP15208988 A JP 15208988A JP H0545981 B2 JPH0545981 B2 JP H0545981B2
- Authority
- JP
- Japan
- Prior art keywords
- subtraction
- procedure
- difference
- operand
- powers
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 75
- 238000010606 normalization Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims 3
- 238000001514 detection method Methods 0.000 description 5
- 230000000295 complement effect Effects 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
- G06F7/485—Adding; Subtracting
-
- 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/50—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/544—Indexing scheme relating to group G06F7/544
- G06F2207/5442—Absolute difference
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Nonlinear Science (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】
(産業上の利用分野)
関連米国特許出願
下記の米国特許出願が、本発明に関連してい
る。
る。
Sridhar Samudrala、Victor Peng及び
Nachum Moshe Gavrielovによつて発明され、
本出願の譲受人に譲渡された1986年6月27日出
願、出願番号第06/879337号の「浮動小数点の演
算を実行するための装置と方法」。
Nachum Moshe Gavrielovによつて発明され、
本出願の譲受人に譲渡された1986年6月27日出
願、出願番号第06/879337号の「浮動小数点の演
算を実行するための装置と方法」。
Paul Edward Gronowski、Victor Peng及び
Nachem Moshe Gavrielovによつて発明され、
本出願の譲受人に譲渡された 出願、出願番号
第 号の「指数部の冪数の差の絶対値の推定に
よる有効減算手順の加速のための装置と方法」。
Nachem Moshe Gavrielovによつて発明され、
本出願の譲受人に譲渡された 出願、出願番号
第 号の「指数部の冪数の差の絶対値の推定に
よる有効減算手順の加速のための装置と方法」。
本発明は、一般的にデータ処理システムに関
し、更に詳しくはデータ処理システムの浮動小数
点の演算を実行するための装置に関する。
し、更に詳しくはデータ処理システムの浮動小数
点の演算を実行するための装置に関する。
(従来技術)
データー処理システムには一般的に浮動小数点
のフオーマツトで記憶されている数値量を処理す
る能力が設けられている。浮動小数点のフオーマ
ツトにおいて、数値量は仮数値と冪数値によつて
表される。冪数値は底が冪乗される冪数を表し、
一方仮数値は数の指数部に掛け合わせる数を表
す。浮動小数点のフオーマツトの主要な利点は、
極端な手順や規則を設けることなくデーター処理
システムにおいて処理されることのできる数の範
囲にある。ここに開示されている発明を有利に使
用することのできる浮動小数点プロセツサは、
1986年3月号のデイジタルテクニカルジヤーナ
ル、No.2の頁24−36でWilliam R.Bidermann、
Amnon Fisher、Burton M.Leary、Robert J.
Simcoe及びWilliam R.Wheelerによる
「MicroVAX78132浮動小数点チップ」で説明さ
れている。
のフオーマツトで記憶されている数値量を処理す
る能力が設けられている。浮動小数点のフオーマ
ツトにおいて、数値量は仮数値と冪数値によつて
表される。冪数値は底が冪乗される冪数を表し、
一方仮数値は数の指数部に掛け合わせる数を表
す。浮動小数点のフオーマツトの主要な利点は、
極端な手順や規則を設けることなくデーター処理
システムにおいて処理されることのできる数の範
囲にある。ここに開示されている発明を有利に使
用することのできる浮動小数点プロセツサは、
1986年3月号のデイジタルテクニカルジヤーナ
ル、No.2の頁24−36でWilliam R.Bidermann、
Amnon Fisher、Burton M.Leary、Robert J.
Simcoe及びWilliam R.Wheelerによる
「MicroVAX78132浮動小数点チップ」で説明さ
れている。
浮動小数点のフオーマツトには、このデータフ
オーマツトにおける加減演算の実行が、標準の整
数データフオーマツトにおける同じ演算よりも一
層複雑でより長い時間がかかるという欠点があ
る。この複雑性は、指数が同じになるように加算
または減算の前に仮数を一致させなければなら
ず、従つて潜在的に結果として得られた量を正規
化しなければならない。すなわち、論理“1”が
最上位のビツト位置に記憶され、指数の冪数がこ
れに従つて調整されるまで結果として得られた量
の仮数部分をシフトしなければならないことの結
果である。
オーマツトにおける加減演算の実行が、標準の整
数データフオーマツトにおける同じ演算よりも一
層複雑でより長い時間がかかるという欠点があ
る。この複雑性は、指数が同じになるように加算
または減算の前に仮数を一致させなければなら
ず、従つて潜在的に結果として得られた量を正規
化しなければならない。すなわち、論理“1”が
最上位のビツト位置に記憶され、指数の冪数がこ
れに従つて調整されるまで結果として得られた量
の仮数部分をシフトしなければならないことの結
果である。
さて第1図を参照して、加減演算は、関連する
演算のシーケンスを一層正確に識別する有効加算
と有効減算の演算によつて定義される。加減演算
101は有効加算演算102と有効減算演算10
3にグループ分けされる。有効加算演算102
は、同じ符号を有するオペランドを加える演算
と、異なつた符号を有するオペランドを差し引く
演算を含んでいる。有効減算演算103は、異な
つた符号を有するオペランドの加算と、同じ符号
を有するオペランドの減算を含んでいる。
演算のシーケンスを一層正確に識別する有効加算
と有効減算の演算によつて定義される。加減演算
101は有効加算演算102と有効減算演算10
3にグループ分けされる。有効加算演算102
は、同じ符号を有するオペランドを加える演算
と、異なつた符号を有するオペランドを差し引く
演算を含んでいる。有効減算演算103は、異な
つた符号を有するオペランドの加算と、同じ符号
を有するオペランドの減算を含んでいる。
次に第2図を参照して、関連技術に従つて有効
減算の演算を実行するステツプが示されている。
ステツプ201において、指数部の相違が決定さ
れる。指数部の相違に基づいて、より小さなオペ
ランドを表す論理信号は、2個のオペランドを表
す指数部の冪数が同じになる、すなわちオペラン
ドの仮数が一致するまでシフトされる。一致した
量はそこで差し引かれる。もしその結果得られる
量が負であれば、2の補数が計算されなければな
らない、すなわち減数は被減数よりも大きかつ
た。最上位の非ゼロビツト位置(すなわち、リー
デイングロジツク“1”)の信号が決定され、こ
のビツト位置に基づいてその結果得られた量のオ
ペランドが正規化されリーデイグロジツク“1”
の信号は最上位のビツト位置にシフトされ、指数
部の冪数は、それに従つて調整される。浮動小数
点操作の実行に詳しい人々にとつて明らかである
ように、第2図の有効減算の演算のための7つの
ステツプは、その実行のために比較的長い時間を
必要とする可能性がある。
減算の演算を実行するステツプが示されている。
ステツプ201において、指数部の相違が決定さ
れる。指数部の相違に基づいて、より小さなオペ
ランドを表す論理信号は、2個のオペランドを表
す指数部の冪数が同じになる、すなわちオペラン
ドの仮数が一致するまでシフトされる。一致した
量はそこで差し引かれる。もしその結果得られる
量が負であれば、2の補数が計算されなければな
らない、すなわち減数は被減数よりも大きかつ
た。最上位の非ゼロビツト位置(すなわち、リー
デイングロジツク“1”)の信号が決定され、こ
のビツト位置に基づいてその結果得られた量のオ
ペランドが正規化されリーデイグロジツク“1”
の信号は最上位のビツト位置にシフトされ、指数
部の冪数は、それに従つて調整される。浮動小数
点操作の実行に詳しい人々にとつて明らかである
ように、第2図の有効減算の演算のための7つの
ステツプは、その実行のために比較的長い時間を
必要とする可能性がある。
従つて、有効減算の演算を加速するための手順
と関連装置に対する必要性が痛感されている。
と関連装置に対する必要性が痛感されている。
(発明の特徴)
本発明の目的は、改善されたデータ処理システ
ムを提供することである。
ムを提供することである。
本発明の特徴は、浮動小数点の演算を実行する
ための改善された装置を提供することである。
ための改善された装置を提供することである。
本発明の他の特徴は、浮動小数点装置における
有効減算演算を加速するための方法を提供するこ
とである。
有効減算演算を加速するための方法を提供するこ
とである。
本発明の更に特有の特徴は、オペランドの指数
部の冪数の2個の最下位ビツト信号に基づいて有
効減算演算の動作を制御するための選択回路を提
供することである。
部の冪数の2個の最下位ビツト信号に基づいて有
効減算演算の動作を制御するための選択回路を提
供することである。
(発明の概要)
本発明によれば、上述及びその他の特徴は、浮
動小数点実行装置及びオペランドの指数部の冪数
の間の差の絶対値が1を超える場合に、有効減算
演算を実行するための比較的高速の手順を設ける
ことによつて達成される。この差が1以上の場合
は、より長い手順が使用される。有効減算演算を
迅速に行うためには、オペランドの指数部の冪数
の差の決定に先立つてこのより長い手順が開始さ
れる。2個のオペランドの指数部の冪数の2個の
最下位ビツトの位置を比較する装置は、より長い
手順において正しいオペランドが使用されること
を可能にする。この長い手順は、2個の指数部の
冪数の間の完全な差が決定されるまで継続され
る。そこで、もし完全なオペランドの指数部の冪
数の差に基づいて、現在実行している手順が正し
い手順であれば、その実行されている手順を継続
することができる。もしそうでなければ、実行さ
れている手順は正しい手順に取り替えられる。
動小数点実行装置及びオペランドの指数部の冪数
の間の差の絶対値が1を超える場合に、有効減算
演算を実行するための比較的高速の手順を設ける
ことによつて達成される。この差が1以上の場合
は、より長い手順が使用される。有効減算演算を
迅速に行うためには、オペランドの指数部の冪数
の差の決定に先立つてこのより長い手順が開始さ
れる。2個のオペランドの指数部の冪数の2個の
最下位ビツトの位置を比較する装置は、より長い
手順において正しいオペランドが使用されること
を可能にする。この長い手順は、2個の指数部の
冪数の間の完全な差が決定されるまで継続され
る。そこで、もし完全なオペランドの指数部の冪
数の差に基づいて、現在実行している手順が正し
い手順であれば、その実行されている手順を継続
することができる。もしそうでなければ、実行さ
れている手順は正しい手順に取り替えられる。
本発明のこれら及びその他の特徴は、図面と共
に下記の説明を読むことによつて明らかとなる。
に下記の説明を読むことによつて明らかとなる。
(好適な実施例の説明)
(1) 図面の詳細な説明
第1図及び第2図は、関連技術を参照して説明
されている。
されている。
第3図を参照して、有効減算演算は、2つのオ
ペランドの指数の冪数の差の絶対値、すなわち
DELTA(E)の絶対値が≦1(すなわち0または
1である)かまたは>1(すなわちこれ以外の全
ての値である)、すなわちABS〔DELTA(E)〕≦
1またはABS〔DELTA(E)〕>1である状況を先
ず考慮することによつて加速されることができ
る。
ペランドの指数の冪数の差の絶対値、すなわち
DELTA(E)の絶対値が≦1(すなわち0または
1である)かまたは>1(すなわちこれ以外の全
ての値である)、すなわちABS〔DELTA(E)〕≦
1またはABS〔DELTA(E)〕>1である状況を先
ず考慮することによつて加速されることができ
る。
次に第4図を参照して、ABS〔DELTA(E)〕>
1である状況が更に詳細に検討される。第4図を
第2図と比較して、指数部の冪数の差の決定がス
テツプ201及びステツプ401において各ケー
スについて実行される。ステツプ202と比較し
てステツプ402において、一致のための演算は
比較的大きなシフターを必要とする。しかし、よ
り大きなオペランドが識別されるために、ステツ
プ203及び403で実行される減算演算は、第
4図に示されるプロセスにおいて、結果として得
られるオペランドを無効にするためにステツプ2
04と等価のステツプの必要性を無くして、正の
結果として得られる量がこの演算によつて得られ
ることを保証するために実行されることができ
る。オペランド間の量の差のために、正規化が必
要とする結果は、結果として得られるオペランド
のためのせいぜい1ビツトの位置のシフトであ
る。1ビツトの位置のシフトは、別のステツプを
必要とせず、ステツプ404Aにおけるリーデイ
ングロジツク“1”の信号の検出、ステツプ40
4Bにおける正規化及びステツプ404Cにおけ
る四捨五入操作は、第2図における3単位の時間
を消費するステツプ(すなわちステツプ205,
206及び207)ではなく1単位の時間を消費
するステツプ404であると考えることができ
る。
1である状況が更に詳細に検討される。第4図を
第2図と比較して、指数部の冪数の差の決定がス
テツプ201及びステツプ401において各ケー
スについて実行される。ステツプ202と比較し
てステツプ402において、一致のための演算は
比較的大きなシフターを必要とする。しかし、よ
り大きなオペランドが識別されるために、ステツ
プ203及び403で実行される減算演算は、第
4図に示されるプロセスにおいて、結果として得
られるオペランドを無効にするためにステツプ2
04と等価のステツプの必要性を無くして、正の
結果として得られる量がこの演算によつて得られ
ることを保証するために実行されることができ
る。オペランド間の量の差のために、正規化が必
要とする結果は、結果として得られるオペランド
のためのせいぜい1ビツトの位置のシフトであ
る。1ビツトの位置のシフトは、別のステツプを
必要とせず、ステツプ404Aにおけるリーデイ
ングロジツク“1”の信号の検出、ステツプ40
4Bにおける正規化及びステツプ404Cにおけ
る四捨五入操作は、第2図における3単位の時間
を消費するステツプ(すなわちステツプ205,
206及び207)ではなく1単位の時間を消費
するステツプ404であると考えることができ
る。
次に、第5図を参照して、ABS〔DELTA(E)〕
≦1である場合に、有効減算の演算を実行する
(すなわち加速する)ための時間を削減する方法
が示されている。ステツプ501において、指数
部の冪数の差が決定される。冪数の差が小さいた
めに、ステツプ502における仮数の一致は、減
算ステツプ503を実行する前に、別のステツプ
(または“フライ”)を必要とすることなく実行さ
れることができる。無効ステツプ504は必要と
されるが、正規化ステツプ506または四捨五入
ステツプ507は、いずれかが必要であつて、両
方は必要ではない。この手順は、浮動小数点装置
によつて7つの主要ステツプを5つの主要ステツ
プに削減する。
≦1である場合に、有効減算の演算を実行する
(すなわち加速する)ための時間を削減する方法
が示されている。ステツプ501において、指数
部の冪数の差が決定される。冪数の差が小さいた
めに、ステツプ502における仮数の一致は、減
算ステツプ503を実行する前に、別のステツプ
(または“フライ”)を必要とすることなく実行さ
れることができる。無効ステツプ504は必要と
されるが、正規化ステツプ506または四捨五入
ステツプ507は、いずれかが必要であつて、両
方は必要ではない。この手順は、浮動小数点装置
によつて7つの主要ステツプを5つの主要ステツ
プに削減する。
第4図の手順を第5図の手順と比較すると、
ABS〔DELTA(E)〕≦1が5つの主要ステツプを
有しているように見える場合、ABS〔DELTA
(E)〕>1に対する手順は、わずか4つの主要ス
テツプしか持つていない。5つの主要ステツプを
実行するための時間を削減するために、下記の手
順を使用することができる。ABS〔DELTA(E)〕
≦1であると仮定された場合、この手順は、指数
部の冪数の差を決定するステツプと平行して開始
されることができる。従つて、基準の確立される
前には、より長い手順が開始されることになるだ
ろう。基準が決められた場合、既に進行している
より長い手順は継続されることができる。そうで
なければ、より短い手順が設定されることができ
る。しかし、第5図を参照して、一致ステツプ5
02は、指数部の冪数の差によつて3つのインプ
リメンテーシヨンを有している。加速された有効
減算を利用するには、3つの一致手順のいずれが
利用されるべきであるかを決めるために、迅速な
手順が開始されなければならない。
ABS〔DELTA(E)〕≦1が5つの主要ステツプを
有しているように見える場合、ABS〔DELTA
(E)〕>1に対する手順は、わずか4つの主要ス
テツプしか持つていない。5つの主要ステツプを
実行するための時間を削減するために、下記の手
順を使用することができる。ABS〔DELTA(E)〕
≦1であると仮定された場合、この手順は、指数
部の冪数の差を決定するステツプと平行して開始
されることができる。従つて、基準の確立される
前には、より長い手順が開始されることになるだ
ろう。基準が決められた場合、既に進行している
より長い手順は継続されることができる。そうで
なければ、より短い手順が設定されることができ
る。しかし、第5図を参照して、一致ステツプ5
02は、指数部の冪数の差によつて3つのインプ
リメンテーシヨンを有している。加速された有効
減算を利用するには、3つの一致手順のいずれが
利用されるべきであるかを決めるために、迅速な
手順が開始されなければならない。
本発明は、この決定を行うために、指数部の冪
数の2つの最下位ビツト(1ebs)のみを検討す
る。次に第6図を参照して、各冪数の2つの最下
位ビツトに対する全ての可能な組み合わせが、明
確に示されている。例1、6、11、及び16に示さ
れる指数部に対して、ABS〔DELTA(E)〕=0で
ある。これらのケースにおいて、第5図のステツ
プ503で実行される演算は、オペランドの
FRACTIONA−FRACTINOBである。例2、7、
12、及び13において、〔DELTA(E)〕=−1であ
り、これは、FRACTIONAが1ポジシヨン右に
シフトされなければならないことを示し、その結
果第5図のステツプ503で実行される演算は
FRACTINOB−FRACTIONA/2である。第6
図の例4、5、10、及び15において、〔DELTA
(E)〕=1である。この値の識別の結果として実
行される演算は、502の一致ステツプに対する
FRACTINOBのシフトであり、ステツプ503
はFRACTIONA−FRACTINOB/2である。最
後に、ABS〔DELTA(E)〕>1である例3、8、
9、及び14によつて示される値を有する指数部の
冪数のビツト位置に対して、第4図に示される手
順は正しい手順であり、これは4つの主要手順の
みを有している。
数の2つの最下位ビツト(1ebs)のみを検討す
る。次に第6図を参照して、各冪数の2つの最下
位ビツトに対する全ての可能な組み合わせが、明
確に示されている。例1、6、11、及び16に示さ
れる指数部に対して、ABS〔DELTA(E)〕=0で
ある。これらのケースにおいて、第5図のステツ
プ503で実行される演算は、オペランドの
FRACTIONA−FRACTINOBである。例2、7、
12、及び13において、〔DELTA(E)〕=−1であ
り、これは、FRACTIONAが1ポジシヨン右に
シフトされなければならないことを示し、その結
果第5図のステツプ503で実行される演算は
FRACTINOB−FRACTIONA/2である。第6
図の例4、5、10、及び15において、〔DELTA
(E)〕=1である。この値の識別の結果として実
行される演算は、502の一致ステツプに対する
FRACTINOBのシフトであり、ステツプ503
はFRACTIONA−FRACTINOB/2である。最
後に、ABS〔DELTA(E)〕>1である例3、8、
9、及び14によつて示される値を有する指数部の
冪数のビツト位置に対して、第4図に示される手
順は正しい手順であり、これは4つの主要手順の
みを有している。
次に第7図を参照して、ABS〔DELTA(E)〕≦
1である場合、有効減算の演算を加速するために
必要な装置が示されている。指数部の冪数EAの
2つの最下位ビツト及び指数部の冪数EBの2つ
の最下位ビツトが検出論理装置72に入力され
る。検出論理装置72は、第6図で決められたよ
うに、2つのオペランドについて実行されるべき
適当な演算を選択する。選択論理装置71に入力
されたFRACTIONA及びFRACTINOBの信号グ
ループは、適切である場合には、シフトされ、検
出論理装置72の出力信号によつて決定されるよ
うに減算装置73の入力ターミナルに入力され
る。(XA=FRACTIONAまたはFRACTIONA/
2及びXB=FRACTINOBまたはFRACTINOB/
2) (2) 好適な実施例の動作 本発明は、2つの手順の内どちらが適切である
かを決定することによつて有効減算手順を加算す
る。本発明は、そこで追加装置を付加して2つの
可能な手順のうち長い方が、2つの手順のうちど
ちらが正しいかの決定と平行して、実行を開始す
ることを可能にする。2つの手順のうち長いほう
が正しい場合、既に開始されている長い方の手順
の実行が継続される。追加装置は、長い方の手順
を実行する3つの可能な3つのサブルーチンの迅
速な選択を可能にする。追加装置は、2つのオペ
ランドの指数部の冪数の2つの最下位ビツトの比
較に基づいて、長い方の(第5図)手順に使用さ
れているオペランドの仮数を制御する。2つの手
順のうち短いほうが正しい場合、長い方の手順の
実行が中断され、短い方の手順が始まる。本発明
を実行するための追加装置は最少のものであり、
一方最悪の場合でも実行時間の改善が達成され
る。本発明は、IEEE P754規格のような種々の
浮動小数点実行手順に対して適応できる。好適な
実施例において、浮動小数点実行装置は、マイク
ロプロセツサの制御で動作する。
1である場合、有効減算の演算を加速するために
必要な装置が示されている。指数部の冪数EAの
2つの最下位ビツト及び指数部の冪数EBの2つ
の最下位ビツトが検出論理装置72に入力され
る。検出論理装置72は、第6図で決められたよ
うに、2つのオペランドについて実行されるべき
適当な演算を選択する。選択論理装置71に入力
されたFRACTIONA及びFRACTINOBの信号グ
ループは、適切である場合には、シフトされ、検
出論理装置72の出力信号によつて決定されるよ
うに減算装置73の入力ターミナルに入力され
る。(XA=FRACTIONAまたはFRACTIONA/
2及びXB=FRACTINOBまたはFRACTINOB/
2) (2) 好適な実施例の動作 本発明は、2つの手順の内どちらが適切である
かを決定することによつて有効減算手順を加算す
る。本発明は、そこで追加装置を付加して2つの
可能な手順のうち長い方が、2つの手順のうちど
ちらが正しいかの決定と平行して、実行を開始す
ることを可能にする。2つの手順のうち長いほう
が正しい場合、既に開始されている長い方の手順
の実行が継続される。追加装置は、長い方の手順
を実行する3つの可能な3つのサブルーチンの迅
速な選択を可能にする。追加装置は、2つのオペ
ランドの指数部の冪数の2つの最下位ビツトの比
較に基づいて、長い方の(第5図)手順に使用さ
れているオペランドの仮数を制御する。2つの手
順のうち短いほうが正しい場合、長い方の手順の
実行が中断され、短い方の手順が始まる。本発明
を実行するための追加装置は最少のものであり、
一方最悪の場合でも実行時間の改善が達成され
る。本発明は、IEEE P754規格のような種々の
浮動小数点実行手順に対して適応できる。好適な
実施例において、浮動小数点実行装置は、マイク
ロプロセツサの制御で動作する。
上述の説明は、好適な実施例を示すために含ま
れているものであり、発明の範囲を限定すること
を意味するものではない。発明の範囲は、以下の
請求項によつてのみ限定されるべきものである。
上述の説明から、本発明の精神と範囲に包含され
る多くの変形が当業者にとつて明らかである。
れているものであり、発明の範囲を限定すること
を意味するものではない。発明の範囲は、以下の
請求項によつてのみ限定されるべきものである。
上述の説明から、本発明の精神と範囲に包含され
る多くの変形が当業者にとつて明らかである。
第1図は、加減演算、及び有効加算演算と有効
減算演算との間の関係を示す。第2図は、関連技
術に従つて有効減算演算を実行するためのステツ
プを示す。第3図は、有効減算演算を加速するた
めに、有効減算演算の分割された2つの手順を示
す。第4図は、指数部の冪数の差の絶対値が1を
超える場合の有効減算演算のステツプを示す。第
5図は、指数の冪数の差の絶対値が1以下の場合
の有効減算演算のステツプを示す。第6図は、2
つの指数部の冪数に対する2つの最下位ビツトの
全ての組み合わせを示す表、及びこの組み合わせ
から結果として得られる関連オペランドの仮数の
演算を示す表である。第7図は、本発明を実行す
るために必要な装置を示す。 101……加算/減算の演算、102……有効
加算、103……有効減算、71……選択論理装
置、72……検出論理装置、73……減算装置。
減算演算との間の関係を示す。第2図は、関連技
術に従つて有効減算演算を実行するためのステツ
プを示す。第3図は、有効減算演算を加速するた
めに、有効減算演算の分割された2つの手順を示
す。第4図は、指数部の冪数の差の絶対値が1を
超える場合の有効減算演算のステツプを示す。第
5図は、指数の冪数の差の絶対値が1以下の場合
の有効減算演算のステツプを示す。第6図は、2
つの指数部の冪数に対する2つの最下位ビツトの
全ての組み合わせを示す表、及びこの組み合わせ
から結果として得られる関連オペランドの仮数の
演算を示す表である。第7図は、本発明を実行す
るために必要な装置を示す。 101……加算/減算の演算、102……有効
加算、103……有効減算、71……選択論理装
置、72……検出論理装置、73……減算装置。
Claims (1)
- 【特許請求の範囲】 1 浮動小数点実行装置において、 浮動小数点フオーマツトに2つのオペランドを
有する有効加算の演算を実行する加算手段と、 浮動小数点フオーマツトに2つのオペランドを
有する有効減算の演算を実行する減算手段とを備
えており、 前記減算手段は、 前記2つのオペランドの指数部の冪数の間の差
を決定するための差手段と、 該差手段に応答して前記オペランドの仮数を整
列させるための整列手段と、 前記2つのオペランドの2つの最下位ビツトの
指数部の冪数の間の差の絶対値が1より小さいか
1に等しいときに、前記整列手段と一緒になつて
第1の減算手順を実行するための減算ユニツト
と、 前記第1の減算手順において前記減算ユニツト
から生ずるオペランドが零より小さいときにその
オペランドを否定するための否定手段とを備えて
おり、 前記減算ユニツトは、前記2つのオペランドの
指数部の冪数の間の差の絶対値が1より大きいと
きに、前記整列手段と一緒になつて第2の減算手
順を実行することを特徴とする浮動小数点実行装
置。 2 前記第1の減算手順は、前記第2の減算手順
より長く、前記減算ユニツトおよび整列手段は、
前記差手段による前記指数部の冪数の前記最下位
ビツトの比較により複数の予め設定された値のう
ちの1つが与えられた後で且つ前記指数部の冪数
の間の差の決定前に、前記第1の減算手順を開始
させる請求項1記載の浮動小数点実行装置。 3 前記指数部に冪数の差の絶対値が1より大き
いとき、前記第1の減算手順の結果は、前記第2
の減算手順によつて置き換えられる請求項2記載
の浮動小数点実行装置。 4 前記整列手段は、指数部の冪数の間の差の前
記絶対値が1より大きいとき、選択されたオペラ
ンドの仮数を複数の位置にシフトするためのシフ
ターを含む請求項3記載の浮動小数点実行装置。 5 前記整列手段は、前記第1の手順の実行の開
始中に前記オペランドの仮数をシフトするための
選択可能な回路パスを含む請求項1記載の浮動小
数点実行装置。 6 前記減算手段は、更に、2つの指数部の冪数
の間の前記差の前記絶対値が1より小さいか1に
等しいとき、結果として生ずるオペランドの仮数
を整列させるための第2の整列手段を含む請求項
5記載の浮動小数点実行装置。 7 前記減算手段は、指数部の冪数の間の差の前
記絶対値が1より小さいか1に等しいとき、前記
減算ユニツトから生ずるオペランドの仮数を丸め
るための丸め手段を含む請求項5記載の浮動小数
点実行装置。 8 浮動小数点のオペランドの有効減算の演算を
実行する方法において、 2つのオペランドの指数部の冪数の間の差を決
定するステツプと、 前記オペランドの指数部の冪数の2つの最下位
ビツトの間の差が第1の範囲の値内であるとき、
第1の手順を開始させるステツプと、 指数部の冪数の間の前記差が1より大きい絶対
値を有するときに、前記第1の手順を第2の手順
に置き換えるステツプとを含んでおり、 前記第1の手順および前記第2の手順は、第1
のオペランドの仮数が第2のオペランドの仮数か
ら減ぜられるように単一の減算ユニツトにて行わ
れる減算ステツプを含むことを特徴とする方法。 9 前記第1の手順は、前記減算ステツプから生
ずるオペランドの仮数が負であるときに、否定ス
テツプを含む請求項8記載の浮動小数点のオペラ
ンドの有効減算の演算を実行する方法。 10 前記開始ステツプは、関連したオペランド
の冪数の2つの最下位ビツトの間の前記差によつ
て被減数オペランドおよび減数オペランドを識別
するステツプを含む請求項8記載の浮動小数1の
オペランドの有効減算の演算を実行する方法。 11 前記開始ステツプは、制御しうる回路パス
を使用して前記関連したオペランドの仮数を多く
て1ビツト位置だけシフトさせることにより、前
記減数を前記被減数と整列させることを含む請求
項10記載の浮動小数点のオペランドの有効減算
の演算を実行する方法。 12 前記置き換えステツプは、指数部の冪数の
前記差によつて被減数オペランドおよび減数オペ
ランドを識別するステツプと、指数部の冪数の前
記差によつて決定される数のビツト位置だけ前記
減数オペランドの仮数をシフトさせることにより
減数オペランドの仮数を被減数オペランドの仮数
と整列させるステツプとを含む請求項11記載の
浮動小数点のオペランドの有効減算の演算を実行
する方法。 13 浮動小数点の加算または減算の演算を実行
する装置において、 有効加算の演算を実行する加算手段と、 有効減算の演算を実行する減算手段とを備えて
おり、 前記減算手段は、 オペランドの指数部の冪数の間の差を決定する
差手段と、 第2のオペランドが被減数オペランドであつ
て、前記差によつて決定される減数オペランド
を、前記差によつて決定される数のビツト位置だ
けシフトさせることにより決定されるオペランド
の仮数を整列させるための整列手段と、 前記被減数の仮数から前記減数の仮数を減算す
るための減算ユニツトとを含んでおり、 前記整列手段および前記減算ユニツトは、前記
オペランドの指数部の冪数の2つの最下位ビツト
位置の間の差によつて決定される第1の手順を開
始させ、第2の手順は、前記オペランドの指数部
の冪数の間の前記差が1よりも大きい絶対値を有
するとき、前記整列手段および前記減算ユニツト
において前記第1の手順と置き換り、オペランド
の指数部の冪数の間の前記差は、オペランドの減
数の仮数およびオペランドの被減数の仮数を決定
し、オペランドの指数部の冪数の間の前記差は、
前記減数の仮数が前記整列手段によつてシフトさ
れるビツト位置の数を決定することを特徴とする
装置。 14 前記減算手段は、前記第1の手順中に前記
減算ユニツトから生ずるオペランドの仮数を正規
化するための正規化手段を含む請求項13記載の
浮動小数点の加算または減算の演算を実行する装
置。 15 前記減算手段は、前記第1の手順によつて
生ずる仮数を丸めるための丸め手段を含んでお
り、各第1の手順によつて生ずる仮数は、前記正
規化手段および前記丸め手段のうちの一方によつ
て処理される請求項14記載の浮動小数点の加算
または減算の演算を実行する装置。 16 前記第2の手順によつて生ずる結果は、リ
ーデイングロジツク“1”の信号によつて制御さ
れる回路パスによつて正規化される請求項15記
載の浮動小数点の加算または減算の演算を実行す
る装置。 17 前記整列手段は、前記第1の手順による減
数の仮数をシフトさせるための回路パスを含む請
求項16記載の浮動小数点の加算または減算の演
算を実行する装置。 18 前記減算手段は、前記第2の手順による減
数の仮数を複数の位置だけ整列させるためのシフ
ターユニツトを含む請求項17記載の浮動小数点
の加算または減算の演算を実行する装置。 19 前記第1の手順は、5つの主要ステツプを
含み、前記第2の手順は、4つの主要ステツプを
含む請求項13記載の浮動小数点の加算または減
算の演算を実行する装置。 20 前記第1の手順および第2の手順は、マイ
クロプロセツサの制御で動作される請求項13記
載の浮動小数点の加算または減算の演算を実行す
る装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US64836 | 1987-06-19 | ||
US07/064,836 US4852039A (en) | 1987-06-19 | 1987-06-19 | Apparatus and method for accelerating floating point addition and subtraction operations by accelerating the effective subtraction procedure |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01321516A JPH01321516A (ja) | 1989-12-27 |
JPH0545981B2 true JPH0545981B2 (ja) | 1993-07-12 |
Family
ID=22058548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63152089A Granted JPH01321516A (ja) | 1987-06-19 | 1988-06-20 | 有効減算手順を加速することによって浮動小数点の加減演算を加速するための装置と方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US4852039A (ja) |
EP (1) | EP0296070B1 (ja) |
JP (1) | JPH01321516A (ja) |
KR (1) | KR930004329B1 (ja) |
AU (1) | AU613050B2 (ja) |
CA (1) | CA1289257C (ja) |
DE (1) | DE3851792T2 (ja) |
IL (1) | IL86792A (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5117384A (en) * | 1990-01-24 | 1992-05-26 | International Business Machines Corporation | Method and apparatus for exponent adder |
US5136536A (en) * | 1990-05-04 | 1992-08-04 | Weitek Corporation | Floating-point ALU with parallel paths |
JPH0823812B2 (ja) * | 1990-08-24 | 1996-03-06 | 松下電器産業株式会社 | 浮動小数点データの演算方法および演算装置 |
JPH05216620A (ja) * | 1991-10-31 | 1993-08-27 | Internatl Business Mach Corp <Ibm> | 浮動小数点を正規化する方法及び回路 |
US5247471A (en) * | 1991-12-13 | 1993-09-21 | International Business Machines Corporation | Radix aligner for floating point addition and subtraction |
US5646875A (en) * | 1995-02-27 | 1997-07-08 | International Business Machines Corporation | Denormalization system and method of operation |
US5668984A (en) * | 1995-02-27 | 1997-09-16 | International Business Machines Corporation | Variable stage load path and method of operation |
US5742533A (en) * | 1996-05-21 | 1998-04-21 | International Business Machines Corporation | Method and apparatus for modulus error checking |
US8667042B2 (en) | 2010-09-24 | 2014-03-04 | Intel Corporation | Functional unit for vector integer multiply add instruction |
US9092213B2 (en) | 2010-09-24 | 2015-07-28 | Intel Corporation | Functional unit for vector leading zeroes, vector trailing zeroes, vector operand 1s count and vector parity calculation |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS595346A (ja) * | 1982-06-30 | 1984-01-12 | Fujitsu Ltd | 演算制御方式 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59188740A (ja) * | 1983-04-11 | 1984-10-26 | Hitachi Ltd | フロ−テイング加算器 |
US4639887A (en) * | 1984-02-24 | 1987-01-27 | The United States Of America As Represented By The United States Department Of Energy | Bifurcated method and apparatus for floating point addition with decreased latency time |
US4562553A (en) * | 1984-03-19 | 1985-12-31 | Analogic Corporation | Floating point arithmetic system and method with rounding anticipation |
-
1987
- 1987-06-19 US US07/064,836 patent/US4852039A/en not_active Expired - Lifetime
-
1988
- 1988-06-17 CA CA000569703A patent/CA1289257C/en not_active Expired - Fee Related
- 1988-06-19 IL IL86792A patent/IL86792A/xx unknown
- 1988-06-20 KR KR1019880007417A patent/KR930004329B1/ko not_active IP Right Cessation
- 1988-06-20 JP JP63152089A patent/JPH01321516A/ja active Granted
- 1988-06-20 EP EP88401538A patent/EP0296070B1/en not_active Expired - Lifetime
- 1988-06-20 AU AU18138/88A patent/AU613050B2/en not_active Ceased
- 1988-06-20 DE DE3851792T patent/DE3851792T2/de not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS595346A (ja) * | 1982-06-30 | 1984-01-12 | Fujitsu Ltd | 演算制御方式 |
Also Published As
Publication number | Publication date |
---|---|
EP0296070A3 (en) | 1991-01-30 |
JPH01321516A (ja) | 1989-12-27 |
EP0296070B1 (en) | 1994-10-12 |
AU1813888A (en) | 1988-12-22 |
IL86792A (en) | 1991-06-30 |
DE3851792D1 (de) | 1994-11-17 |
KR930004329B1 (ko) | 1993-05-26 |
KR890000966A (ko) | 1989-03-17 |
EP0296070A2 (en) | 1988-12-21 |
US4852039A (en) | 1989-07-25 |
DE3851792T2 (de) | 1995-05-04 |
CA1289257C (en) | 1991-09-17 |
AU613050B2 (en) | 1991-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4562553A (en) | Floating point arithmetic system and method with rounding anticipation | |
US4849923A (en) | Apparatus and method for execution of floating point operations | |
US6529928B1 (en) | Floating-point adder performing floating-point and integer operations | |
US4941120A (en) | Floating point normalization and rounding prediction circuit | |
US4999803A (en) | Floating point arithmetic system and method | |
US5128889A (en) | Floating-point arithmetic apparatus with compensation for mantissa truncation | |
EP0381403A2 (en) | Pipelined floating point adder for digital computer | |
JPH05241792A (ja) | 浮動小数点加減算方式および装置 | |
JP3178746B2 (ja) | 浮動小数点数のためのフォーマット変換装置 | |
JPH0792739B2 (ja) | 浮動小数点データ正規化方式 | |
US5136536A (en) | Floating-point ALU with parallel paths | |
JPH0544046B2 (ja) | ||
JP3313560B2 (ja) | 浮動小数点演算処理装置 | |
JPH0545981B2 (ja) | ||
US4800516A (en) | High speed floating-point unit | |
US5471410A (en) | Method and apparatus for sticky and leading one detection | |
US4858165A (en) | Apparatus and method for acceleration of effective subtraction procedures by the approximation of the absolute value of the exponent argument difference | |
US5063530A (en) | Method of adding/subtracting floating-point representation data and apparatus for the same | |
US5144570A (en) | Normalization estimator | |
US5103418A (en) | Dangerous range detector for floating point adder | |
JP3064405B2 (ja) | 複素数の演算処理方式 | |
JP2517064B2 (ja) | 非正規化数の処理方式 | |
JPS62128331A (ja) | 情報処理装置 | |
JPH0540777A (ja) | バタフライ演算方式 | |
JPS5960637A (ja) | 浮動小数点演算装置 |