JP2618374B2 - 最上位の数字の位置の検出 - Google Patents

最上位の数字の位置の検出

Info

Publication number
JP2618374B2
JP2618374B2 JP61015976A JP1597686A JP2618374B2 JP 2618374 B2 JP2618374 B2 JP 2618374B2 JP 61015976 A JP61015976 A JP 61015976A JP 1597686 A JP1597686 A JP 1597686A JP 2618374 B2 JP2618374 B2 JP 2618374B2
Authority
JP
Japan
Prior art keywords
cell
circuit
operand
digit
signal
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
Application number
JP61015976A
Other languages
English (en)
Other versions
JPS61177538A (ja
Inventor
マツクパートランド フイールズ エヴリン
ラマー フレイマン ロナルド
ロツトブラム エフダ
Original Assignee
エイ・テイ・アンド・ティ・コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エイ・テイ・アンド・ティ・コーポレーション filed Critical エイ・テイ・アンド・ティ・コーポレーション
Publication of JPS61177538A publication Critical patent/JPS61177538A/ja
Application granted granted Critical
Publication of JP2618374B2 publication Critical patent/JP2618374B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/485Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49936Normalisation mentioned as feature only

Landscapes

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

Description

【発明の詳細な説明】 発明の技術分野 本発明は2個あるいはそれ以上のオペランドを互いに
結合することによつて生成される結果の最上位の数字を
決定するために要求される時間を短縮するための技術に
関する。
従来技術の説明 浮動小数点数の加算においては、加算される個々の数
(加算)は小数部と指数によつて表わされる。加算を遂
行するためには、加算の片方の小数部が指数が一致する
までシフトされる。通常、より大きな指数を持つ加数は
シフトされず、より小さな指数を持つ加数の小数部が右
に(つまり、最下位の数字の方向に)任意の位置数だけ
シフトされ、その指数が大きな方の加数の指数と等しく
なるまで匹敵する量だけ増加される。次に、和を得るた
めにこの2つの小数部が加えられる。2つ以上の加数が
加算されるときは、最も大きな加数を除く全ての加数が
このように加算の前に調節される。加えられる小数部が
同一の符号を持つときは、和が大きくなり、これを正規
化するために和を右にシフトすることが必要となる。小
数部が反対の符号を持つときは、相殺が起こり、これを
正規化するために和を左にシフトすることが必要とな
る。正規化は和の最上位の数字が結果の最上位の数字の
位置を占めることによつて達成される。
多くのタイプの加算器回路、例えば、マイクロプロセ
シング回路を採用する集積回路においては、和の最上位
の数字がレジスタあるいは他の回路内の最上位の数字の
位置を占めることが要求される。先行技術においてこの
目的を達成するためには、通常、加算器回路の和出力を
最上位の数字が最上位の数字の位置を占めるまで左ある
いは右にシフトするためにシフタが採用される。和の指
数がこれに従つて調節される。つまり、指数が、和が左
にシフトされた位置だけ増加され、あるいは和が右にシ
フトされた位置だけ減少される。従つて、先行技術にお
いては、正規化を行なう前に和が必要となる。
加算器回路から和を得て、これを説明のように正規化
するために必要とされる時間を短縮することは重要なこ
とである。より具体的には、殆どの演算回路はマシン
サイクルにて動作するようにクロツクされるが、この任
意のサイクル内に1つあるいは複数の動作が遂行され
る。個々のマシン サイクルにおいて得られる有効演算
の量を最大限にし、これによつて任意の結果を得るため
に要求される総時間を短縮することは重要なことであ
る。この目的のために、通常、複数のタイプの動作を同
時に遂行するために“並列処理”が採用される。通常、
並列処理とみなされる動作は独立した動作である。つま
り、片方の結果が他方の結果に依存しない動作である。
発明の要約 我々は2個あるいはそれ以上の加数の和の最上位の数
字を決定するための改良された方法を発明した。これに
よると、和を正規化するために要求される時間を短縮す
ることが可能である。この方法においては、加数が和を
生成するために加算されている間に加数を調べることに
よつて和の最上位の数字の少なくとも概算位置を決定す
るための装置が提供される。1つの実施態様において
は、最初に和の最上位の数字の概算位置が決定される。
加算が完了したとき桁上げ信号が存在するときは、この
概算位置が修正される。もう1つの実施態様において
は、和の最上位の数字が加算の最中に正確に決定され
る。本発明のもう1つの局面においては、最上位の数字
の位置は正及び負の両方の加数を考慮に入れた式に従つ
て決定される。本発明は2個の数を引くことによつて得
られる差の最上位の数字を決定するのにも使用できる。
本発明は典型的には集積回路にて実現される。
発明の実施例 以下の詳細な説明は2個(あるいはそれ以上の)加数
を加えてその和を正規化するのに要する時間を短縮する
ための回路に関する。加数及び和の数字は、通常、2を
底とする数体系によつて表わされる。つまり、これらは
2進数字(つまり、“ビツト”)にて表わされる。ただ
し、他の数体系によつて表わすことも可能である。本発
明は本発明の1つの典型的な実施態様である浮動小数点
加算器を参照することによつて理解できる。第1図に示
されるごとく、この加算器は3つの大きなサブ−ブロツ
クに分割されるが、これらブロツクはそれが遂行する動
作によつて以下の通りに分類される。
I.再正規化−この動作は加数の指数を比較し、これに従
つて小さい方の指数と関連する小数部をシフトする。
II.小数部の加算及びFLDS−これは加算器回路及び最上
位の数字の位置を決定するための回路から成る。
III.正規化−これは2つのステージ、つまり、概算シフ
ト、及びポスト−シフトにて加算から得られる和の正規
化を行なう。
説明のごとく、2つの浮動小数点数が加えられ、個々
の動作に関与するビツト数が示される。小数部はそれぞ
れN+1ビツト(OからN)を持ち、そして指数はそれ
ぞれQビツトを持つ。典型的な回路では、加数はそれぞ
れ43ビツト長であり、仮数は35ビツト(N=34)、そし
て指数はそれぞれ8ビツト(Q=8)長である。後はさ
らに説明されるごとく、回路はまた2の補数の演算にて
最上位ビツトを検出するが、これによつて加算器回路を
使用して減算を行なうことが容易となる。浮動小数点加
数は異なるソースから加算器に到達する。ソースは集積
回路チツプの内部におかれ、加数はレジスタあるいは他
のソースから得ることも、あるいは、例えば、メモリあ
るいは掛け算器から得られる積のように外部から得るこ
ともできる。加数(P、S)は正規化された形式にて到
達するが、各々は正規化された小数部(それぞれPM、S
M)、及び指数(それぞれPE、SE)を持つ。ただし、本
技術は片方あるいは両方の加数が加算器の所に正規化さ
れずに到達するときにも使用できる。
第1図に示される回路の最初の動作は再正規化である
が、これは加数の指数を小数部分が加算できるように等
しくセツトする。これを達成するため、加数の指数が互
いに比較され(“指数の比較”)、大きな方の指数が和
の指数として選択される。“セレクタ”回路は大きな指
数を持つ方の加数の小数部を加算器に直接に方路し、小
さな指数を持つ方の加数の小数部を“再正規化”回路に
方路する。小さな指数を持つ方の加数の小数部は次に算
術的に指数の比較によつて得られた差だけ右(つまり、
最下位の数字の位置の方向)にシフトされる。符号ビツ
トが右シフトによつて空き状態となつた最上位ビツト位
置にシフトされる。例えば、2の補数として表わされる
正の数に対しては“0"が左からシフトされ、負の数に対
しては“1"がシフトされる。この再正規化小数部はそれ
ぞれ“B"及び“A"として示されるが、以下の説明に影響
を与えることなく順序を逆にすることもできる。
回路の加算器部分において、この2個の小数部(示さ
れるごとくそれぞれ35ビツト長)が加えられる。最上位
の数字の位置も加算時においてすくなくとも概算的に決
定される。和の最上位の数字の位置を決定するための技
術は、ここでは“左端数字の検出(find left most sig
nificant digit)”、あるいは“FLSD"と呼ばれる。本
発明の1つの実施態様においては、和の正規化は和を生
成と、実質的に同時に、つまり並列にて、左端数字の概
算位置を検出することによつて遂行される。これは、後
に説明するごとく、典型的な加算器において時間のかか
る動作は桁上げの伝播であり、FLSDにおいて時間のかか
る動作はポインタの伝播であるためである。従つて、こ
の動作を並列に遂行することによつて時間を大きく節約
できることになる。次に、必要であれば、和が“ポスト
シフト”動作において1位置だけ左にシフトされる。
これはMSBが概算位置から1位置だけ左にあるときにMSB
位置に1桁だけエラーが発生する可能性を除去するが、
この概算位置はi番目の位置への桁上げ条件に依存す
る。
FLSD回路の最初のタスクは、加算器への原始入力、つ
まり加数“A"及び“B"を使用することによつて和の最上
位の数字の概算位置を検出することにある。これら加数
の個々の数字はそれぞれAn、Bnと呼ばれるが、ここで、
O≦n≦Nであり、ここで、(便宜上、A及びBについ
て同一であると仮定すると)N+1は加数のビツトの数
である。ここでは、Ao、Boは最下位ビツト位置を示し、
そしてAN、BNは最上位ビツト位置を示す。
正の加数に対するFLSD概算の条件の生成の例は本技術
を説明するために好都合であり、後に説明のより複雑な
2の補数の数の場合の説明を助けるものである。この例
はまたFLSD機能に使用される用語を導入することにもな
る。和の最上位ビツト(KSB)は星印(☆)によつて示
される。
この単純な例においては、位置“i"は加数のビツトが
両方とも0でない位置として定義される。従つて、これ
はMSBの概算の位置であり、これはポインタFnが停止す
る位置でもある。ここで、“F"はフインガー伝播(fing
er propagation)”を表わす。位置i+1は次に上位の
位置である。ポインタを伝播するのは“Un"であり、こ
れら加数に対するこの値も上に示されている。上記に設
定の定義から、Unはi位置の左の“1"、i位置の所の
“0"、及びi位置の右の“ドント ケアー(don't car
e、X)”である。第2図は典型的な回路実現においてU
n及びFnがどのように使用されるかを示す。“ポインタ
チエーン”は入力としてUnを持つ予充電ゲートの直列
ストリングである。個々の関連するセルへの左へのこれ
ら入力はFnであり、個々の関連するセルの右へのこれら
出力はFn-1である。
加算器機能を遂行する目的で、第2図には複数の加算
器セル(201…204)が示されるが、これは加数(AoBo…
AnBn…ANBN)を受信する。個々の加算器セルは桁上げチ
エーンに供給されるシフト アウト信号(Co…Cn…CN
を提供する。個々の連続のセルには次に最下位の数字セ
ルからの桁上げ信号を受信するための桁上げ入力が提供
されている。桁上げチエーンは後に説明のポインタ チ
エーンと類似の方法にて被クロツク トランジスタ(図
示なし)によつて高値に予充電される。次にチエーンの
右端が(Co)の所で接地され、低値の電圧が桁上げチエ
ーンに沿つて伝播するようにされる。別の方法として、
所望のシフト イン信号をチエーンのCo端に供給するこ
ともできる。桁上げ信号の高速伝播を行なうための適当
な加算器が本特許とともに譲渡された合衆国特許第4,35
7,675号において説明されている。必要であれば、桁上
げ伝播の速度はキリーバイパス技術を使用することによ
つてさらに向上されるが、これに関しては、O.スパニオ
ール(O.Spaniol)、コンピユータ演算(Computer Arit
hmetic)、ページ56−67、ジヨン ウイリー(Johne Wi
ley)社、1981年出版を参照すること。
FLSD機能を実現するために、個々の加算器セルにはこ
れと関連してFLSDセルが存在するが、これはUn出力を提
供する。後にさらに詳細に説明されるFLSDセルの論理
は、MSBの概算位置の左(つまり、より上位の桁の方)
に“1"を与え、概算位置の所に“0"を与えるUnを提供す
る。Un出力の個々は“ポインタ チエーン“内に接続さ
れる電界効果形トランジスタ(FET)のゲートに供給さ
れる。これらトランジスタ(211…214)のソース及びド
レインは最初に信号PCLKによってクロツクされる予充電
トランジスタ(221…224)を通じて高電圧レベルに予充
電される。Un信号はMSBの概算位置の左の全てのセル
(つまり、n>i)に対して“1"(高電圧レベル)であ
るため、ポインタ チエーンはこのポイントまでは“0"
(接地電圧レベル)に放電され、そしてこの位置の右側
(つまり、n<i)では“1"(高電圧レベル)にとどま
る。Fnは個々のセルの左側(より上位の数字)のFETの
ソース/ドレイン電極に対して定義される。従つて、Fn
はUnが“1"であるときは個々のセルに対して“0"であ
り、またUnが最初に“0"であるn>i、並びに“i番
目”のセルに対しても“0"である。ポインタ チエーン
内の“i番目”のセルに対するFETはこのゲートに加え
られる低Ui信号によつてオフにされるため、このセルの
右側のFnの全ては、これらセルに対するUnの値と無関係
に“1"の状態にとどまる(ポインタ チエーンは高電圧
レベルに充電されたままとなる)。従つて、これらセル
(n<i)に対してはUn=X(ドントケアー)となる。
FLSD概算の出力はN+1ビツトであり、ここで、可能
なN+1位置からi番目の位置を選択するために、これ
らビツトの1つのみが“1"となる。出力LnはFnとUnの論
理(NOR)結合である。より詳細には、Lnは概算MSB位置
(i)の左及び右では“0"となり、“i"位置では“1"と
なる。従つて、以下が成立する。
ここで、+は以下に示されるような論理“OR"動作で
ある。
前述は本発明の単純なケースを説明するものである
が、さらに考慮すべき複雑な事項が存在し、その1つは
“i"位置へのキリーインである。以下のテーブルは位置
“i"へのキリー インが“1"であり、単にオペランド
“B"の“i−1"の値が“0"から“1"に変更される条件を
示す。
前の例と対比して、Fn、Un、及びLn値は変化しない
が、MSBは“i+1"の位置にあることに注意すべきであ
る。この条件はFLSD機能にもう1つのパラメータを導入
する。つまり、位置“i"へのキリー インが遂行され
る。上に設定の条件はMSBの最終位置を決定するために
は位置“i"への桁上げが遂行されるのを待たなければな
らないことを示唆する。しかし、これは結果的に当初の
目的、つまり、和及びMSB位置の並列生成をくつがえす
こととなる。本発明の1つの実施態様においては、この
障害は以下のようにして克服される。Ui、Fi、及びLiの
位置はキリー インの結果として変更を受けないため、
Unが最初に生成され、ポインタFnが上記の条件に従つて
伝播される。その後、最終的なMSBの位置が裁定され
る。つまり、LiがMSBの概算位置を決定するが、この位
置は1方向に1ビツト位置以上の誤差を持つことはな
い。MSBがi番目の位置(つまり、Ln=1)であるか、
あるいは次に最上位のビツト位置(i+1)であるかの
最終決定は“裁定”と呼ばれる。本発明においては、U
n、Fn、及びLnが加数A、Bが加えられている間に生成
される。次に桁上げが供給された後に裁定が遂行され
る。この結果、FLSD結果を生成するのに必要とされる時
間の主要素であるポインタ伝播のための時間が短縮され
る。裁定の1つの方法はここでは“ポスト シフト”と
呼ばれるが、これについては後に説明される。
加数が正でも負でもありうるという事実からさらに状
況が複雑となる。これは加算の結果が正でも負でもあり
うることを意味する。これは結果として、どれが最上位
の数字であるか、つまり、それが最初の“1"であるか、
あるいは最初“0"であるかの判定に影響を与える。最初
に、負の数字が2つの補数形式にて表わされる場合につ
いて考察するが、これは数字の正の形式の個々のビツト
を反転し、次にこれに1を加えることによつて得られ
る。
以下の記述は正の数あるいは負の数のいずれに対して
もあてはまる。つまり、数字の最上位ビツトはこれが符
号ビツトと異なり、これがその左の個々のビツトと異な
るという事実から他のビツトから判別される。
正の数では符号ビツトは“0"であり、最上位ビツトは
“1"である。
負の数では符号ビツトは“1"であり、最上位ビツトは
“0"である。
和の最上位ビツトの位置を予測するために加数の符号
によつて4つのケースを考察することが必要である。以
下のテーブルはこれら4つのケースを示す。記号〜は
“NOT"を意味し、ブラケツトとともに使用された場合
は、これはブラケツト内の信号が両者とも示された値を
持たないことを示す。
従つて、 は少なくとも1つの信号が“1"であることを意味する。
これはFnが伝播される状態を示す。
テーブル4 1)n>iでAn=Bn=0のケース 2)n>iでAn=Bn=1のケース 3)スキツプAn〜Bn、An=Bn=1のとき、ケース1に復
4)スキツプAn〜Bn、An=Bn=0のとき、ケース2に復
この表現の解釈は以下の通りである。
ケース1においては、AあるいはBのいずれかが1の
位置において停止する。ケース2においては、Aあるい
はBのいずれかが0の位置において停止する。ケース3
及び4においては、A=Bの全ての位置をスキツプし、
ケース1及びケース2において設定された条件によつて
Ui=0の位置が決定される。従つて、j>iの全てにお
いて、Ui=0及びUj=1である場合、和のMSBは位置i
あるいは(i+1)の所となる。ケース3及び4では、
それぞれ左端An=Bn=1、あるいはAn=Bn=0の位置の
すぐ右にブラケツト内の記号がくることに注意すべきで
ある。つまり、これらの間に介在信号が存在しない場合
がある。
上記の眞理値表を論理的に表現するために、Unは5つ
のパラメータの関数として以下のように論理的に表わさ
れる。
U(n)=f〔An,Bn,An+1,Pn+1,Pn+2〕 ここで、 Anは位置“n"の所のオペランドAのビツトであり、 Anは位置“n"の所のオペランドBのビツトであり、 An+1は位置(n+1)の所のオペランドAのビツトで
あり、 Pn+1は位置(n+1)の所の桁上げ伝播であり、ここ
で、Pn+1=An+1θBn+1であり、 Pn+2は位置(n+2)の所の桁上げ伝播であり、ここ
で、Pn+2=An+2θBn+2である。
(通常、伝播信号(Pn)は任意のセルの所の2進数が
等しくないとき、つまり、An≠Bnのとき生成される。) 全ての信号は第3図に示される加算器セルによつて容
易に得ることができる。従つて、FLSDセルに新たに要求
されるのは加算器セルに方路経路を加えることのみであ
る。回路設計の観点からは、この新たの機能を遂行する
ために、加算器セルの動作に悪影響を与えることなくこ
の増加されたキヤパシタンスに対応するためにPn及びAn
信号のドライバのサイズが大きくされる。
関数Unは以下の論理式によつて与えられるが、ここ
で、θは“排他的OR"論理動作であり、0は“排他的NO
R"論理動作である。
(2)式の解釈は以下のとおりである。
(2)式内の第3の記号はケース#1をカバーする。つ
まり、UnはA及びBの両方が“0"であり、Pn+2とのAn+1
の排他的NORが“1"の場合、Fn(つまり、Un=1)を伝
播する。
(2)式内の第2の記号はケース#2をカバーする。つ
まり、UnはA及びBが“1"であり、Pn+2とのAn+1の排他
的ORが“1"の場合、Fnを伝播する。
第1、第2及び第3の信号はケース3及び4をカバー
する。つまり、UnはPn+1が“1"である場合、あるいは第
2及び第3の信号が“1"である場合Fnを伝播する。信号
(An・Bn)は“桁上げ生成”と呼ばれ、ここでは、別に
Gnとしても表わされる。また信号(▲▼・▲
▼)は“桁上げ抑止”と呼ばれ、ここでは、別にKnとし
ても表わされる。(2)式のもう1つの形式は以下のよ
うに表わされる。
Un=Pn+1+Gn(An+1θPn+2)+Kn(An+1θPn+2).
(3) この形式は後に説明されるように符号−数値表現の場
合のように、2つの数の差(例えば、A−B)のMSBを
決定するのに便利である。このように定義されるUn関数
を提供する論理回路が第3図に示される。
第3図には加算器セル及びFLSDセルの両者がこれらの
接続とともに示される。(第2図とは対照的に、加算器
部分は点線の上に示され、FLSD部分がこの下に示され
る)。Gnは(2)式の(An・Bn)を表わすが、これは加
算器セルからの桁上げ生成である。Knは(2)式の(▲
▼・▲▼)を表わすが、これは加算器セルから
の桁上げ抑止である。第3図には中間信号▲▼及び
▲▼が定義されているが、これらは実際の回路
設計を容易にするためにこの形式にて生成される。FLSD
動作からの出力はN+1の1の形式であるが、これはi
番目のビツト位置のみが“1"であり、残りは“0"である
ことを意味する。この状態はLnを提供するためのNORゲ
ートを使用することによつて得られる(第3図)。ここ
で、入力Un及びFnである。(1)式を参照すること。こ
れは“1"である位置のみがUn及びFnの両方が“0"である
位置であることを確保する。この方法ではMSBが位置さ
れる概算位置を非常に迅速に検出できる。これは、“i"
あるいは“i+1"位置である。MSBの検索は基本的には
ポインタ、つまり、F信号をFLDSチエーンを通じてリプ
ルするのに要する時間である。FLSDチエーンの構造は第
2図によつて示唆されるごとく、桁上げチエーン加算器
と非常に類似する。概算位置が知られたら、次のステツ
プである符号化に進むが、これを平行してMSBの最終
(つまり、正確な)位置が決定される。
“ポスト シフト ブロツク”の使用によつてポイン
タのリプルの際に最上位の数字の正確な位置を知る必要
がなくなる。これはポインタUiは最大でも位置iあるい
は位置i+1であるMSBから1ビツトだけ右の位置に存
在するためである。こうして、小数部が1だけポスト
シフトされ、指数が1だけ増加され、桁上げ入力が指数
調節の最下位加算器セルに提供される。ここでは▲
▼信号として定義されるポスト シフトに対する
コントロールはFLSDセルから派生されるが、これについ
ては第4図を参照すること。個々のセルは、“Ln"が論
理“1"であるときは、“n+1"位置の和及びこの数字の
符号ビツトに基づいてポスト シフトに影響を及すが、
これがSn+2である。この新たなコントロール▲
▼は小数部をポスト シフトし、指数を増分するのに
使用される。これは によつて制御される1−ビツト シフタによつて遂行さ
れる。1ビツト シフトの一例が第5図に示されるが、
他のタイプを使用することもできる。▲▼=
1の場合は、和ビツトはシフトされないままにとどま
り、▲▼=0の場合は、和の個々のビツトが
1位置だけ左にシフトされる。MSBの正確な位置の裁定
は別の方法として“プレーシフト”動作にて遂行するこ
ともできる。つまり、概算シフト機能の前に1ビツト
シフトが置かれる。この新たな機能によつて、判定を判
定、符号ビツト及びi位置へのキリー インに必要な情
報が得られる非クリテイカル時間に遂行するようにする
ことによつて、有効数字を実際に探索する際の時間の浪
費を避けることが可能となる。
前述の実施態様では、2つのステツプからなる手順を
使用してFLSD動作が遂行され、この方法においては、概
算位置に続いて最終位置が決定された。本発明のもう1
つの実施態様においては、MSBの正確な位置が決定さ
れ、従つて、最終裁定の必要性が排除される。状況によ
つて、これら実施態様のいずれかを使用することによつ
て回路の繁雑さを回避することができる。上に定義した
パラメータを使用して、Ln関数を以下のように与えるこ
とができる。(ここで、Ln=1はここではMSBの正確な
位置である。) Pn=AnθBnであり、Cn+1はn+1セルへのキリー イ
ン、つまり、nセルのキリー アウト信号であることに
注意する。第3図を参照すること、ただし、この式はC
n+1の代わりにCnが使用されたときでも正しい。この他
のパラメータは前述のとおりである。
通常MSB位置の決定に続いて和が正規化されるが、他
の動作も可能である。例えば、本発明は最初に和を正規
化することなく、大きな値を持つ方の和を決定するため
に2つあるいはそれ以上の和に対するMSBを決定するに
も使用することもできる。必要に応じて、その後、正規
化動作が遂行される。正規化の前あるいは正規化の代り
に本発明を使用することによつて他の論理動作を遂行す
ることもできる。この場合、例外動作(第1図)によつ
てオーバーフローあるいはアンダーフロー状態が処理さ
れるが、この場合、小数部及び指数は、通常、所定の値
にセツトされる。また、等しいオペランドが減算され、
ゼロの結果が生成されるときは、例外回路は出力をゼロ
に設定するのに使用することができる。これによつて、
通常、ゼロ オペランドが存在しない浮動小数点数につ
いてのあいまいさを解決することができる。
前述においては、本発明が、負の数が減算動作を遂行
することなく加算できるように2の補数形式にて表わさ
れた数について説明された。しかし、本発明は“符号−
数値”形式にて表わされる数に対して実現することも可
能である。つまり、この場合は、負の数は、通常、最上
位の位置の“1"によつて示されるが、小数部は変更、つ
まり、反転されない。符号−数値形式での加算は両者の
加数が同一の符号を持つ場合(つまり、両者とも正ある
いは両者とも負の場合)は簡単に遂行できる。この場合
は、小数部が加えられ、共通の符号が与えられる。本発
明は前述の方法をA及びBの両者が正の場合(例えば、
テーブル1−3)に応用することによつて和のMSDを簡
単に決定できる。加数の片方(例えば、A)が正であ
り、他方(例えば、B)が負であるときは、減算は符号
−数値体系(例えば、A−B)によつて遂行される。本
発明はまたAとBの減算の結果(つまり、差)のMSBを
決定するのにも使用できる、これはP(桁上げ伝播)、
G(桁上げ生成)、及びK(桁上げ抑止)をそれぞれ借
り伝播、借り生成、及び借り抑止となるように再定義す
ることによつて達成される。これは以下のテーブルによ
つて図解される。
この場合、前述の式(1)、(2)及び(3)は差の
MSBを決定するのに使用できる。シフト機能(第4図)
も同一であり、ここでは和数字の代わりに差数字がく
る。これに加えて、C(キリー イン)パラメータを類
似のボローイン パラメータと置きかえることによつ
て、式(4)もそのまま適用する。ここで使用される用
語、“結合”は2つの数字を加算あるいは減算すること
を意味し、“結合セル”は数字の桁に関して動作する加
算器あるいは減算器セルを意味する。用語“結果”はこ
れによつて得られる和あるいは差を意味する。用語“オ
ペランド”は加数、被減数、あるいは減数を意味する。
上記の説明は主にある条件下において桁上げ(あるい
は借り)入力信号を変更されることなくセルを通じて高
速度で伝播することを可能とする数字結合器セルを使用
する本発明の実施態様について関して行なわれた。これ
は、ここでは、“伝播”と呼ばれた、このセルはまた
“生成”信号及び“抑止”信号を生成する。ただし、本
発明はそれ自体伝播信号を生成しない他のタイプの結合
器セルを使用して実現することができる。この他のセル
には、リプル桁上げ加算器セル、及び桁上げ先取り加算
器セルが含まれる。これら他のセルは伝播機能を使用す
ることなく桁上げ(あるいは借り)信号を生成するため
に論理ゲートを使用する。
【図面の簡単な説明】
第1図は本発明による技術を使用する典型的な浮動小数
点加算器のブロツク図、 第2図は加算器セル及び関連するポインタチエーン及び
桁上げチエーンを示す図、 第3図は典型的な加算器セル及びFLSD回路図、そして 第4図及び第5図は和の最終シフトを裁定するための回
路図である。 〔主要符号の説明〕 201〜204……加算セル、211〜214……トランジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロナルド ラマー フレイマン アメリカ合衆国 18018 ペンシルヴア ニア,ベセレヘム,モノカシー ストリ ート 1702 (72)発明者 エフダ ロツトブラム アメリカ合衆国 08816 ニユージヤー シイ,イースト ブランズウイツク,ホ ワイトホール ロード 38 (56)参考文献 特開 昭59−22694(JP,A)

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】それぞれが複数の数字からなる第1のオペ
    ランド(A)と第2のオペランド(B)とを結合するた
    めの回路であって、最上位から最下位へ配列された複数
    の数字を有する結果(S)を得るために前記第1のオペ
    ランドの数字を前記第2のオペランドの数字に結合する
    ための複数の結合セルを含む前記回路において、 該回路はさらに、前記結合セルに接続され、前記結合の
    間に前記第1のオペランドと前記第2のオペランドとの
    数字を調べることによって前記結果の最上位の数字の概
    算位置を1桁以内の誤差精度で決定する手段を含み、 前記概算位置を決定する手段が最上位数字(AN、BN)か
    ら最下位数字(AO、BO)へ伝播するポインタ(Fn)を発
    生する手段を含むことを特徴とする回路。
  2. 【請求項2】特許請求の範囲第1項に記載の回路におい
    て、さらに前記結合セルからの結果を受信するように接
    続され、前記結果を正規化する手段を含むことを特徴と
    する回路。
  3. 【請求項3】特許請求の範囲第1項に記載の回路におい
    て、さらに前記結合セルに接続され、前記結果が得られ
    た時、前記最上位の数字の正確な位置を決定するための
    手段を含むことを特徴とする回路。
  4. 【請求項4】特許請求の範囲第1項に記載の回路におい
    て、ある結合セルが次の下位の数字の結合セルに接続さ
    れる伝播信号(Pn)を生成するための手段を含むことを
    特徴とする回路。
  5. 【請求項5】特許請求の範囲第1項に記載の回路におい
    て、前記ポインタ(Fn)はポインタチェインに接続さ
    れ、ゲートに供給される信号(Un)によって制御される
    電界効果トランジスタ(211……214)の列によって発生
    されることを特徴とする回路。
  6. 【請求項6】特許請求の範囲第5項に記載の回路におい
    て、前記信号Unは Un=Pn+1+An・Bn(An+1θPn+2) +(An+1θPn+2) であり、ここでAnおよびAn+1はそれぞれ数字位置nおよ
    びn+1におけるオペランドAの2進数字であり、Bn
    数字位置nにおけるオペランドBの2進数字であり、そ
    してPn+1、Pn+2は数字位置n+1およびn+2について
    の結合セルによって発生された伝播信号であることを特
    徴とする回路。
  7. 【請求項7】特許請求の範囲第4項に記載の回路におい
    て、前記結合セルは加算セルであり、前記伝播信号が存
    在する時、該伝播信号により桁上げ信号はセルを通って
    伝播することができることを特徴とする回路。
  8. 【請求項8】特許請求の範囲第4項に記載の回路におい
    て、前記結合セルは減算セルであり、前記伝播信号が存
    在する時、該伝播信号によりキャリー信号はセルを通っ
    て伝播することができることを特徴とする回路。
JP61015976A 1985-01-29 1986-01-29 最上位の数字の位置の検出 Expired - Lifetime JP2618374B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/695,907 US4758974A (en) 1985-01-29 1985-01-29 Most significant digit location
US695907 1985-01-29

Publications (2)

Publication Number Publication Date
JPS61177538A JPS61177538A (ja) 1986-08-09
JP2618374B2 true JP2618374B2 (ja) 1997-06-11

Family

ID=24794937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61015976A Expired - Lifetime JP2618374B2 (ja) 1985-01-29 1986-01-29 最上位の数字の位置の検出

Country Status (2)

Country Link
US (1) US4758974A (ja)
JP (1) JP2618374B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4858165A (en) * 1987-06-19 1989-08-15 Digital Equipment Corporation Apparatus and method for acceleration of effective subtraction procedures by the approximation of the absolute value of the exponent argument difference
US4922446A (en) * 1988-04-01 1990-05-01 Digital Equipment Corporation Apparatus and method for floating point normalization prediction
US5023827A (en) * 1988-08-18 1991-06-11 Digital Equipment Corporation Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5132925A (en) * 1988-08-18 1992-07-21 Digital Equipment Corporation Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US4926369A (en) * 1988-10-07 1990-05-15 International Business Machines Corporation Leading 0/1 anticipator (LZA)
JP2511527B2 (ja) * 1989-07-14 1996-06-26 日本電気株式会社 浮動小数点演算器
US5040138A (en) * 1989-08-02 1991-08-13 Cyrix Corporation Circuit for simultaneous arithmetic calculation and normalization estimation
US5144570A (en) * 1989-08-02 1992-09-01 Cyrix Corporation Normalization estimator
US5432727A (en) * 1989-11-02 1995-07-11 Intergraph Corporation Apparatus for computing a sticky bit for a floating point arithmetic unit
US5282156A (en) * 1991-01-31 1994-01-25 Matsushita Electric Industrial Co., Ltd. Leading one anticipator and floating point addition/subtraction apparatus employing same
US5303174A (en) * 1991-10-07 1994-04-12 Nec Corporation Floating pointing arithmetic operation system
GB2274730B (en) * 1993-01-30 1997-05-28 Motorola Inc A mantissa addition system for a floating point adder
US5392228A (en) * 1993-12-06 1995-02-21 Motorola, Inc. Result normalizer and method of operation
JP3313002B2 (ja) * 1994-12-02 2002-08-12 三菱電機株式会社 浮動小数点演算装置
US5999960A (en) * 1995-04-18 1999-12-07 International Business Machines Corporation Block-normalization in multiply-add floating point sequence without wait cycles
US5867407A (en) * 1995-06-30 1999-02-02 Digital Equipment Corporation Normalization shift prediction independent of operand substraction
KR970016936A (ko) * 1995-09-06 1997-04-28 엘리 와이스 최상위 디지트를 결정하는 장치 및 방법
US6523049B1 (en) 1999-12-21 2003-02-18 International Business Machines Corporation Circuit and method for determining greater than or equal to three out of sixty-six
US7716264B2 (en) * 2005-08-16 2010-05-11 International Business Machines Corporation Method and apparatus for performing alignment shifting in a floating-point unit
US8214416B2 (en) * 2008-07-28 2012-07-03 Agere Systems Inc. Floating-point addition acceleration

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3831012A (en) * 1973-03-28 1974-08-20 Control Data Corp Normalize shift count network
US4152775A (en) * 1977-07-20 1979-05-01 Intel Corporation Single line propagation adder and method for binary addition
US4229801A (en) * 1978-12-11 1980-10-21 Data General Corporation Floating point processor having concurrent exponent/mantissa operation
US4357675A (en) * 1980-08-04 1982-11-02 Bell Telephone Laboratories, Incorporated Ripple-carry generating circuit with carry regeneration
JPS5776634A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Digital signal processor
JPS5776635A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Floating multiplying circuit
JPS5999542A (ja) * 1982-11-30 1984-06-08 Fujitsu Ltd 演算回路
JPS59226944A (ja) * 1983-06-09 1984-12-20 Fujitsu Ltd 浮動小数点デ−タ加減算方式
US4562553A (en) * 1984-03-19 1985-12-31 Analogic Corporation Floating point arithmetic system and method with rounding anticipation
US4563751A (en) * 1984-04-26 1986-01-07 Motorola, Inc. Carry propagate adder circuit which differentially senses a carry input

Also Published As

Publication number Publication date
JPS61177538A (ja) 1986-08-09
US4758974A (en) 1988-07-19

Similar Documents

Publication Publication Date Title
JP2618374B2 (ja) 最上位の数字の位置の検出
US4999803A (en) Floating point arithmetic system and method
US5027308A (en) Circuit for adding/subtracting two floating point operands
US5272660A (en) Method and apparatus for performing integer and floating point division using a single SRT divider in a data processor
US5010508A (en) Prenormalization for a floating-point adder
US5633819A (en) Inexact leading-one/leading-zero prediction integrated with a floating-point adder
JPH06236257A (ja) データ・プロセッサにおいて浮動小数点実行ユニット内で後正規化を実行する方法および装置
US6205461B1 (en) Floating point arithmetic logic unit leading zero count using fast approximate rounding
US6499044B1 (en) Leading zero/one anticipator for floating point
JPH0520028A (ja) 加減算のための浮動小数点演算装置の仮数部処理回路
US5831884A (en) Apparatus for performing arithmetic operation of floating point numbers capable of improving speed of operation by performing canceling prediction operation in parallel
JPH10289096A (ja) 論理回路及び浮動小数点演算装置
US6061707A (en) Method and apparatus for generating an end-around carry in a floating-point pipeline within a computer system
JP2511527B2 (ja) 浮動小数点演算器
CN111290790B (zh) 一种定点转浮点的转换装置
JPH063578B2 (ja) 演算処理装置
JP2555135B2 (ja) 演算回路
US11983509B2 (en) Floating-point accumulator
JPH0731591B2 (ja) 先行1検出回路および浮動小数点加減算装置
JP2512939B2 (ja) 固定浮動デ−タ変換回路
JP2506891B2 (ja) 浮動小数点演算装置
JP3298119B2 (ja) 零フラグ生成加減算器
JPH061437B2 (ja) 演算処理装置
JPH0667852A (ja) 除算器
JPH0367328A (ja) 浮動小数点演算装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term