JPS595350A - 組合わせ乗算器 - Google Patents
組合わせ乗算器Info
- Publication number
- JPS595350A JPS595350A JP58105631A JP10563183A JPS595350A JP S595350 A JPS595350 A JP S595350A JP 58105631 A JP58105631 A JP 58105631A JP 10563183 A JP10563183 A JP 10563183A JP S595350 A JPS595350 A JP S595350A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- multiplier
- output
- coded signal
- invertor
- 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.)
- Granted
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/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
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明は新規な乗数ビット対のコード化体系の採用によ
りハードウェア量を減少させた組合わせ乗算器に関する
。
りハードウェア量を減少させた組合わせ乗算器に関する
。
2進法乗算を実行するための種々の乗算器が従来より用
いられている。その1つとして通常の手計算と同じ方法
で2進乗算を行なう乗算器がある。
いられている。その1つとして通常の手計算と同じ方法
で2進乗算を行なう乗算器がある。
第1図は2つの符号なし8ビツト演算数が通常の手計算
と同じ方法で乗算されるのな説明する六二めの図である
。B(0)〜B(7)は乗数Bの各ビット、A(0)〜
A(7)は被乗数Aの各ビット、D(0)〜DQ51は
積AxBの各ビットを表わす。ここでA(0)、B(0
)及びD (0)が最下位ビット(LS)でありA(7
)、B(7)及びDQ51が最上位ピッ)(MS)を夫
々表わしでいる。
と同じ方法で乗算されるのな説明する六二めの図である
。B(0)〜B(7)は乗数Bの各ビット、A(0)〜
A(7)は被乗数Aの各ビット、D(0)〜DQ51は
積AxBの各ビットを表わす。ここでA(0)、B(0
)及びD (0)が最下位ビット(LS)でありA(7
)、B(7)及びDQ51が最上位ピッ)(MS)を夫
々表わしでいる。
乗数Bの”l”の1直をとる各々のビットについて、そ
のビット位置まで被乗数Aを左シフトしたものを部分積
としで累算する。従って部分積の最終合計が積りとなる
。
のビット位置まで被乗数Aを左シフトしたものを部分積
としで累算する。従って部分積の最終合計が積りとなる
。
演算数はしばしば2の補数で表わされる。すなわち、負
の数を表現するため、先ず演算数の”l”は°0“に、
0″は11″にそれぞれ変換され、そして最後に前記結
果に”1”が加えられる。例えば、1001の2の補数
は0110+1=0111となる。
の数を表現するため、先ず演算数の”l”は°0“に、
0″は11″にそれぞれ変換され、そして最後に前記結
果に”1”が加えられる。例えば、1001の2の補数
は0110+1=0111となる。
演算数が2の補数の場合、通常の手計算と同じ方法で2
進乗算を実行するためKは、第2図に示すように符号補
正を行なわなければならない。
進乗算を実行するためKは、第2図に示すように符号補
正を行なわなければならない。
第2図に於て、Sは符号ビットであり、S=0は正の演
算数、5==lは負の演算数を表わす。累算された部分
積は16ビツトに符号拡張され、ピッ)’5(15)が
積の符号を表わしている。乗数Bが負であればB(7)
=1となり、このビットに対応する部分積については加
算ではな(減算されなければならない。最終の部分積を
作るとき、加算のかわりに減算を用いるという特例を設
けることを回避するため、第2図?こ示される様に補正
のための減算な行なうこともできる。この減算は第2図
中の部分積の最下段に示されでいる。すなわちこの減算
では被乗数Aを上位側へ8ビツトだけシフトしで、下位
部分へ°()”を詰めで得られた数を減算する。これで
5まくいくことは以下の式で証明される。
算数、5==lは負の演算数を表わす。累算された部分
積は16ビツトに符号拡張され、ピッ)’5(15)が
積の符号を表わしている。乗数Bが負であればB(7)
=1となり、このビットに対応する部分積については加
算ではな(減算されなければならない。最終の部分積を
作るとき、加算のかわりに減算を用いるという特例を設
けることを回避するため、第2図?こ示される様に補正
のための減算な行なうこともできる。この減算は第2図
中の部分積の最下段に示されでいる。すなわちこの減算
では被乗数Aを上位側へ8ビツトだけシフトしで、下位
部分へ°()”を詰めで得られた数を減算する。これで
5まくいくことは以下の式で証明される。
=2二十2−2
演算数が2の補数表示されでいる場合の符号拡張及び補
正演算は上述の様にしで行なわれる。
正演算は上述の様にしで行なわれる。
上記°したことから理解できるように、通常の手計算と
同じ方法で行なわれる2進乗算は概念的に非常に簡単で
ある。しかし、これを実行しようとした場合、ばく大な
シフト及びマルチグレクス作業ケ必要とするので、高価
なもσ)となってしまう。
同じ方法で行なわれる2進乗算は概念的に非常に簡単で
ある。しかし、これを実行しようとした場合、ばく大な
シフト及びマルチグレクス作業ケ必要とするので、高価
なもσ)となってしまう。
この欠点を解決する1つの方法としで、A、ブーx (
Booth)によりQuarterly Journa
l of Mechanicsand Applied
Mathematicsの第4巻第2号第236〜2
40頁(1951年発行)に「符号付2進数乗算方法」
と頓されで発表されたものがある。このブースの方法を
2の補数表示された数の8ピットメ8ビツト乗算に適用
した例を第3図及び表1に示もこれらかられかる様にブ
ースの方法によれば部分積の数な半分に減少させること
ができる。この方法においでは、乗数Bの各ビット対は
夫々符号付デジットより成るコード・セラ)+2.+1
.0゜−1及び−2によってコード化され、これらは符
号拡張された被乗数Aと乗算される。また符号付ディジ
ット間キャリイ(SDC)が各ビット対間で発生する。
Booth)によりQuarterly Journa
l of Mechanicsand Applied
Mathematicsの第4巻第2号第236〜2
40頁(1951年発行)に「符号付2進数乗算方法」
と頓されで発表されたものがある。このブースの方法を
2の補数表示された数の8ピットメ8ビツト乗算に適用
した例を第3図及び表1に示もこれらかられかる様にブ
ースの方法によれば部分積の数な半分に減少させること
ができる。この方法においでは、乗数Bの各ビット対は
夫々符号付デジットより成るコード・セラ)+2.+1
.0゜−1及び−2によってコード化され、これらは符
号拡張された被乗数Aと乗算される。また符号付ディジ
ット間キャリイ(SDC)が各ビット対間で発生する。
とい5のはディジット+3は上述のディジット組から除
外されでおり、そのかわりに+4を意味するSDCと負
のデイツク)−2,−1の組合わせを用いるからである
。このディジット+3は許容されたディジット(すなわ
ちコード・セットに含まれているディジット)及びSD
C出力信号の合計によって表現される。
外されでおり、そのかわりに+4を意味するSDCと負
のデイツク)−2,−1の組合わせを用いるからである
。このディジット+3は許容されたディジット(すなわ
ちコード・セットに含まれているディジット)及びSD
C出力信号の合計によって表現される。
表 1
入力 出 力
B(2J+l) B(2J) 5DC(2J)乗数5D
C(2J+2)o o o xo 。
C(2J+2)o o o xo 。
0 0 1 刈+1) 0
0 1 0 X(+1) 00 1 1
X(+2) 0100X(−2)1 101X(−1)1 110X(−1)1 1 1 1 XO1 表1に示されたブースの符号付ディジットのコード・セ
ットの特徴は、SDC出力とSDC入力とは独立である
)すなわちSDC入力の値はSDC出力に影響を与えな
い、ということである。このコード化によって生じた各
符号付ディジットは左側にシフトされた符号拡張被乗数
と乗算され累11、′:!−れる。負の乗数(すなわち
t3(’7)=1)の符号補正は第2図に示された手計
算と同様な方法による乗算の場合と同じである。また最
後の(すなわち最上位の)ビット対からのSDC出力で
ある5DC(8)が11の場合は、第3図に示す様に、
上述の符号補正と同じく被乗数Ak左シフトしたものも
別の部分積として別途加えることが必要となる。
0 1 0 X(+1) 00 1 1
X(+2) 0100X(−2)1 101X(−1)1 110X(−1)1 1 1 1 XO1 表1に示されたブースの符号付ディジットのコード・セ
ットの特徴は、SDC出力とSDC入力とは独立である
)すなわちSDC入力の値はSDC出力に影響を与えな
い、ということである。このコード化によって生じた各
符号付ディジットは左側にシフトされた符号拡張被乗数
と乗算され累11、′:!−れる。負の乗数(すなわち
t3(’7)=1)の符号補正は第2図に示された手計
算と同様な方法による乗算の場合と同じである。また最
後の(すなわち最上位の)ビット対からのSDC出力で
ある5DC(8)が11の場合は、第3図に示す様に、
上述の符号補正と同じく被乗数Ak左シフトしたものも
別の部分積として別途加えることが必要となる。
第3図及び表1に示したブースのコード・セットを用い
で、簡単な例として、例1に8×3を2進法で表現した
乗算を示す。
で、簡単な例として、例1に8×3を2進法で表現した
乗算を示す。
8X3−24 (10進法)
入−3−00000011(2進法)
B−8−00001000(2進法)
8DOtO1−0λ−000000000000001
1B(0)−。
1B(0)−。
B(1)−0XO0
8DOt21−O
B(2)−0
B(3)−1X(−2) 1111 1111
1110 1000S DO141−1 B(4)−0 B(5)−0X(刊) 000000000011
00008T)(’X6l−O B(6)−0 B(7)−0xOO 8DOt81−0 1 0000 000
0 0001 1000オーバーフロー
−24(10進法)S D C(0)二〇と定
義されており、また表1eこ示すレタブースのコード・
セットが2の補数形式となっているので、負の乗数(例
1の場合−2)との乗算は2の補数形式で行なわなけれ
ばならな(・ことに注意され〆こい。オーツく−フロー
デイジットは積を決定する時には無視される。と(・う
のQまオーバーフローディジットは、部分積の符号を任
意に拡張することにより所望の結果を表現する部分から
いくらでも遠方・飄もっでいくことができるからである
。
1110 1000S DO141−1 B(4)−0 B(5)−0X(刊) 000000000011
00008T)(’X6l−O B(6)−0 B(7)−0xOO 8DOt81−0 1 0000 000
0 0001 1000オーバーフロー
−24(10進法)S D C(0)二〇と定
義されており、また表1eこ示すレタブースのコード・
セットが2の補数形式となっているので、負の乗数(例
1の場合−2)との乗算は2の補数形式で行なわなけれ
ばならな(・ことに注意され〆こい。オーツく−フロー
デイジットは積を決定する時には無視される。と(・う
のQまオーバーフローディジットは、部分積の符号を任
意に拡張することにより所望の結果を表現する部分から
いくらでも遠方・飄もっでいくことができるからである
。
従って、ブースのコード・セットを使用して乗算を実行
する場合は、部分積の個数を半分にすることができ、そ
の結果、部分積を累算する加算器セルの数を半分に減少
させることができる。しかし、ブースの方法には、その
コード・セットとして5つの要素+2.+1.0.−1
及び−2を必要とする欠点がある。すなわち、この方法
を用いてハードウェア乗算器を構成しようとした場合、
加算器セルへの信号入力を得るため5人力l出力マルチ
プレクサを使用しなければならない。この5人力l出力
マルチプレクサには通常8人力l出力マルチプレクサが
使用される。その結果、加算セルの数が半分ですむとい
う、コード化による〕・−ドウエアの改善は多数の大き
なマルチプレクサが必要になることによって相殺される
。
する場合は、部分積の個数を半分にすることができ、そ
の結果、部分積を累算する加算器セルの数を半分に減少
させることができる。しかし、ブースの方法には、その
コード・セットとして5つの要素+2.+1.0.−1
及び−2を必要とする欠点がある。すなわち、この方法
を用いてハードウェア乗算器を構成しようとした場合、
加算器セルへの信号入力を得るため5人力l出力マルチ
プレクサを使用しなければならない。この5人力l出力
マルチプレクサには通常8人力l出力マルチプレクサが
使用される。その結果、加算セルの数が半分ですむとい
う、コード化による〕・−ドウエアの改善は多数の大き
なマルチプレクサが必要になることによって相殺される
。
従って本発明は乗数のビット対に対してブースのコード
化方法を使用した場合の上記欠点を解決せんとするもの
であり、この目的を達成するたへ5つの要素を持・つコ
ード・セットを用いない組合わせ乗算器を提供する。す
なわち本発明においては、4つの要素しか有しない新規
なコード・セットを使用することにより、乗数のコード
化にあたって、5人力l出力マルチプレクサではなく、
4人力l出力のマルチプレクサを加算器アレイ中で効果
的に用いることができる。
化方法を使用した場合の上記欠点を解決せんとするもの
であり、この目的を達成するたへ5つの要素を持・つコ
ード・セットを用いない組合わせ乗算器を提供する。す
なわち本発明においては、4つの要素しか有しない新規
なコード・セットを使用することにより、乗数のコード
化にあたって、5人力l出力マルチプレクサではなく、
4人力l出力のマルチプレクサを加算器アレイ中で効果
的に用いることができる。
以下では先ず本発明の原理を詳細に説明する。
プ〜スのコード化体系に於て重要なことは、重み付けさ
れた入力の合計は重み付けされた出力と等しくなければ
ならないということである。前述した表1を参照すれば
理解できるよ5に、表1のSDC入力である5DC(2
J)はビット対の下位ビットであるB(2J)と同じ重
みを持つ。ビット対中の上位ビットであるB(2J+1
)は、B (J)や符号付ディジット乗数セットの2倍
の重みを持つ。またSDC出力である5DC(2J+2
)はB(2J)の4倍の重みを持つ。すなわち、コ−ド
化体系を示す表1の各列に於て、3つの重み付き人力の
合計は2つの重み付き出力の合計と等シフ(・。例えば
、表1の5行目は次の等式を満lこしでいる。
れた入力の合計は重み付けされた出力と等しくなければ
ならないということである。前述した表1を参照すれば
理解できるよ5に、表1のSDC入力である5DC(2
J)はビット対の下位ビットであるB(2J)と同じ重
みを持つ。ビット対中の上位ビットであるB(2J+1
)は、B (J)や符号付ディジット乗数セットの2倍
の重みを持つ。またSDC出力である5DC(2J+2
)はB(2J)の4倍の重みを持つ。すなわち、コ−ド
化体系を示す表1の各列に於て、3つの重み付き人力の
合計は2つの重み付き出力の合計と等シフ(・。例えば
、表1の5行目は次の等式を満lこしでいる。
1xi21+ Oxfll+ Oxtll= I X
(−2) +1 xt4)本発明は上記委件を満足すべ
く、例えば第4図と表2に示しtこような、4つの要素
しか持たない新規/Cコード化体系を形成し、これに基
いて新規な組合わせ乗眸器を与えるものである。
(−2) +1 xt4)本発明は上記委件を満足すべ
く、例えば第4図と表2に示しtこような、4つの要素
しか持たない新規/Cコード化体系を形成し、これに基
いて新規な組合わせ乗眸器を与えるものである。
表 2
人 力 出 力B
(2J+l) B(2J) 5DC(2J) 乗数
5DC(2J+2>0 0 0 XOO o o l X(+1) 0 0 1 0 X(刊) 00 1 1
X(+2) 0 1toX(−1)1 1 1 1 XO1 表2のコード化体系で用いろJする符号付デジット・セ
ットは、表1の第5行目を変更することによりて、要素
の数が、+2.+1.0.−1の4つに減少しでいる。
(2J+l) B(2J) 5DC(2J) 乗数
5DC(2J+2>0 0 0 XOO o o l X(+1) 0 0 1 0 X(刊) 00 1 1
X(+2) 0 1toX(−1)1 1 1 1 XO1 表2のコード化体系で用いろJする符号付デジット・セ
ットは、表1の第5行目を変更することによりて、要素
の数が、+2.+1.0.−1の4つに減少しでいる。
このコード化体系の利点は、アレイ中で被乗数を(−2
)倍したものな使用する必要がなくなり、その結果、各
アレイ・セル中で4人力1出力のマルチプレクサを効果
的に用いてコード化処理を行なうことができるようにな
ることである。しかし、この新しい構成により新たにも
たらされる欠点としで、ブースの方式とは踵なり、SD
C出力がSDC入力の関数になってしまうということが
あげられる。単純に考えれば、これにより、乗数の各ピ
ット対のコード化の過程でSDCが全ビット対を通しで
伝搬しでいかなければならないから、乗算の性能に悪影
響がある様に見えるかもしれない。しかし好都合なこと
に、部分積を累算しでいく過程で、この部分積自体がア
レイ中の加算器の並びから成る各加算段間を次々に伝搬
しでいかなければならない。従って、SDCの伝搬はこ
の部分積の伝搬時間内で終了しでしまうため、本発明の
新規な構成によって不利益かもtこらされることはない
。
)倍したものな使用する必要がなくなり、その結果、各
アレイ・セル中で4人力1出力のマルチプレクサを効果
的に用いてコード化処理を行なうことができるようにな
ることである。しかし、この新しい構成により新たにも
たらされる欠点としで、ブースの方式とは踵なり、SD
C出力がSDC入力の関数になってしまうということが
あげられる。単純に考えれば、これにより、乗数の各ピ
ット対のコード化の過程でSDCが全ビット対を通しで
伝搬しでいかなければならないから、乗算の性能に悪影
響がある様に見えるかもしれない。しかし好都合なこと
に、部分積を累算しでいく過程で、この部分積自体がア
レイ中の加算器の並びから成る各加算段間を次々に伝搬
しでいかなければならない。従って、SDCの伝搬はこ
の部分積の伝搬時間内で終了しでしまうため、本発明の
新規な構成によって不利益かもtこらされることはない
。
上記の新しいコード化体系を用いた簡単な例を例2に示
す。例1と同様、例2も8X3の乗算を2、進法で行な
うものである。
す。例1と同様、例2も8X3の乗算を2、進法で行な
うものである。
例 2
800(01−0人−000000000000001
1B+0l−O B(1)−〇 ×00 SDO(21−O B(21−O 8(31−I K(+2) 00000000000
110008DOt41−O B10)−0 B(51−OXOO 8D(]]6l− OT6+−0 Bi12−Oxo 0 8DO18)−00000000000011000−
24(10進法) 以下、図面を用いて本発明の実施例を詳細に説明する。
1B+0l−O B(1)−〇 ×00 SDO(21−O B(21−O 8(31−I K(+2) 00000000000
110008DOt41−O B10)−0 B(51−OXOO 8D(]]6l− OT6+−0 Bi12−Oxo 0 8DO18)−00000000000011000−
24(10進法) 以下、図面を用いて本発明の実施例を詳細に説明する。
本発明に・かかる、8ビツト×8ビツトの組合わせ乗算
器の全体のブロック図な第5A図乃至第5C図に示す。
器の全体のブロック図な第5A図乃至第5C図に示す。
第5図は第5A図乃至第5C図の接続図である。また表
2に示されtこコード化体系にのっとって構成された第
5A図乃至第50図中の簡明ブロックの動作を示す論理
式ケまとめで表3に示す。これらの図においで8ビツト
の演算数はA(7)乃至A(0)及びB(7)乃至B(
0)で表わされる。入力TCA、TCBは夫々演算数A
、Bが2の補数である(=l)か又は符号なしか(二〇
)を示している。乗算の16ビツトの結果はDf1□□
□乃至D(0)で表わされ、またブロックFADD及び
ブロックHADDは夫々通常の全加算器及び半加算器で
ある。信号XPl、XP2.XM+は同時には1つだけ
が”1”になり、対応する乗数のピット対のコード化に
よって選択された乗数のディジットが夫々X(+1 )
、X(+2 ) 、X(−1)であることを示すもの
である。また表3における演算記号”・”、”+”、”
申”は夫々論理積、論理和、排他的論理和を表わす。
2に示されtこコード化体系にのっとって構成された第
5A図乃至第50図中の簡明ブロックの動作を示す論理
式ケまとめで表3に示す。これらの図においで8ビツト
の演算数はA(7)乃至A(0)及びB(7)乃至B(
0)で表わされる。入力TCA、TCBは夫々演算数A
、Bが2の補数である(=l)か又は符号なしか(二〇
)を示している。乗算の16ビツトの結果はDf1□□
□乃至D(0)で表わされ、またブロックFADD及び
ブロックHADDは夫々通常の全加算器及び半加算器で
ある。信号XPl、XP2.XM+は同時には1つだけ
が”1”になり、対応する乗数のピット対のコード化に
よって選択された乗数のディジットが夫々X(+1 )
、X(+2 ) 、X(−1)であることを示すもの
である。また表3における演算記号”・”、”+”、”
申”は夫々論理積、論理和、排他的論理和を表わす。
表3に於て、論理ブロックLlは演算数A(即ち被乗数
)の倍数AX(+2)、Ax(+t)、AX(0)又は
AX(−1)のうち1つを選択するためのマルチプレク
ナである。この倍数は、アレイ中で単に桁送り、補数演
算又はマスキング操作を行なうことにより発生される。
)の倍数AX(+2)、Ax(+t)、AX(0)又は
AX(−1)のうち1つを選択するためのマルチプレク
ナである。この倍数は、アレイ中で単に桁送り、補数演
算又はマスキング操作を行なうことにより発生される。
表2においで、ディジット・セットの要素な0.±1.
+2に選んだのは、この様に倍数発生を簡単に行なうた
めである。論理ブロックし20機能は、倍数AX2の最
上位ビットを生成することで、このピット位置は下で説
明する論理ブロックL3が生成するピッ) B I T
(2J)と同じである。
+2に選んだのは、この様に倍数発生を簡単に行なうた
めである。論理ブロックし20機能は、倍数AX2の最
上位ビットを生成することで、このピット位置は下で説
明する論理ブロックL3が生成するピッ) B I T
(2J)と同じである。
論理ブロックL3は表2に示された新規な符号付きディ
ジット・コード化の機能を組込んでいる。
ジット・コード化の機能を組込んでいる。
この部分については表3には対応する論理式を示しでは
いないが、表2より自明である。論理ブロックL3はま
た各部分積を16ビツトに符号拡張する。信号MINU
S(J)は下位のビット対によって発生された部分積の
うち少なくとも1つは負であることを示す。この信号は
乗数のビット対から発生されてどの倍数を選択するかを
示す信号のうちXP2(J)、XMI(J)、XPI(
J)と結合され、信号BIT(2J)及びBIT(2J
+1) を発生ずる。これら2つの信号は、すでに下
位で発生された釜での部分積の拡張された符号と完全に
結合された各部分積の実効的な符号拡張である。論理ブ
ロックL4及びLSは演算数Bが負の場合の補正及び最
上位のビット対からの桁上げ出力5DC(s)=iの場
合の補正を行なう。この補正についでは第3図を用いて
説明した従来技術のものと同じである。また論理ブロッ
クL6はAx(−1)なる倍数を作るときの2つの補数
化、すなわち論理ブロックLlによって作られたlの補
数に加えるための′1”を発生するものである。また論
理ブロックL7は倍数AX2’に発生するtこめのlビ
ットの左シフトを行なうときの右端に補充するピットを
生成するものである。
いないが、表2より自明である。論理ブロックL3はま
た各部分積を16ビツトに符号拡張する。信号MINU
S(J)は下位のビット対によって発生された部分積の
うち少なくとも1つは負であることを示す。この信号は
乗数のビット対から発生されてどの倍数を選択するかを
示す信号のうちXP2(J)、XMI(J)、XPI(
J)と結合され、信号BIT(2J)及びBIT(2J
+1) を発生ずる。これら2つの信号は、すでに下
位で発生された釜での部分積の拡張された符号と完全に
結合された各部分積の実効的な符号拡張である。論理ブ
ロックL4及びLSは演算数Bが負の場合の補正及び最
上位のビット対からの桁上げ出力5DC(s)=iの場
合の補正を行なう。この補正についでは第3図を用いて
説明した従来技術のものと同じである。また論理ブロッ
クL6はAx(−1)なる倍数を作るときの2つの補数
化、すなわち論理ブロックLlによって作られたlの補
数に加えるための′1”を発生するものである。また論
理ブロックL7は倍数AX2’に発生するtこめのlビ
ットの左シフトを行なうときの右端に補充するピットを
生成するものである。
表 3
論理ブロックLI
Ll(K、J) −(XP2(J)−A(K−1))
+(XPI(J)−A(K))+(XMI(J)・人(
K)〕 論理ブロックL2 L2(2J) −(XP2(J)−A(?))論理ブ
ロックL3 NgGA −TOA・人(7) BIT(2J+1)−CMINUS(J)のP〕十区F
囲(、■)・Q〕BIT(2J)−MINU8(J)C
DQMINUS(、I+1) −MINtJ8(J
)+P+Q論理ブロックL4. LS、 LS、 L7
NEGB −TOB−87 L4(K) −CNEoB$5no(s))・(N
goBaA(K))LS −NEGB−8D
O(8)LS(,1) −XMI(J) Ll<y> −A(−1)−0 以上で説明した新しいコード化体系を用いた乗算器のア
レイ・セルの一例の回路図を第6図に示す。第6図に示
される様に、アレイ・セルは1つの全加算器100と4
人力1出力マルチプレクサ110かも構成されている。
+(XPI(J)−A(K))+(XMI(J)・人(
K)〕 論理ブロックL2 L2(2J) −(XP2(J)−A(?))論理ブ
ロックL3 NgGA −TOA・人(7) BIT(2J+1)−CMINUS(J)のP〕十区F
囲(、■)・Q〕BIT(2J)−MINU8(J)C
DQMINUS(、I+1) −MINtJ8(J
)+P+Q論理ブロックL4. LS、 LS、 L7
NEGB −TOB−87 L4(K) −CNEoB$5no(s))・(N
goBaA(K))LS −NEGB−8D
O(8)LS(,1) −XMI(J) Ll<y> −A(−1)−0 以上で説明した新しいコード化体系を用いた乗算器のア
レイ・セルの一例の回路図を第6図に示す。第6図に示
される様に、アレイ・セルは1つの全加算器100と4
人力1出力マルチプレクサ110かも構成されている。
4人力1出力マルチプレクサ110は演算数Aの(+2
)倍、(+1)倍、(−1)倍、0倍である信号人−1
,λ、 A 、B5l0?選択するために使用されでい
る。なお第5A図乃至第5C図のブロック図で、演算数
Aの倍数を選択するための信号XP2.XPI、XO,
XMIはマルチプレクサ110においではコード化され
た選択制御信号BSELo、BSEL、としで示されて
いもこのマルチプレクサ110には伝送ゲート用のNM
OSダハイス120及ヒPMOSテバイス122カ(レ
ベル復元用のインバータ130と一緒に)用いられてい
るので、3個のNMOSデバイス120,3個のPMO
Sデバイス122、及び選択制御信号BSELo、BS
F!JL。
)倍、(+1)倍、(−1)倍、0倍である信号人−1
,λ、 A 、B5l0?選択するために使用されでい
る。なお第5A図乃至第5C図のブロック図で、演算数
Aの倍数を選択するための信号XP2.XPI、XO,
XMIはマルチプレクサ110においではコード化され
た選択制御信号BSELo、BSEL、としで示されて
いもこのマルチプレクサ110には伝送ゲート用のNM
OSダハイス120及ヒPMOSテバイス122カ(レ
ベル復元用のインバータ130と一緒に)用いられてい
るので、3個のNMOSデバイス120,3個のPMO
Sデバイス122、及び選択制御信号BSELo、BS
F!JL。
用の2本の金属配線のみしか必要としない。なお選択制
御信号BSEL、はまた演算数A00倍の直、オつ すな〆・ち”0”、す辱えるための信号としでも使用さ
れでいる。この簡潔な回路は、5つの符号付ディジット
を有する従来のコード化体系を用いる場合には、使用で
きない。
御信号BSEL、はまた演算数A00倍の直、オつ すな〆・ち”0”、す辱えるための信号としでも使用さ
れでいる。この簡潔な回路は、5つの符号付ディジット
を有する従来のコード化体系を用いる場合には、使用で
きない。
4人力l出力マルチプレクサ110の出力125はレベ
ル復元用のインバータ130で反転されて全加算器10
00入力信号Xinを形成する。全加算器100におい
ではNMOSデバイス14Q、PMOSデバイス142
及びイ/パータ150.レベル復元用のインバータ17
0により構成される排他的論理和回路により1つ上のア
レイ・セルの行からの桁上げ入力信号Cinと入力信号
Xin との排他論理和がとられる。この排他論理和
信号は、2個のNMOSデバイス160.2個のPMO
Sデバイス162、及びインバータ180から構成され
る2つの2人力1出カマルチプレクサを制御する。この
マルチプレクサにより排他的論理相信号は−Eのアレイ
・セルの行からの和出力Sinと結合されレベル復元用
のインバータ190を通ることにより、この行の和信号
5out、桁上げ信号Cout (1ビツト)になる
。なお第6図中の線S+1.8+2及びC+1はアレイ
内の高位ビット側からの和及び桁上げ信号であり、単に
このアレイ・セル内を通過するのみである。
ル復元用のインバータ130で反転されて全加算器10
00入力信号Xinを形成する。全加算器100におい
ではNMOSデバイス14Q、PMOSデバイス142
及びイ/パータ150.レベル復元用のインバータ17
0により構成される排他的論理和回路により1つ上のア
レイ・セルの行からの桁上げ入力信号Cinと入力信号
Xin との排他論理和がとられる。この排他論理和
信号は、2個のNMOSデバイス160.2個のPMO
Sデバイス162、及びインバータ180から構成され
る2つの2人力1出カマルチプレクサを制御する。この
マルチプレクサにより排他的論理相信号は−Eのアレイ
・セルの行からの和出力Sinと結合されレベル復元用
のインバータ190を通ることにより、この行の和信号
5out、桁上げ信号Cout (1ビツト)になる
。なお第6図中の線S+1.8+2及びC+1はアレイ
内の高位ビット側からの和及び桁上げ信号であり、単に
このアレイ・セル内を通過するのみである。
この様に新規なコード化体系を用いた本発明の組合わせ
乗算器においでは、第6図に示す様なアレイ・セルを単
に繰り返すことにより乗算器全体を容易に小型化するこ
とができ、2進法乗算器を最小限のハードウェアで構成
することができる。
乗算器においでは、第6図に示す様なアレイ・セルを単
に繰り返すことにより乗算器全体を容易に小型化するこ
とができ、2進法乗算器を最小限のハードウェアで構成
することができる。
なお当業者には容易に理解できるように、組合わせ乗算
器用の他の4つの要素を用いたコード化体系も、特に発
明的段階を踏むことなく、前述の方法を用いて実現する
ことができる。
器用の他の4つの要素を用いたコード化体系も、特に発
明的段階を踏むことなく、前述の方法を用いて実現する
ことができる。
第1図は通常の手計算と同じ方法で行なわれる2進乗算
を説明する図、第2図は通常の手計算と同じ方法で行な
われる2の補数表示の2進乗算を説明する図、第3図は
従来技術であるブースの方法による2進乗算を説明する
図、第4図は本発明の組合わせ乗算器による2進乗算を
説明する図、ための接続図、第6図は本発明の組合わせ
乗算器に使用されるアレイ・セルの一例を示す回路図で
ある。
を説明する図、第2図は通常の手計算と同じ方法で行な
われる2の補数表示の2進乗算を説明する図、第3図は
従来技術であるブースの方法による2進乗算を説明する
図、第4図は本発明の組合わせ乗算器による2進乗算を
説明する図、ための接続図、第6図は本発明の組合わせ
乗算器に使用されるアレイ・セルの一例を示す回路図で
ある。
A、B:演算数、 ド人DD:全加算器、HADD :
半加算器、Ll 、L2,1,3.L4.L5゜L6:
論理ブロック、 100:全加算器、110 : 4
人力l出力マルチブレフサ、120.140,160
: NMOSデバイス122.142.162 : P
MOSデバイス。
半加算器、Ll 、L2,1,3.L4.L5゜L6:
論理ブロック、 100:全加算器、110 : 4
人力l出力マルチブレフサ、120.140,160
: NMOSデバイス122.142.162 : P
MOSデバイス。
Claims (1)
- 【特許請求の範囲】 10 第1の2進数を2ビツト毎に区切ったビット対
に対応して設けられ第1のコード化信号及び4通りの1
直をとり得る第2のコード化信号を発生する複数のコー
ド化手段を有し、 前記コード化手段の各々は下位側の前記ビット対に対応
して発生された前記第1のコード化信号及び対応するビ
ット対とを入力する様に構成され、 前記ビット対毎に設けられ前記第2のコード化信号及び
第2の2進数を入力して部分積を出力する手段と、 前記部分積を累算する手段 とを有し、前記第1及び第2の2進数を乗算する組合わ
せ乗算器。 (2、特許請求の範囲第1項記載の組合わせ乗算器にお
いて、 最下位の前記ビット対に対応する前記コード化手段に対
しで与えられる前記第1のコード化信号を発生する手段
と、 最上位の前記ビット対に対応する前記コード化手段から
出力される前記第1のコード化信号及び前記第2の2進
数を入力して部分積を発生する手段と、 前記部分積の各々について符号拡張を行なう手段と、 前記第1の2進数の符号による補正演算を行な5手段 とを設げたことを特徴とする組合わせ乗算器。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/394,234 US4495593A (en) | 1982-07-01 | 1982-07-01 | Multiple bit encoding technique for combinational multipliers |
| US394234 | 1982-07-01 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS595350A true JPS595350A (ja) | 1984-01-12 |
| JPH0160858B2 JPH0160858B2 (ja) | 1989-12-26 |
Family
ID=23558105
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58105631A Granted JPS595350A (ja) | 1982-07-01 | 1983-06-13 | 組合わせ乗算器 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4495593A (ja) |
| EP (1) | EP0098685B1 (ja) |
| JP (1) | JPS595350A (ja) |
| DE (1) | DE3380149D1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6383834A (ja) * | 1986-09-29 | 1988-04-14 | Toshiba Corp | 乗算器 |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4577282A (en) | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
| DE3280481D1 (de) * | 1982-02-11 | 2000-04-13 | Texas Instruments Inc | Mikrorechnersystem für digitale Signalprozessoren |
| US4887233A (en) * | 1986-03-31 | 1989-12-12 | American Telephone And Telegraph Company, At&T Bell Laboratories | Pipeline arithmetic adder and multiplier |
| US4768161A (en) * | 1986-11-14 | 1988-08-30 | International Business Machines Corporation | Digital binary array multipliers using inverting full adders |
| US4887232A (en) * | 1987-05-15 | 1989-12-12 | Digital Equipment Corporation | Apparatus and method for performing a shift operation in a multiplier array circuit |
| KR920003908B1 (ko) * | 1987-11-19 | 1992-05-18 | 미쓰비시뎅끼 가부시끼가이샤 | 승산기(乘算器) |
| US5170371A (en) * | 1988-03-31 | 1992-12-08 | Darley Henry M | Method and apparatus for rounding in high-speed multipliers |
| US5144576A (en) * | 1989-09-05 | 1992-09-01 | Cyrix Corporation | Signed digit multiplier |
| JPH0573604A (ja) * | 1991-09-13 | 1993-03-26 | Sony Corp | 内積演算回路 |
| EP0840207A1 (en) * | 1996-10-30 | 1998-05-06 | Texas Instruments Incorporated | A microprocessor and method of operation thereof |
| US6183122B1 (en) * | 1997-09-04 | 2001-02-06 | Cirrus Logic, Inc. | Multiplier sign extension |
| US6708193B1 (en) * | 2000-02-21 | 2004-03-16 | Hewlett-Packard Development Company, L.P. | Linear summation multiplier array implementation for both signed and unsigned multiplication |
| US20040010536A1 (en) * | 2002-07-11 | 2004-01-15 | International Business Machines Corporation | Apparatus for multiplication of data in two's complement and unsigned magnitude formats |
| US20050228845A1 (en) * | 2004-04-12 | 2005-10-13 | Mathstar, Inc. | Shift and recode multiplier |
| KR100852220B1 (ko) * | 2006-12-08 | 2008-08-13 | 한국전자통신연구원 | 가변길이 다중비트 코딩을 이용하여 최소 부호수를 구하는방법 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1053686A (ja) * | 1964-07-22 | |||
| DE2647262A1 (de) * | 1975-11-04 | 1977-05-05 | Motorola Inc | Multiplizierschaltung |
| US4110832A (en) * | 1977-04-28 | 1978-08-29 | International Business Machines Corporation | Carry save adder |
| US4153938A (en) * | 1977-08-18 | 1979-05-08 | Monolithic Memories Inc. | High speed combinatorial digital multiplier |
-
1982
- 1982-07-01 US US06/394,234 patent/US4495593A/en not_active Expired - Fee Related
-
1983
- 1983-04-18 DE DE8383302169T patent/DE3380149D1/de not_active Expired
- 1983-04-18 EP EP83302169A patent/EP0098685B1/en not_active Expired
- 1983-06-13 JP JP58105631A patent/JPS595350A/ja active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6383834A (ja) * | 1986-09-29 | 1988-04-14 | Toshiba Corp | 乗算器 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE3380149D1 (en) | 1989-08-10 |
| US4495593A (en) | 1985-01-22 |
| JPH0160858B2 (ja) | 1989-12-26 |
| EP0098685A2 (en) | 1984-01-18 |
| EP0098685B1 (en) | 1989-07-05 |
| EP0098685A3 (en) | 1986-05-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5262976A (en) | Plural-bit recoding multiplier | |
| KR100591761B1 (ko) | 몽고메리 모듈러 곱셈기 및 캐리 저장 가산을 이용한몽고메리 모듈러 곱셈 방법 | |
| JPH0934688A (ja) | 遅延整合技術の利用によりクリティカル・パスを減少させた浮動小数点型掛け算器及びその演算方法 | |
| US5751619A (en) | Recurrent adrithmetical computation using carry-save arithmetic | |
| JPH0160858B2 (ja) | ||
| US4366549A (en) | Multiplier with index transforms modulo a prime or modulo a fermat prime and the fermat prime less one | |
| US4346451A (en) | Dual moduli exponent transform type high speed multiplication system | |
| EP0428942B1 (en) | Plural-bit recoding multiplier | |
| CA2530015C (en) | Division and square root arithmetic unit | |
| US4677583A (en) | Apparatus for decimal multiplication | |
| KR100627993B1 (ko) | 3입력 분할 가산기 | |
| JPS5981737A (ja) | 乗算器 | |
| JPS58137045A (ja) | 並列乗算器 | |
| US7194498B2 (en) | Higher radix multiplier with simplified partial product generator | |
| JPH0326114A (ja) | 乗算剰余演算器 | |
| JP2606326B2 (ja) | 乗算器 | |
| JP3106767B2 (ja) | 乗算方法及び乗算回路 | |
| JPH0368415B2 (ja) | ||
| JP4042215B2 (ja) | 演算処理装置およびその方法 | |
| Seidel | High-Performance Multiplication Modulo 2 n–3 | |
| Hiasat | Arithmetic binary to residue encoders for moduli (2 n±2 k+ 1) | |
| JPH0527948A (ja) | 演算装置 | |
| Murthy et al. | Modulo 2n±1 adder/subtractors for DSP applications | |
| JPH1115641A (ja) | 冗長2進加算器を用いた乗算装置 | |
| JPH09120355A (ja) | 部分積発生回路 |