JP2001249798A - 規則的加算回路を使用して乗算器の性能を増大させる装置及び方法 - Google Patents

規則的加算回路を使用して乗算器の性能を増大させる装置及び方法

Info

Publication number
JP2001249798A
JP2001249798A JP2001039029A JP2001039029A JP2001249798A JP 2001249798 A JP2001249798 A JP 2001249798A JP 2001039029 A JP2001039029 A JP 2001039029A JP 2001039029 A JP2001039029 A JP 2001039029A JP 2001249798 A JP2001249798 A JP 2001249798A
Authority
JP
Japan
Prior art keywords
adder
carry
bits
partial product
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.)
Pending
Application number
JP2001039029A
Other languages
English (en)
Inventor
T Colon-Bonnet Glenn
グレン・ティー・コロン−ボネット
Stephen L Bass
ステファン・エル・バス
Thomas J Sullivan
トーマス・ジェイ・サリバン
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2001249798A publication Critical patent/JP2001249798A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction 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/5336Reduction 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

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)

Abstract

(57)【要約】 【課題】 乗算器により生成される部分積を効率的に加
算するための装置及び方法を提供すること。 【解決手段】 アーキテクチャの点で要約すると、本装
置は、第1の奇数/偶数加算回路アレイ(50,110)、第2
の奇数/偶数加算回路アレイ(50,110)、及びリニア加算
器アレイ(146,147,148)を含む。該装置は、第1のオペ
ランドと第2のオペランドとの乗算時に乗算器により生
成される部分積ビット行を加算するよう構成される。第
1の奇数/偶数加算回路アレイ(50,110)は、複数の部分
積ビットの一部の第1の和を生成する。第2の奇数/偶
数加算回路アレイ(50,110)は、他の部分積ビットの第2
の和を生成する。次いでリニア加算器アレイ(146,147,1
48)が、これら第1の和と第2の和とを加算して、積ビ
ット(即ち、第1のオペランドに第2のオペランドを乗
算することにより生成される積のビット)の桁上げ保存
式の表現が生成される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に乗算器の効
率を増大させる乗算装置及び方法に関し、特に、配線回
路を顕著に増大させることなく高基数性能が達成される
ように低基数乗算器の性能を増大させる装置及び方法に
関する。
【0002】
【従来の技術】現在のところ、現時点でのプロセッサ実
施形態における多くの算術演算の速度は、浮動小数点プ
ロセッサの利用によって増大されている。浮動小数点プ
ロセッサは通常は、乗算操作の性能を増大させるために
桁上げ保存型加算器を含む。
【0003】一般に、マイクロプロセッサの場合には、
2つの基数乗算段階が存在する。高基数(基数8以上)
の乗算は、低基数(基数4以下)の乗算と比較して生成
され加算されることになる部分積の必要数が少ないとい
う利点を有する。しかし、高基数乗算ではXオペランド
の複雑な倍数(complex multiples)を生成する必要があ
る。この一例を、基数8の乗算用途で必要とされる3X
オペランド及び−3Xオペランドに関して図1Bに示
す。
【0004】図1Aは、基数4の乗算テーブル、3つの
乗数ビット、及びXオペランド積を示している。基数4
の乗算から分かるように、そのオペランドには単純な倍
数0、1X、2Xしか必要とされない。当業界で知られ
ているように、数値の倍数は、0、1、及び2の倍数に
ついては容易に生成することができる。0の倍数は、そ
の値をリセットし、零にし、又はクリアすることしか必
要としない。倍数「−1X」はオペランドの補数を求め
ることしか必要としない。所与の数の2X倍数は、該数
について1桁だけ左シフトを実行することにより容易に
生成される。所与の数の−2X倍数は、2X倍数の補数
を求めることにより得ることができる。
【0005】図1Bは、基数8の乗算テーブル、4つの
乗数ビット、及びXオペランド倍数を示している。同図
から分かるように、基数8の乗算は、倍数0、1X、2
X、3X、及び4Xを必要とする。上述のように、倍数
0、1X、及び2Xは、かなり単純で計算しやすいもの
である。しかし、基数8の乗算で必要とされる倍数3X
及び−3Xは、極めて複雑なものであり、その計算のた
めに桁上げ先見(又はキャリールックアヘッド)加算器
といった特殊な回路を必要とする。オペランド倍数3X
及び−3Xは、桁上げ伝搬(carry propagation)加算器
を使用して倍数1X及び2Xを加算して倍数3Xを生成
し、該倍数3Xの補数を獲得することにより算出され
る。倍数4X及び−4Xは、かなり単純で計算しやすい
ものである。倍数4X及び−4Xは、2進数値に対する
2桁の左シフトの実行、及び倍数4Xの補数の獲得によ
り、計算される。上述のように、基数8の乗算における
主な問題点は、3Xオペランド倍数及び−3Xオペラン
ド倍数の生成にある。
【0006】基数4の乗算の単純さが基数8の乗算より
も好まれることが多いが、基数8の乗算にはいくつかの
利点がある。第一に、基数8の乗算では、取り扱わなけ
ればならない部分積の生成数が少ない。
【0007】これに関連して、基数4の乗算は、基数8
の乗算と比較してより多くの桁上げ保存型加算器を必要
とすることが多い。例えば、64ビットアレイの場合、基
数4の乗算は、積の計算のために33行の桁上げ保存型加
算器を通常必要とする。また64ビットアレイの場合、基
数8の乗算は、積の計算のために22行の桁上げ保存型加
算器しか通常必要としない。これは、「(操作されるビ
ット数+乗算器のビット数)/乗算器のビット数」とい
う公式により計算される。基数4の乗算の場合には該式
は[(64+2)/2]=33行となり、基数8の乗算の場合には該
式は[(64+3)/3]=22行となる。このように積の計算に要
する加算器が11行削減されることにより、少なくとも1
ゲート遅延/行という速度だけ乗算器の遅延が短縮され
る。
【0008】ここで図1Cを参照する。同図は、従来技
術で最適なウォリスツリー(Wallacetree)アーキテクチ
ャを使用してK個のオペランドに必要とされる桁上げ保
存型加算器の複数のレベルを示す表である。同表は、様
々なワードサイズについてツリー構造を描くことにより
経験的に得られたものである。ウォリスツリーによる加
算ネットワークは、最少数の桁上げ保存型加算器遅延を
利用するものである。
【0009】図1Dは、2つの16ビット数を乗算するた
めの部分積を有するブース2(Booth-2)(基数4の)乗
算の一例を示す説明図である。同図から分かるように、
2つのオペランドについての最終的な積を計算するため
に互いに加算されるべき9行の部分積が存在する。この
ため、複数の部分積が複数の部分積ビットからなる列を
形成し、当業界で知られているように、その一列中の各
ビットが共に加算されて、最終的な積をなす複数のビッ
トのうちの1つが生成されるべきである。一列中の全ビ
ットの総和の最下位ビットは、該列に対応するビット位
置についての積ビットを表すものとなる。該総和の他の
ビットは、隣接する列にシフトされて、その隣接する列
の加算に含められる。このようにして各列の総和を求め
ることにより、積を決定することができる。図1Dに示
す部分積の右側における付加的な「+1」は、負のブー
ス倍数が選択される場合に2の補数を完成させるために
必要なものである点に留意されたい。
【0010】図1Eは、部分積を有するブース3(基数
8の)乗算の一例を示す説明図である。この例で分かる
ように、2つの16ビットオペランドについての最終的な
積を計算するために共に加算されるべき部分積は6行の
みである。これが達成されるのは、基数8の乗算器が、
倍数3X及び4Xを生成することにより、一層少ない部
分積を生成するためである。図1Eから分かるように、
基数8の乗算器により生成される部分積は、基数4の乗
算器により生成される部分積(図1D)と比較して、各
部分積毎に3つのエキストラ(即ち余分な)ビットのオフ
セットを含んでおり、これにより、各部分積行毎により
大きなシフトが必要となる。この各部分積行毎のより大
きなシフトは、配線(wiring)の複雑さを増大させるもの
となる。
【0011】図1Fは、部分積に対する算術和(linear
summation)アレイ乗算器7の従来の一例を示すブロック
図である。同図から分かるように、各桁上げ保存型加算
器(CSA)は部分積項(P)を受容する。また、各桁上げ
保存型加算器(CSA)は、2つの先行する桁上げ保存型
加算器からの和(S)及び桁上げ項(C)も受容する。こ
れは、簡単に実現されるアーキテクチャであり、規則的
な構造を有している。算術和アレイ乗算器7を使用して
図1Dの2つのオペランドについての最終的な積を計算
することも可能である。9行の部分積(図1D)は、一
度に1ビットずつ共に加算される。この構造は、全ての
既知の加算構造の中で最も単純で且つ最も規則的なもの
の1つであるが、同時に最も大きな遅延を呈するものの
1つであり、このため多数の部分積の加算にとっては非
実用的なものとなる。
【0012】図1Gは、乗算器内の部分積のための奇数
/偶数加算アレイ8の従来の一例を示すブロック図であ
る。同図から分かるように、各桁上げ保存型加算器(CS
A)は部分積項を受容する。また、各桁上げ保存型加算
器は、2つの先行する桁上げ保存型加算器からの和及び
桁上げ項も受容する。しかし、この奇数/偶数加算の実
施形態では、先行する桁上げ保存型加算器からの和及び
桁上げ項は、一行おきに加算器を飛ばしている。このア
ーキテクチャは、その実施がより複雑なものではある
が、算術和アレイ乗算器7(図1F)と比べて加算器遅
延の数がおよそ1/2になるという効果を有している。
【0013】図2A及び図2Bは、部分積の列中の部分
積ビットを加算して2つのオペランドの積のビットを生
成するために使用することが可能な従来の算術和回路30
の一例を示している。ここで、図2A及び図2Bに示す
回路30を使用して最大で18行の部分積について部分積ビ
ット列を加算することが可能である。該回路30は、基数
4の部分積の各行からのビットを加算するため、最大で
18ビットの情報を加算することが可能である。
【0014】算術和回路30は、16個の桁上げ保存型加算
器31〜38及び41〜48からなるリニアアレイを利用する。
このリニア加算器アレイは、各アレイがその各出力をそ
れと同じ次の加算器に送るような加算器アレイである。
図2A及び図2Bに示すように、算術和回路30の構成
は、規則的且つ効率的なレイアウトである。この構成
は、桁上げ保存型加算器セルに対して軽い負荷と単純な
配線とを提供するものとなる。しかし、この算術和は、
クリティカルパスに多数の桁上げ保存型加算器遅延(こ
の場合には16の遅延)を生成するという問題を有するも
のである。
【0015】図3は、部分積の列中の部分積ビットを加
算して2つのオペランドの積のビットを生成するために
使用することが可能な従来の奇数/偶数加算回路50の一
例を示すブロック図である。ここで、同図に示す回路50
を使用して最大18行の部分積について部分積ビット列を
加算することが可能である。該回路50は、各行の部分積
から1ビットずつ加算するため、最大18ビットの情報を
加算することが可能である。
【0016】図3から分かるように、奇数/偶数加算回
路50は、桁上げ保存型加算器51,53,55,57,61,63,65から
なる第1のリニアアレイと、桁上げ保存型加算器52,54,
56,58,62,64,66からなる第2のリニアアレイとを利用す
る。部分積ビットのおよそ半分1,2,3,7,9,11,13,15,17
が桁上げ保存型加算器の第1のリニアアレイによって加
算され、残りの部分積ビット4,5,6,8,10,12,14,16,18が
桁上げ保存型加算器の第2のリニアアレイによって加算
される。これら桁上げ保存型加算器の第1及び第2のリ
ニアアレイにより生成された結果が、次いで桁上げ保存
型加算器67,68を介して加算されて、回路50についての
適切な結果が生成される。
【0017】図3に示すこの18ビットの部分積ビットの
例では、奇数/偶数加算回路50の構成により、9つの桁
上げ保存型加算器の遅延しか生じない。奇数/偶数加算
回路50が目一杯に利用される場合には、そのレイアウト
は、算術和回路30(図2A及び図2B)と比べて7つ少
ない桁上げ保存型加算器遅延を生成するものとなる。奇
数/偶数加算回路50の利用は、通常は、単純なリニアア
レイよりも複雑な配線を必要とし、桁上げ保存型加算器
に対する負荷も増大させるものとなるが、奇数/偶数加
算回路50は算術和回路30よりもかなり高速である。これ
は、奇数/偶数加算回路50が並列加算を実行するからで
ある。この並列性は、速度上の恩恵の大半をもたらす
が、上述のように幾分か複雑さが増した配線を必要とす
る。
【0018】図4は、最大18行の部分積の列中の部分積
ビットを加算するために使用することが可能なフルウォ
リスツリー加算構成を利用した回路70の従来の一例を示
すブロック図である。同図に示すフルウォリスツリー加
算回路70は、16個の桁上げ保存型加算器71〜78及び81〜
88を利用する。この18ビットの例では、フルウォリスツ
リー加算回路70の構成は、図4に示すように、6つの桁
上げ保存型加算器遅延しか生じないものである。フルウ
ォリスツリー加算構成が目一杯の範囲で利用される場合
には、そのレイアウトは、算術和回路130(図2A及び
図2B)と比べて10個少ない桁上げ保存型加算器遅延を
生成し、奇数/偶数加算回路50(図3)と比べて3つ少
ない桁上げ保存型加算器遅延を生成するものとなる。し
かし、フルウォリスツリー加算構成の利用は、3つの加
算構成タイプの中で最も不規則的且つ複雑な配線を必要
とするものである。
【0019】例示のため、回路30,50が基数4の乗算器
で実施されているものとする。その代わりに基数8の乗
算器が使用される場合には、部分積の数が減少するた
め、桁上げ保存型加算器の数を減らすことができる。こ
こで、図3の回路50は、基数4の乗算器の代わりに基数
8の乗算器が使用される場合には、図5の回路110まで
縮小することができる。したがって、奇数/偶数加算回
路110を10個の桁上げ保存型加算器(111〜118,121,12
2)のみを用いて実施して、図5に示すように、結果と
して6個の桁上げ保存型加算器遅延のみを生じさせるこ
とができる。奇数/偶数加算回路110が目一杯の範囲で
利用される場合には、回路110は、非常に不規則的であ
り且つ複雑な配線を要する桁上げ保存型加算器を用いた
フルウォリスツリー加算回路70(図4)と同数の桁上げ
保存型加算器遅延を生成するものとなる。しかし、基数
8の部分積の利用は、遙かに複雑な基数8の部分積生成
器の実施並びに3Xオペランド倍数の生成を必要とする
ものである。
【0020】
【発明が解決しようとする課題】したがって、当業界で
は、高基数の乗算器の使用を必要とすることなくウォリ
スツリー加算回路に近い性能を達成することが可能な単
純で規則的なパターンを有する加算回路に対する前述の
必要性が存在し、まだ未解決になっている。
【0021】
【課題を解決するための手段】本発明は、規則的な加算
回路を使用して、乗算器により生成された部分積を、速
度及び配線の複雑さの観点から最適に加算するための装
置及び方法を提供するものである。
【0022】アーキテクチャの点で要約すれば、本装置
は、第1の奇数/偶数加算回路アレイ、第2の奇数/偶
数加算回路アレイ、及びリニア加算器アレイを含んでい
る。この装置は、第1のオペランドと第2のオペランド
との乗算を行う際に乗算器により生成された部分積ビッ
ト行を加算するよう構成される。第1の奇数/偶数加算
回路アレイは、複数の部分積ビットの一部の第1の和を
生成する。第2の奇数/偶数加算回路アレイは、他の部
分積ビットの第2の和を生成する。次いでリニア加算器
アレイが、これら第1の和と第2の和とを加算して、積
ビット(即ち、第1のオペランドに第2のオペランドを
乗算することにより生成される積のビット)の桁上げ保
存式の表現が生成される。
【0023】本発明の他の特徴によれば、奇数/偶数加
算回路アレイ内の加算器は、該アレイの外部の加算器か
らの入力を受容して更に性能を増大させるよう構成する
ことが可能である。例えば、上述の第1の奇数/偶数加
算回路アレイは、第1のリニア加算器アレイと第2のリ
ニア加算器アレイとを含むことが可能である。該第1の
リニア加算器アレイは、第1の加算器と第2の加算器と
を含むことが可能である。該第1の加算器は、第2の加
算器から及びこの第1のリニア加算器アレイの外部の他
の加算器からの出力を受容する。該他の加算器は、前述
の部分積ビットの一部から複数の部分積ビットを受容し
て加算する。その結果として、より多数の部分積を第1
のリニア加算器アレイを介して加算することが可能とな
る。
【0024】本発明はまた、第1のオペランドと第2の
オペランドとを乗算して積を生成することに基づいて複
数の部分積を生成する乗算器において部分積ビットを加
算する方法を提供するものとみることも可能である。こ
こで、該方法は、奇数/偶数加算回路アレイを介して、
各々が部分積の一部の異なる1つからのものである第1
の複数の部分積ビットを加算して第1の複数の和及び桁
上げビットを生成し、別の奇数/偶数加算回路アレイを
介して、各々が残りの部分積の異なる1つからのもので
ある第2の複数の部分積ビットを加算して第2の複数の
和及び桁上げビットを生成し、前記第1の複数の和及び
桁上げビットと前記第2の複数の和及び桁上げビットと
を加算し、該第1及び第2の複数の和及び桁上げビット
の加算ステップを介して前記積の積ビットの桁上げ保存
式の表現を形成する第3の複数の和及び桁上げビットを
生成する、という各ステップにより、広く要約すること
が可能である。
【0025】本発明の他の特徴及び利点については、以
下の図面及び詳細な説明を照査することによって当業者
に明らかになるであろう。そのような付加的な特徴及び
利点の全てが本発明の範囲内に含まれることが意図され
ている。
【0026】
【発明の実施の形態】本発明は、図面を参照することに
より一層良好に理解することが可能である。図中の構成
要素は、必ずしも一定の縮尺に従って示されておらず、
本発明の原理を明確に描写することに注意が払われてい
る。更に、同図では、複数の図面にわたる同一の符号は
対応部分を指している。
【0027】以下、図面に示すような本発明の説明を詳
細に参照する。本発明はこれらの図面に関連して説明さ
れているが、本書に開示する1つ又は複数の実施形態に
制限する意図は全くない。逆に、特許請求の範囲で規定
する本発明の範囲内に含まれる全ての代替物、改変、及
び均等物を網羅することが意図されている。
【0028】本発明は、図3に示す回路50で使用した奇
数/偶数加算技術を使用して、速度及び配線の複雑さの
観点で最適な性能を達成する。この場合、2つのオペラ
ンドから生成された複数行の部分積が2つのグループに
分けられる。各グループは、実質的に等しい行数を有し
ている。例えば、図6では、9行の部分積が、該部分積
のうちの5行を有する第1のグループ(下位奇数/偶数
部分積加算グループ)と、該部分積のうちの4行を有す
る第2のグループ(上位奇数/偶数部分積加算グルー
プ)とにグループ分けされる。次いで、部分積の列を加
算するために(即ち、各部分積のうち積のうちの同一ビ
ット位置に対応する各部分積ビットを共に加算するため
に)、図3の回路50により使用された技術と同様の奇数
/偶数加算技術を使用して、下位奇数/偶数部分積加算
グループの列におけるビットを加算し、それとは別個
に、上位奇数/偶数部分積加算グループの列におけるビ
ットを加算する。次いで、該2つのグループを加算する
ことにより生成された結果が共に加算されて、加算され
る部分積の列中の全ビットの和が生成される。
【0029】その結果、本発明の加算技術は、図3に示
した奇数/偶数回路50を介して使用される桁上げ保存型
加算器と比べて配線の複雑さを顕著に増大させることな
く、基数8の桁上げ保存型加算器に近い性能を達成す
る。
【0030】図7は本発明を実施するために使用するこ
とが可能な例示的な回路130を示している。同図に示す
回路130は、最大18行の部分積のビット列を加算するた
めに使用することが可能である。したがって、この回路
は入力として18個の部分積ビットを受容する。しかし、
本書の開示内容より、本発明の原理から逸脱することな
く該回路130の構成を改変して入力の数を増減させるこ
とも可能であることが当業者には明らかであろう。
【0031】図7に示す回路130は、18個の入力ビット
を処理するものであるが、ほぼ同一のタイミング期間
(例えば同一クロック周期中)に発生する論理演算を含
む複数のタイミングセクションへと区分される。図7か
ら分かるように、回路130は、7つのタイミングセクシ
ョンに区分されている。複数の論理演算が同一タイミン
グ期間中に含まれる場合、これらの論理演算は実質的に
同時に実行される。
【0032】先に説明したように、図7に示す回路130
は、入力として18個の部分積ビットを受容する。タイミ
ングセクション1では、部分積ビット1〜6及び11〜16が
4つの桁上げ保存型加算器131〜134に入力される。これ
らの4つの桁上げ保存型加算器131〜134の各々は、3つ
の部分積ビットに対する和及び桁上げ出力を計算する。
【0033】タイミングセクション2では、4つの桁上
げ保存型加算器131〜134の和及び桁上げ出力が、4つの
桁上げ保存型加算器135〜138にそれぞれ入力される。ま
た、4つの桁上げ保存型加算器135〜138には、4つの部
分積ビット7,8,17,18も入力される。
【0034】図7に示すように、部分積ビット7は、部
分積ビット1〜3の和と加算され、部分積ビット8は、部
分積ビット4〜6の和と加算される。また、部分積ビット
17及び18も示されており、これらは、それぞれ桁上げ保
存型加算器137及び138により加算される。これらの4つ
の桁上げ保存型加算器135〜138の各々は、1つの部分積
ビットと、先行する桁上げ保存型加算器からの3つの部
分積ビットの和及び桁上げ出力との和及び桁上げ出力を
計算する。
【0035】タイミングセクション3では、桁上げ保存
型加算器135及び136の和及び桁上げ出力が、それぞれ桁
上げ保存型加算器141,142に入力される。また、桁上げ
保存型加算器141,142には、部分積ビット9,10も入力さ
れる。再び、部分積ビットの奇数/偶数加算構成が使用
される。また、タイミングセクション3では、桁上げ保
存型加算器137の和及び桁上げ出力と桁上げ保存型加算
器138の和出力とが、桁上げ保存型加算器143に入力され
る。桁上げ保存型加算器143は、回路130内の第1の桁上
げ保存型加算器であって、先行する桁上げ保存型加算器
からの和及び桁上げ入力から専ら和及び桁上げ出力を計
算する。
【0036】タイミングセクション4では、桁上げ保存
型加算器141の和及び桁上げ出力が、桁上げ保存型加算
器144に入力される。また、桁上げ保存型加算器144に
は、桁上げ保存型加算器142の和出力も入力される。桁
上げ保存型加算器142の桁上げ出力と桁上げ保存型加算
器143の和及び桁上げ出力とは、桁上げ保存型加算器145
に入力される。
【0037】タイミングセクション5では、桁上げ保存
型加算器144の和及び桁上げ出力が、桁上げ保存型加算
器146に入力される。また、桁上げ保存型加算器146に
は、桁上げ保存型加算器145の和出力も入力される。
【0038】タイミングセクション6では、桁上げ保存
型加算器146の和及び桁上げ出力が、桁上げ保存型加算
器147に入力される。また、桁上げ保存型加算器145から
の桁上げ出力も、桁上げ保存型加算器147に入力され
る。
【0039】タイミングセクション7では、桁上げ保存
型加算器147の和及び桁上げ出力が、桁上げ保存型加算
器148に入力される。また、桁上げ保存型加算器148に
は、タイミングセクション2において、桁上げ保存型加
算器138からの桁上げ出力も入力される。桁上げ保存型
加算器148の和及び桁上げ出力が、回路130の全体的な和
及び桁上げ出力として使用される。
【0040】図8は、特定の状況下で、並列性を更に増
大させることにより、図5に示す従来の回路70又は図7
に示す回路130といった奇数/偶数加算回路の性能を増
大させるために使用することが可能な技術を示す回路15
0を示している。この場合、回路70及び回路130と同様
に、回路150は、桁上げ保存型リニア加算器アレイを少
なくとも2つ含んでおり、これらは算術和技術を使用し
て並列加算を行う。桁上げ保存型加算器151,154,161,16
4,171からなる第1のアレイは、第1のグループの部分
積ビットを加算し、この場合、第1の桁上げ保存型加算
器151は、3つの部分積ビットを受容し、他の桁上げ保
存型加算器154,161,164,171の各々は、先行する桁上げ
保存型加算器151,154,161,又は164の1つから和及び桁
上げ出力を受容する。桁上げ保存型加算器154,161,164,
171の各々は、1グループの部分積ビットを加算する他
の桁上げ保存型加算器152,155,162,又は165から、加算
されるべき付加的な情報ビットを受容することも可能で
ある。
【0041】桁上げ保存型加算器153,156,163,166,172
からなる第2のアレイは、1グループの部分積ビットを
加算し、この場合、第1の桁上げ保存型加算器153は、
3つの部分積ビットを受容し、他の桁上げ保存型加算器
156,163,166,172の各々は、先行する桁上げ保存型加算
器153,156,163,又は166の1つから和及び桁上げ出力を
受容する。前述の桁上げ保存型加算器156,163,166,172
の各々は、前述の桁上げ保存型加算器152,155,162,又は
165のうちの1つから、加算されるべき付加的な情報ビ
ットを受容することも可能である。
【0042】結果として、回路150の構成は、2つの部
分積ビットの代わりに3つの部分積ビットを奇数/偶数
加算回路のアレイ内の後段のタイミングセクション(即
ち、タイミングセクション1以外のタイミングセクショ
ン)に効率的に入力することを可能にするものとなる。
例えば、図7の回路130では、2つの部分積ビット(部
分積ビット17,18)が、奇数/偶数加算回路のアレイ内
の桁上げ保存型加算器133,134,137,138を備えるタイミ
ングセクション2に加算される。しかし、図8の回路15
0では、3つの部分積ビット(部分積ビット4,8,及び9)
の和が、奇数/偶数加算回路のアレイ内の桁上げ保存型
加算器151,153,154,156,161,163,164,166,171,172を備
えるタイミングセクション2に入力される。したがっ
て、図8に示すように、個々の部分積ビットの代わりに
部分積ビットの和を奇数/偶数加算回路の後段のタイミ
ングセクションに加算することにより、奇数/偶数加算
回路のタイミングセクションの数を増大させることな
く、共に加算される部分積ビットの数を増大させること
が可能になる。
【0043】実際に、図8に示す加算技術を使用するこ
とにより、単純で且つ規則的な加算回路を有する基数4
の実施形態で基数8に近い性能を得ることが可能であ
る。ここで図3を参照する。同図には、基数4の乗算器
が18個の部分積ビットを生成する際に使用することが可
能な奇数/偶数加算回路50が示されている。同図から分
かるように、9つのタイミングセクションが、部分積の
列を加算するために必要とされる。図5に示すように、
もっと複雑な基数8の乗算器を代わりに使用すれば、タ
イミングセクションの数を6まで低減させることができ
る。しかし、図8の回路150を使用することにより、18
個の部分積ビット列の加算のために、7つ(即ち、基数
8の実施形態に比べて1つ多いのみ)のタイミングセク
ションしか必要とされない。結果として、基数4の乗算
器において、部分積ビットの加算に使用される加算回路
を実質的に増大させることなく、基数8のに近い性能を
得ることが可能となる。
【0044】更に、図8の特徴を図7に示す回路に組み
合わせることにより、単純で且つ規則的な加算回路を有
する基数4の実施形態でウォリスツリーに近い性能を得
ることが可能である。例えば、36個の部分積が基数4の
乗算器で生成されるものとする。このため、先に延べた
ように、本発明によれば、それぞれ18個の部分積からな
る上位部分と下位部分とに部分積をグループ分けするこ
とが可能である。次いで、図8の回路150を使用して1
つの部分の1つの列を加算することが可能である。また
図8の回路150と同一の別の回路を別個に且つ並列的に
使用して、他の部分の前記と同じ列を加算することも可
能である。次いで上位部分及び下位部分の加算結果を共
に加算して部分積ビット列の和を生成することも可能で
ある。図8に示すように、上位部分の列からの部分積ビ
ットの第1の和の生成、及び下位部分の列からの部分積
ビットの第2の和の生成のために、7つのタイミングセ
クションしか必要とされない。したがって、第1及び第
2の和の結果を共に加算するために更に必要となるタイ
ミングセクションの数が2つのみであるとすれば、部分
積ビット列は、9つのタイミングセクション内で加算す
ることができる。かかる性能がウォリスツリーの実施形
態に匹敵するものでありながら、その回路は奇数/偶数
加算技術を利用することにより単純で且つ規則的なもの
となる、ということは明らかである。
【0045】図8を更に詳細に参照する。回路150は、
最大18個の部分積ビットを受容することが可能である
が、該回路150を改変して任意の数の部分積ビットを受
容するようにすることも可能である。回路150は、複数
のタイミングセクションに区分され、それらのタイミン
グセクションは、実質的に同時に(例えば同一クロック
周期中に)実行される論理演算を含んでいる。6個の桁
上げ保存型加算器151,152,153,155,162,165の各々は、
3つの部分積ビットを桁上げ保存型加算器に入力させ
る。
【0046】タイミングセクション1では、3つの桁上
げ保存型加算器151,152,153に負荷が与えられて並列に
目一杯使用される。桁上げ保存型加算器151の和及び桁
上げ出力は、桁上げ保存型加算器154に入力される。桁
上げ保存型加算器153の和及び桁上げ出力は、桁上げ保
存型加算器156に入力される。更に、桁上げ保存型加算
器152の和及び桁上げ出力は、それぞれ桁上げ保存型加
算器154,156に入力される。
【0047】タイミングセクション2では、桁上げ保存
型加算器154,156が和及び桁上げ出力を計算し、これら
が桁上げ保存型加算器161,163にそれぞれ入力される。
桁上げ保存型加算器155は、3つの部分積ビット10〜12
を加算する。桁上げ保存型加算器155の和出力は桁上げ
保存型加算器161に入力され、桁上げ保存型加算器155の
桁上げ出力は桁上げ保存型加算器166に入力される。
【0048】タイミングセクション3では、桁上げ保存
型加算器161,163が和及び桁上げ出力を計算し、これら
が桁上げ保存型加算器164,166にそれぞれ入力される。
桁上げ保存型加算器162は、3つの部分積ビット13〜15
を加算する。桁上げ保存型加算器162の和出力は桁上げ
保存型加算器164に入力され、桁上げ保存型加算器162の
桁上げ出力は桁上げ保存型加算器166に入力される。
【0049】タイミングセクション4では、桁上げ保存
型加算器164,166が和及び桁上げ出力を計算し、これら
が桁上げ保存型加算器171,172にそれぞれ入力される。
桁上げ保存型加算器165は、3つの部分積ビット16〜18
を加算する。桁上げ保存型加算器165の和出力は桁上げ
保存型加算器171に入力され、桁上げ保存型加算器165の
桁上げ出力は桁上げ保存型加算器172に入力される。
【0050】タイミングセクション5では、桁上げ保存
型加算器171が和及び桁上げ出力を計算し、これらが桁
上げ保存型加算器173に入力される。桁上げ保存型加算
器172からの和出力は、桁上げ保存型加算器173にも入力
される。桁上げ保存型加算器172からの桁上げ出力は、
桁上げ保存型加算器174に入力される。
【0051】タイミングセクション6では、桁上げ保存
型加算器173が、桁上げ保存型加算器171からの和及び桁
上げ出力並びに桁上げ保存型加算器172の和出力を入力
として受容する。次いで、桁上げ保存型加算器173は、
桁上げ保存型加算器174に出力される和及び桁上げの値
を計算する。
【0052】タイミングセクション7では、桁上げ保存
型加算器174が、桁上げ保存型加算器173からの和及び桁
上げ出力並びに桁上げ保存型加算器172の桁上げ出力を
利用して、全体的な和及び桁上げ出力を計算する。桁上
げ保存型加算器173,174は、第1のグループの桁上げ保
存型加算器151,154,161,164,171の加算結果と、第2の
グループの桁上げ保存型加算器153,156,163,166,172の
加算結果とを加算するという機能を実行する。
【0053】図8に示す加算技術は、それ以外の方法で
は追加のタイミングセクションを必要とするような追加
の部分積ビットが存在するような実施形態において特に
有用となり得る。例えば、乗算器が19個の部分積ビット
を生成するものとする。図7に示す加算技術のみを使用
して部分積ビットの列を加算する場合には追加のタイミ
ングセクションが必要となる。しかし、図8に示す技術
を使用することにより、その追加の部分積ビットに、タ
イミングセクションの数を増大させることなく適応する
ことが可能となる。
【0054】ここで、部分積ビット9,10を桁上げ保存型
加算器141,142にそれぞれ入力する代わりに、部分積ビ
ット9,10と追加の部分積ビットとを他の桁上げ保存型加
算器(図示せず)に入力することも可能である。次い
で、その図示しない桁上げ保存型加算器からの桁上げ出
力及び和出力を、桁上げ保存型加算器142及び桁上げ保
存型加算器141にそれぞれ入力することが可能である。
上述の変更の他には、回路130は図7に示されたものと
同じである。その結果として、19個の部分積ビットを7
つのタイミングセクション内で加算することが可能とな
る。換言すれば、タイミングセクションの数を増大させ
ることなく追加の部分積ビットに適応させることが可能
となる。更に、追加の部分積ビットと部分積ビット7,8
並びに部分積ビット17,18とを、部分積ビット9,10が追
加の部分積ビット(図示せず)と加算されるのと同様の
態様でそれぞれ加算することにより、回路130により適
応される部分積ビットの数を、タイミングセクションの
数を増大させることなく更に増大させることが可能であ
る。
【0055】所望であれば、従来の設計の性能を増大さ
せるために、図8に示す技術を使用することも可能であ
る。例えば、図5の回路110が、13個の部分積ビットの
列を加算するために使用されるものとする。追加のタイ
ミングセクションを付加する代わりに、例えば部分積ビ
ット11,12を追加の部分積ビットと共に桁上げ保存型加
算器(図示せず)に入力することも可能である。次い
で、その図示しない桁上げ保存型加算器からの桁上げ出
力及び和出力を部分積ビット11,12の代わりに桁上げ保
存型加算器118及び桁上げ保存型加算器117にそれぞれ入
力することが可能である。同様にして、追加の部分積ビ
ットを部分積ビット9,10並びに部分積ビット7,8にそれ
ぞれ加算することが可能である。
【0056】結果として、図7に示す技術を実行するこ
とにより、回路の複雑さを増大させることなく基数4の
性能を向上させることが可能となる。この性能は、図8
に示す技術を実施することにより更に向上させることが
可能である。その結果として、比較的単純であり且つ規
則的な配線の複雑さを有する基数4の実施形態にて、ウ
ォリスツリーに近い性能を達成することが可能となる。
【0057】本発明の上記の実施形態、特にいずれの
「好適な」実施形態も、単なる可能性のある実施形態に
過ぎず、本発明の原理を明瞭に理解するために提示され
ているに過ぎないことを強調しておく。本発明の思想及
び原理から実質的に逸脱することなく、上記の実施形態
に対して多くの変更及び改変を行うことが可能である。
そのような変更及び改変がすべて、本発明の範囲内に含
まれ且つ添付の請求項によって保護されることが、意図
されている。
【0058】以下においては、本発明の種々の構成要件
の組み合わせからなる例示的な実施態様を示す。 1.第1のオペランドと第2のオペランドとの乗算を行
う際に乗算器により生成される複数の部分積ビットから
なる列を加算する加算回路(130)であって、前記部分積
ビットの一部の第1の和を生成するよう構成された第1
の奇数/偶数加算回路アレイ(50,110)であって、前記第
1の和が第1の複数のビットにより規定されるものであ
る、第1の奇数/偶数加算回路アレイ(50,110)と、前記
部分積ビットの他の部分の第2の和を生成するよう構成
された第2の奇数/偶数加算回路アレイ(50,110)であっ
て、前記第2の和が第2の複数のビットにより規定され
るものである、第2の奇数/偶数加算回路アレイ(50,11
0)と、前記第1及び第2の複数のビットを受容して加算
するよう構成されたリニア加算器アレイ(146,147,148)
とを備えている、加算回路(130)。 2.前記第1の奇数/偶数加算回路アレイ(50,110)が、
第1のリニア加算器アレイ(30)と第2のリニア加算器ア
レイ(30)とを含み、該第1のリニア加算器アレイ(30)
が、第1の加算器と第2の加算器とを含み、該第1の加
算器が、前記第2の加算器から及び他の加算器からの出
力を受容するよう構成されており、該他の加算器が、前
記部分積の前記一部からの複数の部分積ビットを受容す
るよう構成されている、前項1に記載の回路(130)。 3.前記加算器の各々が桁上げ保存型加算器である、前
項2に記載の回路(130)。 4.第1のオペランドと第2のオペランドとの乗算を行
う際に乗算器により生成される複数の部分積ビットから
なる列を加算する加算回路(130,150)であって、前記部
分積ビットのうちの第1の複数の部分積ビットを受容
し、該第1の複数の部分積ビットを加算し、及び該第1
の複数の部分積ビットに基づいて和ビット及び桁上げビ
ットを生成するよう構成された、少なくとも1つの加算
器(152,155,162,165)と、前記部分積ビットのうちの第
2の複数の部分積ビットを受容し、及び前記1つの加算
器(152,155,162,165)から前記和及び桁上げビットを受
容するよう構成された第1の奇数/偶数加算回路アレイ
(50,110)であって、前記和及び桁上げビットと前記第2
の複数の部分積ビットとを加算するよう更に構成されて
いる、第1の奇数/偶数加算回路アレイ(50,110)とを備
えている、加算回路(130,150)。 5.前記第1の奇数/偶数加算回路アレイ(50,110)が、
第1のリニア加算器アレイ(30)と第2のリニア加算器ア
レイ(30)とを含み、該第1のリニア加算器アレイ(30)中
の1つの加算器が、該第1のリニアアレイ(30)内の加算
器以外の加算器からの出力を受容し、及び前記和ビット
を受容するように構成され、前記第2のリニア加算器ア
レイ(30)中の1つの加算器が、該第2のリニア加算器ア
レイ(30)内の加算器以外の加算器からの出力を受容し、
及び前記桁上げビットを受容するよう構成されている、
前項4に記載の回路(130,150)。 6.前記部分積ビットのうちの第3の複数の部分積ビッ
トを受容し、及び該第3の複数の部分積ビットを加算す
るよう構成されている、第2の奇数/偶数加算回路アレ
イ(50,110)と、前記第1及び第2の奇数/偶数加算回路
アレイ(50,110)に接続され、該第1及び第2の奇数/偶
数加算回路アレイ(50,110)からの出力に基づいて積ビッ
トの桁上げセーブ式の表現を生成するよう構成された、
第3のリニア加算器アレイ(146,147,148)とを更に備え
ている、前項4に記載の回路(130,150)。 7.第1のオペランドと第2のオペランドとの乗算を行
う際に乗算器により生成される複数の部分積ビットから
なる列を加算する方法であって、第1の奇数/偶数加算
回路アレイ(50,110)を配設し、第2の奇数/偶数加算回
路アレイ(50,110)を配設し、前記第1の奇数/偶数加算
回路アレイ(50,110)を介して前記部分積ビットのうちの
一部の第1の和を生成し、該第1の和が第1の複数のビ
ットにより規定されるものであり、前記第2の奇数/偶
数加算回路アレイ(50,110)を介して前記部分積ビットの
うちの他の部分の第2の和を生成し、該第2の和が第2
の複数のビットにより規定されるものであり、前記第1
及び第2の複数のビットを加算し、該加算ステップを介
して積ビットの桁上げ保存式の表現を形成する第3の複
数のビットを生成する、という各ステップを含む、方
法。 8.前記第1の奇数/偶数加算回路アレイ(50,110)が、
第1のリニア加算器アレイ(30)と第2のリニア加算器ア
レイ(30)とを有しており、前記部分積ビットの前記部分
における前記部分積ビットのうちの1つを、前記部分積
ビットの前記部分における前記部分積ビット以外のもの
に加算して、第1の出力ビット及び第2の出力ビットを
生成し、前記第1のリニア加算器アレイ(30)中の加算器
のうちの1つに前記第1の出力ビットを転送し、前記第
2のリニア加算器アレイ(30)中の加算器のうちの1つに
前記第2の出力ビットを転送する、という各ステップを
更に含む、前項7に記載の方法。 9.第1のオペランドと第2のオペランドとの乗算を行
う際に乗算器により生成される複数の部分積ビットから
なる列を加算する方法であって、加算器(152,155,162,1
65)を配設し、第1の奇数/偶数加算回路アレイ(50,11
0)を配設し、前記加算器(152,155,162,165)を介して前
記部分積ビットのうちの第1の複数の部分積ビットを加
算して和及び桁上げビットを生成し、前記第1の奇数/
偶数加算回路アレイ(50,110)に前記和及び桁上げビット
を転送し、前記第1の奇数/偶数加算回路アレイ(50,11
0)に前記部分積ビットのうちの第2の複数の部分積ビッ
トを転送し、前記第1の奇数/偶数加算回路アレイ(50,
110)を介して前記和及び桁上げビットと前記第2の複数
の部分積ビットとを加算し、前記第1の奇数/偶数加算
回路アレイ(50,110)を介した該加算ステップに基づいて
積ビットの桁上げ保存式の表現を生成する、という各ス
テップを含む、方法。 10.第2の奇数/偶数加算回路アレイ(50,110)を配設
し、前記部分積ビットのうちの第3の複数の部分積ビッ
トを前記第2の奇数/偶数加算回路アレイ(50,110)に転
送し、前記第3の複数の部分積ビットを前記第2の奇数
/偶数加算回路アレイ(50,110)を介して加算し、該第3
の複数の部分積ビットを加算するステップに基づいて前
記生成ステップを実行する、という各ステップを更に含
む、前項9に記載の方法。
【図面の簡単な説明】
【図1A】3つの乗数ビット及びオペランド乗数を含む
基数4についての乗算テーブルである。
【図1B】4つの乗数ビット及びオペランド乗数を含む
基数8についての乗算テーブルである。
【図1C】最適ウォリスツリーアーキテクチャを使用し
てK個のオペランドについて必要とされる桁上げ保存型
加算器のレベル数を示す表である。
【図1D】部分積を有するブース2(基数4)を用いた乗
算の一例を示す説明図である。
【図1E】部分積を有するブース3(基数8)を用いた乗
算の一例を示す説明図である。
【図1F】算術和アレイ乗算器の一例を示すブロック図
である。
【図1G】奇数/偶数算術和アレイ乗算器の一例を示す
ブロック図である。
【図2A】部分積の列を加算するための従来の算術和回
路を示すブロック図である。
【図2B】部分積の列を加算するための従来の算術和回
路を示すブロック図である。
【図3】2つのオペランドを乗算する際に基数4の乗算
器により生成された18個の部分積の列を加算するための
従来の奇数/偶数加算回路を示すブロック図である。
【図4】前述の2つのオペランドを乗算する際に基数4
の乗算器により生成された部分積の列を加算するための
従来のフルウォリスツリー加算回路を示すブロック図で
ある。
【図5】前述の2つのオペランドを乗算する際に基数8
の乗算器により生成された部分積の列を加算するための
従来の奇数/偶数加算回路を示すブロック図である。
【図6】本発明の技術による、部分積を有するブース2
(基数4の)を用いた乗算の一例を示す説明図である。
【図7】本発明による、複数のグループに分けられた部
分積の列を加算するための加算回路を示すブロック図で
ある。
【図8】図3、図5、及び/又は図7に示す奇数/偶数
回路のアレイ等の奇数/偶数加算回路アレイの性能を増
大させるために使用することが可能な技術を示す回路の
ブロック図である。
【符号の説明】
30 第1/第2のリニア加算器アレイ 50,110 奇数/偶数加算回路の第1/第2の
アレイ 130 加算回路 146,147,148 加算器 150 加算回路 152,155,162,165 加算器
フロントページの続き (72)発明者 ステファン・エル・バス アメリカ合衆国コロラド州80526,フォー トコリンズ,オマハ・コート・3515 (72)発明者 トーマス・ジェイ・サリバン アメリカ合衆国コロラド州80525,フォー トコリンズ,キングバーリィ・ドライブ・ 4325

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】第1のオペランドと第2のオペランドとの
    乗算を行う際に乗算器により生成される複数の部分積ビ
    ットからなる列を加算する加算回路(130)であって、 前記部分積ビットの一部の第1の和を生成するよう構成
    された第1の奇数/偶数加算回路アレイ(50,110)であっ
    て、前記第1の和が第1の複数のビットにより規定され
    るものである、第1の奇数/偶数加算回路アレイ(50,11
    0)と、 前記部分積ビットの他の部分の第2の和を生成するよう
    構成された第2の奇数/偶数加算回路アレイ(50,110)で
    あって、前記第2の和が第2の複数のビットにより規定
    されるものである、第2の奇数/偶数加算回路アレイ(5
    0,110)と、 前記第1及び第2の複数のビットを受容して加算するよ
    う構成されたリニア加算器アレイ(146,147,148)とを備
    えている、加算回路(130)。
JP2001039029A 2000-02-15 2001-02-15 規則的加算回路を使用して乗算器の性能を増大させる装置及び方法 Pending JP2001249798A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/504,984 US6742011B1 (en) 2000-02-15 2000-02-15 Apparatus and method for increasing performance of multipliers utilizing regular summation circuitry
US09/504984 2000-02-15

Publications (1)

Publication Number Publication Date
JP2001249798A true JP2001249798A (ja) 2001-09-14

Family

ID=24008539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001039029A Pending JP2001249798A (ja) 2000-02-15 2001-02-15 規則的加算回路を使用して乗算器の性能を増大させる装置及び方法

Country Status (3)

Country Link
US (1) US6742011B1 (ja)
JP (1) JP2001249798A (ja)
DE (1) DE10059492A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1739547A1 (en) * 2005-07-01 2007-01-03 STMicroelectronics (Research & Development) Limited Performing rounding in an arithmetic operation
EP1746494A1 (en) * 2005-07-20 2007-01-24 STMicroelectronics (Research & Development) Limited Partial product reduction tree
WO2012092466A1 (en) 2010-12-29 2012-07-05 Guardian Industries Corp. Grid keeper for insulating glass unit, and insulating glass unit incorporating the same

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4041292A (en) * 1975-12-22 1977-08-09 Honeywell Information Systems Inc. High speed binary multiplication system employing a plurality of multiple generator circuits
US4523210A (en) * 1982-06-11 1985-06-11 Sperry Corporation Fast error checked multibit multiplier
US4556948A (en) * 1982-12-15 1985-12-03 International Business Machines Corporation Multiplier speed improvement by skipping carry save adders
JPS61114338A (ja) * 1984-11-09 1986-06-02 Hitachi Ltd 乗算器
US4901270A (en) * 1988-09-23 1990-02-13 Intel Corporation Four-to-two adder cell for parallel multiplication
JPH06242928A (ja) * 1993-02-22 1994-09-02 Nec Corp 加算器およびこれを用いた乗算回路
US5504915A (en) * 1993-08-05 1996-04-02 Hyundai Electronics America Modified Wallace-Tree adder for high-speed binary multiplier, structure and method
US5719802A (en) * 1995-12-22 1998-02-17 Chromatic Research, Inc. Adder circuit incorporating byte boundaries
US5706323A (en) 1996-03-01 1998-01-06 Hewlett-Packard Company Dynamic 1-of-2N logic encoding
US5892698A (en) 1996-04-04 1999-04-06 Hewlett-Packard Company 2's complement floating-point multiply accumulate unit
US5677863A (en) 1996-04-04 1997-10-14 Hewlett-Packard Co. Method of performing operand increment in a booth recoded multiply array
US6598064B1 (en) * 2000-01-04 2003-07-22 National Semiconductor Corporation Split multiplier array and method of operation
US6615229B1 (en) * 2000-06-29 2003-09-02 Intel Corporation Dual threshold voltage complementary pass-transistor logic implementation of a low-power, partitioned multiplier

Also Published As

Publication number Publication date
DE10059492A1 (de) 2001-08-30
US6742011B1 (en) 2004-05-25

Similar Documents

Publication Publication Date Title
Lang et al. A radix-10 combinational multiplier
Tiwari et al. Multiplier design based on ancient Indian Vedic Mathematics
US5790446A (en) Floating point multiplier with reduced critical paths using delay matching techniques
US4168530A (en) Multiplication circuit using column compression
US7313585B2 (en) Multiplier circuit
US5325320A (en) Area efficient multiplier for use in an integrated circuit
EP0448367A2 (en) High speed digital parallel multiplier
US5508952A (en) Carry-lookahead/carry-select binary adder
US20040225705A1 (en) Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding
Kalaiyarasi et al. Design of an efficient high speed radix-4 booth multiplier for both signed and unsigned numbers
Srinivas et al. New realization of low area and high-performance Wallace tree multipliers using booth recoding unit
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
US20040010536A1 (en) Apparatus for multiplication of data in two's complement and unsigned magnitude formats
JP4282193B2 (ja) 乗算装置
US20050228845A1 (en) Shift and recode multiplier
Saha et al. Vedic mathematics based 32-bit multiplier design for high speed low power processors
JP2001249798A (ja) 規則的加算回路を使用して乗算器の性能を増大させる装置及び方法
Chugh et al. Design and implementation of a high-Performance 4-bit vedic multiplier using a novel 5-bit adder in 90nm technology
GB2396708A (en) Arithmetic logic unit with feedback to a first adder via registers and output via a second adder.
US7447726B2 (en) Polynomial and integer multiplication
US5072419A (en) Binary tree multiplier constructed of carry save adders having an area efficient floor plan
Harish et al. Comparative performance analysis of Karatsuba Vedic multiplier with butterfly unit
Liao et al. A carry-select-adder optimization technique for high-performance booth-encoded wallace-tree multipliers
US5883825A (en) Reduction of partial product arrays using pre-propagate set-up
Fonseca et al. Design of a radix-2m hybrid array multiplier using carry save adder format