JPH04216126A - 直並列型乗算器 - Google Patents

直並列型乗算器

Info

Publication number
JPH04216126A
JPH04216126A JP2402364A JP40236490A JPH04216126A JP H04216126 A JPH04216126 A JP H04216126A JP 2402364 A JP2402364 A JP 2402364A JP 40236490 A JP40236490 A JP 40236490A JP H04216126 A JPH04216126 A JP H04216126A
Authority
JP
Japan
Prior art keywords
register
multiplier
adder
terminal
sum
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.)
Withdrawn
Application number
JP2402364A
Other languages
English (en)
Inventor
Jun Goto
純 後藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2402364A priority Critical patent/JPH04216126A/ja
Publication of JPH04216126A publication Critical patent/JPH04216126A/ja
Withdrawn legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、直並列型乗算器に関す
る。
【0002】
【従来の技術】乗算器には、並列型、直列型及び直並列
型がある。
【0003】並列型乗算器は1サイクルで乗算を高速実
行することができるが、回路が大規模になる。一方、直
列型乗算器は、回路規模が小さくなるが、乗数を1ビッ
トシフトさせ、部分積を累積加算し、これを乗数の全ビ
ットについて繰り返し行う必要があるため、乗算速度が
遅い。
【0004】これに対し、直並列型乗算器は、回路規模
が並列型よりも小規模であり、乗算速度は直列型よりも
速いという利点がある。
【0005】
【発明が解決しようとする課題】しかし、従来の直列型
、並列型及び直並列型乗算器はいずれも、乗数及び被乗
数のビット数が増加すると、ハードウエア構成を単純に
拡張することができない。
【0006】本発明の目的は、このような問題点に鑑み
、乗数及び被乗数のビット数が増加しても、ハードウエ
ア構成を単純に拡張することができる直並列型乗算器を
提供することにある。
【0007】
【課題を解決するための手段及びその作用】第1図は直
並列型乗算器の原理構成を示す。この直並列型乗算器は
、A0、A1、・・・、Am及びB0、B1、・・・、
Bmがそれぞれnビットで表わされ、A=A0+A1×
2n +・・・+Am×2mn、B=B0+B1×2n
 +・・・+Bm×2mnと表わされるAとBとの積を
演算するものであって、同一構成のm+1段の演算ユニ
ットU0〜Umと、制御回路Cとを備えており、nビッ
トを1桁として演算する。
【0008】第i段の該演算ユニットUiは、Aiが格
納されるnビットの第1入力レジスタRAiと、Biが
格納されるnビットの第2入力レジスタ(RBi)と、
開閉制御信号に応答して開状態又は閉状態にするゲート
Giと、一方の入力端子に第1入力レジスタRAiの出
力端子がゲートGiを介して接続され、他方の入力端子
に第2入力レジスタRBiの出力端子が接続され、該両
入力端子に供給される値の積を演算する乗算器Miと、
該乗算器Miの出力端子に接続され、第1保持制御信号
に応答して該積を部分積として保持する2nビットの中
間レジスタRMiと、前段の該演算ユニットから桁送り
された値と中間レジスタRMiに保持された値とについ
て、同一桁の部分積の和を演算し、該桁と異なる桁の値
を次段の該演算ユニットに桁送りする桁加算回路ADi
と、第2保持制御信号に応答して該部分積の和を保持す
る出力レジスタRCiとを有する。
【0009】また、各該演算ユニットの該乗算器の該一
方の入力端子が互いに接続され、該桁上げが行なわれる
ように該桁加算回路が該演算ユニット間で接続されてい
る。
【0010】制御回路Cは、ゲートG0〜Gmに開閉信
号を供給して第i段の演算ユニットUiのゲートGiの
みを開状態にさせることにより、A0、A1、・・・、
AmとBiとの部分積を乗算器M0〜Mmに演算させ、
中間レジスタRM0〜RMmに第1保持制御信号を供給
して該部分積を中間レジスタRM0〜RMmに保持させ
、出力レジスタRC0〜RCmに第2保持制御信号を供
給して該部分積の該和を出力レジスタRC0〜RCmに
保持させ、該演算及び該保持をi=0〜mの各々につい
て順に実行させる。
【0011】上記構成の直並列型乗算器によれば、乗数
及び被乗数のビット数の増加に対しては、単に同一構成
の演算ユニットの段数を増やせばよいので、ハードウエ
ア構成を単純に拡張することができる。また、直列型乗
算器のような1ビット単位のシフト演算を行わずに、n
ビット単位で演算ユニット間において桁送り(並列デー
タ転送)を行うので、高速演算が可能となる。
【0012】上記構成の直並列型乗算器において、例え
ば、a側端子が前記ゲートの前記乗算器側の端子に接続
され、b側端子が前記桁送りを出力する端子に接続され
、共通端子が次段の前記演算ユニットの前記ゲートの前
記乗算器側の端子に接続され、切換制御信号SCに応じ
て該共通端子を該a側端子又は該b側端子の一方に接続
させる切換スイッチ手段を備え、前記制御回路Cは、該
切換スイッチ手段に該切換制御信号を供給して該切換ス
イッチ手段をa側にさせた状態で前記部分積を演算させ
、該切換スイッチ手段に該切換制御信号を供給して該切
換スイッチ手段をb側にさせた状態で前記部分積の和を
演算させかつ前記桁送りを行なわせるように構成する。
【0013】この構成の場合、演算ユニット間において
、各ゲートGiの乗算器Mi側の端子間の接続と桁加算
回路間の接続とを、1つに纏めることができるので、演
算ユニット間の接続が簡単になる。
【0014】上記桁加算回路ADiは、例えば、前記中
間レジスタの上位nビットの値と1つ上位の桁の前記演
算ユニットからの桁下がりとの和を演算する第1加算器
と、該中間レジスタの下位nビットの値と前記出力レジ
スタの内容との和を演算する第2加算器とを有し、該第
1加算器の出力が前記出力レジスタに保持され、該第2
加算器の出力が桁下がりとして次段の該演算ユニットに
供給されるように構成されている。
【0015】この構成の場合、1桁がnビットで共にm
+1桁であるAとBとの積の上位m+1桁を、最も少な
いm+1段の演算ユニットを用いた直並列型乗算器によ
り、最も高速に演算することができる。この構成は、主
に、浮動小数点数の乗算に用いられる。
【0016】上記桁加算回路ADiは、例えば、前記中
間レジスタの下位nビットの値と1つ下位の桁の前記演
算ユニットからの桁上がりとの和を演算する第1加算器
と、該中間レジスタの上位nビットの値と前記出力レジ
スタの内容との和を演算する第2加算器とを有し、該第
1加算器の出力が前記出力レジスタに保持され、該第2
加算器の出力が桁上がりとして次段の該演算ユニットに
供給されるように構成されている。
【0017】この構成の場合、1桁がnビットで共にm
+1桁であるAとBとの積の下位m+1桁を、最も少な
いm+1段の演算ユニットを用いた直並列型乗算器によ
り、最も高速に演算することができる。この構成は主に
、AとBの数値が比較的小さい場合に利用される。
【0018】
【実施例】以下、図面に基づいて本発明の実施例を説明
する。
【0019】第2図は、各1バイトのレジスタ1、2及
び3に格納された合計3バイトの値と、同じく各1バイ
トのレジスタA、B及びCに格納された合計3バイトの
値との乗算方法説明図であって、バイト単位の積である
部分積と、バイト単位を1桁として部分積を加算した積
との関係を示す。図中、例えば3CHは、レジスタ3に
格納された値とレジスタCに格納された値との積の上位
8ビットを示し、3CLはこの積の下位8ビットを示す
。他の部分積についても同様である。
【0020】以下の第1実施例では、積の上位3バイト
を求める直並列型乗算器を示し、第2実施例では、積の
下位3バイトを求める直並列型乗算器を示す。第1実施
例は主に浮動小数点数の乗算に用いられ、第2実施例は
1〜3バイト×1〜3バイトの積の下位3バイトを求め
るのに用いられる。
【0021】(1)第1実施例 第3図乃至第9図は、直並列型乗算器の各クロックサイ
クルにおける状態を示す。第10図は、この直並列型乗
算器の動作を示すタイミングチャートである。
【0022】この直並列型乗算器は、同一構成の3つの
演算ユニット10、20及び30が並置され、隣合う演
算ユニット間が1バイト分のデータバスで接続されてい
る。
【0023】演算ユニット10は、上記レジスタ1及び
Aと、構成要素11〜17とを備えている。レジスタ1
は、ゲート12を介して乗算器11の一方の入力端子に
接続され、レジスタAは、乗算器11の他方の入力端子
に接続されている。乗算器11の出力端子は、2バイト
のレジスタ13の入力端子に接続されている。レジスタ
13は、上位バイトレジスタ13Hと下位バイトレジス
タ13Lとからなる。上位バイトレジスタ13Hの出力
端子は、加算器14の一方の入力端子に接続され、加算
器14の他方の入力端子は、ゲート12の乗算器11側
の端子に接続されている。加算器14の出力端子は、レ
ジスタ15を介して加算器16の一方の入力端子に接続
され、加算器16の他方の入力端子には、下位バイトレ
ジスタ13Lの出力端子が接続されている。加算器16
の出力端子は、双方向セレクタ17のb側端子に接続さ
れている。双方向セレクタ17は、共通端子をa側又は
b側に切換え接続するものであり、そのa側端子は、ゲ
ート12の乗算器11側の端子に接続されている。
【0024】加算器16のキャリー出力端子は、加算器
14のキャリー入力端子に接続されており、加算器16
からキャリーC11が加算器14に供給される。
【0025】また、ゲート12は開閉信号S1で開閉制
御され、双方向セレクタ17は切換信号SCで切換制御
される。レジスタ13は、クロックφ1の立上がりのタ
イミングで入力データを保持し、レジスタ15はクロッ
クφ0の立上がりのタイミングで入力データを保持する
【0026】演算ユニット20の構成要素2i(i=1
〜7、以下同様。)及び演算ユニット30の構成要素3
iは、演算ユニット10の構成要素1iに対応している
。また、演算ユニット20中の開閉信号S2及びキャリ
ーC21並びに演算ユニット30中の開閉信号S3及び
キャリーC31はそれぞれ、演算ユニット10中の開閉
信号S1及びキャリーC11に対応している。
【0027】演算ユニット10と演算ユニット20との
間は、双方向セレクタ17の共通端子が双方向セレクタ
27のa側端子に接続されている。また、加算器24の
キャリー出力端子が加算器14の一方の入力端子の第1
ビットに接続されて、加算器24からのキャリーC22
が加算器14に供給される。演算ユニット20と演算ユ
ニット30との間は、双方向セレクタ27の共通端子が
双方向セレクタ37のa側端子に接続されている。また
、演算ユニット30と演算ユニット10との間は、加算
器34のキャリー出力端子が加算器16のキャリー入力
端子に接続されており、加算器34からのキャリーC3
2が加算器16に供給される。
【0028】次に、上記の如く構成された直並列型乗算
器の動作を説明する。
【0029】第10図に示す如く、クロックφ0の立ち
上がりから次のクロックφ1の立ち上がりまでの時間を
クロックサイクル1a、2a、3a、4aとし、クロッ
クφ1の立ち上がりから次のクロックφ0の立ち上がり
までの時間をクロックサイクル1b、2b、3bとする
。第3乃至第9図はそれぞれ、クロックサイクル1a、
1b、2a、2b、3a、3b及び4aでの状態を示す
【0030】■クロックサイクル1a(第3図)開閉信
号S1及びS2によりそれぞれゲート12及び22が閉
状態にされ、開閉信号S3によりゲート32が開状態に
され、切換信号SCにより双方向セレクタ17、27及
び37がa側に切換えられ、クリア信号(不図示)によ
りレジスタ15、25及び35がクリアされる。
【0031】これにより、レジスタ3の内容が、乗算器
31の一方の入力端子に供給されると共に、ゲート32
及び双方向セレクタ27を介して乗算器21の一方の入
力端子に供給され、さらに双方向セレクタ17を介して
乗算器11の一方の入力端子に供給される。そして、レ
ジスタ3の内容とレジスタCの内容との積が乗算器31
で演算され、レジスタ3の内容とレジスタBの内容との
積が乗算器21で演算され、レジスタ3の内容とレジス
タAの内容との積が乗算器11で演算される。
【0032】■クロックサイクル1b(第4図)乗算器
11、21及び31の演算結果がクロックφ1の立ち上
がりのタイミングで、それぞれレジスタ13、23及び
33に保持され、開閉信号S3によりゲート32が閉状
態にされる。また、切換信号SCにより双方向セレクタ
17、27及び37がb側に切換えられる。
【0033】これにより、上位バイトレジスタ13Hの
内容3AHとキャリーC11とキャリーC22との和が
加算器14で演算され、下位バイトレジスタ13Lの内
容3ALとレジスタ15の内容0とキャリーC32との
和が加算器16で演算され、この演算結果と上位バイト
レジスタ23Hの内容3BHとキャリーC21との和が
加算器24で演算される。また、下位バイトレジスタ2
3Lの内容3BLとレジスタ25の内容0との和が加算
器26で演算され、この演算結果と上位バイトレジスタ
33Hの内容3CHとキャリーC31との和が加算器3
4で演算され、下位バイトレジスタ33Lの内容3CL
とレジスタ35の内容0との和が加算器36で演算され
る。
【0034】■クロックサイクル2a(第5図)加算器
14、24及び34の演算結果がクロックφ0の立ち上
がりのタイミングで、それぞれレジスタ15、25及び
35に保持される。また、開閉信号S2によりゲート2
2が開状態にされ、切換信号SCにより双方向セレクタ
17、27及び37がa側に切換えられる。
【0035】これにより、レジスタ2の内容が、ゲート
22を介して乗算器21の一方の入力端子に供給される
と共に、ゲート22及び双方向セレクタ17を介して乗
算器11の一方の入力端子に供給され、さらに、ゲート
22及び双方向セレクタ27を介して乗算器31の一方
の入力端子に供給される。そして、レジスタ2の内容と
レジスタAの内容との積が乗算器11で演算され、レジ
スタ2の内容とレジスタBの内容との積が乗算器21で
演算され、レジスタ2の内容とレジスタCの内容との積
が乗算器31で演算される。
【0036】■クロックサイクル2b(第6図)乗算器
11、21及び31の演算結果がクロックφ1の立ち上
がりのタイミングで、それぞれレジスタ13、23及び
33に保持され、開閉信号S2によりゲート22が閉状
態にされる。また、切換信号SCにより双方向セレクタ
17、27及び37がb側に切換えられる。
【0037】これにより、上位バイトレジスタ13Hの
内容2AHとキャリーC11とキャリーC22との和が
加算器14で演算され、下位バイトレジスタ13Lの内
容2ALとレジスタ15の内容3AHとキャリーC32
との和が加算器16で演算され、この演算結果と上位バ
イトレジスタ23Hの内容2BHとキャリーC21との
和が加算器24で演算される。また、下位バイトレジス
タ23Lの内容2BLとレジスタ25の内容3AL+3
BHとの和が加算器26で演算され、この演算結果と上
位バイトレジスタ33Hの内容2CHとキャリーC31
との和が加算器34で演算され、下位バイトレジスタ3
3Lの内容2CLとレジスタ35の内容3BL+3CH
との和が加算器36で演算される。
【0038】■クロックサイクル3a(第7図)加算器
14、24及び34の演算結果がクロックφ0の立ち上
がりのタイミングで、それぞれレジスタ15、25及び
35に保持される。また、開閉信号S1によりゲート1
2が開状態にされ、切換信号SCにより双方向セレクタ
17、27及び37がa側に切換えられる。
【0039】これにより、レジスタ1の内容が、ゲート
12を介して乗算器11の一方の入力端子に供給される
と共に、ゲート12及び双方向セレクタ17を介して乗
算器21の一方の入力端子に供給され、さらに双方向セ
レクタ27を介して乗算器31の一方の入力端子に供給
される。そして、レジスタ1の内容とレジスタAの内容
との積が乗算器11で演算され、レジスタ1の内容とレ
ジスタBの内容との積が乗算器21で演算され、レジス
タ1の内容とレジスタCの内容との積が乗算器31で演
算される。
【0040】■クロックサイクル3b(第8図)乗算器
11、21及び31の演算結果がクロックφ1の立ち上
がりのタイミングで、それぞれレジスタ13、23及び
33に保持され、開閉信号S1によりゲート12が閉状
態にされる。また、切換信号SCにより双方向セレクタ
17、27及び37がb側に切換えられる。
【0041】これにより、上位バイトレジスタ13Hの
内容1AHとキャリーC11とキャリーC22との和が
加算器14で演算され、下位バイトレジスタ13Lの内
容1ALとレジスタ15の内容2AHとキャリーC32
との和が加算器16で演算され、この演算結果と上位バ
イトレジスタ23Hの内容1BHとキャリーC21との
和が加算器24で演算される。また、下位バイトレジス
タ23Lの内容1BLとレジスタ25の内容3AH+2
AL+2BHとの和が加算器26で演算され、この演算
結果と上位バイトレジスタ33Hの内容1CHとキャリ
ーC31との和が加算器34で演算され、下位バイトレ
ジスタ33Lの内容1CLとレジスタ35の内容3AL
+3BH+2BL+2CHとの和が加算器36で演算さ
れる。
【0042】■クロックサイクル4a(第9図)加算器
14、24及び34の演算結果がクロックφ0の立ち上
がりのタイミングで、それぞれレジスタ15、25及び
35に保持される。
【0043】このようにして、レジスタ1、2及び3に
格納された3バイトの値と、レジスタA、B及びCに格
納された3バイトの値との積の上位3バイト1AH、2
AH+1AL+1BH、3AH+2AL+2BH+1B
L+1CHが、それぞれレジスタ15、25及び35に
保持される。
【0044】(2)第2実施例 第11図乃至第17図は、直並列型乗算器の各クロック
サイクルにおける状態を示す。第18図は、この直並列
型乗算器の動作を示すタイミングチャートである。
【0045】この直並列型乗算器は、上記第1実施例と
同様に、同一構成の3つの演算ユニット10A、20A
及び30Aが並置され、隣合う演算ユニット間が1バイ
ト分のデータバスで接続されている。
【0046】演算ユニット10A、20A及び30A内
の構成要素はそれぞれ、第3図の演算ユニット10、2
0及び30内の構成要素と左右鏡像関係に配置されてい
る。すなわち、演算ユニット10Aは、下位バイトレジ
スタ13Lの出力端子が加算器14の一方の入力端子に
接続され、上位バイトレジスタ13Hの出力端子が加算
器14の一方の入力端子に接続されている外は、演算ユ
ニット10と同一である。演算ユニット20A、30A
についても同様である。
【0047】加算器14のキャリー出力端子は、加算器
16のキャリー入力端子に接続されており、加算器14
からキャリーC11が加算器16に供給される。演算ユ
ニット20A中のキャリーC21及び演算ユニット30
A中のキャリーC31は、演算ユニット10A中のキャ
リーC11に対応している。
【0048】演算ユニット10Aと演算ユニット20A
との間は、双方向セレクタ27の共通端子が双方向セレ
クタ17のa側端子に接続され、演算ユニット20Aと
演算ユニット30Aとの間は、双方向セレクタ37の共
通端子が双方向セレクタ27のa側端子に接続されてい
る。また、演算ユニット30Aと演算ユニット10Aと
の間は、加算器36のキャリー出力端子が加算器14の
キャリー入力端子に接続されており、加算器36からの
キャリーC32が加算器14に供給される。
【0049】次に、上記の如く構成された直並列型乗算
器の動作を説明する。
【0050】第1実施例と同様に、第18図に示す如く
、クロックφ0の立ち上がりから次のクロックφ1の立
ち上がりまでの時間をクロックサイクル1a、2a、3
a、4aとし、クロックφ1の立ち上がりから次のクロ
ックφ0の立ち上がりまでの時間をクロックサイクル1
b、2b、3bとする。第11乃至第17図はそれぞれ
、クロックサイクル1a、1b、2a、2b、3a、3
b及び4aでの状態を示す。
【0051】■クロックサイクル1a(第11図)開閉
信号S2及びS3によりそれぞれゲート22及び32が
閉状態にされ、開閉信号S1によりゲート12が開状態
にされ、切換信号SCにより双方向セレクタ17、27
及び37がa側に切換えられ、クリア信号(不図示)に
よりレジスタ15、25及び35がクリアされる。
【0052】これにより、レジスタ1の内容が、乗算器
11の一方の入力端子に供給されると共に、ゲート12
及び双方向セレクタ27を介して乗算器21の一方の入
力端子に供給され、さらに双方向セレクタ37を介して
乗算器31の一方の入力端子に供給される。そして、レ
ジスタ1の内容とレジスタAの内容との積が乗算器11
で演算され、レジスタ1の内容とレジスタBの内容との
積が乗算器21で演算され、レジスタ1の内容とレジス
タCの内容との積が乗算器31で演算される。
【0053】■クロックサイクル1b(第12図)乗算
器11、21及び31の演算結果がクロックφ1の立ち
上がりのタイミングで、それぞれレジスタ13、23、
33に保持され、開閉信号S3によりゲート32が閉状
態にされる。また、切換信号SCにより双方向セレクタ
17、27及び37がb側に切換えられる。
【0054】これにより、下位バイトレジスタ33Lの
内容1CLと0との和が加算器34で演算され、上位バ
イトレジスタ33Hの内容1CHとレジスタ35の内容
0とキャリーC31との和が加算器36で演算され、こ
の演算結果と下位バイトレジスタ23Lの内容1BLと
の和が加算器24で演算される。また、上位バイトレジ
スタ23Hの内容1BHとレジスタ25の内容0とキャ
リーC21との和が加算器26で演算され、この演算結
果と下位バイトレジスタ13Lの内容1ALとキャリー
C32との和が加算器14で演算され、上位バイトレジ
スタ13Hの内容1AHとレジスタ15の内容0とキャ
リーC11との和が加算器16で演算される。
【0055】■クロックサイクル2a(第13図)加算
器14、24及び34の演算結果がクロックφ0の立ち
上がりのタイミングで、それぞれレジスタ15、25及
び35に保持される。また、開閉信号S2によりゲート
22が開状態にされ、切換信号SCにより双方向セレク
タ17、27及び37がa側に切換えられる。
【0056】これにより、レジスタ2の内容が、ゲート
22を介して乗算器21の一方の入力端子に供給される
と共に、ゲート22及び双方向セレクタ27を介して乗
算器11の一方の入力端子に供給され、さらに、ゲート
22及び双方向セレクタ37を介して乗算器31の一方
の入力端子に供給される。そして、レジスタ2の内容と
レジスタAの内容との積が乗算器11で演算され、レジ
スタ2の内容とレジスタBの内容との積が乗算器21で
演算され、レジスタ2の内容とレジスタCの内容との積
が乗算器31で演算される。
【0057】■クロックサイクル2b(第14図)乗算
器11、21及び31の演算結果がクロックφ1の立ち
上がりのタイミングで、それぞれレジスタ13、23、
33に保持され、開閉信号S2によりゲート22が閉状
態にされる。また、切換信号SCにより双方向セレクタ
17、27及び37がb側に切換えられる。
【0058】これにより、下位バイトレジスタ33Lの
内容2CLと0との和が加算器34で演算され、上位バ
イトレジスタ33Hの内容2CHとレジスタ35の内容
1CLとキャリーC31との和が加算器36で演算され
、この演算結果と下位バイトレジスタ23Lの内容2B
Lとの和が加算器24で演算される。また、上位バイト
レジスタ23Hの内容2BHとレジスタ25の内容1B
L+1CHとキャリーC21との和が加算器26で演算
され、この演算結果と下位バイトレジスタ13Lの内容
2BLとキャリーC32との和が加算器14で演算され
、上位バイトレジスタ13Hの内容2AHとレジスタ1
5の内容1AL+1BHとキャリーC11との和が加算
器16で演算される。
【0059】■クロックサイクル3a(第15図)加算
器14、24及び34の演算結果がクロックφ0の立ち
上がりのタイミングで、それぞれレジスタ15、25及
び35に保持される。また、開閉信号S3によりゲート
32が開状態にされ、切換信号SCにより双方向セレク
タ17、27及び37がa側に切換えられる。
【0060】これにより、レジスタ3の内容が、乗算器
31の一方の入力端子に供給されると共に、ゲート32
及び双方向セレクタ37を介して乗算器21の一方の入
力端子に供給され、さらに双方向セレクタ27を介して
乗算器11の一方の入力端子に供給される。そして、レ
ジスタ3の内容とレジスタCの内容との積が乗算器31
で演算され、レジスタ3の内容とレジスタBの内容との
積が乗算器21で演算され、レジスタ3の内容とレジス
タAの内容との積が乗算器11で演算される。
【0061】■クロックサイクル3b(第16図)乗算
器11、21及び31の演算結果がクロックφ1の立ち
上がりのタイミングで、それぞれレジスタ13、23、
33に保持され、開閉信号S3によりゲート32が閉状
態にされる。また、切換信号SCにより双方向セレクタ
17、27及び37がb側に切換えられる。
【0062】これにより、下位バイトレジスタ33Lの
内容3CLと0との和が加算器34で演算され、上位バ
イトレジスタ33Hの内容3CHとレジスタ35の内容
2CLとキャリーC31との和が加算器36で演算され
、この演算結果と下位バイトレジスタ23Lの内容3B
Lとの和が加算器24で演算される。また、上位バイト
レジスタ23Hの内容3BHとレジスタ25の内容2B
L+2CH+1CLとキャリーC21との和が加算器2
6で演算され、この演算結果と下位バイトレジスタ13
Lの内容3ALとキャリーC32との和が加算器14で
演算され、上位バイトレジスタ13Hの内容3AHとレ
ジスタ15の内容2AL+2BH+1BL+1CHとキ
ャリーC11との和が加算器16で演算される。
【0063】■クロックサイクル4a(第17図)加算
器14、24及び34の演算結果がクロックφ0の立ち
上がりのタイミングで、それぞれレジスタ15、25及
び35に保持される。
【0064】このようにして、レジスタ1、2及び3に
格納された3バイトの値と、レジスタA、B及びCに格
納された3バイトの値との積の下位3バイト3AL+3
BH+2BL+2CH+1CL、3BL+3CH+2C
L、3CLがそれぞれレジスタ15、25及び35に保
持される。
【0065】なお、本発明には外にも種々の変形例が含
まれる。
【0066】例えば、第1実施例の直並列型乗算器と第
2実施例の直並列型乗算器とを、配線を切換接続するこ
とにより一方から他方の構成に変更するようにしてもよ
い。このようにすれば、例えば上記3バイト×3バイト
の積6バイトの全てを、3つの演算ユニット10Aで求
めることができる。また、前記切換接続しなくても、6
つ演算ユニット10Aを用いればこの積6バイトの全て
を求めることができる。
【0067】
【発明の効果】以上説明した如く、本発明に係る直並列
型乗算器によれば、乗数及び被乗数のビット数の増加に
対しては、単に同一構成の演算ユニットの段数を増やせ
ばよいので、ハードウエア構成を単純に拡張することが
できるという優れた効果を奏する。また、直列型乗算器
のような1ビット単位のシフト演算を行わずに、nビッ
ト単位で演算ユニット間において桁送り(並列データ転
送)を行うので、高速演算が可能となるという効果を奏
する。
【0068】また、上記切換スイッチ手段を備えれば、
演算ユニット間において、各ゲートの乗算器側の端子間
の接続と桁加算回路間の接続とを、1つに纏めることが
できるので、演算ユニット間の接続が簡単になるという
効果を奏する。
【0069】また、桁加算回路を、中間レジスタの上位
nビットの値と1つ上位の桁の演算ユニットからの桁下
がりとの和を演算する第1加算器と、中間レジスタの下
位nビットの値と出力レジスタの内容との和を演算する
第2加算器とを有する構成とし、第1加算器の出力が前
記出力レジスタに保持され、第2加算器の出力が桁下が
りとして次段の演算ユニットに供給されるように構成す
れば、1桁がnビットで共にm+1桁であるAとBとの
積の上位m+1桁を、最も少ないm+1段の演算ユニッ
トを用いた直並列型乗算器により、最も高速に演算する
ことができるという効果を奏する。
【0070】また、桁加算回路を、中間レジスタの下位
nビットの値と1つ下位の桁の演算ユニットからの桁上
がりとの和を演算する第1加算器と、中間レジスタの上
位nビットの値と出力レジスタの内容との和を演算する
第2加算器とを有する構成とし、第1加算器の出力が出
力レジスタに保持され、第2加算器の出力が桁上がりと
して次段の演算ユニットに供給されるように構成すれば
、1桁がnビットで共にm+1桁であるAとBとの積の
下位m+1桁を、最も少ないm+1段の演算ユニットを
用いた上記直並列型乗算器により、最も高速に演算する
ことができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明に係る直並列型乗算器の原理構成を示す
ブロック図である。
【図2】各1バイトのレジスタ1、2及び3に格納され
た合計3バイトの値と、同じく各1バイトのレジスタA
、B及びCに格納された合計3バイトの値との乗算方法
説明図である。
【図3】第10図に示すクロックサイクル1aの状態の
、直並列型乗算器の回路図である。
【図4】第10図に示すクロックサイクル1bの状態の
、直並列型乗算器の回路図である。
【図5】第10図に示すクロックサイクル2aの状態の
、直並列型乗算器の回路図である。
【図6】第10図に示すクロックサイクル2bの状態の
、直並列型乗算器の回路図である。
【図7】第10図に示すクロックサイクル3aの状態の
、直並列型乗算器の回路図である。
【図8】第10図に示すクロックサイクル3bの状態の
、直並列型乗算器の回路図である。
【図9】第10図に示すクロックサイクル4aの状態の
、直並列型乗算器の回路図である。
【図10】直並列型乗算器の動作を示すタイミングチャ
ートである。
【図11】第18図に示すクロックサイクル1aの状態
の、直並列型乗算器の回路図である。
【図12】第18図に示すクロックサイクル1bの状態
の、直並列型乗算器の回路図である。
【図13】第18図に示すクロックサイクル2aの状態
の、直並列型乗算器の回路図である。
【図14】第18図に示すクロックサイクル2bの状態
の、直並列型乗算器の回路図である。
【図15】第18図に示すクロックサイクル3aの状態
の、直並列型乗算器の回路図である。
【図16】第18図に示すクロックサイクル3bの状態
の、直並列型乗算器の回路図である。
【図17】第18図に示すクロックサイクル4aの状態
の、直並列型乗算器の回路図である。
【図18】直並列型乗算器の動作を示すタイミングチャ
ートである。
【符号の説明】
1〜3、A〜C、13、23、33、15、25、35
  レジスタ 10、10A、20、20A、30、30A  演算ユ
ニット 11、21、31  乗算器 12、22、32  ゲート 14、24、34、16、26、36  加算器17、
27、37  双方向セレクタ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】  A0、A1、・・・、Am及びB0、
    B1、・・・、Bmがそれぞれnビットで表わされ、A
    =A0+A1×2n +・・・+Am×2mn、B=B
    0+B1×2n +・・・+Bm×2mnと表わされる
    AとBとの積を演算する直並列型乗算器において、同一
    構成のm+1段の演算ユニット(U0〜Um)と、制御
    回路(C)とを備え、nビットを1桁とし、第i段の該
    演算ユニット(Ui)は、該Aiが格納されるnビット
    の第1入力レジスタ(RAi)と、該Biが格納される
    nビットの第2入力レジスタ(RBi)と、開閉制御信
    号に応答して開状態又は閉状態にするゲート(Gi)と
    、一方の入力端子に該第1入力レジスタの出力端子が該
    ゲートを介して接続され、他方の入力端子に該第2入力
    レジスタの出力端子が接続され、該両入力端子に供給さ
    れる値の積を演算する乗算器(Mi)と、該乗算器の出
    力端子に接続され、第1保持制御信号に応答して該積を
    部分積として保持する2nビットの中間レジスタ(RM
    i)と、前段の該演算ユニットから桁送りされた値と該
    中間レジスタに保持された値とについて、同一桁の部分
    積の和を演算し、該桁と異なる桁の値を次段の該演算ユ
    ニットに桁送りする桁加算回路(ADi)と、第2保持
    制御信号に応答して該部分積の和を保持する出力レジス
    タ(RCi)とを有し、各該演算ユニットの該乗算器の
    該一方の入力端子が互いに接続され、該桁上げが行なわ
    れるように該桁加算回路が該演算ユニット間で接続され
    、該制御回路(C)は、該ゲート(G0〜Gm)に該開
    閉信号を供給して第i段の該演算ユニット(Ui)の該
    ゲート(Gi)のみを開状態にさせることにより、A0
    、A1、・・・、AmとBiとの部分積を該乗算器(M
    0〜Mm)に演算させ、該中間レジスタ(RM0〜RM
    m)に該第1保持制御信号を供給して該部分積を該中間
    レジスタに保持させ、該出力レジスタ(RC0〜RCm
    )に該第2保持制御信号を供給して該部分積の該和を該
    出力レジスタに保持させ、該演算及び該保持をi=0〜
    mの各々について順に実行させることを特徴とする直並
    列型乗算器。
  2. 【請求項2】  a側端子が前記ゲートの前記乗算器側
    の端子に接続され、b側端子が前記桁送りを出力する端
    子に接続され、共通端子が次段の前記演算ユニットの前
    記ゲートの前記乗算器側の端子に接続され、切換制御信
    号(SC)に応じて該共通端子を該a側端子又は該b側
    端子の一方に接続させる切換スイッチ手段(17、27
    、37)を備え、前記制御回路(C)は、該切換スイッ
    チ手段に該切換制御信号を供給して該切換スイッチ手段
    をa側にさせた状態で前記部分積を演算させ、該切換ス
    イッチ手段に該切換制御信号を供給して該切換スイッチ
    手段をb側にさせた状態で前記部分積の和を演算させか
    つ前記桁送りを行なわせることを特徴とする請求項1記
    載の直並列型乗算器。
  3. 【請求項3】  前記桁加算回路(ADi)は、前記中
    間レジスタ(13、23、33)の上位nビットの値と
    1つ上位の桁の前記演算ユニットからの桁下がりとの和
    を演算する第1加算器(14、24、34)と、該中間
    レジスタの下位nビットの値と前記出力レジスタ(15
    、25、35)の内容との和を演算する第2加算器(1
    6、26、36)とを有し、該第1加算器の出力が前記
    出力レジスタに保持され、該第2加算器の出力が桁下が
    りとして次段の該演算ユニットに供給されることを特徴
    とする請求項1又は2記載の直並列型乗算器。
  4. 【請求項4】  前記桁加算回路(ADi)は、前記中
    間レジスタ(13、23、33)の下位nビットの値と
    1つ下位の桁の前記演算ユニットからの桁上がりとの和
    を演算する第1加算器(14、24、34)と、該中間
    レジスタの上位nビットの値と前記出力レジスタ(15
    、25、35)の内容との和を演算する第2加算器(1
    6、26、36)とを有し、該第1加算器の出力が前記
    出力レジスタに保持され、該第2加算器の出力が桁上が
    りとして次段の該演算ユニットに供給されることを特徴
    とする請求項1又は2記載の直並列型乗算器。
JP2402364A 1990-12-14 1990-12-14 直並列型乗算器 Withdrawn JPH04216126A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2402364A JPH04216126A (ja) 1990-12-14 1990-12-14 直並列型乗算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2402364A JPH04216126A (ja) 1990-12-14 1990-12-14 直並列型乗算器

Publications (1)

Publication Number Publication Date
JPH04216126A true JPH04216126A (ja) 1992-08-06

Family

ID=18512183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2402364A Withdrawn JPH04216126A (ja) 1990-12-14 1990-12-14 直並列型乗算器

Country Status (1)

Country Link
JP (1) JPH04216126A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007078939A3 (en) * 2005-12-30 2007-11-15 Intel Corp Multiplier

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007078939A3 (en) * 2005-12-30 2007-11-15 Intel Corp Multiplier
US8073892B2 (en) 2005-12-30 2011-12-06 Intel Corporation Cryptographic system, method and multiplier

Similar Documents

Publication Publication Date Title
JPH0225987A (ja) 画像処理集積回路装置
EP0504996B1 (en) Arithmetic unit for multiplying long integers modulo M and R.S.A. converter provided with such multiplication device
JPS62284510A (ja) 移動係数を用いた縦続接続可能なデジタルフイルタプロセツサ
US4939684A (en) Simplified processor for digital filter applications
JPH082014B2 (ja) 多段デジタル・フィルタ
JPH0812657B2 (ja) デ ー タ 記 憶 装 置
JPH11266140A (ja) ディジタルフィルタを実現するプログラム可能な回路
US5675527A (en) Multiplication device and sum of products calculation device
US5285403A (en) Arithmetic processing module to be associated with a microprocessor central processing unit
JPH04503720A (ja) デジタル信号処理装置のフレキシブル制御装置及び方法
JPH04216126A (ja) 直並列型乗算器
KR100235537B1 (ko) 디지털 필터의 가변탭 구조 및 그의 곱셈회로
JPS58151644A (ja) デイジタル演算装置
RU2097828C1 (ru) Программируемый цифровой фильтр
RU1791818C (ru) Устройство дл контрол остаточного кода по модулю три
JP3155026B2 (ja) 累算器
WO2000034853A1 (en) A serial-parallel binary multiplier
US6941418B1 (en) Integrated circuit and method outputting data
US5367700A (en) System for multiplying digital input data in a multiplier circuit
US7043513B2 (en) Clock balanced segmentation digital filter provided with optimun area of data path
GB2345562A (en) Digital signal processor for performing fixed-point and/or integer arithmetic
JPS58147223A (ja) デイジタルフイルタ
JPH0284807A (ja) ディジタル信号処理装置
JPH1185470A (ja) 演算回路
JPH0795671B2 (ja) デイジタルフイルタ

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980312