JPS62229470A - 相関及び畳込みを行なうビツト−スライスデジタルプロセツサ - Google Patents

相関及び畳込みを行なうビツト−スライスデジタルプロセツサ

Info

Publication number
JPS62229470A
JPS62229470A JP62049882A JP4988287A JPS62229470A JP S62229470 A JPS62229470 A JP S62229470A JP 62049882 A JP62049882 A JP 62049882A JP 4988287 A JP4988287 A JP 4988287A JP S62229470 A JPS62229470 A JP S62229470A
Authority
JP
Japan
Prior art keywords
processor
bit
bits
output
cell
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
JP62049882A
Other languages
English (en)
Other versions
JPH0833878B2 (ja
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.)
UK Government
Original Assignee
UK Government
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 UK Government filed Critical UK Government
Publication of JPS62229470A publication Critical patent/JPS62229470A/ja
Publication of JPH0833878B2 publication Critical patent/JPH0833878B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7896Modular architectures, e.g. assembled from a number of identical packages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は数学的に等価の畳込み及び相関を演算するため
のピッ1−スライスデジタルプロセッサに係わる。この
プロセッサはビットレベルシストリックアレイ(1+1
L−level 5ysLolic array)とし
て形成されるタイプのプロセッサである。
ビットレベルシストリックアレイ れる公知の畳込み及び相関用デジタルプロセッサは、1
983年4月7日公開の英国特許出願第2106287
八号(9考文献1)に記載されている.この先行特許出
願では第15図〜第20図に畳込み手段が示されている
。この装置は複数のゲート制御全加算器を行列状に配置
したものからなる矩形アレイで構成される。各セルは直
ぐFAの行及び列にしか接続されない。即ら、各セルは
別のセルに最高4つまで接続される。セルの動作は、ア
レイ内でのデータビット、係数ビット、キャリビット及
び累積和ビットの移動に作用するクロック作動ラッチに
よって制御される.各セルは夫々右隣及び左隣から受容
した入力データビット及び入力係数ビットの積を評価し
、且つこの積を夫々右方及び上方から受容した入力キャ
リビット及び累積和ビットの積に加算する.新しいキャ
リビット及び累積和ピッ1〜は形成されると左方及び下
方に出力され、入力データビット及び係数ビットは夫々
右及び左に移動する。
各係数語は夫々のアレイ行を逐次循環するビットである
.各データ語は各行を順次螺旋状に(正確にはジグサ°
′グに)通過してアレイ内を移動する。
一連のキャリは係数ビットと共に移動し、一連の累積和
はアレイの列に沿って下方へ移動する。データは累積和
の形成方向と係数及びキャリの伝搬方向とに対して逆に
移動する。累積和の形成は、アレイからの部分和出力を
形成すべく、アレイの列に沿って下方ヘカスケード状に
行なわれる.同類ピッ1〜重みを持つ複数の部分和は同
一アレイ行から順次送出され、出力和をフィードバック
すべく構成された全加算器により累算されて畳込み結果
と構成する。
不要の部分積の発生を回避すべくデータ語及び係数語の
中にゼロビットを散在させることは、参考文献1に記載
のプロセッサの使用には不利である。この種のプロセッ
サはいかなる時にもアレイのセルの少なくとも半分、場
合によっては3/4がゼロ部分績を計算するため、ゼロ
ビットを散在させるとアレイが非@率的になり、且つゼ
ロピットの散在を回避できるような場合に必要とされる
大きさよりはるかに大きくなるからである。
1985年2月270公開の英国特許出願第21442
45Δ号(参考文献2)には更に別のビットレベルシス
トリックアレイが記載されている。この先行特許出願は
マルチビット係数を持つ2つのマI〜リクスの乗法を行
なうための、参考文献1と類似のアレイに係わる。この
アレイでは一方のマトリクスの行エレメントがアレイ行
に沿って、他方のアレイの列エレメントと逆の方向に伝
搬し、また虞ヤリビットが行に沿って移動するのではな
く、各セルを繰り返し循環するようになっている。所コ
胃[カードバンド(guard band)Jの使用ら
記載されているが、これは累算される結果の語成長(u
+ord grou+th)を得るべく、1系数語をゼ
ロピットで拡張することを息味する。
1985年5月150公開の英国特許出願第21477
21八号(参考文献3)には、7トリクスーベクトル乗
法を行なうための更に別のビットレベルシストリックア
レイ レイの効率が2つの方法で改良される.第1にアレイ出
力の累算が、参考文献1の不活性領域に対応するアレイ
部分が畳込み結果に寄与するように行なわれる.第2に
データビット及び係数ビット間のゼロの必要が、交番ク
ロックサイクルで隣接し合う打上のビ・/ト移動に作用
する複雑なりロック手段により回避される.9考文it
1及び2と同様に、被乗数ビットはアレイの行に沿って
逆方向に移動する.また、9考文M2のように、キャリ
ビットは各セルを再循環し、ガートバンドによる語の拡
張も使用される。
GEC Journal or Rcscarcb, 
Vol.2,No. 1 、(1984年)には、R,
[1. 0rquhart及びり、Woodにより、ビ
ットレベルシストリックアレイ static coe[icienLs)の使用という
概念が紹介されている.アレイの各セルはある係数の対
応単一ビットと組3わされ、係数語は対応アレイ行と組
きわされる.セルはキャリビットを再循環させるように
構成され、データは各アレイ行に入力されてその打上を
移動する。累績相はアレイの列を下りながらカスケード
式に形成され、ガートバンドが語成長を実現する。同類
ピッ1−重みの複数の部分積は、入力データが係数ビッ
トに、ピッl− ffiみの上昇オーダーで出会うのか
又は逆のオーダーで出会うのかに応じて、相対的に遅延
して又は同期して種々のアレイ列から送出される.この
ような構造にすれば、複雑なりロック装置を使用しなく
てらセルの使用率又はアレイの効率が100%になる。
各セルは各クロックサイクル海に債を演算し、ラッチは
総て同様にクロックされる.しかしながら残念なことに
、前述のようなアレイ累算法では正確な畳込み又は相関
結果が15られない。なぜなら、前述のごとき構造は種
々の結果に対応する部分和及びキャリピッ1への累算に
誤りが多いからである。
デジタル演算回路の分野では、可能であればコンポーネ
ント3統−することが重要である.これは、小さい計算
を行うように設計された複数の集積回路をアレイ状につ
なぐか又はカスケード接続して、より大きい計算を実施
できるようにすることが可能であれば極めて容易に実現
できる。また、比鮫的小さい故障によってアレイ全体が
機能停止することのないようにするためには、このよう
な集積回路アレイにある程度の故障許容性を与えること
も重要であるが、その実現は極めて難しい。
これは、ウェーハスゲールインテグレーション(waf
er 5cale inLegration)開発分野
、即ちある程度の故障許容性がなくてはウェーハの歩留
りが実質的にゼロになり得るような分野では特に重要な
問題である。
本発明の口約の1つは故障許容性アセンブリを形成すべ
くカスケード接続され得る相関又は畳込みのためのデジ
タルプロセッサを提供することである。
本発明は、ビットパラレル、ワードシリアル、ビットジ
グザグのHビットフードデータストリームとN単一ビッ
ト係数との相関及び畳込み演算を実行するビット−スラ
イスデジタルプロセッサを提供する0本発明によれば、 (1)プロセッサがN行H列の論理セルアレイを含み、
(2)各論理セルが、(a)データビット、キャリービ
ット及び累積和ビットを入力し、(b)データビットを
出力し、(c)入力データビッ1−と各行のセルに対応
する係数ピッ1〜との積と、入力累積和と、入力キャリ
ービットどの総和に対応する出力累積和ビットと出力キ
ャリービットとを生成するように構成されており、 (3)セルの相互接続ラインが、アレイの行に沿ってキ
ャリービットを伝送し、データ流と縦続累積和とをアレ
イの列に沿って下降する単一方向で伝送するように構成
されており、 (4)セル相互接続ラインがクロック励起遅延手段を含
んでおり、該遅延手段は、データビットが累積和ビット
の速度の2倍又は172倍の速度でアレイの列に沿って
下降しキャリービットがアレイの行に沿ってデータビッ
ト桁が増加する方向で前記累積和ビット及びデータビッ
トの両方よりも高速で伝送されるように構成されている
本明H1書において「ビット伝送速度Jなる用語及び該
用語に関連する表現は、物理的な移動距離でなくセル横
断速度を意味することを理解されたい。
本発明のプロセッサは4つの生変な利点をもつ。
第一に、クロック励起のとき全部のセルがリアルデータ
で演算するので効率100%であり、また公知型のオー
バーラツプしない2相形クロツクを1つだけ使用すれば
よい0g考文献1の従来技術と違−)て、入カデータビ
ット問に0ビットを挿入する必要がなく、参考文献2の
ように1つ置きのサイクルで隣合う行又は列の間にビッ
ト伝送を行なうための複電なりロック制御構成が不要で
ある。
第二に、後述するごとく、より大きい計算を行なう回路
のアレイを構成するための集積回路構築ブロックに適応
し易い、特に、係数ビットスライス毎に1つのプロセッ
サを配備しタイミングとビット桁との適当なHHを伴っ
てプロセッサ出力を累加することによってマルチビット
係数を含む計算に適応し得る。更に、プロセッサをカス
ケード式に直列接続すると大きい係数セラI・を収納で
き、長いデータワードは各プロセッサに供給される各バ
イトに分割されることによって処理され得る。
第三に、データ流と結果の流れとが単一方向の流れにな
るように構成されているので、クロック励起ラッチによ
って高速スイッチング可能なセクションに分割された入
力データ及び結果のバイパス結線を組み込んだプロセッ
サを設計し得る。カスケード式に直列接続されたプロセ
ッサ連鎖は動作速度の低下という欠点を生じないで故障
許容性をもつことができる。何故なら、連鎖中の故障プ
ロセッサは、バイパス結線全長の時定数によって動作速
度を制限されることなくバイパスされ得るからである。
かかる設S1は、データと結果とが自流的に伝送されク
ロック励起バイパスラッチが計算タイミングを破壊する
例えば参考文献1のプロセッサでは可能でない。第四に
、入力データのガードバンドの延長が不要であり、この
ためにデータワ−プツI・速度の低下という欠点も生じ
ない。
各論理セルは夫々の定常係数ビットに対応してもよい、
しかし乍ら好ましくは、付加的セル相互接続ラインとク
ロック励起遅延手段とを配備し係これにより行係数入力
を介した係数のプログラミングが容易である。本発明の
かかる具体例の別の利点は、100%のセル利用率を維
持し乍ら係数のプログラミングが得られることである0
例えば参考文献3では、効率100%を達成するために
は定常係数が必要である。
本発明のプロセッサはアレイ出力をマルチビット全加算
器の第1入力に転送し得るプログラマブルな遅延手段を
含み得る。この加算器は第2プロセツサからの出力を受
信すべく構成された第2人力をもち、第3プロセツサの
等価加算器の第2人力に接続されるべく構成された出力
をもつ、この形態のプロセッサは長いデータワード又は
係数セラl−を3む計算のためのプロセッサアレイ又は
マルチビット係数を3むプロセッサアレイを構成するJ
AW築ブロブロックての使用に適する。プログラマブル
遅延手段は、種々のプロセッサからの出力の相対タイミ
ングを調笈すべく使用されプロセッサ間の出力ビット桁
の差は適当な加算器入力結線によって修正される。
符号ビット延長が適宜付加されているならばプロセッサ
は全部が正の即ち2の補数のデータ及び係数を用いて使
用され得る。しかし乍ら、プロセッサはアレイ行に収納
され得ないキャリービットを生成しないデータを演算す
る必要がある。言い替えると結果の累加によるワード成
長がアレイ寸法を超過してはならない、必要ならば、ア
レイ行を半加37.3で延長することによってワード成
長に適応できるようにアレイ寸法を拡大し得る。1番目
の行はlog2n半加算器(n=1.2−)又はlog
2(n−1)加算器(n=2.3・・・)を含み、同時
に(n−1)番目の行のキャリー出力と適当なn番目の
行の半加算器の和入力との間の遅延手段が挿入された結
線を3む。
添1・1゛図面に示す以下の記載より本発明がより十分
に理解されよう。
(以下余白) 第1図は本発明のビットスライスプロセッサー0を示す
。プロセッサ10を相関関数の演算に関して記載し解析
するが、該10セツリは復述する如く数学的に等価の畳
込み演算にも通している。プロト セッリ10は、個々のビット×。(b=o〜3)をもつ
連続する4ビツト数×。(n−0,1,2,・・・)の
Y−タストリ・−ムと4つの1ごツー・係数aH(i=
0〜3)との相関を演口するように構成されている。こ
の説明例(゛はデータと係数とを正の値にとる。
プロセッサ10は4行4列に配置されたゲート制御仝加
弾論理セルアレイ12を含む。各セルを符号14で示し
、各セルの添字が行及び列の位置を示す。
例えばヒル14.jは1番目の行のj?II目の列のヒ
ルである。プロセッサは更に5つの半加0論理ヒル1G
をごみ、該セルでも添字によって行及び列の位置を示す
次に第2図及び第3図によれば、各論理レル14は、以
下の如くゲート制御全加韓論理関数を61口すべく構成
されている。
■4−y″(3(a、x)Φc’        (+
、i)Ct−y’、c’+ y’(a、x) ) C’
(a x)   (1,2)[式中、yo及びyは夫々
、入力及び出力の累積和ピッl〜、 Co及びCは夫々、入力及び出力のP 1pリービツ1
〜、 aは入力1ビツト係数、 X t、1入力データピツト、 −判り易くするためにピッ1−桁及び1ノード数に関す
る添字は省略。
各論理セル14は直[に接ツるセルから入力r−タビッ
ト×と入力累積和ビットy゛とを受信するにうに構成さ
れている。更に右隣のセルから入力係数ビットaと入力
キャリービットCとを受信するように構成されている該
セルは式(1,1)及び(12)の論理関数を演並し、
出力累積和ビットyとj IpリービットCとを生成す
る。これらの出力ピッ1〜は、aと×との積にC“とy
oとを加算した和に相当ケる。キャリー出力ビットa及
び係数出力ピッ1〜Cは、夫々のクロック励起ラッチ1
8a及び18cを介して左隣のセルに出力される。デー
タ出力ビツトX及び累積和出力ビットVは、Xの場合は
1つのクロック励起ラッチ18xを介しy+7)W合は
2つのクロック励起ラッチ18,1.18,2を介して
出力される。
第3図に示す如く、各生捕0レル16は右隣及び直上の
セルからキャリー及び累積和の入力ビットC°及び■°
を夫々受信する。、該セルはこれらを加算してキX・り
一及び累積和の出力ビットC及びyを生成し、クロック
励起ラッチ20c 、 20,1及び20,2を介して
左隣及び直下のセルに出力する。半加算セル16は以下
の論理関数を演0する。。
y ← y°Φc’          (2,tlc
    y’   c’          (2,2
)式中の各項は前記と同義である。
ラッチ18.20の各々(よ、アレイ12の全部のヒル
14と半加0器16とのタイミングを制御211する(
第1図に図示しない)fllつのクロック22によって
励起される。クロック22はオーバーラツプしない2相
信号を発生し、各ラッチ18又は20!よ直列の2つの
゛にラッチから成る。第1相クロツクパルスで、第2ハ
ーフラツチの各々がラッチピッ1−を出力し第1ハーフ
ラツチ・の各々が新しいラッチビットを入力する。第2
相クロツクパルスで、第1ハーフラツヂの各々がラッチ
ビットを各自の第2ハーフラツヂーに転送する。従って
連続り1]ツクナイクル中に連続ビットが各ラッチでク
ロック制゛御される。
セル14及び16は各自のピル出力に18aの如き全ラ
ッチを右ψるが、これがセル入力に配置されCL)よく
、又は入力及び出力に夫々半ラツチfつ分割されてし、
同様の71401作が相持される。また、各全ラッチの
代わりに半ラツチを使用することも公知であり、これは
記載の貝体例の変形例になる。
かかるラッチの動作はビットレベルシストリックアレイ
業界で1−分に公知であり、参考文献1の第九 10図及び第11図に示されているのC木材では特に説
明しない。
ラツ118及び20のりtコック制御効采は、係数ピッ
1〜aと連続計算されたキpリービツトCどをアレイの
行に沿って1クロツクサイクルに1セルfつ矢印24及
び26で示すように転送することである。
データビット×は1クロツクナイクル毎に1セルずつ移
動する。係数およびデータピッ1−は不変化でアレイ1
2を通過ケるが、新しく R4算されたキ17リービツ
[・の各々は、左隣のセル14又は16によって1クロ
ツクナイクル後に演0され6ルベル上のビット桁の品1
算のための入力になる。
新しり訓()された出力累積和ピッt−yの各々は、2
クロツクリイクル後に直下のヒル14又は16の人力y
”になる。その他のビットは1つのラッチ18a。
18c 、 18x又は20Cシか通過しないのにこれ
らのビットの各々が2つのラッチ18,1と18y2又
は20,1と20,2とを通過するからである。
プロセッサ10は、4つの隣接セルに完全に接続された
5つだけの論理セル1412 、1411 、1422
 。
1421及び1624を含む1.セル14oo〜l’1
03.1614 、及び1625の■°大入力0に設定
されている。セル1400〜14  のC゛入力0に設
定されている。セル14o3〜1433は未接続の係数
即ちa出力をもち、セル14o3.1614.1625
.及び1635は未接続のC出力をもつ。セル1430
〜1433のX出力ら未接続Cある。
第1行のセル14oo〜14o3はX入力をもち、デー
タはこの人力から後述する如くピッ1−パラレル、ワー
ドシリアル、ピッ1−ジグナグでブロセツ1ノ10に供
給される。第1列のセル14oo〜143oはプロセッ
サ10に係数を供給するa入力を6つ。プロヒツサ10
からの出力は、Q!!行のセル1430” 1635の
V iL’tカから19られる。
プロセッサ10の実際の設へ1では冗長セル結線どり・
1応するラッチとを省略してしよい。しかし乍ら、論理
ヒルのタイプをできるだけ少なくするのが右利であろう
。冗長度を最小にすればプロセッサ10に2種類のセル
を組込むだけでよい。更に、半和fD1Gの代わりにo
 c 3Q定されたa及び/又はX入力をもつゲート制
御今加0514を使用すると、更に冗長度は低くなるが
1種類のセルを使用するだけでよい。このため、例えば
−」ンビュータを用いた5Q訓技術によって集積回路を
部用に装jΔできるという利点が得られる。3更に後述
する如く、この補数演亦では第1図のプロセッサ10の
如く左側上端にスペースを残づよりもゲート制御全加算
セルの矩形アレイを構成するほうが有利である。
次にプロセッサー0の動作を第4,5Jiff及び6図
に基いて説明する。プロセッサー0は次式で定義される
相関1iyi→を行なうように構成されている。
[式中、Y は連続相関結果ワード、係a c+ H及
【1 びX  はX 〜×nhN−1の範囲の−・般データn
+i     n ワードを示す]、。
第4.5及び6図によれば、単一・ビット係数り−ドa
O〜a3のスi・リーム40はプロセッサー0内)く で左方向1転送される。各係数は夫々の相関行に入力さ
れる。f−クスi〜リーム42はプロセッサー10内e
下向きに移動し、結果ストリ・−ム44は第5図及び第
6図に示されるようにプロセッサ10の下方から出る。
第4図は演わの第190ツクサイクルの直前のプロセッ
サ10を示し、第す図及び第6図は第11サイクル及び
第14サイクルに於けるデータ及び結果のごッ1−位置
を示す。第4図−第6図はデータ流及び係数流のタイミ
ングと結果の累積とを図式的に示す、。
プロしッサ10の上方又は右方に伸びる連続ビット位置
は、次第に遅くなるデータ入力、結果出力又は係数人力
を示ケ。係数、データ及び結果のストリーム40〜44
の対角線立上がり40’ 、 42’及びへ 44゛は1[1セツナ10終の時間ジグヂグビッ1へ入
力を示す。データワードX 、は、ワードシリアル。
ビットパラレル及び累積時間ジグザグにブロセツす10
に入力される、1従って、ビットX  −Xoは隣接セ
ル間で1クロツクサイクルの遅延を伴なつ力X にnク
ロツクナイクルだけ遅れる。。
式(1)の論理関数によって、第4図から1クロツクナ
イクル復、即ら、クロックサイクル1でセル14ooは
入力X。及びaQを受信する。その結果口のヒルは積a
□x  を計算しこれにキャリー及び和の入力ビット即
らC゛及びyoを加aする。これらは常時Oである。従
って対応する累積和出力yはへ aQX  でありセル14o1終のキ11り一出力Cは
Oであろう3.クロックサイクル3.5及び7においで
、セル14 〜14  はデータ人力X  、X  及
び+0  30       1  2 X を受信し、これにal 、a2及びa3を夫々乗専
する。対応すろ′F1・り一人力は全て0であるが、各
セル14oo(n=1〜3)は、2サイクル以前に直上
のしル14(。−1)。によって計算された累積和出力
を累積和入力として受信する。2ナイクルの遅延は夫々
のラッチ18,1及び18,2によって得られる。
従ってセル141oはサイクル3で被Eft@a1及び
X の入力と同II してセル14ooからa。Xoを
受信し、(a□x  +aiX  )の最下位ビット(
Isb)とより高い桁のビット(hob)とから成るy
及びC出力を生成する。キせリービッヒCはサイクル4
′cセル1411に移り、累積和出力ビットVはサイク
ル5でセル1420に移る。セル1420は1tイクル
5で(ao x  +a1x  +a2x2>の131
1及びhobとしてy及びCを生成する。Cはサイクル
6でセル1421に移り、yはサイクル7でセル143
oに移る。これは被乗数83及び×3の人力と同期ケる
9、従ってサイクル7でのセル143oのy及びC出力
は[1Sb(aOX  +aI X  +a  X、 
)0         1     2   L→a3
xlのIsb及びhobである。サイクル7でのけル1
43oの累積和出力は次式で示される。
式(4)は次式と等価である。
式(5)は級a Y o(n=0.1・)の第1相関項
たるY。
のlsbである。従って、右端列のセル1400〜14
3゜は第4図からアクロツクサイクル後にYoの ls
b■ を生成する1、累積和出力と直列に2つのラッチ
が存在するのでy はこの図から8クロックサイクル後
にセル143oのラッチ18,2から送出される。
次に第2列のセル14o1〜1431について考察する
壷ナイクル2でセル14o1はC′及びy゛入力OをX
。及びaoM乗数入力と共に受信する1、従っで該ヒル
は、左隣のセル14o2に対してキャリー出力Oを発生
し、0十のせル1411に対してy出力aQ XQを発
生ずる1、サイクル4.6.8でセル1411 、14
21及び1431は夫々、a1/x1 、a2 /X2
及びa]/X:lを受信する1、従ってサイクル9 ′
c−のけル14  の第2ラッチ18,2のy出力は次
式で与えられる。
y  =lsb[(aOx□+a1  xl  +a2
X2+a3X:l  )yoはYoの最下位の1つ上の
桁のビットでありリーイクル9で第2列のセル1401
〜1431から送出されるか又は第1列のセルからIs
b y  の1クロックサイクル後に送出される。
y′形成中に発生したキャリービットは次式に従って第
3列のセル1402〜1432に転送される。
サイクル3. cell 14  : c’= O(8
,1)サイクル5. cell 1412  : C’
=hob(a oX □  +aI  X  1  ]
       (8,2)サイクル7、 cell 1
422  : C’=hob(Isb(a Ox □ 
+a1 x 1)+a2 x 2 ] (8,3)+a
3 Xム戸、4) 同様の解析によってサイクル10及びサイクル11でy
o及びyoが第3列及び第4列のセルから発生し、同時
にF tリービッヒが前記の如く左方向に転送されるこ
とが理解されよう。
第1行のセル≠のC′及びy′大入力全C常に0である
。任意の4ビツト数とao(’1叉はOに等しい)との
乗算によって得られる積の最大値は同数4ビツトの長さ
をもつ。従って第1行の最終セル14o3のC出力は常
にOeある1、第2行の最終セル1413のC出力は2
つの4ビツト数の側口によって得られるのでOでないこ
ともある。生捕専セル1614はこのキャリービットを
アレイの第3行に転送するように構成されている。第3
行及び第4行は夫々、6ビツトに加算され得る夫々3つ
及び4つの4ビツト数を加算するので、2つのキャリー
ビットを使用する必要がある。一般に、N番目の相関行
(N=1.2,3又4)は横に准むキャリービットを加
算りるために log2 N生捕9器を組込む必要が(
5る。但し、 log2 Nは必要な場合、丸め(整数
にしてもよい。この効果は第6図に示される。
第6図においては、第4桁及び第5桁のピッ1−即ちy
。又はy。(n=0.1.2・・・)が、夫々半加算器
から成る第す列及び第6列によって甜算されている1゜
回路を小型化するために、生捕O”R1614及び16
25に代えて単一・クロック制御ラッチを使用してらよ
い。これらラッチは入力和と出カキVリ−とが)a続し
ていないとき単独でd延を与える機能を6つ。
従って、−・般にはN番目の相関行が1olJ2 (N
−11半加f:fi器[但しN=2.3.・・・]を必
要とするであろう。
夫々発生する。
前記の解析により、Yoの第0桁のビットy Pが第4
図から(p+8)サイクル後にセルのp番目の列から発
生することが理解されよう。[但しp=O〜す。この解
析を拡大してYn(一般相関結果)のp番目のビットy
l′が第4図から(n+p+a) 1fイタル後にp列
目のセルから生成されることを容易に証明できる。従っ
て連続相関結果Y、は8クロツクザイクルの待ち時間で
プロセッサー0からワードシリアル、ビットパラレル的
に生成される。即ち、対応データビットの入力後、結果
ビットを得るまでに8ナイクルが必要Cある。
第1図から第6図に基いて説明した本発明の呉体例は、
移動する単一ビット係数を使用するブl]セッサである
。このタイプのプロセッサは種々の相関を演t> iす
るために係数を時々交換することが望ましい場合には適
している。しかし乍ら常に一定の相関が必要Cある場合
には、各セルが定常的で且つ恐らくはプレプログラムさ
れた係数を夫々有するCあろう1.この場合、係数転送
用のセル問結線及びラッチは不要ぐあろう。
再び第4図を参照すると、プロセッサ10からの正しい
il II’>結果の出力に先行して少数の不要項が存
在することが叩解されよう。特にセル14j、は図示サ
イクルの4サイクル後にa:1とX との積をSi算す
るであろうが、これは無意味なIL宋である。
3ti箇の最初の7サイクル間はセル14,0からの結
果を無視し、最初の8サイクル間はセル1431からの
結果を無視する必要があり、その後も同様である。
必要ならばこのために、各Q合にメ適当数のサイクル中
の出力を抑止するように構成された手段を配備してbよ
い。しかし乍ら実際に(まプロセッサー0は極めて多数
のサイクル、通常は106を上回るサイクルにわたって
演専を実行俳る。
従って、敢百万の結末のうちで【よ最初の短い級数のい
くつかの無意味な結果がひ在しても問題Getない。こ
れは、デジタル演算回路業界で公知の回跨設定時間に対
応する程度にすぎない。
初期結果を無視する方法の変形例として、第4図に示す
ように、不要項に対応する係数入力を0に設定してもよ
い。このためにはプロセッサ10のn番目の行に係8!
a0を入力する萌に2n個の0(n=θ〜3)を入力す
る必要がある。言い換えると、係数の入力以前に必要な
Oの数は10セツザ内で1行下降する毎に2つずつ増加
する。従って第1行にはOを人力しない。これはまた、
不要項を導=(n −1)番目の行のa。−1 がb  に交換されてから2クロックサイクル復に0番
[1の行へのa の入力をす。に交換り°る。
第4図では係数が0からaQ−a3に交換される場合が
示されている。
次に第7図を参照する。第7図は本発明の別のプロセッ
サ50の概略図で・あり、前出の部分を同じ参照符号で
示す。これは、より複雑な31算に適応するように補助
手段を備えたプロセッサ10を組込/Vでいる。最終行
のセル143oへ・1635は累積和出力30を有し、
この出力はプログラマブルクロック励起遅延ユニット5
2を介して11ビツトクロツク励起全加Fl$54に接
続されている。最終行のデータ出力28はデータ出力ラ
イン56.〜563に接続されている。加算器54は別
々の11個の1ビツト加算セル580〜581oを有し
、その1つが第8図により詳細に示されている。各加算
セル58は第1及び第2の和入力GOa、 60bと+
F−1yり一人力62とPヤリ−出力64と和入力6G
とをもつ。和入力60a、 Gob及びキャリー人力6
2は夫々クロック励起される1ビツトラツチG8a 、
 68b 、 68cと直列である。ギャリービットは
加算器54に沿って左方向、例えば加算セル58nから
加算セル58o+1(n=0〜10)に転送される。
加0レル58oはn番目の桁のピッi・を受信及び発生
し、アレイセル143o(n = O・−3)又は16
3゜(n=4又は5)からの出力を受信すべく接続され
た第1人カGOaを5つ。加算セル586へ−5810
の第1人力はOに設定されている。従ってプロセッサ1
0は、辰下位から6桁の第1人力を11ピット加口器r
+4に与える。
加pitル58o〜581oの第2人力6obは入力ラ
イン70.〜701oに夫々接続されている。加算器出
力66は夫々の出力ライン72.〜721oに接続され
でいる。遅延ユニット52は同様にプログラマブルな数
のクロツクナイクルによってプロセッサ10の最終行の
セルの各々からの信号を遅延させるように構成されてい
る。ユニット52は例えば、アレイの各出力毎に直列の
1ピッ1−クロック励起ラッチを含んでおり、直列ラッ
プの数は所望の遅延に応じて変更できる。
ブ[lセッサ10と遅延ユニット52と加0器54の全
部のラッチとは、(図示しない)同じ2相クロツクによ
って同期的に励起される。
プロセッサ50は以ドの如き演尊を行なう。、相関は加
n演算であるから、正確なタイミングとビット桁とを与
えることができれば、演口をサブ計算に分割し後で再結
合することが可能である。d延ユニット52は、正確な
タイミングを)え、11ピツ50は、全部が同じ2相ク
ロツクで励起される同様のクロック群と共に使用される
ように構成されている。
12の中−ビット係数aO−011を含む相関が必要な
らば、3つのプロセッサ50を使用する。データは第1
ブロセツ1ノ゛に導入され、第1プロセッサを通過しデ
ータ出力ライン56Q〜563を介して第2プロセツサ
に転送される。データストリームは前記の如く、ビット
パラレル、ビットジグヂグでワードシリアルである。同
様にして、第2プロセツサのデータ出力は第3プロセツ
Vの入力になる。
第1プロセツサは係数aQ〜a3で演算し、第2プロセ
ツサは係数84− a7.3つのブI] 17ツサは係
数a8〜a11で演pする。3つのプロセッサの遅延ユ
ニツI〜52は、第1プロセツザの出力が14クロツク
ザイクル理延し、第2プロセツザからの出力が7クロツ
ク1フイクル遅延し第3プロセツサからの出力が遅延O
になるように設定されている。
第1ブロセツ4J加算器54の第2人力60bは全て0
に設定されており、その出力ライン720〜7210は
ライン70.−・701oを夫々介して第2プロセツサ
加算器54の第2人力60bに接続されている。同様に
、第2ブロセツ4ノ加算器54の出力ライン72.〜7
21゜は第3プロセツサ加咋器の入力ライン70.〜7
01゜に接続されており、その出力ラインが所望の相関
結果をりえる。
3つの11コセツサ50のこのような構成が所望の12
の係数h1算を与えることは以下の如く確認できる。再
び第1図から第6図を参照すると、プロセッサ10は1
つの結果を出すために8クロツクサイクル、即ち各行に
2サイクルを必要とする1、12行をもつ同様のプロセ
ッサは1つの結果を出すために24サイクル必要であろ
う。後者のプロセッサを同じデータを順次的に受信する
3つの4行プロセッサに分割すると、第1プロセツサは
8サイクル後に結果を与え、第2プロセツサは16す“
イクル後、第3プロセツサは241ノ”イクル後に結果
を与える。。
従って、隣合うプロセッサの出力の聞に8サイクルの相
対遅延が存在する。更に、各11ビツト加専器54はク
ロック制御ラッチをもつので1つの加算を行なうために
1クロツクナイクルを要する。加篩器54の効果は、1
段に1クロツクサイクルずつ相対遅延を短縮することで
ある。従ってプロセッサ遅延ユニツ1−52の各々は後
続ブ1コUツナの数と7との積に等しい数のクロックサ
イクルのU延を導入する必要がある。従って第1及び第
2のブロセッ勺の遅延ユニット52は夫々、14クロツ
クサイクル及びアクロツタ丈イクルの遅延を与える必要
がある。より−・般的には、各々がM行をもつN個のプ
ロセッサの連鎖rn番Hのプロセッサの遅延ユニットは
(2M−1)(N−n)クロックサイクルの遅延[但し
、n = 1−N 1をもつように設定される。
各々が6ビツト出力を与える3つのプロセッサ50の場
合、和入力の最大値は8ビツトである。これは、加算器
54の幅より3ビツトだけ小さい。従ってより長いプロ
セッサ連鎖を収納し得る。
また、マルヂビッ1〜係数が複数のプロセッサ50によ
って収納されてもよい。例えば3ビツト係放ては3つの
プロセッサ50が使用される。第1プロセツサは各係数
のm5b(最上位ビット)を受イJ1し、第2プロセツ
リは最下位の1つ上の桁のビットを受信し、第3プI]
セツリはl5b(最F位ピッ+−>を受信する。従って
、各ブロセッυ毎の係数ビットは、マルチピット係数セ
ットの夫々のビットスライスである。データストリーム
は、前記の直列データ流配列と対称的に並列の3つの1
1コセッサ全部に同期的に供給される。第3プロセツサ
はビット桁0・〜5の出力を生成し、第2プ1コセツづ
は1〜6、第1ブロセツリは2〜7の出力を生成4゛る
。これは、これらプロセッサが夫々、桁0.1及び2の
係数ビットを乗算するからである。
異なるピッ1〜桁を補正するために、第111コピツリ
加粋器出カライン720〜729は第2ブロセッザの加
s7器入カライン701へ・7010に夫々接続されて
いる。第1プロセツサの出力ライン721oは未接続で
あり、第2プロセツサの入力ライン700G、ltoに
接続されている。ビット桁の加ロシノトを実行するため
に第2ブロセツリの加算器出力と第3プロセツ瞥すの加
i器入力との間にも同様の接続が行なわれている。これ
により、第1及び第2のプロセッサの出力は夫々、第3
プロセツサの出力に対して2段階及び1段階のビット桁
シフトをもつ。その結果例えば、第1ブロセツ丈の第1
列即ち右端列の出力は第2及び第3ブロセツザの夫々第
2列及び第3列からの出力に加算8れる。しかし乍ら、
再び第5図を参照すると、プロセッサー0の隣合う列の
出力間には1クロツクサイクルの相対遅延が同 存在する。3つのプロセッサ全部にデータが\期的に供
給されるので、例えば第2プロセツサの第2列の出力と
第1ブロセツ勺の第1列の出力との間に同様の遅延が存
在する。これに対して、第1ブロレツ1jの出力は出力
加0器54で1サイクル遅延しており、第2ブロセツリ
ーの出力は第2ブロセツリの加C7器ぐ更に1サイクル
)Y延俳る。従って双方のプロセッサは第3プロセツサ
の出力に合せて加専のタイミングを補1[するための適
当な遅延を生じる。
従って3つのプロセッサ全部の遅延ユニット52は遅延
0に設定される。
6ビツト、7ビツト及び8ビツトの3つの数を加算して
得られる最大値は9ビツトの長さであり、これは第3プ
ロセツナ出力加算器の11ビツト内に容易に収納される
また、前記のプロセッサ10は4ビツトデータのみに適
しているが、4ビツトより大ぎい幅のデータワードを使
用する必要が生じるかもしれない、3より広いアレイも
使用できるが、多数のプロセッサ50を使用してもよい
。8ピッl−データワードには2つの11コセツサ50
が使用される。上4桁のビットは第1ブロヒツリに供給
され、下4桁のピッ1−は第2ブロセツリに供給される
。第1ブロセツリの加算器出力ライン720〜72Gは
第2ブロセツリの加専器入カライン704〜7010に
接続され、第カライン70.へ、703は0に番輪され
ている3、これによりビット桁の/1段相対シフトが行
なわれる。
相対遅延の調整はr−タ人カタイミングに従う。
8ビット全部についてデータが隣合うピット間に1ビツ
トの時間ジグ「グを伴って人力されるならば、第1プロ
亡ツザ加帥器によつ′C導入された190ツクサイクル
の相対遅延に対する調整を要するだけである。この場合
、第2プロセツIす遅延ユニッ1−52は11ナイクル
の遅延を与えるように設定される。しかし乍ら、ピッ1
−ジグザグが各4ビツトワ一ド部分だけに存在し両りの
プロセッサへの入力が同期であると、第1プロセツサの
出力は4ビツト遅延を必要とする。これを得るためには
、第1プロセツ警す遅延ユニット52が3サイクルの遅
延を与えるように設定し、第2プロセツサの遅延をOに
設定する1、この変形例として、入力データ遅延を与え
ることによって等価の出力遅延効果をもつ描乃が得られ
る。。
「延コニット52の使用に対する変形例として、同様の
遅延ユニットを加算器54の第2人カフ00へ・701
oと直列、又は加算蒸出カフ20〜721υと直列に配
備してもよい。必要な遅延クロックサイクル数は「延ユ
ニットの位置に依存する。
この構成においては、第2プロセツサが10ピット及び
6ビツトワードの和の出力を与える。これは最大111
111ビツトをもつ1.従ってこの具体例では、全幅の
出力加算器54が必要である。幅4Nビツトのデータワ
ードを含む演Qを行なう必要があるときは、少なくとも
最終プ1コセッサにおいて、より大きい出ノJ加紳器(
4N+3)ビット・幅が必要であろう。しかし乍ら、個
々の論理Uルアレイの各々は第1図及び第7図に示すセ
ル14及び16をもつだけでよい。これは、54の如き
出力加算器による1段毎の累算の利点を示す。各論理セ
ルアレイは、プロセッサ10は4から6までのような限
定品のり−ド成長を収納するように構成されるだけでよ
い。
より大きい演悼は出力加算器を用いて別々に累算される
前記の記+1 、J、す、データワード長の延長、マル
チビット係数の使用及び相関長さの延長が全て、プロセ
ッサ50の如き適当数のプロセッサを使用することによ
って得られることが19′!解されよう。厳密には、組
合せブロセッ勺50にJ3ける第1出力加算器54は不
要である。しかし乍ら、デジダルf4算回路の設泪にJ
3いては、この場合各々が出力加算器を含む1つの構築
10ツクに標準化するのが便利である。
第9図は本発明の別のプロゼッ+J90の概略説明図で
ある。これは、第7図及び第8図のブ[Jセッサ50と
等価のプロセッサにバイパス手段を付加したもので、等
価の部分は同じ参照符号で示される。
必要以上・・に複雑な図にならないように多数のライン
接続はバスとして示されている。ブロセツ+J90は1
0セツナ50を含む。入力1−タバス92はプロセッサ
50と第1マチルブレク+L96との双方に接続され、
後考には2つのクロック励起遅延ラッチ94a、Q4b
のバンクを介して接続されている。プロセッサ50から
のf−夕出力はバス98を介してマルチブレクリ9Gに
入る。マルチプレクサ96はデータ出力バス100を6
つ。ンルヂプレクナ96は、制御人力102の信号がO
であるか1であるかに従って出力バス100をバス92
又は98に接続する。
結果の入力バス104は出力用f:1554と第2フル
ヂブレクサ10Gとの双方に接続されており、摂者には
2つのクロック励起遅延ラッチ108a、 108bの
バンクを介して接続されている。第2マルチブレク++
 106はまた、加算器出力バス110と結果の出力バ
ス112とに接続されている。結果の出力バス112は
制御人力114の信号が0であるか1であるかに従って
結果の入力バス104又は結果の出力バス112に接続
されている。” 第9図のプロセッサ90は以下の如く作動する。
これは同様のプロセッサの連鎖の一部として構成され、
隣合う2つのブロセツυは鎖線116及び118で示さ
れている。、プロセッサ50が無故障のとき、マルヂプ
レク+J9G及び106に論理1の判面入力信号が供給
され、fJJ作モードは前記と同様である。しかし乍ら
プロセッサ“50に故障があるとき、論理Oの制御入力
がマルチブレクリ9G、 10Gに供給され、入力アー
クと結果とはラッチバンク94a。
94b、 1083及び108bを介してプロセッサ5
0からバイパスされる。ラッチバンクの各々は、対応ケ
るバスの各ラインに対し1サイクルの遅延を与える。
(図示しない)個々のラッチは前記ラッチと等価であり
、ブロセツ1ノ50に使用されるのと同じり[1ツクで
励起される。
従って、故障プ1コセッサ50はデータ及び結果の流れ
に2クロツクリ”イクルの遅延を導入するラッチバンク
を介してバイパスされる。従って、データ流及び結果の
流れは等しい遅延を生じ、それまでと同様に同期を維持
する1゜更にn”< ’C)小型4Tことは、バイパス
バスの各々がラッチバンクによって比較的短い3つのセ
クションに分割されることである。必要ならば、更に細
かく分割するために付加的バイパスラッチを挿入しても
よい1.この利点は、バイパスバスの各セクションが上
のに短く、ブ[1セツリ50と少なくとも同じクロック
周波数でスイッチングCきることである。プロセッサ5
0は現状の集積回路技術を用いて製造でき、20HII
Z以上の高いクロック周波数C゛作eできる。、高いク
ロック周波数で肖vjできる理由は、例えば第1図の論
理セル14と1Gとの間の結線が隣合うヒル間にのみ存
在するからである。しかし乍ら必然的にバイパスバスの
艮ざが大幅に遅延され、これに対応してRC115定数
が大きくなる。かかる時定数は直列プロセッサ連鎖の最
大周波数を好ましくない低い賄に制限する。従って、バ
イパスバスを高速スイッチングq能なセクションに細か
く分割しないと、3−1−々障ブロセ・ン→ノをバイパ
スすることによって最大クロック周波数の急激なF降が
生じるであろう。第2図及び第3図のクロック22の周
波数を下回る稈に周波数が減少すると、直列連鎖は1つ
のプロセッサ゛がバイパスされていても機能しないであ
ろう。従って、クロック励起ラッチによって高速スイッ
チング可能なセクションに細分されたバイパスバスを使
用すると、動作速度に不利1.f影響を与えることなく
故障許容性プロセッサを構成することが可能である。
典型的な故障許容゛プロセッサ連鎖は、例えば4つのプ
ロセッサを要する演算のために直列の5つの11コセツ
ナ90を組込んでいる1、従って任意の1つの故障プロ
セッサ又は不要ブロセツ勺をバイパス′Cきる。より大
きい故障許容範囲が必要なときは、イ・」加的ブロセツ
ザを追加し得る。参考文献1に記載の如き従来のプロセ
ッサは、動作速度を低下さi!ないで故障許容範囲を得
るこのような構成を用いることはできない。その理由は
、本発明によればデータと結果とが同方向でプロセッサ
10又は連鎖プロセッサ90を通過するからである。バ
イパスラッチはf−タストリームと結果ス1−リームど
を等しく遅延させ、両者間に相対遅延は導入されない1
.従って1夕障ブロヒツサのバイパスによって、′&鏡
の先行プロセッサから後続プロセッサまでのf−タスト
リームと結果ストリームとの相対的タイミングが維持さ
れる。参考文献1に記載のプロセッサは1−夕と結果と
が向流的に移動するように設み1されている。かかる連
鎖デバイスでは中央ブ1]t?ソリがノ方の隣接プロセ
ッサからY−タを受信し他方の隣接ブロセッづから結果
を受信する。1これら隣合うプロセッサの1つをラッチ
付きバスでバイパスするときは、データストリーム又【
よ結果ス1−リームの一方が中央プロセッサで遅延され
るが、両方が遅延されることはできない。
このため演口のタイミングが破壊され無意味な結果が発
生する。その結果、高速故障許容性プロセッサ連鎖の構
造を従来技術の向流アーキテクヂ1?−の使用によって
得ることはできない。こようなa造を得るためには、単
一方向のデータ流及び結果の流れが生じるように構成さ
れた本発明のブロセッ1Jを使用する必要がある。これ
が本発明の重要な利点である。現在、集積回路技術はつ
1−ハ規模の集積に移りつつあり、ここでは高速故障1
γf容性アーキテクチャ−が不可欠である。ある程麿の
故障許容性がないと、ウェーハ規模の回路効率が実質的
に0になる3、何故なら、数百個の素子を担持するウェ
ーハで1つの故障素子が生じるとウェーハ全体の作動が
無効になるからである1゜次に第10図を参照する。第
10図では第2図と等価の素子を200を加えた同じ参
照符号で示ず。これは、ブ[Jセッサ10,50又は9
0での使用に適した変形例のゲート制御全加算器論理セ
ル214である1゜セル214とセル14との唯1つの
違いは、セル214が2つのf−タ出力うッヂ218.
1及び218x2をもち唯1つの結果出力ラッチ218
.をもつことである。セル214は第1図のセル14と
完全に等しい相互接続を伴う(図丞しない)プロはツザ
で使用される。論理セル214を組込んだプロセッサで
は結果がデータの2倍の速度で移e する。プロセッサ
への係数入力は第4図へ・第6図と逆の順序で行なわれ
る。例えば相関係数a o ” a 3は、第4図の如
くセル14oo〜143oでなくセル 1430〜41
ooに夫々入力される。、前記と同様にプロセッサの動
作を解析すると、セル214を組込んだプロセッサへの
係数入力の流れ図から相関計算が得られることがI’J
I解されよう。この解析は前記と同様であるからここで
は説明しない、、係数レットの交換方法が若干異なって
いる。即ち、第4図では隣合う行間の係数レットの交換
に2クロツクサイクルの遅延が導入されるが、第10図
では1クロツクサイクルの遅延が導入される。データ流
が遅く結果の流が速いことを補tttするために、セル
214を組込んだブo t4ツサ50.90のアレイで
は、館山のアレイに比較して結果累算タイミングの調整
が必要である。
必要な調整はデジタルエレクトロニクスの当業考又は係
数を伴って動作するように構成されCいる1゜これまで
に記載の具体例は4ごツトデータスj〜リームを使用す
る。これが2の補数形のとき、各人力データワードが出
力結果と同じ幅をもつまで符号ビット又は最り位ビット
を複製ケる必要がある全形の4ビットデータワードがa
aabcdで示される。ブロセッ1ノ10は6ビツト入
力を受信しない。第1図の4X4のゲート制御全加算器
アレイと5つの半加算器との代わりに、4×6のゲート
制御全加算器アレイが第1図の相互結線を伴って使用さ
れる。かかるアレイは4ビツトで正のブーツ1−で演算
する。、一般に、所要アレイの形状は矩形であり、各行
のセル数は最終行からの出力結果のビット幅に等しい。
また、第7,8及び9図に記載の如く構成されたンルヂ
プルプ1]セッナにこの補数ア・−タを収納してもよい
。加算器54と等価の1つの出力棚t’> 2Sに供給
される結果、及び、1バイト人力f−夕又は別々に処理
すべく複数バイトに分割された最上位バイトに対して、
符号延長部を与える必要がある。特に、出力側Q器に入
る符号ビットを含む結果は、総合結果の完全幅まで符シ
)延長される必要がある。総合結果は、集合プロセッサ
の最終出力側ロ器から得られる、5 本発明の71コセツサでもこの?Ill数係数全係数し
得る。単一ビット係数の場合、乗算はO又は1によって
行なわれ後者は負である。0が正の寄与を与えないので
結果は完全に負である。従って51算は全部が正の係数
の場合と等1illi′cある1、マルヂービット・係
数の場合、最上位のプロセッサだけが負の係数を含み、
その結果は完全に負Cある3、この結果のこの補数は公
知のゲート制御手段によって使用され、最終出力側ロ器
に入力される前に総合結果の完全幅まで4弓延長される
この補数のための1ジタル演算回路の原理は公知である
から、ここでは訂しく説明しない。
プロセッサ50と同様のマルヂブルプロセッサは、各々
が各結果のビット幅にMしい数のセルを各行に含むグー
1〜制御全加算ヒルの矩形アレイを絹込んでいるならば
、この補数データを使用し19る。
別々に処理するために入力データIfi個々のバイトに
分割されている場合、最ま一僚バイトを受信するプロセ
ッサの出力結果の最り位ビットは、総合結果、即ち第4
図の加算器54と等価の最上位出力加FI器からの結果
出力の完全幅まで同号延長される16本発明の具体例を
相関に関して説明したが、これを畳込みに使用すること
も可能である。、これは例えば参考文献1に記載されて
おり、以下の如く算出される1、壱込み演算は次式で定
義きれる。
Y =ΣA−X  ・  但しi<n   (9)n 
   、      I    n−11=0 相l3Il演算は次式で定義される。
式(9)より、4点甜t5(N=4)の第5番目の普込
み結果Y4は以下の如く与えられる。
千の如く与えられる。
Y 〈相関) =へX  IAX  *^X −r A
 X    (12)式(12)の右辺の順序を逆にし
てBi =A3−i 、’−〇〜3を代入すると Y (相関) =B X +B X +B X −1−
B X   (13)である。
式(11)と(13)とは等価であり、畳込みと相関と
が等価の数学的FqtCiであることを示す。係数セッ
トによるI−夕の壱込みは、逆の順序で同じ係数を用い
た同じデータの相関と等価である。所与の係aL?ット
Ao・〜A、の場合、係数ソードA゛θが最初の行又は
最終行のいずれから人力開始されるかに従って本発明の
プロセッサが畳み込み演算又は相関演算を行なう。この
逆のことが第10図のセル214を組み込んだプロセッ
サに用いられる。畳込み結果級数の最初の若干の項は対
応する相関級数には無いという少しばかりの相違がある
。例えば式(10)は式(9)のYo−Y2を生成する
ことはできない1.シかし乍ら実用上はこのことが重要
でないデジタル演算回路は穫めて多数の結果を生成すべ
く使用されるので、例えば数百万の級の初端でいくつか
の結果が(=J加されたり欠如していてもこれを無視し
てもよい、1
【図面の簡単な説明】
第1図は相関演算を実行すべく構成された本発明のプロ
セッサの概略説明図、第2図及び第3図は夫々、第1図
のプロセラFすのゲート制御仝加惇セル及び¥ JJf
l算セルの訂細図、第4図、第5図及び第6図は第1図
のプロセッサにおけるデータ流と結果との夫々のクロッ
クサイクルでのタイミングを示す説明図、第7図は、大
型計算曙用プ[]t7ツリアレイ庖構成するために出力
遅延手段ど解累口丁段と共に第1図のプロセッサを含む
本発明のプロセッサの概略説明図、第8図は第7図の累
口手段に使用される仝加偉セルの訂細図、第9図は故障
許容性11]ピッリーノルイを(8成するために必要な
バイパス結線を伴う第7図のプロセッサの概略説明図、
第10図は第1図のプロセッサで使用されるゲート制御
全加算セルの変形例の説明図である。。 10・・・・・・プロセッサ、12・・・・・・7レイ
、14・・・・・・論理セル、16・・・・・・半)加
算セル、18、20・・・・・・ラッチ、22・・・・
・・クロック、52・・・・・・遅延ユニット。 代理人弁理士 中  村    至 FIG、8

Claims (8)

    【特許請求の範囲】
  1. (1)ビットパラレル、ワードシリアル、ビットジグザ
    グのMビットワードデータストリームとN単一ビット係
    数との相関及び畳込み演算を実行するデジタルプロセッ
    サであって、 (a)プロセッサがN行M列の論理セルアレイを含み、
    (b)各論理セルが、(i)データビット、キャリービ
    ット及び累積和ビットを入力し、(ii)データビット
    を出力し、(iii)入力データビットと各行のセルに
    対応する係数ビットとの積と、入力累積和と、入力キャ
    リービットとの総和に対応する出力累積和ビットと出力
    キャリービットとを生成するように構成されており、 (c)セルの相互接続ラインが行及び列を介してビット
    を伝送するように構成されており、該ラインが、ビット
    の記憶及び伝送のためのクロック励起遅延手段を含むデ
    ジタルプロセッサであって セル相互接続ラインと遅延手段とは、累積和ビットとデ
    ータビットとがアレイの列に沿って下降する単一方向で
    一方の速度が他方の速度の2倍であるような速度で伝送
    されるように構成され、キャリービットがアレイの行に
    沿ってデータビットの有意性を増加する方向で前記累積
    和ビット及びデータビットの両方よりも高速で伝送され
    るように構成されていることを特徴とするデジタルプロ
    セッサ。
  2. (2)キャリービットの伝送速度及び伝送方向でアレイ
    の行に沿って係数ビットを伝送すべく構成された付加的
    セル相互接続ラインとクロック励起遅延手段とを含むこ
    とを特徴とする特許請求の範囲第1項に記載のプロセッ
    サ。
  3. (3)アレイ出力を遅延させるべく構成されたプログラ
    マブルクロック励起遅延手段と、遅延アレイ出力を第2
    加算入力に加算すべく構成されたマルチビットクロック
    励起全加算器とを含むことを特徴とする特許請求の範囲
    第1項又は第2項に記載のプロセッサ。
  4. (4)入力データ及び第2加算入力のためのバイパス結
    線を含み、該結線がクロック励起ラッチによって再分割
    されていることを特徴とする特許請求の範囲第3項に記
    載のプロセッサ。
  5. (5)全加算器の幅が入力間のビット桁の相対差を収納
    するに十分であることを特徴とする特許請求の範囲第3
    項又は第4項に記載のプロセッサ。
  6. (6)全加算器の幅がMビットのビット桁の相対差を収
    納するに十分であることを特徴とする特許請求の範囲第
    5項に記載のプロセッサ。
  7. (7)論理セルの第n行の延長上のlog_2n半加算
    器を含み、nが1からNであり必要に応じてlog_2
    nが整数に丸められることを特徴とする特許請求の範囲
    第1項から第6項までのいずれかに記載のプロセッサ。
  8. (8)論理セルの第n行の延長上のlog_2(n−1
    )半加算器を含み、第(n−1)行のキャリー出力と適
    当な第n行の半加算器の和入力との間の遅延手段を備え
    た結線を含み、nが2からNであり必要に応じてlog
    _2(n−1)が整数に丸められることを特徴とする特
    許請求の範囲第1項から第6項までのいずれかに記載の
    プロセッサ。
JP62049882A 1986-03-05 1987-03-04 相関及び畳込みを行なうビツト−スライスデジタルプロセツサ Expired - Lifetime JPH0833878B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8605367 1986-03-05
GB868605367A GB8605367D0 (en) 1986-03-05 1986-03-05 Bit-slice digital processor

Publications (2)

Publication Number Publication Date
JPS62229470A true JPS62229470A (ja) 1987-10-08
JPH0833878B2 JPH0833878B2 (ja) 1996-03-29

Family

ID=10594045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62049882A Expired - Lifetime JPH0833878B2 (ja) 1986-03-05 1987-03-04 相関及び畳込みを行なうビツト−スライスデジタルプロセツサ

Country Status (6)

Country Link
US (1) US4833635A (ja)
EP (1) EP0237204B1 (ja)
JP (1) JPH0833878B2 (ja)
CA (1) CA1263758A (ja)
DE (1) DE3776366D1 (ja)
GB (1) GB8605367D0 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2624283B1 (fr) * 1987-12-08 1992-09-18 Thomson Csf Circuit integre de calcul numerique pour calculs glissants du type convolution
FR2634084A1 (fr) * 1988-07-08 1990-01-12 Labo Electronique Physique Circuit integre et dispositif de traitement d'images
US5243551A (en) * 1989-05-17 1993-09-07 The Secretary Of State For Defence In Her Britannic Majesty's Government Of The United Kingdom Of Great Britain And Northern Ireland Processor suitable for recursive computations
US5142488A (en) * 1989-08-31 1992-08-25 General Electric Company Serial memories operated for re-ordering samples
US5138695A (en) * 1989-10-10 1992-08-11 Hnc, Inc. Systolic array image processing system
US5109356A (en) * 1990-05-29 1992-04-28 Environmental Research Institute Of Michigan Apparatus for computation of discrete Fourier transform using array parallel processor
FR2663138B1 (fr) * 1990-06-08 1992-09-11 France Etat Procede et circuit de traitement de signaux numeriques representatifs de vecteurs ou tuples de meme dimension et leur application a des ensembles de cardinalite et a des vecteurs ou tuples de dimensions quelconques.
US5280607A (en) * 1991-06-28 1994-01-18 International Business Machines Corporation Method and apparatus for tolerating faults in mesh architectures
US5513313A (en) * 1993-01-19 1996-04-30 International Business Machines Corporation Method for generating hierarchical fault-tolerant mesh architectures
US6401194B1 (en) * 1997-01-28 2002-06-04 Samsung Electronics Co., Ltd. Execution unit for processing a data stream independently and in parallel
US6732126B1 (en) * 1999-05-07 2004-05-04 Intel Corporation High performance datapath unit for behavioral data transmission and reception
US8185812B2 (en) * 2003-03-20 2012-05-22 Arm Limited Single event upset error detection within an integrated circuit
US8650470B2 (en) 2003-03-20 2014-02-11 Arm Limited Error recovery within integrated circuit
FR2895539B1 (fr) * 2005-12-22 2008-03-07 Francois Oustry Dispositif de synthese d'un signal numerique composite avec controle explicite de ses trois premiers moments
US8171386B2 (en) * 2008-03-27 2012-05-01 Arm Limited Single event upset error detection within sequential storage circuitry of an integrated circuit
US8161367B2 (en) * 2008-10-07 2012-04-17 Arm Limited Correction of single event upset error within sequential storage circuitry of an integrated circuit
US8493120B2 (en) 2011-03-10 2013-07-23 Arm Limited Storage circuitry and method with increased resilience to single event upsets

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4533993A (en) * 1981-08-18 1985-08-06 National Research Development Corp. Multiple processing cell digital data processor
US4493048A (en) * 1982-02-26 1985-01-08 Carnegie-Mellon University Systolic array apparatuses for matrix computations
GB8320362D0 (en) * 1983-07-28 1983-09-01 Secr Defence Digital data processor
GB8326690D0 (en) * 1983-10-05 1983-11-09 Secr Defence Digital data processor

Also Published As

Publication number Publication date
CA1263758A (en) 1989-12-05
GB8605367D0 (en) 1986-04-09
EP0237204A2 (en) 1987-09-16
EP0237204A3 (en) 1989-05-24
EP0237204B1 (en) 1992-01-29
JPH0833878B2 (ja) 1996-03-29
US4833635A (en) 1989-05-23
DE3776366D1 (de) 1992-03-12

Similar Documents

Publication Publication Date Title
JPS62229470A (ja) 相関及び畳込みを行なうビツト−スライスデジタルプロセツサ
US4839847A (en) N-clock, n-bit-serial multiplier
US4885715A (en) Digital processor for convolution and correlation
JPH0326411B2 (ja)
US4939687A (en) Serial-parallel multipliers using serial as well as parallel addition of partial products
US5126964A (en) High performance bit-sliced multiplier circuit
EP0849663B1 (en) Conditional sum adder using pass-transistor logic
JP3277089B2 (ja) 乗算器及び積和演算装置
US5229959A (en) High order carry multiplexed adder
EP0112186B1 (en) Modular high-speed multipliers, and integrated circuit chip modules for such multipliers
US4523210A (en) Fast error checked multibit multiplier
US5883825A (en) Reduction of partial product arrays using pre-propagate set-up
US20080104155A1 (en) Digital electronic binary rotator and reverser
JP3270659B2 (ja) 演算回路および演算方法
US6892215B2 (en) Fast parallel cascaded array modular multiplier
US7010561B2 (en) Systolic ring-planarized cylindrical array modular multipler
RU2785770C1 (ru) Устройство для объединения групп данных
Makarenko et al. A VLSI multiprecision matrix multiplier and polynomial evaluator
GB2192474A (en) Processor for correction and convolution
Hartley et al. A digit-serial compiler operator library
US6907440B2 (en) Systolic cylindrical array modular multiplier
US4905175A (en) Digit-serial shifters constructed from basic cells
US5689451A (en) Device for calculating parity bits associated with a sum of two numbers
EP1576490B1 (en) Scalable processing network for searching and adding in a content addressable memory
JP3237122B2 (ja) 乗算回路