JPH02114324A - Multiplier - Google Patents

Multiplier

Info

Publication number
JPH02114324A
JPH02114324A JP63267279A JP26727988A JPH02114324A JP H02114324 A JPH02114324 A JP H02114324A JP 63267279 A JP63267279 A JP 63267279A JP 26727988 A JP26727988 A JP 26727988A JP H02114324 A JPH02114324 A JP H02114324A
Authority
JP
Japan
Prior art keywords
partial
multiplier
register
operand
cumulative sum
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
JP63267279A
Other languages
Japanese (ja)
Inventor
Masayuki Kimura
木村 真行
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 JP63267279A priority Critical patent/JPH02114324A/en
Publication of JPH02114324A publication Critical patent/JPH02114324A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To probabilisticly accelerate multiplication by omitting operation for finding out the m-th partial multiplication result when the m-th partial multiplier is decided as all '0's, and shifting the added result up to the (m-1) th partial multiplication to the light only by the number of bits uniformly determined from the bit length of the partial multiplier through an added result shifter. CONSTITUTION:When the m-th partial multiplier inputted from the output of a 1st operand check circuit 5 or a 2nd operand check circuit 14 to partial multiplier registers 3, 4 is decided as all '0's, operation for finding out the m-th partial multiplication result is omitted and the added result up to the (m-1)th partial multiplicand to the right only by the number of bits uniformly determined from the bit length of the partial multiplier through an added result shifter 9 to obtain the added result up to the m-th partial multiplier. Consequently, operation can be probabilisticly accelerated only by the slight increment of hardware.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は乗算器に関する。[Detailed description of the invention] [Industrial application field] The present invention relates to multipliers.

[従来の技術] 従来、乗算器の構成としては、例えば第2図のような構
成が用いられてきた。第2図中、被乗数レジスタ16は
演算に用いられる被乗数を格納するレジスタであり、乗
数レジスタ17は乗数を格納するレジスタである。ここ
で、乗数レジスタ17に格納された乗数は、第1乃至第
1の部分乗数に分割され、下位側から順次部分乗数セレ
クタ18を通して、部分乗数レジスタ1つに格納される
。被乗数レジスタ16に格納された被乗数と部分乗数レ
ジスタ19に格納された第1(1=m≦n)の部分乗数
を用いて部分積発生回路20では所要数の部分積が発生
され、この部分積を部分積加算回路21において加算す
ることにより、第1の部分乗数に対する部分乗算結果が
得られる。この時、累和レジスタ22には、第1から第
(m−1)までの部分乗数に対する部分乗算結果を累和
した結果が入っているものとすると、第1の部分乗数に
対する部分乗算結果であるところの部分積加算回路21
の出力を、累和レジスタ・22出力をシフタ23におい
て右シフト(シフト数は部分乗数のビット幅により一意
に決まる)した結果と累和回路24において加算するこ
とにより、第1までの部分乗算結果の累和結果が得られ
る。
[Prior Art] Conventionally, as a configuration of a multiplier, a configuration as shown in FIG. 2, for example, has been used. In FIG. 2, a multiplicand register 16 is a register that stores a multiplicand used in an operation, and a multiplicand register 17 is a register that stores a multiplier. Here, the multiplier stored in the multiplier register 17 is divided into first to first partial multipliers, and sequentially stored in one partial multiplier register from the lower side through the partial multiplier selector 18. The partial product generation circuit 20 generates a required number of partial products using the multiplicand stored in the multiplicand register 16 and the first (1=m≦n) partial multiplier stored in the partial multiplier register 19. By adding them in the partial product addition circuit 21, a partial multiplication result for the first partial multiplier is obtained. At this time, assuming that the cumulative sum register 22 contains the cumulative sum of the partial multiplication results for the first to (m-1)th partial multipliers, the partial multiplication results for the first partial multiplier are Some partial product addition circuit 21
By adding the output of the cumulative sum register 22 output to the right in the shifter 23 (the number of shifts is uniquely determined by the bit width of the partial multiplier) in the cumulative sum circuit 24, the partial multiplication results up to the first are obtained. The cumulative sum result is obtained.

以下、この累和結果を再び累和レジスタ22に格納し、
同時に部分乗数レジスタ19に次の第(m+1)の部分
乗数を格納し、第(m+1)の部分乗算を行うといった
操作がくり返される。最終的な乗算結果は、部分乗数レ
ジスタ19に第1@目の部分乗数が格納された時に累和
回路24から出力される値である。なお、累和レジスタ
22は演算の開始にあたってゼロクリアされていなけれ
ばならない。
Hereafter, this cumulative sum result is stored in the cumulative sum register 22 again,
At the same time, the operation of storing the next (m+1)th partial multiplier in the partial multiplier register 19 and performing the (m+1)th partial multiplication is repeated. The final multiplication result is the value output from the cumulative sum circuit 24 when the first @th partial multiplier is stored in the partial multiplier register 19. Note that the cumulative sum register 22 must be cleared to zero before starting the calculation.

また、各部分乗数は上位1ビツトが上位側の部分乗数と
、下位1ビツトが下位側の部分乗数と各々重複しており
、部分積の発生は例えば以下のようにして行われる。ま
ず部分乗数をMPとしMPが9ビツトであったとすると
、MPは次のようにあられされる。
Further, in each partial multiplier, the upper one bit overlaps with the upper partial multiplier, and the lower one bit overlaps with the lower partial multiplier, and the partial products are generated, for example, as follows. First, if the partial multiplier is MP and MP is 9 bits, then MP can be expressed as follows.

MP” (ao al  a2 al aa aq a
6at as )・・・(1) ここでa。は上位の部分乗数の最下位ビットと重複し、
a8は下位の部分乗数の最上位ビットと重複する。この
MPを以下のように3ビツトづつの組に分けると ・・・(2) 被乗数XとMPの積は以下のように4つの部分積の和と
して求まる。
MP” (ao al a2 al aa aq a
6at as )...(1) Here a. overlaps with the least significant bit of the upper partial multiplier,
a8 overlaps with the most significant bit of the lower partial multiplier. If this MP is divided into groups of 3 bits each as shown below...(2) The product of the multiplicand X and MP can be found as the sum of four partial products as shown below.

X−MP−X・ ((a、+a2−2ao )  ・2
−’+ (at +aa−2a2)・2−1+ (a 
g + 862 a 4)  ・24+ (at +a
B −2ab )  ・2− 1= (a+ + ax
 −2ao )  ・2−’−X+ (a、+a、−2
a、)−2−j−X+ (a、+a、−2a4)、/)
−5,X+ (a、 十as−2a、、)* 2−’e
X・・・(3) 以上のような方式により部分積を求めていくと、式(3
)よりわかるように、部分乗数がオール“0”もしくは
オール“1”の場合、部分乗算結果は必ず′0″になる
X-MP-X・((a,+a2-2ao)・2
-'+ (at +aa-2a2)・2-1+ (a
g + 862 a 4) ・24+ (at +a
B -2ab) ・2-1= (a+ + ax
-2ao) ・2-'-X+ (a, +a, -2
a,)-2-j-X+ (a,+a,-2a4),/)
-5,X+ (a, 10as-2a,,)* 2-'e
X...(3) By calculating the partial products using the above method, the formula (3
), when the partial multipliers are all "0" or all "1", the partial multiplication result is always '0'.

なお、上述の例は、被乗数のビット長が奇数の場合であ
ったが、偶数ビット長の場合には、オール“1”の場合
に′0°とは限らない。
In the above example, the bit length of the multiplicand is an odd number, but in the case of an even number of bits, the angle is not necessarily '0° in the case of all "1"s.

[発明が解決しようとする課題] 上述した従来の乗算器を用いると、乗数がどのような値
であろうと、その乗数を分割した部分乗数の個数だけ部
分乗算結果を求め累和していくといった演算ループを実
行しなければならないという欠点がある。ところが、例
えば第2図の乗算器で扱うデータが整数データであるよ
うな場合、乗数データの有効ビットが乗数のビット幅い
っばいには存在しない場合が比較的多く、そういった場
合、乗数の上位側は連続した“0“もしくは“1“とな
っている。また、第2図の乗算器で扱うデータが2の補
数形式の正規形の浮動少数点データである場合には、乗
数の下位側が連続した“0°である場合が多い。ここで
このようなオール“Ooのデータが部分乗数レジスタ1
9に格納された場合、従来例で示されるように、部分積
加算回路21より出力される部分乗算結果は必ず“0”
になることがわかっている。従って、オール“0”の部
分乗数に対する演算は省略できる。
[Problems to be Solved by the Invention] When the conventional multiplier described above is used, no matter what the value of the multiplier is, it is possible to divide the multiplier to obtain partial multiplication results for the number of partial multipliers and sum them. The disadvantage is that an arithmetic loop must be executed. However, for example, when the data handled by the multiplier in Figure 2 is integer data, there are relatively many cases where the valid bits of the multiplier data do not exist in the bit width of the multiplier, and in such cases, the upper side of the multiplier is a continuous "0" or "1". Furthermore, when the data handled by the multiplier in Figure 2 is normal floating point data in two's complement format, the lower side of the multiplier is often a continuous 0°. All “Oo” data is in partial multiplier register 1
9, the partial multiplication result output from the partial product addition circuit 21 is always “0” as shown in the conventional example.
I know it will be. Therefore, calculations for all "0" partial multipliers can be omitted.

本発明の目的は、この点に着目し、乗算を確率的に高速
化することにある。
An object of the present invention is to focus on this point and to speed up multiplication stochastically.

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

部分乗数に分割し、これら部分乗数を下位側から順次部
分乗数レジスタに格納し、演算に用いる被乗数と部分乗
数レジスタに格納される第m(1≦m≦n)の部分乗数
から所要数の部分積を発生し、これら部分積を加算して
得られる第mの部分乗算結果を第1乃至第(m−1)の
部分乗数から得られた部分乗算結果の累和結果と加算し
ていくことにより、前記乗数と前記被乗数の積を得る乗
算器であって、演算に用いる第1及び第2のオペランド
を各々n個の分割データに分割し、該分割データがオー
ル“0°か否かを判定する第1及び第2のオペランドチ
ェック回路と、前記第1及び第2のオペランドチェック
回路の出力から該分割データのうちオール“0゛の分割
データの少い方のオペランドを前記被乗数として出力す
る被乗数セレクタと、前記第1及び第2のオペランドチ
ェック回路の出力から該分割データのうちオール“0“
の分割データの多い方のオペランドを前記乗数とし、該
乗数の下位側の分割データから順に前記部分乗数として
選択して前記部分乗数レジスタに出力する部分乗数セレ
クタと、前記累和結果をシフトする累和結果シフタとを
有し、前記第1のオペランドチェック回路もしくは前記
第2のオペランドチェック回路の出力から、前記部分乗
数レジスタに入力される第mの部分乗数がオール″0″
でないと判定された場合には、前記被乗数セレクタ出力
と前記部分乗数レジスタ出力とから前記第mの部分乗算
結果を求め、前記第(m−1)の部分乗数までの累和結
果と加算して第mの部分乗数までの累和結果とし、前記
第1のオペランドチェック回路もしくは前記第2のオペ
ランドチェック回路の出力から前記部分乗数レジスタに
入力される第mの部分乗数がオール“0”であると判定
された場合には、前記第mの部分乗算結果を求める演算
を省略し、前記第(m−1)の部分乗数までの累和結果
を前記累和結果シフタを用いて前記部分乗数のビット長
から一意に決まるビット数だけ右シフトして前記第mの
部分乗数までの累和結果とすることを特徴とする。
Divide into partial multipliers, store these partial multipliers in the partial multiplier register in order from the lower side, and divide the required number of parts from the multiplicand used in the operation and the m-th (1≦m≦n) partial multiplier stored in the partial multiplier register. Generating products and adding the m-th partial multiplication result obtained by adding these partial products to the cumulative sum result of the partial multiplication results obtained from the first to (m-1)th partial multipliers. A multiplier that obtains the product of the multiplier and the multiplicand divides each of the first and second operands used in the operation into n pieces of divided data, and checks whether the divided data are all "0°" or not. The first and second operand check circuits for determination and the outputs of the first and second operand check circuits output the operand with fewer divided data of all "0" among the divided data as the multiplicand. From the outputs of the multiplicand selector and the first and second operand check circuits, all of the divided data are "0".
a partial multiplier selector that selects the operand with more divided data as the multiplier and sequentially selects it as the partial multiplier starting from the lower divided data of the multiplier and outputs it to the partial multiplier register; a sum result shifter, and the m-th partial multiplier input to the partial multiplier register from the output of the first operand check circuit or the second operand check circuit is all "0".
If it is determined that it is not, the m-th partial multiplication result is obtained from the multiplicand selector output and the partial multiplier register output, and is added to the cumulative sum result up to the (m-1)th partial multiplier. The m-th partial multiplier inputted into the partial multiplier register from the output of the first operand check circuit or the second operand check circuit, which is the cumulative sum result up to the m-th partial multiplier, is all "0". If it is determined that It is characterized in that it is shifted to the right by a uniquely determined number of bits from the bit length to obtain the cumulative sum result up to the m-th partial multiplier.

−〔実施例] 次に、本発明の実施例について図面を参照して説明する
- [Example] Next, an example of the present invention will be described with reference to the drawings.

第1図は本発明の一実施例による乗算器の構成を示すブ
ロック図である。第1図中、オペランド入レジスタ1と
オペランドロレジスタ2はそれぞれ演算に用いる2つの
オペランドのいづれかを格納する。オペランドAレジス
タ1.オペランドBレジスタ2に格納された2つのオペ
ランドは、それぞれn個のデータに分割され、オペラン
ド入レジスタ1の分割データはオペランドAチエツク回
路5.オペランドBレジスタ2の分割データはオペラン
ドチェック回路14においてそれぞれオール“0°か否
かを判定され、制御回路6に報告される。
FIG. 1 is a block diagram showing the configuration of a multiplier according to an embodiment of the present invention. In FIG. 1, operand input register 1 and operand register 2 each store one of two operands used in an operation. Operand A register 1. The two operands stored in the operand B register 2 are each divided into n pieces of data, and the divided data in the operand input register 1 is sent to the operand A check circuit 5. The divided data of the operand B register 2 are each judged in the operand check circuit 14 to see if they are all "0°" and are reported to the control circuit 6.

制御回路6はオペランドAチエツク回路5.オペランド
Bチエツク回路14の出力を受け、乗算器中の各種レジ
スタに対するセット指示、各種セレクタに対するセレク
ト信号、各種シフタに対するシフト数を与える。
The control circuit 6 includes an operand A check circuit 5. It receives the output of the operand B check circuit 14 and gives set instructions to various registers in the multiplier, select signals to various selectors, and shift numbers to various shifters.

被乗数セレタク15は制御回路6により制御され、オペ
ランドAレジスタ1とオペランドロレジスタ2の出力の
うちオール“0“の分割データが少い方(等しい場合に
はオペランドAレジスタ1の出力)を被乗数として出力
する。部分乗数セレクタ3は制御回路6により制御され
、オペランドAレジスタ1とオペランドロレジスタ2の
出力のうちオール“0°の分割データの多い方(等しい
場合にはオペランドロレジスタ2の出力)を乗数と仮定
し、選択されたオペランドの下位側の分割データから順
に部分乗数レジスタ4に出力する。
The multiplicand selector 15 is controlled by the control circuit 6, and selects the output of the operand A register 1 and the operand register 2, whichever has less divided data of all "0" (if they are equal, the output of the operand A register 1) as the multiplicand. Output. The partial multiplier selector 3 is controlled by the control circuit 6, and selects the output of the operand A register 1 and the operand register 2 which has more divided data of all "0 degrees" (if they are equal, the output of the operand register 2) as the multiplier. Assuming that, the divided data of the selected operand is output to the partial multiplier register 4 in order from the lower-order side.

部分積発生回路7では被乗数セレクタ15と部分乗数レ
ジスタ4の出力から所要数の部分積の発生が行われ、部
分積加算回路8は部分積発生回路7より出力される部分
積を加算して部分乗算結果を出力する。
The partial product generation circuit 7 generates a required number of partial products from the outputs of the multiplicand selector 15 and the partial multiplier register 4, and the partial product addition circuit 8 adds the partial products output from the partial product generation circuit 7 to generate partial products. Output the multiplication result.

累和レジスタ10は部分乗算結果の累和結果を格納し、
シフタ11は累和レジスタ10出力を右シフト(シフト
数は部分乗数のビット長より一意に決まる)し、累和回
路12は部分積加算回路8の出力とシフタ11の出力を
加算する。さらに、累和結果セレクク9は累和回路12
の出力とシフタ11の出力のうち、累和レジスタ10に
格納すべきデータを選択する。なお、累和レジスタ10
は、演算の開始にあたり、ゼロクリアされていなければ
ならない。
The cumulative sum register 10 stores the cumulative sum result of partial multiplication results,
The shifter 11 shifts the output of the accumulation register 10 to the right (the number of shifts is uniquely determined by the bit length of the partial multiplier), and the accumulation circuit 12 adds the output of the partial product addition circuit 8 and the output of the shifter 11. Furthermore, the cumulative sum result selector 9 is connected to the cumulative sum circuit 12.
and the output of the shifter 11, the data to be stored in the cumulative sum register 10 is selected. Note that the cumulative sum register 10
must be cleared to zero before starting the operation.

以下、第3図に示された乗数の種々の例についてのタイ
ムチャートを参照しながら第1図の乗算器の動作を説明
する。
The operation of the multiplier shown in FIG. 1 will be described below with reference to time charts for various examples of multipliers shown in FIG.

第3図(1)は各部分乗数がすべてオール“0”でない
例を示し、部分乗数レジスタ4には乗数の下位側から逐
次部分乗数が供給され、部分乗算結果の累和結果が累和
レジスタ10に格納されていく。この例では、累和結果
セレクタ9は常に累和回路12出力を選択し、シフタ1
1では部分乗数のビット長より一意に決まる演算ループ
回分のシフト数だけ右シフトが行なわれる。また、累和
結果シフタ13はスルーの状態である。
FIG. 3 (1) shows an example in which each partial multiplier is not all "0", partial multipliers are sequentially supplied to the partial multiplier register 4 from the lower side of the multiplier, and the cumulative sum result of the partial multiplication results is stored in the cumulative sum register. 10 is stored. In this example, the cumulative sum result selector 9 always selects the cumulative sum circuit 12 output, and the shifter 1
1, the right shift is performed by the number of shifts for the calculation loop, which is uniquely determined by the bit length of the partial multiplier. Further, the cumulative sum result shifter 13 is in a through state.

第3図(2)は乗数のうち上位2つ分の部分乗数がオー
ル“0゛である例を示し、累和結果セレクタ9は常に累
和回路12の出力を選択し、第1の部分乗算結果が累和
レジスタ10に格納された時点でシフタ11は演算ルー
プ1回分のシフト数だけシフトを行い、累和結果シフタ
13で演算ループ2回分の右シフトを行うことにより、
乗算結果が得られる。
FIG. 3 (2) shows an example in which the top two partial multipliers among the multipliers are all "0", and the cumulative sum result selector 9 always selects the output of the cumulative sum circuit 12, and the first partial multiplier When the result is stored in the cumulative sum register 10, the shifter 11 shifts by the number of shifts for one calculation loop, and the cumulative sum result shifter 13 performs a right shift for two calculation loops.
The multiplication result is obtained.

第3図(3)は乗数のうち下位2つ分の部分乗数がオー
ル“、0゛である例を示し、第1.第2の部分乗数に対
する演算が省略される他は第3図(1)と同様である。
Figure 3 (3) shows an example in which the lower two partial multipliers of the multipliers are all ", 0". ).

第3図(4)は乗数の一部にオール″0”の部分乗数が
存在する例であり、第2の部分乗数に対する演算までは
第3図(1)と同様であるが、第3の部分乗数に対する
演算が省略され、第4の部分乗数に対する部分乗算結果
と加算すべき累和結果は、シフタ11において累和レジ
スタ10の出力を演算ループ2回分のシフト数だけ右シ
フトしたデータとなる。
Figure 3 (4) is an example where there is a partial multiplier that is all "0" as part of the multiplier, and the calculations up to the second partial multiplier are the same as in Figure 3 (1), but the third The operation for the partial multiplier is omitted, and the cumulative sum result to be added to the partial multiplication result for the fourth partial multiplier is data obtained by shifting the output of the cumulative sum register 10 to the right by the shift number for two calculation loops in the shifter 11. .

[発明の効果] 以上説明したように、本発明によれば、若干の金物量の
増加だけで乗算を確率的に高速化することができる。
[Effects of the Invention] As described above, according to the present invention, multiplication can be stochastically accelerated with only a slight increase in the amount of metal objects.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例による乗算器の構成を示すブ
ロック図、第2図は従来の乗算器の一構成を示すブロッ
ク図、第3図は本発明の一実施例の動作を説明するため
のタイムチャートである。 1・・・オペランドAレジスタ、2・・・オペランドロ
レジスタ、3・・・部分乗数セレクタ、4・・・部分乗
数レジスタ、5・・・オペランドAチエツク回路、6・
・・制御回路、7・・・部分積発生回路、8・・・部分
積加算回路、9・・・累和結果セレクタ、10・・・累
和レジスタ、11・・・シフタ、12・・・累和回路、
13・・・累和結果シフタ、14・・・オペランドBチ
エツク回路、15・・・被乗数セレクタ。 第1 図 第3画(1) 被乗数レジスタ X=============二乗数
レジスタ X=二二二二======二二二乗  数 クロック 被乗数レジスタ 乗数レジスタ 部分乗数レジスタ 累和レジスタ 演算結果 第3図(2) Dff口 「L「L「■]− ℃======= ℃======= ℃顧ff −0’   4: [二二 第2図 第3図(3) 乗  数 クロック 被乗数レジスタ 乗数レジスタ 部分乗数レジスタ 累和レジスタ 演X結果 口■虚■Σ■ロ ローロー「L「し [======= [======二 ■9C]= [][D口T= 〔= 第3 図(4) 乗  数 クロック 被乗数レジスタ 乗数レジスタ 部分乗数レジスタ 累和レジスタ 演算結果 匡]]T丁B口 口L「L「し「L ℃======二 [二二二二二二二 41= 運びX丁= [=
FIG. 1 is a block diagram showing the configuration of a multiplier according to an embodiment of the present invention, FIG. 2 is a block diagram showing the configuration of a conventional multiplier, and FIG. 3 explains the operation of an embodiment of the present invention. This is a time chart for DESCRIPTION OF SYMBOLS 1... Operand A register, 2... Operandro register, 3... Partial multiplier selector, 4... Partial multiplier register, 5... Operand A check circuit, 6...
...Control circuit, 7.. Partial product generation circuit, 8.. Partial product addition circuit, 9.. Accumulation result selector, 10.. Accumulation register, 11.. Shifter, 12.. cumulative sum circuit,
13... Accumulation result shifter, 14... Operand B check circuit, 15... Multiplicand selector. 1st Figure 3rd picture (1) Multiplicand register X============= Square number register Partial multiplier register cumulative sum register operation result Fig. 3 (2) 2 Figure 2 Figure 3 (3) Multiplier Number Clock Multiplicand Register Multiplier Register Partial Multiplier Register Cumulative Sum Register Operation ==2■9C]= [][D entrance T= [= Figure 3 (4) Multiplier clock Multiplicand register Multiplier register Partial multiplier register Cumulative sum register Operation result box]] T Ding B mouth L "L" ``L ℃======2[222222241= Carrying X Ding= [=

Claims (1)

【特許請求の範囲】 1、乗数を第1乃至第n(nは2以上の整数)の部分乗
数に分割し、該第1乃至第nの部分乗数を下位側から順
次部分乗数レジスタに格納し、演算に用いる被乗数と部
分乗数レジスタに格納される第m(1≦m≦n)の部分
乗数から所要数の部分積を発生し、これら部分積を加算
して得られる第mの部分乗算結果を第1乃至第(m−1
)番の部分乗数から得られた部分乗算器の累和結果と加
算していくことにより、前記乗数と前記被乗数の積を得
る乗算器において、 演算に用いる第1及び第2のオペランドを各々n個の分
割データに分割し、該分割データがオール“0”か否か
を判定する第1及び第2のオペランドチェック回路と、 前記第1及び第2のオペランドチェック回路の出力から
該分割データのうちオール“0”の分割データの少い方
のオペランドを前記被乗数として出力する被乗数セレク
タと、 前記第1及び第2のオペランドチェック回路の出力から
該分割データのうちオール“0”の分割データの多い方
のオペランドを前記乗数とし、該乗数の下位側の分割デ
ータから順に前記部分乗数として選択して前記部分乗数
レジスタに出力する部分乗数セレクタと、 前記累和結果をシフトする累和結果シフタとを有し、 前記第1のオペランドチェック回路もしくは前記第2の
オペランドチェック回路の出力から、前記部分乗数レジ
スタに入力される第1の部分乗数がオール“0”でない
と判定された場合には、前記被乗数セレクタ出力と前記
部分乗数レジスタ出力とから前記第mの部分乗算結果を
求め、前記第(m−1)の部分乗数までの累和結果と加
算して第1の部分乗数までの累和結果とし、前記第1の
オペランドチェック回路もしくは前記第2のオペランド
チェック回路の出力から前記部分乗数レジスタに入力さ
れる第mの部分乗数がオール“0”であると判定された
場合には、前記第mの部分乗算結果を求める演算を省略
し、前記第(m−1)の部分乗数までの累和結果を前記
累和結果シフタを用いて前記部分乗数のビット長から一
意に決まるビット数だけ右シフトして前記第mの部分乗
数までの累和結果とすることを特徴とする乗算器。
[Claims] 1. Divide the multiplier into first to nth partial multipliers (n is an integer of 2 or more), and store the first to nth partial multipliers in a partial multiplier register sequentially from the lower side. , the required number of partial products are generated from the multiplicand used in the operation and the m-th (1≦m≦n) partial multiplier stored in the partial multiplier register, and the m-th partial multiplication result obtained by adding these partial products. from the first to the (m-1
) in a multiplier that obtains the product of the multiplier and the multiplicand by adding it to the cumulative sum result of the partial multiplier obtained from the partial multiplier number n. first and second operand check circuits that divide the divided data into divided data and determine whether or not the divided data are all "0"; and a multiplicand selector that outputs the operand with fewer all "0" divided data as the multiplicand; and a multiplicand selector that outputs the operand with less all "0" divided data as the multiplicand; a partial multiplier selector that takes the larger operand as the multiplier and sequentially selects the lower divided data of the multiplier as the partial multiplier and outputs it to the partial multiplier register; and a cumulative sum result shifter that shifts the cumulative sum result. and if it is determined from the output of the first operand check circuit or the second operand check circuit that the first partial multiplier input to the partial multiplier register is not all "0", Obtain the m-th partial multiplication result from the multiplicand selector output and the partial multiplier register output, and add it to the cumulative sum result up to the (m-1)th partial multiplier to obtain the cumulative sum up to the first partial multiplier. As a result, if it is determined that the m-th partial multiplier input to the partial multiplier register from the output of the first operand check circuit or the second operand check circuit is all "0", the The operation for obtaining the m-th partial multiplication result is omitted, and the cumulative sum result up to the (m-1)th partial multiplier is moved by the number of bits uniquely determined from the bit length of the partial multiplier using the cumulative sum result shifter. A multiplier, characterized in that the multiplier performs a right shift to produce a cumulative sum result up to the m-th partial multiplier.
JP63267279A 1988-10-25 1988-10-25 Multiplier Pending JPH02114324A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63267279A JPH02114324A (en) 1988-10-25 1988-10-25 Multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63267279A JPH02114324A (en) 1988-10-25 1988-10-25 Multiplier

Publications (1)

Publication Number Publication Date
JPH02114324A true JPH02114324A (en) 1990-04-26

Family

ID=17442629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63267279A Pending JPH02114324A (en) 1988-10-25 1988-10-25 Multiplier

Country Status (1)

Country Link
JP (1) JPH02114324A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04185010A (en) * 1990-11-20 1992-07-01 Nec Corp Digital filter
WO1999067704A1 (en) * 1998-06-23 1999-12-29 Wataru Ogata System for division using small-capacity memory
JP2007323567A (en) * 2006-06-05 2007-12-13 Nec Electronics Corp Multiplier and filter processing unit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04185010A (en) * 1990-11-20 1992-07-01 Nec Corp Digital filter
WO1999067704A1 (en) * 1998-06-23 1999-12-29 Wataru Ogata System for division using small-capacity memory
JP2007323567A (en) * 2006-06-05 2007-12-13 Nec Electronics Corp Multiplier and filter processing unit
JP4519807B2 (en) * 2006-06-05 2010-08-04 ルネサスエレクトロニクス株式会社 Multiplier and filter processing apparatus

Similar Documents

Publication Publication Date Title
US5457804A (en) Accumulating multiplication circuit executing a double-precision multiplication at a high speed
JPS6347874A (en) Arithmetic unit
JPH1195981A (en) Multiplication circuit
KR20040063143A (en) High-speed computation in arithmetic logic circuit
JPH07210369A (en) Circuit and method for execution of parallel addition and average operation
EP1049025A1 (en) Method and apparatus for arithmetic operation
US5528529A (en) Electronic multiplying and adding apparatus and method
JP2502836B2 (en) Preprocessing device for division circuit
EP0474246A2 (en) Image signal processor
JPH02114324A (en) Multiplier
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JPH0793295A (en) Method and system for approximation of nonlinear function
JP3660075B2 (en) Dividing device
JPH05158659A (en) Multiplier
JPH0346024A (en) Floating point computing element
JPH0335353A (en) Discrete cosine converting device
JPH07134646A (en) Multiplier for real number or complex number
KR100623604B1 (en) Data processing apparatus and data processing method thereof
US5831882A (en) Orthogonal transformation processing device
JP2864598B2 (en) Digital arithmetic circuit
JPH1049347A (en) Multiplicator
JPH0368415B2 (en)
JP2001134556A (en) Repetitive multiplier and array multiplier
JP3477866B2 (en) Divider division method
JPH10149277A (en) Multiplication device