JPH02266427A - 乗算器 - Google Patents
乗算器Info
- Publication number
- JPH02266427A JPH02266427A JP1087605A JP8760589A JPH02266427A JP H02266427 A JPH02266427 A JP H02266427A JP 1087605 A JP1087605 A JP 1087605A JP 8760589 A JP8760589 A JP 8760589A JP H02266427 A JPH02266427 A JP H02266427A
- Authority
- JP
- Japan
- Prior art keywords
- register
- multiplication
- bit
- zero
- significant bit
- 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
Links
- 230000000295 complement effect Effects 0.000 claims abstract description 8
- 239000000047 product Substances 0.000 description 19
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 241001415830 Bubo Species 0.000 description 1
- 208000016335 bubo Diseases 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、マイクロROMを用いて論理演算ユニット(
ALU)を制御するマイクロプロセッサ等のALUにお
いて被乗数、及び、乗数をレジスタに保存し、これを2
の補数表現において、符号なし乗算を行った後、補正を
行うことで符号付き乗算の結果を得ることのできる乗算
器に関するものである。
ALU)を制御するマイクロプロセッサ等のALUにお
いて被乗数、及び、乗数をレジスタに保存し、これを2
の補数表現において、符号なし乗算を行った後、補正を
行うことで符号付き乗算の結果を得ることのできる乗算
器に関するものである。
従来の技術
符号無し数乗算のアルゴリズムの標準的な乗算ユニット
は、第2図に示すような数個の機能素子、即ち、nビッ
トの並列書き込み及び読みだし可能なレジスタ、アキュ
ムレータ(AC)1.乗算レジスタ(MR)2、及び、
補助レジスタ(AX)3から構成される。被乗数Aと乗
数Bは、最初それぞれAX3とMR2にセットされる。
は、第2図に示すような数個の機能素子、即ち、nビッ
トの並列書き込み及び読みだし可能なレジスタ、アキュ
ムレータ(AC)1.乗算レジスタ(MR)2、及び、
補助レジスタ(AX)3から構成される。被乗数Aと乗
数Bは、最初それぞれAX3とMR2にセットされる。
Actには、初期部分積として零がセットされる。
2nビツトの最終積Pは、ACIの右側にMR2を連結
したレジスタACI・MR2にもとまる。制御カウンタ
(CTR)6は、加算シフトの回数を計算し、乗算の終
了を識別するために使用される。
したレジスタACI・MR2にもとまる。制御カウンタ
(CTR)6は、加算シフトの回数を計算し、乗算の終
了を識別するために使用される。
各サイクルでどのような演算が行われているかを記す。
5=Sn−+ +++ sls。
を加算器5からの和出力とする。C1゜は、加算器5へ
の桁上げ入力、Coutは、加算器からの桁上げ出力を
あられす。また、補助ベクトルAXAMR。
の桁上げ入力、Coutは、加算器からの桁上げ出力を
あられす。また、補助ベクトルAXAMR。
を次式のように定義する。
AXAMRo =AX、 MRo =10、 MR
o=0 ここで、A X A M Roは、MRの最下位ビット
であるMRo と、AXレジスタの各ビットとの論理槽
をあられす。加算器では、初期桁上げ入力を零(Ci。
o=0 ここで、A X A M Roは、MRの最下位ビット
であるMRo と、AXレジスタの各ビットとの論理槽
をあられす。加算器では、初期桁上げ入力を零(Ci。
−〇)として、各サイクルで次式に示す加算を行う。
Cout −3←(AC)+ (AXAMRo )この
加算で、桁上げ出力C0utが生成される可能性がある
。この加算器5には、一定時間の遅れを持つ完全桁上げ
加算器が考えられる。加算器5の出力に和が生成される
と直ちに、右シフト演算が行われるが、この演算は、次
式のようになる。
加算で、桁上げ出力C0utが生成される可能性がある
。この加算器5には、一定時間の遅れを持つ完全桁上げ
加算器が考えられる。加算器5の出力に和が生成される
と直ちに、右シフト演算が行われるが、この演算は、次
式のようになる。
AC−MR←
Cout −5n−1++・S+SoMRr1−1
・= MRこの右シフト演算では、加算器5の出力のう
ち、Cout ” 5n−1”・slをACに、SOを
MRo、−。
・= MRこの右シフト演算では、加算器5の出力のう
ち、Cout ” 5n−1”・slをACに、SOを
MRo、−。
に入力して右シフトさせ、MRoをMRの右端から押し
出す。このようなストアシフト型演算は、マルチプレク
サ論理で構成でき、シフト演算を行う際に幾つかの入力
データのうち必要なものを選択してワークレジスタに入
力すれば良い。上述し゛た処理手順をまとめると、次の
ようになる。乗数ビットMRoを調べ、1であれば乗数
Aを、0であれば零ベクトルを部分積の上位nビットに
加算し、加算が終了した新しい上位の部分積と、加算に
使用しなかった下位の部分積とをまとめて右に1ビツト
シフトする。各部分積の右シフト操作は、紙と鉛筆を用
いた場合の左シフト操作に等価なものである。後者の場
合、被乗数Aは決められたビット位置から部分積に加え
込まれる。このような処理は、すべての乗数が調べられ
るまで0回(1回の処理で1ビツト)くりかえされる。
出す。このようなストアシフト型演算は、マルチプレク
サ論理で構成でき、シフト演算を行う際に幾つかの入力
データのうち必要なものを選択してワークレジスタに入
力すれば良い。上述し゛た処理手順をまとめると、次の
ようになる。乗数ビットMRoを調べ、1であれば乗数
Aを、0であれば零ベクトルを部分積の上位nビットに
加算し、加算が終了した新しい上位の部分積と、加算に
使用しなかった下位の部分積とをまとめて右に1ビツト
シフトする。各部分積の右シフト操作は、紙と鉛筆を用
いた場合の左シフト操作に等価なものである。後者の場
合、被乗数Aは決められたビット位置から部分積に加え
込まれる。このような処理は、すべての乗数が調べられ
るまで0回(1回の処理で1ビツト)くりかえされる。
演算の終了時点で、乗数BはすべてMR2の右端から押
し出され、そのかわりに積の下半分がMR2にはいる。
し出され、そのかわりに積の下半分がMR2にはいる。
積の上半分はACIに保持される。
符号付き数乗算は、この符号なし数のアルゴリズムを用
いて実現する。まず、乗数(MR2)が2の補数におい
て負であれば符号反転を行い正の数にする。また、被乗
数(AX3)が2の補数において負であれば符号反転を
行い正の数にする。
いて実現する。まず、乗数(MR2)が2の補数におい
て負であれば符号反転を行い正の数にする。また、被乗
数(AX3)が2の補数において負であれば符号反転を
行い正の数にする。
そして、この符号なし数のアルゴリズムを用いて積の絶
対値を求め、乗数と被乗数の積が負であれば、積の絶対
値(ACI、MR2)を符号反転し負の数にする。
対値を求め、乗数と被乗数の積が負であれば、積の絶対
値(ACI、MR2)を符号反転し負の数にする。
発明が解決しようとする課題
しかしながら、上記従来の方法では、符号付き数の乗算
において、多大のステップを必要とし、マイクロROM
等のプログラムが長く、また、符号反転のハードウェア
、符号反転をするかどうかを決定するハードウェアを追
加しなければならなかった。
において、多大のステップを必要とし、マイクロROM
等のプログラムが長く、また、符号反転のハードウェア
、符号反転をするかどうかを決定するハードウェアを追
加しなければならなかった。
課題を解決するための手段
本発明は、上記従来の問題点を解決するもので、nビッ
トの並列書き込み及び読みだし可能なレジスタ、アキュ
ムレータ(AC) 、乗算レジスタ(MR) 、補助レ
ジスタ1 (AX)、補助レジスタ2 (BX) 、及
び、nビットの加減算器から構成され、加減算器の一方
の入力にはACが入り、他方の入力には、MRの最下位
ビットによって零かAX、BXの最上位ビットによって
零かAX、AXの最上位ビットによって零かBXの3系
統の入力を持ち、2の複数表現において、MRによって
符号なし数乗算を行った後、ACを、AXの最上位ビッ
トによって零かB、 Xの補正、及び、BXの最上位ビ
ットによって零かAXの補正を行うことで符号付き数乗
算の結果を得ることのできる乗算器である。
トの並列書き込み及び読みだし可能なレジスタ、アキュ
ムレータ(AC) 、乗算レジスタ(MR) 、補助レ
ジスタ1 (AX)、補助レジスタ2 (BX) 、及
び、nビットの加減算器から構成され、加減算器の一方
の入力にはACが入り、他方の入力には、MRの最下位
ビットによって零かAX、BXの最上位ビットによって
零かAX、AXの最上位ビットによって零かBXの3系
統の入力を持ち、2の複数表現において、MRによって
符号なし数乗算を行った後、ACを、AXの最上位ビッ
トによって零かB、 Xの補正、及び、BXの最上位ビ
ットによって零かAXの補正を行うことで符号付き数乗
算の結果を得ることのできる乗算器である。
作用
これによって、nビットのレジスタを1個追加するだけ
で、高速に、同じアルゴリズムで、符号なし数乗算、及
び、符号付き数乗算を行うことができる。
で、高速に、同じアルゴリズムで、符号なし数乗算、及
び、符号付き数乗算を行うことができる。
実施例
本発明の実施例として、第1図の構成図により、2の補
数表示数を直接実行できる乗算器を説明する。このアル
ゴリズムの利点は、すべての被加算項の符号が正である
ということにあり、従って、従来のALUを用いてハー
ドウェアを構成できる。
数表示数を直接実行できる乗算器を説明する。このアル
ゴリズムの利点は、すべての被加算項の符号が正である
ということにあり、従って、従来のALUを用いてハー
ドウェアを構成できる。
21のnビットの2の補数表示数、
A= (an−+ an−2+++ a+ao)
2B= (bn−+ t)n−2+++ bubo
) 2を考える。AとBの値AvとBvは次式からなる
。
2B= (bn−+ t)n−2+++ bubo
) 2を考える。AとBの値AvとBvは次式からなる
。
A v = −a、−12’−’ + Σa、21+
0 によって次のように表せる。
0 によって次のように表せる。
=AvXBv
2の補数の数表環において、積P=AXB−(p2n−
11)2n−2”’ p+po)2の値Pvは、適当な
重み付き因数と、係数a1またはbi との積ここで、
第1項(波線)は、20ビツトを越えているため、ボロ
ーとして現れるだけで無視できる。第2項は、符号なし
数の乗算そのものである。即ち、符号付き数の乗算は、
符号なし数の乗算を行い、その後で、第3項、第4項に
あたる部分を減算することで補正することができる。
11)2n−2”’ p+po)2の値Pvは、適当な
重み付き因数と、係数a1またはbi との積ここで、
第1項(波線)は、20ビツトを越えているため、ボロ
ーとして現れるだけで無視できる。第2項は、符号なし
数の乗算そのものである。即ち、符号付き数の乗算は、
符号なし数の乗算を行い、その後で、第3項、第4項に
あたる部分を減算することで補正することができる。
ここで、第3項は、Avの符号ビットが負の場合、先の
符号なし数の演算後のACからBvを符号なし数として
減算することで実現できる。また、第4項は、Bvの符
号ビットが負の場合、先の符号なし数の演算後のACか
らAvを符号なし数として減算することで実現できる。
符号なし数の演算後のACからBvを符号なし数として
減算することで実現できる。また、第4項は、Bvの符
号ビットが負の場合、先の符号なし数の演算後のACか
らAvを符号なし数として減算することで実現できる。
ここで、発生するボローは無視すれば良い。
これによって、符号なしあり、の乗算は、全く同じマイ
クロプログラムを用いることができる。即ち、符号付き
数のプログラムを使用して、符号なし数のときは、Av
、Bvの符号ビットを無視して零とし、補正をなしにす
れば良い。
クロプログラムを用いることができる。即ち、符号付き
数のプログラムを使用して、符号なし数のときは、Av
、Bvの符号ビットを無視して零とし、補正をなしにす
れば良い。
以下、本発明の実施例について図面を参照しながら説明
する。
する。
第1図は、本発明の一実施例における構成ブロック図で
ある。
ある。
乗算ユニットは、数個の機能素子、即ち、nビットの並
列書き込み及び読みだし可能なレジスタ、アキュムレー
タ(AC)1、乗算レジスタ(MR)2、及び補助レジ
スタ(AX)3、補助レジスタ(BX)7から構成され
る。被乗数Aと乗数Bは、最初それぞれAX3とMR2
にセットされる。ACIには、初期部分積として零がセ
ットされる。
列書き込み及び読みだし可能なレジスタ、アキュムレー
タ(AC)1、乗算レジスタ(MR)2、及び補助レジ
スタ(AX)3、補助レジスタ(BX)7から構成され
る。被乗数Aと乗数Bは、最初それぞれAX3とMR2
にセットされる。ACIには、初期部分積として零がセ
ットされる。
20ビツトの符号なし数の最終積Pは、ACIの右側に
MR2を連結したレジスタACI・MR2にもとまる。
MR2を連結したレジスタACI・MR2にもとまる。
これは、上記第2項と全(同一である。$IJ御カウン
タ(CTR)6は、加算シフトの回数を計算し、乗算の
終了を識別するために使用される。
タ(CTR)6は、加算シフトの回数を計算し、乗算の
終了を識別するために使用される。
各サイクルでどのような演算が行われているかは、上記
従来例と全(同じである。
従来例と全(同じである。
ここで、符号付き数の場合は、ACIを補正する。補助
ベクトルB X A A X n −+を次式のように
定義する。
ベクトルB X A A X n −+を次式のように
定義する。
BXAAXn−+ =丁X、 AXo−+ =
10、 AX、−、=Q ここで、BXAAXn−+ は、AXの最上位ビットで
あるA xn−+ と、BXレジスタの各ビットとの
論理積をあられす。加算器では、初期桁上げ入力を1(
Cin−1)として、次式に示す加算を行う。
10、 AX、−、=Q ここで、BXAAXn−+ は、AXの最上位ビットで
あるA xn−+ と、BXレジスタの各ビットとの
論理積をあられす。加算器では、初期桁上げ入力を1(
Cin−1)として、次式に示す加算を行う。
(AC)←(AC)+ (AXABXo−+ )この
加算(実質減算)で、桁下げ出力C6utが生成される
可能性があるが無視すれば良い。即ち、これは上記第3
項に基づき、AX3の最上位ピッ)AXn−+が1の場
合、BXの値を減算したことになる。また、補助ベクト
ルA X A B X n−fを次式のように定義する
。
加算(実質減算)で、桁下げ出力C6utが生成される
可能性があるが無視すれば良い。即ち、これは上記第3
項に基づき、AX3の最上位ピッ)AXn−+が1の場
合、BXの値を減算したことになる。また、補助ベクト
ルA X A B X n−fを次式のように定義する
。
AXABXn−1=AX、 BXn−+ =10
、 BX、、 二〇 ここで、AXABXn−+ は、BXの最上位ビットで
あるBXo−+ と、AXレジスタの各ビットとの論
理積をあられす。加算器では、初期桁上げ入力を1(C
i、=1>として、次式に示す加算を行う。
、 BX、、 二〇 ここで、AXABXn−+ は、BXの最上位ビットで
あるBXo−+ と、AXレジスタの各ビットとの論
理積をあられす。加算器では、初期桁上げ入力を1(C
i、=1>として、次式に示す加算を行う。
(AC) ← (AC)+ (BXAAXn−+
)この加算(実質減算)で、桁下げ出力C3utが生
成される可能性があるが無視すれば良い。即ち、これは
上記第4項に居づき、BX7の最上位ピッhBXo−+
が1の場合、AX2の値を減算したことになる。
)この加算(実質減算)で、桁下げ出力C3utが生
成される可能性があるが無視すれば良い。即ち、これは
上記第4項に居づき、BX7の最上位ピッhBXo−+
が1の場合、AX2の値を減算したことになる。
つまり、この2サイクルの補正を行うことで簡単に符号
付き数の積を求めることができる。
付き数の積を求めることができる。
また、符号なし数乗算と符号付き数乗算でマイクロRO
M等プログラムが同一の場合は、補正時のA X、、
、B Xn−+を、強1す的に零にすることで補正を
行わないようにすれば符号なし数の積、補正時のA X
o−+ 、 B Xn−+を見るようにずれば符号付
き数の積を求めることができる。
M等プログラムが同一の場合は、補正時のA X、、
、B Xn−+を、強1す的に零にすることで補正を
行わないようにすれば符号なし数の積、補正時のA X
o−+ 、 B Xn−+を見るようにずれば符号付
き数の積を求めることができる。
発明の効果
以上のように本発明によれば、nビットのレジスタを1
個追加するだけで、高速に、同じアルゴリズムで、符号
なし数乗算、及び、符号付き数乗算を行うことができる
。
個追加するだけで、高速に、同じアルゴリズムで、符号
なし数乗算、及び、符号付き数乗算を行うことができる
。
第1図は本発明の一実施例におけるブロック図、第2図
は従来例におけるブロック図である。 1・・・・・・nビットの並列書き込み及び読みだし可
能なレジスタ、アキュムレータ(AC)、2・・・・・
・nビットの並列書き込み及び読みだし可能なレジスタ
乗算レジスタ(MR)、3・・・・・・nビットの並列
書き込み及び読みだし可能なレジスタ、補助レジスタ(
AX) 、4・・・・・・論理積回路、5・・・・・・
nビットの加減算器、6・・・・・・制御カウンタ、7
・・・・・・nビットの並列書き込み及び読みだし可能
なレジスタ、補助レジスタ(BX)、8.9・・・・・
・反転論理情回路。 代理人の氏名 弁理士 粟野重孝 ほか1名W41図 S・δへ−t“°−s、s。 べ 乙φG 仁l!t4
は従来例におけるブロック図である。 1・・・・・・nビットの並列書き込み及び読みだし可
能なレジスタ、アキュムレータ(AC)、2・・・・・
・nビットの並列書き込み及び読みだし可能なレジスタ
乗算レジスタ(MR)、3・・・・・・nビットの並列
書き込み及び読みだし可能なレジスタ、補助レジスタ(
AX) 、4・・・・・・論理積回路、5・・・・・・
nビットの加減算器、6・・・・・・制御カウンタ、7
・・・・・・nビットの並列書き込み及び読みだし可能
なレジスタ、補助レジスタ(BX)、8.9・・・・・
・反転論理情回路。 代理人の氏名 弁理士 粟野重孝 ほか1名W41図 S・δへ−t“°−s、s。 べ 乙φG 仁l!t4
Claims (1)
- nビットの並列書き込み及び読みだし可能なレジスタ、
アキュムレータ(AC)、乗算レジスタ(MR)、補助
レジスタ1(AX)、補助レジスタ2(BX)、及び、
nビットの加減算器から構成され、前記加減算器の一方
の入力には前記ACが入り、他方の入力には、前記MR
の最下位ビットによって零か前記AX、BXの最上位ビ
ットによって零か前記AX、AXの最上位ビットによっ
て零か前記BXの3系統の入力を持ち、2の補数表現に
おいて、前記MRによって符号なし数乗算を行った後、
前記ACを、前記AXの最上位ビットによって零か前記
BXの補正、及び、前記BXの最上位ビットによって零
か前記AXの補正を行う乗算器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1087605A JP2512801B2 (ja) | 1989-04-06 | 1989-04-06 | 乗算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1087605A JP2512801B2 (ja) | 1989-04-06 | 1989-04-06 | 乗算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02266427A true JPH02266427A (ja) | 1990-10-31 |
JP2512801B2 JP2512801B2 (ja) | 1996-07-03 |
Family
ID=13919601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1087605A Expired - Lifetime JP2512801B2 (ja) | 1989-04-06 | 1989-04-06 | 乗算器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2512801B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04128924A (ja) * | 1990-09-20 | 1992-04-30 | Nec Ic Microcomput Syst Ltd | 乗算回路 |
-
1989
- 1989-04-06 JP JP1087605A patent/JP2512801B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04128924A (ja) * | 1990-09-20 | 1992-04-30 | Nec Ic Microcomput Syst Ltd | 乗算回路 |
Also Published As
Publication number | Publication date |
---|---|
JP2512801B2 (ja) | 1996-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0849664B1 (en) | Apparatus for computing transcendental functions quickly | |
US5796645A (en) | Multiply accumulate computation unit | |
JP2557190B2 (ja) | 引き数簡約の最適化システム | |
US20210182026A1 (en) | Compressing like-magnitude partial products in multiply accumulation | |
JPH0454633A (ja) | 高基数除算器 | |
US4594680A (en) | Apparatus for performing quadratic convergence division in a large data processing system | |
JPH0368416B2 (ja) | ||
JP2504102B2 (ja) | 逆三角関数演算装置 | |
JPH0477932B2 (ja) | ||
Ercegovac et al. | Very high radix division with selection by rounding and prescaling | |
US5278782A (en) | Square root operation device | |
JP2822399B2 (ja) | 対数関数演算装置 | |
JPH04355827A (ja) | 開平演算装置 | |
EP0499705A2 (en) | High performance divider with a sequence of convergence factors | |
EP0476911A2 (en) | Multiplier signed and unsigned overflow flags | |
JPH01209530A (ja) | 指数関数演算装置 | |
JPH02266427A (ja) | 乗算器 | |
JP3579087B2 (ja) | 演算器およびマイクロプロセッサ | |
Hass | Synthesizing optimal fixed-point arithmetic for embedded signal processing | |
JPH04172526A (ja) | 浮動小数点除算器 | |
Takagi | Arithmetic unit based on a high-speed multiplier with a redundant-binary addition tree | |
EP0137525B1 (en) | Arithmetic unit in data processing system with bit-extension circuitry | |
JPH03192429A (ja) | 平方根演算装置 | |
JPH04358224A (ja) | 開平演算装置 | |
Padegs | Structural aspects of the System/360 Model 85, III: Extensions to floating-point architecture |