JPH117439A - 積和器 - Google Patents
積和器Info
- Publication number
- JPH117439A JPH117439A JP9160019A JP16001997A JPH117439A JP H117439 A JPH117439 A JP H117439A JP 9160019 A JP9160019 A JP 9160019A JP 16001997 A JP16001997 A JP 16001997A JP H117439 A JPH117439 A JP H117439A
- Authority
- JP
- Japan
- Prior art keywords
- sum
- product
- final result
- data
- carry
- 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.)
- Granted
Links
Landscapes
- Complex Calculations (AREA)
Abstract
ることができるが、最終結果を得るための全加算器と、
その結果を格納するレジスタを設ける必要があり、ハー
ドウェア規模が大きくなる。 【解決手段】 乗算部と最終結果加算部とを一対設け、
一対の乗算部では順次供給される2入力を交互に取り込
んで演算を行い、一対の最終結果加算部では対応する一
方の乗算部で生成されたサム及びキャリーと、他方の乗
算部で既に生成されたサム及びキャリーと、他方の最終
結果加算部から既に出力された積和結果とを加算する。
このため、従来のデュアル化と同様にサイクル時間を半
分にすることができると共に、従来のデュアル化に対し
て半加算器を削減できる。
Description
の積和処理を行う積和器に関する。近年、DSP(Digi
tal Signal Processor) が幅広い分野で適用されてい
る。DSPは信号処理演算によく現われる積和処理を高
速に実行することが求められており、このため、DSP
内で積和処理を実行する積和器の高速動作が要望されて
いる。
中、乗算器10は入力A,Bの部分積を作り、その部分
積を加算して乗算結果を得ている。部分積の加算はキャ
リの伝播の発生しないように考慮されたツリー状の構成
の加算器回路(ワレサのツリー)によって行われる。具
体的には部分積を半加算していき、ビット数をしぼりこ
んでいく。
リズムを用いれば16ビット×16ビット乗算の場合、
部分積は16×8ビット発生する。この128ビット
(16×8)を3入力2出力の半加算器により各桁を計
算することで最終的には2つ(サム,キャリー)のデー
タが得られる。この2つのデータをキャリ伝播のある全
加算器12で加算することで最終結果が得られる。
積和器はΣAi・Biのように乗算結果を加算し続ける
ように構成される。図8に積和器の構成図を示す。積和
器は乗算器とほぼ同じ構成をとるが、乗算器14の乗算
結果がサム(S),キャリー(C)にしぼりこまれた2
つのデータと直前までの積和処理の結果Accとを加算
する必要があるため、ここでもう一度、3入力2出力の
半加算器16でサム+キャリー+直前の積和結果を行
い、最終のサム,キャリーを計算する。最後にこれを全
加算器18で全加算して積和結果を得る。この積和器で
は図9に示す積和のサイクル時間TSは部分積の生成及
び半加算器による絞り込みを行う時間T1と、得られた
結果と直前の積和結果を加算する時間T2で決定され
る。
イクルの低減を図る方法としてパイプライン化が従来行
われてきた。この方法は図10に示すように、部分積の
生成・絞り込みの部分と全加算の部分で処理をレジスタ
19,20で時間的に分けることにより、レイテンシは
増加するものの処理サイクルは短くなり、全体の処理時
間を短くすることができる。図11に示すように、部分
積の生成・絞り込みの時間T1と、最終結果計算の時間
T2のうちの長い方の時間をサイクルとしてパイプライ
ン化することができる。つまり、部分積の絞り込みの時
間と最終結果の加算の時間が等しい場合には、積和処理
のサイクル時間は、1/2になる。
純に2つの積和器を設け、デュアル化する構成がある。
この構成ではそれぞれの積和器に積和結果記憶用のレジ
スタ22A,22Bを設け、積和演算を2つの積和器1
4A,16A,18Aと14B,16B,18Bとに分
けて求める。それぞれの積和処理が終了した時点で、こ
の2つの積和結果を全加算器24で加算し最終結果を得
てレジスタ26に格納する。この方法では積和に要する
時間は部分積生成や最終結果加算の時間に関係なく1/
2とすることができる。
プライン化では、一般的に部分積の絞り込みの時間T1
と、最終結果の加算の時間T2とが一致せず、いずれか
長い方の時間がサイクル時間となって、パイプライン化
によりサイクル時間を1/2とすることはできない。
クル時間を1/2とすることができるが、最終結果を得
るためにレジスタ22A,22Bと、全加算器24とを
設ける必要があり、ハードウェア規模が大きくなり、ま
た、積和処理終了後に加算処理が必要になるという問題
がある。また、積和器はDSPの命令により制御され、
積和器のレジスタ構成が変わる(レジスタ22A,22
Bが増す)ことは命令セットの変更を意味し、ファーム
ウェア資産を生かせないという問題が発生する。
サイクル時間を半分にできると共に、ハードウェア規模
が大きくなることを抑制でき、レジスタ構成の変更がな
い積和器を提供することを目的とする。
は、2入力の乗算の部分積を半加算してサムとキャリー
とに絞り込む乗算部と、前記乗算部で生成されたサムと
キャリーを直前に計算された積和結果と加算して新たな
積和結果とする最終結果加算部とよりなる積和器におい
て、前記乗算部と最終結果加算部とを一対設け、前記一
対の乗算部では順次供給される2入力を交互に取り込ん
で演算を行い、前記一対の最終結果加算部では対応する
一方の乗算部で生成されたサム及びキャリーと、他方の
乗算部で既に生成されたサム及びキャリーと、他方の最
終結果加算部から既に出力された積和結果とを加算す
る。
一方の乗算部からの今回の入力に対するサム及びキャリ
ーと、他方の乗算部からの前回の入力に対するサム及び
キャリーと、他方の最終結果加算部からの前前回の入力
に対する積和結果を加算して、今回の入力に対する積和
結果を得ることができ、従来のデュアル化と同様にサイ
クル時間を半分にすることができると共に、従来のデュ
アル化に対して半加算器を削減でき、ハードウェア規模
の増大を抑制でき、かつ、レジスタ構成の変更が生じな
い。
積和器において、前記一対の乗算部の代りに単一の乗算
部を時分割で使用する。このため、乗算部が単一で済
み、更にハードウェア規模を小さくできる。請求項3に
記載の発明は、請求項1記載の積和器において、前記一
対の最終結果加算部の代りに単一の最終結果加算部を時
分割で使用する。
更にハードウェア規模を小さくできる。
図を示す。同図中、入力A,Bは図2(A)に示すタイ
ミングで供給され、このうち奇数番目の入力A,Bはレ
ジスタ30A,32Aにラッチされて乗算器34Aに供
給され、偶数番目の入力A,Bはレジスタ30B,32
Bにラッチされて乗算器34Bに供給される。
力A,Bの部分積を作り、その部分積を加算して絞り込
み、サム(S)とキャリー(C)の2つのデータを生成
する。図2(B),(C)は乗算器34A,34B夫々
のデータS,Cの出力タイミングを示す。乗算器34A
の出力データS,Cは半加算器36A及びレジスタ38
Bに供給され乗算器34Bの出力データS,Cは半加算
器36B及びレジスタ38Aに供給される。
番目の入力に対する乗算データS,Cが供給されると
き、レジスタ38Aからは図2(E)に示すn番目の入
力に対する乗算データS,Cが供給され、レジスタ40
Aからは図2(G)に示すn−1番目の入力に対する積
和データが供給され、これらのデータに対するサム
(S),キャリー(C)の2つのデータが出力される。
全加算器42Aでは上記のデータS,Cの加算が行われ
最終結果つまりn+1番目の入力に対する積和データが
求められる。この積和データはセレクタ44で選択され
てレジスタ46,40B夫々に格納される。図2(H)
はレジスタ46の内容を示す。
番目の入力に対する乗算データS,Cが供給されると
き、レジスタ38Bからは図2(D)に示すn+1番目
の入力に対する乗算データS,Cが供給され、レジスタ
40Bからは図2(F)に示すn−1番目の入力に対す
る積和データが供給され、これらのデータに対するサム
(S),キャリー(C)の2つのデータが出力される。
全加算器42Bでは上記のデータS,Cの加算が行われ
最終結果つまりn+2番目の入力に対する積和データが
求められる。この積和データはセレクタ44で選択され
てレジスタ46,40A夫々に格納される。図2(H)
はレジスタ46の内容を示す。
42A,42B及びレジスタ40A,40B,38A,
38Bが最終結果加算部に対応する。図3は半加算器3
6A,36Bとして使用される4ビット5入力半加算器
の構成図を示す。端子50にはレジスタ40Aより積和
データが入来し、端子51,52にはレジスタ38Aか
ら2つのデータS,Cが入来し、これらのデータは半加
算器54a〜54dで加算され、これらで得られたデー
タSは半加算器56a〜56dに供給され、またデータ
Cは半加算器58a,56a〜56c夫々に供給され
る。半加算器56a〜56dには端子53より乗算器3
4A出力のデータSが供給されて加算される。半加算器
56a〜56dの出力するデータSは半加算器58b〜
58eに供給され、半加算器58a〜58dの出力する
データCは半加算器58a〜58dに供給される。ま
た、半加算器58b〜58eには端子55より乗算器3
4A出力のデータCが供給されて加算される。上記の半
加算器58a〜58e夫々の出力するデータC,Sが全
加算器42Aに供給される。
タの加算は段数が多く遅延時間が大きいと考えられる
が、レジスタ40A,38A夫々のデータは加算サイク
ルの開始時点で既に値が決定しており、乗算器34Aの
出力データS,Cの加算はこれより遅れて開始されるこ
とを考慮すると、上記半加算器58a〜58dにおける
遅延は全体に何ら影響を与えない。
器36A,36B,全加算器42A,42Bで構成され
る2つの積和回路を180度位相をずらして交互に動作
させることで、積和処理に必要なサイクル時間をデュア
ル化と同様に半分にすることができる。また、デュアル
化のように余分なレジスタ22A,22B及び全加算器
24が必要ないためハードウェアが大規模化することが
なく、かつ、レジスタ構成の変更が生じない。
す。同図中、入力A,Bは図5(A)に示すタイミング
で供給され、乗算器33に供給される。乗算器33は入
力A,Bの部分積を作り、その部分積を加算して絞り込
み、サム(S)とキャリー(C)の2つのデータを生成
する。図5(B)は乗算器33のデータS,Cの出力タ
イミングを示す。乗算器33の出力データS,Cはレジ
スタ35A,35Bに供給される。
クロックのローレベル期間に奇数番目の入力に対する乗
算器33出力S,Cを図5(D)に示すように格納し、
レジスタ35Bは上記ラッチクロックのハイレベル期間
に偶数番目の入力に対する乗算器33出力S,Cを図5
(G)に示すように格納する。レジスタ35Aに格納さ
れた奇数番目の2つのデータS,Cは半加算器36A及
びレジスタ38Bに供給され、レジスタ35Bに格納さ
れた偶数番目の2つのデータは半加算器36B及びレジ
スタ38Aに供給される。
1番目の入力に対する乗算データS,Cが供給されると
き、レジスタ38Aからは図5(E)に示すn番目の入
力に対する乗算データS,Cが供給され、レジスタ40
Aからは図5(F)に示すn−1番目の入力に対する積
和データが供給され、これらのデータに対するサム
(S),キャリー(C)の2つのデータが出力される。
全加算器42Aでは上記のデータS,Cの加算が行われ
最終結果つまりn+1番目の入力に対する積和データが
求められる。この積和データはセレクタ44で選択され
てレジスタ46,40B夫々に格納される。図5(J)
はレジスタ46の内容を示す。
2番目の入力に対する乗算データS,Cが供給されると
き、レジスタ38Bからは図5(H)に示すn+1番目
の入力に対する乗算データS,Cが供給され、レジスタ
40Bからは図5(I)に示すn番目の入力に対する積
和データが供給され、これらのデータに対するサム
(S),キャリー(C)の2つのデータが出力される。
全加算器42Bでは上記のデータS,Cの加算が行われ
最終結果つまりn+2番目の入力に対する積和データが
求められる。この積和データはセレクタ44で選択され
てレジスタ46,40A夫々に格納される。図5(J)
はレジスタ46の内容を示す。
時間よりも短いとした場合、乗算器33は積和サイクル
の半分以下の時間で動作することになり、この実施例で
は乗算器33を時分割で使用することで乗算器を1つに
削除でき回路規模を小さくしている。この実施例でも従
来のデュアル化と同様に積和処理に必要なサイクル時間
を半分にすることができる。
最終結果の加算時間よりも長い場合は図6に示す第3実
施例の回路構成とする。図6において、入力A,Bのう
ち奇数番目の入力A,Bはレジスタ30A,32Aにラ
ッチされて乗算器34Aに供給され、偶数番目の入力
A,Bはレジスタ30B,32Bにラッチされて乗算器
34Bに供給される。
部分積を作り、その部分積を加算して絞り込み、サム
(S)とキャリー(C)の2つのデータを生成する。乗
算器34Aの出力データS,C夫々はセレクタ37,3
9に供給され乗算器34Bの出力データS,C夫々はセ
レクタ37,39に供給される。セレクタ37,39は
2つのデータS,Cを奇数番目、偶数番目で順次選択し
て半加算器41に供給する。半加算器41にはレジスタ
45から前サイクルで得られた積和データが供給されて
おり、半加算器41はこれらのデータに対するS,Cの
2つのデータを出力する。全加算器43は上記のデータ
S,Cの加算を行い、最終結果の積和データがレジスタ
45に格納される。
め、時分割多重を行って1つの半加算器41及び1つの
全加算器43で処理している。逆に部分積の絞り込みの
時間が長いため、2つの乗算器34A,34Bを使用し
てサイクルタイムの短縮を行っている。この実施例でも
従来のデュアル化と同様に積和処理に必要なサイクル時
間を半分にすることができる。
2入力の乗算の部分積を半加算してサムとキャリーとに
絞り込む乗算部と、前記乗算部で生成されたサムとキャ
リーを直前に計算された積和結果と加算して新たな積和
結果とする最終結果加算部とよりなる積和器において、
前記乗算部と最終結果加算部とを一対設け、前記一対の
乗算部では順次供給される2入力を交互に取り込んで演
算を行い、前記一対の最終結果加算部では対応する一方
の乗算部で生成されたサム及びキャリーと、他方の乗算
部で既に生成されたサム及びキャリーと、他方の最終結
果加算部から既に出力された積和結果とを加算する。
一方の乗算部からの今回の入力に対するサム及びキャリ
ーと、他方の乗算部からの前回の入力に対するサム及び
キャリーと、他方の最終結果加算部からの前前回の入力
に対する積和結果を加算して、今回の入力に対する積和
結果を得ることができ、従来のデュアル化と同様にサイ
クル時間を半分にすることができると共に、従来のデュ
アル化に対して半加算器を削減でき、ハードウェア規模
の増大を抑制でき、かつ、レジスタ構成の変更が生じな
い。
記載の積和器において、前記一対の乗算部の代りに単一
の乗算部を時分割で使用する。このため、乗算部が単一
で済み、更にハードウェア規模を小さくできる。また、
請求項3に記載の発明は、請求項1記載の積和器におい
て、前記一対の最終結果加算部の代りに単一の最終結果
加算部を時分割で使用する。
更にハードウェア規模を小さくできる。
る。
ある。
8A,38B,40A,40B,45,46 レジスタ 33,34A,34B 乗算器 36A,36B,41 半加算器 42A,42B,43 全加算器
Claims (3)
- 【請求項1】 2入力の乗算の部分積を半加算してサム
とキャリーとに絞り込む乗算部と、 前記乗算部で生成されたサムとキャリーを直前に計算さ
れた積和結果と加算して新たな積和結果とする最終結果
加算部とよりなる積和器において、 前記乗算部と最終結果加算部とを一対設け、 前記一対の乗算部では順次供給される2入力を交互に取
り込んで演算を行い、 前記一対の最終結果加算部では対応する一方の乗算部で
生成されたサム及びキャリーと、他方の乗算部で既に生
成されたサム及びキャリーと、他方の最終結果加算部か
ら既に出力された積和結果とを加算することを特徴とす
る積和器。 - 【請求項2】 請求項1記載の積和器において、 前記一対の乗算部の代りに単一の乗算部を時分割で使用
することを特徴とする積和器。 - 【請求項3】 請求項1記載の積和器において、 前記一対の最終結果加算部の代りに単一の最終結果加算
部を時分割で使用することを特徴とする積和器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16001997A JP3695561B2 (ja) | 1997-06-17 | 1997-06-17 | 積和器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16001997A JP3695561B2 (ja) | 1997-06-17 | 1997-06-17 | 積和器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH117439A true JPH117439A (ja) | 1999-01-12 |
JP3695561B2 JP3695561B2 (ja) | 2005-09-14 |
Family
ID=15706226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16001997A Expired - Lifetime JP3695561B2 (ja) | 1997-06-17 | 1997-06-17 | 積和器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3695561B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591615A (zh) * | 2012-01-16 | 2012-07-18 | 中国人民解放军国防科学技术大学 | 结构化混合位宽乘法运算方法及装置 |
-
1997
- 1997-06-17 JP JP16001997A patent/JP3695561B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591615A (zh) * | 2012-01-16 | 2012-07-18 | 中国人民解放军国防科学技术大学 | 结构化混合位宽乘法运算方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3695561B2 (ja) | 2005-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115344237B (zh) | 结合Karatsuba和蒙哥马利模乘的数据处理方法 | |
JP2011134346A (ja) | 算術プロセッサ | |
JP3667635B2 (ja) | 演算装置 | |
US5528529A (en) | Electronic multiplying and adding apparatus and method | |
Ding et al. | Broken-Karatsuba multiplication and its application to Montgomery modular multiplication | |
US4796219A (en) | Serial two's complement multiplier | |
JPH0640301B2 (ja) | 並列乗算回路 | |
US5025408A (en) | Bit serial multiplier with parallel-in-serial-out carry and partial product shift registers | |
US5661673A (en) | Power efficient booth multiplier using clock gating | |
US5957999A (en) | Booth multiplier with squaring operation accelerator | |
US7607165B2 (en) | Method and apparatus for multiplication and/or modular reduction processing | |
US5724280A (en) | Accelerated booth multiplier using interleaved operand loading | |
JPH117439A (ja) | 積和器 | |
Das et al. | Hardware implementation of parallel FIR filter using modified distributed arithmetic | |
US5684731A (en) | Booth multiplier using data path width adder for efficient carry save addition | |
US7047271B2 (en) | DSP execution unit for efficient alternate modes for processing multiple data sizes | |
JPH10111791A (ja) | 除算装置 | |
JP3252954B2 (ja) | 乗算方法および乗算回路 | |
JPS588353A (ja) | 乗算装置 | |
JP3222313B2 (ja) | 演算装置及び演算方法 | |
JP2864598B2 (ja) | ディジタル演算回路 | |
KR100386979B1 (ko) | 갈로아체상에서 비트 직렬 승산기의 병렬화 방법 및 이를이용한 직병렬 승산기 | |
JPS6259828B2 (ja) | ||
JPH0535773A (ja) | ベクトル除算方式とその装置 | |
JP3848764B2 (ja) | デジタル乗算ユニットおよびデジタル乗算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20040819 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20040827 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041005 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041203 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050622 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080708 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130708 Year of fee payment: 8 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |