JPH10198552A - 乗算器 - Google Patents

乗算器

Info

Publication number
JPH10198552A
JPH10198552A JP9014536A JP1453697A JPH10198552A JP H10198552 A JPH10198552 A JP H10198552A JP 9014536 A JP9014536 A JP 9014536A JP 1453697 A JP1453697 A JP 1453697A JP H10198552 A JPH10198552 A JP H10198552A
Authority
JP
Japan
Prior art keywords
multiplier
rounding
bit
digit
digit rounding
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
JP9014536A
Other languages
English (en)
Other versions
JP3019796B2 (ja
Inventor
Yasushi Ozaki
靖 尾崎
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 Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP9014536A priority Critical patent/JP3019796B2/ja
Priority to US09/004,872 priority patent/US6148319A/en
Publication of JPH10198552A publication Critical patent/JPH10198552A/ja
Application granted granted Critical
Publication of JP3019796B2 publication Critical patent/JP3019796B2/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/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

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)【要約】 【課題】部分積加算の過程で、桁丸めのための加算値を
選択し演算することによって、回路規模を小さくし高速
に演算を行なう桁丸め機能を有する乗算器の提供。 【解決手段】乗算器13に、桁丸め機能有りまたは無し
を制御する信号によって、2次のブースのアルゴリズム
より求めた部分積の値を切り替えることができる選択回
路18、19及び1Aを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は乗算器に関し、特に
桁丸め機能を有する乗算器に関する。
【0002】
【従来の技術】この種の桁丸め機能を有する乗算器の従
来例について、以下に図6を参照して説明する。図6
は、従来の桁丸め機能を有する乗算器(演算器)の構成
の一例を示す図である。図6を参照すると、乗算器63
は、16ビットの2の補数表現のX61及びY62同士
の乗算を行なう乗算器である。選択回路65は桁丸め選
択信号66の値によって、32ビットの“000080
00”または“00000000”(ヘキサデシマル表
示)を出力する。加算器64は、乗算器63の出力(3
2ビット)と選択回路65の出力を加算する。
【0003】乗算結果の桁丸め演算を行なう場合には、
乗算器63において、入力X61及びY62の乗算結果
を求め、選択回路65において、桁丸め選択信号66に
よって、32ビットの“00008000”(ヘキサデ
シマル表示、すなわちMSB側から16ビット目が
“1”)を選択し、加算器64において、乗算器63の
出力と選択回路65の出力を加算し、乗算結果の桁丸め
演算を行なっている。
【0004】一方、16ビットの2の補数X及びYの乗
算のみを行うときは、乗算器63において、入力X61
及び632の乗算結果を求め、選択回路65において、
桁丸め選択信号66によって、32ビットの“0000
0000”(ヘキサデシマル表示)を選択し、加算器6
4において、乗算器63の出力と選択回路65の出力を
加算し演算結果として出力する。
【0005】
【発明が解決しようとする課題】上記したように、従来
方式において、乗算結果の桁丸め演算を行う場合、一
旦、乗算結果を求め、その乗算結果のあるビットに対し
“1”を加算することによって、桁丸め演算を行ってい
る。
【0006】このため、乗算器63とは別に、加算器6
4が必要とされており、乗算結果を求めた後に、桁丸め
のための加算を行なうことから、その演算時間は、単に
乗算だけ行う時よりも長くかかっている。
【0007】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、部分積加算の過
程で、桁丸めのための加算値を選択して演算することに
よって、回路規模の縮減を図ると共に、演算の高速化を
達成する、乗算器を提供することにある。
【0008】
【課題を解決するための手段】前記目的を達成する本発
明は、乗算結果の桁丸め機能を有する乗算器において、
2次のブースのアルゴリズムより求めた部分積を加算す
る手段と、桁丸め機能の有り又は無しを制御する制御信
号によって部分積として加算する値を切り替える手段
と、を有することを特徴とする。
【0009】
【発明の実施の形態】本発明の実施の形態について以下
に説明する。本発明は、その好ましい実施の形態におい
て、乗算器に、桁丸め機能有りまたは無しを制御する信
号によって、2次のブース(Booth)のアルゴリズ
ムより求めた部分積(partialproduct
s)の値を切り替えることができる選択回路(図4の1
8、19及び1A)を備えたものである。
【0010】本発明の実施の形態によれば、2次のブー
スのアルゴリズムによって求めた部分積を加算している
時点で、桁丸め演算を同時に行っているので、上記した
従来技術のように、乗算器と別に桁丸め演算のための加
算器を不要としており、回路規模を縮減し、高速演算を
可能としている。この実施の形態について、更に詳細に
説明すべく、本発明の実施例について図面を参照して以
下に説明する。
【0011】図1は、本発明の一実施例の構成を示すブ
ロック図である。また図2、図3及び図4は、本発明の
一実施例の乗算器内での演算の仕組みを説明するための
図である。
【0012】図1を参照して、入力X11及びY12は
それぞれ16ビットの2の補数であり、13は桁丸め機
能を有する乗算器、14は桁丸め選択信号である。また
図4を参照すると、18、19及び1Aは桁丸め選択信
号(図1の14)を選択制御信号とする選択回路であ
る。
【0013】まず、2次のブースのアルゴリズムを用い
た16ビットの2の補数X、Y同士の乗算について説明
する。
【0014】被乗数X、及び乗数Yは、それぞれ次式
(1)、(2)で表現できる。
【0015】
【数1】
【0016】2次のブースのアルゴリズムの式(3)を
用いて、上式(2)の乗数Yを整理すると、次式(4)
で表すことができる。 Ej=−2y2j+1+y2j+y2j-1 …(3) 但し、y-1=0
【0017】
【数2】
【0018】よって、X及びYの乗算Pは、次式(5)
となる。
【0019】
【数3】
【0020】ここで、
【0021】
【数4】
【0022】とすると、上式(5)のPは、次式(6)
のように表わされ(P=P1+P2)、このP1及びP
2は、それぞれ次式(7)及び(8)で表せる。
【0023】
【数5】
【0024】ここで、
【0025】
【数6】
【0026】とおくと(但し、 ̄AはAの否定(反転)
を意味する)、上式(7)のP1は、次式(10)で表
せる。
【0027】
【数7】
【0028】また上式(8)のP2は、次式(11)で
表せる。
【0029】
【数8】
【0030】従って、XとYの乗算結果P=X・Yは、
上式(10)と上式(11)で表せる。
【0031】図5は、上式(10)及び上式(11)の
部分積の加算による乗算X・Yの様子を表したものであ
る。図5において、B0からB7は上式(11)のB0
らB7に対応し、例えばB0のMSBの左隣(16ビット
目=215)に置かれた「 ̄A0」と「+1」は、上式
(10)の加算式( ̄A015+215)に対応してお
り、またB1はB0から左2ビットシフトしている。そし
て、これらの部分積を加算したものが、図5の最下行の
乗算値Pとなる。
【0032】次に本発明の一実施例として、乗算結果の
16ビット目を桁丸めする機能を有する乗算器について
説明する。
【0033】16ビットの桁丸めを行うには、乗算結果
の16ビット目に“1”を加算すればよいので、図2の
16ビット目(215のビット位置)に“1”を加算して
も同じ結果が得られる。即ち、桁丸めを行う場合と桁丸
めを行わない場合とで、上式(10)で求めた加算値、
( ̄A7〜 ̄A0、+1)を切り替えればよい。
【0034】図2は桁丸めを行わない場合、図3は桁丸
めを行う場合の乗算の仕組を示しており、破線で囲まれ
た16、17の部分でのビット毎の加算値が異なってい
る。より詳細には、桁丸めを行わない場合、図2を参照
して、図5と同様に、上式(10)で求めた加算値とし
て、16ビット目(=215)は( ̄A0、+1)、17
ビット目は+1、第18ビット目は( ̄A1、0)が設
定され、一方、桁丸め機能を有効とする場合には、図3
を参照して、加算値として、16ビット目に“1”を加
算した結果、16ビット目は( ̄A0、0)、17ビッ
ト目は0、第18ビット目は( ̄A1、+1)とされ
る。
【0035】このため、図4に示すように、乗算結果の
桁丸めを行わないときは、桁丸め選択信号15によっ
て、16ビット目の選択回路18、及び17ビット目の
選択回路19でともに“1”を選択し、18ビット目の
選択回路1Aで“0”を選択して演算する。
【0036】一方、乗算結果の桁丸めを行うときは、桁
丸め選択信号15によって、16ビット目の選択回路1
8及び17ビット目の選択回路19でともに“0”を選
択し、18ビット目の選択回路1Aで“1”を選択し
て、演算する。
【0037】従って、2次のブースのアルゴリズムによ
って求めた部分積の値を桁丸め選択信号で切り替えるこ
とによって、容易に演算結果の桁丸めを行うことができ
ることがわかる。
【0038】なお、上記実施例では、16ビットの2の
補数表現の乗算を例に説明したが、本発明は上記構成に
のみ限定されるものでなく、本発明の原理に準ずる各種
態様を含むことは勿論である。
【0039】
【発明の効果】以上説明したように、本発明によれば、
2次のブースのアルゴリズムによって求めた部分積を加
算している時点で、桁丸め演算を同時に行うように構成
したことにより、乗算器とは別に桁丸め演算のための加
算器を設けることを不要とし、高速に演算することがで
きる。
【0040】本発明によれば、例えば16ビット×16
ビットの乗算を行い桁丸めを行った場合には、従来の構
成では必要であった32ビットの全加算器が不要にな
り、32ビット同士の加算にかかる時間を削減すること
ができる。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図であ
る。
【図2】本発明の一実施例の乗算器内での演算の仕組み
を説明するための図である。
【図3】本発明の一実施例の乗算器内での演算の仕組み
を説明するための図である。
【図4】本発明の一実施例の乗算器内での演算の仕組み
を説明するための図である。
【図5】本発明の一実施例において、2次のブースを用
いて求めた部分積の加算の過程を示した図である。
【図6】従来の桁丸め機能を有する乗算器の構成を示す
ブロック図である。
【符号の説明】
11、12、61、62 乗算器の入力 13、63 乗算器 15、66 桁丸め選択信号 18、19、1A、65 選択回路 64 加算器

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】乗算結果の桁丸め機能を有する乗算器にお
    いて、 2次のブース(Booth)のアルゴリズムより求めた
    部分積を加算する手段と、 桁丸め機能の有り又は無しを制御する制御信号によって
    部分積として加算する値を切り替える手段と、 を有することを特徴とする乗算器。
  2. 【請求項2】桁丸め機能有り/無しを制御する信号に応
    じて、ブース(Booth)のアルゴリズムより求めた
    部分積の加算過程において所定のビット位置に加算する
    値を、“1”又は“0”に切り替えるための選択回路を
    備え、 桁丸め機能が有効の時には、乗算値を求める過程であ
    る、上記部分積を加算している時点において桁丸め演算
    が行われる、ことを特徴とする乗算器。
JP9014536A 1997-01-10 1997-01-10 乗算器 Expired - Fee Related JP3019796B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9014536A JP3019796B2 (ja) 1997-01-10 1997-01-10 乗算器
US09/004,872 US6148319A (en) 1997-01-10 1998-01-09 Multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9014536A JP3019796B2 (ja) 1997-01-10 1997-01-10 乗算器

Publications (2)

Publication Number Publication Date
JPH10198552A true JPH10198552A (ja) 1998-07-31
JP3019796B2 JP3019796B2 (ja) 2000-03-13

Family

ID=11863881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9014536A Expired - Fee Related JP3019796B2 (ja) 1997-01-10 1997-01-10 乗算器

Country Status (2)

Country Link
US (1) US6148319A (ja)
JP (1) JP3019796B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085794B2 (en) * 2002-04-12 2006-08-01 Agere Systems Inc. Low power vector summation method and apparatus
US7080115B2 (en) * 2002-05-22 2006-07-18 Broadcom Corporation Low-error canonic-signed-digit fixed-width multiplier, and method for designing same
JP2006227939A (ja) * 2005-02-17 2006-08-31 Matsushita Electric Ind Co Ltd 演算装置
EP1739547A1 (en) * 2005-07-01 2007-01-03 STMicroelectronics (Research & Development) Limited Performing rounding in an arithmetic operation

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5521855A (en) * 1991-11-29 1996-05-28 Sony Corporation Multiplying circuit
JP3276444B2 (ja) * 1993-03-22 2002-04-22 三菱電機株式会社 除算回路
US5796645A (en) * 1996-08-27 1998-08-18 Tritech Microelectronics International Ltd. Multiply accumulate computation unit

Also Published As

Publication number Publication date
US6148319A (en) 2000-11-14
JP3019796B2 (ja) 2000-03-13

Similar Documents

Publication Publication Date Title
US6233597B1 (en) Computing apparatus for double-precision multiplication
JPS6347874A (ja) 算術演算装置
JPS5811652B2 (ja) 演算ユニツト
JPS60140422A (ja) 演算処理装置
JP3019796B2 (ja) 乗算器
EP0543024B1 (en) Divider
US6202078B1 (en) Arithmetic circuit using a booth algorithm
JPH0546363A (ja) 除算器
JPS6222178A (ja) 2つの複素数の乗算のための乗算器
JP2777265B2 (ja) 高基数開平演算装置
JPS63310023A (ja) 符号付固定小数点乗算装置
JP2907276B2 (ja) 演算処理装置
JP3122622B2 (ja) 除算装置
JP2996024B2 (ja) 乗算回路
JPH0628153A (ja) 低誤差計算処理装置
JPS63254525A (ja) 除算装置
JPS62147526A (ja) 乗算器
JP3460780B2 (ja) 数値演算装置
JP3522167B2 (ja) 演算処理回路及び演算処理方法
JPH07114454A (ja) 乗算回路および乗算方法
JPH04328630A (ja) 浮動小数点乗除算装置
JPH08292875A (ja) 乗算処理装置
JPH04205525A (ja) パイプライン方式を用いた乗算器
JPH0784758A (ja) 演算処理装置
JPH03282619A (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: 19991207

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080107

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090107

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100107

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees