JPH01103738A - 小数乗算器 - Google Patents

小数乗算器

Info

Publication number
JPH01103738A
JPH01103738A JP62262064A JP26206487A JPH01103738A JP H01103738 A JPH01103738 A JP H01103738A JP 62262064 A JP62262064 A JP 62262064A JP 26206487 A JP26206487 A JP 26206487A JP H01103738 A JPH01103738 A JP H01103738A
Authority
JP
Japan
Prior art keywords
data
adder
shift
multiplier
multiplication
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
JP62262064A
Other languages
English (en)
Inventor
Hiroshi Mizuguchi
博 水口
Tadashi Kunihira
宰司 國平
Toshihiko Sakai
堺 俊彦
Yutaka Ota
豊 太田
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 JP62262064A priority Critical patent/JPH01103738A/ja
Publication of JPH01103738A publication Critical patent/JPH01103738A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は機器を制御するためのマイクロプロセッサに搭
載するのに好適な小数乗算器を提供するものである。
従来の技術 最近のマイクロプロセッサには、乗算命令を備えたもの
が多く見受けられ、汎用のマイクロプロセッサには整数
乗算器が搭載され、信号処理や機器の制御に用いられる
シグナルプロセッサには浮動小数点乗算器が搭載されて
いる。
発明が解決しようとする問題点 いま、第3図に示すようなモータの回転速度制御装置の
主要部をマイクロプロセッサで実現する場合について考
えてみると、速度誤差検出部1からは整数の誤差データ
が出力され、デジタルフィルタ2によって周波数領域で
の補償を行なったうえでD−Aコンバータ3によって直
流電圧に変換される。ところで、よく知られているよう
に、−般にこの種のディジタルフィルタでは乗数として
小数を扱う。これに対してディジタルフィルタ2に入力
されるのは整数の誤差検出データである。
したがって、整数の被乗数と小数の乗数との乗算が行な
える乗算器がマイクロプロセッサに搭載されていれば都
合がよいが、実際には、整数のみを扱う乗算器かあるい
は規模の大きな浮動小数点乗算器が使用されている。
問題点を解決するための手段 前記した問題点を解決するために本発明の小数乗算器で
は、乗数データが格納されるシフトレジスタからのシフ
トキャリーの有無によって加算器への被乗数データの転
送路を開閉するスイッチ手段と、前記加算器の出力デー
タをシフトして前記加算器に供給する右シフタと、あら
かじめ定めたサイクル数の右シフト指令信号を前記シフ
トレジスタに送出するとともに、前記加算器に加算指令
信号を送出する乗算制御回路を備えている。
作用 本発明では前記した構成によって、整数の被乗数データ
と小数の乗数データの乗算が直接実行できる乗算器が得
られる。
実施例 以下、本発明の一実施例について図面を参照しながら説
明する。
第1図は本発明の一実施例における小数乗算器のブロッ
クダイアダラムを示したものである。第1図において、
算術論理演算ユニット5σは加算器として用いられてい
るので、以後、加算器50として説明する。また、51
は被乗数データが格納される16ビツトのレジスタ、5
2は乗数データが格納される16ビツトのシフトレジス
タである。前記レジスタ51から前記加算器50へのデ
ータの転送路には、前記シフトレジスタ52からのシフ
トキャリーの有無によってを開閉する16ビツトのスイ
ッチ群53が設けられており、前記加算器50の出力デ
ータは16ビツトの右シフタ54を介して前記加算器5
0の入力側に戻される。
また、前記シフトレジスタ52には乗算制御回路55か
ら右シフト指令信号SHRが供給され、前記加算器50
には前記乗算制御回路55から加算指令信号ADDが供
給されている。これらの乗算指令信号と加算指令信号は
同じもので、16サイクルのパルス列からなる。
前記右シフタ54は、入力データをその値の減少方向に
シフトして前記加算器50の入力側に供給するが、入力
データとしては前記加算器50の加算結果が供給される
さて、第1図のシフトレジスタ52とスイッチ群53は
次のような動作を行なう。仮に、前記シフトレジスタ5
2の内容が2進表示で(01010101010101
01)であったとすると、前記シフトレジスタ52に右
シフト指令信号SHRが供給されると、その内容が(0
010101010101010)に変化するとともに
、変化前の最下位ビット(MSB)の値が′1′である
のでシフトキャリーが発生して前記スイッチ群53を閉
状態にせしめる。続いて右シフト指令信号SHRが供給
されると、その内容が(00010101010101
01)に変化するととともに、変化前の最下位ビットの
値が“0”であるのでシフトキャリーは発生せず、前記
スイッチ群53を開状態にせしめる゛。このように、前
記スイッチ群53は前記シフトレジスタ52からのシフ
トキャリーの有無に応じて開状態または閉状態となる。
なお、前記スイッチ群53が開状態となったときには、
前記加算器50の被乗数側には零が供給されるものとす
る。
いま、レジスタ51に供給される被乗数データが16進
数で(4E20)、すなわち、10進数で20000で
あり、シフトレジスタ52に供給される乗数データが1
6進数で(8000)、10進数で32768であると
すると、乗算制御回路55から16サイクルのパルス信
号が供給されたとき、シフトレジスタ52のデータRn
、  シフトキャリーCn、加算器50の出力データD
n、右シフタ54の出力データSnは以下のように遷移
する。
なお、ここで加算器50は加算動作が完了するまでその
出力データとして前回の値が保持されるものとする。
n   Rn    Cn    Dn    Sn■
 (4000)   (0)   (0000)   
(0000)■ (2000)   (0)   (0
000)   (0000)■ (1000)   (
0)   (0000)   (0000)■ (08
00)   (0)   (0000)   (000
0)■ (0400)   (0)   (0000)
   (0000)■ (0200,)   (0) 
  (0000)   (0000)■ (0100)
   CO)   (0000)   (0000)■
 (0080)   (0)   (0000)   
(0000)■ (0040)   (0)   (0
000)   (0000)IIi)  〔0020)
   (0)   (0000)   (0000)■
 (0010)   (0)   (0000)   
(0000)@  (0008)   (0)   (
0000)   (0000)@  (0004)  
 (0)   (0000)   (0000)@  
(0002)   CO)   (0000)   (
0000)■ (0001)   (0)   (00
00)   (0000)@  (0000)   (
1)   (4[+20)   (0000)乗算結果
は被乗数の(4E20)に小数の1.0を乗じたものに
等しくなる。
同様にして、レジスタ51に供給される被乗数データが
16進数でr4B20)であり、シフトレジスタ52に
供給される乗数データが16進級で(5555)、10
進数で21845であるとすると、乗算制御回路55か
ら16サイクルのパルス信号が供給されたとき、シフト
レジスタ52のデータRn、  シフトキ゛ヤリー〇n
、加算器50の出力データDn、右シフタ54の出力デ
ータSnは以下のように遷移する。
n   Rn    Cn    Dn    Sn■
   (2八AA)     (1)     (4E
20)     (0000)■ (1555)   
(0)   (2710)   (2710)■ (O
AAA)   (1)   (61A8)   (13
88)■ (0555)   (0)   (3004
)   (3004)■ (02AA)   (1) 
  (668^)   (186^〕■ (0155)
   (0)   (3345)   (3345)■
 (00A^)   (1)   (67C2)   
(19A2)■ (0055)   (0)   (3
3E1)   (33[!1)■ (002A)   
CI )   (61)1)0)   (19FO)[
相] (0015)   (0)   (3408) 
  (340B)■ (OOOA)   (1)   
(6824)   (IAO4)@  (0005) 
  (0)   (3412)   (3412)@ 
 (0002)   (1)   (6829)   
[IAO9)[相] (0001)   (0)   
(3414)   (3414)@  (0000) 
  (1)   (682A)   CIAOA)[相
] (00003(0)   (3415)   (3
415)この場合の乗算結果は10進数で13333と
なり、被乗数の(4E20)に小数の0.61すなわち
、(20000/32767)を乗じたものに等しくな
る。
結局、第1図に示した小数乗算器では、被乗数データの
値D、乗数データの値Mから乗算結果Aは次のようにし
て算出される。
D=d 15.21’ +d 14.2”+・・・・・
・+a2.22+d1.21+d0.2’  ・・・・
−・(1)M−m15.2r5+m14.2’ 十−=
・+m2.22十m1.21+m0.2’  −−+2
1ここで、d15.m15はそれぞれ被乗数データD、
乗数データMの最上位ビットの値で、dQ。
mOはそれぞれ被乗数データD1乗数データMの最下位
ビットの値である。最初の加算動作が完了した時点の、
加算結果aQは、 a O=m O・D           −(312
回目の加算動作が完了した時点の、加算結果a1は、 al=ml・D+− =m 1 ・D 十m O・−−(4)3回目の加算動
作が完了した時点の、加算結果a2は、 a2=D−m2+  − このようにして、第1図の小数乗算器では、整数の被乗
数データと小数の乗数データとの乗数を簡単に行なうこ
とができる。また、従来の整数乗算では、16ビツトの
データの乗算を実行するとその結果を格納するために3
2ビツトのレジスタあるいはメモリ領域を必要としたが
、第1図の小数乗算器では乗数データの値が1を越えな
いかぎり桁あふれは発生しないので、乗算結果を格納す
るために必要となるビット数も少なくてすむ。
つぎに、第2図は本発明の別の実施例を示したもので、
符号付整数と小数の乗算が行なえるように構成されてい
る。すなわち、第1図の右シフタ54が単なる論理シフ
トを行なうだけであったのに対して、第2図のシフトレ
ジスタ56は、乗算制御回路55から供給される算術右
シフト指令信号SARによって最上位ビットを保存した
ままの右シフトを行なう。したがって、被乗数データの
最上位ビットを符号ビットとして扱うことができ、符号
付の整数と符号なしの小数の乗算を行なわせることがで
きる。これによって、たとえば第3図の装置では、速度
誤差検出部1から符号付の誤差データが出力されても、
D−Aコンバータ3までの間で、−貫して符号付の数値
として扱えることになり、きわめて好都合である。
なお、実施例では被乗数データ、乗数データともに16
ビツトの場合について説明したが、両者が必ずしも同じ
ビット数である必要はない。たとえば、第1図において
乗数データが8ビツトであれば乗算制御回路55から8
サイクルのパルス列を発生させればよく、その場合には
より速く乗算が完了する。また、第1図の加算器5oは
、すでに説明したように実際は算術論理演算ユニットで
あり、通常の加算、減算、論理演算などはこの部分だけ
を利用して行なわせることができるし、レジスタ51や
右シフタ54なども通常のプロセッサであれば具備され
ている。したが;て、本発明の小数乗算器を構成するた
めに、プロセッサとして新たに必要になるハードウェア
要素はかなり少なくてすむ。
発明の効果 以上の説明から明らかなように、本発明の小数乗算器は
、乗算データが格納されるシフトレジスタ52と、加算
器50と、前記シフトレジスタからのシフトキャリーの
有無によって被乗数データの前記加算器へのデータの転
送路を開閉するスイッチ手段(スイッチ群53)と、前
記加算器の出力データをその値が減少する方向にシフト
して前記加算器に供給する右シフタ54と、あらかじめ
定めたサイクル数の右シフト指令信号を前記シフトレジ
スタに送出するとともに、前記加算器に加算指令信号を
送出する乗算制御回路55によって構成されているので
、整数の被乗数データと小数の乗数データの直接乗算を
実行させることができ、大なる効果を奏する。
【図面の簡単な説明】
第1図は本発明の一実施例を示す小数乗算器のブロック
ダイアグラム、第2図は本発明の別の一実施例を示す小
数乗算器のブロックダイアグラム、第3図は小数乗算器
を必要とする制御装置のブロックダイアグラムである。 50・・・・・・加算器、52・旧・・シフトレジスタ
、53・・・・・・スイッチ群、54・・・・・・右シ
フタ、55・・・・・・乗算制御回路。

Claims (2)

    【特許請求の範囲】
  1. (1)乗数データが格納されるシフトレジスタと、加算
    器と、前記シフトレジスタからのシフトキャリーの有無
    によって被乗数データの前記加算器へのデータの転送路
    を開閉するスイッチ手段と、前記加算器の出力データを
    その値が減少する方向にシフトして前記加算器に供給す
    る右シフタと、あらかじめ定めたサイクル数の右シフト
    指令信号を前記シフトレジスタに送出するとともに、前
    記加算器に加算指令信号を送出する乗算制御回路を具備
    してなる小数乗算器。
  2. (2)乗算データが格納されるシフトレジスタと、加算
    器と、前記シフトレジスタからのシフトキャリーの有無
    によって被乗数データの前記加算器へのデータの転送路
    を開閉するスイッチ手段と、前記加算器の出力データを
    最上位ビット保存のまま算術右シフトして前記加算器に
    供給するシフト手段と、あらかじめ定めたサイクル数の
    右シフト指令信号を前記シフトレジスタに送出するとと
    もに、前記加算器に加算指令信号を送出する乗算制御回
    路を具備してなる小数乗算器。
JP62262064A 1987-10-16 1987-10-16 小数乗算器 Pending JPH01103738A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62262064A JPH01103738A (ja) 1987-10-16 1987-10-16 小数乗算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62262064A JPH01103738A (ja) 1987-10-16 1987-10-16 小数乗算器

Publications (1)

Publication Number Publication Date
JPH01103738A true JPH01103738A (ja) 1989-04-20

Family

ID=17370527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62262064A Pending JPH01103738A (ja) 1987-10-16 1987-10-16 小数乗算器

Country Status (1)

Country Link
JP (1) JPH01103738A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5839645B1 (ja) * 1971-06-23 1983-08-31 William A Wootten
JPS59172040A (ja) * 1983-03-22 1984-09-28 Toshiba Corp 乗算回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5839645B1 (ja) * 1971-06-23 1983-08-31 William A Wootten
JPS59172040A (ja) * 1983-03-22 1984-09-28 Toshiba Corp 乗算回路

Similar Documents

Publication Publication Date Title
US4975868A (en) Floating-point processor having pre-adjusted exponent bias for multiplication and division
US6260055B1 (en) Data split parallel shifter and parallel adder/subtractor
US5892699A (en) Method and apparatus for optimizing dependent operand flow within a multiplier using recoding logic
US5508948A (en) Numeric representation converting apparatus and vector processor unit such apparatus
EP1137980B1 (en) Arithmetic operations in a data processing system
JPH01103738A (ja) 小数乗算器
JP2511527B2 (ja) 浮動小数点演算器
JPH01100626A (ja) 小数乗算器
US4638300A (en) Central processing unit having built-in BCD operation
US4254471A (en) Binary adder circuit
JPH10187416A (ja) 浮動小数点演算装置
US6122651A (en) Method and apparatus for performing overshifted rotate through carry instructions by shifting in opposite directions
JP2706459B2 (ja) 小数乗算器を有するマイクロプロセッサ
US7003540B2 (en) Floating point multiplier for delimited operands
US6035310A (en) Method and circuit for performing a shift arithmetic right operation
JP2665067B2 (ja) 浮動小数点加減算器
RU2225638C2 (ru) Арифметические операции в системе обработки данных
JP2711487B2 (ja) 固定データ加減算回路
JP2615746B2 (ja) ビット操作回路
KR100206558B1 (ko) 동작 전류를 감소시킨 산술 논리 연산 장치
JP3110072B2 (ja) 事前正規化回路
JPH01180628A (ja) 浮動小数点演算方式
JPS63278141A (ja) 除算回路
JPH0439094B2 (ja)
JPS6244657B2 (ja)