JP3112000B2 - 加算回路 - Google Patents

加算回路

Info

Publication number
JP3112000B2
JP3112000B2 JP10306225A JP30622598A JP3112000B2 JP 3112000 B2 JP3112000 B2 JP 3112000B2 JP 10306225 A JP10306225 A JP 10306225A JP 30622598 A JP30622598 A JP 30622598A JP 3112000 B2 JP3112000 B2 JP 3112000B2
Authority
JP
Japan
Prior art keywords
carry
bit
circuit
addition
bits
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 - Fee Related
Application number
JP10306225A
Other languages
English (en)
Other versions
JP2000132374A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP10306225A priority Critical patent/JP3112000B2/ja
Priority to US09/428,537 priority patent/US6438571B1/en
Publication of JP2000132374A publication Critical patent/JP2000132374A/ja
Application granted granted Critical
Publication of JP3112000B2 publication Critical patent/JP3112000B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F7/5052Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination using carry completion detection, either over all stages or at sample stages only

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は加算回路に関し、特
に全加算回路の桁上がり先見方式に関するものである。
【0002】
【従来の技術】加算回路は汎用計算機など様々な装置に
おいて使用されており、また、この加算回路を高速化す
るために、従来は桁上がり先見回路(桁上がり先見回
路)が使われていた。n個の全加算回路をシリアルに接
続して構成されるnビット加算回路の計算時間はnに比
例するが、桁上がり先見回路を付加すると計算時間をlo
g2nに比例する程度に高速化できることが知られてい
る。なお、従来の桁上がり先見回路に関しては、例え
ば、特開平8−123662号公報や特開平9−167
080号公報等に開示されている。
【0003】かかる桁上がり先見回路の必要性につき図
8及び図9を参照して説明する。これ等の図では、ブロ
ック図として、例えば、6ビットの2つの整数X,Yを
加算する場合の加算回路の例を示しており、最下位ビッ
ト(X1 ,Y1 )〜最上位ビット(X6 ,Y6 )の全加
算器1.1〜1.6を、前段の桁上がり出力CO(C1
〜C5 で示す)を次段の桁上がり入力CIへ夫々供給す
るように順次シリアルに接続した構成であり、各加算結
果がZ1 〜Z6 として示されており、最終桁上がりをC
Oとする。
【0004】図8では、(Xi ,Yi )=(0,1)、
初段の桁上がり入力CIを“1”とした場合の計算例を
タイムチャートとして示しており、図9では、(X1 ,
Y1),(X3 ,Y3 ),(X4 ,Y4 ),(X6 ,Y6
)=(1,0)とし、(X2 ,Y2 ),(X5 ,Y5
)=(1,1)とし、初段の桁上がり入力CIを
“1”とした場合の計算例をタイムチャートとして示し
ている。
【0005】図8の例では、6桁全てにわたって桁上が
りが生じる場合であり、時間の流れ(動作順番)が
「8」以降でないと、正しい加算結果が得られないこと
が分かる。また図9の例では、時間の流れ「4」以降に
正しい加算結果が得られる。図9において、連続して桁
上がりしている場所に着目すると、最低3回分の桁上が
り時間を待てば、正しい出力が得られることが分かる。
【0006】桁上がり先見回路がない状態では、上述し
た様な複数の全加算器をシリアル接続して構成した場合
の加算回路では、2つの加算すべ入力データX,Yが
定まらない限り、上述の図8,9の例の様に、桁上がり
による出力の確定のための待ち時間をどれだけ用意すれ
ば良いか分からない、そこで、図8の例で示した様な最
悪のケースを考えて、全ビットが桁上がりしても良いだ
けの待ち時間を予め用意しておき、その待ち時間だけ待
った後に最終段の全加算器から出力を取り出すことが考
えられる。
【0007】しかしながら、全てのnビット入力データ
X,Yのパターンで夫々どれだけの待ち時間を必要とし
ているかを調査すると、通常、この待ち時間の平均はlo
g2nに比例する値の時間で良いことが分かる。このこと
は、仮に入力データがランダムな値で選ばれるならば、
ほとんどの入力パターンは桁上がり先見回路を搭載しな
くとも、無条件にlog2nに比例する時間だけ待ち時間を
設定して待てば、正しい計算結果が得られることを意味
する。
【0008】
【発明が解決しようとする課題】ところで、汎用計算機
等では、加算回路は、一般的に、32〜64ビットの整
数の加算を行うために使われていたが、近年、公開鍵暗
号装置などにおいて、1024〜2048ビット程度も
の桁数の大きな整数の加算を行うことが要求されてい
る。ところが、この要請に応えるために、例えば、従来
から知られている桁上がり先見回路を用いて加算を高速
化しようとすると、回路規模が大きくなるという問題が
ある。
【0009】本発明の目的は、桁上がり先見回路を用い
た加算回路より小さな回路で高速に加算できる加算回路
を提供することである。
【0010】
【課題を解決するための手段】本発明によれば、n=k
×mビット(n,m,kは整数)からなる2つの整数の
加算をなす加算回路であって、前段の桁上げ出力が後段
の桁上げ入力に供給されて互いにシリアルに接続された
m個のkビット加算手段と、これ等m個のkビット加算
手段の各々に対応して設けられ対応加算手段の各ビッ
トに対する入力の排他的論理和が、kビット全てについ
て1であり、かつ該加算手段の桁上がり入力と桁上がり
出力との排他的論理和が1である場合にのみ桁上がり伝
播警報信号を出力するm個の桁上がり伝播警報手段と、
これ等m個の桁上がり伝播警報信号の論理和演算を行っ
て桁上がり警報信号を生成する論理和手段とを含み、こ
の桁上がり警報信号の生成が消滅した後に、シリアル接
続された加算手段の最終段から確定加算結果を導出する
様にしたことを特徴とする加算回路が得られる。
【0011】そして、前記2つの整数の各nビットを最
下位ビットから順次kビット毎にmブロックに分割した
場合、前記m個のkビット加算手段の各々はこれ等mブ
ロックに夫々対応して設けられており、対応組の2つの
整数のkビット加算をなすよう構成されていることを特
徴とする。
【0012】また、前記m個の桁上がり伝播警報手段の
各々は、前記2つの整数の各対応ビットの排他的論理和
演算をなすk個の排他的論理和手段と、これ等記k個の
排他的論理和出力の論理積演算をなす第一の論理積手段
と、対応加算手段の桁上がり入力と桁上がり出力との排
他的論理和演算をなす1個の排他的論理和手段と、この
1個の排他的論理和手段の出力と前記第一の論理積手段
の出力との論理積演算をなす第二の論理積手段とを含
み、この第二の論理積手段の出力を前記桁上がり伝播警
報信号とすることを特徴とする。
【0013】更に本発明によれば、n=k×m+bビッ
ト(bは整数)からなる2つの整数の加算をなす加算回
路であって、前段の桁上げ出力が後段の桁上げ入力に供
給されて互いにシリアルに接続されたm個のkビット加
算手段及び1個のbビット加算手段と、前記m個のkビ
ット加算手段の各々に対応して設けられ対応加算手段
各ビットに対する入力の排他的論理和が、kビット全
てについて1であり、かつ該加算手段の桁上がり入力と
桁上がり出力との排他的論理和が1である場合にのみ桁
上がり伝播警報信号を出力するm個の桁上がり伝播警報
手段と、これ等m個の桁上がり伝播警報信号の論理和演
算を行って桁上がり警報信号を生成する論理和手段とを
含み、この桁上がり警報信号の生成が消滅した後に、シ
リアル接続された加算手段の最終段から確定加算結果を
導出する様にしたことを特徴とする加算回路が得られ
る。
【0014】そして、前記2つの整数の各nビットを最
下位ビットのbビットのブロックと、それに続くビット
から順次kビット毎にmブロックとの1+mブロックに
分割した場合、前記m個のkビット加算手段の各々はこ
れ等mブロックに夫々対応して設けられており、対応組
の2つの整数のkビット加算をなすよう構成されている
ことを特徴とする。
【0015】本発明の作用を述べる。図9の例で示した
様に、最低何回連続して桁上がりが生じているかをみ
て、その回数に比例する時間だけ待てば正しい計算結果
が得られることが分かるので、本発明では、かかる事実
に基きシリアル接続された複数の全加算器に夫々対応し
て桁上がり入力が桁上がり出力に伝播する場合にのみ桁
上がり伝播警報信号を生成する回路を夫々設け、これ等
桁上がり伝播警報信号を論理和演算して桁上がり警報信
号とする。この桁上がり信号が伝播している間は、桁上
がり警報信号が発生し続けているので、この桁上がり警
報信号の消滅後に、加算結果を確定出力として導出する
ようにしている。これにより、従来の桁上がり先見回路
と同程度に高速で、より小規模な回路構成となる。
【0016】
【発明の実施の形態】以下に、図面を参照して本発明の
実施の形態を説明する。図1に本発明の実施の形態の回
路を示す。図に示すように、前段の桁上がり出力COが
次段の桁上がり入力CIに供給される様に順次シリアル
に接続されたm個のkビット加算回路1.1〜1.m
(これ等のkビット加算回路は、図2に示すように、k
個の全加算器をシリアル接続して構成される)が設けら
れている。
【0017】これ等m個の加算回路1.1〜1.mに夫
々対応して、m個のkビット桁上がり伝播警報回路2.
1〜2.mが設けられている。これ等kビット桁上がり
伝播警報回路の各々は、対応する各加算回路のkビット
にわたって桁上がり(あるいは桁下がり)が伝播するこ
とを検出すると1を出力し、さもなくば0を出力するも
のである。kビット桁上がり伝播警報回路2.i(i=
1〜mの整数)の各々は、対応kビット加算回路1.i
の入力Xi ,Yi を入力X,Yとし、また対応kビット
加算回路1.iの桁上がり入力及び桁上がり出力を夫々
桁上がり入力CI及び桁上がり出力COとしている。
【0018】kビット桁上がり伝播警報回路2.1〜
2.mの各出力W1 〜Wm の論理和を演算するために、
論理和回路3が設けられている。尚、以下では、加算回
路1.1〜1.mの各計算時間(遅延時間)をτとし、
論理和回路3の出力を桁上がり警報信号Wと呼ぶ。
【0019】ところで、nビット整数の加算において生
じる桁上がり伝播の最大長の平均は、前述の如くlog2
ビット程度である(なお、桁上がり先見回路によって高
速化された従来のnビット加算回路の計算時間はlog2
に比例する)。また、kビット桁上がり伝播警報回路
2.1〜2.mと論理和回路3とは従来の桁上がり先見
回路に比べると回路規模が小さい。従って、n=kmと
すると、近似的にlog2n=kが成り立つ程度にm,kの
値を選んでおき、入力を設定した後にτ時間以上待っ
て、さらに、桁上がり警報信号がτ時間以上にわたって
0になるのを待って、その時点での最終段での加算回路
1.mの出力を加算結果として出力するようにすれば、
従来の加算回路よりも小さな回路で、従来の加算回路と
同程度に高速に(すなわちlog2nに比例する程度の計算
時間で)、nビット整数の加算が行えることになる。
【0020】以下に、本発明の実施例の詳細を説明す
る。なお、以下ではn=kmとする。図1に示す加算回
路は、m個のkビット加算回路1.1〜1.mとm個の
桁上がり伝播警報回路2.1〜2.mと論理和回路3と
を有する。図1において、n(=km)ビット整数Xを
kビットずつ区切ったブロック(kビット整数)のう
ち、下位からi番目のブロックXi が入力端子から夫々
入力されて、kビット加算回路1.iの端子Xと、kビ
ット桁上がり伝播警報回路2.iの端子Xに夫々供給さ
れる。
【0021】また、n(=km)ビット整数Yをkビッ
トずつ区切ったブロックのうち、下位からi番目のブロ
ックYi が入力端子から夫々入力されて、kビット加算
回路1.iの端子Yと、kビット桁上がり伝播警報回路
2.iの端子Yに供給される。桁上がり入力CIが入力
端子4から入力されて初段の加算回路1.1の端子CI
とkビット桁上がり伝播警報回路2.1の端子CIに夫
々供給される。i=1,2,…,m−1に対して、kビ
ット加算回路1.iの端子COからの出力は、次段のk
ビット加算回路1.i+1 の端子CIとkビット桁上がり
伝播警報回路2.i+1 の端子CIとに供給される。
【0022】kビット加算回路1.mの端子COからの
出力は、桁上がり出力COとして出力端子5から出力さ
れると共に、kビット桁上がり伝播警報回路2.mの端
子COに供給される。kビット加算回路1.iの出力端
子Zからkビット出力Zi が導出され、すべてのkビッ
ト桁上がり伝播警報回路2.iの出力Wi は論理和回路
3に供給され、論理和回路3の出力が桁上がり警報信号
Wとして導出される。
【0023】尚、kビット加算回路1.iは、端子Xに
供給されるkビット整数Xi と、端子Yに供給されるk
ビット整数Yi と、端子CIに供給される値とを、それ
ぞれ被加数、加数、桁上がり入力として加算し、kビッ
トの加算結果Zi を端子Zから出力し、加算において生
じた桁上がりを端子COから出力する。
【0024】図1のkビット加算回路1.1は図2のよ
うに構成されている。図2において、出力端子50がk
ビット加算回路1.1の端子COに対応し、入力x1 〜
xk,y1 〜yk がkビット加算回路1.1の端子X,
Yに夫々対応し、入力端子40がkビット加算回路1.
1の端子CIに対応し、出力z1 〜zk がkビット加算
回路1.1の端子Zに夫々対応している。
【0025】そして、kビット整数Xの下位からi番目
のビットxi が入力されて全加算回路11.iの端子X
に供給され、kビット整数Yの下位からi番目のビット
Yiが入力されて、全加算回路11.iの端子Yに供給
される。そして、桁上がり入力CIが入力端子40から
入力されて全加算回路11.1の端子CIに供給され
る。i=1,2,…,k−1に対して、全加算回路1
1.iの端子COからの出力は全加算回路11.i+1 の
端子CIに供給される。
【0026】全加算回路11.kの端子COからの出力
は桁上がり出力COとして出力端子50から出力され
る。全加算回路11.iの端子Zからの出力ビットzi
が夫々出力として導出される。尚、全加算回路11.i
は端子Xに供給されるビットと、端子Yに供給されるビ
ットと、端子CIに供給されるビットとを、それぞれ被
加数、加数、桁上がり入力として全加算し、1ビットの
加算結果を端子Zから出力し、加算において生じた桁上
がりを端子COから出力する。
【0027】かくして、図2のkビット加算回路は、端
子X(入力x1 〜xk )に供給されるkビット整数Xi
と、端子Y(入力y1 〜yk )に供給されるkビット整
数Yi と、端子CI(入力端子40)に供給される値と
を、それぞれ被加数、加数、桁上がり入力として加算
し、kビットの加算結果を端子Z(出力zi 〜zk )か
ら出力し、加算において生じた桁上がりを端子CO(入
力端子50)から出力する。他の加算回路1.2〜1.
mも同一構成である。
【0028】図1のkビット桁上がり警報回路2.1
は、図3のように構成されている。kビット整数Xの下
位からi番目のビットXi と、kビット整数Yの下位か
らi番目のビットYi とが排他的論理和回路22.iに
供給され、各排他的論理和回路22.iの計算結果が論
理積回路23に供給されている。論理積回路23はその
計算結果を論理積回路25に供給する。加算回路1.i
の桁上がり入力CI及び桁上がり出力COは排他的論理
和回路24に供給され、その計算結果が論理積回路25
に供給される。
【0029】論理積回路25の計算結果が桁上がり警報
信号Wとして出力される。かくして、図3のkビット桁
上がり警報回路は、kビットにわたる桁上がり(あるい
は桁下がり)が生じる場合に、桁上がり警報信号Wを1
とし、それ以外の場合には、桁上がり警報信号Wを0と
する。
【0030】なお、図2の全加算器11.1〜11.m
は当業者にとってよく知られており、また本発明とは直
接関係ないので、その詳細な構成の説明については省略
する。
【0031】以下、本発明の実施例の動作につき説明す
る。なお、以下では、各加算回路1.iの計算時間(遅
延時間)をτとする。kビット桁上がり警報回路2.i
は、図1および図3を見てわかるように、kビット加算
回路1.iの桁上がり入力CIが桁上がり出力COにま
で伝播する場合にのみ、桁上がり伝播警報信号Wi を1
とし、それ以外の場合には、桁上がり伝播警報信号Wi
を0とする。このため、kビット桁上がり警報回路2.
iは、kビット加算回路1.iの内部で生じた桁上がり
が桁上がり出力COにまで伝播する場合や、桁上がり入
力CIの伝播がkビット加算回路1.i内部で収束する
場合や、kビット加算回路1.iの内部で生じた桁上が
りがkビット加算回路1.i内部で収束する場合につい
ては、桁上がりの伝播を検出できない。
【0032】また、複数のkビット加算回路にわたっ
て、あるkビット加算回路の桁上がり入力CIが、別の
kビット加算回路の桁上がり出力COにまで伝播する場
合には、下位桁に位置するkビット加算回路1.iに対
応するkビット桁上がり警報回路2.iから順に、桁上
がり警報信号Wi が1となり、Wi+1 が1になるとWi
は0になる。このため、複数のkビット加算回路にわた
って桁上がりが伝播している間は、出力端子から出力さ
れる桁上がり警報信号Wが1となる。なお、厳密には、
桁上がり警報回路2.i内部の排他的論理和回路24
(図3参照)および論理積回路25(図3参照)の遅延
時間のばらつきによっては、Wi+1 が1になる前にWi
が0になることもあるが、Wi+1 もWi も0となるのは
一瞬に過ぎないので、mが十分に大きければ(そうすれ
ば、入力の変化に対する論理和回路3の反応が鈍くな
る)、たとえそうなっても、論理和回路3の出力する桁
上がり警報信号Wが0になることはない。
【0033】従って、本発明の加算回路を用いて、桁上
がり入力をCIとして、n(=km)ビット整数Xとn
ビット整数Yとを加算するためには、次のようにすれば
よい。なお、以下では、TをT>τであるような予め決
められた定数とする。まず、nビット整数Xをkビット
ずつ区切ったブロック(kビット整数)のうち、下位か
らi番目のブロック(kビット整数)Xi を夫々対応す
る入力端子に供給し、n(=km)ビット整数Yをkビ
ットずつ区切ったブロック(kビット整数)のうち、下
位からi番目のブロック(kビット整数)Yi を夫々対
応する入力端子に供給し、桁上がり入力CIを入力端子
4に供給する。
【0034】そして、その後、T時間待ち、さらにその
後、桁上がり警報信号がT時刻にわたって0になるのを
待つ。すると、nビットの加算結果が出力Z1〜Zmと
して得られ、加算において生じた桁上がりが出力端子5
に得られる。
【0035】なお、加算入力Xi ,Yi を供給してから
T時間経過した後に、桁上がり警報信号WがT時間にわ
たって0になるのを待ってから、加算結果Zi を外部へ
出力するための回路は、当業者にとってよく知られてい
るが、その例を以下に説明する。図5は図1〜図3に示
した本発明による加算回路100と、この加算結果を参
照する情報処理装置560との関係を示すブロック図で
ある。
【0036】図5において、加算回路100から出力さ
れる桁上がり警報信号Wはレジスタ510と論理和回路
520へ供給される。レジスタ510は入力端子571
から供給されるシステムクロックCLKの1から0へ立
ち下がったときに警報信号Wの値をラッチし(レジスタ
510のクロック入力端子においてクロックが立ち下が
ったときに入力値をラッチすることを、下向きの矢印を
もって示している。他のレジスタ等においても同様に矢
印の向きで入力データのラッチタイミングを示してい
る)、このラッチされた値W´を論理和回路520へ出
力する。
【0037】論理和回路520はクロックCLKとWと
W´との論理和を演算し、その計算結果CLK´を情報
処理装置560のクロック入力端子へ供給する。情報処
理装置560はこのクロック入力端子に供給されたCL
K´の値が0から1に立ち上がったときに予め定められ
た手順に従って内部状態を更新する。そして、情報処理
装置560が桁上がり入力をCIとしてkmビットの整
数X及びYを加算する時には、Xをレジスタ530に供
給し、Yをレジスタ540に供給し、CIをレジスタ5
50に供給する。次に、制御信号SETとしてクロック
パルスを1個供給し、次に加算回路100から供給され
るkmビットの整数Zと桁上がり出力COとを加算結果
として取込む。
【0038】レジスタ530,540,550は信号S
ETが0から1に立ち上がったら、夫々X,YCIの値
を保持し、これ等保持された値を加算回路100の各対
応入力端子に夫々供給する。加算回路100は、既に述
べた様に加算を行い、桁上がり警報信号Wを出力すると
共に、kmビットの整数Zと桁上がり出力C0を加算結
果として出力する。
【0039】図6は、桁上がり警報信号Wが0のまま
か、あるいは、加算を開始してからτ時間後に短時間
(T−τ時間未満)だけ1になる場合の、図5の接続回
路の動作を示すタイミングチャートである。尚、レジス
タ510に保持されている値の初期値は0であるとす
る。また、クロック信号CLKのクロック周期は2Tで
あるとする。
【0040】図6において、時刻t1に、制御信号SE
Tが0から1に立ち上がり、加算回路100へ入力X,
Y,CIが確定する。桁上がり警報信号Wが0のまま
か、あるいは、時刻t2に(すなわち時刻t1からτ時
間後に)短時間(T−τ時間未満)だけ1になった場合
には、時刻t3以降は桁上がり警報信号Wは0になって
いる。そして、時刻t3に、レジスタ510にWの値す
なわち0が保持されるので、W´の値は、時刻t3以降
も0のままである。この場合には、論理和回路520の
出力CLK´すなわちCLKとW´とWの論理和は、C
LKと同様に変化する。
【0041】そして、時刻t4で、情報処理装置560
が加算回路100の出力Z,COを加算結果として取込
む。時刻t4においては、桁上がり制御信号Wが0にな
ってから時刻T以上が経過しているから、加算回路10
0の出力Z,COの値は、加算回路100の入力X,
Y,CIに対応する正しい加算結果となっている。
【0042】図7は、桁上がり警報信号Wが加算を開始
してからτ時間後に長時間(T−τ時間以上)にわたっ
て1になる場合の、図5の接続回路の動作を示すタイミ
ングチャートである。尚、レジスタ510に保持されて
いる値の初期値は0であるとする。また、クロック信号
CLKのクロック周期は2Tであるとする。
【0043】図7において、時刻t1に、制御信号SE
Tが0から1に立ち上がり、加算回路100への入力
X,Y,CIが確定する。時刻t2に桁上がり警報信号
Wが1になり、時刻t3以降も桁上がり警報信号Wは1
になっている。そして、時刻t3に、レジスタ510に
Wの値すなわち1が保持されるので、W´の値は、時刻
t3以降は1となる。そして、CLK信号が次に1から
0に立ち下がる時刻t5以降は桁上がり警報信号Wは0
になっているので、時刻t5に、レジスタ510にWの
値すなわち0が保持され、W´の値は、時刻t5以降は
0となる。この場合には、論理和回路520の出力CL
K´すなわちCLKとW´とWの論理和は、CLKから
時刻t3からt4にわたるクロックパルスを1個だけ取
り除いたものになっている。
【0044】このため、CLK´をクロックとして動作
している情報処理装置560は、時刻t4において動作
を停止し、そして、時刻t6で、情報処理装置560が
加算回路100の出力Z,COを加算結果として取込
む。時刻t6においては、桁上がり制御信号Wが0にな
ってから時刻T以上が経過しているから、加算回路10
0の出力Z,COの値は、加算回路100の入力X,
Y,CIに対応する正しい加算結果となっている。
【0045】尚、加算回路の搭載された情報処理装置を
動作させるためのクロックの周期よりもτが小さい場合
には、桁上がり警報信号Wが1の場合に、情報処理装置
へのクロック信号の供給をストップさせるだけでも良い
ものである。
【0046】上記実施例では、すべてのkビット加算回
路1.iに対応してkビット桁上がり警報回路2.iを
夫々付加しているが、すべての加算回路1.iに付加し
なくとも同様の効果が得られる。そのための構成を、第
2の実施例として図4に示す。なお、以下ではn=km
+bとし、X0 ,Y0 ,Z0 は夫々n(=km+b)ビ
ット整数X,Y,Zの下位bビットであり、(X1 ,
…,Xm ),(Y1 ,…,Ym ),(Z1 ,…,Zm )
は夫々n(=km+b)ビット整数X,Y,Zの上位k
mビットであるとする。
【0047】本実施例では、図1の加算回路1.1〜
1.mと、桁上がり警報回路が付加されていない加算回
路1.0とが設けられている。図4において、入力端子
4から桁上がり入力CIが入力されて加算回路1.0の
端子CIに供給され、bビット整数X0 が入力されて加
算回路1.0の端子Xに供給され、bビット整数Y0 が
入力されて加算回路1.0の端子Yに供給される。
【0048】加算回路1.0はCIを桁上がり入力とし
て、bビット整数X0 とbビット整数Y0 との加算を行
い、加算結果のbビット整数Zを端子Z0 から出力し、
加算において生じた桁上がりを端子COから出力する。
なお、加算回路1.0は桁上がり先見回路を付加した従
来の加算回路として構成される。他の構成は図1のそれ
と同等であり、その説明は省略する。
【0049】図4の加算回路を用いて、桁上がり入力を
CIとして、n(=km+b)ビット整数Xとn(=k
m+b)ビット整数Yを加算するためには、次のように
すればよい。なお、以下では、TをT>τであるような
予め決められた定数とし、加算器1.0の計算時間(遅
延時間)をδとする。まず、nビット整数Xの上位km
ビットをkビットずつ区切ったブロック(kビット整
数)のうち、下位からi番目のブロック(kビット整
数)Xi を夫々対応する加算回路1.iに供給し、nビ
ット整数Xの下位bビットX0 を加算回路1.0に供給
し、nビット整数Yの上位kmビットをkビットずつ区
切ったブロック(kビット整数)のうち、下位からi番
目のブロック(kビット整数)Yi を夫々対応する加算
回路1.iに供給する。また、nビット整数Yの下位b
ビットY0 を加算回路1.0に供給し、桁上がり入力C
Iを入力端子4に供給する。
【0050】そして、その後、T+δ時間待ち、さら
に、その後桁上がり警報信号がT時刻にわたって0にな
るのを待つ。すると、nビットの加算結果が出力Z0 ,
Z1〜Zm に得られ、加算において生じた桁上がりが出
力端子5に得られるのである。このようにしても、bが
k程度の大きさであれば、回路規模も演算速度も第1の
実施例と同程度だが、一定ビット長以下の桁数(例え
ば、32ビットなど)の加算が一定時間以内に実行でき
るという効果が得られる。このため、この第2の実施例
は、(加算を一定時間以内に実行することが要求され
る)汎用計算機の加算回路と、(加算を必ずしも一定時
間以内に実行しなくても良い)暗号装置の加算回路とを
共用できることになる。
【0051】なお、上記実施例では、n(=km)ビッ
トをkビットずつmブロックに分割して処理したが、配
線などの都合によっては、あるいは、nがちょうど割り
切れない場合には、不均等に分割して処理してもよい。
また、桁上がり伝播警報回路2.iの排他的論理和回路
22.1〜22.kについては、全加算回路11.iの
内部の排他的論理和回路と共用して構成できる。そのよ
うにすれば、回路規模をより小さくできる。
【0052】
【発明の効果】このように、本発明においては、シリア
ルな加算回路に桁上がり警報回路と論理和回路を付加
し、シリアルな加算回路における桁上がりの伝播が収束
するまで待つことによって、正しい加算結果が得られる
ようにしている。ところで、桁上がり警報回路と論理和
回路の回路規模は従来の桁上がり先見回路と比べると小
さい。また、実験によると、2つのnビット整数の加算
において生じる桁上がり伝播の最大長の平均はlog2nビ
ット程度である。従って、n=kmとすると、近似的に
log2n=kが成り立つようにkとmの値を選んでおけ
ば、「従来の桁上がり先見回路を具備した加算回路」と
同程度に高速で、「従来の桁上がり先見回路を具備した
加算回路」より小規模な、加算回路を構成することがで
きる。
【図面の簡単な説明】
【図1】本発明の第一の実施例のブロック図である。
【図2】図1の加算回路1.1〜1.mの例を示す図で
ある。
【図3】図1の桁上がり伝播警報回路2.1〜2.mの
例を示す図である。
【図4】本発明の第二の実施例のブロック図である。
【図5】本発明の加算回路の出力処理方法を説明するた
めのブロック図である。
【図6】図5のブロック図の動作の一例を示すタイミン
グチャートである。
【図7】図5のブロック図の動作の他の例を示すタイミ
ングチャートである。
【図8】桁上げ先見回路の必要性を説明するため一例を
説明するための図である。
【図9】桁上げ先見回路の必要性を説明するため他の例
を説明するための図である。
【符号の説明】
1.0,1.1〜1.m 加算回路 2.1〜2.m 桁上がり伝播警報回路 3,520 論理和回路 11.1〜11.k 全加算器 22.1〜22.k,24 排他的論理和回路 23,25 論理積回路 100 本発明による加算回路 560 情報処理装置 510,530〜550 レジスタ

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 n=k×mビット(n,m,kは整数)
    からなる2つの整数の加算をなす加算回路であって、前
    段の桁上げ出力が後段の桁上げ入力に供給されて互いに
    シリアルに接続されたm個のkビット加算手段と、これ
    等m個のkビット加算手段の各々に対応して設けられ
    対応加算手段の各ビットに対する入力の排他的論理和
    が、kビット全てについて1であり、かつ該加算手段の
    桁上がり入力と桁上がり出力との排他的論理和が1であ
    る場合にのみ桁上がり伝播警報信号を出力するm個の桁
    上がり伝播警報手段と、これ等m個の桁上がり伝播警報
    信号の論理和演算を行って桁上がり警報信号を生成する
    論理和手段とを含み、この桁上がり警報信号の生成が消
    滅した後に、シリアル接続された加算手段の最終段から
    確定加算結果を導出する様にしたことを特徴とする加算
    回路。
  2. 【請求項2】 前記加算手段の各々の加算時間より大な
    る所定時間経過後でかつ前記桁上がり警報信号の消滅後
    に、前記確定加算結果を導出する手段を含むことを特徴
    とする請求項1記載の加算回路。
  3. 【請求項3】 前記2つの整数の各nビットを最下位ビ
    ットから順次kビット毎にmブロックに分割した場合、
    前記m個のkビット加算手段の各々はこれ等mブロック
    に夫々対応して設けられており、対応組の2つの整数の
    kビット加算をなすよう構成されていることを特徴とす
    る請求項1または2記載の加算回路。
  4. 【請求項4】 前記m個の桁上がり伝播警報手段の各々
    は、前記2つの整数の各対応ビットの排他的論理和演算
    をなすk個の排他的論理和手段と、これ等記k個の排他
    的論理和出力の論理積演算をなす第一の論理積手段と、
    対応加算手段の桁上がり入力と桁上がり出力との排他的
    論理和演算をなす1個の排他的論理和手段と、この1個
    の排他的論理和手段の出力と前記第一の論理積手段の出
    力との論理積演算をなす第二の論理積手段とを含み、こ
    の第二の論理積手段の出力を前記桁上がり伝播警報信号
    とすることを特徴とする請求項1〜3いずれか記載の加
    算回路。
  5. 【請求項5】 n=k×m+bビット(bは整数)から
    なる2つの整数の加算をなす加算回路であって、前段の
    桁上げ出力が後段の桁上げ入力に供給されて互いにシリ
    アルに接続されたm個のkビット加算手段及び1個のb
    ビット加算手段と、前記m個のkビット加算手段の各々
    に対応して設けられ対応加算手段の各ビットに対する
    入力の排他的論理和が、kビット全てについて1であ
    り、かつ該加算手段の桁上がり入力と桁上がり出力との
    排他的論理和が1である場合にのみ桁上がり伝播警報信
    号を出力するm個の桁上がり伝播警報手段と、これ等m
    個の桁上がり伝播警報信号の論理和演算を行って桁上が
    り警報信号を生成する論理和手段とを含み、この桁上が
    り警報信号の生成が消滅した後に、シリアル接続された
    加算手段の最終段から確定加算結果を導出する様にした
    ことを特徴とする加算回路。
  6. 【請求項6】 前記2つの整数の各nビットを最下位ビ
    ットのbビットのブロックと、それに続くビットから順
    次kビット毎にmブロックとの1+mブロックに分割し
    た場合、前記m個のkビット加算手段の各々はこれ等m
    ブロックに夫々対応して設けられており、対応組の2つ
    の整数のkビット加算をなすよう構成されていることを
    特徴とする請求項5記載の加算回路。
JP10306225A 1998-10-28 1998-10-28 加算回路 Expired - Fee Related JP3112000B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10306225A JP3112000B2 (ja) 1998-10-28 1998-10-28 加算回路
US09/428,537 US6438571B1 (en) 1998-10-28 1999-10-28 Adder circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10306225A JP3112000B2 (ja) 1998-10-28 1998-10-28 加算回路

Publications (2)

Publication Number Publication Date
JP2000132374A JP2000132374A (ja) 2000-05-12
JP3112000B2 true JP3112000B2 (ja) 2000-11-27

Family

ID=17954510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10306225A Expired - Fee Related JP3112000B2 (ja) 1998-10-28 1998-10-28 加算回路

Country Status (2)

Country Link
US (1) US6438571B1 (ja)
JP (1) JP3112000B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2739487B2 (ja) * 1988-12-20 1998-04-15 株式会社日立製作所 描画処理装置及びその描画処理装置を用いた画像表示装置
JPH02259926A (ja) * 1989-03-31 1990-10-22 Hitachi Ltd 加算制御方式
JPH0375925A (ja) 1989-08-18 1991-03-29 Nec Corp 算術論理演算装置
JPH08123662A (ja) 1994-10-27 1996-05-17 Nec Corp 加算方法および加算器
JPH09167080A (ja) 1995-12-15 1997-06-24 Hitachi Ltd 桁上げ先見回路、それを用いた加算器及びそれを用いた情報処理装置

Also Published As

Publication number Publication date
JP2000132374A (ja) 2000-05-12
US6438571B1 (en) 2002-08-20

Similar Documents

Publication Publication Date Title
US5375079A (en) Arithmetical unit including accumulating operation
US4228520A (en) High speed multiplier using carry-save/propagate pipeline with sparse carries
JPH07210369A (ja) 並列加算および平均演算を行うための回路およびその方法
JPH07506444A (ja) 小型乗算器
US5957996A (en) Digital data comparator and microprocessor
JPH06509200A (ja) 乱数発生装置並びに方法
GB2196453A (en) Treatment of floating point numbers
CN112580279B (zh) 逻辑电路的优化方法、优化装置以及存储介质
JP3112000B2 (ja) 加算回路
US7174015B1 (en) Methods and apparatus for variable radix scalable modular multiplication
JP2511527B2 (ja) 浮動小数点演算器
US6633896B1 (en) Method and system for multiplying large numbers
US6434588B1 (en) Binary counter with low power consumption
KR101007259B1 (ko) 패리티 생성 회로, 계수 회로 및 계수 방법
JPH09222991A (ja) 加算方法および加算器
EP0564137B1 (en) Parallelized borrow look ahead subtractor
JPH01220528A (ja) パリテイ発生器
JPH0454256B2 (ja)
JP3164445B2 (ja) 10進演算命令処理装置
JPH06168101A (ja) 加算装置及び加算方法
KR100256463B1 (ko) 임의의 베이스의 심볼을 가산하거나 감산하는 프로세스 및 시스템
KR100202947B1 (ko) 파이프라인 이진 곱셈기
JP2001034457A (ja) 加減算回路
JPH09190338A (ja) 論理演算装置での数学的オーバフロー・フラグ発生遅延の除去
JP3522387B2 (ja) パイプライン演算装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees