JPH05227253A - 効率的な論理プロトコルを使用した共用メモリと通信アダプタ間のメッセージ交換方法 - Google Patents
効率的な論理プロトコルを使用した共用メモリと通信アダプタ間のメッセージ交換方法Info
- Publication number
- JPH05227253A JPH05227253A JP4244812A JP24481292A JPH05227253A JP H05227253 A JPH05227253 A JP H05227253A JP 4244812 A JP4244812 A JP 4244812A JP 24481292 A JP24481292 A JP 24481292A JP H05227253 A JPH05227253 A JP H05227253A
- Authority
- JP
- Japan
- Prior art keywords
- data
- burst
- adapter
- message
- line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
(57)【要約】
【構成】 複数の異なるユーザが接続されているアダプ
タと、デポジトリ記憶機構、記憶マネージャおよびマイ
クロプロセッサを備えた共用メモリ・サブシステムとの
間の通信に関する。アダプタはメッセージをデータ・バ
ーストにスライスし、データ・バーストには、バースト
のサイズ、所有者およびメッセージ内の位置を指定した
制御ワードが関連づけられている。これらのバースト
は、容易にインタリーブすることができ、制御ワードの
中のユーザIDにしたがって、デポジトリ記憶機構にス
トアされ、読み取られる。 【効果】 共用メモリだけに大きな記憶容量をもたせれ
ばよく、記憶マネージャとアダプタは、小さな記憶容量
で動作させることができるので、データ・バーストを送
信またはアクセスする時間が大幅に向上する。
タと、デポジトリ記憶機構、記憶マネージャおよびマイ
クロプロセッサを備えた共用メモリ・サブシステムとの
間の通信に関する。アダプタはメッセージをデータ・バ
ーストにスライスし、データ・バーストには、バースト
のサイズ、所有者およびメッセージ内の位置を指定した
制御ワードが関連づけられている。これらのバースト
は、容易にインタリーブすることができ、制御ワードの
中のユーザIDにしたがって、デポジトリ記憶機構にス
トアされ、読み取られる。 【効果】 共用メモリだけに大きな記憶容量をもたせれ
ばよく、記憶マネージャとアダプタは、小さな記憶容量
で動作させることができるので、データ・バーストを送
信またはアクセスする時間が大幅に向上する。
Description
【0001】
【産業上の利用分野】本発明は、共用メモリと通信アダ
プタの2つのエンティティ(実体)間でメッセージを交
換する方法に関し、さらに具体的には、2エンティティ
間のデータ・メッセージと制御メッセージの交換をデー
タ・リンク層のレベルで効率よく行う方法に関する。
プタの2つのエンティティ(実体)間でメッセージを交
換する方法に関し、さらに具体的には、2エンティティ
間のデータ・メッセージと制御メッセージの交換をデー
タ・リンク層のレベルで効率よく行う方法に関する。
【0002】
【従来の技術】最新のコンピュータ・ネットワークは高
度の設計構造になっている。ネットワーク設計構造の複
雑さを軽減するために、ネットワークは、各層がその前
に置かれた層の上に積み上げられていく階層構造になっ
ている。
度の設計構造になっている。ネットワーク設計構造の複
雑さを軽減するために、ネットワークは、各層がその前
に置かれた層の上に積み上げられていく階層構造になっ
ている。
【0003】OSI参照モデルは7層から構成され、各
層の機能は国際標準化プロトコルにしたがって定義され
ている。第1層は物理層であり、通信チャネル(通信
路)を経由して生の(未加工の)ビットを送信すること
を担当している。これに対して、データ・リンク層であ
る第2層は生データ伝送機能を受け持ち、生データを変
形して回線に送り込み、伝送エラーのない形でネットワ
ーク層に引き渡す。この目標を達成するために、データ
はフレームに分解され、各フレームは正しく受信された
ことが確かめれられるまで、何度でも送信される。高速
の送信側が低速の受信側をオーバランするのを防止する
ために、データ・リンク層は常にフロー制御を行ってい
る。
層の機能は国際標準化プロトコルにしたがって定義され
ている。第1層は物理層であり、通信チャネル(通信
路)を経由して生の(未加工の)ビットを送信すること
を担当している。これに対して、データ・リンク層であ
る第2層は生データ伝送機能を受け持ち、生データを変
形して回線に送り込み、伝送エラーのない形でネットワ
ーク層に引き渡す。この目標を達成するために、データ
はフレームに分解され、各フレームは正しく受信された
ことが確かめれられるまで、何度でも送信される。高速
の送信側が低速の受信側をオーバランするのを防止する
ために、データ・リンク層は常にフロー制御を行ってい
る。
【0004】本発明を取り入れて、実施できる環境につ
いては、EP特許出願第A 365731号明細書に詳
しく説明されている。このような環境において、本発明
が取り扱っている問題は、同軸ケーブルで物理的に接続
された2マシン間(例えば、共用メモリを備えた主中央
制御ユニットと、複数の異なるユーザに接続されたアダ
プタとの間)のデータ交換をデータ・リンク層のレベル
で高信頼にかつ効率よく行うことを定義する方法であ
る。したがって、論理プロトコルが扱う問題は、共用メ
モリ・サブシステムと通信アダプタ間のデータと制御の
流れが効率よくやりとりされるように設定することであ
る。
いては、EP特許出願第A 365731号明細書に詳
しく説明されている。このような環境において、本発明
が取り扱っている問題は、同軸ケーブルで物理的に接続
された2マシン間(例えば、共用メモリを備えた主中央
制御ユニットと、複数の異なるユーザに接続されたアダ
プタとの間)のデータ交換をデータ・リンク層のレベル
で高信頼にかつ効率よく行うことを定義する方法であ
る。したがって、論理プロトコルが扱う問題は、共用メ
モリ・サブシステムと通信アダプタ間のデータと制御の
流れが効率よくやりとりされるように設定することであ
る。
【0005】
【発明が解決しようとする課題】この環境には、当業者
に公知であるように、いくつかの制約がある。各通信ア
ダプタは1または複数の論理ユーザを受け入れることが
できるので、各ユーザのデータの流れが、アダプタと中
央制御ユニットのデポジトリ記憶機構間に置かれたイン
タフェース上で容易に区別されなければならない。ま
た、複数のアダプタは、記憶マネージャとも呼ばれる同
じ物理インタフェースを共用できるようになっていなけ
ればならない。
に公知であるように、いくつかの制約がある。各通信ア
ダプタは1または複数の論理ユーザを受け入れることが
できるので、各ユーザのデータの流れが、アダプタと中
央制御ユニットのデポジトリ記憶機構間に置かれたイン
タフェース上で容易に区別されなければならない。ま
た、複数のアダプタは、記憶マネージャとも呼ばれる同
じ物理インタフェースを共用できるようになっていなけ
ればならない。
【0006】最も重要な制約は、受信する場合も、送信
する場合も、アダプタがすべてのデータ交換の開始点と
ならなければならないことである。この特殊形態のプロ
トコルは、スレーブとマスタという考え方に基づくもの
である。この考え方では、すべてのアダプタはマスタと
して扱われ、共用メモリはスレーブとして扱われてい
る。
する場合も、アダプタがすべてのデータ交換の開始点と
ならなければならないことである。この特殊形態のプロ
トコルは、スレーブとマスタという考え方に基づくもの
である。この考え方では、すべてのアダプタはマスタと
して扱われ、共用メモリはスレーブとして扱われてい
る。
【0007】さらに、データ伝送の妨害を避けるため
に、データ・メッセージと制御メッセージの交換は、共
用メモリからアダプタへと、アダプタから共用メモリへ
の両方向にフロー制御しなければならない。
に、データ・メッセージと制御メッセージの交換は、共
用メモリからアダプタへと、アダプタから共用メモリへ
の両方向にフロー制御しなければならない。
【0008】以上に鑑みて、本発明の主目的は、通信ア
ダプタと、デポジトリ記憶機構、記憶マネージャおよび
マイクロプロセッサを備えた共用メモリ・サブシステム
との間のメッセージ交換を、効率的なデータ・リンク・
プロトコルにしたがって行うためのプロトコルを提供す
ることである。
ダプタと、デポジトリ記憶機構、記憶マネージャおよび
マイクロプロセッサを備えた共用メモリ・サブシステム
との間のメッセージ交換を、効率的なデータ・リンク・
プロトコルにしたがって行うためのプロトコルを提供す
ることである。
【0009】
【課題を解決するための手段】本発明による方法は、複
数の異なるユーザが接続された通信アダプタと、デポジ
トリ記憶機構および該デポジトリ記憶機構のマネージャ
からなる共用メモリ・サブシステムとで構成された通信
システムの中で実現される。この通信システムでは、ア
ダプタは、データ・バス、アドレス線および制御線から
なるバスを通してサブシステムに接続されている。
数の異なるユーザが接続された通信アダプタと、デポジ
トリ記憶機構および該デポジトリ記憶機構のマネージャ
からなる共用メモリ・サブシステムとで構成された通信
システムの中で実現される。この通信システムでは、ア
ダプタは、データ・バス、アドレス線および制御線から
なるバスを通してサブシステムに接続されている。
【0010】本発明の受信方法によれば、アダプタに接
続されたユーザから送られたメッセージは、可変長サイ
ズのデータ・バーストにスライスされ、バスを通してサ
ブシステムによって受信され、デポジトリ記憶機構中に
配列される。
続されたユーザから送られたメッセージは、可変長サイ
ズのデータ・バーストにスライスされ、バスを通してサ
ブシステムによって受信され、デポジトリ記憶機構中に
配列される。
【0011】この方法は次のステップからなる。
【0012】(a)記憶マネージャをすべての通信アダ
プタに接続する第1単一データ流れ制御線RBEを用意
する。この制御線が記憶マネージャによってアサート
(assert) されると、アダプタからのデータ・バースト
の送信が可能になる。
プタに接続する第1単一データ流れ制御線RBEを用意
する。この制御線が記憶マネージャによってアサート
(assert) されると、アダプタからのデータ・バースト
の送信が可能になる。
【0013】(b)共用メモリ・サブシステムに送るべ
きメッセージをもつ通信アダプタからアービタ(仲裁)
に対してバス要求を行う。
きメッセージをもつ通信アダプタからアービタ(仲裁)
に対してバス要求を行う。
【0014】(c)通信アダプタから送信される各デー
タ・バーストに関連づけられたバースト制御ワードを生
成する。この制御ワードは、少なくともメッセージのユ
ーザ所有者の識別名(ID)から構成されている。
タ・バーストに関連づけられたバースト制御ワードを生
成する。この制御ワードは、少なくともメッセージのユ
ーザ所有者の識別名(ID)から構成されている。
【0015】(d)アドレス線上のすべてのアダプタに
対して付けられた単一アドレスと一緒に、データ・バー
ストをサブシステムに送信する。ここで、データ・バー
ストには、アービタによって選択された通信アダプタの
うちの1つによって、データ・バス上の対応する制御ワ
ードが関連づけられている。
対して付けられた単一アドレスと一緒に、データ・バー
ストをサブシステムに送信する。ここで、データ・バー
ストには、アービタによって選択された通信アダプタの
うちの1つによって、データ・バス上の対応する制御ワ
ードが関連づけられている。
【0016】(e)制御ワードを記憶マネージャによっ
て読み取り、メッセージのユーザ所有者のIDにしたが
って、データ・バーストをデポジトリ記憶機構にストア
する。本発明の送信方法によれば、可変長サイズのデー
タ・バーストにスライスされたメッセージを、記憶マネ
ージャからバスを経由してアダプタに送ることができ
る。
て読み取り、メッセージのユーザ所有者のIDにしたが
って、データ・バーストをデポジトリ記憶機構にストア
する。本発明の送信方法によれば、可変長サイズのデー
タ・バーストにスライスされたメッセージを、記憶マネ
ージャからバスを経由してアダプタに送ることができ
る。
【0017】この方法は次のステップからなる。
【0018】(a)デポジトリ記憶機構の待ち行列から
メッセージを取り出す。
メッセージを取り出す。
【0019】(b)メッセージが送信レディ状態にある
ことを示す第1制御情報(MRX)を、バスを経由して
関係する通信アダプタに送る。この第1制御情報は、少
なくともユーザのIDを備え、このユーザに対して、メ
ッセージが、アドレス線上の特殊コードと一緒に、デー
タ・バスを介して送られる。
ことを示す第1制御情報(MRX)を、バスを経由して
関係する通信アダプタに送る。この第1制御情報は、少
なくともユーザのIDを備え、このユーザに対して、メ
ッセージが、アドレス線上の特殊コードと一緒に、デー
タ・バスを介して送られる。
【0020】(c)記憶マネージャとすべての通信アダ
プタ間を接続する第2単一データ流れ制御線XBEを用
意する。この制御線は、記憶マネージャによってアサー
トされると、アダプタは共用メモリ・サブシステムにデ
ータ・バーストを要求することができる。
プタ間を接続する第2単一データ流れ制御線XBEを用
意する。この制御線は、記憶マネージャによってアサー
トされると、アダプタは共用メモリ・サブシステムにデ
ータ・バーストを要求することができる。
【0021】(d)共用メモリ・サブシステムから受け
取るべきメッセージをもつ通信アダプタは、アービタに
対してバス要求を行う。
取るべきメッセージをもつ通信アダプタは、アービタに
対してバス要求を行う。
【0022】(e)バースト送信を要求するための第2
制御情報送信バースト要求(XBR)を生成する。この
バースト要求(XBR)は、少なくともユーザのID
と、アダプタが処理できる要求データ・バーストの最大
バースト・サイズからなり、すべてのアダプタに対して
付けられた単一アドレスであってアドレス線上に置かれ
た単一アドレスとともに、アービタによって選択された
通信アダプタからサブシステムにデータ・バスを介して
送信される。
制御情報送信バースト要求(XBR)を生成する。この
バースト要求(XBR)は、少なくともユーザのID
と、アダプタが処理できる要求データ・バーストの最大
バースト・サイズからなり、すべてのアダプタに対して
付けられた単一アドレスであってアドレス線上に置かれ
た単一アドレスとともに、アービタによって選択された
通信アダプタからサブシステムにデータ・バスを介して
送信される。
【0023】(f)そのサイズがアダプタによって要求
される最大サイズ以下である要求データ・バーストをデ
ポジトリ記憶機構から取り出し、それを記憶マネージャ
に一時的にストアしておく。
される最大サイズ以下である要求データ・バーストをデ
ポジトリ記憶機構から取り出し、それを記憶マネージャ
に一時的にストアしておく。
【0024】(g)記憶マネージャを各アダプタに接続
する第3データ流れ制御線XBY(バースト送信レデ
ィ)を用意する。この制御線は、記憶マネージャによっ
てアサートされると、記憶マネージャにストアされた要
求データ・バーストを読み取るように関係の通信アダプ
タに通知する。
する第3データ流れ制御線XBY(バースト送信レデ
ィ)を用意する。この制御線は、記憶マネージャによっ
てアサートされると、記憶マネージャにストアされた要
求データ・バーストを読み取るように関係の通信アダプ
タに通知する。
【0025】(h)共用メモリ・サブシステムから受け
取るべきメッセージをもつ関係通信アダプタは、アービ
タに対してバス要求を行う。
取るべきメッセージをもつ関係通信アダプタは、アービ
タに対してバス要求を行う。
【0026】(i)バースト制御ワードと関連づけられ
たデータ・バーストは、アービタがバスを許可したと
き、記憶管理ブログラムによってデータ・バス上に送出
される。この制御ワードは、少なくともデータのユーザ
所有者のIDを備えている。
たデータ・バーストは、アービタがバスを許可したと
き、記憶管理ブログラムによってデータ・バス上に送出
される。この制御ワードは、少なくともデータのユーザ
所有者のIDを備えている。
【0027】(j)アダプタによって制御ワードを読み
取り、そのあとに続くデータが、要求データ・バースト
に一致しているかどうかをチェックして、そのデータ・
バーストを制御ワードに指定された宛先ユーザに送る。
取り、そのあとに続くデータが、要求データ・バースト
に一致しているかどうかをチェックして、そのデータ・
バーストを制御ワードに指定された宛先ユーザに送る。
【0028】(k)第3制御情報EOM(メッセージ終
了)を送る。この制御情報は、アダプタからサブシステ
ムに完全なメッセージが送信されたかどうかを示してお
り、少なくとも、メッセージが送信されたユーザのID
と、送信が正しかかったか、正しくなかったかを示す通
知とからなっている。
了)を送る。この制御情報は、アダプタからサブシステ
ムに完全なメッセージが送信されたかどうかを示してお
り、少なくとも、メッセージが送信されたユーザのID
と、送信が正しかかったか、正しくなかったかを示す通
知とからなっている。
【0029】本発明のもう1つの特徴によれば、アダプ
タと共用メモリ・サブシステム間でやりとりされるメッ
セージの制御の流れは、共用メモリ・サブシステムに含
まれるマイクロプロセッサによって管理され、これは次
のような方法によって行われる。
タと共用メモリ・サブシステム間でやりとりされるメッ
セージの制御の流れは、共用メモリ・サブシステムに含
まれるマイクロプロセッサによって管理され、これは次
のような方法によって行われる。
【0030】(a)アービタが許可したバスを経由し
て、マイクロプロセッサから関係の通信アダプタにコマ
ンドを送る。このコマンドは、少なくとも、データ・バ
ス上の関係アダプタのIDとアドレス線上の特殊コード
とを含んでいる。
て、マイクロプロセッサから関係の通信アダプタにコマ
ンドを送る。このコマンドは、少なくとも、データ・バ
ス上の関係アダプタのIDとアドレス線上の特殊コード
とを含んでいる。
【0031】(b)コマンドの実行が終わると、データ
・バス上のアダプタから即時に応答が送り返されて、バ
スが解放される。
・バス上のアダプタから即時に応答が送り返されて、バ
スが解放される。
【0032】
【作用】本発明による交換プロトコルによれば、メッセ
ージ宛先のアドレスではなく、メッセージ所有者の識別
名(論理ユーザ)を使用してメッセージをストアし、デ
ータ・バーストの交換という新規な方法を取り入れてい
るので、データ処理効率と伝送効率が向上する。この種
のプロトコルによると、アダプタは、自らのデータの処
理および伝送を動作させることができ、また送受信する
メッセージのバーストをインタリーブすることもでき
る。したがって、共用メモリだけに大きな記憶容量をも
たせればよく、記憶マネージャとアダプタは、少ない記
憶容量で動作させることができる。よって、データのア
クセス時間が大幅に向上する。
ージ宛先のアドレスではなく、メッセージ所有者の識別
名(論理ユーザ)を使用してメッセージをストアし、デ
ータ・バーストの交換という新規な方法を取り入れてい
るので、データ処理効率と伝送効率が向上する。この種
のプロトコルによると、アダプタは、自らのデータの処
理および伝送を動作させることができ、また送受信する
メッセージのバーストをインタリーブすることもでき
る。したがって、共用メモリだけに大きな記憶容量をも
たせればよく、記憶マネージャとアダプタは、少ない記
憶容量で動作させることができる。よって、データのア
クセス時間が大幅に向上する。
【0033】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。
に説明する。
【0034】図1は、本発明にしたがって、共用メモリ
・サブシステム10とアダプタ20との間で、データお
よび制御がやりとりされるメカニズムを取り入れた通信
システムを示したブロック図である。概略図で示すよう
に、2つのエンティティ、すなわち、一方はアダプタ
と、他方はアダプタ側から見た共用メモリ・サブシステ
ム間がリンクで結ばれている。
・サブシステム10とアダプタ20との間で、データお
よび制御がやりとりされるメカニズムを取り入れた通信
システムを示したブロック図である。概略図で示すよう
に、2つのエンティティ、すなわち、一方はアダプタ
と、他方はアダプタ側から見た共用メモリ・サブシステ
ム間がリンクで結ばれている。
【0035】ボックス10は共用メモリ・サブシステム
を示しており、アダプタから送られてきたデータ・メッ
セージ、またはアダプタに送られるレディ状態にあるデ
ータ・メッセージを保存しておくためのデポジトリ記憶
機構12,データ移動を制御するための記憶マネージャ
14およびデータ・メッセージを処理し、サブシステム
とアダプタを制御するためのマイクロプロセッサ16が
収容されている。記憶マネージャとマイクロプロセッサ
の各種機能の詳細は後述する。
を示しており、アダプタから送られてきたデータ・メッ
セージ、またはアダプタに送られるレディ状態にあるデ
ータ・メッセージを保存しておくためのデポジトリ記憶
機構12,データ移動を制御するための記憶マネージャ
14およびデータ・メッセージを処理し、サブシステム
とアダプタを制御するためのマイクロプロセッサ16が
収容されている。記憶マネージャとマイクロプロセッサ
の各種機能の詳細は後述する。
【0036】メモリは、通信アダプタ20に接続された
複数のユーザ22によって共用される。各アダプタは、
複数のユーザに接続されるので、各ユーザは同じアダプ
タに接続された別のユーザと通信することも、別のアダ
プタに接続された別のユーザとバス30を通して通信す
ることも可能である。バス30へのアクセスは、アービ
タ26によって制御される。
複数のユーザ22によって共用される。各アダプタは、
複数のユーザに接続されるので、各ユーザは同じアダプ
タに接続された別のユーザと通信することも、別のアダ
プタに接続された別のユーザとバス30を通して通信す
ることも可能である。バス30へのアクセスは、アービ
タ26によって制御される。
【0037】デポジトリ記憶機構12は、基本的に2つ
の異なる方法で編成された情報を保持している。すなわ
ち、記憶マネージャ14,バス30およびアダプタ20
を通してユーザから受信されるメッセージと、ユーザに
送信されるべきメッセージとである。すべてのメッセー
ジは、所定のフレーム構造にしたがって編成されてい
る。データがハイレベル・データ・リンク制御(HDL
C)プロトコルを使用して交換されるときは、メッセー
ジはHDLCフレーム構造になっており、各フレーム間
はフラグで区切られている。
の異なる方法で編成された情報を保持している。すなわ
ち、記憶マネージャ14,バス30およびアダプタ20
を通してユーザから受信されるメッセージと、ユーザに
送信されるべきメッセージとである。すべてのメッセー
ジは、所定のフレーム構造にしたがって編成されてい
る。データがハイレベル・データ・リンク制御(HDL
C)プロトコルを使用して交換されるときは、メッセー
ジはHDLCフレーム構造になっており、各フレーム間
はフラグで区切られている。
【0038】本発明によるメカニズムで使用できる記憶
マネージャは、EP特許出願第A365 731号明細書
に詳しく説明されている。この種の記憶マネージャは、
データ・ストア・インタフェース(DSI)および中央
制御機構(DCS)から構成されている。中央制御機構
(DCS)は、エンキュー(待機)、デキュー(待機解
除)、バッファ確保、バッファ解放などのグローバル命
令を、インタフェースおよびマイクロプロセッサから受
け取り、それらの命令を処理して、応答を生成する。デ
ータ・ストア・インタフェース(DSI)は、データ移
動を制御する。この制御は、アダプタに接続されたユー
ザから受信したデータ・メッセージを、リンク・インバ
ウンド待ち行列(LIQ)に接続された(エンキューさ
れた)データに連鎖(チェイニング)させることによっ
て、また、リンク・アウトバウンド待ち行列(LOQ)
から取り出された(デキューされた)データ・メッセー
ジを宛先のユーザに送信することによって行われる。ま
た、データ・ストア・インタフェース(DSI)は、1
組のフリップフロップ・バッファ(「受信」にセットさ
れたフリップフロップと、「送信」にセットされたフリ
ップフロップ)を備えている。これらのフリップフロッ
プ・バッファは、データ・バーストを一時的にストアし
ておき、そのあとでデポジトリ記憶機構、またはアダプ
タへ送るためのものである。
マネージャは、EP特許出願第A365 731号明細書
に詳しく説明されている。この種の記憶マネージャは、
データ・ストア・インタフェース(DSI)および中央
制御機構(DCS)から構成されている。中央制御機構
(DCS)は、エンキュー(待機)、デキュー(待機解
除)、バッファ確保、バッファ解放などのグローバル命
令を、インタフェースおよびマイクロプロセッサから受
け取り、それらの命令を処理して、応答を生成する。デ
ータ・ストア・インタフェース(DSI)は、データ移
動を制御する。この制御は、アダプタに接続されたユー
ザから受信したデータ・メッセージを、リンク・インバ
ウンド待ち行列(LIQ)に接続された(エンキューさ
れた)データに連鎖(チェイニング)させることによっ
て、また、リンク・アウトバウンド待ち行列(LOQ)
から取り出された(デキューされた)データ・メッセー
ジを宛先のユーザに送信することによって行われる。ま
た、データ・ストア・インタフェース(DSI)は、1
組のフリップフロップ・バッファ(「受信」にセットさ
れたフリップフロップと、「送信」にセットされたフリ
ップフロップ)を備えている。これらのフリップフロッ
プ・バッファは、データ・バーストを一時的にストアし
ておき、そのあとでデポジトリ記憶機構、またはアダプ
タへ送るためのものである。
【0039】前述したように、1例として示したマイク
ロプロセッサ16は、初期設定、エラー処理、メッセー
ジ経路指定(ルーチング)テーブルのセットアップとい
った機能を実行するためのものであり、共用メモリ・サ
ブシステムとアダプタを制御する。
ロプロセッサ16は、初期設定、エラー処理、メッセー
ジ経路指定(ルーチング)テーブルのセットアップとい
った機能を実行するためのものであり、共用メモリ・サ
ブシステムとアダプタを制御する。
【0040】図2は、共用メモリ・サブシステムとアダ
プタとの間の、データおよび制御のやりとりを示した図
である。
プタとの間の、データおよび制御のやりとりを示した図
である。
【0041】これら2つのエンティティ間は、3種類の
リンクで結ばれている。
リンクで結ばれている。
【0042】− メッセージ・バス(30−a,30−
d,30−c)。このバスは、送受信するデータとメッ
セージを搬送するために使用される。
d,30−c)。このバスは、送受信するデータとメッ
セージを搬送するために使用される。
【0043】− 共通制御線(34,36,38)。こ
れはすべてのアダプタに接続されている。
れはすべてのアダプタに接続されている。
【0044】− 個別的制御線(32)。個々のアダプ
タに接続されている。
タに接続されている。
【0045】以下では、これらのリンクが、どのような
目的に使用されるかについて説明する。ただし、それぞ
れの動作順序については、他の図面を参照して説明す
る。
目的に使用されるかについて説明する。ただし、それぞ
れの動作順序については、他の図面を参照して説明す
る。
【0046】* メッセージ・バス(30−d,30−
a,30−c)は、データ・バス(30−d)、アドレ
ス・バスまたはアドレス線(30−a)、および制御線
(30−c)から構成されている。
a,30−c)は、データ・バス(30−d)、アドレ
ス・バスまたはアドレス線(30−a)、および制御線
(30−c)から構成されている。
【0047】− データ・バス(30−d)は、双方向
のライン群からなり、バーストの形にスライスされたデ
ータを搬送するために使用される。バーストの詳細につ
いては、図4を参照して後述する。データ・バスは、記
憶マネージャ14,マイクロプロセッサ16およびすべ
てのアダプタ20間を結んでいる。
のライン群からなり、バーストの形にスライスされたデ
ータを搬送するために使用される。バーストの詳細につ
いては、図4を参照して後述する。データ・バスは、記
憶マネージャ14,マイクロプロセッサ16およびすべ
てのアダプタ20間を結んでいる。
【0048】− アドレス線(30−a)は、ライン群
からなり、特定のオペレーションのためにバスに接続さ
れて動作する装置内の資源を指定するために使用され
る。アドレス線も、記憶マネージャ14,マイクロプロ
セッサ16およびすべてのアダプタ20間を結んでい
る。
からなり、特定のオペレーションのためにバスに接続さ
れて動作する装置内の資源を指定するために使用され
る。アドレス線も、記憶マネージャ14,マイクロプロ
セッサ16およびすべてのアダプタ20間を結んでい
る。
【0049】− 制御線(30−c)は、いくつかの異
なる目的のために、信号を搬送するために使用される。
例えば、アービタ26に送られるバス要求(アービタ
は、自身のアルゴリズムにしたがってバスを許可す
る)、読取りと書込みのための基本サイクル(各オペレ
ーションのタイミングをとるためのもの)などがある。
制御線は、記憶マネージャ14,マイクロプロセッサ1
6,アービタ26およびすべてのアダプタ20間を結ん
でいる。
なる目的のために、信号を搬送するために使用される。
例えば、アービタ26に送られるバス要求(アービタ
は、自身のアルゴリズムにしたがってバスを許可す
る)、読取りと書込みのための基本サイクル(各オペレ
ーションのタイミングをとるためのもの)などがある。
制御線は、記憶マネージャ14,マイクロプロセッサ1
6,アービタ26およびすべてのアダプタ20間を結ん
でいる。
【0050】* すべてのアダプタ20に接続される共
通制御線(34,36,38)には、次のようなものが
ある。
通制御線(34,36,38)には、次のようなものが
ある。
【0051】− 受信バースト空き線34(RBE)。
この制御線は、記憶マネージャ14から送られてきた信
号をすべてのアダプタに搬送し、そのうちの1つのアダ
プタが受信データ・バーストを共用メモリ・サブシステ
ムに送信できるようにする。以下で、「受信」というと
きは、データがアダプタから共用メモリに向かうことを
意味する。この制御線は、「オン」(アサート)または
「オフ」(デアサート)にセットすることができる。受
信バースト空き線が「オン」のときは、アービタ26に
バス要求を行ったあと、すべてのユーザは、受信データ
・バースト(RDB)内のデータをアダプタを経由して
メッセージ・バス30上に送出することが許される。異
なるユーザの受信バーストがインタリーブされることも
あり得るので、データ・フローを管理するために、受信
バースト空き線を「オフ」にセットしておけば、どのア
ダプタも、受信データ・バースト内のデータを共用メモ
リに送ることができなくなる。受信バースト空き線(R
BE)タグがデアサート(deassert) されたときは、ア
ダプタは、そのバス要求が許可されなかった場合にの
み、バス要求を除去する必要がある。
この制御線は、記憶マネージャ14から送られてきた信
号をすべてのアダプタに搬送し、そのうちの1つのアダ
プタが受信データ・バーストを共用メモリ・サブシステ
ムに送信できるようにする。以下で、「受信」というと
きは、データがアダプタから共用メモリに向かうことを
意味する。この制御線は、「オン」(アサート)または
「オフ」(デアサート)にセットすることができる。受
信バースト空き線が「オン」のときは、アービタ26に
バス要求を行ったあと、すべてのユーザは、受信データ
・バースト(RDB)内のデータをアダプタを経由して
メッセージ・バス30上に送出することが許される。異
なるユーザの受信バーストがインタリーブされることも
あり得るので、データ・フローを管理するために、受信
バースト空き線を「オフ」にセットしておけば、どのア
ダプタも、受信データ・バースト内のデータを共用メモ
リに送ることができなくなる。受信バースト空き線(R
BE)タグがデアサート(deassert) されたときは、ア
ダプタは、そのバス要求が許可されなかった場合にの
み、バス要求を除去する必要がある。
【0052】− 送信バースト空き線36(XBE)。
この制御線も、記憶マネージャ14から送られてきた信
号をすべてのアダプタに搬送し、そのうちの1つのアダ
プタが送信データ・バーストを共用メモリ・サブシステ
ムに送信できるようにする。この場合も、以下で「送
信」とういときは、データが共用メモリからすべてのア
ダプタ、または1つの特定アダプタに向かうことを意味
する。送信バースト空き線(XBE)が「オン」のとき
は、アービタ26にバス要求を行ったあと、アダプタは
送信バースト要求(XBR)を記憶マネージャに送っ
て、期待するデータを得ることができる。記憶マネージ
ャがオーバランするのを防止するために、送信バースト
空き(XBE)を「オフ」にセットしておけば、アダプ
タから送信バースト要求(XBR)を送ることが禁止さ
れる。
この制御線も、記憶マネージャ14から送られてきた信
号をすべてのアダプタに搬送し、そのうちの1つのアダ
プタが送信データ・バーストを共用メモリ・サブシステ
ムに送信できるようにする。この場合も、以下で「送
信」とういときは、データが共用メモリからすべてのア
ダプタ、または1つの特定アダプタに向かうことを意味
する。送信バースト空き線(XBE)が「オン」のとき
は、アービタ26にバス要求を行ったあと、アダプタは
送信バースト要求(XBR)を記憶マネージャに送っ
て、期待するデータを得ることができる。記憶マネージ
ャがオーバランするのを防止するために、送信バースト
空き(XBE)を「オフ」にセットしておけば、アダプ
タから送信バースト要求(XBR)を送ることが禁止さ
れる。
【0053】− 事象レジスタ空き線38(ERF)。
この制御線は,マイクロプロセッサ16から出てすべて
のアダプタに通じており、デポジトリ記憶機構に置かれ
ている事象レジスタに格納された非同期事象を,アダプ
タがマイクロプロセッサに渡すのを許可したり、禁止し
たりするために使用される。また、マイクロプロセッサ
がアダプタに遅延要求を送るのを可能にするためにも使
用される。これらのオペレーションの連鎖(チェイニン
グ)については、図3を参照して後述する。
この制御線は,マイクロプロセッサ16から出てすべて
のアダプタに通じており、デポジトリ記憶機構に置かれ
ている事象レジスタに格納された非同期事象を,アダプ
タがマイクロプロセッサに渡すのを許可したり、禁止し
たりするために使用される。また、マイクロプロセッサ
がアダプタに遅延要求を送るのを可能にするためにも使
用される。これらのオペレーションの連鎖(チェイニン
グ)については、図3を参照して後述する。
【0054】* 個別的制御線32。これは,送信バー
スト・レディ線(XBY)であり、記憶マネージャから
出て、メッセージの宛先として選択されたアダプタに送
られる信号を表す。送信バースト・レディ線が「オン」
にセットされるのは、記憶マネージャが、データ記憶機
構に入っているメッセージを、データ・バースト要求を
すでに送っていたアダプタに、送信するレディ状態にあ
るときである。一方、送信バースト・レディ線(XB
Y)が「オフ」にセットされるは、記憶マネージャが、
デポジトリ記憶機構からデータをまだ取り出していない
ときである。
スト・レディ線(XBY)であり、記憶マネージャから
出て、メッセージの宛先として選択されたアダプタに送
られる信号を表す。送信バースト・レディ線が「オン」
にセットされるのは、記憶マネージャが、データ記憶機
構に入っているメッセージを、データ・バースト要求を
すでに送っていたアダプタに、送信するレディ状態にあ
るときである。一方、送信バースト・レディ線(XB
Y)が「オフ」にセットされるは、記憶マネージャが、
デポジトリ記憶機構からデータをまだ取り出していない
ときである。
【0055】図3は、アダプタと共用メモリ・サブシス
テム、特にマイクロプロセッサとの間の制御の流れを示
している。この制御の流れは、フローチャートで示すと
分かりやすい。このフローチャートは、事象レジスタ空
き線38のステータス(状況)に応じて「コマンド」4
1,「応答」42および「事象」43のオペレーション
の連鎖(チェイニング)を表している。これらの3つの
コマンドは、バス30上を伝送されるバーストとして定
義されている。
テム、特にマイクロプロセッサとの間の制御の流れを示
している。この制御の流れは、フローチャートで示すと
分かりやすい。このフローチャートは、事象レジスタ空
き線38のステータス(状況)に応じて「コマンド」4
1,「応答」42および「事象」43のオペレーション
の連鎖(チェイニング)を表している。これらの3つの
コマンドは、バス30上を伝送されるバーストとして定
義されている。
【0056】コマンド・レジスタと応答レジスタは、マ
イクロプロセッサとアダプタにそれぞれ設けられてお
り、マイクロプロセッサからの制御メッセージを取り扱
う。したがって、共用メモリ・サブシステムは、コマン
ド41を通してすべての接続アダプタに命令(オーダ)
を送ることができ、各アダプタはそのコマンドの入口点
となっている。命令が実行されたあと、応答42を即時
にアダプタから返送しなければならない。さらに、コマ
ンドのフロー制御は、共用メモリ・サブシステムの管理
下に置かれている。
イクロプロセッサとアダプタにそれぞれ設けられてお
り、マイクロプロセッサからの制御メッセージを取り扱
う。したがって、共用メモリ・サブシステムは、コマン
ド41を通してすべての接続アダプタに命令(オーダ)
を送ることができ、各アダプタはそのコマンドの入口点
となっている。命令が実行されたあと、応答42を即時
にアダプタから返送しなければならない。さらに、コマ
ンドのフロー制御は、共用メモリ・サブシステムの管理
下に置かれている。
【0057】マイクロプロセッサ16が、リモート・エ
ンティティ22に置かれた資源をアクセスしたいとき
は、対応するアダプタ20にコマンド41を送ることが
できる。このコマンドは書込みコマンドであり、アダプ
タで解読される。そのアダプタは、マクロプロセッサ1
6に返答するために、即時応答42をバス30上に送出
する。そのあと、アダプタは、コマンドをリモート・エ
ンティティ22に転送し、リモート・エンティティ22
は、そのあと、事象レジスタ空き線38にしたがって、
事象43を通して遅延応答を返すことになる。
ンティティ22に置かれた資源をアクセスしたいとき
は、対応するアダプタ20にコマンド41を送ることが
できる。このコマンドは書込みコマンドであり、アダプ
タで解読される。そのアダプタは、マクロプロセッサ1
6に返答するために、即時応答42をバス30上に送出
する。そのあと、アダプタは、コマンドをリモート・エ
ンティティ22に転送し、リモート・エンティティ22
は、そのあと、事象レジスタ空き線38にしたがって、
事象43を通して遅延応答を返すことになる。
【0058】このように、事象43は、非同期事象を渡
すために、また、リモート・エンティティ22の遅延応
答をアダプタを経由してマイクロプロセッサに送るため
に使用される。これらの事象には、アダプタからのエラ
ー・メッセージが入る場合がある。プロセッサの待ち時
間が極端に長くなるのを防止するために、アダプタには
特別なメカニズムが組み込まれており、これらのリモー
ト・エンティティに対するコマンドを管理している。ア
ダプタに組み込まれた、このメカニズムは、バス30上
の要求を通して、マイクロプロセッサからのコマンドを
受け取り、即時に応答を送り返して、プロセッサを他の
オペレーションのために解放する。そのあと、リモート
・エンティティにコマンドを送ることを引き受けて、こ
のコマンドの応答を事象としてマイクロプロセッサに引
き渡す。アダプタが事象に書き込むとき、バス30はロ
ックされる。これと同時に、事象レジスタ空きがデアサ
ート(オフ)される。これにより、これらのレジスタに
書き込む試みが他にある場合、その試みは防止される。
事象がいったん待ち行列に接続されると、事象レジスタ
空きは、「オン」にセットされるので、バス30上の別
のオペレーションが許可される。
すために、また、リモート・エンティティ22の遅延応
答をアダプタを経由してマイクロプロセッサに送るため
に使用される。これらの事象には、アダプタからのエラ
ー・メッセージが入る場合がある。プロセッサの待ち時
間が極端に長くなるのを防止するために、アダプタには
特別なメカニズムが組み込まれており、これらのリモー
ト・エンティティに対するコマンドを管理している。ア
ダプタに組み込まれた、このメカニズムは、バス30上
の要求を通して、マイクロプロセッサからのコマンドを
受け取り、即時に応答を送り返して、プロセッサを他の
オペレーションのために解放する。そのあと、リモート
・エンティティにコマンドを送ることを引き受けて、こ
のコマンドの応答を事象としてマイクロプロセッサに引
き渡す。アダプタが事象に書き込むとき、バス30はロ
ックされる。これと同時に、事象レジスタ空きがデアサ
ート(オフ)される。これにより、これらのレジスタに
書き込む試みが他にある場合、その試みは防止される。
事象がいったん待ち行列に接続されると、事象レジスタ
空きは、「オン」にセットされるので、バス30上の別
のオペレーションが許可される。
【0059】事象バーストの主要な特徴は、すべてのア
ダプタに対して、唯一の入口点があるという点である。
各アダプタは、共用メモリ・サブシステムに置かれてい
るマイクロプロセッサ16に引き渡すべき制御情報を、
この入口点から入れることができる。各事象バースト
は、追加情報を付けることによって、事象をその宛先
(別のユーザである場合もある)に経路指定することも
可能である。
ダプタに対して、唯一の入口点があるという点である。
各アダプタは、共用メモリ・サブシステムに置かれてい
るマイクロプロセッサ16に引き渡すべき制御情報を、
この入口点から入れることができる。各事象バースト
は、追加情報を付けることによって、事象をその宛先
(別のユーザである場合もある)に経路指定することも
可能である。
【0060】図4は、アダプタによって生成され、各デ
ータ・バーストに関連づけられる制御ワードを示してい
る。
ータ・バーストに関連づけられる制御ワードを示してい
る。
【0061】メッセージがどちらの方向にやりとりされ
る場合も、メッセージは、バースト50にスライスさ
れ、その特性(長さなど)はアダプタによって定義され
る。したがって、各データ・バーストごとに、アダプタ
は、次の項目を指定した制御ワード52を生成する必要
がある。
る場合も、メッセージは、バースト50にスライスさ
れ、その特性(長さなど)はアダプタによって定義され
る。したがって、各データ・バーストごとに、アダプタ
は、次の項目を指定した制御ワード52を生成する必要
がある。
【0062】− データ・バーストのユーザ所有者53
(例えば、論理ユーザ) − データ・バーストのサイズ54 − メッセージ内のバーストの位置55。つまり、先頭
バースト、中間バースト、最終バースト。
(例えば、論理ユーザ) − データ・バーストのサイズ54 − メッセージ内のバーストの位置55。つまり、先頭
バースト、中間バースト、最終バースト。
【0063】この種の制御ワードは、図5,図6,図7
および図8,図9を参照して以下に述べるように、受信
データ・バースト(RDB)の場合も、送信データ・バ
ースト(XDB)の場合も、各データ57に関連づけら
れている。
および図8,図9を参照して以下に述べるように、受信
データ・バースト(RDB)の場合も、送信データ・バ
ースト(XDB)の場合も、各データ57に関連づけら
れている。
【0064】図5は、アダプタから出て、共用メモリ・
サブシステムに向かう受信データ・バーストのフローチ
ャートを示している。このフローチャートは、アダプタ
のオペレーションに関するものであり、「受信バースト
空き」(RBE)のステータスにしたがって、「受信デ
ータ・バースト」(RDB)を送信することを表してい
る。
サブシステムに向かう受信データ・バーストのフローチ
ャートを示している。このフローチャートは、アダプタ
のオペレーションに関するものであり、「受信バースト
空き」(RBE)のステータスにしたがって、「受信デ
ータ・バースト」(RDB)を送信することを表してい
る。
【0065】ステップ100で、ユーザの一人からのメ
ッセージをアダプタが処理するとき、このアダプタは、
ステップ102で、データ・バーストがメッセージ内の
どの位置にあるかを、制御ワードに書き込む必要があ
る。それが最終データ・バーストである場合は、アダプ
タは、そのユーザに割り当てられたステータス・レジス
タに、ステータス=1(最終データ・バースト)をセッ
トする(ステップ104)。ステップ106において、
アダプタは、制御ワードとデータからなるデータ・バー
ストを、共用メモリ・サブシステムに送信するレディ状
態にある。しかしながら、アダプタは、受信バースト空
き線(RBE)のステータスを調べる必要がある。アダ
プタは、この制御線が「オン」にセットされており、か
つバス要求がアービタ26によって許可されていれば、
ステップ108で受信データ・バーストを送信する。受
信バースト空き線(RBE)タグがデアサート(オフ)
されているときには、アダプタは、バス要求が許可され
なかった場合にのみ、バス要求を取り除く必要がある。
ッセージをアダプタが処理するとき、このアダプタは、
ステップ102で、データ・バーストがメッセージ内の
どの位置にあるかを、制御ワードに書き込む必要があ
る。それが最終データ・バーストである場合は、アダプ
タは、そのユーザに割り当てられたステータス・レジス
タに、ステータス=1(最終データ・バースト)をセッ
トする(ステップ104)。ステップ106において、
アダプタは、制御ワードとデータからなるデータ・バー
ストを、共用メモリ・サブシステムに送信するレディ状
態にある。しかしながら、アダプタは、受信バースト空
き線(RBE)のステータスを調べる必要がある。アダ
プタは、この制御線が「オン」にセットされており、か
つバス要求がアービタ26によって許可されていれば、
ステップ108で受信データ・バーストを送信する。受
信バースト空き線(RBE)タグがデアサート(オフ)
されているときには、アダプタは、バス要求が許可され
なかった場合にのみ、バス要求を取り除く必要がある。
【0066】これらのオペレーションは、最終データ・
バーストが共用メモリ・サブシステムに送信されるまで
継続処理され、最終データ・バースト・レジスタ=0に
自動的にセットされる。記憶マネージャは、最終データ
・バーストを受信すると、メッセージ全体を「リンク・
インバウンド待ち行列(LIQ)」に接続する(EP特
許出願第A 3 65 731号明細書参照)。各デー
タ・バーストは、制御ワードに入っている情報を用い
て、デポジトリ記憶機構12に書き込まれ、そのバース
トをユーザ・リンク・インバウンド待ち行列に連鎖させ
て、最終バーストの受信時にメッセージ全体をその待ち
行列に接続する。
バーストが共用メモリ・サブシステムに送信されるまで
継続処理され、最終データ・バースト・レジスタ=0に
自動的にセットされる。記憶マネージャは、最終データ
・バーストを受信すると、メッセージ全体を「リンク・
インバウンド待ち行列(LIQ)」に接続する(EP特
許出願第A 3 65 731号明細書参照)。各デー
タ・バーストは、制御ワードに入っている情報を用い
て、デポジトリ記憶機構12に書き込まれ、そのバース
トをユーザ・リンク・インバウンド待ち行列に連鎖させ
て、最終バーストの受信時にメッセージ全体をその待ち
行列に接続する。
【0067】図6は、共用メモリ・サブシステム側の受
信データ・バーストのフローチャートを示している。こ
のフローチャートは、上記の特許出願に説明されている
ように、フリップフロップ・バッファのステータス(空
きまたは使用中)に応じてとられる、異なるステップの
オペレーションに続くものである。アダプタ20からデ
ポジトリ記憶機構12にデータを転送する場合は、記憶
マネージャは「受信」フリップフロップ・バッファを使
用して、データ・バーストを一時的にストアしておく。
したがって、空きのフリップフロップ・バッファがない
と、その間、受信バースト空き線(RBE)は、ステッ
プ150と152に示すように、すべてのアダプタに対
して「オフ」にセットされる。受信バースト空き線(R
BE)がアサートされると、記憶マネージャは、アダプ
タの1つから受信データ・バーストを受信するまで待ち
状態に置かれる(ステップ154)。
信データ・バーストのフローチャートを示している。こ
のフローチャートは、上記の特許出願に説明されている
ように、フリップフロップ・バッファのステータス(空
きまたは使用中)に応じてとられる、異なるステップの
オペレーションに続くものである。アダプタ20からデ
ポジトリ記憶機構12にデータを転送する場合は、記憶
マネージャは「受信」フリップフロップ・バッファを使
用して、データ・バーストを一時的にストアしておく。
したがって、空きのフリップフロップ・バッファがない
と、その間、受信バースト空き線(RBE)は、ステッ
プ150と152に示すように、すべてのアダプタに対
して「オフ」にセットされる。受信バースト空き線(R
BE)がアサートされると、記憶マネージャは、アダプ
タの1つから受信データ・バーストを受信するまで待ち
状態に置かれる(ステップ154)。
【0068】そのあと、ステップ156でまだ空きにな
っているバッファがあるときは、記憶マネージャのデー
タ・ストア・インタフェースは、受信したデータが最終
データ・バーストであるかどうかを調べる必要がある
(ステップ158)。そのあと、データは、それがまだ
最終データ・バーストになっていなければ、制御ワード
に入っているユーザIDとバースト・サイズ情報とを使
用して、デポジトリ記憶機構に書き込まれる(ステップ
160)。
っているバッファがあるときは、記憶マネージャのデー
タ・ストア・インタフェースは、受信したデータが最終
データ・バーストであるかどうかを調べる必要がある
(ステップ158)。そのあと、データは、それがまだ
最終データ・バーストになっていなければ、制御ワード
に入っているユーザIDとバースト・サイズ情報とを使
用して、デポジトリ記憶機構に書き込まれる(ステップ
160)。
【0069】フリップフロップ・バッファが使用中であ
ると、受信バースト空きはステップ162で「オフ」に
セットされる。前述したように、データがステップ16
6でデポジトリ記憶機構に書かれる前に、データ・スト
ア・インタフェース(DSI)は、それが最終データ・
バーストであるかどうかを調べる必要がある(ステップ
164)。データ・ストア・インタフェース(DSI)
は、最終データ・バーストが受信されるまで、ステップ
150で同じことを繰り返す。
ると、受信バースト空きはステップ162で「オフ」に
セットされる。前述したように、データがステップ16
6でデポジトリ記憶機構に書かれる前に、データ・スト
ア・インタフェース(DSI)は、それが最終データ・
バーストであるかどうかを調べる必要がある(ステップ
164)。データ・ストア・インタフェース(DSI)
は、最終データ・バーストが受信されるまで、ステップ
150で同じことを繰り返す。
【0070】最終データ・バーストが検出された場合
は、ステップ168でデータ記憶機構にデータが書かれ
たあと、記憶マネージャは、制御ワードに入っているユ
ーザIDと他の情報を使用して、データをリンク・イン
バウンド待ち行列(LIQ)に接続する。これにより、
共用メモリ・サブシステムに送られたデータの処理は終
了し、フリップフロップ・バッファの1つが空きになる
と、直ちに受信バースト空きが「オン」にセットされ
る。
は、ステップ168でデータ記憶機構にデータが書かれ
たあと、記憶マネージャは、制御ワードに入っているユ
ーザIDと他の情報を使用して、データをリンク・イン
バウンド待ち行列(LIQ)に接続する。これにより、
共用メモリ・サブシステムに送られたデータの処理は終
了し、フリップフロップ・バッファの1つが空きになる
と、直ちに受信バースト空きが「オン」にセットされ
る。
【0071】図7は共用メモリ・サブシステムに受信さ
れるメッセージの例であり、前述したフローチャートを
理解しやすくするために示したものである。
れるメッセージの例であり、前述したフローチャートを
理解しやすくするために示したものである。
【0072】同図には、3つのエンティティが概略図で
示されている。つまり、デポジトリ記憶機構12,記憶
マネージャ14およびアダプタ20であり、アダプタに
接続されたリモート・エンティティが受信メッセージの
開始側となっている。
示されている。つまり、デポジトリ記憶機構12,記憶
マネージャ14およびアダプタ20であり、アダプタに
接続されたリモート・エンティティが受信メッセージの
開始側となっている。
【0073】まず、受信バースト空き線(RBE)は、
すべてのアダプタに対して「オン」にセットする必要が
ある。このことは、フリップフロップ・バッファの1つ
が空きになっていることを意味する。アダプタは、ユー
ザの一人からメッセージを受信すると、先頭受信データ
・バーストを記憶マネージャに送る。記憶マネージャ
は、そのフリップフロップ・バッファがまだ空きになっ
ているので、受信バースト空き線(RBE)を「オフ」
にセットすることなく、その先頭データ・バーストをデ
ポジトリ記憶機構に書き込む。
すべてのアダプタに対して「オン」にセットする必要が
ある。このことは、フリップフロップ・バッファの1つ
が空きになっていることを意味する。アダプタは、ユー
ザの一人からメッセージを受信すると、先頭受信データ
・バーストを記憶マネージャに送る。記憶マネージャ
は、そのフリップフロップ・バッファがまだ空きになっ
ているので、受信バースト空き線(RBE)を「オフ」
にセットすることなく、その先頭データ・バーストをデ
ポジトリ記憶機構に書き込む。
【0074】そのあと、アダプタは、次の受信データ・
バーストを送ることができる。ここで、フリップフロッ
プ・バッファが両方とも使用中となるので、受信バース
ト空き線(RBE)が直ちに「オフ」にセットされて、
データを送ることが禁止される。これにより、記憶マネ
ージャは、データをデポジトリ記憶機構に書き込むこと
が可能になり、受信バースト空き線(RBE)がオンに
セットされる。
バーストを送ることができる。ここで、フリップフロッ
プ・バッファが両方とも使用中となるので、受信バース
ト空き線(RBE)が直ちに「オフ」にセットされて、
データを送ることが禁止される。これにより、記憶マネ
ージャは、データをデポジトリ記憶機構に書き込むこと
が可能になり、受信バースト空き線(RBE)がオンに
セットされる。
【0075】最終受信データ・バーストのときは、記憶
マネージャは、最終データをデポジトリ記憶機構に書き
込み、メッセージを待ち行列に接続する。受信バースト
空き線(RBE)も「オン」にセットされるので、別の
アダプタが別のバーストを送ることが可能になる。
マネージャは、最終データをデポジトリ記憶機構に書き
込み、メッセージを待ち行列に接続する。受信バースト
空き線(RBE)も「オン」にセットされるので、別の
アダプタが別のバーストを送ることが可能になる。
【0076】図8および図9は、アダプタと共用メモリ
・サブシステムに関する送信データ・バーストのフロー
チャートを示している。同図は、アダプタと記憶マネー
ジャが、それぞれどのような順序でオペレーションを実
行するかを詳しく説明するために示したものではない。
共用メモリ・サブシステムから特定のアダプタまたは全
アダプタへのデータ伝送の理解を容易にするために、主
要なステップを示したにすぎない(図8)。ここで注意
すべきことは、アダプタに接続された特定のユーザに送
るべきメッセージが共用メモリにあると、アダプタが常
に送信プロセスの開始側になることである。すべてのメ
ッセージは、デポジトリ記憶機構にストアされ、アダプ
タがデータを受信するレディ状態にないと、その間待ち
行列に残されている。しかし、記憶マネージャは、メッ
セージが待ち行列にあることを、関係するアダプタに通
知しなければならない。2つのバッファ、すなわち送信
フリップ・バッファと送信フロップ・バッファの2つの
バッファが用意されており、これらは、アダプタに対し
て同一のメモリ・マップ位置をもっている。これらの2
バッファを使用すると、データ・バーストを特定のアダ
プタに送っている間に、デポジトリ記憶機構に置かれて
いる次のデータ・バーストを、必要に応じて取り出して
くることができる。
・サブシステムに関する送信データ・バーストのフロー
チャートを示している。同図は、アダプタと記憶マネー
ジャが、それぞれどのような順序でオペレーションを実
行するかを詳しく説明するために示したものではない。
共用メモリ・サブシステムから特定のアダプタまたは全
アダプタへのデータ伝送の理解を容易にするために、主
要なステップを示したにすぎない(図8)。ここで注意
すべきことは、アダプタに接続された特定のユーザに送
るべきメッセージが共用メモリにあると、アダプタが常
に送信プロセスの開始側になることである。すべてのメ
ッセージは、デポジトリ記憶機構にストアされ、アダプ
タがデータを受信するレディ状態にないと、その間待ち
行列に残されている。しかし、記憶マネージャは、メッ
セージが待ち行列にあることを、関係するアダプタに通
知しなければならない。2つのバッファ、すなわち送信
フリップ・バッファと送信フロップ・バッファの2つの
バッファが用意されており、これらは、アダプタに対し
て同一のメモリ・マップ位置をもっている。これらの2
バッファを使用すると、データ・バーストを特定のアダ
プタに送っている間に、デポジトリ記憶機構に置かれて
いる次のデータ・バーストを、必要に応じて取り出して
くることができる。
【0077】ステップ200は、リンク・アウトバウン
ド・メッセージ待ち行列が「空」から「空でない」に変
わると開始される。そして、ステップ202において、
2つのメッセージ終了(EOM)がまだ保留になってい
るかどうかもテストされる。記憶マネージャは、メッセ
ージの送信を予想している場合であっても、管理できる
のは、2つの保留メッセージだけである。2つのメッセ
ージの一方の最終バーストをロードすると、そのメッセ
ージが送られる宛先ユーザが、スケジュールされている
かどうを、ステップ204でチェックする。
ド・メッセージ待ち行列が「空」から「空でない」に変
わると開始される。そして、ステップ202において、
2つのメッセージ終了(EOM)がまだ保留になってい
るかどうかもテストされる。記憶マネージャは、メッセ
ージの送信を予想している場合であっても、管理できる
のは、2つの保留メッセージだけである。2つのメッセ
ージの一方の最終バーストをロードすると、そのメッセ
ージが送られる宛先ユーザが、スケジュールされている
かどうを、ステップ204でチェックする。
【0078】ステップ206で、送信プロセスが開始す
る。記憶マネージャは、デポジトリ記憶機構の待ち行列
から(リンク・アウトバウンド待ち行列(LOQ)から
−EP特許出願第365 731号参照)メッセージを
取り外す。ステップ208で、ユーザが接続されている
特定アダプタに、メッセージ送信レディ(MRX)をバ
ス30を経由して送信する。メッセージ送信レディ(M
RX)は、宛先ユーザのIDと、特定コードまたはバス
30のアドレス線とを含み、データ線上のデータがメッ
セージ送信レディ(MRX)データであることを記述し
ている。
る。記憶マネージャは、デポジトリ記憶機構の待ち行列
から(リンク・アウトバウンド待ち行列(LOQ)から
−EP特許出願第365 731号参照)メッセージを
取り外す。ステップ208で、ユーザが接続されている
特定アダプタに、メッセージ送信レディ(MRX)をバ
ス30を経由して送信する。メッセージ送信レディ(M
RX)は、宛先ユーザのIDと、特定コードまたはバス
30のアドレス線とを含み、データ線上のデータがメッ
セージ送信レディ(MRX)データであることを記述し
ている。
【0079】アダプタは、ステップ210で作業レジス
タに次のようにセットする。
タに次のようにセットする。
【0080】 「送信バースト要求(XBR)保留中=0」 「最終バースト以外=0」 「最終バースト=0」 この情報が必要とされるのは、アダプタが正しい個数の
送信バースト要求(XBR)を管理マネージャに送るた
めであるが、アダプタが最終バースト以外を検出できな
いときは、必要とする個数よりも1つだけ多くなること
もある。
送信バースト要求(XBR)を管理マネージャに送るた
めであるが、アダプタが最終バースト以外を検出できな
いときは、必要とする個数よりも1つだけ多くなること
もある。
【0081】送信バースト要求(XBR)は、バスのデ
ータ線(30−d)上の制御ワード情報と、バスのアド
レス線(30−a)上の特定コードとを含み、特定コー
ドは、データ線上のデータが送信バースト要求(XB
R)データであることを示している。送信バースト要求
(XBR)データは、ユーザIDとアダプタが処理でき
る最大バースト・サイズとを含んでいる。
ータ線(30−d)上の制御ワード情報と、バスのアド
レス線(30−a)上の特定コードとを含み、特定コー
ドは、データ線上のデータが送信バースト要求(XB
R)データであることを示している。送信バースト要求
(XBR)データは、ユーザIDとアダプタが処理でき
る最大バースト・サイズとを含んでいる。
【0082】次に、ステップ212において、アダプタ
は、送信バースト空き(XBE)が記憶マネージャによ
ってアサートされているか否かを、チェックする。Ye
sならば、アダプタは、ステップ214で、2つの保留
送信バースト要求(XBR)がすでにあるか否かをテス
トする。このことは、記憶マネージャが他の送信バース
ト要求(XBR)を受け付けることができないことを意
味する。Noならば、アダプタは、ステップ216で、
「最終バースト」レジスタのステータスを調べるであろ
う。それが1にセットされていなければ、アダプタは、
「最終バースト以外=1」レジスタのステータスと、
「保留送信バースト要求(XBR)>0」をステップ2
18で確かめる。これらの条件の1つが有効でないとき
は、記憶マネージャが、もう一つの送信バースト要求
(XBR)、または他の2つの送信バースト要求(XB
R)を受信できることを意味する(記憶マネージャがメ
ッセージ送信を開始した場合)。
は、送信バースト空き(XBE)が記憶マネージャによ
ってアサートされているか否かを、チェックする。Ye
sならば、アダプタは、ステップ214で、2つの保留
送信バースト要求(XBR)がすでにあるか否かをテス
トする。このことは、記憶マネージャが他の送信バース
ト要求(XBR)を受け付けることができないことを意
味する。Noならば、アダプタは、ステップ216で、
「最終バースト」レジスタのステータスを調べるであろ
う。それが1にセットされていなければ、アダプタは、
「最終バースト以外=1」レジスタのステータスと、
「保留送信バースト要求(XBR)>0」をステップ2
18で確かめる。これらの条件の1つが有効でないとき
は、記憶マネージャが、もう一つの送信バースト要求
(XBR)、または他の2つの送信バースト要求(XB
R)を受信できることを意味する(記憶マネージャがメ
ッセージ送信を開始した場合)。
【0083】上記3ステップ214,216,218の
条件が満足されていれば、各ステップの出力は、いずれ
も図9のステップ224に移行する。ステップ212で
送信バースト空き線(XBE)がデアサート(オフ)の
ときも同様である。これらの出力は、アダプタが別の送
信バースト要求(XBR)を送信しても無駄であること
を意味している。したがって、ステップ220で、アア
プタは、送信バースト要求(XBR)を送信することが
でき、それによって、送信バースト要求(XBR)保留
レジスタがステップ222でインクリメントされる。
条件が満足されていれば、各ステップの出力は、いずれ
も図9のステップ224に移行する。ステップ212で
送信バースト空き線(XBE)がデアサート(オフ)の
ときも同様である。これらの出力は、アダプタが別の送
信バースト要求(XBR)を送信しても無駄であること
を意味している。したがって、ステップ220で、アア
プタは、送信バースト要求(XBR)を送信することが
でき、それによって、送信バースト要求(XBR)保留
レジスタがステップ222でインクリメントされる。
【0084】そのあと、スケジューリング・プロセスが
ステップ212で再開される。
ステップ212で再開される。
【0085】図9は、図8を完成するものであり、送信
データ・バーストのフローチャートを示す。
データ・バーストのフローチャートを示す。
【0086】ステップ224で、アダプタは、保留送信
バースト要求(XBR)>0であるかどうかを調べる。
Yesならば、ステップ226において、アダプタは、
記憶マネージャから送信バースト・レディ(XBY)を
受け取るまで、待ち状態に置かれる。送信バースト・レ
ディは、デポジトリ記憶機構内でデータがすでに取り出
されたことを意味する。ほとんどの場合、アダプタは待
つ必要がない。これは、2つのバッファがあるために、
記憶マネージャは、データの送信を予想できるからであ
る。しかし、送信バースト・レディ線(XBY)が「オ
フ」にセットされていると、プロセスはステップ212
に戻される。
バースト要求(XBR)>0であるかどうかを調べる。
Yesならば、ステップ226において、アダプタは、
記憶マネージャから送信バースト・レディ(XBY)を
受け取るまで、待ち状態に置かれる。送信バースト・レ
ディは、デポジトリ記憶機構内でデータがすでに取り出
されたことを意味する。ほとんどの場合、アダプタは待
つ必要がない。これは、2つのバッファがあるために、
記憶マネージャは、データの送信を予想できるからであ
る。しかし、送信バースト・レディ線(XBY)が「オ
フ」にセットされていると、プロセスはステップ212
に戻される。
【0087】こうして、アダプタは、データを一時的に
ストアしたバッファを、ステップ228で読み取ること
ができる。そのあと、送信バースト要求(XBR)保留
は、ステップ230でデクリメントされる。
ストアしたバッファを、ステップ228で読み取ること
ができる。そのあと、送信バースト要求(XBR)保留
は、ステップ230でデクリメントされる。
【0088】ステップ232で、アダプタは、「最終バ
ースト」レジスタが1にセットされているか否かを調べ
る。Noならば、データ・バーストが期待したものであ
る場合、アダプタは、ステップ234でそのデータ・バ
ーストをセーブ(格納)する。Yesならば、記憶マネ
ージャは、ステップ248でボイド・バーストを送信す
る。その結果、アダプタは、ステップ250でメッセー
ジ終了(EOM)を即時にデポジトリ記憶機構に送るこ
とができる。
ースト」レジスタが1にセットされているか否かを調べ
る。Noならば、データ・バーストが期待したものであ
る場合、アダプタは、ステップ234でそのデータ・バ
ーストをセーブ(格納)する。Yesならば、記憶マネ
ージャは、ステップ248でボイド・バーストを送信す
る。その結果、アダプタは、ステップ250でメッセー
ジ終了(EOM)を即時にデポジトリ記憶機構に送るこ
とができる。
【0089】ステップ236で、記憶マネージャは、自
身のバッファを調べて、次に送信すべきデータ・バース
トが最終バースト以外であるかどうかを確かめる。Ye
sならば、アダプタは、ステップ238で「最終バース
ト以外=1」レジスタをセットする。
身のバッファを調べて、次に送信すべきデータ・バース
トが最終バースト以外であるかどうかを確かめる。Ye
sならば、アダプタは、ステップ238で「最終バース
ト以外=1」レジスタをセットする。
【0090】そのあと、プロセスはステップ212で再
開される。
開される。
【0091】ステップ236で、バッファに最終データ
・バースト以外がストアされていないと、記憶マネージ
ャは、ステップ240でそれが最終データであるか否か
を調べる。Noならば、アダプタは、ステップ242で
自身のレジスタを調べ、「最終バースト=1」であるか
否かをテストする。それが最終バーストでない場合は、
プロセスはステップ212に戻る。さもなければ、アダ
プタは、送信バースト要求(XBR)保留がゼロにセッ
トされていることをステップ246で確かめて、ステッ
プ250でメッセージ終了(EOM)を送信する必要が
ある。送信バースト要求(XBR)保留>0ならば、ア
ダプタに送るべき他のバーストが残っているので、プロ
セスはステップ212に戻る。
・バースト以外がストアされていないと、記憶マネージ
ャは、ステップ240でそれが最終データであるか否か
を調べる。Noならば、アダプタは、ステップ242で
自身のレジスタを調べ、「最終バースト=1」であるか
否かをテストする。それが最終バーストでない場合は、
プロセスはステップ212に戻る。さもなければ、アダ
プタは、送信バースト要求(XBR)保留がゼロにセッ
トされていることをステップ246で確かめて、ステッ
プ250でメッセージ終了(EOM)を送信する必要が
ある。送信バースト要求(XBR)保留>0ならば、ア
ダプタに送るべき他のバーストが残っているので、プロ
セスはステップ212に戻る。
【0092】ステップ240で、バッファにストアされ
たデータが最終データならば、アダプタは、ステップ2
44で、自身の「最終バースト=1」レジスタをセット
しなければならない。送信バースト要求(XBR)が、
ステップ246でゼロに等しければ、アダプタは、メッ
セージ終了(EOM)を直接に送信することができ、そ
うでなければ、プロセスはステップ212に戻る。
たデータが最終データならば、アダプタは、ステップ2
44で、自身の「最終バースト=1」レジスタをセット
しなければならない。送信バースト要求(XBR)が、
ステップ246でゼロに等しければ、アダプタは、メッ
セージ終了(EOM)を直接に送信することができ、そ
うでなければ、プロセスはステップ212に戻る。
【0093】図10は、特定のアダプタ0に接続された
ユーザに送られるメッセージの例を示している。
ユーザに送られるメッセージの例を示している。
【0094】メッセージ1をリンク・アウトバウンド待
ち行列(LOQ)(EP特許出願第365 731号参
照)から取り出した後、デポジトリ記憶機構12は、ユ
ーザのアドレスを知ると、メッセージ送信レディ(MR
X)をアダプタ0に送信する。このとき即時に、記憶マ
ネージャは、送信バースト空き線(XBE)を「オン」
にセットするので、アダプタ0は、最初の送信バースト
要求(XBR)を送り返すことができる。この送信バー
スト要求(XBR)データは、フリップまたはフロップ
制御レジスタに受信される。
ち行列(LOQ)(EP特許出願第365 731号参
照)から取り出した後、デポジトリ記憶機構12は、ユ
ーザのアドレスを知ると、メッセージ送信レディ(MR
X)をアダプタ0に送信する。このとき即時に、記憶マ
ネージャは、送信バースト空き線(XBE)を「オン」
にセットするので、アダプタ0は、最初の送信バースト
要求(XBR)を送り返すことができる。この送信バー
スト要求(XBR)データは、フリップまたはフロップ
制御レジスタに受信される。
【0095】この間に、記憶マネージャは、空きバッフ
ァの一つにストアされていた先頭データ・バーストを取
り出して、フリップまたはフロップ制御レジスタをデー
タ・バースト・サイズで更新する。このデータ・バース
ト・サイズは、バッファ内容と一緒に制御ワードとして
送信される。そのあと、送信バースト要求(XBR)
は、アダプタ0に対して「オン」にセットされる。送信
バースト空き線(XBE)がまだ「オン」にセットされ
ているので、もう一つの空きバッファがあり、ステップ
214,216,218の条件が満足されていないの
で、アダプタは別の送信バースト要求(XBR)(2)
を送信する。記憶マネージャは、直ちにすべてのアダプ
タに対して、送信バースト空き線(XBE)を「オフ」
にセットする。したがって、アダプタ0は、対応するバ
ッファに置かれている最初の送信データ・バースト(X
DB)を読み取って、バッファの1つを解放し、その最
初のデータを蓄積転送する。
ァの一つにストアされていた先頭データ・バーストを取
り出して、フリップまたはフロップ制御レジスタをデー
タ・バースト・サイズで更新する。このデータ・バース
ト・サイズは、バッファ内容と一緒に制御ワードとして
送信される。そのあと、送信バースト要求(XBR)
は、アダプタ0に対して「オン」にセットされる。送信
バースト空き線(XBE)がまだ「オン」にセットされ
ているので、もう一つの空きバッファがあり、ステップ
214,216,218の条件が満足されていないの
で、アダプタは別の送信バースト要求(XBR)(2)
を送信する。記憶マネージャは、直ちにすべてのアダプ
タに対して、送信バースト空き線(XBE)を「オフ」
にセットする。したがって、アダプタ0は、対応するバ
ッファに置かれている最初の送信データ・バースト(X
DB)を読み取って、バッファの1つを解放し、その最
初のデータを蓄積転送する。
【0096】そのあと、1つのバッファが空きになって
いるので、送信バースト空き線(XBE)は、即時に
「オン」にセットされるが、記憶マネージャは、まだレ
ディ状態になっていない。送信バースト・レディ線(X
BY)は、アダプタ0に対してデアサート(オフ)さ
れ、記憶マネージャは、その間にデポジトリ記憶機構内
の次のデータを取り出す。送信バースト・レディ線(X
BY)は、データがバッファにストアされると、直ちに
「オン」にセットされる。しかし、アダプタは、さらに
送信バースト要求(XBR)(3)を送信するので、バ
ッファが一杯になる。したがって、送信バースト空き線
(XBE)がデアサート(オフ)される。そのあと、デ
ータ・バースト(2)がアダプタ0に送られると、アダ
プタは、そのデータを蓄積転送する。
いるので、送信バースト空き線(XBE)は、即時に
「オン」にセットされるが、記憶マネージャは、まだレ
ディ状態になっていない。送信バースト・レディ線(X
BY)は、アダプタ0に対してデアサート(オフ)さ
れ、記憶マネージャは、その間にデポジトリ記憶機構内
の次のデータを取り出す。送信バースト・レディ線(X
BY)は、データがバッファにストアされると、直ちに
「オン」にセットされる。しかし、アダプタは、さらに
送信バースト要求(XBR)(3)を送信するので、バ
ッファが一杯になる。したがって、送信バースト空き線
(XBE)がデアサート(オフ)される。そのあと、デ
ータ・バースト(2)がアダプタ0に送られると、アダ
プタは、そのデータを蓄積転送する。
【0097】記憶マネージャは、もう一度、最終データ
を取り出すが、そのプロセスはこれまでに説明してきた
ものと全く同じである。最終データをアダプタ0に送
り、アダプタはそれを蓄積転送する。
を取り出すが、そのプロセスはこれまでに説明してきた
ものと全く同じである。最終データをアダプタ0に送
り、アダプタはそれを蓄積転送する。
【0098】デポジトリ記憶機構は、別のメッセージを
リンク・アウトバウンド待ち行列(LOQ)から取り出
して、送信プロセスを開始し、その間に、アダプタは、
メッセージ1のデータ・バーストの送信が正しかったか
どうかをチェックする。そのあと、メッセージ終了(E
OM)をデポジトリ記憶機構に送って、送信が正しかっ
たか、正しくなかったかを通知する。
リンク・アウトバウンド待ち行列(LOQ)から取り出
して、送信プロセスを開始し、その間に、アダプタは、
メッセージ1のデータ・バーストの送信が正しかったか
どうかをチェックする。そのあと、メッセージ終了(E
OM)をデポジトリ記憶機構に送って、送信が正しかっ
たか、正しくなかったかを通知する。
【図1】本発明の方法が実施される環境全体を示した概
略図である。
略図である。
【図2】アダプタと共用メモリ・サブシステムとの間の
データと制御のやりとりを示した概略図である。
データと制御のやりとりを示した概略図である。
【図3】アダプタから共用メモリへの制御の流れと、共
用メモリからアダプタへの制御の流れを示した図であ
る。
用メモリからアダプタへの制御の流れを示した図であ
る。
【図4】データ・バーストに関連づけられた制御ワード
を示した図である。
を示した図である。
【図5】アダプタ側の受信データ・バーストのフローチ
ャートを示した図である。
ャートを示した図である。
【図6】共用メモリ・サブシステム側の受信データ・バ
ーストのフローチャートを示した図である。
ーストのフローチャートを示した図である。
【図7】共用メモリ・サブシステムに受信されるメッセ
ージの例を示した図である。
ージの例を示した図である。
【図8】送信データ・バーストのフローチャートを示し
た図である。
た図である。
【図9】送信データ・バーストのフローチャートを示し
た図である。
た図である。
【図10】アダプタに送られるメッセージの例を示した
図である。
図である。
10 共用メモリ・サブシステム 12 デポジトリ記憶機構 14 記憶マネージャ 16 マイクロプロセッサ 20 アダプタ 22 論理ユーザ(リモート・エンティティ) 26 アービタ 30 メッセージ・バス 30−a アドレス・バスまたはアドレス線 30−d データ・バス 30−c 制御線 32 個別的制御線 34 受信バースト空き線 36 送信バースト空き線 38 事象レジスタ空き線 41 コマンド 42 応答 43 事象 50 バースト 52 制御ワード 53 ユーザ所有者 54 バーストのサイズ 55 バーストの位置 57 データ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ベルナール ブレゾー フランス 06100 ニース アベニュー ドゥ ペシカール 261 ル マノワール 25番 (72)発明者 ジャン ピエール リップス フランス 06800 カンニュ−シュール− メール シュマン デ コレット 73 ル パルク (72)発明者 ベルナール ノーダン フランス 06700 サン ローラン デュ バル コルニッシュ ダグリモン レ プロバンサル 10番 (72)発明者 ジャン カルヴィニャック フランス 06610 ラ ゴード シュマン レ ヴァリエール 187 (72)発明者 リシャール アッシュ. ウォーラー アメリカ合衆国 27516 ノース カロラ イナ州 チャペル ヒル ベニントン ド ライブ 205
Claims (8)
- 【請求項1】 複数の異なるユーザ(22)が接続され
た複数の通信アダプタ(20)から、デポジトリ記憶機
構(12)と該デポジトリ記憶機構を管理する管理手段
(14)とを備えた共用メモリ・サブシステム(10)
へ送信された、インタリーブされたバーストからなるメ
ッセージを受信する方法であって、前記アダプタは、ア
ービタ(26)によって制御されるデータ線(30−
d)、アドレス線(30−a)および制御線(30−
c)からなるバス30を通して共用メモリ・サブシステ
ムに接続され、前記メッセージは可変長サイズのデータ
・バーストにスライスされる方法において、 (a)前記管理手段(14)とすべての前記通信アダプ
タ(20)との間を接続する第1単一データ・フロー制
御線RBE(34)を用意し、該制御線(34)が前記
管理手段(14)によってアサートされると、前記アダ
プタ(20)からデータ・バーストを送信することを許
可するステップと、 (b)共用メモリ・サブシステム(10)へ送信すべき
メッセージをもつ通信アダプタ(20)から、前記アー
ビタ(26)に対してバス要求を行うステップと、 (c)通信アダプタ(20)から送信される各データ・
バースト(57)に関連づけられ、少なくともメッセー
ジのユーザ(22)所有者の識別子を含むバースト制御
ワード(52)を生成するステップと、 (d)前記アービタ(26)によって選択された通信ア
ダプタ(20)の1つによって、バス(30)の前記デ
ータ線(30−d)上の対応する制御ワード(52)と
関連づけられたデータ・バースト(50)を、アドレス
線(30−a)上のすべてのアダプタに対して付された
の単一アドレスと一緒に、サブシステム(10)へ送信
するステップと、 (e)前記制御ワード(52)を前記管理手段(14)
によって読み取り、メッセージのユーザ所有者の識別子
にしたがって、データ・バーストをデポジトリ記憶機構
にストアするステップとからなることを特徴とする方
法。 - 【請求項2】 (a)前記管理手段(14)が前記異な
るユーザから送られてきたメッセージのバーストをイン
タリーブすることを可能にするために、前記デポジトリ
記憶機構を管理する管理手段(14)に、すべてのアダ
プタ(20)に対して同一メモリ・マップ位置をもつ複
数のフリップフロップ・バッファを設けるステップと、 (b)前記バッファのうち少なくとも1つのバッファが
空きになったとき、前記管理手段(14)によって前記
RBE線を活動化して、そのステータスにしたがってメ
ッセージを送信するように前記アダプタ(20)に通知
するステップ とを具備することを特徴とする請求項1に記載の方法。 - 【請求項3】 前記バースト制御ワードは、 − データ・バーストのユーザ所有者(53) − データ・バーストのサイズ(54) − メッセージ内のバーストの位置(55) を指定していることを特徴とする請求項1または2に記
載の方法。 - 【請求項4】 デポジトリ記憶機構(12)および該デ
ポジトリ記憶機構を管理する管理手段(14)を備えた
共用メモリ・サブシステム(10)から送信された、イ
ンタリーブされたバーストからなるメッセージを、複数
の異なるユーザ(22)が接続されている複数の通信ア
ダプタ(20)へ送信する方法であって、該アダプタ
(20)は、アービタ(26)によって制御されるデー
タ線(30−d)、アドレス線(30−a)および制御
線(30−c)を含むバス(30)を通してサブシステ
ム(10)に接続され、該メッセージは可変長サイズの
データ・バースト(57)にスライスされる方法ににお
いて、 (a)前記デポジトリ記憶機構の待ち行列からメッセー
ジを取り出すステップと、 (b)メッセージが送信レディ状態にあることを示す第
1制御情報を、バス(30)を経由して、関係の通信ア
ダプタ(20)へ送信するステップであって、該第1制
御情報は、少なくとも宛先ユーザ(22)の識別子を含
み、該ユーザには、前記データ線(30−d)を介し
て、前記アドレス線(30−a)上の特殊コードと一緒
に、前記メッセージが送信されるステップと、 (c)前記管理手段(14)をすべての前記通信アダプ
タ(20)に接続する第2単一データ・フロー制御線X
BE(36)を用意し、該制御線は前記管理手段(1
4)によってアサートされると、該アダプタ(20)が
共用メモリ・サブシステム(10)からデータ・バース
トを要求することを可能にするステップと、 (d)前記共用メモリ・サブシステム(10)からメッ
セージを受信するべき通信アダプタ(20)から、前記
アービタ(26)に対してバス要求を行うステップと、 (e)バーストの送信を要求する送信バースト要求(X
BR)を第2制御情報として生成するステップであっ
て、該バーストは、少なくとも、ユーザの識別子とアダ
プタによって処理可能な要求データの最大バースト・サ
イズとを含み、前記第2制御情報は、アービタ(26)
によって選択された通信アダプタ(20)からサブシス
テム(10)へ、バス(30)の前記データ線(30−
d)を介して、前記アドレス線(30−a)上のすべて
のアダプタに対して付された単一アドレスと一緒に送信
されるステップと、 (f)そのサイズが前記アダプタ(20)が要求する最
大サイズ以下でなければならない要求データ・バースト
をデポジトリ記憶機構(12)から取り出し、そのバー
ストを管理手段(14)に一時的にストアするステップ
と、 (g)前記管理手段(14)を各アダプタ(20)に接
続する第3データ・フロー制御線である送信バースト・
レディXBY(32)を用意し、該制御線が管理手段
(14)によってアサートして、管理手段(14)に置
かれた要求データ・バーストを読み取るように関係の通
信アダプタ(20)に通知するステップと、 (h)共用メモリ・サブシステム(10)からメッセー
ジを受信するべき通信アダプタ(20)から前記アービ
タ(26)に対してバス要求を行うステップと、 (i)前記アービタ(26)が前記バス(30)を許可
したとき、前記バス(30)の前記データ線(30−
d)上のバースト制御ワードと関連づけられたデータ・
バーストを、管理手段(14)によって送信するステッ
プであって、該バースト制御ワード(52)は、少なく
ともデータ・バーストのユーザ所有者の識別子を含むス
テップと、 (j)前記制御ワードを前記アダプタ(20)によって
読み取り、そのあとに続くデータが要求データ・バース
トに一致しているかどうかをチェックして、制御ワード
に指定された宛先ユーザへ、そのデータ・バーストを送
信するステップと、 (k)メッセージ終了(EOM)を第3制御情報として
前記アダプタ(20)からサブシステム(10)へ送信
するステップであって、該第3制御情報は、完全なメッ
セージが送信されたかどうかを示す情報であり、かつ、
少なくとも、メッセージが送信された宛先ユーザ(2
2)の識別子と、送信が正しかったか、正しくなかった
かの通知とを含むステップと を具備することを特徴とする方法。 - 【請求項5】 (a)前記デポジトリ記憶機構を管理す
る前記管理手段(14)に、すべてのアダプタ(20)
に対して同一メモリ・マップ位置をもつ複数のフリップ
フロップ・バッファを設けて、該管理手段(14)が異
なるユーザ(22)から送られてきた、メッセージのバ
ーストをインタリーブすることを可能にするステップ
と、 (b)前記バッファのうち少なくとも1つのバッファが
空きになっているとき、前記管理手段(14)によって
前記第2単一データ・フロー制御線(XBE)を活動化
して、そのステータスにしたがって、前記第2制御情報
である送信バースト要求(XBR)を送信するように前
記アダプタ(20)に通知するステップと、 (c)データ・バーストが前記デポジトリ記憶機構(1
2)で取り出され、前記管理手段(14)のバッファの
1つにストアされたとき、該管理手段(14)によって
前記第3データ・フロー制御線XBY(32)を活動化
して、該バッファに置かれている要求データ・バースト
を読み取るように関係のアダプタ(20)に通知するス
テップと を具備することを特徴とする請求項4に記載の方法。 - 【請求項6】 前記バースト制御ワードは、 − データ・バーストのユーザ所有者(53) − データ・バーストのサイズ(54) − メッセージ内のバーストの位置(55) を指定していることを特徴とする請求項4または5に記
載の方法。 - 【請求項7】 請求項1〜3に記載の受信方法と請求項
4〜6に記載の送信方法からなるメッセージ交換方法で
あって、アダプタ(20)と共用メモリ・サブシステム
(10)との間でやりとりされるメッセージの制御の流
れが該サブシステムに設けられたマイクロプロセッサ
(16)によって管理される方法において、 (a)前記バス(30)が前記アービタ(26)によっ
て許可されたあと、前記マイクロプロセッサ(16)か
ら関係の通信アダプタ(20)へコマンド(41)を送
信するステップであって、該コマンドは、前記データ線
(30−d)上の前記関係アダプタの識別子と前記アド
レス線(30−a)上の特殊コードとを含むステップ
と、 (b)コマンドが実行されて前記バス(30)が解放さ
れると、前記アダプタ(20)から即時に応答(42)
を返すステップと を具備することを特徴とする方法。 - 【請求項8】 前記通信アダプタ(20)に接続された
ユーザ(22)からの遅延応答を受け渡すことを許可す
る方法において、 (a)前記マイクロプロセッサ(16)とすべての前記
アダプタ(20)とを接続する単一制御流れ制御線であ
る事象レジスタ空き線ERF(38)を用意し、該制御
線が該マイクロプロセッサ(16)によってアサートさ
れると、前記アダプタ(20)が前記接続ユーザ(2
2)から前記遅延応答を送信することを可能にするステ
ップと、 (b)マイクロプロセッサ(16)へ送信すべき遅延応
答をもつ通信アダプタ(20)から前記アービタ(2
6)に対してバス要求を行うステップと、 (c)前記アービタ(26)がバス(30)を許可した
とき、前記マイクロプロセッサ(16)へ送信する制御
情報である事象(43)を生成するステップであって、
該制御情報は、ユーザの識別子に関連するユーザからの
遅延応答を含み、かつ前記事象レジスタ空き線ERF
(38)のステータスにしたがって、データ・バス(3
0)上を送信されるステップと、 (d)前記マイクロプロセッサ(16)によって、前記
制御情報である事象(43)を受信し、そこに入ってい
る遅延応答を、ユーザの識別子にしたがってデポジトリ
記憶機構(12)にストアするステップと を具備することを特徴とする請求項7項に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP91480161.8 | 1991-10-16 | ||
EP91480161A EP0537401A1 (en) | 1991-10-16 | 1991-10-16 | Method for exchanging messages between a shared memory and communication adapters using an efficient logical protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05227253A true JPH05227253A (ja) | 1993-09-03 |
JPH0779353B2 JPH0779353B2 (ja) | 1995-08-23 |
Family
ID=8208721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4244812A Expired - Lifetime JPH0779353B2 (ja) | 1991-10-16 | 1992-09-14 | 効率的な論理プロトコルを使用した共用メモリと通信アダプタ間のメッセージ交換方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5341475A (ja) |
EP (1) | EP0537401A1 (ja) |
JP (1) | JPH0779353B2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0695999A3 (en) * | 1994-06-30 | 1998-07-08 | Digital Equipment Corporation | System bus with separate address and data bus protocols |
CA2167632A1 (en) | 1995-01-23 | 1996-07-24 | Leonard R. Fishler | Apparatus and method for efficient transfer of data and events between processes and between processes and drivers in a parallel, fault tolerant message based operating system |
CA2167633A1 (en) * | 1995-01-23 | 1996-07-24 | Leonard R. Fishler | Apparatus and method for efficient modularity in a parallel, fault tolerant, message based operating system |
US5864712A (en) * | 1995-03-17 | 1999-01-26 | Lsi Logic Corporation | Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment |
EP0732659B1 (en) * | 1995-03-17 | 2001-08-08 | LSI Logic Corporation | Controlling (n+i) I/O channels with (n) data managers in a homogeneous software programming environment |
US6330623B1 (en) * | 1999-01-08 | 2001-12-11 | Vlsi Technology, Inc. | System and method for maximizing DMA transfers of arbitrarily aligned data |
US6295571B1 (en) | 1999-03-19 | 2001-09-25 | Times N Systems, Inc. | Shared memory apparatus and method for multiprocessor systems |
US7177322B2 (en) * | 2002-05-28 | 2007-02-13 | International Business Machines Corporation | Technique for controlling selection of a peek adapter or a read adapter from multiple adapters connected to a high speed switch |
US7161954B2 (en) | 2002-05-28 | 2007-01-09 | International Business Machines Corporation | Technique for controlling selection of a write adapter from multiple adapters connected to a high speed switch |
JP2005165592A (ja) * | 2003-12-02 | 2005-06-23 | Matsushita Electric Ind Co Ltd | データ転送装置 |
US7779286B1 (en) | 2005-10-28 | 2010-08-17 | Altera Corporation | Design tool clock domain crossing management |
US7769929B1 (en) * | 2005-10-28 | 2010-08-03 | Altera Corporation | Design tool selection and implementation of port adapters |
US8706804B2 (en) * | 2011-12-13 | 2014-04-22 | Sap Ag | Modeled chaining of service calls |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02186464A (ja) * | 1989-01-13 | 1990-07-20 | Hitachi Ltd | メモリアクセス制御方式 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4797815A (en) * | 1985-11-22 | 1989-01-10 | Paradyne Corporation | Interleaved synchronous bus access protocol for a shared memory multi-processor system |
JPH065524B2 (ja) * | 1987-11-18 | 1994-01-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 記憶装置管理方法 |
DE3850881T2 (de) * | 1988-10-28 | 1995-03-09 | Ibm | Verfahren und Vorrichtung zur Nachrichtenübertragung zwischen Quellen- und Zielanwender durch einen anteilig genutzten Speicher. |
-
1991
- 1991-10-16 EP EP91480161A patent/EP0537401A1/en not_active Withdrawn
-
1992
- 1992-06-24 US US07/903,687 patent/US5341475A/en not_active Expired - Lifetime
- 1992-09-14 JP JP4244812A patent/JPH0779353B2/ja not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02186464A (ja) * | 1989-01-13 | 1990-07-20 | Hitachi Ltd | メモリアクセス制御方式 |
Also Published As
Publication number | Publication date |
---|---|
US5341475A (en) | 1994-08-23 |
JPH0779353B2 (ja) | 1995-08-23 |
EP0537401A1 (en) | 1993-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5367643A (en) | Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets | |
JP3448067B2 (ja) | ネットワークアダプタのためのネットワークコントローラ | |
US6947425B1 (en) | Multi-threaded sequenced transmit software for packet forwarding device | |
US5592622A (en) | Network intermediate system with message passing architecture | |
EP0706137B1 (en) | Queued arbitration mechanism for data processing system | |
EP0391583A2 (en) | Dual-path computer interconnect system with four-ported packet memory control | |
JPH0675262B2 (ja) | メツセージ転送機構 | |
US5606666A (en) | Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element | |
GB2068154A (en) | Distributed data processing system | |
JPH04233356A (ja) | 複数個のプロセッサとシステムメモリ手段とを含むネットワークアダプタのための装置、ネットワーク制御装置、制御方法 | |
JPH05227253A (ja) | 効率的な論理プロトコルを使用した共用メモリと通信アダプタ間のメッセージ交換方法 | |
JPS62189550A (ja) | マルチプロセツサシステムにおけるプロセツサアクセス制御装置 | |
US20030033350A1 (en) | Method and apparatus for transmitting packets within a symmetric multiprocessor system | |
AU2003234641B2 (en) | Inter-chip processor control plane | |
JP2507230B2 (ja) | インタ―フェ―ス装置および方法並びに通信アダプタ | |
US9665519B2 (en) | Using a credits available value in determining whether to issue a PPI allocation request to a packet engine | |
JPH117434A (ja) | 複数ノードの非同期データ通信システム内で早期到達メッセージを処理するシステム | |
JP4104939B2 (ja) | マルチプロセッサシステム | |
EP1139228A2 (en) | An intelligent bus interconnect unit | |
US9548947B2 (en) | PPI de-allocate CPP bus command | |
JP3799741B2 (ja) | バスコントローラ | |
JPH10143486A (ja) | 並列計算機におけるデータ送受信方法 | |
JP2984594B2 (ja) | マルチクラスタ情報処理システム | |
US9699107B2 (en) | Packet engine that uses PPI addressing | |
JPH11296210A (ja) | プログラマブルコントローラ |