JPH02118760A - Multi-processor system and utilization thereof - Google Patents

Multi-processor system and utilization thereof

Info

Publication number
JPH02118760A
JPH02118760A JP1234494A JP23449489A JPH02118760A JP H02118760 A JPH02118760 A JP H02118760A JP 1234494 A JP1234494 A JP 1234494A JP 23449489 A JP23449489 A JP 23449489A JP H02118760 A JPH02118760 A JP H02118760A
Authority
JP
Japan
Prior art keywords
processor
message
network
processors
messages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1234494A
Other languages
Japanese (ja)
Other versions
JP2607696B2 (en
Inventor
Philip M Neches
フイリツプ・マルコム・ネチス
David H Hartke
デビツド・ヘンリイ・ハートク
Richard C Stockton
リチヤード・クラレンス・ストツクトン
Martin C Watson
マーチン・キヤメロン・ワトソン
David Cronshaw
デビツド・クロンシヨウ
Jack E Shemer
ジヤツク・エバード・シエマー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Teradata Corp
Original Assignee
Teradata Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US06/250,094 external-priority patent/US4445171A/en
Priority claimed from US06/250,022 external-priority patent/US4412285A/en
Application filed by Teradata Corp filed Critical Teradata Corp
Publication of JPH02118760A publication Critical patent/JPH02118760A/en
Application granted granted Critical
Publication of JP2607696B2 publication Critical patent/JP2607696B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE: To simultaneously operate plural processors and to surely execute an unequivocal operation without fuzziness by permitting a network to collectively inspect all readiness states on a prescribed task or event and selecting one most preferential message. CONSTITUTION: The network 50 and plural micro-processors can be used as address locators locating transaction numbers to a part allocated for storing the status of a transaction in a memory 26. When an inquiry is received from the network 50, the status of the processor is communicated and priority on it is judged in the network 50. At that time, priority is given to the readiness state whose completion degree is the lowest. Thus, speedy responses in terms of hardware from all the processors for one inquiry can be obtained.

Description

【発明の詳細な説明】 (産業上の利用分野) マルチプロセッサシステム及びその利用方法に関するも
のである。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a multiprocessor system and a method of using the same.

(従来の技術) 高い信頼性を備えた形式の電子計算機(エレクトロニッ
ク・コンピュータ)が出現して以来、この技術分野に従
事する者が考察を重ねてきたシステムに、複数のコンピ
ュータを使用するシステムであってそれらのコンピュー
タが相互に関連性を保ちつつ動作することによって、所
与の1つのタスクの全体が実行されるようにしたシステ
ムがある。そのようなマルチプロセッサ・システムのう
ちのあるシステムでは、1つの大型コンピュータが、そ
れ自身の優れた速度と容量とを利用してプログラムの複
雑な部分を実行すると共に、複雑さの程度の低いタスク
や緊急度の低いタスクについては、それを小型で速度の
遅い衛星プロセッサに委任しく割当て)、それによって
、この大型コンピュータの負担やこの大型コンピュータ
に対するリクエストの量が減少するようにしたものがあ
る。この場合、大型コンピュータは、サブタスクの割当
てを行なうこと、小型プロセッサ(=上記衛星プロセッ
サ)を常に作動状態に保つこと、それらの小型プロセッ
サの使用可能性と動作効率とを確認すること、それに統
一された結果が得られるようにすることを担当しなけれ
ばならない。
(Prior Art) Ever since the emergence of highly reliable electronic computers, those working in this technical field have repeatedly considered systems that use multiple computers. There is a system in which a single given task is executed as a whole by having these computers operate in a manner that maintains a relationship with each other. In some such multiprocessor systems, one large computer takes advantage of its own superior speed and capacity to execute complex parts of a program and also perform less complex tasks. (delegating less urgent tasks to smaller, slower satellite processors), thereby reducing the burden on the large computer and the amount of requests made to the large computer. In this case, the large computer is responsible for allocating subtasks, for keeping the small processors (=satellite processors mentioned above) always operational, for checking the availability and operating efficiency of these small processors, and for unifying them. The organization must be responsible for ensuring that the results obtained are achieved.

以上とは別の方式を採用している別種のマルチプロセッ
サ・システムのなかには、多数のプロセッサと1つの共
通バス・システムとを使用するシステムであってそれら
の複数のプロセッサには本質的に互いに等しい機能が付
与されているシステムがある。この種のシステムにおい
ては、しばしば、他の部分からは独立した制御用コンピ
ュータないし制御システムを用いて、所与のサブタスク
に関する個々のプロセッサの使用可能性並びに処理能力
を監視することと、プロセッサ間のタスク及び情報の転
送経路を制御することとが行なわれている。また、プロ
セッサそれ自体が、他のプロセッサのステータス並びに
利用可能性の監視と、メツセージ及びプログラムの転送
経路の決定とを行なえるように、夫々のプロセッサの構
成及び動作が設定されているものもある。以上の種々の
システムに共通する重大な欠点は、オーバーヘッド機能
及び保守機能を実行するために、ソフトウェアが必要と
され且つ動作時間が消費されるということにあり、そし
てそれによって、本来の目的の実行に影響が及ぶことに
なる。転送経路の決定及び監視に関する仕事量が、それ
らの仕事に関与するプロセッサの総数の2次の関数で増
加して、ついにはオーバーヘッド機能のために不適当な
迄の努力が費やされるようになることもある。
Another type of multiprocessor system that uses a different approach is one that uses multiple processors and a common bus system, where the processors are essentially identical to each other. There are systems that have this functionality. These types of systems often use a control computer or system that is independent of the rest of the system to monitor the availability and processing power of individual processors for a given subtask, and to The task and information transfer route are controlled. Additionally, each processor may be configured and operated such that it can itself monitor the status and availability of other processors and route messages and programs. . A significant drawback common to the various systems described above is that software is required and operating time is consumed to perform overhead and maintenance functions, thereby preventing the performance of the intended purpose. will be affected. The amount of work involved in determining and monitoring forwarding paths increases quadratically with the total number of processors involved in those tasks, until an inappropriate amount of effort is expended on overhead functions. There is also.

以下の数件の特許公報は従来技術の例を示すものである
The following several patent publications are illustrative of prior art.

米国特許公報第3,962,685号 −ベル・イール(Belle l5le)同第:l、9
1i2,706号 −デニス(Dennis)地間第4
.Q’16,566号 −ボーリー(じorie)地間
第4,096,567号 −ミラート(Millard
)他同第4,130,8[i5号 −ハート(Hear
t)地間第4,136,386号 一アヌーンチアータ(Annunziata)地間第4
.145.739号 −ダニング(Dunning)地
間第4.151,592号 −スズキ(Suzuki)
他初朋のバイナック(”Binac  : 2個の互い
にパラレルに接続されたプロセッサを用いる)や、それ
に類似した種々のシステムが使用されていた頃から既に
、マルチプロセッサ方式は冗長性を備えた実行能力を提
供するものであって、そのため動作するシステムの全体
の信頼性を著しく向上させ得るものであるということが
認識されていた。実際にマルチプロセッサ・システムを
構成するということに対しては、これまでのところ、か
なりの制約が存在しているが、その制約は主としてソフ
トウェアが膨大なものとなってしまうことに起因する制
約である。にもかかわらず、例えばリアルタイムの用途
等のように、システムのダウンタイム(運転休止時間)
が容認され得ないような種々の状況においては、マルチ
プロセッサ動作が特に有利であるため、これまでに様々
なマルチプロセッサ・システムが開発されてきたが、た
だし、それらのシステムは動作自体は良好であるが、オ
ーバーヘッドのためにソフトウェアと動作時間のかなり
の分量を割かなければならないものであった。そのよう
な従来のシステムは、米国特許公報第3.445,82
2号、同第3,566.363号、及び同i:l、59
3,300号にその具体例が示されている。これらの特
許公報はいずれも、複数のコンビエータがそれらの間で
共用される1つのメイン・メモリをアクセスするように
したシステムに関するものであり、このシステムにおい
ては更に、タスクを個々のプロセッサに好適に割当てる
ために、処理能力と処理要求量とが比較されるようにな
っている。
U.S. Patent Publication No. 3,962,685 - Belle 15le, No. 1, 9
1i2,706 - Dennis Chima No. 4
.. Q'16,566 - Jorie Ground No. 4,096,567 - Millard
) and others No. 4,130,8 [i5-Hear
t) Chima No. 4,136,386 1 Annunziata Chima No. 4
.. No. 145.739 - Dunning No. 4.151,592 - Suzuki
Already around the time when Hatsuhitomo's Binac (using two processors connected in parallel) and various similar systems were used, multiprocessor systems were known to provide redundant execution capabilities. It was recognized that this could significantly improve the overall reliability of the operating system. To date, there have been considerable limitations, primarily due to the sheer size of the software. downtime (outage time)
Since multiprocessor operation is particularly advantageous in various situations where the However, overhead required a significant amount of software and operating time. Such a conventional system is described in U.S. Patent Publication No. 3.445,82.
No. 2, No. 3,566.363, and i:l, 59
A specific example is given in No. 3,300. These patent publications all relate to systems in which multiple combinators access a single main memory that is shared among them, and in which they further distribute tasks to individual processors. In order to make an allocation, processing capacity and processing demand are compared.

従来技術の更に別の例としては、米国特許公報第4,0
99,233号がある。この公報のシステムでは、複数
のプロセッサが1つのバスを共用しており、また、バッ
ファ・レジスタを内蔵している制御ユニットを用いて送
信側ミニプロセッサと受信側ミニプロセッサとの間のデ
ータ・ブロックの転送が行なわれる。このシステムのコ
ンセプトは、欧州において分散型の郵便物分類システム
に利用されている。
Yet another example of prior art is U.S. Pat.
There is No. 99,233. In the system of this publication, multiple processors share one bus, and a control unit with built-in buffer registers is used to transfer data blocks between the sending and receiving miniprocessors. transfer is performed. This system concept is used in Europe for a decentralized mail sorting system.

米国特許公報第4,228,496号は、商業的に成功
したマルチプロセッサ・システムに関するものであり、
このシステムでは、複数のプロセッサの間に設けられた
複数のバスがバス・コントローラに接続されており、こ
のバス・コントローラが、データ送出状況の監視と、プ
ロセッサ間で行なわれる複数のデータ転送に対する優先
順位の判定を行なっている。また、各々のプロセッサは
、複数の周辺装置のうちのある1つの装置を制御するよ
うに接続可能となっている。
U.S. Pat. No. 4,228,496 relates to a commercially successful multiprocessor system,
In this system, multiple buses provided between multiple processors are connected to a bus controller, and this bus controller monitors the data transmission status and prioritizes multiple data transfers between processors. Ranking is being determined. Furthermore, each processor can be connected to control one of the plurality of peripheral devices.

ゼロックス、ヒユーレット・パラカード、及びインテル
によって共同で推進されている「イーサネット」システ
ムじEthernet” system )  (米国
特許公報第4,083.220号及び同第4.099,
024号)は、複数のプロセッサ並びに周辺袋はの間の
相互通信の問題に対処するための、更に別の方式を提示
している。全てのユニット(+=プロセッサや周辺装置
等)はそれらのユニットの間で共用される多重アクセス
・ネットワークに接続されており、そしてそれらのユニ
ットは優先権を獲得すべく互いに競合することになる。
"Ethernet" system jointly promoted by Xerox, Hewlett-Paracard, and Intel (U.S. Pat. No. 4,083.220 and U.S. Pat. No. 4.099)
No. 024) presents yet another approach to addressing the problem of intercommunication between multiple processors as well as peripheral bags. All units (+=processors, peripherals, etc.) are connected to a multiple access network that is shared among them, and the units will compete with each other for priority.

衝突検出は時刻優先方式で行なわれており、そのために
、大域的な処理能力を制御することと、コーデイネート
することと、明確に把握することとが、容易でなくなっ
ている。
Collision detection is performed in a time-first manner, which makes global processing power difficult to control, coordinate, and articulate.

以上に説明した種々のシステムをそれらの細部まで完全
に理解するためには、以上に言及した特許公報やその他
の関連参考文献を詳細に分析する必要がある。しかしな
がら、タスクの分担が行なわれる場合にはそれらのシス
テムはいずれも、データ転送に関する優先権の判定やプ
ロセッサの選択を行なうために膨大な量の相互通信と管
理制御とが必要とされるということだけは、簡単に概観
するだけでも理解されよう。システムを拡張して更に多
くのプロセッサを含むようにする場合にどのような問題
が発生するかは異なったシステムの夫々ごとに違ってく
るため一様ではないが、しかしながら以上のシステムは
いずれも、そのような拡張を行なえばシステム・ソフト
ウェアや応用プログラミング、ハードウェア、或いはそ
れら3つの全てが複雑化することになる。また、若干の
考察により理解されることであるが、1組ないし2組の
論理的に受動的なオーミック・バスが採用されているた
めに、それに固有の制約がマルチプロセッサ・システム
の規模と能力とに対して課せられている。相互通信をよ
り容易に行なえるようにするために採用可能な技法には
様々なものがあり、その−例としては、最近発行された
米国特許公報第4,240,143号に示されていると
ころの、サブシステムを大域的資源にグループ分けする
という技法等があるが、しかしながら、非常に多くのプ
ロセッサが用いられている場合には当然のことながら利
用できるトラフィックの量はその限界に達してしまい、
また、遅延時間が様々な値を取るということによって、
克服し難い問題が生じている。1個ないし複数個のプロ
セッサがロック・アウト状態ないしデッドロック状態に
なるという状況か発生することもあり、そのような状況
に対処するには、問題を解決するための更なる回路とソ
フトウェアとが必要とされる。以上から、プロセッサの
個数を、例えば1024個というような個数にまで大幅
に拡張することは、従来は実際的でなかったことが明ら
かである。
In order to fully understand the various systems described above in their details, it is necessary to analyze in detail the patent publications mentioned above and other related references. However, when task sharing is used, these systems all require a significant amount of intercommunication and administrative control to determine priority and select processors for data transfers. This can be understood from a simple overview. The problems encountered when expanding a system to include more processors vary from system to system, but all of the above systems Such expansions add complexity to the system software, application programming, hardware, or all three. Also, as will be appreciated with some consideration, the use of one or two logically passive ohmic buses imposes inherent limitations on the size and power of multiprocessor systems. is imposed on. There are a variety of techniques that can be employed to make intercommunication easier; an example is shown in recently issued U.S. Pat. No. 4,240,143. However, there are techniques such as grouping subsystems into global resources, but when a large number of processors are used, the amount of traffic that can be used naturally reaches its limit. Sisters,
Also, since the delay time takes various values,
An insurmountable problem has arisen. Situations may occur where one or more processors become locked out or deadlocked, and handling such situations requires additional circuitry and software to resolve the problem. Needed. From the above, it is clear that conventionally it was not practical to significantly expand the number of processors to, for example, 1024 processors.

多くの様々な応用用途において、以上に説明した既存の
諸技法の制約から逃れて、最新の技法を最大源に利用す
ることが望まれている。現在採用可能な技法のうちで最
も低コストの技法は、大量生産されているマイクロプロ
セッサと、大容量の回転ディスク型の記憶装置とを基礎
とした技法であり、そのような記憶装置の例としては、
密閉式ケースの内部においてヘッドとディスクとの間の
間隔を非常に小さいものとした、ウィンチエスタ・テク
ノロジー製の装置等がある。マルチプロセッサ・システ
ムを拡張するに際しては、ソフトウェアが不適当な迄に
複雑化することなくシステムを拡張できることが要望さ
れており、更には、ソフトウェアがその拡張に伴なって
複雑化することが全くないようにして拡張できることす
ら要望されている。また更に、機能の全体を、限定され
たないしは反復して実行される複数の処理タスクへと動
的に細分できる分散型構造をもつような特徴を有する計
算機問題を処理できる能力が要望されている。略々全て
のデータベース・マシンが、そのような問題分野に属し
ており、また、この問題分野には更に、ソート処理、パ
ターンの認識及び相関算出処理、デジタル・フィルタリ
ング処理、大規模マトリクスの計算処理、物理的な系の
シュミレーション、等々のその他の典型的な問題例も含
まれる。これらのいずれの処理が行なわれる状況におい
ても、個々に処理される複数のタスクを比較的簡明なも
のとし、しかもそれらのタスクを広範に分散することが
要求され、そのため、瞬間的タスク負荷が大きなものと
なる。そのような状況が、従来のマルチプロセッサ・シ
ステムに非常な困難を伴なわせていたのであり、その理
由は、そのような状況はオーバーヘッドに費やされる時
間とオーバーヘッドのためのソフトウェアの量とを増大
させる傾向を有していること、並びに、システムを構成
する上で実際上の支障が生じてくることにある。例えば
受動的な共用バスが採用されている場合には、伝播速度
並びにデータ転送所要時間が、トランザクションを処理
する上での可能処理速度に対する絶対的な障壁を成して
いる。
In many different applications, it is desirable to escape the limitations of existing techniques described above and take full advantage of the latest techniques. The lowest-cost techniques currently available are those based on mass-produced microprocessors and large-capacity rotating disk storage devices, such as teeth,
There is a device manufactured by Winchiesta Technology that has a very small gap between the head and the disk inside a closed case. When expanding a multiprocessor system, it is desirable to be able to expand the system without unduly complicating the software, and furthermore, to ensure that the software does not become complicated at all as the expansion occurs. There is even a demand for the ability to expand in this way. Furthermore, there is a need for the ability to process computer problems characterized by a distributed structure in which the overall functionality can be dynamically subdivided into multiple processing tasks that are performed in a limited or iterative manner. . Almost all database machines belong to such problem areas, and this problem area also includes sorting, pattern recognition and correlation calculations, digital filtering, and large-scale matrix calculations. , simulation of physical systems, and other typical problem examples are also included. In any situation where any of these processes is performed, it is necessary to keep the multiple tasks to be processed individually relatively simple and to distribute these tasks over a wide range, which results in a large instantaneous task load. Become something. Such a situation has been very difficult for traditional multiprocessor systems because it increases the amount of time spent on overhead and the amount of software for overhead. This is due to the fact that it has a tendency to cause problems, and that it causes practical problems in configuring the system. For example, when a passive shared bus is employed, propagation speed and data transfer time are absolute barriers to the possible processing speed of processing transactions.

従ってデータベース・マシンは、マルチプロセッサ・シ
ステムの改良が必要とされていることの好い例である。
Database machines are therefore a good example of the need for improvements in multiprocessor systems.

大規模データベース・マシンを構成する上での基本的な
方式にはこれまでに3種類の方式が提案されており、そ
れらは、階層方式、ネットワーク方式、それにリレーシ
ョナル方式である。これらのうちでリレーショナル方式
のデータベース・マシンは、関係(リレーション)を示
す表を用いることによって、ユーザが複雑な系の中の所
与のデータに容易にアクセスできるようにするものであ
り、この方式のマシンは、強力な潜在能力を有するもの
であると認識されている。この従来技術について説明し
ている代表的な刊行物には、例えばI EEEコンピュ
ータ・マガジンの1979年3月号の第28頁に掲載さ
れている、D、C,P、スミス並びにJ、M、スミスに
よる「リレーショナル・データベース・マシン」という
表題の論文(article entitled ”R
e1ationalData Ba5e Machin
e 、 publishedby D、C,l’Sm1
th and J、M、 Sm1th、 in the
 March 1979issue  of  TEE
E  Computer  magazine、  p
、  28  )  、米国特許公報第4,221,0
03号、並びに同公報中に引用されている諸論文等があ
る。
Three basic methods for configuring large-scale database machines have been proposed so far: a hierarchical method, a network method, and a relational method. Among these, relational database machines allow users to easily access given data in a complex system by using tables that show relationships. machines are recognized as having powerful potential. Representative publications describing this prior art include, for example, IEEE Computer Magazine, March 1979 issue, page 28, by D.C.P. Smith and J.M. Smith's article entitled "Relational Database Machines"
e1ationalData Ba5e Machine
e, published by D, C, l'Sm1
th and J, M, Sm1th, in the
March 1979 issue of TEE
E Computer magazine, p.
, 28), U.S. Patent Publication No. 4,221,0
No. 03, as well as various papers cited in the same publication.

また、ソーティング・マシンは、コンピユーテイング・
アーキテクチャの改良が必要とされていることの好い例
である。ソーティング・マシン理論の概説は、D、E、
クヌース(に口uth)著「サーチング及びソーティン
グ」の第220〜第246頁(”Searching 
and Sorting″by D、E、 Knuth
The sorting machine is also a computing
This is a great example of the need for architectural improvements. An overview of sorting machine theory can be found in D., E.
"Searching and Sorting" by Knuth, pages 220-246.
and Sorting″by D, E, Knuth
.

pp、220−246. published (19
73) by Addison−Wesley Pub
lishingCo、、 Reading、 Mass
achu−setts)に記載されている。この文献に
は様々なネットワーク並びにアルゴリズムが開示されて
おり、それらの各々に付随する制約を理解するためには
それらを詳細に考察しなけらばならないか、たたしそれ
らについて−数的に言えることは、それらはいずれも、
ソーティングという特定の目的だけを指向した、特徴的
に複雑な方式であるということである。更に別の例とし
て、L、A、モラー (L、A、Mo1laar )に
よって提示されているものがあり、これは、N EEE
・トランザクシミン・オン・コンピュータJ、C−28
巻、第6号(1979年6月)、第406〜413頁に
掲載されている「リスト・マーラング・ネットワークの
構造」という表題の論文(article entit
led”A  Design  for  a  Li
5t  Merging  Network″、  1
nthe  IEEE  Transactions 
 on  Computers、  Vol。
pp, 220-246. published (19
73) by Addison-Wesley Pub
lishingCo,, Reading, Mass
achu-setts). Various networks and algorithms are disclosed in this literature, and in order to understand the constraints attached to each of them one must consider them in detail, or if one can say about them numerically. The thing is, they are all
It is a characteristically complex method that is aimed only at the specific purpose of sorting. Yet another example is that presented by L.A. Mollar, which
・Transaximin on Computer J, C-28
vol., No. 6 (June 1979), pages 406-413.
led”A Design for a Li
5t Merging Network'', 1
nthe IEEE Transactions
on Computers, Vol.

C−28No、 8. June 1979 at p
p、 406−413 )に記載されている。この論文
に提案されているネットワークにおいては、ネットワー
クのマージ・エレメントを外部から制御するという方式
が採用されており、また、このネットワークは、特殊な
機能を実行するためのプログラミングを必要としている
C-28No, 8. June 1979 at p
p., 406-413). In the network proposed in this paper, the merge elements of the network are controlled externally, and the network requires programming to perform special functions.

汎用のマルチプロセッサ・システムが実行することがで
きなければならない諸機能には、種々の方式でサブタス
クを分配する機能、サブタスクを実行しているプロセッ
サのステータスを確認する機能、メツセージのマージと
ソートを行なう機能、データを訂正及び変更する機能、
それに、いつ及びどのように資源が変化したかを(例え
ば、あるプロセッサがいつオンラインから外れ、いつオ
ンラインに復帰したかを)確認する機能等がある。以上
のような機能を実行するために、これまでは、オーバー
ヘットのための過大なソフトウェアとハードウェアとを
用いる必要があった。
Functions that a general-purpose multiprocessor system must be able to perform include the ability to distribute subtasks in various ways, the ability to determine the status of processors executing subtasks, and the ability to merge and sort messages. functions to perform, correct and change data;
Additionally, there is the ability to see when and how resources change (eg, when a processor goes off-line and comes back on-line), and so on. In order to perform the functions described above, it has heretofore been necessary to use excessive software and hardware for overhead.

−例を挙げるならば、例えばデータベース・マシン等の
マルチプロセッサ・システムにおいては、プロセッサ間
のメツセージの転送経路を指定するに際して、特定の1
つのプロセッサを転送先として選択したり、或いは1つ
のクラスに属する複数のプロセッサを選択したり、また
更には、プロセッサそのものを指定するのではなく、ハ
ツシュ方式等によってプロセッサに分配されているデー
タベースの部分を指定するという方法で、転送先プロセ
ッサを選択するということが、しばしば必要となる。公
知のシステムの中には前置通信シーケンスを利用してい
るものがあり、それによって送信側プロセッサと、1個
或いは複数の特定の受信側プロセッサとの間のリンケー
ジを確立するようにしている。このリンケージを確立す
るためにはリクエストや肯定応答を何回も反復して送出
しなければならず、また起こり得るデッドロック状態を
克服するために、更なるハードウェア並びにソフトウェ
アを使用しなければならない。前置通信シーケンスを利
用していないシステムでは、1つのプロセッサによって
、或いはバス・コントローラによって管制が行なわれて
おり、この管制は、送信側プロセッサが送信準備完了状
態にあること、受信側プロセッサが受信準備完了状態に
あること、これらのプロセッサの間のリンケージからそ
の他のプロセッサが締め出されていること、並びに無関
係な送信が行なわれていないことを、確認するためのも
のである。この場合にもまた、オーバーヘッドに依存す
ることと、デッドロックを回避するために複雑とならざ
るを得ないこととによって、システムを拡弓長する(イ
列えばプロセッサの個数を16個以上にする)につれて
保守機能が不適当な迄に膨張してしまうのである。
- For example, in a multiprocessor system such as a database machine, when specifying a message transfer route between processors, a specific
Rather than selecting one processor as the transfer destination, or selecting multiple processors belonging to one class, or even specifying the processor itself, parts of the database that are distributed to the processors by hashing etc. It is often necessary to select a destination processor by specifying the destination processor. Some known systems utilize pre-communication sequences to establish a linkage between a transmitting processor and one or more particular receiving processors. Establishing this linkage requires sending requests and acknowledgments many times over, and additional hardware and software must be used to overcome possible deadlock conditions. . In systems that do not utilize prefix communication sequences, control is provided by a single processor or by a bus controller, and this control is performed by ensuring that the transmitting processor is ready to transmit and that the receiving processor is ready to receive the signal. This is to ensure that they are ready, that other processors are locked out of the linkage between them, and that no extraneous transmissions are occurring. In this case, too, the dependence on overhead and the complexity required to avoid deadlocks make the system larger (more than 16 processors in a row). As a result, the maintenance function becomes inappropriately expanded.

最近のマルチプロセッサ・システムに要求されている要
件の更に別の例として、1個或いは複数個のプロセッサ
によって実行されているサブタスクのステータスを、シ
ステムが確実に判定するための方法に関係するものがあ
る。基本的に要求されている点は、所与のプロセッサに
対してそのプロセッサのステータスについての問合せを
行なう能力を備えていなければならないということであ
り、しかも、そのステータスがその問合せよって影害を
及ぼされることがないように、且つ、応答の内容に多義
性が生じることがないように、その問合せが行なわれな
ければならないということである。ステータス表示のテ
ストとセットとを中断のない一連の操作として行なう機
能を特徴的に表わすための用語として、現在当業界にお
いては「セマフt (5elIlaphore) Jと
いう用語が使用されている。このセマフォという特徴を
備えていることは望ましいことであるが、ただし、この
特徴を組込むに際しては、実行効率の低下やオーバーヘ
ッドの負荷の増加を伴なわないようにしなければならな
い。このようなステータスの判定は、更にマルチプロセ
ッサ・システムにおいてソート/マージ動作を実行する
際に極めて重要なものとなるが、それは、大きなタスク
の中に含まれている複数のサブタスクの夫々の処理結果
を組み合わせるためには、それらのサブタスクが適切に
処理完了された後でなければ1つに組み合わせることが
できないからである。更に別の要件として、プロセッサ
がその「現在」ステータスを報告できなければならない
こと、そしてサブタスクの実行は、マルチプロセッサの
動作シーケンスに対して割込みと変更とが繰返されても
、ただ1回だけ行なわれるようにしなければならないと
いうことがある。
Yet another example of the requirements placed on modern multiprocessor systems concerns how the system reliably determines the status of subtasks being executed by one or more processors. be. The basic requirement is that it must be possible to query a given processor about its status, and that the status must not be affected by the query. This means that the inquiry must be made in such a way that no errors occur and no ambiguity arises in the content of the response. The term "semaphore" is currently used in the industry to characteristically express the function of testing and setting status displays as a series of uninterrupted operations. However, it is desirable to incorporate this feature without reducing execution efficiency or increasing overhead. Determining such status is Furthermore, which is extremely important when performing sort/merge operations in multiprocessor systems, it is necessary to combine the processing results of multiple subtasks contained within a larger task. This is because the subtasks can only be combined into one after they have been properly completed.A further requirement is that the processor must be able to report its "current" status, and that the execution of the subtasks It may be necessary to ensure that interruptions and changes to the multiprocessor operating sequence occur only once, even if they are repeated.

殆どの既存のシステムでは、プロセッサの実行ルーチン
が中断可能とされているためにこの点に関して重大な問
題が生じている。即ち、容易に理解されることであるが
、複数のプロセッサが互いに関連を有する複数のサブタ
スクを実行しているような場合には、それらの個々のプ
ロセッサのレディネス状態の程度(=どのような動作が
可能な状態にあるかの程度)についての問合せとそれに
対する応答とに関わる動作シーケンスが膨大なオーバー
ヘッドを必要とすることがあり、しかも、そのための専
用のオーバーヘッドは、プロセッサの個数が増大するに
従っていよいよ不適当なまでに増大する。
Most existing systems present a significant problem in this regard because the processor's execution routines are interruptible. In other words, as is easily understood, when multiple processors are executing multiple subtasks that are related to each other, the degree of readiness (=what kind of operation) of each processor is The sequence of operations involved in querying and responding to queries regarding the extent to which It has finally grown to an inappropriate level.

(発明が解決しようとする問題点) 以上に述べたところの例を示す従来のマルチプロセッサ
・システムにおける典型的な短所は、いわゆる「分散更
新」の問題に関するものであり、この問題は即ち、複数
個の処理装置の各々にそのコピーが格納されている情報
を更新する必要があるということである。ここで言う情
報とは、データ・レコードから成る情報の場合もあり、
また、システムの動作を制御するために用いられる情報
の場合もある。このシステムの動作の制御とは、例えば
、必要なステップが誤って重複実行されたり全く実行さ
れなかフたりすることのないようにして、処理が開始さ
れ、停止され、再開され、時中断され、或いはロール・
バックないしロール・フォワードされるようにすること
等の制御のことである。従来のシステムにおいては、分
散更新の問題の種々の解決法はいずれもかなりの制約を
伴なうものであった。それらの解決法の中には、−度に
2個のプロセッサだけを対象としているに過ぎないもの
もある。また更に別の解決法として相互通信プロトコル
を利用しているものも幾つかあるが、それらのプロトコ
ルは非常に複雑なため、現在でも、それらのプロトコル
が適切なものであることを数学的厳密さをもって証明す
ることには非常な困難が伴なっている。
(Problem to be Solved by the Invention) A typical shortcoming in conventional multiprocessor systems, such as those described above, is related to the so-called "distributed update" problem, in which multiple This means that the information, a copy of which is stored on each of the processing units, needs to be updated. The information referred to here may be information consisting of data records;
It may also be information used to control the operation of the system. Controlling the operation of this system means, for example, that processes are started, stopped, restarted, and interrupted, so that necessary steps are not inadvertently executed twice or not at all. Or roll
This refers to control such as making it move backward or roll forward. In conventional systems, the various solutions to the distributed update problem all have significant limitations. Some of these solutions target only two processors at a time. Still other solutions have been developed using intercommunication protocols, but these protocols are so complex that even today their suitability cannot be tested using mathematical rigor. It is extremely difficult to prove this.

それらのプロトコルか複雑になっている原因は、「大域
的セマフォ」を構成している、中断さわるごとのない1
回の動作により全てのプロセッサにおいて「テスト・ア
ンド・セット」されるという外面的性質を持つ制御ビッ
トを、備える必要かあるということにある。斯かる制御
ビットが複数の別々のプロセッサの内部に夫々に設けら
れ、しかもそれらのプロセッサの間の通信に付随する遅
延時間がまちまちであるため、不可避的に不完全なもの
となり得る通信チャネルによってノイズが発生され、ま
た更にエラーの発生率も増大することになる。従って「
中断されることのない1回の動作」という特徴を備える
ことは、その1つの動作を構成している複数の部分々々
が、夫々に多種多様で、しかも中断可能であり、そして
それらを同時にはアクセスすることができず、更にはそ
れらがアクセスとアクセスとの間に不調を生じがちであ
る場合には、困難を伴なうものであるということが、当
業者には容易に理解されよう。
The complexity of these protocols is due to the uninterruptible
There is a need to provide a control bit that has the external property of being ``tested and set'' in all processors by a single operation. Because such control bits are located within multiple separate processors, and because of the varying delay times associated with communication between those processors, noise is introduced by the communication channel, which can inevitably be imperfect. will be generated, and the error rate will also increase. Therefore, “
The characteristic of "a single uninterrupted operation" means that the multiple parts that make up one operation are diverse and can be interrupted, and that they can be performed at the same time. It will be readily appreciated by those skilled in the art that difficulties arise when access is not possible and, moreover, they are prone to problems between accesses. .

(問題点を解決するための手段) 本発明は、要約すれは、複数のプロセッサを互いに同時
に動作させることによって曖昧性のない一義的な動作を
確実に行なわせ、しかも、それらのプロセッサがある1
つのタスクないしイベントに関するレディネス状態を曖
昧性のない一義的な方式で外部的に表示するようにした
、システム及び方法を提供するものである。ネットワー
クが、所与の1つのタスクないしイベントに関する全て
のレディネス状態をまとめて検査し、そして1つの最優
先メツセージを選択するというネットワーク自身の能力
によって、大域的レディネス状態を判定するようになっ
ている。
(Means for Solving the Problems) In summary, the present invention allows a plurality of processors to operate simultaneously to ensure unambiguous and unambiguous operation, and furthermore, the present invention is capable of reliably performing unambiguous and unambiguous operations by causing a plurality of processors to operate simultaneously.
The present invention provides a system and method for externally displaying the readiness status of a single task or event in an unambiguous and unambiguous manner. The network determines global readiness by its own ability to collectively examine all readiness states for a given task or event and select a single highest priority message. .

(作用) 以上のことは、ネットワークと局所的プロセッサのイン
ターフェイスとメツセージの構成との相互作用によって
可能とされており、なぜならば、同時送出される複数の
応答がソートされることによって、最低のレディネス状
態が指定されるからである。対酸的テスト・アンド・セ
ットというコンセブトを利用することによって、本シス
テムは同期した時刻を持つことが可能となっており、そ
れにより1つのプログラムの複数の異なった部分におけ
る複数の変数が、互いに同一の時刻に、曖昧性のない一
義的な状態を取ることを強制されるようになっている。
(Operation) The above is made possible by the interaction between the network and local processor interfaces and message configurations, since multiple simultaneous responses are sorted to minimize readiness. This is because the state is specified. By using the acid-resistant test-and-set concept, the system is able to have synchronized time, so that variables in different parts of a program can be kept in sync with each other. It is now forced to assume an unambiguous, unambiguous state at the same time.

(以下余白) (実施例) 以下、この発明の実施例を図面を参照して説明する。(Margin below) (Example) Embodiments of the present invention will be described below with reference to the drawings.

(データベース管理システム) 第1図に総括的に示されているシステムは、本発明の概
念をデータベース管理に応用したものを具体例として示
すものである。更に詳細に説明すると、このシステムは
一つまたは複数のホスト・コンピュータ・システム10
.12と協働するように構成されており、それらのホス
ト・コンピュータ・システムは、例えば18M370フ
アミリーまたはDEC−PDP−11フアミリーに属す
るコンピュータ・システム等であって、この具体例の目
的に沿うように既存の一般的なオペレーティング・シス
テム及び応用ソフトウェアで動作するようになっている
。IBMの用語法に拠れば、ホスト・コンピュータ・と
データベース・コンピュータとの間の主要相互通信回線
網はチャネルと呼ばれており、また同じものがDECの
用語法に1処れば「ユニバス」または「マスバス」或い
はそれらの用語を多少変形した用語で口重はれている。
(Database Management System) The system generally shown in FIG. 1 is a concrete example of the application of the concept of the present invention to database management. More specifically, the system includes one or more host computer systems 10.
.. 12, the host computer systems being, for example, computer systems belonging to the 18M370 family or the DEC-PDP-11 family, for the purposes of this example. It is designed to work with existing common operating systems and application software. According to IBM nomenclature, the main intercommunication network between a host computer and a database computer is called a channel, and the same thing is called a ``unibus'' or ``unibus'' under DEC nomenclature. The term ``mass bus'' or a slightly modified version of these terms is widely used.

以上のコンピュータ・システムのうちのいずれかが用い
られるにせよ、或いは他のメーカーのメインフレーム・
コンピュータが用いられるにせよ、このチャネル、即ち
バスは、そこへデータベース・タスク及びサブタスクが
送出されるところのオーミックな転送経路、即ち論理的
に受動的な転送経路である。
Whether one of the above computer systems is used, or another manufacturer's mainframe
Regardless of the computer used, this channel or bus is an ohmic or logically passive transfer path to which database tasks and subtasks are sent.

第1図の具体例は、ホスト・システム1o112に組み
合わされたバックエンド・プロセッサ複合体を示してい
る。この図のシステムは、タスク及びサブタスクをホス
ト・システムから受入れ、莫大なデータベース記憶情報
のうちの該当する部分を参照し、そして適切な処理済メ
ツセージ或いは応答メツセージを返すというものであり
、それらの動作は、このバックエンド・プロセッサ複合
体の構成の如何にかかわらず、それ程高度ではないソフ
トウェアによる管理以外は、ホスト・システムには要求
されない方式で実行されるようになっている。従って、
ユーザのデータベースをs″斤たな方式のマルチプロセ
ッサ・システムとして構成することが可能とされており
、このマルチプロセッサ・システムにおいては、データ
を、容量を大幅に拡張することのできるリレーショナル
・データベース・ファイルとして組織することができ、
しかもこの拡張は、ユーザのホスト・システムの内部に
備えられているオペレーティング・システムや既存の応
用ソフトウェアを変更する必要なしに行なうことができ
るようになっている。独立システム(スタンド・アロー
ン・システム)として構成した具体例について、以下に
第20図を参照しつつ説明する。
The example of FIG. 1 shows a backend processor complex associated with host system 1o112. The system in this figure accepts tasks and subtasks from a host system, refers to the appropriate portions of a vast database of stored information, and returns appropriate processed or response messages. Regardless of the configuration of this back-end processor complex, it is intended to be performed in a manner that requires no other than less sophisticated software management from the host system. Therefore,
It is possible to configure the user's database as a multiprocessor system using the ``s'' method, and in this multiprocessor system, data can be stored in relational databases that can greatly expand capacity. Can be organized as files,
Furthermore, this expansion can be done without the need to change the operating system or existing application software provided within the user's host system. A specific example configured as an independent system (stand-alone system) will be described below with reference to FIG. 20.

当業者には理解されるように、リレーショナル・データ
ベース管理に関する動作機能は、1つの動作機能の全体
を、少なくとも一時的には他から独立して処理可能な複
数の処理タスクへと分割することができるような動作機
能である。その理由は、リレーショナル・データベース
では記憶されている複数のデータ・エントリがアドレス
・ポインタによって相互依存的に連結されていないから
である。更に当業者には理解されるように、リレーショ
ナル・データベース管理以外にも、限定されたタスクな
いし反復実行されるタスクを動的に小区分して独立的に
処理するこという方法を用い得るようなの多くのデータ
処理環境が存在している。従って、本発明の詳細な説明
するに際しては、特に要望が強くまた頻繁に間かれると
ころの、データベース管理における処理の問題に関連さ
せて説明するが、しかしながら本明細書に開示する新規
な方法並びに構成は、それ以外にも広範な用途を持つも
のである。
As will be understood by those skilled in the art, operational functions related to relational database management can be divided into multiple processing tasks that can be processed independently, at least temporarily. It is an operational function that allows you to This is because, in a relational database, multiple stored data entries are not interdependently linked by address pointers. Furthermore, as will be understood by those skilled in the art, there are other applications in addition to relational database management that can be used to dynamically subdivide limited or recurring tasks into smaller pieces for independent processing. Many data processing environments exist. Accordingly, the detailed description of the present invention will be described in relation to processing problems in database management, which are particularly desirable and frequently discussed, but the novel methods and structures disclosed herein will be discussed in detail. has a wide range of other uses as well.

大規模なデータ管理システムは、複数のプロセッサ(マ
ルチプル・プロセッサ)を使用する場合には潜在的な利
点と不可避的に付随する困難との両方を備えることにな
る。何億個にも及ぶ莫大な数のエントリ(記述項)を、
記憶装置の中に、容易にかつ迅速にアクセスできる状態
で保持しなければならない。一方、リレーショナル・デ
ータベースのフォーマットとしておけば、広範なデータ
・エントリ及び情報の取り出し動作を同時並行的に実行
することができる。
Large data management systems will have both the potential benefits and the inevitable attendant difficulties when using multiple processors. A huge number of entries (descriptions) reaching hundreds of millions,
It must be kept in storage and easily and quickly accessible. On the other hand, a relational database format allows a wide range of data entry and information retrieval operations to be performed concurrently.

ただし、圧倒的大多数のデータベース・システムにおい
ては、データベースの完全性(インテグリテイ)を維持
することが、トランザクション・データを迅速に処理す
ることと同様に重要となっている。データの完全性は、
ハードウェアの故障や停電、それにその他のシステム動
作に関わる災害の、その前後においても維持されていな
ければならない。更には、データベース・システムは、
応用ソフトウェア・コードの中のバグ(bug)をはじ
めとするユーザ側のエラーの後始末を行なうために、デ
ータベースを以前の既知の状態に復元できる能力を備え
ていなければならない。しかも、データが誤って失われ
たり入力されたりすることかあってはならず、また、イ
ヘントが新たなデータに関係するものであるのか、或い
は過去のエラーの訂正に関係するものであるのか、それ
ともデータベースの一部分の校正に関係するものである
のかに応じて、ある特定のエントリに関係しているデー
タベース部分の全てが変更されるようになっていなけれ
ばならない。
However, in the vast majority of database systems, maintaining the integrity of the database is just as important as processing transactional data quickly. Data integrity is
It must be maintained before and after hardware failures, power outages, and other disasters related to system operation. Furthermore, the database system
The ability to restore the database to a previous known state must be provided to clean up user errors, including bugs in application software code. Moreover, it must not be possible for data to be lost or entered incorrectly, and whether the event relates to new data or correction of past errors. Or, depending on whether it concerns the calibration of a portion of the database, all portions of the database that are related to a particular entry must be changed.

従って、完全性のためには、データのロールバック及び
回復の動作、誤りの検出及び修正の動作、並びにシステ
ムの個々の部分のステータスの変化の検出及びその補償
の動作に加えて、更に、ある程度の冗長度もデータベー
スシステムには必要である。これらの目的を達成するた
めには、システムが多くの異なった特殊なモードで用い
られなければならないこともあり得る。
Therefore, for integrity, in addition to data rollback and recovery operations, error detection and correction operations, and detection of changes in the status of individual parts of the system and their compensation, in addition, to some extent Redundancy is also necessary for database systems. To achieve these goals, the system may have to be used in many different specialized modes.

さらに、最近のシステムでは、その形式が複雑なものに
なりがちな任意内容の問合せ(discre−tion
ary query)を受入れる能力と、必要とあらば
相互作用的な方式で応答する能力とを持っていることが
要求される。たとえその問合せが複雑なものであったと
しても、システムにアクセスしようとする人達がそのシ
ステムの熟練者であることを要求されるようなことがあ
ってはならない。
Furthermore, in recent systems, queries of arbitrary content (discretion), which tend to have complex formats, are
ary queries) and the ability to respond in an interactive manner if necessary. People attempting to access the system should not be required to be experts in the system, even if the query is complex.

大規模生産の業務に関連して生じるかも知れない任意内
容の問合せの例には、次のようなものがある。
Examples of arbitrary inquiries that may arise in connection with large-scale production operations include:

A、生産管理を行なう管理者か、在庫品のうちの1品目
についてのリストを要求するのみならず、生産高が前年
同月比で少なくとも10%以上低下している部品の、そ
の月間生産高を超えているような全ての部品在庫を明記
した在庫品リストを、要求するかもしれない。
A. The manager in charge of production management not only requests a list of one item in inventory, but also requests the monthly production of parts whose production has decreased by at least 10% compared to the same month of the previous year. You may request an inventory list specifying all parts in stock that may be exceeded.

B マーケティング・マネージャーが、ある特定の勘定
が90日延滞を生じているか否かを問合せるばかりでな
く、特に不景気な地域に在住している過去に120日を
超過したことのある顧客に関して、−律に90日の受取
債権を要求するかもしれない。
B. Not only does a marketing manager inquire whether a particular account is 90 days past due, but also a customer who has a history of exceeding 120 days, especially in a depressed area. may require 90 days of receivables.

C1人事担当の重役が、所与の1年間に2週間を超える
病欠のあった従業員の全てを一覧表にすることを求める
のみならず、直前の5年間のうちの2年以上について、
その釣のシーズンの間に1週間以上の病欠をした10年
勤続以上の長期勤続従業員の全てを一覧表にすることを
求めるかもしれない。
C1 The human resources executive not only requires a list of all employees who have taken more than two weeks of sick leave in a given year, but also for two or more of the immediately preceding five years.
You might require a list of all long-term employees with 10 years or more of sick leave during the fishing season.

以上の例のいずれにおいても、ユーザは、コンピュータ
に格納されている情報をそれまでにはなされなかった方
法で関連付けることによって、事業において直面してい
る本当の問題を見極めようとするわけである。その問題
を生じている分野に関してユーザが経験を積んでいれば
、従ってユーザに直感力と想像力とがあれば、コンピュ
ータの訓練を受けたことのない専門家が、複雑な問合せ
を処理できるデータベースシステムを自由自在に使用で
きるのである。
In each of the above examples, the user attempts to determine the real problem facing the business by relating information stored on the computer in a way that has not been done before. A database system that allows experts without computer training to process complex queries, provided that the user has experience in the field in question, and therefore has intuition and imagination. can be used freely.

最近のマルチプロセッサ・システムは、これらのように
多くの、そしてしばしば互いに相反する要求事項に対し
ては、含入りに作成されたオーバーヘット用ソフトウェ
ア・システム並びに保守用ソフトウェア・システムを用
いることによって対応しようと努めているのであるが、
それらのソフトウェア・システムは本質的にシステムを
容易に拡張することの妨げとなるものである。しかしな
がら、拡張性という概念は強く求められている概念であ
り、その理由は、業務ないし事業が成長すると、そねに
付随して既存のデータベース管理システムを拡張して使
用を継続することが望まれるようになり、この場合、新
しいシステムとソフトウェアの採用を余儀なくされるこ
とは好まれないからである。
Modern multiprocessor systems address these multiple and often conflicting requirements by using specifically designed overhead and maintenance software systems. I am trying to do this, but
These software systems inherently prevent the system from being easily expanded. However, the concept of scalability is a highly sought-after concept because as a business or business grows, it is desirable to extend and continue using existing database management systems. In this case, they don't want to be forced to adopt new systems and software.

マルチプロセッサ・アレイ 第1図について説明すると、本発明に係る典型的な一具
体例のシステムは多数のマイクロプロセッサを含んでお
り、それらのマイクロプロセッサには重要な2つの重要
な種類があり、それらは本明細書では夫々、インターフ
ェイス・プロセッサ(IFP)とアクセス・モジュール
・プロセッサ(AMP)と称することにする。図中には
2個のIFP14.16が示されており、それらの各々
は別々のホスト・コンピュータioないし12の入出力
装置に接続されている。多数のアクセス・モジュール・
プロセッサ18〜23もまた、このマルチプロセッサ・
アレイとも称すべきものの中に含まれている。ここでの
「アレイ」という用語は、おおむね整然とした直線状或
いはマトリックス状に配列された、1組のプロセッサ・
ユニット、集合とされたプロセッサ・ユニット、ないし
は複数のプロセッサ・ユニットを指す、−数的な意味で
用いられており、従って、最近「アレイ・プロセッサ」
と呼ばれるようになったものを意味するのではない。図
中には、このシステムの概念を簡明化した例を示すため
に僅かに8個のマイクロプロセッサが示されているが、
はるかに多くのIFP及びAMPを用いることが可能で
あり、通常は用いられることになる。
Multiprocessor Array Referring to FIG. 1, a typical embodiment system of the present invention includes a number of microprocessors, of which there are two important types. will be referred to herein as an interface processor (IFP) and an access module processor (AMP), respectively. Two IFPs 14.16 are shown in the figure, each connected to a separate host computer io to 12 input/output devices. Numerous access modules
Processors 18 to 23 are also part of this multiprocessor system.
It is included in what can be called an array. The term "array" here refers to a set of processors arranged in a generally ordered linear or matrix arrangement.
unit, referring to a set of processor units or processor units - used in a numerical sense, hence the recent term ``array processor''
It does not mean what it has come to be called. In the figure, only eight microprocessors are shown to provide a simplified example of the concept of this system.
Many more IFPs and AMPs can and typically will be used.

IFP14.16′ELびAMP 18〜23は、内部
バスと周辺装置コントローラにダイレクト・メモリ・ア
クセスをするメイン・メモリとを有しているインテル8
086型16ビツトマイクロプロセツサを内蔵している
。いろいろなメーカーの非常に多様なマイクロプロセッ
サ及びマイクロプロセッサシステム製品の任意のものを
利用できる。
IFP 14.16'EL and AMP 18-23 are Intel 8
It has a built-in 086 type 16-bit microprocessor. Any of a wide variety of microprocessor and microprocessor system products from a variety of manufacturers are available.

この「マイクロプロセッサ」は、このアレイの中で使用
できるコンピュータないしプロセッサの−形式の具体的
な一例に過ぎず、なぜならば、このシステムの概念は、
用途によって必要とされる計算力がミニコンピユータま
たは大型コンピュータのものである場合には、それらを
使ってうまく利用できるからである。この16ビツトの
マイクロプロセッサは、相当のデータ処理力を備え、し
かも広範な種々の利用可能なハードウェア及びソフトウ
ェアのオプションに置換えることができる標準的な置換
え可能な構成とされている、低コストの装置の有利な一
例である。
The "microprocessor" is just one specific example of a type of computer or processor that can be used in the array, since the concept of the system is
This is because if the computing power required for the application is that of a minicomputer or a large computer, it can be used to advantage. This 16-bit microprocessor provides significant data processing power and is a low cost, standard replaceable configuration that can be replaced with a wide variety of available hardware and software options. This is an advantageous example of a device.

IFPとAMPとは互いに類似の、能動ロジックと制御
ロジックとびインターフェイスとを含む回路、マイクロ
プロセッサ、メモリ、及び内部バスを採用しており、そ
れらについては夫々第1図と第8図とを参照しつつ後に
説明する。ただし、これら二つのプロセッサ形式は、夫
々のプロセッサ形式に関連する周辺装置の性質、及びそ
れらの周辺装置に対する制御ロジックが異なっている。
IFPs and AMPs employ similar circuitry, including active logic and control logic, interfaces, microprocessors, memory, and internal buses, as shown in FIGS. 1 and 8, respectively. I will explain later. However, these two processor types differ in the nature of the peripherals associated with each processor type and in the control logic for those peripherals.

当業者には容易に理解されるように、異なった周辺装置
コントローラを備え異なった機能的任務を付与されたそ
の他のプロセッサ形式を本発明に組入れることも容易で
ある。
As will be readily understood by those skilled in the art, other processor types with different peripheral controllers and assigned different functional tasks may easily be incorporated into the present invention.

各マイクロプロセッサには高速ランダム・アクセス・メ
モリ26(第8図に関連して説明する)が備えられてお
り、この高速ランダム・アクセス・メモリは、入出力メ
ツセージのバッファリングを行うことに加え、システム
の他の部分と独特な方法で協働することによって、メツ
セージ管理を行なう。平定に説明すると、この高速ラン
ダム・アクセス・メモリ26は、可変長の入力メツセー
ジ(この入力のことを「受信」という)のための循環バ
ッファとして働き、シーケンシャルにメツセージを出力
するための(この出力のことを「送信」という)メモリ
として機能し、ハツシュ・マツピング・モード及び他の
モードで用いるためのテーブル索引部分を組込み、そし
て受信メツセージ及び送信メツセージを整然と順序立て
て取扱うための制御情報を記憶する。メモリ26は更に
、マルチプロセッサモード選択のとき、並びにデータ、
ステータス、制御、及び応答の各メツセージのトラフィ
ックを取扱うときに独特の役目を果たすように用いられ
る。後に詳細に説明するように、それらのメモリは更に
、メツセージの中のトランザクション・アイデンティテ
ィに基づいて局所的及び大域的なステータス判定と制御
機能とが極めて能率的な方法で処理され通信されるよう
な構成とされている。IFP14.16及びAMP18
〜23の各々に備えられている制御ロジック28(第1
3図に関連しては後に説明する)は、当該モジュール内
のデータ転送及びオーバーヘッド機能の実行に用いられ
る。
Each microprocessor is equipped with a high speed random access memory 26 (described in connection with FIG. 8) which, in addition to buffering input and output messages, It performs message management by collaborating in unique ways with other parts of the system. In layman's terms, this high speed random access memory 26 acts as a circular buffer for variable length input messages (this input is referred to as ``receive'') and for sequentially outputting messages (this output It functions as a memory (referred to as "sending"), incorporates a table index portion for use in hash mapping mode and other modes, and stores control information for handling received and transmitted messages in an orderly manner. do. The memory 26 also stores data when selecting multiprocessor mode, as well as
It is used to play a unique role in handling status, control, and response message traffic. As will be explained in more detail below, these memories further enable local and global status determination and control functions to be processed and communicated in a highly efficient manner based on transaction identities in messages. It is said to be composed of IFP14.16 and AMP18
control logic 28 (first
3) are used to transfer data and perform overhead functions within the module.

IFP14.16は各々インターフェイス制御回路30
を備えており、このインターフェイス制御回路30はI
FPをそのIFPに組み合わされているホスト・コンピ
ュータ10ないし12のチャネルまたはバスに接続して
いる。これに対してAMP 18〜23では、このイン
ターフェイス制御回路に相当する装置はディスク・コン
トローラ32であり、このディスク・コントローラ32
は一般的な構造のものであっても良く、AMP18〜2
3を、それらに個別に組み合わせられた磁気ディスク・
ドライブ38〜43と夫々にインターフェイスするのに
用いられるものである。
IFP14, 16 are each interface control circuit 30
This interface control circuit 30 is equipped with an I
The FP is connected to a channel or bus of a host computer 10-12 associated with the IFP. On the other hand, in AMPs 18 to 23, the device corresponding to this interface control circuit is the disk controller 32;
may have a general structure, and AMP18-2
3, and the magnetic disks individually combined with them.
These are used to interface with the drives 38-43, respectively.

磁気ディスク・ドライブ38〜43はこのデータベース
管理システムに二次記憶装置、即ち大容量記憶装置を提
供している。本実施例においては、それらの磁気ディス
ク・ドライブは例えばウィンチエスタ−・テクノロジー
(Winchestartechnology )等の
実績のある市販の製品から成るものとし、それによって
、バイト当りコストが極めて低廉でしかも大容量、高信
顆性の記憶装置が得られるようにしている。
Magnetic disk drives 38-43 provide secondary or mass storage for the database management system. In this embodiment, the magnetic disk drives are constructed from proven commercially available products, such as those manufactured by Winchestar Technology, which provide extremely low cost per byte, large capacity, and high performance. A reliable memory device is obtained.

これらのディスク・ドライブ38〜43には、リレーシ
ョナル・データベースが分散格納方式で格納されており
、これについては第22図に簡易化した形で示されてい
る。各々のプロセッサとそhに組み合わされたディスク
・ドライブとに対しては、データベースの部分集合を成
す複数のレコードが割当てられ、この部分集合は「−次
的」部分集合であり、またそれらの−次的部分集合は互
いに素の部分集合であると共に全体として完全なデータ
ベースを構成するものである。従ってn個記憶装はの各
々はこのデータベースの−を保持することになる。各々
のプロセッサには更に、バックアップ用のデータの部分
集合が割当てられ、それらのパックアッップ用部分集合
も互いに素の部分集合であり、各々がこのデータベース
の−を構成するものである。第22図から分るように、
−次的ファイルの各々は、その−次的ファイルが収容さ
れているプロセッサとは異なったプロセッサに収容され
ているバックアップ用ファイルによって複製されており
、これにより、互いに異なった分配の仕方で分配された
2つの各々が完全なデータベースが得られている。この
ように、−次的データ部分集合とバックアップ用データ
部分集合とが冗長性を持って配置されていることによっ
てデータベースの完全性(インテグリテイ)の保護がな
されており、その理由は、単発の故障であれば、大規模
な数ブロックに亙る複数のデータや複数のグループを成
す複数のりレージコンに対して実質的な影響を及ぼすこ
とはあり得ないからである。
These disk drives 38-43 store a relational database in a distributed storage manner, which is shown in simplified form in FIG. Each processor and its associated disk drive is assigned a plurality of records that form a subset of the database; this subset is a "-order" subset, and The sub-sets are disjoint subsets and together constitute a complete database. Therefore, each of the n storage devices will hold - of this database. Each processor is further assigned a subset of data for backup, which backup subsets are also disjoint subsets, each forming a part of this database. As can be seen from Figure 22,
Each of the secondary files is replicated by a backup file housed on a different processor than the one on which it is housed, and is therefore distributed differently from each other. Complete databases have been obtained for each of the two. In this way, the integrity of the database is protected by arranging secondary data subsets and backup data subsets with redundancy. This is because, in the event of a failure, it is unlikely that it will have a substantial effect on multiple pieces of data spanning several large-scale blocks or multiple radio controllers forming multiple groups.

データベースの分配は、同じく第22図に示されている
ように、種々のファイルのハツシング動作と関連を有し
ており、また、ハツシュ・マツピング・データをメツセ
ージの中に組込むこととも関連を有している。各々のプ
ロセッサに収容されているファイルは、2進数列のグル
ープとして示される簡単なハツシュ・パケット(has
i bucket)によって指定されるようになってい
る。従って、それらのパケットによって指定される関係
の表(テーブル)に基づいて、リレーショナル・データ
ベース・システムの中のりレージコン(関係)及びタプ
ル(組: tuple )を配置すべき場所を定めるこ
とができる。パッシング・アルゴリズムを利用して、こ
のリレーショナル・データベース・システムの内部にお
いて、キーからパケットの割当てが求められるようにな
っており、そのため、このデータベース・システムの拡
張及び改変を容易に行なうことができる。
Database distribution is also associated with hashing operations for various files, as also shown in FIG. 22, and with the incorporation of hash mapping data into messages. ing. The files contained in each processor are organized into simple hash packets represented as groups of binary sequences.
i bucket). Therefore, based on the table of relationships specified by those packets, it is possible to determine where relationships and tuples should be placed in the relational database system. A passing algorithm is used to determine packet assignments from keys within this relational database system, which allows for easy expansion and modification of this database system.

記憶容量をどれ程の大きさに選択するかは、データベー
ス管理上のニーズ、トランザクションの量、及びその記
憶装置に組み合わされているマイクロプロセッサの処理
力に応じて定められるものである。複数のディスク・ド
ライブを1個のAMPに接続したり、1台のディスク・
ファイル装置を複数のAMPに接続することも可能であ
るが、そのような変更態様は通常は特殊な用途に限られ
るであろう。データベースの拡張は、典型的な一例とし
ては、マルチプロセッサ・アレイにおけるプロセッサの
個数(及びプロセッサに組み合わされたディスク・ドラ
イブの個数)を拡張することによって行なわれる。
The storage capacity selected depends on the database management needs, the amount of transactions, and the processing power of the microprocessor associated with the storage device. You can connect multiple disk drives to one AMP or
Although it is possible to connect a file device to multiple AMPs, such modifications would typically be limited to specialized applications. Database expansion is typically accomplished by expanding the number of processors (and the number of disk drives associated with the processors) in a multiprocessor array.

能動ロジック・ネットワーク 秩序立ったメツセージ・パケットの流れを提供するとい
う目的とタスクの実行を容易にするという目的とは、新
規な能動ロジック・ネットワーク構成体50を中心とし
た、独特のシステム・アーキテクチュア並びにメツセー
ジ構造を採用することによって達成される。この能動ロ
ジック・ネットワーク構成体50は、複数のマイクロブ
ロセッサの複数の出力に対して、階層を登りながらそれ
らの出力を収束させて行く昇順階層を成す、複数の双方
向能動ロジック・ノード(bi+Hrectional
active logic node) 54によって
構成されている。それらのノード54は、3つのボート
を備えた双方向回路から成るものであり、この双方向回
路はツリー・ネットワーク(tree net胃ark
 :樹枝状の構造を持つネットワーク)を形成すること
ができ、その場合には、そのツリー構造のベースの部分
においてマイクロプロセッサ14.16及び18〜23
に接続される。
Active Logic Network The purpose of providing an orderly flow of message packets and facilitating the execution of tasks requires a unique system architecture centered around a novel active logic network construct 50 and This is achieved by employing a message structure. The active logic network structure 50 includes a plurality of bi-directional active logic nodes (bi+Hrectional) forming an ascending hierarchy that converges the outputs of the plurality of microprocessors while climbing the hierarchy.
active logic node) 54. These nodes 54 consist of bidirectional circuits with three boats, which are connected to a tree network.
: a network with a dendritic structure), in which case the microprocessors 14.16 and 18 to 23 are connected at the base of the tree structure.
connected to.

当業者には理解されるように、ノードは、ロジック・ソ
ースの数が2を超えて、例えば4または8であるときに
設けることができ、この場合、同時にまた、ソース入力
の数を多くするという問題も組合せロジックを更に付加
するという問題に変換してしますことができる。
As will be understood by those skilled in the art, nodes can be provided when the number of logic sources exceeds 2, for example 4 or 8, in which case it also increases the number of source inputs. This problem can also be converted into a problem of adding more combinatorial logic.

図の参照を容易にするために、すべてのノード(N)の
うち、第1階層に属しているものはそれをプリフィック
ス「■」で表わし、また第2階層に属しているものはそ
れをブリフィックスr II Jで表わし、以下同様と
する。同一の階層に属している個々のノードは、下添字
「1.2・・・」によって表わし、従って、例えば第1
階層の第4ノードであればrlN4Jと表わすことがで
きる。ノードのアップ・ツリー側(即ち上流側)には「
Cボート」と名付けられた1つのボートが備えられてお
り、このCボート隣接する高位の階層に属しているノー
ドの2つのダウン・ツリー・ボートのうちの一方に接続
されており、それらのダウン・ツリー・ボートは夫々「
Aボート」及び「Bポート」と名付けられている。これ
ら複数の階層は、最上部ノード即ち頂点ノード54aへ
と収束しており、この頂点ノード54aは、上流へ向け
られたメツセージ(アップ・ツリー・メツセージ)の流
れの向きを逆転して下流方向(ダウン・ツリ一方向)へ
向ける、収束及び転回のための手段として機能している
。2組のツリー・ネットワーク50a、50bが使用さ
れており、それら2組のネットワークにおけるノードど
つし、それに相互接続部どうしは互いに並列に配置され
ており、それによって大規模システムに望まれる冗長性
を得ている。ノード54どつし、そしてそれらのネット
ワークどうしは互いに同一であるので、それらのネット
ワークのうちの一方のみを説明すれば充分である。
To make it easier to refer to the diagram, among all nodes (N), those belonging to the first hierarchy are represented by the prefix "■", and those belonging to the second hierarchy are represented by the prefix "■". Fix r II J, and the same shall apply hereinafter. Individual nodes belonging to the same hierarchy are represented by subscripts "1.2...", so that, for example, the first
If it is the fourth node in the hierarchy, it can be expressed as rlN4J. On the up-tree side (i.e., upstream side) of the node is “
There is one boat named "C-Boat" which is connected to one of the two down-tree boats of the nodes belonging to the adjacent higher hierarchy and whose down-tree boats are・The tree boat is
They are named ``A Boat'' and ``B Port.'' These multiple hierarchies converge to the top node, ie, the apex node 54a, which reverses the direction of the flow of messages directed upstream (up-tree messages) and reverses the flow direction of messages directed upstream (up-tree messages) to the downstream direction (up-tree messages). It functions as a means of convergence and turning, directing the tree in one direction (down the tree). Two sets of tree networks 50a, 50b are used, and the nodes and interconnections in the two sets of networks are placed in parallel with each other, thereby providing the redundancy desired in large systems. I am getting . Since the nodes 54 and their networks are identical to each other, it is sufficient to describe only one of the networks.

説明を分り易くするために先ず第1に理解しておいて頂
きたいことは、シリアルな信号列の形態とされている多
数のメツセージ・パケットが、多くのマイクロプロセッ
サの接続によって能動ロジック・ネットワーク50へ同
時に送出され、或いは同時に送出することか可能とされ
ているということである。複数の能動ロジック・ノード
54はその各々が2進数ベースで動作して2つの互いに
衝突関係にある衝突メツセージ・パケットの間の優先権
の判定を行ない、この優先権の判定は、それらのメツセ
ージパケット自体のデータ内容を用いて行なわれる。更
には、1つのネットワークの中のすへてのノード54は
1つのクロック・ソース56の制御下に置かれており、
このクロック・ソース56は、メツセージパケットの列
を頂点ノード54aへ向けて同期して進めることがで廿
るような態様で、それらのノード54に組み合わされて
いる。このようにして、シリアルな信号列の中の、連続
する各々のバイト等の増分セグメントが次の階層へと進
められ、このバイトの進行は、別のメツセージの中のそ
のバイトに対応するバイトがこのネットワーク50内の
別の経路をたどって同様に進行するのと同時に行なわれ
る。
For the sake of clarity, it must first be understood that a large number of message packets in the form of a serial signal train are connected to an active logic network 50 by the connection of many microprocessors. This means that it is possible to simultaneously send out the information to the Yahoo! A plurality of active logic nodes 54 each operate on a binary basis to determine priority between two mutually conflicting message packets; This is done using its own data content. Furthermore, all nodes 54 in one network are under the control of one clock source 56;
This clock source 56 is coupled to the nodes 54 in such a manner as to enable the synchronized progression of a train of message packets towards the apex node 54a. In this way, each successive byte etc. in the serial signal stream is advanced to the next level, and the progression of this byte is such that its corresponding byte in another message is This is done at the same time as a similar proceeding along another route within this network 50.

互いに競合する信号列の間に優先権を付与するためのソ
ートが、アップ・ツリ一方向へ8勅しているメツセージ
パケットに対して行なわれ、これによって最終的には、
頂点ノード54aから下流へ向けて方向転換されるべき
車−のメツセージ列が選択される。以上のようにシステ
ムが構成されているため最終的な優先権についての判定
をメツセージパケット内のある1つの特定の点において
行なう必要はなくなっており、そのため、個々のノード
54において実行されている2つの互いにjJi突して
いるパケット間の2進数ベースの判定以外のものを必要
とすることなしに、メツセージの転送を続けて行なうこ
とができるようになっている。この結果、このシステム
は空間的及び時間的にメツセージの選択とデータの転送
とを行なうようになっているわけであるが、ただし、バ
スの支配権を得たり、送信プロセッサあるいは受信プロ
セッサを識別したり、またはプロセッサ間のハンドシェ
イキング操作を実行する目的のために、メツセージ伝送
を遅延させるようなことはない。
Sorting to give priority to competing signal sequences is performed on the message packets traveling in one direction up the tree, which ultimately results in
A message string of a vehicle to be turned downstream from the vertex node 54a is selected. Because the system is configured as described above, it is no longer necessary to make a final priority determination at one specific point within a message packet, and therefore the two Message transfer is now possible without requiring anything more than a binary-based determination between two mutually exclusive packets. As a result, the system selects messages and transfers data spatially and temporally, but does not gain control of the bus or identify the transmitting or receiving processor. Message transmission is not delayed for the purpose of processing or performing handshaking operations between processors.

更に、特に認識しておいて頂きたいことは、幾つかのプ
ロセッサが全く同一のパケットを同時に送信した場合に
は、その送信が成功したならば、それらの送信プロセッ
サの全てが成功したのと同じことになるということであ
る。この性質は時間とオーバーヘッドを節約するので大
型マルチプロセッサ複合体の有効な制御を行うのに極め
て有用である。
Additionally, it is important to be aware that if several processors send identical packets at the same time, if the transmission is successful, it is the same as if all of the sending processors were successful. That means it will happen. This property saves time and overhead and is extremely useful in providing effective control of large multiprocessor complexes.

ノード54は更に双方向方式で作動するため、妨害を受
けることのない、下流方向へのメツセージ・パケットの
分配を可能にしている。所与のノード54において、そ
のアップ・ツリー側に設けられたボートCで受取られた
下流方向メツセージは、このノードのダウン・ツリー側
に設けられたボートA及びボートBの両方へ分配され、
更に、このノードに接続された隣接する低位の階層に属
する2つのノードの両方へ転送される。コモン・クロッ
ク回路56の制御の下にメツセージ・パケットは同期し
てダウン・ツリ一方向へ進められ、そして全てのマイク
ロプロセッサへ同時にブロードカスト(broadca
stニー斉伝達)され、それによって、1つまたは複数
のプロセッサが、所望の処理タスクの実行ができるよう
になるか、または応答を受入れることができるようにな
る。
Node 54 also operates in a bidirectional manner, thereby allowing unimpeded downstream distribution of message packets. For a given node 54, a downstream message received by boat C on its up-tree side is distributed to both boat A and boat B on its down-tree side;
Furthermore, it is transferred to both of two nodes connected to this node that belong to adjacent lower layers. Under the control of common clock circuit 56, message packets are synchronously advanced down the tree in one direction and broadcast simultaneously to all microprocessors.
(st knee broadcast), thereby enabling one or more processors to perform a desired processing task or accept a response.

ネットワーク50は、そのデータ転送速度が、マイクロ
プロセッサのデータ転送速度と比較してより高速であり
、典型的な例としては2倍以上の高速である。本実施例
においては、ネットワーク50は120ナノ秒のバイト
・クロック・インタバルをもっており、そのデータ転送
速度はマイクロプロセッサの5倍の速度である。各ノー
ド54は、その3つのボートの各々が、そのノードに接
続されている隣接する階層に属するノードのボートか、
或いはマイクロプロセッサに接続されており、この接続
は1組のデータ・ライン(本実施例においては10本)
と制御ライン(本実施例においては2本)とによってな
されており、2本の制御ラインは夫々、クロック信号と
コリジヨン信号(衝突信号)とに割当てられている。デ
ータ・ラインとクロック・ラインとは対になすようにし
て配線され、アップ・ツリ一方向とダウン・ツリー方向
とでは別々のラインとされている。コリジヨン・ライン
はダウン・ツリ一方向にのみ伝播を行なうものである。
Network 50 has a data transfer rate that is faster than that of a microprocessor, typically more than twice as fast. In this embodiment, network 50 has a byte clock interval of 120 nanoseconds, and its data transfer rate is five times faster than a microprocessor. Each node 54 has three boats, each of which is a boat of a node belonging to an adjacent hierarchy connected to the node;
Alternatively, the connection is connected to a microprocessor through a set of data lines (10 in this example).
and control lines (two in this embodiment), and the two control lines are respectively assigned to a clock signal and a collision signal. The data line and the clock line are wired in pairs, with separate lines in one direction up the tree and in the direction down the tree. The collision line propagates only in one direction down the tree.

以上の接続構造は全二重式のデータ経路を形成しており
、どのラインについてもその駆動方向を「反転」するの
に遅延を必要としないようになっている。
The above connection structure forms a full-duplex data path such that no delay is required to "reverse" the drive direction of any line.

次に第3図に関して説明すると、10本のデータ・ライ
ンは、ビットO〜7で表わされている8ビツト・バイト
を含んでおり、それらが1o本のデータ・ラインのうち
の8本を占めている。
Referring now to FIG. 3, the 10 data lines contain 8-bit bytes, represented by bits 0 through 7, which make up 8 of the 10 data lines. is occupying.

Cで表わされている別の1本のラインは制御ラインであ
り、このラインは特定の方法でメツセージパケットの異
なる部分を明示するのに用いられる制御シーケンスを搬
送する。10番目のビットは本実施例においては奇数パ
リティ用に使用されている。当業者には理解されるよう
に、このシステムは以上のデータ経路中のビットの数を
増減しても良く、そのようにビットの数を変更しても容
易に動作させることができる。
Another line, designated C, is a control line, which carries control sequences used to specify different parts of the message packet in a particular way. The 10th bit is used for odd parity in this embodiment. As will be understood by those skilled in the art, the system may have more or less bits in the above data path and can easily operate with such changes.

バイト・シーケンス(バイトの列)は、一連の複数のフ
ィールドを構成するように配列され、基本的には、コマ
ンド・フィールド、キー・フィールド、転送先選択フィ
ールド、及びデータ・フィールドに分割されている。後
に更に詳細に説明するように、メツセージはただ1つだ
けのフィールドを用いることもあり、また検出可能な「
エンド・オブ・メツセージ」コードをもって終了するよ
うになっている。メツセージ間に介在する「アイドル・
フィールド(1dle field :遊びフィールド
)」は、Cライン上並びにライO〜7上のとぎれのない
一連の「1」によって表わされ、いかなるメツセージパ
ケットも得られない状態にあるときには常にこれが転送
されている。パリティ・ラインは更に、個々のプロセッ
サのステータスの変化を独特の方式で伝えるためにも使
用される。
A sequence of bytes is arranged to form a series of fields, essentially divided into a command field, a key field, a destination selection field, and a data field. . As explained in more detail below, a message may use only one field and may also have a detectable
It ends with the "End of Message" code. “Idols” intervening between messages
The 1dle field is represented by an unbroken series of 1's on the C line as well as on lines O to 7, and is transmitted whenever no message packets are available. There is. Parity lines are also used to convey changes in the status of individual processors in a unique manner.

「アイドル状態(j+Ne 5tate :遊び状態)
」はメツセージとメツセージとの間に介在する状態であ
って、メツセージ・パケットの一部分ではない。メツセ
ージ・パケットは通常、タグを含む2バイトのコマンド
・ワードで始まり、このタグは、そのメツセージがデー
タ・メツセージであればトランザクション・ナンバ(T
N)の形とされており、また、そのメツセージが応答メ
ツセージであれば発信元プロセッサID(OPID)の
形とされている。トランザクション・ナンバは、システ
ムの中において様々なレベルの意義を有するものであり
、多くの種類の機能的通信及び制御の基礎を成すものと
して機能するものである。パケットは、このコマンド・
ワードの後には、可変長のキー・フィールドと固定長の
転送先選択ワード(des!、1nation 5el
ection word:  D S W )とのいず
れか或いは双方を含むことができ、これらは可変長のデ
ータ・フィールドの先頭の部分を成すものである。キー
・フィールドは、このキー・フィールド以外の部分にお
いてはメツセージどうしが互いに同一であるという場合
に、それらのメセージの間のソーティングのための判断
基準を提供するという目的を果たすものである。DSW
は、多数の特別な機能の基礎を提供するものであり、ま
た、TNと共に特に注意するのに値するものである。
“Idle state (j+Ne 5tate: idle state)
'' is a state that exists between messages and is not part of a message packet. Message packets typically begin with a two-byte command word containing a tag, which if the message is a data message contains a transaction number (T
If the message is a response message, it is in the form of an originating processor ID (OPID). Transaction numbers have various levels of significance within the system and serve as the basis for many types of functional communication and control. The packet is
The word is followed by a variable length key field and a fixed length destination selection word (des!, 1nation 5el
(DSW) and/or both, which form the beginning of a variable length data field. The key field serves the purpose of providing a criterion for sorting messages when the messages are identical except for the key field. DSW
provides the basis for a number of special features and, along with TN, deserves special attention.

このシステムは、ワード同期をとられているインターフ
ェイスを用いて動作するようになっており、パケットを
送信しようとしている全てのプロセッサは、コマンド・
ワードの最初のバイトを互いに同時にネットワーク50
へ送出するようになっている。ネットワークは、これに
続く諸フィールドのデータ内容を利用して、各ノードに
おいて2進数ベースでソーティングを行ない、このソー
ティングは、最小の数値に優先権が与えられるという方
式で行なわれる。連続するデータ・ビットの中で、ビッ
トCを最も大きい量である見なし、ビットOを最も小さ
い量であると見なすならば、ソーティングの優先順位は
以下のようになる。
The system is designed to work with a word-synchronized interface, in which all processors attempting to send packets
The first byte of the word is sent to the network 50 simultaneously with each other.
It is designed to be sent to. The network uses the data content of the following fields to perform a sorting on a binary basis at each node, with priority given to the lowest numerical value. If bit C is considered to be the largest amount among consecutive data bits, and bit O is considered to be the smallest amount, then the sorting priority is as follows.

1、ネットワーク50へ最初に送出されたもの、 2、コマンド・コード(コマンド・ワード)が最小値で
あるもの、 3、キー・フィールドが最小値であるもの、4、キー・
フィールドが最短であるもの、5、データ・フィールド
(転送先選択ワードを含む)が最小値であるもの5. 6、データ・フィールドが最短であるもの。
1. The first sent to the network 50; 2. The command code (command word) is the lowest value; 3. The key field is the lowest value; 4. The key field is the lowest value.
5. The field is the shortest. 5. The data field (including the destination selection word) is the minimum value. 6. The one with the shortest data field.

ここで概観を説明しているという目的に鑑み、特に記し
ておかねばならないことは、ノード54において優先権
の判定が下されたならば、コリジヨン表示(=衝突表示
、以下A cal またはBcolと称する)が、この
優先4テの判定において敗退した方の送信を受取った方
の経路に返されるということである。このコリジヨン表
示によって、送信を行なっているマイクロプロセッサは
、ネットワーク50がより高い優先順位の送信のために
使用されているため自らの送信は中止されており、従っ
て後刻再び送信を試みる必要があるということを認識す
ることができる。
In view of the purpose of explaining the overview here, it is particularly important to note that once the priority is determined at the node 54, a collision indication (=collision indication, hereinafter referred to as A cal or Bcol) ) is returned to the route of the party that received the transmission of the party that lost in this priority 4-te determination. This collision indication tells the transmitting microprocessor that its transmission has been aborted because the network 50 is being used for a higher priority transmission, and that it should try to transmit again at a later time. be able to recognize that.

単純化した具体例が、第2図の種々の図式に示されてい
る。この具体例は、ネットワーク50が4個の別々のマ
イクロプロセッサを用いたツリー構造に配列された高速
ランダム・アクセス・メモリと協働して動作するように
したものであり、それら4個のマイクロプロセッサは更
に詳しく説明すると、IFP14と、3個のAMPlB
、19及び20とである。計10面の副因2A、2B、
・・・2Jは、その各々が、1=0からt=9までの連
続する10個の時刻標本のうちの1つに対応じており、
そしてそれらの時刻の各々における、このネットワーク
内のマイクロプロセッサの各々から送出される互いに蹟
なった単純化されたく4個の文字からなる)シリアル・
メツセージの分配の態様、並びに、それらの種々の時刻
における、ボートとマイクロプロセッサとの間の通信の
状態を示している。単に第2図とだけ書かれている図面
は、信号の伝送の開始前のシステムの状態を示している
。以上の個々の図においては、ナル状態(null 5
tate :ゼロの状態)即ちアイドル状態であるため
には、「口」で表される伝送が行なわれていなければな
らないものとしている。最小値をとるデータ内容が優先
権を有するという取決めがあるため、第2A図中のAM
P19から送出されるメツセージ・パケットrEDDV
Jが、最初にこのシステムを通して伝送されるメツセー
ジ・パケットとなる。図中の夫々のメツセージは、後に
更に詳細に説明するように、マイクロプロセッサの中の
高速ランダム・アクセス・メモリ(H。
Simplified examples are shown in various diagrams in FIG. In this embodiment, network 50 operates in conjunction with high-speed random access memory arranged in a tree structure using four separate microprocessors. To explain in more detail, IFP14 and three AMPlB
, 19 and 20. A total of 10 sub-causes 2A, 2B,
...2J each corresponds to one of ten consecutive time samples from 1=0 to t=9,
and at each of those times, the serial number (simplified four-character sequence) sent out by each microprocessor in this network.
The manner of distribution of messages and the state of communication between the boat and the microprocessor at their various times are shown. The drawing, simply labeled FIG. 2, shows the state of the system before the start of signal transmission. In each of the above figures, the null state (null 5
tate: zero state), that is, in order to be in the idle state, transmission indicated by "mouth" must be occurring. Since there is an agreement that the data content that takes the minimum value has priority, the AM in Figure 2A
Message packet rEDDV sent from P19
J will be the first message packet transmitted through the system. Each message in the figure is associated with a high speed random access memory (H.

S、RAMと呼称することもある)の内部に保持されて
いる。H,S、RAM26は、第2図には概略的に示さ
れている入力用領域と出力用領域とを有しており、パケ
ットは、1=0の時点においては、この出力領域の中に
FIFO(先入れ先出し)方式で垂直に並へて配列され
ており、それによって、転送に際しては図中のH,S、
RAM26に書込まれているカーソル用矢印に指示され
ているようにして取り出すことができるようになってい
る。この時点においては、ネットワーク50の中のすべ
ての伝送は、ナル状態即ちアイドル状態(ロ)を示して
いる。
(sometimes referred to as RAM). The H, S, RAM 26 has an input area and an output area, which are schematically shown in FIG. 2, and the packet is stored in this output area when 1=0. They are arranged vertically in a FIFO (first-in-first-out) manner, so that when transferring, H, S,
It can be taken out as directed by the cursor arrow written in the RAM 26. At this point, all transmissions within network 50 are in a null or idle state (b).

これに対して、第2B図に示されているt=1の時点に
おいては、各々のメツセージパケットの先頭のバイトが
互いに同時にネットワーク50へ送出され、このとき全
てのノード54はいまだにアイドル状態表示を返してお
り、また、第1階層より上のすべての伝送状態もアイド
ル状態となっている。第1番目のクロック・インタバル
の間に夫々のメツセージの先頭のバイトが最下層のノー
ドIN、及びIN2の内部にセットされ、t=2におい
て(第2C図)競合に決着が付けられ、そして上流方向
への伝送と下流方向への伝送の双方が続けて実行される
。ノードIN、はその両方の入力ボートにrE」を受取
っており、そしてこれを上流方向の次の階層へ向けて転
送していて、また下流方向へは両方の送信プロセッサへ
向けて未判定の状態を表示している。しかしながらこれ
と同じ階層に属しているノードIN、は、プロセッサ1
9からの「E」とプロセッサ20からのrp」との間の
衝突に際しての優先権の判定を、rEJの方に優先権が
あるものと判定しており、そして、ボートAをアップ・
ツリー側のボートCに結合する一方、マイクロプロセッ
サ2oへB cal信号を返している。B cal信号
がマイクロプロセッサ20へ返されると、IN2ノート
は実際上、そのA人カボートがC出力ボートにロックさ
れたことになり、それによって、マイクロプロセッサ1
9からのシリアルな信号列が頂点ノードII N 1へ
伝送されるようになる。
On the other hand, at time t=1, shown in FIG. 2B, the first byte of each message packet is sent onto network 50 at the same time as all nodes 54 are still displaying idle state indications. All transmission states above the first layer are also in the idle state. During the first clock interval, the first byte of each message is set inside the lowest nodes IN and IN2, the contention is resolved at t=2 (Figure 2C), and the upstream Both forward and downstream transmissions are performed sequentially. Node IN receives rE on both of its input ports and forwards it upstream to the next layer, and downstream to both sending processors in an undetermined state. is displayed. However, the node IN, which belongs to the same hierarchy as this, has processor 1
In the case of a conflict between "E" from 9 and "rp" from processor 20, it is determined that rEJ has priority, and boat A is moved up.
While connecting to boat C on the tree side, it returns a B_cal signal to the microprocessor 2o. When the B_cal signal is returned to microprocessor 20, the IN2 note has effectively locked its A port to the C output port, thereby causing microprocessor 1
A serial signal stream from 9 is transmitted to the vertex node II N 1.

IN、ノードにおいては最初の二つの文字はどちらちr
EDJであり、そのため第2C図に示すように、このノ
ードではt=2の時刻には、判定を下すことは不可能と
なっている。更には、3っのマイクロプロセッサ14、
!5及び19から送出された共通の先頭の文字「E」は
、t=3(第2D図)の時刻にII N 1頂点ノード
に達し、そしてこの文字r E Jは、同じくそれら全
てのメツセージに共通する第2番目の文字「D」がこの
頂点ノードII N 1へ転送されるときに、その転送
の向きを反転されて下流方向へ向けられる。この時点で
はノードIN、は未だ判定を下せない状態にあるが、し
かしながらこのときには、一連のマイクロプロセッサ1
4.18及び19からの夫々の第3番目の文字rF」、
「E」及び「D」がこのノードIN、へ送信されつつあ
る。マイクロプロセッサ20がB cal信号を受取る
ということはこのプロセッサ20が優先権を得るための
競合において敗退したことを意味しており、それゆえこ
のプロセッサ20はB cal信号を受取ったならばア
イドル表示(ロ)を送出し、またそれ以降もこのアイド
ル表示(ロ)だけを送出する。夫々の出力バッファに書
込まれている夫々のカーソル矢印は、マイクロプロセッ
サ20はその初期状態に戻されているがその他のマイク
ロプロセッサは連続する一連の文字を送り続けているこ
とを示している。従ってt=4(第2E図)の時刻にお
ける重要な出来事は、ノーF I N 、のボートに関
する判定が行なわれることと、それに、先頭の文字(’
EJ )が、全てのラインを通って第1階層のノード階
層へ向けて反転伝送されることである。
IN, the first two characters in the node are either r
EDJ, and therefore, as shown in FIG. 2C, it is impossible for this node to make a decision at time t=2. Furthermore, three microprocessors 14,
! The common leading letter "E" sent from 5 and 19 reaches the II N 1 vertex node at time t=3 (Fig. 2D), and this letter r E J is also sent to all those messages. When the second common character "D" is transferred to this vertex node II N 1, the direction of its transfer is reversed and directed downstream. At this point, node IN is still in a state where it cannot make a decision, but at this time, the series of microprocessors 1
4.3rd letter rF from 18 and 19, respectively.
"E" and "D" are being sent to this node IN. Receipt of the B_cal signal by microprocessor 20 means that this processor 20 has lost the competition for priority, and therefore, if this processor 20 receives the B_cal signal, it will display an idle indication ( (b) is transmitted, and thereafter only this idle display (b) is transmitted. Each cursor arrow being written to a respective output buffer indicates that microprocessor 20 has been returned to its initial state while the other microprocessors continue to send successive sequences of characters. Therefore, the important events at time t=4 (Figure 2E) are that a decision is made regarding the boat NoF I N , and that the first letter ('
EJ) is invertedly transmitted through all lines toward the first layer node layer.

t=5(第2F図)の時刻には2回目の?Ii突が表示
され、この場合、ノードII N 、のBボートが競合
に勝利し、A cotが発生される。
At time t=5 (Figure 2F), the second ? An Ii conflict is displayed, in which case the B vote of node II N , wins the contention and A cot is generated.

続く数回のクロック・タイムの間は、シリアルな信号列
の下流方向へのブロードカストが継続して行なわれ、t
;6(第2G図)の時刻には、メツセージの先頭の文字
が全てのH,S、RAM26の入力用領域の部分の中に
セットされる。ここでもう1つ注意しておいて頂きたい
ことは、ノードIN、において先に行なわれた優先権の
判定はこの時点において無効とされるということであり
、その理由は、プロセッサ18から送出された第3番目
の文字(’E」)がマイクロプロセッサ19から送出さ
れた第3番目の文字(’DJ )との競合に敗退したと
ぎに、より高位の階層のノートII N 1からA c
otの表示がなされるためである。第2H図中において
カーソル矢印が表わしているように、マイクロプロセッ
サ14.18及び20はそれらの初期状態に戻されてお
り、また、勝利したマイクロプロセッサ19は、その全
ての送(Xをt=4の時刻に既に完了している。第2H
図、第2■図、及び第2J図から分るように、全ての入
力バッファの中へ、次々に優先メツセージrEDDVJ
がロードされて行く。t:8(第2I図)において、こ
のメツセージは既に第1階層から流れ出てしまっており
、また、頂点ノードII N 、はt=7において既に
リセットされた状態になっているが、それは、マイクロ
プロセッサへ向けて最後の下流方向文字が転送されると
きには、既にアイドル信号だけが互いに競合しているか
らである。t=9(第2J図)の時刻には、第1階層に
属しているノードINI及びIN2はリセットされてお
り、そして、敗退したマイクロプロセッサ14.18及
び20の全ては、ネットワークが再びアイドルを指示し
ているときにメツセージの先頭の文字を送出することに
よって、ネットワーク上における優先権を得るための競
合を再度行なうことになる。実際には後に説明するよう
に、勝利したマイクロプロセッサへ肯定応答信号か伝送
されるのであるが、このことは、本発明を最大限に一般
化したものにとっては必須ではない。
During the next several clock times, the serial signal train continues to be broadcast downstream, and t
At time 6 (FIG. 2G), the first character of the message is set in all the H, S, and input areas of the RAM 26. Another thing to note here is that the priority determination previously made at node IN is invalidated at this point, and the reason is that the priority determination made earlier at node IN is invalidated at this point. As soon as the third character ('E') sent out by the microprocessor 19 loses the competition with the third character ('DJ) sent by the microprocessor 19, the higher hierarchy notes II N 1 to A c
This is because ot is displayed. As indicated by the cursor arrows in FIG. Already completed at time 4.2nd H
As can be seen from Fig. 2, Fig. 2, and Fig. 2J, the priority message
will be loaded. At t:8 (Fig. 2I), this message has already flowed out from the first layer, and the vertex node II N is already in the reset state at t=7, but it is This is because by the time the last downstream character is transferred to the processor, only the idle signals are already competing with each other. At time t=9 (Fig. 2J), the nodes INI and IN2 belonging to the first hierarchy have been reset, and all of the defeated microprocessors 14, 18 and 20 are activated once the network becomes idle again. By sending the first character of the message when it is being directed, it will once again compete for priority on the network. In practice, as will be explained later, an acknowledgment signal is transmitted to the winning microprocessor, but this is not essential to the fullest generalization of the invention.

メツセージがこのようにして全てのマイクロプロセッサ
へブロードカス1−された後には、このメツセージは、
必要に応じてそわらのマイクロプロセッサのいずれかに
よって、或いはそれらの全てによって利用される。どれ
程のマイクロプロセッサによって利用されるかは、動作
のモードと実行される機能の如何に応じて異なるもので
あり、そわらの動作モードや機能には様々なバリエーシ
ョンが存在する。
After the message has been broadcast to all microprocessors in this way, the message is
It may be utilized by any or all of Sowara's microprocessors as needed. How many microprocessors are used depends on the mode of operation and the functions performed, and there are many variations in the operating modes and functions of the microprocessor.

(大域的な相互通信と制御) 41fの互いに競合するメツセージのうちの1つのメツ
セージに対してネットワークが優先権を与える方法とし
て上に説明した具体例は、プライマリ・データ・メッセ
ージの転送に関する例である。しかしながら、複雑なマ
ルチプロセッサ・システムが、現在求められている良好
な効率と多用途に亙る汎用性とを備えるためには、その
他の多くの種類の通信とコマンドとを利用する必要があ
る。備えられていなければならない主要な機能には、プ
ライマリ・データの転送に加えて、広い意味でマルチプ
ロセッサのモードと呼ぶことのできるもの、メツセージ
に対する肯定応答、ステータス表示、並びに制御信号が
含まれている。以下の章は、種々のモード並びにメツセ
ージが、どのようにして優先権付与のためのソーティン
グと通信とを行なうソーティング・コミュニケーション
・ネットワークと協働するかについて、大域的な観点か
ら、即ちマルチプロセッサ・システムの観点から説明し
た概観を提示するものである。更に詳細に理解するため
には、第8図及び第13図と、それらの図についての後
述の説明とを参照されたい。
(GLOBAL INTERCOMMUNICATION AND CONTROL) The example described above of how a network can give priority to one message among competing messages in 41f is an example regarding the transfer of a primary data message. be. However, complex multiprocessor systems must utilize many other types of communications and commands in order to provide the efficiency and versatility currently required. The main functions that must be provided include, in addition to primary data transfer, what can broadly be called a multiprocessor mode, acknowledgment of messages, status indication, and control signals. There is. The following sections provide a global perspective on how the various modes and messages work with a sorting communication network to perform sorting and communication for prioritization, i.e., multiprocessor It presents an overview described from a systems perspective. For a more detailed understanding, reference is made to FIGS. 8 and 13 and the description thereof below.

一斉分配モード、即ちブロードカスト・モードにおいて
は、メツセージは特定の1個または複数個の受信プロセ
ッサを明示することな(、全てのプロセッサへ同時に送
達される。このモードが用いられるのは、典型的な例を
挙げるならば、応答、ステータス問合せ、コマンド、及
び制御機能に関してである。
In broadcast mode, messages are delivered simultaneously to all processors without specifying a particular receiving processor or processors. This mode is typically used. Examples include responses, status inquiries, commands, and control functions.

受信プロセッサが明示されている必要がある場合には、
メツセージ・パケットそれ自体の中に含まれている転送
先選択情報が、そのパケットを局所的に(=個々のプロ
セッサにおいて)受入れるか拒絶するかを判断するため
の判定基準を提供するようになっている。例を挙げれば
、受信プロセッサ・モジュールの内部のインターフェイ
ス・ロジックが、高速RAM26に記憶されているマツ
プ情報に従って、そのパケットのデータがそのインター
フェイス・ロツジクが組込まれている特定のプロセッサ
が関与する範囲に包含されるものか否かを識別する。高
速RAM内のマツプ・ビットを種々に設定することによ
って様々な選択方式の判定基準を容易に設定することが
でき、それらの選択方式には、例えば、特定の受信プロ
セッサの選択、(「ハツシング」により)格納されてい
るデータベースの一部分の選択、ロジカル・プロセス・
タイプ(「クラス」)の選択、等々がある。
If the receiving processor needs to be specified,
Destination selection information contained within the message packet itself now provides criteria for determining whether to accept or reject the packet locally (at each individual processor). There is. For example, interface logic within a receiving processor module may, according to map information stored in high speed RAM 26, route the data in the packet to a range that is relevant to the particular processor in which the interface logic is embedded. Identify whether something is included or not. By setting the map bits in the fast RAM in different ways, the criteria for different selection schemes can be easily established, including, for example, the selection of a particular receive processor ("hashing"). by selecting a portion of a database stored in a logical process
There is a selection of types ("classes"), etc.

ブロードカストを局所的アクセス制御(=個々のプロセ
ッサにおいて実行されるアクセス制御)と共に用いるこ
とは、データベース管理システムにとっては特に有益で
あり、それは、小さなオーバーヘッド用ソフトウェアし
か必要とせずに、広範に分散されたリレーショナル・デ
ータベースの任意の部分や、複数の大域的に既知となっ
ているロジカル・プロセスのうちの任意のものの分散さ
れた局所的コピーに、アクセスすることができるからで
ある。従ってこのシステムは、メツセージの転送先とし
て、1つの転送先プロセッサを特定して選択することも
でき、また、1つのクラスに属する複数の資源を特定し
て選択することもできる更にまた、ハイ・レベルのデー
タベース問合せは、しばしば、データベースの別々の部
分の間の相互参照と、所与のタスクについての一貫性を
有するレファレンス(識別情報)とを必要とする。
Using broadcast with local access control (= access control performed on individual processors) is particularly beneficial for database management systems, which can be widely distributed while requiring little overhead software. It is possible to access distributed local copies of any part of a relational database or any of a plurality of globally known logical processes. Therefore, this system is capable of identifying and selecting one destination processor to which a message is forwarded, and is also capable of identifying and selecting multiple resources belonging to one class. Level database queries often require cross-references between separate parts of the database and consistent references for a given task.

メツセージに組込まれたトランザクション・ナンバ(T
N)は種々の特質を持つものであるが、その中でも特に
、そのような大域的なトランザクションのアイデンティ
ティ(同定情報)及びレファレンスを提供するものであ
る。多数のタスクを、互いに非同期的に動作するローカ
ル・プロセッサ・モジュール(局所的プロセッサ・モジ
ュール)によって同時並行的に処理することができるよ
うになっており、また、各々のタスクないしサブタスク
は適当なTNを持つようにされている。TNとDSW(
転送先選択ワード)とコマンドとを様々に組合わせて用
いることによって、実質的に無限の融通性が達成される
ようになっている。その割当てと処理とが非同期的に行
なわれている極めて多数のタスクに対して、広範なソー
ト/マージ動作(sort/merge operat
ion)を適用することができるようになっている。T
Nについては、それを割当てることと放棄することとが
可能となっており、またマージ動作については、その開
始と停止とが可能とされている。ある種のメツセージ、
例えば継続メツセージ等については、その他のメツセー
ジの伝送に優先する優先権を持つようにすることができ
る。TNと、それにそのTHに関するステータスを更新
するローカル・プロセッサとを利用することにより、た
だ1つの問合せだけで所与のTHについての大域的資源
のステータスを判定することができるようになっている
。分散型の更新もまた一回の通信で達成できるようにな
っている。本発明のシステムは、以上の全ての機能が、
ソフトウェアを拡張したりオーバーヘッドの負担を著し
く増大させることなく、実行されるようにするものであ
る。
Transaction number (T
N) has various characteristics, among other things, it provides the identity and reference of such global transactions. A large number of tasks can be processed in parallel by local processor modules that operate asynchronously with each other, and each task or subtask has an appropriate TN. It is designed to have. TN and DSW (
By using various combinations of destination selection words) and commands, virtually unlimited flexibility is achieved. Extensive sort/merge operations are required for a large number of tasks whose allocation and processing are done asynchronously.
ion) can now be applied. T
N can be allocated and abandoned, and a merge operation can be started and stopped. some kind of message,
For example, a continuation message or the like can be given priority over transmission of other messages. By utilizing a TN and a local processor that updates the status for that TH, it is possible to determine the global resource status for a given TH with just one query. Distributed updates can also be achieved with a single communication. The system of the present invention has all the above functions.
This is done without extending the software or significantly increasing the overhead burden.

本発明を用いるならばその結果として、従来技術におい
て通常見られる個数のマイクロプロセッサよりはるかに
多くの個数のプロセッサを備えたマルチプロセッサ・シ
ステムを、問題タスクに対して非常に効果的に動作させ
ることが可能になる。現在ではマイクロプロセッサは低
価格となっているため、問題領域において高性能を発揮
するシステムを、それも単に「ロー」パワー(”raw
power)が高性能であるというだけではないシステ
ムを、実現することができる。
The result of using the present invention is that multiprocessor systems with a number of microprocessors far greater than those typically found in the prior art can operate very effectively on problem tasks. becomes possible. Microprocessors are now so cheap that it is possible to create systems with high performance in the problem domain, even if they are simply "low" power ("raw").
It is possible to realize a system that not only has high performance (power) but also high performance.

全てのメツセージのタイプと種々のサブタイプとを包含
する一貫性のある優先順位プロトコルが、ネットワーク
に供給される種々様々なメツセージの全てを包括するよ
うに定められている。応答メツセージ、ステータス・メ
ッセージ、並びに制御メツセージはプライマリ・データ
・メッセージとは異なる形式のメツセージであるが、そ
れらも同じように、ネットワークの競合/マージ動作(
contention/merge operatio
n)を利用し、そしてそれによって、転送されている間
に優先権の付与を受ける。本システムにおける応答メツ
セージは、肯定応答(ACK)か、否定応答(NAK)
か、或いは、そのプロセッサがそのメツセージに対して
有意義な処理を加えるための資源を持っていないことを
表わす表示(「非該当プロセッサ(not appli
cable processor) J −N A P
 )である。NAK応答は、ロック(lock)状態、
エラー状態、ないしはオーバーラン(overrun 
)状態を表示する幾つかの異なったタイプのうちのいず
れであっても良い。発信元プロセッサは1つだけである
ことも複数個ある場合もあるが、発信元プロセッサはメ
ツセージの送信を終了した後には以上のような応答を必
要とするため、応答メツセージにはプライマリ・データ
・メッセージより高位の優先順位が与えられている。
A consistent priority protocol that encompasses all message types and various subtypes is defined to encompass all of the different types of messages that are fed into the network. Although response messages, status messages, and control messages are different types of messages than primary data messages, they are similarly subject to network contention/merging behavior (
content/merge operation
n) and thereby receive priority while being transferred. The response message in this system is an acknowledgment (ACK) or a negative acknowledgment (NAK).
or an indication that the processor does not have the resources to perform meaningful processing on the message (“not appli”).
cable processor) J-NAP
). NAK response indicates lock status,
error condition or overrun
) can be any of several different types of status indications. There may be only one originating processor or there may be multiple originating processors, but the originating processor requires a response like this after it has finished sending the message, so the response message contains the primary data. It is given higher priority than messages.

本システムは更に5ACKメツセージ(ステータス肯定
応答メツセージ: 5tatus acknowled
g−IIIent message)を用いており、こ
の5ACKメツセージは、特定のタスク即ちトランザク
ションに関する、ある1つのローカル・プロセッサのレ
ディネス状態(どのような動作が可能であるかという状
態: readiness 5tate )を表示する
ものである。この5ACK応答の内容は局所的に(=個
々のプロセッサにおいて、即ちローカル・プロセッサに
おいて〉更新されると共に、ネットワークからアクセス
できる状態に保持される。斯かる5ACK応答は、ネッ
トワークのマージ動作と組合わされることによって、所
与のタスク即ちトランザクションに関する単一の問合せ
による大域的ステータス報告が得られるようにしている
。ステータス応答は優先順位プロトコルに従うため、あ
る1つのトランザクション・ナンバに関する応答のうち
のデータ内容が最小の応答が自動的に優先権を得ること
になり、それによって最低のレディネス状、聾が大域的
なシステム状態として確定され、しかもこれは中断され
ることのない1回の動作によって行なわれる。更に、こ
のような5ACK表示はある種のプライマリ・メツセー
ジと共に用いられることもあり、それによって、イ列え
ばシステムの初期化やロックアウト動作等の、様々なプ
ロトコルが設定される。
The system also sends a 5ACK message (status acknowledged message: 5tatus acknowledged).
g-IIIent message), and this 5ACK message indicates the readiness state (state of what kind of operation is possible: readiness 5tate) of a certain local processor regarding a specific task or transaction. It is something. The contents of this 5ACK response are updated locally (=in each processor, i.e., at the local processor) and kept accessible from the network.Such a 5ACK response is combined with a network merge operation. This allows a single query to provide global status reporting for a given task or transaction. Status responses follow a priority protocol, so the data content of a response for a given transaction number The response with the lowest response automatically receives priority, thereby establishing the lowest readiness state, deafness, as the global system state, and this is done in a single, uninterrupted operation. Furthermore, such a 5ACK indication may be used in conjunction with certain primary messages, thereby establishing various protocols such as system initialization and lockout operations, among others.

種々のメツセージのタイプに関する優先順位プロトコル
は先ず最初にコマンド・コードについて定Aされており
、このコマン1−・コートは、第11図に示すように各
メツセージ及び応答の先頭に立つコマンド・ワードの、
その最初の6ビツトを使用している。これによってメツ
セージのタイプ及びサブタイプに関して充分な区別付け
ができるようになっているが、ただし、より多段階の区
別付けをするようにすることも可能である。
The priority protocol for the various message types is first defined for the command code, which is the command code for the command word that precedes each message and response, as shown in Figure 11. ,
The first 6 bits are used. This makes it possible to make a sufficient distinction between message types and subtypes, but it is also possible to make a more multi-level distinction.

第11図を参照すれば分るように、本実施例においては
、5ACK応答は7つの異なったステータス・レヘルを
区別して表わす(更には優先権判定のための基準をも提
供する)ものとされている。
As can be seen from FIG. 11, in this embodiment, the 5ACK response is used to distinguish between seven different status levels (and also provide a criterion for determining priority). ing.

応答メツセージの場合には、以上の6ビツトの後に、1
0ビツトの0PIDの形式としたタグが続く(第3図参
照)。TNと0PIDとはいずれも更なるソーティング
用判定基準としての機能を果たすことができ、その理由
は、これらのTNと0PIDとはタグ領域の内部におい
て異なったデータ内容を持つからである。
In the case of a response message, after the above 6 bits, 1
A tag in the form of 0-bit 0PID follows (see Figure 3). Both TN and 0PID can serve as criteria for further sorting, since they have different data content inside the tag area.

各プライマリ・メツセージがネットワークを介して伝送
された後には、全てのプロセッサのインターフェイス部
か、たとえそれかNAPであろうとも、ともかく応答メ
ツセージを発生する。それらの応答メツセージもまたネ
ットワーク上で互いに競合し、それによって、東−また
は共通の勝利した応答メツセージが全てのプロセッサへ
ブロードカストされる。敗退したメツセージパケットは
後刻再び同時送信を試みられることになるが、この再度
の同時送信は非富に短い遅延の後に行なわれ、それによ
ってネットワークが実質的に連続的に使用されているよ
うにしている。複数のプロセッサがACK応答を送出し
た場合には、それらのACK応答は0PIDに基づいて
ソーティングされることになる。
After each primary message is transmitted over the network, every processor interface, whether it is the NAP or not, generates a response message. Their response messages also compete with each other on the network, whereby a common or winning response message is broadcast to all processors. The lost message packets will be attempted to transmit simultaneously again at a later time, but this re-simultaneous transmission will occur after a very short delay, thereby ensuring that the network is in virtually continuous use. There is. If multiple processors send ACK responses, the ACK responses will be sorted based on 0PID.

本発明を用いるならばその結果として、タスクの開始と
停止と制御、並びにタスクに対する問合せを、極めて多
数の物理的プロセッサによって、しかも僅かなオーバー
ヘッドで、実行することが可能となる。このことは、多
数のプロセッサのロー・パワー(raw power 
)を問題状態の処理のために効果的に使うことを可能と
しており、なぜならば、このロー・パワーのうちシステ
ムのコープイネ−ジョン(coordination)
及び制御に割かれてしまう量か極めて少なくて済むから
である。
As a result of the present invention, starting, stopping, and controlling tasks, as well as interrogating tasks, can be performed by a large number of physical processors and with little overhead. This is due to the low power of many processors.
) can be used effectively to handle problem situations, because out of this low power, system coordination
This is because the amount of time spent on control and control can be extremely small.

コープイネ−ジョンと制御のオーバーヘッドは、いかな
る分散型/A埋クシステムおいても、その効率に対する
根本的な制約を成すものである。
Co-operation and control overhead constitute a fundamental constraint on the efficiency of any distributed/architecture system.

大域的な制御(即ちネットワークの制御)を目的として
いる場合には、種々のタイプの制御通信が用いられる。
For purposes of global control (ie, network control), various types of control communications are used.

従って、「マージ停止」、「ステータス要求」、及び「
マージ開始」の各メツセージや、あるタスクの割当ての
ためのメツセージ並びにあるタスクの放棄のためのメツ
セージは、データ・メツセージと同一のフォーマットと
されており、それ故それらのメツセージもまた、ここで
はプライマリ・メツセージと称することにする。
Therefore, "stop merge", "request status", and "
Messages for ``start merge'', messages for assigning a task, and messages for abandoning a task are in the same format as data messages, and therefore these messages are also treated as primary messages here.・We will call it Message.

それらの制御メツセージも同様にTNを含んでおり、そ
して優先順位プロトコルの中の然るべき位置に位置付け
られている。このことについては後に第10図及び第1
1図に関して説明することにする。
Their control messages also contain TNs and are placed in their place in the priority protocol. This will be discussed later in Figure 10 and 1.
Let us explain with reference to Figure 1.

r大域的セマフォ・バッファ・システム」という用語を
先に使用したのは、第1図に示された高速ランダム・ア
クセス・メモリ26及び制御ロジック28が、マルチプ
ロセッサのモードの選択とステータス表示及び制御指示
の双方向通信との両方において、重要な役割りを果たし
ているという事実があるからである。この大域的セマフ
ォ・バッファ・システムはアクセスの二重性を提供する
ものであり、このアクセスの二重性とは、高速で動作す
るネットワーク構造体50とそれより低速で動作するマ
イクロプロセッサとの双方が、メモリ26内のメツセー
ジ、応答、制御、ないしはステータス表示を、遅延なし
に、そしてネットワークとマイクロプロセッサとの間の
直接通信を必要とすることなく、参照することができる
ようにしているということである。これを実現するため
に、制御ロジック28が、メモリ26を差込みワード・
サイクル(interleaved woed cyc
le)で時間多重化(タイム・マルチブレクシング)し
てネットワーク50とマイクロプロセッサとへ接続して
おり、これによって結果的に、メモリ26を共通してア
クセスすることのできる別々のボートが作り上げられて
いるのと同じことになっている。大域的資源、即ちネッ
トワーク50と複数のマイクロプロセッサとは、トラン
ザクション・ナンバを、メモリ26のうちのトランザク
ションのステータスを格納するために割振られている部
分へのロケートを行なうアドレス・ロケータとして、利
用することができる。居所的なレベル(=個々のプロセ
ッサのレベル)において、あらゆる種類の使用可能状態
を包含する所与のトランザクションに関するサブタスク
のステータスを、マイクロフロセッサの制御の下にメモ
リ26の内部で更新し、そして制御ロジック28によっ
てバッファ・システムにロックするということが行なわ
れる。、7種類の異なった作動可能状態のうちの1つを
用いることによって、エントリをメモリ26の異なった
専用部分から好適に取出すことができるようになってい
る。ネットワークから問合せを受取ったならば、プロセ
ッサのステータスの通信が行なわれて(即ち「セマフォ
」が読出されて)、それに対する優先権の判定がネット
ワークの中で行なわれ、その際、完了の程度の最も低い
レデイネス状態が優先権を得るようになっている。以上
の構成によって、1つの問合せに対する全てのプロセッ
サからの迅速なハードウェア的応答が得られるようにな
っている。従って所与のタスクに関する分散された複数
のサブタスクの全てが実行完了されているか否かについ
て、遅滞なく、且つソフトウェアを用いることなく、知
ることができる。更にこのシステムでは、通信を行なう
プロセッサ・モジュールのいずれもがトランザクション
・ナンバの割当てを行なえるようになっており、このト
ランザクション・ナンバ割当ては、使用可能な状態にあ
るトランザクション・ナンバを、メツセージに使用し或
いは各々の大域的セマフォ・バッファ・システム内にお
いて使用するために割当てる動作である。
The term "global semaphore buffer system" was originally used because the high speed random access memory 26 and control logic 28 shown in FIG. This is due to the fact that it plays an important role in both two-way communication of instructions. This global semaphore buffer system provides access duality in that both the fast-running network structure 50 and the slower-running microprocessor can access the memory 26. messages, responses, controls, or status indications within the microprocessor can be viewed without delay and without the need for direct communication between the network and the microprocessor. To accomplish this, control logic 28 connects memory 26 to an
interleaved cycle
time multiplexing to the network 50 and the microprocessor, resulting in separate boats having common access to the memory 26. The same thing is happening. Global resources, ie, network 50 and multiple microprocessors, utilize the transaction number as an address locator to locate the portion of memory 26 that is allocated to store the status of the transaction. be able to. At the local level (=level of the individual processor), the status of the subtasks for a given transaction, including all kinds of available states, is updated inside the memory 26 under the control of the microprocessor and the control A lock on the buffer system is provided by logic 28. , one of seven different ready states allows entries to be advantageously retrieved from different dedicated portions of memory 26. Once a query is received from the network, the status of the processor is communicated (i.e., the ``semaphore'' is read) and a priority determination is made within the network, with the degree of completion being determined. The lowest readiness status gets priority. With the above configuration, a quick hardware response from all processors to one inquiry can be obtained. Therefore, it is possible to know without delay and without using software whether or not all of the distributed subtasks related to a given task have been completed. Furthermore, in this system, any of the communicating processor modules can allocate a transaction number, and this transaction number assignment uses an available transaction number for a message. The operation of allocating or allocating for use within each global semaphore buffer system.

以上の、トランザクションのアイデンティティとステー
タス表示とを統合した形で使用するということの好適な
具体的態様には、複数のプロセッサの各々が所与の判定
基準に関わる全てのメツセージを順序正しく送出するこ
とを要求されるようにした、複合的マージ動作がある。
Preferred embodiments of the integrated use of transaction identity and status display include that each of the plurality of processors sends out all messages related to a given criterion in an orderly manner. There is a complex merge operation that requires .

もし従来技術に係るシステムであれば、先ず各々のプロ
セッサか自身のタスクを受取ってその処理を完了し、然
る後にその処理の結果を、最終的なマージ動作を実行す
るある種の「マスク」プロセッサへ転送するという方式
を取らねばならないであろう。従ってそのマスクプロセ
ッサが、そのシステムの効率に対する重大なネックとな
るわけである。
If a prior art system were used, each processor would first receive its own task and complete its processing, and then use the results of that processing as some kind of "mask" to perform the final merging operation. You will have to use a method of transferring it to the processor. Therefore, the mask processor becomes a serious bottleneck to the efficiency of the system.

大域的レディネス状態が、作用が及ぶプロセッサの全て
が準備のできた状態にあるということを確証したならば
、夫々のプロセッサに備えられたメモリ26における最
高の優先順位を有するメツセージが互いに同時にネット
ワークへ送出され、そしてそれらのメツセージに対して
は、前述の如く、マージが行なわれる間に優先権の判定
がなされる。幾つものグループのメツセージについて次
々と再送信の試みがなされ、その結果、複数のメツセー
ジを当該トランザクション・ナンバに間借先順位の高い
ものから低いものへと順に並べ、その最後には最低の優
先順位のものがくるようにした、シリアルなメツセージ
列が発生される。特別のコマンド・メツセージに従りて
、このシステムは、マージ動作をその途中で停止するこ
とと途中から再開することとが可能とされており、その
ため、互いに同時刻に実行の途中にある複数のマージ動
作が、このネットワーク50を共有しているという状態
が存在し得るようになっており、それによってこのシス
テムの資源を極めて有効に利用することが可能となって
いる。
Once the global readiness state has established that all of the affected processors are in a ready state, the messages with the highest priority in the memory 26 provided in each processor are sent to the network at the same time as each other. and priority determinations are made for those messages during merging, as described above. Attempts are made to retransmit several groups of messages one after another, resulting in the messages being ordered from highest to lowest priority for that transaction number, with the lowest priority being the last. A serial message sequence is generated as if something were coming. Depending on special command messages, the system is capable of stopping and resuming a merge operation mid-way, allowing multiple merge operations that are in the middle of execution at the same time to A situation may exist in which merge operations share this network 50, thereby making it possible to utilize the resources of the system very efficiently.

従って、いかなる時刻においても、このネットワーク5
0に接続されている動作中のプロセッサの全てが、様々
なトランザクション・ナンバに関係した複数のメツセー
ジに関する動作を互いに非同期的に実行していられるよ
うになっている。
Therefore, at any time, this network 5
All of the active processors connected to 0 are enabled to perform operations on multiple messages related to various transaction numbers asynchronously with each other.

1つのステータス問合せによりて同一のトランザクショ
ン・ナンバ即ち「現在」トランザクション・ナンバの参
照が行なわれたなら、全てのプロセッサか、用、低さ打
ているステータス・レベルのうちの1つをもって互いに
同期して応答を行なう。
If a single status query references the same transaction number, i.e. the "current" transaction number, then all processors must be synchronized with each other with one of the following status levels: and respond.

例を挙げると、「マージ開始(START MERGE
 ) Jメツセージは、ある特定のトランザクション・
ナンバによって指定される大域的セマフォのテスト(=
調査)を行なわせ、もしこのテストの結果得られた大域
的状態が「準備完了」状態であれば(即ち「送信準備完
了(SEND READY) Jまたは「受信準備完了
(RECEIVE READY ) J ノイずれかび
状態であれば)、現在トランザクション・ナンバ(pr
esent transact、ion number
 : P T N )の値かこの「マージ開始」メツセ
ージに含まれて伝送されたTNの値に等しくセットされ
る。(もしテストの結果得られた大域的状態が「準備完
了」状態でなかったならば、PTNの値はrTNO(こ
れはトランザクション・ナンバ(TN)が「0」である
という意味である)」という値に戻されることになる)
For example, "START MERGE"
) J Message is a transaction
Test of global semaphore specified by number (=
If the global state resulting from this test is a "ready" state (i.e. "SEND READY" or "RECEIVE READY") current transaction number (pr
esent transact,ion number
: P T N ) is set equal to the value of TN transmitted in this ``Start Merge'' message. (If the global state obtained as a result of the test is not the "ready" state, the value of PTN is rTNO (which means that the transaction number (TN) is "0"). (will be returned to the value)
.

更には「マージ停止(STOP MERGE) Jメツ
セージも、現在トランザクション・ナンバを「0」にリ
セットする。このようにしてrTNOJは、ある1つの
プロセッサから他の1つのプロセッサへのメツセージ(
ポイント・ツー・ポイント・メツセージ)のために使用
される「デイフォルト」値のトランザクション・ナンバ
として利用されている。別の言い方をすれば、このrT
NOJによって、「ノン・マージ(non−mer3e
 ) Jモードの動作が指定されるのである。
Furthermore, the "STOP MERGE" J message also resets the current transaction number to "0". In this way, rTNOJ sends messages (
It is used as the ``default'' value transaction number used for point-to-point messages. In other words, this rT
“Non-mer3e” was created by NOJ.
) J mode operation is specified.

この大域的相互通信システムは、メツセージの構成につ
いては第3A、第3B、第3C,及び第11図に示され
ているものを、また、高速ランダム・アクセス・メモリ
26の構成については第8図及び第10図に示されてい
るものを採用している。更に詳細な説明は、後に第5、
第7、第9、及び第13図に関連させて行なうことにす
る。
This global intercommunication system includes those shown in FIGS. 3A, 3B, 3C, and 11 for the message configuration and FIG. 8 for the high speed random access memory 26 configuration. and those shown in FIG. 10 are adopted. A more detailed explanation will be given later in the fifth section.
This will be done in conjunction with FIGS. 7, 9, and 13.

第3A〜第3C図及び第11図から分るように、応答に
用いられるコマンド・コートは00から0F(16進数
)までであり、また、プライマリ・メツセージに用いら
れるコマンド・コードは10(16進数)からより大き
な値に亙っている。従って応答はプライマリ・メツセー
ジに対して儂先し、第11図に示した並へ順では最小の
値か先頭にくるようにしである。
As can be seen from Figures 3A to 3C and Figure 11, the command codes used for responses range from 00 to 0F (hexadecimal), and the command codes used for primary messages are 10 (16 (base numbers) to larger values. Therefore, the response is made to the primary message first, and in the order shown in FIG. 11, the smallest value comes first.

高速RAMメモリ26” (第8図)の内部の1つの専
用格納領域(同図において「トランザクション・ナンバ
」と書かれている領域)が、第12図のワード・フォー
マット(前述の7種類のレディネス状態、TN割当済状
態、並びにTN非割当状態)を格納するために使用され
ている。
One dedicated storage area (the area written as "transaction number" in the figure) inside the high-speed RAM memory 26" (Figure 8) stores data in the word format of Figure 12 (the seven types of readiness described above). TN status, TN assigned status, and TN unassigned status).

このメモリ26”のその他の複数の専用部分のなかには
、入力(受信メツセージ)のための循環バッファと、出
力メツセージのための格納空間とが含まれている。この
メモリ26”のもう1つの別の分離領域がメツセージ完
了ベクトル領域として使用されており、この領域は、送
信完了した出力メツセージにポインタを置くことかでき
るようにするものであり、これによって、出力メツセー
ジの格納空間を有効に利用できるようになっている。
Among the other dedicated portions of this memory 26'' are a circular buffer for input (received messages) and a storage space for output messages. A separate area is used as the message completion vector area, which allows you to place a pointer on the output message that has been sent, thereby making efficient use of the output message storage space. It has become.

以上から理解されるように、メモリ26及び制御ロジッ
ク28については、それらのキューイング(queui
ng )機能並びにデータ・バッファリング機能は確か
に重要なものであるが、それらと共に、大域的トランザ
クションを個々のプロセッサに関して分散させて処理す
るところの多重共同動作が独特の重要性を有するものと
なっている。
As understood from the above, the memory 26 and the control logic 28 are queued.
ng ) functions and data buffering functions are certainly important, but with them comes the unique importance of multiple collaborative operations in which global transactions are distributed and processed with respect to individual processors. ing.

(能動ロジック・ノード) 冗長性をもって配設されている2つのネットワークのい
ずれにおいても、第1図の複数の能動ロジック・ノー8
54は夫々が互いに同一の構成とされているが、ただし
例外として、各ネットワークの頂点にある方向反転ノー
ト54だけは、上流側ボートを備えず、その替わりに、
下流方向へ方向反転するための単なる信号方向反転経路
を備えている。第4図に示すように、1個のノート54
を、機能に基づいて2つのグループに大きく分割するこ
とかできる。それらの機能的グループのうちの一方はメ
ツセージと並びにコリジヨン信号(衝突番号)の伝送に
関係するものであり、他方は共通りロック信号の発生並
びに再伝送に関係するものである。クロック信号に対し
ては、異なったノードにおける夫々のクロック信号の間
にスキューが存在しないように、即ちゼロ・スキューと
なるように、同期が取られる。以上の2つの機能グルー
プは互いに独立したものではなく、その理由は、ゼロ・
スキュー・クロック回路が信号伝送システムの重要な部
分を形成しているからである。ワード・クロック(シリ
アルな2つのバイトからなる)とバイト・クロックとの
両方が用いられる。ここで特に述べておくと、この能動
ロジック・ノード54の状態を設定ないしリセットする
際にも、また、異なった動作モードを設定する際にも、
この能動ロジック・ノード54を外部から制御する必要
はなく、また実際にそのような制御か行なわれることは
ない。更には、夫々のノート54か互いに同一の構造で
あるため、最近のIC技術を使用してそれらのノートを
大量生産することか可能であり、それによって、信頼性
を向上させつつ、かなりのコストの低下を実現すること
かてきる。
(Active Logic Nodes) In either of the two networks arranged with redundancy, multiple active logic nodes 8 in FIG.
54 have the same configuration as each other, with the exception of the direction-reversing notebook 54 at the top of each network, which does not have an upstream boat, but instead:
A simple signal direction reversal path is provided for direction reversal in the downstream direction. As shown in FIG. 4, one notebook 54
can be broadly divided into two groups based on functionality. One of these functional groups is concerned with the transmission of messages as well as collision signals (collision numbers), the other with the generation and retransmission of common lock signals. The clock signals are synchronized such that there is no skew between the respective clock signals at different nodes, ie, zero skew. The above two functional groups are not independent of each other, and the reason is that zero and
This is because skew clock circuits form an important part of signal transmission systems. Both a word clock (consisting of two serial bytes) and a byte clock are used. It is noted here that, both when setting or resetting the state of this active logic node 54 and when setting different modes of operation,
There is no need to externally control active logic node 54, and no such control is actually provided. Furthermore, because each notebook 54 is identical in structure to the other, it is possible to mass produce them using modern IC technology, thereby increasing reliability while reducing significant cost. It is possible to achieve a reduction in

先に言及したA、B及びCの夫々の「ボート」は、その
各々が10本の入力データ・ラインと10本の出力デー
タ・ラインとを備えている。
Each of the A, B, and C "boats" mentioned above each have 10 input data lines and 10 output data lines.

例えばAボートでは、入力ラインはAIで表わされ、出
力ラインはAOで表わされている。各々のボート毎に、
上流方向クロック・ライン及び下流方向クロック・ライ
ンと共に、1本の「コリジヨン」ライン(即ち「衝突」
ライン)が用いられている(例えばAボートにはAco
lが用いられている)。Aボート及びBボートの夫々の
データ・ラインはマルチプレクサ60に接続されており
、このマルチプレクサ60は、互いに競合する2つのワ
ードのうちの優先する方のワード、或いは(それらの競
合ワードが互いに同一の場合には)その共通ワードを、
データ信号COとして、上流側ボート(Cボート)に接
続されているアップ・レジスタ62ヘスイツチングして
接続する。これと同時に、より高位の階層のノードから
送出されてCボートで受取られた下流方向データが、ダ
ウン・レジスタ64内へシフト・インされ、そしてそこ
からシフト・アウトされて、Aボート及びBボートの両
方に出力として発生する。
For example, on the A boat, the input line is represented by AI and the output line is represented by AO. For each boat,
Along with an upstream clock line and a downstream clock line, there is one "collision" line (i.e.
line) is used (for example, Aco line) is used for A boat.
l is used). The data lines of each of the A and B boats are connected to a multiplexer 60 which selects which of the two conflicting words has priority, or which of the conflicting words are identical to each other. ) that common word,
The data signal CO is switched and connected to the up register 62 connected to the upstream boat (C boat). At the same time, downstream data sent from higher hierarchy nodes and received on the C boat is shifted into and out of the down register 64 and sent to the A and B boats. occurs as output in both.

バイトからなるシリアルな上流方向への信号列のうちの
一方はブロックされ得るわけであるが、しかしながらそ
れによって上流方向ないし下流方向への余分な遅延が発
生することはなく、そして複数のワードが、ワード・ク
ロック並びにバイト・クロックの制御の下に、切れ目の
ない列を成して、アップ・レジスタ62及びダウン・レ
ジスタ64を通して進められて行くのである。
One of the serial upstream streams of bytes may be blocked, however, without any additional upstream or downstream delay, and the words may be blocked. It is advanced through up register 62 and down register 64 in a continuous line under the control of the word clock and byte clock.

Aボート及びBボートへ同時に供給された互いに競合す
るバイトどうしは、第1及び第2のパリティ検出器66
.67へ送られると共に比較器70へも送られ、この比
較器70は、8個のデータビットと1個の制御ビットと
に基づいて、最小の値のデータ内容が優先権を得るとい
う方式で優先権の判定を行なう。この優先権判定のため
のプロトコルにおいては、「アイドル」信号、即ちメツ
セージが存在していないときの信号は、とぎれることな
く続く「1」の列とされている。パリティ・エラーは、
例えば過剰な雑音の存在等の典型的な原因や、その他の
、信号伝送ないし回路動作にFA3’JIを与える何ら
かの要因によって生じ得るものである。しかしながら本
実施例のシステムにおいては、パリティ・エラー表示は
、更に別の重要な用途のためにも利用されている。即ち
、あるマイクロプロセッサが動作不能状態へ移行すると
、その移行がそのたび毎にマーキングされ、このマーキ
ングは、パリティ・ラインを含めた全ての出力ラインが
高レベルになる(即ちその値が「1」になる)ことによ
って行なわれ、従ってそれによって奇数パリティ・エラ
ー状態が発生されるようになっている。このパリティ・
エラー表示は、1つのエラーが発生したならネットワー
ク内を「マーカ(marker) Jとして伝送され、
このマーカによって、システムは、大域的資源に変化が
生じたことを識別すると共にその変化がどのようなもの
かを判定するためのブロシージ妙を開始することかでざ
るようになっている。
The mutually conflicting bytes supplied simultaneously to the A and B boats are detected by the first and second parity detectors 66.
.. 67 and also to a comparator 70, which prioritizes the data content based on the eight data bits and one control bit in such a way that the data content with the lowest value gets priority. Determine rights. In this priority determination protocol, the ``idle'' signal, ie, the signal when no message is present, is an uninterrupted string of ``1''s. Parity error is
This can be caused by typical causes such as the presence of excessive noise, or any other factor that contributes to FA3'JI in signal transmission or circuit operation. However, in the system of this embodiment, the parity error indication is also used for another important purpose. That is, each time a microprocessor transitions to an inoperable state, the transition is marked, and this marking indicates that all output lines, including the parity line, go high (i.e., their value is ``1''). ), thereby causing an odd parity error condition. This parity
If one error occurs, the error display is transmitted as a "marker" within the network.
This marker allows the system to identify when a change has occurred in a global resource and to initiate a blogging process to determine what that change is.

1対のパリティ検出器66.67と比較器70とは、信
号を制御回路72へ供給しており、この制御回路72は
、優先メツセージ・スイッチング回路74を含み、また
、優先権の判定かさなれたならば比較器70の出力に応
答してマルチプレクサ60を2つの状態のうちのいずれ
かの状態にロックするように構成されており、更に、下
流方向へのコリジヨン信号を発生並びに伝播するように
構成されている。移行パリティ・エラー伝播回路76の
名前のいわれは、この回路が、先に説明した同時に全て
のラインが「1」とされるパリティ・エラー状態をネッ
トワークの中に強制的に作り出すものだからである。リ
セット回路78はこのノードを初期状態に復帰させるた
めのものであり、エンド参オブ争メツセージ(end 
of IIlessageEOM)検出器80を含んで
いる。
A pair of parity detectors 66,67 and a comparator 70 provide signals to a control circuit 72 which includes a priority message switching circuit 74 and which also performs priority determination. If so, the multiplexer 60 is configured to lock into one of two states in response to the output of the comparator 70, and is further configured to generate and propagate a collision signal in the downstream direction. It is configured. The transitional parity error propagation circuit 76 is so named because it forces into the network the previously described parity error condition in which all lines are ``1'' at the same time. The reset circuit 78 is for returning this node to its initial state, and sends an end participation message (end
of IIlessageEOM) detector 80.

以上に説明した諸機能並びに後に説明する諸機能が実行
されるようにするためには、各々の能動ロジック・ノー
ドにおいてマイクロプロセッサ・チップを使用してそれ
らの機能を実行するようにしても良いのであるが、しか
しながら、第5図の状態図と以下に記載する論理式とに
従ってそれらの機能が実行されるようにすることによっ
て、更に容易に実行することが可能となる。第5図の状
態図において、状態SOはアイドル状態を表わすと共に
、互いに競合しているメツセージどうしが同一であるた
めに、一方のポートを他方のポートに優先させる判定が
下されていない状態をも表わしている。S1状態及びS
2状態は夫々、Aボートが優先されている状態及びBボ
ートが優先されている状態である。従って、Blのデー
タ内容がAIのデータ内容より大きく且つAIにパリテ
ィ・エラーが存在していない場合、または、Blにパリ
ティ・エラーが存在している場合(これらのAIにパリ
ティ・エラーが存在していないという条件と、Blにパ
リティ・エラーが存在しているという条件とは、夫々、
AlPE及びBIPEと表記され、フリップ・フロップ
の状態によって表わされる)には、Aボートが(優先さ
れている。
In order to perform the functions described above, as well as those described below, a microprocessor chip may be used in each active logic node to perform those functions. However, by having those functions performed according to the state diagram of FIG. 5 and the logical expressions described below, they can be performed more easily. In the state diagram of FIG. 5, state SO represents an idle state, and also a state in which conflicting messages are the same and a decision has not been made to give priority to one port over the other port. It represents. S1 state and S
The two states are a state where the A boat is given priority and a state where the B boat is given priority, respectively. Therefore, if the data content of Bl is larger than the data content of AI and there is no parity error in AI, or if there is a parity error in Bl (if there is a parity error in these AIs), The condition that there is no parity error and the condition that there is a parity error in Bl are, respectively.
The A boat has priority (denoted AlPE and BIPE and represented by the states of the flip-flops).

AIとBlとに関して以上と逆の論理状g(論理条件)
は、この装置が52状態へ移行すべき状態(条件)とし
て存在するものである。より高位の階層のノートから、
その階層において衝突が発生した旨の表示が発せられた
ならば、その表示は、下流方向信号の中に入れられてC
0LINとして送り返されてくる。この装置は、それが
SO状態、S1状態、及びS2状態のうちのいずれの状
態にあった場合であってもS3状態へと移行し、そして
このコリジヨン信号を下流方向へAcol及びB ca
lとして転送する。S1状態ないしはS2状態にあると
きには、このノードは既に判定を下しているため、同様
の方式でコリジヨン信号が下流方向へ、より低位の階層
の(2つの)ノードへと送出されており、このとき、優
先メツセージスイッチング回路74は、状況に応じてA
ボート或いはBポートにロックされている。
Logical state g (logical condition) opposite to the above regarding AI and Bl
exists as a state (condition) for this device to transition to state 52. From higher level notes,
If an indication that a collision has occurred at that level is issued, that indication is included in the downstream signal and C
It is sent back as 0LIN. The device transitions to the S3 state wherever it is in the SO, S1, and S2 states, and sends this collision signal downstream to Acol and Bca.
Transfer as l. When in the S1 state or S2 state, this node has already made a decision, so a collision signal is sent downstream in the same way to the (two) nodes in the lower hierarchy. At this time, the priority message switching circuit 74 selects A according to the situation.
Locked to boat or B port.

リセット回路78はEOM検出器80を含んでおり、こ
の検出器80を用いて、ノードのS3からSOへのリセ
ット(第5図)が行なわれる。
Reset circuit 78 includes an EOM detector 80, which is used to reset the node from S3 to SO (FIG. 5).

第1のリセットモードは、第6図に示すようにプライマ
リ・メツセージの中のデータ・フィールドを終結させて
いるエンド・オブ・メツセージ(EOM)フィールドを
利用するものである。
The first reset mode utilizes the End of Message (EOM) field, which terminates the data field in the primary message, as shown in FIG.

1つのグループを成す複数のフリップ・フロップと複数
のゲートとを用いて、次式の論理状態が作り出される。
Using a group of flip-flops and gates, the following logic state is created:

URINC−URC−URCDLY ここで、URCはアップ・レジスタの中の制御ビットを
表わし、URINCはこのアップ・レジスタへ入力され
る入力信号の中の制御ビットの値を表わし、モしてU 
RCD LYはアップ・レジスタ遅延フリップ・フロッ
プ内のC値(=制御ビットの値)を表わしている。
URINC-URC-URCDLY where URC represents the control bit in the up register, URINC represents the value of the control bit in the input signal input to this up register, and
RCD_LY represents the C value (=value of control bit) in the up register delay flip-flop.

第6図に示すように、制御ビットの列の中の、連続する
2個のビットを1組としたビット対(ビット・ベア)が
、ある種のフィールドを明示すると共に、1つのフィー
ルドから次のフィールドへの移行を明示するようにしで
ある。例を挙げると、アイドル時に用いられる「1」の
みか続く制御ビット状態から、ro、IJのビット・シ
ーケンス(=ビット対)への移行は、フィールドの開始
を明示するものである。この、「0.1」のシーケンス
は、データ・フィールドの開始を識別するのに用いられ
る。これに続<rt、0」の制御ビットのストリング(
列)は、内部フィールドないしはサブフィールドを表示
しており、またエンド・オブ・メツセージ(EOM)は
ro、OJの制御ビット対によって識別される。「1.
0」のビット対のストリングのあとに「Olo」のビッ
ト対がくる状態は、他にはない状態であり、容易に識別
することができる。URINC信号、URC信号、及び
URCDLY信号はまとめてアンド(論理積)をとられ
、これらの各々の信号は互いにバイト・クロック1つ分
づつ遅延した関係にある。それらのアンドをとった結果
得られる信号の波形は、メツセージ・パケットが始まる
までは高レベルで、この開始の時点において低レベルに
転じ、そしてこのデータ(=メツセージ・パケット)か
続い“Cいる間、低レベルにとどまる波形である。この
波形は、EOMが発生されてからバイト・クロック2つ
分が経過した後に、高レベルへ復帰する。この、波形U
RINC−URC−URCDLYが正に転じる遷移によ
って、EOMが検出される。第5図に付記されているよ
うに、この正遷穆によってSlまたはS2からSOへの
復帰動作がトリガされるのである。
As shown in Figure 6, a bit pair (bit bear), which is a set of two consecutive bits in a string of control bits, specifies a certain type of field and also This is to make the transition to the field explicit. For example, the transition from the control bit state, which is used when idle and is followed by only a 1, to the ro, IJ bit sequence (=bit pair) marks the start of a field. This sequence of "0.1" is used to identify the start of a data field. This is followed by a string of control bits (
The columns (columns) indicate internal fields or subfields, and the end of message (EOM) is identified by the ro, OJ control bit pair. “1.
A string of bit pairs of ``0'' followed by a bit pair of ``Olo'' is a unique condition and can be easily identified. The URINC, URC, and URCDLY signals are ANDed together, and each of these signals is delayed by one byte clock from each other. The waveform of the signal obtained as a result of taking these ANDs is at a high level until the start of a message packet, at which point it changes to a low level, and while this data (=message packet) continues "C". , a waveform that remains low. This waveform returns to a high level two byte clocks after EOM is generated. This waveform U
EOM is detected by a transition where RINC-URC-URCDLY goes positive. As noted in FIG. 5, this positive transition triggers a return operation from Sl or S2 to SO.

より高位の階層のノードがリセットされると、それによ
ってC0LIN状態となり、これは衝突状態が消失した
ことを表わす。この論理状態は、S3から基底状態であ
るSOへの復帰動作を開始させる。注意して頂ぎたいこ
とは、このC0LIN状態は、エンド・オブ・メツセー
ジがネットワーク50の階層を次々と「走り抜けて」い
くのにつれて、下方へ、それらの階層へ伝播していくと
いうことである。以上のようにして、各々のノードはメ
ツセージの長さの長短にかかわらず自己リセットできる
ようになっている。更に注意して頂きたいことは、ネッ
トワークの初期状態の如何にかかわらず、アイドル信号
が供給されたならば全てのノードがSO状態にリセット
されるということである。
When a higher hierarchy node is reset, it enters the C0LIN state, which indicates that the conflict condition has disappeared. This logic state initiates a return operation from S3 to the base state SO. Note that this C0LIN condition propagates downward through successive layers of network 50 as the end-of-message "runs through" each layer. As described above, each node can reset itself regardless of the length of the message. It should also be noted that regardless of the initial state of the network, all nodes will be reset to the SO state once the idle signal is provided.

コリジヨン信号は複数のプロセッサ・モジュールにまで
戻される。それらのモジュールはこのコリジヨン状態情
報を記憶し、そしてアイドル・シーケンスを送信する動
作へと復帰し、このアイドル・シーケンスの送信は競合
において勝利を得たプロセッサが送信を続けている間中
行なわれている。プロセッサは、C0LINからC0L
INへの遷移を検出し次第、新たな送信を開始すること
かできるようにされている。更にこれに加えて、プロセ
ッサは、Nをネットワーク内の階層の数とするとき、2
N個のバイト・クロックの時間に亙ってアイドル信号を
受信し続けたならば新たな送信を開始することができる
ようにされており、それは、このような状況もまた、前
者の状況と同じく、先に行なわれた送信がこのネットワ
ーク内に残ってはいないということを表わすものだから
である。これらの新たな送信を可能にするための方式の
うちの後者に依れば、初めてネットワークに参加するプ
ロセッサが、トラフィックさえ小さけれはネットワーク
との間でメツセージ同期状態に入ることができ、そのた
めこの初参加のプロセッサは、このネットワーク上の他
のプロセッサとの間の相互通信を開始する際して、別の
プロセッサからのポーリングを待つ必要がない。
Collision signals are routed back to multiple processor modules. The modules memorize this collision state information and return to sending idle sequences while the winning processor continues to send. There is. The processor is C0LIN to C0L
As soon as a transition to IN is detected, a new transmission can be started. Furthermore, in addition to this, the processor has 2
It is arranged that a new transmission can be started if the idle signal continues to be received for a period of N byte clocks, since this situation is also similar to the former situation. This is because it indicates that the previous transmission does not remain within this network. According to the latter of the schemes for making these new transmissions possible, a processor joining the network for the first time can enter a message synchronization state with the network, even if the traffic is small, so that this initial Participating processors do not have to wait for polls from other processors to initiate intercommunication with other processors on the network.

パリティ・エラー状態は第5図の状態図の中にに記され
ているが、次の論理式に従って設定されるものである。
The parity error state, shown in the state diagram of FIG. 5, is set according to the following logical equation.

PE5IG  −AlPE・ 八IPEDLY  + 
 BIPE−BIPEDLYこのPE5IGの論理状態
が真であるならば、アップ・レジスタへの入力信号UR
INは、(IJRIN O・・・UItIN 7、C%
P=1・・・1、!、りである。上の論理式を満足する
ために、移行パリティ・エラー伝播回路76は、AlP
E用、即ち八入力のパリティ・エラー用フリップ・フロ
ップと、遅延フリップ・フロップ(AIPEDLY)と
を含んでいる。後者のフリップ・フロップは、AlPE
の設定状態に従って、それよりバイト・クロック1つ分
遅れて状態を設定される。従って八入力に関して言えば
、AlPE用フリップ・フロップがパリティ・エラーに
よってセット状態とされたときに、PES I G値が
バイト・クロック1つ分の間ハイ・レベルとなり、その
ため、このPES I G信号はパリティ・エラーの最
初の表示かなされたときに1回だけ伝播されるわけであ
る。複数のデータ・ビット、制御ビット、並びにパリテ
ィ・ビットの全てが「1」の値であるときにもこれと同
じ状態が生じるが、それは、大域的資源の状態について
の先に説明した移行が発生したときに生じる状態である
。それによって全てのラインがハイ・レベルに転じ、全
てが「1」の状態を強制的に作り出されて総数偶数状態
(奇数パリティ状態)が確立され、その結果、先に説明
した状態にAlPEフリップ・フロップとAIPEDL
Yフリップ・フロップとがセットされてパリティ・エラ
ーを表示するようになる。以上の構成は、Bボートで受
取ったメツセージ・バケットがパリティ・エラー、或い
はステータスの変化を表示するための強制的パリティ表
示を含んでいる場合にも、同様の方式で動作する。
PE5IG -AlPE・ 8IPEDLY +
BIPE-BIPEDLY If the logic state of this PE5IG is true, the input signal UR to the up register
IN is (IJRIN O...UItIN 7, C%
P=1...1,! , is ri. In order to satisfy the above logical formula, the transition parity error propagation circuit 76
It includes a flip-flop for E, that is, an eight-input parity error flip-flop, and a delay flip-flop (AIPEDLY). The latter flip-flop is made of AlPE
The state is set one byte clock later according to the setting state of . Therefore, for the eight inputs, when the AlPE flip-flop is set due to a parity error, the PES I G value will be high for one byte clock; is propagated only once, upon the first indication of a parity error. This same condition occurs when multiple data bits, control bits, and parity bits all have a value of ``1'', but the transition described above for the state of the global resource occurs. This is the state that occurs when This causes all lines to go high, forcing an all-1 state and establishing a total even state (odd parity state), resulting in the AlPE flip to the previously described state. Flop and AIPEDL
Y flip-flop is set to indicate a parity error. The above arrangement operates in a similar manner if the message bucket received on the B boat contains a forced parity indication to indicate a parity error or change in status.

雑音の影響やその他の変動要素に起因して発生するパリ
ティ・エラーは、通常は、プロセッサの動作に影響を及
ぼすことはなく、その理由は、冗長性を有する二重のネ
ットワークを用いているからである。監視(モニタ)や
保守のためには、インジケータ・ライトに表示灯:不図
示)を用いてパリティ・エラーの発生を表示するように
する。ただし、ステータスの変化を示す1回のみ伝播す
るパリティ・エラーについては、それによって、その変
化の重要性を評価するためのルーチンが開始される。
Parity errors caused by noise effects and other variables usually do not affect processor operation because of the use of a redundant dual network. It is. For monitoring and maintenance purposes, an indicator light (not shown) is used to indicate the occurrence of a parity error. However, for a one-time propagating parity error that indicates a change in status, it initiates a routine to evaluate the significance of the change.

第4図に示すようにこのノード54に使用されているク
ロッキング・システムは、ネットワーク内に用いられて
いる階層の数にかかわらず、全てのノード要素における
クロックとクロックとの間のスキュー(skew)がゼ
ロとなるようにするための、即ちゼロ・スキュー状態を
保持するための、独特の手段を提供するものである。ク
ロック回路86は、第1及び第2の排他的ORゲート8
8.89を含んでおり、夫々AとBで示されているそれ
らの排他的ORゲートの出力は、加算回路92によって
、それらの間に減算(即ちrB−AJの演算)が行なわ
れるように結合されており、この加算回路92の出力は
、低域フィルタ94を通された後に、フェーズ・ロック
・ループである発振器(PLO)96から送出される出
力の位相を制御している。第1の排他的ORゲート88
への入力は、このPLO96の出力と、隣接するより高
位の階層のノード要素から絶縁駆動回路97を介して供
給される下流方向クロックとである。このクロックのラ
インには「ワード・クロック」と記されており、このワ
ード・クロックは、隣接するより高位の階層から既知の
遅延での後に得られるものであり、そしてこの同じクロ
ック信号が、もう1つの絶縁駆動回路98を介して、隣
接するより高い階層のそのノードへ返されるようになっ
ている。第2の排他的ORゲート89への入力は、この
ワード・クロックと、隣接するより低位の階層からのク
ロック・フィードバックとから成り、この低位の階層も
同様に、このPLO96から信号を受取っている。
The clocking system used in this node 54, as shown in FIG. ) to zero, that is, to maintain a zero skew condition. Clock circuit 86 includes first and second exclusive OR gates 8
8.89, and the outputs of those exclusive OR gates, denoted A and B, respectively, are such that a subtraction (i.e., an operation of rB-AJ) is performed between them by an adder circuit 92. The output of the summing circuit 92 controls the phase of the output from a phase locked loop oscillator (PLO) 96 after being passed through a low pass filter 94. First exclusive OR gate 88
The inputs to the PLO 96 are the output of this PLO 96 and a downstream clock supplied from an adjacent node element of a higher hierarchy via an isolated drive circuit 97. This clock line is labeled "Word Clock," and this word clock is obtained after a known delay from an adjacent higher hierarchy, and this same clock signal is no longer available. It is returned via one isolated drive circuit 98 to that node in an adjacent higher hierarchy. The inputs to the second exclusive-OR gate 89 consist of this word clock and clock feedback from an adjacent lower hierarchy, which also receives signals from this PLO 96. .

上記のワード・クロック・ラインは、第3の排他的OR
ゲート100の2つの入力へ接続されており、それら両
方の入力は、直接的に接続されているものと、τC遅延
線101を介して接続されているものとである。これに
よって、ワード・クロックの2倍の周波数をもち、この
ワード・クロックに対してタイミングの合った、バイト
・クロック信号を得ている。
The above word clock line is connected to the third exclusive OR
It is connected to two inputs of gate 100, both of which are connected directly and via a τC delay line 101. This provides a byte clock signal that has twice the frequency of the word clock and is timed with respect to the word clock.

以上のクロック回路86の作用は、第7図のタイミング
・ダイアグラムを参照すればより良く理解できよう。ク
ロック・アウト信号(クロック出力信号)は、PLO9
6の出力である。このクロッキング・システムの最大の
目的は、ネットワーク内の全てのノードに関するクロッ
ク出力信号どうしの間にゼロ・タイム・スキュー状態を
保持することにあるのであるから、当然のことながら、
それらのクロック出力信号どうしはその公称周波数もま
た互いに同一でなければならばい。ノード間の伝送ライ
ンによる遅延では、略々一定の値になるようにするが、
この遅延の値それ自体は長い時間に設定することも可能
である。ここに開示している方法を採用するならば、ネ
ットワーク並びにノードのバイト・クロック速度を実機
システムにおいて採用されている速度(公称120ns
)とした場合に、28フイート(8,53m)もの長さ
にすることが可能である。当業者には容易に理解される
ように、可能最大個数のプロセッサ・モジュールが目い
っばいに実装されいるのではないネットワークには、更
に階層を付加することによって、この28フイートの整
数倍の長さを容易に得ることができる。その場合、それ
に対応じて待ち時間、即ちそのネットワークを通して行
なわれる伝送の伝送時間は増大する。
The operation of the clock circuit 86 described above can be better understood by referring to the timing diagram of FIG. The clock out signal (clock output signal) is the PLO9
This is the output of 6. Naturally, since the primary goal of this clocking system is to maintain zero time skew between the clock output signals for all nodes in the network,
The clock output signals must also have the same nominal frequency. The delay due to the transmission line between nodes is set to be approximately constant, but
The value of this delay itself can also be set to a long time. If the method disclosed herein is adopted, the byte clock speed of the network and nodes will be set to the speed adopted in the actual system (nominally 120ns
), it can be as long as 28 feet (8.53 m). As will be readily understood by those skilled in the art, networks that are not packed with the maximum possible number of processor modules at the same time may be constructed with additional layers that are integer multiples of this 28-foot length. can be easily obtained. In that case, the latency, ie the transmission time of the transmission carried out over the network, increases correspondingly.

第7図中のクロック・アウト信号のすぐ下の波形によっ
て示されているように、隣接するより高位の階層から得
られるワード・クロックはクロツり・アウト信号と同じ
ような波形であるが、ただしてだけ遅れている。このワ
ード・クロックが、全てのノードに共通する根本的タイ
ミング基準を成すのであるが、そのようなことが可能で
あるのは、個々のクロック・アウト信号の前縁をその回
路の内部で制御することができ、そしてそれらの前縁を
ワード・クロックに先行させることによりて、全てのノ
ードが同期した状態に保持されるようにすることができ
るからである。波形A及び波形Bを参照すると分るよう
に、第1のORゲート88が発生するパルスAは、ワー
ド・クロックの前縁の位置で終了しており、一方、第2
のORゲート89が発生するパルスBは、その前縁がワ
ード・クロックの前縁と一致している。このBパルスの
後縁は、隣接するより低位の階層のモジュールからのフ
ィードバック・パルスの開始の位置に定められ、このフ
ィードバック・パルスはでたけ遅延しているため、Bパ
ルスはその持続時間が一定となっている。クロック回路
86は、パルスAの持続時間をパルスBの持続時間と同
一に保持するように作用するが、そのように作用する理
由は、PLO96の位相を進めて同期状態が確立される
ようにするにつれて、加算回路92の出力信号(減算r
B−AJを行なった信号)がゼロへ近付いて行くからで
ある。実際には、破線で示されているように好適な位置
より先行していることも遅れていることもあるA信号の
前縁に対して調節を加えて、このA信号の前縁がワード
・クロックの前縁より時間でだけ先行する位置にくるよ
うにする。全てのノードにおいて、クロック・アウト信
号の前縁がこの好適公称位置に位置するようになれば、
ワード・クロックどうしの間にゼロ・スキュー状態が存
在することになる。従ってネットワークに接続されてい
る夫々のプロセッサは、あるプロセッサから別のプロセ
ッサまでの経路の全長に関する制約から解放されている
が、それは、遅延が累積することが無いということと、
伝播時間に差が生じないということとに因るものである
As shown by the waveform immediately below the CLOCK OUT signal in Figure 7, the word clock derived from an adjacent higher hierarchy has a similar waveform to the CLOCK OUT signal, but I'm just behind. Although this word clock forms the fundamental timing reference common to all nodes, it is possible to do so by controlling the leading edge of each clock out signal internally within the circuit. , and by leading their leading edges to the word clock, all nodes can be kept in sync. As can be seen with reference to waveforms A and B, pulse A generated by the first OR gate 88 ends at the leading edge of the word clock, while the second
Pulse B generated by OR gate 89 has its leading edge coincident with the leading edge of the word clock. The trailing edge of this B-pulse is positioned at the start of the feedback pulse from the adjacent lower hierarchy module, which is delayed by a long time so that the B-pulse remains constant in duration. It becomes. The clock circuit 86 acts to keep the duration of pulse A the same as the duration of pulse B, but the reason it does so is to advance the phase of the PLO 96 so that synchronization is established. As the output signal of the adder circuit 92 (subtraction r
This is because the signal after B-AJ approaches zero. In practice, adjustments are made to the leading edge of the A signal, which may lead or lag the preferred position, as shown by the dashed line, so that the leading edge of the A signal It should be placed in a position that precedes the leading edge of the clock by the amount of time. Once the leading edge of the clock out signal is in this preferred nominal position at all nodes,
There will be a zero skew condition between the word clocks. Each processor connected to the network is thus freed from constraints on the total length of the path from one processor to another, which means that delays do not accumulate;
This is due to the fact that there is no difference in propagation time.

二倍周波数のバイト・クロックを発生させるために、遅
延線101によって、遅延時間τCだけ遅れたワード・
クロックが複製されており、この遅延線101もゲート
100へ信号を供給している。従って、第7図中のバイ
ト・クロックと記されている波形から分るように、ワー
ド・クロックの前縁と後縁の両方の位置に、持続時間で
Cを有するバイト・クロック・パルスが発生される。こ
のパルスの発生は、各々のワード・クロックのインタバ
ルの間に2回づつ生じており、しかも、全てノードにお
いて、ワード・クロックと同期して生じている。以上の
説明においては、ノードとノートとの間の伝送ラインに
よって発生される遅延は階層から階層への伝送方向がど
ちら方向であっても殆ど同一であり、そのため、事実上
、このシステム内の全てのワード・クロック並びにバイ
ト・クロックが、互いに安定な位相関係に保たれるとい
うことを、当然の前提としている。従って局所的に(−
個々のノートの内部で)発生されるバイト・クロックは
、各々のノードにおいて、メツセージの2バイト・ワー
ド(=2個のバイトから成るワード)の、その個々のバ
イトのためのクロッキング機能を提供している。
To generate a double frequency byte clock, a word signal delayed by a delay time τC is provided by delay line 101.
The clock is duplicated and this delay line 101 also feeds the gate 100. Therefore, as can be seen from the waveform labeled Byte Clock in Figure 7, byte clock pulses with duration C occur at both the leading and trailing edges of the word clock. be done. This pulse occurs twice during each word clock interval, and occurs synchronously with the word clock at all nodes. In the above description, the delay introduced by the transmission lines between nodes is almost the same regardless of the direction of transmission from layer to layer, so that virtually all The obvious assumption is that the word clock as well as the byte clock are kept in a stable phase relationship with each other. Therefore, locally (−
A byte clock generated internally within each node provides the clocking function for each byte of a 2-byte word of a message at each node. are doing.

以上の能動ロジック・ノードは、同時に送出されたメツ
セージ・パケットどうしの間の競合をそのデータ内容に
基づいて決着させるようにしている場合には常に、潜在
的な利点を有するものである。これに対し、例えば、1
981年2月17日付で発行された米国特許第4251
879号公報「デジタル通信ネットワークのための速度
非依存型アービタ・スイッチ(5peed Indep
endentArbiter 5w1tch for 
Digital (:ommunicajionNbi
works) 」に示されているものをはじめとする、
大多数の公知にシステムは、時間的に最初に受信された
信号がどれであるのかを判定することを目脂しており、
外部に設けた処理回路または制御回路を使用するものと
なっている。
These active logic nodes have potential advantages whenever they are intended to resolve conflicts between simultaneously transmitted message packets based on their data content. On the other hand, for example, 1
U.S. Patent No. 4251, issued February 17, 981.
No. 879 “Speed Independent Arbiter Switch for Digital Communication Networks (5peed Indep
endArbiter 5w1tch for
Digital (:ommunicajionNbi
works), including those shown in
Most known systems rely on determining which signal was received first in time;
It uses an external processing circuit or control circuit.

(プロセッサ・モジュール) 第1図の、システム全体の概略図の中に図示されている
個々のプロセッサは、夫々、インターフェイス・プロセ
ッサ(IFP)14及び16と、アクセス・干ジュール
・プロセッサ(AMP)18〜23の具体例として示さ
れており、また、これらのプロセッサは、大まかに複数
の主要要素に再区分しである。これらのプロセッサ・モ
ジュール(IFP及びAMP)の構成についての更に詳
細な具体例は、第1図の機能的な大まかな再区分との間
に対応関係を有するものとなるが、ただしそればかりで
なく、かなり多くの更なる再区分をも示すものとなる。
Processor Modules The individual processors illustrated in the overall system schematic diagram of FIG. ~23 are shown as examples, and these processors are roughly subdivided into several major elements. A more detailed example of the configuration of these processor modules (IFP and AMP) will correspond to, but is not limited to, the general functional subdivision of FIG. , which also represents a number of further subdivisions.

本明細書で使用するところの「プロセッサ・モジュール
」なる用語は、第8図に図示されているアセンブリの全
体を指すものであり、このアセンブリは、以下に説明す
る任意選択の要素を備えるこζによって、IFF或いは
AMPのいずれかとして機能することができるようにな
る。また、「マイクロプロセッサ・システム」という用
語は5マイクロプロセツサ105を内蔵したシステム1
03を指すものであり、ここでマイクロプロセッサ10
5は、例えば、インテル8086型(Intel 80
88) 16ビツト・マイクロプロセッサ等である。こ
のマイクロプロセッサ105のアドレス・パス並びにデ
ータ・パスは、マイクロプロセッサ・システム103の
内部において、例えばメインRAM107等の一般的な
周辺システム、並びに周辺機器コントローラ109に接
続されている。この周辺機器コントローラ109は、プ
ロセッサ・モジュールがAMPでありしかも周辺機器が
ディスク・ドライブ111である場合に用い得るものの
一例として示すものである。これに対して、このプロセ
ッサ・モジュールをIFPとして働かせる場合には、破
線で描いた長方形の中に示されているように、このコン
トローラ即ちインターフェイスを、例えばチャネル・イ
ンターフェイスに取り替えれば良い。そのような具体例
のIFFは、ホスト・システムのチャネル即ちバスとの
間の通信を行なうものとなる。
As used herein, the term "processor module" refers to the entire assembly illustrated in FIG. 8, which may include the optional elements described below. This allows it to function as either an IFF or an AMP. Additionally, the term "microprocessor system" refers to a system 1 that includes 5 microprocessors 105.
03, where microprocessor 10
5 is, for example, an Intel 8086 type (Intel 80
88) 16-bit microprocessor, etc. The address and data paths of microprocessor 105 are connected within microprocessor system 103 to common peripheral systems, such as main RAM 107, as well as peripheral controller 109. Peripheral controller 109 is shown as an example of one that may be used when the processor module is an AMP and the peripheral is disk drive 111. On the other hand, if the processor module were to function as an IFP, the controller or interface could be replaced by, for example, a channel interface, as shown in the dashed rectangle. The IFF in such an embodiment would provide communication to and from a host system channel or bus.

このマイクロプロセッサ・システム103には従来の一
般的なコントローラやインターフェイスを用いることが
できるので、それらのコントローラやインターフェイス
については更に詳細に説明する必要はない。
Since the microprocessor system 103 can use conventional common controllers and interfaces, there is no need to describe these controllers and interfaces in further detail.

1つのマイクロプロセッサ毎に1台のディスク・ドライ
ブを用いることが費用と性能の両方の面において有利で
あるということを示し得ることに注目すべきである。そ
のような方式が有利であるということは、データベース
に関しては一般的に言えることであるが、ただし、とき
には、1つのマイクロプロセッサが複数の二次記憶装置
にアクセスできるようにマイクロプロセッサを構成する
ことが有益なこともある。概略図においては、図を簡明
にするために、その他の通常用いられているサブシステ
ムか組み込まれている点については図示省略しである。
It should be noted that using one disk drive per microprocessor can prove advantageous in terms of both cost and performance. Although such an approach is advantageous in general for databases, it is sometimes useful to configure microprocessors so that a single microprocessor can access multiple secondary storage devices. may be beneficial. In the schematic drawings, other commonly used subsystems are not shown for the sake of clarity.

この省略されたサブシステムは例えば割込みコントロー
ラ等であり、割込みコントローラは、半導体を製造して
いるメーカーが自社製のシステムに組み合わせて使用す
るために供給しているものである。また、本発明が提供
し得る冗長性と信頼性とを最大限に達成することのでき
る、プロセッサ・モジュールへ電源を供給するために適
切な手段を、講じることの重要性についても当業者には
理解されよう。
This omitted subsystem is, for example, an interrupt controller, which is supplied by semiconductor manufacturers for use in combination with their own systems. Those skilled in the art will also appreciate the importance of taking appropriate measures to provide power to the processor module to maximize the redundancy and reliability that the present invention can provide. be understood.

マイクロプロセッサ・システム103における任意選択
要素として示されている周辺機器コントローラ109と
チャネル・インターフェイスとは、第1図中のIFPイ
ンターフェイスとディスク・コントローラとに相当する
ものである。これに対して第1図の高速RAM28は、
実際には、第1のH,S、RAM26°と第2のH,S
、RAM26”とから成っており、それらの各々は、タ
イム・マルチブレクシング(時間多重化)によって、機
能の上からは事実上の3−ボート・デバイスとされてお
り、それらのボートのうちの1つく図中に「C」と記さ
れているボート)を介してマイクロプロセッサのバス・
システムと接続されている。H,S、RAM26° 2
6“の各々は、夫々に第1ないし第2のネットワーク・
インターフェイス120.120° と協働し、それに
よって、夫々か第1及び第2のネットワーク50a及び
50b(これらのネットワークは第8図には示されてい
ない)と、入力(受信)ボートA及び出力(送信)ボー
トBを介して通信を行なうようになっている。このよう
に互いに冗長性を有する2つのシステムとなっているた
め、第2のネットワーク・インターフェイス120′ 
と第2のH,S、RAM26”を詳細に説明するだけで
良い。ネットワーク・インターフェイス120.120
゛については第13図に関連して更に詳細に示され説明
されているが、それらは、大きく再区分するならば以下
の4つの主要部分に分けることができる。
Peripheral controller 109 and channel interface, shown as optional elements in microprocessor system 103, correspond to the IFP interface and disk controller in FIG. On the other hand, the high-speed RAM 28 in FIG.
Actually, the first H, S, RAM 26° and the second H, S
, RAM 26'', and each of them is effectively a 3-boat device from a functional point of view due to time multiplexing. The microprocessor's bus
connected to the system. H, S, RAM26° 2
6" each has a first to a second network.
interfaces 120, 120°, thereby connecting the first and second networks 50a and 50b, respectively (these networks are not shown in FIG. 8), the input (receiving) port A and the output (Transmission) Communication is performed via boat B. Since these are two systems with mutual redundancy, the second network interface 120'
and the second H, S, RAM 26''.Network interface 120.120
Although these are shown and explained in more detail with reference to FIG. 13, they can be roughly subdivided into the following four main parts.

第2のネットワーク50bからの10本の入力ラインを
、インターフェイス・データ・バス並びにインターフェ
イス・アドレス・バスを介してH,S、RAM26’の
Aボートへ接続している、入力レジスタ・アレイ/コン
トロール回路122゜ 第2のネットワーク50bへの出力ラインを、インター
フェイス・データ・バス並びにインターフェイス・アド
レス・バスと、第2のH,S、RAM26’のBボート
とへ接続している、出力レジスタ・アレイ/コントロー
ル回路124゜ インターフェイス・アドレス・バス並びにインターフェ
イス・データ・バスと、H,S、RAM26”のAボー
ト並びにBポートとへ接続された、マイクロプロセッサ
・バス・インターフェイス/コントロール回路126゜ ネットワークからワード・クロックを受取り、そして、
インターフェイス120°を制御するための互いに同期
し且つ適切な位相関係にある複数のクロックを発生する
、クロック発生回路128゜ 第2のネットワーク・インターフェイス120゛とH,
S、RAM26” とは、マイクロプロセッサ・システ
ム103と協働することによって、高速で動作するネッ
トワークとそれと比較してより低速で動作するプロセッ
サとの間のデータ転送をコーデイネートしており、また
更に、それらの異なったシステム(=ネットワーク・シ
ステムとプロセッサ・システム)の間で交換されるメツ
セージの、待ち行列を作る機能も果たしている。マイク
ロプロセッサ・バス・インターフェイス/コントロール
回路126は、マイクロプロセッサ・システムと1働し
て(読出し/書込み機能+ R/W機能)を実行するた
めのものであると言うことができ、このマイクロプロセ
ッサ・システムはく少なくともそれがインテル8086
型である場合には))(、S、RAM26“に直接デー
タを書込む能力と、このH,S、RAM26”からデー
タを受取る能力とを備えている。
An input register array/control circuit connecting ten input lines from the second network 50b to the A-boat of the H, S, RAM 26' via an interface data bus as well as an interface address bus. 122° Output register array/connecting the output lines to the second network 50b to the interface data bus as well as the interface address bus and the B port of the second H, S, RAM 26'. Microprocessor bus interface/control circuit 126° network to word data bus connected to the control circuit 124° interface address bus and interface data bus and to the A and B ports of the H, S, RAM 26”. receive the clock, and
a clock generation circuit 128° that generates a plurality of clocks that are synchronized with each other and in proper phase relationship for controlling the interface 120°; second network interface 120°;
S, RAM 26'' cooperates with the microprocessor system 103 to coordinate data transfer between a network operating at high speed and a processor operating at a slower speed in comparison; It also performs the function of queuing messages exchanged between these different systems (= network system and processor system). 1 function (read/write function + R/W function), and this microprocessor system is at least compatible with Intel 8086
If it is of the type H,S, RAM 26'', it has the ability to write data directly to the RAM 26'' and the ability to receive data from the H,S RAM 26''.

IFPの構造とAMPの構造とは、その作用に関しては
互いに類似したものであるが、しかしながら、H,S、
RAM26”の内部の入力メツセージ格納領域の大きさ
と出力メツセージ格納領域の大きさとに関しては、IF
PとAMPとの間に相当の差異が存在することがある。
The structure of IFP and the structure of AMP are similar to each other in terms of their functions, however, H, S,
Regarding the size of the input message storage area and the size of the output message storage area inside the RAM 26,
There may be considerable differences between P and AMP.

リレーショナル・データベース・システムにおいては、
IFPは、ネットワークを絶えず利用してホスト・コン
ピュータの要求を満たせるようにするために、H,S、
RAM28″の内部に、高速ネットワークから新たなメ
ツセージを受取るための、大きな入力メツセージ格納空
間を備えている。AMPについてはこれと逆のことが言
え、それは、高速ネットワークへ送出される処理済メセ
ージ・パケットのために、より多くの格納空間が使用で
きるようになっていなければならないからである。Ho
S、RAM26”はマイクロプロセッサ・システム10
3の中のメインRAM107と協働しての動作も行ない
、このメインRAM107は各々のネットワークのため
のメツセージ・バッファ・セクションを備えている。
In relational database systems,
The IFP uses the H,S,
Internal RAM 28'' has a large input message storage space for receiving new messages from the high speed network.The opposite is true for AMP, which stores processed messages sent to the high speed network. This is because more storage space must be available for the packets.Ho
S, RAM26” is the microprocessor system 10
It also operates in conjunction with the main RAM 107 in the network 3, which contains message buffer sections for each network.

マイクロプロセッサ・システム103のための、メイン
RAM107内部のシステム・アドレス空間の割当ての
態様は第9図に示されており、それについてN単に説明
しておく。−数的な方式に従って、ランダム・アクセス
のための記憶容ユが増加された場合に使用される拡張用
の空間を残すようにしてシステム・ランダム・アクセス
機能に割当てられたアドレスと、I10アドレス空間と
、ROM及びFROM (EPROMを含む)の機能の
ために割当てられたアドレス空間とを有するものとなっ
ている。更に、システム・アドレス空間のうちの幾つか
の部分が、夫々、第1及び第2の高速RAM26°、2
6゛から送られてくるメツセージ・パケットと、それら
の高速RAMへ送り出されるメツセージ・パケットのた
めに割当てられている。これによってシステムの動作に
非常な融通性が得られており、それは、マイクロプロセ
ッサ105がH,S、RAM26”をアドレスすること
が可能であるようにしても、メインRAM107の働き
によって、ソフトウェアとハードウェアとの相互依存性
に殆ど拘束されないようにできるからである。
The manner in which the system address space within main RAM 107 is allocated for microprocessor system 103 is illustrated in FIG. 9 and will be briefly described. - an address allocated to the system random access function according to a numerical scheme, leaving space for expansion to be used if the storage capacity for random access is increased, and the I10 address space; and an address space allocated for the functions of ROM and FROM (including EPROM). Furthermore, some portions of the system address space are allocated to the first and second high speed RAMs 26° and 26°, respectively.
It is allocated for message packets sent from 6' and message packets sent to those high-speed RAMs. This provides great flexibility in the operation of the system, since the main RAM 107 is responsible for the software and hardware, even though the microprocessor 105 can address the This is because the software can be hardly constrained by interdependence with software.

古び第8図を関して説明するが、既に述べたように、2
つの方向からアクセスすることのできるH、S、RAM
26”は、マルチプロセッサ・モードの制御、分散型の
更新、並びにメツセージ・パケットの流れの管理におけ
る、中心的機能を実行するように構成されている。これ
らの目的や更に別の目的を達成するために、H,S、R
AM26”は複数の異なった内部セクタに区分さねてい
る。第8図に示されている様々なセクタの相対的な配置
の態様は、このシステ牟の中の個々のプロセッサ・モジ
ュールの全てにおいて採用されているものであり、また
、それらのセクタの境界を指定している具体的なアドレ
スは、実際のあるシステムにおいて用いられているアド
レスを示すものである。ここで注意して頂きたいことは
、これらのメモリ・セクタの大きさとそれらの相対的な
配置とは、具体的なシステムの状況次第で大きく変り得
るものだということである。図示例では16ビツトのメ
モリ・ワードが採用されている。
I will explain the old figure 8, but as already mentioned, 2
H, S, RAM that can be accessed from two directions
26" is configured to perform core functions in controlling multiprocessor modes, distributed updates, and managing the flow of message packets. To achieve these and further objectives For, H, S, R
AM26" is partitioned into a number of different internal sectors. The relative placement of the various sectors shown in FIG. The specific addresses that are used and specify the boundaries of these sectors indicate the addresses that are actually used in a certain system.Please note that This means that the sizes of these memory sectors and their relative placement can vary widely depending on the particular system situation. In the illustrated example, 16-bit memory words are employed. There is.

選択マツプ及び応答ディレクトリは、初期設定の間に一
度だけ書込めば良いような種類の専用ルックアップ・テ
ーブルであり、一方、トランザクション・ナンバ・セク
ションの方は、動的改定自在な(=動作している間に何
度も内容を変更することができるようにした)ルックア
ップ・テーブルを提供している。
The selection map and response directory are dedicated lookup tables of the kind that only need to be written once during initialization, whereas the transaction number section is dynamically revisable. It provides a lookup table (which allows you to change its contents as many times as you like).

1択マツプのメモリ・セクションはロケ−シコン0から
始まっているが、この具体例では、基本的にこのメモリ
・セクションの内部において4つの異なったマツプが使
用されるようになっており、それらのマツプは相互に関
連する方式で利用されるものである。メツセージ・パケ
ットの中に内包されている転送先選択ワード(dest
inationselection word : D
 S W )が、H,S、RAMz6”内の専用の選択
マツプと共同するようにして用いられる。この転送先選
択ワードは、計16個のビットから成り、そしてそのう
ちの12個のビット・ポジションを占めるマツプ・アド
レスとその他の4個のビットを占めるマツプ選択データ
とを含むものとされている。H,S、RAMの先頭の1
024個の16ビツト・メモリ・ワードは、その各々が
4つのマツプ・アドレス値を含んでいる。DSWに明示
されているアドレス値に従ってH,S、RAMへ1回の
メモリ・アクセスを行なうだけて、4つの全てのマツプ
にってのマツプ・ビットか得られ、その一方で、そのD
SWに含まれているマツプ選択ビットが、どのマツプを
用いるべきかを決定するようになっている。
The memory section for the one-choice map starts at location controller 0, but in this specific example, basically four different maps are used within this memory section, and their Maps are used in an interrelated manner. The destination selection word (dest) included in the message packet
ination selection word: D
S W ) is used in conjunction with a dedicated selection map in H,S,RAMz6''. This destination selection word consists of a total of 16 bits, of which 12 bit positions are It contains a map address that occupies 4 bits and map selection data that occupies the other 4 bits.
024 16-bit memory words, each containing four map address values. A single memory access to H, S, RAM according to the address value specified in the DSW provides the map bits for all four maps, while the D
A map selection bit included in SW determines which map is to be used.

第15図は、以上のマツプ・セクションの概念的な構造
を示しており、同図においては、各々のマツプがあたか
も物理的に分離した4096X1ビツトのRAMから成
るものであるかのように図示されている。実施する際の
便宜を考慮に入れれば、第8図に示されているように、
全てのマツプ・データがH,S、RAMの単一の部分に
格納されるようにするのが便利である。DSW管理セク
ション190(第13図)が、H,S、RAMの1個の
16ビツト・ワードから得られる第15図の4つのマツ
プの、その各々からの4個のビットに対するマルチプレ
クシング動作を制御している。当業者には理解されるよ
うに、この方式の利点は、H,S、RAMのその他の部
分をアクセスするのに用いられるのと同じ手段を用いて
、プロセッサがマツプを初期設定でざるという点にある
FIG. 15 shows the conceptual structure of the map section described above, and in the figure, each map is illustrated as if it were composed of physically separate 4096x1-bit RAMs. ing. Taking into account the convenience of implementation, as shown in Figure 8,
It is convenient to have all map data stored in a single portion of H,S,RAM. A DSW management section 190 (FIG. 13) controls multiplexing operations for the four bits from each of the four maps of FIG. 15 derived from one 16-bit word of H, S, RAM. are doing. As will be appreciated by those skilled in the art, the advantage of this scheme is that the processor does not initialize the map using the same means used to access other parts of the H,S, RAM. It is in.

更には、3つの異なったクラス(分類)の転送光選択ワ
ードが使用され、またそれに対応じて、選択マツプの格
納ロケーションか、ハツシュ選択部分、クラス選択部分
、及び転送先プロセッサ識別情報(destinati
on processor 1dentifjcati
onDPID)選択部分に分割されている。このDPI
Dは、当該プロセッサ105が、そのメツセージ・パケ
ットの転送先として意図された特定のプロセッサである
か否かを明示するものである。これに対して、クラス選
択部分は、当該プロセッサh釈そのメツセージ・パケッ
トを受取るべぎ特定の処理クラスに属する複数のプロセ
ッサのうちの1つであるか否か、即ちそのプロセッサ・
グループのメンバーであるか否かを明示するものである
。ハツシュ値は、リレーショナル・データベース・シス
テムの内部にデータベースが分配される際の分配方法に
応じて格納されており、この分配方法は、そのシステム
に採用されている、特定のりレーションのためのアルゴ
リズム、並びに分散格納方式に従ったものとなる。この
具体例におけるハツシュ値は、プロセッサの指定をする
に際しては、そのプロセッサがそのデータに対して一次
的な責任とバックアップ用の責任とのいずれか一方をも
つものとして指定することができるようになっている。
Furthermore, three different classes of forwarding light selection words are used and correspondingly the storage location of the selection map, the hash selection part, the class selection part, and the destination processor identification information.
on processor 1dentifjcati
onDPID) is divided into selected parts. This DPI
D specifies whether the processor 105 is the particular processor to which the message packet is intended. On the other hand, the class selection part determines whether the processor in question is one of a plurality of processors belonging to a specific processing class that should receive the message packet;
This clearly indicates whether a person is a member of a group or not. The hash value is stored according to the distribution method when the database is distributed within the relational database system, and this distribution method is determined by the algorithm for a particular relation adopted in that system, This also follows the distributed storage method. The hash value in this specific example is that when specifying a processor, the processor can be specified as having either primary responsibility or backup responsibility for the data. ing.

従って、以上の複数の選択マツプによって、H,S、R
AM26″を直接アドレスして、プロセッサが転送先で
あるか否かを判断する、という方法を取れるようになっ
ている。この機能は、優先権を付与されたメツセージを
全てのネットワーク・インターフェイス120ヘブロー
ドカストするという方法と互いに相い補う、相捕的な可
能であり、そして割込みを行なうことなくマイクロプロ
セッサ105のステータスの局所的なアクセスができる
ようにしている機能でもある。
Therefore, with the above multiple selection maps, H, S, R
AM 26'' can be directly addressed to determine whether the processor is the destination. This feature allows prioritized messages to be forwarded to all network interfaces 120. It is a complementary and complementary feature to the broadcasting method, and also allows localized access to the status of the microprocessor 105 without interrupts.

H,S、RAM26”の中の、他の部分からは独立した
1つのセクションが、大域的に分散されている諸活動の
チエツク及び制御をするための中枢的な手段として機能
している。既に述べたように、また第3図に示されてい
るように、ネットワーク50bへ送出され、またこのネ
ットワーク50bから受取る種々の処理の夫々に対して
は、トランザクション・ナンバ(TN)か割当てられて
いる。メツセージの中にTNが内包されているのは、各
々のプロセッサ・システム103が自ら受容したサブタ
スクを互いに独立して実行する際の大域的なトランザク
ション・アイデンティティ(トランザクション識別情報
)とするためである。H,S、RAM26”内の、複数
の使用可能なトランザクション・ナンバのアドレスを格
納するための専用のブロックが、それらのサブタスクを
実行する際にマイクロプロセッサ・システム103によ
って局所的に制御及び更新されるステータス・エントリ
(=ステータスについての記述項)を収容している。T
Nは、相互通信機能が実行される際に、局所的にもまた
大域的にも、様々な異なった利用法で用いられる。トラ
ンザクション・ナンバは、サブタスクを識別するため、
データを呼出すため、コマンドを与えるため、メツセー
ジの流れを制御するため、並びに大域的な処理のグイナ
ミクスの種類を特定するために用いられる。トランザク
ション・ナンバは、大域的通信の実行中に割当てたり、
放棄したり、変更したりすることができる。これらの特
徴については以下の記蔵において更に詳細に説明する。
One section of the RAM 26, independent of the rest, serves as a central means for checking and controlling globally distributed activities. As mentioned above, and as shown in FIG. 3, each of the various transactions sent to and received from network 50b is assigned a transaction number (TN). The reason why the TN is included in the message is to use it as a global transaction identity (transaction identification information) when each processor system 103 independently executes the subtasks it has received. A block dedicated to storing the addresses of multiple available transaction numbers in the RAM 26 is locally controlled and updated by the microprocessor system 103 as it executes its subtasks. Contains status entries (descriptions about status). T
N is used in a variety of different ways, both locally and globally, when intercommunication functions are performed. The transaction number identifies the subtask, so
It is used to retrieve data, give commands, control the flow of messages, and specify the types of global processing dynamics. Transaction numbers can be assigned during global communication,
It can be abandoned or changed. These features are explained in more detail in the notes below.

TNの特徴のうち、最も複雑ではあるがおそらく最も効
果的な特徴と言えるのは、ソート・ネットワーク(ソー
ティング機能を有するネットワーク)と協働することに
よって、所与の制御処理に関するローカル・プロセッサ
(=個々のプロセッサ・モジュール)のステータスの分
散型更新を可能にするという、その能力である。各々の
制御処理(即ちタスクないしマルチプロセッサの活動)
はそれ自身のTNをもっている。
The most complex, but perhaps most effective, feature of the TN is that it works with a sorting network (a network with sorting functionality) to help local processors (= Its ability to enable distributed updates of the status of individual processor modules). Each control process (i.e. task or multiprocessor activity)
has its own TN.

レディネス状態(プロセッサがどのような動作をする準
備が整っているかの状態)の値が、HlS、RAM26
″のトランザクション・ナンバ・セクションに保持され
るようになっており、このレディネス状態の値は、マイ
クロプロセッサ・システム103の制御の下に局所的に
(=個々のプロセッサ・モジュールの内部で)変更され
る。マイクロプロセッサ・システム103は、第10図
の応答デイL/クトリの中の適当なエントリ(例えば5
ACK/Busy)(アドレスはr050D(16進数
)」)を初期設定することができ、そしてそれによって
複製されたとおりのイメージを転送することによって、
このS A CK / B u s yのステータスの
、H,S、RAM26”への入力する。あるTNアドレ
ス(=トランザクション・ナンバに対応する格納位置)
に入力されているエントリは、H,S、RAM28”の
Aボート及びBボートを介して、そしてインターフェイ
ス120゛を経由して、ネットワーク50bからアクセ
スすることが可能となっている。問合せは、ステータス
・リクエスト(ステータス要求)のコマンド・コート(
第11図参照)とTNとを含む「ステータス・リクエス
ト」メツセージを用いて行われる。インターフェイス1
20°は、指定されたTNのTNアドレスに格納されて
いる内容を用いて、然るべきフォーマットで書かれた応
答メツセージを格納している応答ディレクトリを参照す
る。所与のTNに関する大域的ステータス問合せを第2
のネットワーク・インターフェイス120゛が受取った
ならば、それによって、ハードウェア的な制御しか受け
ていない直接的な応答が引き出される。前置通信は不要
であり、また、マイクロプロセッサ・システム103が
割込みを受けたり影うを及ぼされたりすることもない。
The value of the readiness state (the state in which the processor is ready for what kind of operation) is
The readiness state value is held in the transaction number section of the microprocessor system 103 and is changed locally (within each processor module) under the control of the microprocessor system 103. Microprocessor system 103 selects the appropriate entry (e.g., 5) in the response directory of FIG.
ACK/Busy) (address r050D (hexadecimal)") and thereby transfer the image as it is replicated.
Input this S ACK / Busy status to H, S, RAM 26''. A certain TN address (= storage location corresponding to transaction number)
Entries entered in can be accessed from the network 50b via the H, S, A and B ports of the RAM 28'' and via the interface 120''.・Request (status request) command code (
This is done using a "status request" message containing a TN (see FIG. 11) and a TN. Interface 1
20° uses the contents stored at the TN address of the specified TN to refer to the response directory containing the response message written in the appropriate format. A second global status query for a given TN
network interface 120', it elicits a direct response that is only under hardware control. No front-end communication is required, and microprocessor system 103 is not interrupted or shadowed.

しかしながら、[ロック(lock) J表示がインタ
ーフェイス120°へ転送されることによってステータ
スの設定が行なわれた場合には、マイクロプロセッサ・
システム103は割込みを禁止し、またインターフェイ
ス120°が、アドレスrosot (ts進数)」か
ら得られるロック・ワードを、後刻その排除が行なわれ
るまで通信し続ける。
However, if the status is set by transferring the lock J indication to the interface 120°, the microprocessor
System 103 disables interrupts and interface 120 continues to communicate the lock word obtained from address rosot (ts base) until its removal occurs at a later time.

レディネス状態のワード・フォーマットは、第12図の
「ビズイ(busy:動作実行中の状態)」から「イニ
シャル(1nitial  :初期状態)」までの7種
類の状態で示され、この第12図は、実際のあるシステ
ムにおいて採用されている有用な−具体例を図示してい
る。レディネス状態をより多くの種類に分類するような
変更例やより少ない種類に分類する変更例も可能である
が、同図に示されている7種類の状態を用いることによ
って、多くの用途に適する広範な制御を行なうことがで
きる。H,S、RAM2B”の中の個々のTHの状態レ
ベル(=個々のTNアドレスに格納されているエントリ
が表わしているレディネス状態のレベル)を継続的に更
新し、それによって、サブタスクの利用可能性やサブタ
スクの処理の進捗状況が反映されるようにしておくこと
は、マイクロプロセッサ・システムの責任とされている
。このような更新は、第12図に示されたフォーマット
を用いて、H,S、RAM26″内のTNアドレスに書
込みを行なうことによって、容易に実行することができ
る。
The word format of the readiness state is shown in seven states from "busy" to "initial" in FIG. 12. A useful example employed in an actual system is illustrated. It is possible to change the readiness state into more types or fewer types, but by using the seven types of states shown in the figure, it is suitable for many uses. Extensive control can be exercised. Continuously updates the state level of each TH (=readiness state level represented by the entry stored in each TN address) in "H, S, RAM2B", thereby increasing the availability of subtasks. It is the responsibility of the microprocessor system to ensure that the progress of processing of subtasks and subtasks is reflected.Such updates are performed using the format shown in Figure 12. This can be easily executed by writing to the TN address in the RAM 26''.

第10図において、各々のステータス応答(状態応答)
は、ro 5JからrODJ  (16進数)までのも
のについては、いずれもその先頭の部分がステータス肯
定応答コマンド・コード(statusacknowl
edgment command code : S 
A CK )で始まっている。ネットワークへ送出され
るそれらの5ACK応答は、実際には、第10図のコマ
ンド・コードと、第12図のワード・フォーマットの数
字部分と、発信元プロセッサID(OPID)とから構
成されており、これについては第11図に示すとおりで
ある。従って、それらの5ACK応答は、第11図に示
された総合的優先順位規約の内部において、ひとまとま
りの優先順位サブグループを形成している。0PIDが
優先順位規約に関して意味を持っているわけは、たとえ
ば、複数のプロセッサがある1つのTNに関して働いて
いるが、ただしそれらのいずれもが「ビズイ」状態にあ
るという場合には、ブロードカストされる最優先メツセ
ージの判定がこの0PIDに基づいて行なわれることに
なるからである。転送並びにシステムのコープイネ−ジ
ョンも、このデータ(oplD)に基づいて行うことが
できる。
In Figure 10, each status response (state response)
For ro 5J to rODJ (hexadecimal), the first part is the status acknowledge command code (statusacknowl).
edgment command code: S
ACK). Those 5ACK responses sent to the network actually consist of the command code of Figure 10, the numeric portion in word format of Figure 12, and the originating processor ID (OPID). This is as shown in FIG. Therefore, those 5 ACK responses form a collective priority subgroup within the overall priority convention shown in FIG. The reason why 0PID has meaning in terms of priority conventions is that, for example, if you have multiple processors working on one TN, but none of them are "busy", then the broadcast This is because the highest priority message will be determined based on this 0PID. Transfers as well as system co-operation can also take place on the basis of this data (opID).

5ACKメツセージ(=SACK応答)に対して優先順
位規約が定められていることと、複数のマイクロプロセ
ッサ・システム!、 03から同時に応答が送出される
ようにしたことと、ネサ1−ワーク50bにおいて動的
に(=伝送を行ないながら)優先権の判定が行なわれる
ようにしたこととによっ゛〔、従来のシステムと比較し
て、所与のタスクに関する大域的資源のステータスの判
定が、大幅に改善された方法で行なわれるようになって
いる。それによって得られる応答は、−確性を持ち、規
定にない状態を表わすことは決してなく、更には、ソフ
トウェアを必要とせずローカル・プロセッサ(=個々の
プロセッサ・モジュール)に時間を費消させることもな
い。従って、例えば、タスクの実行を妨げる頻繁なステ
ータス要求によってデッドロックが生じてしまうような
ことは決してない。様々なステータス・レベルにおいて
、マルチプロセッサの多くの任意選択動作を利用するこ
とができる。ローカル・プロセッサどうしが互いに独立
して動作を続けることができ、しかも単一の問合せによ
って、1つの、大域的な、優先権を与えられた応答が引
き出されるということは、かつてなかったことである。
5 Priority conventions are established for ACK messages (=SACK responses), and multiple microprocessor systems! , 03 simultaneously, and the priority is determined dynamically (while transmitting) in the NESA1 work 50b. Determining the status of global resources for a given task is now performed in a significantly improved manner compared to the system. The resulting response is - reliable, never exhibits unspecified conditions, and, furthermore, does not require software or consume time on the local processor (=individual processor module). . Thus, for example, deadlocks can never occur due to frequent status requests that prevent the execution of a task. Many optional operations of the multiprocessor are available at various status levels. Never before have local processors been able to continue operating independently of each other, yet a single query elicited a single, global, prioritized response. .

第12図に示されている一連の状態について、ここで幾
らか詳しく説明しておけば、理解に役立つであろう。「
ビズイ」状態と「ウェイティング(waiting・待
ち)」状態とは、割当てられた、即ち委任されたサブタ
スクに関して、次第により完成に近い段階へとこれから
進んで行くことになる状態であり、「ウェイティング」
状態の方は、更なる通イ3ないしイベントを必要として
いる状態を表わしている。これらの「ビズイ」並びにr
ウェイティング」の状態は、TNのステータスがより高
いレベルへと上昇し°〔行き、ついにはそのTNに関す
るメツセージ・パケットを送信ないし受信できるステー
タス・レベルにまで到達するという、レベル上昇の例を
示すものである。
It may be helpful to explain the series of conditions shown in FIG. 12 in some detail here. "
The "busy" state and the "waiting" state are states in which an assigned or delegated subtask will gradually progress to a stage closer to completion;
The state represents a state that requires further processing or events. These “bizui” and r
The ``Waiting'' state represents an example of an escalation in which a TN's status increases to a higher level until it reaches a status level at which it can send or receive message packets for that TN. It is.

一方、メツセージ・パケットを送信ないし受信する際に
は、以上とはまた別のTHの特徴である、メツセージ制
御におけるTNの能力が発揮されることになる。マイク
ロプロセッサ・システム103が送信すべきメツセージ
をもつようになると、ステータス表示は「送信準備完了
(5endready) Jに変る。マイクロプロセッ
サ・システム103は、ステータス表示を更新すること
に加えて、第12図のワード・フォーマットを用いて「
ネクスト・メツセージ・ベクタ」の値をHoS、RAM
26”へ入力する。この入力されたエントリは、該当す
る出力メツセージをH,S、RAM26”のどのロケー
ションから取り出せば良いかを明示するものである。こ
のベクタは、ある特定のTNに関係する複数の出力メツ
セージを1本につなげる(=チェーン(chain )
する)ために、ネットワーク・インターフェイス120
゛において内部的に使用されるものである。
On the other hand, when transmitting or receiving message packets, the ability of the TN in message control, which is another feature of the TH, is demonstrated. When microprocessor system 103 has a message to send, the status display changes to ``5endready''. In addition to updating the status display, microprocessor system 103 also updates the status display in FIG. using the word format of
"Next Message Vector" value to HoS, RAM
26''. This input entry specifies from which location in the H, S, RAM 26'' the corresponding output message should be retrieved. This vector connects multiple output messages related to a specific TN into one (=chain).
network interface 120
This is used internally.

以上の機能に関連した機能が、「受信準備完了(rec
eive ready ) J状態の間に実行される。
Functions related to the above functions are
eive ready ) is executed during the J state.

この「受信準備完了」状態においては、TNの格納ロケ
ーション(=TNアドレス)に、マイクロプロセッサ・
システム103から得られる入力メツセージ・カウント
値が保持されるようになっており、この入力メツセージ
・カウント値は、所与のTNに関連して受信することの
できるメツセージの個数に関係した値である。このカウ
ント値は、入力メツセージが次々と転送されて来るのに
合せてデクリメントされ、ついにはゼロになることもあ
る。ゼロになったならばそれ以上のメツセージを受取る
ことはできず、オーバラン(overrun )状態の
表示がなされることになる。以上のようにして、TNを
利用してネットワーク50bとマイクロプロセッサ・シ
ステム103との間の伝送の速度を調節することができ
るようなっている。
In this “ready to receive” state, the microprocessor is stored at the TN storage location (=TN address).
An input message count value obtained from system 103 is maintained, the input message count value being a value related to the number of messages that can be received in association with a given TN. . This count value is decremented as input messages are transferred one after another, and may eventually reach zero. Once it reaches zero, no more messages can be received and an overrun condition will be displayed. As described above, the speed of transmission between the network 50b and the microprocessor system 103 can be adjusted using the TN.

局所的な(=個々のプロセッサについての)局面につい
て説明すると、個々のプロセッサにおいては、処理が実
行されている間、TNは送信メツセージ及び受信メツセ
ージの中に、システム全体で通用する一定不変の基準と
して保持されている。rTNOJ状態、即ちデイフォル
ト状態は、メツセージをノン・マージ・モードで用いる
べきであるという事実を明示するための、局所的コマン
ドとしての機能をも果たすものである。
To explain the local (= individual processor) aspect, while processing is being executed in an individual processor, TN is a constant and unchanging standard that applies throughout the system in transmitted messages and received messages. is maintained as. The rTNOJ state, the default state, also serves as a local command to indicate the fact that the message should be used in non-merge mode.

更に大域的な観点から説明すると、rTNOJと、rT
N>Jである種々の値とを、互いに異なる性質のものと
して区別することによって、TNを利用している複数の
コマンド機能のうちの1つのコマンド機能か規定されて
いる。即ち、そのようにTNを区別することによって、
「マージ/ノン・マージ」のいずれかを表わす特性記述
(キャラクタライゼーション)が各々のメツセージ・パ
ケットに付随することになり、それによって、複数のメ
ツセージに対して優先権の判定とソートとを行なうとい
う、有力なシステムの動作方式が得られているのである
。同様に、「アサインド(Assigned :割当て
がなされている状態)」、「アンアサインド(Unas
signed :割当てがなされていない状巴)」、「
非関与プロセッサ(Non−Participant 
) J 、並びに「イニシャル」というステータスを用
いて、大域的相互通信と制御の機能が遂行されるように
なっている。「アンアサインド」状態は、それ以前にプ
ロセッサがTNを放棄した場合の状態であり、従ってそ
れは、TNを再活性化させる新たなプライマリ・メツセ
ージを受取る必要かある状態である。もし状態表示が「
アサインド」であるべきときにプロセッサが「アンアサ
インド」を表示しているならば、これはTNが適切に入
力されなかったということを示しているのであるから、
訂正動作が実行されなければならない。もしTNが「ア
ンアサインド」であるべきときに「アサインド」となっ
ているならば、これは、不完全な転送が行なわれている
か、或いは新たな1つのTNを求めて2つのプロセッサ
の間で競合が行なわれていることの表われである場合が
ある。これらの「アサインド」と「アンアサインド」と
は、いずれもレディネス状態としては扱われず、その理
由は、それらの表示がなされている段階では、プロセッ
サは、まだそのTNに関する作業を始めていない状態に
あるからである。
To explain from a more global perspective, rTNOJ and rT
By distinguishing various values where N>J as having different properties, one command function among a plurality of command functions using TN is defined. That is, by distinguishing TN in this way,
A characterization indicating either ``merge'' or ``non-merge'' is attached to each message packet, and priority determination and sorting of multiple messages is thereby performed. , a powerful system operating method has been obtained. Similarly, "Assigned (assigned state)" and "Unassigned (state where assignment has been made)"
signed: unassigned status)", "
Non-Participant Processor
) J and the status ``initial'' are used to perform global intercommunication and control functions. The "unassigned" state is a state where the processor previously abandoned the TN, and therefore it is a state where it is necessary to receive a new primary message that reactivates the TN. If the status display is “
If the processor is displaying "Unassigned" when it should be "Assigned", this indicates that the TN was not entered properly.
Corrective action must be taken. If a TN is ``assigned'' when it should be ``unassigned,'' this indicates either an incomplete transfer or a conflict between two processors for a new TN. It may be an indication that something is being done. Neither of these "assigned" and "unassigned" states are treated as readiness states, because at the stage when they are displayed, the processor has not yet started working on that TN. It is.

更には、「イニシャル」状態と「非関与プロセッサ」状
態も、大域的資源の関係で重要である。
Furthermore, the "initial" state and the "non-participating processor" state are also important in terms of global resources.

オン・ラインに入ろうとしているプロセッサ、即ち、こ
のシステムへの加入手続きを行なわなければならないプ
ロセッサは「イニシャル」状態にあり、この態は、この
プロセッサをオン・ラインへ入れるためには管理上のス
テップを踏む必要があることを表わしている。所与のタ
スクに関して「非関与プロセッサ」状態にあるプロセッ
サは、局所的にはいかなる処理も実行する必要はないが
、しかしながらこのTNを追跡監視することにより、こ
のTNが不注意により不適切に使用されることのないよ
うにする必要がある。
A processor that is about to come online, that is, a processor that must go through the process of joining the system, is in an "initial" state, which means that administrative steps must be taken to bring it online. This indicates that you need to step on the A processor in the "uninvolved processor" state with respect to a given task does not need to perform any processing locally; however, by tracking and monitoring this TN, it is possible to prevent this TN from being inadvertently used inappropriately. It is necessary to make sure that this does not happen.

再び第10図に関して説明すると、H,S、RAM26
”の専用ディレクトリ即ち参照セクションは、以上に説
明したタイプ以外にも、ハードウェア的に応答を発生さ
せるために使用される、優先順位を付与された、複数の
その他のタイプのメツセージも含んでいる。N A (
not assigned :「割当てを受けていない
」の意)というエントリは、将来の使用に備えて準備さ
れ、使用可能な状態で保持されている。3種類の異なっ
たタイプのNAK応’!(オーバラン、TNエラー ロ
ック(Locked)の各NAK応答)は、そのデータ
内容が最も小さな値とされており、従って最も高い優先
順位にあるが、それは、それらのNAK応答がエラー状
態を示すものだからである。複数の5ACK応答の後に
ACK応答、モしてNAP応答(非該当プロセッサ応答
)が続き、それらは優先順位が低下して行く順序で並べ
られている。この具体例の構成では、2つの応答用コマ
ンド・コードが機能を割当てられておらず(即ちNAと
されており)、それらは将来の使用に備えて使用可能な
状態とされている。以上に説明したディレクトリは、ソ
フウェアによって初期設定することかできしかもハード
ウェアによって利用されるため、広範な種々の応答メツ
セージ・テキストのうちからどのようなものでも、迅速
に且つ柔軟性をもって発生させることができる。
Referring again to FIG. 10, H, S, RAM26
In addition to the types described above, the dedicated directory or reference section of `` also contains a number of other types of messages, given priority, that are used to generate responses in hardware. .N A (
The entry "not assigned" (meaning "not assigned") is prepared for future use and is maintained in a usable state. Three different types of NAK responses! (NAK responses for Overrun and TN Error Locked) have the smallest data content and therefore have the highest priority, because these NAK responses indicate error conditions. It is. A plurality of 5 ACK responses are followed by ACK responses and then NAP responses (non-applicable processor responses), which are arranged in order of decreasing priority. In the configuration of this specific example, two response command codes are not assigned a function (that is, they are set to NA) and are kept available for future use. The directories described above can be initialized by software and utilized by hardware, allowing for rapid and flexible generation of any of a wide variety of response message texts. Can be done.

以上のディレクトリの中の、その他の部分からは独立し
ている1つの独立部分を使用して、TOP、GET、P
UT、並びにBOTTOMの夫々のアドレス、即ち、入
力メツセージのための循環バッファの機能に関するポイ
ンタと、それに完了出力メツセージのポインタとが、格
納されている。こらのポインタは、夫々、入力メツセー
ジの管理と出力メツセージの管理とにあてられているH
、S、RAM26”の夫々の専用セクタと協働して機能
を果たすようになっている。入力メツセージのためには
循環バッファ方式が用いられており、この場合、H,S
、RAM26”のディレクトリ・セクションに格納され
ているrTOPJか、入力メツセージのための上限アド
レス位置を指定する可変アドレスとなっている。同じデ
ィレクトリ・セクションに格納されているPUTアドレ
スは、次に受信するメツセージを回路がどこに格納すべ
きかというアドレス位置を指定するものである。GET
アドレスは、ソフトウェアがバッファの空白化を行なっ
ているアドレス位置をハードウェアで認識できるように
するために、ソフトウェアによって設定され且つ更新さ
れ続けるものである。
Use one independent part of the above directories that is independent of the other parts to perform TOP, GET, P
The respective addresses of UT, as well as BOTTOM, ie, a pointer to the function of the circular buffer for input messages and a pointer to the completed output message, are stored therein. These pointers are used to manage input messages and output messages, respectively.
, S, and dedicated sectors of the RAM 26''. A circular buffer scheme is used for input messages; in this case, H, S,
, rTOPJ stored in the directory section of RAM 26" is a variable address that specifies the upper limit address position for the input message. The PUT address stored in the same directory section is the next received address. This specifies the address location where the circuit should store the message.GET
The address is set and continually updated by the software so that the hardware knows the address location where the software is blanking the buffer.

入力メツセージ・バッファの管理は、PUTをバッファ
の下限(bottom)のアドレスにセットし、そして
GETアドレスがTOPに等しくなっている状態から開
始するという方法で、行なわれる。ソフトウェアによっ
て定められている動作上のルールは、GETがPUTと
等しい値にセットされてはならないということであり、
もしそのようにセットされたならば、不定状態(アンビ
ギュアス・コンデイション)が生じてしまうことになる
。入力メツセージがH,S、RAM26″の中の大力メ
ツセージ・バッファへ入力されると、メツセージそれ自
体の中に含まれているメツセージ長さ値が、次に入力し
て来るメツセージの始点を決定し、続いて、ディレクト
リに格納されているPUTアドレスに対し、次に入力し
て来るメツセージを受入れるべきバッファ内の格納ロケ
ーションを表示させるための変更が加えられる。以上の
ようにしたため、マイクロプロセッサ・システム103
は、自らの作業能力が許すときに、入力メツセージの取
り出しを行なうことができるようになっている。
Management of the input message buffer is done by setting PUT to the bottom address of the buffer and starting with the GET address equal to TOP. The operational rule established by the software is that GET must not be set equal to PUT;
If so set, an ambiguous condition will occur. When an incoming message is entered into the large message buffer in RAM 26'', the message length value contained within the message itself determines the starting point of the next incoming message. , the PUT address stored in the directory is then modified to indicate the storage location in the buffer that will accept the next incoming message. 103
is capable of retrieving input messages when his/her working capacity allows.

H,S、RAM26”内の出力メツセージ格納空間に格
納されているデータは、他の部分からは独立した循環バ
ッファの内部に保持されている出力メツセージ完了ベク
トル、並びにH,S、RAM26”内のネクスト・メツ
セージ・ベクタと共に用いられる。個々のメツセージの
編集(アセンブル)並びに格納は、任意のロケーション
において行なうことができ、また、互いに関連する複数
のメツセージについては、それらをネットワーク上へ送
出するためのつなぎ合わせ(チェーン)を行なうことが
できるようになっている。H,S。
The data stored in the output message storage space in the H,S, RAM 26'' includes the output message completion vector held inside a circular buffer independent from other parts, as well as the output message storage space in the H,S, RAM 26''. Used with Next Message Vector. Individual messages can be edited (assembled) and stored at any location, and multiple messages that are related to each other can be chained together to send them over the network. It is now possible to do so. H,S.

RAM26”のディレクトリ・セクションでは、TOP
、80770M% PUT、並び1.:GETの夫々の
アドレスが既に説明したようにして入力され且つ更新さ
れており、それによって、出力メツセージ完了バッファ
内のロケーションについての動的な現在指標が維持され
ている。メツセージ完了ベクタは、出力メツセージ格納
空間内に格納されているメツセージであってしかも既に
適切に転送かなされたことが受信した応答によって示さ
れているメツセージを指し示すための、指標となるアド
レスを構成している。後に説明するように、このシステ
ムは、マイクロプロセッサ・システム103が出力メツ
セージの入力を容易に行なえるようにしている一方で、
このマイクロプロセッサ・システム103が複雑な連結
ベクタ・シーケンスを整然とした方式で扱えるようにし
ており、それによって、出力メツセージ格納空間が効率
的に使用され、メツセージ・チェーンの転送ができるよ
うにしている。
In the directory section of “RAM26”, TOP
, 80770M% PUT, sequence 1. The address of each :GET is entered and updated as previously described, thereby maintaining a dynamic current indication of the location in the output message completion buffer. The message completion vector constitutes an indexing address for pointing to a message stored in the output message storage space that is indicated by a received response to have already been properly forwarded. ing. As will be explained later, this system facilitates input of output messages by microprocessor system 103;
The microprocessor system 103 allows complex concatenated vector sequences to be handled in an orderly manner, thereby ensuring efficient use of output message storage space and forwarding of message chains.

応答に関連して先に説明した第11図のプロトコルは、
応答に続けてプライマリ・メツセージについても規定さ
れている。複数種類の応答メツセージが互いに連続して
並べられており、16進数のコマンド・コードが昇順に
図示されている。プライマリ・メツセージのグループの
中では、マージ停止メツセージ(このメツセージは、基
本的制御メツセージであるノン・マージ制御メツセージ
でもある)が、そのデータ内容が最小値となっており、
従って最高の優先順位にある。このメツセージは、ネッ
トワーク内並びにプロセッサ・モジュールにおけるマー
ジ・モードを終了させる、制御通信を構成している。
The protocol of FIG. 11 described above in connection with the response is as follows:
Following the response, a primary message is also specified. A plurality of types of response messages are arranged one after the other, and the hexadecimal command codes are illustrated in ascending order. Among the group of primary messages, the merge stop message (this message is also a non-merge control message, which is a basic control message) has the smallest data content.
Therefore it is of the highest priority. This message constitutes a control communication that terminates the merge mode in the network as well as in the processor module.

極めて多くの異なったタイプのプライマリ・データ・メ
ッセージを昇順の優先順位を定めて利用することができ
、またそれらには、応用上の要求事項とシステム的な要
求事項とに基づいて、優先順位に関する分類を加えるこ
とができる。先に述へたように、他のメツセージの後に
続けられる継続メツセージに対しては、そわに関する先
行メツセージ・パケットからの連続性を維持できるよう
にするために、高い優先順位をもたせるようにすること
ができる。
A large number of different types of primary data messages are available with ascending priorities, and they can be assigned priorities based on application and system requirements. You can add classification. As mentioned above, continuation messages that follow other messages should be given a high priority in order to maintain continuity from the previous message packet regarding fidgets. Can be done.

4種類のプライマリ・メツセージから成る、第11図中
の最下段のグループは、優先順位の高い方から低い方へ
向かって、ステータス応答を得ることを必要とする唯一
のタイプのステータス・メッセージであるステータス・
リクエスト・メツセージ、rTN放棄」とrTN割当て
」とを要求する夫々の制御メツセージ、そして、更に優
先順位の低い「マージ開始」制御メツセージを含んでい
る。
The bottom group in Figure 11, which consists of four types of primary messages, is the only type of status message that requires a status response from highest to lowest priority. status·
request messages, control messages requesting "rTN relinquishment" and "rTN assignment", respectively, and a lower priority "merge initiation" control message.

以上の構成は、後に説明する更に詳細な具体例から明ら
かなように、多くの用途に用い得る動作を可能とするも
のである。プロセッサ・モジュールは、現在トランザク
ション・ナンバ(presenttransactio
n number : P T N )に基づいて動作
するようになっており、この場合、そのPTNが外部的
に、ネットワークからの命令によって指定されたもので
あろうとも、また、連続した動作を実行している間に内
部的に発生されたものであろうとも、同じことである。
The above configuration enables operations that can be used for many purposes, as will be clear from more detailed examples described later. The processor module has a current transaction number (presenttransaction).
n number : P T N ), in which case the PTN may be externally specified by commands from the network, and may perform consecutive operations. The same is true even if it is generated internally during the process.

マージ動作が実行されているときには、プロセッサ・モ
ジュールは、大域的レファレンス、即ちトランザクショ
ン・アイデンティティ(=トランザクション識別するた
めの情報)を利用してその動作を実行しているのであり
、このトランザクション・アイデンティティはTNによ
って定められている。マージ動作の開始、停止、及び再
開は、簡単なメツセージの変更だけを利用して行なわれ
る。サブタスクが、メツセージをマージすることを必要
としていない場合や、他のメツセージとの間に特に関係
をもっていないメツセージ・パケットが発生されたよう
な場合には、それらのメツセージはrTNOJに対して
出力するための待ち行列(キュー)を成すように並へら
れ、そして、現在トランザクション・ナンバによって定
められた、基本状態即ちデイフォルト状態(0である)
が真状態を維持している間に転送が行なわれる。このr
TNOJ状態は、マージ・モードが用いられていないと
きには、メツセージを転送のための待ち行列を成すよう
に並べることを可能にしている。
When a merge operation is being executed, the processor module is performing the operation using a global reference, that is, a transaction identity (= information for identifying a transaction), and this transaction identity is Defined by TN. Starting, stopping, and restarting a merge operation is accomplished using simple message changes. When a subtask does not need to merge messages, or when message packets are generated that have no particular relationship with other messages, these messages are output to rTNOJ. are arranged in a queue, and are currently in the basic state or default state (0) determined by the transaction number.
The transfer takes place while the true state remains true. This r
The TNOJ state allows messages to be queued for forwarding when merge mode is not used.

(ネットワーク・インターフェイス・システム)これよ
り第13図に関して説明するが、同図は、本発明のシス
テムに用いるのに適したインターフェイス回路の一具体
例を更に詳細に示すものである。この「ネットワーク・
インターフェイス・システム」の意の説明には本発明を
理解する上では必ずしも必要ではない多数の詳細な特徴
が含まれているが、それらの特徴は、実機のシステムに
は組み込まれているものであり、それゆえ本発明の要旨
に対する種々の具体例の位置付けを明確にするために説
明中に含めることにした。具体的なゲーティングのため
の構成並びに詳細構造であって、本発明の主題ではなく
、しかも周知の手段に関するものについては、多種多様
な代替構成を採用することも可能であるので、説明を省
略ないし簡略化することにした。第13図は、第8図に
示されている第2のネットワーク・インターフェイス1
20°並びにH,S、RAM26”の詳細図である。2
つのネットワークのための夫々のインターフェイス12
0.120゛は互いに同様の方式で機能しており、それ
ゆえ、一方のみについて説明すれば十分である。
(Network Interface System) Reference will now be made to FIG. 13, which shows in more detail one specific example of an interface circuit suitable for use in the system of the present invention. This “network”
The description of "interface system" includes a number of detailed features that are not necessarily necessary to understand the invention, but which are incorporated into the actual system. , therefore, it has been included in the description to clarify the position of the various specific examples with respect to the gist of the invention. Regarding specific configurations and detailed structures for gating, which are not the subject matter of the present invention and are related to well-known means, a wide variety of alternative configurations can be adopted, so explanations will be omitted. Or I decided to simplify it. FIG. 13 shows the second network interface 1 shown in FIG.
20°, H, S, and RAM 26''.2
12 interfaces for each network
0.120'' function in a similar manner to each other, so it is sufficient to discuss only one.

第13A図において、同図のインターフェイスに接続さ
れている方の能動ロジック・ネットワーク50からの入
力は、マルチプレクサ142と公知のパリティ・チエツ
ク回路144とを介して、ネットワーク・メツセージ管
理回路140へ供給されている。マルチプレクサ142
は更にマイクロフロセッサ・システムのデータ・バスに
接続されており、これによって、このデータ・バスを介
してメツセージ管理回路140ヘアクセスすることが可
能となっている。この特徴により、マイクロプロセッサ
・システムが、インターフェイスをステップ・パイ・ス
テップ・テスト・モードで動作させることが可能となっ
ており、そして、このインターフェイスがネットワーク
とあたかもオン・ライン状態で接続されているかのよう
に、データの転送が行なわれるようになっている。ネッ
トワークからの入力は受信用ネットワーク・データ・レ
ジスタ146へ供給されるが、その際、直接このレジス
タ146の第1のセクションへ入力されるバイト・デー
タと、受信用バイト・バッファ148を介してこのレジ
スタ146へ入力されるバイト・データとがあり、受信
用バイト・バッファ148は、第1のセクションへのバ
イト・データの入力が行なわれた後に、自らのバイト・
データをこのレジスタ146の別のセクションへ入力す
る。これによって、受信した各々のワードを構成してい
る2つのバイトの両方が、受信用ネットワーク・データ
・レジスタ146に入力され、そしてそこに、利用可能
な状態で保持されることになる。
In FIG. 13A, the input from the active logic network 50 connected to the illustrated interface is provided to the network message management circuit 140 via a multiplexer 142 and a conventional parity check circuit 144. ing. multiplexer 142
is further connected to the data bus of the microprocessor system, thereby allowing access to the message management circuit 140 via the data bus. This feature allows the microprocessor system to operate the interface in step-by-step test mode, and to test the interface as if it were connected online to the network. Data transfer is performed in this manner. Input from the network is provided to the receive network data register 146, with the byte data input directly to the first section of this register 146 and the byte data input via the receive byte buffer 148 to the receive network data register 146. There is a byte data input to the register 146, and the receiving byte buffer 148 stores its own byte data after inputting the byte data to the first section.
Data is input into another section of this register 146. This causes both of the two bytes that make up each received word to be input to the receiving network data register 146 and remain available there.

これか、ら伝送される出力メツセージは、送信用ネット
ワーク・データ・レジスタ150へ入力され、また、通
常のパリティ発生回路132の内部においてパリティ・
ビットが付加される。メツセージは、ネットワーク・メ
ツセージ管理回路140からそれに接続されているネッ
トワークへ送出されるか、或いは、(テスト・モードが
用いられる場合には)マイクロプロセッサ・システム・
データ・バスへ送出される。このインターフェイスの内
部におけるメツセージ管理を行う目的で、ランダム・ア
クセス・メモリ168に格納されている送信メツセージ
のフォーマットは、メツセージ・データと共に識別用デ
ータをも含むものとされている。第21A図から分るよ
うに、コマンド、タグ、キー、並びにDSWのいずれを
も、これから伝送されるプライマリ・データに組合わせ
ておくことができる。
The output message transmitted from this is input to the transmitting network data register 150, and is also input to the parity generating circuit 132.
Bits are added. Messages are sent from network message management circuit 140 to a network connected to it, or (if test mode is used) to a microprocessor system.
Sent onto the data bus. For the purpose of message management within this interface, the format of the transmitted message stored in random access memory 168 is such that it includes identification data as well as message data. As can be seen in Figure 21A, commands, tags, keys, and DSWs can all be combined with the primary data to be transmitted.

第13A図に示されている構成は、本質的に第8図に示
されている構成と同一であるが、ただし第8図では、イ
ンターフェイス・データ・バス並びにインターフェイス
・アドレス・バスが、H,S、、RAM26”の入力ボ
ートAと入力ボートBとに別々に接続され、また、マイ
クロプロセッサ・システム103のアドレス・バス並び
にデータ・バスが、独立したCボートに接続されている
ように図示されている。しかしながら実際には、第13
A図から分るように、このような互いに独立した2方向
からのアクセスは、このインターフェイスの内部におい
て行なわれるH、S、RAM26”における入力アドレ
ス機能及び出力アドレス機能の時分割マルチブレクシン
グによって達成されている。マイクロプロセッサのデー
タ・ハスとアドレス・バスとは、夫々ゲート145と1
49とを介してインターフェイスの夫々のバスに接糸売
されており、それによってマイクロプロセッサが非同期
的に、それ自身の内部クロックに基づいて動作できるよ
うになっている。
The configuration shown in FIG. 13A is essentially the same as the configuration shown in FIG. 8, except that in FIG. The microprocessor system 103 is shown as having an address bus and a data bus connected to an independent C port. However, in reality, the 13th
As can be seen from Figure A, such access from two mutually independent directions is achieved by time division multiplexing of the input address function and output address function in the H, S, RAM 26'', which is performed inside this interface. The data bus and address bus of the microprocessor are connected to gates 145 and 1, respectively.
49 to each bus of the interface, thereby allowing the microprocessor to operate asynchronously and based on its own internal clock.

採用されているタイミング体系は、クロック・パルスと
、位相制御波形と、位相細分波形とに基づいたものとな
っており、この位相細分波形は、インターフェイス・ク
ロック回路156(第13図)によって発生され、また
第14図に示すタイミング関係をもつものとなっている
(第14図についても後に説明する)。インターフェイ
ス・クロック回路156は最も近くのノードからネット
ワーク・1ワード・クロックを受取っており、またフェ
イズ・ロック・クロック・ソース157は、第4図に関
連して先に説明した如ぎゼロ・タイム・スキューを維持
するための手段を含んでいる。
The timing scheme employed is based on clock pulses, phase control waveforms, and phase subdivision waveforms, which are generated by interface clock circuit 156 (FIG. 13). , and has the timing relationship shown in FIG. 14 (FIG. 14 will also be explained later). Interface clock circuit 156 receives the network one word clock from the nearest node, and phase lock clock source 157 receives the zero time clock as described above in connection with FIG. Includes means for maintaining skew.

240nsのネットワーク内の公称ネットワーク・ワー
ド・クロック速度が、インターフェイス・クロック回路
156の内部において時間的に細分され、これが行なわ
れるのは、フェイズ・ロックされた状態に保持されてい
る倍周器(詳細には示さない)が、持続時間が40ns
の基率周期を定める高速クロック(第14図にPLCL
Kとして示されている)を提供しているからである。基
本的なワード周期を定めているのは、全周期が240n
sて半サイクルごとに反転する、図中にCLKSRAと
記されている周期信号である。このCLKSRAと同一
の周波数と持続時間とをもつ信号が他に2つ、PLCL
Kに基づいて分周器158によって発生されており、こ
れらの信号は夫々がCLKSRAからPLCLKの1サ
イクル分及び2サイクル分だけ遅延した時刻に発生され
ており、また、夫々がCLKSRB及びCLKSRCと
いう名称を与えられている。
The nominal network word clock rate in the network of 240 ns is subdivided in time within the interface clock circuit 156, which is done by a frequency multiplier (detailed ), but the duration is 40ns
A high-speed clock (PLCL in Figure 14) that determines the cardinal period of
(denoted as K). The basic word period is determined by the total period of 240n.
This is a periodic signal labeled CLKSRA in the figure that is inverted every half cycle. There are two other signals with the same frequency and duration as this CLKSRA, PLCL
These signals are generated by a frequency divider 158 based on CLKSRA and are generated at times delayed from CLKSRA by one and two PLCLK cycles, respectively, and are designated CLKSRB and CLKSRC, respectively. is given.

以上の諸々の信号に基づいて、制御ロジック159が、
rIo  GATEJ、rRECV  GATEJ、並
びにrSEND  GATEJと称されるタイミング波
形(以下、ゲート信号ともいう)を作り出しており、こ
れらのタイミング波形は、ワード周期の互いに連続する
3等分されたインタバルの夫々を表示するものである。
Based on the above various signals, the control logic 159
It generates timing waveforms called rIo GATEJ, rRECV GATEJ, and rSEND GATEJ (hereinafter also referred to as gate signals), and these timing waveforms display each interval divided into three consecutive intervals of the word period. It is something to do.

これらのインタバルには、「IOフェイズ」、「受信フ
ェイズ」、「送信フェイズ」という該当する名称がつけ
られている。上記ゲート信号によって定められたこれら
のフェイズは、その各々が更に、「IOCLKJ信号、
rRECV  CLKJ信号、並びにrsEND  C
LKJ信号によって、2つの等分された半インタバルへ
と細分されており、これらの細分信号は、各々のフェイ
ズの後半部分を定めている。バイト・クロッキング機能
は、rBYTE  CTRLJ信号とrBYTE  C
LK」信号とによって管理されている。
These intervals are given appropriate names: "IO Phase", "Receive Phase", "Transmit Phase". These phases defined by the gate signals are each further defined by the "IOCLKJ signal,"
rRECV CLKJ signal and rsEND C
The LKJ signal is subdivided into two equal half-intervals, which define the second half of each phase. The byte clocking function uses the rBYTE CTRLJ signal and the rBYTE C
LK” signal.

以上のIOフェイズ、RECVフェイズ(受信フェイズ
)、及び5ENDフエイズ(送信フェイズ)は、ランダ
ム・アクセス・メモリ168とマイクロプロセッサ・シ
ステムのバスが、時分割多重化(タイム・マルチブレク
シング)された動作を行なえるようにするための、基礎
を提供するものである。インターフェイスは、高速ネッ
トワークとの間で、1回のワード周期あたり1個のワー
ドしか受信ないし送信することができず、しかも明らか
に、受信と送信とは決して同時には行なわれない。マイ
クロプロセッサ・システムとの間で行なわれる転送の転
送速度は、このネットワークとの間の転送速度よりかな
り低くなっているが、たとえ両者が等しい速度であった
としても、インターフェイス回路の能力にとって過大な
負担となることはない。このインターフェイスのシステ
ムの構成は、ランダム・アクセス・メモリ168へのダ
イレクト・アクセスによって大部分の動作が実行される
ようになっており、従って内部的な処理つまりソフトウ
ェアが、殆んど必要とされないようになっている。従っ
て、このシステムが各々のワード周期の中の連続する複
数のフェイズを周期的に経過していくにつれて、複数の
ワードが次々に、しかも互いに衝突することなく、それ
らのワードのための所定の複数の信号経路に沿って進め
られて行き、それによって種々の機能が実行されるよう
になっている。例を挙げれば、バスへのメツセージの送
出が、マイクロプロセッサからのメツセージの受取りの
合間に行なわれるようにし、しかもそれらの各々がメモ
リ168の異なった部分を用いて交互に行なわれるよう
にすることができる。
The above IO phase, RECV phase (reception phase), and 5END phase (transmission phase) are operations in which the random access memory 168 and the microprocessor system bus are time-division multiplexed. It provides the foundation for being able to do so. The interface can only receive or transmit one word per word period to or from the high speed network, and obviously it never receives and transmits at the same time. Transfer rates to and from the microprocessor system are considerably lower than transfer rates to and from this network, but even if they were equal, it would be too much for the capabilities of the interface circuitry. It will not be a burden. The system configuration of this interface is such that most operations are performed by direct access to random access memory 168, so that little internal processing or software is required. It has become. Thus, as the system cyclically passes through successive phases within each word period, the words successively and without colliding with each other will receive the predetermined multiples for those words. The signal path is advanced along the signal path, thereby performing various functions. For example, sending messages to the bus may occur in between receiving messages from the microprocessor, each of which may be performed in an alternating manner using different portions of memory 168. Can be done.

マイクロプロセッサ・システムのデ、−タ・バスとネッ
トワーク・インターフェイスとの間の相互通信は、IO
管理回路160(このIOのことを読出し/書込み(R
ead/Write)と言うこともある)の中で行われ
る。マイクロプロセッサ・システムから送られてくるワ
ードをゲーティングするための書込みゲート162と、
マイクロプロセッサ・システムへワードを送り出すため
のシステム読出しレジスタ164とによって、マイクロ
プロセッサのバスと、ネットワーク・インターフェイス
へのバス・インターフェイスとの間が接続されている。
Intercommunication between the data bus and network interface of a microprocessor system is
Management circuit 160 (reads/writes this IO)
(sometimes referred to as "ead/write"). a write gate 162 for gating words coming from the microprocessor system;
A system read register 164 for sending words to the microprocessor system provides a connection between the microprocessor's bus and the bus interface to the network interface.

更にメモリ・アドレス・レジスタ165とパリティ発生
器/チエツク回路166とが、ネットワーク・インター
フェイス・サブシステムに組込まれている。この具体例
では、前記高速メモリ(=H,S、RAM)は4にワー
ドx17ビツトのランダム・アクセス・メモリ168か
ら成り、このメモリの内部的な再区分のしかたと、この
メモリの内部に設けられている複数の専用メモリ領酸部
分の使用法とについては、既に説明したとおりである。
Also included in the network interface subsystem are a memory address register 165 and a parity generator/check circuit 166. In this example, the high-speed memory (=H, S, RAM) consists of a 4 word x 17 bit random access memory 168, and the internal repartitioning of this memory and the The usage of the plurality of dedicated memory areas is as described above.

このランダム・アクセス・メモリの大きさ(−容量)は
、具体的な個々の用途における必要に合わせて、縮小し
たり拡張したりすることが容易にできる。
The size (-capacity) of this random access memory can be easily reduced or expanded to suit the needs of a specific individual application.

受信メツセージ・バッファ管理回路170が、マイクロ
プロセッサのデータ・バスに接続されており、更にはメ
モリ168のアドレス・バスにも接続されている。「受
信メツセージ(receivedmessages) 
Jという用語は、ネットワークから入力してきて循環バ
ッファの中のrPUTJという格納ロケーションへ入力
されるメツセージを指し示すためにに用いられることも
あり、また、この入力の後に、そのようにして循環バッ
ファ内へ入力されたメツセージをマイクロプロセッサへ
転送するが、その転送のことを指し示すために用いられ
ることもある。このマイクロプロセッサへの転送が行な
われるときには、rGETJの値が、マイクロプロセッ
サ・システムへ転送すべき受信メツセージの取出しを実
行するに際しシステムがどのロケーションから連続した
取出し動作を行なうべきかを指定する。ランダム・アク
セス・メモリ168のアクセスに用いられる複数のアド
レス値が、GETレジスタ172、TOPレジスタ17
4、PUTカウンタ175、及びBOTTMレジスタ1
76に夫々入力されている。PUTカウンタ175は、
BOTTOMレジスタ176によって指定されている初
期位置から1づつインクリメントされることによって更
新される。TOPレジスタ174は、もう一方の側の境
界の指標を与えるものである。TOPの値とBOTTM
の値とはいずれも、ソフトウェア制御によって操作する
ことができ、それによって、受信メツセージ・バッファ
の大きざとH,S、RAMにおける絶対格納ロケーショ
ンとの両方を変更することが可能となっている。PUT
レジスタの内容がTOPレジスタの内容に等しくなった
ならばPIJTレジスタはリセットされて80770M
レジスタの内容と等しくされ、それによって、このバッ
ファを循環バッファとして利用できるようになっている
A receive message buffer management circuit 170 is connected to the microprocessor data bus and also to the memory 168 address bus. "Received messages"
The term J is sometimes used to refer to a message that comes in from the network and is input into a storage location called rPUTJ in a circular buffer, and after this input is sent as such into a circular buffer. Transfers an input message to a microprocessor, and is sometimes used to refer to such transfer. When this transfer to the microprocessor occurs, the value of rGETJ specifies from which location the system should perform successive retrieval operations in performing retrievals of received messages to be transferred to the microprocessor system. A plurality of address values used for accessing the random access memory 168 are stored in the GET register 172 and the TOP register 17.
4, PUT counter 175 and BOTTM register 1
76 respectively. The PUT counter 175 is
It is updated by incrementing by one from the initial position specified by the BOTTOM register 176. TOP register 174 provides an index of the other side boundary. TOP value and BOTTM
Both values can be manipulated by software control, allowing both the size of the receive message buffer and the absolute storage location in H, S, RAM to be changed. PUT
Once the contents of the register are equal to the contents of the TOP register, the PIJT register is reset and the 80770M
It is made equal to the contents of the register, thereby allowing this buffer to be used as a circular buffer.

以上のGETレジスタ、TOPレジスタ、80770M
レジスタ、並びにPLITカウンタは、入力メツセージ
用循環バッファと出力メツセージ完了循環バッファとの
両方を管理するのに用いられている。
GET register, TOP register, 80770M
Registers and PLIT counters are used to manage both the input message circular buffer and the output message completion circular buffer.

GETレジスタ172への入力はソフトウェアの制御下
において行なわれるが、それは、バッファ中においてそ
のとき取扱われているメツセージの長さに応じて、次の
アドレス(ネクスト・アドレス)が決定されるからであ
る。GETレジスタ172、PUTカウンタ175、並
びにTOPレジスタ174の夫々の出力に接続された比
較回路178と179は、オーバラン状態を検出及び表
示するために使用されている。オーバラン状態はGET
の値とPUTの値とが等しい値に設定された場合や、G
ETの値をTOPの値より大きな値に設定しようとする
試みがなされた場合に生じる状態である。これらのいず
れの場合にも、オーバランのステータス表示が送出され
ることになり、しかもこのステータス表示はオーバラン
状態が訂正されるまで送出され続けることになる。
The input to the GET register 172 is under software control, since the next address is determined depending on the length of the message currently being handled in the buffer. . Comparison circuits 178 and 179 connected to the respective outputs of GET register 172, PUT counter 175, and TOP register 174 are used to detect and indicate overrun conditions. Overrun status is GET
When the value of G and the value of PUT are set to the same value,
This is the condition that occurs when an attempt is made to set the value of ET to a value greater than the value of TOP. In either of these cases, an overrun status indication will be sent and will continue to be sent until the overrun condition is corrected.

「受信メツセージ」循環バッファを構成し動作させる際
の、以上のような連続的な方式は、このシステムに特に
適した方式である。衝突(コンフリクト)を回避するた
めの相互チエツクを可能としておくことによって、rP
UTJをハードウェアで管理し、且つrGETJを動的
に管理することができるようになフている。しかしなが
ら、これ以外の方式のバッファ・システムを採用するこ
とも可能である。ただしその場合には、おそらく回路並
びにソフトウェアに関して、ある程度の余分な負担が加
わることになろう。ここで5zsB図について触れてお
くと、メモリ168の内部に格納されている受信メツセ
ージのフォーマットは更に、マツプ結果、データ長さ、
並びにキー長さの形の識別データを含んでおり、それら
のデータがどのようにして得られるかについては後に説
明する。
This sequential manner of configuring and operating the ``receive message'' circular buffer is particularly suited to this system. By allowing mutual checks to avoid conflicts, rP
It is now possible to manage UTJ with hardware and dynamically manage rGETJ. However, it is also possible to employ other types of buffer systems. However, this would probably add some extra burden in terms of circuitry and software. Here, referring to the 5zsB diagram, the format of the received message stored inside the memory 168 further includes the map result, data length,
and identification data in the form of a key length, and how these data are obtained will be explained later.

このインターフェイスの内部のDSW9埋セクション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つの異な
ったマツプ・データ・ニブルを表わしている。メモリ1
68は、ここで行なわれる比較が容易なように、その専
用マツプ・セクションが特に比較に適した形態に構成さ
れている。マルチプレクサ196へその制御のために供
給されている、DSWの中の残りの2ビツトによって、
4つのマツプ・ニブルのうちの該当する1つのマツプ・
ニブルが選択される。比較が行なわれ、その比較の結果
得うれたマツプ・コードが、マツプ結果レジスタ197
へ入力され、そしてメモリ168へ入力されている入力
メツセージの中へ挿入される。
Internal DSW9 section 1 of this interface
90 includes a destination selection word register 192, into which a destination selection word (D
SW) is input. Using the DSW to address the dedicated DSW section of memory 168, this memory 1
68 on the data bus returns data that is used by the DSW management section 190.
However, it is now possible to determine whether the message packet is destined for the processor in question. As seen in FIG. 13A, the destination selection word consists of a 2-bit map nibble (nybl) address, a 10-bit map word address, and 4 bits for map selection. These "nibble" addresses are used to describe subsections of words from memory 168. The four bits for map selection are provided to a map result comparator 194 which receives the associated map data from memory 168 via multiplexer 196. Multiplexer 196 receives 16 bits of data, and these 16 bits are assigned to four different maps stored at the address specified by the 10 bits of the map word address contained in the DSW. - Represents a data nibble. memory 1
68 has its dedicated map section arranged in a form particularly suitable for comparison to facilitate the comparisons made here. The remaining two bits in DSW are provided to multiplexer 196 for its control.
Corresponding one of the four map nibbles
Nibble is selected. A comparison is made and the map code obtained as a result of the comparison is stored in the map result register 197.
and is inserted into the input message being input to memory 168.

もし、この比較の結果、選択されたマツプのいずれの中
にも「1」のビットが存在していないことが判明した場
合には、「拒絶」信号が発生されて、当該プロセッサ・
モジュールはそのメツセージ・パケットを受取るものと
して意図されてはいないことが表示される。
If, as a result of this comparison, it is found that there is no "1" bit in any of the selected maps, a "reject" signal is generated and the processor
It is indicated that the module is not intended to receive the message packet.

第15図について説明すると、同図には、メモリ168
の専用の転送先選択セクションを細分するための好適な
方法であってしかもマツプ結果の比較を行うための好適
な方法が、概略的に図示されている。各々のマツプは4
096ワード×1ビツトで構成されており、更に、個別
プロセッサID用セクタ、クラスID用セクタ、及びハ
ツシング用セクタに細分されている(第8図参照)。
Referring to FIG. 15, the memory 168 is shown in FIG.
A preferred method for subdividing a dedicated destination selection section and for performing a comparison of map results is schematically illustrated. Each map has 4
It consists of 096 words x 1 bit, and is further subdivided into an individual processor ID sector, a class ID sector, and a hashing sector (see FIG. 8).

12個のアドレス・ビット(10ビツトのマツプ・アド
レスと2ビツトのニブル)を用いて、共通マツプ・アド
レスが選択されると、それによって各々のマツプから1
ビツト出力が得られる。
A common map address is selected using 12 address bits (10 bits of map address and 2 bits of nibble), which allows one map address from each map to be selected.
Bit output is obtained.

(第13図のマルチプレクサとそのニブルは、図を簡明
にするために第15図には示してない)。
(The multiplexer and its nibble of FIG. 13 are not shown in FIG. 15 for clarity).

それら4つのパラレルなビット出力は、4つのANDゲ
ートから成るANDケート君T198において、マツプ
選択のための4ビツトと比較することかできるようにな
っており、その結果、1つ以上の一致か得られた場合に
は、ORケート199の出力が「真」状態になる。この
マツプ結果は、zt3A図のマツプ結果レジスタ197
へ入力することができ、それによって、そのメツセージ
がメモリ168に受入れられるようになる。以上とは異
なる場合には、そのメツセージは拒絶され、NAKが送
信されることになる。
These four parallel bit outputs can be compared with the four bits for map selection in an AND gate T198 consisting of four AND gates, and as a result, one or more matches are obtained. If so, the output of OR gate 199 will be in the "true" state. This map result is stored in the map result register 197 of the zt3A diagram.
, thereby causing the message to be accepted into memory 168. Otherwise, the message will be rejected and a NAK will be sent.

コマンド・ワード管理セクション200は、コマンド・
ワードを受取るコマンド・レジスタ202を含んでいる
。コマンド・ワードのTNフィールドは、それを用いて
アドレス・バスをアクセスすることができ、そのアクセ
スによって、指標とされている受(KTNが調べられて
適当な応答メツセージが決定される(第18図参照)。
Command word management section 200 includes command word management section 200.
It includes a command register 202 that receives words. The TN field of the command word can be used to access the address bus, which examines the indexed receiver (KTN) to determine the appropriate response message (see Figure 18). reference).

更には、「マージ開始」コマンドが実行されているとき
には、TNフィールドからPTNR(現在トランザクシ
ョン・ナンバ・レジスタ)206へのデータ転送経路が
確保されており、これは、「マージ開始」コマンドに合
わせてPTN (現在トランザクション・ナンバ)の値
を変更できるようにするためである。
Furthermore, when the "Start Merge" command is being executed, a data transfer path from the TN field to the PTNR (current transaction number register) 206 is secured; This is to enable the value of PTN (current transaction number) to be changed.

メモリ168へ入力された入力メツセージは、第21図
に関して説明すると、アドレス・ベクタを利用できるよ
うにするために、データ・フィールドやキー・フィール
ドが用いられている場合にはそれらのフィールドの長さ
値をも含むものどなっている。それらの長さ値は、受信
データ長さカウンタ210と受信キー長さカウンタ21
1とによって求められ、これらのカウンタの各々は、入
力ソースから夫々のカウンタに該当するフィール]・か
提供される際に、それらのフィールドに含まれている一
連のワードの個数を数えるようになっている。
Input messages entered into memory 168 are stored in memory 168, including the length of data and key fields, if used, in order to make address vectors available, as described with reference to FIG. There are also things that contain values. These length values are calculated by the received data length counter 210 and the received key length counter 21.
1, and each of these counters counts the number of consecutive words contained in those fields when provided with the fields corresponding to the respective counter from an input source. ing.

更には、送信メツセージ管理セクション220か用いら
れており、このセクションは、処理済のパケットをメモ
リ168に格納するための受入れ機能と、それらの格納
されたパケットを後刻ネットワークへ送出する機能とを
包含している。このセクション220は、送信トランザ
クション・ベクタ・カウンタ222、送信データ長さカ
ウンタ224、及び送信キー長さカウンタ226を含ん
でおり、これらのカウンタはデータ・バスに、双方向的
に接続されている。送信トランザクション・ベクタ・カ
ウンタ222はアドレス・バスに接続されており、一方
、送信データ長さカウンタ224はアドレス発生器22
8に接続されていて、このアドレス発生器228か更に
アドレス・バスに接続されている。出力バッファ・セク
ションと第8図の出力メツセージ完了ベクタ・セクショ
ンを構成する循環バッファとの両方を用いてメツセージ
の送出が行なわれる。ただしこの具体例では、複数のメ
ツセージ・パケットが逐次入力された後に、それらが今
度はベクタによって定められた順序で取出されるように
なってν入る。
Additionally, an outgoing message management section 220 is used, which includes the ability to accept processed packets for storage in memory 168 and send those stored packets out to the network at a later time. are doing. This section 220 includes a transmit transaction vector counter 222, a transmit data length counter 224, and a transmit key length counter 226, which are bidirectionally connected to the data bus. A transmit transaction vector counter 222 is connected to the address bus, while a transmit data length counter 224 is connected to the address generator 22.
8, and this address generator 228 is further connected to the address bus. Message transmission is accomplished using both the output buffer section and the circular buffer that constitutes the output message completion vector section of FIG. However, in this particular example, after a plurality of message packets have been input sequentially, they are now retrieved into v in the order determined by the vector.

このインターフェイスの内部においては、独立した夫々
の動作フェイズが、互いに排他的な時間に実行されるよ
うになっており、このような時分割方式を採用したこと
によって、メモリ168は、ネットワークのクロック速
度でネットワークからのメツセージ・パケットを受取っ
て供給することと、内部的な動作を効率的な高い速度で
実行することと、それ自身の遅いクロック速度で非同期
的に動作しているマイクロプロセッサ・システムとの間
で通信を行なうこととが、可能とされている。様々なカ
ウンタやレジスタへ向けたメツセージのゲーティング動
作を制御するために、位相制御回路が制御ビットに応答
して動作しており、制御ビットは、コマンド、DSW、
データ、それにメツセージ内の個々のフィールドを示す
その他の信号を発生するものである。送信状態制御回路
250、受信状態制御回路260、並びにR/W(読出
し/書込み)状態制御回路270は、クロック・パルス
を受取り、データ内のフィールドを識別し、そして、送
信、受信、それにプロセッサのクロック動作が行なわれ
ている間の、データの流れのシーケンシングを制御する
ものである。
Within this interface, each independent operation phase is executed at mutually exclusive times, and by employing this time-sharing scheme, memory 168 is configured to operate at mutually exclusive times. a microprocessor system running asynchronously at its own slow clock speed, receiving and distributing message packets from a network, and performing internal operations at an efficient high speed. It is possible to communicate between. To control the gating of messages to the various counters and registers, a phase control circuit operates in response to control bits that control the command, DSW,
It generates data as well as other signals indicating the individual fields within the message. Transmit state control circuit 250, receive state control circuit 260, and R/W (read/write) state control circuit 270 receive clock pulses, identify fields within the data, and perform transmission, reception, and processor processing. It controls the sequencing of data flow during clock operations.

このインターフェイスの制御は3つの有限状態マシン(
FSM)によって行われ、それらのFSMは、その各々
が送信フェイズ、受信フェイズ、及びプロセッサ(R/
W)フェイズのためのものである。それらのFSMは、
プログラマブル・ロジック・アレイ(PLA)、状態レ
ジスタ、並びにアクションROMを使用して、−数的な
方式で構成されている。各々のFSMは、ネットワーク
のクロック・サイクルの1回ごとに1つ次の状態へ進め
られる。発生すべき制御信号の数が多いため、PLAの
出力はさらにアクションROMによって符号化される。
Control of this interface is controlled by three finite state machines (
FSM), each of which has a transmit phase, a receive phase, and a processor (R/
W) It is for the phase. Those FSMs are
It is constructed in a -numerical manner using a programmable logic array (PLA), state registers, and action ROM. Each FSM is advanced to the next state for each network clock cycle. Due to the large number of control signals to be generated, the output of the PLA is further encoded by the action ROM.

当業者には容易に理解されるように、ネットワークの動
作のために必然的に必要となる、FSMモード用に書か
れ、それゆえ−数的な細部構造と動作とをもつ制御シー
ケンスの翻訳は、仕事量こそ多いものの単純なタスクで
ある。
As will be readily understood by those skilled in the art, the translation of control sequences written for FSM mode, and therefore with numerical detail structure and operation, which is necessarily necessary for the operation of the network, is , is a simple task, although it requires a lot of work.

第17図及び第19図の状態ダイアダラムと第18図の
7トリクス・ダイアダラムとを添付図面中に含めである
のは、かなり複雑なシステムに採用することのできる内
部構造設計上の特徴に関する、包括的な細目を提示する
ためである。
The inclusion of the state diadams of FIGS. 17 and 19 and the seven-trix diadarum of FIG. 18 in the accompanying drawings provides a comprehensive overview of the internal structural design features that can be employed in fairly complex systems. This is to present the details.

第17図は受信フェイズに関する図、第19図は送信フ
ェイズに関する図であり、これらの図において用いられ
ている表記法は、この明細書及び図面の他の場所で用い
られている表記法に対応じている。例えば次の用語がそ
うである。
Figure 17 is a diagram relating to the reception phase, and Figure 19 is a diagram relating to the transmission phase, and the notation used in these figures corresponds to the notation used elsewhere in this specification and the drawings. It's working. For example, the following terms are:

RKLC=  Receive  Key  Leng
th  Counter(受信キー長さカウンタ) RDLΔ= Receive Data Length
 Counter(受信データ長さカウンタ) RNDR= Receive Network Dat
a Word Register(受信ネットワーク・
データ・ワード・レジスタ) PUTC= Put  Counter(PUTカウン
タ) GETR=Get Register (GETレジスタ) 従って状態ダイアグラムは、第13図及び明細書と対照
させて参照すれば、略々説明なしでも理解することがで
きる。それらの状態ダイアグラムは、複雑なメツセージ
管理並びにプロセッサ相互間通信に関わる、様々なシー
ケンスと条件文とを詳細に示している。第17図(第1
7A図)において、「応答を発生せよ」と「応答を復号
せよ」とのラベルが書込まれている夫々の状態、並びに
破線の長方形で示されている夫々の条件文は、第18図
のマトリクス・ダイアグラムに記載されている、指定さ
れた応答及び動作に従うものである。第18図は、所与
のTNに関するプライマリ・メツセージとレディネス状
態との任意の組み合わせに対し、発生される応答と実行
される動作との両方を示すものである。当然のことであ
るが、正常なシステムの動作がなされているときには、
ある程度のメツセージの拒絶はあるものの、エラー状態
はまれにしか発生しない。
RKLC= Receive Key Length
th Counter (receive key length counter) RDLΔ= Receive Data Length
Counter (receive data length counter) RNDR= Receive Network Dat
a Word Register (receiving network/
Data word register) PUTC = Put Counter (PUT counter) GETR = Get Register (GET register) Therefore, the state diagram can be understood almost without explanation if it is referred to in comparison with FIG. 13 and the specification. can. The state diagrams detail the various sequences and conditionals involved in complex message management and interprocessor communications. Figure 17 (1st
In Figure 7A), the states labeled "Generate response" and "Decode response" and the conditional statements indicated by dashed rectangles are shown in Figure 18. It follows the specified responses and actions described in the matrix diagram. FIG. 18 shows both the response generated and the action taken for any combination of primary message and readiness state for a given TN. Of course, when the system is operating normally,
Although there is some message rejection, error conditions occur infrequently.

第17図と第19図のいずれにおいても、条件判断に関
しては、その多くのものが複数の判断を同時に実行する
ことができるようになっているが、これに対して状態ス
テップの方は、1つづつ変更されていくようになってい
る。いずれの場合においても、送信動作と受信動作とは
外部からの制御を必要せずに定められた進行速度で進め
られて行く動作であり、それは、メツセージの構成とネ
ットワークの動作方式とが既に説明したようになってい
るためである。
In both Fig. 17 and Fig. 19, most of the conditional judgments can execute multiple judgments at the same time, but in contrast, the state step It is gradually being changed. In either case, the sending and receiving operations are operations that proceed at a predetermined speed without requiring external control, and this is because the message structure and network operation method have already been explained. This is because it has become like that.

典型的なプロセッサ・システムやマルチプロセッサ・シ
ステムにおいて採用されている多くの特徴には、本発明
に密接な関係を持ってはいないものがあり、従ってそれ
らについては特に記載しない。それらの特徴の中には、
パリティ・エラー回路、割込み回路、それに、ワッチド
ッグ・タイマや極めて多様な配装機能等の活動をモニタ
するための種々の手段等がある。
Many features employed in typical processor and multiprocessor systems are not germane to the present invention and therefore will not be specifically described. Among those characteristics are
There are parity error circuits, interrupt circuits, and various means for monitoring activity such as watchdog timers and a wide variety of implementation functions.

(システムの動作の具体例) 以下に説明するのは、第1図、第8図、及び第13図を
総合したシステムが、ネットワーク及びH,S、RAM
と協働しつつ種々の動作モードで内部的にどのように働
くかを示す幾つかの具体例である。それらの具体例は、
優先順位規定と、ここで採用されているアドレッシング
方式と、トランザクション・アイデンティティとの間の
相互関係が、どのようにして局所的制御と大域的相互通
信との両方の機能を提供するのかを示すものである。
(Specific example of system operation) What will be explained below is a system that integrates Figures 1, 8, and 13.
These are some specific examples showing how it works internally in various modes of operation in conjunction with. Specific examples of these are:
Demonstrates how the interrelationship between priority specification, the addressing scheme employed here, and transaction identity provides the functionality of both local control and global intercommunication. It is.

プライマリ・データ・メッセージの′受信ここでは、そ
の他の図に加えて更に第16図についても説明するが、
第16図は、プライマリ・メツセージの最終的な受入れ
に関わる鎖状態の、簡略化した状態ダイアグラムである
。メツセージがバッファ或いはメモリに受信されても、
図示の論理的状態が満たされないうちは、受入れ(アク
セプタンス)が達成されたことにはならない。図ではイ
ベント(事象)のシリアルな列として示されているが、
本来は複数の判定がパラレルに、即ち同時に行なわれる
ようになっており、それは、夫々の条件が互いに関与し
ないものであったり、或いは、ある動作段階へ達するた
めの中間段階の飛越しが、回路によって行なわれたりす
るためである。
Receiving the Primary Data Message We will now discuss Figure 16 in addition to the other figures;
FIG. 16 is a simplified state diagram of the chain states involved in the final acceptance of the primary message. Even if the message is received in a buffer or memory,
Acceptance is not achieved until the illustrated logical conditions are met. Although it is shown as a serial sequence of events in the diagram,
Originally, multiple judgments were to be made in parallel, that is, at the same time, and this was because the respective conditions were not related to each other, or because the circuit had to skip intermediate steps to reach a certain operating step. This is because it is carried out by

第1図のネットワークの上のメツセージは、第13A図
の受信ネットワーク・データ・レジスタ146の中を、
EOM状態が識別されるまでの間通過させられ、その状
態が識別されたときに、メツセージが完了したことが認
識される。「ロック(LOCK) J状態が存在してい
る場合には、システムは第8図のH,S、RAM26”
の中の応答ディレクトリを参照して、NAK/LOCK
拒絶メツセージを送出する。
Messages on the network of FIG. 1 pass through the receiving network data register 146 of FIG. 13A.
It is passed through until an EOM condition is identified, at which point the message is recognized as complete. "If the LOCK J state exists, the system
NAK/LOCK
Send a rejection message.

そうでない場合、即ち「ロック」状態が存在していない
場合には、システムはマツプ比較チエツクへ移り、この
チエツクは第13A図に示したインターフェイスの中の
DSW管理セクション190の内部で実行される。「マ
ツプ出力=1」で表わされる、適切な比較結果が存在し
ている場合には、システムはそのメツセージを受信し続
けることができる。そのような比較結果が存在していな
い場合には、そのメツセージは拒絶され、NAPが送出
される。
If not, ie, a "lock" condition does not exist, the system moves to a map comparison check, which is performed within the DSW management section 190 in the interface shown in FIG. 13A. If a suitable comparison result exists, indicated by ``map output = 1'', the system can continue to receive the message. If no such comparison exists, the message is rejected and a NAP is sent.

該当するマツプが判定されたならば、それによってシス
テムはTNステータスを検査する準備が整ったことにな
り、このTNステータスの検査は第8図に示されている
THのディレクトリを参照することによって行なわれる
(ここでTNステータスとは厳密には所与のTNに関す
るプロセッサのステータスのことであり、従ってH,S
、RAM内のTNアドレスに格納されているエントリに
よって表わされているレディネス状態のことである)。
Once the appropriate map has been determined, the system is then ready to check the TN status, which is done by referencing the TH directory shown in Figure 8. (here, TN status strictly refers to the status of the processor for a given TN, so H, S
, the readiness state represented by the entry stored at the TN address in RAM).

更に詳しく説明すると、このTNステータスの検査は、
局所的ステータス(=個々のプロセッサ・モジュールの
ステータス)が「受信準備完了」であるか否かを判定す
るために行なわれる。
To explain in more detail, this TN status check is as follows:
This is done to determine whether the local status (=status of each processor module) is "ready to receive."

ここでは、先行するあるプライマリ・メツセージによっ
てTNの割当てが既になされているものと仮定している
Here, it is assumed that the TN has already been assigned by a certain preceding primary message.

この検査の結果、TNが「実行終了(done) J状
態、「非関与プロセッサ」状態、または「イニシャル」
状態のいずれかのステータスであることが判明した場合
には、rNAPJ拒絶メツセージが送出される(ここで
TNといっているのは、厳密にはH,S、RAM内のT
Nアドレスに格納されているエントリのことであるが、
以下、混同のおそれのない限りこのエントリのことも単
にTNと称することにする)。もしこの判明したステー
タスが、他の規定外の状態であったならば、送出される
拒絶メツセージはrNAK/TNエラー」であり、以上
の2つのタイプの拒絶メツセージもまた、第8図の応答
ディレクトリから取り出される。ステータスが「受信準
備完了」であったならば、更にもう1つの別の判定が行
なわれることになる。
As a result of this check, the TN is in the "done" state, the "non-participating processor" state, or the "initial" state.
If the status is found to be one of the following, an rNAPJ rejection message is sent (here, TN is strictly speaking H, S, and T in RAM).
This refers to the entry stored at the N address.
Hereinafter, unless there is a risk of confusion, this entry will also be simply referred to as TN.) If this found status is any other unspecified condition, the rejection message sent is an rNAK/TN error, and the above two types of rejection messages are also included in the response directory of Figure 8. taken from. If the status is "ready to receive", yet another determination will be made.

このもう1つの別の判定とは、「入力オーバラン」に関
するものであり、この判定は、既に説明したように、第
13A図の入出力管理バッファ・セクション170の内
部において、GETアドレスとPUTアドレスとを比較
することによって行なわれる。更にはトランザクション
・ナンバも、受信メツセージ・カウントの値がゼロでな
いかどうかについて検査され、このカウント値がゼロで
あれば、それは、同じく入力オーバランを表示している
のである。オーバラン状態が存在している場合には、r
NAK/入力オーバラン」が送出されてそのメツセージ
は拒絶される。
This other determination is related to "input overrun," and as described above, this determination is made when the GET address and PUT address are This is done by comparing the Additionally, the transaction number is also checked to see if the value of the received message count is non-zero; if this count value is zero, it is also indicative of an input overrun. If an overrun condition exists, r
The message is rejected with a NAK/input overrun.

以上のすべて条件が満足されていたならば、H,S、R
AM26”内の応答ディレクトリからrACKlメツセ
ージ(肯定応答メツセージ)が取り出されてネットワー
ク上へ送出され、他のプロセッサ・千ジュールとの間で
優先権が争われることになる。それらの他のプロセッサ
・モジュールのうちには、同じように受信メツセージに
対する肯定応答を送出したものもあるかもしてない。
If all the above conditions are satisfied, H, S, R
The rACKl message (acknowledgement message) is retrieved from the response directory in AM26'' and sent out on the network, where it will be contested for priority with other processor modules. Some may have similarly sent out acknowledgments of received messages.

この時点で、もしネットワークから受取る共通応答メツ
セージ(この「共通」とはマージされたという意味であ
る)がrACKJメツセージであって、従って、受信プ
ロセッサ・モジュールとして選択された「全ての」プロ
セッサ・モジュールが、先に受信したメツセージの受入
れが可能であることが明示されている場合には、その受
信メツセージの受入れがなされる。もしこの応答がrA
CKJ以外のいずれかの形であれば、先の受信メツセー
ジは「全ての」プロセッサから拒絶される。
At this point, if the common response message received from the network (where "common" means merged) is an rACKJ message, then "all" processor modules selected as receiving processor modules However, if it is specified that the message received earlier can be accepted, the received message is accepted. If this response is rA
If it is in any form other than CKJ, the previously received message will be rejected by ALL processors.

受信並びに応答についてのこの具体例においては、プラ
イマリ・メツセージが受信された後には、全てのプロセ
ッサが、ACK応答、NAK応答、及びNAP応答のう
ちのいずれか1つを発生することにン主目されたい。プ
ロセッサは、これらの応答メツセージのうちのいずれか
1つを受取ったならば、その直後にプライマリ・メツセ
ージの伝送を試みることができる。(プロセッサは、こ
の伝送の試みを、ネットワークを通り抜けるための合計
待ち時間相当の遅延に等しいかまたはそれより大きい遅
延の後に行なうこともでき、それについては既に「能動
ロジック・ノード」の章で説明したとおりである)。も
う1つ注目して頂きたいことは、もし、幾つかのプロセ
ッサが互いに「同一の」メツセージを送信したならば、
結果的?、τそれらのメツセージの全てがネットワーク
上の競合を勝ち抜いたことになることも、あり得るとい
うことである。その場合には、それらの送信プロセッサ
の「全て」がACK応答を受取ることになる。このこと
は、後出の具体例で詳細に説明する、ブロードカスト(
−斉伝送)及び大域的セマフォ・モードの動作に関して
重要である。
In this specific example of reception and response, after a primary message is received, all processors are focused on generating one of an ACK response, a NAK response, and a NAP response. I want to be Once the processor receives any one of these response messages, it can immediately attempt to transmit the primary message. (The processor may also make this transmission attempt after a delay equal to or greater than the total latency to traverse the network, which was already discussed in the Active Logic Nodes chapter. (as I did). Another thing to note is that if several processors send "identical" messages to each other,
Consequential? , τ It is also possible that all of those messages have survived the competition on the network. In that case, "all" of those transmitting processors will receive an ACK response. This is explained in detail in the specific example below.
- simultaneous transmission) and global semaphore mode operation.

実際に使用されている本発明の実機例は、これまでに説
明したものに加えて更により多くの種類の応答を含むと
共に様々な動作を実行するようになっている。第18図
はそれらの応答と動作とを、LOCK、TNエラー、及
びオーバランの各別込み状態、予め識別されている9つ
の異なったステータス・レベル、それに肯定応答(AC
K)及び非該当プロセッサ応答に対するものとして、縦
列に並べた各項目で示している。
Implementations of the invention in actual use include many more types of responses and perform a variety of operations in addition to those described above. FIG. 18 shows these responses and operations for the separate states of LOCK, TN error, and overrun, nine different pre-identified status levels, and acknowledgment (AC).
K) and non-applicable processor responses are shown in columns.

あるプロセッサ・モジュールがメツセージの送信準備を
完了したときには、第13図のPTNレジスタ206に
格納されているPTN値は使用可能状態となっており、
従って必要とされるのはTNステータスが「送信準備完
了」状態にあることの確認だけである。第12図から分
るように、「送信準備完了」のエントリ(記述項)は、
出力メツセージのためのネクスト・メツセージ・ベクタ
・アドレスを含んでいる。アセンブルが完了した出力メ
ツセージはネットワーク上へ送出され、そしてもし競合
に敗退したならば、PTNが途中で変更されない限り、
伝送が成功するまでこの送出動作が反復され、そして成
功したなら応答を受取ることになる。伝送が成功して肯
定応答を受取ったならば、アドレス・ベクタが変更され
る。ネクスト・メツセージ・ベクタが、現在メツセージ
の中の第2番目のワード(第21A図)から取り出され
、このワードは送信トランザクション・ベクタ・カウン
タ222からランダム・アクセス・メモリ168へ転送
される。出力メツセージ・セクションがオーバラン状態
になければ、PUTカウンタ175が「1」だけ進めら
れ、このオーバラン状態は、PUTがGETに等しくな
ることによって表示される。尚、送信トランザクション
・ベクタ・カウンタ222から転送されるネクスト・メ
ツセージ・ベクタは、H,S、RAMの中の現在トラン
ザクション・ナンバ・レジスタ206によって指定され
ているトランザクション・ナンバ・アドレスへ入力され
る。もし、この新たなTNが「送信準備完了」状態のも
のであれば、この入力されたベクタの値は、再び、この
トランザクション・アイデンティティに関係している次
のメツセージ(ネクスト・メツセージ)の格納位置を指
し示している。H,S、RAMの中に格納されている出
力メツセージのフォーマットについては、第21図を参
照されたい。
When a processor module is ready to send a message, the PTN value stored in the PTN register 206 of FIG. 13 is ready for use.
Therefore, all that is required is confirmation that the TN status is in the "ready to send" state. As can be seen from Figure 12, the entry (description) for "Ready to send" is
Contains the next message vector address for the output message. Once assembled, the output message is sent out on the network, and if it loses the contention, unless the PTN is changed midway through.
This sending operation is repeated until the transmission is successful, in which case a response will be received. If the transmission is successful and an acknowledgment is received, the address vector is modified. The next message vector is taken from the second word in the current message (FIG. 21A) and this word is transferred from transmit transaction vector counter 222 to random access memory 168. If the output message section is not in overrun, the PUT counter 175 is incremented by one, and this overrun condition is indicated by PUT equaling GET. Note that the next message vector transferred from the transmit transaction vector counter 222 is input to the transaction number address currently specified by the transaction number register 206 in the H, S, RAM. If this new TN is in the "ready to send" state, the value of this input vector is again the storage location of the next message related to this transaction identity. pointing to. See FIG. 21 for the format of the output message stored in the H, S, RAM.

ただし、メツセージを送出する際のメツセージ管理には
、PTNの内部的な、或いは外部からの変更をはじめと
する、多くの異なった形態の動作を含ませておくことが
できる。エラー状態、オーバラン状態、ないしロック状
態によって、システムがトランザクション・ナンバをr
TNOJにシフトするようにしておくことができ、この
シフトによって、システムはノン・マージ・モードに復
帰し、モしてrTNOJにおけるステータスの検査を、
「送信準備完了」状態が識別されるか或いは新たなTH
の割当てがなされるまで、続けることになる。かなり複
雑な具体例に採用することのできる状態並びに条件を示
したものとして、第19図(第19A図)のフローチャ
ートを参照されたい。
However, message management when sending messages can include many different types of actions, including changes internal to the PTN or external to the PTN. An error condition, overrun condition, or lock condition causes the system to change the transaction number to
TNOJ, which returns the system to non-merge mode and then checks the status at rTNOJ.
``Ready to Send'' status is identified or a new TH
This will continue until the allocation is made. Please refer to the flowchart of FIG. 19 (FIG. 19A) for an illustration of conditions and conditions that may be employed in a fairly complex implementation.

出力メツセージ完了バッファの例 メツセージの伝送の完了が「ロック(LOCK)」を除
いたその他の任意の応答メツセージによって明示された
ならば、新たに完了した出力メツセージ・バッファを指
し示すポインタが、H,S、RAMの出力メツセージ完
了循環バッファ・セクション(第8図参照)に格納され
る。このポインタは、上記出力メツセージ・バッファの
アドレスを表わす単なる16ビツト・ワードである。(
出力メツセージ・バッファのフォーマットは第21図に
示されている。出力メツセージ・バッファには、ネット
ワークから受取った応答メツセージを記録する場所が含
まれていることに注目されたい)。
Example of Output Message Completion Buffer Once the completion of a message transmission is indicated by any other response message except LOCK, a pointer to the newly completed output message buffer is set to H,S. , is stored in the output message completion circular buffer section of RAM (see FIG. 8). This pointer is simply a 16 bit word representing the address of the output message buffer. (
The format of the output message buffer is shown in FIG. Note that the output message buffer contains a place to record response messages received from the network).

出力メツセージ完了循環バッファは、ネットワーク・イ
ンタフェースのハードウェア120と、マイクロプロセ
ッサ105の上に置かれた監視プログラムとの間の、通
信の機能を果たすものである。このマイクロプロセッサ
の中に備えられているプログラムは、これから出力され
るメツセージをH,S、RAMの中に格納する。これに
続く次の例で詳細に説明するが、複数の出力メツセージ
を一緒に鎖状に連結しくチェーン具し)、シかもその際
、TNがこの1i1(チェーン)の先頭のポインタとし
て働くようにすることができ、これによって作業の複雑
なシーケンスを形成することかできる。その他の特徴と
しては、ネットワークを複数のTHの間で多重化即ち時
分割(マルチプレクシング)することができるため(こ
れについても後に詳述する)、ネットワーク内の諸処に
存在する様々な事象に応じた種々の順序でメツセージを
出力することができる。
The output message completion circular buffer provides communication between the network interface hardware 120 and the supervisory program located on the microprocessor 105. A program included in this microprocessor stores messages to be output in the H, S, RAM. As will be explained in more detail in the following example, it is also possible to chain multiple output messages together (in a chain) so that TN acts as a pointer to the beginning of this 1i1 (chain). This allows complex sequences of operations to be formed. Another feature is that the network can be multiplexed, or time-division (multiplexed), between multiple THs (this will also be explained in detail later), so it can be Messages can be output in various orders.

更にまた、伝送に成功したパケットによって占められて
いたH、S、RAM内の格納空間を迅速に回復し、それ
によってその格納空間を、これから出力される別の出力
パケットのために再使用できるようにすることが重要で
ある。出力メツセージ完了循環バッファが、この機能を
果たしている。
Furthermore, it is possible to quickly recover the storage space in the H,S,RAM occupied by the successfully transmitted packet, thereby reusing it for another output packet to be output. It is important to The output message completion circular buffer performs this function.

あるデータ・メツセージの送信が成功裏に終了して「ロ
ック」応答以外の応答を受信したならば、ネットワーク
・インターフェイスは、HoS、RAM内の「0510
(16進数)」に格納されているPUTポインタ(第1
0図参照)を「1」だけ進め、また、この送信が完了し
たばかりの出力メツセージの先頭のワードのアドレスを
PUTレジスタ内のアドレスへ格納する。(PUTポイ
ンタの値がr0512(16進数)」に格納されている
TOPポインタの値より大きくなると、PUTポインタ
はr0513(16進数)」に格納されているBOTポ
インタ(=BOTTOMポインタ)と同じになるように
最初にリセットされる)。PUTポインタがGETポイ
ンタ(格納位置r0511(16進数)」)より大きく
なるようならば、循環バッファが、オーバランしている
のであり、そのため「エラー割込み」がマイクロプロセ
ッサへ向けて発生される。
Once the transmission of a data message has been successfully completed and a response other than a "lock" response is received, the network interface sends a "0510
(hexadecimal number)" PUT pointer (first
0) is advanced by 1, and the address of the first word of the output message that has just been sent is stored in the address in the PUT register. (When the value of the PUT pointer becomes larger than the value of the TOP pointer stored in r0512 (hexadecimal), the PUT pointer becomes the same as the BOT pointer (=BOTTOM pointer) stored in r0513 (hexadecimal). first reset). If the PUT pointer becomes larger than the GET pointer (storage location r0511 (hex)), the circular buffer has overrun and an "error interrupt" is generated to the microprocessor.

マイクロプロセッサの内部で実行されているソフトウェ
アによって、GETポインタが指示している出力メツセ
ージ・バッファが非同期的に調べられる。プロセッサは
、実行を要求された何らかの処理を完了したならば、G
ETポインタを「1」だけ進める(このGETの値は、
TOPの値より大きくなるとBOTの値にリセットされ
る)。GET=PUTとなっている場合には、処理せね
ばならない出力メツセージはもはや存在していない。そ
うでない場合には、更に別の出力メツセージが成功裏に
送信を完了した状態にあるので、それらの出力メツセー
ジを処理せねばならない。この処理には、H,S、RA
Mの出力バッファの格納空間を空きスペースに戻すこと
が含まれており、従ってこのスペースを他のパケットの
ために再使用することできる。
Software executing within the microprocessor asynchronously examines the output message buffer pointed to by the GET pointer. Once the processor has completed some processing that it was requested to perform, G
Advance the ET pointer by 1 (the value of this GET is
If it becomes larger than the TOP value, it will be reset to the BOT value). If GET=PUT, there are no more output messages to process. Otherwise, further output messages have been successfully transmitted and must be processed. This process includes H, S, RA
It involves returning the storage space of M's output buffer to free space, so that this space can be reused for other packets.

ここで注目しておくべき重要なことは、出力メツセージ
完了循環バッファと入力メツセージ循環バッファとは互
いに別個のものであり、そのためこれら2つの循環バッ
ファは、夫々が別々のPUT、GET、TOP、及びB
OT17)各ポインタによって管理されているというこ
とである。構成のしかたによっては、第13図に示され
ているように、これら両方の循環バッファが、循環バッ
ファ管理ハードウェア170を共用するようにもできる
が、そのような構成が必須なわけではない。
An important thing to note here is that the output message completion circular buffer and the input message circular buffer are separate from each other, so these two circular buffers each handle separate PUT, GET, TOP, and B
OT17) It is managed by each pointer. In some configurations, both circular buffers can share circular buffer management hardware 170, as shown in FIG. 13, but this is not required.

拡販旦主二王j 各プロセッサ・モジュールは、そのプロセッサ・モジュ
ール自身の高速ランダム・アクセス・メモリ168(第
13図)の内部のTNをアクセスする機能を備えており
、このメモリ168には、潜在的に使用可能な複数のT
Nの、そのディレクトリが含まれている。ただし、割当
てられていないTNは、そのTNに関連付けられている
格納位置に格納されているトランザクション・ナンバ値
によって、割当てられていない旨が明確に表示されてい
る。従って、マイクロプロセッサ・システム103は、
割当てられていないトランザクション・ナンバを識別し
、そしてそれらのうちの1つを、所与のトランザクショ
ン・アイデンティティに関して他のプロセッサ・モジュ
ールとの間の通信を開始するのに使用するために選択す
ることができる。
Each processor module has the ability to access the TN within its own high-speed random access memory 168 (FIG. 13); Multiple Ts that can be used
N, its directories are included. However, unallocated TNs are clearly indicated as unallocated by the transaction number value stored in the storage location associated with the TN. Therefore, microprocessor system 103:
identifying unassigned transaction numbers and selecting one of them for use in initiating communications with other processor modules regarding a given transaction identity; can.

トランザクション・ナンバは、ローカル・マイクロプロ
セッサ(=プロセッサ・モジュール内のマイクロプロセ
ッサ)の制御の下に、局所的に割当てられ且つ更新され
るが、ネットワーク内の全域における大域的制御は、r
TN放棄命令」及びrTN割当命令」というプライマリ
制御メツセージを用いて行なわれる。同一のTNを要求
する可能性のある互いに競合する複数のプロセッサ・モ
ジュールの間にデッドロック状態が発生することは決し
てなく、そのわけは、ネットワークが、より小さな番号
を付けられているプロセッサの方に優先権を与えるから
である。そのTNを得ようとしたプロセッサのうちで優
先権を得られなかった残りのプロセッサはrNAK/T
Nエラー」応答を受取ることになり、この応答は、それ
らのプロセッサが別のTNを確保することを試みなけれ
ばならないということを表示するものである。従って、
それらのトランザクション・アイデンティティの確保並
びに照合を、システムの内部で及び局所的に行なう際の
、完全なフレキシビリティが得られている。
Transaction numbers are assigned and updated locally under the control of the local microprocessor (= microprocessor in the processor module), but global control throughout the network is
This is done using the primary control messages ``TN Abandonment Command'' and ``rTN Assignment Command''. A deadlock condition never occurs between competing processor modules that may request the same TN, because the network This is because priority is given to The remaining processors that did not get priority among the processors that tried to get that TN are rNAK/T
N Error" response indicating that those processors should try to reserve another TN. Therefore,
There is complete flexibility in securing and verifying these transaction identities within and locally within the system.

更に注目して頂きたいことは、TNの反復使用は、rT
NOJである基本伝送モードと、TNがゼロより大きい
マージ・モードとの間の、シフトによりて行なわれてい
るということである。従ってこのシステムは、ただ1回
のTHのブロードカスト式の伝送によって、その動作の
焦点だけでなくその動作の性質をも変えることができる
It should also be noted that repeated use of TN
This is done by shifting between the basic transmission mode, which is NOJ, and the merge mode, where TN is greater than zero. Therefore, the system can change not only the focus of its operation but also the nature of its operation by a single broadcast transmission of TH.

大域的ステータスの変化を伝達するための更に別の、そ
して特に有用な方式は、第4図に関して既に説明した強
制パリティ・エラーの伝播である。この独特の表示方式
は、その他の伝送の間にはさみ込まれて伝送されると、
中止されたシステム資源が調査され、そして適切な動作
が実行されることになる。
Yet another, and particularly useful, scheme for communicating changes in global status is the forced parity error propagation described above with respect to FIG. This unique display method, when transmitted between other transmissions,
The aborted system resources will be investigated and appropriate action taken.

プロセッサ対プロセッサ′信 プロセッサ通信として、2種類の特別の形態のものがあ
り、その一方は特定の1つの転送先プロセッサへ向けて
行なわれる通信であり、他方は、1つのクラスに属する
複数のプロセッサを転送先として行なわれる通信である
。これらの両タイプの伝送はいずれもDSWを利用して
おり、また、これらの伝送はいずれも、ノン・マージ・
モードのブロードカストによって実行される。
There are two special types of processor-to-processor communication: one is communication directed to one specific destination processor, and the other is communication directed to multiple processors belonging to one class. This is a communication performed with the destination as the forwarding destination. Both of these types of transmission utilize DSW, and both of these transmissions are non-merging
Performed by mode broadcast.

特に1つの発信元プロセッサと1つの転送先プロセッサ
との間での通信を行なう際には、DSWの中に転送先プ
ロセッサ識別情報(destinationproce
ssor 1dentification : D P
 I D )を入れて使用する。第8図を参照しつつ説
明すると、このDPIDの値を用いて各々の受信プロセ
ッサ・モジュールのH,S、RAM26”の選択マツプ
部分がアドレスされると、転送先として意図された特定
のプロセッサ・モジュールだけが、肯定的な応答を発生
してそのメツセージを受入れる。肯定応答が送信され、
しかもそれが最終的に成功裏に受信されたならば、両者
のプロセッサは、要求されている将来の動作のいずれで
も実行できる状態になる。
In particular, when communicating between one source processor and one destination processor, destination processor identification information (destination process) is stored in the DSW.
ssor 1dentification: DP
ID) and use it. Referring to FIG. 8, when the selection map portion of the H, S, RAM 26'' of each receiving processor module is addressed using this DPID value, the specific processor intended as the transfer destination is addressed. Only a module can generate a positive response and accept the message.A positive response is sent and
And if it is finally successfully received, both processors will be ready to perform any future operations requested.

ある1つのメツセージを、ある1つの制御ブロセスに関
係する、1つのクラスに属する複数のプロセッサが受信
すべき場合には、DSW内のマツプ・ニブルとマツプ・
アドレスとによって、HoS、RAMの選択マツプ部分
の中の対応するセクションが指定される。そして、全て
の受信プロセッサが夫々に肯定応答を送出し、それらの
肯定応答は、発信元プロセッサ・モジュールへ到達する
ための競合を、この通信のための往復送受信が最終的に
完了するまで続けることになる。
When a message is to be received by multiple processors belonging to a class that are related to a control process, the map nibble and map nibble in the DSW are
The address specifies the corresponding section in the selection map portion of the HoS and RAM. All receiving processors then send respective acknowledgments that continue competing to reach the originating processor module until the round trip for this communication is finally completed. become.

全域ブロードカスト・モードのプロセッサ通信は、プラ
イマリ・データ・メッセージ、ステータス・メッセージ
、制御メツセージ、並びに応答メツセージの、各メツセ
ージの通信に用いることかできる。優先順位プロトコル
と、優先権を付与する機能を備えたネットワークとの、
両者の固有の能力によって、その種のメツセージをその
他の種類のメツセージのシーケンスの中に容易に挿入で
きるようになっている。
A global broadcast mode of processor communication may be used to communicate primary data messages, status messages, control messages, and response messages. A priority protocol and a network with the ability to give priority.
The inherent capabilities of both allow such messages to be easily inserted into sequences of other types of messages.

ハツシング・モードのプロセッサ選択は、リレーショナ
ル・データベース・システムにおけるデータ処理のタス
クを実行する際には、他から飛び抜けて多用されるプロ
セッサ選択方式である。
Hashing mode processor selection is by far the most commonly used processor selection method when performing data processing tasks in relational database systems.

−次的データ(==バックアップ用ではないメインのデ
ータ)についての互いに素の(=同一の要素を共有しな
い)a数のデータ部分集合と、バックアップ用データに
ついての互いに素の複数のデータ部分集合とが、適当な
アルゴリズムに従って、異った複数の二次記憶装置の中
に分配されている。1つのプロセッサが一次的データの
部分集合を分担し別の1つのプロセッサがバックアップ
用データの部分集合を分担しているためにそれら2つの
プロセッサが同時に応答した場合には、次的データにつ
いてのメツセージの方に優先権が与えられる。この条件
が補償されるようにするためには、優先順位のより高い
コマンド・コード(第12図参照)を選択するようにす
れば良い。
- A number of disjoint (=not sharing the same elements) data subsets of secondary data (=main data not for backup) and multiple disjoint data subsets of backup data are distributed among different secondary storage devices according to a suitable algorithm. If one processor is responsible for a subset of the primary data and another processor is responsible for a subset of the backup data, and the two processors respond simultaneously, the message for the secondary data Priority will be given to those who In order to compensate for this condition, a command code with a higher priority (see FIG. 12) may be selected.

データベースの信頼性及び完全性の維持も、以上の様々
なマルチプロセッサ・モードを利用することによって達
成され、その場合、発生した個々の状況に対して最も有
利なようにそれらのモードが適用される。例を挙げるな
らば、−次的データのある部分集合を分担している二次
記憶装置が故障した場合には、特別のプロセッサ対プロ
セッサ通信を利用してそれを更新することができる。ま
たエラーの訂正やデータベースの一部分のロールバック
は、これと同様の方式で、或いはクラス・モードで動作
させることによって、行なうことができる。
Maintenance of database reliability and integrity is also achieved by utilizing the various multiprocessor modes described above, which are then applied in the most advantageous manner to the particular situation encountered. . For example, if a secondary storage device that is responsible for a certain subset of secondary data fails, special processor-to-processor communications can be utilized to update it. Correcting errors or rolling back portions of the database can also be done in a similar manner or by operating in class mode.

トランザクション・ナンバの例 トランザクション・ナンバという概念により、マルチプ
ロセッサ・システムの制御のための新規にして強力なハ
ードウェア機構が得られている。
Transaction Number Example The concept of transaction numbers provides a new and powerful hardware mechanism for controlling multiprocessor systems.

木システムにおいては、トランザクション・ナンバはr
大域的セマフォ」を構成しており、また、ネットワーク
に対するメツセージの送受信と、複数のプロセッサに分
配されたある1つの所与のタスクのレディネス状態の確
認との夫々において、重要な役割りを果たしている。
In the tree system, the transaction number is r
It constitutes a ``global semaphore'' and plays an important role in sending and receiving messages to and from the network and in checking the readiness status of a given task distributed among multiple processors. .

トランザクション・ナンバ(TN)は、H2S、RAM
26の中の16ビツト・ワードとじて物理的に実現され
ている。このワードは、様々な機能を果たせるように、
第12図に示すようなフォーマットとされてし)る。T
NはH,S、RAMに格納されるため、マイクロプロセ
ッサ105とネットワーク・インターフェイス120と
のいずれからもアクセスすることができる。
Transaction number (TN) is H2S, RAM
It is physically implemented as 16-bit words in 26 bits. This word can perform various functions,
The format is shown in FIG. 12). T
Since N is stored in H, S, RAM, it can be accessed from both microprocessor 105 and network interface 120.

大jヱl−t”乙エエ 「セマフォ」という用語は、コンピュータ科学関係の文
献において、互いに非同期的に実行される複数の処理の
制御に用いられる変数を指し示すための用語として、−
数的に使用されるようになっている。セマフォは、中断
されることのない1回の操作でそれを「テスト・アンド
・セット」することができるという性質をもっている。
The term ``semaphore'' is used in computer science literature to indicate a variable used to control multiple processes that are executed asynchronously with each other.
It is used numerically. A semaphore has the property that it can be "tested and set" in a single non-disruptive operation.

−例として、「アンアサインド(UNASSIGNED
 :割当てがなされていない状態)」と、「アサインド
(ASS[NED : WjJ当てがなされている状、
9 ) Jとの2つの状態を取り得るセマフォ変数につ
いて考察することにする。この場合には、テスト・アン
ド・セット動作は次のように定義される:もしセマフォ
が「アンアサインドJ状態にあったならば、そのセマフ
ォを「アサインド」状態にセットして成功を表示するこ
と;反対にセマフォが既に「アサインド」状態にあった
ならば、そのセマフォを「アサインド」状態のままにし
ておいて「失敗」を表示すること。従って、このセマフ
ォに拠れば、セマフォのテスト・アンド・セットに成功
した処理は自らのタスクを続行することができ、一方、
それに失敗した処理は、そのセマフォが「アンアサイン
ド」状態にリセットされるのを待つか、或いは、等価の
別の資源を制御している別のセマフォをテスト・アンド
・セットすることを試みるかの、いずれかを余儀なくさ
れる。容易に理解できることであるが、仮にテスト・ア
ンド・セット動作が中断されるようなことがあり得ると
するならば、2つの処理が同時に同じ資源にアクセスし
てしまう可能性が生じ、それによって予測することので
きない誤った結果が生じてしまうおそれがある。
- For example, “UNASSIGNED
: Unassigned state)" and "Assigned (ASS[NED: WjJ assigned state,
9) Let's consider a semaphore variable that can take two states with J. In this case, the test-and-set operation is defined as follows: if the semaphore was in the "unassigned" state, set the semaphore to the "assigned" state and indicate success; Conversely, if the semaphore was already in the ``assigned'' state, leave the semaphore in the ``assigned'' state and display ``failed.'' Therefore, according to this semaphore, a process that successfully tests and sets the semaphore can continue with its task, while
A failing operation may either wait for the semaphore to be reset to the "unassigned" state, or attempt to test and set another semaphore controlling another equivalent resource. be forced to do one or the other. It is easy to understand that if a test-and-set operation could be interrupted, it would be possible for two processes to access the same resource at the same time, which would cause the prediction There is a risk that incorrect results may occur that cannot be corrected.

いかなるマルチプロセッサ・システムも、システムの資
源へのアクセスを制御するために、セマフォと同一視す
ることのできる概念を、ハードウェアによって実際に具
体化している。しかしながら、従来のシステムは、1コ
ピーのセマフォ(=部数が1部のセマフォ、即ち1箇所
だけに設けられるセマフォ)しか維持することができな
い。そこで、複数コピーのセマフォ(=部数が複数のセ
マフォ、即ち複数箇所に設けられるセマフォ)を、各プ
ロセッサに1コピーづつ設けて維持するようにすれば、
単にテストするだけのセマフォのアクセスのために競合
が発生する回数を低減するという目的と、後に説明する
その他の用途に多価のセマフォ変数を利用するという目
的との、双方のために望ましい。問題は、セマフォの多
数のコピーに対し、完全に同期した操作を加えねばなら
ないということであり、もしこのことが守られなかった
ならば、それを強化するためにセマフォが設けられてい
るところの、資源へのアクセスの完全性が失われてしま
うことになる。
Any multiprocessor system actually implements in hardware a concept that can be equated with a semaphore to control access to the system's resources. However, conventional systems are only able to maintain one copy of a semaphore (a semaphore with one copy, that is, a semaphore provided at only one location). Therefore, if a multi-copy semaphore (a semaphore with multiple copies, i.e., a semaphore provided in multiple locations) is provided and maintained in each processor, one copy will be maintained.
This is desirable both for the purpose of reducing the number of times contention occurs for semaphore accesses that are merely for testing purposes, and for the purpose of utilizing multi-valued semaphore variables for other uses described below. The problem is that operations must be performed on multiple copies of the semaphore in a completely synchronized manner, and if this is not followed, then the , the integrity of access to resources will be lost.

複数コピーのセマフォ、即ち「大域的」セマフォは、本
システムによって提供される。次に示す表は、大域的セ
マフォに関する動作を、単一セマフォ(1コピーのセマ
フォ)と対比したものである。
Multiple copy semaphores, or "global" semaphores, are provided by the system. The following table compares the behavior for global semaphores to single semaphores (one copy semaphores).

(以下余白) 本実施例のシステムにおいては、r T N ;’;I
J当(ASSIGN TN ) JコマンドとrTN放
棄(RELINq+Hsu TN)Jコマンドとが、大
域的セマフすとして利用されているトランザクション・
ナンバに対するテスト・アンド・セット機能とリセット
機能とを夫々に担っている。第12図について説明する
と、rNAK/TNエラー」応答が失敗を表示し、一方
、rSACK/アサインド」応答が成功を表示する。
(Left below) In the system of this embodiment, r T N ;';I
J command (ASSIGN TN) J command and rTN abandonment (RELINq+Hsu TN) J command are used as global semaphs.
They each have a test and set function and a reset function for the number. Referring to FIG. 12, the rNAK/TN Error" response indicates failure, while the rSACK/Assign" response indicates success.

複数のノーi−を同期してクロッキングするために用い
られている同期クロッキング方式や、全てのプロセッサ
へ同時にfk優先パケットを伝送するブロードカスト動
作をはしめとする、このネットワークの特質は、大域的
セマフォという概念を実際に具体化する一Fでの基礎を
成すものである。この概念が実施されているために、こ
のシステムは所望のシステム資源の複数のコピーの、そ
の割付け(アロケーション)、割付は解除(デアロケー
ション)、並びにアクセスの制御を、単にその資源にT
Nを付与することによって行なえるようになっている。
The characteristics of this network include the synchronous clocking method used to clock multiple nodes synchronously, and the broadcast operation that transmits fk priority packets to all processors simultaneously. It forms the basis of the first floor that actually embodies the concept of a semaphore. Because this concept is implemented, the system controls the allocation, deallocation, and access of multiple copies of a desired system resource by simply
This can be done by adding N.

ここでl1目すべぎ重要なことは、分散された資源の制
御を、単一セマフォの場合と略々同程度の小規模なソウ
トウエア・オーバヘットで、実行できるようになってい
るということである。このことは従来のシステムに対す
る非常な進歩であり、なぜならば、従来のシステムは、
分散型の資源を管理できないか、或いは、複雑なソフト
ウェアによるプロトコルが必要とされ且つハードウェア
的なネックを生じてしまうかの、いずれかだからである
The most important thing here is that the control of distributed resources can be executed with approximately the same small software overhead as in the case of a single semaphore. This is a huge improvement over traditional systems because they
This is because either distributed resources cannot be managed, or complex software protocols are required and create hardware bottlenecks.

レディネス状態 「ビズイ (BIISY) J、「ウェイティング(W
AITING ) 」、[準備完了(READY ) 
J  C送(Mと受信の夫々の準備完了)、「終了(D
ONE) J、及び[非関与プロセッサ(NUN−1’
ARTICIPAN了)」から成る1組の値(第12図
参照)が、あるTNを付与されたタスクの、そのレディ
ネス状態を速やかに確認する能力を提供している。この
システムでは、以上の各状態の意味するところは、次の
表が示すようになっている。
Readiness status “BIISY (BIISY) J,” “Waiting (W)”
AITING), [READY]
JC sending (preparation completed for M and receiving), ``Complete'' (D
ONE) J, and [non-participating processor (NUN-1')
A set of values (see FIG. 12) consisting of "ARTICIPAN END)" provides the ability to quickly determine the readiness state of a task given a certain TN. In this system, the meaning of each of the above states is shown in the table below.

rTN割当」コマンドを用いて、タスクへのTNの付与
が動的に行なわれるようになっている。成功表示(rT
N割当Jメツセージに対するrSACに/アサインド」
応答)は、すべての動作可能なプロセッサが成功裏にT
Nのタスクへの割当てを完了したことを示す、第11図
に関してt1目すべきことは、rNAK/TNエラー」
応答は高い優先順位(小さな値)をもっているため、い
ずれかのプロセッサのネットワーク・インターフェイス
120がTNの使用に関する衝突を検出したならば、全
てのプロセッサが失敗応答を受取るということである。
Using the "rTN assignment" command, a TN is dynamically assigned to a task. Success display (rT
"/Assign to rSAC for N-assigned J message"
response), all operational processors successfully T
What should be noticed at t1 regarding FIG. 11, which indicates that the assignment of N to the task has been completed, is the rNAK/TN error.
The response has a high priority (small value) so that if any processor's network interface 120 detects a conflict regarding the use of the TN, all processors will receive a failure response.

更に、ネットワーク上を伝送されるこの失敗応答のop
+o(発イ3元プロセッサID)フィールドは、衝突の
あったプロセッサのうちの第1番目の(付された番号が
最小の)プロセッサを表示することになる。この事実は
、診断ルーチンに利用される。
Furthermore, the op of this failure response transmitted over the network
The +o (originating ternary processor ID) field will display the first processor (the one with the lowest assigned number) among the processors that have had a conflict. This fact is utilized in diagnostic routines.

各々のプロセッサは、ソフトウェアの働きにより、タス
クを/A理し、モしてTNを「ビズイ」、「ウェイティ
ング」、r送信準備完了」、「受信準備完了」、「終了
」または「非関与プロセッサ」のうちの該当するものに
セットする。最初のrTN割当」を発令したプロセッサ
を含めどのプロセッサも、任意の時刻に、「ステータス
・リクエスト」コマンド或いは「マージ開始」コマンド
を発令することによって、タスク(TN)がどの程度に
完了しているかという状態を容易に確認することができ
る。
Each processor manages the task and assigns the TN to ``busy'', ``waiting'', ``ready to send'', ``ready to receive'', ``terminated'', or ``non-participating processor'' through the action of software. ” to the appropriate one. Any processor, including the processor that issued the "initial rTN assignment", can check to what extent a task (TN) has been completed by issuing a "status request" command or "merge start" command at any time. This condition can be easily confirmed.

「ステータス・リクエスト」は、多価の(−多種の値を
取り得る)大域的セマフォの1回のテストと同しことで
ある。第11図から分るように、優先順位が最も高いス
テータス応答(SACK)メツセージがネットワーク上
の競合を勝ち抜き、その結果、最も低いレディネス状態
が表示されることになる。更に、その0PIDフイール
ドは、その最低のレディネス状態にあるプロセッサのう
ちの第1番目の(付された番号が最小の)プロセッサの
アイデンティティ(素性)を表示することになる。
A "status request" is equivalent to a single test of a multivalued global semaphore. As can be seen in FIG. 11, the status response (SACK) message with the highest priority will win out the competition on the network, resulting in the lowest readiness status being displayed. Further, the 0PID field will display the identity of the first (lowest numbered) processor among the processors in the lowest readiness state.

この後者の特性を用いて、複数のプロセッサに分配され
たタスクの完了を「待機」するための、「ノン°ビズイ
(non−bysy) Jの形態が定められている。最
初にrTN割当」を発令したプロセッサは初代の「ウェ
イト・マスタ」であるとされる。このプロセッサは次に
、任意の基準に基づいて、他のいずれかのプロセッサを
新たな「ウェイト・マスタ」に指定する。この新たな「
ウェイト・マスタ」は、それ自身が所望のレディネス状
態に到達したならば、「マージ開始」或いは「ステータ
ス・リクエスト」のいずれかを発令することによって、
全てのプロセッサに対する問合せを行なう。もし他のプ
ロセッサの全てが準備完了状態となっていたならば、5
ACKがその旨を表示することになる。もし幾つかのプ
ロセッサが尚、準備完了状態にはなかったならば、5A
CK応答の○PIDフィールドが、レディネス状態が最
低のプロセッサのうちの第1番目のものを表示すること
になる。「ウェイト・マスタ」はそのプロセッサに対し
、新しい「ウェイト・マスク」になるように命令する。
Using this latter characteristic, a form of "non-bysy J" has been defined for "waiting" for the completion of tasks distributed to multiple processors. First, rTN allocation is performed. The processor that issued the command is said to be the first-generation "wait master." This processor then designates some other processor as the new "wait master" based on arbitrary criteria. This new “
Once the Wait Master has reached the desired state of readiness, it issues either a ``Start Merge'' or a ``Status Request.''
Query all processors. If all other processors were in the ready state, 5
ACK will indicate that. If some processors were still not ready, 5A
The PID field of the CK response will indicate the first of the processors with the lowest readiness state. The "weight master" instructs its processor to become the new "weight mask."

結局最後には全てのプロセッサが準備完了状態となるの
であるが、それまでの間、このシステムは、少なくとも
一つのプロセッサが卓備完了状、聾に到達したことを知
らされる都度、ステータスの問合せを試みるだけである
。従ってこのシステムは、結果を出さずに資源を消費す
る周期的なステータス問合せという負担を負わされるこ
とがない。更にこの方式によれば、最後に完了する処理
が終了した丁度その時刻に、全てのプロセッサが仕事を
完了したということをシステムが確実に知ることになる
。当業者には理解されるように、本発明の概念の範囲内
でその他の多種多(工な「待機」の形態を採用すること
ができる。
Eventually, all processors will be ready, but until then the system will query the status every time it is notified that at least one processor has reached the Ready, or Deaf, state. Just try. The system is thus not burdened with periodic status queries that consume resources without producing results. Additionally, this scheme ensures that the system knows that all processors have completed their work at the exact time the last completed process finishes. As will be understood by those skilled in the art, many other forms of "waiting" may be employed within the scope of the inventive concept.

「マージ開始」コマンドは、1つの特殊な種類のテスト
・アンド・セット命令である。大域的セマフォのステー
タスが「送信準備完了」または「受信準備完了」である
場合には、現在トランザクション・ナンバ・レジスタ(
PTNR)206(第13図参照)が「マージ開始」メ
ツセージ(第3図参照)内のトランザクション・ナンバ
の値にセットされ、これによってPTNRレジスタの設
定が行なわれる。動作中のプロセッサのいずれかが、よ
り低位のレディネス状態にある場合には、PTNRの値
は変更されない。
The "start merge" command is one special type of test-and-set instruction. If the status of the global semaphore is ``Ready to Send'' or ``Ready to Receive,'' then the current transaction number register (
PTNR) 206 (see FIG. 13) is set to the value of the transaction number in the "Start Merge" message (see FIG. 3), thereby setting the PTNR register. If any of the active processors are in a lower readiness state, the value of PTNR is unchanged.

「マージ停止」コマンドは、以上の動作に対応するリセ
ット動作であって、すべての動作中のプロセッサのPT
NRを無条件にrTNOJにリセットするものである。
The "stop merge" command is a reset operation that corresponds to the above operation, and is a reset operation that
This unconditionally resets NR to rTNOJ.

後に説明するように、PTNRによって指定されている
現在大域的タスク(current globalta
sk )に関係するメツセージだけが、ネットワーク・
インターフェイス120から出力されるようになってい
る。従って、「マージ開始」コマンド及び「マージ停止
」コマンドは、複数のタスクの間でネットワークを時間
多重化、即ち時分割(タイム・マルチブレクシング)す
ることのできる能力を提供しており、従ってそれら複数
のタスクは、任意に中止、及び/または再開することが
できるようになフている。
As explained below, the current global task specified by PTNR
sk) are the only messages related to
It is designed to be output from the interface 120. Therefore, the ``Start Merge'' and ``Stop Merge'' commands provide the ability to time multiplex the network between multiple tasks, thus allowing them to Multiple tasks can be stopped and/or restarted at will.

本発明の細部の特徴で重要なものに、ネットワーク・イ
ンターフェイス120が、ネットワークからのコマンド
によるTNのアクセスと、マイクロプロセッサ105に
よるTNのアクセスとが、決して同時に行なわれないよ
うにしているということがある。本実施例においては、
これは、受信状態制御回路260から読出し/1!F込
み状態制御回路270へ送られている信号によって達成
されており、この信号は、TNを変更する可能性のある
ネットワークからのコマンドの処理が行なわれていると
きには必ず「肯定」状態とされている。
An important detailed feature of the invention is that network interface 120 ensures that commands from the network and access to the TN by microprocessor 105 are never simultaneous. be. In this example,
This is read/1! from the reception state control circuit 260. This is accomplished by a signal being sent to the F-inclusive status control circuit 270, which is in the "affirm" state whenever a command from the network that may change the TN is being processed. There is.

この信号が「肯定」状態にある短い時間の間は、プロセ
ッサは、H,S、RAMへのアクセスを、制御回路27
0によって禁止されている。当業者には理解されるよう
に、本発明の範囲内で、以上の構成の代りになる多種多
様な代替構成を採用することができる。
During the short time that this signal is in the "affirmed" state, the processor restricts access to the H, S, RAM by the control circuit 27.
Forbidden by 0. As will be appreciated by those skilled in the art, a wide variety of alternative configurations may be employed in lieu of the above configurations without departing from the scope of the present invention.

受信制御 TNの更に別の機能に、入力メツセージの制御がある。reception control Yet another function of the TN is the control of incoming messages.

rTN割当」コマンドを用いることによって、所与のタ
スクに対して、複数のプロセッサにおける入力メツセー
ジ・ストリームを関連付けることかできる。所与のプロ
セッサの中の当該タスクに割当てられているTNが「受
信準備完了」にセットされているときには、そのTNは
更に、そのプロセッサが受入れる用意のあるパケットの
個数を表わすカウント値を併せて表示している(i12
図)。ネットワーク・インターフェイス120は、個々
のパケットを成功裏に受信するたび毎にこのカウント値
をデクリメントしくこのデクリメントはTNのワードか
ら算術的に「1」を減じることによって行なわれる)、
このデクリメントはこのカウント値がゼロに達するまで
続けられる。カウント値がゼロに達したとぎにはrNA
CK/オーバラン」応答が発生され、それによって、パ
ケットを送出しているプロセッサに対し、このNACK
応答を発しているプロセッサがより多くの入力パケット
を受入れる用意ができるまで待機しなければならないこ
とが知らされる。更にまた、第18図から分るように、
このときにはPTN RのrTNOJへのリセットも併
せて行なわれる。
By using the ``rTN Assign'' command, input message streams on multiple processors can be associated for a given task. When the TN assigned to a given task in a given processor is set to "ready to receive," the TN also includes a count value representing the number of packets that the processor is prepared to accept. Displaying (i12
figure). Network interface 120 decrements this count value each time it successfully receives an individual packet (the decrement is done by arithmetically subtracting "1" from the word of TN).
This decrement continues until this count value reaches zero. As soon as the count value reaches zero, rNA
CK/Overrun" response is generated, thereby informing the processor sending the packet that this NACK
It is informed that it must wait until the processor issuing the response is ready to accept more input packets. Furthermore, as can be seen from Figure 18,
At this time, PTNR is also reset to rTNOJ.

以上の動作メカニズムにより、ネットワークを流通する
パケットの流れの制御を直裁的に行なえるようになって
いる。またそれによって、1つのプロセッサに未処理の
パケットが多量に詰め込まれることがないように、そし
てそのプロセッサがシステムにとってのネックになって
しまうことがないように、保証されている。
The above operating mechanism allows direct control of the flow of packets flowing through the network. It also ensures that one processor is not loaded with too many unprocessed packets and that the processor does not become a bottleneck for the system.

孟11狸 第21A図について説明すると、同図から分るように、
H,S、RAMに格納されている各メツセージは、新T
Nベクタにネクスト・メツセージ・ベクタ)の値を収容
するためのフィールドを含んでいる。メツセージを送信
してそれに対する応答を成功裏に受信したならば、この
送信したばかりのメツセージに含まれていた新TNベク
タが、H,S、RAMの中の現在トランザクションナン
バを格納するためのアドレスへ(PTNRから転送され
て)格納される。従って、TNは個々のメツセージが送
出されるたび毎に更新され、また、メンセージの伝送に
成功した際にはTNが自動的に所望の状態にセットされ
るようにすることが可能となっている。
To explain Meng 11 Raccoon Figure 21A, as you can see from the figure,
Each message stored in H, S, and RAM is
The N vector contains a field for accommodating the value of the next message vector. After sending a message and successfully receiving a response to it, the new TN vector contained in the message just sent is set to the address in H, S, RAM to store the current transaction number. (transferred from PTNR). Therefore, the TN is updated each time an individual message is sent, and it is possible to automatically set the TN to the desired state when a message is successfully transmitted. .

第12図について説明すると、「送信準備完了」のTN
のフォーマットは、14ビツトのHlS、RAM内のア
ドレスを含んでおり、このアドレスは、所与のタスク(
TN)に関して次に出力すべきパケットを指し示すのに
用いられている。
To explain Fig. 12, the TN of “Ready to send”
The format of contains a 14-bit HlS, address in RAM, which is the address for a given task (
This is used to indicate the next packet to be output regarding the TN).

従って、H,S、RAMの中に格納されているTNは、
種々のタスクに関するメツセージの、先入先出式(F 
I FO)待ち行列の、その先頭を指し示すヘッド・ポ
インタとしての機能も果たしている。従って、所与の1
つのタスク(TN)に関する限りにおいては、各プロセ
ッサは、新TNベクタのチェーンによって定められた順
序で、パケットの送出を試みることになる。
Therefore, the TN stored in H, S, RAM is
First-in, first-out (F
It also functions as a head pointer pointing to the head of the IFO) queue. Therefore, given 1
As far as one task (TN) is concerned, each processor will attempt to send packets in the order determined by the chain of new TN vectors.

先に説明した、複数のTN(タスク)の間でネットワー
クを高速で多重化(マルチブレクシング)するための機
構と組合わせることによって、多くのプロセッサの間に
分配された何紙もの複雑な組合せのタスクを、極めて小
規模なソフトウエア・オーバヘッドで管理できるように
なることは明らかである。ネットワークと、インターフ
ェイスと、プロセッサとの共同動作によって提供されて
いる構成は、そのコピーを数百側のプロセッサの間に分
配することができ、更には数十個のプロセッサの間にす
ら分配することのできる資源及びタスクに対して、資源
の割付けと割付は解除、タスクの中止と再開、それにそ
の他の制御を行なうための好適な構成である。
Combined with the previously described mechanism for rapidly multiplexing networks between multiple TNs (tasks), complex combinations of paper sheets distributed among many processors can be achieved. It is clear that many tasks can be managed with very little software overhead. The configuration provided by the network, interface, and processor collaboration allows copies to be distributed among hundreds of side processors, or even among dozens of processors. This is a suitable configuration for allocating and de-allocating resources, suspending and resuming tasks, and performing other controls for resources and tasks that can be controlled.

DSW(転 先 択ワード)の例 転送先選択ワード(第3図)は、DSWロジック190
(第13図)及びH,S、RAM26(第8図)のDS
Wセクションと協働することによって、以下のことを可
能とする複数のモードをt2供するものである。即ち、
それらのモードとは、各々の受信プロセッサのネットワ
ーク・インターフェイス120が、受信中のメツセージ
は当該ネットワーク・インターフェイスに組合わされて
いるマイクロプロセッサ1o5によって処理されること
を意図したものか否かの判定を、迅速に下せるようにす
るための複数のモートである。既に説明したように、受
信メツセージの中に含まれているDSWは、H,S、R
AMのDSWセクションに格納されているニブルを選択
すると共に、そのニブルと比較される。
Example of DSW (Destination Selection Word) The Destination Selection Word (Figure 3) is the DSW logic 190.
(Fig. 13) and DS of H, S, RAM26 (Fig. 8)
By cooperating with the W section, t2 provides multiple modes that allow the following: That is,
These modes are those in which each receiving processor's network interface 120 determines whether a message being received is intended to be processed by the microprocessor 1o5 associated with that network interface. Multiple motes to help you get down quickly. As already explained, the DSW included in the received message is H, S, R.
A nibble stored in the DSW section of the AM is selected and compared to that nibble.

プロセッサ・アドレス 第8図に示されているように、H,S、RAMのDSW
セクションの1つの部分がプロセッサ・アドレス選択ニ
ブルの格納にあてられている。木システムにおいては、
搭載可能な1024個のプロセッサの各々に対して、H
,S、RAMのこの部分に含まねているビット・アドレ
スのうちの1つが関連付けられている。当該プロセッサ
のID(アイデンティティ)に関連付けられたビット・
アドレスのビットは「1」にセットされており、一方、
このセクション内のその他の全てのビットは「O」にさ
れている、従って各々のプロセッサは、このセクション
の中の1つのビットだけが「1ノにセットされている。
Processor Address As shown in Figure 8, H, S, RAM DSW
One portion of the section is devoted to storing processor address selection nibbles. In the tree system,
For each of the 1024 processors that can be installed, H
, S, is associated with one of the bit addresses contained in this portion of RAM. Bits associated with the ID (identity) of the processor
The address bit is set to ``1'', while
All other bits in this section are set to ``O'', so each processor has only one bit in this section set to ``1''.

■イ、S、RAMのDSWセクションの別の1つの部分
が、ハツシュ・マツプ(複数)の格納にあてられている
。本システムにおいては、マツプ選択ビットのうちの2
つのビットがそれらのハツシュ・マツプにあてられてお
り、それによって、4096個の可能な値を全て含む完
全な集合が2組得られている。ハッシュト・モード(h
ashedmode )においては、二次記憶装置に格
納されているレコードのためのキーが、ハツシング・ア
ルゴリズムに従って設定され、それによって0から40
95までの間の「パケット」の割当てが行なわJ〕る。
B. Another portion of the DSW section of the RAM is devoted to storing hash maps. In this system, two of the map selection bits
bits have been applied to their hash maps, resulting in two complete sets containing all 4096 possible values. hashed mode (h
ashedmode ), the keys for records stored in secondary storage are set according to a hashing algorithm, whereby keys from 0 to 40
The allocation of "packets" up to 95 is performed.

所与の「パケット」に収容されているレコー1−を担当
しているプロセッサは、そのアドレスが当該パケットの
パケット・ナンバに対応じているマツプ・ビットの中に
「1」のビットがセットされている。その他のビットは
「0」にされている。複数個のマツプ・ビットをセット
するだけで、所与のプロセッサに複数のパケットを担当
させることができる。
The processor responsible for record 1 contained in a given "packet" sets a "1" bit in the map bit whose address corresponds to the packet number of that packet. ing. Other bits are set to "0". A given processor can be responsible for multiple packets by simply setting multiple map bits.

この実施例の構成においては、容易に理解されるように
、マツプ・ビットのセツティングを以下の方式で行なえ
るようになっている。即ち、その方式とは、所与の1つ
のマツプ選択ビットについては、各ビット・アドレスが
ただ一つのプロセッサにおいてのみ「1」にセットされ
ており、しかも、いかなるビット・アドレスも必ずいず
れかのプロセッサにおいて「1」にセットされていると
いう方式である。この方式を採用したことの直接の結果
として、各々のプロセッサ(AMP)が、データベース
のレコードの互いに別個で互いに素の部分集合を分担し
、しかも、システムの全体としては、レコードの全てを
含む完全な集合が存在するようになっている。
In the configuration of this embodiment, as is easily understood, the map bits can be set in the following manner. That is, for a given map selection bit, each bit address is set to ``1'' in only one processor, and any bit address is always set to ``1'' in one processor. This method is set to "1" at the time. A direct result of adopting this approach is that each processor (AMP) is responsible for a distinct and disjoint subset of the records in the database, yet the system as a whole is responsible for the complete There are now such sets.

以上の具体例はリレーショナル・データベースの課題を
例に引いて説明されているが、当業者には容易に理解さ
れるように、課題の互いに素の部分集合をマルチプロセ
ッサ復合体の中の個々のプロセッサに分担させることか
でざる課題領域であればどのような課題領域にでも、こ
れと同し方式を適用することができる。
Although the above examples are explained using relational database problems as an example, those skilled in the art will readily understand that disjoint subsets of the problem are The same method can be applied to any task area that does not require a processor to share the task.

更にもう1つ注目に値することは、完全なマツプを2つ
備えることによって、以上に説明した方式を、一方のマ
ツプによれば所与のあるプロセッサに割当てられている
パケットを、他方のマツプにおいてはそれとは異なった
プロセッサに割当て得るように、構成することができる
ということである。ここで、一方のマツプを「−次的」
なものとし、他方のマツプを「バックアップ用」のもの
とすれは、直接の帰結として、所与のあるプロセッサ上
では一次的なものであるレコードが、別のプロセッサ上
では確実にバックアップされるようにすることができる
。更に、所与の1つのプロセッサをバックアップするプ
ロセッサの個数については、いかなる制約もない。
Yet another thing worth noting is that by having two complete maps, the scheme described above can be used to transfer packets that are assigned to a given processor according to one map to the other map. This means that it can be configured so that it can be assigned to a different processor. Here, one map is "-next"
A direct consequence of making the other map ``backup'' is to ensure that records that are temporary on a given processor are backed up on another. It can be done. Furthermore, there are no restrictions on the number of processors that back up a given processor.

当業者には理解されるように、本発明の範囲内で実現で
きる互いに別個のマツプの数は3以上にすることもでき
、また、パケットの数も任意の個数とすることかできる
As will be understood by those skilled in the art, the number of distinct maps that can be implemented within the scope of the present invention can be greater than two, and the number of packets can be any number.

ム之玉 先に説明したプロセッサ・アドレスとハツシュ・マツプ
のいずれの場合にも、全てのプロセッサについてその所
与の1つのビット・アドレスを調へれば、そのビット・
アドレスが1つのプロセッサにおいてだけ「l」にセッ
トされており、その他の全てのプロセッサ内の対応する
ビット・アドレスは「OJにセットされていることが分
かる。
In both cases of processor address and hash map explained earlier, if we examine a given bit address for all processors, we can find that bit address.
It can be seen that the address is set to 'l' in only one processor and the corresponding bit addresses in all other processors are set to 'OJ'.

しかしながら、複数のプロセッサ内において対応するビ
ット・アドレスがrl」にセットされているような方式
も可能であるし、有用でもある。この方式は「クラス・
アドレス」モードといわれる方式である。
However, it is also possible and useful to have corresponding bit addresses set to rl in multiple processors. This method is called “class
This is a method called "address" mode.

クラス・アドレスは、そのコピーが複数のプロセッサ内
に存在する処理手順ないし機能の名称と考えることがで
きる。該当する処理手順ないし機能を備えているプロセ
ッサは、いずれも対応するビット・アドレスに「1」ビ
ットがセットされている。
A class address can be thought of as the name of a procedure or function, copies of which exist in multiple processors. All processors equipped with the corresponding processing procedure or function have a "1" bit set in the corresponding bit address.

クラス・アドレスへ宛ててメツセージを送出するために
は、OSW (第3図)内の該当するクラス・アドレス
がセットされる。H,S、RAMの中の該当する位置の
ビットが「1」にセットされていることによって当該ク
ラスに「所属」していることが示されている全ての動作
可能なプロセッサは、その送出されたメツセージ・パケ
ットに対してrAcKJで応答することになる。当該ク
ラスに所属していないプロセッサはNAPで応答する。
To send a message to a class address, the appropriate class address in the OSW (Figure 3) is set. All operational processors that are indicated as ``belonging'' to the class by having the bit in the appropriate location in the H,S,RAM set to ``1'' It will respond with rAcKJ to the received message packet. Processors that do not belong to the class respond with a NAP.

従ってDSWは、マルチプロセッサ・システム内のメツ
セージの流れを制御するのに必要な経路指定計算がハー
ドウェアによって行なわれるようにしている。また、プ
ログラムを、システムの様々な機能がいずれのプロセッ
サの中に備えられているのかという知識とは、無関係な
ものとすることができる。更には、マツプはH,S、R
AMの一部であり、従ってマイクロプロセッサ105か
らアクセスできるため、ある機能を1つのプロセッサか
ら別のプロセッサへ動的に再配置することが可能である
DSW therefore allows the routing calculations necessary to control the flow of messages within a multiprocessor system to be performed by hardware. Also, the program can be made independent of knowledge of which processor contains the various functions of the system. Furthermore, the map is H, S, R
Being part of the AM and therefore accessible from the microprocessor 105, it is possible to dynamically relocate certain functionality from one processor to another.

マージの例 複雑なマルチプロセッサ・システムにおいては、一連の
相互に関連した複数の動作の実行が、タスクによって必
要とされることがある。これは特に、複雑な問合せを取
扱うリレーショナル・データベース・システムについて
言えることであり、そのようなデータベース・システム
においては、データをアセンブルしてファイルを形成し
、しかもアセンブルされた後には特定の方式で複数のプ
ロセッサへ再分配できるようなファイルを形成するため
に、複数の二次記憶装置を参照することが必要とされる
ことがある。以下に示す例は、第1、第8、及び13図
のシステムが、TNと、DSWと、それに大域的セマフ
ォとに対して操作を加えることによって、そのような機
能をいかに容易に実行できるようになっているかを、平
定に説明するものである。
Merging Example In complex multiprocessor systems, a task may require the performance of a series of interrelated operations. This is especially true for relational database systems that handle complex queries, where data is assembled to form files, and then stored in multiple formats in a specific way. References to multiple secondary storage devices may be required to create a file that can be redistributed to the processors of the computer. The following examples illustrate how the systems of Figures 1, 8, and 13 can easily perform such functions by operating on TNs, DSWs, and global semaphores. This is a simple explanation of what is happening.

まず第1に、マージ・コーデイネータ(典型的な例とし
てはマージ・コーデイネータはIFP14ないし16で
あるが、必ずしもそれに限られるものではない)が、あ
る1つのファイルをマージして形成するごとになる(即
ちデータ・ソースとして機能する)1つのクラスに属す
る複数のAMPを、(AMPI8〜23の中から)識別
する。割当てがなされていない1つのTNが選択され、
そしてデータ・ソース機能を識別するために割当てられ
る。このファイルを別の1組のAMP(それらは元のデ
ータ・ソースのプロセッサであってもよい)へ分配ない
しハツシングするするという第2の主要機能に対しては
、そのときまで割当てをされていなかった別のTNが割
当てられる。
First of all, each time a merge coordinator (typically, but not exclusively, a merge coordinator is an IFP 14-16) merges a single file to form ( A plurality of AMPs belonging to one class (that is, functioning as data sources) are identified (among AMPIs 8 to 23). One unassigned TN is selected,
and assigned to identify the data source function. The second major function of distributing or hashing this file to another set of AMPs (which may be processors of the original data source) has not been allocated until then. A different TN is assigned.

このマージ機能のためのコーデイネータは、′F%1の
TNに関係するファイルの、マーラングの作業を行なう
ことになるクラスに属する複数のプロセッサを、DSW
を用いて識別する。このマーラングの作業に関与する関
与プロセッサは、そのTNのステータスのレベルを上昇
させて「ビズイ」または「ウェイティング」ステータス
とし、その後に、マージ動作の制御が、マージ動作に関
与している関与プロセッサのうちの1つへ渡される(即
ちコーデイネータの仕事が委任される)。
The coordinator for this merge function assigns the DSW
Identify using. The participating processors involved in this Mahlangu work increase the level of their TN status to "busy" or "waiting" status, and then control of the merge operation is controlled by the participating processors involved in the merge operation. (i.e., the coordinator's job is delegated).

以上の複数の関与プロセッサ(それら以外の全てのプロ
セッサ・モジュールはそのトランザクション・ナンバに
関しては非関与プロセッサである)の各々は、このよう
に規定されたマージのタスクに関するメツセージ・パケ
ットを受信してそれに対する肯定応答を送出した後には
、そのプロセッサ自身のサブタスクの実行を、そのステ
ータス・レベルを適宜更新しながら進行させて行く。そ
して、マージ・コーデイネータの仕事を委任されている
プロセッサがそれ自身のタスクを終了したならば、その
プロセッサは、その他の全ての関与プロセッサに対して
、当該トランザクション・ナンバに関するステータスを
知らせるよう、ステータス・リクエストを送出し、それ
によって、関与プロセッサのうちでレディネス状態が最
低のプロセッサを表示している応答を受取ることができ
る。
Each of the above plurality of participating processors (all other processor modules are non-participating processors with respect to their transaction numbers) receives and processes the message packet regarding the merge task thus defined. After sending an acknowledgment to the processor, the processor proceeds with execution of its own subtasks, updating its status level accordingly. Then, once the processor to which the merge coordinator job has been delegated has completed its own task, it sends a status message to inform all other participating processors of the status regarding that transaction number. A request may be sent and a response may be received indicating the least readiness of the participating processors.

マージ動作の制御は、このレディネス状態が最低のプロ
セッサへ渡され、この後には、このプロセッサが、自身
の作業が終了した際にその地金ての関与プロセッサをポ
ーリングすることができるようになる0以上のプロセス
は、必要とあらば、関与プロセッサの全てが準備完了状
態となっていることを示す応答が受信されるまで、続け
させることができる。そのような応答が受信された時点
においてコーデイネータとして働いていたプロセッサは
、続いて、DSWを利用して当該クラスに属している関
与プロセッサを識別しつつ、H,SRAM26へのメツ
セージの転送を開始し、このメツセージの転送に伴なっ
て、ステータス・レベルが該当する出力メツセージ・ベ
クタ情報により「送信準備完了」へと更新される。これ
に続いて実行されるポーリングの結果、全ての関与AM
Pか送信準備完了状態にあることが判明したならば、コ
ーデイネータは、その特定のTHについてのマージ開始
コマンドを発令する。
Control of the merge operation is passed to the processor with the lowest readiness state, which can then poll all of its participating processors when its work is finished. The above process can continue, if necessary, until a response is received indicating that all participating processors are ready. The processor acting as a coordinator at the time such a response is received then begins forwarding the message to the H,SRAM 26 while identifying participating processors belonging to the class using the DSW. , With the transfer of this message, the status level is updated to "ready for transmission" based on the corresponding output message vector information. A subsequent poll results in all participating AMs
Once P is found to be ready to send, the coordinator issues a merge start command for that particular TH.

マージ動作が実行されている間に、処理済のデータ・パ
ケットは、結果をリレーショナル・データヘースに従っ
て二次記憶装置へ分配するための1つのクラスに属する
複数のプロセッサ・モジュールへ宛てて、転送されるこ
とになる。それらの複数の受信プロセッサが、このとぎ
発信元となっている複数のプロセッサと同じものである
と否とにかかわらず、この分配に関与するクラスに所属
する関与プロセッサ(即ち上記受信プロセッサ)は、D
SWによって識別され、またそのトランザクションは新
たなTNによって識別される。この新しいトランザクシ
ョンに関わる関与プロセッサの全てに対して、この新た
なTNが割当てられることになり、また、それらの関与
プロセッサは、それらのレディネス状態のレベルを上昇
させて「受f工準備完了」とすることになる。このDS
Wは、クラス指定ではなく、パッシング選択指定のもの
とすることもできるが、いずれの場合においても、マー
ジが実行されている間は、関与プロセッサの全てが、ブ
ロードカストされるメツセージを受信できる状態におか
れている。「マージ開始」が発令されたならば、送出動
作に関与すべき送出関与プロセッサの各々から複数のメ
ツセージ・パケットが、しかも夫々のプロセッサから互
いに同時に、ネットワーク上へ送出され、それらのメツ
セージ・パケットに対しては動的に(=伝送中に)優先
権の判定が行なわれる。各々の送出関与プロセッサが、
それ自身の1組のメツセージを送f3完了したならば、
そわらの各々の送出関与プロセッサは、一定の形に定め
られている「エンド・才ブ・ファイル(End of 
File ) Jメツセージの送信を試み、この「エン
ド・オブ・ファイル」メツセージは種々のデータメツセ
ージより優先順位が低い。関与プロセッサの全てが「エ
ンド・オブ・ファイル」メツセージを送出するようにな
るまでは、この「エンド・オブ・ファイル」メツセージ
はデータ・メツセージとの競合に敗退し続け、そして全
ての関与プロセッサから送出されるよ゛うになったなら
ば、ようやく、「エンド・オブ・ファイル」メツセージ
の転送が達成される。この転送が達成されると、コーデ
イネータは「エンド・オブ・マージ(End of M
erge) Jメツセージを送出し、また、それに続い
てrTNi棄」を実行することができ、このrTN放棄
」によってこのトランザクションは終了する。オーバラ
ン状tコ、エラー状態、ないしはロック状態に対しては
、マージ即ち送信を始めからやり直すことによって適切
に対処することができる。
While a merge operation is being performed, processed data packets are directed and forwarded to multiple processor modules belonging to a class for distributing the results to secondary storage according to a relational data hierarchy. It turns out. Regardless of whether or not these plurality of receiving processors are the same as the plurality of processors that are the source of this transfer, the participating processors (i.e., the above-mentioned receiving processors) belonging to the class that participates in this distribution, D
SW and the transaction is identified by a new TN. All participating processors involved in this new transaction will be assigned this new TN, and they will also increase their readiness level to "ready for work." I will do it. This DS
W can also be a passing selection specification rather than a class specification, but in either case, all participating processors are in a state where they can receive the broadcast message while the merge is being performed. is placed in When "start merge" is issued, a plurality of message packets are sent out onto the network simultaneously from each of the sending processors that should be involved in the sending operation, and the message packets are Priority is determined dynamically (during transmission). Each processor involved in sending out
Once f3 has completed sending its own set of messages,
Each of the sending processors in Sowara has an "End of file" defined in a certain format.
File ) J message, this "end of file" message has lower priority than various data messages. This ``end of file'' message continues to lose competition with data messages until all participating processors have sent out ``end of file'' messages, and all participating processors have sent out ``end of file'' messages. Only then, the transfer of the ``end of file'' message is achieved. Once this transfer has been accomplished, the Coordinator will call the “End of Merge”
rTNi relinquishment, which terminates the transaction. Overruns, error conditions, or lock conditions can be appropriately handled by merging or restarting the transmission from the beginning.

ある1つのTNに関するマージ動作が終了したならば、
このシステムは、TNのシーケンスの中の、続く次のT
Nへとシフトすることができる。
Once the merge operation regarding one TN is completed,
This system uses the next T in a sequence of TN.
It can be shifted to N.

この新たなTNに該当する複数のメツセージ・パケット
の待ち行列を、各々のプロセッサ・モジュールが作り終
ったならば、それらのプロセッサ・モジュールは、マー
ジ動作を実行させるためのネットワークに対する働きか
けを再び開始することが可能となる0個別に実行される
プロセッサ内マージ動作に加え、更に以上のようにネッ
トワーク内マージ動作が効率的に利用されるために、こ
のシステムは、従来のシステムに対して著しく優れた、
極めて大規模なソート/マージ・タスクを実行すること
ができるようになっている0本発明を採用した場合に、
システム内のある1つのファイルをソートするために必
要な時間は、レコードの個数をn個、プロセッサの個数
をm個とするとき、以下の式で表わすことかでざる。
Once each processor module has created a queue of message packets that correspond to this new TN, those processor modules begin again asking the network to perform the merge operation. In addition to the intra-processor merge operations performed individually, which enable ,
When employing the present invention, which is capable of performing extremely large-scale sort/merge tasks,
The time required to sort one file in the system can be expressed by the following equation, assuming that the number of records is n and the number of processors is m.

C,−log2−  +   C2n m        m この式において、C2は定数であり、この実施例に関し
ては、100バイト・メツセージが用いられている場合
には約10マイクロ秒と見積られ、またC1は、典型的
な16ビツト・マイクロプロセッサが使用されている場
合に、約1ミリ秒と見積られる定数である。様々に組み
合わせたnとmとの組合せに対する、概略のソート/マ
ージ時間が、秒を単位として次の表に示されており、そ
れらの値は100バイト・レコードが用いられている場
合の値である。
C, -log2- + C2n m m In this equation, C2 is a constant, estimated for this example to be approximately 10 microseconds if a 100-byte message is used, and C1 is typically This is a constant estimated to be approximately 1 millisecond if a typical 16-bit microprocessor is used. Approximate sort/merge times in seconds for various combinations of n and m are shown in the following table, assuming 100-byte records are used. be.

(以下余白)。(Margin below).

以上の表に示されている具体例の数字を従来のシステム
と比較して評価するのは容易なことではない、その理由
は、相互に関連を有する2fm類のソート処理シーケン
ス(プロセッサによるソートとネットワークによるソー
ト)が関与しているからであり、また、そもそも、かか
る能力を有するシステムが殆んど存在していないからで
ある。更に、本システムではその長さが長大でしかも可
変なメツセージがソート及びマージされるのに対して、
−数的な多くのソート能力は、数バイトないし数ワード
について能力評価がなされている。
It is not easy to evaluate the specific example numbers shown in the above table by comparing them with conventional systems. This is because the system involves network sorting (sorting by network), and also because there are almost no systems that have such a capability in the first place. Furthermore, in this system, messages whose lengths are long and variable are sorted and merged, whereas
- Many numerical sorting abilities are evaluated for several bytes or words.

更に別の重要な要因として、本システムはマルチプロセ
ッサそのものであって、ソート/マージ処理の専用シス
テムではないということがある。
Another important factor is that the present system is a multiprocessor itself, and is not a dedicated system for sort/merge processing.

本システムは、局所的にも大域的にも、マージ動作とノ
ン・マージ動作との間を完全なフレキシビリティをもっ
てシフトすることができ、しかもこのシフトを、ソフト
ウェア的な不利益を生じることなく、また、システム効
率に損失を生じさせることもなく、行なえるようになフ
ている。
The system allows for complete flexibility in shifting between merge and non-merge operations, both locally and globally, without any software penalty. Additionally, this can be done without any loss in system efficiency.

タスク・リクエスト/タスク応答のサイクル尖」 第1図に関し、ネットワーク50に接続されているプロ
セッサ14.16、ないし18〜23はいずれも、他の
1個または複数個のプロセッサにタスクを実行させるた
めのタスク・リクエストを、メツセージ・パケットの形
態の然るべきフォーマットで形成する機能を有している
。リレーショナル・データベース・システムにおいては
、これらのタスクの殆んどはホスト・コンピュータ10
.12をその発生源とし、インターフェイス・プロセッ
サ14.16を介してシステム内へ入力されるものであ
るが、ただし、このことは必要条件ではない、然るべき
フォーマットで形成されたこのメツセージ・パケットは
、他のプロセッサからのパケットとの間で争われるネッ
トワーク上の競合の中へ投入され、そして、他のタスク
の優先順位のレベル並びにこのプロセッサにおける動作
状態のレベル次第で、時には優先権を得ることになる。
1. With respect to FIG. 1, each of the processors 14, 16, 18-23 connected to the network 50 is configured to cause one or more other processors to perform tasks. task requests in the appropriate format in the form of message packets. In relational database systems, most of these tasks are performed by the host computer 10.
.. 12 and enters into the system via an interface processor 14.16, although this is not a requirement, this message packet, formed in the appropriate format, is packets from this processor and, depending on the priority level of other tasks as well as the level of operational state on this processor, may sometimes get priority. .

タスクは、1つのメツセージ・パケットによってその内
容を指定されていることもあり、また、複数の継続パケ
ットによって指定されていることもあるが、後に続く継
続パケットは、データ・メツセージのグループ(!11
図参照)の中では比較的高い優先順位レベルを割当てら
れ、それによって、後に続く部分を受信するに際しての
遅延ができるだけ短くなるようにしている。
A task may have its contents specified by a single message packet or by multiple continuation packets, but subsequent continuation packets may contain groups of data messages (!11
(see figure) is assigned a relatively high priority level, thereby ensuring that the delay in receiving subsequent parts is as short as possible.

メツセージ・パケットには、トランザクション・アイデ
ンティティ(=トランザクション識別情報)が、トラン
ザクション・ナンバの形で含まれている。このトランザ
クション・ナンバは、処理結果を引き出す上での方式に
関するモードであるノン・マージ・モード即ちデイフォ
ルト・モード(rTNOJ)と、マージ・−1−−ド(
rTNOJ以外の全てのTN)とを、選択に応じて区別
するという性質を本来的に備えている。更に、メツセー
ジ・パケットにはDSWが含まれている。このDSWは
、実質的に、転送先プロセッサとマルチプロセッサ動作
のモードとを指定するものであり、この指定は、特定の
プロセッサの指定、複数のプロセッサから成るクラスの
指定、或いはパッシングの指定によって行なわれ、本実
施例においては、パッシングは、リレーショナル・デー
タベースの一部分へのパッシングである。ネットワーク
50を介してターゲット・プロセッサ(指定転送先プロ
セッサ)へブロードカストされるメツセージ・パケット
は、そのプロセッサにおいて局所的に受入れられて(±
そのプロセッサ自身への受入れが適当であるとの判断が
そのプロセッサ自身によってなされて)、そして、受信
した旨の認証が肯定応答(ACに)によって行なわれる
。ブロセッ’t 14.16及び18〜23の全てが、
EOM(エンド・オブ・メツセージ)のあとに続いてネ
ットワーク50へ互いに同時に応答を送出するが、しか
しながら、指定転送先プロセッサから送出されたACK
が優先権を獲得し、そして発信元プロセッサに受信され
ることになる。
A message packet includes transaction identity (=transaction identification information) in the form of a transaction number. This transaction number is divided into non-merge mode, that is, default mode (rTNOJ), which is a mode related to the method for extracting processing results, and merge -1-- mode (
It inherently has the property of distinguishing from all TNs other than rTNOJ according to selection. Additionally, the message packet includes a DSW. This DSW essentially specifies the transfer destination processor and the mode of multiprocessor operation, and this specification can be made by specifying a specific processor, a class consisting of multiple processors, or passing. In this example, the passing is to a portion of the relational database. A message packet broadcast to a target processor (designated destination processor) via network 50 is locally accepted at that processor (±
A determination is made by the processor itself that acceptance is appropriate) and acknowledgment of receipt is made by an acknowledgment (to the AC). Broset't 14.16 and 18-23 are all
Following the EOM (End of Message), responses are sent to the network 50 at the same time, however, the ACK sent from the designated destination processor
gets priority and will be received by the originating processor.

続いて指定転送先プロセッサは、送られてきたメツセー
ジが、局所H,S、RAM (=個々のプロセッサ・モ
ジュールに備えられているH、 SRAM)とインター
フェイス120と(第8図及び第13図)を介して局所
マイクロプロセッサに転送されるときに、このリクエス
ト・パケット(=送られてきたメツセージ)が要求して
いる処理を非同期的に(=当該プロセッサ・モジュール
以外の要素とは同期せずに)実行する。リレーショナル
・データベースに関するタスクが実行される場合には、
DSWは互いに素のデータ部分集合(この部分集合はそ
の部分集合のためのディスク・ドライブに格納されてい
る)のある部分を指定するのが通常の例であるが、ただ
し、時には、格納されているデータベースを参照するこ
とを必要としないタスクが実行されることもある。特定
の演算やアルゴリズムを個々のプロセッサによって実行
するようにしても良く、また指定転送先プロセッサとし
て複数のプロセッサが指定された場合には、それらのプ
ロセッサの各々が、タスク全体の互いに素の部分集合に
ついての仕事を実行するようにすることができる。可変
長のメツセージ・パケットは、リクエスト・メツセージ
によって、実行すべき動作とデータベース・システム内
の参照すべきファイルとの指定が行なえるように構成さ
れている。ここで注意すべきことは、所与の1つのタス
クに関するメツセージ・パケットが大量に存在している
場合もあるということであり、その場合には、ネットワ
ークの内部で行なわれるソートのための弁別基準となる
適当な特徴を付与するために、任意採用可能なキー・フ
ィールド(第3図)が重要になってくるということであ
る。
Next, the designated transfer destination processor transfers the sent message to the local H, S, RAM (=H, SRAM provided in each processor module) and the interface 120 (FIGS. 8 and 13). When the request packet (= sent message) is transferred to the local microprocessor via the )Execute. When tasks related to relational databases are performed,
Typically, a DSW specifies some portion of a disjoint data subset (this subset is stored on a disk drive for that subset), but sometimes There may be tasks to be performed that do not require referencing the existing database. Specific operations or algorithms may be executed by individual processors, and if multiple processors are designated as the designated destination processor, each of those processors may perform a disjoint subset of the total task. can be made to carry out work. The variable length message packet is configured such that the request message specifies the operation to be performed and the file to be referenced in the database system. It should be noted here that there may be a large number of message packets related to a given task, in which case the discrimination criteria for sorting done within the network In order to provide appropriate characteristics that will become , the key field (Figure 3) that can be adopted arbitrarily becomes important.

応答を行なおうとしている各プロセッサによって発生さ
れるタスク応答パケットは、マイクロプロセッサから、
第1図の制御ロジック28を介して局所H,S、RAM
26へと転送され、そこでは、タスク応答パケットは第
21A図の送出メツセージ・フォーマットの形で格納さ
れる。タスク応答が、継続パケットの使用を必要とする
ものである場合には、そのような継続パケットは先頭パ
ケットの後に続いて、ただし継続のためのより高い優先
順位を与えられた上で、送出される。システムがマージ
・モードで動作しており、且つ、各々のプロセッサがあ
る1つのトランザクション・ナンバに関する多数のパケ
ットを発生している場合には、それらのパケットを先ず
局所的に(=個々のプロセッサの内部において)ソート
類でチェーンし、その後に、ネットワーク5o上でマー
ジを行なうことによって大域的なソート類に並へるよう
にすることができる。
Task response packets generated by each processor attempting to respond are sent from the microprocessor to
Local H, S, RAM via control logic 28 of FIG.
26, where the task response packet is stored in the outgoing message format of FIG. 21A. If the task response requires the use of continuation packets, such continuation packets are sent following the initial packet, but given higher priority for continuation. Ru. If the system is operating in merge mode and each processor is generating a large number of packets related to one transaction number, the packets are first processed locally (=individual processors' It is possible to align the global sorts by chaining the sorts (internally) and then merging them on the network 5o.

タスク結果パケットは、プロセッサ14.16及び18
〜23からネットワーク50へ、同時送出パケット群を
成すように送出され、そして1つの最優先メツセージ・
パケットが、所定のネットワーク遅延ののちに、全ての
プロセッサへブロードカスト 果パケットの転送は、そのタスクの性質に応じて、最初
にリクエスト・メツセージを発イ8した発信元プロセッ
サをその転送先として行なわれることもあり、また、1
個ないし複数個の他のプロセッサを転送先として行なわ
れることもあり、更には、既に説明した複数のマルチプ
ロセッサ・モードのうちのいずれのモードで転送を行な
うこともできる。リレーショナル・データベース・シス
チームにおいて最も一般的に行なわれる事例は、パッシ
ングを利用して転送先の選択を行ないつつ、マージと再
分配とを同時に実行するというものである。従ってその
ことからも理解されるように、「タスク・リクエスト/
タスク応答」のサイクルの中では、各々のプロセッサが
、発信元プロセッサとしても、コーデイネータ・プロセ
ッサとしても、また、応答側プロセッサとしても動作す
ることができ、更には、それらの3つの全てとして動作
することもできるようになっている.多くの「タスク・
リクエスト/タスク応答」サイクルが関与してくるため
、プロセッサ14.16及び18〜23、並びにネット
ワーク50は、それらのタスクの間で2)Xt化(マル
チブレクシング)されるが、ただしこの多重化は、時間
を基準にすると共に更に優先順位をも基準にして行なわ
れる。
The task result packet is sent to processors 14.16 and 18.
~ 23 to the network 50 in a group of simultaneous transmission packets, and one highest priority message
The packet is broadcast to all processors after a predetermined network delay. Depending on the nature of the task, the packet is forwarded to the source processor that originally issued the request message. 1.
The transfer may be performed with one or more other processors as the transfer destination, and furthermore, the transfer may be performed in any of the plurality of multiprocessor modes described above. The most common case in a relational database system is to use passing to select a transfer destination while merging and redistributing at the same time. Therefore, as can be understood from this, "task request/
During a "task response" cycle, each processor can act as a source processor, a coordinator processor, a responder processor, or all three. You can also do this. Many “tasks”
Since the "request/task response" cycle is involved, the processors 14, 16 and 18-23, and the network 50 are 2) multiplexed (multiplexed) between their tasks; This is done not only based on time but also based on priority order.

リレーショナル・データベース・システムにおいては、
ホスト・コンピュータ1O112を利用して、また更に
、タプル(tuples)と−次的データ及びバックア
ップ用データの互いに素のデータ部分集合とを規定する
アルゴリズムに従ってリレーショナル・データベースを
複数のディスク・ドライブ38〜43の間に分配するよ
うにした分配法を利用して、複雑な問合せがホスト・コ
ンピュータ10または12から、IFP14または16
を介してシステムへ入力される。この入力された問合せ
のメツセージ・パケットは、先ず最初にIFP14また
は16によって詳細に解析され、この解析は、ホスト・
コンピュータからのメツセージを、AMP18〜23に
対してタスク・の実行を要求するための複数のタスク・
リクエストへと変換するために行なわれるものである。
In relational database systems,
Utilizing the host computer 1O112, the relational database is also configured on a plurality of disk drives 38-43 according to an algorithm that defines tuples and disjoint data subsets of secondary and backup data. Using a distribution method that distributes complex queries from host computer 10 or 12 to IFP 14 or 16
input into the system via This input inquiry message packet is first analyzed in detail by the IFP 14 or 16, and this analysis is performed by the host
Messages from the computer are sent to multiple tasks for requesting AMPs 18 to 23 to execute tasks.
This is done to convert it into a request.

IFP14ないし16は、その動作を開始するに際して
、1個ないし複数個の特定のAMPから情報を引き出す
ためのリクエスト・パケットを送出し、それによって、
ホスト・コンピュータからのメツセージの詳細な解析に
必要なシステム内データを得ることが必要な場合もある
。ホスト・コンピュータからのリクエストの処理に必要
なデータを得たならば、IFP14ないし16は、AM
P18〜23との間で何回かの「タスク・リクエスト/
タスク応答」サイクルを実行することができ、また、デ
ータを実際に処理して、ホスト・コンピュータからのリ
クエストを満足させることができる。以上の処理シーケ
ンスにおいては、上に挙げたタスク・リクエストとタス
ク応答とから成るサイクルが用いられ、また、そのサイ
クルは任意の長さに互って継続することができる。続い
て、IFP14ないし16は、IFPインターフェイス
を介してホスト・コンピュータと通信する。ホスト・コ
ンピュータへのこの応答は、単に、ホスト・コンピュー
タ10または12が次の複雑な問合せを発生するために
必要とするデータを提供するためのものであることもあ
る。
An IFP 14-16 begins its operation by sending a request packet to retrieve information from one or more particular AMPs, thereby
It may be necessary to obtain in-system data necessary for detailed analysis of messages from the host computer. Once the IFP 14-16 has obtained the data necessary to process the request from the host computer, the
Several times between P18 and P23, “Task Request/
It can perform "task-response" cycles and can actually process data to satisfy requests from the host computer. In the above processing sequence, the cycle of task requests and task responses listed above is used, and the cycles can be continued one after the other for any length of time. IFPs 14-16 then communicate with the host computer via the IFP interface. This response to the host computer may simply be to provide the data that host computer 10 or 12 needs to generate the next complex query.

(独立型マルチプロセッサシステム) 第1図に関連して先に説明した本発明に係るシステムの
基本的実施例は、ホスト・コンピュータ並びに現在使用
されているホスト・コンビエータ用のソフトウェア・パ
ッケージと組み合わせて使用することのできる、後置プ
ロセッサ(パックエンド・プロセッサ)の例を示すもの
である。しかしながら、既に言及したように、本発明は
広範な種々の処理用途において、また特に、大容量の中
央処理能力を必要とすることなく処理タスクを容易に細
分及び分配できるような種類の処理用途において、格別
の利点を有するものである。第20図は、本発明に係る
独立型(スタンド・アローン型)マルチプロセッサ・シ
ステムの簡単な構成の一実施例を図示している。第20
図において、複数のプロセッサ300はいずれもインタ
ーフェイス302を介して能動ロジック・ネットワーク
304へ接続されており、このネットワークは既に説明
したものと同様のネットワークである。データの完全性
を強化するために、冗長性を有する能動ロジック・ネッ
トワーク304を採用するようにしても良い。この実施
例においても、プロセッサ300には16ビツト・マイ
クロプロセッサ・チップを使用することができ、また、
充分な容量のメインRAMメモリを組込むことができる
ようになっている。この図には9つのプロセッサ300
のみが示されており、また、それらのプロセッサの各々
には異なった種類の周辺機器が接続されているが、これ
は、このシステムの多用途性を示すためである。実際に
は、このシステムは更に多くのプロセッサをネットワー
クに備えることによりはるかに効率的になるのであるが
、しかしながら、比較的少数のプロセッサしか備えてい
ない場合であっても、システムの信頼性とデータの完全
性と関して格別の利点が得られるものである。
(Independent Multiprocessor System) The basic embodiment of the system according to the invention described above in connection with FIG. 1 shows an example of a pack-end processor that can be used. However, as already mentioned, the present invention is useful in a wide variety of processing applications, and particularly in those types of processing applications where processing tasks can be easily subdivided and distributed without the need for large amounts of central processing power. , which has particular advantages. FIG. 20 illustrates an embodiment of a simple configuration of a stand-alone multiprocessor system according to the present invention. 20th
In the figure, a plurality of processors 300 are all connected via an interface 302 to an active logic network 304, which is a network similar to that previously described. An active logic network 304 with redundancy may be employed to enhance data integrity. In this embodiment, processor 300 may also be a 16-bit microprocessor chip;
A main RAM memory of sufficient capacity can be incorporated. This diagram shows nine processors 300
Only two processors are shown, and each of the processors has a different type of peripheral connected to it, to demonstrate the versatility of the system. In practice, the system becomes much more efficient by having more processors on the network; however, even with a relatively small number of processors, system reliability and data This provides particular advantages in terms of completeness.

この実施例においては、複数のプロセッサ300を不便
のない充分な距離をとって互いから物理的に離隔させる
ことができ、それは、データ転送速度が先の実施例につ
いて述べた速度である場合にノード間の最大間隔が28
フイート(5,5mlにもなるため、大規模なアレイを
成す複数のブロセッサを、建物の1つのフロア、ないし
は隣接する幾つかのフロアの上に、むやみに込み合うこ
とのないように設置して、利用することができるからで
ある。
In this embodiment, the plurality of processors 300 may be physically separated from each other by a sufficient distance without inconvenience that the nodes may The maximum interval between
A large array of multiple processors (as many as 5.5 ml) can be installed on one floor of a building, or on several adjacent floors, to avoid unnecessary crowding. This is because it can be used.

独立型システムでは、先に説明した後置プロセッサの実
施例の場合と比較して、周辺機器コン)・ローラ並びに
周辺機器それ自体に、はるかに多くの種類のものが用い
られる。ここでは便宜的に、個々の入出力デバイスは、
夫々が別個のプロセッサに接続されているものとする。
A stand-alone system uses a much greater variety of peripheral controllers, as well as the peripherals themselves, than in the post-processor embodiment described above. For convenience, the individual input/output devices are
Assume that each is connected to a separate processor.

例えば、キーボード312とデイスプレィ314とを備
えた大出力端末装置310は、端末コントローラ320
を介して、同端末装置310のためのプロセッサ300
に接続されている。ただし、比較的動作速度が遅い端末
装置の場合には、かなりの規模の端末装置ネットワーク
を1個の16ビツト・プロセッサで制御することも不可
能ではない、この図示の大出力端末装置は、手!I]操
作キーボード等の手動操作入力処理装置がどのようにし
てシステムに接続されるのかについての一例を示してい
るにすきない。プロセッサ300の処理能力を利用して
この端末装置310をワードプロセッサとして構成する
こともでき、そしてこのワードプロセッサが、ネットワ
ーク304を介してデータベースや他のワードプロセッ
サ、或いは種々の出力装置と通信できるようにすること
もできる。例えばリジッド・ディスク・ドライブ322
等の大容量二次記憶装置を、ディスクコントローラ32
4を介して、その記憶装置のためのプロセッサに接続す
ることができる。また、容易に理解されるように、大規
模システムには、より多数のディスク・ドライブを用い
たり、或いは異なった形態の大容量記憶装置を用いるよ
うにすれば良い。プリンタ326並びにプロッタ330
等の出力装置は、夫々、プリンタ・コントローラ328
とプロッタ・コントローラ332とを介して、それらの
出力装置のためのプロセッサ300にインターフェイス
している。不図示の他のシステムとの間の対話は通信コ
ントローラ338を介して、そして通信システム336
を経由して行なわれ、通信システム336としては例え
ば、テレタイプ・ネットワーク(TTY)や、更に大規
模なネットワークのうちの1つ(例えばエサ−ネット(
Ethernet) )等が用いられる。プロセッサ3
00のうちの幾つかが、周辺装置を接続することなく単
にネットワーク304に接続されることもある(不図示
)。
For example, a high-output terminal device 310 equipped with a keyboard 312 and a display 314 is connected to a terminal controller 320.
The processor 300 for the terminal device 310 via
It is connected to the. However, in the case of terminal devices with relatively slow operating speeds, it is not impossible to control a fairly large network of terminal devices with a single 16-bit processor. ! I] It is preferable to show an example of how a manual operation input processing device such as an operation keyboard is connected to the system. The processing power of the processor 300 may be used to configure the terminal device 310 as a word processor, and the word processor can communicate with a database, other word processors, or various output devices via the network 304. You can also do it. For example, rigid disk drive 322
The disk controller 32 stores large-capacity secondary storage devices such as
4 can be connected to the processor for its storage. It will also be readily appreciated that larger systems may include a larger number of disk drives or different forms of mass storage. Printer 326 and plotter 330
The output devices such as
and plotter controller 332 to processor 300 for those output devices. Interaction with other systems (not shown) is via communication controller 338 and communication system 336
The communication system 336 may be, for example, a teletype network (TTY) or one of the larger networks (e.g., Ethernet (
Ethernet) etc. are used. processor 3
00 may simply be connected to network 304 without any peripherals attached (not shown).

双方向のデータ転送が行なわれる可能性があるのは、テ
ープ・ドライブ(テープ駆動機構)340及びテープ・
ドライブ・コントローラ342が用いられている場合、
それに、コントローラ346が接続されたフロッピ・デ
ィスク・ドライブ344が用いられている場合等である
Bidirectional data transfer may occur between tape drive 340 and tape drive 340.
If drive controller 342 is used,
Additionally, a floppy disk drive 344 to which a controller 346 is connected is used.

殻にテープ・ドライブは、オン・ライン接続して使用す
る際の大きな記憶容量を提供するばかりでなく、ディス
ク・ドライブのバックアップにも利用可能である。この
バックアップの目的には、密閉式リジッド・ディスク装
置に、ある時点までに格納されたデータを保存するため
にテープが用いられる。このようなバックアップ動作は
、通常、低負荷の時間帯(例えば夜間または週末等)に
行なわれるため、ネットワーク304を用いて長い「ス
トリーミング」転送を行なうことができる。更には、シ
ステムの初期設定の際のプログラムの入力のためには、
フロッピ・ディスク・ドライブ344が使用されること
があるため、ネットワークの使用時間のうちの幾分かを
この「ストリーミング」のモードにあてて、かなりの量
のデータを転送することもできる。光学文字読取器35
0は、更に別の入力データのソースとして機能するもの
であり、その入力データは、そのコントローラ352を
介してシステムへ入力される。
In addition to providing large storage capacity for online use, tape drives can also be used to back up disk drives. For this backup purpose, tape is used to save data stored up to a certain point in a sealed rigid disk device. Such backup operations are typically performed during periods of low load (eg, nights or weekends) so that network 304 can be used to perform long "streaming" transfers. Furthermore, for program input during initial system setup,
Since a floppy disk drive 344 may be used, some of the network usage time may be devoted to this "streaming" mode to transfer significant amounts of data. Optical character reader 35
0 serves as yet another source of input data, which is input into the system via its controller 352.

尚、単に「他の装置354J とだけ記されている周辺
装置は、コントローラ356を介してシステムに接続す
ることによって、必要に応じたその他の機能を発揮する
ようにすることができるものである。
Note that the peripheral devices simply labeled as "other devices 354J" can be connected to the system via the controller 356 to provide other functions as needed.

別々のプロセッサ・モジエールから夫々のメツセージ・
パケットを互いに同時に送出し、そしてそれらのメツセ
ージ・パケットに対して優先権の判定を行なって、1つ
の、或いは共通の最優先メッセージ・パケットが所定の
一定の時間内に全てのプロセッサ・モジュールへ同時に
ブロードカストされるようにするという方式を使用して
いるため、オン・ライン状態にある個々のプロセッサの
いずれもが、このシステム内の他のプロセッサ・モジュ
ールに等しくアクセスできるようになっている。優先順
位を付与されたトランザクション・ナンバ並びにレディ
ネス状態表示と、メツセージ内に含まれた転送先選択エ
ントリとを利用しているこの大域的セマフォ・システム
によって、どのプロセッサもコントローラとして働くこ
とが可能となっているため、このシステムは、階層的な
方式でも、また非階層的な方式でも動作可能となってい
る。本システムが、ソフトウェアの精査や変更を必要と
することなく拡張或いは縮小することができるというこ
とも、非常に重要である。
Respective messages from separate processor modules
packets simultaneously with each other and a priority determination is made on the message packets so that one or a common highest priority message packet is sent simultaneously to all processor modules within a predetermined period of time. A broadcast scheme is used so that any individual processor that is online has equal access to other processor modules in the system. This global semaphore system, which utilizes prioritized transaction numbers and readiness status indicators and destination selection entries contained within messages, allows any processor to act as a controller. This allows the system to operate in a hierarchical or non-hierarchical manner. It is also very important that the system can be expanded or contracted without requiring any software review or modification.

既に説明したメツセージ長さよりかなり長いが、なお比
較的長さの限られているメツセージに対するアクセスが
必要な場合であフても、そのようなアクセスを実行する
ことができる6例を挙げれば、複雑なコンピュータ・グ
ラフィクス装置(不図示)に関して、精巧な2次元図形
及び3次図形を作成するために、膨大なデータベースの
特定の部分にだけアクセスすることが必要とされる場合
がある。また、ワード・プロセッサ・システムに関して
、オペレータ(操作者)の操作速度が遅いために、デー
タベースのうちから、−度に僅かなデータのシーケンス
のみが必要とされる場合もある。これらの状況、並びに
それに類似した状況においては、本システムの、可変長
のメツセージを取扱うことのできる能力、並びに継続メ
ツセージに優先権を付与することのできる能力が有益な
ものとなる。処理能力を集中させることを必要とする状
況や、甚だしく長いメツセージの転送を必要とする状況
は、このシステムの使用に限界を与えるが、それ以外の
状況においては、本システムは非常に有利に権能する。
If access is required to a message that is considerably longer than the message lengths already described, but is still relatively limited in length, here are six examples where such access can be performed: With respect to computer graphics equipment (not shown), it may be necessary to access only specific portions of a vast database in order to create elaborate two-dimensional and three-dimensional figures. Also, with word processing systems, the operator speed may be such that only a small sequence of data is required from the database at a time. In these and similar situations, the system's ability to handle messages of variable length, as well as its ability to give priority to continuation messages, is beneficial. Situations requiring intensive processing power or the transmission of extremely long messages limit the use of this system, but in other situations the system can be used to great advantage. do.

種々の異なりたデータ形式の操作とそれに伴なうのソー
ト機能ないしマージ機能に関わる動的な状況は、いずれ
も本発明が有利に機能する状況に該当する。複雑なデー
タを収集し、照合し、そして解析することを含む経営意
志決定はその種の状況の一例であり、また、定期刊行物
のための、映像入力や図形入力の作成及び編集も、その
−例である。
Dynamic situations involving manipulation of a variety of different data formats and associated sorting or merging functions are all situations in which the present invention would be advantageous. Business decision-making, which involves collecting, collating, and analyzing complex data, is an example of such a situation, as is the creation and editing of video and graphical input for periodicals. -This is an example.

(結論) 当業者には明らかなように、第1図のシステムは、ソフ
トウェアを変更することを必要とせずにそこに含まれる
プロセッサの個数を任意の個数に(ただしデータ転送容
量によって決定される実際上の限界の個数までに)拡張
することが可能である。更にこれも明らかなことである
が、同図のシステムは、夫々の処理装置のステータスの
確認、タクス並びにプロセッサの優先順位の設定、それ
にプロセッサの処理能力の効率的な利用の確保のための
、管理及びオーバーヘットのソフトウェアの必要量を大
幅に減少させている。
(Conclusion) As will be apparent to those skilled in the art, the system of FIG. (up to a practical limit). Furthermore, as is also clear, the system shown in the figure has several functions for checking the status of each processing unit, setting priorities for tasks and processors, and ensuring efficient utilization of the processing power of the processors. Management and overhead software requirements are greatly reduced.

明白な利益が得られるのは、データベース・システムや
、その他の、データベース・システムと同様に1つのタ
スクの全体を、互いに独立して処理することのできる複
数のサブタスクへ細分することが適当なシステム等の場
合である。例えばリレーショナル・データベースに関し
て言えば、二次記憶装置の容量が格段に増大した場合に
も、更なるデータベースを一次的データとバックアップ
・データとからなるデータ構造の中に適切に統合するだ
けで良いのである。換言すれば、ネットワークを限りな
く拡張することが可能であり、それが可能であるのは、
標準化された交点装置即ちノードを2進数的に発展して
行く接続方式でi[しているために、それらの個々のノ
ードにおいて実行される権能が拡張によって変化するこ
とがないからである。更には、ノードの動作についての
設定処理シーケンスや外部制御も不要である。従って本
発明に係るシステムが、第1図に示されているように、
1台ないし複数台のホスト・コンピュータのバックエン
ド・プロセッサとして機能するように接続されている場
合には、システムのユーザはオペレーティング・システ
ムのソフトウェアも、応用ソフトウェアも変更すること
なしに、データベースを任意に拡張(或いは縮小)する
ことができる。ホスト・プロセッサ・システム(=ホス
ト・コンピュータ)の側から見れば、このバックエンド
・プロセッサはその構成の如何にかかわらず「透明な」
ものとなっており、なぜならばその構成が変化してもこ
のバックエンド・プロセッサとホスト・プロセッサ・シ
ステムとの間の対話の態様には変化は生じないからであ
る。このバックエンド・プロセッサに別のホスト・プロ
セッサ・システムの仕事をさせるように切り換えるため
には、単にIFPがその新たなホスト・プロセッサ・シ
ステムのチャネルないしバスとの間で適切に会話するよ
うにするだけで良い。
Obvious benefits are obtained for database systems and other systems where it is appropriate to subdivide a task into multiple subtasks that can be processed independently of each other. etc. For example, with respect to relational databases, even if the capacity of secondary storage increases significantly, additional databases can simply be appropriately integrated into a data structure consisting of primary and backup data. be. In other words, it is possible to expand the network without limit;
Because the standardized nodal points or nodes are connected in a binary evolving manner, the powers exercised by the individual nodes do not change with expansion. Furthermore, there is no need for a setting processing sequence or external control for the operation of the nodes. Therefore, the system according to the invention, as shown in FIG.
When connected to act as a back-end processor for one or more host computers, users of the system can freely modify the database without changing the operating system software or application software. It can be expanded (or reduced) to From the perspective of the host processor system (= host computer), this back-end processor is ``transparent'' regardless of its configuration.
This is because the configuration changes do not change the manner in which the back-end processor interacts with the host processor system. To switch this back-end processor to do the work of another host processor system, simply ensure that the IFP speaks appropriately to the new host processor system's channels or buses. Just that is fine.

ある実機の具体例におけるネットワークの構成に拠れば
、ネットワーク内のメツセージ転送に甚だしい遅延を生
じることなく、またプロセッサ間の競合に起因する不適
当な程の遅延も生じることなしに、1つのアレイに10
24個までのマイクロプロセッサを包含して使用するこ
とかでざるようになっている。本明細書で説明した実施
例を、1024個を超えるプロセッサを含むように拡張
するにはどのようにすれば良いかは、当業者には明白で
あろう。1つのシステムに1024個のプロセッサを用
いる場合、実機の具体例では能動ノート間の最大ライン
長さは28フイートになることが分っており、このライ
ン長さであればアレイを構成する上で問題が生しること
はない。ネットワークに起因する遅延時間は、いかなる
メツセージについても一定の時間2τNであり、ここで
てはバイト・クロックの間隔、Nは階層構造の中の階層
の数である。明らかに、階層を更に1つ増すことによっ
てプロセッサの個数を倍にしても、遅延時間は僅かに増
加するに過ぎない。データ・メツセージであれば略々必
然的に長いメツセージとなるため(糸ζJ200バイト
程度の長さとなる)、また、競合するメツセージの全て
についての優先権の判定が、データをネットワークに沿
って転送している間に行なわれるため、このネットワー
クは従来のシステムと比較して、はるかに高い利用効率
でデータ・メツセージの転送を行なえるものとなってい
る。
The configuration of the network in one practical example shows that a single array can be configured without significant delays in message transfer within the network, or without unreasonable delays due to contention between processors. 10
It is possible to include and use up to 24 microprocessors. It will be apparent to those skilled in the art how the embodiments described herein may be extended to include more than 1024 processors. When using 1024 processors in a system, the maximum line length between active notes has been found to be 28 feet in a practical example; There will be no problems. The delay time due to the network is a constant time 2τN for any message, where the byte clock interval and N is the number of layers in the hierarchical structure. Clearly, doubling the number of processors by adding one more layer only slightly increases the delay time. Since a data message is almost inevitably a long message (about ζJ200 bytes long), priority determination for all competing messages requires the data to be transferred along the network. This makes the network much more efficient at transferring data messages than traditional systems.

本システムの重要な経済上の特徴並びに動作上の特1数
のなかには、標準化された能動ロジック回路がソフトウ
ェアの替わりに、そして更にはネットワーク・システム
におけるファームウェアの替わりにも用いられていると
いう事実によって得られている特徴がある。即ちこの事
実によって、近代的なLSI並びにVLSIの技術を利
用してプロセッサのコストと周辺装置のコストとを含め
た全体のコストに対して相対的に低コストで、信頼性の
高い回路を組込むことがで跨るようになっているのであ
る。
Among the important economic and operational features of the system is the fact that standardized active logic circuits are used in place of software and even firmware in network systems. There are certain characteristics that have been achieved. That is, based on this fact, it is possible to use modern LSI and VLSI technology to incorporate a highly reliable circuit at a relatively low cost compared to the overall cost including the cost of the processor and the cost of peripheral devices. It is designed to straddle the road.

ソフトウェアに時間と経費とを費やさねばならないのは
、データベース管理等の問題領域のタスクに関係するよ
うな、重要な部分についてだけに限定されている。例を
挙げれば、本システムの構成に拠れば、データベースの
完全性を維持するために必要な諸機能の全てを、メツセ
ージ・パケットの構成並びにネットワークの構成に基づ
く範囲内で実行し得るようになっている。ポーリング、
ステータスの変更、並びにデータの復旧等の機能はシス
テムの内部において実行される。
The amount of time and money that must be spent on software is limited to only the critical parts, such as those related to problem area tasks such as database management. For example, the configuration of this system allows all of the functions necessary to maintain the integrity of the database to be performed within the scope of the message packet configuration and network configuration. ing. polling,
Functions such as status changes and data recovery are performed within the system.

更に別の重要な考慮すべき点として、本発明のネットワ
ークは、その高速データ転送の性能が、従来のオーミッ
クな配線バスに充分匹敵する程に優れたものであるとい
うことがある。複数のメツセージ・パケットが互いに同
時に送出され、それらが伝送されている間に優先権の判
定がなされるため、従来の方式においてステータス・リ
クエストとそれに対する応答の送出、並びに優先権の判
定に伴なつていた遅延が、回避されているからである。
Yet another important consideration is that the network of the present invention is sufficiently superior in its high speed data transfer performance to conventional ohmic wired buses. Since multiple message packets are sent simultaneously and their priority is determined while they are being transmitted, in the conventional method, it is difficult to send a status request and its response, as well as to determine its priority. This is because the delays that would otherwise have occurred have been avoided.

更には、プロセッサの個数が莫大な個数であってもノー
ド間の接続構造の長さを所定の長さ以下に抑えることが
可能であるため、バス内の伝播時間がデータ転送速度に
対する制約となることがない。
Furthermore, even if the number of processors is enormous, it is possible to keep the length of the connection structure between nodes to a predetermined length or less, so the propagation time within the bus becomes a constraint on the data transfer rate. Never.

本システムは、マイクロプロセッサ及びネットワークの
使用効率という点において最適状態に迫るものであるこ
とが判明している。これらの点に関して重要なことは、
全てのマイクロプロセッサがビズイ状態に保だねるよう
にすることと、ネットワークが一杯に有効利用されるよ
うにすることとである。IJ FP−ネットワーク−A
MPJの構成は、事実上それらのことを可能にしており
、その理由は、自らが送出したメツセージ・パケットが
優先権を獲得するための競合において敗退したマイクロ
プロセッサは、なるたけ早い適当な時刻に再度送信を試
みるだけで良く、そのためバスのデユーティ・サイクル
が高いレベルに維持されるからである。高速ランダム・
アクセス・メモリもまたこの効果を得るために寄与して
おり、なぜならば、高速ランダム・アクセス・メモリは
処理すべき入力メツセージ・パケットと送出すべき出力
メツセージ・パケットとの両方をその内部に集積してい
るため、各々のプロセッサが作業のバックログを常時人
手でざると共に、ネットワークもまたメツセージパケッ
トのバックログを人手できるようになっているからであ
る。全ての大力バッファが満杯になったならば、プロセ
ッサがその事実を知らせる表示をネットワーク上へ送出
する。
The present system has been found to be near optimal in terms of microprocessor and network usage efficiency. The important thing about these points is that
The two main objectives are to keep all microprocessors busy and to ensure that the network is fully utilized. IJ FP-Network-A
The construction of MPJ makes this possible in effect, because a microprocessor whose message packets it has sent lose in the competition for priority will have to try again at the earliest possible time. It only needs to attempt to transmit, thus keeping the bus duty cycle at a high level. High speed random
Access memory also contributes to this effect, since high-speed random access memory stores both input message packets to be processed and output message packets to be sent out. This is because each processor does not have to manually maintain a backlog of work at all times, and the network can also manually maintain a backlog of message packets. Once all the power buffers are full, the processor sends an indication over the network to indicate this fact.

また、IFPに用いられている、ホスト・コンピュータ
からのメツセージを受取るための入力バッファが満杯に
なったならば、そのことを知らせる表示がチャネル上に
送出される。従って本システムは、内部的にもまた外部
的にも自己調歩式となっている。
Also, when the input buffer used by the IFP to receive messages from the host computer becomes full, an indication is sent out on the channel to notify this fact. The system is therefore self-paced both internally and externally.

本システムは、以上に説明したようなアーキテクチャと
メツセージの構成とを利用することによって、汎用マル
チプロセッサ・システムに必要とされるその他の多くの
機能をも実行できるように構成されている。例えば従来
技術においては、大域的資源のステータスの変化を評価
及び監視するための方式に関して非常な注意が払われて
いた。
By utilizing the architecture and message structure described above, the system is configured to perform many other functions required of a general-purpose multiprocessor system. For example, in the prior art, great attention has been paid to methods for evaluating and monitoring changes in the status of global resources.

これに対して本発明に拠れば、パリティ・エラーの発生
とプロセッサの使用可能性の変化という事実との両方を
伝達するための手段として、パリティ・チャネルのみが
備えられ使用されている。
In contrast, according to the present invention, only a parity channel is provided and used as a means for communicating both the occurrence of a parity error and the fact that processor availability has changed.

1個ないし複数個のプロセッサがシャット・ダウンした
場合には、そのシャット・ダウンが、その発生と略々同
時にシステム中に伝達され、それによって割込みシーケ
ンスの実行を開始することができるようになっている。
When one or more processors shuts down, the shutdown is propagated through the system at approximately the same time as it occurs, so that execution of the interrupt sequence can begin. There is.

複数の応答を優先順位に従ってソートするという方式が
採用されているため、大域的な能力の変化が生じた場合
にその変化がどのような性質のものであるかを、従来と
比較してはるかに小規模の回路とシステム・オーバヘッ
ドとによって特定することが可能となっている。
Because the system uses a method that sorts multiple responses according to priority, it is much easier to understand the nature of changes in global capacity than before. The small circuit size and system overhead make it possible to specify.

大域的セマフォと能動ロジック・ネットワークとを採用
したことによって達成されている、1回の問合せにより
優先権の判定を経て得られる大域的応答は、非常に深い
システム的な意味を持っている。この方式により問合せ
をブロードカストすることによって曖昧性のない一義的
な大域的結果が得られるため、複雑なソフトウェア並び
にオーバヘッドが不要とされている。分散型更新等のス
テータス設定動作は、多数の同時動作が複数の異なった
プロセッサで実行されている際にも実行可能となってい
る。
The global response obtained through a single query and priority determination, which is achieved by employing global semaphores and active logic networks, has very deep systemic implications. By broadcasting queries in this manner, unambiguous, unambiguous global results are obtained, eliminating the need for complex software and overhead. Status setting operations such as distributed updates can be performed even when multiple simultaneous operations are being performed on multiple different processors.

本システムは更に、以上のようなネットワークとトラン
ザクション・ナンバと転送先選択ワードとを用いること
によって、マルチプロセッサ・システムにおける仕事の
分配並びに処理結果の収集に関する優れた能力を発揮し
ている。f!々のマルチプロセッサ・モードと制御メツ
セージとを利用することができ、また、優先順位プロト
コルを操作するだけで、優先順位の種々のレベルを容易
に設定しまた変更することができるようになっている。
Furthermore, by using the network, transaction number, and transfer destination selection word as described above, this system exhibits excellent ability to distribute work and collect processing results in a multiprocessor system. f! Various multiprocessor modes and control messages are available, and various levels of priority can be easily set and changed simply by manipulating the priority protocol. .

全てのプロセッサへ同時にブロードカストすることので
きる能力と、ネットワーク中でメツセージのソートを行
なえる能力とが組み合わさることによりて、いかなるプ
ロセッサ・グループ或いはいかなる個々のプロセッサを
転送先とすることも可能となっていると共に、処理結果
を適切な順序で引き出すことも可能となっている。従っ
て、リレーショナル・データベース・システムに対する
複雑な問合せが入力されたならば、そのことによってデ
ータベース動作に必要なあらゆる処理シーケンスが開始
されるようになフている。
The ability to broadcast to all processors simultaneously, combined with the ability to sort messages across the network, allows any group of processors or any individual processor to be targeted. At the same time, it is also possible to extract the processing results in an appropriate order. Thus, once a complex query is entered into a relational database system, it initiates any processing sequence necessary for database operation.

本システムの更に別の利点は、リレーショナル・データ
ベース・システム等のマルチプロセッサ・システムに、
容易に冗長性を導人できることにある。二重ネットワー
クと二重インターフェイスとを備えているため、一方の
ネットワークが何らかの原因で故障し・た場合にもシス
テムが動作り、続けられるようにする冗長性が得られて
いる。データベースを互いに素の一時的部分集合とバッ
クアップ用部分集合という形で分配しであるため、デ、
−タ喪失の確率が最小のレベルにまで低減されている。
A further advantage of this system is that it can be used in multiprocessor systems such as relational database systems.
The purpose is to be able to easily introduce redundancy. Having dual networks and dual interfaces provides redundancy that allows the system to continue operating even if one network fails for any reason. Since the database is distributed into disjoint temporary subsets and backup subsets,
- the probability of data loss is reduced to a minimum level.

故障が発生したり変更が加えられたりした場合にも、用
途の広い種々の制御機能が利用可能であるためにデータ
ベースの完全性を維持し得るようになっている。
A variety of versatile control functions are available to maintain the integrity of the database in the event of failures or changes.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は、新規な双方向ネットワークを含む、本発明に
係るシステムのブロック図である。 第2図および第2A図〜第2J図は、第1図に示された
簡単な構造の実施例のネットワークにおけるデータ信号
並びに制御信号の伝送の態様を示す、時間の経過に沿っ
た連続する一連の説明図であり、第2図は信号伝送の開
始前の時点における状態を示す図、また、第2A図〜第
2J図は、夫々、1=0からt=9までの連続するIO
[)li所の時点における時間標本の一つに対応じてい
る図である。 第3図は、第1図に示されたシステムに採用されている
メツセージ・パケットの構成を図示する説明図である。 第4図は、第1図に示された新規な双方向ネタ1〜ワー
ク用いられている能動ロジック・ノード並びにクロック
回路に閏する、同ネットワークの更なる細部構造を示す
ブロック図である。 第5図は、前記能動ロジック・ノードの内部の様々な動
作状態を示す、状態図である。 第6図は、前記能動ロジック・ノードの内部において行
なわれるエンド・オブ・メツセージの検出動作を説明す
るためのタイミング・ダイアダラムである。 第7図は、第4図に示したクロック回路の動作を説明す
るための、タイミング波形のダイアダラムである。 第8図は、第1図に示したシステムに使用することので
きる、高速ランダム・アクセス・メモリを含むプロセッ
サ・モジュールのブロック図である。 第9図は、第8図に示したマイクロプロセッサ・システ
ムのメインRAMの内部のアドレスの割当て状況を示す
図である。 第10図は、第8図に示された高速ランダム・アクセス
・メモリの、1つの参照部分の内部におけるデータの配
置態様のブロック図である。 第11図は、前記システムに用いられているメツセージ
の優先順位プロトコルを示すチャートである。 第12図は、トランザクション・ナンバのワード・フォ
ーマットを図示する説明図である。 第13図および第13A図は、第1図及び第8図に示し
たシステムの、その内部に備えられている各プロセッサ
モジュールに用いられているインターフェイス回路のブ
ロック図であり、第13図の右側に第13A図を置くこ
とによって1枚につながる図である。 第14図は、第13図のインターフェイス回路において
用いられている様々なりロック波形及びフェイズ波形を
図示するタイミング・ダイアダラムである。 Its図は、転送先選択ワードに基づいてマツピングを
行なうための、メモリ構成の更なる詳細とマツピングの
一方式とを図示するブロック図である。 第16図は、入力データ・メツセージを受信した際のス
テータスの変化を示す、簡略化したフロチャートである
。 第17図および第17A図は、メツセージの受信が行な
われているときのステータスの変化を示すフローチャー
トであり、第17図を第17A図の上縁部に接して並べ
ることにより1枚につながる図である。 第18図は、様々なプライマリ・メツセージとそれらに
対して発生される種々の応答との間の関係、並びに、様
々なプライマリ・メツセージとそれらに応答して実行さ
れる動作との間の関係を示す表である。 第19図および第19A図は、メツセージの送信が行な
われているときのステータスの変化を示すフローチャー
トであり、第19図を第19A図の上縁部に接して並べ
ることにより1枚につながる図である。 第20図は、本発明に係るスタンド・アローン型システ
ムのブロック図である。 第21図は第21A図及び第21B図から成り、前記高
速ランダム・アクセス・メモリに格納されているメツセ
ージを示す図である。 第22図は、データベース・システム内の複数の異なっ
たプロセッサの間にデータベースの夫々の部分を分配す
るための、分配方式の可能な一例を示す簡略化した模式
図である。 18〜23−−アクセス・モジュール・プロセッサ、 24−一マイクロプロセッサ、 2a−−[4ランダム・アクセス・メモリ、28−一制
御ロシック、 32−−ディスク・コントローラ、 38〜43−−ディスク・ドライブ、 50−一能動ロシック・ネットワーク構造、54−一ノ
ード、 56−−クロツク・ソース、 120.120°−一ネットワーク・インターフェイス
、 103−一マイクロプロセッサ・システム。
FIG. 1 is a block diagram of a system according to the invention, including a novel bidirectional network. 2 and 2A to 2J are a series of sequential sequences over time illustrating the manner in which data and control signals are transmitted in the network of the simple embodiment shown in FIG. FIG. 2 is a diagram showing the state before the start of signal transmission, and FIGS. 2A to 2J are diagrams showing continuous IO from 1=0 to t=9, respectively.
FIG. 12 is a diagram corresponding to one of the time samples at point [)li. FIG. 3 is an explanatory diagram illustrating the structure of a message packet employed in the system shown in FIG. 1. FIG. 4 is a block diagram showing further details of the structure of the novel bidirectional network shown in FIG. 1, including the active logic nodes and clock circuits used. FIG. 5 is a state diagram illustrating various operating states within the active logic node. FIG. 6 is a timing diagram for explaining the end-of-message detection operation performed inside the active logic node. FIG. 7 is a diagram of timing waveforms for explaining the operation of the clock circuit shown in FIG. 4. FIG. 8 is a block diagram of a processor module including high speed random access memory that may be used in the system shown in FIG. FIG. 9 is a diagram showing the internal address allocation status of the main RAM of the microprocessor system shown in FIG. 8. FIG. 10 is a block diagram of the arrangement of data within one reference portion of the high speed random access memory shown in FIG. 8. FIG. 11 is a chart showing the message priority protocol used in the system. FIG. 12 is an explanatory diagram illustrating the word format of a transaction number. 13 and 13A are block diagrams of interface circuits used in each processor module included in the system shown in FIGS. 1 and 8, and are shown on the right side of FIG. 13. This is a diagram that can be combined into one sheet by placing FIG. 13A on . FIG. 14 is a timing diagram illustrating the various lock and phase waveforms used in the interface circuit of FIG. 13. The Its diagram is a block diagram illustrating further details of memory organization and one method of mapping for mapping based on destination selection words. FIG. 16 is a simplified flowchart showing the changes in status upon receiving an input data message. FIG. 17 and FIG. 17A are flowcharts showing changes in status when a message is being received. FIG. 17 is arranged in contact with the upper edge of FIG. 17A to form a single page. It is. FIG. 18 illustrates the relationship between various primary messages and the various responses generated to them, as well as the relationships between various primary messages and the actions performed in response to them. This is a table showing FIG. 19 and FIG. 19A are flowcharts showing changes in status when a message is being sent, and by arranging FIG. 19 in contact with the upper edge of FIG. 19A, the diagrams can be combined into one page. It is. FIG. 20 is a block diagram of a stand-alone system according to the present invention. FIG. 21, consisting of FIGS. 21A and 21B, is a diagram showing messages stored in the high speed random access memory. FIG. 22 is a simplified schematic diagram illustrating one possible distribution scheme for distributing respective portions of a database among a plurality of different processors within a database system. 18-23--access module processor, 24--one microprocessor, 2a--[4 random access memory, 28--one control logic, 32--disk controller, 38-43--disk drive, 50--one active logic network structure; 54--one node; 56--clock source; 120--one network interface; 103--one microprocessor system.

Claims (31)

【特許請求の範囲】[Claims] (1)複数のプロセッサ・モジュールを備え、それらの
プロセッサ・モジュールの各々は、プロセッサと、異な
った複数のタスクに関するこのプロセッサのレディネス
状態を表わす外部アクセス自在なセマフォを提供するた
めのセマフォ提供手段とを含み、 前記複数のプロセッサ・モジュールに接続されたネット
ワーク手段を備え、該ネットワーク手段は所与の1つの
タスクに関する複数の前記プロセッサのレディネス状態
についての「テスト・アンド・セット」動作を全ての前
記プロセッサにおいて同時に行なうための手段と、その
動作によって得られた複数のレディネス状態のうちから
最低のレディネス状態を、大域的レディネスの表示とし
て選択するための手段とを含んでいる、 マルチプロセッサ・システム。
(1) A plurality of processor modules each comprising a processor and a semaphore providing means for providing an externally accessible semaphore representing a readiness state of the processor with respect to a plurality of different tasks. comprising network means connected to said plurality of processor modules, said network means performing a "test and set" operation on the readiness state of said plurality of said processors for a given task on all said processor modules; A multiprocessor system comprising: means for simultaneously performing operations in a processor; and means for selecting a lowest readiness state from among a plurality of readiness states obtained by the operations as an indication of global readiness.
(2)前記セマフォ提供手段が、異なった別々のタスク
の各々ごとに一連の複数の値のうちの1つの値を提供す
る手段を含んでいる、請求項1記載のシステム。
2. The system of claim 1, wherein the semaphore providing means includes means for providing one of a series of values for each different discrete task.
(3)一連の複数の値のうちの1つの値を提供する前記
手段が、そのデータ内容が様々に異なる値を提供するも
のであり、且つ、最低のレディネス状態を選択する前記
手段が、前記ネットワーク手段の中に備えられた、提供
された複数の値をそれらのデータ内容に従ってマージす
る手段から成る、請求項2記載のシステム。
(3) the means for providing one value from a series of a plurality of values provides values whose data contents are variously different; and the means for selecting the lowest readiness state is 3. A system as claimed in claim 2, comprising means provided in the network means for merging a plurality of provided values according to their data content.
(4)前記ネットワーク手段が、メッセージを全ての前
記プロセッサ・モジュールへ同時にブロードカストする
ための手段と前記プロセッサ・モジュールからのメッセ
ージを所定の一定の時間内にマージするための手段とを
含む双方向ネットワークを含んでいる、請求項3記載の
システム。
(4) said network means is bidirectional, said network means comprising means for simultaneously broadcasting messages to all said processor modules and means for merging messages from said processor modules within a predetermined period of time; 4. The system of claim 3, comprising a network.
(5)前記複数のプロセッサ・モジュールが、前記ネッ
トワーク手段へメッセージを互いに同時に送出するため
の手段を含み、前記メッセージにはプライマリ・データ
・メッセージ、セマフォ問合せ、セマフォ応答、制御メ
ッセージ、並びにプライマリ・データ・メッセージに対
する応答が含まれており、且つ、それら全てのメッセー
ジはそのデータ内容が所定の優先順位プロトコルに従っ
て様々に異なるものである、請求項4記載のシステム。
(5) said plurality of processor modules including means for simultaneously sending messages to said network means, said messages including a primary data message, a semaphore inquiry, a semaphore response, a control message, and a primary data message; 5. The system of claim 4, wherein responses to the messages are included, and all of the messages differ in their data content according to a predetermined priority protocol.
(6)全てのメッセージは、そのデータ内容がメッセー
ジのタイプに応じたソート優先順位に従って様々に異な
るコマンド・フィールドを先頭に有しており、且つ、プ
ライマリ・データ・メッセージと、セマフォ問合せ及び
セマフォ応答を含むステータス・メッセージと、制御メ
ッセージと、応答メッセージとは、コマンド・フィール
ドに続くタグを含んでおり、このタグはそのデータ内容
が様々に異なると共にその長さが一定であり、更には、
応答のための発信元プロセッサ識別情報を含むことが可
能である、請求項5記載のシステム。
(6) All messages have a command field at the beginning whose data content varies according to the sorting priority according to the message type, and includes a primary data message, a semaphore inquiry, and a semaphore response. Status messages, control messages, and response messages include a tag following a command field that varies in data content and is constant in length;
6. The system of claim 5, wherein the system can include originating processor identification information for the response.
(7)コマンド・フィールドとタグとから成る組合せが
、メッセージを、ステータス問合せ、トランザクション
・アイデンティティ割当て制御メッセージ、トランザク
ション・アイデンティティ放棄制御メッセージ、プロセ
ッサ・モジュールにマージ動作を開始させるマージ開始
制御メッセージ、ないしはプロセッサ・モジュールにマ
ージ動作を停止させるマージ停止制御メッセージとして
特徴付けている、請求項6記載のシステム。
(7) The combination of a command field and a tag makes the message a status inquiry, a transaction identity assignment control message, a transaction identity relinquish control message, a merge initiation control message that causes a processor module to initiate a merge operation, or a processor module. - The system of claim 6 characterized as a merge stop control message that causes the module to stop the merge operation.
(8)前記プロセッサ・モジュールの各々が、メッセー
ジとセマフォとのためのメッセージ/セマフォ・バッフ
ァ手段を含んでおり、該メッセージ/セマフォ・バッフ
ァ手段は、前記ネットワーク手段と前記プロセッサ・モ
ジュールとの双方からアクセスするための手段を含んで
いる、請求項1記載のシステム。
(8) each of said processor modules includes message/semaphore buffer means for messages and semaphores, said message/semaphore buffer means being capable of receiving messages from both said network means and said processor module; 2. The system of claim 1, including means for accessing.
(9)前記メッセージ/セマフォ・バッファ手段が、複
数の指定トランザクションの夫々に対応する複数のセマ
フォ状態表示を格納する格納手段を含んでおり、且つ、
前記プロセッサ・モジュールが、前記バッファ手段に接
続された、指定トランザクションに関連して前記セマフ
ォ状態表示を局所的に更新するための、更新手段を含ん
でおり、且つ、前記バッファ手段が、指定トランザクシ
ョンについてのステータス問合せに応答して、その時点
におけるプロセッサの動作状態を参照することなく前記
セマフォ状態表示を読出すための、セマフォ読出し手段
を更に含んでいる、請求項8記載のシステム。
(9) The message/semaphore buffer means includes storage means for storing a plurality of semaphore status indications corresponding to each of a plurality of specified transactions, and
said processor module includes update means connected to said buffer means for locally updating said semaphore status indication in relation to a specified transaction; 9. The system of claim 8, further comprising semaphore reading means for reading the semaphore status indication in response to a status inquiry of the processor without reference to the current operating state of the processor.
(10)前記メッセージが、パリティ・ビットを含むデ
ータのバイトのシリアルな列から成り、前記複数のプロ
セッサ・モジュールが、ステータスの変化が生じた際に
パリティ・エラーを強制する手段を含んでおり、前記ネ
ットワーク手段が、この強制パリティ・エラーをその発
生点から前記ネットワークを介して伝播させ、それによ
つて前記システムの大域的資源の状態に変化が生じたこ
とを知らせる、伝播手段を含んでいる、請求項7記載の
システム。
(10) the message comprises a serial sequence of bytes of data including parity bits, and the plurality of processor modules includes means for forcing a parity error upon a change in status; said network means includes propagation means for propagating this forced parity error through said network from its point of origin, thereby signaling that a change has occurred in the state of a global resource of said system; The system according to claim 7.
(11)複数のトランザクションのうちの任意のトラン
ザクションについてのシステムの大域的レディネス状態
を所定の一定の時間内に確認することのできる相互通信
型マイクロプロセッサ・システムであって、 複数のプロセッサを備え、それらのプロセッサの各々は
、異なった別々のトランザクションに関する複数のテス
ト・アンド・セット自在な局所的セマフォを保持及び更
新するためのセマフォ保持更新手段を含んでおり、 前記複数のプロセッサの各々に接続されたネットワーク
手段を備え、該ネットワーク手段は、所与の1つのトラ
ンザクションについての局所的セマフォの状態を問い合
わせるものであるトランザクション問合せを、前記複数
のプロセッサの全てへ同時に送出し、且つ、互いに同時
に送出される複数の応答を所定の時間内にソートする、
ネットワーク手段であり、 前記複数のプロセッサの各々を前記ネットワーク手段に
接続している、複数のセマフォ応答を前記ネットワーク
手段へ同時に送出するための、大域的テスト・アンド・
セット手段を備える、システム。
(11) An intercommunicating microprocessor system capable of checking the global readiness state of the system for any one of a plurality of transactions within a predetermined period of time, the system comprising a plurality of processors, each of the processors includes a semaphore holding and updating means for maintaining and updating a plurality of test-and-settable local semaphores for different discrete transactions; network means for simultaneously sending a transaction query to all of the plurality of processors, the network means inquiring the state of a local semaphore for a given transaction; sort multiple responses within a given time,
network means, connecting each of said plurality of processors to said network means, for simultaneously sending a plurality of semaphore responses to said network means;
A system comprising setting means.
(12)前記局所的セマフォが、局所的レディネス状態
に応じて定まる様々なデータ内容を有するものであり、
且つ、前記ネットワーク手段が、この局所的セマフォの
データ内容に従ってソートを行なうための手段を含んで
いる、請求項11記載のシステム。
(12) the local semaphore has various data contents determined according to a local readiness state;
12. The system of claim 11, wherein said network means includes means for sorting according to data content of said local semaphore.
(13)前記セマフォ保持更新手段が、ランダム・アク
セス式の格納手段と、該格納手段を、該格納手段に組み
合わされたプロセッサと前記ネットワーク手段とに接続
しているインターフェイス手段とを含んでおり、且つ、
前記局所的セマフォが、種々のデータ内容を持つ一連の
複数の値のうちから選択されるデジタル・エントリであ
り、しかも前記トランザクション問合せによってアドレ
スされる格納位置に格納されるものである、請求項12
記載のシステム。
(13) the semaphore holding/updating means includes a random access storage means and an interface means connecting the storage means to a processor associated with the storage means and the network means; and,
12. The local semaphore is a digital entry selected from a series of values having different data content and stored in a storage location addressed by the transactional query.
The system described.
(14)前記大域的テスト・アンド・セット手段が、前
記局所的セマフォをトランザクション・ナンバによって
指定されるアドレスに保持する記憶装置を含んでおり、
該記憶装置は、該記憶装置に組み合わされたプロセッサ
と前記ネットワーク手段との双方からアクセス自在であ
り、更に、前記局所的セマフォは局所的なレディネス状
態を明示するものである、請求項11記載のシステム。
(14) the global test and set means includes a storage device that maintains the local semaphore at an address specified by a transaction number;
12. The storage device of claim 11, wherein the storage device is accessible both by a processor associated with the storage device and by the network means, and further wherein the local semaphore is indicative of a local readiness state. system.
(15)前記プロセッサが、前記トランザクション問合
せを前記ネットワーク手段へ送出するための手段を含ん
でおり、前記トランザクション問合せが、トランザクシ
ョン・ナンバを含んでおり、且つ、複数のセマフォ応答
の伝送に対しソートが行なわれることによって、レディ
ネス状態が最低レベルにある局所的レディネス状態が識
別されるようにした、請求項14記載のシステム。
(15) The processor includes means for sending the transaction query to the network means, the transaction query including a transaction number and sorting for transmission of a plurality of semaphore responses. 15. The system of claim 14, wherein the local readiness state is identified as having the lowest readiness state.
(16)前記局所的セマフォの各々が、各々トランザク
ション・ナンバ・アドレスごとに1つづつ格納される種
々のデータ内容を持つ1組の複数の値のうちの1つの値
から成る、請求項15記載のシステム。
16. Each local semaphore comprises one of a set of values having different data contents, one for each transaction number address. system.
(17)資源が、その資源を保有している各プロセッサ
内の局所的セマフォ手段に組み合わされているマルチプ
ロセッサ・システムにおける、複数の資源の大域的状態
を判定するためのシステムであって、 前記各プロセッサ内の前記局所的セマフォ手段に対して
、所与の1つのトラザクションを同定するナンバを内包
するメッセージによる問合せを行ない、それによって、
選択されたデータ内容を持つ互いに同時に送出される複
数のステータス応答を得るための、問合せ手段と、 同時送出された前記複数の応答のデータ内容に従つてそ
れらの複数の応答のソートを行ない、それによって、当
該トラザクション・ナンバについての大域的状態を表示
する最優先応答を得るための、ソート手段と、 を含むシステム。
(17) A system for determining the global state of a plurality of resources in a multiprocessor system in which the resources are associated with local semaphore means within each processor that owns the resources, comprising: interrogating said local semaphore means in each processor with a message containing a number identifying a given transaction;
interrogating means for obtaining a plurality of status responses sent simultaneously with each other having selected data content; and sorting the plurality of responses according to data content of said plurality of responses sent simultaneously; sorting means for obtaining a highest priority response indicating a global state for the transaction number according to the method.
(18)前記ソート手段がネットワークを含んでおり、
該ネットワークは、前記マルチプロセッサ・システムの
全体に亙って相互接続されており前記複数の応答をその
データ内容に従ってソートするものである、請求項17
記載のシステム。
(18) the sorting means includes a network;
17. The network is interconnected throughout the multiprocessor system to sort the plurality of responses according to their data content.
The system described.
(19)前記各プロセッサが、トランザクション・ナン
バを格納するための複数の格納アドレスを有する局所的
セマフォ格納手段と、該複数の格納アドレスに異なった
複数のトランザクション・ナンバについてのステータス
・データを入力するための入力手段と含んでおり、且つ
、 前記ネットワークが、前記各プロセッサの前記局所的セ
マフォ格納手段に相互接続されており、それらの格納手
段を問合せに内包されているトランザクション・ナンバ
を用いてアドレスし、それによって、ソートされた応答
から大域的状態の表示を得るようにしたネットワークで
ある、 請求項18記載のシステム。
(19) Each of the processors has a local semaphore storage means having a plurality of storage addresses for storing transaction numbers, and inputs status data regarding a plurality of different transaction numbers to the plurality of storage addresses. and input means for inputting information, and the network is interconnected to the local semaphore storage means of each of the processors, and the network is interconnected to the local semaphore storage means of each of the processors, and the network is configured to address the storage means using a transaction number included in the query. 19. The system of claim 18, wherein the network is configured to provide an indication of global state from the sorted responses.
(20)マルチプロセッサ・システムにおける、所与の
タスクについての複数のプロセッサの作業ステータスの
、大域的な評価を得るための方法であつて、 各プロセッサにおいて、様々なデータ内容の複数の所定
のメッセージのうちの1つのメッセージを局所的に選択
することにより、前記所与のタスクに関するその時点に
おける局所的なレディネス状態を表示する、局所的表示
ステップと、 前記所与のタスクに関与する全てのプロセッサから、外
部的操作によって同時にメッセージを引き出し、それら
のメッセージのデータ内容に基づいてそれらのメッセー
ジの間の裁定を行なって最優先メッセージを確定する、
裁定ステップと、を含む方法。
(20) A method for obtaining a global evaluation of the work status of a plurality of processors for a given task in a multiprocessor system, the method comprising: receiving a plurality of predetermined messages with various data contents in each processor; displaying the current local readiness state for the given task by locally selecting one message of all processors involved in the given task; , simultaneously extracting messages from , by an external operation, and determining the highest priority message by arbitrating between the messages based on the data content of the messages.
A method comprising an adjudication step.
(21)前記メッセージが、そのデータ内容が所定の一
連のレディネス状態に応じて種々の値をとるメッセージ
であり、最小のデータ内容が最低のレディネス状態を表
すものとし、且つ、前記裁定ステップにより、データ内
容が最小のメッセージに優先権が付与されるようにした
、請求項20記載の方法。
(21) The message is a message whose data content takes various values depending on a predetermined series of readiness states, and the minimum data content represents the lowest readiness state, and the determining step: 21. The method of claim 20, wherein priority is given to messages with minimal data content.
(22)前記所与のタスクの識別をトランザクション・
ナンバによって行なうステップと、前記選択された所定
のメッセージの局所的な格納をトランザクション・ナン
バに従って行なうステップと、メッセージの引き出しを
個々のトランザクション・ナンバについて格納されてい
るメッセージを読み出すことによって行なうステップと
を更に含んでいる、請求項21記載の方法。
(22) The identification of the given task is
local storage of the selected predetermined message according to the transaction number; and retrieval of the message by reading the messages stored for each transaction number. 22. The method of claim 21, further comprising:
(23)マルチプロセッサ・システム内の複数のプロセ
ッサの間の相互通信の方法であって、レディネス状態に
関する局所的に更新される複数の局所的セマフォを個々
のプロセッサにおいて保持するステップと、 前記複数の局所的セマフォを同時に大域的にテストして
互いに競合する複数の応答を得るステップと、 前記複数の互いに競合する応答のうちから、最低のレデ
ィネス状態を表わしている状態を、大域的状態として選
択するステップと、 を含む方法。
(23) A method of intercommunication between a plurality of processors in a multiprocessor system, the method comprising: maintaining in each processor a plurality of locally updated local semaphores regarding readiness status; simultaneously testing the local semaphore globally to obtain a plurality of mutually competing responses; and selecting a state representing the lowest readiness state from among the plurality of mutually competing responses as the global state. Steps and method including.
(24)最低のレディネス状態を表わしている状態の前
記選択が、前記互いに競合する複数の応答をプロセッサ
間で相互通信しつつそれらの複数の応答に対し所定の一
定の時間内に優先権の判定を行なうことによって行なわ
れるようにした、請求項23記載の方法。
(24) The selection of the state representing the lowest readiness state determines priority for the plurality of competing responses within a predetermined period of time while intercommunicating the plurality of competing responses among the processors. 24. The method of claim 23, wherein the method is carried out by performing.
(25)前記互いに競合する複数の応答が、レディネス
状態に応じて異なったデータ内容を有するものであり、
且つ、それらの複数の応答に対する優先権の判定が、対
を成す2つのデータ内容の間の比較を次々に行なう一連
の複数回の対比較によって行なわれるようにした、請求
項24記載の方法。
(25) The plurality of responses competing with each other have different data contents depending on the readiness state,
25. The method of claim 24, wherein priority determination of the plurality of responses is performed by a series of plural pairwise comparisons, each of which is a series of comparisons between two paired data contents.
(26)互いに別個に指定される複数のトランザクショ
ンに関する局所的に更新される複数の局所的セマフォを
、前記プロセッサの各々ごとに保持するステップと、指
定された特定の1つのトランザクションに関する局所的
セマフォのテストを、大域的ステータス通信によって行
なうステップとを更に含んでいる、請求項25記載の方
法。
(26) maintaining for each of the processors a plurality of local semaphores that are locally updated regarding a plurality of transactions that are specified separately from each other; 26. The method of claim 25, further comprising the step of: performing the test via global status communication.
(27)前記レディネス状態には非関与プロセッサ状態
が含まれており、それによって、プロセッサの様々な部
分集合が所与のトランザクションに関与でき、且つ、そ
の他のプロセッサからの応答が優先順位が低いために除
外されるようになっている、請求項26記載の方法。
(27) The readiness state includes a non-participating processor state whereby different subsets of processors can participate in a given transaction and responses from other processors are of lower priority. 27. The method of claim 26, wherein:
(28)前記マルチプロセッサ・システムを複数のタス
クの間で時分割する時分割動作を、その時分割の対象と
なる複数のタスクを互いに異なった複数のトランザクシ
ョン・ナンバによつて識別することにより行なうステッ
プと、所与の1つのトランザクション・ナンバに関する
前記マルチプロセッサ・システムの大域的レディネス状
態を判定するステップと、以前のトランザクション・ナ
ンバについての大域的レディネス状態が完了状態に達し
ていなかつ場合には別の適当なトランザクション・ナン
バへ移行するステップとを含んでいる、請求項27記載
の方法。
(28) Performing a time-sharing operation of time-sharing the multiprocessor system among a plurality of tasks by identifying the plurality of tasks to be time-divided using a plurality of mutually different transaction numbers. and determining a global readiness state of said multiprocessor system for a given transaction number; and determining a global readiness state for a previous transaction number if the global readiness state has not reached a completed state and 28. The method of claim 27, including the step of transitioning to an appropriate transaction number.
(29)複数のトランザクションの各々に関する局所的
に更新されるセマフォ状態を各々のプロセッサごとに保
持するステップと、所与の1つのトランザクションに関
するステータス問合せを同時に全てのプロセッサへブロ
ードカストして複数の互いに同時に送出される応答を得
るステップとを更に含んでいる、請求項28記載の方法
(29) maintaining a locally updated semaphore state for each of a plurality of transactions for each processor; and broadcasting a status query regarding a given transaction to all processors simultaneously to 29. The method of claim 28, further comprising obtaining simultaneously sent responses.
(30)前記複数の同時送出応答の前記プロセッサ間に
おける相互通信を行ないつつ、それらの複数の同時送出
応答に対し2進数に基づいた対比較を複数回行なうこと
によって、一定の回数のタイム・フレームから成る一定
の時間内に優先権の判定が行なわれるようにした、請求
項29記載の方法。
(30) performing mutual communication among the processors of the plurality of simultaneous transmission responses, and performing pairwise comparison based on binary numbers multiple times for the plurality of simultaneous transmission responses; 30. The method of claim 29, wherein the determination of priority is performed within a fixed time period consisting of:
(31)トランザクションのレディネス状態のディレク
トリを各々のプロセッサごとに設けるステップと、トラ
ンザンションのレディネス状態をアクセス可能なファイ
ルに入力することによって、所与の複数のトランザクシ
ョンに関するレディネス状態を表示するようにするステ
ップと、それらの局所的レディネス状態を変化させるこ
となく同時に大域的に問い合わせるステップとを更に含
んでいる、請求項30記載の方法。
(31) displaying the readiness status for a given number of transactions by providing a directory of transaction readiness status for each processor and inputting the transaction readiness status into an accessible file; 31. The method of claim 30, further comprising the steps of simultaneously globally interrogating the following steps: and simultaneously global readiness states without changing their local readiness states.
JP1234494A 1981-04-01 1989-09-07 Multiprocessor system and method of using the same Expired - Lifetime JP2607696B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US250094 1981-04-01
US250022 1981-04-01
US06/250,094 US4445171A (en) 1981-04-01 1981-04-01 Data processing systems and methods
US06/250,022 US4412285A (en) 1981-04-01 1981-04-01 Multiprocessor intercommunication system and method

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
JPH02118760A true JPH02118760A (en) 1990-05-07
JP2607696B2 JP2607696B2 (en) 1997-05-07

Family

ID=26940538

Family Applications (13)

Application Number Title Priority Date Filing Date
JP1234497A Expired - Fee Related JPH0750462B2 (en) 1981-04-01 1989-09-07 Multiprocessor system
JP1234491A Expired - Lifetime JP2555450B2 (en) 1981-04-01 1989-09-07 Multiprocessor system
JP1234499A Granted JPH02118709A (en) 1981-04-01 1989-09-07 Data transmission system and clocking system
JP1234500A Expired - Lifetime JPH0750463B2 (en) 1981-04-01 1989-09-07 Method of sending and receiving message in multiprocessor system
JP1234494A Expired - Lifetime JP2607696B2 (en) 1981-04-01 1989-09-07 Multiprocessor system and method of using the same
JP1234501A Expired - Lifetime JP2555451B2 (en) 1981-04-01 1989-09-07 Method for managing message packet in multiprocessor system
JP1234496A Expired - Lifetime JP2560118B2 (en) 1981-04-01 1989-09-07 Computing system
JP1234492A Granted JPH02132560A (en) 1981-04-01 1989-09-07 Relational database machine, data base computer system and data base management system and method
JP1234493A Granted JPH02118747A (en) 1981-04-01 1989-09-07 Message transmission network, bus network and broadcasting of message to multiple processor
JP1234498A Expired - Lifetime JPH0619762B2 (en) 1981-04-01 1989-09-07 Node circuit for network system
JP1234495A Expired - Fee Related JPH0792791B2 (en) 1981-04-01 1989-09-07 Message communication control system in multiprocessor system
JP3263082A Expired - Lifetime JP2628811B2 (en) 1981-04-01 1991-09-12 Task processing and message transmission / reception control method in a multiprocessor system
JP3263081A Expired - Lifetime JP2651473B2 (en) 1981-04-01 1991-09-12 Message communication control method in multiprocessor system

Family Applications Before (4)

Application Number Title Priority Date Filing Date
JP1234497A Expired - Fee Related JPH0750462B2 (en) 1981-04-01 1989-09-07 Multiprocessor system
JP1234491A Expired - Lifetime JP2555450B2 (en) 1981-04-01 1989-09-07 Multiprocessor system
JP1234499A Granted JPH02118709A (en) 1981-04-01 1989-09-07 Data transmission system and clocking system
JP1234500A Expired - Lifetime JPH0750463B2 (en) 1981-04-01 1989-09-07 Method of sending and receiving message in multiprocessor system

Family Applications After (8)

Application Number Title Priority Date Filing Date
JP1234501A Expired - Lifetime JP2555451B2 (en) 1981-04-01 1989-09-07 Method for managing message packet in multiprocessor system
JP1234496A Expired - Lifetime JP2560118B2 (en) 1981-04-01 1989-09-07 Computing system
JP1234492A Granted JPH02132560A (en) 1981-04-01 1989-09-07 Relational database machine, data base computer system and data base management system and method
JP1234493A Granted JPH02118747A (en) 1981-04-01 1989-09-07 Message transmission network, bus network and broadcasting of message to multiple processor
JP1234498A Expired - Lifetime JPH0619762B2 (en) 1981-04-01 1989-09-07 Node circuit for network system
JP1234495A Expired - Fee Related JPH0792791B2 (en) 1981-04-01 1989-09-07 Message communication control system in multiprocessor system
JP3263082A Expired - Lifetime JP2628811B2 (en) 1981-04-01 1991-09-12 Task processing and message transmission / reception control method in a multiprocessor system
JP3263081A Expired - Lifetime JP2651473B2 (en) 1981-04-01 1991-09-12 Message communication control method in multiprocessor system

Country Status (1)

Country Link
JP (13) JPH0750462B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113487151A (en) * 2021-06-23 2021-10-08 广东润建电力科技有限公司 Intelligent power utilization and demand side response method, system and device based on 5G message

Families Citing this family (8)

* Cited by examiner, † Cited by third party
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 (en) * 1991-11-07 1993-06-01 大建工業株式会社 Exterior material mounting member
JP2638441B2 (en) * 1993-09-09 1997-08-06 日本電気株式会社 Relay file transfer method
JP2843768B2 (en) * 1994-08-22 1999-01-06 日本電気株式会社 Database access control method
DE102004013629B4 (en) * 2004-03-19 2023-06-01 Volkswagen Ag Communication system for a motor vehicle
JP5093986B2 (en) * 2005-01-19 2012-12-12 富士通株式会社 Interprocessor communication method and interprocessor communication apparatus
JP5738811B2 (en) * 2012-08-29 2015-06-24 京セラドキュメントソリューションズ株式会社 Inter-object communication device in multi-processing system
JP5738812B2 (en) * 2012-08-29 2015-06-24 京セラドキュメントソリューションズ株式会社 Inter-object communication device in multi-processing system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57201931A (en) * 1981-04-01 1982-12-10 Teradata Corp Data processing apparatus and method
JPH0226254A (en) * 1988-07-15 1990-01-29 Mitsubishi Electric Corp Motor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS615177B2 (en) * 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 (en) * 1979-07-03 1983-02-22 日本電信電話株式会社 Broadcast communication method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57201931A (en) * 1981-04-01 1982-12-10 Teradata Corp Data processing apparatus and method
JPH0226254A (en) * 1988-07-15 1990-01-29 Mitsubishi Electric Corp Motor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113487151A (en) * 2021-06-23 2021-10-08 广东润建电力科技有限公司 Intelligent power utilization and demand side response method, system and device based on 5G message

Also Published As

Publication number Publication date
JP2560118B2 (en) 1996-12-04
JPH0245221B2 (en) 1990-10-08
JPH02138656A (en) 1990-05-28
JPH02140035A (en) 1990-05-29
JP2555450B2 (en) 1996-11-20
JPH02132560A (en) 1990-05-22
JPH02118709A (en) 1990-05-07
JPH0750462B2 (en) 1995-05-31
JPH0619762B2 (en) 1994-03-16
JP2628811B2 (en) 1997-07-09
JP2607696B2 (en) 1997-05-07
JPH0426726B2 (en) 1992-05-08
JPH05324573A (en) 1993-12-07
JP2555451B2 (en) 1996-11-20
JPH02118756A (en) 1990-05-07
JPH02118761A (en) 1990-05-07
JPH02118763A (en) 1990-05-07
JPH02118762A (en) 1990-05-07
JPH0792791B2 (en) 1995-10-09
JPH02118747A (en) 1990-05-07
JPH0413739B2 (en) 1992-03-10
JPH0750463B2 (en) 1995-05-31
JP2651473B2 (en) 1997-09-10
JPH02118759A (en) 1990-05-07
JPH05290002A (en) 1993-11-05

Similar Documents

Publication Publication Date Title
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
EP0233993B1 (en) Message transmission network
US5276899A (en) Multi processor sorting network for sorting while transmitting concurrently presented messages by message content to deliver a highest priority message
US4945471A (en) Message transmission system for selectively transmitting one of two colliding messages based on contents thereof
Agrawal et al. An efficient and fault-tolerant solution for distributed mutual exclusion
US6735717B1 (en) Distributed computing system clustering model providing soft real-time responsiveness and continuous availability
JPH04227155A (en) Method and apparatus for network information transfer
JPH02118760A (en) Multi-processor system and utilization thereof
Reynolds et al. Isotach networks
Jensen A distributed function computer for real-time control
CA1198523A (en) Multi-processor intercommunication system and method
Liu et al. Decoupling control and data transmission in RDMA enabled cloud data centers
Shin Harts: A distributed real-time architecture
Galatianos On the performance evaluation of concurrency control algorithms in distributed database systems
Wu Distributed System Design: An Overview
Chen et al. A fault-tolerant distributed subcube management scheme for hypercube multicomputer systems
Sharma Robust Replication Control Using Primary Copy Method