JPH0855016A - 半導体メモリを用いた乗算装置 - Google Patents

半導体メモリを用いた乗算装置

Info

Publication number
JPH0855016A
JPH0855016A JP7129941A JP12994195A JPH0855016A JP H0855016 A JPH0855016 A JP H0855016A JP 7129941 A JP7129941 A JP 7129941A JP 12994195 A JP12994195 A JP 12994195A JP H0855016 A JPH0855016 A JP H0855016A
Authority
JP
Japan
Prior art keywords
product
multiplier
bit
rounding
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.)
Granted
Application number
JP7129941A
Other languages
English (en)
Other versions
JP3197186B2 (ja
Inventor
Genichiro Inoue
源一郎 井上
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP12994195A priority Critical patent/JP3197186B2/ja
Publication of JPH0855016A publication Critical patent/JPH0855016A/ja
Application granted granted Critical
Publication of JP3197186B2 publication Critical patent/JP3197186B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 従来技術に比べてROM容量を大幅に低減し
た乗算装置を提供する。 【構成】 与えられた8ビットの被乗数X及び8ビット
の乗数Yから16ビットの積Pを求める。被乗数Xは各
々4ビットの上位・下位部分XU ,XL に、乗数Yは各
々4ビットの上位・下位部分YU ,YL にそれぞれ分割
される。4個の8ビット部分積XL ×YL ,XL ×
U ,XU ×YL 及びXU ×YU を順次算出し、これら
の部分積を加算器104で桁合せ加算することにより積
Pを算出する。各部分積の算出は、64バイトの容量を
有するROM102から6ビットのアドレスで索引され
た近似部分積APと、補正値生成装置107で生成され
た補正値H及びキャリーCとの加算により達成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ROM(Read Only Me
mory)などの半導体メモリを用いた乗算装置に関するも
のである。
【0002】
【従来の技術】ROMを用いた従来の乗算装置(以下、
第1の従来技術という。)は、被乗数と乗数との全ての
組合せに係る積をROMに蓄えておき、与えられた被乗
数及び乗数をアドレスとして、対応する積をROMから
索引して得るものである。この従来技術によって4ビッ
トの被乗数F及び4ビットの乗数Gから8ビットの積P
を求める場合には、24 ×24 =28 個のアドレスで索
引されるROMの所要容量は8×28 ビット、すなわち
8 =256バイトである。また、この従来技術によっ
て8ビットの被乗数X及び8ビットの乗数Yから16ビ
ットの積Pを求める場合には、28 ×28 =216個のア
ドレスで索引されるROMの所要容量は16×216ビッ
ト、すなわち217バイトである。
【0003】特開昭62−38938号公報に開示され
たROM形乗算装置(以下、第2の従来技術という。)
は、与えられた被乗数及び乗数の少なくとも一方の数値
を複数個の部分数値に分割し、被乗数の部分数値と乗数
の部分数値との全ての組合せに係る部分積をそれぞれR
OMから索引して得て、これらの部分積の桁合せ加算に
よって、与えられた被乗数及び乗数の積を求めるように
したものである。第2の従来技術によれば、8ビットの
被乗数X及び8ビットの乗数Yから16ビットの積Pを
求める場合に必要なROM容量は、第1の従来技術に比
べて1/29 に低減される。詳細には、第2の従来技術
によれば、8ビットの被乗数Xは、 X=XU ×24 +XL …(1) のように、4ビットの上位部分XU と4ビットの下位部
分XL とに2分割され、8ビットの乗数Yは、 Y=YU ×24 +YL …(2) のように、4ビットの上位部分YU と4ビットの下位部
分YL とに2分割される。ここで、 P=X×Y =XU ×YU ×28 +XU ×YL ×24 +XL ×YU ×24 +XL ×YL …(3) であるから、4個の8ビット部分積XU ×YU ,XU ×
L ,XL ×YU 及びXL ×YL をROMから索引して
得て、これらの部分積を式(3)に従って桁合せ加算す
ることにより、積Pが算出される。したがって、1個の
ROMを4回索引することとすれば、該ROMの所要容
量は8×24 ×24 ビット、すなわち28=256バイ
トである。
【0004】
【発明が解決しようとする課題】上記第1の従来技術
は、単純な構成である点はメリットであるが、大きなR
OM容量を要するデメリットがあった。浮動小数点算術
演算装置に組み込まれる乗算装置の場合には、乗算装置
の占有面積を低減する意味から小さいROM容量が望ま
れる。
【0005】また、上記第2の従来技術は、各々8ビッ
ト以上の被乗数及び乗数から積を算出する場合には、R
OM容量の低減効果にあまり多くを望めなかった。
【0006】本発明の目的は、上記第1及び第2の従来
技術に比べてROM容量を大幅に低減した乗算装置を提
供することにある。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明の乗算装置は、与えられた被乗数及び乗数の
うちの一部のビットを使用せずにROMから近似積を索
引する一方、前記一部のビットに基づいて補正値を生成
し、前記索引された近似値と前記生成された補正値との
合成加算により前記与えられた被乗数及び乗数の真の積
を算出することとしたものである。
【0008】与えられた被乗数及び乗数のうちの少なく
とも一方の数値を複数個の部分数値に分割する場合に
は、複数個の部分積の各々の算出過程において前記近似
積と補正値との合成加算が実行される。
【0009】
【作用】本発明の乗算装置によれば、与えられた被乗数
及び乗数のうちの一部のビットを使用せずにROMから
近似積が索引される。したがって、真の積をROMに蓄
えていた従来に比べて、ROMの所要容量が大幅に低減
される。
【0010】
【実施例】以下、本発明の実施例について図面を参照し
ながら説明する。
【0011】(実施例1)図1の乗算装置は、与えられ
た4ビットの被乗数F及び4ビットの乗数Gから8ビッ
トの積P(7:0)を求めるものであって、ROM10
2と、補正値生成装置107と、加算器110とを備え
ている。
【0012】図1の乗算装置では、4ビットの乗数G
は、 G=GU ×22 +GL …(4) のように、2ビットの上位部分GU と2ビットの下位部
分GL とに2分割される。4ビットの被乗数Fと2ビッ
トの乗数上位部分GU とは、ROM102にアドレスA
として供給される。また、4ビットの被乗数Fと2ビッ
トの乗数下位部分GL とは、補正値生成装置107に入
力データBとして供給される。
【0013】ここで、仮の乗数G′及び近似積APを、 G′=GU ×22 +1 …(5) AP=F×G′ …(6) のように定義する。したがって、 AP=F×GU ×22 +F …(7) である。一方、真の積Pは、 P=F×G =F×GU ×22 +F×GL …(8) である。したがって、真の積Pと近似積APとの差D
は、 D=P−AP =F×(GL −1) …(9) である。ここに、GL =3(2進数で11)ならばD=
2×Fであり、GL =2(2進数で10)ならばD=F
であり、GL =1(2進数で01)ならばD=0であ
り、GL =0(2進数で00)ならばD=−Fである。
近似積APと差Dとが求まれば、真の積Pは、 P=AP+D …(10) に従って算出できる。
【0014】ROM102は、64個の8ビット近似積
APを蓄えており、与えられた被乗数F及び乗数上位部
分GU をアドレスとして、対応する1個の近似積APが
索引されるものである。24 ×22 =26 個のアドレス
で索引されるROM102の所要容量は8×26 ビッ
ト、すなわち26 =64バイトであり、第1の従来技術
に比べて1/4に低減される。
【0015】補正値生成装置107は、ROM102の
索引と並行して、与えられた被乗数F及び乗数下位部分
L から、5ビットの補正値Hと、1ビットのキャリー
Cとを生成するものである。GL =3ならばH=2×F
かつC=0であり、GL =2ならばH=FかつC=0で
あり、GL =1ならばH=0かつC=0であり、GL
0ならばH= INV(F)かつC=1である。ここに、 I
NV(F)は、被乗数Fの全てのビットを反転して得られ
る数値、すなわち被乗数Fの“1の補数”を意味する。
このような機能を有する補正値生成装置107は、被乗
数Fの2倍操作のための1個のシフタと、被乗数Fの反
転操作のための複数個のインバータとで構成できる。
【0016】加算器110は、ROM102から索引さ
れた近似積APと補正値生成装置107により生成され
た補正値H及びキャリーCとを、式(10)に従って合
成加算することにより、積Pを算出するものである。
【0017】以上のとおり、図1の乗算装置によれば、
比較的単純な構成で、第1の従来技術に比べてROM容
量を1/4に低減できる。
【0018】(実施例2)図2の乗算装置は、与えられ
た4ビットの被乗数F及び4ビットの乗数Gから4ビッ
トの丸め積RP(3:0)を求めるものであって、図1
の構成に丸め回路150を付加したものである。丸め回
路150は、丸めキャリー生成装置151と加算器15
2とで構成される。丸めキャリー生成装置151は、加
算器110から供給される8ビットの積Pのうちの4ビ
ットの下位部分P(3:0)から丸めキャリーRを生成
するものであって、四捨五入の場合には該下位部分P
(3:0)のうちの最上位ビットP(3)を丸めキャリ
ーRとし、切り上げの場合には該下位部分P(3:0)
を構成する4ビットの論理和を丸めキャリーRとする。
加算器152は、加算器110から供給される8ビット
の積Pのうちの4ビットの上位部分P(7:4)と、生
成された丸めキャリーRとの丸め加算により、丸め積R
Pを算出するものである。なお、切り捨ての場合には、
4ビットの上位部分P(7:4)をそのまま丸め積RP
とすればよい。丸め積RPのビット数は4以外でもよ
い。
【0019】(実施例3)図3の乗算装置は、与えられ
た8ビットの被乗数X及び8ビットの乗数Yから16ビ
ットの積P(15:0)を求めるものであって、第2の
従来技術において説明した式(3)中の4個の8ビット
部分積XU ×YU ,XU ×YL ,XL ×YU 及びXL ×
L の各々の算出に、図1中のROM102及び補正値
生成装置107を利用したものである。ROM102の
容量は前記のとおり64バイトであり、第2の従来技術
に比べて1/4に低減される。
【0020】図3の乗算装置は、ROM102及び補正
値生成装置107に加えて、第1のセレクタ101、4
個のDタイプ・フリップフロップ(DFF)を有するラ
ッチ回路103、加算器104、第2のセレクタ105
及び制御装置106を備えている。
【0021】第1のセレクタ101は、まず被乗数下位
部分XL 及び乗数下位部分YL からなる8ビットデータ
を選択し、次に被乗数下位部分XL 及び乗数上位部分Y
U からなる8ビットデータを選択し、次に被乗数上位部
分XU 及び乗数下位部分YLからなる8ビットデータを
選択し、最後に被乗数上位部分XU 及び乗数上位部分Y
U からなる8ビットデータを選択するものである。第1
のセレクタ101によって順次選択された4個の8ビッ
トデータはそれぞれ、図1の乗算装置において説明した
ように、4ビットの第1データFと、2ビットの第2デ
ータGU と、2ビットの第3データGL とに分けて、R
OM102及び補正値生成装置107へ供給される。R
OM102から4個の8ビットデータの各々に対応した
4個の近似部分積APが順次索引され、補正値生成装置
107は4個の8ビットデータの各々に対応した4個の
補正値H及び4個のキャリーCを順次生成する。ラッチ
回路103において、第1のDFFは部分積の和(以
下、中間和という。)Wを、第2のDFFは近似部分積
APを、第3のDFFは補正値Hを、第4のDFFはキ
ャリーCをそれぞれ保持するものである。加算器104
は、第1のDFFに保持された中間和Wと、第2のDF
Fに保持された近似部分積APと、第3のDFFに保持
された補正値Hと、第4のDFFに保持されたキャリー
Cとの桁合せ加算を実行することにより部分和Zを算出
するものであって、図1中の加算器110に相当する。
第2のセレクタ105は、加算器104によって算出さ
れた8ビット及び12ビットの部分和Zを中間和Wとし
てラッチ回路103の第1のDFFへ供給したり、加算
器104によって算出された16ビットの部分和Zを最
終結果である16ビットの積Pとして乗算装置の外部へ
出力したりするものである。制御装置106は、第1の
セレクタ101、ラッチ回路103、加算器104及び
第2のセレクタ105の各々の動作を制御するものであ
る。
【0022】図3の乗算装置によれば、加算器104に
より、8ビット部分和Z1 =XL ×YL 、12ビット部
分和Z2 =XL ×YU ×24 +XL ×YL 、次の12ビ
ット部分和Z3 =XU ×YL ×24 +XL ×YU ×24
+XL ×YL 、及び、16ビット部分和Z4 =XU ×Y
U ×28 +XU ×YL ×24 +XL ×YU ×24 +XL
×YL すなわち16ビットの積Pが順次算出される。こ
のうち、前三者Z1 ,Z2 ,Z3 は、中間和Wとして、
ラッチ回路103の第1のDFFを介して加算器104
へフィードバックされる。ラッチ回路103で本乗算装
置のパイプライン動作を実現している。
【0023】なお、16ビットの積P(15:0)のう
ちの8ビットの下位部分の四捨五入又は切り上げを行う
場合には、図2の場合と同様の丸め回路150を図3の
乗算装置に付加すればよい。ただし、丸めビットRは下
位部分P(7:0)に基づいて決定され、8ビットの丸
め積が得られる。
【0024】(実施例4)図4の乗算装置は、与えられ
た8ビットの被乗数X及び8ビットの乗数Yから8ビッ
トの丸め積RP(7:0)を求めるものであって、図2
中の丸めキャリー生成装置151を図3の構成に付加し
たものである。図4の乗算装置の加算器104は、近似
積APと補正値HとキャリーCとの合成加算と、4個の
部分積XU×YU ,XU ×YL ,XL ×YU 及びXL ×
L の桁合せ加算とに加えて、16ビット部分和Z4
丸め加算をも実行するようになっている。ラッチ回路1
03は、図3中の4個のDFFに加えて、第5及び第6
のDFFを有する。
【0025】加算器104において12ビット部分和Z
3 が算出された時点で、該12ビット部分和Z3 のうち
の8ビットの下位部分は、最終結果である16ビットの
積Pのうちの8ビットの下位部分P(7:0)と一致
し、確定する。第2のセレクタ105は、加算器104
によって順次算出された4個の部分和Z1 ,Z2 ,Z3
及びZ4 を中間和Wとしてラッチ回路103の第1のD
FFへ供給したり、加算器104によって12ビット部
分和Z3 が算出された時点で積Pの確定部分P(7:
0)をラッチ回路103の第5のDFFへ供給したり、
加算器104による16ビット部分和Z4 の丸め加算結
果のうちの8ビットの上位部分を丸め積RPとして乗算
装置の外部へ出力したりする。丸めキャリー生成装置1
51は、ラッチ回路103の第5のDFFに保持された
確定部分P(7:0)から丸めキャリーRを生成するも
のであって、四捨五入の場合には該確定部分P(7:
0)のうちの最上位ビットP(7)を丸めキャリーRと
し、切り上げの場合には該確定部分P(7:0)を構成
する8ビットの論理和を丸めキャリーRとする。生成さ
れた丸めキャリーRは、ラッチ回路103の第6のDF
Fを介して、丸め加算の際に加算器104へ供給され
る。
【0026】図4の乗算装置によれば、加算器104が
12ビット部分和Z3 から16ビット部分和Z4 を算出
するのと並行して丸めキャリーRを生成することができ
るので、16ビット部分和Z4 の算出後に直ちに丸め積
RPが得られる。
【0027】なお、被乗数及び乗数のビット数は上記の
例(4ビット又は8ビット)に限らない。また、上記各
例では、ROMから近似積又は近似部分積APを索引す
る際に2ビットの乗数下位部分GL を1に固定して得ら
れる仮の乗数G′を採用することとしたが、固定部分の
ビット数及び固定値は任意である。被乗数の一部のビッ
トを固定したり、被乗数及び乗数の両者の一部ビットを
固定したりしてもよい。また、図3及び図4の乗算装置
では、4個の近似部分積を求めるように被乗数X及び乗
数Yを各々4ビットの2ブロックに分割することとした
が、分割ブロック数及び各ブロックのビット数は任意で
ある。
【0028】
【発明の効果】以上説明してきたとおり、本発明によれ
ば、与えられた被乗数及び乗数のうちの一部のビットを
使用せずにROMから近似積を索引する一方、前記一部
のビットに基づいて補正値を生成し、前記索引された近
似値と前記生成された補正値との合成加算により前記与
えられた被乗数及び乗数の真の積を算出することとした
ので、真の積をROMに蓄えていた従来に比べてROM
の所要容量を大幅に低減することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係る乗算装置の構成を
示すブロック図である。
【図2】本発明の第2の実施例に係る乗算装置の構成を
示すブロック図である。
【図3】本発明の第3の実施例に係る乗算装置の構成を
示すブロック図である。
【図4】本発明の第4の実施例に係る乗算装置の構成を
示すブロック図である。
【符号の説明】
101 セレクタ 102 ROM 103 ラッチ回路 104 加算器 105 セレクタ 106 制御装置 107 補正値生成装置 110 加算器 150 丸め回路 151 丸めキャリー生成装置 152 加算器

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数の近似積を記憶し、与えられた第1
    及び第2の数値をマージして得られる第1の合成数値を
    構成する複数ビットのうちの一部のビットを除いて得ら
    れる第2の合成数値をアドレスとして、前記与えられた
    第1及び第2の数値に対応した近似積を索引するための
    手段と、 前記一部のビットに基づいて補正値を生成するための手
    段と、 前記索引された近似値と前記生成された補正値との合成
    加算により、前記与えられた第1及び第2の数値の積を
    算出するための手段とを備えたことを特徴とする乗算装
    置。
  2. 【請求項2】 請求項1記載の乗算装置において、 前記算出された第1及び第2の数値の積を丸めるための
    手段を更に備えたことを特徴とする乗算装置。
  3. 【請求項3】 請求項2記載の乗算装置において、 前記第1及び第2の数値の積を丸めるための手段は、 前記第1及び第2の数値の積のうちの下位部分から丸め
    キャリーを生成するための手段と、 前記第1及び第2の数値の積のうちの上位部分と前記生
    成された丸めキャリーとの丸め加算により、前記第1及
    び第2の数値の丸め積を算出するための手段とを備えた
    ことを特徴とする乗算装置。
  4. 【請求項4】 請求項1記載の乗算装置において、 与えられた被乗数及び乗数から複数個の部分積が得られ
    るように、前記与えられた被乗数及び乗数を前記第1及
    び第2の数値に分割するための手段と、 前記複数個の部分積の桁合せ加算により、前記与えられ
    た被乗数及び乗数の積を算出するための手段とを更に備
    えたことを特徴とする乗算装置。
  5. 【請求項5】 請求項4記載の乗算装置において、 前記複数個の部分積の各々を構成する前記索引された近
    似積と前記生成された補正値とを一時保持するための手
    段を更に備えたことを特徴とする乗算装置。
  6. 【請求項6】 請求項4記載の乗算装置において、 前記合成加算及び前記桁合せ加算を実行するための1個
    の加算器を備えたことを特徴とする乗算装置。
  7. 【請求項7】 請求項4記載の乗算装置において、 前記算出された被乗数及び乗数の積を丸めるための手段
    を更に備えたことを特徴とする乗算装置。
  8. 【請求項8】 請求項7記載の乗算装置において、 前記被乗数及び乗数の積を丸めるための手段は、 前記被乗数及び乗数の積のうちの下位部分から丸めキャ
    リーを生成するための手段と、 前記被乗数及び乗数の積のうちの上位部分と前記生成さ
    れた丸めキャリーとの丸め加算により、前記被乗数及び
    乗数の丸め積を算出するための手段とを備えたことを特
    徴とする乗算装置。
  9. 【請求項9】 請求項8記載の乗算装置において、 前記生成された丸めキャリーを一時保持するための手段
    を更に備えたことを特徴とする乗算装置。
  10. 【請求項10】 請求項8記載の乗算装置において、 前記桁合せ加算及び前記丸め加算を実行するための1個
    の加算器を備えたことを特徴とする乗算装置。
JP12994195A 1994-06-07 1995-05-29 半導体メモリを用いた乗算装置 Expired - Fee Related JP3197186B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12994195A JP3197186B2 (ja) 1994-06-07 1995-05-29 半導体メモリを用いた乗算装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP12502594 1994-06-07
JP6-125025 1994-06-07
JP12994195A JP3197186B2 (ja) 1994-06-07 1995-05-29 半導体メモリを用いた乗算装置

Publications (2)

Publication Number Publication Date
JPH0855016A true JPH0855016A (ja) 1996-02-27
JP3197186B2 JP3197186B2 (ja) 2001-08-13

Family

ID=26461568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12994195A Expired - Fee Related JP3197186B2 (ja) 1994-06-07 1995-05-29 半導体メモリを用いた乗算装置

Country Status (1)

Country Link
JP (1) JP3197186B2 (ja)

Also Published As

Publication number Publication date
JP3197186B2 (ja) 2001-08-13

Similar Documents

Publication Publication Date Title
KR0165719B1 (ko) 반도체메모리를 이용한 승산장치
JPS60163128A (ja) 乗算回路
JPS588009B2 (ja) デイジタル乗算器
JPS60164837A (ja) 除算装置
US4118786A (en) Integrated binary-BCD look-ahead adder
JP3660075B2 (ja) 除算装置
JPH0855016A (ja) 半導体メモリを用いた乗算装置
JP3417286B2 (ja) 乗算器
US8301682B2 (en) Divider for fixed point division
JP2991788B2 (ja) 復号器
JPH02287874A (ja) 積和演算装置
JP3190826B2 (ja) 積和演算装置
JPH0869372A (ja) 2進乗算器
JP4293665B2 (ja) 剰余乗算装置
JP4042215B2 (ja) 演算処理装置およびその方法
JP2734438B2 (ja) 乗算装置
JP3106767B2 (ja) 乗算方法及び乗算回路
JPH01321517A (ja) 除算装置
JP2568608B2 (ja) 乗算回路
JPH0778748B2 (ja) ガロア体演算ユニット
JP2529890B2 (ja) 乗算剰余演算器
KR100292067B1 (ko) 이산시간셀룰러신경회로망용셀
JP2000347834A (ja) Sw数系による演算回路
CN116149605A (zh) 模数乘法电路与计算模数乘法的方法
JPH0944340A (ja) 並列乗算回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010522

LAPS Cancellation because of no payment of annual fees