JPH0374418B2 - - Google Patents
Info
- Publication number
- JPH0374418B2 JPH0374418B2 JP58223064A JP22306483A JPH0374418B2 JP H0374418 B2 JPH0374418 B2 JP H0374418B2 JP 58223064 A JP58223064 A JP 58223064A JP 22306483 A JP22306483 A JP 22306483A JP H0374418 B2 JPH0374418 B2 JP H0374418B2
- Authority
- JP
- Japan
- Prior art keywords
- binary
- output
- signal
- coefficient
- pair
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/4824—Methods 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 using signed-digit representation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
(技術分野)
本発明は2進乗算装置に関する。
(背景技術)
2進乗算の原理はよく知られている。被乗数が
乗数の最も小さい重みのデイジツトと掛合わさ
れ、次いで次に大きい重みのデイジツトと掛合わ
され、こうして最も大きい重みのデイジツトと掛
合わされる。各掛合わせごとに部分積が作成さ
れ、種々の部分積は各部分積と前の部分積との間
の1デイジツトだけ左横にシフトさせて加算され
る。漸次シフトされた全ての部分積の和は乗算の
結果を形成する。 具体的には、部分積はレジスタに格納されるこ
とができ、1ランクだけシフトされた結果は次の
部分積と加算され、その結果が同じレジスタに格
納され、以後同様なことが繰返される。この連続
手順は長い手順となる。 これまでに全部分積が同時に形成されかつ加算
される(組合せであつて連続的論理でない)よう
な乗算装置の設計のためにかなりの努力がなされ
てきた。そして部分積の加算のための時間を低減
させることにより、あるいは部分積の数を低減さ
せることにより演算素度を増加させようとする試
みがなされてきた。 加算時間は次のごとき改良された加算器を用い
て短くすることができる。 −数のデイジツトの基本的加算の桁上げ
(carryover;キヤリ)があるデイジツトから
次のデイジツトには伝播しないが全体としては
加算された状態であるような桁上げ保護を有す
る加算器。 −桁上げの値が、桁上げの伝播を待機する代わり
の入力の関数である予測値であるように予測型
桁上げを有する加算器。 −3つずつ部分積を順次グループ化するウオレス
トリー(Wallace tree)のごとき特別なパタ
ーンに接続された加算器。 加算時間の短縮とは無関係に、加算すべき部分
積の数は乗数のビツトの適当なコード化により減
少させることもできる。 ブース(Booth)のアルゴリズム及びその変形
により、n個のデイジツトを有する乗数のために
n個の部分積に代えてわずか(n+1)/2個の
部分積が形成され、各部分積4つまたは5つのと
りうる値X、−X、2X、−2Xを有し、Xが被乗数
となる。しかしながら、この種の技巧は回路の複
雑さを増大させ、その結果大きなスペースが必要
となるという欠点があつた。 (発明の課題) 本発明は、演算速度と回路に要求される複雑さ
及びスペースその間のより良い歩み寄りを与える
2進乗算楝を提供することを目的とする。本発明
はわずか(n+1)/2個の部分積を形成するご
とき信号処理を用い、これらの部分積の各々は2
つの値0、X、−X(Xは被乗数)のみをとるもの
とする。これらの部分積は桁上げ伝播なしの加算
により2つずつ加算される。このことは非常に重
要なことである。何故ならば、nビツトの加算部
の複数の素加算器間の桁上げの伝播が時間を消費
し、nが大きくなるにつれて時間消費が大とな
る。 本発明による2進乗算装置は、被乗数Xである
第1の2進数と乗数Yである第2の2進数を論理
電気信号(x0〜x3、y0〜y3)の形で受取り、前記
2数の積を論理電気信号(zi)の形で出力する2
進乗算装置において、前記乗数Yのn個のデイジ
ツトを表わすn個の2進信号yjを、n個の係数bj
(j=0〜n−1)を表わす1組の論理(s0、v0
〜s3、v3)に変換するコーダを具備し、前記係数
bjの各々は、 Y=bo-12n-1+bo-22n-2+…+b121+b0 の形で表わされる2進数Yの2の各べき乗と掛合
わされ、該係数bj値は0、1または−1のみをと
るものとし、2つの連続する係数bjとbj-1の積が
必ず零となり、更に、当該2進乗算装置が、前記
被乗数を表わす信号を受取りかつ前記コーダの出
力により制御されるルーチン回路と、該ルーチン
回路の出力を受取る加算手段とを具備する。 本発明の2進乗算装置は、演算速度とコンパク
トさとの歩み寄りの改善に達するために、前記被
乗数Xのn個のデイジツトを表わすm個の2進信
号xiをm個の係数ai(i=0〜m−1)に変換す
るコーダを具備し、前記係数aiの各々は、 X=an-12m-1+an-22m-2+…+a121+a0 の形で表わされる2進数Xの2の各べき乗と掛合
わされ、該係数aiは0、1または−1のみをとる
ものとし、2つの連続する係数aiとai-1の積が必
ず零となる。 理論によれば、係数xiまたはyjを指摘した性質
を有する係数ai及びbjにコード化することは可能
であり、一義的に行なえることが示される。 3つのとりうる値0、1、−1を有する係数ai
及びbjは一対の2進論理信号により表わされるの
が好ましく、コーダは被乗数及び乗数のm個また
はn個の2進デイジツトからm組またはn組の2
進論理信号を出力する。 これらの組の符号化された論理信号は乗算を実
行するために必要な論理演算の加算及びシフトを
受けるようになる。 本発明の2進乗算装置は、それぞれが被乗数用
コーダからの2組のコード化された論理信号を受
取りかつ前記組と同様にコード化された和及び桁
上げを出力する一連の素加算器より成る少なくと
も1つの加算手段を具備し、これら一連の素加算
器は最初と最後の素加算器の間において桁上げの
伝播を待機することなくこれら全部が同時に動作
するように相互接続されている。換言すれば、該
加算手段の素加算器は、それらが桁上げ入力を有
している場合、それらが実行する加算の桁上げが
前記桁上げ入力に加わる桁上げとは無関係となる
ようになされる。 (発明の構成及び作用) 以下、本発明の乗算装置を4ビツトの被乗数と
4ビツトの乗数との乗算を基にして説明し、更に
適当なところでその一般化につき述べる。 演算は、次の形で書き表わすことのできる、2
の補数でコード化され正負符号が付された入力2
進数により行なわれるものとする。 被乗数:X=−x3・23+x2・22+x1・21+x0 乗数:Y=−y3・23+y2・22+y1・21+y0 最も大きい重みのビツトは符号ビツトである
(0=正、1=負)。 第1図にブロツク図が示されている本発明の好
ましい実施例では、被乗数及び乗数は、それらが
示すデイジツトと同じネームx0〜x3、y0〜y3を有
する2進論理信号により表わされ、被乗数Xはコ
ーダ10に加えられ、乗数Yはコーダ12に加え
られる。 コーダ12は、乗数Yの2進デイジツトy0,
y1,y2,y3に対応する4つの論理入力レベルを受
取り、これらを4対の論理出力信号(s0、v0)、
(s1、v1)、(s2、v2)、(s3、v3)に変換する。これ
らの論理出力信号はそれぞれ係数b0,b1,b2,b3
を表わす。すなわち、 Y=b3・23+b2・22+b1・21+b0 となる。ここで係数bjは、3つの値0、1、−1
のみをとることができかつ2つの連続する係数bj
とbj-1との積が0となる性質を有している。換言
すれば、2つの連続する0でない係数をとること
はできない。 係数の値とコーダの出力信号対の論理レベルと
の間に対応関係は次のとおりである。 bj=0ならばsj=0、vj=0 bj=1ならばsj=0、vj=1 bj=−1ならばsj=1、vj=1 sj=1、vj=0の組合せは禁止され、コーダ1
2の出力には現われない。値0、1、−1と対
(sj、vj)との間の対応コーデイングはここで選
択されたものと異なるようにしても良い。 コーダ12はこのようにコード化された形の乗
数Yを出力する。ここでvjは2のべき乗の係数の
絶対値0または1を示し、sjは該係数の正・負符
号を示す。 乗算は通常、乗数の係数bjをとりだし、後で適
当なシフトにより互いに加算される部分積を得る
ために前記係数の各々と被乗数との積を作ること
より成る。 bj=0ならば部分積は0、 bj=1ならば部分積はX(被乗数)、 bj=−1ならば部分積は−X、 である。 被乗数X自身はコーダ10によりコード化され
る。コーダ10は、ちようどコーダ12のよう
に、2進デイジツトx0,x1,x2,x3に対応する4
つの論理入力レベルを4対の論理出力信号(r0、
u0)、(r1、u1)、(r2、u2)、(r3、u3)に変換する
。
この各対の論理出力信号はそれぞれ係数a0,a1,
a2,a3を表わす。すなわち、 X=a3・23+a2・22+a1・21+a0 となる。ここで係数aiは、係数bjと同じ性質を有
しかつ信号bjが信号(sj、vj)によりコード化さ
れるのと同様に信号(ri、ui)によりコード化さ
れる。すなわち、 ai=0ならばri=0、ui=0 ai=1ならばri=0、ui=1 ai=−1ならばri=1、ui=1 となる。 ri=1、ui=0の組合せは禁止され、コーダ1
0の出力は現われない。 そしてコーダ10はこのようにコード化された
形で被乗数Xを出力する。ここでuiは2のべき乗
の係数の絶対値0または1を示す、riは該係数の
符号(0=正、1=負)を示す。 値0、1、−1と2つの論理レベル(ri、ui)
との間の対応性コーデイングはここで選択された
ものと異なるようにしても良い。 また更に、被乗数用コーダ10は部分積を形成
するためのものでありかつこれらの部分積は前に
説明したコーデイングにより値0、X、−Xをと
るので、コーダ10はその出力においてX及び−
X、すなわち値aiとその反対の値−aiの両方の値
を出力するのが好ましい。 これは、コーダ10の内部もしくは外部に、ri
の補数ri*を出力するインバータを設けることに
より非常にシンプルに得ることができる。なお、
この補数は、ui=0のときには禁止された組合
(ri=1、ui=0)とならないように強制的に0
となる。 第1図では、被乗数用コーダ10の出力に、対
をなす出力信号(ri、ui)ではなく、2つの可能
な対(ri、ui)=ai、(ri*、ui*)=−aiを表わすト
リプレツト(三つ組)(ri、ri*、ui)が示されて
いる。 第2図は、組合せri*、ui=1、0を禁止して、
対(ri、ui)からトリプレツト(ri、ri*、ui)を
形成するためのインバータ14と禁止ANDゲー
ト16を具備した非常にシンプルな論理図を示
す。 第1図において、トリプレツト(ri、ri*、ui)
が入力信号として論理ルーチン回路18に加えら
れる。論理ルーチン回路18はコーダ12の4つ
の出力信号対(sj、vj)により制御され、種々の
入力信号(r0〜r3、r0 *〜r3 *、u0〜u3)をコーダ
12からの4つの制御信号対(sj、vj)の値の関
数として十分定められた出力にあてがう。 ルーチン回路18は部分積0、X、−Xを形成
すると共にこれらの部分積を加算する前に部分積
を適当にシフトさせる機能を有する。 ルーチン回路18の出力は加算部20の種々の
入力に加えられ、制御信号対(sj、vj)の関数と
して十分定められた部分積の加算を行ないかつコ
ード化された形の乗算結果をその出力に得る。デ
コーダ22を加算部20の出力に設けて、値x0,
x1,x2,x3を値(r0、u0)、(r1、u1)、(r2、u2)、
(r3、u3)に変化させるために使用されたコード
と逆のコードに従つて、加算部20の出力信号対
を2進コードに再変換させることができる。 なお、乗数が4ビツト以上、例えば8ビツトも
しくは16ビツトであるときは、後者を4つのグル
ープとし、4つの各グループごとのルーチン回路
及び加算部を設けることが必要となる。これらの
加算部の出力は、2進形に再変換されるにしろさ
れないにしろ、第2の段階で適当なシフトにより
2つずつ加算され、第3の段階で…、というよう
に出力結果が最後の1つの加算部から得られるよ
うになるまでこの操作が続けられる。この結果は
必要があれば2進コードに再変換される。これに
対し、第1図の構成では、被乗数が4ビツト以上
のときは、より多くの入力及び出力を有する、コ
ーダ10、ルーチン回路18及び加算部20を必
要とするのみである。 コーダ10,12、ルーチン回路18及び加算
部20の詳細を説明する前に、部分積の作成及び
該部分積の加算について数値例を挙げて説明す
る。ここでは乗数Yは4ビツトであり、被乗数X
は4ビツトであるが、この点は演算を理解するた
めにはさほど重要ではなく、mビツトへの一般化
はすぐに行なうことができる。 入力2進数は“2の補数”と呼ばれる形式をと
るものであり、これらは最も大きい重みのビツト
が符号ビツトである符号付けされた数である。 X=1011(10進法の−5)をY=0110(10進法の
+6)と掛合わせる。 X及びYを前述したような性質を有する係数ai
及びbiにより書き表わす唯一の方法は、 X=−22、−20、すなわち(a3,a2,a1,a0)=
(0、−1、0、−1) Y=23−21、すなわち(b3,b2,b1,b0)=
(1、0、−1、0) であることが示される。 ここでコーダ10は次の論理レベル対、 r3、u3=00(a3=0) r2、u2=11(a2=−1) r1、u1=00(a1=0) r0、u0=11(a0=−1) を出力すると共に、次の反対の対、 r3 *、u3=00(−a3=0) r2 *、u2=01(−a2=1) r1 *、u1=00(−a1=0) r0 *、u0=01(−a0=1) を出力する。 コーダ12は次の論理レベル対を出力する。 s3、v3=01(b3=1) s2、v2=00(b2=0) s1、v1=11(b1=−1) s0、v0=00(b0=0) XとYの乗算は従来の4ビツト乗算として表わ
すことができるが、ここではいくつかのデイジツ
トが負となつている。
乗数の最も小さい重みのデイジツトと掛合わさ
れ、次いで次に大きい重みのデイジツトと掛合わ
され、こうして最も大きい重みのデイジツトと掛
合わされる。各掛合わせごとに部分積が作成さ
れ、種々の部分積は各部分積と前の部分積との間
の1デイジツトだけ左横にシフトさせて加算され
る。漸次シフトされた全ての部分積の和は乗算の
結果を形成する。 具体的には、部分積はレジスタに格納されるこ
とができ、1ランクだけシフトされた結果は次の
部分積と加算され、その結果が同じレジスタに格
納され、以後同様なことが繰返される。この連続
手順は長い手順となる。 これまでに全部分積が同時に形成されかつ加算
される(組合せであつて連続的論理でない)よう
な乗算装置の設計のためにかなりの努力がなされ
てきた。そして部分積の加算のための時間を低減
させることにより、あるいは部分積の数を低減さ
せることにより演算素度を増加させようとする試
みがなされてきた。 加算時間は次のごとき改良された加算器を用い
て短くすることができる。 −数のデイジツトの基本的加算の桁上げ
(carryover;キヤリ)があるデイジツトから
次のデイジツトには伝播しないが全体としては
加算された状態であるような桁上げ保護を有す
る加算器。 −桁上げの値が、桁上げの伝播を待機する代わり
の入力の関数である予測値であるように予測型
桁上げを有する加算器。 −3つずつ部分積を順次グループ化するウオレス
トリー(Wallace tree)のごとき特別なパタ
ーンに接続された加算器。 加算時間の短縮とは無関係に、加算すべき部分
積の数は乗数のビツトの適当なコード化により減
少させることもできる。 ブース(Booth)のアルゴリズム及びその変形
により、n個のデイジツトを有する乗数のために
n個の部分積に代えてわずか(n+1)/2個の
部分積が形成され、各部分積4つまたは5つのと
りうる値X、−X、2X、−2Xを有し、Xが被乗数
となる。しかしながら、この種の技巧は回路の複
雑さを増大させ、その結果大きなスペースが必要
となるという欠点があつた。 (発明の課題) 本発明は、演算速度と回路に要求される複雑さ
及びスペースその間のより良い歩み寄りを与える
2進乗算楝を提供することを目的とする。本発明
はわずか(n+1)/2個の部分積を形成するご
とき信号処理を用い、これらの部分積の各々は2
つの値0、X、−X(Xは被乗数)のみをとるもの
とする。これらの部分積は桁上げ伝播なしの加算
により2つずつ加算される。このことは非常に重
要なことである。何故ならば、nビツトの加算部
の複数の素加算器間の桁上げの伝播が時間を消費
し、nが大きくなるにつれて時間消費が大とな
る。 本発明による2進乗算装置は、被乗数Xである
第1の2進数と乗数Yである第2の2進数を論理
電気信号(x0〜x3、y0〜y3)の形で受取り、前記
2数の積を論理電気信号(zi)の形で出力する2
進乗算装置において、前記乗数Yのn個のデイジ
ツトを表わすn個の2進信号yjを、n個の係数bj
(j=0〜n−1)を表わす1組の論理(s0、v0
〜s3、v3)に変換するコーダを具備し、前記係数
bjの各々は、 Y=bo-12n-1+bo-22n-2+…+b121+b0 の形で表わされる2進数Yの2の各べき乗と掛合
わされ、該係数bj値は0、1または−1のみをと
るものとし、2つの連続する係数bjとbj-1の積が
必ず零となり、更に、当該2進乗算装置が、前記
被乗数を表わす信号を受取りかつ前記コーダの出
力により制御されるルーチン回路と、該ルーチン
回路の出力を受取る加算手段とを具備する。 本発明の2進乗算装置は、演算速度とコンパク
トさとの歩み寄りの改善に達するために、前記被
乗数Xのn個のデイジツトを表わすm個の2進信
号xiをm個の係数ai(i=0〜m−1)に変換す
るコーダを具備し、前記係数aiの各々は、 X=an-12m-1+an-22m-2+…+a121+a0 の形で表わされる2進数Xの2の各べき乗と掛合
わされ、該係数aiは0、1または−1のみをとる
ものとし、2つの連続する係数aiとai-1の積が必
ず零となる。 理論によれば、係数xiまたはyjを指摘した性質
を有する係数ai及びbjにコード化することは可能
であり、一義的に行なえることが示される。 3つのとりうる値0、1、−1を有する係数ai
及びbjは一対の2進論理信号により表わされるの
が好ましく、コーダは被乗数及び乗数のm個また
はn個の2進デイジツトからm組またはn組の2
進論理信号を出力する。 これらの組の符号化された論理信号は乗算を実
行するために必要な論理演算の加算及びシフトを
受けるようになる。 本発明の2進乗算装置は、それぞれが被乗数用
コーダからの2組のコード化された論理信号を受
取りかつ前記組と同様にコード化された和及び桁
上げを出力する一連の素加算器より成る少なくと
も1つの加算手段を具備し、これら一連の素加算
器は最初と最後の素加算器の間において桁上げの
伝播を待機することなくこれら全部が同時に動作
するように相互接続されている。換言すれば、該
加算手段の素加算器は、それらが桁上げ入力を有
している場合、それらが実行する加算の桁上げが
前記桁上げ入力に加わる桁上げとは無関係となる
ようになされる。 (発明の構成及び作用) 以下、本発明の乗算装置を4ビツトの被乗数と
4ビツトの乗数との乗算を基にして説明し、更に
適当なところでその一般化につき述べる。 演算は、次の形で書き表わすことのできる、2
の補数でコード化され正負符号が付された入力2
進数により行なわれるものとする。 被乗数:X=−x3・23+x2・22+x1・21+x0 乗数:Y=−y3・23+y2・22+y1・21+y0 最も大きい重みのビツトは符号ビツトである
(0=正、1=負)。 第1図にブロツク図が示されている本発明の好
ましい実施例では、被乗数及び乗数は、それらが
示すデイジツトと同じネームx0〜x3、y0〜y3を有
する2進論理信号により表わされ、被乗数Xはコ
ーダ10に加えられ、乗数Yはコーダ12に加え
られる。 コーダ12は、乗数Yの2進デイジツトy0,
y1,y2,y3に対応する4つの論理入力レベルを受
取り、これらを4対の論理出力信号(s0、v0)、
(s1、v1)、(s2、v2)、(s3、v3)に変換する。これ
らの論理出力信号はそれぞれ係数b0,b1,b2,b3
を表わす。すなわち、 Y=b3・23+b2・22+b1・21+b0 となる。ここで係数bjは、3つの値0、1、−1
のみをとることができかつ2つの連続する係数bj
とbj-1との積が0となる性質を有している。換言
すれば、2つの連続する0でない係数をとること
はできない。 係数の値とコーダの出力信号対の論理レベルと
の間に対応関係は次のとおりである。 bj=0ならばsj=0、vj=0 bj=1ならばsj=0、vj=1 bj=−1ならばsj=1、vj=1 sj=1、vj=0の組合せは禁止され、コーダ1
2の出力には現われない。値0、1、−1と対
(sj、vj)との間の対応コーデイングはここで選
択されたものと異なるようにしても良い。 コーダ12はこのようにコード化された形の乗
数Yを出力する。ここでvjは2のべき乗の係数の
絶対値0または1を示し、sjは該係数の正・負符
号を示す。 乗算は通常、乗数の係数bjをとりだし、後で適
当なシフトにより互いに加算される部分積を得る
ために前記係数の各々と被乗数との積を作ること
より成る。 bj=0ならば部分積は0、 bj=1ならば部分積はX(被乗数)、 bj=−1ならば部分積は−X、 である。 被乗数X自身はコーダ10によりコード化され
る。コーダ10は、ちようどコーダ12のよう
に、2進デイジツトx0,x1,x2,x3に対応する4
つの論理入力レベルを4対の論理出力信号(r0、
u0)、(r1、u1)、(r2、u2)、(r3、u3)に変換する
。
この各対の論理出力信号はそれぞれ係数a0,a1,
a2,a3を表わす。すなわち、 X=a3・23+a2・22+a1・21+a0 となる。ここで係数aiは、係数bjと同じ性質を有
しかつ信号bjが信号(sj、vj)によりコード化さ
れるのと同様に信号(ri、ui)によりコード化さ
れる。すなわち、 ai=0ならばri=0、ui=0 ai=1ならばri=0、ui=1 ai=−1ならばri=1、ui=1 となる。 ri=1、ui=0の組合せは禁止され、コーダ1
0の出力は現われない。 そしてコーダ10はこのようにコード化された
形で被乗数Xを出力する。ここでuiは2のべき乗
の係数の絶対値0または1を示す、riは該係数の
符号(0=正、1=負)を示す。 値0、1、−1と2つの論理レベル(ri、ui)
との間の対応性コーデイングはここで選択された
ものと異なるようにしても良い。 また更に、被乗数用コーダ10は部分積を形成
するためのものでありかつこれらの部分積は前に
説明したコーデイングにより値0、X、−Xをと
るので、コーダ10はその出力においてX及び−
X、すなわち値aiとその反対の値−aiの両方の値
を出力するのが好ましい。 これは、コーダ10の内部もしくは外部に、ri
の補数ri*を出力するインバータを設けることに
より非常にシンプルに得ることができる。なお、
この補数は、ui=0のときには禁止された組合
(ri=1、ui=0)とならないように強制的に0
となる。 第1図では、被乗数用コーダ10の出力に、対
をなす出力信号(ri、ui)ではなく、2つの可能
な対(ri、ui)=ai、(ri*、ui*)=−aiを表わすト
リプレツト(三つ組)(ri、ri*、ui)が示されて
いる。 第2図は、組合せri*、ui=1、0を禁止して、
対(ri、ui)からトリプレツト(ri、ri*、ui)を
形成するためのインバータ14と禁止ANDゲー
ト16を具備した非常にシンプルな論理図を示
す。 第1図において、トリプレツト(ri、ri*、ui)
が入力信号として論理ルーチン回路18に加えら
れる。論理ルーチン回路18はコーダ12の4つ
の出力信号対(sj、vj)により制御され、種々の
入力信号(r0〜r3、r0 *〜r3 *、u0〜u3)をコーダ
12からの4つの制御信号対(sj、vj)の値の関
数として十分定められた出力にあてがう。 ルーチン回路18は部分積0、X、−Xを形成
すると共にこれらの部分積を加算する前に部分積
を適当にシフトさせる機能を有する。 ルーチン回路18の出力は加算部20の種々の
入力に加えられ、制御信号対(sj、vj)の関数と
して十分定められた部分積の加算を行ないかつコ
ード化された形の乗算結果をその出力に得る。デ
コーダ22を加算部20の出力に設けて、値x0,
x1,x2,x3を値(r0、u0)、(r1、u1)、(r2、u2)、
(r3、u3)に変化させるために使用されたコード
と逆のコードに従つて、加算部20の出力信号対
を2進コードに再変換させることができる。 なお、乗数が4ビツト以上、例えば8ビツトも
しくは16ビツトであるときは、後者を4つのグル
ープとし、4つの各グループごとのルーチン回路
及び加算部を設けることが必要となる。これらの
加算部の出力は、2進形に再変換されるにしろさ
れないにしろ、第2の段階で適当なシフトにより
2つずつ加算され、第3の段階で…、というよう
に出力結果が最後の1つの加算部から得られるよ
うになるまでこの操作が続けられる。この結果は
必要があれば2進コードに再変換される。これに
対し、第1図の構成では、被乗数が4ビツト以上
のときは、より多くの入力及び出力を有する、コ
ーダ10、ルーチン回路18及び加算部20を必
要とするのみである。 コーダ10,12、ルーチン回路18及び加算
部20の詳細を説明する前に、部分積の作成及び
該部分積の加算について数値例を挙げて説明す
る。ここでは乗数Yは4ビツトであり、被乗数X
は4ビツトであるが、この点は演算を理解するた
めにはさほど重要ではなく、mビツトへの一般化
はすぐに行なうことができる。 入力2進数は“2の補数”と呼ばれる形式をと
るものであり、これらは最も大きい重みのビツト
が符号ビツトである符号付けされた数である。 X=1011(10進法の−5)をY=0110(10進法の
+6)と掛合わせる。 X及びYを前述したような性質を有する係数ai
及びbiにより書き表わす唯一の方法は、 X=−22、−20、すなわち(a3,a2,a1,a0)=
(0、−1、0、−1) Y=23−21、すなわち(b3,b2,b1,b0)=
(1、0、−1、0) であることが示される。 ここでコーダ10は次の論理レベル対、 r3、u3=00(a3=0) r2、u2=11(a2=−1) r1、u1=00(a1=0) r0、u0=11(a0=−1) を出力すると共に、次の反対の対、 r3 *、u3=00(−a3=0) r2 *、u2=01(−a2=1) r1 *、u1=00(−a1=0) r0 *、u0=01(−a0=1) を出力する。 コーダ12は次の論理レベル対を出力する。 s3、v3=01(b3=1) s2、v2=00(b2=0) s1、v1=11(b1=−1) s0、v0=00(b0=0) XとYの乗算は従来の4ビツト乗算として表わ
すことができるが、ここではいくつかのデイジツ
トが負となつている。
【表】
0 −1 0 0 0 1 0
結果は0、−1、0、0、0、1、0、すなわ
ち−25+21=−30となる。 順次書き表わされる4つの部分積はそれぞれ
(重みが増す順)0、−X、0、Xである。4つの
部分積のうちの2つが零でなく、最終的な結果に
寄与する。 この結果は、乗数の係数bjを得るために使用さ
れる特別なコーテイングの性質から得られるもの
である。2つの連続して零でない係数bjを得るこ
とはできない。 このために、4ビツト以上の乗数に対しては、
これらのビツトは、適当なシフトにより加算され
る2つの零でない部分積をその都度作成するため
に4つにグループ化される。 加算はデイジツトの縦列で行なわれる。換言す
れば、加算部20はとりうむ縦列と同じ数の素加
算器を実質的に具備している。すなわち被乗算が
m個のデイジツトを有するとき(m+3)個とな
る。実際には後述するように(m+1)個の加算
器で良い。 各素加算器(elementary adder)は、第1の
入力(実際には第1の対をなす入力)において第
1番目もしくは第2番目の部分積から第1のデイ
ジツトを受取り、第2の入力(実際には第2の対
をなす入力)において第3番目もしくは第4番目
の部分積から第2のデイジツトを受取る。 ルーチン回路18は、コーダ12の出力におけ
る乗数の係数値bjに応じて、被乗数のデイジツト
aiを受取る素加算器の適当な入力な該デイジツト
aiを送るようにする。形成すべき部分積が−Xの
とき値aiを反転させ、その部分積が0のとき値ai
をキヤンセルする。最終的に、ルーチン回路18
は加算すべき部分積のデイジツトの適当なシフト
を行なう。 一般にランクiの素加算器は次の和を計算す
る。 ai・b0+ai-1・b1+ai-2・b2+ai-3・b3 この加算器の1つの入力には値ai・b0及び値
ai-1・b1(2つのうち1つは必ず零となる)があ
てがわれ、別の入力には値ai-2・b2及び値ai-3・
b3(2つのうち1つは必ず零となる)があてがわ
れる。 そしてこの加算器はその第1の入力において、 b0及びb1がともに零ならば0、 b0=1ならばai、 b0=−1ならば−ai、 b1=1ならばai-1、 b1=−1ならば−ai-1、 を受取る。 また、この加算器はその第2の入力において、 b2及びb3がともに零ならば0、 b2=1ならばai-2、 b2=−1ならば−ai-2、 b3=1ならばai-3、 b3=−1ならば−ai-3、 を受取る。 他の組合せはとることができない。 ai-kのタイプの係数はi−kが負ならば当然零
とされる。 前述の論理テーブルにより、各係数aiまたはbj
が2つの2進論理信号の形にコード化されること
を忘れることなしに、ルーチン回路18の論理機
能を完全に定めることが可能となる。 第3図は、係数bjを表わす信号(sj、vj)の関
数として所望の符号を有する所望の係数の対を、
ランクiの素加算器Aiの入力に供給するために、
スイツチ・アレイ(MOSトランジスタ)、NOR
論理ゲート及びインバータを具備するルーチン回
路の一部を示す図である。 加算器Aiは、加算の第1項を形成する一対の
2進信号(すなわち場合に応じて0、ai、−ai、
ai-1または−ai-1)を受取る第1の組の入力Ci,
Ci´、及び加算の第2項を形成する一対の2進信号
(すなわち場合に応じて0、ai-2、−ai-2、ai-3、−
ai-3)を受取る第2の組の入力Di,D′iを有して
いる。 この加算器Aiは、係数ai及びbjと同じコード化
により加算の2つの項の和を出力する第1の組の
出力Si,Si´を有している。すなわち和が0、1ま
たは−1ならば第1の組の出力はレベル対00、01
または11を出力する。更に、この加算器Aiは、
加算の桁上げ(キヤリ)を出力する第2の組の出
力Ri,Ri′を有している。実際、この桁上げは加
算1+1(桁上げ1)または(−1)+(−1)(桁
上げ−1)の場合、零とは異なる。この桁上げは
3つの可能な値を有し、再び係数ai及びbjと同じ
コーデイングにより表示される。 第3図は全体を記述していないが、当業者にと
つてはこれで十分に明確に理解することができ、
次に示すようなルーチン機能を正しく付与できる
ことが分かる。 v0=0ならば、入力Ci,Ci′へのレベルri,ui
またはri*,uiの伝送は、v0により制御される
2つのMOSトランジスタにより禁止される。
v0≠0でイネーブルであるならば、riまたはri*
が2つのMOSトランジスタ及び1個のインバ
ータにより、s0=0またはs0=1に応じて伝送
される。 v1=0ならば、入力Ci,Ciへのレベルri-1,
ui-1またはr* i-1,ui-1の伝送は、v1によつて制御
される上記とは別の2つのMOSトランジスタ
により禁止される。v1≠0でイネーブルである
なばら、s1により制御される2つのMOSトラ
ンジスタ及びインバータにより、s1=0または
s1=1に応じて、ri-1またはr* i-1の伝送の選択が
行なわれる。 v0及びv1がともに零ならば、伝送が禁止され
ると共Ci及びCi′がv0及びv1を受取るNORゲー
トによつて制御される2つのトランジスタによ
り強制的に論理レベル零とされる。 同様な基本回路が、ri-2、r* i-2、ui-2または
ri-3r* i-3、ui-3を入力Di、Di′へ伝送するために
使用される。この場合、ルーチンは、v0、v1、
s0、s1の代わりにv2、v3及びs2、s3の制御の下
で行なわれる。 第3図は、4ビツトの乗数と掛合わされるmビ
ツトの被乗数に対して論理的にはm+3回繰返さ
れるパターンの1つを示しているだけである。実
際にはランク0及び1の加算器はなく、この場
合、ルーチン回路はこれらの2つのランクに対し
て部分積のデイジツトの和を直接出力する。何故
ならこれらの和は単一の項になるからである。 第4図はランク0及び1の部分積のデイジツト
の和に関するルーチン回路の一部を示す。この回
路部分は、i=1及びi=0に対してai-3、ai-2
及びai-1を零と考えなくてはならないことを考慮
に入れて第3図の回路を簡単化したものである。 −ランク0に対して;乗算の結果の零ランクのデ
イジツトとして伝送される唯一の部分積はa0・
b0であり、b0=0ならば(すなわち実際にはv0
=0ならば)0、b0=1ならば(すなわちs0=
0及びv0=1ならば)a0すなわち(r0、u0)、s0
=1及びv0=1ならば−a0すなわち(r0 *、u0)
である。第4図に示すルーチン論理回路部分
は、係数ai及びbjと同じコーデイングにより2
つの論理レベルでa0・b0を表わす一対の信号
t0,w0を出力する。 −ランク1に対して;唯一の部分積は零でなく、
b0=0ならばa0・b1となり、b1=0ならばa1・
b0となる。第4図の回路は常に同じコーデイン
グにより表わされ場合に応じてa1・b1または
a1・b0を表わす2つの信号t1,w1を形成する。 t0,w0及びt1,w1、4ビツトの乗算の結果の最
も重みの小さい2つのデイジツトの値(0、+1
または−1)を示す。 その他のデイジツトti,wiは、ルーチン回路1
8の出力を受取る素加算器A2,A3等より形成さ
れる。 第5図のブロツク図は、実質的に素加算器A2
〜An+2よりなる加算部20を示す。各素加算器
は2組の入力Ci,Ci′及びDi,Di′、1組の“和”
出力Si,Si′、並びに1組の“桁上げ”出力Ri,
Ri′を有している。和及び桁上げは、3つの値0、
1、−1をとりうる他の全ての係数と同様に2つ
の論理レベルでコード化される。 ここで非常に重要な点に注意しておく必要があ
る。被乗数は係数aiによつて、aiとai-1がともに
零とならないようにコード化されるので、素加算
器に伝送させる乗算の部分積は同じ性質を示す。
そして加算すべきデイジツトの同じ縦列において
偶然2つのデイジツトが1または2つのデイジツ
ト−1となつたならば、これらのデイジツトの
各々はその右側及び左側に確実に零を有する。従
つて、 当該加算は下のランクの加算の桁上げによつ
て乱されない。 当該加算自身は上のランクの加算の結果に加
算されるべき桁上げ1または−を生じせしめ
る。しかし上のランクの加算は零の加算から成
るだけなのでその結果は桁上げ1または−1と
等しくなるが、新しい桁上げは生じせしめな
い。 通常の加算の場合のように、桁上げがいくつか
の連続する加算器に亘つて伝播することはない。 このために、素加算器の配列及び相互接続は、
すべての加算器が前のランクの加算の桁上げを待
機することなしに同時に動作するようになされて
いる。この桁上げは、桁上げが起こる種々の場合
を考慮した論理ゲートにより加算器の出力にてシ
ンプルに加算される。 素加算器Aiの各々は和と桁上げを形成するが、
これらは自身の桁上げ結果をモデイフアイする、
前の段階からの桁上げ対する入力は具備していな
いという意味で、ここでは“半加算器”と言え
る。 第5図から分かるように、各素加算器Aiに対
して2つのORゲート24及び26が設けられて
いる。ORゲート24は素加算器Aiの出力Siと素
加算器Aの出力Riを受取る。ORゲート26は出
力Si′及びR* i-1を受取る。ORゲート24及び26
は演算の全結果を表わす論理レベルti,wi、すな
わち乗算の結果のランクiのデイジツトの値を出
力する。 素加算器A2に対してこれらのORゲートは、前
段からの桁上げがないため不用となる。 これらのORゲートにより次のことが分かる。 −素加算器の桁上げは前段の桁上げによつては影
響されない。 −素加算器Aの桁上げが00であるならば、素加算
器Ajにより出力される和00、01または11はOR
ゲートを介して通過することによつては修正さ
れない。素加算器Aj-1の桁上げが01または11な
らば、素加算器Ajは零を受取りその“和”出
力に一対のレベル00を出力しなければならず、
これは桁上げ01または11のORゲートを介する
通過を修正しない。 第6図は素加算器Ajの詳細に示す。この素加
算器は、値0、1及び−1のみをとる2つのデイ
ジツトの加算に対応する結果、すなわち和及び桁
上げを出力する。次の等式を考えることができ
る。 0+0=和0、桁上げ0 0+1または1+0=和1、桁上げ0 0+(-1)または(-1)+0=和1、桁上げ0 1+(-1)または(-1)+1=和0、桁上げ0 1+1=和0、桁上げ1 (-1)+(-1)=和1、桁上げ−1 これらの等式は、値0、1、−1が素加算器の
入力及び出力において論理レベル対00、01または
11により表わされるとしたときの論理機能を定め
る。 対応する論理図を第6図に示す。入力及び出力
のネームは第4図及び第5図のものと同じであ
る。 素加算器Aiは次の要素を具備する。 −入力Ci,Ci′,Di,Di′のベレルの論理補数Ci*,
Ci′*,Di*,Di′*を形成する4つのインバータ
28,30,32,34、 −信号Ci*,C′i*,Di*,Di′*を受取る4入力OR
ゲート39及びその後続で加算の桁上げの符号
を出力Riに供給するインバータ38: −入力Ci,Cii′,Di,Di′を受取るORゲート4
0、及びORゲート36と40の出力を受取る
ANDゲート42;ANDゲート42の出力は桁
上げの絶対値を出力Ri′に供給する、 −Ci,Ci′,Di*,Di′*を受取るORゲート44、
Ci′*,Ci,Di,Di*を受取るORゲート46、並
びにORゲート44及び46の出力を受取り実
行した和の符号を出力Si′に供給するNANDゲ
ート48、 −Ci及びDiを受取り和の絶対値を出力Siに供給
するイクスクルーシブORゲート50。 次にコーダ10及び12の詳細について説明
し、乗算器の入力に2進形で加えられる数X及び
Y、値ai及びbj、1及び−1が零により必要的に
分離されること、並びに前記係数の2つの論理レ
ベル00、01及び11でのコード化及び組合せ10の
禁止から、前記コーダの役割をみる。 2進係数xi(i=0〜m−1)のターナリ係数
aiへのコード化は以下のようにして行なわれる。
数Xは、最も重みの大きいビツトが符号ビツトで
あるいわゆる“2の補数”形として書き表わせ
る。 中間論理信号pi及びqiが次のように形成され
る。 piはxi及びxi-1のイクスクルーシルORの結果
(p0=x0)である。 qiはpiとqi-1の補数との論理積(q0=x0)であ
る。従つて、ai=(1−2Xi-1)qi、((xn=xn-1)
(数Xはm個のデイジツトx0〜xn-1のみを有す
る))となる。 上式が係数aiを計算するためにここで使用され
るアルゴリズムである。 そしてxi+1=0ならばai=qi xi+1=1ならばai=−qi となる。 qiは2つの可能なレベル0または1を有する論
理信号である。aiは3つの値0、1、−1をとる
ことができ、2つの2進信号ri及びuiにより表わ
される。 riはaiの符号を表わす。ri=0を正の符号、ri
=1を負の符号として選ぶならびに、xi+1=1に
対してai=−qi、xi+1=0に対してai=qiとなる
ので、ri=xi+1となるものとする。 実際には、qi=0(ri、uiに対して組合せ1、
0は禁止)のときでも正の符号をとるようにri=
xi+1・qiとされる。 uiはaiの絶対値を表わし、uiはqiと等しくな
る。 上記より4つの入力2進係数x0〜x3に対する第
7図に示す論理コード回路の構造が導かれる。3
つのイクスクルーシブORゲート52,54,5
6はレベルp3,p2,p1を形成し、p0はx0及びp0,
u0と等しい。3つのインバータ58,60,62
はq2,q1,q0よりこれらのレベルの補数q2 *,
q1 *,q0 *を形成する。 3つの2入力ANDゲート64,66,68の
出力はレベルq3,q2,q1を形成し、これらはレベ
ルu3,u2,u1にもなる。各ANDゲートp3q*/2;p2
及びq*/1;p1及びq*/0をそれぞれ受取る。 4つのANDゲート70,72,73,76は
q3,x3;q2,x3;q1,x2;q0,x1を受取り、レベ
ルr3,r2,r1,r0をそれぞれ形成する。 乗数用コーダについても全く同様なことが言
え、上記のxiをyiに置換え、信号ri、uiを信号sj、
vjに置換えれば十分である。 乗算の結果は(m+n−1)個の係数ciので形
で得られる。該係数の各々は2つの2進レベル
ti,wiにより表わされ、ti,wi=0、0ならばci
=0となり、ti,wi=0、1ならばci=1とな
り、ti,wi=1、1ならばci=−1となる。 Z=cn+o-22m+n-2+…+Ci2 i+…+c0 3つのとりうる値を有する係数ciを2つの値
0、1を有する2進係数ziに再変換することが好
ましい。 Z=−zn+o-12m+n-1+…+Zi2 i+…+z0 (いわゆる“2の補数”2進コードにおける数Z
の式) デコーダ化は実際には非常にシンプルである。
正または零の係数Ci(ti=0)が負または零の係
数Ci(ti=1またはwi=0)と分離される。 一連の正の係数は2進形の第1の正数に対応す
る。 一連の負の係数は第2の正数の反対の値に対応
する。 そして、数Zは2つの正の2進数の差の形で書
き表わされる。これらの2進数の各々は大きい重
みの符号ビツトを加えかつそれらを加算すること
により“2の補数”形に書き表わすことができ
る。第1の正数に対しては、付加される符号ビツ
トは0であり、第2の正数に対しては、付加され
る符号ビツトは1であり、対応する2の補数は、
第2の正数のビツトを相補しかつ最も重みの小さ
い1を加えることにより形成される。 そして“2の補数”形に書き表わされた2つの
数は、2の補数形の数Zを付与するために加算さ
れる。 第8図はデコード回路を示す。 各係数ciから2進係数diが正数い対して形成さ
れる(ci=0または−1ならばdi=0であり、ci
=1ならばdi=1となる)。diは、ti及びwi、す
なわち係数ciの符号及び絶対値を受取るイクスク
ルーシブORゲート78の出力にて得られる。 係数eiは負数に対して形成される(ci=0また
は1ならばei=0となり、ci=−1ならばeとな
る)。eiは係数ciの符号ビツトtiと全く同じであ
る。 符号ビツト0は正数に加えられ、符号ビツト1
は負数に加えられる。 正数と負数の和は、係数diと(インバータ80
により形成された)係数eiの補数とのビツトごと
の加算及び最も重みの小さい1の付加により与え
られる。 この加算は、(最も重みの小さい1を加える)
ために強制的に1にされる桁上げ入力と、レベル
diを受取る入力と、レベルeiの補数を受取る入力
とを有する、(m+n)ビツトの従来式の2進加
算器82により実行される。更に、最も重みの大
きい入力の対は0、1、すなわち正数及び負数の
各符号ビツトを受取る。 この加算の結果は、乗算の結果の2進係数(2
の補数形)を表わす一連の論理レベルz0〜zn+o-1
である。 実際には、2の補数形で表わされる乗数及び被
乗数のビツト数m及びnを考慮して、同じ形式で
表現された乗数の結果は、zn+o-2である符号ビツ
トを含む(m+n−1)個の係数z0〜zn+o-2から
成ることが示される。 符号0及び1の入力並びに次の理由で不用とな
る出力zn+o-1を抑制することにより(m+n−
1)ビツトの加算器82を設けるので十分である
と結論づけられる。 (a) zn+o-1は通常zn+o-2に等しい。 (b) 2の補数形において、2つの最も重みの大き
い、ビツトが等しいならば、これらは同じ値を
有する単一の符号ビツトにより置換えることが
できる。 本発明による乗算装置の記述を終えるために、
4ビツト以上、例えば16ビツトを有する乗算装置
の場合、これらのビツトは4つのグループ化さ
れ、係数ci(論理レベルti,wi)が4つの乗算の
結果として得られることを指摘しておく。これら
のレベルは、桁上げ伝播を有する加算器及び各素
加算器が第6図に示すタイプの2つの半加算器よ
りなる以外は、加算部20と同じ加算手段に導入
される。4ビツトの乗算の結果を2進形(2つ補
数形)に変換し、従来式の2進加算器で互いに加
算させることも可能である。 上述の記載の全体において、禁止された組合せ
を10とし、値0、1、−1を表わすためにコード
00、01、11を選択することはいくつかの可能な選
択のうちの1つであり、このコードを変化させれ
ば既述した論理回路の論理構造を若干変化させる
必要がでてくることが考えられる。 既述した好ましい実施例は乗数用コーダと被乗
数用コーダを具備している。これらを使用する
と、加算すべき多くの部分積に利点が得られ、加
算部20は(桁上げ伝播を有する)2進加算器と
し、デコーダ22はなくとも良い。
結果は0、−1、0、0、0、1、0、すなわ
ち−25+21=−30となる。 順次書き表わされる4つの部分積はそれぞれ
(重みが増す順)0、−X、0、Xである。4つの
部分積のうちの2つが零でなく、最終的な結果に
寄与する。 この結果は、乗数の係数bjを得るために使用さ
れる特別なコーテイングの性質から得られるもの
である。2つの連続して零でない係数bjを得るこ
とはできない。 このために、4ビツト以上の乗数に対しては、
これらのビツトは、適当なシフトにより加算され
る2つの零でない部分積をその都度作成するため
に4つにグループ化される。 加算はデイジツトの縦列で行なわれる。換言す
れば、加算部20はとりうむ縦列と同じ数の素加
算器を実質的に具備している。すなわち被乗算が
m個のデイジツトを有するとき(m+3)個とな
る。実際には後述するように(m+1)個の加算
器で良い。 各素加算器(elementary adder)は、第1の
入力(実際には第1の対をなす入力)において第
1番目もしくは第2番目の部分積から第1のデイ
ジツトを受取り、第2の入力(実際には第2の対
をなす入力)において第3番目もしくは第4番目
の部分積から第2のデイジツトを受取る。 ルーチン回路18は、コーダ12の出力におけ
る乗数の係数値bjに応じて、被乗数のデイジツト
aiを受取る素加算器の適当な入力な該デイジツト
aiを送るようにする。形成すべき部分積が−Xの
とき値aiを反転させ、その部分積が0のとき値ai
をキヤンセルする。最終的に、ルーチン回路18
は加算すべき部分積のデイジツトの適当なシフト
を行なう。 一般にランクiの素加算器は次の和を計算す
る。 ai・b0+ai-1・b1+ai-2・b2+ai-3・b3 この加算器の1つの入力には値ai・b0及び値
ai-1・b1(2つのうち1つは必ず零となる)があ
てがわれ、別の入力には値ai-2・b2及び値ai-3・
b3(2つのうち1つは必ず零となる)があてがわ
れる。 そしてこの加算器はその第1の入力において、 b0及びb1がともに零ならば0、 b0=1ならばai、 b0=−1ならば−ai、 b1=1ならばai-1、 b1=−1ならば−ai-1、 を受取る。 また、この加算器はその第2の入力において、 b2及びb3がともに零ならば0、 b2=1ならばai-2、 b2=−1ならば−ai-2、 b3=1ならばai-3、 b3=−1ならば−ai-3、 を受取る。 他の組合せはとることができない。 ai-kのタイプの係数はi−kが負ならば当然零
とされる。 前述の論理テーブルにより、各係数aiまたはbj
が2つの2進論理信号の形にコード化されること
を忘れることなしに、ルーチン回路18の論理機
能を完全に定めることが可能となる。 第3図は、係数bjを表わす信号(sj、vj)の関
数として所望の符号を有する所望の係数の対を、
ランクiの素加算器Aiの入力に供給するために、
スイツチ・アレイ(MOSトランジスタ)、NOR
論理ゲート及びインバータを具備するルーチン回
路の一部を示す図である。 加算器Aiは、加算の第1項を形成する一対の
2進信号(すなわち場合に応じて0、ai、−ai、
ai-1または−ai-1)を受取る第1の組の入力Ci,
Ci´、及び加算の第2項を形成する一対の2進信号
(すなわち場合に応じて0、ai-2、−ai-2、ai-3、−
ai-3)を受取る第2の組の入力Di,D′iを有して
いる。 この加算器Aiは、係数ai及びbjと同じコード化
により加算の2つの項の和を出力する第1の組の
出力Si,Si´を有している。すなわち和が0、1ま
たは−1ならば第1の組の出力はレベル対00、01
または11を出力する。更に、この加算器Aiは、
加算の桁上げ(キヤリ)を出力する第2の組の出
力Ri,Ri′を有している。実際、この桁上げは加
算1+1(桁上げ1)または(−1)+(−1)(桁
上げ−1)の場合、零とは異なる。この桁上げは
3つの可能な値を有し、再び係数ai及びbjと同じ
コーデイングにより表示される。 第3図は全体を記述していないが、当業者にと
つてはこれで十分に明確に理解することができ、
次に示すようなルーチン機能を正しく付与できる
ことが分かる。 v0=0ならば、入力Ci,Ci′へのレベルri,ui
またはri*,uiの伝送は、v0により制御される
2つのMOSトランジスタにより禁止される。
v0≠0でイネーブルであるならば、riまたはri*
が2つのMOSトランジスタ及び1個のインバ
ータにより、s0=0またはs0=1に応じて伝送
される。 v1=0ならば、入力Ci,Ciへのレベルri-1,
ui-1またはr* i-1,ui-1の伝送は、v1によつて制御
される上記とは別の2つのMOSトランジスタ
により禁止される。v1≠0でイネーブルである
なばら、s1により制御される2つのMOSトラ
ンジスタ及びインバータにより、s1=0または
s1=1に応じて、ri-1またはr* i-1の伝送の選択が
行なわれる。 v0及びv1がともに零ならば、伝送が禁止され
ると共Ci及びCi′がv0及びv1を受取るNORゲー
トによつて制御される2つのトランジスタによ
り強制的に論理レベル零とされる。 同様な基本回路が、ri-2、r* i-2、ui-2または
ri-3r* i-3、ui-3を入力Di、Di′へ伝送するために
使用される。この場合、ルーチンは、v0、v1、
s0、s1の代わりにv2、v3及びs2、s3の制御の下
で行なわれる。 第3図は、4ビツトの乗数と掛合わされるmビ
ツトの被乗数に対して論理的にはm+3回繰返さ
れるパターンの1つを示しているだけである。実
際にはランク0及び1の加算器はなく、この場
合、ルーチン回路はこれらの2つのランクに対し
て部分積のデイジツトの和を直接出力する。何故
ならこれらの和は単一の項になるからである。 第4図はランク0及び1の部分積のデイジツト
の和に関するルーチン回路の一部を示す。この回
路部分は、i=1及びi=0に対してai-3、ai-2
及びai-1を零と考えなくてはならないことを考慮
に入れて第3図の回路を簡単化したものである。 −ランク0に対して;乗算の結果の零ランクのデ
イジツトとして伝送される唯一の部分積はa0・
b0であり、b0=0ならば(すなわち実際にはv0
=0ならば)0、b0=1ならば(すなわちs0=
0及びv0=1ならば)a0すなわち(r0、u0)、s0
=1及びv0=1ならば−a0すなわち(r0 *、u0)
である。第4図に示すルーチン論理回路部分
は、係数ai及びbjと同じコーデイングにより2
つの論理レベルでa0・b0を表わす一対の信号
t0,w0を出力する。 −ランク1に対して;唯一の部分積は零でなく、
b0=0ならばa0・b1となり、b1=0ならばa1・
b0となる。第4図の回路は常に同じコーデイン
グにより表わされ場合に応じてa1・b1または
a1・b0を表わす2つの信号t1,w1を形成する。 t0,w0及びt1,w1、4ビツトの乗算の結果の最
も重みの小さい2つのデイジツトの値(0、+1
または−1)を示す。 その他のデイジツトti,wiは、ルーチン回路1
8の出力を受取る素加算器A2,A3等より形成さ
れる。 第5図のブロツク図は、実質的に素加算器A2
〜An+2よりなる加算部20を示す。各素加算器
は2組の入力Ci,Ci′及びDi,Di′、1組の“和”
出力Si,Si′、並びに1組の“桁上げ”出力Ri,
Ri′を有している。和及び桁上げは、3つの値0、
1、−1をとりうる他の全ての係数と同様に2つ
の論理レベルでコード化される。 ここで非常に重要な点に注意しておく必要があ
る。被乗数は係数aiによつて、aiとai-1がともに
零とならないようにコード化されるので、素加算
器に伝送させる乗算の部分積は同じ性質を示す。
そして加算すべきデイジツトの同じ縦列において
偶然2つのデイジツトが1または2つのデイジツ
ト−1となつたならば、これらのデイジツトの
各々はその右側及び左側に確実に零を有する。従
つて、 当該加算は下のランクの加算の桁上げによつ
て乱されない。 当該加算自身は上のランクの加算の結果に加
算されるべき桁上げ1または−を生じせしめ
る。しかし上のランクの加算は零の加算から成
るだけなのでその結果は桁上げ1または−1と
等しくなるが、新しい桁上げは生じせしめな
い。 通常の加算の場合のように、桁上げがいくつか
の連続する加算器に亘つて伝播することはない。 このために、素加算器の配列及び相互接続は、
すべての加算器が前のランクの加算の桁上げを待
機することなしに同時に動作するようになされて
いる。この桁上げは、桁上げが起こる種々の場合
を考慮した論理ゲートにより加算器の出力にてシ
ンプルに加算される。 素加算器Aiの各々は和と桁上げを形成するが、
これらは自身の桁上げ結果をモデイフアイする、
前の段階からの桁上げ対する入力は具備していな
いという意味で、ここでは“半加算器”と言え
る。 第5図から分かるように、各素加算器Aiに対
して2つのORゲート24及び26が設けられて
いる。ORゲート24は素加算器Aiの出力Siと素
加算器Aの出力Riを受取る。ORゲート26は出
力Si′及びR* i-1を受取る。ORゲート24及び26
は演算の全結果を表わす論理レベルti,wi、すな
わち乗算の結果のランクiのデイジツトの値を出
力する。 素加算器A2に対してこれらのORゲートは、前
段からの桁上げがないため不用となる。 これらのORゲートにより次のことが分かる。 −素加算器の桁上げは前段の桁上げによつては影
響されない。 −素加算器Aの桁上げが00であるならば、素加算
器Ajにより出力される和00、01または11はOR
ゲートを介して通過することによつては修正さ
れない。素加算器Aj-1の桁上げが01または11な
らば、素加算器Ajは零を受取りその“和”出
力に一対のレベル00を出力しなければならず、
これは桁上げ01または11のORゲートを介する
通過を修正しない。 第6図は素加算器Ajの詳細に示す。この素加
算器は、値0、1及び−1のみをとる2つのデイ
ジツトの加算に対応する結果、すなわち和及び桁
上げを出力する。次の等式を考えることができ
る。 0+0=和0、桁上げ0 0+1または1+0=和1、桁上げ0 0+(-1)または(-1)+0=和1、桁上げ0 1+(-1)または(-1)+1=和0、桁上げ0 1+1=和0、桁上げ1 (-1)+(-1)=和1、桁上げ−1 これらの等式は、値0、1、−1が素加算器の
入力及び出力において論理レベル対00、01または
11により表わされるとしたときの論理機能を定め
る。 対応する論理図を第6図に示す。入力及び出力
のネームは第4図及び第5図のものと同じであ
る。 素加算器Aiは次の要素を具備する。 −入力Ci,Ci′,Di,Di′のベレルの論理補数Ci*,
Ci′*,Di*,Di′*を形成する4つのインバータ
28,30,32,34、 −信号Ci*,C′i*,Di*,Di′*を受取る4入力OR
ゲート39及びその後続で加算の桁上げの符号
を出力Riに供給するインバータ38: −入力Ci,Cii′,Di,Di′を受取るORゲート4
0、及びORゲート36と40の出力を受取る
ANDゲート42;ANDゲート42の出力は桁
上げの絶対値を出力Ri′に供給する、 −Ci,Ci′,Di*,Di′*を受取るORゲート44、
Ci′*,Ci,Di,Di*を受取るORゲート46、並
びにORゲート44及び46の出力を受取り実
行した和の符号を出力Si′に供給するNANDゲ
ート48、 −Ci及びDiを受取り和の絶対値を出力Siに供給
するイクスクルーシブORゲート50。 次にコーダ10及び12の詳細について説明
し、乗算器の入力に2進形で加えられる数X及び
Y、値ai及びbj、1及び−1が零により必要的に
分離されること、並びに前記係数の2つの論理レ
ベル00、01及び11でのコード化及び組合せ10の
禁止から、前記コーダの役割をみる。 2進係数xi(i=0〜m−1)のターナリ係数
aiへのコード化は以下のようにして行なわれる。
数Xは、最も重みの大きいビツトが符号ビツトで
あるいわゆる“2の補数”形として書き表わせ
る。 中間論理信号pi及びqiが次のように形成され
る。 piはxi及びxi-1のイクスクルーシルORの結果
(p0=x0)である。 qiはpiとqi-1の補数との論理積(q0=x0)であ
る。従つて、ai=(1−2Xi-1)qi、((xn=xn-1)
(数Xはm個のデイジツトx0〜xn-1のみを有す
る))となる。 上式が係数aiを計算するためにここで使用され
るアルゴリズムである。 そしてxi+1=0ならばai=qi xi+1=1ならばai=−qi となる。 qiは2つの可能なレベル0または1を有する論
理信号である。aiは3つの値0、1、−1をとる
ことができ、2つの2進信号ri及びuiにより表わ
される。 riはaiの符号を表わす。ri=0を正の符号、ri
=1を負の符号として選ぶならびに、xi+1=1に
対してai=−qi、xi+1=0に対してai=qiとなる
ので、ri=xi+1となるものとする。 実際には、qi=0(ri、uiに対して組合せ1、
0は禁止)のときでも正の符号をとるようにri=
xi+1・qiとされる。 uiはaiの絶対値を表わし、uiはqiと等しくな
る。 上記より4つの入力2進係数x0〜x3に対する第
7図に示す論理コード回路の構造が導かれる。3
つのイクスクルーシブORゲート52,54,5
6はレベルp3,p2,p1を形成し、p0はx0及びp0,
u0と等しい。3つのインバータ58,60,62
はq2,q1,q0よりこれらのレベルの補数q2 *,
q1 *,q0 *を形成する。 3つの2入力ANDゲート64,66,68の
出力はレベルq3,q2,q1を形成し、これらはレベ
ルu3,u2,u1にもなる。各ANDゲートp3q*/2;p2
及びq*/1;p1及びq*/0をそれぞれ受取る。 4つのANDゲート70,72,73,76は
q3,x3;q2,x3;q1,x2;q0,x1を受取り、レベ
ルr3,r2,r1,r0をそれぞれ形成する。 乗数用コーダについても全く同様なことが言
え、上記のxiをyiに置換え、信号ri、uiを信号sj、
vjに置換えれば十分である。 乗算の結果は(m+n−1)個の係数ciので形
で得られる。該係数の各々は2つの2進レベル
ti,wiにより表わされ、ti,wi=0、0ならばci
=0となり、ti,wi=0、1ならばci=1とな
り、ti,wi=1、1ならばci=−1となる。 Z=cn+o-22m+n-2+…+Ci2 i+…+c0 3つのとりうる値を有する係数ciを2つの値
0、1を有する2進係数ziに再変換することが好
ましい。 Z=−zn+o-12m+n-1+…+Zi2 i+…+z0 (いわゆる“2の補数”2進コードにおける数Z
の式) デコーダ化は実際には非常にシンプルである。
正または零の係数Ci(ti=0)が負または零の係
数Ci(ti=1またはwi=0)と分離される。 一連の正の係数は2進形の第1の正数に対応す
る。 一連の負の係数は第2の正数の反対の値に対応
する。 そして、数Zは2つの正の2進数の差の形で書
き表わされる。これらの2進数の各々は大きい重
みの符号ビツトを加えかつそれらを加算すること
により“2の補数”形に書き表わすことができ
る。第1の正数に対しては、付加される符号ビツ
トは0であり、第2の正数に対しては、付加され
る符号ビツトは1であり、対応する2の補数は、
第2の正数のビツトを相補しかつ最も重みの小さ
い1を加えることにより形成される。 そして“2の補数”形に書き表わされた2つの
数は、2の補数形の数Zを付与するために加算さ
れる。 第8図はデコード回路を示す。 各係数ciから2進係数diが正数い対して形成さ
れる(ci=0または−1ならばdi=0であり、ci
=1ならばdi=1となる)。diは、ti及びwi、す
なわち係数ciの符号及び絶対値を受取るイクスク
ルーシブORゲート78の出力にて得られる。 係数eiは負数に対して形成される(ci=0また
は1ならばei=0となり、ci=−1ならばeとな
る)。eiは係数ciの符号ビツトtiと全く同じであ
る。 符号ビツト0は正数に加えられ、符号ビツト1
は負数に加えられる。 正数と負数の和は、係数diと(インバータ80
により形成された)係数eiの補数とのビツトごと
の加算及び最も重みの小さい1の付加により与え
られる。 この加算は、(最も重みの小さい1を加える)
ために強制的に1にされる桁上げ入力と、レベル
diを受取る入力と、レベルeiの補数を受取る入力
とを有する、(m+n)ビツトの従来式の2進加
算器82により実行される。更に、最も重みの大
きい入力の対は0、1、すなわち正数及び負数の
各符号ビツトを受取る。 この加算の結果は、乗算の結果の2進係数(2
の補数形)を表わす一連の論理レベルz0〜zn+o-1
である。 実際には、2の補数形で表わされる乗数及び被
乗数のビツト数m及びnを考慮して、同じ形式で
表現された乗数の結果は、zn+o-2である符号ビツ
トを含む(m+n−1)個の係数z0〜zn+o-2から
成ることが示される。 符号0及び1の入力並びに次の理由で不用とな
る出力zn+o-1を抑制することにより(m+n−
1)ビツトの加算器82を設けるので十分である
と結論づけられる。 (a) zn+o-1は通常zn+o-2に等しい。 (b) 2の補数形において、2つの最も重みの大き
い、ビツトが等しいならば、これらは同じ値を
有する単一の符号ビツトにより置換えることが
できる。 本発明による乗算装置の記述を終えるために、
4ビツト以上、例えば16ビツトを有する乗算装置
の場合、これらのビツトは4つのグループ化さ
れ、係数ci(論理レベルti,wi)が4つの乗算の
結果として得られることを指摘しておく。これら
のレベルは、桁上げ伝播を有する加算器及び各素
加算器が第6図に示すタイプの2つの半加算器よ
りなる以外は、加算部20と同じ加算手段に導入
される。4ビツトの乗算の結果を2進形(2つ補
数形)に変換し、従来式の2進加算器で互いに加
算させることも可能である。 上述の記載の全体において、禁止された組合せ
を10とし、値0、1、−1を表わすためにコード
00、01、11を選択することはいくつかの可能な選
択のうちの1つであり、このコードを変化させれ
ば既述した論理回路の論理構造を若干変化させる
必要がでてくることが考えられる。 既述した好ましい実施例は乗数用コーダと被乗
数用コーダを具備している。これらを使用する
と、加算すべき多くの部分積に利点が得られ、加
算部20は(桁上げ伝播を有する)2進加算器と
し、デコーダ22はなくとも良い。
第1図は本発明による4ビツト×4ビツト乗算
装置のブロツク図、第2図は上記乗算装置に使用
される詳細回路図、第3図は乗算を実行するため
に必要な部分積の形成及びシフトのための回路の
基本パターンを示す図、第4図は部分積を形成し
かつシフトするための回路の詳細を示し、この詳
細は部分積の最も小さい重みのビツトに関する、
第5図は部分積加算手段を示す図、第6図は2つ
の論理レベル値0、1、−1をとる2つのコード
化されたデイジツトを加算しかつ同様にコード化
された和及び桁上げを出力する、桁上げ入力のな
い素加算器を示す図、第7図は被乗算(乗数)用
コーダを示す図、第8図は乗算の結果を2進形に
再変換するためのデコーダを示す図である。 10……コーダ、12……コーダ、18……ル
ーチン回路、20……加算部、22……デコー
ダ。
装置のブロツク図、第2図は上記乗算装置に使用
される詳細回路図、第3図は乗算を実行するため
に必要な部分積の形成及びシフトのための回路の
基本パターンを示す図、第4図は部分積を形成し
かつシフトするための回路の詳細を示し、この詳
細は部分積の最も小さい重みのビツトに関する、
第5図は部分積加算手段を示す図、第6図は2つ
の論理レベル値0、1、−1をとる2つのコード
化されたデイジツトを加算しかつ同様にコード化
された和及び桁上げを出力する、桁上げ入力のな
い素加算器を示す図、第7図は被乗算(乗数)用
コーダを示す図、第8図は乗算の結果を2進形に
再変換するためのデコーダを示す図である。 10……コーダ、12……コーダ、18……ル
ーチン回路、20……加算部、22……デコー
ダ。
Claims (1)
- 【特許請求の範囲】 1 被乗数Xである第1の2進数と乗数Yである
第2の2進数を論理電気信号の形で受取り、前記
2数の積を論理電気信号(zi)の形で出力する2
進乗算装置において、 数値Yをあらわすn個の2進数yj(j=0〜n
−1)をn対の2進数(sj、vj)に変換するコー
ダを具備し、各対はひとつの係数bj(j=0〜n
−1)をあらわし、bjは0、1又は−1であり、
各対の一方の信号sjはbjの正負をあらわし、各対
の他方の信号vjはbjのモジユロをあらわし、2つ
の連続する係数bjとbj-1の積は0であり、係数bj
は次の式を満足し、 Y=bo-12n-1+bo-22n-2+…+b121+b0 前記コーダがjの各値毎に、yj及びyj-1を受け
取るイクスルーシブORゲートと、該イクスクル
ーシブORゲートの出力pj 及びインバータにより
反転される信号vj-1を受け取るANDゲートを具
備し、該ANDゲートの出力が信号vjを供給し、
更に信号vj及びyj+1(j≠n−1)又はyj-1(j=
n−1)をうけとる別のANDゲートを有し、当
該別のANDゲートは信号sjを出力し、前記コー
ダは2進数sj及びvjを供給する出力と、y0に等し
い信号v0及びy0とy1の論理積であるs0を供給する
出力とを有することを特徴とする2進乗算装置。 2 Xが被乗数であり、Yが乗数であり、乗算回
路がXを表す2進数を受け取るルーチン回路と2
進加算ステージを有し、前記ルーチン回路がコー
ダの出力sj,vjにより制御され、前記加算ステー
ジがルーチン回路の出力を受信することを特徴と
する、特許請求の範囲第1項記載の2進乗算装
置。 3 3つの値0、1、−1をとる係数ciを表す対
をなす論理信号(ti、wi)を受取り、前記対によ
つて表される数Z;Z=cn+o-22m+n-2+…+c121
+c0を2進論理出力ziにより表される2進数、 Z=zn+o-12m+n-1+zn+o-22m+n-2+…+z121+z0 に変換するデコーダを具備することを特徴とする
特許請求の範囲第1項〜第2項のうちのいずれか
1項に記載の2進乗算装置。 4 被乗数Xである第1の2進数と乗数Yである
第2の2進数を論理電気信号の形で受取り、前記
2数の積を論理電気信号(zi)の形で出力する2
進乗算装置において、数値Yをあらわすn個の2
進数yj(j=0〜n−1)をn対の2進数(sj、
vj)に変換するコーダを具備し、各対はひとつの
係数bj(j=0〜n−1)をあらわし、bjは0、
1又は−1であり、各対の一方の信号sjはbjの正
負をあらわし、各対の他方の信号vjはbjのモジユ
ロをあらわし、2つの連続する係数bjとbj-1の積
は0であり、係数bjは次の式を満足し、 Y=bo-12n-1+bo-22n-2+…+b121+b0 前記乗算装置が数値Xをあらわすm個の2進数
Xiをm対の2進数(ri、ui)に変換する第2のコ
ーダを具備し、各対はひとつの係数ai(i=0〜
m−1)をあらわし、aiは0、1又は−1であ
り、各対の一方の信号riはaiの正負を表し、各対
の他方の信号uiはaiのモジユロをあらわし、2つ
の連続する係数aiとai-1の積は0であり、係数ai
は次の式を満足し、 X=an-12m-1+an-22m-2+…+a121+a0 前記乗算装置はルーチン回路と2進加算ステー
ジを具備し、該ルーチン回路は第2のコーダの出
力を受信すると共に第1のコーダの出力により制
御され、前記加算ステージはルーチン回路の出力
を受信することを特徴とする2進乗算装置。 5 前記第2のコーダがm個の2進論理信号ri*
を出力し、ri*はui=1ならばriの補数でありui=
0ならば零であることを特徴とする特許請求の範
囲第4項に記載の2進乗算装置。 6 前記ルーチン回路が、第1及び第2の組の入
力を有する前記加算ステージの素加算器に、4組
の制御信号に応じた信号を伝送し、すなわち、 −第1の組の入力(Ci、Ci′)には、 b0及びb1がともに零ならば0、 b0=1ならばri、ui、 b0=−1ならばri *、ui、 b0=1ならばri-1、ui-1、 b0=−1ならばri * -1、ui-1、 を伝送し、 −第2の組の入力(Di、Di′)には、 b2及びb3がともに零ならば0、 b2=1ならばri-2、ui-2、 b2=−1ならばri-2 *、ui-2、 b3=1ならばri-3、ui-3、 b3=−1ならばri-3 *、ui-3、 を伝送し、ui-kまたはri-kのタイプの信号はi−
kが負ならば論理レベル0となり、ri*はui=1
ならばriの補数、ui=0ならば0となることを特
徴とする特許請求の範囲第5項に記載の2進乗算
装置。 7 前記加算器は、係数aiまたはbjの信号(ri、
ui)または(sj、vj)へのコード化と同じ優位性
を有するコード化に従つて和及び桁上げの組をそ
の出力に供給し、加算器の“和”出力は各ORゲ
ートの入力にそれぞれ供給され、これらのゲート
はすぐ下のランクの加算器からの桁上げ出力を受
け取ることを特徴とする特許請求の範囲第6項に
記載の2進乗算装置。 8 3つの値0、1、−1をとる係数ciを表す対
をなす論理信号(ti、wi)を受取り、前記対によ
つて表される数Z;Z=cn+o-22m+n-2+…+c121
+c0を2進論理出力ziにより表される2進数、 Z=−zn+o-12m+n-1+zn+o-22m+n-2+…+z121+z0 に変換するデコーダを具備することを特徴とする
特許請求の範囲第4項〜第7項のうちのいずれか
1項に記載の2進乗算装置。 9 前記デコーダが、信号ti及びwiを受取り信号
diを出力するイクスクルーシブORゲートと、信
号tiを受取るインバータと、強制的に論理レベル
1にされる桁上げ入力及び加算すべき信号のため
の対をなす入力を有する2進加算器とを有し、該
加算器の各組の入力が前記イクスルーシブORゲ
ートの出力及び前記インバータの出力を受取るこ
とを特徴とする特許請求の範囲第8項に記載の2
進乗算装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR8219921A FR2536879A1 (fr) | 1982-11-26 | 1982-11-26 | Multiplieur binaire rapide |
| FR8219921 | 1982-11-26 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59109946A JPS59109946A (ja) | 1984-06-25 |
| JPH0374418B2 true JPH0374418B2 (ja) | 1991-11-26 |
Family
ID=9279584
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58223064A Granted JPS59109946A (ja) | 1982-11-26 | 1983-11-26 | 2進乗算装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4628472A (ja) |
| EP (1) | EP0110767B1 (ja) |
| JP (1) | JPS59109946A (ja) |
| DE (1) | DE3373728D1 (ja) |
| FR (1) | FR2536879A1 (ja) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA1236220A (en) * | 1984-10-11 | 1988-05-03 | Sterling R. Whitaker | Multiplier circuitry using pass transistors |
| JPS62204332A (ja) * | 1986-03-04 | 1987-09-09 | Nippon Telegr & Teleph Corp <Ntt> | 2進冗長sdコ−ドの2値符号化方式 |
| US5031136A (en) * | 1986-06-27 | 1991-07-09 | Matsushita Electric Industrial Co., Ltd. | Signed-digit arithmetic processing units with binary operands |
| US5153847A (en) * | 1986-06-27 | 1992-10-06 | Matsushita Electric Industrial Co., Ltd. | Arithmetic processor using signed digit representation of internal operands |
| US5206825A (en) * | 1987-05-27 | 1993-04-27 | Matsushita Electric Industrial Co., Ltd. | Arithmetic processor using signed-digit representation of external operands |
| JPH01195574A (ja) * | 1988-01-29 | 1989-08-07 | Nec Corp | ディジタル信号処理装置 |
| US5115408A (en) * | 1988-01-29 | 1992-05-19 | Texas Instruments Incorporated | High speed multiplier |
| US6396955B1 (en) * | 1998-06-25 | 2002-05-28 | Asahi Kogaku Kogyo Kabushiki Kaisha | Image compression and expansion device |
| US7203718B1 (en) * | 1999-10-29 | 2007-04-10 | Pentomics, Inc. | Apparatus and method for angle rotation |
| US7315879B2 (en) * | 2001-02-16 | 2008-01-01 | Texas Instruments Incorporated | Multiply-accumulate modules and parallel multipliers and methods of designing multiply-accumulate modules and parallel multipliers |
| US7562106B2 (en) * | 2004-08-07 | 2009-07-14 | Ternarylogic Llc | Multi-value digital calculating circuits, including multipliers |
| JP6324264B2 (ja) * | 2014-08-22 | 2018-05-16 | ルネサスエレクトロニクス株式会社 | 三値内積演算回路、三値内積演算処理プログラム、及び、三値内積演算回路による演算処理方法 |
| US10977002B2 (en) * | 2019-07-15 | 2021-04-13 | Facebook Technologies, Llc | System and method for supporting alternate number format for efficient multiplication |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3691359A (en) * | 1970-07-28 | 1972-09-12 | Singer General Precision | Asynchronous binary multiplier employing carry-save addition |
| US3730425A (en) * | 1971-05-03 | 1973-05-01 | Honeywell Inf Systems | Binary two{40 s complement multiplier processing two multiplier bits per cycle |
| DE2647262A1 (de) * | 1975-11-04 | 1977-05-05 | Motorola Inc | Multiplizierschaltung |
| US4153938A (en) * | 1977-08-18 | 1979-05-08 | Monolithic Memories Inc. | High speed combinatorial digital multiplier |
| JPS57141753A (en) * | 1981-02-25 | 1982-09-02 | Nec Corp | Multiplication circuit |
-
1982
- 1982-11-26 FR FR8219921A patent/FR2536879A1/fr active Granted
-
1983
- 1983-11-18 EP EP83402232A patent/EP0110767B1/fr not_active Expired
- 1983-11-18 US US06/553,488 patent/US4628472A/en not_active Expired - Lifetime
- 1983-11-18 DE DE8383402232T patent/DE3373728D1/de not_active Expired
- 1983-11-26 JP JP58223064A patent/JPS59109946A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| DE3373728D1 (de) | 1987-10-22 |
| EP0110767A1 (fr) | 1984-06-13 |
| FR2536879B1 (ja) | 1985-03-08 |
| FR2536879A1 (fr) | 1984-06-01 |
| US4628472A (en) | 1986-12-09 |
| EP0110767B1 (fr) | 1987-09-16 |
| JPS59109946A (ja) | 1984-06-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5465226A (en) | High speed digital parallel multiplier | |
| US5956265A (en) | Boolean digital multiplier | |
| US5920498A (en) | Compression circuit of an adder circuit | |
| EP0239899A1 (en) | Multiplier array circuit | |
| US5426598A (en) | Adder and multiplier circuit employing the same | |
| JPH0555894B2 (ja) | ||
| EP0152046A2 (en) | Multiplying circuit | |
| JPH0428180B2 (ja) | ||
| JPH06214755A (ja) | 乗算装置 | |
| US4748584A (en) | Parallel multiplier utilizing Booth's algorithm | |
| US5070471A (en) | High speed multiplier which divides multiplying factor into parts and adds partial end products | |
| US4878192A (en) | Arithmetic processor and divider using redundant signed digit arithmetic | |
| US4628472A (en) | Binary multiplier using ternary code | |
| JPH0160858B2 (ja) | ||
| US5726926A (en) | Shifter for shifting floating point number utilizing arithmetic operation of redundant binary number, and adder containing the same | |
| US5497343A (en) | Reducing the number of carry-look-ahead adder stages in high-speed arithmetic units, structure and method | |
| US4879677A (en) | Parallel adder circuit with sign bit decoder for multiplier | |
| US4623872A (en) | Circuit for CSD-coding of a binary number represented in two's complement | |
| US5675527A (en) | Multiplication device and sum of products calculation device | |
| JPH07508603A (ja) | 絶対値算術演算ユニット及び差動マルチプレクサ | |
| US4677583A (en) | Apparatus for decimal multiplication | |
| US4866655A (en) | Arithmetic processor and divider using redundant signed digit | |
| JP3256251B2 (ja) | 乗算器 | |
| US5115408A (en) | High speed multiplier | |
| US5189635A (en) | Digital data processing circuit |