JPS6115232A - 乗算装置 - Google Patents

乗算装置

Info

Publication number
JPS6115232A
JPS6115232A JP13462884A JP13462884A JPS6115232A JP S6115232 A JPS6115232 A JP S6115232A JP 13462884 A JP13462884 A JP 13462884A JP 13462884 A JP13462884 A JP 13462884A JP S6115232 A JPS6115232 A JP S6115232A
Authority
JP
Japan
Prior art keywords
bit
register
data
multiplication
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
JP13462884A
Other languages
English (en)
Inventor
Takahiko Sakai
酒井 高彦
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP13462884A priority Critical patent/JPS6115232A/ja
Publication of JPS6115232A publication Critical patent/JPS6115232A/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/527Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel
    • G06F7/5272Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel with row wise addition of partial products

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)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は乗算回路に関するもので、特に電子R1算機の
演算装置に使用されるものである。
(発明の技術的背景) 乗算回路としては乗数の1桁ごとの部分積を求めシフト
しながら加算する形式のものが広く用いられている。
第2図はこのような乗算回路の一例を示(構成図であっ
て、nビットの正の2進数の乗算を行うものである。こ
の回路は乗数を設定層るnビットのレジスタ1、被乗数
を設定するnビットのレジスタ2、部分積が設定される
それぞれnビットのレジスタ3および4、レジスタ1の
内容の最下位ビットにしたがってレジスタ2の内容また
はnビットの゛O′°データを選択する選択回路5、こ
の選択回路の出力とレジスタ3の内容とを加算する加算
器6、シフト回路7,8.9より成っている。
この回路の動作は次の通りである。まずレジスタ1に乗
数、レジスタ2に被乗数、レジスタ3および4にオール
゛O″のデータを設定する。乗数レジスタ1から最下位
ビットのデータが1ピッ1−の線路L12を介して選択
回路5に供給されると、選択回路5では乗数レジスタ1
から供給されたデータが°1′°であるとぎはnビット
の線路し1を介して供給されるレジスタ2の内容を、”
 o ”であるとぎはオール″“O°′のデータをそれ
ぞれnビットの線路L2に出力する。すなわち、乗数1
ビットと被乗数nビットの乗算が行われたことになる。
次に加算器6では線路[−2を介して供給される選択器
5の出力とnビットの線路L3を介して供給されるレジ
スタ3の内容とが加算され、結果がnビットの線路1−
4を介してシフト回路7に供給される。この加算におい
ては桁上りが!tすることがあるので加算器6からは1
ビットの線路[8に桁上り出力が出力され、シフト回路
7に供給される。シフト回路7は桁上り出力をシフトイ
ンデータとして加算器6の出力を1ビット右ヘシノトさ
せ、その結果はnビットの線路L 5を介してレジスタ
3に入力される。シフト回路7においてシフトアウトさ
れた最下位データは1ヒツトの線路L9を介してシフト
回路8に入力され、シフ1〜回路8はシフト回路7のシ
フトアウトデータをシフトインデータとしてレジスタ4
からnビットの線路L6を介して供給されたレジスタ4
の内容を1ビットシフトさせ、nビットの線路L7に出
力−4るので、レジスタ4の内容は線路L 7の内容に
誼き換わる。また、レジスタ1の内容<t nビットの
線路L10を介してシフト回路9に入力され、シフト回
路9は1ピツ1〜右ヘシフトしnビットの線路L11を
介してレジスタ1に再設定される。
次のステップではレジスタ1の最下位ビットtま乗数の
2桁目になっており、選択器5で乗算が行われ、その結
果とレジスタ3に格納されている乗数の1桁目に対する
部分積である2桁目からn+1桁目までの数値とが加算
器6において加算され、シフト回路7およびシフト回路
8によりシフl−が行われてレジスタ3および4の内容
が更新される。
以上のような加算とシフトがn回くり返され、最終的に
乗算結果中の1〜n桁がレジスタ4に、(n+1)〜2
n桁がレジスタ3にそれぞれ設定され、答が求まること
になる。
〔背景技術の問題点〕
しかしながら、このような乗算装置は乗数および被乗数
ともnビットのデータを前提としており、被乗数がnビ
ットを超えた場合には動作が遅くなるという問題がある
。例えば被乗数が2nビットである場合を考えると、部
分積を求めるための加算はnビットの加算器で2nビッ
トの長さにわたって行われるため加算は下位nビットと
上位nビットにわけて行われることになるが、シフト回
路7におけるシフトインデータは上位nピッi・の最下
位ビットについての加算結果が求まらない限り定まらな
い。したがって2nピツ1〜にわたる加舜の終了後に2
nビットにわたるシフトを行わな【プればならなず、加
算とシフトが同時に行われるnビット数どうしの乗算の
場合と比へ約4倍のステップ数となり演牌速度が著しく
低下するという問題がある。
〔発明の目的〕
本発明はこのような事情に鑑みてなされたもので、被乗
数が2nビットまでのデータに対し簡単な溝成で、8速
演算を行うことかで・きる乗算回路を提供することを目
的とする。
(発明の1ml要) 上記目的達成のため、本発明においては、2nビットの
被乗数とnビットの乗数のうちの最下位ビットとを前記
被乗数のnビットごとに乗算して部分積を求め、この部
分積をシフト回路により1ピッ1−ずつシフトさせて保
持し、前記乗数を1ビットずつシフトさせて得られた新
たな部分積と加算器により加算し、3nビット長の乗算
結果を得るようにしてなる乗算装置において、被乗数の
下位nビットの乗算における桁上げデータを保持する第
1の記憶手段と、先に行われた被乗数の上位nビットの
乗算における前記加算器出力の最下位ビットデータを保
持する第2の記憶手段と、被乗数の(n+1)ビット目
と乗数の最下位ビットとを乗算する部分乗算手段と、前
記第1の記憶手段の出力、前記第2の記憶手段の出力、
前記部分乗算手段の出力とを加算する部分加算手段とを
備え、被乗数の下位nビットの乗算においては前記部分
加算手段の出力を部分積のシフトを行わせるシフトイン
データとし、被乗数の上位nビットの乗算においては前
記第1の記憶手段の出力を前記加算器における加算デー
タとしたことを特徴としており、2nビットにわたる加
算を行うことなく、加算に並行してシフトが行えるため
高速乗算を行うことができるものである。
〔発明の実施例〕
以下、図面を参照しながら本発明の一実施例を詳細に説
明する。
第1図は本発明にかかる乗算回路の一実施例を示す構成
図であって、2nビットの正の被乗数とnビットの正の
乗数とを乗算し30ビットの乗算結果を得るものである
。なお、第1図において、第2図と同様の要素には同じ
番号または記号を付しである。 これによれば、乗数を
設定するレジスタ1の内容はnビットの線路LIOを介
してシフト回路9に入力され、このシフト回路9では1
ビット右へシフトがなされ、その出力はnビットの線路
L11を介して再びレジスタ1に入力され、レジスタ1
の内容を更新する。レジスタ1の最下位ビットデータは
1ビットの線路L12に出力される。レジスタ2は被乗
数のうちの上位nビットを設定するnビットのレジスタ
、レジスタ12は被乗数のうちの下位nビットを設定す
るnビットのレジスタであって、これらの内容はそれぞ
れnビットの線路L21.L22を介して選択回路11
に入力され、上位ビットあるいは下位ビットのいずれか
が選択され、nビットの線路L1を介して選択回路5に
入力されている。レジスタ21はレジスタ2に格納され
た上位被乗数のうちの最下位のデータすなわち(n+1
>ビット目のデータを設定するレジスタであり、1ビッ
トの線路L31を介して選択回路15に入力される。こ
れらの選択回路5および15は入力されたデータとオー
ル゛0″データをレジスタ1から線路L12により入力
されたデータの状態に従って選択する。
すなわち、選択回路5においては線路L12のデータが
1″のときは線路L1の内容を線路L2に出力し、線路
L12のデータが′O”のときはオール゛O″のデータ
をnビットの線路し2に出力し、選択回路15において
は同様に線路L31のデータあるいは0″のデータを選
択して線路L32に出力する。レジスタ3、レジスタ1
3、レジスタ4はいずれも部分積を格納するnビットの
レジスタであり、それぞれ、上位、中位、下位の演算結
果を保持する。レジスタ3の内容はnビットの線路[2
3により、レジスタ13の内容はnビットの線路L24
により(れぞれ選択回路14に入力されており、被乗数
の上位、下位の切替に対応してレジスタ3またはレジス
タ13のデータが選択され、nビットの線路L3に出力
される。線路L2およびL3は共に加算器6に入力され
ており、その加算結果はnビットの線路L4を介して出
力されシフト回路7に入力されている。
このシフト回路7でシフトされた加算結果はnビットの
線路L5を介してnビットのレジスタ3およびレジスタ
13に被乗数が上位であるか下位であるかに従って格納
される。レジスタ3の内容はnビットの線路L23によ
り引ぎ出され、選択回路14に入力されており、同様に
レジスタ23の内容は線路L24を介して選択回路14
に入力されている。また加算器6からは桁上げデータが
出力され、1ビットの線路L36を介して加算器16、
選択回路24、レジスタ23にそれぞれ入ツノされてお
り、さらに最下位ビットデータが出力され、1ビットの
線路L33を介してレジスタ22に入力されている。こ
のレジスタ22の出力は1ビットの線路1−34を介し
て加算器16に入力され、この加算器16ではレジスタ
22の出力、線路し32により供給される選択回路15
の出力データ並びに線路L36により供給される桁上げ
データが加算され、その加算結果は線路L35を介して
選択回路24に入力される。この選択回路24の出力は
1ビットの線路L8を介してシフト回路7にシフトイン
データとして入力されて加算器6の出力を1ビット右ヘ
シフトさせ、このシフト回路7においてシフトアウトさ
れるデータは1ビットの線路L9を介してシフト回路8
にシフミルインデータとして入力される。このシフト回
路8はレジスタ4からnビットの線路L6を介して引き
出されたデータ内容をシフトインデータにより1ビット
右ヘシフトさせ、このシフト結果はnビットの線路L7
によってレジスタ4に入力され、レジスタ4の内容は更
新される。レジスタ23に格納されたデータ昏41ビッ
トの線路L37を介して選択回路25に入力され、この
選択回路25ではレジスタ23のデータと°0″のいず
れかが選択され1ビットの線路L38を介して加算器6
の加算入力となっている。
このような乗算回路の動作を次に説明する。
レジスタ1にnビットの乗数、レジスタ2に2nビット
の被乗数の上位nビット、レジスタ12に被乗数の1位
nビット、レジスタ3.13,4゜22.23にそれぞ
れ“O゛′をセットしておくものとする。
下位nビットの被乗数乗算を行う場合、選択回路11お
よび14はそれぞれレジスタ12およσレジスタ13を
選択し、乗数の1ビット目についての乗算を選択器5に
より行い線路L2により加算器6に供給されるが、この
乗筒装賀においてはレジスタ21に格納された(n+1
)ビット目の被乗数と乗数の1ビット目の乗算が同時に
(うわれ、加算器16に入力される。この加算器16に
おいては上位nビットの乗算におれる1 +Jイクル前
の最下位ビットを保持づるレジスタ22(最初の内容は
’o”>の出力および加算器6の桁上げ信号が加算され
、その加算結果がシフト回路7のシフトインデータとな
って加算器6の加算結果をシフトさせ、シフト結果はレ
ジスタ13に送られて格納される。シフト回路7でシフ
トアウトされた最下位ビットのデータはシフト回路のシ
フトインデータとなってレジスタ4の内容は更新される
。また、加算器6より線路L36に出力された桁上げデ
ータはレジスタ23に格納されるが、下位nビットの被
乗数の乗算の際には選択回路25によりII OIIが
選択され加算器6での加算は行われない。
次に上位nビットの被乗数乗算を行う場合、選択回路1
1および14はそれぞれレジスタ2およびレジスタ3を
選択するように切替えられる。レジスタ1からは乗数の
1ビット目が引きつづき供給され、選択回路5で乗算が
行われ結果が加算器6に入力される。この加算器6には
レジスタ3の内容と、選択回路25により選択されたレ
ジスタ23の内容、すなわち下位nビット被乗数の乗算
の際に得られた桁上げデータも入力され加算される。加
算器6における加算により発生した桁上げデータは線路
L36に出力され、選択回路24がし3G側を選択する
ことによりシフト回路7におけるシフミルインデータと
して入力される。ジノ1〜された加算結果は線路L5を
介してレジスタ3に入力される。なお、この上位nビッ
ト被乗数の乗算のときにはシフト回路8は作動し4丁い
ようになっている。また、加算器6による加算の結果1
qられた最下位ビットはレジスタ22に格納される。
さらに加算器16において加算動作は行われるが、選択
回路24が加算器16側を選択しないためシフト動作等
には影響を及ぼさない。
以上で乗数の1ビット目についての乗算が終了するので
、シフト回路によりレジスタ1内の乗数データを1ビッ
ト右へずらし、乗数の2ビット目が線路[12に供給さ
れる。
この状態で上述のような動作が行われる。すなわら、被
乗数の下位nピット乗界にあっては桁上げデータ、選択
回路15により得られた(n+1)ビット目の被乗数と
2ビット目の乗数の積、レジスタ22に保持された上位
nビットに被乗数と乗数1ビットの演算における加算器
出力の最下位ビットすなわち(n+1)ピッ1〜目のデ
ータとが加算器16により加算され、その結果がシフト
回路7におけるシフトインデータとして用いられる。
また上位nピッ1〜の被乗数の乗算にあってはレジスタ
23に格納された下位nビットについての乗算におりる
桁上げデータが加算対象となる。
以上のような動作を乗数のnビット目までくり返し行う
ことにより、レジスタ3,13.4から3nビットの乗
算結果を得ることができる。
以上の実施例において乗数データを引き出すためにシフ
ト回路とレジスタの組合せを用いているが、これに限ら
れることなくシフトレジスタを使用してもよい。また、
シフト回路、レジスタ、選択回路、加幹器等は公知のあ
らゆる形式の回路を使用することができる。ざらに、実
施例では乗数1 詔(nビット)被乗数2詔(2nビッ
ト)としているが、被乗数レジスタ、部分積レジスタ、
加算器、シフト回路にビット幅を増加させればより長い
語長を右づる被乗数を扱うことができる。
また、本発明の乗算装置を用いて乗数のビット艮を増加
させるには、次のような方法が可能である。すなわち演
算可能な乗数ビット数についての演算を行いその結果を
別の場涌へ移送し、残りの乗数についての演算を行って
その結果と別の場所へ移送した結果とを加え合わせるよ
うに(ればよい。
なお、実施例においては2つの加算器を用いているが、
(n+1>ビットの加算器を用い、最上位ビットについ
ての入力および出力を他のビットとは別に行うようにし
てもよい。
(発明の効果) 以上のように、本発明によれば、20ビットの被乗数と
nビットの乗数とを乗算する乗算装置において、被乗数
の下位nビットの乗算における桁上げデータを保持する
第1の記憶手段と、先に行われた被乗数の上位nビット
の乗算にお(プる前記加算器出力の最下位ビットデータ
を保持する第2の記憶手段と、被乗数の(n+1)ビッ
ト目と乗数の最下位ビットとを乗算する部分乗算手段と
、前記第1の記憶手段の出力、前記第2の記憶1段の出
力、前記部分乗算手段の出力とを加算する部分加算手段
とを備え、被乗数の下位nビットの乗算においては前記
部分加算手段の出力を部分積のシフトを行わせるシフト
インデータとし、被乗数の上位nビットの乗算において
は前記第1の記憶手段の出力を+’+iJ記加算器にお
番プる加算データとしているので加算とシフトを同時に
行うことができ簡単な構成にもかかわらず演尊速度を向
上させることができる。
【図面の簡単な説明】
第1図は本発明にかかる20ビット×nビットの乗算装
置の一実施例を示す構成図、第2図は従来のnビット×
nビットの乗算装置の一例を示す構成図である。 1.2,3,4,12,13,22.23・・・レジス
タ、5,14,15,24.25・・・選択回路、6.
16・・・加算器、7,8.9・・・シフ1〜回路。

Claims (1)

  1. 【特許請求の範囲】 2nビットの被乗数とnビットの乗数のうちの最下位ビ
    ットとを前記被乗数のnビットごとに乗算して部分積を
    求め、この部分積をシフト回路により1ビットずつシフ
    トさせて保持し、前記乗数を1ビットずつシフトさせて
    得られた新たな部分積と加算器により加算し、3nビッ
    ト長の乗算結果を得るようにしてなる乗算装置において
    、被乗数の下位nビットの乗算における桁上げデータを
    保持する第1の記憶手段と、 先に行われた被乗数の下位nビットの乗算における前記
    加算器出力の最下位ビットデータを保持する第2の記憶
    手段と、 被乗数の(n+1)ビット目と乗数の最下位ビットとを
    乗算する部分乗算手段と、 前記第1の記憶手段の出力、前記第2の記憶手段の出力
    、前記部分乗算手段の出力とを加算する部分加算手段と
    を備え、 被乗数の下位nビットの乗算においては前記部分加算手
    段の出力を部分積のシフトを行わせるシフトインデータ
    とし、 被乗数の上位nビットの乗算においては前記第1の記憶
    手段の出力を前記加算器における加算データとしたこと
    を特徴とする乗算装置。
JP13462884A 1984-06-29 1984-06-29 乗算装置 Pending JPS6115232A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13462884A JPS6115232A (ja) 1984-06-29 1984-06-29 乗算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13462884A JPS6115232A (ja) 1984-06-29 1984-06-29 乗算装置

Publications (1)

Publication Number Publication Date
JPS6115232A true JPS6115232A (ja) 1986-01-23

Family

ID=15132812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13462884A Pending JPS6115232A (ja) 1984-06-29 1984-06-29 乗算装置

Country Status (1)

Country Link
JP (1) JPS6115232A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01304534A (ja) * 1988-06-01 1989-12-08 Nec Corp ディジタル掛算器
CN103605494A (zh) * 2013-10-17 2014-02-26 陕西万达信息工程有限公司 一种平方运算电路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01304534A (ja) * 1988-06-01 1989-12-08 Nec Corp ディジタル掛算器
CN103605494A (zh) * 2013-10-17 2014-02-26 陕西万达信息工程有限公司 一种平方运算电路

Similar Documents

Publication Publication Date Title
US4754421A (en) Multiple precision multiplication device
US4700324A (en) Digital circuit performing an arithmetic operation with an overflow
US4866652A (en) Floating point unit using combined multiply and ALU functions
GB2330226A (en) Digital signal processor for performing fixed-point and/or integer arithmetic
JPS60229140A (ja) 倍精度乗算器
US4638449A (en) Multiplier architecture
US5177703A (en) Division circuit using higher radices
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
US4677583A (en) Apparatus for decimal multiplication
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JPS6115232A (ja) 乗算装置
JPH0346024A (ja) 浮動小数点演算器
US5691930A (en) Booth encoder in a binary multiplier
JPH10111791A (ja) 除算装置
JPS58129653A (ja) 乗算方式
JP2682142B2 (ja) 乗算装置
JP2951685B2 (ja) 固定小数点演算器
EP0129039A1 (en) Improved multiplier architecture
JPS60230266A (ja) 演算装置
SU1667061A1 (ru) Устройство дл умножени
JPH0784762A (ja) 乗算回路
RU1833864C (ru) Устройство дл суммировани чисел в дополнителььном коде с плавающей зап той
GB2345563A (en) Digital signal processor for performing fixed-point and/or integer arithmetic
SU491946A1 (ru) Устройство дл извлечени корн -ой степени
JPH04263317A (ja) 演算装置