JPS6175927A - 符号付nビツト2進数乗算方式 - Google Patents

符号付nビツト2進数乗算方式

Info

Publication number
JPS6175927A
JPS6175927A JP19831884A JP19831884A JPS6175927A JP S6175927 A JPS6175927 A JP S6175927A JP 19831884 A JP19831884 A JP 19831884A JP 19831884 A JP19831884 A JP 19831884A JP S6175927 A JPS6175927 A JP S6175927A
Authority
JP
Japan
Prior art keywords
register
bit
multiplication
shift
circuit
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
JP19831884A
Other languages
English (en)
Inventor
Yasuhiko Ibuki
伊吹 靖彦
Hisashi Ibe
井辺 寿
Kimitoshi Hamada
浜田 王才
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP19831884A priority Critical patent/JPS6175927A/ja
Publication of JPS6175927A publication Critical patent/JPS6175927A/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/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

【発明の詳細な説明】
〔産業上の利用分野〕 本発明は、計算機等に使用される乗算器に関し。 特に符号付nビット2進数乗算を、nビット幅で演算す
る乗算方式に関する。 〔従来の技術〕 一般に従来の符号付nビット2進数の乗算器は。 n+1ビットの加算器と、さらに乗算時に発生するオー
バーフローを処理する回路とを用も)て構成されている
のが普通である。その動作原理番よ、被乗数を乗数の各
ビットの値にしたがって累算およびシフトを繰り返し実
行してゆくもので、第2図はその基本構成を示したもの
である。 第2図において、21および22はそれぞれ33ビツト
のAレジスタおよびSレジスタ、23しま32ビツトの
Sレジスタ、24は加算回路、25および26はシフト
回路であり、またAOPは演算制御ビット、十は2進加
算、THはAレジスタへのスルー(加算なし転送)演算
、SRIは通常の右1ビツトシフI−,ASRIは最左
端ビ・ノドを拡張シフトする算術右1ビットシフトを表
してし)る。 SRIおよびASR1の作用は次の通りである。 なお、do乃至d、はn+1ビ・ノドの2進数である。 i)  5RI (溢れ) ii)ASRI (拡張)             (溢れ)加算回路
24の演算結果出力は、シフト回路25で1ビツト右シ
フト(ASRI)された後、Aレジスタ21の(0: 
313の領域に部分積として格納される。またこのとき
シフト回路25で生じた下位へのシフト溢れ(Spil
l out)は最上位桁
〔0〕に格納される。他方、シ
フト回路26の1ビツト右シフト(SRI)出力は、S
レジスタ23の(1: 31)の領域に格納される。ま
たシフト回路26からの下位へのシフト溢れ(Spil
lout )は演算制御ビットAOPとして加算回路2
4に印加される。 まず動作の開始時に、Aレジスタ21.Sレジスタ23
.Sレジスタ22をそれぞれクリアし。 次にSレジスタ22に被乗数を設定し、Sレジスタ23
に乗数を設定する。 次に乗数をシフト回路26で1ビツト右シフト(SRI
)L、下位へのシフト溢れ(Spill out)を、
演算制御ピッ1−AOPとして取り出す。AOPが1か
0かにより以下の演算■または■が行われる。なおたと
えばAC−1:31)はAレジスタの桁位置−1から3
1の領域にある値を表しており、以下同様である。 ■ AOP=1の場合 マA (−1:31 ) +S (4:31 ) ’A
SRI−A (−1:31)V  B   (0:  
31)   ’SRI               
  −B   (に31)Spill out″’ A
 (−1:31 ) +S (−1:31 )マASR
I−B
〔0〕 5pill  out’B   (0:   31) 
  ’SRI     −=AOP(次のAOPの値) ■ AOP=0の場合 マA (−1:31 ) マA S R1−A (−L
:31)マB (0:31)   マSRI    →
B (1:31)Spill out’ A C−1:
31) vASRI−=B (0)Spill out
’ B (0: 31)マSRI −AOP(次のAO
Pの値) 以上の動作を、Sレジスタ23の長さ分だけすなわち3
2回実行すれば、演算が終了する。 すなわち−膜化して、被乗数Sを符号付nビット2進数
のS=S、S、・・−・8つとし1乗数Bを同じく符号
付nビット2進数のB = b a b + ’−’−
’ b −とし、さらにj回目の演算結果の部分積をP
P。 で表すとすれば、上述した従来の乗算器では。 PP、やr = (S−b、1−、  ・2’ +PP
j )  ・2伺 ・−(1)の演算が行われる。ただ
しPP、=0である。 なお2乗数や被乗数の負の値が絶対値で表されている場
合には、符号の処理が必要であり、他方。 補数で表されている場合には、演算の補正が必要である
。 このように、符号付32ビツト2進数の乗数を行う従来
の乗算器は、AレジスタやSレジスタとともに33ビツ
ト幅で構成する必要がある。そのため乗算器のゲート数
が増大するばかりでなく。 チェック用のパリティ予測(P ari ty P r
edict)回路もこれに伴って複雑化し、たとえば3
2ビツト用と33ビツト用との両方が必要であった。 また乗算器以外の論理演算などのための演算器は32ビ
ツトで構成されるため、演算器間で整合をとる必要があ
った。 〔発明が解決しようとする問題点〕 上述したように、従来の符号付nビット2進数乗算器で
はfi、+llビットに拡張した回路構成が必要となっ
てそれだけ複雑化し、またこれを避けようとすれば符号
付nビット2進数乗算をあきらめて1乗算あるいは被乗
数が負のときにはこれを正に変換して乗算しなければな
らず、その場合。 乗数および被乗数がともに負の最大数であったときには
特別な処理が必要となるという問題があった。 〔問題点を解決するための手段〕 本発明は、上記した問題を符号付nビット2進数の乗算
器をnビット幅の回路構成を用いて、演算制御方式の工
夫により解決するものであり、その構成は、それぞれが
nビット幅で構成された部分積を格納する第1のレジス
タと、被乗数を格納する第2のレジスタと2乗数を格納
する第3のレジスタと、上記第1および第2のレジスタ
の内容について指示された演算を行う加減算回路と、該
加減算回路の出力を右1ビットシフトして第1のレジス
タに戻すとともに右シフト溢れを第3のレジスタの最左
端ビットに格納する第1のシフト回路と、第3のレジス
タの内容を右1ビットシフトして該第3のレジスタの最
左端ビットを除く領域に格納するとともに右シフト溢れ
を加減算回路へ印加する第2のシフト回路とをそなえ、
n−1個の乗算命令と1個の乗算補正命令により乗算を
実行する符号付nビット2進数乗算方式であって。 上記加減算回路は第2のシフト回路の右1ビットシフト
溢れが1か0かにより2乗算命令実行時であれば第1お
よび第2の各レジスタの内容を加算するか第1のレジス
タの内容をそのまま出力するスルー演算を行い、また乗
算補正命令実行時であれば第1のレジスタの内容から第
2のレジスタの内容を減算するか第1のレジスタの内容
をそのまま出力するスルー演算を行い、上記第1のシフ
ト回路は加減算回路出力の左端20のビットのいずれか
一方にt行上げが発生した場合、最左端ビ、2トの桁上
げ値を最左端に設定する特別者1ビットシフトを行い、
その他の場合には最左端ビットを右拡張する算術布1ビ
ットシフトを行うことを特徴としている。 〔発明の作用〕 本発明によれば、前記(1)式の部分積の代りに。 次の(2)式が用いられる。 ここで。 CRY :加算時に生じた最も左のビットからの溢れ。 S:符号付nビットの被乗数S =So S+ 5z−
S、l ゆ す、−1:符号付nビットの乗数B=b、b、b。 −・・blにおいて、j回目の加算に使用されるビット
 (=力6算制御ビットAOP)。 PP、:j回目の加算による部分積。 ASRI:最も左のビット (符号ピント)を右へ拡張
する右、1ビットシフト。 0VFL:加算時に左から2番目のビ・ノドに生じた溢
れをCRYlとしたとき、上 記のCRYとの排他的論理和EQR によって与えられる。 0VFL=CRY(E9CRY 1 である。また′11”は結合(たとえば上位ビ・ノド配
列に下位ビット配列を連結すること)を表す記号である
。 したがって1乗算とその他の演算とは同じビット幅で演
算されるため、整合性をとるための特別な手段は不要と
なり、また負数の乗算の際の正数への変換も不要である
。 〔実施例〕 以下に2本発明の詳細を実施例にしたがって説明する。 符号付2進乗算方法には種々の方法があるか。 本実施例ではRobertsonの方法(例えば、萩原
宏 1著「電子計算機通論2演算・制御装置」朝倉書店
参jj、7 )を用いる。この方法では、Zを乗算結果
の積とし、So  boをそれぞれ被乗数S2乗数Bの
符号ビットとしたとき、n回目の部分積PP、、との間
に1次のような関係が生じる。なお、0”は正、“1”
は負の符号を表している。 ・・−・−−−−−−−−(3) 上記関係式を実現するために、第1図に示す回路構成と
9乗算命令(M)および乗算補正命令(MC)の2つの
マイクロ命令を使用する。マイクロ乗算命令(M)は2
乗数の各1ビツトごとに発行されて部分積をつくる1ビ
ツト乗算を行い、またマイクロ乗算補正命令(MC)は
、演算の最後に発行され1乗数が負(bo=1)の場合
の上記(3)式中の“−bo ・S・2″ ”の補正を
行う。 第1図において、1.2.3はそれぞれ32ビツトのA
レジスタ、Sレジスタ、Sレジスタである。4は加減算
回路、5は最左端ビットを右方に拡張してシフトすると
ともに最左端ビットに加算結果の溢れを挿入する特別台
1ビットシフト5SR1を行うシフト回路、6は通常の
右1ビットシフトSR1を行うシフト回路、AOPは演
算制御ピッI”+  CRYは加算時に生じる最左端か
らのキャリ、そして加減算回路4内の+、−、THはそ
れぞれ2進加算、2進減算、スルー演算を表している。 以後の説明で使用される主なステータスは次の通りであ
る。 CRY :加減算回路出力AO(0:31)のビットO
よりのキャリ CRYI:加減算回路出力AO(0:31)(7)ビッ
ト1よりのキャリ 0VFL : CRYΦCRY I AOP : 5pill out’B (0: 31)
 ’ SRIただし、加減算回路4の出力AO(0:3
1)は。 AOP=1またはAOP=0により、加算結果またはス
ルー演算結果を示す。すなわち。 となる。 さらに、特別右1ビットシフl−3SR1は、上述した
定義を用いると。 If  0VFL、1  =) CRYIIAO(0:
30) −’ A (0:31)ELSE  ゆ’AO
(0:31) ’ASRI→A (0:31)となる。 マイクロ乗算命令(M)は、Sレジスタ3の乗数をシフ
ト回路6で右1ビットシフトして溢れさせ(Spill
 out)得られる演算制御ビットAOPに基づいてA
レジスタ1とSレジスタ3とにまたがって存在する部分
積にSレジスタ2の被乗数を加算する1ビツト乗算演算
を実行させる。 ■ AOP=”lの場合には、加減算回路4は加算動作
を行うように制御され、Aレジスタ1の値とSレジスタ
2の値とを2進加算し、結果をシフト回路5で特別右1
ビ・ノドシフト5SRIしてAレジスタ1へ戻し、同時
にシフト回路5からの右シフト溢れ(Spill ou
t)をSレジスタ3の最左端ビットに格納する。またシ
フト回路6で右1ビットシフトSRIされたSレジスタ
出力は、Sレジスタ3の左から2番目以降の領域に格納
される。すなわち2次式のようになる。 マ A  (0:31)  +S  (0:31)  
マ5SRI−A  (0:31)マB (0:31) 
マSRI      −B (1:31)Spill 
out ’ A (0:31) +S (0:31)マ
ーB (0)Spill out ’ B (0:31
)マ  −AOP■ AOP=0の場合には、加減算回
路4はスル−演算動作を行うように制御され、Aレジス
タ1の値がそのままシフト回路5へ転送され、特別右1
ビットシフトSSR1されてAレジスタ1へ戻される。 同時にシフト回路5からの右シフト溢れ(Spill 
out)はSレジスタ3の最左端ビットに格納される。 またシフト回路6で右1ビットシフトSRIされたBレ
ジスタ出力は。 Sレジスタ3の最左端ビットに格納される。すなわち1
次式のようになる。 ’A (0:31) ’  5SRI  −A (0:
31)VB (0:31) ’  SRI  −B C
1:31)Spill out  ’A (0:31)
 ’  −B (0)Spill out  ’ B 
(0:31)マ −AOP次にマイクロ乗算補正命令(
MC)の機能について述べる。 マイクロ乗算補正命令(MC)は、AOPの値に基づい
てAレジスタ1およびSレジスタ3にまたがって存在す
る部分積からSレジスタ2の被乗数を減算するかあるい
はAレジスタ1中の部分積のスルー演算を行う補正演算
を実行させる。 ■ AOP=1の場合には、Aレジスタ1の部分積から
Sレジスタ2の被乗数を減算し、さらに1を加算したも
のを特別右1ビットシフト5SRIしてAレジスタ1に
戻し、同時に右シフト溢れ(Spill out)をS
レジスタ3の最左端ビットに格納する。他方Bレジスタ
3の値は、右1ビットシフトSRIしてSレジスタ3の
〔1:31〕に戻す。すなわち1次式で表される。 ’  A  (0:31)  +S  (0:31) 
 +1’5SR1−A  (0:31)マB (0:3
1) SRI        →B (1:31)Sp
ill out’ A (0:31) +S (0:3
1) +1マーB
〔0〕 ■ AOP=Oの場合には、加減算回路4はスルー演算
を行い、Aレジスタ1の部分積を特別右1ビットSSR
I してAレジスタ1へ戻し、同時に右シフト溢れ(S
pill out)をSレジスタ3の最左端ビットに格
納する。他方、Sレジスタ3の右1ビットシフトSRI
出力は、Sレジスタ3の(1: 31)に格納される。 すなわち。 次式で表される。 マA  (0:  31)  ’SSR1−A  (0
:  31)マB(0:31)  マSRI  −B 
 (1:  31)Spill out’A  (0:
 31 )  マーB(0)次に、第3図乃至第6図に
より具体的な乗算例を説明する。 第3図は、  5=0111(7) 、 B=(Hll
(7)の乗算例である。被乗数Sと乗数Bの符号ビット
がそれぞれ30 =0.b0=oであり、双方とも正で
あるため、ステップ■で実行されるMC命令ではAop
=oとなり、スルー演算(TH)が行われる。 なおステップ■、■のM命令では、0VFL=1となる
ため、特別右1ビットシフトSSR1において、最左端
ビットにCRY=Oが設定される。 このようにして、積S −B =00110001(4
9)が得られる。 第4図は、  5=1000(−8)、  B=010
1(5)の乗算例である。この場合、30 =i  b
0=0となるため、被乗数が負9乗数が正となっている
。このため、ステップ■のMC命令ではAOP=Oとな
り、スルー演算(TH)が行われる。なおステップ■の
M命令では、加算結果の最左端ビットが“0”となるが
、0VFL=1.CRY=1であることにより、5SR
Iによりシフトされた最左端ビットにはCRY=1が設
定され、負表示が保持される。このようにして、積S 
−B =11011000が得られる。これは補数表現
形式をとっており、絶対値表現“00100111”に
変換して−40となる。 第5図は、 5=0101(5) 、 B=1100(
−4)の乗算例である。この場合、S(1=0.b、=
1で乗数Bが負であるため、ステップ■のMC命令でA
OP=1となり、加減算回路4およびシフト回路5では
、前述した ’A (0:31) +3 (0:31) + 1 ’
  SSR1の補正演算が行われる。すなわち、Aレジ
スタ1の内容”0010”からSレジスタ2の内容“0
101”を減算(補数加算)シ、さらに+1する演算を
行い1次の5SRIでは0VFL=0であることにより
、最左端ビットを右拡張する算術布1ビットシフトのA
SR1が行われる。このようにして積s −B =11
101100が得られる。これは絶対値で“00010
100”の−20を表す。 第6図は、  5=1000(−8)、  B=100
0(−8)の乗算例であり、第5図の例と同様に、ステ
ップ■のMC命令でAOP=1となり、補正演算が実行
される。この場合には、0VFL=l  CRY=0で
あるため、5SRIの右1ビットシフト時に最左端ヒツ
ト12はCRY=0が設定される。このようにして、積
S・B =01000000すなわち64が得られる。 〔発明の効果〕 以上のように本発明によれば、符号付nビット2退数乗
算器をnビット幅で構成することができるので、計算機
の演算装置の構成が簡単になり。 また補数変換やビット幅変換が不要であるため高速化が
可能になる。
【図面の簡単な説明】
第1図は本発明方式の1実施例の構成図、第2図は従来
方式の1例の構成図、第3図乃至第6図はそれぞれ乗算
例の説明図である。 図中、1はΔレジスタ、2はSレジスタ、3はSレジス
タ、4は加減算回路、5および6はシフト回路を示す。

Claims (1)

    【特許請求の範囲】
  1. それぞれがnビット幅で構成された部分積を格納する第
    1のレジスタと、被乗数を格納する第2のレジスタと、
    乗数を格納する第3のレジスタと、上記第1および第2
    のレジスタの内容について指示された演算を行う加減算
    回路と、該加減算回路の出力を右1ビットシフトして第
    1のレジスタに戻すとともに右シフト溢れを第3のレジ
    スタの最左端ビットに格納する第1のシフト回路と、第
    3のレジスタの内容を右1ビットシフトして該第3のレ
    ジスタの最左端ビットを除く領域に格納するとともに右
    シフト溢れを加減算回路へ印加する第2のシフト回路と
    をそなえ、n−1個の乗算命令と1個の乗算補正命令に
    より乗算を実行する符号付nビット2進数乗算方式であ
    って、上記加減算回路は第2のシフト回路の右1ビット
    シフト溢れが1か0かにより、乗算命令実行時であれば
    第1および第2の各レジスタの内容を加算するか第1の
    レジスタの内容をそのまま出力するスルー演算を行い、
    また乗算補正命令実行時であれば第1のレジスタの内容
    から第2のレジスタの内容を減算するか第1のレジスタ
    の内容をそのまま出力するスルー演算を行い、上記第1
    のシフト回路は加減算回路出力の左端2つのビットのい
    ずれか一方に桁上げが発生した場合、最左端ビットの桁
    上げ値を最左端に設定する特別右1ビットシフトを行い
    、その他の場合には最左端ビットを右拡張する算術右1
    ビットシフトを行うことを特徴とする符号付nビット2
    進数乗算方式。
JP19831884A 1984-09-21 1984-09-21 符号付nビツト2進数乗算方式 Pending JPS6175927A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19831884A JPS6175927A (ja) 1984-09-21 1984-09-21 符号付nビツト2進数乗算方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19831884A JPS6175927A (ja) 1984-09-21 1984-09-21 符号付nビツト2進数乗算方式

Publications (1)

Publication Number Publication Date
JPS6175927A true JPS6175927A (ja) 1986-04-18

Family

ID=16389122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19831884A Pending JPS6175927A (ja) 1984-09-21 1984-09-21 符号付nビツト2進数乗算方式

Country Status (1)

Country Link
JP (1) JPS6175927A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258633A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5086949A (ja) * 1973-12-03 1975-07-12
JPS5378743A (en) * 1976-12-23 1978-07-12 Fujitsu Ltd Multiplier

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5086949A (ja) * 1973-12-03 1975-07-12
JPS5378743A (en) * 1976-12-23 1978-07-12 Fujitsu Ltd Multiplier

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258633A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备
CN111258633B (zh) * 2018-11-30 2022-08-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备

Similar Documents

Publication Publication Date Title
KR101173405B1 (ko) 부스 곱셈 방법들 및 시스템들을 위한 전력-효율적인 부호 확장
US3878985A (en) Serial-parallel multiplier using booth{3 s algorithm with combined carry-borrow feature
JPH0477932B2 (ja)
JP2502836B2 (ja) 除算回路の前処理装置
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
KR101073343B1 (ko) 개선된 감소 트리 회로를 갖는 부스 곱셈기
JPH0234054B2 (ja)
JPH02194430A (ja) 除算器
JPS6175927A (ja) 符号付nビツト2進数乗算方式
JPH0346024A (ja) 浮動小数点演算器
US20060253522A1 (en) Large number mutpilication method and device
JPH05158659A (ja) 乗算器
JP2682142B2 (ja) 乗算装置
JP2777265B2 (ja) 高基数開平演算装置
SU926650A1 (ru) Устройство дл одновременного вычислени двух многочленов
JP2995721B2 (ja) 除算装置および除算方法
JP3522167B2 (ja) 演算処理回路及び演算処理方法
JPS6265131A (ja) 乗算器
JPH0260020B2 (ja)
JP2569330B2 (ja) 乗算回路
JPS58119048A (ja) 演算方式
JPS60186933A (ja) 2進化10進乗算方式
JPS60230266A (ja) 演算装置
JPH07160480A (ja) 10進除算器
JPS6129020B2 (ja)