JPH0440521A - Multiplier - Google Patents

Multiplier

Info

Publication number
JPH0440521A
JPH0440521A JP2149016A JP14901690A JPH0440521A JP H0440521 A JPH0440521 A JP H0440521A JP 2149016 A JP2149016 A JP 2149016A JP 14901690 A JP14901690 A JP 14901690A JP H0440521 A JPH0440521 A JP H0440521A
Authority
JP
Japan
Prior art keywords
carry
adder
digit
data
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2149016A
Other languages
Japanese (ja)
Inventor
Hiromi Yagi
八木 博美
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2149016A priority Critical patent/JPH0440521A/en
Publication of JPH0440521A publication Critical patent/JPH0440521A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To shorten the whole multiplication time by dividing a final stage adding circuit into two to the upper side and the lower side and calculating them in parallel, respectively, and also, calculating three results obtained by adding '0', '1' and '2' to the lowest digit of the upper side. CONSTITUTION:The device is provided with adding circuits 20, 22 for dividing the partial product generated at the time of executing addition of the final partial product by receiving the output from a multiplication array 1 into under the digit being lower by one of the lowest code bit and above the digit being lower by one, and calculating the divided data, respectively. In such a state, as for above the digit being lower by one, to the digit being lower by one of the lowest code bit, three kinds of additions for adding '0', '1' and '2' are executed simultaneously in advance in accordance with existence of carry from under the digit being lower by one and existence of carry by round-off, and also, at the time point when existence of carry from under the digit being lower by one and carry by round-off is determined, one of three kinds of addition results of above the digit being lower by one is selected. In such a way, calculations are executed in parallel, respectively, and also, the calculation of the upper digit again is made unnecessary, and the whole multiplication time can be shortened.

Description

【発明の詳細な説明】 「産業上の利用分野] 本発明は、乗算装置に係り、特に浮動小数点乗算装置に
好適な乗算装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a multiplication device, and particularly to a multiplication device suitable for a floating-point multiplication device.

[従来の技術] I EEE規格に準拠した浮動小数点乗算方法について
、32ピツ1〜からなるデータ を例にとり以下に説明する。
[Prior Art] A floating point multiplication method conforming to the IEEE standard will be described below using data consisting of 32 bits 1 to 32 as an example.

符号はSAとSBの排他的論理和(EX−OR)から結
果が得られ、指数はeA+eB−127から結果が得ら
れる。
The code is obtained from the exclusive OR (EX-OR) of SA and SB, and the exponent is obtained from eA+eB-127.

尚、eA、eBは8ビツトからなる。Note that eA and eB consist of 8 bits.

仮数はオペランドA、Bの23ビツトからなる仮数部f
A、fBに隠れビット(Hidden Bit、以下H
Bと記す)を1ビット加えて(l、fA)x(1,fB
)の乗算が得られる。この場合、仮数部は24ビツトの
乗算となるから乗算結果は第7図に示すように48ビツ
トとなる。乗算結果48ビツトの最上位ビット、いわゆ
るオーバーフロービット(以下Vと記す)に1か立って
いれば仮数部を正規化するために乗算結果を下位側へ1
ビツトシフトし指数に1を加算する。
The mantissa is a mantissa part f consisting of 23 bits of operands A and B.
A, fB have hidden bits (Hidden Bits, hereinafter H
(denoted as B) is added to (l, fA) x (1, fB
) is obtained. In this case, since the mantissa is multiplied by 24 bits, the multiplication result becomes 48 bits as shown in FIG. If the most significant bit of the 48-bit multiplication result, the so-called overflow bit (hereinafter referred to as V), is set to 1, the multiplication result is transferred to the lower order by 1 to normalize the mantissa.
Bit shift and add 1 to the exponent.

尚、■のデータがOであればシフトシない。Incidentally, if the data of ■ is O, there is no shift.

次に乗算結果48ビツトの下位の所定ピッ1〜と丸めの
種類と符号結果とから、丸めによる桁」二げが発生する
かどうかを判断する。その結果丸めによる桁上げが発生
すれば乗算結果48ビツトの所定の位置に1を加算する
。発生しなければ加算する必要はない。これらの操作の
後、仮数部の乗算としてl(Bより1ビツト下位のビッ
トから23ビツトを出力する。この乗算フローを第9図
に示す。
Next, it is determined from the lower predetermined bits of the 48 bits of the multiplication result, the type of rounding, and the sign result whether or not a missing digit will occur due to rounding. As a result, if a carry occurs due to rounding, 1 is added to a predetermined position of the 48-bit multiplication result. If it does not occur, there is no need to add it. After these operations, 23 bits are output from the bit one bit lower than l(B) as a multiplication of the mantissa part. The flow of this multiplication is shown in FIG.

しかし、上記のように丸めによる桁上げの有無が決まっ
てから仮数部の所定の位置に1加算していてのでは時間
がかかるので、予め仮数部の所定の位置に1を加算した
結果と、加算していない結果との両方を用意しておき、
丸めの桁」−げの有無によっていずれかを選択すれば乗
算時間が短かくなることが知られている。このことを以
下に詳しく説明する。
However, it takes time to add 1 to a predetermined position of the mantissa after determining whether or not there will be a carry due to rounding as described above. Prepare both the unadded result and
It is known that the multiplication time can be shortened by selecting either one depending on the presence or absence of rounding digits. This will be explained in detail below.

■と丸めによる桁」ユげの有無の関係は次の6通よる桁
上げが無い場合。
The relationship between ■ and the presence or absence of a digit due to rounding is when there is no carry due to the following six numbers.

■丸め前の乗算結果のVのデータがOで丸めによる桁上
げが無い場合。
■When the data of V in the multiplication result before rounding is O and there is no carry due to rounding.

これら6通りのうち■の場合は実際にはありえないこと
であるから除外する。
Among these six cases, case (■) is excluded because it is actually impossible.

■の場合は、丸め前の乗算結果のVから数えて24ビツ
ト目(以後2 L S Bと記す)に1を加算し、■か
ら数えて2ビツト目、即ちHBから2LSBまでを丸め
後の乗算結果として出力する。
In the case of ■, add 1 to the 24th bit (hereinafter referred to as 2LSB) counting from V of the multiplication result before rounding, and add 1 to the 2nd bit counting from ■, that is, from HB to 2LSB, after rounding. Output as the multiplication result.

■の場合は、丸め前の乗算結果がHBから■、SBまで
の24ビットの全てが”1”のとき生じる。L S B
はVから数えて25ビット目である。
In the case of (2), the multiplication result before rounding occurs when all 24 bits from HB to (2) and SB are "1". LSB
is the 25th bit counting from V.

この場合、丸めによる桁上げの1加算によってHBから
LSBまでの24ビツト全てのデータがO″′となるか
ら、2 L S Bに1加算し、I−I Bから2 L
 S Bまでの23ビツトを丸め後の乗算結果としても
よい。
In this case, all 24 bits of data from HB to LSB become O'' by adding 1 to the carry due to rounding, so 1 is added to 2LSB and 2L is added from I-IB.
The 23 bits up to SB may be used as the multiplication result after rounding.

■の場合は、丸め前の乗算結果のL S Bのデータか
1のとき、2 L S Bに1加算し、丸め後の乗算結
果としてHBより]ビット下位のビットからりか考えら
れる。
In the case of (2), when the LSB data of the multiplication result before rounding is 1, it is possible to add 1 to 2 LSB and use the bits lower than HB as the multiplication result after rounding.

■丸め前の乗算結果のVのデータが1で丸めによる桁上
げが有るとき、乗算結果の」1位24ビットを右へ1ビ
ツトシフト後に前記24ビツトのLSBに1加算を行な
うと、■のデータが再び1となる場合。
■When the data of V in the multiplication result before rounding is 1 and there is a carry due to rounding, if you shift the first 24 bits of the multiplication result by 1 bit to the right and then add 1 to the LSB of the 24 bits, the data in ■ becomes 1 again.

■丸め前の乗算結果の■のデータか]で丸めによる桁上
げが有るとき、乗算結果の上位24ビツトを右へ1ビッ
トシフト後に前記24ビツトのしSBに1加算を行なっ
てもVのデータかlとはならない場合。
If there is a carry due to rounding in [Is it the data in ■ of the multiplication result before rounding], even if you shift the upper 24 bits of the multiplication result by 1 bit to the right and then add 1 to SB by adding 1 to the 24 bits, the data in V If this is not the case.

■丸め前の乗算結果の■のデータがOで丸めによる桁上
げか有るとき、■から数えて25ビツト目に1の加算を
行なうとVのデータが1となる場合。
(2) When the data (2) of the multiplication result before rounding is O and there is a carry due to rounding, when adding 1 to the 25th bit counting from (2), the data of V becomes 1.

■丸め前の乗算結果の■のデータかOで丸めによる桁」
二げが有るとき、■から数えて25ビツト目に1の加算
を行なってもVのデータが○である場合。
■Data of ■ of multiplication result before rounding or digits due to rounding with O”
When there is a double edge, the data of V is ○ even if 1 is added to the 25th bit counting from ■.

■丸め前の乗算結果のVのデータか1で丸めに2 L 
S Bまでの22ビツトにLSBのデータのOを追加し
て出力すればよい。またLSBのデータが0のとき、丸
め後の乗算結果としてl加算しないでI(Bより1ビツ
ト下位のビットから2LSBまでの22ビツトにLSB
のデータの1を追加して出力すればよい。
■The V data of the multiplication result before rounding or 1 for rounding 2 L
It is sufficient to add O of the LSB data to the 22 bits up to SB and output it. Also, when the LSB data is 0, the LSB is added to the 22 bits from the bit 1 bit lower than B to the 2LSB without adding l as the multiplication result after rounding.
Just add 1 to the data and output it.

■の場合は、HBから2LSBの23ビツトを乗算結果
として出力する。
In case (2), 23 bits from HB to 2LSB are output as the multiplication result.

■の場合は、HBの1ビツト下位のビットからL S 
Bまでの23ビツトを乗算結果として出力する。
In the case of ■, L S
The 23 bits up to B are output as the multiplication result.

尚、■■■の場合は指数に1加算を行なう。In addition, in the case of ■■■, 1 is added to the exponent.

以上の■〜■の各場合から判るように、丸めの桁上げ処
理を行なうとき、1加算する位置は2 L S Bでよ
いことがわかる。
As can be seen from each of the cases (1) to (2) above, when performing rounding carry processing, the position where 1 is added can be 2 LSB.

このような演算を行う浮動小数点乗算装置の構成を第1
0図に示す。
The configuration of a floating-point multiplication device that performs such operations is described in the first section.
Shown in Figure 0.

仮数部のデータであり23ビツトからなるfA及びfB
か供給され乗算演算を行う乗算アレー1の出力側は、加
算器2、加算器3及び加算器4に接続される。加算器2
及び加算器3は、乗算アレー1より送出される部分積デ
ータを加算し下位24ビツトの乗算結果を送出する最終
段の加算器であり、加算器4も加算器2及び3と同様の
加算器であり2LSBに1を加算した」1位24ビット
の乗算結果を送出する加算器である。又、加算器2より
発生するキャリー信号の出力端子が加算器3及び4に接
続される。このように加算器3及び4は、供給される信
号が乗算アレー1の出力信号で同じであり又、下位から
送出されるキャリー信号も同じであり、同じ加算器が2
つ配置されている構成をなす。
fA and fB are mantissa data consisting of 23 bits.
The output side of the multiplication array 1, which is supplied with a multiplication signal and performs multiplication operations, is connected to an adder 2, an adder 3, and an adder 4. Adder 2
and adder 3 are the final stage adders that add the partial product data sent out from multiplier array 1 and send out the multiplication result of the lower 24 bits, and adder 4 is also an adder similar to adders 2 and 3. This is an adder that sends out the multiplication result of the first 24 bits, which is 1 added to 2LSB. Further, the output terminal of the carry signal generated by adder 2 is connected to adders 3 and 4. In this way, the signal supplied to adders 3 and 4 is the same as the output signal of multiplication array 1, and the carry signal sent from the lower order is also the same.
The configuration consists of two locations.

加算器2の出力側は、演算値の丸めによる桁」二げを検
出する検出回路5に接続され、又、加算器2のLSBデ
ータ出力端子は仮数部選択信号生成回路6に接続される
。加算器3及び加算器4の桁]二げ信号出力端子は仮数
部選択信号生成回路6及び指数部選択信号生成回路7に
接続され、加算器3の桁」二げ信号出力端子は、さらに
丸めによる桁」二げ検出回路5に接続されている。
The output side of the adder 2 is connected to a detection circuit 5 that detects a digit missing due to rounding of the calculated value, and the LSB data output terminal of the adder 2 is connected to a mantissa selection signal generation circuit 6. The digit second signal output terminal of adder 3 and adder 4 is connected to the mantissa selection signal generation circuit 6 and the exponent selection signal generation circuit 7, and the digit second signal output terminal of adder 3 It is connected to the second digit detection circuit 5.

ットよりlビット下位にOR回路14が送出するビット
データを付加する回路である。
This circuit adds the bit data sent by the OR circuit 14 to l bits lower than the bit.

加算器4の出力側も加算器3と同様に演算結果のデータ
を右へ1ビツト分シフトする右1シフタ9を介してマル
チプレクサ10に接続されるとともに、付加回路16を
介してマルチプレクサ10に接続される。
Similarly to the adder 3, the output side of the adder 4 is also connected to the multiplexer 10 via a right 1 shifter 9 that shifts the data of the operation result by 1 bit to the right, and is also connected to the multiplexer 10 via an additional circuit 16. be done.

尚、付加回路16に供給される加算器4の出力データは
、VとHBとが除かれた22ビツトである。又、付加回
路16には、Oの信号が供給され、加算器4より供給さ
れる22ビットからなるデータの最下位ビットよりlビ
ット下位にOのデータのを付加する回路である。
Note that the output data of the adder 4 supplied to the additional circuit 16 is 22 bits with V and HB removed. Further, the addition circuit 16 is supplied with the O signal, and is a circuit that adds the O data to l bits lower than the least significant bit of the 22-bit data supplied from the adder 4.

マルチプレクサ10には、第10図に示すように、人な
いしDのデータが供給され、マルチプレクサ10は仮数
部選択信号生成回路6より送出される信号によってこれ
らのAないしDのデータを選択する回路である。
As shown in FIG. 10, the multiplexer 10 is supplied with data from A to D, and the multiplexer 10 is a circuit that selects these data from A to D using a signal sent from the mantissa selection signal generation circuit 6. be.

尚、データAは、加算器3の出力データである1−IB
から2LSBまでの23ビツトか右1シフタ丸めによる
桁上げ検出回路5は、加算器2より24ビツトからなる
出力データが供給され、加算器3より桁上げ信号及び2
 L S Bデータが供給され、さらに丸めの種類を示
す信号及びデータSA、SBに基つく符号結果が供給さ
れることで、丸めによる桁」−げの有無を示す信号RO
,R1を送出する回路である。
Note that data A is 1-IB, which is the output data of adder 3.
The carry detection circuit 5, which uses 23 bits from 2LSB to 2LSB or right 1 shifter rounding, is supplied with output data consisting of 24 bits from the adder 2, and receives the carry signal and the 2LSB from the adder 3.
By supplying LSB data and further supplying a signal indicating the type of rounding and a code result based on data SA and SB, a signal RO indicating the presence or absence of a digit loss due to rounding is generated.
, R1.

尚、信号ROは■データかOの場合、信号R1はVデー
タが1のときのそれぞれ丸めによる桁」二げの有無を示
す信号である。
It should be noted that when the signal RO is ■data or O, the signal R1 is a signal indicating the presence or absence of a digit due to rounding when the V data is 1.

加算器3の出力側は、演算結果のデータを右へ]ビット
分シフトする右]シフタ8を介してマルチプレクサ10
に接続されるとともに、イ」加回路15を介してマルチ
プレクサ10に接続される。
The output side of the adder 3 is sent to the multiplexer 10 via a right shifter 8 which shifts the data of the operation result by bits to the right.
It is also connected to the multiplexer 10 via the input circuit 15.

尚、付加回路15に供給される加算器3の出力データは
、■とl(Bとが除かれた22ビツトである。
Note that the output data of the adder 3 supplied to the additional circuit 15 is 22 bits with ■ and l(B removed).

又、OR回路14の入力端には加算器2のL S I3
出力端子と丸めによる桁」二げ検出回路5の信号ROの
出力端子が接続される。又、付加回路15は、供給され
る22ビツトからなるデータの最下位ビ8によって右へ
(下位側へ)1ビットシフl−したデータである。
Also, at the input terminal of the OR circuit 14, the LSI3 of the adder 2 is connected to the input terminal of the OR circuit 14.
The output terminal and the output terminal of the signal RO of the rounding digit detection circuit 5 are connected. Further, the additional circuit 15 receives data which is shifted one bit to the right (to the lower side) by the least significant bit 8 of the supplied 22-bit data.

データBは、」二連したように、加算器3の出力データ
のVとHBを除いた22ビツトのデータに、最下位ビッ
トよりlビット下位にOR回路】4か送出する1ビツト
のビットデータを追加して23ビツトとしたデータであ
る。
Data B is 1-bit bit data that is output from the 22-bit data excluding V and HB of the output data of the adder 3, and the OR circuit with l bits lower than the least significant bit. This data is made up of 23 bits by adding .

尚、追加する1ビツトのデータは、加算器2より出力さ
れる最」1位ビット(第10図ではL S Bと記述)
と丸め桁上げ検出回路5の出力信号であるRO倍信号の
OR論理から生成される。
Note that the 1-bit data to be added is the most significant bit output from the adder 2 (denoted as LSB in FIG. 10).
It is generated from the OR logic of the RO multiplied signal which is the output signal of the rounding and carry detection circuit 5.

データCは、加算器4の出力データであるHBから2 
L S Bまでの23ビツトが右1シフタ9によって右
へ1ビツトシフトされたデータである。
Data C is 2 from HB which is the output data of adder 4.
The 23 bits up to LSB are data shifted by 1 bit to the right by the right 1 shifter 9.

データDは、上述したように、加算器4の出力データの
■とHBを除いた22ビツトのデータに最下位ビットよ
り1ビツト下位にO″′を付加して23ビツトとしたデ
ータである。
As mentioned above, data D is 23-bit data by adding O''' to the 22-bit data of the output data of adder 4 excluding ■ and HB, one bit lower than the least significant bit.

上述した■〜■の各々の場合が上記データAないしDの
いずれに対応するかは以下に示す通りである。即ち、■
の場合がデータCに対応し、■の場合がデータCに対応
し、■の場合でLSBが1のときは、データDに対応し
、■の場合でL S Bが0のときには、データBに対
応し、■の場合がデータ八に対応し、■の場合がデータ
Bにそれぞれ対応する。
Which of the above data A to D corresponds to each of the cases (1) to (2) described above is as shown below. That is, ■
The case corresponds to data C, the case ■ corresponds to data C, the case ■ corresponds to data D when LSB is 1, and the case ■ corresponds to data B when LSB is 0. , the case of ■ corresponds to data 8, and the case of ■ corresponds to data B, respectively.

仮数部選択信号生成回路6は、加算器2より供給される
L S Bのデータと、加算器3より供給されるVデー
タと、加算器4より供給されるVデータと、丸め桁」二
げ検出回路4が送出する信号RO1R1とから」1記の
■〜■のいずれの場合かを判断し、その結果をマルチプ
レクサ10に送出する。
The mantissa selection signal generation circuit 6 selects the LSB data supplied from the adder 2, the V data supplied from the adder 3, the V data supplied from the adder 4, and the rounding digit. Based on the signal RO1R1 sent out by the detection circuit 4, it is determined which of the cases (1) to (2) above is the case, and the result is sent to the multiplexer 10.

マルチプレクサ10は、仮数部選択信号生成回路6より
供給される信号にて供給されているAないしDのデータ
のいずれかを選択し、その結果を仮数部結果として出力
する。
The multiplexer 10 selects any of the data A to D supplied by the signal supplied from the mantissa selection signal generation circuit 6, and outputs the result as a mantissa result.

一方、指数回路11では、eA+eB−127の演算が
行なわれ、指数回路11の出力側は、インクリメンタ1
2を介してマルチプレクサ13に接続されるとともに、
マルチプレクサ13へ直接選択することで乗算時間の短
縮を図っている。
On the other hand, in the exponential circuit 11, the calculation eA+eB-127 is performed, and the output side of the exponential circuit 11 is connected to the incrementer 1.
2 to the multiplexer 13, and
Direct selection to the multiplexer 13 aims to shorten the multiplication time.

しかし、丸めによる桁」−げの有無を決定するには、仮
数部の乗算結果のL S Bと]−述した正規化するか
しないかを決めるオバーフロービットが必要である。特
にオバーフロービットの算出には時間かかかり、丸めに
よる桁上げの有無を決定するために、全ビットの仮数部
の乗算結果が計算されるのを待たねばならず、乗算時間
が長くかかるという問題があった。第10図で示した回
路においては、オバーフロービットが算出されるまで、
乗算アレーでの部分積の生成及び加算時間に48ビツト
の加算時間を加算した時間を必要とする。
However, in order to determine whether or not a digit is missing due to rounding, the LSB of the multiplication result of the mantissa part and the above-mentioned overflow bit that determines whether or not to normalize are required. In particular, it takes time to calculate overflow bits, and in order to determine whether or not to carry over due to rounding, it is necessary to wait for the multiplication results of the mantissa parts of all bits to be calculated, which causes the problem that the multiplication time is long. there were. In the circuit shown in Figure 10, until the overflow bit is calculated,
The time required is the addition time of 48-bit addition to the generation and addition time of partial products in the multiplication array.

本発明はこのような問題点を解決するためになされたも
のにして、セルサイズを大幅に広げることなく、より高
速な乗算装置を提供することをその課題とする。
The present invention has been made to solve these problems, and an object of the present invention is to provide a faster multiplication device without significantly increasing the cell size.

[課題を解決するための手段] 乗算装置の乗算部で生成された部分積を加算するとき、
乗算アレイからの出力を受けて最終の部分積の加算を行
なう加算回路において、生成され接続される。
[Means for solving the problem] When adding the partial products generated in the multiplication section of the multiplication device,
They are generated and connected in an adder circuit that receives the output from the multiplier array and performs the final partial product addition.

インクリメンタ12は、指数回路11より供給されるデ
ータに1を加算し、その結果データをマルチプレクサ1
3へ送出する回路である。
The incrementer 12 adds 1 to the data supplied from the exponential circuit 11, and transfers the resulting data to the multiplexer 1.
This is the circuit that sends the signal to 3.

マルチプレクサ13は、インクリメンタ12より供給さ
れるデータと指数回路11より供給されるデータとのい
ずれかを、指数部選択信号生成回路7が送出する信号に
従い選択する回路である。
The multiplexer 13 is a circuit that selects either the data supplied from the incrementer 12 or the data supplied from the exponent circuit 11 according to a signal sent from the exponent part selection signal generation circuit 7.

指数部選択信号生成回路7の入力側には、加算器3及び
4のVデータ出力端子が接続され、丸め桁」二げ検出回
路5が送出するRO信号出力端子が接続され、指数部選
択信号生成回路7はこれらの供給されるデータに基づい
てマルチプレクサ13に供給されているいづれのデータ
を選択するかを指示する信号を送出する回路である。
The V data output terminals of the adders 3 and 4 are connected to the input side of the exponent part selection signal generation circuit 7, and the RO signal output terminal sent out by the rounding digit double detection circuit 5 is connected to the input side of the exponent part selection signal generation circuit 7. The generation circuit 7 is a circuit that sends out a signal instructing which data supplied to the multiplexer 13 should be selected based on these supplied data.

[発明が解決しようとする課題] 」二連したように、予め、マルチプレクサ10へAない
しDの4通りの結果データを送出し、丸めによる桁上げ
の有無が決まるとその信号を基にマルチプレクサ1oに
てそれらの内より真の結果をた部分積のうち最下位ビッ
トの1つ下の桁未満と、1つ下の桁以上の加算を並列に
行なう乗算装置であって、1つ下の桁以上については最
下位の符号ビットの1つ下の桁に予め1つ下の桁未満か
らのキャリーの有無と丸めによる桁」二げの有無に応じ
て、O′″、″ ビ、′″2″を加算する3通りの加算
を同時に行なうと共に、1つ下の桁未満からのキャリー
と丸めによる桁上げの有無が決まった時点で3通りの1
つ下の桁以」二の加算結果のうち1つを選択することを
特徴とする。
[Problems to be Solved by the Invention] As shown in the following, four types of result data, A to D, are sent to the multiplexer 10 in advance, and when it is determined whether or not there will be a carry due to rounding, the multiplexer 1o is sent based on that signal. A multiplication device that performs addition in parallel of less than one digit below the least significant bit and more than one digit below the least significant bit of the partial products that yield a truer result among them, For the above, depending on the presence or absence of a carry from the digit below the digit below the least significant sign bit and the presence or absence of a digit "2" due to rounding, At the same time, three ways of adding `` are performed at the same time, and when it is determined whether there will be a carry from less than the next digit and a carry due to rounding, three ways of addition are performed at the same time.
It is characterized by selecting one of the two addition results from the lowest digit.

[作用] 本発明は、仮数の乗算部の最終加算回路を上位と下位と
で2つに分割し、夫々並列に計算するので、乗算時間が
短縮できる。
[Operation] In the present invention, the final addition circuit of the mantissa multiplication section is divided into two parts, an upper part and a lower part, and calculations are performed in parallel with each other, so that the multiplication time can be shortened.

更に、最終段の加算回路の上位側は予め下位側からのキ
ャリーの有無と丸めによる桁上げの有無を考慮して上位
桁の最下位桁に” O” 、 ” 1″2″を加算した
3つの結果を算出するので、下位桁側からのキャリーと
丸めによる桁上げの有無によって、更に−」二位桁の計
算をやり直す必要はなく全体の乗算時間が短縮される。
Furthermore, the upper side of the final stage adder circuit adds "O", "1" and "2" to the least significant digit of the upper digit, taking into account the presence or absence of carry from the lower side and the presence or absence of carry due to rounding. Since two results are calculated, there is no need to recalculate the second digit, depending on the presence or absence of carry from the lower digit side and rounding, and the overall multiplication time is shortened.

[実施例] 以下、本発明の実施例を浮動小数点乗算装置に適用した
場合につき第1図ないし第7図に従い明する。尚、第1
図において第10図と同じ構成部分については同じ符号
を(lL、説明を省略する。
[Embodiment] Hereinafter, a case where an embodiment of the present invention is applied to a floating point multiplication device will be explained with reference to FIGS. 1 to 7. Furthermore, the first
In the figure, the same components as in FIG. 10 are denoted by the same reference numerals (lL, and the explanation will be omitted.

本発明の乗算装置は、生成された部分積を加算するとき
、乗算アレー1からの出力を受けて最終の部分積の加算
を行なう加算回路に特徴を有する。
The multiplication device of the present invention is characterized by an addition circuit that receives the output from the multiplication array 1 and adds the final partial products when adding the generated partial products.

即ち、第7図に示すように、生成された部分積の内油下
位の′6じヒツトの1つ下の桁上?1:Ai (以下、
L S Pと記す)と1つ下の桁以」二(以下、M S
 Pと記す)とに分割し、各分割したデータを夫々泪算
する加算回路を設けたものである。
That is, as shown in FIG. 7, the inner value of the generated partial volume is one level below the lower value '6'. 1:Ai (hereinafter,
(hereinafter referred to as M S
(denoted as P) and is provided with an adder circuit for calculating each divided data.

従って、乗算アレー1の出力側は、MSPの加算処理を
行なう加算回路20及びLSPの加算処理を行なう加算
器22に接続され、加算器22のキャリー信号出力端子
は、マルチプレクサ21に接続される。また、加算器2
0の出力側は、マルチプレクサ21に接続される。この
マルチプレクある。
Therefore, the output side of the multiplication array 1 is connected to an adder circuit 20 that performs MSP addition processing and an adder 22 that performs LSP addition processing, and the carry signal output terminal of adder 22 is connected to multiplexer 21. Also, adder 2
The output side of 0 is connected to multiplexer 21 . There is this multiplex.

尚、本実施例においては最下位の符号ビットの1つ下の
桁をrQJと記す。
In this embodiment, the digit immediately below the lowest sign bit is written as rQJ.

ここで、LSP加算回路22からのギャリー出力と丸め
による桁上げにおいて、Qに加算する条件は次の通りで
ある。
Here, the conditions for adding to Q in the galley output from the LSP adder circuit 22 and carry by rounding are as follows.

■L S P加算回路22からのキャリーが無く且つ丸
めによる桁」二げが無い場合は、Q+O0■L S I
)加算回路22からのキャリーが有り且つ丸めによる桁
」二げが無い場合は、Q+1゜■LSP加算回路22か
らのキャリーが無く且つ丸めによる桁上げが有る場合は
、Q+1゜■L S P加算回路22からのキャリーが
有り且つ丸めによる桁上げが有る場合は、Q+2゜この
ように、L S P加算回路22からのキャリーと丸め
による桁」二げの有無を予め考慮すると、Q+O,Q+
1、Q+2の3通りで良いことが分かる。
■ If there is no carry from the L S P adder circuit 22 and there is no digit loss due to rounding, then Q+O0 ■ L S I
) If there is a carry from the adder circuit 22 and there is no carry due to rounding, Q+1゜■ If there is no carry from the LSP adder circuit 22 and there is a carry due to rounding, Q+1゜■LSP addition If there is a carry from the circuit 22 and a carry due to rounding, Q+2゜In this way, considering in advance the carry from the LSP adder circuit 22 and the presence or absence of a carry due to rounding, Q+O,Q+
It turns out that 1 and Q+2 are good.

そこで、ます、LSP加算回路22からのキャリーが決
まれば上述の3つの結果のうち2通りをす2]の出力側
に右1シフタ8.9を介してマルチプレクサ10に接続
されると共に、OR回路14を介して又はOビットを付
加してマルチプレクサ10に接続される。
Therefore, once the carry from the LSP adder circuit 22 is determined, two of the three results mentioned above are selected.2] is connected to the multiplexer 10 via the right 1 shifter 8.9, and the OR circuit 14 or with the addition of an O bit to the multiplexer 10.

加算器20は、乗算アレー1より供給されるMSPデー
タを加算する回路であり、第10図に示す従来例にて、
2つの加算器を第2図で示すような加算回路に構成した
ものである。
The adder 20 is a circuit that adds the MSP data supplied from the multiplication array 1, and in the conventional example shown in FIG.
Two adders are configured into an adding circuit as shown in FIG.

その他の構成部分は第10図に示す構成部分と同一であ
る。
Other components are the same as those shown in FIG.

さて、」二連したMSP加算回路20は、L S P加
算回路22からのキャリーの有無と丸めによる桁上げの
有無を予め考慮して、最下位の符号ビットの1つ下の桁
に′″+O” 、” +1” 、″″+2″下結果の3
通りを計算する。第7図において、MSPの加算回路の
夫々″+O″′、″+]””+2’″に対応する加算回
路が構成されている。この丸めによる桁」二げを最下位
の符号ビットの1つ下の桁に加算することで行なう方法
は上述した従来技術において2 L S Bに1加算す
る方法と同じ方法で以下のように決定し選択する。
Now, the two consecutive MSP adder circuits 20 take into account in advance the presence or absence of a carry from the LSP adder circuit 22 and the presence or absence of carry due to rounding, and add ``'' to the digit one below the lowest sign bit. +O","+1",""+2"lower result 3
Calculate the street. In FIG. 7, adder circuits corresponding to "+O"' and "+]""+2'" of the MSP adder circuits are constructed. The method of adding the second digit resulting from rounding to the digit one below the lowest sign bit is the same as the method of adding 1 to 2LSB in the prior art described above, and is determined as follows. and select.

■L S P加算回路22からキャリーが無い場合Q+
O,Q+1゜ ■L S P加算回路22からキャリーか有る場合Q+
I、Q+2゜ 選択された2つは上述した従来例の2 L S B +
Oと2 L S B +1に相当し、丸め操作とそれ以
降の動作は第10図の従来例と同じ動作を行なう。
■If there is no carry from the L S P adder circuit 22, Q+
O, Q+1゜■L S Q+ if there is a carry from the P adder circuit 22
I, Q+2° The selected two are the above-mentioned conventional example 2 L S B +
0 and 2 L S B +1, and the rounding operation and subsequent operations are the same as in the conventional example shown in FIG.

このように本実施例の乗算装置は、]二述した加算回路
20.22及びマルチプレクサ21を除き従来例と同様
の動作を行なう。即ち、仮数部データであるFA、FB
か乗算アレー1で乗算されその結果が加算器20及び2
2へ送出される。
As described above, the multiplication device of this embodiment performs the same operation as the conventional example except for the adder circuits 20 and 22 and the multiplexer 21 mentioned above. That is, the mantissa data FA, FB
is multiplied by multiplication array 1 and the result is sent to adders 20 and 2.
2.

丸めによる桁」ユげ検出回路5には、マルチプレクサ2
1が送出するVおよび2LSBのデータ、加算器22が
送出する24ビットのデータ、丸めの種類の信号、及び
符号結果が供給され、桁−にげ検出回路5は、丸めによ
る桁上げの有無の信号RO,R1を送出する。
The rounding digit shift detection circuit 5 includes a multiplexer 2.
1, the 24-bit data sent by the adder 22, the rounding type signal, and the code result are supplied, and the digit-missing detection circuit 5 detects whether there is a carry due to rounding. Sends out signals RO and R1.

尚、信号RO,R1については」二連したものと同−で
ある。
Note that the signals RO and R1 are the same as two consecutive signals.

仮数部選択信号生成回路6には、上述した桁」二げ検出
回路5が送出する信号RO,R1、加算器22及びマル
チプレクサ2Jが送出するVのデータ、及び加算器2が
送出するL S Bのデータが供給され、仮数部選択信
号生成回路6は、マルチプレクサ10に供給されるAな
いしDの信号のいずれを選択するかを決定する選択信号
を供給される信号に基づいて生成し、生成した信号をマ
ルチプレクサ10へ送出する。
The mantissa selection signal generation circuit 6 receives the above-mentioned signals RO and R1 sent out by the digit detection circuit 5, the data V sent out by the adder 22 and the multiplexer 2J, and the LSB sent out by the adder 2. data is supplied, and the mantissa selection signal generation circuit 6 generates a selection signal for determining which of the signals A to D supplied to the multiplexer 10 is selected based on the supplied signal. The signal is sent to multiplexer 10.

尚、マルチプレクサ10に送出されるハないしDのデー
タは以下に示す通りである。
The data C to D sent to the multiplexer 10 are as shown below.

Aのデータは、加算器20の出力データの1−(Bから
2 L S Bまでの23ビツトが右1シフタ8にて右
へ(下位側へ)1ビツトシフトされたデータであり、B
のデータは、加算器20の出力データのVとHBのデー
タを除いた22ビツトのデータに最下位ビットより1ビ
ット下位に1ビツトのデータを追加して23ビツトと下
データである。尚、追加する1ビツトのデータは加算器
22より出力−セクションに分割し、最下位のアダーセ
クションのみ加算回路をQ+O,Q+]、Q+2のため
に3つ設け、最下位を除くアダーセクションは加算回路
2つとデータ・セレクタ3つとキャリー生成回路3つを
設けることで、加算時間の高速化と面積の縮小化を図っ
ている。
The data of A is data obtained by shifting 23 bits from 1-(B to 2LSB) of the output data of the adder 20 to the right (to the lower side) by 1 bit by the right 1 shifter 8, and the data of B
The data is the lower data of 23 bits, which is the 22-bit data of the output data of the adder 20 excluding the V and HB data, and the addition of 1-bit data one bit lower than the least significant bit. The 1-bit data to be added is divided into output sections from the adder 22, and only the lowest adder section has three adder circuits for Q+O, Q+] and Q+2, and the adder sections other than the lowest adder section. By providing two circuits, three data selectors, and three carry generation circuits, the addition time is increased and the area is reduced.

次にMSP加算回路20の構成について更に説明する。Next, the configuration of the MSP adder circuit 20 will be further explained.

本実施例においては32ビツトの浮動小数点の乗算につ
いて説明している。32ビツトの場合、符号が1ビツト
、指数部が8ビツト、仮数部が23ビツトである。上述
したように、仮数部を乗算する場合、仮数23ビツトの
最上位ビットの1つ」二のビットに′ 1″を拡張して
計算する(Hidden Bit)。
In this embodiment, 32-bit floating point multiplication is explained. In the case of 32 bits, the sign is 1 bit, the exponent part is 8 bits, and the mantissa part is 23 bits. As described above, when multiplying the mantissa part, calculation is performed by extending the second bit of the most significant bit of the 23 bits of the mantissa with '1' (Hidden Bit).

第6図に示すように、2次のブースと+1アルゴリズム
を用いて乗算を行なうと、部分積は13個生成され、1
個が26ビツトとなる。
As shown in Figure 6, when multiplication is performed using the quadratic Booth and +1 algorithm, 13 partial products are generated and 1
26 bits.

そして、+1アルゴリズムによる1加算は、第6図の1
3段目の部分積の下に示している。
The addition of 1 using the +1 algorithm is 1 in Figure 6.
It is shown below the partial products in the third row.

ところで、並列乗算機の乗算アレ一部の最終加される最
上位ビット(第1図ではLSBと記述)と、丸め桁上げ
検出回路5が送出するRO倍信号の○R論理から生成さ
れる。Cのデータは加算回路20の出力データのHBな
いし2LSBの23ビツトが右1シフタ9にて1ビツト
シフI・されたデータである。Dのデータは加算回路2
0の出力データのVとHBのデータを除いた22ビツト
のデータに最下位ピッ[・より1ビツト下位に”o”を
付加して23ビツトとしたデータである。
By the way, it is generated from the most significant bit (denoted as LSB in FIG. 1) that is added at the end of the multiplication array part of the parallel multiplier and the ○R logic of the RO multiplication signal sent out by the round-carry detection circuit 5. Data C is data obtained by shifting 23 bits from HB to 2LSB of the output data of the adder circuit 20 by 1 bit in the right 1 shifter 9. D data is added to adder circuit 2
This data is made up of 23 bits by adding "o" one bit lower than the lowest bit to the 22-bit data excluding the V and HB data of the output data of 0.

マルチプレクサ1oは、仮数部選択信号生成回路6より
供給された選択信号により上記AないしDのデータの内
からいずれか1つを選択し、仮数部結果として送出する
The multiplexer 1o selects one of the data A to D according to the selection signal supplied from the mantissa selection signal generation circuit 6, and sends it as the mantissa result.

本発明は上述したように、2通りの結果が出力されるま
でのMSPの加算回路20について、Q+O,Q+1.
Q+2の3通りを計算するのであるが、第7図に示すよ
うに3つの加算回路をそのまま用いていたのでは、回路
規模が大きくなり、計算時間も従来例と変わりはない。
As described above, the present invention provides the MSP adder circuit 20 until two results are output, Q+O, Q+1.
Three ways of Q+2 are calculated, but if the three adder circuits were used as they are as shown in FIG. 7, the circuit scale would be large and the calculation time would be the same as in the conventional example.

そこで、本発明においては、MSP加算回路20を複数
のアダ算の各桁は3人力になる。そこで、第3図で示す
ように、この3人力をフルアダーでまとめて2出力にし
、各桁の2出力を最終段の加算回路で加算し、積を求め
る。しかし、第6図で示すように、+1アルゴリズムを
用いる場合、更に所定の桁に1を加算する必要が有る。
Therefore, in the present invention, each digit of a plurality of arithmetic operations in the MSP adder circuit 20 requires the labor of three people. Therefore, as shown in FIG. 3, these three human forces are combined into two outputs using a full adder, and the two outputs of each digit are added in the final stage adding circuit to obtain the product. However, as shown in FIG. 6, when using the +1 algorithm, it is necessary to further add 1 to a predetermined digit.

そこで、第4図に示すように、乗算アレー内にもう1段
フルアダーを設け、このフルアダーで所定の桁に]を加
算すればスピードを落すことなく加算できる。
Therefore, as shown in FIG. 4, if another stage of full adder is provided in the multiplication array and this full adder is used to add ] to a predetermined digit, the addition can be performed without reducing the speed.

ところで、第6図の部分積の内置下位の符号ビットの1
つ下の桁は+1アルゴリズムによる1加算はしなくても
構成できる。即ち、フルアダー■の”o”入力を”o”
のままにしておけば、Q+O1′″1”′にすればQ+
]が実現できるとし、第4図に示すようにフルアダーを
2つ用意し、他の2人力は共通にして、残りの1入力を
”′O″にする場合(フルアダー■)と”I”にする場
合(フルアダー■)とに分ければ良い。
By the way, 1 of the sign bit of the lower infix of the partial product in FIG.
The lower digit can be constructed without adding 1 using the +1 algorithm. In other words, change the “o” input of full adder ■ to “o”
If you leave it as is, Q+O1′″1”′
], as shown in Figure 4, prepare two full adders, share the other two inputs, and set the remaining input to "'O" (full adder ■) and "I". It is best to divide it into two cases: (Full Adder ■).

最終段の加算回路でQ+O,Q+l、Q+2を行なうに
は、 Q+Oの場合、フルアダー■の出力を受けて、且つキャ
リー人力が”o” Q+1の場合、フルアダー■の出力を受けて、且つキャ
リー人力が”1”又はフルアダー■の出力を受けて、且
つキャリー人力が′″O″Q+2の場合、フルアダー■
の出力を受けて、且つキャリー人力が′″1″ である。
In order to perform Q+O, Q+l, and Q+2 in the final stage adder circuit, in the case of Q+O, it is necessary to receive the output of the full adder ■ and the carry power is "o".If it is Q+1, it is necessary to receive the output of the full adder ■ and to carry out the carry power receives the output of “1” or full adder ■, and the carry force is ``O''Q+2, full adder ■
, and the carry manpower is ``1''.

3つの加算(Q十〇、Q+l、Q+2)でフルアダー■
■からの入力以外の入力はすべて同じである。これは第
3図のフルアダー■の′″O′″入力区を]″′にすれ
ばこのフルアダーの出力Al。
Full adder with three additions (Q10, Q+l, Q+2) ■
All inputs other than the input from ■ are the same. This is the output Al of this full adder by setting the ``O'' input section of the full adder ① in FIG. 3 to ``''.

BOは変化するが、他のフルアダーの出力AO。BO changes, but output AO of other full adders.

A2.A3.A4・・、Bl、B2.B3・・・が変化
しないことによる。
A2. A3. A4..., Bl, B2. This is because B3... does not change.

最終段の加算回路を構成するとき、Q+O,Q十]、Q
+2夫々のために3つの加算回路を設けていたのでは、
回路規模が大きくなってしまう。
When configuring the final stage adder circuit, Q + O, Q0], Q
I guess three adder circuits were provided for each +2.
The circuit scale becomes large.

そこで、本発明においてはMSPの加算回路20を第2
図に示すように、複数のアダーセクションリー人力が+
ltl+の加算手段を設け、先の最下位のアダーセクシ
ョンの第1、第2、第3のキャリー出力によって、この
セクション220におけるQ+O,Q+]、Q+2の加
算結果を得る。本実施例において、キャリー出力が”o
”の加算手段は第4の加算手段221、キャリー出力が
″ 1″′の加算手段は第5の加算手段222である。
Therefore, in the present invention, the adder circuit 20 of the MSP is
As shown in the figure, multiple adder sections
ltl+ addition means is provided, and the addition results of Q+O, Q+] and Q+2 in this section 220 are obtained by the first, second, and third carry outputs of the previous lowest adder section. In this embodiment, the carry output is “o”.
The addition means for "1" is the fourth addition means 221, and the addition means for the carry output "1" is the fifth addition means 222.

そして、第1のキャリーC°。が0のとき第4の加算手
段221.1のとき第5の加算手段222の出力を選択
し、このセクションにおけるQ+0の加算結果とする。
And the first carry C°. When is 0, the fourth addition means 221.1 selects the output of the fifth addition means 222, and uses it as the addition result of Q+0 in this section.

第2、第3のキャリーC”。、C′3についても同様に
このセクションにおけるQ十1.Q+2の加算結果が得
られる。
Similarly, for the second and third carries C''., C'3, the addition result of Q11.Q+2 in this section is obtained.

また、第4、第5の加算手段221,222からのキャ
リーと第1のキャリーは第1のキャリー生成回路223
に入力され、このセクション22QにおけるQ十〇に対
応しただ1のキャリー出力C°7を生成する。
Furthermore, the carries from the fourth and fifth adding means 221 and 222 and the first carry are sent to the first carry generating circuit 223.
and generates only one carry output C°7 corresponding to Q10 in this section 22Q.

即ち、第1キヤリーC03がOのとき第4の加算手段2
21、第1のキャリーC′3が1のとき第5に分割し、
最下位のアダーセクションのみQ十〇。
That is, when the first carry C03 is O, the fourth addition means 2
21. When the first carry C'3 is 1, divide into the fifth,
Q10 only for the lowest adder section.

Q+1.Q+2のための加算回路を設けている。Q+1. An adder circuit for Q+2 is provided.

次に、第2図に従い本発明に適用されるMSPの加算回
路2oについて説明する。
Next, referring to FIG. 2, the MSP adder circuit 2o applied to the present invention will be explained.

MSP加算加路20は、生成された上位24ビツトの符
号ビットを、複数のグループ、本実施例では6つのグル
ープに分割する。そのグループに対応する6つのアダー
セクション201.202.203.204.220お
よび210に分割し、最下位のアダーセクション210
のみ、Q+O。
The MSP adder 20 divides the generated upper 24 sign bits into a plurality of groups, six groups in this embodiment. Divide into six adder sections 201.202.203.204.220 and 210 corresponding to that group, and the lowest adder section 210
Only, Q+O.

Q+1.Q+2のための第1の加算手段211、第2の
加算手段212、および第3の加算手段213を設ける
。そして第1の加算手段211より第1のキャリー出力
C°3、第2の加算手段212より第2のキャリー出力
C3、第3の加算手段213より第3のキャリー出力C
′3が夫々出力される。
Q+1. A first addition means 211, a second addition means 212, and a third addition means 213 for Q+2 are provided. Then, the first adder 211 outputs a first carry output C°3, the second adder 212 outputs a second carry output C3, and the third adder 213 outputs a third carry output C.
'3 are output respectively.

最下位のアダーセクション210より1つ上位のアダー
セクション220は予めキャリー人力を考慮してキャリ
ー人力か”′O′″の加算手段とキャの加算手段222
からのキャリーの値を出力するよう第1のキャリー生成
回路223が構成される。
The adder section 220 which is one level higher than the lowest adder section 210 takes into account the carry manpower in advance, and has a carry manpower adding means 222 for "'O'" and a carry adding means 222.
The first carry generation circuit 223 is configured to output the carry value from .

同様に第2、第3のキャリー人力c 、、 c’、に対
しても夫々、第2のキャリー生成回路224、第3のキ
ャリー生成回路225において、夫々キャリーの値を出
力する。
Similarly, the second and third carry generation circuits 224 and 225 output carry values for the second and third carry forces c, , c', respectively.

また、第4の加算手段221および第5の加算手段22
2の加算結果は、第]のデータセレクタ227および第
3のデータセレクタ228に出力される。
Further, the fourth addition means 221 and the fifth addition means 22
The result of the second addition is output to the]th data selector 227 and the third data selector 228.

そして、第1のデータセレクタ226には第1のキャリ
ーC°3、第2のデータセレクタ227には第2のキャ
リーC゛3、第3のデータセレクタ228には第3・の
キャリーC2,が夫々入力され、下位のアダーセクショ
ン210のキャリー出力により、このセクションにおけ
るQ+O,Q+1.Q+2に対応した加算結果が選択さ
れる。
The first data selector 226 has a first carry C3, the second data selector 227 has a second carry C3, and the third data selector 228 has a third carry C2. Q+O, Q+1 . The addition result corresponding to Q+2 is selected.

すなわち、第1のキャリーC°3が入力された場合には
、第1のデータセレクタ226、第2のキャリーC゛3
か入力された場合には、第2のデータセレクタ227、
第3のキャリーC′3が入力された場合には第3のデー
タセレクタ228が選択される。
That is, when the first carry C3 is input, the first data selector 226 and the second carry C3
is input, the second data selector 227,
When the third carry C'3 is input, the third data selector 228 is selected.

第5図は第1のキャリー生成回路223の一例を示す回
路図である。
FIG. 5 is a circuit diagram showing an example of the first carry generation circuit 223.

キャリー生成回路はOR回路、ナンド回路、インバータ
で構成することができる。図においてC0UT lは第
4の加算手段221のキャリー出力、C01JT2は第
5の加算手段222のキャリー出力である。
The carry generation circuit can be composed of an OR circuit, a NAND circuit, and an inverter. In the figure, C0UTl is the carry output of the fourth addition means 221, and C01JT2 is the carry output of the fifth addition means 222.

ここで、C0UTI=Oで且つC0UT2= ]という
場合は起こらない。
Here, the case where C0UTI=O and C0UT2= ] does not occur.

第1表に第5図の真理値表を示す。Table 1 shows the truth table of FIG.

(以下、余白) このように、」1位のアダーセクションにおいても3つ
の加算結果の出力とキャリーの伝搬がなされている。
(Hereinafter, blank space) In this way, the output of three addition results and carry propagation are also performed in the adder section at the 1st place.

而して、第2図においては24ビツトのデータ入力に対
し、4ビツトずつのアダーセクション201.202.
203.204.220に分割している。AO〜A23
、BO−B23、AI’BO’ は乗算アレー1からの
出ツバA1″、BOはアレー内で部分積のうち最下位の
符号ビットの1つ下の桁に1加算した結果である。
In FIG. 2, for 24-bit data input, 4-bit adder sections 201, 202, .
It is divided into 203.204.220. AO~A23
, BO-B23, AI'BO' is the output A1'' from the multiplication array 1, and BO is the result of adding 1 to the digit below the least significant sign bit of the partial product in the array.

S’。〜S’、、ハQ+o、 S’。〜S’、、ハQ+
1゜S′。〜S′23はQ+2の24ビット加算結果、
C。
S'. ~S',,HaQ+o,S'. ~S',,haQ+
1°S'. ~S'23 is the 24-bit addition result of Q+2,
C.

3は最下位のアダーセクション210の第1のキャリー
、C3、Coおち同様に第2、第3のキャリーである。
3 is the first carry of the lowest adder section 210, and similarly to C3 and Co, the second and third carries.

C°7、C7、Co7は最下位から数えて2番目のアダ
ーセクションの第1、第2、第3のキャリーC°11、
C13、Co、1は最下位から数えて3番目のアダーセ
クションの第1、第2、第3のキャリ、 co、、、C
o1ゎ、Co1.は最下位がら数えて4第1表 第1のキャリー出力C°3が″”o″のときCo、はC
0UTI、 C”、が″ビ′のときC0,はC0UT2
の値となる。
C°7, C7, Co7 are the first, second and third carries of the second adder section counting from the bottom C°11,
C13, Co, 1 are the first, second, and third carries of the third adder section counting from the bottom, co, , C
o1ゎ, Co1. is 4 counting from the lowest value. When the first carry output C°3 in Table 1 is "o", Co is C.
When 0UTI, C” is “B”, C0 is C0UT2
The value is .

そして、更に上位のアダーセクション201〜204は
、アダーセクション220の回路構成と全く同じ回路構
成であり、1つ下位のアダーセクションからの第1、第
2、第3のキャリーによりこのセクションのQ+O,Q
+l、Q+2に対応した加算結果を選択して出力し、第
1、第2、第3のキャリーも同じく生成し、上位のアダ
ーセクションに伝搬する。
Further, the adder sections 201 to 204 at a higher level have exactly the same circuit configuration as the adder section 220, and the Q+O of this section is Q
The addition results corresponding to +l and Q+2 are selected and output, and the first, second, and third carries are also generated and propagated to the upper adder section.

番目のアダーセクションの第1、第2、第3のキャリー
、C°15、Co16、Co13は最下位から数えて5
番目のアダーセクションの第1、第2、第3のキャリー
、である。
The 1st, 2nd, and 3rd carries of the th adder section, C°15, Co16, and Co13 are 5 counting from the bottom.
These are the first, second, and third carries of the th adder section.

アダーセクション210において、第1の加算手段21
1は4ビツトの入力データA、Bのへ十Bを行ない、第
2の加算手段212はA十B+1を行ない、第3の加算
手段213はA+B+2を行なう。
In the adder section 210, the first adding means 21
1 performs 1+B on 4-bit input data A and B, the second addition means 212 performs A+B+1, and the third addition means 213 performs A+B+2.

第3の加算手段は第4図のAOlAM 、A2、A3と
BO″、B1、B2、B3を入力し、キャリー人力を1
とすることで、A十Bに2加算している。
The third addition means inputs AOlAM, A2, A3 and BO'', B1, B2, B3 in FIG.
By doing so, 2 is added to A + B.

アダーセクション220において、第4の加算手段22
1はA十B、第5の加算手段222はA+B+1を行な
う。
In the adder section 220, the fourth adding means 22
1 performs A+B, and the fifth addition means 222 performs A+B+1.

J−、記したようにMSPの加算回路20を構成すると
、3つの加算回路で構成するよりも回路規模が小さくな
り、チップ面積も縮小できる。
J-, if the MSP adder circuit 20 is configured as described above, the circuit scale will be smaller than if it is configured with three adder circuits, and the chip area can also be reduced.

更に、計算時間も3つの加算回路で構成する場台にはM
SPのビット数分の加算時1’&’Jを要するか、本発
明による構成だと、最下位のアダーセクションにおける
加算時間に各アダーセクションのキャリー生成回路のキ
ャリー伝搬時間を加算しただけの時間に短縮できる。
Furthermore, the calculation time is M
Addition for the number of bits of SP requires 1'&'J, or with the configuration according to the present invention, the time required is the sum of the addition time in the lowest adder section and the carry propagation time of the carry generation circuit of each adder section. It can be shortened to

また、LSPとMSPを分割し、夫々並列に計算してい
るため、48ビツトの乗算結果を得るための最終段の加
算回路における加算時間は第10図の従来装置に比べて
約半分に短縮できる。
Additionally, since the LSP and MSP are divided and calculated in parallel, the addition time in the final stage adder circuit to obtain the 48-bit multiplication result can be reduced to about half compared to the conventional device shown in Figure 10. .

尚、上記実施例は32ビット浮動小数点の場合を示した
が、本実施例は32ビットに限るものではない。
Incidentally, although the above embodiment shows the case of 32-bit floating point, this embodiment is not limited to 32 bits.

また、上記実施例は浮動少数点の乗算装置について説明
したが、浮動小数点に限らず本行数の大きな乗算装置に
適用することも可能である。
Furthermore, although the above embodiment has been described with respect to a floating point multiplication device, the present invention is not limited to floating point multiplication devices, but can also be applied to multiplication devices with a large number of lines.

〔発明の効果〕〔Effect of the invention〕

以」二説明したように、本発明によれば、乗算部の最終
段加算回路を」1位と下位とで2つに分割して、夫々並
列に計算するので、乗算時間を短縮することができる。
As explained above, according to the present invention, the final stage addition circuit of the multiplication section is divided into two parts, the 1st place and the lower part, and the calculations are performed in parallel with each other, so that the multiplication time can be reduced. can.

示すブロック図である。FIG.

・・乗算アレー、    20・・MSP加算回路、ト
マルチプレクサ、22・・・L S P加算回路、・丸
め桁上げ検出回路、 ・仮数部選択信号生成回路、 マルチプレクサ。
...Multiplication array, 20...MSP addition circuit, multiplexer, 22...LSP addition circuit, -rounding carry detection circuit, -mantissa selection signal generation circuit, multiplexer.

Claims (1)

【特許請求の範囲】[Claims] (1)乗算装置の乗算部で生成された部分積を加算する
とき、乗算アレーからの出力を受けて最終の部分積の加
算を行なう加算回路において、生成された部分積のうち
最下位ビットの1つ下の桁未満と、1つ下の桁以上の加
算を並列に行なう乗算装置であって、 1つ下の桁以上については最下位の符号ビットの1つ下
の桁に予め1つ下の桁未満からのキャリーの有無と丸め
による桁上げの有無に応じて、”0”、”1”、”2”
を加算する3通りの加算を同時に行なうと共に、1つ下
の桁未満からのキャリーと丸めによる桁上げの有無が決
まった時点で3通りの1つ下の桁以上の加算結果のうち
1つを選択することを特徴とする乗算装置。
(1) When adding the partial products generated in the multiplication section of the multiplication device, in the addition circuit that receives the output from the multiplication array and adds the final partial products, the least significant bit of the generated partial products is It is a multiplication device that performs addition of less than one digit below and addition of more than one digit below in parallel. ``0'', ``1'', ``2'' depending on whether there is a carry from a digit below , and whether there is a carry due to rounding.
At the same time, when it is determined whether there will be a carry from the digit below the next digit or a carry due to rounding, one of the three types of addition results from the digit below the digit is added. A multiplication device characterized by selecting.
JP2149016A 1990-06-06 1990-06-06 Multiplier Pending JPH0440521A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2149016A JPH0440521A (en) 1990-06-06 1990-06-06 Multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2149016A JPH0440521A (en) 1990-06-06 1990-06-06 Multiplier

Publications (1)

Publication Number Publication Date
JPH0440521A true JPH0440521A (en) 1992-02-10

Family

ID=15465832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2149016A Pending JPH0440521A (en) 1990-06-06 1990-06-06 Multiplier

Country Status (1)

Country Link
JP (1) JPH0440521A (en)

Similar Documents

Publication Publication Date Title
US5790446A (en) Floating point multiplier with reduced critical paths using delay matching techniques
US6099158A (en) Apparatus and methods for execution of computer instructions
US4525797A (en) N-bit carry select adder circuit having only one full adder per bit
US6233597B1 (en) Computing apparatus for double-precision multiplication
US4866652A (en) Floating point unit using combined multiply and ALU functions
JPS6131890B2 (en)
JP3345894B2 (en) Floating point multiplier
JPH05134851A (en) Multiplying circuit output system
JPH0619685A (en) Parallel multiplying circuit
US9164728B1 (en) Ternary DSP block
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US5142490A (en) Multiplication circuit with storing means
JP3127654B2 (en) Multiplier / divider
JPH0440521A (en) Multiplier
US4935892A (en) Divider and arithmetic processing units using signed digit operands
US6654776B1 (en) Method and apparatus for computing parallel leading zero count with offset
US9069624B1 (en) Systems and methods for DSP block enhancement
JP2765516B2 (en) Multiply-accumulate unit
JP2734438B2 (en) Multiplier
JPH0527948A (en) Arithmetic device
EP0780759A1 (en) Elimination of math overflow flag generation delay in an alu
KR100420410B1 (en) Real-complex multiplier using redudant binary operation
JPS6259828B2 (en)
JPH0368415B2 (en)
JP2931632B2 (en) Digit shifter and floating point arithmetic unit