JPH0550021B2 - - Google Patents
Info
- Publication number
- JPH0550021B2 JPH0550021B2 JP62323014A JP32301487A JPH0550021B2 JP H0550021 B2 JPH0550021 B2 JP H0550021B2 JP 62323014 A JP62323014 A JP 62323014A JP 32301487 A JP32301487 A JP 32301487A JP H0550021 B2 JPH0550021 B2 JP H0550021B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- packet
- messages
- queue
- retrieved
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000004044 response Effects 0.000 claims description 89
- 238000004891 communication Methods 0.000 claims description 81
- 239000000872 buffer Substances 0.000 claims description 70
- 238000012545 processing Methods 0.000 claims description 33
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000001934 delay Effects 0.000 claims description 3
- 230000011664 signaling Effects 0.000 claims description 3
- 230000000717 retained effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 105
- 230000008569 process Effects 0.000 description 96
- 238000013479 data entry Methods 0.000 description 63
- 230000015654 memory Effects 0.000 description 26
- 230000001360 synchronised effect Effects 0.000 description 17
- 238000012546 transfer Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 11
- 230000009977 dual effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 101000866766 Homo sapiens Polycomb protein EED Proteins 0.000 description 1
- 102100031338 Polycomb protein EED Human genes 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000007853 buffer solution Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/374—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9078—Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Description
ユー142
を含み、
前記インターフエースユニツト出力処理手段の
レギユラーメツセージの再伝送手段は、 クイツクメツセージレジスタバツフア手段92
3によるメツセージの記憶に応答して、いずれの
応答タイプがそれにより保有されているかを判定
するために、記憶されているメツセージをクイツ
クメツセージレジスタバツフア手段から取り出し
(621−623)、 応答が肯定応答であると判定された場合、クイ
ツクメツセージレジスタバツフア手段から取り出
されたメツセージにより応答されたメツセージを
示す情報を出力キユー144から抹消し、また応
答が否定応答であると判定された場合、クイツク
メツセージレジスタバツフア手段から取り出され
たメツセージにより応答されたメツセージを示す
情報を記憶する応答キユー142により記憶され
た情報によつて示されるメツセージの伝送を遅延
させる(624、625) ことを特徴とする特許請求の範囲第6項に記載の
ステーシヨン。
レギユラーメツセージの再伝送手段は、 クイツクメツセージレジスタバツフア手段92
3によるメツセージの記憶に応答して、いずれの
応答タイプがそれにより保有されているかを判定
するために、記憶されているメツセージをクイツ
クメツセージレジスタバツフア手段から取り出し
(621−623)、 応答が肯定応答であると判定された場合、クイ
ツクメツセージレジスタバツフア手段から取り出
されたメツセージにより応答されたメツセージを
示す情報を出力キユー144から抹消し、また応
答が否定応答であると判定された場合、クイツク
メツセージレジスタバツフア手段から取り出され
たメツセージにより応答されたメツセージを示す
情報を記憶する応答キユー142により記憶され
た情報によつて示されるメツセージの伝送を遅延
させる(624、625) ことを特徴とする特許請求の範囲第6項に記載の
ステーシヨン。
9 通信媒体150に接続され、レギユラメツセ
ージ(データパケツト)と肯定応答メツセージ
(クイツクメツセージ)の両方を送受信する複数
のステーシヨン101間の通信方法において、 (a) 第1ステーシヨンに付属の第1優先順位とそ
れより高位の第2優先順位とのうちの第1優先
順位に従つて、第1プロセツサから通信媒体へ
のアクセスを探索するステツプ(1301−1305、
第9図ないし第10図)と、 (b) 通信媒体へのアクセスが成立した後に、レギ
ユラメツセージを第1ステーシヨンから通信媒
体を介して第2ステーシヨンへ伝送するステツ
プ(1306−1308第10図)と、 (c) レギユラメツセージを受取る第1記憶手段9
23と肯定応答メツセージを分離して受取る第
2記憶手段918とを有する第2ステーシヨン
において、伝送されたレギユラメツセージを前
記第1記憶手段923内に受取るステツプ(第
17図、第19図)と、 (d) レギユラメツセージの受取りに応答して、第
2ステーシヨンに付属した第1優先順位と第2
優先順位との内の第2優先順位に従つて、第2
ステーシヨンから通信媒体へのアクセスを探索
するステツプ(1301−1305、1314、第21図)
と、 (e) 通算媒体へのアクセスが成立した後、肯定応
答メツセージを第2ステーシヨンから通信媒体
を介して第2のステーシヨンへ伝送するステツ
プ(1306−1308、第18図、第21図)と、 (f) レギユラメツセージを受取る第1記憶手段9
23と肯定応答メツセージを分離して受取る第
2記憶手段918とを有する第1ステーシヨン
において、伝送された肯定応答メツセージを第
2記憶手段918内に受取るステツプ(第8−
11図、第17図)と からなることを特徴とする複数のステーシヨン間
の通信方法。
ージ(データパケツト)と肯定応答メツセージ
(クイツクメツセージ)の両方を送受信する複数
のステーシヨン101間の通信方法において、 (a) 第1ステーシヨンに付属の第1優先順位とそ
れより高位の第2優先順位とのうちの第1優先
順位に従つて、第1プロセツサから通信媒体へ
のアクセスを探索するステツプ(1301−1305、
第9図ないし第10図)と、 (b) 通信媒体へのアクセスが成立した後に、レギ
ユラメツセージを第1ステーシヨンから通信媒
体を介して第2ステーシヨンへ伝送するステツ
プ(1306−1308第10図)と、 (c) レギユラメツセージを受取る第1記憶手段9
23と肯定応答メツセージを分離して受取る第
2記憶手段918とを有する第2ステーシヨン
において、伝送されたレギユラメツセージを前
記第1記憶手段923内に受取るステツプ(第
17図、第19図)と、 (d) レギユラメツセージの受取りに応答して、第
2ステーシヨンに付属した第1優先順位と第2
優先順位との内の第2優先順位に従つて、第2
ステーシヨンから通信媒体へのアクセスを探索
するステツプ(1301−1305、1314、第21図)
と、 (e) 通算媒体へのアクセスが成立した後、肯定応
答メツセージを第2ステーシヨンから通信媒体
を介して第2のステーシヨンへ伝送するステツ
プ(1306−1308、第18図、第21図)と、 (f) レギユラメツセージを受取る第1記憶手段9
23と肯定応答メツセージを分離して受取る第
2記憶手段918とを有する第1ステーシヨン
において、伝送された肯定応答メツセージを第
2記憶手段918内に受取るステツプ(第8−
11図、第17図)と からなることを特徴とする複数のステーシヨン間
の通信方法。
10 前記ステツプ(e)は:
(g) 第2ステーシヨンの第1記憶手段により受取
られたメツセージは第1タイプの条件により影
響されるか否かを判定するステツプ(1514)
と、 (h) 受取られたメツセージが影響されるというス
テツプ(g)の判定に応答して、第2ステーシヨン
においてこの影響されるメツセージを抹消する
ステツプ(1530)と、 (i) 通信媒体へのアクセスが成立した後、受取ら
れたメツセージが第1タイプの条件により影響
されないというステツプ(g)の判定に応答して、
受取られたレギユラメツセージの肯定応答メツ
セージを第2ステーシヨンから第1ステーシヨ
ンへ伝送するステツプ(1545、1547、第21
図)と、 (j) 通信媒体へのアスセスが成立した後、受取ら
れたメツセージが第1タイプの条件により影響
されると判定されると、受取られたレギユラメ
ツセージの否定応答メツセージを第2ステーシ
ヨンから第1ステーシヨンに伝送するステツプ
(1532、第21図)と を含み 前記ステツプ(f)は、 (k) 否定応答メツセージを保有するレギユラメツ
セージの受取りに応答して、否定応答メツセー
ジを第2ステーシヨンに再伝送するために、第
1ステーシヨンにおいて、ステツプ(a)および(b)
を反復するステツプ(第8図−第11図)を含
む ことを特徴とする特許請求の範囲第9項に記載の
方法。
られたメツセージは第1タイプの条件により影
響されるか否かを判定するステツプ(1514)
と、 (h) 受取られたメツセージが影響されるというス
テツプ(g)の判定に応答して、第2ステーシヨン
においてこの影響されるメツセージを抹消する
ステツプ(1530)と、 (i) 通信媒体へのアクセスが成立した後、受取ら
れたメツセージが第1タイプの条件により影響
されないというステツプ(g)の判定に応答して、
受取られたレギユラメツセージの肯定応答メツ
セージを第2ステーシヨンから第1ステーシヨ
ンへ伝送するステツプ(1545、1547、第21
図)と、 (j) 通信媒体へのアスセスが成立した後、受取ら
れたメツセージが第1タイプの条件により影響
されると判定されると、受取られたレギユラメ
ツセージの否定応答メツセージを第2ステーシ
ヨンから第1ステーシヨンに伝送するステツプ
(1532、第21図)と を含み 前記ステツプ(f)は、 (k) 否定応答メツセージを保有するレギユラメツ
セージの受取りに応答して、否定応答メツセー
ジを第2ステーシヨンに再伝送するために、第
1ステーシヨンにおいて、ステツプ(a)および(b)
を反復するステツプ(第8図−第11図)を含
む ことを特徴とする特許請求の範囲第9項に記載の
方法。
11 ステツプ(a)は、
第1ステーシヨンの第1記憶手段921におい
て複数の出力キユーのうちの1つの出力キユー1
44のエントリからのレギユラメツセージのパケ
ツトを形成するステツプ(第9図−第10図)
と、 ここでエントリを記憶する各出力キユーは各々
付属の論理経路を介して伝送するレギユラメツセ
ージのパケツトを定義し、またパケツトはキユー
に付属の論理経路を識別するものであり、 第1記憶手段におけるパケツトの形成に応答し
て、第1ステーシヨンに付属の第1優先順位と高
位の第2優先順位の内の第1優先順位に従つて第
1ステーシヨンにおいて通信媒体へのアクセスを
探索するステツプ(1301−1305、1314)と、を含
み 前記ステツプ(b)は、 通信媒体へのアクセスが成立後、形成されたパ
ケツトを第1ステーシヨンから通信媒体を介して
第2ステーシヨンへ伝送するステツプ(1306−
1308)を含み; 前記ステツプ(c)は、 レギユラメツセージのパケツトを受取る第2記
憶手段と肯定応答メツセージのパケツトを分離し
て受取る第3記憶手段とを有する第2ステーシヨ
ンにおいて、伝送されたレギユラメツセージのパ
ケツトを第2記憶手段で受信するステツプ(第1
7図)と、 受取られたパケツトにより識別された論理経路
に付属の入力キユー143内に第2記憶手段内に
受取られたレギユラメツセージのパケツトを示す
エントリを形成するステツプ(第19図)と、 ここで入力キユーは、各々他のステーシヨンの
出力キユーから第2ステーシヨンに伸長する異な
る通信経路に付属する複数の入力キユーからな
り、各入力キユーは付属の論理経路を介して受取
られたレギユラメツセージのパケツトを示す各エ
ントリを記憶するためのものである、 を含み、 前記ステツプ(d)は、 第2記憶手段内に受取られたレギユラメツセー
ジのパケツトを肯定応答するメツセージのパケツ
トを第2ステーシヨンの第1記憶手段内に形成す
るステツプ(第21図)と、 第1記憶手段内におけるパケツトの形成に応答
して、第2ステーシヨンに付属の低位の第1優先
順位および第2優先順位の内の第2優先順位に従
つて、第2ステーシヨンにおいて通信媒体へのア
クセスを探索するステツプ(1301−1305、1314)
とを含み、 前記ステツプ(e)は、 媒体へのアクセスが成立した後、形成されたパ
ケツトを第1記憶手段から通信媒体を介して第1
ステーシヨンに伝送するステツプ(1306−1308)
を含み、 前記ステツプ(f)は、 レギユラメツセージのパケツトを分離して受取
る第2記憶手段と肯定応答メツセージのパケツト
を受取る第3記憶手段とを有する第1ステーシヨ
ンにおいて、伝送された肯定応答メツセージのパ
ケツトを第3記憶手段918内で受取るステツプ
(たとえば第17図)と、 肯定応答メツセージのパケツトの受取りに応答
して、レギユラメツセージの肯定応答パケツトを
示すエントリを出力キユーから抹消するステツプ
(第10図−第11図)、を含む ことを特徴とする特許請求の範囲第9項に記載の
方法。
て複数の出力キユーのうちの1つの出力キユー1
44のエントリからのレギユラメツセージのパケ
ツトを形成するステツプ(第9図−第10図)
と、 ここでエントリを記憶する各出力キユーは各々
付属の論理経路を介して伝送するレギユラメツセ
ージのパケツトを定義し、またパケツトはキユー
に付属の論理経路を識別するものであり、 第1記憶手段におけるパケツトの形成に応答し
て、第1ステーシヨンに付属の第1優先順位と高
位の第2優先順位の内の第1優先順位に従つて第
1ステーシヨンにおいて通信媒体へのアクセスを
探索するステツプ(1301−1305、1314)と、を含
み 前記ステツプ(b)は、 通信媒体へのアクセスが成立後、形成されたパ
ケツトを第1ステーシヨンから通信媒体を介して
第2ステーシヨンへ伝送するステツプ(1306−
1308)を含み; 前記ステツプ(c)は、 レギユラメツセージのパケツトを受取る第2記
憶手段と肯定応答メツセージのパケツトを分離し
て受取る第3記憶手段とを有する第2ステーシヨ
ンにおいて、伝送されたレギユラメツセージのパ
ケツトを第2記憶手段で受信するステツプ(第1
7図)と、 受取られたパケツトにより識別された論理経路
に付属の入力キユー143内に第2記憶手段内に
受取られたレギユラメツセージのパケツトを示す
エントリを形成するステツプ(第19図)と、 ここで入力キユーは、各々他のステーシヨンの
出力キユーから第2ステーシヨンに伸長する異な
る通信経路に付属する複数の入力キユーからな
り、各入力キユーは付属の論理経路を介して受取
られたレギユラメツセージのパケツトを示す各エ
ントリを記憶するためのものである、 を含み、 前記ステツプ(d)は、 第2記憶手段内に受取られたレギユラメツセー
ジのパケツトを肯定応答するメツセージのパケツ
トを第2ステーシヨンの第1記憶手段内に形成す
るステツプ(第21図)と、 第1記憶手段内におけるパケツトの形成に応答
して、第2ステーシヨンに付属の低位の第1優先
順位および第2優先順位の内の第2優先順位に従
つて、第2ステーシヨンにおいて通信媒体へのア
クセスを探索するステツプ(1301−1305、1314)
とを含み、 前記ステツプ(e)は、 媒体へのアクセスが成立した後、形成されたパ
ケツトを第1記憶手段から通信媒体を介して第1
ステーシヨンに伝送するステツプ(1306−1308)
を含み、 前記ステツプ(f)は、 レギユラメツセージのパケツトを分離して受取
る第2記憶手段と肯定応答メツセージのパケツト
を受取る第3記憶手段とを有する第1ステーシヨ
ンにおいて、伝送された肯定応答メツセージのパ
ケツトを第3記憶手段918内で受取るステツプ
(たとえば第17図)と、 肯定応答メツセージのパケツトの受取りに応答
して、レギユラメツセージの肯定応答パケツトを
示すエントリを出力キユーから抹消するステツプ
(第10図−第11図)、を含む ことを特徴とする特許請求の範囲第9項に記載の
方法。
(発明の背景)
[発明の属する技術分野]
本発明は一般的にはプロセツサ間の通信に関
し、特に、このような通信のプロトコル(通信規
約)に関する。
し、特に、このような通信のプロトコル(通信規
約)に関する。
多重プロセツサ計算機システムにおいては、シ
ステム業務遂行時に複数のプロセツサが相互に協
働する。この協働には情報の交換が含まれる。従
つて、プロセツサ・アクテイビテイのかなりの部
分はプロセツサ間の通信からなる。通信が実行さ
れるときの速度および効率はシステムの性能に直
接かつ大きな影響を及ぼす。従つて、あるプロセ
ツサから他のプロセツサへ通信を伝送してから返
答応答を受取るまでの待ち時間は、できるだけ短
くしなければならない。
ステム業務遂行時に複数のプロセツサが相互に協
働する。この協働には情報の交換が含まれる。従
つて、プロセツサ・アクテイビテイのかなりの部
分はプロセツサ間の通信からなる。通信が実行さ
れるときの速度および効率はシステムの性能に直
接かつ大きな影響を及ぼす。従つて、あるプロセ
ツサから他のプロセツサへ通信を伝送してから返
答応答を受取るまでの待ち時間は、できるだけ短
くしなければならない。
[従来技術の説明]
代表的な既存のプロトコルは、待ち時間を最小
にするものでない。例えば、現在最もよく使用さ
れている大部分の通信プロトコルにおいては、通
信されるデータは複数のプロトコル層を介して伝
送される。データは、プロトコル層を上昇および
下降するときに何回も変換される。この各変換は
プロトコルのオーバーヘツドに加えられて待ち時
間を増大し、スループツトを低減させる。他の例
として、既存の大部分のプロトコルは、広範囲か
つ複雑なエラー回復方式と低速の通信応答手順と
を含み、これにより、通信内容が失われたり伝送
中に変形加工されたりする。エラー回復方式を実
行するコストを節減するために、代表的なプロト
コルはこれをソフトウエア上で実行する。この方
式の複雑さは、ソフトウエア実行の緩慢さと組合
わさつてプロトコルのオーバーヘツドに付加され
て待ち時間を増大し、スループツトが犠牲にされ
る。肯定応答手順の実行に要するコストを節約す
るために、代表的なプロトコルは複数の通信に応
答を出すことが可能なシングル応答方式を採用
し、また他の通信への応答も「負担している」。
この方式は、応答に遅れが出る為に、やはり待ち
時間の問題を悪化させている。従つて、この技術
の従来問題点は、待ち時間を最小にする最適化通
信プロトコルがないことである。
にするものでない。例えば、現在最もよく使用さ
れている大部分の通信プロトコルにおいては、通
信されるデータは複数のプロトコル層を介して伝
送される。データは、プロトコル層を上昇および
下降するときに何回も変換される。この各変換は
プロトコルのオーバーヘツドに加えられて待ち時
間を増大し、スループツトを低減させる。他の例
として、既存の大部分のプロトコルは、広範囲か
つ複雑なエラー回復方式と低速の通信応答手順と
を含み、これにより、通信内容が失われたり伝送
中に変形加工されたりする。エラー回復方式を実
行するコストを節減するために、代表的なプロト
コルはこれをソフトウエア上で実行する。この方
式の複雑さは、ソフトウエア実行の緩慢さと組合
わさつてプロトコルのオーバーヘツドに付加され
て待ち時間を増大し、スループツトが犠牲にされ
る。肯定応答手順の実行に要するコストを節約す
るために、代表的なプロトコルは複数の通信に応
答を出すことが可能なシングル応答方式を採用
し、また他の通信への応答も「負担している」。
この方式は、応答に遅れが出る為に、やはり待ち
時間の問題を悪化させている。従つて、この技術
の従来問題点は、待ち時間を最小にする最適化通
信プロトコルがないことである。
(発明の概要)
本発明によれば、通信媒体とこの通信媒体に通
信結合された複数のステーシヨン(プロセツサ)
とからなる通信システムにおいて、各ステーシヨ
ン(プロセツサ)には、通信媒体へのアクセスを
探索する為に二つの優先順位、即ち、レギユラ・
タイプのメツセージを伝送する為の低位の優先順
位と、肯定応答タイプの「クイツク」メツセージ
を伝送する為の高位の優先順位とが割当てられて
いる。この構成においては、肯定応答は最優先の
優先順位を有し、従つて、時間遅れは最小とな
り、待ち時間は最小となる。実施例によると、
「クイツク」メツセージが、またはその他の信号
メツセージかについてのレギユラ・メツセージの
応答は、各レギユラー・パケツトの伝送中または
伝送後に、受取側ステーシヨンから送出側ステー
シヨンへ返されてくる。従つて、応答は「負担す
べき」他の通信を待つ必要もなく、複数の応答を
単一の通信に保存し「バツチ処理した」ものでも
ない。応答は、迅速に返されてくるので、これに
より待ち時間を最小にできる。さらに本発明によ
れば、受取側ステーシヨンにおいて、肯定応答を
有する「クイツク」メツセージは、レギユラ・メ
ツセージとは分離して、バツフア(受取られて作
業領域に記憶)される。従つて、「クイツク」メ
ツセージは、受取側ステーシヨンにおいて、到着
した他のレギユラ・メツセージとは独立にアクセ
スされて処理される。このとき、「クイツク」メ
ツセージがアクセスされる前に、「クイツク」メ
ツセージより前にバツフアされたすべてのレギユ
ラ・メツセージを(たとえば代表的な先入れ先出
しバツフア装置におけるように)処理する必要が
ないので有利である。このように、肯定応答に対
しては他の通信に優先する優先順位が与えられ、
迅速な処理が可能なので、これにより待ち時間は
最小になる。
信結合された複数のステーシヨン(プロセツサ)
とからなる通信システムにおいて、各ステーシヨ
ン(プロセツサ)には、通信媒体へのアクセスを
探索する為に二つの優先順位、即ち、レギユラ・
タイプのメツセージを伝送する為の低位の優先順
位と、肯定応答タイプの「クイツク」メツセージ
を伝送する為の高位の優先順位とが割当てられて
いる。この構成においては、肯定応答は最優先の
優先順位を有し、従つて、時間遅れは最小とな
り、待ち時間は最小となる。実施例によると、
「クイツク」メツセージが、またはその他の信号
メツセージかについてのレギユラ・メツセージの
応答は、各レギユラー・パケツトの伝送中または
伝送後に、受取側ステーシヨンから送出側ステー
シヨンへ返されてくる。従つて、応答は「負担す
べき」他の通信を待つ必要もなく、複数の応答を
単一の通信に保存し「バツチ処理した」ものでも
ない。応答は、迅速に返されてくるので、これに
より待ち時間を最小にできる。さらに本発明によ
れば、受取側ステーシヨンにおいて、肯定応答を
有する「クイツク」メツセージは、レギユラ・メ
ツセージとは分離して、バツフア(受取られて作
業領域に記憶)される。従つて、「クイツク」メ
ツセージは、受取側ステーシヨンにおいて、到着
した他のレギユラ・メツセージとは独立にアクセ
スされて処理される。このとき、「クイツク」メ
ツセージがアクセスされる前に、「クイツク」メ
ツセージより前にバツフアされたすべてのレギユ
ラ・メツセージを(たとえば代表的な先入れ先出
しバツフア装置におけるように)処理する必要が
ないので有利である。このように、肯定応答に対
しては他の通信に優先する優先順位が与えられ、
迅速な処理が可能なので、これにより待ち時間は
最小になる。
肯定応答は、転送データの正確さの逐次確認を
行う。実施例によれば、肯定応答は、2つの別個
の機構により行われ、両方とも迅速に肯定応答を
与えるように最適化される。メツセージが受取ら
れている間に、エラー条件がないか、または受取
りバツフアがオーバーフローしていないかがモニ
タされる。いずれかが発生すると、制御信号が発
信される前に、送出側ステーシヨンに直ちに否定
応答(RNACK)信号が送り返される。従つて、
受取側ステーシヨンは、否定応答信号を発信する
前には、通信媒体へのアクセス権が競合すること
はない。メツセージの受取り中に否定応答信号が
送られないならば、受信メツセージの処理中に前
記の「クイツク」メツセージ機構により、肯定応
答または否定応答が与えられる。「クイツク」メ
ツセージ機構は、前述のように待ち時間を最小に
し、メツセージが受取られてからそれが処理され
るまでの間は、通信媒体を他の通信伝送に自由に
開放することにより、他の「クイツク」メツセー
ジ含めて、「他の」通信の待ち時間も最小にする。
行う。実施例によれば、肯定応答は、2つの別個
の機構により行われ、両方とも迅速に肯定応答を
与えるように最適化される。メツセージが受取ら
れている間に、エラー条件がないか、または受取
りバツフアがオーバーフローしていないかがモニ
タされる。いずれかが発生すると、制御信号が発
信される前に、送出側ステーシヨンに直ちに否定
応答(RNACK)信号が送り返される。従つて、
受取側ステーシヨンは、否定応答信号を発信する
前には、通信媒体へのアクセス権が競合すること
はない。メツセージの受取り中に否定応答信号が
送られないならば、受信メツセージの処理中に前
記の「クイツク」メツセージ機構により、肯定応
答または否定応答が与えられる。「クイツク」メ
ツセージ機構は、前述のように待ち時間を最小に
し、メツセージが受取られてからそれが処理され
るまでの間は、通信媒体を他の通信伝送に自由に
開放することにより、他の「クイツク」メツセー
ジ含めて、「他の」通信の待ち時間も最小にする。
さらに本発明によれば、レギユラ・メツセージ
用に、入力キユー(待ち行列)と出力キユーとを
設ける。このキユーは、送出メツセージおよび受
取りメツセージの順序を維持する単純な機構の役
をなす。論理チヤンネル毎に、ユーザ・キユーが
設けられる。チヤネル付き入力キユーは、受取ら
れたれたパケツトに含まれるデータを、ステーシ
ヨンの主メモリに配置された最終行先への移動を
可能とし、受信データを、その空き時間に要求す
る他の通信エンテイテイと干渉したり、その作業
を待ち必要がない。チヤンネル付き出力キユーに
より、各通信エンテイテイが出力キユーへの出力
要求を非同期式に出すことができ、他の通信エン
テイテイや通信制御機構を妨害することもない。
用に、入力キユー(待ち行列)と出力キユーとを
設ける。このキユーは、送出メツセージおよび受
取りメツセージの順序を維持する単純な機構の役
をなす。論理チヤンネル毎に、ユーザ・キユーが
設けられる。チヤネル付き入力キユーは、受取ら
れたれたパケツトに含まれるデータを、ステーシ
ヨンの主メモリに配置された最終行先への移動を
可能とし、受信データを、その空き時間に要求す
る他の通信エンテイテイと干渉したり、その作業
を待ち必要がない。チヤンネル付き出力キユーに
より、各通信エンテイテイが出力キユーへの出力
要求を非同期式に出すことができ、他の通信エン
テイテイや通信制御機構を妨害することもない。
入出力キユーのエントリは、パケツトを保有せ
ず、パケツトの代表値のみを保有する。特にパケ
ツトにより伝送されるユーザ・データは、他の場
所(実施例ではステーシヨンの主メモリ内)に記
憶され、エントリは、データに対するポインタを
記憶するにすぎない。伝送用のパケツトは送出側
バツフア内にまとめられ、パケツトはここから直
接通信媒体上へ伝送され、受取側バツフアにより
受取られたパケツトは、受取側バツフアから読取
られた後は直ちに廃棄される。従つて、プロトコ
ル層間のデータの転換および複写が省かれる。ま
たこれにより待ち時間が短縮する。
ず、パケツトの代表値のみを保有する。特にパケ
ツトにより伝送されるユーザ・データは、他の場
所(実施例ではステーシヨンの主メモリ内)に記
憶され、エントリは、データに対するポインタを
記憶するにすぎない。伝送用のパケツトは送出側
バツフア内にまとめられ、パケツトはここから直
接通信媒体上へ伝送され、受取側バツフアにより
受取られたパケツトは、受取側バツフアから読取
られた後は直ちに廃棄される。従つて、プロトコ
ル層間のデータの転換および複写が省かれる。ま
たこれにより待ち時間が短縮する。
複雑なエラー回復方式も省略できる。例えば、
パリテイ・エラー、受取側バツフアのオーバーフ
ロー、および入力キユー・フル条件等の好ましく
ない条件により影響されることが判明した受取り
メツセージは、受取側ステーシヨンで単に放棄さ
れ、否定応答「クイツク」メツセージ(RNACK
信号)により送出側ステーシヨンから再伝送する
ように指示される。この単純な方式により、他の
エラー回復方式による複雑さと面倒さは回避で
き、従つて、この方式は通信の待ち時間の短縮に
も有効である。この方式は、待ち時間の点からも
故障回数を少なくし、再伝送オーバーヘツドを小
さくすることが出来る。
パリテイ・エラー、受取側バツフアのオーバーフ
ロー、および入力キユー・フル条件等の好ましく
ない条件により影響されることが判明した受取り
メツセージは、受取側ステーシヨンで単に放棄さ
れ、否定応答「クイツク」メツセージ(RNACK
信号)により送出側ステーシヨンから再伝送する
ように指示される。この単純な方式により、他の
エラー回復方式による複雑さと面倒さは回避で
き、従つて、この方式は通信の待ち時間の短縮に
も有効である。この方式は、待ち時間の点からも
故障回数を少なくし、再伝送オーバーヘツドを小
さくすることが出来る。
本発明によれば、ステーシヨンは、それに付属
する2つの優先順位を従つて通信通信媒体へのア
クセス権を探索するアービタと、通信媒体上で他
のステーシヨンから受取つた2つのタイプのメツ
セージ(例、レギユラーメツセージ・パケツトと
「クイツク」メツセージ・パケツト)用の個別の
記憶装置(例、受取りFIFOレジスタと「クイツ
ク」メツセージ・レジスタ)とを含む。送出側ス
テーシヨンの制御装置は、アービタによるアクセ
ス探求の成功に応答して、通信媒体を介して他の
ステーシヨンに、いずれかのタイプのメツセージ
を伝送する。MSBIユニツトの出力処理部分は、
低位の優先順位に従つて、アービタに通信媒体ア
クセス権を探索され、制御装置に一つのタイプ
(例、レギユラ・タイプ)のメツセージを伝送さ
せる。MSBIユニツトの入力処理部分は、第2の
ステーシヨンから受取られたレギユラ・メツセー
ジ用記憶装置(受取りFIFOレジスタ)内に記憶
されたメツセージに応答して、高位の優先順位に
従つて、アービタに通信媒体アクセス権を探索さ
せ、制御装置に他のタイプ(例、「クイツク」タ
イプ)のメツセージを伝送させる。受取側ステー
シヨンの制御装置内のインターフエースユニツト
出力処理手段は、レギユラ・メツセージ用の記憶
装置(受取りFIFOレジスタ)が、第1の条件
(例、パリテイエラーまたは受取りFIFOレジスタ
のオーバーフロー)により影響されるか否かを判
定する。影響される場合、制御装置内のインター
フエースユニツト入力処理手段は、通信媒体上の
信号(例、RNACK)を送る。影響を受けたメツ
セージは結局放棄される。MSBIユニツトの入力
処理部分は、通信媒体上における信号の受取りに
応答して、このステーシヨンから伝送されたメツ
セージを、この信号が受取られたときに再伝送す
る。
する2つの優先順位を従つて通信通信媒体へのア
クセス権を探索するアービタと、通信媒体上で他
のステーシヨンから受取つた2つのタイプのメツ
セージ(例、レギユラーメツセージ・パケツトと
「クイツク」メツセージ・パケツト)用の個別の
記憶装置(例、受取りFIFOレジスタと「クイツ
ク」メツセージ・レジスタ)とを含む。送出側ス
テーシヨンの制御装置は、アービタによるアクセ
ス探求の成功に応答して、通信媒体を介して他の
ステーシヨンに、いずれかのタイプのメツセージ
を伝送する。MSBIユニツトの出力処理部分は、
低位の優先順位に従つて、アービタに通信媒体ア
クセス権を探索され、制御装置に一つのタイプ
(例、レギユラ・タイプ)のメツセージを伝送さ
せる。MSBIユニツトの入力処理部分は、第2の
ステーシヨンから受取られたレギユラ・メツセー
ジ用記憶装置(受取りFIFOレジスタ)内に記憶
されたメツセージに応答して、高位の優先順位に
従つて、アービタに通信媒体アクセス権を探索さ
せ、制御装置に他のタイプ(例、「クイツク」タ
イプ)のメツセージを伝送させる。受取側ステー
シヨンの制御装置内のインターフエースユニツト
出力処理手段は、レギユラ・メツセージ用の記憶
装置(受取りFIFOレジスタ)が、第1の条件
(例、パリテイエラーまたは受取りFIFOレジスタ
のオーバーフロー)により影響されるか否かを判
定する。影響される場合、制御装置内のインター
フエースユニツト入力処理手段は、通信媒体上の
信号(例、RNACK)を送る。影響を受けたメツ
セージは結局放棄される。MSBIユニツトの入力
処理部分は、通信媒体上における信号の受取りに
応答して、このステーシヨンから伝送されたメツ
セージを、この信号が受取られたときに再伝送す
る。
またステーシヨンは、受取られたレギユラ・メ
ツセージ用記憶装置(受取りFIFOレジスタ)か
ら抜出されたメツセージを表わす情報用の記憶装
置(例、入力キユー)を含む。MSBIユニツトの
入力処理部分は、受取られたレギユラ・メツセー
ジ用記憶装置から抜出されたメツセージが第2の
条件(例、パリテイエラー・記憶装置のオーバー
フロー、または入力キユー・フル)により影響さ
れるか否かを判定する。影響される場合、メツセ
ージは放棄され、また受取側ステーシヨン制御装
置が、メツセージの受取り中に何も信号を送らな
かつた場合、MSBIユニツトの入力処理部分に否
定応答の「クイツク」メツセージが送られてく
る。メツセージが第2の条件により影響されない
場合、MSBI入力処理部分はメツセージ表示情報
用の記憶装置(入力キユー)内のメツセージを表
示し、また第MSBIユニツトの入力処理部の肯定
応答の「クイツク」メツセージが送られてくる。
ツセージ用記憶装置(受取りFIFOレジスタ)か
ら抜出されたメツセージを表わす情報用の記憶装
置(例、入力キユー)を含む。MSBIユニツトの
入力処理部分は、受取られたレギユラ・メツセー
ジ用記憶装置から抜出されたメツセージが第2の
条件(例、パリテイエラー・記憶装置のオーバー
フロー、または入力キユー・フル)により影響さ
れるか否かを判定する。影響される場合、メツセ
ージは放棄され、また受取側ステーシヨン制御装
置が、メツセージの受取り中に何も信号を送らな
かつた場合、MSBIユニツトの入力処理部分に否
定応答の「クイツク」メツセージが送られてく
る。メツセージが第2の条件により影響されない
場合、MSBI入力処理部分はメツセージ表示情報
用の記憶装置(入力キユー)内のメツセージを表
示し、また第MSBIユニツトの入力処理部の肯定
応答の「クイツク」メツセージが送られてくる。
否定応答「クイツク」メツセージが受取られる
と、その結果応答されたメツセージが再伝送され
る。実施例によると、ステーシヨンは複数の出力
キユーを有し、各出力キユーは他のステーシヨン
の入力キユーに接続する異なる論理通信経路に接
続されている。各出力キユーは、付属の論理経路
を介して経路の他端にある入力キユーに伝送する
ための、レギユラ・パケツトを定義する各エント
リを記憶する。送出側ステーシヨン制御装置によ
り伝送されたレギユラ・メツセージは、これらの
エントリにより形成され、付属の論理経路を識別
する(実施例ではその経路のポートを識別するこ
とによる)。実施例において、受取られた「クイ
ツク」メツセージは、応答されたレギユラ・メツ
セージの特定の論理通信経路を識別する。否定応
答が受取られると、応答パケツトのエントリを含
む出力キユー(その特定の論理通信経路に対応す
る)のエントリからのパケツトの形成および伝送
は一時停止される。肯定応答が受取られると、応
答パケツトを示すエントリは、出力キユーから抹
消される。
と、その結果応答されたメツセージが再伝送され
る。実施例によると、ステーシヨンは複数の出力
キユーを有し、各出力キユーは他のステーシヨン
の入力キユーに接続する異なる論理通信経路に接
続されている。各出力キユーは、付属の論理経路
を介して経路の他端にある入力キユーに伝送する
ための、レギユラ・パケツトを定義する各エント
リを記憶する。送出側ステーシヨン制御装置によ
り伝送されたレギユラ・メツセージは、これらの
エントリにより形成され、付属の論理経路を識別
する(実施例ではその経路のポートを識別するこ
とによる)。実施例において、受取られた「クイ
ツク」メツセージは、応答されたレギユラ・メツ
セージの特定の論理通信経路を識別する。否定応
答が受取られると、応答パケツトのエントリを含
む出力キユー(その特定の論理通信経路に対応す
る)のエントリからのパケツトの形成および伝送
は一時停止される。肯定応答が受取られると、応
答パケツトを示すエントリは、出力キユーから抹
消される。
本発明の複数のステーシヨン間の通信方法は、
下記のステツプを有する。第1のステーシヨンは
それに付属の低位の第1の優先順位にしたがつて
通信媒体へのアクセス権を探索し、アクセスが成
立した後に第1のタイプレギユラのメツセージを
通信媒体を介して第2のステーシヨンへ伝送す
る。この第2のステーシヨンは伝送されたメツセ
ージを第1のタイプのメツセージ用記憶装置内に
受取り、そのメツセージに応答して、それに付属
の高位の第2の優先順位に従つて通信媒体へのア
クセス権を探索し、第2のタイプ肯定応答のメツ
セージを通信媒体を介して第1のステーシヨンへ
伝送する。この第1のステーシヨンは、そのメツ
セージを第2のタイプのメツセージ用の記憶装置
内に受取る。更に、第2のタイプのメツセージ
が、否定応答であるならば、これにより応答を受
けた第1のタイプのメツセージは第2のステーシ
ヨンで放棄され、従つて、第1のステーシヨンは
(実施例では第2のステーシヨンから受取られ他
のメツセージに続いて)第1のタイプのメツセー
ジを第2のステーシヨンに再伝送する為に、最初
の二つのステツプを反復する。
下記のステツプを有する。第1のステーシヨンは
それに付属の低位の第1の優先順位にしたがつて
通信媒体へのアクセス権を探索し、アクセスが成
立した後に第1のタイプレギユラのメツセージを
通信媒体を介して第2のステーシヨンへ伝送す
る。この第2のステーシヨンは伝送されたメツセ
ージを第1のタイプのメツセージ用記憶装置内に
受取り、そのメツセージに応答して、それに付属
の高位の第2の優先順位に従つて通信媒体へのア
クセス権を探索し、第2のタイプ肯定応答のメツ
セージを通信媒体を介して第1のステーシヨンへ
伝送する。この第1のステーシヨンは、そのメツ
セージを第2のタイプのメツセージ用の記憶装置
内に受取る。更に、第2のタイプのメツセージ
が、否定応答であるならば、これにより応答を受
けた第1のタイプのメツセージは第2のステーシ
ヨンで放棄され、従つて、第1のステーシヨンは
(実施例では第2のステーシヨンから受取られ他
のメツセージに続いて)第1のタイプのメツセー
ジを第2のステーシヨンに再伝送する為に、最初
の二つのステツプを反復する。
(実施例の説明)
[システム構成]
第1図は、本発明を実行する多重プロセツサシ
ステムを示す。この多重プロセツサは、複数のプ
ロセツサ101を含み、これらのプロセツサは、
この実施例では同一であるが必ずしも同一である
必要はない。プロセツサ101は、バス150を
介して相互通信が可能なように結合される。各プ
ロセツサ101は、それ自身のバス・インターフ
エース回路(BIC)110を介して、バス150
に接続される。第1図では、2台のプロセツサ1
01しか図示されていないが、例えば、10台を超
える多数のプロセツサ101がバス150に結合
され、バス150へのインターフエースとして、
バス・インターフエース回路(BIG)110を用
いてもよい。プロセツサ101は、たとえば
WE32100単一ボード・コンピユータ、
Motorola68000単一ボート・コンピユータ、AT
&T3B15コンピユータ、バス・インターフエー
ス回路(BIC)110のような回路を介してバス
150に接続可能なその他のいずれのコンピユー
タのように異なるコンピユータでもよく、またそ
れが何台でもよい。バス150はこの実施例にお
いては、例えば、IEEE Journal on Selected
Areas of Communication Vol.SAC−1、No.5
(Nov.1983)の雑誌内のS.R.AhujaによるuS/
NET:A High−Spead Interconnect for
Multiple Computers(多重コンピユータ用高速中
間結合器:S/NET)という文献に記載されて
いる高速パケツト・バスである。
ステムを示す。この多重プロセツサは、複数のプ
ロセツサ101を含み、これらのプロセツサは、
この実施例では同一であるが必ずしも同一である
必要はない。プロセツサ101は、バス150を
介して相互通信が可能なように結合される。各プ
ロセツサ101は、それ自身のバス・インターフ
エース回路(BIC)110を介して、バス150
に接続される。第1図では、2台のプロセツサ1
01しか図示されていないが、例えば、10台を超
える多数のプロセツサ101がバス150に結合
され、バス150へのインターフエースとして、
バス・インターフエース回路(BIG)110を用
いてもよい。プロセツサ101は、たとえば
WE32100単一ボード・コンピユータ、
Motorola68000単一ボート・コンピユータ、AT
&T3B15コンピユータ、バス・インターフエー
ス回路(BIC)110のような回路を介してバス
150に接続可能なその他のいずれのコンピユー
タのように異なるコンピユータでもよく、またそ
れが何台でもよい。バス150はこの実施例にお
いては、例えば、IEEE Journal on Selected
Areas of Communication Vol.SAC−1、No.5
(Nov.1983)の雑誌内のS.R.AhujaによるuS/
NET:A High−Spead Interconnect for
Multiple Computers(多重コンピユータ用高速中
間結合器:S/NET)という文献に記載されて
いる高速パケツト・バスである。
各プロセツサ101は、中央処理装置(CPU)
および主記憶メモリ(図示せず)を含む。この
CPUおよびメモリは、オペレーテイング・シス
テムおよびアプリケーシヨン・プロセス(以下一
般的にユーザ・プロセス140と呼ぶ)を実行・
記憶する。あるプロセツサ101のユーザ・プロ
セス140は、バス・インターフエース回路
(BIC)110のバツフア147を介して、他の
プロセツサ101のユーザプロセス140と通信
連絡をする。しかし、プロセス140は、バツフ
ア147と直接アクセスせず、プロセツサ101
のメモリ内に設けられたキユー(待ち行列)構造
145を介した間接アクセスを行う。
および主記憶メモリ(図示せず)を含む。この
CPUおよびメモリは、オペレーテイング・シス
テムおよびアプリケーシヨン・プロセス(以下一
般的にユーザ・プロセス140と呼ぶ)を実行・
記憶する。あるプロセツサ101のユーザ・プロ
セス140は、バス・インターフエース回路
(BIC)110のバツフア147を介して、他の
プロセツサ101のユーザプロセス140と通信
連絡をする。しかし、プロセス140は、バツフ
ア147と直接アクセスせず、プロセツサ101
のメモリ内に設けられたキユー(待ち行列)構造
145を介した間接アクセスを行う。
プロセス140は、キユー構造145を直接ア
クセスしてもよく、または共通のインターフエー
ス・フアシリテイ141を介して間接アクセスし
てもよい。実施例では、このフアシリテイ141
は、デバイス・ドライバとしてプロセツサ101
上に設けられる。一方、キユー構造145は、主
記憶装置−バス・インタフエース回路(BIC)イ
ンターフエス(MSBI)146を介して、バス・
インタフエース回路(BIC)110のバツフア1
47に結合される。MSBI146は、デバイス・
ドライバとしてプロセツサ101上に設けてもよ
く、またはプロセツサ101とは独立のハードウ
エア・ユニツトとして設けてもよい。
クセスしてもよく、または共通のインターフエー
ス・フアシリテイ141を介して間接アクセスし
てもよい。実施例では、このフアシリテイ141
は、デバイス・ドライバとしてプロセツサ101
上に設けられる。一方、キユー構造145は、主
記憶装置−バス・インタフエース回路(BIC)イ
ンターフエス(MSBI)146を介して、バス・
インタフエース回路(BIC)110のバツフア1
47に結合される。MSBI146は、デバイス・
ドライバとしてプロセツサ101上に設けてもよ
く、またはプロセツサ101とは独立のハードウ
エア・ユニツトとして設けてもよい。
前記構造は、連係層10と、パケツト層11
と、ユーザ層12とからなる三層通信プロトコル
を形成する。バス150とバス・インタフエース
回路(BIC)110とで形成される連係層10
は、複数のプロセツサ101を物理的に相互結合
する。この層10は、送出側プロセツサ110と
受取側プロセツサ110との間の単純な先入れ先
出しパイプである。この為、全ての情報が他端に
正確に到達することは保証できない。MSBI14
6と、キユー構造145と、インターフエース、
フアシリテイ141とから形成されるパケツト層
11は、全ての情報が正確に送出側プロセツサ1
01のメモリから受取側プロセツサ101のメモ
リに伝送されることを保証する。それは、送出側
ユーザ・プロセス140と受取側ユーザ・プロセ
ス140との間の信頼性のある一方向仮想通信チ
ヤンネルを提供するからである。またユーザ・プ
ロセス140で形成されるユーザ層12は、通信
データの発送者または受信者である。実施例で
は、ユーザ層12は、AT&TのUNIXオペレー
テイング・システムと第1図の多重プロセツサに
適用可能な全てのプロセスとからなる。
と、ユーザ層12とからなる三層通信プロトコル
を形成する。バス150とバス・インタフエース
回路(BIC)110とで形成される連係層10
は、複数のプロセツサ101を物理的に相互結合
する。この層10は、送出側プロセツサ110と
受取側プロセツサ110との間の単純な先入れ先
出しパイプである。この為、全ての情報が他端に
正確に到達することは保証できない。MSBI14
6と、キユー構造145と、インターフエース、
フアシリテイ141とから形成されるパケツト層
11は、全ての情報が正確に送出側プロセツサ1
01のメモリから受取側プロセツサ101のメモ
リに伝送されることを保証する。それは、送出側
ユーザ・プロセス140と受取側ユーザ・プロセ
ス140との間の信頼性のある一方向仮想通信チ
ヤンネルを提供するからである。またユーザ・プ
ロセス140で形成されるユーザ層12は、通信
データの発送者または受信者である。実施例で
は、ユーザ層12は、AT&TのUNIXオペレー
テイング・システムと第1図の多重プロセツサに
適用可能な全てのプロセスとからなる。
[パケツト層]
キユー構造145は、複数の入力キユー143
と複数の出力キユー144とを含み、この入力キ
ユー143は、ユーザ・プロセス140がそれを
介して他のプロセツサ101から通信を受取り、
出力キユー144は、ユーザ・プロセス140が
それを介して他のプロセツサ101に通信を送出
する。MSBI146が分離型ハードウエア・ユニ
ツトの場合は、キユー構造145は応答キユー1
42も含む。MSBI146は、応答キユー142
を用いて、インターフエース・フアクシミリ14
1へ通信を送出する。
と複数の出力キユー144とを含み、この入力キ
ユー143は、ユーザ・プロセス140がそれを
介して他のプロセツサ101から通信を受取り、
出力キユー144は、ユーザ・プロセス140が
それを介して他のプロセツサ101に通信を送出
する。MSBI146が分離型ハードウエア・ユニ
ツトの場合は、キユー構造145は応答キユー1
42も含む。MSBI146は、応答キユー142
を用いて、インターフエース・フアクシミリ14
1へ通信を送出する。
第2図はキユー構造145により構成されるプ
ロセツサ間の論理通信構造を示す。各単一(一方
向)仮想または論理通信チヤンネル200は、異
なるプロセツサ101上に配置された2つのユー
ザ・プロセス140間の(物理的にはバス150
で構成された)論理経路である。この単一チヤン
ネル200,200は、入力キユー143と出力
キユー144とをそれに割当てることにより設定
され、この割当てられたキユーは、チヤンネルが
存在する間、単一チヤンネル200への割当てが
維持される。単一チヤンネル200が遮断される
と、それに割当てられていたキユー143,14
4は新しいチヤンネルの設定に際し、利用可能と
なる。
ロセツサ間の論理通信構造を示す。各単一(一方
向)仮想または論理通信チヤンネル200は、異
なるプロセツサ101上に配置された2つのユー
ザ・プロセス140間の(物理的にはバス150
で構成された)論理経路である。この単一チヤン
ネル200,200は、入力キユー143と出力
キユー144とをそれに割当てることにより設定
され、この割当てられたキユーは、チヤンネルが
存在する間、単一チヤンネル200への割当てが
維持される。単一チヤンネル200が遮断される
と、それに割当てられていたキユー143,14
4は新しいチヤンネルの設定に際し、利用可能と
なる。
このチヤンネル付き入力キユーにより、ユーザ
プロセス140を干渉することなく、MSBI14
6を介して、入力データをバス・インタフエース
回路(BIC)110からのメモリのユーザ・アド
レス空間内の最小宛先バツフアへ直接移動させる
ことが可能になる。また、チヤンネル付き出力キ
ユーにより、他のユーザプロセス140または
MSBI146を干渉することなく、各ユーザ・プ
ロセス140を介して、その出力キユーに非同期
的に作業を行わせることが可能になる。関連する
エントリを専用キユー内に固定順序でグループ化
することにより、送出側プロセスと受取側プロセ
スとの間の速度不一致は、送出側MSBI146が
「入力キユー・フル」または「受取りバツフア・
オーバーフロー」の指示(後述する)を受取つた
ときに、特定出力キユー内の残りの全ての出力キ
ユー・エントリから送出を遅らせることにより、
処理できる。
プロセス140を干渉することなく、MSBI14
6を介して、入力データをバス・インタフエース
回路(BIC)110からのメモリのユーザ・アド
レス空間内の最小宛先バツフアへ直接移動させる
ことが可能になる。また、チヤンネル付き出力キ
ユーにより、他のユーザプロセス140または
MSBI146を干渉することなく、各ユーザ・プ
ロセス140を介して、その出力キユーに非同期
的に作業を行わせることが可能になる。関連する
エントリを専用キユー内に固定順序でグループ化
することにより、送出側プロセスと受取側プロセ
スとの間の速度不一致は、送出側MSBI146が
「入力キユー・フル」または「受取りバツフア・
オーバーフロー」の指示(後述する)を受取つた
ときに、特定出力キユー内の残りの全ての出力キ
ユー・エントリから送出を遅らせることにより、
処理できる。
2つのプロセツサ140間の二重チヤンネル
(二方向プロセツサ間通信連係)201は、2つ
の逆方向単一チヤンネル200を含む。各二重チ
ヤンネル201は、プロセツサ101上で、二重
チヤンネルの構成単一チヤンネル200の入力キ
ユー143と出力キユー144とを含むポート2
02で終端する。
(二方向プロセツサ間通信連係)201は、2つ
の逆方向単一チヤンネル200を含む。各二重チ
ヤンネル201は、プロセツサ101上で、二重
チヤンネルの構成単一チヤンネル200の入力キ
ユー143と出力キユー144とを含むポート2
02で終端する。
キユー構造145を第3−5図で詳細に示す。
各ポート202は、それに付属するポート構造3
80を有する。このポート構造380は、付属ポ
ート202の出力キユー144の見出し(ヘツ
ダ)340を指示する出力キユー・ポインタ38
1と、付属ポート202の入力キユー143の見
出し341を指示する入力キユーポインタ382
とを含む。ポインタ381,382が協働してポ
ート202を構成する。
各ポート202は、それに付属するポート構造3
80を有する。このポート構造380は、付属ポ
ート202の出力キユー144の見出し(ヘツ
ダ)340を指示する出力キユー・ポインタ38
1と、付属ポート202の入力キユー143の見
出し341を指示する入力キユーポインタ382
とを含む。ポインタ381,382が協働してポ
ート202を構成する。
キユー構造145は、ブートストラツプ時にシ
ステムにより形成される。しかし、ユーザの非同
期式チヤンネルの入力キユーおよび出力キユー
は、ポート実際にチヤンネルに割当てられている
時にのみ割当てられ、連係される。
ステムにより形成される。しかし、ユーザの非同
期式チヤンネルの入力キユーおよび出力キユー
は、ポート実際にチヤンネルに割当てられている
時にのみ割当てられ、連係される。
ポート構造380はまた、ポインタ381によ
り指示される出力キユー144にロードされる次
のパケツトのトグル・ビツト値を指定する出力キ
ユー・トグル383と、ポインタ382により指
示される入力キユー143にロードされる次に受
取られるパケツトのトグル・ビツトの予想値を指
定する入力キユー・トグル384とを含む。トグ
ル383,384は、「ユーザ非同期式」チヤン
ネル201に対し1ビツトを含み、「カーネル同
期式」および「カーネル非同期式」チヤンネル2
01に対しては各プロセツサ101毎に1ビツト
を含む複数ビツトを含む。前記チヤンネルタイプ
については更に以下で説明する。トグル383,
384は、ポート202に付属の単一チヤンネル
200上を流れるデータの一体性を維持するのに
使用される。単一チヤンネル200を介して順次
に伝送されるパケツトのトグル・ビツトの値に入
替わる。順次に受取られるパケツトのトグル・ビ
ツト値が入替らない場合、これは、伝送中の応答
パケツトのロスのようなエラーの指示を表す。
り指示される出力キユー144にロードされる次
のパケツトのトグル・ビツト値を指定する出力キ
ユー・トグル383と、ポインタ382により指
示される入力キユー143にロードされる次に受
取られるパケツトのトグル・ビツトの予想値を指
定する入力キユー・トグル384とを含む。トグ
ル383,384は、「ユーザ非同期式」チヤン
ネル201に対し1ビツトを含み、「カーネル同
期式」および「カーネル非同期式」チヤンネル2
01に対しては各プロセツサ101毎に1ビツト
を含む複数ビツトを含む。前記チヤンネルタイプ
については更に以下で説明する。トグル383,
384は、ポート202に付属の単一チヤンネル
200上を流れるデータの一体性を維持するのに
使用される。単一チヤンネル200を介して順次
に伝送されるパケツトのトグル・ビツトの値に入
替わる。順次に受取られるパケツトのトグル・ビ
ツト値が入替らない場合、これは、伝送中の応答
パケツトのロスのようなエラーの指示を表す。
ポート構造380は、ポート202が付属する
チヤンネル・タイプ、すなわちカーネル同期式、
カーネル非同期式またはユーザ非同期式を指定す
るチヤンネル・タイプ・インデイケータ385を
含む。ポート構造380は、さらに、付属の二重
チヤンネル201の他端におけるポート202を
識別する他ポートID386を含む。インデイケ
ータ385が、付属チヤンネル201をユーザ非
同期式として識別すると、他ポートID386は、
他ポートのIDを保有し、これにより他のポート
を直接識別する。インデイケータ385が付属チ
ヤンネルをカーネル・チヤンネルとして識別する
と、他ポートID386は、各プロセツサ101
上の他ポートを指示するアレー(図示なし)を指
示することにより、直接他のポートを識別する。
ポート構造380は、付属ポート202のステー
タス(状態)(即ち、チヤンネル201に割当
て)、他ポート202に接続と他ポート202か
らの切断(即ち、相手先プロセツサが作動中止)、
フリー(即ち、未使用)、または「ゾンビ
(zombie:とんま)」を示す。「ゾンビ」ポート
は、フリー・ステータスが好ましいポートである
が、関連出力キユー144が空きではないので、
このポートはフリーになりえないポートである。
チヤンネル・タイプ、すなわちカーネル同期式、
カーネル非同期式またはユーザ非同期式を指定す
るチヤンネル・タイプ・インデイケータ385を
含む。ポート構造380は、さらに、付属の二重
チヤンネル201の他端におけるポート202を
識別する他ポートID386を含む。インデイケ
ータ385が、付属チヤンネル201をユーザ非
同期式として識別すると、他ポートID386は、
他ポートのIDを保有し、これにより他のポート
を直接識別する。インデイケータ385が付属チ
ヤンネルをカーネル・チヤンネルとして識別する
と、他ポートID386は、各プロセツサ101
上の他ポートを指示するアレー(図示なし)を指
示することにより、直接他のポートを識別する。
ポート構造380は、付属ポート202のステー
タス(状態)(即ち、チヤンネル201に割当
て)、他ポート202に接続と他ポート202か
らの切断(即ち、相手先プロセツサが作動中止)、
フリー(即ち、未使用)、または「ゾンビ
(zombie:とんま)」を示す。「ゾンビ」ポート
は、フリー・ステータスが好ましいポートである
が、関連出力キユー144が空きではないので、
このポートはフリーになりえないポートである。
出力キユー144には、項目301−308か
らなる出力キユー制御構造300が付属する。カ
ーネル同期式出力キユー・ポインタ301は、ポ
ート202の出力キユー144の見出し340を
指示する。これは、ユーザ・プロセス140の内
のカーネル同期式チヤンネル用のオペレーテイン
グ・システム・カーネル・プロセスにより使用さ
れる。カーネル同期式チヤンネルは、プロセツサ
101のオペレーテイング・システム・カーネル
間のインターフエースのようなサブルーチン・コ
ールをサポートする。カーネルが他のプロセツサ
にカーネル同期式リクエストを一旦出すと、丁度
サブルーチンのコールおよびリターンのように、
カーネルは、その応答を待たなければならない。
カーネルは、それが係属中のリクエストに応答し
ている限り、他のカーネル同期式リクエストを出
すことができない。しかし、カーネルは、その応
答を待つている間は、いかなるカーネル同期式リ
クエストに対しても、応答を出すことが可能であ
る。プロセツサは、その係属中のリクエストが応
答されるまでは、新たなカーネル同期式リクエス
トを発生することができないので、カーネル同期
式二重チヤンネル201はただ1つしかなく、従
つて、各プロセツサ101上にはカーネル同期式
ポート202はただ1つしかない。同じ理由で、
「入力キユー・フル」条件は、カーネル同期式チ
ヤンネル201では起こり得ない。カーネル同期
式チヤンネル201の入力キユー143および出
力キユー144に、シスタム内の各プロセツサ1
01が利用可能な1データ・エントリが割付けら
れる。これにより、プロセツサ101は、それが
カーネル同期応答を待つている間にカーネル同期
式リクエストを受けることが可能になる。
らなる出力キユー制御構造300が付属する。カ
ーネル同期式出力キユー・ポインタ301は、ポ
ート202の出力キユー144の見出し340を
指示する。これは、ユーザ・プロセス140の内
のカーネル同期式チヤンネル用のオペレーテイン
グ・システム・カーネル・プロセスにより使用さ
れる。カーネル同期式チヤンネルは、プロセツサ
101のオペレーテイング・システム・カーネル
間のインターフエースのようなサブルーチン・コ
ールをサポートする。カーネルが他のプロセツサ
にカーネル同期式リクエストを一旦出すと、丁度
サブルーチンのコールおよびリターンのように、
カーネルは、その応答を待たなければならない。
カーネルは、それが係属中のリクエストに応答し
ている限り、他のカーネル同期式リクエストを出
すことができない。しかし、カーネルは、その応
答を待つている間は、いかなるカーネル同期式リ
クエストに対しても、応答を出すことが可能であ
る。プロセツサは、その係属中のリクエストが応
答されるまでは、新たなカーネル同期式リクエス
トを発生することができないので、カーネル同期
式二重チヤンネル201はただ1つしかなく、従
つて、各プロセツサ101上にはカーネル同期式
ポート202はただ1つしかない。同じ理由で、
「入力キユー・フル」条件は、カーネル同期式チ
ヤンネル201では起こり得ない。カーネル同期
式チヤンネル201の入力キユー143および出
力キユー144に、シスタム内の各プロセツサ1
01が利用可能な1データ・エントリが割付けら
れる。これにより、プロセツサ101は、それが
カーネル同期応答を待つている間にカーネル同期
式リクエストを受けることが可能になる。
出力キユー制御構造300に戻ると、「最初の
出力キユー・ポインタ」302は、ポート202
の出力キユー144の連係リスト上の最初の出力
キユー144を指示する。未使用出力キユー14
4は、ポート202の部分ではなく、従つて、出
力キユーの連係リスト上にはない。カーネル同期
式以外のポート202は、「カーネル非同期式」
および「ユーザ非同期式」二重チヤンネル201
に対して使用される。カーネル非同期式チヤンネ
ル201は、ユーザ層肯定応答を必要とせず、プ
ロセツサ101のオペレーテイング・システム・
カーネル間のメツセージ通過型インターフエース
をサポートする。これらは、即時応答待ちを必要
としない。即ち、きわめて長いサービス時間を有
するオペレーテイング・システム・サービスを実
行する。ユーザ非同期式チヤンネル201は、異
なるプロセス上に配置されたユーザ・プロセスの
部分間のチヤンネルである。
出力キユー・ポインタ」302は、ポート202
の出力キユー144の連係リスト上の最初の出力
キユー144を指示する。未使用出力キユー14
4は、ポート202の部分ではなく、従つて、出
力キユーの連係リスト上にはない。カーネル同期
式以外のポート202は、「カーネル非同期式」
および「ユーザ非同期式」二重チヤンネル201
に対して使用される。カーネル非同期式チヤンネ
ル201は、ユーザ層肯定応答を必要とせず、プ
ロセツサ101のオペレーテイング・システム・
カーネル間のメツセージ通過型インターフエース
をサポートする。これらは、即時応答待ちを必要
としない。即ち、きわめて長いサービス時間を有
するオペレーテイング・システム・サービスを実
行する。ユーザ非同期式チヤンネル201は、異
なるプロセス上に配置されたユーザ・プロセスの
部分間のチヤンネルである。
「送り出しFIFO空き」(SFE)タイムアウト・
インデイケータ303は、パケツトのバス・イン
タフエース回路(BIC)110からの伝送が必要
とする最大時間を指示し、肯定応答タイムアウ
ト・インデイケータ304は、パケツト肯定応答
を受取側プロセツサ101から受取るために必要
な最大時間を指示する。タスク・インデイケータ
305は、一般処理が行われるべきか否かを、
MSBI146を指示し、パラメータ・インデイケ
ータ306は、その処理のパラメータを指示す
る。出力係属・インデイケータ307は、出力キ
ユー144が処理されるべきエントリを有するか
否かを指示するフラツグである。出力キユー制御
構造300は、特定の実行に必要なだけの他のエ
ントリを含んでもよい。
インデイケータ303は、パケツトのバス・イン
タフエース回路(BIC)110からの伝送が必要
とする最大時間を指示し、肯定応答タイムアウ
ト・インデイケータ304は、パケツト肯定応答
を受取側プロセツサ101から受取るために必要
な最大時間を指示する。タスク・インデイケータ
305は、一般処理が行われるべきか否かを、
MSBI146を指示し、パラメータ・インデイケ
ータ306は、その処理のパラメータを指示す
る。出力係属・インデイケータ307は、出力キ
ユー144が処理されるべきエントリを有するか
否かを指示するフラツグである。出力キユー制御
構造300は、特定の実行に必要なだけの他のエ
ントリを含んでもよい。
各出力キユー144は、包括的な情報(キユー
144のすべてのデータ・エントリに共通な情
報)を記憶する項目311−316および318
−319を含む見出し340を有する。次の出力
キユー・ポインタ311が、連係リスト内の次の
出力キユーの見出し340を指示する。このキユ
ー144は、一般出力キユー連係リスト上にない
ので、このポインタはカーネル同期式出力キユー
144に対してはヌル(空白)である。スキツ
プ・フラツグ312は、MSBI146により操作
され、MSBI144が、この出力キユーの処理を
飛越すべきか否かを指示する。プロセス待機中フ
ラツグ313は、いずれかのプロセスがこの出力
モード144上で待機内(「寝込み中」)であるか
否かを指示する。エントリ数インデイケータ31
4は、このキユー上に存在するデータ・エントリ
の数を指示する。これは、キユー割付けおよび割
付け解除の目的に使用される。ロード・ポインタ
315は、送出パケツトをロードするのに利用可
能な次のデータ・エントリ317を指示する。ま
たアンロード・ポインタ316は、送出されるべ
き次のデータ・エントリ317を指示する。中断
(aborted)フラツグ318は、オレペーテイン
グ・システム・カーネルにより周期的にチエツク
され、カーネル・ユーザ・プロセスがこのキユー
144上で寝込み中であつた間、このキユー14
4に付属するチヤンネル201は中断されるか否
かを示す。またデアロケーシヨン機能319は、
キユー144に割付けられた共有メモリの割付け
を解除するときに使用されるメモリ割付け解除
(デアロケーシヨン)機能を指定する任意のイン
デイケータである。もしキユー144が、インタ
ーフエース・フアクシリテイ141の私有メモリ
から割付けられたメモリを有するならば、それは
空白である。この場合も特定の実行により必要な
ときは見出しは追加エントリを含めてもよい。
144のすべてのデータ・エントリに共通な情
報)を記憶する項目311−316および318
−319を含む見出し340を有する。次の出力
キユー・ポインタ311が、連係リスト内の次の
出力キユーの見出し340を指示する。このキユ
ー144は、一般出力キユー連係リスト上にない
ので、このポインタはカーネル同期式出力キユー
144に対してはヌル(空白)である。スキツ
プ・フラツグ312は、MSBI146により操作
され、MSBI144が、この出力キユーの処理を
飛越すべきか否かを指示する。プロセス待機中フ
ラツグ313は、いずれかのプロセスがこの出力
モード144上で待機内(「寝込み中」)であるか
否かを指示する。エントリ数インデイケータ31
4は、このキユー上に存在するデータ・エントリ
の数を指示する。これは、キユー割付けおよび割
付け解除の目的に使用される。ロード・ポインタ
315は、送出パケツトをロードするのに利用可
能な次のデータ・エントリ317を指示する。ま
たアンロード・ポインタ316は、送出されるべ
き次のデータ・エントリ317を指示する。中断
(aborted)フラツグ318は、オレペーテイン
グ・システム・カーネルにより周期的にチエツク
され、カーネル・ユーザ・プロセスがこのキユー
144上で寝込み中であつた間、このキユー14
4に付属するチヤンネル201は中断されるか否
かを示す。またデアロケーシヨン機能319は、
キユー144に割付けられた共有メモリの割付け
を解除するときに使用されるメモリ割付け解除
(デアロケーシヨン)機能を指定する任意のイン
デイケータである。もしキユー144が、インタ
ーフエース・フアクシリテイ141の私有メモリ
から割付けられたメモリを有するならば、それは
空白である。この場合も特定の実行により必要な
ときは見出しは追加エントリを含めてもよい。
出力キユー144の各データ・エントリ317
は、他のプロセツサ101に送出されるべきパケ
ツトを示しかつ定義する。データ・エントリ31
7は多重語エントリである。パケツト制御語
(PCW)320は、トグル・ビツト・フイールド
331と、パケツトデータを含むメモリ内のバツ
フア・サイズを指定するバツフア・サイズ・フイ
ールド332と、送出側バス・インタフエース回
路(BIC)IDフイールド333と、出力キユー1
44内で空きであるフイールド334とを含む。
(パケツト内では、フイールド334は、クイツ
ク・メツセージ・シーケンス番号を含む。)バツ
フア・アドレス語321は、バツフアの開始アド
レスを指定する。相手先ポートID後322は、
相手先プロセツサ101上の相手先ポート202
のIDを指定する。またバス・インタフエース回
路(BIC)制御語323は、特に、相手先プロセ
ツサ101を指定するバスインタフエース回路
(BIC)110用の制御語である。実施例ではエ
ントリ317は、4つのユーザ制御語324−3
27を含み、そのうちの1つは、オペレーテイン
グ・システム・カーネルによりパケツト・タイプ
を指定するフラツグとして使用され、残りの3つ
はユーザ指定である。
は、他のプロセツサ101に送出されるべきパケ
ツトを示しかつ定義する。データ・エントリ31
7は多重語エントリである。パケツト制御語
(PCW)320は、トグル・ビツト・フイールド
331と、パケツトデータを含むメモリ内のバツ
フア・サイズを指定するバツフア・サイズ・フイ
ールド332と、送出側バス・インタフエース回
路(BIC)IDフイールド333と、出力キユー1
44内で空きであるフイールド334とを含む。
(パケツト内では、フイールド334は、クイツ
ク・メツセージ・シーケンス番号を含む。)バツ
フア・アドレス語321は、バツフアの開始アド
レスを指定する。相手先ポートID後322は、
相手先プロセツサ101上の相手先ポート202
のIDを指定する。またバス・インタフエース回
路(BIC)制御語323は、特に、相手先プロセ
ツサ101を指定するバスインタフエース回路
(BIC)110用の制御語である。実施例ではエ
ントリ317は、4つのユーザ制御語324−3
27を含み、そのうちの1つは、オペレーテイン
グ・システム・カーネルによりパケツト・タイプ
を指定するフラツグとして使用され、残りの3つ
はユーザ指定である。
データ・エントリは、相互間および見出し34
0と物理的に隣接している必要はない。実施例で
はデータ・エントリ317は、循環連係リストと
して実行される。この場合に見出し340も、ま
たキユーの最初のエントリ317を示すポインタ
を含み、各エントリ317は、連係リスト上の次
のエントリ317を示すポインタを含む。
0と物理的に隣接している必要はない。実施例で
はデータ・エントリ317は、循環連係リストと
して実行される。この場合に見出し340も、ま
たキユーの最初のエントリ317を示すポインタ
を含み、各エントリ317は、連係リスト上の次
のエントリ317を示すポインタを含む。
各入力キユー143は、包括的な情報を有する
項目348−353および356−358を含む
見出し341を有する。入力キユー・フル・フラ
ツグ348は、キユーが満杯であると見なされる
か否かを指示する。低位マーク349は、満杯の
キユーが、満杯とはみなされなくなるまでに、い
くつのエントリ354を解放しなければならない
かを指示する。プロセス待機中フラツグ350
は、プロセス140がこの入力キユー143の上
で待機中であるか否かを指示する。エントリ数3
51は、キユー143上に存在するデータ・エン
トリ354の数を指示する。ロード・ポインタ3
52は、来入するパケツトで満たされるべき利用
可能な次のデータ・エントリ354を指示する。
またアンロード・ポインタ353は、ユーザ14
0に返される最終データ・エントリ354を指示
する。中断フラツグ356は、出力キユー144
の中断フラツグ318に相当する入力キユーのフ
ラツグである。アロケーシヨン・フラツグ357
は、キユー143に割付けられたメモリがインタ
ーフエース・フアシリテイ141の私有空間から
のメモリかまたはオペレーテイング・システム・
カーネルにより割付けられた共有メモリかを指定
する。またデキユー・タイプ・インデイケータ3
58は、データ・エントリ354が、どのように
キユー143から取外されるか、即ち、割込みに
応答してフアンクシヨン・コールによる同期的
か、またはユーザ・プロセス140による直接的
な非同期的か、を指定する。見出しは、同様に追
加のエントリを含んでもよい。データ・エントリ
354は、多重語エントリである。各データ・エ
ントリ354は、他のプロセツサ101から受取
られたパケツトを示す。1つのデータ・エントリ
354は、受取られたパケツトから得られたパケ
ツト制御語320と、パケツトを介して受取られ
たデータが記憶されているバツフアの最初のメモ
リ内のアドレスを指定するバツフア・アドレス語
355とを含む。データ・エントリ354は、実
施例では、受取られたパケツトから得られた4つ
のユーザ制御語324−327をも含む。
項目348−353および356−358を含む
見出し341を有する。入力キユー・フル・フラ
ツグ348は、キユーが満杯であると見なされる
か否かを指示する。低位マーク349は、満杯の
キユーが、満杯とはみなされなくなるまでに、い
くつのエントリ354を解放しなければならない
かを指示する。プロセス待機中フラツグ350
は、プロセス140がこの入力キユー143の上
で待機中であるか否かを指示する。エントリ数3
51は、キユー143上に存在するデータ・エン
トリ354の数を指示する。ロード・ポインタ3
52は、来入するパケツトで満たされるべき利用
可能な次のデータ・エントリ354を指示する。
またアンロード・ポインタ353は、ユーザ14
0に返される最終データ・エントリ354を指示
する。中断フラツグ356は、出力キユー144
の中断フラツグ318に相当する入力キユーのフ
ラツグである。アロケーシヨン・フラツグ357
は、キユー143に割付けられたメモリがインタ
ーフエース・フアシリテイ141の私有空間から
のメモリかまたはオペレーテイング・システム・
カーネルにより割付けられた共有メモリかを指定
する。またデキユー・タイプ・インデイケータ3
58は、データ・エントリ354が、どのように
キユー143から取外されるか、即ち、割込みに
応答してフアンクシヨン・コールによる同期的
か、またはユーザ・プロセス140による直接的
な非同期的か、を指定する。見出しは、同様に追
加のエントリを含んでもよい。データ・エントリ
354は、多重語エントリである。各データ・エ
ントリ354は、他のプロセツサ101から受取
られたパケツトを示す。1つのデータ・エントリ
354は、受取られたパケツトから得られたパケ
ツト制御語320と、パケツトを介して受取られ
たデータが記憶されているバツフアの最初のメモ
リ内のアドレスを指定するバツフア・アドレス語
355とを含む。データ・エントリ354は、実
施例では、受取られたパケツトから得られた4つ
のユーザ制御語324−327をも含む。
出力キユー・データ・エントリ317の場合と
同様に、エントリ354は、物理的に隣接してい
る必要はなく、循環連係リストとして実行可能で
ある。この場合もまた、見出し341は、キユー
の最初のエントリ354を示すポインタをを含
み、各エントリ354は、連係リスト上の次のエ
ントリ354を示すポインタを含む。
同様に、エントリ354は、物理的に隣接してい
る必要はなく、循環連係リストとして実行可能で
ある。この場合もまた、見出し341は、キユー
の最初のエントリ354を示すポインタをを含
み、各エントリ354は、連係リスト上の次のエ
ントリ354を示すポインタを含む。
応答キユー142は、入力されるべき次の応答
エントリ362を示すロード・ポインタ360
と、取外される最後の応答エントリ362を指す
アンロード・ポインタ361とを含むヘツダ34
3を有する。応答エントリ362は単一語エント
リである。ダグ・フラツグ370は、エントリの
種類(例、入力キユーに関連するかまたは出力キ
ユーに関連するか)を識別し、これによりデー
タ・フイールド371が含むデータの種類を指定
する。応答エントリ362は、見出し343とま
たは相互に隣接する必要はない。
エントリ362を示すロード・ポインタ360
と、取外される最後の応答エントリ362を指す
アンロード・ポインタ361とを含むヘツダ34
3を有する。応答エントリ362は単一語エント
リである。ダグ・フラツグ370は、エントリの
種類(例、入力キユーに関連するかまたは出力キ
ユーに関連するか)を識別し、これによりデー
タ・フイールド371が含むデータの種類を指定
する。応答エントリ362は、見出し343とま
たは相互に隣接する必要はない。
第6図および第7図は、パケツトを他のプロセ
ツサ101に送出するときのインターフエース・
フアシリテイ141の作業を示すフローチヤート
で、キユー構造145の出力キユー144の用法
を示す。
ツサ101に送出するときのインターフエース・
フアシリテイ141の作業を示すフローチヤート
で、キユー構造145の出力キユー144の用法
を示す。
パケツトを他のプロセツサ101に送出するこ
とを希望するユーザ・プロセス140は、出力キ
ユー144の中の利用可能なデータ・エントリ3
17を得るために、ステツプ400で、GETPコー
ルを介してフアシリテイ141を呼出す。呼出し
の一部として呼出しプロセス140はパケツトを
取出したいポート202を指定する。
とを希望するユーザ・プロセス140は、出力キ
ユー144の中の利用可能なデータ・エントリ3
17を得るために、ステツプ400で、GETPコー
ルを介してフアシリテイ141を呼出す。呼出し
の一部として呼出しプロセス140はパケツトを
取出したいポート202を指定する。
呼出しに応答して、フアシリテイ141は、ス
テツプ401で、指定された送出側ポート202の
ロードポインタ315を得る。フアシリテイ14
1は、指定された送出側ポート202のポート構
造380にアクセスすることにより、そこから出
力キユー・ロード・ポインタ381を得、次にポ
インタ381により指示された出力キユー144
の見出し340をアクセスして、ロード・ポテン
タ315を得る。インターフエースフアシリテイ
141は、次にテツプ402で、キユーのロードポ
インタ315とアンロード・ポインタ316とを
比較することにより、この出力キユー144上で
空きのデータ・エントリ317が利用可能である
か否かをチエツクする。もし両ポインタが等しく
なければ、エントリ317は利用可能で、フアシ
リテイ141は、ステツプ409で、ユーザ・プロ
セス140を呼出すためのロード・ポインタ31
5をリターンする。
テツプ401で、指定された送出側ポート202の
ロードポインタ315を得る。フアシリテイ14
1は、指定された送出側ポート202のポート構
造380にアクセスすることにより、そこから出
力キユー・ロード・ポインタ381を得、次にポ
インタ381により指示された出力キユー144
の見出し340をアクセスして、ロード・ポテン
タ315を得る。インターフエースフアシリテイ
141は、次にテツプ402で、キユーのロードポ
インタ315とアンロード・ポインタ316とを
比較することにより、この出力キユー144上で
空きのデータ・エントリ317が利用可能である
か否かをチエツクする。もし両ポインタが等しく
なければ、エントリ317は利用可能で、フアシ
リテイ141は、ステツプ409で、ユーザ・プロ
セス140を呼出すためのロード・ポインタ31
5をリターンする。
ロード・ポインタ315とアンロード・ポイン
タ316が等しい場合、出力キユー144は、満
杯である。従つて、フアシリテイ141は、ステ
ツプ403で、プロセス待機中フラツグ313をセ
ツトして、プロセス140がこのキユー上で待機
中であることを指示する。次にフアシリテイ14
1は、ステツプ404でアンロード・ポインタ31
6の値をチエツクして、ステツプ402でのチエツ
ク以後は、その値が変つたか否かを判定する。こ
の値の変化は、データ・エントリ317に空きが
できたことを示し、従つて、フアシリテイ141
は、ステツプ405で、プロセス待機中フラツグ3
13をクリヤして、ステツプ401へ戻る。
タ316が等しい場合、出力キユー144は、満
杯である。従つて、フアシリテイ141は、ステ
ツプ403で、プロセス待機中フラツグ313をセ
ツトして、プロセス140がこのキユー上で待機
中であることを指示する。次にフアシリテイ14
1は、ステツプ404でアンロード・ポインタ31
6の値をチエツクして、ステツプ402でのチエツ
ク以後は、その値が変つたか否かを判定する。こ
の値の変化は、データ・エントリ317に空きが
できたことを示し、従つて、フアシリテイ141
は、ステツプ405で、プロセス待機中フラツグ3
13をクリヤして、ステツプ401へ戻る。
アンロード・ポインタ316が変化しなかつた
場合、出力キユー144は、まだ満杯のままであ
る。従つて、フアシリテイ141は、ステツプ
406で、通常のUNIXシステムの方法で、プロセ
ス140にこの出力キユー144上で寝込む(待
機する)ようリクエストを出す。プロセスを寝込
ませることに含まれるアクテイビテイは、プロセ
スが寝込むときのプロセサ状態を保存すること
と、この出力キユーのアドレスに付属の寝込み中
プロセス・リストにこのプロセスのIDを追記す
ることを含む。インターフエース・フアシリテイ
141は、次にステツプ407で、他のプロセス1
40への応答および他のプロセス140からその
他の呼出しの処理などの他の作業を継続する。
場合、出力キユー144は、まだ満杯のままであ
る。従つて、フアシリテイ141は、ステツプ
406で、通常のUNIXシステムの方法で、プロセ
ス140にこの出力キユー144上で寝込む(待
機する)ようリクエストを出す。プロセスを寝込
ませることに含まれるアクテイビテイは、プロセ
スが寝込むときのプロセサ状態を保存すること
と、この出力キユーのアドレスに付属の寝込み中
プロセス・リストにこのプロセスのIDを追記す
ることを含む。インターフエース・フアシリテイ
141は、次にステツプ407で、他のプロセス1
40への応答および他のプロセス140からその
他の呼出しの処理などの他の作業を継続する。
パケツトを送出した結果、MSBI146が、プ
ロセス待機中フラツグ313がセツトされる出力
キユー144から1つのデータ・エントリ317
を抜出す時、MSBI146は、割込みを出す(第
11図のステツプ626−629を参照)。この割込み
は、インターフエース・フアシリテイ141で受
取られ、第24図に示す方法および以下の説明の
ように、処理される。この処理の一部として、寝
込み(待機)中のプロセスは呼び起される。寝込
みプロセスを呼び起こしてそのプロセスの実行を
再開するときに、プロセスが寝込んだときのプロ
セス状態が回復される。この活動は、ステツプ
408でインターフエース・フアシリテイ141の
実行を再開させ、フアシリテイ141は、ステツ
プ401に戻つてデータ・エントリ317の利用が
可能か否かを再びチエツクする。
ロセス待機中フラツグ313がセツトされる出力
キユー144から1つのデータ・エントリ317
を抜出す時、MSBI146は、割込みを出す(第
11図のステツプ626−629を参照)。この割込み
は、インターフエース・フアシリテイ141で受
取られ、第24図に示す方法および以下の説明の
ように、処理される。この処理の一部として、寝
込み(待機)中のプロセスは呼び起される。寝込
みプロセスを呼び起こしてそのプロセスの実行を
再開するときに、プロセスが寝込んだときのプロ
セス状態が回復される。この活動は、ステツプ
408でインターフエース・フアシリテイ141の
実行を再開させ、フアシリテイ141は、ステツ
プ401に戻つてデータ・エントリ317の利用が
可能か否かを再びチエツクする。
インターフエース・フアシリテイ141は、ス
テツプで409で、出力キユーロードポインタ31
5を戻してプロセス140を呼び出すと、プロセ
ス140は、バス・インタフエース回路(BIC)
内に制御語323とユーザ語324−327を入
れる。ユーザ同期式チヤンネルのデータ・エント
リ317の語320のフイールド331および語
323,323、またカーネル同期式または非同
期式チヤンネルの語320のフイールド333
は、出力キユー144が割付けられたときに入れ
られている。もし語321で指示されるようなデ
フオルト・バツフアの使用を望まないならば、プ
ロセス140は、また他のバツフアを指示するよ
うに語321を変えてもよい。プロセス140
は、送出したいデータを語321で指示されたバ
ツフア内に記憶する。次にプロセス140は、第
7図のステツプ500で、WRITEPコールを介し
て、フアシリテイ141を呼出し、埋められたデ
ータ・エントリ317によつて示されるパケツト
が送出されることをリクエストする。WRITEP
コールを付帯するパラメータは、すべてのチヤン
ネル・タイプ用の相手先ポートIDおよびカーネ
ル・チヤンネル用の相手先BIC IDを含む。
テツプで409で、出力キユーロードポインタ31
5を戻してプロセス140を呼び出すと、プロセ
ス140は、バス・インタフエース回路(BIC)
内に制御語323とユーザ語324−327を入
れる。ユーザ同期式チヤンネルのデータ・エント
リ317の語320のフイールド331および語
323,323、またカーネル同期式または非同
期式チヤンネルの語320のフイールド333
は、出力キユー144が割付けられたときに入れ
られている。もし語321で指示されるようなデ
フオルト・バツフアの使用を望まないならば、プ
ロセス140は、また他のバツフアを指示するよ
うに語321を変えてもよい。プロセス140
は、送出したいデータを語321で指示されたバ
ツフア内に記憶する。次にプロセス140は、第
7図のステツプ500で、WRITEPコールを介し
て、フアシリテイ141を呼出し、埋められたデ
ータ・エントリ317によつて示されるパケツト
が送出されることをリクエストする。WRITEP
コールを付帯するパラメータは、すべてのチヤン
ネル・タイプ用の相手先ポートIDおよびカーネ
ル・チヤンネル用の相手先BIC IDを含む。
呼出しに応答して、フアシリテイ141は、ス
テツプ501で、相手先プロセツサ101がプロセ
ツサ間通信のために、活動状態とみなされるか否
かをチエツクする。フアシリテイ141は、これ
を、送出側ポート202のポート構造380のエ
ントリ385をアクセスすることにより行ない、
ステツプ500で呼出されることにより指定された
ポート202のチヤンネンル201がユーザ・チ
ヤンネルであるかまたはカーネルチヤンネルであ
るかを判定する。チヤンネル201が、ユーザ・
チヤンネルならば、フアシリテイ141は、ポー
ト構造380のステータス・インデイケータ38
7をアクセスし、ポート202が割付けられてい
る、即ち、結合されているか否かを判定する。も
し割り付けられている場合は、相手先は活動状態
であるとみなされる。
テツプ501で、相手先プロセツサ101がプロセ
ツサ間通信のために、活動状態とみなされるか否
かをチエツクする。フアシリテイ141は、これ
を、送出側ポート202のポート構造380のエ
ントリ385をアクセスすることにより行ない、
ステツプ500で呼出されることにより指定された
ポート202のチヤンネンル201がユーザ・チ
ヤンネルであるかまたはカーネルチヤンネルであ
るかを判定する。チヤンネル201が、ユーザ・
チヤンネルならば、フアシリテイ141は、ポー
ト構造380のステータス・インデイケータ38
7をアクセスし、ポート202が割付けられてい
る、即ち、結合されているか否かを判定する。も
し割り付けられている場合は、相手先は活動状態
であるとみなされる。
チヤンネル201が、カーネル・ポートであれ
ば、フアシリテイ141は、ポート構造380の
エントリ386により指示されたアレーをアクセ
スし、相手先ポート202は、相手先プロセツサ
101の中に識別されるか否かを判定する。相手
先ポート202が識別されないならば(例、それ
用の値がヌルである場合)、相手先プロセツサ1
01は、活動状態でなないとみなされる。
ば、フアシリテイ141は、ポート構造380の
エントリ386により指示されたアレーをアクセ
スし、相手先ポート202は、相手先プロセツサ
101の中に識別されるか否かを判定する。相手
先ポート202が識別されないならば(例、それ
用の値がヌルである場合)、相手先プロセツサ1
01は、活動状態でなないとみなされる。
ステツプ501では、相手先が、活動状態でない
と判定されると、フアシリテイ141は、ステツ
プ507で、リターンし、ユーザ・プロセス140
をリクエストして、そのことを通知する。
と判定されると、フアシリテイ141は、ステツ
プ507で、リターンし、ユーザ・プロセス140
をリクエストして、そのことを通知する。
相手先が活動状態であると判定されると、フア
シリテイ141は、ステツプ502で、送出側ポー
ト202の出力キユー144の次に利用可能なデ
ータ・エントリ317をアクセスする。フアシリ
テイ141は、送出側ポート202のポート構造
380の出力キユー・ポインタ381をアクセス
して、どの出力キユー144が送出側ポート20
2に対応するかを判定し、次に、識別された出力
キユー144のロード・ポインタ315をアクセ
スして、次に利用可能なデータエン・エントリ3
17を見出し、そのエントリ317をアクセスす
る。
シリテイ141は、ステツプ502で、送出側ポー
ト202の出力キユー144の次に利用可能なデ
ータ・エントリ317をアクセスする。フアシリ
テイ141は、送出側ポート202のポート構造
380の出力キユー・ポインタ381をアクセス
して、どの出力キユー144が送出側ポート20
2に対応するかを判定し、次に、識別された出力
キユー144のロード・ポインタ315をアクセ
スして、次に利用可能なデータエン・エントリ3
17を見出し、そのエントリ317をアクセスす
る。
ステツプ503において、フアシリテイ141は、
アクセスされたデータ・エントリ317のフイー
ルド331内にトグル・ビツト値をセツトする。
フアシリテイ141は、送出側ポート202のポ
ート構造380のエントリ383から固有のトグ
ル・ビツト値を得て、次にエントリ383内のト
グルビツト値を変更する。
アクセスされたデータ・エントリ317のフイー
ルド331内にトグル・ビツト値をセツトする。
フアシリテイ141は、送出側ポート202のポ
ート構造380のエントリ383から固有のトグ
ル・ビツト値を得て、次にエントリ383内のト
グルビツト値を変更する。
ステツプ504で、フアシリテイ141は、アク
セスされたデータ・エントリ317を完成す。フ
アシリテイ141は、例えば、語321上でアド
レス変換機能を実行する。カーネル・チヤンネル
出力キユー・エントリ317に対しては、フアシ
リテイ141は、また、ステツプ501で判定され
た相手先ポート220IDを語322内に記憶し、
またステツプ500で受取られた相手先プロセツサ
101のバス・インタフエース回路(BIC)10
0のIDを語323に記憶する。フアシリテイ1
41は、語323のビツトを指示する「クイツ
ク」メツセージはセツトしない。データ・エント
リは、これで完成し、ステツプ505で、フアシリ
テイ141は、出力キユー144のロード・ポイ
ンタ315を進めて、次の空きデータ・エントリ
317を指示する。次に、ステツプ506で、フア
シイテイ141は、出力キユー制御構造300の
出力係属・フラツグ307をセツトすることによ
り、MSBI146を起動して、出力キユー144
を処理する。次にステツプ507で、フアシリテイ
141は、リターンして、ユーザ・プロセス14
0をリクエストして、前記アクテイビテイの完成
を通知する。
セスされたデータ・エントリ317を完成す。フ
アシリテイ141は、例えば、語321上でアド
レス変換機能を実行する。カーネル・チヤンネル
出力キユー・エントリ317に対しては、フアシ
リテイ141は、また、ステツプ501で判定され
た相手先ポート220IDを語322内に記憶し、
またステツプ500で受取られた相手先プロセツサ
101のバス・インタフエース回路(BIC)10
0のIDを語323に記憶する。フアシリテイ1
41は、語323のビツトを指示する「クイツ
ク」メツセージはセツトしない。データ・エント
リは、これで完成し、ステツプ505で、フアシリ
テイ141は、出力キユー144のロード・ポイ
ンタ315を進めて、次の空きデータ・エントリ
317を指示する。次に、ステツプ506で、フア
シイテイ141は、出力キユー制御構造300の
出力係属・フラツグ307をセツトすることによ
り、MSBI146を起動して、出力キユー144
を処理する。次にステツプ507で、フアシリテイ
141は、リターンして、ユーザ・プロセス14
0をリクエストして、前記アクテイビテイの完成
を通知する。
第8図ないし第11図は、パケツトを他のプロ
セツサ101に送出す時MSBI146の作業をフ
ローチヤートにしたもので、これによりキユー構
造145の出力キユー144および応答キユー1
42の用法がわかる。
セツサ101に送出す時MSBI146の作業をフ
ローチヤートにしたもので、これによりキユー構
造145の出力キユー144および応答キユー1
42の用法がわかる。
第1図のシステムが、ステツプ597に起動され
ると、MSBI146は、出力キユー制御構造30
0の「受取りFIFOに空きはない」のイデイケー
タおよび出力係属・フラツグ307のモニタを開
始する。ステツプ598で、受取りFIFOに空きでな
いことが分かると、ステツプ600で、MSBI14
6は、受取られたパケツトの処理を実行する。こ
の受取られたパケツトの処理は、第18−20図
にフローチヤートで示され、後述する。受取り
FIFOに空きがあると、ステツプ599で、MSBI1
46は、フラツグ307がセツトされているか否
かをチエツクする。フラツグ307がセツトされ
ていないか、又は、受取られたパケツトの処理が
終ると、MSBI146は、ステツプ598に戻る。
ると、MSBI146は、出力キユー制御構造30
0の「受取りFIFOに空きはない」のイデイケー
タおよび出力係属・フラツグ307のモニタを開
始する。ステツプ598で、受取りFIFOに空きでな
いことが分かると、ステツプ600で、MSBI14
6は、受取られたパケツトの処理を実行する。こ
の受取られたパケツトの処理は、第18−20図
にフローチヤートで示され、後述する。受取り
FIFOに空きがあると、ステツプ599で、MSBI1
46は、フラツグ307がセツトされているか否
かをチエツクする。フラツグ307がセツトされ
ていないか、又は、受取られたパケツトの処理が
終ると、MSBI146は、ステツプ598に戻る。
ステツプ599で、出力係属・フラツグ307を
検知したことに応答して、ステツプ601で、
MSBI146は、送出すべき出力キユー・デー
タ・エントリ317の探索を開始する。MSBI1
46は、構造300のポインタ301,302、
及び、次の出力キユーポインタ311を利用し
て、処理すべき出力キユー144を見出す。次
に、MSBI146は、その出力キユー144のエ
ントリ312をチエツクして、このキユー144
を飛び越すべきか否かを判定する。セツトされた
スキツプ・フラツグ312は、付属チヤンネル2
01の他端におけるポート202の入力キユーは
満杯で、従つて、パケツトを受取ることができな
いことを示す。従つて、ステツプ602で、その出
力キユー144は、送出し可能なデータ・エント
リ317を有するとは判定されない。この場合に
は、ステツプ603の指示のように、MSBI146
は、ステツプ601に戻つて、他の出力キユー14
4を探索する。
検知したことに応答して、ステツプ601で、
MSBI146は、送出すべき出力キユー・デー
タ・エントリ317の探索を開始する。MSBI1
46は、構造300のポインタ301,302、
及び、次の出力キユーポインタ311を利用し
て、処理すべき出力キユー144を見出す。次
に、MSBI146は、その出力キユー144のエ
ントリ312をチエツクして、このキユー144
を飛び越すべきか否かを判定する。セツトされた
スキツプ・フラツグ312は、付属チヤンネル2
01の他端におけるポート202の入力キユーは
満杯で、従つて、パケツトを受取ることができな
いことを示す。従つて、ステツプ602で、その出
力キユー144は、送出し可能なデータ・エント
リ317を有するとは判定されない。この場合に
は、ステツプ603の指示のように、MSBI146
は、ステツプ601に戻つて、他の出力キユー14
4を探索する。
スキツプ・フラツグ312がセツトされていな
いと、MSBI146は、ポインタ315,316
を比較して、両者が等しいか否かを判定する。ポ
インタ315,316が等しい場合、出力キユー
144には、空きがあり、送出すべきデータ・エ
ントリ317を有しない。従つて、ステツプ602
では、送出可能なデータ・エントリ317は見出
されず、ステツプ603の指示のように、MSBI1
46は、ステツプ601に戻つて他の出力キユー1
44を探索する。ポインタ315,316が等し
くない場合、ステツプ602で、出力キユー144
は少なくとも1つの送出可能なデータ・エントリ
317を有し、MSBI146は、アンロード・ポ
インタ316により指示されたデータ・エントリ
317をアクセスし、そのエントンにより示され
るパケツトを、その相手先に送出す。
いと、MSBI146は、ポインタ315,316
を比較して、両者が等しいか否かを判定する。ポ
インタ315,316が等しい場合、出力キユー
144には、空きがあり、送出すべきデータ・エ
ントリ317を有しない。従つて、ステツプ602
では、送出可能なデータ・エントリ317は見出
されず、ステツプ603の指示のように、MSBI1
46は、ステツプ601に戻つて他の出力キユー1
44を探索する。ポインタ315,316が等し
くない場合、ステツプ602で、出力キユー144
は少なくとも1つの送出可能なデータ・エントリ
317を有し、MSBI146は、アンロード・ポ
インタ316により指示されたデータ・エントリ
317をアクセスし、そのエントンにより示され
るパケツトを、その相手先に送出す。
パケツトを送出した(以下に説明)後に、
MBSI146は、ステツプ601に戻つて、送出す
べき次のデータ・エントリ317を求めて、その
出力キユー144を探索し、キユー144のすべ
てのエントリが送出されるまで、この処理を反復
する。次に、ステツプ603で、MSBI146は、
ステツプ601に戻つて他の出力キユー144を探
索する。
MBSI146は、ステツプ601に戻つて、送出す
べき次のデータ・エントリ317を求めて、その
出力キユー144を探索し、キユー144のすべ
てのエントリが送出されるまで、この処理を反復
する。次に、ステツプ603で、MSBI146は、
ステツプ601に戻つて他の出力キユー144を探
索する。
MSBI146は、カーネル同期式チヤンネルの
出力キユー144で、出力キユー処理を開始す
る。ステツプ601で、MSBI146は、まず出力
キユー制御構造300のエントリ301をアクセ
スし、カーネル同期式チヤンネルの出力キユー1
44を見出す。カーネル同期式チヤンネルの出力
キユー144を処理した後に、MSBI146は、
出力キユー制御構造300に戻つて、出力キユー
制御構造300のポインタ302をアクセスし
て、出力キユーの連係リスト上の最初の出力キユ
ー144を見出す。次にMSBI146は、この出
力キユーをアクセスして、前記のようにそれを処
理する。しかし、ステツプ603では、MSBI14
6は、連係リスト上の出力キユー144から出力
キユーのポインタ311を用いて、連係リスト上
で次の出力キユー144を見つけ出す。MBSI1
46は、連係リスト上で前記のような方法で各出
力キユー144を処理する。
出力キユー144で、出力キユー処理を開始す
る。ステツプ601で、MSBI146は、まず出力
キユー制御構造300のエントリ301をアクセ
スし、カーネル同期式チヤンネルの出力キユー1
44を見出す。カーネル同期式チヤンネルの出力
キユー144を処理した後に、MSBI146は、
出力キユー制御構造300に戻つて、出力キユー
制御構造300のポインタ302をアクセスし
て、出力キユーの連係リスト上の最初の出力キユ
ー144を見出す。次にMSBI146は、この出
力キユーをアクセスして、前記のようにそれを処
理する。しかし、ステツプ603では、MSBI14
6は、連係リスト上の出力キユー144から出力
キユーのポインタ311を用いて、連係リスト上
で次の出力キユー144を見つけ出す。MBSI1
46は、連係リスト上で前記のような方法で各出
力キユー144を処理する。
連係リスト上の最終出力キユー144の次番出
力キユー・ポインタ311は、空白エントリを有
する。ステツプ603で、MSBI146が、この空
白エントリ311に遭遇したとき、それは、連係
リストの最終端に到達して、それまでの送出可能
なデータエントリ317はすべて送出したことを
指示する。その業務が完了すると、MSBI146
は、ステツプ598に戻つて新たな業務を探求する。
力キユー・ポインタ311は、空白エントリを有
する。ステツプ603で、MSBI146が、この空
白エントリ311に遭遇したとき、それは、連係
リストの最終端に到達して、それまでの送出可能
なデータエントリ317はすべて送出したことを
指示する。その業務が完了すると、MSBI146
は、ステツプ598に戻つて新たな業務を探求する。
MSBI146によるパケツトを送出しならびに
MSBI146によるパケツトの受取りは、MSBI
146によるバス・インタフエース回路(BIC)
110のバツフア147との直列通信を含む。従
つて、パケツトの送り出しに含まれるステツプを
説明するまえに、少し本題を離れて、第12図に
示すようにバツフア147とそのMSBI146へ
のインターフエースとを考えるほうが有益であ
る。
MSBI146によるパケツトの受取りは、MSBI
146によるバス・インタフエース回路(BIC)
110のバツフア147との直列通信を含む。従
つて、パケツトの送り出しに含まれるステツプを
説明するまえに、少し本題を離れて、第12図に
示すようにバツフア147とそのMSBI146へ
のインターフエースとを考えるほうが有益であ
る。
バツフア147は、他のプロセツサ101に送
出されるパケツトを一時的に保有するための送出
しFIFO921と、論理的には送出しFIFO921
の延長部分であり、そのアドレスにはパケツトの
最後の語が書き込まれるところのパケツト終端
(EOP)レジスタ917と、他のプロセツサ10
1から受取られたパケツトを一時的に保有するた
めに受取りFIFO923と、他のプロセツサ10
1から受取られた特定の肯定応答パケツトを一時
的に保有するための「クイツク」メツセージ・レ
ジスタ918と、パケツトの相手先およびタイプ
ならびにこれらに関係のないその他の種々の機能
を指定するのに使用されるBIC制御レジスタ91
3と、バス・インタフエース回路(BIC)110
と、FIFOレジスタまたは「クイツク」メツセー
ジ・レジスタから読取られたあるいはそれに書込
むまれたりする最終パケツトと、の両方の状態を
MSBI146に送り返すのに使用される複数のシ
ングル・ビツト・インデイケータからなるステー
タス・レジスタ916とを含む。ステータス・レ
ジスタ916インデイケータは、読取られるとそ
の後クリヤされるという性質を有する。
出されるパケツトを一時的に保有するための送出
しFIFO921と、論理的には送出しFIFO921
の延長部分であり、そのアドレスにはパケツトの
最後の語が書き込まれるところのパケツト終端
(EOP)レジスタ917と、他のプロセツサ10
1から受取られたパケツトを一時的に保有するた
めに受取りFIFO923と、他のプロセツサ10
1から受取られた特定の肯定応答パケツトを一時
的に保有するための「クイツク」メツセージ・レ
ジスタ918と、パケツトの相手先およびタイプ
ならびにこれらに関係のないその他の種々の機能
を指定するのに使用されるBIC制御レジスタ91
3と、バス・インタフエース回路(BIC)110
と、FIFOレジスタまたは「クイツク」メツセー
ジ・レジスタから読取られたあるいはそれに書込
むまれたりする最終パケツトと、の両方の状態を
MSBI146に送り返すのに使用される複数のシ
ングル・ビツト・インデイケータからなるステー
タス・レジスタ916とを含む。ステータス・レ
ジスタ916インデイケータは、読取られるとそ
の後クリヤされるという性質を有する。
FIFOおよびレジスタは、プロセツサ101の
メモリ・アドレス空間901内へマツプ化されて
いる。第12図に示すように、アドレス(J)への書
込みは、送出しFIFO921を書込むことになる。
アドレス(J)の読取りは、受取りFIFO923を読
取ることになる。アドレス(K)への書込みは、
EOPレジスタ917を書込むことになる。アド
レス(K)の読取りは、「クイツク」メツセージレジ
スタ918を読取ることになる。アドレス(L)への
書込みは、制御レジスタ913に書込むことにな
る。またアドレス(M)の読取りは、レジスタ916
を読取ることになる。前記のアドレスは、メモ
リ・スペクトル内で隣接してアドレス番号が付け
られる必要はない。
メモリ・アドレス空間901内へマツプ化されて
いる。第12図に示すように、アドレス(J)への書
込みは、送出しFIFO921を書込むことになる。
アドレス(J)の読取りは、受取りFIFO923を読
取ることになる。アドレス(K)への書込みは、
EOPレジスタ917を書込むことになる。アド
レス(K)の読取りは、「クイツク」メツセージレジ
スタ918を読取ることになる。アドレス(L)への
書込みは、制御レジスタ913に書込むことにな
る。またアドレス(M)の読取りは、レジスタ916
を読取ることになる。前記のアドレスは、メモ
リ・スペクトル内で隣接してアドレス番号が付け
られる必要はない。
ここで第8図のステツプ602に戻るが、送出す
べきデータ・エントリ317を出力キユー144
内に見出すと、第9図のステツプ608で、MSBI
146は、バス・インタフエース回路(BIC)1
10の送出しFIFO921に空きがあるか否かを
チエツクする。MSBI146は、ステータス・レ
ジスタ916を読取ること、およびそのSFE(送
出しFIFO空き)ビツトの状態をチエツクするこ
とにより判定する。
べきデータ・エントリ317を出力キユー144
内に見出すと、第9図のステツプ608で、MSBI
146は、バス・インタフエース回路(BIC)1
10の送出しFIFO921に空きがあるか否かを
チエツクする。MSBI146は、ステータス・レ
ジスタ916を読取ること、およびそのSFE(送
出しFIFO空き)ビツトの状態をチエツクするこ
とにより判定する。
送出しFIFO921に空きがないことがわかる
と、MSBI146は、出力キユー制御構造300
のインデイケータ303をアクセスして、SFEの
タイムアウト期間を求め、ステツプ609でその期
間を数え始める。ステツプ610、MSBI146は、
SFEのタイムアウト期間を数えながら、ステータ
ス・レジスタ916のSFEビツトのチエツクを継
続する。送出しFIFO921が空きになるまえに、
期間がタイムアウトすると、これは、バス・イン
タフエース回路(BIC)110のトラブル発生を
意味する。従つて、MSBI146は、ステツプ
619でバス・インタフエース回路(BIC)110
をリセツトして、それを初期化する。次に、
MSBI146は、応答キユー142を介して、ト
ラブルをインターフエース・フアシリテイ141
に通知する。ステツプ604で、MSBIは、応答キ
ユー142内でロード・ポインタ360により指
示された応答エントリにアクセスし、タグ・フイ
ールド370をセツトしてエラー状態を識別し、
データ・フイールド371内にエラー状態により
影響されるキユー144の識別ラベルを記憶す
る。次に、ステツプ605で、MSBI146は、ロ
ードポインタ360を進めて、次の自由な応答エ
ントリ362を指示し、ステツプ606でプロセツ
サ101のフアシリテイ141に割込みを出す。
次に、ステツプ640、でMSBI146は、非作動
状態となり、この時、MSBIは、タスク・フラツ
グ305をモニタする。このタスク・フラツグ3
05がインターフエース・フアシリテイ141に
よりセツトされるとき、MSBI146は、パラメ
ータ306により指定されたタスクを実行する。
タスクはステツプ598へのリターンを含んでもよ
い。
と、MSBI146は、出力キユー制御構造300
のインデイケータ303をアクセスして、SFEの
タイムアウト期間を求め、ステツプ609でその期
間を数え始める。ステツプ610、MSBI146は、
SFEのタイムアウト期間を数えながら、ステータ
ス・レジスタ916のSFEビツトのチエツクを継
続する。送出しFIFO921が空きになるまえに、
期間がタイムアウトすると、これは、バス・イン
タフエース回路(BIC)110のトラブル発生を
意味する。従つて、MSBI146は、ステツプ
619でバス・インタフエース回路(BIC)110
をリセツトして、それを初期化する。次に、
MSBI146は、応答キユー142を介して、ト
ラブルをインターフエース・フアシリテイ141
に通知する。ステツプ604で、MSBIは、応答キ
ユー142内でロード・ポインタ360により指
示された応答エントリにアクセスし、タグ・フイ
ールド370をセツトしてエラー状態を識別し、
データ・フイールド371内にエラー状態により
影響されるキユー144の識別ラベルを記憶す
る。次に、ステツプ605で、MSBI146は、ロ
ードポインタ360を進めて、次の自由な応答エ
ントリ362を指示し、ステツプ606でプロセツ
サ101のフアシリテイ141に割込みを出す。
次に、ステツプ640、でMSBI146は、非作動
状態となり、この時、MSBIは、タスク・フラツ
グ305をモニタする。このタスク・フラツグ3
05がインターフエース・フアシリテイ141に
よりセツトされるとき、MSBI146は、パラメ
ータ306により指定されたタスクを実行する。
タスクはステツプ598へのリターンを含んでもよ
い。
フアシリテ141は第24図に示すように割込
みに応答する。
みに応答する。
ステツプ608で、送出しFIFO921に空きがあ
ることが判明するか、又は、ステツプ610で、
SFEタイムアウト期間がくるまえに空きになつた
とすると、MSBI146は、送出されるべきデー
タ・エントリ317のバス・インタフエース回路
(BIC)制御語323をアクセスし、ステツプ612
で、その相手先IDとパケツト・タイプの内容と
をBIG制御レジスタ913に書込む。次にステツ
プ631で、MSBI146は、送出されるべきデー
タ・エントリ317のパケツト制御語320にア
クセスしてクイツク・メツセージ・シーケンス番
号をパケツト制御語のフイールド334内に入れ
る。シーケンス番号は、丁度MSBI146により
保持されたシーケンス・カウントであり、返答肯
定応答メツセージをパケツトに付属させるのに使
用される。次にステツプ632で、MSBI146は、
このカウントを1つ増す。次にステツプ613で、
MSBI146は、パケツト制御語320を「送出
しFIFO」921に書込む。MSBI146は、ま
たステツプ633で、送出されるべきデータ・エン
トリ317の相手先ポートID322をアクセス
して、そ例を「送出しFIFO」921に書込む。
次に、MSBI146は、送出されるべきデータ・
エントリ317の語321をアクセスして、パケ
ツトにより転送されることをユーザが希望するデ
ータをホールドするバツフアの位置を決定し、ス
テツプ614でデータを「送出しFIFO」921のメ
モリ・マツプ化アドレスに書込むことにより、デ
ータの「送出しFIFO」921へのDMA転送を
実行する。
ることが判明するか、又は、ステツプ610で、
SFEタイムアウト期間がくるまえに空きになつた
とすると、MSBI146は、送出されるべきデー
タ・エントリ317のバス・インタフエース回路
(BIC)制御語323をアクセスし、ステツプ612
で、その相手先IDとパケツト・タイプの内容と
をBIG制御レジスタ913に書込む。次にステツ
プ631で、MSBI146は、送出されるべきデー
タ・エントリ317のパケツト制御語320にア
クセスしてクイツク・メツセージ・シーケンス番
号をパケツト制御語のフイールド334内に入れ
る。シーケンス番号は、丁度MSBI146により
保持されたシーケンス・カウントであり、返答肯
定応答メツセージをパケツトに付属させるのに使
用される。次にステツプ632で、MSBI146は、
このカウントを1つ増す。次にステツプ613で、
MSBI146は、パケツト制御語320を「送出
しFIFO」921に書込む。MSBI146は、ま
たステツプ633で、送出されるべきデータ・エン
トリ317の相手先ポートID322をアクセス
して、そ例を「送出しFIFO」921に書込む。
次に、MSBI146は、送出されるべきデータ・
エントリ317の語321をアクセスして、パケ
ツトにより転送されることをユーザが希望するデ
ータをホールドするバツフアの位置を決定し、ス
テツプ614でデータを「送出しFIFO」921のメ
モリ・マツプ化アドレスに書込むことにより、デ
ータの「送出しFIFO」921へのDMA転送を
実行する。
バツフアからBIC「送出しFIFO」921へのデ
ータ語のDMA転送の完了に続いて、MSBI14
6は、ユーザ制御語324−327にアクセスし
て、第10図のステツプ607で、それらを「送出
しFIFO」921に書込む。MSBI146は、ま
たプロセツサ101が知つている現在時刻をプロ
セツサ101から得て、ステツプ615で、その時
刻をパケツトに対するタイム・スタンプとして、
EOPレジスタ917のアドレスに書込む。この
EOPレジスタ917アドレスに書込むことは、
結局タイム・スタンプを「送出しFIFO」921
に書込むことになるが、これはその時刻が全パケ
ツトの所有であることをバス・インタフエース回
路(BIC)110に合図し、パケツトにバス15
0の競合をさせ、パス150を介してパケツトを
その相手先まで伝送させる。
ータ語のDMA転送の完了に続いて、MSBI14
6は、ユーザ制御語324−327にアクセスし
て、第10図のステツプ607で、それらを「送出
しFIFO」921に書込む。MSBI146は、ま
たプロセツサ101が知つている現在時刻をプロ
セツサ101から得て、ステツプ615で、その時
刻をパケツトに対するタイム・スタンプとして、
EOPレジスタ917のアドレスに書込む。この
EOPレジスタ917アドレスに書込むことは、
結局タイム・スタンプを「送出しFIFO」921
に書込むことになるが、これはその時刻が全パケ
ツトの所有であることをバス・インタフエース回
路(BIC)110に合図し、パケツトにバス15
0の競合をさせ、パス150を介してパケツトを
その相手先まで伝送させる。
MSBI146が、バス・インタフエース回路
(BIC)110に送出したパケツトを第13図に
示す。これは、出力キユー・データ・エントリ3
17の語320,322および324−327
の、DMA転送によりバツフアからプロセツサ1
01のメモリ内に転送されるデータ語1023、
およびタイム・スタンプを保有する語328とか
らなる。
(BIC)110に送出したパケツトを第13図に
示す。これは、出力キユー・データ・エントリ3
17の語320,322および324−327
の、DMA転送によりバツフアからプロセツサ1
01のメモリ内に転送されるデータ語1023、
およびタイム・スタンプを保有する語328とか
らなる。
第10図に戻つて、EOPレジスタ917に書
込むと、MSBI146は、ステツプ616で、出力
キユー制御構造300のインデイケータ303に
より指定されたSFEタイムアウト期間を数えはじ
める。次にMSBI146は、ステツプ617で、ス
テータス・レジスタ916をモニタして反復チエ
ツクし、ステツプ618に指示されるように、SFE
ビツトおよびRNACK(否定応答)を読取る。
込むと、MSBI146は、ステツプ616で、出力
キユー制御構造300のインデイケータ303に
より指定されたSFEタイムアウト期間を数えはじ
める。次にMSBI146は、ステツプ617で、ス
テータス・レジスタ916をモニタして反復チエ
ツクし、ステツプ618に指示されるように、SFE
ビツトおよびRNACK(否定応答)を読取る。
ステツプ618で、「送出しFIFO」921に空き
がある(全パケツトが送出された結果として)こ
とをSFEビツトが指示する前に、SFEタイムアウ
ト期間が満了したならば、これは連係層10にお
けるハードウエア・トラブルの指示である。従つ
て、MSBI146は、第9図のステツプ619で、
バス・インタフエース回路(BIC)110にリセ
ツト信号を送り、応答キユー142にエントリを
形成してフアシリテイ114に通知する。
がある(全パケツトが送出された結果として)こ
とをSFEビツトが指示する前に、SFEタイムアウ
ト期間が満了したならば、これは連係層10にお
けるハードウエア・トラブルの指示である。従つ
て、MSBI146は、第9図のステツプ619で、
バス・インタフエース回路(BIC)110にリセ
ツト信号を送り、応答キユー142にエントリを
形成してフアシリテイ114に通知する。
第10図のステツプ618で、パケツトの送り出
しが完了する前に、相手先のプロセツサ101の
バス・インタフエース回路(BIC)110から
RNACK(否定応答)信号を受けたことをステー
タス・レジスタ916のRNACKビツトが指示し
た場合、これは、例えば、相手先の受取りFIFO
923のオーバーフローの理由で相手先プロセツ
サ101がBIG110が全パケツトを受取り損つ
たことの指示である。相手先プロセツサ101の
バス・インタフエース回路(BIC)110に回復
時間を与えるために、MSBI146は、ステツプ
620で、(出力キユー144のデータ・エントリ3
17の処理を中止して)、出力キユー144をバ
イパスし、第8図のステツプ601に戻つて、送出
されるべき他の出力キユー144のデータエント
リ317を探索する。
しが完了する前に、相手先のプロセツサ101の
バス・インタフエース回路(BIC)110から
RNACK(否定応答)信号を受けたことをステー
タス・レジスタ916のRNACKビツトが指示し
た場合、これは、例えば、相手先の受取りFIFO
923のオーバーフローの理由で相手先プロセツ
サ101がBIG110が全パケツトを受取り損つ
たことの指示である。相手先プロセツサ101の
バス・インタフエース回路(BIC)110に回復
時間を与えるために、MSBI146は、ステツプ
620で、(出力キユー144のデータ・エントリ3
17の処理を中止して)、出力キユー144をバ
イパスし、第8図のステツプ601に戻つて、送出
されるべき他の出力キユー144のデータエント
リ317を探索する。
第10図のステツプ618で、SFEタイムアウト
期間が完了となる前に、またはRNACK信号が受
取られる前に、全パケツトが送出されたことを
MSBI146が検出すること、これは、相手先プ
ロセツサ101のバス・インタフエース回路
(BIC)110へのパケツト転送が成功したこと
の指示である。ステツプ630で、MSBI146は、
構造300のインデイケータ304で指定された
ACK(肯定応答)期間を数えはじめる。
期間が完了となる前に、またはRNACK信号が受
取られる前に、全パケツトが送出されたことを
MSBI146が検出すること、これは、相手先プ
ロセツサ101のバス・インタフエース回路
(BIC)110へのパケツト転送が成功したこと
の指示である。ステツプ630で、MSBI146は、
構造300のインデイケータ304で指定された
ACK(肯定応答)期間を数えはじめる。
次い、MSBI146は、ステータス・レジスタ
916をモニタして、ステツプ621で指示される
ように、そのQMNE(「クイツク」メツセージ・
レジスタは空白でない)ビツトをチエツクする。
QMNEビツトが相手先プロセツサ101MSBI
146から「クイツク」メツセージの受取りを指
示する前に、ACKタイムアウト期間が満了とな
つた場合、これは、相手先プロセツサ101の
MSBI146による送出しパケツトの受取りが不
成功に終つたことの指示である。相手先MSBI1
46に回復時間を与えるために、MSBI146
は、ステツプ620で、現在処理中の出力キユー1
44のデータ・エントリ317の処理を中止し
て、第8図のステツプ601戻り、送るべき他の出
力キユー144のデータ・エントリ317を探索
する。
916をモニタして、ステツプ621で指示される
ように、そのQMNE(「クイツク」メツセージ・
レジスタは空白でない)ビツトをチエツクする。
QMNEビツトが相手先プロセツサ101MSBI
146から「クイツク」メツセージの受取りを指
示する前に、ACKタイムアウト期間が満了とな
つた場合、これは、相手先プロセツサ101の
MSBI146による送出しパケツトの受取りが不
成功に終つたことの指示である。相手先MSBI1
46に回復時間を与えるために、MSBI146
は、ステツプ620で、現在処理中の出力キユー1
44のデータ・エントリ317の処理を中止し
て、第8図のステツプ601戻り、送るべき他の出
力キユー144のデータ・エントリ317を探索
する。
第10図のステツプ621で、前記期間内に
MSBI146が相手先ステツプから「クイツク」
メツセージの受取りを検出した場合、MSBI14
6は第11図のステツプ622で、バス・インタフ
エース回路(BIC)110の「クイツク」メツセ
ージ・レジスタ918を読取つて、、「クイツク」
メツセージを得る。
MSBI146が相手先ステツプから「クイツク」
メツセージの受取りを検出した場合、MSBI14
6は第11図のステツプ622で、バス・インタフ
エース回路(BIC)110の「クイツク」メツセ
ージ・レジスタ918を読取つて、、「クイツク」
メツセージを得る。
「クイツク」メツセージは、第14図に線図で
示す。これは、このクイツク・メツセージによる
応答を受けたパケツトのクイツク・メツセージ・
シーケンス番号フイールド334、そのメツセー
ジの発生元を識別する「送出しBIC ID」フイー
ルド1101、およびこのメツセージは応答され
たパケツトの肯定応答(ACK)であるか否定応
答(NACK)であるかを指示するタイプ・フイ
ールド1102とから成る単一語パケツトであ
る。
示す。これは、このクイツク・メツセージによる
応答を受けたパケツトのクイツク・メツセージ・
シーケンス番号フイールド334、そのメツセー
ジの発生元を識別する「送出しBIC ID」フイー
ルド1101、およびこのメツセージは応答され
たパケツトの肯定応答(ACK)であるか否定応
答(NACK)であるかを指示するタイプ・フイ
ールド1102とから成る単一語パケツトであ
る。
第11図のステツプ622で、「クイツク」メツセ
ージを読取つた後に、MSBI146は、ステツプ
623で受取られた「クイツク」メツセージのタイ
プ・フイールド1102を調査して、メツセー
ジ・タイプを判定する。「クイツク」メツセージ
がNACK(否定応答)であれば、これは、入力キ
ユー143オーバーフローが発生したので、パケ
ツトは相手先MSBI146により節に受取られな
かつたことを指示する。トラブル発生状態を相手
先プロセツサ101で回復する時間を与えるため
に、送出側MSBI146は、ステツプ624で、そ
れが現在処理中の出力キユー144スキツプ・フ
ラツグ312をセツトする。エントリ312がセ
ツトされている間は、MSBI146は、その出力
キユー144のいかなるデータ・エントリ317
も処理せず、送出しない。次に、MSBI146
は、第8図のステツプ601に戻つて、送出される
べき他の出力キユー144のデータ・エントリ3
17を探索する。第11図のステツプ623で検査
された「クイツク」メツセージが、ACK(肯定応
答)であれば、これは相手先プロセツサ101に
よるパケツトの受取りが成功したことを指示す
る。従つて、MSBI146は、出力キユー144
のアンロード・ポインタ316をアクセスして、
ステツプ625でアンドロード・ポインタ進め、こ
れにより送出されたエントリ317を出力キユー
144から有効に削除可能である。次に、ステツ
プ626で、MSBI146は、フラツグ313をチ
エツクして、この出力キユー144の上でいずれ
かのプロセス140が待機中であるかを判定す
る。待機中でなければ、MSBIは、第8図のステ
ツプ601に戻つて送られるべき他の出力キユー・
データ・エントリ317を探索する。
ージを読取つた後に、MSBI146は、ステツプ
623で受取られた「クイツク」メツセージのタイ
プ・フイールド1102を調査して、メツセー
ジ・タイプを判定する。「クイツク」メツセージ
がNACK(否定応答)であれば、これは、入力キ
ユー143オーバーフローが発生したので、パケ
ツトは相手先MSBI146により節に受取られな
かつたことを指示する。トラブル発生状態を相手
先プロセツサ101で回復する時間を与えるため
に、送出側MSBI146は、ステツプ624で、そ
れが現在処理中の出力キユー144スキツプ・フ
ラツグ312をセツトする。エントリ312がセ
ツトされている間は、MSBI146は、その出力
キユー144のいかなるデータ・エントリ317
も処理せず、送出しない。次に、MSBI146
は、第8図のステツプ601に戻つて、送出される
べき他の出力キユー144のデータ・エントリ3
17を探索する。第11図のステツプ623で検査
された「クイツク」メツセージが、ACK(肯定応
答)であれば、これは相手先プロセツサ101に
よるパケツトの受取りが成功したことを指示す
る。従つて、MSBI146は、出力キユー144
のアンロード・ポインタ316をアクセスして、
ステツプ625でアンドロード・ポインタ進め、こ
れにより送出されたエントリ317を出力キユー
144から有効に削除可能である。次に、ステツ
プ626で、MSBI146は、フラツグ313をチ
エツクして、この出力キユー144の上でいずれ
かのプロセス140が待機中であるかを判定す
る。待機中でなければ、MSBIは、第8図のステ
ツプ601に戻つて送られるべき他の出力キユー・
データ・エントリ317を探索する。
あるプロセス140がこの出力キユー144上
で待機中であれば、MSBI146は、パケツトの
転送の成功をフアシリテイ141に通知する。第
11図のステツプ627で、MSBI146は応答キ
ユー142内にロード・ポインタ360により指
示された応答エントリ362をアクセスし、出力
キユー応答を識別するためにタグ・フラツグ37
0をセツトし、データ・フイールド371内に出
力キユーの見出し340のアドレスを記憶する。
次にMSBI146は、ステツプ628で、次に自由
な応答エントリ362を指示するためにポインタ
360を進め、ステツプ629で、プロセツサ10
1のフアシリテイ141に割込みを出す。次に
MSBIは、第8図のステツプ601に戻つて、送出
すべき他の出力キユーデータ・エントリ317を
探索する。
で待機中であれば、MSBI146は、パケツトの
転送の成功をフアシリテイ141に通知する。第
11図のステツプ627で、MSBI146は応答キ
ユー142内にロード・ポインタ360により指
示された応答エントリ362をアクセスし、出力
キユー応答を識別するためにタグ・フラツグ37
0をセツトし、データ・フイールド371内に出
力キユーの見出し340のアドレスを記憶する。
次にMSBI146は、ステツプ628で、次に自由
な応答エントリ362を指示するためにポインタ
360を進め、ステツプ629で、プロセツサ10
1のフアシリテイ141に割込みを出す。次に
MSBIは、第8図のステツプ601に戻つて、送出
すべき他の出力キユーデータ・エントリ317を
探索する。
フアシリテイ141は割込みの受取りに対し第
24図に示すように応答する。
24図に示すように応答する。
[連係層]
第1図のバス・インタフエース回路(BIC)1
10およびバス150を第15図に示す。バス・
インタフエース回路(BIC)110は、「受取り
FIFO」923と、「送出しFIFO」921と、「ク
イツク」メツセージレジスタ918と、からなる
データ・バツフア装置1220を含む。バス・イ
ンタフエース回路(BIC)110は、また、制御
装置1214、制御レジスタ913と、ステータ
ス・レジスタ916と、パケツト終端(EOP)
レジスタ917をも含む。これらの装置は、プロ
セツサ101バス・インタフエース回路(BIC)
110との間、およびプロセツサ101間の通信
内に含めらる。「受取りFIFO」923は、来入パ
ケツトの貯蔵所であり、一方「送出しFIFO」9
21は、送出パケツトの貯蔵所である。「クイツ
ク」メツセージ・レジスタ918は、受取られた
「クイツク」メツセージ用の貯蔵所であつて、単
一語高優先順位パケツトである。制御レジスタ9
13は、送出されるべきパケツトの相手先の識別
ラベルを指定するのに使用され、またプロセツサ
101は、バス・インタフエース回路(BIC)1
10のアクテイビテイを制御する手段も備えてい
る。ステータス・レジスタ916は、バス・イン
タフエース回路(BIC)110の状態および
FIFO921,923から読取られたりまたはそ
れらに書込まれたりする最終パケツトに関する情
報をプロセツサ101に送り返すために使用され
る。またEOPレジスタ917は、バス・インタ
フエース回路(BIC)110のバス150へのア
クセスの競合を開始させるために使用される。
EOPレジスタ917は、機能的には「送出し
FIFO」921の延長部であり、EOPレジスタ9
17のアドレスに書込まれルデータは実際には
FIFO921に書込まれ、またEOPレジスタ91
7は、最終パケツト後を添付けするために「送出
しFIFO」921に送出す追加のパケツト終端ビ
ツトを発生する。
10およびバス150を第15図に示す。バス・
インタフエース回路(BIC)110は、「受取り
FIFO」923と、「送出しFIFO」921と、「ク
イツク」メツセージレジスタ918と、からなる
データ・バツフア装置1220を含む。バス・イ
ンタフエース回路(BIC)110は、また、制御
装置1214、制御レジスタ913と、ステータ
ス・レジスタ916と、パケツト終端(EOP)
レジスタ917をも含む。これらの装置は、プロ
セツサ101バス・インタフエース回路(BIC)
110との間、およびプロセツサ101間の通信
内に含めらる。「受取りFIFO」923は、来入パ
ケツトの貯蔵所であり、一方「送出しFIFO」9
21は、送出パケツトの貯蔵所である。「クイツ
ク」メツセージ・レジスタ918は、受取られた
「クイツク」メツセージ用の貯蔵所であつて、単
一語高優先順位パケツトである。制御レジスタ9
13は、送出されるべきパケツトの相手先の識別
ラベルを指定するのに使用され、またプロセツサ
101は、バス・インタフエース回路(BIC)1
10のアクテイビテイを制御する手段も備えてい
る。ステータス・レジスタ916は、バス・イン
タフエース回路(BIC)110の状態および
FIFO921,923から読取られたりまたはそ
れらに書込まれたりする最終パケツトに関する情
報をプロセツサ101に送り返すために使用され
る。またEOPレジスタ917は、バス・インタ
フエース回路(BIC)110のバス150へのア
クセスの競合を開始させるために使用される。
EOPレジスタ917は、機能的には「送出し
FIFO」921の延長部であり、EOPレジスタ9
17のアドレスに書込まれルデータは実際には
FIFO921に書込まれ、またEOPレジスタ91
7は、最終パケツト後を添付けするために「送出
しFIFO」921に送出す追加のパケツト終端ビ
ツトを発生する。
プロセツサ101は、「送出しFIFO」921、
制御レジスタ913、およびEOPレジスタ91
7に対する書込みアクセスを有し、またステータ
ス・レジスタ916、「受取りFIFO」923、お
よび「クイツク」メツセージ・レジスタ918に
対する読取りアクセスを有する。実施例では、こ
れらの装置は、プロセツサ101のアドレス空間
内にマツプ化され(第12図参照)、そのメモ
リ・アドレス・バスを介してアドレスされる。こ
の場合に、プロセツサ・バス1203は、プロセ
ツサ101のメモリ・バスの単なる延長部であ
る。例えば、プロセツサの周辺バスを使用するよ
うな代替バス装置は同様に容易に考案可能であ
る。
制御レジスタ913、およびEOPレジスタ91
7に対する書込みアクセスを有し、またステータ
ス・レジスタ916、「受取りFIFO」923、お
よび「クイツク」メツセージ・レジスタ918に
対する読取りアクセスを有する。実施例では、こ
れらの装置は、プロセツサ101のアドレス空間
内にマツプ化され(第12図参照)、そのメモ
リ・アドレス・バスを介してアドレスされる。こ
の場合に、プロセツサ・バス1203は、プロセ
ツサ101のメモリ・バスの単なる延長部であ
る。例えば、プロセツサの周辺バスを使用するよ
うな代替バス装置は同様に容易に考案可能であ
る。
装置913−918,921,923のいずれ
かがプロセツサ101によりアドレスされると、
制御装置1214は、バス1215を介して、プ
ロセツサ101から読取りまたは書込み信号を受
取る。制御装置1214は、アドレスおよび特定
操作(読取りかまたは書込みか)の2つの特定ビ
ツトを調査して、4つにアドレス可能なこれら装
置のいずれかを選択し、またプロセツサ101か
らアドレス可能装置へのアクセスをよく知られた
方法により制御する。バツフア147のFIFOお
よびレジスタへの読取りおよび書込みアクセスの
個別制御を実行するために、有限状態マシンまた
は類似の論理を使用可能である。これらの操作を
実行する回路および論理は当業者には既知である
ので、ここでは触れない。
かがプロセツサ101によりアドレスされると、
制御装置1214は、バス1215を介して、プ
ロセツサ101から読取りまたは書込み信号を受
取る。制御装置1214は、アドレスおよび特定
操作(読取りかまたは書込みか)の2つの特定ビ
ツトを調査して、4つにアドレス可能なこれら装
置のいずれかを選択し、またプロセツサ101か
らアドレス可能装置へのアクセスをよく知られた
方法により制御する。バツフア147のFIFOお
よびレジスタへの読取りおよび書込みアクセスの
個別制御を実行するために、有限状態マシンまた
は類似の論理を使用可能である。これらの操作を
実行する回路および論理は当業者には既知である
ので、ここでは触れない。
制御装置1214は、アドレス情報を復号する
ために必要な復号器と、有限状態マシンを実行す
るための「フイード・プログラム可能論理配列
(FPLAs)」および「フイールド・プログラム可
能論理シーケンサ(FPLSs)」と、からなる。こ
れらの装置はすべて市販され、所定機能を実行す
るこれらの使用法は周知である。
ために必要な復号器と、有限状態マシンを実行す
るための「フイード・プログラム可能論理配列
(FPLAs)」および「フイールド・プログラム可
能論理シーケンサ(FPLSs)」と、からなる。こ
れらの装置はすべて市販され、所定機能を実行す
るこれらの使用法は周知である。
プロセツサ101は、メモリーマツプ化FIFO
アドレスに反復書込みを実行することにより、パ
ケツトを一時に一語ずつ「送出しFIFO」921
にロードする。FIFO921内には一時に一つの
パケツトしか入れられない。実施例では、プロセ
ツサ101がパケツトの語を「送出しFIFO」9
21に書込むときに、パリテイ・ジエネレータ1
227が各データ語に対するパリテイ・コードを
自動的に計算し、FIFO921内に語と一緒にパ
リテイ・コードも記憶する。
アドレスに反復書込みを実行することにより、パ
ケツトを一時に一語ずつ「送出しFIFO」921
にロードする。FIFO921内には一時に一つの
パケツトしか入れられない。実施例では、プロセ
ツサ101がパケツトの語を「送出しFIFO」9
21に書込むときに、パリテイ・ジエネレータ1
227が各データ語に対するパリテイ・コードを
自動的に計算し、FIFO921内に語と一緒にパ
リテイ・コードも記憶する。
FIFO921は、制御装置1214よりモニタ
される通常の「バツフア空き」指示を備えた標準
市販のFIFOである。FIFO921内に記憶される
最初の語は、「バツフア空き」の指示を否定し、
制御装置1214によりステータス・レジスタ9
16のSFEビツトをクリアする。
される通常の「バツフア空き」指示を備えた標準
市販のFIFOである。FIFO921内に記憶される
最初の語は、「バツフア空き」の指示を否定し、
制御装置1214によりステータス・レジスタ9
16のSFEビツトをクリアする。
プロセツサ101は、パケツトの最後の一語の
みをEOPレジスタ917のアドレスに書込んで、
パケツトの終端を指示する。パリテイ・ジエネレ
ータ1217は、同様にこの語に対するパリテ
イ・コードも計算し、それを「送出しFIFO」9
21に送出する。
みをEOPレジスタ917のアドレスに書込んで、
パケツトの終端を指示する。パリテイ・ジエネレ
ータ1217は、同様にこの語に対するパリテ
イ・コードも計算し、それを「送出しFIFO」9
21に送出する。
「送出しFIFO」921に伝送するパケツトの
データ語と共に、プロセツサ101は、また制御
レジスタ913にバス・インタフエース回路
(BIC)制御語323も伝送する。バス・インタ
フエース回路(BIC)制御後は、、7ビツトの相
手先識別コード(DID)と1ビツトのパケツト・
タイプ・コードとからなる。相手先コードは、パ
ケツトが伝送されるべき相手先プロセツサ101
のBIG110そのもの、またはそのアドレスであ
る。パケツト・タイプ・コードは、パケツトがレ
ギユラー・メツセージかまたは「クイツク」メツ
セージかを指示する。
データ語と共に、プロセツサ101は、また制御
レジスタ913にバス・インタフエース回路
(BIC)制御語323も伝送する。バス・インタ
フエース回路(BIC)制御後は、、7ビツトの相
手先識別コード(DID)と1ビツトのパケツト・
タイプ・コードとからなる。相手先コードは、パ
ケツトが伝送されるべき相手先プロセツサ101
のBIG110そのもの、またはそのアドレスであ
る。パケツト・タイプ・コードは、パケツトがレ
ギユラー・メツセージかまたは「クイツク」メツ
セージかを指示する。
この実施例のシステムにおいては、データ語
は、32ビツトからなり、各々パリテイ・ジネレー
タ1227により発生される4つのパリテイ・ビ
ツトが付加される。「送出しFIFO」921は、前
記の36ビツトとEOPレジスタ917により発生
されるパケツト終端ビツトを収容するように37ビ
ツトの幅を有する。更に、EOPレジスタ917
もまた、パケツトの最終の語が受取られたことを
制御装置1214に指示するEOPW(パケツト終
端語)出力信号を発生する。EOPW信号は、制
御装置1214に対し相互連結バス150に対す
る競合を行わせる。
は、32ビツトからなり、各々パリテイ・ジネレー
タ1227により発生される4つのパリテイ・ビ
ツトが付加される。「送出しFIFO」921は、前
記の36ビツトとEOPレジスタ917により発生
されるパケツト終端ビツトを収容するように37ビ
ツトの幅を有する。更に、EOPレジスタ917
もまた、パケツトの最終の語が受取られたことを
制御装置1214に指示するEOPW(パケツト終
端語)出力信号を発生する。EOPW信号は、制
御装置1214に対し相互連結バス150に対す
る競合を行わせる。
相互連結バス150は、並列バスで、これはア
ービタ回路1211が結合されている多重ビツト
「プライオリテイ」バス1251を含む。バス選
択は、バス・アクセスをプライオリテイ(優先順
位)ベースで行なう多数の既知のバス選択方法の
いずれかで実行可能である。公知のバス装置は、
選択プロトコルが定義されている標準S−100バ
スである。アービタ回路1211は、S−100バ
スに対する指定品のような周知のアービタ回路ま
たは多数の競合物の中から選択しかつ高優先順位
取合物に許可信号を与える類似回路でよい。この
実施例のシステムにおいては、ある1つのバス・
サイクルにバス150を取合う(競合する)全て
のアービタ1211は、後続のバス・サイクルで
活性化されるアービタ1211がバス150を捕
獲することを許可される前に、サービスを受ける
ようにバス150に対し「公正な」アクセスを与
えるように設けられている。このようなバス割付
けを実行する装置は、「記憶装置グループ・バス
割付けシステム」という名称の米国特許第
4514725号および第4384323号に開示されている。
いわゆる「公正アクセス」システムうを用いてバ
ス150を取合う一群のバス・インタフエース回
路(BIC)110は、バス150のBSTリード
1260を指定する。取合い(競合)はいくつか
のバス・サイクルの間継続されるが、BSTリー
ド1260が指定されている限り、他のバス・イ
ンタフエース回路(BIC)110は、バス150
を取合うことをしない。あるバス・インタフエー
ス回路(BIC)110が、競合プロセスにあると
き、それは「コンテンド」(CONTEND)リード
1261を指定する。バス・インタフエース回路
(BIC)110が、バス150を捕獲すると、そ
れは、リード1261を開放して「ホールド」
(HOLD)リード1259を指定し、パケツト転
送期間中それを指定したまま保持する。
ービタ回路1211が結合されている多重ビツト
「プライオリテイ」バス1251を含む。バス選
択は、バス・アクセスをプライオリテイ(優先順
位)ベースで行なう多数の既知のバス選択方法の
いずれかで実行可能である。公知のバス装置は、
選択プロトコルが定義されている標準S−100バ
スである。アービタ回路1211は、S−100バ
スに対する指定品のような周知のアービタ回路ま
たは多数の競合物の中から選択しかつ高優先順位
取合物に許可信号を与える類似回路でよい。この
実施例のシステムにおいては、ある1つのバス・
サイクルにバス150を取合う(競合する)全て
のアービタ1211は、後続のバス・サイクルで
活性化されるアービタ1211がバス150を捕
獲することを許可される前に、サービスを受ける
ようにバス150に対し「公正な」アクセスを与
えるように設けられている。このようなバス割付
けを実行する装置は、「記憶装置グループ・バス
割付けシステム」という名称の米国特許第
4514725号および第4384323号に開示されている。
いわゆる「公正アクセス」システムうを用いてバ
ス150を取合う一群のバス・インタフエース回
路(BIC)110は、バス150のBSTリード
1260を指定する。取合い(競合)はいくつか
のバス・サイクルの間継続されるが、BSTリー
ド1260が指定されている限り、他のバス・イ
ンタフエース回路(BIC)110は、バス150
を取合うことをしない。あるバス・インタフエー
ス回路(BIC)110が、競合プロセスにあると
き、それは「コンテンド」(CONTEND)リード
1261を指定する。バス・インタフエース回路
(BIC)110が、バス150を捕獲すると、そ
れは、リード1261を開放して「ホールド」
(HOLD)リード1259を指定し、パケツト転
送期間中それを指定したまま保持する。
「プライオリテイ」(PRIORITY)バス125
1は、8本の優先順位リードを有する8ビツト・
バスである。このような装置は、論理的には、S
−100アービタ回路を用いて255種類の優先順位を
形成するのに使用できる。アービタ1211は、
「プライオリテイ」バス1251の8本のリード
の全てに接続される。アービタ1211は、ID
レジスタ1212から、独自の7ビツト識別語を
受取る。この識別語は、プロセツサ101とバ
ス・インタフエース回路(BIC)110との一致
を定義し、これは、またバス150のアクセスの
為のプロセツサ101の優先順位としても利用さ
れる。アービタ1211は、また制御レジスタ9
13から送出されるパケツトは、通常のデータ・
パケツトかまたは優先順位の高い「クイツク」メ
ツセージかを示す単一ビツトの識別ラベルを受け
る。アービタ1211は、開放コレクタ論理ゲー
トなどを使用して、付属のプロセツサ101の優
先順位を定義するように指定された「プライオリ
テイ」バス1251のうちの7本の低位優先順位
リードのいくつかを保持する。受取られた単一ビ
ツト識別ラベルが、パケツトを「クイツク」メツ
セージとして識別した場合のみ、アービタ121
1は、「プライオリテイ」バス1251の最高位
の8番目のリードを保持する。このバス1251
の最高位リードの値により識別された送出すべき
「クイツク」メツセージを有するプロセツサ10
1は、送出すべきレギユラ・パケツトのみを有す
るプロセツサ101より高位の優先順位を有す
る。8本の優先順位リード状態により定義される
高位の優先順位を有するプロセツサ101が存在
しない場合のみ、アービタ1211は、制御装置
1214にWON信号を提供し、これにより制御
装置にバス150の残りの部分をアクセスするよ
うに許可する。
1は、8本の優先順位リードを有する8ビツト・
バスである。このような装置は、論理的には、S
−100アービタ回路を用いて255種類の優先順位を
形成するのに使用できる。アービタ1211は、
「プライオリテイ」バス1251の8本のリード
の全てに接続される。アービタ1211は、ID
レジスタ1212から、独自の7ビツト識別語を
受取る。この識別語は、プロセツサ101とバ
ス・インタフエース回路(BIC)110との一致
を定義し、これは、またバス150のアクセスの
為のプロセツサ101の優先順位としても利用さ
れる。アービタ1211は、また制御レジスタ9
13から送出されるパケツトは、通常のデータ・
パケツトかまたは優先順位の高い「クイツク」メ
ツセージかを示す単一ビツトの識別ラベルを受け
る。アービタ1211は、開放コレクタ論理ゲー
トなどを使用して、付属のプロセツサ101の優
先順位を定義するように指定された「プライオリ
テイ」バス1251のうちの7本の低位優先順位
リードのいくつかを保持する。受取られた単一ビ
ツト識別ラベルが、パケツトを「クイツク」メツ
セージとして識別した場合のみ、アービタ121
1は、「プライオリテイ」バス1251の最高位
の8番目のリードを保持する。このバス1251
の最高位リードの値により識別された送出すべき
「クイツク」メツセージを有するプロセツサ10
1は、送出すべきレギユラ・パケツトのみを有す
るプロセツサ101より高位の優先順位を有す
る。8本の優先順位リード状態により定義される
高位の優先順位を有するプロセツサ101が存在
しない場合のみ、アービタ1211は、制御装置
1214にWON信号を提供し、これにより制御
装置にバス150の残りの部分をアクセスするよ
うに許可する。
各バス・インタフエース回路(BIC)110の
制御装置1214は、「データ」(DATA)バス
1252からのデータの読取りまたは受取りを制
御するための有限状態マシンと、データ・バス1
252へのデータの書込みまたは送出しを制御す
るための有限状態マシンとを含む。「バス送出し
有限状態マシン」を第16図に示す。第16図に
示すシーケンスは、「送出しFIFO」921からバ
ス1252へデータを転送するのに使用される。
制御装置1214は、「データ」(DATA)バス
1252からのデータの読取りまたは受取りを制
御するための有限状態マシンと、データ・バス1
252へのデータの書込みまたは送出しを制御す
るための有限状態マシンとを含む。「バス送出し
有限状態マシン」を第16図に示す。第16図に
示すシーケンスは、「送出しFIFO」921からバ
ス1252へデータを転送するのに使用される。
EOPレジスタ917によりEOPW信号が発生
した後、有限状態マシンは、「アイドル」(IDLE)
状態1301から「準備完了」(READY)状態1302
へ移動する。EOPW信号は、バス150と同期
化されないので、この後者の状態が同期化状態と
して使用される。他のアービスタがバス150を
取合い中であることを指示するBSTリード12
60が指定されたならば、「準備完了」状態1302
から「待ち−1(WAIT−1)」状態1303へ移動
が行われる。有限状態マシンが、が「準備完了」
状態1302または「待ち−1」状態1303にある時、
BSTリード1260が指定されないならば、「取
合い−1(CONTEND−1)」1304へ移動が行わ
れる。
した後、有限状態マシンは、「アイドル」(IDLE)
状態1301から「準備完了」(READY)状態1302
へ移動する。EOPW信号は、バス150と同期
化されないので、この後者の状態が同期化状態と
して使用される。他のアービスタがバス150を
取合い中であることを指示するBSTリード12
60が指定されたならば、「準備完了」状態1302
から「待ち−1(WAIT−1)」状態1303へ移動
が行われる。有限状態マシンが、が「準備完了」
状態1302または「待ち−1」状態1303にある時、
BSTリード1260が指定されないならば、「取
合い−1(CONTEND−1)」1304へ移動が行わ
れる。
バス150に接続されたアービタ1211は、
「プライオリテイ」バス1251への一致を与え
て、より高位の優先順位をもつアービタが、「プ
ライオリテイ」バス1251上にあるときは引下
がることによつて、優先順位を決定する。このよ
うな装置においては、物理的な回路の電気的遅延
に応じて、、バス150への取合いを解決するた
めに、複数のバス・サイクル(できれば3ないし
5バス・サイクル)を採用してもよい。第16図
では、これが、「取合い−1」状態1304と「取合
い−N」状態1314との間の点線で表わされちる。
「取合い」状態の実際の数はシステムの物理手パ
ラメータに依存する設計選択事項である。いずれ
にしても、バス150への競合を解決するために
通常必要な時間によりアクセスが与えられること
を指示すべく、アービタ1211が制御装置11
4のWON信号を伝送いたならば、「待ち−2
(WAIT−2)」状態1305へ移動が行われる。こ
の状態1305で、制御装置1214は、バス150
の「コンデンド」リーダ1261をモニタし、こ
のリードがもはや指定されていないときは、「待
ち−2」状態1305から「取合い−1」状態1304へ
移動が行われる。「取合い」状態と「待ち−2」
状態1305とを介しての順序づけは、アービタ12
11が制御装置1214にWON信号を与えるま
で反復される。
「プライオリテイ」バス1251への一致を与え
て、より高位の優先順位をもつアービタが、「プ
ライオリテイ」バス1251上にあるときは引下
がることによつて、優先順位を決定する。このよ
うな装置においては、物理的な回路の電気的遅延
に応じて、、バス150への取合いを解決するた
めに、複数のバス・サイクル(できれば3ないし
5バス・サイクル)を採用してもよい。第16図
では、これが、「取合い−1」状態1304と「取合
い−N」状態1314との間の点線で表わされちる。
「取合い」状態の実際の数はシステムの物理手パ
ラメータに依存する設計選択事項である。いずれ
にしても、バス150への競合を解決するために
通常必要な時間によりアクセスが与えられること
を指示すべく、アービタ1211が制御装置11
4のWON信号を伝送いたならば、「待ち−2
(WAIT−2)」状態1305へ移動が行われる。こ
の状態1305で、制御装置1214は、バス150
の「コンデンド」リーダ1261をモニタし、こ
のリードがもはや指定されていないときは、「待
ち−2」状態1305から「取合い−1」状態1304へ
移動が行われる。「取合い」状態と「待ち−2」
状態1305とを介しての順序づけは、アービタ12
11が制御装置1214にWON信号を与えるま
で反復される。
制御装置1214、またバス150の「ホール
ド」リード1259もモニタする。このリードは
バス150へのアクセスを得たバス・インタフエ
ース回路(BIC)110によち指定されてデータ
を送出し中である。制御装置1214がWON信
号を受取つた後に、「ホールド」リード1259
が指定され続ける限り、「バス送出し有限状態マ
シン」は、「取合い−N」状態1314を継続する。
「ホールド」リード1259が放棄された時、「送
出し」状態1306へ移動が行われる。この状態にお
いて、制御装置1214は、バス150の「ホー
ルド」リード1259指定してバスの占有を指示
する。
ド」リード1259もモニタする。このリードは
バス150へのアクセスを得たバス・インタフエ
ース回路(BIC)110によち指定されてデータ
を送出し中である。制御装置1214がWON信
号を受取つた後に、「ホールド」リード1259
が指定され続ける限り、「バス送出し有限状態マ
シン」は、「取合い−N」状態1314を継続する。
「ホールド」リード1259が放棄された時、「送
出し」状態1306へ移動が行われる。この状態にお
いて、制御装置1214は、バス150の「ホー
ルド」リード1259指定してバスの占有を指示
する。
制御信号1214は、「送出し」状態1306にあ
る間「送出しFIFO」921からのデータ語およ
びその他情報を「データ」バス1252に転送す
る。FIFO921とバス1252との間の時間差
を修正するために、「送出しFIFO」921と「デ
ータ」バス1252との間に周知のデータ・ラツ
チ1230が設けられる。「送出し」状態1306に
おいて、データをFIFO921からバス1252
へ転送させるように、ラツチ1230が制御装置
1214により可能化される。
る間「送出しFIFO」921からのデータ語およ
びその他情報を「データ」バス1252に転送す
る。FIFO921とバス1252との間の時間差
を修正するために、「送出しFIFO」921と「デ
ータ」バス1252との間に周知のデータ・ラツ
チ1230が設けられる。「送出し」状態1306に
おいて、データをFIFO921からバス1252
へ転送させるように、ラツチ1230が制御装置
1214により可能化される。
「送出しFIFO」921から得られたパケツト
語は、一回に1つずつ32ビツトの「データ」バス
1252上に伝送される。バス1252上の各語
には、制御レジスタ913から得られかつ7ビツ
トの「相手先I.D.」バス1253上に伝送される
相手先アドレス(DID)と、I.D.レジスタ121
2から得られるかつ7ビツトの「FORM」バス
1256上に伝送される伝送元アドレスと、画付
記され、これらのバスは、全てバス150の一部
である。メツセージ・タイプ(レギユラ・メツセ
ージかまたは「クイツク」メツセージか)を指定
する1ビツト・コードおよび相手先BICリセツト
のようなメツセージの可能な副効果が制御ライン
であるQMOUT1262および「リセツト」1
263上に1ラインイ1ビツトで伝送され、これ
らのラインもまたバス150の一部である。
語は、一回に1つずつ32ビツトの「データ」バス
1252上に伝送される。バス1252上の各語
には、制御レジスタ913から得られかつ7ビツ
トの「相手先I.D.」バス1253上に伝送される
相手先アドレス(DID)と、I.D.レジスタ121
2から得られるかつ7ビツトの「FORM」バス
1256上に伝送される伝送元アドレスと、画付
記され、これらのバスは、全てバス150の一部
である。メツセージ・タイプ(レギユラ・メツセ
ージかまたは「クイツク」メツセージか)を指定
する1ビツト・コードおよび相手先BICリセツト
のようなメツセージの可能な副効果が制御ライン
であるQMOUT1262および「リセツト」1
263上に1ラインイ1ビツトで伝送され、これ
らのラインもまたバス150の一部である。
「送出し」状態1306にあるとき、制御装置12
14は、バス150のRNACKリード1255お
よびIAMALIVEリード1257をモニタする。
相手先プロセツサ101のバス・インタフエース
回路(BIC)110は、伝送の受取りの応答を送
出側制御装置1214に伝送する為に、
IAMALIVEリード1257を使用し、また「受
取りFIFO」923または「クイツク」メツセー
ジ・レジスタ918のパリテイ・エラーまたはオ
ーバーフローの検出というような伝送トラブルを
送出側制御装置1214に伝送する為に、
RNACKリード1255を使用する。送出側バ
ス・インタフエース回路(BIC)110が、リー
ド1255を指定したりまたはリード1257を
指定し損なつた時は、送出側制御装置1214の
「バス送出し有限状態マシン」は「送出し」状態
1306からRNACK状態1307に変る。状態1307にお
いては、「バス送出し有限状態マシン」は、更に、
「送出しFIFO」921からのデータおよびその他
情報のバス150への転送を停止し、「送出し
FIFO」921をクリアし、かつステータス・レ
ジスタ916のRNACKビツトを指定して、トラ
ブルをプロセツサ101に通知する。次に「最
終」状態1308において、伝送があたかも通常
のように完成したかの如く、「送出し有限状態マ
シン」の作業が継続される。
14は、バス150のRNACKリード1255お
よびIAMALIVEリード1257をモニタする。
相手先プロセツサ101のバス・インタフエース
回路(BIC)110は、伝送の受取りの応答を送
出側制御装置1214に伝送する為に、
IAMALIVEリード1257を使用し、また「受
取りFIFO」923または「クイツク」メツセー
ジ・レジスタ918のパリテイ・エラーまたはオ
ーバーフローの検出というような伝送トラブルを
送出側制御装置1214に伝送する為に、
RNACKリード1255を使用する。送出側バ
ス・インタフエース回路(BIC)110が、リー
ド1255を指定したりまたはリード1257を
指定し損なつた時は、送出側制御装置1214の
「バス送出し有限状態マシン」は「送出し」状態
1306からRNACK状態1307に変る。状態1307にお
いては、「バス送出し有限状態マシン」は、更に、
「送出しFIFO」921からのデータおよびその他
情報のバス150への転送を停止し、「送出し
FIFO」921をクリアし、かつステータス・レ
ジスタ916のRNACKビツトを指定して、トラ
ブルをプロセツサ101に通知する。次に「最
終」状態1308において、伝送があたかも通常
のように完成したかの如く、「送出し有限状態マ
シン」の作業が継続される。
「データ」バス1252上で伝送されるパケツ
トの最終語のみに、EOPリード1254を介し
て伝送されたEOPビツトが付記される。この
EOPビツトか制御装置1214により検出され
たときに、「最終」状態1308に転送が行われる。
「最終」状態1308において、「送出しFIFO」92
1およびデータ・ラツチ1230は、制御装置1
214から不能化にされる。「最終」状態1308か
らは、「アイドル」状態1301へリターンが行われ
る。
トの最終語のみに、EOPリード1254を介し
て伝送されたEOPビツトが付記される。この
EOPビツトか制御装置1214により検出され
たときに、「最終」状態1308に転送が行われる。
「最終」状態1308において、「送出しFIFO」92
1およびデータ・ラツチ1230は、制御装置1
214から不能化にされる。「最終」状態1308か
らは、「アイドル」状態1301へリターンが行われ
る。
RNACK状態1307における「送出しFIFO」9
21のクリアまたは「送出し)状態1306における
最終語のFIFO921からの伝送により、「バツフ
ア空き」の指示が出され、これにより制御装置1
214はステータス・レジスタ916のSFビツ
トをセツトする。
21のクリアまたは「送出し)状態1306における
最終語のFIFO921からの伝送により、「バツフ
ア空き」の指示が出され、これにより制御装置1
214はステータス・レジスタ916のSFビツ
トをセツトする。
次に、バス150を介しての相手先プロセツサ
101のバス・インタフエース回路(BIC)11
0によるパケツトの受取りを考える。
101のバス・インタフエース回路(BIC)11
0によるパケツトの受取りを考える。
バス・インタフエース回路(BIC)110内の
I.D.一致回路1222は、「相手先I.D.バス125
3をモニタし、その内容をI.D.レジスタ1212
内で指定されたアドレスと比較する。送出側プロ
セツサ101のバス・インタフエース回路
(BIC)110が、前記のようにパケツトを相手
先プロセツサ101に伝送する時、I.D.一致回路
1222が、それ自身のプロセツサ101のアド
レスを確認し、一致したら「一致」信号を発生し
て、それを制御装置1214およびデータ・ラツ
チ1225に送る。データ・ラツチ1225は、
一致回路1222からの「一致」信号と制御装置
1224からの「可能化」信号とにより可能化さ
て、「データ」バス1252からのデータを、「受
取りFIFO」923と、「クイツク」メツセージ・
レジスタ918と、およびパリテイ・チエツカ1
228に転送する。
I.D.一致回路1222は、「相手先I.D.バス125
3をモニタし、その内容をI.D.レジスタ1212
内で指定されたアドレスと比較する。送出側プロ
セツサ101のバス・インタフエース回路
(BIC)110が、前記のようにパケツトを相手
先プロセツサ101に伝送する時、I.D.一致回路
1222が、それ自身のプロセツサ101のアド
レスを確認し、一致したら「一致」信号を発生し
て、それを制御装置1214およびデータ・ラツ
チ1225に送る。データ・ラツチ1225は、
一致回路1222からの「一致」信号と制御装置
1224からの「可能化」信号とにより可能化さ
て、「データ」バス1252からのデータを、「受
取りFIFO」923と、「クイツク」メツセージ・
レジスタ918と、およびパリテイ・チエツカ1
228に転送する。
パリテイ・チエツカ1228は、データ語と付
属のパリテイ・ビツトとをラツチ1225から受
取り、自動的にパリテイをツエツクする。不正パ
リテイを検出したときは、チエツカ1228は、
1ビツトのパリテイ・エラー信号を発生して、そ
のパリテイを欠けた語に付属させる。
属のパリテイ・ビツトとをラツチ1225から受
取り、自動的にパリテイをツエツクする。不正パ
リテイを検出したときは、チエツカ1228は、
1ビツトのパリテイ・エラー信号を発生して、そ
のパリテイを欠けた語に付属させる。
第17図は、バス150に接続された各バス・
インタフエース回路(BIC)110の制御装置1
214内にて行われるバス150受取り作業を制
御するための有限状態マシンの状態を示す。「受
取り有限状態マシン」の初期状態は、「アイドル」
状態1410である。回路1222からの「一
致」信号の受取りに応答して、制御装置1214
は、「開放受取り」状態1411に移動し、直ちに、
IAMALIVEリード1257上に信号を発生しは
じめる。またこの状態においては「可能化」信号
が、データ・ラツチ1225に与えられ、バス1
252から「受取りFIFO」923または「クイ
ツク」メツセージ・レジスタ918へのデータ転
送が行われる。制御装置1214は、バス150
のQMOUTリード1262調査する。「クイツ
ク」メツセージが検出された場合、制御装置12
14は、「クイツク」メツセージ・レジスタ91
8に「可能化」信号を出す。「クイツク」メツセ
ージが検出されない場合、制御装置1214、受
取りFIFO923に「可能化」信号を出す。バツ
フア・オーバーフローがない条件で、I.D.バス1
253上のアドレスが、I.D.レジスタ1212の
内容と一致する限り、「開放受取り」状態1411か
ら変る必要はない。
インタフエース回路(BIC)110の制御装置1
214内にて行われるバス150受取り作業を制
御するための有限状態マシンの状態を示す。「受
取り有限状態マシン」の初期状態は、「アイドル」
状態1410である。回路1222からの「一
致」信号の受取りに応答して、制御装置1214
は、「開放受取り」状態1411に移動し、直ちに、
IAMALIVEリード1257上に信号を発生しは
じめる。またこの状態においては「可能化」信号
が、データ・ラツチ1225に与えられ、バス1
252から「受取りFIFO」923または「クイ
ツク」メツセージ・レジスタ918へのデータ転
送が行われる。制御装置1214は、バス150
のQMOUTリード1262調査する。「クイツ
ク」メツセージが検出された場合、制御装置12
14は、「クイツク」メツセージ・レジスタ91
8に「可能化」信号を出す。「クイツク」メツセ
ージが検出されない場合、制御装置1214、受
取りFIFO923に「可能化」信号を出す。バツ
フア・オーバーフローがない条件で、I.D.バス1
253上のアドレスが、I.D.レジスタ1212の
内容と一致する限り、「開放受取り」状態1411か
ら変る必要はない。
制御装置1214から「可能化」し号を受取る
「クイツク」メツセージ・レジスタ918および
「受取りFIFO」923にいずれかは、これにより
可能化されて受取られたデータを記憶する。「受
取りFIFO」923は、「バツフア・フル」および
「バツフア空き」の通常の指示を出す標準市販
FIFOであるが、単一のインデイケータを介して
これを行う。レジスタ918は、1語分しかない
ので、空きでないときは満杯であり、またその逆
である。「受取りFIFO」923内に最初の語が記
憶されると、「バツフア空き」の指示は打消され、
これにより制御装置1214は、ステータス・レ
ジスタ916内のRFNEビツトをセツトする。レ
ジスタ918内に語が記憶されると、「バツフア
空き」の指示は打消され、これにより制御装置1
214のステータス・レジスタ916内に
QMNEビツトをセツトする。「受取りFIFO」お
よび「クイツク」メツセージ・レジスタ918、
39ビツトの幅を有する。32ビツトは、受取られた
データ語を保有し、4ビツトは、付属のパリテイ
ビツトを保有する。1ビツトは、パリテイ・エラ
ーがあつたときにパリテイ・チエツカ1228か
ら発生されたパリテイ・エラー信号を保有する。
1ビツトは、「オーバーフロー・エラー」があつ
た時に、制御装置1214から発生された「オー
バーフロー」エラー信号を保有する。パケツトの
最終の語だけにバス150のEOPリード125
4上の1ビツトのEOP信号が付記され、このビ
ツトは付属のパケツト語の39番目のビツトに記憶
される。
「クイツク」メツセージ・レジスタ918および
「受取りFIFO」923にいずれかは、これにより
可能化されて受取られたデータを記憶する。「受
取りFIFO」923は、「バツフア・フル」および
「バツフア空き」の通常の指示を出す標準市販
FIFOであるが、単一のインデイケータを介して
これを行う。レジスタ918は、1語分しかない
ので、空きでないときは満杯であり、またその逆
である。「受取りFIFO」923内に最初の語が記
憶されると、「バツフア空き」の指示は打消され、
これにより制御装置1214は、ステータス・レ
ジスタ916内のRFNEビツトをセツトする。レ
ジスタ918内に語が記憶されると、「バツフア
空き」の指示は打消され、これにより制御装置1
214のステータス・レジスタ916内に
QMNEビツトをセツトする。「受取りFIFO」お
よび「クイツク」メツセージ・レジスタ918、
39ビツトの幅を有する。32ビツトは、受取られた
データ語を保有し、4ビツトは、付属のパリテイ
ビツトを保有する。1ビツトは、パリテイ・エラ
ーがあつたときにパリテイ・チエツカ1228か
ら発生されたパリテイ・エラー信号を保有する。
1ビツトは、「オーバーフロー・エラー」があつ
た時に、制御装置1214から発生された「オー
バーフロー」エラー信号を保有する。パケツトの
最終の語だけにバス150のEOPリード125
4上の1ビツトのEOP信号が付記され、このビ
ツトは付属のパケツト語の39番目のビツトに記憶
される。
パケツト終端(EOP)信号の受取りのまえに
形成された「受取りFIFO」923の「バツフ
ア・フル」条件はオーバーフロー条件と解釈され
る。同様に、単一「クイツク」メツセージの受取
りの間における「クイツク」メツセージ・レジス
タ918の「バツフアは空きでない」条件はオー
バーフロー条件と解釈される。通常作業において
は、プロセツサ101は、データ・バス1252
の転送速度より遅い速度で「受取りFIFO」92
3または「クイツク」メツセージ・レジスタ91
8からデータ語を読取るので、相手プロセツサ1
01内に異常状態が存在しないときでも、バツフ
ア・オーバーフロー条件が起こる可能性がある。
図を簡単にするために、図においてはバツフア状
態信号を制御信号1214に与えるリードは、バ
ツフア装置1220からの出力として示されてい
る。
形成された「受取りFIFO」923の「バツフ
ア・フル」条件はオーバーフロー条件と解釈され
る。同様に、単一「クイツク」メツセージの受取
りの間における「クイツク」メツセージ・レジス
タ918の「バツフアは空きでない」条件はオー
バーフロー条件と解釈される。通常作業において
は、プロセツサ101は、データ・バス1252
の転送速度より遅い速度で「受取りFIFO」92
3または「クイツク」メツセージ・レジスタ91
8からデータ語を読取るので、相手プロセツサ1
01内に異常状態が存在しないときでも、バツフ
ア・オーバーフロー条件が起こる可能性がある。
図を簡単にするために、図においてはバツフア状
態信号を制御信号1214に与えるリードは、バ
ツフア装置1220からの出力として示されてい
る。
「開放受取り」状態1411においては、制御装置
1214は、「受取りFIFO」923の「バツフ
ア・フル」の指示と、レジスタ918の「バツフ
ア空き」の指示と、およびバス150のEOPリ
ード1254とをモニタする。付属パケツトに対
するEOP信号がEOPリード1254上で受取ら
れる前の「バツフア・フル」の発生は、「受取り
FIFO」923内にはパケツトがうまく記憶され
なかつたか、または一部のみしか記憶されなかつ
たことを示す、同様にレジスタ918空きでない
間の「クイツク」メツセージの受取りは、レジス
タ918のオーバーフローを示す。いずれの条件
も、「受取り有限状態マシン」をRNACK状態1
412へ移動させる。
1214は、「受取りFIFO」923の「バツフ
ア・フル」の指示と、レジスタ918の「バツフ
ア空き」の指示と、およびバス150のEOPリ
ード1254とをモニタする。付属パケツトに対
するEOP信号がEOPリード1254上で受取ら
れる前の「バツフア・フル」の発生は、「受取り
FIFO」923内にはパケツトがうまく記憶され
なかつたか、または一部のみしか記憶されなかつ
たことを示す、同様にレジスタ918空きでない
間の「クイツク」メツセージの受取りは、レジス
タ918のオーバーフローを示す。いずれの条件
も、「受取り有限状態マシン」をRNACK状態1
412へ移動させる。
「開放付取り」状態1411においても、また制御
装置1214は、パリテイ・チイツカ1228の
出力をモニタする。チエツカ1228が、受取ら
れた語について不正パリテイを検出してその旨の
指示を出すと、それは制御装置1214により検
出され、「受取り有限状態マシン」は、RNACK
状態1412へ移動する。RNACK状態1412にお
いては、制御装置1214は、IAMALIVEリー
ド1257の指定を解き、RNACKリード125
5を指定する。制御装置1214は、また「デー
タ」ラツチ1225からの「可能化」信号を取除
き、「受取りFIFO」923またはレジスタ918
へのこれ以後の書込みを禁止する。バツフア・オ
ーバーフローのときは、制御装置1214は、受
取りFIFO923またはレジスタ918内に最後
に受取られた語に付属させてオーバーフロー・ビ
ツトをセツトする。制御装置1214は、また
EOPビツトを発生して最後に記憶すべく受取ら
れた語にそれを付記する。最後に、制御装置12
14は、パケツトを受取りつつあつた「受取り
FIFO」923およびレジスタ918のいずれか
ら「可能化」信号を取除く。
装置1214は、パリテイ・チイツカ1228の
出力をモニタする。チエツカ1228が、受取ら
れた語について不正パリテイを検出してその旨の
指示を出すと、それは制御装置1214により検
出され、「受取り有限状態マシン」は、RNACK
状態1412へ移動する。RNACK状態1412にお
いては、制御装置1214は、IAMALIVEリー
ド1257の指定を解き、RNACKリード125
5を指定する。制御装置1214は、また「デー
タ」ラツチ1225からの「可能化」信号を取除
き、「受取りFIFO」923またはレジスタ918
へのこれ以後の書込みを禁止する。バツフア・オ
ーバーフローのときは、制御装置1214は、受
取りFIFO923またはレジスタ918内に最後
に受取られた語に付属させてオーバーフロー・ビ
ツトをセツトする。制御装置1214は、また
EOPビツトを発生して最後に記憶すべく受取ら
れた語にそれを付記する。最後に、制御装置12
14は、パケツトを受取りつつあつた「受取り
FIFO」923およびレジスタ918のいずれか
ら「可能化」信号を取除く。
RNACK状態1412における前記のアクテイビテ
イに続いてから、または「開放受取り」状態1411
において、バツフア・オーバーフロー・エラーお
よびパリテイ・エラーのいずれも検出することな
しにEOPリード1254上にEOP信号を検出し
た時、「受取り有限状態マシン」は、「アイドル」
状態1410に戻り、システム内の「データ」ラツチ
1225、「受取りFIFO」923、および「クイ
ツク」メツセージ・レジスタ918から「可能
化」信号を取除く。
イに続いてから、または「開放受取り」状態1411
において、バツフア・オーバーフロー・エラーお
よびパリテイ・エラーのいずれも検出することな
しにEOPリード1254上にEOP信号を検出し
た時、「受取り有限状態マシン」は、「アイドル」
状態1410に戻り、システム内の「データ」ラツチ
1225、「受取りFIFO」923、および「クイ
ツク」メツセージ・レジスタ918から「可能
化」信号を取除く。
ステータス・レジスタ916内にセツトされた
RFNEビツトを検すると、その結果、実施例にお
いては、メモリ・マツプ化FIFOアドレスを反復
して読取ることにより、MSBI146を介して一
回に一語ずつデータを「受取りFIFO」923か
ら読取らせる。パケツトの最終語が読取られると
制御装置1214は、一定時間後に、次のパケツ
トを読みたいために、プロセツサ101が命令で
指定した時間が満了するまで、制御装置1214
は、「受取りFIFO」923からの読取りを以後中
止する。プロセツサ101は、FIFO923が空
きになるまで、FIFO923からのパケツトの読
取りを継続する。この条件により「バツフア空
き」の指示を掲げ、これにより制御装置1214
を介してステータス・レジスタ916内のRENE
をリセツトさせる。
RFNEビツトを検すると、その結果、実施例にお
いては、メモリ・マツプ化FIFOアドレスを反復
して読取ることにより、MSBI146を介して一
回に一語ずつデータを「受取りFIFO」923か
ら読取らせる。パケツトの最終語が読取られると
制御装置1214は、一定時間後に、次のパケツ
トを読みたいために、プロセツサ101が命令で
指定した時間が満了するまで、制御装置1214
は、「受取りFIFO」923からの読取りを以後中
止する。プロセツサ101は、FIFO923が空
きになるまで、FIFO923からのパケツトの読
取りを継続する。この条件により「バツフア空
き」の指示を掲げ、これにより制御装置1214
を介してステータス・レジスタ916内のRENE
をリセツトさせる。
同様に、ステータス・レジスタ916内にセツ
トされたQMNEビツトを検出すると、その結果、
MSBI146を介してレジスタ918から「クイ
ツク」メツセージを読取らせ、これによりレジス
タ918を空きにする。この条件により「バツフ
ア空き」の指示を掲げ、これにより制御装置12
14を介して、ステータス・レジスタ916内の
QMNEビツトをリセツトさせる。
トされたQMNEビツトを検出すると、その結果、
MSBI146を介してレジスタ918から「クイ
ツク」メツセージを読取らせ、これによりレジス
タ918を空きにする。この条件により「バツフ
ア空き」の指示を掲げ、これにより制御装置12
14を介して、ステータス・レジスタ916内の
QMNEビツトをリセツトさせる。
[パケツト層(つづき)]
第18図ないし第20図は、バス・インタフエ
ース回路(BIC)110を介してパケツトを送出
側プロセツサ101から受取るときMSBI146
の作業をフローチヤートにして、構造145の入
力キユー143および応答キユー142の用法を
示す。
ース回路(BIC)110を介してパケツトを送出
側プロセツサ101から受取るときMSBI146
の作業をフローチヤートにして、構造145の入
力キユー143および応答キユー142の用法を
示す。
第1図のシステムがステツプ597に起動される
と、ステツプは、出力キユー構造300のバス・
インタフエース回路(BIC)ステータス・レジス
タ916のRFNE(受取りFIFOは空きでない)ビ
ツトおよび出力係属・フラツグ307のモニタを
開始する。ステツプ598で、MSBI146は、
RFNEビツトがセツトされているか否かをチエツ
クする。RFNEがセツトされていない間は、それ
は、「受取りFIFO」923が空きであることを示
し、ステツプ599で、MSBI146は、フラツグ
307をチエツクする。ステツプ599で、フラツ
グ307でセツトされていることがかわると、ス
テツプ1503で、MSBI146は、出力キユー14
4を処理し、次にステツプ598へ戻る。出力キユ
ーの処理は、第8図ないし第11図にフローチヤ
ートで示され、これは既に説明したとおりであ
る。ステツプ598で、RFNEビツトが、「受取り
FIFO923は空きではい」ことを指示すると、
それは、複数のパケツトがバス・インタフエース
回路(BIC)110により受取られたかまたは受
取られつつあることを意味する。従つて、ステツ
プ1504で、MSBI146は、「受取りFIFO」92
3に対応するメモリ・アドレスを反復して読取る
ことにより、受取られたパケツトの「受取り
FIFO」923からの読取りを開始する。
と、ステツプは、出力キユー構造300のバス・
インタフエース回路(BIC)ステータス・レジス
タ916のRFNE(受取りFIFOは空きでない)ビ
ツトおよび出力係属・フラツグ307のモニタを
開始する。ステツプ598で、MSBI146は、
RFNEビツトがセツトされているか否かをチエツ
クする。RFNEがセツトされていない間は、それ
は、「受取りFIFO」923が空きであることを示
し、ステツプ599で、MSBI146は、フラツグ
307をチエツクする。ステツプ599で、フラツ
グ307でセツトされていることがかわると、ス
テツプ1503で、MSBI146は、出力キユー14
4を処理し、次にステツプ598へ戻る。出力キユ
ーの処理は、第8図ないし第11図にフローチヤ
ートで示され、これは既に説明したとおりであ
る。ステツプ598で、RFNEビツトが、「受取り
FIFO923は空きではい」ことを指示すると、
それは、複数のパケツトがバス・インタフエース
回路(BIC)110により受取られたかまたは受
取られつつあることを意味する。従つて、ステツ
プ1504で、MSBI146は、「受取りFIFO」92
3に対応するメモリ・アドレスを反復して読取る
ことにより、受取られたパケツトの「受取り
FIFO」923からの読取りを開始する。
ステツプ1504で、「受取りFIFO」923で最初
の読取り作業が行われると、その結果、MSBI1
46は、パケツト制御語320および相手先ポー
トID語322(第13図参照)の取得し、MSBI
146は、ステツプ1515で、語320を作業記憶
領域に記憶する。読取られた語のいずれかに、パ
ケツトの最後に受取られた語であることを示す
EOP(パケツトの終端)ビツト、パケツトの受取
り中に「受取りFIFO」923のオーバーフロー
条件が発生したことを示すビツト、またはその語
にパリテイ・ビツト・エラーが検出されたことを
示すビツトが付記されたならば、これらの語を読
取ると、その結果、ステータス・レジスタ916
のそれぞれEOPビツト、SFERRビツト、または
SPERRビツトがセツトされる。これら2つの語
のみは、パケツトを形成することがえきないの
で、EOPのセツトもまた、パケツト受取りおけ
るエラーを示す。従つて、ステツプ1505で、
MSBI146は、ステータス・レジスタ916を
読取り、EOPビツト、SPERRビツト、および
SPERRをチエツクする。これらのビツトがセツ
トされていると、パケツト受取りにおけるエラー
が示され、ステツプ1505でMSBI146は、受取
られたパケツトを「受取りFIFO」923から削
除しそれを放棄する。EOPビツトがセツトされ
ていれば、MSBI146は、「受取りFIFO」92
3から読取つた1つまたは複数の語を単に廃棄す
るだけである。EOPビツトがセツトされていな
ければMSBI146は「受取りFIFO」923を
読取つて、ステータス・レジスタ916のEOP
ビツトがセツトされるまで読取られた全ての語を
放棄する。MSBI146は次にステツプ598に戻
る。
の読取り作業が行われると、その結果、MSBI1
46は、パケツト制御語320および相手先ポー
トID語322(第13図参照)の取得し、MSBI
146は、ステツプ1515で、語320を作業記憶
領域に記憶する。読取られた語のいずれかに、パ
ケツトの最後に受取られた語であることを示す
EOP(パケツトの終端)ビツト、パケツトの受取
り中に「受取りFIFO」923のオーバーフロー
条件が発生したことを示すビツト、またはその語
にパリテイ・ビツト・エラーが検出されたことを
示すビツトが付記されたならば、これらの語を読
取ると、その結果、ステータス・レジスタ916
のそれぞれEOPビツト、SFERRビツト、または
SPERRビツトがセツトされる。これら2つの語
のみは、パケツトを形成することがえきないの
で、EOPのセツトもまた、パケツト受取りおけ
るエラーを示す。従つて、ステツプ1505で、
MSBI146は、ステータス・レジスタ916を
読取り、EOPビツト、SPERRビツト、および
SPERRをチエツクする。これらのビツトがセツ
トされていると、パケツト受取りにおけるエラー
が示され、ステツプ1505でMSBI146は、受取
られたパケツトを「受取りFIFO」923から削
除しそれを放棄する。EOPビツトがセツトされ
ていれば、MSBI146は、「受取りFIFO」92
3から読取つた1つまたは複数の語を単に廃棄す
るだけである。EOPビツトがセツトされていな
ければMSBI146は「受取りFIFO」923を
読取つて、ステータス・レジスタ916のEOP
ビツトがセツトされるまで読取られた全ての語を
放棄する。MSBI146は次にステツプ598に戻
る。
ステツプ1505で、EOPビツトまたはERRビツ
トのいずれかがセツトされていなければ、ステツ
プ1507で、MSBI146あ、受取られたパケツト
が「再スタート」パケツトか否かをチエツクす
る。再スタート・パケツトとは、MSBI146に
よりある出力キユー144の処理を再スタートす
るために、その出力キユー144のスキツプ・フ
ラツグ312をクリアすることを目的とするパケ
ツトである。この再スタート・パケツトは、パケ
ツトの相手先ポートID語322内の特殊コード
により識別される。これは、それに付属する出力
キユー144が「呼起される」べきである相手先
プロセツサ101上のポート202を識別する語
以外はデータを有していない。従つて、ステツプ
1507で、MSBI146は、語322をチエツクし
て、それがこの特殊コードを含むか否かを判定す
る。含んでいれば、MSBIは、第20図のステツ
プ1508で、FIFO923がマツプ化されているメ
モリ・アドレス上で5語の読取り作業を行うこと
により、語324−328からなるパケツトの残
り部を「受取りFIFO」923から読取る。
トのいずれかがセツトされていなければ、ステツ
プ1507で、MSBI146あ、受取られたパケツト
が「再スタート」パケツトか否かをチエツクす
る。再スタート・パケツトとは、MSBI146に
よりある出力キユー144の処理を再スタートす
るために、その出力キユー144のスキツプ・フ
ラツグ312をクリアすることを目的とするパケ
ツトである。この再スタート・パケツトは、パケ
ツトの相手先ポートID語322内の特殊コード
により識別される。これは、それに付属する出力
キユー144が「呼起される」べきである相手先
プロセツサ101上のポート202を識別する語
以外はデータを有していない。従つて、ステツプ
1507で、MSBI146は、語322をチエツクし
て、それがこの特殊コードを含むか否かを判定す
る。含んでいれば、MSBIは、第20図のステツ
プ1508で、FIFO923がマツプ化されているメ
モリ・アドレス上で5語の読取り作業を行うこと
により、語324−328からなるパケツトの残
り部を「受取りFIFO」923から読取る。
前記のように、パケツトの中で最後に受取られ
る語にはEOPビツトが付記され、また受取られ
た語の中で、バス・インタフエース回路(BIC)
110によりRNACK信号が送出される語には、
SFERRビツトまたはSPERRビツトが付記され
る。これら3つのビツトのいずれかが付記された
語を「受取りFIFO」923から読取ると、その
結果、ステータス・レジスタ9186の対応ビツ
トが、セツトされる。EOPビツトが付記され語
の先を読もうとしても、ステータス・レジスタ9
16のEOPERRビツトがセツトされているので、
パケツト制御語320のフイールド332は実際
のパケツト長さに対応しないことをこれは示して
いる。従つて、MSBI146は、ステータス・レ
ジスタ916を読取つて、EOPビツトがセツト
されていないかどうか、またはSPERRビツト、
SFERRビツト、あるいはEOPERRビツトがセツ
トされているか否かを判定する。もしセツトされ
ているなら、パケツトの受取りにエラーが指示さ
れ、MSBI146は、ステツプ1510でパケツトを
放棄し、次にステツプ598に戻る。
る語にはEOPビツトが付記され、また受取られ
た語の中で、バス・インタフエース回路(BIC)
110によりRNACK信号が送出される語には、
SFERRビツトまたはSPERRビツトが付記され
る。これら3つのビツトのいずれかが付記された
語を「受取りFIFO」923から読取ると、その
結果、ステータス・レジスタ9186の対応ビツ
トが、セツトされる。EOPビツトが付記され語
の先を読もうとしても、ステータス・レジスタ9
16のEOPERRビツトがセツトされているので、
パケツト制御語320のフイールド332は実際
のパケツト長さに対応しないことをこれは示して
いる。従つて、MSBI146は、ステータス・レ
ジスタ916を読取つて、EOPビツトがセツト
されていないかどうか、またはSPERRビツト、
SFERRビツト、あるいはEOPERRビツトがセツ
トされているか否かを判定する。もしセツトされ
ているなら、パケツトの受取りにエラーが指示さ
れ、MSBI146は、ステツプ1510でパケツトを
放棄し、次にステツプ598に戻る。
ステツプ1509で、受取り中にエラーか指示され
なければ、MSBI146は、パケツトはどのポー
ト202にアドレスされかをそのパケツトから判
定し、そのポートのポート構造380をアクセス
してどの出力キユー144がそのポートに対応す
るかをその出力キユー・ポインタ381から判定
し、そして次に、ステツプ1511で、その出力キユ
ー144のスキツプ・フラツグ312をクリアす
る。次に、MSBI146は、ステツプ1512で、出
力キユー制御構造300の出力係属・フラツグ3
07をセツトすることにより、第8図ないし第1
1図の出力キユー処理を起動する。再スタート・
パケツトの適切な受取りに対し肯定応答するため
に、MSBI146は、ステツプ1547で、第21図
のルーチンを呼出して、再スタート・パケツトの
送出元に「クイツク」メツセージを送る。次に
MSBI146は、ステツプ598に戻る。
なければ、MSBI146は、パケツトはどのポー
ト202にアドレスされかをそのパケツトから判
定し、そのポートのポート構造380をアクセス
してどの出力キユー144がそのポートに対応す
るかをその出力キユー・ポインタ381から判定
し、そして次に、ステツプ1511で、その出力キユ
ー144のスキツプ・フラツグ312をクリアす
る。次に、MSBI146は、ステツプ1512で、出
力キユー制御構造300の出力係属・フラツグ3
07をセツトすることにより、第8図ないし第1
1図の出力キユー処理を起動する。再スタート・
パケツトの適切な受取りに対し肯定応答するため
に、MSBI146は、ステツプ1547で、第21図
のルーチンを呼出して、再スタート・パケツトの
送出元に「クイツク」メツセージを送る。次に
MSBI146は、ステツプ598に戻る。
第18図のステツプ1507で、受取られたパケツ
トが、再スタート・パケツトでないと判定される
と、ステツプ1513で、MSBI146は、受取られ
たパケツトのパケツト制御語320のトグル・ビ
ツト・フイールド331をチエツクして、その値
が適切であるか否かを判定する。MSBI146
は、受取られたパケツトの「相手先ポート」ID
語322を利用して、そのパケツトにする相手先
ポート202はどれかを判定し、またそのポート
202のポート構造380のチヤンネル・タイ
プ・インデイケータ385をアクセスして、その
ポート202が付属するチヤンネル201は、カ
ーネル・チヤンネルかまたはユーザ・チヤンネル
であれば、MSBI146は、ポート構造380の
入力キユー・トグル384をアクセルスして、こ
れにより記憶された1つのトグル・ビツト値を読
む。チヤンネル201がカーネルチヤンネルであ
れば、MSBI146は、ポート構造380の入力
キユー・トグル384をアクセスしてこれにより
記憶されている複数のトグル・ビツト値の中から
パケツトの送出元であるプロセツサ101に対応
するものを読取る。MSBI146は、パケツト制
御語320の送出側BIC IDフイールド333か
ら送出側プロセツサ101を決定する。次に、
MSBI146は、アクセスされた構造380の入
力キユー・トグル384から得られたツグル・ビ
ツトの値を受取られたパケツト制御語320ツグ
ル・ビツト・フイールド331の値と比較して、
それらが等しいかどうかを判定する。それらが等
しくなければ、トグル・ビツト・フイールド33
1の値は不適当である。
トが、再スタート・パケツトでないと判定される
と、ステツプ1513で、MSBI146は、受取られ
たパケツトのパケツト制御語320のトグル・ビ
ツト・フイールド331をチエツクして、その値
が適切であるか否かを判定する。MSBI146
は、受取られたパケツトの「相手先ポート」ID
語322を利用して、そのパケツトにする相手先
ポート202はどれかを判定し、またそのポート
202のポート構造380のチヤンネル・タイ
プ・インデイケータ385をアクセスして、その
ポート202が付属するチヤンネル201は、カ
ーネル・チヤンネルかまたはユーザ・チヤンネル
であれば、MSBI146は、ポート構造380の
入力キユー・トグル384をアクセルスして、こ
れにより記憶された1つのトグル・ビツト値を読
む。チヤンネル201がカーネルチヤンネルであ
れば、MSBI146は、ポート構造380の入力
キユー・トグル384をアクセスしてこれにより
記憶されている複数のトグル・ビツト値の中から
パケツトの送出元であるプロセツサ101に対応
するものを読取る。MSBI146は、パケツト制
御語320の送出側BIC IDフイールド333か
ら送出側プロセツサ101を決定する。次に、
MSBI146は、アクセスされた構造380の入
力キユー・トグル384から得られたツグル・ビ
ツトの値を受取られたパケツト制御語320ツグ
ル・ビツト・フイールド331の値と比較して、
それらが等しいかどうかを判定する。それらが等
しくなければ、トグル・ビツト・フイールド33
1の値は不適当である。
不適当なツグル・ビツト・フイールド331の
値は、パケツトの受取りに応答する為に、このプ
ロセツサ101か送出側プロセツサ101に送ら
れたACK(肯定応答)「クイツク」メツセージが
送出側プロセツサ101にり受取られなかつたこ
との指示であり、その結果、送出側プロセツサ1
01は、パケツトを再伝送してしまう。従つて、
このパケツトは、ここでMSBI146により2回
送られたことになり、その必要なない。従付てス
テツプ1526でMSBI146は「受取りFIFO」9
23から受取られたパケツトを削除する。MSBI
146は、「受取りFIFO」923を読取り、かつ
ステータス・レジスタ916のEOPビツトがセ
ツトさせるまで読取られた語は全て放棄すること
により、これを実行する。次に、MSBI146
は、ステータス・レジスタ916のSFERR、
SPERR、およびEOPERRビツトをチエツクし
て、バス・インタフエース回路(BIC)110
が、このパケツトの受取り語に、送出側プロセツ
サ101にRNACK信号を送つたか否かを判定す
る。これらのビツトの少なくとも1つがセツトさ
れているいと、RNACK信号が送られて、送出側
MSBI146に、…「受取りFIFO」923のオ
バーフロー、受取らたパケツト上のパリテイ・エ
ラーの検出、または最後パケツト語を過ぎた読取
り試み…という受取り上のトラブルを通知したは
ずであり、ま送出側MSBI146は。これらのパ
ケツトを将来再伝送するであろう。これ以上の情
報は送出側プロセツサ101には与えられず、
MSBI146は、ステツプ598に戻る。
値は、パケツトの受取りに応答する為に、このプ
ロセツサ101か送出側プロセツサ101に送ら
れたACK(肯定応答)「クイツク」メツセージが
送出側プロセツサ101にり受取られなかつたこ
との指示であり、その結果、送出側プロセツサ1
01は、パケツトを再伝送してしまう。従つて、
このパケツトは、ここでMSBI146により2回
送られたことになり、その必要なない。従付てス
テツプ1526でMSBI146は「受取りFIFO」9
23から受取られたパケツトを削除する。MSBI
146は、「受取りFIFO」923を読取り、かつ
ステータス・レジスタ916のEOPビツトがセ
ツトさせるまで読取られた語は全て放棄すること
により、これを実行する。次に、MSBI146
は、ステータス・レジスタ916のSFERR、
SPERR、およびEOPERRビツトをチエツクし
て、バス・インタフエース回路(BIC)110
が、このパケツトの受取り語に、送出側プロセツ
サ101にRNACK信号を送つたか否かを判定す
る。これらのビツトの少なくとも1つがセツトさ
れているいと、RNACK信号が送られて、送出側
MSBI146に、…「受取りFIFO」923のオ
バーフロー、受取らたパケツト上のパリテイ・エ
ラーの検出、または最後パケツト語を過ぎた読取
り試み…という受取り上のトラブルを通知したは
ずであり、ま送出側MSBI146は。これらのパ
ケツトを将来再伝送するであろう。これ以上の情
報は送出側プロセツサ101には与えられず、
MSBI146は、ステツプ598に戻る。
ステツプ1527で、SFERRビツト、SPERRビツ
ト、またはEOPERRビツトのいずれもセツトさ
れていないとわかれば、送出側プロセツサ101
のMSBI146にRNACK信号は送られていない
はずである。従つて、受取側プロセツサ101の
MSBI146は、ステツプ1502で第21図のルー
チンを呼出して送出側プロセツサ101にACK
「クイツク」メツセージを送り、前のパケツトの
受取りが成功したことを通知する。次に、MSBI
146は、ステツプ598に戻る。
ト、またはEOPERRビツトのいずれもセツトさ
れていないとわかれば、送出側プロセツサ101
のMSBI146にRNACK信号は送られていない
はずである。従つて、受取側プロセツサ101の
MSBI146は、ステツプ1502で第21図のルー
チンを呼出して送出側プロセツサ101にACK
「クイツク」メツセージを送り、前のパケツトの
受取りが成功したことを通知する。次に、MSBI
146は、ステツプ598に戻る。
第18図のステツプ1513に戻つて、チエツクの
結果受取られたトグル・ビツトの値が不適当であ
れば、ステツプ1514で、MSBI146は、受取ら
れたパケツトの相手側ポートID語322により
識別されたポート202の入力キユー143が満
杯であるか否かをチエツクする。MSBI146
は、相手先ポート202のポート構造380の入
力キユー・ポインタ382をアクセスして、どれ
がこのポート202の入力キユー143であるか
を判定する。次に、MSBI146は、その入力キ
ユー143のポインタ352および353の値を
比較し、それらが等しいか否かを判定する。等し
ければ、入力キユー143は、満杯である。従つ
て、MSBI146は、第19図のステツプ1530で
ステツプ1526と同様に、受取られたパケツトを
「受取りFIFO」923から削除する。次に、
MSBI146は、ステツプ1531で、ステツプ1527
と同様に、このパケツトの受取りに関連して
RNACKが送られた否かをチエツクする。もし送
られていれば、MSBI146は、単にステツプ
598に戻るだけである。しかし、もしRNACKが
送られていなければ、MSBI146は、ステツプ
1929で、キユー143の入力キユー・フル・フラ
ツグ348をセツトして、満杯であるるとをキユ
ー143にマーキングする。フラヅグ348は、
カウトン・フラツグであり、MSBI146は、そ
れを低位マーク・インデイケータ349に保有さ
れた値にセツトする。MSBI146は、また、ス
テツプ1532で、第21図のルーチンを呼出して、
丁度処理中のパケツトの送出元へ否定応答
(NACK)を送る。次に、MSBI146は、ステ
ツプ598にもどる。
結果受取られたトグル・ビツトの値が不適当であ
れば、ステツプ1514で、MSBI146は、受取ら
れたパケツトの相手側ポートID語322により
識別されたポート202の入力キユー143が満
杯であるか否かをチエツクする。MSBI146
は、相手先ポート202のポート構造380の入
力キユー・ポインタ382をアクセスして、どれ
がこのポート202の入力キユー143であるか
を判定する。次に、MSBI146は、その入力キ
ユー143のポインタ352および353の値を
比較し、それらが等しいか否かを判定する。等し
ければ、入力キユー143は、満杯である。従つ
て、MSBI146は、第19図のステツプ1530で
ステツプ1526と同様に、受取られたパケツトを
「受取りFIFO」923から削除する。次に、
MSBI146は、ステツプ1531で、ステツプ1527
と同様に、このパケツトの受取りに関連して
RNACKが送られた否かをチエツクする。もし送
られていれば、MSBI146は、単にステツプ
598に戻るだけである。しかし、もしRNACKが
送られていなければ、MSBI146は、ステツプ
1929で、キユー143の入力キユー・フル・フラ
ツグ348をセツトして、満杯であるるとをキユ
ー143にマーキングする。フラヅグ348は、
カウトン・フラツグであり、MSBI146は、そ
れを低位マーク・インデイケータ349に保有さ
れた値にセツトする。MSBI146は、また、ス
テツプ1532で、第21図のルーチンを呼出して、
丁度処理中のパケツトの送出元へ否定応答
(NACK)を送る。次に、MSBI146は、ステ
ツプ598にもどる。
第18図のステツプ1514に戻つて、入力キユー
143が満杯ではないと判定されれば、MSBI1
46は、ステツプ1516で、受取られたパケツトの
バツフア・データ語1023を「受取りFIFO」
923からプロセツサ101のメモリ内のバツフ
アDMA転送を利用して転送する。バツフアは、
キユーのロード・ポインタ352で指示された入
力キユー・データ・エントリ354のバツフア・
アドレス355により識別さる。MSBI146
は、パケツト制御語320のバツフア・サイズ・
フイールド332により指定された数の語につい
てDMA転送を実行する。次に、MSBI146は、
「受取りFIFO」923からユーザ制御語324−
327を読取り、ステツプ1517で、これらを入力
キユー・エントリ354の対応する語内に記憶す
る。MSBI146は、また「受取りFIFO923
からタイム・スタンブ語328も読取り、ステツ
プ1501でそれを作業領域内に記憶する。
143が満杯ではないと判定されれば、MSBI1
46は、ステツプ1516で、受取られたパケツトの
バツフア・データ語1023を「受取りFIFO」
923からプロセツサ101のメモリ内のバツフ
アDMA転送を利用して転送する。バツフアは、
キユーのロード・ポインタ352で指示された入
力キユー・データ・エントリ354のバツフア・
アドレス355により識別さる。MSBI146
は、パケツト制御語320のバツフア・サイズ・
フイールド332により指定された数の語につい
てDMA転送を実行する。次に、MSBI146は、
「受取りFIFO」923からユーザ制御語324−
327を読取り、ステツプ1517で、これらを入力
キユー・エントリ354の対応する語内に記憶す
る。MSBI146は、また「受取りFIFO923
からタイム・スタンブ語328も読取り、ステツ
プ1501でそれを作業領域内に記憶する。
ここでMSBI146は、ステツプ1518で、ステ
ータス・レジスタ916のEOP、SFERR、
SPERRおよびEOPERRビツトをチエツクして、
ERRビツトのいずれかがセツトされているか、
またはEOPビツトがセツトされないでいるかを
判定する。いずれの条件も、第20図のステツプ
1509で説明したように、パケツトの受取りにおけ
るエラーを示し、これらに応答して、MSBI14
6は、ステツプ1550で、受取られたパケツトを放
棄する。ステツプ1550の活動は、レジスタ916
のEOPビツトがステツプ1518でセツトされてい
ないことがわかれば、EOPに遭遇するまで受取
りFIFO923を読取ること含む。次に、MSBI
146は、ステツプ598に戻る。
ータス・レジスタ916のEOP、SFERR、
SPERRおよびEOPERRビツトをチエツクして、
ERRビツトのいずれかがセツトされているか、
またはEOPビツトがセツトされないでいるかを
判定する。いずれの条件も、第20図のステツプ
1509で説明したように、パケツトの受取りにおけ
るエラーを示し、これらに応答して、MSBI14
6は、ステツプ1550で、受取られたパケツトを放
棄する。ステツプ1550の活動は、レジスタ916
のEOPビツトがステツプ1518でセツトされてい
ないことがわかれば、EOPに遭遇するまで受取
りFIFO923を読取ること含む。次に、MSBI
146は、ステツプ598に戻る。
MSBI146は、入力キユー143のロード・
ポインタ352を進めなかつたので、入力キユー
143のデータ・エントリ354の削除もまたバ
ツフア・アドレス語355により指示されたバツ
フアの削除も必要ではない。さらに、ステータ
ス・レジスタ916のSPERRまたはSFERRビツ
トがセツトされていると、バス・インタフエース
回路(BIC)110により送られたRNACK信号
は、パケツトの送出元であるプロセツサ101を
介して、パケツトを再送せる。EOPビツトがセ
ツトされないか、またはEOPERRビツトがセツ
トされているならば、「クイツク」メツセージが
受取られないと、パケツトの送出元であるプロセ
ツサ101を介してパケツトを再送させる。ずれ
の場合も結局パケツトは、この相手先プロセツサ
101に再送される。
ポインタ352を進めなかつたので、入力キユー
143のデータ・エントリ354の削除もまたバ
ツフア・アドレス語355により指示されたバツ
フアの削除も必要ではない。さらに、ステータ
ス・レジスタ916のSPERRまたはSFERRビツ
トがセツトされていると、バス・インタフエース
回路(BIC)110により送られたRNACK信号
は、パケツトの送出元であるプロセツサ101を
介して、パケツトを再送せる。EOPビツトがセ
ツトされないか、またはEOPERRビツトがセツ
トされているならば、「クイツク」メツセージが
受取られないと、パケツトの送出元であるプロセ
ツサ101を介してパケツトを再送させる。ずれ
の場合も結局パケツトは、この相手先プロセツサ
101に再送される。
ステツプ1518におけるチエツクにより受取り時
にエラーが示されなければ、ステツプ1519で、
MSBI146は、作業領域からパケツト制御語を
抽出して、それを入力キユー・データ・エントリ
354の語320内に記憶する。次に、ステツプ
1520で、MSBI146は、入力キユー143ロー
ド・ポインタ352を進め、直前に挿入されたデ
ータ・エントリ354の内容を入力キユー143
上に機能的に置く、次に、MSBI146は、入力
キユー143のプロセス待機中フラツグ350お
よびデキユー・タイプ・インデイケータ358を
チエツクし、ステツプ1521で、プロセスまたは割
込みハンドラのいずれかが、それぞれに入力キユ
ー143上で待機中かどうかを判定する。待機中
であれば、第20図のステツプ1522でフラツグ3
50をクリアし、次に、ステツプ1523−1525で第
9図のステツプ604−606の説明のように、応答キ
ユー142によりフアシリテイ141にパケツト
の受取りを通知する。
にエラーが示されなければ、ステツプ1519で、
MSBI146は、作業領域からパケツト制御語を
抽出して、それを入力キユー・データ・エントリ
354の語320内に記憶する。次に、ステツプ
1520で、MSBI146は、入力キユー143ロー
ド・ポインタ352を進め、直前に挿入されたデ
ータ・エントリ354の内容を入力キユー143
上に機能的に置く、次に、MSBI146は、入力
キユー143のプロセス待機中フラツグ350お
よびデキユー・タイプ・インデイケータ358を
チエツクし、ステツプ1521で、プロセスまたは割
込みハンドラのいずれかが、それぞれに入力キユ
ー143上で待機中かどうかを判定する。待機中
であれば、第20図のステツプ1522でフラツグ3
50をクリアし、次に、ステツプ1523−1525で第
9図のステツプ604−606の説明のように、応答キ
ユー142によりフアシリテイ141にパケツト
の受取りを通知する。
第19図のステツプ1521で、または第20図の
ステツプ1525で、この入力キユー143を待機す
るプロセスがないことが判定すると、MSBI14
6は、ステツプ1545で第21図のルーチンを呼出
し、受取られたパケツトの送出元であるプロセツ
サ101に肯定応答(ACK)「クイツク」メツセ
ージを送る。次に、MSBI146は、ステツプ
1546で、第22図のルーチンを呼び出し、第19
図のステツプ1501で一時記憶されたタイム・スタ
ンプを処理する。最後に、MSBI146は、ステ
ツプ598に戻る。第21図は、それから受取られ
たパケツトに応答して送出側プロセツサ101に
クイツク・メツセージを送る為に、MSBI146
により使用されるルーチンをフローチヤートで示
す。ルーチン呼出しの一部として、MSBI146
は、ステツプ1544で、受取られたパケツトのパケ
ツト制御語320のフイールド334からそれが
取得するクイツク・メツセージ・シーケンス番号
と、受取られたパケツトの語320のフイールド
333から得られた送出側BIC IDと、およびパ
ケツトは肯定応答(ACK)かまたは否定応答
(NACK)かと、を指定する。呼出しに応答し
て、ルーチンは、ステツプ1528で、出力キユー・
データ・エントリ317の制御語320に類似の
制御語を形成する。ルーチンは、相手先BIC ID
として、受取られた送出側BIC IDと「クイツク」
メツセージを指示するフラツグとを語323に挿
入する。ステツプ1528では、ルーチンは、また第
14図に示すような「クイツク」メツセージを形
成し、その中に受取られるクイツク・メツセージ
のシーケンス番号と、このプロセツサ101のバ
ス・インタフエース回路(BIC)110のIDと、
指定されたクイツク・メツセージ・タイプと、を
挿入する。次に、ルーチンは、ステツプ1533−
1536で第9図のステツプ608−611と同様に、「送
出しFIFO」921が空きになるのを待機する。
「送出しFIFO」921が空きなる前に、SFEタイ
ムアウト期間が満了になると、ルーチンは、ステ
ツプ1537−1542で第9図のステツプ619、604−
606の説明と同様に、バス・インタフエース回路
(BIC)110をリセツトし、応答キユー142
エントリ362を形成し、かつインターフエー
ス・フアシリテイ141に割込みを出して、それ
にタイムアウトを通知する。次にルーチンは、ス
テツプ1544で、第9図のステツプ640の状態と同
等の非作動状態にはいる。
ステツプ1525で、この入力キユー143を待機す
るプロセスがないことが判定すると、MSBI14
6は、ステツプ1545で第21図のルーチンを呼出
し、受取られたパケツトの送出元であるプロセツ
サ101に肯定応答(ACK)「クイツク」メツセ
ージを送る。次に、MSBI146は、ステツプ
1546で、第22図のルーチンを呼び出し、第19
図のステツプ1501で一時記憶されたタイム・スタ
ンプを処理する。最後に、MSBI146は、ステ
ツプ598に戻る。第21図は、それから受取られ
たパケツトに応答して送出側プロセツサ101に
クイツク・メツセージを送る為に、MSBI146
により使用されるルーチンをフローチヤートで示
す。ルーチン呼出しの一部として、MSBI146
は、ステツプ1544で、受取られたパケツトのパケ
ツト制御語320のフイールド334からそれが
取得するクイツク・メツセージ・シーケンス番号
と、受取られたパケツトの語320のフイールド
333から得られた送出側BIC IDと、およびパ
ケツトは肯定応答(ACK)かまたは否定応答
(NACK)かと、を指定する。呼出しに応答し
て、ルーチンは、ステツプ1528で、出力キユー・
データ・エントリ317の制御語320に類似の
制御語を形成する。ルーチンは、相手先BIC ID
として、受取られた送出側BIC IDと「クイツク」
メツセージを指示するフラツグとを語323に挿
入する。ステツプ1528では、ルーチンは、また第
14図に示すような「クイツク」メツセージを形
成し、その中に受取られるクイツク・メツセージ
のシーケンス番号と、このプロセツサ101のバ
ス・インタフエース回路(BIC)110のIDと、
指定されたクイツク・メツセージ・タイプと、を
挿入する。次に、ルーチンは、ステツプ1533−
1536で第9図のステツプ608−611と同様に、「送
出しFIFO」921が空きになるのを待機する。
「送出しFIFO」921が空きなる前に、SFEタイ
ムアウト期間が満了になると、ルーチンは、ステ
ツプ1537−1542で第9図のステツプ619、604−
606の説明と同様に、バス・インタフエース回路
(BIC)110をリセツトし、応答キユー142
エントリ362を形成し、かつインターフエー
ス・フアシリテイ141に割込みを出して、それ
にタイムアウトを通知する。次にルーチンは、ス
テツプ1544で、第9図のステツプ640の状態と同
等の非作動状態にはいる。
「送出しFIFO」921が空きなると、第21
図のステツプ1538で、ルーチンは、制御語をBIC
制御レジスタ913に書込む。次に、ステツプ
1539で、ルーチンは、「クイツク」メツセージを
BIC EOPレジスタ917に書込む。次に、ステ
ツプ1543で、ルーチンは、読出しを受けた点へ戻
る。
図のステツプ1538で、ルーチンは、制御語をBIC
制御レジスタ913に書込む。次に、ステツプ
1539で、ルーチンは、「クイツク」メツセージを
BIC EOPレジスタ917に書込む。次に、ステ
ツプ1543で、ルーチンは、読出しを受けた点へ戻
る。
第22図は、タイム・スタンプを処理するため
にMSBI146により使用されるコード部分をい
フローチヤートで示す。タイム・スタンプ語32
8は、タイム・データを有する複数ビツトと、同
一「エポツク(時期)」かまたは異なる「エポク
ツク」かを示す単一ビツトとを含む。タイム値
は、同一エポツク内ではそれ自身を反復せず、異
なるエポツク内で反復してもよい。第1図のシス
テム内のタイムは、ポストプロセツサとして指定
されたプロセツサ101から流される。プロセツ
サ101は、その現在タイムを他のプロセツサ1
01から受取つたタイム・スタンプ値と置き換え
ば可能であるが、「ホスト」プロセツサ101だ
けが、第1図のシステム内のタイムを1つずつ進
めることが可能である。タイム・スタンプを他の
プロセツサから受けている間は、非ホスト・プロ
セツサ101に対してはタイムは「停止する」。
にMSBI146により使用されるコード部分をい
フローチヤートで示す。タイム・スタンプ語32
8は、タイム・データを有する複数ビツトと、同
一「エポツク(時期)」かまたは異なる「エポク
ツク」かを示す単一ビツトとを含む。タイム値
は、同一エポツク内ではそれ自身を反復せず、異
なるエポツク内で反復してもよい。第1図のシス
テム内のタイムは、ポストプロセツサとして指定
されたプロセツサ101から流される。プロセツ
サ101は、その現在タイムを他のプロセツサ1
01から受取つたタイム・スタンプ値と置き換え
ば可能であるが、「ホスト」プロセツサ101だ
けが、第1図のシステム内のタイムを1つずつ進
めることが可能である。タイム・スタンプを他の
プロセツサから受けている間は、非ホスト・プロ
セツサ101に対してはタイムは「停止する」。
ステツプ2200で、MSBI146は、このコード
部分に対し、タイム・スタンプ328が一時的に
記憶される、作業領域のアドレスと、受取られる
パケツトの語320のフイールド333から得ら
れる送出側BIC IDと、を指定する。呼出しに応
答して、ルーチンは、ステツプ2201で、語328
のエポクツ・ビツト値をプロセツサ101が現在
使用中のタイムのエポツク・ビツト値と比較し
て、両方のタイムは同一エポツクに属するか否か
を判定する。このエポツク・ビツト値が同一であ
れば、エポツクは同一であることを意味し、ステ
ツプ2204で、ルーチンは語328のタイム・デー
タ・フイールド値をプロセツサ101が現在使用
中のタイム値と比較する。語328のタイム・デ
ータ・フイールドの値が、現在使用されているタ
イム値より大きければ、ステツプ2205で、ルーチ
ンは、現在使用している値を放棄して、それを語
328のタイム・データ・フイールドの値と置換
し、これによりプロセツサのタイムを更新する。
次に、ステツプ2206でルーチンは呼出しを受けた
てに戻る。語328のタイム・データ・フイール
ドの値が、現在使用されているタイム値より大き
くなれば、ステツプ2206で、ルーチンは、単に呼
出しを受けた点に戻るだけで、これにより語32
8を介して受取られたタイム値を有効に放棄す
る。
部分に対し、タイム・スタンプ328が一時的に
記憶される、作業領域のアドレスと、受取られる
パケツトの語320のフイールド333から得ら
れる送出側BIC IDと、を指定する。呼出しに応
答して、ルーチンは、ステツプ2201で、語328
のエポクツ・ビツト値をプロセツサ101が現在
使用中のタイムのエポツク・ビツト値と比較し
て、両方のタイムは同一エポツクに属するか否か
を判定する。このエポツク・ビツト値が同一であ
れば、エポツクは同一であることを意味し、ステ
ツプ2204で、ルーチンは語328のタイム・デー
タ・フイールド値をプロセツサ101が現在使用
中のタイム値と比較する。語328のタイム・デ
ータ・フイールドの値が、現在使用されているタ
イム値より大きければ、ステツプ2205で、ルーチ
ンは、現在使用している値を放棄して、それを語
328のタイム・データ・フイールドの値と置換
し、これによりプロセツサのタイムを更新する。
次に、ステツプ2206でルーチンは呼出しを受けた
てに戻る。語328のタイム・データ・フイール
ドの値が、現在使用されているタイム値より大き
くなれば、ステツプ2206で、ルーチンは、単に呼
出しを受けた点に戻るだけで、これにより語32
8を介して受取られたタイム値を有効に放棄す
る。
ステツプ2201で、エポツクが異なると判定され
たならば、ステツプ2202で、ルーチンは、呼出し
の一部として受取られた送出側BIC IDをチエツ
クして、タイム・スタンプが「ホスト」プロセツ
サ101から得られたものか否かが判定される。
もし得られたものでなければ、ステツプ2206で、
コードは、単に呼出しを受けた点に戻るだけで、
これにより語328を介して受取られたタイム値
を有効に放棄する。タイム・スタンプが「ホス
ト」プロセツサ101から受取られたものであれ
ば、ステツプ2203で、コードは、現在使用してい
るタイムおよびエポツクを放棄して、これらを
「ポスト」プロセツサから得られた値と置換える。
次に、ステツプ2206で、コードは呼出しを受けた
点に戻る。
たならば、ステツプ2202で、ルーチンは、呼出し
の一部として受取られた送出側BIC IDをチエツ
クして、タイム・スタンプが「ホスト」プロセツ
サ101から得られたものか否かが判定される。
もし得られたものでなければ、ステツプ2206で、
コードは、単に呼出しを受けた点に戻るだけで、
これにより語328を介して受取られたタイム値
を有効に放棄する。タイム・スタンプが「ホス
ト」プロセツサ101から受取られたものであれ
ば、ステツプ2203で、コードは、現在使用してい
るタイムおよびエポツクを放棄して、これらを
「ポスト」プロセツサから得られた値と置換える。
次に、ステツプ2206で、コードは呼出しを受けた
点に戻る。
第23図は、他のプロセツサ101からパケツ
トを受取るときのインターフエース・フアシリテ
イ141の作業をフローチヤートで示し、これに
よりキユー構造145の入力キユー143の用法
を示す。
トを受取るときのインターフエース・フアシリテ
イ141の作業をフローチヤートで示し、これに
よりキユー構造145の入力キユー143の用法
を示す。
他のプロセツサ101から受取つたパケツトか
らデータを取得することを望むユーザ・プロセス
140は、ステツプ1900で、READPコールを介
して、フアシリテイ141を呼出す。この呼出し
の一部として、ユーザ・プロセス140は、それ
からデータを取得したいポート202を指定し、
またカーネル・チヤンネルのポート202に対し
ては送出側バス・インタフエース回路(BIC)1
10のIDも指定する。呼出しに応答して、ステ
ツプ1901で、インターフエース・フアシリテイ1
41は、そのポートの入力キユー143は空きで
あるか否か、またはそれはこの呼出しを満足させ
る何らかの受け取り情報を含むかどうかをチエツ
クする。インターフエース・フアシリテイ141
は、指定されたポート202のポート構造380
の入力キユー・ポインタ382にアクセスし、指
定されたポート202にどの入力キユーが付属す
るかを判定する。
らデータを取得することを望むユーザ・プロセス
140は、ステツプ1900で、READPコールを介
して、フアシリテイ141を呼出す。この呼出し
の一部として、ユーザ・プロセス140は、それ
からデータを取得したいポート202を指定し、
またカーネル・チヤンネルのポート202に対し
ては送出側バス・インタフエース回路(BIC)1
10のIDも指定する。呼出しに応答して、ステ
ツプ1901で、インターフエース・フアシリテイ1
41は、そのポートの入力キユー143は空きで
あるか否か、またはそれはこの呼出しを満足させ
る何らかの受け取り情報を含むかどうかをチエツ
クする。インターフエース・フアシリテイ141
は、指定されたポート202のポート構造380
の入力キユー・ポインタ382にアクセスし、指
定されたポート202にどの入力キユーが付属す
るかを判定する。
次に、インターフエース・フアシリテイ141
は、入力キユー143のポインタ352,353
をアクセスして、これらを比較する。アンロー
ド・ポインタ353が、ロード・ポインタ352
により指示されたエントリ354の直前のエント
リ354を指示するならば、入力キユー143
は、空きであり、ステツプ1902で、ポートのポー
ト構造380のステータス・インデイケータ38
7をチエツクすることにより、インターフエー
ス・フアシリテイ141は、付属のポート202
が切断されているか否かをチエツクする。ポート
202が切断されていることをエントリ387が
指示するならば、ステツプ1908で、インターフエ
ース・フアシリテイ141は、エラー指示を有し
ながら呼出側プロセス140に戻る。
は、入力キユー143のポインタ352,353
をアクセスして、これらを比較する。アンロー
ド・ポインタ353が、ロード・ポインタ352
により指示されたエントリ354の直前のエント
リ354を指示するならば、入力キユー143
は、空きであり、ステツプ1902で、ポートのポー
ト構造380のステータス・インデイケータ38
7をチエツクすることにより、インターフエー
ス・フアシリテイ141は、付属のポート202
が切断されているか否かをチエツクする。ポート
202が切断されていることをエントリ387が
指示するならば、ステツプ1908で、インターフエ
ース・フアシリテイ141は、エラー指示を有し
ながら呼出側プロセス140に戻る。
ステツプ1902で、ポート202が切断されてい
るとの指示がなければ、ステツプ1903で、インタ
ーフエース・フアシリテイは、ステツプ1900で受
取つた呼出しのパラメータをチエツクして、呼出
し側プロセス140が、キユー上で寝込んで、入
力への繰入れ待機を希望するか否かを判定する。
待機を希望しなければ、ステツプ1908で、インタ
ーフエース・フアシリテイ141は、エラー指示
を有しながら呼出側プロセス140に戻る。呼出
側プロセス140が、待機を希望すれば、ステツ
プ1904で、インターフエース・フアシリテイ14
1は、入力キユー143のプロセス待機中フラツ
グ350をセツトして、プロセスがこの入力キユ
ー143で寝込み中であることを指示する。次
に、ステツプ1916で、インターフエース・フアシ
リテイ141は、呼出し側プロセスを通常の
UNIXシステムの方法で寝込ませる。プロセスを
寝込ませることの中に含まれる活動、プロセツサ
が寝込みに入るときのプロセツサ状態を保存する
こと、およびこの入力キユー143のアドレスに
付属された寝込み中プロセス・リストにプロセス
IDを追加するこ、含む。次に1905で、インター
フエース・フアシリテイ141は、応答、処理、
および他のプロセス140からの別の呼出しとい
うような他の作業を継続する。
るとの指示がなければ、ステツプ1903で、インタ
ーフエース・フアシリテイは、ステツプ1900で受
取つた呼出しのパラメータをチエツクして、呼出
し側プロセス140が、キユー上で寝込んで、入
力への繰入れ待機を希望するか否かを判定する。
待機を希望しなければ、ステツプ1908で、インタ
ーフエース・フアシリテイ141は、エラー指示
を有しながら呼出側プロセス140に戻る。呼出
側プロセス140が、待機を希望すれば、ステツ
プ1904で、インターフエース・フアシリテイ14
1は、入力キユー143のプロセス待機中フラツ
グ350をセツトして、プロセスがこの入力キユ
ー143で寝込み中であることを指示する。次
に、ステツプ1916で、インターフエース・フアシ
リテイ141は、呼出し側プロセスを通常の
UNIXシステムの方法で寝込ませる。プロセスを
寝込ませることの中に含まれる活動、プロセツサ
が寝込みに入るときのプロセツサ状態を保存する
こと、およびこの入力キユー143のアドレスに
付属された寝込み中プロセス・リストにプロセス
IDを追加するこ、含む。次に1905で、インター
フエース・フアシリテイ141は、応答、処理、
および他のプロセス140からの別の呼出しとい
うような他の作業を継続する。
パケツトを受取り、その結果、プロセスが待機
中であつた入力キユー143内にMSBI146が
データ・エントリ354を形成すると、MSBI1
46は、割込みを出す(第20図のステツプ
1525)。この割込みは、インターフエース・フア
シリテイ141により受取られ、第24図に示し
かつ後に説明するように処理される。この処理の
一部として、寝込み中のプロセスが込起こさる。
寝込み中のプロセスの予呼起しおよび実行再開の
中には、そのプロセスが寝込みに入つた時のプロ
セツサ状態の回復が含まれる。この活動は、ステ
ツプ1906でインターフエース・フアシリテイ14
1の実行を再開させる。ステツプ1907で、インタ
ーフエース・フアシリテイ141は、入力キユー
が付属するポート202のポート構造380のス
テータス・インデイケータ387を再びチエツク
し、ポートが切断されているとのマークが付記さ
れているか否かを判定する。もし切断されていれ
ば、ステツプ1908で、インターフエース・フアシ
リテイ141は、エラー指示を保有しながら、呼
起こされたプロセス140に戻る。
中であつた入力キユー143内にMSBI146が
データ・エントリ354を形成すると、MSBI1
46は、割込みを出す(第20図のステツプ
1525)。この割込みは、インターフエース・フア
シリテイ141により受取られ、第24図に示し
かつ後に説明するように処理される。この処理の
一部として、寝込み中のプロセスが込起こさる。
寝込み中のプロセスの予呼起しおよび実行再開の
中には、そのプロセスが寝込みに入つた時のプロ
セツサ状態の回復が含まれる。この活動は、ステ
ツプ1906でインターフエース・フアシリテイ14
1の実行を再開させる。ステツプ1907で、インタ
ーフエース・フアシリテイ141は、入力キユー
が付属するポート202のポート構造380のス
テータス・インデイケータ387を再びチエツク
し、ポートが切断されているとのマークが付記さ
れているか否かを判定する。もし切断されていれ
ば、ステツプ1908で、インターフエース・フアシ
リテイ141は、エラー指示を保有しながら、呼
起こされたプロセス140に戻る。
ステツプ1907で、ポート202が切断されてい
ないか、またはステツプ1901で入力キユー143
が空きでなければ、インターフエース・フアシリ
テイ141は、入力キユーのアンローダ・ポイン
タ353で指示された入力キユー・データ・エン
トリ354を読取り、次に、ステツプ1909で、ポ
インタ353を進めて、次のエントリ354を指
示する。次に、ステツプ1910で、インターフエー
ス・フアシリテイ141は、入力キユー・フル・
フラグ348をチエツクして、入力キユーが満杯
のフラツグ表示がなさせているか否かを判定す
る。このフラツグ348は、カウント・フラツグ
であり、インターフエース・フアシリテイ141
は、ステツプ1910で、フラツグ348がゼロ以外
の値を有するか否かをチエツクする。もし有すれ
ば、フラグ348はセツトされているとみなさ
れ、ステツプ1911で、インターフエース・フアシ
リテイ141は、フラツグ348のカウントを減
じて、ステツプ1909でデータ・エントリ354が
入力キユー143から削除されたという事実を反
映させる。次に、ステツプ1912で、インターフエ
ース・フアシリテイは、フラツグ348を再チエ
ツクし、それがゼロまで減じられたか否かを判定
する。もしそうであれば、これは、十分な多くの
エントリ354が入力キユー143から削除され
かつキユー143は新たなエントリ354を受入
れる準備が完了していることの指示である。従つ
て、ステツプ1913で、ポートのポート構造380
の出力キユー・ポインタ381により識別された
出力キユー144のデータ・エントリ317内
に、インターフエース・フアシリテイ141は、
前の説明のような「再スタート」メツセージを構
成する。次に、ステツプ1914で、MSBI146
は、出力キユー制御構造300のタスク・フラツ
グ305をセツトして、出力キユー144の処理
を起動し、これによりそのポートに付属されたチ
ヤンネル201の他端部にあるプロセツサ101
に再スタートメツセージを送る。
ないか、またはステツプ1901で入力キユー143
が空きでなければ、インターフエース・フアシリ
テイ141は、入力キユーのアンローダ・ポイン
タ353で指示された入力キユー・データ・エン
トリ354を読取り、次に、ステツプ1909で、ポ
インタ353を進めて、次のエントリ354を指
示する。次に、ステツプ1910で、インターフエー
ス・フアシリテイ141は、入力キユー・フル・
フラグ348をチエツクして、入力キユーが満杯
のフラツグ表示がなさせているか否かを判定す
る。このフラツグ348は、カウント・フラツグ
であり、インターフエース・フアシリテイ141
は、ステツプ1910で、フラツグ348がゼロ以外
の値を有するか否かをチエツクする。もし有すれ
ば、フラグ348はセツトされているとみなさ
れ、ステツプ1911で、インターフエース・フアシ
リテイ141は、フラツグ348のカウントを減
じて、ステツプ1909でデータ・エントリ354が
入力キユー143から削除されたという事実を反
映させる。次に、ステツプ1912で、インターフエ
ース・フアシリテイは、フラツグ348を再チエ
ツクし、それがゼロまで減じられたか否かを判定
する。もしそうであれば、これは、十分な多くの
エントリ354が入力キユー143から削除され
かつキユー143は新たなエントリ354を受入
れる準備が完了していることの指示である。従つ
て、ステツプ1913で、ポートのポート構造380
の出力キユー・ポインタ381により識別された
出力キユー144のデータ・エントリ317内
に、インターフエース・フアシリテイ141は、
前の説明のような「再スタート」メツセージを構
成する。次に、ステツプ1914で、MSBI146
は、出力キユー制御構造300のタスク・フラツ
グ305をセツトして、出力キユー144の処理
を起動し、これによりそのポートに付属されたチ
ヤンネル201の他端部にあるプロセツサ101
に再スタートメツセージを送る。
ステツプ1914に続いて、または、入力キユー1
43のフラツグ348の値が減じられて、ステツ
プ1912ではゼロ以外の値でなるかあるいはステツ
プ1910ではゼロである場合には、ステツプ1915
で、インターフエース・フアシリテイ141は、
ステツプ1909で、読取つた入力キユー143のデ
ータ・エントリ354のバツフア・アドレス語3
55を有して呼出し側プロセツサ140に戻る。
43のフラツグ348の値が減じられて、ステツ
プ1912ではゼロ以外の値でなるかあるいはステツ
プ1910ではゼロである場合には、ステツプ1915
で、インターフエース・フアシリテイ141は、
ステツプ1909で、読取つた入力キユー143のデ
ータ・エントリ354のバツフア・アドレス語3
55を有して呼出し側プロセツサ140に戻る。
MSBI146からの割込みを受取つたことに対
するインターフエース・フアシリテイ141の割
込みハンドラによる応答を第24図に示す。前に
説明したように、割込み出す前に、応答キユー1
42内にユーザ・エントリ362が構成される。
ステツプ2000で割込みを受けたことに応答して、
割込みハンドラは、ステツプ2001で、ロード・ポ
インタ360をアンロード・ポインタ361と比
較することにより、応答キユー142が空きであ
るか否かをチエツクする。アンロード・ポインタ
361がロード・ポインタ360により指示され
たエントリ362の直前のエントリ362を指示
するならば、キユー142は空きであり、割込い
ハンドラは、ステツプ2020で、割込みを受けたイ
ンターフエース・フアシリテイ141のアクテイ
ビテイへ戻る。キユー142が空きでない(これ
は割込みの受取り直後ではないが)ならば、ステ
ツプ2003で割込みハンドラは、アンロード・ポイ
ンタ361により指示された応答キユー・ユー
ザ・エントリ362を読取り、次にステツプ2004
でポインタ361を進めて次の応答エントリ36
2を指示する。次に、ステツプ2005で、割込みハ
ンドラは、読取られた応答エントリ362のタグ
語370を調査して、エントリ・タイプを判定す
る。
するインターフエース・フアシリテイ141の割
込みハンドラによる応答を第24図に示す。前に
説明したように、割込み出す前に、応答キユー1
42内にユーザ・エントリ362が構成される。
ステツプ2000で割込みを受けたことに応答して、
割込みハンドラは、ステツプ2001で、ロード・ポ
インタ360をアンロード・ポインタ361と比
較することにより、応答キユー142が空きであ
るか否かをチエツクする。アンロード・ポインタ
361がロード・ポインタ360により指示され
たエントリ362の直前のエントリ362を指示
するならば、キユー142は空きであり、割込い
ハンドラは、ステツプ2020で、割込みを受けたイ
ンターフエース・フアシリテイ141のアクテイ
ビテイへ戻る。キユー142が空きでない(これ
は割込みの受取り直後ではないが)ならば、ステ
ツプ2003で割込みハンドラは、アンロード・ポイ
ンタ361により指示された応答キユー・ユー
ザ・エントリ362を読取り、次にステツプ2004
でポインタ361を進めて次の応答エントリ36
2を指示する。次に、ステツプ2005で、割込みハ
ンドラは、読取られた応答エントリ362のタグ
語370を調査して、エントリ・タイプを判定す
る。
エントリ・タイプが入力であれば、これは、そ
のプロセス待機中インデイケータ350がセツト
されているかまたは入力を同期的に割込みハンド
ラ内にデキユー(deque;待ち行列から外す)す
るかしている入力キユー143に対してパケツト
を受取つたことを示している。入力キユー143
は、入力ハンドラが直接呼出すところのこれに付
属のサービス・ルーチン(プロセスではない)を
入力キユーが有した時に、同期式にデキユーされ
る。ステツプ2006で、割込みハンドラは、応答エ
ントリ362のデータ語371を調査して、当該
の入力キユー143を識別し、この識別された入
力キユー143に付属のポートのポート構造38
0のチヤンネル・タイプ・インデイケータ385
をアクセスし、このインデイケータ385を調査
して、ポート202に付属するチヤンネル201
は、同期式にデキユーされる非同期式チヤンネル
であるか否かを判定する。もし非同期式チヤンネ
ルであれば、ステツプ2007で、割込みハンドラ
は、待機中のルーチンを呼出し、次に、ステツプ
2001に戻る。もし非同期式チヤンネルでなけれ
ば、ステツプ2008で割込みハンドラは、入力キユ
ー143上で寝込み中であつて入力キユー143
に付属のプロセスIDのリストで識別されたプロ
セスを呼び起こす。割込みハンドラは次にステツ
プ2001に戻る。
のプロセス待機中インデイケータ350がセツト
されているかまたは入力を同期的に割込みハンド
ラ内にデキユー(deque;待ち行列から外す)す
るかしている入力キユー143に対してパケツト
を受取つたことを示している。入力キユー143
は、入力ハンドラが直接呼出すところのこれに付
属のサービス・ルーチン(プロセスではない)を
入力キユーが有した時に、同期式にデキユーされ
る。ステツプ2006で、割込みハンドラは、応答エ
ントリ362のデータ語371を調査して、当該
の入力キユー143を識別し、この識別された入
力キユー143に付属のポートのポート構造38
0のチヤンネル・タイプ・インデイケータ385
をアクセスし、このインデイケータ385を調査
して、ポート202に付属するチヤンネル201
は、同期式にデキユーされる非同期式チヤンネル
であるか否かを判定する。もし非同期式チヤンネ
ルであれば、ステツプ2007で、割込みハンドラ
は、待機中のルーチンを呼出し、次に、ステツプ
2001に戻る。もし非同期式チヤンネルでなけれ
ば、ステツプ2008で割込みハンドラは、入力キユ
ー143上で寝込み中であつて入力キユー143
に付属のプロセスIDのリストで識別されたプロ
セスを呼び起こす。割込みハンドラは次にステツ
プ2001に戻る。
ステツプ2005で、エントリ・タイプが出力であ
ると判定されれば、応答エントリ362は、その
プロセス待機中フラツグ313がセツトされてい
る出力キユー144のデータ・エントリ317に
対応するパケツトを送出したことの合図である。
次に、ステツプ2008で、割込みハンドラは、応答
エントリ362のデータ語371を調査して、そ
の出力キユー144を識別し、その出力キユー1
44で寝込み中のプロセス140を呼び起こす。
割込みハンドラは、次に、ステツプ2001に戻る。
ると判定されれば、応答エントリ362は、その
プロセス待機中フラツグ313がセツトされてい
る出力キユー144のデータ・エントリ317に
対応するパケツトを送出したことの合図である。
次に、ステツプ2008で、割込みハンドラは、応答
エントリ362のデータ語371を調査して、そ
の出力キユー144を識別し、その出力キユー1
44で寝込み中のプロセス140を呼び起こす。
割込みハンドラは、次に、ステツプ2001に戻る。
ステツプ2005で、エントリ・タイプが入力また
は出力以外のものであると判定されると、ステツ
プ2009で、割込みハンドラは、そのエントリ・タ
イプに適切であるようなエントリ362を処理す
る。実施例では、割込みハンドラは、応答エント
リ362をプロセツサ101の端末上にプリント
させる。割込みハンドラは次にステツプ2001に戻
る。
は出力以外のものであると判定されると、ステツ
プ2009で、割込みハンドラは、そのエントリ・タ
イプに適切であるようなエントリ362を処理す
る。実施例では、割込みハンドラは、応答エント
リ362をプロセツサ101の端末上にプリント
させる。割込みハンドラは次にステツプ2001に戻
る。
尚、本明細文中、肯定応答メツセージとは情報
を受領したか否かのメツセージで、従つて、否定
応答メツセージとも場合によつては含むものとす
る。
を受領したか否かのメツセージで、従つて、否定
応答メツセージとも場合によつては含むものとす
る。
第1図は本発明の実施例を態様化した多重プロ
セツサ系のブロツク図;第2図は第1図の系のプ
ロセツサ間通信論理構造を示すブロツク型式図、
第3図ないし第5図は第1図の糸のキユー構造の
ブロツク図;第6図は第1図の系のインターフエ
ース・フアシリテイ141がGETPコールに応答
したときに行なう作業の流れ図;第7図は第1図
の系のインターフエース・フアシリテイ141が
WRITEPコールに応答したときに行なう作業の
流れ図;第8図ないし第11図は第1図のMSBI
がパケツトを送り出すときに行なう作業の流れ
図;第12図は第1図の系のプロセツサのアドレ
ス空間へのBICバツフアのマツプ化を示すブロツ
ク形式図;第13図はレギユラ・パケツトの構成
を示すブロツク形式図;第14図は「クイツク」
メツセージ・パケツトの構成を示すブロツク形式
図;第15図は第1図の系のバス・インタフエー
ス回路(BIC)およびバスのブロツク図;第16
図は第15図のバス・インタフエース回路
(BIC)の制御装置の「送出し有限状態マシン」
の状態図;第17図は第15図のバス・インタフ
エース回路(BIC)の制御装置の「受取り有限状
態マシン」の状態図;第18図ないし第20図は
第1図の系のMSBIがパケツトを受取るときに行
なう作業の流れ図;第21図は第1図の系の
MSBIの「送出しクイツク・メツセージ」ルーチ
ンの流れ図;第22図は第1図の系のMSBIの
「プロセス・タイム・スタンプ」の流れ図;第2
3図は第1図の系のインターフエース・フアシリ
テイ141がREADPコールに応答したときに行
う作業の流れ図;第24図は第1図の系のインタ
ーフエース・フアシリテイ141の割込み処理ル
ーチンの流れ図;第25図は単一図を形成するた
めに第3図ないし第5図の配置を示す構成図であ
る。
セツサ系のブロツク図;第2図は第1図の系のプ
ロセツサ間通信論理構造を示すブロツク型式図、
第3図ないし第5図は第1図の糸のキユー構造の
ブロツク図;第6図は第1図の系のインターフエ
ース・フアシリテイ141がGETPコールに応答
したときに行なう作業の流れ図;第7図は第1図
の系のインターフエース・フアシリテイ141が
WRITEPコールに応答したときに行なう作業の
流れ図;第8図ないし第11図は第1図のMSBI
がパケツトを送り出すときに行なう作業の流れ
図;第12図は第1図の系のプロセツサのアドレ
ス空間へのBICバツフアのマツプ化を示すブロツ
ク形式図;第13図はレギユラ・パケツトの構成
を示すブロツク形式図;第14図は「クイツク」
メツセージ・パケツトの構成を示すブロツク形式
図;第15図は第1図の系のバス・インタフエー
ス回路(BIC)およびバスのブロツク図;第16
図は第15図のバス・インタフエース回路
(BIC)の制御装置の「送出し有限状態マシン」
の状態図;第17図は第15図のバス・インタフ
エース回路(BIC)の制御装置の「受取り有限状
態マシン」の状態図;第18図ないし第20図は
第1図の系のMSBIがパケツトを受取るときに行
なう作業の流れ図;第21図は第1図の系の
MSBIの「送出しクイツク・メツセージ」ルーチ
ンの流れ図;第22図は第1図の系のMSBIの
「プロセス・タイム・スタンプ」の流れ図;第2
3図は第1図の系のインターフエース・フアシリ
テイ141がREADPコールに応答したときに行
う作業の流れ図;第24図は第1図の系のインタ
ーフエース・フアシリテイ141の割込み処理ル
ーチンの流れ図;第25図は単一図を形成するた
めに第3図ないし第5図の配置を示す構成図であ
る。
Claims (1)
- 【特許請求の範囲】 1 通信媒体150と、 この通信媒体にバスインターフエース回路11
0を介して通信結合されたプロセツサ110と を有するシステム(第1図)のステーシヨン10
1,110,146において、 プロセツサ101に付属の第1の優先順位とこ
の第1の優先順位より高位の第2の優先順位のい
ずれか一方に応じて、通信媒体へのアクセスを探
索するアービタ手段1211と、 前記アービタ手段によるアクセス探索の結果に
応答して、通信媒体上にレギユラメツセージ(デ
ータパケツト)と肯定応答メツセージ(クイツク
パケツト)のいずれかを他のステーシヨンに伝送
する送信側制御手段1214と、 前記通信媒体上で他のステーシヨンから受取つ
たレギユラメツセージを記憶する受信FIFOバツ
フア手段923と、 前記通信媒体上で他のステーシヨンから受取つ
た肯定または否定応答メツセージをレギユラメツ
セージから分離して記憶するクイツクメツセージ
レジスタバツフア手段918と、 第1の優先順位に応じて、前記アービタ手段が
通信媒体アクセスを探索するように行わせ、送信
側制御手段がレギユラメツセージを伝送するよう
に行わせるインターフエースユニツト出力処理手
段144,146と、 受信FIFOバツフア手段内に記憶されている他
のステーシヨンからのメツセージに応答して、第
2の優先順位に応じて、前記アービタ手段が通信
媒体アクセスを探索するように行わせ、前記送信
側制御手段が応答肯定メツセージを他のステーシ
ヨンに伝送するように行わせるインターフエース
ユニツト入力処理手段143,146と を有する特徴とする通信媒体に結合された複数ス
テーシヨンからなるシステムのステーシヨン。 2 前記受信FIFOバツフア手段923は 前記受信FIFOバツフア手段内に記憶されてい
るメツセージは第1タイプの条件により影響され
るか否かを判定し1214,1411、 メツセージがレギユラメツセージの条件により
影響されると判定したとき、第1の信号を伝送し
1214,1412、 前記インターフエースユニツト出力処理手段1
44,146は、 通信媒体上における第1の信号の受取りに応答
して、第1の信号の受取り中に、送信側制御手段
によりレギユラメツセージの再伝送を行わせる
(618、620) ことを特徴とする特許請求の範囲第1項に記載の
ステーシヨン。 3 前記インターフエースユニツト入力手段14
3,146は、 前記受信FIFOFバツフア手段から抜出された
メツセージを示す情報を記憶する入力キユー14
3を有し、 受信FIFOFバツフア手段内に記憶されている
他のステーシヨンからのメツセージを取り出し
(1504、1515、第19図)、 この取出されたメツセージは第2タイプの条件
により影響されるか否かを判定し(1514)、 この取出されたメツセージが第2タイプの条件
により影響されないないと判定されると、取出さ
れたメツセージを示す情報を入力キユー143内
に選択的に記憶し、それが第2タイプの条件によ
り影響されると判定されると、取出されたメツセ
ージを放棄し(第19図)、 この取出されたメツセージが第2タイプの条件
により影響されないと判定されると、第2の優先
順位に応じて、アービタ手段が通信媒体アクセス
を探索するように行わせ、前記送信側制御手段が
取出されたメツセージの内の肯定応答を有するメ
ツセージを他のステーシヨンに伝送するように行
わせ、また、取出されたメツセージが第2タイプ
の条件により影響されると判定され、影響される
メツセージの受取り中に制御手段1214が第1
の信号を信号媒体に送らないと、第2の優先順位
に応じてアービタ手段が信号媒体アクセスを探索
するように行わせ、かつ送信側制御手段が、抜出
されたメツセージ内の否定応答を有するメツセー
ジを他のステーシヨンに伝送するように行わせる
(1532、1545、1547) ことを特徴とする特許請求の範囲第2項に記載の
ステーシヨン。 4 前記インターフエースユニツト入力手段14
3,146は、 前記受信FIFOFバツフア手段から抜出された
メツセージを示す情報を記憶する入力キユー14
3を有し、 受信FIFOFバツフア手段内に記憶されている
他のステーシヨンからのメツセージを取り出し
(1504、1515、第19図)、 この取出されたメツセージは第1タイプの条件
を含む第2タイプの条件により影響されるか否か
を判定し(105、1509、1514、1518)、 この取出されたメツセージが第2タイプの条件
により影響されないないと判定されると、取出さ
れたメツセージを示す情報を入力キユー143内
に記憶し、またそれが第2タイプの条件により影
響されると判定されると、取出されたメツセージ
を放棄し(1504、1515、1506、1526、1508、
1510、1516、1517、1501、1550、1519、1520、
1508、1530)、 この取出されたメツセージが第1タイプの条件
により影響されないと判定されると、第2の優先
順位に応じて、アービタ手段が通信媒体アクセス
を探索するように行わせ、送信側制御手段が取出
されたメツセージの内の肯定応答を有するメツセ
ージを他のステーシヨンに伝送するように行わせ
る(1502、1532、1545、1547)、 ことを特徴とする特許請求の範囲第2項に記載の
ステーシヨン。 5 インターフエースユニツト出力手段144,
146は、 他のステーシヨンの異なる入力キユー143と
結合され、関連入力キユー143へ送信側制御手
段1214により伝送されるメツセージを示す情
報を記憶する複数の出力キユー144を有し、 クイツクメツセージレジスタバツフア手段91
8によるメツセージの記憶に応答して、いずれの
応答タイプが保有されているかを判定するため
に、記憶されているメツセージをクイツクメツセ
ージレジスタバツフア手段918から取出し
(621−623)、 前記応答が肯定応答であると判定された場合、
クイツクメツセージレジスタバツフア手段918
から取り出されたメツセージにより応答されたメ
ツセージを示す情報を入力キユー143から抹消
し、 また前記応答が否定応答であると判定された場
合、クイツクメツセージレジスタバツフア手段
(918)から取り出されたメツセージにより応答さ
れたメツセージを示す情報を記憶する入力キユー
143により記憶された情報によつて示されるメ
ツセージの伝送を遅らせる(624、625) ことを特徴とする特許請求の範囲第3項記載のス
テーシヨン。 6 前記インターフエースユニツト入力処理手段
143,146は、 受信FIFOバツフア手段923に記憶されてい
る他のステーシヨンからのメツセージは第1タイ
プの条件により影響されるか否かを判定し
(1504、1514、1515、第19図)、 応答されたメツセージが第1のタイプの条件に
より影響されないと判定された場合、第2の優先
順位に応じて、アービタ手段が通信媒体アクセス
を探索するように行わせ、かつ、送信側制御手段
が取り出されたメツセージの肯定応答メツセージ
を他のステーシヨンに伝送するように行わせ、 またさらに応答されたメツセージが第1タイプ
の条件により影響されると判定された場合、第2
の優先順位に応じてアービタ手段が通信媒体アク
セスを探索するように行わせ、かつ、送信側制御
手段が受信FIFOバツフア手段923内に記憶さ
れている他のステーシヨンからのメツセージの否
定応答メツセージを他のステーシヨンに送るよう
に行わせ(1502、1532、1545、1547)、 また前記インターフエースユニツト出力処理手
段144,146は、 クイツクメツセージレジスタバツフア手段91
8により記憶され、かつメツセージの否定応答を
有するメツセージに応答して、否定応答メツセー
ジの再伝送を行わせる(621−625) ことを特徴とする特許請求の範囲第1項に記載の
ステーシヨン。 7 前記インターフエースユニツト入力処理手段
(143、146)は、 受信FIFOバツフア手段から取り出されたメツ
セージを示す情報を記憶する入力キユー143を
含み、 前記の判定に際し、 前記受信FIFOバツフア手段923内に記憶さ
れているメツセージを取り出し(1504、1515、第
19図)、 この取り出されたメツセージは第1タイプの条
件により影響されるか否かを判定し(1514)、 この取り出されたメツセージが第1タイプの条
件により影響されないと判定された場合、この取
り出されたメツセージを示す情報を入力キユー内
に選択的に記憶し、また、この取り出されたメツ
セージが第1タイプの条件により影響されると判
定された場合、この取り出されたメツセージを放
棄する(第19図) ことを特徴とする特許請求の範囲第6項に記載の
ステーシヨン。 8 インターフエースユニツト出力処理手段14
4,146は、 各々他のステーシヨンの異なる入力キユーと結
合され、前記受信FIFOバツフア手段の第1信号
を伝送する手段へ送信側制御手段により伝送され
るメツセージを示す情報を記憶する複数の応答キ
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/941,702 US4914653A (en) | 1986-12-22 | 1986-12-22 | Inter-processor communication protocol |
US941702 | 1986-12-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63234343A JPS63234343A (ja) | 1988-09-29 |
JPH0550021B2 true JPH0550021B2 (ja) | 1993-07-27 |
Family
ID=25476926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62323014A Granted JPS63234343A (ja) | 1986-12-22 | 1987-12-22 | 通信媒体に結合された複数のステーションからなるシステムのステーションとそれらステーション間の通信方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US4914653A (ja) |
EP (1) | EP0272834B1 (ja) |
JP (1) | JPS63234343A (ja) |
KR (1) | KR960012686B1 (ja) |
BR (1) | BR8706962A (ja) |
CA (1) | CA1277382C (ja) |
DE (1) | DE3751091T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007328813A (ja) * | 1998-05-08 | 2007-12-20 | Fujitsu Ltd | ネットワーク通信におけるデッドロックを回避するためのコンピュータアーキテクチャ |
Families Citing this family (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5051892A (en) * | 1989-02-09 | 1991-09-24 | International Business Machines Corp. | Full duplex conversation between transaction programs |
GB8915136D0 (en) * | 1989-06-30 | 1989-08-23 | Inmos Ltd | Method for controlling communication between computers |
US5475680A (en) * | 1989-09-15 | 1995-12-12 | Gpt Limited | Asynchronous time division multiplex switching system |
JPH03270431A (ja) * | 1990-03-20 | 1991-12-02 | Fujitsu Ltd | プロセッサ間通信方式 |
US5048013A (en) * | 1990-04-06 | 1991-09-10 | At&T Bell Laboratories | Transmission congestion control method and apparatus |
EP0459877A1 (fr) * | 1990-05-28 | 1991-12-04 | Copernique, Societe Anonyme | Dispositif informatique de transfert de données en mode rafale |
FR2662522B1 (fr) * | 1990-05-28 | 1994-08-12 | Copernique | Dispositif informatique de transfert de donnees en mode rafale. |
AU630299B2 (en) * | 1990-07-10 | 1992-10-22 | Fujitsu Limited | A data gathering/scattering system in a parallel computer |
JPH077975B2 (ja) * | 1990-08-20 | 1995-01-30 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ伝送を制御するためのシステムおよび方法 |
US5481540A (en) * | 1990-08-24 | 1996-01-02 | At&T Corp. | FDDI bridge frame learning and filtering apparatus and method |
AU665521B2 (en) * | 1990-10-03 | 1996-01-11 | Thinking Machines Corporation | Parallel computer system |
EP0490595B1 (en) * | 1990-12-14 | 1998-05-20 | Sun Microsystems, Inc. | Method for operating time critical processes in a window system environment |
US5165021A (en) * | 1991-01-18 | 1992-11-17 | Racal-Datacom, Inc. | Transmit queue with loadsheding |
DE69220262T2 (de) * | 1991-03-08 | 1997-09-18 | Matsushita Electric Ind Co Ltd | Einrichtung zur Datenübertragung |
US5313649A (en) * | 1991-05-28 | 1994-05-17 | International Business Machines Corporation | Switch queue structure for one-network parallel processor systems |
US5311510A (en) * | 1991-07-30 | 1994-05-10 | The Furukawa Electric Co., Ltd. | Data storing system for a communication control circuit |
US5257384A (en) * | 1991-09-09 | 1993-10-26 | Compaq Computer Corporation | Asynchronous protocol for computer system manager |
GB2260835A (en) * | 1991-10-24 | 1993-04-28 | Ibm | Data processing system |
DE4139933A1 (de) * | 1991-12-04 | 1993-06-09 | Philips Patentverwaltung Gmbh, 2000 Hamburg, De | Kommunikationssystem |
US5590366A (en) * | 1992-05-27 | 1996-12-31 | Digital Equipment Corporation | Packet forwarding system for measuring the age of data packets flowing through a computer network |
US5428796A (en) * | 1992-08-26 | 1995-06-27 | International Business Machines Corporation | System and method for regulating access to direct access storage devices in data processing systems |
JPH07105023A (ja) * | 1993-09-20 | 1995-04-21 | Internatl Business Mach Corp <Ibm> | データ処理システム内でスプリアス割込みを検出するための方法及び装置 |
CA2123447C (en) * | 1993-09-20 | 1999-02-16 | Richard L. Arndt | Scalable system interrupt structure for a multiprocessing system |
US6141689A (en) * | 1993-10-01 | 2000-10-31 | International Business Machines Corp. | Method and mechanism for allocating switched communications ports in a heterogeneous data processing network gateway |
US5469446A (en) * | 1994-01-26 | 1995-11-21 | International Business Machines Corporation | Retry filter and circulating echo method and apparatus |
JPH07262154A (ja) * | 1994-03-25 | 1995-10-13 | Fujitsu Ltd | プロセッサ間通信制御方式 |
US5590304A (en) * | 1994-06-13 | 1996-12-31 | Covex Computer Corporation | Circuits, systems and methods for preventing queue overflow in data processing systems |
US5590313A (en) * | 1994-06-30 | 1996-12-31 | International Business Machines Corporation | Multiple protocol device interface subsystem and method |
US5495481A (en) * | 1994-09-30 | 1996-02-27 | Apple Computer, Inc. | Method and apparatus for accelerating arbitration in a serial bus by detection of acknowledge packets |
US5925099A (en) * | 1995-06-15 | 1999-07-20 | Intel Corporation | Method and apparatus for transporting messages between processors in a multiple processor system |
US5875329A (en) * | 1995-12-22 | 1999-02-23 | International Business Machines Corp. | Intelligent batching of distributed messages |
US5815673A (en) * | 1996-03-01 | 1998-09-29 | Samsung Electronics Co., Ltd. | Method and apparatus for reducing latency time on an interface by overlapping transmitted packets |
WO1997041674A2 (en) * | 1996-04-30 | 1997-11-06 | 3Com Corporation | Packet filtering based on socket or application identification |
US5841988A (en) * | 1996-05-23 | 1998-11-24 | Lsi Logic Corporation | Interprocessor communications data transfer and error detection in a multiprocessing environment |
US5961605A (en) | 1997-02-06 | 1999-10-05 | Gte Laboratories Incorporated | Method and apparatus for acknowledging TCP data packets |
US6477584B1 (en) * | 1997-03-21 | 2002-11-05 | Lsi Logic Corporation | Message FIFO empty early warning method |
US5999969A (en) * | 1997-03-26 | 1999-12-07 | Unisys Corporation | Interrupt handling system for message transfers in network having mixed hardware and software emulated modules |
US5944788A (en) * | 1997-03-26 | 1999-08-31 | Unisys Corporation | Message transfer system and control method for multiple sending and receiving modules in a network supporting hardware and software emulated modules |
US5983266A (en) * | 1997-03-26 | 1999-11-09 | Unisys Corporation | Control method for message communication in network supporting software emulated modules and hardware implemented modules |
US6038604A (en) * | 1997-08-26 | 2000-03-14 | International Business Machines Corporation | Method and apparatus for efficient communications using active messages |
US6134244A (en) * | 1997-08-30 | 2000-10-17 | Van Renesse; Robert | Method and system for optimizing layered communication protocols |
US6519686B2 (en) * | 1998-01-05 | 2003-02-11 | Intel Corporation | Information streaming in a multi-process system using shared memory |
DE19807931A1 (de) * | 1998-02-25 | 1999-08-26 | Rohde & Schwarz | Anordnung zum Optimieren der Datenübertragung über einen bidirektionalen Funkkanal |
US7076716B1 (en) * | 1998-04-13 | 2006-07-11 | Intel Corporation | Early acknowledgement of primary packets |
US6260158B1 (en) * | 1998-05-11 | 2001-07-10 | Compaq Computer Corporation | System and method for fail-over data transport |
US6209106B1 (en) * | 1998-09-30 | 2001-03-27 | International Business Machines Corporation | Method and apparatus for synchronizing selected logical partitions of a partitioned information handling system to an external time reference |
KR20000027893A (ko) * | 1998-10-29 | 2000-05-15 | 김영환 | Hdlc 통신로로 연결된 두 프로세서간 패킷전송방법 |
US6513070B1 (en) * | 1999-07-21 | 2003-01-28 | Unisys Corporation | Multi-channel master/slave interprocessor protocol |
US6760855B1 (en) | 2000-06-14 | 2004-07-06 | Advanced Micro Devices, Inc. | System and method for reducing a ground bounce during write by selectively delaying address and data lines with different multiple predetermined amount of delay |
GB2370380B (en) | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
US7240347B1 (en) | 2001-10-02 | 2007-07-03 | Juniper Networks, Inc. | Systems and methods for preserving the order of data |
US7126912B2 (en) * | 2002-05-30 | 2006-10-24 | Motorola, Inc. | Methods for sequencing datagram transmissions |
AU2003298560A1 (en) | 2002-08-23 | 2004-05-04 | Exit-Cube, Inc. | Encrypting operating system |
US20040136241A1 (en) * | 2002-10-31 | 2004-07-15 | Lockheed Martin Corporation | Pipeline accelerator for improved computing architecture and related system and method |
WO2004042574A2 (en) * | 2002-10-31 | 2004-05-21 | Lockheed Martin Corporation | Computing machine having improved computing architecture and related system and method |
US7219333B2 (en) * | 2002-11-22 | 2007-05-15 | Texas Instruments Incorporated | Maintaining coherent synchronization between data streams on detection of overflow |
US7406481B2 (en) * | 2002-12-17 | 2008-07-29 | Oracle International Corporation | Using direct memory access for performing database operations between two or more machines |
GB2398650B (en) * | 2003-02-21 | 2006-09-20 | Picochip Designs Ltd | Communications in a processor array |
US7380106B1 (en) * | 2003-02-28 | 2008-05-27 | Xilinx, Inc. | Method and system for transferring data between a register in a processor and a point-to-point communication link |
US7630304B2 (en) * | 2003-06-12 | 2009-12-08 | Hewlett-Packard Development Company, L.P. | Method of overflow recovery of I2C packets on an I2C router |
US7337371B2 (en) * | 2003-12-30 | 2008-02-26 | Intel Corporation | Method and apparatus to handle parity errors in flow control channels |
US7734797B2 (en) * | 2004-03-29 | 2010-06-08 | Marvell International Ltd. | Inter-processor communication link with manageability port |
US20060085781A1 (en) * | 2004-10-01 | 2006-04-20 | Lockheed Martin Corporation | Library for computer-based tool and related system and method |
US7676661B1 (en) * | 2004-10-05 | 2010-03-09 | Xilinx, Inc. | Method and system for function acceleration using custom instructions |
EP1832028B1 (en) | 2004-10-12 | 2018-01-31 | TQ Delta, LLC | Resource sharing in a dsl transceiver |
US8219823B2 (en) * | 2005-03-04 | 2012-07-10 | Carter Ernst B | System for and method of managing access to a system using combinations of user information |
US20070147404A1 (en) * | 2005-12-27 | 2007-06-28 | Lucent Technologies, Inc. | Method and apparatus for policing connections using a leaky bucket algorithm with token bucket queuing |
KR101952812B1 (ko) | 2006-04-12 | 2019-02-27 | 티큐 델타, 엘엘씨 | 패킷 재전송 및 메모리 공유 |
US20090158299A1 (en) * | 2007-10-31 | 2009-06-18 | Carter Ernst B | System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed |
GB2454865B (en) * | 2007-11-05 | 2012-06-13 | Picochip Designs Ltd | Power control |
US8555292B2 (en) | 2008-06-27 | 2013-10-08 | Microsoft Corporation | Synchronizing communication over shared memory |
US8271996B1 (en) * | 2008-09-29 | 2012-09-18 | Emc Corporation | Event queues |
GB2466661B (en) * | 2009-01-05 | 2014-11-26 | Intel Corp | Rake receiver |
GB2470037B (en) | 2009-05-07 | 2013-07-10 | Picochip Designs Ltd | Methods and devices for reducing interference in an uplink |
GB2470771B (en) | 2009-06-05 | 2012-07-18 | Picochip Designs Ltd | A method and device in a communication network |
GB2470891B (en) | 2009-06-05 | 2013-11-27 | Picochip Designs Ltd | A method and device in a communication network |
GB2474071B (en) | 2009-10-05 | 2013-08-07 | Picochip Designs Ltd | Femtocell base station |
US8683498B2 (en) * | 2009-12-16 | 2014-03-25 | Ebay Inc. | Systems and methods for facilitating call request aggregation over a network |
US8629867B2 (en) | 2010-06-04 | 2014-01-14 | International Business Machines Corporation | Performing vector multiplication |
US8692825B2 (en) | 2010-06-24 | 2014-04-08 | International Business Machines Corporation | Parallelized streaming accelerated data structure generation |
US8522254B2 (en) * | 2010-06-25 | 2013-08-27 | International Business Machines Corporation | Programmable integrated processor blocks |
US8370521B2 (en) * | 2010-07-27 | 2013-02-05 | Sap Ag | Reliable data message exchange |
GB2482869B (en) | 2010-08-16 | 2013-11-06 | Picochip Designs Ltd | Femtocell access control |
US9713093B2 (en) | 2011-02-10 | 2017-07-18 | Mediatek Inc. | Wireless communication device |
US9258030B2 (en) * | 2011-02-10 | 2016-02-09 | Mediatek Inc. | Wireless communication device |
US9369172B2 (en) | 2011-02-10 | 2016-06-14 | Mediatek Inc. | Wireless communication device |
GB2489919B (en) | 2011-04-05 | 2018-02-14 | Intel Corp | Filter |
GB2489716B (en) | 2011-04-05 | 2015-06-24 | Intel Corp | Multimode base system |
GB2491098B (en) | 2011-05-16 | 2015-05-20 | Intel Corp | Accessing a base station |
EP2611093B1 (en) * | 2011-12-21 | 2018-11-28 | Telefonaktiebolaget LM Ericsson (publ) | Technique for handling memory resources of a memory buffer |
US9236064B2 (en) | 2012-02-15 | 2016-01-12 | Microsoft Technology Licensing, Llc | Sample rate converter with automatic anti-aliasing filter |
CN108076085A (zh) * | 2016-11-10 | 2018-05-25 | 北京国双科技有限公司 | 一种数据传输的方法及数据传输装置 |
CN113672545B (zh) * | 2021-09-03 | 2023-11-17 | 国网信息通信产业集团有限公司 | 双处理器间电力数据的传输方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5458187A (en) * | 1977-10-18 | 1979-05-10 | Mitsubishi Electric Corp | Priority transmission method of information |
JPS56110367A (en) * | 1980-02-04 | 1981-09-01 | Mitsubishi Electric Corp | Communication controller |
JPS59177638A (ja) * | 1983-03-29 | 1984-10-08 | Fujitsu Ltd | メツセ−ジ優先送出制御方式 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3447135A (en) * | 1966-08-18 | 1969-05-27 | Ibm | Peripheral data exchange |
GB1441816A (en) * | 1973-07-18 | 1976-07-07 | Int Computers Ltd | Electronic digital data processing systems |
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
SE414087B (sv) * | 1977-02-28 | 1980-07-07 | Ellemtel Utvecklings Ab | Anordning i ett datorsystem vid utsendning av signaler fran en processor till en eller flera andra processorer varvid prioriterade signaler sends direkt utan tidsfordrojning och oprioriterade signalers ordningsfoljd ... |
US4384323A (en) * | 1980-02-25 | 1983-05-17 | Bell Telephone Laboratories, Incorporated | Store group bus allocation system |
US4514728A (en) * | 1980-02-25 | 1985-04-30 | At&T Bell Laboratories | Store group bus allocation system |
US4814974A (en) * | 1982-07-02 | 1989-03-21 | American Telephone And Telegraph Company, At&T Bell Laboratories | Programmable memory-based arbitration system for implementing fixed and flexible priority arrangements |
US4530051A (en) * | 1982-09-10 | 1985-07-16 | At&T Bell Laboratories | Program process execution in a distributed multiprocessor system |
US4714923A (en) * | 1982-11-12 | 1987-12-22 | Motorola, Inc. | Method and apparatus for shedding load in a communications controller of a data communications system |
US4581734A (en) * | 1984-02-14 | 1986-04-08 | Rosemount Inc. | Multipriority communication system |
US4719621A (en) * | 1985-07-15 | 1988-01-12 | Raytheon Company | Packet fastbus |
US4734696A (en) * | 1985-12-02 | 1988-03-29 | Telenex Corporation | System and method for transmitting information |
-
1986
- 1986-12-22 US US06/941,702 patent/US4914653A/en not_active Expired - Lifetime
-
1987
- 1987-12-09 DE DE3751091T patent/DE3751091T2/de not_active Expired - Fee Related
- 1987-12-09 EP EP87310791A patent/EP0272834B1/en not_active Expired - Lifetime
- 1987-12-18 CA CA000554812A patent/CA1277382C/en not_active Expired - Lifetime
- 1987-12-21 BR BR8706962A patent/BR8706962A/pt not_active Application Discontinuation
- 1987-12-21 KR KR1019870014589A patent/KR960012686B1/ko not_active IP Right Cessation
- 1987-12-22 JP JP62323014A patent/JPS63234343A/ja active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5458187A (en) * | 1977-10-18 | 1979-05-10 | Mitsubishi Electric Corp | Priority transmission method of information |
JPS56110367A (en) * | 1980-02-04 | 1981-09-01 | Mitsubishi Electric Corp | Communication controller |
JPS59177638A (ja) * | 1983-03-29 | 1984-10-08 | Fujitsu Ltd | メツセ−ジ優先送出制御方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007328813A (ja) * | 1998-05-08 | 2007-12-20 | Fujitsu Ltd | ネットワーク通信におけるデッドロックを回避するためのコンピュータアーキテクチャ |
Also Published As
Publication number | Publication date |
---|---|
US4914653A (en) | 1990-04-03 |
EP0272834A3 (en) | 1990-04-25 |
EP0272834B1 (en) | 1995-02-22 |
DE3751091D1 (de) | 1995-03-30 |
BR8706962A (pt) | 1988-07-26 |
KR960012686B1 (ko) | 1996-09-24 |
EP0272834A2 (en) | 1988-06-29 |
KR880008565A (ko) | 1988-08-31 |
CA1277382C (en) | 1990-12-04 |
DE3751091T2 (de) | 1995-07-06 |
JPS63234343A (ja) | 1988-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0550021B2 (ja) | ||
US5020020A (en) | Computer interconnect system with transmit-abort function | |
US5187780A (en) | Dual-path computer interconnect system with zone manager for packet memory | |
US5193149A (en) | Dual-path computer interconnect system with four-ported packet memory control | |
US5191649A (en) | Multiprocessor computer system with data bus and ordered and out-of-order split data transactions | |
US4835674A (en) | Computer network system for multiple processing elements | |
US5878217A (en) | Network controller for switching into DMA mode based on anticipated memory overflow and out of DMA mode when the host processor is available | |
US4744023A (en) | Processor access control arrangement in a multiprocessor system | |
JPH06309252A (ja) | 相互接続インタフェース | |
EP0498201A2 (en) | Generic high bandwidth adapter architecture | |
JP2561759B2 (ja) | マルチプロセッサシステムおよびそのメッセージ送受信制御装置 | |
EP0139563B1 (en) | Control mechanism for multiprocessor system | |
JPH03130863A (ja) | 制御要素転送システム | |
JPH10222477A (ja) | コンピュータ・システム間でデータ構造を転送する方法 | |
JPH07282025A (ja) | クロック回路 | |
JPH01142963A (ja) | バスに接続されたバス装置及び該バス装置のためのデータ転送制御方法 | |
EP0138676B1 (en) | Retry mechanism for releasing control of a communications path in a digital computer system | |
JPS62261249A (ja) | 回線アダプタ | |
US6912608B2 (en) | Methods and apparatus for pipelined bus | |
US4823124A (en) | Lan controller proprietary bus | |
CN1329856C (zh) | 多节点体系结构中防止饥饿的方法和装置 | |
US6098105A (en) | Source and destination initiated interrupt method for message arrival notification | |
JP2001022718A (ja) | 並列処理装置 | |
EP1139228A2 (en) | An intelligent bus interconnect unit | |
EP0255090A2 (en) | LAN controller proprietary bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |