JPS6347874A - 算術演算装置 - Google Patents

算術演算装置

Info

Publication number
JPS6347874A
JPS6347874A JP61191934A JP19193486A JPS6347874A JP S6347874 A JPS6347874 A JP S6347874A JP 61191934 A JP61191934 A JP 61191934A JP 19193486 A JP19193486 A JP 19193486A JP S6347874 A JPS6347874 A JP S6347874A
Authority
JP
Japan
Prior art keywords
addition
register
wallace tree
multiplier
multiplicand
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
JP61191934A
Other languages
English (en)
Inventor
Hiromichi Aoki
宏道 青木
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 JP61191934A priority Critical patent/JPS6347874A/ja
Priority to US07/085,874 priority patent/US4852037A/en
Publication of JPS6347874A publication Critical patent/JPS6347874A/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/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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は算術演算装置に関し、特に乗算と加算との演算
を同時に行なうことができる算術演算装置に関する。
〔従来の技術〕
従来、情報処理装置において、乗算を行なってその結果
にある値を加算するという算術演算は、先ず乗算器を用
いて乗算結果を求め、その後、加算器を用いてその乗算
結果に加算値を加えて最終結果を求めるという二つのプ
ロセスを経ていた。
〔発明が解決しようとする問題点〕
上述した従来の算術演算装置では、乗算プロセスと加算
プロセスとが別れている為、(乗算+加算)の演算に要
する時間は乗算プロセスに要する時間と加算プロセスに
要する時間との和になり、この和以上の演算時間の短縮
は図れない。
本発明の目的は、乗算を行なってその結果にある値を加
算するという(乗算+加算)の算術演算を、従来の乗算
プロセスに要する時間内で実現することができる算術演
算装置を提供することにあ(問題点を解決するための手
段) 本発明は上記目的を達成するために、乗数を格納する乗
数レジスタと、被乗数を格納する被乗数レジスタと、前
記乗数レジスタの乗数と前記被乗数レジスタの被乗数と
を入力とする部分積生成回路と、該部分積生成回路の出
力を入力とするウォーレス木と、該ウォーレス木の出力
を入力とする加算回路とを含む算術演算装置において、
前記乗数レジスタの乗数と前記被乗数レジスタの被乗数
との乗算結果に加算すべき加算値を加算項として前記ウ
ォーレス木に入力する入力信号線を設け、前記ウォーレ
ス木は、前記入力信号線を介して加えられた前記加算項
と前記部分積生成回路から出力された複数の部分積とを
入力とするように構成されている。
〔作用〕
ウォーレス木の加算項として、乗数レジスタの乗数と被
乗数レジスタの被乗数との乗算結果に加算すべき加算値
を入力信号線により入力することができるので、乗数と
被乗数との演算結果を求める過程において加算値を加算
することができ、従来のウォーレス木を用いた乗算器と
同一の乗算サイクル内で、(乗算+加算)の演算が行な
える。
〔実施例〕
次に本発明の実施例について図面を参照して説明する。
第1図は、本発明の一実施例のブロック図であり、乗数
と被乗数との積にある値を加算するという(乗算+加算
)の算術演算を高速に行なう算術演算装置のブロック図
を示す。
この実施例の算術演算装置は、乗数がセットされる乗数
レジスタ1と、被乗数がセントされる被乗数レジスタ2
と、乗数レジスタ1と被乗数レジスタ2とに格納された
乗数、被乗数の値に対応した複数の部分積を生成する例
えばBoo thのアルゴリズムを用いた部分積生成回
路3と、加算値がセットされる加算値レジスタ7と、部
分積生成回路3の出力と加算値レジスタ7の出力とを入
力とするビット切り加算器であるウォーレス木(WAL
I、ACETREE)  4と、このウォーレス木4の
出力値を入力とする2人力桁上げ先見加算回路である加
算回路5と、この加算回路5の出力を保持する結果レジ
スタ6とから構成され、乗数レジスタ1と部分積生成回
路3との間はデータ線11で接続され、被乗数レジスタ
2と部分積生成回路3との間はデータ線20で接続され
、部分積生成回路3とウォーレス木4との間はデータ4
130で接続され、加算値レジスタ7とウォーレス木4
との間はデータ線70で接続され、ウォーレス木4と加
算回路5との間はデータ線40で接続され、加算回路5
と結果レジスタ6との間はデータi%1I50で接続さ
れ、結果レジスタ6の内容はデータ線60に出力されて
いる。
第1図において、今、乗数のビット数をm、被乗数のビ
ット数をnとすると1、乗数レジスタ1にセットされた
mビットの乗数と被乗数レジスタ2にセットされたnビ
ットの被乗数とによって部分積生成回路3によって生成
される部分積の項数は、部分積生成回路3の構成によっ
ても相違するが、一般にm以下のに項となる。従来のウ
ォーレス木を用いた乗算器においては、上記に個の部分
積を入力するための入力端子をウォーレス木に用意して
いたに過ぎないが、本実施例では、加算値レジスタ7に
セットされた加算値をあたかも一つの部分積としてウォ
ーレス木4に加える構成を採るため、ウォーレス木4の
入力はに+1項になっている。
ウォーレス木4は、部分積生成回路3から入力されたに
項の部分積と、加算値レジスタ7から入力された1項と
を加算することによって、2人力の加算形式に絞り、こ
れを加算回路5に出力する。
加算回路5は前述したように2人力桁上げ先見型の加算
回路であり、この加算回路5によって最終結果すなわち
乗数と被乗数の積に加算値を加えた値が求められ、結果
レジスタ6に格納される。
第1図の部分積生成回路3の出力が5項となる場合、ウ
ォーレス木4は例えば第2図に示すように構成される。
第2図は6個の部分積を加算するウォーレス木の要部ブ
ロック図であり、i−1桁目とi桁目とi+1桁目の構
成部分を示し、50t〜531 はi桁目を構成する全
加算回路、a、〜f。
は1桁目の入力、50ト、〜53ト、はi−1桁目を構
成する全加算回路、a J−1〜f I−1はi−1桁
目の入力、50+、1〜53o、はi+1桁目を構成す
る全加算回路、al、、〜r l+I はi+1桁目の
入力であり、5は第1図の2人力桁上げ先見加算回路で
ある。1桁目を例にして説明すると、第1図の部分積生
成回路3から出力された合計5項の部分積のi桁目のそ
れぞれの項の出力は例えば全加算回路50t、51tの
入力a1〜e1としてウォーレス木4に入力され、第1
図の加算値レジスタ7の1桁目の出力は全加算回路51
直の人力fi としてウォーレス木4に入力され、ここ
で、I−1桁目からのキャリーを加味して合計6個の部
分積の要素(但し、その内の一つは加算値レジスタ7の
要素)の和とt+1桁目へのキャリーとが求められる。
以上のようにウォーレス木4の入力段に新たに一項だけ
加算項を増やすことによって、乗算の部分積項の加算時
に加算項の和も生成することができ、乗算+加算の演算
を従来の乗算サイクル内で行なうことが可能となる。
第3図は本発明の別の実施例のブロック図であり、第1
図の加算値レジスタ7を省略し、結果レジスタ6の出力
をウォーレス木4に戻すように構成したものである。こ
のような構成によれば、前回の乗算結果を後の乗算結果
に加算する操作を1乗算サイクル内で行なうことが可能
となる。
第4図は本発明の更に別の実施例のブロック図であり、
8はシフタ、9はセレクタ、10は制御回路、35はデ
ータ線、80.81は制御線であり、第1図と同一符号
は同一部分を示す。
本実施例が第1図の実施例と相違するところは、シフタ
8.セレクタ9.制御回路10を付加し、加算値レジス
タ7とシフタ8とをデータ線70で接続し、シフタ8と
ウォーレス木4とをデータwA35で接続し、結果レジ
スタ6とセレクタ9とをデータ線60で接続し、シフタ
8のシック量およびセレクタ9の選択ビット位置を制御
線80.81で制御する制御回路10を設け、演算結果
をセレクタ9の出力に接続されたデータ線91から取出
すように構成した点にある。
第4図において、ウォーレス木4ヘデータ線35からの
加算すべき人力信号がない場合、すなわちデータ線35
がない場合は、ウォーレス木4の出力は、乗数をmビッ
ト被乗数をnビットとすると、(m+n)ビットとなり
、セレクタ9の出力である最終結果も(m+n)ピント
となる。
しかし、データ線35からの加算入力がある場合は加算
値の入力の仕方によって第5図〜第7図に示す三つの場
合が考えられる。なお、有効桁は何れも(m+n+1)
ビットである。
第5図は乗数レジスタ1にセットされた乗数と被乗数レ
ジスタ2にセントされた被乗数との乗算結果(1)と、
加算値レジスタ7にセットされた加算(i! +21と
の加算時における桁ずれかない場合であり、第6図は加
算値(2)の桁の重み〉乗算結果(11の桁の重みの場
合であり、第7図は加算値(2)の桁の重みく乗算結果
+11の桁の重みの場合である。ウオーレ決定され、こ
の場合のウォーレス木4の入力段における必要最大桁数
は2 (m+n)−1であり、加算回路5も2 (m+
rl)−1桁となる。従って、結果レジスタ6も2 (
m+n)−1ビツトの容量が必要となるが、最終結果の
有効桁は(m + n +1)ビットであるから、セレ
クタ9において、結果レジスタ6の出力ピントから(m
+n+1)ビットを取出している。
制御回路10は外部から入力される加算値レジスタ7に
セットされた加算値の重み情報に応じてシフタ8のシッ
ク量とセレクタ9の選択ビット位置を制御するものであ
る。このシフタ8とセレクタ9との関係は、たとえばシ
フタ8が加算値レジスタ7の加算値を左にiビットだけ
シフトしたときは、セレクタ9において結果レジスタ6
の右端から数えてiビット目から(m+n)ビット目ま
での(yH+n+1)ビットだけを選択するようにセレ
クタ9を制御する。
なお、第4図において、セレクタ9と結果レジスタ6の
位置を反対にすることも可能である。但し、結果レジス
タ6には最終結果が保持されるので、第4図に示すよう
な配置構造にすることによって、乗数レジスタ1及び被
乗数レジスタ2の入力段階から最終結果が得られるまで
のデータ伝播の遅延時間をセレクタ9の分だけ短くする
ことができる。
以上、本発明の実施例について説明したが、本発明は以
上の実施例にのみ限定されず、その他各種の付加変更が
可能である0例えば、複数個の加算値を乗算結果に加算
し得るように、ウォーレス木に複数個の加算項を入力す
る入力信号線を接続し、ウォーレス木はその複数個の加
算項と複数の部分積とを入力とするように構成しても良
い。
〔発明の効果〕
以上説明したように、本発明は、ウォーレス木の入力段
において部分積生成回路で生成された部分積とは別に新
たな加算項を付は加えることにより、乗算と加算の演算
を従来の乗算サイクル内で実現することが可能となる。
一般に、乗算+加算の演算は種々な所で使用される0例
えば、浮動小数点演算の除算のときに収束型除算方式を
採用した場合には、 N/D玉Q なる除算を行なうとき、 N/D−(N/D)X (RO/Re)X (R1/R
1)×、・・・、×(Rイ×R工) とおき、分母−D ’ Ro  ・R1・・・・・・R
,を1に収束するようにRO,R,、・・・、  R,
lを決め、分子=Qとするが、このRe、R,、・・・
、RNを決めるときに乗算+加算を使用するときがある
。このような場合に本発明の算術演算装置を使用すれば
、このRe。
R1,・・・、RNを決定するプロセス時間を短縮する
ことができ、除算の速度をも高速化することができる。
更に、三角関数、指数関数、対数関数などの数学関数を
多項近似式を用いて求める際には乗算+加算のプロセス
を多用することになり、本発明を採用することにより数
学関数の算出時間の短縮にもかなりの効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図はウォ
ーレス木の構成例を示す要部ブロック図、 第3図は本発明の別の実施例のブロック図、第4図は本
発明の更に別の実施例のブロック図、第5図〜第7図は
乗算値と加算値との加算の仕方を説明する為の図である
。 図において、1・・・乗算レジスタ、2・・・被乗数レ
ジスタ、3・・・部分積生成回路、4・・・ウォーレス
木、5・・・2人力桁上げ先見型の加算回路、6・・・
結果レジスタ、7・・・加算値レジスタ、8・・・シフ
タ、9・・・セレクタ、10・・・シフタ8とセレクタ
90制御回路、11、20.30.35.40.50.
60.70.91・・・データ線、50i  〜53五
、   50  i−+  〜53t−+、50ム、、
  〜53t−0・・・全加算回路、80.81・・・
制御線。

Claims (1)

  1. 【特許請求の範囲】 乗数を格納する乗数レジスタと、被乗数を格納する被乗
    数レジスタと、前記乗数レジスタの乗数と前記被乗数レ
    ジスタの被乗数とを入力とする部分積生成回路と、該部
    分積生成回路の出力を入力とするウォーレス木と、該ウ
    ォーレス木の出力を入力とする加算回路とを含む算術演
    算装置において、 前記乗数レジスタの乗数と前記被乗数レジスタの被乗数
    との乗算結果に加算すべき加算値を加算項として前記ウ
    ォーレス木に入力する入力信号線を有し、 前記ウォーレス木は、前記入力信号線を介して加えられ
    た前記加算項と前記部分積生成回路から出力された複数
    の部分積とを入力とするように構成されたことを特徴と
    する算術演算装置。
JP61191934A 1986-08-16 1986-08-16 算術演算装置 Pending JPS6347874A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61191934A JPS6347874A (ja) 1986-08-16 1986-08-16 算術演算装置
US07/085,874 US4852037A (en) 1986-08-16 1987-08-13 Arithmetic unit for carrying out both multiplication and addition in an interval for the multiplication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61191934A JPS6347874A (ja) 1986-08-16 1986-08-16 算術演算装置

Publications (1)

Publication Number Publication Date
JPS6347874A true JPS6347874A (ja) 1988-02-29

Family

ID=16282881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61191934A Pending JPS6347874A (ja) 1986-08-16 1986-08-16 算術演算装置

Country Status (2)

Country Link
US (1) US4852037A (ja)
JP (1) JPS6347874A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01201771A (ja) * 1988-02-05 1989-08-14 Matsushita Electric Ind Co Ltd 積和演算装置

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5022397A (en) * 1987-02-11 1991-06-11 General Electric Company Multiple-echo NMR angiography with multiple-velocity images
US4969118A (en) * 1989-01-13 1990-11-06 International Business Machines Corporation Floating point unit for calculating A=XY+Z having simultaneous multiply and add
US5212661A (en) * 1989-10-16 1993-05-18 Matsushita Electric Industrial Co., Ltd. Apparatus for performing floating point arithmetic operation and rounding the result thereof
JPH03167664A (ja) * 1989-11-28 1991-07-19 Nec Corp マトリクス演算回路
FR2656706A1 (fr) * 1989-12-29 1991-07-05 Radiotechnique Compelec Organe de traitement arithmetique a associer a une unite centrale de microprocesseur.
US5113363A (en) * 1989-12-29 1992-05-12 Ail Systems, Inc. Method and apparatus for computing arithmetic expressions using on-line operands and bit-serial processing
US5285403A (en) * 1989-12-29 1994-02-08 U.S. Philips Corporation Arithmetic processing module to be associated with a microprocessor central processing unit
US5161119A (en) * 1990-02-14 1992-11-03 Lsi Logic Corporation Weighted-delay column adder and method of organizing same
US5119324A (en) * 1990-02-20 1992-06-02 Stardent Computer Apparatus and method for performing arithmetic functions in a computer system
US5231601A (en) * 1990-10-15 1993-07-27 Lsi Logic Corporation Digital multiplier based upon a regularly structured sum of products adder array for partial product reduction
IL99660A0 (en) * 1991-10-07 1992-08-18 Ibm Israel Random number generator
JPH0612229A (ja) * 1992-06-10 1994-01-21 Nec Corp 乗累算回路
US5375078A (en) * 1992-12-15 1994-12-20 International Business Machines Corporation Arithmetic unit for performing XY+B operation
US5623683A (en) * 1992-12-30 1997-04-22 Intel Corporation Two stage binary multiplier
JPH06223097A (ja) * 1993-01-22 1994-08-12 Sony Corp 乗算器、積和演算器の回路記述の発生方法
JPH0713741A (ja) * 1993-06-22 1995-01-17 Matsushita Electric Ind Co Ltd アルファ合成演算器
US5784305A (en) * 1995-05-01 1998-07-21 Nec Corporation Multiply-adder unit
JPH0962653A (ja) * 1995-08-29 1997-03-07 Mitsubishi Electric Corp 積和演算装置、積和演算器集積回路装置及び累積加算器
FR2745647B3 (fr) * 1996-03-01 1998-05-29 Sgs Thomson Microelectronics Coprocesseur d'arithmetique modulaire permettant de realiser des operations non modulaires rapidement
US5790444A (en) * 1996-10-08 1998-08-04 International Business Machines Corporation Fast alignment unit for multiply-add floating point unit
US5996066A (en) * 1996-10-10 1999-11-30 Sun Microsystems, Inc. Partitioned multiply and add/subtract instruction for CPU with integrated graphics functions
US5880984A (en) * 1997-01-13 1999-03-09 International Business Machines Corporation Method and apparatus for performing high-precision multiply-add calculations using independent multiply and add instruments
US6282557B1 (en) * 1998-12-08 2001-08-28 International Business Machines Corporation Low latency fused multiply-adder
US6438182B1 (en) 1999-03-02 2002-08-20 Harris Corporation Correlator with serial-parallel partition
US6493405B1 (en) 1999-03-02 2002-12-10 Harris Corporation Correlator having enhanced memory for reference and input data
US6038271A (en) * 1999-03-02 2000-03-14 Harris Corporation Correlator with cascade data paths to facilitate expansion of correlator length
US6611856B1 (en) * 1999-12-23 2003-08-26 Intel Corporation Processing multiply-accumulate operations in a single cycle
US6571266B1 (en) * 2000-02-21 2003-05-27 Hewlett-Packard Development Company, L.P. Method for acquiring FMAC rounding parameters
US6748411B1 (en) 2000-11-20 2004-06-08 Agere Systems Inc. Hierarchical carry-select multiple-input split adder
US7181484B2 (en) * 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
US7711763B2 (en) 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations
US7599981B2 (en) * 2001-02-21 2009-10-06 Mips Technologies, Inc. Binary polynomial multiplier
US7162621B2 (en) 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
TW200407775A (en) * 2002-11-14 2004-05-16 Faraday Tech Corp Method of generating multiply accumulator with an optimum timing and generator thereof
US7313585B2 (en) * 2003-08-30 2007-12-25 Hewlett-Packard Development Company, L.P. Multiplier circuit
EP1710691A1 (en) * 2005-04-07 2006-10-11 STMicroelectronics (Research & Development) Limited MAC/MUL unit

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL106470B1 (pl) * 1977-02-01 1979-12-31 Inst Maszyn Matematycznych Uklad cyfrowy do obliczania wartosci zlozonych wyrazen arytmetycznych
GB1582958A (en) * 1977-06-09 1981-01-21 Inst Maszyn Matematycznych War Digital system for binary multiplication of a number by a sum of two numbers
JPS55103642A (en) * 1979-02-01 1980-08-08 Tetsunori Nishimoto Division unit
JPS57141753A (en) * 1981-02-25 1982-09-02 Nec Corp Multiplication circuit
JPS57199044A (en) * 1981-06-03 1982-12-06 Fujitsu Ltd Multiplying device
EP0086904B1 (de) * 1982-02-18 1985-11-21 Deutsche ITT Industries GmbH Digitale Parallel-Rechenschaltung für positive und negative Binärzahlen
US4627026A (en) * 1982-10-21 1986-12-02 I.R.C.A.M. (Institut De Recherche Et De Coordination Accoustique/Misique Digital real-time signal processor
JPS6054070A (ja) * 1983-09-02 1985-03-28 Nec Corp 演算装置
CA1232072A (en) * 1983-12-26 1988-01-26 Hideo Miyanaga Multiplication circuit using a multiplier and a carry propagating adder
JPS60254373A (ja) * 1984-05-31 1985-12-16 Nippon Precision Saakitsutsu Kk 積和演算装置
JPS61114338A (ja) * 1984-11-09 1986-06-02 Hitachi Ltd 乗算器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01201771A (ja) * 1988-02-05 1989-08-14 Matsushita Electric Ind Co Ltd 積和演算装置

Also Published As

Publication number Publication date
US4852037A (en) 1989-07-25

Similar Documents

Publication Publication Date Title
JPS6347874A (ja) 算術演算装置
JP3479438B2 (ja) 乗算回路
JPH0612229A (ja) 乗累算回路
EP0356153B1 (en) Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction
JP3436994B2 (ja) シフト装置
US5867413A (en) Fast method of floating-point multiplication and accumulation
JPH1195982A (ja) 演算処理回路及び演算処理方法並びに演算処理システム
JP3660075B2 (ja) 除算装置
JP3537378B2 (ja) 加算器および集積回路
JP2700876B2 (ja) 並列乗算器
JP2737933B2 (ja) 除算装置
JPH0831024B2 (ja) 演算プロセッサ
JP2951685B2 (ja) 固定小数点演算器
JPS6259828B2 (ja)
JP2508286B2 (ja) 平方根演算装置
JP3251071B2 (ja) 除算/開平演算方法と演算装置
JPH02114324A (ja) 乗算器
JPS63254525A (ja) 除算装置
JPS6285333A (ja) 浮動小数点乗算器丸め処理方式
JPH02153412A (ja) 逆三角関数演算装置
JP3696307B2 (ja) 積和演算装置
JP3068640B2 (ja) 計算装置
JPS60108932A (ja) 十進演算処理装置
JPS6152741A (ja) シフト機能付乗算回路
JPS62214435A (ja) デイジタル除算回路