JPS6389929A - 固定オペランドをもつ2進加算器及びこの種の加算器を内蔵する直列−並列2進乗算器 - Google Patents

固定オペランドをもつ2進加算器及びこの種の加算器を内蔵する直列−並列2進乗算器

Info

Publication number
JPS6389929A
JPS6389929A JP62237080A JP23708087A JPS6389929A JP S6389929 A JPS6389929 A JP S6389929A JP 62237080 A JP62237080 A JP 62237080A JP 23708087 A JP23708087 A JP 23708087A JP S6389929 A JPS6389929 A JP S6389929A
Authority
JP
Japan
Prior art keywords
bit
adder
carry
operand
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
JP62237080A
Other languages
English (en)
Inventor
フランシス・ジユタン
ニコラ・ドウマシウ
ミシエル・ダナ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JPS6389929A publication Critical patent/JPS6389929A/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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/5055Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination in which one operand is a constant, i.e. incrementers or decrementers
    • 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
    • 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/386Special constructional features
    • G06F2207/3876Alternation of true and inverted stages
    • 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)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 発明の背景 本発明は、そのうちの1方が既知の固定値をもつ2個の
オペランドの合計を計x−rるための2進加筆「器に係
わる。
本発明はでた。ランダムな2進値をもつ直列オペランド
とF知の固定2進値をもつ並列オペランドの間の積を計
算するための直列−並列2進乗算器にも係わる。
加算器と乗算器とは、マイクロプロセッサから完全なコ
ンピュータででほとんどの情報処理システム内に用いら
れる演算子である。乗算器はその速度面からも実施のた
めの材料原価の面からも。
しばしば情報処理システムの寛要な演算子である。
オペランドの1つが決まっているだけでなく。
演算子を笑現する時にすでに分かつているという状態が
生じてくる。これは特に特定のアルゴリズムを行なうた
めに特別に設計された特殊が積回路の分野でしばしば起
こる。佑号処迎アルゴリズムが特に引用される。例えば
イメージ信号伝送分野では1画像信号は伝送に完立って
圧縮及びコード処理を受ける。
これには特に分晧コサイン変侠のようなp形変換が含オ
れる。この種の変換は従米からグラフで褒わされる。グ
ラフでは分岐が乗算を碧わし、ノードが加算又は減算を
表わす。
この稗のグラフは、IEEE通([事優(IEEETr
ansactions on Convnunicat
ions ) COM −25巻第9*、1977年9
月第1004〜1009頁に掲載のw、H,チェ7(c
len)他による「分離コサイン変換のための高速計算
アルゴリズム」(A fast computatio
nal algorithm forthe disc
rete cosine transform) s及
びIEEE電磁両立性議事録(I BEE  Tran
sactionson Electromagneti
c Compatibility )EMC−24巻第
2号、1982年5月第278〜286員並びに米国特
許第4 38s  363号に掲載のA、ジャラリ(J
alalt)他にょるrNTscカラーTV信号の英時
間処理のための高FDCT処理装置J (A high
 FDCT proees80r forreal−t
ime processing of NTSCcol
orTV signal )に説明されている。
この種の線形変換では、各乗算は既知である、ランダム
性の2進値なもつオペランドと固定の、既知の2進値の
オペランドとに関連する。
先行技術回路では、オペランドの1つは固定され1分か
つているものは考慮されない。加算又は乗算されるべき
2個のオペランドの1つが固定されていても、ランダム
値をもつ2個のオペランドを取扱うことを可能にする完
全な乗算器又は加算器がふつうは使用される。これは充
分ではない。
従って2つのオペランドの1つが固定されているという
事実が考慮されるならば都合が好いであろう。これらの
利点は演算速度が高′f9.あるいは集積回路上に演算
子の占める表面を縮小で館るということである。
演算子の入力の1つを適切な電位を霞なったビットをつ
なぐことによって固定オペランド値としてし壕うことを
目指すこともできょう。しかし速度と表面利得は小さい
ままである。
2個のオペランドの1つが定められているという事実を
考慮した公知の解決法は、#記固定オペランドと可変オ
ペランドの考え得るすべての値との間のあらかじめ計算
された演算の結果をROM内に記憶するというものであ
る。従って演算はROMへの読取りになり、可変オペラ
ンドは前記メそりをアドレス指定するためのインデック
スとしての役割を果す。
この方法は幾つかの適用を見出すことができた。
□しかしこれらの適用は限定されており、その理由はR
OMの寸法とそこへの゛アクセス時間が、オペランドの
寸法と共に急速に増大するためである。
特にROMの寸法が大きいことがこの種の方法に表面原
価が過度になるため集積回路の形で加算器又は乗算器を
作ることを不可能にしている。
従って先行技術の加算又は乗算演算子は、たとえそれら
が2個の可変オペランドを乗算することができる標章形
乗算器の形やROMに内蔵のテーブルの形をとるとして
も、集積化構造の表面に対して速度も非常に早(はなく
、かつ高価になる。
発明の要約 本発明の目的は2個のオペランドの1つが固定され既知
で場合に加算及び乗算演算子の表面原一価を減少させる
ことである。
本発明は、ランダム2進値なもつ第1オペランドを固定
され知られている2進値なもつ第2オペランドに加算す
るための2進加算器を目的としてRす、その構造並びに
接続は第2オペランドのあらかじめ定められた前記2進
値に従って決定される。
より特定的には1本発明はランダム2進値をもつnビッ
トAn−□、・・・A0の第1オペランドAをあらかじ
め定められた2進値のnビットBn−1゜・・・B0の
第2オペランドBに加えるための2進加算器に係わり、
前記加算器はn個の加算セルcAn−,I・・・CAo
を有し、各セルは第1オペランドからのO<i <n 
−1であるビットAiを受をるためのデータ入力と1桁
上げビットCiを受取るための桁上げ入力と、データ出
力Siと1桁上げビットCi+、を供給するための桁上
げ出力と。
0 <j <n −2であってランクj+1の加算セル
の桁上げ入力と結合するランクjの加算セルの桁上げ出
力とを備えており、0≦i≦n−1である名加算セルC
A、がオペランドBのビットBiの値の関数として組込
まれる。
好ましい1具体例では1本発明2進加算器は2つのタイ
プの加算セルを含み、それらは一方では非相補桁上げビ
ットを受取り、かつ相補桁上げビットを供給するべ(設
計された加算セルであり、他方では相補桁上げビットを
受取り、かつ非相補桁上げビットを供給するべく設計さ
fた加算セルであり、加算器の連続する加算セルは交互
に第1のタイプと第2のタイプか配置されている。
本発明はさらに2個の2進オペランドを掛は合わせるた
めの、一方が固定された既知の値である直列−並列2進
乗算器にも係わる。
この2進乗算器は、固定オペランド値に従って接続され
た本発明加算器を含んでおり、前記加算器は入力及び出
力をもち1乗算器はさらに2個の入力及び1個の出力を
もつマルチプレクサを含み。
第1入力が加算器の出方に接続され、前記マルチプレク
サはまた直列形に非固定オペランドが付加される制御入
力をももち1本乗算器はさらに1個の入力とIIImの
出力をもつアキュムレーターシフトレジスタを含み、前
記レジスタの入力はマルチプレクサの出力に結合され、
前記レジスタの出方は加算器の入力とマルチプレクサの
!2人カとに結合されている。
逆符号の2個のオペランドの掛は算を可能ならしめるた
め、1変形例によれば乗算器がアキュムレーターシフト
レジスタの出力と加算器の入力との間に位置決めされた
@2マルチプレクサを含んでおり、^υ記第2マルチプ
レクサは2個の入力をもち、それぞれがアキュムレータ
ーシフトレジスタの出力と、インバータの出力とに結合
し、その入力はアキュムレーターシフトレジスタの出力
に結合され1乗算器はさらに加算器に付与される桁上げ
ビットの状態を制御するための第3マルチプレクサを含
み、第2及び第3マルチプレクサは非固定オペランドD
の最上位のピッ)Di−0にょって制御されている。
有利なl具体例によれば、逆符号の2個のオペランドを
処理することができる乗算器は数ビットの直列オペラン
ドを同時に処理するためのブースデコーダをも含んでお
り、前記デコーダはアキュムレーターシフトレジスタの
内容の極性を蓄積するための状態ビットを記憶するため
の手段を内蔵している。
好適具体例 本発明加算器及び乗算器の好適具体例を説明するに先立
って、標準形の先行技術加算器及び乗算器の一般構造に
ついて言及する。これらの演算子はランダム2進値をも
つ2個のオペランドを処理することができる。先行技術
加算器の1例として、マンチェスター・キャリー・チェ
イン形のCMJi術加算器を説明する。
@1図はランダム値の2個のビットAH及びB量の合計
を計算することを可能ならしめる先行技術加算セルを表
わす。完全加電器は1組のこの種の加算セルを含み、そ
れぞれが2個のオペランドA及びBのそれぞれから1個
のビットを受取る。ビット相及びBiを受取るための2
@のデータインプットとは別に、前記加算セルは、加算
器の先行加算セルの拵上げビットCiを受取るための桁
上げ入力を含む。2個のビットA1及びBn−1、の合
計Slは1出力へ1桁上げCi+tは他の出方へ付加さ
れる。
第1図に示す加算セルは、その入力のそれぞれでビット
A1及び町を受取るXORゲート2と。
XORゲート2の出力へ入力が接続するインバータ4と
、従来式Kpチャンネル6aをもつCMOSトランジス
タ及びnチャンネル6bをもつCMOSトランジスタを
含むスイッチ8と、XORゲート10とを含んでおり、
その入力の1つはXORゲート2の出力に結合し、他の
入力は桁上げビットCiを受取る。
スイッチ8は、桁上げ入力Ciを桁上げ出力Ci+1に
結合する線路上に位置する。このスイッチはXORゲー
ト2の出力信号の符号によって制御されるに の加算セルは、論理状態「0」に対応して桁上げ出力C
i+1と固定電位vddO間に直列に配置された2個の
チャンネルpcMO8)ランジスタ12.14を含む。
これは論理状態「1」に対応して桁上げ出力Ci+1と
固定電位v0との間に配置され直列式に結合された2個
のnチャンネル0MO8)ランジスタ16.18を対称
形に含んでいろ。トランジスタ12及び16は、インバ
ータ13によって生じるビットAiの補数A、によって
制御され、トランジスタ14及び18は、インバータ1
5rよって生じるビットBn−1、の補数Bn−1、に
よって制御される。
@2図は1組の論理ゲート形で第1図の加算セルを表わ
す。ANDゲート20.22及びORゲート24は、イ
ンバータ4,13及び15.スイッチ8及びトランジス
タ12,14.16及び10によって構成されるアセン
ブリと同一機能を果す。
第2図では、ANDゲート20はビットA1及びBiを
受取る2個の入力を含み、ゲート22はXORゲート2
によって供給される信号及びCiを受取る2個の入力を
含み、ORゲート24は桁上げビットCi+、を供給し
、かつANDゲート20.22の出力に結合した2個の
出力を含む。
従来形加算器は第1及び2図に示す通り、複数個の加算
セルを直列に配置することによって構成され、各セルの
桁上げ出力は次のセルの桁上げ入力に接続する。
第3図には、ランダム値の2個の2進オペランドB及び
Dを掛は合わせるための、この種の加算器を含む先行技
術に従う直列−並列2進乗算器を表わす。
加算H28は2個の入力を含み、その出力ではその入力
に加わるオペランドの合計を供給する。
前記加算器の出力はアキュムレータ−シフトレジスタ3
00Å力に結合され、このレジスタは掛は算の中間糖果
と各反復毎に前記結果の右側に1ビツトのシフトを記憶
する。アキュムレータ−シフトレジスタの出力は、加算
器28の入力の1つに再ループされ、る。′Ik後に乗
算器は、並列入力上にオペランドBを直列入力上に他の
オペランドDを受破り、さらに直列入力に加えられろビ
ットの論理値が「1」であり1反対の場合は「O」であ
るとき加算手段の入力に対し並列オペランVを供給する
選択手段26を含む。
第1図〜第3図を参照すれば、清書形加算器と乗算器の
従来構造が説明できる。次に本発明加算器及び乗算器の
幾つかの具体例を示して説明する。
本発明によれは、既知の値の固定オペランド及びランダ
ム値のオペランドを加えるための加算器の各加算セルは
特別な構造をもち、固定オペランドの特定値の関数であ
る。従って本発明加算器では、2種のタイプの加算セル
か存在する。即ち論理値「0」の固定オペランドのビッ
トと結びついた加算セル、及び論理値「1」の固定オペ
ランドのビットと結びついた加算セルである。
第4a図及び第4b図は1例えばこれら2つのタイプの
加算セルに対応する0MO8技術の加算セルを示す。こ
れらのセルは、第1図の公知形加算セルから幾つかの素
子を省いた上で引出して(ることかできる。
従って、第4&図の加算セルは第1図の加算セルに基づ
いてRす、そこからXORゲート2.インバータ15及
びトランジスタ12.14及び18を省いた形である。
さらにインバータ4の入力はビットAiを直接に受取り
、インバータ13を省略することが可能となる。この加
算器は、ランダム値のピッ)Ai及び「0」K等しい固
定値のビットBiO間の加法を実施することを可能とす
る。
ホ4b!!’UK示す加算セルは、「1」に等しい固定
値のビットJrランダム2進値のビットAlを加えるた
めの本発明加算セルである。この加算、セルは、XOR
ゲート2及びトランジスタ14.16及び18を省くこ
とによって第1図のセルから引出される。
第4a図及び第4b図の加算セルは、論理ゲートの形で
vIB a図及びl;5b図に示されている。
従って第4a図の加算セルは2つの論理ゲート。
主としてXORゲート10及びANDN−ゲートKMじ
られている。各ゲートの1入力はビットAHを受取り、
他の入力は桁上げビットCiを受取る。
ANDゲート26は桁上げビットCi+1を供給し。
XORゲート10は合4ビットS4を供給する。
−5b図に示す加算セルはインバーター3゜XORゲー
ト10及びORゲート2Bを含む。
NOTスイッチ13はビットA1を受取る。その出力は
XORゲート1001入力に結合し、他の入力は桁上げ
ビットCを受取る。XORゲート1Oの出力は合計Si
を9?給する。i々仮に、ORゲート2Bは入力にビッ
トA1及びCiを受取り。
桁上げビットCi+1を供給する。
完全加算器はi%4a図及び4b図に示す通り。
加算セルを含む。これらの加算セルは直列に接続され、
即ち1つの加算セルの桁上げ出力は次の加算セルの桁上
げ入力に接げされている。
第6図は直列接続された加算セルCAo e CAi・
・・CAn−1のグループから成る本発明加勢、器を示
す。各加算セルはビットA1を受取り、o<i<fi−
1は可変オペランドAn−1eAn−2・・・Aoから
生じる。
本発明によれば、各加算セルCAiは特定構造なもち、
固定された既知のオペランドBイー1fBn−2・・・
B のピッ)BtのI!III理値の関数である。
従って加算器は2′M!1のタイプの加算セル、例えば
第4&図及び@4b図に示す加算セルであり得るセルを
含む。
加算器は2個のオペランドの符号がどうであれ。
使用されることかで診る。固定オペランドが負である場
合は、加算セルを前記固定オペランドが2の補数コード
で表わされるようにして選択するととが必要なだけであ
る。
加算器は減算器として用いられることもできる。
この場合、先の場合のよ5に、固定オペランドの補数を
加算し1桁上げビットCi′Ik論理値「1」に結合す
ることになるI!l及び第2のタイプの加算セルを入れ
換え、固定オペランドBを可変オペランドAK加算する
こととすることだけが必要である・ 固定オペランド°のビット値に従って接続した加算セル
の使用は、かなりの表面利得をもたらす。
従って第41及び4b図に示す加算セルは9個のトラン
ジスタを必要とするだけであるが、91図の先行技研加
算セルは22個のトランジスタを必要とし、シリコン表
面利得は50%以上となる。
さらに1本発明加算器内のクリティカルパスは第1図の
加算セルだけをもつ加算器より負荷か軽いから1本発明
加算器の性能特性はより優れている。それらは公知方法
によって非相補桁上げビットな受取り、かつ相補桁上げ
ビットを供給するために設計された加算セルと、相補桁
上げビットを受取り、非相補桁上げビットを供給するた
めの加算セルを交互に使用することによって改良するこ
とができる。
この林の構造は、加算器の連Pする加算セル内で桁上げ
ビットの伝搬速度を上げることを可能にする。本発明の
範囲内での実現を可能にするため。
第4a図及びIg4b図に示す通り2個の加算セルタイ
プのそ1ぞれを、1方は受取られた桁上げビットが相補
されない場合に対応し、他方は受取られた桁上げビット
が相補される地合に対応する2つのサブタイプの加算セ
ルVr置替えることが必要である。
第78図及び第7b図は、論理値「0」のビットB 及
び論理値「1」のビットBIKそれぞれ対応し1桁−ヒ
げビットCiを受取り、ビットCi+1以上の柑補桁上
げを供給する加算セルを示す。
第? a n及び第7b図に示す具体例において。
加算セルは、出力桁上げビットの値を相補するためイン
バータ30によって補足される第4&図及び第4b図に
それぞれ示される加算セルと同一であるO −バにして、fP、sa図及び第8b図に示す加算セル
は、相補桁上げビットCiをダ・取り1桁上げビットC
i+1を供給する論理値「0」のビットBiと論理値「
1」のビットBn−1、にそれぞれ対応する。
@8a゛図r示す加算セルは第7b図に示す加算セルに
事実上同一である。相違は、トランジスタ6aKよって
受信されるビットAiがインバータ4Ijt用いて相補
され、トランジスタ6b及び12が直接rビットAlを
受取ることだけである。同様に、第8b図に示される加
算セルは第7a図のそれと事実上同一で、ビットAiが
トランジスタ6a及び16に直接に付加され、トランジ
スタ6bがインバータrより相補されるビットA1を受
取ることが違う。
@4m、4b、7ae 7be8a及び8b図を参照し
て1本発明加算器のための加算セルの特別具体例を説明
する0例として、CMO8技術の加算セルが示されてい
る。しかし本発明は別の技術を用いた様々な加算セルア
ーキテクチェアをベースにして実施されることもで館る
先に説明した加算器は本発明の1glの目的である。こ
の加算器はさらに有利には、固定された既知の値のオペ
ランドとランダム値のオペランドと゛を掛は合わせるた
めの2進乗算器を製造するために用いられることもでき
、これが本発明のwc2の目的となる〇 本発明2進乗算器は第9図に図示してあり1本発明加算
器32.マルチプレクサ34及びアキュムレータ−シフ
トレジスタ36を含んでいる。
乗算器を構成する素子の入力及び出力は並列形である。
レジスタ36は入力と出力を含む。加算器32はレジス
タ36の出力と結合した入力及び出力を含む。マルチプ
レクサ34は2個の入力を含み、その1方は加算器32
の出力へ、他方はレジスタ36の出力へ結合する。マル
チプレクサ34の出力はレジスタ36の入力に接続する
固定された既知のオペランドBは第6図を参照して説明
されている通り、加算器32の構造内に具体化されてい
る。固定されていないオペランドDは、マルチプレクサ
34の制御インプット38へ直列形に付与される。マル
チプレクサの作動は次の通りである。もしランクiのビ
ットDIにおいて、マルチプレクサ34の入力30に付
与されるオペランドDの0 < i < n −1が値
「0」をもつていれば、マルチプレクサ34は、レジス
タ36の出力をll]if配レジスタ36の入力に接続
するため制御される。逆にもしビットDiが値「1」を
持っていれば、レジスタ36の入力は加U器32の出力
に接続する。
第9図に示す本発明乗算器は、ul、3図の先行技術加
W、器とは多少界なる9造をもつ、主な違いは。
加tLs28(第3図)が2@のランダムオペランドを
加算することができる悼邸加W器であるのに。
第9図の加算器32はあらかじめ定められたオペランド
Bをランダムオペランドに加えることだけが可能な専用
加算器であるということである。
本発明乗算器の1点は、先行技術乗¥4−器と比較して
加W器32が使用されていることから生じる。
これらの利点は集積回路上の占有面積がなお小さくなる
こと、及び加算器の最適化による処理速度の高速化であ
る。
第9図の具体例では、加算器はレジスタ36の内容を固
定オペランドBに加えることができるだけで、この値は
正負のどちらでもよい。第2の場合には、第6図の説明
と結びつけて述べた通り。
オペランドBは2の補数コードをもち、加算器の第1加
算セルはその桁上げピッ)Ci上に論理値「1」のビッ
トを受取る。
直列オペランドの符号処理はさらに難かしい。
つまり2の補数コードにおいて、直列オペランドAの最
上位のビットは負の意味を表わし、レジスタ36の内容
に正確な結果を得るために固定オペランドBの逆数を加
えることが必要である。これは第9図の乗算器の加算器
32については実現できず、第9図では設計自体からし
て単一オペランドBを加えることができるだけである。
この間順を解決するため、第°9図の乗算器は固定オペ
ランドBの逆数を加えることができるように修正される
。このような修正形乗算器を第10図に示す。
この乗算器では、第9図の乗算器と同一の素子には同一
符号を付しである。@10図の乗算器は。
レジスタ36の内容を逆にすることを可能にする補助素
子を含んでいる。これらの手段はインバータ38を含み
、その入力がレジスタ36の出力に結会し、さらにマル
チプレクサ40と結合し、マルチプレクサの@1入力が
インバータ38の出力に結合され、他の入力がレジスタ
36の出力に結合されている。マルチプレクサ40の出
力は加算器320入力に結合している。
マルチプレクサ40は、直列オペランドDの最上位ピッ
)Dn、を受取るための制御入力42を含む。従ってマ
ルチプレクサ40は、Di、が「OJに等しければレジ
スタ36の内容を* Dn−1が「1」に等しければレ
ジスタ36の内容の逆数を加算器32の入力に供給する
@10図に示す乗算器はまた。直列オペランドDの最上
位ビットDn−1Fよっても沿制御される別のマルチプ
レクサを含む。このマルチプレクサ44は、値「0」及
び「1」の論陣信号がそれぞれ付与される2つの入力を
もつ。このマルチプレクサの出力は、加算器32の桁上
げ入力CiK拶続されろ。
先に説明した通り、固定オペランドBと負の直列オペラ
ンドDCm埋値「1」のDn−t)との加算は、レジス
タ36の内容から固定オペランドBを差引くことができ
ることを必要にする。これは加算器32にとって匡(接
に可能ではなく、設計によって固定オペランドBを受取
った可変オペランドに加えることができるだけである。
この演算は乗算器10では次の順序によって置き替えら
れる。即ち。
レジスタ36の内容の逆数を固定オペランドBに加える
。結果をメモリ36に記憶する。インバータ38を用い
てレジスタ36の内容を相補する。
乗腎の最終結果はマルチプレクサ40の出力に与えられ
る。
@10図は、固定オペランドBを非固定オペランドDK
対しその符号がどうであれ加えることを可能にする乗W
器の1具体例を表わす。1じて。
本発明は2つのオペランドの少なくとも1つを相補する
ことを可能にするすべてのアーキュテクチュアをカバー
し、その結果、考えられた結果の逆数を生じ、かつ前記
結果の相補演算が続く加11達するようKする− 乗算の!ip:を得るために使用するものとして。
アキュムレーターシフトレジスタ36を用い、あるいは
補助的な直列−並列レジスタを加えることが可能である
・ アキュムレーターシフトレジスタ36は、バイプライン
が目指されていない場合は理想的である。
レジスタ36はより有利には、並列出力又は直列出力の
どちらかを可能ならしめるタイプである。
後者の場合には、第11図に示すように、W列出力上に
インバータ44を含み、その結果、直列オペランドが負
である場合にレジスタ36の内容の最終的相補を得るこ
とが有利である。これは、インバータ38及びマルチプ
レクサ40を介してレジスタ36の内容の最終的相補と
比較される1クロック周期を節約することを可能にする
幾つかの乗算がカスケードに行なわれなければならない
場合、連続する乗算器間にパイプラインを設けることが
望ましい。この場合、2(aのレジスタが使用されなけ
ればならず、主としてvgルジスタはアキュムレータと
して作動し、@2レジスタは直列−並列形式変換を行な
う。この糟の乗算器を第12図に示す。レジスタ36は
部分乗算結果のためのアキュムレータとして働らく。乗
算の終りにレジスタ36の内容は直列−並列レジスタ4
6内に並列に記録される。インバータ48は。
第11図の乗算器のインバータと同一の機能をもち、レ
ジスタ46の直列出力上に配筐されることができる。
2個のレジスタ36及び46の同時使用は、第1乗算の
結果がレジスタ46内で直列−並列形式変換を受けるの
に対し1乗算器内で!2乗算を開始することを可能にす
る。
w49図に示す乗算器及び、第10図〜第12図に示さ
れると構造的変形例では、直列オペランドDの各ビット
Dlは個々に処理される。乗算を行なうために要する加
算数は従って固定オペランドDのビット数に叫しい・ 2進乗算器の分野では、ブースアルゴリズムと加算で乗
算の結果を得るため幾つかの部分合計を隼めることを可
能rする。例えば、3ビツトブースアルゴリズムについ
て、非固定オペランドDのビットは各クロック周期につ
いて2ビツトのシフトで3つずつグ1即され、カ/2の
加算で乗1!!結果を得ることが可能になる。
3ビツトブースアルゴリズムでは、オペランド第1表 A I+I A I  A1−1  (t−−2・Ai
+1  十Ai  +A1−1001        
      +1010              
+1011          +2 1   !    1              0
このd値は固定オペランド第1表算される前にオペラン
ドDのための乗算係数を決定する。
第1表に示した値は、固定オペランドBに対してO,D
i2Di−D及び−2Dのうちの1つの値を加え得るこ
とが必要であり、そのためf算器は次か可能となるよう
修正されなければならないことを示す。即ち。
−レジスタ36を1及び2ピツトだけシフトし。
その結果、値り及び2Dをつくりだし。
−レジスタの内容を相補するため乗W、器40’ll制
御し、従って値−り及び−2Dをつくりだし。
−レジスタ36内に記憶された複数個の結果を記憶する
e 3ビツトブースアルゴリズムを相補する本発明乗算器を
第13図に示す。この乗算器は第1θ図に示すと同じ素
子を含む。cらに可変オペランドDの3つの連続するビ
ットDトいDi及びDI+。
が同時に付与される3つの入力をもつブースデコーダ5
0も古管nている。
乗算器はまたORゲート52を含み、その1入力はオペ
ランドDから最上位ビットDi1を受取り、その他方の
入力はデコーダ50の出力に接続してgす、ORゲート
52の出力はマルチプレクサ40の制御入力42に接続
される。
デコーダ50は、レジスタ36の複数個の極性を記憶す
るため状態ビットを記憶するためのレジスタを含む、そ
れは薯た。受取られたビットの関数としてw、1表に示
した値dを計算し、さらに前記値と記憶された状態ビッ
トの関数として制御信号をレジスタ36.マルチプレク
サ34及びORグー)f12ff付与するための手段を
含む。
(以下余日) 第■表 乗算器のタイプ     tr     T   F電
trxTROM内の表の読取り    3.N、2N1
  3.N、?標準形乗算器(第3図)    48.
N    N   48.N”標準形乗算器(第3図)
+   50.N   N/2 25.N”3ビツトブ
ースデコーダ 次の乗算器(第10図)    24.N    N 
  24.N2次の乗算器(第13図)     26
.N   N/2 13.N2(3ビツトブースデコー
ダ) 第■表は本発明乗算器と、2個のランダムオペランドを
掛は合わせることができる標準形乗算器。
又は10M表への読取りを用いる公知の乗算器との相対
的性能を表わす。
性能は、乗算器を作るために必要なトランジスタ数tr
に比例するシリコン表面と1乗算をおこなうために必要
なりロック周期の数Tとの積に等しいメリット係数Fに
よって表わされる。パラメータtr及びTは各オペラン
ドのビット数Nの関数として表わさVる。
第10図の本発明乗算器は、ブースデコーダを内蔵する
従来形乗算器より僅かに高いメリット係数をもつ。メリ
ット係数はまた。第10図の乗算器がブースデコーダを
備えていれば倍化される。
【図面の簡単な説明】
第1図は2つのランダム値ビットA、及びB。 を加算するための先行技術による加算セル、第2図は第
1図の加算セルを論理ゲートの形で表わした概略図、第
3図はランダム2進値を2個のオペランドに掛は算する
ための先行技術による2進加算器の構造、第4a及び4
b図はランダム2進値のビットAlttそれぞれ論理値
「O」のビット及び論理値「1」のビットに加算するた
めの本発明加算器のための加算セル、第5a及び5b図
は論理ゲート形とした第4&及び4b図の加算セルの概
略図、簗6図は加算セルが固定オペランドのビット値の
関数として組込まれている本発明加算器の概略図、第7
3及び7b図は論理値「0」に固定したビット及び論理
値「1」に固定したビットにそれぞれ対応する本発明加
算セルであって、この加算セルが晶数桁上げビットを受
取り、5tti桁上げビラトラ供給するべく設計されて
いることを表わす概略図、第8a及び8b図は論理値「
0」に固定したビット及び論理値「1」に固定したビッ
トにそれぞれ対応する本発明加算セルであって。 この加算セルI−−桁上げビットを受取り、晶縛桁上げ
ビットを供給するべ(設計されていることを表わす概略
図、第9図は第6図の加算器を内蔵する本発明乗算器の
構造を表わす概略図、第10図はランダムな符号の2個
のオペランドを処理するための本発明乗算器の構造的変
形例、第11図は並列出力レジスタを内蔵する第10図
の乗算器の構造的な変形例、第12図は直列−並列出力
レジスタを内蔵する第10図のマルチプレクサの構造的
変形例、第13図はブース(Booth )のアルゴリ
ズムの実現を可能ならしめる本発明乗算器の1具体例を
図解する説明図である。 4・・・インバータ、    8・・・スイッチ。 10・・・ゲート、      12.16・・・トラ
ンジスタ。 AH・・・ランダム値ビット。 S、・・・合計ビット。 CitCi+1・・・桁上げビット。 ■□・・・固定電位。

Claims (10)

    【特許請求の範囲】
  1. (1)ランダム2進値をもつnビットA_n_−_1、
    ・・・A_0の第1オペランドAをあらかじめ定められ
    た2進値のnビットB_n_−_1、・・・B_0の第
    2オペランドBに加えるための2進加算器であつて、前
    記加算器はn個の加算セルCA_n_−_1、・・・C
    A_0を有し、各セルは第1オペランドからの0≦i≦
    n−1であるビットA_iを受取るためのデータ入力と
    、桁上げビットC_iを受取るための桁上げ入力と、デ
    ータ出力と、データ出力S_iと、桁上げビットC_i
    _+_1を供給するための桁上げ出力と、0≦j≦n−
    2であつてランクj+1の加算セルの桁上げ入力と結合
    するランクjの加算セルの桁上げ出力とを備えており、
    0≦i≦n−1である各加算セルCA_iがオペランド
    BのビットB_iの値の関数として組込まれている2進
    加算器。
  2. (2)固定オペランドBの論理値「0」のビットB_i
    と結合した各加算セルがANDゲート及び XORゲートを含んでおり、それぞれがその入力でビッ
    トA_i及びC_iを受取り、ANDゲートが桁上げビ
    ットC_i_+_1を供給し、またXORゲートが合計
    ビットS_iを供給する、特許請求の範囲第1項に記載
    の2進加算器。
  3. (3)固定オペランドBの論理値「1」のビットB_i
    と結合した各加算セルが、ビットA_i及びC_iを受
    取り、かつ桁上げビットC_i_+_1を供給するOR
    ゲートと、ビットA_1を受取るインバータと、ビット
    C_i及びインバータから供給されるビットを受取り、
    かつ合計ビットS_iを供給するXORゲートとを含ん
    でいる、特許請求の範囲第1項に記載の2進加算器。
  4. (4)次の4つのタイプ、即ち、 論理値「0」のビットB_iと結びつき、その構造が桁
    上げビットC_iを受取り、かつ相補桁上げビット@C
    _i_+_1@を供給するために設計されている加算セ
    ル、 論理値「1」のビットB_iと結びつき、その構造が桁
    上げビットC_iを受取り、相補桁上げビット@C_i
    _+_1@を供給するために設計されている加算セル、 論理値「0」のビットB_iと結びつき、その構造が相
    補桁上げビット@C_i@を受取り、桁上げビットC_
    i_+_1を供給するために設計されている加算セル、
    及び 論理値「1」のビットB_iと結びつき、その構造が相
    補桁上げビットで@C_i@を受取り、桁上げビットC
    _i_+_1を供給するために設計されている加算セル
    、 のうちの少なくとも2つの加算セルを含み、加算器の加
    算セルが固定オペランドBの2 進値に従つて、2個の連続するセル間に伝達される桁上
    げビットの極性を考慮するようにして選択される、特許
    請求の範囲第1項に記載の2進加算器。
  5. (5)nビットB_n_−_1、B_n_−_2、・・
    ・B_0の固定オペランドBとランダム値のnビットD
    _n_−_1、D_n_−_2、・・・D_0のオペラ
    ンドDとの乗算のための直列−並列2進乗算器であつて
    、前記乗算器が部分乗算結果を記憶するためのアキュム
    レータ及びシフトレジスタを含んでおり、前記レジスタ
    は入力及び出力と、n個の加算セルCA_n_−_1、
    ・・・CA_0とをもつ加算器であり、各セルが第1オ
    ペランドから0≦i≦n−1であるビットD_iを受取
    るためのデータ入力と、桁上げビットC_iを受取るた
    めの桁上げ入力と、データ出力S_iと、桁上げビット
    C_i_+_1を供給するための桁上げ出力とを持つて
    おり、0≦j≦n−2であるランクjの加算セルの桁上
    げ出力はランクj+1の加算セルの桁上げ入力に結合し
    、0≦i≦n−1である各加算セルCA_iはオペラン
    ドBのビットB_iの値の関数として組込まれ、前記加
    算器がレジスタの出力に結合した1個の入力と1個の出
    力をもつており、さらに加算器の出力とレジスタの出力
    にそれぞれ結合した2個の入力とレジスタの入力に結合
    した1個の出力をもつ第1マルチプレクサを含んでおり
    、前記マルチプレクサが非固定オペランドDが直列形式
    に付与される1個の制御入力をも有している、2進乗算
    器。
  6. (6)前記加算器の各加算セルが固定オペランドBの論
    理値「0」のビットB_iと結合しており、ANDゲー
    ト及びXORゲートを含み、それぞれが入力でビットD
    _i及びC_iを受取り、ANDゲートが桁上げビット
    C_i_+_1を供給し、XORゲートが合計ビットS
    _iを供給する、特許請求の範囲第5項に記載の2進乗
    算器。
  7. (7)前記加算器の各加算セルが固定オペランドBの論
    理値「1」のビットB_iと結合しており、ビットD_
    i及びC_iを受取り、かつ桁上げビットC_i_+_
    1を供給するORゲートと、ビットD_iを受取るイン
    バータと、ビットC_i及びインバータにより供給され
    るビットを受取りかつ合計ビットを供給するXORゲー
    トとを含んでいる、特許請求の範囲第5項に記載の2進
    乗算器。
  8. (8)次の4つのタイプ、即ち、 論理値「0」のビットB_iと結びつき、その構造が桁
    上げビットC_iを受取り、かつ相補桁上げビット@C
    _i_+_1@を供給するために設計されている加算セ
    ル、 論理値「1」のビットB_iと結びつき、その構造が桁
    上げビットC_iを受取り、かつ相補桁上げビット@C
    _i_+_1@を供給するために設計されている加算セ
    ル、 論理値「0」のビットB_iと結びつき、その構造が相
    補桁上げビット@C_i@を受取り、かつ桁上げビット
    C_i_+_1を供給するために設計されている加算セ
    ル、及び 論理値「1」のビットB_iと結びつき、その構造が相
    補桁上げビット@C_i@を受取り、かつ桁上げビット
    C_i_+_1を供給するために設計されている加算セ
    ル、 のうちの少なくとも2つの加算セルを含み、加算器の加
    算セルは固定オペランドBの2 進値に従つて、2個の連続するセル間に伝達される桁上
    げビットの極性を考慮するようにして選択される、特許
    請求の範囲第5項に記載の2進乗算器。
  9. (9)逆符号の2個のオペランドB及びDの乗算を可能
    ならしめるための、さらに以下の素子、即ち、 アキュムレーターシフトレジスタの出力と 加算器の入力との間に位置しており、かつレジスタの出
    力と、レジスタの出力に入力が結合されているインバー
    タの出力とにそれぞれ結合する2個の入力をもつ第2マ
    ルチプレクサ、及び 論理状態「0」と「1」にそれぞれ保持さ れる2個の入力を持ち、その出力が加算器の桁上げ入力
    C_0に結合している第3マルチプレクサ、 を含んでおり、前記第2及び第3マルチプレクサがオペ
    ランドDの最上位のビットD_n_−_1によつて制御
    される、特許請求の範囲第5項に記載の乗算器。
  10. (10)ブースデコーダを含んでおり、前記デコーダが
    連続する3個のビットのグループの形でオペランドDか
    らビットを受取り、さらに前記ビットの論理値の関数と
    して第1及び第2マルチプレクサ及びレジスタを制御す
    るための信号を送出し、さらにレジスタの内容の極性を
    記憶するための状態ビット用記憶手段を備えている、特
    許請求の範囲第9項に記載の乗算器。
JP62237080A 1986-09-22 1987-09-21 固定オペランドをもつ2進加算器及びこの種の加算器を内蔵する直列−並列2進乗算器 Pending JPS6389929A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8613222 1986-09-22
FR8613222A FR2604270B1 (fr) 1986-09-22 1986-09-22 Additionneur binaire comportant un operande fixe, et multiplieur binaire parallele-serie comprenant un tel additionneur

Publications (1)

Publication Number Publication Date
JPS6389929A true JPS6389929A (ja) 1988-04-20

Family

ID=9339160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62237080A Pending JPS6389929A (ja) 1986-09-22 1987-09-21 固定オペランドをもつ2進加算器及びこの種の加算器を内蔵する直列−並列2進乗算器

Country Status (5)

Country Link
US (1) US4853887A (ja)
EP (1) EP0262032B1 (ja)
JP (1) JPS6389929A (ja)
DE (1) DE3774818D1 (ja)
FR (1) FR2604270B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143324A (ja) * 1991-05-06 1993-06-11 Motorola Inc 消費電力を低減した乗算実行装置及びその方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3880409T2 (de) * 1987-09-23 1993-11-25 France Telecom Binäre Additions- und Multiplikationsvorrichtung.
FR2656124A1 (fr) * 1989-12-15 1991-06-21 Philips Laboratoires Electro Multiplieur serie programmable.
US5452466A (en) * 1993-05-11 1995-09-19 Teknekron Communications Systems, Inc. Method and apparatus for preforming DCT and IDCT transforms on data signals with a preprocessor, a post-processor, and a controllable shuffle-exchange unit connected between the pre-processor and post-processor
US5619441A (en) * 1994-10-14 1997-04-08 International Business Machines Corporation High speed dynamic binary incrementer
US5602767A (en) * 1995-08-29 1997-02-11 Tcsi Corporation Galois field polynomial multiply/divide circuit and a digital signal processor incorporating same
US5748071A (en) * 1996-11-12 1998-05-05 Motorola, Inc. High speed comparator with programmable reference
US5958000A (en) * 1996-11-15 1999-09-28 Samsung Electronics, Co. Ltd. Two-bit booth multiplier with reduced data path width
US6539411B1 (en) * 1998-10-29 2003-03-25 Lucent Technologies Inc. Direct digital synthesizer
US6807556B1 (en) 2000-10-27 2004-10-19 Synplicity, Inc. Method and apparatus for parallel carry chains
US7428278B2 (en) * 2002-05-09 2008-09-23 Interdigital Technology Corporation Method and apparatus for parallel midamble cancellation
US8150902B2 (en) 2009-06-19 2012-04-03 Singular Computing Llc Processing with compact arithmetic processing element
CN102184090B (zh) * 2011-05-27 2013-12-04 清华大学 一种动态可重构处理器及其固定数的调用方法
CN111708512A (zh) * 2020-07-22 2020-09-25 深圳比特微电子科技有限公司 加法器、运算电路、芯片和计算装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL234515A (ja) * 1957-12-24
US4153939A (en) * 1976-01-24 1979-05-08 Nippon Electric Co., Ltd. Incrementer circuit
US4417316A (en) * 1981-07-14 1983-11-22 Rockwell International Corporation Digital binary increment circuit apparatus
US4417315A (en) * 1981-07-14 1983-11-22 Rockwell International Corporation Method and apparatus for incrementing a digital word
US4584660A (en) * 1983-06-22 1986-04-22 Harris Corporation Reduction of series propagation delay and impedance
US4700325A (en) * 1984-02-08 1987-10-13 Hewlett-Packard Company Binary tree calculations on monolithic integrated circuits
US4623982A (en) * 1985-06-10 1986-11-18 Hewlett-Packard Company Conditional carry techniques for digital processors

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143324A (ja) * 1991-05-06 1993-06-11 Motorola Inc 消費電力を低減した乗算実行装置及びその方法

Also Published As

Publication number Publication date
DE3774818D1 (de) 1992-01-09
FR2604270A1 (fr) 1988-03-25
US4853887A (en) 1989-08-01
FR2604270B1 (fr) 1991-10-18
EP0262032A1 (fr) 1988-03-30
EP0262032B1 (fr) 1991-11-27

Similar Documents

Publication Publication Date Title
KR920007029B1 (ko) X×y 비트 배열 배율기/어큐뮬레이터 회로
US5095457A (en) Digital multiplier employing CMOS transistors
JPS6389929A (ja) 固定オペランドをもつ2進加算器及びこの種の加算器を内蔵する直列−並列2進乗算器
US4891781A (en) Modulo arithmetic processor chip
US4594678A (en) Digital parallel computing circuit for computing p=xy+z in a shortened time
US20110264719A1 (en) High radix digital multiplier
US4864528A (en) Arithmetic processor and multiplier using redundant signed digit arithmetic
Ruiz et al. Efficient canonic signed digit recoding
US5181185A (en) Parallel multiplier using skip array and modified wallace tree
US4868777A (en) High speed multiplier utilizing signed-digit and carry-save operands
JPS6382546A (ja) ディスクリート変換を計算するための装置
US20080256165A1 (en) Full-Adder Modules and Multiplier Devices Using the Same
JPH08161149A (ja) シフト装置
GB2173328A (en) Cmos subtractor
US4866655A (en) Arithmetic processor and divider using redundant signed digit
US4706210A (en) Guild array multiplier for binary numbers in two's complement notation
US4866657A (en) Adder circuitry utilizing redundant signed digit operands
US5521855A (en) Multiplying circuit
EP0281303A2 (en) Modulo arithmetic processor chip
JPS58181143A (ja) デイジタル乗算器
JPH09185493A (ja) 加算器用集積回路
JPH0784762A (ja) 乗算回路
Bindal et al. Review of Combinational Logic Circuits
US5309384A (en) Digital multiplier with carry-sum input
JPH0582609B2 (ja)