JPH02247727A - 乗算装置及びその方法 - Google Patents

乗算装置及びその方法

Info

Publication number
JPH02247727A
JPH02247727A JP2038532A JP3853290A JPH02247727A JP H02247727 A JPH02247727 A JP H02247727A JP 2038532 A JP2038532 A JP 2038532A JP 3853290 A JP3853290 A JP 3853290A JP H02247727 A JPH02247727 A JP H02247727A
Authority
JP
Japan
Prior art keywords
multiplication
operand
partial
array
products
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
JP2038532A
Other languages
English (en)
Inventor
Son Dao-Trong
ソウン・ダオートラング
Klaus J Getzlaff
クラース・ジヨーグ・ゲツラーフ
Klaus Helwig
クラース・エルヴイグ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02247727A publication Critical patent/JPH02247727A/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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は乗算装置に関する。
B、従来の技術 本発明に開運する従来の乗算装置は、ヨーロッパ特許出
願第129039B1号に記載されている。この特許出
願に記載されている乗算装置において、ブース・アルゴ
リズム(Booth algorithm )に従って
動作するエンコード・ユニット(符号化装置)に、オペ
ランドYが印加され、そして、順序付けられたオペラン
ドの1対の数字、即ち数字対が形成される。これらの1
対の数字は、第2のオペランドXが供給される次の乗算
−加算器に印加される。この乗算−加算器において、オ
ペランドYは、エンコード・ユニットによって形成され
た1対の数字と乗算されて、一部分積が形成され、次に
、これらの部分積は最終積を形成するために、加算され
る。
上述の特許出願に記載されているように、この乗算装置
は、例えば10個の数字からなるオペランドのような小
数の数字を持つオペランドに適している。然しながら、
例えば60個の数字からなるオペランドのように大きな
数のオペランドに対しては、この特許出願に記載されて
いる乗算装置は、部分積を加算するのに非常に大きな処
理時間を必要とするという弱点を持っている。
C9発明が解決しようとする課題 本発明の目的は、大きな数の数字を含むオペランドの乗
算を、従来の装置よりも道かに小さな演算時間で処理す
ることの出来る乗算装置を提供することにある。
D0問題点を解決するための手段 本発明に従って、乗算ユニットを2つの乗算アレイに分
割することと、第2のオペランド(演算子)を形成する
係数を2つの乗算アレイに対応して与えることとによっ
て、2つの乗算アレイにおいて、第1のオペランドと夫
々の係数とを同時に乗算することと、次に、得られた部
分積を加算することが可能となる。その結果、夫々の1
つの部分完了積が、はぼ同時に、2つの乗算アレイの出
力に利用可能であり、上記の部分完了積は、乗算アレイ
に接続された論理ユニットにおいて、最終積に組合わさ
れる。2つのオペランドを時間的に並行させた上述の処
理によって、その後に部分積を加算する回数が減少され
、これは、転じて、乗算によって発生する遅延時間を大
幅に減少させる。
本発明の乗算装置の実施例において、複数個の論理ユニ
ットが設けられており、これによって乗算アレイによっ
て形成された2つの部分完了積の論理的な組合わせが実
行される。
本発明の乗算装置の他の実施例において、繰上げ加算ア
レイが、加算アレイによって部分的に発生された和及び
繰上げから最終積を発生するのに用いられる。
本発明の乗算装置の他の実施例において、エンコード・
ユニットにおいて使用されるアルプリズムに従った所定
の信号が供給される繰上げ修正ユニットが与えられてい
る。ブース・アルプリズムを適用することによって、繰
上げ修正ユニットは、次に低位の部分完了積と、次に低
位の部分完了積の最上位数字に関連された第2及び第3
加算アレイの特定の加算器の繰上げとが供給される。従
って、エンコード・ユニットにおいて最初に用いられた
アルプリズムを用いて、2つの部分完了積の論理的組合
わせが行われる。
本発明の乗算装置の他の実施例において、エンコード・
ユニットはブース・アルプリズムを用いることによって
、第2のオペランドから所定の出力信号を発生し、そし
て、エンコード・ユニットからの信号に従って乗算ユニ
ットが第1のオペランドの数字を選択する。上述のよう
に、出力信号を固定し、そして第1及び第2のすベラン
ドの数字を論理的に組合わせることによって、必要とす
るトランジスタの数を少なくすることが出来るので、本
発明の乗算装置の集積半導体構造において、乗算を実行
する回路に必要とする半導体の空間は小さくて済む。
本発明の乗算装置の他の実施例において、乗算アレイに
おいて発生された部分積は順次に加算され、そして得ら
れた部分積の符合は、2つの数字によって伝播されるの
で、部分積を加算するための加算器の数が少なくなり、
従って、集積回路における半導体の面積が減少される。
本発明の乗算装置の他の実施例において、繰上げのフィ
ードバックによって、部分完了積の表示が部分完了積の
最高位数字から発生されるような態様で乗算アレイが設
けられている。従って、部分完了積の発生において、他
の余分なステップを避けることが出来るので、乗算によ
り生じる時間的な遅延を減らすことが出来る。
本発明の乗算装置の他の実施例において、バッファが乗
算アレイに関連付けられている。従って、論理ユニット
が前のオペランドの論理組合わせを行っている間に、次
のオペランドを乗算アレイに供給することが可能である
E、実施例 第1図のブロック図で示した乗算装置は、乗算ユニット
(MULT)10と、エンコード・ユニット(ENCO
DE)12と、繰上げ加算器(cPA)15とを含んで
いる0乗算ユニット10は、バイナリ数字DO乃至D5
9で構成される第1のオペランド(MAND)としての
被乗数が供給される。エンコード・ユニット12は、バ
イナリ数字CO乃至C57で構成される第2のオペラン
ド(MIER)である乗数が供給され、これにより、乗
数の数字CO乃至C28と、C29乃至C57とが夫々
組合わせられる。以下の説明において使用される記号、
例えばDOや、COのような数字「0」を持つ記号が付
されたビットは、最上位のビットである。
後述されるように、エンコード・ユニット12は、乗数
の数字CO乃至C28と、C29乃至C57とから、ブ
ース・アルプリズムに従った特定の出力信号を発生する
。第1図において、エンコード・ユニット12の出力信
号は、参照記号IX、2X、TX%TIXで表わされて
おり、これらの1組の出力信号は、数字CO乃至C1と
、C1乃至C3等々、そして、C29乃至C30と、C
30乃至C32等々に関連付けられている0乗数、CO
乃至C28及びC29乃至C57から誘導された出力信
号は、乗算ユニット10に印加される。
乗算ユニット10は2つの乗算アレイ、即ち参照数字2
0で示した乗算アレイA及び参照数字22で示した乗算
アレイBと、乗算アレイ20及び22に関連している2
つのバッファ21及び23と、論理ユニット25とで構
成されている。乗数の数字CO乃至C28に属するエン
コード・ユニット12の出力信号は、乗算アレイ20に
印加されるが、他方、乗数、C29乃至C57に属する
エンコード・ユニット12の出力は、乗算アレイ22に
印加される。後述されるように、乗数の数字CO乃至0
28と、C29乃至C57とは、2つの乗算アレイ20
及び22の中の被乗数の数字DO乃至D59と乗算され
る。これらの乗算の結果、数字ATO乃至AT88で構
成される部分完了積は、乗算アレイ20の出力で利用可
能であり、数字BTO乃至BT88で構成される部分完
了積は、乗算アレイ22の出力で利用可能である。
2つの部分完了積、ATO乃至AT88と、BTO乃至
BT88とは、バッファ・メモリ21及び23に記憶さ
れる。
部分完了積ATO乃至AT88と、BTO乃至BT88
とは、第1の加算アレイC5Al (参照数字27)と
、第2の加算アレイC3A2(参照数字28)と、第3
の加算アレイC3A3(参照数字29)と、第4の加算
アレイHA4 (参照数字30)を含む論理ユニット2
5に印加される。
第1図に示したように、これらの4つの加算アレイ27
.28.29及び30は、論理ユニット25に供給され
た入力信号から、参照数字SCO乃至5C117で示さ
れた多数の出力信号を発生する。
更に、論理ユニット25は、出力信号CPCTRLを発
生する繰上げ修正ユニットCMC32を含む。
論理ユニット25の出力信号SCO乃至5C117と、
CP CT RL、とけ、繰上げ加算アレイ(cPA)
15の入力に印加され、繰上げ加算アレイ15は、上述
の入力信号から、被乗数及び乗数の積に対応するバイナ
リ数字PO乃至P117で構成される出力信号PROD
を発生する。
第2A図に示した表と、第2B図に与えられた算術演算
の例とを参照して、ブース・アルゴリズムを以下に説明
する。このアルプリズムにおいて、1対の数字は以下の
ように形成される。
C56乃至C57とC27乃至C28との対、C54乃
至C55とC25乃至C26との対、等々である。
一般的に表現すると、これらの1対の数字は以下の通り
である。
I=57.55.53等々と、 1=28.26.24等々とを有する、C1−1乃至C
1の数字の対である。
夫々次の数字CI+1をこれらの1対の数字に加算する
。これらの3つの数字、C1−1、C1、CI+1から
、第2A図の表に従った特定の係数が、夫々のバイナリ
値の関数として得られる。
これらの係数によって、第2B図に示された算術演算の
例のように、被乗数がこれらの係数と乗算される。第2
B図において、乗数は、1対の数字に分割されて、各数
字の対に対して付加的な数字が関連付けられる。第2A
図の表に従って、被乗数と乗算されるべき夫々1つの係
数を誘導し、得られた部分積が、数字の夫々の数によっ
てシフトされ、これによって、乗数の夫々の1対の数字
もまたシフトされる。第2B図において、夫々の係数に
開運した部分積は、参照数字PPI乃至PP5によって
示されている0部分積PP3及びPP4において丸で囲
まれた「1」は、これらの部分積がマイナスの符合を持
っていることを表わしている。
次に、部分積PPI乃至PP5は、加算されて、部分和
S1乃至S3を形成する。部分積のマイナス符合は、部
分和の最高位数字の和、または繰上げが他の2つの数字
によって伝播されたものにおいて考慮される0部分和S
3と部分積PP5とを加算して最終積BPを得る際に、
若し、繰上げがあれば、この繰上げは、使用されている
ブース・アルゴリズムによって無視され、この結果は第
2B図の符合Xによって表示されている。符号Xを持っ
た数字以外の最終積EPは、被乗数と乗数の積を表わす
第2A図の表に従った係数において、乗数の数字CO乃
至C28と、C29乃至C57とは、エンコード・ユニ
ット12においてエンコードされる。この係数は、上述
した出力信号IX、2X、TX、TIXの形式で表わさ
れ、そして、上述した仕様に従って、−組の出力信号が
、lに属する各グループの数字に関連付けられる。
エンコード・ユニットによって発生された係数と、被乗
数との乗算は、乗算アレイ20.22において実行され
る。乗算アレイ20は、乗数の数字CO乃至C28と関
連した係数が供給され、そして、乗算アレイ22は、乗
数の数字C29乃至C57と関連した係数が供給される
。乗算は、乗算アレイ20.22中に含まれている選択
回路(MUX)によって行われ、その選択回路のうちの
1つが参照数字35によって、第3A図のブロック回路
図で示されている。
第3A図に示されている選択回路35は、エンコード・
ユニット12の出力信号IX、2X%TX、TIXと、
被乗数の相次ぐ2つの数字DI、D I+1とが供給さ
れ、そして、これらの出力信号と、被乗数の与えられた
数字とは、1に属する乗数のグループに夫々関連付けら
れる。これらの入力信号から、選択回路35は、第3B
図の表において与えられた態様で出力信号rOUTJを
発生する。
出力信号IX及び2Xの両方がOならば、被乗数は係数
「0」で乗算される。若し、出力信号IXが1ならば、
被乗数は、係数「1」で乗算されるか、または係数「−
1」で乗算される。然しながら、若し、出力信号2Xが
1であるならば、被乗数は係数「2」で乗算されるか、
または係数「−2」で乗算される。出力信号TX及びT
IXは、上述の係数が正であるか、または負であるかを
決定する。若し、T Xが1であるならば、係数「−1
」が選択され、若し、係数TIXが1であるならば、係
数「−2」が選択される。
後述するけれども、被乗数の各数字は関連した選択回w
i35を持っている。若し、この選択回路35に係数「
1」を表わす入力信号が印加されたならば、選択回路8
5は、被乗数の数字DIを出力に切り換える。これは、
被乗数に対して1を乗算することに対応する。他方、若
し、選択回路35の入力信号が係数「2」を表わすなら
ば、被乗数の数字D1+1を、出力信号として通過する
この数字D I+1は、被乗数の数字D1よりも1数字
だけ低い値を持っている。従って、数字DI+1を、選
択回路35の出力に切り換えることは、1数字だけ高い
値に被乗数をシフトすることとなり、これは、転じて、
被乗数に対して2を乗算することに対応する。若し、選
択回路35の入力信号が、係数「−1」、またはr =
 2 Jを表わすならば、被乗数の対応する否定形の数
字DiF及びDi+IFは、出力において「OUT」信
号が発生される。
第3C図及び第3D図と、第3E図及び第8F図は選択
回路35の2つの実施例を示している。
第3C図に示した実施例において、信号DI及びTXと
、信号DI+1及びTIXとは、夫々排他的オア・ゲー
ト37及び38に印加され、それらのゲートの出力信号
は、夫々アンド・ゲート39及び40に夫々印加される
。更に、アンド・ゲート39は信号1、Xが印加され、
そしてアンド・ゲート40は信号2Xが印加される。ア
ンド・ゲート39及び40の出力は、否定オア・ゲート
41に接続されており、否定オア・ゲート41の出力に
おいて、否定信号0UTFが発生される。
第3C図の選択回路35は、、0MO8技術による第3
D図に従った回路形式で実現化することが出来る。第3
D図において、トランジスタ50.51.52.53と
、トランジスタ55.56.57.58とが、夫々直接
接続された回路を形成している。トランジスタ50.5
1.52.53はP型トランジスタであり、トランジス
タ55.56.57.58はN型トランジスタである。
被乗数の数字DIはトランジスタ50と、トランジスタ
51のゲートとに供給され、否定形の数字DIFはトラ
ンジスタ52のゲートと、トランジスタ53とに供給さ
れる。同じように、数字DI+1と、否定形の数字D!
+IFとは、トランジスタ55.56と、トランジスタ
57.58とに接続される。信号TXは、トランジスタ
51.52の接続点に接続されている2つのトランジス
タ50.53のゲートに印加される。同じように、信号
TIXはトランジスタ55.58と、トランジスタ56
.57とに印加される。更に、トランジスタ60.61
.62.63と、トランジスタ65.66.67.68
とは、夫々正電圧源とアースとの間で直列に接続されて
いる回路を形成している。トランジスタ60.61.6
5.66はP型トランジスタであり、トランジスタ62
.63.67.68はN型トランジスタである。トラン
ジスタ60.62のゲートは、トランジスタ50.51
の接続点と、トランジスタ52.58の接続点とに接続
されている。同じように、トランジスタ66.68のゲ
ートは、トランジスタ55156の接続点と、トランジ
スタ57.58の接続点とに接続されている。トランジ
スタ61.67のゲートは、信号2Xが印加されており
、トランジスタ63.65のゲートは、信号IXが印加
されている。トランジスタ62.63の接続点と、トラ
ンジスタ67.68の接続点とは、相互接続されている
。同様に、トランジスタ61.62の接続点と、トラン
ジスタ66.67の接続点とは、相互接続されており、
それらの相互接続点には、出力信号0UTFが発生され
る。
第3E図に示された選択回路35の実施例におイテ、信
号Dl及びTXと、DI+1及びTIXとは、排他的ノ
ア・ゲート43.44に夫々印加され、排他的ノア・ゲ
ート43及び44の出力は、オア・ゲート45.46に
夫々印加される。オア・ゲート45.46の出力は否定
アンド・ゲート47に接続され、否定アンド・ゲート4
7から選択回路の出力信号が発生される。
第3E図の選択回路35は、第3F図に示した回路によ
って集積回路化することが出来る。第3F図の回路はト
ランジスタ70乃至73と、トランジスタ75乃至78
と、トランジスタ80乃至88と、トランジスタ85乃
至88とを含んでいる。これらのトランジスタの相互接
続は、第3D図の回路の相互接続と対応している。また
、第3F図に示した信号TX及びTIXは、第3D図の
回路と同じように印加される。
第3F図の回路において、信号DI、DIF。
DI+1及びDI+IFは、第3D図の信号と比較して
、常に否定形の信号である。第3D図に示した回路の信
号2X及びIXの代りに、否定形の信号IXF及び2X
Fは、第1図の回路の同じ位置に印加される。出力信号
として、信号rOUTJが、第3F図の回路の出力端子
に発生される。
第4図において、乗算アレイ20.22のうちの1つが
ブロック図で示されている。これらの乗算アレイ20.
22の各々は、行及び列に配列された複数個の加算器9
0を含んでいる。複数の加算器90が特定の参照数字9
1乃至98によって、第4図に示されている。
第4図の乗算アレイの各列は、バイナリ数字に開運付け
られており、最高位の数字は、第4図において、左側に
配列されている。与えられた乗算アレイの各行において
、被乗数の数字DO乃至D59は、乗数の数字CO乃至
C57に属する係数で乗算され、そして前の部分積に夫
々加算される。
この目的のために、夫々1つの選択回路35が、加算器
90の入力に対して直列に配列され、そして夫々の位置
の乗算は、その選択回路によって遂行され、他方、加算
器90の他の入力は、前の部分積の対応する数字が夫々
印加される。
第4図において、上部から下部に相互に相次いで連続し
ている行は、高位値に向かう夫々2つの数字によって、
乗数の数字に対する行の相関に従って、それらの加算器
90に対してシフトされる。
負の部分積の場合において、第2図の算術演算の例に開
運して説明された2つの数字による伝播は、第4図の乗
算アレイにおいて遂行される。この乗算アレイにおいて
、例えば加算器92の出力信号、即ち和及び繰上げは、
加算器94.95及び96の対応する入力に印加される
第4図の乗算アレイにおいて、部分積の加算から得られ
た結果は、最底部のライン中の個々の列に配列されてい
る加算器90の出力において利用可能である。最終結果
の積は、各列において、−即ち各数字において、次の低
位の数字から得られた和の数字Sと、1つの繰上げ数字
Cとで構成される。既に述べたように、乗算アレイ20
は部分完了積ATO乃至AT88を作成し、そして乗算
アレイ22は部分完了積BTO乃至BT88を作成する
他の出力信号として、第4図に示された乗算アレイは、
加算器98によって、信号SPを発生する。若し、加算
器97から繰上げがあるか、または加算器93の出力信
号の1つが論理「1」であれば、上述の信号SPは、論
理「1」である、これらの2つの出力信号は、加算器9
1が入力信号として論理「O」を供給されるので、同時
に論理「1」にはなり得ない。その結果加算器91中の
加算の結果は、2の数値を絶対に越えることはない、2
つの数字によって加算器91の出力信号の伝播によって
、加算器92の入力信号の1つは、常に論理「0」にあ
るから、加算器92における加算演算は、2の数値を絶
対に越えることはない。
この機能は加算器93に対する相次ぐ下位のライン上に
続けられる。上述したように、加算器93の2つの出力
信号の1つは、常に論理「0」にある、従って、加算器
98の出力信号SPは、最後のラインであるが、併し、
加算器97を含む最後のラインからの切り上げを持つ加
算器93を含む1つのラインの符合のオア論理演算を表
わす。
被乗数及び乗数の係数からの2つの部分完了積ATO乃
至AT88と、BTO乃至BT88の組合わせは、時間
に対して並列モードで、即ち、はぼ同時に、2つの乗算
アレイ20.22で計算される。従って、部分完了積A
TO乃至AT88と、BTO乃至BT88とは、バッフ
ァ・メモリ21.23に記憶するためと、更に処理する
ために、乗算アレイ20.22の出力において、殆ど同
時に利用可能である。
第5A図及び第5B図は、2つの部分完了積ATO乃至
AT88と、BTO乃至BT88とを最終積PO乃至P
117に論理的に組合わせるための論理を示す図である
。2つの部分完了積は夫々、和の数字O乃至88と、繰
上げの数字0乃至62とを含んでいる。BTO乃至BT
88の和の数字63乃至88は、最終積PO乃至P11
7の数字P92乃至P117の直接の表示である。
BTO乃至BT88の和及び繰上げ数字60乃至62は
、繰上げ加算アレイ15に印加され、そして最終積PO
乃至P117の数字P89乃至P91に転送される。繰
上げ加算フィールド15は複数個の加算器を含んでおり
、それらの加算器によって、個々の数字からの繰上げは
次の、より高位の数字に夫々加算される。
部分完了積ATO乃至AT88の和の数字63乃至88
と、部分完了積BTO乃至BT88の繰上げ数字34乃
至59とは、複数個の加算器101t!:含む第1加算
アレイC5Al、C3A27に印加される0部分完了積
ATO乃至AT88及びBTO乃至BT88の数字に従
って、相互に対応する和の数字と、部分完了積の次に低
位の数字の繰上げ数字とが、各加算器110に供給され
る。
第1加算アレイ27の加算器101は、各数字において
、和及び繰上げを構成している第1の中間積5C63乃
至5C88を形成する。更に、この第1の中間積は、繰
上げアレイ15において、最終積PO乃至P117の数
字PO3乃至P88に処理される。
部分完了積ATO乃至AT88の和及び繰上げ数字28
乃至62と、部分完了積BTO乃至BT88の和及び繰
上げ数字O乃至33とは、第2及び第8の加算アレイC
5A2.28及びC5A3.29に印加される。加算ア
レイ28.29は、個々の数字に関連した複数個の加算
器102.103を含んでいる。加算アレイ28の加算
器102において、2つの部分完了積ATO乃至AT8
8及びBTO乃至BT88と、部分完了積BTO乃至B
T8の次の低位繰上げ数字とに従って、相互に対応した
和の数字は、和及び繰上げの各数字で構成する第2の中
間結果に加算される。第3の加算アレイ29の加算器1
03において、第2の中間積の数字一対応相と、第2の
部分積の次に低位の繰上げと、部分完了積ATO乃至A
788の次に低位の繰上げ数字とは、第3の中間結果5
C28乃至5C62を形成するために加算され、そして
、第3の中間積は、各数字において和及び繰上げを構成
し、そして、次の繰上げ加算アレイ15において、最終
積PO乃至P117の数字P28乃至P62に転換され
る。
部分完了積ATO乃至AT88の和及び繰上げ数字0乃
至27は、第4の加算アレイ(HA4)30に印加され
る。それは、複数個の半分加算器104を含んでいる。
夫々の半分加算器104において、次に低位の繰上げ数
字が和の数字に加算される。第4の加算アレイ30は、
各数字において、和及び繰上げを構成している第4の中
間積SCO乃至5C27を形成する。この第4の中間積
は、繰上げアレイにおいて、最終積PO乃至P117の
数字PO乃至P27中に変換される、第2B図の算術演
算の例に関連して説明されたように、記号「X」を付さ
れた繰上げは最終積EPの最上位数字において無視され
ねばならない。
これは、第5B図に示した繰上げ修正ユニット32によ
って行われる。
この繰上げ修正ユニット32は、乗算アレイ22と、第
2の加算アレイ28の最上位加算器102からのCF記
号付きの繰上げと、第3の加算アレイ29の数字一対応
加算器103のC8記号付きの繰上げとによって発生さ
れる信号SPが供給される。これらの入力信号は、修正
繰上げユニット32によって、信号SPM=CTRL%
CFM及びC5Mに修正される。信号SPMは繰上げ加
算器15のアレイに印加され、信号CMFは第3の加算
器29のアレイの最上位加算器108に印加され、そし
て信号CMSは、第3の加算器29のアレイの繰上げと
して、線上げ加算器15のアレイに印加される。
上述の与えられた信号と、繰上げ修正ユニット32の出
力信号との論理的組合わせは、第6A図のブロック図に
示されている。インバータ110は、信号SPが供給さ
れる。インバータ110の出力は、アンド・ゲート11
1と、オア・ゲート112と、他のオア・ゲート114
とに接続されている。信号CFはアンド・ゲート111
と、オアゲート112と、オア・ゲート114の入力に
印加される。信号C8はオア・ゲート114の入力と、
他のアンド・ゲート113の人力に印加される。このア
ンド・ゲート113の他の入力はオア・ゲート112の
出力に接続される。アンド・ゲート111の出力におい
て、信号CFMが利用可能であり、アンド・ゲート11
3の出力において、信号C5Mが利用可能であり、オア
・ゲート114の出力において、信号CPCTRLが利
用可能である。
従って、繰上げ修正ユニット32は以下の機能を遂行す
る。
C8M=SPF−CFと、 C8M= (SPF+CF )・CSと、SPM=CP
CTRL=SPF+CF+C3とである。
上式中、「・」=アンドであり、「+」=オアである。
繰上げがrXJの記号を持っていることを、繰上げ修正
ユニット32が表示したならば、第2B図の算術演算を
参照して説明したように、これは無視されなければなら
ない、この動作は信号CPCTRLによって行われる。
この目的のために、人力信号CPCTRLの機能として
、ビット位置29を修正する第6B図の回路に従って、
アンド・ゲート118が繰上げ加算器15のアレイに与
えられる。
第6C図及び第6D図は繰上げ修正ユニット3202つ
の実施例を示すブロック図である。
第6C図の回路は、2つの否定オア・ゲート120.1
22と、アンド・ゲート121と、他の否定アンド・ゲ
ート123とを含んでいる。信号SPはオア・ゲート1
20と、アンド・ゲート121と、アンド・ゲート12
3とに印加される。
否定信号C5Sは上述の素子に対応して供給される。否
定信号C8Fはオア・ゲート122と、アンド・ゲート
123に印加される。オア・ゲート122の他の入力は
、アンド・ゲート121の出力に接続されている。オア
・ゲート120の出力において、信号CFMが発生され
、オア・ゲート122の出力において、信号C5Mが発
生され、アンド・ゲート123において、CPCTRL
が発生される。
第6B図の回路は4(11のアンド・ゲート130゜1
31.132,133を含み、夫々の入力は反転モード
に切り換えられる。信号SPはアンド・ゲート130の
非反転入力に印加され、そして、アンド・ゲート133
の反転入力に印加される。
信号CFはアンド・ゲート130の反転入力と、アンド
・ゲート、133の非反転入力に印加される。
アンド・ゲート130の出力は、アンド・ゲート131
の非反転入力と、アンド・ゲート132の反転入力に接
続される。信号C8はアンド・ゲート131の反転入力
に接続され、そしてアンド・ゲート132の非反転入力
に接続されている。アンド・ゲート131の出力におい
て、信号CPCTRLが与えられ、アンド・ゲート13
2の出力において、C8Mが与えられ、アンド・ゲート
133の出力において、CFMが与えられる。
F0発明の効果 本発明の乗算装置は、大きな数の数字を含むオペランド
の乗算を、従来の装置よりも遥かに短い演算時間で処理
することの出来る乗算装置を提供し、しかも、本発明の
乗算回路を集積回路化した場合、その集積回路が占める
半導体上の面積は、従来よりも小さい。
【図面の簡単な説明】
第1図は本発明の乗算装置のブロック図、第2A図は第
2の被乗数の数字と乗算アレイに適用される係数との間
の関係を示す説明図、第2B図は第2A図の係数の発生
により2つの被乗数を乗算する例を示す説明図、第3A
図は選択回路のブロック図、第3B図は第2A図に従っ
て形成された係数の関数として選択回路の出力信号を与
えることを示す説明図、第3C図乃至第3F図は選択回
路の論理回路を示すブロック図、第4図は2つの乗算ア
レイのうちの1つを示すブロック図、第5A図は乗算ア
レイによって形成された2つの部分完了積の論理的組合
わせを示す説明図、第5B図は乗算アレイによって形成
された2つの部分完了積の論理的組合わせを行う論理回
路を示すブロック図、第6A図は繰上げ修正ユニットの
論理回路を示すブロック図、第6B図は繰上げ加算プレ
イの一部の論理回路を示すブロック図、第6C図及び第
6D図は第6A図に示した繰上げ修正ユニットの実施例
の論理回路を示すブロック図である。 10・・・・乗算ユニット、12・・・・エンコード・
ユニット、15・・・・繰上げ加算器、20.22・・
・・乗算アレイ、21.23・・・・バッファ・メモリ
、27.28.29.30・・・・加算器のアレイ、2
5・・・・論理ユニット、32・・・・繰上げ修正アレ
イ、35・・・・選択回路、 90乃至98・・・・加算器。 インターナショナル・ビジネス・ マシーンズ・コーポレーション 弁理士  頓  宮  孝  − (外1名) X、2X、TX、TIX 被を教 PPI P2 ooooooo。 ′gI& 較 ト1も。 lじ υワ0 φQ く Oコ

Claims (2)

    【特許請求の範囲】
  1. (1)第1のオペランドと第2のオペランドとを乗算す
    るための乗算装置において、 (A)与えられたアルゴリズムに従つて、上記第2のオ
    ペランドの数字から係数を発生するために、上記第2の
    オペランドが供給されるエンコード・ユニットと、 (B)上記係数と上記第1のオペランドとを乗算し、且
    つ計算された部分積を最終積に加算するために、上記エ
    ンコード・ユニットによつて発生された上記係数と上記
    第1のオペランドとが供給される乗算ユニットとからな
    り、 (a)上記乗算ユニットは2つの乗算アレイが与えられ
    ており、各乗算アレイは上記第1のオペランドが供給さ
    れることと、 (b)一方の乗算アレイは上記第2のオペランドの最上
    位の数字に属する係数が供給され、且つ他方の乗算アレ
    イは上記第2のオペランドの最下位の数字に属する係数
    が供給されることと、 (c)各乗算アレイは上記第1のオペランドと上記係数
    とを乗算し、且つ同時に、計算された部分積を部分完了
    積に加算することと、 (d)上記エンコード・ユニットにおいて使用された上
    記アルゴリズムに従つて、上記部分完了積を上記最終積
    に論理的に組合わせるために、上記乗算アレイによつて
    発生された上記部分完了積が論理ユニットに供給される
    ことと、 を特徴とする乗算装置。
  2. (2)第1のオペランドと第2のオペランドとを乗算す
    るための乗算方法であつて、所定のアルゴリズムの係数
    に従つて、第2のオペランドの数字の係数が形成され、
    第1のオペランドが上記係数と乗算され、そして、受け
    取つた部分積が最終積に加算される乗算方法において、 (a)第1のオペランドは、第2のオペランドのより上
    位数字に属する係数と乗算されると同時に、第2のオペ
    ランドのより低位の数字に属する係数と乗算されること
    と、 (b)得られた部分積は夫々の部分完了積に加算される
    ことと、 (c)2つの部分完了積は上記アルゴリズムに従つて最
    終積に論理的に組合わされることと、を特徴とする乗算
    方法。
JP2038532A 1989-02-21 1990-02-21 乗算装置及びその方法 Pending JPH02247727A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP89102956A EP0383965A1 (de) 1989-02-21 1989-02-21 Multiplizierwerk
EP89102956.3 1989-02-21

Publications (1)

Publication Number Publication Date
JPH02247727A true JPH02247727A (ja) 1990-10-03

Family

ID=8200985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2038532A Pending JPH02247727A (ja) 1989-02-21 1990-02-21 乗算装置及びその方法

Country Status (5)

Country Link
US (1) US5070471A (ja)
EP (1) EP0383965A1 (ja)
JP (1) JPH02247727A (ja)
BR (1) BR9000776A (ja)
CA (1) CA2006228C (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2838326B2 (ja) * 1991-04-16 1998-12-16 三菱電機株式会社 ディジタル乗算器
KR950001055B1 (ko) * 1992-05-26 1995-02-08 삼성전자 주식회사 승산방법 및 회로
JP2859779B2 (ja) * 1992-06-17 1999-02-24 三菱電機株式会社 乗算器
US5375078A (en) * 1992-12-15 1994-12-20 International Business Machines Corporation Arithmetic unit for performing XY+B operation
US5661673A (en) * 1995-08-31 1997-08-26 National Semiconductor Corporation Power efficient booth multiplier using clock gating
US6085213A (en) * 1997-10-23 2000-07-04 Advanced Micro Devices, Inc. Method and apparatus for simultaneously multiplying two or more independent pairs of operands and summing the products
US6223198B1 (en) 1998-08-14 2001-04-24 Advanced Micro Devices, Inc. Method and apparatus for multi-function arithmetic
US6269384B1 (en) 1998-03-27 2001-07-31 Advanced Micro Devices, Inc. Method and apparatus for rounding and normalizing results within a multiplier
US6115732A (en) * 1998-05-08 2000-09-05 Advanced Micro Devices, Inc. Method and apparatus for compressing intermediate products
EP1031073B1 (en) * 1997-10-23 2003-09-24 Advanced Micro Devices, Inc. A method and apparatus for multi-function arithmetic
US6134574A (en) * 1998-05-08 2000-10-17 Advanced Micro Devices, Inc. Method and apparatus for achieving higher frequencies of exactly rounded results
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
US6115733A (en) * 1997-10-23 2000-09-05 Advanced Micro Devices, Inc. Method and apparatus for calculating reciprocals and reciprocal square roots
US6393554B1 (en) 1998-01-28 2002-05-21 Advanced Micro Devices, Inc. Method and apparatus for performing vector and scalar multiplication and calculating rounded products
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
US7225217B2 (en) * 2001-10-09 2007-05-29 The Regents Of The University Of California Low-power Booth-encoded array multiplier
US9607586B2 (en) 2014-02-18 2017-03-28 Apple Inc. Asymmetric circuitry

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60205746A (ja) * 1984-03-30 1985-10-17 Toshiba Corp 配列乗算器
JPS62229440A (ja) * 1986-03-31 1987-10-08 Toshiba Corp 配列乗算器
JPS6355627A (ja) * 1986-08-27 1988-03-10 Toshiba Corp 半導体論理演算装置
JPS63292324A (ja) * 1987-05-11 1988-11-29 ユナイテツド テクノロジーズ コーポレーション 2進乗算器回路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57134774A (en) * 1981-02-13 1982-08-20 Hitachi Ltd Vector operating device
US4484301A (en) * 1981-03-10 1984-11-20 Sperry Corporation Array multiplier operating in one's complement format
JPS6297033A (ja) * 1985-10-24 1987-05-06 Hitachi Ltd 乗算装置
GB2189630B (en) * 1986-04-23 1990-02-14 Stc Plc Multiplier
US4831577A (en) * 1986-09-17 1989-05-16 Intersil, Inc. Digital multiplier architecture with triple array summation of partial products

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60205746A (ja) * 1984-03-30 1985-10-17 Toshiba Corp 配列乗算器
JPS62229440A (ja) * 1986-03-31 1987-10-08 Toshiba Corp 配列乗算器
JPS6355627A (ja) * 1986-08-27 1988-03-10 Toshiba Corp 半導体論理演算装置
JPS63292324A (ja) * 1987-05-11 1988-11-29 ユナイテツド テクノロジーズ コーポレーション 2進乗算器回路

Also Published As

Publication number Publication date
BR9000776A (pt) 1991-01-22
CA2006228A1 (en) 1990-08-21
CA2006228C (en) 1994-10-25
EP0383965A1 (de) 1990-08-29
US5070471A (en) 1991-12-03

Similar Documents

Publication Publication Date Title
JPH02247727A (ja) 乗算装置及びその方法
Townsend et al. A comparison of Dadda and Wallace multiplier delays
JPH1195981A (ja) 乗算回路
JPS6347874A (ja) 算術演算装置
JPH0447849B2 (ja)
JPS635774B2 (ja)
Stelling et al. Implementing multiply-accumulate operation in multiplication time
JP2970231B2 (ja) 並列乗算回路
US5867412A (en) Modular multiplication device for information security
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JP3660075B2 (ja) 除算装置
JPH08314697A (ja) 符号付き/符号なし数兼用乗算器
JPH0464091B2 (ja)
Shawl et al. Implementation of Area and Power efficient components of a MAC unit for DSP Processors
US5954791A (en) Multipliers with a shorter run time
JPH11134175A (ja) 乗加減算器及び演算器
JPS6222178A (ja) 2つの複素数の乗算のための乗算器
JP3201231B2 (ja) 単位加算器
JP3315042B2 (ja) 乗算装置
JP2734438B2 (ja) 乗算装置
JPH10198552A (ja) 乗算器
JPH02148326A (ja) 乗算器
JPS61246837A (ja) 並列乗算器
SU467356A1 (ru) Устройство дл вычислени быстрого преобразовани фурье
JPS6158036A (ja) 乗算器