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
Application number
JP1087605A
Other languages
English (en)
Other versions
JP2512801B2 (ja
Inventor
Ichiro Yamane
一郎 山根
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 JP1087605A priority Critical patent/JP2512801B2/ja
Publication of JPH02266427A publication Critical patent/JPH02266427A/ja
Application granted granted Critical
Publication of JP2512801B2 publication Critical patent/JP2512801B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、マイクロROMを用いて論理演算ユニット(
ALU)を制御するマイクロプロセッサ等のALUにお
いて被乗数、及び、乗数をレジスタに保存し、これを2
の補数表現において、符号なし乗算を行った後、補正を
行うことで符号付き乗算の結果を得ることのできる乗算
器に関するものである。
従来の技術 符号無し数乗算のアルゴリズムの標準的な乗算ユニット
は、第2図に示すような数個の機能素子、即ち、nビッ
トの並列書き込み及び読みだし可能なレジスタ、アキュ
ムレータ(AC)1.乗算レジスタ(MR)2、及び、
補助レジスタ(AX)3から構成される。被乗数Aと乗
数Bは、最初それぞれAX3とMR2にセットされる。
Actには、初期部分積として零がセットされる。
2nビツトの最終積Pは、ACIの右側にMR2を連結
したレジスタACI・MR2にもとまる。制御カウンタ
(CTR)6は、加算シフトの回数を計算し、乗算の終
了を識別するために使用される。
各サイクルでどのような演算が行われているかを記す。
5=Sn−+ +++ sls。
を加算器5からの和出力とする。C1゜は、加算器5へ
の桁上げ入力、Coutは、加算器からの桁上げ出力を
あられす。また、補助ベクトルAXAMR。
を次式のように定義する。
AXAMRo =AX、  MRo =10、  MR
o=0 ここで、A X A M Roは、MRの最下位ビット
であるMRo と、AXレジスタの各ビットとの論理槽
をあられす。加算器では、初期桁上げ入力を零(Ci。
−〇)として、各サイクルで次式に示す加算を行う。
Cout −3←(AC)+ (AXAMRo )この
加算で、桁上げ出力C0utが生成される可能性がある
。この加算器5には、一定時間の遅れを持つ完全桁上げ
加算器が考えられる。加算器5の出力に和が生成される
と直ちに、右シフト演算が行われるが、この演算は、次
式のようになる。
AC−MR← Cout  −5n−1++・S+SoMRr1−1 
・= MRこの右シフト演算では、加算器5の出力のう
ち、Cout ” 5n−1”・slをACに、SOを
MRo、−。
に入力して右シフトさせ、MRoをMRの右端から押し
出す。このようなストアシフト型演算は、マルチプレク
サ論理で構成でき、シフト演算を行う際に幾つかの入力
データのうち必要なものを選択してワークレジスタに入
力すれば良い。上述し゛た処理手順をまとめると、次の
ようになる。乗数ビットMRoを調べ、1であれば乗数
Aを、0であれば零ベクトルを部分積の上位nビットに
加算し、加算が終了した新しい上位の部分積と、加算に
使用しなかった下位の部分積とをまとめて右に1ビツト
シフトする。各部分積の右シフト操作は、紙と鉛筆を用
いた場合の左シフト操作に等価なものである。後者の場
合、被乗数Aは決められたビット位置から部分積に加え
込まれる。このような処理は、すべての乗数が調べられ
るまで0回(1回の処理で1ビツト)くりかえされる。
演算の終了時点で、乗数BはすべてMR2の右端から押
し出され、そのかわりに積の下半分がMR2にはいる。
積の上半分はACIに保持される。
符号付き数乗算は、この符号なし数のアルゴリズムを用
いて実現する。まず、乗数(MR2)が2の補数におい
て負であれば符号反転を行い正の数にする。また、被乗
数(AX3)が2の補数において負であれば符号反転を
行い正の数にする。
そして、この符号なし数のアルゴリズムを用いて積の絶
対値を求め、乗数と被乗数の積が負であれば、積の絶対
値(ACI、MR2)を符号反転し負の数にする。
発明が解決しようとする課題 しかしながら、上記従来の方法では、符号付き数の乗算
において、多大のステップを必要とし、マイクロ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の補正を行うことで符号付き数乗
算の結果を得ることのできる乗算器である。
作用 これによって、nビットのレジスタを1個追加するだけ
で、高速に、同じアルゴリズムで、符号なし数乗算、及
び、符号付き数乗算を行うことができる。
実施例 本発明の実施例として、第1図の構成図により、2の補
数表示数を直接実行できる乗算器を説明する。このアル
ゴリズムの利点は、すべての被加算項の符号が正である
ということにあり、従って、従来のALUを用いてハー
ドウェアを構成できる。
21のnビットの2の補数表示数、 A= (an−+  an−2+++  a+ao) 
2B= (bn−+  t)n−2+++  bubo
) 2を考える。AとBの値AvとBvは次式からなる
A v = −a、−12’−’  + Σa、21+
0 によって次のように表せる。
=AvXBv 2の補数の数表環において、積P=AXB−(p2n−
11)2n−2”’ p+po)2の値Pvは、適当な
重み付き因数と、係数a1またはbi との積ここで、
第1項(波線)は、20ビツトを越えているため、ボロ
ーとして現れるだけで無視できる。第2項は、符号なし
数の乗算そのものである。即ち、符号付き数の乗算は、
符号なし数の乗算を行い、その後で、第3項、第4項に
あたる部分を減算することで補正することができる。
ここで、第3項は、Avの符号ビットが負の場合、先の
符号なし数の演算後のACからBvを符号なし数として
減算することで実現できる。また、第4項は、Bvの符
号ビットが負の場合、先の符号なし数の演算後のACか
らAvを符号なし数として減算することで実現できる。
ここで、発生するボローは無視すれば良い。
これによって、符号なしあり、の乗算は、全く同じマイ
クロプログラムを用いることができる。即ち、符号付き
数のプログラムを使用して、符号なし数のときは、Av
、Bvの符号ビットを無視して零とし、補正をなしにす
れば良い。
以下、本発明の実施例について図面を参照しながら説明
する。
第1図は、本発明の一実施例における構成ブロック図で
ある。
乗算ユニットは、数個の機能素子、即ち、nビットの並
列書き込み及び読みだし可能なレジスタ、アキュムレー
タ(AC)1、乗算レジスタ(MR)2、及び補助レジ
スタ(AX)3、補助レジスタ(BX)7から構成され
る。被乗数Aと乗数Bは、最初それぞれAX3とMR2
にセットされる。ACIには、初期部分積として零がセ
ットされる。
20ビツトの符号なし数の最終積Pは、ACIの右側に
MR2を連結したレジスタACI・MR2にもとまる。
これは、上記第2項と全(同一である。$IJ御カウン
タ(CTR)6は、加算シフトの回数を計算し、乗算の
終了を識別するために使用される。
各サイクルでどのような演算が行われているかは、上記
従来例と全(同じである。
ここで、符号付き数の場合は、ACIを補正する。補助
ベクトルB X A A X n −+を次式のように
定義する。
BXAAXn−+  =丁X、   AXo−+  =
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を次式のように定義する
AXABXn−1=AX、   BXn−+  =10
、   BX、、  二〇 ここで、AXABXn−+ は、BXの最上位ビットで
あるBXo−+  と、AXレジスタの各ビットとの論
理積をあられす。加算器では、初期桁上げ入力を1(C
i、=1>として、次式に示す加算を行う。
(AC)  ← (AC)+  (BXAAXn−+ 
 )この加算(実質減算)で、桁下げ出力C3utが生
成される可能性があるが無視すれば良い。即ち、これは
上記第4項に居づき、BX7の最上位ピッhBXo−+
 が1の場合、AX2の値を減算したことになる。
つまり、この2サイクルの補正を行うことで簡単に符号
付き数の積を求めることができる。
また、符号なし数乗算と符号付き数乗算でマイクロRO
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

Claims (1)

    【特許請求の範囲】
  1. nビットの並列書き込み及び読みだし可能なレジスタ、
    アキュムレータ(AC)、乗算レジスタ(MR)、補助
    レジスタ1(AX)、補助レジスタ2(BX)、及び、
    nビットの加減算器から構成され、前記加減算器の一方
    の入力には前記ACが入り、他方の入力には、前記MR
    の最下位ビットによって零か前記AX、BXの最上位ビ
    ットによって零か前記AX、AXの最上位ビットによっ
    て零か前記BXの3系統の入力を持ち、2の補数表現に
    おいて、前記MRによって符号なし数乗算を行った後、
    前記ACを、前記AXの最上位ビットによって零か前記
    BXの補正、及び、前記BXの最上位ビットによって零
    か前記AXの補正を行う乗算器。
JP1087605A 1989-04-06 1989-04-06 乗算器 Expired - Lifetime JP2512801B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04128924A (ja) * 1990-09-20 1992-04-30 Nec Ic Microcomput Syst Ltd 乗算回路

Cited By (1)

* Cited by examiner, † Cited by third party
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