JP3637073B2 - 倍精度・単精度・内積演算および複素乗算が可能な乗算器 - Google Patents

倍精度・単精度・内積演算および複素乗算が可能な乗算器 Download PDF

Info

Publication number
JP3637073B2
JP3637073B2 JP26372493A JP26372493A JP3637073B2 JP 3637073 B2 JP3637073 B2 JP 3637073B2 JP 26372493 A JP26372493 A JP 26372493A JP 26372493 A JP26372493 A JP 26372493A JP 3637073 B2 JP3637073 B2 JP 3637073B2
Authority
JP
Japan
Prior art keywords
input
multiplier
booth
multiplicand
word
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
JP26372493A
Other languages
English (en)
Other versions
JPH07121354A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP26372493A priority Critical patent/JP3637073B2/ja
Priority to US08/326,210 priority patent/US5521856A/en
Priority to EP94116565A priority patent/EP0650115B1/en
Priority to DE69426801T priority patent/DE69426801T2/de
Priority to KR1019940026822A priority patent/KR100305530B1/ko
Publication of JPH07121354A publication Critical patent/JPH07121354A/ja
Application granted granted Critical
Publication of JP3637073B2 publication Critical patent/JP3637073B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
    • 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/4806Computations with complex numbers
    • G06F7/4812Complex multiplication
    • 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
    • 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths

Description

【0001】
【産業上の利用分野】
本発明は、乗算器に関するもので、特に並列型乗算器に使用されるものである。
【0002】
【従来の技術】
図5は、ブース(Booth)のアルゴリズムを利用した従来の並列型乗算器を示している。図5において、1は、ブースのデコーダ、2は、ブースのセレクタ、3は、部分積を加算するための並列加算回路である。
【0003】
図6は、図5のブースのデコーダ1を構成する回路の一例を示している。図6において、4は、ナンド・ゲート、5は、ノア・ゲート、6は、オア・ゲート、7は、アンド・ゲート、8は、インバータである。
【0004】
図7は、図5のブースのセレクタ2を構成する回路の一例を示している。図7において、9は、エクスクルーシブ・ノア・ゲートである。u、v、wは、制御入力、L、Rは、乗数入力である。
なお、並列加算回路3については、例えば特開昭63−55267号公報に開示されるものを使用することができる。
【0005】
ブースのアルゴリズムは、第1式及び第2式のように、2の補数表現された乗数Xと被乗数Yを高速に乗算するためのアルゴリズムである。このアルゴリズムでは、第3式のように、被乗数Yの値を3ビット毎にデコーダ1でデコードし、そのデコード結果に応じて乗数Xの各ビットをセレクタ2で選択すると、部分積pm が生成される。
【0006】
積Zは、第4式のように、部分積pm をm=0からm=n/2−1まで足し合わせることによって得られる。このアルゴリズムによれば、部分積の数は、部分積の生成にアンドゲートを用いるアレイ型乗算器の半分にできるため、演算速度を高速にできる。通常、m=0のときのy2m-1の値は0とおく。
(乗数) X=−2n-1n-1 +2n-2n-2 +…+2x1 +x0 [1]
(被乗数)Y=−2n-1n-1 +2n-2n-2 +…+2y1 +y0 [2]
(部分積)pm =X(−2y2m+1+y2m+y2m-1)22m [3]
ここで、 y-1=0である。
Figure 0003637073
となる。
【0007】
近年、携帯用情報通信機器の普及により、これらの機器に搭載されるLSIには、電池寿命の長期化を図るため、消費電力が少ないものが要求されている。さらに、雑音や回線容量の不足に対処するため処理のディジタル化が必須となり、当該機器には、ディジタル信号処理用のLSI、即ちディジタル・シグナル・プロセッサ(DSP)が搭載されるようになった。
【0008】
また、近年の携帯用情報通信機器は、ディジタル・シグナル・プロセッサの搭載により、複雑かつ高度な処理が実現できるようになったが、処理が高度化するにつれて、次のような問題も発生している。
【0009】
即ち、ディジタル・シグナル・プロセッサの動作原理は、一般のマイクロプロセッサと変わらないため、処理が複雑になればなるほど処理時間が長くなる。実時間動作が必要な携帯用情報通信機器においては、処理時間に上限があるので、動作クロックの周波数を上げざるを得ない。ところが、クロック周波数を上げると、単位時間内にLSI内部で充放電される電流が増え、消費電力が増大する。このような事態は、携帯用情報通信機器に搭載されるLSIに対する要求と相反するものである。
【0010】
こうした問題を回避する手段として、処理の並列化がある。処理の並列化は、複数の処理を並列に実行するもので、クロック周波数を上げずに、単位時間内の処理量を増やすことが可能である。
【0011】
しかし、ディジタル信号処理の基本演算は、積和演算、即ち乗算した結果を累積加算する操作である。従って、ディジタル・シグナル・プロセッサには、乗算器と加算器の両方が内蔵されている。
【0012】
このため、上述のような従来の乗算器では、一度に1対のデータ(X,Y)しか乗算できないため、積和演算を並列化により、2倍の速度で実行しようとすると、2つの同じ乗算器をディジタル・シグナル・プロセッサに内蔵しなければならなくなる。
【0013】
また、乗算結果を累積加算するためには、少なくとも2つの加算器を内蔵する必要がある。さらに、最終的な累積加算結果を得ようとすると、別々に加算された結果を足し合わせなければならないため、もう1つ加算器を内蔵するか、別々に加算された結果を保存するためのレジスタ(アキュムレータ)を2組用意しなければならない。
【0014】
こうした並列化されたアーキテクチャを使いこなすには、最適化機能付きのコンパイラが不可欠である。しかし、コンパイラのオブジェクト変換効率が十分でないため、ディジタル・シグナル・プロセッサのプログラミングは、普通アセンブラを用いて行われている。このことから、並列化されたアーキテクチャは、プログラムに最適化の負担をかけ、ソフトウエアの開発効率を落としてしまう。
【0015】
さらに、ディジタル信号処理には、演算精度の問題が常につきまとう。これは、固定小数点DSPを採用したときに特に問題となる。累積加算により、乗算結果に含まれる誤差も累積され、システム全体の動作が不安定になってしまうのである。
【0016】
なお、倍精度演算を取り入れると、精度の問題は改善されるが、倍精度乗算器は単精度乗算器の4倍の回路規模があり、LSI上の面積占有率が大きくなる。これに従来の乗算器を用いると、上で述べた理由から、処理の並列化に際して乗算器が複数必要になるため、実用には、はなはだ不向きである。
【0017】
【発明が解決しようとする課題】
このように、従来は、処理が複雑になるにつれてクロック周波数を上げなければならず、消費電力が増大する欠点がある。また、処理の並列化は、ディジタル・シグナル・プロセッサの回路規模を大きくする欠点がある。また、並列化されたア−キテクチャはプログラマに最適化の負担をかけるなどの欠点がある。
【0018】
本発明は、上記欠点を解決すべくなされたもので、その目的は、消費電力の増大や回路規模の増大なく、一度に複数のデータ対の乗算が可能な乗算器を提供することである。
【0019】
【課題を解決するための手段】
上記目的を達成するため、本発明の乗算器は、乗数と被乗数のそれぞれが単精度データ2ワード(X 、X とY 、Y )によって構成されるブースのアルゴリズムを利用した倍精度乗算器であり、第1の入力に前記倍精度乗算器の外部から入力される第1の制御信号(S )が入力され、第2の入力に前記被乗数の下位ワード(Y )の最上位ビット(Y )が入力され、出力が、前記倍精度乗算器に含まれる同一構成の複数のブースデコーダ(1 A,1B,1C,1D )のうち、前記被乗数の上位ワード(Y )の最下位ビット(Y )とその上位に隣接するビット(Y )とが入力される1つのブースデコーダ (1B) のもう1つ別の入力に入力され、前記第1の制御信号(S )に応じて、前記1つのブースデコーダに前記被乗数の下位ワード(Y )の最上位ビット(Y )と0とを切り替えて入力するアンドゲート (7A) と、第1の入力に前記第1の制御信号(S )が入力され、第2の入力に前記乗数の下位ワード(X )の各ビット(X 〜X )がそれぞれ入力される複数のアンドゲート (7B) と、制御入力に前記被乗数の下位ワード(Y )をデコードする複数のブースデコーダ (1C,1D) の出力が入力され、乗数入力に前記複数のアンドゲート (7B) の出力が入力される複数の第1のブースセレクタ (2) と乗数入力に前記乗数の上位ワード(X )が入力される複数の第2のブースセレクタ (2) とから成る第1のブースセレクタ群と、第1の入力に前記乗数の下位ワード(X )の最上位ビット(X )が入力され、第2の入力に前記乗数の上位ワード(X )の各ビット(X 〜X )がそれぞれ入力され、前記第1の制御信号(S )に応じてそれら2つの入力信号のうちどちらか一方を選択して出力する複数のセレクタ (10) と、制御入力に前記被乗数の上位ワード(Y )をデコードする複数のブースデコーダ (1A,1B) の出力が入力され、乗数入力に前記乗数の下位ワード(X )が入力される複数の第3のブースセレクタ (2) と乗数入力に前記複数のセレクタ (10) の出力が入力される複数の第4のブースセレクタ (2) とから成る第2のブースセレクタ群と、前記第1及び第2のブースセレクタ群の出力が入力される並列加算回路 (3) とを備え、前記第1の制御信号(S )が第1の論理レベル(“1”)のときには、前記1つのブースデコーダ (
1B) に接続された前記アンドゲート (7A) は、前記被乗数の下位ワード(Y )の最上位ビット(Y )を出力し、前記乗数の上下のワード(X 、X )がそれぞれ入力される前記複数のセレクタ (10) と前記複数のアンドゲート (7B) とは、前記乗数の上下のワードの各ビットをそれぞれ出力し、前記第1及び第2のブースセレクタ群がそれぞれの入力によって定まる部分積を生成することにより倍精度乗算が実行され、さらに、前記乗数と前記被乗数の上位ワード(X 、Y )のそれぞれに単精度データを入力すると共にそれらの下位ワード(X 、Y )の全ビットに0を入力することによって単精度乗算が実行され、前記第1の制御信号(S )が第2の論理レベル(“0”)のときには、前記1つのブースデコーダ (1B) に接続された前記アンドゲート (7A) と前記乗数の下位ワード(X )が入力される前記複数のアンドゲート (7B) とは、0をそれぞれ出力し、前記乗数の上位ワード(X )が入力される前記複数のセレクタ (10) は、前記乗数の下位ワード(X )の最上位ビット(X )をそれぞれ出力し、前記第1及び第2のブースセレクタ群は、それぞれの入力によって定まる論理レベルの信号を倍精度乗算における部分積と同様に生成することにより、前記第1及び第2のブースセレクタ群が前記倍精度乗算において生成する部分積のうち、前記複数の第1のブースセレクタ (2) と前記複数の第4のブースセレクタ (2) とによって生成される部分積を等価的に零にして2つの単精度乗算の和(X ×Y +X ×Y )が実行される。
【0020】
本発明の乗算器は、さらに、前記倍精度乗算器に含まれる複数のブースデコーダのうち、前記被乗数の下位ワード(Y )の最下位ビット(Y )とその上位に隣接するビット(Y )とが入力される1つのブースデコーダのもう1つ別の入力に前記倍精度乗算器の外部から入力される第2の制御信号(S )を入力すると共に、前記第2の制御信号(S )に応じて、前記被乗数の下位ワード(Y )をデコードする複数のブースデコーダに被乗数の下位ワード(Y )とその反転信号とを切り替えて入力する複数のエクスクルーシブオアゲート (11) を備え、前記第1の制御信号(S )が前記第2の論理レベル(“0”)の場合に、前記第2の制御信号(S )が第1の論理レベル(“1”)のときには、前記複数のエクスクルーシブオアゲート (11) は、前記被乗数の下位ワード(Y )を反転し、前記複数のブースデコーダ (1C,1D) は、前記第2の制御信号(S )によって与えられる前記第1の論理レベル(“1”)と前記被乗数の下位ワード(Y )の反転信号とをデコードすることにより2つの単精度乗算の差(X ×Y −X ×Y )が実行され、前記第2の制御信号(S )が第2の論理レベル(“0”)のときには、前記複数のエクスクルーシブオアゲート (11) は、前記被乗数の下位ワード(Y )を反転せずに出力し、前記複数のブースデコーダ (1C,1D) は、前記第2の制御信号(S )によって与えられる前記第2の論理レベル(“0”)と前記被乗数の下位ワード(Y )とをデコードすることにより2つの単精度乗算の和(X ×Y +X ×Y )が実行される。
【0021】
本発明の乗算器は、さらに、第1の入力に前記第2の制御信号(S )が入力され、第2の入力に前記アンドゲート (7A) の出力が入力され、出力が、前記倍精度乗算器に含まれる複数のブースデコーダのうち、前記被乗数の上位ワード(Y )の最下位ビット(Y )とその上位に隣接するビット(Y )とが入力される1つのブースデコーダのもう1つ別の入力に入力されるオアゲート (6) と、前記第2の制御信号(S )に応じて、前記被乗数の上位ワード(Y )をデコードする複数のブースデコーダに被乗数の上位ワード(Y )とその反転信号とを切り替えて入力する複数のエクスクルーシブオアゲート (11) とを備え、前記第1の制御信号(S )が前記第2の論理レベル(“0”)の場合に、前記第2の制御信号(S )が第1の論理レベル(“1”)のときには、前記複数のエクスクルーシブオアゲート (11) は、前記被乗数の上位ワード(Y )を反転し、前記オアゲート (6) は、1を出力し、前記複数のブースデコーダ (1A,1B) は、前記オアゲートから出力される1と前記被乗数の上位ワード(Y )の反転信号とをデコードすることにより2つの単精度乗算の差(X ×Y −X ×Y )が実行され、前記第2の制御信号(S )が第2の論理レベル(“0”)のときには、前記複数のエクスクルーシブオアゲート (11) は、前記被乗数の上位ワード(Y )を反転せずに出力し、前記オアゲート (6) は、0を出力し、前記複数のブースデコーダ (1A,1B) は、前記オアゲートから出力される0と前記被乗数の上位ワード(Y )とをデコードすることにより2つの単精度乗算の和(X ×Y +X ×Y )が実行される。
【0022】
【作用】
上記構成によれば、2つの単精度のデータ対、例えば2次元ベクトルなどに対し、それぞれの対を構成する単精度データを上下のワードに配して、倍精度乗算と同じ演算を施したときに乗算器内部で生成される部分積の不要な部分を等価的に0にすることによって、1つの乗算器の中で、2つのデータ対の乗算が可能になる。等価的に0にするというのは、言いかえれば、部分積(P 00 〜P 38 )とその符号反転のための内部制御信号(W 〜W )とをすべて足し合わせた結果において、実効的に0にすることである。この操作は、部分積に対して直接実行する場合、乗数の下位ワード(X )と被乗数の上下のワード(Y 、Y )との乗算結果に対応する部分積(P 03 〜P 00 、P 13 〜P 10 、P 23 〜P 20 、P 33 〜P 30 )に対しては、ブースデコーダから出力される上記内部制御信号(W 〜W )のそれぞれが対応する部分積の全ビットをその制御信号で置き換える操作に相当する。また、乗数の上位ワード(X )と被乗数の上下のワード(Y 、Y )との乗算結果に対応する部分積(P 08 〜P 04 、P 18 〜P 14 、P 28 〜P 24 、P 38 〜P 34 )に対しては、それらの下位に意味のある部分積が存在するので、下位の部分積によって表現される重みの異なる2進数の符号を生成し、その符号で、上記の重みの異なる2進数の上位にある部分積全部を置き換える操作に相当する。これらの操作は、任意の数と0との積が0になること及びブースセレクタの左右の乗数入力L,Rに乗数の符号ビットを入力すると部分積の符号ビットが生成されることを利用すると、ブースセレクタに入力される信号の操作に置き換えられる。
【0023】
また、一度に複数のデータ対の乗算が可能なため、1つの乗算器でありながら、通常の乗算はもちろんのこと、倍精度乗算、ベクトルの内積、複素乗算の実部若しくは虚部の演算が可能である。
【0024】
本乗算器をプロセッサに応用すると、上記すべての演算が単一マシンサイクルで実行できるため、プログラムのステップ数が削減され、特に積和演算が主体の信号処理プログラムにおいて、従来の約1/2にまでステップ数を短縮できる。
【0025】
また、演算スループットを同一とすると、マシンサイクルは従来よりも長くとれるため、プロセッサ全体の消費電力が削減される。特に、信号処理を専門に行うディジタル・シグナル・プロセッサにおいては、従来の約1/2にまで消費電力を削減できる。
【0026】
【実施例】
以下、図面を参照しながら、本発明の乗算器について詳細に説明する。
まず、第1の実施例について説明する。
図1は、本発明の第1の実施例に係わる乗算器を示している。図1において、1A,1B,1C,1Dは、ブースのデコーダ、2は、ブースのセレクタ、3は、部分積加算のための並列加算回路、7A,7Bは、アンドゲート、10は、セレクタである。
【0027】
図2は、本発明の乗算器に使用するセレクタ10の一例を示す回路図である。図2において、5は、ノア・ゲート、7は、アンド・ゲート、8は、インバータである。
【0028】
図1の乗算器の動作を説明する。
まず、乗数Xと被乗数Yとを上位ワードと下位ワードとに分割し、
(乗数) X=XH +XL [5]
(被乗数)Y=YH +YL [6]
とする。
【0029】
このとき、積Zは次式で表される。
Figure 0003637073
なお、図1のX7-4 、X3-0 がそれぞれXH 、XL の入力端子であり、図1のY7-4 、X3-0 がそれぞれYH 、YL の入力端子である。また、S1 は、制御信号である。
【0030】
この実施例では、入力信号をワードごとに加工し、制御信号S1 を切り換えることにより、単精度、倍精度、それに内積の3種類の乗算が可能である。以下、単精度、倍精度及び内積の乗算について順次説明する。
【0031】
[単精度]
第7式において、乗数、被乗数の下位ワードXL 、YL をXL =0、YL =0とおくと、第7式の第2〜4項はすべて0になるので、積Zは、
(単精度) Z=XHH [8]
になる。
【0032】
=0、Y=0にするには、図1で制御信号S=1とし、入力端子X3−0、Y3−0に0を入力する。
制御信号S=1のときには、この実施例の乗算器は、図5の従来例と同じ動作を行う。セレクタ10は、右側の入力X,X,X,Xを選択し、アンド・ゲート7Bは、一方の入力端子に入力されている制御信号Sが1になるので、他方の入力をそのまま出力する。
【0033】
この状態で、XH 、YH 、即ちX7-4 、Y7-4 に4ビットの単精度データを入力すれば、単精度乗算の結果が得られる。入力データが固定小数点データのときは、出力の小数点位置は、Z14とZ13の間になり、入力データが整数データのときは、出力の小数点位置は、Z8 とZ7 の間になる。
【0034】
[倍精度]
第7式をそのまま計算する。
図1で制御信号S1 =1とすれば、本実施例の乗算器は、図5の従来の乗算器と同じ動作をするので、X,Yに8ビットの倍精度データを入力すれば、出力に倍精度乗算の結果が得られる。
【0035】
入力データが固定小数点データのときは、出力の小数点位置は、Z14とZ13の間になり、入力データが整数データのときは、出力の小数点位置は、Z0 のすぐ下になる。
【0036】
[内積]
2つのベクトル

A=(a0 ,a1

B=(b0 ,b1
の内積は次のようにして計算できる。
【0037】
まず、第7式において、
H =a1
L =a0
H =b0
L =b1 . [9]
とおいて乗算を実行する。
【0038】
その結果、次式が得られる。
Z=a10 +a11 +a00 +a01 [10]
第10式において、第1項と第4項とを乗算器内部で0にすると、第11式が
→ →
得られ、ベクトル A、B の内積が計算される。
(内積) Z=a11 +a00 [11]
第9式を実行するには、乗数の上位ワードX7-4 にa1 を、下位ワードX3-0 にa0 をそれぞれ4ビット・データとして入力し、被乗数の上位ワードY7-4 にb0 を、下位ワードY3-0 にb1 をそれぞれ4ビット・データとして入力する。
【0039】
第10式で、第1項と第4項とを乗算器内部で0にする操作は、制御信号S=0にすることに対応する。このとき、アンド・ゲート7Bは0を出力し、セレクタ10は乗数の下位ワードXの符号ビットXを出力するので、X=aに対応する部分積P03〜P00、P13〜P10を生成するブースのセレクタ2の左右の乗数入力L、Rにはどちらにも0が入力され、X=aに対応する部分積P28〜P24、P38〜P34を生成するブースのセレクタ2の左右の乗数入力L、Rにはどちらにも符号ビットXが入力される。
【0040】
また、被乗数Yの上位ワードY=bが入力されるブースのデコーダ1A,1Bの最下位ビット入力Ym−1には、Yの代わりに0が入力されるので、被乗数Yの上位ワードY=bと下位ワードY=bとは独立した4ビットの数値としてデコードされる。その結果、第7式の第1項と第4項、即ち第10式の第1項と第4項が0となって、第11式の値が出力される。
【0041】
入力データが固定小数点データのときは、出力の小数点位置は、Z10とZ9 の間になり、入力データが整数データのときは、出力の小数点位置は、Z4 とZ3 の間になる。このことは、内積演算では、オーバーフロー(桁溢れ)が生じないことを意味する。オーバーフローは、乗算で1ビット、加算で1ビット発生する可能性がある。内積演算では2組の乗算が行われるから、オーバーフローの桁数は、合計3ビットである。符号ビットの上には上下各ワードのビット数分符号拡張がされているので、各ワードのビット数が2ビットよりも大きければオーバーフローは生じない。
次に、第2の実施例について説明する。
図3は、本発明の第2の実施例に係わる乗算器を示している。図3において、11は、エクスクルーシブ・オア・ゲート、S2 は、制御信号である。なお、図1と同じ構成要素には同じ番号を付して、その説明を省略する。
【0042】
本実施例の乗算器は、制御信号S2 が0のときには、図1の乗算器とまったく同じ動作をするが、制御信号S2 が1になると、被乗数Yの下位ワードYL の符号が反転する。このことを利用して、複素乗算が実行できる。
【0043】
いま、2つの複素数
F=a+jb
G=c+jd
の積を計算することを考える。
【0044】
[実数部]
積の実数部は、次のようにして計算できる。まず、第7式において、
H =b,
L =a,
H =c,
L =−d. [12]
とおいて乗算を実行する。
【0045】
その結果、次式が得られる。
Z=bc+b(−d)+ac+a(−d) [13]
第13式で、第1項と第4項とを乗算器内部で0にすると次式が得られ、複素数F、Gの積の実数部が計算される。
(実数部)Z=ac−bd [14]
第12式を実行するには、乗数の上位ワードX7-4 にbを、下位ワードX3-0 にaをそれぞれ4ビット・データとして入力し、被乗数の上位ワード入力Y7-4 にcを、下位ワードY3-0 にdをそれぞれ4ビット・データとして入力し、S2 =1にする。
【0046】
=1にすると、エクスクルーシブ・オア・ゲート11により下位ワードY3−0の各ビットは反転され、被乗数Yの下位ワードY=dが入力されるブースのデコーダ1C,1Dの最下位ビット入力Ym−1にはS=1が入力されるので、下位ワードY=dの符号は反転される。この被乗数符号反転方法は、例えば特開昭62−229439号公報に開示されている。
【0047】
第13式で、第1項と第4項とを乗算器内部で0にする操作は、制御信号S=0にすることに対応する。このとき、アンド・ゲート7Bは0を出力し、セレクタ10は乗数の下位ワードXの符号ビットXを出力するので、X=a(−d)に対応する部分積P03〜P00、P13〜P10を生成するブースのセレクタ2の左右の乗数入力L、Rにはどちらにも0が入力され、X=bcに対応する部分積P28〜P24、P38〜P34を生成するブースのセレクタ2の左右の乗数入力L、Rにはどちらにも符号ビットXが入力される。
【0048】
また、被乗数Yの上位ワードY=cが入力されるブースのデコーダ1A,1Bの最下位ビット入力Ym−1には、Yの代わりに0が入力されるので、被乗数Yの上位ワードY=cと下位ワードY=dとは独立した4ビットの数値としてデコードされる。
【0049】
その結果、第7式の第1項と第4項、すなわち第13式の第1項と第4項が0になって、第14式の値が出力される。入力データが固定小数点データのときは、出力の小数点位置は、Z10とZ9 の間になり、入力データが整数データのときは、出力の小数点位置は、Z4 とZ3 の間になる。この場合も、符号ビットの上には上下各ワードのビット数分符号拡張がされているので、各ワードのビット数が2ビットよりも大きければオーバーフローは生じない。
【0050】
[虚数部]
積の虚数部は、次のようにして計算できる。
まず、第7式において、
H =a,
L =b,
H =c,
L =d. [15]
とおいて乗算を実行する。
【0051】
その結果、次式が得られる。
Z=ac+ad+bc+bd [16]
第16式で、第1項と第4項とを乗算器内部で0にすると第17式が得られ、複素数F、Gの積の虚数部が計算される。
(虚数部)Z=ad+bc [17]
第15式を実行するには、乗数の上位ワードX7-4 にaを、下位ワードX3-0 にbをそれぞれ4ビット・データとして入力し、被乗数の上位ワードY7-4 にcを、下位ワードY3-0 にdをそれぞれ4ビット・データとして入力し、S2 =0にする。
【0052】
=0にすると、エクスクルーシブ・オア・ゲート11は下位ワードY3−0の各ビットをそのまま出力し、被乗数Yの下位ワードY=dが入力されるブースのデコーダ1C,1Dの最下位ビット入力Ym−1にはS=0が入力されるので、下位ワードY=dの符号は反転されない。
【0053】
第16式で、第1項と第4項とを乗算器内部で0にする操作は、制御信号S=0にすることに対応する。このとき、アンド・ゲート7Bは0を出力し、セレクタ10は乗数の下位ワードXの符号ビットXを出力するので、X=bdに対応する部分積P03〜P00、P13〜P10を生成するブースのセレクタ2の左右の乗数入力L、Rにはどちらにも0が入力され、X=acに対応する部分積P28〜P24、P38〜P34を生成するブースのセレクタ2の左右の乗数入力L、Rにはどちらにも符号ビットXが入力される。
【0054】
また、被乗数Yの上位ワードY=cが入力されるブースのデコーダ1A,1Bの最下位ビット入力Ym−1には、Yの代わりに0が入力されるので、被乗数Yの上位ワードY=cと下位ワードY=dとは独立した4ビットの数値としてデコードされる。
【0055】
その結果、第7式の第1項と第4項、即ち第16式の第1項と第4項が0になって、第17式の値が出力される。入力データが固定小数点データのときは、出力の小数点位置はZ10とZ9 の間になり、入力データが整数データのときは、出力の小数点位置はZ4 とZ3 の間になる。この場合も、各ワードのビット数が2ビットよりも大きければオーバーフローは生じない。
次に、第3の実施例について説明する。
図4は、本発明の第3の実施例に係わる乗算器を示している。図4において、6は、オア・ゲート、S2 は、制御信号である。なお、図1及び図3の乗算器と同じ構成要素には同じ番号を付して、その説明を省略する。
【0056】
本実施例の乗算器は、制御信号S2 が0のときには、図1の乗算器とまったく同じ動作をするが、制御信号S2 が1になると、被乗数Yの上位ワードYH の符号が反転する。このことを利用して、複素乗算が実行できる。
【0057】
再び、2つの複素数
F=a+jb
G=c+jd
の積を計算することを考える。
【0058】
[実数部]
積の実数部は、次のようにして計算できる。
まず、第7式において、
H =a,
L =b,
H =−d,
L =c. [18]
とおいて乗算を実行する。
【0059】
その結果、次式が得られる。
Z=a(−d)+ac+b(−d)+bc [19]
第19式で、第1項と第4項とを乗算器内部で0にすると第20式が得られ、複素数F、Gの積の実数部が計算される。
(実数部)Z=ac−bd [20]
第18式を実行するには、乗数の上位ワードX7-4 にaを、下位ワードX3-0 にbをそれぞれ4ビット・データとして入力し、被乗数の上位ワードY7-4 にdを、下位ワードY3-0 にcをそれぞれ4ビット・データとして入力し、S2 =1にする。
【0060】
=1にすると、エクスクルーシブ・オア・ゲート11により上位ワードY7−4の各ビットは反転され、被乗数Yの上位ワードY=dが入力されるブースのデコーダ1A,1Bの最下位ビット入力Ym−1にはオア・ゲート6の出力(=1)が入力されるので、上位ワードY=dの符号は反転される。
【0061】
第19式で、第1項と第4項とを乗算器内部で0にする操作は、制御信号S=0にすることに対応する。このとき、アンド・ゲート7Bは0を出力し、セレクタ10は乗数の下位ワードXの符号ビットXを出力するので、X=bcに対応する部分積P03〜P00、P13〜P10を生成するブースのセレクタ2の左右の乗数入力L、Rにはどちらにも0が入力され、X=a(−d)に対応する部分積P28〜P24、P38〜P34を生成するブースのセレクタ2の左右の乗数入力L、Rにはどちらにも符号ビットXが入力される。
【0062】
また、被乗数Yの上位ワードY=dが入力されるブースのデコーダ1A,1Bの最下位ビット入力Ym−1には、Yの代わりに1が入力されるので、被乗数Yの上位ワードY=dと下位ワードY=cとは独立した4ビットの数値としてデコードされる。
【0063】
その結果、第7式の第1項と第4項、即ち第19式の第1項と第4項が0になって、第20式の値が出力される。入力データが固定小数点データのときは、出力の小数点位置は、Z10とZ9 の間になり、入力データが整数データのときは、出力の小数点位置は、Z4 とZ3 の間になる。各ワードのビット数が2ビットよりも大きければオーバーフローは生じない。
【0064】
[虚数部]
積の虚数部は、図3の実施例と同じ様にして計算することができる。
なお、本発明において、乗算されるデータ対の数は、2対に限定されるものではなく、3対以上であっても良い。
【0065】
【発明の効果】
以上、説明したように、本発明の乗算器によれば、次のような効果を奏する。一度に複数のデータ対の乗算が可能なため、1つの乗算器でありながら、通常の乗算はもちろんのこと、倍精度乗算、ベクトルの内積、複素乗算の実部若しくは虚部の演算が可能である。本乗算器をプロセッサに組み込んだ場合、上記すべての演算が単一マシンサイクルで実行可能なため、プログラムのステップ数削減に効果があり、特に積和演算が主体の信号処理プログラムにおいては、場合により従来の約1/2にまでステップ数を短縮できる。逆に、演算スループットを同一とした場合、マシンサイクルは従来よりも長くとれ、プロセッサ全体の消費電力削減に効果がある。特に、信号処理を専門に行うディジタル・シグナル・プロセッサにおいては、場合により従来の約1/2まで消費電力を削減できる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係わる乗算器を示すブロック図。
【図2】本発明の乗算器に使用するセレクタ10の一例を示す回路図。
【図3】本発明の第2の実施例に係わる乗算器を示すブロック図。
【図4】本発明の第3の実施例に係わる乗算器を示すブロック図。
【図5】従来の乗算器を示すブロック図。
【図6】従来の乗算器に使用するブースのデコーダ1の一例を示す回路図。
【図7】従来の乗算器に使用するブースのセレクタ2の一例を示す回路図。
【符号の説明】
1,1A,1B,1C,1D: ブースのデコーダ、 2: ブースのセレクタ、 3: 並列加算回路、 4: ナンド・ゲート、 5: ノア・ゲート、 6: オア・ゲート、 7,7A,7B: アンド・ゲート、 8: インバータ、 9: エクスクルーシブ・ノア・ゲート、 10: セレクタ、 11: エクスクルーシブ・オア・ゲート、 u,v,w: 制御入力、 L: 左側乗数入力、 R: 右側乗数入力。

Claims (3)

  1. 乗数と被乗数のそれぞれが単精度データ2ワード(X 、X とY 、Y )によって構成されるブースのアルゴリズムを利用した倍精度乗算器において、
    第1の入力に前記倍精度乗算器の外部から入力される第1の制御信号(S )が入力され、第2の入力に前記被乗数の下位ワード(Y )の最上位ビット(Y )が入力され、出力が、前記倍精度乗算器に含まれる同一構成の複数のブースデコーダ(1 A,1B,1C,1D )のうち、前記被乗数の上位ワード(Y )の最下位ビット(Y )とその上位に隣接するビット(Y )とが入力される1つのブースデコーダ (1B) のもう1つ別の入力に入力され、前記第1の制御信号(S )に応じて、前記1つのブースデコーダに前記被乗数の下位ワード(Y の最上位ビット(Y と0とを切り替えて入力するアンドゲート (7A)と、
    第1の入力に前記第1の制御信号(S )が入力され、第2の入力に前記乗数の下位ワード(X )の各ビット(X 〜X )がそれぞれ入力される複数のアンドゲート (7B) と、
    制御入力に前記被乗数の下位ワード(Y )をデコードする複数のブースデコーダ (1C,1D) の出力が入力され、乗数入力に前記複数のアンドゲート (7B) の出力が入力される複数の第1のブースセレクタ (2) と乗数入力に前記乗数の上位ワード(X )が入力される複数の第2のブースセレクタ (2) とから成る第1のブースセレクタ群と、
    第1の入力に前記乗数の下位ワード(X )の最上位ビット(X )が入力され、第2の入力に前記乗数の上位ワード(X )の各ビット(X 〜X )がそれぞれ入力され、前記第1の制御信号(S )に応じてそれら2つの入力信号のうちどちらか一方を選択して出力する複数のセレクタ (10) と、
    制御入力に前記被乗数の上位ワード(Y )をデコードする複数のブースデコーダ (1A,1B) の出力が入力され、乗数入力に前記乗数の下位ワード(X )が入力される複数の第3のブースセレクタ (2) と乗数入力に前記複数のセレクタ (10) の出力が入力される複数の第4のブースセレクタ (2) とから成る第2のブースセレクタ群と、
    前記第1及び第2のブースセレクタ群の出力が入力される並列加算回路 (3)
    を具備し
    前記第1の制御信号(S )が第1の論理レベル(“1”)のときには、前記1つのブースデコーダ (1B) に接続された前記アンドゲート (7A) は、前記被乗数の下位ワード(Y )の最上位ビット(Y )を出力し、前記乗数の上下のワード(X 、X )がそれぞれ入力される前記複数のセレクタ (10) と前記複数のアンドゲート (7B) とは、前記乗数の上下のワードの各ビットをそれぞれ出力し、前記第1及び第2のブースセレクタ群がそれぞれの入力によって定まる部分積を生成することにより倍精度乗算が実行され、さらに、前記乗数と前記被乗数の上位ワード(X 、Y )のそれぞれに単精度データを入力すると共にそれらの下位ワード(X 、Y )の全ビットに0を入力することによって単精度乗算が実行され、前記第1の制御信号(S )が第2の論理レベル(“0”)のときには、前記1つのブースデコーダ (1B) に接続された前記アンドゲート (7A) と前記乗数の下位ワード(X )が入力される前記複数のアンドゲート (7B) とは、0をそれぞれ出力し、前記乗数の上位ワード(X )が入力される前記複数のセレクタ (10) は、前記乗数の下位ワード(X )の最上位ビット(X )をそれぞれ出力し、前記第1及び第2のブースセレクタ群は、それぞれの入力によって定まる論理レベルの信号を倍精度乗算における部分積と同様に生成することにより、前記第1及び第2のブースセレクタ群が前記倍精度乗算において生成する部分積のうち、前記複数の第1のブースセレクタ (2) と前記複数の第4のブースセレクタ (2) とによって生成される部分積を等価的に零にして2つの単精度乗算の和(X ×Y +X ×Y )が実行されるようにしたことを特徴とする乗算器。
  2. 請求項1に記載の乗算器において、さらに、
    前記倍精度乗算器に含まれる複数のブースデコーダのうち、前記被乗数の下位ワード( )の最下位ビット(Y )とその上位に隣接するビット(Y )とが入力される1つのブースデコーダのもう1つ別の入力に前記倍精度乗算器の外部から入力される第2の制御信号(S )を入力すると共に、前記第2の制御信号(S )に応じて、前記被乗数の下位ワード(Y )をデコードする複数のブースデコーダに被乗数の下位ワード(Y とその反転信号とを切り替えて入力する複数のエクスクルーシブオアゲート (11)を具備し
    前記第1の制御信号(S )が前記第2の論理レベル(“0”)の場合に、前記第2の制御信号(S )が第1の論理レベル(“1”)のときには、前記複数のエクスクルーシブオアゲート (11) は、前記被乗数の下位ワード(Y )を反転し、前記複数のブースデコーダ (1C,1D) は、前記第2の制御信号(S )によって与えられる前記第1の論理レベル(“1”)と前記被乗数の下位ワード(Y )の反転信号とをデコードすることにより2つの単精度乗算の差(X ×Y −X ×Y )が実行され、前記第2の制御信号(S )が第2の論理レベル(“0”)のときには、前記複数のエクスクルーシブオアゲート (11) は、前記被乗数の下位ワード(Y )を反転せずに出力し、前記複数のブースデコーダ (1C,1D) は、前記第2の制御信号(S )によって与えられる前記第2の論理レベル(“0”)と前記被乗数の下位ワード(Y )とをデコードすることにより2つの単精度乗算の和(X ×Y +X ×Y )が実行されることを特徴とする乗算器。
  3. 請求項1に記載の乗算器において、さらに、
    第1の入力に前記第2の制御信号(S )が入力され、第2の入力に前記アンドゲート (7A) の出力が入力され、出力が、前記倍精度乗算器に含まれる複数のブースデコーダのうち、前記被乗数の上位ワード(Y )の最下位ビット(Y )とその上位に隣接するビット(Y )とが入力される1つのブースデコーダのもう1つ別の入力に入力されるオアゲート (6) と、
    前記第2の制御信号(S )に応じて、前記被乗数の上位ワード(Y )をデコードする複数のブースデコーダに被乗数の上位ワード(Y とその反転信号とを切り替えて入力する複数のエクスクルーシブオアゲート (11)
    を具備し
    前記第1の制御信号(S )が前記第2の論理レベル(“0”)の場合に、前記第2の制御信号(S )が第1の論理レベル(“1”)のときには、前記複数のエクスクルーシブオアゲート (11) は、前記被乗数の上位ワード(Y )を反転し、前記オアゲート (6) は、1を出力し、前記複数のブースデコーダ (1A,1B) は、前記オアゲートから出力される1と前記被乗数の上位ワード(Y )の反転信号とをデコードすることにより2つの単精度乗算の差(X ×Y −X ×Y )が実行され、前記第2の制御信号(S )が第2の論理レベル(“0”)のときには、前記複数のエクスクルーシブオアゲート (11) は、前記被乗数の上位ワード(Y )を反転せずに出力し、前記オアゲート (6) は、0を出力し、前記複数のブースデコーダ (1A,1B) は、前記オアゲートから出力される0と前記被乗数の上位ワード(Y )とをデコードすることにより2つの単精度乗算の和(X ×Y +X ×Y )が実行されることを特徴とする乗算器。
JP26372493A 1993-10-21 1993-10-21 倍精度・単精度・内積演算および複素乗算が可能な乗算器 Expired - Fee Related JP3637073B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP26372493A JP3637073B2 (ja) 1993-10-21 1993-10-21 倍精度・単精度・内積演算および複素乗算が可能な乗算器
US08/326,210 US5521856A (en) 1993-10-21 1994-10-20 Multiplier capable of calculating double precision, single precision, inner product and multiplying complex
EP94116565A EP0650115B1 (en) 1993-10-21 1994-10-20 Multiplier capable of calculating double precision, single precision, inner product and multiplying complex numbers
DE69426801T DE69426801T2 (de) 1993-10-21 1994-10-20 Multiplizierer zur Berechnung von einfacher Genauigkeit, doppelter Genauigkeit, innerem Produkt und zur Multiplikation von komplexen Zahlen in den Betriebsarten
KR1019940026822A KR100305530B1 (ko) 1993-10-21 1994-10-20 배정밀도.단정밀도.내적연산 및 복소승산이 가능한 승산기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26372493A JP3637073B2 (ja) 1993-10-21 1993-10-21 倍精度・単精度・内積演算および複素乗算が可能な乗算器

Publications (2)

Publication Number Publication Date
JPH07121354A JPH07121354A (ja) 1995-05-12
JP3637073B2 true JP3637073B2 (ja) 2005-04-06

Family

ID=17393431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26372493A Expired - Fee Related JP3637073B2 (ja) 1993-10-21 1993-10-21 倍精度・単精度・内積演算および複素乗算が可能な乗算器

Country Status (5)

Country Link
US (1) US5521856A (ja)
EP (1) EP0650115B1 (ja)
JP (1) JP3637073B2 (ja)
KR (1) KR100305530B1 (ja)
DE (1) DE69426801T2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295599B1 (en) * 1995-08-16 2001-09-25 Microunity Systems Engineering System and method for providing a wide operand architecture
US6643765B1 (en) * 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
JP3655403B2 (ja) 1995-10-09 2005-06-02 株式会社ルネサステクノロジ データ処理装置
US5677863A (en) * 1996-04-04 1997-10-14 Hewlett-Packard Co. Method of performing operand increment in a booth recoded multiply array
US5880985A (en) * 1996-10-18 1999-03-09 Intel Corporation Efficient combined array for 2n bit n bit multiplications
CA2227531C (en) * 1997-01-20 2003-03-18 Hitachi, Ltd. Graphics processing unit and graphics processing system
JPH11134175A (ja) * 1997-10-29 1999-05-21 Toshiba Corp 乗加減算器及び演算器
JP3139466B2 (ja) 1998-08-28 2001-02-26 日本電気株式会社 乗算器及び積和演算器
KR100324313B1 (ko) * 1998-11-02 2002-06-22 김영환 n비트와n/2비트를연산하는곱셈기
US6523055B1 (en) 1999-01-20 2003-02-18 Lsi Logic Corporation Circuit and method for multiplying and accumulating the sum of two products in a single cycle
US6692534B1 (en) * 1999-09-08 2004-02-17 Sun Microsystems, Inc. Specialized booth decoding apparatus
US20060224653A1 (en) * 2005-04-01 2006-10-05 Kimming So Method and system for dynamic session control of digital signal processing operations
US8539301B2 (en) * 2009-10-21 2013-09-17 Nec Laboratories America, Inc. Message-wise unequal error protection
US10528642B2 (en) * 2018-03-05 2020-01-07 International Business Machines Corporation Multiple precision integer multiple by matrix-matrix multiplications using 16-bit floating point multiplier

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4680727A (en) * 1984-09-24 1987-07-14 Rockwell International Corporation Complex multiplier for binary two's complement numbers
FR2585150B1 (fr) * 1985-07-16 1987-10-09 Thomson Csf Multiplieur pour la multiplication de deux nombres complexes
US4754421A (en) * 1985-09-06 1988-06-28 Texas Instruments Incorporated Multiple precision multiplication device
JPS62229440A (ja) * 1986-03-31 1987-10-08 Toshiba Corp 配列乗算器
JPS62229439A (ja) * 1986-03-31 1987-10-08 Toshiba Corp 並列乗算器
JPS63241634A (ja) * 1987-03-30 1988-10-06 Toshiba Corp 並列型加算回路
US5262976A (en) * 1989-11-13 1993-11-16 Harris Corporation Plural-bit recoding multiplier
EP0813143A3 (en) * 1989-11-13 1998-01-28 Harris Corporation Sign extension in plural-bit recoding multiplier
JPH04184530A (ja) * 1990-11-20 1992-07-01 Matsushita Electric Ind Co Ltd 演算装置
US5420809A (en) * 1993-11-30 1995-05-30 Texas Instruments Incorporated Method of operating a data processing apparatus to compute correlation

Also Published As

Publication number Publication date
EP0650115B1 (en) 2001-03-07
JPH07121354A (ja) 1995-05-12
KR100305530B1 (ko) 2001-11-22
EP0650115A1 (en) 1995-04-26
DE69426801T2 (de) 2001-07-19
DE69426801D1 (de) 2001-04-12
US5521856A (en) 1996-05-28

Similar Documents

Publication Publication Date Title
JP3637073B2 (ja) 倍精度・単精度・内積演算および複素乗算が可能な乗算器
JP3658079B2 (ja) 演算処理装置及びデータ処理装置
JP3244506B2 (ja) 小型乗算器
EP0239899B1 (en) Multiplier array circuit
US5956265A (en) Boolean digital multiplier
Mallasén et al. PERCIVAL: Open-source posit RISC-V core with quire capability
JPH0713742A (ja) 乗算装置
JPS6375932A (ja) ディジタル乗算器
JP7292297B2 (ja) 確率的丸めロジック
US5957996A (en) Digital data comparator and microprocessor
CN113032723B (zh) 一种矩阵乘法器的实现方法及矩阵乘法器装置
US5195051A (en) Computation of sign bit and sign extension in the partial products in a floating point multiplier unit
US3842250A (en) Circuit for implementing rounding in add/subtract logic networks
Muhammad et al. Switching characteristics of generalized array multiplier architectures and their applications to low power design
JPH01134526A (ja) 乗算装置
KR19980032055A (ko) 제산장치
Dorrigiv et al. Conditional speculative mixed decimal/binary adders via binary-coded-chiliad encoding
Ragunath et al. Delay optimized binary to BCD converter for multi-operand parallel decimal adder
KR0175974B1 (ko) 파이프라인 구조에 근거한 곱셈/나눗셈 공유 처리기 구조
JP3255251B2 (ja) 配列型桁上げ保存加算器を有する乗算器
JP2734438B2 (ja) 乗算装置
RU2148270C1 (ru) Устройство умножения
Santhi et al. Realization of parallel prefix adders for power and speed critical applications
Krishnamoorthy et al. Area and delay carry select adder using Brent Kung architecture
Veeramachaneni Design of efficient VLSI arithmetic circuits

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050107

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

Free format text: PAYMENT UNTIL: 20080114

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100114

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees