JPH0883165A - コンパレータ装置 - Google Patents

コンパレータ装置

Info

Publication number
JPH0883165A
JPH0883165A JP7047236A JP4723695A JPH0883165A JP H0883165 A JPH0883165 A JP H0883165A JP 7047236 A JP7047236 A JP 7047236A JP 4723695 A JP4723695 A JP 4723695A JP H0883165 A JPH0883165 A JP H0883165A
Authority
JP
Japan
Prior art keywords
sum
result
test
mathematical operation
variables
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
JP7047236A
Other languages
English (en)
Inventor
Richard D Simpson
ディー.シンプソン リチャード
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH0883165A publication Critical patent/JPH0883165A/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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • 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

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 【目的】 数学的オペレーションを実行することを要し
ないコンパレータ装置。 【構成】 2つのXNORゲート、12,14及びマル
チプレクサ(MUX)16を含む。XNORゲートへの
入力がMUX16へパスされ、値の比較が真であれば抵
抗値R(n−1)が選択される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマイクロプロセッサの演
算論理装置(ALU)で実行されるコンパレータ装置の
改良に関連する。
【0002】
【従来の技術及びその課題】典型的なマイクロプロセッ
サは、以下の機能ブロックを有する。回路を構成する中
央処理装置(CPU)はメモリの適当なロケーションに
アクセスし、命令を解読する(interpret )ことを要求
される。命令の実行はCPUの中で行われる。CPUは
演算論理装置(ALU)、制御部、種々のレジスタなど
を有する。CPUの正確な構成要素はマイクロプロセッ
サの応用例によって異なる。ALUは、データの演算及
び論理操作(オペレーション)を実行するコンビネーシ
ョン・ネットワークである。典型的な実行操作は、加
算、減算、乗算、除算、及び比較である。操作では、プ
ロセッサのスピードはプロセッサ内の個々の任意のブロ
ックの操作スピードに依存する。さらに、プロセッサの
構成要素をより小さく、より臨界速度(speed critica
l)を小さくすることを保証することが求められてい
る。
【0003】
【課題を解決するための手段及び作用】本発明の一実施
例によれば、数学的操作を実行することなく前記操作の
結果を決定するコンパレータ装置が提供され、以下の工
程を有する。2つ以上の変数の値を得て、前記変数を複
数の所定の条件でテストし、数学的操作の結果が所定値
に等しくなるか否かを測定し、テストが正である場合、
数学的操作の結果が所定数であると結論づけ、テストが
負である場合、数学的操作の結果が所定数ではないと結
論づける。参照として示す図面は、本発明の考えられる
実施例の回路図である。本発明は加算(又は減算)を行
うことなく、2変数の加算(又は減算)の結果が特定の
第3の値に等しいかどうかをテストする手段に関連す
る。
【0004】
【実施例】任意のビットポジション[n]における加算
器のキャリー・リップル部の入力が以下のような3つの
相互排他的(MUTUALLY EXCLUSIVE)変数を用いて表され
得る。 P[n] 伝搬 Cout= Cin 1+0、又は0+1の加算のとき G[n] 生成 Cout= 1 1+1の加算のとき K[n] キル Cout= 0 0+0の加算のとき 以下のような単純加算を考える。 Sum[n]−P[n] xor Cout[n−1]
【0005】ここで、P[n−1]が偽である場合、C
out[n−1]は判明し、Sum[n]は確信をもっ
て決定され得る。P[n−1]が真である場合、Cou
t[n−1]は判明せず、Sum[n]は判明しない。
しかし、P[n]も真である場合、Sum[n]はSu
m[n−1]と同じである。逆に、P[n]が偽である
場合、Sum[n]はSum[n−1]の逆になる。こ
れにより、P[n,n−1],G[n,n−1]及びK
[n,n−1]のテストは以下の4つの考えられる条件
を導き出すことが分かる。 1 Sum[n]=0 2 Sum[n]−1 3 Sum[n]−Sum[n−1] 4 Sum[n]=Sum[n−1]
【0006】この情報から更なる仮定が可能である。任
意のSum[n]=0に対するP[n−1]=0の場
合、P[n]=1 かつ G[n−1]=1及び/又は
P[n]=0 かつ K[n−1]=1である。同様
に、任意のSum[n]=1に対するP[n−1]=0
である場合、P[n]=0 かつ G[n−1]=1及
び/又はP[n]=1 かつ K[n−1]=1であ
る。
【0007】さらに、Sum[n]=Sum[n−1]
に対するP[n−1]−1の場合、P[n]=1にな
り、Sum[n]=−Sum[n−1]の場合、P
[n]=0である。つまり、Sumが判明するか前のビ
ットとの関係が判明することがわかる。ADDの全結果
(full result )が判明する場合、答えが要求値(requ
ired value)であるかのテストに必要なのは各ビットが
正しいかどうかであり(即ちゼロに対するテストであれ
ば反転し、1に対するテストであればパスする)、これ
らをワイド・ファスト・パラレルANDゲートに入れる
ことである。
【0008】この新しい方法では、利用すべき各ビット
のSumを伴うことなく、重複するペアを考える。各ビ
ットにおけるテストは、Sum[n]が判明し正しい
か、あるいはSum[n]が判明せずSum[n−1]
との関係が正しいかのダブルテストである。ダブルテス
トが全ビットポジションでパスする場合、答えは要求さ
れた結果となる、このダブルテストがいずれかのビット
ポジションでフェイルする場合、結果は要求された結果
にはならない。
【0009】テストは、以下の通りである。目標結果が
00である場合、つまりSum[n]=0かつSum
[n−1]=0、Sum[n]=0又はSum[n]=
Sum[n−1]は以下を導く。P[n]=1 かつ
G[n−1]=1であればSum[n]=0 P[n]=0 かつ K[n−1]=1であればSum
[n]=0であり、P[n]=1 かつ P[n−1]
=1であればSum[n]=Sum[n−1]である。
これは、P[n] xor K[n−1]と簡略化でき
る。
【0010】もし目標結果が01である場合、つまりS
um[n]=0かつSum[n−1]=1、Sum
[n]=0又はSum[n]=〜Sum[n−1]は以
下を導く。P[n]=1 かつ G[n−1]=1であ
ればSum[n]=0 P[n]=0 かつ K[n−1]=1であればSum
[n]=0であり、P[n]=0 かつ P[n−1]
=1であればSum[n]=〜Sum[n−1]であ
る。これは、P[n] xor 〜G[n−1]と簡略
化できる。
【0011】もし目標結果が10である場合、つまりS
um[n]=1かつSum[n−1]=0、Sum
[n]=1又はSum[n]=〜Sum[n−1]は以
下を導く。P[n]=0 かつ G[n−1]=1であ
ればSum[n]=1 P[n]=1 かつ K[n−1]=1であればSum
[n]=1 P[n]=0 かつ P[n−1]=1であればSum
[n]=〜Sum[n−1]である。これは、P[n]
xor 〜K[n−1]と簡略化できる。
【0012】もし目標結果が11である場合、つまりS
um[n]=1かつSum[n−1]=1、Sum
[n]=1又はSum[n]=Sum[n−1]は以下
を導く。P[n]=0 かつ G[n−1]=1であれ
ばSum[n]=1 P[n]=1 かつ K[n−1]=1であればSum
[n]=1であり、P[n]=1 かつ P[n−1]
=1であればSum[n]=Sum[n−1]である。
これは、P[n] xor G[n−1]と簡略化でき
る。
【0013】もし、新たに2変数をつくる場合は、P
[n] xor K[n−1]=Z[n]及びP[n]
xor G[n−1]=H[n]となり、00のテス
トはZ[n]、01のテストは〜H[n]であり、10
のテストは〜Z[n]であり、11のテストはH[n]
である。例えば、ビットゼロのテストは若干異なる。こ
の場合、1にはP[0] xor cinで、0にはP
[0] xor 〜cinでテストすることが必要にな
る。(すなわち、それを評価することが必要になる)こ
れを以下の表に示す。
【0014】
【表1】 これをすべて実施する一つの方法は、ALUビット毎に
2つの別のxorゲートをビルトし、Z[n]及びH
[n]タームをつくることである。これらはそれぞれに
応じて、いかなる要求値でも検知するワイドANDゲー
トへの入力として用いられる。これは非常に単純な定数
で、例えばCである。
【0015】抵抗値Rと比較するために、図1の回路が
用いられ得る。この回路はSumが用いられる場合に必
要なxorゲートより多い8以上のトランジスタを用い
るが、これらのゲートは現在臨界速度ではないため、従
来のケースより実質的に小さくできる。この図に見られ
るように、本発明を実施する回路は2つのXNORゲー
ト12、14及びMUX16を有する。XNORゲート
への入力はMUXへパスされ、値の比較が真であれば抵
抗値R[n−1]が選択される。これが本発明の機能を
成し得る唯一の方法であることは明白である。当業者で
あれば同様の結果を得るために他にブール・アーキテク
チャを用いることができることは明らかであろう。本実
施手段に従って、コンパレータ装置が上述のように代替
となるため、加算操作を完了するのを待つ必要がなくな
る。
【0016】さらに、以下の項を開示する。 (1) 数学的操作を実行することなく、数学的操作の
結果を決定するコンパレータ装置であって、2つ以上の
変数の値を得て、前記変数を複数の所定の条件でテスト
し、数学的操作の結果が所定値に等しくなるか否かを決
定し、テストが正である場合、数学的操作の結果が所定
数であると結論づけ、テストが負である場合、数学的操
作の結果が所定数ではないと結論づける前記コンパレー
タ装置。
【0017】(2) 2つのXNORゲート、12,1
4及びマルチプレクサ(MUX)16を含む。XNOR
ゲートへの入力がMUX16へパスされ、値の比較が真
であれば抵抗値R(n−1)が選択される。
【図面の簡単な説明】
【図1】本発明の考えられる実施例の回路図である。
【符号の説明】
12 XNORゲート 14 XNORゲート 16 MUX

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 数学的操作を実行することなく、数学的
    操作の結果を決定するコンパレータ装置であって、 2つ以上の変数の値を得て、 前記変数を複数の所定の条件でテストし、数学的操作の
    結果が所定値に等しくなるか否かを決定し、 テストが正である場合、数学的操作の結果が所定数であ
    ると結論づけ、 テストが負である場合、数学的操作の結果が所定数では
    ないと結論づける前記コンパレータ装置。
JP7047236A 1994-03-07 1995-03-07 コンパレータ装置 Pending JPH0883165A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9404377A GB9404377D0 (en) 1994-03-07 1994-03-07 Improvements in or relating to a comparator scheme
GB94043775 1994-03-07

Publications (1)

Publication Number Publication Date
JPH0883165A true JPH0883165A (ja) 1996-03-26

Family

ID=10751425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7047236A Pending JPH0883165A (ja) 1994-03-07 1995-03-07 コンパレータ装置

Country Status (4)

Country Link
US (1) US5644521A (ja)
EP (1) EP0679989A1 (ja)
JP (1) JPH0883165A (ja)
GB (1) GB9404377D0 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6161164A (en) * 1996-09-16 2000-12-12 International Business Machines Corp. Content addressable memory accessed by the sum of two operands
US5975749A (en) * 1997-07-11 1999-11-02 International Business Machines Corporation Zero and one detection chain for a carry select adder
US6088763A (en) * 1998-03-16 2000-07-11 International Business Machines Corporation Method and apparatus for translating an effective address to a real address within a cache memory

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3983382A (en) * 1975-06-02 1976-09-28 International Business Machines Corporation Adder with fast detection of sum equal to zeroes or radix minus one
DE3663314D1 (en) * 1985-02-11 1989-06-15 Siemens Ag Method and circuit for monitoring the sum or difference of two quantities by comparison with a third quantity in a binary representation
US4947359A (en) * 1988-02-17 1990-08-07 International Business Machines Corporation Apparatus and method for prediction of zero arithmetic/logic results
US4924422A (en) * 1988-02-17 1990-05-08 International Business Machines Corporation Method and apparatus for modified carry-save determination of arithmetic/logic zero results
JPH01277931A (ja) * 1988-04-29 1989-11-08 Nec Ic Microcomput Syst Ltd 零検出回路
JP3090330B2 (ja) * 1989-12-21 2000-09-18 エスジーエス―トムソン・マイクロエレクトロニクス・インコーポレイテッド 出力信号発生装置及びその方法並びにfifoメモリ
US5270955A (en) * 1992-07-31 1993-12-14 Texas Instruments Incorporated Method of detecting arithmetic or logical computation result
US5367477A (en) * 1993-11-29 1994-11-22 Motorola, Inc. Method and apparatus for performing parallel zero detection in a data processing system

Also Published As

Publication number Publication date
EP0679989A1 (en) 1995-11-02
GB9404377D0 (en) 1994-04-20
US5644521A (en) 1997-07-01

Similar Documents

Publication Publication Date Title
US6374346B1 (en) Processor with conditional execution of every instruction
US4578750A (en) Code determination using half-adder based operand comparator
JPH06348454A (ja) 算術または論理演算の計算結果の検出方法
JPH02136920A (ja) データ処理回路
US4618956A (en) Method of operating enhanced alu test hardware
US6470440B1 (en) Vector compare and maximum/minimum generation apparatus and method therefor
US6078940A (en) Microprocessor with an instruction for multiply and left shift with saturate
JPH0883165A (ja) コンパレータ装置
US6499046B1 (en) Saturation detection apparatus and method therefor
US10534625B1 (en) Carry chain logic in processor based emulation system
US6629118B1 (en) Zero result prediction
US6112291A (en) Method and apparatus for performing a shift instruction with saturate by examination of an operand prior to shifting
US20040176941A1 (en) Method of simulating computation instructions for an instruction set simulator
JP3696669B2 (ja) 比較器機構及び比較器
Jeong et al. Design of 32-bit RISC processor and efficient verification
JP2557629B2 (ja) 割込方式
US6820109B2 (en) System and method for predictive comparator following addition
JP2510295B2 (ja) レジスタ更新割出し制御装置
JP3658879B2 (ja) パイプライン計算機
Kassab et al. Hierarchical functional fault simulation for high-level synthesis
WO2023152643A1 (en) Hardware information flow tracking
JPS60163134A (ja) 仮想計算機システム
JPS6373335A (ja) 情報処理装置
JPS63187332A (ja) 演算処理装置
JPH0243628A (ja) 情報処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041019

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050311