JPH0640301B2 - 並列乗算回路 - Google Patents
並列乗算回路Info
- Publication number
- JPH0640301B2 JPH0640301B2 JP58175881A JP17588183A JPH0640301B2 JP H0640301 B2 JPH0640301 B2 JP H0640301B2 JP 58175881 A JP58175881 A JP 58175881A JP 17588183 A JP17588183 A JP 17588183A JP H0640301 B2 JPH0640301 B2 JP H0640301B2
- Authority
- JP
- Japan
- Prior art keywords
- multiplier
- multiplicand
- partial product
- registers
- partial
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction 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/5336—Reduction 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/5338—Reduction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3884—Pipelining
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)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 「産業上の利用分野」 この発明は、例えばブース(Booth)のアルゴリズムを用
いたパイプライン並列乗算回路に使用して好適な並列乗
算回路に関する。
いたパイプライン並列乗算回路に使用して好適な並列乗
算回路に関する。
「背景技術とその問題点」 第1図は、この発明を適用することができる従来の2次
のブースのアルゴリズムを用いた並列乗算回路の一例を
示す。以下の説明では、被乗数X及び乗数Yが2の補数
コードである(x9,x8,………x0)の10ビツト及び2
の補数コードである(y9,y8,………y0)の10ビツト
としており、両者の積(X・Y)を求める場合が述べら
れている。
のブースのアルゴリズムを用いた並列乗算回路の一例を
示す。以下の説明では、被乗数X及び乗数Yが2の補数
コードである(x9,x8,………x0)の10ビツト及び2
の補数コードである(y9,y8,………y0)の10ビツト
としており、両者の積(X・Y)を求める場合が述べら
れている。
第1図において、1は被乗数Xが貯えられているレジス
タ,2が乗数Yが貯えられているレジスタである。被乗
数Xがセレクタ3,4,5,6,7に供給される。乗数
Yの下位の2ビツトy0,y1と0とがエンコーダ8に供給
され、乗数Yの3ビツトy1,y2,y3がエンコーダ9に供
給され、3ビツトy3,y4,y5がエンコーダ10に供給さ
れ、3ビツトy5,y6,y7がエンコーダ11に供給され、
3ビツトy7,y8,y9がエンコーダ12に供給される。こ
のエンコーダ8,9,10,11,12は、3ビツトの
出力を発生し、この出力により、セレクタ3,4,5,
6,7の夫々が制御され、11ビツトの部分積PA,P
B,PC,PD,PEが形成される。
タ,2が乗数Yが貯えられているレジスタである。被乗
数Xがセレクタ3,4,5,6,7に供給される。乗数
Yの下位の2ビツトy0,y1と0とがエンコーダ8に供給
され、乗数Yの3ビツトy1,y2,y3がエンコーダ9に供
給され、3ビツトy3,y4,y5がエンコーダ10に供給さ
れ、3ビツトy5,y6,y7がエンコーダ11に供給され、
3ビツトy7,y8,y9がエンコーダ12に供給される。こ
のエンコーダ8,9,10,11,12は、3ビツトの
出力を発生し、この出力により、セレクタ3,4,5,
6,7の夫々が制御され、11ビツトの部分積PA,P
B,PC,PD,PEが形成される。
エンコーダ8〜12に対する入力をyi+2,yi+1,yiと
し、その出力をeとし、セレクタ3〜7の出力に得られ
る部分積をPPとすると、2次のブースのアルゴリズム
では、この部分積PPが下記に示すものとなる。
し、その出力をeとし、セレクタ3〜7の出力に得られ
る部分積をPPとすると、2次のブースのアルゴリズム
では、この部分積PPが下記に示すものとなる。
なお、セレクタ3〜7が1の補数演算(反転)のみを行
なう構成の時には、2の補数演算の負の表現を行なうた
めの補正を行なうために、1ビツトが付加され、部分積
が12ビツトとなる。
なう構成の時には、2の補数演算の負の表現を行なうた
めの補正を行なうために、1ビツトが付加され、部分積
が12ビツトとなる。
セレクタ3及び4の夫々から出力される部分積PA及び
PBが加算器13に供給され、加算器13の出力とセレ
クタ5から出力される部分積PCが加算器14に供給さ
れ、加算器14の出力とセレクタ6から出力される部分
積PDが加算器15に供給され、加算器15の出力とセ
レクタ7から出力される部分積PEが加算器16に供給
される。これらの加算器13〜16における加算の場合
に、セレクタ3〜7からの部分積が所定の重み付けをな
されて加算される。即ち、部分積PBが左へ2ビツトシ
フトされ、上位に符号を拡張した部分積PAと加算さ
れ、同様に、部分積PC,PD,PEが夫々左へ2ビツ
トシフトされ、前段の加算器13,14,15の加算出
力と加算される。加算時に、このように2ビツト左へシ
フトを行なうことは、2つの加算入力のビツト位置をず
らすだけでなしうる。そして、加算器16の出力が積
(X・Y)となり、レジスタ17に取り込まれる。
PBが加算器13に供給され、加算器13の出力とセレ
クタ5から出力される部分積PCが加算器14に供給さ
れ、加算器14の出力とセレクタ6から出力される部分
積PDが加算器15に供給され、加算器15の出力とセ
レクタ7から出力される部分積PEが加算器16に供給
される。これらの加算器13〜16における加算の場合
に、セレクタ3〜7からの部分積が所定の重み付けをな
されて加算される。即ち、部分積PBが左へ2ビツトシ
フトされ、上位に符号を拡張した部分積PAと加算さ
れ、同様に、部分積PC,PD,PEが夫々左へ2ビツ
トシフトされ、前段の加算器13,14,15の加算出
力と加算される。加算時に、このように2ビツト左へシ
フトを行なうことは、2つの加算入力のビツト位置をず
らすだけでなしうる。そして、加算器16の出力が積
(X・Y)となり、レジスタ17に取り込まれる。
この第1図に示す並列乗算回路は、レジスタ1とレジス
タ17との間に、セクレタ3〜7と4段の加算器13〜
16とが介在し、レジスタ2とレジスタ17との間に、
エンコーダ8〜12とセレクタ3〜7と4段の加算器1
3〜16とが介在している。したがつて、乗算回路の伝
搬遅延時間が大きくなり、CMOS,TTLなどの標準的なデ
バイスでは余り高速な動作が望めず、例えばデイジタル
カラービデオ信号のような高いデータレートの信号を処
理することができない問題点があつた。
タ17との間に、セクレタ3〜7と4段の加算器13〜
16とが介在し、レジスタ2とレジスタ17との間に、
エンコーダ8〜12とセレクタ3〜7と4段の加算器1
3〜16とが介在している。したがつて、乗算回路の伝
搬遅延時間が大きくなり、CMOS,TTLなどの標準的なデ
バイスでは余り高速な動作が望めず、例えばデイジタル
カラービデオ信号のような高いデータレートの信号を処
理することができない問題点があつた。
この問題点を解決するひとつの方法として、パイプライ
ン処理を行なうことが考えられる。つまり、第2図に示
すように、加算器13,14,15,16の夫々の2つ
の入力側にレジスタ18及び19,レジスタ20及び2
1,レジスタ22及び23,レジスタ24及び25を夫
々挿入し、更に、遅延量を合わせるために、セレクタ5
及びレジスタ21の間に、レジスタ27を挿入し、セレ
クタ6及びレジスタ23の間にレジスタ28,29を挿
入し、セレクタ27及びレジスタ25の間に、レジスタ
30,31,32を挿入する。このパイプライン処理の
構成とすることによつて、入力側及び出力側がレジスタ
で挾まれたセレクタ3〜7,エンコーダ8〜12,加算
器13〜16が動作しうる最高周波数のクロツクごとに
変化する入力に対する乗算が可能となる。しかしなが
ら、レジスタの数が多くなり、回路規模が大きくなる問
題点を生じる。
ン処理を行なうことが考えられる。つまり、第2図に示
すように、加算器13,14,15,16の夫々の2つ
の入力側にレジスタ18及び19,レジスタ20及び2
1,レジスタ22及び23,レジスタ24及び25を夫
々挿入し、更に、遅延量を合わせるために、セレクタ5
及びレジスタ21の間に、レジスタ27を挿入し、セレ
クタ6及びレジスタ23の間にレジスタ28,29を挿
入し、セレクタ27及びレジスタ25の間に、レジスタ
30,31,32を挿入する。このパイプライン処理の
構成とすることによつて、入力側及び出力側がレジスタ
で挾まれたセレクタ3〜7,エンコーダ8〜12,加算
器13〜16が動作しうる最高周波数のクロツクごとに
変化する入力に対する乗算が可能となる。しかしなが
ら、レジスタの数が多くなり、回路規模が大きくなる問
題点を生じる。
また、第3図は、第1図の並列乗算回路をパイプライン
処理の構成とした場合の他の構成である。この回路は、
第1図に示される回路構成と異なり、加算器の2段ごと
にパイプライン処理を行なうようにしたものである。つ
まり、加算器13及び14を1組として、その入力側に
レジスタ18,19,27を設け、加算器15及び16
を1組として、その入力側にレジスタ22,23,32
を設ける構成とされている。
処理の構成とした場合の他の構成である。この回路は、
第1図に示される回路構成と異なり、加算器の2段ごと
にパイプライン処理を行なうようにしたものである。つ
まり、加算器13及び14を1組として、その入力側に
レジスタ18,19,27を設け、加算器15及び16
を1組として、その入力側にレジスタ22,23,32
を設ける構成とされている。
更に、第4図に示すように、部分積を加算する回路構成
としては、セレクタ3及び4から出力される部分積PA
及びPBを加算器41で加算し、この加算出力とセレク
タ5からの部分積PCを加算器42で加算し、セレクタ
6及び7から出力される部分積PD及びPEを加算器4
3で加算し、加算器42及び43の出力を加算器44で
加算する構成も可能である。このように、トリー(tree)
状に加算器41,42,43,44を接続する構成は、
第5図に示すように、これらの加算器の入出力側にレジ
スタ45,46,47,48,49,50,51,52
を夫々挿入し、遅延量合わせのためのレジスタ54,5
5,56を挿入することにより、パイプライン処理の構
成とすることができる。
としては、セレクタ3及び4から出力される部分積PA
及びPBを加算器41で加算し、この加算出力とセレク
タ5からの部分積PCを加算器42で加算し、セレクタ
6及び7から出力される部分積PD及びPEを加算器4
3で加算し、加算器42及び43の出力を加算器44で
加算する構成も可能である。このように、トリー(tree)
状に加算器41,42,43,44を接続する構成は、
第5図に示すように、これらの加算器の入出力側にレジ
スタ45,46,47,48,49,50,51,52
を夫々挿入し、遅延量合わせのためのレジスタ54,5
5,56を挿入することにより、パイプライン処理の構
成とすることができる。
これらの第3図及び第5図に示す構成の並列乗算回路
は、第2図の構成と同様に、レジスタの数が多くなる欠
点を有している。
は、第2図の構成と同様に、レジスタの数が多くなる欠
点を有している。
「発明の目的」 この発明は、パイプライン処理によつて高いデータレー
トで変化する入力の乗算を可能とした並列乗算回路にお
いて、レジスタの総計のビツト数を減少させ、回路規模
が小さくされた並列乗算回路の提供を目的とするもので
ある。
トで変化する入力の乗算を可能とした並列乗算回路にお
いて、レジスタの総計のビツト数を減少させ、回路規模
が小さくされた並列乗算回路の提供を目的とするもので
ある。
「発明の概要」 この発明は、被乗数が入力され、乗数の所定ビツトの状
態に応じて部分積が生成される部分積生成回路が必要と
される部分積の数だけ設けられ、各部分積が加算される
ことにより、被乗数の乗算出力を得るようにした並列乗
算回路である。この発明の特徴は、各部分積の加算動作
にパイプライン処理が施されると共に、乗数及び被乗数
を遅延させて部分積が必要になる加算器の直前に所定の
部分積生成回路を配して部分積を得ることにある。
態に応じて部分積が生成される部分積生成回路が必要と
される部分積の数だけ設けられ、各部分積が加算される
ことにより、被乗数の乗算出力を得るようにした並列乗
算回路である。この発明の特徴は、各部分積の加算動作
にパイプライン処理が施されると共に、乗数及び被乗数
を遅延させて部分積が必要になる加算器の直前に所定の
部分積生成回路を配して部分積を得ることにある。
「実施例」 第6図に示すこの発明の一実施例は、第2図に示す並列
乗算回路にこの発明を適用したものである。
乗算回路にこの発明を適用したものである。
レジスタ1に貯えられている例えば10ビツトの2の補
数のコードの被乗数Xがセレクタ3及び4に供給される
と共に、レジスタ61に供給される。このレジスタ61
に対してレジスタ62及び63が直列に接続される。ま
た、部分積、PA及びPBの加算を行なう加算器13の
入力側にレジスタ18,19が接続される。同様に、部
分積の加算を行なう加算器14,15,16の夫々の入
力側にレジスタ20,21,22,23,24,25が
挿入され、加算器16の出力側がレジスタ17に供給さ
れる。このように、加算器13,14,15,16は、
夫々レジスタによつてはさまれた構成とされる。
数のコードの被乗数Xがセレクタ3及び4に供給される
と共に、レジスタ61に供給される。このレジスタ61
に対してレジスタ62及び63が直列に接続される。ま
た、部分積、PA及びPBの加算を行なう加算器13の
入力側にレジスタ18,19が接続される。同様に、部
分積の加算を行なう加算器14,15,16の夫々の入
力側にレジスタ20,21,22,23,24,25が
挿入され、加算器16の出力側がレジスタ17に供給さ
れる。このように、加算器13,14,15,16は、
夫々レジスタによつてはさまれた構成とされる。
この発明の一実施例における各レジスタは、1クロツク
期間、データをホールドするものである。被乗数Xは、
レジスタ61からセレクタ5に供給される。このセレク
タ5の出力に得られる部分積PCがレジスタ21を介し
て加算器14に供給される。レジスタ62からの被乗数
Xがセレクタ6に供給され、セレクタ6の出力に取り出
される部分積PDがレジスタ23を介して加算器15に
供給される。更に、レジスタ63からの被乗数Xがセレ
クタ7に供給され、セレクタ7からの部分積PEがレジ
スタ25を介して加算器16に供給される。したがつ
て、セレクタ3,4,5,6,7は、各々対応するエン
コーダ8,9,10,11,12とともにレジスタによ
つて挾まれた構成とされる。
期間、データをホールドするものである。被乗数Xは、
レジスタ61からセレクタ5に供給される。このセレク
タ5の出力に得られる部分積PCがレジスタ21を介し
て加算器14に供給される。レジスタ62からの被乗数
Xがセレクタ6に供給され、セレクタ6の出力に取り出
される部分積PDがレジスタ23を介して加算器15に
供給される。更に、レジスタ63からの被乗数Xがセレ
クタ7に供給され、セレクタ7からの部分積PEがレジ
スタ25を介して加算器16に供給される。したがつ
て、セレクタ3,4,5,6,7は、各々対応するエン
コーダ8,9,10,11,12とともにレジスタによ
つて挾まれた構成とされる。
レジスタ1から始まつて、レジスタ61,62,63に
よつて順次遅延された被乗数Xがセレクタ3〜7に供給
されるもので、これらのセレクタを制御する信号も、同
様に遅延される。0及び被乗数Yの下位の2ビツトy0,
y1は、レジスタ2からエンコーダ8に供給され、被乗数
の3ビツトy1,y2,y3がレジスタ2からエンコーダ9に
供給される。これらのエンコーダ8及び9の出力によつ
てセレクタ3及び4が制御される。エンコーダ10に
は、各1ビツトのレジスタ64,65,67を介された
被乗数Yの3ビツトy3,y4,y5が供給される。このエン
コーダ10の出力によつてセレクタ5が制御される。エ
ンコーダ11には、レジスタ67及び73を介されたビ
ツトy5と、レジスタ68及び74を介されたビツトy
6と、レジスタ70及び76を介されたy7とが供給さ
れ、このエンコーダ11の出力によつてセレクタ6が制
御される。更に、エンコーダ12には、レジスタ70,
76,79を介されたビツトy7と、レジスタ71,7
7,80を介されたビツトy8と、レジスタ72,78,
81を介されたビツトy9とが供給され、このエンコーダ
12の出力によつてセレクタ7が制御される。エンコー
ダ8〜12は、2次のブースのアルゴリズムに従つた出
力を発生するもので、セレクタ3〜7の出力に所定の部
分積PA,PB,PC,PD,PEが生成される。
よつて順次遅延された被乗数Xがセレクタ3〜7に供給
されるもので、これらのセレクタを制御する信号も、同
様に遅延される。0及び被乗数Yの下位の2ビツトy0,
y1は、レジスタ2からエンコーダ8に供給され、被乗数
の3ビツトy1,y2,y3がレジスタ2からエンコーダ9に
供給される。これらのエンコーダ8及び9の出力によつ
てセレクタ3及び4が制御される。エンコーダ10に
は、各1ビツトのレジスタ64,65,67を介された
被乗数Yの3ビツトy3,y4,y5が供給される。このエン
コーダ10の出力によつてセレクタ5が制御される。エ
ンコーダ11には、レジスタ67及び73を介されたビ
ツトy5と、レジスタ68及び74を介されたビツトy
6と、レジスタ70及び76を介されたy7とが供給さ
れ、このエンコーダ11の出力によつてセレクタ6が制
御される。更に、エンコーダ12には、レジスタ70,
76,79を介されたビツトy7と、レジスタ71,7
7,80を介されたビツトy8と、レジスタ72,78,
81を介されたビツトy9とが供給され、このエンコーダ
12の出力によつてセレクタ7が制御される。エンコー
ダ8〜12は、2次のブースのアルゴリズムに従つた出
力を発生するもので、セレクタ3〜7の出力に所定の部
分積PA,PB,PC,PD,PEが生成される。
上述のこの一実施例が第2図に示す並列演算回路と同等
の演算動作を行なうものであることを第7図及び第8図
を参照して説明する。
の演算動作を行なうものであることを第7図及び第8図
を参照して説明する。
第2図の構成において、部分積PEを生成しているセレ
クタ7,エンコーダ12、レジスタ30,31,32に
着目すると、先ず、部分積PEを生成し、そして、この
部分積PEをレジスタ30,31,32を通して遅延さ
せ、加算器16の前のレジスタ25に供給している。こ
のことは、第7図に示すように、レジスタ61,62,
63により被乗数Xを3クロツク期間遅延してセレクタ
7に供給すると共に、部分積PEを形成するのに必要な
乗数Yの3ビツトy9,y8,y7をレジスタ70,71,7
2,76,77,78,79,80,81によつて3ク
ロツク期間遅延してエンコーダ12に供給することと等
価である。
クタ7,エンコーダ12、レジスタ30,31,32に
着目すると、先ず、部分積PEを生成し、そして、この
部分積PEをレジスタ30,31,32を通して遅延さ
せ、加算器16の前のレジスタ25に供給している。こ
のことは、第7図に示すように、レジスタ61,62,
63により被乗数Xを3クロツク期間遅延してセレクタ
7に供給すると共に、部分積PEを形成するのに必要な
乗数Yの3ビツトy9,y8,y7をレジスタ70,71,7
2,76,77,78,79,80,81によつて3ク
ロツク期間遅延してエンコーダ12に供給することと等
価である。
更に、第7図において、部分積PC,PDを生成する部
分に対して上述と同様の置き換えを行なうと、第8図に
示す回路構成が得られる。つまり、部分積PCに関して
は、被乗数Xをレジスタ82により1クロツク期間遅延
してセレクタ5に供給し、レジスタ64,65,66に
より1クロツク期間遅延したビツトy3,y4,y5をエンコ
ーダ10に供給し、このエンコーダ10の出力によりセ
レクタ5を制御する。部分積PDに関しては、被乗数X
をレジスタ83及び84により2クロツク期間遅延して
セレクタ6に供給し、レジスタ67,68,69,7
3,74,75により2クロツク期間遅延したビツト
y5,y6,y7をエンコーダ11に供給し、このエンコーダ
11の出力によりセレクタ6を制御する。
分に対して上述と同様の置き換えを行なうと、第8図に
示す回路構成が得られる。つまり、部分積PCに関して
は、被乗数Xをレジスタ82により1クロツク期間遅延
してセレクタ5に供給し、レジスタ64,65,66に
より1クロツク期間遅延したビツトy3,y4,y5をエンコ
ーダ10に供給し、このエンコーダ10の出力によりセ
レクタ5を制御する。部分積PDに関しては、被乗数X
をレジスタ83及び84により2クロツク期間遅延して
セレクタ6に供給し、レジスタ67,68,69,7
3,74,75により2クロツク期間遅延したビツト
y5,y6,y7をエンコーダ11に供給し、このエンコーダ
11の出力によりセレクタ6を制御する。
以上の置き換えにより、第2図の構成と等価な第8図に
示す構成が得られる。この第8図において、レジスタ6
1,82,83は、共に被乗数Xを1クロツク期間遅延
させるもので、レジスタ62及び84は、レジスタ61
及び83の夫々の出力を1クロツク期間遅延させるもの
である。また、レジスタ66及び67の両者は、被乗数
Yのビツトy5を1クロツク期間遅延させるものであり、
レジスタ69及び70の両者は、被乗数Yのビツトy7を
クロツク期間遅延させるものであり、レジスタ75及び
76は、共にレジスタ69及び70の出力を1クロツク
期間遅延させるものである。これらの機能が重複してい
るレジスタのうちで、ひとつを残して他を省略すること
ができる。つまり、レジスタ82及び83を省略し、レ
ジスタ84を省略し、レジスタ66及び69を省略し、
レジスタ75を省略することによつて、第6図に示すこ
の発明の一実施例の構成が得られる。
示す構成が得られる。この第8図において、レジスタ6
1,82,83は、共に被乗数Xを1クロツク期間遅延
させるもので、レジスタ62及び84は、レジスタ61
及び83の夫々の出力を1クロツク期間遅延させるもの
である。また、レジスタ66及び67の両者は、被乗数
Yのビツトy5を1クロツク期間遅延させるものであり、
レジスタ69及び70の両者は、被乗数Yのビツトy7を
クロツク期間遅延させるものであり、レジスタ75及び
76は、共にレジスタ69及び70の出力を1クロツク
期間遅延させるものである。これらの機能が重複してい
るレジスタのうちで、ひとつを残して他を省略すること
ができる。つまり、レジスタ82及び83を省略し、レ
ジスタ84を省略し、レジスタ66及び69を省略し、
レジスタ75を省略することによつて、第6図に示すこ
の発明の一実施例の構成が得られる。
第2図に示す並列乗算回路と第6図に示す並列乗算回路
とを回路規模に関して比較する。両者の間で、乗数X,
被乗数Y及び積(X・Y)が夫々貯えられるレジスタ
1,2,17と、セレクタ3〜7、エンコーダ8〜12
と、加算器13〜16と、これらの加算器13〜16の
前後のレジスタ18〜25とは、共通している構成部分
である。したがつて、上記以外のレジスタに関する比較
を行なえば良い。
とを回路規模に関して比較する。両者の間で、乗数X,
被乗数Y及び積(X・Y)が夫々貯えられるレジスタ
1,2,17と、セレクタ3〜7、エンコーダ8〜12
と、加算器13〜16と、これらの加算器13〜16の
前後のレジスタ18〜25とは、共通している構成部分
である。したがつて、上記以外のレジスタに関する比較
を行なえば良い。
一例として、被乗数X及び乗数Yが夫々10ビツトで、
部分積PA〜PEが12ビツトの場合には、第2図の並
列乗算回路におけるレジスタのビツト数は、12ビツト
×6=72ビツトのビツト数となる。一方、第6図に示
すこの一実施例におけるレジスタのビツト数は、(10
ビツト×3+1ビツト×15=45ビツト)となり、2
7ビツト分のレジスタの節約を図ることができる。
部分積PA〜PEが12ビツトの場合には、第2図の並
列乗算回路におけるレジスタのビツト数は、12ビツト
×6=72ビツトのビツト数となる。一方、第6図に示
すこの一実施例におけるレジスタのビツト数は、(10
ビツト×3+1ビツト×15=45ビツト)となり、2
7ビツト分のレジスタの節約を図ることができる。
被乗数Xをmビツト,乗数Yをmビツト,部分積の数を
として一般化する。
として一般化する。
即ち、 である。
第2図に示す構成では、セレクタ5で生成された部分積
PCから更に部分積PD,PE……へ順に1段のレジス
タ27,2段のレジスタ28,29……(−2段)の
レジスタが必要となる。これらのレジスタは、(m+
2)ビツトであるので、必要なレジスタの総数は、 となる。
PCから更に部分積PD,PE……へ順に1段のレジス
タ27,2段のレジスタ28,29……(−2段)の
レジスタが必要となる。これらのレジスタは、(m+
2)ビツトであるので、必要なレジスタの総数は、 となる。
一方、第6図に示すこの発明の一実施例の構成では、m
ビツトの幅のレジスタ61,62,……が(−2)段
必要となる。これと共に、一番上位のエンコーダ12に
入る乗数Yの3ビツトのレジスタが(−2)段あり、
それ以外のエンコーダ11,10,……に入る乗数Yの
2ビツトづつのレジスタが(−3)段、(−4)
段、…ある。従つて必要なレジスタの総数は 上述の一般式に、ビツト幅mとして8ビツト,10ビツ
ト,12ビット,16ビツト、32ビツトの夫々を代入
すると、第2図に示す従来の並列乗算回路と、第6図に
示すこの発明の一実施例の構成とが必要とするビツト数
は、下記の表に示すものとなる。
ビツトの幅のレジスタ61,62,……が(−2)段
必要となる。これと共に、一番上位のエンコーダ12に
入る乗数Yの3ビツトのレジスタが(−2)段あり、
それ以外のエンコーダ11,10,……に入る乗数Yの
2ビツトづつのレジスタが(−3)段、(−4)
段、…ある。従つて必要なレジスタの総数は 上述の一般式に、ビツト幅mとして8ビツト,10ビツ
ト,12ビット,16ビツト、32ビツトの夫々を代入
すると、第2図に示す従来の並列乗算回路と、第6図に
示すこの発明の一実施例の構成とが必要とするビツト数
は、下記の表に示すものとなる。
この表から明かなように、この発明は、ビツト幅mが大
きいほどレジスタを節約する効果が非常に大きい。
きいほどレジスタを節約する効果が非常に大きい。
第9図は、この発明の他の実施例の構成を示す。この他
の実施例は、第3図に示すように、加算器の2段ごとに
パイプライン処理を施すようにした並列乗算回路に対し
てこの発明を適用したものである。部分積PA,PB,
PC,PD,PEを夫々生成するセレクタ3,4,5,
6,7は、加算器13,14,15,16の直前に配さ
れた構成とされる。
の実施例は、第3図に示すように、加算器の2段ごとに
パイプライン処理を施すようにした並列乗算回路に対し
てこの発明を適用したものである。部分積PA,PB,
PC,PD,PEを夫々生成するセレクタ3,4,5,
6,7は、加算器13,14,15,16の直前に配さ
れた構成とされる。
第10図は、この発明の更に他の実施例を示す。この更
に他の実施例は、第5図に示すように、トリー状に部分
積を加算する回路構成に対してこの発明を適用したもの
である。つまり、第5図におけるレジスタ54,55,
56を1個のレジスタ56に集約し、このレジスタ56
からの被乗数Xをセレクタ5,6,7に供給し、このセ
レクタ5,6,7を制御するエンコーダ10,11,1
2に、乗数Yの必要なビツトを各1ビツトのレジスタ9
1,92,93,94,95,96,97を介して供給
する構成とされる。
に他の実施例は、第5図に示すように、トリー状に部分
積を加算する回路構成に対してこの発明を適用したもの
である。つまり、第5図におけるレジスタ54,55,
56を1個のレジスタ56に集約し、このレジスタ56
からの被乗数Xをセレクタ5,6,7に供給し、このセ
レクタ5,6,7を制御するエンコーダ10,11,1
2に、乗数Yの必要なビツトを各1ビツトのレジスタ9
1,92,93,94,95,96,97を介して供給
する構成とされる。
上述のこの発明の他の実施例及び更に他の実施例によつ
ても、レジスタ数の節約を図ることができる。
ても、レジスタ数の節約を図ることができる。
また、この発明は、2次のブースのアルゴリズムを用い
た並列乗算回路に限らず、1次のブースのアルゴリズム
を用いた並列乗算回路,ブースのアルゴリズムを用いな
い並列乗算回路にも適用することができる。
た並列乗算回路に限らず、1次のブースのアルゴリズム
を用いた並列乗算回路,ブースのアルゴリズムを用いな
い並列乗算回路にも適用することができる。
「発明の効果」 この発明に依れば、パイプライン処理を行なつて、高速
クロツクで動作を可能とした並列乗算回路であつて、レ
ジスタのビツト数が従来の構成より大幅に減少され、回
路規模が小さな並列乗算回路を実現することができる。
クロツクで動作を可能とした並列乗算回路であつて、レ
ジスタのビツト数が従来の構成より大幅に減少され、回
路規模が小さな並列乗算回路を実現することができる。
第1図及び第2図はこの発明を適用することができる従
来の並列乗算回路の一例のブロック図及びパイプライン
処理を行なうようにした並列乗算回路の一例のブロック
図,第3図はこの発明を適用することができる並列乗算
回路の他の例のブロック図,第4図及び第5図はこの発
明を適用することができる従来の並列乗算回路の更に他
の例のブロツク図及びパイプライン処理を行なうように
した並列乗算回路の更に他の例のブロツク図,第6図は
この発明の一実施例のブロツク図、第7図及び第8図は
この発明の一実施例の説明に用いるブロツク図,第9図
はこの発明の他の実施例のブロツク図,第10図はこの
発明の更に他の実施例のブロツク図である。 1……被乗数Xが貯えられるレジスタ,2……乗数Yが
貯えられるレジスタ,3,4,5,6,7……セレク
タ,8,9,10,11,12……エンコーダ,13,
14,15,16,……加算器,17……積が貯えられ
るレジスタ。
来の並列乗算回路の一例のブロック図及びパイプライン
処理を行なうようにした並列乗算回路の一例のブロック
図,第3図はこの発明を適用することができる並列乗算
回路の他の例のブロック図,第4図及び第5図はこの発
明を適用することができる従来の並列乗算回路の更に他
の例のブロツク図及びパイプライン処理を行なうように
した並列乗算回路の更に他の例のブロツク図,第6図は
この発明の一実施例のブロツク図、第7図及び第8図は
この発明の一実施例の説明に用いるブロツク図,第9図
はこの発明の他の実施例のブロツク図,第10図はこの
発明の更に他の実施例のブロツク図である。 1……被乗数Xが貯えられるレジスタ,2……乗数Yが
貯えられるレジスタ,3,4,5,6,7……セレク
タ,8,9,10,11,12……エンコーダ,13,
14,15,16,……加算器,17……積が貯えられ
るレジスタ。
Claims (3)
- 【請求項1】乗数が入力される乗数入力部と、 被乗数が入力される被乗数入力部と、 上記乗数の所定のビットの状態に応じて上記乗数と被乗
数との部分積を形成するとともに、 必要とされる該部分積の数だけ設けられる部分積生成回
路と、 上記各部分積を加算して上記被乗数及び上記乗数の乗算
出力を得る複数の加算器と、 上記乗数を遅延させる乗数遅延部と、上記被乗数を遅延
させる被乗数遅延部とで構成される遅延手段とを有し、 上記部分積生成回路は、 第1の乗数と第1の被乗数より第1の部分積を得る第1
の部分積生成回路と、 第2の乗数と第2の被乗数より第2の部分積を得る第2
の部分積生成回路と、 第3の乗数と第3の被乗数より第3の部分積を得る第3
の部分積生成回路と、 第4の乗数と第4の被乗数より第4の部分積を得る第4
の部分積生成回路とを含み、 上記加算器での加算動作には、 前段での加算器により得た上記第1、第2の部分積の加
算結果と、上記第3の部分積とを加算するようになすと
ともに、該加算結果と上記第4の部分積とを加算するよ
うパイプライン処理が施され、 上記遅延手段は、 上記第1、第2の部分積の加算結果と上記第3の部分積
との加算動作を行わせるために上記乗数を上記乗数遅延
部にて、上記被乗数を上記被乗数遅延部にて夫々遅延さ
せるようになし、 上記第3の部分積形成回路は、 上記第3の乗数を上記乗数遅延部で遅延した信号と、上
記第3の被乗数を上記被乗数遅延部にて遅延した信号と
を利用して上記第3の部分積を形成するように上記遅延
手段の後段に配置されるとともに、 上記第3の部分積と上記第1、第2の部分積の加算結果
との加算処理を行う加算器の前段に配され、 上記第3の乗数を遅延する上記乗数遅延部は、少なくと
も上記第4の部分積を形成するための上記第4の乗数を
遅延することに兼用され、上記第3の被乗数を遅延する
上記被乗数遅延部は少なくとも上記第4の被乗数を遅延
することに兼用されることを特徴とする並列乗算回路。 - 【請求項2】特許請求の範囲第1項記載の並列乗算回路
において、上記部分積生成回路は、上記乗数の所定のビ
ットが入力され、セレクト信号を出力するエンコーダ
と、上記被乗数が入力され、上記セレクト信号により制
御されるセレクタからなることを特徴とする並列乗算回
路。 - 【請求項3】特許請求の範囲第2項記載の並列乗算回路
において、上記エンコーダはブースのアルゴリズムに従
つて上記セレクト信号を出力することを特徴とする並列
乗算回路。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58175881A JPH0640301B2 (ja) | 1983-09-22 | 1983-09-22 | 並列乗算回路 |
US06/651,155 US4706211A (en) | 1983-09-22 | 1984-09-17 | Digital multiplying circuit |
CA000463341A CA1219955A (en) | 1983-09-22 | 1984-09-17 | Digital multiplying circuit |
DE8484111298T DE3473364D1 (en) | 1983-09-22 | 1984-09-21 | Digital multiplying circuit |
EP84111298A EP0137386B1 (en) | 1983-09-22 | 1984-09-21 | Digital multiplying circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58175881A JPH0640301B2 (ja) | 1983-09-22 | 1983-09-22 | 並列乗算回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6068433A JPS6068433A (ja) | 1985-04-19 |
JPH0640301B2 true JPH0640301B2 (ja) | 1994-05-25 |
Family
ID=16003837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58175881A Expired - Lifetime JPH0640301B2 (ja) | 1983-09-22 | 1983-09-22 | 並列乗算回路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US4706211A (ja) |
EP (1) | EP0137386B1 (ja) |
JP (1) | JPH0640301B2 (ja) |
CA (1) | CA1219955A (ja) |
DE (1) | DE3473364D1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4679164A (en) * | 1984-12-17 | 1987-07-07 | The United States Of America As Represented By The Secretary Of The Army | Digital high speed programmable convolver |
US4831577A (en) * | 1986-09-17 | 1989-05-16 | Intersil, Inc. | Digital multiplier architecture with triple array summation of partial products |
JPH0816903B2 (ja) * | 1986-09-17 | 1996-02-21 | 富士通株式会社 | 積和演算回路 |
US4864529A (en) * | 1986-10-09 | 1989-09-05 | North American Philips Corporation | Fast multiplier architecture |
US5001651A (en) * | 1986-11-10 | 1991-03-19 | Auto-Trol Technology Corporation | Method and apparatus for interpolating groups of pixels on a scan line |
US4839847A (en) * | 1987-04-14 | 1989-06-13 | Harris Corp. | N-clock, n-bit-serial multiplier |
DE58906476D1 (de) * | 1988-07-05 | 1994-02-03 | Siemens Ag | In integrierter Schaltungstechnik ausgeführtes digitales neuronales Netz. |
US5136593A (en) * | 1989-10-30 | 1992-08-04 | Carnegie-Mellon University | Apparatus and method for fixed delay tree search |
JP2597736B2 (ja) * | 1990-07-17 | 1997-04-09 | 株式会社東芝 | 高速乗算器 |
JPH096614A (ja) * | 1995-06-21 | 1997-01-10 | Sanyo Electric Co Ltd | データ処理装置 |
US6484193B1 (en) * | 1999-07-30 | 2002-11-19 | Advanced Micro Devices, Inc. | Fully pipelined parallel multiplier with a fast clock cycle |
US7424506B2 (en) * | 2001-03-31 | 2008-09-09 | Durham Logistics Llc | Architecture and related methods for efficiently performing complex arithmetic |
JP2006529043A (ja) * | 2003-05-09 | 2006-12-28 | サンドブリッジ テクノロジーズ インコーポレーテッド | 飽和あり、または飽和なしで、オペランドの積和を実行するプロセッサ簡約ユニット |
US8074051B2 (en) * | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
KR102604087B1 (ko) | 2016-06-24 | 2023-11-21 | 삼성디스플레이 주식회사 | 윈도우 및 이를 포함하는 표시 장치 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3515344A (en) * | 1966-08-31 | 1970-06-02 | Ibm | Apparatus for accumulating the sum of a plurality of operands |
US4616330A (en) * | 1983-08-25 | 1986-10-07 | Honeywell Inc. | Pipelined multiply-accumulate unit |
-
1983
- 1983-09-22 JP JP58175881A patent/JPH0640301B2/ja not_active Expired - Lifetime
-
1984
- 1984-09-17 CA CA000463341A patent/CA1219955A/en not_active Expired
- 1984-09-17 US US06/651,155 patent/US4706211A/en not_active Expired - Lifetime
- 1984-09-21 DE DE8484111298T patent/DE3473364D1/de not_active Expired
- 1984-09-21 EP EP84111298A patent/EP0137386B1/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS6068433A (ja) | 1985-04-19 |
DE3473364D1 (en) | 1988-09-15 |
EP0137386A2 (en) | 1985-04-17 |
US4706211A (en) | 1987-11-10 |
EP0137386A3 (en) | 1985-08-21 |
EP0137386B1 (en) | 1988-08-10 |
CA1219955A (en) | 1987-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3479438B2 (ja) | 乗算回路 | |
JPH0640301B2 (ja) | 並列乗算回路 | |
EP0101318B1 (en) | Digital filters | |
US5177703A (en) | Division circuit using higher radices | |
CN111708512A (zh) | 加法器、运算电路、芯片和计算装置 | |
US4677583A (en) | Apparatus for decimal multiplication | |
US5331584A (en) | Discrete cosine transformation processor | |
US7035889B1 (en) | Method and apparatus for montgomery multiplication | |
JP3155026B2 (ja) | 累算器 | |
US6944217B1 (en) | Interleaved finite impulse response filter | |
KR0153759B1 (ko) | 고속 승산-누산회로 | |
KR19990005455A (ko) | 파이프라인 방식의 부스 알고리듬을 이용한 곱셈 방법 및 장치 | |
KR100451193B1 (ko) | 필터회로 | |
JPH0624310B2 (ja) | デイジタルフイルタ | |
JP2953918B2 (ja) | 演算装置 | |
JPH0520026A (ja) | 並列全加算器 | |
JPH0666638B2 (ja) | デイジタルフイルタ | |
JPH0370410B2 (ja) | ||
KR890004649Y1 (ko) | 디지탈 필터 | |
JP2005259083A (ja) | ディジタル回路 | |
JPS61267829A (ja) | ビツト分割型同期式累算器 | |
EP0817005A1 (en) | Product sum operation processing method and apparatus | |
JPH117439A (ja) | 積和器 | |
JPH02239325A (ja) | 除算回路 | |
JPH11126156A (ja) | プログラマブルデバイス及びプログラマブルデバイスにおける演算処理方法 |