JPH0713742A - 乗算装置 - Google Patents

乗算装置

Info

Publication number
JPH0713742A
JPH0713742A JP5155181A JP15518193A JPH0713742A JP H0713742 A JPH0713742 A JP H0713742A JP 5155181 A JP5155181 A JP 5155181A JP 15518193 A JP15518193 A JP 15518193A JP H0713742 A JPH0713742 A JP H0713742A
Authority
JP
Japan
Prior art keywords
multiplier
circuit
bits
input
output
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
JP5155181A
Other languages
English (en)
Inventor
Yuichi Nakao
裕一 中尾
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5155181A priority Critical patent/JPH0713742A/ja
Priority to US08/266,085 priority patent/US5506799A/en
Publication of JPH0713742A publication Critical patent/JPH0713742A/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/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/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
    • 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
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49994Sign extension

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)【要約】 【目的】 符号拡張機能と、また乗算を複数の演算サイ
クルに分割した際に部分積の数に余りが生じる場合に追
加される加算回路の数を削減して回路規模の増大を抑制
する。 【構成】 乗数Yの符号拡張されるビットの全てをある
特定の値に設定し、乗算の対象となっているデータの内
の有効データの最上位ビットである符号ビットが繰り上
がりを発生する場合に、そのビットのブースデコーダ9
a, 9b…への入力部分に符号拡張制御信号60の値に従っ
て特定の値の信号を入力する符号繰り上がり補正回路7
c, 7dを備え、また中間結果シフト回路40から部分積加
算回路12a, 12b…に入力される値を乗数の一部のビット
の値に従って被乗数の値に設定するように構成し、中間
結果シフト回路40に入力される一部ビットを除く乗数の
ビットを倍数生成回路11a, 11b…に入力するように構成
してある。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子計算機等のデータ
処理システムにおいて2進数相互の乗算を高速処理する
ブースの配列型乗算装置に関し、特に第1には乗数を符
号拡張する機能を有する乗算装置に関し、また第2には
所望の乗算を複数の演算サイクルに分割して実行し、そ
れぞれの演算サイクルで部分積の部分的な和である中間
結果を求め、中間結果を次の演算サイクルに繰り越して
演算サイクルを反復することにより全ての部分積の和で
ある乗算結果を求める乗算装置に関する。
【0002】
【従来の技術】ブースのアルゴリズムに従えば、2の補
数表現された整数に対しては演算前処理も後処理もなし
に2の補数表現の乗算結果が得られることは一般的に知
られており、データ処理システムにおいて乗算装置とし
て利用されている。まず、ブースのアルゴリズムに従っ
た乗算の計算アルゴリズムと乗数の符号拡張とについて
説明し、次にそのハードウェアによる従来の実現方法に
ついて説明する。
【0003】ブースのアルゴリズムとは、乗算を高速に
実行する一手法としてブース(Andrew Donald Booth) に
より考案されたアルゴリズムである。一般に、ディジタ
ルデータの乗算の実行に際しては、乗数のデータを複数
ビットに区分してそれぞれを被乗数と乗じることにより
部分積(倍数)を生成し、部分積の総和を乗算結果とし
て得る。ブースのアルゴリズムとは、端的には、乗算の
実行に際して、乗数の各区分にその下位側の区分の最上
位ビットを重複させ、且つ符号付きデジット数を採用す
ることにより、生成される倍数が±2,±4等のディジ
タル数を扱う場合に便利な値となり、また2の補数表示
数を直接乗算出来るという利点を有している。
【0004】図13及び図14は、従来一般的に用いられて
いるブースアルゴリズムを用いた乗算の方法を示す模式
図である。なお、ここでは2次のブースのアルゴリズム
を用いた例を示す。被乗数Xと乗数Yとの乗算は、被乗
数Xを第1入力データとし、乗数Yを第2入力データと
して図13に示されているように、まず被乗数Xの全ビッ
トに乗数Yの一部のビットを掛け合わせて部分積を順次
計算し、次に部分積の総和を求めることによって実行さ
れる。
【0005】2次のブースのアルゴリズムでは、部分積
は乗数Yの2ビット毎に一つが生成される。従って、図
13に示されているように、32ビット×32ビットの乗算で
は乗数Yの最初の2ビットY<1:0>相当部分と被乗
数Xとが掛け合わされて第1部分積が生成され、次に乗
数Yの次の2ビットY<3:2>相当部分と被乗数Xと
が掛け合わされて第2部分積が生成され、以下順次部分
積が生成されて最後に乗数Yの最後の2ビットY<31:
30>相当部分と被乗数Xとが掛け合わされて第16部分積
が生成される。
【0006】このように、32ビット×32ビットの乗算で
は、部分積は第1部分積から第16部分積までの16個が生
成され、これらの総和として最終的には64ビットの乗算
結果Pが得られる。
【0007】部分積の演算規則を図14の表に示す。この
図14に示されている表は、ブースのアルゴリズムの入
力, 出力及び対応する倍数の関係を示しており、より具
体的には後述するブースデコーダへの3ビットの入力信
号の値,それに対応する3ビットの出力信号の値及びそ
れに対応する倍数生成回路の出力を示している。各部分
積の演算に用いられる乗数Y(ブースデコーダへの入
力)は3ビットであり、部分積は2ビット単位で求めら
れる。このため、奇数番号の添字を有する乗数Yのビッ
トは2つのブースデコーダに入力される。即ち、第i+
1部分積を求める際にはY<2i+1>とY<2i>との部
分積を求めるのであるが、下位側のY<2i−1>も使用
される。具体的には、たとえば第2部分積を求める際に
はY<3>とY<2>との他に下位側のY<1>も使用
される。
【0008】但し、第1部分積を求める際にはY<1>
とY<0>とが使用されるが、下位側のビットとして
は”0”が使用される。以後、第i+1部分積を計算す
る際に用いられるY<2i−1>のことを繰り上がり乗数
と称する。従って、たとえばY<3>は上述の如く第2
部分積を求める際に使用される他、第3部分積を求める
際の下位側のビットとしても使用される。
【0009】次に、符号拡張について説明する。たとえ
ば、32ビット, 16ビット, 8ビットの3種類の有効幅の
乗数に対して乗算を実行するデータ処理装置において
は、最大ビット幅である32ビットの乗算器を用いて他の
サイズの演算をも行い得るように構成されている場合が
多い。この場合、たとえば8ビットの乗数に対する乗算
を実行するには、正しい乗算結果を得るためには32ビッ
トの乗数入力の上位の内の24ビットを特定の値に設定し
ておく必要がある。この際、乗数データが符号付きの2
進数である場合に32ビットの内の上位24ビットの値を決
定する方法が符号拡張と称される方法である。
【0010】なお、ブースのアルゴリズムでは符号付き
のデータを対象とするため、乗数データが符号無しの2
進数である場合は符号付きデータに変換 (有効幅より上
位側の無効部分を全て”0”にする) した後に、符号拡
張を行う。
【0011】符号拡張においては、有効なデータ部分の
最上位ビットである符号ビットをそれより上位の無効デ
ータの全てのビットに複製する必要がある。図15はその
一例として、16ビットの符号付きデータを32ビットの符
号付きデータに符号拡張する方法を、図16は8ビットの
符号付きデータを32ビットの符号付きデータに符号拡張
する方法をそれぞれ示す模式図である。
【0012】図15及び図16において、参照符号Sにて示
されている符号ビットが上位の全てのビットに複製され
ている。具体的には、図15に示されているように、16ビ
ットの符号付きデータ (有効データは15ビット) が32ビ
ットの符号付きデータに拡張される場合には、16ビット
の符号付きデータの最上位の符号ビットSの値が32ビッ
トのデータの上位側の自身を含む17ビット全てに複製さ
れ、下位側の15ビットが有効データになる。
【0013】また同様に、図16に示されているように、
8ビットの符号付きデータ (有効データは7ビット) が
32ビットの符号付きデータに拡張される場合には、8ビ
ットの符号付きデータの最上位の符号ビットSの値が32
ビットのデータの上位側の自身を含む25ビット全てに複
製され、下位側の7ビットが有効データになる。
【0014】次に、ブースのアルゴリズムに従った従来
の乗算装置のハードウェアの構成例として、乗数を符号
拡張する機能を有する場合について説明する。図17は、
そのような従来の乗算装置の構成例を示すブロック図で
ある。また図18は図17に示されている乗算装置を構成す
る符号拡張制御回路50の動作を説明するための真理値表
である。
【0015】図17に示されている従来の回路構成では、
32ビット×32ビットの乗算が一度に行われる。乗数のサ
イズとしては、32ビット (ワード),16ビット (ハーフワ
ード),8ビット (バイト) の3種類が扱える。図17にお
いて、参照符号1は32ビットの乗数Y<31:0>の入力
を、2は32ビットの被乗数X<31:0>の入力を、3は
ハーフワードサイズ信号を、4はバイトサイズ信号を、
50は符号拡張制御回路を、60は符号拡張制御信号を、70
a 及び70b は符号拡張下位回路及び符号拡張上位回路を
それぞれ示している。
【0016】乗数Yの有効部分がハーフワード(Y<1
5:0>)であることを示すハーフワードサイズ信号3
及び乗数Yの有効部分がバイト(Y<7:0>)である
ことを示すバイトサイズ信号4は共に符号拡張制御回路
50に入力され、また乗数入力1の内のバイトサイズの符
号ビットに相当するY<7>及びハーフワードサイズの
符号ビットに相当するY<15>も符号拡張制御回路50に
入力されている。符号拡張制御回路50の出力信号である
符号拡張制御信号60については後述する。
【0017】また、参照符号8は符号拡張下位回路70a,
符号拡張上位回路70b からの出力信号である符号拡張乗
数信号 (符号拡張された後の乗数の信号) を、9a〜9pは
ブースデコーダ(BD)を、10は乗算アレイ回路をそれぞれ
示している。なお、参照符号9a〜9pで示されているブー
スデコーダは、前述した図14に示されているような3ビ
ットの入力信号の値,それに対応する3ビットの出力信
号の値及びそれに対応する倍数生成回路の出力が得られ
るように構成されている。また、乗算アレイ回路10には
倍数生成回路11a 〜11p 及び部分積加算回路(ADD) 12a
〜12p が備えられている。なお、参照符号30は乗算結果
P<63:1>の出力である。
【0018】このような従来の乗算装置の動作は以下の
如くである。符号拡張制御回路50には、上述のように、
乗数Yの有効部分がY<7:0>であることを示すバイ
トサイズ信号4と、乗数Yの有効部分がY<15:0>の
ハーフワードであることを示すハーフワードサイズ信号
3と、乗数入力1である乗数Yの内のバイトサイズであ
る場合の符号ビットY<7>と、ハーフワードである場
合の符号ビットY<15>とが入力され、ハーフワードサ
イズ信号3及びバイトサイズ信号4に基づいて、”0”
またはビットY<7>, Y<15>のいずれかを符号拡張
制御信号60として出力する。
【0019】図18には、符号拡張制御回路50の入力信号
と出力信号との間の関係、換言すれば符号拡張制御回路
50の動作が真理値表の形で示されている。符号拡張制御
回路50からの出力信号である符号拡張制御信号60には、
上位ハーフワードセット信号(SETHW) と、上位ハーフワ
ードリセット信号(RSTHW) と、第2下位バイトセット信
号(SETBT) と、第2下位バイトリセット信号(RSTBT) と
が含まれる。
【0020】たとえば、バイトサイズのデータの乗算が
行われる際は、バイトサイズ信号4が”1”であり (ハ
ーフワードサイズ信号3は”0”) 、符号ビットSであ
るY<7>が”1”であれば、上位ハーフワードセット
信号(SETHW) と第2下位バイトセット信号(SETBT) とが
共に”1”になる。また、ハーフワードサイズのデータ
の乗算が行われる際は、ハーフワードサイズ信号3が”
1”であり (バイトサイズ信号4は”0”) 、符号ビッ
トSであるY<15>が”0”であれば、上位ハーフワー
ドリセット信号(RSTHW) が”1”になる。
【0021】上位ハーフワードセット信号(SETHW) 及び
上位ハーフワードリセット信号(RSTHW) は符号拡張上位
回路70b に入力され、また第2下位バイトセット信号(S
ETBT) 及び第2下位バイトリセット信号(RSTBT) は符号
拡張下位回路70a に入力される。一方、乗数Yは乗数入
力1から入力され、上位ハーフワードであるY<31:16
>は符号拡張上位回路70b に、第2下位バイトであるY
<15:8>は符号拡張下位回路70a にそれぞれ入力され
る。他のビットY<7:0>はそれぞれ2ビットずつブ
ースデコーダ9a〜9dに入力される。
【0022】符号拡張上位回路70b では、対応する上位
ハーフワードセット信号(SETHW) が”1”であれば、そ
の出力、即ち符号拡張乗数信号8であるSY<31:16>
の全てのビットを強制的に”1”にし、また上位ハーフ
ワードリセット信号(RSTHW)が”1”であれば、
その出力、即ち符号拡張乗数信号8であるSY<31:
16>の全ビットを強制的に”0”にする。
【0023】上位ハーフワードセット信号(SETHW) と上
位ハーフワードリセット信号(RSTHW) とが共に”0”で
あれば、符号拡張乗数信号8であるSY<31:16>には
Y<31:16>入力の値がそのまま出力される。
【0024】符号拡張下位回路70a も、符号拡張上位回
路70b と同様に動作する。即ち、符号拡張下位回路70a
では、対応する第2下位バイトセット信号(SETBT) が”
1”であれば、その出力、即ち符号拡張乗数信号8であ
るSY<15:8>の全てのビットを強制的に”1”に
し、また第2下位バイトリセット信号(RSTBT) が”1”
であれば、その出力、即ち符号拡張乗数信号8であるS
Y<15:8>の全ビットを強制的に”0”にする。第2
下位バイトセット信号(SETBT) と第2下位バイトリセッ
ト信号(RSTBT) とが共に”0”であれば、符号拡張乗数
信号8であるSY<15:8>にはY<15:8>入力の値
がそのまま出力される。
【0025】符号拡張上位回路70b の論理ゲートによる
具体的な回路構成例を図19の回路図に示す。この図19に
示されている回路は、上述のような符号拡張上位回路70
b の機能を実現した回路であり、1ビット当り一つのOR
機能と一つの AND機能とにより構成されている。
【0026】具体的には、各ビットY<16>〜Y<31>
それぞれの信号は2入力の NORゲート71の一方の入力端
子に入力され、その他方の入力端子には上位ハーフワー
ドセット信号(SETHW) が入力されている。また、 NORゲ
ート71の出力信号は2入力のANDゲート72の一方の入力
端子に入力され、その他方の入力端子には上位ハーフワ
ードリセット信号(RSTHW) が入力されている。そして、
各 ANDゲート72の出力信号が符号拡張乗数信号8の各ビ
ットSY<16>〜SY<31>の信号になっている。
【0027】符号拡張下位回路70a も同様に構成されて
おり、入力信号が上位ハーフワードセット信号(SETHW)
及び上位ハーフワードリセット信号(RSTHW) の代わりに
第2下位バイトセット信号(SETBT) 及び第2下位バイト
リセット信号(RSTBT) になり、各ビットY<31>〜Y<
16>の信号の代わりに各ビットY<15>〜Y<8>の信
号になる。符号拡張下位回路70b から出力された符号拡
張乗数信号8の内のSY<31:16>はブースデコーダ9i
〜9pに、また符号拡張下位回路70a から出力された符号
拡張乗数信号8の内のSY<15:8>はブースデコーダ
9e〜9hに、更に乗数入力1の一部であるY<7:0>は
前述の如くブースデコーダ9a〜9dにそれぞれ入力され、
図14に示されているような2次のブースのアルゴリズム
に従ったデコードが行われる。
【0028】それぞれのブースデコーダ9a〜9pには、3
ビットの乗数データが2ビットずつずれて、即ちブース
デコーダ9aには”0”とY<0>とY<1>とが、ブー
スデコーダ9bにはY<1>とY<2>とY<3>とが、
ブースデコーダ9cにはY<3>とY<4>とY<5>と
が、というように各ブースデコーダ9a〜9pには乗数入力
1の対応する偶数ビットとその上,下位の奇数ビットと
がそれぞれ入力されている。このため、奇数ビット目の
乗数は隣接する二つのブースデコーダに入力されること
になる。たとえば、Y<7>は第4番目のブースデコー
ダ9dと第5番目のブースデコーダ9eとの両方に入力さ
れ、SY<15>は第8番目のブースデコーダ9hと第9番
目のブースデコーダ9iとの両方に入力される。なお、乗
数の奇数ビットが上位のブースデコーダに入力される信
号線を繰り上がり乗数信号線という。
【0029】第1倍数生成回路11a 〜第16倍数生成回路
11p にはブースデコーダ9a〜9pからの出力がそれぞれ入
力されており、これらの入力と図14に示されている規則
に基づいて、それぞれの倍数生成回路11a 〜11p はY<
1:0>,Y<3:2>,Y<5:4>,Y<7:6
>,SY<9:8>・・・SY<31:30>の値とそれぞ
れの繰り上がり乗数信号に対応して被乗数Xの倍数を生
成して出力する。これらの各倍数生成回路11a 〜11p か
らの倍数出力は、倍数生成回路11a からの倍数出力はそ
のまま乗算結果出力30の内のP<1:0>として出力さ
れると共に部分積加算回路12b に入力され、他の倍数生
成回路11b 〜11p からの倍数出力はそれぞれ部分積加算
回路12b 〜12p に入力される。また、各部分積加算回路
12c 〜12p にはそれぞれ部分積加算回路12b 〜12o の出
力が入力されており、それぞれの部分積加算回路12b 〜
12p は両者を加算する。
【0030】これらの部分積加算回路12b 〜12p による
加算結果が乗算結果出力30から64ビットの乗算結果P<
63:0>として出力されて乗算が完了する。
【0031】ところで、上述の説明では16ビットの符号
付きデータ及び8ビットの符号付きデータを32ビットの
符号付きデータに拡張して乗算する場合について説明し
たが、32ビットのデータを対象とする場合について以下
に説明する。既に説明したように、ブースのアルゴリズ
ムを用いた乗算装置では、符号付きの2の補数表現の整
数を前処理も後処理もなしに実行できるが、そのままで
は符号無しの整数について演算を行えない。このため、
32ビットのデータを対象とする場合には1ビット幅を拡
張して符号付きデータとして取り扱う。
【0032】図20(a) は、32ビットの符号無し整数デー
タを33ビットの符号付き数として扱うために必要な符号
拡張を示している。この際の符号拡張は拡張されたビッ
ト32の値を”0”にする。また、32ビットの符号付きデ
ータを対象とする場合には、図20(b) に示されているよ
うに、最上位のビット31である符号ビットの値を拡張さ
れたビット32に複製して33ビットの符号付きデータとし
て処理する。なお、32ビットの符号付きデータをそのま
ま乗算する場合には32ビット用の乗算装置が別途必要に
なるので、32ビットの符号無し整数データを扱う場合に
は32ビットの符号付きデータをも33ビットに符号拡張し
て処理する方がハードウェアの観点から有利でるあるこ
とは言うまでもない。
【0033】このような33ビット×33ビットの乗算で
は、図21に示されているように、部分積は第1部分積か
ら第17部分積までの17個生成される。ところで、このよ
うな乗算を一度に実行するための33ビット×33ビットの
配列型乗算装置では、図17から明らかなように、一般的
には17個の倍数生成回路と16個の加算回路とが必要とな
り、ハードウェアとしてICチップ上に実現した場合には
大きな面積を占有することになる。このため、ICチップ
上での占有面積に対する制約が厳しい場合には、乗算を
複数の演算サイクルに時分割して実行するハードウェア
が用いられる。
【0034】そのようなハードウェアを採用した従来の
乗算装置について説明する。図22は、そのような従来の
乗算装置の実現例を示すブロック図であり、図23は図22
に示した乗算装置の一部である参照符号10にて示されて
いる乗算アレイ回路を詳細に示すブロック図である。図
22に示されている従来例では、33ビット×33ビットの乗
算を4回に分けて行なうハードウェアが示されている。
このようなハードウェアにより演算を4分割して実行す
れば、倍数生成回路と加算回路の回路規模をおおむね4
分の1に抑えることができる。
【0035】図22及び図23において、参照符号1は乗数
Yの入力を、2は被乗数Xの入力を、33は初期化制御入
力を、34は演算サイクル制御入力を、5は乗数分割回路
を、6は乗数繰り上がりラッチを、9a〜9dはブースデコ
ーダ(BD)を、10は乗算アレイ回路を、11a 〜11d は第1
乃至第4倍数生成回路を、12a 〜12d は部分積加算回路
(ADD) をそれぞれ示している。
【0036】また、図23において、参照符号13a 〜13d
は部分積加算回路12a 〜12d を構成する第1〜第4キャ
リー保存型加算器(CSA) を、14a 〜14d は同じく部分積
加算回路12a 〜12d を構成する第1〜第4キャリー伝搬
型加算器(CPA) を、15は上位CPA 回路を、16は最上位倍
数生成回路を、17は最上位部分積加算回路を、40は中間
結果シフト回路を、41は中間結果シフト回路40に含まれ
るキャリーシフト回路を、42は中間結果シフト回路40に
含まれるサムシフト回路を、43は中間結果シフト回路40
に含まれる CPA繰り上がりラッチを、30は乗算結果Yの
下位出力を、31は乗算結果Yの上位出力をそれぞれ示し
ている。
【0037】この図22及び図23に示されている回路構成
では、前述の図17に示されている構成とは異なり、乗数
入力1の内の有効データであるY<31:0>は乗数分割
回路5に入力されて8ビットずつに4分割、具体的には
Y<7:0>,Y<15:8>, Y<23:16>, Y<31:
24>に分割され、それぞれが時分割で順次的に乗数分割
回路5から出力される。各ブースデコーダ9a〜9dには、
第1のブースデコーダ9aには乗数繰り上がりラッチ6の
出力と乗数分割回路5からの出力の下位側から第1, 第
2ビットの信号が、ブースデコーダ9bには乗数分割回路
5からの出力の下位側から第2, 第3,第4ビットの信
号が、ブースデコーダ9cには乗数分割回路5からの出力
の下位側から第4, 第5, 第6ビットの信号が、ブース
デコーダ9dには乗数分割回路5からの出力の下位側から
第6, 第7, 第8ビットの信号がそれぞれ入力されてい
る。
【0038】各ブースデコーダ9a〜9dの出力はそれぞれ
倍数生成回路11a 〜11d に入力される。そして、各部分
積加算回路12a 〜12d には、第1の部分積加算回路12a
には中間結果シフト回路40の出力と倍数生成回路11a の
出力とが、部分積加算回路12b には部分積加算回路12a
の出力と倍数生成回路11b の出力とが、部分積加算回路
12c には部分積加算回路12b の出力と倍数生成回路11c
の出力とが、部分積加算回路12d には部分積加算回路12
c の出力と倍数生成回路11d の出力とがそれぞれ入力さ
れる。また、乗数入力1の最上位ビットであるY<32>
は直接最上位倍数生成回路16に入力され、この最上位倍
数生成回路16の出力は部分積加算回路12d の出力と共に
最上位部分積加算回路17に入力されている。なお、最上
位部分積加算回路17の出力は上位CPA 回路15に入力さ
れ、この上位CPA 回路15の出力が乗算結果上位出力31に
なっている。
【0039】次に、図22及び図23に示されているハード
ウェアの動作について説明する。乗数Y<31:0>は乗
数入力1から初期化制御入力33に同期して乗数分割回路
5に入力される。乗数分割回路5はまず、第1回目の出
力として乗数Yの下位8ビットであるY<7:0>を出
力する。また、同時に初期化制御信号33は、乗数繰り上
がりラッチ6と中間結果シフト回路40とをリセットす
る。なお、リセットされることにより、乗数繰り上がり
ラッチ6及び中間結果シフト回路40は”0”を出力す
る。
【0040】(1) 第1演算サイクルの動作 演算サイクル制御入力34の立ち上がり遷移に同期して第
1演算サイクルが開始する。乗数分割回路5から出力さ
れたY<7:0>と乗数繰り上がりラッチ6の出力であ
る”0”とは、乗数繰り上がりラッチ6の出力とY<
1:0>がブースデコーダ9aに、Y<3:1>がブース
デコーダ9bに、Y<5:3>がブースデコーダ9cに、Y
<7:5>がブースデコーダ9dにそれぞれ入力され、ブ
ースのアルゴリズムに従ってデコードされる。第1,第
2,第3,第4の4つの倍数生成回路11a 〜11d はそれ
ぞれブースデコーダ9a〜9dからの出力と図14に示されて
いる規則に基づいて、Y<1:0>,Y<3:2>,Y
<5:4>,Y<7:6>の値に対応する被乗数Xの倍
数をそれぞれ生成して出力する。
【0041】各倍数生成回路11a 〜11d から出力された
倍数出力は第1〜第4加算器12a 〜12d の中のキャリー
保存型加算回路(CSA)13a〜13d にそれぞれ入力されて加
算される。第1CSA 13a では第1倍数生成回路11a の出
力と中間結果シフト回路40の初期値”0”とが加算さ
れ、この加算結果はキャリー(C)とサム(S)とを一
組として出力される。その内の下位2ビット分に相当す
る部分は第1CPA 14a へ入力され、残りの部分は第2CS
A 11b へ下位ビット側に詰めて入力される。以下同様
に、第2CSA 13b から第4CSA 13d まで、各倍数出力の
加算が桁を2ビットずつずらしながら順次行われる。こ
の加算の結果、Y<7:0>×Xに対応する演算が実行
されたことになる。
【0042】演算結果の内の第1CSA 13a 〜第4CSA 13
d からの各出力の下位2ビットに相当する部分はそれぞ
れ第1CPA 14a 〜第4CPA 14d に入力され、キャリーの
伝搬まで含めた演算が実行されて8ビットの加算結果P
<7:0>が乗算結果下位出力30から出力される。一
方、演算結果の上位の部分は第4CSA 13d からキャリー
とサムとが一組の形で出力されて直接中間結果シフト回
路40に入力され、キャリーシフト回路41によりキャリー
出力がラッチされ、サムシフト回路42によりサム出力が
ラッチされる。また、第4CPA 14d のキャリー出力は中
間結果シフト回路40のCPA 繰り上がりラッチ43に保存さ
れ、Y<7>の値が乗数繰り上がりラッチ6に保存され
る。
【0043】ここで、Y<7>の値が乗数繰り上がりラ
ッチ6に保存される動作について説明しておく。前述の
如く演算サイクル制御入力34の立ち上がり遷移に同期し
て第1演算サイクルが開始して乗数繰り上がりラッチ6
は初期化時にラッチしていた”0”を出力してブースデ
コーダ9aに与える。ところで、乗数繰り上がりラッチ6
にはそのT端子に演算サイクル制御入力34が、またD端
子に乗数分割回路5からの出力の最上位ビットが接続さ
れている。従って、演算サイクル制御入力34の立ち上が
り遷移に同期して乗数繰り上がりラッチ6は”0”を出
力すると共に乗数分割回路5から出力されるY<7>を
ラッチする。
【0044】以上で第1演算サイクルの演算が終了す
る。この第1演算サイクルにおいては、乗数の最上位ビ
ットY<32>が入力される最上位倍数生成回路16及び最
上位部分積加算回路17は意味のある演算を行わない。
【0045】(2) 第2演算サイクルの動作 続いて、演算サイクル制御信号4の変化に同期して第2
演算サイクルが開始される。この第2演算サイクルにお
いては、乗数分割回路5からは第二回目の出力としてY
<15:8>が出力され、乗数繰り上がりラッチ6からは
第1演算サイクルにおいてラッチしたY<7>が出力さ
れ、中間結果シフト回路40からは第1演算サイクルの演
算の上位結果がキャリーとサムとを一組とした形で出力
される。また同時に、乗数繰り上がりラッチ6は乗数分
割回路5から出力されるY<15>をラッチする。この第
2演算サイクルにおいても、乗数のデコードと倍数の生
成とは第1演算サイクルと同様に実行され、倍数が加算
回路12a 〜12d から出力される。この第2演算サイクル
において生成される倍数は、Y<15:8>に対応する部
分である。
【0046】加算回路12a 〜12d には第2演算サイクル
で得られた倍数に加えて、中間結果シフト回路40から第
1演算サイクルの上位結果も入力されて加算が行われ
る。この加算の結果、Y<15:0>×Xの下位8ビット
を除いた値が下位ビット側に詰めて得られる。加算出力
の下位8ビットは第1CPA 14a 〜第4CPA 14d からP<
15:8>として乗算下位結果出力30へ出力され、上位ビ
ットは再度中間結果シフト回路40に入力されて第2演算
サイクルの演算が終了する。
【0047】以下、同様に第3演算サイクル及び第4演
算サイクルの演算が実行され、順にP<23:16>とP<
31:24>とが乗算結果下位出力30から出力される。演算
の最終サイクルである第4演算サイクルにおいては、第
4CSA 13d から出力される上位ビットは、Y<31:0>
×Xの下位32ビットを除いた値である。33ビットの乗算
結果を得るためには、Y<32>に対応する最上位倍数の
加算が必要であり、このために備えられている回路が最
上位倍数生成回路16と最上位部分積加算回路17である。
第4CSA 13d の出力は最上位部分積加算回路17に入力さ
れ、Y<32>に対応する最上位倍数生成回路16の出力と
の加算が行われる。
【0048】ここまでの演算結果はキャリーとサムとを
一組とした形で得られているため、更にキャリーの伝搬
までを含めた加算が上位CPA 回路15において実行され、
加算結果が乗算結果上位出力31に出力される。
【0049】図24乃至図26は、図23に示した乗算アレイ
の一部であるキャリーシフト回路41を更に詳細に解説す
るための図であり、図24はキャリーシフト回路41の構成
例を示すブロック図、図25はその動作説明のための真理
値表、図26はキャリーシフト回路41を MOSトランジスタ
回路により実現した場合の回路構成例を示す回路図であ
る。
【0050】図24において、参照符号60はキャリーシフ
ト回路41を構成するリセット付Dフリップフロップを、
51はインバータを、52は MOSトランジスタで構成された
トランスミッションゲートを、53は MOSトランジスタ
を、54は NORゲートをそれぞれ示している。キャリーシ
フト回路41は、リセット端子Rに初期化制御入力33が、
データ端子Dにキャリー中間結果24が、トリガ端子Tに
演算サイクル制御入力34がそれぞれ入力されており、出
力端子Qからシフト回路出力が出力される。従って、キ
ャリーシフト回路41は初期化制御入力33によってリセッ
トされ、演算サイクル制御入力34の立ち上がり遷移に同
期してキャリー中間結果24を出力に伝搬する。図25に示
されている真理値表はこの動作をまとめたものである。
【0051】キャリーシフト回路41の主要部分であるリ
セット付Dフリップフロップ60は、例えばCMOSの回路を
用いて図26のように構成することができる。また、サム
シフト回路42もキャリーシフト回路41と同様の構成とす
ることができる。
【0052】図21の模式図に示されている乗算が図22に
示されている乗算装置でどのように分割実行されるかを
図27, 図28の模式図に示す。第1の演算サイクルにおい
ては第0部分積〜第3部分積が、第2の演算サイクルに
おいては第4部分積〜第7部分積が、第3の演算サイク
ルにおいては第8部分積〜第11部分積がそれぞれ加算さ
れ、第4演算サイクルにおいては第12部分積〜第15部分
積に加えて最上位の部分積である第16部分積が加算され
る。この際、各前サイクルの演算結果の上位の値は中間
結果として次のサイクルの演算に加えられる。そして、
最終の第4演算サイクルでは全ての部分積の加算が完了
し、乗算結果が得られる。
【0053】
【発明が解決しようとする課題】従来の乗算装置は、上
述のように構成されているため、符号拡張回路は1ビッ
ト当りOR機能と AND機能とをそれぞれ実現するためのゲ
ートが必要であり、たとえばそのような乗算装置を電子
計算機の一部としてチップ上に構成した場合にそれらの
ゲートを実現するためのトランジスタによるチップの占
有面積が非常に大きくなり、チップ利用の効率の面から
問題があった。
【0054】また、従来例として示した33ビット×33ビ
ットの乗算を4演算サイクルに分割する場合のように乗
数のビットの分割に余りが生じる構成では、余ったビッ
トの部分積を加算するための倍数生成回路と加算回路と
が余分に必要になる。これは、マイクロプロセッサ等の
デジタル処理装置で扱う数値は、通常は8,16,32ビッ
トのように2の累乗の数値のビット幅であることが多い
ため分割は余りなしに行えるように思われる。しかし、
ブースのアルゴリズムを利用した乗算装置で符号無しの
2進数を扱う場合には、乗算回路に入力する乗数のビッ
ト幅は元のビット幅よりも1ビット拡張する必要がある
ため、この1ビットの拡張部分に対する部分積を加算す
るために回路を追加する必要が生じ、回路規模が増大す
るという問題点が生じる。
【0055】本発明はこのような事情に鑑みてなされた
ものであり、符号拡張機能を従来より小さい回路規模で
実現してチップ面積の有効利用が可能な乗算装置の提供
を第1の目的とする。
【0056】また、本発明は乗算を複数の演算サイクル
に分割して実行する際に部分積の数に余りが生じる場合
に、追加される加算回路の数を削減することにより回路
規模の増大を抑制し得る乗算装置の提供を第2の目的と
する。特に、部分積の数が乗算の演算サイクル分割によ
って1余る場合には、従来必要であった加算回路の追加
を不要にする。
【0057】
【課題を解決するための手段】本発明に係る乗算装置の
第1の発明は、乗数の符号拡張されるビットの全てをあ
る特定の値に設定し、乗算の対象となっているデータの
内の有効データの最上位ビットである符号ビットが繰り
上がりを発生する場合に、そのビットのブースデコーダ
への入力部分に符号拡張制御信号の値に従って特定の値
の信号を入力する回路を備えている。
【0058】また本発明に係る乗算装置の第2の発明
は、中間結果シフト回路から部分積加算回路に入力され
る値を乗数の一部のビットの値に従って被乗数の値に設
定するように構成し、中間結果シフト回路に入力される
一部ビットを除く乗数のビットを倍数生成回路に入力す
るように構成してある。
【0059】
【作用】本発明に係る乗算装置の第1の発明では、符号
ビットが繰り上がりを発生した場合には、乗数の無効部
分のビットに設定されている値と同じ値がブースデコー
ダに入力されるので、正しい演算結果が得られる。
【0060】また本発明に係る乗算装置の第2の発明で
は、乗数の下位ビットに対応する部分積は演算開始時に
中間結果シフト回路にロードされて第1演算サイクルに
おいて加算回路に入力されるため、この倍数生成回路を
使用せずに部分積が生成され、爾後は従来同様に順次部
分積が求められる。
【0061】
【実施例】まず、本発明に係る乗算装置の第1の発明に
ついて説明する。図1は本発明に係る乗算装置の第1の
発明の実施例の一構成例を示すブロック図である。ま
た、図2は図1に示されている乗算装置の一部である符
号拡張制御回路の動作を示す真理値表である。なお、図
1においては前述の従来の説明に使用した各図と相当す
る部分には同一の参照符号を付与してある。
【0062】図1に示されている回路構成では、32ビッ
ト×32ビットの乗算が一度に行われる。乗数のサイズと
しては、32ビット (ワード),16ビット (ハーフワード),
8ビット (バイト) の3種類が扱える。図1において、
参照符号1は32ビットの乗数Y<31:0>の入力を、2
は32ビットの被乗数X<31:0>の入力を、3はハーフ
ワードサイズ信号を、4はバイトサイズ信号を、50は符
号拡張制御回路を、60は符号拡張制御信号を、70a 及び
70b は符号拡張下位回路及び符号拡張上位回路をそれぞ
れ示している。
【0063】乗数Yの有効部分がY<15:0>のハーフ
ワードであることを示すハーフワードサイズ信号3及び
乗数Yの有効部分がY<7:0>であることを示すバイ
トサイズ信号4は符号拡張制御回路50に入力され、また
乗数入力1の内のバイトサイズの符号ビットに相当する
Y<7>及びハーフワードサイズの符号ビットに相当す
るY<15>も符号拡張制御回路50に入力されている。符
号拡張制御回路50の出力信号である符号拡張制御信号60
は後述する如く2ビットであり、1ビットずつが符号拡
張下位回路70a 及び70b に入力される。
【0064】また、参照符号8は両符号拡張下位回路70
a, 70bからの出力信号である符号拡張乗数信号 (符号拡
張された後の乗数の信号) を、9a〜9pはブースデコーダ
(BD)を、10は乗算アレイ回路をそれぞれ示している。ま
た、乗算アレイ回路10には倍数生成回路11a 〜11p 及び
部分積加算回路(ADD) 12a 〜12p が備えられている。な
お、参照符号30は乗算結果P<63:1>の出力である。
【0065】以上の構成は従来例として図17に示されて
いる構成と同様であるが、図1に示されている本発明の
乗算装置の第1の発明では、更に符号繰り上がり補正回
路7c及び7dが備えられている。両符号繰り上がり補正回
路7c, 7dはいずれも具体的には2入力のORゲートで構成
されている。符号繰り上がり補正回路7cには乗数入力1
の内のY<7>と後述する符号拡張制御回路50の出力で
ある符号拡張制御信号60の内の第2下位バイト拡張信号
(EXTBT) とが入力され、その出力はブースデコーダ9eに
入力されている。また、符号繰り上がり補正回路7dには
符号拡張乗数信号8の内のSY<15>と後述する符号拡
張制御回路50の出力である符号拡張制御信号60の内の上
位ハーフワード拡張信号(EXTHW) とが入力されている。
【0066】以下、本発明の乗算装置の第1の発明の動
作について、主として前述の従来例と異なる部分につい
て説明する。符号拡張制御回路50には、上述のように、
乗数Yの有効部分がY<7:0>であることを示すバイ
トサイズ信号4と、乗数Yの有効部分がY<15:0>で
あることを示すハーフワードサイズ信号3とが入力され
る。符号拡張制御回路50は、これらの2入力に基づいて
図2の真理値表に示されているような符号拡張制御信号
60を出力する。
【0067】図2には、符号拡張制御回路50の入力信号
と出力信号との間の関係、換言すれば符号拡張制御回路
50の動作が真理値表の形で示されている。符号拡張制御
回路50からの出力信号である符号拡張制御信号60には、
上位ハーフワード拡張信号(EXTHW) と第2下位バイト拡
張信号(EXTBT) とが含まれる。
【0068】たとえば、バイトサイズのデータの乗算が
行われる際は、バイトサイズ信号4が”1”であるので
(ハーフワードサイズ信号3は”0”) 、上位ハーフワ
ード拡張信号(EXTHW) と第2下位バイト拡張信号(EXTB
T) とが共に”1”になる。また、ハーフワードサイズ
のデータの乗算が行われる際は、ハーフワードサイズ信
号3が”1”であるので (バイトサイズ信号4は”
0”) 、上位ハーフワード拡張信号(EXTHW) のみが”
1”になる。
【0069】上位ハーフワード拡張信号(EXTHW) は符号
拡張上位回路70b に、第2下位バイト拡張信号(EXTBT)
は符号拡張下位回路70a にそれぞれ入力される。一方、
乗数Yは乗数入力1から入力され、上位ハーフワードで
あるY<31:16>は符号拡張上位回路70b に、第2下位
バイトであるY<15:8>は符号拡張下位回路70a にそ
れぞれ入力される。他のビットY<7:0>はそれぞれ
2ビットずつ倍数生成回路11a 〜11d に直接入力され
る。
【0070】符号拡張上位回路70b では、対応する上位
ハーフワード拡張信号(EXTHW) が”1”であれば、その
出力、即ち符号拡張乗数信号8であるSY<31:16>の
全てのビットを強制的に”1”にし、また上位ハーフワ
ード拡張信号(EXTHW) が”0”であれば、SY<31:16
>出力8にY<31:16>入力の値をそのまま出力する。
符号拡張下位回路70a も同様に、第2下位バイト拡張信
号(EXTBT) に従って、即ち第2下位バイト拡張信号(EXT
BT) が”1”であれば符号拡張乗数信号8であるSY<
15:8>の全てのビットを強制的に”1”にし、また第
2下位バイト拡張信号(EXTBT) が”0”であれば符号拡
張乗数信号8であるSY<15:8>にY<15: 8>入力
の値をそのまま出力する。
【0071】図3に符号拡張下位回路70a,符号拡張上位
回路70b を論理ゲートで構成した場合の回路図を示す。
図3に示されている回路は、上述のような機能を実現し
た回路であり、1ビット当り一つのOR機能により構成さ
れている。
【0072】具体的には、各ビットY<16>〜Y<31>
それぞれの信号は2入力のORゲートト73の一方の入力端
子に入力され、その他方の入力端子には上位ハーフワー
ド拡張信号(EXTHW) が入力されている。そして、各ORゲ
ート73の出力信号が符号拡張乗数信号8の各ビットSY
<16>〜SY<31>の信号になっている。
【0073】符号拡張下位回路70a も同様に構成されて
おり、入力信号が上位ハーフワード拡張信号(EXTHW) の
代わりに第2下位バイト拡張信号(EXTBT) になり、各ビ
ットY<31>〜Y<16>の信号の代わりに各ビットY<
15>〜Y<8>の信号になる。
【0074】符号拡張下位回路70b から出力された符号
拡張乗数信号8の内のSY<31:16>はブースデコーダ
9i〜9pに、また符号拡張下位回路70a から出力された符
号拡張乗数信号8の内のSY<15:8>はブースデコー
ダ9e〜9hに、更に乗数入力1の一部であるY<7:0>
はブースデコーダ9a〜9dにそれぞれ入力され、2次のブ
ースのアルゴリズムに従ってデコードされる。
【0075】この際、ハーフワードデータの符号ビット
になるべきSY<15>は、第8番目のブースデコーダ9h
にはそのまま入力される。しかし、SY<15>信号と第
9番目のブースデコーダ9iの繰り上がり乗数との間には
符号繰り上がり補正回路7dが挿入されているため、上位
ハーフワード拡張信号(EXTHW) 信号が”1”であれば、
第13番目のブースデコーダ9iにはSY<15>の値には拘
わらず”1”が入力される。
【0076】Y<7>と第5ブースデコーダ9eとの間に
も符号繰り上がり補正回路7cが挿入されており、第2下
位バイト拡張信号(EXTBT) 信号に応じてY<7>かまた
は”1”のいずれかを出力する。ブースデコーダ9a〜9p
はこれらの入力の値に従ってデコードを実行する。
【0077】第1倍数生成回路11a 〜第16倍数生成回路
11p にはブースデコーダ9a〜9pからの出力がそれぞれ入
力されており、これらの入力と図14に示されている規則
に基づいて、それぞれの倍数生成回路11a 〜11p はY<
1:0>,Y<3:2>,Y<5:4>,Y<7:6
>,SY<9:8>・・・SY<31:30>の値とそれぞ
れの繰り上がり乗数信号に対応して被乗数Xの倍数を生
成して出力する。これらの各倍数生成回路11a 〜11p か
らの倍数出力は、倍数生成回路11a からの倍数出力はそ
のまま乗算結果出力30の内のP<1:0>として出力さ
れると共に部分積加算回路12b に入力され、他の倍数生
成回路11b 〜11p からの倍数出力はそれぞれ部分積加算
回路12b 〜12p に入力されるまた、各部分積加算回路12
c〜12p にはそれぞれ部分積加算回路12b 〜12o の出力
が入力されており、それぞれの部分積加算回路12b 〜12
p は両者を加算する。
【0078】この際、倍数生成回路11a 〜11p は、乗数
のビット列に対して、図14の真理値表に示されているよ
うに、ビット列”000 ”に対しても”111 ”に対しても
同じ値の部分積を出力する。このため、符号ビットが”
0”であり、上位ビットが本来全て”0”に拡張される
はずの場合に、本実施例のように”1”を拡張しても生
成される部分積に相違は生じない。但し、符号ビットで
ある”0”が繰り上がって乗数入力として”1”である
拡張部分と共に入力されるブースデコーダでは、”110
”が入力されることになるため結果が”000 ”の入力
時と異なってしまう。
【0079】実施例に示されている例では、バイトサイ
ズの場合の第5ブースデコーダ9eと、ハーフワードサイ
ズの場合の第9ブースデコーダ9iにおいてこの問題が生
じる。この補正のために、本発明の乗算装置の第1の発
明では、符号符号繰り上がり補正回路7c, 7dが設けられ
ている。即ち、符号拡張が行われる際には、符号繰り上
がり補正回路7c, 7dにより符号ビットに対応する繰り上
がり乗数信号が強制的に”1”に設定され、ブースデコ
ーダには”111 ”が入力されるため、結果として”0”
拡張の場合と同じ値が生成されることになる。
【0080】なお上述の実施例では、符号拡張時には乗
数を常に”1”拡張する構成が示されているが、符号拡
張を常に”0”拡張で行う構成も可能である。その場合
には、符号拡張回路は図4に示されているように1ビッ
ト当り一つの AND機能で実現し、また符号繰り上がり補
正回路7c, 7dは図5に示されているように AND機能で実
現することが出来る。
【0081】また上述の実施例では、2次のブースのア
ルゴリズムを使用した乗算装置を例にしているが、他の
次数のブースアルゴリズムを使用した乗算装置にも本発
明は適用可能である。
【0082】次に、本発明に係る乗算装置の第2の発明
について説明する。図6は、本発明に係る乗算装置の第
2の発明の実施例の一構成例を示すブロック図であり、
図7は図6に示されている乗算装置を構成する乗算アレ
イ回路10の詳細な構成を示すブロック図である。
【0083】図6に示されている乗算装置は図22に示さ
れている従来例と同様に33ビット×33ビットの乗算を4
回に時分割して実行する。なお、図6, 図7において、
従来例の説明に用いた各図と相当する部分には、同じ符
号をつけてある。
【0084】図6及び図7において、参照符号1は乗数
Yの入力を、2は被乗数Xの入力を、33は初期化制御入
力を、34は演算サイクル制御入力を、5は乗数分割回路
を、6は乗数繰り上がりラッチを、9a〜9dはブースデコ
ーダ(BD)を、10は乗算アレイ回路を、11a 〜11d は倍数
生成回路を、12a 〜12d は部分積加算回路 (ADD)をそれ
ぞれ示している。
【0085】また、参照符号13a 〜13d は部分積加算回
路12a 〜12d を構成する第1〜第4キャリー保存型加算
器(CSA) を、14a 〜14d は同じく部分積加算回路12a 〜
12dを構成する第1〜第4キャリー伝搬型加算器(CPA)
を、15は上位CPA 回路を、16は最上位倍数生成回路を、
17は最上位部分積加算回路を、40は中間結果シフト回路
を、41は中間結果シフト回路40に含まれるキャリーシフ
ト回路を、42は中間結果シフト回路40に含まれるサムシ
フト回路を、43は中間結果シフト回路40に含まれる CPA
繰り上がりラッチを、30は乗算結果下位出力を、31は乗
算結果上位出力をそれぞれ示している。
【0086】以上の構成そのものは図22に示されている
従来例と同様であるが、図6及び図7に示されている本
発明の乗算装置の第2の発明では、乗数Yの最下位側の
2ビットY<1:0>が乗数分割回路5にではなく中間
結果シフト回路40に入力されている。また、被乗数Xの
全ビットX<32:0>が従来例と同様に乗算アレイ回路
10に入力されている他、中間結果シフト回路40にも入力
されている。従って、本第2の発明では主として中間結
果シフト回路40の構成が従来と異なる。
【0087】図8乃至図10は、図6に示されている中間
結果シフト回路40のキャリーシフト回路41を更にに詳細
に解説するための図であり、図8はキャリーシフト回路
41の構成例を示すブロック図、図9はその動作説明のた
めの真理値表、図10はキャリーシフト回路41を MOSトラ
ンジスタ回路による実現した場合の回路構成例を示す回
路図である。
【0088】図8及び図10において、参照符号50はキャ
リーシフト回路を構成する初期データロード付Dフリッ
プフロップを、51はインバータを、52は MOSトランジス
タで構成されたトランスミッションゲートを、53は MOS
トランジスタを、54は NORゲートをそれぞれ示してい
る。キャリーシフト回路41は、初期化信号入力端子TIに
初期化制御入力33が、初期データロード端子DIに ANDゲ
ート410 の出力が、データ端子Dにキャリー中間結果24
が、トリガ端子Tに演算サイクル制御入力34がそれぞれ
入力されており、出力端子Qからシフト回路出力が出力
される。なお、 ANDゲート410 にはY<1>とX<32:
0>とが入力されている。
【0089】従って、キャリーシフト回路41は初期化制
御入力33によってY<1>×X<32:0>の値がロード
され、演算サイクル制御入力34の立ち上がり遷移に同期
してキャリー中間結果24を出力に伝搬する。図9に示さ
れている真理値表はこの動作をまとめたものである。
【0090】キャリーシフト回路41の主要部分であるリ
セット付Dフリップフロップ60は、例えばCMOSの回路を
用いて図10に示されている回路図のように構成すること
ができる。また、サムシフト回路42もキャリーシフト回
路と同様の構成とすることができる。
【0091】次に、上述の第2の発明の乗算装置の動作
について説明する。初期化制御信号33の入力により、乗
数Yのうち最下位2ビットY<1:0>を除く上位ビッ
トは乗数分割回路5に入力され、乗数分割回路5の第1
回目の出力として乗数Yの内のY<9:2>が出力され
る。同時に、初期化制御信号33は、乗数繰り上がりラッ
チ6をリセットし、更に、Y<1:0>の値に従って中
間結果シフト回路40に被乗数Xをロードするか又は中間
結果シフト回路40のリセットを行う。
【0092】更に具体的には、キャリーシフト回路41に
は、Y<1>が”1”である場合にはX<32:0>がロ
ードされ、Y<1>が”0”である場合には”0”にリ
セットされる。この結果、キャリーシフト回路41にはY
<1>×Xの値が設定される。またサムシフト回路42に
は、Y<0>が”1”である場合にはX<32:0>がロ
ードされ、Y<0>が”0”である場合には”0”にリ
セットされる。この結果、サムシフト回路42にはY<0
>×Xの値が設定される。このようにして第1の演算サ
イクルが開始する。
【0093】(1) 第1演算サイクルの演算 乗数分割回路5から出力されたY<9:2>と乗数繰り
上がりラッチ6の初期出力である”0”とがブースデコ
ーダ9a〜9dに入力され、ブースのアルゴリズムに従って
デコードされる。第1,第2,第3,第4の4つの倍数
生成回路11a 〜11d は、ブースデコーダ9a〜9dからの出
力に従って、それぞれY<3:2>, Y<5:3>, Y
<7:5>, Y<9:7>の値に対応する倍数を生成し
出力する。倍数生成回路11a 〜11d の出力は部分積加算
回路12a 〜12d にそれぞれ入力され、4つの倍数出力と
キャリーシフト回路41とサムシフト回路42の初期値とが
加算される。
【0094】ここで、部分積加算回路12a 〜12d の動作
を更に詳しく説明する。第1CPA 14a には、 CPA繰り上
がりラッチ43の初期値である”0”と、サムシフト回路
42の初期値であるY<0>×Xの最下位2ビット及びキ
ャリーシフト回路41の初期値であるY<1>×Xの最下
位1ビットが入力されるので、第1CSA13a はこれらを
加算した結果を乗算結果出力30の最下位2ビットとして
出力する。なお、第1CPA 14a のキャリー出力は第2CP
A 14b に送られる。
【0095】一方、第1CSA 13a には、サムシフト回路
42とキャリーシフト回路41とから、Y<0>×XとY<
1>×Xとの残りビットが入力されるので、第1CSA 13
a はこれらと第1倍数生成回路11a の出力との加算を行
う。なおこの際、Y<0>×Xは2ビット分、Y<1>
×Xは1ビット分下位側へシフトして第1CSA 13a へ入
力されているため、加算の桁が合わされている。
【0096】第1倍数生成回路11a の出力はY<3:2
>×Xに相当する値であり、加算の結果、第1CSA 13a
からはY<3:0>×Xの最下位2ビットを除いた値が
サムとキャリーとを一組にした形で、右詰めで出力され
る。第1CSA 13a の出力の下位2ビット分は第2CPA 14
b に入力されてキャリーの伝搬を含めた全加算が実行さ
れ、Y<3:2>と第3CPA 14c への繰り上がりが出力
される。
【0097】このようにして部分積の加算が桁を2ビッ
トずつずらしながら順次行われ、第1乃至第4CPA 14a
〜14d からP<7:0>が出力されると共に、第4CSA
13dからはY<9:0>×Xの上位の結果がサムとキャ
リーとを一組にした形で出力され、それぞれサムシフト
回路42とキャリーシフト回路41とに入力される。また、
第4CPA 14d のキャリー出力はCPA 繰り上がりラッチ43
に保存され、Y<7>の値がY繰り上がりラッチ6に保
存される。
【0098】(2) 第2演算サイクルの演算 続いて、演算サイクル制御信号34の変化に同期して第2
演算サイクルの演算が開始される。乗数分割回路5から
は第2回目の出力としてY<17:10>が出力され、乗数
繰り上がりラッチ6の出力はY<9>に、中間結果シフ
ト回路40の出力は第1演算サイクルの演算結果の上位32
ビットにそれぞれ相当するキャリーとサムの組となる。
【0099】この第2演算サイクルにおいても、乗数の
デコードと倍数の生成とは第1演算サイクルと同様に実
行され、倍数が加算回路12a 〜12d に出力される。加算
回路12a 〜12d には第2演算サイクルで得られた倍数の
他に中間結果シフト回路40から第1演算サイクルの演算
結果の上位32ビットに相当するキャリーとサムの組も入
力されて加算される。この結果、Y<17:0>×Xの内
の下位8ビットを除いた値が得られる。第2演算サイク
ルの結果の下位8ビットは乗算結果出力30の内のP<1
5:8>として出力され、上位ビットに相当するキャリ
ーとサムとは再度中間結果シフト回路40に入力され、第
2演算サイクルの演算が終了する。
【0100】以下同様に、第3演算サイクル及び第4演
算サイクルが実行され、順にP<23:16>とP<31:24
>とが乗算結果下位出力30として出力される。演算の最
終演算サイクルである第4演算サイクルにおいては、第
4CSA 13d から乗算結果の上位ビットが出力される。但
し、Y<33:0>×Xの演算が行われるので、33ビット
の乗数を符号拡張してY<33>=Y<32>としておくこ
とが必要である。キャリーとサムの形で得られた乗算結
果は、上位CPA 回路15に入力され、キャリーの伝搬まで
含めた加算が行われて、乗算結果上位出力31に出力され
る。
【0101】図6及び図7の乗算装置の4演算サイクル
に分かれた演算動作の内容を1つの図に示したのが図11
及び図12の模式図である。第1演算サイクルにおいて第
1部分積〜第4部分積が、第2演算サイクルにおいて第
5部分積〜第8部分積が、第3演算サイクルにおいて第
9部分積〜第12部分積が、第4の演算サイクルにおいて
第13部分積〜第16部分積がそれぞれ加算される。
【0102】更に第1演算サイクルでは、第2部分積〜
第4部分積に加えて、中間ラッチの初期値であるY<
1:0>×Xも加算される。前サイクルの演算結果の上
位は中間結果として次のサイクルの演算に加えられる。
最終の第4演算サイクルでは全ての加算が完了し、乗算
結果が得られる。
【0103】なお、上述の実施例では、2次のブースの
アルゴリズムを使用した乗算装置を例に上げたが、1次
のブースアルゴリズムを使用した乗算装置にも本発明は
適用できる。また上述の実施例では、部分積加算器にCS
A を使用した乗算装置を示したが、CPA のみを使用した
乗算装置にも適用できる。
【0104】更に CSAを利用して中間結果シフト回路が
キャリーとサムとを保存する構成の乗算装置では、乗数
の2ビット分の部分積を中間結果シフト回路の初期化に
よって演算することができる。このため、乗算の分割に
より乗数が1ビットないし2ビット余る場合に追加の加
算器を必要としない。
【0105】これに対し、 CPAを利用し、中間結果シフ
ト回路がキャリー演算の完了した中間結果を保存する構
成の乗算装置では、乗数の1ビット分の部分積のみを、
中間結果シフト回路の初期化によって演算することがで
きる。このため乗算を複数のサイクルに分割して実行す
ることにより乗数が1ビット余る場合に追加の加算器を
必要としない。
【0106】また、上述の実施例では、特に符号無しデ
ータを符号付きデータに変換して演算するために1ビッ
ト拡張した場合に効果があることを示した。しかし、本
発明は必ずしもそのような場合に限定されるものではな
く、乗算を複数サイクルに分割して実行する際の加算の
回数を削減する目的で広く適用可能である。
【0107】
【発明の効果】以上に詳述したように本発明の乗算装置
の第1の発明によれば、従来例に比して、乗数の符号拡
張回路のゲート数を少なくすることが可能になり、回路
の規模を縮小することが可能になる。
【0108】また第2の発明では、乗数の下位ビットに
対応する部分積は演算開始時に中間結果シフト回路にロ
ードされて第1演算サイクルにおいて加算回路に入力さ
れるため、この部分積については倍数生成回路が使用さ
れない。この結果、倍数生成回路に入力される乗数のビ
ット幅を実質的に減らすことができ、回路規模が削減さ
れる。また特に、部分積の数が乗算の演算サイクル分割
によって1余る場合には、部分積の内の最下位の1つが
シフト回路の初期化を利用して演算されるために、加算
回路を追加する必要が無くなる。
【図面の簡単な説明】
【図1】本発明に係る乗算装置の第1の発明の実施例の
一構成例を示すブロック図である。
【図2】図1に示されている乗算装置の一部である符号
拡張制御回路の動作を示す真理値表である。
【図3】符号拡張下位回路,符号拡張上位回路を論理ゲ
ートで構成した場合の構成を示す回路図である。
【図4】符号拡張下位回路,符号拡張上位回路を論理ゲ
ートで構成した場合の他の構成例を示す回路図である。
【図5】符号繰り上がり補正回路の他の構成例を示す回
路図である。
【図6】本発明に係る乗算装置の第2の発明の実施例の
一構成例を示すブロック図である。
【図7】図6に示されている乗算装置を構成する乗算ア
レイ回路の詳細な構成を示すブロック図である。
【図8】キャリーシフト回路の構成例を示すブロック図
である。
【図9】キャリーシフト回路の動作説明のための真理値
表である。
【図10】キャリーシフト回路を MOSトランジスタ回路
による実現した場合の回路構成例を示す回路図である。
【図11】本発明の乗算装置の第2の発明の4演算サイ
クルに分かれた演算動作の内容を示す模式図である。
【図12】本発明の乗算装置の第2の発明の4演算サイ
クルに分かれた演算動作の内容を示す模式図である。
【図13】従来一般的に用いられているブースアルゴリ
ズムを用いた乗算の方法を示す模式図である。
【図14】従来一般的に用いられているブースアルゴリ
ズムを用いた乗算の方法を示す模式図である。
【図15】16ビットの符号付きデータを32ビットの符号
付きデータに符号拡張する方法を示す模式図である。
【図16】8ビットの符号付きデータを32ビットの符号
付きデータに符号拡張する方法を示す模式図である。
【図17】従来の乗算装置の構成例を示すブロック図で
ある。
【図18】図17に示されている乗算装置を構成する符号
拡張制御回路の動作を説明するための真理値表である。
【図19】図17に示されている乗算装置を構成する符号
拡張上位回路の論理ゲートによる具体的な回路構成例を
示す回路図である。
【図20】32ビットの符号無し整数データを33ビット符
号付き数として扱うために必要な符号拡張を示す模式図
である。
【図21】33ビット×33ビットの乗算で生成される部分
積を示す模式図である。
【図22】従来の乗算装置の実現例を示すブロック図で
ある。
【図23】従来の乗算装置を構成する乗算アレイ回路の
詳細お示すブロック図である。
【図24】従来の乗算装置の乗算アレイ回路を構成する
キャリーシフト回路の構成例を示すブロック図である。
【図25】その動作説明のための真理値表である。
【図26】キャリーシフト回路を MOSトランジスタ回路
により実現した場合の回路構成例を示す回路図である。
【図27】図21の模式図に示されている乗算が図22に示
されている従来の乗算装置でどのように分割実行される
かを示す模式図である。
【図28】図21の模式図に示されている乗算が図22に示
されている従来の乗算装置でどのように分割実行される
かを示す模式図である。
【符号の説明】
1 乗数入力 2 被乗数入力 3 ハーフワードサイズ信号 4 バイトサイズ信号 5 乗数分割回路 6 乗数繰り上がりラッチ 7c, 7d 符号繰り上がり補正回路 8 符号拡張乗数信号 9a, 9b… ブースデコーダ 10 乗算アレイ回路 11a, 11b… 倍数生成回路 12a, 12b… 部分積加算回路 30 乗算結果出力 33 初期化制御入力 34 演算サイクル制御入力 40 中間結果シフト回路 50 符号拡張制御回路 60 符号拡張制御信号

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 乗数として入力される符号付きデータ
    と、乗数の有効ビット数を指定する乗数符号拡張制御信
    号で指定される最上位ビットである有効な符号ビットに
    従って符号拡張する乗数符号拡張回路と、 前記乗数符号拡張回路の出力を複数ビットずつ入力して
    ブースのアルゴリズムに従ってデコードする複数のブー
    スデコーダと、 前記複数のブースデコーダの出力と被乗数とを入力し、
    被乗数と乗数との積を出力する乗算アレイとを備えた乗
    算装置において、 前記乗数符号拡張回路は、乗数として入力されるデータ
    の内の有効でない上位ビットの全ての値を”1”また
    は”0”のいずれか一方の値に設定することにより乗数
    のデータを符号拡張すべくなしてあり、 更に、前記複数のブースデコーダそれぞれに入力される
    複数ビットの内の最下位ビットが符号ビットであるブー
    スデコーダに、前記最下位ビットに代えて前記乗数符号
    拡張回路により設定されている”1”または”0”の一
    方の値を入力する繰り上がり補正回路を備えたことを特
    徴とする乗算装置。
  2. 【請求項2】 被乗数と、乗数と、初期化制御信号と、
    演算サイクル制御信号とを入力し、乗数と被乗数とを乗
    算する乗算装置であって、 乗数として入力されるデータの内の最下位側の一部のビ
    ットを除く他のビットと、前記演算サイクル制御信号と
    を入力し、乗数のデータを複数ビットずつに分割し、分
    割されたそれぞれの複数ビットを前記演算サイクル制御
    信号の変化に同期して順次出力する乗数分割回路と、 前記乗数分割回路の出力をブースのアルゴリズムに従っ
    てデコードするブースデコーダと、 前記ブースデコーダの出力と被乗数とを入力し、被乗数
    の倍数を出力する倍数生成回路と、 前記倍数生成回路の出力を入力し、倍数を加算する加算
    回路と、 乗数のデータの最下位側の前記一部のビットと、被乗数
    と、前記初期化制御信号と、前記演算サイクル制御信号
    とを入力し、前記初期化制御信号が入力された場合はそ
    れに同期して前記一部のビットの値に応じて被乗数の値
    を保持し、以降は前記加算回路の出力を入力して一時保
    持し、保持している値を前記演算サイクル制御信号に同
    期して前記加算回路の入力に供給する中間結果シフト回
    路とを備えたことを特徴とする乗算装置。
JP5155181A 1993-06-25 1993-06-25 乗算装置 Pending JPH0713742A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5155181A JPH0713742A (ja) 1993-06-25 1993-06-25 乗算装置
US08/266,085 US5506799A (en) 1993-06-25 1994-06-24 Booth array multiplying circuit having carry correction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5155181A JPH0713742A (ja) 1993-06-25 1993-06-25 乗算装置

Publications (1)

Publication Number Publication Date
JPH0713742A true JPH0713742A (ja) 1995-01-17

Family

ID=15600262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5155181A Pending JPH0713742A (ja) 1993-06-25 1993-06-25 乗算装置

Country Status (2)

Country Link
US (1) US5506799A (ja)
JP (1) JPH0713742A (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870322A (en) * 1995-05-22 1999-02-09 Samsung Electronics Co., Ltd. Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US5825679A (en) * 1995-09-11 1998-10-20 Digital Equipment Corporation Fast sign extend for multiplier array sums and carrys
US5729485A (en) * 1995-09-11 1998-03-17 Digital Equipment Corporation Fast determination of carry inputs from lower order product for radix-8 odd/even multiplier array
JPH09269891A (ja) * 1996-04-01 1997-10-14 Hitachi Ltd 部分積加算方法および装置、浮動小数点乗算方法および装置、浮動小数点積和演算方法および装置
US5943250A (en) * 1996-10-21 1999-08-24 Samsung Electronics Co., Ltd. Parallel multiplier that supports multiple numbers with different bit lengths
US6085214A (en) * 1997-09-04 2000-07-04 Cirrus Logic, Inc. Digital multiplier with multiplier encoding involving 3X term
US6144980A (en) * 1998-01-28 2000-11-07 Advanced Micro Devices, Inc. Method and apparatus for performing multiple types of multiplication including signed and unsigned multiplication
US6173304B1 (en) * 1998-08-20 2001-01-09 Lucent Technologies, Inc. Joint optimization of modified-booth encoder and partial product generator
US6353843B1 (en) 1999-10-08 2002-03-05 Sony Corporation Of Japan High performance universal multiplier circuit
US20030200245A1 (en) * 2000-05-02 2003-10-23 Hung-Ming Chien Multiplier for non-integral multiplicators
US7853634B2 (en) * 2003-12-29 2010-12-14 Xilinx, Inc. Digital signal processing circuit having a SIMD circuit
US7882165B2 (en) * 2003-12-29 2011-02-01 Xilinx, Inc. Digital signal processing element having an arithmetic logic unit
US7840627B2 (en) 2003-12-29 2010-11-23 Xilinx, Inc. Digital signal processing circuit having input register blocks
US7870182B2 (en) * 2003-12-29 2011-01-11 Xilinx Inc. Digital signal processing circuit having an adder circuit with carry-outs
US8495122B2 (en) * 2003-12-29 2013-07-23 Xilinx, Inc. Programmable device with dynamic DSP architecture
US7480690B2 (en) * 2003-12-29 2009-01-20 Xilinx, Inc. Arithmetic circuit with multiplexed addend inputs
US7472155B2 (en) * 2003-12-29 2008-12-30 Xilinx, Inc. Programmable logic device with cascading DSP slices
US7860915B2 (en) * 2003-12-29 2010-12-28 Xilinx, Inc. Digital signal processing circuit having a pattern circuit for determining termination conditions
US7853632B2 (en) * 2003-12-29 2010-12-14 Xilinx, Inc. Architectural floorplan for a digital signal processing circuit
US7844653B2 (en) * 2003-12-29 2010-11-30 Xilinx, Inc. Digital signal processing circuit having a pre-adder circuit
US7840630B2 (en) * 2003-12-29 2010-11-23 Xilinx, Inc. Arithmetic logic unit circuit
US7567997B2 (en) * 2003-12-29 2009-07-28 Xilinx, Inc. Applications of cascading DSP slices
US7467175B2 (en) * 2003-12-29 2008-12-16 Xilinx, Inc. Programmable logic device with pipelined DSP slices
US7865542B2 (en) * 2003-12-29 2011-01-04 Xilinx, Inc. Digital signal processing block having a wide multiplexer
US7849119B2 (en) * 2003-12-29 2010-12-07 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit
US7853636B2 (en) 2003-12-29 2010-12-14 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit for convergent rounding
US7797366B2 (en) * 2006-02-15 2010-09-14 Qualcomm Incorporated Power-efficient sign extension for booth multiplication methods and systems
US7809783B2 (en) * 2006-02-15 2010-10-05 Qualcomm Incorporated Booth multiplier with enhanced reduction tree circuitry
US8543635B2 (en) * 2009-01-27 2013-09-24 Xilinx, Inc. Digital signal processing block with preadder stage
US8479133B2 (en) * 2009-01-27 2013-07-02 Xilinx, Inc. Method of and circuit for implementing a filter in an integrated circuit
JP5556890B2 (ja) * 2010-08-06 2014-07-23 株式会社島津製作所 四重極型質量分析装置
US11436399B2 (en) * 2018-12-12 2022-09-06 Intel Corporation Method and apparatus for performing multiplier regularization

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57141753A (en) * 1981-02-25 1982-09-02 Nec Corp Multiplication circuit
JP3033212B2 (ja) * 1991-01-31 2000-04-17 日本電気株式会社 乗算器
JPH05204609A (ja) * 1992-01-13 1993-08-13 Nec Corp 乗算回路

Also Published As

Publication number Publication date
US5506799A (en) 1996-04-09

Similar Documents

Publication Publication Date Title
JPH0713742A (ja) 乗算装置
JP3244506B2 (ja) 小型乗算器
JP3583474B2 (ja) 乗算装置
US5426598A (en) Adder and multiplier circuit employing the same
JPH0831025B2 (ja) 乗算回路
KR100305530B1 (ko) 배정밀도.단정밀도.내적연산 및 복소승산이 가능한 승산기
JP2970231B2 (ja) 並列乗算回路
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US4823300A (en) Performing binary multiplication using minimal path algorithm
JP3660075B2 (ja) 除算装置
JPH0546363A (ja) 除算器
JPH04256016A (ja) 2の補数の乗算器を無符号数の乗算を行うように修正する方法および装置
JP3579087B2 (ja) 演算器およびマイクロプロセッサ
US7051062B2 (en) Apparatus and method for adding multiple-bit binary-strings
Choo et al. A novel conversion scheme from a redundant binary number to two's complement binary number for parallel architectures
JP2734438B2 (ja) 乗算装置
JP2765516B2 (ja) 積和演算器
KR980010750A (ko) 트리회로
JPH0823814B2 (ja) 多重ディジット10進数を2進数に変換する装置および統一された比復号器
JP2777265B2 (ja) 高基数開平演算装置
JP3255251B2 (ja) 配列型桁上げ保存加算器を有する乗算器
JP3230349B2 (ja) 10進乗算器
JP3456450B2 (ja) 固定小数点乗算器および方法
JP3247759B2 (ja) 演算処理装置
JPH10312269A (ja) 積和演算器