JPH034382A - 加算方法と乗算回路 - Google Patents
加算方法と乗算回路Info
- Publication number
- JPH034382A JPH034382A JP2120148A JP12014890A JPH034382A JP H034382 A JPH034382 A JP H034382A JP 2120148 A JP2120148 A JP 2120148A JP 12014890 A JP12014890 A JP 12014890A JP H034382 A JPH034382 A JP H034382A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- bits
- complement
- complements
- partial
- 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
Links
- 238000000034 method Methods 0.000 title claims description 9
- 230000000295 complement effect Effects 0.000 claims abstract description 22
- 108091029480 NONCODE Proteins 0.000 abstract 1
- 239000000047 product Substances 0.000 description 41
- 238000007792 addition Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000012467 final product Substances 0.000 description 3
- 239000012528 membrane Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- KUGRPPRAQNPSQD-UHFFFAOYSA-N OOOOO Chemical compound OOOOO KUGRPPRAQNPSQD-UHFFFAOYSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
- G06F7/5338—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3852—Calculation with most significant digit first
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49994—Sign extension
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、2進数の乗算・加算技術に関する。
(従来技術)
2進数の乗算回路は、比較、的多くの回路素子を必要と
し、集積回路上でそれらを形成するには多くのチップ領
域を必要とする。このため、集積回路設計の当面の目標
は、より少ない回路素子で乗算回路を、実行する方法を
発見することである。
し、集積回路上でそれらを形成するには多くのチップ領
域を必要とする。このため、集積回路設計の当面の目標
は、より少ない回路素子で乗算回路を、実行する方法を
発見することである。
例えば現在広く使用されている技術は、いわゆる修正ブ
ース符号化(+++odified Booth en
cording)を用いて、掛算される2個の数の1つ
を表すことである。この方法は、乗算器により生成され
る部分積の数を1/2に減し、このため、最終積に到達
するのに必要な部分積の組合わせ回路の数を減少させる
ことができる。不都合なことに、符号付き2進数は、2
の補数表示を用いて(少なくとも算術的に操作されると
きは)−膜内に表されるという事実により、上記の修正
ブース符号化の利点をかなり相殺してしまう。それは、
部分積を組合わせる前に、部分積のいわゆる符号ビット
拡大を実行する必要があるからである(これについては
、以下に詳述する)。
ース符号化(+++odified Booth en
cording)を用いて、掛算される2個の数の1つ
を表すことである。この方法は、乗算器により生成され
る部分積の数を1/2に減し、このため、最終積に到達
するのに必要な部分積の組合わせ回路の数を減少させる
ことができる。不都合なことに、符号付き2進数は、2
の補数表示を用いて(少なくとも算術的に操作されると
きは)−膜内に表されるという事実により、上記の修正
ブース符号化の利点をかなり相殺してしまう。それは、
部分積を組合わせる前に、部分積のいわゆる符号ビット
拡大を実行する必要があるからである(これについては
、以下に詳述する)。
(発明の概要)
本発明によれば、2の補数表示により表示される数の乗
算に特に応用可能であるが、部分積を組み合わせる符号
ビット拡大を実行する必要性は、全ての部分積の符号ビ
ットをその右側の2の補数として表示する値を表すこと
により、回避される。
算に特に応用可能であるが、部分積を組み合わせる符号
ビット拡大を実行する必要性は、全ての部分積の符号ビ
ットをその右側の2の補数として表示する値を表すこと
により、回避される。
その数のビット(符号ビット値ワードとここでは称する
)は、元の符号ビットの代わりに、部分積の和算にその
後使用される。符号ビット値ワードの全てのビットは、
(全ての2の補数と同様に)正の伜を有するよう保障(
最上位の1 “除いて)され、部分積の桁は、その後、
符号ビット拡大を必要とすることなしに、直接加えられ
る。この方法を実行すると、従来の乗算器に比較して、
20%もの回路面積の減少が可能である。
)は、元の符号ビットの代わりに、部分積の和算にその
後使用される。符号ビット値ワードの全てのビットは、
(全ての2の補数と同様に)正の伜を有するよう保障(
最上位の1 “除いて)され、部分積の桁は、その後、
符号ビット拡大を必要とすることなしに、直接加えられ
る。この方法を実行すると、従来の乗算器に比較して、
20%もの回路面積の減少が可能である。
(実施例の説明)
本発明を理解するために、2進数の乗算を概説する。
2進数は、10進数と同様によく掛は算される。
特に、各ワードの各桁は、他のワードの各桁と掛は算さ
れ、その後、得られた部分積が加え合わされ、その際符
号も考慮に入れられる。2つの8ビツト数 ao at
az aB a4as aB ayとbo bt b
2b3b4bs be byの乗算が以下の様に実行さ
れる。
れ、その後、得られた部分積が加え合わされ、その際符
号も考慮に入れられる。2つの8ビツト数 ao at
az aB a4as aB ayとbo bt b
2b3b4bs be byの乗算が以下の様に実行さ
れる。
0o 0IO2030< Os Os O7ここで
、8個の部分積の各項は、aの特定の1つとbの特定の
1との積である。例えば、以下である。
、8個の部分積の各項は、aの特定の1つとbの特定の
1との積である。例えば、以下である。
h7−ay ’by −Je −b4°a6実際には、
乗算は、必要でない。その理由は、bの全ては0か1で
あり、各部分積 ha ht hz ha h4hs ha hy・jo
il 1213 j415 >617等は、oooo
ooooかao alatz aB a4a5a6a7
のいずれかに等しい。
乗算は、必要でない。その理由は、bの全ては0か1で
あり、各部分積 ha ht hz ha h4hs ha hy・jo
il 1213 j415 >617等は、oooo
ooooかao alatz aB a4a5a6a7
のいずれかに等しい。
2つの2進数の乗算と和算の回数を減らすため、いわゆ
る修正ブース符号化を使用する乗算器を書き直す。
る修正ブース符号化を使用する乗算器を書き直す。
ここで2進数b o b t b 2 b 3b 4
b 5b e b yは、2の補数表示と仮定され、 数C3C1C2C3として表示される。ここで、Ci
”= −2bi−1+ bi + b、+1したがって
、次のようになる。
b 5b e b yは、2の補数表示と仮定され、 数C3C1C2C3として表示される。ここで、Ci
”= −2bi−1+ bi + b、+1したがって
、次のようになる。
C,ffi O,±1.Or±2゜
かくして、上記の計算問題(1)は、以下のように書き
直される。
直される。
ao lLt D h3a< as &6”
7CoC,C,O3(2) Pa pl I)2 1)3 p4 P5
pa Pフ p8QOql q2 O3q4 qS
O6q7 qa 部分積rorl r2 r
3 r4 r5 r6 「7 r850SI
S23354355697SB[部分積の和] ここから明らかなように、和算の回数は、少なくなる。
7CoC,C,O3(2) Pa pl I)2 1)3 p4 P5
pa Pフ p8QOql q2 O3q4 qS
O6q7 qa 部分積rorl r2 r
3 r4 r5 r6 「7 r850SI
S23354355697SB[部分積の和] ここから明らかなように、和算の回数は、少なくなる。
さらに、C1は以下に表わされるので、コ
C,X O,±1.Or±2゜
第2式において、aとCとの積は、移動と符号反転以外
の複雑な処理はない。実行上の観点がら、修正ブース符
号化の使用は重要である。その理由は、和算の回数の減
少は、例えば、集積回路チップ上に掛は算回路を形成す
るのに、必要な回路数を減少できるからである。一方、
従来の方法で、部分積を加える方法は、本発明の利点を
相殺してしまう。その理由は、種々の部分積の符号ビッ
トは、異なる位置符号(positional 51g
n1ficances)を有し、いわゆる符号ビット拡
大(sign bit extension)を必要と
することになるからである。
の複雑な処理はない。実行上の観点がら、修正ブース符
号化の使用は重要である。その理由は、和算の回数の減
少は、例えば、集積回路チップ上に掛は算回路を形成す
るのに、必要な回路数を減少できるからである。一方、
従来の方法で、部分積を加える方法は、本発明の利点を
相殺してしまう。その理由は、種々の部分積の符号ビッ
トは、異なる位置符号(positional 51g
n1ficances)を有し、いわゆる符号ビット拡
大(sign bit extension)を必要と
することになるからである。
特に、2進数が2の補数表示で書かれている場合を考え
てみる。2の補数表示では、最上位ビットは、標準の正
の2進数におけるのと同一の大きさを表すが、負の符号
を有している。かくして、例えば、2の補数表示で表さ
れた1011という数字は、以下の計算より、10進数
の−5に等しい。
てみる。2の補数表示では、最上位ビットは、標準の正
の2進数におけるのと同一の大きさを表すが、負の符号
を有している。かくして、例えば、2の補数表示で表さ
れた1011という数字は、以下の計算より、10進数
の−5に等しい。
(−8)(1)+(4)(0) + (2)(1) +
(1)(1) −−52の補数表示のこの特徴は、そ
の形式で表示された数字を掛は算する場合、部分積を加
える際に考慮に入れなければならない。その理由は、各
列の項は、それらが加えられるためには、同一の符号を
有していなければならないが、部分積の種々の符号ビッ
トは、異なる桁位置を有し、かくして、各列の項は、す
べて同一の位置符号を有さないからである。
(1)(1) −−52の補数表示のこの特徴は、そ
の形式で表示された数字を掛は算する場合、部分積を加
える際に考慮に入れなければならない。その理由は、各
列の項は、それらが加えられるためには、同一の符号を
有していなければならないが、部分積の種々の符号ビッ
トは、異なる桁位置を有し、かくして、各列の項は、す
べて同一の位置符号を有さないからである。
この点は、数学的な観点からは、易しい問題である。そ
の理由は、2の補数表示の1つの特徴は、最上位ビット
は、数字の値を変えることなく、左へ必要な回数だけ、
再生、即ち「拡大コされる。
の理由は、2の補数表示の1つの特徴は、最上位ビット
は、数字の値を変えることなく、左へ必要な回数だけ、
再生、即ち「拡大コされる。
かくして、上記の(2)式の例は、以下のように、書き
直せる。
直せる。
ao ILr : a3a4as as a
yC6CI C2C3(3) 1)o I)o I)o Po I)o Po Pa
pI P2 ps p4 ps Pa p7 p8Qo
Qo Qo qo Qo ql q2 q3 q4
C5q6 C7q8 ° 部分積1or6 r6
rl r2 r3 r4 r5 r6
r7 rgSoS132533485563783そ
して、各列を直接加算することにより、最終積をえる。
yC6CI C2C3(3) 1)o I)o I)o Po I)o Po Pa
pI P2 ps p4 ps Pa p7 p8Qo
Qo Qo qo Qo ql q2 q3 q4
C5q6 C7q8 ° 部分積1or6 r6
rl r2 r3 r4 r5 r6
r7 rgSoS132533485563783そ
して、各列を直接加算することにより、最終積をえる。
しかし、この符号ビット拡大を実行するには、多数の回
路が必要となる。
路が必要となる。
しかし、本発明によれば、符号ビット拡大は、回避でき
る。とくに、全ての部分積の符号ビットで表示された値
は、その右側で2の補数表示として表示される。その数
字の元の符号ビットではなく 「符合ビット値」と称さ
れるビットは、部分積の和算に使用される。符合ビット
値ワードの全てのビット、(最高上位のビットを除いて
)は、(2の補数表示全てについて当てはまるが)正の
位を有する様、保証されているので、部分積の桁は、符
合ビット拡大の必要なく直接加算できる。
る。とくに、全ての部分積の符号ビットで表示された値
は、その右側で2の補数表示として表示される。その数
字の元の符号ビットではなく 「符合ビット値」と称さ
れるビットは、部分積の和算に使用される。符合ビット
値ワードの全てのビット、(最高上位のビットを除いて
)は、(2の補数表示全てについて当てはまるが)正の
位を有する様、保証されているので、部分積の桁は、符
合ビット拡大の必要なく直接加算できる。
(2)式の例について、符合ビット
poqorosoは、以下の正の値の2の補数で表示さ
れる。
れる。
OSo Oro 0 Qo Opo OOOO0000
゜しかし、これらの符合ビットにより表示される実際の
値は、負の数である。2の補数の符合を反転するために
、各ビットの2進数を反転し、その結果に1を加算する
。かくして、 l So 1 ro 1 qo1+oooo
oo。
゜しかし、これらの符合ビットにより表示される実際の
値は、負の数である。2の補数の符合を反転するために
、各ビットの2進数を反転し、その結果に1を加算する
。かくして、 l So 1 ro 1 qo1+oooo
oo。
p(,11111111
000000001
1% l ん l も 1 (凡+1) OOOOO
0(2)式の掛は算は、以下の様に書直すことができる
。
0(2)式の掛は算は、以下の様に書直すことができる
。
ao al ! 113 1L4 its
a61L7COCI C2C3(4) l (%+I I)t P2 p3 p41)5 p6
p7 P81 M6 Sl 52 C394555
657SBここで、最後の部分積の最上位の1を除いて
、全ての桁は、正の位を有し、単純に加算できる。符合
ビット拡大の必要性は回避され、乗算器は従来の構成に
比較して、より少ない回路素子で構成できる。
a61L7COCI C2C3(4) l (%+I I)t P2 p3 p41)5 p6
p7 P81 M6 Sl 52 C394555
657SBここで、最後の部分積の最上位の1を除いて
、全ての桁は、正の位を有し、単純に加算できる。符合
ビット拡大の必要性は回避され、乗算器は従来の構成に
比較して、より少ない回路素子で構成できる。
第1図において、部分積生成器は、2進数aO・・・a
とb ・・・b7とを受信し、40 個の部分積p ””pg、Q(1・”QB、o
8、 。・・・C8を生成する。
とb ・・・b7とを受信し、40 個の部分積p ””pg、Q(1・”QB、o
8、 。・・・C8を生成する。
(図では1、単一の線のみ示しているが、実際には、各
ビットにつき1つの平行出力線を有する。)特に、b
・・・b7は、修正ブースエンコーダ11に入力される
。この修正ブースエンコーダ11は、論理ゲートの直列
段からなり、リード111−113上に、b 1・b7
の修正ブース符号化バージョン、即ち、C・・・C3を
表す信号を生成する。特に、リード111は、4個のと
ッI L lt トCo 、cl、C2、Csを搬送し、これらは、修正
ブース符号化デジットC8,C,、C2゜C3に関連す
る(以下、符号化デジットと称する)リード112(1
13)は、同様に4個のビットCS )を搬送する。こ
れらは又符号化デジットと関連する。かくして、4個の
符号化デジットC8゜C1,C2,C3は、それぞれリ
ード111−113上に3個の関連ビットを有する。
ビットにつき1つの平行出力線を有する。)特に、b
・・・b7は、修正ブースエンコーダ11に入力される
。この修正ブースエンコーダ11は、論理ゲートの直列
段からなり、リード111−113上に、b 1・b7
の修正ブース符号化バージョン、即ち、C・・・C3を
表す信号を生成する。特に、リード111は、4個のと
ッI L lt トCo 、cl、C2、Csを搬送し、これらは、修正
ブース符号化デジットC8,C,、C2゜C3に関連す
る(以下、符号化デジットと称する)リード112(1
13)は、同様に4個のビットCS )を搬送する。こ
れらは又符号化デジットと関連する。かくして、4個の
符号化デジットC8゜C1,C2,C3は、それぞれリ
ード111−113上に3個の関連ビットを有する。
リード111,112上のビットは、関連符号化デジッ
トの大きさを表す。特に、特定の符号化デジットの値が
0の場合、リード111,112上の関連ビットの値は
、2進数のOの値を有する。
トの大きさを表す。特に、特定の符号化デジットの値が
0の場合、リード111,112上の関連ビットの値は
、2進数のOの値を有する。
一方、符号化デジットが、単位1(2)であると、リー
ド111.112上の関連ビットは、2進数1と0(0
と1)である。
ド111.112上の関連ビットは、2進数1と0(0
と1)である。
リード113上のビットは、関連符号化デジットの符合
を表す。正符合または0に対しては0を、負符合に対し
ては、1を表す。かくして、例えば、符号化デジットC
8,cl、C2,C3は、−1、−2、+1.0の値を
有する。かくして、リード111−113上のビットは
、それぞれ1010゜010.0.1100.である。
を表す。正符合または0に対しては0を、負符合に対し
ては、1を表す。かくして、例えば、符号化デジットC
8,cl、C2,C3は、−1、−2、+1.0の値を
有する。かくして、リード111−113上のビットは
、それぞれ1010゜010.0.1100.である。
以上の説明から明らかなように、各部分積は、a)0、
b)a ・・・C7、あるいは、その負、c)a
・・・a O(即ち、2倍のao ・・・7 ay)あるいは、その負、のいずれかに等しい。
b)a ・・・C7、あるいは、その負、c)a
・・・a O(即ち、2倍のao ・・・7 ay)あるいは、その負、のいずれかに等しい。
これらの部分積値を求めるために、第1図の部分積生成
器は、2倍回路12(9ビツトの数ao#・・ayOを
生成する)と、符号ビット拡張器13(9個のビットの
数aa ・・・C7を生成0 し、その、値はa ・・・C7と同じである)を有口 する。(この値を元の8個のビットバージョンではなく
、9個のビット数として表すことは、セレクタ20(以
下に説明する)が単一ワード長で取り扱え、複雑さを最
小にできる。)リード111−113のビット値に依存
して、これらの9個のとットワード、あるいは、その逆
転されたものの1個、または0個は、セレクタ20の4
個の各出力リード上に入力され、4個の部分積p。・・
・p8′qO°9°q8ゝrO°° 8ゝ 0・・C
8を提供する。
器は、2倍回路12(9ビツトの数ao#・・ayOを
生成する)と、符号ビット拡張器13(9個のビットの
数aa ・・・C7を生成0 し、その、値はa ・・・C7と同じである)を有口 する。(この値を元の8個のビットバージョンではなく
、9個のビット数として表すことは、セレクタ20(以
下に説明する)が単一ワード長で取り扱え、複雑さを最
小にできる。)リード111−113のビット値に依存
して、これらの9個のとットワード、あるいは、その逆
転されたものの1個、または0個は、セレクタ20の4
個の各出力リード上に入力され、4個の部分積p。・・
・p8′qO°9°q8ゝrO°° 8ゝ 0・・C
8を提供する。
特に、この為、セレクタ20は4個の多重化器(mux
)21−24を有し、その出力は、それぞれ、インバー
タ25−2gに与えられる。多重L λ 化器21は、ビットC6とC6で、多重化器22は、ビ
ットCIとC2で、多重化器23は、ピッC3で、制御
される。
)21−24を有し、その出力は、それぞれ、インバー
タ25−2gに与えられる。多重L λ 化器21は、ビットC6とC6で、多重化器22は、ビ
ットCIとC2で、多重化器23は、ピッC3で、制御
される。
多重化器の2つの制御ビットの値が、関連符号化デジッ
トの値がゼロであること、を示すと、多重化器は、その
出力に、0.、.0を出力する。
トの値がゼロであること、を示すと、多重化器は、その
出力に、0.、.0を出力する。
また、それらが、関連符号化デジットの値が単位1であ
ると、多重化器は、aa ・・・a7を出力す00
る。また、それらか、関連符号化デジットの値が2であ
ると、多重化器は、a ・・・a70を0 ゛ 出力する。
ると、多重化器は、a ・・・a70を0 ゛ 出力する。
インバータ25−28は、それぞれc’ cS。
0′l
c2”3で制御され、これらのビットの特定の1つが、
2進数0の値を有すると、関連インバータは、関連多重
化器の出力を、変えずに、インバータ出力に転送し、そ
のビット値が1である場合は、多重化出力は、反転され
、即ち、その符号が反転される。図に示すように、4個
のインバータ出力は、部分積p ・・・p8、qo・・
・q8、ro 中”r 、s ””Sgである。
2進数0の値を有すると、関連インバータは、関連多重
化器の出力を、変えずに、インバータ出力に転送し、そ
のビット値が1である場合は、多重化出力は、反転され
、即ち、その符号が反転される。図に示すように、4個
のインバータ出力は、部分積p ・・・p8、qo・・
・q8、ro 中”r 、s ””Sgである。
0
かくして、生成された部分積は、第2図の本発明の部分
積組合せ回路で、結合される。第2図の上部の種々の出
力は、最終積のビットである。
積組合せ回路で、結合される。第2図の上部の種々の出
力は、最終積のビットである。
特に、第2図の各ボックスGは、単一人力の単一ゲート
で、その出力にそれを出力する。各ボックスHは、半加
算器で、2個の入力(特に、部分和デジット)を受入れ
、「和」ビット(ボックスの上部から)と「桁上げ」ビ
ット(ボックスの左部から)とを出力する。各ボックス
Fは、全加算器で、3個の入力(2個の部分和デジット
と1個の下位加算器段からの桁上げビット)を受入れる
。
で、その出力にそれを出力する。各ボックスHは、半加
算器で、2個の入力(特に、部分和デジット)を受入れ
、「和」ビット(ボックスの上部から)と「桁上げ」ビ
ット(ボックスの左部から)とを出力する。各ボックス
Fは、全加算器で、3個の入力(2個の部分和デジット
と1個の下位加算器段からの桁上げビット)を受入れる
。
半加算器と同様に、各全加算器は、「和」ビットと「桁
上げ」ビットとを出力する。ボックス11は、インバー
タで、り0を受信する全加算器の出力を反転し、加算さ
れるべき「1」を生成し、この「1」は、前述した符号
反転手続きから発生する。この「1」の加算から得られ
る桁上げビットは、インバータ入力と同じ値を有する。
上げ」ビットとを出力する。ボックス11は、インバー
タで、り0を受信する全加算器の出力を反転し、加算さ
れるべき「1」を生成し、この「1」は、前述した符号
反転手続きから発生する。この「1」の加算から得られ
る桁上げビットは、インバータ入力と同じ値を有する。
3個のボックスCLは、先見桁上げ回路で、各回路は、
4個の入力yo’ zo’ xo’ xiを受信する。
4個の入力yo’ zo’ xo’ xiを受信する。
Xtは、他の入力の2倍の桁(signif’1can
ce)を有する(先頭から後方に読んで)。各先見桁上
げ回路は、1の値の5番目(図示しない)の入力も有し
、これは、(4)式の部分積の1つの最上位の1である
。この1は、先見桁上げ回路への図示する入力でも、他
の入力と図面上で加算されるものでもない。「1」は、
他の入力と加算されるべきであるという事実は、2つの
和ビットS1、S2と桁上げビットCの値を定義するプ
ール表現に分解される。この桁上げピッ+Cは、各先見
桁上げ回路により出力される。ある意味では、この1は
、他の入力と「自動的」に加算される。
ce)を有する(先頭から後方に読んで)。各先見桁上
げ回路は、1の値の5番目(図示しない)の入力も有し
、これは、(4)式の部分積の1つの最上位の1である
。この1は、先見桁上げ回路への図示する入力でも、他
の入力と図面上で加算されるものでもない。「1」は、
他の入力と加算されるべきであるという事実は、2つの
和ビットS1、S2と桁上げビットCの値を定義するプ
ール表現に分解される。この桁上げピッ+Cは、各先見
桁上げ回路により出力される。ある意味では、この1は
、他の入力と「自動的」に加算される。
特に、プール表現は、次のとうりである。
S+ −XoOyo OZ。
S2 = (XO+yo + Zo) OXr OXo
yoZ。
yoZ。
C”’ [XO+ ZOIXI + y6(XoZo+
Xljここで、+は、論理OR,(E)は、排他的OR
を表す。−膜内に、入力y。は、4個の人力のうちで最
後に到達する。その理由は、それを生成するに必要な処
理(y Oが前の先見回路により生成されるときは、特
に)の為である。桁上げビットCの関係をみると、桁上
げビットCを生成するための論理操作の大部分(例えば
、XoとZoとのOR論理)は、yoの入力を待たずに
実行できる。
Xljここで、+は、論理OR,(E)は、排他的OR
を表す。−膜内に、入力y。は、4個の人力のうちで最
後に到達する。その理由は、それを生成するに必要な処
理(y Oが前の先見回路により生成されるときは、特
に)の為である。桁上げビットCの関係をみると、桁上
げビットCを生成するための論理操作の大部分(例えば
、XoとZoとのOR論理)は、yoの入力を待たずに
実行できる。
このy。が、到着したとき、実行されるべき余分な計算
はあまり無(、かくして、回路全体の遅延は最小化でき
る。
はあまり無(、かくして、回路全体の遅延は最小化でき
る。
第2図の回路の別の利点は、部分積のデジライトは、下
から(bouom up)加算できることである。
から(bouom up)加算できることである。
これは、先見桁上げ入力の1つの値・・・先見桁上げ回
路内で(図面には明示されない)加算される1・・・は
、既知であるためである。これは、先見桁上げ回路は、
5つの入力のいずれも既知でない場合よりも少ない回路
数で実行できることを意味する。
路内で(図面には明示されない)加算される1・・・は
、既知であるためである。これは、先見桁上げ回路は、
5つの入力のいずれも既知でない場合よりも少ない回路
数で実行できることを意味する。
事実、部分積のデジットは、上から(top down
>から加算されるので、これらの1は、処理の早期段階
で加算され、先見桁上げ回路は、5個の人力を有してお
り、これらの5個の人力は、すべて未知なので、先見桁
上げ回路は、より複雑になる。
>から加算されるので、これらの1は、処理の早期段階
で加算され、先見桁上げ回路は、5個の人力を有してお
り、これらの5個の人力は、すべて未知なので、先見桁
上げ回路は、より複雑になる。
最高次の先見桁上げ回路の桁上げ出力ビットは、第2イ
ンバータI2に人力され、出力積の最高次ビットを、生
成する。そのビットの反転は、それに1を加算する効果
を有し、ここで、1は、4式の最上位部分積である。
ンバータI2に人力され、出力積の最高次ビットを、生
成する。そのビットの反転は、それに1を加算する効果
を有し、ここで、1は、4式の最上位部分積である。
更に、本発明は、乗算回路、蓄積回路にも使用され、こ
こでは、乗算の結果が、その結果の前に生成蓄積された
和と組み合わされる。°この場合、本発明によれば、回
路は、新たに蓄積された和を生成するために、現在生成
された部分積と蓄積された和を加算するのに提供される
。
こでは、乗算の結果が、その結果の前に生成蓄積された
和と組み合わされる。°この場合、本発明によれば、回
路は、新たに蓄積された和を生成するために、現在生成
された部分積と蓄積された和を加算するのに提供される
。
さらに、本発明は、修正ブース符号化を用いて、生成さ
れた部分積を組み合わせるのに使用される。
れた部分積を組み合わせるのに使用される。
事実、本発明は、いかなる状況でも応用できる。
例えば、掛は算問題(1)の2つの数の掛は算を直接実
行する回路、ここでは、組み合わされるべき2の補数の
符号ビットは、垂直に並ぶ(line up)必要はな
い。
行する回路、ここでは、組み合わされるべき2の補数の
符号ビットは、垂直に並ぶ(line up)必要はな
い。
当業者には、上記しなかった本発明を実現する種々の変
形例が考えられるが、これらは、いずれも、本発明の技
術的範囲に含まれる。
形例が考えられるが、これらは、いずれも、本発明の技
術的範囲に含まれる。
第1図は、修正ブース符号化を実施する乗算器の部分積
生成器のブロック図、 第2図は、乗算器の本発明を実施する部分積組み合わせ
回路のブロック図である。 人:アメリカン テレフォン アンド
生成器のブロック図、 第2図は、乗算器の本発明を実施する部分積組み合わせ
回路のブロック図である。 人:アメリカン テレフォン アンド
Claims (2)
- (1)複数の2の補数を加算する方法において、前記補
数の少なくとも1つの符号ビットは、異なる位置符号(
positionalsignificance)を有
し 前記複数の補数の符号ビットにより表される組み合わせ
値に等しい値を有する2の補数を生成するステップ、 前記ステップで生成された補数と前記複数の補数の非符
号ビットとを組み合わせるステップとを有することを特
徴とする加算方法。 - (2)2つの数を乗算する回路において、 2つの数に応じて、2の補数形式で部分積を生成する手
段、 前記部分積に応じて、複数の修正ずみの2の補数を組み
合わせる手段とを有し、 各2の補数は、前記部分積の関連する1つと同一で、た
だし、前記修正補数の各々において、2のビットは、関
連部分積の符号ビットを置換し、前記2つのビットの最
上位の1つを1に、第2上位の1つは、 a)最下位符号ビットを有する部分積の1つの場合、そ
の部分積の反転符号化ビットと1の和で、b)他の部分
積の場合、他の部分積の反転符号ビットである ことを特徴とする乗算回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/351,881 US5038315A (en) | 1989-05-15 | 1989-05-15 | Multiplier circuit |
US351881 | 1989-05-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH034382A true JPH034382A (ja) | 1991-01-10 |
Family
ID=23382827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2120148A Pending JPH034382A (ja) | 1989-05-15 | 1990-05-10 | 加算方法と乗算回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5038315A (ja) |
EP (1) | EP0398568A3 (ja) |
JP (1) | JPH034382A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100440869B1 (ko) * | 2001-02-19 | 2004-07-19 | 이화다이아몬드공업 주식회사 | 절단용 톱판 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0428942B1 (en) * | 1989-11-13 | 1998-06-10 | Harris Corporation | Plural-bit recoding multiplier |
US5262976A (en) * | 1989-11-13 | 1993-11-16 | Harris Corporation | Plural-bit recoding multiplier |
JPH04116720A (ja) * | 1990-09-07 | 1992-04-17 | Hitachi Ltd | 半導体装置 |
US5227989A (en) * | 1991-09-27 | 1993-07-13 | Chips And Technologies, Inc. | Arithmetic logic unit for microprocessor with sign bit extend |
US5327364A (en) * | 1991-09-27 | 1994-07-05 | Chips And Technologies Inc. | Arithmetic logic unit for microprocessor with sign bit extended |
US5195051A (en) * | 1992-03-31 | 1993-03-16 | Intel Corporation | Computation of sign bit and sign extension in the partial products in a floating point multiplier unit |
US5867414A (en) * | 1994-08-17 | 1999-02-02 | Industrial Technology Research Institute | Compact pipelined matrix multiplier utilizing encoding and shifting circuit configurations |
JPH09269891A (ja) * | 1996-04-01 | 1997-10-14 | Hitachi Ltd | 部分積加算方法および装置、浮動小数点乗算方法および装置、浮動小数点積和演算方法および装置 |
JP3678512B2 (ja) | 1996-08-29 | 2005-08-03 | 富士通株式会社 | 乗算回路、該乗算回路を構成する加算回路、該乗算回路の部分積ビット圧縮方法、および、該乗算回路を適用した大規模半導体集積回路 |
JP3417286B2 (ja) * | 1998-02-23 | 2003-06-16 | 株式会社デンソー | 乗算器 |
US6571268B1 (en) | 1998-10-06 | 2003-05-27 | Texas Instruments Incorporated | Multiplier accumulator circuits |
US7212959B1 (en) * | 2001-08-08 | 2007-05-01 | Stephen Clark Purcell | Method and apparatus for accumulating floating point values |
US10831445B1 (en) * | 2018-09-20 | 2020-11-10 | Groq, Inc. | Multimodal digital multiplication circuits and methods |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5856033A (ja) * | 1981-09-29 | 1983-04-02 | Fujitsu Ltd | 乗算回路 |
JPS62229440A (ja) * | 1986-03-31 | 1987-10-08 | Toshiba Corp | 配列乗算器 |
JPH01116764A (ja) * | 1987-10-29 | 1989-05-09 | Ricoh Co Ltd | 累積加算器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3627999A (en) * | 1969-11-28 | 1971-12-14 | Comcet Inc | Two{40 s complement negative number multiplying circuit |
US3761699A (en) * | 1972-03-28 | 1973-09-25 | Collins Radio Co | Multiplication by successive addition with two{40 s complement notation |
US4538239A (en) * | 1982-02-11 | 1985-08-27 | Texas Instruments Incorporated | High-speed multiplier for microcomputer used in digital signal processing system |
US4575812A (en) * | 1984-05-31 | 1986-03-11 | Motorola, Inc. | X×Y Bit array multiplier/accumulator circuit |
US4748582A (en) * | 1985-06-19 | 1988-05-31 | Advanced Micro Devices, Inc. | Parallel multiplier array with foreshortened sign extension |
JPS6222146A (ja) * | 1985-07-23 | 1987-01-30 | Toshiba Corp | 並列乗算器 |
US4868778A (en) * | 1987-05-19 | 1989-09-19 | Harris Corporation | Speed enhancement for multipliers using minimal path algorithm |
-
1989
- 1989-05-15 US US07/351,881 patent/US5038315A/en not_active Expired - Lifetime
-
1990
- 1990-05-04 EP EP19900304898 patent/EP0398568A3/en not_active Withdrawn
- 1990-05-10 JP JP2120148A patent/JPH034382A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5856033A (ja) * | 1981-09-29 | 1983-04-02 | Fujitsu Ltd | 乗算回路 |
JPS62229440A (ja) * | 1986-03-31 | 1987-10-08 | Toshiba Corp | 配列乗算器 |
JPH01116764A (ja) * | 1987-10-29 | 1989-05-09 | Ricoh Co Ltd | 累積加算器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100440869B1 (ko) * | 2001-02-19 | 2004-07-19 | 이화다이아몬드공업 주식회사 | 절단용 톱판 |
Also Published As
Publication number | Publication date |
---|---|
US5038315A (en) | 1991-08-06 |
EP0398568A2 (en) | 1990-11-22 |
EP0398568A3 (en) | 1992-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH034382A (ja) | 加算方法と乗算回路 | |
JPS6347874A (ja) | 算術演算装置 | |
US4878192A (en) | Arithmetic processor and divider using redundant signed digit arithmetic | |
JPH038018A (ja) | 符号付き絶対値加減算器 | |
US3711693A (en) | Modular bcd and binary arithmetic and logical system | |
JPH0619685A (ja) | 並列乗算回路 | |
JPS584369B2 (ja) | デイジツトの有効性追跡装置 | |
JPS584440A (ja) | 演算論理装置 | |
US4873660A (en) | Arithmetic processor using redundant signed digit arithmetic | |
JPS6027024A (ja) | 演算装置 | |
US3462589A (en) | Parallel digital arithmetic unit utilizing a signed-digit format | |
JPS5957343A (ja) | 加算回路 | |
JPH01220528A (ja) | パリテイ発生器 | |
JPS6222178A (ja) | 2つの複素数の乗算のための乗算器 | |
JPH056263A (ja) | 加算器およびその加算器を用いた絶対値演算回路 | |
US5724275A (en) | Fast multi-operand bit pattern detection method and circuit | |
JPH03228434A (ja) | 符号変換回路 | |
JPS58181143A (ja) | デイジタル乗算器 | |
GB2166272A (en) | Serial multiplier circuit | |
JPH061433B2 (ja) | 演算処理装置 | |
JPS5827241A (ja) | 十進演算装置 | |
JP2890412B2 (ja) | 符号変換回路 | |
JPS6349835A (ja) | 演算処理装置 | |
JP2620659B2 (ja) | 乗算器 | |
JP2620660B2 (ja) | 乗算器 |