JPS63137328A - 乗算器 - Google Patents

乗算器

Info

Publication number
JPS63137328A
JPS63137328A JP61285001A JP28500186A JPS63137328A JP S63137328 A JPS63137328 A JP S63137328A JP 61285001 A JP61285001 A JP 61285001A JP 28500186 A JP28500186 A JP 28500186A JP S63137328 A JPS63137328 A JP S63137328A
Authority
JP
Japan
Prior art keywords
bits
multiplication
multiplier
memory
order
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
JP61285001A
Other languages
English (en)
Inventor
Hideaki Takeda
武田 英昭
Haruo Hayamizu
速水 治夫
Toshio Nakamura
敏夫 中村
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP61285001A priority Critical patent/JPS63137328A/ja
Publication of JPS63137328A publication Critical patent/JPS63137328A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は乗算を行う乗算器に関するものである。
[従来の技術] 第5図は従来通常の乗算器における乗算の原理を示す。
ここでは、被乗数”42861 ”  (10進数)1
乗数”51443″ (10進数)を2進数により乗算
する例を説明する。
第5図において、2進数乗算は次にように行う。
乗数の1桁目の値が1”であるので、第1行   目の
桁位置(1桁目)に被乗数を合わせる。乗数の2桁目の
値が°°1”であるので、第2行目の桁位置(2桁目)
に被乗数を合わせる、すなわち部分乗算を行う。次に乗
数の3桁目の値は°0”であるのでその行位置の3桁目
から被乗数の桁数分を0”とする。
以下、同様の手順で、桁の順に、16桁目までその桁位
置に合わせ被乗数と乗数の部分乗算を繰返し行う。そし
て、1行目から16行目までの各部分乗算結果を合計す
ることにより、第5図示の乗算結果を得ることができる
このような公知の乗算原理に基づいて、一般に定数と変
数の乗算を行うにあたっては、たとえば、TTLアプリ
ケーションマニアルとデータブック(1981版)テキ
サス インスツルメンツ アジア リミテッド、pp7
−373,389〜392 (1981,7)  に示
されるように、汎用の2変数の乗算器を使用している。
第6図は、以上のような乗算原理に基づいた、2×4ビ
ツトの従来の乗算器の構成の一例を示す。なお、この乗
算器はLS261という公知のICである。
第6図において、1は乗数入力であり、2は被乗数人力
である。3はラッチ制御線であり、4は出力である。A
、Bはインバータであり、ANDはアント回路である。
NANDはナンド回路、NORはノア回路であり、OR
はオア回路である。
第7図〜第9図は、同様に6×16ビツトの従来の乗算
回路の構成の一例を示す。
なお、第7図は4×4ビツト乗算器13への入力側の配
線を示す回路図であり、第8図は4×4ビツト乗算器1
3への出力側の配線を示す回路図である。第9図は部分
乗算の加算回路の配線を示す。
第7図〜第9図において、10は被乗数人力であり、1
1は乗数入力である。13は4×4ビツトの乗算器であ
る。12は出力であり、14は7ビツト・ワレンンスツ
リーである。15は桁上がり付1ビット加算器であり、
16は4ビツト加算器である。
このような構成における2変数の乗算器は、一方が定数
の乗算の場合にも用いられ、論理回路のハード量および
論理回路をLSI化した場合の配線量が多いという欠点
があった。
また、このような従来の乗算器では定数と変数の乗算を
高速化するために、変数の取り得る範囲の値と定数の乗
算結果を計算して、この計算結果を予め変数の値に対応
させて表にまとめ、この表をメモリに格納している。そ
して、定数と変数の′乗算に際し、設定された変数の値
に応じてこの表から乗算結果を導く乗算器も考えられて
いる。
第10図は上述乗算結果をメモリに記憶する一例を示す
。100はメモリであり、第6図で示した定数としての
被乗数”42861”(10進数)と変数としての乗数
の値°“0゛°〜” 216−t’“ (10進数)ま
でを各々乗算した結果を格納している。なお、メモリ1
00の格納番地を変数の値に対応させているので本例で
はO番地〜2111−1番地が必要となり、乗算結果は
32ビツトであるので乗算結果を格納しておくメモリの
大きさは32X 2 ”ビット(押22ビット)必要と
なる。
[発明が解決しようとする問題点] このように、従来の乗算器では、nビット×nビットの
乗算では2nX2”ビットの乗算結果を表にして格納し
ておくメモリが必要であり、そのメモリ容量が大きくな
るという欠点があった。
そこで、本発明の目的は、このような欠点を除去し、定
数と変数の乗算結果を記憶しておくメモリのメモリ容量
を減少することのできる乗算器を提供することにある。
[間硬点を解決するための手段] このような問題点を解決するために、本発明は定数と変
数の乗算を行う乗算器において、変数を予め定められた
桁位置に応じて複数の部分に分割し、当該分割された部
分のとりうる値と定数との乗算を行った部分乗算結果を
値と関連付けて記憶した記憶手段と、変数の値が設定さ
れたときに、当該変数の値から定まる部分の値に対応す
る部分乗算結果を記憶手段から読み取る読み取り手段と
、当該読み取られた部分乗算結果を予め定められた桁位
置に応じて加算すること屹より乗算を行う乗算手段とを
具えたことを特徴とする。
[作 用] 本発明は、変数を予め定められた桁位置に応じて複数の
部分に分割し、この分割された部分のとりうる値と前記
定数との乗算を行った部分乗算結果を分割された部分の
値と互に関連付けて予め記憶手段に記憶しておき、変数
の値が設定されたときにこの値から定まる部分毎の値に
対応する部分乗算結果を記憶手段から読み取り手段によ
り読み取って、この読み取フた値を加算手段により加算
して定数と変数との乗算結果を求めるので、記憶手段の
メモリ容量を減少することができる。
[実施例] 以下、図面を参照して本発明の実施例を詳細に説明する
本発明は、変数の値を上位桁部と下位桁部の複数の部分
に分割し、各部分の範囲における変数のとりうる値と定
数とを乗算した結果を予めメモリに格納している。そし
て、変数と定数の計算に際しては、対応する変数の値に
おける上述上位桁部と下位桁部の乗算結果を加算するよ
うにして、乗算回路の簡素化を図ると共に、メモリの容
量を減少するものである。
第1図は乗数を2分割して乗算を行う場合の原理の一例
を示す図である。第1図において、21は2進表現され
た16ビツトの被乗数、22は2進表現された16ビツ
トの乗数であり、各々レジスタに格納されている。23
は被乗数の下位ビットであり、24は被乗数の上位ビッ
トである。25は乗数の下位ビットであり、26は乗数
の上位ビットである。27は被乗数21と乗数22の下
位ビット25との乗算途中結果であり、28は被乗数2
1と乗数22の上位ビット26との乗算途中結果である
。29は乗算結果であり、乗算結果29はレジスタに格
納される。30.31は乗算途中結果27の部分、32
.33は乗算途中結果28の部分、34.35.36は
乗算結果29の部分である。
34は部分30を加算した結果の下位8ビツトであり、
35は部分30の加算結果の9ビツトより上位部分と部
分31および32とを加算した結果の16ビツト、36
は部分31および32の加算結果の17ビツトより上位
部分と部分33を加算した結果である。
第2図は第1図に示した乗算原理に基づいて乗数および
被乗数に具体的な数字を当てはめたときの乗算例を示し
ている。
第3図は第1図示の乗算原理を実現する本発明の実施例
であり、乗数、被乗数とも16ビツトとしている。
第3図において、50は乗数(変数)の下位ビット入力
端であり、51は乗数の上位ビット入力端である。52
は第1図示の27の部分乗算結果を格納するメモリであ
り、53は第1図示の28の部分乗算結果を格納するメ
モリである。54および55は加算器である。
56.57.58は、それぞれ、部分加算結果34,3
5.36に対応する乗算結果の出力端であり0.5’9
 、60はメモリ52.53の番地線であり、61.6
2は各々メモリ52.53のデータ線である。そして、
部分乗算結果27.28の取り得る値が予め各々のメモ
リ52.53に格納されている。なお、メモリ52.5
3の大きさは各々24ビット×28語となる。
次に、乗数22を2分割し、乗数22の下位8ビツトお
よび上位8ビツトを各々入力端50.51より人力し、
メモリ52.53の各々の番地とする。そしてメモリ5
2.53より部分乗算結果(各24ビツト)を読み出す
。メモリ52から読み出した結果のうち、下位8ビツト
はそのまま出力端56から出力し、残りの上位16ビツ
トを加算器54の一方に桁位置を合わせて入力する。ま
た、メモリ53から読み出した結果の内、下位16ビツ
トを加算器54の他方の入力端に桁位置を合わせて入力
し、残りの上位8ビツトを加算器55の一方にやはり桁
位置を合わせて入力する。加算器54の加算結果は出力
端57より出力され、部分35となる。また、加算器5
4からの桁上がり(1ビツト)とメモリ53の上位8ビ
ツトを加算した結果を出力端58より出力し、部分36
とする。
なお、加算器54.55は分割せずに1台の24ビツト
加算器としてもよい。さらにまた、メモリ52と53の
内容は同一であるため、メモリを1台とし、2回に分け
て上位ビットと下位ビットとを読み出すように構成して
もよい。
第4図は、第3図に示した本発明実施例の構成例にもと
づく乗算例を示す。
第4図において、メモリ52には′fJ2図に示した定
数としての被乗数” 101001110110110
1”に対して、変数としての8ビツトの乗数である°“
00000000”を乗算した結果から、”11111
111”を乗算した結果までをその乗数に対応したアド
レスに格納している。
メモリ53にも同様の内容を記憶しておくものとする。
そこで、乗算を行う際に、16ビツトの設定された変数
の値、すなわち乗数” 11001000111100
11”は8ビツトごとに上位と下位の2つに分けられる
。そして下位の値”、 11110011 ”に対応す
るメモリ52のアドレスにおけるデータと、上位の値”
11001000”に対応するメモリ53のアドレスに
おけるデータを8ビツト上位にずらしたデータとを加算
器54.55により加算するので目的の乗算結果29が
得られることになる。
つまり、本発明では、16X1Bビツトの乗算を分割し
て16X8ビツトの乗算とその加算を行うだけでよいか
ら、16x18ビツトの乗算を行う従来例に比べてハー
ドウェア量を削減できる。
しかもまた、本実施例では、上述乗算結果を分割してメ
モリ52.53に格納しておくことにより、従来の乗算
を分割せずに乗算結果をメモリに格納しておく方式に比
べ、メモリ量を大幅に削減でき′る。
たとえば、mビットxnビットの乗算でnが変数の場合
、従来の乗算器であると、変数のとり得る値の範囲がO
〜2 ’−1の2′通りで、多値に対応する結果の値の
大きさが各々m+nビットであるから、(m十〇)×2
nビットのメモリが必要でる。しかし、本実施例では、
変数をに分割した場合、部分変数の値の変化する範囲が
0〜2[n/k)−1で、部分乗算の結果の値の大きさ
がm+[n/klであるから、メモリの大きさは(m+
n/k)  x2[n/kl ビットの大きさでよく、
メモリ容量を大幅に減少することができる。
たとえば、k=2 、 m−n−16の時で一度にデー
タを読み出す場合には、従来例に比べ、約17171、
m=n−32の時で約1743691のメモリ容量でよ
い。
また、本実施例では乗数を2分割する例について説明し
たが、乗数を3分割以上する場合においても、メモリを
分割数分設けるか、あるいは分割数に応じた回諮読み出
すことにより本実施例を容易に適用できることは言うま
でもない。
[発明の効果] 以上、説明したように、本発明によれば、変数を格納し
ておくメモリ容量を減少することができ、乗算を行う論
理回路のハードウェア量をも縮小することができるとい
う効果が得られる。
【図面の簡単な説明】
第1図は本発明の乗算原理を例示する説明図、 第2図は第1図の具体的乗算例を示す説明図、 第3図は本発明の一実施例の構成を示すブロック図、 第4図は第3図における具体的な乗算例を示す説明図、 第5図は従来例における乗算原理を示す説明図、 第6図〜第9図は従来例の構成の一例を示す回路図、 第1O図は従来例におけるメモリ格納内容の一例を示す
説明図である。 21・・・2進表現された被乗数(定数)、22・・・
2進表現された乗数、 23・・・被乗数21の下位ビット、 24・・・被乗数21の上位ビット、・25・・・乗数
22の下位ビット、 26・・・乗数22の上位ビット、 27・・・被乗数21と下位ビット25との乗算途中結
果、 28・・・被乗数21と上位ビット26との乗算途中結
果、 29・・・乗算結果、 30.31・・・乗算途中結果27の部分、32.33
・・・乗算途中結果28の部分、34.35.36・・
・乗算結果29の部分。

Claims (1)

  1. 【特許請求の範囲】 定数と変数の乗算を行う乗算器において、前記変数を予
    め定められた桁位置に応じて複数の部分に分割し、当該
    分割された部分のとりうる値と前記定数との乗算を行っ
    た部分乗算結果を前記値と関連付けて記憶した記憶手段
    と、 前記変数の値が設定されたときに、当該変数の値から定
    まる前記部分の値に対応する部分乗算結果を前記記憶手
    段から読み取る読み取り手段と、 当該読み取られた部分乗算結果を前記予め定められた桁
    位置に応じて加算することにより乗算を行う乗算手段と を具えたことを特徴とする乗算器。
JP61285001A 1986-11-29 1986-11-29 乗算器 Pending JPS63137328A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61285001A JPS63137328A (ja) 1986-11-29 1986-11-29 乗算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61285001A JPS63137328A (ja) 1986-11-29 1986-11-29 乗算器

Publications (1)

Publication Number Publication Date
JPS63137328A true JPS63137328A (ja) 1988-06-09

Family

ID=17685859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61285001A Pending JPS63137328A (ja) 1986-11-29 1986-11-29 乗算器

Country Status (1)

Country Link
JP (1) JPS63137328A (ja)

Similar Documents

Publication Publication Date Title
US6233597B1 (en) Computing apparatus for double-precision multiplication
JPS5932817B2 (ja) 2進数の2進−モデュロm変換を行なう装置
JPS6132437Y2 (ja)
US3795880A (en) Partial product array multiplier
JPH05216627A (ja) 乗算器および乗算方法
JPH082014B2 (ja) 多段デジタル・フィルタ
GB2262637A (en) Padding scheme for optimized multiplication.
US4190894A (en) High speed parallel multiplication apparatus with single-step summand reduction
US4584561A (en) Method of residue to analog conversion
JPS63137328A (ja) 乗算器
US6470371B1 (en) Parallel multiplier
US4584563A (en) Method of residue to analog conversion
JPH02287874A (ja) 積和演算装置
JP2737933B2 (ja) 除算装置
US5715187A (en) Method and apparatus for integer multiplication
US4584564A (en) Residue to analog converter
JPH03240144A (ja) 可変長データメモリインタフェース回路
US4584562A (en) Method of residue to analog conversion
JPS6259828B2 (ja)
JPS63221426A (ja) GF(2▲上m▼)のガロア体に属する元の乗算装置
JPS62172430A (ja) 割算回路
JPH0828646B2 (ja) ディジタルフィルタ
JPH0784762A (ja) 乗算回路
JP2624738B2 (ja) 丸め処理方式
JP2675087B2 (ja) マイクロコンピュータ