JPH1011419A - 積和演算処理方法およびその装置 - Google Patents

積和演算処理方法およびその装置

Info

Publication number
JPH1011419A
JPH1011419A JP8167395A JP16739596A JPH1011419A JP H1011419 A JPH1011419 A JP H1011419A JP 8167395 A JP8167395 A JP 8167395A JP 16739596 A JP16739596 A JP 16739596A JP H1011419 A JPH1011419 A JP H1011419A
Authority
JP
Japan
Prior art keywords
partial
multiplicand
product
subtraction
addition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP8167395A
Other languages
English (en)
Other versions
JP3130797B2 (ja
Inventor
Masahiro Tsubakihara
雅弘 椿原
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.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co Ltd
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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP08167395A priority Critical patent/JP3130797B2/ja
Priority to KR1019970027202A priority patent/KR980004013A/ko
Priority to EP97110458A priority patent/EP0817005A1/en
Publication of JPH1011419A publication Critical patent/JPH1011419A/ja
Application granted granted Critical
Publication of JP3130797B2 publication Critical patent/JP3130797B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • 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/40Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
    • G06F7/44Multiplying; Dividing
    • 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/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】回路規模を縮小するとともに演算を高速化す
る。 【解決手段】乗算処理が、加減算選択信号Sの選択指示
に応じて被乗数Biに対する演算処理を変更して乗数A
iと被乗数Biとの部分積を生成し、部分積と被加減算
数Cとを加算することにより、加減算専用の加算器を不
要とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は積和演算処理方法に
関し、特に符号付きデジタル数の乗算方法として一般的
に用いられる積和演算処理方法に関する。
【0002】
【従来の技術】積和演算は下記の数式で表される。 Y=C±(Ai×Bi)………………………………………………………(1) 式1においてAiは乗数、Biは被乗数、Cは被加減算
数、Yは積和演算結果をそれぞれ表す。通常、加減算の
どちらか一方を選択する。
【0003】従来、上記積和演算を実現するため、乗算
を高速かつ少ない回路規模で行なうためブースコーデン
グを改良した改良ブースコーデングと呼ばれる手法を用
いている。この改良ブースコーデングは高速乗算手法と
して広く知れ渡っており、例えば飯塚肇,電子計算器
2,第31〜33頁,コロナ社,(平成2年)に記載さ
れている。改良ブースアルゴリズムでは乗数を偶数番目
の各桁iの前後i+1,i,i−1の3ビットづつに切
分けて3ビットの部分乗数PAiを求めその値によって
被乗数全体に対するシフト演算を行ない、上記部分乗数
と被乗数全体に対するシフト演算結果との部分積を求
め、部分積を相互に加算することにより乗算結果(Ai
×Bi)を求める。
【0004】被乗数Bi全体に対するシフト演算の内容
を示す表1を参照すると、乗数Aiの任意の偶数番目桁
iが部分乗数PAiの中央の桁の値を、i−1,i+1
がそれぞれ前後の桁の値を表しており、この部分乗数の
値により被乗数全体に対して行なうシフト演算の実行内
容を「実行計算」欄に示している。例えば乗数Aiから
切分けた部分乗数の値が011(2進数)の場合、被乗
数Bi全体に対して2倍となるようなシフト演算を行な
う。また、iは偶数なので、部分乗数PAiの数は乗数
Aiの桁数(または桁数−1:奇数の場合)の1/2と
なる。
【0005】
【表1】
【0006】上記演算を実行する従来の積和演算処理装
置をブロックで示す図4を参照すると、この従来の積和
演算処理装置は、乗数入力端子T1からの乗数Aiあよ
び被乗数入力端子T2からの被乗数Biの供給を受け部
分積を生成する部分積生成回路1と、上記部部分積を相
互に加算し乗算(Ai×Bi)を行う加算回路2と、乗
算結果(Ai×Bi)の補数を生成する補数生成回路3
と、端子T3から供給を受けた加減算選択信号Sの値に
応じて乗算結果(Ai×Bi)に対する端子T4から供
給される被加減算数Cの加算または減算の選択を行ない
2つの入力を加算または減算して出力端子T5から積和
演算結果Yを出力する加算器4とを備える。
【0007】部分積生成回路1の構成をブロックで示す
図5を参照すると、この部分積生成回路1は、乗数Ai
の偶数番目の各桁を中心とする3ビットづつに切分けら
れた部分乗数PAiと被乗数Biとから部分積を生成す
る複数のブースデコーダ11を備える。
【0008】次に、図4および図5を参照して、従来の
積和演算処理装置の動作すなわち処理方法について説明
すると、まず、まず部分積生成回路1は乗数入力端子T
1から入力された乗数Aiと被乗数入力端子T2から入
力された被乗数Biの供給を受け、乗数Aiを偶数番目
の各桁を中心とする3ビットづつに切分けて部分乗数P
Aiを生成しこの部分乗数の各々と被乗数Biを複数の
ブースデコーダ11の各々に供給し、上記部分積演算手
法により部分積を求める。この部分積を加算器2に出力
する。
【0009】次に、乗算結果(Ai×Bi)に対する被
加減算Cの加算または減算の選択を端子T3から供給を
受けた加減算選択信号Sにより行なう。加減算選択信号
Sにより加算を選択した場合は乗算結果(Ai×Bi)
をそのまま加算器4に供給する。また、減算を選択した
場合は乗算結果(Ai×Bi)の補数生成回路3の出力
である乗算結果の補数(−Ai×Bi)を加算器4に供
給する。以上の選択処理により、加算器4においては被
加減算数Cとの加減算の区別を行なう必要がなくなり、
加算器4はこれら2つの入力すなわち、乗算結果(Ai
×Bi)または補数(−Ai×Bi)と端子8から供給
を受けた被加減算数Cとの加算を行い出力端子T5から
積和演算結果Yを出力する。
【0010】従来の積和演算処理方法では、減算を選択
した場合に乗算結果の補数(−Ai×Bi)を求めるた
めの補数生成回路3および被加減算数Cとの加減算のみ
を行う加算器4を必要とするため、回路規模が大きくな
る。
【0011】乗数Ai,被乗数Biをそれぞれ24ビッ
トとし、上記の計算式をそのまま単純に回路化した場合
には、回路規模は31660トランジスタとなる。この
うち、加算器と補数生成回路とを合算した加算処理回路
の回路規模は約20980トランジスタを占める。
【0012】
【発明が解決しようとする課題】上述した従来の積和演
算処理方法は、減算を選択した場合に乗算結果の補数を
求めるための補数生成回路および被加減算数との加減算
のみを行う加算器を必要とするため、回路規模が大きく
なるという欠点があった。
【0013】本発明の目的は、補数生成回路および加減
算専用の加算器を用いることなく回路規模を縮小し、か
つ高速な演算を行う積和演算処理方法を提供することに
ある。
【0014】
【課題を解決するための手段】本発明の積和演算処理方
法は、入力した乗数と被乗数との乗算処理を行って乗算
結果を求め、前記乗算結果と被加減算数とに対し加減算
選択信号の選択指示に応じて選択した加算処理および減
算処理のいずれか一方を行なう積和演算処理方法におい
て、前記乗算処理が、前記選択指示に応じて前記被乗数
に対する演算処理を変更して前記乗数と前記被乗数との
部分積を生成し、前記部分積と前記被加減算数とを加算
することを特徴とするものである。
【0015】本発明の積和演算処理装置は、乗数と被乗
数との乗算処理を行って乗算結果を出力し、前記乗算結
果と被加減算数とに対し加減算選択信号の選択指示に応
じて選択した加算処理および減算処理のいずれか一方を
行なう積和演算処理装置において、前記選択指示に応じ
て前記被乗数に対する演算処理を変更して前記乗数と前
記被乗数との部分積を生成する部分積生成手段と、前記
部分積生成用の加算処理と前記被加減算数との加算処理
とを実行する加算手段とを備えて構成されている。
【0016】
【発明の実施の形態】次に、本発明の実施の形態を図4
と共通の構成要素には共通の参照文字/数字を付して同
様にブロックで示す図1を参照すると、この図に示す本
実施の形態の積和演算処理方法を実行する積和演算装置
は、部分積生成回路1の代りにさらに加減算選択信号S
の供給を受けこの信号Sの値に応じて2の補数を考慮し
た被乗数に対するシフト演算を行い部分積を生成する部
分積生成回路1Aと、加算器2の代りに被加減算数Cの
供給を受けこの被加減算数Cを部分積に対し加算して積
和演算結果Yを生成し出力端子T5から出力する加算器
2Aとを備える。
【0017】部分積生成回路1Aの構成をブロックで示
す図2を参照すると、この部分積生成回路1Aは、各々
が加減算選択信号Sの制御に応答して乗数Aiの各偶数
桁iを中心とする3ビットづつに切分けれた部分乗数と
被乗数Biとから部分積(以下部分部分積)を生成する
複数のブースデコーダ11Aを備える。
【0018】次に、図1,図2および本実施の形態の処
理をフローチャートで示す図3を参照して本実施の形態
の動作について説明すると、ここでは、説明の便宜上、
4ビット×4ビットの積和演算処理について説明する。
【0019】まず、乗数入力端子T1に乗数Ai,被乗
数入力端子T2に被乗数Biを入力する。部分積生成回
路1Aは、従来と同様に、改良ブースコーデングを用い
て部分積を出力するが、その際に加減算選択信号Sによ
って減算が選択されている場合、2の補数を考慮した被
乗数Biに対するシフト演算を行う(ステップS1〜S
3)。
【0020】
【表2】
【0021】被乗数Bi全体に対する上記シフト演算の
内容を示す表2を参照すると、従来と同様、iが乗数A
iの各偶数桁すなわち3ビットの部分乗数PAiの中心
桁を、i−1,i+1がそれぞれ前後の桁の値を表す。
部分乗数PAiの値に対応して被乗数Bi全体に対して
行なうシフト演算のうち、加減算選択信号Sが加算を選
択している場合の演算の内容を「加算選択時の実行計
算」欄に示し、減算を選択している場合の演算の内容を
「減算選択時の実行計算」欄にそれぞれ示す。例えば、
部分乗数PAiの値が’100’であった場合、通常の
改良ブースコーデングであれば、被乗数Biを−2倍す
るようにシフト演算を行うが、加減算選択信号Sにより
減算を選択している場合は、被乗数Biを2倍するよう
にシフト演算を行う。すなわち、部分乗数PAiの第1
ビットすなわち符号を反転した場合と同一効果となる。
加算器2Aは、部分積生成回路1Aが出力した部分積と
被加減算入力端子T3より入力した被加減算数Cの加算
を行い(ステップS4)、積和演算結果Yを生成し出力
端子T5から出力する。
【0022】図2を参照して、部分生成回路1Aの動作
について説明すると、入力された乗数Aiは、各偶数番
目の桁毎にその桁と前後の3ビットづつ(最下位段だけ
2ビット)に切分けられ、加減算選択信号C,被乗数B
iと共に被乗数Biの操作を行うブースデコーダ11A
に供給される。ここで、説明の便宜上、部分積生成回路
1Aの動作を、乗数Aiとして’0011’,被乗数B
iとして’0111’をそれぞれ入力した場合を例にし
て説明する。
【0023】加減算選択信号Sが減算を選択していると
きの部分部分積は以下のようになる。乗数Aiの部分乗
数PAiの値が’110’(i+1,i,i−1)の段
は改良ブースコーデングのままだと被乗数を−1倍する
ので’1001’となるが、加減算選択信号Sにより減
算を選択しているため、表1の換算表に示すように部分
乗数の符号を反転し、被乗数Biを1倍した値’011
1’になる。同様に部分乗数PAiの値が’001’の
段の部分部分積は通常の被乗数Biの1倍に対し−1倍
した値の’1001’になる。
【0024】このように、本実施の形態の加算器は、補
数生成回路および被加減算数との加減算専用の加算器が
不要となるため、回路規模を縮小できる。本実施の形態
の加算器2Aの回路規模は、従来の加算器2,4の各々
より大きいが、2つの加算器2,4を合わせた回路規模
に比べると小さくなるため、全体の回路規模としては縮
小される。従来と同様に24ビット×24ビットの積和
演算器の場合、従来の加算器と補数生成回路とを合算し
た加算処理回路の回路規模は、上述したように、約20
980トランジスタであったのに対し、本実施の形態で
は約18430トランジスタの回路規模で済む。したが
って、積和演算器全体の回路規模は、従来の約3166
0トランジスタに対し、本実施の形態の構成では約29
100トランジスタとなり約8%の回路規模縮小とな
る。
【0025】さらに、補数生成回路および被加算乗数と
の加減算専用の加算器を経由するパスが不要となるた
め、演算スピードの改善が行われる。この演算スピード
の改善は約20%程度と見込まれる。
【0026】
【発明の効果】以上説明したように、本発明の積和演算
処理方法は、乗算処理が、加減算選択指示に応じて被乗
数に対する演算処理を変更して加算または減算対応の部
分積を生成し、この部分積と被加減算数とを加算するこ
とにより、補数生成回路および被加減算数との加減算専
用の加算器が不要となるため、演算器の回路規模を縮小
できるという効果がある。
【0027】さらに、補数生成回路および被加算乗数と
の加減算専用の加算器を経由するパスが不要となるた
め、演算スピードを改善できるという効果がある。
【図面の簡単な説明】
【図1】本発明の積和演算処理方法の一実施の形態を示
す積和演算装置のブロック図である。
【図2】図1の部分積生成回路の構成を示すブロック図
である。
【図3】本実施の形態の動作の一例を示すフローチャー
トである。
【図4】従来の積和演算処理方法の一例を示すブロック
図である。
【図5】図3の部分積生成回路の構成を示すブロック図
である。
【符号の説明】
1,1A 部分積生成回路 2,4,2A 加算器 3 補数生成回路 11,11A ブースデコーダ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 入力した乗数と被乗数との乗算処理を行
    って乗算結果を求め、前記乗算結果と被加減算数とに対
    し加減算選択信号の選択指示に応じて選択した加算処理
    および減算処理のいずれか一方を行なう積和演算処理方
    法において、 前記乗算処理が、前記選択指示に応じて前記被乗数に対
    する演算処理を変更して前記乗数と前記被乗数との部分
    積を生成し、 前記部分積と前記被加減算数とを加算することを特徴と
    する積和演算処理方法。
  2. 【請求項2】 前記部分積の生成処理が、前記乗数の各
    偶数桁とその前後の桁とからなる複数の部分乗数を生成
    しこれら複数の部分乗数の各々の値にそれぞれ対応して
    前記被乗数全体に対するシフト演算を行ない前記部分乗
    数と前記被乗数全体に対するシフト演算結果との部分部
    分積を求め、前記部分部分積を相互に加算する改良ブー
    スコーデングを用いることを特徴とする請求項1記載の
    積和演算処理方法。
  3. 【請求項3】 前記加算手段が、前記部分積を生成する
    のための加算処理と積和のための加算処理とを行なうこ
    とを特徴とする請求項1記載の積和演算処理方法。
  4. 【請求項4】 前記選択指示に応じた前記加算処理およ
    び前記減算処理の選択が、前記被乗数に対する前記部分
    乗数の符号の反転により行うことを特徴とする請求項1
    および2記載の積和演算処理方法。
  5. 【請求項5】 前記加減算選択信号の選択指示に応じて
    前記被乗数に乗算する前記部分乗数の符号を選択するス
    テップと、 前記被乗数と前記部分乗数とを乗算し部分部分積を生成
    するステップと、 前記部分部分積を相互加算し前記乗数と前記被乗数との
    乗算結果である部分積を生成するステップと、 前記部分積と前記被加減算数とを加算するステップとを
    含むことを特徴とする請求項1および2記載の積和演算
    処理方法。
  6. 【請求項6】 乗数と被乗数との乗算処理を行って乗算
    結果を出力し、前記乗算結果と被加減算数とに対し加減
    算選択信号の選択指示に応じて選択した加算処理および
    減算処理のいずれか一方を行なう積和演算処理装置にお
    いて、 前記選択指示に応じて前記被乗数に対する演算処理を変
    更して前記乗数と前記被乗数との部分積を生成する部分
    積生成手段と、 前記部分積生成用の加算処理と前記被加減算数との加算
    処理とを実行する加算手段とを備えることを特徴とする
    積和演算処理装置。
JP08167395A 1996-06-27 1996-06-27 積和演算処理方法およびその装置 Expired - Fee Related JP3130797B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP08167395A JP3130797B2 (ja) 1996-06-27 1996-06-27 積和演算処理方法およびその装置
KR1019970027202A KR980004013A (ko) 1996-06-27 1997-06-25 곱 합 연산 처리 방법 및 장치
EP97110458A EP0817005A1 (en) 1996-06-27 1997-06-26 Product sum operation processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08167395A JP3130797B2 (ja) 1996-06-27 1996-06-27 積和演算処理方法およびその装置

Publications (2)

Publication Number Publication Date
JPH1011419A true JPH1011419A (ja) 1998-01-16
JP3130797B2 JP3130797B2 (ja) 2001-01-31

Family

ID=15848912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08167395A Expired - Fee Related JP3130797B2 (ja) 1996-06-27 1996-06-27 積和演算処理方法およびその装置

Country Status (3)

Country Link
EP (1) EP0817005A1 (ja)
JP (1) JP3130797B2 (ja)
KR (1) KR980004013A (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62229439A (ja) * 1986-03-31 1987-10-08 Toshiba Corp 並列乗算器
JP3033212B2 (ja) * 1991-01-31 2000-04-17 日本電気株式会社 乗算器

Also Published As

Publication number Publication date
EP0817005A1 (en) 1998-01-07
JP3130797B2 (ja) 2001-01-31
KR980004013A (ko) 1998-03-30

Similar Documents

Publication Publication Date Title
JPS6347874A (ja) 算術演算装置
JP2000259394A (ja) 浮動小数点乗算器
JPH0612229A (ja) 乗累算回路
JPS62280930A (ja) デイジタル乗算器
US4677583A (en) Apparatus for decimal multiplication
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JPS5856033A (ja) 乗算回路
JPH08314697A (ja) 符号付き/符号なし数兼用乗算器
JP3660075B2 (ja) 除算装置
JP3130797B2 (ja) 積和演算処理方法およびその装置
JPH11134175A (ja) 乗加減算器及び演算器
JP3190826B2 (ja) 積和演算装置
JP2734438B2 (ja) 乗算装置
JP2991788B2 (ja) 復号器
JP2838326B2 (ja) ディジタル乗算器
JPS6259828B2 (ja)
JP2608090B2 (ja) 高基数非回復型除算装置
KR0153759B1 (ko) 고속 승산-누산회로
JP2777265B2 (ja) 高基数開平演算装置
JPH02115929A (ja) 乗算器
JPS6285333A (ja) 浮動小数点乗算器丸め処理方式
JP2629736B2 (ja) 積和演算回路
JPS6224365A (ja) 積和演算器
JPH0368415B2 (ja)
JP3205020B2 (ja) 演算装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001024

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees