JPH04233032A - 乗算器回路とその回路を実施するシステム - Google Patents

乗算器回路とその回路を実施するシステム

Info

Publication number
JPH04233032A
JPH04233032A JP3180603A JP18060391A JPH04233032A JP H04233032 A JPH04233032 A JP H04233032A JP 3180603 A JP3180603 A JP 3180603A JP 18060391 A JP18060391 A JP 18060391A JP H04233032 A JPH04233032 A JP H04233032A
Authority
JP
Japan
Prior art keywords
bits
carry
adder
bit
multiplier circuit
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
JP3180603A
Other languages
English (en)
Inventor
Dongen-Vogels Van Vincent
ヴィンセント ファン ドンゲン−フォーゲルス
Quisquater Jean-Jacques
ジャン−ジャック キスカテ
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of JPH04233032A publication Critical patent/JPH04233032A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products

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)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明は相互接続された複数の行のキャリ
ー保存加算器(carry save adder)に
より形成された、「m」ビットの「aj」(0≦j≦n
−1)の第1数Aに「n」ビットの「bj 」の第2数
Bを乗算する乗算器回路に関連し、各キャリー保存加算
器行は「m」個の計算セルにより形成され、各計算セル
が1ビット全加算器(one bit full ad
der)とアンドゲートを具え、該アンドゲートは上記
の計算セルの4個の入力ラインaj 、bj 、Sin
 、Cin と、2個の出力ラインSout、Cout
(Sが結果、Cがキャリーに対応する)に適切に接続さ
れている。
【0002】
【背景技術】そのような回路は電子工業でよく知られ、
それは一般的に少なくともデータとクロックを実現する
ことを要求する制御システムに接続されている。
【0003】乗算A・Bは加算操作A・B+Yに関連で
き、その場合、回路はRSAのような暗号システムのメ
ッセージの符号化および復号化に特に使用されている。
【0004】既知の乗算器回路は、ランス・エイ・グラ
サー(Lance A. Glasser)とダニエル
・ダブリュウ・ドベルプール(Daniel W. D
obberpuhl)の本、「VLSI回路の設計と解
析(The design and analysis
 of VLSI circuit)」、レディング(
Reading)の「アディソン・ウェズリイ(Add
ison−Wesley)」、マサチューセッツ(Ma
ssachusetts)に開示されている。簡単な乗
算器回路網はその頁52と53に記載され、その後でさ
らに詳しい回路が頁54と55に記載されているが、し
かしこのタイプの回路の速度と容量は著者自身により説
明された理由によってむしろ制限されている。
【0005】
【発明の開示】本発明の目的はスイッチング速度と容量
のレベルの双方に関して何らの欠点のないそのような回
路の効率的かつ経済的な実現を許容することである。
【0006】本発明によると、そのような乗算器回路は
、キャリー保存加算器の上記の最後の行のキャリー出力
ラインCouti がフィーバドックループにより上記
の第1のキャリー保存加算器行のキャリー入力 Cin
i にフィーバドックされ、 最小桁位計算セル(le
ast significant calculati
ng cell)(i=0)の出力を除いて、上記のキ
ャリー保存加算器行の結果出力ライン(result 
output line)Souti がフィーバドッ
クループにより上記の第1のキャリー保存加算器行の結
果入力ライン Sini−1 にフィーバドックされ、
これらの各フィーバドックラインが遅延レジスタ(de
lay register)を含み、上記のキャリー保
存加算器行の数Nが「n」よりかなり少なく、かつ数「
A」が上記の入力ライン「ai 」に存在し、一方、数
「B」が時分割多重形で上記の入力ライン「bi 」に
存在する場合に、各N行の単一最小桁位計算セル(i=
0)のN結果出力ラインSoutで時分割多重形で上記
の乗算の結果が得られるようなタイプの初期化および終
了手段が含まれること、を特徴としている。
【0007】このように、各クロックパルスにおいて、
「m」ビット数Aは最小桁位ビットから始めて数BのN
ビットと乗算され、かつ積A・BのNビットを供給する
。よく知られているように、「m」ビット数(A)と「
n」ビット数(B)との積それ自身は最大「m+n」ビ
ットを含み、従って乗算は(m+n)/Nクロックパル
スの後で間違えなく達成されよう。そのような回路は多
分非常に経済的に回路を実現するその簡単性と信頼性に
より特徴付けられている。
【0008】さらに、数Aを与え、かつ多重化された形
あるいは連続形で積A・Bを復元することは何らの技術
的困難性をもたらさない。乗算は従って規則的な手順で
遂行され、それは制御が容易であり、かつその連続化は
それ自身にフィードバックする同じ回路を繰り返して利
用している。この手順は数の1つ、ここではAが大きさ
(dimension) 「m」を有し、それは現在の
場合ではBである別の数の大きさ「n」に対して相対的
に小さい。
【0009】好ましい1実施例において、そのような乗
算回路は、上記の初期化手段が、一方では「0」にセッ
トする第1手段により各キャリー保存加算器行の最大桁
位計算セル(most significant ca
lculating cell)(i=m−1)の結果
入力ラインSin に、他方では「0」にセットする第
2手段により、遅延レジスタに蓄積された値にかかわら
ずすべての上記のフィーバドックラインに構成され、上
記の第2手段が計算操作の初期化の間にのみ活性化され
ることを特徴としている。
【0010】計算の初期化の活性は適当な第1位置に回
路のいくつかの要素を調整するその目的を通常有してい
るリセット指令(RESET command) によ
り実行される。
【0011】計算の連続化原理の実施は好ましい1実施
例で良好に使用でき、それはこの回路が「p」ビット「
yk 」(0≦k≦p−1)の第3数Yを上記の乗算結
果にビットシーケンシャルに加算するよう接続されてい
る「z」1ビット全加算器の列(column)により
構成された加算器(リップルキャリー加算器)をさらに
含み、上記の数Yは時分割多重形で備えられ、かつ列の
「z」番目の加算器のキャリー出力ラインCoutが列
の第1加算器のキャリー入力ラインにフィーバドックさ
れ、このラインが上記の先行フィーバドックラインに類
似していることを特に特徴としている。
【0012】このように、この回路は非常に経済的な手
段により演算A・B+Yを実行する。その実現のために
、数「z」は≧Nであることが好ましいが、しかし「p
」が非常に大きい場合に要求されるクロックパルスの数
を与えることができるなら、数「p」は「m」と「n」
に対して任意の値を有することができる。
【0013】数「z」は「N」に等しく、かつ数「p」
が「n」に等しいことが好ましい。このようにして、回
路は連続的に簡単かつ規則正しい構造であり続け、かつ
クロックパルスの数はこの場合に結果が「m+n」ビッ
ト以下で再び形成されることが知られているという理由
で不変のままに留まる。n/Nクロックパルスの後で、
数BとYは少なくとも回路に印加され、かつ上記の計算
終了手段が残りのクロックパルスの間に入力「bj 」
と「yk 」を「0」に調整する手段により構成される
という利点がある。
【0014】この回路の改良は、加算器に向かう乗算器
のN結果出力ラインSoutが、ビット「yk 」のフ
ィードフォアワードが遅延され、加算パフォーマンスが
乗算パフォーマンスに対して遅延をもって実行されるよ
うなタイプの遅延レジスタを備えることを特徴としてい
る。
【0015】このデバイスは、計算を緩和(slack
) するのではなく、回路に数Bを連続的に印加し、か
つその後でしばしばデータ転送の観点で有利な数Yを印
加することを可能とする。
【0016】乗算器回路は「n」が正確に「N」の倍数
である場合に特に簡単に実現される。そうでない場合に
、選択的に短絡する手段により計算回路を与え、それに
数Bおよび/またはYの入力データのどんなビットも印
加しないことで十分である。
【0017】例えば、もし「N」が3に等しく、「n」
が8に等しいなら、数B(数Yもまた)は3クロックパ
ルスで供給され、その最初のものはビット0,1,2を
持ち、第2のものはビット3,4,5を持ち、第3のも
のはビット6,7を持つ。第3クロックパルスの間に、
第3(そしてN=3であるから最後のもの)キャリー保
存加算器行は第2キャリー保存加算器行が第1加算器に
フィードバックされるように短絡されなくてはならない
【0018】そのような装置は計算手順の特殊な進行を
許容し、実際に、好ましい実施例は、3キャリー保存加
算器行(N=3)を含み、かつ一定である数Aを蓄積す
る第1蓄積レジスタ、8ビットの連続部分で数Bを蓄積
する第2の8ビットレジスタ、8ビットの連続部分で数
Yを蓄積する第3の8ビットレジスタ、8ビットの連続
部分で結果Rを蓄積する第4の8ビット蓄積レジスタ、
および上記の第2,第3,第4レジスタと、回路の対応
ラインの間で3ビット、別の3ビットおよび最後の2ビ
ット(3+3+2=8)をそれぞれ連続して受信する連
続供給手段および逆多重化手段(demultiple
xing means)を含むことを特徴としている。
【0019】計算手順は3クロックパルスの期間、すな
わち遅延同期を伴う −  Bの8ビットを供給する1パルス、−  Yの8
ビットを供給する1パルス、−  Rの8ビットを収集
する1パルス、を有する繰り返しサイクルに基づいてデ
ータの供給と結合され、回路はまたBとYのビット0,
1,2から、その後で3,4,5から、そして最後に6
,7から、A・BとRの計算に3クロックパルスを使用
し、Rの8ビットは0,1,2、その後で3,4,5、
そして最後に6,7の順序で得ることができ、従って演
算サイクルに空き時間は存在しない。
【0020】そのような乗算器回路は明らかに大規模の
処理を意図し、かつ計算R=A・B+Yの好ましい実施
例は、Aが32ビット(m=32)を具え、BとYが5
12 ビット(p=n=512 )を具え、Rが544
 ビット(p+m=544 )を具え、上記の回路がデ
ータA,B,Y,Rを運ぶ8ビットデータバスに接続さ
れ、全計算手順が、−  数Aを記録する4クロックパ
ルスの期間を有する初段(8×4=32)、−  19
2 クロックパルス、すなわちBとYを与え、かつRの
504 の第1ビットを回復するために8で割られた3
倍の512 の期間を有する動作段、−  Rの40個
の最後のビットを回復する15クロックパルス期間、す
なわち全計算に対して全体で(4+192 +15=)
211 クロックパルスを有する最終段、を含むことを
特徴としている。
【0021】そのような回路は特にRASとして知られ
ている暗号アルゴリズムを計算するシステムを実現する
よう意図された計算システムに挿入するのに特に適して
いる。
【0022】本発明といかにしてそれが実現できるかは
添付図面を参照して非限定的な実例により与えられる以
下の説明からより良く理解されよう。
【0023】
【実施例】図1は1ビット全加算器と、前記の文献の頁
53から既知の態様でセルの6入出力、すなわち−  
aj とbj :それぞれ数Aと数Bの1ビットの入力
ライン、 −  Cin :キャリーインライン、−  Sin 
:和インライン、 −  Cout:キャリーアウトライン、−  Sou
t:和アウトライン、に接続されるアンドゲート(PE
)とを含む計算セル(CELCAL) を示している。
【0024】一方ではキャリー保存加算器行を形成する
よう「キャリー保存加算器」モードに従って計算セル行
を相互接続することにより、他方では引用文献の頁55
の図1.76に示されたようなキャリー保存加算器のい
くつかの重畳された行を相互接続することにより乗算器
回路を実現することがまた知られている。
【0025】図2は本発明による乗算器をその右側の部
分に示している。それは計算セル00, 01, 02
, 03により構成されたキャリー保存加算器の第1行
、計算セル10, 11, 12, 13により構成さ
れたキャリー保存加算器の第2行および第3計算セル2
0, 21, 22, 23を含んでいる。すべての計
算セルはお互いに、かつ図1のものに等しく、さらに、
6入出力ラインはそれぞれ同じ位置にある。例えば各行
はここでは4セル(m=4)を具えるが、しかしこれは
図面が明らかに繰り返しているようには限定的ではなく
、ここでN=3である加算器行の数に適用される。
【0026】図2の右側部分は、クレーム1で特徴付け
られた要素を含む図5をもっと簡単な形で例示し、すな
わち −  最後の行のキャリー出力ライン(Cout20,
 Cout21, Cout22, Cout23)が
遅延レジスタ(RC0, Rd1, RC2, RC3
)を介して第1行(Cin00, Cin01, Ci
n03,Cin03)の各キャリー入力ラインにフィー
ドバックされ、−  最小桁位セルSout20の出力
を除いた第1行の各結果出力ラインSout(Sout
21, Sout22, Sout23)は遅延レジス
タ(RS1, RS2, RS3)を介して結果入力ラ
イン(Sin00, Sin01, Sin02)にフ
ィードバックされているもの、を例示している。
【0027】そのような回路により、3個の出力Sou
t00, Sout10, Sout20で利用可能な
ある大きさの結果(m+n)を得るために任意の大きさ
の数Bによって4ビット数Aを乗算することは可能であ
る。それを行うために、3ビットパケットでお互いに観
測された結果を得るためにラインbj ,bj+1 ,
bj+2 の3個の連続ビットのパケットに数Bを備え
ることで十分である。各クロックパルスで、Bの3ビッ
トが処理され、かつ3個の結果ビットが得られ、引き続
いて全計算はm+n/3クロックパルスを必要とし、B
のすべてのビットが供給される場合に計算の最後のステ
ップの後で入力bが明らかに「0」を与えられ、かつ回
路がいくつかのキャリーの処理、さらに特定すると遅延
レジスタを持つフィードバックラインを介して運ばれる
キャリーの処理を終了する。
【0028】実際には、初期化手段を使用して回路の初
期条件を保証するよう考慮しなければならない。これら
の手段は図6に示されているが、それはまた図2に部分
的に示されている。計算セル03, 13, 23はそ
の結果入力ラインSin03 ,Sin13 ,Sin
23 に「0」を固定的に供給する。その上、遅延回路
の後に直列に配設されたすべてのフィードバックライン
は2入力を有するアンドゲート(EC0, EC1, 
EC3 およびES1, ES2, ES3)を含み、
アンドゲートの第2入力は計算動作の第1クロックパル
スの受信の場合にのみ「0」にセットされる初期化指令
(RESET)に接続されている。このように開始条件
は満足されるが、しかし別の実施例も同じ目的を達成す
るものと考えられる。
【0029】そのような回路の動作原理は数Aの大きさ
か、あるいは数Bの大きさのいずれかに依存し、キャリ
ー保存加算器の数(N)は重要ではなく、それは数m,
nおよびNが別の判定規準の関数として任意に選択でき
ることを意味しているのは明らかであろう。乗算回路は
明らか完全に規則的であり、すべての方向で反復回路網
であり、従ってそれは集積回路技術、さらに特定すると
いわゆるVLSI−CMOS 技術に従って容易にかつ
経済的に実現できることは明らかであろう。
【0030】この場合、あり得るただ1つの制限は漂遊
キャパシタンス問題のあるラインaj ,bj の長さ
、あるいはフィードバックラインの長さであろう。従っ
てこの回路は特に任意の大きさの数B、および各キャリ
ー保存加算器の長さが技術的可能性に関して比例しない
ようなあまり長くない長さのAに適応される。
【0031】ある種の使用に際して、乗算器回路が「p
」ビット「yk 」 (0≦k≦p−1)を含む数Yを
追加すること、すなわちR=A・B+Yを実行すること
は有用である。
【0032】図2の部分図である図7に示された回路は
、そのような計算を行い、同時に数Yのビットyk の
同じ多重化された表現を使用するよう設計されており、
それは「z」1ビット全加算器OBFA0, OBFA
1, OBFA2 (図7では「3」(z=3)が存在
するが、これはたとえ等式z=Nが回路の技術的実現の
規則性に好ましくてもそれは絶対条件ではない)により
乗算A・Bの結果に加算される。回路実現の規則性はま
た加算器OBFAz が図1に示されたように各計算セ
ルの加算器OBFAに技術的に等しいという事実により
保証されている。
【0033】加算器は既に述べたような態様で同様に動
作し、かつ接続される。さらに特定すると、最後の加算
器OBFA2 のキャリー出力ラインCoutA2は遅
延レジスタRCA および初期化ゲートEAを介して第
1加算器OBFA0 のキャリー入力ラインCinA0
 にフィードバックされる。演算R=A・B+Yの結果
は同じ桁位のビット「bj 」と「kp 」が回路に印
加される場合に各加算器OBFA0, OBFA1, 
OBFA2 の結果出力ラインSoutに多重化された
形で利用可能となる。
【0034】図8において、この回路は再び図2の部分
図である。図7と比較すると、遅延レジスタRS0, 
RS1, RS2 のみが乗算操作と加算操作の間に付
加される。これらのレジスタの付加は乗算および加算操
作が時間的に1クロックパルスの遅延をもって実行され
るという効果を有している。そこで、Yのビット0(j
−3),1(j−2),2(j−1)が加算器に印加さ
れる時点で、Bのビット3(j), 4(j+1), 
5(j+2)が乗算に印加される。回路の適当な初期化
では、遅延レジスタRRはまたゲートAEに作用するラ
インRESET に付加される。この遅延対時間のこの
パフォーマンスの技術的重要性は図2と図3を結合した
好ましい実施例の動作モードの記述から明らかになろう
【0035】図3は図2に示された回路(CUIT)が
挿入されているシステムを示している。図2は簡単化の
ために数Aの4ビットラインのみを含んでいるが、しか
し32ビットの数Aに拡張することは何らの困難性もも
たらさない。
【0036】例えばタイプRSA のメッセージ符号化
システムは図3に示されていない制御システムを具え、
それはバスを介して通信する特定要素にある種の計算を
行なわせる。
【0037】図3において、8ビットバス(BUS)が
バスと計算回路(CUIT)の間の介在手段(inte
rposed means)と共に示されている。どう
してこれらの介在手段が技術が許す限り計算回路として
同じチップに備えられないか理由は明らかに存在しない
。これらの介在手段は基本的には4個のレジスタ、2個
のマルチプレクサ、および1個のディマルチプレクサか
ら形成されている。
【0038】第1蓄積レジスタ(REGA)は数A(こ
の図ではそれは限定的ではない32ビットを含む)を蓄
積し、かつ数Aがバスによって伝送されるや否や回路(
CUIT)の入力接続ライン(a0 ,... ,ai
 ,... a31) を固定的に供給することができ
る。この伝送は8ビットバスを持つ4クロックパルスを
必要とする。
【0039】第2蓄積レジスタ(REGB)は数Bを蓄
積するが、しかし前に既に広く記載された各入力bj 
,bj+1 ,bj+2 に接続された3個の1ワイヤ
ライン(b036, b147, b25E)を介して
回路(CUIT)に接続された第1マルチプレクサ(M
UXB)に印加される8ビットづつを蓄積するのみであ
る。このマルチプレクサは第1クロックパルスからレジ
スタREGBの内容の最初の3ビット「b0 」,「b
1 」,「b2 」それぞれを上記の3個の1ワイヤラ
インに印加し、同様な態様で第2クロックパルスから引
き続くビット「b3 」,「b4 」,「b5 」を、
第3クロックパルスから2個の最終ビット「b6 」,
「b7 」を接続ラインb036 ,b147 に印加
するよう配設され、第3クロックパルスからラインb2
5E に存在する信号を印加することは後で明らかにな
るように何らの重要性もない。
【0040】第3蓄積レジスタ(REGY)は数Yを蓄
積するが、しかしそれは各加算器入力に既に広く記載さ
れたような態様で接続された3個の1ワイヤ接続線(y
036 ,y147 ,y25E )にわたって回路(
CUIT)に接続された第2マルチプレクサ(MUXY
)に印加される8ビットづつのみである。REGYとM
UXYの動作モードはREGBとMUXBの動作モード
と同一であることは既に理解されよう。
【0041】第4レジスタ(REGR)は数Rを蓄積す
るが、しかしそれは加算器の各結果出力に接続された3
個の1ワイヤライン(r036 ,r147 ,r25
E )を介して回路(CUIT)に接続されたデマルチ
プレクサ(MUXR)により供給される8ビットづつの
みである。ここで、デマルチプレクサ(MUXR)は逆
向きに動作するが、しかし動作モードは再び同じである
【0042】2個のマルチプレクサとデマルチプレクサ
はコントローラCRTにより発生された2個の指令の制
御の下で動作する。第1指令(CK2)は第2クロック
パルス、従ってビット3,4,5が処理されることを示
している。第2指令(203)は「2」ビットあるいは
「3」ビットが処理されることを示している。従ってこ
れら2つの指令の結合は3つのパルスの内でどのクロッ
クパルスが活性であるかを固定的に示し、2つのビット
が第3クロックパルスから先まで処理されないことが理
解される。加算器は遅延して乗算に作用するから、2つ
の制御ラインは各々MUXBとMUXYの間に遅延レジ
スタ(RMUX1, RMIX2)を含んでいる。
【0043】図2の回路は破線により示され、かつ上記
の指令203 により制御されたマルチプレクサ(M1
 ,M2 ,M3 ,M4 ,M5 等)に接続された
接続ラインの存在により図8の回路とは異なっている。 破線はそれが実際に接続されているが、しかし指令20
3 が処理すべき「2」ビットしか存在しないことを示
すまで回路が動作状態にならないことを容易に理解させ
るためにのみ示されている。その場合、最後の加算器(
OBFA2, 20, 21, 22, ... , 
2i, ... 231)が短絡されなければならず、
かつすべてのフィードバックラインが最後の加算器(O
BFA1, 10, 11, 12, ... 1i,
 ... , 131)から開始しなければならないこ
とは明らかであろう。破線接続はマルチプレクサMと指
令203 と結合した簡単な態様でこの短絡を実現する
【0044】図2と図3により表されたアセンブリは次
のように動作する。4クロックパルス(1,2,3,4
)の間に、制御システムはレジスタREGAに蓄積され
た数Aをバスに印加する。その時点で、指令Reset
は1クロックパルス(5)の間にセットされ、かつ同時
にBの8個の第1ビットがバスに送られ、かつレジスタ
REGBに蓄積される。
【0045】クロックパルス(6)において、Yの8個
の第1ビットはバスに送られ、かつレジスタREGYに
蓄積され、一方、REGBの内容の最初の3ビットはレ
ジスタRS0, RS1, RS2 が積A・Bの最初
の3ビットを蓄積し、同時にフィードバックラインの遅
延レジスタが最終キャリー保存加算器から発生する適当
な値を蓄積するような態様でMUXBによって選択され
る。
【0046】クロックパルス(7)において、REGY
の内容の最初の3ビットは、結果A・B+Yの最初の3
ビットがMUXRを介してレジスタREGRに蓄積され
るような態様でMUXYによって選択される。同時に、
REGBの3個の連続ビット(b3 ,b4 ,b5)
は、レジスタRS0, RS1, RS2 が積A・B
の引き続く3ビットを蓄積するような態様でMUXBに
より選択される。
【0047】クロックパルス(8)において、REGY
のビット3,4,5は、REGRがA・B+Yの結果の
6個の最初のビットを同様に含むような態様でMUXY
により選択される。同時に、指令203 はビットb6
 およびb7 がMUXBによって選択され、かつ乗算
器の第3行が短絡される(加算器の第3行はレジスタR
MUX2 として動作するレジスタR203 のために
引き続くクロックパルスで短絡されよう)。なお同時に
Bの引き続く8ビットはバスに運ばれかつREGBに蓄
積される。
【0048】クロックパルス(9)において、Yの8個
の引き続くビットはバスに運ばれ、かつレジスタREG
Yに蓄積され、ここでMUXYはレジスタREGRがA
・B+Yの8個の第1ビットを含むような態様でYの第
1の8ビットの最後の2ビットを丁度選択する。
【0049】クロックパルス(10)において、レジス
タRの内容はその宛先に制御システムを有するバスに運
ばれ、一方、別の操作が前に述べられた態様で回路中で
実行される。
【0050】以下の記述はA・B+Yをいかにして計算
するかの手順が、3クロックパルスの期間を有する繰り
返しサイクル内でバスのデータトラヒックによりB,Y
,Rと調和して結合されるかを示している。
【0051】数Bと数Yが512 ビットを具える場合
に動作フェーズは192 クロックパルス(192 =
3×512/8)続く。この時点で、Rの504 個の
最初のビットはシフトのために(上述のようにクロック
パルスNo. 7ではどんな結果も利用できない)収集
され、さらに15(40/8×3)クロックパルスが各
3クロックパルス毎に8ビットの速度でRの最後の40
ビットを得るために必要とされる。それ故、制御システ
ムは本発明による回路で8ビットバスにわたって結果A
(32)・B(512)+Y(512)=R(544)
を得るために4+192+15=211 クロックパル
スを発生しなければならない。
【0052】この結果は非常に規則的な回路の実現の簡
単化の観点で非常に効果的である。2重金属化技術(d
ual metal technology)の1.6
 μルールのCMOSにおいて、すべての要素(レジス
タ、乗算器、加算器、コントローラおよびマルチプレク
サ)に必要な表面面積は3000×500 μ2 と評
価できる。もしこの回路が1ビットだけ長くかつ狭いな
ら、ビットパスが3ビットを含むだけであるから何らの
困難性もなく常にそれを2つの回路に分割でき、すなわ
ち1500×1000μ2 に分割できる。
【0053】図4はコントローラCTR の簡単かつ非
限定的な一例を示している。リセット指令、203 お
よびCK2 により仮定された連続値が図4bに示され
ている。
【0054】前に記載された回路は明らかに非限定的で
あり、かつ多くの変形は異なる大きさのA,B,Yとい
くつかのバス幅により想像できる。例えば、R=AX+
Yの計算に関して(Aは定数、かつバスは繰り返してX
を、そしてその後でYを運び、それにRが後続する)、
もしバスが8ビットとは異なる幅を有するなら、乗算と
加算の双方に対して有効な数Nは処理がシーケンシャル
動作である利点を保持するよう3とは異なるように選択
されることは明らかである。
【0055】16ビットバスにより、6と6と4ビット
(6+6+4)、あるいは代案として6と5と5ビット
(6+5+5)が処理できる。これら2つの解法は近似
的に等価であるように見える。というのは、それらは等
しい実行速度を有し、6に等しい数Nは同じであるから
である。最初の場合には、オーダー「2」あるいは「3
」(203)はオーダー「6」あるいは「4」により置
換されなければならず、第2の場合には、回路の移植の
コストに実質的に影響のないオーダー「6」あるいは「
5」により置換されなければならない。
【0056】32ビットバスによると、最良の選択は1
1と11と10ビット、すなわちN=11であるように
見える。
【0057】48ビットバスによると、3×16ビット
(N=16)が処理でき、かつこの場合にはオーダー(
203)は要求されない。というのは、キャリー保存加
算器のどの行も短絡されてはならないからである。
【0058】他の多くの変形は、計算すべき数の大きさ
とバスの幅に対する計算の連続化の可能な最良の拡張を
適応することにより本発明の範囲から逸脱することなく
考案できる。
【図面の簡単な説明】
【図1】図1は既知の計算セルを示している。
【図2】図2は本発明による計算回路A・B+Yを示し
ている。
【図3】図3はその関連回路部分に挿入された図2の回
路を示している。
【図4】図4は図3に示されたようなモジュールCTR
 の1実施例を示している。
【図5】図5は本発明の簡単化された実施例を示してい
る。
【図6】図6は本発明の簡単化された実施例を示してい
る。
【図7】図7は本発明の簡単化された実施例を示してい
る。
【図8】図8は本発明の簡単化された実施例を示してい
る。
【符号の説明】
00   計算セル 01   計算セル 02   計算セル 03   計算セル 10   計算セル 11   計算セル 12   計算セル 13   計算セル 20   計算セル行 21   計算セル行 22   計算セル行 23   計算セル行 131   加算器 203   指令 231   加算器

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】  相互接続された複数の行のキャリー保
    存加算器により形成された、「m」ビットの「aj 」
    (0≦j≦n−1)の第1数Aに「n」ビットの「bj
     」の第2数Bを乗算する乗算器回路であって、各キャ
    リー保存加算器行は「m」個の計算セルにより形成され
    、各計算セルが1ビット全加算器とアンドゲートを具え
    、該アンドゲートが上記の計算セルの4個の入力ライン
    aj 、bj 、Sin 、Cin と、2個の出力ラ
    インSout、Cout(Sが結果、Cがキャリーに対
    応する)に適切に接続されているものにおいて、キャリ
    ー保存加算器の上記の最後の行のキャリー出力ラインC
    outi がフィーバドックループにより上記の第1の
    キャリー保存加算器行のキャリー入力 Cini フィ
    ーバドックされ、 最小桁位計算セル(i=0)の出力
    を除いて、上記のキャリー保存加算器行の結果出力ライ
    ンSouti がフィーバドックループにより上記の第
    1のキャリー保存加算器行の結果入力ライン Sini
    −1 にフィーバドックされ、これらの各フィーバドッ
    クラインが遅延レジスタを含み、上記のキャリー保存加
    算器行の数Nが「n」よりかなり少なく、かつ数「A」
    が上記の入力ライン「ai 」に存在し、一方、数「B
    」が時分割多重形で上記の入力ライン「bi 」に存在
    する場合に、各N行の単一最小桁位計算セル(i=0)
    のN結果出力ラインSoutで時分割多重形で上記の乗
    算の結果が得られるようなタイプの初期化および終了手
    段が含まれること、を特徴とする乗算器回路。
  2. 【請求項2】  上記の初期化手段が、一方では「0」
    にセットする第1手段により各キャリー保存加算器行の
    最大桁位計算セル(i=m−1)の結果入力ラインSi
    n に、他方では「0」にセットする第2手段により、
    遅延レジスタに蓄積された値にかかわらずすべての上記
    のフィーバドックラインに構成され、上記の第2手段が
    計算操作の初期化の間にのみ活性化されることを特徴と
    する請求項1に記載の乗算器回路。
  3. 【請求項3】  回路が「p」ビット「yk 」(0≦
    k≦p−1)の第3数Yを上記の乗算結果にビットシー
    ケンシャルに加算するよう接続されている「z」1ビッ
    ト全加算器の列により構成された加算器(リップルキャ
    リー加算器)をさらに含み、上記の数Yは時分割多重形
    で備えられ、かつ列の「z」番目の加算器のキャリー出
    力ラインCoutが列の第1加算器のキャリー入力ライ
    ンにフィーバドックされ、このラインが上記の先行フィ
    ーバドックラインに類似していることを特徴とする請求
    項1あるいは2に記載の乗算器回路。
  4. 【請求項4】  数「z」が「N」に等しく、かつ数「
    p」が「n」に等しいことを特徴とする請求項3に記載
    の乗算器回路。
  5. 【請求項5】  加算操作の結果Rが「m+n」ビット
    「r1 」(0≦l≦m+n−1)により形成され、上
    記の終了手段が、一方では入力「bi」を、他方では入
    力「yk 」を「0」に調整することにより構成され、
    結局、数BとYのビット「bj 」と「yk 」が与え
    られることを特徴とする請求項4に記載の乗算器回路。
  6. 【請求項6】  ビット「yk 」のフィードフォアワ
    ードが遅延され、加算が乗算に対して遅延をもって実行
    されるような態様で、加算器に対する乗算器のN結果出
    力ラインSoutが遅延レジスタを備えることを特徴と
    する請求項5に記載の乗算器回路。
  7. 【請求項7】  数「N」が正確に数「n」の約数に選
    ばれることを特徴とする請求項1,2,4,5,6のい
    ずれか1つに記載の乗算器回路。
  8. 【請求項8】  数Bおよび/またはYのどの入力デー
    タビットも受信しない計算回路を選択的に短絡する手段
    が含まれることを特徴とする、数「N」が数「n」の正
    確な約数でない請求項1,2,4,5,6のいずれか1
    つに記載の乗算器回路。
  9. 【請求項9】  3キャリー保存加算器行(N=3)を
    含み、かつ一定である数Aを蓄積する第1蓄積レジスタ
    、8ビットの連続部分で数Bを蓄積する第2の8ビット
    レジスタ、8ビットの連続部分でYを蓄積する第3の8
    ビットレジスタ、8ビットの連続部分で結果Rを蓄積す
    る第4の8ビット蓄積レジスタ、および上記の第2,第
    3,第4レジスタと、回路の対応ラインの間で3ビット
    、別の3ビットおよび最後の2ビット(3+3+2=8
    )をそれぞれ連続して受信する連続供給手段および逆多
    重化手段を含むことを特徴とする請求項6あるいは8に
    記載の乗算器回路。
  10. 【請求項10】  Aが32ビット(m=32)を具え
    、BとYが512 ビット(p=n=512 )を具え
    、Rが544 ビット(p+m=544 )を具え、上
    記の回路がデータA,B,Y,Rを運ぶ8ビットデータ
    バスに接続され、全計算手順が、−  数Aを記録する
    4クロックパルスの期間を有する初段(8×4=32)
    、−  192 クロックパルス、すなわちBとYを与
    え、かつRの504 の第1ビットを回復するために8
    で割られた3倍の512 の期間を有する動作段、− 
     Rの40個の最後のビットを回復する15クロックパ
    ルスの期間、すなわち全計算に対して全体で(4+19
    2 +15=)211 クロックパルスを有する最終段
    、を含むことを特徴とするR=A・B+Yを計算する請
    求項9に記載の乗算器回路。
  11. 【請求項11】  請求項1から10のいずれか1つに
    記載の乗算器回路を実施するよう配設されていることを
    特徴とする計算システム。
JP3180603A 1990-06-29 1991-06-26 乗算器回路とその回路を実施するシステム Pending JPH04233032A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9008223 1990-06-29
FR9008223A FR2664068A1 (fr) 1990-06-29 1990-06-29 Circuit multiplicateur et systeme pour sa mise en óoeuvre.

Publications (1)

Publication Number Publication Date
JPH04233032A true JPH04233032A (ja) 1992-08-21

Family

ID=9398157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3180603A Pending JPH04233032A (ja) 1990-06-29 1991-06-26 乗算器回路とその回路を実施するシステム

Country Status (4)

Country Link
EP (1) EP0464899A1 (ja)
JP (1) JPH04233032A (ja)
KR (1) KR920001326A (ja)
FR (1) FR2664068A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL113375A (en) * 1995-04-13 1997-09-30 Fortress U & T Ltd Internationally regulated system for one to one cryptographic communications with national sovereignty without key escrow

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3267489D1 (en) * 1982-02-18 1986-01-02 Itt Ind Gmbh Deutsche Digital parallel calculating circuit for positive and negative binary numbers

Also Published As

Publication number Publication date
EP0464899A1 (fr) 1992-01-08
KR920001326A (ko) 1992-01-30
FR2664068A1 (fr) 1992-01-03

Similar Documents

Publication Publication Date Title
JP5408913B2 (ja) 高速かつ効率的な行列乗算ハードウェアモジュール
US5175702A (en) Digital signal processor architecture with plural multiply/accumulate devices
EP0700543B1 (en) Complex adaptive fir filter
EP0576262B1 (en) Apparatus for multiplying integers of many figures
US4754421A (en) Multiple precision multiplication device
US6209016B1 (en) Co-processor for performing modular multiplication
JPS62286307A (ja) 多重ステージデジタル信号乗算加算装置
CN109271137B (zh) 一种基于公钥加密算法的模乘装置及协处理器
US6061706A (en) Systolic linear-array modular multiplier with pipeline processing elements
US9372665B2 (en) Method and apparatus for multiplying binary operands
IE850611L (en) Discrete cosine transform calculation processor
EP0504996B1 (en) Arithmetic unit for multiplying long integers modulo M and R.S.A. converter provided with such multiplication device
US5025408A (en) Bit serial multiplier with parallel-in-serial-out carry and partial product shift registers
CN117369769A (zh) 一种多功能向量算法加速器的动态重构方法
KR100950117B1 (ko) 유사한 효율을 갖는 무작위 키 비트 길이 암호화 조작의 프로세싱을 위한 장치 및 방법
US4858164A (en) Complex arithmetic processing
US4811270A (en) Merged CCD/MOS integrated circuit
JPH04233032A (ja) 乗算器回路とその回路を実施するシステム
EP0499412B1 (en) Serial-input multiplier circuits
KR20040045152A (ko) 모듈러 곱셈 장치
US4970675A (en) Multiplier for binary numbers comprising a very high number of bits
Fiske et al. The reconfigurable arithmetic processor
JPH02193406A (ja) デジタルフイルタ
KR970005175A (ko) 파이프라인 구조에 근거한 곱셈/나눗셈 공유 처리기 구조
SU1670685A1 (ru) Устройство дл умножени