JP4290202B2 - ブース乗算の装置および方法 - Google Patents

ブース乗算の装置および方法 Download PDF

Info

Publication number
JP4290202B2
JP4290202B2 JP2007028768A JP2007028768A JP4290202B2 JP 4290202 B2 JP4290202 B2 JP 4290202B2 JP 2007028768 A JP2007028768 A JP 2007028768A JP 2007028768 A JP2007028768 A JP 2007028768A JP 4290202 B2 JP4290202 B2 JP 4290202B2
Authority
JP
Japan
Prior art keywords
bits
bit
multiplier
circuit
multiplicand
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 - Fee Related
Application number
JP2007028768A
Other languages
English (en)
Other versions
JP2007234004A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of JP2007234004A publication Critical patent/JP2007234004A/ja
Application granted granted Critical
Publication of JP4290202B2 publication Critical patent/JP4290202B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/5332Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by skipping over strings of zeroes or ones, e.g. using the Booth Algorithm
    • 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
    • G06F7/5338Reduction 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

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、2進数をブース乗算器を利用して乗算する装置および方法に関する。
情報処理システム等によって実行される多くの処理は、2進数の乗算を必要とする。乗算関数では、被乗数(multiplicand)と乗数(multiplier)が存在する。よく知られるように、2進数の乗算は、まず、被乗数が乗数の第1ビットと掛け合わされる。つづいて、被乗数が乗数の第2ビットと掛け合わされ、その結果得られた値が、1桁シフトされて、積同士が加算される。このプロセスが、乗数のすべてのビットが被乗数と掛け合わせられるまで繰り返される。
被乗数と、乗数のある1ビットとを掛け合わせて得られる積は、部分積と呼ばれる。最終的な積は、もっとも右の桁から左の桁へと桁上げしながら、部分積を積算することにより生成される。このプロセスは、部分積積算(partial product accumulation)と呼ばれる。このプロセスは、意図した目的を達成するためによく機能するが、ハードウェアを利用してこの処理を実装する場合、非常に多くの論理ゲートおよびその他の回路が必要とされるという深刻な欠点が存在する。結果として、ハードウェアを用いてこのプロセスを実装する場合、非常に多くの費用がかかり、とくに多くのビット数を演算する場合には、処理速度が遅くなってしまう。
2進数の乗数と、2進数の被乗数を掛け合わせて生成される部分積の個数を減らすことにより、処理速度の高速化を図るために、乗算器にブース符号化アルゴリズムあるいはブース符号化方法を利用する手法が知られている。部分積の個数を減らすために、ブース符号化アルゴリズムは、基数2の乗数Yを、符号化されたデジタル値の集合{−2、−1、−0、1、2}のいずれかの数を表現する基数4の乗数Zに再コード化し、その結果として、部分積の個数を1/2とする。ブース乗算は、一般的にいくつかの符号化器とセレクタで構成される。符号化器は、基数2の乗数に含まれるビットの組を、基数4の符号化されたビットの組に変換する。セレクタは、乗算器として機能し、各セレクタは基数2の被乗数をビットの組ごとに受け、基数2の乗数に含まれるビットの組は、セレクタビットとして利用される。基数2の乗数に含まれるあるビットの組に対して、各セレクタからの出力の集合は、部分積となる。
このアルゴリズムは、冗長な記数法を利用することにより、部分積の個数を減少させることができる一方、従来のブース乗算回路の符号化器およびセレクタは、それぞれの機能を実現するために多くの論理ゲートを必要とする(従来のブース符号化器およびセレクタの例については後述する)。結果として、乗算器を通過する際に、信号の伝搬遅延が発生するという問題がある。
本発明は、かかる課題に鑑みてなされたものであり、その目的のひとつは、遅延時間を短縮したブース乗算器の提供にある。
本発明のある態様によれば、乗算方法あるいは乗算装置が提供される。この方法あるいは装置は、基数2の乗数(基数を2とする表現)を、基数4(基数を4とする表現)の符号化されたビットの組に変換する。符号化されたビットの組は、−2、−1、−0、1、2のいずれかを表現したものであり、第1のビットは、表現する数が2のときに真値(すなわち1)となり、第2のビットは、表現する数が−2のときに真値となり、第3のビットは、表現する数が負または0のとき真値となり、第4のビットは、表現する数の絶対値が1のとき真値となる。
ある態様の方法もしくは装置は、符号化されたビットの組の第1から第4のビットを、以下の真理値表にもとづいて生成してもよい。なお、本明細書において、j=i+1、k=i+2である。
Figure 0004290202
ある態様の方法もしくは装置は、乗数に含まれるビットの組それぞれを、符号化されたビットの組に変換してもよい。ビットの組は、最後のものを除き、3ビットを含み、最後のビットの組は、2ビットとヌルビットを含んでもよい。乗数は、ビットY、Y、Y、Y…YN−1を含み、第1の3ビットの組は、Y、Y、Yを含み、第2の3ビットの組はY、Y、Yを含み、以下、各組は同様に構成されていてもよい。すなわち、第p番目(pは、1≦p≦N−1を満たす整数)の3ビットの組は、ビットY(p−1)×2、Y(p−1)×2+1、Y(p−1)×2+2を含み、第N番目の符号化回路はビットY(N−1)×2、Y(N−1)×2+1およびヌルビットを含んでもよい。
ある態様の方法もしくは装置は、符号化されたビットの組と、乗数に含まれるビットの組とを受け、部分積の各ビットを生成してもよい。
ある態様の方法もしくは装置は、被乗数に含まれる2ビットの組A、Aと、符号化された第1から第4のビットB、B、B、Bとを受け、部分積の各ビットSを、論理式
=(B NAND A) NAND (B NAND A) NAND (B NAND (B XOR A))
に従って生成してもよい。
たとえば、被乗数が、ビットA、A、A、A、…AM−1を含むとき、第1番目の2ビットの組はA、Aを含み、第2番目の2ビットの組はA、Aを含み、第3番目の2ビットの組はA、Aを含み、以下、各組は同様に構成されてもよい。すなわち、被乗数に含まれる第p番目(pは、1≦p≦M−1を満たす整数)のビットの組は、ビットAp−1、Aを含み、第M番目の組は、ビットAM−1、ヌルビットを含んでもよい。
なお、本明細書において、NAND(!AND)は、否定論理積を、XORは、排他的論理和を表すものとする。
ある態様の方法もしくは装置は、それぞれの符号化されたビットの組に対するビットSの集合を生成し、乗数と被乗数の部分積を生成してもよい。さらに、乗数と被乗数の積を生成するために、部分積を加算してもよい。
なお、以上の構成要素の任意の組合せや、本発明の構成要素や表現を、方法、装置、システムなどの間で相互に置換したものもまた、本発明の態様として有効である。
本発明によれば、ブース乗算器の遅延時間を短縮することができる。
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
図1は、2進数の積に関連する部分積を生成する実施の形態に係る乗算回路100の構成を示すブロック図である。乗算回路100は、少なくともひとつの符号化回路102(説明のため4つの符号化回路が図示される)と、複数のセレクタ回路104(説明のために8つのセレクタ回路が図示される)を備える。
符号化回路102は、それぞれ、2進数に含まれるビットYで構成されるビットの組106を、各ビットの組ごとに基数4の符号化されたビットBiに変換し、信号線108に出力する。具体的には、信号線108A〜108D上の符号化されたそれぞれのビットは、{−2、−1、−0、1、2}からなる集合のいずれかの数を表現する。好ましい実施の形態では、各符号化回路102は、2進数の乗数に含まれる3ビットづつの組を受け、基数が4である4つの符号化されたビットを信号線108上に生成する。符号化回路102の入力および出力に関する詳細は、後述する。
セレクタ回路104は、それぞれ、信号線108上の符号化されたビットの組を受けるとともに、被乗数および乗数の部分積の各ビットを生成するために、被乗数に含まれるビットの組110を受ける。好ましい実施の形態において、各セレクタ回路104は、対応する符号化回路102から信号線108を介して符号化されたビットの組を受け、それを利用して被乗数に含まれるビットの組110に処理を施し、部分積の1ビットSを生成する。図1に示されるように、4つの符号化されたビットの組それぞれは、複数のセレクタ回路104にそれぞれ入力され、各セレクタ回路104は、4つの部分積のあるビットSを生成する。部分積の和は、乗数および被乗数の積となる。
好ましい実施の形態において、乗算回路100は、N/2個の符号化回路102を含む。ここで、Nは、乗数のビット数である。したがって、たとえば、8ビットの乗数(Y、Y、Y、Y、Y、Y、Y、Y)に対しては、4つの符号化回路102A〜102Dが利用される。さらに、それぞれの符号化回路102は、乗数に含まれる3ビットの組(Y、Y、Y)であってそれぞれ異なる組を受ける。たとえば、符号化回路102は、乗数のビットY、Y、Yを受ける。符号化回路102Bは、乗数のビットY、Y、Yを受ける。符号化回路102Cは、乗数のビットY、Y、Yを受ける。符号化回路102Dは、乗数のビットY、Yおよび0であるヌルビットを受ける。
好ましい実施の形態において、乗算回路100は、M個のセレクタ回路104を備える。ここでMは、被乗数のビット数である。本実施の形態では、被乗数は8ビット(A、A、A、A、A、A、A、A)であるとする。各セレクタ回路104は、最後のセレクタ回路104Hを除き、被乗数に含まれる2ビットの組110であって互いに異なる組を受ける。最後のセレクタ回路104Hは、被乗数に含まれる1ビットと、ヌルビットを受ける。たとえば、第1セレクタ回路104Aは、被乗数のビットA、Aを受ける。第2セレクタ回路104Bは、被乗数のビットA、Aを受ける。第3セレクタ回路104Cは、被乗数のビットA、Aを受ける。さらに他のセレクタ回路104も、最後のセレクタ回路104Hを除き、同様のパターンにて、被乗数のビットを受ける。最後のセレクタ回路104HはビットAとヌルビット0を受けることになる。
当業者であれば、本明細書の説明にもとづいて、乗算回路100の設計指針に応じて、別の個数の符号化回路102、あるいは別の個数のセレクタ回路104が利用できることを理解できよう。たとえば、ひとつの符号化回路102を用い、乗数に含まれるビットの組106を順次受け、符号化されたビットの組を信号線108に順次出力してもよい。この場合、複数のセレクタ回路104が、順次、符号化されたビットの組を受け、それぞれに対して部分積を生成してもよい。同様に、ひとつのセレクタ回路104を用い、被乗数のビットの組110を順次受け、部分積の各ビットSを順次生成してもよい。以上の説明によって、当業者であれば、異なる個数の符号化回路102や、異なる個数のセレクタ回路104を利用した乗算回路100のさまざまな実施の形態を考えることができ、上述したあるいは後述する部分積を生成することができよう。
図2は、図1の符号化回路102の構成例を示す回路図である。図3は、符号化回路102の真理値表を示す。符号化回路102は乗数に含まれる3ビットの組(Y、Y、Y)を、符号化されたビットの組(pos_2、neg_2、neg_or_zero、abs_1)に変換する複数の論理ゲートを備える。好ましい実施の形態において、符号化回路102は、第1回路202A、第2回路202B、第3回路202C、第4回路202Dを含む。第1回路202Aは、乗数のビットY、Y、Yを受け、符号化されたビットのうち、第1のビットpos_2を生成する。第2回路202Bは、乗数のビットY、Y、Yを受け、符号化されたビットのうち、第2のビットneg_2を生成する。第3回路202Cは、乗数のビットYを受け、符号化されたビットのうち、第3のビットneg_or_zeroを生成する。第4回路202Dは、乗数のビットY、Yを受け、符号化されたビットのうち、第4のビットabs_1を生成する。
符号化回路102は、図3に示す真理値表に示される符号化されたビットを生成するように接続された適切な論理ゲートを含む。具体的には、第1の符号化されたビットpos_2は、乗数に含まれる3ビットの組の基数4の表現が+2の場合に真(1)となる。第2ビットneg_2は、乗数に含まれる3ビットの組の基数4の表現が−2の場合に真(1)となる。第3ビットneg_or_zeroは、乗数に含まれる3ビットの組の基数4の表現が、負もしくは0である場合に真(1)となる。第4ビットabs_1は、乗数に含まれる3ビットの組の基数4の表現の絶対値が1のときに真(1)となる。
図2に示される符号化回路102の具体的な回路構成は、説明のための例示であり、当業者であれば、ここの論理ゲートやそれらの相互接続に、本発明の範囲内において、さまざまな変形例があり得ることが理解できよう。
図4は、図1のセレクタ回路104の構成例を示す回路図である。セレクタ回路104は、符号化回路102からの符号化されたビットを利用して、被乗数に含まれるビットの組110であるA、Aを操作し、乗数および被乗数の部分積の各ビットSを生成するための複数の論理ゲートを含む。好ましい実施の形態において、論理ゲートは以下のブール表現に従って、出力ビットSを生成する。
=(B NAND A) NAND (B NAND A) NAND (B NAND (B XOR A))
ここで、Bは、符号化されたビットの組の第1、第2、第3、第4のビットである。
図4のセレクタ回路104は、説明のための例示であり、当業者であれば、ここの論理ゲートやそれらの相互接続に、本発明の範囲内において、さまざまな変形例があり得ることが理解できよう。
図5から図8は、図1から図4に示した実施の形態に係る乗算回路と、従来の乗算回路の伝搬遅延を比較して示す図である。
図5は、従来のブース符号化回路302およびセレクタ回路304を示す図であり、図示された真理値表は、ブース符号化回路302の動作を示す。ブース符号化回路302およびセレクタ回路304の最長の伝搬遅延は、複数の論理ゲートごとの単位遅延を考えることによって評価できる。説明のため、XORゲートは、多くのファンアウト負荷を有した状態で1.5の伝搬遅延を有し、ANDゲートは、1.0の伝搬遅延を有し、インバータゲートは、1.0の伝搬遅延を有するものとする。図5の回路の最長の伝搬遅延は、1.5+1.0+1.0+1.0+1.0+1.5=7.0となる。
図6は、別の従来のブース符号化回路402およびセレクタ回路404を示す図であり、図示された真理値表は、ブース符号化回路402の動作を示す。ブース符号化回路402およびセレクタ回路404による最長の伝搬遅延は、1.5+1.0+1.0+1.0+1.0=5.5となる。
図7は、さらに別の従来のブース符号化回路502およびセレクタ回路504を示す図であり、図示された真理値表は、ブース符号化回路502の動作を示す。ブース符号化回路502およびセレクタ回路504による最長の伝搬遅延は、1.5+1.0+1.0+1.0+1.0=5.5となる。
図8は、本実施の形態に係る符号化回路102およびセレクタ回路104を示す図である。いくつかのパスについて検討する。第1の符号化されたビットpos_2の第1の経路では、伝搬遅延は、1.5+1.0+1.0+1.0=4.5となる。第2の符号化されたビットneg_2の伝搬遅延は、1.5+1.0+1.0+1.0=4.5となる。第3の符号化されたビットneg_or_zeroの伝搬遅延は、1.5+1.0+1.0+1.0=4.5となる。ここでの1.5という伝搬遅延は、符号化回路102におけるインバータに対するものであり、その出力が複数のセレクタ回路に対して展開されているため1.5としている。反対に、セレクタ回路104のXOR論理ゲートに対する1.0という伝搬遅延は、XORゲートが負荷としてひとつの論理ゲートのみを有していることによるものである。第4の符号化されたビットabs_1の伝搬遅延は、1.5+1.0+1.0+1.0=4.5となる。図8の乗算回路100における信号の伝搬遅延を、従来の図5から図7の伝搬遅延と比較すると、本実施の形態における伝搬遅延が全体として著しく短くなっている。さらに、乗算回路100のそれぞれのパスの伝搬遅延は、先行技術におけるそれぞれと比べて、バランスがとれたものとなっている。これにより、より早い処理速度と、より高い同期動作が実現できる。
本明細書において説明した方法あるいは装置はたとえば、現在において利用可能であり、あるいは将来において開発される標準的なデジタル回路、アナログ回路、マイクロプロセッサ、デジタル信号処理回路、ソフトウェアやファームウェアを実行可能なプロセッサ、プログラム可能なデジタル機器やシステム、プログラム可能なアレイ論理デバイス、あるいはこれらの組み合わせなどの公知の技術を利用することにより実現される。
実施の形態にもとづき、本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を離脱しない範囲において、多くの変形例や配置の変更が可能である。
2進数の積に関連する部分積を生成する実施の形態に係る乗算回路の構成を示すブロック図である。 図1の符号化回路の構成例を示す回路図である。 図2の符号化回路の真理値表を示す。 図1のセレクタ回路の構成例を示す回路図である。 従来のブース符号化回路およびセレクタ回路の遅延およびブース符号化回路の動作を示す真理値表を示す図である。 従来の別のブース符号化回路およびセレクタ回路の遅延およびブース符号化回路の動作を示す真理値表を示す図である。 従来のさらに別のブース符号化回路およびセレクタ回路の遅延およびブース符号化回路の動作を示す真理値表を示す図である。 実施の形態に係る符号化回路およびセレクタ回路を示す図である。
符号の説明
100 乗算回路、 102 符号化回路、 104 セレクタ回路、 108 信号線、 202A 第1回路、 202B 第2回路、 202C 第3回路、 202D 第4回路。

Claims (23)

  1. 乗数に含まれるビットの組を受け、基数2から基数4に変換して、−2、−1、0、1、2のいずれかの数を表現する符号化されたビットの組を生成する複数の論理ゲートを含む符号化回路を備え、
    前記符号化されたビットの組は、
    表現する数が2のときに真値となる第1のビットと、
    表現する数が−2のときに真値となる第2のビットと、
    表現する数が負または0のとき真値となる第3のビットと、
    表現する数の絶対値が1のとき真値となる第4のビットと、
    を含むことを特徴とする装置。
  2. 前記符号化回路は、
    前記乗数に含まれる3ビットY、Y、Yを受け、前記符号化されたビットの組の前記第1のビットBを生成する第1回路と、
    前記乗数の前記ビットY、Y、Yを受け、前記符号化されたビットの組の前記第2のビットBを生成する第2回路と、
    前記乗数の前記ビットYを受け、前記符号化されたビットの組の前記第3のビットBを生成する第3回路と、
    前記乗数の前記ビットY、Yを受け、前記符号化されたビットの組の前記第4のビットBを生成する第4回路と、
    を含むことを特徴とする請求項1に記載の装置。
  3. 前記第1回路は、以下の真理値表に従った論理演算を実行する論理ゲートを含むことを特徴とする請求項2に記載の装置。
    Figure 0004290202
  4. 前記第2回路は、以下の真理値表に従った論理演算を実行する論理ゲートを含むことを特徴とする請求項2または3に記載の装置。
    Figure 0004290202
  5. 前記第3回路は、以下の真理値表に従った論理演算を実行する論理ゲートを含むことを特徴とする請求項2から4のいずれかに記載の装置。
    Figure 0004290202
  6. 前記第4回路は、以下の真理値表に従った論理演算を実行する論理ゲートを含むことを特徴とする請求項2から5のいずれかに記載の装置。
    Figure 0004290202
  7. 前記乗数のビット数をN(Nは自然数)とするとき、N/2個の符号化回路を備え、
    各符号化回路は、最後の符号化回路を除いて、前記乗数の3ビットの組であって互いに異なる組を受け、前記最後の符号化回路は2ビットの組と、ヌルビットを受けることを特徴とする請求項2から6のいずれかに記載の装置。
  8. 前記乗数は、ビットY、Y、Y、Y…YN−1を含み、
    第p番目(pは、1≦p≦N−1を満たす整数)の符号化回路は、ビットY(p−1)×2、Y(p−1)×2+1、Y(p−1)×2+2を受け(、第N番目の符号化回路はビットY(p−1)×2、Y(p−1)×2+1およびヌルビットを受け)ることを特徴とする請求項7に記載の装置。
  9. 複数のセレクタ回路をさらに備え、各セレクタ回路は、
    前記符号化回路からの前記符号化されたビットと、被乗数に含まれるビットの組とを受け、部分積の各ビットを生成することを特徴とする請求項1に記載の装置。
  10. 各セレクタ回路は、前記被乗数に含まれる2ビットの組A、Aを受け、部分積の各ビットを生成し、
    各セレクタ回路は、符号化されたビットの第1、第2、第3、第4のビットをB、B、B、Bとするとき、論理式
    =(B NAND A) NAND (B NAND A) NAND (B NAND (B XOR A))
    に従って各ビットSを生成する複数の論理ゲートを含むことを特徴とする請求項9に記載の装置。
  11. 乗数を符号化したビットの組と被乗数に含まれるビットの組とを受け、部分積の各ビットを生成するセレクタ回路を備え、
    前記乗数を符号化したビットは、基数2から基数4へ変換されており、基数4の数は、−2、−1、0、1、2のいずれかの数を表現しており、
    前記乗数を符号化したビットの組は、
    表現する数が2のときに真値となる第1のビットと、
    表現する数が−2のときに真値となる第2のビットと、
    表現する数が負または0のとき真値となる第3のビットと、
    表現する数の絶対値が1のとき真値となる第4のビットと、
    を含むことを特徴とする装置。
  12. 各セレクタ回路は、前記被乗数に含まれる2ビットの組A、Aを受け、部分積の各ビットSを生成し、
    前記乗数を符号化した第1から第4のビットをB、B、B、Bとするとき、各セレクタ回路は、論理式
    =(B NAND A) NAND (B NAND A) NAND (B NAND (B XOR A))
    に従って各ビットSを生成する複数の論理ゲートを含むことを特徴とする請求項11に記載の装置。
  13. 前記被乗数のビット数をM(Mは自然数)とするとき、M個のセレクタ回路を備え、
    各符号化回路は、最後のセレクタ回路を除いて、それぞれ異なる前記被乗数に含まれる2ビットの組を受け、前記最後のセレクタ回路は前記被乗数の1ビットおよびヌルビットを受けることを特徴とする請求項11に記載の装置。
  14. 前記被乗数は、ビットA、A、A、A、…AM−1(Mは整数)を含み、
    第p番目(pは、1≦p≦M−1を満たす整数)の前記セレクタ回路はビットAp−1、Aを受け(、第M番目の前記セレクタ回路は、ビットAM−1およびヌルビットを受け)ることを特徴とする請求項13に記載の装置。
  15. ある符号化されたビットの組に対する出力ビットSの集合は、前記乗数と前記被乗数の部分積となり、
    前記部分積の合計は、前記乗数および前記被乗数の積となることを特徴とする請求項14に記載の装置。
  16. 基数2の乗数を、−2、−1、0、1、2のいずれかの数を表現する符号化されたビットの組に変換するステップを備え、
    前記符号化されたビットの組は、
    表現する数が2のときに真値となる第1のビットと、
    表現する数が−2のときに真値となる第2のビットと、
    表現する数が負または0のとき真値となる第3のビットと、
    表現する数の絶対値が1のとき真値となる第4のビットと、
    を含むことを特徴とする方法。
  17. 前記第1、第2、第3、第4の符号化されたビットB、B、B、Bを、以下の真理値表に従って生成することを特徴とする請求項16に記載の方法。
    Figure 0004290202
  18. 前記乗数に含まれる3ビットの組それぞれを、符号化されたビットに変換するステップをさらに備え、
    前記乗数は、ビットY、Y、Y、Y…YN−1を含み、
    第p番目(pは、1≦p≦N−1を満たす整数)の前記3ビットの組はビットY(p−1)×2、Y(p−1)×2+1、Y(p−1)×2+2を含(み、第N番目の組は、Y(p−1)×2、Y(p−1)×2+1およびヌルビットを含)むことを特徴とする請求項17に記載の方法。
  19. 前記符号化されたビットの組と、前記乗数に含まれるビットの組とを受けるステップと、
    部分積の各ビットを生成するステップと、
    をさらに備えることを特徴とする請求項18に記載の方法。
  20. 前記被乗数に含まれる2ビットの組A、Aと、符号化された第1から第4のビットB、B、B、Bとを受けるステップと、
    部分積の各ビットSを、論理式
    =(B NAND A) NAND (B NAND A) NAND (B NAND (B XOR A))
    に従って生成するステップと、
    をさらに備えることを特徴とする請求項16に記載の方法。
  21. 前記被乗数は、ビットA、A、A、A、…AM−1を含み、
    前記被乗数に含まれる第p番目(pは、1≦p≦M−1を満たす整数)のビットの組は、ビットAp−1、Aを含み、(第M番目の組は、ビットAM−1、ヌルビットを含む)ことを特徴とする請求項20に記載の方法。
  22. それぞれの符号化されたビットの組に対するビットSの集合を生成し、前記乗数と前記被乗数の部分積を生成するステップをさらに備えることを特徴とする請求項21に記載の方法。
  23. 前記乗数と前記被乗数の積を生成するために、前記部分積を加算するステップをさらに備えることを特徴とする請求項22に記載の方法。
JP2007028768A 2006-02-28 2007-02-08 ブース乗算の装置および方法 Expired - Fee Related JP4290202B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US77760706P 2006-02-28 2006-02-28

Publications (2)

Publication Number Publication Date
JP2007234004A JP2007234004A (ja) 2007-09-13
JP4290202B2 true JP4290202B2 (ja) 2009-07-01

Family

ID=38554488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007028768A Expired - Fee Related JP4290202B2 (ja) 2006-02-28 2007-02-08 ブース乗算の装置および方法

Country Status (2)

Country Link
US (1) US7840629B2 (ja)
JP (1) JP4290202B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101861550B1 (ko) 2012-02-29 2018-05-29 삼성전자주식회사 다항식 연산을 위한 부분적 발생 장치 및 방법
CN102722352B (zh) * 2012-05-21 2015-06-03 华南理工大学 一种Booth乘法器
CN103412737B (zh) * 2013-06-27 2016-08-10 清华大学 实现基4-Booth编码方法的门电路和基于该方法的流水线大数乘法器
US9588765B2 (en) * 2014-09-26 2017-03-07 Intel Corporation Instruction and logic for multiplier selectors for merging math functions
US10296292B2 (en) * 2016-10-20 2019-05-21 Advanced Micro Devices, Inc. Dynamic variable precision computation
US10599606B2 (en) 2018-03-29 2020-03-24 Nvidia Corp. 424 encoding schemes to reduce coupling and power noise on PAM-4 data buses
US11966348B2 (en) 2019-01-28 2024-04-23 Nvidia Corp. Reducing coupling and power noise on PAM-4 I/O interface
US10657094B2 (en) 2018-03-29 2020-05-19 Nvidia Corp. Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses
US11159153B2 (en) 2018-03-29 2021-10-26 Nvidia Corp. Data bus inversion (DBI) on pulse amplitude modulation (PAM) and reducing coupling and power noise on PAM-4 I/O
US10466968B1 (en) * 2018-07-12 2019-11-05 Nvidia Corp. Radix-4 multiplier partial product generation with improved area and power
US10623200B2 (en) 2018-07-20 2020-04-14 Nvidia Corp. Bus-invert coding with restricted hamming distance for multi-byte interfaces

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301599B1 (en) * 1999-03-29 2001-10-09 Sony Corporation Of Japan Multiplier circuit having an optimized booth encoder/selector
US6622154B1 (en) * 1999-12-21 2003-09-16 Lsi Logic Corporation Alternate booth partial product generation for a hardware multiplier
US6877022B1 (en) * 2001-02-16 2005-04-05 Texas Instruments Incorporated Booth encoding circuit for a multiplier of a multiply-accumulate module
US7024445B2 (en) * 2001-12-20 2006-04-04 Analog Devices, Inc. Method and apparatus for use in booth-encoded multiplication
US7272624B2 (en) * 2003-09-30 2007-09-18 International Business Machines Corporation Fused booth encoder multiplexer
US7467175B2 (en) * 2003-12-29 2008-12-16 Xilinx, Inc. Programmable logic device with pipelined DSP slices

Also Published As

Publication number Publication date
US7840629B2 (en) 2010-11-23
JP2007234004A (ja) 2007-09-13
US20070203962A1 (en) 2007-08-30

Similar Documents

Publication Publication Date Title
JP4290202B2 (ja) ブース乗算の装置および方法
US20210349692A1 (en) Multiplier and multiplication method
de Aguiar et al. Exploring the viability of stochastic computing
Premkumar A formal framework for conversion from binary to residue numbers
Thomas Design and simulation of radix-8 booth encoder multiplier for signed and unsigned numbers
Pieper et al. Efficient Dedicated Multiplication Blocks for 2's Complement Radix-2m Array Multipliers.
Surendran et al. Implementation of fast multiplier using modified Radix-4 booth algorithm with redundant binary adder for low energy applications
Timarchi et al. A novel high-speed low-power binary signed-digit adder
CN101110016A (zh) 子字并行整数乘法器
JP4290203B2 (ja) リダクションアレイの装置および方法
Al-Khaleel et al. Fast binary/decimal adder/subtractor with a novel correction-free BCD addition
Armand et al. Low power design of binary signed digit residue number system adder
Saha et al. 4: 2 and 5: 2 Decimal Compressors
Gorodecky et al. Efficient hardware operations for the residue number system by boolean minimization
US20070180014A1 (en) Sparce-redundant fixed point arithmetic modules
Backenius et al. Bidirectional conversion to minimum signed-digit representation
Bai et al. Design of 128-bit Kogge-Stone low power parallel prefix VLSI adder for high speed arithmetic circuits
Sahoo et al. Delay optimized array multiplier for signal and image processing
Jiang et al. Residue-Weighted Number Conversion with Moduli Set {2^ p-1, 2^ p+ 1, 2^{2p}+ 1, 2^ p} Using Signed-Digit Number Arithmetic
Saste et al. Design and Implementation of Radix 4 Based Arithmetic Operations
Angel et al. Improving system performance by using prefix adders in RNS
Vijaya Vardhan et al. Ultra-Low-Power Modulo Adder with Thermometer Coding for Uncertain RNS Applications
Li et al. Performance Improvement of Radix-4 Booth Multiplier on Negative Partial Products
Rajkumar et al. VLSI Implementation of Signed Multiplier using Quaternary Signed Digit Number System
Vemula et al. ASIC Design of ALU with different multipliers

Legal Events

Date Code Title Description
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: 20090331

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090331

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: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees