JPS6047609B2 - 乗算回路 - Google Patents

乗算回路

Info

Publication number
JPS6047609B2
JPS6047609B2 JP55107715A JP10771580A JPS6047609B2 JP S6047609 B2 JPS6047609 B2 JP S6047609B2 JP 55107715 A JP55107715 A JP 55107715A JP 10771580 A JP10771580 A JP 10771580A JP S6047609 B2 JPS6047609 B2 JP S6047609B2
Authority
JP
Japan
Prior art keywords
output
shift register
register
bit
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP55107715A
Other languages
English (en)
Other versions
JPS5734247A (en
Inventor
勝彦 上田
隆 坂尾
利幸 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP55107715A priority Critical patent/JPS6047609B2/ja
Publication of JPS5734247A publication Critical patent/JPS5734247A/ja
Publication of JPS6047609B2 publication Critical patent/JPS6047609B2/ja
Expired 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
    • 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/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction 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/5336Reduction 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/5338Reduction 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)

Description

【発明の詳細な説明】 本発明は、クロック制御で2進乗算を行う乗算回路に関
するものである。
2の補数の、nビットの被乗数Xと、mビット・の乗数
Yは、次式で表現される。
X:ー xn2・−1+、Σx、2゛ ゜゜゜(1)Y
■−ym2m−1+、Σxj2J・・・(2)]■Oフ
被乗数xと乗数Yとの積、P■XYを求める方法として
、直列方式、並列方式が考案されている。
前者の方式は、ハードウェア量が少ないという利点の反
面、積を得るのにm+ nクロックを要するという欠点
をもつ。また後者の方式は、高速で積5が求まるという
利点の反面、ハードウェア量が多いこと及び消費電力の
点で問題がある。一方乗算回路をマークフロセッサーに
接続したり、あるいは、マイクプロセッサーと共に同一
チップ上に製作する場合、乗算回路に要求される仕様と
しては、ただ単に高速演算可能ということではなく、マ
イクプロセッサーの1命令実行時間内に乗算を実行し、
しかも、乗算回路のハードウェア量及び消費電力が小さ
いということである。本発明は、上記に示したような仕
様を満足する乗算回路を実現するためになされたもので
、直列方式よりも少ないクロック数で、しかも並列方式
よりも少ないハードウェア量及び消費電力で乗算を実行
することを可能にしている。
以下本発明の実施例を説明する。
被乗数X1乗数Y1ともに8ビットの場合を例にとつて
、以下説明を行う。
すなわちX,Yはそれぞ゛れと表現される。
ここでX7,y7は、符号ビットであ2り、負数を表現
するときは1、正数を表現する時はOとなる。(4)式
は、次に示すように展開できる。そこで、積P=XYを
(5)式を用いて求めると、k←o轟KlUとなる。
ここで、である。
そこで、積Pを求めるには、(6)式で示さ.れる部分
積Pkを求めた後、これを(5)式に示すように加算す
ればよい。以上はブースのアルゴリズムと呼ばれるもの
である。本発明では、(6)式の部分積巳を1クロック
毎に求めると共に加算を行い、結果を累積してゆっき、
4クロックで結果を得ることができる。
第1図は、本発明の一実施例を示す図である。(3)式
に示した被乗数xは、レジスター1にラッチされる。ま
た、(4)式に示した乗数Yは、シフトレジスター2、
シフトレジスター3にラッチされる。ラッチされるタイ
ミングは、タイミング発生回路4で生成されるクロック
aで行われ、第2図に示すように、タイミングT。で行
われる。シフ; トレジスター2は、5ビットのシフト
レジスターであり、(4)式で示した乗数Yのうち、Y
7,y5,y3,yl及び、恒等的に0であるy−1が
〔Y7,y,,y3,yl,y−1〕という並びで、タ
イミングT。でラッチされる。シフトレジスター3は、
4ビットのシつフトレジスターであり、(4)式で示し
た乗数Yのうち〜Y69y49y29yOが)〔Y6!
Y49y2ツYO〕という並びで、タイミングT。でラ
ッチされる。シフトレジスター2、シフトレジスター3
には、タイミング発生回路4からクロックbが、シフト
クロックとして入力され、第2図に示すタイミングTl
,T2,T3でシフトが行われる。そこで(シフトレジ
スター2のLSBlシフトレジスター3のU弔、シフト
レジスター2のLSBよりひとつ上位のビット)という
3ビットの組を考えると、タイミングTO9Tl9T2
9T3で(y−19y09y1)9(Yl9y29y3
)9(Y3,y4,y5),(Y5,y6,y7)とい
う出力が得られる。これらの出力及びレジスター1の出
力、すなわち被乗数Xは部分積生成回路5に接続されて
いる。部分積生成回路5の一構成例を第3図に示す。第
3図の部分積生成回路において、(Y2k+1,y2,
,y2k−1)が(0,0,0)あるいは、(1,1,
1)の時、出力DkはOとなる。
(Y2k+1,y2k,y2k−1)が(0,0,1)
あるいは(0,1,0)の時、出力D,はXとなる。(
Y2k+1,y2k,y21.−1)が(0,1,1)
の時、被乗数xは左に1ビットシフトされて出力される
ので、出力Dkは△となる。(Y2k+,,Y2!.,
Y2k−1)が(1,0,0)の時、被乗数Xは、反転
された卜、左に1ビットシフトされる。そこで出力Dk
は、となる。
(Y2k+1,y2k,y2!.−1)が(1,0,1
)あるいは(1,1,0)の時、被乗数Xは、反転して
出力されるので、出力Dkは、− A1 1 となる。
以上をまとめると、部分積生成回路5の出力Dkはと表
わされる。
ここでCkはv』t〜,,J4=ーi騙?rl−.曙A
16hnで求められる〒あり、(Y2k+19y2k9
y2k−1)が(1,0,0),(1,0,1),(1
,1,0)の時にのみ1となる。
そこで、これらの時に1を加えて補正をすること、及び
、重み22kを別の方法で補正することにすれば、(6
)式と(9)式は同じも−のとなる。すなわちブースの
アルゴリズムが適用できる。部分積生成回路5の出力C
kは、(1a式に従つて1あるいはOを出力するが、こ
れは上に述べた補正のために使用される。これらの補正
については、後で述べる。タイミングT。
,Tl,T2,T3,で、(9)式に従つて得られる部
分積生成回路の出力は、9ビット長のCLA(Carr
y肪0kAhead)加算器6、7ビット長のレジスタ
ー7、3ビット長のシフトレジスター8、3ビット長の
シフトレジスター9によつて、次に示すように累積加算
される。タイミングTOで、クロックaにより、レジス
ター7の内容はOにリセットされる。また同じタイミン
グで、部分積生成回路5の入力は、(Yl,yO,y−
1)となるので、出力端子Dk及び出力端子Ckからは
、それぞれ(9)式、(10)式に従つて(JO−y1
\1J0J−1ノ が出力される。
一方出力端子Ckは、CLA加算器のキャリー入力に接
続されている。そこで、タイミングT1までの間に、C
LA加算器6で N′身鞠ナ
′1A〜メ→イ)− \J−1IJVUJエノ乃加
算が行われる。
A3)式は(6)式でk=0の時の値こ等しい。すなわ
ち、部分積P。が求まる。部分積゛oは、第4図に示す
ように、9ビットとなるが、タイミングT1でLSBは
シフトレジスター8に、5SBよりひとつ上位の桁はシ
フトレジスター9に、クロックbによりそれぞれシフト
インされる。また上位7ビットは、同じくクロックbに
よりレジスター7にラッチされる。タイミングT1で、
部分積生成回路5の入力は(Y3,y2,yl)となる
ので、出力端子Dk及び出力端子C,からは、それぞれ
(9)式、QO)式に従つて
ハ ーー′1A)し1:Y
3(1−y1 ”Y2ノ
、一ー5が出力される。
一方出力端子C,は、CLA加算器6のキャリー入力に
接続されており、また、レジスター7のデータは2ビッ
ト符号延長して、CLA加算器に入力される。そこで、
タイミングT2までの間に、CLA加算器6で
H.J上山−?11n)六七)―ム
11& (ム ^vゞ5上YV『2(P1は(6)式で
k=1とおいたもの)の加算が行われる。
第4図に示すように、σ6)式で)求められる値の?B
の重みはfである。また、部分積P。(7)LSB及び
LSBよりひとつ上位のビットは、それぞれシフトレジ
スター8、シフトレジスター9に格納されているので、
タイミングT2の直前までには、第4図に示すようにが
実行されたことになる。
タイミングT2で、先程と同様にして、CLA加算器6
の出力のうち、LSBはシフトレジスター8に、LSB
よりひとつ上位のビットはシフトレジスター9に、クロ
ックbによりシフトインされる。また上位7ビットは同
じくクロックbによりレジスター7にラッチされる。タ
イミングT2で、部分積生成回路6の入力は、(Y5,
y4,y3)となるので、出力端子DIC及び出力端子
C,からは、それぞれ(9)式、00式に従つて、が出
力される。
そして先程と同様にして、CLI″加算器6で(P2は
(6)式でk=2とおJバー社の) ゛一″の加算
が行われる。
一方P。+P1の下位4ビットは、既にシフトレジスタ
ー8,9に格納されているのでタイミング丁3の直前ま
でには、第4図に示すように、が実行されたことになる
タイミングT3の時も、先程と同様の事を行うので、タ
イミングT4の直前までには、第4図に示すようにが実
行、すなわち(5)式が実行されたことになり、積P=
X−Yが求まる。
ここで積Pを 1?υ とあられすと、タイミングT4の時点で、シフトレジス
ター8には、4,Z2,Z4が〔Z4,Z2,4〕とい
う並びで、シフトレジスター9には、Zl,4,4が〔
Z5,Z3,Zl〕という並びでそれぞれ格納されてい
る。
そこで、シフトレジスター8,9と、出力バッファー1
0との間の接続を調整することにより、出力バッファー
10の出力端子からは(20)式に示した値が、正しい
並びで得られる。以上は、8ビット×8ビットの場合を
例にとつ5て説明を行つたが、他のビット数の場合も、
レジスター、部分積生成回路、CLA加算器、出力バッ
ファーのビット長、及びタイミング発生回路の出力であ
るクロックbを調整することにより、同様に乗算器が構
成できる。
4・以上説明したように、本発明
によれば、例えば、8ビット×8ビットの乗算は4クロ
ックで、また一般に被乗数がnビット、乗数がmビット
の時、両者の積は界クロックで求めることができる。ま
た、1クロックでのデータの流れは、5 レジスターQ
部分積生成回路−(>CLA加算器であり、しかもCL
A加算器は、2つの数の算を行うだけであるので、クロ
ック間隔を、NチャンネルMOSプロセスによつても、
数10ナノ秒にすることが可能である。従つて、乗算を
数100ナノーO秒で実行することが可能となる。一方
、直列乗算方式で被乗算数がnビット、乗数がmビット
の乗算を行つた場合は、n+mクロックを必要とする。
すなわち、本発明の乗算器は、直列乗算方式の乗算器と
比較して一』L−の時間で、乗算を実52(n+m)行
することが出来る。
また、部分積生成回路、CLA加算器を時分割で使用す
るため、並列方式と比較して、ハードウェア量及び消費
電力も少なくなる。
例えば、)MMI社の乗算器(型番67558)は、ブ
ースのアルゴリズムを用い、並列方式で8ビット×8ビ
ットの乗算を行うが、そのゲート数は約680である。
一方、本発明による8ビットX8ビット乗算器では、ゲ
ート数は約450で済む。以上述べたように、本発明に
よると、比較的少ないハードウェア量で、しかも高速に
乗算を実行することが可能となるので、マイクプロセッ
サーで制御されるのに適した、あるいは、マイクプロセ
ッサーと共に同一チップ上に製作されるのに適した乗算
回路を得ることができる。
図面の簡単な説明第1図は、本発明の一実施例を示す図
、第2図は、8bitx8bitを実行した時のタイミ
ング発生回路の出力を示す図、第3図は、第1図の部分
積生成回路の一構成例を示す図、第4図は、8b1t×
8bitの演算を行なつた時のデータの流れを示す図で
ある。
1,7・・・レジスタ、2,3,8,9・・・シフトレ
ジスタ、4・・・タイミング発生回路、5・・・部分積
生成回路、6・・・CLA加算器、10・・・出力バッ
ファ。

Claims (1)

    【特許請求の範囲】
  1. 1 負数は2の補数で表現するnビット長被乗数を、一
    時記憶する第1のレジスターと、負数は2の補数で表現
    するmビット長乗数(mは偶数とする)の中で、2^2
    l{l=0、1、…、(m−2)/2}の重みをもつビ
    ットを一時記憶する第1のシフトレジスターと、前記m
    ビット長乗数Yの中で、2^2l^+^1{l=0、1
    、…、(m−2)/2}の重みをもつビット及び重みが
    2^−^1で常に0であるビットを一時記憶する第2の
    シフトレジスターと、前記第1のレジスターの出力X、
    前記第1のシフトレジスターのLSB(最下位ビット)
    出力y_2_k、前記第2のシフトレジスターのLSB
    出力y_2_k_−_1及びLSBよりひとつ上位のビ
    ット出力y_2_k_+_1を入力とし、D_k=(y
    _2_k_+_1+y_2_k−2y_2_k_+_1
    )X−C_kC_k=y_2_k_+_1(1−y_2
    _k・y_2_k_−_1)で求められる部分積D_k
    、キャリーC_kを出力する部分積生成回路と、この部
    分積生成回路の出力D_kをほとつの入力とし、キャリ
    ーC_kをLSBへの桁上り入力とするCLA(Car
    ryLookAhead)加算器と、このCLA加算器
    の出力のうち、LSBを入力とする第3のシフトレジス
    ターと、LSBよりほとつ上位のビットを入力とする第
    4のシフトレジスターと、それ以外のビットを入力とし
    、その出力を前記CLA加算器のもうほとつの入力とす
    る第2のレジスターと、前記CLA加算器の出力、前記
    第3のシフトレジスターの出力、前記第4のシフトレジ
    スターの出力を入力とする出力バッファと、前記第1、
    第2のレジスター及び第1、第2、第3、第4のシフト
    レジスターに、ロード、シフトのタイミングを出力する
    回路とを有し、クロック制御で乗算を行うことにより、
    m/2クロックで乗算を実行し、しかも乗算結果を並列
    的に得ることを特徴とする乗算回路。
JP55107715A 1980-08-07 1980-08-07 乗算回路 Expired JPS6047609B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP55107715A JPS6047609B2 (ja) 1980-08-07 1980-08-07 乗算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP55107715A JPS6047609B2 (ja) 1980-08-07 1980-08-07 乗算回路

Publications (2)

Publication Number Publication Date
JPS5734247A JPS5734247A (en) 1982-02-24
JPS6047609B2 true JPS6047609B2 (ja) 1985-10-22

Family

ID=14466103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55107715A Expired JPS6047609B2 (ja) 1980-08-07 1980-08-07 乗算回路

Country Status (1)

Country Link
JP (1) JPS6047609B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57141753A (en) * 1981-02-25 1982-09-02 Nec Corp Multiplication circuit
EP0149600B1 (en) * 1983-07-14 1991-07-17 Soft Sheen Products, Inc. Compositions for treating keratosis
JPS60254372A (ja) * 1984-05-31 1985-12-16 Nippon Precision Saakitsutsu Kk 積和演算装置
JPS6169721A (ja) * 1984-09-13 1986-04-10 Kao Corp 抗真菌組成物

Also Published As

Publication number Publication date
JPS5734247A (en) 1982-02-24

Similar Documents

Publication Publication Date Title
JPS60163128A (ja) 乗算回路
US10831445B1 (en) Multimodal digital multiplication circuits and methods
JPH0831025B2 (ja) 乗算回路
JPS6047609B2 (ja) 乗算回路
JP3256251B2 (ja) 乗算器
JPH02109125A (ja) 乗算回路
JPH11134175A (ja) 乗加減算器及び演算器
JPH10111791A (ja) 除算装置
JPH08314697A (ja) 符号付き/符号なし数兼用乗算器
US4041296A (en) High-speed digital multiply-by-device
JPS5841532B2 (ja) セキワケイサンカイロ
JP3190826B2 (ja) 積和演算装置
JPH07141150A (ja) 乗算器
JP3198868B2 (ja) 乗算処理装置
JP3922380B2 (ja) 拡張可能二乗器及び二乗演算方法
JP3461252B2 (ja) 乗算方法
SU734669A1 (ru) Преобразователь правильной двоичной дроби в двоично-дес тичную дробь и целых двоично-дес тичных чисел в двоичные
SU1236473A1 (ru) Арифметическое устройство
JPH0944340A (ja) 並列乗算回路
SU926650A1 (ru) Устройство дл одновременного вычислени двух многочленов
JPH0468435A (ja) 乗算器
JPS60134934A (ja) 乗算装置
JPH0583930B2 (ja)
JP2000099313A (ja) 乗算器
JPH03179521A (ja) 乗算回路の構成