JPH0621983B2 - Multiplier - Google Patents

Multiplier

Info

Publication number
JPH0621983B2
JPH0621983B2 JP58190717A JP19071783A JPH0621983B2 JP H0621983 B2 JPH0621983 B2 JP H0621983B2 JP 58190717 A JP58190717 A JP 58190717A JP 19071783 A JP19071783 A JP 19071783A JP H0621983 B2 JPH0621983 B2 JP H0621983B2
Authority
JP
Japan
Prior art keywords
multiplier
data
multiplicand
partial product
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP58190717A
Other languages
Japanese (ja)
Other versions
JPS6083140A (en
Inventor
拓 中野
眞宏 橋本
毅 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58190717A priority Critical patent/JPH0621983B2/en
Publication of JPS6083140A publication Critical patent/JPS6083140A/en
Publication of JPH0621983B2 publication Critical patent/JPH0621983B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は乗算方式に関し、特にN倍精度の乗算回路に簡
単な回路を追加するのみで、2N倍精度の乗算を直接行
い得るようにした乗算方式に関する。
Description: FIELD OF THE INVENTION The present invention relates to a multiplication method, and in particular, a multiplication that can directly perform 2N double precision multiplication only by adding a simple circuit to the N double precision multiplication circuit. Regarding the scheme.

〔発明の背景〕[Background of the Invention]

従来の高速乗算器の一構成例を第1図に示す。同図にお
いて、乗数レジスタ2にセットされた乗数が4分割さ
れ、順次下位から乗数選択回路3により選択され、被乗
数レジスタ1にセットされた被乗数の倍数を倍数発生回
路4により発生する。発生された倍数はキャリ・セイブ
・アダー・トウリー5に入力される。キャリ・セイブ・
アダー・トウリー5は図示するように複数個のキャリ・
セイブ・アダー(キャリ保留加算器)6〜13をトウリ
ー状に配置して構成のものであり、複数個の加算の対象
となる数を最終的に2個に絞る。キャリ・セイブ・アダ
ー自体の動作は第2図の加算例に示すように3個の入力
から、キャリを伝播せずに和とは別にハーフ・キャリの
形で保持する。このとき、和も通常の意味の和とは異な
るのでハーフ・サムと呼ぶことが多い。加算においては
キャリの伝播に一番時間がかゝるので、高速乗算器では
第1図に示すようにキャリ・セイブ・アダー・トウリー
5により加算すべき数を2個まで絞った後、キャリ・プ
ロパゲイト・アダー(キャリ伝播加算器)14によりキ
ャリ伝播加算を行い、一つにまとめる。下位乗数による
ハープ・キャリ、ハーフ・サムの形をした部分積は上位
の部分積に加えるため乗数ビット分だけ右シフトされ、
再度キャリ・セイブ・アダー・トウリー5に入力され
る。このとき、右シフトにより、キャリ・セイブ・アダ
ー・トウリー5よりこぼれる部分がスピル・アダー(こ
ぼれ加算器)15により和をとられ、乗算結果レジスタ
16の下位の所定の位置にセットされる。
FIG. 1 shows a configuration example of a conventional high speed multiplier. In the figure, the multiplier set in the multiplier register 2 is divided into four, sequentially selected from the lower order by the multiplier selection circuit 3, and the multiple generation circuit 4 generates a multiple of the multiplicand set in the multiplicand register 1. The generated multiple is input to the carry save adder touri 5. Carry save
The adder and tree 5 has a plurality of carry
The save adders (carry-hold adders) 6 to 13 are arranged in a tree shape, and the number of a plurality of addition targets is finally reduced to two. The operation of the carry-save adder itself is held in the form of a half carry separately from the sum without propagating the carry from three inputs as shown in the addition example of FIG. At this time, the sum is also called a half-sum because it is different from the usual meaning. In addition, since carry takes the longest time to propagate, in the high-speed multiplier, as shown in FIG. Carry propagation addition is carried out by a propagator adder (carry propagation adder) 14 and is put together. A partial product in the form of a harp carry and a half sum due to a lower multiplier is right-shifted by a multiplier bit to add to a higher partial product,
It is input to carry-save-adder-towery 5 again. At this time, due to the right shift, the portion spilled from the carry save adder tree 5 is summed by the spill adder (spill adder) 15 and set to a predetermined lower position of the multiplication result register 16.

第4図は従来の4倍精度乗算回路の構成例を示す図で、
4倍精度の乗算は、被乗数レジスタ21および乗数レジ
スタ22にセットされた被乗数および乗数を、第3図に
示すように被乗数の上位α(2倍精度),下位β(2倍
精度)、乗数の上位γ(2倍精度),下位δ(2倍精
度)に分け、β×δ,α×δ,β×γ,α×γの順に乗
算器23により乗算を行い、その結果を乗算結果レジス
タ24にセットする。この乗算結果を4倍精度演算のた
め附加的な回路を持った2倍精度の加算器25により以
下の順序で加算し最終結果を出す。
FIG. 4 is a diagram showing a configuration example of a conventional quad precision multiplication circuit,
Quadruple precision multiplication is performed by multiplying the multiplicand and the multiplier set in the multiplicand register 21 and the multiplier register 22 by the upper α (double precision), the lower β (double precision), and the multiplier of the multiplicand, as shown in FIG. It is divided into upper γ (double precision) and lower δ (double precision), and is multiplied by the multiplier 23 in the order of β × δ, α × δ, β × γ, α × γ, and the result is the multiplication result register 24. Set to. This multiplication result is added in the following order by the double precision adder 25 having an additional circuit for the quadruple precision operation, and the final result is obtained.

(1) β×δ+α×δ…上位へのキャリ保持。(1) β × δ H + α × δ L ... Carrying to the upper level.

(2) (前記(1)の加算結果)+β×γ…上位へのキャリ
保持。
(2) (Addition result of the above (1)) + β × γ L ... Carrying to the upper rank.

(3) α×δ+β×γ+(前記(1)の加算からのキャ
リ)+(前記(2)の加算からのキャリ)…上位へのキャリ保
持。
(3) α × δ H + β × γ H + (carry from addition in (1) above) + (carry from addition in (2) above) ... Carry hold to higher rank.

(4) (前記(3)の加算結果)+α×δ…上位へのキャリ
保持。
(4) (Addition result of (3) above) + α × δ L ... Carrying to the upper rank.

(5) α×γ+(前記(3)の加算からのキャリ)+(前記
(4)の加算からのキャリ)。
(5) α × γ H + (carry from addition of (3) above) + (above
Carry from addition of (4)).

なお、こゝでは最終的な積の正規化については省略して
いるが、さらに正規化が必要な場合がある。また、α×
β,α×δなどの末尾のH,Lは乗算器23での4
倍精度の乗算結果の上位、下位をそれぞれ示している。
第3図には、上記4個の積の桁合せを図式的に示す。
Although the final product normalization is omitted here, further normalization may be necessary. Also, α ×
The last H and L such as β H and α × δ L are 4 in the multiplier 23.
The upper and lower sides of the double precision multiplication result are shown, respectively.
FIG. 3 diagrammatically shows the digit alignment of the above four products.

以上、従来は上記のような手順で4倍精度の乗算を行っ
ていたので、実行時間が2倍精度の乗算の実行時間の4
倍よりも相当長くなるという欠点があった。
As described above, since the quadruple precision multiplication is conventionally performed in the above-described procedure, the execution time is four times the execution time of the double precision multiplication.
It had the drawback of being considerably longer than double.

〔発明の目的〕[Object of the Invention]

本発明は上述の点にかんがみてなされたもので、N倍精
度の乗算回路を基本構成とし、簡単な手段を追加するこ
とにより2N倍精度の乗算を直接実行し、2N倍精度の
乗算の実行時間をN倍精度の乗算の実行時間の4倍より
も短かくする乗算方式を提供することを目的とする。
The present invention has been made in view of the above points, and has a basic configuration of an N-double precision multiplication circuit, and by adding a simple means, 2N-double precision multiplication is directly performed, and 2N-double precision multiplication is performed. An object of the present invention is to provide a multiplication method that makes the time shorter than four times the execution time of N-fold precision multiplication.

〔発明の概要〕[Outline of Invention]

本発明の要点は、nビットデータとm(nはmの整数
倍、但しm≠n。)ビットデータが入力される倍数発生
回路を有するN倍精度データの乗算回路を用いる2N倍
精度データの乗算器において、2N倍精度の被乗数に下
位ビットとしてゼロを付加して2nビットに構成したデ
ータを2分割して上位データと下位データとして一方を
選択する被乗数選択手段と、2N倍精度の乗数に下位ビ
ットとしてゼロを付加して2nビットに構成したデータ
をmビット毎に分割して任意の桁の乗数分割部分を選択
する乗数選択手段とを有し、前記被乗数選択手段と前記
乗数選択手段は、前記被乗数選択手段が選択するデータ
と、前記乗数選択手段が選択する前記乗数分割部分との
部分積の桁位置が下位から上位となる順序で、前記それ
ぞれの選択を行ない、前記倍数発生回路は、前記被乗数
選択手段で選択されたデータと前記乗数選択手段で選択
された乗数分割部分とを乗じて倍数を得、更に、前記得
られた倍数と下位の部分積とを加算して上位の部分積を
出力するキャリー・セイブ・アダー・トウリーと、前記
上位の部分積、又は前記mビットだけ右シフトした前記
上位の部分積を、前記下位の部分積とみなして前記キャ
リー・セイブ・アダー・トリーにフィードバックする桁
合わせ手段と、前記選択された乗数分割部分の桁位置と
前記被乗数選択手段で選択されたデータの上位/下位位
置との対応関係により前記桁合わせ手段のシフト実行の
有無を制御する制御手段と、前記上位の部分積が入力さ
れるキャリ・プロパゲイト・アダーとスピルアダーとを
有する点にある。
The gist of the present invention is that 2N double precision data using a multiplication circuit of N double precision data having a multiple generation circuit to which n bit data and m (n is an integer multiple of m, where m ≠ n) are input. In the multiplier, the multiplicand selection means for dividing the 2N-precision multiplicand by adding zeros as lower bits to 2n-bit data and selecting one as upper data and lower data, and the 2N double-precision multiplier Multiplier selecting means for selecting data divided into m bits by adding zero as a lower bit to 2n bits and selecting a multiplier division part of an arbitrary digit, the multiplicand selecting means and the multiplier selecting means are provided. , The selection of the data by the multiplicand selection means and the digit division of the partial product of the multiplier division part selected by the multiplier selection means are performed in the order from the lower order to the higher order. The multiple generation circuit multiplies the data selected by the multiplicand selection means and the multiplier division part selected by the multiplier selection means to obtain a multiple, and further adds the obtained multiple and a lower partial product. And a carry save adder touri that outputs the upper partial product and the upper partial product or the upper partial product that is right-shifted by the m bits are regarded as the lower partial product and the carry Shifting of the digit aligning means by the digit aligning means feeding back to the save adder tree, and the correspondence between the digit position of the selected multiplier division part and the upper / lower position of the data selected by the multiplicand selecting means It has a control means for controlling the presence / absence, and a carry propagator adder and a spill adder to which the upper partial product is input.

〔発明の実施例〕Example of Invention

以下、本発明の一実施例を図面に基づいて説明する。 An embodiment of the present invention will be described below with reference to the drawings.

第5図は本発明の一実施例をなす乗算回路の構成を示す
図であり、被乗数レジスタ31,32、乗数レジスタ3
3,34に、被乗数,乗数の上位56ビット、下位56
ビットがそれぞれセットされる。同図の乗算回路では1
度の乗算に使用される乗数は16ビットであり、被乗数
選択回路35により、被乗数として16ビットの4倍の
64ビットが倍数発生回路37へ送出される。すなわ
ち、データA1として上位データ56ビットに下位デー
タの上位8ビットが併合され、また、データA2として
下位データの残りの48ビットに16個のゼロが併合さ
れて選択される。一方、乗数選択回路6では乗数の上位
データ33,下位データ34に16個のゼロを附加して
128ビットとしたとき、16ビットずつ、B1,B
2,……B8の8個のデータの中から1個を倍数発生回
路37へ送出する。倍数発生回路37は、8個の倍数発
生器よりなり、各倍数発生器では、第8図に示すよう
に、乗数に関して、補正1ビット+データ2ビットの3
ビットを1組として各ビットパターンに対応して倍数を
発生させており、ある倍数発生器での乗数のデータ2ビ
ットのうち下位ビットは隣合う下位の倍数発生器での乗
数の補正ビットと重複して使用している。このため乗数
データBの16ビットを倍数発生回路37に送出する
とき同時にデータB−1の最下位ビット倍数発生回路
37に送出している。データB8がゼロであるにもかか
わらず倍数発生回路37に送出する理由は、同時に送出
される乗数の最下位データであるB7の最下位ビットに
よる補正を行うためである。また、データB1に対する
補正ビットは0とする。第8図を簡単に説明すると、被
乗数の倍数を加算を伴うことなく被乗数のシフトおよび
反転だけで発生させるため、例えばある倍数発生器での
乗数が「011」の場合、3倍数ではなく4倍数を発生
させ、隣合う下位の倍数発生器で乗数が「100」の場
合、負の4倍数(元の倍数発生器では負の1倍数に相当
する)を発生することにより実質的に3倍数とするもの
である。第8図において、2の補数化は、被乗数の反転
だけでは1の補数にしかならないので2の補数に補正す
る必要があることを示している。また、同図で乗数が
「111」の場合は、被乗数としてすべて1とし、2の
補正化によってゼロとする。
FIG. 5 is a diagram showing the configuration of a multiplication circuit according to an embodiment of the present invention. The multiplicand registers 31, 32 and the multiplier register 3 are shown.
3, 34, the upper 56 bits of the multiplicand and the multiplier, the lower 56
Each bit is set. In the multiplication circuit shown in FIG.
The multiplier used for the multiplication of degrees is 16 bits, and the multiplicand selection circuit 35 outputs 64 bits, which is four times 16 bits, to the multiple generation circuit 37 as the multiplicand. That is, the upper 8 bits of the lower data are merged with 56 bits of the upper data as the data A1, and 16 zeros are merged with the remaining 48 bits of the lower data as the data A2. On the other hand, in the multiplier selection circuit 6, when 16 zeros are added to the upper data 33 and the lower data 34 of the multiplier to make 128 bits, B1 and B
2, ... Out of the eight data of B8, one is sent to the multiple generation circuit 37. The multiple generation circuit 37 is composed of eight multiple generators. Each multiple generator has a multiplier of 1 bit + data 2 bits of 3 as shown in FIG.
A multiple is generated corresponding to each bit pattern with one bit as a set, and the lower bit of the 2 bits of the multiplier data in a certain multiplier generator overlaps with the multiplier correction bit in the adjacent lower multiplier generator. And is using it. Therefore, when 16 bits of the multiplier data B i are sent to the multiple generation circuit 37, they are simultaneously sent to the least significant bit multiple generation circuit 37 of the data B i −1. The reason why the data B8 is sent to the multiple generation circuit 37 even though the data B8 is zero is that the lowest bit of B7, which is the lowest data of the multipliers sent at the same time, is used for correction. Further, the correction bit for the data B1 is 0. To briefly explain FIG. 8, since the multiple of the multiplicand is generated only by shifting and inverting the multiplicand without adding, for example, when the multiplier in a certain multiple generator is “011”, it is not a triple but a quadruple. Is generated, and when the multiplier is “100” in the adjacent lower-order multiple generator, by generating a negative four-fold number (corresponding to a negative one-fold number in the original multiple generator), it becomes substantially a triple number. To do. FIG. 8 shows that the 2's complement conversion needs to be corrected to the 2's complement because the 1's complement can be obtained only by inverting the multiplicand. Further, when the multiplier is “111” in the figure, all the multiplicands are set to 1 and the correction of 2 is set to zero.

先ず、第5図の乗算回路が2倍精度乗算器として使用さ
れる場合の動作概要を第6図の乗算順序を参照しながら
説明する。
First, an outline of the operation when the multiplication circuit of FIG. 5 is used as a double precision multiplier will be described with reference to the multiplication order of FIG.

(1) 倍数発生回路37の8本の各々の出力線には、被乗
数56ビット×乗数3ビットの倍数がそれぞれ出力さ
れ、キャリ・セイブ・アダー・トウリー38に入力さ
れ、データA1とデータB4の部分積(A1×B4)5
1がハーフ・キャリ、ハーフ・サムの形で求められる。
(1) A multiple of the multiplicand of 56 bits × the multiplier of 3 bits is output to each of the eight output lines of the multiple generation circuit 37, which is input to the carry save adder tree 38 to output the data A1 and the data B4. Partial product (A1 x B4) 5
1 is required in the form of half carry and half thumb.

(2) 上記(1)と同様に倍数発生回路37とキャリ・セイ
ブ・アダー・トウリー38によりデータA1とデータB
3との部分積(A1×B3)52が求められる。上記
(1)と異なるのは、(1)での部分積A1×B4が部分積桁
合せ用選択回路39によって右に16ビットシフトされ
キャリ・セイブ・アダー・トウリー38に入力されてA
1×B3との和がとられ、右にシフトすることにより、
こぼれたA1×B4の下位16ビットの部分は、スピル
・アダー41によって和がとられる。
(2) As in (1) above, data A1 and data B are generated by the multiple generation circuit 37 and the carry save adder tree 38.
The partial product (A1 × B3) 52 with 3 is obtained. the above
The difference from (1) is that the partial product A1 × B4 in (1) is shifted to the right by 16 bits by the partial product digit alignment selection circuit 39 and is input to the carry save adder tree 38 and A
The sum of 1 × B3 is taken and by shifting to the right,
The spilled A1 × B4 lower 16 bits are summed by the spill adder 41.

(3) 上記(2)と同様A1×B2の部分積53が求められ
る。
(3) Similar to (2) above, the partial product 53 of A1 × B2 is obtained.

(4) 上記(2)と同様A1×B1の部分積54が求められ
る。
(4) Similar to (2) above, the partial product 54 of A1 × B1 is obtained.

(5) ハーフ・キャリ,ハーフ・サムの形で求められてい
る部分積51〜54をキャリ・プロパゲイト・アダー4
0により1つにまとめ、乗算結果が得られる。
(5) Carry Propagate Adder 4 with partial products 51 to 54 required in the form of half carry and half sum.
By 0, they are combined into one and the multiplication result is obtained.

次に第5図の乗算回路が4倍精度乗算器として使用され
る場合の動作を説明する。16ビット乗算は、第7図に
示す順序で実行される。このとき、2倍精度乗算と異な
る点は次の4通りの場合である。すなわち、 (i) 部分積61ないし部分積65と部分積66の和、 (ii) 部分積61ないし部分積67と部分積68の和、 (iii) 部分積61ないし部分積69と部分積70の
和、 (iv) 部分積61ないし部分積71と部分積72の和、 の場合、2倍精度乗算と異なる。この場合、部分積を右
に16ビットシフトすることなくそのまゝ、キャリ・セ
イブ・アダー・トウリー38に入力する。また、このと
きは、スピル・アダー41も使用しない。
Next, the operation when the multiplication circuit of FIG. 5 is used as a quad precision multiplier will be described. The 16-bit multiplication is executed in the order shown in FIG. At this time, the difference from the double precision multiplication is in the following four cases. That is, (i) partial product 61 or partial product 65 and partial product 66, (ii) partial product 61 or partial product 67 and partial product 68, and (iii) partial product 61 or partial product 69 and partial product 70. And (iv) the sum of the partial product 61 or the partial product 71 and the partial product 72 is different from the double precision multiplication. In this case, the partial product is input to the carry save adder tree 38 without shifting it by 16 bits to the right. At this time, the spill adder 41 is not used either.

こゝで、部分積を右に16ビットするか、そのまゝとす
るかを選択するのが部分積桁合せ用選択回路39であ
る。
Here, it is the partial product digit matching selection circuit 39 that selects whether the partial product is 16 bits to the right or is left as it is.

4倍精度乗算では16ビット乗算を16回実行するが、
下位の部分については上位へのキャリだけを拾い、結果
として結果レジスタ群42〜46の116ビットだけ求
める。結果レジスタ46の4ビットは、4ビットを1デ
ィジットとしたとき、結果の最上位がゼロの場合、カー
ド・ディシットとして使用する。結果レジスタ群42〜
46のセットするデータを第7図に示す演算手段に従っ
て説明すると以下の通りとなる。
In quad precision multiplication, 16-bit multiplication is executed 16 times,
For the lower part, only the carry to the upper part is picked up, and as a result, only 116 bits of the result register groups 42 to 46 are obtained. The 4 bits of the result register 46 are used as a card digit when the most significant result is 0 when 4 bits are 1 digit. Result register group 42-
The data set by 46 will be described below according to the calculation means shown in FIG.

結果レジスタ46には、部分積61ないし部分積73を
右に16ビットシフトするとき、ビット中の上位4ビッ
トをセットする。
When shifting the partial products 61 to 73 to the right by 16 bits, the upper 4 bits of the bits are set in the result register 46.

結果レジスタ45には、部分積61ないし部分積74を
右に16ビットシフトするとき、スピル・アダー41に
よって求まる和16ビットをセットする。
In the result register 45, when shifting the partial products 61 to 74 to the right by 16 bits, the sum 16 bits obtained by the spill adder 41 is set.

結果レジスタ44には、部分積61ないし部分積75を
右に16ビットシフトするとき、スピル・アダー41に
よって求まる和16ビットをセットする。
In the result register 44, when shifting the partial products 61 to 75 to the right by 16 bits, the sum 16 bits obtained by the spill adder 41 is set.

結果レジスタ43には、部分積61ないし部分積76の
うち上位から65ないし80ビットに相当し、スピル・
アダー41によって求まる和16ビットがセットされ
る。
The result register 43 corresponds to the upper 65 to 80 bits of the partial product 61 to the partial product 76.
The 16 bits of the sum obtained by the adder 41 are set.

結果レジスタ42には、部分積61ないし部分積76の
うち上位から1ないし64ビットに相当し、キャリ・プ
ロパゲイト・アダー40によって求まる和64ビットが
セットされる。
In the result register 42, the 64-bit sum corresponding to the upper 1 to 64 bits of the partial product 61 to the partial product 76, which is obtained by the carry propagate adder 40, is set.

以上、上記実施例によれば、乗算回路の主要部分である
倍数発生回路37、キャリ・セイブ・アダー・トウリー
38の規模を2倍にすることなく、2N倍精度乗算回路
をN倍精度乗算回路を基本的に構成できるので、以下の
(1)〜(3)に示すような効果が得られる。
As described above, according to the above-described embodiment, the 2N double precision multiplication circuit is converted into the N double precision multiplication circuit without doubling the scales of the multiple generation circuit 37 and the carry save adder tree 38 which are the main parts of the multiplication circuit. You can basically configure
The effects shown in (1) to (3) are obtained.

(1) 従来のように2N倍精度乗算をN倍精度の4回の乗
算に分割しなくて済み、実行時間の短縮が図れる。
(1) It is not necessary to divide the 2N double precision multiplication into four N double precision multiplications as in the conventional case, and the execution time can be shortened.

(2) 従来は、2N倍精度乗算をN倍精度の4回の乗算に
分割し、この4回の乗算の積をN倍精度加算器で1つに
まとめる場合、2N倍精度を特別に意識した回路をN倍
精度加算器に持たせていたが、その必要がなくなり、N
倍精度加算器の構成が簡略化できる。
(2) Conventionally, if 2N double precision multiplication is divided into N double precision four multiplications and the product of these four multiplications is combined into one by an N double precision adder, 2N double precision is specially conscious. I had the circuit that I did in the N double precision adder
The structure of the double precision adder can be simplified.

(3) 従来のように、2N倍精度をN倍精度の4回の乗算
に分割し、この4回の乗算の積をN倍精度加算器に送る
場合、最上位ディジットがゼロであっても正規化するこ
となく送るという特別な結果の選択をしなくて済み、乗
算の結果の選択回路が簡略化できる。
(3) When the 2N double precision is divided into four multiplications of N double precision and the product of these four multiplications is sent to the N double precision adder as in the conventional case, even if the most significant digit is zero. It is not necessary to select a special result of sending without normalization, and the selection circuit of the result of multiplication can be simplified.

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

以上説明したように本発明に係る乗算器は、被乗数から
選択されるデータと乗数から選択される乗数分割部分
は、これらの部分積の桁位置が下位の方からとなるよう
に順次選択される。そのため、被乗数から選択されたデ
ータと乗数から選択された乗数分割部分との部分積と、
右シフト又はシフトされないところの前回に演算された
キャリー・セイブ・アダー・トウリーの出力との和を、
即ち、被乗数から選択されたデータと乗数から選択され
た乗数分割部分との部分積の累積を、キャリー・セイブ
・アダー・トウリーにより順次求めることができる。従
って、被乗数の上位データおよび下位データと、乗数の
全ての乗数分割部分に対するキャリー・セイブ・アダー
・トウリーでの演算が終了した時点でのキャリ・プロパ
ゲイト・アダーとスピルアダーの出力が、そのまま2N
倍精度の被乗数と乗数の乗算結果となる。つまり、N倍
精度の乗算結果を得ることなく直接2N倍精度の乗算結
果を得ることができる。この結果、本願発明では、2N
倍精度の乗算をN倍精度の4度の乗算に分けて行なう方
法と比べて、分割されて演算された結果を加算するため
の加算器を必要としないため、構成を簡略化でき、ま
た、加算を必要としない分、実行時間を短縮できるとい
う顕著な効果を得ることができる。
As described above, in the multiplier according to the present invention, the data selected from the multiplicand and the multiplier division part selected from the multiplier are sequentially selected such that the digit positions of these partial products are from the lower order. . Therefore, the partial product of the data selected from the multiplicand and the multiplier division part selected from the multiplier,
The sum of the output of the carry-save-adder-towery that was calculated the last time where there was no right shift,
That is, the accumulation of the partial products of the data selected from the multiplicand and the multiplier division part selected from the multiplier can be sequentially obtained by carry-save-adder-towery. Therefore, the output of the carry propagator adder and spill adder at the time when the carry save adder touri operation for the upper and lower data of the multiplicand and all the multiplier division parts of the multiplier is completed is 2N.
The result is the multiplication of the double precision multiplicand and the multiplier. That is, it is possible to directly obtain the 2N-double precision multiplication result without obtaining the N-double precision multiplication result. As a result, in the present invention, 2N
Compared with the method of dividing double-precision multiplication into N-double precision four-degree multiplication, an adder for adding the divided and calculated results is not required, so that the configuration can be simplified, and As a result of not requiring addition, it is possible to obtain a remarkable effect that the execution time can be shortened.

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

第1図は従来の高速乗算器の構成例を示す図、第2図は
キャリ・セイブ加算例を示す図、第3図は乗算の順序と
桁合せを示す図、第4図は従来の4倍精度乗算回路の構
成例を示す図、第5図は本発明に係るN倍精度乗算回路
を基本とした2N倍精度乗算回路の構成を示す図、第6
図、第7図は第5図の乗算回路を用いて、N倍精度の乗
算、2N倍精度乗算の乗算の順序と桁合せをそれぞれ示
す図、第8図は倍数発生器で発生する倍数を示す図であ
る。 1……被乗数レジスタ、2……乗数レジスタ、3……乗
数選択回路、4……倍数発生回路、5……キャリ・セイ
ブ・アダー・トウリー、6〜13……キャリ・セイブ・
アダー、14……キャリ・プロパゲイト・アダー、15
……スピル・アダー、16……乗算結果レジスタ、21
……被乗数レジスタ、22……乗数レジスタ、23……
乗算器、24……乗算結果レジスタ、25……加算器、
26……加算結果レジスタ、31,32……被乗数レジ
スタ、33,34……乗数レジスタ、35……被乗数選
択回路、36……乗数選択回路、37……倍数発生回
路、38……キャリ・セイブ・アダー・トウリー、40
……キャリ・プロパゲイト・アダー、41……スピル・
アダー、42〜46……結果レジスタ群。
FIG. 1 is a diagram showing a configuration example of a conventional high speed multiplier, FIG. 2 is a diagram showing an example of carry-save addition, FIG. 3 is a diagram showing multiplication order and digit alignment, and FIG. FIG. 5 is a diagram showing a configuration example of a double precision multiplication circuit, FIG. 5 is a diagram showing a configuration of a 2N double precision multiplication circuit based on the N double precision multiplication circuit according to the present invention, and FIG.
FIG. 7 and FIG. 7 are views showing the order of multiplication by N double precision multiplication and multiplication by 2N double precision multiplication and digit alignment, respectively, using the multiplication circuit of FIG. 5, and FIG. 8 shows the multiples generated by the multiple generator. FIG. 1 ... Multiplier register, 2 ... Multiplier register, 3 ... Multiplier selection circuit, 4 ... Multiple generation circuit, 5 ... Carry save adder tree, 6 to 13 ... Carry save
Adder, 14 ... Carry Propagate Adder, 15
... Spill Adder, 16 ... Multiplication result register, 21
…… Multiplicand register, 22 …… Multiplier register, 23 ……
Multiplier, 24 ... Multiplication result register, 25 ... Adder,
26 ... Addition result register, 31, 32 ... Multiplicand register, 33, 34 ... Multiplier register, 35 ... Multiplier selection circuit, 36 ... Multiplier selection circuit, 37 ... Multiple generation circuit, 38 ... Carry save・ Adder Toury, 40
... Carri Propagate Adder, 41 ... Spill
Adder, 42-46 ... Result register group.

フロントページの続き (56)参考文献 特開 昭57−59245(JP,A) 特開 昭50−115740(JP,A) 特開 昭58−137045(JP,A) 特開 昭53−135534(JP,A)Continuation of front page (56) Reference JP-A-57-59245 (JP, A) JP-A-50-115740 (JP, A) JP-A-58-137045 (JP, A) JP-A-53-135534 (JP , A)

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】nビットデータとm(nはmの整数倍、但
しm≠n。)ビットデータが入力される倍数発生回路を
有するN倍精度データの乗算回路を用いる2N倍精度デ
ータの乗算器において、 2N倍精度の被乗数に下位ビットとしてゼロを付加して
2nビットに構成したデータを2分割して上位データと
下位データとして一方を選択する被乗数選択手段と、 2N倍精度の乗数に下位ビットとしてゼロを付加して2
nビットに構成したデータをmビット毎に分割して任意
の桁の乗数分割部分を選択する乗数選択手段とを有し、 前記被乗数選択手段と前記乗数選択手段は、前記被乗数
選択手段が選択するデータと、前記乗数選択手段が選択
する前記乗数分割部分との部分積の桁位置が下位から上
位となる順序で前記それぞれの選択を行ない、 前記倍数発生回路は、前記被乗数選択手段で選択された
データと前記乗数選択手段で選択された乗数分割部分と
を乗じて倍数を得、 更に、前記得られた倍数と下位の部分積とを加算して上
位の部分積を出力するキャリー・セイブ・アダー・トウ
リーと、 前記上位の部分積、又は前記mビットだけ右へシフトし
た前記上位の部分積を、前記下位の部分積とみなして前
記キャリー・セイブ・アダー・トリーにフィードバック
する桁合わせ手段と、 前記選択された乗数分割部分の桁位置と前記被乗数選択
手段で選択されたデータの上位/下位位置との対応関係
により前記桁合わせ手段のシフト実行の有無を制御する
制御手段と、 前記上位の部分積が入力されるキャリ・プロパゲイト・
アダーとスピルアダーとを有することを特徴とする乗算
器。
1. Multiplication of 2N double-precision data using an N-double precision data multiplication circuit having a multiple generation circuit into which n-bit data and m (n is an integer multiple of m, where m ≠ n) are input. In the device, a multiplicand selecting means for dividing data having 2n bits by adding zero as a lower bit to the 2N double precision multiplicand and selecting one as upper data and lower data, and a lower number for the 2N double precision multiplier Add zero as a bit to 2
There is provided multiplier selection means for dividing the data configured into n bits every m bits to select a multiplier division part of an arbitrary digit, and the multiplicand selection means and the multiplier selection means are selected by the multiplicand selection means. The digit selection is performed in the order in which the digit positions of the partial products of the data and the multiplier division part selected by the multiplier selection means are from lower to higher, and the multiple generation circuit is selected by the multiplicand selection means. A carry save adder for multiplying the data by the multiplier division part selected by the multiplier selecting means to obtain a multiple, and further adding the obtained multiple and the lower partial product to output an upper partial product. Torie and the upper partial product, or the upper partial product shifted to the right by m bits to the right, is regarded as the lower partial product and fed to the carry save adder tree. Whether or not the shift is performed by the digit aligning means is controlled by the correspondence between the digit aligning means to be locked and the digit position of the selected multiplier division part and the upper / lower position of the data selected by the multiplicand selecting means. Control means and a carry propagator to which the upper partial product is input.
A multiplier having an adder and a spill adder.
JP58190717A 1983-10-14 1983-10-14 Multiplier Expired - Lifetime JPH0621983B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58190717A JPH0621983B2 (en) 1983-10-14 1983-10-14 Multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58190717A JPH0621983B2 (en) 1983-10-14 1983-10-14 Multiplier

Publications (2)

Publication Number Publication Date
JPS6083140A JPS6083140A (en) 1985-05-11
JPH0621983B2 true JPH0621983B2 (en) 1994-03-23

Family

ID=16262648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58190717A Expired - Lifetime JPH0621983B2 (en) 1983-10-14 1983-10-14 Multiplier

Country Status (1)

Country Link
JP (1) JPH0621983B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH061438B2 (en) * 1984-04-26 1994-01-05 日本電気株式会社 Double precision multiplier
JPH03185516A (en) * 1989-12-14 1991-08-13 Fujitsu Ltd Method for converting decimal number into binary number
JPH03256117A (en) * 1990-03-07 1991-11-14 Fujitsu Ltd Multiplier
US5283755A (en) * 1993-04-14 1994-02-01 International Business Machines Corporation Multiplier employing carry select or carry look-ahead adders in hierarchical tree configuration

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5440185B2 (en) * 1974-02-21 1979-12-01
JPS5759245A (en) * 1980-09-26 1982-04-09 Fujitsu Ltd Double-length multiplier
JPS58137045A (en) * 1982-02-05 1983-08-15 Matsushita Electric Ind Co Ltd Parallel multiplier

Also Published As

Publication number Publication date
JPS6083140A (en) 1985-05-11

Similar Documents

Publication Publication Date Title
EP0318957B1 (en) Population counting in computer systems
US6735611B2 (en) Arithmetic processor
JP3479438B2 (en) Multiplication circuit
EP0018519B1 (en) Multiplier apparatus having a carry-save/propagate adder
US5457804A (en) Accumulating multiplication circuit executing a double-precision multiplication at a high speed
JPH0368416B2 (en)
JPH0375901B2 (en)
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US4868777A (en) High speed multiplier utilizing signed-digit and carry-save operands
JPH01169531A (en) Fast binary/decimal arithmetic logical computing apparatus and computing of binary coded decimal number
CA1219955A (en) Digital multiplying circuit
EP0248166A2 (en) Binary multibit multiplier
US5357455A (en) Floating point remainder generator for a math processor
US4064400A (en) Device for multiplying numbers represented in a system of residual classes
JPH0833816B2 (en) Fixed-point division method
JP2597775B2 (en) Division method and division device
US4727507A (en) Multiplication circuit using a multiplier and a carry propagating adder
US4677583A (en) Apparatus for decimal multiplication
JPH0621983B2 (en) Multiplier
US4190894A (en) High speed parallel multiplication apparatus with single-step summand reduction
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US5677863A (en) Method of performing operand increment in a booth recoded multiply array
EP0534760A2 (en) High speed multiplier device
JPH05173761A (en) Binary integer multiplier