JPH0844540A - 並列乗算論理回路 - Google Patents

並列乗算論理回路

Info

Publication number
JPH0844540A
JPH0844540A JP7202804A JP20280495A JPH0844540A JP H0844540 A JPH0844540 A JP H0844540A JP 7202804 A JP7202804 A JP 7202804A JP 20280495 A JP20280495 A JP 20280495A JP H0844540 A JPH0844540 A JP H0844540A
Authority
JP
Japan
Prior art keywords
circuit
signals
logic
signal
adder
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
JP7202804A
Other languages
English (en)
Inventor
Philippe Parent
パラン フィリップ
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.)
STMicroelectronics SA
STMicroelectronics lnc USA
Original Assignee
SGS Thomson Microelectronics SA
SGS Thomson Microelectronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SGS Thomson Microelectronics SA, SGS Thomson Microelectronics Inc filed Critical SGS Thomson Microelectronics SA
Publication of JPH0844540A publication Critical patent/JPH0844540A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49963Rounding to nearest
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)【要約】 【構成】 ブース(Booth) デコーダと、部分積ジェネレ
ータと、計算及びフォーマッティング回路を備える乗算
回路を開示する。計算回路内にインクリメント装置を一
体的に搭載して、丸められた結果を得ることが望ましい
時に、予想されたインクリメントを可能にすることを提
案する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列乗算論理回路に関
するものである。
【0002】
【従来の技術】集積回路の応用技術の開発の主な目的
は、処理速度を大きくすることである。さらに詳しく言
えば、この開発が関係する分野は、特にマイクロコント
ローラまたはマイクロプロセッサまたはデジタル信号プ
ロセッサ(DSP)によるデジタルデータ処理である。
これらの回路は、多くの場合特に一連の論理信号X及び
Yの処理演算の実行と一連の出力論理信号Pの生成を可
能にして、その結果、これらの一連の(物理)信号が各
々Xd、Yd及びPdの参照番号を付した2進数データ要
素を示すようにする乗算回路である。但し、Xd、Yd
びPdは下記のとおりである:Xd及びYdは2進数オペ
ランド(被乗数Xd=(xd,n-1、xd,n-2、・・・、x
d,1、xd,0)及びnビット乗数(Yd=(yd,n-1、y
d,n-2、・・・、yd,1、yd,0)、但しnは整数)であ
り、Pdは2*nビットにエンコードされた2進数の結
果(Pd=Xd*Yd=(pd,2n-1、pd,2n-2、・・・、
d,1、pd,0))である。従来、nは偶数の整数であ
り、最も通常には2の累乗、例えば16である。
【0003】2進数乗算の基本技術は、Pd=Xd*Yd
=Σi d,1*2i (但し、Pd,1=Xd*yd,1(但し、
d,1は乗数の(i+1)番目のビット(但し、iは0
〜n−1の整数)を参照する))を計算することであ
る。nビットにエンコードされた2進数データ要素であ
るPd,1(Pd,1=0またはxd )は、通常、部分積と呼
ばれる。部分積の加算数を減少させることによって処理
時間を短くするために部分積の数を減少させることがで
きる技術がある。特に価値のある技術は、ブース(Boot
h) デコード演算として知られていることを実行するこ
とである(エー.ディ.ブース(A.D.Booth) 「符号化さ
れた2進数乗算技術(A signed binary multiplication
technique)」Quart.J.Meth.Appl.、4、Pt2、236 〜
240 頁、1951年を参照) 。この方法では、推論は連続し
て乗数のビットを取り出すことではなく、それらを組み
合わせることで行なわれる。
【0004】実際、例えば、下記のように書き込むこと
ができる: Yd=Σj(yd,j-1+yd,j−2*yd,j+1)*2j (但し、jは0〜n−1の範囲にある偶数の整数であ
り、yd,-1=yd,n =0(2つの隣接する偶数−パリテ
ィ整数値をとる位置jに対応する2つのグループの間の
1つとの重複を有する乗数の偶数次数ビット間に中心が
ある3つの組にグループ化される)である)。次に、P
d=Xd*Ydの計算をn/2部分積P' d,j(実際にはい
つもそうであるが、nが偶数ならば)の加算にする: P' d,j=(yd,j-1+yd,j−2*yd,j+1)*Xd 及び、Pd =Σj(sd,j&P' d,j)*2j ビットyd,j-1、yd,j、yd,j+1の値によって、P' d,j
=0、±Xdまたは±2Xdである。&は、連結オペレー
タを示す。
【0005】Sd,j は、部分積P' d,jに組み合わされた
符号拡張ビットと呼ばれる(n−j)ビットにエンコー
ドされる2進数データ要素である。従って、下記の通り
である:部分積P' d,jが被乗数(P' d,j=0、Xd また
は2Xd)の符号と同じ符号を有する時、これらの(n
−j)ビットは従来0に配置され、部分積P' d,jが被乗
数(P' d,j=−Xd または−2Xd)の符号と反対の符
号を有する時、これらのビットは全て1に配置される。
従って、この計算は形式上下記のように2*nビットp
d,j,0 〜pd,j,2n-1にエンコードされる部分積P''d,j
を考察することになる: Pd =Σj P''d,j 、 ビットpd,j,0 〜pd,j,j-1 は、j≧2では,0であ
り、ビットpd,j,j 〜pd,j,j+n-1 は、P' d,jを示し、
ビットpd,j,j+n 〜pd,j,2n-1は、Sd,jを示す。
【0006】実際、いかなる順位の乗数のビットからも
ブース(Booth) デコードを開始し、下位ビットの場合演
算を標準的な部分積(すなわちXd*yd,1 の形状を有
する)に制限することが可能であることが注目される。
また、3つ以上のグループ化を考えることができる。こ
の欠点は、±3Xd 型の部分積を生成することがあるこ
とである。これは、回路を複雑にし、処理時間をかなり
増大させる。
【0007】通常、上記の計算に対応する信号処理演算
を実行することができる回路は、下記のものを備える:
信号の組Yを受け、選択信号を生成するデコーダ、入力
で信号の組Xを受け、下記の;0、±Xd、±2Xdを示
す信号の組を生成する手段、第1に、入力に0、±
d、±2Xdを示す信号の組を受け、第2に選択信号を
受け、乗数のビットの3×3グループ化の場合上記のよ
うに出力に部分積P' d,jを示す一連の論理信号P' jを出
力するマルチプレクサ回路、組P' j及び選択信号を受
け、データ要素P'' d,jを示す論理信号組P'' jを生成す
る信号拡張手段(実際、一連のP'' j は(2*n−j)
の信号を備え、ビットpd,j,0 〜pd,j,j-1 は常に0で
あり、従って、結果に全く影響しない)を備える部分積
ジェネレータ、組P'' j を受け、基本加算器によって形
成された加算回路によって(2*n)の論理信号の一連
のPを生成する計算回路。
【0008】上記の一般的な方法を敷衍して、符号化さ
れた算術と符号化されていない算術との間の選択を提案
することは極めて容易であろう。従来、オペランドが相
対的(正または負、符号化された算術)である時、その
最上位ビットの値はその符号を示す(通常、このビット
が1である時負であり、このビットが0である時正であ
る)。もちろん、乗算を使用する回路では、その時なさ
れた選択が何であるか知ることができる論理信号を有す
ることが可能であるべきである。このため、以下tcx
及びtcyと記す1ビットにエンコードされた2つの2
進数変数を決定するだけで十分であり、その値はオペラ
ンドの符号化されたまたは符号されていない性質を決定
する(例えば、オペランドが符号化された時1であり、
そうでない時0である)。
【0009】その時、下記のことを考慮する:最上位ビ
ットがtcyである時、あたかも乗数がn+1ビットに
エンコードされているようにビットのグループ化の乗数
と組み合わされた変数tcy、及び最終加算の結果Pd
をフォーマット化する被乗数と組み合わされた変数tc
x。実際、これによって、乗数の偶数順位ビットに中心
がある3つずつのグループ化の際付加デコードセルを加
えて、j=n、yd,j-1=yd,n-1、yd,j=tcy及び
d,j+1=0であるように、yd,j-1+yd,j−2*y
d,j+1を計算することが必要になる。従って、この場
合、奇数順位ビットに中心があるグループ化を実行する
ことがより公正になる。実際、下記のように書き込むこ
とが可能である: Yd =−yd,0+Σj (yd,j-1+yd,j−2*yd,j+1
+2j (但し、jは1〜n−1の範囲にある偶数パリティ整数
であり、yd,n =tcyである。)上記の式の使用によ
って、デコード及び−Xd *yd,0に等しい標準部分積
を含むn/2(nは偶数)部分積を生成する。また、純
粋な分数型数、すなわち、0〜1の範囲の数について乗
算演算を実行することが望まれることがある。また、必
要ならば、丸め演算を実施することができる。
【0010】従来、その時出力には、入力で部分積P''
j の加算及びフォーマッティング演算から生成する2進
数データ要素Pd,f を示す論理信号の組Pf を受け、ま
た、制御信号を受け、下記のように組Pを出力するフォ
ーマッティング回路がある:&が連結オペレータを、M
SB及びLSBが各々部分積の加算の結果Pd,f のn個
の最上位ビット及びn個の最下位ビットを示すことにっ
て、下記の選択がある: Pd =MSB&LSB(整数についての符号化されてい
ない演算及び符号化された演算) 符号化された分数演算でのPd =(MSB&LSB)*
2。実際、好ましくは、左向きに1つの位置シフトする
ことによって、分数部の精度を1単位高めることができ
る。実際、Pd,f の2つの2n−2及び2n−1の順位
のビットは、2つの符号ビットを示す。これは、1つの
ビット以外の情報を示さない。実際、シフト後、最下位
ビットはなお0の位置にある。整数では、そのようなシ
フトがフォーマッテイング後の最終結果の2つによる乗
算に等しい限りこのように作用することは望ましくな
い。すなわち、実質的にこの結果を変更することにな
る。位置rのゼロ位最下位ビットを0に配置し(rは自
然数として)、r位ビットをr+1ビットに加算するこ
とからなる丸め演算で、Pd =(PE=PFr*
r+1 )&00..r。PEはr+1〜2n−1位のビット
を含むフォーマッティング後の最終結果の部分を示し、
PFは0〜r位のビットによって形成された結果を示
し、rは部分PFの最上位ビットの順位の値を示し、P
Frは丸めるべき結果のr位ビットの値を示し、00..r
はr+1ビットにエンコードされる2進数データ要素を
示し、その全てのビットは0である。上記の方法をこの
方法(丸め分数演算、オペランドは符号化されている)
と組み合わせることによって下記の計算が実際に行なわ
れることが注目される: Pd =(((PE&PF)*2)+PFr*2r+1)&
0..r (但し、PFrはもちろんシフト後のPd,f のr位ビッ
トの値、すなわち、シフト後のr−1位ビットの値であ
る。)
【0011】
【発明が解決しようとする課題】丸め演算に関係する欠
点は、丸め演算を実行するために出力に大きなインクリ
メント装置を備える必要があることであり、このインク
リメント装置は(2*n−r−1)信号を処理しなけれ
ばならない(データ要素Pd の最上位ビットへの桁上げ
の伝搬による)。本発明者は、符号拡張ビットの数、及
び、従ってこれらのビットを示す信号数の減少を提案す
る。その最大は部分積につき3であり、従って、この符
号拡張はj+n〜j+n+2位ビットにエンコードさ
れ、一方同時にまた被乗数の符号化された符号化されて
いない性質を考慮する。従って、減少は、加算回路内の
基本加算器の数で得られ(部分積P'' d,j のj+n+3
〜2n−1位ビットは常に同じく0であり、従って、部
分積の加算の結果を変更しない)、処理時間はまた減少
される。実際、iを0〜nの値に等しくすると、Σi
i =(1−qn+1)/(1−q)である。q=2なら
ば、その時、Σi i =2n+1−1である。
【0012】本発明者は、下記の:lは、部分積P''
d,j の数であり、j+n−1は、符号を示さない部分積
の最上位位置であり、S1 は、部分積のn−jの符号拡
張ビットを示し、これらのn+j〜2n−1位のビット
は、同じ論理状態0または1であり、Sは全部分積の符
号拡張ビットの合計を示す、という基準を取ることによ
って、その時、 S=Σ1 (Σt 1 *2t )(但し、tはn〜j〜2n
−1の整数)及びS=Σ1 1 (22n−2j+n ) 部分積が2nビットにエンコードされているなら、第1
の項を除去することができる。従って、下記の式が残
る: S=−Σ1 1 *2j+n =Σ1 (/S1 +1)*2j+n
【0013】3によるグループ化の場合、そこから部分
積のj+n〜2n−1位ビットであるn−j個の符号拡
張ビットによって形成された2進数データ要素は、3つ
のビットESd,j =(esd,j,2 、esd,j,1 、es
d,j,0 )にエンコードされた2進数データ要素に減少で
きることが演繹され、それらのj+n〜j+n+2位ビ
ットについて下記のように部分積の符号拡張ビットをエ
ンコードすることができる:Xd *yd,i 型計算に基づ
いて部分積が標準的に得られるならば、 tcx=Yd,i =xd,n-1 =1ならば、ESd,j
(0、0、1) そうでないならば、ESd,j =(0、1、0) 部分積がブース(Booth) 法による3つずつのグループ化
から得られるならば、 P'd,j =0ならば、ESd,j =(0、0、1) tcx=0及びP'd,j =Xd ならば、ESd,j
(0、0、1) tcx=0及びP'd,j =−Xd (または/Xd )なら
ば、ESd,j =(0、1、0) tcx=0及びP'd,j =2Xd ならば、ESd,j
(xd,n-1 、/xd,n-1 、/xd,n-1 ) tcx=0及びP'd,j =−2Xd (または/2Xd
ならば、ESd,j =(0、/xd,n-1 、xd,n-1 ) tcx=1及びP'd,j =Xd または2Xd ならば、E
d,j =(0、1、/xd,n-1 ) tcx=1及びP'd,j =−Xd (または/Xd )また
は−2Xd (または2/Xd )ならば、 ESd,j =(0、1、/xd,n-1
【0014】符号ビットの数の減少をtcxについて考
慮すると、上記の場合と同様に加算の最終結果から処理
動作を除去するという利点がある。本発明は、加算回路
で丸め機能をインクリメントする動作(最終結果のr位
ビットが1であるという事実に対応する)を実行する符
号拡張信号の数を減少させることによって、この動作
(形式的に、出力データ要素の丸めにおける桁上げの伝
搬を制限することになる)を実行するインクリメント装
置のサイズを小さくするという利点を得ることを提案す
る。従って、出力信号の組Pの処理において、演算をP
d =PE&00..r型演算(シフトなし)またはPd
((PE&PF)*2)&00..r型演算(シフトあり)
に限定することができる。
【0015】丸めの前に最終結果のr位信号の値のアプ
リオリな知識はないので、本発明は部分積の1つに2r
(シフトなし)または2r-1 (シフトあり)の組織的な
加算を提案する。実際、式Pd =(PE&PFr*2
r+1 )&00..r(シフトなし)を取り上げると、最終結
果のr位ビットPFrが通常0の時、部分PEは00..r
と連結前及び後も同じままである。2r が部分積に加算
され、式Ps =PE=00..rを使用すると、同じ結果が
得られる。最終結果のr位ビットPFrが通常1の時、
部分PEは00..rと連結前に1によってインクリメント
される。2r が部分積に加算され、式Ps =PE&0
0..rを使用すると、また同じ結果が得られる。インクリ
メントは、前もって計算回路内で実施される。
【0016】本発明は、データ要素(0、0、・・・、
1、0)及び大きさj+n+4−rを有する部分積の1
つから演繹されたデータ要素(exd,j,2、exd,j,1
exd,j,0、pd,j,j+n-1 、・・・、pd,j,r 、p
d,j,r-1 )を共に加算することからなる演算を実行し、
この演算によって後者のデータ要素を置換することを提
案し、桁上げはj+n+3の位置に配置される。従っ
て、部分積の1つの変更は計算回路で考慮される前に実
施される。符号化されたオペランドを有する分数演算に
おいて、左シフトを実施し、精度を向上させることが所
望の時、第1のベクトルが変更され、従って、もちろ
ん、ベクトル(0、0、・・・、0、1)を(ex
d,j,2、exd,j,1、exd,j,0、pd,j,j+n-1 、・・
・、pd,j,r 、pd,j,r-1 )に加算することが見られ
る。最善の方法は、桁上げの伝搬を厳密に最小に制限す
るために最上位ビットが常に0である最大数を有する部
分積についてこのインクリメント演算を実施することで
ある。また、標準的な方法(Xd*yd,i )によって得
られる部分積を考察することによって、その時、符号拡
張ビットの数の減少は常に0であるj+n+2位ビット
を生成するので、インクリメント装置のサイズを小さく
することができることが観察される。次に、j+n+3
−rビットにエンコードされたデータ要素を加算するこ
とができる。
【0017】
【課題を解決するための手段】従って、本発明は、2つ
の2進数データ要素を示す第1の組及び第2の組のnこ
の論理信号、nビットにエンコードされた被乗数及び乗
数(但し、nは整数)を受け、2*nビットにエンコー
ドされた出力2進数データ要素を示す2*n個の出力信
号の組を生成する並列乗算論理回路であって、第2の組
の信号から論理選択信号を生成する回路と、第1の組の
信号と選択信号の組合せによって中間論理信号の組を生
成する部分積ジェネレータと、中間信号の組を受け、出
力信号の組を生成する計算及びフォーマッティング回路
とを備える並列乗算論理回路において、計算回路はイン
クリメント回路を備え、論理回路によって受けた制御信
号の作用による受けた信号の組の信号の変更によってこ
のインクリメント回路が受ける信号の組から入力信号の
組を生成することを特徴とする並列乗算回路を提案する
ものである。
【0018】別の欠点は、部分積を生成するためにブー
ス(Booth) デコードを使用する時、−Xd 及び−2Xd
(−Xd =/Xd +20 )を示す信号の組を生成するた
めのnビットインクリメント装置の存在である。この欠
点に関して、本発明は、0、Xd 、/Xd 、2Xd 、/
(2Xd )を示す信号の組を生成し、部分積の加算に対
応する処理時間に/Xd 及び/(2Xd)(以下/2X
d と記す)から−Xd 及び−2Xd の生成に対応するイ
ンクリメントを実施することによって部分積ジェネレー
タを変更することを提案する。上記のように、部分積P
'' d,j は、j個の0状態の最下位ビットPd,j,0 〜P
d,j,j-1 を有する。これらの部分積が被乗数に反対の符
号を有する時実施されるインクリメントは、それらのビ
ットPd,j,j 〜Pd,j,j+n-1 が/Xd または/2Xd
示すと過程するとこれらの部分積に2j を加算すること
と同一である。本発明は、P'' d,j +Σk (αk
k )(但し、kは0〜j−1の整数である指数であ
り、αk は0または1に等しい係数であり、ビットP
d,j,j 〜Pd,j,j+n-1 が0、Xd 、2Xd 、/Xd また
は/2Xd を示す)の形状を有する部分積を考慮して、
初期に決定された部分積P'' d,j を変更することを提案
する。これは、通常0の最下位ビットの数を有する部分
積と反対の符号によるインクリメントをより大きくする
ことになる。
【0019】実際、ビットPd,j,0 〜Pd,j,j-1 の存在
は、計算回路の基本加算器の入力の永久グループ化によ
って表現される。従って、本発明は、被乗数の符号に比
較して標準的な計算回路の加算器の入力の幾つかに部分
積の符号を示す論理信号を与えることによって標準的な
計算回路の配線を変更することを提案するものである。
別の部分積でのインクリメントを考慮することができな
ければ(実際、これはjが最大値のような部分積の場合
である)、その部分積に対応する組の信号を受ける加算
回路及び特に通常アースまで引かれる最下位ビットに関
する信号を受ける基本加算器の全入力を変更すれば十分
である。好ましい実施例では、全加算回路の基本加算器
は、1つの入力に選択信号の1つを受ける。
【0020】本発明によって、インクリメント装置を備
えない部分積ジェネレータを使用して第1及び第2の組
の信号を処理することが可能になり、その部分積ジェネ
レータは第1の組の信号の左シフトによって第3の組の
信号を生成する左シフト回路と、第1及び第3の組の信
号の反転によって第4及び第5の組の信号を生成する反
転回路と、その第1、第3、第4及び第5の組の信号と
一定の論理状態の第6の組の信号を受けるマルチプレク
サ回路であって、このマルチプレクサ回路はまた選択信
号を受け、これらの選択信号の作用によってそのマルチ
プレクサ回路が受けた5組の信号の1つに派生信号の各
組が等しいように派生信号の組を生成するマルチプレク
サ回路と、選択信号の作用によって符号拡張信号の組を
生成し、派生信号の組の1つ及び従って符号拡張信号の
組の1つの連結によって中間信号の組を生成する連結回
路を備える符号拡張回路を備える。
【0021】好ましい実施例では、加算回路は、部分積
を奇数の組にグループ化し、同時に主にキャリーセーブ
加算器(Carry Save Adder)型の基本加算器によって異な
る組の部分積を加算することによって得られた部分積P
'' d,j の加算に対応する処理を実施するために必要な時
間を短縮することができる、文献に記載されたいわゆる
ウォレスツリー(Wallace tree)を形成する(例えば、シ
ー.エス ウォレス(C.S.Wallace) 「高速乗算器のため
の示唆(A suggestion for a fast multiplier)」、IE
EETrans.EL.Computers, 第EC−13巻、14〜17頁、第
1号、1964年を参照) 。 従って、ブース(Boot
h) デコードによって生成する部分積P'' d,j に基づい
て、数がより小さい他の部分積が生成される(部分積の
減少)。これらの部分積は、それ自体、演算が2nビッ
トの2つのデータ要素の最終加算に減少されるまで加算
される。この型の並列構造は知られているが、同じ符号
を有する部分積の演算(すなわち、符号拡張ビットが全
くない標準的なXd *yd,i型)の場合の使用について
記載されていた。基本的な構造(桁上げ伝搬を有する部
分積の直列加算を有する)と比較すると、総表面積は約
20%大きいが、処理時間は20%減少する。
【0022】
【実施例】添付図面を参照して行なう下記の好ましい実
施例の説明から本発明はより明らかに理解され、その他
の特徴及び利点は明らかになろう。但し、これらの実施
例は、本発明を何ら限定するものではない。図1は、論
理乗算回路1を図示している。この回路は、下記のもの
を備える:nビットにエンコードされる2つの2進数デ
ータ要素Xd =(xd,15、xd,14、・・・、xd,1 、x
d,0 )及びYd =(yd,15、yd,14、・・・、yd,1
d,0 )を示す第1及び第2のn個の論理信号の組X=
(X15、X14、・・・、X1 、X0 )及びY=(Y15
14、・・・、Y1 、Y0 )を受けるための2つの並列
入力端子40及び41(nは上記の実施例では16に等しい整
数である) 、論理乗算Xd *Yd を結果を示すPd と共
に32ビットにエンコードされた出力2進数データ要素P
d =(pd,31、pd,30、・・・、pd,1 、pd,0 )を示
す32個の出力論理信号の組P=(P31、P30、・・・、
1 、P0 )を出力する並列出力端子、各々CX1〜C
X8、C2X1〜C2X8及びSGN1〜SGN8と参
照番号を付した8個の論理選択信号と共にCX、C2X
及びSGNと参照番号を付した3つの組を生成するブー
ス(Booth) デコーダ2、9組の中間論理信号P''0〜P
''8を生成する部分積ジェネレータ3、中間信号の組を
受け、出力信号の組Pを生成する計算及びフォーマッテ
ィング回路4、及びTCX、TXY、I及びRNDと参
照番号を付した4つの制御信号を受ける4つの入力端子
42、43、44、45。
【0023】論理信号が0に等しいビットを示す時その
論理信号は通常0Vであり、1に等しいビットを示す時
3(または5)Vである。上記の実施例では、回路は整
数または分数型結果(状態1または0のIを有する)を
生成する回路である。その結果は丸められても丸められ
なくてもよく(状態1または0のRND)、符号化され
てもされなくてもよい(状態1または0のTCX及び/
またはTCY)。
【0024】第3図は、ブース(Booth))デコーダ2を図
示したものである。このデコーダは、2つの入力に信号
Yの組と信号TCYを受け、3つの出力に組CX、C2
X及びSGNを受ける。それは、全てが図示されてはい
ないが、3つの入力と3つの出力を有する8個のデコー
ドセル21〜28を有する。上記の実施例では、下記のデコ
ード式が使用される: Yd =Yd,0 *20 +〔(0+yd,j −2*yd,j+1
*2j j=1 +Σj (yd,j-1 +yd,j −2yd,j+1
*2j これによって、符号化されたまたは符号化されていない
演算にエンコードされ、一方同時にデコードセルの数を
8(=n/2)に制限して、TCYに等しいyd,16を考
察する乗算器を考えることができる。
【0025】セル21〜28は各々その入力で第1のセル21
は信号0(アース電位)、Y1及びY2、第2のセル22は
2、Y3、Y4、・・・、最後のセル28はY14、Y15
びTCYを受ける。それらは、その出力では各々第1の
セル21は信号CX1、C2X1及びSGN1、・・・最
後のセル28ではCX8、C2X8及びSGN8を出力
し、従って、1〜8の指数jでは、入力で受けた信号が
全て状態0または状態1ならば、(CXj 、C2Xj
SGNj) =(0、0、0)、入力で受けた第1または
第2の信号が状態1であり、第3の信号が状態0である
ならば、(CXj 、C2Xj 、SGNj) =(1、0、
0)、入力で受けた第3の信号及び第1または第2の信
号が状態1ならば、(CXj、C2Xj 、SGNj) =
(1、0、1)、入力で受けた第1及び第2の信号が状
態1であり、第3の信号が状態0である時、(CXj
C2Xj 、SGNj) =(0、1、0)、入力で受けた
第1及び第2の信号が状態1であり、他の信号が状態0
である時、(CXj 、C2Xj 、SGNj) =(0、
1、1)。機能的には、9個のデコードセルを考えるこ
とができ、回路1は(CX0、C2XO、SGN0)=
(Y0 、0、0)である選択信号(CX0、C2XO、
SGN0)を生成する第9のデコードセルがあるように
作動する。
【0026】図4は、部分積ジェネレータ3を図示して
いる。このジェネレータ3は、下記のものを備える:
X、CX、C2X、SGNの組と信号Y0 (この回路で
は選択信号の役割を果たす)及びTCXを受ける入力、
第1の組の信号Xの左シフトによって第3の組の16個の
信号2X=(X14、X13、・・・、X0 、0)を生成す
る左シフト回路6、第1及び第3の組の信号X及び2X
の反転によって第4及び第5の組の16個の信号/X=
(/X15、/X14、・・・、/X1 、/X0 )及び/2
X=(/X14、/X13、・・・、/X0 、1)を生成す
る反転回路5であり、実際には2組の16個のインバータ
を並列に配置することによって形成された反転回路、第
1、第3、第4、第5の組及び参照番号0Xを付した一
定の論理状態0を有する16個の信号からなる第6の組を
受け、また選択信号の組及び信号Y0 を受け、これらの
信号の作用によって派生信号の各組がマルチプレクサ回
路8が受ける5組の信号(0X、X、/X、2X、/2
X)の1つに等しいように9組の16個の派生信号P'0〜
P'8を生成するマルチプレクサ回路8、選択信号の組の
作用によって9組の符号拡張信号を生成し、全部を図示
してはいないが、9組の派生信号の1組と9組の符号拡
張信号の1組との連結によって9組の中間信号P''0〜
P''8を生成する9個の連結回路90〜98を備える符号拡
張回路9。
【0027】左シフト回路6は、例えば17個の入力及び
17個の出力を有する並列レジスタによって形成される。
このレジスタは、その入力の17個に(X15、X14、・・
・、X1 、X0 )を受け、その最後の入力はアース(論
理状態0)に接続されている。その出力2Xの16個に、
受ける入力に対応する出力を出力する。X15は、使用さ
れない。実際、全ては配線の問題になるので、レジスタ
は仮想である。マルチプレクサ回路8は、全部を図示し
ていないが、9個のマルチプレクサ80〜88を有する。第
1のマルチプレクサ80は、並列で、各々組0X及びXを
受ける第1の入力及び第2の入力を有し、制御入力は信
号Y0 を受け、並列出力に、Y0 が状態0ならば出力が
第1の入力に接続され、Y0 が状態1ならば出力が第2
の入力に接続されるように派生信号の組P’0を出力す
る。実際、各々信号Y0 及び信号X0〜X15の1つを受
ける2つの並列に装着された入力を備える16個のAND
ゲートを使用することによって機能的な観点から等価な
回路を作成することができる。
【0028】マルチプレクサ81〜88は、各々下記のもの
を備える:組0X、X、/X、2X及び/2Xを受ける
5個の並列入力、各々、3つ組の信号(CX1、C2X
1、SGN1)〜(CX8、C2X8、SGN8)を受
ける3つの制御入力、受けた選択信号の状態によって各
々その入力の1つに選択的に接続される、派生した組
(P'1=(P' 1,15、・・・、P' 1,0)〜P'8=(P'
8,15、・・・、P' 8,0))を出力するための並列出力
(選択信号の3つ組が状態(0、0、0)ならば入力は
組0Xを受け、選択信号の3つ組が状態(1、0、0)
ならば入力は組Xを受け、選択信号の3つ組が状態
(1、0、1)ならば入力は組/Xを受け、選択信号の
3つ組が状態(0、1、0)ならば入力は組2Xを受
け、選択信号の3つ組が状態(0、1、1)ならば入力
は組/2Xを受ける)。
【0029】派生した組P'0〜P'8は、下記のように
2進数データP' d,0〜P' d,8を示す: P' d,0=X*yd,0*20 、 P' d,1=X*|yd,1−2*yd,2|*21 =(OXまたはXまたは2X)*2、/X*|yd,1−2*yd,2 |*21 =/X*2または(/X*|yd,1 −2*yd,2|+1)*21 =/2X*2、 P' d,2=X*|yd,2+yd,3 −2*yd,4|*23 、/X*|yd,2+ yd,3−2*yd,4|*23、または(/X*|yd,2+yd,3−2*yd,4| +1)*23 、 ・・・・、 P' d,7=X*|yd,12+yd,13−2*yd,14|*23 、/X*|yd,12+ yd,13−2*yd,14|*213、または(/X*|yd,2+yd,3−2*yd,4| +1)*23 、 P' d,8=X*|yd,14+yd,15−2*tcy|*215、/X*|yd,14+ yd,15−2*tcy|*215、または(/X*|yd,14+yd,15−2*tcy| +1)*215 (但し、信号TCYが状態0ならばtcy=0であり、
信号TCYが状態1ならばtcy=1である。)
【0030】符号拡張回路9は、派生した組P' 0〜P' 8
を受け、各組は連結回路(各々参照番号90〜98) に出力
される。その連結回路は、さらに、信号X15及びTCX
と、回路90に関しては信号Y0 を、回路91〜98に関して
は(CX1、C2X1、SGN1)〜(CX8、C2X
8、SGN8)を受ける。連結回路は、各々、下記のよ
うに、派生信号の組の1つと符号拡張信号の組との連結
によって中間信号の組(P''0〜P''8)を生成する:
TCX=Yo =X15=1及びP''0=(1、0、P'
0,15 、・・・、P'0,0)ならば、P''0=
(P''0,17、・・・、P''0,0 )=(0、1、
P'0,15 、・・・、P'0,0)、そうでないならば、jは
1〜7の指数として、 (CXj 、C2Xj 、SGNj)=(0、0、0)なら
ば、P''j=(0、1、1、P' j,15、・・・、
' j,o )、 (CXj 、C2Xj 、SGNj)=(1、0、0)及び
TCX=0ならば、P''j=(0、1、1、P' j,15
・・・、P' j,o )、 (CXj 、C2Xj 、SGNj)=(1、0、1)及び
TCX=0ならば、P''j=(0、1、0、P' j,15
・・・、P' j,o )、 (CXj 、C2Xj 、SGNj)=(0、1、0)及び
TCX=0ならば、P''j=(X15、/X15、/X15
' j,15、・・・、P' j,o ) (CXj 、C2Xj 、SGNj)=(0、1、1)及び
TCX=0ならば、P''j=(0、/X15、X15、P'
j,15、・・・、P' j,o ) (CXj 、C2Xj 、SGNj)=(1、0、0)また
は(0、1、0)及びTCX=1ならば、P''j=
(0、1、/X15、P' j,15、・・・、P' j,o ) (CXj 、C2Xj 、SGNj)=(1、0、1)また
は(0、1、1)及びTCX=1ならば、P''j=
(0、1、X15、P' j,15、・・・、P' j,o ) P''8では、(CX8、C2X8、SGN8)=(0、
0、0)または(CX8、C2X8、SGN8)=
(1、0、0)及びTCX=0ならば、P''8=(P''
8,16、・・・、P'' 8,0 )=(1、P' 8,15、・・・、
' j,o ) (CX8、C2X8、SGN8)=(1、0、1)及び
TCX=0ならば、P''8=(/X15、P' 8,15、・・
・、P' 8,o ) (CX8、C2X8、SGN8)=(0、1、0)及び
TCX=0または(CX8、C2X8、SGN8)=
(1、0、0)または(0、1、0)及びTCX=1な
らば、P''8=(/X15、P' 8,15、・・・、P' 8,o ) (CX8、C2X8、SGN8)=(0、1、1)及び
TCX=0または(CX8、C2X8、SGN8)=
(1、0、1)または(0、1、1)及びTCX=1な
らば、P''8=(X15、P' 8,15、・・・、P' 8,o
【0031】中間の組は、32ビットにエンコードされた
いわゆる部分積の2進数データを示す。中間の組の各信
号は、部分積の所定の位置のビットを示す。中間の組が
それがかめす部分積の可変の値のビットに対応する19個
の信号の最大数を備える。他のビットは0に等しい一定
値を示し、従って、部分積の加算の結果には役割をはた
さない。32ビットの2進数データ要素を考えると、中間
の組P''8に関して、組P'8は位置数が15〜30の2進
数データ要素P' d,8 =(0*231、X15*|yd,14
d,15−2*tcy|*230、・・・、X0 =|yd,14
+yd,15−2*tcy|*215、0*214、・・・、0
*20 )、(0*231、/X15*|yd,14+yd, 15−2
*tcy|*230、・・・、X0 *|yd,14+yd,15
2*tcy|*215、0*214、・・・、0*20 )ま
たは(0*231、(/X15*|yd,14+yd,15−2*t
cy+1|*230、・・・、(/X0 *|yd,14+y
d,15−2*tcy+1|*215、0*214、・・・、0
*20 )。ブース(Booth) デコートシステムを使用する
従来の乗算回路と比較すると、回路1は中間組あたりの
符号拡張信号の最大数を3に限定するという利点があ
る。上記のように符号拡張信号の数を減少させずに、中
間の組P''0は32個の信号(本発明の18個ではなく) を
有することがあり、組P''1は31個の信号(本発明の19
個ではない)を有することがある。
【0033】図5は、計算及びフォーマッティング回路
4を図示している。回路4は、制御信号TCX、TC
Y、I、RND、第1及び第2の組X及びy、中間の組
P''0〜P''8、及び選択信号の組SGNを受ける。こ
の回路は、3組の入力信号を受け、2組の出力信号を生
成する7個の加算回路11〜17及び2組の入力信号を受
け、1組の出力信号を生成する最終加算回路18を有し、
それらの加算回路はここでは3つの入力と2つの出力を
備えるキャリーセーブエッダ(Carry Save Adder) (C
SA)型の並列に装着された基本加算器によって形成さ
れる。各加算回路12〜28が受ける各入力信号の組は、中
間信号の組1つがまたは他の加算回路によって生成する
出力信号の組であり、加算回路はウォーレス ツリー(W
allace Tree) と呼ばれる並列構造を形成する。
【0034】計算回路4は、さらにインクリメント回路
10を備え、そのインクリメント回路ハ入力に中間の組P
'' 0 、信号TCX、TCY、I及びRNDを受ける。こ
のインクリメント回路は、1つの出力では、入力信号の
組P(3)0を出力する。その組P(3)0は、19個の信号P
(3) 0,18〜P(3) 0,0を備える。但し、0〜13のjでは、
(3) 0,j =P''0,j 、 RND=0ならば、(P(3) 0,18、P(3) 0,17、P(3)
0,16、P(3) 0,15、P(3) 0,14)=(0、P'' 0,17、P''
0,16、P'' 0,15、P'' 0,14)、 TCX=TCY=/I=RND=1ならば、(P(3)
0,18、P(3) 0,17、P(3) 0,16、P(3) 0,15、P(3) 0,14
=(P'' 0,17、P'' 0,16、P'' 0,15、P'' 0,14)+
(0、0、0、1)(但し、+は2進数加算及びP(3)
0,18は加算の桁上げ)、 RND=1及びI=1または(TCXまたはTCY=
0)ならば、(P(3) 0,18、P(3) 0,17、P(3) 0,16、P
(3) 0,15、P(3) 0,14)=(P'' 0,17、P'' 0,16、P''
0,15、P'' 0,14)+(0、0、1、0)
【0035】ここでは、整数型オペランド(I=1)を
考えるならば、乗算の結果は丸められないと仮定され
る。このインクリメント装置10の目的は、丸め型の結果
を得ることが所望ならば、通常このインクリメントを丸
めるために出力組のフォーマッティングから生成される
可能なインクリメントを予想することである。インクリ
メント回路10によって受けた信号の組は、一方では最小
数の信号を有する中間信号の組の1つであり、もう一方
ではその信号が32ビット表示で最下位ビットを示すを組
であることが分かる。演算的な観点から、これは、桁上
げを最小に制限することになる。インクリメント回路10
は、また入力に加算回路の1つによって生成する出力信
号の組を受けることがある。実際、フォーマッティング
回路中に16ビットのインクリメントをセットする代わり
に、この構造はウォーレスツリー内の4ビットの回路の
インクリメントに限定される。さらに、ここではオペラ
ンドが分数モードかどうかによって加算回路によって生
成される最後の組の左シフトがあるかないかが仮定され
るので、これは条件付きインクリメントであることが観
察される。
【0036】ウォーレスツリーでは、回路のサイズを最
小にするために、各加算回路でブースデコードでの近傍
グループ化に対応する入力の組の処理を実行することが
好ましい(すなわち、組は、状態0と同じではないこれ
らのデータ要素のビットがこれらのデータ要素を示すビ
ットと呼ばれる時、表示ビットの組の最下位ビットと最
上位ビットとの間の差ができる限り小さいように2進数
データを示す)。従って、デコード式Yd=yd,00
〔(0+yd,j−2*yd,j+1)*2j] j=1 +Σj(y
d,j-1 +yd,j −2*yd,j+1 )*2j を考えると、組
(3)0は0〜18の位置値を有する19個の表示ビットに
エンコードされたデータ要素を示し、組P''1は1〜19
の位置値を有する19個の表示ビットにエンコードされ、
組P''2 は3〜21の位置値を有する19個の表示ビットに
エンコードされ、これらの組の少なくとも2つは位置値
1〜19を有する表示ビットにエンコードされたデータ要
素を示すので、これらの3つの組を入力に受ける加算回
路11(図6に図示)は19個の基本加算器を有する。
【0037】中間組の数の減少に関して、基本加算器の
種類はその第1及び第2の組が表示されるオペランドが
エンコードされるビット数に応じて選択される。CSA
装置が備える入力及び出力数が大きいほど、それを通過
する時間が長くかかるので、3つの入力と2つの出力、
5つまたは7つの入力と3つの出力等を備える加算器を
使用することができる。実際、オペランドXd 及びYd
が16ビットにエンコードされると、選択した構造は好ま
しくは3つの入力と2つの出力を備える加算器に基づく
構造であり、下記の4つの減少段階を含む:9組の信号
(3)0及びP''1〜P''8を6組の信号PW1〜PW
6に減少(加算回路11、12及び13) 、6組の信号PW1
〜PW6を4組の信号PW7〜PW10に減少(加算回路
14及び15) 、4組の信号のうち3組(PW7〜PW10)
を2組の信号PW11及びPW12に減少(加算回路16) 、
上記の段階で生成した2組の信号PW11及びPW12及び
第2段階で生成した4組の信号のうち最後の組(PW1
0) を2組の信号PW13及びPW14に減少(加算回路17)
、これらの2つの組PW13及びPW14を1つの最終組
の信号Pfに減少(加算回路18) 。
【0038】各基本キャリーセーブ加算器は、入力に3
つの論理信号A、B、Dを受け、出力に2つの論理信号
S及びCを出力する。その論理信号は、S=A∧B∧
D、C=C(A、B、D)=(A・B)+D・(A∧
B)(但し、+は論理ORを、∧は論理排他的OR及び
・は論理ANDを示す)である。上記のように、信号の
組の信号は、異なる位置値を有する2進数データのビッ
トを示す。選択したデコードによると、加算回路は互い
に対していくらかシフトされる。従って、信号の組P''
1は位置値1〜19を有するビットを示す信号によって形
成される。信号P''2の組は位置値3〜21等を有するビ
ットを示す信号によって形成され、組P(3)0だけが位
置値0を有するビットを示す信号を備える。従って、基
本加算器の全ての入力が入力信号組の信号を受けるわけ
ではない。
【0039】従って、例として図6に図示した加算回路
11は、入力に下記の: 組P(3)0=(P(3) 0,18、・・・、P(3) 0,0 )、 組P''1=(P''1,19、・・・、P''1,0 )及び、 組P''2=(P''2,19、・・・、P''2,0 ) を受け、2組の出力PW1=(PW1,21、・・・、PW
1,0 )及びPW2=(PW2,18、・・・、PW2,0 )を
出力する。部分積ジェネレータ内で部分積の2つの補数
を得る演算を行なうならば、下記のものが得られるであ
ろう: PW1,0 =P(3) 0,0 PW1,1 =P(3) 0,1 ∧P''1,0 =P(3) 0,1 ∧P''1,0
∧0 PW2,0 =C(P(3) 0,1 、P''1,0 、0) PW1,2 =P(3) 0,2 ∧P''1,1 =P(3) 0,2 ∧P''1,1
∧0 PW2,1 =C(P(3) 0,2 、P''1,1 、0) PW1,3 =P(3) 0,3 ∧P''1,2 ∧P''2,1 PW2,2 =C(P(3) 0,3 、P''1,2 、P''2,1 )等 (但し、P(3)0、P''1及びP''2は式+K*Xd
i (但し、Kは自然数(本発明で実施されるデコード
ではK=0、1または2))の2進数データ要素を示す
組P'0、P'1及びP'2によって形成されている)。
これは、−K*Xd を示す組を生成する部分積ジェネレ
ータにインリクメント装置が存在することを意味する。
【0040】基本加算器の使用されない入力は実際には
アースに接続されているので、その入力は全て可変の信
号を受けるために使用されるわけではないようである。
本発明では、加算回路にインクリメントをもたらすため
にこの事実から利益が得られる。従って、加算回路11
は、下記のようにデコードによってKに割り当てられた
符号を示す信号SGN1を受ける。PW1=(P
1,21、・・・、PW1,0 )=(P'' 2,19、P'' 2,18
'' 1,18∧P'' 2,17、P'' 1,17∧P'' 2,16
(3) 0,18、・・・、P(3) 0,3 ∧P'' 1,2∧P'' 2,1
(3) 0,1 ∧P'' 1,0 ∧SGN1、P(3) 0,0 )及びPW
2=(PW2,18、・・・、PW2,0 )=(C
(P'' 1,18、P'' 2,17、0)、C(P'' 1,17
'' 2,16、P(3) 0,18)、・・・、C(P(3) 0,3 、P''
1,2、P'' 2,1 )、C(P(3) 0,2 、P'' 1,1 、0)、C
(P(3) 0,1 、P'' 1,0 、SGN1))。加算回路11
は、19個の加算器110 〜128 を備え、加算器110 は信号
(3) 0,1、P'' 1,0 、SGN1を受け、信号PW1,1
びPW2,2 等を出力する。符号拡張信号数を減少させる
ことなく、加算回路11は31個の基本加算器を有していた
だろうということが分かる。同様に、それらの加算器の
入力の使用可能性によって、加算回路12〜16は1つまた
は複数の信号SGN2〜SGN8を受ける。
【0041】加算回路の残りに関しては、それを形成す
るために図7を参照するだけで十分である。図7は、加
算回路の入力に存在する2進数データ要素の合計に等し
い2進数データ要素を示す32個の信号の組Pfを生成す
るために使用される各段階を図示したものであり、その
図7では、点は、値が可変のビットを示し、三角形は、
符号拡張ビットを示し、0は、値0を有するビットを示
し、ひし形は、丸め機能でインクリメントによって変更
されるビットを示し、正方形は、その値が選択信号SG
N1〜SGN8の状態によって変化するビットsgn1
〜sgn8を示し、鎖線で区切られた参照番号11〜18の
長方形は、加算回路の基本加算器内でその表示信号が処
理されるビットとこれらの信号が処理さる回路を示して
いる。
【0042】部分積P''8に関して、上記の構造では信
号SGN8を基本加算器の単一の入力に与えることによ
って場合によってはインクリメントを実施することかで
きなことが分かる。実際、P''8からの信号は各中間組
の中で最上位ビットを示す。従って、P''8の場合のプ
ロシージャは、通常最下位ビットを示す一定の論理信号
0(アースへの接続によって)を受ける加算回路13の全
ての加算器入力にSGN8を与えることである。さら
に、実際には受けた入力信号のうち位置値を有するビッ
トを示す信号がそのような位置値を有するビットを示す
単独信号である時、A∧0∧0=A及び(A・0)+0
・(A∧0)=0なので、これらの信号は加算器内で処
理されない。従って、P(3) 0,0 は例えば組Pf中にそ
のまま見られる。
【0043】上記の実施例では、部分積の可能なインク
リメントは、信号SGN1〜SGN8を直接加算器入力
に与えることによってウォーレスツリー(Wallace tree)
内で実施される。これは、もちろん本発明の理解を容易
にすることを目的とする特別の場合である。より一般的
には、選択信号から生成されるインリクメント信号につ
いて語ることができる。しかし、選択信号が直接加算器
入力に与えられる場合を記載することによって、中間信
号の組の信号が選択信号によって変化するという事実か
ら生じる起こりうる曖昧性が除去される。重要な点は、
インクリメントを示す信号を出力することである。例え
ば、デコードセル内で、通常、部分積が被乗数と同じ符
号を有する時は状態1であり、その他の時は状態0であ
るように信号SGN1〜SGN8を生成し、次にこれら
の信号を加算器に与える前に反転させることができるこ
とは十分に可能である。
【0044】加算回路18に関して、速度の理由で桁上げ
伝搬を有する直列加算器を使用することは価値がなく、
むしろ並列型加算器が使用される。使用される要素は、
好ましくは、ブレント アンド クン(Brent & Kung)型
の桁上げ選択加算器である。桁上げ選択加算器は、最も
コンパクトなものである。ブレント アンド クン(Bre
nt & Kung) 型加算器はより速いが、またサイズが大き
い。加算回路18は、32個の信号の組Pf=(Pf31、P
30、・・・、Pf1 、PfO )を生成する。この組
は、出力組P=(P32、P30、・・・、P1 、P0 )を
生成することが可能なフォーマッティング回路19に与え
られる。
【0045】この回路19は、主に、組2Pf=(P
30、Pf29、・・・、PfO 、0)を生成する図3の
回路6及び7に類似の左シフトレジスタ30、各々組Pf
及び2Pfを受ける2つの入力を各々備える2つの乗算
器31及び32、乗算器31の出力に存在する組(Pfまたは
2Pf)を受け、32個の信号の組Pfr=(Pf31、P
30、・・・、Pf15、0、・・・、0)または(Pf
30、Pf29、Pf14、0、・・・、0)を生成する連結
回路33、3つの入力に各々組Pfr、マルチプレクサ32
の出力に存在する組(Pfまたは2Pf)及び従来符号
化されたオペランド(TCX=TCY=/I=1)での
分数演算でX=Y=(1、0、0、・・・、0)ならば
P=Pfsとなるような飽和信号と呼ばれる32個の信号
の組Pfs=(0、1、1、・・・、1)を受けるマル
チプレクサ34、及び組X、Y及び信号TCX、TCY、
I、RNDを受け、所望の結果の型(整数、分数、丸め
られたもの等)に応じてフォーマティング回路のマルチ
プレクサ31、32及び34に制御信号を出力する論理制御回
路35を備える。
【0046】本発明を好ましい1実施例について説明し
たが、この実施例を本発明を何ら限定するものではな
く、本発明の範囲内で様々な変更が可能であることは理
解されよう。
【図面の簡単な説明】
【図1】本発明による論理乗算回路のブロック図。
【図2】フォーマッティング回路のブロック図。
【図3】デコード回路のブロック図。
【図4】部分積ジェネレータ回路のブロック図。
【図5】計算及びフォーマッティング回路のブロック
図。
【図6】加算回路のブロック図。
【図7】計算及びフォーマッティング回路内での処理演
算の進行を示す概略図。
【符号の説明】
1 論理乗算回路 2 ブースデコーダ 3 部分積ジェネレータ 4 フォーマッティング回路 6 左シフト回路 8 マルチプレクサ回路 9 符号回路 10 インクリメント回路 11、12、13、18 加算回路 19 フォーマッティング回路 21〜28 セル 30 左シフトレジスタ 31、32 マルチプレクサ 33 連結回路 35 論理制御回路 42〜45 入力端子 86〜88 マルチプレクサ回路 90〜98 制御回路 110 〜118 加算器

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】2つの2進数データ要素をそれぞれ示す第
    1の組及び第2の組のそれぞれn個の論理信号、nビッ
    トにエンコードされた被乗数及び乗数(但し、nは整
    数)を受け、2*nビットにエンコードされた出力2進
    数データ要素を示す2*n個の出力論理信号の組を生成
    する並列乗算論理回路であって、 第2の組の信号から論理選択信号を生成する回路と、 第1の組の信号と上記論理選択信号の組合せによって中
    間論理信号の組を生成する部分積ジェネレータと、 上記中間論理信号の組を受け、上記出力論理信号の組を
    生成する計算及びフォーマッティング回路とを備える並
    列乗算論理回路において、 上記計算及びフォーマッティング回路はインクリメント
    回路を備え、並列乗算論理回路によって受けた制御信号
    の作用によって、受けた信号の組の信号の変更によって
    このインクリメント回路が受ける信号の組から入力信号
    の組を生成することを特徴とする並列乗算回路。
  2. 【請求項2】上記インクリメント回路が受けた信号の組
    は、中間信号の組の1つであることを特徴とする請求項
    1に記載の回路。
  3. 【請求項3】上記インクリメント回路が受けた信号の組
    は、第1の組の信号と第2の組の信号の1つの信号との
    組合せによって生成された中間信号の組であることを特
    徴とする請求項2に記載の回路。
  4. 【請求項4】上記計算及びフォーマッティング回路回路
    は、入力信号の組を受け、出力信号の組を生成する加算
    回路を備え、その加算回路は複数の並列接続入力を有す
    る基本加算器によって形成され、各加算器は1つの入力
    に入力信号の組の少なくとも1つの信号を受けることを
    特徴とする請求項1〜3のいずれか1項に記載の回路。
  5. 【請求項5】上記インクリメント回路が受けた信号の組
    の1つは、上記加算回路によって生成された出力信号の
    組であることを特徴とする請求項4に記載の回路。
  6. 【請求項6】全加算回路の基本加算器は、1つの入力に
    選択信号の1つを受けることを特徴とする請求項4また
    は5に記載の回路。
  7. 【請求項7】上記加算回路が受けた入力信号の組の1つ
    は、上記インクリメント回路によって生成する信号の組
    であることを特徴とする請求項4〜6のいずれか1項に
    記載の回路。
  8. 【請求項8】上記加算回路は、ウォーレスツリー(Walla
    ce tree)として知られている構造を形成していることを
    特徴とする請求項4〜7のいずれか1項に記載の回路。
  9. 【請求項9】論理選択信号を生成する上記回路は、ブー
    ス(Booth) デコーダであることを特徴とする請求項1〜
    8のいずれか1項に記載の回路。
  10. 【請求項10】上記部分積ジェネレータは、 第1の組の信号の左シフトによって第3の組の信号を生
    成する左シフト回路と、 第1及び第3の組の信号の反転によって第4及び第5の
    組の信号を生成する反転回路と、 その第1、第3、第4及び第5の組の信号と一定の論理
    状態の第6の組の信号を受けるマルチプレクサ回路であ
    って、このマルチプレクサ回路はまた選択信号を受け、
    これらの選択信号の作用によってそのマルチプレクサ回
    路が受けた5組の信号の1つに派生信号の各組が等しい
    ように派生信号の組を生成するマルチプレクサ回路と、 選択信号の作用によって符号拡張信号の組を生成し、派
    生信号の組の1つ及び符号拡張信号の組の1つの連結に
    よって中間信号の組を生成する連結回路を備える符号拡
    張回路とを備えることを特徴とする請求項1〜8のいず
    れか1項に記載の回路。
JP7202804A 1994-07-15 1995-07-17 並列乗算論理回路 Pending JPH0844540A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9408950 1994-07-15
FR9408950A FR2722590B1 (fr) 1994-07-15 1994-07-15 Circuit logique de multiplication parallele

Publications (1)

Publication Number Publication Date
JPH0844540A true JPH0844540A (ja) 1996-02-16

Family

ID=9465554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7202804A Pending JPH0844540A (ja) 1994-07-15 1995-07-17 並列乗算論理回路

Country Status (5)

Country Link
US (1) US5740095A (ja)
EP (1) EP0692762B1 (ja)
JP (1) JPH0844540A (ja)
DE (1) DE69506045T2 (ja)
FR (1) FR2722590B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045685A (ja) * 2014-08-22 2016-04-04 富士通株式会社 乗算回路及びその乗算方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3678512B2 (ja) * 1996-08-29 2005-08-03 富士通株式会社 乗算回路、該乗算回路を構成する加算回路、該乗算回路の部分積ビット圧縮方法、および、該乗算回路を適用した大規模半導体集積回路
EP0840207A1 (en) * 1996-10-30 1998-05-06 Texas Instruments Incorporated A microprocessor and method of operation thereof
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
US6477203B1 (en) 1998-10-30 2002-11-05 Agilent Technologies, Inc. Signal processing distributed arithmetic architecture
US7020788B2 (en) * 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US6976158B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US6985986B2 (en) * 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US20030005269A1 (en) * 2001-06-01 2003-01-02 Conner Joshua M. Multi-precision barrel shifting
US6952711B2 (en) * 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US20020184566A1 (en) * 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US20030028696A1 (en) * 2001-06-01 2003-02-06 Michael Catherwood Low overhead interrupt
US7003543B2 (en) 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US7467178B2 (en) * 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US7007172B2 (en) * 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US6937084B2 (en) * 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US6934728B2 (en) * 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US20030023836A1 (en) * 2001-06-01 2003-01-30 Michael Catherwood Shadow register array control instructions
US6975679B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US20030005268A1 (en) * 2001-06-01 2003-01-02 Catherwood Michael I. Find first bit value instruction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0222733A (ja) * 1988-07-12 1990-01-25 Fujitsu Ltd 乗算命令処理方式
JPH03256117A (ja) * 1990-03-07 1991-11-14 Fujitsu Ltd 乗算器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8700216A (nl) * 1987-01-29 1988-08-16 Philips Nv Werkwijze voor het testen van een gemodificeerde boothmultiplicator, gemodificeerde boothmultiplicator, geschikt om volgens deze werkwijze te worden getest, en geintegreerde schakeling, voorzien van een dergelijke gemodificeerde boothmultiplicator.
KR940002479B1 (ko) * 1990-03-20 1994-03-24 후지쓰 가부시끼가이샤 고속 디지탈 병렬승산기(multiplier)
US5253195A (en) * 1991-09-26 1993-10-12 International Business Machines Corporation High speed multiplier
JPH05150950A (ja) * 1991-11-29 1993-06-18 Sony Corp 乗算回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0222733A (ja) * 1988-07-12 1990-01-25 Fujitsu Ltd 乗算命令処理方式
JPH03256117A (ja) * 1990-03-07 1991-11-14 Fujitsu Ltd 乗算器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045685A (ja) * 2014-08-22 2016-04-04 富士通株式会社 乗算回路及びその乗算方法

Also Published As

Publication number Publication date
EP0692762A1 (fr) 1996-01-17
FR2722590B1 (fr) 1996-09-06
DE69506045T2 (de) 1999-04-15
US5740095A (en) 1998-04-14
FR2722590A1 (fr) 1996-01-19
EP0692762B1 (fr) 1998-11-18
DE69506045D1 (de) 1998-12-24

Similar Documents

Publication Publication Date Title
JPH0844540A (ja) 並列乗算論理回路
US10255041B2 (en) Unified multiply unit
JP3244506B2 (ja) 小型乗算器
US6523055B1 (en) Circuit and method for multiplying and accumulating the sum of two products in a single cycle
JP3605181B2 (ja) 掛け算累算命令を使用したデータ処理
US20110264719A1 (en) High radix digital multiplier
JP5640081B2 (ja) 飽和を伴う整数乗算および乗算加算演算
JPS6217770B2 (ja)
EP0375947A2 (en) Two's complement multiplication with a sign magnitude multiplier
JPS60163128A (ja) 乗算回路
US5195051A (en) Computation of sign bit and sign extension in the partial products in a floating point multiplier unit
JP3297683B2 (ja) 乗算器
US20040010536A1 (en) Apparatus for multiplication of data in two's complement and unsigned magnitude formats
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US8219604B2 (en) System and method for providing a double adder for decimal floating point operations
JPH08504525A (ja) 改良された高速乗算器
TW457452B (en) Methods and apparatus for performing fast multiplication operations in bit-serial processors
US5206825A (en) Arithmetic processor using signed-digit representation of external operands
US8417761B2 (en) Direct decimal number tripling in binary coded adders
JPH08314697A (ja) 符号付き/符号なし数兼用乗算器
US5153847A (en) Arithmetic processor using signed digit representation of internal operands
JPH0467211B2 (ja)
JPH05173761A (ja) 2進整数乗算器
CN118312134B (zh) 用于sram阵列内乘法的部分积生成电路和乘法器
KR100315303B1 (ko) 디지탈 신호 처리기

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000307