Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0833815B2 - High digit multiplier - Google Patents
[go: Go Back, main page]

JPH0833815B2 - High digit multiplier - Google Patents

High digit multiplier

Info

Publication number
JPH0833815B2
JPH0833815B2 JP2121351A JP12135190A JPH0833815B2 JP H0833815 B2 JPH0833815 B2 JP H0833815B2 JP 2121351 A JP2121351 A JP 2121351A JP 12135190 A JP12135190 A JP 12135190A JP H0833815 B2 JPH0833815 B2 JP H0833815B2
Authority
JP
Japan
Prior art keywords
digit
register
multiplication
adder
bits
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
JP2121351A
Other languages
Japanese (ja)
Other versions
JPH0421026A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2121351A priority Critical patent/JPH0833815B2/en
Publication of JPH0421026A publication Critical patent/JPH0421026A/en
Publication of JPH0833815B2 publication Critical patent/JPH0833815B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、計算機を使った各種情報処理装置の中での
高桁の数値の掛け算を行う高速乗算装置に関する。
Description: TECHNICAL FIELD The present invention relates to a high-speed multiplication device that multiplies high-digit numerical values in various information processing devices using a computer.

〔従来の技術〕[Conventional technology]

高桁数値の乗算は、NP(ノンリニヤプログラミング)
問題を解く過程とか、階乗計算を含む科学計算の過程で
しばしば現れる。数値が20億桁以下であれば32ビット以
下の数値として、32ビットの乗算プロセッサなどによっ
て1クロックで計算される。それ以上の桁の数値の場合
には、浮動小数点演算を使うことが必要であった。微小
な誤差が許される場合には問題でないが、誤差の累積が
許されない場合もあって、浮動小数点演算では解決でき
ない問題もある。このように、科学技術の進歩した現在
では、ますます高桁の数値の高精度計算が要求されるよ
うになっている。
Multiplying high-digit numbers is NP (non-linear programming)
It often appears in the process of solving a problem or in the process of scientific calculation including factorial calculation. If the numerical value is 2 billion digits or less, it is calculated as 32 bits or less in one clock by a 32-bit multiplication processor or the like. For numbers with more digits, it was necessary to use floating point arithmetic. This is not a problem when a small error is allowed, but there is also a problem that accumulation of errors is not allowed and there is a problem that cannot be solved by floating-point arithmetic. As described above, with the advance of science and technology, highly accurate calculation of numerical values with higher digits is required.

乗算プロセッサを64ビット以上にすることを目指す方
法もあるが、常にそれ以上の高桁の演算に対する要求が
現れてくる。また、コンピュータ内でのメモリとプロセ
ッサ間のデータバス幅と端子数にも制限があって、むや
みにビット幅を増やせない。現在は高桁の浮動小数点演
算プロセッサの実現が盛んに求められるが、現在のLSI
技術を用いても、64ビット以上の乗算回路をLSIチップ
として実現することがかなり困難である。
There is also a way to aim for a multiplication processor of 64 bits or more, but there is always a demand for higher-digit arithmetic. In addition, since the data bus width between the memory and the processor in the computer and the number of terminals are limited, the bit width cannot be increased unnecessarily. Currently, the realization of high-digit floating-point arithmetic processors is actively demanded.
Even if the technology is used, it is quite difficult to realize a 64-bit or more multiplication circuit as an LSI chip.

浮動小数点演算でなく、正確に高桁数値の乗算結果を
求めるためにはソフトウェアの助けが必要であり、高桁
乗算処理を分解して部分積を順次に求め、部分的な計算
結果を総合して最終的な計算結果を求めるプログラムが
使われた。しかし、この場合には演算速度が遅くなる問
題がある。処理速度が桁数と共に、桁数の約2乗に比例
して増加するからである。
Software is needed to accurately calculate the multiplication result of high-order digits instead of floating-point arithmetic.The high-order multiplication process is decomposed, partial products are sequentially obtained, and partial calculation results are combined. A program for obtaining the final calculation result was used. However, in this case, there is a problem that the calculation speed becomes slow. This is because the processing speed increases with the number of digits in proportion to about the square of the number of digits.

〔発明が解決しようとする課題〕[Problems to be Solved by the Invention]

上述した従来の数値のハードウェアによる乗算処理は
1つのLSIチップでの高桁化が困難であり、浮動小数点
演算プロセッサによると切捨て誤差が避けられないの
で、高桁演算に必要な高精度を実現できない欠点があっ
た。一方、ソフトウェアによる乗算処理は逐次処理が含
まれるために、高速化を実現できない欠点があった。
It is difficult to increase the number of digits in the above-mentioned conventional hardware hardware multiplication with one LSI chip, and the floating-point arithmetic processor cannot avoid the truncation error, so the high precision required for high-digit arithmetic is realized. There was a flaw that I could not do. On the other hand, since the multiplication processing by software includes sequential processing, there is a drawback that speedup cannot be realized.

本発明の目的は、高桁数値の乗算に関するこれらの欠
点を解決することにある。
The object of the invention is to overcome these drawbacks associated with multiplication of high-order numbers.

本発明の他の目的は、入力端子数の制限やデータバス
幅の制限で桁数の制限された乗算回路を多数連結して幾
らでも高桁の乗算を実行できるようにする回路構成技術
を提供すると共に、指数変換方式の高桁乗算のアルゴリ
ズム及びそれを用いた小型で高速の高桁乗算回路の設計
技術を提供することにある。
Another object of the present invention is to provide a circuit configuration technology that allows a large number of multiplication circuits to be executed by connecting a large number of multiplication circuits having a limited number of digits due to the limitation of the number of input terminals and the data bus width. At the same time, it is an object of the present invention to provide an exponential conversion type high-digit multiplication algorithm and a design technology for a small-sized high-speed high-digit multiplication circuit using the same.

〔課題を解決するための手段〕[Means for solving the problem]

本発明は、複数個のm桁乗算ユニットからなる高桁乗
算装置であって、各m桁乗算ユニットが各桁nビットの
被乗数のm桁分のレジスタと、各桁nビットの乗数のク
ロック信号に同期した入力を行う入力バスと、各桁乗数
とレジスタに保持された各桁の被乗数との掛け算を行う
nビット乗算回路と、i番目(iはm以下の正整数)の
桁の乗算回路の出力に桁上げレジスタの内容を加える第
1の加算器と、第1の加算器の出力(2nビット)を上下
nビットずつ分けて記憶する部分積レジスタと、i番目
の部分積レジスタの上位nビットを(i+1)番目の桁
の部分積レジスタの下位nビットと加算する第2の加算
器と、第2の加算器の出力を一時記憶する桁上げレジス
タとからなり、乗算の各桁nビットコードの入力クロッ
ク周期内の前半で、全桁一斉に、第1の加算器の出力を
部分積レジスタへ設定する第1のクロック信号線と、後
半で、第2の加算器の出力を桁上げレジスタへ設定する
第2のクロック信号線とを設けたものである。
The present invention is a high-digit multiplication device comprising a plurality of m-digit multiplication units, wherein each m-digit multiplication unit has a register for m digits of a multiplicand of n bits for each digit and a clock signal for a multiplier of n bits for each digit. , An n-bit multiplication circuit for multiplying each digit multiplier by the multiplicand of each digit held in the register, and an i-th (i is a positive integer less than or equal to m) digit multiplier First adder for adding the contents of the carry register to the output of, the partial product register for storing the output (2n bits) of the first adder separately for upper and lower n bits, and the upper part of the i-th partial product register It is composed of a second adder for adding n bits to the lower n bits of the partial product register of the (i + 1) th digit and a carry register for temporarily storing the output of the second adder. In the first half of the input clock cycle of the bit code, A first clock signal line for setting the output of the first adder to the partial product register and a second clock signal line for setting the output of the second adder to the carry register in the latter half. Is provided.

また、本発明は、連結される複数個のm桁乗算ユニッ
トと、1個の指数変換回路とからなる高桁乗算装置であ
って、各m桁乗算ユニットが指数変換後の各桁nビット
の被乗数の指数コードを蓄えるm桁分のレジスタと、指
数変換後の各桁nビットの乗数の指数コードをクロック
信号に同期して与える入力バスと、各桁乗数の指数コー
ドとレジスタに保持された各桁の被乗数の指数コードと
の加算を行う加算回路と、加算回路に接続される逆指数
変換回路と、i番目(iはm以下の正整数)の桁の逆指
数変換回路の出力に桁上げレジスタの内容を加える第1
の加算器と、第1の加算器の出力(2nビット)を上下n
ビットずつに分けて記憶する部分積レジスタと、i番目
の部分積レジスタの上位nビットを(i+1)番目の桁
の部分積レジスタの下位nビットと加算する第2の加算
器と、第2の加算器の出力を一時記憶する桁上げレジス
タとを設けたものである。
Further, the present invention is a high-digit multiplication device comprising a plurality of m-digit multiplication units connected together and one exponential conversion circuit, wherein each m-digit multiplication unit has an n-bit digit after each exponent conversion. A register for m digits that stores the exponent code of the multiplicand, an input bus that gives the exponent code of the exponent-converted n-bit multiplier for each digit in synchronization with the clock signal, and an exponent code for each digit multiplier An adder circuit that performs addition with the exponent code of the multiplicand of each digit, an inverse exponent converter circuit connected to the adder circuit, and a digit at the output of the i-th (i is a positive integer less than or equal to m) digit First to add the contents of the raising register
N and the output of the first adder (2n bits)
A partial product register that stores the divided bit by bit, a second adder that adds the upper n bits of the i-th partial product register to the lower n bits of the partial product register of the (i + 1) th digit, A carry register for temporarily storing the output of the adder is provided.

〔実施例〕〔Example〕

第1図は本発明の高桁乗算装置の一実施例の基本回路
の構成図である。内容の詳細な説明に入る前に、第3図
を用いて高桁乗算の基本方式を説明しておく。第3図
(a)は高桁の乗算のプロセスの説明図であり、10進法
の掛け算を行うときと同じ手順で乗算を進める。第3図
(b)は本発明の高桁乗算装置での乗算処理の手順を示
している。
FIG. 1 is a configuration diagram of a basic circuit of an embodiment of a high digit multiplication apparatus of the present invention. Before entering a detailed description of the contents, the basic method of high-digit multiplication will be described with reference to FIG. FIG. 3 (a) is an explanatory diagram of a high-digit multiplication process, in which the multiplication is carried out in the same procedure as when performing decimal multiplication. FIG. 3 (b) shows the procedure of multiplication processing in the high-digit multiplication apparatus of the present invention.

いずれにおいても、乗算される高桁の被乗数310及び
乗数320を各桁nビット(nは2以上の正整数)単位の
コード列に変換する。そして、被乗数310のコード列を
先に下桁から順次にm桁乗算装置300(第1図の回路)
に入力して、その中のm(2以上の正整数)個のnビッ
トレジスタに1コードずつ保持する。次に、乗数320の
コード列を、このm桁乗算装置300へ順次入力する。
In either case, the high-order multiplicand 310 and the multiplier 320 to be multiplied are converted into a code string in units of n bits (n is a positive integer of 2 or more). Then, the code string of the multiplicand 310 is sequentially arranged from the lower digit to the m-digit multiplication device 300 (circuit of FIG. 1).
, And holds one code in each of m (positive integers of 2 or more) n-bit registers. Next, the code string of the multiplier 320 is sequentially input to the m-digit multiplication device 300.

乗数コードの入力の都度、乗算装置300において、乗
数コードがm個の被乗数コードと一斉に掛け算され、そ
の結果の部分積330がm桁分並列に出力される。それら
をその桁の出力コードと桁送りコードに分割し、次の乗
数コード入力時のm個の部分積に足し合わせる。つま
り、先に求まった桁送りコードを次の部分積の出力コー
ドに加算すると、下桁から部分積の出力コード340を順
次に取り出せる。この時に、乗数コード列(d桁とす
る)の入力の後、(m+1)個以上の0を順次に追加入
力し、計算結果の吐き出しを行う必要がある。結果とし
て、コード列340は(d+m+1)桁に及ぶ。
Each time the multiplier code is input, the multiplier device 300 simultaneously multiplies the multiplier code by the m multiplicand codes, and outputs the partial product 330 of the result in parallel for m digits. Divide them into the output code and shift code of that digit, and add them to the m partial products when the next multiplier code is input. That is, by adding the shift code obtained previously to the output code of the next partial product, the output code 340 of the partial product can be sequentially taken out from the lower digit. At this time, it is necessary to sequentially input (m + 1) or more zeros after the input of the multiplier code string (assuming d digits) to discharge the calculation result. As a result, the code string 340 covers (d + m + 1) digits.

各桁nビット単位のコード列に変換された被乗数が1
つのLSIチップに記憶できないほどに高桁である場合を
考えると、チップを連結して使えることが重要となる。
そこで、先に順次入力される被乗数のコード列がm個ず
つk個のユニット300に蓄えられる。そして、k個のユ
ニットが第4図に示すように連結される。
The multiplicand converted into a code string of each digit n bits is 1
Considering the case of high digits that cannot be stored in one LSI chip, it is important to be able to connect and use the chips.
Therefore, the code strings of the multiplicand that are sequentially input first are stored in the k units 300 of m each. Then, the k units are connected as shown in FIG.

被乗数が先に複数ユニットの下桁側から順次に記憶さ
れ、次に、乗数のコード列が全ユニットに入力され、そ
の後に(km+1)個の0が追加入力される。そして、乗
数の各桁の入力される都度、各桁乗数コードと全桁の被
乗数コードとの部分積が一斉に計算され、出力コードが
下桁側から順次に出力される。
The multiplicand is stored in order from the lower digit side of the plurality of units first, then the code string of the multiplier is input to all units, and then (km + 1) 0s are additionally input. Whenever each digit of the multiplier is input, the partial product of each digit multiplier code and the multiplicand code is calculated all at once, and the output codes are sequentially output from the lower digit side.

連結されたk個のユニットでの高桁数値の乗算処理は
ユニット毎で並列に実行され、各ユニットの計算結果が
各桁nビットのコード列として下桁から順次に出力され
る。そして、各ユニットは計算結果のコード列を下桁側
隣接ユニットに送り出すと共に、上桁側隣接ユニットか
ら計算結果のコード列を順次に受け付ける。
The multiplication processing of high-digit numerical values in the connected k units is executed in parallel for each unit, and the calculation result of each unit is sequentially output from the lower digit as a code string of each digit n bits. Then, each unit sends the code string of the calculation result to the adjacent unit on the lower digit side, and sequentially receives the code string of the calculation result from the adjacent unit on the upper digit side.

第1図の実施例の回路は、このように複数ユニットを
使った高桁乗算に際して、各ユニットの中で使われるm
桁乗算回路の一例であって、高桁演算の一部を分担する
だけであるが、連結によって幾らでも高桁の乗算を実行
する繰り返し構造の回路構成になっている。
The circuit of the embodiment shown in FIG. 1 is used in each unit during high-order multiplication using a plurality of units.
This is an example of a digit multiplying circuit, which only shares a part of the high digit operation, but has a circuit structure of a repetitive structure that executes as many high digit multiplications as possible by concatenation.

この実施例の具体的な回路構成は次のようになる。す
なわち、各桁nビットの被乗数のm桁分のレジスタ110
と、各桁nビットの乗数のクロック信号に同期した入力
を行う入力バス120と、各桁乗数とレジスタ110に保持さ
れた各桁の被乗数との掛け算を行うnビット乗算回路13
0と、i番目(iはm以下の正整数)の桁の乗算回路130
の出力に桁送りレジスタの内容を加える第1の加算器15
0と、その出力(2nビット)を上下nビットずつに分け
て記憶する部分積レジスタ160と、i番目の部分積レジ
スタ160の上位nビットと(i+1)番目の桁の部分積
レジスタ160の下位nビットを加算する第2の加算器170
と、その出力を一時記憶する桁送りレジスタ140と、被
乗数コードのレジスタ110への選択的(下桁側からの順
次)設定を制御するデコーダ192と、クロック信号のカ
ウンタ191とから成る。
The specific circuit configuration of this embodiment is as follows. That is, the register 110 for m digits of the multiplicand of n bits for each digit
And an input bus 120 for inputting in synchronization with the clock signal of each digit n-bit multiplier, and an n-bit multiplication circuit 13 for multiplying each digit multiplier by the multiplicand of each digit held in the register 110.
Multiply circuit 130 for 0th and i-th (i is a positive integer less than or equal to m) digits
First adder 15 which adds the contents of the shift register to the output of
0, a partial product register 160 that stores the output (2n bits) in upper and lower n bits, and stores the upper n bits of the i-th partial product register 160 and the lower part of the (i + 1) th digit partial product register 160. Second adder 170 for adding n bits
And a shift register 140 for temporarily storing its output, a decoder 192 for controlling selective (sequential from the lower digit) setting of the multiplicand code to the register 110, and a clock signal counter 191.

高桁乗算の実行は、端子125からバス120へ乗数コード
が入力される都度行われる。各桁乗数コードとレジスタ
110に保持された全桁の被乗数コードとの積がnビット
乗算回路130で一斉に計算される。各桁の部分積演算か
ら求まる掛け算結果は、レジスタ140に保持された桁送
りコードと第1の加算器150で加算される。その結果が
クロック信号CLK1より半周期遅れのクロック信号CLK2
よって部分積レジスタ160に保持される。部分積レジス
タは、第1の加算器150の2nビットの出力を上位nビッ
トと下位nビットに分割して記憶する。乗算結果は下位
nビットであってクロック信号CLK2に同期して、部分積
レジスタ160から端子185を介して(d+m+1)桁のコ
ード列として下桁から順次に出力される。
The high-digit multiplication is executed every time the multiplier code is input from the terminal 125 to the bus 120. Each digit multiplier code and register
The n-bit multiplication circuit 130 simultaneously calculates the product of all the digits and the multiplicand code held in 110. The multiplication result obtained from the partial product calculation of each digit is added by the shift code held in the register 140 by the first adder 150. The result is held in the partial product register 160 by the clock signal CLK 2 which is a half cycle behind the clock signal CLK 1 . The partial product register stores the 2n-bit output of the first adder 150 by dividing it into upper n bits and lower n bits. The multiplication result is the lower n bits, and is synchronized with the clock signal CLK 2 , and is sequentially output from the lower digit as a (d + m + 1) digit code string from the partial product register 160 via the terminal 185.

ここで、乗算のアルゴリズムについて第3図(a)を
用いて、もい少し詳しく説明する。今、被乗数310を各
桁nビットのコードXi、i=1,2,…,mとする。これらが
レジスタ110に蓄えられる。また、乗数320の各桁nビッ
トのコードをYt,t=1,2,…,dとする。時刻t=1の時に
1桁目のコードY1が与えられるとする。
Here, the multiplication algorithm will be described in more detail with reference to FIG. Now, let the multiplicand 310 be a code Xi of each digit n bits, i = 1, 2, ..., M. These are stored in the register 110. Also, the code of each digit n bits of the multiplier 320 is Yt, t = 1,2, ..., d. It is assumed that the code Y 1 of the first digit is given at time t = 1.

乗数のt番目のコードYtが入力されたときに、nビッ
ト乗算回路130においては、次の部分積 Yt*Xi i=1,2,…,m が一斉に計算される。これらの計算結果は第1の加算器
150で桁送りレジスタ140の内容Cを加えられ、部分積レ
ジスタ160に貯えられる。すなわち、第1の加算器150の
出力に桁送り信号Ci-1を加えた加算結果340は Zi(t)=Yt*Xi+Ci-1(t−1+θ) …(1) となる。ここに、θは半クロックの時間遅れを示し、
(t−1+θ)は時刻tより半クロック前の時間を示
す。故に、Zi(t)の下位nビットが出力データとな
り、上位nビットガ桁送り信号Ci-1となる。
When the tth code Yt of the multiplier is input, the n-bit multiplication circuit 130 simultaneously calculates the following partial products Yt * Xi i = 1,2, ..., m. The results of these calculations are the first adder
The content C of the shift register 140 is added at 150 and stored in the partial product register 160. That is, the addition result 340 obtained by adding the shift signal Ci −1 to the output of the first adder 150 is Zi (t) = Yt * Xi + Ci −1 (t−1 + θ) (1). Where θ is the time delay of half a clock,
(T-1 + θ) indicates a time half clock before the time t. Therefore, the lower n bits of Zi (t) become the output data, and become the upper n bits of the shift signal Ci -1 .

そこで、(1)式で求めた計算結果Zi(t)を部分積
レジスタ160において上位nビットのコードbi(t)と
下位nビットのコードai(t)とに分割する。すなわ
ち、部分積レジスタ160の出力は Zi(t)=ai(t)*2n+bi(t) (2) で表される。そこで、bi(t)は下桁の部分積に加算す
るように出力し、一方、ai(t)は上位桁の部分積に加
算されるようにする。すなわち、桁送りレジスタの記憶
内容をCi(t−1)とすると、それは第2の加算器170
から、次式に従った計算によって求まる。すなわち、 Ci(t−1+θ)=ai(t−1)+bi+1(t−1)
(3) となる。この計算が第2の加算器170で実行される。計
算結果の桁送りコードは、クロック信号CLK1に同期して
レジスタ140に設定される。このクロック信号は次の乗
数コードを呼び出し、乗算回路130での部分積演算を開
始させるために使われるが、このCLK1を使えば部分積の
演算が終わる前に必ず桁送りコードが用意されることに
なる。ことような計算は2段パイプライン処理の代表で
あり、端子190と端子195から交互に入力されるクロック
信号CLK1とCLK2を使って容易に実行される。
Therefore, the calculation result Zi (t) obtained by the equation (1) is divided into the upper n-bit code bi (t) and the lower n-bit code ai (t) in the partial product register 160. That is, the output of the partial product register 160 is represented by Zi (t) = ai (t) * 2n + bi (t) (2). Therefore, bi (t) is output so as to be added to the lower-order partial product, while ai (t) is added to the higher-order partial product. That is, when the stored content of the shift register is Ci (t-1), it is the second adder 170.
From, it is calculated by the following formula. That is, Ci (t-1 + θ) = ai (t-1) + bi + 1 (t-1)
(3) This calculation is performed by the second adder 170. The shift code of the calculation result is set in the register 140 in synchronization with the clock signal CLK 1 . This clock signal is used to call the next multiplier code and start the partial product operation in the multiplication circuit 130. With this CLK 1 , a shift code is always prepared before the partial product operation is completed. It will be. Such a calculation is typical of the two-stage pipeline processing, and is easily executed by using the clock signals CLK 1 and CLK 2 alternately input from the terminals 190 and 195.

高桁乗算処理の各桁でのパイプライン処理を第2図を
用いて説明する。当然ながら、被乗数のコード列は予め
レジスタ110の下桁側から上桁側へと順次に設定された
後とする。乗数コード列は端子125から入力クロック信
号CLK1の立ち下がり時に取り込まれ、入力バス120を介
して、乗算回路130に送られる。
The pipeline processing at each digit of the high digit multiplication processing will be described with reference to FIG. As a matter of course, it is assumed that the multiplicand code string is sequentially set in advance from the lower digit side to the upper digit side of the register 110. The multiplier code string is fetched from the terminal 125 at the falling edge of the input clock signal CLK 1 and sent to the multiplication circuit 130 via the input bus 120.

乗数コードがnビット乗算回路130に入力されると、
数10nsecの演算遅延時間後に部分積Xi*Ytの乗算結果が
出力される。それが第1の加算器150に送られる。そこ
で、桁送りレジスタ140の内容と加算される。数nsecの
遅延の後、第1の加算器150から加算結果が出力され
る。それがクロック信号CLK2の立ち下がり時刻にて、部
分積レジスタ160に設定される。
When the multiplier code is input to the n-bit multiplication circuit 130,
After the operation delay time of several tens of nanoseconds, the multiplication result of the partial product Xi * Yt is output. It is sent to the first adder 150. Therefore, the contents of the shift register 140 are added. After a delay of several nsec, the addition result is output from the first adder 150. It is set in the partial product register 160 at the falling time of the clock signal CLK 2 .

従って、レジスタ160の出力を用いる第2の加算器170
は、このクロック信号CLK2より第2の加算器170の遅延
時間(数nsec)分だけ遅れて加算結果を出力する。これ
がクロック信号CLK1の立ち下がり時に、桁送りレジスタ
140に設定される。このレジスタ140の出力は、第1の加
算器150で使われる前に変化を終えている。
Therefore, the second adder 170 using the output of the register 160
Outputs the addition result after a delay of the delay time (several nsec) of the second adder 170 from the clock signal CLK 2 . This is the shift register when the clock signal CLK 1 falls.
Set to 140. The output of this register 140 has finished changing before being used by the first adder 150.

このように、レジスタ140と160への加算結果の設定が
交互に行われることによって、10nsec以下のクロック周
期での乗算処理速度が達成可能になる。すなわち、
(1)式と(3)式の計算がm桁分の乗算・加算回路で
一斉に、半周期差で交互に実行される。
In this way, by alternately setting the addition results in the registers 140 and 160, it is possible to achieve a multiplication processing speed in a clock cycle of 10 nsec or less. That is,
The calculations of the expressions (1) and (3) are simultaneously executed by the m-digit multiplication / addition circuit and alternately with a half cycle difference.

第1図でのこのようなパイプライン処理のための回路
構成は全くの繰り返し構造であり、LSI化に向いてい
る。nが4であると、4ビット掛け算器が約350ゲー
ト、加算器が約60ゲートで、4ビットレジスタが16ゲー
トとなる。故に桁当りの回路規模は80+120+350=550
ゲートとなる。
The circuit configuration for such pipeline processing in FIG. 1 has a completely repetitive structure and is suitable for LSI. When n is 4, the 4-bit multiplier has about 350 gates, the adder has about 60 gates, and the 4-bit register has 16 gates. Therefore, the circuit scale per digit is 80 + 120 + 350 = 550
Become a gate.

LSIチップ当りのゲート収容能力が4万程度であるとす
ると、1チップでの乗算処理桁数は64以上に及ぶ。これ
は256ビット乗算に相当する。本発明は、このようなLSI
チップを連結してさらに高桁乗算の処理に使える。
If the gate accommodating capacity per LSI chip is about 40,000, the number of multiplication processing digits in one chip will be 64 or more. This corresponds to 256-bit multiplication. The present invention relates to such an LSI
Chips can be connected and used for higher digit multiplication processing.

第4図は複数乗算ユニット(LSIチップ)を使って高
桁乗算を行う場合のユニット間接続方法の説明図であ
る。1ユニット当り64桁しか受け付けないとしても、ユ
ニットを8個連結すると(ユニット401,402,…,408)、
512桁の乗算が期待される。そのためには、まず、被乗
数コード440を64桁ずつに分けて、下桁ユニット401から
上桁ユニット402を経てさらに上桁ユニット408に向かっ
て順次に格納する。このためには、各ユニット401〜408
を被乗数のロードモードにし、クロック信号発生器430
を使ってクロック信号CLK1を下桁ユニットから上桁ユニ
ットに向かって順に選択的に64個ずつ印加する。
FIG. 4 is an explanatory diagram of an inter-unit connection method when performing high-digit multiplication using a plurality of multiplication units (LSI chips). Even if only 64 digits are accepted per unit, if 8 units are connected (units 401, 402, ..., 408),
512 digit multiplication is expected. For that purpose, first, the multiplicand code 440 is divided into 64 digits, and sequentially stored from the lower digit unit 401 to the upper digit unit 402 and further toward the upper digit unit 408. To do this, each unit 401-408
To the multiplicand load mode and set the clock signal generator 430
Is used to selectively apply 64 clock signals CLK 1 in order from the lower digit unit to the upper digit unit.

次に、ユニット間で、上桁ユニットの最下位桁の部分
積レジスタ160の下位nビットの出力端子185を、下桁ユ
ニットの最上位桁の部分積レジスタ160の上位nビット
の入力端子180に接続する。従って、最下桁ユニット401
の最下位桁部分積の下位nビットの出力端子185が総合
的な乗算結果の取り出し端子420につながる。なお、最
上桁ユニット408の最上位桁部分積レジスタ160の上位n
ビットにはそれより上位桁からの桁送り信号が無いの
で、ユニット408の端子180には0の値を与えておけばよ
い。
Next, between the units, the lower n-bit output terminal 185 of the least significant digit partial product register 160 of the upper digit unit is connected to the upper n bit input terminal 180 of the most significant digit partial product register 160 of the lower digit unit. Connecting. Therefore, the bottom digit unit 401
The output terminal 185 of the lower n bits of the least significant digit partial product of is connected to the overall multiplication result extraction terminal 420. In addition, the upper n of the most significant digit partial product register 160 of the most significant digit unit 408
Since the bit does not have a shift signal from the upper digit, a value of 0 may be given to the terminal 180 of the unit 408.

この後、全ユニットのデータ入力端子125に乗数450を
下桁から順次にユニットへ供給する。クロック信号発生
器430からは、全ユニットへクロック信号CLK1とCLK2
一斉に供給される。それにともなって、全ユニットの全
桁で、入力バス120上の乗数コードとレジスタ110に保持
された被乗数コードとの積(部分積)が一斉に計算され
る。
After that, the multiplier 450 is supplied to the data input terminals 125 of all the units sequentially from the lower digit. From the clock signal generator 430, clock signals CLK 1 and CLK 2 are simultaneously supplied to all units. Accordingly, the product (partial product) of the multiplier code on the input bus 120 and the multiplicand code held in the register 110 is calculated all at once in all the digits of all units.

各ユニットでの部分積の計算結果は、上桁ユニット40
8の部分積レジスタ160からユニット407,406,…,402の部
分積レジスタ160を経て下桁ユニット401の部分積レジス
タ160へと桁送り加算処理を得ながら順次に転送され、
部分的な演算結果が次々に総合され、総合的な高桁乗算
結果460が下桁から順次に端子420を通して出力される。
The calculation result of the partial product in each unit is 40
From the partial product register 8 of 8 to the partial product register 160 of the lower digit unit 401 through the partial product register 160 of the units 407, 406, ...
The partial calculation results are integrated one after another, and the comprehensive high-digit multiplication result 460 is sequentially output from the lower digit through the terminal 420.

このような複数乗算ユニットのシリアル結合で、ユニ
ット当り64桁の2進コードの乗算が、8ユニットの連結
で、512桁の乗算を行える。ただし、桁数が増えるにつ
れて計算時間が長くなる。各桁での計算時間が10nsecで
あるとしても、64桁の乗算結果を出力する時間が、0.64
μsecになる。8チップを連結した場合は、512桁の乗算
時間が5.12μsecになる。かなり長いが、ソフトウェア
で処理するよりははるかに短い。
In such a serial combination of multiple multiplication units, binary code multiplication of 64 digits per unit can be performed, and multiplication of 512 digits can be performed by concatenation of 8 units. However, the calculation time increases as the number of digits increases. Even if the calculation time at each digit is 10 nsec, the time to output the 64-digit multiplication result is 0.64
It becomes μsec. When 8 chips are connected, the multiplication time of 512 digits is 5.12 μsec. Quite long, but much shorter than software handles.

第5図は指数変換を用いた高桁乗算装置の実施例の構
成図である。この図の詳細な説明に入る前に、指数変換
方式による乗算方式を説明しておく。指数変換方式の乗
算は計算尺の計算法に似ている。
FIG. 5 is a block diagram of an embodiment of a high digit multiplication apparatus using exponential conversion. Before entering the detailed description of this figure, the multiplication method by the exponential conversion method will be described. The exponential conversion method of multiplication is similar to the rule of thumb rule.

AとBの積Cを計算する前に、 A mod(p)=ra (4) B mod(p)=rb (5) とする。この計算で、予め、A,Bをa,bに変換するテーブ
ルを作っておく。また、同時に逆変換テーブルも作って
おく。この時、 A×B mod(p)=ra+b (6) であるから、a+bの加算結果から逆変換テーブルでA
×Bの積を求めることができる。ここに、逆変換テーブ
ルは、p=257,r=10とする場合に作り易くなる。
Before calculating the product C of A and B, A mod (p) = ra (4) B mod (p) = rb (5) By this calculation, a table for converting A and B into a and b is created in advance. At the same time, create an inverse conversion table. At this time, since A × B mod (p) = ra + b (6), the result of addition of a + b is A in the inverse conversion table.
The product of × B can be obtained. Here, the inverse conversion table can be easily created when p = 257 and r = 10.

そこで、第3図の各桁の部分積を作るための被乗数の
nビットコードと乗数のnビットコードを指数変換テー
ブルで、それぞれnビットの指数コードに変換して入力
すると、乗算回路を使わないで加算器だけで高桁乗算を
実行できる。もちろん、指数変換と逆変換のために変換
テーブルメモリは使う必要がある。
Therefore, when the n-bit code of the multiplicand and the n-bit code of the multiplier for creating the partial product of each digit in FIG. 3 are converted into n-bit exponent codes by the exponent conversion table and input, the multiplication circuit is not used. High-order multiplication can be executed only with the adder. Of course, conversion table memory must be used for exponential conversion and inverse conversion.

第5図に戻って、この高桁乗算装置の説明を行う。第
1図との違いは、入力バス120の前段に指数変換テーブ
ルメモリ505が付加されていることと、nビット被乗数
レジスタ110の代わりに被乗数の指数コードレジスタ510
が使われていることと、乗算回路130の代わりに加算回
路530が使われていることと、その後に、逆指数変換テ
ーブルメモリ520が挿入されていることである。
Returning to FIG. 5, the high digit multiplication device will be described. The difference from FIG. 1 is that an exponent conversion table memory 505 is added in the preceding stage of the input bus 120 and that the exponent code register 510 of the multiplicand is used instead of the n-bit multiplicand register 110.
Is used, the addition circuit 530 is used instead of the multiplication circuit 130, and the inverse exponent conversion table memory 520 is inserted after that.

指数変換を行えば、乗算回路の代わりに加算回路を使
えるために、乗算回路での遅延時間は短縮されるが、逆
指数変換テーブルメモリ520が高速でないとトータルの
演算時間が短縮されない。そこで、変換テーブルメモリ
としてはゲートアレイの固定メモリマトリクスを使うも
のとする。乗算回路に較べ、加算回路を加えても十分に
小さいので、ハードウェアサイズが第1図の場合より減
少すると期待される。
If exponential conversion is performed, the adder circuit can be used instead of the multiplying circuit, so the delay time in the multiplying circuit is shortened, but the total calculation time cannot be shortened unless the inverse exponential conversion table memory 520 is high speed. Therefore, the fixed memory matrix of the gate array is used as the conversion table memory. Since the addition circuit is sufficiently smaller than the multiplication circuit, the hardware size is expected to be smaller than that shown in FIG.

指数変換は変換テーブルメモリのサイズを考えるとn
=4の当りが適当である。4ビットの場合は、16個のコ
ード変換でよいから、変換テーブルは16×4=64ビット
のメモリで実現される。固定であるから128ゲート以下
で実現できる。逆変換テーブルも同じく小さく実現でき
る。
The exponential conversion is n considering the size of the conversion table memory.
= 4 is appropriate. In the case of 4 bits, 16 code conversions are enough, so the conversion table is realized by a memory of 16 × 4 = 64 bits. Since it is fixed, it can be realized with 128 gates or less. The inverse conversion table can also be made small.

第1図と第5図の高桁乗算装置のハードウェア量の比
較を行う。第1図の実施例で4ビットの乗算回路が約35
0ゲート、加算器が約60ゲートであったことと較べる
と、第5図の実施例は60ゲートの加算器と128ゲートの
逆変換テーブルを使うので、410ゲートが188ゲートに減
ることになる。乗数や被乗数のための指数変換テーブル
メモリの方は1つあればよいので、4万ゲートの乗算ユ
ニットの中では無視できる。故に、桁当りの回路規模
が、550ゲートから222ゲート減って328ゲートになる。
同じゲート数を使用すると仮定すると、第1図でのLSI
チップ当り64桁が108桁に増える。これは約1.7倍の集積
度向上に対応する。
The hardware amounts of the high digit multiplication devices shown in FIGS. 1 and 5 are compared. In the embodiment shown in FIG. 1, the 4-bit multiplication circuit has about 35
Compared with 0 gates and about 60 adders, the embodiment of FIG. 5 uses an adder of 60 gates and an inverse conversion table of 128 gates, so that 410 gates are reduced to 188 gates. . Since there is only one exponential conversion table memory for the multiplier and the multiplicand, it can be ignored in the multiplication unit of 40,000 gates. Therefore, the circuit size per digit is 328 gates, which is 222 gates less than 550 gates.
Assuming that the same number of gates are used, the LSI in FIG.
64 digits per chip will increase to 108 digits. This corresponds to an increase in integration of about 1.7 times.

次に、処理時間の比較を行う。指数変換テーブルでの
変換時間は固定メモリを使う場合、2nsec以下が可能で
ある。4ビットの加算も2nsec程度である。変換が2度
あることと、順次加算が2度あるために、8nsecは計算
にかかる。部分積レジスタでのセット時間を考えると、
やはり、10nsec以下にはならない。この値は第1図の場
合とあまり変わらないが、もし第1図の乗算回路が64桁
の4ビットコード乗算にBooth法を使うのであれば、第
1図の桁当りの計算合計時間が15nsec近くになるので、
第5図の方が高速であると言える。
Next, the processing times are compared. The conversion time in the exponential conversion table can be 2nsec or less when using fixed memory. The addition of 4 bits is also about 2nsec. Since there are two conversions and two sequential additions, 8 nsec is required for calculation. Considering the set time in the partial product register,
After all, it does not fall below 10 nsec. This value is not much different from that in Fig. 1, but if the multiplier circuit in Fig. 1 uses the Booth method for 64-digit 4-bit code multiplication, the total calculation time per digit in Fig. 1 is 15 nsec. Because it will be close,
It can be said that FIG. 5 is faster.

指数変換方式の高桁乗算が、指数変換を使わない場合
に較べて、ハードウェアサイズや処理速度の点で幾分改
善されると説明したが、詳細な回路設計と改良の工夫を
した結果でないと、いずれがよいとは断定できない。し
かし、ゲートアレイの規模が大きくなる超LSIの時代で
は、LSIチップで128桁以上の乗算も十分に可能であるこ
とが示された。
It was explained that the high-order multiplication of the exponential conversion method is somewhat improved in terms of hardware size and processing speed compared to the case where exponential conversion is not used, but this is not the result of detailed circuit design and improvements. And I can't say which one is better. However, in the era of VLSI, where the scale of the gate array becomes large, it has been shown that the LSI chip can sufficiently multiply 128 digits or more.

〔発明の効果〕〔The invention's effect〕

以上に述べたように、本発明によれば、浮動小数点演
算を使わずに高桁数値の乗算を、16ビットとか32ビット
に及ぶ乗算プロセッサとソフトウェアを使って逐次に処
理するときの桁数が増えるにつれて計算時間が桁数の平
方に比例して増える問題が容易に解決されることがわか
る。
As described above, according to the present invention, the number of digits when sequentially performing multiplication of high-order numeric values without using floating-point arithmetic using a 16-bit or 32-bit multiplication processor and software is increased. It can be seen that the problem that the calculation time increases in proportion to the square of the number of digits can be easily solved as it increases.

乗算プロセッサのビット幅を32ビット以上にすること
は、端子数やバス幅の制限と回路規模の制限でホードウ
ェア設計が困難になっていたが、本発明を使うと、次の
ようないくつかのメリットが期待される。
When the bit width of the multiplication processor is set to 32 bits or more, it is difficult to design the wareware due to the limitation of the number of terminals and the bus width and the limitation of the circuit scale. Expected to have merit.

第1のメリットは、乗数の桁数がいくら増えても、シ
リアルに入力される期間にわたって計算結果が下桁から
順次に出力されるだけで、実行時間が長くなるが、LSI
化可能なハードウェアへ入力するだけで高桁乗算を実行
できることである。
The first advantage is that even if the number of digits in the multiplier increases, the calculation result is only output sequentially from the lower digit over the period of serial input, which increases the execution time.
High-order multiplication can be performed simply by inputting it to the hardware that can be converted.

第2のメリットは、4ビットとか8ビットの部分積演
算回路の繰り返し構造の回路構成であるために、部分積
回路を100個程度にしても小型に実現でき、LSI化も容易
となることである。
The second merit is that the circuit structure of the repeating structure of the 4-bit or 8-bit partial product arithmetic circuit can be realized in a small size even if there are about 100 partial product circuits and the LSI can be easily realized. is there.

第3のメリットは、被乗数の桁を増やす際に乗算ユニ
ットをシリアルに連結するだけで達成されることであ
る。
A third advantage is achieved by simply connecting the multiplication units serially when increasing the digit of the multiplicand.

第4のメリットは、回路構成が単純であるために、桁
当りの乗算が100MHzのクロックで処理されることであ
る。
The fourth merit is that the multiplication per digit is processed by the clock of 100 MHz because the circuit configuration is simple.

ここで、512桁の乗算時間を、第4図の説明の時に、
5.12μsecと見積もったが、これは乗数を蓄えるメモリ
が10nsecのサイクルタイムで乗数コード(4ビット単
位)を供給してもらえると仮定した。32ビット乗算プロ
セッサで、512ビットの乗算を乗数と被乗数を32ビット
ずつ16回に分けて供給すると、約256回の部分積計算が
必要になる。
Here, the multiplication time of 512 digits is
It was estimated to be 5.12 μsec, but it was assumed that the memory for storing the multiplier could supply the multiplier code (4 bit unit) with a cycle time of 10 nsec. In a 32-bit multiplication processor, if 512-bit multiplications and multiplicands are supplied in 16-bit divisions of 32 bits each, about 256 partial product calculations are required.

途中計算結果を部分積の計算の都度メモリに蓄え、読
み出す動作が必要で、各部分積の計算時間を10nsecの3
倍に見積もる必要がある。故に、256×30nsec=7.6μse
c時間が部分積演算で使われる。さらに16回の加算を約5
12回繰り返すことも必要になる。32ビット加算を5nsec
とすると、80×512nsec=40μsecが加わる。合計で47.6
μsecとなる。これを較べると、本発明による8ユニッ
ト連結の高桁乗算装置での計算時間5.12μsecはかなり
よい。このことからも、本発明によれば高桁乗算につい
て約1桁の高速化をもたらすことが可能と予想される。
It is necessary to store and read the intermediate calculation results in the memory each time a partial product is calculated. The calculation time for each partial product is 10 nsec.
It is necessary to estimate twice. Therefore, 256 × 30nsec = 7.6μse
c time is used in the partial product operation. About 5 more 16 additions
It also needs to be repeated 12 times. 32-bit addition 5nsec
Then, 80 × 512nsec = 40μsec is added. 47.6 in total
It becomes μsec. Comparing this, the calculation time of 5.12 μsec in the high-order multiplication apparatus of the 8-unit connection according to the present invention is quite good. From this, it is expected that the present invention can bring about high-speed multiplication of about one digit for high-digit multiplication.

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

第1図は本発明の高桁乗算装置の一実施例の回路構成の
説明図、 第2図は第1図回路での各部の動作波形図、 第3図は高桁乗算方式の説明図、 第4図は高桁乗算ユニットの連結方法の説明図、 第5図は指数変換方式による高桁乗算装置の一実施例を
示す図である。 110……nビット被乗数レジスタ 120……入力バス 125……データ入力端子 130……nビット乗算回路 140……桁送りレジスタ 150……第1の加算器 160……部分積レジスタ 170……第2の加算器 180……部分積入力端子 185……部分積出力端子 190……クロック信号CLK1の入力端子 195……クロック信号CLK2の入力端子 300,401〜408……乗算ユニット 310……被乗数 320……乗数 330……部分積 340……部分積の和 410……入力端子 420……出力端子 430……クロック信号発生器 440……高桁被乗数 450……高桁乗数 460……乗算結果 505……指数変換テーブルメモリ 510……被乗数の指数コードレジスタ 520……逆指数変換テーブルメモリ 530……指数部の加算器
FIG. 1 is an explanatory diagram of a circuit configuration of an embodiment of a high digit multiplication apparatus of the present invention, FIG. 2 is an operation waveform diagram of each part in the circuit of FIG. 1, FIG. 3 is an explanatory diagram of a high digit multiplication system, FIG. 4 is an explanatory diagram of a method of connecting high-digit multiplication units, and FIG. 5 is a diagram showing an embodiment of a high-digit multiplication device using an exponential conversion method. 110 ... n-bit multiplicand register 120 ... input bus 125 ... data input terminal 130 ... n-bit multiplication circuit 140 ... shift register 150 ... first adder 160 ... partial product register 170 ... second Adder 180 …… Partial product input terminal 185 …… Partial product output terminal 190 …… Clock signal CLK 1 input terminal 195 …… Clock signal CLK 2 input terminal 300,401 to 408 …… Multiplying unit 310 …… Multiplicand 320… … Multiplier 330 …… Partial product 340 …… Sum of partial products 410 …… Input terminal 420 …… Output terminal 430 …… Clock signal generator 440 …… High digit multiplicand 450 …… High digit multiplier 460 …… Multiply result 505… … Exponential conversion table memory 510 …… Multiplicand exponent code register 520 …… Inverse exponential conversion table memory 530 …… Exponent adder

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】複数個のm桁乗算ユニットからなる高桁乗
算装置であって、各m桁乗算ユニットが各桁nビットの
被乗数のm桁分のレジスタと、各桁nビットの乗数のク
ロック信号に同期した入力を行う入力バスと、各桁乗数
とレジスタに保持された各桁の被乗数との掛け算を行う
nビット乗算回路と、i番目(iはm以下の正整数)の
桁の乗算回路の出力に桁上げレジスタの内容を加える第
1の加算器と、第1の加算器の出力(2nビット)を上下
nビットずつに分けて記憶する部分積レジスタと、i番
目の部分積レジスタの上位nビットを(i+1)番目の
桁の部分積レジスタの下位nビットと加算する第2の加
算器と、第2の加算器の出力を一時記憶する桁上げレジ
スタとからなり、乗算の各桁nビットコードの入力クロ
ック周期内の前半で、全桁一斉に、第1の加算器の出力
を部分積レジスタへ設定する第1のクロック信号線と、
後半で、第2の加算器の出力を桁上げレジスタへ設定す
る第2のクロック信号線とを設けたことを特徴とする高
桁乗算装置。
1. A high-digit multiplication device comprising a plurality of m-digit multiplication units, wherein each m-digit multiplication unit has a register for m digits of a multiplicand of n bits of each digit and a clock of a multiplier of n bits of each digit. An input bus for inputting in synchronization with a signal, an n-bit multiplication circuit for multiplying each digit multiplier by a multiplicand of each digit held in a register, and multiplication of an i-th (i is a positive integer less than or equal to m) digit A first adder that adds the contents of the carry register to the output of the circuit, a partial product register that stores the output (2n bits) of the first adder in upper and lower n bits, and an i-th partial product register A second adder for adding the upper n bits of the lower n bits of the partial product register of the (i + 1) th digit and a carry register for temporarily storing the output of the second adder. First half of input clock cycle of digit n-bit code , To all digits simultaneously, a first clock signal line for setting the output of the first adder to the partial product register,
A high-digit multiplication device, characterized in that a second clock signal line for setting the output of the second adder to the carry register is provided in the latter half.
【請求項2】連結される複数個のm桁乗算ユニットと、
1個の指数変換回路とからなる高桁乗算装置であって、
各m桁乗算ユニットが指数変換後の各桁nビットの被乗
数の指数コードを蓄えるm桁分のレジスタと、指数変換
後の各桁nビットの乗数の指数コードをクロック信号に
同期して与える入力バスと、各桁乗数の指数コードとレ
ジスタに保持された各桁の被乗数の指数コードとの加算
を行う加算回路と、加算回路に接続される逆指数変換回
路と、i番目(iはm以下の正整数)の桁の逆指数変換
回路の出力に桁上げレジスタの内容を加える第1の加算
器と、第1の加算器の出力(2nビット)を上下nビット
ずつに分けて記憶する部分積レジスタと、i番目の部分
積レジスタの上位nビットを(i+1)番目の桁の部分
積レジスタの下位nビットと加算する第2の加算器と、
第2の加算器の出力を一時記憶する桁上げレジスタとか
らなることを特徴とする高桁乗算装置。
2. A plurality of m-digit multiplication units connected to each other,
A high-digit multiplication device including one exponential conversion circuit,
Each m-digit multiplication unit stores an m-digit register for storing the exponent code of the multiplicand of each digit n bits after exponential conversion, and an input that gives the exponent code of the multiplier of each digit n bits after exponent conversion in synchronization with the clock signal. A bus, an adder circuit for adding the exponent code of each digit multiplier and the exponent code of the multiplicand of each digit held in the register, an inverse exponential conversion circuit connected to the adder circuit, and the i-th (i is m or less) Positive adder) to add the contents of the carry register to the output of the inverse exponent converter circuit and the output of the first adder (2n bits) divided into upper and lower n bits and stored. A product register and a second adder that adds the upper n bits of the i-th partial product register to the lower n bits of the (i + 1) th digit partial product register;
A high-digit multiplication device comprising: a carry register for temporarily storing the output of the second adder.
【請求項3】乗算の各桁nビットコードの入力クロック
周期内の前半で、全桁一斉に、第1の加算器の出力を部
分積レジスタへ設定する第1のクロック信号線と、後半
で、第2の加算器の出力を桁上げレジスタへ設定する第
2のクロック信号線とを設けた請求項2記載の高桁乗算
装置。
3. A first clock signal line for setting the output of the first adder to the partial product register all at once in the first half of the input clock cycle of each digit n-bit code of multiplication, and in the second half. And a second clock signal line for setting the output of the second adder to the carry register.
JP2121351A 1990-05-14 1990-05-14 High digit multiplier Expired - Lifetime JPH0833815B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2121351A JPH0833815B2 (en) 1990-05-14 1990-05-14 High digit multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2121351A JPH0833815B2 (en) 1990-05-14 1990-05-14 High digit multiplier

Publications (2)

Publication Number Publication Date
JPH0421026A JPH0421026A (en) 1992-01-24
JPH0833815B2 true JPH0833815B2 (en) 1996-03-29

Family

ID=14809127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2121351A Expired - Lifetime JPH0833815B2 (en) 1990-05-14 1990-05-14 High digit multiplier

Country Status (1)

Country Link
JP (1) JPH0833815B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528642B2 (en) * 2018-03-05 2020-01-07 International Business Machines Corporation Multiple precision integer multiple by matrix-matrix multiplications using 16-bit floating point multiplier
CN116225366B (en) * 2023-03-06 2024-04-05 开源网安物联网技术(武汉)有限公司 Multiplication instruction expansion method and device applied to embedded pipeline CPU (Central processing Unit) kernel

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54144148A (en) * 1978-05-01 1979-11-10 Aisuke Katayama Exponential conversion type high speed multiplying system
JPS58129653A (en) * 1982-01-29 1983-08-02 Hitachi Ltd Multiplication system
US4507748A (en) * 1982-08-02 1985-03-26 International Telephone And Telegraph Corporation Associative processor with variable length fast multiply capability
JPH03103922A (en) * 1989-09-19 1991-04-30 Fujitsu Ltd Multidigit multiplier

Also Published As

Publication number Publication date
JPH0421026A (en) 1992-01-24

Similar Documents

Publication Publication Date Title
Lang et al. A radix-10 combinational multiplier
US5081573A (en) Parallel processing system
US4041292A (en) High speed binary multiplication system employing a plurality of multiple generator circuits
US3515344A (en) Apparatus for accumulating the sum of a plurality of operands
US6782405B1 (en) Method and apparatus for performing division and square root functions using a multiplier and a multipartite table
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
JPS6375932A (en) Digital multiplier
US20140136588A1 (en) Method and apparatus for multiplying binary operands
US5734599A (en) Performing a population count using multiplication
US3816732A (en) Apparatus and method for serial-parallel binary multiplication
US3290493A (en) Truncated parallel multiplication
US6745219B1 (en) Arithmetic unit using stochastic data processing
JPH02293929A (en) Method and apparatus for digital system multiplication
US20020161810A1 (en) Method and apparatus for multiplication and/or modular reduction processing
US4190894A (en) High speed parallel multiplication apparatus with single-step summand reduction
US4020334A (en) Integrated arithmetic unit for computing summed indexed products
JPH0833815B2 (en) High digit multiplier
Kataria et al. Design Of High Performance Digital Divider
US4047011A (en) Modular apparatus for binary quotient, binary product, binary sum and binary difference generation
JPH0831024B2 (en) Arithmetic processor
JP2734438B2 (en) Multiplier
JP2508286B2 (en) Square root calculator
JP2972326B2 (en) Square root calculator
JPS6259828B2 (en)