JP2554452B2 - 自己検査型補数加算器ユニット - Google Patents

自己検査型補数加算器ユニット

Info

Publication number
JP2554452B2
JP2554452B2 JP6151942A JP15194294A JP2554452B2 JP 2554452 B2 JP2554452 B2 JP 2554452B2 JP 6151942 A JP6151942 A JP 6151942A JP 15194294 A JP15194294 A JP 15194294A JP 2554452 B2 JP2554452 B2 JP 2554452B2
Authority
JP
Japan
Prior art keywords
carry
adder
circuit
sum
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
JP6151942A
Other languages
English (en)
Other versions
JPH0784760A (ja
Inventor
ソン・ダオ−トロン
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 JPH0784760A publication Critical patent/JPH0784760A/ja
Application granted granted Critical
Publication of JP2554452B2 publication Critical patent/JP2554452B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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
    • G06F7/506Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • G06F7/507Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using selection between two conditionally calculated carry or sum values

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、各々、複数のマルチビ
ットディジットおよび関連のパリティビットを有するオ
ペランドからの高性能減算用の、自己チェック型補数加
算器ユニットに関する。
【0002】
【従来の技術】浮動小数点プロセッサの能力の臨界要因
の一つは、加算および減算の迅速な実行である。こうし
たプロセッサの設計上の要件に合致する最適な方法は、
繰り上げ選択加算器のコンセプトを使用することである
(US−PS4、982、357)。繰り上げ選択加算
器は2個の仮の和を生成し、その1方はオペランドに対
しcarry−inがあるという仮定に基づき、他方は
carry−inがないという仮定に基づく。加算の際
に発生したバイト繰り上げに基づき、部分和を上記仮の
和から選択して真の和を生成する。この繰り上げ選択加
算器の能力は、それらを公知の繰り上げ先取りコンセプ
トと組み合わせて増大させることができる。そのコンセ
プトでは、真の和を得るため採用する正確な部分和を選
択する際に使用したバイト繰り上げ数を、繰り上げ先取
り回路によって生成する(IBMTechnical
Disclosure Bulletin、30巻,N
o.10、1988年3月、pp.331−334)。
【0003】迅速な減算を実施するために、この2個の
加算器を組み合わせたタイプを使用することができる。
各加算器のオペランドの1つの補数をとる際に、この加
算器は共通のcarry−in信号を受信する。両加算
器は補数(complementary)加算によって減算を実行
し、一方は和(A+B+1)を生成し、他方は和(Aバ
ー+B+1)を生成する。正記号の和を以降に補数をと
る必要のない正しい結果として選択する。こうした処理
をおこなう加算器を補数加算器と称する。なお、ここで
本明細書では数1の表記を便宜上「Aバー」と記載す
る。
【数1】
【0004】繰り上げ選択加算器の正確な処理をチェッ
クするために、和の比較回路(US−PS5、018、
093)あるいはパリティ予測ツリーを使用することが
できる(IBM Technical Disclos
ure Bulletin、13巻,No.6、197
0年11月、pp.1504−1505)。インクレメ
ンタおよびデクレメンタ回路(IBM Technic
al Disclosure Bulletin、33
巻,No.1B、1990年6月、pp.227)で使
用されたような方法で、仮の結果にたいするパリティ予
測により繰り上げ選択加算器の演算をチェックする経費
を減少させることも公知である。しかし、この構成は回
路や処理時間、特に補数加算器に応用する際に、かなり
の経費が必要となる。
【0005】
【発明が解決しようとする課題】本発明の目的は、補数
加算器を使用して高性能減算用の自己チェック機能のあ
る加算器ユニットを提供することである。また、本発明
の他の目的は、結果を生成する時間とほぼ同じ時間内に
小型の回路によって、その結果にたいするチェック信号
を生成することである。
【0006】
【課題を解決するための手段】上記課題を解決するため
に、本発明によれば、高性能減算は補数加算器として演
算をおこなう2個の繰り上げ選択加算器によって達成さ
れる。各繰り上げ選択加算器は、仮定のcarry−i
n/no−carry−in条件に基づいた仮想和を生
成する一対のリップル繰り上げ加算器を有する。平行し
て、繰り上げ先取り回路は、オペランドから真の和を形
成するための複数の部分和を選択するために使用する真
の繰り上げ信号を作る。繰り上げ選択加算器は、真の表
示および補数表示で加算器の入力に送信するオペランド
の差A−BおよびB−Aを作る。この結果の記号に基づ
き、これら差の一方が減算の結果として選択される。
【0007】制御信号として繰り上げ先取り回路の一つ
から高位の繰り上げを受けるマルチプレクサ回路によっ
て適切な差の選択がなされる。結果をチェックするため
にパリティ予測ツリーを使用する代わり、本発明は仮想
和のパリティ信号の交差比較、また同時に繰り上げ先取
り回路で生成した繰り上げ信号の比較を提供する。この
技術は演算における並行演算の増加と回路の経費の減少
を両立させる。したがってチェック信号は減算の結果と
ほぼ同時に得られる。
【0008】
【実施例】本発明の理解を容易にするため、減算を行う
ための補数加算器として繰り上げ選択加算器を使用する
原理について添付の図1を参照にして説明する。この図
は2個の繰り上げ選択加算器6、12を示し、各加算器
は一対のリップル繰り上げ加算器7、8および13、1
4を有する。これら加算器は、各々が2つのバイナリコ
ーディド・ディジットを表す4つ(あるいはそれ以上)
のオペランドバイトを処理するように構成されている。
繰り上げ選択加算器6、12もそれぞれ繰り上げ先取り
回路9、15を有し、オペランドからリップル繰り上げ
加算器7、8および13、14の演算にたいし並列に繰
り上げ信号を生成する。マルチプレクサ回路10および
16を、それぞれ加算器7、8および13、14の和出
力端に接続する。マルチプレクサ回路10は繰り上げ先
取り回路9からの繰り上げ信号によって制御され、加算
器7あるいは8からの部分和をゲート処理して繰り上げ
選択加算器6の出力バスに出力する。したがって、マル
チプレクサ回路16は繰り上げ先取り回路15からの繰
り上げ信号によって制御され、加算器13あるいは14
からの部分和の同様な選択を行う。繰り上げ選択加算器
6はオペランドAおよびBを受け、その差A−Bを生成
するか、加算の場合にはオペランドAおよびBを受けそ
の和A+Bを形成する。繰り上げ選択加算器12はオペ
ランドAバーおよびBを受け、その差B−Aを生成す
る。繰り上げ選択加算器6および12の出力バスをマル
チプレクサ回路18に接続し、回路18は繰り上げ先取
り回路9からの最も高位の数字順序の繰り上げ信号によ
って制御される。この繰り上げ信号が1なら、マルチプ
レクサ回路18は出力バス19へ第1繰り上げ選択加算
器6の結果A−Bをゲート通過させるように設定され、
一方繰り上げ信号が0なら、繰り上げ選択加算器12の
結果B−Aを選択し、出力バス19へ送るようにマルチ
プレクサ回路18は設定される。加算器7、8の演算を
以下に示した10進数字で表される例によって詳細に説
明する。
【0009】A= 53 76 27 63 B= 22 56 43 52
【0010】加算器7、8は、各々が2個の数字を表す
部分結果のバイトを生成する。 繰り上げ=0 75 (32) 70 (15) 加算器7の部分結果 繰り上げ=1 (76) 33 (71) 16 加算器8の部分結果 繰り上げ先取り−>1 0 1 0 A+B= 76 32 71 15 結果
【0011】この結果のパリティビットを図2に示すよ
うな等価回路21のツリーであるパリティ予測回路20
によって加算器7、8の演算と並列にチェックする。こ
のツリーの入力信号は、繰り上げ先取り回路9の演算か
ら得られたバイトiのビット位置0乃至7の繰り上げ信
号Ci0乃至Ci7である。さらに、このツリーはオペラン
ドAとBのうちバイトiのパリティビットPAiおよびP
Biを受ける。比較回路22の演算により、ツリー20の
出力が和S=A+BのパリティビットPSiと比較され、
チェック信号を生成する。これは図2においてバイトi
で示される。図示しない手段によって、バイトiのパリ
ティビットPSiが加算器6で生成され、また、これがマ
ルチプレクサ回路10によって選択された結果の部分で
ある。等価回路23によって比較が行われ、等価回路は
バイトiのチェック信号CHKiを出力する。全てのバ
イトの信号CHKiをNAND回路24によって組み合
わされて、マルチプレクサ回路10によって選択した結
果にたいする共通チェック信号CHKSを生成する。そ
の信号CHKSがゼロなら、和の結果は正しく、一方1
なら和の結果バイトは誤りを有する。
【0012】加算器7、8が図1の加算器13、14で
示されるように二重なら、減算の正しい結果を選択する
ために結果の記号を使用することができる。これによ
り、減算は、減算対象のオペランドの補数を加える公知
の原理によって行われる。このことは以下に示す例によ
って示される。
【0013】A= 5 3 7 6 2 7 6 3 B= 2 2 5 6 4 3 5 2 A−B= 3 1 1 9 8 4 1 1 正記号−
−−> 選択する B−A=−6 8 8 0 1 5 8 9 負記号
【0014】この方法では、別途の再補数サイクルなし
で正しい結果が生成される。この二重加算器構造は補数
加算器と称される。図1の繰り上げ選択加算器6、12
は補数加算器の機能を有しており、共通carry−i
n信号を受ける。両加算器において、1つのオペランド
が真であり、他は以下によって補数される。
【0015】加算器1:S1=A+Bバー+Ci 加算器2:S2=Aバー+B+Ci なお、ここで本明細書では数2の表記を便宜上「Bバ
ー」と記載する。
【数2】
【0016】複数の結果の選択は繰り上げ先取り回路9
による高位のバイトcarry−outに基づく。この
carry−outが1なら、繰り上げ選択加算器6の
結果はマルチプレクサ回路18の演算により出力バス1
9にゲート通過させられる。一方、carry−out
が0なら、繰り上げ選択加算器12の和がバス19にゲ
ート通過させられる。
【0017】この構成において、結果のチェックは分離
したパリティ予測ツリーおよび、和のパリティビットと
予測パリティの比較によって行うことができる。したが
って、繰り上げ選択加算器12はパリティツリー20に
対応するパリティツリー26と接続させる。比較回路2
7は、比較回路22が加算器6に行ったのと同じ機能を
加算器12用に有する。この比較回路22、27の出力
信号はOR回路28によって組み合わされ、出力バス1
9で生成した差の結果にたいするチェック信号を生成す
る。
【0018】図3に示したユニットは図1で示したコン
セプトを有する補数加算器を使用している。繰り上げ選
択加算器6に対応する繰り上げ選択加算器30は、リッ
プル繰り上げ加算器31、32、繰り上げ先取り回路3
3、およびマルチプレクサ回路34を有する。繰り上げ
選択加算器12に対応する繰り上げ選択加算器36は、
加算器37、38、繰り上げ先取り回路39、およびマ
ルチプレクサ回路40を有する。加算器30、36の出
力バスは、マルチプレクサ回路18に対応し、加算器ユ
ニットの出力バス43に接続したマルチプレクサ回路4
2に接続されている。差の結果を生成するこれらの回路
の機能は図1で説明したものに等しい。
【0019】この結果のチェックは比較論理44によっ
て行われる。この比較論理は以下の考察に基づいてい
る。各々繰り上げ選択加算器を有する2つの補数加算器
があるので、各部分加算にたいして4つのパリティビッ
トが存在する。
【0020】(1) P1=P(a+b+1) P2=P(a+b+0) P3=P(aバー+b+0) P4=P(aバー+b+0) P(x):xのパリティビット a,b:部分オペランド なお、ここで本明細書では数3の表記を便宜上「aバ
ー」と記載する。
【数3】
【0021】補数法則を適用すると、 −a=a+1 a=−a−1
【0022】上記式(1)に該当するアプリケーション
は以下の式を導く。 (2) (a+b)=−(a+b)−1 =−a−b−1 =aバー+1+b+1−1 =aバー+b+1 −−−>P2=P3
【0023】(オペランドビットの数が偶数なら:P
(x)=P(x)) (3) (a+b+1)=−(a+b+1)−1 =−a−b−1−1 =aバー+1+b+1−1 =aバー+b −−−>P1=P4
【0024】繰り上げ選択加算器30では、加算器31
が第1仮想和および関連のパリティビットPi1を生成す
る第1加算器であるか考察され、加算器32が第2仮想
和およびパリティビットPi2を生成する第2加算器であ
るか考察される。ここで、iは仮想和のバイトを示す。
したがって、繰り上げ選択加算器36では、加算器37
が第3仮想和および関連のパリティビットPi3を生成す
る第3加算器であるか考察され、加算器38が第4仮想
和およびパリティビットPi4を生成する第4加算器であ
るか考察される。この構成に基づき、上記式(2)、
(3)は、繰り上げ選択加算器30、36によって生成
した結果のチェックが、式(2)に関連して加算器32
によって作られた第2仮相和のパリティビットPi2と加
算器37によって作られた第3仮説和のパリティビット
Pi3と比較して、また式(3)に関連して加算器31に
よって作られた第1仮相和のパリティビットPi1と加算
器38によって作られた第4仮相和のパリティビットP
i4と比較して行われることを示している。このチェック
には、繰り上げ先取り回路33、39によって作られた
carry−inビットCi1とCi2も含まれる。car
ry−inビットCi1とCi2はそれぞれ加算器30、3
6からの真のcarry−outビットC”i1とC”i2
と比較される。ここで、iは繰り上げ信号を関連させる
部分結果バイトを表している。これらの比較は、並列に
設けられた等価回路45、46、50、52から構成し
た比較論理44にて行われる。等価回路からの出力信号
はAND回路48によって組み合わされる。NAND回
路49は、図3の加算器ユニットの全てのバイト位置の
AND回路48からの出力信号を組み合わせ、バス43
に出現する結果が間違いを有していることを示す役割を
するチェック信号CHKとなる。これがそのケースでは
ない、つまり全てのAND回路48が等価回路において
等しい条件を示す際には、結果が正しい。NAND回路
49の出力の信号レベルが低い場合には、バス43の結
果が正しいことを示している。チェック演算は、マルチ
プレクサ回路34、40、42の演算による真の和の選
択と並列で行う。
【0025】図4は、図3の加算器ユニットの1バイト
セグメントの詳細な説明を示す。図3の構成要素に対応
の図4の構成要素は同じ番号で示してある。しかし、図
4では、これら構成要素は1バイトセグメントに縮小し
てある。オペランドAi、Aiバー、Bi、Biバーは各1
バイトである。和信号Si1、Si2、Si3、Si4は1バイ
トの幅のリップル繰り上げ加算器31、32、37、3
8の出力を表す。carry−out信号C’i1、C’
i2、C’i3、C’i4はこれら加算器の最も高いビット位
置のものである。繰り上げ信号Ci1およびCi2は繰り上
げ先取り回路33と39によって生成され、そして図示
のバイトセグメント用のcarry−out状態を示
す。等価回路50は繰り上げ先取り回路33からの繰り
上げ信号Ci1と、繰り上げ信号Ci1によって制御された
マルチプレクサ回路51をゲート通過したcarry−
out信号C’i1あるいはC’i2、これはC”i1で示さ
れたものと比較する。通常、この比較は等価条件とな
る。回路50の不等出力は、ハードウェアに関するエラ
ーを示す。マルチプレクサ回路53および等価回路52
は、carry−out信号C’i3あるいはC’i4と繰
り上げ先取り回路39の繰り上げ信号Ci2と比較するこ
とにより加算器37、38に対する同様のチェックを行
う。パリティジェネレータ54、55は加算器31、3
2からの部分和Si1、Si2のパリティビットPi1、Pi2
を作る。これらの信号は等価回路46、45の一方の側
の入力であり、等価回路はそれぞれ、加算器37、38
からの部分和Si3、Si4のパリティビットPi3、Pi4を
作る対応のパリティジェネレータ56、57からの別の
入力を受け入れる。等価回路45、46、50、52、
AND回路48、およびNAND回路49は、マルチプ
レクサ回路42の出力端に現れる結果として得られたバ
イトに対するチェック演算を行う。これらの回路はマル
チプレクサ回路34、40、42と並列に構成されてお
り、同時に演算を行うので、チェック信号CHKは出力
バス43の結果とほぼ同時に出力される。
【0026】本発明は図3、図4に示した実施例に限定
されるものではない。構成や回路の種々の変更や改良が
可能である。たとえば、補数加算器30、36および関
連の回路のバイト構成はディジット構成で置き換えるこ
ともできる。つまり、各4ビットディジットのパリティ
を生成してチェックすることによる。この場合には、信
号Ai、Bi、Si1乃至Si4、Ci1、Ci2、C’i1乃至
C’i4はオペランド、部分結果、全結果のディジットを
表すか、割り当てられる。
【0027】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0028】(1) a)各々、一対のリップル繰り上げ加算器(31、32
および37、38)を有する2つの第1、第2繰り上げ
選択加算器(30、36)と、 b)2つの繰り上げ先取り回路(33、39)と、 c)マルチプレクサ回路(42)と、 d)結果チェック手段(44)とよりなり、 上記第1繰り上げ選択加算器(30)のリップル繰り上
げ加算器(31、32)は真のオペランドA、補正済み
オペランドBおよび仮定の低位carry−in信号か
らの第1仮想和を生成し、上記オペランドBと仮定の低
位非carry−in信号とから第2仮想和を生成し、
上記第2繰り上げ選択加算器(36)の上記リップル繰
り上げ加算器(37、38)は補正済みオペランドA、
真のオペランドB、および仮定の低位carry−in
信号とから第3仮想和を生成し、上記オペランドBと仮
定の低位非carry−in信号から第4仮相和を生成
し、上記繰り上げ先取り回路の各々は上記繰り上げ選択
加算器の一方に接続し、上記仮想和から、真の和A−B
およびB−Aを作るために各々がビットセグメントを有
する部分和を選択するマルチプレクサ回路(34、4
0)の制御信号として使用された所定のビットセグメン
トの繰り上げ信号(Ci1およびCi2)を生成し、上記マ
ルチプレクサ回路(42)は上記両繰り上げ選択加算器
(30、36)の出力部に接続し、実際の結果として真
の結果A−BあるいはB−Aの一方を選択するように、
繰り上げ先取り回路(33あるいは39)の一方からの
高位carry−out信号を示す和記号によって制御
され、上記チェック手段(44)は、上記第1繰り上げ
選択加算器(30)からの第1仮想和のパリティビット
(Pi1)と上記第2繰り上げ選択加算器(36)からの
第2仮想和のパリティビット(Pi4)とを比較し、さら
に、上記第1繰り上げ選択加算器(30)からの第2仮
想和のパリティビット(Pi2)と上記第2繰り上げ選択
加算器(36)からの第1仮想和のパリティビット(P
i3)とを比較し、最終的に上記2つの繰り上げ先取り回
路(33、39)によって生成したビットセグメントの
繰り上げ信号(Ci1およびCi2)を比較し、さらに上記
チェック手段は比較結果組み合わせ回路(48、49)
を有し、全結果の正確さを確認するか、エラーを示すチ
ェック信号(CHK)を作ることを特徴とする、複数の
マルチビットと関連のパリティビットを有するオペラン
ドからの高性能減算用の自己チェック型補数加算器ユニ
ット。 (2)上記結果チェック手段(44)は、部分和選択お
よび結果選択手段(34、40、42)と並列に構成し
た信号バスを作り、実際の結果の生成と同時に結果チェ
ック信号(CHK)を生成することができることを特徴
とする、上記(1)に記載の加算器ユニット。 (3)上記結果チェック手段(44)は、第1仮想和の
パリティビット(Pi1)と第4仮想和のパリティビット
を比較する第1等価回路(45)と、第2仮想和のパリ
ティビット(Pi2)と第3仮想和のパリティビットを比
較する第2等価回路(46)とを有し、上記等価回路は
互いに並列に構成したマルチビット等価回路であること
を特徴とする、上記(1)および(2)に記載の加算器
ユニット。 (4)上記結果チェック手段(44)は、各ビットセグ
メントに対し2つのマルチビット等価回路(50、5
2)を有し、その等価回路の一方は上記第1繰り上げ選
択加算器(30)のリップル繰り上げ加算器(31、3
2)のビットセグメントcarry−out信号を上記
第1繰り上げ先取り回路(33)からのビットセグメン
ト繰り上げ信号と比較し、もう一方は上記第2繰り上げ
選択加算器(36)のリップル繰り上げ加算器(37、
38)のビットセグメントcarry−out信号を上
記第2繰り上げ先取り回路(39)からのビットセグメ
ント繰り上げ信号と比較し、マルチプレクサ回路(5
1、53)は上記等価回路(50、52)と上記リップ
ル繰り上げ加算器(31、32および37、38)のビ
ットセグメント繰り上げ出力部の間に配置され、対応の
繰り上げ先取り回路(33、39)からの上記ビットセ
グメント繰り上げ信号は上記マルチプレクサ回路(5
1、53)の制御信号として作用して、選択された真の
和のcarry−out信号を選択することを特徴とす
る、上記(1)乃至(3)のいずれかに記載の加算器ユ
ニット。 (5)上記比較結果組み合わせ手段は、1ビットセグメ
ントの上記等価回路(45、46、あるいは50、5
2)の出力部に各々接続されたAND回路(48)を有
し、また上記比較結果組み合わせ手段はさらに、上記A
ND回路の出力信号からチェック信号を生成するNAN
D回路(49)を有することを特徴とする、上記(1)
乃至(4)のいずれかに記載の加算器ユニット。 (6)上記結果チェック手段(44)は、互いに並列に
構成された上記等価回路(45、46、または50、5
2)からなる第1レベル、上記比較結果組み合わせ回路
(48、49)で示される第2、第3レベルの3レベル
の論理を有することを特徴とする、上記(1)乃至
(5)のいずれかに記載の加算器ユニット。 (7)上記ビットセグメントは、パリティビットに各々
関係のあるディジットを表し、上記繰り上げリップル加
算器(31、32、37、38)とマルチプレクサ回路
(34、40、42)はディジット構成され、上記繰り
上げ先取り回路(33、39)は並列で全てのディジッ
ト用の繰り上げ信号を生成し、上記和チェック手段(4
4)は各ディジット用の比較回路を有することを特徴と
する、上記(1)乃至(6)のいずれかに記載の加算器
ユニット。 (8)上記ビットセグメントは各々がパリティビットに
関係のあるバイトであり、上記繰り上げリップル加算器
(31、32、37、38)とマルチプレクサ回路(3
4、40、42)はバイト構成され、繰り上げ先取り回
路(33、39)は全てのバイトに対して並列に繰り上
げ信号を生成し、上記和チェック手段(44)は各バイ
トにたいする比較回路を有することを特徴とする、上記
(1)乃至(6)のいずれかに記載の加算器ユニット。
【0029】
【発明の効果】本発明の加算器ユニットは、結果を生成
する時間とほぼ同じ時間内に小型の回路によって、その
結果にたいするチェック信号を生成することが可能とな
り、正確さと経済性を両立できる。
【図面の簡単な説明】
【図1】本発明によって使用された補数加算器のブロッ
ク図である。
【図2】図1で示された加算器ユニットの一部分である
従来のパリティ予測ツリーである。
【図3】補数加算器とチェック論理を有する本発明の実
施例のブロック図である。
【図4】図3の加算器ユニットのバイトセグメントを詳
細に示すブロック図である。
【符号の説明】
30 繰り上げ選択加算器 31 リップル繰り上げ加算器 32 リップル繰り上げ加算器 33 繰り上げ先取り回路 34 マルチプレクサ回路 36 繰り上げ選択加算器 37 リップル繰り上げ加算器 38 リップル繰り上げ加算器 39 繰り上げ先取り回路 40 マルチプレクサ回路 42 マルチプレクサ回路 43 出力バス 44 比較論理 45 等価回路 46 等価回路 48 AND回路 49 NAND回路 50 等価回路 52 等価回路

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】a)各々、一対のリップル繰り上げ加算器
    (31、32および37、38)を有する2つの第1、
    第2繰り上げ選択加算器(30、36)と、 b)2つの繰り上げ先取り回路(33、39)と、 c)マルチプレクサ回路(42)と、 d)結果チェック手段(44)とよりなり、 上記第1繰り上げ選択加算器(30)のリップル繰り上
    げ加算器(31、32)は真のオペランドA、補正済み
    オペランドBおよび仮定の低位carry−in信号か
    らの第1仮想和を生成し、上記オペランドBと仮定の低
    位非carry−in信号とから第2仮想和を生成し、
    上記第2繰り上げ選択加算器(36)の上記リップル繰
    り上げ加算器(37、38)は補正済みオペランドA、
    真のオペランドB、および仮定の低位carry−in
    信号とから第3仮想和を生成し、上記オペランドBと仮
    定の低位非carry−in信号から第4仮相和を生成
    し、 上記繰り上げ先取り回路の各々は上記繰り上げ選択加算
    器の一方に接続し、上記仮想和から、真の和A−Bおよ
    びB−Aを作るために各々がビットセグメントを有する
    部分和を選択するマルチプレクサ回路(34、40)の
    制御信号として使用された所定のビットセグメントの繰
    り上げ信号(Ci1およびCi2)を生成し、 上記マルチプレクサ回路(42)は上記両繰り上げ選択
    加算器(30、36)の出力部に接続し、実際の結果と
    して真の結果A−BあるいはB−Aの一方を選択するよ
    うに、繰り上げ先取り回路(33あるいは39)の一方
    からの高位carry−out信号を示す和記号によっ
    て制御され、 上記チェック手段(44)は、上記第1繰り上げ選択加
    算器(30)からの第1仮想和のパリティビット(Pi
    1)と上記第2繰り上げ選択加算器(36)からの第2
    仮想和のパリティビット(Pi4)とを比較し、さらに、
    上記第1繰り上げ選択加算器(30)からの第2仮想和
    のパリティビット(Pi2)と上記第2繰り上げ選択加算
    器(36)からの第1仮想和のパリティビット(Pi3)
    とを比較し、最終的に上記2つの繰り上げ先取り回路
    (33、39)によって生成したビットセグメントの繰
    り上げ信号(Ci1およびCi2)を比較し、さらに上記チ
    ェック手段は比較結果組み合わせ回路(48、49)を
    有し、全結果の正確さを確認するか、エラーを示すチェ
    ック信号(CHK)を作ることを特徴とする、複数のマ
    ルチビットと関連のパリティビットを有するオペランド
    からの高性能減算用の自己検査型補数加算器ユニット。
  2. 【請求項2】上記結果チェック手段(44)は、部分和
    選択および結果選択手段(34、40、42)と並列に
    構成した信号バスを作り、実際の結果の生成と同時に結
    果チェック信号(CHK)を生成することができること
    を特徴とする、請求項1に記載の加算器ユニット。
  3. 【請求項3】上記結果チェック手段(44)は、第1仮
    想和のパリティビット(Pi1)と第4仮想和のパリティ
    ビットを比較する第1等価回路(45)と、第2仮想和
    のパリティビット(Pi2)と第3仮想和のパリティビッ
    トを比較する第2等価回路(46)とを有し、上記等価
    回路は互いに並列に構成したマルチビット等価回路であ
    ることを特徴とする、請求項1および2に記載の加算器
    ユニット。
  4. 【請求項4】上記結果チェック手段(44)は、各ビッ
    トセグメントに対し2つのマルチビット等価回路(5
    0、52)を有し、その等価回路の一方は上記第1繰り
    上げ選択加算器(30)のリップル繰り上げ加算器(3
    1、32)のビットセグメントcarry−out信号
    を上記第1繰り上げ先取り回路(33)からのビットセ
    グメント繰り上げ信号と比較し、もう一方は上記第2繰
    り上げ選択加算器(36)のリップル繰り上げ加算器
    (37、38)のビットセグメントcarry−out
    信号を上記第2繰り上げ先取り回路(39)からのビッ
    トセグメント繰り上げ信号と比較し、マルチプレクサ回
    路(51、53)は上記等価回路(50、52)と上記
    リップル繰り上げ加算器(31、32および37、3
    8)のビットセグメント繰り上げ出力部の間に配置さ
    れ、対応の繰り上げ先取り回路(33、39)からの上
    記ビットセグメント繰り上げ信号は上記マルチプレクサ
    回路(51、53)の制御信号として作用して、選択さ
    れた真の和のcarry−out信号を選択することを
    特徴とする、請求項1乃至3のいずれかに記載の加算器
    ユニット。
  5. 【請求項5】上記比較結果組み合わせ手段は、1ビット
    セグメントの上記等価回路(45、46、あるいは5
    0、52)の出力部に各々接続されたAND回路(4
    8)を有し、また上記比較結果組み合わせ手段はさら
    に、上記AND回路の出力信号からチェック信号を生成
    するNAND回路(49)を有することを特徴とする、
    請求項1乃至4のいずれかに記載の加算器ユニット。
  6. 【請求項6】上記結果チェック手段(44)は、互いに
    並列に構成された上記等価回路(45、46、または5
    0、52)からなる第1レベル、上記比較結果組み合わ
    せ回路(48、49)で示される第2、第3レベルの3
    レベルの論理を有することを特徴とする、請求項1乃至
    5のいずれかに記載の加算器ユニット。
  7. 【請求項7】上記ビットセグメントは、パリティビット
    に各々連絡したディジットを表し、上記繰り上げリップ
    ル加算器(31、32、37、38)とマルチプレクサ
    回路(34、40、42)はディジット構成され、上記
    繰り上げ先取り回路(33、39)は並列で全てのディ
    ジット用の繰り上げ信号を生成し、上記和チェック手段
    (44)は各ディジット用の比較回路を有することを特
    徴とする、請求項1乃至6のいずれかに記載の加算器ユ
    ニット。
  8. 【請求項8】上記ビットセグメントは各々がパリティビ
    ットに接続したバイトであり、上記繰り上げリップル加
    算器(31、32、37、38)とマルチプレクサ回路
    (34、40、42)はバイト構成され、繰り上げ先取
    り回路(33、39)は全てのバイトに対して並列に繰
    り上げ信号を生成し、上記和チェック手段(44)は各
    バイトにたいする比較回路を有することを特徴とする、
    請求項1乃至6のいずれかに記載の加算器ユニット。
JP6151942A 1993-09-09 1994-07-04 自己検査型補数加算器ユニット Expired - Lifetime JP2554452B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP93114474A EP0643352A1 (en) 1993-09-09 1993-09-09 Self-checking complementary adder unit
DE93114474.5 1993-09-09

Publications (2)

Publication Number Publication Date
JPH0784760A JPH0784760A (ja) 1995-03-31
JP2554452B2 true JP2554452B2 (ja) 1996-11-13

Family

ID=8213247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6151942A Expired - Lifetime JP2554452B2 (ja) 1993-09-09 1994-07-04 自己検査型補数加算器ユニット

Country Status (3)

Country Link
US (1) US5506800A (ja)
EP (1) EP0643352A1 (ja)
JP (1) JP2554452B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694350A (en) * 1995-06-30 1997-12-02 Digital Equipment Corporation Rounding adder for floating point processor
US5841812A (en) * 1995-09-06 1998-11-24 Analog Devices, Inc. NMOS pass transistor digital signal processor for a PRML system
US5726927A (en) * 1995-09-11 1998-03-10 Digital Equipment Corporation Multiply pipe round adder
DE19647156A1 (de) * 1996-11-14 1998-05-20 Siemens Ag Mehrstufige Multiplexeranordnung
SG79988A1 (en) * 1998-08-06 2001-04-17 Oki Techno Ct Singapore Pte Apparatus for binary addition
WO2001061868A2 (en) 2000-02-17 2001-08-23 Analog Devices, Inc. Method, apparatus, and product for use in generating crc and other remainder based codes
JP4042364B2 (ja) * 2001-07-27 2008-02-06 日本電気株式会社 アドレス生成回路、選択判断回路
US7035891B2 (en) * 2002-08-27 2006-04-25 Intel Corporation Reduced-hardware soft error detection
JP4461135B2 (ja) * 2006-12-25 2010-05-12 富士通株式会社 演算回路及び演算方法並びに情報処理装置
US8055697B2 (en) * 2008-03-28 2011-11-08 Intel Corporation Method and device for dynamically verifying a processor architecture

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3986015A (en) * 1975-06-23 1976-10-12 International Business Machines Corporation Arithmetic unit for use in a digital data processor and having an improved system for parity check bit generation and error detection
US4982357A (en) * 1989-04-28 1991-01-01 International Business Machines Corporation Plural dummy select chain logic synthesis network
US5018093A (en) * 1990-01-02 1991-05-21 Ibm Corporation High performance self-checking adder having small circuit area

Also Published As

Publication number Publication date
JPH0784760A (ja) 1995-03-31
EP0643352A1 (en) 1995-03-15
US5506800A (en) 1996-04-09

Similar Documents

Publication Publication Date Title
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
JP3244506B2 (ja) 小型乗算器
US3993891A (en) High speed parallel digital adder employing conditional and look-ahead approaches
US6411980B2 (en) Data split parallel shifter and parallel adder/subtractor
US5862065A (en) Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer
US4761760A (en) Digital adder-subtracter with tentative result correction circuit
US5892698A (en) 2's complement floating-point multiply accumulate unit
US5301341A (en) Overflow determination for three-operand alus in a scalable compound instruction set machine which compounds two arithmetic instructions
JPH0542011B2 (ja)
US6549926B1 (en) SRT divider having several bits of each partial remainder one-hot encoded to minimize the logic levels needed to estimate quotient bits
US3986015A (en) Arithmetic unit for use in a digital data processor and having an improved system for parity check bit generation and error detection
JP2554452B2 (ja) 自己検査型補数加算器ユニット
EP0295788B1 (en) Apparatus and method for an extended arithmetic logic unit for expediting selected operations
US6584485B1 (en) 4 to 2 adder
US5097436A (en) High performance adder using carry predictions
GB2262638A (en) Digital system multiplication.
US7139789B2 (en) Adder increment circuit
US5257217A (en) Area-efficient multiplier for use in an integrated circuit
US6546411B1 (en) High-speed radix 100 parallel adder
KR100627993B1 (ko) 3입력 분할 가산기
US4924423A (en) High speed parity prediction for binary adders using irregular grouping scheme
US8219604B2 (en) System and method for providing a double adder for decimal floating point operations
EP0189912B1 (en) Fast bcd/binary adder
JPH0366693B2 (ja)
US6631393B1 (en) Method and apparatus for speculative addition using a limited carry