JPS6247740A - 乗算装置 - Google Patents

乗算装置

Info

Publication number
JPS6247740A
JPS6247740A JP60187133A JP18713385A JPS6247740A JP S6247740 A JPS6247740 A JP S6247740A JP 60187133 A JP60187133 A JP 60187133A JP 18713385 A JP18713385 A JP 18713385A JP S6247740 A JPS6247740 A JP S6247740A
Authority
JP
Japan
Prior art keywords
multiplication
positive number
multiplier
multiplicand
complement
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
JP60187133A
Other languages
English (en)
Inventor
Kazuhiro Chiba
千葉 和弘
Noriko Kojima
小島 典子
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP60187133A priority Critical patent/JPS6247740A/ja
Publication of JPS6247740A publication Critical patent/JPS6247740A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、乗算装置に関し、中でもコンピュータ上で
、データが2の補数表示形式の場合の乗算を実現する乗
算装置に関するものである。
〔従来の技術〕
一般に、コンピュータの基本構成要素は、CPUとRA
MとROMのハードウェアと、これらを有機的に結合し
て目的を実現するプログラムからなるソフトウェアとで
成り立つ。コンピュータ上で乗算機能を実現する場合、
従来はソフトウェアで対処していた。
以下の式(1) (2) (31はこのプログラムの基
本となる乗算アルゴリズムである。
X=27 ・x、+2b −x6+2S −x5+24
 ・x、+23 ・X。
+22 ・x2+2・X、+z。
・・・(1) Y=27 ・yq  +2’  ・)’6  +2’ 
 −)’s+24 ・ya+23 ・y。
+2”  −Yt +2・)’I+)’0・・・(2) P=X−Y =X (2’  ・y、+2’  ・y6 +2S  
Hys+24 ・Ya ”2’  ・y□ +22 ・’It+2 ・ )’++3’o)=X  
(2(26・y?+2’  ・Yb  ”2’  ・y
S+23 ・Ya +2” ”is +2・ Yz  +Y+  )  ”)’o  )= 
2 (2(2(2(2(2(2(y ?  ・X)+y
6  ・X)+y、・X)”y4  ・X)+ys  
・X)+’lz  ・X)+y+  ・X)+yo  
・X・・・(3) これらの式中、被乗数Xと乗数Y(以下ではX。
Yと略す)は各8ビツトと仮定しており、これらの一般
式は X=2’ Xy +2” X6 +2’ xs +2’
 X4+2″x、+2” x、+2x、+x。
Y=2’ )’? +2hVb +2’ Ys +2’
 Ya+23Ys +2” Yz +2y+ +)’0
と表現できる。XとYの積をPとすると、このPは式(
3)のように展開でき、最終的にP=X−Y = 2 (2(2(2(2(2(2()’ T・X)+
yb・X)+y、・X)+3’4・X)+y3・X)+
’Jt・X)+y+・X)+yo・Xとなる。
この積Pを求める手順は、最初にy? ・Xを求めてこ
れを2倍し、次にこの値にy6 ・Xを加算して2(y
7 ・X)+y6 ・Xを求める。以下この値を2倍し
てy、・Xを加算するごとく順次に値を求めて最終的に
P式を得る。これが、ソフトウェアで乗算を実行する乗
算アルゴリズムの1例である。
第6図はそのプログラムの一例を示したものである。ス
テップMでXとYをレジスタR+、Rzに代入し、ステ
ップNでレジスタPに初期値としてOを、Yの何ビット
目を計算しているかを示すレジスタiに7を設定し、7
ビツト目から計算をはじめる。ステップOでy7 ・X
を計算し、レジスタPに加算する。次にステップQでそ
れを1桁の桁上げをする。これで、2(y、・X)まで
計算が終了した。ステップRでレジスタiから1を減算
して6とし、次は6ビツト目を計算する。ステップOま
で戻り、y、・Xを計算して、それをレジスタPに加算
して、ステップQで桁上げする。
これで、2 (2(7?  ・X)+y、)まで計算が
終了した。同様に、5,4.3.2.1.0ビツトも計
算し、ステップPの分岐によって、ステップNによりレ
ジスタPの内容が出力される。
〔発明が解決しようとする問題点〕
従来のコンピュータ内乗算装置は以上のように構成され
ているので、データが、2の補数表示形式の場合、乗算
が不可能であった。
この発明は、上記のような問題点を解消するためになさ
れたもので、コンピュータ内のROMとソフトウェアま
たはソフトウェアの少なくとも一方を用いて、2の補数
表示形式の乗算を可能とする乗算装置を得ることを目的
とする。
c問題点を解決するための手段〕 この発明に係る乗算装置は、2の補数表示形式のデータ
を正数化する正数化手段と、正数を乗算する正数乗算手
段と、該正数乗算手段の乗算補正を行なう乗算補正手段
と、正数乗算手段の出力と乗算補正手段の出力とを加算
する加算手段とを備え、 X及びYを =Xl  2”−’ =y、−2@−家 ただし、 X、とy、は極性符号、Xiとy五は数値符号と変形し
て、積P (−X、 Y)を次式形式% ただし、 YlはXIの1の補数、■1はYlの1の補数に従って
計算するようにしたものである。
〔作用〕
この発明においては、2の補数表示形式のデータを正数
化して正数の乗算を行ない、乗算補正手段により正数の
乗算に対する乗算の補正を行うことにより、2の補数表
現形式の乗算を行なうことができる。
〔実施例〕
以下、この発明の一実施例を図について説明する。
まず以下に本発明の基礎となる乗算アルゴリズムを示す
(C)  X=Xl −2”−’   YヨY、−2”
−’(D)  P=X−Y =  (XI  −2’−’ )(Yl  −2” )
−XI  −Yl −(XI  +Y、)2”−1+2
”””XI  ’yt +(x、+1 +Yl +1)
2’−’ +2””””XI  ’ Yl  + (X
I  +V、)  ・2’−’  +2”−”+2’(
E)  P−XI  ・yt  + (XI  +’/
、”)−2”−’+  (2a−g  +l )  ・
2″(A)はnビットの被乗数Xとnビットの乗数Yを
2の補数表示したときの一般式を示しており、x、とy
、は極性符号である。一般に、XZOでxs=@O″、
x〈0でx3−“1″であり、y。
も同様である。このままでは、XとYの式中にマイナス
符号が存在するため乗算出来ないので、それぞれに(2
’−’ −2”−’)を加算して書き直した式を(B)
に示す、これを簡略化した式を(C)に示す、(C)の
X、とY、は、 1−x、=Oor1 1−Ys−Oorl となるため、正数とみなすことができる。(D)は積P
=X −Yの導出過程を示している。このとき、 XI  −XI  + 1.  −Yt =Y+  +
 1の恒等式を用いている。(E)には、2の補数表示
データの積Pを得る式を示す。
次に本発明の一実施例による乗算装置の機能ブロック図
を第1図に示し、説明する。
第1図において、1は2の補数表示形式のデータである
X、Yを正数化、即ちX=X、−2’−2゜Y =Y 
t   2 n−”とする正数化手段、2は得られた正
数X1.Ylを乗算する正数乗算手段、3は上記X、Y
を入力とし、上記正数化に伴う乗算補正を行なう、即ち
O乙、Yl )  ・2n−’ +(2’−” +1)
  ・2”を求める乗算補正手段、4は上記正数乗算手
段2の出力と乗算補正手段3の出力とを加算し積Pを求
める加算手段である。
また上記実施例の乗算装置のハード構成図を第2図に示
す。図中、11はCPU11aと、RAM11bと、プ
ログラム格納用ROMI  (11c)からなるコンピ
ュータ、12はXI、Yl の部分積の乗算結果を収納
したROM2.13はROM出力データである。
そして第1図の正数化手段12乗算補正手段3及び加算
手段4はCPU11aにより構成されている。また正数
乗算手段2による乗算は従来と同様コンピュータのみに
より行なってもよいが、これはx、、Y、を2つ以上の
数値の和に分解し、その分解値の部分積をROM変換テ
ーブルROM2(12)を用いて行なってもよく、その
方法を以下に説明する。
即ち、まずX、とYlを各8ビツトと仮定し、XI”’
Xq・2’+xh・2’+3(s+ ’l’+x4・’
l’+X=・23+Xz・22+x、・2+x0 Y+=Yy・2?+Yb・26+)’s・25+y4・
2’+yx・2”3’z・22+y、・2+y0 と表現する。これらX、、Y、を次のように2項分解す
る。
XI = (x、・2’+x6−2t+x5・2+X4
)2’+ (x、・2”+x、・2” +xB 2+x
o)WXU・2’+Xt Yl ’= (Yt・2”Yb・2”+)’s・2+7
4)2’+(y、・2’+yz・2” +3’+・2+
yo)=−Yu・24+YL 従って、1jlPは、 P ” X +  ・Y。
=X、−YLI・ 2”+  (Xす・YL十   X
L −Yu)  24+ XL −YLとなる。P弐で
Xu  ’ Yu 、  Xo  ’ Yt 、  X
L  ・Yu 、XL  ” Ytは部分積を表してお
り、2@と24は桁上げ量を示している。ところで、X
、J。
XL 、Yu 、YLは各ビットの2進データであり、
O≦Xu 、XL 、Yu 、YL≦15である。従っ
て、0≦Xu ・Yu、Xu−Yt、XL  −Yu。
XL ’Yt≦225であり、8ビツトで表現できる。
そこで、4ビツト×4ビツトの乗算後の8ビツトの値を
、ROMの被乗数と乗数の合成アドレス番地に収納して
おけば、それを読出すだけでXu・Yu 、 XU −
Yt 、 XL ’Yu 、Xt ’YLの値が得られ
る。このROM2  (12)は第2図のようにコンピ
ュータ11の外につけてもよいし、また第5図のように
コンピュータ11の中のROM2(12)を使用しても
よい。
次にこの正数乗算手段の乗算のプログラムフロー図を第
3図に示し、説明する。まず、X、とY。
をコンピュータのRAM上のレジスタR1とR2に取り
込み(ステップH)、次にかけ算を4回行なうために、
ループ制御用のレジスタiに3を収納する(ステップ■
)。次にXUとYIJの合成アドレスを出力してROM
より乗算結果XuYuを得て、レジスタB、に収納する
。以下、XUYL。
Xt Yu 、XL YLについても同様に行ない、レ
ジスタBz、B+ 、Boに乗算結果を収納する(ステ
ップJ)。次に。
P = B o + B I’ 2 ’ + B z 
・2 ’ + 83 ・2 ”の加算をCPUで実行し
、積Pの乗算結果を得る(ステップK)。最後に、積P
をコンピュータの所定のポートから出力して乗算が終了
する(ステップし)。このように、ROMとプログラム
を結合することにより正数の乗算が実行できる。
第4図に上記(E)のアルゴリズムを用いた、本実施例
の乗算装置による、2の補数表現形式のXとYの乗算の
プログラムフロー図を示す。ただしn−8とする。まず
、被乗数Xと乗数YをレジスタRI、Rzに収納する(
ステップA)。次に、X、を反転させてX、を、y、を
反転させてY。
を作成し1、レジスタR,I、R4に収納する(ステッ
プB)。次にx、、y、を反転させてX、、Y。
とし、レジスタR,とR6に収納する(ステップC)。
Y、とT、を加算して、レジスタR1に収納する(ステ
ップD)。X、とY、を第3図のフロー図に従って乗算
し、その結果をレジスタR11に収納する(ステップE
)R,と、R1を27倍したものと、定数4100 (
16進)とを加算して、積Pを求める(ステップF)。
積Pを予め決められたコンピュータの入出力ボートに出
力する(ステップG)。
以上のように本発明によれば上記(A)〜(E)の乗算
アルゴリズムを用いることによって2の補数表示形式の
データの乗算が実現できる。
なお、上記実施例ではn=8の8×8ビット乗算器を例
に説明したが、一般的なnXmビット乗算器についても
、本発明の主旨を適用して同様に実現できる。
〔発明の効果〕
以上のように、この発明によれば、2の補数表示形式の
被乗数と乗数を正数化する正数化手段と、正数を乗算す
る正数乗算手段と、上記正数化に伴い乗算補正を行なう
乗算補正手段と、正数乗算手段及び乗算補正手段の出力
を加算する加算手段とを備え、上記被乗数と乗数の積を
所定の式に従って計算するようにしたので、2つの補数
表現形式の乗算をソフトウェア又はソフトウェアとRO
Mとの結合により実現できる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例による乗算装置の機能ブロッ
ク図、第2図は上記実施例のハード構成図、第3図は上
記実施例の正数乗算手段によるROMを使用した乗算の
プログラムフロー図、第4図は上記実施例による乗算の
プログラムフロー図、第5図は本発明の他の実施例によ
る乗算装置のハード構成図、第6図は従来例のプログラ
ムフロー図である。 1・・・正数化手段、2・・・正数乗算手段、3・・・
乗算補正手段、4・・・加算手段、11・・・コンピュ
ータ、11a−CPU、12・ROM変換テーブル(R
OM2)。

Claims (2)

    【特許請求の範囲】
  1. (1)コンピュータで2の補数表示形式の被乗数X(n
    ビット)と乗数Y(mビット)の乗算を行なう乗算装置
    において、 2の補数表示形式のデータを正数化する正数化手段と、 正数を乗算する正数乗算手段と、 該正数乗算手段の乗算補正を行なう乗算補正手段と、 上記正数乗算手段の出力と上記乗算補正手段の出力とを
    加算する加算手段とを備え、 X及びYをX=(1−x_3)2^n^−^1+Σ^n
    ^−^2_i_=_0x_i・2^i−2^n^−^1
    =X_1−2^n^−^1 Y=(1−y_3)2^m^−^1+Σ^m^−^2_
    j_=_0y_j・2^j−2^m^−^1=Y_1−
    2^m^−^1 ただし、 x_3とy_3は極性符号、x_iとy_iは数値符号
    と変形して、積P(=X、Y)を次式 P=X_1・Y_1+@X@_1・2^m^−^1+@
    Y@_1・2^n^−^1+2^m^−^1+2^n^
    −^1+2^m^+^n^−^2ただし、 @X@_1はX_1の1の補数、@Y@_1はY_1の
    1の補数に従って計算することを特徴とする乗算装置。
  2. (2)上記正数乗算手段は、その被乗数と乗数を各々2
    つ以上の数値の和に分解し、各分解値の部分積を加算し
    て乗算を行なうもので、各分解値による部分積の計算を
    ROM変換テーブルを用いて行なうものであることを特
    徴とする特許請求の範囲第1項記載の乗算装置。
JP60187133A 1985-08-26 1985-08-26 乗算装置 Pending JPS6247740A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60187133A JPS6247740A (ja) 1985-08-26 1985-08-26 乗算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60187133A JPS6247740A (ja) 1985-08-26 1985-08-26 乗算装置

Publications (1)

Publication Number Publication Date
JPS6247740A true JPS6247740A (ja) 1987-03-02

Family

ID=16200699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60187133A Pending JPS6247740A (ja) 1985-08-26 1985-08-26 乗算装置

Country Status (1)

Country Link
JP (1) JPS6247740A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE37514E1 (en) 1996-03-29 2002-01-15 Asahi Glass Company Ltd. Dark gray colored glass

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE37514E1 (en) 1996-03-29 2002-01-15 Asahi Glass Company Ltd. Dark gray colored glass

Similar Documents

Publication Publication Date Title
CN112162723B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
US20040071041A1 (en) DSP unit for multi-level global accumulation
CN113010142A (zh) 一种新型脉动结点式标量点乘的双域实现系统及方法
US20020174155A1 (en) Method for calculating arithmetic inverse over finite fields for use in cryptography
JPS6247740A (ja) 乗算装置
US7003544B1 (en) Method and apparatus for generating a squared value for a signed binary number
JPS6234235A (ja) 乗算装置
JP3190826B2 (ja) 積和演算装置
CN116991359B (zh) Booth乘法器、混合Booth乘法器及运算方法
JPS6136250B2 (ja)
JP2889244B2 (ja) 画像処理装置
JPS62232028A (ja) Rom型乗算器
JPH0784762A (ja) 乗算回路
CN117972761A (zh) 基于国密sm2算法的数据处理方法以及装置
JP3197186B2 (ja) 半導体メモリを用いた乗算装置
JPS63623A (ja) 乗算器
SU1001087A1 (ru) Устройство дл суммировани двоично-дес тичных чисел
JPH0778726B2 (ja) 分割整数剰余計算機
JP2529890B2 (ja) 乗算剰余演算器
SU1541599A1 (ru) Матричное вычислительное устройство
JPH08190471A (ja) 乗算器
JPS6247741A (ja) Rom型乗算装置
JPH11316544A (ja) 剰余乗算装置
JPH027094B2 (ja)
JPS60129834A (ja) 乗除算器