JPS63316167A - 並列処理システム及びその方法 - Google Patents
並列処理システム及びその方法Info
- Publication number
- JPS63316167A JPS63316167A JP63135386A JP13538688A JPS63316167A JP S63316167 A JPS63316167 A JP S63316167A JP 63135386 A JP63135386 A JP 63135386A JP 13538688 A JP13538688 A JP 13538688A JP S63316167 A JPS63316167 A JP S63316167A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- array
- accumulator
- bit
- 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
- 238000012545 processing Methods 0.000 title claims description 75
- 238000000034 method Methods 0.000 title claims description 49
- 230000015654 memory Effects 0.000 claims description 195
- 238000003491 array Methods 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims 11
- 230000003213 activating effect Effects 0.000 claims 3
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 28
- 230000008569 process Effects 0.000 description 23
- 239000011159 matrix material Substances 0.000 description 19
- 238000010586 diagram Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 9
- 230000009466 transformation Effects 0.000 description 7
- 238000007792 addition Methods 0.000 description 6
- 230000017105 transposition Effects 0.000 description 5
- 239000005059 1,4-Cyclohexyldiisocyanate Substances 0.000 description 4
- JRQLZCFSWYQHPI-UHFFFAOYSA-N 4,5-dichloro-2-cyclohexyl-1,2-thiazol-3-one Chemical compound O=C1C(Cl)=C(Cl)SN1C1CCCCC1 JRQLZCFSWYQHPI-UHFFFAOYSA-N 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 102100031265 Chromodomain-helicase-DNA-binding protein 2 Human genes 0.000 description 3
- 102100038220 Chromodomain-helicase-DNA-binding protein 6 Human genes 0.000 description 3
- 101000777079 Homo sapiens Chromodomain-helicase-DNA-binding protein 2 Proteins 0.000 description 3
- 101000883736 Homo sapiens Chromodomain-helicase-DNA-binding protein 6 Proteins 0.000 description 3
- 101000880945 Homo sapiens Down syndrome cell adhesion molecule Proteins 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 102100031235 Chromodomain-helicase-DNA-binding protein 1 Human genes 0.000 description 2
- 102100031266 Chromodomain-helicase-DNA-binding protein 3 Human genes 0.000 description 2
- 101000777047 Homo sapiens Chromodomain-helicase-DNA-binding protein 1 Proteins 0.000 description 2
- 101000777071 Homo sapiens Chromodomain-helicase-DNA-binding protein 3 Proteins 0.000 description 2
- 101000883731 Homo sapiens Chromodomain-helicase-DNA-binding protein 5 Proteins 0.000 description 2
- 101001038390 Homo sapiens Guided entry of tail-anchored proteins factor 1 Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 235000008001 rakum palm Nutrition 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- QSLPNSWXUQHVLP-UHFFFAOYSA-N $l^{1}-sulfanylmethane Chemical compound [S]C QSLPNSWXUQHVLP-UHFFFAOYSA-N 0.000 description 1
- 102100038214 Chromodomain-helicase-DNA-binding protein 4 Human genes 0.000 description 1
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 1
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 1
- 102100040856 Dual specificity protein kinase CLK3 Human genes 0.000 description 1
- 101000883749 Homo sapiens Chromodomain-helicase-DNA-binding protein 4 Proteins 0.000 description 1
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 1
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 1
- 101000749304 Homo sapiens Dual specificity protein kinase CLK3 Proteins 0.000 description 1
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures 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/8015—One dimensional arrays, e.g. rings, linear arrays, buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Multi Processors (AREA)
- Image Processing (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
E産業上の利用分野]
本発明は画像等の空間的に関連のあるデータアレイを、
コンピュータ等のプログラム可能な要素の大きなアレイ
を用いて処理及び解析するシステム及び方法に関するも
のである。
コンピュータ等のプログラム可能な要素の大きなアレイ
を用いて処理及び解析するシステム及び方法に関するも
のである。
[従来の技術]
従来、簡単なビットシリアルプロセッサの大きなアレイ
を採用しているシステムが多数提案されている。上記ビ
ットシリアルプロセッサの各々はセントラルコントロー
ラからいつでも同じインストラクションを受ける。この
ようなタイプのシステムは「シングル インストラクシ
ョン マルチプル データ(SIHD) Jパラレルプ
ロセッサと呼ばれている。
を採用しているシステムが多数提案されている。上記ビ
ットシリアルプロセッサの各々はセントラルコントロー
ラからいつでも同じインストラクションを受ける。この
ようなタイプのシステムは「シングル インストラクシ
ョン マルチプル データ(SIHD) Jパラレルプ
ロセッサと呼ばれている。
1つのプロセッサから他のプロセッサへデータを通信す
る方法はいくつかある0例えばに、E。
る方法はいくつかある0例えばに、E。
8ajcher ”デザイン オン ア マッシイブ
リイ パラレル プロセッサ°’IE[Eトランスアク
ションズ オン コンピューターズ 1980.9月号
P、 830〜P、 840に書かれているマッシ・イ
ブリイ パラレル プロセッサ(塊状並列処理装置)は
、128x128プロセツサのアレイを有しており、画
像処理は重要な応用例となっている。
リイ パラレル プロセッサ°’IE[Eトランスアク
ションズ オン コンピューターズ 1980.9月号
P、 830〜P、 840に書かれているマッシ・イ
ブリイ パラレル プロセッサ(塊状並列処理装置)は
、128x128プロセツサのアレイを有しており、画
像処理は重要な応用例となっている。
ネイバーフッドオペレーション(近隣演算)を必要とす
る命令(インストラクション)が実行されるとき、デー
タは隣り合っているプロセンシングエレメント同志の間
で通信される。1024X1024よりも大きいディメ
ンジョンのイメージデータアレイは希ではない。この大
きさのプロセッサアレイは経済的には不可能であるので
、アレイをより小さいデータアレイのサイズに分けなけ
ればならない。その時にプロセッサアレイのサイズに等
しいサイズにする。
る命令(インストラクション)が実行されるとき、デー
タは隣り合っているプロセンシングエレメント同志の間
で通信される。1024X1024よりも大きいディメ
ンジョンのイメージデータアレイは希ではない。この大
きさのプロセッサアレイは経済的には不可能であるので
、アレイをより小さいデータアレイのサイズに分けなけ
ればならない。その時にプロセッサアレイのサイズに等
しいサイズにする。
この曲にも異なる3180プロセツサがある。しかし、
それも又通常はプロセッサアレイよりも大きなデータア
レイであるという問題がある。
それも又通常はプロセッサアレイよりも大きなデータア
レイであるという問題がある。
通常これらのシステムにおいては、プロセッサに付随さ
れるメモリは全て全イメージを保持するのに大きい訳で
はない、(それは中間的な計算結果のための補助メモリ
容量を有してはいる6)[発明が解決しようとする課B
] 従って、大きな補助メモリが必要になる。そして機構は
計算効率を保持するために、小さなサブアレイセグメン
トの入力及び出力を高速で処理できなければならない。
れるメモリは全て全イメージを保持するのに大きい訳で
はない、(それは中間的な計算結果のための補助メモリ
容量を有してはいる6)[発明が解決しようとする課B
] 従って、大きな補助メモリが必要になる。そして機構は
計算効率を保持するために、小さなサブアレイセグメン
トの入力及び出力を高速で処理できなければならない。
もし十分なメモリが各プロセッサに与えられ、プロセッ
サの集団に付随されるメモリの総和がイメージデータの
大きなアレイの全てを収容できるとしても、ネイバーフ
ッドオペレーションが行われるとき、種々のサブアレイ
の間でのデータ通信の問題が残る。
サの集団に付随されるメモリの総和がイメージデータの
大きなアレイの全てを収容できるとしても、ネイバーフ
ッドオペレーションが行われるとき、種々のサブアレイ
の間でのデータ通信の問題が残る。
インストラクション・クロ・yクサイクルの間、各プロ
セッサはその付随メモリの出力を受けるので、アレイの
端のプロセッサはネイバーリングサプアレイからデータ
を受けることができない。これは既に全てのメモリが全
てのサブアレイの読み込みに関与しているからである。
セッサはその付随メモリの出力を受けるので、アレイの
端のプロセッサはネイバーリングサプアレイからデータ
を受けることができない。これは既に全てのメモリが全
てのサブアレイの読み込みに関与しているからである。
従ってサブアレイとネイバーリングサブアレイデータの
両方か計算に必要とされたとき、マルチクロヅクサイク
ルがデータの読み込みに必要となる。
両方か計算に必要とされたとき、マルチクロヅクサイク
ルがデータの読み込みに必要となる。
一般には、3180プロセツサは、ヒストグラムや、特
徴抽出や、空間的変換、例えばホー・トランス7に一ム
(tlouc+h transforlM)及びフーリ
エ解析のように、データマトリックスの大きなエリアの
解析を必要とする大域プロセスの処理においては効率が
低い。間接アドレス指定は重要な処理概念である。
徴抽出や、空間的変換、例えばホー・トランス7に一ム
(tlouc+h transforlM)及びフーリ
エ解析のように、データマトリックスの大きなエリアの
解析を必要とする大域プロセスの処理においては効率が
低い。間接アドレス指定は重要な処理概念である。
しかし並列処理を用いるべき環境下において、間接アド
レス指定を実行するに伴う問題が文献に示されている。
レス指定を実行するに伴う問題が文献に示されている。
例えば、八、L、Fishar & P、T、lIig
hnanの“リアルタイムイメージ プロセッシング
オン スキャン ライン アレイ プロセッサーズTE
EE ワークショップ オン パターン アナリシス
アンド イメージデータベース マネージメント”1
985年11月 18−20日号、P、 484−P
、489や、P、E。
hnanの“リアルタイムイメージ プロセッシング
オン スキャン ライン アレイ プロセッサーズTE
EE ワークショップ オン パターン アナリシス
アンド イメージデータベース マネージメント”1
985年11月 18−20日号、P、 484−P
、489や、P、E。
Danielson & T、S、Er1csson
”LIPPプロボーザルズフォーザデザイン オブ イ
メージグロセッサアレイ”11阜P、 157〜178
、コンピユーテイング ストラクチャーズ フォー イ
メージプロセッシング(E(1,H,J、 B、 タ
フ、アカデミツクプレス 1983)である。
”LIPPプロボーザルズフォーザデザイン オブ イ
メージグロセッサアレイ”11阜P、 157〜178
、コンピユーテイング ストラクチャーズ フォー イ
メージプロセッシング(E(1,H,J、 B、 タ
フ、アカデミツクプレス 1983)である。
間接アドレス指定を使うためには、多量のメモリが必要
とされる。何故なら、間接アドレス指定を用いると都合
のよい参照用テーブル或いはヒストグラム等の応用もス
大量のメモリを必要とするからである。5l)10プロ
セツサにおいてはメモリは通常プロセッサと同じチップ
の上に集積されている。しかし、技術的にプロセッサと
メモリの両方を1つのチップの上に集積するのには限界
があるので、メモリは間接アドレス指定には小さすぎて
、これらの技術を用いても何も有用な問題を解くことが
できない。
とされる。何故なら、間接アドレス指定を用いると都合
のよい参照用テーブル或いはヒストグラム等の応用もス
大量のメモリを必要とするからである。5l)10プロ
セツサにおいてはメモリは通常プロセッサと同じチップ
の上に集積されている。しかし、技術的にプロセッサと
メモリの両方を1つのチップの上に集積するのには限界
があるので、メモリは間接アドレス指定には小さすぎて
、これらの技術を用いても何も有用な問題を解くことが
できない。
しかしながら、もしメモリがチップの外にあり、1つの
チップの上に多数の集積プロセッサがあるならば、プロ
セッサが処理しなければならないアドレスラインが多す
ぎるので、信号通路の数が強い制限要因となる。
チップの上に多数の集積プロセッサがあるならば、プロ
セッサが処理しなければならないアドレスラインが多す
ぎるので、信号通路の数が強い制限要因となる。
全てのプロセッサが同期的に5l)1010セツサアレ
イの中で同じインストラクションを実行するので、1・
1随メモリ中のデータ値に応じて、幾つかの選択された
プロセッサについては、そのインストラクションを実行
させないようにするための方法が必要とされるというこ
とが知られている。
イの中で同じインストラクションを実行するので、1・
1随メモリ中のデータ値に応じて、幾つかの選択された
プロセッサについては、そのインストラクションを実行
させないようにするための方法が必要とされるというこ
とが知られている。
大抵の場合、メモリ書き込み禁止機能は、プログラム可
能なフロヅプフロッグが、成るアレイ内の各メモリに対
する書き込み機能をコントロールする場合に用いられる
。しかしながら、書き込み禁止機能はプロセッサチップ
から1寸前メモリチップへの別のラインを必要とする。
能なフロヅプフロッグが、成るアレイ内の各メモリに対
する書き込み機能をコントロールする場合に用いられる
。しかしながら、書き込み禁止機能はプロセッサチップ
から1寸前メモリチップへの別のラインを必要とする。
回路チップにおける出力ピンの制限のために、1つのチ
ップの上には、プロセッサを極めて多数集積することは
できない。
ップの上には、プロセッサを極めて多数集積することは
できない。
また、コスト的に有利なワイドメモリは、8本の別れて
いるデータラインを別々に抑止できないので、使用する
ことができない。
いるデータラインを別々に抑止できないので、使用する
ことができない。
従って、本発明の主な目的はプロセッサの大きな固定ア
レイが、大きなデータアレイを処理できる一方で、デー
タのネイバーフッド及び大域処理を必要とする演算を実
行できるようにする簡単なシステム及び方法を提供する
ことにある。
レイが、大きなデータアレイを処理できる一方で、デー
タのネイバーフッド及び大域処理を必要とする演算を実
行できるようにする簡単なシステム及び方法を提供する
ことにある。
本発明の他の目的は、在るアレイの中での各5IHOプ
ロセ・ソサに対し独立して作動するメモリの間接アドレ
ス指定の効果的な方法を提供することにある。
ロセ・ソサに対し独立して作動するメモリの間接アドレ
ス指定の効果的な方法を提供することにある。
本発明の他の目的は、10セツサアレイから術れな付随
の入力・出力メカニズム及びメモリへ行くことなしに、
データの大きなアレイを処理する手段を提供することに
ある。
の入力・出力メカニズム及びメモリへ行くことなしに、
データの大きなアレイを処理する手段を提供することに
ある。
[課題を解決するための手段、作用及び発明の効果コ
本発明は、プロセッシングエレメントのアレイに付随す
るメモリ内に矩形状のデータアレイの全てが保持されて
いるデータアレイの処理を行なう方法に関する。
るメモリ内に矩形状のデータアレイの全てが保持されて
いるデータアレイの処理を行なう方法に関する。
本発明の方法においては、同一の独立したプロセッサユ
ニットの複数が互いに直列的鎖状に結ばれ、データマト
リックスのコラム毎に1つのプロセッシングエレメント
が在り、各プロセッサユニットはデータマトリックスの
高さの全てを収容するのに十分大きなメモリに接続され
て°いる。同じプロセッシングユニッ1−は隣りのユニ
ットへの接続ラインを有し、隣りのユニット内のネイバ
ーフッドデータと通信できる。
ニットの複数が互いに直列的鎖状に結ばれ、データマト
リックスのコラム毎に1つのプロセッシングエレメント
が在り、各プロセッサユニットはデータマトリックスの
高さの全てを収容するのに十分大きなメモリに接続され
て°いる。同じプロセッシングユニッ1−は隣りのユニ
ットへの接続ラインを有し、隣りのユニット内のネイバ
ーフッドデータと通信できる。
プロセッサユニットは、データをインクレメントするた
め手段として用いられるコードに対応できるアキュムレ
ータ、広帯域通信手段、8×8データサブアレイを転置
するための手段、及び間接アドレス指定をするためのレ
ジスタを備えている。アキュムレータの機能を結合する
ことにより、外部バイトワイドメモリを使用することが
でき、更にもしそうでなければ不可能な演算も可能にな
る。転置手段によりビットシリアルとして通常板われる
データは、パラレルバイトワイドデータに変換され得る
。
め手段として用いられるコードに対応できるアキュムレ
ータ、広帯域通信手段、8×8データサブアレイを転置
するための手段、及び間接アドレス指定をするためのレ
ジスタを備えている。アキュムレータの機能を結合する
ことにより、外部バイトワイドメモリを使用することが
でき、更にもしそうでなければ不可能な演算も可能にな
る。転置手段によりビットシリアルとして通常板われる
データは、パラレルバイトワイドデータに変換され得る
。
更に、プロセッサユニットは、演算において新規なモー
ドを有しており、そこでは並列算術機能が実行される。
ドを有しており、そこでは並列算術機能が実行される。
また各プロセッサユニット内の2段マルチプレクサは、
参照用テーブル機能及びビットシリアル算術機能を実行
することができる。
参照用テーブル機能及びビットシリアル算術機能を実行
することができる。
上述の問題点及び目的に鑑み、本発明は次のような処理
システムを提供するものである。
システムを提供するものである。
即ち、大きいアレイを少なくとも第1及び第2サブアレ
イに細区分することにより、複数の列と少なくと62n
(nはlより大きい整数)のコラムを有するデータアレ
イからのデータにより、並列処理演算を実行するため処
理システムを提供するものである。上記各サブアレイは
複数の列とnコラムを有している。上記システムは、n
個の独立したプロセッサユニットのそれぞれの第1及び
第2グループと、そして、n個のメモリ手段のそれぞれ
の第1及び第2グループとを備えており、上記n個のプ
ロセッサユニットの各グループは、複数の接続ラインに
より互いに接続されたn個のプロセッサセルのアレイを
有し、また、独立したプロセッサユニットのそれぞれは
1つのプロセッサセルを有し、更にプロセッサユニット
の第1及び第2グループはグループ間でデータを転送す
るための複数の接続ラインにより互いに接続されており
;一方、上記n個のメモリ手段は第1及び第2サブアレ
イにそれぞれ付随するデータのnコラムを格納するため
のもので、このメモリ手段はデータの1つのコラムを格
納しプロセッサユニットの1つにそれぞれ接続されてい
る。このシステムでは、プロセッサユニットの第1グル
ープは更に、プロセッサユニットの第1グループにn個
のメモリ手段の第1グループからのデータ列を並列的に
選択的に演算せしめるための第1手段と、10セツサユ
ニットの第1グループにn個のメモリ手段の第1グルー
プのn個のコラムのいずれかからのデータにより並列的
に選択的に演算せしめるための第2手段とを有している
。
イに細区分することにより、複数の列と少なくと62n
(nはlより大きい整数)のコラムを有するデータアレ
イからのデータにより、並列処理演算を実行するため処
理システムを提供するものである。上記各サブアレイは
複数の列とnコラムを有している。上記システムは、n
個の独立したプロセッサユニットのそれぞれの第1及び
第2グループと、そして、n個のメモリ手段のそれぞれ
の第1及び第2グループとを備えており、上記n個のプ
ロセッサユニットの各グループは、複数の接続ラインに
より互いに接続されたn個のプロセッサセルのアレイを
有し、また、独立したプロセッサユニットのそれぞれは
1つのプロセッサセルを有し、更にプロセッサユニット
の第1及び第2グループはグループ間でデータを転送す
るための複数の接続ラインにより互いに接続されており
;一方、上記n個のメモリ手段は第1及び第2サブアレ
イにそれぞれ付随するデータのnコラムを格納するため
のもので、このメモリ手段はデータの1つのコラムを格
納しプロセッサユニットの1つにそれぞれ接続されてい
る。このシステムでは、プロセッサユニットの第1グル
ープは更に、プロセッサユニットの第1グループにn個
のメモリ手段の第1グループからのデータ列を並列的に
選択的に演算せしめるための第1手段と、10セツサユ
ニットの第1グループにn個のメモリ手段の第1グルー
プのn個のコラムのいずれかからのデータにより並列的
に選択的に演算せしめるための第2手段とを有している
。
同様に、プロセッサユニットの第2グループは更に、そ
れ自身にn個のメモリ手段の第2グループの列からのデ
ータにより並列的に選択的に演算せしめるための第1手
段と、それ自身にn個のメモリ手段の第2グループのn
個のコラムのいずれか1つからのデータに基づき並列に
選択的に演算を行わせしめるための第2手段とを有して
いる。このシステムにおいては、各プロセッサユニット
は好ましくは、互いに直列に接続された独立した1ビッ
トアキユムレータから成るアキュムレータ手段を備え、
各アキュムレータ手段は、複数の接続ラインにより隣り
のプロセッサユニットに付随の少なくとも1つのアキュ
ムレータ手段に接続されている。
れ自身にn個のメモリ手段の第2グループの列からのデ
ータにより並列的に選択的に演算せしめるための第1手
段と、それ自身にn個のメモリ手段の第2グループのn
個のコラムのいずれか1つからのデータに基づき並列に
選択的に演算を行わせしめるための第2手段とを有して
いる。このシステムにおいては、各プロセッサユニット
は好ましくは、互いに直列に接続された独立した1ビッ
トアキユムレータから成るアキュムレータ手段を備え、
各アキュムレータ手段は、複数の接続ラインにより隣り
のプロセッサユニットに付随の少なくとも1つのアキュ
ムレータ手段に接続されている。
本発明の第2の態様によれば、複数の列と少なくと62
n個のコラム(nは1より大きい整数)を有するデータ
アレイからのデータにより並列処理演算を実行するため
処理システム内のデータ転置に関する改善例が示されて
いる。その改善例は、次の3つの組合せから成るもので
ある。即ち、複数の接続ラインにより互いに接続されな
プロセッサセルのアレイを備えるn個の独立したプロセ
ッサユニットのアレイと;n個の独立したプロセッサユ
ニットのアレイにより連続的に処理するためにデータを
格納するためのn個のメモリ手段のアレイであって、メ
モリ手段のそれぞれがプロセッサユニットのそれぞれに
付随し、メモリ手段のそれぞれがデータの1コラムを格
納するように構成されたメモリ手段のアレイと:データ
のnビットを転置するため手段であって、該ビットはn
個のメモリ手段のアレイとプロセッサユニットのアレイ
との間で転送され、プロセッサユニットのアレイはデー
タの構成を第1フオーマ・/トがらこれに対し垂直な第
2フォーマットへ変える転置手段との組合せである。
n個のコラム(nは1より大きい整数)を有するデータ
アレイからのデータにより並列処理演算を実行するため
処理システム内のデータ転置に関する改善例が示されて
いる。その改善例は、次の3つの組合せから成るもので
ある。即ち、複数の接続ラインにより互いに接続されな
プロセッサセルのアレイを備えるn個の独立したプロセ
ッサユニットのアレイと;n個の独立したプロセッサユ
ニットのアレイにより連続的に処理するためにデータを
格納するためのn個のメモリ手段のアレイであって、メ
モリ手段のそれぞれがプロセッサユニットのそれぞれに
付随し、メモリ手段のそれぞれがデータの1コラムを格
納するように構成されたメモリ手段のアレイと:データ
のnビットを転置するため手段であって、該ビットはn
個のメモリ手段のアレイとプロセッサユニットのアレイ
との間で転送され、プロセッサユニットのアレイはデー
タの構成を第1フオーマ・/トがらこれに対し垂直な第
2フォーマットへ変える転置手段との組合せである。
本発明の第3の態様によれば、少なくともn列とnコラ
ム(nは1より大きい整数)を有するデータアレイから
のデータにより処理演算を並列的に実行するための処理
システムのメモリ手段のアレイと、プロセッサユニット
のアレイとの間で、データを転送する方法が示されてい
る。
ム(nは1より大きい整数)を有するデータアレイから
のデータにより処理演算を並列的に実行するための処理
システムのメモリ手段のアレイと、プロセッサユニット
のアレイとの間で、データを転送する方法が示されてい
る。
上記方法は以下のステップから成る。
(a) n個のメモリ手段のアレイの第1フォーマット
にデータを格納するステップ、 (b) n個のメモリ手段のアレイの第1フォーマット
に格納されたデータのグループをn個のプロセッサユニ
ットのアレイへ第1フォーマットに対し垂直な第2フォ
ーマットへ転送されるデータを転置することにより転送
するステップ。
にデータを格納するステップ、 (b) n個のメモリ手段のアレイの第1フォーマット
に格納されたデータのグループをn個のプロセッサユニ
ットのアレイへ第1フォーマットに対し垂直な第2フォ
ーマットへ転送されるデータを転置することにより転送
するステップ。
本発明の第4の態様によれば、少なくとも複数の列とn
個のコラム(nは1より大きい整数)を有するデータの
アレイからのデータにより処理演算を並列的に実行する
為の処理システムにおける算術演算を実行するための改
善例が示されている。
個のコラム(nは1より大きい整数)を有するデータの
アレイからのデータにより処理演算を並列的に実行する
為の処理システムにおける算術演算を実行するための改
善例が示されている。
この改善例は、次の3つの組合せから成る。即ち、複数
の接続部により互いに接続されたn個のグロセッサセル
アレイを備えるn個の独立した10セツサユニットのア
レイと81個のメモリ手段のアレイであり、各メモリ手
段がメモリ手段に付随したプロセッサユニット(プロセ
ッサユニットのアレイがそこに供給されるデータに基づ
き算術演算を実行するための算術手段のアレイを有する
)による処理のためにデータのコラムを格納するメモリ
手段のアレイと;プロセッサユニット間(nlllのプ
ロセッサユニットのアレイはプロセッサユニットのアレ
イに沿って分配されたデータにより算術演算を実行する
ように並列的に動作される)での算術演算の結果でて来
るキャリーに対応するデータを転送するためのキャリー
手段を組合せて成る。
の接続部により互いに接続されたn個のグロセッサセル
アレイを備えるn個の独立した10セツサユニットのア
レイと81個のメモリ手段のアレイであり、各メモリ手
段がメモリ手段に付随したプロセッサユニット(プロセ
ッサユニットのアレイがそこに供給されるデータに基づ
き算術演算を実行するための算術手段のアレイを有する
)による処理のためにデータのコラムを格納するメモリ
手段のアレイと;プロセッサユニット間(nlllのプ
ロセッサユニットのアレイはプロセッサユニットのアレ
イに沿って分配されたデータにより算術演算を実行する
ように並列的に動作される)での算術演算の結果でて来
るキャリーに対応するデータを転送するためのキャリー
手段を組合せて成る。
本発明の第5の態様によれば、上記第4の態様で説明し
たタイプの処理システムにおける算術演算を実行するた
めの方法が示されている。その算出演算を実行するため
の方法は以下のステップから成る。
たタイプの処理システムにおける算術演算を実行するた
めの方法が示されている。その算出演算を実行するため
の方法は以下のステップから成る。
(a)少なくとも処理システムの一部として、複数の接
続ラインにより互いに接続されたn個のプロセッサユニ
ットのアレイを提供するステップ;(b)もし成る方向
にみて隣にプロセッサユニットが存在すれば、該隣りの
プロセッサユニットへ、プロセッサユニット内の算術演
算の結果として発生するキャリーデータを直ちに、少な
くとも一部として転送することにより、n個のプロセッ
サユニットのそれぞれでX術演算を並列的に実行するス
テップとから成る。上記プロセッサユニットのアレイは
、お互いが隣り同士であるプロセッサユニット間でキャ
リーデータを転送するための手段を備えている。
続ラインにより互いに接続されたn個のプロセッサユニ
ットのアレイを提供するステップ;(b)もし成る方向
にみて隣にプロセッサユニットが存在すれば、該隣りの
プロセッサユニットへ、プロセッサユニット内の算術演
算の結果として発生するキャリーデータを直ちに、少な
くとも一部として転送することにより、n個のプロセッ
サユニットのそれぞれでX術演算を並列的に実行するス
テップとから成る。上記プロセッサユニットのアレイは
、お互いが隣り同士であるプロセッサユニット間でキャ
リーデータを転送するための手段を備えている。
また転送されたキャリーデータは、隣りのプロセッサユ
ニットで実行される算術演算に使用される。
ニットで実行される算術演算に使用される。
本発明の第6番目のrr!、、様によれば、並列処理演
算を実行するための処理システムのメモリ手段のアレイ
内のデータが、間接的にアドレスされるような改善例が
示されている。この改善例は、次の3つを組み合せて成
る。即ち、複数の接続ラインによりたがいに接続された
プロセッサセルのアレイを有するn個の独立したプロセ
ッサユニットのアレイと81個のメモリ手段のアレイで
あり、各メモリ手段がプロセッサユニットのそれぞれに
より連続的に処理を行うためにデータの1コラムを格納
するよう構成されなアレイと、メモリ手段に格納された
データ値をアクセスすることによりアドレスの外部源か
ら受け取られたアドレスを修正することにより、メモリ
一手段のアレイ内のデータを間接的にアドレスするため
の手段とから成る。
算を実行するための処理システムのメモリ手段のアレイ
内のデータが、間接的にアドレスされるような改善例が
示されている。この改善例は、次の3つを組み合せて成
る。即ち、複数の接続ラインによりたがいに接続された
プロセッサセルのアレイを有するn個の独立したプロセ
ッサユニットのアレイと81個のメモリ手段のアレイで
あり、各メモリ手段がプロセッサユニットのそれぞれに
より連続的に処理を行うためにデータの1コラムを格納
するよう構成されなアレイと、メモリ手段に格納された
データ値をアクセスすることによりアドレスの外部源か
ら受け取られたアドレスを修正することにより、メモリ
一手段のアレイ内のデータを間接的にアドレスするため
の手段とから成る。
゛本発明の第7の態様によれば、少なくとも複数の列と
n個のコラム(nは1より大きい整数)を有するデータ
のアレイからのデータにより、処理演算を並列的に実行
するための処理システムにより連続的に処理を行うため
に、メモリ内のデータをアドレスする方法が示されてい
る。このデータをアドレスする方法は、次の4つのステ
ップから成る。(a)少なくとも処理システムの一部と
して、(1)n個のプロセッサユニットのアレイと、(
2)プロセッサユニットのアレイにより連続的に処理を
行うためにデータのアレイからのデータを格納するため
のメモリ手段を提供するステップと;(b)データをメ
モリ手段の第1iIJ所からプロセッサユニットのアレ
イでロードするステップと;(c)上記第1場所から隔
たったメモリ手段内の第2場所を特定するためにロード
されたデータを使用するステップと;(d)データをメ
モリ手段の指定された第2場所からプロセッサユニット
のアレイヘロードするステップとから成る。
n個のコラム(nは1より大きい整数)を有するデータ
のアレイからのデータにより、処理演算を並列的に実行
するための処理システムにより連続的に処理を行うため
に、メモリ内のデータをアドレスする方法が示されてい
る。このデータをアドレスする方法は、次の4つのステ
ップから成る。(a)少なくとも処理システムの一部と
して、(1)n個のプロセッサユニットのアレイと、(
2)プロセッサユニットのアレイにより連続的に処理を
行うためにデータのアレイからのデータを格納するため
のメモリ手段を提供するステップと;(b)データをメ
モリ手段の第1iIJ所からプロセッサユニットのアレ
イでロードするステップと;(c)上記第1場所から隔
たったメモリ手段内の第2場所を特定するためにロード
されたデータを使用するステップと;(d)データをメ
モリ手段の指定された第2場所からプロセッサユニット
のアレイヘロードするステップとから成る。
本発明の上述された或いは上述されなかった態様、目的
及び効果は添付図面及び請求の範囲に関連して以下に述
べる詳細な説明より明らかになろう6 [実施例] 第1図において、本発明の並列処理システム9は、複数
の同一の独立したネイバーフッドプロセッサユニット1
0a〜1onから成るアレイ10と、シングルビットワ
イドメモリ13a〜13nから成る付属アレイ13とか
ら構成されている。各プロセッサユニットにはそれぞれ
1つの1ビットコラムX複数列のメモリが付随されてい
る0例えば、上記プロセッサユニット10iには上記メ
モリ13iが付随している。プロセッサユニットは複数
グループ描かれており、各グループは8個のプロセッサ
ユニット、例えば10a〜10hから成る。同様に各グ
ループ8プロセッサユニットから成る上記複数グループ
に付随するメモリのアレイ13は、好ましくはバイトワ
イドメモリから構成され、このアレイ13も又複数グル
ープ描かれ、1グループは8個のメモリ、例えばi3a
〜13hから成る6例えばネイバーフッドプロセッサユ
ニット10b〜10nは、ネイバーリングデータを自分
自身のすぐ左又は右側のプロセッサユニットからライン
11;〜11nを通して受け取る。各ネイバーフッドプ
ロセッサユニット10a〜10nは、また双方向データ
転送ライン12a〜12nによって接続された上記メモ
リ13a〜13nに接続している。データ入力装置20
はライン21aを介して第1の上記プロセッサユニット
10aに−流れ(ストリーム)のデータを与える。
及び効果は添付図面及び請求の範囲に関連して以下に述
べる詳細な説明より明らかになろう6 [実施例] 第1図において、本発明の並列処理システム9は、複数
の同一の独立したネイバーフッドプロセッサユニット1
0a〜1onから成るアレイ10と、シングルビットワ
イドメモリ13a〜13nから成る付属アレイ13とか
ら構成されている。各プロセッサユニットにはそれぞれ
1つの1ビットコラムX複数列のメモリが付随されてい
る0例えば、上記プロセッサユニット10iには上記メ
モリ13iが付随している。プロセッサユニットは複数
グループ描かれており、各グループは8個のプロセッサ
ユニット、例えば10a〜10hから成る。同様に各グ
ループ8プロセッサユニットから成る上記複数グループ
に付随するメモリのアレイ13は、好ましくはバイトワ
イドメモリから構成され、このアレイ13も又複数グル
ープ描かれ、1グループは8個のメモリ、例えばi3a
〜13hから成る6例えばネイバーフッドプロセッサユ
ニット10b〜10nは、ネイバーリングデータを自分
自身のすぐ左又は右側のプロセッサユニットからライン
11;〜11nを通して受け取る。各ネイバーフッドプ
ロセッサユニット10a〜10nは、また双方向データ
転送ライン12a〜12nによって接続された上記メモ
リ13a〜13nに接続している。データ入力装置20
はライン21aを介して第1の上記プロセッサユニット
10aに−流れ(ストリーム)のデータを与える。
データはプロセッサユニット内のシフトレジスタで保持
され、出力はデータシフトライン211〜21nを介し
連続するプロセッサユニットに移る。
され、出力はデータシフトライン211〜21nを介し
連続するプロセッサユニットに移る。
データは上記プロセッサユニット10a〜10n内のシ
フトレジスタの鎖を通ってシフトされる。そしてそのデ
ータはデータライン21pを通って出力装置22へ出力
される。ホストコンピュータ(上位計算elり25はコ
ントローリング信号をライン26を介してコントローラ
27へ送る。ホストコンピュータ25とコントローラ2
7の両者とも、データを8個のプロセッサユニットから
なる各グループ10a〜10nへライン15を介して送
り或いは受け取る。ホストコンピュータ25は、コント
ロールライン17を介してアドレス選択ユニット(セレ
クタ)18に接続されており、コントロールライン17
の上の信号に基づくインストラクションにより、E記セ
レクタ18は、16本のパラレルビットライン321を
介してコントローラ27からアドレス信号を16ビット
出カライン19に送り出すか、又は16ビットライン3
22を介してホストコンピュータ25からアドレス信号
を16ビット出カライン19へ送るようにする616ビ
ットアドレスラインである上記ライン19は2つの8ビ
ットラインに分けて示してあり、即ち下位アドレスバイ
トライン14と上位アドレスバイトライン23である。
フトレジスタの鎖を通ってシフトされる。そしてそのデ
ータはデータライン21pを通って出力装置22へ出力
される。ホストコンピュータ(上位計算elり25はコ
ントローリング信号をライン26を介してコントローラ
27へ送る。ホストコンピュータ25とコントローラ2
7の両者とも、データを8個のプロセッサユニットから
なる各グループ10a〜10nへライン15を介して送
り或いは受け取る。ホストコンピュータ25は、コント
ロールライン17を介してアドレス選択ユニット(セレ
クタ)18に接続されており、コントロールライン17
の上の信号に基づくインストラクションにより、E記セ
レクタ18は、16本のパラレルビットライン321を
介してコントローラ27からアドレス信号を16ビット
出カライン19に送り出すか、又は16ビットライン3
22を介してホストコンピュータ25からアドレス信号
を16ビット出カライン19へ送るようにする616ビ
ットアドレスラインである上記ライン19は2つの8ビ
ットラインに分けて示してあり、即ち下位アドレスバイ
トライン14と上位アドレスバイトライン23である。
下位アドレスバイトライン14は8プロセッサユニット
の各グループ10a〜10nに接続されており、上記ユ
ニットtOa〜10hはその中の1例である。8個のプ
ロセッサユニットの各グループ(10a〜10h)は、
例えば8ビットライン28a〜28nを介して、随伴さ
れた上記メモリ13a〜13hに接続している。8ビッ
トライン28a〜28nのビットは上記メモリ13a〜
13hに対し下位アドレスバイトラインとして作用する
。上位アドレスバイトライン23は8個のメモリから成
る各グループ(13a〜13n)に接続されている。プ
ロセッサユニット108〜Ionの全てのグループは、
タロツク及び制御信号をコントローラ27から制御ライ
ン29を介して受け取る。
の各グループ10a〜10nに接続されており、上記ユ
ニットtOa〜10hはその中の1例である。8個のプ
ロセッサユニットの各グループ(10a〜10h)は、
例えば8ビットライン28a〜28nを介して、随伴さ
れた上記メモリ13a〜13hに接続している。8ビッ
トライン28a〜28nのビットは上記メモリ13a〜
13hに対し下位アドレスバイトラインとして作用する
。上位アドレスバイトライン23は8個のメモリから成
る各グループ(13a〜13n)に接続されている。プ
ロセッサユニット108〜Ionの全てのグループは、
タロツク及び制御信号をコントローラ27から制御ライ
ン29を介して受け取る。
第2図は、1つのプロセッサユニット30のブロック図
を示しており、上記プロセッサユニット108〜10n
のうちの1つを代表している。プロセッサユニット30
は右隣り又は左隣りの同じプロセッサユニットへの外部
接続ラインを有している。
を示しており、上記プロセッサユニット108〜10n
のうちの1つを代表している。プロセッサユニット30
は右隣り又は左隣りの同じプロセッサユニットへの外部
接続ラインを有している。
プロセッサユニット30の右側の接続ライン36〜38
及び41〜44は、例えば第1図に示すプロセッサユニ
ット10a〜10nのうちの1つに付随している接続ラ
イン11i等の右側の接続ラインに相当する。同様に、
プロセッサユニット30の左側の接続ライン34〜36
及び41.43.45゜47は、第1図に示した上記プ
ロセッサユニットの1つに付随している、例えば接続ラ
イン11a等の左側接続ラインに相当する。又、第2図
のI10データ接続ライン21e及び21fは第1図の
データシフトライン21a〜2ipのうち結合されてい
る左右のデータシフトラインの各一対に相当する。
及び41〜44は、例えば第1図に示すプロセッサユニ
ット10a〜10nのうちの1つに付随している接続ラ
イン11i等の右側の接続ラインに相当する。同様に、
プロセッサユニット30の左側の接続ライン34〜36
及び41.43.45゜47は、第1図に示した上記プ
ロセッサユニットの1つに付随している、例えば接続ラ
イン11a等の左側接続ラインに相当する。又、第2図
のI10データ接続ライン21e及び21fは第1図の
データシフトライン21a〜2ipのうち結合されてい
る左右のデータシフトラインの各一対に相当する。
即ち、メモリデータである上記ライン12eは第1図の
結合データ転送ライン12a〜12nの1本に相当し、
ホストデータ接続ライン15eは、第1図のデータバイ
トライン15を構成する8ビットラインの1本に相当す
る。
結合データ転送ライン12a〜12nの1本に相当し、
ホストデータ接続ライン15eは、第1図のデータバイ
トライン15を構成する8ビットラインの1本に相当す
る。
左側におけるプロセッサセル31への接続ラインは、キ
ャリ・イン・ライン34、ウェスト入力ネイバーライン
35及びミドルセル出力ライン36であり、出力ライン
36はすぐ左の典型的゛なプロセッサへのイーストネイ
バー人力部として作用する。プロセッサセル31の右側
の接続ラインは、キャリーアウトライン37、イースト
・ネイバー人カライン38及びミドルセル出力ライン3
6であり、出力ライン36はすぐ右の典型的なプロセッ
サへのウエストネイバ入力部として作用する。プロセッ
サセル31への及びそれからの前記接続ラインの機能及
び目的は、プロセッサセルの後述する詳細な説明により
明らかにする。
ャリ・イン・ライン34、ウェスト入力ネイバーライン
35及びミドルセル出力ライン36であり、出力ライン
36はすぐ左の典型的゛なプロセッサへのイーストネイ
バー人力部として作用する。プロセッサセル31の右側
の接続ラインは、キャリーアウトライン37、イースト
・ネイバー人カライン38及びミドルセル出力ライン3
6であり、出力ライン36はすぐ右の典型的なプロセッ
サへのウエストネイバ入力部として作用する。プロセッ
サセル31への及びそれからの前記接続ラインの機能及
び目的は、プロセッサセルの後述する詳細な説明により
明らかにする。
16ビットアキユムレータ51は2つの同じセクション
から成る。即ち、アキュムレータ上位バイトレジスタ5
4と、アキュムレータ下位バイトレジスタ55とから成
る。上記アキュムレータ51は、4つの異なった機能を
有する。即ち、第1は16ビット双方向パラレルイン、
第2は16ビット双方向パラレルアウト、第3はライン
40を介して一方向シリアル入力を受ける16ビットシ
フトレジスタ、第4はライン63を介して一方向シリア
ル入力を受ける16ビットシフトレジスタの機能である
。16本の入力接続ラインは8ビットライン45.47
で、また16本の出力接続ラインは8ビットライン41
.43で構成されている。上記ラインの2つの組は、そ
れぞれデータをイースト(東)へライン43を介してシ
フトすると共に、データをウェスト(西)からライン4
5.47を介して、受け取るための上記アキュムレータ
51、即ち、結合された16段シフトレジスタのパラレ
ルイン−パラレルアウトボートとして供される。同様に
、8ビットライン42゜44から成る16本の入力接続
ラインと、8ビットライン41.43から成る16本の
出力接続ラインの2つの接続ラインの組は、それぞれそ
の中のデータをウェスト(ライン41.43を介して)
ヘシフトすると共に、その中のデータをイースト(ライ
ン42.44を介して)から受ける上記アキュムレータ
51、即ち、結合シフトレジスタのパラレルイン−パラ
レルアウトボートとして作用する。ライン41〜44は
、すぐイースト隣りのプロセッサユニット30内の同様
のアキュムレータに接続している。ライン45.41.
47゜43はすぐウェスト隣りのプロセッサユニット内
の同様なアキュムレータに接続している。アキュムレー
タ下位バイトレジスタ55もまたメモリデータラインで
ある上記ライン12eに接続されており、上記ライン1
2eはレジスタへの入力として供され、レジスタ55に
よって接続されたデータの値をインクレメントするにと
ができる。ライン53上のレジスタ55のキャリーアウ
ト信号は。
から成る。即ち、アキュムレータ上位バイトレジスタ5
4と、アキュムレータ下位バイトレジスタ55とから成
る。上記アキュムレータ51は、4つの異なった機能を
有する。即ち、第1は16ビット双方向パラレルイン、
第2は16ビット双方向パラレルアウト、第3はライン
40を介して一方向シリアル入力を受ける16ビットシ
フトレジスタ、第4はライン63を介して一方向シリア
ル入力を受ける16ビットシフトレジスタの機能である
。16本の入力接続ラインは8ビットライン45.47
で、また16本の出力接続ラインは8ビットライン41
.43で構成されている。上記ラインの2つの組は、そ
れぞれデータをイースト(東)へライン43を介してシ
フトすると共に、データをウェスト(西)からライン4
5.47を介して、受け取るための上記アキュムレータ
51、即ち、結合された16段シフトレジスタのパラレ
ルイン−パラレルアウトボートとして供される。同様に
、8ビットライン42゜44から成る16本の入力接続
ラインと、8ビットライン41.43から成る16本の
出力接続ラインの2つの接続ラインの組は、それぞれそ
の中のデータをウェスト(ライン41.43を介して)
ヘシフトすると共に、その中のデータをイースト(ライ
ン42.44を介して)から受ける上記アキュムレータ
51、即ち、結合シフトレジスタのパラレルイン−パラ
レルアウトボートとして作用する。ライン41〜44は
、すぐイースト隣りのプロセッサユニット30内の同様
のアキュムレータに接続している。ライン45.41.
47゜43はすぐウェスト隣りのプロセッサユニット内
の同様なアキュムレータに接続している。アキュムレー
タ下位バイトレジスタ55もまたメモリデータラインで
ある上記ライン12eに接続されており、上記ライン1
2eはレジスタへの入力として供され、レジスタ55に
よって接続されたデータの値をインクレメントするにと
ができる。ライン53上のレジスタ55のキャリーアウ
ト信号は。
インクシフトし、ているプロセスのオーバフローしてい
るレジスタ55を上位バイトアキュムレータレジスタ5
4へのキャリー用として作用する。ライン62はアキュ
ムレータ上位バイトレジスタ54からのシリアルシフト
出力ラインである。前述のシリアルシフト動作の間、セ
レクタユニット60は、制御ラインC0N1からの信号
を受けて、ライン62或いはライン12eの論理状態(
O又は1)を選択出力ライン63に通過させ、アキエム
レータ下位バイトレジスタ55のシリアル入力へ接続す
る。従って、シリアルシフト動作の間、アキュムレータ
下位バイトレジスタ55へのシリアル入力が、メモレゾ
−タラインである上記ライン12eから或いはアキュム
レータ上位バイトレジスタ54のシリアル出力用のライ
ン62から得られることは明らかである。アキュムレー
タ54.55の上述の4つの機能のいずれもコマンドラ
インCON2から得られたインストラクションによって
選ばれ、それぞれのラインC[に1及びCLK2を介し
てクロ・yり信号を受けて駆動される。アキュムレータ
とその機能のより詳しい記述は後にされる。
るレジスタ55を上位バイトアキュムレータレジスタ5
4へのキャリー用として作用する。ライン62はアキュ
ムレータ上位バイトレジスタ54からのシリアルシフト
出力ラインである。前述のシリアルシフト動作の間、セ
レクタユニット60は、制御ラインC0N1からの信号
を受けて、ライン62或いはライン12eの論理状態(
O又は1)を選択出力ライン63に通過させ、アキエム
レータ下位バイトレジスタ55のシリアル入力へ接続す
る。従って、シリアルシフト動作の間、アキュムレータ
下位バイトレジスタ55へのシリアル入力が、メモレゾ
−タラインである上記ライン12eから或いはアキュム
レータ上位バイトレジスタ54のシリアル出力用のライ
ン62から得られることは明らかである。アキュムレー
タ54.55の上述の4つの機能のいずれもコマンドラ
インCON2から得られたインストラクションによって
選ばれ、それぞれのラインC[に1及びCLK2を介し
てクロ・yり信号を受けて駆動される。アキュムレータ
とその機能のより詳しい記述は後にされる。
16本のアキュムレータ出力ライン41.43のうちい
ずれか1本が制御ラインC0N3からのインストラクシ
ョンによってセレクタ50により選択された1つのアキ
ュムレータラインの論理状態(0又は1)がライン52
に供給され、それがプロセッザセル31及び出力セレク
タユニット33への入力となる。
ずれか1本が制御ラインC0N3からのインストラクシ
ョンによってセレクタ50により選択された1つのアキ
ュムレータラインの論理状態(0又は1)がライン52
に供給され、それがプロセッザセル31及び出力セレク
タユニット33への入力となる。
出力セレクタ33に接続されるのは、入力信号15e、
56.’52,71,72.73.74である。
56.’52,71,72.73.74である。
制御ラインC0N3から受け取られたインストラクショ
ンに基づき、セレクタ33は、これら7つの入力信号の
うちの1つの論理状態を運び且つそれを出力ライン70
へ送出する。ライン70は制御ラインC0N6によって
制御されるスリースティトゲート76へ接続されている
。出力ライン70上の論理信号は、メモリデータライン
としての上記ライン12cへ移され、もしゲート76の
出力か制御ラインC0N6に供給された適当なインスト
ラクションによってエナーブルならば、メモリ13e中
に書き込まれる。もし制御ラインC0NG上のインスト
ラクションがゲート76に不動状態をとるように命令す
ると、ゲートの出力は高インピーダンス状態にスイッチ
され、従ってメモリ13eはライン12eにアクセスで
き、データを書き込むことが可能となる。基本的には同
じように、各プロセッサユニット108〜10nに接続
された7個の異なったデータ源からのデータが複数のメ
モリ13a〜13nのそれぞれのメモリ内へ書き込まれ
る。これらの7つのデータ源は、 (1)ライン15eを介してホストデータバスからのデ
ータ、 (2)ライン56を介してI10ユニット32からのデ
ータ、 (3)ライン52を介してアキュムレータ出力セレクタ
50による、アキュムレータ51からの選択出力からの
データ、 (4)ライン71を介した“コンディション”信号から
のデータ、 (5)ライン72を介した“ファンクション”信号から
のデータ、 (6)ライン73を介した“キャリーレジスタ”信号か
らのデータ、 (7)ライン74を介した“トランスポーズ(転置)“
信号からのデータである。
ンに基づき、セレクタ33は、これら7つの入力信号の
うちの1つの論理状態を運び且つそれを出力ライン70
へ送出する。ライン70は制御ラインC0N6によって
制御されるスリースティトゲート76へ接続されている
。出力ライン70上の論理信号は、メモリデータライン
としての上記ライン12cへ移され、もしゲート76の
出力か制御ラインC0N6に供給された適当なインスト
ラクションによってエナーブルならば、メモリ13e中
に書き込まれる。もし制御ラインC0NG上のインスト
ラクションがゲート76に不動状態をとるように命令す
ると、ゲートの出力は高インピーダンス状態にスイッチ
され、従ってメモリ13eはライン12eにアクセスで
き、データを書き込むことが可能となる。基本的には同
じように、各プロセッサユニット108〜10nに接続
された7個の異なったデータ源からのデータが複数のメ
モリ13a〜13nのそれぞれのメモリ内へ書き込まれ
る。これらの7つのデータ源は、 (1)ライン15eを介してホストデータバスからのデ
ータ、 (2)ライン56を介してI10ユニット32からのデ
ータ、 (3)ライン52を介してアキュムレータ出力セレクタ
50による、アキュムレータ51からの選択出力からの
データ、 (4)ライン71を介した“コンディション”信号から
のデータ、 (5)ライン72を介した“ファンクション”信号から
のデータ、 (6)ライン73を介した“キャリーレジスタ”信号か
らのデータ、 (7)ライン74を介した“トランスポーズ(転置)“
信号からのデータである。
I10ユニット32は、8ビット・一方向・パラレルイ
ン・パラレルアウト・シリアルイン・シリアルアウト・
レジスタである。パラレル入力は8本の入力ライン21
eから受ける。パラレル出力は8木のライン21fに移
される。ライン21e及び21fは第1図に示すライン
21a〜2inの代表的な例であり、それぞれ最も近い
イースト及びウェストのプロセッサユニットに接続され
ている。I10ユニット32へのシリアルイン信号はメ
モリデータラインとしての上記ライン12eから得られ
る。
ン・パラレルアウト・シリアルイン・シリアルアウト・
レジスタである。パラレル入力は8本の入力ライン21
eから受ける。パラレル出力は8木のライン21fに移
される。ライン21e及び21fは第1図に示すライン
21a〜2inの代表的な例であり、それぞれ最も近い
イースト及びウェストのプロセッサユニットに接続され
ている。I10ユニット32へのシリアルイン信号はメ
モリデータラインとしての上記ライン12eから得られ
る。
I10ユニット32からのシリアル出力信号は、ライン
56を通って出力セレクタ33へ出力される。パラレル
或いはシリアルシフト機能のどちらかが制御ラインC0
N4上のインストラクションによって選択され、該イン
ストラクションはラインCしに3上のクロック信号を受
けるとI10ユニット32内ヘクロックインされる2 データ入力 本発明のシステム9により処理される入力データは、デ
ータ源20即ちデータ入力装置から来る(第1図参照)
が、好ましくはラスタースキャンフォーマットの形、即
ち入力データがHの連続的なデータ列のストリームの形
を呈しており、各列がnデータバイトの長さを有してい
る形か好ましい。従って、処理されるデータがH列の高
さとnバイト幅Wとを有するデータマトリックを構成し
ていることが判る。システム9は、列毎に、例えばCC
Dスキャン装置等の固体画像化装置の出力バッファから
入って来るデータを受け入れる。このデータの流れは、
ライン21aを介してI10シフトレジスタ32のパラ
レルイン入力へ運ばれる。
56を通って出力セレクタ33へ出力される。パラレル
或いはシリアルシフト機能のどちらかが制御ラインC0
N4上のインストラクションによって選択され、該イン
ストラクションはラインCしに3上のクロック信号を受
けるとI10ユニット32内ヘクロックインされる2 データ入力 本発明のシステム9により処理される入力データは、デ
ータ源20即ちデータ入力装置から来る(第1図参照)
が、好ましくはラスタースキャンフォーマットの形、即
ち入力データがHの連続的なデータ列のストリームの形
を呈しており、各列がnデータバイトの長さを有してい
る形か好ましい。従って、処理されるデータがH列の高
さとnバイト幅Wとを有するデータマトリックを構成し
ていることが判る。システム9は、列毎に、例えばCC
Dスキャン装置等の固体画像化装置の出力バッファから
入って来るデータを受け入れる。このデータの流れは、
ライン21aを介してI10シフトレジスタ32のパラ
レルイン入力へ運ばれる。
バイトの第1列のデータは2つのステップでシステムに
入力される。ステップ1:上記第1列のデータの流れが
全プロセッサユニット10a〜10nの全I10シフト
レジスタ32に完全に記憶されるまで、コントローラ2
7が全I10シフトレジスタ32をイーストへ動機的に
n回りロックする。
入力される。ステップ1:上記第1列のデータの流れが
全プロセッサユニット10a〜10nの全I10シフト
レジスタ32に完全に記憶されるまで、コントローラ2
7が全I10シフトレジスタ32をイーストへ動機的に
n回りロックする。
ステップ2:バイトの第1列からのビットの第1列はそ
れぞれのライン56を介し全I10シフトレジスタ32
から読み出され、出力セレクタ33及びゲート76を介
し、メモリデータライン12a〜12nへ移される。こ
の読み出し動作の一部として、コントローラ 27はラ
イン21、アドレスセレクタ18、アドレスライン1つ
を介しく第1図参照)、メモリ 13a〜13nへ所望
のアドレスを供給する。同様に、コントローラ27によ
り、メモリ13a〜13nへ更に連続的にアドレスを供
給することによって、バイトの第1列からの他の7つの
ビット列が記憶される一方、I10シフトレジスタ32
をシリーズ的にラインCLK3とC0N4を介して同期
的にクロックさせるので、ビットの連続的な列がライン
56へ読み出される。上述の2つのプロセスはデータマ
トリックスの全ての連続する列がデータ入力装r!1.
20からメモリ13a〜13nへ送られるまで、繰り返
される。
れぞれのライン56を介し全I10シフトレジスタ32
から読み出され、出力セレクタ33及びゲート76を介
し、メモリデータライン12a〜12nへ移される。こ
の読み出し動作の一部として、コントローラ 27はラ
イン21、アドレスセレクタ18、アドレスライン1つ
を介しく第1図参照)、メモリ 13a〜13nへ所望
のアドレスを供給する。同様に、コントローラ27によ
り、メモリ13a〜13nへ更に連続的にアドレスを供
給することによって、バイトの第1列からの他の7つの
ビット列が記憶される一方、I10シフトレジスタ32
をシリーズ的にラインCLK3とC0N4を介して同期
的にクロックさせるので、ビットの連続的な列がライン
56へ読み出される。上述の2つのプロセスはデータマ
トリックスの全ての連続する列がデータ入力装r!1.
20からメモリ13a〜13nへ送られるまで、繰り返
される。
立二叉ユニ
システム9によるデータマトリックスの処理後の結果は
、I10シフトレジスタ32を通って、次の2ステツプ
のプロセスにより出力される。この2ステツプから成る
プロセスは、上述のデータ入力で述べたプロセスの反対
であり、次のようなものである。
、I10シフトレジスタ32を通って、次の2ステツプ
のプロセスにより出力される。この2ステツプから成る
プロセスは、上述のデータ入力で述べたプロセスの反対
であり、次のようなものである。
ステップ1;第1にコントローラ27(第1図)は、ラ
イン21、セレクタ18.アドレスライン19を介し、
メモリ13a〜13nへ出力されるべ、きデータビット
の望ましい第1列のアドレスを供給し、これにより、指
定されたメモリアドレスのビットの列が、I10シフト
レジスタンス32のシリアル入力へクロックアップされ
る。
イン21、セレクタ18.アドレスライン19を介し、
メモリ13a〜13nへ出力されるべ、きデータビット
の望ましい第1列のアドレスを供給し、これにより、指
定されたメモリアドレスのビットの列が、I10シフト
レジスタンス32のシリアル入力へクロックアップされ
る。
ステップ2;次にコントローラ27は、トータルn回I
10シフトレジスタ32をクロックし、これにより、デ
ータの8ビットがライン21b〜21pを介しイースト
ヘシフトされる。
10シフトレジスタ32をクロックし、これにより、デ
ータの8ビットがライン21b〜21pを介しイースト
ヘシフトされる。
その結果、データビットの8列を構成するデータバイト
の全第1列がライン2ipを介して出力デバイス22へ
入る。上記の2ステツプから成るプロセスは、データマ
トリックスの全ての望まれた列がメモリ13a〜13n
からデータ出力デバイス22へ移送されるまで繰り返さ
れる。
の全第1列がライン2ipを介して出力デバイス22へ
入る。上記の2ステツプから成るプロセスは、データマ
トリックスの全ての望まれた列がメモリ13a〜13n
からデータ出力デバイス22へ移送されるまで繰り返さ
れる。
メモリ13eからのデータは、ラインC0N7からゲー
ト78によって受け取られる制御信号により、スリース
テートゲート78を作動或いはイネーブルすることによ
ってホストデータバスライン15eに伝えられる。同様
に、データはホストコンピュータ25とメモリ13a〜
13nのどれとの間でも直接読み出され或いは書き込ま
れる。
ト78によって受け取られる制御信号により、スリース
テートゲート78を作動或いはイネーブルすることによ
ってホストデータバスライン15eに伝えられる。同様
に、データはホストコンピュータ25とメモリ13a〜
13nのどれとの間でも直接読み出され或いは書き込ま
れる。
さて、第3図を参照するに、ここにはプロセッサセル3
1の詳細がブロック図で示されており、幾つかの論理ゲ
ート、フリップフロップ、セレクタ、マルチプレクサが
描かれている。外部コマンド信号は、前綴りCHDでラ
ベル付けをされたラインに受け取られ、クロ信号は同様
に前綴りC[にでラベル付けされたラインに受け取られ
る(他の外部信号ラインは他の図で用いらなものと同じ
符号で示しである)。プロセッサセル31はそれが受け
取るコマンド信号の組み合せに基づき種々の機能状態に
置かれ得る。これによりプロセ・・lサセル31は、種
々の処理機能を行うことができ、その各機能は以下にそ
の詳細が述べられる。
1の詳細がブロック図で示されており、幾つかの論理ゲ
ート、フリップフロップ、セレクタ、マルチプレクサが
描かれている。外部コマンド信号は、前綴りCHDでラ
ベル付けをされたラインに受け取られ、クロ信号は同様
に前綴りC[にでラベル付けされたラインに受け取られ
る(他の外部信号ラインは他の図で用いらなものと同じ
符号で示しである)。プロセッサセル31はそれが受け
取るコマンド信号の組み合せに基づき種々の機能状態に
置かれ得る。これによりプロセ・・lサセル31は、種
々の処理機能を行うことができ、その各機能は以下にそ
の詳細が述べられる。
ネイバーフッド2算 理
ネイバーフッド演算処理は数又は要素の全マトリックス
の変換処理であり、そこにおけるマトリックスの各要素
の変換は独立変数として要素の近接ネイバーを用いるも
のであることが良く知られている。システム9を用いて
ネイバーフッド演算処理を行う為には、次のような3つ
のステップが必要とれさる。第1に、データは付随メモ
リ13a−130からプロセッサユニット10a−Io
nへ読込まれなければならない。上記ユニットはそれぞ
れ変換されるべき要素の水平及び垂直方向において最も
近いネイバーデータを保持するのに十分なオン・ボード
・ストレージ(搭載記憶装置)を備えており、それは各
プロセッサユニットに付随されるのが通常である。第2
にプロセッサユニットは幾つかの特定のインストラクシ
ョンに基づきネイバーリングデータの変換を計算し、そ
のデータを修正する。第3に、その修正されたデータは
付随メモリ13a−13nへ書込み戻される。これら3
つのステップはそれぞれ読込サブサイクル、修正サブサ
イクル及び書込サブサイクルと呼ばれる。この3つのス
テップのシーケンスは読込−修正−書込サイクルと呼ば
れ、幾つかの特定のアルゴリズムに基づき、全てのデー
タを完全に処理するまで何回も繰返される。
の変換処理であり、そこにおけるマトリックスの各要素
の変換は独立変数として要素の近接ネイバーを用いるも
のであることが良く知られている。システム9を用いて
ネイバーフッド演算処理を行う為には、次のような3つ
のステップが必要とれさる。第1に、データは付随メモ
リ13a−130からプロセッサユニット10a−Io
nへ読込まれなければならない。上記ユニットはそれぞ
れ変換されるべき要素の水平及び垂直方向において最も
近いネイバーデータを保持するのに十分なオン・ボード
・ストレージ(搭載記憶装置)を備えており、それは各
プロセッサユニットに付随されるのが通常である。第2
にプロセッサユニットは幾つかの特定のインストラクシ
ョンに基づきネイバーリングデータの変換を計算し、そ
のデータを修正する。第3に、その修正されたデータは
付随メモリ13a−13nへ書込み戻される。これら3
つのステップはそれぞれ読込サブサイクル、修正サブサ
イクル及び書込サブサイクルと呼ばれる。この3つのス
テップのシーケンスは読込−修正−書込サイクルと呼ば
れ、幾つかの特定のアルゴリズムに基づき、全てのデー
タを完全に処理するまで何回も繰返される。
拡販R込皇1
最も近いネイバ処理を含む計算の間、第1の読込み動作
により、信号ビットデータの完全なラインが、第1図に
示すように、メモリ13a−13nからライン12a−
12nを介し、プロセッサユニット10a−10nへと
読込まれる。読込まれるデータは、一時的な記憶の為、
クロック信号C[に4の制御の下に、それぞれのプロセ
ッサユニットの7ソツプフロツグ内にロードされる。第
3図に描かれているサウス(甫)フリップ70ツブ81
はその1つの典型である。フリップフロップ内の各デー
タは、上記メモリ13a−13nに格納されたマトリッ
クスの第1ビット列内のそれぞれ1つのビットに相当す
る。隣りのビット列の第2読込動作は、ラインCLKA
上の別のクロック信号に基づき、フリヅ1フロ・yグ8
1内に格納された第1ビットをミドル(中央)フリップ
フロップ82ヘシフトアツプせしめ、一方、データの第
2ビットがフリップフロップ81を占有する。その後の
全ての読込み動作は読込サブサイクルと呼ばれる。この
初期読込動作はしばしば「パイプライン方式」と称され
る。
により、信号ビットデータの完全なラインが、第1図に
示すように、メモリ13a−13nからライン12a−
12nを介し、プロセッサユニット10a−10nへと
読込まれる。読込まれるデータは、一時的な記憶の為、
クロック信号C[に4の制御の下に、それぞれのプロセ
ッサユニットの7ソツプフロツグ内にロードされる。第
3図に描かれているサウス(甫)フリップ70ツブ81
はその1つの典型である。フリップフロップ内の各デー
タは、上記メモリ13a−13nに格納されたマトリッ
クスの第1ビット列内のそれぞれ1つのビットに相当す
る。隣りのビット列の第2読込動作は、ラインCLKA
上の別のクロック信号に基づき、フリヅ1フロ・yグ8
1内に格納された第1ビットをミドル(中央)フリップ
フロップ82ヘシフトアツプせしめ、一方、データの第
2ビットがフリップフロップ81を占有する。その後の
全ての読込み動作は読込サブサイクルと呼ばれる。この
初期読込動作はしばしば「パイプライン方式」と称され
る。
9゛み プ イクル
次の近接データ列にアクセスする第3読込動作は、同様
に、またデータをシフトさせる結果、フリップフロップ
のグループ81,82.83は3つの近接シングルビッ
トデータ列からのビットを有する。その後の読込サブサ
イクルにより3つの近接データビットの次の組がこのフ
リップフロップの組を占有するようになる。従って、フ
リップフロップ81〜83は、ノース(北)及びサウス
(南)方向での成る特定の列に対する最も近いネイバー
データの組を有することになる。当業者には明らかなよ
うに、第3図のプロセッサセル31のすぐ左及び右隣り
のネイバーリングプロセッサセル31は、第3図のプロ
セッサセルのイースト及びウエストネイバーに相当する
データビットを含み、ミドルフリップフロップ82から
の出力ライン36は、第3図のセルの右及び左隣りのプ
ロセッサセルに対するイースト及びウエストネイバーの
状態をそれぞれ与える。
に、またデータをシフトさせる結果、フリップフロップ
のグループ81,82.83は3つの近接シングルビッ
トデータ列からのビットを有する。その後の読込サブサ
イクルにより3つの近接データビットの次の組がこのフ
リップフロップの組を占有するようになる。従って、フ
リップフロップ81〜83は、ノース(北)及びサウス
(南)方向での成る特定の列に対する最も近いネイバー
データの組を有することになる。当業者には明らかなよ
うに、第3図のプロセッサセル31のすぐ左及び右隣り
のネイバーリングプロセッサセル31は、第3図のプロ
セッサセルのイースト及びウエストネイバーに相当する
データビットを含み、ミドルフリップフロップ82から
の出力ライン36は、第3図のセルの右及び左隣りのプ
ロセッサセルに対するイースト及びウエストネイバーの
状態をそれぞれ与える。
1皿1エニエヱ西
ネイバーフyド処理の際、セレクタ85はコマンドライ
ンCHDI上の信号によりインストラクトされ、ライン
35上のウエストネイバー信号を出力ライン86へ通過
させる。出力ライン86は、信号をキャリーCマルチプ
レクサ87及びサムSマルチプレクサ88の第1アドレ
ス入力へ引渡す。
ンCHDI上の信号によりインストラクトされ、ライン
35上のウエストネイバー信号を出力ライン86へ通過
させる。出力ライン86は、信号をキャリーCマルチプ
レクサ87及びサムSマルチプレクサ88の第1アドレ
ス入力へ引渡す。
同時にセレクタ89は、コマンドラインCHD2上の信
号によりインストラクトされ、ライン39上のイースト
ネイバー信号を出力ライン90へ通す。
号によりインストラクトされ、ライン39上のイースト
ネイバー信号を出力ライン90へ通す。
出力ライン90は信号を上記マルチプレクサ87及び8
8の第2アドレス入力へ引渡す、サウスネイバーの倫理
状態は、フリップフロップ81によりライン91へ出力
され、マルチプレクサ87及び88の第3アドレス入力
へ引渡される。コマンドラインCHD3は論理「1」に
セットされており、ANDゲート92はその良く知られ
た特性によりライン93上の信号をライン94へ効果的
に移す。
8の第2アドレス入力へ引渡す、サウスネイバーの倫理
状態は、フリップフロップ81によりライン91へ出力
され、マルチプレクサ87及び88の第3アドレス入力
へ引渡される。コマンドラインCHD3は論理「1」に
セットされており、ANDゲート92はその良く知られ
た特性によりライン93上の信号をライン94へ効果的
に移す。
これが、ノースフリップフロップ83により出力された
ノースネイバーの論理状態であり、マルチプレクサ95
のアドレス入力へ送られる。もし、マルチプレクサ95
のアドレス入力へ接続されているライン94が論理「1
」ならば、マルチプレフサ95はライン96上の信号(
マルチプレクサ87からの出力)をその出力ポート及び
ライン98へ通過させる。もし、このアドレス入力が論
理「0」であるならば、マルチプレクサ95はライン9
7上の信号(マルチプレクサ88の出力)をその出力ポ
ート及びライン98へ通過させる。
ノースネイバーの論理状態であり、マルチプレクサ95
のアドレス入力へ送られる。もし、マルチプレクサ95
のアドレス入力へ接続されているライン94が論理「1
」ならば、マルチプレフサ95はライン96上の信号(
マルチプレクサ87からの出力)をその出力ポート及び
ライン98へ通過させる。もし、このアドレス入力が論
理「0」であるならば、マルチプレクサ95はライン9
7上の信号(マルチプレクサ88の出力)をその出力ポ
ート及びライン98へ通過させる。
当業者には第3図のマルチプレクサ87.88及び95
の配列が、2レベルマルチプレクサを構成していること
が判るであろう、その2レベルマルチグレクサでは、マ
ルチプレクサ87.88が第ルベル、マルチプレクサ9
5が第2レベルである。この2レベルマルチプレクサの
協働してなす動作は16個のとり得る状態を有する「真
理値表」の動作と同一である。この真理値表の論理値は
、それぞれ8本のラインから成るコマンドライン入力C
HD4及びCHD5の状態から引出される。マルチプレ
クサ87及び88の出力として選択される成るコマンド
ライン入力は、そのアドレス入力の状態によって決定さ
れる。マルチプレクサ87.88及び95のアドレス入
力へ与えられるアドレスはミドルフリップフロ7プ82
の状態に対するノース、サウス、イースト及びウエスト
ネイバーの状態を表わす信号から引出されるので、ライ
ン98上の出力信号が、論理状態の上述のネイバーフッ
ドの一般的な真理値表の変m結果を代表していることは
明らかである。
の配列が、2レベルマルチプレクサを構成していること
が判るであろう、その2レベルマルチグレクサでは、マ
ルチプレクサ87.88が第ルベル、マルチプレクサ9
5が第2レベルである。この2レベルマルチプレクサの
協働してなす動作は16個のとり得る状態を有する「真
理値表」の動作と同一である。この真理値表の論理値は
、それぞれ8本のラインから成るコマンドライン入力C
HD4及びCHD5の状態から引出される。マルチプレ
クサ87及び88の出力として選択される成るコマンド
ライン入力は、そのアドレス入力の状態によって決定さ
れる。マルチプレクサ87.88及び95のアドレス入
力へ与えられるアドレスはミドルフリップフロ7プ82
の状態に対するノース、サウス、イースト及びウエスト
ネイバーの状態を表わす信号から引出されるので、ライ
ン98上の出力信号が、論理状態の上述のネイバーフッ
ドの一般的な真理値表の変m結果を代表していることは
明らかである。
変換信号98とミドルセル出力36はマルチプレクサ1
00の2つのアドレス入力に接続されている。これら2
つのアドレス入力の論理状態は、マルチプレクサ100
が受け取ったコマンドラインC0N5上の4つの入力信
号の内、いずれをマルチプレクサ100が選択してライ
ン101上の出力として与えられるかを決定する。マル
チプレクサ100は、従って、ミドルセル出力36及び
ライン98上のネイバーフッド変換結果との真理値表変
換を行う。
00の2つのアドレス入力に接続されている。これら2
つのアドレス入力の論理状態は、マルチプレクサ100
が受け取ったコマンドラインC0N5上の4つの入力信
号の内、いずれをマルチプレクサ100が選択してライ
ン101上の出力として与えられるかを決定する。マル
チプレクサ100は、従って、ミドルセル出力36及び
ライン98上のネイバーフッド変換結果との真理値表変
換を行う。
ライン101及びミドルセル出力36はセレクタ102
へ入力される。セレクタ102の選択動作は、ライン1
03上に供給された入力信号の状態によって制御される
。ライン103上の論理「0」はライン101上の信号
を選択及び通過せしめ、一方、ライン103上の論理「
1」はライン36上のミドルセルからの信号を選択せし
める。セレクタ102の出力は機能出力と呼ばれその論
理値はライン104へ引渡され或いは強制されて、「フ
ァンクション」フリラグフロップ105へ引渡され、そ
こでクロック信号C[に5の作動に伴いラッチされる。
へ入力される。セレクタ102の選択動作は、ライン1
03上に供給された入力信号の状態によって制御される
。ライン103上の論理「0」はライン101上の信号
を選択及び通過せしめ、一方、ライン103上の論理「
1」はライン36上のミドルセルからの信号を選択せし
める。セレクタ102の出力は機能出力と呼ばれその論
理値はライン104へ引渡され或いは強制されて、「フ
ァンクション」フリラグフロップ105へ引渡され、そ
こでクロック信号C[に5の作動に伴いラッチされる。
メモリデータライン12e上の信号は、クロック信号C
[に6の作動に伴い、「コンディション」フリップフロ
ップ80ヘラツチされる。フリラグフロップ80へ接続
されてその出力状態を支持する出力ライン106は、A
NDゲート107へ接続されている。コマンドラインC
HD7もまたANDゲート107へ接続されている。コ
ンディションフリップフロップ80 、 ANDゲート
107及びセレクタ102は、コンディショナル・イナ
ープル回路を全体として構成する。この回路においては
、上記コンディションフリップフロップ80の状態によ
り、ファンクションフリップフロップ105がライン1
01により決定されたセレクタ102のファンクション
出力の状態をラッチするか、或いは変換されていない状
態を代表するライン36を介して受け取ったミドルセル
の状態を用いるかが制御される。このコンディショナル
・イナープル動作は、従って、幾つかのプロセッサセル
31にコマンドラインCHD1〜CHDO上のネイバー
フッド変換インストラクションに従うことを選択的に許
す一方、他のセル31に同様な変換インストラクション
を効果的に無視するようにする手段を提供する。プロセ
ッサセル31の上記コンディショナル動作は、コマンド
ラインC0N5上の倫理「0」のコマンドにより不動作
とされる。
[に6の作動に伴い、「コンディション」フリップフロ
ップ80ヘラツチされる。フリラグフロップ80へ接続
されてその出力状態を支持する出力ライン106は、A
NDゲート107へ接続されている。コマンドラインC
HD7もまたANDゲート107へ接続されている。コ
ンディションフリップフロップ80 、 ANDゲート
107及びセレクタ102は、コンディショナル・イナ
ープル回路を全体として構成する。この回路においては
、上記コンディションフリップフロップ80の状態によ
り、ファンクションフリップフロップ105がライン1
01により決定されたセレクタ102のファンクション
出力の状態をラッチするか、或いは変換されていない状
態を代表するライン36を介して受け取ったミドルセル
の状態を用いるかが制御される。このコンディショナル
・イナープル動作は、従って、幾つかのプロセッサセル
31にコマンドラインCHD1〜CHDO上のネイバー
フッド変換インストラクションに従うことを選択的に許
す一方、他のセル31に同様な変換インストラクション
を効果的に無視するようにする手段を提供する。プロセ
ッサセル31の上記コンディショナル動作は、コマンド
ラインC0N5上の倫理「0」のコマンドにより不動作
とされる。
Δ込j1で江仁乙±
第2図を参照するに、ライン72上のファンクション出
力状態は、コマンドラインC0N5上のインストラクシ
ョンに基づき出力セレクタ33によって選択され、これ
によりメモリデータライン12eヘゲ−ドア6を通って
移され、メモリ13eへ書込れる。
力状態は、コマンドラインC0N5上のインストラクシ
ョンに基づき出力セレクタ33によって選択され、これ
によりメモリデータライン12eヘゲ−ドア6を通って
移され、メモリ13eへ書込れる。
ムニ土逍;
プール演3!(例えばコンビネーショナル論理演算)は
機能的にはネイバーフッド演算処理に類似しており、主
な相違は、データビットラインのいずれかの(任意の)
ラインが第3図に示すセル31のフリップフロップ81
,82.83及び84に書込まれ、ネイバーフッド演算
処理を実行するのに必要とされるデータマトリックスの
近接ビット列からの連続的なデータビットだけでないと
いう点である。プール演算は次のようにシステムリによ
って実行される。成る特定されたアルゴリズムに基づき
、第1図のコントローラ27はメモリ13a−13nを
アドレスし、4つのデータビット列に連続的に読込を行
わせる一方、ラインC[に4をクロックし、その結果プ
ロセッサセル31のフリップフロラ181〜84(これ
らは4段階シフトレジスタとして接続されている)は、
4つのデータ列を受け取り保持する。その後、セル31
のそれぞれは、次のように構成及び動作される。セレク
タ85はコマンドラインCHDI上の信号によりインス
トラクトされライン36上のミドルセル状態を出力ライ
ン86及びマルチプレクサ87及び88の第1アドレス
入力へ通す一方、セレクタ8つはコマンドラインCHD
2上の信号によりインストラクトされ、ライン109上
の「X」フリ、7グフロツプ84の出力をその出力及び
ライン90へ通過させる。ライン90は、マルチプレク
サ87及び88の第2アドレス入力へ接続されている。
機能的にはネイバーフッド演算処理に類似しており、主
な相違は、データビットラインのいずれかの(任意の)
ラインが第3図に示すセル31のフリップフロップ81
,82.83及び84に書込まれ、ネイバーフッド演算
処理を実行するのに必要とされるデータマトリックスの
近接ビット列からの連続的なデータビットだけでないと
いう点である。プール演算は次のようにシステムリによ
って実行される。成る特定されたアルゴリズムに基づき
、第1図のコントローラ27はメモリ13a−13nを
アドレスし、4つのデータビット列に連続的に読込を行
わせる一方、ラインC[に4をクロックし、その結果プ
ロセッサセル31のフリップフロラ181〜84(これ
らは4段階シフトレジスタとして接続されている)は、
4つのデータ列を受け取り保持する。その後、セル31
のそれぞれは、次のように構成及び動作される。セレク
タ85はコマンドラインCHDI上の信号によりインス
トラクトされライン36上のミドルセル状態を出力ライ
ン86及びマルチプレクサ87及び88の第1アドレス
入力へ通す一方、セレクタ8つはコマンドラインCHD
2上の信号によりインストラクトされ、ライン109上
の「X」フリ、7グフロツプ84の出力をその出力及び
ライン90へ通過させる。ライン90は、マルチプレク
サ87及び88の第2アドレス入力へ接続されている。
CHD3は論理「1」にセットされる。ネイバーフッド
演算処理に類似するがこれとは異なり、マルチプレクサ
87.88及び95のこの新しい構成は、フリラグフロ
ップ81〜84内に4つの状態の一般的な真理値表変換
を全体として形成する。コマンド信号CHD6により、
そのインストラクションは’ M Jマルチブレフサ1
00をセットし、入力98の状態だけを出力ライン10
1へ通す。コンディションフリップフロップ80.AN
Dゲート107及びセレクタ102はネイバーフッド変
換におけるコンディショナルイナープル回路と同様に、
コンデイショナルイナープル回路を全体として構成する
。
演算処理に類似するがこれとは異なり、マルチプレクサ
87.88及び95のこの新しい構成は、フリラグフロ
ップ81〜84内に4つの状態の一般的な真理値表変換
を全体として形成する。コマンド信号CHD6により、
そのインストラクションは’ M Jマルチブレフサ1
00をセットし、入力98の状態だけを出力ライン10
1へ通す。コンディションフリップフロップ80.AN
Dゲート107及びセレクタ102はネイバーフッド変
換におけるコンディショナルイナープル回路と同様に、
コンデイショナルイナープル回路を全体として構成する
。
セレクタ102から出て来るプールファンクション出力
状態は、ネイバーフッド演算処理の所で述べたのと同様
に、フリップフロッグ105ヘラツチされ、その後メモ
リ13eへ書き戻される。
状態は、ネイバーフッド演算処理の所で述べたのと同様
に、フリップフロッグ105ヘラツチされ、その後メモ
リ13eへ書き戻される。
当業者は上述の記載より以下のことが容易に理解されよ
う。即ち、上述のコントロール及びコマンドオペレーシ
ョンは、プロセッサセル31に、コマンド6号C)10
3、C)104、CH3Sの状態により確立された真理
値表に基づき、任意の4つのデータビット列の組に任意
の真理値表変換を実行せしめることである。
う。即ち、上述のコントロール及びコマンドオペレーシ
ョンは、プロセッサセル31に、コマンド6号C)10
3、C)104、CH3Sの状態により確立された真理
値表に基づき、任意の4つのデータビット列の組に任意
の真理値表変換を実行せしめることである。
アキュムレータを いたプール演
もしセレクタ85がコマンド信号CHD1によりインス
トラクトされ、アキュムレータ出力52の論理状態を出
力ライン86へ通過させれば、プール変換は演算におい
ててアキュムレータを含むようになる。この構成により
幾つかの演算においては、プロセッサの融通性が高まり
且つより高速になる。
トラクトされ、アキュムレータ出力52の論理状態を出
力ライン86へ通過させれば、プール変換は演算におい
ててアキュムレータを含むようになる。この構成により
幾つかの演算においては、プロセッサの融通性が高まり
且つより高速になる。
ビットシリアル演算を含む計算サイクルを実行する為に
、キャリーフリ;lグフロップ114のリセヅト入力へ
接続されたCLK7コマンドは、瞬間的に起動される(
例えばパルスを受けて)ので、そこでの論理状態を「0
」にセットされる1次に第1データフードの最小有効ビ
ットに相当するデータラインがメモリ13a〜13nか
ら読込まれてサウスフリップフロヅ181ヘクロックさ
れる。これはネイバーフッドオペレーション或いはプー
ル演算で述べたものと同様である。次に、第2データワ
ードの最小有効ビットがメモリから読込まれ、結果とし
てミドルフリップフロッグ82が第1ビットの状態を含
み、サラスフリップフロップ81が第2ビットの状態を
含む、セレクタ85は、コマンドラインCHD1上の信
号によってインストラクトされ、ライン36上のミドル
フリップフロップ82の状態を出力ライン86及びマル
チプレクサ87.88の第1アドレス入力ヘパスする一
方、セレクタ8つはコマンドラインCHD2上の信号に
よってインストラクトされ、ライン115上のキャリー
信号(キャリーフリップフロッグ114の出力)を、ラ
イン90及びマルチプレクサ87及び88の第2アドレ
ス入力ヘパスする。サラスフリップフロップ81の出力
ライン91は、マルチプレクサ87及び88への第3ア
ドレス入力である。コマンドラインCHD5の状態は、
「S」マルチプレクサ88がフリップフロップ114に
格納されたキャリー人力の値とフリップフロップ81及
び82に格納された入力値の成る1とットサム或いは加
算に対し、真理値表を与えるようにセットされる。
、キャリーフリ;lグフロップ114のリセヅト入力へ
接続されたCLK7コマンドは、瞬間的に起動される(
例えばパルスを受けて)ので、そこでの論理状態を「0
」にセットされる1次に第1データフードの最小有効ビ
ットに相当するデータラインがメモリ13a〜13nか
ら読込まれてサウスフリップフロヅ181ヘクロックさ
れる。これはネイバーフッドオペレーション或いはプー
ル演算で述べたものと同様である。次に、第2データワ
ードの最小有効ビットがメモリから読込まれ、結果とし
てミドルフリップフロッグ82が第1ビットの状態を含
み、サラスフリップフロップ81が第2ビットの状態を
含む、セレクタ85は、コマンドラインCHD1上の信
号によってインストラクトされ、ライン36上のミドル
フリップフロップ82の状態を出力ライン86及びマル
チプレクサ87.88の第1アドレス入力ヘパスする一
方、セレクタ8つはコマンドラインCHD2上の信号に
よってインストラクトされ、ライン115上のキャリー
信号(キャリーフリップフロッグ114の出力)を、ラ
イン90及びマルチプレクサ87及び88の第2アドレ
ス入力ヘパスする。サラスフリップフロップ81の出力
ライン91は、マルチプレクサ87及び88への第3ア
ドレス入力である。コマンドラインCHD5の状態は、
「S」マルチプレクサ88がフリップフロップ114に
格納されたキャリー人力の値とフリップフロップ81及
び82に格納された入力値の成る1とットサム或いは加
算に対し、真理値表を与えるようにセットされる。
詳しくは、コマンドラインCHD4の状態は、rc」マ
ルチプレクサ87がライン96上の3つの入力値に対す
るキャリープロパゲート値用の真理値表として作用する
ようにセットされる。結果として出て来るキャリープロ
パゲート値及び加算値はそれぞれクロツク信号CLK5
及びCLK8の能動によりキャリーフリラグフロップ1
14及びファンクションフリップフロップ105に格納
される。ファンクションフリップフロップ105の状態
は、ライン72上に出力され、ネイバーフッド演算処理
で行われたようにメモリ13へ読み返えされる。
ルチプレクサ87がライン96上の3つの入力値に対す
るキャリープロパゲート値用の真理値表として作用する
ようにセットされる。結果として出て来るキャリープロ
パゲート値及び加算値はそれぞれクロツク信号CLK5
及びCLK8の能動によりキャリーフリラグフロップ1
14及びファンクションフリップフロップ105に格納
される。ファンクションフリップフロップ105の状態
は、ライン72上に出力され、ネイバーフッド演算処理
で行われたようにメモリ13へ読み返えされる。
次に、同じ第1データワード及び第2データワードから
の次の最小有効ビットがフリップフロプ81及び82へ
読込まれ、上述と同じように処理される。新しい算術的
サム値が作られメモリ13a >13nへ書込まれ、新
しいキャリープロパゲート値が作られ、フリップフロッ
プ114に格納される。上述の処理ステップを繰返すこ
とにより、2つく或いはそれ以上)のデータフードもそ
れがいかなる任意の数のビットを有するデータワードで
も、共に加算される。更に、コンディショナル算術演算
は、上述のシリアル算術処理を用いれば上述のようにコ
ンディショナルフリップフロッ180を用いて容易に行
える。
の次の最小有効ビットがフリップフロプ81及び82へ
読込まれ、上述と同じように処理される。新しい算術的
サム値が作られメモリ13a >13nへ書込まれ、新
しいキャリープロパゲート値が作られ、フリップフロッ
プ114に格納される。上述の処理ステップを繰返すこ
とにより、2つく或いはそれ以上)のデータフードもそ
れがいかなる任意の数のビットを有するデータワードで
も、共に加算される。更に、コンディショナル算術演算
は、上述のシリアル算術処理を用いれば上述のようにコ
ンディショナルフリップフロッ180を用いて容易に行
える。
ア ユムレータを いたビットシリアルセレクタ85は
コマンドラインCHDI上の信号によりインストラクト
され、アキュムレータ出力ライン52の論理状態をセレ
クタ85の出力ライン86ヘパスする。そしてその結果
出てくる算術演算は、メモリからフリップロフッグ81
へ書き込まれたデータワードのビットの加算を含む。上
記ワードは、アキュムレータ51′に予め格納され、ラ
イン52を介して受け取られる。
コマンドラインCHDI上の信号によりインストラクト
され、アキュムレータ出力ライン52の論理状態をセレ
クタ85の出力ライン86ヘパスする。そしてその結果
出てくる算術演算は、メモリからフリップロフッグ81
へ書き込まれたデータワードのビットの加算を含む。上
記ワードは、アキュムレータ51′に予め格納され、ラ
イン52を介して受け取られる。
L五盈1
算術演算の間、セレクタ89はコマンドラインCHD2
上の信号によりインストラクトされ、ライン34上のキ
ャリ・イン信号の論理状態をセレクタ89の出力ライン
90ヘパスする。そして、プロセッサセル31へのキャ
リー人力が左隣りのプロセッサセル31からライン34
を介し得られ、キャリー出力はライン37を介し右隣り
のプロセッサセルへ貫通していく。したがって、正しい
並列算術演算を実行するには連続的に有効ビットが水平
方向に連続となるように、またその際最大有効ビットが
右向きとなるようにデータワードがメモリ及びプロセッ
サユニット内で配列され、並列算術演算を含む計算サイ
クルを実行するには、データビットの第1列がメモリ1
3eから読まれ、この際各ビットはサラスフリップフロ
ップ81ヘクロ・ツクされる6次にデータビットの第2
列がメモリ13eから読まれ、この際各ビットがフリッ
プフロップ81内ヘクロツクされて、第1データビット
がミドルフリップ70ツブ82内ヘクロツクされる。ビ
ットシリアル算術演算の場合のように、サムとキャリー
信号が計算される。しかし、キャリー信号は右へ貫通し
、データワードを含むデータビットのサムは、データビ
ットの第2列がメモリ13eから読まれた後にすぐ安定
(スティブル)となる、ビットシリアル算術演算の場合
のように、各セル31内の合計結果はファンクションフ
リップフロップ105内ヘクロックされ、メモリへ書か
れ得る状態になる。アキュムレータ51からのデータを
含む並列算術演算及びコンディショナル並列算術演算は
、ビットシリアル算術演算の方法と同じような方法で行
なわれる、ということは明らかである。並列算術演算を
行うとき、オーバフローを避けるためアルゴリズムを書
く際に注意が払わらねばならず、これはキャリー信号が
1つのデータワードから次のデータワードへ事故的に貫
通しないようにする為である、というのは多くのデータ
ワードが同じビットラインに存在するからである。
上の信号によりインストラクトされ、ライン34上のキ
ャリ・イン信号の論理状態をセレクタ89の出力ライン
90ヘパスする。そして、プロセッサセル31へのキャ
リー人力が左隣りのプロセッサセル31からライン34
を介し得られ、キャリー出力はライン37を介し右隣り
のプロセッサセルへ貫通していく。したがって、正しい
並列算術演算を実行するには連続的に有効ビットが水平
方向に連続となるように、またその際最大有効ビットが
右向きとなるようにデータワードがメモリ及びプロセッ
サユニット内で配列され、並列算術演算を含む計算サイ
クルを実行するには、データビットの第1列がメモリ1
3eから読まれ、この際各ビットはサラスフリップフロ
ップ81ヘクロ・ツクされる6次にデータビットの第2
列がメモリ13eから読まれ、この際各ビットがフリッ
プフロップ81内ヘクロツクされて、第1データビット
がミドルフリップ70ツブ82内ヘクロツクされる。ビ
ットシリアル算術演算の場合のように、サムとキャリー
信号が計算される。しかし、キャリー信号は右へ貫通し
、データワードを含むデータビットのサムは、データビ
ットの第2列がメモリ13eから読まれた後にすぐ安定
(スティブル)となる、ビットシリアル算術演算の場合
のように、各セル31内の合計結果はファンクションフ
リップフロップ105内ヘクロックされ、メモリへ書か
れ得る状態になる。アキュムレータ51からのデータを
含む並列算術演算及びコンディショナル並列算術演算は
、ビットシリアル算術演算の方法と同じような方法で行
なわれる、ということは明らかである。並列算術演算を
行うとき、オーバフローを避けるためアルゴリズムを書
く際に注意が払わらねばならず、これはキャリー信号が
1つのデータワードから次のデータワードへ事故的に貫
通しないようにする為である、というのは多くのデータ
ワードが同じビットラインに存在するからである。
アキュムレータ
第2図に最もよく示されているように、アキュムレータ
51は、シリアル入力信号をプロセッサセル31からラ
イン40を介して、又、メモリ13eからメモリデータ
ライン12eを介して受け取る。ライン40上のシリア
ル入力は、第3図に示すようにアキュムレータ入力セレ
クタ116から与えられる。上記セレクタ116はコマ
ンドラインCHDS上の信号によりインストラクトされ
、ライン120上のメモリ信号、ライン104上のファ
ンクション信号、あるいはライン52上のアキュムレー
タ出力信号のどれかを選ぶ、選択された入力信号の状態
は、セレクタ116の出力及びライン40へ通過される
。ライン40は第2図のアキュムレータ54に接続され
ている。
51は、シリアル入力信号をプロセッサセル31からラ
イン40を介して、又、メモリ13eからメモリデータ
ライン12eを介して受け取る。ライン40上のシリア
ル入力は、第3図に示すようにアキュムレータ入力セレ
クタ116から与えられる。上記セレクタ116はコマ
ンドラインCHDS上の信号によりインストラクトされ
、ライン120上のメモリ信号、ライン104上のファ
ンクション信号、あるいはライン52上のアキュムレー
タ出力信号のどれかを選ぶ、選択された入力信号の状態
は、セレクタ116の出力及びライン40へ通過される
。ライン40は第2図のアキュムレータ54に接続され
ている。
第4図において、アキュムレータ上位バイトレジスタ5
4が大きな破線枠内に描かれており、8個の1ビットア
キユムレータユニット1208〜120h′がその中に
存在する。それらのユニットの1つの詳細、即ち1ビッ
トアキユムレータ120aの詳細が小さい破線枠中に描
かれている。池の1ビットアキュムレータ120b−1
20hはアキュムレータ120aと構成上同一であるの
で示してない。また、アキュムレータ51の低位のセク
ション、即ち第2図に示すアキュムレータ下位バイトレ
ジスタ55は、その内部構造において、レジスタ54と
同一であることが判る。第4図に戻り、フリップフロッ
プ122は、アキュムレータセクション54内に格納さ
れた8ビットワードの1つのビットの値を格納する。ア
キュムレータセクション54によって実行される1つの
機能は、その中に格納されたワードの値をインクレメン
トすることである。エクスクル−シブORゲートの良く
知られた特性を用いてエクスクル−シブORゲート12
4からの出力はそこでインクレメントされたビットの値
を含む一方、その入力はライン41a(フリップフロッ
グ122内に格納されたビットの値を供給する)とライ
ン53で接続された第1キャリー人力(ライン53は下
位バイトアキュムレータセクション55からの最後のキ
ャリーライン)とである、良く知られた方法を用いると
、キャリー貫通機能がANDゲート125により実行さ
れ、ライン126上のその出力はその次の1ビットアキ
ユムレータ120bへのキャリーイン信号として供給さ
れるキャリアウド信号である。セレクタ127は制御ラ
インCON2上の信号によりインストラクトされ出力1
29として4つの入力信号のうちの選択された1つの値
を通過させる。上記4つの入力信号とは、(1)ライン
128を介して供給されたアキュムレータユニット12
0b内のビットの値、(21ライン45を介し供給され
たウェスト側のアキュムレータのビットの値、(3)ラ
イン123を介して供給されたインクレメントされた値
、(4)イースト側に位置する隣りのアキュムレータ5
4内のアキュムレータビットからのライン42a上の値
である。選択された入力信号は、ライン129を介し、
アキュムレータフリップロフップ122へ出力され、そ
の選択された値はクロック信号CLK1の作用に伴いフ
リップフロラ1に格納される。
4が大きな破線枠内に描かれており、8個の1ビットア
キユムレータユニット1208〜120h′がその中に
存在する。それらのユニットの1つの詳細、即ち1ビッ
トアキユムレータ120aの詳細が小さい破線枠中に描
かれている。池の1ビットアキュムレータ120b−1
20hはアキュムレータ120aと構成上同一であるの
で示してない。また、アキュムレータ51の低位のセク
ション、即ち第2図に示すアキュムレータ下位バイトレ
ジスタ55は、その内部構造において、レジスタ54と
同一であることが判る。第4図に戻り、フリップフロッ
プ122は、アキュムレータセクション54内に格納さ
れた8ビットワードの1つのビットの値を格納する。ア
キュムレータセクション54によって実行される1つの
機能は、その中に格納されたワードの値をインクレメン
トすることである。エクスクル−シブORゲートの良く
知られた特性を用いてエクスクル−シブORゲート12
4からの出力はそこでインクレメントされたビットの値
を含む一方、その入力はライン41a(フリップフロッ
グ122内に格納されたビットの値を供給する)とライ
ン53で接続された第1キャリー人力(ライン53は下
位バイトアキュムレータセクション55からの最後のキ
ャリーライン)とである、良く知られた方法を用いると
、キャリー貫通機能がANDゲート125により実行さ
れ、ライン126上のその出力はその次の1ビットアキ
ユムレータ120bへのキャリーイン信号として供給さ
れるキャリアウド信号である。セレクタ127は制御ラ
インCON2上の信号によりインストラクトされ出力1
29として4つの入力信号のうちの選択された1つの値
を通過させる。上記4つの入力信号とは、(1)ライン
128を介して供給されたアキュムレータユニット12
0b内のビットの値、(21ライン45を介し供給され
たウェスト側のアキュムレータのビットの値、(3)ラ
イン123を介して供給されたインクレメントされた値
、(4)イースト側に位置する隣りのアキュムレータ5
4内のアキュムレータビットからのライン42a上の値
である。選択された入力信号は、ライン129を介し、
アキュムレータフリップロフップ122へ出力され、そ
の選択された値はクロック信号CLK1の作用に伴いフ
リップフロラ1に格納される。
上述の記載より明らかなように、アキュムレータセクシ
ョン54が適切な制御信号を受けると次の4つの機能を
実行する。(1〕第1−’rキャリー力の状態に基づき
、その中に格納された8ビットの値を1ないしゼロだけ
インクレメントする、(21その中に格納された全ての
8ビット値をイーストへパラレルシフトする、(3)そ
の中に格納された全ての8ビット値をウェストへパラレ
ルシフトする、(4)その中に格納された8ビット値を
下位へシリアルシフトする。そのとき入力ライン40に
より上位の1ビットアキユムレータ120hへ供給され
たシリアルシフト入力値はプロセッサセル31内の種々
のソースから選択される(第3図参照)。
ョン54が適切な制御信号を受けると次の4つの機能を
実行する。(1〕第1−’rキャリー力の状態に基づき
、その中に格納された8ビットの値を1ないしゼロだけ
インクレメントする、(21その中に格納された全ての
8ビット値をイーストへパラレルシフトする、(3)そ
の中に格納された全ての8ビット値をウェストへパラレ
ルシフトする、(4)その中に格納された8ビット値を
下位へシリアルシフトする。そのとき入力ライン40に
より上位の1ビットアキユムレータ120hへ供給され
たシリアルシフト入力値はプロセッサセル31内の種々
のソースから選択される(第3図参照)。
第5図を参照して、プロセッサユニヅト10a〜Ton
は論理的に8ユニットの組として配列されており、更に
破線枠130内にその代表組が描かれている。これは次
の3つの理由による6(1]ホストコンピユータデータ
ライン15は一度に8ビットを読込むことができる、(
2)グループ130に付随するメモリはバイトワイドメ
モリ132において最も経済的に提供される、(31@
!の内部機能が8ビットサイズで最も良く処理されるか
らである。8個のプロセッサユニット30a〜30hは
、左側にアキュムレータ入力及び出力45a、 41a
、 47a及び43aを、また右側に41h〜44hを
有して描かれている。プロセッサユニット30a〜30
hは、メモリ132へ8本のデータライン12a〜12
hを介して接続されている。メモリデータライン12a
〜12hは、第1人力としてアキュムレータの左側入力
セレクタ135へ接続されており、その隣りのアキュム
レータの低位バイト人力134はセレクタ135の第2
人力へ接続されている。アキュムレータの左側入力セレ
クタ135へ接続されている制御ラインC0Na上のイ
ンストラクションは、第1或いは第2人力のどちらかを
選択させ、その選択された信号を入力ライン47aに沿
ってアキュムレータの下位バイトレジスタ55へ移す(
第2図参照)、プロセットユニット30hのアキュムレ
ータの下位バイトレジスタ55hの8個の出力ビットは
グループ130のイースト側のライン43h上へ出力さ
れ、それぞれがプロセッサ30a〜30hの転置入カフ
0a〜70hへ接続される。上記転置入力のそれぞれは
その出力セレクタ33へ接続されているので(第2図参
照)、もしセレクタ33がラインC0N3上の信号によ
ってインストラクトされ、転置信号74を通過させれば
、メモリ13eはその中にアキュムレータレジスタ55
hからのアキュムレータビットを格納する。
は論理的に8ユニットの組として配列されており、更に
破線枠130内にその代表組が描かれている。これは次
の3つの理由による6(1]ホストコンピユータデータ
ライン15は一度に8ビットを読込むことができる、(
2)グループ130に付随するメモリはバイトワイドメ
モリ132において最も経済的に提供される、(31@
!の内部機能が8ビットサイズで最も良く処理されるか
らである。8個のプロセッサユニット30a〜30hは
、左側にアキュムレータ入力及び出力45a、 41a
、 47a及び43aを、また右側に41h〜44hを
有して描かれている。プロセッサユニット30a〜30
hは、メモリ132へ8本のデータライン12a〜12
hを介して接続されている。メモリデータライン12a
〜12hは、第1人力としてアキュムレータの左側入力
セレクタ135へ接続されており、その隣りのアキュム
レータの低位バイト人力134はセレクタ135の第2
人力へ接続されている。アキュムレータの左側入力セレ
クタ135へ接続されている制御ラインC0Na上のイ
ンストラクションは、第1或いは第2人力のどちらかを
選択させ、その選択された信号を入力ライン47aに沿
ってアキュムレータの下位バイトレジスタ55へ移す(
第2図参照)、プロセットユニット30hのアキュムレ
ータの下位バイトレジスタ55hの8個の出力ビットは
グループ130のイースト側のライン43h上へ出力さ
れ、それぞれがプロセッサ30a〜30hの転置入カフ
0a〜70hへ接続される。上記転置入力のそれぞれは
その出力セレクタ33へ接続されているので(第2図参
照)、もしセレクタ33がラインC0N3上の信号によ
ってインストラクトされ、転置信号74を通過させれば
、メモリ13eはその中にアキュムレータレジスタ55
hからのアキュムレータビットを格納する。
第6A図を参照すると、ビット値を8×8格子140が
示されている。格子140はメモリ13に格納されるで
あろう垂直バイトの小さなサブアレイを代表しており、
AO〜A7.BO〜B7.C0〜C7等はそれぞれ典型
的なバイトである。メモリとアキュムレータの間のデー
タの転置には2つの方法があるが、それぞれトランスポ
ーズイン及びトランスポーズアウトと呼ばれ、以下に説
明する。トランスポーズイン:ラインC0Na上のコマ
ンド信号(第5図参照)は、左側入力セレクタ135が
ライン47aを介し、メモリデータライン12a〜12
hからの出力をプロセッサユニット130aへ与える選
択動作をなすようにセットされる。もし、格子140の
値の8列(水平)がメモリ13がら最大有効ビットを最
初にして読込まれ、またプロセッサユニット308〜3
0hの8個の隣り合うアキュムレータセクション50a
−50hがメモリ読込インストラクションと同期してイ
ーストヘクロックするようにコマンドされるならば、格
子140からのデータは、第6B図の格子142に示す
ようなトランスポーズされた形で、隣りのアキュムレー
タセクションに水平的に格納される。トランスポーズア
ウト:もし8個の隣り合うセクション50a〜50h内
のデータが第6A図の格子140で表わされたように格
納されているならば、またもしプロセッサユニット30
a〜30hのそれぞの出力セレクタ33(第2図参照)
が転置人カフ4を選択するようにコマンドされるなら、
8個のアキュムレータイーストシフトと同期された8回
のメモリ書込が実行された後に、格子140のデータア
レイは第6B図の格子142に示すようにメモリ内で格
納される。
示されている。格子140はメモリ13に格納されるで
あろう垂直バイトの小さなサブアレイを代表しており、
AO〜A7.BO〜B7.C0〜C7等はそれぞれ典型
的なバイトである。メモリとアキュムレータの間のデー
タの転置には2つの方法があるが、それぞれトランスポ
ーズイン及びトランスポーズアウトと呼ばれ、以下に説
明する。トランスポーズイン:ラインC0Na上のコマ
ンド信号(第5図参照)は、左側入力セレクタ135が
ライン47aを介し、メモリデータライン12a〜12
hからの出力をプロセッサユニット130aへ与える選
択動作をなすようにセットされる。もし、格子140の
値の8列(水平)がメモリ13がら最大有効ビットを最
初にして読込まれ、またプロセッサユニット308〜3
0hの8個の隣り合うアキュムレータセクション50a
−50hがメモリ読込インストラクションと同期してイ
ーストヘクロックするようにコマンドされるならば、格
子140からのデータは、第6B図の格子142に示す
ようなトランスポーズされた形で、隣りのアキュムレー
タセクションに水平的に格納される。トランスポーズア
ウト:もし8個の隣り合うセクション50a〜50h内
のデータが第6A図の格子140で表わされたように格
納されているならば、またもしプロセッサユニット30
a〜30hのそれぞの出力セレクタ33(第2図参照)
が転置人カフ4を選択するようにコマンドされるなら、
8個のアキュムレータイーストシフトと同期された8回
のメモリ書込が実行された後に、格子140のデータア
レイは第6B図の格子142に示すようにメモリ内で格
納される。
アキュムレータの低位バイトレジスタ55hの8個のパ
ラレル出力も又、第5図の右端の8本のライン43hを
介し低位アドレスセレクタ131へ第1組の入力群とし
て接続される。8本の下位アドレスバイトライン14(
第1図参照)は、入力の第2組としてセレクタ131へ
接続される。制御ラインC0Ne上のインストラクショ
ンにより、セレクタ131はライン43hからのアキュ
ムレータ出力信号或いはライン14上の下位アドレスバ
イト信号のどちらかをライン28へ通過させる。ライン
28はバイトワイドメモリ132内に在るメモリ13a
〜13hへ運ばれるアドレスの8個の最小有効ビットで
ある。
ラレル出力も又、第5図の右端の8本のライン43hを
介し低位アドレスセレクタ131へ第1組の入力群とし
て接続される。8本の下位アドレスバイトライン14(
第1図参照)は、入力の第2組としてセレクタ131へ
接続される。制御ラインC0Ne上のインストラクショ
ンにより、セレクタ131はライン43hからのアキュ
ムレータ出力信号或いはライン14上の下位アドレスバ
イト信号のどちらかをライン28へ通過させる。ライン
28はバイトワイドメモリ132内に在るメモリ13a
〜13hへ運ばれるアドレスの8個の最小有効ビットで
ある。
上述の記述に鑑み、当業者には以下のことが理解できる
と思われる。即ち、コントローラ27(第1図参照)は
、メモリ13a〜13nをアドレスすることができ、8
個のアキュムレータセクションの内へ、それがプロセッ
サユニット30a〜3On内の8個のプロセッサユニッ
トのどの望まれたグループ130であっても、数をロー
ドでき、選択された8個のプロセッサユニットグループ
130のイーストアキュムレータセクション55hでロ
ードされた数を再びメモリ138〜13nをアドレスす
るのに用いることができる。この種の機能は通常、間接
アドレス指定として知られている。グループ130のア
キュムレータセクション内のデータは、イーストヘシフ
トされ、上記グループ内の8個のアキュムレータの全て
に間接アドレスが与えられ、所望の処理を実行するまで
、間接アドレス指定が新しくシフトされた値に対し繰り
返される。この技法の応用は後述する。
と思われる。即ち、コントローラ27(第1図参照)は
、メモリ13a〜13nをアドレスすることができ、8
個のアキュムレータセクションの内へ、それがプロセッ
サユニット30a〜3On内の8個のプロセッサユニッ
トのどの望まれたグループ130であっても、数をロー
ドでき、選択された8個のプロセッサユニットグループ
130のイーストアキュムレータセクション55hでロ
ードされた数を再びメモリ138〜13nをアドレスす
るのに用いることができる。この種の機能は通常、間接
アドレス指定として知られている。グループ130のア
キュムレータセクション内のデータは、イーストヘシフ
トされ、上記グループ内の8個のアキュムレータの全て
に間接アドレスが与えられ、所望の処理を実行するまで
、間接アドレス指定が新しくシフトされた値に対し繰り
返される。この技法の応用は後述する。
第5図のコマンド入力セレクタ133は、コントロール
ラインC0N10上の信号によりインストラクトされ、
下位アドレスバイト14あるいはライン12a〜12f
を介して受け取られたメモリ13a〜13nからのバイ
トのどちら°かの状態を、ライン138を介してコマン
ド蓄積レジスタ137へ通過させる。Cしにθ上のクロ
ック信号の作用により入力ライン138上のデータがコ
マンド蓄積レジスタ137ヘラツチされる。コマンド蓄
積レジスタ137は、好ましくはその中に4つのバイト
を格納できる4ステージシフトリジスタである。ライン
CLKe上の4つのクロックサイクルは、従って、コマ
ンドの4つのバイトのの新しい組をコマンド蓄積レジス
タ137へ完全に移すことができなければならない。
ラインC0N10上の信号によりインストラクトされ、
下位アドレスバイト14あるいはライン12a〜12f
を介して受け取られたメモリ13a〜13nからのバイ
トのどちら°かの状態を、ライン138を介してコマン
ド蓄積レジスタ137へ通過させる。Cしにθ上のクロ
ック信号の作用により入力ライン138上のデータがコ
マンド蓄積レジスタ137ヘラツチされる。コマンド蓄
積レジスタ137は、好ましくはその中に4つのバイト
を格納できる4ステージシフトリジスタである。ライン
CLKe上の4つのクロックサイクルは、従って、コマ
ンドの4つのバイトのの新しい組をコマンド蓄積レジス
タ137へ完全に移すことができなければならない。
コマンド蓄積レジスタ137に格納されたデータの4つ
のバイトは、コマンドラインCHD1〜CHD8を介し
て出力され、第3図に示すように諸コマンド信号として
作用すると共に、プロセッサセル31を作動するのに用
いられる。
のバイトは、コマンドラインCHD1〜CHD8を介し
て出力され、第3図に示すように諸コマンド信号として
作用すると共に、プロセッサセル31を作動するのに用
いられる。
上述より次のことが明らかである。グループ130のプ
ロセッサユニ7ト30a〜30hに対するコマンド蓄積
レジスタ137用のデータワードは、ライン14により
直接下位アドレスバイトから或いはメモリ13a〜13
hから得ることができる。後者の場合、下位アドレスバ
イトラインは下位アドレスレジスタ131及びライン2
8を介しメモリ13a〜13hへのアドレスを供給する
。後者の方法によると、プロセッサユニットの異なるグ
ループ130はメモリ13内の異なった場所、例えばメ
モリ13のそれぞれが指定された部分へ、同時にアクセ
スでき、またメモリ13内に予め格納された異なったコ
マンドを受け取ることができる。
ロセッサユニ7ト30a〜30hに対するコマンド蓄積
レジスタ137用のデータワードは、ライン14により
直接下位アドレスバイトから或いはメモリ13a〜13
hから得ることができる。後者の場合、下位アドレスバ
イトラインは下位アドレスレジスタ131及びライン2
8を介しメモリ13a〜13hへのアドレスを供給する
。後者の方法によると、プロセッサユニットの異なるグ
ループ130はメモリ13内の異なった場所、例えばメ
モリ13のそれぞれが指定された部分へ、同時にアクセ
スでき、またメモリ13内に予め格納された異なったコ
マンドを受け取ることができる。
アブリゲーション(応用例
本発明の新規な特徴の応用例を次に示す、その応用例は
、グループ130の8個のお互いに接続されたアキュム
レータ55a〜55h、転置処理及び間接アドレス指定
を含む。これら3つの応用例に関する以下の記述におい
て、正確なコマンド及び信号の流れに関する詳細な記載
は必要でない、というのは基本的な詳細は既に上述され
ているか或いは上述の記載より容易に理解できるからで
ある。
、グループ130の8個のお互いに接続されたアキュム
レータ55a〜55h、転置処理及び間接アドレス指定
を含む。これら3つの応用例に関する以下の記述におい
て、正確なコマンド及び信号の流れに関する詳細な記載
は必要でない、というのは基本的な詳細は既に上述され
ているか或いは上述の記載より容易に理解できるからで
ある。
1旦旦ヱニ1A
参照用テーブル(ルックアップテーブルLUT)は、通
常データアレイ或いはマトリックス内の各データエレメ
ントが非常に複雑な規則に基づき変換される場合に用い
られる。普通、そのような複雑な規則に基づき全てのデ
ータエレメントを計算するのは非常に時間がかかる。し
かし、もし、そのコンピユーチージョンが、オフライン
で独立変数或いは入力のコンビネーションの収り得るデ
ータ値のそれぞれに対し、またメモリ138〜13n内
に水平バイトとして格納されている結果に対し、一度に
できるならば、プロセッサユニット13a〜13nは各
データポイントに対し格納された参照用テーブルアレイ
からの値を参照するだけでよい、今、述べた技法の一実
施例として、第7A図〜第7C図に示された次の方法を
考えてみる。第6B図のように水平フォーマット内のメ
モリ13内に所望のIUTが格納されているとすると、
LUT内の記述項に基づき変換される第6A図に示され
ているような垂直フォーマットのメモリ13a〜13h
に格納される。第1ステツプは、メモリ13a〜13h
の8ビット×8ビットのセグメント148により代表さ
れる8個の垂直に格納されたデータバイトを、下位バイ
トアキュムレータ55の8×8グループ150へ読込む
一方、アキュムレータ55を第7A図に示すように、信
号ライン152及び矢印153により下方へクロック(
クロックダウン)することである。これをするために、
プロセッサセル31のアキュムレータ入力セレクタ11
6はライン12a〜12h上のメモリ13a〜13hの
メモリセグメント148からのデータを、ライン40a
〜40hへ通過させる必要がある(第1図及び第2図参
照)。8つのクロックサイクルが必要とされる。その後
、第2ステツプの間は、グループ150内に格納された
データバイトが間接アドレスとして用いられる。
常データアレイ或いはマトリックス内の各データエレメ
ントが非常に複雑な規則に基づき変換される場合に用い
られる。普通、そのような複雑な規則に基づき全てのデ
ータエレメントを計算するのは非常に時間がかかる。し
かし、もし、そのコンピユーチージョンが、オフライン
で独立変数或いは入力のコンビネーションの収り得るデ
ータ値のそれぞれに対し、またメモリ138〜13n内
に水平バイトとして格納されている結果に対し、一度に
できるならば、プロセッサユニット13a〜13nは各
データポイントに対し格納された参照用テーブルアレイ
からの値を参照するだけでよい、今、述べた技法の一実
施例として、第7A図〜第7C図に示された次の方法を
考えてみる。第6B図のように水平フォーマット内のメ
モリ13内に所望のIUTが格納されているとすると、
LUT内の記述項に基づき変換される第6A図に示され
ているような垂直フォーマットのメモリ13a〜13h
に格納される。第1ステツプは、メモリ13a〜13h
の8ビット×8ビットのセグメント148により代表さ
れる8個の垂直に格納されたデータバイトを、下位バイ
トアキュムレータ55の8×8グループ150へ読込む
一方、アキュムレータ55を第7A図に示すように、信
号ライン152及び矢印153により下方へクロック(
クロックダウン)することである。これをするために、
プロセッサセル31のアキュムレータ入力セレクタ11
6はライン12a〜12h上のメモリ13a〜13hの
メモリセグメント148からのデータを、ライン40a
〜40hへ通過させる必要がある(第1図及び第2図参
照)。8つのクロックサイクルが必要とされる。その後
、第2ステツプの間は、グループ150内に格納された
データバイトが間接アドレスとして用いられる。
この間接アドレスは、メモリスペース154をメモリ1
3a〜13hヘアドレスする。メモリ13a〜13hで
は、LUTが第7B図において、信号ライン156によ
りアドレスされる。メモリスペース154内の列の数は
、IUT内の列の数に等しい。メモリスペース154内
のIUTに基づき変換されたデータバイトは、信号ライ
ン158によって示すように、メモリから読出され、矢
印159によって示すように、アキュムレータグループ
150内へ、即ちイーストヘシフトされる。最も右にあ
るデータバイトは、イーストへのシフトの間に消失し、
それに続く右側のエレメントがグループ150の一番右
の位置を占める。8つのクロックサイクルがこの第2ス
テツプの間全ての8個のバイトを処理するのに必要とさ
れる。この8つのクロックサイクルの間LUT(154
)の記述項を参照するこ、とにより変換されたデータは
、イーストヘクロツクされ入力ライン47aを介しグル
ープ150の最も左のアキュムレータ55aヘクロツク
され、その処理においてデータは垂直フォーマットへ転
置され、グループ150内で保持される。最後に、信号
ライン160により、第7C図に示すように、グループ
150内に保持された新しい変換値は、垂直フォーマッ
トでメモリ13a〜13hへ書き戻される。グループ1
50のアキュムレータ55を完全にダウンシフトし全て
の8個の変PA値を格納させるには、更に8つのクロッ
クサイクルが必要とされる。典型的には変換値はメモリ
セグメント148に再格納されるが、場合によってはメ
モリ13a〜13h内の異なったセグメントへ格納して
もよい。
3a〜13hヘアドレスする。メモリ13a〜13hで
は、LUTが第7B図において、信号ライン156によ
りアドレスされる。メモリスペース154内の列の数は
、IUT内の列の数に等しい。メモリスペース154内
のIUTに基づき変換されたデータバイトは、信号ライ
ン158によって示すように、メモリから読出され、矢
印159によって示すように、アキュムレータグループ
150内へ、即ちイーストヘシフトされる。最も右にあ
るデータバイトは、イーストへのシフトの間に消失し、
それに続く右側のエレメントがグループ150の一番右
の位置を占める。8つのクロックサイクルがこの第2ス
テツプの間全ての8個のバイトを処理するのに必要とさ
れる。この8つのクロックサイクルの間LUT(154
)の記述項を参照するこ、とにより変換されたデータは
、イーストヘクロツクされ入力ライン47aを介しグル
ープ150の最も左のアキュムレータ55aヘクロツク
され、その処理においてデータは垂直フォーマットへ転
置され、グループ150内で保持される。最後に、信号
ライン160により、第7C図に示すように、グループ
150内に保持された新しい変換値は、垂直フォーマッ
トでメモリ13a〜13hへ書き戻される。グループ1
50のアキュムレータ55を完全にダウンシフトし全て
の8個の変PA値を格納させるには、更に8つのクロッ
クサイクルが必要とされる。典型的には変換値はメモリ
セグメント148に再格納されるが、場合によってはメ
モリ13a〜13h内の異なったセグメントへ格納して
もよい。
ヒストグラム
ヒストグラムは全データアレイ内でデータ値のグループ
の各値が生ずる回数をカウントすることであり、本発明
の転置及び間接アドレス指定の特徴を用いて効果的に実
行することができる1つの演算である0本発明のシステ
ム9を用いてヒストグラムを作るための好ましいテクニ
ックは、次の如くである。まず、ヒストグラムが付随す
る色々なカウントが累積されるメモリ13a〜13n内
のエリアはゼロドアウドされる。この例として、第8A
図に示ずメモリ13a〜13h内のアレイ170に垂直
フォーマットとしてデータが在ると考えると、ヒストグ
ラムのカウント値は水平フォーマットに累積される。8
個のデータビットの組が、矢印171及び信号ライン1
72によって第8A図に示すように、バイトアキュムレ
ータグループ150内へ(シリアルにダウンシフトされ
て)ロードされる。
の各値が生ずる回数をカウントすることであり、本発明
の転置及び間接アドレス指定の特徴を用いて効果的に実
行することができる1つの演算である0本発明のシステ
ム9を用いてヒストグラムを作るための好ましいテクニ
ックは、次の如くである。まず、ヒストグラムが付随す
る色々なカウントが累積されるメモリ13a〜13n内
のエリアはゼロドアウドされる。この例として、第8A
図に示ずメモリ13a〜13h内のアレイ170に垂直
フォーマットとしてデータが在ると考えると、ヒストグ
ラムのカウント値は水平フォーマットに累積される。8
個のデータビットの組が、矢印171及び信号ライン1
72によって第8A図に示すように、バイトアキュムレ
ータグループ150内へ(シリアルにダウンシフトされ
て)ロードされる。
グループ150の最も右のアキュムレータ55h内のデ
ータ値は、メモリ13のメモリセグメント177内のメ
モリ位置(列)への信号ライン173によって第8B図
に示すように、間接アドレスとして作用する。メモリセ
グメント177は、その特定のデータ値に対するカウン
ト値を有するようになる。
ータ値は、メモリ13のメモリセグメント177内のメ
モリ位置(列)への信号ライン173によって第8B図
に示すように、間接アドレスとして作用する。メモリセ
グメント177は、その特定のデータ値に対するカウン
ト値を有するようになる。
そのカウント値は、インクレメントされ、信号ライン1
74により、第8B図に示すように、8ビットワイドプ
ロセツサセル175内ヘロードされる。
74により、第8B図に示すように、8ビットワイドプ
ロセツサセル175内ヘロードされる。
プロセッサセル175は、例えば、プロセッサユニヅト
10a〜10hのプロセッサセル31a〜3柚から構成
される。プロセッサセル175におけるカウントは、第
8B図に示すように、プロセッサセルの水平算術モード
を用いてインクレメントされる。
10a〜10hのプロセッサセル31a〜3柚から構成
される。プロセッサセル175におけるカウントは、第
8B図に示すように、プロセッサセルの水平算術モード
を用いてインクレメントされる。
再び間接アドレス指定を用いるとインクレメントされた
値は、同じメモリ位置(列)に戻される。
値は、同じメモリ位置(列)に戻される。
即ち、信号ライン176及び178により第8C図に示
すように、インクレメントされた値が来た場所に戻され
る。同時にアキュムレータ150はイーストヘシフトさ
れ次のデータ値の次のカウントへ用意される。第8B図
及び第8C図に示したインクレメントプロセスは全部で
8回起つ、第8A図のステップの間、8個のアキュムレ
ータのグループ150内にロードされた全てのデータを
カウントする。例えばメモリ13a〜13n内で8ビッ
トワイドコラムの幾つかの組として延びるデータマトリ
ックスの全ての列が同じように当時に処理される。
すように、インクレメントされた値が来た場所に戻され
る。同時にアキュムレータ150はイーストヘシフトさ
れ次のデータ値の次のカウントへ用意される。第8B図
及び第8C図に示したインクレメントプロセスは全部で
8回起つ、第8A図のステップの間、8個のアキュムレ
ータのグループ150内にロードされた全てのデータを
カウントする。例えばメモリ13a〜13n内で8ビッ
トワイドコラムの幾つかの組として延びるデータマトリ
ックスの全ての列が同じように当時に処理される。
最後に、コラムの各組の全列が処理された後、幾つかの
ヒストグラムが統合整理されるが、このとき8個のコラ
ムの各組に対し1つのヒストグラムが用いられる。更に
、もし垂直フォーマットが必要とされるならば、それら
は転置される。
ヒストグラムが統合整理されるが、このとき8個のコラ
ムの各組に対し1つのヒストグラムが用いられる。更に
、もし垂直フォーマットが必要とされるならば、それら
は転置される。
アキュムレーション
第9A図〜第9C図は、ここで用いられる1つのアキュ
ムレータのデータフローを示しており、16ビットの数
がアキュムレータ内に既に存在する値に加算される場合
である。第9A図では、データ即ち、垂直フォーマット
の8個の16ビット値は、ビットシリアルの形をとるメ
モリ13a〜13nの8ビットワイドの16列メモリセ
グメント188からプロセッサセル175へ読込まれる
。同時に16ビットアキユムレータ190は、矢印19
4により示すように、クロックダウンされ、上向きのシ
グナルフローバス195によって示すようにプロセッサ
セル175に読込まれ、そこで2つのデータ入力が加算
される。アキュムレータ190は、8ビットワイド×8
とットハイのアキュムレータセクション192(隣りの
8個のプロセッサユニット30a〜30hのアキュムレ
ータの上位バイトレジスタ54a〜54hである)と、
これに対応する8x8の下位バイトアキュムレータグル
ープ即ちセクション150とから成る。セル175内で
生成された合計はそれがシフトダウンされる間アキュム
レータ190へ読み返される。第9B図には、もし合計
されるべき次のデータ値がメモリセグメント188の異
なるコラムにあるならば、アキュムレータ190が任意
にイースト或いはウエストヘシフトされることが描かれ
ている。第9A図及び第9B図に描かれているステップ
の2つのフェーズ或いはシーケンスは、近く(或いは遠
く)のネイバーからの種々のデータの所望の加算を終了
させるなめには、幾度ら繰返される。イースト或いはウ
ェスト方向へのシフトは、プロセッサユニット10a〜
10nのアレイに沿ったいかなる任意の距離でも値或い
は部分合計を運ぶために用いることが可能である。従っ
て、アキュムレーション機能は、セグメント188等の
与えられたメモリセグメント内で実行されるとは限らな
い、第9A図及び第9B図に示すこのアキュムレーショ
ン手法により、当業者によく知られている「シフトアン
ドアット」という乗算法を用いることにより、たたき込
み或いは種々の掛算因子との合計を処理できる。所望の
データ加算サイクルが全て完了すると、アキュムレータ
190の内容は、矢印196により第9C図に示すよう
に、アキュムレータをダウンシフトすることによりメモ
リ138〜13nへ格納される。望むならプロセッサセ
ル175から出て行くデータの後にアキュムレータ19
0内へゼロをシフトすることが可能である。ゼロをシフ
トインすることにより、アキュムレータ190はデータ
マトリックスの別の列を処理する準備ができたことにな
る。
ムレータのデータフローを示しており、16ビットの数
がアキュムレータ内に既に存在する値に加算される場合
である。第9A図では、データ即ち、垂直フォーマット
の8個の16ビット値は、ビットシリアルの形をとるメ
モリ13a〜13nの8ビットワイドの16列メモリセ
グメント188からプロセッサセル175へ読込まれる
。同時に16ビットアキユムレータ190は、矢印19
4により示すように、クロックダウンされ、上向きのシ
グナルフローバス195によって示すようにプロセッサ
セル175に読込まれ、そこで2つのデータ入力が加算
される。アキュムレータ190は、8ビットワイド×8
とットハイのアキュムレータセクション192(隣りの
8個のプロセッサユニット30a〜30hのアキュムレ
ータの上位バイトレジスタ54a〜54hである)と、
これに対応する8x8の下位バイトアキュムレータグル
ープ即ちセクション150とから成る。セル175内で
生成された合計はそれがシフトダウンされる間アキュム
レータ190へ読み返される。第9B図には、もし合計
されるべき次のデータ値がメモリセグメント188の異
なるコラムにあるならば、アキュムレータ190が任意
にイースト或いはウエストヘシフトされることが描かれ
ている。第9A図及び第9B図に描かれているステップ
の2つのフェーズ或いはシーケンスは、近く(或いは遠
く)のネイバーからの種々のデータの所望の加算を終了
させるなめには、幾度ら繰返される。イースト或いはウ
ェスト方向へのシフトは、プロセッサユニット10a〜
10nのアレイに沿ったいかなる任意の距離でも値或い
は部分合計を運ぶために用いることが可能である。従っ
て、アキュムレーション機能は、セグメント188等の
与えられたメモリセグメント内で実行されるとは限らな
い、第9A図及び第9B図に示すこのアキュムレーショ
ン手法により、当業者によく知られている「シフトアン
ドアット」という乗算法を用いることにより、たたき込
み或いは種々の掛算因子との合計を処理できる。所望の
データ加算サイクルが全て完了すると、アキュムレータ
190の内容は、矢印196により第9C図に示すよう
に、アキュムレータをダウンシフトすることによりメモ
リ138〜13nへ格納される。望むならプロセッサセ
ル175から出て行くデータの後にアキュムレータ19
0内へゼロをシフトすることが可能である。ゼロをシフ
トインすることにより、アキュムレータ190はデータ
マトリックスの別の列を処理する準備ができたことにな
る。
L1Zヱヱヱグ
第10A図及び108図は本発明のシステム9を用いて
、メモリ内に格納されたデータマトリックスの選択され
たコラム内のビットの数(ナンバ)をカウントする方法
を示している。下位及び上位バイトアキュムレータの結
合組190は、第10A図に示唆されているように、イ
ンクレメントモードに置かれている。アキュムレータの
組190はメモリ13a〜13hのバイトワイドメモリ
セグメント200が読み出されている間クロックされる
。一方、その内の論理ゼロビットはアキュムレータ19
0の中身を変えない。セグメント200は任意の数の列
を含むことができることに留意されたい。データの全列
が処理された後では、アキュムレータグループ190内
の各1ビットアキユムレータ51a〜51hが、それぞ
れメモリセグメント200のそれぞれが付随しているデ
ータマトリックスコラムの論理「1」のデータビットの
全ての合計を含むことになる。グループ190の1ビッ
トアキユムレータ内の合計はシフトダウンされ、第10
B図に示すように13a〜13hの別のバイトワイドメ
モリセグメント202へ書込まれる。メモリセグメント
202へ格納された合計は、第6A図に示したタイプの
垂直データフォーマットの中に存するが、8ビットの高
さの代りに16ビットの高さにもなし得ることに注目さ
れたい。
、メモリ内に格納されたデータマトリックスの選択され
たコラム内のビットの数(ナンバ)をカウントする方法
を示している。下位及び上位バイトアキュムレータの結
合組190は、第10A図に示唆されているように、イ
ンクレメントモードに置かれている。アキュムレータの
組190はメモリ13a〜13hのバイトワイドメモリ
セグメント200が読み出されている間クロックされる
。一方、その内の論理ゼロビットはアキュムレータ19
0の中身を変えない。セグメント200は任意の数の列
を含むことができることに留意されたい。データの全列
が処理された後では、アキュムレータグループ190内
の各1ビットアキユムレータ51a〜51hが、それぞ
れメモリセグメント200のそれぞれが付随しているデ
ータマトリックスコラムの論理「1」のデータビットの
全ての合計を含むことになる。グループ190の1ビッ
トアキユムレータ内の合計はシフトダウンされ、第10
B図に示すように13a〜13hの別のバイトワイドメ
モリセグメント202へ書込まれる。メモリセグメント
202へ格納された合計は、第6A図に示したタイプの
垂直データフォーマットの中に存するが、8ビットの高
さの代りに16ビットの高さにもなし得ることに注目さ
れたい。
11皇1
16列×8ビットワイドのメモリセグメント188内の
垂直フォーマントに格納されている数を、信号ライン2
10で第11八図に示すようにアキュムレータ190内
へまずロードすることにより、16ビットの定数をデー
タマトリックスの各エレメントに加算できる。一般に、
アキュムレータ190内の種々のビット幅×16ビット
高さのアキュムレータ54a〜54hはそれぞれぞれ異
なった数を含んでいる。次に、ビットシリアル加算は、
サイクルを2回連続させるときプロセッサセル175の
セル31a〜311)のそれぞれの中で起る。第11B
図は第1サイクルを示しており、ここでは、データマト
リックスの最小有効ビットの列がプロセッサセル175
へ読込まれ(信号ライン212により示す)、同時にア
キュムレータ190は一回シフトダウンされ、8ビット
の列が信号フロー214で示すようにプロセッサセル1
75ヘロードされる。アキュムレータ190のボトム2
16からのアキュムレータ出力ビットの列は、そのトッ
プ218の入力部へ再循環される。第11C図に示す第
2サイクルでは、プロセッサセル175のセル31a〜
31hの各々に各合計されたビットが、信号フローライ
ン220で示すように、メモリセグメント188へ読込
まれる。第118図及び第11C図に示すサイクルは、
セグメント188に格納されたデータフードの残ってい
るより大きな有効ビット全てに対し、繰返される。こう
して合計加算が完了した後、アキュムレータ190内の
ビットは、完全に再循環され、その結果、数は第11A
図にもともとロードされたときの数と同じ数で記憶され
る。もし必要ならばセグメント188以外のメモリ13
a〜13hのメモリセグメント内に見い出されるデータ
マトリックスの列が全て処理されるまで上述の処理が繰
り返される。
垂直フォーマントに格納されている数を、信号ライン2
10で第11八図に示すようにアキュムレータ190内
へまずロードすることにより、16ビットの定数をデー
タマトリックスの各エレメントに加算できる。一般に、
アキュムレータ190内の種々のビット幅×16ビット
高さのアキュムレータ54a〜54hはそれぞれぞれ異
なった数を含んでいる。次に、ビットシリアル加算は、
サイクルを2回連続させるときプロセッサセル175の
セル31a〜311)のそれぞれの中で起る。第11B
図は第1サイクルを示しており、ここでは、データマト
リックスの最小有効ビットの列がプロセッサセル175
へ読込まれ(信号ライン212により示す)、同時にア
キュムレータ190は一回シフトダウンされ、8ビット
の列が信号フロー214で示すようにプロセッサセル1
75ヘロードされる。アキュムレータ190のボトム2
16からのアキュムレータ出力ビットの列は、そのトッ
プ218の入力部へ再循環される。第11C図に示す第
2サイクルでは、プロセッサセル175のセル31a〜
31hの各々に各合計されたビットが、信号フローライ
ン220で示すように、メモリセグメント188へ読込
まれる。第118図及び第11C図に示すサイクルは、
セグメント188に格納されたデータフードの残ってい
るより大きな有効ビット全てに対し、繰返される。こう
して合計加算が完了した後、アキュムレータ190内の
ビットは、完全に再循環され、その結果、数は第11A
図にもともとロードされたときの数と同じ数で記憶され
る。もし必要ならばセグメント188以外のメモリ13
a〜13hのメモリセグメント内に見い出されるデータ
マトリックスの列が全て処理されるまで上述の処理が繰
り返される。
上述の記載より次のことが理解されよう、上述の選択的
に相互結合可能なパラレル処理ユニットを直列的鎖状と
する本発明のシステム及び方法は、本発明の目的を確実
に達成するばかりでなく、特に効果的且つ経済的に達成
するものである。当業者が本発明の精神の範囲内で、本
発明の上記好適な実施例以外に、適宜種々の付加・改変
を行うことができることは明らかである。また、ここで
用いられた相互に関連のある用語、例えば、「列」と「
コラム」、「垂直」と「水平」、「左」と「右」、「イ
ースト」と「ウェストJ、「アップ(上方向)」と「ダ
ウン(下方向)」等は、明細書及び請求の範囲の理解を
容易にするためのものであり、本発明の範囲を制限する
ものではない。
に相互結合可能なパラレル処理ユニットを直列的鎖状と
する本発明のシステム及び方法は、本発明の目的を確実
に達成するばかりでなく、特に効果的且つ経済的に達成
するものである。当業者が本発明の精神の範囲内で、本
発明の上記好適な実施例以外に、適宜種々の付加・改変
を行うことができることは明らかである。また、ここで
用いられた相互に関連のある用語、例えば、「列」と「
コラム」、「垂直」と「水平」、「左」と「右」、「イ
ースト」と「ウェストJ、「アップ(上方向)」と「ダ
ウン(下方向)」等は、明細書及び請求の範囲の理解を
容易にするためのものであり、本発明の範囲を制限する
ものではない。
この点に鑑み、当業者には上述のような用語がしばしば
単に全体をはっきりさせるものでその人の見方を変える
ことにより変えられる。例えば1列」は「コラム」にな
り、その反対もある。それは、その人の見方を90°回
転させた場合にすぎない。
単に全体をはっきりさせるものでその人の見方を変える
ことにより変えられる。例えば1列」は「コラム」にな
り、その反対もある。それは、その人の見方を90°回
転させた場合にすぎない。
また、ここに開示された好適実施例のアーキティクチャ
ーは、主に8ビットのデータワードに基づいており、8
×8ビット或いは16ビット×8ビットの配列の処理デ
ータに基づいているが、本発明は容易に他のサイズのデ
ータワードにも適用でき、例えば小さいものでは2ピン
トのワードから、大きいものでは32ビット(或いはそ
れ以上)のビットのデータワードでもよいし、それぞれ
が似ている少し小さい或いは大きい配列のグループのデ
ータでもよい。従って、ここで求めている保護は、本発
明の範囲内において請求された内容と等価なものの全て
である。
ーは、主に8ビットのデータワードに基づいており、8
×8ビット或いは16ビット×8ビットの配列の処理デ
ータに基づいているが、本発明は容易に他のサイズのデ
ータワードにも適用でき、例えば小さいものでは2ピン
トのワードから、大きいものでは32ビット(或いはそ
れ以上)のビットのデータワードでもよいし、それぞれ
が似ている少し小さい或いは大きい配列のグループのデ
ータでもよい。従って、ここで求めている保護は、本発
明の範囲内において請求された内容と等価なものの全て
である。
第1図は本発明の直列的鎖状に結ばれた並列処理システ
ムの全体のブロック図、 第2図は典型的なシングルプロセッサユニットのブロッ
ク図、 第3図は第2図のプロセッサユニットのプロセッサセル
インの部分の概略図、 第4図は第2図のプロセッサユニットのアキュムレータ
・ハイバイトレジスタを構成する8個のアキュムレータ
セルの構造を示す部分図、第5図は8個のプロセッサユ
ニットの組の間の相互接続及びそこで用いられているワ
イドバイトメモリの間の相互接続のブロック図、 第6A図及び第6B図は転置処理を示す図、第7A図〜
第7C図は参照用テーブル計算における信号の流れを示
す図、 第8A図〜第8C図はヒストグラム計算における信号の
流れを示す図、 第9A図〜第9C図はデータアキュムレーションにおけ
る信号の流れを示す図、 第10A図及び第108図はカウンティングにおける信
号の流れを示す図、 第11A図〜第11C図はメモリー内でデータマトリッ
クスに定数を加える際の信号の流れを示す図である。 図中、9は並列演算処理システム、108〜ioh 。 30.130はネイバーフッドプロセッサユニット、1
0はそのアレイ、11はライン、12a〜12nは双方
向データ転送ライン、13a〜13n、 132はシン
グルワイドメモリ、13はそのアレイ、21はパラレル
ビットライン(データシフトライン)、31はプロセッ
サセル、32はI10ユニット、33は出力セレクタユ
ニット、34〜38.41〜44.71〜73は接続ラ
イン、135は左側入力セレクタである。 FIG二
ムの全体のブロック図、 第2図は典型的なシングルプロセッサユニットのブロッ
ク図、 第3図は第2図のプロセッサユニットのプロセッサセル
インの部分の概略図、 第4図は第2図のプロセッサユニットのアキュムレータ
・ハイバイトレジスタを構成する8個のアキュムレータ
セルの構造を示す部分図、第5図は8個のプロセッサユ
ニットの組の間の相互接続及びそこで用いられているワ
イドバイトメモリの間の相互接続のブロック図、 第6A図及び第6B図は転置処理を示す図、第7A図〜
第7C図は参照用テーブル計算における信号の流れを示
す図、 第8A図〜第8C図はヒストグラム計算における信号の
流れを示す図、 第9A図〜第9C図はデータアキュムレーションにおけ
る信号の流れを示す図、 第10A図及び第108図はカウンティングにおける信
号の流れを示す図、 第11A図〜第11C図はメモリー内でデータマトリッ
クスに定数を加える際の信号の流れを示す図である。 図中、9は並列演算処理システム、108〜ioh 。 30.130はネイバーフッドプロセッサユニット、1
0はそのアレイ、11はライン、12a〜12nは双方
向データ転送ライン、13a〜13n、 132はシン
グルワイドメモリ、13はそのアレイ、21はパラレル
ビットライン(データシフトライン)、31はプロセッ
サセル、32はI10ユニット、33は出力セレクタユ
ニット、34〜38.41〜44.71〜73は接続ラ
イン、135は左側入力セレクタである。 FIG二
Claims (1)
- 【特許請求の範囲】 1、複数の列と少なくとも2n(nは1より大きい整数
)のコラムを有する大きなデータアレイからのデータに
より並列処理演算を実行するための処理システムであり
、処理のために上記大きなデータアレイを少なくとも第
1及び第2サブアレイに細区分し、該サブアレイが複数
の列とnコラムを有する上記システムにおいて、 n個の独立したプロセッサユニット毎の第1及び第2グ
ループが設けられ、上記グループの夫々が複数の接続ラ
インにより互いに接続されたn個のプロセッサセルのア
レイを有し、独立したプロセッサユニットのそれぞれが
上記プロセッサセルの1つを有しプロセッサユニットの
上記第1及び第2グループが複数の接続ラインにより互
いに接続され、 上記グループ間でデータを転送し上記第1及び第2サブ
アレイにそれぞれ付随したデータのnコラムを格納する
ためのn個のメモリ手段の第1及び第2グループが設け
られ、上記メモリ手段のそれぞれがデータの1個のコラ
ムを格納すると共に、プロセッサユニットの1つに付随
接続されており、 n個のメリ手段の第1グループがそのデータの列に対し
プロセッサユニットの第1グループを選択的に作動せし
めるための第1手段及びプロセッサユニットの第1グル
ープにn個のメモリ手段の第1グループのn個のコラム
の1つからのデータにより選択的に並列に作動せしめる
ための第2手段を有するプロセッサユニットの第1グル
ープが設けられ、 n個のメモリ手段の第2グループの列からのデータによ
りプロセッサユニットの第2グループに選択的に並列的
に作動せしめるための第1手段及びn個のメモリ手段の
第2グループのnコラムの1つからの並列なデータによ
りプロセッサユニットの第2グループを選択的に作動せ
しめるための第2手段を有するプロセッサユニットの第
2グループが設けられたことを特徴とする並列処理シス
テム。 2、各プロセッサユニットが複数の接続ラインにより隣
りのプロセッサユニットに付随する少なくとも1つのア
キュムレータ手段に接続されて、処理されるべきデータ
を一時的にホールドするための手段を有する請求項1記
載の並列処理システム。 3、各アキュムレータ手段がその内のデータの1ビット
を一時的に保持するためのn個の1ビットアキュムレー
タを有し、各アキュムレータ手段に付随する1ビットア
キュムレータは互いに接続され、各アキュムレータ手段
が夫々のプロセッサユニットに付随するメモリ手段から
のデータnビットを受けると共に一時的に保持できる請
求項2記載の並列処理システム。 4、アキュムレータ手段の夫々が、互いにシリアルに接
続された2n個の1ビットアキュムレータを備える請求
項3記載の並列処理システム。 5、プロセッサユニットの各グループがプロセッサユニ
ットの第1のユニットのアキュムレータ手段へ接続され
たアドレス選択手段を有し、プロセッサユニットが上記
アキュムレータ手段の1つからのデータをデータ接続ラ
インへ向わせ、プロセッサユニットグループの各プロセ
ッサユニット及び各プロセッサユニットグループに付随
するメモリ手段グープ内の各メモリ手段へ導き、 各プロセッサユニットグループが、該グループのプロセ
ッサユニットと該グループに付随するメモリ手段グルー
プとの間のデータ接続ラインを上記プロセッサユニット
グループ内の第2ユニットへ選択的に結合するための入
力選択手段を更に備え、これによりデータが並列的にメ
モリ手段或いはそのグループのプロセッサユニットから
それぞれのグループの第2プロセッサユニットへ転送さ
れることを特徴とする請求項3記載の並列処理システム
。 6、複数の列と少なくとも2n(nは1より大きい整数
)のコラムを有するデータアレイからのデータにより並
列処理演算を実行するための処理システムにおいて、複
数の接続ラインいに接続されたプロセッサセルのアレイ
を備えるn個の独立したプロセッサユニットのアレイと
、メモリ手段の夫々がプロセッサユニットの1つに付随
されると共に、データの1コラムを格納するように構成
され、n個の独立したプロセッサユニットのアレイによ
り連続処理のためにデータを格納するためのn個のメモ
リ手段のアレイとを備えたことを特徴とする並列処理シ
ステム。 7、ビット等のデータのnビットを転置するための手段
が、n個のメモリ手段のアレイとプロセッサユニットの
アレイとの間をデータビットが転送されるとき、データ
の構成を、第1フォーマットからこれに垂直な第2フォ
ーマットへ変えることを特徴とする請求項6記載の並列
処理システム。 8、データのnビットを転置するための手段がプロセッ
サユニットの第1番目のプロセッサユニットにn個のメ
モリ手段のアレイを選択的に接続させて、データがメモ
リから第1番目のプロセッサユニットへ並列的に転送さ
せる請求項7記載の並列処理システム。 9、プロセッサユニットのそれぞれが処理されるべきデ
ータを一時的に保持するためのアキュムレータ手段を有
し、該アキュムレータ手段が複数の接続ラインにより少
なくとも隣りのプロセッサユニットに付随する1つのア
キュムレータ手段に接続され、該アキュムレータ手段の
それぞれはデータのシングルビットをシリアル及びパラ
レルに受け取るための少なくともn個の1ビットアキュ
ムレータを有し、上記1ビットアキュムレータのそれぞ
れが並列入力を有しており、 入力選択手段がデータをメモリ手段からプロセッサユニ
ットの第1ユニットのアキュムレータ手段の並列入力へ
供給し、 n個のメモリ手段のそれぞれがデータアレイの1つのデ
ータコラム用の格納場所を供給し、メモリ手段のアレイ
からプロセッサユニットのアレイへ転送されたデータの
nビットがメモリ手段のアレイのnコラムの長さを有す
る別フォーマットである第1フォーマット内へ格納され
ることを特徴とする請求項8記載の並列処理システム。 10、プロセッサユニットのそれぞれが更に与えられた
データにより算術演算を実行するための算術手段を備え
、もしアレイに沿った通常の第1方向にみて隣りにプロ
セッサユニットが在るならばその隣りのプロセッサユニ
ットへ当該プロセッサユニット内で実行された算術演算
の結果として出て来るキャリーに対応するデータを転送
するためのキャリー手段を有し、これによりn個のプロ
セッサユニットのアレイが並列的に処理されn個のプロ
セッサユニットに対し並列に供給されたデータに基づき
算術演算を実行することを特徴とする請求項6記載の並
列処理システム。 11、各プロセッサユニットにおいて、算術手段が、ユ
ニットのプロセッサセルの一部をなしていて1ビット加
算演算を実行するように構成され、もし最も最近に実行
された加算演算の結果として1ビット合計及びキャリー
ビットが出て来ればこれを一時的に保持するための1ビ
ット格納手段の一対を有しており、 各プロセッサユニットがキャリービットを保持するため
の1ビット保持手段と、もし上記第1方向にみて隣りに
プロセッサユニットが在るならその隣りのプロセッサユ
ニットの算術手段との間のキャリーアウト接続ラインを
有しており、 各プロセッサユニットにおいて、プロセッサセルが、算
術手段により処理するためにプロセッサユニットに付随
されているメモリ手段から連続的に転送される一対のビ
ットを一時的に保持するための一対の1ビット格納手段
を有する請求項10記載の並列処理システム。 12、メモリ手段のアレイ内でデータを間接的にアドレ
スするための手段を特徴とする請求項6記載の並列処理
システム。 13、各プロセッサユニットが処理されるべきデータを
一時的に保持するためのアキュムレータ手段を備え、該
手段が複数の接続ラインにより隣りのプロセッサユニッ
トに付随されている少くとも1つのアキュムレータ手段
へ接続されており、メモリ手段のアレイがアドレス入力
を有しており、間接的にアドレスするための手段がプロ
セッサユニットの第1ユニット内のアキュムレータ手段
に接続されたアドレス選択手段を有し、データを上記第
1アキュムレータ手段からメモリ手段のアレイのアドレ
ス入力の少なくとも幾つかへ並列的に選択的に方向づけ
しており、各プロセッサユニットのアキュムレータ手段
内のデータを一方向へシフトしもし隣りにプロセッサユ
ニットが在るならばその隣りのユニットのアキュムレー
タ手段へデータをシフトするための手段を有する請求項
12記載の並列処理システム。 14、少なくとも複数の列とn個(nは1より大きい整
数)のコラムを有するデータアレイからのデータにより
並列的に処理演算を実行するための処理システムにおい
て、プロセッサユニットのアレイとメモリ手段のアレイ
との間でのデータの転送を次の(a)〜(c)のステッ
プを含んでなすことを特徴とする並列処理方法、 (a)少なくとも処理システムの一部として、複数の接
続ラインにより互いに接続されたn個のプロセッサユニ
ットのアレイ及びn個の独立したプロセッサユニットの
アレイにより連続処理するためにデータを格納するn個
のメモリ手段のアレイを供給するステップ、 (b)n個のメモリ手段のアレイ内の1つのフォーマッ
ト内にデータを格納するステップ、(c)n個のメモリ
手段のアレイ内の第1フォーマットに格納されたデータ
の第1グループをn個のプロセッサユニットのアレイへ
転送するステップ。 15、第1フォーマットに垂直な第2フォーマットへ転
送されるデータを転置するステップ (d)を特徴とする請求項14記載の並列処理方法。 16、第1フォーマットがデータアレイのn個のコラム
の長さを有する1列フォーマットであって上記ステップ
(b)の間転送されるデータのグループがnビットから
成る第1列を構成しており、第2フォーマットがプロセ
ッサユニットのアレイ内のプロセッサユニットの1つの
ユニットに付随する1コラムフォーマットであり、プロ
セッサユニットのそれぞれが処理されるべきデータを一
時的に保持するためのアキュムレータ手段を有し、該ア
キュムレータ手段が複数の接続ラインにより隣りのプロ
セッサユニットに付随された少なくとも1つのアキュム
レータ手段により接続され、各アキュムレータ手段がシ
リアル及びパラレルにデータのシングルビットを受け取
るための1ビットアキュムレータを少なくともn個備え
、各1ビットアキュムータが並列入力を有しており、 上記ステップ(c)がデータを第1列からプロセッサユ
ニットのアレイの最初の端に位置するプロセッサユニッ
トの最初のユニットのアキュムレータ手段へ転送するこ
とにより実行される請求項15記載の並列処理方法。 17、1つのプロセッサユニットでの算術演算の結果と
して作り出されるキャリーデータを、少なくとも部分的
に、もし或方向にて隣りにプロセッサユニットが存在す
ればその方向にて該隣りのプロセッサユニットへ、即座
に転送することにより、n個のプロセッサユニットで並
列的に算術演算を実行し、このとき転送されたキャリー
データが隣りのプロセッサユニットで実行される算術演
算に用いられるステップを有する請求項14記載の並列
処理方法。 18、第1列から1つのビットが各プロセッサユニット
内で格納されるようにメモリ手段からnデータビットの
第1列を読み込むこと、 第2列からの1つのビットが各プロセッサユニットで格
納されるようにメモリ手段からnデータビットの第2列
を読み込むと共に、nデータビットの第2列をn個のプ
ロセッサユニットへ格納すること、 もし隣りのプロセッサユニットからキャリーデータが得
られたなら、該キャリーデータ及び2つの読み込みサブ
ステップの結果として格納された2つのビットを各プロ
セッサユニット内での加算処理へのユニットとして用い
、n個のプロセッサユニットのそれぞれの中で1ビット
加算演算を実質的に同時に実行すること、 により実行される請求項17記載の並列処理方法。 19、請求項14記載の並列処理方法において、システ
ムにより連続的な処理を行うためにメモリへデータをア
ドレスし、データの第1グループがn個のメモリ手段の
アレイの第1場所から来て上記方法が、 (d)第1場所から離れたメモリ手段内の第2場所を特
定するためにロードされたデータを用いること、 (e)メモリ手段の特定された第2場所からプロセッサ
ユニットのアレイへデータをロードすることを特徴とす
る並列処理方法。 20、処理システムが、プロセッサユニットの第1ユニ
ットへ接続されると共に、プロセッサユニットの上記第
1ユニットへロードされたデータをメモリ手段へ選択的
に方向づけするためのアドレス選択手段を備え、その方
向づけられたデータがメモリ手段の第1場所のアドレス
の少なくとも一部として作用し、 上記方法が更に第1ユニットへ隣りのプロセッサユニッ
トから別のデータをシフトするステップを有することを
特徴とする請求項19記載の並列処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US057,128 | 1987-06-01 | ||
US07/057,128 US5129092A (en) | 1987-06-01 | 1987-06-01 | Linear chain of parallel processors and method of using same |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63316167A true JPS63316167A (ja) | 1988-12-23 |
JP2756257B2 JP2756257B2 (ja) | 1998-05-25 |
Family
ID=22008678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63135386A Expired - Fee Related JP2756257B2 (ja) | 1987-06-01 | 1988-06-01 | 並列処理システム及びその方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5129092A (ja) |
EP (1) | EP0293700B1 (ja) |
JP (1) | JP2756257B2 (ja) |
DE (2) | DE3852909T2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006099232A (ja) * | 2004-09-28 | 2006-04-13 | Renesas Technology Corp | 半導体信号処理装置 |
JP2011095908A (ja) * | 2009-10-28 | 2011-05-12 | Mitsubishi Electric Corp | 並列演算処理装置 |
JP2011192305A (ja) * | 2011-06-01 | 2011-09-29 | Renesas Electronics Corp | 半導体信号処理装置 |
JP2012079030A (ja) * | 2010-09-30 | 2012-04-19 | Mega Chips Corp | 画像処理装置 |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0605401B1 (en) * | 1988-09-19 | 1998-04-22 | Fujitsu Limited | Parallel computer system using a SIMD method |
KR930002316B1 (ko) * | 1989-05-10 | 1993-03-29 | 미쯔비시덴끼 가부시끼가이샤 | 버스제어방법 및 화상처리 장치 |
AU641418B2 (en) * | 1989-09-20 | 1993-09-23 | Fujitsu Limited | A parallel data processing system for processing and transmitting data concurrently |
US5287416A (en) * | 1989-10-10 | 1994-02-15 | Unisys Corporation | Parallel pipelined image processor |
EP0444368B1 (en) * | 1990-02-28 | 1997-12-29 | Texas Instruments France | Digital Filtering with SIMD-processor |
EP0485594A4 (en) * | 1990-05-30 | 1995-02-01 | Adaptive Solutions Inc | Mechanism providing concurrent computational/communications in simd architecture |
JP2959104B2 (ja) * | 1990-10-31 | 1999-10-06 | 日本電気株式会社 | 信号処理プロセッサ |
US5325500A (en) * | 1990-12-14 | 1994-06-28 | Xerox Corporation | Parallel processing units on a substrate, each including a column of memory |
JPH04290155A (ja) * | 1991-03-19 | 1992-10-14 | Fujitsu Ltd | 並列データ処理方式 |
US5732164A (en) * | 1991-05-23 | 1998-03-24 | Fujitsu Limited | Parallel video processor apparatus |
US5241632A (en) * | 1992-01-30 | 1993-08-31 | Digital Equipment Corporation | Programmable priority arbiter |
US5375080A (en) * | 1992-12-18 | 1994-12-20 | Xerox Corporation | Performing arithmetic on composite operands to obtain a binary outcome for each multi-bit component |
US5651121A (en) * | 1992-12-18 | 1997-07-22 | Xerox Corporation | Using mask operand obtained from composite operand to perform logic operation in parallel with composite operand |
US5428804A (en) * | 1992-12-18 | 1995-06-27 | Xerox Corporation | Edge crossing circuitry for SIMD architecture |
US5655131A (en) * | 1992-12-18 | 1997-08-05 | Xerox Corporation | SIMD architecture for connection to host processor's bus |
US5450604A (en) * | 1992-12-18 | 1995-09-12 | Xerox Corporation | Data rotation using parallel to serial units that receive data from memory units and rotation buffer that provides rotated data to memory units |
US5450603A (en) * | 1992-12-18 | 1995-09-12 | Xerox Corporation | SIMD architecture with transfer register or value source circuitry connected to bus |
US5408670A (en) * | 1992-12-18 | 1995-04-18 | Xerox Corporation | Performing arithmetic in parallel on composite operands with packed multi-bit components |
US5526501A (en) * | 1993-08-12 | 1996-06-11 | Hughes Aircraft Company | Variable accuracy indirect addressing scheme for SIMD multi-processors and apparatus implementing same |
US5434629A (en) * | 1993-12-20 | 1995-07-18 | Focus Automation Systems Inc. | Real-time line scan processor |
US5557734A (en) * | 1994-06-17 | 1996-09-17 | Applied Intelligent Systems, Inc. | Cache burst architecture for parallel processing, such as for image processing |
US5630161A (en) * | 1995-04-24 | 1997-05-13 | Martin Marietta Corp. | Serial-parallel digital signal processor |
US6188381B1 (en) * | 1997-09-08 | 2001-02-13 | Sarnoff Corporation | Modular parallel-pipelined vision system for real-time video processing |
US6208772B1 (en) | 1997-10-17 | 2001-03-27 | Acuity Imaging, Llc | Data processing system for logically adjacent data samples such as image data in a machine vision system |
FR2793088B1 (fr) * | 1999-04-30 | 2001-06-22 | St Microelectronics Sa | Procede et dispositif de collecte des valeurs logiques de sortie d'une unite logique dans un circuit electronique |
US6598146B1 (en) * | 1999-06-15 | 2003-07-22 | Koninklijke Philips Electronics N.V. | Data-processing arrangement comprising a plurality of processing and memory circuits |
EP1122688A1 (en) * | 2000-02-04 | 2001-08-08 | Texas Instruments Incorporated | Data processing apparatus and method |
EP1384160A2 (en) * | 2001-03-02 | 2004-01-28 | Atsana Semiconductor Corp. | Apparatus for variable word length computing in an array processor |
CN1301491C (zh) * | 2001-03-13 | 2007-02-21 | 伊强德斯股份有限公司 | 视觉装置、联动式计数器及图象检测器 |
HUP0102356A2 (hu) * | 2001-06-06 | 2003-02-28 | Afca-System Kft. | Eljárás és kapcsolási elrendezés előnyösen ciklikusan ismétlődő adatfeldolgozási feladatok párhuzamos üzemű végrehajtására, továbbá az eljárás végrehajtásához szükséges műveleti kódok előállítására és szimulálására szolgáló programrendszer |
US7054897B2 (en) * | 2001-10-03 | 2006-05-30 | Dsp Group, Ltd. | Transposable register file |
US20100274988A1 (en) * | 2002-02-04 | 2010-10-28 | Mimar Tibet | Flexible vector modes of operation for SIMD processor |
DE10206830B4 (de) * | 2002-02-18 | 2004-10-14 | Systemonic Ag | Verfahren und Anordnung zur Zusammenführung von Daten aus parallelen Datenpfaden |
US7506135B1 (en) * | 2002-06-03 | 2009-03-17 | Mimar Tibet | Histogram generation with vector operations in SIMD and VLIW processor by consolidating LUTs storing parallel update incremented count values for vector data elements |
US7266255B1 (en) * | 2003-09-26 | 2007-09-04 | Sun Microsystems, Inc. | Distributed multi-sample convolution |
US7737994B1 (en) * | 2003-09-26 | 2010-06-15 | Oracle America, Inc. | Large-kernel convolution using multiple industry-standard graphics accelerators |
US20060156316A1 (en) * | 2004-12-18 | 2006-07-13 | Gray Area Technologies | System and method for application specific array processing |
US20060190517A1 (en) * | 2005-02-02 | 2006-08-24 | Guerrero Miguel A | Techniques for transposition of a matrix arranged in a memory as multiple items per word |
US7783861B2 (en) * | 2006-03-03 | 2010-08-24 | Nec Corporation | Data reallocation among PEs connected in both directions to respective PEs in adjacent blocks by selecting from inter-block and intra block transfers |
GB2436377B (en) | 2006-03-23 | 2011-02-23 | Cambridge Display Tech Ltd | Data processing hardware |
KR100834412B1 (ko) * | 2007-05-23 | 2008-06-04 | 한국전자통신연구원 | 모바일 멀티미디어 연산의 효율적인 처리를 위한 병렬 프로세서 |
GB0809192D0 (en) * | 2008-05-20 | 2008-06-25 | Aspex Semiconductor Ltd | Improvements to data compression engines |
US9183614B2 (en) | 2011-09-03 | 2015-11-10 | Mireplica Technology, Llc | Processor, system, and method for efficient, high-throughput processing of two-dimensional, interrelated data sets |
US9680916B2 (en) | 2013-08-01 | 2017-06-13 | Flowtraq, Inc. | Methods and systems for distribution and retrieval of network traffic records |
FR3015068B1 (fr) * | 2013-12-18 | 2016-01-01 | Commissariat Energie Atomique | Module de traitement du signal, notamment pour reseau de neurones et circuit neuronal |
WO2017015649A1 (en) | 2015-07-23 | 2017-01-26 | Mireplica Technology, Llc | Performance enhancement for two-dimensional array processor |
US11249767B2 (en) * | 2019-02-05 | 2022-02-15 | Dell Products L.P. | Boot assist zero overhead flash extended file system |
US11042372B2 (en) * | 2019-05-24 | 2021-06-22 | Texas Instruments Incorporated | Vector bit transpose |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3537074A (en) * | 1967-12-20 | 1970-10-27 | Burroughs Corp | Parallel operating array computer |
US3582899A (en) * | 1968-03-21 | 1971-06-01 | Burroughs Corp | Method and apparatus for routing data among processing elements of an array computer |
US3970993A (en) * | 1974-01-02 | 1976-07-20 | Hughes Aircraft Company | Cooperative-word linear array parallel processor |
US4174514A (en) * | 1976-11-15 | 1979-11-13 | Environmental Research Institute Of Michigan | Parallel partitioned serial neighborhood processors |
EP0006748B1 (en) * | 1978-06-26 | 1982-06-23 | Environmental Research Institute Of Michigan | Apparatus and method for generating a transformation of a first data matrix to form a second data matrix |
US4215401A (en) * | 1978-09-28 | 1980-07-29 | Environmental Research Institute Of Michigan | Cellular digital array processor |
US4314349A (en) * | 1979-12-31 | 1982-02-02 | Goodyear Aerospace Corporation | Processing element for parallel array processors |
US4525797A (en) * | 1983-01-03 | 1985-06-25 | Motorola, Inc. | N-bit carry select adder circuit having only one full adder per bit |
US4739474A (en) * | 1983-03-10 | 1988-04-19 | Martin Marietta Corporation | Geometric-arithmetic parallel processor |
US4621339A (en) * | 1983-06-13 | 1986-11-04 | Duke University | SIMD machine using cube connected cycles network architecture for vector processing |
JPH0658631B2 (ja) * | 1983-12-19 | 1994-08-03 | 株式会社日立製作所 | デ−タ処理装置 |
FR2573888B1 (fr) * | 1984-11-23 | 1987-01-16 | Sintra | Systeme pour la transmission simultanee de blocs de donnees ou de vecteurs entre une memoire et une ou plusieurs unites de traitement de donnees |
US4787057A (en) * | 1986-06-04 | 1988-11-22 | General Electric Company | Finite element analysis method using multiprocessor for matrix manipulations with special handling of diagonal elements |
US4829585A (en) * | 1987-05-04 | 1989-05-09 | Polaroid Corporation | Electronic image processing circuit |
-
1987
- 1987-06-01 US US07/057,128 patent/US5129092A/en not_active Expired - Fee Related
-
1988
- 1988-05-20 DE DE3852909T patent/DE3852909T2/de not_active Expired - Fee Related
- 1988-05-20 EP EP88108175A patent/EP0293700B1/en not_active Expired - Lifetime
- 1988-05-20 DE DE198888108175T patent/DE293700T1/de active Pending
- 1988-06-01 JP JP63135386A patent/JP2756257B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006099232A (ja) * | 2004-09-28 | 2006-04-13 | Renesas Technology Corp | 半導体信号処理装置 |
JP2011095908A (ja) * | 2009-10-28 | 2011-05-12 | Mitsubishi Electric Corp | 並列演算処理装置 |
JP2012079030A (ja) * | 2010-09-30 | 2012-04-19 | Mega Chips Corp | 画像処理装置 |
US8786615B2 (en) | 2010-09-30 | 2014-07-22 | Megachips Corporation | Image processor including reconfigurable input and output domain selectors |
JP2011192305A (ja) * | 2011-06-01 | 2011-09-29 | Renesas Electronics Corp | 半導体信号処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US5129092A (en) | 1992-07-07 |
JP2756257B2 (ja) | 1998-05-25 |
DE293700T1 (de) | 1990-04-12 |
DE3852909D1 (de) | 1995-03-16 |
EP0293700A3 (en) | 1989-10-18 |
DE3852909T2 (de) | 1995-10-12 |
EP0293700A2 (en) | 1988-12-07 |
EP0293700B1 (en) | 1995-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63316167A (ja) | 並列処理システム及びその方法 | |
US5682544A (en) | Massively parallel diagonal-fold tree array processor | |
US5557734A (en) | Cache burst architecture for parallel processing, such as for image processing | |
US6339819B1 (en) | Multiprocessor with each processor element accessing operands in loaded input buffer and forwarding results to FIFO output buffer | |
US5175862A (en) | Method and apparatus for a special purpose arithmetic boolean unit | |
US20040215677A1 (en) | Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements | |
US7581079B2 (en) | Processor composed of memory nodes that execute memory access instructions and cooperate with execution nodes to execute function instructions | |
EP0293701B1 (en) | Parallel neighborhood processing system and method | |
JPH06502937A (ja) | マトリックス乗算のための知識メモリチップ | |
JPS59172065A (ja) | 幾何学的−算術的並列プロセツサ | |
KR19990077230A (ko) | 이미지-처리 프로세서 | |
JPH03501787A (ja) | データ並列処理装置 | |
JPH0233191B2 (ja) | ||
US7581080B2 (en) | Method for manipulating data in a group of processing elements according to locally maintained counts | |
JPH06162227A (ja) | ベクトル並列計算機 | |
Yang | Design of fast connected components hardware | |
JPH04295953A (ja) | 要素プロセッサの2次元アレイを内蔵する並列データ処理装置および要素プロセッサのサブアレイユニット | |
US7263543B2 (en) | Method for manipulating data in a group of processing elements to transpose the data using a memory stack | |
WO1993019431A1 (en) | Parallel vector processor architecture | |
JP4237046B2 (ja) | 画像処理装置 | |
US8856493B2 (en) | System of rotating data in a plurality of processing elements | |
US5928350A (en) | Wide memory architecture vector processor using nxP bits wide memory bus for transferring P n-bit vector operands in one cycle | |
US7503046B2 (en) | Method of obtaining interleave interval for two data values | |
US7676648B2 (en) | Method for manipulating data in a group of processing elements to perform a reflection of the data | |
Pechanek et al. | An introduction to an array memory processor for application specific acceleration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |