JP2569330B2 - 乗算回路 - Google Patents

乗算回路

Info

Publication number
JP2569330B2
JP2569330B2 JP62118465A JP11846587A JP2569330B2 JP 2569330 B2 JP2569330 B2 JP 2569330B2 JP 62118465 A JP62118465 A JP 62118465A JP 11846587 A JP11846587 A JP 11846587A JP 2569330 B2 JP2569330 B2 JP 2569330B2
Authority
JP
Japan
Prior art keywords
register
multiplier
multiplicand
partial product
circuit
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 - Lifetime
Application number
JP62118465A
Other languages
English (en)
Other versions
JPS63282839A (ja
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.)
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 JP62118465A priority Critical patent/JP2569330B2/ja
Publication of JPS63282839A publication Critical patent/JPS63282839A/ja
Application granted granted Critical
Publication of JP2569330B2 publication Critical patent/JP2569330B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は乗算回路に関する。
〔従来の技術〕
第5図は従来の乗算回路の一例を示すブロック図であ
る。
第5図において、nビットの被乗数レジスタ1−2が
保持する二進整数の被乗数A、すなわち と、nビットの乗数レジスタ2−2が保持する二進整数
の乗数B、すなわち が乗ぜられる。
なお、この演算は、最初にnビットの部分積レジスタ
3−2の内容をすべて0にリセットしてから開始され
る。
乗数レジスタ2−2の下位の桁からj+1ビット目bj
と被乗数Aとの積は である。この式が示す通り、乗数Bのjビット目bjが0
ならば、そのaiとの積はすべて0であり、乗数Bのjビ
ット目bjが1ならば、そのaiとの積の合計は となる。
この値をjが0からn−1までについてそれぞれ求め
て、これらを加えることにより、乗算結果である2nビッ
トの積Y、すなわち が得られることとなる。
このことを利用して、jが0の場合すなわち乗数レジ
スタ2−2の最下位の桁にあるビットについての動作か
ら始めて、順々にjがn−1の場合すなわち最上位の桁
にあるビットについての動作まで、次の動作サイクルが
n回繰返して実施される。
この動作サイクルにおいては、まず被乗数制御信号回
路5−2は、bjが0ならばnビットの被乗数制御回路8
−2をすべて0にするが、bjが1ならば被乗数レジスタ
1−2からnビットの被乗数制御回路8−2に被乗数A
を移して保持させる。
次に、加算回路6−2は、nビットの被乗数制御回路
8−2の内容すなわちAと、nビットの部分積レジスタ
3−2の内容とを加えたn+1ビットの結果のうち、上
位のnビットは再び部分積レジスタ3−2に、最下位1
ビットは乗数レジスタ2−2の内容を1ビット右にシフ
トして、空いた最上位1ビットに移して、この動作サイ
クルを終る。
上記の動作は、終了信号回路7−2によりn回繰り返
して行われたことが検出されることにより終了する。
これにより、乗算結果である2nビットの積Yは、上位
nビットが部分積レジスタ3−2に、下位nビットが被
乗数レジスタ1−2に得られることとなる。
〔発明が解決しようとする問題点〕
上述した従来の乗算回路は、乗数の各ビットごとに、
被乗数と部分積を加算してシフトするという動作サイク
ルを繰り返して行うので、この動作サイクルの回数が多
く、長い乗算実行時間を必要とするという問題点があ
る。
本発明の目的は、このような動作サイクルの回数を減
少させて、高速に乗算を実行することができる乗算回路
を提供することである。
〔問題点を解決するための手段〕
本発明の乗算回路は、乗数を保持する乗数レジスタ
と、被乗数を保持する被乗数レジスタと、前記乗数と前
記被乗数との部分積を保持する部分積レジスタと、前記
乗数レジスタの値に現れる最初の“1"の桁位置を検出
し、前記桁位置と同じ桁位置のみ“1"である制御信号を
出力した後、前記最初の“1"を“0"に書き換える制御部
と、前記制御部からの制御信号に応じて前記被乗数を前
記桁位置と一致するようにシフトした信号を出力するバ
レルシフタと、前記バレルシフタの出力を前記部分積と
加算し新たな部分積として出力する加算回路と、前記制
御信号が全て“0"となったことを検出して、終了信号を
発生する終了信号回路とを有することを特徴としてい
る。
さらに本発明によれば、乗数を保持する乗数レジスタ
と、被乗数を保持する被乗数レジスタと、前記乗数と前
記被乗数との部分積を保持する部分積レジスタと、前記
乗数レジスタの値に現れる最初の“1"の桁位置を検出
し、前記桁位置と同じ桁位置のみ“1"である制御信号を
出力した後、前記最初の“1"を“0"に書き換える制御部
と、上位ビットの部分積を前記被乗数と加算する加算回
路と、その出力の上位ビットを部分積の上位ビットと
し、またその出力の下位ビットを部分積の下位ビットと
し、前記制御部からの制御信号に応じて前記加算回路の
出力と前記下位ビットの部分積とを入力し、前記桁位置
と一致するようにシフトした信号を新たな部分積として
出力するバレルシフタと、前記制御信号が全て“0"とな
ったことを検出して、終了信号を発生する終了信号回路
とを有することを特徴とする乗算回路が得られる。
〔実施例〕
次に本発明の実施例について図面を参照して説明す
る。
第1図は本発明の乗算回路の一実施例を示すブロック
図である。
第1図において、nビットの被乗数レジスタ1が保持
している被乗数Aに、nビットの乗数レジスタ2が保持
している乗数Bが乗ぜられ、乗算結果である積Yは2nビ
ットの部分積レジスタ3に得られる。
被乗数レジスタ1の出力nビットは、縦2nビットおよ
び横2nビットで構成されているバレルシフタ4に送られ
て、横2nビットの下位nビットの位置に入力され、乗数
レジスタ2の出力nビットは、制御信号回路5に送ら
れ、この制御信号回路5の出力nビットがバレルシフタ
4の縦2nビットの下位nビットの位置に送られる。
加算回路6は、2nビットのバレルシフタ4の出力と、
2nビットの部分積レジスタ3の内容とを並列に加えた2n
ビットの結果を、再び2nビットの部分積レジスタ3に移
す。
終了信号回路7は、制御信号回路5の最上位ビットの
演算が終了したとき、終了信号を発生する。
第2図は、乗数レジスタ2,制御信号回路5および終了
信号回路7の一例を示す論理回路図である。
第2図は、nビットの乗数レジスタ2(上側)と、n
ビットの制御信号回路5(下側右)と、終了信号回路7
(下側左)とを示している。
なお、第2図における乗数レジスタ2および制御信号
回路5の下位より第3桁目から第n−1桁目までを省略
しているが、これらはそれぞれ第2桁目と同じ論理回路
を有している。
第2図において、乗数レジスタ2の入力ゲートに入力
信号9が送られることにより、nビットの乗数レジスタ
2は、それぞれ入力ビットB0〜Bn-1(B0は最下位の桁〜
Bn-1は最上位の桁の各情報とする)を入力して保持す
る。
制御信号回路5は、乗数レジスタ2の保持情報である
B0〜Bn-1を受けて、その出力情報であるC0〜Cn-1をバレ
ルシフタ4に送る。
B0〜Bn-1のうち、1である最も下位にあるビットをBk
(Bk=1,0≦k≦n−1)とすれば、制御信号回路5の
回路動作により、C0〜Cn-1はCkのみが1となり、その他
はすべて0となる。
次に述べるバレルシフタ4および加算回路6の動作を
行った後に、制御信号10が送られることにより、Ckが1
であるため、乗数レジスタ2に保持されているBkは0に
リセットされる。
第3図は、バレルシフタ4の一例を示す論理回路図で
ある。
第3図において、制御信号回路5の出力情報C0〜Cn-1
は、Ckのみが1であり、その他はすべて0なので、被乗
数レジスタ1の出力情報A0〜An-1は、バレルシフタ4に
より、kビット左にシフトして、バレルシフタ4の出力
情報D0〜D2n-1となる。
次に、第1図における乗算動作を説明する。
以下の説明を簡単にするため、被乗数Aと乗数Bはと
もにnビットの二進数で表現された正の整数とする。
始めに部分積レジスタ3には初期値として、0がセッ
トされ、乗算動作が開始される。
まず、乗数レジスタ2が保持している乗数Bのうち、
最も下位にある1であるビットをBk(Bk=1,0≦k≦n
−1)とすれば、乗数Bが制御信号回路5を通じてバレ
ルシフタ4の縦方向の下位からk桁目に1が入力するこ
とにより、被乗数レジスタ1が保持している被乗数Aの
出力はバレルシフタ4でkビット左にシフトして、この
値が加算回路6で部分積レジスタ3の内容と加えられ、
その結果はまた部分積レジスタ3に送られて保存され
る。続いて、制御信号10により、乗数レジスタ2に保持
されているBkは0にリセットされる。
次に、最も下位にある1であるビットを対象にして、
同様の動作が繰返して行われる。
これにより乗数レジスタ2の内容がすべてリセットさ
れて0になれば、第2図に示す終了信号回路7は、これ
を検出して終了信号を発生して終了する。
この結果、乗数の1の数の動作回数だけで、nビット
の被乗数レジスタ1の被乗数Aに、nビットの乗数レジ
スタ2の乗数Bが乗ぜられ、乗算結果である2nビットの
積Yは部分積レジスタ3に得られることとなる。
第4図は本発明の乗算回路の他の実施例を示すブロッ
ク図である。
第4図において、nビットの被乗数レジスタ1−1が
保持している被乗数Aに、nビットの乗数レジスタ2−
1が保持している乗数Bが乗ぜられ、乗算結果である2n
ビットの積Yは上位の桁がnビットの部分積レジスタ3
−11に得られ、下位の桁がnビットの部分積レジスタ3
−12に得られる。
被乗数レジスタ1−1の出力nビットは、部分積レジ
スタ3−11の出力nビットとnビットの加算回路6−1
で加えられて、縦2nビットおよび横2nビットで構成され
ているバレルシフタ4−1に送られて、横2nビットの上
位nビットの位置に入力され、横2nビットの下位nビッ
トの位置には部分積レジスタ3−12の出力が入力され
る。
一方、乗数レジスタ2−1の出力nビットは、制御信
号回路5−1に送られ、この制御信号回路5−1の出力
nビットはバレルシフタ4−1の縦2nビットの下位nビ
ットの位置に送られる。
乗数レジスタ2−1の下位からk+1番目の位置に最
初の1があれば、制御信号回路5−1の下位からk+1
番目の位置に制御信号が生成され、バレルシフタ4−1
で横2nビットの上記の入力信号はk桁上位へシフトす
る。
2nビットのバレルシフタ4−1の出力は上位nビット
が部分積レジスタ3−11に、下位nビットが部分積レジ
スタ3−12に、それぞれ入力され保持される。
終了信号回路7−1は、乗数レジスタ2−1の最上位
の1のビットに対する動作が終了したとき、終了信号を
発生し乗算を終了させる。
この結果、乗数の1の数の動作回数だけ動作すること
により、2nビットの積が部分積レジスタ3−11および部
分積レジスタ3−12に得られることとなる。
なお、上記の説明においては、乗数と被乗数を説明の
上で使いわけているが、これらの役割はすべて同等であ
るので、これらを相互に入れ変えて用いることができ
る。また、下位の桁から演算する方法について説明して
いるが本発明では上位の桁から演算することもできる。
さらに、上記では説明を簡単にするため正の整数の乗算
について述べているが、本発明はこれに限るものではな
く、符号のある数,小数点のある数,浮動小数点の数な
ど様々な数の乗算に使用することができ、乗数と被乗数
の桁数も必ずしも同じである必要もない。
〔発明の効果〕
以上説明したように、本発明の乗算回路は、乗数を走
査して、“1"を有する桁に対してだけ、被乗数と部分積
との加算を行い、連続した“0"を有する桁に対しては一
度にバレルシフタによる被乗数のシフトを使用すること
により、動作サイクルの回数を減少させて、高速に乗算
を実行することができるという効果を有する。
【図面の簡単な説明】
第1図は本発明の乗算回路の一実施例を示すブロック
図、第2図は乗数レジスタ2,制御信号回路5および終了
信号回路7の一例を示す論理回路図、第3図はバレルシ
フタ4の一例を示す論理回路図、第4図は本発明の乗算
回路の他の実施例を示すブロック図、第5図は従来の乗
算回路の一例を示すブロック図である。 1,1−1,1−2……被乗数レジスタ、2,2−1,2−2……乗
数レジスタ、3,3−2,3−11,3−12……部分積レジスタ、
4,4−1……バレルシフタ、5,5−1,5−2……制御信号
回路、6,6−1,6−2……加算回路、7,7−1,7−2……終
了信号回路、8−2……被乗数制御回路、9……入力信
号、10……制御信号。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】乗数を保持する乗数レジスタと、被乗数を
    保持する被乗数レジスタと、前記乗数と前記被乗数との
    部分積を保持する部分積レジスタと、前記乗数レジスタ
    の値に現れる最初の“1"の桁位置を検出し、前記桁位置
    と同じ桁位置のみ“1"である制御信号を出力した後、前
    記最初の“1"を“0"に書き換える制御部と、前記制御部
    からの制御信号に応じて前記被乗数を前記桁位置と一致
    するようにシフトした信号を出力するバレルシフタと、
    前記バレルシフタの出力を前記部分積と加算し新たな部
    分積として出力する加算回路と、前記制御信号が全て
    “0"となったことを検出して、終了信号を発生する終了
    信号回路とを有することを特徴とする乗算回路。
  2. 【請求項2】乗数を保持する乗数レジスタと、被乗数を
    保持する被乗数レジスタと、前記乗数と前記被乗数との
    部分積を保持する部分積レジスタと、前記乗数レジスタ
    の値に現れる最初の“1"の桁位置を検出し、前記桁位置
    と同じ桁位置のみ“1"である制御信号を出力した後、前
    記最初の“1"を“0"に書き換える制御部と、上位ビット
    の部分積を前記被乗数と加算する加算回路と、その出力
    の上位ビットを部分積の上位ビットとし、またその出力
    の下位ビットを部分積の下位ビットとし、前記制御部か
    らの制御信号に応じて前記加算回路の出力と前記下位ビ
    ットの部分積とを入力し、前記桁位置と一致するように
    シフトした信号を新たな部分積として出力するバレルシ
    フタと、前記制御信号が全て“0"となったことを検出し
    て、終了信号を発生する終了信号回路とを有することを
    特徴とする乗算回路。
JP62118465A 1987-05-14 1987-05-14 乗算回路 Expired - Lifetime JP2569330B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62118465A JP2569330B2 (ja) 1987-05-14 1987-05-14 乗算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62118465A JP2569330B2 (ja) 1987-05-14 1987-05-14 乗算回路

Publications (2)

Publication Number Publication Date
JPS63282839A JPS63282839A (ja) 1988-11-18
JP2569330B2 true JP2569330B2 (ja) 1997-01-08

Family

ID=14737336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62118465A Expired - Lifetime JP2569330B2 (ja) 1987-05-14 1987-05-14 乗算回路

Country Status (1)

Country Link
JP (1) JP2569330B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59229644A (ja) * 1983-06-10 1984-12-24 Nec Corp 乗算器

Also Published As

Publication number Publication date
JPS63282839A (ja) 1988-11-18

Similar Documents

Publication Publication Date Title
US4893268A (en) Circuit and method for accumulating partial products of a single, double or mixed precision multiplication
JP2585649B2 (ja) 除算回路
US4381550A (en) High speed dividing circuit
JPH0573269A (ja) 加算器
JP2502836B2 (ja) 除算回路の前処理装置
JP2569330B2 (ja) 乗算回路
JPH07107664B2 (ja) 乗算回路
JPH0346024A (ja) 浮動小数点演算器
JPS6226723B2 (ja)
US4016560A (en) Fractional binary to decimal converter
US3019977A (en) Parallel-operating synchronous digital computer capable of performing the calculation x+y. z automatically
JP2675087B2 (ja) マイクロコンピュータ
RU1817091C (ru) Устройство дл умножени чисел
JPH0736149B2 (ja) シフトフラグ生成回路
JP3231298B2 (ja) 乗算装置
SU1417010A1 (ru) Устройство дл делени чисел
RU2248094C2 (ru) Устройство преобразования из десятичной системы счисления в двоичную
JP2803442B2 (ja) 開平装置
SU734669A1 (ru) Преобразователь правильной двоичной дроби в двоично-дес тичную дробь и целых двоично-дес тичных чисел в двоичные
SU697994A1 (ru) Устройство дл вычислени элементарных функций
SU1465882A1 (ru) Устройство дл вычислени обратной величины
SU1425657A1 (ru) Устройство дл делени
JP2777265B2 (ja) 高基数開平演算装置
SU1478212A1 (ru) Устройство дл делени
SU577524A1 (ru) Преобразователь двоичного кода смешанных чисел в двоично-дес тичный код