JP2510173B2 - アレ−・プロセツサ - Google Patents
アレ−・プロセツサInfo
- Publication number
- JP2510173B2 JP2510173B2 JP29571686A JP29571686A JP2510173B2 JP 2510173 B2 JP2510173 B2 JP 2510173B2 JP 29571686 A JP29571686 A JP 29571686A JP 29571686 A JP29571686 A JP 29571686A JP 2510173 B2 JP2510173 B2 JP 2510173B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- processor
- memory
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Complex Calculations (AREA)
- Mechanical Treatment Of Semiconductor (AREA)
- Eye Examination Apparatus (AREA)
- Adjustment Of Camera Lenses (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 この発明は全般的にプロセッサ、更に具体的に云え
ば、アレー・プロセッサの中を通る命令の流れの速度を
高めることに関する。
ば、アレー・プロセッサの中を通る命令の流れの速度を
高めることに関する。
従来の技術及び問題点 処理条件が厳しくなるにつれて、処理量を一層多く
し、密度を一層高くすること等の要求が強まっている。
処理量を一層多くする要求が1個のマイクロプロセッサ
の能力を越える時、多数のプロセッサを利用して、分散
処理システムに相互接続する。こういうシステムでは、
各々のプロセッサが別々のタスク又はその一部分を実行
して、プロセッサの間で仕事の負荷を平等に分ける様に
している。プロセッサの間の相互の連絡は、直列伝送方
式及び共通の通信バスの共有によって行なわれるのが普
通である。
し、密度を一層高くすること等の要求が強まっている。
処理量を一層多くする要求が1個のマイクロプロセッサ
の能力を越える時、多数のプロセッサを利用して、分散
処理システムに相互接続する。こういうシステムでは、
各々のプロセッサが別々のタスク又はその一部分を実行
して、プロセッサの間で仕事の負荷を平等に分ける様に
している。プロセッサの間の相互の連絡は、直列伝送方
式及び共通の通信バスの共有によって行なわれるのが普
通である。
現在のマイクロプロセッサは、マルチプロセッサ・シ
ステムの形式がとれる様にするハードウエア及びソフト
ウエアの両方のインターロックを持っている。この形式
は、サテライト処理(即ち、特殊協働プロセッサを使う
こと)により、又はかなりのCPU時間を正式には必要と
する複雑なタスクからCPUを解放するI/Oプロセッサを使
うことによって構成される。こういう外部知能要求装置
は、共通の共有バスだけでなく、システムのこの他の共
有資源(例えば、メモリとI/Oスペース周辺装置等)に
ついても、主導権の点で協働(並びに競合)する。こう
いう場合、資源−要求線がシステムの1個の構成要素に
よって左右される様な普通のマスタ・スレーブ関係より
も、一層衡平なものにする為に、管理プロトコルが必要
である。最も一般的な場合、外部知能要求装置が全部CP
Uであることがあり、この為各々の資源要求装置が同じ
重要性及び能力を持つ様なマルチプロセッサを持つシス
テムを形成することがある。この様にして、システムの
共通の資源を共有するCPUの間で機能を全面的に分散す
あるとが出来る。この為、システムの設計は問題を別々
のタスクに区分けして、幾つかのプロセッサの各々が個
別に且つ並列に処理することが出来るようにし、システ
ムの性能及び処理量を増加することが出来る。この様な
形式では、この様な完全な自蔵式のシステムは、普通は
システム・バスを介して、並列伝送方式を用いて相互に
連絡する。プロセッサの間に適当な接続リンクを設け
て、システムの設計技術者が、どれがマスタでどれがス
レーブであるかを定めなくてもよい様にする。更に、シ
ステム・バスは各々のプロセッサが非同期的に作用する
ことが出来る様にし、この為同じシステムの中に高速及
び低速のマイクロプロセッサを取入れることが出来る。
マルチプロセッサ・システムに於て更に重要な幾つかの
点を挙げると、(1)プロセッサがデータを混合せず
に、正しく相互作用をすることが出来ること、(2)プ
ロセッサがシステムの資源を共有することが出来るこ
と、及び(3)プロセッサの間の同期が保証される様に
することである。こういう条件を保証する為の普通のメ
カニズムは、ソフトウエア・オペレイティング・システ
ムによって構成されるが、それらは適当なハードウエア
の支援を必要とする。現在のマイクロプロセッサはセマ
フォ信号方式の為の適当な制御ピン及び特殊命令を持っ
ており、これは一時的に1つのCPUを「システム・マス
タ」にする。このシステム・マスタは、資源のある重要
な一部分を管理し、他の全てのプロセッサがこの資源を
利用出来ない様に排除する。この様なハードウエアの支
援により、マルチプロセッサを構成する為の機構となる
様なオペレイティング・システムを開発することが出来
る。
ステムの形式がとれる様にするハードウエア及びソフト
ウエアの両方のインターロックを持っている。この形式
は、サテライト処理(即ち、特殊協働プロセッサを使う
こと)により、又はかなりのCPU時間を正式には必要と
する複雑なタスクからCPUを解放するI/Oプロセッサを使
うことによって構成される。こういう外部知能要求装置
は、共通の共有バスだけでなく、システムのこの他の共
有資源(例えば、メモリとI/Oスペース周辺装置等)に
ついても、主導権の点で協働(並びに競合)する。こう
いう場合、資源−要求線がシステムの1個の構成要素に
よって左右される様な普通のマスタ・スレーブ関係より
も、一層衡平なものにする為に、管理プロトコルが必要
である。最も一般的な場合、外部知能要求装置が全部CP
Uであることがあり、この為各々の資源要求装置が同じ
重要性及び能力を持つ様なマルチプロセッサを持つシス
テムを形成することがある。この様にして、システムの
共通の資源を共有するCPUの間で機能を全面的に分散す
あるとが出来る。この為、システムの設計は問題を別々
のタスクに区分けして、幾つかのプロセッサの各々が個
別に且つ並列に処理することが出来るようにし、システ
ムの性能及び処理量を増加することが出来る。この様な
形式では、この様な完全な自蔵式のシステムは、普通は
システム・バスを介して、並列伝送方式を用いて相互に
連絡する。プロセッサの間に適当な接続リンクを設け
て、システムの設計技術者が、どれがマスタでどれがス
レーブであるかを定めなくてもよい様にする。更に、シ
ステム・バスは各々のプロセッサが非同期的に作用する
ことが出来る様にし、この為同じシステムの中に高速及
び低速のマイクロプロセッサを取入れることが出来る。
マルチプロセッサ・システムに於て更に重要な幾つかの
点を挙げると、(1)プロセッサがデータを混合せず
に、正しく相互作用をすることが出来ること、(2)プ
ロセッサがシステムの資源を共有することが出来るこ
と、及び(3)プロセッサの間の同期が保証される様に
することである。こういう条件を保証する為の普通のメ
カニズムは、ソフトウエア・オペレイティング・システ
ムによって構成されるが、それらは適当なハードウエア
の支援を必要とする。現在のマイクロプロセッサはセマ
フォ信号方式の為の適当な制御ピン及び特殊命令を持っ
ており、これは一時的に1つのCPUを「システム・マス
タ」にする。このシステム・マスタは、資源のある重要
な一部分を管理し、他の全てのプロセッサがこの資源を
利用出来ない様に排除する。この様なハードウエアの支
援により、マルチプロセッサを構成する為の機構となる
様なオペレイティング・システムを開発することが出来
る。
マルチプロセッサ・システムの1つの欠点は、このシ
ステム内の各々のプロセッサがある程度、他のプロセッ
サから独立して動作することである。即ち、各々のプロ
セッサが、残りのマルチプロセッサにあるソフトウエア
とは完全に無関係に作用する内部ソフトウエアを持って
いる。各々のマルチプロセッサがタスク向けになってい
る。従って、種々のマルチプロセッサのソフトウエアは
関係がなく又はインターリーブ形でなく、この結果シス
テム内のあるプロセッサが遊び時間を持ち、タスクを実
行していないと云う点で、命令の流れの効率が悪い。従
って、システムの各々のプロセッサの遊び時間の長さを
最小限にしながら、システム内のプロセッサに対する処
理負荷及び命令の流れを更に容易に分散する様な更に効
率のよいシステムに対する要望がある。この結果、多数
のプロセッサが一緒に合さって作用して、特定のタスク
又は一群のタスクを実行する。
ステム内の各々のプロセッサがある程度、他のプロセッ
サから独立して動作することである。即ち、各々のプロ
セッサが、残りのマルチプロセッサにあるソフトウエア
とは完全に無関係に作用する内部ソフトウエアを持って
いる。各々のマルチプロセッサがタスク向けになってい
る。従って、種々のマルチプロセッサのソフトウエアは
関係がなく又はインターリーブ形でなく、この結果シス
テム内のあるプロセッサが遊び時間を持ち、タスクを実
行していないと云う点で、命令の流れの効率が悪い。従
って、システムの各々のプロセッサの遊び時間の長さを
最小限にしながら、システム内のプロセッサに対する処
理負荷及び命令の流れを更に容易に分散する様な更に効
率のよいシステムに対する要望がある。この結果、多数
のプロセッサが一緒に合さって作用して、特定のタスク
又は一群のタスクを実行する。
発明の要約 この発明は、従来のソフトウエア・オペレーティング
・システムによって構成されたマルチ・プロセッサ・シ
ステムに代えてハードウエアが全てマルチ・プロセッサ
・システムを制御し得るアレー・プロセッサを提供しよ
うとするものである。また、従来システムにおいて、シ
ステム内の一部プロセサが遊び時間を持つ欠点を解消す
るために、処理の負荷及び命令の流れを容易に分散する
ようシステムを構成する事にある。
・システムによって構成されたマルチ・プロセッサ・シ
ステムに代えてハードウエアが全てマルチ・プロセッサ
・システムを制御し得るアレー・プロセッサを提供しよ
うとするものである。また、従来システムにおいて、シ
ステム内の一部プロセサが遊び時間を持つ欠点を解消す
るために、処理の負荷及び命令の流れを容易に分散する
ようシステムを構成する事にある。
この発明は、データを処理するアレー・プロセッサを
提供する。アレー・プロセッサは、アレー・プロセッサ
における命令の流れを制御する順序指令を発生するアレ
ー制御装置を具備すると共に、アレー・プロセッサ全体
を制御するアレー制御装置及びマスタシーケンサを含
み、スレーブ節に複数個のスレーブ・アドレス・プロセ
ッサ(ベクトル・アドレス発生器)を設けて、上記順序
指令を受け取ったことに応答してアレー制御装置及びマ
スタシーケンサからこのベクトル・アドレス発生器にメ
モリアドレス及び制御信号を与える。各々のベクトル・
アドレス発生器が同期的に且つ並列に動作して、その中
に入っている内部命令を実行して、メモリアドレスを発
生する。そして、内部命令の実行及び流れがアレー制御
装置及びマスタシーケンサによって制御される。各々の
スレーブ節にデータ・メモリを設けて、各々のベクトル
・アドレス発生器にこのデータ・メモリを付設すること
により、メモリ・アドレス及び制御信号を受け取りデー
タを取り出し記憶すると共に、記憶されているデータを
再生してマルチ・ポート・スイッチを通じてスレーブ・
データ・プロセッサに出力することができる。従って、
この発明によれば、順序指令に対応する予定の処理機能
に従って、データを受け取って処理し、その結果を出力
するアレー・データ・プロセッサを提供することができ
る。
提供する。アレー・プロセッサは、アレー・プロセッサ
における命令の流れを制御する順序指令を発生するアレ
ー制御装置を具備すると共に、アレー・プロセッサ全体
を制御するアレー制御装置及びマスタシーケンサを含
み、スレーブ節に複数個のスレーブ・アドレス・プロセ
ッサ(ベクトル・アドレス発生器)を設けて、上記順序
指令を受け取ったことに応答してアレー制御装置及びマ
スタシーケンサからこのベクトル・アドレス発生器にメ
モリアドレス及び制御信号を与える。各々のベクトル・
アドレス発生器が同期的に且つ並列に動作して、その中
に入っている内部命令を実行して、メモリアドレスを発
生する。そして、内部命令の実行及び流れがアレー制御
装置及びマスタシーケンサによって制御される。各々の
スレーブ節にデータ・メモリを設けて、各々のベクトル
・アドレス発生器にこのデータ・メモリを付設すること
により、メモリ・アドレス及び制御信号を受け取りデー
タを取り出し記憶すると共に、記憶されているデータを
再生してマルチ・ポート・スイッチを通じてスレーブ・
データ・プロセッサに出力することができる。従って、
この発明によれば、順序指令に対応する予定の処理機能
に従って、データを受け取って処理し、その結果を出力
するアレー・データ・プロセッサを提供することができ
る。
この発明の別の実施例では、アレー・プロセッサを外
部データ・プロセッサとインターフェース接続するイン
ターフェース回路を設ける。インターフェース回路が、
外部データ・プロセッサから受取ったプログラム・デー
タ及び命令を記憶すると共に、外部データ・プロセッサ
に出力する為に、アレー・プロセッサからのデータを受
取るプログラム・メモリを持っている。外部プロセッサ
とプログラム・メモリの間でデータのバッファ作用を行
うバッファ制御回路を設ける。プログラム・メモリはス
レーブ・アドレス・プロセッサによって制御される。イ
ンターフェース回路にあるスレーブ・アドレス・プロセ
ッサが、アレー制御プロセッサによって発生された順序
指令によって制御されて、プログラム・メモリに対する
アドレス及び制御信号を発生する。バッファ制御回路及
びプログラム・メモリ及びスイッチにインターフェース
接続されたデータ・バスを設けて、スイッチを介して特
定の1つのプログラム・メモリにデータを転送すること
が出来る様にする。
部データ・プロセッサとインターフェース接続するイン
ターフェース回路を設ける。インターフェース回路が、
外部データ・プロセッサから受取ったプログラム・デー
タ及び命令を記憶すると共に、外部データ・プロセッサ
に出力する為に、アレー・プロセッサからのデータを受
取るプログラム・メモリを持っている。外部プロセッサ
とプログラム・メモリの間でデータのバッファ作用を行
うバッファ制御回路を設ける。プログラム・メモリはス
レーブ・アドレス・プロセッサによって制御される。イ
ンターフェース回路にあるスレーブ・アドレス・プロセ
ッサが、アレー制御プロセッサによって発生された順序
指令によって制御されて、プログラム・メモリに対する
アドレス及び制御信号を発生する。バッファ制御回路及
びプログラム・メモリ及びスイッチにインターフェース
接続されたデータ・バスを設けて、スイッチを介して特
定の1つのプログラム・メモリにデータを転送すること
が出来る様にする。
アレー制御シーケンサとスレーブ・アドレス・プロセ
ッサの間にインターフェース接続されたパラメータ・バ
スを設ける。パラメータ・バスは、発生された順序指令
に応答して、アレー制御シーケンサからスレーブ・アド
レス・プロセッサにパラメータを転送することが出来る
様にする。更に、パラメータ・バスがスイッチとインタ
ーフェース接続されて、インターフェース回路のデータ
・バスからアレー制御シーケンサにデータを転送するこ
とが出来る様にし、プログラム・メモリからプログラム
命令を受取る為の通路を作る。
ッサの間にインターフェース接続されたパラメータ・バ
スを設ける。パラメータ・バスは、発生された順序指令
に応答して、アレー制御シーケンサからスレーブ・アド
レス・プロセッサにパラメータを転送することが出来る
様にする。更に、パラメータ・バスがスイッチとインタ
ーフェース接続されて、インターフェース回路のデータ
・バスからアレー制御シーケンサにデータを転送するこ
とが出来る様にし、プログラム・メモリからプログラム
命令を受取る為の通路を作る。
この発明並びにその利点が更によく理解される様に、
次に図面について説明する。
次に図面について説明する。
実 施 例 アレー・プロセッサ 第1図には、この発明のプログラム可能なアレー・プ
ロセッサのブロック図が示されている。アレー・プロセ
ッサは全体的にデータ・プロセッサ10(破線の中に示
す)によって制御される。このデータ・プロセッサが種
々の節にある多数のアレー・プロセッサを制御するが、
この発明では1つのアレー・プロセッサだけが示されて
いる。アレー・プロセッサはアレー制御及びシーケンサ
(ACS)12を持ち、これがアレー・プロセッサのマスタ
として作用し、その中での命令の流れを制御する。ACS1
2がその内部にマイクロコード14を記憶するROMにあるプ
ログラムを持っているか、或いはこの代りにマイクロコ
ードを外部ROM(図面に示していない)に記憶すること
が出来る。ACS12であるマスタ・シーケンサが、制御バ
ス18に出力する為の制御コードの順序を発生する。制御
バス18が複数個のスレーブ装置とインターフェース接続
される。スレーブ装置はベクトル・アドレス発生器20a
乃至20n、多重通路スイッチ(MPS)22、及びスレーブ・
データ・プロセッサ24で構成されている。この実施例で
は、図示のスレーブ・データ・プロセッサはベクトル算
術論理装置(VALU)である。全てのスレーブ装置及びAC
S12がパラメータ・バス26及び制御バス18とインターフ
ェース接続される。
ロセッサのブロック図が示されている。アレー・プロセ
ッサは全体的にデータ・プロセッサ10(破線の中に示
す)によって制御される。このデータ・プロセッサが種
々の節にある多数のアレー・プロセッサを制御するが、
この発明では1つのアレー・プロセッサだけが示されて
いる。アレー・プロセッサはアレー制御及びシーケンサ
(ACS)12を持ち、これがアレー・プロセッサのマスタ
として作用し、その中での命令の流れを制御する。ACS1
2がその内部にマイクロコード14を記憶するROMにあるプ
ログラムを持っているか、或いはこの代りにマイクロコ
ードを外部ROM(図面に示していない)に記憶すること
が出来る。ACS12であるマスタ・シーケンサが、制御バ
ス18に出力する為の制御コードの順序を発生する。制御
バス18が複数個のスレーブ装置とインターフェース接続
される。スレーブ装置はベクトル・アドレス発生器20a
乃至20n、多重通路スイッチ(MPS)22、及びスレーブ・
データ・プロセッサ24で構成されている。この実施例で
は、図示のスレーブ・データ・プロセッサはベクトル算
術論理装置(VALU)である。全てのスレーブ装置及びAC
S12がパラメータ・バス26及び制御バス18とインターフ
ェース接続される。
各々のVA20a乃至20nは、スレーブ・シーケンサ28、RO
Mにあるマイクロコード30及びアドレス発生器32で構成
される。各々のVAG20a乃至20nは、命令を処理して、付
設されたデータ・メモリ34a乃至34nに出力する為のアド
レスを発生する。データ・メモリ34a乃至34nの出力がMP
S22に入力される。
Mにあるマイクロコード30及びアドレス発生器32で構成
される。各々のVAG20a乃至20nは、命令を処理して、付
設されたデータ・メモリ34a乃至34nに出力する為のアド
レスを発生する。データ・メモリ34a乃至34nの出力がMP
S22に入力される。
スレーブ・データ・プロセッサ24もスレーブ・シーケ
ンサ36及びデータ処理部分38で構成される。この実施例
では、スレーブ・データ・プロセッサ24がマイクロコー
ドを記憶する為に外部ROM40とインターフェース接続さ
れる。然し、マイクロコードがスレーブ・データ・プロ
セッサ24内にあるROMにあってもよい。
ンサ36及びデータ処理部分38で構成される。この実施例
では、スレーブ・データ・プロセッサ24がマイクロコー
ドを記憶する為に外部ROM40とインターフェース接続さ
れる。然し、マイクロコードがスレーブ・データ・プロ
セッサ24内にあるROMにあってもよい。
動作について説明すると、データ・プロセッサが、ア
レー・プロセッサが遂行すべき特定の機能を決定する。
これをマクロプログラム又はマクロ呼出しと呼び、ブロ
ック42で示す。ブロック42は、特定の順序でプログラム
・メモリ(図に示してない)に入力されるマクロ呼出し
の待ち行列を表わす。ACS12はそれを実行する為にマク
ロ呼出しを取出す様に作用し得る。
レー・プロセッサが遂行すべき特定の機能を決定する。
これをマクロプログラム又はマクロ呼出しと呼び、ブロ
ック42で示す。ブロック42は、特定の順序でプログラム
・メモリ(図に示してない)に入力されるマクロ呼出し
の待ち行列を表わす。ACS12はそれを実行する為にマク
ロ呼出しを取出す様に作用し得る。
速いフーリエ変換(FFT)を遂行すると云う様な多数
の異なるタスクをACS12によって実行することが出来
る。特定のタスクが、マクロ呼出しのパラメータを定め
る指令パラメータ・リスト(CPL)によって定められ
る。ACS12がCPLにあるパラメータを用いてタスクを遂行
し、パラメータは必要に応じてアレー・プロセッサ内に
分散される。
の異なるタスクをACS12によって実行することが出来
る。特定のタスクが、マクロ呼出しのパラメータを定め
る指令パラメータ・リスト(CPL)によって定められ
る。ACS12がCPLにあるパラメータを用いてタスクを遂行
し、パラメータは必要に応じてアレー・プロセッサ内に
分散される。
ACS12は、制御バス18にある順序の制御信号を出力す
ることにより、特定のタスクを実行する。この時、各々
のVAG20a乃至20nが、ACS12からそれに対して供給された
制御信号に応答して、1組の内部命令を順次進め、夫々
のデータ・メモリ34a乃至34nに入力する為の対応するア
ドレスを発生する。更に、スレーブ・データ・プロセッ
サ24及びMPS22は、ACS12からの特定の制御信号によって
構成される。この動作は同期していて、VAG20a乃至20n
によって実行される各々の命令に対し、メモリ34a乃至3
4nからデータを受取るか又はそれに対してデータを入力
する様な特定のスイッチの形式がMPS22によって定めら
れる。この時、このデータはスレーブ・データ・プロセ
ッサ24に出力すことが出来る。
ることにより、特定のタスクを実行する。この時、各々
のVAG20a乃至20nが、ACS12からそれに対して供給された
制御信号に応答して、1組の内部命令を順次進め、夫々
のデータ・メモリ34a乃至34nに入力する為の対応するア
ドレスを発生する。更に、スレーブ・データ・プロセッ
サ24及びMPS22は、ACS12からの特定の制御信号によって
構成される。この動作は同期していて、VAG20a乃至20n
によって実行される各々の命令に対し、メモリ34a乃至3
4nからデータを受取るか又はそれに対してデータを入力
する様な特定のスイッチの形式がMPS22によって定めら
れる。この時、このデータはスレーブ・データ・プロセ
ッサ24に出力すことが出来る。
例えば、2つのデータ・ワードに対する論理オア機能
を遂行することが望ましいことがある。一方のデータ・
ワードをデータ・メモリ34aに記憶し、もう一方をデー
タ・メモリ34bに記憶する。1つの命令で、両方のデー
タ・ワードを夫々のデータ・メモリ34a,34bからスレー
ブ・データ・プロセッサ24の2つの入力に出力すること
が出来る。この命令の間、スレーブ・データ・プロセッ
サ24は論理オア機能を遂行する様に制御され、その出力
に結果を発生する。希望によっては、この結果は他のデ
ータ・メモリ34c乃至34nの内の1つに記憶することが出
来る。従って、1つの命令で、データがメモリから取出
され、処理され、メモリに記憶される。ACS12及び種々
のスレーブ装置20a乃至20nに於ける実際の命令の流れの
詳しい例を後で説明する。
を遂行することが望ましいことがある。一方のデータ・
ワードをデータ・メモリ34aに記憶し、もう一方をデー
タ・メモリ34bに記憶する。1つの命令で、両方のデー
タ・ワードを夫々のデータ・メモリ34a,34bからスレー
ブ・データ・プロセッサ24の2つの入力に出力すること
が出来る。この命令の間、スレーブ・データ・プロセッ
サ24は論理オア機能を遂行する様に制御され、その出力
に結果を発生する。希望によっては、この結果は他のデ
ータ・メモリ34c乃至34nの内の1つに記憶することが出
来る。従って、1つの命令で、データがメモリから取出
され、処理され、メモリに記憶される。ACS12及び種々
のスレーブ装置20a乃至20nに於ける実際の命令の流れの
詳しい例を後で説明する。
第2図には、この発明の特定の実施例の更に詳しいブ
ロック図が示されている。第2図の実施例では、VAG20a
乃至20nが平常モード、強制I/Oモード及びサイクル・ス
チール・モードで動作する。強制I/Oモード及びサイク
ル・スチール・モードは後で詳しく説明する。
ロック図が示されている。第2図の実施例では、VAG20a
乃至20nが平常モード、強制I/Oモード及びサイクル・ス
チール・モードで動作する。強制I/Oモード及びサイク
ル・スチール・モードは後で詳しく説明する。
ACS12がアドレス・バス48を介して、外部メモリに記
憶されているマイクロコード14とインターフェース接続
され、特定のマイクロコード命令をアドレスする。マイ
クロコード命令は、バス50を介してACS12に対して出力
される、ACS12に対するopコード命令と、制御バス18に
出力される制御ワードとで構成される。opコードは12ビ
ットの長さであり、バス50を12ビット幅にすることが必
要である。制御バス18に接続された各々のスレーブ装置
が、制御ワード中の別々のビット番号と関連している。
従って、制御ワードの長さはACS12によって制御される
スレーブ装置の数並びにそれを制御するのに必要なビッ
ト数に関係する。この実施例では、VAG及びスレーブ・
データ・プロセッサが3ビット制御コードを必要とし、
MPS22が5ビット制御コードを必要とする。
憶されているマイクロコード14とインターフェース接続
され、特定のマイクロコード命令をアドレスする。マイ
クロコード命令は、バス50を介してACS12に対して出力
される、ACS12に対するopコード命令と、制御バス18に
出力される制御ワードとで構成される。opコードは12ビ
ットの長さであり、バス50を12ビット幅にすることが必
要である。制御バス18に接続された各々のスレーブ装置
が、制御ワード中の別々のビット番号と関連している。
従って、制御ワードの長さはACS12によって制御される
スレーブ装置の数並びにそれを制御するのに必要なビッ
ト数に関係する。この実施例では、VAG及びスレーブ・
データ・プロセッサが3ビット制御コードを必要とし、
MPS22が5ビット制御コードを必要とする。
VAG52及びVAG54が強制I/O動作の為の組合された1対
として設けられており、夫々VAG1a及びVAG1bと記してあ
る。VAG52及び54が相互接続バス56を介して、制御バス1
8の共通の3ビットに接続される。VAG52がマイクロコー
ド記憶ROM58にインターフェース接続され、VAG54がマイ
クロコード記憶ROM60とインターフェース接続される。
“VAG3"と記したVAG62が、制御バス18及びマイクロコー
ド記憶ROM64とインターフェース接続される。“VAG4a"
と記したVAG66及び“VAG4b"と記したVAG68が、サイクル
・スチール動作を遂行する様に動作が組合され、相互接
続バス70を介して制御バス18の3ビットとインターフェ
ース接続される。VAG66がマイクロコード記憶ROM72とイ
ンターフェース接続され、VAG68がマイクロコード記憶R
OM74とインターフェース接続される。VAG52,54の強制I/
O動作は後で更に詳しく説明する。
として設けられており、夫々VAG1a及びVAG1bと記してあ
る。VAG52及び54が相互接続バス56を介して、制御バス1
8の共通の3ビットに接続される。VAG52がマイクロコー
ド記憶ROM58にインターフェース接続され、VAG54がマイ
クロコード記憶ROM60とインターフェース接続される。
“VAG3"と記したVAG62が、制御バス18及びマイクロコー
ド記憶ROM64とインターフェース接続される。“VAG4a"
と記したVAG66及び“VAG4b"と記したVAG68が、サイクル
・スチール動作を遂行する様に動作が組合され、相互接
続バス70を介して制御バス18の3ビットとインターフェ
ース接続される。VAG66がマイクロコード記憶ROM72とイ
ンターフェース接続され、VAG68がマイクロコード記憶R
OM74とインターフェース接続される。VAG52,54の強制I/
O動作は後で更に詳しく説明する。
VAG52がデータ・メモリ76に入力するアドレスを発生
し、このメモリの出力がバス78を介してMPS22とインタ
ーフェース接続される。同様に、VAG54がデータ・メモ
リ80に入力するアドレスを発生し、このメモリの出力が
両方向バス82を介してMPS22とインターフェース接続さ
れる。VAG62がデータ・メモリ84に入力するアドレスを
発生し、このメモリの出力が両方向バス86を介してMPS2
2とインターフェース接続される。
し、このメモリの出力がバス78を介してMPS22とインタ
ーフェース接続される。同様に、VAG54がデータ・メモ
リ80に入力するアドレスを発生し、このメモリの出力が
両方向バス82を介してMPS22とインターフェース接続さ
れる。VAG62がデータ・メモリ84に入力するアドレスを
発生し、このメモリの出力が両方向バス86を介してMPS2
2とインターフェース接続される。
VAG66,68は、共通データ・メモリ88に出力されるアド
レスを発生する様に作用することが出来、このメモリの
出力が両方向バス90を介してMPS22とインターフェース
接続される。更に、バス90が補助表示装置92の入力とイ
ンターフェース接続される。
レスを発生する様に作用することが出来、このメモリの
出力が両方向バス90を介してMPS22とインターフェース
接続される。更に、バス90が補助表示装置92の入力とイ
ンターフェース接続される。
パラメータ・バス26がACS12及びVAG62,66,68と直接的
にインターフェース接続されると共に、MPSスイッチ22
とインターフェース接続される。パラメータ・バス26が
MPS22を介してVAG52,54と間接的にインターフェース接
続される。これは、データ・バス78を側路バス94を介し
てVAG50のパラメータ・バス入力に接続し、両方向バス8
2を側路バス96を介してVAG54のパラメータ・バス入力と
接続することによって行なわれる。MPS22がこのモード
に構成された時、パラメータバス26は実効的にVAG52,54
に入力し、VAG62,66,68の場合と同じ形で動作する。
にインターフェース接続されると共に、MPSスイッチ22
とインターフェース接続される。パラメータ・バス26が
MPS22を介してVAG52,54と間接的にインターフェース接
続される。これは、データ・バス78を側路バス94を介し
てVAG50のパラメータ・バス入力に接続し、両方向バス8
2を側路バス96を介してVAG54のパラメータ・バス入力と
接続することによって行なわれる。MPS22がこのモード
に構成された時、パラメータバス26は実効的にVAG52,54
に入力し、VAG62,66,68の場合と同じ形で動作する。
外部データ入力装置98がMPSスイッチ22とインターフ
ェース接続され、アレー・プロセッサにデータを入力す
ることが出来る様にする。後で強制I/O動作について説
明するが、このデータはデータ・メモリ76又はデータ・
メモリ80の何れかに入力するものである。データ転送を
容易にする為、VAG52及びVAG54の両方とインターフェー
ス接続されたハンドシェイク線100が設けられている。
同様に、補助表示装置92がハンドシェイク線102を介し
てVAG68とインターフェース接続されている。スレーブ
・データ・プロセッサ24は、以下VALU24と呼ぶベクトル
算術論理装置(VALU)を利用している。
ェース接続され、アレー・プロセッサにデータを入力す
ることが出来る様にする。後で強制I/O動作について説
明するが、このデータはデータ・メモリ76又はデータ・
メモリ80の何れかに入力するものである。データ転送を
容易にする為、VAG52及びVAG54の両方とインターフェー
ス接続されたハンドシェイク線100が設けられている。
同様に、補助表示装置92がハンドシェイク線102を介し
てVAG68とインターフェース接続されている。スレーブ
・データ・プロセッサ24は、以下VALU24と呼ぶベクトル
算術論理装置(VALU)を利用している。
タスク制御部分104が破線によって囲まれており、“V
AG2a"と示したVAG106及び“VAG2b"と記したVAG108で構
成されている。指令パラメータ・リスト(CPL)を記憶
するプログラム・メモリ110を設け、バッファ制御装置1
12がデータ・プロセッサ10にインターフェース接続され
ると共に、システム・バス113を介してシステム・デー
タとインターフェース接続される。バッファ制御装置11
2は、制御線115に受取った信号に応答して、データ・バ
ス114に対するデータ転送を行なうのに必要な全ての制
御作用を行なう。バッファ制御装置が、アドレス・バス
116を介してアドレスすることが出来る内部先入れ先出
しレジスタ(FIFO)にデータを記憶する。アドレス・バ
ス116がVAG106,108のアドレス出力に共通に接続されて
いる。データ・バス114がVAG106,108の両方にデータを
入力する。プログラム・メモリ110がVAG106,108からア
ドレスを受取る。制御バス18が3ビット相互接続バス11
8により、VAG106,108の両方とインターフェース接続さ
れる。VAG106,108は、サイクル・スチール・モードで組
合さって動作するが、後で説明する。
AG2a"と示したVAG106及び“VAG2b"と記したVAG108で構
成されている。指令パラメータ・リスト(CPL)を記憶
するプログラム・メモリ110を設け、バッファ制御装置1
12がデータ・プロセッサ10にインターフェース接続され
ると共に、システム・バス113を介してシステム・デー
タとインターフェース接続される。バッファ制御装置11
2は、制御線115に受取った信号に応答して、データ・バ
ス114に対するデータ転送を行なうのに必要な全ての制
御作用を行なう。バッファ制御装置が、アドレス・バス
116を介してアドレスすることが出来る内部先入れ先出
しレジスタ(FIFO)にデータを記憶する。アドレス・バ
ス116がVAG106,108のアドレス出力に共通に接続されて
いる。データ・バス114がVAG106,108の両方にデータを
入力する。プログラム・メモリ110がVAG106,108からア
ドレスを受取る。制御バス18が3ビット相互接続バス11
8により、VAG106,108の両方とインターフェース接続さ
れる。VAG106,108は、サイクル・スチール・モードで組
合さって動作するが、後で説明する。
動作について説明すると、最初にCPLをデータ・プロ
セッサによってシステム・バス113からプログラム・メ
モリ110にロードし、別々のタスクの待ち行列に構成す
る。ACS12がプログラム・メモリを監視し、これらのタ
スクを逐次的に実行する。ASC12は、VAG106に対する適
切な制御ワードを発生して、プログラム・メモリ110を
アドレスし、バス114にデータを出力することにより、
所定のタスクを開始する。同時に、MPS22がデータ・バ
ス114をパラメータ・バス26と相互接続するのに適切な
制御ワードを受取る。これによってACS12がタスク内の
最初の工程を定める適切なパラメータをプログラム・メ
モリ110から受取ることが出来る。次にACS12が、その動
作を適切に開始し且つ同期させる為に、制御バス18を介
して適切な開始コードを送出すことにより、残りのVAG5
2,54,62,66,68の動作を開始する。その後、パラメータ
がMPS22及び側路バス94,96を介して、パラメータ・バス
26からVAG62,66,68及びVAG52,54にロードされる。初期
パラメータは、通常の処理ルーチンに必要な定数等であ
る。
セッサによってシステム・バス113からプログラム・メ
モリ110にロードし、別々のタスクの待ち行列に構成す
る。ACS12がプログラム・メモリを監視し、これらのタ
スクを逐次的に実行する。ASC12は、VAG106に対する適
切な制御ワードを発生して、プログラム・メモリ110を
アドレスし、バス114にデータを出力することにより、
所定のタスクを開始する。同時に、MPS22がデータ・バ
ス114をパラメータ・バス26と相互接続するのに適切な
制御ワードを受取る。これによってACS12がタスク内の
最初の工程を定める適切なパラメータをプログラム・メ
モリ110から受取ることが出来る。次にACS12が、その動
作を適切に開始し且つ同期させる為に、制御バス18を介
して適切な開始コードを送出すことにより、残りのVAG5
2,54,62,66,68の動作を開始する。その後、パラメータ
がMPS22及び側路バス94,96を介して、パラメータ・バス
26からVAG62,66,68及びVAG52,54にロードされる。初期
パラメータは、通常の処理ルーチンに必要な定数等であ
る。
システム内の各々のVAGは特定のルーチンを実行する
内部ソフトウエアを持っており、その各各は同じ内部ソ
フトウエアを持っている。ACS12がその内部の特定の開
始アドレスにVAGを初期設定する。次にACS12が内部ルー
チンに順次進み、これによってマイクロコード記憶装置
14がアドレスされて、制御バス18に制御ワードを出力す
る。これらの制御ワードにより、それに接続されたVAG
が内部命令を順次進む。これらの命令により、MPS22に
データを出力し、又はそれからデータを受取る為に、関
連したデータ・メモリをアドレスする為のアドレスが発
生される。次にMPS22が選ばれたデータ・メモリの出力
をデータ処理の為にVALU24にインターフェース接続す
る。命令の流れの具体的な例は後で説明する。ACS12に
於ける命令の流れ及びVAG52,54,62,66,68に於ける命令
の流れが同期していて、ACS12がVAGに於ける命令の流れ
を制御する為の順序制御作用をすることを理解すること
が重要である。例えば、1つの命令コードはVAG52がメ
モリをアドレスして、1つのデータ・ワードをVALU24の
一方の入力に出力し、VAG62がデータ・メモリ84をアド
レスして、VALU24の2番目の入力に入力する為の2番目
データ・ワードを出力することを要求することがある。
同じクロック・サイクルで、VAG62はVALU24の出力から
の結果をデータ・メモリ84に書込む様に制御される。従
って、種々のVAGの命令はインターリーブ形であるが、
特定のタスクを実行する1組の命令として、非同期的に
作用する。これは、バックグラウンド・タスクが他のプ
ロセッサ装置によって実行され、各々のバックグラウン
ド・タスクがフォアグラウンド・タスクとは別個で別異
である様な分散システムと区別するべきである。
内部ソフトウエアを持っており、その各各は同じ内部ソ
フトウエアを持っている。ACS12がその内部の特定の開
始アドレスにVAGを初期設定する。次にACS12が内部ルー
チンに順次進み、これによってマイクロコード記憶装置
14がアドレスされて、制御バス18に制御ワードを出力す
る。これらの制御ワードにより、それに接続されたVAG
が内部命令を順次進む。これらの命令により、MPS22に
データを出力し、又はそれからデータを受取る為に、関
連したデータ・メモリをアドレスする為のアドレスが発
生される。次にMPS22が選ばれたデータ・メモリの出力
をデータ処理の為にVALU24にインターフェース接続す
る。命令の流れの具体的な例は後で説明する。ACS12に
於ける命令の流れ及びVAG52,54,62,66,68に於ける命令
の流れが同期していて、ACS12がVAGに於ける命令の流れ
を制御する為の順序制御作用をすることを理解すること
が重要である。例えば、1つの命令コードはVAG52がメ
モリをアドレスして、1つのデータ・ワードをVALU24の
一方の入力に出力し、VAG62がデータ・メモリ84をアド
レスして、VALU24の2番目の入力に入力する為の2番目
データ・ワードを出力することを要求することがある。
同じクロック・サイクルで、VAG62はVALU24の出力から
の結果をデータ・メモリ84に書込む様に制御される。従
って、種々のVAGの命令はインターリーブ形であるが、
特定のタスクを実行する1組の命令として、非同期的に
作用する。これは、バックグラウンド・タスクが他のプ
ロセッサ装置によって実行され、各々のバックグラウン
ド・タスクがフォアグラウンド・タスクとは別個で別異
である様な分散システムと区別するべきである。
アレー制御装置及びシーケンサ 第3図にはACS12の簡略ブロック図が示されている。
パラメータ・バス26が多重入力マルチプレクサ130に入
力され、このマルチプレクサの出力が8×16レジスタ・
ファイル132に入力される。マルチプレクサ130の出力は
レジスタ134の入力にも接続され、このレジスタの出力
が2入力マルチプレクサ136の一方の入力に接続され
る。レジスタ・ファイル132の出力もマルチプレクサ136
に入力される。マルチプレクサ136の出力がバッファ138
を介してパラメータ・バスに接続される。レジスタ・フ
ァイル132は、パラメータ・バスから受取ったパラメー
タを記憶する様に作用し得る。
パラメータ・バス26が多重入力マルチプレクサ130に入
力され、このマルチプレクサの出力が8×16レジスタ・
ファイル132に入力される。マルチプレクサ130の出力は
レジスタ134の入力にも接続され、このレジスタの出力
が2入力マルチプレクサ136の一方の入力に接続され
る。レジスタ・ファイル132の出力もマルチプレクサ136
に入力される。マルチプレクサ136の出力がバッファ138
を介してパラメータ・バスに接続される。レジスタ・フ
ァイル132は、パラメータ・バスから受取ったパラメー
タを記憶する様に作用し得る。
レジスタ・ファイル132の出力が3入力マルチプレク
サ140に入力され、このマルチプレクサの出力が16×16
データ・スタック142に接続される。データ・スタック1
42の出力がマルチプレクサ130の1つの入力と4入力マ
ルチプレクサ144の1つの入力に入力される。マルチプ
レクサ144の出力がアドレス・バス48に接続されると共
に、プログラム・カウンタ(PC)146の入力にも接続さ
れている。マルチプレクサ144からは16ビットが出力さ
れ、その内の11個がPC146に入力され、且つその全部が
外部マイクロコード・メモリ14に入力する為にアドレス
・バス48に出力される。更に、多重マイクロコード・メ
モリを利用し、マルチプレクサ144から出力される3ビ
ットをチップ選択動作の為にデコード回路148に入力す
ることが出来る。
サ140に入力され、このマルチプレクサの出力が16×16
データ・スタック142に接続される。データ・スタック1
42の出力がマルチプレクサ130の1つの入力と4入力マ
ルチプレクサ144の1つの入力に入力される。マルチプ
レクサ144の出力がアドレス・バス48に接続されると共
に、プログラム・カウンタ(PC)146の入力にも接続さ
れている。マルチプレクサ144からは16ビットが出力さ
れ、その内の11個がPC146に入力され、且つその全部が
外部マイクロコード・メモリ14に入力する為にアドレス
・バス48に出力される。更に、多重マイクロコード・メ
モリを利用し、マルチプレクサ144から出力される3ビ
ットをチップ選択動作の為にデコード回路148に入力す
ることが出来る。
PC146の出力がインクレメント回路150を介してマルチ
プレクサ144の入力にループ状に戻ると共に、内部命令R
OM152にも入力される。インクレメント回路150の出力は
マルチプレクサ140の1つの入力にも入力され、データ
・スタック142に入力される。命令ROM152は、制御ワー
ドを制御バス18に出力すると共に、ACS12の内部で使う
為のopコードをも出力する様に作用し得る。opコードが
2入力マルチプレクサ154に入力されて、このマルチプ
レクサの出力が命令レジスタ・デコード回路166に入力
される。命令レジスタ・デコード回路166が、ACS12を制
御する為の全てのマイクロコード命令を供給する。マル
チプレクサ154はopコード・バス50を介して、外部マイ
クロコード・メモリ14から出力されるopコードをも受取
る。
プレクサ144の入力にループ状に戻ると共に、内部命令R
OM152にも入力される。インクレメント回路150の出力は
マルチプレクサ140の1つの入力にも入力され、データ
・スタック142に入力される。命令ROM152は、制御ワー
ドを制御バス18に出力すると共に、ACS12の内部で使う
為のopコードをも出力する様に作用し得る。opコードが
2入力マルチプレクサ154に入力されて、このマルチプ
レクサの出力が命令レジスタ・デコード回路166に入力
される。命令レジスタ・デコード回路166が、ACS12を制
御する為の全てのマイクロコード命令を供給する。マル
チプレクサ154はopコード・バス50を介して、外部マイ
クロコード・メモリ14から出力されるopコードをも受取
る。
命令ROM152は、外部マイクロコード命令ROM14とは対
照的に、内部命令ROMである。1つのモードでは、マル
チプレクサ154は、制御バス18を外部メモリとインター
フェース接続して、外部メモリ14からopコード情報だけ
を受取る様に制御される。2番目のモードでは、命令が
内部命令ROM152に記憶された命令が、制御バス18に出力
される。
照的に、内部命令ROMである。1つのモードでは、マル
チプレクサ154は、制御バス18を外部メモリとインター
フェース接続して、外部メモリ14からopコード情報だけ
を受取る様に制御される。2番目のモードでは、命令が
内部命令ROM152に記憶された命令が、制御バス18に出力
される。
ACS12で他の雑多な処理を遂行する為、この他の回路
が設けられている。論理装置158は、算術論理装置(AL
U)の様な任意の形式の論理回路であってよいが、それ
を設けて、レジスタ・ファイル132の出力及び定数を受
取る。論理装置158は、レジスタ・ファイル132に記憶す
る為、マルチプレクサ130の入力に出力する為の希望す
る任意の形式の論理作用を行なう。レジスタ・ファイル
132の出力がループ・カウンタ160にも入力され、数値を
インクレメント又はデクレメントする。この値の出力
が、レジスタ・ファイル132に記憶する為、マルチプレ
クサ130の入力に接続される。加算器162の一方の入力を
レジスタ・ファイル132の出力に接続し、他方の入力を
マルチプレクサ164の出力に接続する。マルチプレクサ1
64は種々の定数を選択する。加算器162の出力が、マル
チプレクサ130の1つの入力とマルチプレクサ140の1つ
の入力の両方に入力される。
が設けられている。論理装置158は、算術論理装置(AL
U)の様な任意の形式の論理回路であってよいが、それ
を設けて、レジスタ・ファイル132の出力及び定数を受
取る。論理装置158は、レジスタ・ファイル132に記憶す
る為、マルチプレクサ130の入力に出力する為の希望す
る任意の形式の論理作用を行なう。レジスタ・ファイル
132の出力がループ・カウンタ160にも入力され、数値を
インクレメント又はデクレメントする。この値の出力
が、レジスタ・ファイル132に記憶する為、マルチプレ
クサ130の入力に接続される。加算器162の一方の入力を
レジスタ・ファイル132の出力に接続し、他方の入力を
マルチプレクサ164の出力に接続する。マルチプレクサ1
64は種々の定数を選択する。加算器162の出力が、マル
チプレクサ130の1つの入力とマルチプレクサ140の1つ
の入力の両方に入力される。
バス48にマイクロコード・アドレスを発生すると共に
PC146にこのアドレスを入力するマルチプレクサ144は、
その別の入力がレジスタ・ファイル132の出力及び加算
器162の出力に接続されている。雑多の回路が、ループ
動作及びブランチ動作の様な処理を行なう。I/Oインタ
ーフェース166を設けて、ACS12を種々の外部装置とイン
ターフェース接続出来る様にする。これによってACS12
をその外部の他の装置とインターフェース接続して、ア
レー・プロセッサの動作を高めることが出来る。
PC146にこのアドレスを入力するマルチプレクサ144は、
その別の入力がレジスタ・ファイル132の出力及び加算
器162の出力に接続されている。雑多の回路が、ループ
動作及びブランチ動作の様な処理を行なう。I/Oインタ
ーフェース166を設けて、ACS12を種々の外部装置とイン
ターフェース接続出来る様にする。これによってACS12
をその外部の他の装置とインターフェース接続して、ア
レー・プロセッサの動作を高めることが出来る。
ベクトル・アドレス発生器 第4図には、VAG20a乃至20cの簡略ブロック図が示さ
れている。制御バス18がシーケンサ170に入力され、シ
ーケンサの出力がマルチプレクサ172の1つの入力に入
力される。マルチプレクサ172がプログラム・カウンタ
(PC)174に供給し、このカウンタの出力が命令ROM176
に接続される。更にPC174の出力がシーケンサ170に入力
される。シーケンサ170にはブランチ・ファイル178があ
り、これは予定数のブランチ・アドレスを持っていて、
PC174にあるアドレスにより、マルチプレクサ172に対し
てブランチ・アドレスが出力される様にする。
れている。制御バス18がシーケンサ170に入力され、シ
ーケンサの出力がマルチプレクサ172の1つの入力に入
力される。マルチプレクサ172がプログラム・カウンタ
(PC)174に供給し、このカウンタの出力が命令ROM176
に接続される。更にPC174の出力がシーケンサ170に入力
される。シーケンサ170にはブランチ・ファイル178があ
り、これは予定数のブランチ・アドレスを持っていて、
PC174にあるアドレスにより、マルチプレクサ172に対し
てブランチ・アドレスが出力される様にする。
命令ROM176の出力がマルチプレクサ180に接続され、
このマルチプレクサの出力が命令レジスタ・デコード回
路182に接続される。動作について説明すると、PC174の
アドレス出力がROM176から予定の命令を選択し、その出
力をデコード回路182に出力する。これによって実行す
る為のマイクロコード命令が得られる。この代りに、ア
ドレスをシーケンサの出力線184を介して外部マイクロ
コードROM(図面に示してない)に出力することが出来
る。ROMから出力された命令コードが、線186を介して、
マルチプレクサ180の他方の入力に入力される。この動
作モードでは、マルチプレクサ180は、内部ROM176の代
りに、外部ROMからの出力を選択する様に制御される。
このマルチプレクサの出力が命令レジスタ・デコード回
路182に接続される。動作について説明すると、PC174の
アドレス出力がROM176から予定の命令を選択し、その出
力をデコード回路182に出力する。これによって実行す
る為のマイクロコード命令が得られる。この代りに、ア
ドレスをシーケンサの出力線184を介して外部マイクロ
コードROM(図面に示してない)に出力することが出来
る。ROMから出力された命令コードが、線186を介して、
マルチプレクサ180の他方の入力に入力される。この動
作モードでは、マルチプレクサ180は、内部ROM176の代
りに、外部ROMからの出力を選択する様に制御される。
動作を開始してPC174に初期値を供給する為、パラメ
ータ・バス26がマルチプレクサ172の他方の入力に入力
される。開始制御コードがACS12から制御バス18を介し
て供給され、この値の12ビットをPC174に入力する。残
りの4ビットがモード・レジスタ(図面に示してない)
に入力される。モード・レジスタは、I/O、プログラム
・メモリからのデータの検索等の様な種々のモードに利
用される。その後、ACS12の適当な制御によってこの数
値を歩進し、ブランチ・ファイル178にある選ばれた1
つのブランチ・アドレス又はその他の機能にブランチす
ること出来るが、これは後で説明する。
ータ・バス26がマルチプレクサ172の他方の入力に入力
される。開始制御コードがACS12から制御バス18を介し
て供給され、この値の12ビットをPC174に入力する。残
りの4ビットがモード・レジスタ(図面に示してない)
に入力される。モード・レジスタは、I/O、プログラム
・メモリからのデータの検索等の様な種々のモードに利
用される。その後、ACS12の適当な制御によってこの数
値を歩進し、ブランチ・ファイル178にある選ばれた1
つのブランチ・アドレス又はその他の機能にブランチす
ること出来るが、これは後で説明する。
パラメータ・バス26がバッファ188を介してマルチプ
レクサ190の1つの入力に接続され、このマルチプレク
サの出力がレジスタ192に入力される。レジスタ192の出
力がバッファ194を介してパラメータ・バス26に入力さ
れると共に、多重入力マルチプレクサ196の1つの入力
に入力される。マルチプレクサ196の出力がALU198の1
つの入力に入力され、ALUの出力がマルチプレクサ200の
1つの入力に入力される。マルチプレクサ200の出力が
パラメータ・レジスタ・ファイル202に入力され、パラ
メータ・バス26から受取ったパラメータを記憶する。AL
U198の出力はビット反転回路206をも通ってマルチプレ
クサ200の入力に送られる。ALU198の他方の入力がマル
チプレクサ208の出力に接続され、このマルチプレクサ
の両方の入力がレジスタ・ファイル202の種々の出力に
接続される。パラメータ・レジスタ・ファイル202の2
つの別々の出力に接続された2つの入力を有する加算器
210,212が設けられていて、その出力がマルチプレクサ2
00の2つの別々の入力に接続される。マルチプレクサ19
6は残りの3つの入力を持ち、その内の2つがパラメー
タ・レジスタ・ファイル202の種々の出力に接続され、
残り1つがビット反転回路214を介して、パラメータ・
レジスタ・ファイル202の出力に接続される。マルチプ
レクサ216を設けて、パラメータ・レジスタ・ファイル2
02からの2つの出力を受取ると共に、夫々のデータ・メ
モリ34a乃至34nに対してメモリ・アドレスを出力する。
レクサ190の1つの入力に接続され、このマルチプレク
サの出力がレジスタ192に入力される。レジスタ192の出
力がバッファ194を介してパラメータ・バス26に入力さ
れると共に、多重入力マルチプレクサ196の1つの入力
に入力される。マルチプレクサ196の出力がALU198の1
つの入力に入力され、ALUの出力がマルチプレクサ200の
1つの入力に入力される。マルチプレクサ200の出力が
パラメータ・レジスタ・ファイル202に入力され、パラ
メータ・バス26から受取ったパラメータを記憶する。AL
U198の出力はビット反転回路206をも通ってマルチプレ
クサ200の入力に送られる。ALU198の他方の入力がマル
チプレクサ208の出力に接続され、このマルチプレクサ
の両方の入力がレジスタ・ファイル202の種々の出力に
接続される。パラメータ・レジスタ・ファイル202の2
つの別々の出力に接続された2つの入力を有する加算器
210,212が設けられていて、その出力がマルチプレクサ2
00の2つの別々の入力に接続される。マルチプレクサ19
6は残りの3つの入力を持ち、その内の2つがパラメー
タ・レジスタ・ファイル202の種々の出力に接続され、
残り1つがビット反転回路214を介して、パラメータ・
レジスタ・ファイル202の出力に接続される。マルチプ
レクサ216を設けて、パラメータ・レジスタ・ファイル2
02からの2つの出力を受取ると共に、夫々のデータ・メ
モリ34a乃至34nに対してメモリ・アドレスを出力する。
動作について説明すると、命令ROM176からデコード回
路182に適切な命令を出力することにより、特定の処理
工程を実行することが出来る。ループ動作、ブランチ動
作等の様な種々の処理動作を実行して、データ・メモリ
34a乃至34nに適切なアドレスを出力することが出来る。
更に、I/O制御装置218を設けて、読取/書込み信号の様
な、データ・メモリを制御する適切な外部制御信号を出
力する。従って、VAGは、関連した1つのメモリ34a乃至
34nにある特定のメモリ位置をアドレスする為のアドレ
スを発生するのに必要な全ての動作を行なう。ACS12
は、ACSが命令ROM176に記憶されているプログラムを順
次進める為の順序制御をしさえすればよい。一旦PC174
がVAGに対する適切な出発位置に初期設定されると、そ
の後、このプログラムは、単にVAGの制御入力に歩進制
御を加えることにより、順次進め又は歩進することが出
来る。アレー・プロセッサにある各々のVAGは同一のプ
ログラミングを持っていて、適切な初期設定アドレスし
か必要としない。一旦初期設定されると、単に順序制御
を加えることにより、各々のVAGにあるプログラム全体
を開始アドレスから歩進して行くことが出来る。更に、
必要に応じて、選ばれたVAGを他のルーチンに初期設定
することが出来る。
路182に適切な命令を出力することにより、特定の処理
工程を実行することが出来る。ループ動作、ブランチ動
作等の様な種々の処理動作を実行して、データ・メモリ
34a乃至34nに適切なアドレスを出力することが出来る。
更に、I/O制御装置218を設けて、読取/書込み信号の様
な、データ・メモリを制御する適切な外部制御信号を出
力する。従って、VAGは、関連した1つのメモリ34a乃至
34nにある特定のメモリ位置をアドレスする為のアドレ
スを発生するのに必要な全ての動作を行なう。ACS12
は、ACSが命令ROM176に記憶されているプログラムを順
次進める為の順序制御をしさえすればよい。一旦PC174
がVAGに対する適切な出発位置に初期設定されると、そ
の後、このプログラムは、単にVAGの制御入力に歩進制
御を加えることにより、順次進め又は歩進することが出
来る。アレー・プロセッサにある各々のVAGは同一のプ
ログラミングを持っていて、適切な初期設定アドレスし
か必要としない。一旦初期設定されると、単に順序制御
を加えることにより、各々のVAGにあるプログラム全体
を開始アドレスから歩進して行くことが出来る。更に、
必要に応じて、選ばれたVAGを他のルーチンに初期設定
することが出来る。
スレーブ・データ・プロセッサ 第5図にはスレーブ・データ・プロセッサ又はVALU24
の回路図が示されており、その中の若干の機能的な回路
が示されている。VALUは利用される1形式のデータ処理
装置に過ぎず、この発明にはこの他の回路を使うことが
出来ることを承知されたい。第5図に示すVALU24によっ
て遂行される若干の機能は、算術論理装置(ALU)、掛
算器部分及び加算器/減算器部分の機能である。各々の
部分がそれに関連した種々のファイル及びレジスタの入
力及び出力と個別にインターフェース接続されている。
掛算器部分は掛算器ファイル220、掛算器222及びシフト
/選択部224で形成される。加算/減算部分は加算器/
減算器回路226、A入力レジスタ228及びB入力レジスタ
230で作られていて、出力がシフト/選択回路232を通
る。ALU部分はALUファイル234及びALU回路236で構成さ
れる。
の回路図が示されており、その中の若干の機能的な回路
が示されている。VALUは利用される1形式のデータ処理
装置に過ぎず、この発明にはこの他の回路を使うことが
出来ることを承知されたい。第5図に示すVALU24によっ
て遂行される若干の機能は、算術論理装置(ALU)、掛
算器部分及び加算器/減算器部分の機能である。各々の
部分がそれに関連した種々のファイル及びレジスタの入
力及び出力と個別にインターフェース接続されている。
掛算器部分は掛算器ファイル220、掛算器222及びシフト
/選択部224で形成される。加算/減算部分は加算器/
減算器回路226、A入力レジスタ228及びB入力レジスタ
230で作られていて、出力がシフト/選択回路232を通
る。ALU部分はALUファイル234及びALU回路236で構成さ
れる。
入力ポートがA,B,Cと記されていて、16ビットのデー
タ・バスで構成されており、A及びBポートは入力機能
にも出力機能にも選択され、Cポートは入力ポートとし
てだけ選択される。A,B及びCポートが、夫々マルチプ
レクサ238,240により、掛算器ファイル220のA及びB入
力に対する入力として選ばれる。マルチプレクサ238
が、Aポート、ALU236の出力及び加算/減算部分にある
シフト/選択回路232の出力の中から、入力を選択す
る。マルチプレクサ240がB及びC入力ポートの間、並
びにALU236の出力と掛算器部分のシフト/選択回路224
の出力の間で選択する。マルチプレクサ238,240から受
取った入力が掛算器ファイル220で処理され、掛算器222
がそれに作用して、その結果をシフト/選択回路224で
処理し、全体的な乗算を行なう。乗算にはブース・アル
ゴリズムを利用する。
タ・バスで構成されており、A及びBポートは入力機能
にも出力機能にも選択され、Cポートは入力ポートとし
てだけ選択される。A,B及びCポートが、夫々マルチプ
レクサ238,240により、掛算器ファイル220のA及びB入
力に対する入力として選ばれる。マルチプレクサ238
が、Aポート、ALU236の出力及び加算/減算部分にある
シフト/選択回路232の出力の中から、入力を選択す
る。マルチプレクサ240がB及びC入力ポートの間、並
びにALU236の出力と掛算器部分のシフト/選択回路224
の出力の間で選択する。マルチプレクサ238,240から受
取った入力が掛算器ファイル220で処理され、掛算器222
がそれに作用して、その結果をシフト/選択回路224で
処理し、全体的な乗算を行なう。乗算にはブース・アル
ゴリズムを利用する。
制御バス18がシーケンサ242の入力となり、シーケン
サの出力がマルチプレクサ246を介してプログラム・カ
ウンタ(PC)244に入力され、マイクロ制御ROM40(図に
示してない)に対して命令アドレスを出力する。マイク
ロ制御ROM40から出力される命令が命令デコード及びレ
ジスタ248に入力されると共に、マルチプレクサ246を介
してPC244にも入力される。
サの出力がマルチプレクサ246を介してプログラム・カ
ウンタ(PC)244に入力され、マイクロ制御ROM40(図に
示してない)に対して命令アドレスを出力する。マイク
ロ制御ROM40から出力される命令が命令デコード及びレ
ジスタ248に入力されると共に、マルチプレクサ246を介
してPC244にも入力される。
第5図のVALU24は、制御バス18に供給された指令とマ
イクロ制御ROM40に記憶されている内部ソフトウエアの
両方の制御のもとに、種々の算術動作を遂行する。更
に、パラメータ・バスからMPS22を介してVALU24にパラ
メータを入れることが出来る。VALU24の動作は、1984年
12月3日に出願された係属中の米国特許出願通し番号第
677,153号に更に詳しく記載されている。スレーブACS12
によって制御される命令の流れに従って、データを受取
り、このデータに対して予め限定された論理操作を行な
い、データをMPS22に戻す様に作用し得る任意の形式の
データ・プロセッサを利用することが出来るが、VALUの
代りに、固定組合せ論理回路を利用してもよい。スレー
ブ・データ・プロセッサ24が再構成し得ること又はACS1
2によって「スレーブ」にすることが出来ることは必要
ではない。スレーブ・データ・プロセッサ24が遂行する
特定の動作は、主に特定の用途に関係する。
イクロ制御ROM40に記憶されている内部ソフトウエアの
両方の制御のもとに、種々の算術動作を遂行する。更
に、パラメータ・バスからMPS22を介してVALU24にパラ
メータを入れることが出来る。VALU24の動作は、1984年
12月3日に出願された係属中の米国特許出願通し番号第
677,153号に更に詳しく記載されている。スレーブACS12
によって制御される命令の流れに従って、データを受取
り、このデータに対して予め限定された論理操作を行な
い、データをMPS22に戻す様に作用し得る任意の形式の
データ・プロセッサを利用することが出来るが、VALUの
代りに、固定組合せ論理回路を利用してもよい。スレー
ブ・データ・プロセッサ24が再構成し得ること又はACS1
2によって「スレーブ」にすることが出来ることは必要
ではない。スレーブ・データ・プロセッサ24が遂行する
特定の動作は、主に特定の用途に関係する。
VALU24がパラメータ・バス26とインターフェース接続
されることが示されている。然し、パラメータ・バス26
が実際にはVAG52又は54の何れかを介して、VALU24と間
接的にのみインターフェース接続されている。パラメー
タは、データ・メモリ76又は80に記憶する為、MPS22を
介してバス78又は82に入力される。この時、VAG52又は5
4はAデータ・ポートを介してパラメータをVALU24に転
送する様に制御される。そこでパラメータが初期設定の
為に利用される。
されることが示されている。然し、パラメータ・バス26
が実際にはVAG52又は54の何れかを介して、VALU24と間
接的にのみインターフェース接続されている。パラメー
タは、データ・メモリ76又は80に記憶する為、MPS22を
介してバス78又は82に入力される。この時、VAG52又は5
4はAデータ・ポートを介してパラメータをVALU24に転
送する様に制御される。そこでパラメータが初期設定の
為に利用される。
多重通路スイッチ 第6図には、MPS22の一部分の簡略ブロック図が示さ
れている。好ましい実施例では、MPS22が16ビット・ワ
ードに用いられていて、4つの4ビット部分の各々に対
して1つずつの4つの部分に分割されている。MPS22が
6つのプロセッサ・ポート及び6つのメモリ・ポートを
持っており、これらのプロセッサ及びメモリ・ポートは
両方向である。第6図に示すMPS22の4ビット部分が、
行及び列に分けた特定の接続パターンを記憶する接続レ
ジスタ・ファイル250を持っている。6本の両方向4ビ
ット線252がメモリ・ポートと6×6交点スイッチ254の
間にインターフェース接続されている。6つの4ビット
・バス255が6個のプロセッサ・ポートと6×6交点ス
イッチ256の間にインターフェース接続されている。交
点スイッチ254,256にある各点は4ビットで構成され
る。
れている。好ましい実施例では、MPS22が16ビット・ワ
ードに用いられていて、4つの4ビット部分の各々に対
して1つずつの4つの部分に分割されている。MPS22が
6つのプロセッサ・ポート及び6つのメモリ・ポートを
持っており、これらのプロセッサ及びメモリ・ポートは
両方向である。第6図に示すMPS22の4ビット部分が、
行及び列に分けた特定の接続パターンを記憶する接続レ
ジスタ・ファイル250を持っている。6本の両方向4ビ
ット線252がメモリ・ポートと6×6交点スイッチ254の
間にインターフェース接続されている。6つの4ビット
・バス255が6個のプロセッサ・ポートと6×6交点ス
イッチ256の間にインターフェース接続されている。交
点スイッチ254,256にある各点は4ビットで構成され
る。
交点スイッチ254がバッファ258の入力に接続され、こ
のバッファの出力が6つの4ビット・バス255に接続さ
れており、交点スイッチ256がバッファ260に入力され、
このバッファの出力が6つの4ビット・バス252に接続
されている。バッファ260は、6本の1ビット出力付能
線264に接続された出力付能回路262によって付能され
る。
のバッファの出力が6つの4ビット・バス255に接続さ
れており、交点スイッチ256がバッファ260に入力され、
このバッファの出力が6つの4ビット・バス252に接続
されている。バッファ260は、6本の1ビット出力付能
線264に接続された出力付能回路262によって付能され
る。
接続レジスタ・ファイル250は、レジスタ・ファイル2
50の所定の行に対する接続パターンを記憶する為、1行
の6個の4ビット・ワードが現在接続レジスタ266に出
力される様に構成されている。各々の4ビット・ワード
が、6個の4から12へのデコーダ268のバンクに入力さ
れ、このデコーダが6本の12ビット・デコード線を出力
する。12本のデコード線の内の3本が交点スイッチ254
に入力される。各々の交点スイッチ254,257に入力され
る36本のデコード線が、接続パターンを決定する。従っ
て、レジスタ・ファイル250の特定の行にある6個の4
ビット・ワードが、特定の接続パターンを決定する。
50の所定の行に対する接続パターンを記憶する為、1行
の6個の4ビット・ワードが現在接続レジスタ266に出
力される様に構成されている。各々の4ビット・ワード
が、6個の4から12へのデコーダ268のバンクに入力さ
れ、このデコーダが6本の12ビット・デコード線を出力
する。12本のデコード線の内の3本が交点スイッチ254
に入力される。各々の交点スイッチ254,257に入力され
る36本のデコード線が、接続パターンを決定する。従っ
て、レジスタ・ファイル250の特定の行にある6個の4
ビット・ワードが、特定の接続パターンを決定する。
パラメータ・バス26とインターフェース接続される様
に、命令レジスタ及びデコード回路270を設けるが、こ
れは遂行される特定の動作を決定する為に、5個の情報
ビットを必要とする。MPS22は処理をせず、接続パター
ンをレジスタ・ファイルに記憶すると共に、それから出
力することが出来る様にするだけである。ACS12から受
取った指令は本質的に特定の行及び列(1つ又は複数)
を指示する。接続パターンは後で更に詳しく説明する。
に、命令レジスタ及びデコード回路270を設けるが、こ
れは遂行される特定の動作を決定する為に、5個の情報
ビットを必要とする。MPS22は処理をせず、接続パター
ンをレジスタ・ファイルに記憶すると共に、それから出
力することが出来る様にするだけである。ACS12から受
取った指令は本質的に特定の行及び列(1つ又は複数)
を指示する。接続パターンは後で更に詳しく説明する。
レジスタ・ファイル250にはパラメータ・バス26から
データ・レジスタ272を介してロードされるが、このレ
ジスタは一度に4ビットを入力する。パラメータ・バス
が16ビットの長さであるから、第6図に示す各々の部分
には、パラメータ・バス26にある各々のデータ・ワード
の内の4ビットだけがロードされる。この代りに、接続
レジスタ・ファイル250の各々の列にある4ビットの各
々をマルチプレクサ274を介してパラメータ・バス18に
出力することが出来る。
データ・レジスタ272を介してロードされるが、このレ
ジスタは一度に4ビットを入力する。パラメータ・バス
が16ビットの長さであるから、第6図に示す各々の部分
には、パラメータ・バス26にある各々のデータ・ワード
の内の4ビットだけがロードされる。この代りに、接続
レジスタ・ファイル250の各々の列にある4ビットの各
々をマルチプレクサ274を介してパラメータ・バス18に
出力することが出来る。
命令の流れの例 第7図には、第1図のアレー・プロセッサの簡略ブロ
ック図が示されており、3つのVAG20a乃至20cと3つの
データ・メモリ34a乃至34cが示されている。スレーブ・
データ・プロセッサ24にはVALUが用いられている。第7
図の実施例を利用して、アレー・プロセッサが、表1に
示す2つの8ワード・ベクトルのベクトル加算を遂行す
る為に利用される、アレー・プロセッサの簡単な例を説
明する。2つの入力ベクトル・オペランドがデータ・メ
モリ34a及び34cのアドレス0乃至7に記憶されている。
合成和ベクトルはメモリ34bに書込む。読取及び書込み
動作が3つのVAG28a乃至28cによって制御される。
ック図が示されており、3つのVAG20a乃至20cと3つの
データ・メモリ34a乃至34cが示されている。スレーブ・
データ・プロセッサ24にはVALUが用いられている。第7
図の実施例を利用して、アレー・プロセッサが、表1に
示す2つの8ワード・ベクトルのベクトル加算を遂行す
る為に利用される、アレー・プロセッサの簡単な例を説
明する。2つの入力ベクトル・オペランドがデータ・メ
モリ34a及び34cのアドレス0乃至7に記憶されている。
合成和ベクトルはメモリ34bに書込む。読取及び書込み
動作が3つのVAG28a乃至28cによって制御される。
メモリ34a乃至34cは2つの静止形RAM(SRAM)で構成
され、16個のデータ・ビットに対してこれらが必要であ
る。VALU24は内部の制御ROMの持っていないので、この
装置は外部制御メモリ40を利用する。この外部制御メモ
リは、64ビットのマイクロ命令ワードを構成する為に8
個のSRAMで構成されている。MPS22は、こういう余分の
加算を行なう前に、ACSによって必要なデータ通路の接
続が作られる。MPS22は4つのメモリ・ポートM1乃至M4
及び3つのプロセッサ・ポートP4乃至P6を持っている。
パラメータ・バス26がMPS22に接続データを入力する為
のデータ入力(B)に入力すると共に、M4入力にも接続
され、VALU24にデータを間接的に入力することが出来る
様にする。VALU24がデータを受取るA,B及びCポートを
持っている。A及びBポートは両方向であり、Cポート
は一方向である。パラメータ・バス26をMPS22のM4ポー
トに接続したことにより、VALU24をそのデータポートA
によってマクロプログラム開始アドレスに初期設定する
ことが出来る。
され、16個のデータ・ビットに対してこれらが必要であ
る。VALU24は内部の制御ROMの持っていないので、この
装置は外部制御メモリ40を利用する。この外部制御メモ
リは、64ビットのマイクロ命令ワードを構成する為に8
個のSRAMで構成されている。MPS22は、こういう余分の
加算を行なう前に、ACSによって必要なデータ通路の接
続が作られる。MPS22は4つのメモリ・ポートM1乃至M4
及び3つのプロセッサ・ポートP4乃至P6を持っている。
パラメータ・バス26がMPS22に接続データを入力する為
のデータ入力(B)に入力すると共に、M4入力にも接続
され、VALU24にデータを間接的に入力することが出来る
様にする。VALU24がデータを受取るA,B及びCポートを
持っている。A及びBポートは両方向であり、Cポート
は一方向である。パラメータ・バス26をMPS22のM4ポー
トに接続したことにより、VALU24をそのデータポートA
によってマクロプログラム開始アドレスに初期設定する
ことが出来る。
表2に示す様な4つの異なる接続を持つ接続レジスタ
・ファイルをロードすることにより、MPS22は必要なデ
ータ通路の接続が構成される。表2で、接続レジスタ・
ファイルは6列及び6行を持っている。第1行は初期設
定パターンを含んでおり、M4がP4に接続され、VALU24を
初期設定することが出来る様にする。第2行のR2では、
メモリ・ポートM1,M3が夫々プロセッサ・ポートP4,P6に
接続され、メモリ34a,34cをVALU24のA及びBポートに
接続することが出来る様にする。プロセッサ・ポートP5
がメモリ・ポートM2に接続され、VALU24のBポートをデ
ータ・メモリ34bに接続出来る様にする。表2は、レジ
スタ・ファイルに4ビット・データを書込むのに必要な
指令コードをも示している。
・ファイルをロードすることにより、MPS22は必要なデ
ータ通路の接続が構成される。表2で、接続レジスタ・
ファイルは6列及び6行を持っている。第1行は初期設
定パターンを含んでおり、M4がP4に接続され、VALU24を
初期設定することが出来る様にする。第2行のR2では、
メモリ・ポートM1,M3が夫々プロセッサ・ポートP4,P6に
接続され、メモリ34a,34cをVALU24のA及びBポートに
接続することが出来る様にする。プロセッサ・ポートP5
がメモリ・ポートM2に接続され、VALU24のBポートをデ
ータ・メモリ34bに接続出来る様にする。表2は、レジ
スタ・ファイルに4ビット・データを書込むのに必要な
指令コードをも示している。
ACS12がMPS22の初期設定を完了した後、VAGのアキュ
ムレータ・ポインタを初期設定しなければならない。ア
キュムレータ・ポインタは、パラメータ・レジスタ・フ
ァイルのレジスタ0の4つの4ビット・コードに対応す
る。各々のコードは、フォアグラウンド又はバックグラ
ウンド処理の何れかに対し、アキュムレータ0(A0)又
はアキュムレータ1(A1)の何れかとして作用するファ
イル・レジスタを特定する。表3は所定のVAGに対する
制御メモリを示しており、3つのVAG24a乃至24cの各々
に対する制御メモリは同一である。これは3つのマクロ
プログラムで構成されており、その1番目が16進値2100
をレジスタR0にロードし、16進値0000をレジスタR1及び
R2にロードする様に作用する。アキュムレータA0がレジ
スタR2に対応し、アキュムレータA1がレジスタR1に対応
する。ACS12が、VAGをマクロ開始アドレスを初期設定す
る、各々のVAGに対する初期設定コードINIT、その後、V
AGをマクロプログラムの中で歩進させる一連のSTEPコー
ド、EXECコード、最後に動作なしコードであるNOOPコー
ドを発生する。EXECコードが、最後の1つ前の命令を実
行するのに役立つが、PCがSTOP/NOOPコードである最後
の命令を指示する様にする。各々のVAG及びマクロプロ
グラムの終りにSTOP/NOOPコードを入れて、マクロプロ
グラムの実行が完了した時、この命令がVAG命令レジス
タにある様にする。
ムレータ・ポインタを初期設定しなければならない。ア
キュムレータ・ポインタは、パラメータ・レジスタ・フ
ァイルのレジスタ0の4つの4ビット・コードに対応す
る。各々のコードは、フォアグラウンド又はバックグラ
ウンド処理の何れかに対し、アキュムレータ0(A0)又
はアキュムレータ1(A1)の何れかとして作用するファ
イル・レジスタを特定する。表3は所定のVAGに対する
制御メモリを示しており、3つのVAG24a乃至24cの各々
に対する制御メモリは同一である。これは3つのマクロ
プログラムで構成されており、その1番目が16進値2100
をレジスタR0にロードし、16進値0000をレジスタR1及び
R2にロードする様に作用する。アキュムレータA0がレジ
スタR2に対応し、アキュムレータA1がレジスタR1に対応
する。ACS12が、VAGをマクロ開始アドレスを初期設定す
る、各々のVAGに対する初期設定コードINIT、その後、V
AGをマクロプログラムの中で歩進させる一連のSTEPコー
ド、EXECコード、最後に動作なしコードであるNOOPコー
ドを発生する。EXECコードが、最後の1つ前の命令を実
行するのに役立つが、PCがSTOP/NOOPコードである最後
の命令を指示する様にする。各々のVAG及びマクロプロ
グラムの終りにSTOP/NOOPコードを入れて、マクロプロ
グラムの実行が完了した時、この命令がVAG命令レジス
タにある様にする。
次のINITコードが送られるまで、一連のNOOPコードが
VAGに送られる。次のINITコードがVAGに記録された時、
STOP/NOOPコードが実行され、NOOPが遂行される。残り
の2つのVAGのマクロプログラムがベクトル加算読取及
び書込み動作の為に使われる。この場合も、INITコード
を使ってVAGにマクロプログラム開始アドレスを初期設
定し、その後一連のEXECコードを送って、必要な回数だ
け、最初のマイクロ命令を実行させる。
VAGに送られる。次のINITコードがVAGに記録された時、
STOP/NOOPコードが実行され、NOOPが遂行される。残り
の2つのVAGのマクロプログラムがベクトル加算読取及
び書込み動作の為に使われる。この場合も、INITコード
を使ってVAGにマクロプログラム開始アドレスを初期設
定し、その後一連のEXECコードを送って、必要な回数だ
け、最初のマイクロ命令を実行させる。
表3で、16進コード600乃至606はアキュムレータの設
定に対応する。読取に対するマクロ命令がアドレス607
で初期設定され、ループ状に戻って、アキュムレータ・
レジスタ80をインクレメントし、データ・メモリから8
個のデータ・ワードを読取る。同様に、16進アドレス60
9に初期設定することにより、書込み命令がループ状に
戻って、8個のデータ・ワードのブロックをメモリに書
込むことが出来る様にする。
定に対応する。読取に対するマクロ命令がアドレス607
で初期設定され、ループ状に戻って、アキュムレータ・
レジスタ80をインクレメントし、データ・メモリから8
個のデータ・ワードを読取る。同様に、16進アドレス60
9に初期設定することにより、書込み命令がループ状に
戻って、8個のデータ・ワードのブロックをメモリに書
込むことが出来る様にする。
VALU24の制御メモリが表4に示されている。このメモ
リはポートAの数値をALUファイル・レジスタA0にロー
ドし、ポートCの数値をALUファイル・レジスタA1にロ
ードする為に、16進アドレス002に初期設定されるマク
ロプログラムを含む。この後、ファイル・レジスタA0及
びA1を加算して、出力の結果を出し、それがポートBを
介して出力される。これはVALU24によって遂行される簡
単なベクトル加算であり、アレー・プロセッサのデータ
処理部分を構成する。
リはポートAの数値をALUファイル・レジスタA0にロー
ドし、ポートCの数値をALUファイル・レジスタA1にロ
ードする為に、16進アドレス002に初期設定されるマク
ロプログラムを含む。この後、ファイル・レジスタA0及
びA1を加算して、出力の結果を出し、それがポートBを
介して出力される。これはVALU24によって遂行される簡
単なベクトル加算であり、アレー・プロセッサのデータ
処理部分を構成する。
ACSマイクロプログラム・コードは、同じ制御コード
が反復的に出力される相次ぐクロック・サイクルを同定
することによって圧縮することが出来る。これは普通は
ループ動作に使われる。この場合、ACS12が同じメモリ
位置を何回もアドレスし、各々のループの間、制御コー
ドが反復的に出力される。VAGをアキュムレータ設定マ
クロプログラムの中で歩進させる時、同じ圧縮を達成す
ることが出来る。ACS12に対する制御メモリの構成が表
5に示されている。
が反復的に出力される相次ぐクロック・サイクルを同定
することによって圧縮することが出来る。これは普通は
ループ動作に使われる。この場合、ACS12が同じメモリ
位置を何回もアドレスし、各々のループの間、制御コー
ドが反復的に出力される。VAGをアキュムレータ設定マ
クロプログラムの中で歩進させる時、同じ圧縮を達成す
ることが出来る。ACS12に対する制御メモリの構成が表
5に示されている。
ACS12の初期アドレスは、動作していない時にACSがそ
こにあるアドレスであるが、これによってスレーブ制御
コードがパラメータ・バス26に出力され、opコードがAC
Sマイクロ命令として、ACS12に入力される。初期アドレ
ス000では、全てのスレーブ装置のHALT制御が送られて
おり、NOOPマイクロ命令がACS12に送られる。最初電源
をオンにした時、スレーブ装置は、通常の運転モードに
ない為、HALT指令に応答しない。それらは自動的にアド
レス0000にリセットされる。通常の動作モードのHALT命
令により、スレーブ装置は、内部レジスタが何等かの特
定のアドレスにあることを必要とせずに、処理を停止す
る。次の命令アドレス001は、主プログラムが存在する
所であるアドレス200に対してブランチするブランチ・
アドレスである。アドレス200では、MPS22がCLR指令に
よってクリアされ、DUP4マイクロ命令がACS12に供給さ
れる。DUP4命令により数値4444が、16進アドレス202に
書込む為に、パラメータ・バスにのせられる。この遅延
は、ACS12がパイプライン形式である為である。16進ア
ドレス201及び202では、指令PT1及びWR4がMPS22に送ら
れ、行1を指示し、列4に対して書込みさせる。その
後、DUP1,DUP A及びDUP3指令が実行されて、夫々の数
値をパラメータ・バスに書込むと共に、それらを第2行
の位置4,5,6にロードする。LPS22が16進アドレス100と2
06の間に設定される。
こにあるアドレスであるが、これによってスレーブ制御
コードがパラメータ・バス26に出力され、opコードがAC
Sマイクロ命令として、ACS12に入力される。初期アドレ
ス000では、全てのスレーブ装置のHALT制御が送られて
おり、NOOPマイクロ命令がACS12に送られる。最初電源
をオンにした時、スレーブ装置は、通常の運転モードに
ない為、HALT指令に応答しない。それらは自動的にアド
レス0000にリセットされる。通常の動作モードのHALT命
令により、スレーブ装置は、内部レジスタが何等かの特
定のアドレスにあることを必要とせずに、処理を停止す
る。次の命令アドレス001は、主プログラムが存在する
所であるアドレス200に対してブランチするブランチ・
アドレスである。アドレス200では、MPS22がCLR指令に
よってクリアされ、DUP4マイクロ命令がACS12に供給さ
れる。DUP4命令により数値4444が、16進アドレス202に
書込む為に、パラメータ・バスにのせられる。この遅延
は、ACS12がパイプライン形式である為である。16進ア
ドレス201及び202では、指令PT1及びWR4がMPS22に送ら
れ、行1を指示し、列4に対して書込みさせる。その
後、DUP1,DUP A及びDUP3指令が実行されて、夫々の数
値をパラメータ・バスに書込むと共に、それらを第2行
の位置4,5,6にロードする。LPS22が16進アドレス100と2
06の間に設定される。
16進アドレス207では、MPSに接続指令を送って、行1
の接続を行なうことにより、VAGに対するアキュムレー
タの設定が開始され、数値600がパラメータ・バス26に
ロードされる。初期設定コードINITが16進アドレス20A
のVAGに送られ、プログラムは、16進アドレス205にある
レジスタC0に記憶された値によって決定された予定の回
数の間、16進アドレス20A及び20Bをループする。16進ア
ドレス20Bでは、VAGのプログラム・カウンタが歩進し、
16進アドレス20Cでは、VAG命令が実行される。これによ
ってVAGのアキュムレータが設定される。
の接続を行なうことにより、VAGに対するアキュムレー
タの設定が開始され、数値600がパラメータ・バス26に
ロードされる。初期設定コードINITが16進アドレス20A
のVAGに送られ、プログラムは、16進アドレス205にある
レジスタC0に記憶された値によって決定された予定の回
数の間、16進アドレス20A及び20Bをループする。16進ア
ドレス20Bでは、VAGのプログラム・カウンタが歩進し、
16進アドレス20Cでは、VAG命令が実行される。これによ
ってVAGのアキュムレータが設定される。
アキュムレータの設定の後、16進アドレス20FのVAG1
及びVAG3の両方にINIT指令を送ることにより、16進アド
レス20Eでベクトル加算動作の初期設定が行なわれる。I
NIT指令がプログラム・カウンタを、16進アドレス20Cで
パラメータ・バスに入れたアドレス607に初期設定す
る。VAG2が16進アドレス211で、16進アドレス20Eでパラ
メータ・バスにロードされた開始アドレス609に初期設
定される。MPS22のレジスタ・ファイルの行2に対する
接続パターンが、16進アドレス212で行なわれ、VALUが1
6進アドレス213により、16進開始アドレス002に初期設
定される。このアドレス16進アドレス210でパラメータ
・バスにロードされる。
及びVAG3の両方にINIT指令を送ることにより、16進アド
レス20Eでベクトル加算動作の初期設定が行なわれる。I
NIT指令がプログラム・カウンタを、16進アドレス20Cで
パラメータ・バスに入れたアドレス607に初期設定す
る。VAG2が16進アドレス211で、16進アドレス20Eでパラ
メータ・バスにロードされた開始アドレス609に初期設
定される。MPS22のレジスタ・ファイルの行2に対する
接続パターンが、16進アドレス212で行なわれ、VALUが1
6進アドレス213により、16進開始アドレス002に初期設
定される。このアドレス16進アドレス210でパラメータ
・バスにロードされる。
ベクトル加算動作の初期設定の後、16進アドレス214
でEXEC指令をVAG1及びVAG2に供給し、16進アドレス216
でループを作ることにより、ベクトルの実際の加算が行
なわれる。ループの値が16進アドレス212でACS12のレジ
スタC0にロードされる。プログラムは16進アドレス217
及び21A間でパイプダウン段階に入り、16進アドレス21B
でアイドル・ループに入る。
でEXEC指令をVAG1及びVAG2に供給し、16進アドレス216
でループを作ることにより、ベクトルの実際の加算が行
なわれる。ループの値が16進アドレス212でACS12のレジ
スタC0にロードされる。プログラムは16進アドレス217
及び21A間でパイプダウン段階に入り、16進アドレス21B
でアイドル・ループに入る。
システムの動作を更によく説明する為、表6にクロッ
ク・タイミング線図を示してある。これは、プログラム
を初期設定し、今の例のベクトル加算動作を行なう時
の、ACS12のクロック・タイミングによってクロックを
例示している。
ク・タイミング線図を示してある。これは、プログラム
を初期設定し、今の例のベクトル加算動作を行なう時
の、ACS12のクロック・タイミングによってクロックを
例示している。
ACS12には2つの命令レジスタIR1及びIR2があり、一
方がopコード含み、他方がデータの値を含んでいる。レ
ジスタC0がループの値を含み、ブランチ情報を供給する
別の出力CTRUEがある。この出力が、第3図では、命令
レジスタ・デコード回路156から来るものとして示され
ている。CTRUE信号は、ACSプログラムがループ・モード
にある時、ブランチ動作を指示する。この情報が、ルー
プが終了し、VAGがその内部PCを次の命令へ進めること
が出来ると云う表示として、VAGによって利用される。
これによって、ACS12でループが終了したと云う表示を
発生するのに必要な工程の数が更に減少する。
方がopコード含み、他方がデータの値を含んでいる。レ
ジスタC0がループの値を含み、ブランチ情報を供給する
別の出力CTRUEがある。この出力が、第3図では、命令
レジスタ・デコード回路156から来るものとして示され
ている。CTRUE信号は、ACSプログラムがループ・モード
にある時、ブランチ動作を指示する。この情報が、ルー
プが終了し、VAGがその内部PCを次の命令へ進めること
が出来ると云う表示として、VAGによって利用される。
これによって、ACS12でループが終了したと云う表示を
発生するのに必要な工程の数が更に減少する。
16進アドレス000をPCに入れて、最初のクロックでプ
ログラムが開始される。クロック2乃至4の間、ACS12
が16進アドレス200で主プログラムにブランチする。16
進アドレス200が、クロック5の間にPCに入れられる。M
PS22はクロック5及び11の間、マイクロ命令DUP4をクロ
ック6でレジスタIR1に入れ、数値4444をクロック7で
パラメータ・バスに入れる様に構成される。クロック6
で指令PT1がMPS22に対する制御バスにのせられ、残りの
指令及び数値はクロック8と11の間に、バスにのせられ
る。クロック11で、数値4がレジスタC0にロードされ、
その後、クロック12と15の間に、指令CN1をクロック12
でMPS制御バスにのせると共に、クロック15でINIT指令
を送出することにより、VAGのアキュムレータの設定を
開始する。クロック15で、VAGに対する開始アドレス060
0を、クロック13及びクロック14の時のレジスタR1にあ
るLP 0600指令に従って、パラメータ・バスにのせる。
VAGを開始アドレス0600に初期設定した後、アキュムレ
ータがクロック16及びクロック22の間に設定される。こ
れはブランチ動作であり、この時のACS12がVALU4の周り
にブランチし、これはVALUが0より小さくなるまで、ク
ロック11及び12に制御レジスタにロードされる。VAGに
あるプログラムが0600の開始アドレスから6工程を歩進
し、その後EXEC指令がクロック22に3つのVAGに送られ
る。
ログラムが開始される。クロック2乃至4の間、ACS12
が16進アドレス200で主プログラムにブランチする。16
進アドレス200が、クロック5の間にPCに入れられる。M
PS22はクロック5及び11の間、マイクロ命令DUP4をクロ
ック6でレジスタIR1に入れ、数値4444をクロック7で
パラメータ・バスに入れる様に構成される。クロック6
で指令PT1がMPS22に対する制御バスにのせられ、残りの
指令及び数値はクロック8と11の間に、バスにのせられ
る。クロック11で、数値4がレジスタC0にロードされ、
その後、クロック12と15の間に、指令CN1をクロック12
でMPS制御バスにのせると共に、クロック15でINIT指令
を送出することにより、VAGのアキュムレータの設定を
開始する。クロック15で、VAGに対する開始アドレス060
0を、クロック13及びクロック14の時のレジスタR1にあ
るLP 0600指令に従って、パラメータ・バスにのせる。
VAGを開始アドレス0600に初期設定した後、アキュムレ
ータがクロック16及びクロック22の間に設定される。こ
れはブランチ動作であり、この時のACS12がVALU4の周り
にブランチし、これはVALUが0より小さくなるまで、ク
ロック11及び12に制御レジスタにロードされる。VAGに
あるプログラムが0600の開始アドレスから6工程を歩進
し、その後EXEC指令がクロック22に3つのVAGに送られ
る。
VAGのアキュムレータを設定した後、開始アドレス060
7でベクトル加算動作の初期設定が行なわれる。数値060
7が、クロック23及び24の命令レジスタにある命令に従
って、クロック25でパラメータ・バスにロードされる。
クロック25で、INIT指令がVAG1及びVAG3に送られ、開始
アドレス0607をロードする。その後、アドレス0609がク
ロック27でパラメータ・バスにロードされ、INIT指令が
VAG2に送られて、関連したPCに開始アドレス0609をロー
ドする。MPS22に対する接続パータンは適切な指令CN2を
送ることによって、クロック28で行なわれ、その後数値
0002がパラメータ・バスにロードされ、クロック29でVA
LU24をINIT指令によって初期設定出来る様にする。
7でベクトル加算動作の初期設定が行なわれる。数値060
7が、クロック23及び24の命令レジスタにある命令に従
って、クロック25でパラメータ・バスにロードされる。
クロック25で、INIT指令がVAG1及びVAG3に送られ、開始
アドレス0607をロードする。その後、アドレス0609がク
ロック27でパラメータ・バスにロードされ、INIT指令が
VAG2に送られて、関連したPCに開始アドレス0609をロー
ドする。MPS22に対する接続パータンは適切な指令CN2を
送ることによって、クロック28で行なわれ、その後数値
0002がパラメータ・バスにロードされ、クロック29でVA
LU24をINIT指令によって初期設定出来る様にする。
VAGがベクトル加算動作用に初期設定された後、クロ
ック30及び41の間に、ベクトルが加算される。クロック
30及び31で、VAG1及びVAG3によってアドレスが発生され
て、メモリからデータを読取り、それをパイプラインに
入れる。クロック31で、VALU24にEXEC指令が送られて、
結果を出力し、この結果が、VAG2にEXEC指令を送ること
によって、クロック32でVAG2によって記憶される。この
時点で、ACS12は16進アドレス216の周りをループ状に廻
ってクロック37に至る。クロック37で、VAG1及びVAG3に
あるPCを歩進して、クロック39でNOOP指令にする。VAG
プログラムの最後の工程が実行された後、プログラムが
NOOP命令に歩進し、それを実行する。クロック40及び41
で、VALU24のプログラムを歩進し、実行して、プログラ
ムを終了する。その後、ACS12は16進アドレス21Cの周り
をブランチすることにより、クロック42乃至44ではアイ
ドル・モードになる。
ック30及び41の間に、ベクトルが加算される。クロック
30及び31で、VAG1及びVAG3によってアドレスが発生され
て、メモリからデータを読取り、それをパイプラインに
入れる。クロック31で、VALU24にEXEC指令が送られて、
結果を出力し、この結果が、VAG2にEXEC指令を送ること
によって、クロック32でVAG2によって記憶される。この
時点で、ACS12は16進アドレス216の周りをループ状に廻
ってクロック37に至る。クロック37で、VAG1及びVAG3に
あるPCを歩進して、クロック39でNOOP指令にする。VAG
プログラムの最後の工程が実行された後、プログラムが
NOOP命令に歩進し、それを実行する。クロック40及び41
で、VALU24のプログラムを歩進し、実行して、プログラ
ムを終了する。その後、ACS12は16進アドレス21Cの周り
をブランチすることにより、クロック42乃至44ではアイ
ドル・モードになる。
VAGはクロック26及び43の間だけ、ベクトル加算を行
なう様に作用し得る。種々のレジスタ及びスレーブ装置
の状態が表7に示されている。
なう様に作用し得る。種々のレジスタ及びスレーブ装置
の状態が表7に示されている。
クロック26で、中央レジスタ(CREG)を初期設定し
て、VAG1及び3にクロック27で16進アドレス607をロー
ドする。VAG2がクロック28で開始して、クロック29でPC
に16進開始アドレス0609をロードする。VALU24がクロッ
ク30で初期設定されて、クロック31でPCに16進開始アド
レス002を入力する。EXEC指令がクロック31でVAG1及び
3に送られ、クロック32で読取動作がアドレス0で行な
われる。クロック32で、EXEC指令がVALU24に送られ、加
算動作がクロック33で行なわれる。EXEC指令がクロック
33でVAG2に送られ、書込み動作がクロック34で行なわれ
る。最後のEXEC指令がクロック37でVAG1及び3に送ら
れ、装置がパイプライン形であることにより、クロック
39まで読取動作が行なわれる。クロック38で、プログラ
ムが歩進して、クロック40で命令レジスタからNOOP命令
を出力する。同様に、VALU24にはクロック41で歩進指令
が送られ、VAG2にはクロック40で歩進指令が送られる。
て、VAG1及び3にクロック27で16進アドレス607をロー
ドする。VAG2がクロック28で開始して、クロック29でPC
に16進開始アドレス0609をロードする。VALU24がクロッ
ク30で初期設定されて、クロック31でPCに16進開始アド
レス002を入力する。EXEC指令がクロック31でVAG1及び
3に送られ、クロック32で読取動作がアドレス0で行な
われる。クロック32で、EXEC指令がVALU24に送られ、加
算動作がクロック33で行なわれる。EXEC指令がクロック
33でVAG2に送られ、書込み動作がクロック34で行なわれ
る。最後のEXEC指令がクロック37でVAG1及び3に送ら
れ、装置がパイプライン形であることにより、クロック
39まで読取動作が行なわれる。クロック38で、プログラ
ムが歩進して、クロック40で命令レジスタからNOOP命令
を出力する。同様に、VALU24にはクロック41で歩進指令
が送られ、VAG2にはクロック40で歩進指令が送られる。
この発明では、VAG24a乃至24n及びACS12を利用するこ
とにより、マイクロプログラム・コードが圧縮される。
これは、同じ制御コード(即ちEXECコード)が繰返して
出力されるクロック・サイクル33及び37の間に明らかで
ある。ACS12は、その制御メモリ内の同じメモリ位置を
5回アドレスし、そこからEXEC制御コードを反復的に出
力するタイトループに入る様にプログラムされている。
VAGがクロック16及び21の間に、アキュムレータ設定マ
クロプログラムを歩進する時も、同じ圧縮が行なわれ
る。この発明のシステムを利用することにより、命令を
実行する為に、プログラムがループ状に戻ることは不必
要である。この為には、追加の命令及び取出し動作を必
要とするが、それは時間がかかり、余分のマイクロコー
ドを必要とする。
とにより、マイクロプログラム・コードが圧縮される。
これは、同じ制御コード(即ちEXECコード)が繰返して
出力されるクロック・サイクル33及び37の間に明らかで
ある。ACS12は、その制御メモリ内の同じメモリ位置を
5回アドレスし、そこからEXEC制御コードを反復的に出
力するタイトループに入る様にプログラムされている。
VAGがクロック16及び21の間に、アキュムレータ設定マ
クロプログラムを歩進する時も、同じ圧縮が行なわれ
る。この発明のシステムを利用することにより、命令を
実行する為に、プログラムがループ状に戻ることは不必
要である。この為には、追加の命令及び取出し動作を必
要とするが、それは時間がかかり、余分のマイクロコー
ドを必要とする。
強制I/O 第8図には強制I/Oモード又は二重バッファ転送モー
ドで動作するVAG52,54の拡大ブロック図が示されてい
る。この形式では、データ・メモリ76,80がVAG52,54と
関連して動作し、制御バスから相互接続バス56を介して
転送された同じ制御コードを共有する。各々のVAG52,54
が夫々別個のメモリ76,80に対するアドレスを発生す
る。然し、一方のVAG52,54がフォアグラウンドで、そし
て1つがバックグラウンドで動作して、外部I/O装置98
とのI/O機能を遂行する。最初、両方のVAG52,54が基本
モードで動作していて、同じプログラムを実行する。両
方が初期設定された後、ACS12がVAG52,54に対し強制I/O
マイクロ命令を送る。この各々のVAGはIOIDピンを持
ち、これが正の電圧又はアースの何れかに接続されてい
る。これによって両者が区別される。強制I/Oマイクロ
命令が一方又は他方を選択する。選択された一方は、強
制I/Oマイクロ命令を受取った時、強制I/O動作モードに
入り、その間、HALT及びRESET指令以外の全ての制御バ
スのコードを無視する。この後、このVAGは内部強制I/O
ルーチンを順次進み、ハンドシェイク線100を介して外
部I/O装置98とインターフェース接続され、MPS22を介し
てのデータ及び制御信号の転送を制御する。強制I/Oモ
ードにあるVAGが、PCブランチ・ファイル178に記憶され
ているI/Oルーチンにブランチする。VAG52,54の内、通
常の動作モードにある他方は、引続いてもとのプログラ
ムを実行し、データの処理を続ける。即ち、一方のVAG
が計算用のデータ・アドレスを発生し、他方がI/O転送
用のデータ・アドレスを発生する。
ドで動作するVAG52,54の拡大ブロック図が示されてい
る。この形式では、データ・メモリ76,80がVAG52,54と
関連して動作し、制御バスから相互接続バス56を介して
転送された同じ制御コードを共有する。各々のVAG52,54
が夫々別個のメモリ76,80に対するアドレスを発生す
る。然し、一方のVAG52,54がフォアグラウンドで、そし
て1つがバックグラウンドで動作して、外部I/O装置98
とのI/O機能を遂行する。最初、両方のVAG52,54が基本
モードで動作していて、同じプログラムを実行する。両
方が初期設定された後、ACS12がVAG52,54に対し強制I/O
マイクロ命令を送る。この各々のVAGはIOIDピンを持
ち、これが正の電圧又はアースの何れかに接続されてい
る。これによって両者が区別される。強制I/Oマイクロ
命令が一方又は他方を選択する。選択された一方は、強
制I/Oマイクロ命令を受取った時、強制I/O動作モードに
入り、その間、HALT及びRESET指令以外の全ての制御バ
スのコードを無視する。この後、このVAGは内部強制I/O
ルーチンを順次進み、ハンドシェイク線100を介して外
部I/O装置98とインターフェース接続され、MPS22を介し
てのデータ及び制御信号の転送を制御する。強制I/Oモ
ードにあるVAGが、PCブランチ・ファイル178に記憶され
ているI/Oルーチンにブランチする。VAG52,54の内、通
常の動作モードにある他方は、引続いてもとのプログラ
ムを実行し、データの処理を続ける。即ち、一方のVAG
が計算用のデータ・アドレスを発生し、他方がI/O転送
用のデータ・アドレスを発生する。
強制I/OモードにあるVAGに付設されたデータ・メモリ
に対するデータ・ブロックの転送が完了した時、第2図
に示す様に、この情報が外部状態レジスタ280に記憶さ
れる。この状態レジスタは16ビット幅のレジスタであ
り、種々の状態ビットを記憶していて、これらの状態ビ
ットは、別々のI/Oポートを介してACS12によってアクセ
ス可能であって、ACS12にあるI/Oインターフェース166
に供給される。その時、ACS12が両方のVAGに対してリセ
ット・コードを送り、これによって、そのモードで動作
しているVAGの強制I/O動作モードが終了する。次に、IN
ITコードがRESETコードに続き、この為、両方のVAGをア
レー・プロセッサと同期した状態に戻すことが出来、こ
の為、両方のVAGが再び同じプログラムを実行する。交
代的な強制I/Oマイクロ命令がこの後VAGに伝達され、こ
れによってVAG52,54の内の他方が、前はフォアグラウン
ドで実行していたのが、強制I/Oモードに入る。この
後、このVAGはI/O装置98からデータを受取り、前に強制
I/OモードにあったVAGがデータを処理する。これは、2
つのVAG52,54がフォアグラウンド及びバックグラウンド
・タスクの間で往ったり来りの「ピンポン」動作を実質
的にすることになる。VAGをこの様に構成することによ
り、データの処理及びデータの収集を同時に行なうこと
が出来る。それらが同じ制御バスを共有するから、2つ
のVAGがACSには1個の装置の様に見える。ACS12は、状
態レジスタ280を監視して、データ・ブロックが有効に
データ・メモリに転送されたと云う表示を受取った時、
制御バスのその部分に関連するVAGを再び初期設定しさ
えすればよい。
に対するデータ・ブロックの転送が完了した時、第2図
に示す様に、この情報が外部状態レジスタ280に記憶さ
れる。この状態レジスタは16ビット幅のレジスタであ
り、種々の状態ビットを記憶していて、これらの状態ビ
ットは、別々のI/Oポートを介してACS12によってアクセ
ス可能であって、ACS12にあるI/Oインターフェース166
に供給される。その時、ACS12が両方のVAGに対してリセ
ット・コードを送り、これによって、そのモードで動作
しているVAGの強制I/O動作モードが終了する。次に、IN
ITコードがRESETコードに続き、この為、両方のVAGをア
レー・プロセッサと同期した状態に戻すことが出来、こ
の為、両方のVAGが再び同じプログラムを実行する。交
代的な強制I/Oマイクロ命令がこの後VAGに伝達され、こ
れによってVAG52,54の内の他方が、前はフォアグラウン
ドで実行していたのが、強制I/Oモードに入る。この
後、このVAGはI/O装置98からデータを受取り、前に強制
I/OモードにあったVAGがデータを処理する。これは、2
つのVAG52,54がフォアグラウンド及びバックグラウンド
・タスクの間で往ったり来りの「ピンポン」動作を実質
的にすることになる。VAGをこの様に構成することによ
り、データの処理及びデータの収集を同時に行なうこと
が出来る。それらが同じ制御バスを共有するから、2つ
のVAGがACSには1個の装置の様に見える。ACS12は、状
態レジスタ280を監視して、データ・ブロックが有効に
データ・メモリに転送されたと云う表示を受取った時、
制御バスのその部分に関連するVAGを再び初期設定しさ
えすればよい。
MPS22はデータ部分22′及び制御部分22″で構成され
る。メモリ76のバス78及びメモリ80のバス82からのデー
タが、データ部分22′のポートM1及びM2に入力される。
VAG52のアドレス及び書込み信号がバス282を介して制御
部分22″のM1入力に入力され、VAG54から出力される書
込み信号及びアドレスがバス284を介して制御部分22″
のM2入力に入力される。制御部分22′からバス286を介
して外部I/Oバス98にアドレス及び書込み信号が出力さ
れる。更にMPS22は、各々のVAG52,54からの付能信号と
優先順位信号の両方を必要とする。VAG52が優先順位信
号PPS1及び付能信号MEN1を転送論理回路288から発生
し、VAG54が優先順位信号PPS2及び付能信号MEN2を転送
論理回路290で発生する。転送論理回路288,290が、制御
バス18からの信号の他に、VAGからのチップ選択及び書
込み信号と、外部I/O装置からのI/Oチップ選択信号とを
利用する。
る。メモリ76のバス78及びメモリ80のバス82からのデー
タが、データ部分22′のポートM1及びM2に入力される。
VAG52のアドレス及び書込み信号がバス282を介して制御
部分22″のM1入力に入力され、VAG54から出力される書
込み信号及びアドレスがバス284を介して制御部分22″
のM2入力に入力される。制御部分22′からバス286を介
して外部I/Oバス98にアドレス及び書込み信号が出力さ
れる。更にMPS22は、各々のVAG52,54からの付能信号と
優先順位信号の両方を必要とする。VAG52が優先順位信
号PPS1及び付能信号MEN1を転送論理回路288から発生
し、VAG54が優先順位信号PPS2及び付能信号MEN2を転送
論理回路290で発生する。転送論理回路288,290が、制御
バス18からの信号の他に、VAGからのチップ選択及び書
込み信号と、外部I/O装置からのI/Oチップ選択信号とを
利用する。
外部I/O装置98がデータ部分22′からI/Oバス292を介
してデータを受取り、種々のハンドシェイク信号を発生
する。ハンドシェイク信号は、割込み信号INT、用意完
了信号RDY、確認信号ACK及びI/Oチップ選択信号IOCSで
ある。これらの信号が線100を介して両方のVAG52,54に
入力される。更に、I/O装置がI/Oバス292を介して状態
レジスタに供給し、これはMPS22を介して外部状態レジ
スタ280に送られる。
してデータを受取り、種々のハンドシェイク信号を発生
する。ハンドシェイク信号は、割込み信号INT、用意完
了信号RDY、確認信号ACK及びI/Oチップ選択信号IOCSで
ある。これらの信号が線100を介して両方のVAG52,54に
入力される。更に、I/O装置がI/Oバス292を介して状態
レジスタに供給し、これはMPS22を介して外部状態レジ
スタ280に送られる。
MPS制御部分22″及びMPSデータ部分22′の両方が同じ
形式のデータを持っている。制御部分22″は、正しい制
御進行を選択してI/O装置98に送る為に使われる。バス
の衝突を避ける為に、一度に1組の制御出力だけを付能
すべきである。これがマイクロ命令の実行によって制御
される。VAG52,54が「ピンポン」動作をする時、MPS22
は、正しいメモリ・ポートがI/Oポートに接続される様
に、ACS12によって再構成しなければならない。転送論
理回路288,290がMPS22の優先順位及び付能入力を制御し
て、I/O転送動作の間、両方向のデータ転送が起り得る
様にする。MPS22の接続レジスタ・ファイル250の行1乃
至5がI/Oからメモリへの接続を持ち、行6がメモリか
らI/Oへの接続を持っている。行6の接続が優先順位を
持ち、優先順位入力が作動された時には、他の5行を抑
えて有効になる。これがVAGチップ選択及び書込み信号
によって制御される。関連したVAG152又は154がI/O動作
モードにあることを知らせる為に、転送論理回路288,29
0にはフリップフロップも入っている。このフリップフ
ロップは外部I/O装置98からの特別チップ選択順序によ
ってセットしなければならない。この為には、I/O動作
の始めに、1から0へ並びに0から1への変化を必要と
する。この時、転送論理回路288,290にあるフリップフ
ロップは、I/O動作が完了した時にリセットされる。従
って、VAG52又は54がその基本動作モードにある時に
は、何時でもメモリの出力が付能され、I/O動作の間にI
/Oデータ転送が行なわれる時にだけ、付能される。他の
場合、メモリの出力が不作動にされ、それらが関連した
メモリとのVAGのデータ操作とぶつからない様にする。
形式のデータを持っている。制御部分22″は、正しい制
御進行を選択してI/O装置98に送る為に使われる。バス
の衝突を避ける為に、一度に1組の制御出力だけを付能
すべきである。これがマイクロ命令の実行によって制御
される。VAG52,54が「ピンポン」動作をする時、MPS22
は、正しいメモリ・ポートがI/Oポートに接続される様
に、ACS12によって再構成しなければならない。転送論
理回路288,290がMPS22の優先順位及び付能入力を制御し
て、I/O転送動作の間、両方向のデータ転送が起り得る
様にする。MPS22の接続レジスタ・ファイル250の行1乃
至5がI/Oからメモリへの接続を持ち、行6がメモリか
らI/Oへの接続を持っている。行6の接続が優先順位を
持ち、優先順位入力が作動された時には、他の5行を抑
えて有効になる。これがVAGチップ選択及び書込み信号
によって制御される。関連したVAG152又は154がI/O動作
モードにあることを知らせる為に、転送論理回路288,29
0にはフリップフロップも入っている。このフリップフ
ロップは外部I/O装置98からの特別チップ選択順序によ
ってセットしなければならない。この為には、I/O動作
の始めに、1から0へ並びに0から1への変化を必要と
する。この時、転送論理回路288,290にあるフリップフ
ロップは、I/O動作が完了した時にリセットされる。従
って、VAG52又は54がその基本動作モードにある時に
は、何時でもメモリの出力が付能され、I/O動作の間にI
/Oデータ転送が行なわれる時にだけ、付能される。他の
場合、メモリの出力が不作動にされ、それらが関連した
メモリとのVAGのデータ操作とぶつからない様にする。
第9図には、転送論理回路288,290の簡略ブロック図
が示されている。制御バスがD形フリップフロップ294
に3ビットを入力し、このフリップフロップがデコード
論理回路296に入力する。デコード論理回路の出力がJK
形フリップフロップ298のK入力に入力され、リセット
信号がクロック入力に入力される。J入力はアースに結
合される。I/Oチップ選択信号がフリップフロップ298の
セット入力に入力され、反転Q出力がオア・ゲート300
の一方の入力に入力される。オア・ゲード300の出力が
付能信号を構成する。I/Oチップ選択信号はナンド・ゲ
ート32の一方の入力にも入力され、このゲートの出力が
オア・ゲート300の他方の入力に入力される。ナンド・
ゲート302の他方の入力がACK信号に接続される。優先順
位信号がオア・ゲート304によって選択され、このゲー
トの入力が関連したVAG52又は54からのチップ選択及び
書込み信号に接続されている。
が示されている。制御バスがD形フリップフロップ294
に3ビットを入力し、このフリップフロップがデコード
論理回路296に入力する。デコード論理回路の出力がJK
形フリップフロップ298のK入力に入力され、リセット
信号がクロック入力に入力される。J入力はアースに結
合される。I/Oチップ選択信号がフリップフロップ298の
セット入力に入力され、反転Q出力がオア・ゲート300
の一方の入力に入力される。オア・ゲード300の出力が
付能信号を構成する。I/Oチップ選択信号はナンド・ゲ
ート32の一方の入力にも入力され、このゲートの出力が
オア・ゲート300の他方の入力に入力される。ナンド・
ゲート302の他方の入力がACK信号に接続される。優先順
位信号がオア・ゲート304によって選択され、このゲー
トの入力が関連したVAG52又は54からのチップ選択及び
書込み信号に接続されている。
サイクル・スチール 夫々VAG2a及びVAG2bと記されたVAG106,108と、VAG4a
及びVAG4bと記されたVAG66,68が、サイクル・スチール
・モードで構成される。サイクル・スチール・モード
は、処理サイクルの合間に、データを関連したメモリに
転送することが出来る様にする。これは、NOOP指令が夫
々のVAGに送られ、関連したプログラム・メモリに対し
て何のアドレスも発生されないことを示す時間に対応す
る。サイクル・スチール・モードでは、2つのVAGが必
要であり、一方がフォアグラウンド・タスクを遂行し、
もう1つが関連したメモリにデータを記憶するバックグ
ラウンド・タスクを遂行する。従って、両者が同じメモ
リ・アドレス・バスを共有する。一方のVAGはサイクル
・スチール・モードだけで動作し、他方が処理モードで
動作する。両方のVAGがNOOPコードを記録した時、サイ
クル・スチール・モードにある一方が作用し、その内部
I/Oプログラムを実行して、メモリ制御アドレスを発生
する。他方のVAGは不作動になり、そのメモリ・バスの
出力を3状態にして、この為バスの衝突は起り得ない。
NOOP以外のコードが記録された時、処理動作モードにあ
るVAGが作用し、他方は不作動になる。この為、一度に
1つのVAGだけが作用することが出来、メモリ・バスと
インターフェース接続することが出来る。
及びVAG4bと記されたVAG66,68が、サイクル・スチール
・モードで構成される。サイクル・スチール・モード
は、処理サイクルの合間に、データを関連したメモリに
転送することが出来る様にする。これは、NOOP指令が夫
々のVAGに送られ、関連したプログラム・メモリに対し
て何のアドレスも発生されないことを示す時間に対応す
る。サイクル・スチール・モードでは、2つのVAGが必
要であり、一方がフォアグラウンド・タスクを遂行し、
もう1つが関連したメモリにデータを記憶するバックグ
ラウンド・タスクを遂行する。従って、両者が同じメモ
リ・アドレス・バスを共有する。一方のVAGはサイクル
・スチール・モードだけで動作し、他方が処理モードで
動作する。両方のVAGがNOOPコードを記録した時、サイ
クル・スチール・モードにある一方が作用し、その内部
I/Oプログラムを実行して、メモリ制御アドレスを発生
する。他方のVAGは不作動になり、そのメモリ・バスの
出力を3状態にして、この為バスの衝突は起り得ない。
NOOP以外のコードが記録された時、処理動作モードにあ
るVAGが作用し、他方は不作動になる。この為、一度に
1つのVAGだけが作用することが出来、メモリ・バスと
インターフェース接続することが出来る。
第10図にVAG106,108、プログラム・メモリ110及びバ
ッファ制御装置112の拡大ブロック図が示されており、
これまでと同様な部分には同じ参照数字の用いている。
各々のVAGがIOID出力ピンを持ち、これが夫々のVAGのI/
O制御装置218とインターフェース接続される。VAG108の
IOIDピンが高論理レベルに接続され、VAG106のIOIDピン
がアースに接続される。これによって、VAG108がサイク
ル・スチール用VAGとして同定される。各々のVAG106,10
8のアドレス出力がアドレス・バス116に接続される。ア
ドレス・バス116がプログラム・メモリ110のアドレス入
力とバッファ制御装置112のアドレス入力との両方に接
続される。バッファ制御回路112は詳しく説明しない
が、VAG106,108によってアドレスすることが出来る内部
レジスタがある。VAG106,108のパラメータ・バスの入力
がデータ・バス114に接続され、これはプログラム・メ
モリ110及びバッファ制御回路112が両方のデータ・ポー
トにも接続されている。データ・バス114はシステム・
バス113からプログラム・メモリ110にデータを転送する
ことが出来る様にすると共に、パラメータ・データをMP
S22からVAG106,108へ転送することが出来る様にし、更
にアレー・プロセッサ内の他のメモリからプログラム・
メモリ110にもデータを転送することが出来る様にす
る。このデータはバッファ制御回路112を介してシステ
ムへ転送することが出来る。
ッファ制御装置112の拡大ブロック図が示されており、
これまでと同様な部分には同じ参照数字の用いている。
各々のVAGがIOID出力ピンを持ち、これが夫々のVAGのI/
O制御装置218とインターフェース接続される。VAG108の
IOIDピンが高論理レベルに接続され、VAG106のIOIDピン
がアースに接続される。これによって、VAG108がサイク
ル・スチール用VAGとして同定される。各々のVAG106,10
8のアドレス出力がアドレス・バス116に接続される。ア
ドレス・バス116がプログラム・メモリ110のアドレス入
力とバッファ制御装置112のアドレス入力との両方に接
続される。バッファ制御回路112は詳しく説明しない
が、VAG106,108によってアドレスすることが出来る内部
レジスタがある。VAG106,108のパラメータ・バスの入力
がデータ・バス114に接続され、これはプログラム・メ
モリ110及びバッファ制御回路112が両方のデータ・ポー
トにも接続されている。データ・バス114はシステム・
バス113からプログラム・メモリ110にデータを転送する
ことが出来る様にすると共に、パラメータ・データをMP
S22からVAG106,108へ転送することが出来る様にし、更
にアレー・プロセッサ内の他のメモリからプログラム・
メモリ110にもデータを転送することが出来る様にす
る。このデータはバッファ制御回路112を介してシステ
ムへ転送することが出来る。
VAG106,108を動作モード及びサイクル・スチール・モ
ードに初期設定する時、ACS12は2回のパスが必要であ
る。ACSが最初にINIT指令を両方のVAG106,108に送っ
て、それらを開始アドレスに初期設定し、両方のVAG10
6,108が基本動作モードで電源がオンになる。開始アド
レスがMPS22及びデータ・バス114を介してそのパラメー
タ・バス入力に転送される。最初のパスの間、VAGを初
期設定した開始アドレスにより、VAG108がサイクル・ス
チール・モードに入る。これはIOIDピンが高になってい
るからである。一旦VAG108がサイクル・スチール・モー
ドに入ると、これはACS12からのHALT及びRESET指令にだ
け応答する。その後、2番目のINIT指令が適切なパラメ
ータ情報と共にバス114を介してVAG106に送られ、VAG10
6を特定の動作ルーチンに初期設定する。一旦VAG108が
サイクル・スチール・モードになると、VAG106は、プロ
グラム・メモリ110を操作して、アレー・プロセッサで
使う為のパラメータをそれから取出し、又はそれに対し
てデータを入力する様に制御することが出来る。前に述
べた様に、指令パラメータ・リスト“CPL"がプログラム
・メモリ110に記憶されている。ACS12がこういうリスト
をプログラム・メモリ110から取出して、実行すべきタ
スクを決定する。従って、プログラム・メモリ110は、
待ち行列でCPLを記憶する様に操作し得る。この待ち行
列を「タスク待ち行列」と定義する。ACS12がこの待ち
行列を順次進んで、どの特定のタスクを作用させるかを
決定する。こういうタスクは、速いフーリエ変換(FF
T)に従ってデータを処理することや、システム・バス1
13を介してデータ・プロセッサが取出す為に、メモリに
データをロードすることに及ぶことが出来る。
ードに初期設定する時、ACS12は2回のパスが必要であ
る。ACSが最初にINIT指令を両方のVAG106,108に送っ
て、それらを開始アドレスに初期設定し、両方のVAG10
6,108が基本動作モードで電源がオンになる。開始アド
レスがMPS22及びデータ・バス114を介してそのパラメー
タ・バス入力に転送される。最初のパスの間、VAGを初
期設定した開始アドレスにより、VAG108がサイクル・ス
チール・モードに入る。これはIOIDピンが高になってい
るからである。一旦VAG108がサイクル・スチール・モー
ドに入ると、これはACS12からのHALT及びRESET指令にだ
け応答する。その後、2番目のINIT指令が適切なパラメ
ータ情報と共にバス114を介してVAG106に送られ、VAG10
6を特定の動作ルーチンに初期設定する。一旦VAG108が
サイクル・スチール・モードになると、VAG106は、プロ
グラム・メモリ110を操作して、アレー・プロセッサで
使う為のパラメータをそれから取出し、又はそれに対し
てデータを入力する様に制御することが出来る。前に述
べた様に、指令パラメータ・リスト“CPL"がプログラム
・メモリ110に記憶されている。ACS12がこういうリスト
をプログラム・メモリ110から取出して、実行すべきタ
スクを決定する。従って、プログラム・メモリ110は、
待ち行列でCPLを記憶する様に操作し得る。この待ち行
列を「タスク待ち行列」と定義する。ACS12がこの待ち
行列を順次進んで、どの特定のタスクを作用させるかを
決定する。こういうタスクは、速いフーリエ変換(FF
T)に従ってデータを処理することや、システム・バス1
13を介してデータ・プロセッサが取出す為に、メモリに
データをロードすることに及ぶことが出来る。
データはバッファ制御回路12から受取ってプログラム
・メモリ110に記憶したり、或いはプログラム・メモリ1
10から取出してバッファ制御回路112に送ることが出来
る。バッファ制御回路112にあるデータはその外部に記
憶することが出来るし、或いは先入れ先出しレジスタ
(FIFO)に内部で記憶することが出来る。VAG106にNOOP
指令が送られた時、VAG108を作動して、バッファ制御回
路112と相互作用し、その中にある内部バッファからプ
ログラム・メモリ110内の特定のアドレスにデータを転
送することが出来る。バッファ制御回路とのインターフ
ェース接続の為、割込み線、DMA要求線及びDMA確認線11
5がその間にインターフェース接続され、直接メモリ・
アクセス(DMA)制御が出来る様にする。更に、VAG108
が付能信号MENをMPS22に対して出力し、バスの衝突を避
ける為に、MPS22からデータ線114を介してのデータ転送
を禁止する。バッファ制御回路112に対するチップ選択
を行なう為、デコード回路308の入力がIOCS出力信号及
びアドレス・バス116の最上位ビットに接続される。そ
の出力がバッファ制御回路112のチップ選択入力に接続
される。アドレス・バスがバッファ制御回路112に入力
され、その中の内部レジスタの内、データを記憶すべき
1つを選択する。然し、バッファ制御回路112は単にデ
ータ・プロセッサ10とアレー・プロセッサの間でデータ
のインターフェースをする制御回路として作用し、従っ
て任意の形式のバッファ制御回路を用いることが出来
る。
・メモリ110に記憶したり、或いはプログラム・メモリ1
10から取出してバッファ制御回路112に送ることが出来
る。バッファ制御回路112にあるデータはその外部に記
憶することが出来るし、或いは先入れ先出しレジスタ
(FIFO)に内部で記憶することが出来る。VAG106にNOOP
指令が送られた時、VAG108を作動して、バッファ制御回
路112と相互作用し、その中にある内部バッファからプ
ログラム・メモリ110内の特定のアドレスにデータを転
送することが出来る。バッファ制御回路とのインターフ
ェース接続の為、割込み線、DMA要求線及びDMA確認線11
5がその間にインターフェース接続され、直接メモリ・
アクセス(DMA)制御が出来る様にする。更に、VAG108
が付能信号MENをMPS22に対して出力し、バスの衝突を避
ける為に、MPS22からデータ線114を介してのデータ転送
を禁止する。バッファ制御回路112に対するチップ選択
を行なう為、デコード回路308の入力がIOCS出力信号及
びアドレス・バス116の最上位ビットに接続される。そ
の出力がバッファ制御回路112のチップ選択入力に接続
される。アドレス・バスがバッファ制御回路112に入力
され、その中の内部レジスタの内、データを記憶すべき
1つを選択する。然し、バッファ制御回路112は単にデ
ータ・プロセッサ10とアレー・プロセッサの間でデータ
のインターフェースをする制御回路として作用し、従っ
て任意の形式のバッファ制御回路を用いることが出来
る。
VAG66,68はVAG106,108と同様に動作する。VAG68がVAG
66に対するバックグラウンドで動作し、NOOPコードがVA
G66に送られた時、データ・メモリ88から補助表示装置9
2にデータをロードする様に作用し得る。通常の動作
中、VAG66が、補助表示装置90に使う為に、MPS22からデ
ータ・メモリ88にデータをロードする様に作用し得る。
66に対するバックグラウンドで動作し、NOOPコードがVA
G66に送られた時、データ・メモリ88から補助表示装置9
2にデータをロードする様に作用し得る。通常の動作
中、VAG66が、補助表示装置90に使う為に、MPS22からデ
ータ・メモリ88にデータをロードする様に作用し得る。
要約すれば、マスタ・プロセッサ及び複数個のスレー
ブ・プロセッサを利用するアレー・プロセッサを提供し
た。マスタ・プロセッサは同期的に実行されるある順序
の並列のインターリーブ形命令にスレーブ・プロセッサ
を順次進める様に作用し得る。スレーブ・プロセッサ
は、その中にあるデータを操作する為に、関連するメモ
リに対するアドレスを発生する様に作用し得る。メモリ
のデータ出力が交点スイッチを介してデータ・プロセッ
サにインターフェース接続され、こうしてデータを処理
する。マスタ・プロセッサが各々のスレーブ・プロセッ
サに指令を送り、スレーブ・プロセッサに於ける内部ル
ーチンを開始して、データ・メモリに対するアドレスを
発生させる。スレーブ・プロセッサの内部ルーチンの各
々の工程は、マスタ・プロセッサによって順次進める。
ブ・プロセッサを利用するアレー・プロセッサを提供し
た。マスタ・プロセッサは同期的に実行されるある順序
の並列のインターリーブ形命令にスレーブ・プロセッサ
を順次進める様に作用し得る。スレーブ・プロセッサ
は、その中にあるデータを操作する為に、関連するメモ
リに対するアドレスを発生する様に作用し得る。メモリ
のデータ出力が交点スイッチを介してデータ・プロセッ
サにインターフェース接続され、こうしてデータを処理
する。マスタ・プロセッサが各々のスレーブ・プロセッ
サに指令を送り、スレーブ・プロセッサに於ける内部ル
ーチンを開始して、データ・メモリに対するアドレスを
発生させる。スレーブ・プロセッサの内部ルーチンの各
々の工程は、マスタ・プロセッサによって順次進める。
好ましい実施例を詳しく説明したが、特許請求の範囲
によって定められたこの発明の範囲内で、種々の変更を
加えることが出来ることを承知されたい。
によって定められたこの発明の範囲内で、種々の変更を
加えることが出来ることを承知されたい。
第1図は一般化したプログラム可能なアレー・プロセッ
サの簡略ブロック図、第2図はアレー・プロセッサの更
に詳しいブロック図、第3図はアレー制御装置及びシー
ケンサの簡略ブロック図、第4図はベクトル・アドレス
発生器の簡略ブロック図、第5図はデータ処理装置とし
て利用されるベクトル算術及び論理装置の簡略ブロック
図、第6図は多重通路スイッチの回路図、第7図はアレ
ー・プロセッサの1例のブロック図、第8図は強制I/O
動作を用いるアレー・プロセッサの一部分の簡略ブロッ
ク図、第9図は強制I/O動作を行なわせる転送論理回路
の回路図、第10図はサイクル・スチールを用いるアレー
・プロセッサのタスク選択部分の簡略ブロック図であ
る。 12:アレー制御装置及びシーケンサ 18:制御バス 20a乃至20n:ベクトル・アドレス発生機(VAG) 22:多重ポートスケッチ(MPS) 24:スレーブ・データ・プロセッサ 250:接続レジスタ・ファイル
サの簡略ブロック図、第2図はアレー・プロセッサの更
に詳しいブロック図、第3図はアレー制御装置及びシー
ケンサの簡略ブロック図、第4図はベクトル・アドレス
発生器の簡略ブロック図、第5図はデータ処理装置とし
て利用されるベクトル算術及び論理装置の簡略ブロック
図、第6図は多重通路スイッチの回路図、第7図はアレ
ー・プロセッサの1例のブロック図、第8図は強制I/O
動作を用いるアレー・プロセッサの一部分の簡略ブロッ
ク図、第9図は強制I/O動作を行なわせる転送論理回路
の回路図、第10図はサイクル・スチールを用いるアレー
・プロセッサのタスク選択部分の簡略ブロック図であ
る。 12:アレー制御装置及びシーケンサ 18:制御バス 20a乃至20n:ベクトル・アドレス発生機(VAG) 22:多重ポートスケッチ(MPS) 24:スレーブ・データ・プロセッサ 250:接続レジスタ・ファイル
Claims (1)
- 【請求項1】アレー制御装置に於ける命令の流れを制御
する順序指令を発生するデータ・プロセッサと、 前記アレー制御装置からこの順序指令を受信したことに
応答して、メモリ・アドレス及び制御信号を発生する複
数個のスレーブ・アドレス・プロセッサのそれぞれは、
同期的に且つ並列に動作して、内部命令を実行して前記
メモリ・アドレスを発生し、内部命令の実行並びに命令
の流れが前記アレー制御装置によって制御される前記ス
レーブ・アドレス・プロセッサと、 各スレーブ・アドレス・プロセッサに付設されていて、
付設された1つのスレーブ・アドレス・プロセッサから
前記メモリ・アドレス及び制御信号を受信することに応
答して、データを受取って記憶すると共にその中に記憶
されているデータを呼び出して出力するデータ・メモリ
と、 予定の論理機能に従って、データを受取ってその結果を
出力処理するスレーブ・データ・プロセッサと、 前記データ・メモリを前記スレーブ・データ・プロセッ
サと予定の相互接続パターンでインターフェース接続し
て、全てのスレーブ・アドレス・プロセッサによって実
行される命令の数を最小限にして、前記順序指令に従っ
て選ばれたデータ・メモリから出力されるデータを前記
スレーブ・データ・プロセッサに入力可能とすると共
に、該スレーブ・データ・プロセッサから出力されるデ
ータを選ばれた1つのデータ・メモリに記憶可能とする
スイッチ手段と、 前記データ・プロセッサによって発生された順序指令を
前記各スレーブ・アドレス・プロセッサにインターフェ
ース接続する制御バスと、 を含むアレー・プロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US80908485A | 1985-12-12 | 1985-12-12 | |
US809084 | 2001-03-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62217355A JPS62217355A (ja) | 1987-09-24 |
JP2510173B2 true JP2510173B2 (ja) | 1996-06-26 |
Family
ID=25200502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29571686A Expired - Lifetime JP2510173B2 (ja) | 1985-12-12 | 1986-12-11 | アレ−・プロセツサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2510173B2 (ja) |
-
1986
- 1986-12-11 JP JP29571686A patent/JP2510173B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS62217355A (ja) | 1987-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2519226B2 (ja) | プロセツサ | |
US5036453A (en) | Master/slave sequencing processor | |
US5872987A (en) | Massively parallel computer including auxiliary vector processor | |
US5664214A (en) | Parallel processing computer containing a multiple instruction stream processing architecture | |
CA1176757A (en) | Data processing system for parallel processings | |
US5329630A (en) | System and method using double-buffer preview mode | |
US5056015A (en) | Architectures for serial or parallel loading of writable control store | |
JP2647315B2 (ja) | 動的に複数モードで並列処理するアレイ | |
EP0340900A2 (en) | Multiprocessor timing control | |
EP1840742A2 (en) | Method and apparatus for operating a computer processor array | |
GB2217058A (en) | Processing integral transform operations | |
EP0334627A2 (en) | Multiprocessor architecture | |
EP0295646A2 (en) | Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus | |
US5586289A (en) | Method and apparatus for accessing local storage within a parallel processing computer | |
JP2003005957A (ja) | データ処理装置およびその制御方法 | |
JP2510173B2 (ja) | アレ−・プロセツサ | |
US4975837A (en) | Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets | |
US20100325389A1 (en) | Microprocessor communications system | |
EP0334621A2 (en) | System with improved instruction execution | |
GB2215883A (en) | Data processing system | |
GB2217064A (en) | Interfacing asynchronous processors | |
JPS63316133A (ja) | 演算処理装置 | |
EP0334624A2 (en) | Microcoded computer system | |
JPS58114250A (ja) | 共有マイクロプロセツサ | |
GB2217059A (en) | Multiprocessor system |