JPH05224889A - Multiplier - Google Patents

Multiplier

Info

Publication number
JPH05224889A
JPH05224889A JP4025489A JP2548992A JPH05224889A JP H05224889 A JPH05224889 A JP H05224889A JP 4025489 A JP4025489 A JP 4025489A JP 2548992 A JP2548992 A JP 2548992A JP H05224889 A JPH05224889 A JP H05224889A
Authority
JP
Japan
Prior art keywords
multiplier
output
circuit
bits
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4025489A
Other languages
Japanese (ja)
Inventor
Michio Shimada
道雄 島田
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 JP4025489A priority Critical patent/JPH05224889A/en
Publication of JPH05224889A publication Critical patent/JPH05224889A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To accelerate the arithmetic speed of a multiplier for successively adding partial products without increasing the number of adders. CONSTITUTION:By using a partial product circuit 105 for inputting a value shifting a multiplicand to a high order by one bit when the two bits of a multiplier are '10' for outputting the multiplicand when the two bits of the multiplier are '01' or '11' and for outputting '0' when the two bits of the multiplier are '00', a variable shifter 109 for selectably shifting the shift amount of one bit or two bits, sum of products register 107 for selecting the shift amount of one bit or two bits and AND circuit 110 for judging whether the two bits of the multiplier are '11' or not, a partial product is processed for the unit of one bit when the two bits of the multiplier are '11', and the partial product is processed for the unit of two bits when the two bits of the multiplier are '00', '10' or '01'.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、暗号通信装置に利用す
る。特に、この装置に採用される乗算装置に関する。
BACKGROUND OF THE INVENTION The present invention is used in a cryptographic communication device. In particular, it relates to a multiplication device adopted in this device.

【0002】[0002]

【従来の技術】RSA暗号などを用いる暗号通信装置で
は、乗算などの四則演算をして暗号化や復号化を行うの
で、整数の乗算を小規模な回路で高速に実行する必要が
ある。乗算の方式としては様々なものがあるが、暗号通
信装置では、例えば512ビットとか1024ビットも
の整数の乗算が必要なために乗数の1ビットと被乗数と
の部分積を逐次的に求めてそれらの総和を求めることが
一般的である。なお、1ビット単位で部分積を求めて乗
算するとは、Lビットの乗数X=(XL-1 ,XL-2
…,X1 ,X0 )と被乗数Y=(YL-1 ,YL-2 ,…,
1 ,Y0 )との乗算結果Z=(Z2L-1,Z2L-2, …,
1 ,Z0 )を、次式の操作で求めることである。
2. Description of the Related Art In a cryptographic communication device using RSA encryption or the like, since four arithmetic operations such as multiplication are performed for encryption and decryption, it is necessary to execute integer multiplication at high speed by a small-scale circuit. There are various methods of multiplication, but in the cryptographic communication device, for example, since it is necessary to multiply an integer of 512 bits or 1024 bits, a partial product of 1 bit of the multiplier and the multiplicand is sequentially obtained, It is common to find the sum. It should be noted that when a partial product is obtained and multiplied in 1-bit units, an L-bit multiplier X = (X L-1 , X L-2 ,
, X 1 , X 0 ) and multiplicand Y = (Y L-1 , Y L-2 , ...,
Y 1 , Y 0 ) multiplication result Z = (Z 2L-1 , Z 2L-2 , ...,
Z 1 , Z 0 ) is obtained by the operation of the following equation.

【0003】[0003]

【数1】 ただし、上式で*は整数の乗算を表すものとする。2進
数の整数を2倍することは、その整数を上位ビットの方
に1ビットだけシフトすることに他ならないから、上式
の操作は例えば次式のような逐次的な操作として書き換
えられる。なお、次式でA≫BはAを下位ビットの方に
Bビットだけシフトすることを意味し、Zの初期状態を
「0」としてj=0からj=L−1まで操作を繰り返す
ものとする。また、部分積の加算はZの上位ビット(Z
2L-1, …,ZL )に対して行うものとする。
[Equation 1] However, in the above formula, * represents an integer multiplication. Since doubling a binary integer is nothing more than shifting the integer by 1 bit toward the upper bits, the operation of the above equation can be rewritten as a sequential operation such as the following equation. In the following equation, A >> B means that A is shifted by B bits toward the lower bit, and the operation is repeated from j = 0 to j = L−1 with the initial state of Z being “0”. To do. In addition, the addition of partial products is performed by using the upper bit (Z
2L-1, ..., shall be made with respect to Z L).

【0004】Xj =0の場合: Z=Z≫1 Xj =1の場合: Z=(Z≫1)+Y 上式に示すように、1ビットずつ部分積を求めてそれら
の総和を求める乗算では、加算とシフトしか必要としな
いので装置化が容易である。
In the case of X j = 0: Z = Z >> 1 In the case of X j = 1: Z = (Z >> 1) + Y As shown in the above equation, partial products are obtained bit by bit and the sum thereof is obtained. Since multiplication requires only addition and shift, it is easy to implement as a device.

【0005】図5は従来の乗算装置を示す機能ブロック
図である。図に示すように、乗数は入力端子501から
入力されて乗数レジスタ502に保持される。乗数レジ
スタ502に保持された乗数のうち下位1ビットが論理
積回路505に供給され、演算が1ステップ進行するご
とに乗数レジスタ502に保持された乗数は下位方向に
1ビットずつシフトされる。被乗数は入力端子503か
ら供給されて被乗数レジスタ504に保持され、被乗数
レジスタ504に保持された被乗数は論理積回路505
に供給される。論理積回路505は被乗数レジスタ50
4から供給される被乗数のそれぞれのビットと乗数レジ
スタ502から供給される乗数の1ビットとの論理積を
それぞれ計算してその結果を出力する。積和レジスタ5
07は乗算結果を保持するためのレジスタで、保持され
た内容が1ビットシフタ509に供給され、1ビットシ
フタ509と論理積回路505の出力が加算器506で
加算され、加算結果が積和レジスタ507に供給されて
いる。積和レジスタ507は、乗算が1ステップ進行す
るごとに加算器106から供給される加算結果を記録す
るとともに、下位方向にシフトされる。そして、積和レ
ジスタ507に得られた乗算結果は出力端子508から
出力される。なお、制御回路511は、以上の操作を実
行するために必要な制御信号を乗数レジスタ502、被
乗数レジスタ504、積和レジスタ507、入力端子5
01、503および出力端子508に供給するもので、
例えば、制御信号のパターンがあらかじめ書き込まれた
リードオンリメモリの内容をカウンタによって順に読み
出してゆくことで実現できる。
FIG. 5 is a functional block diagram showing a conventional multiplication device. As shown in the figure, the multiplier is input from the input terminal 501 and held in the multiplier register 502. The lower 1 bit of the multiplier held in the multiplier register 502 is supplied to the AND circuit 505, and the multiplier held in the multiplier register 502 is shifted by 1 bit in the lower direction each time the operation proceeds by one step. The multiplicand is supplied from the input terminal 503 and held in the multiplicand register 504, and the multiplicand held in the multiplicand register 504 is the AND circuit 505.
Is supplied to. The AND circuit 505 is a multiplicand register 50.
The logical product of each bit of the multiplicand supplied from 4 and 1 bit of the multiplier supplied from the multiplier register 502 is calculated, and the result is output. Sum of products register 5
Reference numeral 07 is a register for holding the multiplication result, the held contents are supplied to the 1-bit shifter 509, the outputs of the 1-bit shifter 509 and the logical product circuit 505 are added by the adder 506, and the addition result is stored in the product-sum register 507. Is being supplied. The product-sum register 507 records the addition result supplied from the adder 106 every time the multiplication proceeds by one step, and is shifted in the lower direction. Then, the multiplication result obtained in the product sum register 507 is output from the output terminal 508. The control circuit 511 outputs the control signals necessary for executing the above operations to the multiplier register 502, the multiplicand register 504, the sum of products register 507, and the input terminal 5.
01, 503 and the output terminal 508,
For example, it can be realized by sequentially reading the contents of the read-only memory in which the pattern of the control signal is written in advance by the counter.

【0006】なお、RSA暗号などの暗号通信方式は、
四則演算によって情報を暗号化する方法であり、例え
ば、平成3年に発行されたbit第23巻10号の14
23項から1432項に掲載の岡本著「明るい情報化社
会の実現をめざす暗号技術暗号アルゴリズム(2)−
非対称(公開鍵)暗号アルゴリズム」などに解説があ
る。
[0006] Incidentally, the cryptographic communication system such as the RSA cryptosystem is
This is a method of encrypting information by four arithmetic operations, for example, 14 of bit 23, No. 10, issued in 1991.
Okamoto, “Cryptographic Technologies Aiming at Realization of a Bright Information Society,” from 23 to 1432 Cryptographic Algorithms (2)-
Asymmetric (public key) cryptographic algorithms "and so on.

【0007】[0007]

【発明が解決しようとする課題】しかし、従来例で行わ
れる逐次的な乗算では、1ビットずつ部分積を求めるた
めに演算速度が遅い欠点があった。
However, the sequential multiplication performed in the conventional example has a drawback that the operation speed is slow because the partial product is obtained bit by bit.

【0008】本発明は、従来の乗算装置と加算器の数が
等しく、従来の乗算装置より高速な乗算装置を提供する
ことを目的とする。
An object of the present invention is to provide a multiplication device which has the same number of adders as the conventional multiplication device and is faster than the conventional multiplication device.

【0009】[0009]

【課題を解決するための手段】本発明は、乗数を保持す
る乗数レジスタと、被乗数を保持する被乗数レジスタ
と、この被乗数とこの乗数との乗算結果が経由する出力
端子とを備えた乗算装置において、上記乗数レジスタに
保持された乗数の下位2ビットが[10]であるときに
上記被乗数レジスタに保持された被乗数を上位に1ビッ
トシフトした値を出力し、この乗数の下位2ビットが
[01]または[11]であるときにこの被乗数を出力
し、この乗数の下位2ビットが[00]であるときに
「0」を出力する部分積回路と、上記乗数レジスタに保
持された乗数の下位2ビットが[11]であるか否かを
判定する論理積回路と、供給される値を上記論理積回路
の出力に応じて1ビットまたは2ビットシフトして保持
し、この保持された値を上記出力端子に供給する積和レ
ジスタと、この積和レジスタから供給される値を上記論
理積回路の出力に応じて1ビットまたは2ビットシフト
して出力する可変シフタと、この可変シフタの出力と上
記部分積回路の出力とを加算してその結果を上記積和レ
ジスタに供給する加算器とを備えたことを特徴とする。
According to the present invention, there is provided a multiplication device comprising a multiplier register for holding a multiplier, a multiplicand register for holding a multiplicand, and an output terminal through which a multiplication result of the multiplicand and the multiplier passes. When the lower 2 bits of the multiplier held in the multiplier register are [10], a value obtained by shifting the multiplicand held in the multiplicand register by 1 bit to the upper side is output, and the lower 2 bits of the multiplier are [01 ] Or [11], this multiplicand is output, and when the lower 2 bits of this multiplier are [00], a partial product circuit and the lower of the multiplier held in the multiplier register are output. An AND circuit that determines whether or not 2 bits are [11], and a value that is supplied is shifted by 1 bit or 2 bits in accordance with the output of the AND circuit, and is retained, and the retained value is retained. A sum-of-products register to be supplied to the output terminal, a variable shifter for shifting the value supplied from the sum-of-products register by 1 bit or 2 bits according to the output of the AND circuit, and an output of the variable shifter. And an adder for adding the output of the partial product circuit and supplying the result to the product-sum register.

【0010】ここで、上記部分積回路は、上記被乗数レ
ジスタの出力に接続された1ビットシフタと、上記乗数
レジスタが保持する乗数の2ビットのうち上位ビットが
一方の入力に接続され、この乗数の2ビットのうち下位
ビットの反転出力が他方の入力に接続された第一論理積
回路と、上記1ビットシフタの出力とこの第一論理積回
路の出力とを入力する第二論理積回路と、上記被乗数レ
ジスタの出力と上記乗数レジスタが保持する乗数の2ビ
ットのうちの下位ビットとを入力する第三論理積回路
と、上記第二論理積回路の出力とこの第三論理積回路の
出力とを入力しその出力を上記可変シフタに与える論理
和回路とを備えても良い。
Here, in the partial product circuit, the 1-bit shifter connected to the output of the multiplicand register and the upper bit of the 2 bits of the multiplier held by the multiplier register are connected to one input of the multiplier. A first AND circuit having an inverted output of the lower bit of the two bits connected to the other input; a second AND circuit for receiving the output of the 1-bit shifter and the output of the first AND circuit; A third AND circuit for inputting the output of the multiplicand register and the lower bit of the 2 bits of the multiplier held by the multiplier register, the output of the second AND circuit and the output of the third AND circuit An OR circuit that inputs and outputs the output to the variable shifter may be provided.

【0011】[0011]

【作用】本発明は、1ビット単位ではなく、2ビット単
位で部分積を求めることで演算速度を改善する。ここ
で、2ビット単位で部分積を求めて乗算するとは、Lビ
ットの乗数X=(XL-1 ,XL-2 ,…,X1 ,X0 )と
被乗数Y=(YL-1 ,YL-2 ,…,Y1 ,Y0 )との乗
算結果Z=(Z2L-1,Z2L-2,…,Z1 ,Z0 )を次式
のような操作で求めることである。ただし次式で、[X
2j+12j]は乗数Xの2j+1番目のビットと2j番目
のビットの計2ビットによって構成される2ビット整数
とし、*は整数の乗算を表すものとする。また、説明の
便宜上、Lは2で割り切れるものとする。
The present invention improves the operation speed by obtaining the partial product in units of 2 bits instead of in units of 1 bit. Here, when the partial product is calculated in units of 2 bits and multiplied, the L-bit multiplier X = (X L-1 , X L-2 , ..., X 1 , X 0 ) and the multiplicand Y = (Y L-1 , Y L-2 , ..., Y 1 , Y 0 ) and the multiplication result Z = (Z 2L-1 , Z 2L-2 , ..., Z 1 , Z 0 ) are calculated by the following formula. is there. However, in the following equation, [X
2j + 1 X 2j ] is a 2-bit integer configured by 2j + 1th bit and 2jth bit of the multiplier X, 2 bits in total, and * represents multiplication of integers. Further, for convenience of explanation, it is assumed that L is divisible by 2.

【0012】[0012]

【数2】 さて、[00]*Y=0,[01]*Y=Yであり、
[10]*Yは乗数Yを1ビットだけ上位にシフトさせ
ることに他ならないから、上式の操作は例えば次式のよ
うな逐次的な操作として書き換えられる。なお次式で
は、A≪BはAを上位にBビットシフトすることを、A
≫BはAを下位にBビットシフトすることをそれぞれ意
味し、Zの初期状態を「0」としてj=0からj=L/
2−1まで操作を繰り返すものとする。また、部分積の
加算はZの上位ビット(Z2L-1,…,ZL )に対して行
うものとする。
[Equation 2] Now, [00] * Y = 0, [01] * Y = Y,
Since [10] * Y is nothing more than shifting the multiplier Y to the upper bit by one bit, the operation of the above equation can be rewritten as a sequential operation such as the following equation. In the following equation, A << B means that A is shifted to the upper B bits by A
>> B means that A is shifted to the lower B bits, respectively, and the initial state of Z is "0", and j = 0 to j = L /
The operation is repeated up to 2-1. Further, the addition of partial products shall be performed on the upper bits of Z (Z 2L-1 , ..., Z L ).

【0013】 [X2j+12j]=00の場合: Z=Z≫2 [X2j+12j]=01の場合: Z=(Z≫2)+Y [X2j+12j]=10の場合: Z=(Z≫2)+
(Y≪1) [X2j+12j]=11の場合: Z=(Z≫2)+
(Y≪1)+Y しかし、単に2ビットずつ部分積を求めるのでは演算速
度は改善しない。すなわち、上式に示すように、乗数の
2ビットが両方とも「1」の場合には、2回の加算が必
要となるが、これを2個の加算器を用いて処理すると1
ステップ当りの処理時間が約2倍になる。
When [X 2j + 1 X 2j ] = 00: Z = Z >> 2 When [X 2j + 1 X 2j ] = 01: Z = (Z >> 2) + Y [X 2j + 1 X 2j ] = 10: Z = (Z >> 2) +
(Y << 1 ) [X 2j + 1 X 2j ] = 11: Z = (Z >> 2) +
(Y << 1) + Y However, the calculation speed cannot be improved by simply obtaining the partial product for each 2 bits. That is, as shown in the above equation, when both 2 bits of the multiplier are "1", two additions are required, but if this is processed using two adders, it becomes 1
The processing time per step is approximately doubled.

【0014】そこで、本発明では、単に2ビットずつ部
分積をもとめるのではなく、乗数の2ビットが両方とも
「1」の場合には1ビットずつ部分積を処理し、それ以
外の場合には2ビットずつ部分積を処理する。すなわ
ち、次のような手順で乗算を行う。なお次式では、Zの
初期状態を「0」としてj=0からj=L/2−1まで
操作を繰り返すものとする。また、部分積の加算はZの
上位ビット(22L-1,…,ZL )に対して行うものとす
る。
Therefore, in the present invention, the partial product is not calculated for each 2 bits, but the partial product is processed for each 1 bit when both 2 bits of the multiplier are "1", and otherwise. Process partial products by 2 bits. That is, multiplication is performed in the following procedure. In the following equation, it is assumed that the initial state of Z is “0” and the operation is repeated from j = 0 to j = L / 2−1. Further, the addition of partial products shall be performed on the upper bits (2 2L-1 , ..., Z L ) of Z.

【0015】 [X2j+12j]=00の場合: Z=Z≫2 [X2j+12j]=01の場合: Z=(Z≫2)+Y [X2j+12j]=10の場合: Z=(Z≫2)+
(Y≪1) [X2j+12j]=11の場合: Z=(Z≫1)+Y
を2回実行 すなわち、乗数の2ビットが[11]の場合には処理を
2ステップに分割して行うわけである。上式のような手
順では、どのステップも加算回数が1回なので、1ステ
ップの処理に要する時間は1ビット単位に部分積を求め
る方法では、2ビット分の部分積を計算するのに2ステ
ップ必要だったのに対して、上式の手順では平均すると
(1+1+1+2)/4=1.25ステップしか必要と
しない。したがって、上式にもとづく本発明の乗算装置
の演算速度は、従来の1ビットずつ部分積を求める方式
に比べて平均で2/1.25=1.6倍高速になる。
When [X 2j + 1 X 2j ] = 00: Z = Z >> 2 When [X 2j + 1 X 2j ] = 01: Z = (Z >> 2) + Y [X 2j + 1 X 2j ] = 10: Z = (Z >> 2) +
(Y << 1 ) [X 2j + 1 X 2j ] = 11: Z = (Z >> 1) + Y
Is executed twice, that is, when 2 bits of the multiplier are [11], the process is divided into two steps. In the procedure like the above equation, since the number of times of addition is 1 in every step, the time required for the processing of one step is 2 steps to calculate the partial product of 2 bits in the method of obtaining the partial product in 1-bit units. Whereas required, the procedure in the above equation requires only (1 + 1 + 1 + 2) /4=1.25 steps on average. Therefore, the operation speed of the multiplication device of the present invention based on the above equation is 2 / 1.25 = 1.6 times faster on average than the conventional method of obtaining the partial product bit by bit.

【0016】[0016]

【実施例】以下、本発明の一実施例を図面に基づき説明
する。図1はこの実施例を示す機能ブロック図である。
この実施例は、図1に示すように、乗数を保持する乗数
レジスタ102と、被乗数を保持する被乗数レジスタ1
04と、この被乗数とこの乗数との乗算結果が経由する
出力端子108とを備え、さらに、本発明の特徴とする
手段として、乗数レジスタ102に保持された乗数の下
位2ビットが[10]であるときに被乗数レジスタ10
4に保持された被乗数を上位に1ビットシフトした値を
出力し、この乗数の下位2ビットが[01]または[1
1]であるときにこの被乗数を出力し、この乗数の下位
2ビットが[00]であるときに「0」を出力する部分
積回路105と、乗数レジスタ102に保持された乗数
の下位2ビットが[11]であるか否かを判定する論理
積回路110と、供給される値を上記論理積回路110
の出力に応じて1ビットまたは2ビットシフトして保持
し、この保持された値を上記出力端子108に供給する
積和レジスタ107と、この積和レジスタ107から供
給される値を上記論理積回路110の出力に応じて1ビ
ットまたは2ビットシフトして出力する可変シフタ10
9と、この可変シフタ109の出力と部分積回路105
の出力とを加算してその結果を積和レジスタ107に供
給する加算器106とを備える。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a functional block diagram showing this embodiment.
In this embodiment, as shown in FIG. 1, a multiplier register 102 holding a multiplier and a multiplicand register 1 holding a multiplicand.
04, and an output terminal 108 through which the multiplication result of this multiplicand and this multiplier passes. Furthermore, as a feature of the present invention, the lower 2 bits of the multiplier held in the multiplier register 102 are [10]. Multiplicand register 10
A value obtained by shifting the multiplicand held in 4 to the upper bit by 1 bit is output, and the lower 2 bits of this multiplier are [01] or [1
1], the multiplicand is output, and when the lower 2 bits of this multiplier are [00], the partial product circuit 105 and the lower 2 bits of the multiplier held in the multiplier register 102 are output. AND circuit 110 that determines whether or not is [11], and the supplied value is the above-mentioned AND circuit 110.
1-bit or 2-bit after being shifted according to the output of the above, and the held value is supplied to the output terminal 108, and the value supplied from this product-sum register 107 Variable shifter 10 that shifts by 1 bit or 2 bits according to the output of 110 and outputs the result.
9, the output of the variable shifter 109 and the partial product circuit 105
And the output of the adder 106 and add the result to the sum of products register 107.

【0017】次に、この実施例の動作を説明する。乗数
は入力端子101から入力されて乗数レジスタ102に
保持される。乗数レジスタ102に保持された乗数のう
ち下位2ビットが論理積回路110と部分積回路105
とに供給され、乗数の2ビットの処理が完了するごとに
乗数レジスタ102に保持された乗数は下位方向に2ビ
ットずつシフトされる。被乗数は入力端子103から供
給されて被乗数レジスタ104に保持され、被乗数レジ
スタ104に保持された被乗数は部分積回路105に供
給される。部分積回路105は被乗数レジスタ104か
ら供給される被乗数と乗数レジスタ102から供給され
る乗数の2ビットとの部分積を計算してその結果を出力
する。ただし、先に述べたように、乗数の2ビットが
[11]の場合には1ビットずつ部分積を処理し、それ
以外の場合には2ビットずつ部分積を処理するので、部
分積回路105は、乗数の2ビットが[00]のときに
は「00…0」を、乗数の2ビットが[10]のときは
入力を1ビットだけ上位方向にシフトした値を、乗数の
2ビットが[01]または[11]のときには入力され
た値をそれぞれ出力する。積和レジスタ107は乗算結
果を保持するためのレジスタで、保持された内容が可変
シフタ109に供給され、可変シフタ109と部分積回
路105との出力が加算器106で加算され、加算結果
が積和レジスタ107に供給されている。積和レジスタ
107は、乗算が1ステップ進行するごとに加算器10
6から供給される加算結果を記録するとともに、下位方
向にシフトされる。そして、積和レジスタ107に得ら
れた乗算結果は出力端子108から出力される。なお、
先に述べたように、乗数の2ビットが[11]の場合に
は1ビットずつ部分積を処理し、それ以外の場合には2
ビットずつ部分積を処理するので、可変シフタ109
は、乗数の2ビットが[00]、[01]、[10]の
ときには入力を2ビットだけ上位方向にシフトした値を
出力し、乗数の2ビットが[11]のときには入力を1
ビットだけ上位方向にシフトした値を出力する必要があ
り、また、積和レジスタ107は、乗数の2ビットが
[00]、[01]、[10]のときには1ステップご
とに下位方向に2ビットずつシフトし、乗数の2ビット
が[11]のときには1ステップごとに下位方向に1ビ
ットずつシフトする必要がある。このために、論理積回
路110の出力が積和レジスタ107と可変シフタ10
9とに供給されており、可変シフタ109は論理積回路
110の出力が「0」の場合には入力を上位方向に2ビ
ットシフトした値を出力し、論理積回路110の出力が
「1」の場合には入力を上位方向に1ビットシフトした
値を出力し、また、積和レジスタ107は論理積回路1
10の出力が「0」の場合には1ステップごとに下位方
向に2ビットずつシフトし、論理積回路110の出力が
「1」の場合には1ステップごとに下位方向に1ビット
ずつシフトする。なお、制御回路111は、論理積回路
110の出力に応じて積和レジスタ107に供給する制
御信号の数を「1」または「2」に選択することと発生
する制御信号の数が異なることとが従来の乗算器で使わ
れる制御回路511と異なり、それ以外の機能は従来の
乗算器で使われている制御回路511と同様であり、以
上の操作を実行するために必要な制御信号を乗数レジス
タ102、被乗数レジスタ104、積和レジスタ10
7、入力端子101、103および出力端子108に供
給する。
Next, the operation of this embodiment will be described. The multiplier is input from the input terminal 101 and held in the multiplier register 102. Of the multipliers held in the multiplier register 102, the lower 2 bits are the logical product circuit 110 and the partial product circuit 105.
And the multiplier held in the multiplier register 102 is shifted by 2 bits in the lower direction every time the processing of 2 bits of the multiplier is completed. The multiplicand is supplied from the input terminal 103 and held in the multiplicand register 104, and the multiplicand held in the multiplicand register 104 is supplied to the partial product circuit 105. The partial product circuit 105 calculates a partial product of the multiplicand supplied from the multiplicand register 104 and 2 bits of the multiplier supplied from the multiplier register 102, and outputs the result. However, as described above, since the partial product is processed bit by bit when 2 bits of the multiplier are [11], the partial product is processed by 2 bits otherwise, so the partial product circuit 105 Is "00 ... 0" when 2 bits of the multiplier is [00], a value obtained by shifting the input by 1 bit in the upper direction when 2 bits of the multiplier is [10], and 2 bits of the multiplier is [01 ] Or [11], the input values are output respectively. The product-sum register 107 is a register for holding the multiplication result, the held contents are supplied to the variable shifter 109, the outputs of the variable shifter 109 and the partial product circuit 105 are added by the adder 106, and the addition result is multiplied. It is supplied to the sum register 107. The product-sum register 107 is provided with an adder 10 for each multiplication step.
The addition result supplied from 6 is recorded and is shifted in the lower direction. Then, the multiplication result obtained in the product-sum register 107 is output from the output terminal 108. In addition,
As described above, when the 2 bits of the multiplier are [11], the partial product is processed bit by bit, and otherwise, 2 is used.
Since the partial product is processed bit by bit, the variable shifter 109
Outputs a value obtained by shifting the input by 2 bits in the upper direction when the 2 bits of the multiplier are [00], [01], and [10], and outputs 1 when the 2 bits of the multiplier is [11].
It is necessary to output a value shifted in the upper direction by bits, and the product-sum register 107 outputs 2 bits in the lower direction for each step when the 2 bits of the multiplier are [00], [01], and [10]. When the 2 bits of the multiplier are [11], it is necessary to shift one bit in the lower direction for each step. Therefore, the output of the AND circuit 110 is the sum of products register 107 and the variable shifter 10.
When the output of the AND circuit 110 is "0", the variable shifter 109 outputs a value obtained by shifting the input by 2 bits in the upper direction, and the output of the AND circuit 110 is "1". In the case of, a value obtained by shifting the input by 1 bit in the upper direction is output, and the product-sum register 107 outputs the logical product circuit 1
When the output of 10 is "0", it is shifted by 2 bits in the lower direction for each step, and when the output of the AND circuit 110 is "1", it is shifted by 1 bit in the lower direction for each step. .. The control circuit 111 selects "1" or "2" as the number of control signals to be supplied to the sum-of-products register 107 according to the output of the AND circuit 110 and that the number of generated control signals is different. Is different from the control circuit 511 used in the conventional multiplier, and the other functions are the same as those of the control circuit 511 used in the conventional multiplier, and the control signal necessary for executing the above operation is multiplied by the multiplier. Register 102, multiplicand register 104, sum of products register 10
7, the input terminals 101 and 103, and the output terminal 108.

【0018】図2は、図1の乗算装置で使われる部分積
回路105の基本構成を示す機能ブロック図である。図
に示すように、入力端子201からは被乗数レジスタ1
04に保持された被乗数が入力され、1ビットシフタ2
02と論理積回路204とに供給される。入力端子20
7からは乗数レジスタ102から出力される乗数の2ビ
ットのうち上位のビットが入力され、論理積回路208
に供給される。入力端子210からは乗数レジスタ10
2から出力される乗数の2ビットのうち下位のビットが
入力され、否定回路209と論理積回路204とに供給
される。否定回路209の出力は論理積回路208に供
給される。論理積回路208は否定回路209の出力と
入力端子207から供給される乗数の1ビットとの論理
積を計算し、その結果を論理積回路203に供給する。
1ビットシフタ202は入力された数値を1ビットだけ
上位方向にシフトして出力するもので、実際には配線に
よって実現されるもので論理回路は必要としない。論理
積回路203は1ビットシフタ202の出力のそれぞれ
のビットと論理積回路208の出力との論理積をそれぞ
れ計算し、その結果を論理和回路205に供給する。論
理積回路204は入力端子201から供給される被乗数
のそれぞれのビットと入力端子210から供給される乗
数の1ビットとの論理積をそれぞれ計算し、その結果を
論理和回路205に供給する。論理和回路205は論理
積回路203と論理積回路204の出力のビットごとの
論理和をそれぞれ計算し、その結果を出力端子206か
ら出力する。論理積回路208の出力が「1」になるの
は、入力端子207および210から供給される乗数が
[10]の場合だけであるから、図2の部分積回路は、
乗数が[10]のときには入力端子201に供給される
被乗数を1ビットだけ上位方向にシフトした数値を出力
端子206から出力し、乗数が[00]の場合には「0
0…0」を出力端子206から出力し、それ以外の場合
には入力された被乗数をそのまま出力する。なお、常に
2ビットずつ部分積を処理する方法では、部分積回路に
加算器が必要であるが、本発明では乗数が[11]のと
きには1ビットずつ部分積を処理するので、図2のよう
に、加算器を使わないで部分積回路を実現できる。
FIG. 2 is a functional block diagram showing the basic configuration of the partial product circuit 105 used in the multiplication device of FIG. As shown in the figure, from the input terminal 201, the multiplicand register 1
The multiplicand held in 04 is input, and the 1-bit shifter 2
02 and the AND circuit 204. Input terminal 20
The higher-order bit of 2 bits of the multiplier output from the multiplier register 102 is input from 7 and the AND circuit 208
Is supplied to. Multiplier register 10 from input terminal 210
The lower bit of the 2 bits of the multiplier output from 2 is input and supplied to the NOT circuit 209 and the AND circuit 204. The output of the NOT circuit 209 is supplied to the AND circuit 208. The logical product circuit 208 calculates the logical product of the output of the NOT circuit 209 and 1 bit of the multiplier supplied from the input terminal 207, and supplies the result to the logical product circuit 203.
The 1-bit shifter 202 shifts the input numerical value in the upper direction by 1 bit and outputs it, and is actually realized by wiring and does not require a logic circuit. The logical product circuit 203 calculates the logical product of each bit of the output of the 1-bit shifter 202 and the output of the logical product circuit 208, and supplies the result to the logical sum circuit 205. The logical product circuit 204 calculates the logical product of each bit of the multiplicand supplied from the input terminal 201 and 1 bit of the multiplier supplied from the input terminal 210, and supplies the result to the logical sum circuit 205. The logical sum circuit 205 calculates the logical sum for each bit of the outputs of the logical product circuit 203 and the logical product circuit 204, and outputs the result from the output terminal 206. The output of the logical product circuit 208 becomes "1" only when the multiplier supplied from the input terminals 207 and 210 is [10]. Therefore, the partial product circuit of FIG.
When the multiplier is [10], a value obtained by shifting the multiplicand supplied to the input terminal 201 by 1 bit in the upper direction is output from the output terminal 206, and when the multiplier is [00], it is "0".
0 ... 0 ”is output from the output terminal 206, and in other cases, the input multiplicand is output as it is. Incidentally, in the method of always processing the partial product by 2 bits, the partial product circuit needs the adder, but in the present invention, the partial product is processed by 1 bit when the multiplier is [11]. Moreover, a partial product circuit can be realized without using an adder.

【0019】図3は、図1の乗算装置で使われる可変シ
フタ109の基本構成を示す機能ブロック図である。図
に示すように、積和レジスタ107の内容が入力端子3
01から入力され、2ビットシフタ302と1ビットシ
フタ303とにそれぞれ供給されている。入力端子30
6からは論理積回路110の出力が入力され、セレクタ
304に供給される。2ビットシフタ302は入力され
た数値を2ビットだけ上位方向にシフトして出力するも
ので、実際には配線によって実現され論理回路を必要と
しない。1ビットシフタ303は入力された数値を1ビ
ットだけ上位方向にシフトして出力するもので、実際に
は配線によって実現され論理回路は必要としない。セレ
クタ304は、論理積回路110の出力が「1」ならば
1ビットシフタの出力を出力端子305から出力し、論
理積回路110の出力が「0」ならば2ビットシフタ3
02の出力を出力端子305から出力する。
FIG. 3 is a functional block diagram showing the basic structure of the variable shifter 109 used in the multiplication device of FIG. As shown in FIG.
It is input from 01 and supplied to the 2-bit shifter 302 and the 1-bit shifter 303, respectively. Input terminal 30
The output of the AND circuit 110 is input from 6 and supplied to the selector 304. The 2-bit shifter 302 shifts the input numerical value by 2 bits in the upper direction and outputs it, and is actually realized by wiring and does not require a logic circuit. The 1-bit shifter 303 shifts the input numerical value by 1 bit in the upper direction and outputs it, and is actually realized by wiring and does not require a logic circuit. The selector 304 outputs the output of the 1-bit shifter from the output terminal 305 if the output of the AND circuit 110 is “1”, and the 2-bit shifter 3 if the output of the AND circuit 110 is “0”.
02 is output from the output terminal 305.

【0020】さて、図1に示す乗算装置は、演算の中間
結果すなわちZの値のすべてを積和レジスタ107に保
持することもあるが、積和レジスタ107の回路規模を
節約するために、出力端子108から積和レジスタ10
7の内容を下位ビットから順に出力し、演算を行いなが
ら演算結果を外部の記憶装置に転送することもある。し
かし、この実施例では、乗数の値に応じて部分積を2ビ
ットずつ処理したり1ビットずつ処理するので、単に積
和レジスタ107の下位2ビットを出力端子108から
出力するのでは記憶装置に正しく転送できない。
The multiplication device shown in FIG. 1 may hold all intermediate results of operations, that is, all Z values in the product-sum register 107. However, in order to save the circuit scale of the product-sum register 107, the output Sum-of-products register 10 from terminal 108
The contents of 7 may be output in order from the lower bit, and the operation result may be transferred to an external storage device while performing the operation. However, in this embodiment, since the partial product is processed in units of 2 bits or 1 bit in accordance with the value of the multiplier, it is not possible to simply output the lower 2 bits of the product sum register 107 from the output terminal 108 to the storage device. Can't transfer correctly.

【0021】図4は、演算を行いながら演算結果を記憶
装置に転送するために、図1の乗算装置と記憶装置との
間のデータ信号および制御信号を調整するインタフェー
ス回路の基本構成を示す機能ブロック図である。図に示
すように、積和レジスタ107の最下位ビットの値が入
力端子402から入力され、遅延回路405、セレクタ
408およびセレクタ409に供給され、積和レジスタ
107の下位から2ビット目の値が入力端子401から
入力され、セレクタ408に供給されている。入力端子
403から制御回路111の制御信号が入力され、遅延
回路405、406および論理和回路410に供給され
ている。この制御信号は積和レジスタ107にも供給さ
れ、通常は「1」で、積和レジスタ107の内容をシフ
トする際に「0」になって再び「1」に戻るようなパル
スが発生される。なお、論理積回路110の出力が
「0」の場合には2ビットの乗数を処理するのに1個の
パルスが発生され、論理積回路110の出力が「1」の
場合には2ビットの乗数を処理するのに2個のパルスが
発生される。入力端子404からは論理積回路110の
出力が入力され、遅延回路406、セレクタ408、セ
レクタ409および論理積回路411に供給される。セ
レクタ408は、入力端子404から供給される論理積
回路110の値が「0」であれば入力端子401から供
給される値をその出力に選び、論理積回路110の値が
「1」であれば入力端子402から供給される値をその
出力に選び、セレクタ408の出力は出力端子412か
ら出力される。セレクタ409は、入力端子404から
供給される論理積回路110の値が「0」であれば入力
端子402から供給される値をその出力に選び、論理積
回路110の値が「1」であれば遅延回路405の出力
をその出力に選び、セレクタ409の出力は出力端子4
13から出力される。遅延回路405は、入力端子40
3からパルスが供給されるごとに入力端子402の値を
その出力として保持する。出力端子412と出力端子4
13とは出力端子108に接続される。このようにすれ
ば、論理積回路110の出力が「0」の場合には積和レ
ジスタ107の下位2ビットが出力端子108からその
まま出力され、一方、論理積回路110の出力が「1」
の場合には入力端子403からパルスが1個入った後に
積和レジスタ107の下位2ビットが出力端子108に
出力される。
FIG. 4 is a function showing a basic configuration of an interface circuit for adjusting data signals and control signals between the multiplication device and the storage device of FIG. 1 in order to transfer the operation result to the storage device while performing the operation. It is a block diagram. As shown in the figure, the value of the least significant bit of the product sum register 107 is input from the input terminal 402 and supplied to the delay circuit 405, the selector 408 and the selector 409, and the value of the second least significant bit of the product sum register 107 is set. It is input from the input terminal 401 and supplied to the selector 408. The control signal of the control circuit 111 is input from the input terminal 403 and supplied to the delay circuits 405 and 406 and the logical sum circuit 410. This control signal is also supplied to the sum-of-products register 107, and is normally "1". When the contents of the sum-of-products register 107 are shifted, a pulse is generated which becomes "0" and returns to "1" again. .. When the output of the logical product circuit 110 is "0", one pulse is generated to process the 2-bit multiplier, and when the output of the logical product circuit 110 is "1", a pulse of 2 bits is generated. Two pulses are generated to process the multiplier. The output of the logical product circuit 110 is input from the input terminal 404 and supplied to the delay circuit 406, the selector 408, the selector 409, and the logical product circuit 411. If the value of the AND circuit 110 supplied from the input terminal 404 is “0”, the selector 408 selects the value supplied from the input terminal 401 as its output, and if the value of the AND circuit 110 is “1”. For example, the value supplied from the input terminal 402 is selected as the output, and the output of the selector 408 is output from the output terminal 412. If the value of the AND circuit 110 supplied from the input terminal 404 is “0”, the selector 409 selects the value supplied from the input terminal 402 as its output, and if the value of the AND circuit 110 is “1”. For example, the output of the delay circuit 405 is selected as the output, and the output of the selector 409 is the output terminal 4
It is output from 13. The delay circuit 405 has an input terminal 40.
Each time a pulse is supplied from 3, the value of the input terminal 402 is held as its output. Output terminal 412 and output terminal 4
13 is connected to the output terminal 108. In this way, when the output of the AND circuit 110 is “0”, the lower 2 bits of the product-sum register 107 are directly output from the output terminal 108, while the output of the AND circuit 110 is “1”.
In the case of 1, the lower 2 bits of the product-sum register 107 are output to the output terminal 108 after one pulse is input from the input terminal 403.

【0022】次に、出力端子108に接続される記憶装
置の書き込みを制御するためのパルスの制御について述
べる。図4に示すインタフェース回路では、遅延回路4
06に入力端子403からパルスが入力されるごとに入
力端子404から供給される論理積回路110の出力を
遅延回路406の出力として保持する。そして、遅延回
路406の出力を否定回路407で反転し、否定回路4
07の出力と入力端子404から供給される論理積回路
110の出力との論理積を論理積回路411でとる。論
理積回路411の出力は、論理積回路110の出力が
「1」になった直後から入力端子403からパルスが入
力されるまで「1」で、それ以外のときは「0」であ
る。そして、入力端子403から供給される制御信号と
論理積回路411の出力との論理和が論理和回路410
で計算され、その結果が出力端子414から出力され
る。したがって、論理積回路110の出力が「1」の場
合には2ビットの乗数を処理するために入力端子403
からパルスが2個入るが、最初のパルスは出力端子41
4から出力されずに2番目のパルスだけが出力される。
したがって、出力端子414を記憶装置の書き込み制御
端子に入力すれば積和レジスタ107の下位2ビットは
記憶装置に正しく転送される。
Next, pulse control for controlling writing in the memory device connected to the output terminal 108 will be described. In the interface circuit shown in FIG. 4, the delay circuit 4
Each time a pulse is input from the input terminal 403 to 06, the output of the AND circuit 110 supplied from the input terminal 404 is held as the output of the delay circuit 406. Then, the output of the delay circuit 406 is inverted by the negation circuit 407, and the negation circuit 4
A logical product circuit 411 obtains a logical product of the output of 07 and the output of the logical product circuit 110 supplied from the input terminal 404. The output of the AND circuit 411 is "1" immediately after the output of the AND circuit 110 becomes "1" until a pulse is input from the input terminal 403, and is "0" otherwise. Then, the logical sum of the control signal supplied from the input terminal 403 and the output of the logical product circuit 411 is the logical sum circuit 410.
And the result is output from the output terminal 414. Therefore, when the output of the AND circuit 110 is "1", the input terminal 403 is used to process the 2-bit multiplier.
There are two pulses from, but the first pulse is output terminal 41.
Only the second pulse is output without being output from 4.
Therefore, if the output terminal 414 is input to the write control terminal of the storage device, the lower 2 bits of the sum-of-products register 107 are correctly transferred to the storage device.

【0023】なお、図1に示す乗算装置では、入力端子
101から乗数レジスタ102へのデータ転送や、入力
端子103から被乗数レジスタ104へのデータ転送
や、積和レジスタ107から出力端子108へのデータ
転送をシリアルに行っているが、各レジスタを複数のブ
ロックに分割してそれぞれのレジスタに対するシリアル
なデータ転送を並列に行えばデータ転送速度を改善でき
る。また、図1に示す乗算装置は乗数レジスタ102を
内蔵しているが、外部の記憶装置から乗数の2ビットを
読み込んで論理積回路110と部分積回路105とに供
給すれば乗数レジスタ102は不要になる。また、加算
器106として任意の加算器が使える。
In the multiplication device shown in FIG. 1, data transfer from the input terminal 101 to the multiplier register 102, data transfer from the input terminal 103 to the multiplicand register 104, and data transfer from the sum-of-products register 107 to the output terminal 108. Although the transfer is performed serially, the data transfer speed can be improved by dividing each register into a plurality of blocks and performing serial data transfer to each register in parallel. Further, the multiplication device shown in FIG. 1 has a built-in multiplier register 102, but the multiplier register 102 is not necessary if 2 bits of the multiplier are read from an external storage device and supplied to the AND circuit 110 and the partial product circuit 105. become. Any adder can be used as the adder 106.

【0024】[0024]

【発明の効果】本発明は、以上述べたように、加算器を
増やさないで、従来の乗算装置より1.6倍高速な乗算
装置を実現できる効果がある。
As described above, the present invention has the effect of realizing a multiplication device 1.6 times faster than the conventional multiplication device without increasing the number of adders.

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

【図1】本発明実施例の構成を示すブロック構成図。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.

【図2】図1に含まれる部分積回路の構成を示すブロッ
ク構成図。
FIG. 2 is a block diagram showing a configuration of a partial product circuit included in FIG.

【図3】図1に含まれる可変シフタの構成を示すブロッ
ク構成図。
FIG. 3 is a block configuration diagram showing a configuration of a variable shifter included in FIG. 1.

【図4】本発明実施例と記憶装置との間のインタフェー
スの構成を示すブロック構成図。
FIG. 4 is a block configuration diagram showing a configuration of an interface between the embodiment of the present invention and a storage device.

【図5】従来例の構成を示すブロック構成図。FIG. 5 is a block configuration diagram showing a configuration of a conventional example.

【符号の説明】[Explanation of symbols]

102 乗数レジスタ 104 被乗数レジスタ 105 部分積回路 106 加算器 107 積和レジスタ 109 可変シフタ 110 論理積回路 111 制御回路 102 Multiplier register 104 Multiplicand register 105 Partial product circuit 106 Adder 107 Sum of products register 109 Variable shifter 110 Logical product circuit 111 Control circuit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 乗数を保持する乗数レジスタと、被乗数
を保持する被乗数レジスタと、この被乗数とこの乗数と
の乗算結果が経由する出力端子とを備えた乗算装置にお
いて、 上記乗数レジスタに保持された乗数の下位2ビットが
[10]であるときに上記被乗数レジスタに保持された
被乗数を上位に1ビットシフトした値を出力し、この乗
数の下位2ビットが[01]または[11]であるとき
にこの被乗数を出力し、この乗数の下位2ビットが[0
0]であるときに「0」を出力する部分積回路と、 上記乗数レジスタに保持された乗数の下位2ビットが
[11]であるか否かを判定する論理積回路と、 供給される値を上記論理積回路の出力に応じて1ビット
または2ビットシフトして保持し、この保持された値を
上記出力端子に供給する積和レジスタと、 この積和レジスタから供給される値を上記論理積回路の
出力に応じて1ビットまたは2ビットシフトして出力す
る可変シフタと、 この可変シフタの出力と上記部分積回路の出力とを加算
してその結果を上記積和レジスタに供給する加算器とを
備えたことを特徴とする乗算装置。
1. A multiplier device having a multiplier register for holding a multiplier, a multiplicand register for holding a multiplicand, and an output terminal through which a multiplication result of this multiplicand and this multiplier passes, wherein the multiplier register is held. When the lower 2 bits of the multiplier is [10], a value obtained by shifting the multiplicand held in the multiplicand register by 1 bit to the upper side is output, and when the lower 2 bits of the multiplier is [01] or [11] This multiplicand is output to and the lower 2 bits of this multiplier are [0
A partial product circuit that outputs “0” when the value is 0], an AND circuit that determines whether the lower 2 bits of the multiplier held in the multiplier register is [11], and a value that is supplied. Is shifted by 1 bit or 2 bits according to the output of the logical product circuit and held, and the held value is supplied to the output terminal, and the value supplied from the product sum register A variable shifter that shifts the output by 1 bit or 2 bits according to the output of the product circuit, and an adder that adds the output of the variable shifter and the output of the partial product circuit and supplies the result to the product-sum register. And a multiplication device.
【請求項2】 上記部分積回路は、上記被乗数レジスタ
の出力に接続された1ビットシフタと、上記乗数レジス
タが保持する乗数の2ビットのうち上位ビットが一方の
入力に接続され、この乗数の2ビットのうち下位ビット
の反転出力が他方の入力に接続された第一論理積回路
と、上記1ビットシフタの出力とこの第一論理積回路の
出力とを入力する第二論理積回路と、上記被乗数レジス
タの出力と上記乗数レジスタが保持する乗数の2ビット
のうちの下位ビットとを入力する第三論理積回路と、上
記第二論理積回路の出力とこの第三論理積回路の出力と
を入力しその出力を上記可変シフタに与える論理和回路
とを備えた請求項1記載の乗算装置。
2. The partial product circuit has a 1-bit shifter connected to the output of the multiplicand register and an upper bit of 2 bits of the multiplier held by the multiplier register connected to one input of the multiplier. A first AND circuit to which the inverted output of the lower bit of the bits is connected to the other input; a second AND circuit which inputs the output of the 1-bit shifter and the output of the first AND circuit; and the multiplicand Input the output of the register and the lower bit of the 2 bits of the multiplier held by the multiplier register, the output of the second AND circuit and the output of the third AND circuit 3. A multiplication device according to claim 1, further comprising a logical sum circuit for providing its output to the variable shifter.
JP4025489A 1992-02-12 1992-02-12 Multiplier Pending JPH05224889A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4025489A JPH05224889A (en) 1992-02-12 1992-02-12 Multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4025489A JPH05224889A (en) 1992-02-12 1992-02-12 Multiplier

Publications (1)

Publication Number Publication Date
JPH05224889A true JPH05224889A (en) 1993-09-03

Family

ID=12167475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4025489A Pending JPH05224889A (en) 1992-02-12 1992-02-12 Multiplier

Country Status (1)

Country Link
JP (1) JPH05224889A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527161A (en) * 2006-02-17 2009-07-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Method and apparatus for performing product-sum operation
JP2011118633A (en) * 2009-12-02 2011-06-16 Nec Corp Floating point divider and information processing apparatus using the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527161A (en) * 2006-02-17 2009-07-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Method and apparatus for performing product-sum operation
JP2011118633A (en) * 2009-12-02 2011-06-16 Nec Corp Floating point divider and information processing apparatus using the same

Similar Documents

Publication Publication Date Title
EP0976027B1 (en) ARITHMETIC PROCESSOR combining finite field arithmetic and modular integer arithmetic
US4754421A (en) Multiple precision multiplication device
US5764554A (en) Method for the implementation of modular reduction according to the Montgomery method
EP0801345B1 (en) Circuit for modulo multiplication and exponentiation arithmetic
CN110351087B (en) Pipelined Montgomery modular multiplication operation method
US20020178196A1 (en) Modular arithmetic coprocessor comprising two multiplication circuits working in parallel
JPH1021057A (en) Data processor and microcomputer
JP3213628B2 (en) An arithmetic unit for multiplying long integers modulo M and an R.M. S. A. converter
US20030037087A1 (en) Apparatus and method for efficient modular exponentiation
JPH08101779A (en) Electronic circuit for modular calculation in finite region
US6963644B1 (en) Multi-word arithmetic device for faster computation of cryptosystem calculations
US4065666A (en) Multiply-divide unit
JP2000353077A (en) Mutifold length arithmetic unit
US6341299B1 (en) Modular arithmetic coprocessor enabling the performance of non-modular operations at high speed
US6424987B1 (en) Method for the implementation of a specific modular multiplication operation relating to the montgomery method
EP0474246A2 (en) Image signal processor
JPH05224889A (en) Multiplier
JPH06175583A (en) Power remainder operation circuit
US5912904A (en) Method for the production of an error correction parameter associated with the implementation of modular operations according to the Montgomery method
US20030065694A1 (en) Montgomery multiplier with dual independent channels
US5999953A (en) Method for the production of a parameter Jo associated with the implementation of a modular operation according to the Montgomery method
US5650952A (en) Circuit arrangement for forming the sum of products
US6212538B1 (en) Method for the performance of an integer division with a modular arithmetic coprocessor
JP3166781B2 (en) Adder circuit
US6275837B1 (en) Method for the implementation of an elementary modular operation according to the Montgomery method