JPS61289425A - Multiplying circuit - Google Patents
Multiplying circuitInfo
- Publication number
- JPS61289425A JPS61289425A JP60132710A JP13271085A JPS61289425A JP S61289425 A JPS61289425 A JP S61289425A JP 60132710 A JP60132710 A JP 60132710A JP 13271085 A JP13271085 A JP 13271085A JP S61289425 A JPS61289425 A JP S61289425A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- canonical
- value
- bits
- selector circuit
- 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
Links
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、乗算回路に関し、例えば計算機の演算装置
部において乗算の高速化を図ることのできる乗算回路に
関するものである。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a multiplication circuit, and more particularly, to a multiplication circuit that can speed up multiplication in, for example, an arithmetic unit section of a computer.
第4図は従来の1ビットシフト方式による乗算回路を示
す図である。図において、lは計算結果を入れるレジス
タ(アキュムレータ)、2は乗数を入れる乗数レジスタ
、3は被乗数を入れる被乗数レジスタ、4は算術論理演
算ユニット(ArithmeticLogic Uni
t ?以下ALUと記す)である。FIG. 4 is a diagram showing a multiplication circuit using a conventional 1-bit shift method. In the figure, l is a register (accumulator) that stores calculation results, 2 is a multiplier register that stores a multiplier, 3 is a multiplicand register that stores a multiplicand, and 4 is an arithmetic logic unit (Arithmetic Logic Unit).
T? (hereinafter referred to as ALU).
次に動作について説明する。Next, the operation will be explained.
計算前にはアキュムレータ1はクリアされている。まず
、乗数レジスタ2の最下位ビットを調べ、1ならばアキ
ュムレータ1の値と被乗数レジスタ3の値とをALU4
で加算し、その結果を右に1ビツトシフトしてアキュム
レータ1に入れる0乗数レジスタ2の最下位ビットがO
の場合は加算を行なわない。次に、乗数レジスタ2を右
に1ビツトシフトする。以上の操作を乗数のビット数だ
け繰り返す。乗算結果は、アキュムレータ1に求まる。Accumulator 1 is cleared before calculation. First, the least significant bit of multiplier register 2 is checked, and if it is 1, the value of accumulator 1 and the value of multiplicand register 3 are
The least significant bit of 0 multiplier register 2 is shifted to the right by 1 bit and put into accumulator 1.
In this case, no addition is performed. Next, multiplier register 2 is shifted to the right by 1 bit. Repeat the above operation for the number of bits of the multiplier. The multiplication result is found in accumulator 1.
従来の乗算回路は以上のように構成されているので、乗
算結果を得るのに乗数のビット数だけ加が複雑になると
いう問題があった。Since the conventional multiplication circuit is configured as described above, there is a problem in that addition is complicated by the number of bits of the multiplier in order to obtain a multiplication result.
この発明は上記のような問題点を解消するためになされ
たもので、少ない加算回数で乗算が行なえる高速の乗算
回路を提供することを目的とする。The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to provide a high-speed multiplication circuit that can perform multiplication with a small number of additions.
この発明に係る乗算回路は、乗数を所定ビットずつ正準
2進数に変換する正準リコード回路と、該正準リコード
回路からの入力データに応じて被乗数を±n倍(nはO
または自然数)にして出力するセレクタ回路とを設けた
ものである。The multiplication circuit according to the present invention includes a canonical recoding circuit that converts a multiplier into a canonical binary number by predetermined bits, and a multiplicand multiplied by ±n (where n is O) according to input data from the canonical recoding circuit.
or a natural number) and a selector circuit for outputting the output.
この発明においては、正準リコード回路が乗数を所定ビ
ットずつ正準2進数に変換して各正準2進数に応じた制
御信号をALU及びセレクタ回路に入力し、セレクタ回
路は被乗数を制御信号に応じた数で倍数し、ALUはア
キュムレータの値とセレクタ回路の出力値を加算しこれ
を制御信号に応じた所定ビット数だけシフトしてアキュ
ムレータに格納し、このように乗数の複数ビットが一度
に調べられ、従来の乗算アルゴリズムより少ない加算回
数で乗算が行なわれる。In this invention, the canonical recode circuit converts the multiplier into a canonical binary number by predetermined bits and inputs a control signal corresponding to each canonical binary number to the ALU and the selector circuit, and the selector circuit converts the multiplicand into a control signal. The ALU adds the accumulator value and the output value of the selector circuit, shifts this by a predetermined number of bits according to the control signal, and stores it in the accumulator.In this way, multiple bits of the multiplier are multiplied at once. The multiplication is performed using fewer additions than traditional multiplication algorithms.
以下、この発明の一実施例を第1図の回路で説明する。 An embodiment of the present invention will be described below using the circuit shown in FIG.
第1図は本発明の一実施例による乗算回路を示し、図中
、第4図と同一符号は同一部分を示す。FIG. 1 shows a multiplication circuit according to an embodiment of the present invention, in which the same symbols as in FIG. 4 indicate the same parts.
図において、5は正準リコード回路、6はセレクタ回路
である0乗数レジスタ2はシフトレジスタで構成されて
いる。正準リコード回路5は、乗数レジスタ2の下位3
ビツトを解読し、セレクタ回路6及びALU4への制御
信号を作り出す、セレクタ回路6は、該制御信号に従っ
て被乗数レジスタ3の値をθ倍、±1倍、±2倍してA
LU4に送り出す。In the figure, 5 is a canonical recode circuit, 6 is a selector circuit, and 0 multiplier register 2 is composed of a shift register. The canonical recode circuit 5 includes the lower three of the multiplier register 2.
The selector circuit 6 decodes the bit and generates a control signal for the selector circuit 6 and ALU 4. According to the control signal, the selector circuit 6 multiplies the value of the multiplicand register 3 by θ, ±1, and ±2 to obtain A.
Send it to LU4.
第2図は、第1図における正準リコード回路5を示した
ものである。正準リコード回路5は、乗数レジスタ2の
下位ビットBIIO,BO9及び第1のラッチ11にあ
る前回の処理におけるキャリーとから、制御信号のもと
になる2ビツトの信号12.13を作る。この2ビット
信号12.13を第2のラッチ14に蓄えておき、乗数
レジスタ2を右に1ビツトシフトし、今と同様の処理を
行なって同様の信号を作る。これら計4ビットの信号を
組合せ、制御信号CNTl 15 、CNT216゜C
NT317 、CNT418を作る。CNTl 15は
補数をとる信号、CN7418は0倍する信号、CN7
418は1倍する信号、CN7418は2倍する信号で
ある。このように、2ビツト分の正準リコードは、1ビ
ツト分のリコード回路とラッチを用いた単純な回路で実
現できる。FIG. 2 shows the canonical recode circuit 5 in FIG. 1. The canonical recode circuit 5 generates a 2-bit signal 12.13, which is the basis of a control signal, from the lower bits BIIO, BO9 of the multiplier register 2 and the carry in the first latch 11 from the previous process. These 2-bit signals 12 and 13 are stored in the second latch 14, the multiplier register 2 is shifted to the right by 1 bit, and the same processing as now is performed to generate a similar signal. Combining these 4-bit signals, control signals CNTl 15 and CNT216°C
Make NT317 and CNT418. CNTl 15 is a signal that takes complement, CN7418 is a signal that multiplies by 0, CN7
418 is a signal to be multiplied by 1, and CN7418 is a signal to be multiplied by 2. In this way, canonical recoding for 2 bits can be realized with a simple circuit using a recoding circuit for 1 bit and a latch.
第3図は第1図におけるセレクタ回路6を示したもので
ある。セレクタ回路6は、被乗数レジスタ3の値を0倍
、±1倍、±2倍して出力する。FIG. 3 shows the selector circuit 6 in FIG. 1. The selector circuit 6 multiplies the value of the multiplicand register 3 by 0, ±1, or ±2 and outputs the result.
これらは、被乗数レジスタ3の値を左シフトすること及
び補数をとることで実現される。ただし、−1倍または
一2倍する場合、最下位ビット及びALUとに補正信号
を入れる。なお、第3図において、15はCNT1.1
6はCNT2.17はCNT3,1BはCNT4,19
は被乗数レジスタの第nビット、20はALU第fi+
lビットの入力、21はALU第nビットの入力、22
は被乗数レジスタの第0ビフト、23はALU第1ビッ
トの入力、24はALUi!Oビットの入力である。These are realized by left-shifting the value of the multiplicand register 3 and taking the complement. However, when multiplying by -1 or 12, a correction signal is input to the least significant bit and ALU. In addition, in Fig. 3, 15 is CNT1.1
6 is CNT2.17 is CNT3, 1B is CNT4,19
is the nth bit of the multiplicand register, 20 is the ALU fi+
l bit input, 21 is ALU nth bit input, 22
is the 0th bit of the multiplicand register, 23 is the input of the ALU 1st bit, and 24 is ALUi! This is an O-bit input.
正準符号付2進数は、(1,0,1)の3つのデジット
で表現され、被写デジットは零デジットにより分離され
るという特徴をもっている(ここで、1は−1を表わし
ている)。よって正準符号付数の連続する2つのデジッ
トの組合せは、(10,01,00,01,10)のみ
となる、これによって2進数を正準符号付2進数に変換
し2デジット単位で処理を行なうと、被乗数の0倍、±
1倍、±2倍を部分積に加える操作で乗算が行なえる。Canonical signed binary numbers are represented by three digits (1, 0, 1), and have the characteristic that the subject digits are separated by a zero digit (here, 1 represents -1). . Therefore, the only combination of two consecutive digits in a canonical signed number is (10, 01, 00, 01, 10). This converts the binary number to a canonical signed binary number and processes it in units of 2 digits. If you do, 0 times the multiplicand, ±
Multiplication can be performed by adding 1x and ±2x to the partial product.
ALU4は、2クロンク周期(IALUサイクル)で1
つの演算処理を完了する。一方、正準リコード回路5は
この2クロンク周期で次のALU制御に必要な信号を作
り出す、まず第1のクロック周期で乗数レジスタ2の下
位2ビツトと前回の処理で得られたキャリーとで制御信
号のもとになる信号を作る。これらは第2のラッチ14
に蓄えられる。また、第2クロフク周期の処理へのキャ
リーを第1のラッチ11に蓄える。さらに、乗数レジス
タ2を右へ1ビツトシフトする。第2クロック周期でも
第1クロンク周期と同様に制御信号のもとになる信号を
作り、さらに乗数レジスタ2を1ビツトシフトしておく
。ALU4 is 1 in 2 clock cycles (IALU cycle).
Complete one calculation process. On the other hand, the canonical recode circuit 5 generates the signals necessary for the next ALU control in these two clock cycles. First, in the first clock cycle, the canonical recode circuit 5 performs control using the lower two bits of the multiplier register 2 and the carry obtained in the previous process. Create the signal that is the source of the signal. These are the second latches 14
is stored in Also, a carry for processing in the second clock cycle is stored in the first latch 11. Furthermore, multiplier register 2 is shifted to the right by 1 bit. In the second clock cycle, a signal that becomes the basis of the control signal is generated in the same way as in the first clock cycle, and the multiplier register 2 is further shifted by 1 bit.
セレクタ回路6では、制御信号に従って被乗数レジスタ
3の値の補数をとることや1ビツト左シフトすることで
、被乗数の値の0倍、±1倍、±2倍を作り出す、正準
リコード回路5の出力のうちCNT314とCNT41
5とは同時に1H′にはならずALU4の入口で隣り合
うビットの値が衝突を起こすことはない。In the selector circuit 6, the canonical recode circuit 5 generates 0 times, ±1 times, and ±2 times the value of the multiplicand by taking the complement of the value of the multiplicand register 3 and shifting it to the left by 1 bit according to the control signal. Among the outputs, CNT314 and CNT41
5 and 1H' at the same time, and the values of adjacent bits at the entrance of the ALU 4 will not conflict.
、以上の操作が、IALUサイクルで行なわれる。, the above operations are performed in the IALU cycle.
ここで得られたセレクタ回路6の出力値とアキュムレー
タ1の値との加算がALU4で行なわれる間に、次の正
準リコードが行なれる。加算結果は2ビツト右ヘシフト
してアキュムレータに格納される。While the ALU 4 is adding the output value of the selector circuit 6 and the value of the accumulator 1 obtained here, the next canonical recode can be performed. The addition result is shifted to the right by 2 bits and stored in the accumulator.
乗算は乗数ビット数の1/2のALUサイクル数で完了
し、乗算結果は、アキュムレータ1に求まる。なお、計
算の最初にアキュムレータ1及び第1のラッチ11をク
リアしておく必要がある。The multiplication is completed in 1/2 the number of ALU cycles as the number of multiplier bits, and the multiplication result is stored in the accumulator 1. Note that it is necessary to clear the accumulator 1 and the first latch 11 at the beginning of the calculation.
このような本実施例回路においては、2ビツト分の正準
リコード回路が1ビツト分の正準リコード回路とラッチ
という簡単な構成で実現でき、またセレクタ回路はトラ
ンスミッションゲートとの簡単な組合せ回路で実現でき
る。従来の乗算回路にこの正準リコード回路とセレクタ
回路を付加することによって、乗数を正準リコード回路
で正準2進数に変換し、複数ビットを一度に調べること
が可能となり、少ない加算回数で乗算が行なえ、乗算が
高速化する。In the circuit of this embodiment, the canonical recode circuit for 2 bits can be realized with a simple configuration of a canonical recode circuit for 1 bit and a latch, and the selector circuit can be realized by a simple combination circuit with a transmission gate. realizable. By adding this canonical recode circuit and selector circuit to a conventional multiplication circuit, the multiplier is converted into a canonical binary number by the canonical recode circuit, making it possible to examine multiple bits at once, allowing multiplication with fewer additions. can be performed, speeding up multiplication.
なお、上記実施例では、正準リコード後の信号用ラッチ
を1つ設けることによってIALUサイクルに乗数レジ
スタの2ビツトをリコードする回路を示したが、ラッチ
をn−1個設けることによってI ALUサイクルに乗
数レジスタ(mビット)のnビットをリコードすること
により、((m/n)+1)回の加算回数で乗算が行な
える高速乗算回路に拡張できる。ただしくm/n)はm
/ nをこえない整数を示す、このnビット分の正準
リコードでは、ALUが1つの演算を行なう間に1ビツ
ト分の正準リコードをn回行ない、n−1回目までのリ
コード値を蓄えることによって次のALU演算のための
正準2進数が得られる。In the above embodiment, a circuit was shown in which 2 bits of the multiplier register are recoded in the IALU cycle by providing one latch for the signal after canonical recoding, but by providing n-1 latches, the IALU cycle By recoding the n bits of the multiplier register (m bits), it is possible to expand the circuit to a high-speed multiplication circuit that can perform multiplication with ((m/n)+1) additions. However, m/n) is m
/ In this canonical recode for n bits, which indicates an integer not exceeding n, the ALU performs canonical recode for 1 bit n times while performing one operation, and stores the recode value up to the (n-1)th recode. This provides a canonical binary number for the next ALU operation.
以上のように、この発明によれば、正準リコード回路と
セレクタ回路とを設け、正準2進数を用い乗数レジスタ
の値を一度に複数ビットリコードするようにしたので、
加算回数を従来に比して大幅に低減でき、高速乗算がで
きる効果がある。As described above, according to the present invention, the canonical recode circuit and the selector circuit are provided, and the value of the multiplier register is recoded in multiple bits at a time using canonical binary numbers.
The number of additions can be significantly reduced compared to the conventional method, and there is an effect that high-speed multiplication can be performed.
第1図はこの発明の一実施例による乗算回路を示す図、
第2図は本実施例回路の正準リコード回路を示す図、第
3図は同じくセレクタ回路を示す図、第4図は従来の乗
算回路を示す図である。
1・・・アキュムレータ、2・・・乗数レジスタ、3・
・・被乗数レジスタ、4・・・ALU、5・・・正準リ
コード回路、6・・・セレクタ回路、11・・・第1の
ラッチ、14・・・第2のラッチ。
なお図中同一符号は同−又は相当部分を示す。FIG. 1 is a diagram showing a multiplication circuit according to an embodiment of the present invention;
FIG. 2 is a diagram showing a canonical recode circuit of the circuit of this embodiment, FIG. 3 is a diagram similarly showing a selector circuit, and FIG. 4 is a diagram showing a conventional multiplication circuit. 1...Accumulator, 2...Multiplier register, 3...
... Multiplicand register, 4... ALU, 5... Canonical recode circuit, 6... Selector circuit, 11... First latch, 14... Second latch. Note that the same reference numerals in the figures indicate the same or equivalent parts.
Claims (2)
で倍数するセレクタ回路と、上記アキュムレータの値と
セレクタ回路の出力値とを加算しこの加算結果を上記制
御信号に応じた所定ビット数シフトして上記アキュムレ
ータに格納する算術論理演算ユニットと、乗数を所定ビ
ットずつ正準2進数に変換し各正準2進数に応じた制御
信号を上記セレクタ回路及び算出論理演算ユニットに与
える正準リコード回路とを備えたことを特徴とする乗算
回路。(1) An accumulator, a selector circuit that multiplies the multiplicand by a number according to the control signal, adds the value of the accumulator and the output value of the selector circuit, and shifts the addition result by a predetermined number of bits according to the control signal. an arithmetic and logic operation unit that stores the multiplier in the accumulator; and a canonical recode circuit that converts the multiplier into a canonical binary number in units of predetermined bits and provides a control signal corresponding to each canonical binary number to the selector circuit and the calculation logic unit. A multiplication circuit characterized by comprising:
ャリーを蓄えるラッチと、リコード結果を蓄えるラッチ
とからなることを特徴とする特許請求の範囲第1項記載
の乗算回路。(2) The multiplication circuit according to claim 1, wherein the canonical recode circuit comprises a latch that stores a carry generated during recoding and a latch that stores the recode result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60132710A JPS61289425A (en) | 1985-06-18 | 1985-06-18 | Multiplying circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60132710A JPS61289425A (en) | 1985-06-18 | 1985-06-18 | Multiplying circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61289425A true JPS61289425A (en) | 1986-12-19 |
Family
ID=15087755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60132710A Pending JPS61289425A (en) | 1985-06-18 | 1985-06-18 | Multiplying circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61289425A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63211024A (en) * | 1987-02-27 | 1988-09-01 | Hitachi Ltd | Data processor |
KR100308111B1 (en) * | 1993-03-20 | 2001-11-30 | 김영환 | Multiplier using ccd |
JP2010039516A (en) * | 2008-07-31 | 2010-02-18 | Kyocera Corp | Arithmetic unit, image display device, and arithmetic method |
-
1985
- 1985-06-18 JP JP60132710A patent/JPS61289425A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63211024A (en) * | 1987-02-27 | 1988-09-01 | Hitachi Ltd | Data processor |
KR100308111B1 (en) * | 1993-03-20 | 2001-11-30 | 김영환 | Multiplier using ccd |
JP2010039516A (en) * | 2008-07-31 | 2010-02-18 | Kyocera Corp | Arithmetic unit, image display device, and arithmetic method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3814924A (en) | Pipeline binary multiplier | |
US4745570A (en) | Binary multibit multiplier | |
GB2399909A (en) | Multiplication of selectively partitioned binary inputs using booth encoding | |
US4337519A (en) | Multiple/divide unit | |
JP3345894B2 (en) | Floating point multiplier | |
US3878985A (en) | Serial-parallel multiplier using booth{3 s algorithm with combined carry-borrow feature | |
US4853887A (en) | Binary adder having a fixed operand and parallel-serial binary multiplier incorporating such an adder | |
US5497343A (en) | Reducing the number of carry-look-ahead adder stages in high-speed arithmetic units, structure and method | |
US4677583A (en) | Apparatus for decimal multiplication | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
GB2262637A (en) | Padding scheme for optimized multiplication. | |
JPS61289425A (en) | Multiplying circuit | |
US3582634A (en) | Electrical circuit for multiplying serial binary numbers by a parallel number | |
US4866657A (en) | Adder circuitry utilizing redundant signed digit operands | |
US6167421A (en) | Methods and apparatus for performing fast multiplication operations in bit-serial processors | |
US5691930A (en) | Booth encoder in a binary multiplier | |
JPH08314697A (en) | Multiplier used for both number with sign and number withoutsign | |
JPH10111791A (en) | Division device | |
JP2682142B2 (en) | Multiplier | |
JPS5841532B2 (en) | Sekiwa Keisan Cairo | |
EP0129039B1 (en) | Improved multiplier architecture | |
JP2864597B2 (en) | Digital arithmetic circuit | |
JPS6259828B2 (en) | ||
SU748409A1 (en) | Device for multiplying binary-decimal numbers | |
JP3230349B2 (en) | Decimal multiplier |