JPS6238938A - Rom形乗算器 - Google Patents
Rom形乗算器Info
- Publication number
- JPS6238938A JPS6238938A JP60179007A JP17900785A JPS6238938A JP S6238938 A JPS6238938 A JP S6238938A JP 60179007 A JP60179007 A JP 60179007A JP 17900785 A JP17900785 A JP 17900785A JP S6238938 A JPS6238938 A JP S6238938A
- Authority
- JP
- Japan
- Prior art keywords
- rom
- partial
- multiplier
- product
- capacity
- 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
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、ROM’i使用して乗算器を実現するRO
M形乗形容算器り、中でもROMg量を大幅に削減した
ROM形乗形容算器するものである。
M形乗形容算器り、中でもROMg量を大幅に削減した
ROM形乗形容算器するものである。
第4図は最も単純なROM形乗形容算器す図である。図
において、2連符号の被乗数Xと乗数YとがROM (
’1oo)のアドレス端子に接続され、アドレ ゛
ス値に対応する積Pが所定のアクセス時間後に出力端子
から得られる。すなわち、p=x−yの積結果がROM
(11oo)にデータとして収納されており、被乗数
Xと乗数YとはROMのアドレス信号として入力する構
成となっている。
において、2連符号の被乗数Xと乗数YとがROM (
’1oo)のアドレス端子に接続され、アドレ ゛
ス値に対応する積Pが所定のアクセス時間後に出力端子
から得られる。すなわち、p=x−yの積結果がROM
(11oo)にデータとして収納されており、被乗数
Xと乗数YとはROMのアドレス信号として入力する構
成となっている。
例えば、X=233=ゝゝ11101001”とY=1
91:=010111111”との積Pを得る場合、Y
を下位アドレスとしx全上位アドレスとした合成アドレ
ス=″1110100110111111“をROMの
アドレス端子(16本)に入力する。このとき、ROM
にはあらかじめp=x−yのすべての乗算結果を16ビ
ツトで収納してあれば、積P=X−Y=’ゝ10101
10111010111″を得ることができる。
91:=010111111”との積Pを得る場合、Y
を下位アドレスとしx全上位アドレスとした合成アドレ
ス=″1110100110111111“をROMの
アドレス端子(16本)に入力する。このとき、ROM
にはあらかじめp=x−yのすべての乗算結果を16ビ
ツトで収納してあれば、積P=X−Y=’ゝ10101
10111010111″を得ることができる。
これがROM形乗形容算器作概要である。
ところで、波乗&X及び乗数Yが8ビツト(0≦X≦2
55. O≦Y≦255)のとき、出力データは16ビ
ツトになシ、アドレス数は211 ×28 == 2t
6となる。従つで、総ROM容量T、は、T、 = 1
6 X2′6=10485’76ビツトとなる。これは
1Mビットであり、ROM容量としては大きな数値であ
る。次に、X及びYが16ビツトのときのROM容量容
量上求めれば、Tb−32ビツトX2 X2 =2
となる。この数値は実現不可能である。
55. O≦Y≦255)のとき、出力データは16ビ
ツトになシ、アドレス数は211 ×28 == 2t
6となる。従つで、総ROM容量T、は、T、 = 1
6 X2′6=10485’76ビツトとなる。これは
1Mビットであり、ROM容量としては大きな数値であ
る。次に、X及びYが16ビツトのときのROM容量容
量上求めれば、Tb−32ビツトX2 X2 =2
となる。この数値は実現不可能である。
従来のROM形乗算器は以上のように構成されているの
で、直観的で使用しやすい回路でありながら、そのRO
M容量が膨大であるので、実現できないか、もしくは実
現できても実用的でない問題点があった。
で、直観的で使用しやすい回路でありながら、そのRO
M容量が膨大であるので、実現できないか、もしくは実
現できても実用的でない問題点があった。
この発明は上記のような問題点を解消するためになされ
たもので、ROM容量を大幅に削減した実用的なROM
形乗算器を得ることを目的とする。
たもので、ROM容量を大幅に削減した実用的なROM
形乗算器を得ることを目的とする。
この発明に係るROM形乗算器では、被乗数X及び乗数
Yの少なくとも一方の数値を複数個の部分数値に分割し
、Xの各部分数値とYの各部分数値とのすべての組み合
わせによる部分積をそれぞれROMで求め、これらの部
分積を加算器で合成加算して、積P=X−Yi求めるよ
うにしたものでおる。
Yの少なくとも一方の数値を複数個の部分数値に分割し
、Xの各部分数値とYの各部分数値とのすべての組み合
わせによる部分積をそれぞれROMで求め、これらの部
分積を加算器で合成加算して、積P=X−Yi求めるよ
うにしたものでおる。
この発明では被乗数X及び乗数Yの数値をそれぞれ部分
数値に分割し、これらを用いて部分積をROMで求める
ようにしたので、ROMに要求されるビット容量は大幅
に減少する。
数値に分割し、これらを用いて部分積をROMで求める
ようにしたので、ROMに要求されるビット容量は大幅
に減少する。
第1図はこの発明の一実施例を示すブロック構成図で、
被乗数X及び乗数Yがともに8ビツトの場合で X ” X 7 ・2 ”Xa ・2 +X s ・2
+X 4 ・2 ’ +Xs ・2””)[2・22
”)CI’ ” +X6=(x 712”+xa ・2
”+x6 ・2+X4) ・2’”(xa ・23+X
2 ・2”+x 1・2+XQ)=X −2’+X
の形で表わし、同様にQ L Y−YU”’ +YL −c表りす。
被乗数X及び乗数Yがともに8ビツトの場合で X ” X 7 ・2 ”Xa ・2 +X s ・2
+X 4 ・2 ’ +Xs ・2””)[2・22
”)CI’ ” +X6=(x 712”+xa ・2
”+x6 ・2+X4) ・2’”(xa ・23+X
2 ・2”+x 1・2+XQ)=X −2’+X
の形で表わし、同様にQ L Y−YU”’ +YL −c表りす。
そして、積p=x−yは
P=X−Y=XU4.・28+XtI+YL−2’+X
L−Y、+2’+XL−YLとなQ14つの部分積X[
1”[1,XC1”L#XL”’II及びXl・Yを求
めてそれぞれ所要の桁上げをして加算すればよい。
L−Y、+2’+XL−YLとなQ14つの部分積X[
1”[1,XC1”L#XL”’II及びXl・Yを求
めてそれぞれ所要の桁上げをして加算すればよい。
第1図において、第1のROM(以下[ROM IJと
いう。) (101)〜第4のROM(ROM4)(1
04)はそれぞれ部分積X、・Yワ、XII−YL、X
L−YU、x、・YLのデータを収納したROMであり
、それぞれのROMアドレス端子には4ビツトのXLI
、xL、YU、YLが図のように合成アドレスとして結
線されている。ROM1個当シのアドレス数は2−25
6であり、部分積出力データはそれぞれ8ビツトである
。これらの部分積出力ブータラx。−YUのデータは8
ビツトの桁上げを実行し、X、・YL及びXL−YUは
4ビツトの桁上げを実行してxL ’ YLと全加算器
(li’UI、L ADDER)(105)で加算を実
行すれば積Pが得られる。
いう。) (101)〜第4のROM(ROM4)(1
04)はそれぞれ部分積X、・Yワ、XII−YL、X
L−YU、x、・YLのデータを収納したROMであり
、それぞれのROMアドレス端子には4ビツトのXLI
、xL、YU、YLが図のように合成アドレスとして結
線されている。ROM1個当シのアドレス数は2−25
6であり、部分積出力データはそれぞれ8ビツトである
。これらの部分積出力ブータラx。−YUのデータは8
ビツトの桁上げを実行し、X、・YL及びXL−YUは
4ビツトの桁上げを実行してxL ’ YLと全加算器
(li’UI、L ADDER)(105)で加算を実
行すれば積Pが得られる。
この場合のROM容量容量上、4個合計で、’I’ =
2’X2’X(8ビツト)×4C個)=8192ピット
となる。これは従来比で、1/(12B)の数値であり
、大幅なROM容量の削減が達成できる。
2’X2’X(8ビツト)×4C個)=8192ピット
となる。これは従来比で、1/(12B)の数値であり
、大幅なROM容量の削減が達成できる。
次に実際の数値で検証する。
X=233. Y−191の乗算を仮定すれば、XU=
8(1)+ 4(1)+ 2(1)+ 1 (0)
= 14XL=8(1)+4(0)+2(0)+4(1
)=9yO= 8(1)+ 4(o)+ 2(1)+
Ut)= 11YL= 8(1) +4(1)+ 2(
1)+ 1(1)二15こむで、(1)=ゝゝH″=ゝ
ゝ3−1/(o)=111// にIt□ l/ となり、XU−YU=14X11=154 、 XU−
YL=14X15=2.10 、X −Y =9X1
1=99 、XL−YL=9X15=135
・U がROMの出力データとして8ビツトで得られる。
8(1)+ 4(1)+ 2(1)+ 1 (0)
= 14XL=8(1)+4(0)+2(0)+4(1
)=9yO= 8(1)+ 4(o)+ 2(1)+
Ut)= 11YL= 8(1) +4(1)+ 2(
1)+ 1(1)二15こむで、(1)=ゝゝH″=ゝ
ゝ3−1/(o)=111// にIt□ l/ となり、XU−YU=14X11=154 、 XU−
YL=14X15=2.10 、X −Y =9X1
1=99 、XL−YL=9X15=135
・U がROMの出力データとして8ビツトで得られる。
とtLら02進符号’ili’UL、L ADDER(
lI19テ、/Jl算スレば、積Pが得られる。この課
程を次に示す。
lI19テ、/Jl算スレば、積Pが得られる。この課
程を次に示す。
XtI−YO= 10011010←8ビツトシ
フト−X −Y : 11010010←2
2.−X L−YtI =
01100 01 1+−、、ト−XL−YL=+)
10000111P =
1010110111010111積Pの2連符号は P = 2” (1) + 2 ”@+ 213(1)
+ 212(0) + 2 ”(1)+2”(1)+
2’(0) + 28(1)+ 27(1)+ 26(
1)+ 25(o)+ 2’(1)−1−z3(o)+
2”(1)+ 2’(1)+2°(1)となる。これ
は10進表示でP=44503となシ、P=X−Y=2
33X191=44503と一致する。従って、本発明
のアルゴリズムは成立する。第1図の回路は、同一のR
OM’i4個並列に使用する構成となっているが、RO
M’i1個だけ使用し4回のアクセフ、f実行して順次
にxU−yU、 x、、yL、 xL−yff、 xL
−x。
フト−X −Y : 11010010←2
2.−X L−YtI =
01100 01 1+−、、ト−XL−YL=+)
10000111P =
1010110111010111積Pの2連符号は P = 2” (1) + 2 ”@+ 213(1)
+ 212(0) + 2 ”(1)+2”(1)+
2’(0) + 28(1)+ 27(1)+ 26(
1)+ 25(o)+ 2’(1)−1−z3(o)+
2”(1)+ 2’(1)+2°(1)となる。これ
は10進表示でP=44503となシ、P=X−Y=2
33X191=44503と一致する。従って、本発明
のアルゴリズムは成立する。第1図の回路は、同一のR
OM’i4個並列に使用する構成となっているが、RO
M’i1個だけ使用し4回のアクセフ、f実行して順次
にxU−yU、 x、、yL、 xL−yff、 xL
−x。
を求める方式でもROM形乗算器が実現できる。第2図
にこの方式によるこの発明の他の実施例を示す。図にお
いて、(106)はxII・YUj x[1”LI X
L”ITIXL−xLの合成アドレスを生成するセレク
ター、(107)はROM出力データを一時記憶するD
FE’、 (108)はセレクター(106)とDF
F(107)とを同期させて順次に4回のROMアクセ
スを実行させる制御回路である。その動作は、まずれ・
YLの合成アドレス信号がセレクター(1Oa )の出
力に選択され、このアドレス値に対応したデータが所定
のアクセス時間後にROM l (lol)から出力さ
れ、この出力データをD F F (10’7)のD]
i’li’lに記憶させる。
にこの方式によるこの発明の他の実施例を示す。図にお
いて、(106)はxII・YUj x[1”LI X
L”ITIXL−xLの合成アドレスを生成するセレク
ター、(107)はROM出力データを一時記憶するD
FE’、 (108)はセレクター(106)とDF
F(107)とを同期させて順次に4回のROMアクセ
スを実行させる制御回路である。その動作は、まずれ・
YLの合成アドレス信号がセレクター(1Oa )の出
力に選択され、このアドレス値に対応したデータが所定
のアクセス時間後にROM l (lol)から出力さ
れ、この出力データをD F F (10’7)のD]
i’li’lに記憶させる。
同様にしてxL”Uの値’1DFF2に、xU ’ Y
Lの値をDF1i’3に記憶させ、最後にxU・YUの
値を得る。これらのデータをFULL ADDER(1
05)に入力して合成式に従って加算すれは、求める値
が得られる〇の容量で乗算器が実現できる。このとき、
同一のROM14回アクセスするため、積P’ilH得
るまでの時間は第1図のそれの約4倍だけ必要となる。
Lの値をDF1i’3に記憶させ、最後にxU・YUの
値を得る。これらのデータをFULL ADDER(1
05)に入力して合成式に従って加算すれは、求める値
が得られる〇の容量で乗算器が実現できる。このとき、
同一のROM14回アクセスするため、積P’ilH得
るまでの時間は第1図のそれの約4倍だけ必要となる。
今まで、8×8ビット乗算器について説明してきたが、
次に、nXnビットをそれぞれNとMとで分割して部分
積の生成を行い、部分積の合成加算で積Pを求める場合
の理論的なROM容量について説明する。第3図に分割
の様子を示す。波乗′#、XをN分割、乗数Y′f:M
分割すると仮定する。このときの]分割アドレス空間は
21 X 2Mのアドレス数で構成され、1アドレス当
シのデータービット数は(−+−)となる。1分割アド
レス空間のH−M倍M が全空間になるので、必要ROM容量T、は、T、=(
2irxaM)x(−+−)X(N−M)M となる。この式に、n=8.N=M=2f代入すれは、
T、=(2X2 )X(4+4)X(4)=2 =
8192ビットとなシ、第1図の実施例の説明中の数値
と一致する。
次に、nXnビットをそれぞれNとMとで分割して部分
積の生成を行い、部分積の合成加算で積Pを求める場合
の理論的なROM容量について説明する。第3図に分割
の様子を示す。波乗′#、XをN分割、乗数Y′f:M
分割すると仮定する。このときの]分割アドレス空間は
21 X 2Mのアドレス数で構成され、1アドレス当
シのデータービット数は(−+−)となる。1分割アド
レス空間のH−M倍M が全空間になるので、必要ROM容量T、は、T、=(
2irxaM)x(−+−)X(N−M)M となる。この式に、n=8.N=M=2f代入すれは、
T、=(2X2 )X(4+4)X(4)=2 =
8192ビットとなシ、第1図の実施例の説明中の数値
と一致する。
ここで、n=46.N=M=4の条件では、T、=(2
X2 )X(4+4)X16=32768ビツトになる
。従って、32.’768キロビットのROM容量で1
6X16ビツトのROM形乗算器が実現できることにな
る。もちろん、27112図に示した回路構成を16ビ
ツト対応に拡張させれば、2k bitのROM容量で
実現できるが、乗算速度が遅くなる欠点をもつ。
X2 )X(4+4)X16=32768ビツトになる
。従って、32.’768キロビットのROM容量で1
6X16ビツトのROM形乗算器が実現できることにな
る。もちろん、27112図に示した回路構成を16ビ
ツト対応に拡張させれば、2k bitのROM容量で
実現できるが、乗算速度が遅くなる欠点をもつ。
以上に説明したように、nXnビット乗算器を、
ROMで実現することができるが、ROM容量を増大
させればランダム・ロジック回路を削減できると共に高
速乗算速度を得ることができる。一方、ROM容量を減
少させればランダムのロジック回路が増加し乗算速度が
遅くなる特性をもつ。従って、使用目的に応じてROM
容量を決定する必要がある。
ROMで実現することができるが、ROM容量を増大
させればランダム・ロジック回路を削減できると共に高
速乗算速度を得ることができる。一方、ROM容量を減
少させればランダムのロジック回路が増加し乗算速度が
遅くなる特性をもつ。従って、使用目的に応じてROM
容量を決定する必要がある。
なお、上記実施例ではアドレス数を4ピット単位で分割
しているが、目的、使用デバイスの特性および回路規模
、乗算速度などを考慮して任意に分割すればよい。
しているが、目的、使用デバイスの特性および回路規模
、乗算速度などを考慮して任意に分割すればよい。
また、第2図の変形としてDI”F(10′7)とFU
LL(9) 、、1ADDE
R(105)とを累積加算器に置換してもよい。
LL(9) 、、1ADDE
R(105)とを累積加算器に置換してもよい。
最後に、nXnビット乗算器に限らず、一般的なα×β
ビット乗算器も本発明の主旨ea用して同様に実現でき
る。
ビット乗算器も本発明の主旨ea用して同様に実現でき
る。
以上のように、この発明によれば被乗数Xおよび乗数Y
の少なくとも一方を複数の数値の和に分解し、分解した
複数の数値の組合せの数だけROMを用いて部分積を求
め、最後に複数の部分積の合成加算を実行して積p=x
−yを得る構成としたので、ROM容量の大幅な削減が
達成でき、実用的な’ROMROM乗算器れる効果があ
る。
の少なくとも一方を複数の数値の和に分解し、分解した
複数の数値の組合せの数だけROMを用いて部分積を求
め、最後に複数の部分積の合成加算を実行して積p=x
−yを得る構成としたので、ROM容量の大幅な削減が
達成でき、実用的な’ROMROM乗算器れる効果があ
る。
第1図はこの発明の一実施例になるROM形乗算器を示
すブロック構成図、第2図はこの発明の他の実施例を示
すブロック構成図、第3図はこの発明における部分積へ
の分割の一形態を示す図、第4図は従来のROM乗算器
を示すブロック図でおる。 図において、(101)〜(105)はROM、 (1
05)は、、 (10 加算器である。 なお、図中同一符号は同一または相当部分を示す。
すブロック構成図、第2図はこの発明の他の実施例を示
すブロック構成図、第3図はこの発明における部分積へ
の分割の一形態を示す図、第4図は従来のROM乗算器
を示すブロック図でおる。 図において、(101)〜(105)はROM、 (1
05)は、、 (10 加算器である。 なお、図中同一符号は同一または相当部分を示す。
Claims (1)
- (1)被乗数及び乗数の少なくとも一方の数値を複数の
部分数値の和の形に分解し、上記被乗数の各部分数値と
上記乗数の各部分数値とのすべての組合わせで得られる
データをアドレス信号としてROMに入力し、あらかじ
め各アドレスデータに対応して収納されている上記アド
レス入力信号たる両部分数値の積を部分積として当該R
OMの出力データとして求め、これらの部分積を合成加
算して上記被乗数及び乗数の積を求めるようにしたこと
を特徴とするROM形乗算器。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60179007A JPS6238938A (ja) | 1985-08-14 | 1985-08-14 | Rom形乗算器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60179007A JPS6238938A (ja) | 1985-08-14 | 1985-08-14 | Rom形乗算器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6238938A true JPS6238938A (ja) | 1987-02-19 |
Family
ID=16058481
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60179007A Pending JPS6238938A (ja) | 1985-08-14 | 1985-08-14 | Rom形乗算器 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6238938A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0457112A (ja) * | 1990-06-26 | 1992-02-24 | Mitsubishi Electric Corp | 演算装置 |
| US5617346A (en) * | 1994-06-07 | 1997-04-01 | Matsushita Electric Industrial Co., Ltd. | Multiplication device using semiconductor memory |
-
1985
- 1985-08-14 JP JP60179007A patent/JPS6238938A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0457112A (ja) * | 1990-06-26 | 1992-02-24 | Mitsubishi Electric Corp | 演算装置 |
| US5617346A (en) * | 1994-06-07 | 1997-04-01 | Matsushita Electric Industrial Co., Ltd. | Multiplication device using semiconductor memory |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4555768A (en) | Digital signal processing system employing logarithms to multiply and divide | |
| US3670956A (en) | Digital binary multiplier employing sum of cross products technique | |
| CA2225899A1 (en) | A method and apparatus for finite field multiplication | |
| JPS6132437Y2 (ja) | ||
| US4745570A (en) | Binary multibit multiplier | |
| US4366549A (en) | Multiplier with index transforms modulo a prime or modulo a fermat prime and the fermat prime less one | |
| US5148381A (en) | One-dimensional interpolation circuit and method based on modification of a parallel multiplier | |
| JPH0713741A (ja) | アルファ合成演算器 | |
| US4374427A (en) | Divisor transform type high-speed electronic division system | |
| US4164022A (en) | Electronic digital arctangent computational apparatus | |
| JPS6238938A (ja) | Rom形乗算器 | |
| JPH02287874A (ja) | 積和演算装置 | |
| US5787031A (en) | Divider and multiplier/divider using said divider | |
| US4584561A (en) | Method of residue to analog conversion | |
| JP2737933B2 (ja) | 除算装置 | |
| US4584563A (en) | Method of residue to analog conversion | |
| US5148388A (en) | 7 to 3 counter circuit | |
| JPS6226723B2 (ja) | ||
| US3890496A (en) | Variable 8421 BCD multiplier | |
| JPH07134646A (ja) | 実数または複素数用の乗算器 | |
| US4584564A (en) | Residue to analog converter | |
| US3805042A (en) | Multiplication of a binary-coded number having an even radix with a factor equal to half the radix | |
| JPS60138640A (ja) | レジスタフアイル書込み方式 | |
| US5367700A (en) | System for multiplying digital input data in a multiplier circuit | |
| US4584562A (en) | Method of residue to analog conversion |