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
Application number
JP61295715A
Other languages
English (en)
Other versions
JP2519226B2 (ja
Inventor
カール レンナー
ジヨン パツク シヤンクリン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPS62217354A publication Critical patent/JPS62217354A/ja
Application granted granted Critical
Publication of JP2519226B2 publication Critical patent/JP2519226B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One 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ハードウエア及びソフト
ウェアの両方のインター
【コックを持っている。この形
式は、サテライト処理(即ら、特殊協働ブ【]セセラを
使うこと)により、又はかなりの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
【ねれ
る時にだけ、付能される。伯の場合、メモリの出力が不
作動にされ、それらが関連したメモリとの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日

Claims (1)

    【特許請求の範囲】
  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モードにされた一方のスレーブ・プロセッサに付設
    された適当な一方を接続する様に再構成されるプロセッ
    サ。
JP61295715A 1985-12-12 1986-12-11 プロセツサ Expired - Lifetime JP2519226B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 命令フロ−コンピュ−タ