JPS62236030A - 乗算回路 - Google Patents

乗算回路

Info

Publication number
JPS62236030A
JPS62236030A JP7908086A JP7908086A JPS62236030A JP S62236030 A JPS62236030 A JP S62236030A JP 7908086 A JP7908086 A JP 7908086A JP 7908086 A JP7908086 A JP 7908086A JP S62236030 A JPS62236030 A JP S62236030A
Authority
JP
Japan
Prior art keywords
multiplier
correction circuit
register
output
bit
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
Application number
JP7908086A
Other languages
English (en)
Inventor
Hitoshi Matsui
仁志 松井
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP7908086A priority Critical patent/JPS62236030A/ja
Publication of JPS62236030A publication Critical patent/JPS62236030A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は乗算回路に関し、特に2倍精度演算を行う乗算
回路に関する。
〔従来の技術〕
従来、この種の乗算回路は、第5図に示されるように、
被乗数Xおよび乗数Yをそれぞれ格納する2つのレジス
タ1および2.これらレジスタの出力を受けて積X−Y
を算出する乗算器5.及び乗算器の出力である積を格納
するレジスタ7から構成されている。
〔発明が解決しようとする問題点〕
しかしながら、上述した従来の乗算回路では。
信号処理などでビット数の大きいデータの乗算を実行す
る場合1乗算器として・ぐラレル・・ぐラレル乗算器を
用いると1乗算器がかなり大きなハードウェアになると
いう欠点がある。例えば、被乗数Xと乗数Yのビット数
をそれぞれmビットとnビットとした場合、ハードウェ
アの規模がmXnに比例する。一方、ハードウェアの規
模を小さくするために2乗算器としてシリアル・A’ラ
レル乗算器を用いると、シリアル側の入力ビツト数が増
えるほど、・ぐラレル・・ぜラレル乗算器に比べ1乗算
速度が遅くなるという欠点がある。
また、プロセッサなどを用いてソフトウェアにより倍精
度乗算を行うと、ビット補正などをソフトウェアで行う
必要があり、上述したノ’l?ラレル・・ぐラレル乗算
器の場合に比べて乗算速度がかなり遅くなるという欠点
がある。
〔問題点を解決するための手段〕
本発明による乗算回路は、被乗数Xを上位データXhと
下位データXlに分割し、それぞれX11′とXjに補
正する第1の補正回路と2乗数Yを上位データY と下
位データYlに分割し、それぞれr/とYノに補正する
第2の補正回路と、上記第1の補正回路の出力と上記第
2の補正回路の出力の乗算°゛j、・ を行う乗算器と、この乗算器の出力Xh′・Yh′。
Xj・y、、’ 、 xi・Yh′、及びx、’ −y
iをそれぞれ(Xh′ ・ Yh′)′、(X11′ 
 ・ Y) )’、(X) ・ X11′)′、及び(
X)・yi>/に補正する第3の補正回路と、この第3
の補正回路の出力を加算して積X−Yを得る加算器とを
有することを特徴とする。
〔実施例〕
以下9本発明の実施例について図面を参照して説明する
第1図を参照すると2本発明による乗算回路の一実施例
の構成がブロック図により示されている。
レジスタ1は被乗数Xを格納するレジスタで、その出力
は補正回路3に入力している。補正回路3は、制御信号
C1に応じて被乗数Xを上位データXh又は下位データ
Xlに分割し、それぞれXj又はXjに補正して、どち
らか一方を選択出力する回路である。補正回路3の出力
は乗算器5の一方の入力端子に接続されている。レジス
タ2は乗数Yを格納するレジスタで、その出力は補正回
路4に入力している。補正回路4は、補正回路3と同様
に、制御信号C2に応じて乗数Yを上位データYh又は
下位データYlに分割し、それぞれY/又はYノに補正
して、どちらか一方を選択出力する回路である。補正回
路4の出力は乗算器5の他方の入力端子に接続されてい
る。乗算器5は2の補数の乗算を行う・ぞラレル・・ぐ
ラレル乗算器である。乗算器5の出力x/・y、; 、
 x、: −y7 、 xi・r/、及びxi・Yノは
補正回路6に入力し、ここで制御信号C3に応じてそれ
ぞれ(x; 、 % )/ 、 (xi 、 yi)′
(Y′・Y′)′、及び(x、1− y))′に補正さ
れる。
h 補正回路6の出力は、レジスタ7に一時的に格納される
。加算器9は、レジスタ7の出力とレジスタ8の出力を
加算し、その加算結果はレジスタ8に格納される。従っ
て、加算器9は、補正回路6の出力(Xh′・Yh′)
′、(Xh′・Yl’、(X)・Yh′)′。
及び(xi・y、/ )/を加算し、その加算結果は被
乗数Xと乗数Yの積x−yに等しい。なお2本実施例で
は、レジスタ8に任意の値1例えばWを格納でき、従っ
て、z=w+x−yの形の演算も実行できる。この演算
は、一般に、信号処理において良く行なわれる演算であ
る。この演算を実行するときのタイムチャートが第2図
に示されている。
次に、第1図及び第2図を参照して、Z=W+X・Yの
演算を実行する場合の動作について説明する。
データWは時刻T2までにレジスタ8へあらかしめ転送
されているものとする。
まず、時刻TOにおいて、レジスターへは被乗数Xが、
レジスタ2へは乗数Yが転送される。レジスタ1の出力
は、補正回路3で制御信号C4により先ず下位データX
lが選択され、かつXjに補正された後2乗算器5の一
方の入力となる。レジスタ2の出力も同様に、補正回路
4で制御信号Cにより下位データY が選択され、Yノ
に補正さ2                   す
れた後1乗算器5の他方の入力となる。
時刻子1では1乗算器5の乗算結果Xj・Yノが補正回
路6で制御信号Cにより(Xj 、 y、/ )lに補
正され、レジスタ7へ転送される。と同時に。
補正回路4では2乗数Yの上位データYhが選択され、
Y、′に補正された後1乗算器5へ入力される。
時刻T2では、レジスタ7のデータ(X)・Yノ)′と
レジスタ8のデータWが加算器9で加算され。
加算結果W +< w; −yi)’がレジスタ8へ転
送される。一方、レジスタ7へは2乗算器5の乗算結果
Xj・Y、′が補正回路6で(X)・r、: )/に補
正された値が転送される。又、補正回路3では上位デー
タXhが選択され、Xh′に補正された後1乗算器5の
一方の入力端子へ入力され、補正回路4では下位データ
Y が選択され、Yiに補正された後。
を 乗算器5の他方の入力端子へ入力される。
時刻T3では、レゾスタフのデータ(X)・y /)/
とレジスタ8のデータW十(Xi−Yl′が加算器9で
加算され、その加算結果W+(X7−Yl′十(x、/
 、 yh/ )tがレジスタ8へ転送される。一方。
レノスタフへは1乗算器5の乗算結果X/・Yiが補正
回路6で補正された値(Xh′・Yl′)が転送される
。又、補正回路4では上位データYhが選択され、その
補正値Y、′が乗算器5へ入力される。
時刻T4では、レノスタフのデータ< x / 、 y
i > /とレジスタ8のデータw+(x’・y / 
)’ + (x、、: 、 y / )/1、  が加
算器9で加算され、その加算結果W十(X)・1Yノ)
′+(Xl′・Yh′)′+(Xh′・Yl′がレジス
タ8へ転送される。一方、レジスタ7へは1乗算器5の
乗算結果Xh′・Yh′が補正回路6で補正された値(
% 、r/ >’が転送される。
時刻T5では、レノスタフのデータ(x /−y / 
)/とレジスタ8のデータw+(x、、ニーy、、)’
+(xQ・Yh′)′+(Xh′・Yl′が加算器°9
で加算され、加算結果w+(x) ・ Yi )’+ 
 (X) ・ Yh′)′+(Xh′  ・Yl′+(
Xh′・Yh′)′がレジスタ8へ転送される。
このときレジスタ8へ転送されたデータは、z=W+X
−Yである。
このように2乗算処理には6ステツプを要するが2時刻
T4において、レジスタ1およびレジスタ2へ次に演算
すべき入力データを転送することにより、4ステツプご
とに乗算結果を得ることができる。
第3図を参照すると、補正回路3の一例がブロック図に
より示されている。なお、補正回路4の構成も、補正回
路3と同じ構成をしている。この例は、16ビツト入力
、9ピツト出力の場合である。制御信号C4(C2)に
よるH、Lの切り換えで。
上位データXh(Yh)と下位データXl(Yl)が選
択される。すなわち、 Xl(Yl)を選択するときは
Lを。
Xh(Yh)を選択するときはHを選択する。Lが選択
されたとき、出力の(サインビット)′と(ビット8)
′へは“0”が入り、残りの出力(ピッ) l )’〜
(ビット7)′へは、入力の下位7ピツト、すなわちビ
ット9〜ピツト15が出力される。一方、Hが選択され
たときは、入力の上位9ピツト、すなわちサインビット
、ビット1〜ビツト8がそのまま(サインビット)′、
(ビット1 )/〜(ビット8)′として出力される。
第4図(a) 、 (b) 、及び(C)を参照すると
、補正回路6の一例がブロック図により示されている。
この例は、17ビツト入力、31ビツト出力の場合であ
る。制御信号C3によりり、M、Hが切り換えられる。
乗算器5の入力がxi 、 y、、′の場合はLが選択
され x/ 、 Yi又はxi 、 yh′の場合はM
が選択され、Xh′、Yh′の場合はHが選択される。
Lが選択されたとき、入力のビット1〜ビツト14まで
の14ビツトは出力の下位14ビツト、すなわち(ビッ
ト17)′〜(ビット30)′へ出力され、出力の残り
上位17ビツト、すなわち(サインビット)、(ビット
l)/〜(ビット16)′へは入力のサインビットが入
る。Mが選択されたときは、出力の上位9ビツト、すな
わち(サインビット)′。
(ビット1)′〜(ビット8)′へは入力のサインビッ
トが入り、出力の下位7ビノト、すなわち(ピッ) 2
4 )’〜(ピッ) 30 )’へは“O”が入り、残
り中位15ビツト、すなわち(ビット9)′〜(ビット
23)′へは入力のビット1〜ビツト15までの15ビ
ツトが出力される。そしてHが選択され友ときは、出力
の上位17ビツト、すなわち(サインビット)′、(ビ
ット1)′〜(ビット16)′へは入力のサインビット
、ビットl−ビット16までの17ビツトが出力され、
残り下位14ビツト。
すなわち(ビット17)′〜(ビット30)′へはII
 O#が入る。
次に、具体例について説明する。なお、入力データ(被
乗数9乗数)のビット数は、それぞれ16ビツトとする
例1 被乗数X及び乗数Yがそれぞれ X=3784(10 = 0011011110110100(B)中0.4
3518 Y =  7OCA()I) =  0111000011001010(B)中0.
88116 とすると、積x−yは。
X−Y=3784(呻X7OCA(呻 =31156810(ロ) = 00110001000101010110100
00001000(呻中0.383465774 ここで、被乗数Xを上位9ビットXhと下位7ビソトX
lに、又1乗数Yを上位9ビットY、と下位7ビツトに
、それぞれ分解する。
X =001101111(B)、X01001010
0(B)Y =011100001(B)、Yl=10
01010(II)1・、  補正回路3の出力x/ 
、 xi及び補正回路4の出力Yh′、Yノは、それぞ
れ x、;=oolto1111(B)、X7=00110
1000(B)Y’=011100001(呻、Y)=
010010100(B)となる。
乗算器5の出力x/−写、Xh′・Yノ x、/ 、 
X11′。
及びXl・y、/は、それぞれ Xh′・Yhj=001101111(B)X0111
00001(B)=OO11000011000111
1伸)=30078(ロ) x、/・Y、’=001101111(B)X0100
10100(B)=0010000000010110
0(B)(川 =20160− Xl−Yh′=001101000(B)X01110
0001(B)=00101101101101000
(II)=20B4001) Xl−Yノ=001101000(B)×01001O
100−)=00011110000100000(B
)=IE100(財) となる。
補正回路6の出力(Xh′・Yh′)′、(Xh′・y
、/ )/。
(x/・y/)/、及び(Xh’ −Yl′は、それぞ
れh (x/・Yj)’=0011000011000111
100000000000000((1)=30078
000e1) (X11′・Yl’=000000000010000
0000101100000000(B)=00201
600(呻 (X7− Y、′)’=00000000001011
01101101000000000 (B)=002
DB400(角 CX1− Y7)’=OOOOOO000000000
0000111100001000(B)=OO001
E10(ロ) 従って、加算器9で(Xh′・Yh′)′+(Xh′・
y、/ ) /+(X)・Yh’ )’ + (Xh’
 −Y、’ )’を実行すると。
0011000011000111100000000
000000(II>+00000000001000
00000101100000000(B)+0000
0000001011011011010000000
00(B)00110001000101010110
10000001000(B)が得られ、これはXとY
の積X−Yに等しい。
p1下余日 例2 被乗数X及び乗数Yがそれぞれ X = 48 B E(Hl = 0100100010111110(Bl中0.5
6830 Y = C76A(H) = 1100011101101010(B)キー0.
44208 とすると、積X−Yは。
X−y =  48BE()I)X C76A(I11
=DFD7A158(It) = 11011111110101111010000
10101100(B)キー0.251231977 ここで、被乗数X及び乗数Yを上位9ビットXh及びY
、と下位7ビツトXl及びYlに、それぞれ分解する。
Xh=010010001(B)   、   Xl=
0111110(B)Y  = 110001110(
B)  、   Yl= 1101010(B)補正回
路3及び4の出力Xh′、Xノ及びy、1′、 yノは
それぞれ Xh′= 010010001(II)、  Xノ= 
001111100(B)y、1′= 1100011
10(B)、  yノ= 011010100(B)と
なる。
乗算器5の出力x、/・Yh′、Xh′・Yノ、Xノ・
Yh′及びXl′・Yl′は、それぞれ X)1′・Yh’ = 11011111101101
110 (B)=DFB70(H) Xh’−Yノ=  0011110000001010
0(Bl=3COAO(Iす Xh’−Y、; = 111001000110010
00(B)=E4640(H) XノーYl= 00110011010110000(
H)=33580(H) となる。
補正回路6の出力(x /、y /)/ 、 (x/ 
、y、/)/ 、 (Xj・y、/)/及び(xi−y
i)/は、それぞれ ’   (X)1′−Yh′)’= 11011111
10110111000000000000000(B
)=DFB70000(H) (Xh、’−Yl’= 00000000001111
00000010100000000(II)=003
COAOO(H) (x、/・Y、’)’= 1111111111100
100011001000000000(B)= FF
E46400(H) (x/・Yl’= 0000000000000000
001.100110101100(II)=  OO
O03358(Iり 従って、加算器9で(X/、y/)/+(xh/・Yl
′+(x/・Y ’)’ + (Xh’−Y、′了を実
行すると。
h + 00000000001111000000101
00000000(B)+ 111111111110
0100011001000000000(B)+ 0
0000000000000000011001101
01100(B)11101111111010111
101000010101100(Blが得られ、最上
位ビットを無視すると、これはXYの積x−yに等しい
〔発明の効果〕
以上の説明で明らかなように9本発明では、二つの入力
データを上位と下位に分割し1乗算を四回に分けて、積
を加算しているので、ノソラレル・パラレル乗算器の高
速性を生かしながら、かつハードウェア規模が大きくな
るという欠点を補うことができる。また、ハードウェア
規模が小さくなることにより1乗算器の乗算速度が上昇
するため。
乗算を四回に分けても演算速度が四分の−に遅くなるこ
とを防止できる。
【図面の簡単な説明】
第1図は本発明による演算回路の一実施例の構成を示し
たブロック図、第2図は第1図の回路の動作を説明する
ためのタイムチャート、第3図は第1図の補正回路3及
び4の一例を示したブロック図、第4図(a) 、 (
b)及び(C)は第1図の補正回路6の一例を示したブ
ロック図、第5図は従来の乗算回路の構成を示したブロ
ック図である。 1.2・・・レジスタ、3,4・・・補正回路、5・・
・乗算器、6・・・補正回路、7,8・・・レジスタ、
9・・・放鳥1図 亮5図

Claims (1)

    【特許請求の範囲】
  1. 1、2進数で表わされた被乗数X、乗数Yを受けて積X
    ・Yを算出する乗算回路において、被乗数Xを上位デー
    タX_hと下位データX_lに分割し、それぞれX_h
    ′とY_l′に補正する第1の補正回路と、乗数Yを上
    位データY_hと下位データY_lに分割し、それぞれ
    Y_h′とY_l′に補正する第2の補正回路と、上記
    第1の補正回路の出力と上記第2の補正回路の出力の乗
    算を行う乗算器と、該乗算器の出力X_h′・Y_h′
    、X_h′・Y_l′、X_l′・Y_h′及びX_l
    ′・Y_l′をそれぞれ(X_h′・Y_h′)、(X
    _h′・Y_l′)′、(X_l′−Y_h′)′、及
    び(X_l・Y_l′)′に補正する第3の補正回路と
    、該第3の補正回路の出力を加算して上記積X・Yを得
    る加算器とを有することを特徴とする乗算回路。
JP7908086A 1986-04-08 1986-04-08 乗算回路 Pending JPS62236030A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7908086A JPS62236030A (ja) 1986-04-08 1986-04-08 乗算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7908086A JPS62236030A (ja) 1986-04-08 1986-04-08 乗算回路

Publications (1)

Publication Number Publication Date
JPS62236030A true JPS62236030A (ja) 1987-10-16

Family

ID=13679916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7908086A Pending JPS62236030A (ja) 1986-04-08 1986-04-08 乗算回路

Country Status (1)

Country Link
JP (1) JPS62236030A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008544344A (ja) * 2005-05-09 2008-12-04 サンディスク アイエル リミテッド 大数乗算方法およびデバイス

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58130745A (ja) * 1982-01-29 1983-08-04 Tanaka Kikinzoku Kogyo Kk すり接点材料
JPS58137045A (ja) * 1982-02-05 1983-08-15 Matsushita Electric Ind Co Ltd 並列乗算器
JPS60112141A (ja) * 1983-11-22 1985-06-18 Sony Corp 乗算回路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58130745A (ja) * 1982-01-29 1983-08-04 Tanaka Kikinzoku Kogyo Kk すり接点材料
JPS58137045A (ja) * 1982-02-05 1983-08-15 Matsushita Electric Ind Co Ltd 並列乗算器
JPS60112141A (ja) * 1983-11-22 1985-06-18 Sony Corp 乗算回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008544344A (ja) * 2005-05-09 2008-12-04 サンディスク アイエル リミテッド 大数乗算方法およびデバイス
JP4728392B2 (ja) * 2005-05-09 2011-07-20 サンディスク アイエル リミテッド 大数乗算方法およびデバイス

Similar Documents

Publication Publication Date Title
JPS6132437Y2 (ja)
JPH03105614A (ja) マトリツクス演算回路
JPS6125245A (ja) 丸め処理回路
US3752394A (en) Modular arithmetic and logic unit
US4878191A (en) Multiplication circuit capable of operating at a high speed with a small amount of hardware
US4823300A (en) Performing binary multiplication using minimal path algorithm
JPH0346024A (ja) 浮動小数点演算器
JPS62236030A (ja) 乗算回路
US6202078B1 (en) Arithmetic circuit using a booth algorithm
JPH09231201A (ja) 浮動小数点乗算累算装置
JP3227538B2 (ja) 2進整数乗算器
JP2951685B2 (ja) 固定小数点演算器
JPS62236029A (ja) 乗算回路
JPH03268024A (ja) マイクロプロセッサ、情報処理装置及びそれを用いた図形表示装置
JPH10198552A (ja) 乗算器
JP2675087B2 (ja) マイクロコンピュータ
JPH03116327A (ja) 乗算方式
JPS62147526A (ja) 乗算器
JPS63146125A (ja) 乗算器
JPH01244578A (ja) 画像処理装置
JPH03256117A (ja) 乗算器
JPS62214435A (ja) デイジタル除算回路
JPH02212927A (ja) 2進整数乗算処理方法
JPH02148326A (ja) 乗算器
JPH0260020B2 (ja)