JPH07295790A - 2状態先行0/1予想機構(lza) - Google Patents

2状態先行0/1予想機構(lza)

Info

Publication number
JPH07295790A
JPH07295790A JP7033406A JP3340695A JPH07295790A JP H07295790 A JPH07295790 A JP H07295790A JP 7033406 A JP7033406 A JP 7033406A JP 3340695 A JP3340695 A JP 3340695A JP H07295790 A JPH07295790 A JP H07295790A
Authority
JP
Japan
Prior art keywords
leading
bit
bit string
identifying
combining
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
JP7033406A
Other languages
English (en)
Inventor
G Mikan Donald Jr
ドナルド・ジョージ・ミカン・ジュニア
Martin S Schmookler
マーチン・スタンレー・シュモークラー
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 JPH07295790A publication Critical patent/JPH07295790A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/74—Selecting 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
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

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

Abstract

(57)【要約】 【目的】 本発明の目的は、全加算器の結果を正規化す
る際に使用される、先行0/1を予想するための装置お
よび方法を提供することである。 【構成】 加算器への2つの入力の伝搬状態(P)、生
成状態(G)および0状態(Z)を2段の論理機構で組
み合わせて、それぞれのビット列によって加算器からの
出力の先行0状態および先行1状態が完全に指定される
1対の状態出力L0SおよびL1Sを導出する。その
後、一方は先行0見積を表し、もう一方は先行1見積を
表す2つの状態ビット列を組み合わせて、この2つのう
ちのどちらが適用可能であり、加算器結果が正負どちら
の値であるかと、正規化処理中にシフトによる除去を必
要とする先行ビット位置の数を判定する。 【効果】 本発明によれば、高速でデバイス数の少ない
回路実施態様に適した先行0/1予想機構がもたらされ
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、全般的にはディジタル
・コンピュータに関する。具体的には、本発明は、一般
に浮動小数点実行ユニット内で実行される先行0または
先行1を予想するためのシステムおよび方法に関する。
【0002】
【従来の技術】浮動小数点実行ユニット(プロセッサ)
の技術は、この10年間に非常に改良された。この進歩
は、縮小命令セット・コンピュータ(RISC)データ
処理アーキテクチャの成長と一致する。現在の浮動小数
点プロセッサ・アーキテクチャの1例が、IBM Corporat
ion社が市販するRISC System/6000ワークステーション
に見られる。関連する浮動小数点プロセッサ概念の多く
が、例えば、米国特許第4969118号明細書等に記
載されている。
【0003】従来の浮動小数点プロセッサは、1つの浮
動小数点数値演算の完了に30ないし50クロック・サ
イクルを費したが、現在のRISC設計は、32ビット
以上の仮数を有する同一の数学演算を5クロック・サイ
クル以下で実行する。
【0004】正規化とは、浮動小数点演算の実行に通常
使用される全加算器の正の出力の先行0または負の出力
の先行1を取り除くことである。取り除く必要のある先
行0または先行1の個数の判定は、全加算器での演算と
並列に達成されることが好ましい。このような並列性が
重要であるのは、現在、わずかなクロック・サイクルで
あっても、浮動小数点プロセッサの総合的な速度に対し
て大きな性能上の影響を及ぼすからである。
【0005】この並列動作の必要を求めて、以前に浮動
小数点プロセッサと共に使用された先行0/1「検出機
構」装置が、先行0/1「予想機構」アーキテクチャお
よび回路に置き換えられた。このような先行0/1予想
機構アーキテクチャの例は、例えば、米国特許第492
6369号明細書にあり、ホケネック(Hokenek)他に
よるthe IEEE Journal of Solid-State Circuits, Volu
me 25, No. 5, October, 1990, pages 1207-1213掲載の
論文、表題"Second-Generation RISC FloatingPoint wi
th Multiply-Add Fused"でさらに開発されている。先行
0/1予想機構(LZA)の目的は、全加算器からの出
力の後の正規化遅延を最少にすることである。理想的な
状況は、全加算器から仮数値が入手できるようになった
時に、先行0/1シフト調節を即座に使用できるように
することである。こうすると、加算器出力の符号に応じ
て、先行0または先行1のいずれかを取り除くために、
適宜左にシフトすることによって、仮数を即座に正規化
できるようになる。
【0006】米国特許第4926369号明細書に記載
されたアーキテクチャは、既存の設計に対する大きな改
良であることが判明しているが、このアーキテクチャで
は、全加算器に提示される2つの入力データ・ビット列
から5つの別々の変数(状態出力)の列の生成と、最終
的な論理組合せが必要である。状態を表す5つのビット
列を、ZZ、PP、PZ、PGおよびGGと呼ぶ。論理
組合せPZおよびPGの生成には、論理AND段と論理
OR段の両方が必要であり、連続したゲートの個数が拡
張され、シングル・レール高速論理回路を使用すること
ができない。さらに、変数の列が5つ存在するので、あ
る列の各ビットが上位ビット(そのビットの左側のすべ
てのビット)の関数になる必要があり、大きなファン・
イン負荷とファン・アウト負荷を有する論理回路の必要
が生じる。その結果、5状態設計を実施するのに必要な
論理回路は、簡単に寸法を縮小したり速度を高めること
ができなかった。
【0007】
【発明が解決しようとする課題】上記の教示で定義され
た先行0/1予想アーキテクチャおよび回路は、先行技
術に対する大きな改良であったが、現在の浮動小数点プ
ロセッサの必要に関しては低速であり複雑であることが
わかっている。
【0008】
【課題を解決するための手段】1形態において、本発明
は、ディジタル・プロセッサの加算器と共に使用される
先行0/1予想機構装置を対象とし、この加算器は、第
1および第2のデータ・ビット列の入力を受け取り、こ
の装置には、第1および第2のデータ・ビット列から導
出されたPビット列およびZビット列の論理組合せによ
って生成されるビット列の先行0を識別するための手段
と、第1および第2のデータ・ビット列から導出された
Pビット列およびGビット列の論理組合せによって生成
されるビット列の先行1を識別するための手段が含まれ
る。基本発明の変形では、ビット列が、それぞれ先頭0
検討用と先行1検討用の特定の論理機能の使用を介して
組み合わされ、もう1つの形態では、先行0に関連する
ビット列と先行1に関連するビット列の比較によって組
み合わされる。もう1つの形態では、本発明は、前述の
装置でもたらされる、先行0/1ビットを予想するため
の装置を使用する方法に対処する。
【0009】先行0予想機構装置の好ましい実施例によ
れば、加算器に入力される第1および第2のデータ・ビ
ット列が、ビット列P、ZおよびGに関して特徴づけら
れ、第1の組としてのビット列PおよびZの選択的組み
合わせと、第2の組としての列PおよびGの選択的組合
せの際に、それぞれが先行0削除情報と先行1削除情報
を伝える2組の結論ビット列を定義する。先行0削除情
報と先行1削除情報は、まず排他的論理和(XOR)ゲ
ートを介した組合せと、AND論理を使用して、最上位
ビット位置から進む前のすべての組合せの論理的評価と
によって、そのような入力データ・ビット列の対から抽
出されることが好ましい。この比較の結果は、それぞれ
が、全加算器からの仮数和に現れる、最初の0ビット位
置および最初の1ビット位置の実際の位置を提供する。
結果の符号と、0削除または1削除の選択は、OR論理
を介する2つのビット列の比較によって簡単に判定され
る。
【0010】本発明によって定義される先行0予想機構
装置および方法では、Z、PおよびGの比較から生成さ
れるビット列の数が5から2に減り、先行0と先行1が
同時に見積もられる。さらに、このアーキテクチャは、
使用する論理段の数が少なく、その回路配置は、適度な
ファン・インおよびファン・アウトの能力を有するCM
OSデバイスを使用する効率的な負論理実施態様に従っ
たものである。
【0011】本発明の上記その他の利点は、下に示す詳
細な説明を検討すれば明白になる。
【0012】
【実施例】図1は、本発明の好ましい実施例を示す図で
ある。本発明の目的は、正規化待ちの除去のため、全加
算器の出力に生成された先行0または負数の場合には先
行1を予想することである。図1の実施例では、全加算
器1が、前述のIEEE Journal論文および米国特許第49
69118号明細書で実行されるものに類似のmultiply
-add fuse(乗算加算融合)計算の仮数を計算する浮動
小数点プロセッサの最終段である。現在の実施態様で
は、先行0/1予想機構(LZA)2が、全加算器1の
刻時動作と並列に動作して、浮動小数点数の結果の仮数
を正規化するためにシフタ3が導入しなければならない
ビット位置の数を決定する。LZA動作から独自の、好
ましい正規化は、例えば、米国特許出願通し番号第08
/161361号明細書等に記載されている。
【0013】本発明のLZAの動作を、2つの例すなわ
ち、正の値の和を有する2つの数AおよびBの加算を表
す第1の例と、負の値の和を有する数CおよびDを用い
る第2の例によって説明する。AとBの加算は、表1な
いし表3によって説明し、CとDの合計は、表4ないし
表6を参照して説明する。表1、表2、表4および表5
にそれぞれ示される先行0見積と先行1見積は、同時に
行われ、その後、表3および表6に示された選択のため
に論理的に組み合わされることに留意されたい。本発明
の出力は、ディジタル・コンピュータ・フォーマット
で、先行0または先行1の個数と、それに対応する全加
算器結果の符号の両方を提供する。
【0014】
【表1】
【0015】
【表2】
【0016】
【表3】
【0017】
【表4】
【0018】
【表5】
【0019】
【表6】
【0020】表1を参照すると、この段での目標は、加
算器に入力として供給されたデータ列AおよびBを見積
もることである。ビット列AおよびBは、最上位ビット
(MSB)から最下位ビット(LSB)までの諸位置と
して表される。同様に、値AおよびBに対応する伝搬状
態(P)、生成状態(G)および0状態(Z)が、ビッ
ト位置に関連するそれぞれの列に示されている。この表
の一番下に、AとBの実際の2進和が、右から4番目の
ビット位置に1つだけ1があり、8個の先行0の列を有
する正の数になるビット列によって示されている。ここ
での目的は、8個の先行0があり、和の値が正であると
いう事実の論理的な判定を最適化することである。
【0021】表1に関して示される実践の好ましい方法
および装置には、全ビットが1からなるビット列とビッ
ト列AおよびBの論理合計と、個々のビット位置での和
を表すビット列およびその個々のビット位置に対応する
繰上りを表すビット列を、別個に生成することが含まれ
る。和のビット列と繰上りのビット列に対応する数式
は、表の下部に示されている。表1には、ビット位置ご
との和ビット列と繰上りビット列の排他的論理和(XO
R)組合せも示されている。2つの状態出力のうちの第
1の出力L0Sを生成する最終動作は、入力としてXO
Rビット列を使用して、最上位ビットからビット位置ご
とに増分式に増加する論理AND組合せを表す。この段
では、本装置および方法によって先行0の個数が識別さ
れているが、先行1の同時見積と、この2つの見積の相
対比較も実行しなければならない。
【0022】表2は、先行1の同様の見積を示す表であ
る。この場合、ビット位置ごとの和結果と繰上り結果
に、全ビット0のビット列とAおよびBの加算が含まれ
ることに留意されたい。やはり、ビット位置ごとの和と
繰上りのXOR結果を、論理ANDによって増分式に評
価して、第2状態出力を表すビット列L1Sを生成す
る。このビット列は、最上位3ビットが1から構成さ
れ、先行1見積の目的のために、最上位3ビットが先行
1であることを示していることに留意されたい。表3に
示された論理演算は、先行0ビット列と先行1ビット列
すなわち、2つの状態出力L0SとL1Sを比較して、
これら2つのうちの優越結果を選択し、これによって、
正規化中に状態出力のどちらに基づくシフトによって削
除するのかを決定することを表している。この結果によ
って、結果の符号も示される。
【0023】表3には、表1および表2からの2つの状
態出力ビット列、L0SおよびL1Sが示されている。
この2つのビット列に、ビット位置ごとの論理ORを適
用して、最終的なビット列を生成する。表3の最終的な
ビット列から、L0Sビット列に対する一致(1)によ
って、先行0削除が適用され、加算器の結果が正数であ
り、最後に、正規化で8個の先行0(2)を取り除かな
ければならないことが識別される。
【0024】表4ないし表6の系列に示された第2の例
は、加算器からの和が負の値の状況を示す例である。こ
の例では、加算器が、入力としてデータ・ビット列Cお
よびDを受け取り、ビット列Dは、大きな負の値であっ
て、CとDの和も負になるようになっている。CとDの
実際の和は、表4の一番下にある。表1に関して前に説
明した手順が、表4で実行される先行0見積の間に適用
される。対応する実行が、表5で行われ、この場合、表
2に関して前に詳細に説明したものと同様の先行1見積
が進行する。表4および表5からの2つの状態出力結
果、L0SおよびL1Sが、表6で比較される。この場
合、論理ORの結果が、先行1結果L1Sと一致して
(1)、先行1削除が適用され、CとDの加算の結果が
負であり、8個の先行1(2)を正規化中に取り除かな
ければならないことが示されることに留意されたい。
【0025】先行0を表す状態出力ビット列の生成に使
用されるさまざまビット列の間の数学的関係を、表1の
下に示す。したがって、位置iの和ビットは、データ・
ビット列AおよびBの対応するビット位置のXOR組合
せの補数に等しく、同様に、そのビット位置の伝搬の逆
数に等しい。同様に、あるビット位置の繰上りは、右側
に隣接するビット位置のAおよびBの値の論理OR組合
せに等しく、さらに、その隣接ビット位置の0状態の逆
数に等しい。表1のXORビット列は、選択されたビッ
ト位置のPの逆数と次の連続したビット位置のZの逆数
のXOR組合せに等しい。この値を、PZiと表す。状
態出力L0Siは、ビット位置のそれぞれについて、X
ORビット列に適用されるそれより上位のすべてのビッ
ト位置からの対応する結果を含む、論理AND組合せの
結果である。
【0026】表2の下に示された数学的関係から、ある
ビット位置の和が、同一位置の値AおよびBのXOR組
合せに対応し、さらに、そのビット位置の伝搬(P)に
等しいことが示される。あるビット位置の繰上りは、次
の連続するビット位置のAおよびBの値の論理AND組
合せに等しく、さらに、次の隣接ビット位置の生成
(G)に等しい。各ビット位置のXOR値は、そのビッ
ト位置の伝搬(P)と次の連続するビット位置の生成
(G)のXOR組合せに等しく、これは、そのビット列
によって表される状態のうちの第2の状態として定義さ
れる。この値を、PGiと表す。
【0027】正の結果を有するビット列AおよびBと、
負の結果を有するビット列CおよびDは、可能なP、G
およびZの組合せのスーパーセットである。したがっ
て、これらは、本実施態様が、加算器への入力として発
生する可能性のあるビット組合せのすべての範囲を包含
する可能性を示すものである。
【0028】基礎的な先行0情報および先行1情報は、
2つの状態出力ビット・ストリーム、L0SおよびL1
Sを介して完全に伝えられる。L0Sは、先行0の位置
の特性を表す。先行1のための、ビット・ストリームL
1Sによって表される状態に関して、同様の状況が存在
する。
【0029】本発明に従って実施されるものであれ、前
述のLZA従来技術に一致するものであれ、先行0/1
予想には、1ビット位置のカウント不足の可能性があ
る。これは、LZA見積が、加算器に入力されるデータ
・ビット列のMSB部分から実行される見積によって行
われるという事実に起因するものである。限られた場合
に、特定のP、GおよびZの組合せによって、数学的に
はビット列の右側から入る加算器への繰上り入力のため
に、LZAカウントが1ビット位置足りなくなる。好ま
しい解決策は、LZAによって指定される正規化シフト
を完了した後に、正規化システムに、適宜追加の0/1
に関して先行ビットを検査させることである。
【0030】先行0および先行1の特性を表す2つの状
態ビット列の生成を、図2のブロック4によって機能的
に示す。入力ZおよびGのビット位置が、入力Pに対し
て1位置シフトされていることに留意されたい。このZ
およびGの位置の相対シフトは、値PZiおよびPGiの
生成の特性を示す、表1および表2に示された数学的関
係に対応する。
【0031】図3は、通常のXORブロック6と増分式
加算ANDブロック(以下、ANDブロックと呼称す
る)7の使用を介して、図2のブロック4の内部の実際
の機能要素を示す図である。状態出力L0SおよびL1
Sが、先行0見積と先行1見積の結果を伝えることに留
意されたい。ANDブロック7は、ビット列L0Sまた
はL1Sのそれぞれのビットごとの出力状態を導出する
ために、最上位ビット位置から始まる増分式に増加する
ビットの組合せを必要とするので、ファン・インとファ
ン・アウトの検討が重要になる。図4に、図5に示され
た通常のANDブロック11からなる連続する段ブロッ
ク8および9を有する連続する段を使用する、図3のA
NDブロック7のAND機能の通常の実施態様を示す。
【0032】入力P、GおよびZの間に2つの論理状態
だけが存在し、先行0見積および先行1見積の結果を表
す2つの状態出力ビット列が存在することは、連続した
刻時式ゲートの個数を直接的に最少にするだけでなく、
より高速でより効率的な回路設計のためにブール論理操
作が可能になることから望ましい。これに関して、拡張
されたANDブロック7(図3および図4)の使用によ
って、多数の段で遅延が導入され、望ましくないファン
・インおよびファン・アウトの負荷効果が示されること
は明白である。対照的に、図6のブール等価回路では、
段数と負荷問題の少ないXNORゲートとORゲートが
使用されている。さらに、XNORゲートとORゲート
を使用することによって、より高速でファン・インおよ
びファン・アウト能力の高いシングル・レール負極性C
MOS構成を使用できるようになる。図7、図8および
図9は、本発明の好ましい実施で定義されたXNOR機
能およびOR機能を機能的に複製した回路を示す図であ
る。
【0033】本発明のもう1つの態様では、代替実施例
によって、負荷効果と段数を多少軽減する、ANDブロ
ック7(図3)のよりよい実施態様がもたらされる。1
6ビットの場合のこのAND実施態様の代表的な構成
を、図10に示す。これに対応する記号表現を、図11
に示す。このANDアーキテクチャは、すべてのAND
ゲートで最大4つのファン・インと共に、必要なビット
単位累算増加AND機能を提供し、2段だけで全機能を
達成することに留意されたい。
【0034】図12は、表3および表6に関して説明し
た組み合わせ演算を達成するためのORゲートの組の代
表を示す図である。すなわち、これらの表は、先行0削
除または先行1削除のどちらが適用されるかを、後続の
突合せによって判定するための、L0SとL1SのOR
組合せを示すものである。
【0035】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0036】(1)第1および第2のデータ・ビット列
から導出されたPビット列およびZビット列の論理組合
せによって生成されるビット列内の先行0を識別するた
めの手段と、第1および第2のデータ・ビット列から導
出されたPビット列およびGビット列の論理組合せによ
って生成されるビット列内の先行1を識別するための手
段とを含む、ディジタル・プロセッサの、第1および第
2のデータ・ビット列の入力を受け取る加算器と共に使
用する先行0/1予想機構装置。 (2)先行0を識別する手段が、最上位ビット位置から
始めて増分式に増加するビットのグループを組み合わせ
る論理機構を含むことを特徴とする、上記(1)に記載
の装置。 (3)先行1を識別する手段が、最上位ビット位置から
始めて増分式に増加するビットのグループを組み合わせ
る論理機構を含むことを特徴とする、上記(1)に記載
の装置。 (4)Pビット列およびZビット列ならびにPビット列
およびGビット列が、XOR型論理機構を使用して論理
的に組み合わされることを特徴とする、上記(1)に記
載の装置。 (5)増分式に増加するビットのグループを組み合わせ
る論理機構が、複数のANDゲートを含むことを特徴と
する、上記(2)に記載の装置。 (6)増分式に増加するビットのグループを組み合わせ
る論理機構が、複数のANDゲートを含むことを特徴と
する、上記(3)に記載の装置。 (7)符号と正規化すべき先行0/1の個数とを表すビ
ット列を選択する際に、識別された先行0の個数を識別
された先行1の個数と比較する手段をさらに含む、上記
(1)に記載の装置。 (8)第1および第2のデータ・ビット列から導出され
たPビット列およびZビット列の論理組合せによって生
成されるビット列内の先行0を識別するステップと、第
1および第2のデータ・ビット列から導出されたPビッ
ト列およびGビット列の論理組合せによって生成される
ビット列内の先行1を識別するステップとを含む、ディ
ジタル・プロセッサの、第1および第2のデータ・ビッ
ト列の入力を受け取る加算器の動作と共に、先行0/1
を検出する方法。 (9)先行0を識別するステップが、最上位ビット位置
から始めて増分式に増加するビットのグループを組み合
わせるステップを含むことを特徴とする、上記(8)に
記載の方法。 (10)先行1を識別するステップが、最上位ビット位
置から始めて増分式に増加するビットのグループを組み
合わせるステップを含むことを特徴とする、上記(8)
に記載の方法。 (11)Pビット列およびZビット列ならびにPビット
列およびGビット列が、XOR型論理機構を使用して論
理的に組み合わされることを特徴とする、上記(8)に
記載の方法。 (12)増分式に増加するグループを組み合わせるステ
ップが、AND論理演算を含むことを特徴とする、上記
(9)に記載の方法。 (13)増分式に増加するグループを組み合わせるステ
ップが、AND論理演算を含むことを特徴とする、上記
(10)に記載の方法。 (14)符号と正規化すべき先行0/1の個数とを表す
ビット列を選択する際に、識別された先行0の個数を識
別された先行1の個数と比較するステップをさらに含
む、上記(8)に記載の方法。
【0037】
【発明の効果】本発明によって、より少ない論理段と、
効率的な寸法と速度の回路実施態様に従う論理機能を用
いて、加算器からの実際の結果を予想して先行0/1ビ
ットを検出する装置および方法が提供される。
【図面の簡単な説明】
【図1】プロセッサに関する先行0予想機構(LZA)
の位置を示す概略ブロック図である。
【図2】プロセッサの加算器からの仮数における先行0
および先行1の位置を特徴づける先行0ビット列と先行
1ビット列の生成に使用されるZ要素、P要素およびG
要素を示す概略ブロック図である。
【図3】複数の加算器入力ビットを有するシステムに印
加される際の図2のブロック内の論理機構を示す概略ブ
ロック図である。
【図4】図3の加算ANDブロックの内部の論理機構の
概略ブロック図である。
【図5】図4のブロックの内部の論理機構の概略ブロッ
ク図である。
【図6】図7、図8および図9の論理ブロックを使用す
る、図3の実施態様を示すブロック図である。
【図7】好ましい論理ブロックと効率的なCMOS集積
回路実施態様の間の対応を示す概略図である。
【図8】好ましい論理ブロックと効率的なCMOS集積
回路実施態様の間の対応を示す概略図である。
【図9】好ましい論理ブロックと効率的なCMOS集積
回路実施態様の間の対応を示す概略図である。
【図10】図3のAND論理機構の効率的な実施態様を
示す概略ブロック図である。
【図11】図10に示された論理機構の記号表現を示す
図である。
【図12】正規化中の適用可能性に関するL0SとL1
Sの比較に使用されるOR論理機構の概略ブロック図で
ある。
【符号の説明】
1 全加算器 2 先行0/1予想機構(LZA) 3 シフタ 4 ブロック 6 XORブロック 7 増分式加算ANDブロック(ANDブロック) 8 段ブロック 9 段ブロック 11 ANDブロック
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーチン・スタンレー・シュモークラー アメリカ合衆国78731、テキサス州オース チン ロックポイント・ドライブ 7504

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】第1および第2のデータ・ビット列から導
    出されたPビット列およびZビット列の論理組合せによ
    って生成されるビット列内の先行0を識別するための手
    段と、 第1および第2のデータ・ビット列から導出されたPビ
    ット列およびGビット列の論理組合せによって生成され
    るビット列内の先行1を識別するための手段とを含む、
    ディジタル・プロセッサの、第1および第2のデータ・
    ビット列の入力を受け取る加算器と共に使用する先行0
    /1予想機構装置。
  2. 【請求項2】先行0を識別する手段が、最上位ビット位
    置から始めて増分式に増加するビットのグループを組み
    合わせる論理機構を含むことを特徴とする、請求項1に
    記載の装置。
  3. 【請求項3】先行1を識別する手段が、最上位ビット位
    置から始めて増分式に増加するビットのグループを組み
    合わせる論理機構を含むことを特徴とする、請求項1に
    記載の装置。
  4. 【請求項4】Pビット列およびZビット列ならびにPビ
    ット列およびGビット列が、XOR型論理機構を使用し
    て論理的に組み合わされることを特徴とする、請求項1
    に記載の装置。
  5. 【請求項5】増分式に増加するビットのグループを組み
    合わせる論理機構が、複数のANDゲートを含むことを
    特徴とする、請求項2に記載の装置。
  6. 【請求項6】増分式に増加するビットのグループを組み
    合わせる論理機構が、複数のANDゲートを含むことを
    特徴とする、請求項3に記載の装置。
  7. 【請求項7】符号と正規化すべき先行0/1の個数とを
    表すビット列を選択する際に、識別された先行0の個数
    を識別された先行1の個数と比較する手段をさらに含
    む、請求項1に記載の装置。
  8. 【請求項8】第1および第2のデータ・ビット列から導
    出されたPビット列およびZビット列の論理組合せによ
    って生成されるビット列内の先行0を識別するステップ
    と、 第1および第2のデータ・ビット列から導出されたPビ
    ット列およびGビット列の論理組合せによって生成され
    るビット列内の先行1を識別するステップとを含む、デ
    ィジタル・プロセッサの、第1および第2のデータ・ビ
    ット列の入力を受け取る加算器の動作と共に、先行0/
    1を検出する方法。
  9. 【請求項9】先行0を識別するステップが、最上位ビッ
    ト位置から始めて増分式に増加するビットのグループを
    組み合わせるステップを含むことを特徴とする、請求項
    8に記載の方法。
  10. 【請求項10】先行1を識別するステップが、最上位ビ
    ット位置から始めて増分式に増加するビットのグループ
    を組み合わせるステップを含むことを特徴とする、請求
    項8に記載の方法。
  11. 【請求項11】Pビット列およびZビット列ならびにP
    ビット列およびGビット列が、XOR型論理機構を使用
    して論理的に組み合わされることを特徴とする、請求項
    8に記載の方法。
  12. 【請求項12】増分式に増加するグループを組み合わせ
    るステップが、AND論理演算を含むことを特徴とす
    る、請求項9に記載の方法。
  13. 【請求項13】増分式に増加するグループを組み合わせ
    るステップが、AND論理演算を含むことを特徴とす
    る、請求項10に記載の方法。
  14. 【請求項14】符号と正規化すべき先行0/1の個数と
    を表すビット列を選択する際に、識別された先行0の個
    数を識別された先行1の個数と比較するステップをさら
    に含む、請求項8に記載の方法。
JP7033406A 1994-04-15 1995-02-22 2状態先行0/1予想機構(lza) Pending JPH07295790A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US228323 1994-04-15
US08/228,323 US5493520A (en) 1994-04-15 1994-04-15 Two state leading zero/one anticipator (LZA)

Publications (1)

Publication Number Publication Date
JPH07295790A true JPH07295790A (ja) 1995-11-10

Family

ID=22856710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7033406A Pending JPH07295790A (ja) 1994-04-15 1995-02-22 2状態先行0/1予想機構(lza)

Country Status (3)

Country Link
US (1) US5493520A (ja)
EP (1) EP0677805A1 (ja)
JP (1) JPH07295790A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805904B2 (en) 2011-02-08 2014-08-12 Samsung Electronics Co., Ltd. Method and apparatus for calculating the number of leading zero bits of a binary operation

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751621A (en) * 1994-11-17 1998-05-12 Hitachi, Ltd. Multiply-add unit and data processing apparatus using it
JPH09507941A (ja) * 1995-04-18 1997-08-12 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン multiply−add浮動小数点シーケンスにおけるウエイト・サイクルなしのブロック正規化
WO1996033456A1 (de) * 1995-04-18 1996-10-24 International Business Machines Corporation Übertrag-auswahl-addierer mit einer vorermittlung der führenden nullstellen
RU95107478A (ru) * 1995-05-18 1997-02-10 А.И. Грушин Способ устранения старших незначащих цифр при вычислениях с плавающей запятой и устройство для его осуществления
US5808926A (en) * 1995-06-01 1998-09-15 Sun Microsystems, Inc. Floating point addition methods and apparatus
KR970016936A (ko) * 1995-09-06 1997-04-28 엘리 와이스 최상위 디지트를 결정하는 장치 및 방법
US5844830A (en) * 1996-08-07 1998-12-01 Sun Microsystems, Inc. Executing computer instrucrions by circuits having different latencies
US5844826A (en) * 1996-10-18 1998-12-01 Samsung Electronics Co., Ltd. Leading zero count circuit
KR100253407B1 (ko) * 1998-01-23 2000-04-15 김영환 에프오디 회로
AU3492699A (en) * 1998-05-19 1999-12-06 Intel Corporation A leading bit anticipator for floating point multiplication
US6173300B1 (en) 1998-08-11 2001-01-09 Advanced Micro Devices, Inc. Method and circuit for determining leading or trailing zero count
US6178437B1 (en) 1998-08-25 2001-01-23 International Business Machines Corporation Method and apparatus for anticipating leading digits and normalization shift amounts in a floating-point processor
US6499044B1 (en) 1999-11-12 2002-12-24 Jeffrey S. Brooks Leading zero/one anticipator for floating point
US6513053B1 (en) 2000-01-12 2003-01-28 Arm Limited Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits
US6594679B1 (en) * 2000-03-20 2003-07-15 International Business Machines Corporation Leading-zero anticipator having an independent sign bit determination module
US7451172B2 (en) 2005-02-10 2008-11-11 International Business Machines Corporation Handling denormal floating point operands when result must be normalized
US7698353B2 (en) * 2005-09-14 2010-04-13 Freescale Semiconductor, Inc. Floating point normalization and denormalization
US8015230B2 (en) * 2007-06-08 2011-09-06 Apple Inc. Fast modular zero sum and ones sum determination
US7609000B1 (en) * 2007-10-22 2009-10-27 Google Inc. Variable-length compression technique for encoding or decoding a sequence of integers
US7652596B1 (en) * 2007-10-22 2010-01-26 Google Inc. Variable-length compression technique for encoding or decoding a sequence of integers
US8250126B2 (en) * 2007-12-26 2012-08-21 Oracle America, Inc. Efficient leading zero anticipator
US8489663B2 (en) 2009-06-05 2013-07-16 Advanced Micro Devices Decimal floating-point adder with leading zero anticipation
US9274752B2 (en) * 2012-12-28 2016-03-01 Intel Corporation Leading change anticipator logic
US9298420B2 (en) 2013-07-26 2016-03-29 International Business Machines Corporation Identification of the bit position of a selected instance of a particular bit value in a binary bit string
US9830129B2 (en) * 2013-11-21 2017-11-28 Samsung Electronics Co., Ltd. High performance floating-point adder with full in-line denormal/subnormal support
JP6871513B2 (ja) * 2017-05-22 2021-05-12 富士通株式会社 演算器及び演算器の制御方法
RU2703335C1 (ru) * 2019-03-11 2019-10-16 федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Устройство пирамидальной структуры для детектирования групп нулевых и единичных бит и определение их количества

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777613A (en) * 1986-04-01 1988-10-11 Motorola Inc. Floating point numeric data processor
DE3681591D1 (de) * 1986-10-31 1991-10-24 Ibm Verfahren und schaltungsanordnung zur addition von gleitkommazahlen.
US5181186A (en) * 1988-04-13 1993-01-19 Al Ofi Moatad S TPC computers
US4979141A (en) * 1988-09-28 1990-12-18 Data General Corporation Technique for providing a sign/magnitude subtraction operation in a floating point computation unit
US4926369A (en) * 1988-10-07 1990-05-15 International Business Machines Corporation Leading 0/1 anticipator (LZA)
US4969118A (en) * 1989-01-13 1990-11-06 International Business Machines Corporation Floating point unit for calculating A=XY+Z having simultaneous multiply and add
US5282156A (en) * 1991-01-31 1994-01-25 Matsushita Electric Industrial Co., Ltd. Leading one anticipator and floating point addition/subtraction apparatus employing same
US5204825A (en) * 1991-08-30 1993-04-20 Weitek Corporation Method and apparatus for exact leading zero prediction for a floating-point adder
US5343413A (en) * 1992-07-06 1994-08-30 Matsushita Electric Industrial Co., Ltd. Leading one anticipator and floating point addition/subtraction apparatus
US5317527A (en) * 1993-02-10 1994-05-31 Digital Equipment Corporation Leading one/zero bit detector for floating point operation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805904B2 (en) 2011-02-08 2014-08-12 Samsung Electronics Co., Ltd. Method and apparatus for calculating the number of leading zero bits of a binary operation

Also Published As

Publication number Publication date
US5493520A (en) 1996-02-20
EP0677805A1 (en) 1995-10-18

Similar Documents

Publication Publication Date Title
US6904446B2 (en) Floating point multiplier/accumulator with reduced latency and method thereof
US5493520A (en) Two state leading zero/one anticipator (LZA)
US5508950A (en) Circuit and method for detecting if a sum of two multibit numbers equals a third multibit constant number prior to availability of the sum
US4320464A (en) Binary divider with carry-save adders
US6738795B1 (en) Self-timed transmission system and method for processing multiple data sets
US5367477A (en) Method and apparatus for performing parallel zero detection in a data processing system
US5717616A (en) Computer hardware instruction and method for computing population counts
JPS6114532B2 (ja)
Nielsen et al. An IEEE compliant floating-point adder that conforms with the pipeline packet-forwarding paradigm
CN102495714B (zh) 执行浮点减法的装置与方法
EP1752870B1 (en) Multiplier
US7373369B2 (en) Advanced execution of extended floating-point add operations in a narrow dataflow
US6499044B1 (en) Leading zero/one anticipator for floating point
EP0295788A2 (en) Apparatus and method for an extended arithmetic logic unit for expediting selected operations
US5097436A (en) High performance adder using carry predictions
US8407277B1 (en) Full subtractor cell for synthesis of area-efficient subtractor and divider
Boo et al. A VLSI architecture for arithmetic coding of multilevel images
EP0361886B1 (en) Improved floating point computation unit
US7069290B2 (en) Power efficient booth recoded multiplier and method of multiplication
US5754458A (en) Trailing bit anticipator
JP2604951B2 (ja) 並列動作の複数の処理要素を使用した数値問題の解決方法および装置
US7693925B2 (en) Multiplicand shifting in a linear systolic array modular multiplier
JPH09114641A (ja) 最上位デジットを決定するための装置と方法
US5978826A (en) Adder with even/odd 1-bit adder cells
US7444366B2 (en) Faster shift value calculation using modified carry-lookahead adder