JPH0619762B2 - ネットワーク・システムのためのノード回路 - Google Patents
ネットワーク・システムのためのノード回路Info
- Publication number
- JPH0619762B2 JPH0619762B2 JP1234498A JP23449889A JPH0619762B2 JP H0619762 B2 JPH0619762 B2 JP H0619762B2 JP 1234498 A JP1234498 A JP 1234498A JP 23449889 A JP23449889 A JP 23449889A JP H0619762 B2 JPH0619762 B2 JP H0619762B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- processor
- network
- processors
- data
- 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
- 230000004044 response Effects 0.000 claims description 105
- 230000005540 biological transmission Effects 0.000 claims description 58
- 238000011144 upstream manufacturing Methods 0.000 claims description 22
- 230000002457 bidirectional effect Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 description 81
- 238000012546 transfer Methods 0.000 description 75
- 238000000034 method Methods 0.000 description 59
- 238000012545 processing Methods 0.000 description 54
- 239000000872 buffer Substances 0.000 description 49
- 238000003860 storage Methods 0.000 description 47
- 230000015654 memory Effects 0.000 description 45
- 238000004891 communication Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 34
- 238000007726 management method Methods 0.000 description 31
- 239000013598 vector Substances 0.000 description 24
- 230000002093 peripheral effect Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 15
- 238000012360 testing method Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 10
- 230000007704 transition Effects 0.000 description 10
- 241000886952 Sapria ram Species 0.000 description 9
- 238000009826 distribution Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 239000007853 buffer solution Substances 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 4
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- BCGWQEUPMDMJNV-UHFFFAOYSA-N imipramine Chemical compound C1CC2=CC=CC=C2N(CCCN(C)C)C2=CC=CC=C21 BCGWQEUPMDMJNV-UHFFFAOYSA-N 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008054 signal transmission Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 101710170230 Antimicrobial peptide 1 Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013479 data entry Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 125000000524 functional group Chemical group 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 1
- 241000274965 Cyrestis thyodamas Species 0.000 description 1
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 1
- 101100207516 Homo sapiens TRIM34 gene Proteins 0.000 description 1
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 102100029502 Tripartite motif-containing protein 34 Human genes 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 229910000078 germane Inorganic materials 0.000 description 1
- 230000005283 ground state Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000011031 large-scale manufacturing process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012015 optical character recognition Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Information Transfer Between Computers (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) ネットワーク・システムのためのノード回路に関するも
のである。
のである。
(従来の技術) 高い信頼性を備えた形式の電子計算機(エレクトロニッ
ク・コンピュータ)が出現して以来、この技術分野に従
事する者が考察を重ねてきたシステムに、複数のコンピ
ュータを使用するシステムであってそれらのコンピュー
タが相互に関連性を保ちつつ動作することによって、所
与の1つのタスクの全体が実行されるようにしたシステ
ムがある。そのようなマルチプロセッサ・システムのう
ちのあるシステムでは、1つの大型コンピュータが、そ
れ自身の優れた速度と容量とを利用してプログラムの複
雑な部分を実行すると共に、複雑さの程度の低いタスク
や緊急度の低いタスクについては、それを小型で速度の
遅い衛星プロセッサに委任し(割当て)、それによっ
て、この大型コンピュータの負担やこの大型コンピュー
タに対するリクエストの量が減少するようにしたものが
ある。この場合、大型コンピュータは、サブタスクの割
当てを行なうこと、小型プロセッサ(=上記衛星プロセ
ッサ)を常に作動状態に保つこと、それらの小型プロセ
ッサの使用可能性と動作効率とを確認すること、それに
統一された結果が得られるようにすることを担当しなけ
ればならない。
ク・コンピュータ)が出現して以来、この技術分野に従
事する者が考察を重ねてきたシステムに、複数のコンピ
ュータを使用するシステムであってそれらのコンピュー
タが相互に関連性を保ちつつ動作することによって、所
与の1つのタスクの全体が実行されるようにしたシステ
ムがある。そのようなマルチプロセッサ・システムのう
ちのあるシステムでは、1つの大型コンピュータが、そ
れ自身の優れた速度と容量とを利用してプログラムの複
雑な部分を実行すると共に、複雑さの程度の低いタスク
や緊急度の低いタスクについては、それを小型で速度の
遅い衛星プロセッサに委任し(割当て)、それによっ
て、この大型コンピュータの負担やこの大型コンピュー
タに対するリクエストの量が減少するようにしたものが
ある。この場合、大型コンピュータは、サブタスクの割
当てを行なうこと、小型プロセッサ(=上記衛星プロセ
ッサ)を常に作動状態に保つこと、それらの小型プロセ
ッサの使用可能性と動作効率とを確認すること、それに
統一された結果が得られるようにすることを担当しなけ
ればならない。
以上とは別の方式を採用している別種のマルチプロセッ
サ・システムのなかには、多数のプロセッサと1つの共
通バス・システムとを使用するシステムであってそれら
の複数のプロセッサには本質的に互いに等しい機能が付
与されているシステムがある。この種のシステムにおい
ては、しばしば、他の部分からは独立した制御用コンピ
ュータないし制御システムを用いて、所与のサブタスク
に関する個々のプロセッサの使用可能性並びに処理能力
を監視することと、プロセッサ間のタスク及び情報の転
送経路を制御することとが行なわれている。また、プロ
セッサそれ自体が、他のプロセッサのステータス並びに
利用可能性の監視と、メッセージ及びプログラムの転送
経路の決定とを行なえるように、夫々のプロセッサの構
成及び動作が設定されているものもある。以上の種々の
システムに共通する重大な欠点は、オーバーヘッド機能
及び保守機能を実行するために、ソフトウェアが必要と
され且つ動作時間が消費されるということにあり、そし
てそれによって、本来の目的の実行に影響が及ぶことに
なる。転送経路の決定及び監視に関する仕事量が、それ
らの仕事に関与するプロセッサの総数の2次の関数で増
加して、ついにはオーバーヘッド機能のために不適当な
迄の努力が費やされるようになることもある。
サ・システムのなかには、多数のプロセッサと1つの共
通バス・システムとを使用するシステムであってそれら
の複数のプロセッサには本質的に互いに等しい機能が付
与されているシステムがある。この種のシステムにおい
ては、しばしば、他の部分からは独立した制御用コンピ
ュータないし制御システムを用いて、所与のサブタスク
に関する個々のプロセッサの使用可能性並びに処理能力
を監視することと、プロセッサ間のタスク及び情報の転
送経路を制御することとが行なわれている。また、プロ
セッサそれ自体が、他のプロセッサのステータス並びに
利用可能性の監視と、メッセージ及びプログラムの転送
経路の決定とを行なえるように、夫々のプロセッサの構
成及び動作が設定されているものもある。以上の種々の
システムに共通する重大な欠点は、オーバーヘッド機能
及び保守機能を実行するために、ソフトウェアが必要と
され且つ動作時間が消費されるということにあり、そし
てそれによって、本来の目的の実行に影響が及ぶことに
なる。転送経路の決定及び監視に関する仕事量が、それ
らの仕事に関与するプロセッサの総数の2次の関数で増
加して、ついにはオーバーヘッド機能のために不適当な
迄の努力が費やされるようになることもある。
以下の数件の特許公報は従来技術の例を示すものであ
る。
る。
初期のバイナック(“Binac”:2個の互いにパラ
レルに接続されたプロセッサを用いる)や、それに類似
した種々のシステムが使用されていた頃から既に、マル
チプロセッサ方式は冗長性を備えた実行能力を提供する
ものであって、そのため動作するシステムの全体の信頼
性を著しく向上させ得るものであるということが認識さ
れていた。実際にマルチプロセッサ・システムを構成す
るということに対しては、これまでのところ、かなりの
制約が存在しているが、その制約は主としてソフトウェ
アが膨大なものとなってしまうことに起因する制約であ
る。にもかかわらず、例えばリアルタイムの用途等のよ
うに、システムのダウンタイム(運転休止時間)が容認
され得ないような種々の状況においては、マルチプロセ
ッサ動作が特に有利であるため、これまでに様々なマル
チプロセッサ・システムが開発されてきたが、ただし、
それらのシステムは動作自体は良好であるが、オーバー
ヘッドのためにソフトウェアと動作時間のかなりの分量
を割かなければならないものであった。そのような従来
のシステムは、米国特許公報第3,445,822 号、同第3,56
6,363 号、及び同第3,593,300 号にその具体例が示され
ている。これらの特許公報はいずれも、複数のコンピュ
ータがそれらの間で共用される1つのメイン・メモリを
アクセスするようにしたシステムに関するものであり、
このシステムにおいては更に、タスクを個々のプロセッ
サに好適に割当てるために、処理能力と処理要求量とが
比較されるようになっている。
レルに接続されたプロセッサを用いる)や、それに類似
した種々のシステムが使用されていた頃から既に、マル
チプロセッサ方式は冗長性を備えた実行能力を提供する
ものであって、そのため動作するシステムの全体の信頼
性を著しく向上させ得るものであるということが認識さ
れていた。実際にマルチプロセッサ・システムを構成す
るということに対しては、これまでのところ、かなりの
制約が存在しているが、その制約は主としてソフトウェ
アが膨大なものとなってしまうことに起因する制約であ
る。にもかかわらず、例えばリアルタイムの用途等のよ
うに、システムのダウンタイム(運転休止時間)が容認
され得ないような種々の状況においては、マルチプロセ
ッサ動作が特に有利であるため、これまでに様々なマル
チプロセッサ・システムが開発されてきたが、ただし、
それらのシステムは動作自体は良好であるが、オーバー
ヘッドのためにソフトウェアと動作時間のかなりの分量
を割かなければならないものであった。そのような従来
のシステムは、米国特許公報第3,445,822 号、同第3,56
6,363 号、及び同第3,593,300 号にその具体例が示され
ている。これらの特許公報はいずれも、複数のコンピュ
ータがそれらの間で共用される1つのメイン・メモリを
アクセスするようにしたシステムに関するものであり、
このシステムにおいては更に、タスクを個々のプロセッ
サに好適に割当てるために、処理能力と処理要求量とが
比較されるようになっている。
従来技術の更に別の例としては、米国特許公報第4,099,
233 号がある。この公報のシステムでは、複数のプロセ
ッサが1つのバスを共用しており、また、バッファ・レ
ジスタを内蔵している制御ユニットを用いて送信側ミニ
プロセッサと受信側ミニプロセッサとの間のデータ・ブ
ロックの転送が行なわれる。このシステムのコンセプト
は、欧州において分散型の郵便物分類システムに利用さ
れている。
233 号がある。この公報のシステムでは、複数のプロセ
ッサが1つのバスを共用しており、また、バッファ・レ
ジスタを内蔵している制御ユニットを用いて送信側ミニ
プロセッサと受信側ミニプロセッサとの間のデータ・ブ
ロックの転送が行なわれる。このシステムのコンセプト
は、欧州において分散型の郵便物分類システムに利用さ
れている。
米国特許公報第4,228,496 号は、商業的に成功したマル
チプロセッサ・システムに関するものであり、このシス
テムでは、複数のプロセッサの間に設けられた複数のバ
スがバス・コントローラに接続されており、このバス・
コントローラが、データ送出状況の監視と、プロセッサ
間で行なわれる複数のデータ転送に対する優先順位の判
定を行なっている。また、各々のプロセッサは、複数の
周辺装置のうちのある1つの装置を制御するように接続
可能となっている。
チプロセッサ・システムに関するものであり、このシス
テムでは、複数のプロセッサの間に設けられた複数のバ
スがバス・コントローラに接続されており、このバス・
コントローラが、データ送出状況の監視と、プロセッサ
間で行なわれる複数のデータ転送に対する優先順位の判
定を行なっている。また、各々のプロセッサは、複数の
周辺装置のうちのある1つの装置を制御するように接続
可能となっている。
ゼロックス、ヒューレット・パッカード、及びインテル
によって共同で推進されている「イーサネット」システ
ム("Ethernet" system)(米国特許公報第4,063,220
号及び同第4,099,024 号)は、複数のプロセッサ並びに
周辺装置の間の相互通信の問題に対処するための、更に
別の方式を提示している。全てのユニット(=プロセッ
サや周辺装置等)はそれらのユニットの間で共用される
多重アクセス・ネットワークに接続されており、そして
それらのユニットは優先権を獲得すべく互いに競合する
ことになる。衝突検出は時刻優先方式で行なわれてお
り、そのために、大域的な処理能力を制御することと、
コーディネートすることと、明確に把握することとが、
容易でなくなっている。
によって共同で推進されている「イーサネット」システ
ム("Ethernet" system)(米国特許公報第4,063,220
号及び同第4,099,024 号)は、複数のプロセッサ並びに
周辺装置の間の相互通信の問題に対処するための、更に
別の方式を提示している。全てのユニット(=プロセッ
サや周辺装置等)はそれらのユニットの間で共用される
多重アクセス・ネットワークに接続されており、そして
それらのユニットは優先権を獲得すべく互いに競合する
ことになる。衝突検出は時刻優先方式で行なわれてお
り、そのために、大域的な処理能力を制御することと、
コーディネートすることと、明確に把握することとが、
容易でなくなっている。
以上に説明した種々のシステムをそれらの細部まで完全
に理解するためには、以上に言及した特許公報やその他
の関連参考文献を詳細に分析する必要がある。しかしな
がら、タスクの分担が行なわれる場合にはそれらのシス
テムはいずれも、データ転送に関する優先権の判定やプ
ロセッサの選択を行なうために膨大な量の相互通信と管
理制御とが必要とされるということだけは、簡単に概観
するだけでも理解されよう。システムを拡張して更に多
くのプロセッサを含むようにする場合にどのような問題
が発生するかは異なったシステムの夫々ごとに違ってく
るため一様ではないが、しかしながら以上のシステムは
いずれも、そのような拡張を行なえばシステム・ソフト
ウェアや応用プログラミング、ハードウェア、或いはそ
れら3つの全てが複雑化することになる。また、若干の
考察により理解されることであるが、1組ないし2組の
論理的に受動的なオーミック・バスが採用されているた
めに、それに固有の制約がマルチプロセッサ・システム
の規模と能力とに対して課せられている。相互通信をよ
り容易に行なえるようにするために採用可能な技法には
様々なものがあり、その一例としては、最近発行された
米国特許公報第4,240,143 号に示されているところの、
サブシステムを大域的資源にグループ分けするという技
法等があるが、しかしながら、非常に多くのプロセッサ
が用いられている場合には当然のことながら利用できる
トラフィックの量はその限界に達してしまい、また、遅
延時間が様々な値を取るということによって、克服し難
い問題が生じている。1個ないし複数個のプロセッサが
ロック・アウト状態ないしデッドロック状態になるとい
う状況が発生することもあり、そのような状況に対処す
るには、問題を解決するための更なる回路とソフトウェ
アとが必要とされる。以上から、プロセッサの個数を、
例えば1024個というような個数にまで大幅に拡張す
ることは、従来は実際的でなかったことが明らかであ
る。
に理解するためには、以上に言及した特許公報やその他
の関連参考文献を詳細に分析する必要がある。しかしな
がら、タスクの分担が行なわれる場合にはそれらのシス
テムはいずれも、データ転送に関する優先権の判定やプ
ロセッサの選択を行なうために膨大な量の相互通信と管
理制御とが必要とされるということだけは、簡単に概観
するだけでも理解されよう。システムを拡張して更に多
くのプロセッサを含むようにする場合にどのような問題
が発生するかは異なったシステムの夫々ごとに違ってく
るため一様ではないが、しかしながら以上のシステムは
いずれも、そのような拡張を行なえばシステム・ソフト
ウェアや応用プログラミング、ハードウェア、或いはそ
れら3つの全てが複雑化することになる。また、若干の
考察により理解されることであるが、1組ないし2組の
論理的に受動的なオーミック・バスが採用されているた
めに、それに固有の制約がマルチプロセッサ・システム
の規模と能力とに対して課せられている。相互通信をよ
り容易に行なえるようにするために採用可能な技法には
様々なものがあり、その一例としては、最近発行された
米国特許公報第4,240,143 号に示されているところの、
サブシステムを大域的資源にグループ分けするという技
法等があるが、しかしながら、非常に多くのプロセッサ
が用いられている場合には当然のことながら利用できる
トラフィックの量はその限界に達してしまい、また、遅
延時間が様々な値を取るということによって、克服し難
い問題が生じている。1個ないし複数個のプロセッサが
ロック・アウト状態ないしデッドロック状態になるとい
う状況が発生することもあり、そのような状況に対処す
るには、問題を解決するための更なる回路とソフトウェ
アとが必要とされる。以上から、プロセッサの個数を、
例えば1024個というような個数にまで大幅に拡張す
ることは、従来は実際的でなかったことが明らかであ
る。
多くの様々な応用用途において、以上に説明した既存の
諸技法の制約から逃れて、最新の技法を最大源に利用す
ることが望まれている。現在採用可能な技法のうちで最
も低コストの技法は、大量生産されているマイクロプロ
セッサと、大容量の回転ディスク型の記憶装置とを基礎
とした技法であり、そのような記憶装置の例としては、
密閉式ケースの内部においてヘッドとディスクとの間の
間隔を非常に小さいものとした、ウインチェスタ・テク
ノロジー製の装置等がある。マルチプロセッサ・システ
ムを拡張するに際しては、ソフトウェアが不適当な迄に
複雑化することなくシステムを拡張できることが要望さ
れており、更には、ソフトウェアがその拡張に伴って複
雑化することが全くないようにして拡張できることすら
要望されている。また更に、機能の全体を、限定された
ないしは反復して実行される複数の処理タスクへと動的
に細分できる分散型構造をもつような特徴を有する計算
機問題を処理できる能力が要望されている。略々全ての
データベース・マシンが、そのような問題分野に属して
おり、また、この問題分野には更に、ソート処理、パタ
ーンの認識及び相関算出処理、デジタル・フィルタリン
グ処理、大規模マトリクスの計算処理、物理的な系のシ
ュミレーション、等々のその他の典型的な問題例も含ま
れる。これらのいずれの処理が行なわれる状況において
も、個々に処理される複数のタスクを比較的簡明なもの
とし、しかもそれらのタスクを広範に分散することが要
求され、そのため、瞬間的タスク負荷が大きなものとな
る。そのような状況が、従来のマルチプロセッサ・シス
テムに非常な困難を伴なわせていたのであり、その理由
は、そのような状況はオーバーヘッドに費やされる時間
とオーバーヘッドのためのソフトウェアの量とを増大さ
せる傾向を有していると、並びに、システムを構成する
上で実際上の支障が生じてくることにある。例えば受動
的な共用バスが採用されている場合には、伝播速度並び
にデータ転送所要時間が、トランザクションを処理する
上での可能処理速度に対する絶対的な障壁を成してい
る。
諸技法の制約から逃れて、最新の技法を最大源に利用す
ることが望まれている。現在採用可能な技法のうちで最
も低コストの技法は、大量生産されているマイクロプロ
セッサと、大容量の回転ディスク型の記憶装置とを基礎
とした技法であり、そのような記憶装置の例としては、
密閉式ケースの内部においてヘッドとディスクとの間の
間隔を非常に小さいものとした、ウインチェスタ・テク
ノロジー製の装置等がある。マルチプロセッサ・システ
ムを拡張するに際しては、ソフトウェアが不適当な迄に
複雑化することなくシステムを拡張できることが要望さ
れており、更には、ソフトウェアがその拡張に伴って複
雑化することが全くないようにして拡張できることすら
要望されている。また更に、機能の全体を、限定された
ないしは反復して実行される複数の処理タスクへと動的
に細分できる分散型構造をもつような特徴を有する計算
機問題を処理できる能力が要望されている。略々全ての
データベース・マシンが、そのような問題分野に属して
おり、また、この問題分野には更に、ソート処理、パタ
ーンの認識及び相関算出処理、デジタル・フィルタリン
グ処理、大規模マトリクスの計算処理、物理的な系のシ
ュミレーション、等々のその他の典型的な問題例も含ま
れる。これらのいずれの処理が行なわれる状況において
も、個々に処理される複数のタスクを比較的簡明なもの
とし、しかもそれらのタスクを広範に分散することが要
求され、そのため、瞬間的タスク負荷が大きなものとな
る。そのような状況が、従来のマルチプロセッサ・シス
テムに非常な困難を伴なわせていたのであり、その理由
は、そのような状況はオーバーヘッドに費やされる時間
とオーバーヘッドのためのソフトウェアの量とを増大さ
せる傾向を有していると、並びに、システムを構成する
上で実際上の支障が生じてくることにある。例えば受動
的な共用バスが採用されている場合には、伝播速度並び
にデータ転送所要時間が、トランザクションを処理する
上での可能処理速度に対する絶対的な障壁を成してい
る。
従ってデータベース・マシンは、マルチプロセッサ・シ
ステムの改良が必要とされていることの好い例である。
大規模データベース・マシンを構成する上での基本的な
方式にはこれまでに3種類の方式が提案されており、そ
れらは、階層方式、ネットワーク方式、それにリレーシ
ョナル方式である。これらのうちでリレーショナル方式
のデータベース・マシンは、関係(リレーション)を示
す表を用いることによって、ユーザが複雑な系の中の所
与のデータに容易にアクセスできるようにするものであ
り、この方式のマシンは、強力な潜在能力を有するもの
であると認識されている。この従来技術について説明し
ている代表的な刊行物には、例えばIEEEコンピュー
タ・マガジンの1979年3月号の第28頁に掲載され
ている、D.C.P.スミス並びにJ.M.スミスによ
る「リレーショナル・データベース・マシン」という表
題の論文(article entitled "Relational Data Base M
achine",published by D.C.P.Smith and j.M. Smith, i
n the March 1979 issue of IEEE Computer magazine,
p.28)、米国特許公報第4,221,003 号、並びに同公報中
に引用されている諸論文等がある。
ステムの改良が必要とされていることの好い例である。
大規模データベース・マシンを構成する上での基本的な
方式にはこれまでに3種類の方式が提案されており、そ
れらは、階層方式、ネットワーク方式、それにリレーシ
ョナル方式である。これらのうちでリレーショナル方式
のデータベース・マシンは、関係(リレーション)を示
す表を用いることによって、ユーザが複雑な系の中の所
与のデータに容易にアクセスできるようにするものであ
り、この方式のマシンは、強力な潜在能力を有するもの
であると認識されている。この従来技術について説明し
ている代表的な刊行物には、例えばIEEEコンピュー
タ・マガジンの1979年3月号の第28頁に掲載され
ている、D.C.P.スミス並びにJ.M.スミスによ
る「リレーショナル・データベース・マシン」という表
題の論文(article entitled "Relational Data Base M
achine",published by D.C.P.Smith and j.M. Smith, i
n the March 1979 issue of IEEE Computer magazine,
p.28)、米国特許公報第4,221,003 号、並びに同公報中
に引用されている諸論文等がある。
また、ソーティング・マシンは、コンピューティング・
アーキテクチャの改良が必要とされていることの好い例
である。ソーティング・マシン理論の概説は、D.E.
クヌース(Knuth)著「サーチング及びソーティング」
の第220〜第246頁("Searching and Sorting" by
D.E.Knuth,pp.220-246,published(1973)by AddisonWes
ley Publishing Co.,Reading,Massachusetts)に記載さ
れている。この文献には様々なネットワーク並びにアル
ゴリズムが開示されており、それらの各々に付随する制
約を理解するためにはそれらを詳細に考察しなけらばな
らないが、ただしそれらについて一般的に言えること
は、それはいずれも、ソーティングという特定の目的だ
けを指向した、特徴的に複雑な方式であるということで
ある。更に別の例として、L.A.モラー(L.A.Mollaa
r)によって提示されているものがあり、これは、「I
EEE・トランザクション・オン・コンピュータ」、C
−28巻、第6号(1979年6月)、第406〜41
3頁に掲載されている「リスト・マージング・ネットワ
ークの構造」という表題の論文(article entitled "A
Design for a List Merging Network",in the IEEE Tra
nsactions on Computers, Vol.C-28 No.6,June 1979 at
pp.406-413)に記載されている。この論文に提案され
ているネットワークにおいては、ネットワークのマージ
・エレメントを外部から制御するという方式が採用され
ており、また、このネットワークは、特殊な機能を実行
するためのプログラミングを必要としている。
アーキテクチャの改良が必要とされていることの好い例
である。ソーティング・マシン理論の概説は、D.E.
クヌース(Knuth)著「サーチング及びソーティング」
の第220〜第246頁("Searching and Sorting" by
D.E.Knuth,pp.220-246,published(1973)by AddisonWes
ley Publishing Co.,Reading,Massachusetts)に記載さ
れている。この文献には様々なネットワーク並びにアル
ゴリズムが開示されており、それらの各々に付随する制
約を理解するためにはそれらを詳細に考察しなけらばな
らないが、ただしそれらについて一般的に言えること
は、それはいずれも、ソーティングという特定の目的だ
けを指向した、特徴的に複雑な方式であるということで
ある。更に別の例として、L.A.モラー(L.A.Mollaa
r)によって提示されているものがあり、これは、「I
EEE・トランザクション・オン・コンピュータ」、C
−28巻、第6号(1979年6月)、第406〜41
3頁に掲載されている「リスト・マージング・ネットワ
ークの構造」という表題の論文(article entitled "A
Design for a List Merging Network",in the IEEE Tra
nsactions on Computers, Vol.C-28 No.6,June 1979 at
pp.406-413)に記載されている。この論文に提案され
ているネットワークにおいては、ネットワークのマージ
・エレメントを外部から制御するという方式が採用され
ており、また、このネットワークは、特殊な機能を実行
するためのプログラミングを必要としている。
汎用のマルチプロセッサ・システムが実行することがで
きなければならない諸機能には、種々の方式でサブタス
クを分配する機能、サブタスクを実行しているプロセッ
サのステータスを確認する機能、メッセージのマージと
ソートを行なう機能、データを訂正及び変更する機能、
それに、いつ及びどのように資源が変化したかを(例え
ば、あるプロセッサがいつオンラインから外れ、いつオ
ンラインに復帰したかを)確認する機能等がある。以上
のような機能を実行するために、これまでは、オーバー
ヘッドのための過大なソフトウェアとハードウェアとを
用いる必要があった。
きなければならない諸機能には、種々の方式でサブタス
クを分配する機能、サブタスクを実行しているプロセッ
サのステータスを確認する機能、メッセージのマージと
ソートを行なう機能、データを訂正及び変更する機能、
それに、いつ及びどのように資源が変化したかを(例え
ば、あるプロセッサがいつオンラインから外れ、いつオ
ンラインに復帰したかを)確認する機能等がある。以上
のような機能を実行するために、これまでは、オーバー
ヘッドのための過大なソフトウェアとハードウェアとを
用いる必要があった。
一例を挙げるならば、例えばデータベース・マシン等の
マルチプロセッサ・システムにおいては、プロセッサ間
のメッセージの転送経路を指定するに際して、特定の1
つのプロセッサを転送先として選択したり、或いは1つ
のクラスに属する複数のプロセッサを選択したり、また
更には、プロセッサそのものを指定するのではなく、ハ
ッシュ方式等によってプロセッサに分配されているデー
タベースの部分を指定するという方法で、転送先プロセ
ッサを選択するということが、しばしば必要となる。公
知のシステムの中には前置通信シーケンスを利用してい
るものがあり、それによって送信側プロセッサと、1個
或いは複数の特定の受信側プロセッサとの間のリンケー
ジを確立するようにしている。このリンケージを確立す
るためにはリクエストや肯定応答を何回も反復して送出
しなければならず、また起こり得るデッドロック状態を
克服するために、更なるハードウェア並びにソフトウェ
アを使用しなければならない。前置通信シーケンスを利
用していないシステムでは、1つのプロセッサによっ
て、或いはス・コントローラによって管制が行なわれて
おり、この管制は、送信側プロセッサが送信準備完了状
態にあること、受信側プロセッサが受信準備完了状態に
あること、これらのプロセッサの間のリンケージからそ
の他のプロセッサが締め出されていること、並びに無関
係な送信が行なわれていないことを、確認するためのも
のである。この場合にもまた、オーバーヘッドに依存す
ることと、デッドロックを回避するために複雑とならざ
るを得ないこととによって、システムを拡張する(例え
ばプロセッサの個数を16個以上にする)につれて保守
機能が不適当な迄に膨張してしまうのである。
マルチプロセッサ・システムにおいては、プロセッサ間
のメッセージの転送経路を指定するに際して、特定の1
つのプロセッサを転送先として選択したり、或いは1つ
のクラスに属する複数のプロセッサを選択したり、また
更には、プロセッサそのものを指定するのではなく、ハ
ッシュ方式等によってプロセッサに分配されているデー
タベースの部分を指定するという方法で、転送先プロセ
ッサを選択するということが、しばしば必要となる。公
知のシステムの中には前置通信シーケンスを利用してい
るものがあり、それによって送信側プロセッサと、1個
或いは複数の特定の受信側プロセッサとの間のリンケー
ジを確立するようにしている。このリンケージを確立す
るためにはリクエストや肯定応答を何回も反復して送出
しなければならず、また起こり得るデッドロック状態を
克服するために、更なるハードウェア並びにソフトウェ
アを使用しなければならない。前置通信シーケンスを利
用していないシステムでは、1つのプロセッサによっ
て、或いはス・コントローラによって管制が行なわれて
おり、この管制は、送信側プロセッサが送信準備完了状
態にあること、受信側プロセッサが受信準備完了状態に
あること、これらのプロセッサの間のリンケージからそ
の他のプロセッサが締め出されていること、並びに無関
係な送信が行なわれていないことを、確認するためのも
のである。この場合にもまた、オーバーヘッドに依存す
ることと、デッドロックを回避するために複雑とならざ
るを得ないこととによって、システムを拡張する(例え
ばプロセッサの個数を16個以上にする)につれて保守
機能が不適当な迄に膨張してしまうのである。
最近のマルチプロセッサ・システムに要求されている要
件の更に別の例として、1個或いは複数個のプロセッサ
によって実行されているサブタスクのステータスを、シ
ステムが確実に判定するための方法に関係するものがあ
る。基本的に要求されている点は、所与のプロセッサに
対してそのプロセッサのステータスについての問合せを
行なう能力を備えていなければならないということであ
り、しかも、そのステータスがその問合せよって影響を
及ぼされることがないように、且つ、応答の内容に多義
性が生じることがないように、その問合せが行なわれな
ければならないということである。ステータス表示のテ
ストとセットとを中断のない一連の操作として行なう機
能を特徴的に表わすための用語として、現在当業界にお
いては「セマフォ(semaphore)」という用語が使用さ
れている。このセマフォという特徴を備えていることは
望ましいことであるが、ただし、この特徴を組込むに際
しては、実行効率の低下やオーバーヘッドの負荷の増加
を伴なわないようにしなければならない。このようなス
テータスの判定は、更にマルチプロセッサ・システムに
おいてソート/マージ動作を実行する際に極めて重要な
ものとなるが、それは、大きなタスクの中に含まれてい
る複数のサブタスクの夫々の処理結果を組み合わせるた
めには、それらのサブタスクが適切に処理完了された後
でなければ1つに組み合わせることがでないからであ
る。更に別の要件として、プロセッサがその「現在」ス
テータスを報告できなければならないこと、そしてサブ
タスクの実行は、マルチプロセッサの動作シーケンスに
対して割込みと変更とが繰返されても、ただ1回だけ行
なわれるようにしなければならないということがある。
殆どの既存のシステムでは、プロセッサの実行ルーチン
が中断可能とされているためにこの点に関して重大な問
題が生じている。即ち、容易に理解されることである
が、複数のプロセッサが互いに関連を有する複数のサブ
タスクを実行しているような場合には、それらの個々の
プロセッサのレディネス状態の程度(=どのような動作
が可能な状態にあるかの程度)についての問合せとそれ
に対する応答とに関わる動作シーケンスが膨大なオーバ
ヘッドを必要とすることがあり、しかも、そのための専
用のオーバーヘッドは、プロセッサの個数が増大するに
従っていよいよ不適当なまでに増大する。
件の更に別の例として、1個或いは複数個のプロセッサ
によって実行されているサブタスクのステータスを、シ
ステムが確実に判定するための方法に関係するものがあ
る。基本的に要求されている点は、所与のプロセッサに
対してそのプロセッサのステータスについての問合せを
行なう能力を備えていなければならないということであ
り、しかも、そのステータスがその問合せよって影響を
及ぼされることがないように、且つ、応答の内容に多義
性が生じることがないように、その問合せが行なわれな
ければならないということである。ステータス表示のテ
ストとセットとを中断のない一連の操作として行なう機
能を特徴的に表わすための用語として、現在当業界にお
いては「セマフォ(semaphore)」という用語が使用さ
れている。このセマフォという特徴を備えていることは
望ましいことであるが、ただし、この特徴を組込むに際
しては、実行効率の低下やオーバーヘッドの負荷の増加
を伴なわないようにしなければならない。このようなス
テータスの判定は、更にマルチプロセッサ・システムに
おいてソート/マージ動作を実行する際に極めて重要な
ものとなるが、それは、大きなタスクの中に含まれてい
る複数のサブタスクの夫々の処理結果を組み合わせるた
めには、それらのサブタスクが適切に処理完了された後
でなければ1つに組み合わせることがでないからであ
る。更に別の要件として、プロセッサがその「現在」ス
テータスを報告できなければならないこと、そしてサブ
タスクの実行は、マルチプロセッサの動作シーケンスに
対して割込みと変更とが繰返されても、ただ1回だけ行
なわれるようにしなければならないということがある。
殆どの既存のシステムでは、プロセッサの実行ルーチン
が中断可能とされているためにこの点に関して重大な問
題が生じている。即ち、容易に理解されることである
が、複数のプロセッサが互いに関連を有する複数のサブ
タスクを実行しているような場合には、それらの個々の
プロセッサのレディネス状態の程度(=どのような動作
が可能な状態にあるかの程度)についての問合せとそれ
に対する応答とに関わる動作シーケンスが膨大なオーバ
ヘッドを必要とすることがあり、しかも、そのための専
用のオーバーヘッドは、プロセッサの個数が増大するに
従っていよいよ不適当なまでに増大する。
(発明が解決しようとする問題点) 以上に述べたとろの例を示す従来のマルチプロセッサ・
システムにおける典型的な短所は、いわゆる「分散更
新」の問題に関するものであり、この問題は即ち、複数
個の処理装置の各々にそのコピーが格納されている情報
を更新する必要があるということである。ここで言う情
報とは、データ・レコードから成る情報の場合もあり、
また、システムの動作を制御するために用いられる情報
の場合もある。このシステムの動作の制御とは、例え
ば、必要なステップが誤って重複実行されたり全く実行
されなかったりすることのないようにして、処理が開始
され、停止され、再開され、一時中断され、或いはロー
ル・バックないしロール・フォワードされるようにする
こと等の制御のことである。従来のシステムにおいて
は、分散更新の問題の種々の解決法はいずれもかなりの
制約を伴なうものであった。それらの解決法の中には、
一度に2個のプロセッサだけを対象としているに過ぎな
いものもある。また更に別の解決法として相互通信プロ
トコルを利用しているものも幾つかあるが、それらのプ
ロトコルは非常に複雑なため、現在でも、それらのプロ
トコルが適切なものであることを数学的厳密さをもって
証明することには非常な困難が伴なっている。
システムにおける典型的な短所は、いわゆる「分散更
新」の問題に関するものであり、この問題は即ち、複数
個の処理装置の各々にそのコピーが格納されている情報
を更新する必要があるということである。ここで言う情
報とは、データ・レコードから成る情報の場合もあり、
また、システムの動作を制御するために用いられる情報
の場合もある。このシステムの動作の制御とは、例え
ば、必要なステップが誤って重複実行されたり全く実行
されなかったりすることのないようにして、処理が開始
され、停止され、再開され、一時中断され、或いはロー
ル・バックないしロール・フォワードされるようにする
こと等の制御のことである。従来のシステムにおいて
は、分散更新の問題の種々の解決法はいずれもかなりの
制約を伴なうものであった。それらの解決法の中には、
一度に2個のプロセッサだけを対象としているに過ぎな
いものもある。また更に別の解決法として相互通信プロ
トコルを利用しているものも幾つかあるが、それらのプ
ロトコルは非常に複雑なため、現在でも、それらのプロ
トコルが適切なものであることを数学的厳密さをもって
証明することには非常な困難が伴なっている。
それらのプロトコルが複雑になっている原因は、「大域
的セマフォ」を構成している、中断されることのない1
回の動作により全てのプロセッサにおいて「テスト・ア
ンド・セット」されるという外面的性質を持つ制御ビッ
トを、備える必要があるということにある。斯かる制御
ビットが複数の別々のプロセッサの内部に夫々に設けら
れ、しかもそれらのプロセッサの間の通信に付随する遅
延時間がまちまちであるため、不可避的に不完全なもの
となり得る通信チャネルによってノイズが発生され、ま
た更にエラーの発生率も増大することになる。従って
「中断されることのない1回の動作」という特徴を備え
ることは、その1つの動作を構成している複数の部分々
々が、夫々に多種多様で、しかも中断可能であり、そし
てそれらを同時にはアクセスすることができず、更には
それらがアクセスとアクセスとの間に不調を生じがちで
ある場合には、困難を伴なうものであるということが、
当業者には容易に理解されよう。
的セマフォ」を構成している、中断されることのない1
回の動作により全てのプロセッサにおいて「テスト・ア
ンド・セット」されるという外面的性質を持つ制御ビッ
トを、備える必要があるということにある。斯かる制御
ビットが複数の別々のプロセッサの内部に夫々に設けら
れ、しかもそれらのプロセッサの間の通信に付随する遅
延時間がまちまちであるため、不可避的に不完全なもの
となり得る通信チャネルによってノイズが発生され、ま
た更にエラーの発生率も増大することになる。従って
「中断されることのない1回の動作」という特徴を備え
ることは、その1つの動作を構成している複数の部分々
々が、夫々に多種多様で、しかも中断可能であり、そし
てそれらを同時にはアクセスすることができず、更には
それらがアクセスとアクセスとの間に不調を生じがちで
ある場合には、困難を伴なうものであるということが、
当業者には容易に理解されよう。
(問題点を解決するための手段) 本発明は、要約すれば、1つの上流側ポートと2つの下
流側ポートとを有する分岐回路を含む、双方向ネットワ
ーク内のノードであって、それらのポートは、それらの
全てが双方向性であると共にそれらの各々がパラレルな
データ・ラインとコリジョン・ラインとを含んでおり、
更に、上流方向メッセージに対して優先権の付与を行な
うと共に優先権を得られなかった方のコリジョン・ライ
ンに対し、他所に優先権が付与されたとを表示する信号
を送出するためのロジックが含まれているノードを、提
供するものである。
流側ポートとを有する分岐回路を含む、双方向ネットワ
ーク内のノードであって、それらのポートは、それらの
全てが双方向性であると共にそれらの各々がパラレルな
データ・ラインとコリジョン・ラインとを含んでおり、
更に、上流方向メッセージに対して優先権の付与を行な
うと共に優先権を得られなかった方のコリジョン・ライ
ンに対し、他所に優先権が付与されたとを表示する信号
を送出するためのロジックが含まれているノードを、提
供するものである。
(実施例) 以下、この発明の実施例を図面を参照して説明する。
(データベース管理システム) 第1図に総括的に示されているシステムは、本発明の概
念をデータベース管理に応用したものを具体例として示
すものである。更に詳細に説明すると、このシステムは
一つまたは複数のホスト・コンピュータ・システム1
0、12と協働するように構成されており、それらのホ
スト・コンピュータ・システムは、例えばIBM370
ファミリーまたはDEC−PDP−11ファミリーに属
するコンピュータ・システム等であって、この具体例の
目的に沿うように既存の一般的なオペレーティング・シ
ステム及び応用ソフトウェアで動作するようになってい
る。IBMの用語法に拠れば、ホスト・コンピュータ・
とデータベース・コンピュータとの間の主要相互通信回
線網はチャネルと呼ばれており、また同じものがDEC
の用語法に拠れば「ユニバス」または「マスバス」或い
はそれらの用語を多少変形した用語で呼ばれている。以
上のコンピュータ・システムのうちのいずれかが用いら
れるにせよ、或いは他のメーカーのメインフレーム・コ
ンピュータが用いられるにせよ、このチャネル、即ちバ
スは、そこへデータベース・タスク及びサブタスクが送
出されるところのオーミックな転送経路、即ち論理的に
受動的な転送経路である。
念をデータベース管理に応用したものを具体例として示
すものである。更に詳細に説明すると、このシステムは
一つまたは複数のホスト・コンピュータ・システム1
0、12と協働するように構成されており、それらのホ
スト・コンピュータ・システムは、例えばIBM370
ファミリーまたはDEC−PDP−11ファミリーに属
するコンピュータ・システム等であって、この具体例の
目的に沿うように既存の一般的なオペレーティング・シ
ステム及び応用ソフトウェアで動作するようになってい
る。IBMの用語法に拠れば、ホスト・コンピュータ・
とデータベース・コンピュータとの間の主要相互通信回
線網はチャネルと呼ばれており、また同じものがDEC
の用語法に拠れば「ユニバス」または「マスバス」或い
はそれらの用語を多少変形した用語で呼ばれている。以
上のコンピュータ・システムのうちのいずれかが用いら
れるにせよ、或いは他のメーカーのメインフレーム・コ
ンピュータが用いられるにせよ、このチャネル、即ちバ
スは、そこへデータベース・タスク及びサブタスクが送
出されるところのオーミックな転送経路、即ち論理的に
受動的な転送経路である。
第1図の具体例は、ホスト・システム10、12に組み
合わされたバックエンド・プロセッサ複合体を示してい
る。この図のシステムは、タスク及びサブタスクをホス
ト・システムから受入れ、莫大なデータベース記憶情報
のうちの該当する部分を参照し、そして適切な処理済メ
ッセージ或いは応答メッセージを返すというものであ
り、それらの動作は、このバックエンド・プロセッサ複
合体の構成の如何にかかわらず、それ程高度ではないソ
フトウェアによる管理以外は、ホスト・システムには要
求されない方式で実行されるようになっている。従っ
て、ユーザのデータベースを新たな方式のマルチプロセ
ッサ・システムとして構成することが可能とされてお
り、このマルチプロセッサ・システムにおいては、デー
タを、容量を大幅に拡張することのできるリレーショナ
ル・データベース・ファイルとして組織することがで
き、しかもこの拡張は、ユーザのホスト・システムの内
部に備えられているオペレーティング・システムや既存
の応用ソフトウェアを変更する必要なしに行なうことが
できるようになっている。独立システム(スタンド・ア
ローン・システム)として構成した具体例について、以
下に第20図を参照しつつ説明する。
合わされたバックエンド・プロセッサ複合体を示してい
る。この図のシステムは、タスク及びサブタスクをホス
ト・システムから受入れ、莫大なデータベース記憶情報
のうちの該当する部分を参照し、そして適切な処理済メ
ッセージ或いは応答メッセージを返すというものであ
り、それらの動作は、このバックエンド・プロセッサ複
合体の構成の如何にかかわらず、それ程高度ではないソ
フトウェアによる管理以外は、ホスト・システムには要
求されない方式で実行されるようになっている。従っ
て、ユーザのデータベースを新たな方式のマルチプロセ
ッサ・システムとして構成することが可能とされてお
り、このマルチプロセッサ・システムにおいては、デー
タを、容量を大幅に拡張することのできるリレーショナ
ル・データベース・ファイルとして組織することがで
き、しかもこの拡張は、ユーザのホスト・システムの内
部に備えられているオペレーティング・システムや既存
の応用ソフトウェアを変更する必要なしに行なうことが
できるようになっている。独立システム(スタンド・ア
ローン・システム)として構成した具体例について、以
下に第20図を参照しつつ説明する。
当業者には理解されるように、リレーショナル・データ
ベース管理に関する動作機能は、1つの動作機能の全体
を、少なくとも一時的には他から独立して処理可能な複
数の処理タスクへと分割することができるような動作機
能である。その理由は、リレーショナル・データベース
では記憶されている複数のデータ・エントリがアドレス
・ポインタによって相互依存的に連結されていないから
である。更に当業者には理解されるように、リレーショ
ナル・データベース管理以外にも、限定されたタスクな
いし反復実行されるタスクを動的に小区分して独立的に
処理するこという方法を用い得るようなの多くのデータ
処理環境が存在している。従って、本発明の具体例を説
明するに際しては、特に要望が強くまた頻繁に聞かれる
ところの、データベース管理における処理の問題に関連
させて説明するが、しかしながら本明細書に開示する新
規な方法並びに構成は、それ以外にも広範な用途を持つ
ものである。
ベース管理に関する動作機能は、1つの動作機能の全体
を、少なくとも一時的には他から独立して処理可能な複
数の処理タスクへと分割することができるような動作機
能である。その理由は、リレーショナル・データベース
では記憶されている複数のデータ・エントリがアドレス
・ポインタによって相互依存的に連結されていないから
である。更に当業者には理解されるように、リレーショ
ナル・データベース管理以外にも、限定されたタスクな
いし反復実行されるタスクを動的に小区分して独立的に
処理するこという方法を用い得るようなの多くのデータ
処理環境が存在している。従って、本発明の具体例を説
明するに際しては、特に要望が強くまた頻繁に聞かれる
ところの、データベース管理における処理の問題に関連
させて説明するが、しかしながら本明細書に開示する新
規な方法並びに構成は、それ以外にも広範な用途を持つ
ものである。
大規模なデータ管理システムは、複数のプロセッサ(マ
ルチプル・プロセッサ)を使用する場合には潜在的な利
点と不可避的に付随する困難との両方を備えることにな
る。何億個にも及ぶ莫大な数のエントリ(記述項)を、
記憶装置の中に、容易にかつ迅速にアクセスできる状態
で保持しなければならない。一方、リレーショナル・デ
ータベースのフォーマットとしておけば、広範なデータ
・エントリ及び情報の取り出し動作を同時並行的に実行
することができる。
ルチプル・プロセッサ)を使用する場合には潜在的な利
点と不可避的に付随する困難との両方を備えることにな
る。何億個にも及ぶ莫大な数のエントリ(記述項)を、
記憶装置の中に、容易にかつ迅速にアクセスできる状態
で保持しなければならない。一方、リレーショナル・デ
ータベースのフォーマットとしておけば、広範なデータ
・エントリ及び情報の取り出し動作を同時並行的に実行
することができる。
ただし、圧倒的大多数のデータベース・システムにおい
ては、データベースの完全性(インテグリティ)を維持
することが、トランザクション・データを迅速に処理す
ることと同様に重要となっている。データの完全性は、
ハードウェアの故障や停電、それにその他のシステム動
作に関わる災害の、その前後においても維持されていな
ければならない。更には、データベース・システムは、
応用ソフトウェア・コードの中のバグ(bug)をはじめ
とするユーザ側のエラーの後始末を行なうために、デー
タベースを以前の既知の状態に復元できる能力を備えて
いなければらない。しかも、データが誤って失われたり
入力されたりすることがあってはならず、また、イベン
トが新たなデータに関係するものであるのか、或いは過
去のエラーの訂正に関係するものであるのか、それとも
データベースの一部分の校正に関係するものであるのか
に応じて、ある特定のエントリに関係しているデータベ
ース部分の全てが変更されるようになっていなければな
らない。
ては、データベースの完全性(インテグリティ)を維持
することが、トランザクション・データを迅速に処理す
ることと同様に重要となっている。データの完全性は、
ハードウェアの故障や停電、それにその他のシステム動
作に関わる災害の、その前後においても維持されていな
ければならない。更には、データベース・システムは、
応用ソフトウェア・コードの中のバグ(bug)をはじめ
とするユーザ側のエラーの後始末を行なうために、デー
タベースを以前の既知の状態に復元できる能力を備えて
いなければらない。しかも、データが誤って失われたり
入力されたりすることがあってはならず、また、イベン
トが新たなデータに関係するものであるのか、或いは過
去のエラーの訂正に関係するものであるのか、それとも
データベースの一部分の校正に関係するものであるのか
に応じて、ある特定のエントリに関係しているデータベ
ース部分の全てが変更されるようになっていなければな
らない。
従って、完全性のためには、データのロールバック及び
回復の動作、誤りの検出及び修正の動作、並びにシステ
ムの個々の部分のステータスの変化の検出及びその補償
の動作に加えて、更に、ある程度の冗長度もデータベー
スシステムには必要である。これらの目的を達成するた
めには、システムが多くの異なった特殊なモードで用い
られなければならないこともあり得る。
回復の動作、誤りの検出及び修正の動作、並びにシステ
ムの個々の部分のステータスの変化の検出及びその補償
の動作に加えて、更に、ある程度の冗長度もデータベー
スシステムには必要である。これらの目的を達成するた
めには、システムが多くの異なった特殊なモードで用い
られなければならないこともあり得る。
さらに、最近のシステムでは、その形式が複雑なものに
なりがちな任意内容の問合せ(discretionary query)
を受入れる能力と、必要とあらば相互作用的な方式で応
答する能力とを持っていることが要求される。たとえそ
の問合せが複雑なものであったとしても、システムにア
クセスしようとする人達がそのシステムの熟練者である
ことを要求されるようなことがあってはならない。
なりがちな任意内容の問合せ(discretionary query)
を受入れる能力と、必要とあらば相互作用的な方式で応
答する能力とを持っていることが要求される。たとえそ
の問合せが複雑なものであったとしても、システムにア
クセスしようとする人達がそのシステムの熟練者である
ことを要求されるようなことがあってはならない。
大規模生産の業務に関連して生じるかも知れない任意内
容の問合せの例には、次のようなものがある。
容の問合せの例には、次のようなものがある。
A.生産管理を行なう管理者が、在庫品のうちの1品に
ついてのリストを要求するのみならず、生産高が前年同
月比で少なくとも10%以上低下している部品の、その
月間生産高を超えているような全ての部品在庫を明記し
た在庫品リストを、要求するかもしれない。
ついてのリストを要求するのみならず、生産高が前年同
月比で少なくとも10%以上低下している部品の、その
月間生産高を超えているような全ての部品在庫を明記し
た在庫品リストを、要求するかもしれない。
B.マーケティング・マネージャーが、ある特定の勘定
が90日延滞を生じているか否かを問合せるばかりでな
く、特に不景気な地域に存在している過去に120日を
超過したことのある顧客に関して、一律に90日の受取
債権を要求するかもしれない。
が90日延滞を生じているか否かを問合せるばかりでな
く、特に不景気な地域に存在している過去に120日を
超過したことのある顧客に関して、一律に90日の受取
債権を要求するかもしれない。
C.人事担当の重役が、所与の1年間に2週間を超える
病欠のあった従業員の全てを一覧表にすることを求める
のみならず、直前の5年間のうちの2年以上について、
その釣のシーズンの間に1週間以上の病欠をした10年
勤続以上の長期勤続従業員の全てを一覧表にすることを
求めるかもしれない。
病欠のあった従業員の全てを一覧表にすることを求める
のみならず、直前の5年間のうちの2年以上について、
その釣のシーズンの間に1週間以上の病欠をした10年
勤続以上の長期勤続従業員の全てを一覧表にすることを
求めるかもしれない。
以上の例のいずれにおいても、ユーザは、コンピュータ
に格納されている情報をそれまでにはなされなかった方
法で関連付けることによって、事業において直面してい
る本当の問題を見極めようとするわけである。その問題
を生じている分野に関してユーザが経験を積んでいれ
ば、従ってユーザに直感力と想像力とがあれば、コンピ
ュータの訓練を受けたことのない専門家が、複雑な問合
せを処理できるデータベースシステムを自由自在に使用
できるのである。
に格納されている情報をそれまでにはなされなかった方
法で関連付けることによって、事業において直面してい
る本当の問題を見極めようとするわけである。その問題
を生じている分野に関してユーザが経験を積んでいれ
ば、従ってユーザに直感力と想像力とがあれば、コンピ
ュータの訓練を受けたことのない専門家が、複雑な問合
せを処理できるデータベースシステムを自由自在に使用
できるのである。
最近のマルチプロセッサ・システムは、これらのように
多くの、そしてしばしば互いに相反する要求事項に対し
ては、念入りに作成されたオーバーヘッド用ソフトウェ
ア・システム並びに保守用ソフトウェア・システムを用
いることによって対応しようと努めているのであるが、
それらのソフトウェア・システムは本質的にシステムを
容易に拡張することの妨げとなるものである。しかしな
がら、拡張性という概念は強く求められている概念であ
り、その理由は、業務ないし事業が成長すると、それに
付随して既存のデータベース管理システムを拡張して使
用を継続することが望まれるようになり、この場合、新
しいシステムとソフトウェアの採用を余儀なくされるこ
とは好まれないからである。
多くの、そしてしばしば互いに相反する要求事項に対し
ては、念入りに作成されたオーバーヘッド用ソフトウェ
ア・システム並びに保守用ソフトウェア・システムを用
いることによって対応しようと努めているのであるが、
それらのソフトウェア・システムは本質的にシステムを
容易に拡張することの妨げとなるものである。しかしな
がら、拡張性という概念は強く求められている概念であ
り、その理由は、業務ないし事業が成長すると、それに
付随して既存のデータベース管理システムを拡張して使
用を継続することが望まれるようになり、この場合、新
しいシステムとソフトウェアの採用を余儀なくされるこ
とは好まれないからである。
マルチプロセッサ・アレイ 第1図について説明すると、本発明に係る典型的な一具
体例のメッセージは多数のマイクロプロセッサを含んで
おり、それらのマイクロプロセッサには重要な2つの重
要な種類があり、それらは本明細書では夫々、インター
フェイス・プロセッサ(IFP)とアクセス・モジュー
ル・プロセッサ(AMP)を称することにする。図中に
は2個のIFP14、16が示されており、それらの各
々は別のホスト・コンピュータ10ないし12の入出力
装置に接続されている。多数のアクセス・モジュール・
プロセッサ18〜23もまた、このマルチプロセッサ・
アレイとも称すべきものの中に含まれている。ここでの
「アレイ」という用語は、おおむね整然とした直線状或
いはマトリックス状に配列された、1組のプロセッサ・
ユニット、集合とされたプロセッサ・ユニット、ないし
は複数のプロセッサ・ユニットを指す、一般的な意味で
用いられており、従って、最近「アレイ・プロセッサ」
と呼ばれるようになったものを意味するのではない。図
中には、このシステムの概念を簡明化した例を示すため
に僅かに8個のマイクロプロセッサが示されているが、
はるかに多くのIFP及びAMPを用いることが可能で
あり、通常は用いられることになる。
体例のメッセージは多数のマイクロプロセッサを含んで
おり、それらのマイクロプロセッサには重要な2つの重
要な種類があり、それらは本明細書では夫々、インター
フェイス・プロセッサ(IFP)とアクセス・モジュー
ル・プロセッサ(AMP)を称することにする。図中に
は2個のIFP14、16が示されており、それらの各
々は別のホスト・コンピュータ10ないし12の入出力
装置に接続されている。多数のアクセス・モジュール・
プロセッサ18〜23もまた、このマルチプロセッサ・
アレイとも称すべきものの中に含まれている。ここでの
「アレイ」という用語は、おおむね整然とした直線状或
いはマトリックス状に配列された、1組のプロセッサ・
ユニット、集合とされたプロセッサ・ユニット、ないし
は複数のプロセッサ・ユニットを指す、一般的な意味で
用いられており、従って、最近「アレイ・プロセッサ」
と呼ばれるようになったものを意味するのではない。図
中には、このシステムの概念を簡明化した例を示すため
に僅かに8個のマイクロプロセッサが示されているが、
はるかに多くのIFP及びAMPを用いることが可能で
あり、通常は用いられることになる。
IFP14、16及びAMP18〜23は、内部バスと
周辺装置コントローラにダイレクト・メモリ・アクセス
をするメイン・メモリとを有しているインテル8086
型16ビットマイクロプロセッサを内蔵している。いろ
いろなメーカーの非常に多様なマイクロプロセッサ及び
マイクロプロセッサシステム製品の任意のものを利用で
きる。この「マイクロプロセッサ」は、このアレイの中
で使用できるコンピュータないしプロセッサの一形式の
具体的な一例に過ぎず、なぜならば、このシステムの概
念は、用途によって必要とされる計算力がミニコンピュ
ータまたは大型コンピュータのものである場合には、そ
れらを使ってうまく利用できるからである。この16ビ
ットのマイクロプロセッサは、相当のデータ処理力を備
え、しかも広範な種々の利用可能なハードウェア及びソ
フトウェアのオプションに置換えることができる標準的
な置換え可能な構成とされている、低コストの装置の有
利な一例である。
周辺装置コントローラにダイレクト・メモリ・アクセス
をするメイン・メモリとを有しているインテル8086
型16ビットマイクロプロセッサを内蔵している。いろ
いろなメーカーの非常に多様なマイクロプロセッサ及び
マイクロプロセッサシステム製品の任意のものを利用で
きる。この「マイクロプロセッサ」は、このアレイの中
で使用できるコンピュータないしプロセッサの一形式の
具体的な一例に過ぎず、なぜならば、このシステムの概
念は、用途によって必要とされる計算力がミニコンピュ
ータまたは大型コンピュータのものである場合には、そ
れらを使ってうまく利用できるからである。この16ビ
ットのマイクロプロセッサは、相当のデータ処理力を備
え、しかも広範な種々の利用可能なハードウェア及びソ
フトウェアのオプションに置換えることができる標準的
な置換え可能な構成とされている、低コストの装置の有
利な一例である。
IFPとAMPとは互いに類似の、能動ロジックと制御
ロジックとびインターフェイスとを含む回路、マイクロ
プロセッサ、メモリ、及び内部バスを採用しており、そ
れらについては夫々第1図と第8図とを参照しつつ後に
説明する。ただし、これら二つのプロセッサ形式は、夫
々のプロセッサ形式に関連する周辺装置の性質、及びそ
れらの周辺装置に対する制御ロジックが異なっている。
当業者には容易に理解されるように、異なった周辺装置
コントローラを備え異なった機能的任務を付与されたそ
の他のプロセッサ形式を本発明に組入れることも容易で
ある。
ロジックとびインターフェイスとを含む回路、マイクロ
プロセッサ、メモリ、及び内部バスを採用しており、そ
れらについては夫々第1図と第8図とを参照しつつ後に
説明する。ただし、これら二つのプロセッサ形式は、夫
々のプロセッサ形式に関連する周辺装置の性質、及びそ
れらの周辺装置に対する制御ロジックが異なっている。
当業者には容易に理解されるように、異なった周辺装置
コントローラを備え異なった機能的任務を付与されたそ
の他のプロセッサ形式を本発明に組入れることも容易で
ある。
各マイクロプロセッサには高速ランダム・アクセス・メ
モリ26(第8図に関連して説明する)が備えられてお
り、この高速ランダム・アクセス・メモリは、入出力メ
ッセージのバッファリングを行うことに加え、システム
の他の部分と独特な方法で協働することによって、メッ
セージ管理を行なう。手短に説明すると、この高速ラン
ダム・アクセス・メモリ26は、可変長の入力メッセー
ジ(この入力のことを「受信」という)のための循環バ
ッファとして働き、シーケンシャルにメッセージを出力
するための(この出力のことを「送信」という)メモリ
として機能し、ハッシュ・マッピング・モード及び他の
モードで用いるためのテーブル索引部分を組込み、そし
て受信メッセージ及び送信メッセージを整然と順序立て
て取扱うための制御情報を記憶する。メモリ26は更
に、マルチプロセッサモード選択のとき、並びにデー
タ、ステータス、制御、及び応答の各メッセージのトラ
フィックを取扱うときに独特の役目を果たすように用い
られる。後に詳細に説明するように、それらのメモリは
更に、メッセージの中のトラザクション・アイデンティ
ティに基づいて局所的及び大域的なステータス判定と制
御機能とが極めて能率的な方法で処理され通信されるよ
うな構成とされている。IFP14、16及びAMP1
8〜23の各々に備えられている制御ロジック28(第
13図に関連しては後に説明する)は、当該モジュール
内のデータ転送及びオーバーヘッド機能の実行に用いら
れる。
モリ26(第8図に関連して説明する)が備えられてお
り、この高速ランダム・アクセス・メモリは、入出力メ
ッセージのバッファリングを行うことに加え、システム
の他の部分と独特な方法で協働することによって、メッ
セージ管理を行なう。手短に説明すると、この高速ラン
ダム・アクセス・メモリ26は、可変長の入力メッセー
ジ(この入力のことを「受信」という)のための循環バ
ッファとして働き、シーケンシャルにメッセージを出力
するための(この出力のことを「送信」という)メモリ
として機能し、ハッシュ・マッピング・モード及び他の
モードで用いるためのテーブル索引部分を組込み、そし
て受信メッセージ及び送信メッセージを整然と順序立て
て取扱うための制御情報を記憶する。メモリ26は更
に、マルチプロセッサモード選択のとき、並びにデー
タ、ステータス、制御、及び応答の各メッセージのトラ
フィックを取扱うときに独特の役目を果たすように用い
られる。後に詳細に説明するように、それらのメモリは
更に、メッセージの中のトラザクション・アイデンティ
ティに基づいて局所的及び大域的なステータス判定と制
御機能とが極めて能率的な方法で処理され通信されるよ
うな構成とされている。IFP14、16及びAMP1
8〜23の各々に備えられている制御ロジック28(第
13図に関連しては後に説明する)は、当該モジュール
内のデータ転送及びオーバーヘッド機能の実行に用いら
れる。
IFP14、16は各々インターフェイス制御回路30
を備えており、このインターフェイス制御回路30はI
FPをそのIFPに組み合わされいるホスト・コンピュ
ータ10ないし12のチャネルまたはバスに接続してい
る。これに対してAMP18〜23では、このインター
フェイス制御回路に相当する装置はディスク・コントロ
ーラ32であり、このディスク・コントローラ32は一
般的な構造のものであっても良く、AMP18〜23
を、それらに個別に組み合わせられた磁気ディスク・ド
ライブ38〜43と夫々にインターフェイスするのに用
いられるものである。
を備えており、このインターフェイス制御回路30はI
FPをそのIFPに組み合わされいるホスト・コンピュ
ータ10ないし12のチャネルまたはバスに接続してい
る。これに対してAMP18〜23では、このインター
フェイス制御回路に相当する装置はディスク・コントロ
ーラ32であり、このディスク・コントローラ32は一
般的な構造のものであっても良く、AMP18〜23
を、それらに個別に組み合わせられた磁気ディスク・ド
ライブ38〜43と夫々にインターフェイスするのに用
いられるものである。
磁気ディスク・ドライブ38〜43はこのデータベース
管理システムに二次記憶装置、即ち大容量記憶装置を提
供している。本実施例においては、それらの磁気ディス
ク・ドライブは例えばウィンチェスター・テクノロジー
(Winchestertechnology)等の実績のある市販の製品か
ら成るものとし、それによって、バイト当りコストが極
めて低廉でしかも大容量、高信頼性の記憶装置が得られ
るようにしている。
管理システムに二次記憶装置、即ち大容量記憶装置を提
供している。本実施例においては、それらの磁気ディス
ク・ドライブは例えばウィンチェスター・テクノロジー
(Winchestertechnology)等の実績のある市販の製品か
ら成るものとし、それによって、バイト当りコストが極
めて低廉でしかも大容量、高信頼性の記憶装置が得られ
るようにしている。
これらのディスク・ドライブ38〜43には、リレーシ
ョナル・データベースが分散格納方式で格納されてお
り、これについては第22図に簡易化した形で示されて
いる。各々のプロセッサとそれに組み合わされたディス
ク・ドライブとに対しては、データベースの部分集合を
成す複数のレコードが割当てられ、この部分集合は「一
次的」部分集合であり、またそれらの一次的部分集合は
互いに素の部分集合であると共に全体として完全なデー
タベースを構成するものである。従ってn個記憶装置の
各々はのデータベースの1/nを保持することになる。各
々のプロセッサには更に、バックアップ用のデータの部
分集合が割当てられ、それらのバックアップ用部分集合
も互いに素の部分集合であり、各々がこのデータベース
の1/nを構成するものである。第22図から分るよう
に、一次的ファイルの各々は、その一次的ファイルが収
容されているプロセッサとは異なったプロセッサに収容
されているバックアップ用ファイルによって複製されて
おり、これにより、互いに異なった分配の仕方で分配さ
れた2つの各々が完全なデータベースが得られている。
このように、一次的データ部分集合とバックアップ用デ
ータ部分集合とが冗長性を持って配置されていることに
よってデータベースの完全性(インテグリティ)の保護
がなされており、その理由は、単発の故障であれば、大
規模な数ブロックに亙る複数のデータや複数のグループ
を成す複数のリレーションに対して実質的な影響を及ぼ
すことはあり得ないからである。
ョナル・データベースが分散格納方式で格納されてお
り、これについては第22図に簡易化した形で示されて
いる。各々のプロセッサとそれに組み合わされたディス
ク・ドライブとに対しては、データベースの部分集合を
成す複数のレコードが割当てられ、この部分集合は「一
次的」部分集合であり、またそれらの一次的部分集合は
互いに素の部分集合であると共に全体として完全なデー
タベースを構成するものである。従ってn個記憶装置の
各々はのデータベースの1/nを保持することになる。各
々のプロセッサには更に、バックアップ用のデータの部
分集合が割当てられ、それらのバックアップ用部分集合
も互いに素の部分集合であり、各々がこのデータベース
の1/nを構成するものである。第22図から分るよう
に、一次的ファイルの各々は、その一次的ファイルが収
容されているプロセッサとは異なったプロセッサに収容
されているバックアップ用ファイルによって複製されて
おり、これにより、互いに異なった分配の仕方で分配さ
れた2つの各々が完全なデータベースが得られている。
このように、一次的データ部分集合とバックアップ用デ
ータ部分集合とが冗長性を持って配置されていることに
よってデータベースの完全性(インテグリティ)の保護
がなされており、その理由は、単発の故障であれば、大
規模な数ブロックに亙る複数のデータや複数のグループ
を成す複数のリレーションに対して実質的な影響を及ぼ
すことはあり得ないからである。
データベースの分配は、同じく第22図に示されている
ように、種々のファイルのハッシング動作と関連を有し
ており、また、ハッシュ・マッピング・データをメッセ
ージの中に組込むこととも関連を有している。各々のプ
ロセッサに収容されているファイルは、2進数列のグル
ープとして示される簡単なハッシュ・バケット(hash b
ucket)によって指定されるようになっている。従っ
て、それらのバケットによって指定される関係の表(テ
ーブル)に基づいて、リレーショナル・データベース・
システムの中のリレーション(関係)及びタブル(組:
tuple)を配置すべき場所を定めることができる。ハッ
シング・アルゴリズムを利用して、このリレーシヨナル
・データベース・システムの内部において、キーからバ
ケットの割当てが求められるようになっており、そのた
め、このデータベース・システムの拡張及び改変を容易
に行なうことができる。
ように、種々のファイルのハッシング動作と関連を有し
ており、また、ハッシュ・マッピング・データをメッセ
ージの中に組込むこととも関連を有している。各々のプ
ロセッサに収容されているファイルは、2進数列のグル
ープとして示される簡単なハッシュ・バケット(hash b
ucket)によって指定されるようになっている。従っ
て、それらのバケットによって指定される関係の表(テ
ーブル)に基づいて、リレーショナル・データベース・
システムの中のリレーション(関係)及びタブル(組:
tuple)を配置すべき場所を定めることができる。ハッ
シング・アルゴリズムを利用して、このリレーシヨナル
・データベース・システムの内部において、キーからバ
ケットの割当てが求められるようになっており、そのた
め、このデータベース・システムの拡張及び改変を容易
に行なうことができる。
記憶容量をどれ程の大きさに選択するかは、データベー
ス管理上のニーズ、トランザクションの量、及びその記
憶装置に組み合わされているマイクロプロセッサの処理
力に応じて定められるものである。複数のディスク・ド
ライブ1個のAMPに接続したり、1台のディスク・フ
ァイル装置を複数のAMPに接続することも可能である
が、そのような変更態様は通常は特殊な用途に限られる
であろう。データベースの拡張は、典型的な一例として
は、マルチプロセッサ・アレイにおけるプロセッサの個
数(及びプロセッサに組み合わされたディスク・ドライ
ブの個数)を拡張することによって行なわれる。
ス管理上のニーズ、トランザクションの量、及びその記
憶装置に組み合わされているマイクロプロセッサの処理
力に応じて定められるものである。複数のディスク・ド
ライブ1個のAMPに接続したり、1台のディスク・フ
ァイル装置を複数のAMPに接続することも可能である
が、そのような変更態様は通常は特殊な用途に限られる
であろう。データベースの拡張は、典型的な一例として
は、マルチプロセッサ・アレイにおけるプロセッサの個
数(及びプロセッサに組み合わされたディスク・ドライ
ブの個数)を拡張することによって行なわれる。
能動ロジック・ネットワーク 秩序立ったメッセージ・パケットの流れを提供するとい
う目的とタスクの実行を容易にするという目的とは、新
規な能動ロジック・ネットワーク構成体50を中心とし
た、独特のシステム・アーキテクチュア並びにメッセー
ジ構造を採用することによって達成される。この能動ロ
ジック・ネットワーク構成体50は、複数のマイクロプ
ロセッサの複数の出力に対して、階層を登りながらそれ
らの出力を収束させて行く昇順階層を成す、複数の双方
向能動ロジック・ノード(bidirectional active logic
node)54によって構成されている。それらのノード
54は、3つのポートを備えた双方向回路から成るもの
であり、この双方向回路はツリー・ネットワーク(tree
network:樹枝状の構造を持つネットワーク)を形成す
ることができ、その場合には、そのツリー構造のベース
の部分においてマイクロプロセッサ14、16及び18
〜23に接続される。
う目的とタスクの実行を容易にするという目的とは、新
規な能動ロジック・ネットワーク構成体50を中心とし
た、独特のシステム・アーキテクチュア並びにメッセー
ジ構造を採用することによって達成される。この能動ロ
ジック・ネットワーク構成体50は、複数のマイクロプ
ロセッサの複数の出力に対して、階層を登りながらそれ
らの出力を収束させて行く昇順階層を成す、複数の双方
向能動ロジック・ノード(bidirectional active logic
node)54によって構成されている。それらのノード
54は、3つのポートを備えた双方向回路から成るもの
であり、この双方向回路はツリー・ネットワーク(tree
network:樹枝状の構造を持つネットワーク)を形成す
ることができ、その場合には、そのツリー構造のベース
の部分においてマイクロプロセッサ14、16及び18
〜23に接続される。
当業者には理解されるように、ノードは、ロジック・ソ
ースの数が2を超えて、例えば4または8であるときに
設けることができ、この場合、同時にまた、ソース入力
の数を多くするという問題も組合せロジックを更に付加
するという問題に変換してしますことができる。
ースの数が2を超えて、例えば4または8であるときに
設けることができ、この場合、同時にまた、ソース入力
の数を多くするという問題も組合せロジックを更に付加
するという問題に変換してしますことができる。
図の参照を容易にするために、すべてのノード(N)のう
ち、第1階層に属しているものはそれをプリフィックス
「I」で表わし、また第2階層に属しているものはそれ
をプリフィックス「II」で表わし、以下同様とする。同
一の階層に属している個々のノードは、下添字「1、2
…」によって表わし、従って、例えば第1階層の第4ノ
ードであれば「IN4」と表わすことができる。ノード
のアップ・ツリー側(即ち上流側)には「Cポート」と
名付けられた1つのポートが備えられており、このCポ
ート隣接する高位の階層に属しているノードの2つのダ
ウン・ツリー・ポートのうちの一方に接続されており、
それらのダウン・ツリー・ポートは夫々「Aポート」及
び「Bポート」と名付けられている。これら複数の階層
は、最上部ノード即ち頂点ノード54aへと収束してお
り、この頂点ノード54aは、上流へ向けられたメッセ
ージ(アップ・ツリー・メッセージ)の流れの向きを逆
転して下流方向(ダウン・ツリー方向)へ向ける、収束
及び転回のための手段として機能している。2組のツリ
ー・ネットワーク50a、50bが使用されており、そ
れら2組のネットワークにおけるノードどうし、それに
相互接続部どうしは互いに並列に配置されており、それ
によって大規模システムに望まれる冗長性を得ている。
ノード54どうし、そしてそれらのネットワークどうし
は互いに同一であるので、それらのネットワークのうち
の一方のみを説明すれば充分である。
ち、第1階層に属しているものはそれをプリフィックス
「I」で表わし、また第2階層に属しているものはそれ
をプリフィックス「II」で表わし、以下同様とする。同
一の階層に属している個々のノードは、下添字「1、2
…」によって表わし、従って、例えば第1階層の第4ノ
ードであれば「IN4」と表わすことができる。ノード
のアップ・ツリー側(即ち上流側)には「Cポート」と
名付けられた1つのポートが備えられており、このCポ
ート隣接する高位の階層に属しているノードの2つのダ
ウン・ツリー・ポートのうちの一方に接続されており、
それらのダウン・ツリー・ポートは夫々「Aポート」及
び「Bポート」と名付けられている。これら複数の階層
は、最上部ノード即ち頂点ノード54aへと収束してお
り、この頂点ノード54aは、上流へ向けられたメッセ
ージ(アップ・ツリー・メッセージ)の流れの向きを逆
転して下流方向(ダウン・ツリー方向)へ向ける、収束
及び転回のための手段として機能している。2組のツリ
ー・ネットワーク50a、50bが使用されており、そ
れら2組のネットワークにおけるノードどうし、それに
相互接続部どうしは互いに並列に配置されており、それ
によって大規模システムに望まれる冗長性を得ている。
ノード54どうし、そしてそれらのネットワークどうし
は互いに同一であるので、それらのネットワークのうち
の一方のみを説明すれば充分である。
説明を分り易くするために先ず第1に理解しておいて頂
きたいことは、シリアルな信号列の形態とされている多
数のメッセージ・パケットが、多くのマイクロプロセッ
サの接続によって能動ロジック・ネットワーク50へ同
時に送出され、或いは同時に送出することが可能とされ
ているということである。複数の能動ロジック・ノード
54はその各々が2進数ベースで動作して2つの互いに
衝突関係にある衝突メッセージ・パケットの間の優先権
の判定を行ない、この優先権の判定は、それらのメッセ
ージパケット自体のデータ内容を用いて行なわれる。更
には、1つのネットワークの中のすべてのノード54は
1つのクロック・ソース56の制御下にに置かれてお
り、このクロック・ソース56は、メッセージパケット
の列を頂点ノード54aへ向けて同期して進めることが
できるような態様で、それらのノード54に組み合わさ
れている。このようにして、シリアルな信号列の中の、
連続する各々のバイト等の増分セグメントが次の階層へ
と進められ、このバイトの進行は、別のメッセージの中
のそのバイトに対応するバイトがこのネットワーク50
内の別の経路をたどって同様に進行するのと同時に行な
われる。
きたいことは、シリアルな信号列の形態とされている多
数のメッセージ・パケットが、多くのマイクロプロセッ
サの接続によって能動ロジック・ネットワーク50へ同
時に送出され、或いは同時に送出することが可能とされ
ているということである。複数の能動ロジック・ノード
54はその各々が2進数ベースで動作して2つの互いに
衝突関係にある衝突メッセージ・パケットの間の優先権
の判定を行ない、この優先権の判定は、それらのメッセ
ージパケット自体のデータ内容を用いて行なわれる。更
には、1つのネットワークの中のすべてのノード54は
1つのクロック・ソース56の制御下にに置かれてお
り、このクロック・ソース56は、メッセージパケット
の列を頂点ノード54aへ向けて同期して進めることが
できるような態様で、それらのノード54に組み合わさ
れている。このようにして、シリアルな信号列の中の、
連続する各々のバイト等の増分セグメントが次の階層へ
と進められ、このバイトの進行は、別のメッセージの中
のそのバイトに対応するバイトがこのネットワーク50
内の別の経路をたどって同様に進行するのと同時に行な
われる。
互いに競合する信号列の間に優先権を付与するためのソ
ートが、アップ・ツリー方向へ移動しているメッセージ
パケットに対して行なわれ、これによって最終的には、
頂点ノード54aから下流へ向けて方向転換されるべき
単一のメッセージ列が選択される。以上のようにシステ
ムが構成されているため最終的な優先権についての判定
をメッセージパケット内のある1つの特定の点において
行なう必要はなくなっており、そのため、個々のノード
54において実行されている2つの互いに衝突している
パケット間の2進数ベースの判定以外のものを必要とす
ることなしに、メッセージの転送を続けて行なうことが
できるようになっている。この結果、このシステムは空
間的及び時間的にメッセージの選択とデータの転送とを
行なうようになっているわけであるが、ただし、バスの
支配権を得たり、送信プロセッサあるいは受信プロセッ
サを識別したり、またはプロセッサ間のハンドシェイキ
ング操作を実行する目的のために、メッセージ伝送を遅
延させるようなことはない。
ートが、アップ・ツリー方向へ移動しているメッセージ
パケットに対して行なわれ、これによって最終的には、
頂点ノード54aから下流へ向けて方向転換されるべき
単一のメッセージ列が選択される。以上のようにシステ
ムが構成されているため最終的な優先権についての判定
をメッセージパケット内のある1つの特定の点において
行なう必要はなくなっており、そのため、個々のノード
54において実行されている2つの互いに衝突している
パケット間の2進数ベースの判定以外のものを必要とす
ることなしに、メッセージの転送を続けて行なうことが
できるようになっている。この結果、このシステムは空
間的及び時間的にメッセージの選択とデータの転送とを
行なうようになっているわけであるが、ただし、バスの
支配権を得たり、送信プロセッサあるいは受信プロセッ
サを識別したり、またはプロセッサ間のハンドシェイキ
ング操作を実行する目的のために、メッセージ伝送を遅
延させるようなことはない。
更に、特に認識しておいて頂きたいことは、幾つかのプ
ロセッサが全く同一のバケットを同時に送信した場合に
は、その送信が成功したならば、それらの送信プロセッ
サの全てが成功したのと同じことになるというコとであ
る。この性質は時間とオーバーヘッドを節約するので大
型マルチプロセッサ複合体の有効な制御を行うのに極め
て有用である。
ロセッサが全く同一のバケットを同時に送信した場合に
は、その送信が成功したならば、それらの送信プロセッ
サの全てが成功したのと同じことになるというコとであ
る。この性質は時間とオーバーヘッドを節約するので大
型マルチプロセッサ複合体の有効な制御を行うのに極め
て有用である。
ノード54は更に双方向方式で作動するため、妨害を受
けることのない、下流方向へのメッセージ・パケットの
分配を可能にしている。所与のノード54において、そ
のアップ・ツリー側に設けられたポートCで受取られた
下流方向メッセージは、このノードのダウン・ツリー側
に設けられたポートA及びポートBの両方へ分配され、
更に、このノードに接続された隣接する低位の階層に属
する2つのノードの両方へ転送される。コモン・クロッ
ク回路56の制御の下にメッセージ・パケットは同期し
てダウン・ツリー方向へ進められ、そして全てのマイク
ロプロセッサへ同時にブロードカスト(broadcast:一
斉伝達)され、それによって、1つまたは複数のプロセ
ッサが、所望の処理タスクの実行ができるようになる
か、または応答を受入れることができるようになる。
けることのない、下流方向へのメッセージ・パケットの
分配を可能にしている。所与のノード54において、そ
のアップ・ツリー側に設けられたポートCで受取られた
下流方向メッセージは、このノードのダウン・ツリー側
に設けられたポートA及びポートBの両方へ分配され、
更に、このノードに接続された隣接する低位の階層に属
する2つのノードの両方へ転送される。コモン・クロッ
ク回路56の制御の下にメッセージ・パケットは同期し
てダウン・ツリー方向へ進められ、そして全てのマイク
ロプロセッサへ同時にブロードカスト(broadcast:一
斉伝達)され、それによって、1つまたは複数のプロセ
ッサが、所望の処理タスクの実行ができるようになる
か、または応答を受入れることができるようになる。
ネットワーク50は、そのデータ転送速度が、マイクロ
プロセッサのデータ転送速度と比較してより高速であ
り、典型的な例としては2倍以上の高速である。本実施
例においては、ネットワーク50は120ナノ秒のバイ
ト・クロック・インタバルをもっており、そのデータ転
送速度はマイクロプロセッサの5倍の速度である。各ノ
ード54は、その3つのポートの各々が、そのノードに
接続されている隣接する階層に属するノードのポート
か、或いはマイクロプロセッサに接続されており、この
接続は1組のデータ・ライン(本実施例においては10
本)と制御ライン(本実施例においては2本)とによっ
てなされており、2本の制御ラインは夫々、クロック信
号とコリジョン信号(衝突信号)とに割当てられてい
る。データ・ラインとクロック・ラインとは対になすよ
うにして配線され、アップ・ツリー方向とダウン・ツリ
ー方向とでは別々のラインとされている。コリジョン・
ラインはダウン・ツリー方向にのみ伝播を行なうもので
ある。以上の接続構造は全二重式のデータ経路を形成し
ており、どのラインについてもその駆動方向を「反転」
するのに遅延を必要としないようになっている。
プロセッサのデータ転送速度と比較してより高速であ
り、典型的な例としては2倍以上の高速である。本実施
例においては、ネットワーク50は120ナノ秒のバイ
ト・クロック・インタバルをもっており、そのデータ転
送速度はマイクロプロセッサの5倍の速度である。各ノ
ード54は、その3つのポートの各々が、そのノードに
接続されている隣接する階層に属するノードのポート
か、或いはマイクロプロセッサに接続されており、この
接続は1組のデータ・ライン(本実施例においては10
本)と制御ライン(本実施例においては2本)とによっ
てなされており、2本の制御ラインは夫々、クロック信
号とコリジョン信号(衝突信号)とに割当てられてい
る。データ・ラインとクロック・ラインとは対になすよ
うにして配線され、アップ・ツリー方向とダウン・ツリ
ー方向とでは別々のラインとされている。コリジョン・
ラインはダウン・ツリー方向にのみ伝播を行なうもので
ある。以上の接続構造は全二重式のデータ経路を形成し
ており、どのラインについてもその駆動方向を「反転」
するのに遅延を必要としないようになっている。
次に第3図に関して説明すると、10本のデータ・ライ
ンは、ビット0〜7で表わされている8ビット・バイト
を含んでおり、それらが10本のデータ・ラインのうち
の8本を占めている。Cで表わされている別の1本のラ
インは制御ラインであり、このラインは特定の方法でメ
ッセージパケットの異なる部分を明示するのに用いられ
る制御シーケンスを搬送する。10番目のビットは本実
施例においては奇数パリテイ用に使用されている。当業
者には理解されるように、このシステムは以上のデータ
経路中のビットの数を増減しても良く、そのようにビッ
トの数を変更しても容易に動作させることができる。
ンは、ビット0〜7で表わされている8ビット・バイト
を含んでおり、それらが10本のデータ・ラインのうち
の8本を占めている。Cで表わされている別の1本のラ
インは制御ラインであり、このラインは特定の方法でメ
ッセージパケットの異なる部分を明示するのに用いられ
る制御シーケンスを搬送する。10番目のビットは本実
施例においては奇数パリテイ用に使用されている。当業
者には理解されるように、このシステムは以上のデータ
経路中のビットの数を増減しても良く、そのようにビッ
トの数を変更しても容易に動作させることができる。
バイト・シーケンス(バイトの列)は、一連の複数のフ
ィールドを構成するように配列され、基本的には、コマ
ンド・フィールド、キー・フィールド、転送先選択フィ
ールド、及びデータ・フィールドに分割されている。後
に更に詳細に説明するように、メッセージはただ1つだ
けのフィールドを用いることもあり、また検出可能な
「エンド・オブ・メッセージ」コードをもって終了する
ようになっている。メッセージ間に介在する「アイドル
・フィールド(idle field:遊びフィールド)」は、C
ライン上並びにライン0〜7上のとぎれのない一連の
「1」によって表わされ、いかなるメッセージパケット
も得られない状態にあるときには常にこれが転送されて
いる。パリティ・ラインは更に、個々のプロセッサのス
テータスの変化を独特の方式で伝えるためにも使用され
る。
ィールドを構成するように配列され、基本的には、コマ
ンド・フィールド、キー・フィールド、転送先選択フィ
ールド、及びデータ・フィールドに分割されている。後
に更に詳細に説明するように、メッセージはただ1つだ
けのフィールドを用いることもあり、また検出可能な
「エンド・オブ・メッセージ」コードをもって終了する
ようになっている。メッセージ間に介在する「アイドル
・フィールド(idle field:遊びフィールド)」は、C
ライン上並びにライン0〜7上のとぎれのない一連の
「1」によって表わされ、いかなるメッセージパケット
も得られない状態にあるときには常にこれが転送されて
いる。パリティ・ラインは更に、個々のプロセッサのス
テータスの変化を独特の方式で伝えるためにも使用され
る。
「アイドル状態(idle state:遊び状態)」はメッセー
ジとメッセージとの間に介在する状態であって、メッセ
ージ・パケットの一部分ではない。メッセージ・パケッ
トは通常、タグを含む2バイトのコマンド・ワードで始
まり、このタグは、そのメッセージがデータ・メッセー
ジであればトランザクション・ナンバ(TN)の形とさ
れており、また、そのメッセージが応答メッセージであ
れば発信元プロセッサID(OPID)の形とされてい
る。トランザクション・ナンバは、システムの中におい
て様々なレベルの意義を有するものであり、多くの種類
の機能的通信及び制御の基礎を成すものとして機能する
ものである。パケットは、このコマンド・ワードの後に
は、可変長のキー・フィールドと固定長の転送先選択ワ
ード(destination selection word:DSW)とのいず
れか或いは双方を含むことができ、これらは可変長のデ
ータ・フィールドの先頭の部分を成すものである。キー
・フィールドは、このキー・フィールド以外の部分にお
いてはメッセージどうしが互いに同一であるという場合
に、それらのメセージの間のソーティングのための判断
基準を提供するという目的を果たすものである。DSW
は、多数の特別な機能の基礎を提供するものであり、ま
た、TNと共に特に注意するのに値するものである。
ジとメッセージとの間に介在する状態であって、メッセ
ージ・パケットの一部分ではない。メッセージ・パケッ
トは通常、タグを含む2バイトのコマンド・ワードで始
まり、このタグは、そのメッセージがデータ・メッセー
ジであればトランザクション・ナンバ(TN)の形とさ
れており、また、そのメッセージが応答メッセージであ
れば発信元プロセッサID(OPID)の形とされてい
る。トランザクション・ナンバは、システムの中におい
て様々なレベルの意義を有するものであり、多くの種類
の機能的通信及び制御の基礎を成すものとして機能する
ものである。パケットは、このコマンド・ワードの後に
は、可変長のキー・フィールドと固定長の転送先選択ワ
ード(destination selection word:DSW)とのいず
れか或いは双方を含むことができ、これらは可変長のデ
ータ・フィールドの先頭の部分を成すものである。キー
・フィールドは、このキー・フィールド以外の部分にお
いてはメッセージどうしが互いに同一であるという場合
に、それらのメセージの間のソーティングのための判断
基準を提供するという目的を果たすものである。DSW
は、多数の特別な機能の基礎を提供するものであり、ま
た、TNと共に特に注意するのに値するものである。
このシステムは、ワード同期をとられているインターフ
ェイスを用いて動作するようになっており、パケットを
送信しようとしている全てのプロセッサは、コマンド・
ワードの最初のバイトを互いに同時にネットワーク50
へ送出するようになっている。ネットワークは、これに
続く諸フィールドのデータ内容を利用して、各ノードに
おいて2進数ベースでソーティングを行ない、このソー
ティングは、最小の数値に優先権が与えられるという方
式で行なわれる。連続するデータ・ビットの中で、ビッ
トCを最も大きい量である見なし、ビット0を最も小さ
い量であると見なすならば、ソーティングの優先順位は
以下のようになる。
ェイスを用いて動作するようになっており、パケットを
送信しようとしている全てのプロセッサは、コマンド・
ワードの最初のバイトを互いに同時にネットワーク50
へ送出するようになっている。ネットワークは、これに
続く諸フィールドのデータ内容を利用して、各ノードに
おいて2進数ベースでソーティングを行ない、このソー
ティングは、最小の数値に優先権が与えられるという方
式で行なわれる。連続するデータ・ビットの中で、ビッ
トCを最も大きい量である見なし、ビット0を最も小さ
い量であると見なすならば、ソーティングの優先順位は
以下のようになる。
1.ネットワーク50へ最初に送出されたもの、 2.コマンド・コード(コマンド・ワード)が最小値で
あるもの、 3.キー・フィールドが最小値であるもの、 4.キー・フィールドが最短であるもの、 5.データ・フィールド(転送先選択ワードを含む)が
最小値であるもの、、 6.データ・フィールドが最短であるもの。
あるもの、 3.キー・フィールドが最小値であるもの、 4.キー・フィールドが最短であるもの、 5.データ・フィールド(転送先選択ワードを含む)が
最小値であるもの、、 6.データ・フィールドが最短であるもの。
ここで概観を説明しているという目的に鑑み、特に記し
ておかねばならないことは、ノード54において優先権
の判定が下されたならば、コリジョン表示(=衝突表
示、以下AcolまたはBcolと称する)が、この優先権の判
定において敗退した方の送信を受取った方の経路に返さ
れるということである。このコリジョン表示によって、
送信を行なっているマイクロプロセッサは、ネットワー
ク50がより高い優先順位の送信のために使用されてい
るため自らの送信は中止されており、従って後刻再び送
信を試みる必要があるということを認識することができ
る。
ておかねばならないことは、ノード54において優先権
の判定が下されたならば、コリジョン表示(=衝突表
示、以下AcolまたはBcolと称する)が、この優先権の判
定において敗退した方の送信を受取った方の経路に返さ
れるということである。このコリジョン表示によって、
送信を行なっているマイクロプロセッサは、ネットワー
ク50がより高い優先順位の送信のために使用されてい
るため自らの送信は中止されており、従って後刻再び送
信を試みる必要があるということを認識することができ
る。
単純化した具体例が、第2図の種々の図式に示されてい
る。この具体例は、ネットワーク50が4個の別々のマ
イクロプロセッサを用いたツリー構造に配列された高速
ランダム・アクセス・メモリと協働して動作するように
したものであり、それら4個のマイクロプロセッサは更
に詳しく説明すると、IFP14と、3個のAMP1
8、19及び20とである。計10面の副図2A、2
B、…2Jは、その各々が、t=0からt=9までの連
続する10個の時刻標本のうちの1つに対応しており、
そしてそれらの時刻の各々における、このネットワーク
内のマイクロプロセッサの各々から送出される互いに異
なった単純化された(4個の文字からなる)シリアル・
メッセージの分配の態様、並びに、それらの種々の時刻
における、ポートとマイクロプロセッサとの間の通信の
状態を示している。単に第2図とだけ書かれている図面
は、信号の伝送の開始前のシステムの状態を示してい
る。以上の個々の図においては、ナル状態(null stat
e:ゼロの状態)即ちアイドル状態であるためには、
「□」で表される伝送が行なわれていなければらないも
のとしている。最小値をとるデータ内容が優先権を有す
るという取決めがあるため、第2A図中のAMP19か
ら送出されるメッセージ・パケット「EDDV」が、最
初にこのシステムを通して伝送されるメッセージ・パケ
ットとなる。図中の夫々のメッセージは、後に更に詳細
に説明するように、マイクロプロセッサの中の高速ラン
ダム・アクセス・メモリ(H.S.RAMと呼称するこ
ともある)の内部に保持されている。H.S.RAM2
6は、第2図には概略的に示されている入力用領域と出
力用領域とを有しており、パケットは、t=0の時点に
おいては、この出力領域の中にFIFO(先入れ先出
し)方式で垂直に並べて配列されており、それによっ
て、転送に際しては図中のH.S.RAM26に書込ま
れているカーソル用矢印に指示されているようにして取
り出すことができるようになっている。この時点におい
ては、ネットワーク50の中のすべての伝送は、ナル状
態即ちアイドル状態(□)を示している。
る。この具体例は、ネットワーク50が4個の別々のマ
イクロプロセッサを用いたツリー構造に配列された高速
ランダム・アクセス・メモリと協働して動作するように
したものであり、それら4個のマイクロプロセッサは更
に詳しく説明すると、IFP14と、3個のAMP1
8、19及び20とである。計10面の副図2A、2
B、…2Jは、その各々が、t=0からt=9までの連
続する10個の時刻標本のうちの1つに対応しており、
そしてそれらの時刻の各々における、このネットワーク
内のマイクロプロセッサの各々から送出される互いに異
なった単純化された(4個の文字からなる)シリアル・
メッセージの分配の態様、並びに、それらの種々の時刻
における、ポートとマイクロプロセッサとの間の通信の
状態を示している。単に第2図とだけ書かれている図面
は、信号の伝送の開始前のシステムの状態を示してい
る。以上の個々の図においては、ナル状態(null stat
e:ゼロの状態)即ちアイドル状態であるためには、
「□」で表される伝送が行なわれていなければらないも
のとしている。最小値をとるデータ内容が優先権を有す
るという取決めがあるため、第2A図中のAMP19か
ら送出されるメッセージ・パケット「EDDV」が、最
初にこのシステムを通して伝送されるメッセージ・パケ
ットとなる。図中の夫々のメッセージは、後に更に詳細
に説明するように、マイクロプロセッサの中の高速ラン
ダム・アクセス・メモリ(H.S.RAMと呼称するこ
ともある)の内部に保持されている。H.S.RAM2
6は、第2図には概略的に示されている入力用領域と出
力用領域とを有しており、パケットは、t=0の時点に
おいては、この出力領域の中にFIFO(先入れ先出
し)方式で垂直に並べて配列されており、それによっ
て、転送に際しては図中のH.S.RAM26に書込ま
れているカーソル用矢印に指示されているようにして取
り出すことができるようになっている。この時点におい
ては、ネットワーク50の中のすべての伝送は、ナル状
態即ちアイドル状態(□)を示している。
これに対して、第2B図に示されているt=1の時点に
おいては、各々のメッセージパケットの先頭のバイトが
互いに同時にネットワーク50へ送出され、このとき全
てのノード54はいまだにアイドル状態表示を返してお
り、また、第1階層より上のすべての転送状態もアイド
ル状態となっている。第1番目のクロック・インタバル
の間に夫々のメッセージの先頭のバイトが最下層のノー
ドIN1及びIN2の内部にセットされ、t=2におい
て(第2C図)競合に決着が付けられ、そして上流方向
への伝送と下流方向への伝送の双方が続けて実行され
る。ノードIN1はその両方の入力ポートに「E」を受
取っており、そしてこれを上流方向の次の階層へ向けて
転送していて、また下流方向へは両方の送信プロセッサ
へ向けて未判定の状態を表示している。しかしながらこ
れと同じ階層に属しているノードIN2は、プロセッサ
19からの「E」とプロセッサ20からの「P」との間
の衝突に際しての優先権の判定を、「E」の方に優先権
があるものと判定しており、そして、ポートAをアップ
・ツリー側のポートCに結合する一方、マイクロプロセ
ッサ20へBcol信号を返している。Bcol信号がマイクロ
プロセッサ20へ返されると、IN2ノードは実際上、
そのA入力ポートがC出力ポートにロックされたことに
なり、それによって、マイクロプロセッサ19からのシ
リアルな信号列が頂点ノードIIN1へ伝送されるように
なる。
おいては、各々のメッセージパケットの先頭のバイトが
互いに同時にネットワーク50へ送出され、このとき全
てのノード54はいまだにアイドル状態表示を返してお
り、また、第1階層より上のすべての転送状態もアイド
ル状態となっている。第1番目のクロック・インタバル
の間に夫々のメッセージの先頭のバイトが最下層のノー
ドIN1及びIN2の内部にセットされ、t=2におい
て(第2C図)競合に決着が付けられ、そして上流方向
への伝送と下流方向への伝送の双方が続けて実行され
る。ノードIN1はその両方の入力ポートに「E」を受
取っており、そしてこれを上流方向の次の階層へ向けて
転送していて、また下流方向へは両方の送信プロセッサ
へ向けて未判定の状態を表示している。しかしながらこ
れと同じ階層に属しているノードIN2は、プロセッサ
19からの「E」とプロセッサ20からの「P」との間
の衝突に際しての優先権の判定を、「E」の方に優先権
があるものと判定しており、そして、ポートAをアップ
・ツリー側のポートCに結合する一方、マイクロプロセ
ッサ20へBcol信号を返している。Bcol信号がマイクロ
プロセッサ20へ返されると、IN2ノードは実際上、
そのA入力ポートがC出力ポートにロックされたことに
なり、それによって、マイクロプロセッサ19からのシ
リアルな信号列が頂点ノードIIN1へ伝送されるように
なる。
IN1ノードにおいては最初の2つの文字はどちらも
「ED」であり、そのため第2C図に示すように、この
ノードではt=2の時刻には、判定を下すことは不可能
となっている。更には、3つのマイクロプロセッサ1
4、15及び19から送出された共通の先頭の文字
「E」は、t=3(第2D図)の時刻にIIN1頂点ノー
ドに達し、そしてこの文字「E」は、同じくそれら全て
のメッセージに共通する第2番目の文字「D」がこの頂
点ノードIIN1へ転送されるときに、その転送の向きを
反転されて下流方向へ向けられる。この時点ではノード
IN1は未だ判定を下せない状態にあるが、しかしなが
らこのときには、一連のマイクロプロセッサ14、18
及び19からの夫々の第3番目の文字「F」、「E」及
び「D」がこのノードIN1へ送信されつつある。マイ
クロプロセッサ20がBcol信号を受取るということはこ
のプロセッサ20が優先権を得るための競合において敗
退したことを意味しており、それゆえこのプロセッサ2
0はBcol信号を受取ったならばアイドル表示(□)を送
出し、またそれ以降もこのアイドル(□)だけを送出す
る。夫々の出力バッファに書込まれている夫々のカーソ
ル矢印は、マイクロプロセッサ20はその初期状態に戻
されているがその他のマイクロプロセッサは連続する一
連の文字を送り続けていることを示している。従ってt
=4(第2E図)の時刻における重要な出来事は、ノー
ドIN1のポートに関する判定が行なわれることと、そ
れに、先頭の文字(「E」)が、全てのラインを通って
第1階層のノード階層へ向けて反転伝送されることであ
る。t=5(第2F図)の時刻には2回目の衝突が表示
され、この場合、ノードIIN1のBポートが競合に勝利
し、Acolが発生される。
「ED」であり、そのため第2C図に示すように、この
ノードではt=2の時刻には、判定を下すことは不可能
となっている。更には、3つのマイクロプロセッサ1
4、15及び19から送出された共通の先頭の文字
「E」は、t=3(第2D図)の時刻にIIN1頂点ノー
ドに達し、そしてこの文字「E」は、同じくそれら全て
のメッセージに共通する第2番目の文字「D」がこの頂
点ノードIIN1へ転送されるときに、その転送の向きを
反転されて下流方向へ向けられる。この時点ではノード
IN1は未だ判定を下せない状態にあるが、しかしなが
らこのときには、一連のマイクロプロセッサ14、18
及び19からの夫々の第3番目の文字「F」、「E」及
び「D」がこのノードIN1へ送信されつつある。マイ
クロプロセッサ20がBcol信号を受取るということはこ
のプロセッサ20が優先権を得るための競合において敗
退したことを意味しており、それゆえこのプロセッサ2
0はBcol信号を受取ったならばアイドル表示(□)を送
出し、またそれ以降もこのアイドル(□)だけを送出す
る。夫々の出力バッファに書込まれている夫々のカーソ
ル矢印は、マイクロプロセッサ20はその初期状態に戻
されているがその他のマイクロプロセッサは連続する一
連の文字を送り続けていることを示している。従ってt
=4(第2E図)の時刻における重要な出来事は、ノー
ドIN1のポートに関する判定が行なわれることと、そ
れに、先頭の文字(「E」)が、全てのラインを通って
第1階層のノード階層へ向けて反転伝送されることであ
る。t=5(第2F図)の時刻には2回目の衝突が表示
され、この場合、ノードIIN1のBポートが競合に勝利
し、Acolが発生される。
続く数回のクロック・タイムの間は、シリアルな信号列
の下流方向へのブロードカストが断続して行なわれ、t
=6(第2G図)の時刻には、メッセージの先頭の文字
が全てのH.S.RAM26の入力用領域の部分の中に
セットされる。ここでもう1つ注意しておいて頂きたい
ことは、ノードIN1において先に行なわれた優先権の
判定はこの時点において無効とされるということであ
り、その理由は、プロセッサ18から送出された第3番
目の文字(「E」)がマイクロプロセッサ19から送出
された第3番目の文字(「D」)との競合に敗退したと
きに、より高位の階層のノードIIN1から一Acolの表示
がなされるためである。第2H図中においてカーソル矢
印が表わしているように、マイクロプロセッサ14、1
8及び20はそれらの初期状態に戻されており、また、
勝利したマイクロプロセッサ19は、その全ての送信を
t=4の時刻に既に完了している。第2H図、第2I
図、及び第2J図から分るように、全ての入力バッファ
の中へ、次々に優先メッセージ「EDDV」がロードさ
れて行く。t=8(第2I図)において、このメッセー
ジは既に第1階層から流れ出てしまっており、また、頂
点ノードIIN1はt=7において既にリセットされた状
態になっているが、それは、マイクロプロセッサへ向け
て最後の下流方向文字が転送されるときには、既にアイ
ドル信号だけが互いに競合しているからである。t=9
(第2J図)の時刻には、第1階層に属しているノード
IN1及びIN2はリセットされており、そして、敗退
したマイクロプロセッサ14、18及び20の全ては、
ネットワークが再びアイドルを指示しているときにメッ
セージの先頭の文字を送出することによって、ネットワ
ーク上における優先権を得るための競合を再度行なうこ
とになる。実際には後に説明するように、勝利したマイ
クロプロセッサへ肯定応答信号が伝送されるのである
が、このことは、本発明を最大限に一般化したものにと
っては必須ではない。
の下流方向へのブロードカストが断続して行なわれ、t
=6(第2G図)の時刻には、メッセージの先頭の文字
が全てのH.S.RAM26の入力用領域の部分の中に
セットされる。ここでもう1つ注意しておいて頂きたい
ことは、ノードIN1において先に行なわれた優先権の
判定はこの時点において無効とされるということであ
り、その理由は、プロセッサ18から送出された第3番
目の文字(「E」)がマイクロプロセッサ19から送出
された第3番目の文字(「D」)との競合に敗退したと
きに、より高位の階層のノードIIN1から一Acolの表示
がなされるためである。第2H図中においてカーソル矢
印が表わしているように、マイクロプロセッサ14、1
8及び20はそれらの初期状態に戻されており、また、
勝利したマイクロプロセッサ19は、その全ての送信を
t=4の時刻に既に完了している。第2H図、第2I
図、及び第2J図から分るように、全ての入力バッファ
の中へ、次々に優先メッセージ「EDDV」がロードさ
れて行く。t=8(第2I図)において、このメッセー
ジは既に第1階層から流れ出てしまっており、また、頂
点ノードIIN1はt=7において既にリセットされた状
態になっているが、それは、マイクロプロセッサへ向け
て最後の下流方向文字が転送されるときには、既にアイ
ドル信号だけが互いに競合しているからである。t=9
(第2J図)の時刻には、第1階層に属しているノード
IN1及びIN2はリセットされており、そして、敗退
したマイクロプロセッサ14、18及び20の全ては、
ネットワークが再びアイドルを指示しているときにメッ
セージの先頭の文字を送出することによって、ネットワ
ーク上における優先権を得るための競合を再度行なうこ
とになる。実際には後に説明するように、勝利したマイ
クロプロセッサへ肯定応答信号が伝送されるのである
が、このことは、本発明を最大限に一般化したものにと
っては必須ではない。
メッセージがこのようにして全てのマイクロプロセッサ
へブロードカストされた後には、このメッセージは、必
要に応じてそれらのマイクロプロセッサのいずれかによ
って、或いはそれらの全てによって利用される。どれ程
のマイクロプロセッサによって利用されるかは、動作の
モードと実行される機能の如何に応じて異なるものであ
り、それらの動作モードや機能には様々なバリエーショ
ンが存在する。
へブロードカストされた後には、このメッセージは、必
要に応じてそれらのマイクロプロセッサのいずれかによ
って、或いはそれらの全てによって利用される。どれ程
のマイクロプロセッサによって利用されるかは、動作の
モードと実行される機能の如何に応じて異なるものであ
り、それらの動作モードや機能には様々なバリエーショ
ンが存在する。
(大域的な相互通信と制御) 一群の互いに競合するメッセージのうちの1つのメッセ
ージに対してネットワークが優先権を与える方法として
上に説明した具体例は、プライマリ・データ・メッセー
ジの転送に関する例である。しかしながら、複雑なマル
チプロセッサ・システムが、現在求められている良好な
効率と多用途に亙る汎用性とを備えるためには、その他
の多くの種類の通信とコマンドとを利用する必要があ
る。備えられていなければならない主要な機能には、プ
ライマリ・データの転送に加えて、広い意味でマルチプ
ロセッサのモードと呼ぶことのできるもの、メッセージ
に対する肯定応答、ステータス表示、並びに制御信号が
含まれている。以下の章は、種々のモード並びにメッセ
ージが、どのようにして優先権付与のためのソーティン
グと通信とを行なうソーティング・コミュニケーション
・ネットワークと協働するかについて、大域的な観点か
ら、即ちマルチプロセッサ・システムの観点から説明し
た概観を提示するものである。更に詳細に理解するため
には、第8図及び第13図と、それらの図についての後
述の説明とを参照されたい。
ージに対してネットワークが優先権を与える方法として
上に説明した具体例は、プライマリ・データ・メッセー
ジの転送に関する例である。しかしながら、複雑なマル
チプロセッサ・システムが、現在求められている良好な
効率と多用途に亙る汎用性とを備えるためには、その他
の多くの種類の通信とコマンドとを利用する必要があ
る。備えられていなければならない主要な機能には、プ
ライマリ・データの転送に加えて、広い意味でマルチプ
ロセッサのモードと呼ぶことのできるもの、メッセージ
に対する肯定応答、ステータス表示、並びに制御信号が
含まれている。以下の章は、種々のモード並びにメッセ
ージが、どのようにして優先権付与のためのソーティン
グと通信とを行なうソーティング・コミュニケーション
・ネットワークと協働するかについて、大域的な観点か
ら、即ちマルチプロセッサ・システムの観点から説明し
た概観を提示するものである。更に詳細に理解するため
には、第8図及び第13図と、それらの図についての後
述の説明とを参照されたい。
一斉分配モード、即ちブロードカスト・モードにおいて
は、メッセージは特定の1個または複数個の受信プロセ
ッサを明示することなく、全てのプロセッサへ同時に送
達される。このモードが用いられるのは、典型的な例を
挙げるならば、応答、ステータス問合せ、コマンド、及
び制御機能に関してである。
は、メッセージは特定の1個または複数個の受信プロセ
ッサを明示することなく、全てのプロセッサへ同時に送
達される。このモードが用いられるのは、典型的な例を
挙げるならば、応答、ステータス問合せ、コマンド、及
び制御機能に関してである。
受信プロセッサが明示されている必要がある場合には、
メッセージ・パケットそれ自体の中に含まれている転送
先選択情報が、そのパケットを局所的に(=個々のプロ
セッサにおいて)受入れるか拒絶するかを判断するため
の判定基準を提供するようになっている。例を挙げれ
ば、受信プロセッサ・モジュールの内部のインターフェ
イス・ロジックが、高速RAM26に記憶されているマ
ップ情報に従って、そのパケットのデータがそのインタ
ーフェイス・ロッジクが組込まれている特定のプロセッ
サが関与する範囲に包含されるものか否かを識別する。
高速RAM内のマップ・ビットを種々に設定することに
よって様々な選択方式の判定基準を容易に設定すること
ができ、それらの選択方式には、例えば、特定の受信プ
ロセッサの選択、(「ハッシング」により)格納されて
いるデータベースの一部分の選択、ロジカル・プロセス
・タイプ(「クラス」)の選択、等々がある。ブロード
カストを局所的アクセス制御(=個々のプロセッサにお
いて実行されるアクセス制御)と共に用いることは、デ
ータベース管理システムにとっては特に有益であり、そ
れは、小さなオーバーヘッド用ソフトウェアしか必要と
せずに、広範に分散されたリレーショナル・データベー
スの任意の部分や、複数の大域的に既知となっているロ
ジカル・プロセスのうちの任意のものの分散された局所
的コピーに、アクセスすることができるからである。従
ってこのシステムは、メッセージの転送先として、1つ
の転送先プロセッサを特定して選択することもでき、ま
た、1つのクラスに属する複数の資源を特定して選択す
ることもできる。
メッセージ・パケットそれ自体の中に含まれている転送
先選択情報が、そのパケットを局所的に(=個々のプロ
セッサにおいて)受入れるか拒絶するかを判断するため
の判定基準を提供するようになっている。例を挙げれ
ば、受信プロセッサ・モジュールの内部のインターフェ
イス・ロジックが、高速RAM26に記憶されているマ
ップ情報に従って、そのパケットのデータがそのインタ
ーフェイス・ロッジクが組込まれている特定のプロセッ
サが関与する範囲に包含されるものか否かを識別する。
高速RAM内のマップ・ビットを種々に設定することに
よって様々な選択方式の判定基準を容易に設定すること
ができ、それらの選択方式には、例えば、特定の受信プ
ロセッサの選択、(「ハッシング」により)格納されて
いるデータベースの一部分の選択、ロジカル・プロセス
・タイプ(「クラス」)の選択、等々がある。ブロード
カストを局所的アクセス制御(=個々のプロセッサにお
いて実行されるアクセス制御)と共に用いることは、デ
ータベース管理システムにとっては特に有益であり、そ
れは、小さなオーバーヘッド用ソフトウェアしか必要と
せずに、広範に分散されたリレーショナル・データベー
スの任意の部分や、複数の大域的に既知となっているロ
ジカル・プロセスのうちの任意のものの分散された局所
的コピーに、アクセスすることができるからである。従
ってこのシステムは、メッセージの転送先として、1つ
の転送先プロセッサを特定して選択することもでき、ま
た、1つのクラスに属する複数の資源を特定して選択す
ることもできる。
更にまた、ハイ・レベルのデータベース問合せは、しば
しば、データベースの別々の部分の間の相互参照と、所
与のタスクについての一貫性を有するレファレンス(識
別情報)とを必要とする。メッセージに組込まれたトラ
ンザクション・ナンバ(TN)は種々の特質を持つもの
であるが、その中でも特に、そのような大域的なトラン
ザクションのアイデンティティ(同定情報)及びレファ
レンスを提供するものである。多数のタスクを、互いに
非同期的に動作するローカル・プロセッサ・モジュール
(局所的プロセッサ・モジュール)によって同時並行的
に処理することができるようになっており、また、各々
のタスクないしサブタスクは適当なTNを持つようにさ
れている。TNとDSW(転送先選択ワード)とコマン
ドとを様々に組合わせて用いることによって、実質的に
無限の融通性が達成されるようになっている。その割当
てと処理とが非同期的に行なわれている極めて多数のタ
スクに対して、広範なソート/マージ動作(sort/merge
operation)を適用することができるようになってい
る。TNについては、それを割当てることと放棄するこ
ととが可能となっており、またマージ動作については、
その開始と停止とが可能とされている。ある種のメッセ
ージ、例えば継続メッセージ等については、その他のメ
ッセージの伝送に優先する優先権を持つようにすること
ができる。TNと、それにそのTNに関するステータス
を更新するローカル・プロセッサとを利用することによ
り、ただ1つの問合せだけで所与のTNについての大域
的資源のステータスを判定することができるようになっ
ている。分散型の更新もまた一回の通信で達成できるよ
うになっている。本発明のシステムは、以上の全ての機
能が、ソフトウェアを拡張したりオーバーヘッドの負担
を著しく増大させることなく、実行されるようにするも
のである。
しば、データベースの別々の部分の間の相互参照と、所
与のタスクについての一貫性を有するレファレンス(識
別情報)とを必要とする。メッセージに組込まれたトラ
ンザクション・ナンバ(TN)は種々の特質を持つもの
であるが、その中でも特に、そのような大域的なトラン
ザクションのアイデンティティ(同定情報)及びレファ
レンスを提供するものである。多数のタスクを、互いに
非同期的に動作するローカル・プロセッサ・モジュール
(局所的プロセッサ・モジュール)によって同時並行的
に処理することができるようになっており、また、各々
のタスクないしサブタスクは適当なTNを持つようにさ
れている。TNとDSW(転送先選択ワード)とコマン
ドとを様々に組合わせて用いることによって、実質的に
無限の融通性が達成されるようになっている。その割当
てと処理とが非同期的に行なわれている極めて多数のタ
スクに対して、広範なソート/マージ動作(sort/merge
operation)を適用することができるようになってい
る。TNについては、それを割当てることと放棄するこ
ととが可能となっており、またマージ動作については、
その開始と停止とが可能とされている。ある種のメッセ
ージ、例えば継続メッセージ等については、その他のメ
ッセージの伝送に優先する優先権を持つようにすること
ができる。TNと、それにそのTNに関するステータス
を更新するローカル・プロセッサとを利用することによ
り、ただ1つの問合せだけで所与のTNについての大域
的資源のステータスを判定することができるようになっ
ている。分散型の更新もまた一回の通信で達成できるよ
うになっている。本発明のシステムは、以上の全ての機
能が、ソフトウェアを拡張したりオーバーヘッドの負担
を著しく増大させることなく、実行されるようにするも
のである。
本発明を用いるならばその結果として、従来技術におい
て通常見られる個数のマイクロプロセッサよりはるかに
多くの個数のプロセッサを備えたマルチプロセッサ・シ
ステムを、問題タスクに対して非常に効果的に動作させ
ることが可能になる。現在ではマイクロプロセッサは低
価格となっているため、問題領域において高性能を発揮
するシステムを、それも単に「ロー」パワー("raw" po
wer)が高性能であるというだけではないシステムを、
実現することができる。
て通常見られる個数のマイクロプロセッサよりはるかに
多くの個数のプロセッサを備えたマルチプロセッサ・シ
ステムを、問題タスクに対して非常に効果的に動作させ
ることが可能になる。現在ではマイクロプロセッサは低
価格となっているため、問題領域において高性能を発揮
するシステムを、それも単に「ロー」パワー("raw" po
wer)が高性能であるというだけではないシステムを、
実現することができる。
全てのメッセージのタイプと種々のサブタイプとを包含
する一貫性のある優先順位プロトコルが、ネットワーク
に供給される種々様々なメッセージの全てを包括するよ
うに定められている。応答メッセージ、ステータス・メ
ッセージ、並びに制御メッセージはプライマリ・データ
・メッセージとは異なる形式のメッセージであるが、そ
れらも同じように、ネットワークの競合/マージ動作(c
ontention/merge operation)を利用し、そしてそれによ
って、転送されている間に優先権の付与を受ける。本シ
ステムにおける応答メッセージは、肯定応答(ACK)
か、否定応答(NAK)か、或いは、そのプロセッサが
そのメッセージに対して有意義な処理を加えるための資
源を持っていないことを表わす表示(「非該当プロセッ
サ(not applicable processor)」−NAP)である。N
AK応答は、ロック(lock)状態、エラー状態、ないしは
オーバーラン(overrun)状態を表示する幾つかの異なっ
たタイプのうちのいずれであっても良い。発信元プロセ
ッサは1つだけであることも複数個ある場合もあるが、
発信元プロセッサはメッセージの送信を終了した後には
以上のような応答を必要とするため、応答メッセージに
はプライマリ・データ・メッセージより高位の優先順位
が与えられている。
する一貫性のある優先順位プロトコルが、ネットワーク
に供給される種々様々なメッセージの全てを包括するよ
うに定められている。応答メッセージ、ステータス・メ
ッセージ、並びに制御メッセージはプライマリ・データ
・メッセージとは異なる形式のメッセージであるが、そ
れらも同じように、ネットワークの競合/マージ動作(c
ontention/merge operation)を利用し、そしてそれによ
って、転送されている間に優先権の付与を受ける。本シ
ステムにおける応答メッセージは、肯定応答(ACK)
か、否定応答(NAK)か、或いは、そのプロセッサが
そのメッセージに対して有意義な処理を加えるための資
源を持っていないことを表わす表示(「非該当プロセッ
サ(not applicable processor)」−NAP)である。N
AK応答は、ロック(lock)状態、エラー状態、ないしは
オーバーラン(overrun)状態を表示する幾つかの異なっ
たタイプのうちのいずれであっても良い。発信元プロセ
ッサは1つだけであることも複数個ある場合もあるが、
発信元プロセッサはメッセージの送信を終了した後には
以上のような応答を必要とするため、応答メッセージに
はプライマリ・データ・メッセージより高位の優先順位
が与えられている。
本システムは更にSACKメッセージ(ステータス肯定
応答メッセージ:status acknowledgment messmge)を用
いており、このSACKメッセージは、特定のタスク即
ちトランザクションに関する、ある1つのローカル・プ
ロセッサのレディネス状態(どのような動作が可能であ
るかという状態:readiness state)を表示するものであ
る。このSACK応答の内容は局所的に(=個々のプロ
セッサにおいて、即ちローカル・プロセッサにおいて)
更新されると共に、ネットワークからアクセスできる状
態に保持される。斯かるSACK応答は、ネットワーク
のマージ動作と組合わせることによって、所与のタスク
即ちトランザクションに関する単一の問合せによる大域
的ステータス報告が得られるようにしている。ステータ
ス応答は優先順位プロトコルに従うため、ある1つのト
ランザクション・ナンバに関する応答のうちのデータ内
容が最小の応答が自動的に優先権を得ることになり、そ
れによって最低のレディネス状態が大域的なシステム状
態として確定され、しかもこれは中断されることのない
1回の動作によって行なわれる。更に、このようなSA
CK表示はある種のプライマリ・メッセージと共に用い
られることもあり、それによって、例えばシステムの初
期化やロックアウト動作等の、様々なプロトコルが設定
される。
応答メッセージ:status acknowledgment messmge)を用
いており、このSACKメッセージは、特定のタスク即
ちトランザクションに関する、ある1つのローカル・プ
ロセッサのレディネス状態(どのような動作が可能であ
るかという状態:readiness state)を表示するものであ
る。このSACK応答の内容は局所的に(=個々のプロ
セッサにおいて、即ちローカル・プロセッサにおいて)
更新されると共に、ネットワークからアクセスできる状
態に保持される。斯かるSACK応答は、ネットワーク
のマージ動作と組合わせることによって、所与のタスク
即ちトランザクションに関する単一の問合せによる大域
的ステータス報告が得られるようにしている。ステータ
ス応答は優先順位プロトコルに従うため、ある1つのト
ランザクション・ナンバに関する応答のうちのデータ内
容が最小の応答が自動的に優先権を得ることになり、そ
れによって最低のレディネス状態が大域的なシステム状
態として確定され、しかもこれは中断されることのない
1回の動作によって行なわれる。更に、このようなSA
CK表示はある種のプライマリ・メッセージと共に用い
られることもあり、それによって、例えばシステムの初
期化やロックアウト動作等の、様々なプロトコルが設定
される。
種々のメッセージのタイプに関する優先順位プロトコル
は先ず最初にコマンド・コードについて定義されてお
り、このコマンド・コードは、第11図に示すように各
メッセージ及び応答の先頭に立つコマンド・ワードの、
その最初の6ビットを使用している。これによってメッ
セージのタイプ及びサブタイプに関して充分な区別付け
ができるようになっているが、ただし、より多段階の区
別付けをするようにすることも可能である。第11図を
参照すれば分るように、本実施例においては、SACK
応答は7つの異なったステータス・レベルを区別して表
わす(更には優先権判定のための基準をも提供する)も
のとされている。応答メッセージの場合には、以上の6
ビットの後に、10ビットのOPIDの形式としたタブ
が続く(第3図参照)。TNとOPIDとはいずれも更
なるソーティング用判定基準としての機能を果たすこと
ができ、その理由は、これらのTNとOPIDとはタグ
領域の内部において異なったデータ内容を持つからであ
る。
は先ず最初にコマンド・コードについて定義されてお
り、このコマンド・コードは、第11図に示すように各
メッセージ及び応答の先頭に立つコマンド・ワードの、
その最初の6ビットを使用している。これによってメッ
セージのタイプ及びサブタイプに関して充分な区別付け
ができるようになっているが、ただし、より多段階の区
別付けをするようにすることも可能である。第11図を
参照すれば分るように、本実施例においては、SACK
応答は7つの異なったステータス・レベルを区別して表
わす(更には優先権判定のための基準をも提供する)も
のとされている。応答メッセージの場合には、以上の6
ビットの後に、10ビットのOPIDの形式としたタブ
が続く(第3図参照)。TNとOPIDとはいずれも更
なるソーティング用判定基準としての機能を果たすこと
ができ、その理由は、これらのTNとOPIDとはタグ
領域の内部において異なったデータ内容を持つからであ
る。
各プライマリ・メッセージがネットワークを介して伝送
された後には、全てのプロセッサのインターフェイス部
が、たとえそれがNAPであろうとも、ともかく応答メ
ッセージを発生する。それらの応答メッセージもまたネ
ットワーク上で互いに競合し、それによって、単一また
は共通の勝利した応答メッセージが全てのプロセッサへ
ブロードカストされる。敗退したメッセージパケットは
後刻再び同時送信を試みられることになるが、この再度
の同時送信は非常に短い遅延の後に行なわれ、それによ
ってネットワークが実質的に連続的に使用されているよ
うにしている。複数のプロセッサがACK応答を送出し
た場合には、それらのACK応答はOPIDに基づいて
ソーティングされることになる。
された後には、全てのプロセッサのインターフェイス部
が、たとえそれがNAPであろうとも、ともかく応答メ
ッセージを発生する。それらの応答メッセージもまたネ
ットワーク上で互いに競合し、それによって、単一また
は共通の勝利した応答メッセージが全てのプロセッサへ
ブロードカストされる。敗退したメッセージパケットは
後刻再び同時送信を試みられることになるが、この再度
の同時送信は非常に短い遅延の後に行なわれ、それによ
ってネットワークが実質的に連続的に使用されているよ
うにしている。複数のプロセッサがACK応答を送出し
た場合には、それらのACK応答はOPIDに基づいて
ソーティングされることになる。
本発明を用いるならばその結果として、タスクの開始と
停止と抑制、並びにタスクに対する問合せを、極めて多
数の物理的プロセッサによって、しかも僅かなオーバー
ヘッドで、実行することが可能となる。このことは、多
数のプロセッサのロー・パワー(raw power)を問題状態
の処理のために効果的に使うことを可能としており、な
ぜならば、このロー・パワーのうちシステムのコーディ
ネーション(coordination)及び制御に割かれてしまう量
が極めて少なくて済むからである。コーディネーション
と制御のオーバーヘッドは、いかなる分散型処理システ
ムにおいても、その効率に対する根本的な制約を成すも
のである。
停止と抑制、並びにタスクに対する問合せを、極めて多
数の物理的プロセッサによって、しかも僅かなオーバー
ヘッドで、実行することが可能となる。このことは、多
数のプロセッサのロー・パワー(raw power)を問題状態
の処理のために効果的に使うことを可能としており、な
ぜならば、このロー・パワーのうちシステムのコーディ
ネーション(coordination)及び制御に割かれてしまう量
が極めて少なくて済むからである。コーディネーション
と制御のオーバーヘッドは、いかなる分散型処理システ
ムにおいても、その効率に対する根本的な制約を成すも
のである。
大域的な制御(即ちネットワークの制御)を目的として
いる場合には、種々のタイプの制御通信が用いられる。
従って、「マージ停止」、「ステータス要求」、及び
「マージ開始」の各メッセージや、あるタスクの割当て
のためのメッセージ並びにあるタスクの放棄のためのメ
ッセージは、データ・メッセージと同一のフォーマット
とされており、それ故それらのメッセージもまた、ここ
ではプライマリ・メッセージと称することにする。それ
らの制御メッセージも同様にTNを含んでおり、そして
優先順位プロトコルの中の然るべき位置に位置付けられ
ている。このことについては後に第10図及び第11図
に関して説明することにする。
いる場合には、種々のタイプの制御通信が用いられる。
従って、「マージ停止」、「ステータス要求」、及び
「マージ開始」の各メッセージや、あるタスクの割当て
のためのメッセージ並びにあるタスクの放棄のためのメ
ッセージは、データ・メッセージと同一のフォーマット
とされており、それ故それらのメッセージもまた、ここ
ではプライマリ・メッセージと称することにする。それ
らの制御メッセージも同様にTNを含んでおり、そして
優先順位プロトコルの中の然るべき位置に位置付けられ
ている。このことについては後に第10図及び第11図
に関して説明することにする。
「大域的セマフォ・バッファ・システム」という用語を
先に使用したのは、第1図に示された高速ランダム・ア
クセス・メモリ26及び制御ロジック28が、マルチプ
ロセッサのモードの選択とステータス表示及び制御指示
の双方向通信との両方において、重要な役割りを果たし
ているという事実があるからである。この大域的セマフ
ォ・バッファ・システムはアクセスの二重性を提供する
ものであり、このアクセスの二重性とは、高速で動作す
るネットワーク構造体50とそれより低速で動作するマ
イクロプロセッサとの双方が、メモリ26内のメッセー
ジ、応答、制御、ないしはステータス表示を、遅延なし
に、そしてネットワークとマイクロプロセッサとの間の
直接通信を必要とすることなく、参照することができる
ようにしているということである。これを実現するため
に、制御ロジック28が、メモリ26を差込みワード・
サイクル(interleaved woed cycle)で時間多重化(タイ
ム・マルチプレクシング)してネットワーク50とマイ
クロプロセッサとへ接続しており、これによって結果的
に、メモリ26を共通してアクセスすることのできる別
々のポートが作り上げられているのと同じことになって
いる。大域的資源、即ちネットワーク50と複数のマイ
クロプロセッサとは、トランザクシヨン・ナンバを、メ
モリ26のうちのトランザクションのステータスを格納
するために割振られている部分へのロケートを行なうア
ドレス・ロケータとして、利用することができる。局所
的なレベル(=個々のプロセッサのレベル)において、
あらゆる種類の使用可能状態を包含する所与のトランザ
クションに関するサブタスクのステータスを、マイクロ
プロセッサの制御の下にメモリ26の内部で更新し、そ
して制御ロジック28によってバッファ・システムにロ
ックするということが行なわれる。7種類の異なった作
動可能状態のうちの1つを用いることによって、エント
リをメモリ26の異なった専用部分から好適に取出すこ
とができるようになっている。ネットワークから問合せ
を受取ったならば、プロセッサのステータスの通信が行
なわれて(即ち「セマフォ」が読出されて)、それに対
する優先権の判定がネットワークの中で行なわれ、その
際、完了の程度の最も低いレディネス状態が優先権を得
るようになっている。以上の構成によって、1つの問合
せに対する全てのプロセッサからの迅速なハードウェア
的応答が得られるようになっている。従って所与のタス
クに関する分散された複数のサブタスクの全てが実行完
了されているか否かについて、遅滞なく、且つソフトウ
ェアを用いることなく、知ることができる。更にこのシ
ステムでは、通信を行なうプロセッサ・モジュールのい
ずれもがトランザクション・ナンバの割当てを行なえる
ようになっており、このトランザクション・ナンバ割当
ては、使用可能な状態にあるトランザクション・ナンバ
を、メッセージに使用し或いは各々の大域的セマフォ・
バッファ・システム内において使用するために割当てる
動作である。
先に使用したのは、第1図に示された高速ランダム・ア
クセス・メモリ26及び制御ロジック28が、マルチプ
ロセッサのモードの選択とステータス表示及び制御指示
の双方向通信との両方において、重要な役割りを果たし
ているという事実があるからである。この大域的セマフ
ォ・バッファ・システムはアクセスの二重性を提供する
ものであり、このアクセスの二重性とは、高速で動作す
るネットワーク構造体50とそれより低速で動作するマ
イクロプロセッサとの双方が、メモリ26内のメッセー
ジ、応答、制御、ないしはステータス表示を、遅延なし
に、そしてネットワークとマイクロプロセッサとの間の
直接通信を必要とすることなく、参照することができる
ようにしているということである。これを実現するため
に、制御ロジック28が、メモリ26を差込みワード・
サイクル(interleaved woed cycle)で時間多重化(タイ
ム・マルチプレクシング)してネットワーク50とマイ
クロプロセッサとへ接続しており、これによって結果的
に、メモリ26を共通してアクセスすることのできる別
々のポートが作り上げられているのと同じことになって
いる。大域的資源、即ちネットワーク50と複数のマイ
クロプロセッサとは、トランザクシヨン・ナンバを、メ
モリ26のうちのトランザクションのステータスを格納
するために割振られている部分へのロケートを行なうア
ドレス・ロケータとして、利用することができる。局所
的なレベル(=個々のプロセッサのレベル)において、
あらゆる種類の使用可能状態を包含する所与のトランザ
クションに関するサブタスクのステータスを、マイクロ
プロセッサの制御の下にメモリ26の内部で更新し、そ
して制御ロジック28によってバッファ・システムにロ
ックするということが行なわれる。7種類の異なった作
動可能状態のうちの1つを用いることによって、エント
リをメモリ26の異なった専用部分から好適に取出すこ
とができるようになっている。ネットワークから問合せ
を受取ったならば、プロセッサのステータスの通信が行
なわれて(即ち「セマフォ」が読出されて)、それに対
する優先権の判定がネットワークの中で行なわれ、その
際、完了の程度の最も低いレディネス状態が優先権を得
るようになっている。以上の構成によって、1つの問合
せに対する全てのプロセッサからの迅速なハードウェア
的応答が得られるようになっている。従って所与のタス
クに関する分散された複数のサブタスクの全てが実行完
了されているか否かについて、遅滞なく、且つソフトウ
ェアを用いることなく、知ることができる。更にこのシ
ステムでは、通信を行なうプロセッサ・モジュールのい
ずれもがトランザクション・ナンバの割当てを行なえる
ようになっており、このトランザクション・ナンバ割当
ては、使用可能な状態にあるトランザクション・ナンバ
を、メッセージに使用し或いは各々の大域的セマフォ・
バッファ・システム内において使用するために割当てる
動作である。
以上の、トランザクションのアイデンティティとステー
タス表示とを総合した形で使用するということの好適な
具体的態様には、複数のプロセッサの各々が所与の判定
基準に関わる全てのメッセージを順序正しく送出するこ
とを要求されるようにした、複合的マージ動作がある。
もし従来技術に係るシステムであれば、先ず各々のプロ
セッサが自身のタスクを受取ってその処理を完了し、然
る後にその処理の結果を、最終的なマージ動作を実行す
るある種の「マスタ」プロセッサへ転送するという方式
を取らねばならないであろう。従ってそのマスタプロセ
ッサが、そのシステムの効率に対する重大なネックとな
るわけである。
タス表示とを総合した形で使用するということの好適な
具体的態様には、複数のプロセッサの各々が所与の判定
基準に関わる全てのメッセージを順序正しく送出するこ
とを要求されるようにした、複合的マージ動作がある。
もし従来技術に係るシステムであれば、先ず各々のプロ
セッサが自身のタスクを受取ってその処理を完了し、然
る後にその処理の結果を、最終的なマージ動作を実行す
るある種の「マスタ」プロセッサへ転送するという方式
を取らねばならないであろう。従ってそのマスタプロセ
ッサが、そのシステムの効率に対する重大なネックとな
るわけである。
大域的レディネス状態が、作用が及ぶプロセッサの全て
が準備のできた状態にあるということを確証したなら
ば、夫々のプロセッサに備えられたメモリ26における
最高の優先順位を有するメッセージが互いに同時にネッ
トワークへ送出され、そしてそれらのメッセージに対し
ては、前述の如く、マージが行なわれる間に優先権の判
定がなされる。幾つものグループのメッセージについて
次々と再送信の試みがなされ、その結果、複数のメッセ
ージを当該トランザクション・ナンバに関優先順位の高
いものから低いものへと順に並べ、その最後には最低の
優先順位のものがくるようにした、シリアルなメッセー
ジ列が発生される。特別のコマンド・メッセージに従っ
て、このシステムは、マージ動作をその途中で停止する
ことと途中から再開することとが可能とされており、そ
のため、互いに同時刻に実行の途中にある複数のマージ
動作が、このネットワーク50を共有しているという状
態が存在し得るようになっており、それによってこのシ
ステムの資源を極めて有効に利用することが可能となっ
ている。
が準備のできた状態にあるということを確証したなら
ば、夫々のプロセッサに備えられたメモリ26における
最高の優先順位を有するメッセージが互いに同時にネッ
トワークへ送出され、そしてそれらのメッセージに対し
ては、前述の如く、マージが行なわれる間に優先権の判
定がなされる。幾つものグループのメッセージについて
次々と再送信の試みがなされ、その結果、複数のメッセ
ージを当該トランザクション・ナンバに関優先順位の高
いものから低いものへと順に並べ、その最後には最低の
優先順位のものがくるようにした、シリアルなメッセー
ジ列が発生される。特別のコマンド・メッセージに従っ
て、このシステムは、マージ動作をその途中で停止する
ことと途中から再開することとが可能とされており、そ
のため、互いに同時刻に実行の途中にある複数のマージ
動作が、このネットワーク50を共有しているという状
態が存在し得るようになっており、それによってこのシ
ステムの資源を極めて有効に利用することが可能となっ
ている。
従って、いかなる時刻においても、このネットワーク5
0に接続されている動作中のプロセッサの全てが、様々
なトランザクション・ナンバに関係した複数のメッセー
ジに関する動作を互いに非同期的に実行していられるよ
うになっている。1つのステータス問合せによって同一
のトランザクション・ナンバ即ち「現在」トランザクシ
ョン・ナンバの参照が行なわれたなら、全てのプロセッ
サが、用意されているステータス・レベルのうちの1つ
をもって互いに同期して応答を行なう。例を挙げると、
「マージ開始(START MEBRGE)」メッセージは、ある特
定のトランザクション・ナンバによって指定される大域
的セマフォのテスト(=調査)を行なわせ、もしこのテ
ストの結果得られた大域的状態が「準備完了」状態であ
れば(即ち「送信準備完了(SEND READY)」または「受
信準備完了(RECEIVE READY)」のいずれかび状態であれ
ば)、現在トランザクション・ナンバ(present transa
ction number:PTN)の値がこの「マージ開始」メッ
セージに含まれて伝送されたTNの値に等しくセットさ
れる。(もしテストの結果得られた大域的状態が「準備
完了」状態でなかったならば、PTNの値は「TN0
(これはトランザクション・ナンバ(TN)が「0」で
あるという意味である)」という値に戻されることにな
る)。
0に接続されている動作中のプロセッサの全てが、様々
なトランザクション・ナンバに関係した複数のメッセー
ジに関する動作を互いに非同期的に実行していられるよ
うになっている。1つのステータス問合せによって同一
のトランザクション・ナンバ即ち「現在」トランザクシ
ョン・ナンバの参照が行なわれたなら、全てのプロセッ
サが、用意されているステータス・レベルのうちの1つ
をもって互いに同期して応答を行なう。例を挙げると、
「マージ開始(START MEBRGE)」メッセージは、ある特
定のトランザクション・ナンバによって指定される大域
的セマフォのテスト(=調査)を行なわせ、もしこのテ
ストの結果得られた大域的状態が「準備完了」状態であ
れば(即ち「送信準備完了(SEND READY)」または「受
信準備完了(RECEIVE READY)」のいずれかび状態であれ
ば)、現在トランザクション・ナンバ(present transa
ction number:PTN)の値がこの「マージ開始」メッ
セージに含まれて伝送されたTNの値に等しくセットさ
れる。(もしテストの結果得られた大域的状態が「準備
完了」状態でなかったならば、PTNの値は「TN0
(これはトランザクション・ナンバ(TN)が「0」で
あるという意味である)」という値に戻されることにな
る)。
更には「マージ停止(STOP MERGE)」メッセージも、現
在トランザクション・ナンバを「0」にリセットする。
このようにして「TN0」は、ある1つのプロセッサか
ら他の1つののプロセッサへのメッセージ(ポイント・
ツー・ポイント・メッセージ)のために使用される「デ
ィフォルト」値のトランザクション・ナンバとして利用
されている。別の言い方をすれば、この「TN0」によ
って、「ノン・マージ(non-merge)」モードの動作が
指定されるのである。
在トランザクション・ナンバを「0」にリセットする。
このようにして「TN0」は、ある1つのプロセッサか
ら他の1つののプロセッサへのメッセージ(ポイント・
ツー・ポイント・メッセージ)のために使用される「デ
ィフォルト」値のトランザクション・ナンバとして利用
されている。別の言い方をすれば、この「TN0」によ
って、「ノン・マージ(non-merge)」モードの動作が
指定されるのである。
この大域的相互通信システムは、メッセージの構成につ
いては第3A、第3B、第3C、及び第11図に示され
ているものを、また、高速ランダム・アクセス・メモリ
26の構成については第8図及び第10図に示されてい
るものを採用している。更に詳細な説明は、後に第5、
第7、第9、及び第13図に関連させて行なうことにす
る。
いては第3A、第3B、第3C、及び第11図に示され
ているものを、また、高速ランダム・アクセス・メモリ
26の構成については第8図及び第10図に示されてい
るものを採用している。更に詳細な説明は、後に第5、
第7、第9、及び第13図に関連させて行なうことにす
る。
第3A〜3C図及び第11図から分るように、応答に用
いられるコマンド・コードは00からOF(16進数)
までであり、また、プライマリ・メッセージに用いられ
るコマンド・コードは10(16進数)からより大きな
値に亙っている。従って応答はプライマリ・メッセージ
に対して優先し、第11図に示した並べ順では最小の値
が先頭にくるようにしてある。
いられるコマンド・コードは00からOF(16進数)
までであり、また、プライマリ・メッセージに用いられ
るコマンド・コードは10(16進数)からより大きな
値に亙っている。従って応答はプライマリ・メッセージ
に対して優先し、第11図に示した並べ順では最小の値
が先頭にくるようにしてある。
高速RAMメモリ26″(第8図)の内部の1つの専用
格納領域(同図において「トランザクション・ナンバ」
と書かれている領域)が、第12図のワード・フォーマ
ット(前述の7種類のレディネス状態、TN割当済状
態、並びにTN非割当状態)を格納するために使用され
ている。このメモリ26″のその他の複数の専用部分の
なかには、入力(受信メッセージ)のための循環バッフ
ァと、出力メッセージのための格納空間とが含まれてい
る。このメモリ26″のもう1つの別の分離領域がメッ
セージ完了ベクトル領域として使用されており、この領
域は、送信完了した出力メッセージにポインタを置くこ
とができるようにするものであり、これによって、出力
メッセージの格納空間を有効に利用できるようになって
いる。
格納領域(同図において「トランザクション・ナンバ」
と書かれている領域)が、第12図のワード・フォーマ
ット(前述の7種類のレディネス状態、TN割当済状
態、並びにTN非割当状態)を格納するために使用され
ている。このメモリ26″のその他の複数の専用部分の
なかには、入力(受信メッセージ)のための循環バッフ
ァと、出力メッセージのための格納空間とが含まれてい
る。このメモリ26″のもう1つの別の分離領域がメッ
セージ完了ベクトル領域として使用されており、この領
域は、送信完了した出力メッセージにポインタを置くこ
とができるようにするものであり、これによって、出力
メッセージの格納空間を有効に利用できるようになって
いる。
以上から理解されるように、メモリ26及び制御ロジッ
ク28については、それらのキューイング(queuing)機
能並びにデータ・バッファリング機能は確かに重要なも
のであるが、それらと共に、大域的トランザクションを
個々のプロセッサに関して分散させて処理するところの
多重共同動作が独特の重要性を有するものとなってい
る。
ク28については、それらのキューイング(queuing)機
能並びにデータ・バッファリング機能は確かに重要なも
のであるが、それらと共に、大域的トランザクションを
個々のプロセッサに関して分散させて処理するところの
多重共同動作が独特の重要性を有するものとなってい
る。
(能動ロジック・ノード) 冗長性をもって配設されている2つのネットワークのい
ずれにおいても、第1図の複数の能動ロジック・ノード
54は夫々が互いに同一の構成とされているが、ただし
例外として、各ネットワークの頂点にある方向反転ノー
ド54だけは、上流側ポートを備えず、その替わりに、
下流方向へ方向反転するための単なる信号方向反転経路
を備えている。第4図に示すように、1個のノード54
を、機能に基づいて2つのグループに大きく分割するこ
とができる。それらの機能的グループのうちの一方はメ
ッセージと並びにコリジョン信号(衝突番号)の伝送に
関係するものであり、他方は共通クロック信号の発生並
びに再伝送に関係するものである。クロック信号に対し
ては、異なったノードにおける夫々のクロック信号の間
にスキューが存在しないように、即ちゼロ・スキューと
なるように、同期が取られる。以上の2つの機能グルー
プは互いに独立したものではなく、その理由は、ゼロ・
スキュー・クロック回路が信号伝送システムの重要な部
分を形成しているからである。ワード・クロック(シリ
アルな2つのバイトからなる)とバイト・クロックとの
両方が用いられる。ここで特に述べておくと、この能動
ロジック・ノード54の状態を設定ないしリセットする
際にも、また、異なった動作モードを設定する際にも、
この能動ロジック・ノード54を外部から制御する必要
はなく、また実際にそのような制御が行なわれることは
ない。更には、夫々のノード54が互いに同一の構造で
あるため、最近のIC技術を使用してそれらのノードを
大量生産することが可能であり、それによって、信頼性
を向上させつつ、かなりのコストの低下を実現すること
ができる。
ずれにおいても、第1図の複数の能動ロジック・ノード
54は夫々が互いに同一の構成とされているが、ただし
例外として、各ネットワークの頂点にある方向反転ノー
ド54だけは、上流側ポートを備えず、その替わりに、
下流方向へ方向反転するための単なる信号方向反転経路
を備えている。第4図に示すように、1個のノード54
を、機能に基づいて2つのグループに大きく分割するこ
とができる。それらの機能的グループのうちの一方はメ
ッセージと並びにコリジョン信号(衝突番号)の伝送に
関係するものであり、他方は共通クロック信号の発生並
びに再伝送に関係するものである。クロック信号に対し
ては、異なったノードにおける夫々のクロック信号の間
にスキューが存在しないように、即ちゼロ・スキューと
なるように、同期が取られる。以上の2つの機能グルー
プは互いに独立したものではなく、その理由は、ゼロ・
スキュー・クロック回路が信号伝送システムの重要な部
分を形成しているからである。ワード・クロック(シリ
アルな2つのバイトからなる)とバイト・クロックとの
両方が用いられる。ここで特に述べておくと、この能動
ロジック・ノード54の状態を設定ないしリセットする
際にも、また、異なった動作モードを設定する際にも、
この能動ロジック・ノード54を外部から制御する必要
はなく、また実際にそのような制御が行なわれることは
ない。更には、夫々のノード54が互いに同一の構造で
あるため、最近のIC技術を使用してそれらのノードを
大量生産することが可能であり、それによって、信頼性
を向上させつつ、かなりのコストの低下を実現すること
ができる。
先に言及したA、B及びCの夫々の「ポート」は、その
各々が10本の入力データ・ラインと10本の出力デー
タ・ラインとを備えている。例えばAポートでは、入力
ラインはAIで表わされ、出力ラインはA0で表わされ
ている。各々のポート毎に、上流方向クロック・ライン
及び下流方向クロック・ラインと共に、1本の「コリジ
ョン」ライン(即ち「衝突」ライン)が用いられている
(例えばAポートにはAcolが用いられている)。Aポー
ト及びBポートの夫々のデータ・ラインはマルチプレク
サ60に接続されており、このマルチプレクサ60は、
互いに競合する2つのワードのうちの優先する方のワー
ド、或いは(それらの競合ワードが互いに同一の場合に
は)その共通ワードを、データ信号C0として、上流側
ポート(Cポート)に接続されているアップ・レジスタ
62へスイッチングして接続する。これと同時に、より
高位の階層のノードから送出されてCポートで受取られ
た下流方向データが、ダウン・レジスタ64内へシフト
・インされ、そしてそこからシフト・アウトされて、A
ポート及びBポートの両方に出力として発生する。
各々が10本の入力データ・ラインと10本の出力デー
タ・ラインとを備えている。例えばAポートでは、入力
ラインはAIで表わされ、出力ラインはA0で表わされ
ている。各々のポート毎に、上流方向クロック・ライン
及び下流方向クロック・ラインと共に、1本の「コリジ
ョン」ライン(即ち「衝突」ライン)が用いられている
(例えばAポートにはAcolが用いられている)。Aポー
ト及びBポートの夫々のデータ・ラインはマルチプレク
サ60に接続されており、このマルチプレクサ60は、
互いに競合する2つのワードのうちの優先する方のワー
ド、或いは(それらの競合ワードが互いに同一の場合に
は)その共通ワードを、データ信号C0として、上流側
ポート(Cポート)に接続されているアップ・レジスタ
62へスイッチングして接続する。これと同時に、より
高位の階層のノードから送出されてCポートで受取られ
た下流方向データが、ダウン・レジスタ64内へシフト
・インされ、そしてそこからシフト・アウトされて、A
ポート及びBポートの両方に出力として発生する。
バイトからなるシリアルな上流方向への信号列のうちの
一方はブロックされ得るわけであるが、しかしながらそ
れによって上流方向ないし下流方向への余分な遅延が発
生することはなく、そして複数のワードが、ワード・ク
ロック並びにバイト・クロックの制御の下に、切れ目の
ない列を成して、アップ・レジスタ62及びダウン・レ
ジスタ64を通して進められて行くのである。
一方はブロックされ得るわけであるが、しかしながらそ
れによって上流方向ないし下流方向への余分な遅延が発
生することはなく、そして複数のワードが、ワード・ク
ロック並びにバイト・クロックの制御の下に、切れ目の
ない列を成して、アップ・レジスタ62及びダウン・レ
ジスタ64を通して進められて行くのである。
Aポート及びBポートへ同時に供給された互いに競合す
るバイトどうしは、第1及び第2のパリティ検出器6
6、67へ送られると共に比較器70へも送られ、この
比較器70は、8個のデータビットと1個の制御ビット
とに基づいて、最小の値のデータ内容が優先権を得ると
いう方式で優先権の判定を行なう。この優先権判定のた
めのプロトコルにおいては、「アイドル」信号、即ちメ
ッセージが存在しないときの信号は、とぎれることなく
続く「1」の列とされている。パリティ・エラーは、例
えば過剰な雑音の存在等の典型的な原因や、その他の、
信号伝送ないし回路動作に影響を与える何らかの要因に
よって生じ得るものである。しかしながら本実施例のシ
ステムにおいては、パリティ・エラー表示は、更に別の
重要な用途のためにも利用されている。即ち、あるマイ
クロプロセッサが動作不能状態へ移行すると、その移行
がそのたび毎にマーキングされ、このマーキングは、パ
リティ・ラインを含めた全ての出力ラインが高レベルに
なる(即ちその値が「1」になる)ことによって行なわ
れ、従ってそれによって奇数パリティ・エラー状態が発
生されるようになっている。このパリティ・エラー表示
は、1つのエラーが発生したならネットワーク内を「マ
ーカ(marker)」として伝送され、このマーカによって、
システムは、大域的資源に変化が生じたことを識別する
と共にその変化がどのようなものかを判定するためのプ
ロシージャを開始することができるようになっている。
るバイトどうしは、第1及び第2のパリティ検出器6
6、67へ送られると共に比較器70へも送られ、この
比較器70は、8個のデータビットと1個の制御ビット
とに基づいて、最小の値のデータ内容が優先権を得ると
いう方式で優先権の判定を行なう。この優先権判定のた
めのプロトコルにおいては、「アイドル」信号、即ちメ
ッセージが存在しないときの信号は、とぎれることなく
続く「1」の列とされている。パリティ・エラーは、例
えば過剰な雑音の存在等の典型的な原因や、その他の、
信号伝送ないし回路動作に影響を与える何らかの要因に
よって生じ得るものである。しかしながら本実施例のシ
ステムにおいては、パリティ・エラー表示は、更に別の
重要な用途のためにも利用されている。即ち、あるマイ
クロプロセッサが動作不能状態へ移行すると、その移行
がそのたび毎にマーキングされ、このマーキングは、パ
リティ・ラインを含めた全ての出力ラインが高レベルに
なる(即ちその値が「1」になる)ことによって行なわ
れ、従ってそれによって奇数パリティ・エラー状態が発
生されるようになっている。このパリティ・エラー表示
は、1つのエラーが発生したならネットワーク内を「マ
ーカ(marker)」として伝送され、このマーカによって、
システムは、大域的資源に変化が生じたことを識別する
と共にその変化がどのようなものかを判定するためのプ
ロシージャを開始することができるようになっている。
1対のパリティ検出器66、67と比較器70とは、信
号を制御回路72へ供給しており、この制御回路72
は、優先メッセージ・スイッチング回路74を含み、ま
た、優先権の判定がさなれたならば比較器70の出力に
応答してマルチプレクサ60を2つの状態のうちのいず
れかの状態にロックするように構成されており、更に、
下流方向へのコリジョン信号を発生並びに伝播するよう
に構成されている。移行パリティ・エラー伝播回路76
の名前のいわれは、この回路が、先に説明した同時に全
てのラインが「1」とされるパリティ・エラー状態をネ
ットワークの中に強制的に作り出すものだからである。
リセット回路78はこのノードを初期状態に復帰させる
ためのものであり、エンド・オブ・メッセージ(end of
message:EOM)検出器80を含んでいる。
号を制御回路72へ供給しており、この制御回路72
は、優先メッセージ・スイッチング回路74を含み、ま
た、優先権の判定がさなれたならば比較器70の出力に
応答してマルチプレクサ60を2つの状態のうちのいず
れかの状態にロックするように構成されており、更に、
下流方向へのコリジョン信号を発生並びに伝播するよう
に構成されている。移行パリティ・エラー伝播回路76
の名前のいわれは、この回路が、先に説明した同時に全
てのラインが「1」とされるパリティ・エラー状態をネ
ットワークの中に強制的に作り出すものだからである。
リセット回路78はこのノードを初期状態に復帰させる
ためのものであり、エンド・オブ・メッセージ(end of
message:EOM)検出器80を含んでいる。
以上に説明した諸機能並びに後に説明する諸機能が実行
されるようにするためには、各々の能動ロジック・ノー
ドにおいてマイクロプロセッサ・チップを使用してそれ
らの機能を実行するようにしても良いのであるが、しか
しながら、第5図の状態図と以下に記載する論理式とに
従ってそれらの機能が実行されるようにすることによっ
て、更に容易に実行することが可能となる。第5図の状
態図において、状態S0はアイドル状態を表わすと共
に、互いに競合しているメッセージどうしが同一である
ために、一方のポートを他方のポートに優先させる判定
が下されていない状態をも表わしている。S1状態及び
S2状態は夫々、Aポートが優先されている状態及びB
ポートが優先されている状態である。従って、BIのデ
ータ内容がAIのデータ内容より大きく且つAIにパリ
ティ・エラーが存在していない場合、または、BIにパ
リティ・エラーが存在している場合(これらのAIにパ
リティ・エラーが存在していないという条件と、BIに
パリティ・エラーが存在しているという条件とは、夫
々、▲▼及びBIPEと表記され、フリップ・
フロップの状態によって表わされる)には、Aポートが
優先されている。AIとBIとに関して以上と逆の論理
状態(論理条件)は、この装置がS2状態へ移行すべき
状態(条件)として存在するものである。より高位の階
層のノードから、その階層において衝突が発生した旨の
表示が発せられたならば、その表示は、下流方向信号の
中に入れられてCOLINとして送り返されてくる。こ装
置は、それがS0状態、S1状態、及びS2状態のうち
のいずれの状態にあった場合であってもS3状態へと移
行し、そしてこのコリジョン信号を下流方向へAcol及び
Bcolとして転送する。S1状態ないしはS2状態にある
ときには、このノードは既に判定を下しているため、同
様の方式でコリジョン信号が下流方向へ、より低位の階
層の(2つの)ノードへと送出されており、このとき、
優先メッセージスイッチング回路74は、状況に応じて
Aポート或いはBポートにロックされている。
されるようにするためには、各々の能動ロジック・ノー
ドにおいてマイクロプロセッサ・チップを使用してそれ
らの機能を実行するようにしても良いのであるが、しか
しながら、第5図の状態図と以下に記載する論理式とに
従ってそれらの機能が実行されるようにすることによっ
て、更に容易に実行することが可能となる。第5図の状
態図において、状態S0はアイドル状態を表わすと共
に、互いに競合しているメッセージどうしが同一である
ために、一方のポートを他方のポートに優先させる判定
が下されていない状態をも表わしている。S1状態及び
S2状態は夫々、Aポートが優先されている状態及びB
ポートが優先されている状態である。従って、BIのデ
ータ内容がAIのデータ内容より大きく且つAIにパリ
ティ・エラーが存在していない場合、または、BIにパ
リティ・エラーが存在している場合(これらのAIにパ
リティ・エラーが存在していないという条件と、BIに
パリティ・エラーが存在しているという条件とは、夫
々、▲▼及びBIPEと表記され、フリップ・
フロップの状態によって表わされる)には、Aポートが
優先されている。AIとBIとに関して以上と逆の論理
状態(論理条件)は、この装置がS2状態へ移行すべき
状態(条件)として存在するものである。より高位の階
層のノードから、その階層において衝突が発生した旨の
表示が発せられたならば、その表示は、下流方向信号の
中に入れられてCOLINとして送り返されてくる。こ装
置は、それがS0状態、S1状態、及びS2状態のうち
のいずれの状態にあった場合であってもS3状態へと移
行し、そしてこのコリジョン信号を下流方向へAcol及び
Bcolとして転送する。S1状態ないしはS2状態にある
ときには、このノードは既に判定を下しているため、同
様の方式でコリジョン信号が下流方向へ、より低位の階
層の(2つの)ノードへと送出されており、このとき、
優先メッセージスイッチング回路74は、状況に応じて
Aポート或いはBポートにロックされている。
リセット回路78はEOM検出器80を含んでおり、こ
の検出器80を用いて、ノードのS3からS0へのリセ
ット(第5図)が行なわれる。第1のリセットモード
は、第6図に示すようにプライマリ・メッセージの中の
データ・フィールドを終結させているエンド・オブ・メ
ッセージ(EOM)フィールドを利用するものである。
1つのグループを成す複数のフリップ・フロップと複数
のゲートとを用いて、次式の論理状態が作り出される。
の検出器80を用いて、ノードのS3からS0へのリセ
ット(第5図)が行なわれる。第1のリセットモード
は、第6図に示すようにプライマリ・メッセージの中の
データ・フィールドを終結させているエンド・オブ・メ
ッセージ(EOM)フィールドを利用するものである。
1つのグループを成す複数のフリップ・フロップと複数
のゲートとを用いて、次式の論理状態が作り出される。
URINC・URC・URCDLY ここで、URCはアップ・レジスタの中の制御ビットを
表わし、URINCはこのアップ・レジスタへ入力され
る入力信号の中の制御ビットの値を表わし、そしてUR
CDLYはアップ・レジスタ遅延フリップ・フロップ内
のC値(=制御ビットの値)を表わしている。
表わし、URINCはこのアップ・レジスタへ入力され
る入力信号の中の制御ビットの値を表わし、そしてUR
CDLYはアップ・レジスタ遅延フリップ・フロップ内
のC値(=制御ビットの値)を表わしている。
第6図に示すように、制御ビットの列の中の、連続する
2個のビットを1組としたビット対(ビット・ペア)
が、ある種のフィールドを明示すると共に、1つのフィ
ールドから次のフィールドへの移行を明示するようにし
てある。例を挙げると、アイドル時に用いられる「1」
のみが続く制御ビット状態から、「0、1」のビット・
シーケンス(=ビット対)への移行は、フィールドの開
始を明示するものである。この、「0、1」のシーケン
スは、データ・フィールドの開始を識別するのに用いら
れる。これに続く「1、0」の制御ビットのストリング
(列)は、内部フィールドないしはサブフィールドを表
示しており、またエンド・オブ・メッセージ(EOM)
は「0、0」の制御ビット対によって識別される。
「1、0」のビット対のストリングのあとに「0、0」
のビット対がくる状態は、他にはない状態であり、容易
に識別することができる。URINC信号、URC信
号、及びURCDLY信号はまとめてアンド(論理積)
をとられ、これらの各々の信号は互いにバイト・クロッ
ク1つ分づつ遅延した関係にある。それらのアンドをと
つた結果得られる信号の波形は、メッセージ・パケット
が始まるまでは高レベルで、この開始の時点において低
レベルに転じ、そしてこのデータ(=メッセージ・パケ
ット)が続いている間、低レベルにとどまる波形であ
る。この波形は、EOMが発生されてからバイト・クロ
ック2つ分が経過した後に、高レベルへ復帰する。こ
の、波形URINC・URC・URCDLYが正に転じ
る遷移によって、EOMが検出される。第5図に付記さ
れているように、この正遷移によよってS1またはS2
からS0への復帰動作がトリガされるのである。
2個のビットを1組としたビット対(ビット・ペア)
が、ある種のフィールドを明示すると共に、1つのフィ
ールドから次のフィールドへの移行を明示するようにし
てある。例を挙げると、アイドル時に用いられる「1」
のみが続く制御ビット状態から、「0、1」のビット・
シーケンス(=ビット対)への移行は、フィールドの開
始を明示するものである。この、「0、1」のシーケン
スは、データ・フィールドの開始を識別するのに用いら
れる。これに続く「1、0」の制御ビットのストリング
(列)は、内部フィールドないしはサブフィールドを表
示しており、またエンド・オブ・メッセージ(EOM)
は「0、0」の制御ビット対によって識別される。
「1、0」のビット対のストリングのあとに「0、0」
のビット対がくる状態は、他にはない状態であり、容易
に識別することができる。URINC信号、URC信
号、及びURCDLY信号はまとめてアンド(論理積)
をとられ、これらの各々の信号は互いにバイト・クロッ
ク1つ分づつ遅延した関係にある。それらのアンドをと
つた結果得られる信号の波形は、メッセージ・パケット
が始まるまでは高レベルで、この開始の時点において低
レベルに転じ、そしてこのデータ(=メッセージ・パケ
ット)が続いている間、低レベルにとどまる波形であ
る。この波形は、EOMが発生されてからバイト・クロ
ック2つ分が経過した後に、高レベルへ復帰する。こ
の、波形URINC・URC・URCDLYが正に転じ
る遷移によって、EOMが検出される。第5図に付記さ
れているように、この正遷移によよってS1またはS2
からS0への復帰動作がトリガされるのである。
より高位の階層のノードがリセットされると、それによ
って▲▼状態となり、これは衝突状態が消失
したことを表わす。この論理状態は、S3から基底状態
であるS0への復帰動作を開始させる。注意して頂きた
いことは、この▲▼状態は、エンド・オブ・
メッセージがネットワーク50の階層を次々と「走り抜
けて」いくのにつれて、下方へ、それらの階層へ伝播し
ていくということである。以上のようにして、各々のノ
ードはメッセージの長さの長短にかかわらず自己リセッ
トできるようになっている。更に注意して頂きたいこと
は、ネットワークの初期状態の如何にかかわらず、アイ
ドル信号が供給されたならば全てのノードがS0状態に
リセットされるということである。
って▲▼状態となり、これは衝突状態が消失
したことを表わす。この論理状態は、S3から基底状態
であるS0への復帰動作を開始させる。注意して頂きた
いことは、この▲▼状態は、エンド・オブ・
メッセージがネットワーク50の階層を次々と「走り抜
けて」いくのにつれて、下方へ、それらの階層へ伝播し
ていくということである。以上のようにして、各々のノ
ードはメッセージの長さの長短にかかわらず自己リセッ
トできるようになっている。更に注意して頂きたいこと
は、ネットワークの初期状態の如何にかかわらず、アイ
ドル信号が供給されたならば全てのノードがS0状態に
リセットされるということである。
コリジョン信号は複数のプロセッサ・モジュールにまで
戻される。それらのモジュールはこのコリジョン状態情
報を記憶し、そしてアイドル・シーケンスを送信する動
作へと復帰し、このアイドル・シーケンスの送信は競合
において勝利を得たプロセッサが送信を続けている間中
行なわれている。プロセッサは、COLIN▲
▼への遷移を検出し次第、新たな送信を開始することが
できるようにされている。更にこれに加えて、プロセッ
サは、Nをネットワーク内の階層の数とするとき、2N
個のバイト・クロックの時間に亙ってアイドルル信号を
受信し続けたならば新たな送信を開始することができる
ようにされており、それは、このような状況もまた、前
者の状況と同じく、先に行なわれた送信がこのネットワ
ーク内に残ってはいないということを表わすものだから
である。これらの新たな送信を可能にするための方式の
うちの後者に依れば、初めてネットワークに参加するプ
ロセッサが、トラフイックさえ小さければネットワーク
との間でメッセージ同期状態に入ることができ、そのた
めこの初参加のプロセッサは、このネットワーク上の他
のプロセッサとの間の相互通信を開始する際して、別の
プロセッサからのポーリングを待つ必要がない。
戻される。それらのモジュールはこのコリジョン状態情
報を記憶し、そしてアイドル・シーケンスを送信する動
作へと復帰し、このアイドル・シーケンスの送信は競合
において勝利を得たプロセッサが送信を続けている間中
行なわれている。プロセッサは、COLIN▲
▼への遷移を検出し次第、新たな送信を開始することが
できるようにされている。更にこれに加えて、プロセッ
サは、Nをネットワーク内の階層の数とするとき、2N
個のバイト・クロックの時間に亙ってアイドルル信号を
受信し続けたならば新たな送信を開始することができる
ようにされており、それは、このような状況もまた、前
者の状況と同じく、先に行なわれた送信がこのネットワ
ーク内に残ってはいないということを表わすものだから
である。これらの新たな送信を可能にするための方式の
うちの後者に依れば、初めてネットワークに参加するプ
ロセッサが、トラフイックさえ小さければネットワーク
との間でメッセージ同期状態に入ることができ、そのた
めこの初参加のプロセッサは、このネットワーク上の他
のプロセッサとの間の相互通信を開始する際して、別の
プロセッサからのポーリングを待つ必要がない。
パリティ・エラー状態は第5図の状態図の中に記されて
いるが、次の論理式に従って設定されるものである。
いるが、次の論理式に従って設定されるものである。
PESIG=AIPE・▲▼+BIPE+▲
▼BIPEDLY このPESIGの論理状態が真であるならば、アップ・
レジスタへの入力信号URINは、(URIN 0…URIN 7、
C、P=1…1、1、1)である。上の論理式を満足す
るために、移行パリティ・エラー伝播回路76は、AI
PE用、即ちA入力のパリティ・エラー用フリップ・フ
ロップと、遅延フリップ・フロップ(AIPEDLY)
とを含んでいる。後者のフリップ・フロップは、AIP
Eの設定状態に従って、それよりバイト・クロック1つ
分遅れて状態を設定される。従ってA入力に関して言え
ば、AIPE用フリップ・フロップがパリティ・エラー
によってセット状態とされたときに、PESIG値がバ
イト・クロック1つ分の間ハイ・レベルとなり、そのた
め、このPESIG信号はパリティ・エラーの最初の表
示がなされたときに1回だけ伝播されるわけである。複
数のデータ・ビット、制御ビット、並びにパリティ・ビ
ットの全てが「1」の値であるときにもこれと同じ状態
が生じるが、それは、大域的資源の状態についての先に
説明した移行が発生したときに生じる状態である。それ
によって全てのラインがハイ・レベルに転じ、全てが
「1」の状態を強制的に作り出されて総数偶数状態(奇
数パリティ状態)が確立され、その結果、先に説明した
状態にAIPEフリップ・フロップとAIPEDLYフ
リップ・フロップとがセットされてパリティ・エラーを
表示するようになる。以上の構成は、Bポートで受取っ
たメッセージ・パケットがパリティ・エラー、或いはス
テータスの変化を表示するための強制的パリティ表示を
含んでいる場合にも、同様の方式で動作する。
▼BIPEDLY このPESIGの論理状態が真であるならば、アップ・
レジスタへの入力信号URINは、(URIN 0…URIN 7、
C、P=1…1、1、1)である。上の論理式を満足す
るために、移行パリティ・エラー伝播回路76は、AI
PE用、即ちA入力のパリティ・エラー用フリップ・フ
ロップと、遅延フリップ・フロップ(AIPEDLY)
とを含んでいる。後者のフリップ・フロップは、AIP
Eの設定状態に従って、それよりバイト・クロック1つ
分遅れて状態を設定される。従ってA入力に関して言え
ば、AIPE用フリップ・フロップがパリティ・エラー
によってセット状態とされたときに、PESIG値がバ
イト・クロック1つ分の間ハイ・レベルとなり、そのた
め、このPESIG信号はパリティ・エラーの最初の表
示がなされたときに1回だけ伝播されるわけである。複
数のデータ・ビット、制御ビット、並びにパリティ・ビ
ットの全てが「1」の値であるときにもこれと同じ状態
が生じるが、それは、大域的資源の状態についての先に
説明した移行が発生したときに生じる状態である。それ
によって全てのラインがハイ・レベルに転じ、全てが
「1」の状態を強制的に作り出されて総数偶数状態(奇
数パリティ状態)が確立され、その結果、先に説明した
状態にAIPEフリップ・フロップとAIPEDLYフ
リップ・フロップとがセットされてパリティ・エラーを
表示するようになる。以上の構成は、Bポートで受取っ
たメッセージ・パケットがパリティ・エラー、或いはス
テータスの変化を表示するための強制的パリティ表示を
含んでいる場合にも、同様の方式で動作する。
雑音の影響やその他の変動要素に起因して発生するパリ
ティ・エラーは、通常は、プロセッサの動作に影響を及
ぼすことはなく、その理由は、冗長性を有する二重のネ
ットワークを用いているからである。監視(モニタ)や
保守のためには、インジケータ・ライト(=表示灯:不
図示)を用いてパリティ・エラーの発生を表示するよう
にする。ただし、ステータスの変化を示す1回のみ伝播
するパリティ・エラーについては、それによって、その
変化の重要性を評価するためのルーチンが開始される。
ティ・エラーは、通常は、プロセッサの動作に影響を及
ぼすことはなく、その理由は、冗長性を有する二重のネ
ットワークを用いているからである。監視(モニタ)や
保守のためには、インジケータ・ライト(=表示灯:不
図示)を用いてパリティ・エラーの発生を表示するよう
にする。ただし、ステータスの変化を示す1回のみ伝播
するパリティ・エラーについては、それによって、その
変化の重要性を評価するためのルーチンが開始される。
第4図に示すようにこのノード54に使用されているク
ロッキング・システムは、ネットワーク内に用いられて
いる階層の数にかかわらず、全てのノード要素における
クロックとクロックとの間のスキュー(skew)がゼロと
なるようにするための、即ちゼロ・スキュー状態を保持
するための、独特の手段を提供するものである。クロッ
ク回路86は、第1及び第2の排他的ORゲート88、
89を含んでおり、夫々AとBで示されているそれらの
排他的ORゲートの出力は、加算回路92によって、そ
れらの間に減算(即ち「B−A」の演算)が行なわれる
ように結合されており、この加算回路92の出力は、低
域フィルタ94を通された後に、フェーズ・ロック・ル
ープである発振器(PLO)96から送出される出力の
位相を制御している。第1の排他的ORゲート88への
入力は、このPLO96の出力と、隣接するより高位の
階層のノード要素から絶縁駆動回路97を介して供給さ
れる下流方向クロックとである。このクロックのライン
には「ワード・クロック」と記されており、このワード
・クロックは、隣接するより高位の階層から既知の遅延
τの後に得られるものであり、そしてこの同じクロック
信号が、もう1つの絶縁駆動回路98を介して、隣接す
るより高い階層のそのノードへ返されるようになってい
る。第2の排他的ORゲート89への入力は、このワー
ド・クロックと、隣接するより低位の階層からのクロッ
ク・フィードバックとから成り、この低位の階層も同様
に、このPLO96から信号を受取っている。
ロッキング・システムは、ネットワーク内に用いられて
いる階層の数にかかわらず、全てのノード要素における
クロックとクロックとの間のスキュー(skew)がゼロと
なるようにするための、即ちゼロ・スキュー状態を保持
するための、独特の手段を提供するものである。クロッ
ク回路86は、第1及び第2の排他的ORゲート88、
89を含んでおり、夫々AとBで示されているそれらの
排他的ORゲートの出力は、加算回路92によって、そ
れらの間に減算(即ち「B−A」の演算)が行なわれる
ように結合されており、この加算回路92の出力は、低
域フィルタ94を通された後に、フェーズ・ロック・ル
ープである発振器(PLO)96から送出される出力の
位相を制御している。第1の排他的ORゲート88への
入力は、このPLO96の出力と、隣接するより高位の
階層のノード要素から絶縁駆動回路97を介して供給さ
れる下流方向クロックとである。このクロックのライン
には「ワード・クロック」と記されており、このワード
・クロックは、隣接するより高位の階層から既知の遅延
τの後に得られるものであり、そしてこの同じクロック
信号が、もう1つの絶縁駆動回路98を介して、隣接す
るより高い階層のそのノードへ返されるようになってい
る。第2の排他的ORゲート89への入力は、このワー
ド・クロックと、隣接するより低位の階層からのクロッ
ク・フィードバックとから成り、この低位の階層も同様
に、このPLO96から信号を受取っている。
上記のワード・クロック・ラインは、第3の排他的OR
ゲート100の2つの入力へ接続されており、それら両
方の入力は、直接的に接続されているものと、τc遅延
線101を介して接続されているものとである。これに
よって、ワード・クロックの2倍の周波数をもち、この
ワード・クロックに対してタイミングの合った、バイト
・クロック信号を得ている。
ゲート100の2つの入力へ接続されており、それら両
方の入力は、直接的に接続されているものと、τc遅延
線101を介して接続されているものとである。これに
よって、ワード・クロックの2倍の周波数をもち、この
ワード・クロックに対してタイミングの合った、バイト
・クロック信号を得ている。
以上のクロック回路86の作用は、第7図のタイミング
・ダイアグラムを参照すれば良く理解できよう。クロッ
ク・アウト信号(クロック出力信号)は、PLO96の
出力である。このクロッキング・システムの最大の目的
は、ネットワーク内の全てのノードに関するクロック出
力信号どうしの間にゼロ・タイム・スキュー状態を保持
することにあるのであるから、当然のことながら、それ
らのクロック出力信号どうしはその公称周波数もまた互
いに同一でなければらない。ノード間の伝送ラインによ
る遅延τは、略々一定の値になるようにするが、この遅
延の値それ自体は長い時間に設定することも可能であ
る。ここに開示している方法を採法するならば、ネット
ワーク並びにノードのバイト・クロック速度を実機シス
テムにおいて彩用されている速度(公称120ns)と
した場合に、28フィート(8.53m)もの長さにす
ることが可能である。当業者には容易に理解されるよう
に、可能最大個数のプロセッサ・モジュールが目いっぱ
いに実装されているのではないネットワークには、更に
階層を付加することによって、この28フィートの整数
倍の長さを容易に得ることができる。その場合、それに
対応して待ち時間、即ちそのネットワークを通して行な
われる伝送の伝送時間は増大する。
・ダイアグラムを参照すれば良く理解できよう。クロッ
ク・アウト信号(クロック出力信号)は、PLO96の
出力である。このクロッキング・システムの最大の目的
は、ネットワーク内の全てのノードに関するクロック出
力信号どうしの間にゼロ・タイム・スキュー状態を保持
することにあるのであるから、当然のことながら、それ
らのクロック出力信号どうしはその公称周波数もまた互
いに同一でなければらない。ノード間の伝送ラインによ
る遅延τは、略々一定の値になるようにするが、この遅
延の値それ自体は長い時間に設定することも可能であ
る。ここに開示している方法を採法するならば、ネット
ワーク並びにノードのバイト・クロック速度を実機シス
テムにおいて彩用されている速度(公称120ns)と
した場合に、28フィート(8.53m)もの長さにす
ることが可能である。当業者には容易に理解されるよう
に、可能最大個数のプロセッサ・モジュールが目いっぱ
いに実装されているのではないネットワークには、更に
階層を付加することによって、この28フィートの整数
倍の長さを容易に得ることができる。その場合、それに
対応して待ち時間、即ちそのネットワークを通して行な
われる伝送の伝送時間は増大する。
第7図中のクロック・アウト信号のすぐ下の波形によっ
て示されているように、隣接するより高位の階層から得
られるワード・クロックはクロック・アウト信号と同じ
ような波形であるが、ただしτだけ遅れている。このワ
ード・クロックが、全てのノードに共通する根本的タイ
ミング基準を成すのであるが、そのようなことが可能で
あるのは、個々のクロック・アウト信号の前縁をその回
路の内部で制御することができ、そしてそれらの前縁を
ワード・クロックに先行させることによって、全てのノ
ードが同期した状態に保持されるようにすることができ
るからである。波形A及び波形Bを参照すると分るよう
に、第1のORゲート88が発生するパルスAは、ワー
ド・クロックの前縁の位置で終了しており、一方、第2
のORゲート89が発生するパルスBは、その前縁がワ
ード・クロックの前縁と一致している。このBパルスの
後縁は、隣接するより低位の階層のモジュールからのフ
ィードバック・パルスの開始の位置に定められ、このフ
ィードバック・パルスはτだけ遅延しているため、Bパ
ルスはその持続時間が一定となっている。クロック回路
86は、パルスAの持続時間をパルスBの持続時間と同
一に保持するように作用するが、そのように作用する理
由は、PLO96の位相を進めて同期状態が確立される
ようにするにつれて、加算回路92の出力信号(減算
「B−A」を行なった信号)がゼロへ近付いて行くから
である。実際には、破線で示されているように好適な位
置より先行していることも遅れていることもあるA信号
の前縁に対して調節を加えて、このA信号の前縁がワー
ド・クロックの前縁より時間τだけ先行する位置にくる
ようにする。全てのノードにおいて、クロック・アウト
信号の前縁がこの好適公称位置に位置するようになれ
ば、ワード・クロックどうしの間にゼロ・スキュー状態
が存在することになる。従ってネットワークに接続され
ている夫々のプロセッサは、あるプロセッサから別のプ
ロセッサまでの経路の全長に関する制約から解放されて
いるが、それは、遅延が累積することが無いということ
と、伝播時間に差が生じないということとに因るもので
ある。
て示されているように、隣接するより高位の階層から得
られるワード・クロックはクロック・アウト信号と同じ
ような波形であるが、ただしτだけ遅れている。このワ
ード・クロックが、全てのノードに共通する根本的タイ
ミング基準を成すのであるが、そのようなことが可能で
あるのは、個々のクロック・アウト信号の前縁をその回
路の内部で制御することができ、そしてそれらの前縁を
ワード・クロックに先行させることによって、全てのノ
ードが同期した状態に保持されるようにすることができ
るからである。波形A及び波形Bを参照すると分るよう
に、第1のORゲート88が発生するパルスAは、ワー
ド・クロックの前縁の位置で終了しており、一方、第2
のORゲート89が発生するパルスBは、その前縁がワ
ード・クロックの前縁と一致している。このBパルスの
後縁は、隣接するより低位の階層のモジュールからのフ
ィードバック・パルスの開始の位置に定められ、このフ
ィードバック・パルスはτだけ遅延しているため、Bパ
ルスはその持続時間が一定となっている。クロック回路
86は、パルスAの持続時間をパルスBの持続時間と同
一に保持するように作用するが、そのように作用する理
由は、PLO96の位相を進めて同期状態が確立される
ようにするにつれて、加算回路92の出力信号(減算
「B−A」を行なった信号)がゼロへ近付いて行くから
である。実際には、破線で示されているように好適な位
置より先行していることも遅れていることもあるA信号
の前縁に対して調節を加えて、このA信号の前縁がワー
ド・クロックの前縁より時間τだけ先行する位置にくる
ようにする。全てのノードにおいて、クロック・アウト
信号の前縁がこの好適公称位置に位置するようになれ
ば、ワード・クロックどうしの間にゼロ・スキュー状態
が存在することになる。従ってネットワークに接続され
ている夫々のプロセッサは、あるプロセッサから別のプ
ロセッサまでの経路の全長に関する制約から解放されて
いるが、それは、遅延が累積することが無いということ
と、伝播時間に差が生じないということとに因るもので
ある。
二倍周波数のバイト・クロックを発生させるために、遅
延線101によって、遅延時間τcだけ遅れたワード・
クロックが複製されており、この遅延線101もゲート
100へ信号を供給している。従って、第7図中のバイ
ト・クロックと記されている波形から分かるように、ワ
ード・クロックの前縁と後縁の両方の位置に、持続時間
τcを有するバイト・クロック・パルスが発生される。
このパルスの発生は、各々のワード・クロックのインタ
バルの間に2回づつ生じており、しかも、全てノードに
おいて、ワード・クロックと同期して生じている。以上
の説明においては、ノードとノードとの間の伝送ライン
によって発生される遅延は階層から階層への伝送方向が
どちら方向であっても殆ど同一であり、そのため、事実
上、このシステム内の全てのワード・クロック並びにバ
イト・クロックが、互いに安定な位相関係に保たれると
いうことを、当然の前提としている。従って局所的に
(=個々のノードの内部で)発生されるバイト・クロッ
クは、各々のノードにおいて、メッセージの2バイト・
ワード(=2個のバイトから成るワード)の、その個々
のバイトのためのクロッキング機能を提供している。
延線101によって、遅延時間τcだけ遅れたワード・
クロックが複製されており、この遅延線101もゲート
100へ信号を供給している。従って、第7図中のバイ
ト・クロックと記されている波形から分かるように、ワ
ード・クロックの前縁と後縁の両方の位置に、持続時間
τcを有するバイト・クロック・パルスが発生される。
このパルスの発生は、各々のワード・クロックのインタ
バルの間に2回づつ生じており、しかも、全てノードに
おいて、ワード・クロックと同期して生じている。以上
の説明においては、ノードとノードとの間の伝送ライン
によって発生される遅延は階層から階層への伝送方向が
どちら方向であっても殆ど同一であり、そのため、事実
上、このシステム内の全てのワード・クロック並びにバ
イト・クロックが、互いに安定な位相関係に保たれると
いうことを、当然の前提としている。従って局所的に
(=個々のノードの内部で)発生されるバイト・クロッ
クは、各々のノードにおいて、メッセージの2バイト・
ワード(=2個のバイトから成るワード)の、その個々
のバイトのためのクロッキング機能を提供している。
以上の能動ロジック・ノードは、同時に送出されたメッ
セージ・パケットどうしの間の競合をそのデータ内容に
基づいて決着させるようにしている場合には常に、潜在
的な利点を有するものである。これに対し、例えば、1
981年2月17日付で発行された米国特許第4251
879号公報「デジタル通信ネットワークのための速度
非依存型アービタ・スイッチ(Speed Independent Arbi
ter Switch for Digital Communication Nbiworks)」
に示されているものをはじめとする、大多数の公知にシ
ステムは、時間的に最初に受信された信号がどれである
かを判定することを目指しており、外部に設けた処理回
路または制御回路を使用するものとなっている。
セージ・パケットどうしの間の競合をそのデータ内容に
基づいて決着させるようにしている場合には常に、潜在
的な利点を有するものである。これに対し、例えば、1
981年2月17日付で発行された米国特許第4251
879号公報「デジタル通信ネットワークのための速度
非依存型アービタ・スイッチ(Speed Independent Arbi
ter Switch for Digital Communication Nbiworks)」
に示されているものをはじめとする、大多数の公知にシ
ステムは、時間的に最初に受信された信号がどれである
かを判定することを目指しており、外部に設けた処理回
路または制御回路を使用するものとなっている。
(プロセッサ・モジュール) 第1図の、システム全体の概略図の中に図示されている
個々のプロセッサは、夫々、インターフェイス・プロセ
ッサ(IFP)14及び16と、アクセス・モジュール
・プロセッサ(AMP)18〜23の具体例として示さ
れており、また、これらのプロセッサは、大まかに複数
の主要要素に再区分してある。これらのプロセッサ・モ
ジュール(IFP及びAMP)の構成についての更に詳
細な具体例は、第1図の機能的な大まかな再区分との間
に対応関係を有するものとなるが、ただしそればかりで
なく、かなり多くの更なる再区分をも示すものとなる。
本明細書で使用するところの「プロセッサ・モジュー
ル」なる用語は、第8図に図示されているアセンブリの
全体を指すものであり、このアセンブリは、以下に説明
する任意選択の要素を備えることによって、IFP或い
はAMPのいずれかとして機能することができるように
なる。また、「マイクロプロセッサ・システム」という
用語は、マイクロプロセッサ105を内蔵したシステム
103を指すものであり、ここでマイクロプロセッサ1
05は、例えば、インテル8086型(Intel 8086)1
6ビット・マイクロプロセッサ等である。このマイクロ
プロセッサ105のアドレス・パス並びにデータ・パス
は、マイクロプロセッサ・システム103の内部におい
て、例えばメインRAM107等の一般的な周辺システ
ム、並びに周辺機器コントローラ109に接続されてい
る。この周辺機器コントローラ109は、プロセッサ・
モジュールがAMPでありしかも周辺機器がディスク・
ドライブ111である場合に用い得るものの一例として
示すものである。これに対して、このプロセッサ・モジ
ュールをIFPとして働かせる場合には、破線で描いた
長方形の中に示されているように、このコントローラ即
ちインターフェイスを、例えばチャネル・インターフェ
イスに取り替えれば良い。そのような具体例のIFP
は、ホスト・システムのチャネル即ちバスとの間の通信
を行なうものとなる。このマイクロプロセッサ・システ
ム103には従来の一般的なコントローラやインターフ
ェイスを用いることができるので、それらのコントロー
ラやインターフェイスについては更に詳細に説明する必
要はない。
個々のプロセッサは、夫々、インターフェイス・プロセ
ッサ(IFP)14及び16と、アクセス・モジュール
・プロセッサ(AMP)18〜23の具体例として示さ
れており、また、これらのプロセッサは、大まかに複数
の主要要素に再区分してある。これらのプロセッサ・モ
ジュール(IFP及びAMP)の構成についての更に詳
細な具体例は、第1図の機能的な大まかな再区分との間
に対応関係を有するものとなるが、ただしそればかりで
なく、かなり多くの更なる再区分をも示すものとなる。
本明細書で使用するところの「プロセッサ・モジュー
ル」なる用語は、第8図に図示されているアセンブリの
全体を指すものであり、このアセンブリは、以下に説明
する任意選択の要素を備えることによって、IFP或い
はAMPのいずれかとして機能することができるように
なる。また、「マイクロプロセッサ・システム」という
用語は、マイクロプロセッサ105を内蔵したシステム
103を指すものであり、ここでマイクロプロセッサ1
05は、例えば、インテル8086型(Intel 8086)1
6ビット・マイクロプロセッサ等である。このマイクロ
プロセッサ105のアドレス・パス並びにデータ・パス
は、マイクロプロセッサ・システム103の内部におい
て、例えばメインRAM107等の一般的な周辺システ
ム、並びに周辺機器コントローラ109に接続されてい
る。この周辺機器コントローラ109は、プロセッサ・
モジュールがAMPでありしかも周辺機器がディスク・
ドライブ111である場合に用い得るものの一例として
示すものである。これに対して、このプロセッサ・モジ
ュールをIFPとして働かせる場合には、破線で描いた
長方形の中に示されているように、このコントローラ即
ちインターフェイスを、例えばチャネル・インターフェ
イスに取り替えれば良い。そのような具体例のIFP
は、ホスト・システムのチャネル即ちバスとの間の通信
を行なうものとなる。このマイクロプロセッサ・システ
ム103には従来の一般的なコントローラやインターフ
ェイスを用いることができるので、それらのコントロー
ラやインターフェイスについては更に詳細に説明する必
要はない。
1つのマイクロプロセッサ毎に1台のディスク・ドライ
ブを用いることが費用と性能の両方の面において有利で
あるということを示し得ることに注目すべきである。そ
のような方式が有利であるということは、データベース
に関しては一般的に言えることであるが、ただし、とき
には、1つのマイクロプロセッサが複数の二次記憶装置
にアクセスできるようにマイクロプロセッサを構成する
ことが有益なこともある。概略図においては、図を簡明
にするために、その他の通常用いられているサブシステ
ムが組み込まれている点については図示省略してある。
この省略されたサブシステムは例えば割込みコントロー
ラ等であり、割込みコントローラは、半導体を製造して
いるメーカーが自社製のシステムに組み合わせて使用す
るために供給しているものである。また、本発明が提供
し得る冗長性と信頼性とを最大限に達成することのでき
る、プロセッサ・モジュールへ電源を供給するために適
切な手段を、講じることの重要性についても当業者には
理解されよう。
ブを用いることが費用と性能の両方の面において有利で
あるということを示し得ることに注目すべきである。そ
のような方式が有利であるということは、データベース
に関しては一般的に言えることであるが、ただし、とき
には、1つのマイクロプロセッサが複数の二次記憶装置
にアクセスできるようにマイクロプロセッサを構成する
ことが有益なこともある。概略図においては、図を簡明
にするために、その他の通常用いられているサブシステ
ムが組み込まれている点については図示省略してある。
この省略されたサブシステムは例えば割込みコントロー
ラ等であり、割込みコントローラは、半導体を製造して
いるメーカーが自社製のシステムに組み合わせて使用す
るために供給しているものである。また、本発明が提供
し得る冗長性と信頼性とを最大限に達成することのでき
る、プロセッサ・モジュールへ電源を供給するために適
切な手段を、講じることの重要性についても当業者には
理解されよう。
マイクロプロセッサ・システム103における任意選択
要素として示されている周辺機器コントローラ109と
チャネル・インターフェイスとは、第1図中のIFPイ
ンターフェイスとディスク・コントローラとに相当する
ものである。これに対して第1図の高速RAM26は、
実際には、第1のH.S.RAM26′と第2のH.
S.RAM26″とから成っており、それらの各々は、
タイム・マルチプレクシング(時間多重化)によって、
機能の上からは事実上の3−ポート・デバイスとされて
おり、それらのポートのうちの1つ(図中に「C」と記
されているポート)を介してマイクロプロセッサのバス
・システムと接続されている。H.S.RAM26′、
26″の各々は、夫々に第1ないし第2のネットワーク
・インターフェイス120、120′と協働し、それに
よって、夫々が第1及び第2のネットワーク50a及び
50b(これらのネットワークは第8図には示されてい
ない)と、入力(受信)ポートA及び出力(送信)ポー
トBを介して通信を行なうようになっている。このよう
に互いに冗長性を有する2つのシステムとなっているた
め、第2のネットワーク・インターフェイス120′と
第2のH.S.RAM26″を詳細に説明するだけで良
い。ネットワーク・インターフェイス120、120′
については第13図に関連して更に詳細に示され説明さ
れているが、それらは、大きく再区分するならば以下の
4つの主要部分に分けることができる。
要素として示されている周辺機器コントローラ109と
チャネル・インターフェイスとは、第1図中のIFPイ
ンターフェイスとディスク・コントローラとに相当する
ものである。これに対して第1図の高速RAM26は、
実際には、第1のH.S.RAM26′と第2のH.
S.RAM26″とから成っており、それらの各々は、
タイム・マルチプレクシング(時間多重化)によって、
機能の上からは事実上の3−ポート・デバイスとされて
おり、それらのポートのうちの1つ(図中に「C」と記
されているポート)を介してマイクロプロセッサのバス
・システムと接続されている。H.S.RAM26′、
26″の各々は、夫々に第1ないし第2のネットワーク
・インターフェイス120、120′と協働し、それに
よって、夫々が第1及び第2のネットワーク50a及び
50b(これらのネットワークは第8図には示されてい
ない)と、入力(受信)ポートA及び出力(送信)ポー
トBを介して通信を行なうようになっている。このよう
に互いに冗長性を有する2つのシステムとなっているた
め、第2のネットワーク・インターフェイス120′と
第2のH.S.RAM26″を詳細に説明するだけで良
い。ネットワーク・インターフェイス120、120′
については第13図に関連して更に詳細に示され説明さ
れているが、それらは、大きく再区分するならば以下の
4つの主要部分に分けることができる。
第2のネットワーク50bからの10本の入力ライン
を、インターフェイス・データ・バス並びにインターフ
ェイス・アドレス・バスを介してH.S.RAM26″
のAポートへ接続している、入力レジスタ・アレイ/コ
ントロール回路122。
を、インターフェイス・データ・バス並びにインターフ
ェイス・アドレス・バスを介してH.S.RAM26″
のAポートへ接続している、入力レジスタ・アレイ/コ
ントロール回路122。
第2のネットワーク50bへの出力ラインを、インター
フェイス・データ・バス並びにインターフェイス・アド
レス・バスと、第2のH.S.RAM26″のBポート
とへ接続している、出力レジスタ・アレイ/コントロー
ル回路124。
フェイス・データ・バス並びにインターフェイス・アド
レス・バスと、第2のH.S.RAM26″のBポート
とへ接続している、出力レジスタ・アレイ/コントロー
ル回路124。
インターフェイス・アドレス・バス並びにインターフェ
イス・データ・バスと、H.S.RAM26″のAポー
ト並びにBポートとへ接続された、マイクロプロセッサ
・バス・インターフェイス/コントロール回路126。
イス・データ・バスと、H.S.RAM26″のAポー
ト並びにBポートとへ接続された、マイクロプロセッサ
・バス・インターフェイス/コントロール回路126。
ネットワークからワード・クロックを受取り、そして、
インターフェイス120′を制御するための互いに同期
し且つ適切な位相関係にある複数のクロックを発生す
る、クロック発生回路128。
インターフェイス120′を制御するための互いに同期
し且つ適切な位相関係にある複数のクロックを発生す
る、クロック発生回路128。
第2のネットワーク・インターフェイス120′とH.
S.RAM26″とは、マイクロプロセッサ・システム
103と協働することによって、高速で動作するネット
ワークとそれと比較してより低速で動作するプロセッサ
との間のデータ転送をコーディネートしており、また更
に、それらの異なったシステム(=ネットワーク・シス
テムとプロセッサ・システム)の間で交換されるメッセ
ージの、待ち行列を作る機能も果たしている。マイクロ
プロセッサ・バス・インターフェイス/コントロール回
路126は、マイクロプロセッサ・システムと協働して
(読出し/書込み機能:R/W機能)を実行するための
ものであると言うことができ、このマイクロプロセッサ
・システムは(少なくともそれがインテル8086型で
ある場合には)H.S.RAM26″に直接データを書
込む能力と、このH.S.RAM26″からデータを受
取る能力とを備えている。
S.RAM26″とは、マイクロプロセッサ・システム
103と協働することによって、高速で動作するネット
ワークとそれと比較してより低速で動作するプロセッサ
との間のデータ転送をコーディネートしており、また更
に、それらの異なったシステム(=ネットワーク・シス
テムとプロセッサ・システム)の間で交換されるメッセ
ージの、待ち行列を作る機能も果たしている。マイクロ
プロセッサ・バス・インターフェイス/コントロール回
路126は、マイクロプロセッサ・システムと協働して
(読出し/書込み機能:R/W機能)を実行するための
ものであると言うことができ、このマイクロプロセッサ
・システムは(少なくともそれがインテル8086型で
ある場合には)H.S.RAM26″に直接データを書
込む能力と、このH.S.RAM26″からデータを受
取る能力とを備えている。
IFPの構造とAMPの構造とは、その作用に関しては
互いに類似したものであるが、しかしながら、H.S.
RAM26″の内部の入力メッセージ格納領域の大きさ
と出力メッセージ格納領域の大きさとに関しては、IF
PとAMPとの間に相当の差異が存在することがある。
リレーショナル・データベース・システムにおいては、
IFPは、ネットワークを絶えず利用してホスト・コン
ピュータの要求を満たせるようにするために、H.S.
RAM26″の内部に、高速ネットワークから新たなメ
ッセージを受取るための、大きな入力メッセージ格納空
間を備えている。AMPについてはこれと逆のことが言
え、それは、高速ネットワークへ送出される処理済メッ
セージ・パケットのために、より多くの格納空間が使用
できるようになっていなければならないからである。
H.S.RAM26″はマイクロプロセッサ・システム
103の中のメインRAM107と協働しての動作も行
ない、このメインRAM107は各々のネットワークの
ためのメッセージ・バッファ・セクションを備えてい
る。
互いに類似したものであるが、しかしながら、H.S.
RAM26″の内部の入力メッセージ格納領域の大きさ
と出力メッセージ格納領域の大きさとに関しては、IF
PとAMPとの間に相当の差異が存在することがある。
リレーショナル・データベース・システムにおいては、
IFPは、ネットワークを絶えず利用してホスト・コン
ピュータの要求を満たせるようにするために、H.S.
RAM26″の内部に、高速ネットワークから新たなメ
ッセージを受取るための、大きな入力メッセージ格納空
間を備えている。AMPについてはこれと逆のことが言
え、それは、高速ネットワークへ送出される処理済メッ
セージ・パケットのために、より多くの格納空間が使用
できるようになっていなければならないからである。
H.S.RAM26″はマイクロプロセッサ・システム
103の中のメインRAM107と協働しての動作も行
ない、このメインRAM107は各々のネットワークの
ためのメッセージ・バッファ・セクションを備えてい
る。
マイクロプロセッサ・システム103のための、メイン
RAM107内部のシステム・アドレス空間の割当ての
態様は第9図に示されており、それについて簡単に説明
しておく。一般的な方式に従って、ランダム・アクセス
のための記憶容量が増加された場合に使用される拡張用
の空間を残すようにしてシステム・ランダム・アクセス
機能に割当てられたアドレスと、I/Oアドレス空間
と、ROM及びPROM(EPROMを含む)の機能の
ために割当てられたアドレス空間とを有するものとなっ
ている。更に、システム・アドレス空間のうちの幾つか
の部分が、夫々、第1及び第2の高速RAM26′、2
6″から送られてくるメッセージ・パケットと、それら
の高速RAMへ送り出されるメッセージ・パケットのた
めに割当てられている。これによってシステムの動作に
非常な融通性が得られており、それは、マイクロプロセ
ッサ105がH.S.RAM26″をアドレスすること
が可能であるようにしても、メインRAM107の働き
によって、ソフトウェアとハードウェアとの相互依存性
に殆ど拘束されないようにできるからである。
RAM107内部のシステム・アドレス空間の割当ての
態様は第9図に示されており、それについて簡単に説明
しておく。一般的な方式に従って、ランダム・アクセス
のための記憶容量が増加された場合に使用される拡張用
の空間を残すようにしてシステム・ランダム・アクセス
機能に割当てられたアドレスと、I/Oアドレス空間
と、ROM及びPROM(EPROMを含む)の機能の
ために割当てられたアドレス空間とを有するものとなっ
ている。更に、システム・アドレス空間のうちの幾つか
の部分が、夫々、第1及び第2の高速RAM26′、2
6″から送られてくるメッセージ・パケットと、それら
の高速RAMへ送り出されるメッセージ・パケットのた
めに割当てられている。これによってシステムの動作に
非常な融通性が得られており、それは、マイクロプロセ
ッサ105がH.S.RAM26″をアドレスすること
が可能であるようにしても、メインRAM107の働き
によって、ソフトウェアとハードウェアとの相互依存性
に殆ど拘束されないようにできるからである。
再び第8図を関して説明するが、既に述べたように、2
つの方向からアクセスすることのできるH.S.RAM
26″は、マルチプロセッサ・モートの制御、分散型の
更新、並びにメッセージ・パケットの流れの管理におけ
る、中心的機能を実行するように構成されている。これ
らの目的や更に別の目的を達成するために、H.S.R
AM26″は複数の異なった内部セクタに区分されてい
る。第8図に示されている様々なセクタの相対的な配置
の態様は、このシステムの中の個々のプロセッサ・モジ
ュールの全てにおいて採用されているものであり、ま
た、それらのセクタの境界を指定している具体的なアド
レスは、実際のあるシステムにおいて用いられているア
ドレスを示すものである。ここで注意して頂きたいこと
は、これらのメモリ・セクタの大きさとそれらの相対的
な配置とは、具体的なシステムの状況次第で大きく変り
得るものだということである。図示例では16ビットの
メモリ・ワードが採用されている。選択マップ及び応答
ディレクトリは、初期設定の間に一度だけ書込めば良い
ような種類の専用ルックアップ・テーブルであり、一
方、トランザクション・ナンバ・セクションの方は、動
的改定自在な(=動作している間に何度も内容を変更す
ることができるようにした)ルックアップ・テーブルを
提供している。
つの方向からアクセスすることのできるH.S.RAM
26″は、マルチプロセッサ・モートの制御、分散型の
更新、並びにメッセージ・パケットの流れの管理におけ
る、中心的機能を実行するように構成されている。これ
らの目的や更に別の目的を達成するために、H.S.R
AM26″は複数の異なった内部セクタに区分されてい
る。第8図に示されている様々なセクタの相対的な配置
の態様は、このシステムの中の個々のプロセッサ・モジ
ュールの全てにおいて採用されているものであり、ま
た、それらのセクタの境界を指定している具体的なアド
レスは、実際のあるシステムにおいて用いられているア
ドレスを示すものである。ここで注意して頂きたいこと
は、これらのメモリ・セクタの大きさとそれらの相対的
な配置とは、具体的なシステムの状況次第で大きく変り
得るものだということである。図示例では16ビットの
メモリ・ワードが採用されている。選択マップ及び応答
ディレクトリは、初期設定の間に一度だけ書込めば良い
ような種類の専用ルックアップ・テーブルであり、一
方、トランザクション・ナンバ・セクションの方は、動
的改定自在な(=動作している間に何度も内容を変更す
ることができるようにした)ルックアップ・テーブルを
提供している。
選択マップのメモリ・セクションはロケーション0から
始まっているが、この具体例では、基本的にこのメモリ
・セクションの内部において4つの異なったマップが使
用されるようになっており、それらのマップは相互に関
連する方式で利用されるものである。メッセージ・パケ
ットの中に内包されている転送先選択ワード(destinat
ion selection word:DSW)が、H.S.RAM2
6″内の専用の選択マップと共同するようにして用いら
れる。この転送先選択ワード・は、計16個のビットか
ら成り、そしてそのうちの12個のビット・ポジション
を占めるマップ・アドレスとその他の4個のビットを占
めるマップ選択データとを含むものとされている。H.
S.RAMの先頭の1024個の16ビット・メモリ・
ワードは、その各々が4つのマップ・アドレス値を含ん
でいる。DSWに明示されているアドレス値に従って
H.S.RAMへ1回のメモリ・アクセスを行なうだけ
で、4つの全てのマップにつてのマップ・ビットが得ら
れ、その一方で、そのDSWに含まれているマップ選択
ビットが、どのマップを用いるべきかを決定するように
なっている。
始まっているが、この具体例では、基本的にこのメモリ
・セクションの内部において4つの異なったマップが使
用されるようになっており、それらのマップは相互に関
連する方式で利用されるものである。メッセージ・パケ
ットの中に内包されている転送先選択ワード(destinat
ion selection word:DSW)が、H.S.RAM2
6″内の専用の選択マップと共同するようにして用いら
れる。この転送先選択ワード・は、計16個のビットか
ら成り、そしてそのうちの12個のビット・ポジション
を占めるマップ・アドレスとその他の4個のビットを占
めるマップ選択データとを含むものとされている。H.
S.RAMの先頭の1024個の16ビット・メモリ・
ワードは、その各々が4つのマップ・アドレス値を含ん
でいる。DSWに明示されているアドレス値に従って
H.S.RAMへ1回のメモリ・アクセスを行なうだけ
で、4つの全てのマップにつてのマップ・ビットが得ら
れ、その一方で、そのDSWに含まれているマップ選択
ビットが、どのマップを用いるべきかを決定するように
なっている。
第15図は、以上のマップ・セクションの概念的な構造
を示しており、同図においては、各々のマップがあたか
も物理的に分離した4096×1ビットのRAMから成
るものであるかのように図示されている。実施する際の
便宜を考慮に入れれば、第8図に示されているように、
全てのマップ・データがH.S.RAMの単一の部分に
格納されるようにするのが便利である。DSW管理セク
ション190(第13図)が、H.S.RAMの1個の
16ビット・ワードから得られる第15図の4つのマッ
プの、その各々からの4個のビットに対するマルチプレ
クシング動作を制御している。当業者には理解されるよ
うに、この方式の利点は、H.S.RAMのその他の部
分をアクセスするのに用いられると同じ手段を用いて、
プロセッサがマップを初期設定できるという点にある。
を示しており、同図においては、各々のマップがあたか
も物理的に分離した4096×1ビットのRAMから成
るものであるかのように図示されている。実施する際の
便宜を考慮に入れれば、第8図に示されているように、
全てのマップ・データがH.S.RAMの単一の部分に
格納されるようにするのが便利である。DSW管理セク
ション190(第13図)が、H.S.RAMの1個の
16ビット・ワードから得られる第15図の4つのマッ
プの、その各々からの4個のビットに対するマルチプレ
クシング動作を制御している。当業者には理解されるよ
うに、この方式の利点は、H.S.RAMのその他の部
分をアクセスするのに用いられると同じ手段を用いて、
プロセッサがマップを初期設定できるという点にある。
更には、3つの異なったクラス(分類)の転送先選択ワ
ードが使用され、またそれに対応して、選択マップの格
納ロケーションが、ハッシュ選択部分、クラス選択部
分、及び転送先プロセッサ識別情報(destination proc
essor identification:DPID)選択部分に分割され
ている。このDPIDは、当該プロセッサ105が、そ
のメッセージ・パケットの転送先として意図された特定
のプロセッサであるか否かを明示するものである。これ
に対して、クラス選択部分は、当該プロセッサが、その
メッセージ・パケットを受取るべき特定の処理クラスに
属する複数のプロセッサのうちの1つであるか否か、即
ちそのプロセッサ・グループのメンバーであるか否かを
明示するものである。ハッシュ値は、リレーショナル・
データベース・システムの内部にデータベースが分配さ
れる際の分配方法に応じて格納されており、この分配方
法は、そのシステムに採用されている、特定のリレーシ
ョンのためのアルゴリズム、並びに分散格納方式に従っ
たものとなる。この具体例におけるハッシュ値は、プロ
セッサの指定をするに際しては、そのプロセッサがその
データに対して一次的な責任とバックアップ用の責任と
のいずれか一方をもつものとして指定することができる
ようになっている。従って、以上の複数の選択マップに
よって、H.S.RAM26″を直接アドレスして、プ
ロセッサが転送先であるか否かを判断する、という方法
を取れるようになっている。この機能は、優先権を付与
されたメッセージを全てのネットワーク・インターフェ
イス120へブロードカストするという方法と互いに相
い補う、相補的な機能であり、そして割込みを行なうこ
となくマイクロプロセッサ105のステータスの局所的
なアクセスができるようにしている機能でもある。
ードが使用され、またそれに対応して、選択マップの格
納ロケーションが、ハッシュ選択部分、クラス選択部
分、及び転送先プロセッサ識別情報(destination proc
essor identification:DPID)選択部分に分割され
ている。このDPIDは、当該プロセッサ105が、そ
のメッセージ・パケットの転送先として意図された特定
のプロセッサであるか否かを明示するものである。これ
に対して、クラス選択部分は、当該プロセッサが、その
メッセージ・パケットを受取るべき特定の処理クラスに
属する複数のプロセッサのうちの1つであるか否か、即
ちそのプロセッサ・グループのメンバーであるか否かを
明示するものである。ハッシュ値は、リレーショナル・
データベース・システムの内部にデータベースが分配さ
れる際の分配方法に応じて格納されており、この分配方
法は、そのシステムに採用されている、特定のリレーシ
ョンのためのアルゴリズム、並びに分散格納方式に従っ
たものとなる。この具体例におけるハッシュ値は、プロ
セッサの指定をするに際しては、そのプロセッサがその
データに対して一次的な責任とバックアップ用の責任と
のいずれか一方をもつものとして指定することができる
ようになっている。従って、以上の複数の選択マップに
よって、H.S.RAM26″を直接アドレスして、プ
ロセッサが転送先であるか否かを判断する、という方法
を取れるようになっている。この機能は、優先権を付与
されたメッセージを全てのネットワーク・インターフェ
イス120へブロードカストするという方法と互いに相
い補う、相補的な機能であり、そして割込みを行なうこ
となくマイクロプロセッサ105のステータスの局所的
なアクセスができるようにしている機能でもある。
H.S.RAM26″の中の、他の部分からは独立した
1つのセクションが、大域的に分散されている諸活動の
チェック及び制御をするための中枢的な手段として機能
している。既に述べたように、また第3図に示されてい
るように、ネットワーク50bへ送出され、またこのネ
ットワーク50bから受取る種々の処理の夫々に対して
は、トランザクション・ナンバ(TN)が割当てられて
いる。メッセージの中にTNが内包されているのは、各
々のプロセッサ・システム103が自ら受容したサブタ
スクを互いに独立して実行する際の大域的なトランザク
ション・アイデンティティ(トランザクション識別情
報)とするためである。H.S.RAM26″内の、複
数の使用可能なトランザクション・ナンバのアドレスを
格納するための専用のブロックが、それらのサブタスク
を実行する際にマイクロプロセッサ・システム103に
よって局所的に制御及び更新されるステータス・エント
リ(=ステータスについての記述項)を収容している。
TNは、相互通信機能が実行される際に、局所的にもま
た大域的にも、様々な異なった利用法で用いられる。ト
ランザクション・ナンバは、サブタスクを識別するた
め、データを呼出すため、コマンドを与えるため、メッ
セージの流れを制御するため、並びに大域的な処理のダ
イナミクスの種類を特定するために用いられる。トラン
ザクション・ナンバは、大域的通信の実行中に割当てた
り、放棄したり、変更したりすることができる。これら
の特徴については以下の記載において更に詳細に説明す
る。
1つのセクションが、大域的に分散されている諸活動の
チェック及び制御をするための中枢的な手段として機能
している。既に述べたように、また第3図に示されてい
るように、ネットワーク50bへ送出され、またこのネ
ットワーク50bから受取る種々の処理の夫々に対して
は、トランザクション・ナンバ(TN)が割当てられて
いる。メッセージの中にTNが内包されているのは、各
々のプロセッサ・システム103が自ら受容したサブタ
スクを互いに独立して実行する際の大域的なトランザク
ション・アイデンティティ(トランザクション識別情
報)とするためである。H.S.RAM26″内の、複
数の使用可能なトランザクション・ナンバのアドレスを
格納するための専用のブロックが、それらのサブタスク
を実行する際にマイクロプロセッサ・システム103に
よって局所的に制御及び更新されるステータス・エント
リ(=ステータスについての記述項)を収容している。
TNは、相互通信機能が実行される際に、局所的にもま
た大域的にも、様々な異なった利用法で用いられる。ト
ランザクション・ナンバは、サブタスクを識別するた
め、データを呼出すため、コマンドを与えるため、メッ
セージの流れを制御するため、並びに大域的な処理のダ
イナミクスの種類を特定するために用いられる。トラン
ザクション・ナンバは、大域的通信の実行中に割当てた
り、放棄したり、変更したりすることができる。これら
の特徴については以下の記載において更に詳細に説明す
る。
TNの特徴のうち、最も複雑ではあるがおそらく最も効
果的な特徴と言えるのは、ソート・ネットワーク(ソー
ティング機能を有するネットワーク)と協働することに
よって、所与の制御処理に関するローカル・プロセッサ
(=個々のプロセッサ・モジュール)のステータスの分
散型更新を可能にするという、その能力である。各々の
制御処理(即ちタスクないしマルチプロセッサの活動)
はそれ自身のTNをもっている。
果的な特徴と言えるのは、ソート・ネットワーク(ソー
ティング機能を有するネットワーク)と協働することに
よって、所与の制御処理に関するローカル・プロセッサ
(=個々のプロセッサ・モジュール)のステータスの分
散型更新を可能にするという、その能力である。各々の
制御処理(即ちタスクないしマルチプロセッサの活動)
はそれ自身のTNをもっている。
レディネス状態(プロセッサがどのような動作とする準
備が整っているかの状態)の値が、H.S.RAM2
6″のトランザクション・ナンバ・セクションに保持さ
れるようになっており、このレディネス状態の値は、マ
イクロプロセッサ・システム103の制御の下に局所的
に(=個々のプロセッサ・モジュールの内部で)変更さ
れる。マイクロプロセッサ・システム103は、第10
図の応答ディレクトリの中の適当なエントリ(例えばS
ACK/Busy)(アドレスは「050D(16進
数)」)を初期設定することができ、そしてそれによっ
て複製されたとおりのイメージを転送することによっ
て、このSACK/Busyのステータスの、H.S.
RAM26″への入力する。あるTNアドレス(=トラ
ンザクション・ナンバに対応する格納位置)に入力され
ているエントリは、H.S.RAM26″のAポート及
びBポートを介して、そしてインターフェイス120′
を経由して、ネットワーク50bからアクセスすること
が可能となっている。問合せは、ステータス・リクエス
ト(ステータス要求)のコマンド・コード(第11図参
照)とTNとを含む「ステータス・リクエスト」メッセ
ージを用いて行われる。インターフェイス120′は、
指定されたTNのTNアドレスに格納されている内容を
用いて、然るべきフォーマットで書かれた応答メッセー
ジを格納している応答ディレクトリを参照する。所与の
TNに関する大域的ステータス問合せを第2のネットワ
ーク・インターフェイス120′が受取ったならば、そ
れによって、ハードウェア的な制御しか受けていない直
接的な応答が引き出される。前置通信は不要であり、ま
た、マイクロプロセッサ・システム103が割込みを受
けたり影響を及ぼされたりすることもない。しかしなが
ら、「ロック(lock)」表示がインターフェイス1
20′へ転送されることによってステータスの設定が行
なわれた場合には、マイクロプロセッサ・システム10
3は割込みを禁止し、またインターフェイス120′
が、アドレス「0501(16進数)」から得られるロ
ック・ワードを、後刻その排除が行なわれるまで通信し
続ける。
備が整っているかの状態)の値が、H.S.RAM2
6″のトランザクション・ナンバ・セクションに保持さ
れるようになっており、このレディネス状態の値は、マ
イクロプロセッサ・システム103の制御の下に局所的
に(=個々のプロセッサ・モジュールの内部で)変更さ
れる。マイクロプロセッサ・システム103は、第10
図の応答ディレクトリの中の適当なエントリ(例えばS
ACK/Busy)(アドレスは「050D(16進
数)」)を初期設定することができ、そしてそれによっ
て複製されたとおりのイメージを転送することによっ
て、このSACK/Busyのステータスの、H.S.
RAM26″への入力する。あるTNアドレス(=トラ
ンザクション・ナンバに対応する格納位置)に入力され
ているエントリは、H.S.RAM26″のAポート及
びBポートを介して、そしてインターフェイス120′
を経由して、ネットワーク50bからアクセスすること
が可能となっている。問合せは、ステータス・リクエス
ト(ステータス要求)のコマンド・コード(第11図参
照)とTNとを含む「ステータス・リクエスト」メッセ
ージを用いて行われる。インターフェイス120′は、
指定されたTNのTNアドレスに格納されている内容を
用いて、然るべきフォーマットで書かれた応答メッセー
ジを格納している応答ディレクトリを参照する。所与の
TNに関する大域的ステータス問合せを第2のネットワ
ーク・インターフェイス120′が受取ったならば、そ
れによって、ハードウェア的な制御しか受けていない直
接的な応答が引き出される。前置通信は不要であり、ま
た、マイクロプロセッサ・システム103が割込みを受
けたり影響を及ぼされたりすることもない。しかしなが
ら、「ロック(lock)」表示がインターフェイス1
20′へ転送されることによってステータスの設定が行
なわれた場合には、マイクロプロセッサ・システム10
3は割込みを禁止し、またインターフェイス120′
が、アドレス「0501(16進数)」から得られるロ
ック・ワードを、後刻その排除が行なわれるまで通信し
続ける。
レディネス状態のワード・フォーマットは、第12図の
「ビズィ(busy:動作実行中の状態)」から「イニシャ
ル(initial:初期状態)」までの7種類の状態で示さ
れ、この第12図は、実際のあるシステムにおいて採用
されている有用な一具体例を図示している。レディネス
状態をより多くの種類に分類するような変更例やより少
ない種類に分類する変更例も可能であるが、同図に示さ
れている7種類の状態を用いることによって、多くの用
途に適する広範な制御を行なうことができる。H.S.
RAM26″の中の個々のTNの状態レベル(=個々の
TNアドレスに格納されているエントリが表わしている
レディネス状態のレベル)を継続的に更新し、それによ
って、サブタスクの利用可能性やサブタスクの処理の進
捗状況が反映されるようにしておくことは、マイクロプ
ロセッサ・システムの責任とされている。このような更
新は、第12図に示されるフォーマットを用いて、H.
S.RAM26″内のTNアドレスに書込みを行なうこ
とによって、容易に実行することができる。
「ビズィ(busy:動作実行中の状態)」から「イニシャ
ル(initial:初期状態)」までの7種類の状態で示さ
れ、この第12図は、実際のあるシステムにおいて採用
されている有用な一具体例を図示している。レディネス
状態をより多くの種類に分類するような変更例やより少
ない種類に分類する変更例も可能であるが、同図に示さ
れている7種類の状態を用いることによって、多くの用
途に適する広範な制御を行なうことができる。H.S.
RAM26″の中の個々のTNの状態レベル(=個々の
TNアドレスに格納されているエントリが表わしている
レディネス状態のレベル)を継続的に更新し、それによ
って、サブタスクの利用可能性やサブタスクの処理の進
捗状況が反映されるようにしておくことは、マイクロプ
ロセッサ・システムの責任とされている。このような更
新は、第12図に示されるフォーマットを用いて、H.
S.RAM26″内のTNアドレスに書込みを行なうこ
とによって、容易に実行することができる。
第10図において、各々のステータス応答(状態応答)
は、「05」から「0D」(16進数)までのものにつ
いては、いずれもその先頭の部分がステータス肯定応答
コマンド・コード(status acknowledgment command co
de:SACK)で始まっている。ネットワークへ送出さ
れるそれらのSACK応答は、実際には、第10図のコ
マンド・コードと、第12図のワード・フォーマットの
数字部分と、発信元プロセッサID(OPID)とから
構成されており、これについては第11図に示すとおり
である。従って、それらのSACK応答は、第11図に
示された総合的優先順位規約の内部において、ひとまと
まりの優先順位サブグループを形成している。OPID
が優先順位規約に関して意味を持っているわけは、たと
えば、複数のプロセッサがある1つのTNに関して働い
ているが、ただしそれらのいずれもが「ビズィ」状態に
あるという場合には、ブロードカストされる最優先メッ
セージの判定がこのOPIDに基づいて行なわれること
になるからである。転送並びにシステムのコーディネー
ションも、このデータ(OPID)に基づいて行うこと
ができる。
は、「05」から「0D」(16進数)までのものにつ
いては、いずれもその先頭の部分がステータス肯定応答
コマンド・コード(status acknowledgment command co
de:SACK)で始まっている。ネットワークへ送出さ
れるそれらのSACK応答は、実際には、第10図のコ
マンド・コードと、第12図のワード・フォーマットの
数字部分と、発信元プロセッサID(OPID)とから
構成されており、これについては第11図に示すとおり
である。従って、それらのSACK応答は、第11図に
示された総合的優先順位規約の内部において、ひとまと
まりの優先順位サブグループを形成している。OPID
が優先順位規約に関して意味を持っているわけは、たと
えば、複数のプロセッサがある1つのTNに関して働い
ているが、ただしそれらのいずれもが「ビズィ」状態に
あるという場合には、ブロードカストされる最優先メッ
セージの判定がこのOPIDに基づいて行なわれること
になるからである。転送並びにシステムのコーディネー
ションも、このデータ(OPID)に基づいて行うこと
ができる。
SACKメッセージ(=SACK応答)に対して優先順
位規約が定められていることと、複数のマイクロプロセ
ッサ・システム103ら同時に応答が送出されるように
したことと、ネットワーク50bにおいて動的に(=伝
送を行ないながら)優先権の判定が行なわれるようにし
たこととによって、従来のシステムと比較して、所与の
タスクに関する大域的資源のステータスの判定が、大幅
に改善された方法で行なわれるようになっている。それ
によって得られる応答は、一義性を持ち、規定にない状
態を表わすことは決してなく、更には、ソフトウェアを
必要とせずローカル・プロセッサ(=個々のプロセッサ
・モジュール)に時間を費消させることもない。従っ
て、例えば、タスクの実行を妨げる頻繁なステータス要
求によってデッドロックが生じてしまうようなことは決
してない。様々なステータス・レベルにおいて、マルチ
プロセッサの多くの任意選択動作を利用することができ
る。ローカル・プロセッサどうしが互いに独立して動作
を続けることができ、しかも単一の問合せによって、1
つの、大域的な、優先権を与えられた応答が引き出され
るということは、かつてなかったことである。
位規約が定められていることと、複数のマイクロプロセ
ッサ・システム103ら同時に応答が送出されるように
したことと、ネットワーク50bにおいて動的に(=伝
送を行ないながら)優先権の判定が行なわれるようにし
たこととによって、従来のシステムと比較して、所与の
タスクに関する大域的資源のステータスの判定が、大幅
に改善された方法で行なわれるようになっている。それ
によって得られる応答は、一義性を持ち、規定にない状
態を表わすことは決してなく、更には、ソフトウェアを
必要とせずローカル・プロセッサ(=個々のプロセッサ
・モジュール)に時間を費消させることもない。従っ
て、例えば、タスクの実行を妨げる頻繁なステータス要
求によってデッドロックが生じてしまうようなことは決
してない。様々なステータス・レベルにおいて、マルチ
プロセッサの多くの任意選択動作を利用することができ
る。ローカル・プロセッサどうしが互いに独立して動作
を続けることができ、しかも単一の問合せによって、1
つの、大域的な、優先権を与えられた応答が引き出され
るということは、かつてなかったことである。
第12図に示されている一連の状態について、ここで幾
らか詳しく説明しておけば、理解に役立つであろう。
「ビズィ」状態と「ウェイティング(waiting:待
ち)」状態とは、割当てられた、即ち委任されたサブタ
スクに関して、次第により完成に近い段階へとこれから
進んで行くことになる状態であり、「ウェイティング」
状態の方は、更なる通信ないしイベントを必要としてい
る状態を表わしている。これらの「ビズィ」並びに「ウ
ェイティング」の状態は、TNのステータスがより高い
レベルへと上昇して行き、ついにはそのTNに関するメ
ッセージ・パケットを送信ないし受信できるステータス
・レベルにまで到達するという、レベル上昇の例を示す
ものである。
らか詳しく説明しておけば、理解に役立つであろう。
「ビズィ」状態と「ウェイティング(waiting:待
ち)」状態とは、割当てられた、即ち委任されたサブタ
スクに関して、次第により完成に近い段階へとこれから
進んで行くことになる状態であり、「ウェイティング」
状態の方は、更なる通信ないしイベントを必要としてい
る状態を表わしている。これらの「ビズィ」並びに「ウ
ェイティング」の状態は、TNのステータスがより高い
レベルへと上昇して行き、ついにはそのTNに関するメ
ッセージ・パケットを送信ないし受信できるステータス
・レベルにまで到達するという、レベル上昇の例を示す
ものである。
一方、メッセージ・パケットを送信ないし受信する際に
は、以上とはまた別のTNの特徴である、メッセージ制
御におけるTNの能力が発揮されることになる。マイク
ロプロセッサ・システム103が送信すべきメッセージ
をもつようになると、ステータス表示は「送信準備完了
(send ready)」に変る。マイクロプロセッサ・システ
ム103は、ステータス表示を更新することに加えて、
第12図のワード・フォーマットを用いて「ネクスト・
メッセージ・ベクタ」の値をH.S.RAM26″へ入
力する。この入力されたエントリは、該当する出力メッ
セージをH.S.RAM26″のどのロケーションから
取り出せば良いかを明示するものである。このベクタ
は、ある特定のTNに関係する複数の出力メッセージを
1本につなげる(=チェーン(chain)する)ために、
ネットワーク・インターフェイス120′において内部
的に使用されるものである。
は、以上とはまた別のTNの特徴である、メッセージ制
御におけるTNの能力が発揮されることになる。マイク
ロプロセッサ・システム103が送信すべきメッセージ
をもつようになると、ステータス表示は「送信準備完了
(send ready)」に変る。マイクロプロセッサ・システ
ム103は、ステータス表示を更新することに加えて、
第12図のワード・フォーマットを用いて「ネクスト・
メッセージ・ベクタ」の値をH.S.RAM26″へ入
力する。この入力されたエントリは、該当する出力メッ
セージをH.S.RAM26″のどのロケーションから
取り出せば良いかを明示するものである。このベクタ
は、ある特定のTNに関係する複数の出力メッセージを
1本につなげる(=チェーン(chain)する)ために、
ネットワーク・インターフェイス120′において内部
的に使用されるものである。
以上の機能に関連した機能が、「受信準備完了(receiv
e ready)」状態の間に実行される。この「受信準備完
了」状態においては、TNの格納ロケーション(=TN
アドレス)に、マイクロプロセッサ・システム103か
ら得られる入力メッセージ・カウント値が保持されるよ
うになっており、この入力メッセージ・カウント値は、
所与のTNに関連して受信することのできるメッセージ
の個数に関係した値である。このカウント値は、入力メ
ッセージが次々と転送されて来るのに合せてデクリメン
トされ、ついにはゼロになることもある。ゼロになった
ならばそれ以上のメッセージを受取ることはできず、オ
ーバラン(overrun)状態の表示がなされることにな
る。以上のようにして、TNを利用してネットワーク5
0bとマイクロプロセッサ・システム103との間の伝
送の速度を調節することができるようになっている。
e ready)」状態の間に実行される。この「受信準備完
了」状態においては、TNの格納ロケーション(=TN
アドレス)に、マイクロプロセッサ・システム103か
ら得られる入力メッセージ・カウント値が保持されるよ
うになっており、この入力メッセージ・カウント値は、
所与のTNに関連して受信することのできるメッセージ
の個数に関係した値である。このカウント値は、入力メ
ッセージが次々と転送されて来るのに合せてデクリメン
トされ、ついにはゼロになることもある。ゼロになった
ならばそれ以上のメッセージを受取ることはできず、オ
ーバラン(overrun)状態の表示がなされることにな
る。以上のようにして、TNを利用してネットワーク5
0bとマイクロプロセッサ・システム103との間の伝
送の速度を調節することができるようになっている。
局所的な(=個々のプロセッサについての)局面につい
て説明すると、個々のプロセッサにおいては、処理が実
行されている間、TNは送信メッセージ及び受信メッセ
ージの中に、システム全体で通用する一定不変の基準と
して保持されている。「TN0」状態、即ちディフォル
ト状態は、メッセージをノン・マージ・モードで用いる
べきであるという事実を明示するための、局所的コマン
ドとしての機能をも果たすものである。
て説明すると、個々のプロセッサにおいては、処理が実
行されている間、TNは送信メッセージ及び受信メッセ
ージの中に、システム全体で通用する一定不変の基準と
して保持されている。「TN0」状態、即ちディフォル
ト状態は、メッセージをノン・マージ・モードで用いる
べきであるという事実を明示するための、局所的コマン
ドとしての機能をも果たすものである。
更に大域的な観点から説明すると、「TN0」と、「T
N>0」である種々の値とを、互いに異なる性質のもの
として区別することによって、TNを利用している複数
のコマンド機能のうちの1つのコマンド機能が規定され
ている。即ち、そのようにTNを区別することによっ
て、「マージ/ノン・マージ」のいずれかを表わす特性
記述(キャラクタライゼーション)が各々のメッセージ
・パケットに付随することになり、それによって、複数
のメッセージに対して優先権の判定とソートを行なうと
いう、有力なシステムの動作方式が得られているのであ
る。同様に、「アサインド(Assigned:割当てがなされ
ている状態)」、「アンアサインド(Unassigned:割当
てがなされていない状態)」、「非関与プロセッサ(No
n-Participant)」、並びに「イニシャル」というステ
ータスを用いて、大域的相互通信と制御の機能が遂行さ
れるようになっている。「アンアサインド」状態は、そ
れ以前にプロセッサがTNを放棄した場合の状態であ
り、従ってそれは、TNを再活性化させる新たなプライ
マリ・メッセージを受取る必要がある状態である。もし
状態表示が「アサインド」であるべきときにプロセッサ
が「アンアサインド」を表示しているならば、これはT
Nが適切に入力されなかったということを示しているの
であるから、訂正動作が実行されなければならない。も
しTNが「アンアサインド」であるべきときに「アサイ
ンド」となっているならば、これは、不完全な転送が行
なわれているか、或いは新たな1つのTNを求めて2つ
のプロセッサの間で競合が行なわれていることの表われ
である場合がある。これらの「アサインド」と「アンア
サインド」とは、いずれもレディネス状態としては扱わ
れず、その理由は、それらの表示がなされている段階で
は、プロセッサは、まだそのTNに関する作業を始めて
いない状態にあるからである。
N>0」である種々の値とを、互いに異なる性質のもの
として区別することによって、TNを利用している複数
のコマンド機能のうちの1つのコマンド機能が規定され
ている。即ち、そのようにTNを区別することによっ
て、「マージ/ノン・マージ」のいずれかを表わす特性
記述(キャラクタライゼーション)が各々のメッセージ
・パケットに付随することになり、それによって、複数
のメッセージに対して優先権の判定とソートを行なうと
いう、有力なシステムの動作方式が得られているのであ
る。同様に、「アサインド(Assigned:割当てがなされ
ている状態)」、「アンアサインド(Unassigned:割当
てがなされていない状態)」、「非関与プロセッサ(No
n-Participant)」、並びに「イニシャル」というステ
ータスを用いて、大域的相互通信と制御の機能が遂行さ
れるようになっている。「アンアサインド」状態は、そ
れ以前にプロセッサがTNを放棄した場合の状態であ
り、従ってそれは、TNを再活性化させる新たなプライ
マリ・メッセージを受取る必要がある状態である。もし
状態表示が「アサインド」であるべきときにプロセッサ
が「アンアサインド」を表示しているならば、これはT
Nが適切に入力されなかったということを示しているの
であるから、訂正動作が実行されなければならない。も
しTNが「アンアサインド」であるべきときに「アサイ
ンド」となっているならば、これは、不完全な転送が行
なわれているか、或いは新たな1つのTNを求めて2つ
のプロセッサの間で競合が行なわれていることの表われ
である場合がある。これらの「アサインド」と「アンア
サインド」とは、いずれもレディネス状態としては扱わ
れず、その理由は、それらの表示がなされている段階で
は、プロセッサは、まだそのTNに関する作業を始めて
いない状態にあるからである。
更には、「イニシャル」状態と「非関与プロセッサ」状
態も、大域的資源の関係で重要である。オン・ラインに
入ろとしているプロセッサ、即ち、このシステムへの加
入手続きを行なわれなければならないプロセッサは「イ
ニシャル」状態にあり、この態は、このプロセッサをオ
ン・ラインへ入れるために管理上のステップを踏む必要
があることを表わしている。所与のタスクに関して「非
関与プロセッサ」状態にあるプロセッサは、局所的には
いかなる処理も実行する必要はないが、しかしながらこ
のTNを追跡監視することにより、このTNが不注意に
より不適切に使用されることのないようにする必要があ
る。
態も、大域的資源の関係で重要である。オン・ラインに
入ろとしているプロセッサ、即ち、このシステムへの加
入手続きを行なわれなければならないプロセッサは「イ
ニシャル」状態にあり、この態は、このプロセッサをオ
ン・ラインへ入れるために管理上のステップを踏む必要
があることを表わしている。所与のタスクに関して「非
関与プロセッサ」状態にあるプロセッサは、局所的には
いかなる処理も実行する必要はないが、しかしながらこ
のTNを追跡監視することにより、このTNが不注意に
より不適切に使用されることのないようにする必要があ
る。
再び第10図に関して説明すると、H.S.RAM2
6″の専用ディレクトリ即ち参照セクションは、以上に
説明したタイプ以外にも、ハードウェア的に応答を発生
させるために使用される、優先順位を付与された、複数
のその他のタイプのメッセージも含んでいる。NA(no
t assigned:「割当てを受けていない」の意)というエ
ントリは、将来の使用に備えた準備され、使用可能な状
態で保持されている。3種類の異なったタイプのNAK
応答(オーバラン、TNエラー、ロック(Locked)の各
NAK応答)は、そのデータ内容が最も小さな値とされ
ており、従って最も高い優先順位にあるが、それは、そ
れらのNAK応答がエラー状態を示すものだからであ
る。複数のSACK応答の後にACK応答、そしてNA
P応答(非該当プロセッサ応答)が続き、それらは優先
順位が低下して行く順序で並べられている。この具体例
の構成では、2つの応答用コマンド・コードが機能を割
当てられておらず(即ちNAとされており)、それらは
将来の使用に備えて使用可能な状態とされている。以上
に説明したディレクトリは、ソフトウェアによって初期
設定することができしかもハードウェアによって利用さ
れるため、広範な種々の応答メッセージ・テキストのう
ちからどのようなものでも、迅速に且つ柔軟性をもって
発生させることができる。
6″の専用ディレクトリ即ち参照セクションは、以上に
説明したタイプ以外にも、ハードウェア的に応答を発生
させるために使用される、優先順位を付与された、複数
のその他のタイプのメッセージも含んでいる。NA(no
t assigned:「割当てを受けていない」の意)というエ
ントリは、将来の使用に備えた準備され、使用可能な状
態で保持されている。3種類の異なったタイプのNAK
応答(オーバラン、TNエラー、ロック(Locked)の各
NAK応答)は、そのデータ内容が最も小さな値とされ
ており、従って最も高い優先順位にあるが、それは、そ
れらのNAK応答がエラー状態を示すものだからであ
る。複数のSACK応答の後にACK応答、そしてNA
P応答(非該当プロセッサ応答)が続き、それらは優先
順位が低下して行く順序で並べられている。この具体例
の構成では、2つの応答用コマンド・コードが機能を割
当てられておらず(即ちNAとされており)、それらは
将来の使用に備えて使用可能な状態とされている。以上
に説明したディレクトリは、ソフトウェアによって初期
設定することができしかもハードウェアによって利用さ
れるため、広範な種々の応答メッセージ・テキストのう
ちからどのようなものでも、迅速に且つ柔軟性をもって
発生させることができる。
以上のディレクトリの中の、その他の部分からは独立し
ている1つの独立部分を使用して、TOP、GET、P
UT、並びにBOTTOMの夫々のアドレス、即ち、入
力メッセージのための循環バッファの機能に関するポイ
ンタと、それに完了出力メッセージのポインタとが、格
納されている。こらのポインタは、夫々、入力メッセー
ジの管理と出力メッセージの管理とにあてられている
H.S.RAM26″の夫々の専用セクタと協働して機
能を果たすようになっている。入力メッセージのために
は循環バッファ方式が用いられており、この場合、H.
S.RAM26″のディレクトリ・セクションに格納さ
れている「TOP」が、入力メッセージのための上限ア
ドレス位置を指定する可変アドレスとなっている。同じ
ディレクトリ・セクションに格納されているPUTアド
レスは、次に受信するメッセージを回路がどこに格納す
べきかというアドレス位置を指定するものである。GE
Tアドレスは、ソフトウェアがバッファの空白化を行な
っているアドレス位置をハードウェアで認識できるよう
にするために、ソフトウェアによって設定され且つ更新
され続けるものである。
ている1つの独立部分を使用して、TOP、GET、P
UT、並びにBOTTOMの夫々のアドレス、即ち、入
力メッセージのための循環バッファの機能に関するポイ
ンタと、それに完了出力メッセージのポインタとが、格
納されている。こらのポインタは、夫々、入力メッセー
ジの管理と出力メッセージの管理とにあてられている
H.S.RAM26″の夫々の専用セクタと協働して機
能を果たすようになっている。入力メッセージのために
は循環バッファ方式が用いられており、この場合、H.
S.RAM26″のディレクトリ・セクションに格納さ
れている「TOP」が、入力メッセージのための上限ア
ドレス位置を指定する可変アドレスとなっている。同じ
ディレクトリ・セクションに格納されているPUTアド
レスは、次に受信するメッセージを回路がどこに格納す
べきかというアドレス位置を指定するものである。GE
Tアドレスは、ソフトウェアがバッファの空白化を行な
っているアドレス位置をハードウェアで認識できるよう
にするために、ソフトウェアによって設定され且つ更新
され続けるものである。
入力メッセージ・バッファの管理は、PUTをバッファ
の不限(bottom)のアドレスにセットし、そしてGET
アドレスがTOPに等しくなっている状態から開始する
という方法で、行なわれる。ソフトウェアによって定め
られている動作上のルールは、GETがPUTと等しい
値にセットされてはならないということであり、もしそ
のようにセットされたならば、不定状態(アンビギュア
ス・コンディション)が生じてしまうことになる。入力
メッセージがH.S.RAM26″の中の入力メッセー
ジ・バッファへ入力されると、メッセージそれ自体の中
に含まれているメッセージ長さ値が、次に入力して来る
メッセージの始点を決定し、続いて、ディレクトリに格
納されているPUTアドレスに対し、次に入力して来る
メッセージを受入れるべきバッファ内の格納ロケーショ
ンを表示させるための変更が加えられる。以上のように
したため、マイクロプロセッサ・システム103は、自
らの作業能力が許すときに、入力メッセージの取り出し
を行なうことができるようになっている。
の不限(bottom)のアドレスにセットし、そしてGET
アドレスがTOPに等しくなっている状態から開始する
という方法で、行なわれる。ソフトウェアによって定め
られている動作上のルールは、GETがPUTと等しい
値にセットされてはならないということであり、もしそ
のようにセットされたならば、不定状態(アンビギュア
ス・コンディション)が生じてしまうことになる。入力
メッセージがH.S.RAM26″の中の入力メッセー
ジ・バッファへ入力されると、メッセージそれ自体の中
に含まれているメッセージ長さ値が、次に入力して来る
メッセージの始点を決定し、続いて、ディレクトリに格
納されているPUTアドレスに対し、次に入力して来る
メッセージを受入れるべきバッファ内の格納ロケーショ
ンを表示させるための変更が加えられる。以上のように
したため、マイクロプロセッサ・システム103は、自
らの作業能力が許すときに、入力メッセージの取り出し
を行なうことができるようになっている。
H.S.RAM26″内の出力メッセージ格納空間に格
納されているデータは、他の部分からは独立した循環バ
ッファの内部に保持されている出力メッセージ完了ベク
トル、並びにH.S.RAM26″内のネクスト・メッ
セージ・ベクタと共に用いられる。個々のメッセージの
編集(アセンブル)並びに格納は、任意のロケーション
において行なうことができ、また、互いに関連する複数
のメッセージについては、それらをネットワーク上へ送
出するためのつなぎ合わせ(チェーン)を行なうことが
できるようになっている。H.S.RAM26″のディ
レクトリ・セクションでは、TOP、BOTTOM、P
UT、並びにGETの夫々のアドレスが既に説明したよ
うにして入力され且つ更新されており、それによって、
出力メッセージ完了バッファ内のロケーションについて
の動的な現在指標が維持されている。メッセージ完了ベ
クタは、出力メッセージ格納空間内に格納されているメ
ッセージであってもしかも既に適切に転送がなされたこ
とが受信した応答によって示されているメッセージを指
し示すための、指標となるアドレスを構成している。後
に説明するように、このシステムは、マイクロプロセッ
サ・システム103が出力メッセージの入力を容易に行
なえるようにしている一方で、このマイクロプロセッサ
・システム103が複雑な連結ベクタ・シーケンスを整
然とした方式で扱えるようにしており、それによって、
出力メッセージ格納空間が効率的に使用され、メッセー
ジ・チエーンの転送ができるようにしている。
納されているデータは、他の部分からは独立した循環バ
ッファの内部に保持されている出力メッセージ完了ベク
トル、並びにH.S.RAM26″内のネクスト・メッ
セージ・ベクタと共に用いられる。個々のメッセージの
編集(アセンブル)並びに格納は、任意のロケーション
において行なうことができ、また、互いに関連する複数
のメッセージについては、それらをネットワーク上へ送
出するためのつなぎ合わせ(チェーン)を行なうことが
できるようになっている。H.S.RAM26″のディ
レクトリ・セクションでは、TOP、BOTTOM、P
UT、並びにGETの夫々のアドレスが既に説明したよ
うにして入力され且つ更新されており、それによって、
出力メッセージ完了バッファ内のロケーションについて
の動的な現在指標が維持されている。メッセージ完了ベ
クタは、出力メッセージ格納空間内に格納されているメ
ッセージであってもしかも既に適切に転送がなされたこ
とが受信した応答によって示されているメッセージを指
し示すための、指標となるアドレスを構成している。後
に説明するように、このシステムは、マイクロプロセッ
サ・システム103が出力メッセージの入力を容易に行
なえるようにしている一方で、このマイクロプロセッサ
・システム103が複雑な連結ベクタ・シーケンスを整
然とした方式で扱えるようにしており、それによって、
出力メッセージ格納空間が効率的に使用され、メッセー
ジ・チエーンの転送ができるようにしている。
応答に関して先に説明した第11図のプロトコルは、応
答に続けてプライマリ・メッセージについても規定され
ている。複数種類の応答メッセージが互いに連続して並
べられており、16進数のコマンド・コードが昇順に図
示されている。プライマリ・メッセージのグループの中
では、マージ停止メッセージ(このメッセージは、基本
的制御メッセージであるノン・マージ制御メッセージで
もある)が、そのデータ内容が最小値となっており、従
って最高の優先順位にある。このメッセージは、ネット
ワーク内並びにプロセッサ・モジュールにおけるマージ
・モードを終了させる、制御通信を構成している。
答に続けてプライマリ・メッセージについても規定され
ている。複数種類の応答メッセージが互いに連続して並
べられており、16進数のコマンド・コードが昇順に図
示されている。プライマリ・メッセージのグループの中
では、マージ停止メッセージ(このメッセージは、基本
的制御メッセージであるノン・マージ制御メッセージで
もある)が、そのデータ内容が最小値となっており、従
って最高の優先順位にある。このメッセージは、ネット
ワーク内並びにプロセッサ・モジュールにおけるマージ
・モードを終了させる、制御通信を構成している。
極めて多くの異なったタイプのプライマリ・データ・メ
ッセージを昇順の優先順位を定めて利用することがで
き、またそれらには、応用上の要求事項とシステム的な
要求事項とに基づいて、優先順位に関する分類を加える
ことができる。先に述べたように、他のメッセージの後
に続けられる継続メッセージに対しては、それに関する
先行メッセージ・パケットからの連続性を維持できるよ
うにするために、高い優先順位をもたせるようにするこ
とができる。
ッセージを昇順の優先順位を定めて利用することがで
き、またそれらには、応用上の要求事項とシステム的な
要求事項とに基づいて、優先順位に関する分類を加える
ことができる。先に述べたように、他のメッセージの後
に続けられる継続メッセージに対しては、それに関する
先行メッセージ・パケットからの連続性を維持できるよ
うにするために、高い優先順位をもたせるようにするこ
とができる。
4種類のプライマリ・メッセージから成る、第11図中
の最下段のグループは、優先順位の高い方から低い方へ
向かって、ステータス応答を得ることを必要とする唯一
のタイプのステータス・メッセージであるステータス・
リクエスト・メッセージ、「TN放棄」と「TN割当
て」とを要求する夫々の制御メッセージ、そして、更に
優先順位の低い「マージ開始」制御メッセージを含んで
いる。
の最下段のグループは、優先順位の高い方から低い方へ
向かって、ステータス応答を得ることを必要とする唯一
のタイプのステータス・メッセージであるステータス・
リクエスト・メッセージ、「TN放棄」と「TN割当
て」とを要求する夫々の制御メッセージ、そして、更に
優先順位の低い「マージ開始」制御メッセージを含んで
いる。
以上の構成は、後に説明する更に詳細な具体例から明ら
かなように、多くの用途に用い得る動作を可能とするも
のである。プロセッサ・モジュールは、現在トランザク
ション・ナンバ(present transaction number:PT
N)に基づいて動作するようになっており、この場合、
そのPTNが外部的に、ネットワークから命令によって
指定されたものであろうとも、また、連続した動作を実
行している間に内部的に発生されたものであろうとも、
同じことである。マージ動作が実行されているときに
は、プロセッサ・モジュールは、大域的レファレンス、
即ちトランザクション・アイデンティティ(=トランザ
クション識別するための情報)を利してその動作を実行
しているのであり、このトランザクション・アイデンテ
ィティはTNによって定められている。マージ動作の開
始、停止、及び再開は、簡単なメッセージの変更だけを
利用して行なわれる。サブタスクが、メッセージをマー
ジすることを必要としていない場合や、他のメッセージ
との間に特に関係をもっていないメッセージ・パケット
が発生されたような場合には、それらのメッセージは
「TNO」に対して出力するための待ち行列(キュー)
を成すように並べられ、そして、現在トランザクション
・ナンバによって定められた、基本状態即ちディフォル
ト状態(0である)が真状態を維持している間に転送が
行なわれる。この「TN0」状態は、マージ・モードが
用いられていないときには、メッセージを転送のための
待ち行列を成すように並べることを可能にしている。
かなように、多くの用途に用い得る動作を可能とするも
のである。プロセッサ・モジュールは、現在トランザク
ション・ナンバ(present transaction number:PT
N)に基づいて動作するようになっており、この場合、
そのPTNが外部的に、ネットワークから命令によって
指定されたものであろうとも、また、連続した動作を実
行している間に内部的に発生されたものであろうとも、
同じことである。マージ動作が実行されているときに
は、プロセッサ・モジュールは、大域的レファレンス、
即ちトランザクション・アイデンティティ(=トランザ
クション識別するための情報)を利してその動作を実行
しているのであり、このトランザクション・アイデンテ
ィティはTNによって定められている。マージ動作の開
始、停止、及び再開は、簡単なメッセージの変更だけを
利用して行なわれる。サブタスクが、メッセージをマー
ジすることを必要としていない場合や、他のメッセージ
との間に特に関係をもっていないメッセージ・パケット
が発生されたような場合には、それらのメッセージは
「TNO」に対して出力するための待ち行列(キュー)
を成すように並べられ、そして、現在トランザクション
・ナンバによって定められた、基本状態即ちディフォル
ト状態(0である)が真状態を維持している間に転送が
行なわれる。この「TN0」状態は、マージ・モードが
用いられていないときには、メッセージを転送のための
待ち行列を成すように並べることを可能にしている。
(ネットワーク・インターフェイス・システム) これより第13図に関して説明するが、同図は、本発明
のシステムに用いるのに適したインターフェイス回路の
一具体例を更に詳細に示すものである。この「ネットワ
ーク・インターフェイス・システム」の章の説明には本
発明を理解する上では必ずしも必要ではない多数の詳細
な特徴が含まれているが、それらの特徴は、実機のシス
テムには組み込まれているものであり、それゆえ本発明
の要旨に対する種々の具体例の位置付けを明確にするた
めに説明中に含めることにした。具体的にゲーティング
のための構成並びに詳細構造であって、本発明の主題で
はなく、しかも周知の手段に関するものについては、多
種多様な代替構成を採用することも可能であるので、説
明を省略ないし簡略化することにした。第13図は、第
8図に示されている第2ネットワーク・インターフェイ
ス120′並びにH.S.RAM26″の詳細図であ
る。2つのネットワークのための夫々のインターフェイ
ス120、120′は互いに同様の方式で機能してお
り、それゆえ、一方のみについて説明すれば十分であ
る。
のシステムに用いるのに適したインターフェイス回路の
一具体例を更に詳細に示すものである。この「ネットワ
ーク・インターフェイス・システム」の章の説明には本
発明を理解する上では必ずしも必要ではない多数の詳細
な特徴が含まれているが、それらの特徴は、実機のシス
テムには組み込まれているものであり、それゆえ本発明
の要旨に対する種々の具体例の位置付けを明確にするた
めに説明中に含めることにした。具体的にゲーティング
のための構成並びに詳細構造であって、本発明の主題で
はなく、しかも周知の手段に関するものについては、多
種多様な代替構成を採用することも可能であるので、説
明を省略ないし簡略化することにした。第13図は、第
8図に示されている第2ネットワーク・インターフェイ
ス120′並びにH.S.RAM26″の詳細図であ
る。2つのネットワークのための夫々のインターフェイ
ス120、120′は互いに同様の方式で機能してお
り、それゆえ、一方のみについて説明すれば十分であ
る。
第13A図において、同図のインターフェイスに接続さ
れている方の能動ロジック・ネットワーク50からの入
力は、マルチプレクサ142と公知のパリティ・チェッ
ク回路144とを介して、ネットワーク・メッセージ管
理回路140へ供給されている。マルチプレクサ142
は更にマイクロプロセッサ・システムのデータ・バスに
接続されており、これによって、このデータ・バスを介
してメッセージ管理回路140へアクセスすることが可
能となっている。この特徴により、マイクロプロセッサ
・システムが、インターフェイスをステップ・バイ・ス
テップ・テスト・モードで動作させることが可能となっ
ており、そして、このインターフェイスがネットワーク
とあたかもオン・ライン状態で接続されているかのよう
に、データの転送が行なわれるようになっている。ネッ
トワークからの入力は受信用ネットワーク・データ・レ
ジスタ146へ供給されるが、その際、直接このレジス
タ146の第1のセクションへ入力されるバイト・デー
タと、受信用バイト・バッファ148を介してこのレジ
スタ146へ入力されるバイト・データとがあり、受信
用バイト・バッファ148は、第1のセクションへのバ
イト・データの入力が行なわれた後に、自らのバイト・
データをこのレジスタ146の別のセクションへ入力す
る。これによって、受信した各々のワードを構成してい
る2つのバイトの両方が、受信用ネットワーク・データ
・レジスタ146に入力され、そしてそこに、利用可能
な状態で保持されることになる。
れている方の能動ロジック・ネットワーク50からの入
力は、マルチプレクサ142と公知のパリティ・チェッ
ク回路144とを介して、ネットワーク・メッセージ管
理回路140へ供給されている。マルチプレクサ142
は更にマイクロプロセッサ・システムのデータ・バスに
接続されており、これによって、このデータ・バスを介
してメッセージ管理回路140へアクセスすることが可
能となっている。この特徴により、マイクロプロセッサ
・システムが、インターフェイスをステップ・バイ・ス
テップ・テスト・モードで動作させることが可能となっ
ており、そして、このインターフェイスがネットワーク
とあたかもオン・ライン状態で接続されているかのよう
に、データの転送が行なわれるようになっている。ネッ
トワークからの入力は受信用ネットワーク・データ・レ
ジスタ146へ供給されるが、その際、直接このレジス
タ146の第1のセクションへ入力されるバイト・デー
タと、受信用バイト・バッファ148を介してこのレジ
スタ146へ入力されるバイト・データとがあり、受信
用バイト・バッファ148は、第1のセクションへのバ
イト・データの入力が行なわれた後に、自らのバイト・
データをこのレジスタ146の別のセクションへ入力す
る。これによって、受信した各々のワードを構成してい
る2つのバイトの両方が、受信用ネットワーク・データ
・レジスタ146に入力され、そしてそこに、利用可能
な状態で保持されることになる。
これから伝送される出力メッセージは、送信用ネットワ
ーク・データ・レジスタ150へ入力され、また、通常
のパリティ発生回路132の内部においてパリティ・ビ
ットが付加される。メッセージは、ネットワーク・メッ
セージ管理回路140からそれに接続されているネット
ワークへ送出されるか、或いは、(テスト・モードが用
いられる場合には)マイクロプロセッサ・システム・デ
ータ・バスへ送出される。このインターフェイスの内部
におけるメッセージ管理を行う目的で、ランダム・アク
セス・メモリ168に格納されている送信メッセージの
フォーマットは、メッセージ・データと共に識別用デー
タをも含むものとされている。第21A図から分るよう
に、コマンド、タグ、キー、並びにDSWのいずれを
も、これから伝送されるプライマリ・データに組合わせ
ておくことができる。
ーク・データ・レジスタ150へ入力され、また、通常
のパリティ発生回路132の内部においてパリティ・ビ
ットが付加される。メッセージは、ネットワーク・メッ
セージ管理回路140からそれに接続されているネット
ワークへ送出されるか、或いは、(テスト・モードが用
いられる場合には)マイクロプロセッサ・システム・デ
ータ・バスへ送出される。このインターフェイスの内部
におけるメッセージ管理を行う目的で、ランダム・アク
セス・メモリ168に格納されている送信メッセージの
フォーマットは、メッセージ・データと共に識別用デー
タをも含むものとされている。第21A図から分るよう
に、コマンド、タグ、キー、並びにDSWのいずれを
も、これから伝送されるプライマリ・データに組合わせ
ておくことができる。
第13A図に示されている構成は、本質的に第8図に示
されている構成と同一であるが、ただし第8図では、イ
ンターフェイス・データ・バス並びにインターフェイス
・アドレス・バスが、H.S.RAM26″の入力ポー
トAと入力ポートBとに別々に接続され、また、マイク
ロプロセッサ・システム103のアドレス・バス並びに
データ・バスが、独立したCポートに接続されているよ
うに図示されている。しかしながら実際には、第13A
図から分るように、このような互いに独立した2方向か
らのアクセスは、このインターフェイスの内部において
行なわれるH.S.RAM26″における入力アドレス
機能及び出力アドレス機能の時分割マルチプレクシング
によって達成されている。マイクロプロセッサのデータ
・バスとアドレス・バスとは、夫々ゲート145と14
9とを介してインターフェイスの夫々のバスに接続され
ており、それによってマイクロプロセッサが非同期的
に、それ自身の内部クロックに基づいて動作できるよう
になっている。
されている構成と同一であるが、ただし第8図では、イ
ンターフェイス・データ・バス並びにインターフェイス
・アドレス・バスが、H.S.RAM26″の入力ポー
トAと入力ポートBとに別々に接続され、また、マイク
ロプロセッサ・システム103のアドレス・バス並びに
データ・バスが、独立したCポートに接続されているよ
うに図示されている。しかしながら実際には、第13A
図から分るように、このような互いに独立した2方向か
らのアクセスは、このインターフェイスの内部において
行なわれるH.S.RAM26″における入力アドレス
機能及び出力アドレス機能の時分割マルチプレクシング
によって達成されている。マイクロプロセッサのデータ
・バスとアドレス・バスとは、夫々ゲート145と14
9とを介してインターフェイスの夫々のバスに接続され
ており、それによってマイクロプロセッサが非同期的
に、それ自身の内部クロックに基づいて動作できるよう
になっている。
採用されているタイミング体系は、クロック・パルス
と、位相制御波形と、位相細分波形とに基づいたものと
なっており、この位相細分波形は、インターフェイス・
クロック回路156(第13図)によって発生され、ま
た第14図に示すタイミング関係をもつものとなってい
る(第14図についても後に説明する)。インターフェ
イス・クロック回路156は最も近くのノードからネッ
トワーク・ワード・クロックを受取っており、またフェ
イズ・ロック・クロック・ソース157は、第4図に関
連して先に説明した如きゼロ・タイム・スキューを維持
するための手段を含んでいる。240nsのネットワー
ク内の公称ネットワーク・ワード・クロック速度が、イ
ンターフェイス・クロック回路156の内部において時
間的に細分され、これが行なわれるのは、フェイズ・ロ
ックされた状態に保持されている倍周器(詳細には示さ
ない)が、持続時間が40nsの基準周期を定める高速
クロック(第14図にPLCLKとして示されている)
を提供しているからである。基本的なワード周期を定め
ているのは、全周期が240nsで半サイクルごとに反
転する、図中にCLKSRAと記されている周期信号で
ある。このCLSRAと同一の周波数と持続時間とをも
つ信号が他に2つ、PLCLKに基づいて分周器158
によって発生されており、これらの信号は夫々がCLK
SAからPLCLKの1サイクル分及び2サイクル分だ
け遅延した時刻に発生されており、また、夫々がCLK
SRB及びCLKSRCという名称を与えられている。
と、位相制御波形と、位相細分波形とに基づいたものと
なっており、この位相細分波形は、インターフェイス・
クロック回路156(第13図)によって発生され、ま
た第14図に示すタイミング関係をもつものとなってい
る(第14図についても後に説明する)。インターフェ
イス・クロック回路156は最も近くのノードからネッ
トワーク・ワード・クロックを受取っており、またフェ
イズ・ロック・クロック・ソース157は、第4図に関
連して先に説明した如きゼロ・タイム・スキューを維持
するための手段を含んでいる。240nsのネットワー
ク内の公称ネットワーク・ワード・クロック速度が、イ
ンターフェイス・クロック回路156の内部において時
間的に細分され、これが行なわれるのは、フェイズ・ロ
ックされた状態に保持されている倍周器(詳細には示さ
ない)が、持続時間が40nsの基準周期を定める高速
クロック(第14図にPLCLKとして示されている)
を提供しているからである。基本的なワード周期を定め
ているのは、全周期が240nsで半サイクルごとに反
転する、図中にCLKSRAと記されている周期信号で
ある。このCLSRAと同一の周波数と持続時間とをも
つ信号が他に2つ、PLCLKに基づいて分周器158
によって発生されており、これらの信号は夫々がCLK
SAからPLCLKの1サイクル分及び2サイクル分だ
け遅延した時刻に発生されており、また、夫々がCLK
SRB及びCLKSRCという名称を与えられている。
以上の諸々の信号に基づいて、制御ロジック159が、
「IO GATE」、「RECV GATE」、並びに
「SEND GATE」と称されるタイミング波形(以
下、ゲート信号ともいう)を作り出しており、これらの
タイミング波形は、ワード周期の互いに連続する3等分
されたインタバルの夫々を表示するものである。これら
のインタバルには、「IOフェイズ」、「受信フェイ
ズ」、「送信フェイズ」という該当する名称がつけられ
ている。上記ゲート信号によって定められたこれらのフ
ェイズは、その各々が更に、「IO CLK」信号、
「RECV CLK」信号、並びに「SEND CL
K」信号によって、2つの等分された半インタバルへと
細分されており、これらの細分信号は、各々のフェイズ
の後半部分を定めている。バイト・クロッキング機能
は、「BYTE CTRL」信号と「BYTE CL
K」信号とによって管理されている。
「IO GATE」、「RECV GATE」、並びに
「SEND GATE」と称されるタイミング波形(以
下、ゲート信号ともいう)を作り出しており、これらの
タイミング波形は、ワード周期の互いに連続する3等分
されたインタバルの夫々を表示するものである。これら
のインタバルには、「IOフェイズ」、「受信フェイ
ズ」、「送信フェイズ」という該当する名称がつけられ
ている。上記ゲート信号によって定められたこれらのフ
ェイズは、その各々が更に、「IO CLK」信号、
「RECV CLK」信号、並びに「SEND CL
K」信号によって、2つの等分された半インタバルへと
細分されており、これらの細分信号は、各々のフェイズ
の後半部分を定めている。バイト・クロッキング機能
は、「BYTE CTRL」信号と「BYTE CL
K」信号とによって管理されている。
以上のIOフェイズ、RECVフェイズ(受信フェイ
ズ)、及びSENDフェイズ(送信フェイズ)は、ラン
ダム・アクセス・メモリ168とマイクロプロセッサ・
システムのバスが、時分割多重化(タイム・マルチプレ
クシング)された動作を行なえるようにするための、基
礎を提供するものである。インターフェイスは、高速ネ
ットワークとの間で、1回のワード周期あたり1個のワ
ードしか受信ないし送信することができず、しかも明ら
かに、受信と送信とは決して同時には行なわれない。マ
イクロプロセッサ・システムとの間で行なわれる転送の
転送速度は、このネットワークとの間の転送速度よりか
なり低くなっているが、たとえ両者が等しい速度であっ
たとしても、インターフェイス回路の能力にとって過大
な負担となることはない。このインターフェイスのシス
テムの構成は、ランダム・アクセス・メモリ168への
ダイレクト・アクセスによって大部分の動作が実行され
るようになっており、従って内部的な処理つまりソフト
ウェアが、殆んど必要とされないようになっている。従
って、このシステムが各々のワード周期の中の連続する
複数のフェイズを周期的に経過していくにつれて、複数
のワードが次々に、しかも互いに衝突することなく、そ
れらのワードのための所定の複数の信号経路に沿って進
められて行き、それによって種々の機能が実行されるよ
うになっている。例を挙げれば、バスへのメッセージの
送出が、マイクロプロセッサからのメッセージの受取り
の合間に行なわれるようにし、しかもそれらの各々がメ
モリ168の異なった部分を用いて交互に行なわれるよ
うにすることができる。
ズ)、及びSENDフェイズ(送信フェイズ)は、ラン
ダム・アクセス・メモリ168とマイクロプロセッサ・
システムのバスが、時分割多重化(タイム・マルチプレ
クシング)された動作を行なえるようにするための、基
礎を提供するものである。インターフェイスは、高速ネ
ットワークとの間で、1回のワード周期あたり1個のワ
ードしか受信ないし送信することができず、しかも明ら
かに、受信と送信とは決して同時には行なわれない。マ
イクロプロセッサ・システムとの間で行なわれる転送の
転送速度は、このネットワークとの間の転送速度よりか
なり低くなっているが、たとえ両者が等しい速度であっ
たとしても、インターフェイス回路の能力にとって過大
な負担となることはない。このインターフェイスのシス
テムの構成は、ランダム・アクセス・メモリ168への
ダイレクト・アクセスによって大部分の動作が実行され
るようになっており、従って内部的な処理つまりソフト
ウェアが、殆んど必要とされないようになっている。従
って、このシステムが各々のワード周期の中の連続する
複数のフェイズを周期的に経過していくにつれて、複数
のワードが次々に、しかも互いに衝突することなく、そ
れらのワードのための所定の複数の信号経路に沿って進
められて行き、それによって種々の機能が実行されるよ
うになっている。例を挙げれば、バスへのメッセージの
送出が、マイクロプロセッサからのメッセージの受取り
の合間に行なわれるようにし、しかもそれらの各々がメ
モリ168の異なった部分を用いて交互に行なわれるよ
うにすることができる。
マイクロプロセッサ・システムのデータ・バスとネット
ワーク・インターフェイスとの間の相互通信は、IO管
理回路160(このIOのことを読出し/書込み(Read
/Write)と言うこともある)の中で行われる。マイク
ロプロセッサ・システムから送られてくるワードをゲー
ティングするための書込みゲート162と、マイクロプ
ロセッサ・システムへワードを送り出すためのシステム
読出しレジスタ164とによって、マイクロプロセッサ
のバスと、ネットワーク・インターフェイスへのバス・
インターフェイスとの間が接続されている。
ワーク・インターフェイスとの間の相互通信は、IO管
理回路160(このIOのことを読出し/書込み(Read
/Write)と言うこともある)の中で行われる。マイク
ロプロセッサ・システムから送られてくるワードをゲー
ティングするための書込みゲート162と、マイクロプ
ロセッサ・システムへワードを送り出すためのシステム
読出しレジスタ164とによって、マイクロプロセッサ
のバスと、ネットワーク・インターフェイスへのバス・
インターフェイスとの間が接続されている。
更にメモリ・アドレス・レジスタ165とパリティ発生
器/チェック回路166とが、ネットワーク・インター
フェイス・サブシステムに組込まれている。この具体例
では、前記高速メモリ(=H.S.RAM)は4Kワー
ド×17ビットのランダム・アクセス・メモリ168か
ら成り、このメモリの内部的な再区分のしかたと、この
メモリの内部に設けられている複数の専用メモリ領域部
分の使用法とについては、既に説明したとおりである。
このランダム・アクセス・メモリの大きさ(=容量)
は、具体的な個々の用途における必要に合わせて、縮小
したり拡張したりすることが容易にできる。
器/チェック回路166とが、ネットワーク・インター
フェイス・サブシステムに組込まれている。この具体例
では、前記高速メモリ(=H.S.RAM)は4Kワー
ド×17ビットのランダム・アクセス・メモリ168か
ら成り、このメモリの内部的な再区分のしかたと、この
メモリの内部に設けられている複数の専用メモリ領域部
分の使用法とについては、既に説明したとおりである。
このランダム・アクセス・メモリの大きさ(=容量)
は、具体的な個々の用途における必要に合わせて、縮小
したり拡張したりすることが容易にできる。
受信メッセージ・バッファ管理回路170が、マイクロ
プロセッサのデータ・バスに接続されており、更にはメ
モリ168のアドレス・バスにも接続されている。「受
信メッセージ(received messages)」という用語は、
ネットワークから入力してきて循環バッファの中の「P
UT」という格納ロケーションへ入力されるメッセージ
を指し示すためにに用いられることもあり、また、この
入力の後に、そのようにして循環バッファ内へ入力され
たメッセージをマイクロプロセッサへ転送するが、その
転送のことを指し示すために用いられることもある。こ
のマイクロプロセッサへの転送が行なわれるときには、
「GET」の値が、マイクロプロセッサ・システムへ転
送すべき受信メッセージの取出しを実行するに際しシス
テムがどのロケーションから連続した取出し動作を行な
うべきを指定する。ランダム・アクセス・メモリ168
のアクセスに用いられる複数のアドレス値が、GETレ
ジスタ172、TOPレジスタ174、PUTカウンタ
175、及びBOTTMレジスタ176に夫々入力され
ている。PUTカウンタ175は、BOTTOMレジス
タ176によって指定されている初期位置から1づつイ
ンクリメントされることによって更新される。TOPレ
ジスタ174は、もう一方の側の境界の指標を与えるも
のである。TOPの値とBOTTMの値とはいずれも、
ソフトウェア制御によって操作することができ、それに
よって、受信メッセージ・バッファの大きさとH.S.
RAMにおける絶対格納ロケーションとの両方を変更す
ることが可能となっている。PUTレジスタの内容がT
OPレジスタの内容に等しくなったならばPUTレジス
タはリセットされてBOTTMレジスタの内容と等しく
され、それによって、このバッファを循環バッファとし
て利用できるようになっている。以上のGETレジス
タ、TOPレジスタ、BOTTOMレジスタ、並びにP
UTカウンタは、入力メッセージ用循環バッファと出力
メッセージ完了循環バッファとの両方を管理するのに用
いられている。
プロセッサのデータ・バスに接続されており、更にはメ
モリ168のアドレス・バスにも接続されている。「受
信メッセージ(received messages)」という用語は、
ネットワークから入力してきて循環バッファの中の「P
UT」という格納ロケーションへ入力されるメッセージ
を指し示すためにに用いられることもあり、また、この
入力の後に、そのようにして循環バッファ内へ入力され
たメッセージをマイクロプロセッサへ転送するが、その
転送のことを指し示すために用いられることもある。こ
のマイクロプロセッサへの転送が行なわれるときには、
「GET」の値が、マイクロプロセッサ・システムへ転
送すべき受信メッセージの取出しを実行するに際しシス
テムがどのロケーションから連続した取出し動作を行な
うべきを指定する。ランダム・アクセス・メモリ168
のアクセスに用いられる複数のアドレス値が、GETレ
ジスタ172、TOPレジスタ174、PUTカウンタ
175、及びBOTTMレジスタ176に夫々入力され
ている。PUTカウンタ175は、BOTTOMレジス
タ176によって指定されている初期位置から1づつイ
ンクリメントされることによって更新される。TOPレ
ジスタ174は、もう一方の側の境界の指標を与えるも
のである。TOPの値とBOTTMの値とはいずれも、
ソフトウェア制御によって操作することができ、それに
よって、受信メッセージ・バッファの大きさとH.S.
RAMにおける絶対格納ロケーションとの両方を変更す
ることが可能となっている。PUTレジスタの内容がT
OPレジスタの内容に等しくなったならばPUTレジス
タはリセットされてBOTTMレジスタの内容と等しく
され、それによって、このバッファを循環バッファとし
て利用できるようになっている。以上のGETレジス
タ、TOPレジスタ、BOTTOMレジスタ、並びにP
UTカウンタは、入力メッセージ用循環バッファと出力
メッセージ完了循環バッファとの両方を管理するのに用
いられている。
GETレジスタ172への入力はソフトウェアの制御下
において行なわれるが、それは、バッファ中においてそ
のとき取扱われているメッセージの長さに応じて、次の
アドレス(ネクスト・アドレス)が決定されるからであ
る。GETレジスタ172、PUTカウンタ175、並
びにTOPレジスタ174の夫々の出力に接続された比
較回路178と179は、オーバラン状態を検出及び表
示するために使用されている。オーバラン状態はGET
の値とPUTの値とが等しい値に設定された場合や、G
ETの値をTOPの値より大きな値に設定しようとする
試みがなされた場合に生じる状態である。これらのいず
れの場合にも、オーバランのステータス表示が送出され
ることになり、しかもこのステータス表示はオーバラン
状態が訂正されるまで送出され続けることになる。
において行なわれるが、それは、バッファ中においてそ
のとき取扱われているメッセージの長さに応じて、次の
アドレス(ネクスト・アドレス)が決定されるからであ
る。GETレジスタ172、PUTカウンタ175、並
びにTOPレジスタ174の夫々の出力に接続された比
較回路178と179は、オーバラン状態を検出及び表
示するために使用されている。オーバラン状態はGET
の値とPUTの値とが等しい値に設定された場合や、G
ETの値をTOPの値より大きな値に設定しようとする
試みがなされた場合に生じる状態である。これらのいず
れの場合にも、オーバランのステータス表示が送出され
ることになり、しかもこのステータス表示はオーバラン
状態が訂正されるまで送出され続けることになる。
「受信メッセージ」循環バッファを構成し動作させる際
の、以上のような連続的な方式は、このシステムに特に
適した方式である。衝突(コンフリクト)を回避するた
めの相互チェックを可能としておくことによって、「P
UT」をハードウェアを管理し、且つ「GET」を動的
に管理することができるようになっている。しかしなが
ら、これ以外の方式のバッファ・システムを採用するこ
とも可能である。ただしその場合には、おそらく回路並
びにソフトウェアに関して、ある程度の余分な負担が加
わることになろう。ここで第21B図について触れてお
くと、メモリ168の内部に格納されている受信メッセ
ージのフォーマットは更に、マップ結果、データ長さ、
並びにキー長さの形の識別データを含んでおり、それら
のデータがそのようにして得られるかについては後に説
明する。
の、以上のような連続的な方式は、このシステムに特に
適した方式である。衝突(コンフリクト)を回避するた
めの相互チェックを可能としておくことによって、「P
UT」をハードウェアを管理し、且つ「GET」を動的
に管理することができるようになっている。しかしなが
ら、これ以外の方式のバッファ・システムを採用するこ
とも可能である。ただしその場合には、おそらく回路並
びにソフトウェアに関して、ある程度の余分な負担が加
わることになろう。ここで第21B図について触れてお
くと、メモリ168の内部に格納されている受信メッセ
ージのフォーマットは更に、マップ結果、データ長さ、
並びにキー長さの形の識別データを含んでおり、それら
のデータがそのようにして得られるかについては後に説
明する。
このインターフェイスの内部のDSW管理セクション1
90は、転送先選択ワード・レジスタ192を含んでお
り、この転送先選択ワード・レジスタ192へは、これ
からアドレス・バスへ転送される転送先選択ワード(D
SW)が入力される。DSWを使用してメモリ168の
専用DSWセクションをアドレスすると、このメモリ1
68からデータ・バス上へ送出された出力がデータを返
し、このデータに基づいてDSW管理セクション190
が、そのメッセージバケットが当該プロセッサを転送先
としたものであるか否かを判定することができるように
なっている。第13A図から分るように、転送先選択ワ
ードは、2ビットのマップ・ニブル(nybl)アドレスと、
10ビットのマップ・ワード・アドレスと、マップ選択
のための4ビットとから成っている。これらのうちの
「ニブル」アドレスは、メモリ168からのワードのサ
ブセクションを記述するのに用いられている。マップ選
択のための4ビットは、マップ結果比較器194へ供給
され、この比較器194はマルチプレクサ196を介し
てメモリ168から関連したマップ・データを受取って
いる。マルチプレクサ196は16ビットのデータを受
取っており、この16個のビットは、DSWの中に含ま
れているマップ・ワード・アドレスの10ビットによっ
て指定されるアドレスに格納されている4つの異なった
マップ・データ・ニブルを表わしている。メモリ168
は、ここで行なわれる比較が容易なように、その専用マ
ップ・セクションが特に比較に適した形態に構成されて
いる。マルチプレクサ196へその制御のために供給さ
れている、DSWの中の残りの2ビットによって、4つ
のマップ・ニブルのうちの該当する1つのマップ・ニブ
ルが選択される。比較が行なわれ、その比較の結果得ら
れたマップ・コードが、マップ結果レジスタ197へ入
力され、そしてメモリ168へ入力されている入力メッ
セージの中へ挿入される。もし、この比較の結果、選択
されたマップのいずれの中にも「1」のビットが存在し
ていないことが判明した場合には、「距絶」信号が発生
されて、当該プロセッサ・モジュールはそのメッセージ
・バケットを受取るものとして意図されてはいないこと
が表示される。
90は、転送先選択ワード・レジスタ192を含んでお
り、この転送先選択ワード・レジスタ192へは、これ
からアドレス・バスへ転送される転送先選択ワード(D
SW)が入力される。DSWを使用してメモリ168の
専用DSWセクションをアドレスすると、このメモリ1
68からデータ・バス上へ送出された出力がデータを返
し、このデータに基づいてDSW管理セクション190
が、そのメッセージバケットが当該プロセッサを転送先
としたものであるか否かを判定することができるように
なっている。第13A図から分るように、転送先選択ワ
ードは、2ビットのマップ・ニブル(nybl)アドレスと、
10ビットのマップ・ワード・アドレスと、マップ選択
のための4ビットとから成っている。これらのうちの
「ニブル」アドレスは、メモリ168からのワードのサ
ブセクションを記述するのに用いられている。マップ選
択のための4ビットは、マップ結果比較器194へ供給
され、この比較器194はマルチプレクサ196を介し
てメモリ168から関連したマップ・データを受取って
いる。マルチプレクサ196は16ビットのデータを受
取っており、この16個のビットは、DSWの中に含ま
れているマップ・ワード・アドレスの10ビットによっ
て指定されるアドレスに格納されている4つの異なった
マップ・データ・ニブルを表わしている。メモリ168
は、ここで行なわれる比較が容易なように、その専用マ
ップ・セクションが特に比較に適した形態に構成されて
いる。マルチプレクサ196へその制御のために供給さ
れている、DSWの中の残りの2ビットによって、4つ
のマップ・ニブルのうちの該当する1つのマップ・ニブ
ルが選択される。比較が行なわれ、その比較の結果得ら
れたマップ・コードが、マップ結果レジスタ197へ入
力され、そしてメモリ168へ入力されている入力メッ
セージの中へ挿入される。もし、この比較の結果、選択
されたマップのいずれの中にも「1」のビットが存在し
ていないことが判明した場合には、「距絶」信号が発生
されて、当該プロセッサ・モジュールはそのメッセージ
・バケットを受取るものとして意図されてはいないこと
が表示される。
第15図について説明すると、同図には、メモリ168
の専用の転送先選択セクションを細分するための好適な
方法であってしかもマップ結果の比較を行うための好適
な方法が、概略的に図示されている。各々のマップは4
096ワード×1ビットで構成されており、更に、個別
プロセッサID用セクタ、クラスID用セクタ、及びハ
ッシング用セクタに細分されている(第8図参照)。1
2個のアドレス・ビット(10ビットのマップ・アドレ
スと2ビットのニブル)を用いて、共通マップ・アドレ
スが選択されると、それによって各々のマップから1ビ
ット出力が得られる。(第13図のマルチプレクサとそ
のニブルは、図を簡明にするために第15図には示して
ない)。それらの4つのバラレルなビット出力は、4つ
のANDゲートから成るANDゲート群198におい
て、マップ選択のための4ビットと比較することができ
るようになっており、その結果、1つ以上の一致が得ら
れた場合には、ORゲート199の出力が「真」状態に
なる。このマップ結果は、第13A図のマップ結果レジ
スタ197へ入力することができ、それによって、その
メッセージがメモリ168に受入れられるようになる。
以上とは異なる場合には、そのメッセージは拒絶され、
NAKが送信されることになる。
の専用の転送先選択セクションを細分するための好適な
方法であってしかもマップ結果の比較を行うための好適
な方法が、概略的に図示されている。各々のマップは4
096ワード×1ビットで構成されており、更に、個別
プロセッサID用セクタ、クラスID用セクタ、及びハ
ッシング用セクタに細分されている(第8図参照)。1
2個のアドレス・ビット(10ビットのマップ・アドレ
スと2ビットのニブル)を用いて、共通マップ・アドレ
スが選択されると、それによって各々のマップから1ビ
ット出力が得られる。(第13図のマルチプレクサとそ
のニブルは、図を簡明にするために第15図には示して
ない)。それらの4つのバラレルなビット出力は、4つ
のANDゲートから成るANDゲート群198におい
て、マップ選択のための4ビットと比較することができ
るようになっており、その結果、1つ以上の一致が得ら
れた場合には、ORゲート199の出力が「真」状態に
なる。このマップ結果は、第13A図のマップ結果レジ
スタ197へ入力することができ、それによって、その
メッセージがメモリ168に受入れられるようになる。
以上とは異なる場合には、そのメッセージは拒絶され、
NAKが送信されることになる。
コマンド・ワード管理セクション200は、コマンド・
ワードを受取るコマンド・レジスタ202を含んでい
る。コマンド・ワードのTNフィールドは、それを用い
てアドレス・バスをアクセスすることができ、そのアク
セスによって、指標とされている受信TNが調べられて
適当な応答メッセージが決定される(第18図参照)。
更には、「マージ開始」コマンドが実行されているとき
には、TNフィールドからPTNR(現在トランザクシ
ョン・ナンバ・レジスタ)206へのデータ転送経路が
確保されており、これは、「マージ開始」コマンドに合
わせてPTN(現在トランザクシヨン・ナンバ)の値を
変更できるようにするためである。
ワードを受取るコマンド・レジスタ202を含んでい
る。コマンド・ワードのTNフィールドは、それを用い
てアドレス・バスをアクセスすることができ、そのアク
セスによって、指標とされている受信TNが調べられて
適当な応答メッセージが決定される(第18図参照)。
更には、「マージ開始」コマンドが実行されているとき
には、TNフィールドからPTNR(現在トランザクシ
ョン・ナンバ・レジスタ)206へのデータ転送経路が
確保されており、これは、「マージ開始」コマンドに合
わせてPTN(現在トランザクシヨン・ナンバ)の値を
変更できるようにするためである。
メモリ168へ入力された入力メッセージは、第21図
に関して説明すると、アドレス・ベクタを利用できるよ
うにするために、データ・フィールドやキー・フィール
ドが用いられている場合にはそれらのフィールドの長さ
値をも含むものとなっている。それらの長さ値は、受信
データ長さカウンタ210と受信キー長さカウンタ21
1とによって求められ、これらのカウンタの各々は、入
力ソースから夫々のカウンタに該当するフィールドが提
供される際に、それらのフィールドに含まれている一連
のワードの個数を数えるようになっている。
に関して説明すると、アドレス・ベクタを利用できるよ
うにするために、データ・フィールドやキー・フィール
ドが用いられている場合にはそれらのフィールドの長さ
値をも含むものとなっている。それらの長さ値は、受信
データ長さカウンタ210と受信キー長さカウンタ21
1とによって求められ、これらのカウンタの各々は、入
力ソースから夫々のカウンタに該当するフィールドが提
供される際に、それらのフィールドに含まれている一連
のワードの個数を数えるようになっている。
更には、送信メッセージ管理セクション220が用いら
れており、このセクションは、処理済のバケットをメモ
リ168に格納するための受入れ機能と、それらの格納
されたバケットを後刻ネットワークへ送出する機能とを
包含している。このセクション220は、送信トランザ
クション・ベクタ・カウンタ222、送信データ長さカ
ウンタ224、及び送信キー長さカウンタ226を含ん
でおり、これらのカウンタはデータ・バスに、双方的に
接続されている。送信トランザクション・ベクタ・カウ
ンタ222は、アドレス・バスに接続されており、一
方、送信データ長さカウンタ224はアドレス発生器2
28に接続されていて、このアドレス発生器228が更
にアドレス・バスに接続されている。出力バッファ・セ
クションと第8図の出力メッセージ完了ベクタ・セクシ
ョンを構成する循環バッファとの両方を用いてメッセー
ジの送出が行なわれる。ただしこの具体例では、複数の
メッセージ・バケットが逐次入力された後、それらが今
度はベクタによって定められた順序で取出されるように
なっている。
れており、このセクションは、処理済のバケットをメモ
リ168に格納するための受入れ機能と、それらの格納
されたバケットを後刻ネットワークへ送出する機能とを
包含している。このセクション220は、送信トランザ
クション・ベクタ・カウンタ222、送信データ長さカ
ウンタ224、及び送信キー長さカウンタ226を含ん
でおり、これらのカウンタはデータ・バスに、双方的に
接続されている。送信トランザクション・ベクタ・カウ
ンタ222は、アドレス・バスに接続されており、一
方、送信データ長さカウンタ224はアドレス発生器2
28に接続されていて、このアドレス発生器228が更
にアドレス・バスに接続されている。出力バッファ・セ
クションと第8図の出力メッセージ完了ベクタ・セクシ
ョンを構成する循環バッファとの両方を用いてメッセー
ジの送出が行なわれる。ただしこの具体例では、複数の
メッセージ・バケットが逐次入力された後、それらが今
度はベクタによって定められた順序で取出されるように
なっている。
このインターフェイスの内部においては、独立した夫々
の動作フェイズが、互いに排他的な時間に実行されるよ
うになっており、このような時分割方式を採用したこと
によって、メモリ168は、ネットワークのクロック速
度でネットワークからのメッセージ・バケットを受取っ
て供給することと、内部的な動作を効率的な高い速度で
実行することと、それ自身の遅いクロック速度で非同期
的に動作しているマイクロプロセッサ・システムとの間
で通信を行なうこととが、可能とされている。様々なカ
ウンタやレジスタへ向けたメッセージのゲーティング動
作を制御するための、位相制御回路が制御ビットに応答
して動作しており、制御ビットは、コマンド、DSW、
データ、それにメッセージ内の個々のフィールドを示す
その他の信号を発生するものである。送信状態制御回路
250、受信状態制御回路260、並びにR/W(読出
し/書込み)状態制御回路270は、クロック・パルス
を受取り、データ内のフィールドを識別し、そして、送
信、受信、それにプロセッサのクロック動作が行なわれ
ている間の、データの流れのシーケンシングを制御する
ものである。
の動作フェイズが、互いに排他的な時間に実行されるよ
うになっており、このような時分割方式を採用したこと
によって、メモリ168は、ネットワークのクロック速
度でネットワークからのメッセージ・バケットを受取っ
て供給することと、内部的な動作を効率的な高い速度で
実行することと、それ自身の遅いクロック速度で非同期
的に動作しているマイクロプロセッサ・システムとの間
で通信を行なうこととが、可能とされている。様々なカ
ウンタやレジスタへ向けたメッセージのゲーティング動
作を制御するための、位相制御回路が制御ビットに応答
して動作しており、制御ビットは、コマンド、DSW、
データ、それにメッセージ内の個々のフィールドを示す
その他の信号を発生するものである。送信状態制御回路
250、受信状態制御回路260、並びにR/W(読出
し/書込み)状態制御回路270は、クロック・パルス
を受取り、データ内のフィールドを識別し、そして、送
信、受信、それにプロセッサのクロック動作が行なわれ
ている間の、データの流れのシーケンシングを制御する
ものである。
このインターフェイスの制御は3つの有限状態マシン
(FSM)によって行われ、それらのFSMは、その各
々が送信フェイズ、受信フェイズ、及びプロセッサ(R
/W)フェイズのためのものである。それらのFSM
は、プログラマブル・ロジック・アレイ(PLA)、状
態レジスタ、並びにアクションROMを使用して、一般
的な方式で構成されている。各々のFSMは、ネットワ
ークのクロック・サイクルの1回ごとに1つ次の状態へ
進められる。発生すべき制御信号の数が多いため、PL
Aの出力はさらにアクションROMによって符号化され
る。当業者には容易に理解されるように、ネットワーク
の動作のために必然的に必要となる、FSMモード用に
書かれ、それゆえ一般的な細部構造と動作とをもつ制御
シーケンスの翻訳は、仕事量こそ多いものの単純なタス
クである。
(FSM)によって行われ、それらのFSMは、その各
々が送信フェイズ、受信フェイズ、及びプロセッサ(R
/W)フェイズのためのものである。それらのFSM
は、プログラマブル・ロジック・アレイ(PLA)、状
態レジスタ、並びにアクションROMを使用して、一般
的な方式で構成されている。各々のFSMは、ネットワ
ークのクロック・サイクルの1回ごとに1つ次の状態へ
進められる。発生すべき制御信号の数が多いため、PL
Aの出力はさらにアクションROMによって符号化され
る。当業者には容易に理解されるように、ネットワーク
の動作のために必然的に必要となる、FSMモード用に
書かれ、それゆえ一般的な細部構造と動作とをもつ制御
シーケンスの翻訳は、仕事量こそ多いものの単純なタス
クである。
第17図及び第19図の状態のダイアグラムと第18図
のマトリクス・ダイアグラムとを添付図面中に含めてあ
るのは、かなり複雑なシステムに採用することのできる
内部構造設計上の特徴に関する、包括的な細目を提示す
るためである。第17図は受信フェイズに関する図、第
19図は送信フェイズに関する図であり、これらの図に
おいて用いられている表記法は、この明細書及び図面の
他の場所で用いられている表記法に対応している。例え
ば次の用語がそうである。
のマトリクス・ダイアグラムとを添付図面中に含めてあ
るのは、かなり複雑なシステムに採用することのできる
内部構造設計上の特徴に関する、包括的な細目を提示す
るためである。第17図は受信フェイズに関する図、第
19図は送信フェイズに関する図であり、これらの図に
おいて用いられている表記法は、この明細書及び図面の
他の場所で用いられている表記法に対応している。例え
ば次の用語がそうである。
RKLC=Receive Key Length Counter (受信キー長さカウンタ) RDLA=Receive Data Length Counter (受信データ長さカウンタ) RNPR=Receuve Network Data Word Register (受信ネットワーク・データ・ワード・レジスタ) PUTC=Put Counter (PUTカウンタ) GETR=Get Register (GETレジスタ) 従って状態ダイアグラムは、第13図及び明細書と対照
させて参照すれば、略々説明なしでも理解することがで
きる。それらの状態ダイアグラムは、複雑なメッセージ
管理並びにプロセッサ相互間通信に関わる、様々なシー
ケンスと条件文とを詳細に示している。第17図(第1
7A図)において、「応答を発生せよ」と「応答を復号
せよ」とのラベルが書込まれている夫々の状態、並びに
破線の長方形で示されている夫々の条件文は、第18図
のマトリクス・ダイアグラムに記載されている、指定さ
れた応答及び動作に従うものである。第18図は、所与
のTNに関するプライマリ・メッセージとレディネス状
態との任意の組み合わせに対し、発生される応答と実行
される動作との両方を示すものである。当然のことであ
るが、正常なシステムの動作がなされているときには、
ある程度のメッセージは拒絶はあるものの、エラー状態
はまれにしか発生しない。
させて参照すれば、略々説明なしでも理解することがで
きる。それらの状態ダイアグラムは、複雑なメッセージ
管理並びにプロセッサ相互間通信に関わる、様々なシー
ケンスと条件文とを詳細に示している。第17図(第1
7A図)において、「応答を発生せよ」と「応答を復号
せよ」とのラベルが書込まれている夫々の状態、並びに
破線の長方形で示されている夫々の条件文は、第18図
のマトリクス・ダイアグラムに記載されている、指定さ
れた応答及び動作に従うものである。第18図は、所与
のTNに関するプライマリ・メッセージとレディネス状
態との任意の組み合わせに対し、発生される応答と実行
される動作との両方を示すものである。当然のことであ
るが、正常なシステムの動作がなされているときには、
ある程度のメッセージは拒絶はあるものの、エラー状態
はまれにしか発生しない。
第17図と第19図のいずれにおいても、条件判断に関
しては、その多くのものが複雑の判断を同時に実行する
ことができるようになっているが、これに対して状態ス
テップの方は、1つづつ変更されていくようになってい
る。いずれの場合においても、送信動作と受信動作とは
外部からの制御を必要せずに定められた進行速度で進め
られて行く動作であり、それは、メッセージの構成とネ
ットワークの動作方式とが既に説明したようになってい
るためである。
しては、その多くのものが複雑の判断を同時に実行する
ことができるようになっているが、これに対して状態ス
テップの方は、1つづつ変更されていくようになってい
る。いずれの場合においても、送信動作と受信動作とは
外部からの制御を必要せずに定められた進行速度で進め
られて行く動作であり、それは、メッセージの構成とネ
ットワークの動作方式とが既に説明したようになってい
るためである。
典型的なプロセッサ・システムやマルチプロセッサ・シ
ステムにおいて採用されている多くの特徴には、本発明
に密接な関係を持ってはいないものがあり、従ってそれ
らについては特に記載しない。それらの特徴の中には、
バリティー・エラー回路、割込み回路、それに、ワッチ
ドッグ・タイマや極めて多様な記験機能等の活動をモニ
タするための種々の手段等がある。
ステムにおいて採用されている多くの特徴には、本発明
に密接な関係を持ってはいないものがあり、従ってそれ
らについては特に記載しない。それらの特徴の中には、
バリティー・エラー回路、割込み回路、それに、ワッチ
ドッグ・タイマや極めて多様な記験機能等の活動をモニ
タするための種々の手段等がある。
(システムの動作の具体例) 以下に説明するのは、第1図、第8図、及び第13図を
総合したシステムが、ネットワーク及びH.S.RAM
と協働しつつ種々の動作モードで内部的にどのように働
くかを示す幾つかの具体例である。それらの具体例は、
優先順位規定と、ここで採用されているアドレッシング
方式と、トランザクション・アイデンティティとの間の
相互関係が、どのようにして局所的制御と大域的相互通
信との両方の機能を提供するのかを示すものである。
総合したシステムが、ネットワーク及びH.S.RAM
と協働しつつ種々の動作モードで内部的にどのように働
くかを示す幾つかの具体例である。それらの具体例は、
優先順位規定と、ここで採用されているアドレッシング
方式と、トランザクション・アイデンティティとの間の
相互関係が、どのようにして局所的制御と大域的相互通
信との両方の機能を提供するのかを示すものである。
プライマリ・データ・メッセージの送受信 ここでは、その他の図に加えて更に第16図についても
説明するが、第16図は、プライマリ・メッセージの最
終的な受入れに関わる諸状態の、簡略化した状態ダイア
グラムである。メッセージがバッファ或いはメモリに受
信されても、図示の論理的状態が満たされないうちは、
受入れ(アクセプタンス)が達成されたことにはならな
い。図ではイベント(事象)のシリアルな列として示さ
れているが、本来は複数の判定がパラレルに、即ち同時
に行なわれるようになっており、それは、夫々の条件が
互いに関与しないものであったり、或いは、ある動作段
階へ達するための中間段階の飛越しが、回路によって行
なわれたりするためである。
説明するが、第16図は、プライマリ・メッセージの最
終的な受入れに関わる諸状態の、簡略化した状態ダイア
グラムである。メッセージがバッファ或いはメモリに受
信されても、図示の論理的状態が満たされないうちは、
受入れ(アクセプタンス)が達成されたことにはならな
い。図ではイベント(事象)のシリアルな列として示さ
れているが、本来は複数の判定がパラレルに、即ち同時
に行なわれるようになっており、それは、夫々の条件が
互いに関与しないものであったり、或いは、ある動作段
階へ達するための中間段階の飛越しが、回路によって行
なわれたりするためである。
第1図のネットワークの上のメッセージは、第13A図
の受信ネットワーク・データ・レジスタ146の中を、
EOM状態が識別されるまでの間通過させられ、その状
態が識別されたときに、メッセージが完了したことが認
識される。「ロック(LOCK)」状態が存在している
場合には、システムは第8図のH.S.RAM26″の
中の応答ディレクトリを参照して、NAK/LOCK拒
絶メッセージを送出する。
の受信ネットワーク・データ・レジスタ146の中を、
EOM状態が識別されるまでの間通過させられ、その状
態が識別されたときに、メッセージが完了したことが認
識される。「ロック(LOCK)」状態が存在している
場合には、システムは第8図のH.S.RAM26″の
中の応答ディレクトリを参照して、NAK/LOCK拒
絶メッセージを送出する。
そうでない場合、即ち、「ロック」状態が存在していな
い場合には、システムはマップ比較チェックへ移り、こ
のチェックは第13A図に示したインターフェイスの中
のDSW管理セクション190の内部で実行される。
「マップ出力=1」で表わされる、適切な比較結果が存
在している場合には、システムはそのメッセージを受信
し続けることができる。そのような比較結果が存在して
いない場合には、そのメッセージは拒絶され、NAPが
送出される。
い場合には、システムはマップ比較チェックへ移り、こ
のチェックは第13A図に示したインターフェイスの中
のDSW管理セクション190の内部で実行される。
「マップ出力=1」で表わされる、適切な比較結果が存
在している場合には、システムはそのメッセージを受信
し続けることができる。そのような比較結果が存在して
いない場合には、そのメッセージは拒絶され、NAPが
送出される。
該当するマップが判定されたならば、それによってシス
テムはTNステータスを検査する準備が整ったことにな
り、このTNステータスの検査は第8図に示されている
TNのディレクトリを参照することによって行なわれる
(ここでTNステータスとは厳密には所与のTNに関す
るプロセッサのステータスのことであり、従ってH.
S.RAM内のTNアドレスに格納されているエントリ
によって表わされているレディネス状態のことであ
る)。更に詳しく説明すると、このTNステータスの検
査は、局所的ステータス(=個々のプロセッサ・モジュ
ールのステータス)が「受信準備完了」であるか否かを
判定するために行なわれる。ここでは、先行するあるプ
ライマリ・メッセージによってTNの割当てが既になさ
れているものと仮定している。
テムはTNステータスを検査する準備が整ったことにな
り、このTNステータスの検査は第8図に示されている
TNのディレクトリを参照することによって行なわれる
(ここでTNステータスとは厳密には所与のTNに関す
るプロセッサのステータスのことであり、従ってH.
S.RAM内のTNアドレスに格納されているエントリ
によって表わされているレディネス状態のことであ
る)。更に詳しく説明すると、このTNステータスの検
査は、局所的ステータス(=個々のプロセッサ・モジュ
ールのステータス)が「受信準備完了」であるか否かを
判定するために行なわれる。ここでは、先行するあるプ
ライマリ・メッセージによってTNの割当てが既になさ
れているものと仮定している。
この検査の結果、TNが「実行終了(done)」状態、「非
関与プロセッサ」状態、または「イニシャル」状態のい
ずれかのステータスであることが判明した場合には、
「NAP」拒絶メッセージが送出される(ここでTNと
いっているのは、厳密にはH.S.RAM内のTNアド
レスに格納されているエントリのことであるが、以下、
混同のおそれのない限りこのエントリのことも単にTN
と称することにする)。もしこの判明したステータス
が、他の規定外の状態であったならば、送出される拒絶
メッセージは「NAK/TNエラー」であり、以上の2
つのタイプの拒絶メッセージもまた、第8図の応答ディ
レクトリから取り出される。ステータスが「受信準備完
了」であったならば、更にもう1つの別の判定が行なわ
れることになる。
関与プロセッサ」状態、または「イニシャル」状態のい
ずれかのステータスであることが判明した場合には、
「NAP」拒絶メッセージが送出される(ここでTNと
いっているのは、厳密にはH.S.RAM内のTNアド
レスに格納されているエントリのことであるが、以下、
混同のおそれのない限りこのエントリのことも単にTN
と称することにする)。もしこの判明したステータス
が、他の規定外の状態であったならば、送出される拒絶
メッセージは「NAK/TNエラー」であり、以上の2
つのタイプの拒絶メッセージもまた、第8図の応答ディ
レクトリから取り出される。ステータスが「受信準備完
了」であったならば、更にもう1つの別の判定が行なわ
れることになる。
このもう1つの別の判定とは、「入力オーバラン」に関
するものであり、この判定は、既に説明したように、第
13A図の入出力管理バッファ・セクション170の内
部において、GETアドレスとPUTアドレスとを比較
することによって行なわれる。更にはトランザクション
・ナンバも、受信メッセージ・カウントの値がゼロでな
いかどうかについて検査され、このカウント値がゼロで
あれば、それは、同じく入力オーバランを表示している
のである。オーバラン状態が存在している場合には、
「NAK/入力オーバラン」が送出されてそのメッセー
ジは拒絶される。
するものであり、この判定は、既に説明したように、第
13A図の入出力管理バッファ・セクション170の内
部において、GETアドレスとPUTアドレスとを比較
することによって行なわれる。更にはトランザクション
・ナンバも、受信メッセージ・カウントの値がゼロでな
いかどうかについて検査され、このカウント値がゼロで
あれば、それは、同じく入力オーバランを表示している
のである。オーバラン状態が存在している場合には、
「NAK/入力オーバラン」が送出されてそのメッセー
ジは拒絶される。
以上のすべて条件が満足されていたならば、H.S.R
AM26″内の応答ディレクトリから「ACK」メッセ
ージ(肯定応答メッセージ)が取り出されてネットワー
ク上へ送出され、他のプロセッサ・モジュールとの間で
優先権が争われることになる。それらの他のプロセッサ
・モジュールのうちには、同じように受信メッセージに
対する肯定応答を送出したものもあるかもしてない。こ
の時点で、もしネットワークから受取る共通応答メッセ
ージ(この「共通」とはマージされたという意味であ
る)が、「ACK」メッセージであって、従って、受信
プロセッサ・モジュールとして選択された「全ての」プ
ロセッサ・モジュールが、先に受信したメッセージの受
入れが可能であることが明示されている場合には、その
受信メッセージの受入れがなされる。もしこの応答が
「ACK」以外のいずれかの形であれば、先の受信メッ
セージは「全ての」プロセッサから拒絶される。
AM26″内の応答ディレクトリから「ACK」メッセ
ージ(肯定応答メッセージ)が取り出されてネットワー
ク上へ送出され、他のプロセッサ・モジュールとの間で
優先権が争われることになる。それらの他のプロセッサ
・モジュールのうちには、同じように受信メッセージに
対する肯定応答を送出したものもあるかもしてない。こ
の時点で、もしネットワークから受取る共通応答メッセ
ージ(この「共通」とはマージされたという意味であ
る)が、「ACK」メッセージであって、従って、受信
プロセッサ・モジュールとして選択された「全ての」プ
ロセッサ・モジュールが、先に受信したメッセージの受
入れが可能であることが明示されている場合には、その
受信メッセージの受入れがなされる。もしこの応答が
「ACK」以外のいずれかの形であれば、先の受信メッ
セージは「全ての」プロセッサから拒絶される。
受信並びに応答についてこの具体例においては、プライ
マリ・メッセージが受信された後には、全てのプロセッ
サが、ACK応答、NAK応答、及びNAP応答のうち
いずれか1つを発生することに注目されたい。プロセッ
サは、これらの応答メッセージのうちのいずれか1つを
受取ったならば、その直後にプライマリ・メッセージの
伝送を試みることができる。(プロセッサは、この伝送
の試みを、ネットワークを通り抜けるための合計待ち時
間相当の遅延に等しいかまたはそれより大きい遅延の後
に行なうこともでき、それについては既に「能動ロジッ
ク・ノード」の章で説明したとおりである)。もう1つ
注目して頂きたいことは、もし、幾つかのプロセッサが
互いに「同一の」メッセージを送信したならば、結果的
にそれらのメッセージの全てがネットワーク上の競合を
勝ち抜いたことになることも、あり得るということであ
る。その場合には、それらの送信プロセッサの「全て」
がACK応答を受取ることになる。このことは、後出の
具体例で詳細に説明する、ブロードカスト(一斉伝送)
及び大域的セマフォ・モードの動作に関して重要であ
る。
マリ・メッセージが受信された後には、全てのプロセッ
サが、ACK応答、NAK応答、及びNAP応答のうち
いずれか1つを発生することに注目されたい。プロセッ
サは、これらの応答メッセージのうちのいずれか1つを
受取ったならば、その直後にプライマリ・メッセージの
伝送を試みることができる。(プロセッサは、この伝送
の試みを、ネットワークを通り抜けるための合計待ち時
間相当の遅延に等しいかまたはそれより大きい遅延の後
に行なうこともでき、それについては既に「能動ロジッ
ク・ノード」の章で説明したとおりである)。もう1つ
注目して頂きたいことは、もし、幾つかのプロセッサが
互いに「同一の」メッセージを送信したならば、結果的
にそれらのメッセージの全てがネットワーク上の競合を
勝ち抜いたことになることも、あり得るということであ
る。その場合には、それらの送信プロセッサの「全て」
がACK応答を受取ることになる。このことは、後出の
具体例で詳細に説明する、ブロードカスト(一斉伝送)
及び大域的セマフォ・モードの動作に関して重要であ
る。
実際に使用されている本発明の実機例は、これまでに説
明したものに加えて更により多くの種類の応答を含むと
共に様々な動作を実行するようになっている。第18図
はそれらの応答と動作とを、LOCK、TNエラー、及
びオーバランの各割込み状態、予め識別されている9つ
の異なったステータス・レベル、それに肯定応答(AC
K)及び非該当プロセッサ応答に対するものとして、縦
列に並べた各項目で示している。
明したものに加えて更により多くの種類の応答を含むと
共に様々な動作を実行するようになっている。第18図
はそれらの応答と動作とを、LOCK、TNエラー、及
びオーバランの各割込み状態、予め識別されている9つ
の異なったステータス・レベル、それに肯定応答(AC
K)及び非該当プロセッサ応答に対するものとして、縦
列に並べた各項目で示している。
あるプロセッサ・モジュールがメッセージの送信準備を
完了したときには、第13図のPTNレジスタ206に
格納されているPTN値は使用可能状態となっており、
従って必要とされるのはTNステータスが「送信準備完
了」状態にあることの確認だけである。第12図から分
るように、「送信準備完了」のエントリ(記述項)は、
出力メッセージのためのネクスト・メッセージ・ベクタ
・アドレスを含んでいる。アセンブルが完了した出力メ
ッセージはネットワーク上へ送出され、そしてもし競合
に敗退したならば、PTNが途中で変更されない限り、
伝送が成功するまでこの送出動作が反復され、そして成
功したなら応答を受取ることになる。伝送が成功して肯
定応答を受取ったならば、アドレス・ベクタが変更され
る。ネクスト・メッセージ・ベクタが、現在メッセージ
の中の第2番目のワード(第21A図)から取り出さ
れ、このワードは送信トランザクション・ベクタ・カウ
ンタ222からランダム・ アクセス・メモリ168へ転送される。出力メッセージ
・セクションがオーバラン状態になければ、PUTカウ
ンタ175が「1」だけ進められ、このオーバラン状態
は、PUTがGETに等しくなることによって表示され
る。尚、送信トランザクション・ベクタ・カウンタ22
2から転送されるネクスト・メッセージ・ベクタは、
H.S.RAMの中の現在トランザクション・ナンバ・
レジスタ206によって指定されているトランザクショ
ン・ナンバ・アドレスへ入力される。もし、この新たな
TNが「送信準備完了」状態のものであれば、この入力
されたベクタの値は、再び、このトランザクション・ア
イデンティティに関係している次のメッセージ(ネクス
ト・メッセージ)の格納位置を指し示している。H.
S.RAMの中に格納されている出力メッセージのフォ
ーマットについては、第21図を参照されたい。
完了したときには、第13図のPTNレジスタ206に
格納されているPTN値は使用可能状態となっており、
従って必要とされるのはTNステータスが「送信準備完
了」状態にあることの確認だけである。第12図から分
るように、「送信準備完了」のエントリ(記述項)は、
出力メッセージのためのネクスト・メッセージ・ベクタ
・アドレスを含んでいる。アセンブルが完了した出力メ
ッセージはネットワーク上へ送出され、そしてもし競合
に敗退したならば、PTNが途中で変更されない限り、
伝送が成功するまでこの送出動作が反復され、そして成
功したなら応答を受取ることになる。伝送が成功して肯
定応答を受取ったならば、アドレス・ベクタが変更され
る。ネクスト・メッセージ・ベクタが、現在メッセージ
の中の第2番目のワード(第21A図)から取り出さ
れ、このワードは送信トランザクション・ベクタ・カウ
ンタ222からランダム・ アクセス・メモリ168へ転送される。出力メッセージ
・セクションがオーバラン状態になければ、PUTカウ
ンタ175が「1」だけ進められ、このオーバラン状態
は、PUTがGETに等しくなることによって表示され
る。尚、送信トランザクション・ベクタ・カウンタ22
2から転送されるネクスト・メッセージ・ベクタは、
H.S.RAMの中の現在トランザクション・ナンバ・
レジスタ206によって指定されているトランザクショ
ン・ナンバ・アドレスへ入力される。もし、この新たな
TNが「送信準備完了」状態のものであれば、この入力
されたベクタの値は、再び、このトランザクション・ア
イデンティティに関係している次のメッセージ(ネクス
ト・メッセージ)の格納位置を指し示している。H.
S.RAMの中に格納されている出力メッセージのフォ
ーマットについては、第21図を参照されたい。
ただし、メッセージを送出する際のメッセージ管理に
は、PTNの内部的な、或いは外部からの変更をはじめ
とする、多くの異なった形態の動作を含ませておくこと
ができる。エラー状態、オーバラン状態、ないしロック
状態によって、システムがトランザクション・ナンバを
「TN0」にシフトするようにしておくことができ、こ
のシフトによって、システムはノン・マージ・モードに
復帰し、そして「TN0」におけるステータスの検査
を、「送信準備完了」状態が識別されるか或いは新たな
TNの割当てがなされるまで、続けることになる。かな
り複雑な具体例に採用することのできる状態並びに条件
を示したものとして、第19図(第19A図)のフロー
チヤートを参照されたい。
は、PTNの内部的な、或いは外部からの変更をはじめ
とする、多くの異なった形態の動作を含ませておくこと
ができる。エラー状態、オーバラン状態、ないしロック
状態によって、システムがトランザクション・ナンバを
「TN0」にシフトするようにしておくことができ、こ
のシフトによって、システムはノン・マージ・モードに
復帰し、そして「TN0」におけるステータスの検査
を、「送信準備完了」状態が識別されるか或いは新たな
TNの割当てがなされるまで、続けることになる。かな
り複雑な具体例に採用することのできる状態並びに条件
を示したものとして、第19図(第19A図)のフロー
チヤートを参照されたい。
出力メッセージ完了バッファの例 メッセージの伝送の完了が「ロック(LOCK)」を除いたそ
の他の任意の応答メッセージによって明示されたなら
ば、新たに完了した出力メッセージ・バッファを指し示
すポインタが、H.S.RAMの出力メッセージ完了循
環バッファ・セクション(第8図参照)に格納される。
このポインタは、上記出力メッセージ・バッファのアド
レスを表わす単なる16ビット・ワードである。(出力
メッセージ・バッファのフォーマットは第21図に示さ
れている。出力メッセージ・バッファには、ネットワー
クから受取った応答メッセージを記録する場所が含まれ
ていることに注目されたい)。
の他の任意の応答メッセージによって明示されたなら
ば、新たに完了した出力メッセージ・バッファを指し示
すポインタが、H.S.RAMの出力メッセージ完了循
環バッファ・セクション(第8図参照)に格納される。
このポインタは、上記出力メッセージ・バッファのアド
レスを表わす単なる16ビット・ワードである。(出力
メッセージ・バッファのフォーマットは第21図に示さ
れている。出力メッセージ・バッファには、ネットワー
クから受取った応答メッセージを記録する場所が含まれ
ていることに注目されたい)。
出力メッセージ完了循環バッファは、ネットワーク・イ
ンターフェイスのハードウェア120と、マイクロプロ
セッサ105の上に置かれた監視プログラムとの間の、
通信の機能を果たすものである。このマイクロプロセッ
サの中に備えられているプログラムは、これから出力さ
れるメッセージをH.S.RAMの中に格納する。これ
に続次の例で詳細に説明するが、複数の出力メッセージ
を一緒に鎖状に連結し(チェーンし)、しかもその際、
TNがこの鎖(チェーン)の先頭のポインタとして働く
ようにすることができ、これによって作業の複雑なシー
ケンスを形成することがでる。その他の特徴としては、
ネットワークを複数のTNの間で多重化即ち時分割(マ
ルチブレクシング)することができるため(これについ
ても後に詳述する)、ネットワーク内の諸処に存在する
様々な事象に応じた種々の順序でメッセージを出力する
ことができる。
ンターフェイスのハードウェア120と、マイクロプロ
セッサ105の上に置かれた監視プログラムとの間の、
通信の機能を果たすものである。このマイクロプロセッ
サの中に備えられているプログラムは、これから出力さ
れるメッセージをH.S.RAMの中に格納する。これ
に続次の例で詳細に説明するが、複数の出力メッセージ
を一緒に鎖状に連結し(チェーンし)、しかもその際、
TNがこの鎖(チェーン)の先頭のポインタとして働く
ようにすることができ、これによって作業の複雑なシー
ケンスを形成することがでる。その他の特徴としては、
ネットワークを複数のTNの間で多重化即ち時分割(マ
ルチブレクシング)することができるため(これについ
ても後に詳述する)、ネットワーク内の諸処に存在する
様々な事象に応じた種々の順序でメッセージを出力する
ことができる。
更にまた、伝送に成功したバケットによって占められて
いたH.S.RAM内の格納空間を迅速に回復し、それ
によってその格納空間を、これから出力される別の出力
バケットのために再使用できるようにすることが重要で
ある。出力メッセージ完了循環バッファが、この機能を
果たしている。
いたH.S.RAM内の格納空間を迅速に回復し、それ
によってその格納空間を、これから出力される別の出力
バケットのために再使用できるようにすることが重要で
ある。出力メッセージ完了循環バッファが、この機能を
果たしている。
あるデータ・メッセージの送信が成功裏に終了して「ロ
ック」応答以外の応答を受信したならば、ネットワーク
・インターフェイスは、H.S.RAM内の「0510
(16進数)」に格納されているPUTポインタ(第1
0図参照)を「1」だけ進め、また、この送信が完了し
たばかりの出力メッセージの先頭のワードのアドレスを
PUTレジスタ内のアドレスへ格納する。(PUTポイ
ンタの値が「0512(16進数)」に格納されている
TOPポインタの値より大きくなると、PUTポインタ
は「0513(16進数)」に格納されているBOTポ
インタ(=BOTTOMポインタ)と同じになるように
最初にリセットされる)。PUTポインタがGETポイ
ンタ(格納位置「0511(16進数)」)より大きく
なるようならば、循環バッファが、オーバランしている
のであり、そのため「エラー割込み」がマイクロプロセ
ッサへ向けて発生される。
ック」応答以外の応答を受信したならば、ネットワーク
・インターフェイスは、H.S.RAM内の「0510
(16進数)」に格納されているPUTポインタ(第1
0図参照)を「1」だけ進め、また、この送信が完了し
たばかりの出力メッセージの先頭のワードのアドレスを
PUTレジスタ内のアドレスへ格納する。(PUTポイ
ンタの値が「0512(16進数)」に格納されている
TOPポインタの値より大きくなると、PUTポインタ
は「0513(16進数)」に格納されているBOTポ
インタ(=BOTTOMポインタ)と同じになるように
最初にリセットされる)。PUTポインタがGETポイ
ンタ(格納位置「0511(16進数)」)より大きく
なるようならば、循環バッファが、オーバランしている
のであり、そのため「エラー割込み」がマイクロプロセ
ッサへ向けて発生される。
マイクロプロセッサの内部で実行されているソフトウェ
アによって、GETポインタが指示している出力メッセ
ージ・バッファが非同期的に調べられる。プロセッサ
は、実行を要求された何らかの処理を完了したならば、
GETポインタを「1」だけ進める(このGETの値
は、TOPの値より大きくなるとBOTの値にリセット
される)。GET=PUTとなっている場合には、処理
せねばならない出力メッセージはもはや存在していな
い。そうでない場合には、更に別の出力メッセージが成
功裏に送信を完了した状態にあるので、それらの出力メ
ッセージを処理せねばならない。この処理にはH.S.
RAMの出力バッファの格納空間を空きスペースに戻す
ことが含まれており、従ってこのスペースを他のバケッ
トのために再使用することできる。
アによって、GETポインタが指示している出力メッセ
ージ・バッファが非同期的に調べられる。プロセッサ
は、実行を要求された何らかの処理を完了したならば、
GETポインタを「1」だけ進める(このGETの値
は、TOPの値より大きくなるとBOTの値にリセット
される)。GET=PUTとなっている場合には、処理
せねばならない出力メッセージはもはや存在していな
い。そうでない場合には、更に別の出力メッセージが成
功裏に送信を完了した状態にあるので、それらの出力メ
ッセージを処理せねばならない。この処理にはH.S.
RAMの出力バッファの格納空間を空きスペースに戻す
ことが含まれており、従ってこのスペースを他のバケッ
トのために再使用することできる。
ここで注目しておくべき重要なことは、出力メッセージ
完了循環バッファと入力メッセージ循環バッファとは互
いに別個のものであり、そのためこれら2つの循環バッ
ファは、夫々が別々のPUT、GET、TOP、及びB
OTの各ポインタによって管理されているということで
ある。構成のしかたによっては、第13図に示されてい
るように、これら両方の循環バッファが、循環バッファ
管理ハードウェア170を共用するようにもできるが、
そのような構成が必須なわけではない。
完了循環バッファと入力メッセージ循環バッファとは互
いに別個のものであり、そのためこれら2つの循環バッ
ファは、夫々が別々のPUT、GET、TOP、及びB
OTの各ポインタによって管理されているということで
ある。構成のしかたによっては、第13図に示されてい
るように、これら両方の循環バッファが、循環バッファ
管理ハードウェア170を共用するようにもできるが、
そのような構成が必須なわけではない。
初期設定の手順 各プロセッサ・モジュールは、そのプロセッサ・モジュ
ール自身の高速ランダム・アクセス・メモリ168(第
13図)の内部のTNをアクセスする機能を備えてお
り、このメモリ168には、潜在的に使用可能な複数の
TNの、そのディレクトリが含まれている。ただし、割
当てられていないTNは、そのTNに関連付けられてい
る格納位置に格納されているトランザクション・ナンバ
値によって、割当てられていない旨が明確に表示されて
いる。従って、マイクロプロセッサ・システム103
は、割当てられていないトランザクション・ナンバを識
別し、そしてそれらのうちの1つを、所与のトランザク
ション・アイデンティティに関して他のプロセッサ・モ
ジュールとの間の通信を開始するのに使用するために選
択することができる。
ール自身の高速ランダム・アクセス・メモリ168(第
13図)の内部のTNをアクセスする機能を備えてお
り、このメモリ168には、潜在的に使用可能な複数の
TNの、そのディレクトリが含まれている。ただし、割
当てられていないTNは、そのTNに関連付けられてい
る格納位置に格納されているトランザクション・ナンバ
値によって、割当てられていない旨が明確に表示されて
いる。従って、マイクロプロセッサ・システム103
は、割当てられていないトランザクション・ナンバを識
別し、そしてそれらのうちの1つを、所与のトランザク
ション・アイデンティティに関して他のプロセッサ・モ
ジュールとの間の通信を開始するのに使用するために選
択することができる。
トランザクション・ナンバは、ローカル・マイクロプロ
セッサ(=プロセッサ・モジュール内のマイクロプロセ
ッサ)の制御の下に、局所的に割当てられ且つ更新され
るが、ネットワーク内の全域における大域的制御は、
「TN放棄命令」及び「TN割当命令」というプライマ
リ制御メッセージを用いて行なわれる。同一のTNを要
求する可能性のある互いに競合する複数のプロセッサ・
モジュールの間にデッドロック状態が発生することは決
してなく、そのわけは、ネットワークが、より小さな番
号を付けられているプロセッサの方に優先権を与えるか
らである。そのTNを得ようとしたプロセッサのうちで
優先権が得られなかった残りのプロセッサは「NAK/
TNエラー」応答を受取ることになり、この応答は、そ
れらのプロセッサが別のTNを確保することを試みなけ
ればならないということを表示するものである。従っ
て、それらのトランザクション・アイデンティティの確
保並びに照合を、システムの内部で及び局所的に行なう
際の、完全なフレキシビリティが得られている。
セッサ(=プロセッサ・モジュール内のマイクロプロセ
ッサ)の制御の下に、局所的に割当てられ且つ更新され
るが、ネットワーク内の全域における大域的制御は、
「TN放棄命令」及び「TN割当命令」というプライマ
リ制御メッセージを用いて行なわれる。同一のTNを要
求する可能性のある互いに競合する複数のプロセッサ・
モジュールの間にデッドロック状態が発生することは決
してなく、そのわけは、ネットワークが、より小さな番
号を付けられているプロセッサの方に優先権を与えるか
らである。そのTNを得ようとしたプロセッサのうちで
優先権が得られなかった残りのプロセッサは「NAK/
TNエラー」応答を受取ることになり、この応答は、そ
れらのプロセッサが別のTNを確保することを試みなけ
ればならないということを表示するものである。従っ
て、それらのトランザクション・アイデンティティの確
保並びに照合を、システムの内部で及び局所的に行なう
際の、完全なフレキシビリティが得られている。
更に注目して頂きたいことは、TNの反復使用は、「T
N0」である基本伝送モードと、TNがゼロより大きい
マージ・モードとの間の、シフトによって行なわれてい
るということである。従ってこのシステムは、ただ1回
のTNのブロードカスト式の伝送によって、その動作の
焦点だけでなくその動作の性質をも変えることができ
る。
N0」である基本伝送モードと、TNがゼロより大きい
マージ・モードとの間の、シフトによって行なわれてい
るということである。従ってこのシステムは、ただ1回
のTNのブロードカスト式の伝送によって、その動作の
焦点だけでなくその動作の性質をも変えることができ
る。
大域的ステータスの変化を伝達するための更に別の、そ
して特に有用な方式は、第4図に関して既に説明した強
制バリティ・エラーの伝播である。この独特の表示方式
は、その他の伝送の間にはさみ込まれて伝送されると、
中止されたシステム資源が調査され、そして適切な動作
が実行されることになる。
して特に有用な方式は、第4図に関して既に説明した強
制バリティ・エラーの伝播である。この独特の表示方式
は、その他の伝送の間にはさみ込まれて伝送されると、
中止されたシステム資源が調査され、そして適切な動作
が実行されることになる。
プロセッサ対プロセッサ通信 プロセッサ通信として、2種類の特別の形態のものがあ
り、その一方は特定の1つの転送先プロセッサへ向けて
行なわれる通信であり、他方は、1つのクラスに属する
複数のプロセッサを転送先として行なわれる通信であ
る。これらの両タイプの伝送はいずれもDSWを利用し
ており、また、これらの伝送はいずれも、ノン・マージ
・モードのブロードカストによって実行される。
り、その一方は特定の1つの転送先プロセッサへ向けて
行なわれる通信であり、他方は、1つのクラスに属する
複数のプロセッサを転送先として行なわれる通信であ
る。これらの両タイプの伝送はいずれもDSWを利用し
ており、また、これらの伝送はいずれも、ノン・マージ
・モードのブロードカストによって実行される。
特に1つの発信元プロセッサと1つの転送先プロセッサ
との間での通信を行なう際には、DSWの中に転送先プ
ロセッサ識別情報(destination processor identificat
ion:DPID)を入れて使用する。第8図を参照しつつ説明
すると、このDPIDの値を用いて各々の受信プロセッ
サ・モジュールのH.S.RAM26″の選択マップ部
分がアドレスされると、転送先として意図された特定の
プロセッサ・モジュールだけが、肯定的な応答を発生し
てそのメッセージを受入れる。肯定応答が送信され、し
かもそれが最終的に成功裏に受信されたならば、両者の
プロセッサは、要求されている将来の動作のいずれでも
実行できる状態になる。
との間での通信を行なう際には、DSWの中に転送先プ
ロセッサ識別情報(destination processor identificat
ion:DPID)を入れて使用する。第8図を参照しつつ説明
すると、このDPIDの値を用いて各々の受信プロセッ
サ・モジュールのH.S.RAM26″の選択マップ部
分がアドレスされると、転送先として意図された特定の
プロセッサ・モジュールだけが、肯定的な応答を発生し
てそのメッセージを受入れる。肯定応答が送信され、し
かもそれが最終的に成功裏に受信されたならば、両者の
プロセッサは、要求されている将来の動作のいずれでも
実行できる状態になる。
ある1つのメッセージを、ある1つの制御プロセスに関
係する、1つのクラスに属する複数のプロセッサが受信
すべき場合には、DSW内のマップ・ニブルとマップ・
アドレスとによって、H.S.RAMの選択マップ部分
の中の対応するセクションが指定される。そして、全て
の受信プロセッサが夫々に肯定応答を送出し、それらの
肯定応答は、発信元プロセッサ・モジュールへ到達する
ための競合を、この通信のための往復送受信が最終的に
完了するまで続けることになる。
係する、1つのクラスに属する複数のプロセッサが受信
すべき場合には、DSW内のマップ・ニブルとマップ・
アドレスとによって、H.S.RAMの選択マップ部分
の中の対応するセクションが指定される。そして、全て
の受信プロセッサが夫々に肯定応答を送出し、それらの
肯定応答は、発信元プロセッサ・モジュールへ到達する
ための競合を、この通信のための往復送受信が最終的に
完了するまで続けることになる。
全域ブロードカスト・モードのプロセッサ通信は、プラ
イマリ・データ・メッセージ、ステータス・メッセー
ジ、制御メッセージ、並びに応答メッセージの、各メッ
セージの通信に用いることができる。優先順位プロトコ
ルと、優先権を付与する機能を備えたネットワークと
の、両者の固有の能力によって、その種のメッセージを
その他の種類のメッセージのシーケンスの中に容易に挿
入できるようになっている。
イマリ・データ・メッセージ、ステータス・メッセー
ジ、制御メッセージ、並びに応答メッセージの、各メッ
セージの通信に用いることができる。優先順位プロトコ
ルと、優先権を付与する機能を備えたネットワークと
の、両者の固有の能力によって、その種のメッセージを
その他の種類のメッセージのシーケンスの中に容易に挿
入できるようになっている。
ハッシング・モードのプロセッサ選択は、リレーショナ
ル・データベース・システムにおけるデータ処理のタス
クを実行する際には、他から飛び抜けて多用されるプロ
セッサ選択方式である。一次的データ(=バックアップ
用ではないメインのデータ)についての互いに素の(=
同一の要素を共有しない)複数のデータ部分集合と、バ
ックアップ用データについての互いに素の複数のデータ
部分集合とが、適当なアルゴリズムに従って、異った複
数の二次記憶装置の中に分配されている。1つのプロセ
ッサが一次的データの部分集合を分担し別の1つのプロ
セッサがバックアップ用データの部分集合を分担してい
るためにそれら2つのプロセッサが同時に応答した場合
には、一次的データについてのメッセージの方に優先権
が与えられる。この条件が補償されるようにするために
は、優先順位のより高いコマンド・コード(第12図参
照)を選択するようにすれば良い。データベースの信頼
性及び完全性の維持も、以上の様々なマルチプレクサ・
モードを利用することによって達成され、その場合、発
生した個々の状況に対して最も有利なようにそれらのモ
ードが適用される。例を挙げるならば、一次的データの
ある部分集合を分担している二次記憶装置が故障した場
合には、特別のプロセッサ対プロセッサ通信を利用して
それを更新することができる。またエラーの訂正やデー
タベースの一部分のロールバックは、これと同様の方式
で、或いはクラス・モードで動作させることによって、
行なうことができる。
ル・データベース・システムにおけるデータ処理のタス
クを実行する際には、他から飛び抜けて多用されるプロ
セッサ選択方式である。一次的データ(=バックアップ
用ではないメインのデータ)についての互いに素の(=
同一の要素を共有しない)複数のデータ部分集合と、バ
ックアップ用データについての互いに素の複数のデータ
部分集合とが、適当なアルゴリズムに従って、異った複
数の二次記憶装置の中に分配されている。1つのプロセ
ッサが一次的データの部分集合を分担し別の1つのプロ
セッサがバックアップ用データの部分集合を分担してい
るためにそれら2つのプロセッサが同時に応答した場合
には、一次的データについてのメッセージの方に優先権
が与えられる。この条件が補償されるようにするために
は、優先順位のより高いコマンド・コード(第12図参
照)を選択するようにすれば良い。データベースの信頼
性及び完全性の維持も、以上の様々なマルチプレクサ・
モードを利用することによって達成され、その場合、発
生した個々の状況に対して最も有利なようにそれらのモ
ードが適用される。例を挙げるならば、一次的データの
ある部分集合を分担している二次記憶装置が故障した場
合には、特別のプロセッサ対プロセッサ通信を利用して
それを更新することができる。またエラーの訂正やデー
タベースの一部分のロールバックは、これと同様の方式
で、或いはクラス・モードで動作させることによって、
行なうことができる。
トランザクション・ナンバの例 トランザクション・ナンバという概念により、マイクロ
プロセッサ・システムの制御のための新規にして強力な
ハードウェア機構が得られている。本システムにおいて
は、トランザクション・ナンバは「大域的セマフォ」を
構成しており、また、ネットワークに対するメッセージ
の送受信と、複数のプロセッサに分配されたある1つの
所与のタスクのレディネス状態の確認との夫々におい
て、重要な役割りを果たしている。
プロセッサ・システムの制御のための新規にして強力な
ハードウェア機構が得られている。本システムにおいて
は、トランザクション・ナンバは「大域的セマフォ」を
構成しており、また、ネットワークに対するメッセージ
の送受信と、複数のプロセッサに分配されたある1つの
所与のタスクのレディネス状態の確認との夫々におい
て、重要な役割りを果たしている。
トランザクション・ナンバ(TN)は、H.S.RAM
26の中の16ビット・ワードとして物理的に実現され
ている。このワードは、様々な機能を果たせるように、
第12図に示すようなフォーマットとされている。TN
はH.S.RAMに格納されるため、マイクロプロセッ
サ105とネットワーク・インターフェイス120との
いずれからもアクセスすることができる。
26の中の16ビット・ワードとして物理的に実現され
ている。このワードは、様々な機能を果たせるように、
第12図に示すようなフォーマットとされている。TN
はH.S.RAMに格納されるため、マイクロプロセッ
サ105とネットワーク・インターフェイス120との
いずれからもアクセスすることができる。
大域的セマフォ 「セマフォ」という用語は、コンピュータ科学関係の文
献において、互いに非同期的に実行される複数の処理の
制御に用いられる変数を指し示すための用語として、一
般般的に使用されるようになっている。セマフォは、中
断されることのない1回の操作でそれを「テスト・アン
ド・セット」することができるという性質をもってい
る。
献において、互いに非同期的に実行される複数の処理の
制御に用いられる変数を指し示すための用語として、一
般般的に使用されるようになっている。セマフォは、中
断されることのない1回の操作でそれを「テスト・アン
ド・セット」することができるという性質をもってい
る。
一例として、「アンアサインド(UNASSIGNED:割当てが
なされていない状態)」と、「アサインド(ASSIGNED:
割当てがなされている状態)」との2つの状態を取り得
るセマフォ変数について考察することにする。この場合
には、テスト・アンド・セット動作は次のように定義さ
れる:もしセマフォが「アンアサインド」状態にあった
ならば、そのセマフォを「アサインド」状態にセットし
て成功を表示すること;反対にセマフォが既に「アサイ
ンド」状態にあったならば、そのセマフォを「アサイン
ド」状態のままにしておいて「失敗」を表示すること。
従って、このセマフォに拠れば、セマフォのテスト・ア
ンド・セットに成功した処理は自らのタスクを続行する
ことができ、一方、それに失敗した処理は、そのセマフ
ォが「アンアサインド」状態にリセットされるのを待つ
か、或いは、等価の別の資源を制御している別のセマフ
ォをテスト・アンド・セットすることを試みるかの、い
ずれかを余儀なくされる。容易に理解できることである
が、仮にテスト・アンド・セット動作が中断されるよう
なことがあり得るとするならば、2つの処理が同時に同
じ資源にアクセスしてしまう可能性が生じ、それによっ
て予測することのできない誤った結果が生じてしまうお
それがある。
なされていない状態)」と、「アサインド(ASSIGNED:
割当てがなされている状態)」との2つの状態を取り得
るセマフォ変数について考察することにする。この場合
には、テスト・アンド・セット動作は次のように定義さ
れる:もしセマフォが「アンアサインド」状態にあった
ならば、そのセマフォを「アサインド」状態にセットし
て成功を表示すること;反対にセマフォが既に「アサイ
ンド」状態にあったならば、そのセマフォを「アサイン
ド」状態のままにしておいて「失敗」を表示すること。
従って、このセマフォに拠れば、セマフォのテスト・ア
ンド・セットに成功した処理は自らのタスクを続行する
ことができ、一方、それに失敗した処理は、そのセマフ
ォが「アンアサインド」状態にリセットされるのを待つ
か、或いは、等価の別の資源を制御している別のセマフ
ォをテスト・アンド・セットすることを試みるかの、い
ずれかを余儀なくされる。容易に理解できることである
が、仮にテスト・アンド・セット動作が中断されるよう
なことがあり得るとするならば、2つの処理が同時に同
じ資源にアクセスしてしまう可能性が生じ、それによっ
て予測することのできない誤った結果が生じてしまうお
それがある。
いかなるマルチプロセッサ・システムも、システムの資
源へのアクセスを制御するために、セマフォと同一視す
ることのできる概念を、ハードウェアによって実際に具
体化している。しかしながら、従来のシステムは、1コ
ピーのセマフォ(=部数が1部のセマフォ、即ち1箇所
だけ設けられるセマフォ)しか維持することができな
い。そこで、複数コピーのセマフォ(=部数が複数のセ
マフォ、即ち複数箇所に設けられるセマフォ)を、各プ
ロセッサに1コピーづつ設けて維持するようにすれば、
単にテストするだけのセマフォのアクセスのために競合
が発生する回数を低減するという目的と、後に説明する
その他の用途に多価のセマフォ変数を利用するという目
的との、双方のために望ましい。問題は、セマフォの多
数のコピーに対し、完全に同期した操作を加えねばなら
ないということであり、もしこのことが守られなかった
ならば、それを強化するためにセマフォが設けられてい
るところの、資源へのアクセスの完全性が失われてしま
うことになる。
源へのアクセスを制御するために、セマフォと同一視す
ることのできる概念を、ハードウェアによって実際に具
体化している。しかしながら、従来のシステムは、1コ
ピーのセマフォ(=部数が1部のセマフォ、即ち1箇所
だけ設けられるセマフォ)しか維持することができな
い。そこで、複数コピーのセマフォ(=部数が複数のセ
マフォ、即ち複数箇所に設けられるセマフォ)を、各プ
ロセッサに1コピーづつ設けて維持するようにすれば、
単にテストするだけのセマフォのアクセスのために競合
が発生する回数を低減するという目的と、後に説明する
その他の用途に多価のセマフォ変数を利用するという目
的との、双方のために望ましい。問題は、セマフォの多
数のコピーに対し、完全に同期した操作を加えねばなら
ないということであり、もしこのことが守られなかった
ならば、それを強化するためにセマフォが設けられてい
るところの、資源へのアクセスの完全性が失われてしま
うことになる。
複数コピーのセマフォ、即ち「大域的」セマフォは、本
システムによって提供される。次に示す表は、大域的セ
マフォに関する動作を、単一セマフォ(1コピーのセマ
フォ)と対比したものである。
システムによって提供される。次に示す表は、大域的セ
マフォに関する動作を、単一セマフォ(1コピーのセマ
フォ)と対比したものである。
本実施例のシステムにおいては、「TN割当(ASSIGN T
N)」コマンドと「TN放棄(RELIN-QUISH TN)」コマンド
とが、大域的セマフォとして利用されているトランザク
ション・ナンバに対するテスト・アンド・セット機能と
リセット機能とを夫々に担っている。第12図について
説明すると、「NAK/TNエラー」応答が失敗を表示
し、一方、「SACK/アサインド」応答が成功を表示
する。
N)」コマンドと「TN放棄(RELIN-QUISH TN)」コマンド
とが、大域的セマフォとして利用されているトランザク
ション・ナンバに対するテスト・アンド・セット機能と
リセット機能とを夫々に担っている。第12図について
説明すると、「NAK/TNエラー」応答が失敗を表示
し、一方、「SACK/アサインド」応答が成功を表示
する。
複数のノードを同期してクロッキングするために用いら
れている同期クロッキング方式や、全てのプロセッサへ
同時に最優先パケットを伝送するブロードカスト動作を
はじめとする、このネットワークの特質は、大域的セマ
フォという概念を実際に具体化する上での基礎を成する
ものである。この概念が実施されているために、このシ
ステムは所望のシステム資源の複数のコピーの、その割
付け(アロケーション)、割付け解除(デアロケーショ
ン)、並びにアクセスの制御を、単にその資源にTNを
付与すすることによって行なえるようになっている。こ
こで注目すべき重要なことは、分散された資源の制御
を、単一セマフォの場合と略々同程度の小規模なソフト
ウェア・オーバヘッドで、実行できるようになっている
ということである。このことは従来のシステムに対する
非常な進歩であり、なぜならば、従来のシステムは、分
散型の資源を管理できないか、或いは、複雑なソフトウ
ェアによるプロトルコが必要とされ且つハードウェア的
なネックを生じてしまうかの、いずれかだからである。
れている同期クロッキング方式や、全てのプロセッサへ
同時に最優先パケットを伝送するブロードカスト動作を
はじめとする、このネットワークの特質は、大域的セマ
フォという概念を実際に具体化する上での基礎を成する
ものである。この概念が実施されているために、このシ
ステムは所望のシステム資源の複数のコピーの、その割
付け(アロケーション)、割付け解除(デアロケーショ
ン)、並びにアクセスの制御を、単にその資源にTNを
付与すすることによって行なえるようになっている。こ
こで注目すべき重要なことは、分散された資源の制御
を、単一セマフォの場合と略々同程度の小規模なソフト
ウェア・オーバヘッドで、実行できるようになっている
ということである。このことは従来のシステムに対する
非常な進歩であり、なぜならば、従来のシステムは、分
散型の資源を管理できないか、或いは、複雑なソフトウ
ェアによるプロトルコが必要とされ且つハードウェア的
なネックを生じてしまうかの、いずれかだからである。
レディネス状態 「ビズィ(BUSY)」、「ウェイティング(WAITING)」、
「準備完了(READY)」(送信と受信の夫々の準備完
了)、「終了(DONE)」、及び「非関与プロセッサ(NON-P
ARTICIPANT)」、から成る1組の値(第12図参照)
が、あるTNを付与されたタスクの、そのレディネス状
態を速やかに確認する能力を提供している。このシステ
ムでは、以上の各状態の意味するところは、次の表が示
すようになっている。
「準備完了(READY)」(送信と受信の夫々の準備完
了)、「終了(DONE)」、及び「非関与プロセッサ(NON-P
ARTICIPANT)」、から成る1組の値(第12図参照)
が、あるTNを付与されたタスクの、そのレディネス状
態を速やかに確認する能力を提供している。このシステ
ムでは、以上の各状態の意味するところは、次の表が示
すようになっている。
「TN割当」コマンドを用いて、タスクへのTNの付与
が動的に行なわれるようになっている。成功表示(「T
N割当」メッセージに対する「SACK/アサインド」
応答)は、すべての動作可能なプロセッサが成功裏にT
Nのタスクへの割当てを完了したことを示す。第11図
に関して注目すべきことは、「NAK/TNエラー」応
答は高い優先順位(小さな値)をもっているため、いず
れかのプロセッサのネットワーク・インターフェイス1
20がTNの使用に関する衝突を検出したならば、全て
のプロセッサが失敗応答を受取るということである。更
に、ネットワーク上を伝送されるこの失敗応答のOPI
D(発信元プロセッサID)フィールドは、衝突のあっ
たプロセッサのうちの第1番目の(付された番号が最小
の)プロセッサを表示することになる。この事実は、診
断ルーチンに利用される。
が動的に行なわれるようになっている。成功表示(「T
N割当」メッセージに対する「SACK/アサインド」
応答)は、すべての動作可能なプロセッサが成功裏にT
Nのタスクへの割当てを完了したことを示す。第11図
に関して注目すべきことは、「NAK/TNエラー」応
答は高い優先順位(小さな値)をもっているため、いず
れかのプロセッサのネットワーク・インターフェイス1
20がTNの使用に関する衝突を検出したならば、全て
のプロセッサが失敗応答を受取るということである。更
に、ネットワーク上を伝送されるこの失敗応答のOPI
D(発信元プロセッサID)フィールドは、衝突のあっ
たプロセッサのうちの第1番目の(付された番号が最小
の)プロセッサを表示することになる。この事実は、診
断ルーチンに利用される。
各々のプロセッサは、ソフトウェアの働きにより、タス
クを処理し、そしてTNを「ビズィ」、「ウェイティン
グ」、「送信準備完了」、「受信準備完了」、「終了」
または「非関与プロセッサ」のうちの該当するものにセ
ットする。最初の「TN割当」を発令したプロセッサを
含めどのプロセッサも、任意の時刻に、「ステータス・
リクエスト」コマンド或いは「マージ開始」コマンドを
発令することによって、タスク(TN)がどの程度に完
了しているかという状態を容易に確認することができ
る。
クを処理し、そしてTNを「ビズィ」、「ウェイティン
グ」、「送信準備完了」、「受信準備完了」、「終了」
または「非関与プロセッサ」のうちの該当するものにセ
ットする。最初の「TN割当」を発令したプロセッサを
含めどのプロセッサも、任意の時刻に、「ステータス・
リクエスト」コマンド或いは「マージ開始」コマンドを
発令することによって、タスク(TN)がどの程度に完
了しているかという状態を容易に確認することができ
る。
「ステータス・リクエスト」は、多価の(=多種の値を
取り得る)大域的セマフォの1回のテストと同じことで
ある。第11図から分るように、優先順位が最も高いス
テータス応答(SACK)メッセージがネットワーク上
の競合を勝ち抜き、その結果、最も低いレディネス状態
が表示されることになる。更に、そのOPIDフィール
ドは、その最低のレディネス状態にあるプロセッサのう
ちの第1番目の(付された番号が最小の)プロセッサの
アイデンティティ(素性)を表示することになる。
取り得る)大域的セマフォの1回のテストと同じことで
ある。第11図から分るように、優先順位が最も高いス
テータス応答(SACK)メッセージがネットワーク上
の競合を勝ち抜き、その結果、最も低いレディネス状態
が表示されることになる。更に、そのOPIDフィール
ドは、その最低のレディネス状態にあるプロセッサのう
ちの第1番目の(付された番号が最小の)プロセッサの
アイデンティティ(素性)を表示することになる。
この後者の特性を用いて、複数のプロセッサに分配され
たタスクの完了を「待機」するための、「ノン・ビズィ
(non-bysy)」の形態が定められている。最初に「TN割
当」を発令したプロセッサは初代の「ウェイト・マス
タ」であるとされる。このプロセッサは次に、任意の基
準に基づいて、他のいずれかのプロセッサを新たな「ウ
ェイト・マスタ」に指定する。この新たな「ウェイト・
マスタ」は、それ自身が所望のレディネス状態に到達し
たならば、「マージ開始」或いは「ステータス・リクエ
スト」のいずれかを発令することによって、全てのプロ
セッサに対する問合せを行なう。もし他のプロセッサの
全てが準備完了状態となっていたならば、SACKがそ
の旨を表示することになる。もし幾つかのプロセッサが
尚、準備完了状態にはなかったならば、SACK応答の
OPIDフィールドが、レディネス状態の最低のプロセ
ッサのうちの第1番目のものを表示することになる。
「ウェイト・マスタ」はそのプロセッサに対し、新しい
「ウェイト・マスタ」になるように命令する。結局最後
には全てのプロセッサが準備完了状態となるのである
が、それまでの間、このシステムは、少なくとも一つの
プロセッサが、準備完了状態に到達したことを知らされ
る都度、ステータスの問合せを試みるだけである。従っ
てこのシステムは、結果を出さずに資源を消費する周期
的なステータス問合せという負担を負わされることがな
い。更にこの方式によれば、最後に完了する処理が終了
した丁度その時刻に、全てのプロセッサが仕事を完了し
たということをシステムが確実に知ることになる。当業
者には理解されるように、本発明の概念の範囲内でその
他の多種多様な「待機」の形態を採用することができ
る。
たタスクの完了を「待機」するための、「ノン・ビズィ
(non-bysy)」の形態が定められている。最初に「TN割
当」を発令したプロセッサは初代の「ウェイト・マス
タ」であるとされる。このプロセッサは次に、任意の基
準に基づいて、他のいずれかのプロセッサを新たな「ウ
ェイト・マスタ」に指定する。この新たな「ウェイト・
マスタ」は、それ自身が所望のレディネス状態に到達し
たならば、「マージ開始」或いは「ステータス・リクエ
スト」のいずれかを発令することによって、全てのプロ
セッサに対する問合せを行なう。もし他のプロセッサの
全てが準備完了状態となっていたならば、SACKがそ
の旨を表示することになる。もし幾つかのプロセッサが
尚、準備完了状態にはなかったならば、SACK応答の
OPIDフィールドが、レディネス状態の最低のプロセ
ッサのうちの第1番目のものを表示することになる。
「ウェイト・マスタ」はそのプロセッサに対し、新しい
「ウェイト・マスタ」になるように命令する。結局最後
には全てのプロセッサが準備完了状態となるのである
が、それまでの間、このシステムは、少なくとも一つの
プロセッサが、準備完了状態に到達したことを知らされ
る都度、ステータスの問合せを試みるだけである。従っ
てこのシステムは、結果を出さずに資源を消費する周期
的なステータス問合せという負担を負わされることがな
い。更にこの方式によれば、最後に完了する処理が終了
した丁度その時刻に、全てのプロセッサが仕事を完了し
たということをシステムが確実に知ることになる。当業
者には理解されるように、本発明の概念の範囲内でその
他の多種多様な「待機」の形態を採用することができ
る。
「マージ開始」コマンドは、1つの特殊な種類のテスト
・アンド・セット命令である。大域的セマフォのステー
タスが「送信準備完了」または「受信準備完了」である
場合には、現在トランザクション・ナンバ・レジスタ
(PTNR)206(第13図参照)が「マージ開始」
メッセージ(第3図参照)内のトランザクション・ナン
バの値にセットされ、これによってPTNRレジスタの
設定が行なわれる。動作中のプロセッサのいずれかが、
より低位のレディネス状態にある場合には、PTNRの
値は変更されない。
・アンド・セット命令である。大域的セマフォのステー
タスが「送信準備完了」または「受信準備完了」である
場合には、現在トランザクション・ナンバ・レジスタ
(PTNR)206(第13図参照)が「マージ開始」
メッセージ(第3図参照)内のトランザクション・ナン
バの値にセットされ、これによってPTNRレジスタの
設定が行なわれる。動作中のプロセッサのいずれかが、
より低位のレディネス状態にある場合には、PTNRの
値は変更されない。
「マージ停止」コマンドは、以上の動作に対応するリセ
ット動作であって、すべての動作中のプロセッサのPT
NRを無条件に「TN0」にリセットするものである。
ット動作であって、すべての動作中のプロセッサのPT
NRを無条件に「TN0」にリセットするものである。
後に説明するように、PTNRによって指定されている
現在大域的タスク(current global task)に関係する
メッセージだけが、ネットワーク・インターフェイス1
20から出力されるようになっている。従って、「マー
ジ開始」コマンド及び「マージ停止」コマンドは、複数
のタスクの間でネットワークを時間多重化、即ち時分割
(タイム・マルチプレクシング)することのできる能力
を提供しており、従ってそれら複数のタスクは、任意に
中止、及び/または再開することができるようになって
いる。
現在大域的タスク(current global task)に関係する
メッセージだけが、ネットワーク・インターフェイス1
20から出力されるようになっている。従って、「マー
ジ開始」コマンド及び「マージ停止」コマンドは、複数
のタスクの間でネットワークを時間多重化、即ち時分割
(タイム・マルチプレクシング)することのできる能力
を提供しており、従ってそれら複数のタスクは、任意に
中止、及び/または再開することができるようになって
いる。
本発明の細部の特徴の重要なものに、ネットワーク・イ
ンターフェイス120が、ネットワークからのコマンド
によるTNのアクセスと、マイクロプロセッサ105に
よるTNのアクセスとが、決して同時に行なわれないよ
うにしているということがある。本実施例においては、
これは、受信状態制御回路260から読出し/書込み状
態制御回路270へ送られている信号によって達成され
ており、この信号は、TNを変更する可能性のあるネッ
トワークからのコマンドの処理が行なわれているときに
は必ず「肯定」状態とされている。この信号が「肯定」
状態にある短い時間の間は、プロセッサは、H.S.R
AMへのアクセスを、制御回路270によって禁止され
ている。当業者には理解されるように、本発明の範囲内
で、以上の構成の代りになる多種多様な代替構成を採用
することができる。
ンターフェイス120が、ネットワークからのコマンド
によるTNのアクセスと、マイクロプロセッサ105に
よるTNのアクセスとが、決して同時に行なわれないよ
うにしているということがある。本実施例においては、
これは、受信状態制御回路260から読出し/書込み状
態制御回路270へ送られている信号によって達成され
ており、この信号は、TNを変更する可能性のあるネッ
トワークからのコマンドの処理が行なわれているときに
は必ず「肯定」状態とされている。この信号が「肯定」
状態にある短い時間の間は、プロセッサは、H.S.R
AMへのアクセスを、制御回路270によって禁止され
ている。当業者には理解されるように、本発明の範囲内
で、以上の構成の代りになる多種多様な代替構成を採用
することができる。
受信制御 TNの更に別の機能に、入力メッセージの制御がある。
「TN割当」コマンドを用いることによって、所与のタ
スクに対して、複数のプロセッサにおける入力メッセー
ジ・ストリームを関連付けることができる。所与のプロ
セッサの中の当該タスクに割当てられているTNが「受
信準備完了」にセットされているときには、そのTNは
更に、そのプロセッサが受入れる用意のあるパケットの
個数を表わすカウント値を併せて表示している(第12
図)。ネットワーク・インターフェイス120は、個々
のパケットを成功裏に受信するたび毎にこのカウント値
をデクリメントし(このデクリメントはTNのワードか
ら算術的に「1」を減じることによって行なわれる)、
このデクリメントはこのカウント値がゼロに達するまで
続けられる。カウント値がゼロに達したときには「NA
CK/オーバラン」応答が発生され、それによって、パ
ケットを送出しているプロセッサに対し、このNACK
応答を発しているプロセッサがより多くの入力パケット
を受入れる用意ができるまで待機しなければならないこ
とが知らされる。更にまた、第18図から分るように、
このときにはPTNRの「TN0」へのリセットも併せ
て行なわれる。
「TN割当」コマンドを用いることによって、所与のタ
スクに対して、複数のプロセッサにおける入力メッセー
ジ・ストリームを関連付けることができる。所与のプロ
セッサの中の当該タスクに割当てられているTNが「受
信準備完了」にセットされているときには、そのTNは
更に、そのプロセッサが受入れる用意のあるパケットの
個数を表わすカウント値を併せて表示している(第12
図)。ネットワーク・インターフェイス120は、個々
のパケットを成功裏に受信するたび毎にこのカウント値
をデクリメントし(このデクリメントはTNのワードか
ら算術的に「1」を減じることによって行なわれる)、
このデクリメントはこのカウント値がゼロに達するまで
続けられる。カウント値がゼロに達したときには「NA
CK/オーバラン」応答が発生され、それによって、パ
ケットを送出しているプロセッサに対し、このNACK
応答を発しているプロセッサがより多くの入力パケット
を受入れる用意ができるまで待機しなければならないこ
とが知らされる。更にまた、第18図から分るように、
このときにはPTNRの「TN0」へのリセットも併せ
て行なわれる。
以上の動作メカニズムにより、ネットワークを流通する
パケットの流れの制御を直截的に行なえるようになって
いる。またそれによって、1つのプロセッサに未処理の
パケットが多量に詰め込まれることがないように、そし
てそのプロセッサがシステムにとってのネックになって
しまうことがないように、保証されている。
パケットの流れの制御を直截的に行なえるようになって
いる。またそれによって、1つのプロセッサに未処理の
パケットが多量に詰め込まれることがないように、そし
てそのプロセッサがシステムにとってのネックになって
しまうことがないように、保証されている。
送信制御 第21図について説明すると、同図から分るように、
H.S.RAMに格納されている各メッセージは、新T
Nベクタ(=ネクスト・メッセージ・ベクタ)の値を収
容するためのフィールドを含んでいる。メッセージを送
信してそれに対する応答を成功裏に受信したならば、こ
の送信したばかりのメッセージに含まれていた新TNベ
クタが、H.S.RAMの中の現在トランザクション・
ナンバを格納するためのアドレスへ(PTNRから転送
されて)格納される。従って、TNは個々のメッセージ
が送出されるたび毎に更新され、また、メッセージの伝
送に成功した際にはTNが自動的に所望の状態にセット
されるようにすることが可能となっている。
H.S.RAMに格納されている各メッセージは、新T
Nベクタ(=ネクスト・メッセージ・ベクタ)の値を収
容するためのフィールドを含んでいる。メッセージを送
信してそれに対する応答を成功裏に受信したならば、こ
の送信したばかりのメッセージに含まれていた新TNベ
クタが、H.S.RAMの中の現在トランザクション・
ナンバを格納するためのアドレスへ(PTNRから転送
されて)格納される。従って、TNは個々のメッセージ
が送出されるたび毎に更新され、また、メッセージの伝
送に成功した際にはTNが自動的に所望の状態にセット
されるようにすることが可能となっている。
第12図について説明すると、「送信準備完了」のTN
のフォーマットは、14ビットのH.S.RAM内のア
ドレスを含んでおり、このアドレスは、所与のタスク
(TN)に関して次に出力すべきパケットを指し示すの
に用いられている。従って、H.S.RAMの中に格納
されているTNは、種々のタスクに関するメッセージ
の、先入先出式(FIFO)待ち行列の、その先頭を指
し示すヘッド・ポインタとしての機能も果たしている。
従って、所与の1つのタスク(TN)に関する限りにお
いては、各プロセッサは、新TNベクタのチェーンによ
って定められた順序で、パケットの送出を試みることに
なる。
のフォーマットは、14ビットのH.S.RAM内のア
ドレスを含んでおり、このアドレスは、所与のタスク
(TN)に関して次に出力すべきパケットを指し示すの
に用いられている。従って、H.S.RAMの中に格納
されているTNは、種々のタスクに関するメッセージ
の、先入先出式(FIFO)待ち行列の、その先頭を指
し示すヘッド・ポインタとしての機能も果たしている。
従って、所与の1つのタスク(TN)に関する限りにお
いては、各プロセッサは、新TNベクタのチェーンによ
って定められた順序で、パケットの送出を試みることに
なる。
先に説明した、複数のTN(タスク)の間でネットワー
クを高速で多重化(マルチプレクシング)するための機
構と組合わせることによって、多くのプロセッサの間に
分配された何組もの複雑を組合せのタスクを、極めて小
規模なソフトウェア・オーバヘッドで管理できるように
なることは明らかである。ネットワークと、インターフ
ェイスと、プロセッサとの共同動作によって提供されて
いる構成は、そのコピーを数百個のプロセッサの間に分
配することができ、更には数千個のプロセッサの間にす
ら分配することのできる資源及びタスクに対して、資源
の割付けと割付け解除、タスクの中止と再開、それにそ
の他の制御を行なうための好適な構成である。
クを高速で多重化(マルチプレクシング)するための機
構と組合わせることによって、多くのプロセッサの間に
分配された何組もの複雑を組合せのタスクを、極めて小
規模なソフトウェア・オーバヘッドで管理できるように
なることは明らかである。ネットワークと、インターフ
ェイスと、プロセッサとの共同動作によって提供されて
いる構成は、そのコピーを数百個のプロセッサの間に分
配することができ、更には数千個のプロセッサの間にす
ら分配することのできる資源及びタスクに対して、資源
の割付けと割付け解除、タスクの中止と再開、それにそ
の他の制御を行なうための好適な構成である。
DSW(転送先選択ワード)の例 転送先選択ワード(第3図)は、DSWロジック190
(第13図)及びH.S.RAM26(第8図)のDS
Wセクションと協働することによって、以下のことを可
能とする複数のモードを提供するものである。即ち、そ
れらのモードとは、各々の受信プロセッサのネットワー
ク・インターフェイス120が、受信中のメッセージは
当該ネットワーク・インターフェイスに組合わされてい
るマイクロプロセッサ105によって処理されることを
意図したものか否かの判定を、迅速に下せるようにする
ための複数のモードである。既に説明したように、受信
メッセージの中に含まれているDSWは、H.S.RA
MのDSWセクションに格納されているニブルを選択す
ると共に、そのニブルと比較される。
(第13図)及びH.S.RAM26(第8図)のDS
Wセクションと協働することによって、以下のことを可
能とする複数のモードを提供するものである。即ち、そ
れらのモードとは、各々の受信プロセッサのネットワー
ク・インターフェイス120が、受信中のメッセージは
当該ネットワーク・インターフェイスに組合わされてい
るマイクロプロセッサ105によって処理されることを
意図したものか否かの判定を、迅速に下せるようにする
ための複数のモードである。既に説明したように、受信
メッセージの中に含まれているDSWは、H.S.RA
MのDSWセクションに格納されているニブルを選択す
ると共に、そのニブルと比較される。
プロセッサ・アドレス 第8図に示されているように、H.S.RAMのDSW
セクションの1つの部分がプロセッサ・アドレス選択ニ
ブルの格納にあてられている。本システムにおいては、
搭載可能な1024個のプロセッサの各々に対して、
H.S.RAMのこの部分に含まれているビット・アド
レスのうちの1つが関連付けられている。当該プロセッ
サのID(アイデンティティ)に関連付けられたビット
・アドレスのビットは「1」にセットされており、一
方、このセクション内のその他の全てのビットは「0」
にされている。従って各々のプロセッサは、このセクシ
ョンの中の1つのビットだけが「1」にセットされてい
る。
セクションの1つの部分がプロセッサ・アドレス選択ニ
ブルの格納にあてられている。本システムにおいては、
搭載可能な1024個のプロセッサの各々に対して、
H.S.RAMのこの部分に含まれているビット・アド
レスのうちの1つが関連付けられている。当該プロセッ
サのID(アイデンティティ)に関連付けられたビット
・アドレスのビットは「1」にセットされており、一
方、このセクション内のその他の全てのビットは「0」
にされている。従って各々のプロセッサは、このセクシ
ョンの中の1つのビットだけが「1」にセットされてい
る。
ハッシュ・マップ H.S.RAMのDSWセクシヨンの別の1つの部分
が、ハッシュ・マップ(複数)格納にあてられている。
本システムにおいては、マップ選択ビットのうちの2つ
のビットそれらのハッシュ・マップにあてられており、
それによって、4096個の可能な値を全て含む完全な
集合が2組得られている。ハッシュト・モード(hashed
mode)においては、二次記憶装置に格納されているレコ
ードのためのキーが、ハッシング・アルゴリズムに従っ
て設定され、それによって0から4095までの間「バ
ケット」の割当てが行なわれる。所与の「バケット」に
収容されているレコードを担当しているプロセッサは、
そのアドレスが当該バケットのバケット・ナンバに対応
しているマップ・ビットの中に「1」のビットがセット
されている。その他のビットは「0」にされている。複
数個のマップ・ビットをセットするだけで、所与のプロ
セッサに複数のバケットを担当させることができる。
が、ハッシュ・マップ(複数)格納にあてられている。
本システムにおいては、マップ選択ビットのうちの2つ
のビットそれらのハッシュ・マップにあてられており、
それによって、4096個の可能な値を全て含む完全な
集合が2組得られている。ハッシュト・モード(hashed
mode)においては、二次記憶装置に格納されているレコ
ードのためのキーが、ハッシング・アルゴリズムに従っ
て設定され、それによって0から4095までの間「バ
ケット」の割当てが行なわれる。所与の「バケット」に
収容されているレコードを担当しているプロセッサは、
そのアドレスが当該バケットのバケット・ナンバに対応
しているマップ・ビットの中に「1」のビットがセット
されている。その他のビットは「0」にされている。複
数個のマップ・ビットをセットするだけで、所与のプロ
セッサに複数のバケットを担当させることができる。
この実施例の構成においては、容易に理解されるよう
に、マップ・ビットのセッティングを以下の方式で行な
えるようになっている。即ち、その方式とは、所与の1
つのマップ選択ビットについては、各ビット・アドレス
がただ一つのプロセッサにおいてのみ「1」にセットさ
れており、しかも、いかなるビット・アドレスも必ずい
ずれかのプロセッサにおいて「1」にセットされている
という方式である。この方式を採用したことの直接の結
果として、各々のプロセッサ(AMP)が、データベー
スのレコードの互いに別個で互いに素の部分集合を分担
し、しかも、システムの全体としては、レコードの全て
を含む完全な集合が存在するようになっている。
に、マップ・ビットのセッティングを以下の方式で行な
えるようになっている。即ち、その方式とは、所与の1
つのマップ選択ビットについては、各ビット・アドレス
がただ一つのプロセッサにおいてのみ「1」にセットさ
れており、しかも、いかなるビット・アドレスも必ずい
ずれかのプロセッサにおいて「1」にセットされている
という方式である。この方式を採用したことの直接の結
果として、各々のプロセッサ(AMP)が、データベー
スのレコードの互いに別個で互いに素の部分集合を分担
し、しかも、システムの全体としては、レコードの全て
を含む完全な集合が存在するようになっている。
以上の具体例はリレーショナル・データベースの課題を
例に引いて説明されているが、当業者には容易に理解さ
れるように、課題の互いに素の部分集合をマルチプロセ
ッサ複合体の中の個々のプロセッサに分担させることが
できる課題領域であればどのような課題領域にでも、こ
れと同じ方式を適用することができる。
例に引いて説明されているが、当業者には容易に理解さ
れるように、課題の互いに素の部分集合をマルチプロセ
ッサ複合体の中の個々のプロセッサに分担させることが
できる課題領域であればどのような課題領域にでも、こ
れと同じ方式を適用することができる。
更にもう1つ注目に値することは、完全なマップを2つ
備えることによって、以上に説明した方式を、一方のマ
ップによれば所与のあるプロセッサに割当てられている
バケットを、他方のマップにおいてはそれとは異なった
プロセッサに割当て得るように、構成することができる
ということである。ここで、一方のマップを「一次的」
なものとし、他方のマップを「バックアップ用」のもの
とすれば、直接の帰結として、所与のあるプロセッサ上
では一次的なものであるレコードが、別のプロセッサ上
では確実にバックアップされるようにすることができ
る。更に、所与の一つのプロセッサをバックアップする
プロセッサの個数については、いかなる制約もない。
備えることによって、以上に説明した方式を、一方のマ
ップによれば所与のあるプロセッサに割当てられている
バケットを、他方のマップにおいてはそれとは異なった
プロセッサに割当て得るように、構成することができる
ということである。ここで、一方のマップを「一次的」
なものとし、他方のマップを「バックアップ用」のもの
とすれば、直接の帰結として、所与のあるプロセッサ上
では一次的なものであるレコードが、別のプロセッサ上
では確実にバックアップされるようにすることができ
る。更に、所与の一つのプロセッサをバックアップする
プロセッサの個数については、いかなる制約もない。
当業者には理解されるように、本発明の範囲内で実現で
きる互いに別個のマップの数は3以上にすることもで
き、また、バケットの数も任意の個数とすることができ
る。
きる互いに別個のマップの数は3以上にすることもで
き、また、バケットの数も任意の個数とすることができ
る。
クラス 先に説明したプロセッサ・アドレスとハッシュ・マップ
のいずれの場合にも、全てのプロセッサについてその所
与の1つのビット・アドレスを調べれば、そのビット・
アドレスが1つのプロセッサにおいてだけ「1」にセッ
トされており、その他の全てのプロセッサ内の対応する
ビット・アドレスは「0」にセットされていることが分
かる。しかしながら、複数のプロセッサ内において対応
するビット・アドレスが「1」にセットされているよう
な方式も可能であるし、有用でもある。この方式は「ク
ラス・アドレス」モードといわれる方式である。
のいずれの場合にも、全てのプロセッサについてその所
与の1つのビット・アドレスを調べれば、そのビット・
アドレスが1つのプロセッサにおいてだけ「1」にセッ
トされており、その他の全てのプロセッサ内の対応する
ビット・アドレスは「0」にセットされていることが分
かる。しかしながら、複数のプロセッサ内において対応
するビット・アドレスが「1」にセットされているよう
な方式も可能であるし、有用でもある。この方式は「ク
ラス・アドレス」モードといわれる方式である。
クラス・アドレスは、そのコピーが複数のプロセッサ内
に存在する処理手順ないし機能の名称と考えることがで
きる。該当する処理手順ないし機能を備えているプロセ
ッサは、いずれも対応するビット・アドレスに「1」ビ
ットがセットされている。
に存在する処理手順ないし機能の名称と考えることがで
きる。該当する処理手順ないし機能を備えているプロセ
ッサは、いずれも対応するビット・アドレスに「1」ビ
ットがセットされている。
クラス・アドレスへ宛ててメッセージを送出するために
は、DSW(第3図)内の該当するクラス・アドレスが
セットされる。H.S.RAMの中の該当する位置のビ
ットが「1」にセットされていることによって当該クラ
スに「所属」していることが示されている全ての動作可
能なプロセッサは、その送出されたメッセージ・バケッ
トに対して「ACK」で応答することになる。当該クラ
スに所属していないプロセッサはNAPで応答する。
は、DSW(第3図)内の該当するクラス・アドレスが
セットされる。H.S.RAMの中の該当する位置のビ
ットが「1」にセットされていることによって当該クラ
スに「所属」していることが示されている全ての動作可
能なプロセッサは、その送出されたメッセージ・バケッ
トに対して「ACK」で応答することになる。当該クラ
スに所属していないプロセッサはNAPで応答する。
従ってDSWは、マルチプロセッサ・システム内のメッ
セージの流れを制御するのに必要な経路指定計算がハー
ドウェアによって行なわれるようにしている。また、プ
ログラムを、システムの様々な機能がいずれのプロセッ
サの中に備えられているのかという知識とは、無関係な
ものとすることができる。更には、マップはH.S.R
AMの一部であり、従ってマイクロプロセッサ105か
らアクセスできるため、ある機能を1つのプロセッサか
ら別のプロセッサへ動的に再配置することが可能であ
る。
セージの流れを制御するのに必要な経路指定計算がハー
ドウェアによって行なわれるようにしている。また、プ
ログラムを、システムの様々な機能がいずれのプロセッ
サの中に備えられているのかという知識とは、無関係な
ものとすることができる。更には、マップはH.S.R
AMの一部であり、従ってマイクロプロセッサ105か
らアクセスできるため、ある機能を1つのプロセッサか
ら別のプロセッサへ動的に再配置することが可能であ
る。
マージの例 複雑なマルチプロセッサ・システムにおいては、一連の
相互に関連した複数の動作の実行が、タスクによって必
要とされることがある。これは特に、複雑な問合せを取
扱うリレーショナル・データベース・システムについて
言えることであり、そのようなデータベース・システム
においては、データをアセンブルしてファイルを形成
し、しかもアセンブルされた後には特定の方式で複数の
プロセッサへ再分配できるよううなファイルを形成する
ために、複数の二次記憶装置を参照することが必要とさ
れることがある。以下に示す例は、第1、第8、及び1
3図のシステムが、TNと、DSWと、それに大域的セ
マフォとに対して操作を加えることによって、そのよう
な機能をいかに容易に実行できるようになっているか
を、手短に説明するものである。
相互に関連した複数の動作の実行が、タスクによって必
要とされることがある。これは特に、複雑な問合せを取
扱うリレーショナル・データベース・システムについて
言えることであり、そのようなデータベース・システム
においては、データをアセンブルしてファイルを形成
し、しかもアセンブルされた後には特定の方式で複数の
プロセッサへ再分配できるよううなファイルを形成する
ために、複数の二次記憶装置を参照することが必要とさ
れることがある。以下に示す例は、第1、第8、及び1
3図のシステムが、TNと、DSWと、それに大域的セ
マフォとに対して操作を加えることによって、そのよう
な機能をいかに容易に実行できるようになっているか
を、手短に説明するものである。
まず第1に、マージ・コーディネータ(典型的な例とし
てはマージ・コーディネータはIFP14ないし16で
あるが、必ずしもそれに限られるものではない)が、あ
る1つのファイルをマージして形成することになる(即
ちデータ・ソースとして機能する)1つのクラスに属す
る複数のAMPを、(AMP18〜23)の中から)識
別する。割当てがなされていない1つのTNが選択さ
れ、そしてデータ・ソース機能を識別するために割当て
られる。このファイルを別の1組のAMP(それらは元
のデータ・ソースのプロセッサであってもよい)へ分配
ないしハッシングするするという第2の主要機能に対し
ては、そのときまで割当てをされていなかった別のTN
が割当てられる。
てはマージ・コーディネータはIFP14ないし16で
あるが、必ずしもそれに限られるものではない)が、あ
る1つのファイルをマージして形成することになる(即
ちデータ・ソースとして機能する)1つのクラスに属す
る複数のAMPを、(AMP18〜23)の中から)識
別する。割当てがなされていない1つのTNが選択さ
れ、そしてデータ・ソース機能を識別するために割当て
られる。このファイルを別の1組のAMP(それらは元
のデータ・ソースのプロセッサであってもよい)へ分配
ないしハッシングするするという第2の主要機能に対し
ては、そのときまで割当てをされていなかった別のTN
が割当てられる。
このマージ機能のためのコーディネータは、第1のTN
に関係するファイルの、マージングの作業を行なうこと
になるクラスに属する複数のプロセッサを、DSWを用
いて識別する。このマージングの作業に関与する関与プ
ロセッサは、そのTNのステータスのレベルを上昇させ
て「ビズィ」または「ウェイティング」ステータスと
し、その後に、マージ動作の制御が、マージ動作に関与
している関与プロセッサのうちの1つへ渡される(即ち
コーディネータの仕事が委任される)。以上の複数の関
与プロセッサ(それら以外の全てのプロセッサ・モジュ
ールはそのトランザクションに関しては非関与プロセッ
サである)の各々は、このように規定されたマージのタ
スクに関するメッセージ・バケットを受信してそれに対
する肯定応答を送出した後には、そのプロセッサ自身の
サブタスクの実行を、そのステータス・レベルを適宜更
新しながら進行させて行く。そして、マージ・コーディ
ネータの仕事を委任されているプロセッサがそれ自身の
タスクを終了したならば、そのプロセッサは、その他の
全ての関与プロセッサに対して、当該トランザクション
・ナンバに関するステータスを知らせるよう、ステータ
ス・リクエストを送出し、それによって、関与プロセッ
サのうちでレディネス状態が最低のプロセッサを表示し
ている応答を受取ることができる。マージ動作の制御
は、このレディネス状態が最低のプロセッサへ渡され、
この後には、このプロセッサが、自身の作業が終了した
際にその他全ての関与プロセッサをボーリングすること
ができるようになる。以上のプロセスは、必要とあら
ば、関与プロセッサの全てが準備完了状態となっている
ことを示す応答が受信されるまで、続けさせることがで
きる。そのような応答が受信された時点においてコーデ
ィネータとして働いていたプロセッサは、続いてて、D
SWを利用して当該クラスに属している関与プロセッサ
を識別しつつ、H.S.RAM26へのメッセージの転
送を開始し、このメッセージの転送に伴なって、ステー
タス・レベルが該当する出力メッセージ・ベクタ情報に
より「送信準備完了」へと更新される。これに続いて実
行されるボーリングの結果、全ての関与AMPが送信準
備完了状態にあることが判明したならば、コーディネー
タは、その特定のTNについてのマージ開始コマンドを
発令する。
に関係するファイルの、マージングの作業を行なうこと
になるクラスに属する複数のプロセッサを、DSWを用
いて識別する。このマージングの作業に関与する関与プ
ロセッサは、そのTNのステータスのレベルを上昇させ
て「ビズィ」または「ウェイティング」ステータスと
し、その後に、マージ動作の制御が、マージ動作に関与
している関与プロセッサのうちの1つへ渡される(即ち
コーディネータの仕事が委任される)。以上の複数の関
与プロセッサ(それら以外の全てのプロセッサ・モジュ
ールはそのトランザクションに関しては非関与プロセッ
サである)の各々は、このように規定されたマージのタ
スクに関するメッセージ・バケットを受信してそれに対
する肯定応答を送出した後には、そのプロセッサ自身の
サブタスクの実行を、そのステータス・レベルを適宜更
新しながら進行させて行く。そして、マージ・コーディ
ネータの仕事を委任されているプロセッサがそれ自身の
タスクを終了したならば、そのプロセッサは、その他の
全ての関与プロセッサに対して、当該トランザクション
・ナンバに関するステータスを知らせるよう、ステータ
ス・リクエストを送出し、それによって、関与プロセッ
サのうちでレディネス状態が最低のプロセッサを表示し
ている応答を受取ることができる。マージ動作の制御
は、このレディネス状態が最低のプロセッサへ渡され、
この後には、このプロセッサが、自身の作業が終了した
際にその他全ての関与プロセッサをボーリングすること
ができるようになる。以上のプロセスは、必要とあら
ば、関与プロセッサの全てが準備完了状態となっている
ことを示す応答が受信されるまで、続けさせることがで
きる。そのような応答が受信された時点においてコーデ
ィネータとして働いていたプロセッサは、続いてて、D
SWを利用して当該クラスに属している関与プロセッサ
を識別しつつ、H.S.RAM26へのメッセージの転
送を開始し、このメッセージの転送に伴なって、ステー
タス・レベルが該当する出力メッセージ・ベクタ情報に
より「送信準備完了」へと更新される。これに続いて実
行されるボーリングの結果、全ての関与AMPが送信準
備完了状態にあることが判明したならば、コーディネー
タは、その特定のTNについてのマージ開始コマンドを
発令する。
マージ動作が実行されている間に、処理済のデータ・バ
ケットは、結果をリレーショナル・データベースに従っ
て二次記憶装置へ分配するための1つのクラスに属する
複数のプロセッサ・モジュールへ宛てて、転送されるこ
とになる。それらの複数の受信プロセッサが、このとき
発信元となっている複数のプロセッサと同じものである
と否とにかかわらず、この分配に関与するクラスに所属
する関与プロセッサ(即ち上記受信プロセッサ)は、D
SWによって識別され、またそのトランザクションは新
たなTNによって識別される。この新しいトランザクシ
ョンに関わる関与プロセッサの全てに対して、この新た
なTNが割当てられることになり、また、それらの関与
プロセッサは、それらのレディネス状態のレベルを上昇
させて「受信準備完了」とすることになる。このDSW
は、クラス指定ではなく、ハッシング選択指定のものと
することもできるが、いずれの場合においても、マージ
が実行されている間は、関与プロセッサの全てが、ブロ
ードカストされるメッセージを受信できる状態におかれ
ている。「マージ開始」が発令されたならば、送出動作
に関与すべき送出関与プロセッサの各々から複数のメッ
セージ・パケットが、しかも夫々のプロセッサから互い
に同時に、ネットワーク上へ送出され、それらのメッセ
ージ・パケットに対しては動的に(=伝送中に)優先権
の判定が行なわれる。各々の送出関与プロセッサが、そ
れ自身の1組のメッセージを送信完了したならば、それ
らの各々の送出関与プロセッサは、一定の形に定められ
ている「エンド・オブ・ファイル(End of File)」メッ
セージの送信を試み、この「エンド・オブ・ファイル」
メッセージは種々のデータメッセージより優先順位が低
い。関与プロセッサの全てが「エンド・オブ・ファイ
ル」メッセージを送出するようになるまでは、この「エ
ンド・オブ・ファイル」メッセージはデータ・メッセー
ジとの競合に敗退し続け、そして全ての関与プロセッサ
から送出されるようになったならば、ようやく、「エン
ド・オブ・ファイル」メッセージの転送が達成される。
この転送が達成されると、コーディネータは「エンド・
オブ・マージ(End of Merge)」メッセージを送出し、ま
た、それに続いて「TN放棄」を実行することができ、
この「TN放棄」によってこのトランザクションは終了
する。オーバラン状態、エラー状態、ないしはロック状
態に対しては、マージ即ち送信を始めからやり直すこと
によって適切に対処することができる。
ケットは、結果をリレーショナル・データベースに従っ
て二次記憶装置へ分配するための1つのクラスに属する
複数のプロセッサ・モジュールへ宛てて、転送されるこ
とになる。それらの複数の受信プロセッサが、このとき
発信元となっている複数のプロセッサと同じものである
と否とにかかわらず、この分配に関与するクラスに所属
する関与プロセッサ(即ち上記受信プロセッサ)は、D
SWによって識別され、またそのトランザクションは新
たなTNによって識別される。この新しいトランザクシ
ョンに関わる関与プロセッサの全てに対して、この新た
なTNが割当てられることになり、また、それらの関与
プロセッサは、それらのレディネス状態のレベルを上昇
させて「受信準備完了」とすることになる。このDSW
は、クラス指定ではなく、ハッシング選択指定のものと
することもできるが、いずれの場合においても、マージ
が実行されている間は、関与プロセッサの全てが、ブロ
ードカストされるメッセージを受信できる状態におかれ
ている。「マージ開始」が発令されたならば、送出動作
に関与すべき送出関与プロセッサの各々から複数のメッ
セージ・パケットが、しかも夫々のプロセッサから互い
に同時に、ネットワーク上へ送出され、それらのメッセ
ージ・パケットに対しては動的に(=伝送中に)優先権
の判定が行なわれる。各々の送出関与プロセッサが、そ
れ自身の1組のメッセージを送信完了したならば、それ
らの各々の送出関与プロセッサは、一定の形に定められ
ている「エンド・オブ・ファイル(End of File)」メッ
セージの送信を試み、この「エンド・オブ・ファイル」
メッセージは種々のデータメッセージより優先順位が低
い。関与プロセッサの全てが「エンド・オブ・ファイ
ル」メッセージを送出するようになるまでは、この「エ
ンド・オブ・ファイル」メッセージはデータ・メッセー
ジとの競合に敗退し続け、そして全ての関与プロセッサ
から送出されるようになったならば、ようやく、「エン
ド・オブ・ファイル」メッセージの転送が達成される。
この転送が達成されると、コーディネータは「エンド・
オブ・マージ(End of Merge)」メッセージを送出し、ま
た、それに続いて「TN放棄」を実行することができ、
この「TN放棄」によってこのトランザクションは終了
する。オーバラン状態、エラー状態、ないしはロック状
態に対しては、マージ即ち送信を始めからやり直すこと
によって適切に対処することができる。
ある1つのTNに関するマージ動作が終了したならば、
このシステムは、TNのシーケンスの中の、続く次のT
Nへシフトすることができる。この新たなTNに該当す
る複数のメッセージ・パケットの待ち行列を、各々のプ
ロセッサ・モジュールが作り終ったならば、それらのプ
ロセッサ・モジュールは、マージ動作を実行させるため
のネットワークに対する働きかけを再び開始することが
可能となる。個別に実行されるプロセッサ内マージ動作
に加え、更に以上のようにネットワーク内マージ動作が
効率的に利用されるために、このシステムは、従来のシ
ステムに対して著しく優れた、極めて大規模なソート/
マージ・タスクを実行することができるようになってい
る。本発明を採用した場合に、システム内のある1つの
ファイルをソートするために必要な時間は、レコードの
個数をn個、プロセッサの個数をm個とするとき、以下
の式で表わすことができる。
このシステムは、TNのシーケンスの中の、続く次のT
Nへシフトすることができる。この新たなTNに該当す
る複数のメッセージ・パケットの待ち行列を、各々のプ
ロセッサ・モジュールが作り終ったならば、それらのプ
ロセッサ・モジュールは、マージ動作を実行させるため
のネットワークに対する働きかけを再び開始することが
可能となる。個別に実行されるプロセッサ内マージ動作
に加え、更に以上のようにネットワーク内マージ動作が
効率的に利用されるために、このシステムは、従来のシ
ステムに対して著しく優れた、極めて大規模なソート/
マージ・タスクを実行することができるようになってい
る。本発明を採用した場合に、システム内のある1つの
ファイルをソートするために必要な時間は、レコードの
個数をn個、プロセッサの個数をm個とするとき、以下
の式で表わすことができる。
この式において、C2は定数であり、この実施例に関し
ては、100バイト・メッセージが用いられている場合
には約10マイクロ秒と見積られ、またC1は、典型的
な16ビット・マイクロプロセッサが使用されている場
合に、約1ミリ秒と見積られる定数である。様々に組み
合わせたたnとmとの組合せに対する、概略のソース/
マージ時間が、秒を単位として次の表に示されており、
それらの値は100バイト・レコードが用いられている
場合の値である。
ては、100バイト・メッセージが用いられている場合
には約10マイクロ秒と見積られ、またC1は、典型的
な16ビット・マイクロプロセッサが使用されている場
合に、約1ミリ秒と見積られる定数である。様々に組み
合わせたたnとmとの組合せに対する、概略のソース/
マージ時間が、秒を単位として次の表に示されており、
それらの値は100バイト・レコードが用いられている
場合の値である。
以上の表に示されている具体例の数字を従来のシステム
と比較して評価するのは容易なことではない。その理由
は、相互に関連を有する2種類のソート処理シーケンス
(プロセッサによるソートとネットワークによるソー
ト)が関与しているからであり、また、そもそも、かか
る能力を有するシステムが殆んど存在していないからで
ある。更に、本システムではその長さが長大でしかも可
変なメッセージがソート及びマージされるのに対して、
一般的な多くのソート能力は、数バイトないし数ワード
について能力評価がなされている。
と比較して評価するのは容易なことではない。その理由
は、相互に関連を有する2種類のソート処理シーケンス
(プロセッサによるソートとネットワークによるソー
ト)が関与しているからであり、また、そもそも、かか
る能力を有するシステムが殆んど存在していないからで
ある。更に、本システムではその長さが長大でしかも可
変なメッセージがソート及びマージされるのに対して、
一般的な多くのソート能力は、数バイトないし数ワード
について能力評価がなされている。
更に別の重要な要因として、本システムはマルチプロセ
ッサそのものであって、ソート/マージ処理の専用シス
テムではないとうことがある。本システムは、局所的に
も大域的にも、マージ動作とノン・マージ動作との間を
完全なフレキシビリティをもつてシフトすることがで
き、しかもこのシフトを、ソフトウェア的な不利益を生
じることなく、また、システム効率に損失を生じさせる
こともなく、行なえるようになっている。
ッサそのものであって、ソート/マージ処理の専用シス
テムではないとうことがある。本システムは、局所的に
も大域的にも、マージ動作とノン・マージ動作との間を
完全なフレキシビリティをもつてシフトすることがで
き、しかもこのシフトを、ソフトウェア的な不利益を生
じることなく、また、システム効率に損失を生じさせる
こともなく、行なえるようになっている。
タスク・リクエスト/タスク応答のサイクルの例 第1図に関し、ネットワーク50に接続されているプロ
セッサ14、16、ないし18〜23はいずれも、他の
1個または複数個のプロセッサにタスクを実行させるた
めのタスク・リクエストを、メッセージ・パケットの形
態の然るべきフォーマットで形成する機能を有してい
る。リレーショナル・データベース・システムにおいて
は、これらのタスクの殆んどはホスト・コンピュータ1
0、12をその発生源とし、インターフェイス・プロセ
ッサ14、16を介してシステム内へ入力されるもので
あるが、ただし、このことは必要条件ではない。然るべ
きフォーマットで形成されたこのメッセージ・パケット
は、他のプロセッサからのパケットとの間で争われるネ
ットワーク上の競合の中へ投入され、そして、他のタス
クの優先順位のレベル並びにこのプロセッサにおける動
作状態のレベル次第で、時には優先権を得ることにな
る。タスクは、1つのメッセージ・パケットによってそ
の内容を指定されていることもあり、また、複数の継続
パケットによって指定されていることもあるが、後に続
く継続パケットは、データ・メッセージのグループ(第
11図参照)の中では比較的高い優先順位レベルを割当
てられ、それによって、後に続く部分を受信するに際し
ての遅延ができるだけ短くなるようにしている。
セッサ14、16、ないし18〜23はいずれも、他の
1個または複数個のプロセッサにタスクを実行させるた
めのタスク・リクエストを、メッセージ・パケットの形
態の然るべきフォーマットで形成する機能を有してい
る。リレーショナル・データベース・システムにおいて
は、これらのタスクの殆んどはホスト・コンピュータ1
0、12をその発生源とし、インターフェイス・プロセ
ッサ14、16を介してシステム内へ入力されるもので
あるが、ただし、このことは必要条件ではない。然るべ
きフォーマットで形成されたこのメッセージ・パケット
は、他のプロセッサからのパケットとの間で争われるネ
ットワーク上の競合の中へ投入され、そして、他のタス
クの優先順位のレベル並びにこのプロセッサにおける動
作状態のレベル次第で、時には優先権を得ることにな
る。タスクは、1つのメッセージ・パケットによってそ
の内容を指定されていることもあり、また、複数の継続
パケットによって指定されていることもあるが、後に続
く継続パケットは、データ・メッセージのグループ(第
11図参照)の中では比較的高い優先順位レベルを割当
てられ、それによって、後に続く部分を受信するに際し
ての遅延ができるだけ短くなるようにしている。
メッセージ・パケットには、トランザクション・アイデ
ンティティ(=トランザクション識別情報)が、トラン
ザクション・ナンバの形で含まれている。このトランザ
クション・ナンバは、処理結果を引き出す上で方式に関
するモードであるノン・マージ・モード即ちディフォル
ト・モード(「TN0」)と、マージ・モード(「TN
0」以外の全てのTN)とを、選択に応じて区別すると
いう性質を本来的に備えている。更に、メッセージ・パ
ケットにはDSWが含まれている。このDSWは、実質
的に、転送先プロセッサとマルチプロセッサ動作のモー
ドとを指定するものであり、この指定は、特定のプロセ
ッサの指定、複数のプロセッサから成るクラスの指定、
或いはハッシングの指定によって行なわれ、本実施例に
おいては、ハッシングは、リレーショナル・データベー
スの一部分へのハッシングである。ネットワーク50を
介してターゲット・プロセッサ(指定転送先プロセッ
サ)へブロードカストされるメッセージ・パケットは、
そのプロセッサにおいて局所的に受入れられて(=その
プロセッサ自身への受入れが適当であるとの判断がその
プロセッサ自身によってなされて)、そして、受信した
旨の認証が肯定応答(ACK)によって行なわれる。プ
ロセッサ14、16及び18〜23の全てが、EOM
(エンド・オブ・メッセージ)のあとに続いてネットワ
ーク50への互いに同時に応答を送出するが、しかしな
がら、指定転送先プロセッサから送出されたACKが優
先権を獲得し、そして発信元プロセッサに受信されるこ
とになる。
ンティティ(=トランザクション識別情報)が、トラン
ザクション・ナンバの形で含まれている。このトランザ
クション・ナンバは、処理結果を引き出す上で方式に関
するモードであるノン・マージ・モード即ちディフォル
ト・モード(「TN0」)と、マージ・モード(「TN
0」以外の全てのTN)とを、選択に応じて区別すると
いう性質を本来的に備えている。更に、メッセージ・パ
ケットにはDSWが含まれている。このDSWは、実質
的に、転送先プロセッサとマルチプロセッサ動作のモー
ドとを指定するものであり、この指定は、特定のプロセ
ッサの指定、複数のプロセッサから成るクラスの指定、
或いはハッシングの指定によって行なわれ、本実施例に
おいては、ハッシングは、リレーショナル・データベー
スの一部分へのハッシングである。ネットワーク50を
介してターゲット・プロセッサ(指定転送先プロセッ
サ)へブロードカストされるメッセージ・パケットは、
そのプロセッサにおいて局所的に受入れられて(=その
プロセッサ自身への受入れが適当であるとの判断がその
プロセッサ自身によってなされて)、そして、受信した
旨の認証が肯定応答(ACK)によって行なわれる。プ
ロセッサ14、16及び18〜23の全てが、EOM
(エンド・オブ・メッセージ)のあとに続いてネットワ
ーク50への互いに同時に応答を送出するが、しかしな
がら、指定転送先プロセッサから送出されたACKが優
先権を獲得し、そして発信元プロセッサに受信されるこ
とになる。
続いて指定転送先プロセッサは、送られてきたメッセー
ジが、局所H.S.RAM(=個々のプロセッサ・モジ
ュールに備えられているH.S.RAM)とインターフ
ェイス120と(第8図及び第13図)を介して局所マ
イクロプロセッサに転送されるときに、このリクエスト
・パケット(=送られてきたメッセージ)が要求してい
る処理を非同期的に(=当該プロセッサ・モジュール以
外の要素とは同期せせずに)実行する。リレーショナル
・データベースに関するタスクが実行される場合には、
DSWは互いに素のデータ部分集合(この部分集合はそ
の部分集合のためのディスク・ドライブに格納されてい
る)のある部分を指定するのが通常の例であるが、ただ
し、時には、格納されているデータベースを参照するこ
とを必要としないタスクが実行されることもある。特定
の演算やアルゴリズムを個々のプロセッサによって実行
するようにしても良く、また指定転送先プロセッサとし
て複数のプロセッサが指定された場合には、それらのプ
ロセッサの各々が、タスク全体の互いに素の部分集合に
ついての仕事を実行するようにすることができる。可変
長のメッセージ・パケットは、リクエスト・メッセージ
によって、実行すべき動作とデータベース・システム内
の参照すべきファイルとの指定が行なえるように構成さ
れている。ここで注意すべきことは、所与の1つのタス
クに関するメッセージ・パケットが大量に存在している
場合もあるとということであり、その場合には、ネット
ワークの内部で行なわれるソートのための弁別基準とな
る適当な特徴を付与するために、任意採用可能なキー・
フィールド(第3図)が重要になってくるということで
ある。
ジが、局所H.S.RAM(=個々のプロセッサ・モジ
ュールに備えられているH.S.RAM)とインターフ
ェイス120と(第8図及び第13図)を介して局所マ
イクロプロセッサに転送されるときに、このリクエスト
・パケット(=送られてきたメッセージ)が要求してい
る処理を非同期的に(=当該プロセッサ・モジュール以
外の要素とは同期せせずに)実行する。リレーショナル
・データベースに関するタスクが実行される場合には、
DSWは互いに素のデータ部分集合(この部分集合はそ
の部分集合のためのディスク・ドライブに格納されてい
る)のある部分を指定するのが通常の例であるが、ただ
し、時には、格納されているデータベースを参照するこ
とを必要としないタスクが実行されることもある。特定
の演算やアルゴリズムを個々のプロセッサによって実行
するようにしても良く、また指定転送先プロセッサとし
て複数のプロセッサが指定された場合には、それらのプ
ロセッサの各々が、タスク全体の互いに素の部分集合に
ついての仕事を実行するようにすることができる。可変
長のメッセージ・パケットは、リクエスト・メッセージ
によって、実行すべき動作とデータベース・システム内
の参照すべきファイルとの指定が行なえるように構成さ
れている。ここで注意すべきことは、所与の1つのタス
クに関するメッセージ・パケットが大量に存在している
場合もあるとということであり、その場合には、ネット
ワークの内部で行なわれるソートのための弁別基準とな
る適当な特徴を付与するために、任意採用可能なキー・
フィールド(第3図)が重要になってくるということで
ある。
応答を行なおうとしている各プロセッサによって発生さ
れるタスク応答パケットは、マイクロプロセッサから、
第1図の制御ロジック28を介して局所H.S.RAM
26へと転送され、そこでは、タスク応答パケットは第
21A図の送出メッセージ・フォーマットの形で格納さ
れる。タスク応答が、継続パケットの使用を必要とする
ものである場合には、そのような継続パケットは先頭パ
ケットの後に続いて、ただし継続のためのより高い優先
順位を与えられた上で、送出される。システムがマージ
・モードで動作しており、且つ、各々のプロセッサがあ
る1つのトランザクション・ナンバに関する多数のパケ
ットを発生している場合には、それらのパケットを先ず
局所的に(=個々のプロセッサの内部において)ソート
順でチェーンし、その後に、ネットワーク50上でマー
ジを行なうことによって大域的なソート順に並べるよう
にすることができる。
れるタスク応答パケットは、マイクロプロセッサから、
第1図の制御ロジック28を介して局所H.S.RAM
26へと転送され、そこでは、タスク応答パケットは第
21A図の送出メッセージ・フォーマットの形で格納さ
れる。タスク応答が、継続パケットの使用を必要とする
ものである場合には、そのような継続パケットは先頭パ
ケットの後に続いて、ただし継続のためのより高い優先
順位を与えられた上で、送出される。システムがマージ
・モードで動作しており、且つ、各々のプロセッサがあ
る1つのトランザクション・ナンバに関する多数のパケ
ットを発生している場合には、それらのパケットを先ず
局所的に(=個々のプロセッサの内部において)ソート
順でチェーンし、その後に、ネットワーク50上でマー
ジを行なうことによって大域的なソート順に並べるよう
にすることができる。
タスク結果パケットは、プロセッサ14、16及び18
〜23からネットワーク50へ、同時送出パケット群を
成すように送出され、そして1つの最優先メッセージ・
パケットが、所定のネットワーク遅延ののちに、全ての
プロセッサへブロードカストにより送り返される。それ
らのタスク結果パケットの転送は、そのタスクの性質に
応じて、最初にリクエスト・メッセージを発信した発信
元プロセッサをその転送先として行なわれることもあ
り、また、1個ないし複数個の他のプロセッサを転送先
として行なわれることもあり、更には、既に説明した複
数のマルチプロセッサ・モードのうちのいずれのモード
で転送を行なうこともできる。リレーショナル・データ
ベース・システムにおいて最も一般的に行なわれる事例
は、ハッシングを利用して転送先の選択を行ないつつ、
マージと再分配とを同時に実行するというものである。
従ってそのことからも理解されるように、「タスク・リ
クエスト/タスク応答」のサイクルの中では、各々のプ
ロセッサが、発信元プロセッサとしても、コーディネー
タ・プロセッサとしても、また、応答側プロセッサとし
ても動作することができ、更には、それら3つの全とし
て動作することもできるようになっている。多くの「タ
スク・リクエスト/タスク応答」のサイクルが関与して
くるため、プロセッサ14、16及び18〜23、並び
にネットワーク50は、それらのタスクの間で多重化
(マルチプレクシング)されるが、ただしこの多重化
は、時間を基準にすると共に更に優先順位をも基準にし
て行なわれる。
〜23からネットワーク50へ、同時送出パケット群を
成すように送出され、そして1つの最優先メッセージ・
パケットが、所定のネットワーク遅延ののちに、全ての
プロセッサへブロードカストにより送り返される。それ
らのタスク結果パケットの転送は、そのタスクの性質に
応じて、最初にリクエスト・メッセージを発信した発信
元プロセッサをその転送先として行なわれることもあ
り、また、1個ないし複数個の他のプロセッサを転送先
として行なわれることもあり、更には、既に説明した複
数のマルチプロセッサ・モードのうちのいずれのモード
で転送を行なうこともできる。リレーショナル・データ
ベース・システムにおいて最も一般的に行なわれる事例
は、ハッシングを利用して転送先の選択を行ないつつ、
マージと再分配とを同時に実行するというものである。
従ってそのことからも理解されるように、「タスク・リ
クエスト/タスク応答」のサイクルの中では、各々のプ
ロセッサが、発信元プロセッサとしても、コーディネー
タ・プロセッサとしても、また、応答側プロセッサとし
ても動作することができ、更には、それら3つの全とし
て動作することもできるようになっている。多くの「タ
スク・リクエスト/タスク応答」のサイクルが関与して
くるため、プロセッサ14、16及び18〜23、並び
にネットワーク50は、それらのタスクの間で多重化
(マルチプレクシング)されるが、ただしこの多重化
は、時間を基準にすると共に更に優先順位をも基準にし
て行なわれる。
複雑な問合せの例 リレーショナル・データベース・システムにおいては、
ホスト・コンピュータ10、12を利用して、また更
に、タプル(tuples)と一次的データ及びバックアップ用
データの互いに素のデータ部分集合とを規定するアルゴ
リズムに従ってリレーショナル・データベースを複数の
ディスク・ドライブ38〜43の間に分配するようにし
た分配法を利用して、複雑な問合せがホスト・コンピュ
ータ10または12から、IFP14または16を介し
てシステムへ入力される。この入力された問合せのメッ
セージ・パケットは、先ず最初にIFP14または16
によって詳細に解析され、この解析は、ホスト・コンピ
ュータからのメッセージを、AMP18〜23に対して
タスクの実行を要求するための複数のタスク・リクエス
トへと変換するために行なわれるものである。IFP1
4ないし16は、その動作を開始するに際して、1個な
いし複数個の特定のAMPから情報を引き出すためのリ
クエスト・パケットを送出し、それによって、ホスト・
コンピュータからのメッセージの詳細な解析に必要なシ
ステム内データを得ることが必要な場合もある。ホスト
・コンピュータからのリクエストの処理に必要なデータ
を得たならば、IFP14ないし16は、AMP18〜
23との間で何回かの「タスク・リクエスト/タスク応
答」サイクルを実行することができ、また、データを実
際に処理して、ホスト・コンピュータからのリクエスト
を満足させることができる。以上の処理シーケンスにお
いては、上に挙げたタスク・リクエストとタスク応答と
から成るサイクルが用いられ、また、そのサイクルは任
意の長さに亙って継続することができる。続いて、IF
P14ないし16は、IFPインターフェイスを介して
ホスト・コンピュータと通信する。ホスト・コンピュー
タへのこの応答は、単に、ホスト・コンピュータ10ま
たは12が次の複雑な問合せを発生するために必要とす
るデータを提供するためのものであることもある。
ホスト・コンピュータ10、12を利用して、また更
に、タプル(tuples)と一次的データ及びバックアップ用
データの互いに素のデータ部分集合とを規定するアルゴ
リズムに従ってリレーショナル・データベースを複数の
ディスク・ドライブ38〜43の間に分配するようにし
た分配法を利用して、複雑な問合せがホスト・コンピュ
ータ10または12から、IFP14または16を介し
てシステムへ入力される。この入力された問合せのメッ
セージ・パケットは、先ず最初にIFP14または16
によって詳細に解析され、この解析は、ホスト・コンピ
ュータからのメッセージを、AMP18〜23に対して
タスクの実行を要求するための複数のタスク・リクエス
トへと変換するために行なわれるものである。IFP1
4ないし16は、その動作を開始するに際して、1個な
いし複数個の特定のAMPから情報を引き出すためのリ
クエスト・パケットを送出し、それによって、ホスト・
コンピュータからのメッセージの詳細な解析に必要なシ
ステム内データを得ることが必要な場合もある。ホスト
・コンピュータからのリクエストの処理に必要なデータ
を得たならば、IFP14ないし16は、AMP18〜
23との間で何回かの「タスク・リクエスト/タスク応
答」サイクルを実行することができ、また、データを実
際に処理して、ホスト・コンピュータからのリクエスト
を満足させることができる。以上の処理シーケンスにお
いては、上に挙げたタスク・リクエストとタスク応答と
から成るサイクルが用いられ、また、そのサイクルは任
意の長さに亙って継続することができる。続いて、IF
P14ないし16は、IFPインターフェイスを介して
ホスト・コンピュータと通信する。ホスト・コンピュー
タへのこの応答は、単に、ホスト・コンピュータ10ま
たは12が次の複雑な問合せを発生するために必要とす
るデータを提供するためのものであることもある。
(独立型マルチプロセッサシステム) 第1図に関連して先に説明した本発明に係るシステムの
基本的実施例は、ホスト・コンピュータ並びに現在使用
されているホスト・コンピュータ用のソフトウェア・パ
ッケージと組み合わせて使用することのできる、後置プ
ロセッサ(バックエンド・プロセッサ)の例を示すもの
である。しかしながら、既に言及したように、本発明は
広範な種々の処理用途において、また特に、大容量の中
央処理能力を必要とすることなく処理タスクを容易に細
分及び分配できるような種類の処理用途において、格別
の利点を有するものである。第20図は、本発明に係る
独立型(スタンド・アローン型)マルチプロセッサ・シ
ステムの簡単な構成の一実施例を図示している。第20
図において、複数のプロセッサ300はいずれもインタ
ーフェイス302を介して能動ロジック・ネットワーク
304へ接続されており、このネットワークは既に説明
したものと同様のネットワークである。データの完全性
を強化するために、冗長性を有する能動ロジック・ネッ
トワーク304を採用するようにしても良い。この実施
例においても、プロセッサ300には16ビット・マイ
クロプロセッサ・チップを使用することができ、また、
充分な容量のメインRAMメモリを組込むことができる
ようになっている。この図には9つのプロセッサ300
のみが示されており、また、それらのプロセッサの各々
には異なった種類の周辺機器が接続されているが、これ
は、このシステムの多用途性を示すためである。実際に
は、このシステムは更に多くのプロセッサをネットワー
クに備ええることによりはるかに効率的になるのである
が、しかしながら、比較的少数のプロセッサしか備えて
いない場合であっても、システムの信頼性とデータの完
全性と関して格別の利点が得られるものである。
基本的実施例は、ホスト・コンピュータ並びに現在使用
されているホスト・コンピュータ用のソフトウェア・パ
ッケージと組み合わせて使用することのできる、後置プ
ロセッサ(バックエンド・プロセッサ)の例を示すもの
である。しかしながら、既に言及したように、本発明は
広範な種々の処理用途において、また特に、大容量の中
央処理能力を必要とすることなく処理タスクを容易に細
分及び分配できるような種類の処理用途において、格別
の利点を有するものである。第20図は、本発明に係る
独立型(スタンド・アローン型)マルチプロセッサ・シ
ステムの簡単な構成の一実施例を図示している。第20
図において、複数のプロセッサ300はいずれもインタ
ーフェイス302を介して能動ロジック・ネットワーク
304へ接続されており、このネットワークは既に説明
したものと同様のネットワークである。データの完全性
を強化するために、冗長性を有する能動ロジック・ネッ
トワーク304を採用するようにしても良い。この実施
例においても、プロセッサ300には16ビット・マイ
クロプロセッサ・チップを使用することができ、また、
充分な容量のメインRAMメモリを組込むことができる
ようになっている。この図には9つのプロセッサ300
のみが示されており、また、それらのプロセッサの各々
には異なった種類の周辺機器が接続されているが、これ
は、このシステムの多用途性を示すためである。実際に
は、このシステムは更に多くのプロセッサをネットワー
クに備ええることによりはるかに効率的になるのである
が、しかしながら、比較的少数のプロセッサしか備えて
いない場合であっても、システムの信頼性とデータの完
全性と関して格別の利点が得られるものである。
この実施例においては、複数のプロセッサ300を不便
のない充分な距離をとって互いから物理的に離隔させる
ことができ、それは、データ転送速度が先の実施例につ
いて述べた速度である場合にノード間の最大間隔が28
フィート(5.5m)にもなるため、大規模なアレイを成す複
数のプロセッサを、建物の1つのフロア、ないしは隣接
する幾つかのフロアの上に、むやみに込み合うことのな
いように設置して、利用することができるからである。
のない充分な距離をとって互いから物理的に離隔させる
ことができ、それは、データ転送速度が先の実施例につ
いて述べた速度である場合にノード間の最大間隔が28
フィート(5.5m)にもなるため、大規模なアレイを成す複
数のプロセッサを、建物の1つのフロア、ないしは隣接
する幾つかのフロアの上に、むやみに込み合うことのな
いように設置して、利用することができるからである。
独立型システムでは、先に説明した後置プロセッサの実
施例の場合と比較して、周辺機器コントローラ並びに周
辺機器それ自体に、はるかに多くの種類のものが用いら
れる。ここでは便宜的に、個々の入出力デバイスは、夫
々が別個のプロセッサに接続さされているものとする。
例えば、キーボード312とディスプレイ314とを備
えた入出力端末装置310は、端末コントローラ320
を介して、同端末装置310のためのプロセッサ300
に接続されている。ただし、比較的動作速度が遅い端末
装置の場合には、かなりの規模の端末装置ネットワーク
を1個の16ビット・プロセッサで制御することも不可
能ではない。この図示の入出力端末装置は、手動操作キ
ーボード等の手動操作入力処理装置がどのようにしてシ
ステムに接続されるのかについての一例を示しているに
すぎない。プロセッサ300の処理能力を利用してこの
端末装置310をワードプロセッサとして構成すること
もでき、そしてこのワードプロセッサが、ネットワーク
304を介してデータベースや他のワードプロセッサ、
或いは種々の出力装置と通信できるようにすることもで
きる。例えばリジッド・ディスク・ドライブ322等の
大容量二次記憶装置を、ディスクコントローラ324を
介して、その記憶装置のためのプロセッサに接続するこ
とができる。また、容易に理解されるように、大規模シ
ステムには、より多数のディスク・ドライブを用いた
り、或いは異なった形態の大容量記憶装置を用いるよう
にすれば良い。プリンタ326並びにプロッタ330等
の出力装置は、夫々、プリンタ・コントローラ328と
プロッタ・コントローラ332とを介して、それらの出
力装置のためのプロセッサ300にインターフェイスし
ている。不図示の他のシステムとの間の対話は通信コン
トローラ338を介して、そして通信システム336を
経由して行なわれ、通信システム336としては例え
ば、テレタイプ・ネットワーク(TTY)や、更に大規
模なネットワークのうちの1つ(例えばエサーネット(E
thernet))等が用いられる。プロセッサ300のうちの
幾つかが、周辺装置を接続することなく単にネットワー
ク304に接続されることもある(不図示)。
施例の場合と比較して、周辺機器コントローラ並びに周
辺機器それ自体に、はるかに多くの種類のものが用いら
れる。ここでは便宜的に、個々の入出力デバイスは、夫
々が別個のプロセッサに接続さされているものとする。
例えば、キーボード312とディスプレイ314とを備
えた入出力端末装置310は、端末コントローラ320
を介して、同端末装置310のためのプロセッサ300
に接続されている。ただし、比較的動作速度が遅い端末
装置の場合には、かなりの規模の端末装置ネットワーク
を1個の16ビット・プロセッサで制御することも不可
能ではない。この図示の入出力端末装置は、手動操作キ
ーボード等の手動操作入力処理装置がどのようにしてシ
ステムに接続されるのかについての一例を示しているに
すぎない。プロセッサ300の処理能力を利用してこの
端末装置310をワードプロセッサとして構成すること
もでき、そしてこのワードプロセッサが、ネットワーク
304を介してデータベースや他のワードプロセッサ、
或いは種々の出力装置と通信できるようにすることもで
きる。例えばリジッド・ディスク・ドライブ322等の
大容量二次記憶装置を、ディスクコントローラ324を
介して、その記憶装置のためのプロセッサに接続するこ
とができる。また、容易に理解されるように、大規模シ
ステムには、より多数のディスク・ドライブを用いた
り、或いは異なった形態の大容量記憶装置を用いるよう
にすれば良い。プリンタ326並びにプロッタ330等
の出力装置は、夫々、プリンタ・コントローラ328と
プロッタ・コントローラ332とを介して、それらの出
力装置のためのプロセッサ300にインターフェイスし
ている。不図示の他のシステムとの間の対話は通信コン
トローラ338を介して、そして通信システム336を
経由して行なわれ、通信システム336としては例え
ば、テレタイプ・ネットワーク(TTY)や、更に大規
模なネットワークのうちの1つ(例えばエサーネット(E
thernet))等が用いられる。プロセッサ300のうちの
幾つかが、周辺装置を接続することなく単にネットワー
ク304に接続されることもある(不図示)。
双方向のデータ転送が行なわれる可能性があるのは、テ
ープ・ドライブ(テープ駆動機構)340及びテープ・
ドライブ・コントローラ342が用いられている場合、
それに、コントローラ346が接続されたフロッピ・デ
ィスク・ドライブ344が用いられている場合等であ
る。一般にテープ・ドライブは、オン・ライン接続して
使用する際の大きな記憶容量を提供するばかりでなく、
ディスク・ドライブのバックアップにも利用可能であ
る。このバックアップの目的には、密閉式リジッド・デ
ィスク装置に、ある時点までに格納されたデータを保存
するためにテープが用いられる。このようなバックアッ
プ動作は、通常、低負荷の時間帯(例えば夜間または週
末等)に行なわれるため、ネットワーク304を用いて
長い「ストリーミング」転送を行なうことができる。更
には、システムの初期設定の際のプログラムの入力のた
めには、フロッピ・ディスク・ドライブ344が使用さ
れることがあるため、ネットワークの使用時間のうちの
幾分かをこの「ストリーミング」のモードにあてて、か
なりの量のデータを転送することもできる。光学文字読
取器350は、更に別の入力データのソースとして機能
するものであり、その入力データは、そのコントローラ
352を介してシステムへ入力される。尚、単に「他の
装置354」とだけ記されている周辺装置は、コントロ
ーラ356を介してシステムに接続することによって、
必要に応じたその他の機能を発揮するようにすることが
できるものである。
ープ・ドライブ(テープ駆動機構)340及びテープ・
ドライブ・コントローラ342が用いられている場合、
それに、コントローラ346が接続されたフロッピ・デ
ィスク・ドライブ344が用いられている場合等であ
る。一般にテープ・ドライブは、オン・ライン接続して
使用する際の大きな記憶容量を提供するばかりでなく、
ディスク・ドライブのバックアップにも利用可能であ
る。このバックアップの目的には、密閉式リジッド・デ
ィスク装置に、ある時点までに格納されたデータを保存
するためにテープが用いられる。このようなバックアッ
プ動作は、通常、低負荷の時間帯(例えば夜間または週
末等)に行なわれるため、ネットワーク304を用いて
長い「ストリーミング」転送を行なうことができる。更
には、システムの初期設定の際のプログラムの入力のた
めには、フロッピ・ディスク・ドライブ344が使用さ
れることがあるため、ネットワークの使用時間のうちの
幾分かをこの「ストリーミング」のモードにあてて、か
なりの量のデータを転送することもできる。光学文字読
取器350は、更に別の入力データのソースとして機能
するものであり、その入力データは、そのコントローラ
352を介してシステムへ入力される。尚、単に「他の
装置354」とだけ記されている周辺装置は、コントロ
ーラ356を介してシステムに接続することによって、
必要に応じたその他の機能を発揮するようにすることが
できるものである。
別々のプロセッサ・モジュールから夫々のメッセージ・
パケットを互いに同時に送出し、そしてそれらのメッセ
ージ・パケットに対して優先権の判定を行なって、1つ
の、或いは共通の最優先メッセージ・パケットが所定の
一定の時間内に全てのプロセッサ・モジュールへ同時に
ブロードカストされるようにするという方式を使用して
いるため、オン・ライン状態にある個々のプロセッサの
いずれもが、このシステム内の他のプロセッサ・モジュ
ールに等しくアクセスできるようになっている。優先順
位を付与されたトランザクション・ナンバ並びにレディ
ネス状態表示と、メッセージ内に含まれた転送先選択エ
ントリとを利用しているこの大域的セマフォ・システム
によって、どのプロセッサもコントローラとして働くこ
とが可能となっているため、このシステムは、階層的な
方式でも、また非階層的な方式でも動作可能となってい
る。本システムが、ソフトウェアの精査や変更を必要と
することなく拡張或いは縮小することができるというこ
とも、非常に重要である。
パケットを互いに同時に送出し、そしてそれらのメッセ
ージ・パケットに対して優先権の判定を行なって、1つ
の、或いは共通の最優先メッセージ・パケットが所定の
一定の時間内に全てのプロセッサ・モジュールへ同時に
ブロードカストされるようにするという方式を使用して
いるため、オン・ライン状態にある個々のプロセッサの
いずれもが、このシステム内の他のプロセッサ・モジュ
ールに等しくアクセスできるようになっている。優先順
位を付与されたトランザクション・ナンバ並びにレディ
ネス状態表示と、メッセージ内に含まれた転送先選択エ
ントリとを利用しているこの大域的セマフォ・システム
によって、どのプロセッサもコントローラとして働くこ
とが可能となっているため、このシステムは、階層的な
方式でも、また非階層的な方式でも動作可能となってい
る。本システムが、ソフトウェアの精査や変更を必要と
することなく拡張或いは縮小することができるというこ
とも、非常に重要である。
既に説明したメッセージ長さよりかなり長いが、なお比
較的長さの限られているメッセージに対するアクセスが
必要な場合であっても、そのようなアクセスを実行する
ことができる。例を挙げれば、複雑なコンピュータ・グ
ラフィクス装置(不図示)に関して、精巧な2次元図形
及び3次元図形を作成するために、膨大なデータベース
の特定の部分にだけアクセスすることが必要とされる場
合がある。また、ワード・プロセッサ・システムに関し
て、オペレータ(操作者)の操作速度が遅いために、デ
ータベースのうちから、一度に僅かなデータのシーケン
スのみが必要とされる場合もある。これらの状況、並び
にそれに類似した状況においては、本システムの、可変
長のメッセージを取扱うことのできる能力、並びに継続
メッセージ優先権を付与することのできる能力が有益な
ものとなる。処理能力を集中させることを必要とする状
況や、甚だしく長いメッセージの転送を必要とする状況
は、このシステムの使用に限界を与えるが、それ以外の
状況においては、本システムは非常に有利に機能する。
種々の異なったデータ形式の操作とそれに伴なうのソー
ト機能ないしマージ機能に関わる動的な状況は、いずれ
も本発明が有利に機能する状況に該当する。複雑なデー
タを収集し、照合し、そして解析することを含む経営意
志決定はその種の状況の一例であり、また、定期刊行物
のための、映像入力や図形入力の作成及び偏集も、その
一例である。
較的長さの限られているメッセージに対するアクセスが
必要な場合であっても、そのようなアクセスを実行する
ことができる。例を挙げれば、複雑なコンピュータ・グ
ラフィクス装置(不図示)に関して、精巧な2次元図形
及び3次元図形を作成するために、膨大なデータベース
の特定の部分にだけアクセスすることが必要とされる場
合がある。また、ワード・プロセッサ・システムに関し
て、オペレータ(操作者)の操作速度が遅いために、デ
ータベースのうちから、一度に僅かなデータのシーケン
スのみが必要とされる場合もある。これらの状況、並び
にそれに類似した状況においては、本システムの、可変
長のメッセージを取扱うことのできる能力、並びに継続
メッセージ優先権を付与することのできる能力が有益な
ものとなる。処理能力を集中させることを必要とする状
況や、甚だしく長いメッセージの転送を必要とする状況
は、このシステムの使用に限界を与えるが、それ以外の
状況においては、本システムは非常に有利に機能する。
種々の異なったデータ形式の操作とそれに伴なうのソー
ト機能ないしマージ機能に関わる動的な状況は、いずれ
も本発明が有利に機能する状況に該当する。複雑なデー
タを収集し、照合し、そして解析することを含む経営意
志決定はその種の状況の一例であり、また、定期刊行物
のための、映像入力や図形入力の作成及び偏集も、その
一例である。
(結論) 当業者には明らかなように、第1図のシステムは、ソフ
トウェアを変更することを必要とせずにそこに含まれる
プロセッサの個数を任意の個数に(ただしデータ転送容
量によって決定される実際上の限界の個数までに)拡張
することが可能である。更にこれも明らかなことである
が、同図のシステムは、夫々の処理装置のステータスの
確認、タクス並びにプロセッサの優先順位の設定、それ
にプロセッサの処理能力の効率的な利用の確保のため
の、管理及びオーバーヘットのソフトウェアの必要量を
大幅に減少させている。
トウェアを変更することを必要とせずにそこに含まれる
プロセッサの個数を任意の個数に(ただしデータ転送容
量によって決定される実際上の限界の個数までに)拡張
することが可能である。更にこれも明らかなことである
が、同図のシステムは、夫々の処理装置のステータスの
確認、タクス並びにプロセッサの優先順位の設定、それ
にプロセッサの処理能力の効率的な利用の確保のため
の、管理及びオーバーヘットのソフトウェアの必要量を
大幅に減少させている。
明白な利益が得られるのは、データベース・システム
や、その他の、データベース・システムと同様に1つの
タスクの全体を、互いに独立して処理することのできる
複数のサブタスクへ細分することが適当なシステム等の
場合である。例えばリレーショナル・データベースに関
して言えば、二次記憶装置の容量が格段に増大した場合
にも、更なるデータベースを一次的データとバックアッ
プ・データとからなるデータ構造の中に適切に統合する
だけで良いのである。換言すれば、ネットワークを限り
なく拡張することが可能であり、それが可能であるの
は、標準化された交点装置即ちノードを2進数的に発展
して行く接続方式で連結しているために、それらの個々
のノードにおいて実行される機能が拡張によって変化す
ることがないからである。更には、ノードの動作につい
ての設定処理シーケンスや外部制御も不要である。従っ
て本発明に係るシステムが、第1図に示されているよう
に、1台ないし複数台のホスト・コンピュータのバック
エンド・プロセッサとして機能するように接続されてい
る場合には、システムのユーザはオペレーティング・シ
ステムのソフトウェアも、応用ソフトウェアも変更する
ことなしに、データベースを任意に拡張(或いは縮小)
することができる。ホスト・プロセッサ・システム(=
ホスト・コンピュータ)の側から見れば、このバックエ
ンド・プロセッサはその構成の如何にかかわらず「透明
な」ものとなっており、なぜならばその構成が変化して
もこのバックエンド・プロセッサとホスト・プロセッサ
・システムとの間の対話の態様には変化は生じないから
である。このバックエンド・プロセッサに別のホスト・
プロセッサ・システムの仕事をさせるように切り換える
ためには、単にIFPがその新たなホスト・プロセッサ
・システムのチャネルないしバスとの間で適切に会話す
るようにするだけで良い。
や、その他の、データベース・システムと同様に1つの
タスクの全体を、互いに独立して処理することのできる
複数のサブタスクへ細分することが適当なシステム等の
場合である。例えばリレーショナル・データベースに関
して言えば、二次記憶装置の容量が格段に増大した場合
にも、更なるデータベースを一次的データとバックアッ
プ・データとからなるデータ構造の中に適切に統合する
だけで良いのである。換言すれば、ネットワークを限り
なく拡張することが可能であり、それが可能であるの
は、標準化された交点装置即ちノードを2進数的に発展
して行く接続方式で連結しているために、それらの個々
のノードにおいて実行される機能が拡張によって変化す
ることがないからである。更には、ノードの動作につい
ての設定処理シーケンスや外部制御も不要である。従っ
て本発明に係るシステムが、第1図に示されているよう
に、1台ないし複数台のホスト・コンピュータのバック
エンド・プロセッサとして機能するように接続されてい
る場合には、システムのユーザはオペレーティング・シ
ステムのソフトウェアも、応用ソフトウェアも変更する
ことなしに、データベースを任意に拡張(或いは縮小)
することができる。ホスト・プロセッサ・システム(=
ホスト・コンピュータ)の側から見れば、このバックエ
ンド・プロセッサはその構成の如何にかかわらず「透明
な」ものとなっており、なぜならばその構成が変化して
もこのバックエンド・プロセッサとホスト・プロセッサ
・システムとの間の対話の態様には変化は生じないから
である。このバックエンド・プロセッサに別のホスト・
プロセッサ・システムの仕事をさせるように切り換える
ためには、単にIFPがその新たなホスト・プロセッサ
・システムのチャネルないしバスとの間で適切に会話す
るようにするだけで良い。
ある実機の具体例におけるネットワークの構成に拠れ
ば、ネットワーク内のメッセージ転送に甚だしい遅延を
生じることなく、またプロセッサ間の競合に起因する不
適当な遅延も生じることなしに、1つのアレイに102
4個までのマイクロプロセッサを包含して使用すること
ができるようなっている。本明細書で説明した実施例
を、1024個を超えるプロセッサを含むように拡張す
るにはどのようにすれば良いかは、当業者には明白であ
ろう。1つのシステムに1024個のプロセッサを用い
る場合、実機の具体例では能動ノード間の最大ライン長
さは28フィートになることが分っており、このライン
長さであればアレイを構成する上で問題が生じることは
ない。ネットワークに起因する庭延時間は、いかなるメ
ッセージについても一定の時間2τNであり、ここでτ
はバイト・クロックの間隔、Nは階層構造の中の階層の
数である。明らかに、階層を更に1つ増すことによって
プロセッサの個数を倍にしても、遅延時間は僅かに増加
するに過ぎない。データ・メッセージであれば略々必然
的に長いメッセージとなるため(約200バイト程度の
長さとなる)、また競合するメッセージの全てについて
の優先権の判定が、データをネットワークに沿って転送
している間に行なわれるため、このネットワークは従来
のシステムと比較して、はるかに高い利用効率でデータ
・メッセージの転送を行なえるものとなっている。
ば、ネットワーク内のメッセージ転送に甚だしい遅延を
生じることなく、またプロセッサ間の競合に起因する不
適当な遅延も生じることなしに、1つのアレイに102
4個までのマイクロプロセッサを包含して使用すること
ができるようなっている。本明細書で説明した実施例
を、1024個を超えるプロセッサを含むように拡張す
るにはどのようにすれば良いかは、当業者には明白であ
ろう。1つのシステムに1024個のプロセッサを用い
る場合、実機の具体例では能動ノード間の最大ライン長
さは28フィートになることが分っており、このライン
長さであればアレイを構成する上で問題が生じることは
ない。ネットワークに起因する庭延時間は、いかなるメ
ッセージについても一定の時間2τNであり、ここでτ
はバイト・クロックの間隔、Nは階層構造の中の階層の
数である。明らかに、階層を更に1つ増すことによって
プロセッサの個数を倍にしても、遅延時間は僅かに増加
するに過ぎない。データ・メッセージであれば略々必然
的に長いメッセージとなるため(約200バイト程度の
長さとなる)、また競合するメッセージの全てについて
の優先権の判定が、データをネットワークに沿って転送
している間に行なわれるため、このネットワークは従来
のシステムと比較して、はるかに高い利用効率でデータ
・メッセージの転送を行なえるものとなっている。
本システムの重要な経済上の特徴並びに動作上の特徴の
なかには、標準化された能動ロジック回路がソフトウェ
アの替わりに、そして更にはネットワーク・システムに
おけるファームウェアの替わりにも用いられているとい
う事実によって得られている特徴がある。即ちこの事実
によって、近代的なLSI並びにVLSIの技術を利用
してプロセッサのコストと周辺装置のコストとを含めた
全体のコストに対して相対的に低コストで、信頼性の高
い回路を組込むことができるようになっているのであ
る。
なかには、標準化された能動ロジック回路がソフトウェ
アの替わりに、そして更にはネットワーク・システムに
おけるファームウェアの替わりにも用いられているとい
う事実によって得られている特徴がある。即ちこの事実
によって、近代的なLSI並びにVLSIの技術を利用
してプロセッサのコストと周辺装置のコストとを含めた
全体のコストに対して相対的に低コストで、信頼性の高
い回路を組込むことができるようになっているのであ
る。
ソフトウェアに時間と経費とを費やさねばならないの
は、データベース管理等の問題領域のタスクに関係する
ような、重要な部分についてだけに限定されている。例
を挙げれば、本システムの構成に拠れば、データベース
の完全性を維持するために必要な諸機能の全てを、メッ
セージ・パケットの構成並びにネットワークの構成に基
づく範囲内で実行し得るようになっている。ポーリン
グ、ステータスの変更、並びにデータの復旧等の機能は
システムの内部において実行される。
は、データベース管理等の問題領域のタスクに関係する
ような、重要な部分についてだけに限定されている。例
を挙げれば、本システムの構成に拠れば、データベース
の完全性を維持するために必要な諸機能の全てを、メッ
セージ・パケットの構成並びにネットワークの構成に基
づく範囲内で実行し得るようになっている。ポーリン
グ、ステータスの変更、並びにデータの復旧等の機能は
システムの内部において実行される。
更に別の重要な考慮すべき点として、本発明のネットワ
ークは、その高速データ転送の性能が、従来のオーミッ
クな配線バスに充分匹敵する程に優れたものであるとい
うことがある。複数のメッセージ・パケットが互いに同
時に送出され、それらが伝送されている間に優先権の判
定がなされるため、従来の方式においてステータス・リ
クエストとそれに対する応答の送出、並びに優先権の判
定に伴なっていた遅延が、回避されているからである。
更には、プロセッサの個数が莫大な個数であってもノー
ド間の接続構造の長さを所定の長さ以下に抑えることが
可能であるため、バス内の伝播時間がデータ転送速度に
対する制約となることがない。
ークは、その高速データ転送の性能が、従来のオーミッ
クな配線バスに充分匹敵する程に優れたものであるとい
うことがある。複数のメッセージ・パケットが互いに同
時に送出され、それらが伝送されている間に優先権の判
定がなされるため、従来の方式においてステータス・リ
クエストとそれに対する応答の送出、並びに優先権の判
定に伴なっていた遅延が、回避されているからである。
更には、プロセッサの個数が莫大な個数であってもノー
ド間の接続構造の長さを所定の長さ以下に抑えることが
可能であるため、バス内の伝播時間がデータ転送速度に
対する制約となることがない。
本システムは、マイクロプロセッサ及びネットワークの
使用効率という点において最適状態に追るものであるこ
とが判明している。これらの点に関して重要なことは、
全てのマイクロプロセッサがビズィ状態に保たれるよう
にすることと、ネットワークが一杯に有効利用されるよ
うにすることである。「IFP−ネットワーク−AM
P」の構成は、事実上それらのことを可能にしており、
その理由は、自らが送出したメッセージ・パケットが優
先権を獲得するための競合において敗退したマイクロプ
ロセッサは、なるたけ早い適当な時刻に再度送信を試み
るだけで良く、そのためバスのデューティ・サイクルが
高いレベルに維持されるからである。高速ランダム・ア
クセス・メモリもまたこの効果を得るために寄与してお
り、なぜならば、高速ランダム・アクセス・メモリは処
理すべき入力メッセージ・パケットと送出すべき出力メ
ッセージ・パケットとの両方をその内部に集積している
ため、各々のプロセッサが作業のバックログを常時入手
できると共に、ネットワークもまたメッセージパケット
のバックログを入手できるようになっているからであ
る。全ての入力バッファが満杯になったならば、プロセ
ッサがその事実を知らせる表示をネットワーク上へ送出
する。また、IFPに用いられている、ホスト・コンピ
ュータからのメッセージを受取るための入力バッファが
満杯になったならば、そのことを知らせる表示がチャネ
ル上に送出される。従って本システムは、内部的にもま
た外部的にも自己調歩式となっている。
使用効率という点において最適状態に追るものであるこ
とが判明している。これらの点に関して重要なことは、
全てのマイクロプロセッサがビズィ状態に保たれるよう
にすることと、ネットワークが一杯に有効利用されるよ
うにすることである。「IFP−ネットワーク−AM
P」の構成は、事実上それらのことを可能にしており、
その理由は、自らが送出したメッセージ・パケットが優
先権を獲得するための競合において敗退したマイクロプ
ロセッサは、なるたけ早い適当な時刻に再度送信を試み
るだけで良く、そのためバスのデューティ・サイクルが
高いレベルに維持されるからである。高速ランダム・ア
クセス・メモリもまたこの効果を得るために寄与してお
り、なぜならば、高速ランダム・アクセス・メモリは処
理すべき入力メッセージ・パケットと送出すべき出力メ
ッセージ・パケットとの両方をその内部に集積している
ため、各々のプロセッサが作業のバックログを常時入手
できると共に、ネットワークもまたメッセージパケット
のバックログを入手できるようになっているからであ
る。全ての入力バッファが満杯になったならば、プロセ
ッサがその事実を知らせる表示をネットワーク上へ送出
する。また、IFPに用いられている、ホスト・コンピ
ュータからのメッセージを受取るための入力バッファが
満杯になったならば、そのことを知らせる表示がチャネ
ル上に送出される。従って本システムは、内部的にもま
た外部的にも自己調歩式となっている。
本システムは、以上に説明したようなアーキテクチャと
メッセージの構成とを利用することによって、汎用マル
チプロセッサ・システムに必要とされるその他の多くの
機能をも実行できるように構成されている。例えば従来
技術においては、大域的資源のステータスの変化を評価
及び監視するための方式に関して非常な注意が払われて
いた。これに対して本発明に拠れば、パリティ・エラー
の発生とプロセッサの使用可能性の変化という事実との
両方を伝達するための手段として、パリティ・チャネル
のみが備えられ使用されている。1個ないし複数個のプ
ロセッサがシャット・ダウンした場合には、そのシャッ
ト・ダウンが、その発生と略々同時にシステム中に伝達
され、それによって割込みシーケンスの実行を開始する
ことができるようになっている。複数の応答を優先順位
に従ってソートするという方式が採用されているため、
大域的な能力の変化が生じた場合にその変化がどのよう
な性質のものであるかを、従来と比較してはるかに小規
模の回路とシステム・オーバヘッドとによって特定する
ことが可能となっている。
メッセージの構成とを利用することによって、汎用マル
チプロセッサ・システムに必要とされるその他の多くの
機能をも実行できるように構成されている。例えば従来
技術においては、大域的資源のステータスの変化を評価
及び監視するための方式に関して非常な注意が払われて
いた。これに対して本発明に拠れば、パリティ・エラー
の発生とプロセッサの使用可能性の変化という事実との
両方を伝達するための手段として、パリティ・チャネル
のみが備えられ使用されている。1個ないし複数個のプ
ロセッサがシャット・ダウンした場合には、そのシャッ
ト・ダウンが、その発生と略々同時にシステム中に伝達
され、それによって割込みシーケンスの実行を開始する
ことができるようになっている。複数の応答を優先順位
に従ってソートするという方式が採用されているため、
大域的な能力の変化が生じた場合にその変化がどのよう
な性質のものであるかを、従来と比較してはるかに小規
模の回路とシステム・オーバヘッドとによって特定する
ことが可能となっている。
大域的セマフォと能動ロジック・ネットワークとを採用
したことによって達成されている、1回の問合せにより
優先権の判定を経て得られる大域的応答は、非常に深い
システム的な意味を持っている。この方式により問合せ
をブロードカストすることによって暖昧性のない一義的
な大域的結果が得られるため、複雑なソフトウェア並び
にオーバヘッドが不要とされている。分散型更新等のス
テータス設定動作は、多数の同時動作が複数の異なった
プロセッサで実行されている際にも実行可能となってい
る。
したことによって達成されている、1回の問合せにより
優先権の判定を経て得られる大域的応答は、非常に深い
システム的な意味を持っている。この方式により問合せ
をブロードカストすることによって暖昧性のない一義的
な大域的結果が得られるため、複雑なソフトウェア並び
にオーバヘッドが不要とされている。分散型更新等のス
テータス設定動作は、多数の同時動作が複数の異なった
プロセッサで実行されている際にも実行可能となってい
る。
本システムは更に、以上のようなネットワークとトラン
ザクション・ナンバと転送先選択ワードとを用いること
によって、マルチプロセッサ・システムにおける仕事の
分配並びに処理結果の収集に関する優れた能力を発揮し
ている。種々のマルチプロセッサ・モードと制御メッセ
ージとを利用することができ、また、優先順位プロトコ
ルを操作するだけで、優先順位の種々のレベルを容易に
設定しまた変更することができるようになっている。全
てのプロセッサへ同時にブロードカストすることのでき
る能力と、ネットワーク中でメッセージのソートを行な
える能力とが組み合わさることによって、いかなるプロ
セッサ・グループ或いはいかなる個々のプロセッサを転
送先することも可能となっていると共に、処理結果を適
切な順序で引き出すことも可能となっている。従って、
リレーショナル・データベース・システムに対する複雑
な問合せが入力されたならば、そのことによってデータ
ベース動作に必要なあらゆる処理シーケンスが開始され
るようになっている。
ザクション・ナンバと転送先選択ワードとを用いること
によって、マルチプロセッサ・システムにおける仕事の
分配並びに処理結果の収集に関する優れた能力を発揮し
ている。種々のマルチプロセッサ・モードと制御メッセ
ージとを利用することができ、また、優先順位プロトコ
ルを操作するだけで、優先順位の種々のレベルを容易に
設定しまた変更することができるようになっている。全
てのプロセッサへ同時にブロードカストすることのでき
る能力と、ネットワーク中でメッセージのソートを行な
える能力とが組み合わさることによって、いかなるプロ
セッサ・グループ或いはいかなる個々のプロセッサを転
送先することも可能となっていると共に、処理結果を適
切な順序で引き出すことも可能となっている。従って、
リレーショナル・データベース・システムに対する複雑
な問合せが入力されたならば、そのことによってデータ
ベース動作に必要なあらゆる処理シーケンスが開始され
るようになっている。
本システムの更に別の利点は、リレーショナル・データ
ベース・システム等のマルチプロセッサ・システムに、
容易に冗長性を導入できることにある。二重ネットワー
クと二重インターフェイスとを備えているため、一方の
ネットワークが何らかの原因で故障した場合にもシステ
ムが動作し続けられるようにする冗長性が得られてい
る。データベースを互いに素の一時的部分集合とバック
アップ用部分集合という形で分配してあるため、データ
喪失の確率が最小のレベルにまで低減されている。故障
が発生したり変更が加えられたりした場合にも、用途の
広い種々の制御機能が利用可能であるためにデータベー
スの完全性を維持し得るようになっている。
ベース・システム等のマルチプロセッサ・システムに、
容易に冗長性を導入できることにある。二重ネットワー
クと二重インターフェイスとを備えているため、一方の
ネットワークが何らかの原因で故障した場合にもシステ
ムが動作し続けられるようにする冗長性が得られてい
る。データベースを互いに素の一時的部分集合とバック
アップ用部分集合という形で分配してあるため、データ
喪失の確率が最小のレベルにまで低減されている。故障
が発生したり変更が加えられたりした場合にも、用途の
広い種々の制御機能が利用可能であるためにデータベー
スの完全性を維持し得るようになっている。
第1図は、新規な双方向ネットワークを含む、本発明に
係るシステムのブロック図である。 第2図および第2A図〜第2J図は、第1図に示された
簡単な構造の実施例のネットワークにおけるデータ信号
並びに制御信号の伝送の態様を示す、時間の経過に沿っ
た連続する一連の説明図であり、第2図は信号伝送の開
始前の時点における状態を示す図、また、第2A図〜第
2J図は、夫々、t=0からt=9までの連続する10
箇所の時点における時間標本の一つに対応している図で
ある。 第3図は、第1図に示されたシステムに採用されている
メッセージ・パケットの構成を図示する説明図である。 第4図は、第1図に示された新規な双方向ネットワーク
用いられている能動ロジック・ノード並びにクロック回
路に関する、同ネットワークの更なる細部構造を示すブ
ロック図である。 第5図は、前記能動ロジック・ノードの内部の様々な動
作状態を示す、状態図である。 第6図は、前記能動ロジック・ノードの内部において行
なわれるエンド・オブ・メッセージの検出動作を説明す
るためのタイミング・ダイアグラムである。 第7図は、第4図に示したクロック回路の動作を説明す
るための、タイミング波形のダイアグラムである。 第8図は、第1図に示したシステムに使用することでき
る、高速ランダム・アクセス・メモリを含むプロセッサ
・モジュールのブロック図である。 第9図は、第8図に示したマイクロプロセッサ・システ
ムのメインRAMの内部のアドレスの割当て状況を示す
図である。 第10図は、第8図に示された高速ランダム・アクセス
・メモリの、1つの参照部分の内部におけるデータの配
置態様のブロック図である。 第11図は、前記システムに用いられているメッセージ
の優先順位プロトコルを示すチャートである。 第12図は、トランザクション・ナンバのワード・フォ
ーマットを図示する説明図である。 第13図および第13A図は、第1図及び第8図に示し
たシステムの、その内部に備えられている各プロセッサ
モジュールに用いられているインターフェイス回路のブ
ロック図であり、第13図の右側に第13A図を置くこ
とによって1枚につながる図である。 第14図は、第13図のインターフェイス回路において
用いられている様々なクロック波形及びフェイズ波形を
図示するタイミング・ダイアグラムである。 第15図は、転送先選択ワードに基づいてマッピングを
行なうための、メモリ構成の更なる詳細とマッピングの
一方式とを図示するブロック図である。 第16図は、入力データ・メッセージを受信した際のス
テータスの変化を示す、簡略化したフローチャートであ
る。 第17図および第17A図は、メッセージの受信が行な
われているときのステータスの変化を示すフローチャー
トであり、第17図を第17A図の上縁部に接して並べ
ることにより1枚につながる図である。 第18図は、様々なプライマリ・メッセージとそれらに
対して発生される種々の応答との間の関係、並びに、様
々なプライマリ・メッセージとそれらに応答して実行さ
れる動作との間の関係を示す表である。 第19図および第19A図は、メッセージの送信が行な
われているときのステータスの変化を示すフローチャー
トであり、第19図を第19A図の上縁部に接して並べ
ることにより1枚につながる図である。 第20図は、本発明に係るスタンド・アローン型システ
ムのブロック図である。 第21図は第21A図及び第21B図から成り、前記高
速ランダム・アクセス・メモリに格納されているメッセ
ージを示す図である。 第22図は、データベース・システム内の複数の異なっ
たプロセッサの間にデータベースの夫々の部分を分配す
るための、分配方式の可能な一例を示す簡略化した模式
図である。 10、12……ホスト・コンピュータ、 14、16……インターフェイス・プロセッサ、 18〜23……アクセス・モジュール・プロセッサ、 24……マイクロプロセッサ、 26……高速ランダム・アクセス・メモリ、 28……制御ロジック、 32……ディスク・コントローラ、 38〜43……ディスク・ドライブ、 50……能動ロジック・ネットワーク構造、 54……ノード、 56……クロック・ソース、 120、120′……ネットワーク・インターフェイ
ス、 103……マイクロプロセッサ・システム。
係るシステムのブロック図である。 第2図および第2A図〜第2J図は、第1図に示された
簡単な構造の実施例のネットワークにおけるデータ信号
並びに制御信号の伝送の態様を示す、時間の経過に沿っ
た連続する一連の説明図であり、第2図は信号伝送の開
始前の時点における状態を示す図、また、第2A図〜第
2J図は、夫々、t=0からt=9までの連続する10
箇所の時点における時間標本の一つに対応している図で
ある。 第3図は、第1図に示されたシステムに採用されている
メッセージ・パケットの構成を図示する説明図である。 第4図は、第1図に示された新規な双方向ネットワーク
用いられている能動ロジック・ノード並びにクロック回
路に関する、同ネットワークの更なる細部構造を示すブ
ロック図である。 第5図は、前記能動ロジック・ノードの内部の様々な動
作状態を示す、状態図である。 第6図は、前記能動ロジック・ノードの内部において行
なわれるエンド・オブ・メッセージの検出動作を説明す
るためのタイミング・ダイアグラムである。 第7図は、第4図に示したクロック回路の動作を説明す
るための、タイミング波形のダイアグラムである。 第8図は、第1図に示したシステムに使用することでき
る、高速ランダム・アクセス・メモリを含むプロセッサ
・モジュールのブロック図である。 第9図は、第8図に示したマイクロプロセッサ・システ
ムのメインRAMの内部のアドレスの割当て状況を示す
図である。 第10図は、第8図に示された高速ランダム・アクセス
・メモリの、1つの参照部分の内部におけるデータの配
置態様のブロック図である。 第11図は、前記システムに用いられているメッセージ
の優先順位プロトコルを示すチャートである。 第12図は、トランザクション・ナンバのワード・フォ
ーマットを図示する説明図である。 第13図および第13A図は、第1図及び第8図に示し
たシステムの、その内部に備えられている各プロセッサ
モジュールに用いられているインターフェイス回路のブ
ロック図であり、第13図の右側に第13A図を置くこ
とによって1枚につながる図である。 第14図は、第13図のインターフェイス回路において
用いられている様々なクロック波形及びフェイズ波形を
図示するタイミング・ダイアグラムである。 第15図は、転送先選択ワードに基づいてマッピングを
行なうための、メモリ構成の更なる詳細とマッピングの
一方式とを図示するブロック図である。 第16図は、入力データ・メッセージを受信した際のス
テータスの変化を示す、簡略化したフローチャートであ
る。 第17図および第17A図は、メッセージの受信が行な
われているときのステータスの変化を示すフローチャー
トであり、第17図を第17A図の上縁部に接して並べ
ることにより1枚につながる図である。 第18図は、様々なプライマリ・メッセージとそれらに
対して発生される種々の応答との間の関係、並びに、様
々なプライマリ・メッセージとそれらに応答して実行さ
れる動作との間の関係を示す表である。 第19図および第19A図は、メッセージの送信が行な
われているときのステータスの変化を示すフローチャー
トであり、第19図を第19A図の上縁部に接して並べ
ることにより1枚につながる図である。 第20図は、本発明に係るスタンド・アローン型システ
ムのブロック図である。 第21図は第21A図及び第21B図から成り、前記高
速ランダム・アクセス・メモリに格納されているメッセ
ージを示す図である。 第22図は、データベース・システム内の複数の異なっ
たプロセッサの間にデータベースの夫々の部分を分配す
るための、分配方式の可能な一例を示す簡略化した模式
図である。 10、12……ホスト・コンピュータ、 14、16……インターフェイス・プロセッサ、 18〜23……アクセス・モジュール・プロセッサ、 24……マイクロプロセッサ、 26……高速ランダム・アクセス・メモリ、 28……制御ロジック、 32……ディスク・コントローラ、 38〜43……ディスク・ドライブ、 50……能動ロジック・ネットワーク構造、 54……ノード、 56……クロック・ソース、 120、120′……ネットワーク・インターフェイ
ス、 103……マイクロプロセッサ・システム。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーチン・キヤメロン・ワトソン アメリカ合衆国カリフオルニア州ノースリ ツジ・キヤブリオール・アベニユー11112 (72)発明者 デビツド・クロンシヨウ アメリカ合衆国カリフオルニア州トラン ス・タワーズ・ストリート5635 (72)発明者 ジャック・エバード・シエマー アメリカ合衆国カリフォルニア州ロス・ア ンゼルス・オーシャーノ・ドライブ270
Claims (6)
- 【請求項1】互いに同時に送出され互いに競合する複数
のメッセージを受取るネットワーク・システムのため
の、双方向分岐ノード回路であって、 1つの双方向上流側ポート回路と2つの双方向下流側ポ
ート回路とを備え、それらのポート回路の各々は、パラ
レルなデータ・ラインとコリジョン・ラインとを含んで
おり、 前記下流側ポート回路に接続されたロジック手段を備
え、該ロジック手段は、下流側ポートで受取った互いに
競合する2つの上流方向メッセージのうちの1つを、そ
れらのメッセージの内容によって規定される所定の優先
権規約に従って優先権の付与を行なうことによって、上
流側ポートへと転送するための手段であり、 前記上流側ポート回路と前記下流側ポート回路とを接続
し、且つ上流側ポートで受取ったメッセージに応答して
当該メッセージを双方の下流側ポートへ伝送する手段を
備え、 前記ロジック手段、前記上流側ポート回路、及び前記下
流側ポート回路に接続されている制御手段を備え、該制
御手段は、2つの上流方向メッセージの間の優先権の付
与に応答して、敗退した側のコリジョン・ラインに当該
ポートで受取ったメッセージではない方のメッセージに
優先権が付与されたことを表示する信号を送出するため
の手段であると共に、このノード回路の上流側ポートの
コリジョン・ラインで受取った信号を転送するための手
段である、 ノード回路。 - 【請求項2】前記ポート回路の各々が、該ポート回路へ
の入力のためのクロック・ラインと該ポート回路からの
出力のためのクロック・ラインとを含み、前記ノード回
路が更に、それらのクロック・ラインに接続されたクロ
ック・タイミング手段を含んでいる、請求項1記載のノ
ード回路。 - 【請求項3】前記ロジック手段の各々が、該ロジック手
段において行なわれる優先権の選択に応じて、該ロジッ
ク手段を通過する伝送経路を2つの可能な状態のうちの
一方の状態へと設定するための手段を含んでいる、請求
項2記載のノード回路。 - 【請求項4】前記ロジック手段を、2つの可能な伝送経
路が存在する初期状態へとリセットするための手段を更
に含んでいる、請求項3記載のノード回路。 - 【請求項5】前記制御手段が、メッセージの終了に応答
して該制御手段をリセットするための手段を更に含んで
いる、請求項2記載のノード回路。 - 【請求項6】前記ノード回路がその前記ポートの各々ご
とに、複数の上流方向データ・ライン及び下流方向デー
タ・ライン、並びに少なくとも1つのパリティ・ライン
を含んでおり、且つ、前記上流側ポートのコリジョン・
ラインが、該上流側ポートからのコリジョン信号の終了
に際して前記制御手段をリセットするように接続されて
いる、請求項5記載のノード回路。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US250094 | 1981-04-01 | ||
| US06/250,022 US4412285A (en) | 1981-04-01 | 1981-04-01 | Multiprocessor intercommunication system and method |
| US250022 | 1981-04-01 | ||
| US06/250,094 US4445171A (en) | 1981-04-01 | 1981-04-01 | Data processing systems and methods |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57052374A Division JPS57201931A (en) | 1981-04-01 | 1982-04-01 | Data processing apparatus and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02140035A JPH02140035A (ja) | 1990-05-29 |
| JPH0619762B2 true JPH0619762B2 (ja) | 1994-03-16 |
Family
ID=26940538
Family Applications (13)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1234492A Granted JPH02132560A (ja) | 1981-04-01 | 1989-09-07 | リレーショナル・データベース・マシン、データベース・コンピュータ・システム及びデータベース管理システムとその方法 |
| JP1234498A Expired - Lifetime JPH0619762B2 (ja) | 1981-04-01 | 1989-09-07 | ネットワーク・システムのためのノード回路 |
| JP1234501A Expired - Lifetime JP2555451B2 (ja) | 1981-04-01 | 1989-09-07 | マルチプロセッサ・システムにおけるメッセ−ジ・パケットのマ−ジ方法 |
| JP1234495A Expired - Lifetime JPH0792791B2 (ja) | 1981-04-01 | 1989-09-07 | マルチプロセッサ・システムにおけるメッセージ通信制御システム |
| JP1234500A Expired - Lifetime JPH0750463B2 (ja) | 1981-04-01 | 1989-09-07 | マルチプロセッサ・システムにおけるメッセージ送信及び受信方法 |
| JP1234497A Expired - Lifetime JPH0750462B2 (ja) | 1981-04-01 | 1989-09-07 | マルチプロセッサ・システム |
| JP1234499A Granted JPH02118709A (ja) | 1981-04-01 | 1989-09-07 | データ伝送システム及びクロッキングシステム |
| JP1234493A Granted JPH02118747A (ja) | 1981-04-01 | 1989-09-07 | メッセージ伝送ネットワーク、バス・ネットワーク、及びメッセージを複数のプロセッサヘブロードカストする方法 |
| JP1234494A Expired - Lifetime JP2607696B2 (ja) | 1981-04-01 | 1989-09-07 | マルチプロセッサシステム及びその利用方法 |
| JP1234496A Expired - Lifetime JP2560118B2 (ja) | 1981-04-01 | 1989-09-07 | コンピュ−ティング・システム |
| JP1234491A Expired - Lifetime JP2555450B2 (ja) | 1981-04-01 | 1989-09-07 | マルチプロセッサ・システム |
| JP3263082A Expired - Lifetime JP2628811B2 (ja) | 1981-04-01 | 1991-09-12 | マルチプロセッサ・システムにおけるタスクの処理及びメッセージの送受信制御方法 |
| JP3263081A Expired - Lifetime JP2651473B2 (ja) | 1981-04-01 | 1991-09-12 | マルチプロセッサ・システムにおけるメッセージの通信制御方法 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1234492A Granted JPH02132560A (ja) | 1981-04-01 | 1989-09-07 | リレーショナル・データベース・マシン、データベース・コンピュータ・システム及びデータベース管理システムとその方法 |
Family Applications After (11)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1234501A Expired - Lifetime JP2555451B2 (ja) | 1981-04-01 | 1989-09-07 | マルチプロセッサ・システムにおけるメッセ−ジ・パケットのマ−ジ方法 |
| JP1234495A Expired - Lifetime JPH0792791B2 (ja) | 1981-04-01 | 1989-09-07 | マルチプロセッサ・システムにおけるメッセージ通信制御システム |
| JP1234500A Expired - Lifetime JPH0750463B2 (ja) | 1981-04-01 | 1989-09-07 | マルチプロセッサ・システムにおけるメッセージ送信及び受信方法 |
| JP1234497A Expired - Lifetime JPH0750462B2 (ja) | 1981-04-01 | 1989-09-07 | マルチプロセッサ・システム |
| JP1234499A Granted JPH02118709A (ja) | 1981-04-01 | 1989-09-07 | データ伝送システム及びクロッキングシステム |
| JP1234493A Granted JPH02118747A (ja) | 1981-04-01 | 1989-09-07 | メッセージ伝送ネットワーク、バス・ネットワーク、及びメッセージを複数のプロセッサヘブロードカストする方法 |
| JP1234494A Expired - Lifetime JP2607696B2 (ja) | 1981-04-01 | 1989-09-07 | マルチプロセッサシステム及びその利用方法 |
| JP1234496A Expired - Lifetime JP2560118B2 (ja) | 1981-04-01 | 1989-09-07 | コンピュ−ティング・システム |
| JP1234491A Expired - Lifetime JP2555450B2 (ja) | 1981-04-01 | 1989-09-07 | マルチプロセッサ・システム |
| JP3263082A Expired - Lifetime JP2628811B2 (ja) | 1981-04-01 | 1991-09-12 | マルチプロセッサ・システムにおけるタスクの処理及びメッセージの送受信制御方法 |
| JP3263081A Expired - Lifetime JP2651473B2 (ja) | 1981-04-01 | 1991-09-12 | マルチプロセッサ・システムにおけるメッセージの通信制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (13) | JPH02132560A (ja) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0522488B1 (en) * | 1991-07-10 | 2002-02-20 | Hitachi, Ltd. | Method of sorting on distributed database system and method of accessing thereto |
| JPH0540472U (ja) * | 1991-11-07 | 1993-06-01 | 大建工業株式会社 | 外装材取付け部材 |
| JP2638441B2 (ja) * | 1993-09-09 | 1997-08-06 | 日本電気株式会社 | リレー式ファイル転送方式 |
| JP2843768B2 (ja) * | 1994-08-22 | 1999-01-06 | 日本電気株式会社 | データベースアクセス制御方式 |
| DE102004013629B4 (de) * | 2004-03-19 | 2023-06-01 | Volkswagen Ag | Kommunikationssystem für ein Kraftfahrzeug |
| JP5093986B2 (ja) * | 2005-01-19 | 2012-12-12 | 富士通株式会社 | プロセッサ間通信方法及びプロセッサ間通信装置 |
| JP5738811B2 (ja) * | 2012-08-29 | 2015-06-24 | 京セラドキュメントソリューションズ株式会社 | マルチプロセッシングシステムにおけるオブジェクト間通信装置 |
| JP5738812B2 (ja) * | 2012-08-29 | 2015-06-24 | 京セラドキュメントソリューションズ株式会社 | マルチプロセッシングシステムにおけるオブジェクト間通信装置 |
| US20210048991A1 (en) * | 2019-08-13 | 2021-02-18 | Nvidia Corporation | Performing matrix operations in neural networks |
| CN113487151A (zh) * | 2021-06-23 | 2021-10-08 | 广东润建电力科技有限公司 | 基于5g消息的智能用电与需求侧响应方法、系统及装置 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS615177B2 (ja) * | 1975-01-16 | 1986-02-17 | Hitachi Ltd | |
| US4251879A (en) | 1979-05-02 | 1981-02-17 | Burroughs Corporation | Speed independent arbiter switch for digital communication networks |
| JPS589624B2 (ja) * | 1979-07-03 | 1983-02-22 | 日本電信電話株式会社 | 同報通信方式 |
| US4412285A (en) * | 1981-04-01 | 1983-10-25 | Teradata Corporation | Multiprocessor intercommunication system and method |
| JPH0697823B2 (ja) * | 1988-07-15 | 1994-11-30 | 三菱電機株式会社 | 電動機及びその製造方法 |
-
1989
- 1989-09-07 JP JP1234492A patent/JPH02132560A/ja active Granted
- 1989-09-07 JP JP1234498A patent/JPH0619762B2/ja not_active Expired - Lifetime
- 1989-09-07 JP JP1234501A patent/JP2555451B2/ja not_active Expired - Lifetime
- 1989-09-07 JP JP1234495A patent/JPH0792791B2/ja not_active Expired - Lifetime
- 1989-09-07 JP JP1234500A patent/JPH0750463B2/ja not_active Expired - Lifetime
- 1989-09-07 JP JP1234497A patent/JPH0750462B2/ja not_active Expired - Lifetime
- 1989-09-07 JP JP1234499A patent/JPH02118709A/ja active Granted
- 1989-09-07 JP JP1234493A patent/JPH02118747A/ja active Granted
- 1989-09-07 JP JP1234494A patent/JP2607696B2/ja not_active Expired - Lifetime
- 1989-09-07 JP JP1234496A patent/JP2560118B2/ja not_active Expired - Lifetime
- 1989-09-07 JP JP1234491A patent/JP2555450B2/ja not_active Expired - Lifetime
-
1991
- 1991-09-12 JP JP3263082A patent/JP2628811B2/ja not_active Expired - Lifetime
- 1991-09-12 JP JP3263081A patent/JP2651473B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02138656A (ja) | 1990-05-28 |
| JP2555450B2 (ja) | 1996-11-20 |
| JPH05324573A (ja) | 1993-12-07 |
| JPH0750462B2 (ja) | 1995-05-31 |
| JPH02118756A (ja) | 1990-05-07 |
| JPH02118760A (ja) | 1990-05-07 |
| JPH0245221B2 (ja) | 1990-10-08 |
| JP2560118B2 (ja) | 1996-12-04 |
| JPH0426726B2 (ja) | 1992-05-08 |
| JPH0413739B2 (ja) | 1992-03-10 |
| JPH02140035A (ja) | 1990-05-29 |
| JPH02118763A (ja) | 1990-05-07 |
| JP2607696B2 (ja) | 1997-05-07 |
| JPH02118762A (ja) | 1990-05-07 |
| JPH02118709A (ja) | 1990-05-07 |
| JPH0792791B2 (ja) | 1995-10-09 |
| JP2651473B2 (ja) | 1997-09-10 |
| JPH02132560A (ja) | 1990-05-22 |
| JPH05290002A (ja) | 1993-11-05 |
| JPH02118759A (ja) | 1990-05-07 |
| JP2555451B2 (ja) | 1996-11-20 |
| JPH02118747A (ja) | 1990-05-07 |
| JPH02118761A (ja) | 1990-05-07 |
| JP2628811B2 (ja) | 1997-07-09 |
| JPH0750463B2 (ja) | 1995-05-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4543630A (en) | Data processing systems and methods | |
| EP0069438B1 (en) | A multiprocessor system, a system and method for intercommunicating between processors, a system for effecting data transfer, a system for controlling routing of messages, and an arrangement for ascertaining a global state of readiness of a system | |
| US4945471A (en) | Message transmission system for selectively transmitting one of two colliding messages based on contents thereof | |
| US4814979A (en) | Network to transmit prioritized subtask pockets to dedicated processors | |
| EP0234803B1 (en) | Method for the dynamic partitioning of parallel processors | |
| Agrawal et al. | An efficient and fault-tolerant solution for distributed mutual exclusion | |
| JPH04271454A (ja) | 疎結合計算機システム | |
| JPS6170654A (ja) | 分散処理システムにおける資源管理方式 | |
| JP2555450B2 (ja) | マルチプロセッサ・システム | |
| US7539995B2 (en) | Method and apparatus for managing an event processing system | |
| CA1198523A (en) | Multi-processor intercommunication system and method | |
| Concepcion | Trans. Nat. Acad. Sci & Tech.(Phils.) 1987.9: 51� 63 | |
| Sharma | Robust Replication Control Using Primary Copy Method |