JP2706459B2 - Microprocessor with decimal multiplier - Google Patents

Microprocessor with decimal multiplier

Info

Publication number
JP2706459B2
JP2706459B2 JP63055181A JP5518188A JP2706459B2 JP 2706459 B2 JP2706459 B2 JP 2706459B2 JP 63055181 A JP63055181 A JP 63055181A JP 5518188 A JP5518188 A JP 5518188A JP 2706459 B2 JP2706459 B2 JP 2706459B2
Authority
JP
Japan
Prior art keywords
data
bit
multiplier
alu
output
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.)
Expired - Lifetime
Application number
JP63055181A
Other languages
Japanese (ja)
Other versions
JPH01229322A (en
Inventor
博 水口
宰司 國平
豊 太田
俊彦 堺
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 JP63055181A priority Critical patent/JP2706459B2/en
Publication of JPH01229322A publication Critical patent/JPH01229322A/en
Application granted granted Critical
Publication of JP2706459B2 publication Critical patent/JP2706459B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Microcomputers (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

産業上の利用分野 本発明は、機器を制御するに好適な小数乗算器を有す
るマイクロプロセッサに関するものである。 従来の技術 最近のマイクロプロセッサには、乗算命令を備えたも
のが多く見受けられ、汎用のマイクロプロセッサには整
数乗算器が搭載され、信号処理や機器の制御に用いられ
るシグナルプロセッサには浮動小数点乗算器が搭載され
ている。 いま、第3図に示すようなモータの回転速度制御装置
の主要部をマイクロプロセッサで実現する場合について
考えてみると、速度誤差検出部1からは整数の誤差デー
タが出力され、デジタルフィルタ2によって周波数領域
での補償を行ったうえでD−Aコンバータ3によって直
流電圧に変換される。ところで、よく知られているよう
に、一般にこの種のディジタルフィルタでは乗数として
小数を扱う。これに対してディジタルフィルタ2に入力
されるのは整数の誤差検出データである。このような乗
算器としては整数のみを扱う乗算器か、あるいは規模の
大きな浮動小数点乗算器が使用されている。 発明が解決しようとする課題 しかしながら、上記のような従来のマイクロプロセッ
サの乗算器では、整数の被乗数と小数の乗数との乗算を
直接行うことができないという問題点があった。したが
って整数のみを扱う乗算器では実行を早めるためには乗
算器を多く必要とし、ICの面積が大きくなり、またコス
ト高の要因にもなっていた。 課題を解決するための手段 前記した課題を解決するために本発明の小数乗算器を
有するマイクロプロセッサでは、整数の被乗数データと
1以下の小数の乗数データとを乗算する小数乗算器を有
するマイクロプロセッサであって、データバスを介して
供給されるNビット(Nは整数)の第1および第2のデ
ータの算術論理演算を行なうALUと、データバスから供
給されるNビットの被乗数データを格納する被覆数レジ
スタと、データバスから供給されるM(MはN以下の整
数)ビットの乗数データを格納する乗数レジスタと、AL
UにM回の加算実行指令信号を送出する乗算制御回路
と、加算実行指令信号が送出されるごとに判別ビット位
置を下位ビットから上位ビットに1ビット移動させて、
乗数データの判別ビット位置での値を出力するビット判
別手段と、ビット判別手段の出力に応じて被覆数データ
もしくは0値をALUに第1データとして供給するスイッ
チ手段と、ALUの出力を右シフトしてALUに第2データと
して供給するNビットの右シフタと、ALUにおいてM回
の加算が実行された後のALUのNビットの出力データを
乗算結果として右シフタを介さずにデータバスに送出す
る出力手段とを備える。 作用 本発明では前記した構成によって、整数の被乗数デー
タと小数の乗数データの乗算が直接実行できる乗算器を
有するマイクロプロセッサが得られる。 実 施 例 以下、本発明の実施例について図面を参照しながら説
明する。 第1図は本発明の一実施例におけるマイクロプロセッ
サの小数乗算器の部分のブロックダイアグラムを示した
ものである。16ビットのデータバス10から被乗数レジス
タ11に供給される被乗数データの、ALU(算術論理演算
ユニット)20への転送路には、ビット論理積回路31の出
力によって開閉する16ビットのスイッチ群32が設けられ
ており、ALU20の出力データは出力レジスタ21、16ビッ
トの帰還バス22と右シフタ33を介してALU20の入力側に
戻される。 また、ビット論理積回路31の一方の入力側にはデータ
バス10から乗算レジスタ12を介して乗数データが供給さ
れ、他方の入力側にはデコーダ34を介して乗算制御回路
35からのビット位置選択信号が供給され、ALU20には乗
算制御回路35からの加算指令信号ADDが供給されてい
る。なお、乗算制御回路35からデコーダ34にはビット位
置選択信号が0から15までの数値データとして供給さ
れ、デコーダ34はこの数値データに対応するビット位置
がセットされた16ビットのデータをビット論理積回路31
に送出する。ビット論理積回路31は乗数データとデコー
ダ34からのデータとの論理積演算を行い、その結果を1
ビット化してスイッチ群32に送出する。スイッチ群32は
ビット論理積回路31の出力が“1"であれば閉状態どな
り、反対に“0"であれば開状態となる。なお、スイッチ
群32が開状態となったときには、ALU20の被乗数側には
零が供給される。 右シフタ33は、入力データをその値の減少方向にシフ
トしてALU20の入力側に供給するが、入力データとして
はALU20の加算結果が供給される。 いま、被乗数データが16進数で〔4E20〕、すなわち、
10進数で20000であり、乗数データが16進数で〔8000〕
の固定小数点のデータで、10進数で1.0であるとする
と、乗算制御回路35から、ビット論理積回路31とデコー
ダ34によって構成されたビット判別部40に対して0から
15までの数値データが供給され、同時にALU20に対して1
6回にわたる断続的な加算実行指令信号が供給されたと
き、テコーダ34の出力のデータRn,ビット判別部40の出
力Cn,出力レジスタ21の出力データDn,右シフタ33の出力
データSnは以下のように遷移する。なお、ここで出力レ
ジスタ21は加算動作が完了するまでその出力データとし
て前回の値を保持するものとする。 n Rn Cn Dn Sn (1) 〔0001〕
TECHNICAL FIELD The present invention relates to a microprocessor having a decimal multiplier suitable for controlling a device. 2. Description of the Related Art Recently, many microprocessors have a multiplication instruction, a general-purpose microprocessor has an integer multiplier, and a signal processor used for signal processing and device control has a floating-point multiplication. Vessel is mounted. Now, let us consider a case where a main part of the motor rotation speed control device as shown in FIG. 3 is realized by a microprocessor. When the speed error detection unit 1 outputs integer error data, the digital filter 2 After compensation in the frequency domain, the signal is converted into a DC voltage by the DA converter 3. By the way, as is well known, this kind of digital filter generally treats a decimal as a multiplier. On the other hand, what is input to the digital filter 2 is integer error detection data. As such a multiplier, a multiplier that handles only integers or a large-scale floating-point multiplier is used. Problems to be Solved by the Invention However, the conventional microprocessor multiplier described above has a problem that the multiplication of the integer multiplicand and the decimal multiplier cannot be directly performed. Therefore, a multiplier that handles only integers requires a large number of multipliers to speed up the execution, which increases the area of the IC and increases the cost. Means for Solving the Problems In order to solve the above-mentioned problems, a microprocessor having a decimal multiplier according to the present invention has a microprocessor having a decimal multiplier for multiplying integer multiplicand data and decimal multiplier data of 1 or less. ALU for performing arithmetic and logic operations on N-bit (N is an integer) first and second data supplied via a data bus, and N-bit multiplicand data supplied from the data bus. A covering number register, a multiplier register for storing M (M is an integer equal to or less than N) bits of multiplier data supplied from the data bus,
A multiplication control circuit that sends M addition execution instruction signals to U, and each time an addition execution instruction signal is sent, the discrimination bit position is shifted by one bit from a lower bit to an upper bit,
Bit discriminating means for outputting a value at the discriminating bit position of the multiplier data, switch means for supplying the covering number data or 0 value to the ALU as first data according to the output of the bit discriminating means, and shifting the output of the ALU to the right And an N-bit right shifter to be supplied to the ALU as second data, and N-bit output data of the ALU after M times of addition performed by the ALU as a multiplication result and transmitted to the data bus without passing through the right shifter. Output means. According to the present invention, a microprocessor having a multiplier capable of directly executing multiplication of integer multiplicand data and decimal multiplier data by the above-described configuration is obtained. Embodiments Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a fractional multiplier of a microprocessor according to an embodiment of the present invention. On the transfer path of the multiplicand data supplied from the 16-bit data bus 10 to the multiplicand register 11 to the ALU (arithmetic logical operation unit) 20, a 16-bit switch group 32 opened and closed by the output of the bit AND circuit 31 is provided. The output data of the ALU 20 is returned to the input side of the ALU 20 via the output register 21, the 16-bit feedback bus 22, and the right shifter 33. Further, one input side of the bit AND circuit 31 is supplied with multiplier data from the data bus 10 via the multiplication register 12, and the other input side is provided with a multiplication control circuit via a decoder 34.
A bit position selection signal from the multiplication control circuit 35 is supplied to the ALU 20, and a bit position selection signal from the multiplication control circuit 35 is supplied to the ALU 20. The bit position selection signal is supplied from the multiplication control circuit 35 to the decoder 34 as numerical data from 0 to 15, and the decoder 34 performs a bit AND operation on the 16-bit data in which the bit position corresponding to the numerical data is set. Circuit 31
To send to. The bit AND circuit 31 performs an AND operation on the multiplier data and the data from the decoder 34, and outputs the result as 1
It is converted to bits and sent to the switch group 32. The switch group 32 is closed when the output of the bit AND circuit 31 is “1”, and is open when the output is “0”. When the switch group 32 is in the open state, zero is supplied to the multiplicand side of the ALU 20. The right shifter 33 shifts the input data in the decreasing direction of the value and supplies it to the input side of the ALU 20, and the input result is the addition result of the ALU 20. Now, the multiplicand data is hexadecimal [4E20], that is,
Decimal number is 20000, multiplier data is hexadecimal number [8000]
Assuming that the decimal point data is 1.0 in decimal, the multiplication control circuit 35 outputs a value from 0 to a bit discrimination unit 40 composed of a bit AND circuit 31 and a decoder 34.
Up to 15 numerical data are supplied and at the same time 1 for ALU20
When the intermittent addition execution command signal for six times is supplied, the data Rn of the output of the tecoder 34, the output Cn of the bit discriminator 40, the output data Dn of the output register 21, and the output data Sn of the right shifter 33 are as follows. Transition. Here, the output register 21 holds the previous value as its output data until the addition operation is completed. n Rn Cn Dn Sn (1) [0001]

〔0〕 〔0000〕 〔0000〕 (2) 〔0002〕[0] [0000] [0000] (2) [0002]

〔0〕 〔0000〕 〔0000〕 (3) 〔0004〕[0] [0000] [0000] (3) [0004]

〔0〕 〔0000〕 〔0000〕 (4) 〔0008〕[0] [0000] [0000] (4) [0008]

〔0〕 〔0000〕 〔0000〕 (5) 〔0010〕[0] [0000] [0000] (5) [0010]

〔0〕 〔0000〕 〔0000〕 (6) 〔0020〕[0] [0000] [0000] (6) [0020]

〔0〕 〔0000〕 〔0000〕 (7) 〔0040〕[0] [0000] [0000] (7) [0040]

〔0〕 〔0000〕 〔0000〕 (8) 〔0080〕[0] [0000] [0000] (8) [0080]

〔0〕 〔0000〕 〔0000〕 (9) 〔0100〕[0] [0000] [0000] (9) [0100]

〔0〕 〔0000〕 〔0000〕 (10) 〔0200〕[0] [0000] [0000] (10) [0200]

〔0〕 〔0000〕 〔0000〕 (11) 〔0400〕[0] [0000] [0000] (11) [0400]

〔0〕 〔0000〕 〔0000〕 (12) 〔0800〕[0] [0000] [0000] (12) [0800]

〔0〕 〔0000〕 〔0000〕 (13) 〔1000〕[0] [0000] [0000] (13) [1000]

〔0〕 〔0000〕 〔0000〕 (14) 〔2000〕[0] [0000] [0000] (14) [2000]

〔0〕 〔0000〕 〔0000〕 (15) 〔4000〕[0] [0000] [0000] (15) [4000]

〔0〕 〔0000〕 〔0000〕 (16) 〔8000〕 〔1〕 〔4E20〕 〔0000〕 乗算結果は被乗数の〔4E20〕に小数の1.0を乗じたも
のに等しくなる。 同様にして、被乗数データが16進数で〔4E20〕であ
り、乗数データが16進数で〔5555〕の固定小数点データ
で、10進数で0.6666564であるとすると、乗算制御回路3
5ビット判別部40に対して0から15までの数値データが
供給され、同時にALU20にて対して16サイクルのパルス
信号が供給されたとき、デコーダ34の出力のデータRn,
ビット判別部40の出力Cn,ALU20の出力データDn,右シフ
タ33の出力データSnは以下のように遷移する。 n Rn Cn Dn Sn (1) 〔0001〕 〔1〕 〔4E20〕 〔0000〕 (2) 〔0002〕
[0] [0000] [0000] (16) [8000] [1] [4E20] [0000] The multiplication result is equal to the multiplicand [4E20] multiplied by the decimal number 1.0. Similarly, if the multiplicand data is hexadecimal [4E20] and the multiplier data is hexadecimal [5555] fixed-point data and decimal is 0.6666564, the multiplication control circuit 3
When numerical data from 0 to 15 is supplied to the 5-bit discriminating unit 40, and at the same time a pulse signal of 16 cycles is supplied to the ALU 20, the data Rn,
The output Cn of the bit determination unit 40, the output data Dn of the ALU 20, and the output data Sn of the right shifter 33 transition as follows. n Rn Cn Dn Sn (1) [0001] [1] [4E20] [0000] (2) [0002]

〔0〕 〔2710〕 〔2710〕 (3) 〔0004〕 〔1〕 〔61A8〕 〔1388〕 (4) 〔0008〕[0] [2710] [2710] (3) [0004] [1] [61A8] [1388] (4) [0008]

〔0〕 〔30D4〕 〔30D4〕 (5) 〔0010〕 〔1〕 〔668A〕 〔186A〕 (6) 〔0020〕[0] [30D4] [30D4] (5) [0010] [1] [668A] [186A] (6) [0020]

〔0〕 〔3345〕 〔3345〕 (7) 〔0040〕 〔1〕 〔67C2〕 〔19A2〕 (8) 〔0080〕[0] [3345] [3345] (7) [0040] [1] [67C2] [19A2] (8) [0080]

〔0〕 〔33E1〕 〔33E1〕 (9) 〔0100〕 〔1〕 〔6810〕 〔19F0〕 (10) 〔0200〕[0] [33E1] [33E1] (9) [0100] [1] [6810] [19F0] (10) [0200]

〔0〕 〔3408〕 〔3408〕 (11) 〔0400〕 〔1〕 〔6824〕 〔1A04〕 (12) 〔0800〕[0] [3408] [3408] (11) [0400] [1] [6824] [1A04] (12) [0800]

〔0〕 〔3412〕 〔3412〕 (13) 〔1000〕 〔1〕 〔6829〕 〔1A09〕 (14) 〔2000〕[0] [3412] [3412] (13) [1000] [1] [6829] [1A09] (14) [2000]

〔0〕 〔3414〕 〔3414〕 (15) 〔4000〕 〔1〕 〔682A〕 〔1A0A〕 (16) 〔8000〕[0] [3414] [3414] (15) [4000] [1] [682A] [1A0A] (16) [8000]

〔0〕 〔3415〕 〔3415〕 この場合乗算結果は〔3415〕で10進数で13333とな
り、被多数の〔4E20〕に小数の0.6666564を乗じたもの
に等しくなる。 結局、第1図に示した小数乗算器では、被乗数データ
の値D,乗数データの値Mから乗算結果Aは次のようにし
て算出される。 D=d15・215+d14・214+… +d2・22+d1・21+d0・20 ……(1) M=m15・20+m14・2-1+… +m2・2-13+m1・2-14+m0・2-15 ……(2) ここで、d15,m15はそれぞれ被乗数データD,乗数デー
タMの最上位ビットの値で、d0,m0はそれぞれ被乗数デ
ータD,乗数データMの最下位ビットの値である。最初の
加算動作が完了した時点の、加算結果a0は、 a0=m0・D ……(3) 2回目の加算動作が完了した時点の、加算結果a1は、 a1=m1・D+a0/2 =m1・D+m0・D/2 ……(4) 3回目の加算動作が完了した時点の、加算結果a2は、 a2=m2・D+a1/2 =m2・D+m1・D/2+m0・D/4 ……(5) したがって、 A=m15・D+m14・D/21+…+m0・D/215 ……(6) A=D・M このようにして、第1図の小数乗算器では、整数の被
乗数データと小数の乗数データとの乗算を簡単に行うこ
とができる。また、従来の整数乗算では、16ビットのデ
ータの乗算を実行するとその結果を格納するために32ビ
ットのレジスタあるいはメモリ領域を必要としたが、第
1図の小数乗算器では乗算データの値が1を越えないか
ぎり桁あふれは発生しないので、乗算結果を格納するた
めに必要となるビット数も少なくてすむ。 さて、第2図は本発明の別の実施例を示したもので、
第2図の小数乗算器では、乗数データの最下位ビットか
ら順にビット単位の値の判別を行うビット判別手段とし
てシフトレジスタ36が用いられ、乗算制御回路35からシ
フトレジスタ36にはALU20に供給される加算指令信号ADD
と同じ16サイクルのパルス列からなる右シフト指令信号
が供給され、シフトレジスタ36からのシフトキャリーに
よってスイッチ群32が開閉される。 なお、本実施例では被乗数データ、乗数データともに
16ビットの場合について説明したが、両者が必ずしも同
じビット数である必要はない。例えば、第1図において
乗数データが8ビットであれば乗算制御回路35から8サ
イクルのパルスを発生させればよく、その場合にはより
速く乗算が完了する。さらに、説明の便宜上から被乗数
データと乗数データを区別したが、これらを入れ替えて
も何等差しつかえないことは(1)〜(6)式からも明
らかである。 ところで、第1図および第2図のALU20は、もともと
マイクロプロセッサが備えているものを利用することが
でき、出力レジスタ21,被乗数レジスタ11,乗数レジスタ
12についても同様である。したがって、第1図の実施例
についていえば、ビット論理積回路31,スイッチ群32,右
シフタ33,デコーダ34,乗算制御回路35によって構成され
る乗算制御ブロック30をマイクロプロセッサのコア部に
付加するだけでよい。また、第2図の実施例では、スイ
ッチ群32,右シフタ33,乗算制御回路35,シフトレジスタ3
6によって第1図ど同様の乗算制御ブロック30が構成さ
れる。 発明の効果 以上の説明から明らかなように、本発明の小数乗算器
を有するマイクロプロセッサは、データバスを介して供
給されるNビットのデータの加減算を行なうALUと、デ
ータバスから供給されるNビットで整数の被乗数データ
を格納する被乗数レジスタと、データバスから供給され
るMビットで1以下の小数の乗数データを格納する乗数
レジスタと、ALUにM回の加算実行指令信号を送出する
乗算制御回路と、加算実行指令信号が送出されるごとに
乗数データの判別ビット位置での値を判別するビット判
別手段と、ビット判別手段の出力に応じて被乗数データ
もしくは0値をALUに第1データとして供給するスイッ
チ手段と、ALUの出力を右シフトしてALUに第2データと
して供給する右シフタと、ALUにおいてM回の加算が実
行された後のALUのNビットの出力データを乗算結果と
して右シフタを介さずにデータバスに送出する出力手段
とを備えているので、きわめて簡単な構成からなる回路
を付加するだけで、Nビットの整数データとN以下のM
ビットの小数データの乗算が実行可能なマイクロプロセ
ッサを実現することができる。
[0] [3415] [3415] In this case, the multiplication result is [3415], which is 13333 in decimal, which is equal to a large number of [4E20] multiplied by the decimal number 0.6666564. After all, in the decimal multiplier shown in FIG. 1, the multiplication result A is calculated from the value D of the multiplicand data and the value M of the multiplier data as follows. D = d15 · 2 15 + d14 · 2 14 + ... + d2 · 2 2 + d1 · 2 1 + d0 · 2 0 ...... (1) M = m15 · 2 0 + m14 · 2 -1 + ... + m2 · 2 -13 + m1 · 2 -14 + m0 · 2 -15 (2) where d15 and m15 are the values of the most significant bits of the multiplicand data D and the multiplier data M, respectively, and d0 and m0 are the least significant bits of the multiplicand data D and the multiplier data M, respectively. The value of a bit. The addition result a0 at the time when the first addition operation is completed is a0 = m0 · D (3) The addition result a1 at the time when the second addition operation is completed is a1 = m1 · D + a0 / 2 = m1 D + m0D / 2 (4) When the third addition operation is completed, the addition result a2 is as follows: a2 = m2D + a1 / 2 = m2D + m1D / 2 + m0D / 4 (5) ) Therefore, a = m15 · D + m14 · D / 2 1 + ... + m0 · D / 2 15 ...... (6) a = D · M in this way, the fractional multiplier of FIG. 1, and integer multiplicand data Multiplication with decimal multiplier data can be easily performed. Also, in the conventional integer multiplication, when a 16-bit data multiplication is executed, a 32-bit register or a memory area is required to store the result, but in the decimal multiplier of FIG. As long as the number does not exceed 1, no overflow occurs, so that the number of bits required to store the multiplication result is small. FIG. 2 shows another embodiment of the present invention.
In the decimal multiplier shown in FIG. 2, a shift register 36 is used as a bit discriminating means for discriminating a bit-by-bit value in order from the least significant bit of the multiplier data, and the shift register 36 is supplied from the multiplication control circuit 35 to the ALU 20. Addition command signal ADD
The right shift command signal composed of the same 16-cycle pulse train is supplied, and the switch group 32 is opened and closed by the shift carry from the shift register 36. In this embodiment, both the multiplicand data and the multiplier data are used.
Although the case of 16 bits has been described, both need not necessarily have the same number of bits. For example, if the multiplier data is 8 bits in FIG. 1, the multiplication control circuit 35 may generate an 8-cycle pulse, in which case the multiplication is completed more quickly. Further, for convenience of explanation, the multiplicand data and the multiplier data are distinguished from each other, but it is apparent from the equations (1) to (6) that there is no problem even if these data are exchanged. By the way, the ALU 20 of FIGS. 1 and 2 can use the one originally provided in the microprocessor, and includes the output register 21, the multiplicand register 11, and the multiplier register.
The same applies to 12. Therefore, referring to the embodiment of FIG. 1, a multiplication control block 30 composed of a bit AND circuit 31, a switch group 32, a right shifter 33, a decoder 34, and a multiplication control circuit 35 is added to the core of the microprocessor. Just need. 2, the switch group 32, the right shifter 33, the multiplication control circuit 35, the shift register 3
6 constitutes a multiplication control block 30 similar to that shown in FIG. As is apparent from the above description, the microprocessor having the decimal multiplier according to the present invention includes an ALU for performing addition and subtraction of N-bit data supplied through the data bus, and an NLU supplied from the data bus. A multiplicand register that stores integer multiplicand data in bits, a multiplier register that stores M-bit fractional multiplier data of 1 or less supplied from the data bus, and multiplication control that sends an MLU addition execution command signal to the ALU A circuit, bit discriminating means for discriminating a value at a discriminating bit position of multiplier data every time an addition execution command signal is sent out, and multiplicand data or a zero value as ALU first data according to an output of the bit discriminating means. Switch means for supplying, a right shifter for shifting the output of the ALU to the right and supplying it to the ALU as the second data, and N of the ALU after M additions have been performed in the ALU. Since output means for transmitting bit output data to the data bus as a result of multiplication without passing through the right shifter is provided, N-bit integer data and N or less can be obtained simply by adding a circuit having a very simple configuration. M
A microprocessor capable of executing multiplication of decimal data of bits can be realized.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の一実施例を示す小数乗算器のブロック
図、第2図は本発明の他の実施例を示す小数乗算器のブ
ロック図、第3図は小数乗算器を必要とする制御装置の
ブロック図である。 10……データバス、20……ALU、22……帰還バス、30…
…乗算制御ブロック、32……スイッチ群、33……右シフ
タ、35……乗算制御回路、36……シフトレジスタ、40…
…ビット判別部。
FIG. 1 is a block diagram of a decimal multiplier showing one embodiment of the present invention, FIG. 2 is a block diagram of a decimal multiplier showing another embodiment of the present invention, and FIG. 3 requires a decimal multiplier. It is a block diagram of a control device. 10 Data bus, 20 ALU, 22 Return bus, 30
... Multiplication control block, 32 ... Switch group, 33 ... Right shifter, 35 ... Multiplication control circuit, 36 ... Shift register, 40 ...
... Bit discrimination unit.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 太田 豊 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 堺 俊彦 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 昭59−172040(JP,A) 特開 昭59−229644(JP,A) 特開 昭61−163393(JP,A) 実開 昭54−159833(JP,U) 垂井忠明・田丸啓吉著「電子回路講座 10 デジタル計算回路」5版昭50−3− 30 朝倉書店、P.158〜P.161 Kai Hwang著,堀越彌監訳 [コンピュータの高速演算方式」、第2 刷、昭57−8−1、近代科学社p.130 〜p.135 社団法人情報処理学会著「新版情報処 理ハンドブック」第1版第3刷、昭和57 年7月20日オーム社、p.802−p.805 萩原宏著「電子計算機通論2」第11 刷、昭和53年3月10日、朝倉書店、p. 32−p.35 ──────────────────────────────────────────────────の Continuing on the front page (72) Inventor Yutaka Ota 1006 Kadoma Kadoma, Osaka Prefecture Inside Matsushita Electric Industrial Co., Ltd. (56) References JP-A-59-172040 (JP, A) JP-A-59-229644 (JP, A) JP-A-61-163393 (JP, A) Jpn. Tadaaki Tarui and Keikichi Tamaru, "Electronic Circuit Course 10 Digital Computing Circuit", 5th Edition, 50-3-30 Asakura Shoten, P.S. 158-P. 161 Kai Hwang, translated by Yasushi Horikoshi [High-speed computing method of computer], 2nd printing, 57-8-1, Shogaku Kagakusha p. 130 to p. 135 Information Processing Society of Japan, "New Edition Information Processing Handbook", 1st edition, 3rd printing, Ohmsha, July 20, 1982, p. 802-p. 805 Hiroshi Hagiwara, "Introduction to Computers 2", 11th edition, March 10, 1978, Asakura Shoten, pp. 32-p. 35

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】整数の被乗数データと1以下の小数の乗数
データとを乗算する小数乗算器を有するマイクロプロセ
ッサであって、データバスを介して供給されるNビット
(Nは整数)の第1および第2のデータの算術論理演算
を行なうALUと、前記データバスから供給されるNビッ
トの被乗数データを格納する被乗数レジスタと、前記デ
ータバスから供給されるM(MはN以下の整数)ビット
の乗数データを格納する乗数レジスタと、前記ALUにM
回の加算実行指令信号を送出する乗算制御回路と、前記
加算実行指令信号が送出されるごとに判別ビット位置を
下位ビットから上位ビットに1ビット移動させて、前記
乗数データの判別ビット位置での値を出力するビット判
別手段と、前記ビット判別手段の出力に応じて前記被乗
数データもしくは0値を前記ALUに第1データとして供
給するスイッチ手段と、前記ALUの出力を右シフトして
前記ALUに第2データとして供給するNビットの右シフ
タと、前記ALUにおいてM回の加算が実行された後の前
記ALUのNビットの出力データを乗算結果として前記右
シフタを介さずに前記データバスに送出する出力手段を
具備してなる小数乗算器を有するマイクロプロセッサ。
1. A microprocessor having a decimal multiplier for multiplying an integer multiplicand data and a decimal multiplier data of 1 or less, comprising: a first N-bit (N is an integer) first signal supplied via a data bus; ALU for performing an arithmetic and logic operation on second data, a multiplicand register for storing N-bit multiplicand data supplied from the data bus, and M (M is an integer equal to or less than N) bits supplied from the data bus A multiplier register for storing multiplier data of
A multiplication control circuit for transmitting the addition execution command signal twice, and each time the addition execution command signal is transmitted, the discrimination bit position is shifted by one bit from the lower bit to the upper bit to thereby determine the multiplication data at the discrimination bit position. Bit discriminating means for outputting a value, switch means for supplying the multiplicand data or zero value as first data to the ALU according to the output of the bit discriminating means, and shifting the output of the ALU to the right to the ALU. An N-bit right shifter to be supplied as the second data and N-bit output data of the ALU after the M times of addition performed by the ALU are sent to the data bus as a multiplication result without passing through the right shifter. A microprocessor having a decimal multiplier comprising output means for performing the following.
JP63055181A 1988-03-09 1988-03-09 Microprocessor with decimal multiplier Expired - Lifetime JP2706459B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63055181A JP2706459B2 (en) 1988-03-09 1988-03-09 Microprocessor with decimal multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63055181A JP2706459B2 (en) 1988-03-09 1988-03-09 Microprocessor with decimal multiplier

Publications (2)

Publication Number Publication Date
JPH01229322A JPH01229322A (en) 1989-09-13
JP2706459B2 true JP2706459B2 (en) 1998-01-28

Family

ID=12991548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63055181A Expired - Lifetime JP2706459B2 (en) 1988-03-09 1988-03-09 Microprocessor with decimal multiplier

Country Status (1)

Country Link
JP (1) JP2706459B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6059572B2 (en) * 2013-03-22 2017-01-11 株式会社メガチップス Image processing device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59172040A (en) * 1983-03-22 1984-09-28 Toshiba Corp Multiplying circuit

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Kai Hwang著,堀越彌監訳[コンピュータの高速演算方式」、第2刷、昭57−8−1、近代科学社p.130〜p.135
垂井忠明・田丸啓吉著「電子回路講座10 デジタル計算回路」5版昭50−3−30 朝倉書店、P.158〜P.161
社団法人情報処理学会著「新版情報処理ハンドブック」第1版第3刷、昭和57年7月20日オーム社、p.802−p.805
萩原宏著「電子計算機通論2」第11刷、昭和53年3月10日、朝倉書店、p.32−p.35

Also Published As

Publication number Publication date
JPH01229322A (en) 1989-09-13

Similar Documents

Publication Publication Date Title
EP0136834A2 (en) A digital circuit performing an arithmetic operation with an overflow
JPS6132437Y2 (en)
JPH0470662B2 (en)
US5957996A (en) Digital data comparator and microprocessor
JPS6227412B2 (en)
JP2706459B2 (en) Microprocessor with decimal multiplier
JPH0690668B2 (en) Fuzzy computing device
JPH0479015B2 (en)
JP2511527B2 (en) Floating point arithmetic unit
JPH07107664B2 (en) Multiplication circuit
JPS608933A (en) Arithmetic processing unit
US6151616A (en) Method and circuit for detecting overflow in operand multiplication
JP2706455B2 (en) Decimal multiplier
EP0265948B1 (en) Data processor capable of immediately calculating branch address in relative address branch
US6035310A (en) Method and circuit for performing a shift arithmetic right operation
JP2675087B2 (en) Microcomputer
JP3110072B2 (en) Pre-normalization circuit
US5018092A (en) Stack-type arithmetic circuit
JP3638218B2 (en) Microprocessor with ALU instruction with shift function
JP2520484B2 (en) Division circuit
JPH026089B2 (en)
JPH04195629A (en) Arithmetic flag generation device
JPH0418344B2 (en)
JPH01266668A (en) Information processor
JPH01103738A (en) Decimal multiplier

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081009

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081009

Year of fee payment: 11