JPH0246982B2 - Heiretsunaisekienzanhoshiki - Google Patents

Heiretsunaisekienzanhoshiki

Info

Publication number
JPH0246982B2
JPH0246982B2 JP2948684A JP2948684A JPH0246982B2 JP H0246982 B2 JPH0246982 B2 JP H0246982B2 JP 2948684 A JP2948684 A JP 2948684A JP 2948684 A JP2948684 A JP 2948684A JP H0246982 B2 JPH0246982 B2 JP H0246982B2
Authority
JP
Japan
Prior art keywords
multiplier
input
inner product
calculation
processing device
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
JP2948684A
Other languages
English (en)
Other versions
JPS60175181A (ja
Inventor
Hiroyuki Myata
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 AIST
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

    • 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/544Methods 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/5443Sum 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)

Description

【発明の詳細な説明】 〔発明の技術分野〕 この発明は並列データ処理装置を用いて高速に
内積計算を行う演算方式に関するものである。
〔従来技術〕
従来のこの種の内積計算を行う演算方式には加
算機能を含んだ、組合せ回路による乗算器を、複
数組み合わせた回路を用いる方法がある。今、説
明のためにこれらの機能を持つ乗算器として配列
型乗算器を考察する。第1図に示す回路1は全加
算器(Full Adder)であり、入力x,y,z出
力s,cに関し次の機能を与える。
s=xyz c=x・y+y・z+z・x 但しは排他的論理和を、・は論理積を、+は論
理和を表わす。この全加算器1を第2図に示す様
に規則的に配置することにより配列型乗算器が構
成される。すなわち第2図中、回路2から回路2
1はすべて第1図の全加算器1と同様の回路であ
る。ここで符号を含まない2進数を〔xo-1xo-2
…x02と表わすことにする。すなわち、 〔xo-1xo-2…x02=xo-1×2n-1+xo-2×2n-2+…+x
0×20= 〓i xi2i となる。この表わし方に基づくと、第2図の乗算
器は、 被乗数 A=〔a3a2a1a02 乗数 B=〔b3b2b1b02 加算される数P=〔p7p6p5p5p4p3p2p1p02 Q=〔q3q2q1q02 結果 R=〔r8r7r6r5r4r3r2r1r02 を用いて R=AB+P+Q となる。すなわち、全加算器2〜17には、被乗
数、乗数から作成される部分積が各々入力されて
おり、各全加算器からの和s、桁上げcを順次伝
播し、積を求めている。なお全加算器18〜21
では部分積の入力はなく、最終的な積を求めるた
めの桁上げげ伝播のみを行つている。また全加算
器2〜5,6,10,14,18には、上段から
の和s、桁上げcが存在しないため、加算される
数P,Qが各桁に合わせて入力される。さて、こ
の配列型乗算器を用いて内積計算を行うことを考
えるために、例として下記の内積を扱う。すなわ
ち、求める内積をSとすると、 S=AB+CD+EF+GH …… 但しA=〔a3a2a1a02 B=〔b3b2b1b02 C=〔c3c2c1c02 D=〔d3d2d1d02 E=〔e3e2e1e02 F=〔f3f2f1f02 G=〔g3g2g1g02 H=〔h3h2h1h02 S=〔s9s8s7s6s5s4s3s2s1s02 この場合には第2図に示す配列型乗算器を4個
用意する。まず第1の乗算器の乗数、被乗数とし
てA,Bを入力し、加算される数に対応する部分
に0を入力する。すなわち、第1の乗算器の出力
には積ABが得られる。次に第2の乗算器の乗
数、被乗数としてC,Dを入力し、加算される数
に対応する部分に第1の乗算器の出力を入力す
る。第2図の例で示した様に、この加算される数
にはP,Q、2個の数が存在するが、第2の乗算
器においてはP側を使用し、Q側は0とする。こ
の結果第2の乗算器の出力にはAB+CDが得ら
れる。第3、第4の乗算器についても同様に各々
第2、第3の乗算器の出力結果を加算される数と
して入力し、被乗数、乗数を各々EとF、GとH
とすれば第4の乗算器の出力として求める内積S
が得られる。
さて以上述べてきた様に第2図に示す配列型乗
算器を求める内積の積項の数だけ用意し、それら
を相互に接続すれば内積計算を行う演算回路は得
られる。しかしながら、これらには次に示す欠点
がある。例として、上記の式で表わされるデー
タ長がすべて4ビツトで、データ数が8個(積項
の数は4個)の場合を考察する。
(1) データ長が1つでも4ビツトを越えるものが
存在した場合、求めるべき内積のデータを4ビ
ツトごとに分割して何度も第2図の乗算器を使
用することになり、データの取り出し、データ
のセツトなど無駄な時間を必要とする。
(2) 逆にデータ長が、例えばすべて2ビツトと半
分の長さであつても、データ数は8個に限定さ
れ、乗算器の半分は未使用となる。すなわち使
用効率が悪くなる。
以上の点は、乗算器が配列型乗算器の場合だけ
でなく、任意の組合せ回路による乗算器に関して
言えることである。
〔発明の概要〕
この発明はこれらの欠点を解決するためになさ
れたもので、以下に定義する並列データ処理装置
を用いて任意のデータ長の任意個の積項から成る
内積計算を高速に行える演算方式を提供するもの
である。
〔発明の実施例〕
以下この発明の実施例を図面に示し詳細に説明
する。
まずこの発明で使用する並列データ処理装置を
定義する。第3図はこの発明の実施例による演算
要素23を示し、以下この演算要素23とセルと
呼ぶ。セル23の仕様は次の通りである。
入力:sio,ai,bj,cio(各1ビツト) 出力:sput,ai,bj,cput(各1ビツト) 内部レジスタ:F (1ビツトレジスタ) 機能:if F=0 then sput←siocio cput←sio・cio ai←ai bj←bj if F=1 then sput←siocioai・bj cput←sio・cio+sio・ai・bj +cio・ai・bj ai←ai bj←bj 但し、・、+は前述と同様である。
すなわち、Fレジスタ22が制御レジスタの役
割を行い、もしこの値が“0”ならば、ai,bj
値を素通りさせると共にsioとcioのデータの加算
を行う。またもし“1”ならばai,bjの値の素通
りと共にsio,cio,ai・bjの値の加算を行う。その
結果は各々その和がsputに、桁上げがcputに出力さ
れる。
さてこのセル23を2次元格子状に配置するこ
とによりこの発明の実施例で使用する並列データ
処理装置を構成できる。この例を第4図に示す。
第4図はセル23を6×6個配置した場合を表わ
している。すなわちレジスタ24〜セル59は、
セル23と同一のものである。
以下、このようなセル23を2次元位置した並
列データ処理装置を用いて内積を求める方法を述
べる。
まず、第2図の配列型乗算器の変形を考察す
る。すなわち、第2図中全加算器2〜17は同一
データを同一方向に伝播させるが、全加算器18
〜21はその桁上げcを左方向に伝播する。この
全加算器18〜21を全加算器2〜17と同様に
左下方向に桁上げを伝播させる様に変形した乗算
器を第5図に示す。
第5図において、全加算器60〜75間の接続
は、第2図の全加算器2〜17間の接続と同じで
ある。全加算器76〜89は、第2図の全加算器
18〜21間の接続を他の全加算器2〜17間の
接続と同一となる様に変形したためにつけ加わつ
たものである。(但し、図中入力が書かれていな
い所は0の入力とする。) さて第5図を構成する全加算器に若干の変形を
加える。まず、部分積の入力が全加算器60〜7
5で行われていたが、これらの値を外部から行え
る様にする。すなわち、例えば全加算器60〜6
3には共通にb0という値が入力されているため、
この外部入力を全加算器60に与え、他の全加算
器61〜63への入力は、順に左方からセル間を
伝播させて行う。次に部分積の入力を必要とする
全加算器60〜75と必要としない全加算器76
〜89とを区別するため、1ビツトの制御レジス
タ(以後、Fレジスタと呼ぶ)を設ける。すなわ
ちこのFレジスタが“1”ならば順に隣接する全
加算器から送られてくる入力データから部分積を
作成して加算を施し、Fレジスタが“0”なら
ば、部分積の作成は行わない様にする。
以上の点を全加算器に付加すると、第3図のセ
ル23が得られる。またこのセル23を第5図の
乗算器の全加算器と置き換えることにより、第6
図の乗算器が得られる。但し、以後の説明のため
第6図では第5図の乗算器全体を45゜時計方向と
反対に回転させて図示してある。また各セル間の
接続は使用するラインのみを明記している。更に
外部入力として明記されていない所は“0”入力
と仮定する。
このように変形することにより、第4図に示し
た並列データ処理装置を9×9個のセルから成る
様にした場合、その内部に第6図の4ビツト乗算
器を見い出すことができる。すなわち、第4図を
更に大きく、例えば21×21個のセルから成る様に
すれば、4個の4ビツト乗算器を構成することが
でき、先に式で示した内積計算が可能となる。
この詳細については具体例を用いて後に述べる。
次にFレジスタの使い方について説明する。
今、4ビツト乗算器単体として、第6図の乗算器
を扱う場合は、セル90〜119のすべてのFレ
ジスタを“1”としておいて問題ない(なぜな
ら、部分積が必要ないセルには“0”が入力され
ているためである)。ところが後述する様に、並
列データ処理装置上に複数の乗算器が存在する場
合には、セル90〜105のFレジスタを“1”
とし、他のセル106〜119はすべてFレジス
タを“0”としなければならない。なぜなら、セ
ル90〜105の機能は入力のsio,cioと共にそ
の部分積のaibjを加算することであるが、セル1
06〜119の機能は他のセルで作成されたsio
cioだけを順次加算していくことである。もし、
Fレジスタが“1”になつていると、関係のない
部分積を作成し加算を行い、間違つた結果を出す
ことになる。例えば、セル106の左端から他の
オペランドであるe0という値が入力されており、
これは順次セル106→107→108→109
と伝播され、その右側の他の乗算器のセルで使用
される値とする(当然データ入力は端から行われ
るため、この様な事は起こり得る)。この場合そ
の乗算における部分積とは、無関係なセル106
〜109でFレジスタが“1”となつていると、
各々間違つた部分積a3e0,a2e0,a1e0,a0e0を作
成し加算してしまうことになる。
すなわち、Fレジスタを“1”とするセルは、
その乗算にとつて必要な被乗数、乗数が送られて
くるセルのみである。
次にこの発明の実施例における並列データ処理
装置を用いた並列内積演算方式を具体例を用いて
説明する。内積演算の対象には、先の式で表わ
されたものを用いる。第7図はこの発明の実施例
で使用する並列データ処理装置の使用例を示す。
各点線で囲まれているのが第3図のセル23であ
り、セル数は21×21個の場合を表わしている。な
おセル間接続は省略してあるが、第4図のセル2
4〜59のようにすべてのセルが隣接するセルと
接続されている。また、データの入力は上端およ
び左端から行われ、内積の結果は右下端から出力
される。但し明記されていないデータ入力はすべ
て“0”とする。また斜線を施したセルに対しの
みFレジスタを“1”とし、他のセルはすべて
“0”とする。各乗算の機能を異たすものは、図
中、太い実線で囲んだ乗算回路120〜123で
ある。
まず乗算回路120について考察を加える。こ
れは第6図に示す回路とまつたく同様である(但
しP,Qは“0”である)。すなわち、乗算回路
120の右端からは、被乗数A、乗数Bの積AB
が出力される。先に示した様に左端入力のd0
d3,f0の影響をなくすため、上方の4×4のセル
のみがFレジスタに“1”が設定されている。乗
算回路121も乗算回路120と同様の回路であ
るが、積CDを求めると同時に左方から乗算回路
120の出力、積ABが送られてくるため、これ
らの和、AB+CDが右方から出力される。乗算
回路122〜123に関してもまつたく同様であ
り、結局、乗算回路123からは求めるべき内積
AB+CD+EF+GHが出力され、これが残りの
セルを伝播していき、最終的に第7図の並列デー
タ処理装置の右下から出力されることになる。
以上の説明は、4ビツトの数の8個のデータに
対する内積計算の例であるが、この発明の並列内
積演算方式では、容易にこのデータ長とデータの
数を変更することができる。すなわち、並列デー
タ処理装置の各セル内のFレジスタを操作するこ
とにより、任意のデータ長の任意個の積項から成
る内積演算が行える。これにより従来の固定され
ていたデータ長とデータ数の内積演算回路の制限
を取り除くことができ、柔軟性に富んだ内積演算
回路を構成することができる。
〔発明の効果〕
以上説明した様にこの発明に係る並列内積演算
方式によれば、全加算器と、入力AND要素及び
その全加算器の入力を制御する制御レジスタとを
所有した演算要素を複数個2次元格子状に配置し
て並列データ処理装置を構成し、制御レジスタが
セツトされた演算要素でAND演算並びに全加算
を行なうとともに、セツトされない演算要素で半
加算を行なうことにより、任意のビツト長を持つ
た任意の個数のデータの内積を求めることができ
る。
【図面の簡単な説明】
第1図は全加算器(Full Adder)を示す図、
第2図は第1図の全加算器を用いた4ビツト配列
型乗算器を示す図、第3図はこの発明の実施例で
使用する並列データ処理装置のセル構成図、第4
図はこの発明の実施例で使用するセル数6×6個
の並列データ処理装置を示す図、第5図は第2図
の配列型乗算器を変形した乗算器を示す図、第6
図は第5図の全加算器に付加機能をつけ加えた乗
算器を示す図、第7図はこの発明の実施例による
並列内積演算方式の使用例を説明するための説明
図である。 図中、1は全加算器、2〜21は配列型乗算器
で使用する全加算器、22はFレジスタ、23は
並列データ処理装置を構成するセル、24〜59
は並列データ処理装置内のセル、60〜89は変
形された配列型乗算器内の全加算器、90〜11
9は乗算器を構成するセル、120〜123は並
列データ処理装置内の乗算回路である。なお、図
中同一符号は、同一又は相当部分を示す。

Claims (1)

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

Families Citing this family (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
JPS60175181A (ja) 1985-09-09

Similar Documents

Publication Publication Date Title
KR940002479B1 (ko) 고속 디지탈 병렬승산기(multiplier)
US4168530A (en) Multiplication circuit using column compression
US6154049A (en) Multiplier fabric for use in field programmable gate arrays
JP4664311B2 (ja) カスケード接続するdspスライスを備えた集積回路
JPS61502288A (ja) X×yビット・アレ−掛け算器/アキュムレ−タ回路
Ngai et al. Regular, area-time efficient carry-lookahead adders
US5150322A (en) Mixed-radix serial/parallel multipliers
US5291431A (en) Array multiplier adapted for tiled layout by silicon compiler
US4910700A (en) Bit-sliced digit-serial multiplier
JPS5858695B2 (ja) 2進数乗算装置
US20040010536A1 (en) Apparatus for multiplication of data in two's complement and unsigned magnitude formats
JPH0246982B2 (ja) Heiretsunaisekienzanhoshiki
JP3227538B2 (ja) 2進整数乗算器
CA1196422A (en) Integreted circuit digital process
JPH03661B2 (ja)
JPH05197525A (ja) オペランドを否定するための否定方法及び否定回路
JPH0584529B2 (ja)
Emami et al. An optimized reconfigurable architecture for hardware implementation of decimal arithmetic
JPH0816903B2 (ja) 積和演算回路
JPH07141150A (ja) 乗算器
TWI798640B (zh) 常數乘法器
JP2607735B2 (ja) 倍数器の部分積加算方法
JPS60112141A (ja) 乗算回路
Nagendra et al. Digit systolic algorithms for fine-grain architectures
Aggoun et al. Bit-level pipelined digit-serial multiplier

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term