JPH07121354A - 倍精度・単精度・内積演算および複素乗算が可能な乗算器 - Google Patents
倍精度・単精度・内積演算および複素乗算が可能な乗算器Info
- Publication number
- JPH07121354A JPH07121354A JP5263724A JP26372493A JPH07121354A JP H07121354 A JPH07121354 A JP H07121354A JP 5263724 A JP5263724 A JP 5263724A JP 26372493 A JP26372493 A JP 26372493A JP H07121354 A JPH07121354 A JP H07121354A
- Authority
- JP
- Japan
- Prior art keywords
- multiplicand
- input
- multiplier
- bit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5324—Multiplying 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/4806—Computations with complex numbers
- G06F7/4812—Complex multiplication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
- G06F7/5338—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/382—Reconfigurable for different fixed word lengths
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (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
提供する。 【構成】アンドゲ−ト7は、制御信号S1 に基づき、被
乗数の上位ワードY7-4が入力されるブースデコーダ1
の最下位ビット入力に、被乗数の下位ワードY3-0 の最
上位ビットと0とを切り替えて入力する。ブ−スのセレ
クタ2は、部分積の一部を0で置き換える。並列加算回
路3は、部分積の他の一部をそれよりも下位のビットの
部分積の1ビットで置き換える。
Description
で、特に並列型乗算器に使用されるものである。
リズムを利用した従来の並列型乗算器を示している。図
5において、1は、ブースのデコーダ、2は、ブースの
セレクタ、3は、部分積を加算するための並列加算回路
である。
する回路の一例を示している。図6において、4は、ナ
ンド・ゲート、5は、ノア・ゲート、6は、オア・ゲー
ト、7は、アンド・ゲート、8は、インバータである。
する回路の一例を示している。図7において、9は、エ
クスクルーシブ・ノア・ゲートである。なお、並列加算
回路3については、例えば特開昭63−55627に開
示されるものを使用することができる。
式のように、2の補数表現された乗数Xと被乗数Yを高
速に乗算するためのアルゴリズムである。このアルゴリ
ズムでは、第3式のように、被乗数Yの値を3ビット毎
にデコーダ1でデコードし、そのデコード結果に応じて
乗数Xの各ビットをセレクタ2で選択すると、部分積p
m が生成される。
=0からm=n/2−1まで足し合わせることによって
得られる。このアルゴリズムによれば、部分積の数は、
部分積の生成にアンドゲートを用いるアレイ型乗算器の
半分にできるため、演算速度を高速にできる。通常、m
=0のときのy2m-1の値は0とおく。 (乗数) X=−2n-1 xn-1 +2n-2 xn-2 +…+2x1 +x0 [1] (被乗数)Y=−2n-1 yn-1 +2n-2 yn-2 +…+2y1 +y0 [2] (部分積)pm =X(−2y2m+1+y2m+y2m-1)22m [3] ここで、 y-1=0である。 となる。
これらの機器に搭載されるLSIには、電池寿命の長期
化を図るため、消費電力が少ないものが要求されてい
る。さらに、雑音や回線容量の不足に対処するため処理
のディジタル化が必須となり、当該機器には、ディジタ
ル信号処理用のLSI、即ちディジタル・シグナル・プ
ロセッサ(DSP)が搭載されるようになった。
ジタル・シグナル・プロセッサの搭載により、複雑かつ
高度な処理が実現できるようになったが、処理が高度化
するにつれて、次のような問題も発生している。
の動作原理は、一般のマイクロプロセッサと変わらない
ため、処理が複雑になればなるほど処理時間が長くな
る。実時間動作が必要な携帯用情報通信機器において
は、処理時間に上限があるので、動作クロックの周波数
を上げざるを得ない。ところが、クロック周波数を上げ
ると、単位時間内にLSI内部で充放電される電流が増
え、消費電力が増大する。このような事態は、携帯用情
報通信機器に搭載されるLSIに対する要求と相反する
ものである。
の並列化がある。処理の並列化は、複数の処理を並列に
実行するもので、クロック周波数を上げずに、単位時間
内の処理量を増やすことが可能である。
は、積和演算、即ち乗算した結果を累積加算する操作で
ある。従って、ディジタル・シグナル・プロセッサに
は、乗算器と加算器の両方が内蔵されている。
は、一度に1対のデータ(X,Y)しか乗算できないた
め、積和演算を並列化により、2倍の速度で実行しよう
とすると、2つの同じ乗算器2をディジタル・シグナル
・プロセッサに内蔵しなければならなくなる。
少なくとも2つの加算器を内蔵する必要がある。さら
に、最終的な累積加算結果を得ようとすると、別々に加
算された結果を足し合わせなければならないため、もう
1つ加算器を内蔵するか、別々に加算された結果を保存
するためのレジスタ(アキュムレータ)を2組用意しな
ければならない。
いこなすには、最適化機能付きのコンパイラが不可欠で
ある。しかし、コンパイラのオブジェクト変換効率が十
分でないため、ディジタル・シグナル・プロセッサのプ
ログラミングは、普通アセンブラを用いて行われてい
る。このことから、並列化されたアーキテクチャは、プ
ログラムに最適化の負担をかけ、ソフトウエアの開発効
率を落としてしまう。
度の問題が常につきまとう。これは、固定小数点DSP
を採用したときに特に問題となる。累積加算により、乗
算結果に含まれる誤差も累積され、システム全体の動作
が不安定になってしまうのである。
問題は改善されるが、倍精度乗算器は単精度乗算器の4
倍の回路規模があり、LSI上の面積占有率が大きくな
る。これに従来の乗算器を用いると、上で述べた理由か
ら、処理の並列化に際して乗算器が複数必要になるた
め、実用には、はなはだ不向きである。
処理が複雑になるにつれてクロック周波数を上げなけれ
ばならず、消費電力が増大する欠点がある。また、処理
の並列化は、ディジタル・シグナル・プロセッサの回路
規模を大きくする欠点がある。また、並列化されたア−
キテクチャはプログラマに最適化の負担をかけるなどの
欠点がある。
もので、その目的は、消費電力の増大や回路規模の増大
なく、一度に複数のデータ対の乗算が可能な乗算器を提
供することである。
め、本発明の乗算器は、ブースのアルゴリズムを利用
し、被乗数の上位ワードが入力されるブースデコーダの
最下位ビット入力に被乗数の下位ワードの最上位ビット
と0とを切り替えて入力する被乗数分割手段と、部分積
の一部を0で置き換える0化手段と、部分積の他の一部
をそれよりも下位のビットの部分積の1ビットで置き換
えるビット拡張手段とから構成されている。
を利用しており、被乗数の下位ワードが入力されるブー
スデコーダの最下位ビット入力に0と1とを切り替えて
入力すると共に、前記ブースデコーダに被乗数の下位ワ
ードとその反転信号とを切り替えて入力する被乗数補数
化手段と、被乗数の上位ワードが入力されるブースデコ
ーダの最下位ビット入力に被乗数の下位ワードの最上位
ビットと0とを切り替えて入力する被乗数分割手段と、
部分積の一部を0で置き換える0化手段と、部分積の他
の一部をそれよりも下位のビットの部分積の1ビットで
置き換えるビット拡張手段とから構成されている。
を利用しており、被乗数の上位ワードが入力されるブー
スデコーダの最下位ビット入力に被乗数の下位ワードの
最上位ビットと1とを切り替えて入力する被乗数分割手
段と、被乗数の上位ワードとその反転信号とを切り替え
て入力する被乗数反転手段と、部分積の一部を0で置き
換える0化手段と、部分積の他の一部をそれよりも下位
のビットの部分積の1ビットで置き換えるビット拡張手
段とから構成されている。
分積の一部を0にし、また、部分積の他の一部をそれよ
りも下位の部分積の1ビットで置き換えることによっ
て、1つの乗算器の中で、複数のデータ対の乗算が可能
になる。
なため、1つの乗算器でありながら、通常の乗算はもち
ろんのこと、倍精度乗算、ベクトルの内積、複素乗算が
可能である。
すべての演算が単一マシンサイクルで実行できるため、
プログラムのステップ数が削減され、特に積和演算が主
体の信号処理プログラムにおいて、従来の約1/2にま
でステップ数を短縮できる。
マシンサイクルは従来よりも長くとれるため、プロセッ
サ全体の消費電力が削減される。特に、信号処理を専門
に行うディジタル・シグナル・プロセッサにおいては、
従来の約1/2にまで消費電力を削減できる。
について詳細に説明する。まず、第1の実施例について
説明する。図1は、本発明の第1の実施例に係わる乗算
器を示している。図1において、1は、ブースのデコー
ダ、2は、ブースのセレクタ、3は、部分積加算のため
の並列加算回路、7は、アンドゲート、10は、セレク
タである。
タ10の一例を示す回路図である。図2において、5
は、ノア・ゲート、7は、アンド・ゲート、8は、イン
バータである。
数Xと被乗数Yとを上位ワードと下位ワードとに分割
し、 (乗数) X=XH +XL [5] (被乗数)Y=YH +YL [6] とする。
力端子であり、図1のY7-4 、X3-0 がそれぞれYH 、
YL の入力端子である。また、S1 は、制御信号であ
る。
加工し、制御信号S1 を切り換えることにより、単精
度、倍精度、それに内積の3種類の乗算が可能である。
以下、単精度、倍精度及び内積の乗算について順次説明
する。
の下位ワードXL 、YL をXL =0、YL =0とおく
と、第7式の第2〜4項はすべて0になるので、積Z
は、 (単精度) Z=XH YH [8] になる。
御信号S1 =1とし、入力端子X3-0 、Y3-0 に0を入
力する。制御信号S1 =1のときには、この実施例の乗
算器は、図5の従来例と同じ動作を行う。セレクタ10
は、右側の入力X7 ,X6 ,X5 ,X4 を選択し、アン
ド・ゲート7は、一方の入力端子に入力されている制御
信号S1 が1になるので、他方の入力をそのまま出力す
る。
7-4 に4ビットの単精度データを入力すれば、単精度乗
算の結果が得られる。入力データが固定小数点データの
ときは、出力の小数点位置は、Z14とZ13の間になり、
入力データが整数データのときは、出力の小数点位置
は、Z8 とZ7 の間になる。
1で制御信号S1 =1とすれば、本実施例の乗算器は、
図5の従来の乗算器と同じ動作をするので、X,Yに8
ビットの倍精度データを入力すれば、出力に倍精度乗算
の結果が得られる。
出力の小数点位置は、Z14とZ13の間になり、入力デー
タが整数データのときは、出力の小数点位置は、Z0 の
すぐ下になる。
にすると、第11式が (内積) Z=a1 b1 +a0 b0 [11] 第9式を実行するには、乗数の上位ワードX7-4 にa1
を、下位ワードX3-0にa0 をそれぞれ4ビット・デー
タとして入力し、被乗数の上位ワードY7-4 にb0 を、
下位ワードY3-0 にb1 をそれぞれ4ビット・データと
して入力する。
部で0にする操作は、制御信号S1=0にすることに対
応する。このとき、アンド・ゲート7は0を出力し、セ
レクタ10は乗数の下位ワードXL の符号ビットX3 を
出力するので、XL YL =a0 b1 に対応する部分積P
03〜P00、P13〜P10を生成するブースのセレクタ2の
左右の入力L、Rにはどちらにも0が入力され、XH Y
H =a1 b0 に対応する部分積P28〜P24、P38〜P34
を生成するブースのセレクタ2の左右の入力L、Rには
どちらにも符号ビットX3 が入力される。
入力されるブースのデコーダ1の最下位ビット入力Y
m-1 には、Y3 の代わりに0が入力されるので、被乗数
Yの上位ワードYH =b0 と下位ワードYL =b1 とは
独立した4ビットの数値としてデコードされる。その結
果、第7式の第1項と第4項、即ち第10式の第1項と
第4項が0となって、第11式の値が出力される。
出力の小数点位置は、Z10とZ9 の間になり、入力デー
タが整数データのときは、出力の小数点位置は、Z4 と
Z3の間になる。このことは、内積演算では、オーバー
フロー(桁溢れ)が生じないことを意味する。オーバー
フローは、乗算で1ビット、加算で1ビット発生する可
能性がある。内積演算では2組の乗算が行われるから、
オーバーフローの桁数は、合計3ビットである。符号ビ
ットの上には上下各ワードのビット数分符号拡張がされ
ているので、各ワードのビット数が2ビットよりも大き
ければオーバーフローは生じない。次に、第2の実施例
について説明する。図3は、本発明の第2の実施例に係
わる乗算器を示している。図3において、11は、エク
スクルーシブ・オア・ゲート、S2 は、制御信号であ
る。なお、図1と同じ構成要素には同じ番号を付して、
その説明を省略する。
ときには、図1の乗算器とまったく同じ動作をするが、
制御信号S2 が1になると、被乗数Yの下位ワードYL
の符号が反転する。このことを利用して、複素乗算が実
行できる。
計算できる。まず、第7式において、 XH =b, XL =a, YH =c, YL =−d. [12] とおいて乗算を実行する。
と次式が得られ、複素数F、Gの積の実数部が計算され
る。 (実数部)Z=ac−bd [14] 第12式を実行するには、乗数の上位ワードX7-4 にb
を、下位ワードX3-0にaをそれぞれ4ビット・データ
として入力し、被乗数の上位ワード入力Y7-4にcを、
下位ワードY3-0 にdをそれぞれ4ビット・データとし
て入力し、S2=1にする。
ア・ゲート11により下位ワードY3-0 の各ビットは反
転され、被乗数Yの下位ワードYL =dが入力されるブ
ースのデコーダ1の最下位ビット入力Ym-1 にはS2 =
1が入力されるので、下位ワードYL =dの符号は反転
される。この被乗数符号反転方法は、例えば特開昭62
−229439に開示されている。
部で0にする操作は、制御信号S1=0にすることに対
応する。このとき、アンド・ゲート7は0を出力し、セ
レクタ10は乗数の下位ワードXL の符号ビットX3
を出力するので、XL YL =a(−d)に対応する部分
積P03〜P00、P13〜P10を生成するブースのセレクタ
2の左右の入力L、Rにはどちらにも0が入力され、X
H YH =bcに対応する部分積P28〜P24、P38〜P34
を生成するブースのセレクタ2の左右の入力L、Rには
どちらにも符号ビットX3 が入力される。
力されるブースのデコーダ1の最下位ビット入力Ym-1
には、Y3 の代わりに0が入力されるので、被乗数Yの
上位ワードYH =cと下位ワードYL =dとは独立した
4ビットの数値としてデコードされる。
わち第13式の第1項と第4項が0になって、第14式
の値が出力される。入力データが固定小数点データのと
きは、出力の小数点位置は、Z10とZ9 の間になり、入
力データが整数データのときは、出力の小数点位置は、
Z4 とZ3 の間になる。この場合も、符号ビットの上に
は上下各ワードのビット数分符号拡張がされているの
で、各ワードのビット数が2ビットよりも大きければオ
ーバーフローは生じない。
計算できる。まず、第7式において、 XH =a, XL =b, YH =c, YL =d. [15] とおいて乗算を実行する。
と第17式が得られ、複素数F、Gの積の虚数部が計算
される。 (虚数部)Z=ad+bc [17] 第15式を実行するには、乗数の上位ワードX7-4 にa
を、下位ワードX3-0にbをそれぞれ4ビット・データ
として入力し、被乗数の上位ワードY7-4 にcを、下位
ワードY3-0 にdをそれぞれ4ビット・データとして入
力し、S2 =0にする。
ア・ゲート11は下位ワードY3-0各ビットをそのまま
出力し、被乗数Yの下位ワードYL =dが入力されるブ
ースのデコーダ1の最下位ビット入力Ym-1 にはS2 =
0が入力されるので、下位ワードYL =dの符号は反転
されない。
部で0にする操作は、制御信号S1=0にすることに対
応する。このとき、アンド・ゲート7は0を出力し、セ
レクタ10は乗数の下位ワードXL の符号ビットX3 を
出力するので、XL YL =bdに対応する部分積P03〜
P00、P13〜P10を生成するブースのセレクタ2の左右
の入力L、Rにはどちらにも0が入力され、XH YH =
acに対応する部分積P28〜P24、P38〜P34を生成す
るブースのセレクタ2の左右の入力L、Rにはどちらに
も符号ビットX3 が入力される。
力されるブースのデコーダ1の最下位ビット入力Ym-1
には、Y3 の代わりに0が入力されるので、被乗数Yの
上位ワードYH =cと下位ワードYL =dとは独立した
4ビットの数値としてデコードされる。
第16式の第1項と第4項が0になって、第17式の値
が出力される。入力データが固定小数点データのとき
は、出力の小数点位置はZ10とZ9 の間になり、入力デ
ータが整数データのときは、出力の小数点位置はZ4 と
Z3 の間になる。この場合も、各ワードのビット数が2
ビットよりも大きければオーバーフローは生じない。次
に、第3の実施例について説明する。図4は、本発明の
第3の実施例に係わる乗算器を示している。図4におい
て、6は、オア・ゲート、S2 は、制御信号である。な
お、図1及び図3の乗算器と同じ構成要素には同じ番号
を付して、その説明を省略する。
ときには、図1の乗算器とまったく同じ動作をするが、
制御信号S2 が1になると、被乗数Yの上位ワードYH
の符号が反転する。このことを利用して、複素乗算が実
行できる。
計算できる。まず、第7式において、 XH =a, XL =b, YH =−d, YL =c. [18] とおいて乗算を実行する。
と第20式が得られ、複素数F、Gの積の実数部が計算
される。 (実数部)Z=ac−bd [20] 第18式を実行するには、乗数の上位ワードX7-4 にa
を、下位ワードX3-0にbをそれぞれ4ビット・データ
として入力し、被乗数の上位ワードY7-4 にdを、下位
ワードY3-0 にcをそれぞれ4ビット・データとして入
力し、S2 =1にする。
ア・ゲート11により上位ワードY7-4 の各ビットは反
転され、被乗数Yの上位ワードYH =dが入力されるブ
ースのデコーダ1の最下位ビット入力Ym-1 にはオア・
ゲート6の出力(=1)が入力されるので、上位ワード
YH =dの符号は反転される。
部で0にする操作は、制御信号S1=0にすることに対
応する。このとき、アンド・ゲート7は0を出力し、セ
レクタ10は乗数の下位ワードXL の符号ビットX3 を
出力するので、XL YL =bcに対応する部分積P03〜
P00、P13〜P10を生成するブースのセレクタ2の左右
の入力L、Rにはどちらにも0が入力され、XH YH =
a(−d)に対応する部分積P28〜P24、P38〜P34を
生成するブースのセレクタ2の左右の入力L、Rにはど
ちらにも符号ビットX3 が入力される。
力されるブースのデコーダ1の最下位ビット入力Ym-1
には、Y3 の代わりに1が入力されるので、被乗数Yの
上位ワードYH =dと下位ワードYL =cとは独立した
4ビットの数値としてデコードされる。
第19式の第1項と第4項が0になって、第20式の値
が出力される。入力データが固定小数点データのとき
は、出力の小数点位置は、Z10とZ9 の間になり、入力
データが整数データのときは、出力の小数点位置は、Z
4 とZ3 の間になる。各ワードのビット数が2ビットよ
りも大きければオーバーフローは生じない。
同じ様にして計算することができる。なお、本発明にお
いて、乗算されるデータ対の数は、2対に限定されるも
のではなく、3対以上であっても良い。
によれば、次のような効果を奏する。一度に複数のデー
タ対の乗算が可能なため、1つの乗算器でありながら、
通常の乗算はもちろんのこと、倍精度乗算、ベクトルの
内積、複素乗算が可能である。本乗算器をプロセッサに
組み込んだ場合、上記すべての演算が単一マシンサイク
ルで実行可能なため、プログラムのステップ数削減に効
果があり、特に積和演算が主体の信号処理プログラムに
おいては、場合により従来の約1/2にまでステップ数
を短縮できる。逆に、演算スループットを同一とした場
合、マシンサイクルは従来よりも長くとれ、プロセッサ
全体の消費電力削減に効果がある。特に、信号処理を専
門に行うディジタル・シグナル・プロセッサにおいて
は、場合により従来の約1/2にまで消費電力を削減で
きる。
ロック図。
を示す回路図。
ロック図。
ロック図。
一例を示す回路図。
一例を示す回路図。
Claims (3)
- 【請求項1】 ブースのアルゴリズムを利用した乗算器
において、 被乗数の上位ワードが入力されるブースデコーダの最下
位ビット入力に被乗数の下位ワードの最上位ビットと0
とを切り替えて入力する被乗数分割手段と、 部分積の一部を0で置き換える0化手段と、 部分積の他の一部をそれよりも下位のビットの部分積の
1ビットで置き換えるビット拡張手段とを具備したこと
を特徴とする乗算器。 - 【請求項2】 ブースのアルゴリズムを利用した乗算器
において、 被乗数の下位ワードが入力されるブースデコーダの最下
位ビット入力に0と1とを切り替えて入力すると共に、
前記ブースデコーダに被乗数の下位ワードとその反転信
号とを切り替えて入力する被乗数補数化手段と、 被乗数の上位ワードが入力されるブースデコーダの最下
位ビット入力に被乗数の下位ワードの最上位ビットと0
とを切り替えて入力する被乗数分割手段と、 部分積の一部を0で置き換える0化手段と、 部分積の他の一部をそれよりも下位のビットの部分積の
1ビットで置き換えるビット拡張手段とを具備したこと
を特徴とする乗算器。 - 【請求項3】 ブースのアルゴリズムを利用した乗算器
において、 被乗数の上位ワードが入力されるブースデコーダの最下
位ビット入力に被乗数の下位ワードの最上位ビットと1
とを切り替えて入力する被乗数分割手段と、 被乗数の上位ワードとその反転信号とを切り替えて入力
する被乗数反転手段と、 部分積の一部を0で置き換える0化手段と、 部分積の他の一部をそれよりも下位のビットの部分積の
1ビットで置き換えるビット拡張手段とを具備したこと
を特徴とする乗算器。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26372493A JP3637073B2 (ja) | 1993-10-21 | 1993-10-21 | 倍精度・単精度・内積演算および複素乗算が可能な乗算器 |
KR1019940026822A KR100305530B1 (ko) | 1993-10-21 | 1994-10-20 | 배정밀도.단정밀도.내적연산 및 복소승산이 가능한 승산기 |
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 |
US08/326,210 US5521856A (en) | 1993-10-21 | 1994-10-20 | Multiplier capable of calculating double precision, single precision, inner product and multiplying complex |
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 true JPH07121354A (ja) | 1995-05-12 |
JP3637073B2 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704762B1 (en) | 1998-08-28 | 2004-03-09 | Nec Corporation | Multiplier and arithmetic unit for calculating sum of product |
JP2021515936A (ja) * | 2018-03-05 | 2021-06-24 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 16ビット浮動小数点乗算器を用いた行列と行列の乗算による複数精度整数乗算器 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US6295599B1 (en) * | 1995-08-16 | 2001-09-25 | Microunity Systems Engineering | System and method for providing a wide operand architecture |
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 | 乗加減算器及び演算器 |
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 |
Family Cites Families (10)
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 |
-
1993
- 1993-10-21 JP JP26372493A patent/JP3637073B2/ja not_active Expired - Fee Related
-
1994
- 1994-10-20 DE DE69426801T patent/DE69426801T2/de not_active Expired - Fee Related
- 1994-10-20 EP EP94116565A patent/EP0650115B1/en not_active Expired - Lifetime
- 1994-10-20 KR KR1019940026822A patent/KR100305530B1/ko not_active IP Right Cessation
- 1994-10-20 US US08/326,210 patent/US5521856A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704762B1 (en) | 1998-08-28 | 2004-03-09 | Nec Corporation | Multiplier and arithmetic unit for calculating sum of product |
JP2021515936A (ja) * | 2018-03-05 | 2021-06-24 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 16ビット浮動小数点乗算器を用いた行列と行列の乗算による複数精度整数乗算器 |
Also Published As
Publication number | Publication date |
---|---|
EP0650115B1 (en) | 2001-03-07 |
DE69426801D1 (de) | 2001-04-12 |
EP0650115A1 (en) | 1995-04-26 |
JP3637073B2 (ja) | 2005-04-06 |
DE69426801T2 (de) | 2001-07-19 |
US5521856A (en) | 1996-05-28 |
KR100305530B1 (ko) | 2001-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7047272B2 (en) | Rounding mechanisms in processors | |
US5790446A (en) | Floating point multiplier with reduced critical paths using delay matching techniques | |
JP5273866B2 (ja) | 乗算器/アキュムレータ・ユニット | |
EP0239899B1 (en) | Multiplier array circuit | |
JPH0713742A (ja) | 乗算装置 | |
JP3667635B2 (ja) | 演算装置 | |
JPH1195981A (ja) | 乗算回路 | |
JPH07121354A (ja) | 倍精度・単精度・内積演算および複素乗算が可能な乗算器 | |
JPS6375932A (ja) | ディジタル乗算器 | |
US8019805B1 (en) | Apparatus and method for multiple pass extended precision floating point multiplication | |
US5734599A (en) | Performing a population count using multiplication | |
US4190894A (en) | High speed parallel multiplication apparatus with single-step summand reduction | |
JPH0448255B2 (ja) | ||
JP3579087B2 (ja) | 演算器およびマイクロプロセッサ | |
Belyaev et al. | A high-perfomance multi-format simd multiplier for digital signal processors | |
Abid et al. | Modified operand decomposition multiplication for high performance parallel multipliers | |
Spoorthi et al. | A decimal multiplier with improved speed using semi-parallel iterative approach | |
Dorrigiv et al. | Conditional speculative mixed decimal/binary adders via binary-coded-chiliad encoding | |
Patel et al. | Efficient new approach for modulo 2n− 1 addition in rns | |
Puneeth et al. | Design and Implementation of High Frequency 16-bit full adder on FPGA Families | |
JP2765516B2 (ja) | 積和演算器 | |
JP3435744B2 (ja) | 乗算回路 | |
JP2734438B2 (ja) | 乗算装置 | |
Shapran et al. | DIVISION USING THE BASE RADIX16 NUMBER SYSTEM TO FORM FRACTION DIGITS | |
Aditya et al. | ASIC Implementation of Approximate Single Precision Floating Point Multiplier |
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 |