JP2001092631A - ゼロ結果検出器およびゼロ結果を検出する方法 - Google Patents

ゼロ結果検出器およびゼロ結果を検出する方法

Info

Publication number
JP2001092631A
JP2001092631A JP2000236614A JP2000236614A JP2001092631A JP 2001092631 A JP2001092631 A JP 2001092631A JP 2000236614 A JP2000236614 A JP 2000236614A JP 2000236614 A JP2000236614 A JP 2000236614A JP 2001092631 A JP2001092631 A JP 2001092631A
Authority
JP
Japan
Prior art keywords
zero
zero result
value
inverter
detector
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
JP2000236614A
Other languages
English (en)
Inventor
David William Steer
ウィリアム スティア デビッド
Guy Townsend Hutchison
タウンゼンド ヒッチソン ガイ
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.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines Ltd
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 ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of JP2001092631A publication Critical patent/JP2001092631A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • 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/02Comparing digital values

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 種々の演算の処理速度を大きく増大するため
に、入力数に対して完全な算術演算を行なわずにゼロ結
果を検出する比較的に簡単なゼロ結果予測メカニズムを
提供する。 【解決手段】 第1のオペランドA、第2のオペランド
BおよびキャリービットCinの和のゼロ結果を検出す
るためA(バー)およびA(バー)+1を計算し、次に
これらの一方をCinに依存してBと比較する(Cin
=0,A(バー);Cin=1,A(バー)+1)よう
なゼロ結果検出器を構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はゼロ結果検出器並び
にゼロ結果を検出する方法に関する。
【0002】
【従来の技術】マクロプロセッサの動作の間でのゼロ結
果の検出は、それが例えば条件付きプログラム実行の制
御で重大なタイミングパス(timing path)
を形成する可能性があるために重要である。実例とし
て、2つの数の和の結果を後続の除法演算で分母として
使用する場合にはその結果のゼロ検出が後続の演算での
ゼロによる除算を回避し(このゼロ検出結果が遅れて利
用可能とされる場合に)速度を可能にすることができる
ような状態を考えられたい。
【0003】ゼロ検出機能は、計算あるいは論理演算の
結果が全て低のビットに設定された時には真のブーリア
ン結果を発生し、1つあるいはそれ以上のビットが高に
設定されている時には偽のブーリアン結果を発生するこ
とができる。これは算術論理ユニット(ALU)の出力
にN−ビット幅のNOR計算を適用することによって行
なわれ得る。しかしながら、これは、結果がALUから
利用可能でなくなるまでNOR機能は開始され得ないた
め、低速である。しかしながら、算術演算は例えば伝播
を導入しそのためゼロ検出の遅発的可用性が制限因子と
なるため大きな速度低下負担をかける傾向があるため論
理演算に対してはこれは問題にはならないことであろ
う。
【0004】ゼロ検出結果が利用可能になる速度を増大
することができる手段は強力な有利性を持つ。更にま
た、初期のゼロ検出回路が寸法、コストおよびシステム
全体の複雑さに不利な要素を加えないことも重要であ
る。
【0005】米国特許第US−A−5,604,689
号および米国特許US−A−5,020,016号は共
初期のに初期のゼロ検出回路を記載している。
【0006】
【発明が解決しようとする課題】従って、発明が解決し
ようとする課題は、第1のオペランドA、第2のオペラ
ンドBおよびキャリービットCinの和のゼロ結果を検
出するためA(バー)およびA(バー)+1を計算し、
次にこれらの一方をCinに依存してBと比較する(C
in=0,A(バー);Cin=1,A(バー)+1)
ようなゼロ結果検出器を提供することにある。比較が等
しく示したら、ゼロ検出結果Zは真である。
【0007】
【課題を解決するための手段】本発明の1つの特徴によ
れば、第1の数A、第2の数BおよびキャリービットC
の和が0に等しい時を検出するゼロ結果検出器が設けら
れ、その際にAおよびBは2進数であり、このゼロ結果
検出器は、A、−Aの負値を表す数を発生するように動
作する第1の数発生器と、Aマイナス1、−A−1の負
値を表す数を発生するように動作する第2の数発生器
と、キャリービットの値に応じて前記第1の数発生器の
出力あるいは前記第2の数発生器の出力を選択するよう
に動作する選択器と、前記選択値と第2の数Bとの比較
に依存して和が0を表すゼロ結果信号を発生するように
働く比較器と、を具備している。
【0008】本発明の装置は入力数に対して完全な算術
演算を行なわずにゼロ結果を検出する比較的に簡単なメ
カニズムを与える。ゼロ結果は加算の結果についてのゼ
ロ検出を行なわずにゼロを予測するように入力オペラン
ドを用いて算術演算と平行列的に計算される。これは種
々の演算の処理速度を大きく増大することができる。
【0009】第1の数発生器の好適実施例の動作におい
て、第2の数発生器および選択器は第2の数Bとは無関
係で、そのため第2の数Bは第1の数Aよりも遅れて前
記結果検出器に入力され得ることができる。
【0010】本発明のゼロ結果検出器の構成により、1
つのオペランドが第2のオペランドに遅れて到達する前
に利用可能であるような応用に特に効果的である。例え
ば、第2のオペランドBがAにそれを加える前にバレル
シフトされる(barrelshifted)状況が存
在する。
【0011】有利なことに、第1および第2の数発生器
は負値を表すために2の補数を使用している。2の補数
は、標準の加算論理がこのような負数を正しく取り扱う
ことができるため負数を表すには特に有効的な表記法で
ある。
【0012】好適実施例において、Aマイナス1の負値
を表す数を発生する第2の数発生器は第1の数Aを反転
するインバータを備えており、Aの負値を表す数を発生
する第1の数発生器は第1の数Aを反転するインバータ
とこのインバータの出力に1を加えるインクリメンタ
(incrementor)とを備えている。
【0013】この論理回路は第1の数Aの必要な操作バ
ージョンを生じさせる効果的な態様を与える。
【0014】好ましいことに、第1の数発生器のインバ
ータおよび第2の数発生器のインバータは同一で単一の
インバータである。
【0015】本発明の別の特徴によれば、第1の数A、
第2の数BおよびキャリービットCの和のゼロ結果を検
出する方法が与えられ、その際にAおよびBは2進数で
あり、この方法は、A、−Aの負数を表す第1の数を発
生するステップと、A−1、−A−1の負値を表す第2
の数を発生するステップと、キャリービットの値に応じ
て前記第1の数または前記第2の数のいずれかを選択す
るステップと、この選択値を前記第2の数と比較するス
テップと、これらの値が等しい時に和がゼロであること
を表すゼロ結果信号を発生するステップと、を具備して
いる。
【0016】
【発明の実施の形態】本発明の以上および他の目的並び
に特徴および長所は,添付図面に関連して読まれるべき
図示実施例の以下の詳細な説明から明確になるであろ
う。
【0017】図1を参照すれば、本発明の実施例による
ゼロ結果予測器が示されている。この装置は入力オペラ
ンドAを反転するインバータ10とこのオペランドを1
だけ進めるインクリメンタ20と選択器30と比較器4
0とを備えている。
【0018】入力オペランドAはインバータ10により
反転され、このインバータは複数の並列構成のNOTゲ
ートからなり、各NOTゲートはAオペランドのビット
の1つを1つの入力として受けるように構成されてい
る。Aの反転値は次に2つのライン分割されるが、これ
らの一方はインクリメンタ20に供給され、そこで値は
1だけ進められ、他方は選択器30への入力として進
む。選択器30は和のためのキャリー入力Cinからな
る第3の入力を備え、それは他の2つの入力すなわちA
(バー)またはA(バー)+1の一方をキャリー入力C
inの値に基づいて(Cin=0はA(バー)+1を選
択し、Cin=1はA(バー)を選択する)を選択する
ように働く。選択器からの結果は次いで比較器40に送
られ、そこでそれは第2のオペランドBと比較される。
比較器40は複数の排他的に並列に構成されたORゲー
トからなり、そのため2つの入力数の各ビットは共に排
他的OR操作される。2つの数のビットの全てが等しけ
れば、各ゲートから0が出力される。これらビットのど
れかが等しくなければ、そのゲートから1が出力され
る。排他的ORゲートからの出力はそれら自体、2つの
数が等しければ1のゼロ検出結果Zを発生しかつそうで
なければ0を発生するように共にNOR操作される。比
較器からの1の結果はゼロの結果が並列的に進んでいる
全算術的演算から生じることを指示するために使用され
てもよい。
【0019】図1の回路の動作例のために、以下の例を
考察する。A=+7並びにB=−7であるとすれば、2
進形のAは00000111で与えられ,Bは1111
1001として2の補数表記で2進形で与えられる。イ
ンバータ10は11111000であるA(バー)の値
を生じさせる。A(バー)のこの値はインクリメンタ2
0と選択器(マルチプレクサ)30とに並列に与えられ
る。インクリメンタ20はそれに入力されるA(バー)
の値を1だけ進め、11111001の出力を発生す
る。インクリメンタ20からの出力は選択器30の他の
入力に供給される。
【0020】選択器30はビットCinのキャリーに依
存してその入力の1つが比較器40に向けられるように
選択する。この例において、ビットCinのキャリーは
0であり、そのためインクリメンタ20の出力は比較器
40に向けられる。従って、比較器40はA(バー)+
1をBと比較する。これら入力の両方は1111100
1を有する。従って、比較器40によって発生されるゼ
ロ検出結果Zは1となる。
【0021】上の例において、入力Cinのキャリーが
0ではなく1を持ったとしたら、選択器30は他の入力
を選択したことになりかつ比較器40はその2つの入力
で同等性を見い出さなかったということを認識された
い。この状況で、ゼロ検出結果Zは要求通り0であった
ことになる。
【0022】Aが−42でBが+41でCinが1のよ
うな状況の例を考慮されたい。2進表示でAは1101
0110(2の補数)かつBは00101001であ
る。インバータ20からの出力は00101001であ
り、これは選択器30の1つの入力に直接与えられる。
インバータ10の出力もインクリメンタ20によって進
められ、選択器30の他の入力に供給される00101
010の値が作られる。選択器30は1の値を有するキ
ャリー入力Cinによって制御されて比較器40に供給
するための値00101001を選択する。第2の入力
オペランドB(相当遅れて供給されることができる)も
00101001に等しくなり、そのためゼロ検出結果
Zは1となる。
【0023】最後に、Aが129でBが−4でCinが
0の例を考える。この場合に、この2進表示は、Aが1
0000001で、Bは11111100である。A
(バー)の値は01111110であり、A(バー)+
1の値は01111111である。0の2進入力の結
果、A(バー)+1値は選択器30により比較器40に
供給されることになる。比較器40の他の入力はBすな
わち11111100である。比較器40はそれに供給
される2つの入力値が等しくなくその結果ゼロ検出結果
Zが0として与えられることを決定する。この非等量性
は、2つの入力オペランドAおよびBが極めて異なって
いるためたとえキャリー入力Cin値が使用されても不
変である。
【0024】本発明の図示実施例が添付図面を参照して
ここで詳細に説明されたが、本発明はこれらの正確な実
施例に限定されず、かつ種々の変化および変更が添付の
請求の範囲によって規定されるような発明の範囲および
精神から逸脱することなく当業者により本明細書内で行
なわれ得ることを理解すべきである。
【図面の簡単な説明】
【図1】本発明の実施例によるゼロ結果予測器を示す。
【符号の説明】
10 インバータ 20 インクリメンタ 30 選択器 40 比較器
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ガイ タウンゼンド ヒッチソン アメリカ合衆国 カリフォルニア、サンタ クララ、 スタンレイ アベニュー 2005

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 第1の数A、第2の数Bおよびキャリー
    ビットCの和が0に等しい時を検出するゼロ結果検出器
    において、AおよびBは2進数であり、 A、−Aの負値を表す数を発生するように動作する第1
    の数発生器と、 Aマイナス1、−A−1の負値を表す数を発生するよう
    に動作する第2の数発生器と、 キャリービットの値に応じて前記第1の数発生器の出力
    あるいは前記第2の数発生器の出力を選択するように動
    作する選択器と、 前記選択値と第2の数Bとの比較に依存して和が0を表
    すゼロ結果信号を発生するように動作する比較器と、を
    具備することを特徴とするゼロ結果検出器。
  2. 【請求項2】 請求項1記載のゼロ結果検出器におい
    て、前記第1の数発生器、前記第2の数発生器および前
    記選択器の動作は第2の数Bには無関係であり、そのた
    め第2の数Bは第1の数Aよりも遅く前記ゼロ結果検出
    器に入力され得るようにしたことを特徴とするゼロ結果
    検出器。
  3. 【請求項3】 請求項1記載のゼロ結果検出器におい
    て、前記第1および第2の数発生器は負数を表すために
    2の補数表記法を用いるようにしたことを特徴とするゼ
    ロ結果検出器。
  4. 【請求項4】 請求項3記載のゼロ結果検出器におい
    て、Aマイナス1の負値を表す数を発生する前記第2の
    数発生器は第1の数Aを反転するインバータを備えてお
    り、Aの負値を表す数を発生する前記第1の数発生器は
    第1の数Aを反転するインバータおよびこのインバータ
    の出力に加えるためのインクリメンタを備えていること
    を特徴とするゼロ結果検出器。
  5. 【請求項5】 請求項4記載のゼロ結果検出器におい
    て、前記第1の数発生器のインバータおよび前記第2の
    数発生器のインバータは同一で単一のインバータである
    ことを特徴とするゼロ結果検出器。
  6. 【請求項6】 第1の数A、第2の数Bおよびキャリー
    ビットCの和のゼロ結果を検出する方法において、Aお
    よびBは2進数であり、 A、−Aの負数を表す第1の数を発生するステップと、 Aマイナス1、−A−1の負値を表す第2の数を発生す
    るステップと、 キャリービットの値に応じて前記第1の数または前記第
    2の数のいずれかを選択するステップと、 前記選択値を第2の数Bの値と比較するステップと、 これらの値が等しい時和がゼロであることを表すゼロ結
    果信号を発生するステップと、を具備することを特徴と
    する方法。
JP2000236614A 1999-09-09 2000-08-04 ゼロ結果検出器およびゼロ結果を検出する方法 Pending JP2001092631A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9921327.4 1999-09-09
GB9921327A GB2354091B (en) 1999-09-09 1999-09-09 Zero result prediction

Publications (1)

Publication Number Publication Date
JP2001092631A true JP2001092631A (ja) 2001-04-06

Family

ID=10860640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000236614A Pending JP2001092631A (ja) 1999-09-09 2000-08-04 ゼロ結果検出器およびゼロ結果を検出する方法

Country Status (3)

Country Link
US (1) US6629118B1 (ja)
JP (1) JP2001092631A (ja)
GB (1) GB2354091B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001046795A2 (en) * 1999-12-23 2001-06-28 Intel Corporation Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US6826588B2 (en) * 1999-12-23 2004-11-30 Intel Corporation Method and apparatus for a fast comparison in redundant form arithmetic
US6754689B2 (en) 1999-12-23 2004-06-22 Intel Corporation Method and apparatus for performing subtraction in redundant form arithmetic
US6813628B2 (en) * 1999-12-23 2004-11-02 Intel Corporation Method and apparatus for performing equality comparison in redundant form arithmetic
US20040001505A1 (en) * 2002-06-27 2004-01-01 Sun Microsystems, Inc. Circuit for adding one to a binary number
US20040015534A1 (en) * 2002-07-17 2004-01-22 Sun Microsystems, Inc. Method for adding one to a binary number
CN100426219C (zh) * 2006-12-20 2008-10-15 北京中星微电子有限公司 一种集成电路中的数据运算方法及装置
US20090292757A1 (en) * 2008-05-23 2009-11-26 Steven Leeland Method and apparatus for zero prediction
US8572154B2 (en) * 2010-09-27 2013-10-29 Texas Instruments Incorporated Reduced-level two's complement arithmetic unit

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6148038A (ja) * 1984-08-15 1986-03-08 Hitachi Ltd 加算器の零検出方式
US4648059A (en) * 1984-09-13 1987-03-03 Motorola, Inc. N-bit magnitude comparator
EP0452517A1 (de) * 1990-03-20 1991-10-23 Siemens Aktiengesellschaft Zwei-Summen-Vergleicher
US5581496A (en) * 1992-07-20 1996-12-03 Industrial Technology Research Institute Zero-flag generator for adder
US5586069A (en) * 1994-09-30 1996-12-17 Vlsi Technology, Inc. Arithmetic logic unit with zero sum prediction
US6292818B1 (en) * 1999-01-12 2001-09-18 Hewlett-Packard Company Method and apparatus for performing a sum-and-compare operation

Also Published As

Publication number Publication date
GB2354091B (en) 2003-08-27
GB9921327D0 (en) 1999-11-10
US6629118B1 (en) 2003-09-30
GB2354091A (en) 2001-03-14

Similar Documents

Publication Publication Date Title
US4578750A (en) Code determination using half-adder based operand comparator
US5862065A (en) Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer
JP2002108606A (ja) スティッキービット生成回路及び乗算器
JPH06348454A (ja) 算術または論理演算の計算結果の検出方法
EP0478731A1 (en) Early scism alu status determination apparatus
JPH0542011B2 (ja)
US9146707B2 (en) Generating a fast 3x multiplicand term for radix-8 booth multiplication
US7827226B2 (en) Hybrid arithmetic logic unit
JPH0260004B2 (ja)
JP2001092631A (ja) ゼロ結果検出器およびゼロ結果を検出する方法
US7437400B2 (en) Data processing apparatus and method for performing floating point addition
JPH06195147A (ja) クロック制御装置
US6499046B1 (en) Saturation detection apparatus and method therefor
JPH10187416A (ja) 浮動小数点演算装置
US20060066460A1 (en) Arithmetic unit
US4878193A (en) Method and apparatus for accelerated addition of sliced addends
US7386580B2 (en) Data processing apparatus and method for computing an absolute difference between first and second data elements
JPH08123668A (ja) 固定小数点除算装置および除算方法
US20090292757A1 (en) Method and apparatus for zero prediction
JP3509069B2 (ja) 飽和選択装置とそのための方法
KR100385233B1 (ko) 데이터 프로세싱 시스템의 익스포넌트 유닛
US5801978A (en) Overflow detection for integer-multiply instruction
US10534580B2 (en) Comparing a runlength of bits with a variable number
JP2591250B2 (ja) データ処理装置
JP2000322237A (ja) 乗算装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081031

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090327