JPS60175181A - 並列内積演算方式 - Google Patents

並列内積演算方式

Info

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
Application number
JP2948684A
Other languages
English (en)
Other versions
JPH0246982B2 (ja
Inventor
Hiroyuki Miyata
宮田 裕行
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.)
National Institute of Advanced Industrial Science and Technology
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP2948684A priority Critical patent/JPH0246982B2/ja
Publication of JPS60175181A publication Critical patent/JPS60175181A/ja
Publication of JPH0246982B2 publication Critical patent/JPH0246982B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の技術分野〕 仁の発明は並列データ処理装置を用いて高速に内積計算
を行う演算方式に関するものである。
C従来技術〕 従来のこの種の内積計算を行う演算方式には加算機能を
含んだ9組合せ回路による乗算器を、複数組み合わせた
回路を用いる方法がある。今、説明のためにこれらの機
能を持った乗算器として配列型乗算器を考察する。第1
図に示す回路(1]は全加算器(Full Adder
 ’)であり、入力Xs 7e El出力s、cに関し
次の機能を与える。
θ−X■y■2 0 ! x−y’+y−g + Z−X但し■は排他的
論理和を、・は陶理積を、+は痢埋和を表わす。この全
加算器(1)を第2図に示す様に規則・的に配置するこ
とにより配列型乗算器が構成される。すなわち第2図中
1回路(21から回路(2〃はすべて第1図の全加算器
(1)と同様の回路である。
ここで符号を含まない2進数を〔〕2 ”n−lXn−2°°°XO と表わすことにする。すなわち。
[Xn−I In−2・・’ Xg ]2= Xn−I
 X 2 n−’ + In−2X 2°−2+・・・
+x oX2°−Σx121 となる。この表わし方に基づくと、第2図の乗算器は。
被乗数 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が各桁に合わせて入力される。さて、この配列
型乗算器を用いて内積計算を行うことを考えるために。
例として下記の内積を扱う。すなわち請求める内積を8
とする′と。
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。
Q、2個の数が存在するが、第2の乗算器においてはP
側を使用し、Q側は0とする。この結果第2の乗算器の
出力には AB + CD が得られる0第3.第4の
乗算器についても同様に各々第2゜第3の乗算器の出力
結果を加算される数として入力し、被乗数9乗数を各々
Eと?、 GとHとすれば第4の乗算器の出力としてめ
る内積Sが侍られる。
さて以上述べてきた様に第2図に示す配列型乗算器をめ
る内積の積項の数だけ用意し、それらを相互に接続すれ
ば内積計算を行う演算回路は得られる。しかしながら、
これらには次に示す欠点がある。例として、上記の0式
で表わされるデータ長がすべて4ビツトで、データ数が
81固(積項の数は4個)の場合を考察する。
(1) データ長が1つでも4ビツトを越えるものが存
在した場合、求めるべき内積のデータを4ビツトごとに
分割して何度も第2図の乗算器を使用することになり、
データの取シ出し、データのセットなど無駄な時間を必
要とする。
(21逆にデータ長が1例えばすべて2ビツトと半分の
長さであっても、データ数は8個に限定され1乗算器の
半分は未使用となる。すなわち使用効率が悪くなる。
以上の点は1乗算器が配列型乗算器の場合だけで 。
なく、任意の組合せ回路による乗算器に関して註えるこ
とである。
〔発明の概要〕
この発明はこれらの欠点を解決するためになされたもの
で、以下に定義する並列データ処理装置を用いて任意の
データ長の任意個の積項から成る内積計算を高速に行え
る演算方式を提供するものである。
〔発明の実施例〕
以下この発明の実施例を図面に示し詳細にN5!明する
。
まずこの発明で使用する並列データ処理装置を定義する
。第3図はこの発明の実施例による演算要素(2)を示
し、以下この演算要素−をセルと呼ぶ。
セル婚の仕様は次の通りである〇 入カニ 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 但しθ、・、+は前述と同様である。
すなわち、Fレジスタ(2)が制御レジスタの役割を行
い、もしこの値が% g //ならば+ a1* 1)
jの値を素通シさせると共に8□□とC1ユのデータの
加算を行う。またもし11Nならばall 1)1の値
の素通りと共に8□。、ci。、al・bj の値の加
算を行う。その結果は各々その和が8゜utに9桁上げ
がC0utに出力される。
さて このセル@を2次元格子状に配置することによシ
この発明の実施例で使用する並列データ処理装置を構成
できる。この例を第4図に示す。
第4図はセル(ハ)を6X6個配置した場合を表わして
いる。す、なわちセルQ4〜セル(s9)山 セル(2
1と同一のものである。
以下、このようなセル(至)を2次元配置した屈列デー
タ処理装置を用いて内積をめる方法を述べるO まず、第2図の配列型乗算器の変形を考察する。
すなわち、第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?りには
共通にす。という値が入力されているため。
この外部人力を全加算器(6o)に与え、他の全加算器
(61)〜(63)への入力は、1@に左方からセル間
を伝播させて行う。次に部分積の入力を必要とする全加
算器(60)〜(75)と必要としない全加算器(76
)〜(89)とを区別するため、1ビツトの制御レジス
タ(以後、Fレジスタと呼ぶ)を設ける。すなわちこの
FレジスタがI11#ならば頓に隣接する今加′算器か
ら送られてぐる入力データがら部分積を作成して加算を
施し、Fレジスタが%o〃ならば9部分積の作成は行わ
ない様にする。
以上の点を全加算器に付加すると、第3図のセル@が得
られる。またこのセル@を第5図の乗算器の全加算器と
置き換えることにより、第6図の乗算器が得られる。但
し、以後の説明のため第6図では第5図の乗算器全体を
450時計方向と反対に回転させて図示しである。また
各セル間の接続は使用するラインのみを明記している。
更に外部入力として明記されていない所はvkO〃入力
と仮定する。
このように変形することにより、第4図に示した並列デ
ータ処理装置を9X9個のセルから成る様にした場合、
その内部に第6図の4ビツト乗算器を見い出すことがで
きる。すなわち、第4図7更に大きく1例えば21X2
1個のセルから成る様にすれば、411ffiの4ビツ
ト乗算器を構成することがで永、先に式■で示した内積
計算が可能となる。
この詳細については具体例を用いて後に述べる。
次にFレジスタの使い方について説明する0今。
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間違った結果
を出すことになる。例えば。
セル(106)の左端から他のオペランドであるe。
という値が入力されており、これは順次セル(106)
→(107) −* (1os)→(1atp) と伝
播され、その右側の他の乗算器のセルで使用される値と
する(当然データ入力は端から行われるため、この様な
事は起こり得る)。その場合その乗算における部分積と
ハ、無関係なセル(106)〜(109)で?レジスタ
が11#となっていると、各々間違った部分積a39g
@a2e(1g a1eo+ a(1θ。を作成し加算
してしまうことになる。
すなわち、Fレジスタを%1Nとするセルは、その乗算
にとって必要な被乗数、乗数が送られてくるセルのみで
ある。
次にこの発明の実施例における並列データ処理装置を用
いた並列内積演算方式を具体例を用いて説明する。内積
演算の対象に#−t、先の式■で表わされたものを用い
る。第7図にこの発明の実施例で使用する並列データ処
理装置の使用例を示す。
各点線で囲まれているのが第3図のセル(至)であり。
セル数は21 X 21個の場合を表わしている。なお
セル間接続は省略しであるが、第4図のセル[有]〜(
59)のようにすべてのセルが隣接するセルと接続され
ている。また、データの入力は上端訃よび左端から行わ
れ、内積の結果は右下端から出力される。但し明記され
ていないデータ入力はすべて10”とする。また斜線を
施したセルに対しのみFレジスタを11#とじ、他のセ
ルはすべて′ONとする。各乗算の機能を果たすものは
9図中、太い実線で囲んだ乗算回路(120)〜(12
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)に関して
もまったく同様であり。
結局9乗算回路(12υからはめるべき内積AB + 
CD + KF + GHが出力され、これが残りのセ
ルを伝播していき、最終的に第7図の並列データ処理装
置の右下から出力されることになる。
以上の説明は、4ピツトの数の8 jli!aのデータ
に対する内積計算の例であるが、この発明の並列内積演
算方式では、容易にこのデータ長とデータの故を変更す
ることができる。すなわち、並列データ処理装置の各セ
ル内のFレジスタを操作することにより、任意のデータ
長の任意量の積項から成る内積演算が行える。これによ
シ従来の固定されていたデータ長とデータ故の内積演算
回路の制限をhB除くことができ、柔軟性に富んだ内積
演算回路を構成することができる。
〔発明の効果〕
以上説明した様にこの発明に係る並列内積演算方式によ
れば、全加算器と、入力AND要素及びその全加算器の
入力を制御する制御レジスタとを所有した演算要素を複
数個2次元格子状に配置して゛並列データ処理装置を構
成し、制御レジスタがセットされた演算要素でAND演
算並びに全加算を行なうとともに、セットされない演算
要素で半加算を行なうことにより、任意のビット長を持
った任意の個数のデータの内積をめることができる。
【図面の簡単な説明】
第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行の「すべて」ヲ「のすさて
」に補正する。

Claims (1)

  1. 【特許請求の範囲】 +IJ 全加算器と、入力AND要素およびその全加算
    器の入力を制御する少なくとも1ビツトの制御レジスタ
    とを所有した演算要素を、複数個2次元格子状に配置し
    、かつその隣接する演算要素どうしの入出力線を結合し
    た並列データ処理装置であって請求めるべき内積の各積
    項の乗数を左端から。 被乗数を上端から入力し、演算要素間で順にその値を伝
    播させ、かつ、その各積項の乗数、被乗数が交わる演算
    要素の各制御レジスタをセットし。 セットされた演算要素でAND演算、並びに全加算を行
    い、セットされていない演算要素では半加算を行い、そ
    の結果の和は右下の演算要素に1桁上げは下方の演算要
    素に送り、内積演算結果を並列データ処理装置の右下端
    から出力させることによシ、任意長及び又は任意間のデ
    ータの内積をめるようにしたことを特徴とする並列内積
    演算方式。 (2)任意長、及び又は任意間のデータの内積を。 非同期にめるようにしたことを特徴とする特許請求の範
    囲第1項記載の並列内積演算方式0
JP2948684A 1984-02-21 1984-02-21 Heiretsunaisekienzanhoshiki Expired - Lifetime JPH0246982B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2948684A JPH0246982B2 (ja) 1984-02-21 1984-02-21 Heiretsunaisekienzanhoshiki

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2948684A JPH0246982B2 (ja) 1984-02-21 1984-02-21 Heiretsunaisekienzanhoshiki

Publications (2)

Publication Number Publication Date
JPS60175181A true JPS60175181A (ja) 1985-09-09
JPH0246982B2 JPH0246982B2 (ja) 1990-10-18

Family

ID=12277405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2948684A Expired - Lifetime JPH0246982B2 (ja) 1984-02-21 1984-02-21 Heiretsunaisekienzanhoshiki

Country Status (1)

Country Link
JP (1) JPH0246982B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63225864A (ja) * 1987-03-13 1988-09-20 Fujitsu Ltd 累積演算器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63225864A (ja) * 1987-03-13 1988-09-20 Fujitsu Ltd 累積演算器

Also Published As

Publication number Publication date
JPH0246982B2 (ja) 1990-10-18

Similar Documents

Publication Publication Date Title
KR940002479B1 (ko) 고속 디지탈 병렬승산기(multiplier)
US8959134B2 (en) Montgomery multiplication method
Ma et al. Multiplier policies for digital signal processing
US8793300B2 (en) Montgomery multiplication circuit
US4639857A (en) Digital data processor incorporating an orthogonally connected logic cell array
JPH0456339B2 (ja)
US6202077B1 (en) SIMD data processing extended precision arithmetic operand format
JP2024509062A (ja) シストリックアレイにおける乗算器および加算器
US6513054B1 (en) Asynchronous parallel arithmetic processor utilizing coefficient polynomial arithmetic (CPA)
JP3227538B2 (ja) 2進整数乗算器
JPH0816903B2 (ja) 積和演算回路
US5883825A (en) Reduction of partial product arrays using pre-propagate set-up
JP2600591B2 (ja) 乗算器
CA1311062C (en) Processor suitable for recursive computations
Ferrer et al. A fast finite field multiplier
Zhu et al. An area-time efficient architecture for 16 x 16 decimal multiplications
JPH0246982B2 (ja) Heiretsunaisekienzanhoshiki
Mulkalapally et al. High speed, area and power efficient 32-bit Vedic multipliers
US6742011B1 (en) Apparatus and method for increasing performance of multipliers utilizing regular summation circuitry
Aggoun et al. Bit-level pipelined digit-serial multiplier
GB2166272A (en) Serial multiplier circuit
JP2812365B2 (ja) 乗算回路
JP2607735B2 (ja) 倍数器の部分積加算方法
JPH0784762A (ja) 乗算回路
JP2025141401A (ja) 行列演算回路

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term