JPS62217354A - プロセツサ - Google Patents
プロセツサInfo
- Publication number
- JPS62217354A JPS62217354A JP61295715A JP29571586A JPS62217354A JP S62217354 A JPS62217354 A JP S62217354A JP 61295715 A JP61295715 A JP 61295715A JP 29571586 A JP29571586 A JP 29571586A JP S62217354 A JPS62217354 A JP S62217354A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- slave
- mode
- address
- 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
- 230000015654 memory Effects 0.000 claims description 127
- 238000012545 processing Methods 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 19
- 238000012546 transfer Methods 0.000 description 28
- BDQMCYCLZBSYJZ-BBXCZNCNSA-N (2s)-2-[[(2s)-2-[[(2s)-2-[[(2s)-1-[(2s)-2-[[(2s)-5-amino-2-[[(2s)-2-[[(2s)-2-[[(2s,3s)-2-amino-3-methylpentanoyl]amino]-4-methylsulfanylbutanoyl]amino]-3-carboxypropanoyl]amino]-5-oxopentanoyl]amino]-3-methylbutanoyl]pyrrolidine-2-carbonyl]amino]-3-phenyl Chemical compound CC[C@H](C)[C@H](N)C(=O)N[C@@H](CCSC)C(=O)N[C@@H](CC(O)=O)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H](C(C)C)C(=O)N1CCC[C@H]1C(=O)N[C@H](C(=O)N[C@@H](CO)C(=O)N[C@@H](C(C)C)C(O)=O)CC1=CC=CC=C1 BDQMCYCLZBSYJZ-BBXCZNCNSA-N 0.000 description 24
- 238000000034 method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 20
- 238000007792 addition Methods 0.000 description 13
- 239000013598 vector Substances 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 8
- 230000002457 bidirectional effect Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 101100289995 Caenorhabditis elegans mac-1 gene Proteins 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 101100428343 Arabidopsis thaliana VHA-G1 gene Proteins 0.000 description 2
- 101100428350 Arabidopsis thaliana VHA-G2 gene Proteins 0.000 description 2
- 101100428349 Nicotiana tabacum VATG1 gene Proteins 0.000 description 2
- 101100428357 Nicotiana tabacum VATG2 gene Proteins 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000010959 steel Substances 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 101100161155 Arabidopsis thaliana ACS12 gene Proteins 0.000 description 1
- 235000017166 Bambusa arundinacea Nutrition 0.000 description 1
- 235000017491 Bambusa tulda Nutrition 0.000 description 1
- 241001330002 Bambuseae Species 0.000 description 1
- 101100087530 Caenorhabditis elegans rom-1 gene Proteins 0.000 description 1
- 101001106432 Homo sapiens Rod outer segment membrane protein 1 Proteins 0.000 description 1
- 101100305983 Mus musculus Rom1 gene Proteins 0.000 description 1
- RSPISYXLHRIGJD-UHFFFAOYSA-N OOOO Chemical compound OOOO RSPISYXLHRIGJD-UHFFFAOYSA-N 0.000 description 1
- 235000015334 Phyllostachys viridis Nutrition 0.000 description 1
- GMZVRMREEHBGGF-UHFFFAOYSA-N Piracetam Chemical compound NC(=O)CN1CCCC1=O GMZVRMREEHBGGF-UHFFFAOYSA-N 0.000 description 1
- 102100021424 Rod outer segment membrane protein 1 Human genes 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000011425 bamboo Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 239000009512 hedan Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 208000022018 mucopolysaccharidosis type 2 Diseases 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007873 sieving Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Saccharide Compounds (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
産業−1−の利用分野
この発明は全般的にブ
【]セッサ、更に具体的に云えば
、アレー・プロセッサの中を通る命令の流れの速磨を高
めることに関する。 側米辺」L術↓」肌脱 処理条例が厳しくなるにつれて、処理量を一層多くし、
密度を一層高くすること等の要求が強まっている。処理
量を一層多く】る要求が1個のマイクロプロセッサの能
力を越λる1)、多数のプ[lセッサを利用して、分V
li処理シスTムI(ll’l ri接続する。こうい
うシステムでは、各々の/「1eツサが別々のタスク又
はその一部分を実行して、ゾ[]セセラの間で仕事の負
荷を平等に分ける様にしでいる。プロセッサの間の相n
の連絡は、直列伝送方式及び共通の通信バスの共有によ
って行なわれるのが普通である。 現在のマイクロプロセッサは、マルヂプ[lセッサ・シ
ステムの形式がとれる様に16ハードウエア及びソフト
ウェアの両方のインター
、アレー・プロセッサの中を通る命令の流れの速磨を高
めることに関する。 側米辺」L術↓」肌脱 処理条例が厳しくなるにつれて、処理量を一層多くし、
密度を一層高くすること等の要求が強まっている。処理
量を一層多く】る要求が1個のマイクロプロセッサの能
力を越λる1)、多数のプ[lセッサを利用して、分V
li処理シスTムI(ll’l ri接続する。こうい
うシステムでは、各々の/「1eツサが別々のタスク又
はその一部分を実行して、ゾ[]セセラの間で仕事の負
荷を平等に分ける様にしでいる。プロセッサの間の相n
の連絡は、直列伝送方式及び共通の通信バスの共有によ
って行なわれるのが普通である。 現在のマイクロプロセッサは、マルヂプ[lセッサ・シ
ステムの形式がとれる様に16ハードウエア及びソフト
ウェアの両方のインター
【コックを持っている。この形
式は、サテライト処理(即ら、特殊協働ブ【]セセラを
使うこと)により、又はかなりのCF) U時間を正式
には必要とする複雑なタスクからCP IJを解放する
I/Oブ1−1セツリ゛を使うことによって構成される
。こういう外部知能要求装置は、共通の共有バスだけで
なく、システムのこの他の共有資源(例えば、メモリと
I/Oスペース周辺装置等)についても、主導権の点で
協働(並びに競合)する。こういう場合、資源−東求線
がシステムの1個の構成要素によって左右される様な普
通のマスタ・スレーブ関係よりも、一層衡平イ【ものに
する為に、管理プロl−Tlルが必要である。最も一般
的な場合、外部知能要求装置が全部CP Uであること
があり、この烏合々の資源要求装置が同じ重要性及び能
力を持つ様なマルチプロセッサを持つシステムを形成す
ることがある。 この様にして、システムの共通の資源を共有するC P
Uの間で機能を全面的に分散することが出来る。この
為、システムの段目は問題を別々のタスクに区分けして
、幾つかのプロセッサの各々が個別に1つ並列にill
即することが出来るようにし、システムの性能及び処理
量を増加することが出来る。この様な形式では、この様
な完全な自蔵式のシステムは、普通はシステム・バスを
介して、並列伝送方式を用いて相りに連絡する。プロセ
ッサの間に適当な接続リンクを設けて、システムの設泪
技術者が、どれがマスクでどれがスレーブであるかを定
めなくてもよい様にする。更に、システム・バスは各々
のプロセッサが非同期的に作用ずることが出来る様にし
、この為同じシス1−ムの中に高速及び低速のマイクロ
プロ)?ツリを取入れることが出来る。マルチプロセッ
サ・システムに於て更に重要な幾つかの点を挙げると、
(1)プロセッサがデータを混合せずに、正しく相η作
用をすることが出来ること、(2)プロセッサがシステ
ムの資源を共有することが出来ること、及び(3)プ[
1セツサの間の同期が保証される様にすることである。 こういう条件を保証する為の普通のメカニズムは、ソフ
トウェア・オペレイティング争システムによって構成さ
れるが、それらは適当なハードウェアの支援を必要とす
る。現在のマイクロプロセッサはセマフォ信号方式の為
の適当な制御ピン及び特殊命令を持っており、これは一
時的に1つのCPUを「システム・マスタ」にする。こ
のシステム・マスクは、資源のある重要な一部分を管理
し、他の全てのプロセッサがこの資源を利用出来ない様
に排除する。この様なハードウェアの支援により、マル
チプロセッサを構成する為の機構となる様なオペレイテ
ィング・システムを開発することが出来る。 マルチプロセッサ−・システムの1つの欠点は、このシ
ステム内の各々のプロセッサがある程度、他の11]セ
ツ号から独立しで動作することである。 即ち、各々のプロセッサが、残りのマルチプロセッサに
あるソフ]・ウェアとは完全に無関係に作用する内部ソ
フトウェアを持っている。各々のマルブプ[]l?ツサ
がタスク向()になっている。従って、種々のマルチプ
ロセッサのソフトウェアは関係が′/【<又はインター
リーブ形でなく、この結果システム内のあるプロセッサ
が遊び時間を持ち、タスクを実行していないと云う点で
、命令の流れの効率が悪い。従って、システムの各々の
プロセッサの遊び時間の長さを最小限にしながら、シス
テム内のプロセッサに対する処理負荷及び命令の流れを
更に容易に分散する様な更に効率のよいシステムに対す
る要望がある。この結果、多数のプロセッサが一緒に合
さって作用して、特定のタスク又は一群のタスクを実行
する。 Ulの要約 こ)で説明する発明は並ケ1強制御/O動作を持つアレ
ー・プロセッサである。このプロセッサが、アレー内の
命令の流れを制御する類1゛ト指令を発生するマスクと
して作用する制御プロセッサを含む。 複数個のスレーブ節の各々にスレーブ・プロセッサが設
けられる。1つのスレーブ節では、2つのスレーブ・/
O127号が設置ノられている。各々のスレーブ・プロ
セッサは、内部の1組の命令を実行して、伺設されたデ
ータ・メモリに出力する為のアドレスを発生する様に作
用し得る。2つのスレーブ・プロセッサを持つ節では、
1組のI/O命令が供給され、一方のスレーブ・プロセ
ッサがバックグラウンドI/Oモードで動作し、他方の
データ・プロセッサがフォアグラウンド・データ処理モ
ードで動作することが出来る様にJる。データ処理モー
ドでは、スレーブ・ブ11セッザが、順序指令に応答し
て、それと同期して、その命令の組を順次進む。制御プ
ロセラゆからの順序指令に応答して、I/Oモードに入
るが、その中の命令の流れは順序指令とは無関係に行な
われる。データ・メモリが、データを処理するデータ・
プロセッサーとインターフェース接続されると共に、ス
イッヂング装置に対するI/Oボートともインターフェ
ース接続される。I/Oボートは1つの節で2つのメモ
リだ【」とインターフェース接続される。 この発明並びにその利点が更によく理解される様に、次
に図面について説明する。 実 施 例 アレー・プロセッサ 第1図には、この発明のプログラム可能なアレー・プロ
セッサのブロック図が示されている。アレー・プロセッ
サは全体的にデータ・プロセッサ/O(破線の中に示す
)によって制御される。このデータ・プロセッサが種々
の節にある多数のアレー・プロセッサを制御するが、こ
の発明では1つのアレー・プロセッサだけが示されてい
る。アレー・プロセラ(j−はアレー制御及びシーケン
サ(八C3)12を持ち、これがアレー・プロセッサの
マスクとして作用し、その中での命令の流れ−つ − を制御する。AC312がイの内部にマイクロコード1
4を記憶するROMにあるプ[1グラムを持っているか
、或いはこの代りにマイク1−ドー1−ドを外部ROM
(図面に示してない)に記憶りることが出来る。AC3
12であるマスク・シーケンサが、制御バス18に出力
する為の制御l]−ドの順序を発生する。制御バス18
が複数個のスレーブ装置とインターフェース接続される
。スレーブ装置はベクトル・アドレス発生器20a乃至
2On、多重通路スイッチ(MPS)22、及びスレー
ブ・データ・プロセッサ24で構成されている。この実
施例では、図示のスレーブ・データ・プロセッサはベク
トル詐術論理装置(A L U >である。 全てのスレーブHIi&及び八C812がパラメータ・
バス26及び制御バス18とインターフェース接続され
る。 各々のVAG20a乃至2Onは、スレーブ・シーケン
サ28、ROMにあるマイク[I]−ド30及びアドレ
ス発生器32 で構成される。各々のVAG 20 a乃至20 n
1.L、命令を処理して、何段されたデ゛−タ・メモリ
34a 7”J ’T 34 nに出力Mる為の−j′
ドレスを発生する。 データ・メモリ34a乃至34nの出力がMPS22に
人力される。 スレーブ・データ・ブ[]セセラ1ノ4もスレーブ・シ
ー))ン→j36及びデータ処理部分38で構成される
。この実施例では、スレーブ・データ・プ1−1セッサ
24がマイクロヨードを記憶する為に外部ROM 40
とインターフェース接続される。然し、ンイクロ]−ド
がスレーブ・データ・プロセッサ24内にあるROMに
あってもよい。 動作に′つい−(説明覆ると、データ・プ[1セツサが
、アレー・プ[1tYツリが遂行1べき特定の機能を)
大定4る。これをマク目ブ目グラム又はマクロ呼出しと
呼び、11]ツク42で示す。ブロック42は、特定の
順序ぐプログラム・メモリ(図に示して′/Tい)に入
力されるマク1呼出しの持ち行列を表わす。AC312
はそれを実行する為にマクn lTh1”出しを取出す
様に作用し得る。 速いフーリエ変換(F I−’T )を遂行すると云う
11一 様り多数の責なるタスクを八C812によ−)で実行リ
−ることが出来る。特定のタスクが、マク11呼出しの
パラメータを定める指令パラメータ・リスト(CPL)
によって定められる。AC312がCPl−にあるパラ
メータを用いτタスクを遂行1ノ、パラメータは必要に
応じてアレー・ブ【−ルッ)I内に分散される。 AC312は、制御バス18にある順序の制御信号を出
力することにJ、す、1zj定のタスクを実行する。こ
の時、各々のV A G 20 a 7’J 〒20
nが、AC312からそれに対して供給された制御信号
に応答して、1絹の内部命令を順次進め、人々のデータ
・メモリ34 a乃〒34r)に人力覆る為の対応4る
アドレスを梵牛でる。史に、スレーブ・データ・プ[]
セッIJ24及びMPS22は、AC312からの特定
の制御18号によって構成される。 この動作は同期していて、V A G 20 a乃至2
0nによって実行される各々の命令に対し、メ干り34
a乃至34nからf−夕を受取るか又はぞれに対してデ
ータを入力する様な特定のスイッチの形式がM l)
S 22によって定められる。この時、このデータはス
レーブ・データ・プロセッサ24に出力することが出来
る。 例えば、2つのデータ・ワードに対する論理オア機能を
遂行づることが望ましいことがある。一方のデータ・ワ
ードをデータ・メtす34aに記憶し、もう一方をデー
タ・メモリ34bに配憶する。1つの命令で、両方のf
−タ・ワードを夫々のデータ・メモリ34a、34bか
らスレーブ・f−タ・プロセッサ24の2つの入力に出
力することが出来る。この命令の間、スレーブ・データ
・プロ1.?ツ(j24は論理17機能を遂行する様に
制御され、その出力に結果を発生でる。希望によっては
、この結果は他のデータ中メモリ34G乃〒34nの内
の1つに記憶覆ることが出来る。従って、1つの命令で
、データがメモリから取出され、す1即され、メモリに
記憶される。AC312及び種々のスレーブ装@20a
乃至2Onに於ける実際の命令の流れの訂しい例を復で
説明する。 第2図には、この発明の特定の実施例の更に詳しいブ[
1ツク図/1<示されている。第2図の実施例では、V
AG 20 a乃至20「1が平常L−ド、強制御/O
モード及びサイクル・スf−ル・L−ドで動作する。強
制御/Oモード及び1Jイクル・スチール・モードは後
で詳しく説明する。 AC312がアドレス・バス48を介1)C1外部メモ
リに記憶されているマイクロニ】−ド14とインターフ
ェース接続され、特定のマイクロコード命令をアドレス
する。マイク[]−]1−ド命は、バス5oを介して八
C312に対して出力される、AC312に対するO
p二1−ド命令と、制御バス18に出力される制御ワー
ドとで構成される。Opコードは12ヒツ1−の長さで
あり、バス50を12ビット幅にすることが必要である
。制御バス18に接続された各々のスレーブ装置が、制
御ワード中の別々のビット番号と関連している。従って
、制御ワードの長さは八C812によって制御されるス
レーブ装置の数並びにそれを制御するのに必要なビット
数に関係する。この実施例では、V A G及びスレー
ブ・データ・プロセッサが3ビット制御]−ドを必要と
し、MPS22が5ピッ1−制御]−ドを必要どする。 VAG52及びVAG54が強制御/O動作の為の組合
された1対どして設けられており、夫々VΔ01a及び
VAGl bと記しである。VAG52及び54が相互
接続バス56を介して、制御バス18の共通の3ビツト
に接続される。VAG52がマイクロコード記憶ROM
58にインターフェース接続され、V A G 54が
マイクロコード記憶ROM60とインターフェース接続
される。 ” V A G 3 ”と記したV A G 62が、
制御バス18及びマイクロコード記憶ROM64とイン
ターフェース接続される。“VΔG 4 a ”と記し
たVAG66及び’VAG4b”と記したVAG68が
、サイクル・スチール動作を遂行する様に動作が組合さ
れ、相互接続バス70を介して制御バス18の3ビツト
とインターフェース接続される。 VAG66がマイクロコード記憶ROM72どインター
フェース接続され、VΔG 6 Bがマイクロコード記
憶ROM74とインターフェース接続される。VAG5
2,54の強制御/O動作は後で更に詳しく説明する。 VAG52がデータ・メモリ76に人力するアドレスを
発生し、このメモリの出力がバス78を介してMPS2
2とインターフェース接続される。 同様に、VAG54がデータ・メモリ80に入力するア
ドレスを発生し、このメモリの出力が両方向バス82を
介してMPS22とインターフェース接続される。VA
G62がデータ・メモリ84に入力するアドレスを発生
し、このメモリの出力が両方向バス86を介してMPS
22とインターフェース接続される。 VAG66.68は、共通データ・メモリ88に出力さ
れるアドレスを発生ずる様に作用することが出来、この
メモリの出力が両方向バス90を介してMPS22とイ
ンターフェース接続される。 更に、バス90が補助表示装置1i192の人力とイン
ターフェース接続される。 パラメータ・バス26がAC312及びV A G62
.66.68と直接的にインターフェース接続されると
共に、MPSスイッヂ22とインターフェース接続され
る。パラメータ・バス26がMPS22を介してVAG
52.54と間接的にインターフェース接続される。こ
れは、データ・バス78を側路バス94を介してVAG
50のパラメータ・バス入力に接続し、両方向バス82
を側路バス96を介してVAG54のパラメータ・バス
入力と接続することによって行なわれる。MP822が
このモードに構成された時、パラメータバス26は実効
的にVAG52,54に入力し、VΔG62,66.6
8の場合と同じ形で動作する。 外部データ入力装置98がMPSスイッチ22とインタ
ーフェース接続され、アレー・プロセッサ゛にデータを
入力することが出来る様にする。後で強制御/O動作に
ついて説明するが、このデータはデータ・メモリ76又
はデータ・メモリ80の何れかに入力するものである。 データ転送を容易にする為、V A G 52及びVA
G54の両方とインターフェース接続されたハンドシェ
イク線1OOが設けられている。同様に、補助表小装置
92がハンドシェイク線/O2を介しTVΔG6Bとイ
ンターフェース接続されている。スレーブ・データ・プ
ロセッサ24は、以下V A L LJ 24と呼ぶベ
クトル算術論理装置(VAIU)を利用している。 タスク制御部分/O4が破線によって囲まれており、”
V A G 2 a ”と示したVAG/O6及び“
’VAG2b”と配したV A G /O8で構成され
ている。指令パラメータ・リスト(CP L )を記憶
するプログラム・メモリI/Oを設(」、バッファ制御
装置112がデータ・プロセッサ−/Oにインターフェ
ース接続されると共に、システム・バス113を介して
システム・データとインターフェース接続される。バッ
ファ制御装闘112は、制御線115に受取った信号に
応答して、データ・バス114に対するデータ転送を行
なうのに必要な全ての制御作用を行なう。バッファ制御
装置が、アドレス・バス116を介してアドレスするこ
とが出来る内部先入れ先出しレジスタ(P I FC)
にデータを記憶する。アドレス・バス116がVAG/
O6./O8のアドレス出力に共通に接続され−Cいる
。テ゛−タ・バス114がVAG/O6./O8の両方
にデータを入力づる。ブ1]グラム・メ七りI/OがV
AG/O6./O8から7ドレスを受取る。ilIす御
バス18が3ビツト相互接続バス118により、VAG
/O6./O8の両方とインターフェース接続される。 VAG/O6゜/O8は、サイクル・スヂール・t−ド
で組合さ7、>−C動作Jるが、後で説明する。 動作について説明すると、最初にC[〕1−をデータ・
プ[1セツリによってシスデl\・バス113からブ1
1グラム・メモリI/Oに[]−ドし、別々のタスクの
持ち行TJ+1に構成覆る。AC312がプログラム・
メtりを監視し、これらのタスクを逐次的に実行する。 八C812は、VAGloeに対づる適切な制御ワード
を発生し−C1プログラノ、・メ七りI/Oをアドレス
し、バス114にデータを出力づることにより、所定の
タスクを開始J−る。 同時に、M l) S 22がデータ・バス114をパ
ラメータ・バス26と相旬接続(Jイ)の(3二適切な
制御ワードを受取る。これにJ、−)−(△に S 1
2がタスク内の最初の7■−稈を定める適切なパ゛ノメ
ータをブ[−1グラlトメ七りI/Oから受取ることが
出来る。 次にAC312か、イの11竹を適切に開始しHつ同期
させる為に、制御バス18を介して適切な開始]−ドを
送出すことにより、残りのV A G 52 。 54.62.66.68の動作を開始りる。その後、パ
ラメータがM l) S 22及び側路バス94゜96
を介して、パラメータ・バス26からVAG62.66
.68及びVAG52.54に1コードされる。初期パ
ラメータは、通常の処理ルーチンに必要な定数等である
。 システム内の各々のV A Gは特定のルーチンを実行
する内部ソフトウェアを持っており、その各々は同じ内
部ソフ1〜つ]−7を持−)′cいる。八C812がそ
の内部の特定の開始アドレスにV A (’3を初lv
1設定する。次にAC812が内部ルーチンに順次進み
、これによってマイクロコード記憶装置14がアドレス
されて、制御バス18に制御Iソリドを出カリ−る。こ
れらの制御ワードにより、それに接続され1こV A
Gが内部命令を順次進む。これらの命令により、MPS
22にデータを出力し、又はそれからY−夕を受取る為
に、関連したデータ・メ[りをアドレスする為のアドレ
スが発生される。次にMPS22が選ばれたデータ・メ
モリの出力をデータ処理の為にVAILJ24にインタ
ーフ1−ス接続覆る。命令の流れの具体的な例は後で説
明する。 A C812G、:於cJル命令の流れ及びVAG52
゜54.62.66.68に於ける命令の流れが同期し
ていて、AC812がVAGに於ける命令の流れを制御
する為の順序制御作用をすることを理解することが重要
である。例えば、1つの命令コードはVAG52がメモ
リをアドレスして、1つのデータ・ワードをVΔ1.、
LJ 24の一方の入力に出力し、VAG62がf−
タ・メモリ84をアドレスして、VAIU24の2番目
の入力に入力する為の2番目データ・ワードを出力する
ことを要求づることがある。同じクロック・サイクルで
、V A Q 62 G、t V A 1.、 tJ
24 +7)出力/l’ I’s (11結’j3 ヲ
ーj’−タ・メモリ84に書込む様に制611される。 従って、種々のVAGの命令はインターリ−J形である
が、特定のタスクを実行する1絹の命令として、非同期
的に作用する。これは、バックグラウンド・タスクが他
のプロセッサ装置によって実行され、各々のバックグラ
ウンド・タスクがフォラフグラウンド・タスクとは別個
で別異である様な分散システムと区別すべきである。 アレー制御装置及びシーケンサ 第3図にはAC312の簡略ブロック図が示されている
。パラメータ・バス26が多重人力マルチプレクリ13
0に入力され、このマルチプレクサの出力が8×16レ
ジスタ・ファイル132に入力される。マルチプレクサ
130の出力はレジスタ134の入力にも接続され、こ
のレジスタの出力が2人力マルチプレクサ136の一方
の入力に接続される。レジスタ・ファイル132の出力
もマルチプレクリ136に入力される。マルチプレクサ
136の出力がバッファ138を介してパラメータ・バ
スに接続される。レジスタ・ファイル132は、パラメ
ータ・バスから受取ったパラメータを記憶する様に作用
し得る。 レジスタ・フッアイル132の出力が3人力マルヂプレ
クリ140に入力され、このマルチプレクリ〜の出力が
16X16データ・スタック142に接続される。デー
タ・スタック142の出力がマルチプレクサ130の1
つの入力と4人力マルチプレク(J 144の1つの入
力に入力される。マルチプレクサ144の出力がアドレ
ス・バス48に接続されると共に、プログラム・カウン
タ(PC>146の入力にも接続されている。マルチプ
レクサ144からは16ビツトが出力され、その内の1
1個がPc146に入力され、且つその全部が外部マイ
クロコード・メモリ14に入力する為にアドレス・バス
48に出力される。更に、多重マイクロコード・メモリ
を利用し、マルチプレクサ144から出力される3ピツ
1〜をチップ選択動作の為にデコード回路148に入力
することが出来る。 P C146の出力がインフレメン1−回路150を介
してマルチプレクサ1440Å力にループ状に戻ると共
に、内部命令ROM152にも入力される。インクレメ
ント回路150の出力はマルチプレクサ140の1つの
入力にも入力され、データ・スタック142に人力され
る。命令ROM152は、制御ワードを制御バス18に
出力すると共に、AC312の内部で使う為のOpa+
−ドをも出力する様に作用し得る。Op]−ドが2人力
マルチプレクサj 154に入力され、このマルチプレ
クサの出力が命令レジスタ・デフ−1回路166に入力
される。命令レジスタ・デフ−1回路166が、AC3
12を制御する為の全てのマイクロコード命令を供給す
る。マルチプレクサ154はOpコード・バス50を介
して、外部マイクロコード・メモリ14から出力される
O pコードをも受取る。 命令ROM152は、外部マイクロコード命令ROM1
4とは対照的に、内部命令ROMである。 1つのモードでは、マルチプレクサ154は、制御バス
18を外部メモリとインターフェース接続して、外部メ
モリ14からOp]−ド情報だ(:Jを受取る様に制御
される。2番目のモードでは、命令が内部命令ROM1
52に記憶され、それから制御バス18に出力される。 八C812で仙の雑多な処理を遂行する為、この他の回
路が設けられている。論理装置158は、算術論理装置
(A L U )の様な任意の形式の論理回路であって
よいが、それを設けて、レジスタ・ファイル132の出
力及び定数を受取る。論理装置158は、レジスタ・フ
ァイル132に記憶する為、マルチプレクサ130の入
力に出力する為の希望する任意の形式の論理作用を行な
う。レジスタ・ファイル132の出力がループ・カウン
タ160にも入力され、数値をインクレメント又はデク
リメントする。この値の出力が、レジスタ・ファイル1
32に記憶する為、マルチプレクサ1300Å力に接続
される。加算器162の一方の入力をレジスタ・ファイ
ル132の出力に接続し、他方の入力をマルチプレクサ
164の出力に接続する。マルチプレクサ164は←ト
々の定数を選択する。加算器162の出力が、ンル′f
/゛1ノクサ130の1つの入力とマルチプレクサ−1
40の1つの入力の両方に入力される。 バス48にマイクロコード・アドレスを発生すると共に
PCl46にこのアドレスを入力するマルチプレクサ1
44は、その別の入力がレジスタ・ファイル132の出
力及び加締器162の出力に接続されている。雑多の回
路が、ループ動作及びブランヂ動作の様な処理を行なう
。I/Oインターフェース166を設けて、AC312
を種々の外部装置とインターフェース接続出来る様にす
る。これによってAC312をその外部の伯の装置とイ
ンターフェース接続して、アレー・ブロセッザの動作を
高めることが出来る。 ベクトノし二2下L/711石 第4図には、VAG20a乃至20G(7)簡略ブロッ
ク図が示されている。制御バス18がシーケンサ170
に入力され、シーケンサの出力がマルチプレクサ172
の1つの入力に入力される。マルブブレクリ172がブ
1]グラム・カウンタ(1)C)174に供給1ノ、こ
のカウンタの出力が命令ROM176に接続される。更
に1)C174の出力がシーケンリ−170に人力され
る。シーケンけ170にはブランチ・ファイル178が
あり、これはY定数のブランチ・アドレスを持ってい−
C11)C174にあるアドレスにより、マルチブレク
リ172に対し−(ブランチ・アドレスが出力される様
にJる。 命令ROM176の出力がマルチブレク1J180に接
続され、このマルヂプレク1J−の出力が命令1ノジス
タ・デ二1−ド回路182に接続される。動作について
説明すると、PCI 74のアドレス出力が、デニ1−
ド回路182に出力する為、ROM176から予定の命
令を選択づる。これによって実行り−る為のマイク[1
]−ド命令が得られる。この代りに、シーク−ンリの出
力を線184を介して外部マイク1」二1−ドROM(
図面に示しでない)に出力することが出来る。ROMか
ら出力された命令=1−ドが、線186を介して、マル
チプレクリ−180の他りの人力に人力される9、(了
の動作モードでは、マルチブレクリ1801.1、内部
[り0M176の代りに、外部1’< OMからの出力
を選択りる様に制御される。 動作を開始しU I〕CI 74 M初期値を供給Jる
為、パラメータ・バス26がζフルヂプレクリー172
の他方の人力に人力される。開始制御]−ドが八C81
2から制御バス18を介して供給され、この値の12ピ
ツ1〜をPCI74に人力する。残りの4ビットがモー
ド・レジスタ(図面に示しでない)に人力される。モー
ド・レジスタは、flo、プログラム・メ七りからのデ
ータの検索等の様な神々の七−ドに利用される。その後
、AC312の適当な制御にJ:ってこの数値を歩進し
、ブランチ・ファイル178にある選ばれた1つのブラ
ンチ・アドレス又はぞのイ1ハのI本能に1ランチ1−
ることが出来るが、これは後で説明づる。 パラメータ・バス26がバッフ77188を介してマル
チブレクリ190の1゛つの人力に18続され、このマ
ルチブレクリの出力がレジスタ192に八力される。レ
ジスタ192の出力がバッファ194を介1ノでパラメ
ータ・バス26に入力されると共に、多重入力マルチブ
レクリ196の1つの入力に人力される。マルチブレク
リ196の出力がA L U 198の1つの人力に入
力され、Δl−tJの出力がマルチブレクリ200の1
つの入力に入力される。マルチプレクサ200の出力が
パラメータ・レジスタ・ノフイル202に入力され、パ
ラメータ・バス26から受取ったパラメータを記憶Jる
。△1... U 198の出力はピッ1−反転回路2
06をし通ってマルチブレクリ−200の人力に送られ
る。AiU198の他方の人力がマルチプレクサ208
の出力に接続され、このマルチプレクサの両方の人力が
レジスタ・ファイル202の種々の出力に接続される。 パラメータ・1ノジスタ・ファイル202の2つの別々
の出力に接続された2つの入力を有する加算器2/O.
212が設けられていて、その出力がマルチプレクサ2
00の2つの別々の人力に接続される。マルチプレクサ
196は残りの3′つの人力を持ち、その内の2つがパ
ラメータ・レジスタ・ファーイル202の種々の出力に
接続され、残り1つが1テ゛ツ1〜反転回路214を介
して、パラメータ・レジスタ・フッ・イル202の出力
に接続される。マルチブレクリ216を設けて、パラメ
ータ・レジスタ・ファイル202からの2つの出力を受
取ると共に、夫々のデータ・メモリ34a乃至34nに
対しCメ七り・アドレスを出力する。 動作について説明すると、命令ROM 176 hlら
デコード回路182に適切な命令を出1ノすることによ
り、特定の処理T稈を実行づ−ることが出来る。ループ
動作、ブランチ動作等の様な種々の処理動作を実行しT
、データ・メtす34a乃至34nに適切なアドレス
を出力Jることが出来る。 更に、I / Ol、II m装置218を設けて、読
取/書込み信号の様な、データ・メモリを制御する適切
な外部制御信号を出力する。従って、VAGは、関連し
た1つのメモリ34a乃至34r)にある特定のメモリ
位置をアドレスする為のアドレスを発生するのに必要な
全ての動作を行なう。八C812は、八C8が命令RO
M176に記憶されているプログラムを順次進める為の
順序制御をしさえすればよい。−fE’1Pc174が
VAGに対する適切な出発4:I Eに初期設定される
と、その後、このプログラムは、単にVAGの制御入力
に歩進制御を加えることにより、順次進め又は歩進する
ことが出来る。アレー・プロセッサにある各々のVAG
は同一のプログラミングを持っていて、適切な初期設定
アドレスしか必要としない。−ロ初期設定されると、単
に順序制御を加えることにより、各々のVAGにあるプ
ログラム全体を開始アドレスから歩進して行くことが出
来る。更に、必要に応じて、選ばれたVAGを他のルー
チンに初期設定することが出来る。 スレーブ・データ・プロセッサ 第5図にはスレーブ・データ・プロセッサ又はVAIU
24の回路図が示されており、その中の若干の機能的な
回路が示されている。VAIUは利用される1形式のデ
ータ処理装置に過ぎず、この発明にはこの伯の回路を使
うことが出来ることっで遂行される若干の機能は、粋術
論理装置△LU ) 、)T)算器部分及び加算器/減
算器部分の機能である。各々の部分がそれに関連した種
々のファイル及びレジスタの入力及び出力と個別にイン
ターフェース接続されている。掛算器部分は掛算器ファ
イル2201掛算器222及びシフ1−/選択部224
で形成される。加算/減算部分は加算器/減算器回路2
26、八人力レジスタ228及びB入力レジスタ230
で作られてい−C1出力がシフh /選択回路232を
通る。A111部分はALLJファイル234及びA
L U回路236で構成される。 入力ポートがA、B、Cと記されていて、16ビツ1−
のデータ・バスで構成されており、A及びBポートは入
力機能にも出力機能にも選択され、Cボートは入力ポー
トとしてだけ選択される。A。 B及びCボートが、夫々マルチプレクサ238゜240
により、掛算器ファイル220のA及びB入力に対する
入力として選ばれる。マルチプレク(J−238が、A
ボート、AI U236の出力及び加算/減算部分にあ
るシフト/選択回路232の出力の中から、入力を選択
する。マルチプレクサ240が8及びC人力ボートの間
、並びにALU236の出力ど掛算器部分のシフト/選
択回路224の出力の間で選択する。マルチプレクサ2
38.240から受取った入力が掛算器ファイル220
で処理され、掛算器222がそれに作用して、その結果
をシフト/選択回路224で処即し、全体的な乗算を行
なう。乗算にはブース・アルゴリズムを利用する。 制御バス18がシーケンサ242の入力となり、シーケ
ンサの出力がマルチプレクサ246を介してプログラム
・カウンタ(PC)244に入力され、マイクロ制tl
lROM40 (図に示してない)に対して命令アドレ
スを出力する。マイクロ制御ROM40から出力される
命令が命令デコード及びレジスタ248に入力されると
共に、マルチプレクサ246を介してPC244にも人
力される。 第5図のV A L LJ 24は、制御バス18に供
給された指令どマイクu ll1l III II O
M 40に記憶されている内部ソフトウェアの両方の制
御のもとに、種々の算術動作を遂行する。更に、八うメ
ータ・バスからMPS22を介してVAIU24にパラ
メータを入れることが出来る。V A L U 24の
動作は、1984年12月3日に出願された係属中の米
国特許出願通し番号箱677.153号に更に詳しく記
載されている。スレーブAC312によって制御される
命令の流れに従って、データを受取り、このデータに対
して予め限定された論理操作を行ない、データをMPS
22に戻す様に作用し得る任意の形式のデータ・プロセ
ッサを利用することが出来るが、V A L Uの代り
に、固定組合せ論理回路を利用してもよい。スレーブ・
データ・プロセッサ24が再構成し得ること又はAC3
12によって「スレーブ」にすることが出来ることは必
要ではない。スレーブφデータ・プロセッサ24が遂行
する特定の動作は、主に特定の用途に関係する。 V A L U 24がパラメータ・バス26とインタ
−フ■−ス接続されることが示されている。然し、パラ
メータ・バス26が実際にはVAG52又は54の何れ
かを介しC1V A 1. LJ 24ど間接的にのみ
インターフェース接続されている。パラメータは、デー
タ・メ七り76又は80に記憶する為、M [)S 2
2を介してバス78又は82に入力される。この時、V
AG52又は54は△データ・ポー1〜を介してパラメ
ータをV A L U 24に転送する様に制御される
。そこでパラメータが初19′l設定の為に利用される
。 L11久光乙J 第6図には、MPS22の一部分の簡略ブロック図が示
されている。好ましい実施例では、MP822が16ビ
ツト・ワードに用いられていて、4つの4ピツ1〜部分
の各々に対して1つずつの4つの部分に分割されている
。MPS22が6つのプロセッサ・ボー1〜及び6つの
メモリ・ボートを持っており、これらのプロセッサ及び
メ土り・ポー1へは両方向ぐある。第6図に示すMPS
22の4ピツ1〜部分が、行及び列に分けた特定の接続
パターンを記憶りる接続レジスタ・ツノ・イル250を
I青っている。6本の両h till 4 L’、ツ1
〜線252がメモリ・ボー1〜と6×6交魚スイツf2
54の間にインターフェース接続されている。6つの4
ヒツ1へ・バス256が6個のプロセッサ・ポートと6
×6交点スイッチ2570間にインターフ1−ス接続さ
れている。交点スイッチ254.257にある各点は4
ビツトで構成される。 交点スイッチ254がバッファ258の人力に接続され
、このバッファの出力が6つの4ピツ1〜・バス256
に接続されており、交点スイッチ257がバッフ126
oに入力され、このバッファの出力が6つの4ビツト・
バス252に接続されている。バッファ260は、6本
の1ビツト出力付能線264に接続されIこ出力何部回
路262ににって何曲される。 接続レジスタ・ファイル250は、レジスタ・ファイル
250の所定の行に対する接続パターンを記憶づ−る為
、1行の6個の4ビツト・ワードが現在接続レジスタ2
66に出力される様に構成ざれでいる。各々の4ビツト
・ワードが、6個の4から12へのデコーダ268のバ
ンクに入力され、このデコーダが6本の12ビツト・デ
コード線を出カリ−る。12本のデコード線の内の3木
が交点スイッチ254に入力される。各々の交点スイッ
チ254.257に入力される36木のデコード線が、
接続パターンを決定する。従って、レジスタ・ファイル
250の特定の行にある6個の4ピッ1−・ワードが、
特定の接続パターンを決定する。 パラメータ・バス26とインターフ1−ス接続される様
に、命令レジスタ及びデ]−ド回路270を設けるが、
これは遂行される特定の動作を決定する為に、5個の情
報ピッ1〜を必要とづる。MPS22は処理をせず、接
続パターンをレジスタ・ファイルに記憶り゛るど共に、
ぞれから出力することが出来る様に16だlJである。 AC312から受取った指令は木質的に特定の行及び列
(1つ又は複数)を指示する。接続パターンは後で更に
詳しく説明する。 レジスタ・−ファイル250にはパラメータ・バス26
からデータ・レジスタ272を介してロードされるが、
このレジスタは一度に1ビツトを入力Jる。パラメータ
・バスが16ピツ1−の長さであるから、第6図に示す
各々の部分には、パラメータ・バス26にある各々のデ
ータ・ワードの内の4ビツトだ
式は、サテライト処理(即ら、特殊協働ブ【]セセラを
使うこと)により、又はかなりのCF) U時間を正式
には必要とする複雑なタスクからCP IJを解放する
I/Oブ1−1セツリ゛を使うことによって構成される
。こういう外部知能要求装置は、共通の共有バスだけで
なく、システムのこの他の共有資源(例えば、メモリと
I/Oスペース周辺装置等)についても、主導権の点で
協働(並びに競合)する。こういう場合、資源−東求線
がシステムの1個の構成要素によって左右される様な普
通のマスタ・スレーブ関係よりも、一層衡平イ【ものに
する為に、管理プロl−Tlルが必要である。最も一般
的な場合、外部知能要求装置が全部CP Uであること
があり、この烏合々の資源要求装置が同じ重要性及び能
力を持つ様なマルチプロセッサを持つシステムを形成す
ることがある。 この様にして、システムの共通の資源を共有するC P
Uの間で機能を全面的に分散することが出来る。この
為、システムの段目は問題を別々のタスクに区分けして
、幾つかのプロセッサの各々が個別に1つ並列にill
即することが出来るようにし、システムの性能及び処理
量を増加することが出来る。この様な形式では、この様
な完全な自蔵式のシステムは、普通はシステム・バスを
介して、並列伝送方式を用いて相りに連絡する。プロセ
ッサの間に適当な接続リンクを設けて、システムの設泪
技術者が、どれがマスクでどれがスレーブであるかを定
めなくてもよい様にする。更に、システム・バスは各々
のプロセッサが非同期的に作用ずることが出来る様にし
、この為同じシス1−ムの中に高速及び低速のマイクロ
プロ)?ツリを取入れることが出来る。マルチプロセッ
サ・システムに於て更に重要な幾つかの点を挙げると、
(1)プロセッサがデータを混合せずに、正しく相η作
用をすることが出来ること、(2)プロセッサがシステ
ムの資源を共有することが出来ること、及び(3)プ[
1セツサの間の同期が保証される様にすることである。 こういう条件を保証する為の普通のメカニズムは、ソフ
トウェア・オペレイティング争システムによって構成さ
れるが、それらは適当なハードウェアの支援を必要とす
る。現在のマイクロプロセッサはセマフォ信号方式の為
の適当な制御ピン及び特殊命令を持っており、これは一
時的に1つのCPUを「システム・マスタ」にする。こ
のシステム・マスクは、資源のある重要な一部分を管理
し、他の全てのプロセッサがこの資源を利用出来ない様
に排除する。この様なハードウェアの支援により、マル
チプロセッサを構成する為の機構となる様なオペレイテ
ィング・システムを開発することが出来る。 マルチプロセッサ−・システムの1つの欠点は、このシ
ステム内の各々のプロセッサがある程度、他の11]セ
ツ号から独立しで動作することである。 即ち、各々のプロセッサが、残りのマルチプロセッサに
あるソフ]・ウェアとは完全に無関係に作用する内部ソ
フトウェアを持っている。各々のマルブプ[]l?ツサ
がタスク向()になっている。従って、種々のマルチプ
ロセッサのソフトウェアは関係が′/【<又はインター
リーブ形でなく、この結果システム内のあるプロセッサ
が遊び時間を持ち、タスクを実行していないと云う点で
、命令の流れの効率が悪い。従って、システムの各々の
プロセッサの遊び時間の長さを最小限にしながら、シス
テム内のプロセッサに対する処理負荷及び命令の流れを
更に容易に分散する様な更に効率のよいシステムに対す
る要望がある。この結果、多数のプロセッサが一緒に合
さって作用して、特定のタスク又は一群のタスクを実行
する。 Ulの要約 こ)で説明する発明は並ケ1強制御/O動作を持つアレ
ー・プロセッサである。このプロセッサが、アレー内の
命令の流れを制御する類1゛ト指令を発生するマスクと
して作用する制御プロセッサを含む。 複数個のスレーブ節の各々にスレーブ・プロセッサが設
けられる。1つのスレーブ節では、2つのスレーブ・/
O127号が設置ノられている。各々のスレーブ・プロ
セッサは、内部の1組の命令を実行して、伺設されたデ
ータ・メモリに出力する為のアドレスを発生する様に作
用し得る。2つのスレーブ・プロセッサを持つ節では、
1組のI/O命令が供給され、一方のスレーブ・プロセ
ッサがバックグラウンドI/Oモードで動作し、他方の
データ・プロセッサがフォアグラウンド・データ処理モ
ードで動作することが出来る様にJる。データ処理モー
ドでは、スレーブ・ブ11セッザが、順序指令に応答し
て、それと同期して、その命令の組を順次進む。制御プ
ロセラゆからの順序指令に応答して、I/Oモードに入
るが、その中の命令の流れは順序指令とは無関係に行な
われる。データ・メモリが、データを処理するデータ・
プロセッサーとインターフェース接続されると共に、ス
イッヂング装置に対するI/Oボートともインターフェ
ース接続される。I/Oボートは1つの節で2つのメモ
リだ【」とインターフェース接続される。 この発明並びにその利点が更によく理解される様に、次
に図面について説明する。 実 施 例 アレー・プロセッサ 第1図には、この発明のプログラム可能なアレー・プロ
セッサのブロック図が示されている。アレー・プロセッ
サは全体的にデータ・プロセッサ/O(破線の中に示す
)によって制御される。このデータ・プロセッサが種々
の節にある多数のアレー・プロセッサを制御するが、こ
の発明では1つのアレー・プロセッサだけが示されてい
る。アレー・プロセラ(j−はアレー制御及びシーケン
サ(八C3)12を持ち、これがアレー・プロセッサの
マスクとして作用し、その中での命令の流れ−つ − を制御する。AC312がイの内部にマイクロコード1
4を記憶するROMにあるプ[1グラムを持っているか
、或いはこの代りにマイク1−ドー1−ドを外部ROM
(図面に示してない)に記憶りることが出来る。AC3
12であるマスク・シーケンサが、制御バス18に出力
する為の制御l]−ドの順序を発生する。制御バス18
が複数個のスレーブ装置とインターフェース接続される
。スレーブ装置はベクトル・アドレス発生器20a乃至
2On、多重通路スイッチ(MPS)22、及びスレー
ブ・データ・プロセッサ24で構成されている。この実
施例では、図示のスレーブ・データ・プロセッサはベク
トル詐術論理装置(A L U >である。 全てのスレーブHIi&及び八C812がパラメータ・
バス26及び制御バス18とインターフェース接続され
る。 各々のVAG20a乃至2Onは、スレーブ・シーケン
サ28、ROMにあるマイク[I]−ド30及びアドレ
ス発生器32 で構成される。各々のVAG 20 a乃至20 n
1.L、命令を処理して、何段されたデ゛−タ・メモリ
34a 7”J ’T 34 nに出力Mる為の−j′
ドレスを発生する。 データ・メモリ34a乃至34nの出力がMPS22に
人力される。 スレーブ・データ・ブ[]セセラ1ノ4もスレーブ・シ
ー))ン→j36及びデータ処理部分38で構成される
。この実施例では、スレーブ・データ・プ1−1セッサ
24がマイクロヨードを記憶する為に外部ROM 40
とインターフェース接続される。然し、ンイクロ]−ド
がスレーブ・データ・プロセッサ24内にあるROMに
あってもよい。 動作に′つい−(説明覆ると、データ・プ[1セツサが
、アレー・プ[1tYツリが遂行1べき特定の機能を)
大定4る。これをマク目ブ目グラム又はマクロ呼出しと
呼び、11]ツク42で示す。ブロック42は、特定の
順序ぐプログラム・メモリ(図に示して′/Tい)に入
力されるマク1呼出しの持ち行列を表わす。AC312
はそれを実行する為にマクn lTh1”出しを取出す
様に作用し得る。 速いフーリエ変換(F I−’T )を遂行すると云う
11一 様り多数の責なるタスクを八C812によ−)で実行リ
−ることが出来る。特定のタスクが、マク11呼出しの
パラメータを定める指令パラメータ・リスト(CPL)
によって定められる。AC312がCPl−にあるパラ
メータを用いτタスクを遂行1ノ、パラメータは必要に
応じてアレー・ブ【−ルッ)I内に分散される。 AC312は、制御バス18にある順序の制御信号を出
力することにJ、す、1zj定のタスクを実行する。こ
の時、各々のV A G 20 a 7’J 〒20
nが、AC312からそれに対して供給された制御信号
に応答して、1絹の内部命令を順次進め、人々のデータ
・メモリ34 a乃〒34r)に人力覆る為の対応4る
アドレスを梵牛でる。史に、スレーブ・データ・プ[]
セッIJ24及びMPS22は、AC312からの特定
の制御18号によって構成される。 この動作は同期していて、V A G 20 a乃至2
0nによって実行される各々の命令に対し、メ干り34
a乃至34nからf−夕を受取るか又はぞれに対してデ
ータを入力する様な特定のスイッチの形式がM l)
S 22によって定められる。この時、このデータはス
レーブ・データ・プロセッサ24に出力することが出来
る。 例えば、2つのデータ・ワードに対する論理オア機能を
遂行づることが望ましいことがある。一方のデータ・ワ
ードをデータ・メtす34aに記憶し、もう一方をデー
タ・メモリ34bに配憶する。1つの命令で、両方のf
−タ・ワードを夫々のデータ・メモリ34a、34bか
らスレーブ・f−タ・プロセッサ24の2つの入力に出
力することが出来る。この命令の間、スレーブ・データ
・プロ1.?ツ(j24は論理17機能を遂行する様に
制御され、その出力に結果を発生でる。希望によっては
、この結果は他のデータ中メモリ34G乃〒34nの内
の1つに記憶覆ることが出来る。従って、1つの命令で
、データがメモリから取出され、す1即され、メモリに
記憶される。AC312及び種々のスレーブ装@20a
乃至2Onに於ける実際の命令の流れの訂しい例を復で
説明する。 第2図には、この発明の特定の実施例の更に詳しいブ[
1ツク図/1<示されている。第2図の実施例では、V
AG 20 a乃至20「1が平常L−ド、強制御/O
モード及びサイクル・スf−ル・L−ドで動作する。強
制御/Oモード及び1Jイクル・スチール・モードは後
で詳しく説明する。 AC312がアドレス・バス48を介1)C1外部メモ
リに記憶されているマイクロニ】−ド14とインターフ
ェース接続され、特定のマイクロコード命令をアドレス
する。マイク[]−]1−ド命は、バス5oを介して八
C312に対して出力される、AC312に対するO
p二1−ド命令と、制御バス18に出力される制御ワー
ドとで構成される。Opコードは12ヒツ1−の長さで
あり、バス50を12ビット幅にすることが必要である
。制御バス18に接続された各々のスレーブ装置が、制
御ワード中の別々のビット番号と関連している。従って
、制御ワードの長さは八C812によって制御されるス
レーブ装置の数並びにそれを制御するのに必要なビット
数に関係する。この実施例では、V A G及びスレー
ブ・データ・プロセッサが3ビット制御]−ドを必要と
し、MPS22が5ピッ1−制御]−ドを必要どする。 VAG52及びVAG54が強制御/O動作の為の組合
された1対どして設けられており、夫々VΔ01a及び
VAGl bと記しである。VAG52及び54が相互
接続バス56を介して、制御バス18の共通の3ビツト
に接続される。VAG52がマイクロコード記憶ROM
58にインターフェース接続され、V A G 54が
マイクロコード記憶ROM60とインターフェース接続
される。 ” V A G 3 ”と記したV A G 62が、
制御バス18及びマイクロコード記憶ROM64とイン
ターフェース接続される。“VΔG 4 a ”と記し
たVAG66及び’VAG4b”と記したVAG68が
、サイクル・スチール動作を遂行する様に動作が組合さ
れ、相互接続バス70を介して制御バス18の3ビツト
とインターフェース接続される。 VAG66がマイクロコード記憶ROM72どインター
フェース接続され、VΔG 6 Bがマイクロコード記
憶ROM74とインターフェース接続される。VAG5
2,54の強制御/O動作は後で更に詳しく説明する。 VAG52がデータ・メモリ76に人力するアドレスを
発生し、このメモリの出力がバス78を介してMPS2
2とインターフェース接続される。 同様に、VAG54がデータ・メモリ80に入力するア
ドレスを発生し、このメモリの出力が両方向バス82を
介してMPS22とインターフェース接続される。VA
G62がデータ・メモリ84に入力するアドレスを発生
し、このメモリの出力が両方向バス86を介してMPS
22とインターフェース接続される。 VAG66.68は、共通データ・メモリ88に出力さ
れるアドレスを発生ずる様に作用することが出来、この
メモリの出力が両方向バス90を介してMPS22とイ
ンターフェース接続される。 更に、バス90が補助表示装置1i192の人力とイン
ターフェース接続される。 パラメータ・バス26がAC312及びV A G62
.66.68と直接的にインターフェース接続されると
共に、MPSスイッヂ22とインターフェース接続され
る。パラメータ・バス26がMPS22を介してVAG
52.54と間接的にインターフェース接続される。こ
れは、データ・バス78を側路バス94を介してVAG
50のパラメータ・バス入力に接続し、両方向バス82
を側路バス96を介してVAG54のパラメータ・バス
入力と接続することによって行なわれる。MP822が
このモードに構成された時、パラメータバス26は実効
的にVAG52,54に入力し、VΔG62,66.6
8の場合と同じ形で動作する。 外部データ入力装置98がMPSスイッチ22とインタ
ーフェース接続され、アレー・プロセッサ゛にデータを
入力することが出来る様にする。後で強制御/O動作に
ついて説明するが、このデータはデータ・メモリ76又
はデータ・メモリ80の何れかに入力するものである。 データ転送を容易にする為、V A G 52及びVA
G54の両方とインターフェース接続されたハンドシェ
イク線1OOが設けられている。同様に、補助表小装置
92がハンドシェイク線/O2を介しTVΔG6Bとイ
ンターフェース接続されている。スレーブ・データ・プ
ロセッサ24は、以下V A L LJ 24と呼ぶベ
クトル算術論理装置(VAIU)を利用している。 タスク制御部分/O4が破線によって囲まれており、”
V A G 2 a ”と示したVAG/O6及び“
’VAG2b”と配したV A G /O8で構成され
ている。指令パラメータ・リスト(CP L )を記憶
するプログラム・メモリI/Oを設(」、バッファ制御
装置112がデータ・プロセッサ−/Oにインターフェ
ース接続されると共に、システム・バス113を介して
システム・データとインターフェース接続される。バッ
ファ制御装闘112は、制御線115に受取った信号に
応答して、データ・バス114に対するデータ転送を行
なうのに必要な全ての制御作用を行なう。バッファ制御
装置が、アドレス・バス116を介してアドレスするこ
とが出来る内部先入れ先出しレジスタ(P I FC)
にデータを記憶する。アドレス・バス116がVAG/
O6./O8のアドレス出力に共通に接続され−Cいる
。テ゛−タ・バス114がVAG/O6./O8の両方
にデータを入力づる。ブ1]グラム・メ七りI/OがV
AG/O6./O8から7ドレスを受取る。ilIす御
バス18が3ビツト相互接続バス118により、VAG
/O6./O8の両方とインターフェース接続される。 VAG/O6゜/O8は、サイクル・スヂール・t−ド
で組合さ7、>−C動作Jるが、後で説明する。 動作について説明すると、最初にC[〕1−をデータ・
プ[1セツリによってシスデl\・バス113からブ1
1グラム・メモリI/Oに[]−ドし、別々のタスクの
持ち行TJ+1に構成覆る。AC312がプログラム・
メtりを監視し、これらのタスクを逐次的に実行する。 八C812は、VAGloeに対づる適切な制御ワード
を発生し−C1プログラノ、・メ七りI/Oをアドレス
し、バス114にデータを出力づることにより、所定の
タスクを開始J−る。 同時に、M l) S 22がデータ・バス114をパ
ラメータ・バス26と相旬接続(Jイ)の(3二適切な
制御ワードを受取る。これにJ、−)−(△に S 1
2がタスク内の最初の7■−稈を定める適切なパ゛ノメ
ータをブ[−1グラlトメ七りI/Oから受取ることが
出来る。 次にAC312か、イの11竹を適切に開始しHつ同期
させる為に、制御バス18を介して適切な開始]−ドを
送出すことにより、残りのV A G 52 。 54.62.66.68の動作を開始りる。その後、パ
ラメータがM l) S 22及び側路バス94゜96
を介して、パラメータ・バス26からVAG62.66
.68及びVAG52.54に1コードされる。初期パ
ラメータは、通常の処理ルーチンに必要な定数等である
。 システム内の各々のV A Gは特定のルーチンを実行
する内部ソフトウェアを持っており、その各々は同じ内
部ソフ1〜つ]−7を持−)′cいる。八C812がそ
の内部の特定の開始アドレスにV A (’3を初lv
1設定する。次にAC812が内部ルーチンに順次進み
、これによってマイクロコード記憶装置14がアドレス
されて、制御バス18に制御Iソリドを出カリ−る。こ
れらの制御ワードにより、それに接続され1こV A
Gが内部命令を順次進む。これらの命令により、MPS
22にデータを出力し、又はそれからY−夕を受取る為
に、関連したデータ・メ[りをアドレスする為のアドレ
スが発生される。次にMPS22が選ばれたデータ・メ
モリの出力をデータ処理の為にVAILJ24にインタ
ーフ1−ス接続覆る。命令の流れの具体的な例は後で説
明する。 A C812G、:於cJル命令の流れ及びVAG52
゜54.62.66.68に於ける命令の流れが同期し
ていて、AC812がVAGに於ける命令の流れを制御
する為の順序制御作用をすることを理解することが重要
である。例えば、1つの命令コードはVAG52がメモ
リをアドレスして、1つのデータ・ワードをVΔ1.、
LJ 24の一方の入力に出力し、VAG62がf−
タ・メモリ84をアドレスして、VAIU24の2番目
の入力に入力する為の2番目データ・ワードを出力する
ことを要求づることがある。同じクロック・サイクルで
、V A Q 62 G、t V A 1.、 tJ
24 +7)出力/l’ I’s (11結’j3 ヲ
ーj’−タ・メモリ84に書込む様に制611される。 従って、種々のVAGの命令はインターリ−J形である
が、特定のタスクを実行する1絹の命令として、非同期
的に作用する。これは、バックグラウンド・タスクが他
のプロセッサ装置によって実行され、各々のバックグラ
ウンド・タスクがフォラフグラウンド・タスクとは別個
で別異である様な分散システムと区別すべきである。 アレー制御装置及びシーケンサ 第3図にはAC312の簡略ブロック図が示されている
。パラメータ・バス26が多重人力マルチプレクリ13
0に入力され、このマルチプレクサの出力が8×16レ
ジスタ・ファイル132に入力される。マルチプレクサ
130の出力はレジスタ134の入力にも接続され、こ
のレジスタの出力が2人力マルチプレクサ136の一方
の入力に接続される。レジスタ・ファイル132の出力
もマルチプレクリ136に入力される。マルチプレクサ
136の出力がバッファ138を介してパラメータ・バ
スに接続される。レジスタ・ファイル132は、パラメ
ータ・バスから受取ったパラメータを記憶する様に作用
し得る。 レジスタ・フッアイル132の出力が3人力マルヂプレ
クリ140に入力され、このマルチプレクリ〜の出力が
16X16データ・スタック142に接続される。デー
タ・スタック142の出力がマルチプレクサ130の1
つの入力と4人力マルチプレク(J 144の1つの入
力に入力される。マルチプレクサ144の出力がアドレ
ス・バス48に接続されると共に、プログラム・カウン
タ(PC>146の入力にも接続されている。マルチプ
レクサ144からは16ビツトが出力され、その内の1
1個がPc146に入力され、且つその全部が外部マイ
クロコード・メモリ14に入力する為にアドレス・バス
48に出力される。更に、多重マイクロコード・メモリ
を利用し、マルチプレクサ144から出力される3ピツ
1〜をチップ選択動作の為にデコード回路148に入力
することが出来る。 P C146の出力がインフレメン1−回路150を介
してマルチプレクサ1440Å力にループ状に戻ると共
に、内部命令ROM152にも入力される。インクレメ
ント回路150の出力はマルチプレクサ140の1つの
入力にも入力され、データ・スタック142に人力され
る。命令ROM152は、制御ワードを制御バス18に
出力すると共に、AC312の内部で使う為のOpa+
−ドをも出力する様に作用し得る。Op]−ドが2人力
マルチプレクサj 154に入力され、このマルチプレ
クサの出力が命令レジスタ・デフ−1回路166に入力
される。命令レジスタ・デフ−1回路166が、AC3
12を制御する為の全てのマイクロコード命令を供給す
る。マルチプレクサ154はOpコード・バス50を介
して、外部マイクロコード・メモリ14から出力される
O pコードをも受取る。 命令ROM152は、外部マイクロコード命令ROM1
4とは対照的に、内部命令ROMである。 1つのモードでは、マルチプレクサ154は、制御バス
18を外部メモリとインターフェース接続して、外部メ
モリ14からOp]−ド情報だ(:Jを受取る様に制御
される。2番目のモードでは、命令が内部命令ROM1
52に記憶され、それから制御バス18に出力される。 八C812で仙の雑多な処理を遂行する為、この他の回
路が設けられている。論理装置158は、算術論理装置
(A L U )の様な任意の形式の論理回路であって
よいが、それを設けて、レジスタ・ファイル132の出
力及び定数を受取る。論理装置158は、レジスタ・フ
ァイル132に記憶する為、マルチプレクサ130の入
力に出力する為の希望する任意の形式の論理作用を行な
う。レジスタ・ファイル132の出力がループ・カウン
タ160にも入力され、数値をインクレメント又はデク
リメントする。この値の出力が、レジスタ・ファイル1
32に記憶する為、マルチプレクサ1300Å力に接続
される。加算器162の一方の入力をレジスタ・ファイ
ル132の出力に接続し、他方の入力をマルチプレクサ
164の出力に接続する。マルチプレクサ164は←ト
々の定数を選択する。加算器162の出力が、ンル′f
/゛1ノクサ130の1つの入力とマルチプレクサ−1
40の1つの入力の両方に入力される。 バス48にマイクロコード・アドレスを発生すると共に
PCl46にこのアドレスを入力するマルチプレクサ1
44は、その別の入力がレジスタ・ファイル132の出
力及び加締器162の出力に接続されている。雑多の回
路が、ループ動作及びブランヂ動作の様な処理を行なう
。I/Oインターフェース166を設けて、AC312
を種々の外部装置とインターフェース接続出来る様にす
る。これによってAC312をその外部の伯の装置とイ
ンターフェース接続して、アレー・ブロセッザの動作を
高めることが出来る。 ベクトノし二2下L/711石 第4図には、VAG20a乃至20G(7)簡略ブロッ
ク図が示されている。制御バス18がシーケンサ170
に入力され、シーケンサの出力がマルチプレクサ172
の1つの入力に入力される。マルブブレクリ172がブ
1]グラム・カウンタ(1)C)174に供給1ノ、こ
のカウンタの出力が命令ROM176に接続される。更
に1)C174の出力がシーケンリ−170に人力され
る。シーケンけ170にはブランチ・ファイル178が
あり、これはY定数のブランチ・アドレスを持ってい−
C11)C174にあるアドレスにより、マルチブレク
リ172に対し−(ブランチ・アドレスが出力される様
にJる。 命令ROM176の出力がマルチブレク1J180に接
続され、このマルヂプレク1J−の出力が命令1ノジス
タ・デ二1−ド回路182に接続される。動作について
説明すると、PCI 74のアドレス出力が、デニ1−
ド回路182に出力する為、ROM176から予定の命
令を選択づる。これによって実行り−る為のマイク[1
]−ド命令が得られる。この代りに、シーク−ンリの出
力を線184を介して外部マイク1」二1−ドROM(
図面に示しでない)に出力することが出来る。ROMか
ら出力された命令=1−ドが、線186を介して、マル
チプレクリ−180の他りの人力に人力される9、(了
の動作モードでは、マルチブレクリ1801.1、内部
[り0M176の代りに、外部1’< OMからの出力
を選択りる様に制御される。 動作を開始しU I〕CI 74 M初期値を供給Jる
為、パラメータ・バス26がζフルヂプレクリー172
の他方の人力に人力される。開始制御]−ドが八C81
2から制御バス18を介して供給され、この値の12ピ
ツ1〜をPCI74に人力する。残りの4ビットがモー
ド・レジスタ(図面に示しでない)に人力される。モー
ド・レジスタは、flo、プログラム・メ七りからのデ
ータの検索等の様な神々の七−ドに利用される。その後
、AC312の適当な制御にJ:ってこの数値を歩進し
、ブランチ・ファイル178にある選ばれた1つのブラ
ンチ・アドレス又はぞのイ1ハのI本能に1ランチ1−
ることが出来るが、これは後で説明づる。 パラメータ・バス26がバッフ77188を介してマル
チブレクリ190の1゛つの人力に18続され、このマ
ルチブレクリの出力がレジスタ192に八力される。レ
ジスタ192の出力がバッファ194を介1ノでパラメ
ータ・バス26に入力されると共に、多重入力マルチブ
レクリ196の1つの入力に人力される。マルチブレク
リ196の出力がA L U 198の1つの人力に入
力され、Δl−tJの出力がマルチブレクリ200の1
つの入力に入力される。マルチプレクサ200の出力が
パラメータ・レジスタ・ノフイル202に入力され、パ
ラメータ・バス26から受取ったパラメータを記憶Jる
。△1... U 198の出力はピッ1−反転回路2
06をし通ってマルチブレクリ−200の人力に送られ
る。AiU198の他方の人力がマルチプレクサ208
の出力に接続され、このマルチプレクサの両方の人力が
レジスタ・ファイル202の種々の出力に接続される。 パラメータ・1ノジスタ・ファイル202の2つの別々
の出力に接続された2つの入力を有する加算器2/O.
212が設けられていて、その出力がマルチプレクサ2
00の2つの別々の人力に接続される。マルチプレクサ
196は残りの3′つの人力を持ち、その内の2つがパ
ラメータ・レジスタ・ファーイル202の種々の出力に
接続され、残り1つが1テ゛ツ1〜反転回路214を介
して、パラメータ・レジスタ・フッ・イル202の出力
に接続される。マルチブレクリ216を設けて、パラメ
ータ・レジスタ・ファイル202からの2つの出力を受
取ると共に、夫々のデータ・メモリ34a乃至34nに
対しCメ七り・アドレスを出力する。 動作について説明すると、命令ROM 176 hlら
デコード回路182に適切な命令を出1ノすることによ
り、特定の処理T稈を実行づ−ることが出来る。ループ
動作、ブランチ動作等の様な種々の処理動作を実行しT
、データ・メtす34a乃至34nに適切なアドレス
を出力Jることが出来る。 更に、I / Ol、II m装置218を設けて、読
取/書込み信号の様な、データ・メモリを制御する適切
な外部制御信号を出力する。従って、VAGは、関連し
た1つのメモリ34a乃至34r)にある特定のメモリ
位置をアドレスする為のアドレスを発生するのに必要な
全ての動作を行なう。八C812は、八C8が命令RO
M176に記憶されているプログラムを順次進める為の
順序制御をしさえすればよい。−fE’1Pc174が
VAGに対する適切な出発4:I Eに初期設定される
と、その後、このプログラムは、単にVAGの制御入力
に歩進制御を加えることにより、順次進め又は歩進する
ことが出来る。アレー・プロセッサにある各々のVAG
は同一のプログラミングを持っていて、適切な初期設定
アドレスしか必要としない。−ロ初期設定されると、単
に順序制御を加えることにより、各々のVAGにあるプ
ログラム全体を開始アドレスから歩進して行くことが出
来る。更に、必要に応じて、選ばれたVAGを他のルー
チンに初期設定することが出来る。 スレーブ・データ・プロセッサ 第5図にはスレーブ・データ・プロセッサ又はVAIU
24の回路図が示されており、その中の若干の機能的な
回路が示されている。VAIUは利用される1形式のデ
ータ処理装置に過ぎず、この発明にはこの伯の回路を使
うことが出来ることっで遂行される若干の機能は、粋術
論理装置△LU ) 、)T)算器部分及び加算器/減
算器部分の機能である。各々の部分がそれに関連した種
々のファイル及びレジスタの入力及び出力と個別にイン
ターフェース接続されている。掛算器部分は掛算器ファ
イル2201掛算器222及びシフ1−/選択部224
で形成される。加算/減算部分は加算器/減算器回路2
26、八人力レジスタ228及びB入力レジスタ230
で作られてい−C1出力がシフh /選択回路232を
通る。A111部分はALLJファイル234及びA
L U回路236で構成される。 入力ポートがA、B、Cと記されていて、16ビツ1−
のデータ・バスで構成されており、A及びBポートは入
力機能にも出力機能にも選択され、Cボートは入力ポー
トとしてだけ選択される。A。 B及びCボートが、夫々マルチプレクサ238゜240
により、掛算器ファイル220のA及びB入力に対する
入力として選ばれる。マルチプレク(J−238が、A
ボート、AI U236の出力及び加算/減算部分にあ
るシフト/選択回路232の出力の中から、入力を選択
する。マルチプレクサ240が8及びC人力ボートの間
、並びにALU236の出力ど掛算器部分のシフト/選
択回路224の出力の間で選択する。マルチプレクサ2
38.240から受取った入力が掛算器ファイル220
で処理され、掛算器222がそれに作用して、その結果
をシフト/選択回路224で処即し、全体的な乗算を行
なう。乗算にはブース・アルゴリズムを利用する。 制御バス18がシーケンサ242の入力となり、シーケ
ンサの出力がマルチプレクサ246を介してプログラム
・カウンタ(PC)244に入力され、マイクロ制tl
lROM40 (図に示してない)に対して命令アドレ
スを出力する。マイクロ制御ROM40から出力される
命令が命令デコード及びレジスタ248に入力されると
共に、マルチプレクサ246を介してPC244にも人
力される。 第5図のV A L LJ 24は、制御バス18に供
給された指令どマイクu ll1l III II O
M 40に記憶されている内部ソフトウェアの両方の制
御のもとに、種々の算術動作を遂行する。更に、八うメ
ータ・バスからMPS22を介してVAIU24にパラ
メータを入れることが出来る。V A L U 24の
動作は、1984年12月3日に出願された係属中の米
国特許出願通し番号箱677.153号に更に詳しく記
載されている。スレーブAC312によって制御される
命令の流れに従って、データを受取り、このデータに対
して予め限定された論理操作を行ない、データをMPS
22に戻す様に作用し得る任意の形式のデータ・プロセ
ッサを利用することが出来るが、V A L Uの代り
に、固定組合せ論理回路を利用してもよい。スレーブ・
データ・プロセッサ24が再構成し得ること又はAC3
12によって「スレーブ」にすることが出来ることは必
要ではない。スレーブφデータ・プロセッサ24が遂行
する特定の動作は、主に特定の用途に関係する。 V A L U 24がパラメータ・バス26とインタ
−フ■−ス接続されることが示されている。然し、パラ
メータ・バス26が実際にはVAG52又は54の何れ
かを介しC1V A 1. LJ 24ど間接的にのみ
インターフェース接続されている。パラメータは、デー
タ・メ七り76又は80に記憶する為、M [)S 2
2を介してバス78又は82に入力される。この時、V
AG52又は54は△データ・ポー1〜を介してパラメ
ータをV A L U 24に転送する様に制御される
。そこでパラメータが初19′l設定の為に利用される
。 L11久光乙J 第6図には、MPS22の一部分の簡略ブロック図が示
されている。好ましい実施例では、MP822が16ビ
ツト・ワードに用いられていて、4つの4ピツ1〜部分
の各々に対して1つずつの4つの部分に分割されている
。MPS22が6つのプロセッサ・ボー1〜及び6つの
メモリ・ボートを持っており、これらのプロセッサ及び
メ土り・ポー1へは両方向ぐある。第6図に示すMPS
22の4ピツ1〜部分が、行及び列に分けた特定の接続
パターンを記憶りる接続レジスタ・ツノ・イル250を
I青っている。6本の両h till 4 L’、ツ1
〜線252がメモリ・ボー1〜と6×6交魚スイツf2
54の間にインターフェース接続されている。6つの4
ヒツ1へ・バス256が6個のプロセッサ・ポートと6
×6交点スイッチ2570間にインターフ1−ス接続さ
れている。交点スイッチ254.257にある各点は4
ビツトで構成される。 交点スイッチ254がバッファ258の人力に接続され
、このバッファの出力が6つの4ピツ1〜・バス256
に接続されており、交点スイッチ257がバッフ126
oに入力され、このバッファの出力が6つの4ビツト・
バス252に接続されている。バッファ260は、6本
の1ビツト出力付能線264に接続されIこ出力何部回
路262ににって何曲される。 接続レジスタ・ファイル250は、レジスタ・ファイル
250の所定の行に対する接続パターンを記憶づ−る為
、1行の6個の4ビツト・ワードが現在接続レジスタ2
66に出力される様に構成ざれでいる。各々の4ビツト
・ワードが、6個の4から12へのデコーダ268のバ
ンクに入力され、このデコーダが6本の12ビツト・デ
コード線を出カリ−る。12本のデコード線の内の3木
が交点スイッチ254に入力される。各々の交点スイッ
チ254.257に入力される36木のデコード線が、
接続パターンを決定する。従って、レジスタ・ファイル
250の特定の行にある6個の4ピッ1−・ワードが、
特定の接続パターンを決定する。 パラメータ・バス26とインターフ1−ス接続される様
に、命令レジスタ及びデ]−ド回路270を設けるが、
これは遂行される特定の動作を決定する為に、5個の情
報ピッ1〜を必要とづる。MPS22は処理をせず、接
続パターンをレジスタ・ファイルに記憶り゛るど共に、
ぞれから出力することが出来る様に16だlJである。 AC312から受取った指令は木質的に特定の行及び列
(1つ又は複数)を指示する。接続パターンは後で更に
詳しく説明する。 レジスタ・−ファイル250にはパラメータ・バス26
からデータ・レジスタ272を介してロードされるが、
このレジスタは一度に1ビツトを入力Jる。パラメータ
・バスが16ピツ1−の長さであるから、第6図に示す
各々の部分には、パラメータ・バス26にある各々のデ
ータ・ワードの内の4ビツトだ
【プがロードされる。こ
の代りに、接続レジスタ・ファイル250の各々の)1
1にある4ビツトの各々をマルチプレク++274を介
してパラメータ・バス18に出力することが出来る。 命令の流れの例 第7図には、第1図のアレー・プ[1セツサの簡略ブロ
ック図が示されており、3つのVAG20a乃至20c
と3つのデータ・メモリ34a乃至34Gが示されてい
る。スレーブ・データ・プロセッサ24にはVAIUが
用いられている。第7図の実施例を利用して、アレー・
プ[]セセラが、表1に示す2つの8ワード・ベクトル
のベクトル加算を遂行する為に利用される、アレー・プ
ロセッサの簡単な例を説明する。2つのへカベク1〜ル
・オペランドがデータ・メ1す34a及び34Cのアド
レスO乃至7に記憶され−Cいる。合成和ベクトルはメ
モリ34bに書込む。読取及び書込み動作が3つのVA
G28a乃至28Gによって制御される。 表 1 ベタ1〜ル加算 5 5 5 A 6 6 6 C 777「 メモリ34a乃至34Gは2つの静止形RAM(SRA
M)で構成され、16個のデータ・ピッ1〜に対してこ
れらが必要である。V A L U 24は内部の制御
ROMを持っていないので、この装置は外部制御メモリ
40を利用する。この外部制御メ七りは、64ピツ1〜
のマイク[]命令ワードを構成づる為に8個のS RA
Mで構成されでいる。MPS22は、こういう余分の
加算を行く【うiζ1に、AC8によって必要なデータ
通路の接続が作られる。MPS22は4つのメモリ・ボ
ートM1乃至M4及び3つのプロセッサ・ボー1− P
/l乃至R6を持っている。パラメータ・バス26が
MPS22に接続データを入力する為のデータ入力(B
)に入力すると共に、M1人力にも接続され、VAL
U 24にデータを間接的に入力することが出来る様に
する。V A L U 24がデータを受取る△。 B及びCボー1〜を持っている。A及びBポートは両方
向であり、Cボートは一方向である。パラメータ・バス
26をMPS22のH4ポー1へに接続したことにより
、V A L U 24をそのデータボーh Aによっ
てマクロプログラム開始アドレスに初期設定することが
出来る。 表2に示す様な4つの異なる接続を持つ接続レジスタ・
ファイルをロードすることにより、MP822は必要な
データ通路の接続が構成される。 表2で、接続レジスタ・ファイルは6列及び6行を持っ
ている。第1行は初期設定パターンを含んでおり、H4
がP/Iに接続され、V A l−U 24を初期設定
1′ることが出来る様にする。第2行のR2では、メモ
リ・ボートM1.M3が夫々プロセッサ・ボー1〜P4
.R6に接続され、メモリ34a、34cをVALtJ
24(7)A及びBボートに接続することが出来る様に
する。プロセッサ・ボートP5がメモリ・ボートM2に
接続され、VALU24のBボー1〜をデータ・メモリ
34bに接続出来る様にする。表2は、レジスタ・ファ
イルに4ビツト・データを書込むのに必要な指令コード
をも示している。 表 2 Pi R2R3Pit Ph
P(iRI X X XH4PP4 X
XR2x x x HIPP4 P5P
H2H3PP6R3xxxx x
xR4x x x x
x x115xxxx
x xR6xxxx x
xHPS 1 コ − ζ
C1,R接続レジスタ・ファイルをクリアPTI
行1を指示 稠旧、14 フィールドP4に0/O0を書込むPT
2 行2を指示 WR4,II フィールドP4に0001を書込むW
R5,IA フィールドP5に/O/Oを書込む賛R
6,13フィールドP6に0011を書込むAC312
がMPS22の初期設定を完了した後、VAGのアキュ
ムレータ・ポインタを初期設定しなければならない。ア
キュムレータ・ポインタは、パラメータ・レジスタφフ
ァイルのレジス今Oの4つの4ビ゛ツ1へ・二]−ドに
ス・1応1Jる。各々の−1−ドは、フAj′グラウン
ド又はバックグラウンドl!の何れかに対し、アキコム
レータO(八〇)又は1)キー11\レータ1(Δ1)
の何れかとしCI/[用号るフッ・イル・レジスタを特
定Jる13表3は所定のVAGに対Jる制御メモリを示
1)でおり、3゛0のVAG 24 a乃至24Gの各
々に対Jる制御311ヌ上りは同一・で゛ある。これは
33つのマク]]]ブ[]グラl\C構成されでおり、
その1番1]が16進値2/O0をレジスタROに1−
1−ドし、16進Ill′/O000をレジスタR1及
びR2に[1−ド覆る様に作用J−る。アキ11\−タ
AOがレジスタR2に対応1)、j7キユムレータA1
がレジスタ[)1に対応りる。△C812が、VAGを
マク[1聞始′)1ド1ノスを初期設定りる、各々のV
AGに対(る初朗設定二]−ドI N I T、ぞの後
、V A Gをマク1]ブ[!グーツムの中で歩進させ
る一連の5TEP−1−ド、「−X「7C」−ド、最1
玲に動fl/> L/ 二1−ドrあルN00Pml−
ドを発生リ−る。「XFC−1−ドが、最後の1′丁)
前の命令を実11するのに役立つが、Pcm 43− /]<S ro1〕/No(’IP +−ド【゛ある最
((の命令を指爪づる様にする。各々のV A G及び
マタ日ブ1]グラ18の終りにS T OP/ N (
’) (’) P +−1を入れ(、マク1]ブE−]
グ′ツムの実行が完了しt:= (11+、この命令が
VAG命令レジスタにある様に116゜表 3 制御メモリ 隻進アートレ不 K柔りリ命令 =1メン
1〜000 5TOP l N0OP000−
!iFl 自己試験の為に保留600
0−>BOアキ」ムレータの設定:601
BO−>RO2/O0−>RO及び602
BO−>R1初期設定:fi+13
BO−>R20000−>AO,八1604
NFXT ILIIBI I/O #2160!
i RFSr RW (i06 5TOP IHOOP607
NrXT l^0)1−>AOI Ill請11
ヘタ1−jlz読111??’70608
5TOP I N0OP609 NE
XT lへQ+1−>^01誓RITf ベクトル
書込みマクロ60A 5TOP I N0O
P[/O,R1,R2−パラメータ・ファイル・レジス
タBO=PCブランヂ・ファイル・レジスタ八〇
−アキュム1ノータOレジスタ次のTNITI−ドが
送1″)れるま−(、一連のN00PTI−ドがV A
Gに送られる。次のTNITI−ドがVAGに記録さ
れた峙、S −/O!−)/ N 00 P ml−ド
が実行され、N OOl’)が遂t1される。 残りの2つのV A Gのマク【]プロゲラ1、がベタ
1〜ル加算読取及び書込み動作の為に使われる。この場
合も、TNITI−ドを使ってV A Gにマクロプロ
グラム開始アドレスを朝明、:9定し、その後一連のE
X F CTl−ドを送って、6東41同数だけ、最
初のマイクロ命令を実行させる。 表3で、16進]−ドロ00乃〒606はアキコムレー
タの設定に対応づろ。読取に対するマクロ命令がアドレ
ス607で初期設定され、ループ状に戻って、アキ11
\レータ・レジスタ80をインフレメン1〜し、データ
・メモリから8個のデータ・ワードを読取る。同様に、
16進アドレス609に初期設定することにJ、す、内
込み命令がループ状に戻って、8個のデータ・ワードの
ブl]ツクをメモリに書込むことが出来る様にする。 V A L U 24の制御メモリが表4に示されてい
る5、このメモリはボートへの数値をΔ1−(jファイ
ル・レジスタAOにロードし、ボートCの数値をΔ1−
1J)1イル・レジスタA1にロードする為に、16進
アドレスOo2に初!!11 設定されるマクロプログ
ラムを含む。この後、ファイル・レジスタAO及び△1
を加算して、出力の結果を出し、それがボートBを介し
て出力される。これはV A L U24ににって遂行
される簡単なベクトル加算であり、アレー・プロセッサ
のデータ処理部分を構成する。 表 4 VへG制御メモリ 16進 アドレス マイクロ命令往 000 N0OP 001 N0OP 002 PTA−>AOIPTc−>八l
lへ〇+AI−>0LITB l0IITB−>PT
B ヘ’)ト)Lt003 N0OP
加算マクロP
TA、 PTB、 PTC−ボートA、B、CAO,^
1 −へ団フアイル・レジスタ011TB
−ボートBの出力レジスタ= 47 − ACSマイク[−1111グラム・二1−ドは、同じ制
御]−ドが反復的に出力される相次ぐり11ツク・4ノ
イクルを同定することによってJ′T:縮りることが出
来る。これは普通はループ動作に使われる。この場合、
AC312が同じメモリ位置を何回もアドレスし、各々
のループの間、制tIl]−ドが反復的に出力される。 VAGをアキュムレータ設定マクロプログラムの中で歩
進させる時、同じ圧縮を達成することが出来る。AC3
12に対する制御メモリの構成が表5に示されている。 八C312の初期ノ7ド1ノ又は、動作していない時に
AC8がそこにあるアドレス0あるが、これにJ、って
スレーブ制御−1−ドがパラメータ・バス26に出力さ
れ、0p−1−ドがACSマイク「1命令どしU、AC
312に人力される。初期ノアドレス000では、全て
のスレーブ装置にHA I T制御が送られており、N
0OPマイク[1命令がAC812に送られる。最初電
源をAンにした時、スレーブ装置は、通常の運転モード
にない為、1−1Δ1−1−指令に応答しない。それら
は自動的にアドレスOOOOにリセツ1−される。通常
のIl+竹モードの1−1△1−[命令にJ−リ、スレ
ーブ装置は、内部レジスタが何等かの特定の77ドレス
にあることを必要どl!ずに、処理を停止l−する。次
の命令アドレス001は、1−プ[1グラムが存在する
所であるアドレス200に対してブランチするブランチ
・アトlメスである。アドレス200では、MPS22
がCIR指令に」、っ−Cクリアされ、D l−J P
4マイクロ余令がAC312に供給される。D U
P 4命令により数6r44 /I/I4が、16進ア
ドレス202に一1込む為に、パラメータ・バスに01
!らねる。この遅延は、八0812がバイブツイン形式
である為で・ある3、16進アドレス201及び202
で゛は、指令[)王1及びW[く4ハMl)822にj
\られ、行1を指示し、り114に対しcl[1込I)
さI!る。での1す、DLl[〕1.0UP △及び+
11J I) 3指令が実tiされC1夫々の数値をバ
クメータ・バスM +!:込むと共に、イれらを第2行
の位冒4 、5. (3Bxr+−ドする。L、 F”
S 22が16進アドレス/O0ど206の間に設定
される。 16進アドレス207では、M P Sに接続指令を送
って、行1の接続を行なうことにより、VAGに対づ−
るアキコムレータの設定が開始され、数値600がパラ
メータ・バス2〔りにIN−ドされる。 初期設定−1−ドINITが16進アドレス2OAのV
AGに送られ、プログラムは、16進アドレス205に
あるレジスタCOに記憶された(1f1によって決定さ
れた予定の回数の間、16進アドレス20△及び20B
をループする。、16進〕7ドレス20Bでは、VAG
のプログラム・カウンタが歩進し、16進アドレス20
Gでは、VAG命令が実1jされる。これにJ、つでV
A Gのアキコムレータが設定される。 アキコムレータの設定の後、16進アドレス20「のV
AGl及びV A G 3の両方にINIT−指令を送
ることにより、16進アドレス20Eでベクトル加算動
作の初期設定が行なわれる。Ill]−指令がプログラ
ム・カウンタを、16進アドレス20Cでパラメータ・
バスに入れたアドレス607に初lit]設定り−る。 VAG2が16進アドレス211で、16進アドレス2
0Fでパラメータ・バスにロードされた開始アドレス6
09に初期設定される。MPS22のレジスタ・ファイ
ルの行2にり・1する接続パターンが、16進アドレス
212で行なわれ、VAIUが16進アドレス213に
j;す、16進開始アドレス002に初期設定される。 このアドレスが16進アドレス2/Oでパラメータ・バ
スにロードされる。 ベクトル加算動作の初期設定の後、16進アドレス21
4rlEXEC指令をVAGI及びVAG2に供給し、
16進アドレス216(ルー−1を作ることにより、ベ
ク]〜ルの実際の711目)が?j/i′ねれる。ルー
プの値が16進アドレス212でAC312のレジスタ
GOにロードされる。−プログラムは16進アドレス2
17及び21Aの間でパイプダウン段階に入り、16進
アドレス21Bでアイドル・ループに入る。 システムの動作を更によく説明J−る為、表6にり[コ
ック・タイミング線図を示しである。これは、プログラ
ムを初期設定し、今の例のベクトル加算動作を行なう時
の、AC312のクロック・タイミングによってクロッ
クを例示している。 八C812には2つの命令レジスタTR1及びIR2が
あり、一方がopコードを含み、使方がデータの値を含
んでいる。レジスタCOがループの値を含み、ブランチ
情報を供給する別の出力CTRUEがある。この出力が
、第3図では、命令レジスタ・デコード回路156から
来るものとして示されている。CT RU E信号は、
ACSプログラムがループ・モードにある時、ブランチ
動作を指示する。この情報が、ループが終了し、VAG
がその内部PCを次の命令へ進めることが出来ると云う
表示として、V A Gによって利用される。 これによって、AC312)でループが終了したと云う
表示を発生するのに必要な工程の数が更に減少する。 16進アドレスOOOをPCに入れて、最初のクロック
でプログラムが開始される。クロック2乃至4の間、A
C312が16進アドレス200で主プロゲラlいにブ
ランチする。16進アドレス200が、クロック5の間
にPCに入れられる。 MPS22はクロック5及び11の間、マイクロ命令r
)tJP4をクロック6でレジスタTR1に入れ、数値
4444をクロック7でパラメータ・バスに入れる様に
構成される。クロック6で指令PT1がMPS22に対
する制御バスにのせられ、残りの指令及び数値はクロッ
ク8と11の間に、バスにのせられる。クロック11で
、数値4がレジスタCOにロードされ、その後、クロッ
ク12と15の間に、指令CN1をクロック12でMP
S lli制御バスにのせると共に、クロック15でI
NIT指令を送出すことにより、VAGのアキュムレー
タの設定を開始する。クロック15で、VAGに対する
開始アドレス0600を、クロック13及びクロック1
4の時のレジスタR1にあるLP 0600指令に従
って、パラメータ・バスにのせる。 VAGを開始アド
レス0600に初期設定した後、アキュムレータがクロ
ック16及びクロック22の間に設定される。これはブ
ランチ動作であり、この時のAC312がV A l−
U 24の周りにブランチし、これはVΔLUがOより
小さくなるまで、クロック11及び12に制御レジスタ
に[1−ドされる。V A Gにある一ゾIIグラl\
が060(’)の開始アドレスから64−程を歩進し、
イの掛F X r= c指令がり[lツク22に3つの
V A Gに送られる。 VAGのアキコムレータを設定した1す、開始アドレス
0607でベタ1ヘ1加篩動作の初期設定が行なわれる
。数値0607が、タロツク23及び24の命令レジス
タにある命令に従つ−C1り[1ツク25でパラメータ
・バスに1−1−ドされる。り[1ツク25で、I N
I T指令がVAG1及びA G3に送られ、開始ア
ドレス0607をし1−ドする。 その後、アドレス0609がり【]ツク27でパラメー
タ・バスにロードされ、I N I l−指令がVAG
2に送られC1関連したPCに開始アドレス0609を
[1−ド(る。MPS22に対する接続パータンは適切
な指令ON2を送ることによって、り]」ツク28で行
なわれ、その後数fil OOO2がパラメータ・バス
にロードされ、クロック29でV△1.、− U 24
をINIT指令によって初期設定出来る様に覆る。 = 57− VAGがベタ1−ル加算動作用に初!!11設定されl
こ後、り[1ツク30及び41の間に、ベタ1〜ルが加
に’iすh ル。り11ツ/)30及び31で、V A
G 1 及びV A G 3によ−)でアト1ノスが
発イ1されて、メモリlfl ’)”j’−夕を読取り
、イれをパイプラインに入れる。り[−トンク31で、
VAljJ24にFXI玉0指令が送られて、結果を出
力1)、この結果が、VAG2にEXEC指令を送るこ
とによって、り[]ツク32でVAG2によつ−C記憶
される。この時点で、八C812は1G進アドレス21
6の周りをループ状に廻つ−Cクロツタ37に至る。ク
ロック37で、V A G 1及びV A C,3にあ
るPCを歩進り、 T、りD ツ’/ 39 r N
OOPm令ニ1−ル。VへGプ【]ダラムの最後のに稈
が実行されIC後、ゾ【]ゲラムがN0OP命令に歩進
じ、イれを実行する。クロック40及び41で、VΔ1
.、 IJ 24のブ[1グラムを歩進し、実行して、
プログラムを終rりる。ぞの後、AC312は16進ア
ドレス2/Oの周りをブランチづることにより、クロッ
ク42乃至47Iではアイドル・モードになる。 V A Gはり[1ツイ726及び43の間だ+J 、
ベタ1〜ル加詐を行なう様に作用し11)る。種々のレ
ジスタ及びスレーJ装置の状態か表7に示されている。 クロック26で、中央レジスタ((’、 RF G )
を初期設定して、■△01及び3にクロック27で16
i1+−アト1ノス607をロートする。V A G
2がり[1ツク28で開始しで、り11ツノノ29で
11 Cに16進開始アドレス0609を[1−ドする
。VAL U 24がクロック30で初期設定されて、
クロック31でPCに16進開始アドレス002を人力
する。EXEC指令がクロック31でVAGI及び3に
送られ、クロック32で読取動作がアドレスOで行なわ
れる。クロック32で、E X IE C指令がV A
i U 24に送られ、加算動作がクロック33で行
なわれる。口XFC指令がクロック33でVAG2に送
られ、南込み動作がり[]ツク34で行なわれる。最(
すの[X F C指令がクロック37でVAGl及び3
に送られ、9冒がパイプライン形であることにより、ク
ロック39まて読取動作が行なわれる。クロック38で
、プ[1グラムが歩進して、クロック40で命令レジス
タからN0OP命令を出力する。同様に、V A L
U 24にはクロック41で歩進指令が送られ、VAG
2にはクロック40で歩進指令が送られる。 この発明では、VAG24a乃至24n及びAC312
を利用J−ることにより、マイクロプログラム・]−ド
が圧縮される。これは、同じ制御]−ド(即ちEXEC
コード)が繰返して出力されるクロック・ザイクル33
及び370間に明らかである。八C812は、その制御
メモリ内の同じメモリ位置を5回アドレスし、そこから
EXEC制御]−ドを反復的に出力するタイ1〜ループ
に入る様にプログラムされている。VAGがクロック1
6及び2/O間に、アキュムレータ設定マクロブ[1グ
ラムを歩進する時も、同じ圧縮が行なわれる。この発明
のシステムを利用することにより、命令を実行する為に
、プログラムがループ状に戻ることは不必要である。こ
の為には、追加の命令及び取出し動作を必要どするが、
それは時間がかかり、余分のマイクロコードを必要とす
る。 強制御/O 第8図には強制御/Oモード又は二重バッファ転送モー
ドで動作するVAG52.54の拡大ブロック図が示さ
れている。この形式(’ 1.1. 、データ・メモリ
76.80がVAG52.54と関連して動作し、制御
バスから相n接続バス56を介し′C転送された同じ制
御]−ドを共有する。各々のVAG52.54が夫々別
個(7)メ−EIJ76.80に対するアドレスを発生
する。然し、一方のVAG52,54がフAアゲラウン
ドで、そして1つがバックグラウンドで動作して、外部
I/O%置9sとのl/O11能を遂行する。最初、両
方のVAG52.54が基本モードで動作していて、同
じプログラムを実行する。両方が初期設定された後、A
C312がVAG52.54に対し強制御/Oマイクロ
命令を送る。この各々のVAGはl0Tr)ピンを持ち
、これが正の電圧又はアースの何れかに接続されている
。これによって両者が区別される。強制御/Oマイクロ
命令が一方又は他方を選択する。選択された一方は、強
制御/Oマイクロ命令を受取った時、強制御/O動作モ
ードに入り、その間、HA L T及びRESET指令
以外の全ての制御バスのコードを無視する。この後、こ
のVAGは内部強制御/Oルーチンを順次進み、ハンド
シェイク線/O0を介して外部I/O装置98とインタ
ーフェース接続され、MPS22を介してのデータ及び
制御信号の転送を制御する。 強制御/OモードにあるVAGが、PCブランヂ・ファ
イル178に記憶されているI/Oルーチンにブランチ
する。VAG52.54の内、通常の動作モードにある
他方は、引続いてもとのプログラムを実行し、データの
処理を続ける。即ち、一方のVAGが計算用のデータ・
アドレスを発生し、他方がI/O転送用のデータ・アド
レスを発生する。 強制御/OモードにあるVAGに付設されたデータ・メ
モリに対するデータ・ブロックの転送が完了した時、第
2図に示す様に、この情報が外部状態レジスタ280に
記憶される。この状態レジスタは16ビツ1〜幅のレジ
スタであり、秤々の状態ビットを記憶していて、これら
の状態ビットは、別々のI/Oボートを介してAC31
2によってアクt?ス可能であって、AC312にある
I/Oインターノ■−ス166に供給される。その時、
AC312が両1」のVAGに対してリレット・」−ド
を送り、これによって、その七−ドで動作しでいるVA
Gの強制御 / OりI作t−ドが終了りる。 次に、INIT丁1−ドがRES IE T−1−ドに
続き、この為、両方のVAGをアレー・プに1セツ4j
と同期した状態に戻すことが出来、この為、両方のVA
Gが再び同じプログラムを実行する。交代的な強制御/
Oマイク【]命令がこの後VAGに伝達され、これによ
ってVAG52,54の内の他方が、前はフォアグラウ
ンドで実行していたのが、強制御/O′fニードに入る
。この後、このVAGはI/O装置98からデータを受
取り、前に強制御/OモードにあったVAGがデータを
処理する。これは、2つのVAG52,54がフA)ノ
ブラウンド及びバックグラウンド・タスクの間で往−)
Iこり来りの[ビンポン1動作を実質的にすることにな
る。 VAGをこの様に構成することにより、データの処理及
びデータの収集を同時に行なうことが出来る。それらが
同じ制御バスを共有するから、2つのVAGがAC8に
は1個の装r)の様に見える。 AC312tよ、状態レジスタ280を監視して、デー
タ・ブ「】ツクが有効にデータ・メ七りに転送されたと
云う表示を受取った時、制御バスのその部分に関連する
VAGを再び朝明設定しさえすればにい。 M r−) S 22はデータ部分22′及び制御部分
22″で構成される。メ七り76のバス78及びメ土り
80のバス82からの−j゛−タが、データ部分22′
のボー1へMl及びM2に人力される。VAG 52の
アドレス及び出込み信号がバス282を介して制御部分
22″のM1人力に入力され、VAG54から出力され
る書込み信号及びアドレスがバス284を介して制御部
分22″のM2人力に人力される。制御部分22′から
バス286を介して外部I/Oバス98にアドレス及び
書込み信号が出力される。更にM P S 22は、各
々の■△G52.54からの何曲信号と優先順位信号の
両方を必要とする。VAG52が優先順位信号1〕PS
1及びイ4能信号MEN1を転送論理回路288から発
11シ、■Δ054が優先順イ0信シ:PP52及びイ
(1能信S]N4[N2を転送論理回路290で発生(
る。転送論理回路288,290が、制御バス18から
の信号の他に、VAGからのチップ選択及び書込み信号
と、外部I/O装置からのI/Oチップ選択信号とを利
11しする。 外部I/O装置98がデータ部分22′からI/Oバス
292を介してデータを受取り、種々のハンドシ]−イ
ク信号を発生する。ハンドシェイク信号は、割込み信号
INT、用意完了信号R1’)Y、確認信号へ〇 K及
びI/Oチップ選択信号/OC8である。これらの信号
が線/O0を介して両方のVAG52.54に人力され
る。更に、I/O装置がI/Oバス292を介して状態
レジスタに供給し、これはMPS22を介して外部状態
レジスタ280に送られる。 MPS制御部分22″及びMl)Sデータ部分22′の
両方が同じ形式のデータを持っている。制御部分22″
は、正しい制御信号を選択してI/O装置98に送る為
に使われる。バスの衝突を避LJる為に、一度に11′
Iの制御出力だtJを何曲すべきである。これがマイク
ロ命令の実行によって制御される。■ΔG52.54が
1ピンポン」動作をづる時、MPS22は、正しいメ1
甲ノ・ボー1〜がI/Oポー1−に接続される様に、A
C312によって再構成しなければならない。転送論理
回路288.290がMPS22の優先順位及び何曲人
力を制御して、I/O転送動作の間、両方向のデータ転
送が起り1qる様にする。MPS22の接続レジスタ・
ファイル250の行1乃〒5がIloからメモリへの接
続を持ち、行6がメモリからI/Oへの接続を持つでい
る。行6の接続が優先順位を持ち、優先順位入力が作動
された時には、他の5行を抑えて有効になる。これがV
AGAC312t書込み信号によって制御される。関連
したVΔG152又は154がlloIIJ作モードに
あることを知らせる為に、転送論理回路288゜290
にはフリツプフ]コツプも入っている。このノリツブフ
ロップは外部I/O装置98からの特別ヂツゾ選択順序
によって12ツトしなければならない。この為には、I
/O/O0始めに、1から0へ並びに0から1への変化
を必すどりる。この時、転送論理回路288.290に
あるフリップフロップは、I/O/O0完了した時にリ
セットされる。従って、VAG52又は54がその基本
動作モードにある時には、何時ぐもメモリの出力が付能
され、I/O/O0間にI/Oデータ転送が行4
の代りに、接続レジスタ・ファイル250の各々の)1
1にある4ビツトの各々をマルチプレク++274を介
してパラメータ・バス18に出力することが出来る。 命令の流れの例 第7図には、第1図のアレー・プ[1セツサの簡略ブロ
ック図が示されており、3つのVAG20a乃至20c
と3つのデータ・メモリ34a乃至34Gが示されてい
る。スレーブ・データ・プロセッサ24にはVAIUが
用いられている。第7図の実施例を利用して、アレー・
プ[]セセラが、表1に示す2つの8ワード・ベクトル
のベクトル加算を遂行する為に利用される、アレー・プ
ロセッサの簡単な例を説明する。2つのへカベク1〜ル
・オペランドがデータ・メ1す34a及び34Cのアド
レスO乃至7に記憶され−Cいる。合成和ベクトルはメ
モリ34bに書込む。読取及び書込み動作が3つのVA
G28a乃至28Gによって制御される。 表 1 ベタ1〜ル加算 5 5 5 A 6 6 6 C 777「 メモリ34a乃至34Gは2つの静止形RAM(SRA
M)で構成され、16個のデータ・ピッ1〜に対してこ
れらが必要である。V A L U 24は内部の制御
ROMを持っていないので、この装置は外部制御メモリ
40を利用する。この外部制御メ七りは、64ピツ1〜
のマイク[]命令ワードを構成づる為に8個のS RA
Mで構成されでいる。MPS22は、こういう余分の
加算を行く【うiζ1に、AC8によって必要なデータ
通路の接続が作られる。MPS22は4つのメモリ・ボ
ートM1乃至M4及び3つのプロセッサ・ボー1− P
/l乃至R6を持っている。パラメータ・バス26が
MPS22に接続データを入力する為のデータ入力(B
)に入力すると共に、M1人力にも接続され、VAL
U 24にデータを間接的に入力することが出来る様に
する。V A L U 24がデータを受取る△。 B及びCボー1〜を持っている。A及びBポートは両方
向であり、Cボートは一方向である。パラメータ・バス
26をMPS22のH4ポー1へに接続したことにより
、V A L U 24をそのデータボーh Aによっ
てマクロプログラム開始アドレスに初期設定することが
出来る。 表2に示す様な4つの異なる接続を持つ接続レジスタ・
ファイルをロードすることにより、MP822は必要な
データ通路の接続が構成される。 表2で、接続レジスタ・ファイルは6列及び6行を持っ
ている。第1行は初期設定パターンを含んでおり、H4
がP/Iに接続され、V A l−U 24を初期設定
1′ることが出来る様にする。第2行のR2では、メモ
リ・ボートM1.M3が夫々プロセッサ・ボー1〜P4
.R6に接続され、メモリ34a、34cをVALtJ
24(7)A及びBボートに接続することが出来る様に
する。プロセッサ・ボートP5がメモリ・ボートM2に
接続され、VALU24のBボー1〜をデータ・メモリ
34bに接続出来る様にする。表2は、レジスタ・ファ
イルに4ビツト・データを書込むのに必要な指令コード
をも示している。 表 2 Pi R2R3Pit Ph
P(iRI X X XH4PP4 X
XR2x x x HIPP4 P5P
H2H3PP6R3xxxx x
xR4x x x x
x x115xxxx
x xR6xxxx x
xHPS 1 コ − ζ
C1,R接続レジスタ・ファイルをクリアPTI
行1を指示 稠旧、14 フィールドP4に0/O0を書込むPT
2 行2を指示 WR4,II フィールドP4に0001を書込むW
R5,IA フィールドP5に/O/Oを書込む賛R
6,13フィールドP6に0011を書込むAC312
がMPS22の初期設定を完了した後、VAGのアキュ
ムレータ・ポインタを初期設定しなければならない。ア
キュムレータ・ポインタは、パラメータ・レジスタφフ
ァイルのレジス今Oの4つの4ビ゛ツ1へ・二]−ドに
ス・1応1Jる。各々の−1−ドは、フAj′グラウン
ド又はバックグラウンドl!の何れかに対し、アキコム
レータO(八〇)又は1)キー11\レータ1(Δ1)
の何れかとしCI/[用号るフッ・イル・レジスタを特
定Jる13表3は所定のVAGに対Jる制御メモリを示
1)でおり、3゛0のVAG 24 a乃至24Gの各
々に対Jる制御311ヌ上りは同一・で゛ある。これは
33つのマク]]]ブ[]グラl\C構成されでおり、
その1番1]が16進値2/O0をレジスタROに1−
1−ドし、16進Ill′/O000をレジスタR1及
びR2に[1−ド覆る様に作用J−る。アキ11\−タ
AOがレジスタR2に対応1)、j7キユムレータA1
がレジスタ[)1に対応りる。△C812が、VAGを
マク[1聞始′)1ド1ノスを初期設定りる、各々のV
AGに対(る初朗設定二]−ドI N I T、ぞの後
、V A Gをマク1]ブ[!グーツムの中で歩進させ
る一連の5TEP−1−ド、「−X「7C」−ド、最1
玲に動fl/> L/ 二1−ドrあルN00Pml−
ドを発生リ−る。「XFC−1−ドが、最後の1′丁)
前の命令を実11するのに役立つが、Pcm 43− /]<S ro1〕/No(’IP +−ド【゛ある最
((の命令を指爪づる様にする。各々のV A G及び
マタ日ブ1]グラ18の終りにS T OP/ N (
’) (’) P +−1を入れ(、マク1]ブE−]
グ′ツムの実行が完了しt:= (11+、この命令が
VAG命令レジスタにある様に116゜表 3 制御メモリ 隻進アートレ不 K柔りリ命令 =1メン
1〜000 5TOP l N0OP000−
!iFl 自己試験の為に保留600
0−>BOアキ」ムレータの設定:601
BO−>RO2/O0−>RO及び602
BO−>R1初期設定:fi+13
BO−>R20000−>AO,八1604
NFXT ILIIBI I/O #2160!
i RFSr RW (i06 5TOP IHOOP607
NrXT l^0)1−>AOI Ill請11
ヘタ1−jlz読111??’70608
5TOP I N0OP609 NE
XT lへQ+1−>^01誓RITf ベクトル
書込みマクロ60A 5TOP I N0O
P[/O,R1,R2−パラメータ・ファイル・レジス
タBO=PCブランヂ・ファイル・レジスタ八〇
−アキュム1ノータOレジスタ次のTNITI−ドが
送1″)れるま−(、一連のN00PTI−ドがV A
Gに送られる。次のTNITI−ドがVAGに記録さ
れた峙、S −/O!−)/ N 00 P ml−ド
が実行され、N OOl’)が遂t1される。 残りの2つのV A Gのマク【]プロゲラ1、がベタ
1〜ル加算読取及び書込み動作の為に使われる。この場
合も、TNITI−ドを使ってV A Gにマクロプロ
グラム開始アドレスを朝明、:9定し、その後一連のE
X F CTl−ドを送って、6東41同数だけ、最
初のマイクロ命令を実行させる。 表3で、16進]−ドロ00乃〒606はアキコムレー
タの設定に対応づろ。読取に対するマクロ命令がアドレ
ス607で初期設定され、ループ状に戻って、アキ11
\レータ・レジスタ80をインフレメン1〜し、データ
・メモリから8個のデータ・ワードを読取る。同様に、
16進アドレス609に初期設定することにJ、す、内
込み命令がループ状に戻って、8個のデータ・ワードの
ブl]ツクをメモリに書込むことが出来る様にする。 V A L U 24の制御メモリが表4に示されてい
る5、このメモリはボートへの数値をΔ1−(jファイ
ル・レジスタAOにロードし、ボートCの数値をΔ1−
1J)1イル・レジスタA1にロードする為に、16進
アドレスOo2に初!!11 設定されるマクロプログ
ラムを含む。この後、ファイル・レジスタAO及び△1
を加算して、出力の結果を出し、それがボートBを介し
て出力される。これはV A L U24ににって遂行
される簡単なベクトル加算であり、アレー・プロセッサ
のデータ処理部分を構成する。 表 4 VへG制御メモリ 16進 アドレス マイクロ命令往 000 N0OP 001 N0OP 002 PTA−>AOIPTc−>八l
lへ〇+AI−>0LITB l0IITB−>PT
B ヘ’)ト)Lt003 N0OP
加算マクロP
TA、 PTB、 PTC−ボートA、B、CAO,^
1 −へ団フアイル・レジスタ011TB
−ボートBの出力レジスタ= 47 − ACSマイク[−1111グラム・二1−ドは、同じ制
御]−ドが反復的に出力される相次ぐり11ツク・4ノ
イクルを同定することによってJ′T:縮りることが出
来る。これは普通はループ動作に使われる。この場合、
AC312が同じメモリ位置を何回もアドレスし、各々
のループの間、制tIl]−ドが反復的に出力される。 VAGをアキュムレータ設定マクロプログラムの中で歩
進させる時、同じ圧縮を達成することが出来る。AC3
12に対する制御メモリの構成が表5に示されている。 八C312の初期ノ7ド1ノ又は、動作していない時に
AC8がそこにあるアドレス0あるが、これにJ、って
スレーブ制御−1−ドがパラメータ・バス26に出力さ
れ、0p−1−ドがACSマイク「1命令どしU、AC
312に人力される。初期ノアドレス000では、全て
のスレーブ装置にHA I T制御が送られており、N
0OPマイク[1命令がAC812に送られる。最初電
源をAンにした時、スレーブ装置は、通常の運転モード
にない為、1−1Δ1−1−指令に応答しない。それら
は自動的にアドレスOOOOにリセツ1−される。通常
のIl+竹モードの1−1△1−[命令にJ−リ、スレ
ーブ装置は、内部レジスタが何等かの特定の77ドレス
にあることを必要どl!ずに、処理を停止l−する。次
の命令アドレス001は、1−プ[1グラムが存在する
所であるアドレス200に対してブランチするブランチ
・アトlメスである。アドレス200では、MPS22
がCIR指令に」、っ−Cクリアされ、D l−J P
4マイクロ余令がAC312に供給される。D U
P 4命令により数6r44 /I/I4が、16進ア
ドレス202に一1込む為に、パラメータ・バスに01
!らねる。この遅延は、八0812がバイブツイン形式
である為で・ある3、16進アドレス201及び202
で゛は、指令[)王1及びW[く4ハMl)822にj
\られ、行1を指示し、り114に対しcl[1込I)
さI!る。での1す、DLl[〕1.0UP △及び+
11J I) 3指令が実tiされC1夫々の数値をバ
クメータ・バスM +!:込むと共に、イれらを第2行
の位冒4 、5. (3Bxr+−ドする。L、 F”
S 22が16進アドレス/O0ど206の間に設定
される。 16進アドレス207では、M P Sに接続指令を送
って、行1の接続を行なうことにより、VAGに対づ−
るアキコムレータの設定が開始され、数値600がパラ
メータ・バス2〔りにIN−ドされる。 初期設定−1−ドINITが16進アドレス2OAのV
AGに送られ、プログラムは、16進アドレス205に
あるレジスタCOに記憶された(1f1によって決定さ
れた予定の回数の間、16進アドレス20△及び20B
をループする。、16進〕7ドレス20Bでは、VAG
のプログラム・カウンタが歩進し、16進アドレス20
Gでは、VAG命令が実1jされる。これにJ、つでV
A Gのアキコムレータが設定される。 アキコムレータの設定の後、16進アドレス20「のV
AGl及びV A G 3の両方にINIT−指令を送
ることにより、16進アドレス20Eでベクトル加算動
作の初期設定が行なわれる。Ill]−指令がプログラ
ム・カウンタを、16進アドレス20Cでパラメータ・
バスに入れたアドレス607に初lit]設定り−る。 VAG2が16進アドレス211で、16進アドレス2
0Fでパラメータ・バスにロードされた開始アドレス6
09に初期設定される。MPS22のレジスタ・ファイ
ルの行2にり・1する接続パターンが、16進アドレス
212で行なわれ、VAIUが16進アドレス213に
j;す、16進開始アドレス002に初期設定される。 このアドレスが16進アドレス2/Oでパラメータ・バ
スにロードされる。 ベクトル加算動作の初期設定の後、16進アドレス21
4rlEXEC指令をVAGI及びVAG2に供給し、
16進アドレス216(ルー−1を作ることにより、ベ
ク]〜ルの実際の711目)が?j/i′ねれる。ルー
プの値が16進アドレス212でAC312のレジスタ
GOにロードされる。−プログラムは16進アドレス2
17及び21Aの間でパイプダウン段階に入り、16進
アドレス21Bでアイドル・ループに入る。 システムの動作を更によく説明J−る為、表6にり[コ
ック・タイミング線図を示しである。これは、プログラ
ムを初期設定し、今の例のベクトル加算動作を行なう時
の、AC312のクロック・タイミングによってクロッ
クを例示している。 八C812には2つの命令レジスタTR1及びIR2が
あり、一方がopコードを含み、使方がデータの値を含
んでいる。レジスタCOがループの値を含み、ブランチ
情報を供給する別の出力CTRUEがある。この出力が
、第3図では、命令レジスタ・デコード回路156から
来るものとして示されている。CT RU E信号は、
ACSプログラムがループ・モードにある時、ブランチ
動作を指示する。この情報が、ループが終了し、VAG
がその内部PCを次の命令へ進めることが出来ると云う
表示として、V A Gによって利用される。 これによって、AC312)でループが終了したと云う
表示を発生するのに必要な工程の数が更に減少する。 16進アドレスOOOをPCに入れて、最初のクロック
でプログラムが開始される。クロック2乃至4の間、A
C312が16進アドレス200で主プロゲラlいにブ
ランチする。16進アドレス200が、クロック5の間
にPCに入れられる。 MPS22はクロック5及び11の間、マイクロ命令r
)tJP4をクロック6でレジスタTR1に入れ、数値
4444をクロック7でパラメータ・バスに入れる様に
構成される。クロック6で指令PT1がMPS22に対
する制御バスにのせられ、残りの指令及び数値はクロッ
ク8と11の間に、バスにのせられる。クロック11で
、数値4がレジスタCOにロードされ、その後、クロッ
ク12と15の間に、指令CN1をクロック12でMP
S lli制御バスにのせると共に、クロック15でI
NIT指令を送出すことにより、VAGのアキュムレー
タの設定を開始する。クロック15で、VAGに対する
開始アドレス0600を、クロック13及びクロック1
4の時のレジスタR1にあるLP 0600指令に従
って、パラメータ・バスにのせる。 VAGを開始アド
レス0600に初期設定した後、アキュムレータがクロ
ック16及びクロック22の間に設定される。これはブ
ランチ動作であり、この時のAC312がV A l−
U 24の周りにブランチし、これはVΔLUがOより
小さくなるまで、クロック11及び12に制御レジスタ
に[1−ドされる。V A Gにある一ゾIIグラl\
が060(’)の開始アドレスから64−程を歩進し、
イの掛F X r= c指令がり[lツク22に3つの
V A Gに送られる。 VAGのアキコムレータを設定した1す、開始アドレス
0607でベタ1ヘ1加篩動作の初期設定が行なわれる
。数値0607が、タロツク23及び24の命令レジス
タにある命令に従つ−C1り[1ツク25でパラメータ
・バスに1−1−ドされる。り[1ツク25で、I N
I T指令がVAG1及びA G3に送られ、開始ア
ドレス0607をし1−ドする。 その後、アドレス0609がり【]ツク27でパラメー
タ・バスにロードされ、I N I l−指令がVAG
2に送られC1関連したPCに開始アドレス0609を
[1−ド(る。MPS22に対する接続パータンは適切
な指令ON2を送ることによって、り]」ツク28で行
なわれ、その後数fil OOO2がパラメータ・バス
にロードされ、クロック29でV△1.、− U 24
をINIT指令によって初期設定出来る様に覆る。 = 57− VAGがベタ1−ル加算動作用に初!!11設定されl
こ後、り[1ツク30及び41の間に、ベタ1〜ルが加
に’iすh ル。り11ツ/)30及び31で、V A
G 1 及びV A G 3によ−)でアト1ノスが
発イ1されて、メモリlfl ’)”j’−夕を読取り
、イれをパイプラインに入れる。り[−トンク31で、
VAljJ24にFXI玉0指令が送られて、結果を出
力1)、この結果が、VAG2にEXEC指令を送るこ
とによって、り[]ツク32でVAG2によつ−C記憶
される。この時点で、八C812は1G進アドレス21
6の周りをループ状に廻つ−Cクロツタ37に至る。ク
ロック37で、V A G 1及びV A C,3にあ
るPCを歩進り、 T、りD ツ’/ 39 r N
OOPm令ニ1−ル。VへGプ【]ダラムの最後のに稈
が実行されIC後、ゾ【]ゲラムがN0OP命令に歩進
じ、イれを実行する。クロック40及び41で、VΔ1
.、 IJ 24のブ[1グラムを歩進し、実行して、
プログラムを終rりる。ぞの後、AC312は16進ア
ドレス2/Oの周りをブランチづることにより、クロッ
ク42乃至47Iではアイドル・モードになる。 V A Gはり[1ツイ726及び43の間だ+J 、
ベタ1〜ル加詐を行なう様に作用し11)る。種々のレ
ジスタ及びスレーJ装置の状態か表7に示されている。 クロック26で、中央レジスタ((’、 RF G )
を初期設定して、■△01及び3にクロック27で16
i1+−アト1ノス607をロートする。V A G
2がり[1ツク28で開始しで、り11ツノノ29で
11 Cに16進開始アドレス0609を[1−ドする
。VAL U 24がクロック30で初期設定されて、
クロック31でPCに16進開始アドレス002を人力
する。EXEC指令がクロック31でVAGI及び3に
送られ、クロック32で読取動作がアドレスOで行なわ
れる。クロック32で、E X IE C指令がV A
i U 24に送られ、加算動作がクロック33で行
なわれる。口XFC指令がクロック33でVAG2に送
られ、南込み動作がり[]ツク34で行なわれる。最(
すの[X F C指令がクロック37でVAGl及び3
に送られ、9冒がパイプライン形であることにより、ク
ロック39まて読取動作が行なわれる。クロック38で
、プ[1グラムが歩進して、クロック40で命令レジス
タからN0OP命令を出力する。同様に、V A L
U 24にはクロック41で歩進指令が送られ、VAG
2にはクロック40で歩進指令が送られる。 この発明では、VAG24a乃至24n及びAC312
を利用J−ることにより、マイクロプログラム・]−ド
が圧縮される。これは、同じ制御]−ド(即ちEXEC
コード)が繰返して出力されるクロック・ザイクル33
及び370間に明らかである。八C812は、その制御
メモリ内の同じメモリ位置を5回アドレスし、そこから
EXEC制御]−ドを反復的に出力するタイ1〜ループ
に入る様にプログラムされている。VAGがクロック1
6及び2/O間に、アキュムレータ設定マクロブ[1グ
ラムを歩進する時も、同じ圧縮が行なわれる。この発明
のシステムを利用することにより、命令を実行する為に
、プログラムがループ状に戻ることは不必要である。こ
の為には、追加の命令及び取出し動作を必要どするが、
それは時間がかかり、余分のマイクロコードを必要とす
る。 強制御/O 第8図には強制御/Oモード又は二重バッファ転送モー
ドで動作するVAG52.54の拡大ブロック図が示さ
れている。この形式(’ 1.1. 、データ・メモリ
76.80がVAG52.54と関連して動作し、制御
バスから相n接続バス56を介し′C転送された同じ制
御]−ドを共有する。各々のVAG52.54が夫々別
個(7)メ−EIJ76.80に対するアドレスを発生
する。然し、一方のVAG52,54がフAアゲラウン
ドで、そして1つがバックグラウンドで動作して、外部
I/O%置9sとのl/O11能を遂行する。最初、両
方のVAG52.54が基本モードで動作していて、同
じプログラムを実行する。両方が初期設定された後、A
C312がVAG52.54に対し強制御/Oマイクロ
命令を送る。この各々のVAGはl0Tr)ピンを持ち
、これが正の電圧又はアースの何れかに接続されている
。これによって両者が区別される。強制御/Oマイクロ
命令が一方又は他方を選択する。選択された一方は、強
制御/Oマイクロ命令を受取った時、強制御/O動作モ
ードに入り、その間、HA L T及びRESET指令
以外の全ての制御バスのコードを無視する。この後、こ
のVAGは内部強制御/Oルーチンを順次進み、ハンド
シェイク線/O0を介して外部I/O装置98とインタ
ーフェース接続され、MPS22を介してのデータ及び
制御信号の転送を制御する。 強制御/OモードにあるVAGが、PCブランヂ・ファ
イル178に記憶されているI/Oルーチンにブランチ
する。VAG52.54の内、通常の動作モードにある
他方は、引続いてもとのプログラムを実行し、データの
処理を続ける。即ち、一方のVAGが計算用のデータ・
アドレスを発生し、他方がI/O転送用のデータ・アド
レスを発生する。 強制御/OモードにあるVAGに付設されたデータ・メ
モリに対するデータ・ブロックの転送が完了した時、第
2図に示す様に、この情報が外部状態レジスタ280に
記憶される。この状態レジスタは16ビツ1〜幅のレジ
スタであり、秤々の状態ビットを記憶していて、これら
の状態ビットは、別々のI/Oボートを介してAC31
2によってアクt?ス可能であって、AC312にある
I/Oインターノ■−ス166に供給される。その時、
AC312が両1」のVAGに対してリレット・」−ド
を送り、これによって、その七−ドで動作しでいるVA
Gの強制御 / OりI作t−ドが終了りる。 次に、INIT丁1−ドがRES IE T−1−ドに
続き、この為、両方のVAGをアレー・プに1セツ4j
と同期した状態に戻すことが出来、この為、両方のVA
Gが再び同じプログラムを実行する。交代的な強制御/
Oマイク【]命令がこの後VAGに伝達され、これによ
ってVAG52,54の内の他方が、前はフォアグラウ
ンドで実行していたのが、強制御/O′fニードに入る
。この後、このVAGはI/O装置98からデータを受
取り、前に強制御/OモードにあったVAGがデータを
処理する。これは、2つのVAG52,54がフA)ノ
ブラウンド及びバックグラウンド・タスクの間で往−)
Iこり来りの[ビンポン1動作を実質的にすることにな
る。 VAGをこの様に構成することにより、データの処理及
びデータの収集を同時に行なうことが出来る。それらが
同じ制御バスを共有するから、2つのVAGがAC8に
は1個の装r)の様に見える。 AC312tよ、状態レジスタ280を監視して、デー
タ・ブ「】ツクが有効にデータ・メ七りに転送されたと
云う表示を受取った時、制御バスのその部分に関連する
VAGを再び朝明設定しさえすればにい。 M r−) S 22はデータ部分22′及び制御部分
22″で構成される。メ七り76のバス78及びメ土り
80のバス82からの−j゛−タが、データ部分22′
のボー1へMl及びM2に人力される。VAG 52の
アドレス及び出込み信号がバス282を介して制御部分
22″のM1人力に入力され、VAG54から出力され
る書込み信号及びアドレスがバス284を介して制御部
分22″のM2人力に人力される。制御部分22′から
バス286を介して外部I/Oバス98にアドレス及び
書込み信号が出力される。更にM P S 22は、各
々の■△G52.54からの何曲信号と優先順位信号の
両方を必要とする。VAG52が優先順位信号1〕PS
1及びイ4能信号MEN1を転送論理回路288から発
11シ、■Δ054が優先順イ0信シ:PP52及びイ
(1能信S]N4[N2を転送論理回路290で発生(
る。転送論理回路288,290が、制御バス18から
の信号の他に、VAGからのチップ選択及び書込み信号
と、外部I/O装置からのI/Oチップ選択信号とを利
11しする。 外部I/O装置98がデータ部分22′からI/Oバス
292を介してデータを受取り、種々のハンドシ]−イ
ク信号を発生する。ハンドシェイク信号は、割込み信号
INT、用意完了信号R1’)Y、確認信号へ〇 K及
びI/Oチップ選択信号/OC8である。これらの信号
が線/O0を介して両方のVAG52.54に人力され
る。更に、I/O装置がI/Oバス292を介して状態
レジスタに供給し、これはMPS22を介して外部状態
レジスタ280に送られる。 MPS制御部分22″及びMl)Sデータ部分22′の
両方が同じ形式のデータを持っている。制御部分22″
は、正しい制御信号を選択してI/O装置98に送る為
に使われる。バスの衝突を避LJる為に、一度に11′
Iの制御出力だtJを何曲すべきである。これがマイク
ロ命令の実行によって制御される。■ΔG52.54が
1ピンポン」動作をづる時、MPS22は、正しいメ1
甲ノ・ボー1〜がI/Oポー1−に接続される様に、A
C312によって再構成しなければならない。転送論理
回路288.290がMPS22の優先順位及び何曲人
力を制御して、I/O転送動作の間、両方向のデータ転
送が起り1qる様にする。MPS22の接続レジスタ・
ファイル250の行1乃〒5がIloからメモリへの接
続を持ち、行6がメモリからI/Oへの接続を持つでい
る。行6の接続が優先順位を持ち、優先順位入力が作動
された時には、他の5行を抑えて有効になる。これがV
AGAC312t書込み信号によって制御される。関連
したVΔG152又は154がlloIIJ作モードに
あることを知らせる為に、転送論理回路288゜290
にはフリツプフ]コツプも入っている。このノリツブフ
ロップは外部I/O装置98からの特別ヂツゾ選択順序
によって12ツトしなければならない。この為には、I
/O/O0始めに、1から0へ並びに0から1への変化
を必すどりる。この時、転送論理回路288.290に
あるフリップフロップは、I/O/O0完了した時にリ
セットされる。従って、VAG52又は54がその基本
動作モードにある時には、何時ぐもメモリの出力が付能
され、I/O/O0間にI/Oデータ転送が行4
【ねれ
る時にだけ、付能される。伯の場合、メモリの出力が不
作動にされ、それらが関連したメモリとのVAGのデー
タ操作とぶつからない様にする。 第9図には、転送論理回路288.290の簡略ブロッ
ク図が示されている。制御バスがD形フリップ70ツブ
294に3ビツトを入力し、このフリップフロップがデ
コード論理回路296に入力する。デコード論理回路の
出力がJK形フリップ70ツブ298のに入力に人力さ
れ、リセット信号がクロック入力に入力される。J入力
はアースに結合される。I/Oチップ選択信号がフリッ
プフロップ298のセット入力に入力され、反転Q出力
がAア・ゲート300の一方の入力に入力される。オア
・ゲート300の出力がイ」能信号を構成づ゛る。T/
Oデツプ選択信号はナンド・ゲー1−302の一方の入
力にも入力され、このゲートの出力がオア・ゲート30
0の他方の入力に入力される。ナンド・ゲーh 302
の他方の入力が八〇に信号に接続される。優先順位信号
がオア・ゲー1〜304によって選択され、このゲート
の入力が関連したVAG52又は54からのチップ選択
及び書込み信号に接続されている。 サイクル・スチール 夫々V A G 2 a 及U V A G 2 b
ト記すレタV AG/O6./O8と、VAG4 a及
びVAG 4 t)ど記されたVAG66.68が、4
ノ−イクル・スチール・モードで構成される。サイクル
・スチール・モードは、処理サイクルの合間に、データ
を関連したメモリに転送することが出来る様にする。 これは、N0OP指令が夫々のVAGに送られ、関連し
たプログラム・メモリに対して何のアドレスも発生され
ないことを示す時間に対応する。サー 7〇 − イクル・スチール・モードでは、2つのV A Gが必
要であり、一方がフォアグラウンド・タスクを遂行し、
もう1つが関連したメモリにデータを記憶するバックグ
ラウンド・タスクを遂行する。従って、両者が同じメモ
リ・アドレス・バスを共有する。一方のV A Gはサ
イクル・スチール・モードだけで動作し、他方が処理モ
ードで動作する。 両方のV A G h< N OOPコードを記録した
時、サイクル・スチール・モードにある一方が作用し、
その内部I/Oプログラムを実行して、メモリ制御アド
レスを発生する。他方のVAGは不作動になり、そのメ
モリ・バスの出力を3状態にして、この為バスの衝突は
起り得ない。N0OP以外の]−ドが記録された時、処
理動作モードにあるVAGが作用し、他方は不作動にな
る。この為、一度に1つのVAGだけが作用することが
出来、メモリ・バスとインターフェース接続することが
出来る。 第/O図にVAG/O6./O8、ブ「1グラム・メモ
リI/O及びバッファ制御装置112のtR1= 71
− 大ブロツク図が示されており、これまでと同様な部分に
は同じ参照数字を用いている。各々のVAG /J’
I OI D出力ピンを持ち、これが夫々のVAGのI
/O制御装置218とインターフェース接続される。V
AG/O8のl0Inピンが高論庁レベルに接続され、
VAG/O6のl0IDビンがアースに接続される。こ
れによって、VAG/O8がサイクル・スチール用V
A Gとして同定される。各々のVAG/O6./O8
のアドレス出力がアドレス・バス116に接続される。 アドレス・バス116がプログラム・メ七りI/Oのア
ドレス入力とバッファ制御装置112のアドレス入力と
の両方に接続される。バッファ制御回路112ハ1if
t、<説明すなイlfi、VAG/O6./O8によっ
てアドレスすることが出来る内部レジスタがある。VA
G/O6./O8のパラメータ・バスの入力がデータ・
バス114に接続され、これはプログラム・メモリI/
O及びバッファ制御回路112の両方のデータ・ボー1
−にb接続されている。データ・バス114はシステム
・バス113から/Oグラl\・メにりI/Oに)−タ
を転送リ−ることが出来る様にするどJ5に、パラメー
タ・データをMPS22からVAol 06,/O8へ
転送りることが出来る様にし、更にアレー・ブ[1[?
ツ↑j内の他のメモリからブ1−1グラム・メ[すI/
Oにもデータを転送することが出来る様にする。このデ
ータはバッファ制御回路112を介してシステムへ転送
覆ることが出来る。 VAG/O6./O8を動作モード及び1Jイクル・ス
チール・t−ドに初期設定」る時、A CS12は2回
のバスが必要である。AC8が最初にINI’T−指令
を両方のVΔG/O6,/O8に送つ−で、それらを開
始アドレスに初1111設定し、両方のVAG/O6,
/O8が基本動作モードで電源がAンに4cる3、開始
アドレスがMPS22及びデータ・バス114を介して
イのパラメータ・バス人力に転送される。最初のバスの
間、V A Gを初期設定した開始アドレスにより、V
AG/O8が−IJイクル・スプール・モードに入る。 これは/O11”lピンが高になっているからである。 −且■へG /O8が月−イクル・スチール・モードに
入ると、これは八C812から(7)l−IAIT及D
’ り[S I−1指令にだl−J応答Jる。その後、
2番[−1のINI王指全指令切IJ[パラメータ情報
と共にバス114を介しrvAG1o6に送られ、VA
G/O6を特定の動作ルーブンに初+111設定する。 −)’m V A G 1o8がt1イクル・スチール
・t−ドになると、VAG /O6は、プロゲラl\・
メモリI/Oを操作して、アレー・ブ[I Qツ(J−
’r使う為のパラメータをそれから取出し、又はそれに
対してデータを入力する様に制御づることか出来る。前
に述べた様に、指令パラメータ・リスl−”CPI”が
プログラム・メ七りI/Oに記憶されでいる。八C81
2がこういうリス1−をプ【]グラム・メ七りI/Oか
ら取出して、実行号べきタスクを決定する。貸−一)で
、プ1]グシム・メ[すI/O1ま、持らti列でC1
〕1−を記憶する様に操作し1cIる。この時Jう行列
を1タスク持1−、行列−1と定義する。AC312が
この持Jう行列を順次進んで、どの特定のタスクを作用
させるかを決定する。こういうタスクは、速いノーり丁
変換(+−F I−) l: (Yつでデータを処理覆
ることヤ)、システム・バス113を介してデータ・プ
[−ルッ4yが取出4為に、メ−[りにデータをロード
することに及ぶことが出来る。 データはバック7 ff1ll In回路12から受取
ってブ[1グラム・メモリI/Oに記憶したり、或いは
プログラム・メモリI/Oから取出してバラフッ制御回
路112に送ることが出来る。バッファ制御回路112
にあるデータはその外部に記憶することが出来る【)、
或いは先入れ先出しレジスタ([I[0)に内部で記憶
J−ることが出来る。VAG/O6にN OOl)指令
が送られた時、VAG /O8を作動して、バッファ制
御回路112と相互作用し、その中にある内部バッファ
からプログラム・メモリI/O内の特定のアドレスにデ
ータを転送す゛ることか出来る。バッファ制御回路との
インターフェース接続の為、割込み線、DMA要求線及
びDMA確認線115がその間にインターフェース接続
され、直接メモリ・アクセス(1)MA)制御が出来る
様にする。更に、VAG/O8が付能信号MENをMP
S22にり・1して出力し、バスノVli突を避【Jる
為に、MPS22がらデータ線114を介してのデータ
転送を禁11−づる。バッファ制御回路112に対づ′
るチップ選択を行なう為、1丁】−ド回路3080人力
がI OC8出力信号及びアドレス・バス116の最−
1−イスlピッl〜に接続される。その出力がバッファ
制御回路112のチップ選択人力に接続される。アドレ
ス・バスがバッファ制御回路112に入力され、その中
の内部レジスタの内、データを記憶すべき1つを選択す
る。 然し、バッファ制御回路112は単にデータ・プロセラ
1Y/Oどアレー・プロセッサの間でデータのインター
フエースをづ−る制御回路と()て作用し、従って任意
の形式のバッファ制御回路を用いることが出来る。 VAG66.68はVAG/O6./O8と同様に動作
する。MA G 68がV A G 66に対するバッ
クグラウンドで動作し、N OOP−1−ドがVΔ06
6に送られた時、データ・メモリ88から補助表示装置
92にデータをロードする様に作用し得る。通常の動作
中、VAG66が、補助表示9胃90に使う為に、MP
S22からデータ・メtす88にデータをロードする様
に作用し得る。 要約すれば、マスタ・プロセッサ及び複数個のスレーブ
・プロセッサを利用するアレー・プ[]セセラを提供し
た。マスタ・プロセッサは同期的に実行されるある順序
の並列のインターリーブ形命令にスレーブ・プロセッサ
を順次進める様に作用し1ワる。スレーブ・プロセラ4
Jは、その中にあるデータを操作する為に、関連するメ
モリに対するアドレスを発生する様に作用し得る。メモ
リのデータ出力が交点スイッチを介してデータ・プロセ
ッサにインターフェース接続され、こうしてデータを処
理する。マスタ・プロセラ+1が各々のスレーブ・プロ
セッサに指令を送り、スレーブ・プロセッサに於ける内
部ルーチンを開始しで、データ・メモリに対するアドレ
スを発生させる。スレーブ・プロセッサの内部ルーチン
の各々の工程は、マスタ・プロセッサによって順次進め
る。 好ましい実施例を・訂しく説明したが、特許請求の範囲
によって定められたこの発明の範囲内で、種々の変更を
加えることが出来ることを承知されlこ い 。 以上の説明に関連して更に下記の項を1ltl示する。 (1) プロセッサに於LJる命令の流れを制m−す
る順序指令を発生するマスタ・プロセッサと、内部命令
を記憶していて、前記マスク・プロ廿ツ(j−から共通
の順序指令を受取り、それに応答してそれを実行する為
の内部命令を順次進めてアドレス及び制御信号を発生す
る第1及び第2のスレーブ・プロセッサとを有し、該第
1及び第2のプロセラ4J−はデータ処理モード又はI
/Oモードの何れかで動作し、前記マスタ・プロセラ4
)からの順序指令が前記第1及び第2の′スレーブ・プ
ロセッサがどのモードになるかを決定して、1つのスレ
ーブ・プロセッサがI/Oモードで動作し目一つ1つの
スレーブ・プロセッサがデータ処理モードで動作する様
にし、更に、前記第1及び第2のスレーブ・プロセッサ
”に夫々付設されていてデータを記憶すると共に、夫々
第1及び第2のスレーブ・ブ[]セセラノーからアドレ
ス及び制御信号を受取ったことに応答して、データ・ボ
ー1−から)−タを受取って記憶するか又はデータを再
(1して出力Jる第1及び第2のデータ・メモリと、入
力にデータを受取って、予定のデータ処理機能に従って
受取ったデータを処理し目つその結束を出力ボートに出
力するデータ・ブ[1セツサと、前記メモリのデータ・
ボートをデータ・メモリの入力及び出カポ−1〜の両方
及びI/Oポー1へと相n接続する再構成し得るスイッ
チとを有し、前記I/Oボートが、該I/Oポートに人
力する為のデータを発生し且つ前記I/Oポートから出
力されるデータを受取る外部I/O装置とインターフェ
ース接続され、前記スイッチはその内部に記憶されてい
る複数個の予定の接続パターンの内、前記マスタ・プロ
セッサから1つの順序指令を受取ったことに応答して選
択される1つに従って構成され、更に、前記第1又は第
2のスレーブ・プロセッサの内、I/Oモードで動作す
る一方に付設された第1又は第2のメモリがI/Oモー
ドを完了したかどうかを判定覆る為に前記第1及び第2
のメモリの状態に関する状態情報を持つ状態レジスタ手
段を有し、前記マスタ・プロセッサは1つの前記データ
・メモリに於【プるI/Oモードの完了に応答して、他
方のスレーブ・プロセッサを強制的にI/Oモードにし
て前記スイッチのI/Oボートからデータを受取り又は
データを伝送することを続ける様にし、前記スイッチは
、前記第1及び第2データ・メモリの内、強制的にI/
Oモードにされた一方のスレーブ・プロセラ4)にイζ
1設された適当な一方を接続する様に再構成されるプロ
セッサ。 (2) (1)項に記載したプロセッサに於て、前記
接続レジスタ及びスイッチ手段に記憶される接続パター
ンは、前記マスタ・プロセッサからロードされ、更に、
前記マスク・プ[]セセラを前記スイッチにインターフ
ェース接続するパラメータ・インク−フェース手段を有
するプロセッサ。 (3) (2)項に記載したプロセッサに於て、前記
パラメータ・インターフェース手段が前記第1及び第2
のプロセッサとインターフェース接続されて、イの内部
命令を実1i ’Iイ2のに使う為に、前記マスタ・ブ
[11!ツリノ)<前記スレー−f・ブD tごツ4J
にパラメータを人力づることが出来る様にしたプ[1セ
ツ(j。 (4) (1)Inに記載した1[1セツリにjθ−
(、前記第1及び第2のスレーブ・プロ1=ツ1Jと前
記I/Oポー1〜の間をインターフェース接続し−C1
外部I/O装置からの状態信号を受取ってそれから、状
態制御情報を決定するハンドシーLイク手段を右づるプ
n t?ツサ。 (5) (11項に記載したプロセッサに於て、前記
第1の1口(!ツ与が第1の論理状態にある■/O選定
人力を持ら、前記第2のスレーブ・ブロセッ1jが第2
の論理状態にあるI/O選定人力を持I5、前記順序指
令の内の1′)は、前記第1及び第2のスレーブ・プロ
セッサの内のどl)らが、選定人力にある論理状態に対
応してI/Oモードになるかを決定しC1前記第1及び
第2のスレーブ・プll−1=ツ号がデータ処理[−ド
及びI/Oモードの間で一ノリップフ[」ツブ形の動作
をすることが出来る様にし7+二1nセ・ンリ。 (6) アレー・プ[1セツサに於ける命令の流れを
制御づる順序指令を発生46制御プ[1セツ1tと、何
れも内部命令を持っていて、前記順序指令を受取って、
それに応答して前記内部命令に順次進む第1、第2及び
第3のスレーブ・アドレス・ブ[Jセッサとを有し、各
々のスレーブ・アドレス・ブ【117ツナにある内部命
令は並列に目つ同期的に順次進めて、アドレス及び制御
信号を発生し、^Q記第1のスレーブ・アドレス・プ[
1セツサは別個の1つの順序指令を受取り、前記第2及
び第3のスレーブ・アドレス・In tッザは前記第1
のスレーブ・アドレス・プロセッサとは別個の、共通の
1つの順序指令をJLに受取り、前記第1及び第2のス
レーブ・アドレス・プロセッサは前記順次指令の内の予
定の1つに応答して、I/O’E−ド又はデータ処理モ
ードの何れかで動作して、前記第2及び第3のスレーブ
・アドレス・ブ[]セセラすの内の1つだI−jがI/
Oモードで動作し、前記第2及び第3のスレーブ・プロ
セッサの内、I/Oモ一部にある一’irは他の順序指
令に応答1!ず、前記制御プロセッサから独立して動作
し、史に、前記第1、第2及び第3のスレーブ・アドレ
ス・プロセッサの各々に夫々付設されていてデータを記
憶し、アドレス及び制御信号に応答して記憶されている
データを出力するか又はその内に記憶する為にデータを
受取る様に作用し得る第1、第2及び第3のデータ・メ
モリと、入力ボートにデへ夕を受取り、受取ったデータ
を、出力ピンに結果を出JJする為に、予定のデータ処
理機能に従って処理するアレー・データ・プロセッサと
、前記データ・メモリのデータ人力/出力にインターフ
ェース接続されたメモリ・ボート、及び前記データ人力
/出力ボートにインターフェース接続されたプロセッサ
・ボートを持っていて、データ・ブ[]セッサ及びI/
Oボートが、イの間のデータ転送の為に、外部I /
OHMとインターフェース接続される様にするスイッチ
手段とを有し、該スイッチ手段は接続レジスタに記憶さ
れた接続パターンの内の選ばれた1つに従って、前記メ
モリ・ボートを前記プロセッサ・ボート又はI/Oボー
1〜の何れかと予定の形で相77接続し、前舘選ばれた
パターンは前記ブロセッ1J−からの順序指令に応答し
て選択され、0t■記第2及び第3のデータメモリだ【
−Jが前記I/Oボートに相互接続され、前記第2及び
第3のスレーブ・アドレス・ブ[1t?ツサは、前記制
御プ[]セセラノによってぞれを動作ざUる選ばれた順
序指令を発生することに」、って制御され、その一方が
強制的にI/O動作モードになりlっ他方がデータ処理
モードになる様にし、目っ前記順序指令によってイの内
部命令を順次進む様にし、前記強制御/Oモードにある
一方は前記第2及び第3のデータ・メモリの内の付設さ
れtこ一方を制御して外Nll/O装置からデータを受
取るか又はそれに対してデータを転送し、データがit
I記付設された第2又は第3のデータ・メモリから完全
に転送されるか又は該メモリに完全に記憶されるI/O
動作の完了に」:す、前記状態レジスタの状態が変化し
、前記制御プロセッサは前記状態が変化した時、前記第
2及び第3のスレーブ・アドレス・プl]レッ4jの内
の他方を強制的に強制御/Oモードにするアレー・プロ
セッサ−6 (7) (6)項に記載したアレー・ブ[11′!ツ
リに於て、前記データ・プロセッサが再構成可能であっ
て、複数個のデータ処理機能を内部に記憶しており、前
記データ・プロセッサは前記制御プロセラ4)−からの
順序指令を受取って、遂行すべき1つのデータ処理機能
を選択する様に作用し得るアレー・プロセッサ。 (8) (61項に記載したアレー・プロセッサに於
て、前記制御プロセッサ及び前記スレーブ・アドレス・
プロセッサどインターフェース接続して、前記制御プロ
セッサが前記スレーブ・アドレス・プロはツサにパラメ
ータを入力することが出来る様にするパラメータ・イン
ターフェース手段を有するアレー・プロセッサ。 (9) (8)項に記載したアレー・プロセッサに於
て、前記スイツヂ手段が前記パラメータ・インターフェ
ース手段から、前記接続レジスタを変更する為にその中
に記憶する為、接続パターンを受取る様に作用し1する
アレー・プロセラ1ノ。 (/O) (6)項に記載したアレー・プ1コセッサ
に於て、前記第2及び第3のスレーブ・プロセッサが選
定入力を持ち、前記第2のアドレス・プロセッサは第1
の論理状態に設定された選定入力を持ち、前記第2のス
レーブ・プロセラ4ノは第2の論理状態に設定された選
定入力を持ち、前記制御プロCブザは前記選定入力の第
1又は第2の論理状態に対応する第1又は第2の論理状
態に符号化された順序指令を出力して、順序指令の論理
状態が第2及び第3のスレーブ・プロセッサの内、I/
Oモードで動作する一方を決定する様にしたアレー・プ
ロセッサ。 (11) (6)項に記載したアレー・プロセッサに
於て、前記第2及び第3のスレーブ・プロセッサを外部
データ・プロセッサとインターフェース接続するハンド
シェイク手段を有し、こうして前記強制御/Oモードに
付設された、前記第2及び第3のデータ・メモリの内の
一方との間のデータ転送を同期して、その間のデータ転
送を同期させ、外部I/O装置及び前記第2及び第3の
スレーブ・プロセッサの内、I/Oモードにある一方の
間のデータ転送は、前記第2及び第3のスレーブ・プロ
セッサの内の他方並びに前記第1のスレーブ・プロセッ
サに於ける命令の流れに対して非同期的であるアレー・
プロセッサ。 (12)データを処理すると共に外部I/O装置とイン
ターフェース接続する方法に於て、データ処理命令を第
1及び第2のスレーブ節に、そしてI/O命令を第2の
節に記憶し、前記スレーブ節に於ける命令の流れを制御
する為の順序指令をマスタ節に発生し、各々のスレーブ
節で順序指令を受取って選ばれた命令を順次進めて、記
憶された命令の実行に応答して、データ処理機能に対す
るアドレス及び制御信号を発生し、前記命令は順序指令
に対して同期的に順次進められ、選ばれた順序指令に応
答して、前記第2の節でI/O命令の流れを開始して、
I/Oアドレス及び制御信号を発生し、該I/O命令の
流れはその開始後は、順序指令から独立しており、前記
第1及び第2の節にデータ・メモリを、そして前記第2
の節にI/Oメモリを設け、夫々の節でアドレス及び制
御信号が発生さ机たことに応答して、夫々第1及び第2
の節にあるデータ・メモリをアドレスすると共に、前記
第2の節で発生されたI/Oアドレス及び制御信号に応
答して第2の節のI/Oメモリをアドレスし、夫々のメ
モリをアドレスすることによって、データ・ボートから
データを受取って記憶すること又はデータ・ボートから
データをアクセスして出力することが出来る様にし、デ
ータ・メモリのデータ・ボートをデータ・プロセッサの
データ・ボートと相互接続すると共に、I/Oメモリの
データ・ボートを外部I/Oボートとインターフェース
接続して、それとの間でデータ転送を行ない、データ・
プロセッサで受取った入力データを予定のデータ処理機
能に従って処理して、その結果を1つの前記データ・メ
モリに記憶する為に、データ・ボートに出力し、前記第
2の節に於けるI/O動作が完了したかどうかを示す状
態をマスク節に供給する工程を含む方法。 (13) (12)項に記載した方法に於て、前記第
2の節に並列の1組のデータ命令を、そして前記第2の
節に並列の1組のI/O命令を記憶し、前記第2の節に
あるf−タ・メモリはI/Oメモリ及びデータ・メモリ
の両方どして作用し、前記第2節のI/Oメモリはデー
タ・メモリ及びI/Oメモリの両方として作用し、更に
、マスク節で順序指令を発生して、第1組の命令による
I/O動作が完了したことを示づ状態に応答して、第2
組のI/O命令の流れを開始して、関連するメモリに対
するI/Oアトlノス及び制御信号を発生し、前記第2
組のr/(”)命令の開始ににす、第2組のデータ処理
命令によるデータ処理ら開始され、I/O/O0びデー
タ処理が一緒に行なわれる様にする■稈を含む方法。 (14)(12) 1Fjに記載した方法に於て、第2
組のI/O命令によるI/O/O0状態を表示し、第2
絹のI/O命令によるI/O/O0完了したことに応答
して、第1組のI/O命令によるI/O/O0開始して
、I/O/O0第1組及び第2組のI/O命令の間で交
Hに代る様にし、I/Oデータの転送が2つのメモリの
一方の間−て・行なわれ、2つのメモリの他方が第1組
又は第2組のデータ処理命令に従−)でデータを処理す
ることに用いられる様にする]稈を含む方法。 (15) (12)項に記載した方法に於て、複数個
の相7′j接続パターンを表わ4相17接続データを記
憶し、メモリのデータ・ポー1−がデータ・プロセラ+
1及びI/Oポー1〜と1つの相77接続パターンに従
って相n接続され、更にマスク節からの順序指令に応答
して、相n接続パターンの内の1つを選択する■程を含
む方法。 (16) (12)項に記載した方法に於て、マスク
節から受取った順序指令に従つC1データ・ブn tツ
サのデータ処理機能を再構成し、データ・プロセッサは
複数個のデータ処理機能を持ち、その内の1つだけがマ
スク節からの順序指令によって選I戻される方法。
る時にだけ、付能される。伯の場合、メモリの出力が不
作動にされ、それらが関連したメモリとのVAGのデー
タ操作とぶつからない様にする。 第9図には、転送論理回路288.290の簡略ブロッ
ク図が示されている。制御バスがD形フリップ70ツブ
294に3ビツトを入力し、このフリップフロップがデ
コード論理回路296に入力する。デコード論理回路の
出力がJK形フリップ70ツブ298のに入力に人力さ
れ、リセット信号がクロック入力に入力される。J入力
はアースに結合される。I/Oチップ選択信号がフリッ
プフロップ298のセット入力に入力され、反転Q出力
がAア・ゲート300の一方の入力に入力される。オア
・ゲート300の出力がイ」能信号を構成づ゛る。T/
Oデツプ選択信号はナンド・ゲー1−302の一方の入
力にも入力され、このゲートの出力がオア・ゲート30
0の他方の入力に入力される。ナンド・ゲーh 302
の他方の入力が八〇に信号に接続される。優先順位信号
がオア・ゲー1〜304によって選択され、このゲート
の入力が関連したVAG52又は54からのチップ選択
及び書込み信号に接続されている。 サイクル・スチール 夫々V A G 2 a 及U V A G 2 b
ト記すレタV AG/O6./O8と、VAG4 a及
びVAG 4 t)ど記されたVAG66.68が、4
ノ−イクル・スチール・モードで構成される。サイクル
・スチール・モードは、処理サイクルの合間に、データ
を関連したメモリに転送することが出来る様にする。 これは、N0OP指令が夫々のVAGに送られ、関連し
たプログラム・メモリに対して何のアドレスも発生され
ないことを示す時間に対応する。サー 7〇 − イクル・スチール・モードでは、2つのV A Gが必
要であり、一方がフォアグラウンド・タスクを遂行し、
もう1つが関連したメモリにデータを記憶するバックグ
ラウンド・タスクを遂行する。従って、両者が同じメモ
リ・アドレス・バスを共有する。一方のV A Gはサ
イクル・スチール・モードだけで動作し、他方が処理モ
ードで動作する。 両方のV A G h< N OOPコードを記録した
時、サイクル・スチール・モードにある一方が作用し、
その内部I/Oプログラムを実行して、メモリ制御アド
レスを発生する。他方のVAGは不作動になり、そのメ
モリ・バスの出力を3状態にして、この為バスの衝突は
起り得ない。N0OP以外の]−ドが記録された時、処
理動作モードにあるVAGが作用し、他方は不作動にな
る。この為、一度に1つのVAGだけが作用することが
出来、メモリ・バスとインターフェース接続することが
出来る。 第/O図にVAG/O6./O8、ブ「1グラム・メモ
リI/O及びバッファ制御装置112のtR1= 71
− 大ブロツク図が示されており、これまでと同様な部分に
は同じ参照数字を用いている。各々のVAG /J’
I OI D出力ピンを持ち、これが夫々のVAGのI
/O制御装置218とインターフェース接続される。V
AG/O8のl0Inピンが高論庁レベルに接続され、
VAG/O6のl0IDビンがアースに接続される。こ
れによって、VAG/O8がサイクル・スチール用V
A Gとして同定される。各々のVAG/O6./O8
のアドレス出力がアドレス・バス116に接続される。 アドレス・バス116がプログラム・メ七りI/Oのア
ドレス入力とバッファ制御装置112のアドレス入力と
の両方に接続される。バッファ制御回路112ハ1if
t、<説明すなイlfi、VAG/O6./O8によっ
てアドレスすることが出来る内部レジスタがある。VA
G/O6./O8のパラメータ・バスの入力がデータ・
バス114に接続され、これはプログラム・メモリI/
O及びバッファ制御回路112の両方のデータ・ボー1
−にb接続されている。データ・バス114はシステム
・バス113から/Oグラl\・メにりI/Oに)−タ
を転送リ−ることが出来る様にするどJ5に、パラメー
タ・データをMPS22からVAol 06,/O8へ
転送りることが出来る様にし、更にアレー・ブ[1[?
ツ↑j内の他のメモリからブ1−1グラム・メ[すI/
Oにもデータを転送することが出来る様にする。このデ
ータはバッファ制御回路112を介してシステムへ転送
覆ることが出来る。 VAG/O6./O8を動作モード及び1Jイクル・ス
チール・t−ドに初期設定」る時、A CS12は2回
のバスが必要である。AC8が最初にINI’T−指令
を両方のVΔG/O6,/O8に送つ−で、それらを開
始アドレスに初1111設定し、両方のVAG/O6,
/O8が基本動作モードで電源がAンに4cる3、開始
アドレスがMPS22及びデータ・バス114を介して
イのパラメータ・バス人力に転送される。最初のバスの
間、V A Gを初期設定した開始アドレスにより、V
AG/O8が−IJイクル・スプール・モードに入る。 これは/O11”lピンが高になっているからである。 −且■へG /O8が月−イクル・スチール・モードに
入ると、これは八C812から(7)l−IAIT及D
’ り[S I−1指令にだl−J応答Jる。その後、
2番[−1のINI王指全指令切IJ[パラメータ情報
と共にバス114を介しrvAG1o6に送られ、VA
G/O6を特定の動作ルーブンに初+111設定する。 −)’m V A G 1o8がt1イクル・スチール
・t−ドになると、VAG /O6は、プロゲラl\・
メモリI/Oを操作して、アレー・ブ[I Qツ(J−
’r使う為のパラメータをそれから取出し、又はそれに
対してデータを入力する様に制御づることか出来る。前
に述べた様に、指令パラメータ・リスl−”CPI”が
プログラム・メ七りI/Oに記憶されでいる。八C81
2がこういうリス1−をプ【]グラム・メ七りI/Oか
ら取出して、実行号べきタスクを決定する。貸−一)で
、プ1]グシム・メ[すI/O1ま、持らti列でC1
〕1−を記憶する様に操作し1cIる。この時Jう行列
を1タスク持1−、行列−1と定義する。AC312が
この持Jう行列を順次進んで、どの特定のタスクを作用
させるかを決定する。こういうタスクは、速いノーり丁
変換(+−F I−) l: (Yつでデータを処理覆
ることヤ)、システム・バス113を介してデータ・プ
[−ルッ4yが取出4為に、メ−[りにデータをロード
することに及ぶことが出来る。 データはバック7 ff1ll In回路12から受取
ってブ[1グラム・メモリI/Oに記憶したり、或いは
プログラム・メモリI/Oから取出してバラフッ制御回
路112に送ることが出来る。バッファ制御回路112
にあるデータはその外部に記憶することが出来る【)、
或いは先入れ先出しレジスタ([I[0)に内部で記憶
J−ることが出来る。VAG/O6にN OOl)指令
が送られた時、VAG /O8を作動して、バッファ制
御回路112と相互作用し、その中にある内部バッファ
からプログラム・メモリI/O内の特定のアドレスにデ
ータを転送す゛ることか出来る。バッファ制御回路との
インターフェース接続の為、割込み線、DMA要求線及
びDMA確認線115がその間にインターフェース接続
され、直接メモリ・アクセス(1)MA)制御が出来る
様にする。更に、VAG/O8が付能信号MENをMP
S22にり・1して出力し、バスノVli突を避【Jる
為に、MPS22がらデータ線114を介してのデータ
転送を禁11−づる。バッファ制御回路112に対づ′
るチップ選択を行なう為、1丁】−ド回路3080人力
がI OC8出力信号及びアドレス・バス116の最−
1−イスlピッl〜に接続される。その出力がバッファ
制御回路112のチップ選択人力に接続される。アドレ
ス・バスがバッファ制御回路112に入力され、その中
の内部レジスタの内、データを記憶すべき1つを選択す
る。 然し、バッファ制御回路112は単にデータ・プロセラ
1Y/Oどアレー・プロセッサの間でデータのインター
フエースをづ−る制御回路と()て作用し、従って任意
の形式のバッファ制御回路を用いることが出来る。 VAG66.68はVAG/O6./O8と同様に動作
する。MA G 68がV A G 66に対するバッ
クグラウンドで動作し、N OOP−1−ドがVΔ06
6に送られた時、データ・メモリ88から補助表示装置
92にデータをロードする様に作用し得る。通常の動作
中、VAG66が、補助表示9胃90に使う為に、MP
S22からデータ・メtす88にデータをロードする様
に作用し得る。 要約すれば、マスタ・プロセッサ及び複数個のスレーブ
・プロセッサを利用するアレー・プ[]セセラを提供し
た。マスタ・プロセッサは同期的に実行されるある順序
の並列のインターリーブ形命令にスレーブ・プロセッサ
を順次進める様に作用し1ワる。スレーブ・プロセラ4
Jは、その中にあるデータを操作する為に、関連するメ
モリに対するアドレスを発生する様に作用し得る。メモ
リのデータ出力が交点スイッチを介してデータ・プロセ
ッサにインターフェース接続され、こうしてデータを処
理する。マスタ・プロセラ+1が各々のスレーブ・プロ
セッサに指令を送り、スレーブ・プロセッサに於ける内
部ルーチンを開始しで、データ・メモリに対するアドレ
スを発生させる。スレーブ・プロセッサの内部ルーチン
の各々の工程は、マスタ・プロセッサによって順次進め
る。 好ましい実施例を・訂しく説明したが、特許請求の範囲
によって定められたこの発明の範囲内で、種々の変更を
加えることが出来ることを承知されlこ い 。 以上の説明に関連して更に下記の項を1ltl示する。 (1) プロセッサに於LJる命令の流れを制m−す
る順序指令を発生するマスタ・プロセッサと、内部命令
を記憶していて、前記マスク・プロ廿ツ(j−から共通
の順序指令を受取り、それに応答してそれを実行する為
の内部命令を順次進めてアドレス及び制御信号を発生す
る第1及び第2のスレーブ・プロセッサとを有し、該第
1及び第2のプロセラ4J−はデータ処理モード又はI
/Oモードの何れかで動作し、前記マスタ・プロセラ4
)からの順序指令が前記第1及び第2の′スレーブ・プ
ロセッサがどのモードになるかを決定して、1つのスレ
ーブ・プロセッサがI/Oモードで動作し目一つ1つの
スレーブ・プロセッサがデータ処理モードで動作する様
にし、更に、前記第1及び第2のスレーブ・プロセッサ
”に夫々付設されていてデータを記憶すると共に、夫々
第1及び第2のスレーブ・ブ[]セセラノーからアドレ
ス及び制御信号を受取ったことに応答して、データ・ボ
ー1−から)−タを受取って記憶するか又はデータを再
(1して出力Jる第1及び第2のデータ・メモリと、入
力にデータを受取って、予定のデータ処理機能に従って
受取ったデータを処理し目つその結束を出力ボートに出
力するデータ・ブ[1セツサと、前記メモリのデータ・
ボートをデータ・メモリの入力及び出カポ−1〜の両方
及びI/Oポー1へと相n接続する再構成し得るスイッ
チとを有し、前記I/Oボートが、該I/Oポートに人
力する為のデータを発生し且つ前記I/Oポートから出
力されるデータを受取る外部I/O装置とインターフェ
ース接続され、前記スイッチはその内部に記憶されてい
る複数個の予定の接続パターンの内、前記マスタ・プロ
セッサから1つの順序指令を受取ったことに応答して選
択される1つに従って構成され、更に、前記第1又は第
2のスレーブ・プロセッサの内、I/Oモードで動作す
る一方に付設された第1又は第2のメモリがI/Oモー
ドを完了したかどうかを判定覆る為に前記第1及び第2
のメモリの状態に関する状態情報を持つ状態レジスタ手
段を有し、前記マスタ・プロセッサは1つの前記データ
・メモリに於【プるI/Oモードの完了に応答して、他
方のスレーブ・プロセッサを強制的にI/Oモードにし
て前記スイッチのI/Oボートからデータを受取り又は
データを伝送することを続ける様にし、前記スイッチは
、前記第1及び第2データ・メモリの内、強制的にI/
Oモードにされた一方のスレーブ・プロセラ4)にイζ
1設された適当な一方を接続する様に再構成されるプロ
セッサ。 (2) (1)項に記載したプロセッサに於て、前記
接続レジスタ及びスイッチ手段に記憶される接続パター
ンは、前記マスタ・プロセッサからロードされ、更に、
前記マスク・プ[]セセラを前記スイッチにインターフ
ェース接続するパラメータ・インク−フェース手段を有
するプロセッサ。 (3) (2)項に記載したプロセッサに於て、前記
パラメータ・インターフェース手段が前記第1及び第2
のプロセッサとインターフェース接続されて、イの内部
命令を実1i ’Iイ2のに使う為に、前記マスタ・ブ
[11!ツリノ)<前記スレー−f・ブD tごツ4J
にパラメータを人力づることが出来る様にしたプ[1セ
ツ(j。 (4) (1)Inに記載した1[1セツリにjθ−
(、前記第1及び第2のスレーブ・プロ1=ツ1Jと前
記I/Oポー1〜の間をインターフェース接続し−C1
外部I/O装置からの状態信号を受取ってそれから、状
態制御情報を決定するハンドシーLイク手段を右づるプ
n t?ツサ。 (5) (11項に記載したプロセッサに於て、前記
第1の1口(!ツ与が第1の論理状態にある■/O選定
人力を持ら、前記第2のスレーブ・ブロセッ1jが第2
の論理状態にあるI/O選定人力を持I5、前記順序指
令の内の1′)は、前記第1及び第2のスレーブ・プロ
セッサの内のどl)らが、選定人力にある論理状態に対
応してI/Oモードになるかを決定しC1前記第1及び
第2のスレーブ・プll−1=ツ号がデータ処理[−ド
及びI/Oモードの間で一ノリップフ[」ツブ形の動作
をすることが出来る様にし7+二1nセ・ンリ。 (6) アレー・プ[1セツサに於ける命令の流れを
制御づる順序指令を発生46制御プ[1セツ1tと、何
れも内部命令を持っていて、前記順序指令を受取って、
それに応答して前記内部命令に順次進む第1、第2及び
第3のスレーブ・アドレス・ブ[Jセッサとを有し、各
々のスレーブ・アドレス・ブ【117ツナにある内部命
令は並列に目つ同期的に順次進めて、アドレス及び制御
信号を発生し、^Q記第1のスレーブ・アドレス・プ[
1セツサは別個の1つの順序指令を受取り、前記第2及
び第3のスレーブ・アドレス・In tッザは前記第1
のスレーブ・アドレス・プロセッサとは別個の、共通の
1つの順序指令をJLに受取り、前記第1及び第2のス
レーブ・アドレス・プロセッサは前記順次指令の内の予
定の1つに応答して、I/O’E−ド又はデータ処理モ
ードの何れかで動作して、前記第2及び第3のスレーブ
・アドレス・ブ[]セセラすの内の1つだI−jがI/
Oモードで動作し、前記第2及び第3のスレーブ・プロ
セッサの内、I/Oモ一部にある一’irは他の順序指
令に応答1!ず、前記制御プロセッサから独立して動作
し、史に、前記第1、第2及び第3のスレーブ・アドレ
ス・プロセッサの各々に夫々付設されていてデータを記
憶し、アドレス及び制御信号に応答して記憶されている
データを出力するか又はその内に記憶する為にデータを
受取る様に作用し得る第1、第2及び第3のデータ・メ
モリと、入力ボートにデへ夕を受取り、受取ったデータ
を、出力ピンに結果を出JJする為に、予定のデータ処
理機能に従って処理するアレー・データ・プロセッサと
、前記データ・メモリのデータ人力/出力にインターフ
ェース接続されたメモリ・ボート、及び前記データ人力
/出力ボートにインターフェース接続されたプロセッサ
・ボートを持っていて、データ・ブ[]セッサ及びI/
Oボートが、イの間のデータ転送の為に、外部I /
OHMとインターフェース接続される様にするスイッチ
手段とを有し、該スイッチ手段は接続レジスタに記憶さ
れた接続パターンの内の選ばれた1つに従って、前記メ
モリ・ボートを前記プロセッサ・ボート又はI/Oボー
1〜の何れかと予定の形で相77接続し、前舘選ばれた
パターンは前記ブロセッ1J−からの順序指令に応答し
て選択され、0t■記第2及び第3のデータメモリだ【
−Jが前記I/Oボートに相互接続され、前記第2及び
第3のスレーブ・アドレス・ブ[1t?ツサは、前記制
御プ[]セセラノによってぞれを動作ざUる選ばれた順
序指令を発生することに」、って制御され、その一方が
強制的にI/O動作モードになりlっ他方がデータ処理
モードになる様にし、目っ前記順序指令によってイの内
部命令を順次進む様にし、前記強制御/Oモードにある
一方は前記第2及び第3のデータ・メモリの内の付設さ
れtこ一方を制御して外Nll/O装置からデータを受
取るか又はそれに対してデータを転送し、データがit
I記付設された第2又は第3のデータ・メモリから完全
に転送されるか又は該メモリに完全に記憶されるI/O
動作の完了に」:す、前記状態レジスタの状態が変化し
、前記制御プロセッサは前記状態が変化した時、前記第
2及び第3のスレーブ・アドレス・プl]レッ4jの内
の他方を強制的に強制御/Oモードにするアレー・プロ
セッサ−6 (7) (6)項に記載したアレー・ブ[11′!ツ
リに於て、前記データ・プロセッサが再構成可能であっ
て、複数個のデータ処理機能を内部に記憶しており、前
記データ・プロセッサは前記制御プロセラ4)−からの
順序指令を受取って、遂行すべき1つのデータ処理機能
を選択する様に作用し得るアレー・プロセッサ。 (8) (61項に記載したアレー・プロセッサに於
て、前記制御プロセッサ及び前記スレーブ・アドレス・
プロセッサどインターフェース接続して、前記制御プロ
セッサが前記スレーブ・アドレス・プロはツサにパラメ
ータを入力することが出来る様にするパラメータ・イン
ターフェース手段を有するアレー・プロセッサ。 (9) (8)項に記載したアレー・プロセッサに於
て、前記スイツヂ手段が前記パラメータ・インターフェ
ース手段から、前記接続レジスタを変更する為にその中
に記憶する為、接続パターンを受取る様に作用し1する
アレー・プロセラ1ノ。 (/O) (6)項に記載したアレー・プ1コセッサ
に於て、前記第2及び第3のスレーブ・プロセッサが選
定入力を持ち、前記第2のアドレス・プロセッサは第1
の論理状態に設定された選定入力を持ち、前記第2のス
レーブ・プロセラ4ノは第2の論理状態に設定された選
定入力を持ち、前記制御プロCブザは前記選定入力の第
1又は第2の論理状態に対応する第1又は第2の論理状
態に符号化された順序指令を出力して、順序指令の論理
状態が第2及び第3のスレーブ・プロセッサの内、I/
Oモードで動作する一方を決定する様にしたアレー・プ
ロセッサ。 (11) (6)項に記載したアレー・プロセッサに
於て、前記第2及び第3のスレーブ・プロセッサを外部
データ・プロセッサとインターフェース接続するハンド
シェイク手段を有し、こうして前記強制御/Oモードに
付設された、前記第2及び第3のデータ・メモリの内の
一方との間のデータ転送を同期して、その間のデータ転
送を同期させ、外部I/O装置及び前記第2及び第3の
スレーブ・プロセッサの内、I/Oモードにある一方の
間のデータ転送は、前記第2及び第3のスレーブ・プロ
セッサの内の他方並びに前記第1のスレーブ・プロセッ
サに於ける命令の流れに対して非同期的であるアレー・
プロセッサ。 (12)データを処理すると共に外部I/O装置とイン
ターフェース接続する方法に於て、データ処理命令を第
1及び第2のスレーブ節に、そしてI/O命令を第2の
節に記憶し、前記スレーブ節に於ける命令の流れを制御
する為の順序指令をマスタ節に発生し、各々のスレーブ
節で順序指令を受取って選ばれた命令を順次進めて、記
憶された命令の実行に応答して、データ処理機能に対す
るアドレス及び制御信号を発生し、前記命令は順序指令
に対して同期的に順次進められ、選ばれた順序指令に応
答して、前記第2の節でI/O命令の流れを開始して、
I/Oアドレス及び制御信号を発生し、該I/O命令の
流れはその開始後は、順序指令から独立しており、前記
第1及び第2の節にデータ・メモリを、そして前記第2
の節にI/Oメモリを設け、夫々の節でアドレス及び制
御信号が発生さ机たことに応答して、夫々第1及び第2
の節にあるデータ・メモリをアドレスすると共に、前記
第2の節で発生されたI/Oアドレス及び制御信号に応
答して第2の節のI/Oメモリをアドレスし、夫々のメ
モリをアドレスすることによって、データ・ボートから
データを受取って記憶すること又はデータ・ボートから
データをアクセスして出力することが出来る様にし、デ
ータ・メモリのデータ・ボートをデータ・プロセッサの
データ・ボートと相互接続すると共に、I/Oメモリの
データ・ボートを外部I/Oボートとインターフェース
接続して、それとの間でデータ転送を行ない、データ・
プロセッサで受取った入力データを予定のデータ処理機
能に従って処理して、その結果を1つの前記データ・メ
モリに記憶する為に、データ・ボートに出力し、前記第
2の節に於けるI/O動作が完了したかどうかを示す状
態をマスク節に供給する工程を含む方法。 (13) (12)項に記載した方法に於て、前記第
2の節に並列の1組のデータ命令を、そして前記第2の
節に並列の1組のI/O命令を記憶し、前記第2の節に
あるf−タ・メモリはI/Oメモリ及びデータ・メモリ
の両方どして作用し、前記第2節のI/Oメモリはデー
タ・メモリ及びI/Oメモリの両方として作用し、更に
、マスク節で順序指令を発生して、第1組の命令による
I/O動作が完了したことを示づ状態に応答して、第2
組のI/O命令の流れを開始して、関連するメモリに対
するI/Oアトlノス及び制御信号を発生し、前記第2
組のr/(”)命令の開始ににす、第2組のデータ処理
命令によるデータ処理ら開始され、I/O/O0びデー
タ処理が一緒に行なわれる様にする■稈を含む方法。 (14)(12) 1Fjに記載した方法に於て、第2
組のI/O命令によるI/O/O0状態を表示し、第2
絹のI/O命令によるI/O/O0完了したことに応答
して、第1組のI/O命令によるI/O/O0開始して
、I/O/O0第1組及び第2組のI/O命令の間で交
Hに代る様にし、I/Oデータの転送が2つのメモリの
一方の間−て・行なわれ、2つのメモリの他方が第1組
又は第2組のデータ処理命令に従−)でデータを処理す
ることに用いられる様にする]稈を含む方法。 (15) (12)項に記載した方法に於て、複数個
の相7′j接続パターンを表わ4相17接続データを記
憶し、メモリのデータ・ポー1−がデータ・プロセラ+
1及びI/Oポー1〜と1つの相77接続パターンに従
って相n接続され、更にマスク節からの順序指令に応答
して、相n接続パターンの内の1つを選択する■程を含
む方法。 (16) (12)項に記載した方法に於て、マスク
節から受取った順序指令に従つC1データ・ブn tツ
サのデータ処理機能を再構成し、データ・プロセッサは
複数個のデータ処理機能を持ち、その内の1つだけがマ
スク節からの順序指令によって選I戻される方法。
第1図は一般化したプログラムlII能なアレー・ブI
I ’t?ツサの簡略ブ111ツク図、第2図はアレー
・プロセッサの更に詳しいブロック図、第3図はアレー
制t11+装置及びシーケンシの簡略ブロック図、第4
図はベクトル・アドレス発生器の簡略ブロック図、第5
図はデータ処理装置として利用されるベタ1〜ル算術及
び論理装置の簡略ブロック図、第6図は多重通路スイッ
チの回路図、第7図はアレー・ブ1−]セッサの1例の
ブロック図、第8図は強制御/O動作を用いるアレー・
プロセラ1ノの一部分の簡略ブ【二]ツク図、第9図は
強制御/O動作を行なわける転送論理回路の回路図、第
/O図はサイクル・スヂールを用いるアレー・プロセッ
サのタスク選択部分の簡略ブロック図である。 12: アレー制御装置及びジークンU−18二 制御
バス 20a乃〒20n + ベタ1−ル・アドレス発生m (VAG)22: 多重
ボー1へスケッチ(MPS)24: ス1ノーブ・デー
タ・プロセッサ−250: 接続レジスタ・ファイル 手続補正書(方式) 昭和z2年3月工3日
I ’t?ツサの簡略ブ111ツク図、第2図はアレー
・プロセッサの更に詳しいブロック図、第3図はアレー
制t11+装置及びシーケンシの簡略ブロック図、第4
図はベクトル・アドレス発生器の簡略ブロック図、第5
図はデータ処理装置として利用されるベタ1〜ル算術及
び論理装置の簡略ブロック図、第6図は多重通路スイッ
チの回路図、第7図はアレー・ブ1−]セッサの1例の
ブロック図、第8図は強制御/O動作を用いるアレー・
プロセラ1ノの一部分の簡略ブ【二]ツク図、第9図は
強制御/O動作を行なわける転送論理回路の回路図、第
/O図はサイクル・スヂールを用いるアレー・プロセッ
サのタスク選択部分の簡略ブロック図である。 12: アレー制御装置及びジークンU−18二 制御
バス 20a乃〒20n + ベタ1−ル・アドレス発生m (VAG)22: 多重
ボー1へスケッチ(MPS)24: ス1ノーブ・デー
タ・プロセッサ−250: 接続レジスタ・ファイル 手続補正書(方式) 昭和z2年3月工3日
Claims (1)
- プロセッサに於ける命令の流れを制御する順序指令を発
生するマスタ・プロセッサと、内部命令を記憶していて
、前記マスタ・プロセッサから共通の順序指令を受取り
、それに応答してそれを実行する為の内部命令を順次進
めてアドレス及び制御信号を発生する第1及び第2のス
レーブ・プロセッサとを有し、該第1及び第2のプロセ
ッサはデータ処理モード又はI/Oモードの何れかで動
作し、前記マスタ・プロセッサからの順序指令が前記第
1及び第2のスレーブ・プロセッサがどのモードになる
かを決定して、1つのスレーブ・プロセッサがI/Oモ
ードで動作し且つ1つのスレーブ・プロセッサがデータ
処理モードで動作する様にし、更に、前記第1及び第2
のスレーブ・プロセッサに夫々付設されていてデータを
記憶すると共に、夫々第1及び第2のスレーブ・プロセ
ッサからアドレス及び制御信号を受取ったことに応答し
て、データ・ポートからデータを受取って記憶するか又
はデータを再生して出力する第1及び第2のデータ・メ
モリと、入力にデータを受取って、予定のデータ処理機
能に従って受取ったデータを処理し且つその結果を出力
ポートに出力するデータ・プロセッサと、前記メモリの
データ・ポートをデータ・メモリの入力及び出力ポート
の両方及びI/Oポートと相互接続する再構成し得るス
イッチとを有し、前記I/Oポートが、該I/Oポート
に入力する為のデータを発生し且つ前記I/Oポートか
ら出力されるデータを受取る外部I/O装置とインター
フェース接続され、前記スイッチはその内部に記憶され
ている複数個の予定の接続パターンの内、前記マスタ・
プロセッサから1つの順序指令を受取ったことに応答し
て選択される1つに従って構成され、更に、前記第1又
は第2のスレーブ、プロセッサの内、I/Oモードで動
作する一方に付設された第1又は第2のメモリがI/O
モードを完了したかどうかを判定する為に前記第1及び
第2のメモリの状態に関する状態情報を持つ状態レジス
タ手段を有し、前記マスタ・プロセッサは1つの前記デ
ータ・メモリに於けるI/Oモードの完了に応答して、
他方のスレーブ・プロセッサを強制的にI/Oモードに
して前記スイッチのI/Oポートからデータを受取り又
はデータを伝送することを続ける様にし、前記スイッチ
は、前記第1及び第2データ・メモリの内、強制的にI
/Oモードにされた一方のスレーブ・プロセッサに付設
された適当な一方を接続する様に再構成されるプロセッ
サ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US809095 | 1985-12-12 | ||
US06/809,095 US4745544A (en) | 1985-12-12 | 1985-12-12 | Master/slave sequencing processor with forced I/O |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62217354A true JPS62217354A (ja) | 1987-09-24 |
JP2519226B2 JP2519226B2 (ja) | 1996-07-31 |
Family
ID=25200526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61295715A Expired - Lifetime JP2519226B2 (ja) | 1985-12-12 | 1986-12-11 | プロセツサ |
Country Status (2)
Country | Link |
---|---|
US (1) | US4745544A (ja) |
JP (1) | JP2519226B2 (ja) |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5036453A (en) * | 1985-12-12 | 1991-07-30 | Texas Instruments Incorporated | Master/slave sequencing processor |
US4980821A (en) * | 1987-03-24 | 1990-12-25 | Harris Corporation | Stock-memory-based writable instruction set computer having a single data bus |
JPS63259727A (ja) * | 1987-04-17 | 1988-10-26 | Hitachi Ltd | コプロセツサのインタ−フエイス方式 |
US4953078A (en) * | 1987-10-28 | 1990-08-28 | Digital Equipment Corporation | Apparatus and method for multi-threaded program execution in a microcoded data processing system |
JPH0215378A (ja) * | 1988-03-23 | 1990-01-19 | Du Pont Pixel Syst Ltd | グラフィックス処理システムおよびその方法 |
US5187799A (en) * | 1988-05-17 | 1993-02-16 | Calif. Institute Of Technology | Arithmetic-stack processor which precalculates external stack address before needed by CPU for building high level language executing computers |
GB8820183D0 (en) * | 1988-08-25 | 1988-09-28 | Int Computers Ltd | Data processing apparatus |
IL91434A0 (en) * | 1988-09-12 | 1990-04-29 | Gen Electric | Parallel processor with single program storage and sequencer |
US4975843A (en) * | 1988-11-25 | 1990-12-04 | Picker International, Inc. | Parallel array processor with interconnected functions for image processing |
JPH0769791B2 (ja) * | 1988-12-21 | 1995-07-31 | 三菱電機株式会社 | マイクロプロセッサ |
US6378061B1 (en) * | 1990-12-20 | 2002-04-23 | Intel Corporation | Apparatus for issuing instructions and reissuing a previous instructions by recirculating using the delay circuit |
US5668985A (en) * | 1994-03-01 | 1997-09-16 | Intel Corporation | Decoder having a split queue system for processing intstructions in a first queue separate from their associated data processed in a second queue |
US5673427A (en) * | 1994-03-01 | 1997-09-30 | Intel Corporation | Packing valid micro operations received from a parallel decoder into adjacent locations of an output queue |
US5600806A (en) * | 1994-03-01 | 1997-02-04 | Intel Corporation | Method and apparatus for aligning an instruction boundary in variable length macroinstructions with an instruction buffer |
US5537629A (en) * | 1994-03-01 | 1996-07-16 | Intel Corporation | Decoder for single cycle decoding of single prefixes in variable length instructions |
US5559974A (en) * | 1994-03-01 | 1996-09-24 | Intel Corporation | Decoder having independently loaded micro-alias and macro-alias registers accessible simultaneously by one micro-operation |
US5630083A (en) * | 1994-03-01 | 1997-05-13 | Intel Corporation | Decoder for decoding multiple instructions in parallel |
US5566298A (en) * | 1994-03-01 | 1996-10-15 | Intel Corporation | Method for state recovery during assist and restart in a decoder having an alias mechanism |
US5586277A (en) * | 1994-03-01 | 1996-12-17 | Intel Corporation | Method for parallel steering of fixed length fields containing a variable length instruction from an instruction buffer to parallel decoders |
US5586278A (en) * | 1994-03-01 | 1996-12-17 | Intel Corporation | Method and apparatus for state recovery following branch misprediction in an out-of-order microprocessor |
US5608885A (en) * | 1994-03-01 | 1997-03-04 | Intel Corporation | Method for handling instructions from a branch prior to instruction decoding in a computer which executes variable-length instructions |
US5758116A (en) * | 1994-09-30 | 1998-05-26 | Intel Corporation | Instruction length decoder for generating output length indicia to identity boundaries between variable length instructions |
US5671365A (en) * | 1995-10-20 | 1997-09-23 | Symbios Logic Inc. | I/O system for reducing main processor overhead in initiating I/O requests and servicing I/O completion events |
US6618117B2 (en) | 1997-07-12 | 2003-09-09 | Silverbrook Research Pty Ltd | Image sensing apparatus including a microcontroller |
US7110024B1 (en) | 1997-07-15 | 2006-09-19 | Silverbrook Research Pty Ltd | Digital camera system having motion deblurring means |
US6690419B1 (en) | 1997-07-15 | 2004-02-10 | Silverbrook Research Pty Ltd | Utilising eye detection methods for image processing in a digital image camera |
US6624848B1 (en) * | 1997-07-15 | 2003-09-23 | Silverbrook Research Pty Ltd | Cascading image modification using multiple digital cameras incorporating image processing |
US20040119829A1 (en) | 1997-07-15 | 2004-06-24 | Silverbrook Research Pty Ltd | Printhead assembly for a print on demand digital camera system |
US6879341B1 (en) | 1997-07-15 | 2005-04-12 | Silverbrook Research Pty Ltd | Digital camera system containing a VLIW vector processor |
US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
US6427196B1 (en) * | 1999-08-31 | 2002-07-30 | Intel Corporation | SRAM controller for parallel processor architecture including address and command queue and arbiter |
US6606704B1 (en) * | 1999-08-31 | 2003-08-12 | Intel Corporation | Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode |
US6668317B1 (en) * | 1999-08-31 | 2003-12-23 | Intel Corporation | Microengine for parallel processor architecture |
US7191309B1 (en) | 1999-09-01 | 2007-03-13 | Intel Corporation | Double shift instruction for micro engine used in multithreaded parallel processor architecture |
WO2001016702A1 (en) | 1999-09-01 | 2001-03-08 | Intel Corporation | Register set used in multithreaded parallel processor architecture |
AU7098600A (en) | 1999-09-01 | 2001-03-26 | Intel Corporation | Instruction for multithreaded parallel processor |
US6266387B1 (en) * | 1999-09-16 | 2001-07-24 | Ge Medical Systems Global Technology Company Llc | Command sequencer for a CT imaging system |
US7793076B1 (en) * | 1999-12-17 | 2010-09-07 | Intel Corporation | Digital signals processor having a plurality of independent dedicated processors |
US6532509B1 (en) | 1999-12-22 | 2003-03-11 | Intel Corporation | Arbitrating command requests in a parallel multi-threaded processing system |
US6694380B1 (en) | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
US6631430B1 (en) * | 1999-12-28 | 2003-10-07 | Intel Corporation | Optimizations to receive packet status from fifo bus |
US6307789B1 (en) * | 1999-12-28 | 2001-10-23 | Intel Corporation | Scratchpad memory |
US7620702B1 (en) | 1999-12-28 | 2009-11-17 | Intel Corporation | Providing real-time control data for a network processor |
US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US6952824B1 (en) | 1999-12-30 | 2005-10-04 | Intel Corporation | Multi-threaded sequenced receive for fast network port stream of packets |
US6584522B1 (en) * | 1999-12-30 | 2003-06-24 | Intel Corporation | Communication between processors |
US7480706B1 (en) | 1999-12-30 | 2009-01-20 | Intel Corporation | Multi-threaded round-robin receive for fast network port |
US6976095B1 (en) | 1999-12-30 | 2005-12-13 | Intel Corporation | Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch |
US6631462B1 (en) * | 2000-01-05 | 2003-10-07 | Intel Corporation | Memory shared between processing threads |
US7681018B2 (en) | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
US20020053017A1 (en) * | 2000-09-01 | 2002-05-02 | Adiletta Matthew J. | Register instructions for a multithreaded processor |
US7020871B2 (en) * | 2000-12-21 | 2006-03-28 | Intel Corporation | Breakpoint method for parallel hardware threads in multithreaded processor |
US6868476B2 (en) * | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
US7487505B2 (en) | 2001-08-27 | 2009-02-03 | Intel Corporation | Multithreaded microprocessor with register allocation based on number of active threads |
US7225281B2 (en) | 2001-08-27 | 2007-05-29 | Intel Corporation | Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms |
US7216204B2 (en) * | 2001-08-27 | 2007-05-08 | Intel Corporation | Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment |
US7126952B2 (en) * | 2001-09-28 | 2006-10-24 | Intel Corporation | Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method |
JP3878508B2 (ja) * | 2001-11-08 | 2007-02-07 | 松下電器産業株式会社 | 回路群制御システム |
US7158964B2 (en) * | 2001-12-12 | 2007-01-02 | Intel Corporation | Queue management |
US7107413B2 (en) * | 2001-12-17 | 2006-09-12 | Intel Corporation | Write queue descriptor count instruction for high speed queuing |
US7269179B2 (en) * | 2001-12-18 | 2007-09-11 | Intel Corporation | Control mechanisms for enqueue and dequeue operations in a pipelined network processor |
US7895239B2 (en) | 2002-01-04 | 2011-02-22 | Intel Corporation | Queue arrays in network devices |
US7181573B2 (en) * | 2002-01-07 | 2007-02-20 | Intel Corporation | Queue array caching in network devices |
US6934951B2 (en) * | 2002-01-17 | 2005-08-23 | Intel Corporation | Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section |
US7610451B2 (en) | 2002-01-25 | 2009-10-27 | Intel Corporation | Data transfer mechanism using unidirectional pull bus and push bus |
US7181594B2 (en) * | 2002-01-25 | 2007-02-20 | Intel Corporation | Context pipelines |
US7149226B2 (en) * | 2002-02-01 | 2006-12-12 | Intel Corporation | Processing data packets |
US7437724B2 (en) * | 2002-04-03 | 2008-10-14 | Intel Corporation | Registers for data transfers |
US7471688B2 (en) | 2002-06-18 | 2008-12-30 | Intel Corporation | Scheduling system for transmission of cells to ATM virtual circuits and DSL ports |
US7337275B2 (en) | 2002-08-13 | 2008-02-26 | Intel Corporation | Free list and ring data structure management |
US7352769B2 (en) | 2002-09-12 | 2008-04-01 | Intel Corporation | Multiple calendar schedule reservation structure and method |
US7433307B2 (en) | 2002-11-05 | 2008-10-07 | Intel Corporation | Flow control in a network environment |
US6941438B2 (en) | 2003-01-10 | 2005-09-06 | Intel Corporation | Memory interleaving |
US9330060B1 (en) * | 2003-04-15 | 2016-05-03 | Nvidia Corporation | Method and device for encoding and decoding video image data |
US7443836B2 (en) | 2003-06-16 | 2008-10-28 | Intel Corporation | Processing a data packet |
US7698539B1 (en) * | 2003-07-16 | 2010-04-13 | Banning John P | System and method of instruction modification |
US7213099B2 (en) * | 2003-12-30 | 2007-05-01 | Intel Corporation | Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4539655A (en) * | 1982-03-16 | 1985-09-03 | Phoenix Digital Corporation | Microcomputer based distributed control network |
GB8328396D0 (en) * | 1983-10-24 | 1983-11-23 | British Telecomm | Multiprocessor system |
-
1985
- 1985-12-12 US US06/809,095 patent/US4745544A/en not_active Expired - Lifetime
-
1986
- 1986-12-11 JP JP61295715A patent/JP2519226B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2519226B2 (ja) | 1996-07-31 |
US4745544A (en) | 1988-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62217354A (ja) | プロセツサ | |
US5036453A (en) | Master/slave sequencing processor | |
US5168555A (en) | Initial program load control | |
JP5568502B2 (ja) | プログラマブル回路、関連計算マシン、並びに、方法 | |
US5056000A (en) | Synchronized parallel processing with shared memory | |
JPS6252345B2 (ja) | ||
JPH02146668A (ja) | コンピュータ・システム | |
JPH02271460A (ja) | マルチプロセッサシステム内のシステムユニット間でデータトランザクションを行なうモジュール式クロスバー相互接続ネットワーク | |
JP2013236380A (ja) | プログラマブル回路、関連計算マシン、並びに、方法 | |
WO1994003860A1 (en) | Massively parallel computer including auxiliary vector processor | |
US3943494A (en) | Distributed execution processor | |
JPS63233459A (ja) | 大容量並行配列処理システム | |
JPS61248135A (ja) | パイプライン式プロセツサ及びその制御方法 | |
JPS5917657A (ja) | 多重マイクロプロセツサシステム | |
JPS60252978A (ja) | デ−タ処理システムア−キテクチヤ | |
JPS58169663A (ja) | アレイプロセツサ装置 | |
JPH02168351A (ja) | 積分変換方法 | |
US8949576B2 (en) | Arithmetic node including general digital signal processing functions for an adaptive computing machine | |
JPH1196123A (ja) | データ処理装置 | |
US4124890A (en) | Microprocessor computing system | |
JPS6250856B2 (ja) | ||
JPH0833876B2 (ja) | プロセツサ | |
JPH02226457A (ja) | 共用コントロール・ストアを持つマルチプロセッサー・コントローラー | |
RU2202123C2 (ru) | Параллельная вычислительная система с программируемой архитектурой | |
JPS62500750A (ja) | 命令フロ−コンピュ−タ |