JPS60175181A - Parallel inner product operating method - Google Patents
Parallel inner product operating methodInfo
- Publication number
- JPS60175181A JPS60175181A JP2948684A JP2948684A JPS60175181A JP S60175181 A JPS60175181 A JP S60175181A JP 2948684 A JP2948684 A JP 2948684A JP 2948684 A JP2948684 A JP 2948684A JP S60175181 A JPS60175181 A JP S60175181A
- Authority
- JP
- Japan
- Prior art keywords
- multiplier
- inner product
- product
- calculation
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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 for evaluating functions by calculation
- G06F7/5443—Sum of products
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
Description
【発明の詳細な説明】
〔発明の技術分野〕
仁の発明は並列データ処理装置を用いて高速に内積計算
を行う演算方式に関するものである。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] Jin's invention relates to an arithmetic method for performing inner product calculations at high speed using a parallel data processing device.
C従来技術〕
従来のこの種の内積計算を行う演算方式には加算機能を
含んだ9組合せ回路による乗算器を、複数組み合わせた
回路を用いる方法がある。今、説明のためにこれらの機
能を持った乗算器として配列型乗算器を考察する。第1
図に示す回路(1]は全加算器(Full Adder
’)であり、入力Xs 7e El出力s、cに関し
次の機能を与える。C. Prior Art] A conventional arithmetic method for performing this type of inner product calculation is a method using a circuit in which a plurality of multipliers each having a nine combinational circuit including an addition function are combined. For the sake of explanation, we will now consider an array type multiplier as a multiplier with these functions. 1st
The circuit (1) shown in the figure is a full adder (Full Adder).
') and gives the following function regarding the input Xs 7e El output s, c.
θ−X■y■2
0 ! x−y’+y−g + Z−X但し■は排他的
論理和を、・は陶理積を、+は痢埋和を表わす。この全
加算器(1)を第2図に示す様に規則・的に配置するこ
とにより配列型乗算器が構成される。すなわち第2図中
1回路(21から回路(2〃はすべて第1図の全加算器
(1)と同様の回路である。θ−X■y■2 0! x-y'+y-g+Z-X However, ■ represents an exclusive OR, . represents a multiplication, and + represents a smear. By regularly arranging the full adders (1) as shown in FIG. 2, an array type multiplier is constructed. That is, circuits 1 to 2 in FIG. 2 are all circuits similar to the full adder (1) in FIG. 1.
ここで符号を含まない2進数を〔〕2 ”n−lXn−2°°°XO と表わすことにする。すなわち。Here, the binary number without the sign is []2 ”n-lXn-2°°°XO I will express it as Namely.
[Xn−I In−2・・’ Xg ]2= Xn−I
X 2 n−’ + In−2X 2°−2+・・・
+x oX2°−Σx121
となる。この表わし方に基づくと、第2図の乗算器は。[Xn-I In-2...' Xg ]2= Xn-I
X 2 n-' + In-2X 2°-2+...
+x oX2°-Σx121. Based on this representation, the multiplier in FIG.
被乗数 A ” Ca 、S a 2 &1a o ]
22乗数 B!〔b3b2b1bo]2
加算される数 P=rp7p6p5p4p、、p2p1
p□)2Q−rq、、q2q1qo)2
結果 R” 〔rBr 7r6r5r4r45r2r1
rg12を用いて
R謬AB+P+Q
となる。すなわち、全加算器回路(21〜aηには、被
乗数1乗数から作成される部分積が各々人力されてお勺
、各全加算器からの和(S)1桁上げ(0)を順次伝播
し、積をめている。なお全加算器08〜r2υでは部分
積の入力はなく、最終的な積をめるための桁上げ伝播の
みを行っている。また全加算器(21〜(51,+61
. flQ、 (141,(lieには、上段からの和
(S)1桁上げ(c)が存在しないため、加算される数
P、 Qが各桁に合わせて入力される。さて、この配列
型乗算器を用いて内積計算を行うことを考えるために。Multiplicand A ” Ca , S a 2 &1a o ]
22 multiplier B! [b3b2b1bo]2 Number to be added P=rp7p6p5p4p,, p2p1
p□)2Q-rq,,q2q1qo)2 Result R” [rBr 7r6r5r4r45r2r1
Using rg12, it becomes R error AB+P+Q. That is, in the full adder circuits (21 to aη), the partial products created from the multiplicand and the multiplier are manually input, and the sum (S) and one-digit increment (0) from each full adder are sequentially propagated. , products are calculated.Full adders 08 to r2υ do not receive partial product inputs, and perform only carry propagation to calculate the final product.Also, full adders (21 to (51, +61
.. flQ, (141,(lie) does not have the sum (S) and carry-up (c) from the upper row, so the numbers P and Q to be added are input according to each digit.Now, this array type To consider performing inner product calculations using multipliers.
例として下記の内積を扱う。すなわち請求める内積を8
とする′と。As an example, use the inner product below. In other words, the inner product that can be claimed is 8
and '.
B −AB + CD + EF + GH・・・・・
・■但し A ” CFLs &2&1ao]2B =
Cbs b21)1 bo ]2C−CC、% C2
C1Q o ] 2D −Cd y、d 2 d、d
o )2トCe s e 2 e113 o ] F
”” Cf 3 f 2 fl f o ]2G−1”
g3g2g1go12. n=[h3h2h1ho)2
B ”” (898687E1685’841i138
28180)2この場合には第2図に示す配列型乗算器
τ4個用意する。まず第1の乗算器の乗数、被乗数とし
てA、Bを入力し加算される故に対応する部分に0を入
力する。すなわち、第1の乗算器の出力には積ABが得
られる。次に第2の乗算器の乗数、被乗数としてO,D
を入力し、加算される数に対応する部分に第1の乗算器
の出力を入力する。第2図の例で示した様に、この加算
される数にはP。B - AB + CD + EF + GH...
・■However, A ” CFLs &2&1ao]2B =
Cbs b21) 1 bo ]2C-CC, % C2
C1Q o ] 2D −Cdy, d 2 d, d
o ) 2 Ce 2 e113 o ] F
"" Cf 3 f 2 fl fo ] 2G-1"
g3g2g1go12. n=[h3h2h1ho)2
B ”” (898687E1685'841i138
28180)2 In this case, four array type multipliers τ shown in FIG. 2 are prepared. First, A and B are input as the multiplier and multiplicand of the first multiplier, and since they are added, 0 is input into the corresponding part. That is, the product AB is obtained at the output of the first multiplier. Next, the multiplier of the second multiplier, O, D as the multiplicand
is input, and the output of the first multiplier is input to the part corresponding to the number to be added. As shown in the example of Figure 2, this number to be added is P.
Q、2個の数が存在するが、第2の乗算器においてはP
側を使用し、Q側は0とする。この結果第2の乗算器の
出力には AB + CD が得られる0第3.第4の
乗算器についても同様に各々第2゜第3の乗算器の出力
結果を加算される数として入力し、被乗数9乗数を各々
Eと?、 GとHとすれば第4の乗算器の出力としてめ
る内積Sが侍られる。Q, there are two numbers, but in the second multiplier P
side, and the Q side is set to 0. As a result, AB + CD is obtained at the output of the second multiplier. Similarly, for the fourth multiplier, the output results of the second and third multipliers are input as the numbers to be added, and the multiplicand 9 and the multiplier are each E? , G and H, the inner product S can be served as the output of the fourth multiplier.
さて以上述べてきた様に第2図に示す配列型乗算器をめ
る内積の積項の数だけ用意し、それらを相互に接続すれ
ば内積計算を行う演算回路は得られる。しかしながら、
これらには次に示す欠点がある。例として、上記の0式
で表わされるデータ長がすべて4ビツトで、データ数が
81固(積項の数は4個)の場合を考察する。As described above, an arithmetic circuit for calculating an inner product can be obtained by preparing the array type multiplier shown in FIG. 2 as many as the product terms of the inner product and interconnecting them. however,
These have the following drawbacks. As an example, consider the case where the data length expressed by the above equation 0 is all 4 bits and the number of data is 81 (the number of product terms is 4).
(1) データ長が1つでも4ビツトを越えるものが存
在した場合、求めるべき内積のデータを4ビツトごとに
分割して何度も第2図の乗算器を使用することになり、
データの取シ出し、データのセットなど無駄な時間を必
要とする。(1) If even one data length exceeds 4 bits, the data of the inner product to be calculated will be divided into 4-bit units and the multiplier shown in Figure 2 will be used many times.
Retrieving data and setting data requires wasted time.
(21逆にデータ長が1例えばすべて2ビツトと半分の
長さであっても、データ数は8個に限定され1乗算器の
半分は未使用となる。すなわち使用効率が悪くなる。(21) Conversely, even if the data length is 1, for example all 2 bits, which is half the length, the number of data is limited to 8 and half of one multiplier is unused. In other words, usage efficiency deteriorates.
以上の点は1乗算器が配列型乗算器の場合だけで 。The above points apply only when the 1 multiplier is an array type multiplier.
なく、任意の組合せ回路による乗算器に関して註えるこ
とである。Note that this does not apply to any combinational multiplier.
この発明はこれらの欠点を解決するためになされたもの
で、以下に定義する並列データ処理装置を用いて任意の
データ長の任意個の積項から成る内積計算を高速に行え
る演算方式を提供するものである。This invention has been made to solve these drawbacks, and provides an arithmetic method that can perform inner product calculations consisting of any number of product terms of any data length at high speed using a parallel data processing device defined below. It is something.
以下この発明の実施例を図面に示し詳細にN5!明する
。Embodiments of this invention will be shown in the drawings below and will be described in detail. I will clarify.
まずこの発明で使用する並列データ処理装置を定義する
。第3図はこの発明の実施例による演算要素(2)を示
し、以下この演算要素−をセルと呼ぶ。First, a parallel data processing device used in this invention will be defined. FIG. 3 shows a calculation element (2) according to an embodiment of the present invention, and hereinafter this calculation element will be referred to as a cell.
セル婚の仕様は次の通りである〇
入カニ sin l a1@ bj ” in (各1
ビツト)出カニ5abc(各1ビツト)
out’ i’ j’ out
内部レジしシフ F (1ビツトレジスタ)機能: i
f F−OthθnBout←8in■’1nout
in 1n
aloal
j
if F−1then 8out+−8in■cin■
a1・bjCOut ’78in”in”in″2L1
°bj+0in”i°b++
aloal
1)j4− bj
但しθ、・、+は前述と同様である。The specifications for cell marriage are as follows.
Bit) Output 5abc (1 bit each) out'i'j' out Internal register shift F (1 bit register) Function: i
f F-OthθnBout←8in■'1nout
in 1n aloal j if F-1then 8out+-8in■cin■
a1・bjCOut '78in"in"in"2L1
°bj+0in"i°b++ aloal 1) j4- bj However, θ, . . . + are the same as above.
すなわち、Fレジスタ(2)が制御レジスタの役割を行
い、もしこの値が% g //ならば+ a1* 1)
jの値を素通シさせると共に8□□とC1ユのデータの
加算を行う。またもし11Nならばall 1)1の値
の素通りと共に8□。、ci。、al・bj の値の加
算を行う。その結果は各々その和が8゜utに9桁上げ
がC0utに出力される。That is, the F register (2) plays the role of a control register, and if this value is % g // then + a1 * 1)
The value of j is passed through, and the data of 8□□ and C1 are added. Also, if 11N, all 1) 8□ along with the passing of the value of 1. , ci. , al·bj are added. For each result, the sum is 8°ut and the 9-digit carry is outputted to C0ut.
さて このセル@を2次元格子状に配置することによシ
この発明の実施例で使用する並列データ処理装置を構成
できる。この例を第4図に示す。Now, by arranging these cells in a two-dimensional grid, the parallel data processing device used in the embodiment of this invention can be configured. An example of this is shown in FIG.
第4図はセル(ハ)を6X6個配置した場合を表わして
いる。す、なわちセルQ4〜セル(s9)山 セル(2
1と同一のものである。FIG. 4 shows a case where 6×6 cells (C) are arranged. That is, cell Q4 to cell (s9) mountain cell (2
It is the same as 1.
以下、このようなセル(至)を2次元配置した屈列デー
タ処理装置を用いて内積をめる方法を述べるO
まず、第2図の配列型乗算器の変形を考察する。A method for calculating the inner product using a data processing device in which such cells are arranged two-dimensionally will be described below. First, a modification of the array type multiplier shown in FIG. 2 will be considered.
すなわち、第2図中 全加算器(21〜顛は同一データ
を同一方向に伝播させるが、全加算器側〜Qυはその桁
上けci左方向に伝播する。この全加算器fl11−;
t9υを全加算器(21〜(I71と同様に左下方向
に桁上げを伝播させる憾に変形した乗算器紫紺5図に示
す0
第5図において、全加算器(60)〜(75)間の接続
は、第2図の全加算器(2)〜旺η間の接続と同じであ
る。全加算器(76)−(89)は、第2図の全加算器
tUt〜I2D間の接続を他の全加算器(21〜顛間の
接続と同一となる様に変形したためにっけ加わったもの
である。(但し1図中入力が誉かれていない所は◎7
の入力とする。)
さてv、5図を構成する全加算器に若干の変形を加える
0まず1部分積の入力が全加算器(6o)〜(75)で
行われていたが、これらの値を外部から行える様にする
◇すなわち1例えば全加算器(6o)〜(IS?りには
共通にす。という値が入力されているため。That is, in FIG. 2, the full adders (21 to 21) propagate the same data in the same direction, but the full adders to Qυ propagate the carry ci to the left. This full adder fl11-;
t9υ is the full adder (21 to (Similar to I71, a severely deformed multiplier that propagates the carry toward the lower left. The connections are the same as the connections between full adders (2) and Oη in Figure 2. Full adders (76) to (89) are the same as the connections between full adders tUt to I2D in Figure 2. It was added because it was modified to be the same as the connection between the other full adders (21 to 21).
As input. ) Now, let's make a slight modification to the full adders that make up Figure 5. First, partial products were input to the full adders (6o) to (75), but these values can be input externally. ◇That is, 1, for example, is common to the full adder (6o) to (IS?). This is because the value is input.
この外部人力を全加算器(6o)に与え、他の全加算器
(61)〜(63)への入力は、1@に左方からセル間
を伝播させて行う。次に部分積の入力を必要とする全加
算器(60)〜(75)と必要としない全加算器(76
)〜(89)とを区別するため、1ビツトの制御レジス
タ(以後、Fレジスタと呼ぶ)を設ける。すなわちこの
FレジスタがI11#ならば頓に隣接する今加′算器か
ら送られてぐる入力データがら部分積を作成して加算を
施し、Fレジスタが%o〃ならば9部分積の作成は行わ
ない様にする。This external human power is given to the full adder (6o), and input to the other full adders (61) to (63) is performed by propagating 1@ between cells from the left. Next, full adders (60) to (75) that require input of partial products and full adders (76) that do not require partial product input.
) to (89), a 1-bit control register (hereinafter referred to as F register) is provided. That is, if this F register is I11#, a partial product is created and added from the input data sent from the adjacent adder, and if the F register is %o, a 9-part product is created. Try not to do it.
以上の点を全加算器に付加すると、第3図のセル@が得
られる。またこのセル@を第5図の乗算器の全加算器と
置き換えることにより、第6図の乗算器が得られる。但
し、以後の説明のため第6図では第5図の乗算器全体を
450時計方向と反対に回転させて図示しである。また
各セル間の接続は使用するラインのみを明記している。When the above points are added to the full adder, the cell @ shown in FIG. 3 is obtained. Moreover, by replacing this cell @ with the full adder of the multiplier of FIG. 5, the multiplier of FIG. 6 is obtained. However, for the sake of explanation hereinafter, in FIG. 6, the entire multiplier of FIG. 5 is shown rotated 450 degrees in the opposite clockwise direction. In addition, only the lines to be used for connections between each cell are specified.
更に外部入力として明記されていない所はvkO〃入力
と仮定する。Furthermore, any part not specified as an external input is assumed to be a vkO input.
このように変形することにより、第4図に示した並列デ
ータ処理装置を9X9個のセルから成る様にした場合、
その内部に第6図の4ビツト乗算器を見い出すことがで
きる。すなわち、第4図7更に大きく1例えば21X2
1個のセルから成る様にすれば、411ffiの4ビツ
ト乗算器を構成することがで永、先に式■で示した内積
計算が可能となる。When the parallel data processing device shown in FIG. 4 is made to consist of 9×9 cells by transforming in this way,
Inside it can be found the 4-bit multiplier of FIG. That is, Fig. 4 7 is even larger 1 for example 21
If it consists of one cell, a 4-bit multiplier of 411ffi can be constructed, and the inner product calculation shown in equation (2) above can be performed.
この詳細については具体例を用いて後に述べる。The details will be described later using a specific example.
次にFレジスタの使い方について説明する0今。Next, I will explain how to use the F register.
4ビツト乗算器単体として、第6図の乗算器を扱う場合
は、セル(90)〜(119)すべてのFレジスタを鵞
1Nとしておいて問題ない(なぜなら1部分積が必要な
いセルには101が入力されているためである)0とこ
ろが後述する様に、並列データ処理装置上に複数の乗算
器が存在する場合には、セル(90)〜(1os)のF
レジスタを11′#とじ、他のセル(106)〜(11
9)はすべてFレジスタをゝ0”としなければならない
。なぜなら、セル(90)〜(1OS)の機能は入力の
6□。”inと共にその部分積のaibjを加算するこ
とであるが、セル(106)〜(119)の機能は他の
セルで作成された’in”inだけを順次加算していく
ことである。もし、Fレジスタが11〃になっていると
、関係のない部分積を作成し加算を行い9間違った結果
を出すことになる。例えば。When handling the multiplier shown in Fig. 6 as a single 4-bit multiplier, there is no problem in setting all F registers of cells (90) to (119) to 1N (because cells that do not require partial products have 101N). However, as will be described later, if there are multiple multipliers on the parallel data processing device, the F of cells (90) to (1os)
Close the register 11'# and close the other cells (106) to (11
9), all F registers must be set to 0. This is because the function of cells (90) to (1OS) is to add the partial product aibj with the input 6□. The function of (106) to (119) is to sequentially add only 'in' ins created in other cells.If the F register is 11, unrelated partial products If you create and perform addition, you will get 9 wrong results. For example.
セル(106)の左端から他のオペランドであるe。The other operand e from the left end of the cell (106).
という値が入力されており、これは順次セル(106)
→(107) −* (1os)→(1atp) と伝
播され、その右側の他の乗算器のセルで使用される値と
する(当然データ入力は端から行われるため、この様な
事は起こり得る)。その場合その乗算における部分積と
ハ、無関係なセル(106)〜(109)で?レジスタ
が11#となっていると、各々間違った部分積a39g
@a2e(1g a1eo+ a(1θ。を作成し加算
してしまうことになる。This value is input in sequential cell (106).
→ (107) −* (1os) → (1atp) is propagated as the value used in the other multiplier cells on the right side (naturally, data input is done from the end, so this kind of thing does not happen) obtain). In that case, what is the partial product in that multiplication and Ha in unrelated cells (106) to (109)? If the register is 11#, each incorrect partial product a39g
@a2e(1g a1eo+a(1θ) will be created and added.
すなわち、Fレジスタを%1Nとするセルは、その乗算
にとって必要な被乗数、乗数が送られてくるセルのみで
ある。That is, the cell whose F register is set to %1N is only the cell to which the multiplicand and multiplier necessary for the multiplication are sent.
次にこの発明の実施例における並列データ処理装置を用
いた並列内積演算方式を具体例を用いて説明する。内積
演算の対象に#−t、先の式■で表わされたものを用い
る。第7図にこの発明の実施例で使用する並列データ処
理装置の使用例を示す。Next, a parallel inner product calculation method using a parallel data processing device according to an embodiment of the present invention will be explained using a specific example. The object of the inner product calculation is #-t, which is expressed by the above equation (2). FIG. 7 shows an example of the use of the parallel data processing device used in the embodiment of the present invention.
各点線で囲まれているのが第3図のセル(至)であり。The cells (to) in FIG. 3 are surrounded by each dotted line.
セル数は21 X 21個の場合を表わしている。なお
セル間接続は省略しであるが、第4図のセル[有]〜(
59)のようにすべてのセルが隣接するセルと接続され
ている。また、データの入力は上端訃よび左端から行わ
れ、内積の結果は右下端から出力される。但し明記され
ていないデータ入力はすべて10”とする。また斜線を
施したセルに対しのみFレジスタを11#とじ、他のセ
ルはすべて′ONとする。各乗算の機能を果たすものは
9図中、太い実線で囲んだ乗算回路(120)〜(12
3)である。The number of cells is 21×21. Note that the connections between cells are omitted, but the cells [with] to (in Fig. 4)
59), all cells are connected to adjacent cells. Also, data is input from the top end and left end, and the result of the inner product is output from the bottom right end. However, all data inputs not specified are set to 10''.F registers are closed to 11# only for cells marked with diagonal lines, and all other cells are set to 'ON'.The items that perform each multiplication function are shown in Figure 9. Multiplication circuits (120) to (12) surrounded by thick solid lines in the middle
3).
まず乗算回路(120)について考察を加える。これは
第6図に示す回路とまったく同様である(但しP、Qi
L’O〃である)0すなわち1乗算回路(120)の右
端からは、*乗数A1乗数Bの積ABが出力される。先
に示した様に左端入力のd。〜d、、 、 foの影響
をなくすため、上方の4X4のセルのみがFレジスタに
111が設定されている。乗算回路(121) も乗算
回路(120)と同様の回路であるが、積CDをめると
同時に左方から乗算回路(120)の出力1積ABが送
られてくるため、これらの和IAB+CDが右方から出
力される。乗算回路(122)〜(12−q)に関して
もまったく同様であり。First, let us consider the multiplication circuit (120). This is exactly the same as the circuit shown in Figure 6 (however, P, Qi
From the right end of the 0 or 1 multiplication circuit (120), the product AB of *multiplier A1 multiplier B is output. As shown above, the leftmost input is d. In order to eliminate the influence of ~d, , , fo, only the upper 4×4 cells have 111 set in the F register. The multiplier circuit (121) is also a circuit similar to the multiplier circuit (120), but at the same time as the product CD is calculated, the output single product AB of the multiplier circuit (120) is sent from the left, so the sum of these is IAB+CD. is output from the right side. The same holds true for the multiplication circuits (122) to (12-q).
結局9乗算回路(12υからはめるべき内積AB +
CD + KF + GHが出力され、これが残りのセ
ルを伝播していき、最終的に第7図の並列データ処理装
置の右下から出力されることになる。In the end, 9 multiplication circuits (inner product AB + to be fitted from 12υ
CD + KF + GH is output, which propagates through the remaining cells, and is finally output from the lower right of the parallel data processing device in FIG.
以上の説明は、4ピツトの数の8 jli!aのデータ
に対する内積計算の例であるが、この発明の並列内積演
算方式では、容易にこのデータ長とデータの故を変更す
ることができる。すなわち、並列データ処理装置の各セ
ル内のFレジスタを操作することにより、任意のデータ
長の任意量の積項から成る内積演算が行える。これによ
シ従来の固定されていたデータ長とデータ故の内積演算
回路の制限をhB除くことができ、柔軟性に富んだ内積
演算回路を構成することができる。The above explanation is based on the number of 4 pits, 8 jli! This is an example of inner product calculation for data a, but in the parallel inner product calculation method of the present invention, the data length and data reason can be easily changed. That is, by manipulating the F register in each cell of the parallel data processing device, an inner product operation consisting of an arbitrary amount of product terms with an arbitrary data length can be performed. As a result, the limitations of the conventional inner product calculation circuit due to the fixed data length and data can be removed, and a highly flexible inner product calculation circuit can be constructed.
以上説明した様にこの発明に係る並列内積演算方式によ
れば、全加算器と、入力AND要素及びその全加算器の
入力を制御する制御レジスタとを所有した演算要素を複
数個2次元格子状に配置して゛並列データ処理装置を構
成し、制御レジスタがセットされた演算要素でAND演
算並びに全加算を行なうとともに、セットされない演算
要素で半加算を行なうことにより、任意のビット長を持
った任意の個数のデータの内積をめることができる。As explained above, according to the parallel inner product calculation method according to the present invention, a plurality of calculation elements each having a full adder, an input AND element, and a control register for controlling the input of the full adder are arranged in a two-dimensional grid. By configuring a parallel data processing device and performing AND operation and full addition with the operation elements for which the control register is set, and half addition with the operation elements for which the control register is not set, arbitrary The inner product of the number of data can be calculated.
第1図は全加算器(Full Adder )を示す図
。
第2図は第1図の全加算器を用いた4ビット配列型乗算
器を示す図、第3図はこの発明の実施例で使用する並列
データ処理装置のセル構成図、第4図はこの発明の実施
例で使用するセル数6 X 6 gの並列データ処理装
置を示す図、第5図は第2図の配列型乗算器を変形した
乗算器を示す図、第6図は第5図の全加算器に付加機能
tつけ加えた乗算器を示す図、第7図はこの発明の実施
例による並列内積演算方式の使用例を説明するための説
明図である。
図中、(1)は全加算器、 121−1’2aは配列型
乗算器で使用する全加痒器、123はFレジスタ、l’
21は並列データ処理装置を構成するセル、@〜(59
)は並列データ処理装置内のセル、(6O)〜(89)
は変形された、配列型乗算器内の全加算器@ (90)
〜(119)は乗算器を構成するセル、(120)〜(
123)は並列データ処理装置内の乗算回路である。
なお1図中同一符号は、同−又は相尚部分を示す。
出願人 工業技術院長 川田裕部
”4
第 6 図
手続補正誉(自発)
昭和どθ年ノ 月23日
特許庁長官殿
1、弧件の表示 %願昭59−29486号2 発明ア
返称 並列内積演算方式
λ 補正をする者
明細書の発明の詳細な説明の欄
5、補正の内容
fi+ 明細書第3頁第16行の「回路」を削除する0
+2)同第4貞第16行の「入力し加算」す「入力し、
加算Jに補正する。
131 同第10頁第19行の「すべて」ヲ「のすさて
」に補正する。FIG. 1 is a diagram showing a full adder. 2 is a diagram showing a 4-bit array type multiplier using the full adder of FIG. 1, FIG. 3 is a cell configuration diagram of a parallel data processing device used in an embodiment of the present invention, and FIG. A diagram showing a parallel data processing device with 6 x 6 g cells used in an embodiment of the invention, FIG. 5 is a diagram showing a multiplier that is a modification of the array type multiplier in FIG. 2, and FIG. 6 is a diagram showing the multiplier shown in FIG. FIG. 7 is an explanatory diagram for explaining an example of the use of the parallel inner product calculation method according to the embodiment of the present invention. In the figure, (1) is a full adder, 121-1'2a is a full adder used in an array type multiplier, 123 is an F register, and l'
21 is a cell constituting a parallel data processing device, @~(59
) are cells in the parallel data processing device, (6O) to (89)
is a modified full adder in an array multiplier @ (90)
~(119) are cells forming a multiplier, (120) ~(
123) is a multiplication circuit within the parallel data processing device. Note that the same reference numerals in FIG. 1 indicate the same or similar parts. Applicant Hirobe Kawata, Director of the Agency of Industrial Science and Technology 4 No. 6 Amendment of Figure Proceedings (Voluntary) Date of May 23, 1948 To the Commissioner of the Japan Patent Office 1 Indication of arc % Application No. 59-29486 2 Invention title Parallel Inner product calculation method λ Person making the amendment Column 5 of the detailed explanation of the invention in the specification, contents of the amendment fi+ Deleting “circuit” on page 3, line 16 of the specification 0 +2) Deleting “circuit” on line 16 of page 3 of the specification "Enter and add""Enter and add"
Correct to addition J. 131 In the same page 10, line 19, "all" is corrected to "nosusate".
Claims (1)
器の入力を制御する少なくとも1ビツトの制御レジスタ
とを所有した演算要素を、複数個2次元格子状に配置し
、かつその隣接する演算要素どうしの入出力線を結合し
た並列データ処理装置であって請求めるべき内積の各積
項の乗数を左端から。 被乗数を上端から入力し、演算要素間で順にその値を伝
播させ、かつ、その各積項の乗数、被乗数が交わる演算
要素の各制御レジスタをセットし。 セットされた演算要素でAND演算、並びに全加算を行
い、セットされていない演算要素では半加算を行い、そ
の結果の和は右下の演算要素に1桁上げは下方の演算要
素に送り、内積演算結果を並列データ処理装置の右下端
から出力させることによシ、任意長及び又は任意間のデ
ータの内積をめるようにしたことを特徴とする並列内積
演算方式。 (2)任意長、及び又は任意間のデータの内積を。 非同期にめるようにしたことを特徴とする特許請求の範
囲第1項記載の並列内積演算方式0[Claims] +IJ A plurality of calculation elements each having a full adder, an input AND element, and at least a 1-bit control register for controlling the input of the full adder are arranged in a two-dimensional grid, and The multiplier of each product term of the inner product that should be claimed in a parallel data processing device that connects the input and output lines of adjacent calculation elements is shown from the left end. Input the multiplicand from the top, propagate the value among the calculation elements in order, and set the multiplier of each product term and each control register of the calculation element where the multiplicand intersects. AND operation and full addition are performed with the set calculation elements, half addition is performed with the calculation elements that are not set, the sum of the results is sent to the lower right calculation element, the increment by one digit is sent to the lower calculation element, and the inner product is A parallel inner product calculation method characterized in that the inner product of data of arbitrary length and/or between arbitrary lengths is calculated by outputting the calculation result from the lower right end of a parallel data processing device. (2) Dot product of data of arbitrary length and/or between arbitrary lengths. Parallel inner product calculation method 0 according to claim 1, characterized in that calculation is performed asynchronously.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2948684A JPH0246982B2 (en) | 1984-02-21 | 1984-02-21 | HEIRETSUNAISEKI ENZANHOSHIKI |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2948684A JPH0246982B2 (en) | 1984-02-21 | 1984-02-21 | HEIRETSUNAISEKI ENZANHOSHIKI |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS60175181A true JPS60175181A (en) | 1985-09-09 |
JPH0246982B2 JPH0246982B2 (en) | 1990-10-18 |
Family
ID=12277405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2948684A Expired - Lifetime JPH0246982B2 (en) | 1984-02-21 | 1984-02-21 | HEIRETSUNAISEKI ENZANHOSHIKI |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0246982B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63225864A (en) * | 1987-03-13 | 1988-09-20 | Fujitsu Ltd | Cumulative computing element |
-
1984
- 1984-02-21 JP JP2948684A patent/JPH0246982B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63225864A (en) * | 1987-03-13 | 1988-09-20 | Fujitsu Ltd | Cumulative computing element |
Also Published As
Publication number | Publication date |
---|---|
JPH0246982B2 (en) | 1990-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR940002479B1 (en) | High speed parallel multiplier | |
Ma et al. | Multiplier policies for digital signal processing | |
US8959134B2 (en) | Montgomery multiplication method | |
US8793300B2 (en) | Montgomery multiplication circuit | |
Ding et al. | High-speed ECC processor over NIST prime fields applied with Toom–Cook multiplication | |
US6202077B1 (en) | SIMD data processing extended precision arithmetic operand format | |
JPH0456339B2 (en) | ||
CN109426483A (en) | Concurrent multibit adder | |
EP2138931A1 (en) | Combined polynomial and natural multiplier architecture | |
US6513054B1 (en) | Asynchronous parallel arithmetic processor utilizing coefficient polynomial arithmetic (CPA) | |
JPS60175181A (en) | Parallel inner product operating method | |
JP3227538B2 (en) | Binary integer multiplier | |
JPH0816903B2 (en) | Multiply-accumulate operation circuit | |
US5883825A (en) | Reduction of partial product arrays using pre-propagate set-up | |
JP2600591B2 (en) | Multiplier | |
CA1311062C (en) | Processor suitable for recursive computations | |
Ibrahim | Radix-2n multiplier structures: A structured design methodology | |
Zhu et al. | An area-time efficient architecture for 16 x 16 decimal multiplications | |
Emami et al. | An optimized reconfigurable architecture for hardware implementation of decimal arithmetic | |
JPS60112141A (en) | Multiplier circuit | |
Aggoun et al. | Bit-level pipelined digit-serial multiplier | |
Reddy et al. | A high speed, high Radix 32-bit Redundant parallel multiplier | |
Mulkalapally et al. | High speed, area and power efficient 32-bit Vedic multipliers | |
JP2607735B2 (en) | Multiplier partial product addition method | |
JP2024509062A (en) | Multipliers and adders in systolic arrays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |