JPH03282619A - 乗算回路 - Google Patents
乗算回路Info
- Publication number
- JPH03282619A JPH03282619A JP8267590A JP8267590A JPH03282619A JP H03282619 A JPH03282619 A JP H03282619A JP 8267590 A JP8267590 A JP 8267590A JP 8267590 A JP8267590 A JP 8267590A JP H03282619 A JPH03282619 A JP H03282619A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- multiplication
- partial product
- multiplier
- computing
- 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
- 238000007792 addition Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000010977 unit operation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は乗算回路に関し、特にマイクロコンピュータ等
における複数ビット相互の乗算を行なう乗算回路に関す
る。
における複数ビット相互の乗算を行なう乗算回路に関す
る。
従来、マイクロコンピュータは応用分野の拡大にともな
い処理速度の向−したけてなく、実行できる演算機能の
種類も増え、その性能向上は増大の一途にある。かかる
マイクロコンピュータの演算手段としては、単なる+お
よび−の計算や論理演算等のALUと呼ばれる数値演算
機能ユニットの他に二つのデータの乗算を行う乗算機能
ユニットを内蔵し、これにより演算機能を増大させてい
る。
い処理速度の向−したけてなく、実行できる演算機能の
種類も増え、その性能向上は増大の一途にある。かかる
マイクロコンピュータの演算手段としては、単なる+お
よび−の計算や論理演算等のALUと呼ばれる数値演算
機能ユニットの他に二つのデータの乗算を行う乗算機能
ユニットを内蔵し、これにより演算機能を増大させてい
る。
第3図はかかる従来の一例を示す増算器のブロック図で
ある。
ある。
第3図に示すように、この従来の乗算器はキャリー完結
型の反復セル乗算器を示しており、被乗数(XO〜X2
)]と乗数(YO〜Y2)2の3ビツトデータの乗算を
行なう例である。ここでは、単位演算回路(Bl、B2
.B4.B51−37.ll’3)3よおび一中位演算
回路(BO,B3゜B6)3Aを絹合わせて複数の部分
積演算部4を構成している。これら単位演算回路(BO
B3.B6.B7.B8)3Aおよび3の出力が乗算出
力(PO−P5)5となる。
型の反復セル乗算器を示しており、被乗数(XO〜X2
)]と乗数(YO〜Y2)2の3ビツトデータの乗算を
行なう例である。ここでは、単位演算回路(Bl、B2
.B4.B51−37.ll’3)3よおび一中位演算
回路(BO,B3゜B6)3Aを絹合わせて複数の部分
積演算部4を構成している。これら単位演算回路(BO
B3.B6.B7.B8)3Aおよび3の出力が乗算出
力(PO−P5)5となる。
かかる演算にあたり、まず4ビツトデータをそれぞれ次
式のようにX、Yとする。
式のようにX、Yとする。
x =X3 X2 Xi Xo
Y=Y3 Y2 Yl YO
しかも、数十1位ヒツトをサインビットとして扱い、下
位3ビツトを小数点以下の絶対値表現として取り扱うと
、ト述のX、Yの乗算結果PXXYは、 X= X2 XI X0X) Y
= Y2 YI YOX2YOXIY
OX0YO X2YI XIYI X0YIX2Y2
XIY2 X0Y2の計算て求まる。すなわら、第
3図に示す回路がこれを実現している。
位3ビツトを小数点以下の絶対値表現として取り扱うと
、ト述のX、Yの乗算結果PXXYは、 X= X2 XI X0X) Y
= Y2 YI YOX2YOXIY
OX0YO X2YI XIYI X0YIX2Y2
XIY2 X0Y2の計算て求まる。すなわら、第
3図に示す回路がこれを実現している。
また、−11j位演算回路3あるいは3Aは、部分積を
求めるA、 N I”i)ゲー1〜と、前段の部分積の
加算数および前記A、 N Dグー1への出力を加算す
る全加算器とから構成されている。その乗算は被乗数X
と乗数Yの要素であるXO〜X2とYO〜Y2か単位演
算回路3あるいは3AのANDケ−1・に入力され、部
分積か4コ成される。この部分積には全加算器て順次加
算が行われ求められる。
求めるA、 N I”i)ゲー1〜と、前段の部分積の
加算数および前記A、 N Dグー1への出力を加算す
る全加算器とから構成されている。その乗算は被乗数X
と乗数Yの要素であるXO〜X2とYO〜Y2か単位演
算回路3あるいは3AのANDケ−1・に入力され、部
分積か4コ成される。この部分積には全加算器て順次加
算が行われ求められる。
次に、データの最「イ9ヒツトをサインヒツトとし、残
りのビットを小数点以下の絶対値表現を行ったとし゛(
、被乗数X (X3 X2 XI XO)が(コ011
)てあり、乗数Y <Y3 Y2 YI YO)か(0
101)であるとすると、その乗算結果の絶対値表現部
分は、 以下余白 Xニ ×) 11 OOO 11 0011]、 1 となる。また、被乗数のXのサインビット(X3・1)
と乗数Yのサインビット(Y3・0)により、乗算結果
のサインピッ1へは1になる。従って、乗算結果は(1
001]、 11. )となる。
りのビットを小数点以下の絶対値表現を行ったとし゛(
、被乗数X (X3 X2 XI XO)が(コ011
)てあり、乗数Y <Y3 Y2 YI YO)か(0
101)であるとすると、その乗算結果の絶対値表現部
分は、 以下余白 Xニ ×) 11 OOO 11 0011]、 1 となる。また、被乗数のXのサインビット(X3・1)
と乗数Yのサインビット(Y3・0)により、乗算結果
のサインピッ1へは1になる。従って、乗算結果は(1
001]、 11. )となる。
上述の計算を実際の十進数の数値で表すとすると、被乗
数Xおよび乗数Yは、それぞれXO,378、Y=0.
625 テあり、その乗算結果は−0,234375と
なる。
数Xおよび乗数Yは、それぞれXO,378、Y=0.
625 テあり、その乗算結果は−0,234375と
なる。
しかし、この乗算器を内蔵した演算装置で取り扱うデー
タ長は内部4ビツトのため、上述の乗算結果の手付4ヒ
ツトをとり表現すると、(1001)となる。すなわち
、十進数表現では−[1,125となる。これは上述の
演算結果からすると、0.109375の誤差が生しる
ことになる。
タ長は内部4ビツトのため、上述の乗算結果の手付4ヒ
ツトをとり表現すると、(1001)となる。すなわち
、十進数表現では−[1,125となる。これは上述の
演算結果からすると、0.109375の誤差が生しる
ことになる。
上述した従来の乗算回路は、例えはマイクロコンピュー
タの内部データ長か4ヒツトとすると、乗算結果も4ヒ
ツ1〜として扱う必要かある。しかるに、前述のように
、乗算結果か7ヒツトとなった時は、下位の4ヒツ1へ
か切り捨てられることになる。従って、従来の乗算器で
は切捨て誤差が大きくなり、装置としての演算精度を低
下させるという欠点かある。
タの内部データ長か4ヒツトとすると、乗算結果も4ヒ
ツ1〜として扱う必要かある。しかるに、前述のように
、乗算結果か7ヒツトとなった時は、下位の4ヒツ1へ
か切り捨てられることになる。従って、従来の乗算器で
は切捨て誤差が大きくなり、装置としての演算精度を低
下させるという欠点かある。
本発明の目的は、かかる切り捨てられるデータにより、
必要とされるデータの精度である切捨て3呉差を下け、
演算精度を向上させる乗算回路を提供することにある。
必要とされるデータの精度である切捨て3呉差を下け、
演算精度を向上させる乗算回路を提供することにある。
本発明の乗算回路は、ニーつのデータである被乗数およ
び乗数の部分積を計算する単位演算回路を備えた複数の
部分積演算部を有し、前記部分積演算部のうち最終段の
加算回路のキャリー入力をコン1〜ロール信号により制
御し、演算結果のデータに補正を行なうように構成され
る。
び乗数の部分積を計算する単位演算回路を備えた複数の
部分積演算部を有し、前記部分積演算部のうち最終段の
加算回路のキャリー入力をコン1〜ロール信号により制
御し、演算結果のデータに補正を行なうように構成され
る。
次に、本発明の実施例につき図面を参照して説明する。
第1図は本発明の一実施例を示す乗算回路のフロック図
である。
である。
第1図に示すように、本実施例は被乗数(XO〜X2)
1および乗数(’YO〜¥2)2を入力として部分積を
計算するBO〜B8の単位演算回路3および3Aを有し
ている。この単位演算回路(BO〜B2 ; B3〜B
5 ; B6〜B7)3および3A、3Bはそれぞれ部
分積演算部4を形成している。これら単位演算回路によ
って生成される部分積およびキャリーはそれぞれ次段の
単位演算回路に入力し、乗算出力(PO〜P5)を求め
る。本実施例か従来例と比較して異なる点は、最終段の
部分積演算部4を形成する単位演算回路3B、すなわち
最下位ビットのキャリー入力をコントロール信号Zによ
り制御することにある。
1および乗数(’YO〜¥2)2を入力として部分積を
計算するBO〜B8の単位演算回路3および3Aを有し
ている。この単位演算回路(BO〜B2 ; B3〜B
5 ; B6〜B7)3および3A、3Bはそれぞれ部
分積演算部4を形成している。これら単位演算回路によ
って生成される部分積およびキャリーはそれぞれ次段の
単位演算回路に入力し、乗算出力(PO〜P5)を求め
る。本実施例か従来例と比較して異なる点は、最終段の
部分積演算部4を形成する単位演算回路3B、すなわち
最下位ビットのキャリー入力をコントロール信号Zによ
り制御することにある。
第2図(a)、(b)はそれぞれ第1図に示す即位演算
回路図である。
回路図である。
第2図<a)に示すように、この単位演算回路3AはX
、Yの部分積を求めるためのANDゲート6と、前段部
分積の加算数におよびANDケート6の出力を加算する
全加算器7とを有し、この全加算器7から和出力Sと上
位へのキャリー出力Cを出力する。
、Yの部分積を求めるためのANDゲート6と、前段部
分積の加算数におよびANDケート6の出力を加算する
全加算器7とを有し、この全加算器7から和出力Sと上
位へのキャリー出力Cを出力する。
また、第2図(b)に示すように、この単位演算回路3
Bは第2図(a)同様のANDゲート6と、前段部分積
の加算数に、ANDゲート6の出力およびコントロール
6の出力およびコントロール信号を入力して全加算を行
なう全加算器8とを有している。
Bは第2図(a)同様のANDゲート6と、前段部分積
の加算数に、ANDゲート6の出力およびコントロール
6の出力およびコントロール信号を入力して全加算を行
なう全加算器8とを有している。
次に、本実施例の乗算回路の動作を前述した従来例の数
値を用いて説明する。
値を用いて説明する。
まず、従来例と同様に、最上位ピッ1〜をサインビット
とし、残りのヒツトを小数点以下の絶体値表現を行なう
とする。しかも、被乗数X (X3 X2XI XO)
か(10]、 1. ) 、乗数Y (Y3 Y2 Y
I YO)か(0101)であるとし、本実施例の補正
を適用したとすると、乗算結果の絶対値表現部分は、X
= 0 1. 1 x) Y= 1 0 1 0 1 1 0 0 0 0 1 1 1−一−−−−補正用ビットZ 0 ]、 0 1 1 1となる。また
、被乗数(X)1のサインビット(X3・1)および乗
数(Y)2のサインビット(Y2O)により、乗算結果
のサインビットはlとなる。従って、かかる乗算結果は
、(1010111)となる。この乗算結果の上位4ビ
ツト(1010)をとって、十進数で表現すると、−0
,25である。この値は実際の十進数の数値で計算した
値0.234375と比較して、その誤差は0.015
625になる。この誤差は前述した従来の乗算器の演算
結果の誤差0.109375と比較すると、演算精度は
数倍に改善されている。
とし、残りのヒツトを小数点以下の絶体値表現を行なう
とする。しかも、被乗数X (X3 X2XI XO)
か(10]、 1. ) 、乗数Y (Y3 Y2 Y
I YO)か(0101)であるとし、本実施例の補正
を適用したとすると、乗算結果の絶対値表現部分は、X
= 0 1. 1 x) Y= 1 0 1 0 1 1 0 0 0 0 1 1 1−一−−−−補正用ビットZ 0 ]、 0 1 1 1となる。また
、被乗数(X)1のサインビット(X3・1)および乗
数(Y)2のサインビット(Y2O)により、乗算結果
のサインビットはlとなる。従って、かかる乗算結果は
、(1010111)となる。この乗算結果の上位4ビ
ツト(1010)をとって、十進数で表現すると、−0
,25である。この値は実際の十進数の数値で計算した
値0.234375と比較して、その誤差は0.015
625になる。この誤差は前述した従来の乗算器の演算
結果の誤差0.109375と比較すると、演算精度は
数倍に改善されている。
以上説明したように、本発明の乗算回路は、表現できる
ヒツト長に対し、その切り捨てられるビットのうち最上
位に相当する演算結果に+コすることにより、全体とし
ての切捨て誤差を少なくし、乗算結果の演算精度を向上
させることができるという効果がある。
ヒツト長に対し、その切り捨てられるビットのうち最上
位に相当する演算結果に+コすることにより、全体とし
ての切捨て誤差を少なくし、乗算結果の演算精度を向上
させることができるという効果がある。
第1図は本発明の一実施例を示す乗算回路のブロック図
、第2図(a)、(b)はそれぞれ第1図に示す即位演
算回路図、第3図は従来の一例を示す乗算回路のブロッ
ク図である。 1・・・被乗数(XO〜X2.X)、2・・・乗数(Y
O〜Y2.Y)、3.3A、3B・・・単位演算回路(
BO〜B8)、4・・・部分積演算部、5・・・乗算出
力(po〜P5)、6・・ANDケート、7.8・・全
加算器、Z・−コントロール信号、K・・・前段部分
0 積の加算数、 C キャリー出力、 相出力。 コ
、第2図(a)、(b)はそれぞれ第1図に示す即位演
算回路図、第3図は従来の一例を示す乗算回路のブロッ
ク図である。 1・・・被乗数(XO〜X2.X)、2・・・乗数(Y
O〜Y2.Y)、3.3A、3B・・・単位演算回路(
BO〜B8)、4・・・部分積演算部、5・・・乗算出
力(po〜P5)、6・・ANDケート、7.8・・全
加算器、Z・−コントロール信号、K・・・前段部分
0 積の加算数、 C キャリー出力、 相出力。 コ
Claims (1)
- 【特許請求の範囲】 1、二つのデータである被乗数および乗数の部分積を計
算する単位演算回路を備えた複数の部分積演算部を有し
、前記部分積演算部のうち最終段の加算回路のキャリー
入力をコントロール信号により制御し、演算結果のデー
タに補正を行なうことを特徴とする乗算回路。 2、請求項1記載の最終段の部分積演算部を構成する最
下位の単位演算回路に乗算結果補正用のコントロール信
号を供給することを特徴とする乗算回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8267590A JPH03282619A (ja) | 1990-03-29 | 1990-03-29 | 乗算回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8267590A JPH03282619A (ja) | 1990-03-29 | 1990-03-29 | 乗算回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03282619A true JPH03282619A (ja) | 1991-12-12 |
Family
ID=13780994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8267590A Pending JPH03282619A (ja) | 1990-03-29 | 1990-03-29 | 乗算回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03282619A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH064271A (ja) * | 1992-06-17 | 1994-01-14 | Mitsubishi Electric Corp | 乗算器 |
-
1990
- 1990-03-29 JP JP8267590A patent/JPH03282619A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH064271A (ja) * | 1992-06-17 | 1994-01-14 | Mitsubishi Electric Corp | 乗算器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3761977B2 (ja) | 遅延整合技術の利用によりクリティカル・パスを減少させた浮動小数点型掛け算器及びその演算方法 | |
JPH02196328A (ja) | 浮動小数点演算装置 | |
JPH09269891A (ja) | 部分積加算方法および装置、浮動小数点乗算方法および装置、浮動小数点積和演算方法および装置 | |
JPS6347874A (ja) | 算術演算装置 | |
JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
JPH0612229A (ja) | 乗累算回路 | |
JPS60140422A (ja) | 演算処理装置 | |
JPS6125245A (ja) | 丸め処理回路 | |
US4441159A (en) | Digital adder circuit for binary-coded numbers of radix other than a power of two | |
JP2511527B2 (ja) | 浮動小数点演算器 | |
JP2857505B2 (ja) | 除算装置 | |
JP3537378B2 (ja) | 加算器および集積回路 | |
JPH0464091B2 (ja) | ||
EP0472030A2 (en) | Method and apparatus for modifying two's complement multiplier to perform unsigned magnitude multiplication | |
JPH03282619A (ja) | 乗算回路 | |
US6202078B1 (en) | Arithmetic circuit using a booth algorithm | |
US8612500B2 (en) | Method and decimal arithmetic logic unit structure to generate a magnitude result of a mathematic | |
JPH04172526A (ja) | 浮動小数点除算器 | |
US20040049528A1 (en) | Apparatus and method for adding multiple-bit binary-strings | |
US11327718B2 (en) | Arithmetic circuitry for power-efficient multiply-add operations | |
JPH10198552A (ja) | 乗算器 | |
JPH0251732A (ja) | 浮動小数点演算器 | |
JPS62147526A (ja) | 乗算器 | |
JPS63254525A (ja) | 除算装置 | |
JP3153656B2 (ja) | 乗算器 |