JP2512848B2 - デ―タ通信システムのメッセ―ジ制御方式 - Google Patents

デ―タ通信システムのメッセ―ジ制御方式

Info

Publication number
JP2512848B2
JP2512848B2 JP51581491A JP51581491A JP2512848B2 JP 2512848 B2 JP2512848 B2 JP 2512848B2 JP 51581491 A JP51581491 A JP 51581491A JP 51581491 A JP51581491 A JP 51581491A JP 2512848 B2 JP2512848 B2 JP 2512848B2
Authority
JP
Japan
Prior art keywords
message
unit
processing
port
descriptor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP51581491A
Other languages
English (en)
Inventor
肇 高橋
博英 菅原
章 河部本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP51581491A priority Critical patent/JP2512848B2/ja
Application granted granted Critical
Publication of JP2512848B2 publication Critical patent/JP2512848B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 技術分野 本発明はデータ通信システムのメッセージ制御方式に
係り、特に疎結合多重処理システム(LCMP)を構成する
複数の処理モジュール間のメッセージ制御方式に関す
る。
データ通信システムでは、信頼性の高い高処理能力シ
ステムが最も重要な要件の一つである。この要件を満た
すため、近年マルチプロセッサシステムが用いられるよ
うになってきている。このマルチプロセッサシステムの
一つのシステム形態に、複数の独立したコンピュータを
チャネル間結合装置などによって接続し、ジョブの入力
と実行などをどのコンピュータによっても可能とする、
疎結合多重処理システム(LCMP:loosely coupled multi
processing system)がある。
この疎結合多重処理システムにおいて、メッセージ通
信を実装していく場合には、大量なメッセージを小さな
オーバーヘッドでもって通信できるようなメッセージ制
御方式が必要とされる。
背景技術 マルチプロセッサ構成のデータ通信システムとして
は、従来は複数のプロセッサが一つの記憶装置を共用す
るシステム形態の、密結合多重処理システム(TCMP:tig
htly coupled multiprocessing system)が広く用いら
れていた。しかし、近年、プロセッサモジュールの台数
の増加の際のシステム性能の向上を図るため、最近はプ
ロセッサ個々に記憶装置を有する前記した疎結合多重処
理システムが多く用いられるようになった。
この疎結合多重処理システムでは送信側及び受信側夫
々に備えられるメッセージの格納領域としてのバッファ
は、同一構成の汎用的なものが用いられ、この汎用バッ
ファ間でメッセージを転送するようになされている。
しかしながら、このような汎用バッファを用いる方法
によってメッセージを通信していく場合、通信対象のメ
ッセージが大量なものである場合には、汎用バッファに
一度に格納することができないことからメッセージを分
割しながら通信していかなくてはならない。
そして、この方法によってメッセージ通信を実行して
いく場合、送信側の処理モジュールでは、送信対象のメ
ッセージを本来のメモリ位置から汎用バッファに展開し
直していく必要がある。また、受信側の処理モジュール
でも、汎用バッファに受信したメッセージを要求のメモ
リ位置に展開し直していく必要がある。このため、従来
は大量なメッセージの送受信処理に時間がかかり過ぎて
しまう。
これらのことから、従来の疎結合多重処理システムの
メッセージ制御方式は大量なメッセージの送受信を必要
とするデータ処理を迅速に実行できないという問題点が
あった。
本発明は上記の点に鑑みてなされたものであって、疎
結合された処理モジュール間のメッセージ制御方式にあ
って、送受信側でのバッファ構成の一致を必要とせずに
メッセージ通信を実行できるようにすることで、上記の
問題点を解決したデータ通信システムのメッセージ制御
方式を提供することを目的とする。
発明の開示 上記目的を達成するため、本発明のデータ通信システ
ムのメッセージ制御方式は、各々中央処理装置、メモリ
ユニット及び接続ユニットから構成される複数個の処理
モジュールが、システムバスを介して互いに接続された
疎結合多重処理システム構成を採るデータ通信システム
において、処理モジュールのメモリユニットを、中央処
理装置上で走行するソフトウェアであるデータ処理部
と、メッセージの格納領域のアドレス及びデータ長情報
をチェーン化して管理するディスクリプタと、送信する
メッセージが分散して格納された前記格納領域を構成す
るバッファとからなる構成とし、また前記接続ユニット
を少なくとも論理送信ポート及び論理受信ポートとを有
する構成としたものである。
上記の論理送信ポートは前記ディスクリプタの情報に
基づいて前記バッファを順次読み出してメッセージを連
続するメッセージとして送信する。上記の論理受信ポー
トはメッセージを受信し、受信メッセージをバッファに
順序よく格納する。
本発明によれば、前記ディスクリプタを生成すること
により、メッセージの送受信に用いる前記バッファのサ
イズにとらわれずに、個々の処理モジュールに適した形
式でメッセージをバッファに格納することができるた
め、大量にメッセージを一度に、かつ、小さなオーバー
ヘッドで通信することができる。従って、本発明では大
量のメッセージの送受信を必要とするデータ処理を迅速
に実行することができる。
また、本発明は論理受信ポートがメッセージの受信を
完了するときに、それまで受信したメッセージ量が送信
側の処理モジュールから通知されてきたメッセージ長と
一致するか否かを検出することにより、送信したメッセ
ージに対する異常の有無を検出する異常検出手段を接続
ユニットに有する。
本発明によれば、送信側処理モジュールム又はシステ
ムバス上で異常があった場合には、受信側処理モジュー
ルで異常検出できるため、異常発生による受信側処理モ
ジュールの悪影響を防止することができる。
図面の簡単な説明 第1図は本発明の原理構成図、 第2図は第1図の作用説明用シーケンス図、 第3図は本発明が適用されるマルチプロセッサシステ
ムのシステム構成図、 第4図は処理モジュールの構成図、 第5図は接続ユニットの一実施例の構成図、 第6図は物理受信ポートの一実施例の入出力信号と動
作状態遷移図、 第7図は物理送信ポートの一実施例の入出力信号と動
作状態遷移図、 第8図はメモリアクセス制御ユニットの入出力信号の
説明図、 第9図は主シーケンス制御ユニットの一実施例の構成
図、 第10図はディスクリプタの一実施例を示す図、 第11図はディスクリプタのエントリの管理データの一
実施例を示す図、 第12図は論理送信ポートの制御レジスタに書き込まれ
るデータの一例を示す図、 第13図は論理受信ポートの制御レジスタに書き込まれ
るデータの一例を示す図、 第14図は処理モジュールのデータ処理部のディスクリ
プタの使用例を示す図、 第15A図〜15C図はSPECIFICモードのメッセージ通信の
説明図、 第16図はANYモードのメッセージブロック転送の説明
図、 第17図はSPECIFICモードのメッセージブロック転送の
説明図、 第18図は物理送信ポートの切り換え処理の説明図、 第19図はシステムバス上のメッセージブロックのデー
タ形式の一例を示す図、 第20図はシステムバス上のステータスブロックのデー
タ形式の一例を示す図、 第21図は物理受信ポートの振り分け処理の説明図、 第22図は論理送信ポートの一実施例の状態遷移図、 第23図は論理受信ポートの一実施例の状態遷移図であ
る。
発明を実施するための最良の形態 本発明の原理構成図である第1図において、複数の処
理モジュール10は、システムバス20を介して互いに接続
されており、前記した疎結合多重処理システムを構築し
ている。なお、第1図では左側の処理モジュール10から
メッセージが右側の処理モジュール10へ転送される場合
を示している。各処理モジュール10は、中央処理装置11
と、この中央処理装置11のみによりアクセス可能なメモ
リユニット12と、他処理モジュール10との通信処理を司
るべく備えられる接続ユニット13とから構成される。
メモリユニット12はデータ処理14、ディスクリプタ15
及び任意形態バッファ16などからなる。
データ処理部14は、メモリユニット12に展開されて中
央処理装置11上で走行するソフトウェアにより構成され
ており、他処理モジュール10との間のメッセージ通信に
より援受されるデータ情報に従って所定のデータ処理を
実行する。ディスクリプタ15は任意形態バッファ16の配
置アドレス及びデータ長情報をチェーン化して管理す
る。任意形態バッファ16には送信メッセージや受信メッ
セージが格納される。
また、接続ユニット13は論理送信ポート17、論理受信
ポート18及び異常検出手段19その他よりなる。論理送信
ポート17は接続ユニット13に1つ又は複数備えられ、デ
ータ処理部14のための通信ポートとして、メモリユニッ
ト12に展開されるメッセージを順次読み出して受信側の
処理モジュール1に送信する。
論理受信ポート18は接続ユニット13に1つ又は複数備
えられ、他処理モジュール10から送られてくるメッセー
ジを受信して、メモリユニット12にその受信メッセージ
を格納する。異常検出手段19は論理受信ポート18の受信
するメッセージ量に従ってメッセージ通信に異常が発生
したのか否かを検出する。
次に、第1図の原理構成図の作用について第2図の動
作シーケンス図を併せ参照して説明する。まず、送信側
の処理モジュール10のデータ処理部14は、例えば大量の
メッセージを送信処理を実行する必要があると、その送
信対象の大量のメッセージを格納している格納領域の領
域情報を送信順にポイントしていくことでチェーン化し
たディスクリプタ15を生成する(ステップ21)。次に、
送信側の処理モジュール10のデータ処理部14は、メッセ
ージの送信元である受信側の処理モジュール10に対し
て、これから通信することになるメッセージのメッセー
ジ長情報を通知する(ステップ22)。
この通知を受け取ると、受信側の処理モジュール10の
データ処理部14は、自処理モジュール10のメモリユニッ
ト12内にその通知されるメッセージ長に対応する任意形
態バッファ16を用意して、その任意形態バッファ16の領
域情報を格納順にポイントしていくことでチェーン化し
たディスクリプタ15を生成する(ステップ23)。そし
て、受信側処理モジュールは送信側の処理モジュールに
対して、ディスクリプタ15の生成及び起動の完了通知を
行なう(ステップ23a)。
続いて、送信側の処理モジュール10のデータ処理部14
は、用意された任意形態バッファ16の使用を指定する識
別子を付加することを要求してメッセージの送信要求を
発行する(ステップ24)。この要求を受けて、送信側の
処理モジュール10の論理送信ポート17は、自処理モジュ
ールのディスクリプタ15のポイントする順番に従って任
意形態バッファ16からメッセージを読み出すとともに、
任意形態バッファ16の使用を指定する識別子を付加した
後(ステップ25)、他の処理モジュール10へ送信する
(ステップ26)。
受信側の処理モジュール10の論理受信ポート18は、メ
ッセージの宛先として自分が指定されていて、かつ任意
形態バッファ16を用いる識別子の付加されたメッセージ
であって、その送信元が任意形態バッファ16の作成を指
示してきた処理モジュール1であることを検出すると、
そのメッセージを受信して自処理モジュールのディスク
リプタ15を参照しながら、自処理モジュール内の任意形
態バッファ16に格納していく(ステップ27)。
受信側の処理モジュール10の異常検出手段19は、論理
受信ポート18の受信処理を完了するときに、受信したメ
ッセージ量がディスクリプタ15の生成の際に通知されて
きたメッセージ長と一致するか否かを検出することで、
メッセージ通信の異常の有無を検出して(ステップ2
8)、その結果を自処理モジュールのデータ処理部14に
通知する。これにより受信処理が終了する。
このように、第1図のシステムにおいては、ディスク
リプタ15を生成することでメッセージの送受信に用いる
バッファ16として、データ処理部に好ましい形態のもの
を用いることができる。このため、送信側の処理モジュ
ール10は、受信側の処理モジュール10内のバッファサイ
ズにとらわれず、かつバッファ16の元々の格納位置から
メッセージを送信していける。また、受信側の処理モジ
ュール10は、最も好ましいアドレス位置に直接大量なメ
ッセージを受信できる。
次に、本発明の実施例について更に詳細に説明する。
第3図は、本発明が適用されるマルチプロセッサシステ
ムのシステム構成図を示す。マルチプロセッサシステム
は、複数個の処理モジュール30(前記処理モジュール10
に相当)がシステムバスハンドラ31によりアービトレー
ションの集中管理される共有システムバス32を介して、
相互に接続される構成が採られる。この図では、共有シ
ステムバス32を1つのもので示してあるが、共有システ
ムバス32を複数備えるよう構成して、各々の処理モジュ
ール30が、独立した複数の共有システムバス32により接
続される構成が採られるものであってもよい。
第4図は、処理モジュール30の詳細な構成図を示す。
処理モジュール30は、中央処理装置41と、疎結合関係を
構成すべく備えられるローカルなメインメモリのローカ
ルストレージユニット42と、共有システムバス32への接
続を処理すべく備えられる接続ユニット43と、これらの
ユニット間を接続するPM内部バス44とよりなる。中央処
理装置41は前記中央処理装置11に相当し、ローカルスト
レージユニット42は前記メモリユニット12に相当し、接
続ユニット43は前記接続ユニット13に相当する。
処理モジュール30は、自らの備える中央処理装置41及
びローカルストレージユニット42上で動作するソフトウ
ェアが走行して、これらのソフトウェアが通常要求元と
なりながら相互に協調して一連の動作を行うよう構成さ
れる。ここで、処理モジュール30の備える中央処理装置
41は、自処理モジュール内のローカルストレージユニッ
ト42及びROM(図示省略)のみから命令コードをフェッ
チする。また、接続ユニット43は、固有のユニット番号
が割り付けられる。
第5図は、本発明のメッセージ通信処理を実現するた
めに備えられる接続ユニット43の一実施例を示す。同図
中、接続ユニット43は、中央処理装置41上で走行するソ
フトウェアが見える送信ポートである論理送信ポート
(S−PORT)51と、該ソフトウェアが見える受信ポート
である論理受信ポート(R−PORT)53と、他の処理モジ
ュール30へのメッセージの送信を制御する物理送信ポー
ト(PS-PORT)55と、他の処理モジュール30からのメッ
セージの受信を制御する物理受信ポート(PR-PORT)56
と、PM内部バス44との間のインタフェースを処理するア
クセス制御ユニット(BSC)57と、第4図に図示したロ
ーカルストレージユニット42をアクセスするメモリアク
セス制御ユニット(DMAC)58と、共有システムバス32と
の間の送信処理のインタフェースを処理する送信制御ユ
ニット(SNDC)59と、共有システムバス32との間の受信
処理のインタフェースを処理する受信制御ユニット(PC
VC)60と、双方アクセスを可能とするデュアルポートラ
ンダム・アクセス・メモリ(RAM)61と、これらのユニ
ット全体の制御を司る主シーケンス制御ユニット(MS
C)62とを具備するよう構成される。なお、論理送信ポ
ート51は制御レジスタ52を有し、論理受信ポート53は制
御レジスタ54を有する。これらの制御レジスタ52,54は
デュアルポートRAM61上に備える構成を採ることも可能
である。
この論理送信ポート(S−PORT)52は、例えばこの実
施例の2個というように好ましくは2個以上備えられる
構成が採られる。論理受信ポート(R−PORT)54は、例
えばこの実施例の4個というように好ましくは2個以上
備えられる構成が採られる。これにより、中央処理装置
41上で走行するソフトウェアが、複数のメッセージの同
時送信を可能とするとともに、複数のメッセージの同時
受信を可能とする構成が採られる。
一方、物理送信ポート(PS-PORT)55は、その性質上
1個を備えることで構成され、物理受信ポート(PR-POR
T)56は、例えばこの実施例の2個というように1個以
上を備えることで構成される。また、後述するように複
数の論理送信ポート51は物理送信ポート55を共用し、複
数の論理受信ポート54が物理受信ポート56を共用してい
く制御方式を採用していくことで、接続ユニット43のハ
ードウェア量の削減を図ることもできる。なお、物理送
信ポート55より共有システムバス32側に、物理送信ポー
ト55の処理をシリアライズする機能がある場合には、物
理送信ポート55を1個ではなくて複数備えていくことも
可能である。
論理送信ポート51と論理受信ポート53には、それぞれ
共有システムバス32上の物理転送ブロックに対応する25
6バイトの保留用緩衝バッファがデュアルポートRAM61上
に備えられる。物理送信ポート51に付属する保留用緩衝
バッファは、物理送信ポート55の個数分備えられ、物理
受信ポート53に付属する保留用緩衝バッファは、物理受
信ポート56の個数分備えられる。
物理送信ポート55は、主シーケンス制御ユニット(MS
C)62の制御処理に従って論理送信ポート51と論理的に
接続され、付属する保留用緩衝バッファ内のメッセージ
ブロックの転送要求MSG-SND-REQを送信制御ユニット(S
NDC)59に発行し、そのメッセージブロックの送信に対
しての応答STS-RCV-ACKを受信制御ユニット60より受信
して、論理送信ポート51に通知していく処理を実行す
る。
この物理送信ポート(PS-PORT)55の入出力信号を第
6図(a)に、また処理の状態遷移の一実施例を同図
(b)に示す。第6図(a)に示すように、物理送信ポ
ート(PS-PORT)55は主シーケンス制御ユニット(MSC)
62からはキャンセル要求(CANCEL)及びメッセージ送信
要求SND-RQが入力され、また処理再開要求CMPをMSC62に
対して行なう。
PS-PORT55は第6図(b)に示すように、MSC62からの
メッセージ送信要求SND-RQの待ち状態であるA状態にお
いて、該メッセージ送信要求SND-RQが入力されるとSND
状態に遷移する。このSND状態はメッセージブロックをS
NDC59を介してシステムバス32へ送出する状態である。
このSND状態において、SNDC59からの正常信号SND-ACK
でWAIT状態へ、異常信号SND-ERRでCMP状態へ、また、MS
C62からCANCEL要求がある場合はSNDC59への要求を取り
下げてからA状態へ遷移する。
上記WAIT状態は、受信側処理モジュールからのステー
タス信号待ち状態である。このWAIT状態において、受信
制御ユニット(RCVC)60からステータス受信完了信号ST
S-RCV-ACKが入力されたとき、またはステータス受信の
タイムアウトでCMP状態に遷移する。このCMP状態はMSC6
2へ送信完了を伝え、処理再開を要求する状態である。
このCMP状態にあるPS-PORT55に対してMSC62から認識信
号(=送信要求)を取り下げでA状態へ遷移する。
一方、物理受信ポート(PR-PORT)56は、受信制御ユ
ニット(RCVC)60の処理に従って付属する保留用緩衝バ
ッファに送信メッセージブロックが格納されることで受
信開始通知を受け取ると、主シーケンス制御ユニット
(MSC)62の制御処理に従って受信すべき論理受信ポー
ト53と論理的に接続され、その論理受信ポート53の動作
完了後に、受信完了の応答送信要求STS-SND-REQを送信
制御ユニット(SNDC)59に発行していく処理を実行す
る。
この物理受信ポート(PR-PORT)56の入出力信号を第
7図(a)に、また処理の状態遷移の一実施例を同図
(b)に示す。第7図(a)に示すように、物理受信ポ
ート(PR-PORT)56は上記応答送信要求STS-SND-REQ以外
に、受信制御ユニット(RCVC)60からメッセージ受信開
始信号MSG-RCV-ACKが入力されると共に、主シーケンス
制御ユニット(MSC)62からステータス送信要求SND-RQ
が入力され、またMSC62に対してキャンセル要求CANCEL
やFB状態信号FILL・BFを出力する。
また、PR-PORT56は第7図(b)に示すように、メッ
セージ受信待ちのWAIT状態にあるとき、RCVC60からメッ
セージ受信開始信号MSG-RCV-ACKが入力されると、FB状
態に遷移する。このFB状態はMSC62へ前記FILL・BFによ
り受信開始を伝え、処理の開始を要求する状態である。
PR-PORT56はRCVC60の受信完了信号の通知後、MSC62のス
テータス送信要求SND-RQでSND状態に遷移する。またRCV
C60からCANCEL要求がある場合はMSC62への要求を取り下
げてからWAIT状態へ遷移する。
上記のSND状態は、ステータスブロックをSNDC59を介
してシステムバス32へ送出する状態である。PR-PORT56
はこのSND状態においてSNDC59からの送信完了信号SND-A
CKでCMP状態へ遷移する。このCMP状態はMSC62へ送信完
了を伝え、処理再開を要求する状態である。PR-PORT56
はこのCMP状態においてMSC62から認識信号=送信要求の
取り下げがあると、前記WAIT状態へ遷移する。
再び第5図に戻って説明するに、アクセス制御ユニッ
ト(BSC)57は、接続ユニット43がPM内部バス44のバス
スレーブとなった場合の制御を行うもので、指定された
レジスタのアドレス情報をデコードするための機能や、
PM内部バス44との間のタイミングをとるためのコントロ
ール機能等を備えて、PM内部バス44側からのデータ情報
を論理送信ポート51又は論理受信ポート53に通知してい
くとともに、論理送信ポート51又は論理受信ポート53側
からのデータ情報をPM内部バス44に通知していく。
メモリアクセス制御ユニット(DMAC)58は、接続ユニ
ット43がPM内部バス44のバスマスタとなった場合に、主
シーケンス制御ユニット(MSC)62からの指示に従って
直接ローカルストレージユニット42をアクセスして、ロ
ーカルストレージユニット42とデュアルポートRAM61と
の間のデータ転送を実行する。
第8図はこのDMAC58の入出力信号の一実施例を示し、
ブロック数カウンタ70等を有し、アクセス用のアドレス
情報を生成するための機能や、PM内部バス44との間のタ
イミングをとるためのコントロール機能等を備える。
送信制御ユニット59は、物理送信ポート55及び物理受
信ポート56の要求に従って、共有システムバス32への送
信開始要求及び送信(メッセージブロックの送信/応答
の送信)の各制御を行う。受信制御ユニット60は、共有
システムバス32上を監視して、自ユニット番号に対して
のメッセージブロックや応答である場合には、そのデー
タをデュアルポートRAM61の対応のアドレスに格納して
から、物理送信ポート55あるいは物理受信ポート56を介
して、論理送信ポート51又は論理受信ポート53に通知す
る処理を行う。
デュアルポートRAM61には、上述した保留緩衝用バッ
ファの他に、論理送信ポート51及び論理受信ポート53の
ための作業領域が備えられている。このデュアルポート
RAM61は主シーケンス制御ユニット(MSC)62により、論
理送信ポート51、論理受信ポート53、アクセス制御ユニ
ット57及びメモリアクセス制御ユニット58から構成され
るPM内部バス44側のバス制御部からアクセスされるとと
もに、物理送信ポート55、物理受信ポート56、送信制御
ユニット59及び受信制御ユニット60から構成される共有
システムバス32側のバス制御部からアクセスされる。
第9図は前記主シーケンス制御ユニット(MSC)62の
一実施例の構成図を示す。同図に示すように、MSC62は
アービタ81、モードデコーダ82、フェーズシーケンスカ
ウンタ83、メインデコーダ84、ジェネレータ85、ワーク
バッファ(WBUF)86、アドレスバッファ(ABUF)87、バ
イトカウンタバッファ(BCT)88、終結コードバッファ
(CSC)89、バッファ90、セレクタ91〜95,97,99、比較
器96,、RAMアドレスバッファ98、RAMバッファ100などか
らなる。
セレクタ91〜95,97はバッファ86〜90,98の入力側に夫
々対応して設けられ、メインデコーダ84からのセレクト
信号に基づいてRAMバッファ100からのデータを切換出力
する。セレクタ91はBCT88、CSC89からのデータも選択出
力する。またセレクタ94は比較器96の出力信号も選択し
てCSC89へ出力する。更に、セレクタ99はWBUF86、ABUF8
7の各出力データを選択してデュアルポートRAM61に供給
する。このデュアルポートメモリ61は前記したようにMS
C62のワークエリアとして使用される。
このMSC62は、S−PORT51又はR−PORT53からの処理
要求RQ、あるいはPS-PORT55又はPR-PORT56からの状態通
知をアービタ81が受け、これらを適当な優先順に従って
選択する。選択した時点からフェーズシーケンスカウン
タ83が動作を開始する。また、選択されたポートとその
ポートの状態に応じて動作モードが決定される。
続いて、MSC62は決定された動作モードとフェーズシ
ーケンスカウンタ83の出力値で決まるフェーズに従っ
て、デュアルポートRAM61から順次情報を選択、加工し
ながらWBUF86、ABUF87、BCT88、CSC89の各バッファ群に
取り出して、再度デュアルポートRAM61に書き込み、ま
たその途中で必要に応じて第5図に示したDMAC58を起動
する。
MSC62は動作モードによっては、上記フェーズの途中
又は最後にS−PORT51、R−PORT53、PS-PORT55又はPR-
PORT56を起動する。そして、上記のフェーズの最後で、
MSC62はメインデコーダ84からアービタ81へエンド信号
を送出してアービタ81を開放し、またS−PORT51、R−
PORT53へトリガ信号やエラー信号を供給して各ポートの
状態を遷移させる。なお、場合によっては、メインデコ
ーダ84はアービタ81へコントロール信号を出力し、同一
ポートで次処理を継続する場合がある。
次に、ハードウェア/ソフトウェア間の起動時インタ
フェースについて説明する。
第4図の中央処理装置41上で走行するソフトウェア
は、S−PORT51又はR−PORT53の起動にあたって、詳細
な制御内容を指示したディスクリプタをローカルストレ
ージユニット42に配置する。第10図は、このディスクリ
プタの構成の一実施例を示す。
ローカルストレージユニット(LSU)42に配置される
ディスクリプタ(第1図の15)は、S−PORT51用とR−
PORT53用とで同じ構成を採るものであって、16バイトを
1エントリとして、第10図のようにシーケンシャルの形
式で、あるいは分岐する形式に従って配置される。
このディスクリプタの先頭のエントリは、S−PORT51
/R−PORT53内の制御レジスタ(第5図の52,54)内の領
域「SPDSA」,「RPDSA」にセットされるアドレス情報に
よりポイントされる。各エントリには、ローカルストレ
ージユニット(LSU)42上の論理バッファ(前記第1図
の任意形態バッファ16に相当し、例えば、各々4Kバイト
の容量を持つ)のアドレス情報やサイズ情報等が既述さ
れる。
第11図はこのディスクリプタのエントリの管理データ
の一実施例を示す。図中のBビット、Cビットは、その
組み合わせにより、「BC=01」のときには、本エントリ
の処理終了後にシーケンシャルに配置される次エントリ
への継続を指定し、「BC=11」のときには、本エントリ
の表示するエントリへの分岐を指定し、「BC=I00」の
ときには、本エントリの処理終了後に処理を終結させる
ことを指定し、「BC=10」のときには、本エントリの処
理を実行せずに処理を終結させることを指定する。ま
た、第11図中のDビットは、本エントリの処理完了時点
でのソフトウェアに対しての割り込みの有無を指定す
る。
また、第11図中、「BCT」で示す1バイトの情報フィ
ールドと「BUFA」で示す情報フィールドと「UID」で示
す情報フィールドはS−PORT51用とR−PORT53用とで異
なる内容を持つ。
S−PORT51用のものはBCT情報フィールドに、本エン
トリで扱うローカルストレージユニット42上の論理場の
バイトサイズ(16バイト単位、最大4Kバイト)が格納さ
れ、BUFA情報フィールドに、該論理バッファの先頭アド
レス(16バイトの境界アドレス)が格納され、UID情報
フィールドに、送信先の処理モジュールの接続ユニット
(MBC)43のユニット番号が格納される。
一方、R−PORT53用のディスクリプタのエントリ管理
データは、BCT情報フィールドに通信モードに応じた論
理バッファのサイズ情報が格納され、BUFA情報フィール
ドに本エントリで扱うローカルストレージユニット42上
の論理バッファの先頭アドレスが格納され、UID情報フ
ィールドには受信した送信元の処理モジュールの接続ユ
ニット43のユニット番号が格納される。
ここで、上記通信モードにはANYモードとSPECIFICモ
ードとがある。ANYモードは、自分宛に送られてくる任
意のメッセージを受信するモードであって、定常用の通
信処理の際に使われるレベル0と、緊急用の通信処理の
際に使われるレベル1とがある。SPCIFICモードは予め
送信側と受信側の間で合意をとって、送信対象となって
いる大量のメッセージを汎用バッファでなくて指定のア
ドレス領域に直接通信していくモードである。上記のR
−PORT53用のエントリ管理データのBCT情報フィールド
には、ANYモードのときは受信したメッセージのサイズ
情報が格納され、SPECIFICモードでは予め指定されるサ
イズ情報が格納される。
なお、BCビットがエントリの分岐を指定しているとき
には、BUFA情報フィールドには分岐先のエントリのアド
レス情報が格納されるが、BCT情報フィールドやUID情報
フィールドには何も指定されない。
中央処理装置41上で走行するソフトウェアは、ローカ
ルストレージユニット42にディスクリプタを配置する
と、次にS−PORT51を起動するときには、S−PORT51の
制御レジスタ52に制御指示を書き込み、また、R−PORT
53を起動するときには、R−PORT53の制御レジスタ54に
制御指示を書き込んでいくよう処理する。
第12図は、S−PORT51の制御レジスタ52に設定される
制御指示データの一実施例、第13図は、R−PORT53の制
御レジスタ54に設定される制御指示データの一実施例を
示す。第12図において、「SPDSA」と「SPODF」と「SPFC
P」とが、中央処理装置41で走行するソフトウェアのラ
イトする領域であり、ソフトウェアは、この「SPDSA」
に、制御を開始する最初のディスクリプタのアドレス情
報DSAを書き込み、「SPODF」に、上述したANYモードの
レベル0、ANYモードのレベル1、SPECIFICモードのい
ずれの通信モードで通信処理を行うのかの指示を書き込
み、「SPFCP」に、動作中の強制終了の指示を書き込
む。
また、第12図中、「SPOPS」と「SPCST」とが、接続ユ
ニット43側で書き込んでソフトウェアがリードしていく
領域であり、接続ユニット43は、この「SPOPS」に、処
理進行中のディスクリプタのエントリのアドレス情報CD
SAを書き込み、「SPCST」に、終了状態情報CSCを書き込
む。ここで説明した「SPODF」へのライトアクセスが実
行されると、S−PORT51は起動される。
一方、第13図において、「RPDSA」と「RPODF」と「RP
FCP」と「RPSSI」とが、中央処理装置41で走行するソフ
トウェアのライトする領域である。ソフトウェアは、こ
の領域「RPDSA」に、制御を開始する最初のディスクリ
プタのアドレス情報を書き込み、「RPODF」に、動作モ
ードの指定を書き込み、「RPFCP」に、動作中の強制終
了の指示を書き込み、「RPSSI」に、起動前にSPECIFIC
モードの場合に指定された送信元の接続ユニット43のユ
ニット番号を書き込む。
また、第13図中、「RPOPS」と「RPCST」とが、接続ユ
ニット43側で書き込んでソフトウェアがリードしていく
領域である。接続ユニット43は、この「RPOPS」に、処
理進行中のディスクリプタのエントリのアドレス情報CD
SAを書き込み、「RPSCT」に、終了状態情報CSCを書き込
む。ここで説明した「RPODF」へのライトアクセスが実
行されると、R−PORT53は起動されることになる。ここ
で、「RPSSI」に書き込まれるユニット番号は、SPECIFI
Cモードでの受信処理の際に、送信元として指定された
接続ユニット43からのメッセージであるのかの判断に用
いられる。
中央処理装置41で走行するソフトウェアは、2個以上
用意されるR−PORT53の内、少なくとも1個について
は、定常の通信処理を実行していくために、ANYモード
のレベル0の通信モードに指定して起動しておく必要が
あるとともに、少なくとも1個については、緊急の通信
処理を実行していくために、ANYモードのレベル1の通
信モードに指定して起動しておく必要がある。このよう
に用意しておくことで、緊急用のメッセージを定常処理
のメッセージを擾乱させることなく通信できるようにな
る。
各処理モジュールのソフトウェアは、このANYモード
での送信処理が必要になったときには、いつでもS−PO
RT51を起動していくことになる。このとき、S−PORT51
用のディスクリプタのエントリのUID情報フィールドに
設定される送信元の接続ユニット43のユニット番号につ
いては、各エントリ毎に独立に設定することが可能であ
り、S−PORT51が複数備えられているときにあっては、
各S−PORT51に対しても独立に設定することが可能であ
る。これから、ソフトウェアは、同時に複数の処理モジ
ュール30に対して送信処理を行うことができる。
また、SPECIFICモード(以下SPCモードと記す)で通
信処理を行う場合、送信側の処理モジュール30のソフト
ウェアは、事前にANYモードを用いて受信側の処理モジ
ュール30に対して、SPCモードで通信を行う旨とその通
信のバイト長を通知していく必要がある。受信側の処理
モジュール30のソフトウェアは、上記通知を受け取ると
ディスクリプタの配置やR−PORT53の起動を含む受信準
備を整えた後、送信側の処理モジュール30に対して応答
メッセージを返信する。送信側の処理モジュール30のソ
フトウェアは、この応答メッセージを確認すると、S−
PORT51をSPCモードで起動し、SPCモードでの通信処理を
実行する。
次に各処理モジュール30のデータ処理部のディスクリ
プタの使用例について第14図及び第15A〜15B図と共に説
明する。4個のR−PORT53は通常は3個がANYモードの
レベル0(ANY0モード)の通常通信用ポートに設定さ
れ、1個がANY1モードの緊急用ポートに設定される。本
実施例によるメッセージ通信においては、送信主体なデ
ータ転送が行われる(すなわち何時、誰からデータが送
られて来るかわからない)ので、R−PORT53は常に受信
可能状態にあることが望ましい。よってR−PORT53のデ
ィスクリプタは複数個がチェインされ、ディスクリプタ
が枯渇することがない様にブランチ機能によってチェイ
ンをループ化して使用する。R−PORT53のディスクリプ
タの構成について第14図に基づきさらに詳しく説明す
る。
まず、ANY0モードに設定された、最初のアドレス情報
DSAがR0,R1及びR2の各ディスクリプタは、8個のエント
リ(8×4KB=32KBのデータ領域)と1個のブランチ用
エントリで構成される。8個のエントリはそれぞれBC=
01によりチェインされ、また4エントリ毎にDビットが
セットされているのでANY0モードのデータを受信し始
め、Dビットのエントリまで受信するとデータ処理部に
対して割込みが発生する。データ処理部はその割り込み
を契機にエントリの先頭から割込みを発生したエントリ
までを処理し、その後、割込みを発生したエントリ内の
BCビットを10に書き換え、ブランチエントリ内のBCを11
に書き換える。
データ処理部がエントリの処理をしている間もANY0モ
ードによる受信は行われ、8つ目のエントリまで処理を
するとDビットによる割込みが発生する。8つ目のエン
トリ終了後、ブランチエントリ内のBCビットが10のまま
の場合は、データ処理部の処理が未だ終っていないこと
を意味し、R−PORT53はそこで終結する。前述の通りデ
ータ処理部の処理が間にあった場合はBCビットが11に書
き換わっているので先頭のディスクリプタにブランチし
処理を継続する。データ処理部は8番目のエントリから
の割込みを認識すると5つ目から8つ目までのエントリ
を処理し、先の4つ目のエントリのBCビットを01に書き
戻し、ブランチエントリにBC=10をセットする。
従って、R−PORT53の処理がブランチエントリにより
先頭にループしデータ処理部の処理が終わる前に4つ目
のエントリに達するとR−PORT53はそこで終結し、デー
タ処理部の処理が間に合えばさらに次へと処理を続け
る。この様にして8つのエントリをループして使用する
ことにより受信バッファの枯渇を防ぐ。エントリの数は
データ処理部の処理能力に応じて決められ、たとえばメ
ッセージの受信量に比べてデータ処理部の能力が間に合
わない場合には、チェインするエントリ数を増やして割
込み間隔を開けるなどの手段がとられる。
次に、第14図中、ANY1モードに設定された最初のアド
レス情報DSAがR3のディスクリプタは、4個のエントリ
(4×4KB=16KBのデータ領域)と1個のブランチ用エ
ントリで構成される。4個のエントリはそれぞれBC=01
にチェインされ、すべてのエントリにDビットがセット
されているのでANY1モードのデータを受信すると直ちに
データ処理部に対して割込みが発生する。データ処理部
はその割込みを契機にそのエントリの処理をする。ANY1
は緊急メッセージなので最優先で処理される。従って、
ブランチエントリにはBC=11がセットされ常にブランチ
可能である。但し、エントリ数についてはANY1レベルの
メッセージが多数の処理モジュールから一斉に送られて
きても受けられるだけのエントリは用意される。
なお、本発明内でデータバッファの構成、つまり8×
4KBの領域が連続するか否か、アドレス固定可変か等々
については言及していない。この問題は全くのプログラ
ム・ディペンドである。
送信ポートのディスクリプタについては、送信データ
が発生する都度、そのデータに応じたエントリが構成さ
れるので、特に図示および説明しない。一般に送信処理
は起動と同時に逐次処理されるので送信ポートの様な途
中にDビットをセットしたりブランチによりループする
様なことは無い。
続いて、第15A〜15C図によりSPECIFIC(SPC)モード
のメッセージ通信の例を説明する。第15A図は処理モジ
ュール#0がSPCモードのメッセージを行いたい旨を処
理モジュール#1に通知するまでを、第15B図は処理モ
ジュール#1がSPC受信の準備を完了し処理モジュール
#0にその旨を通知するまでを、第15C図はSPCモードの
メッセージ転送を示している。なお、図中ディスクリプ
タエントリ(群)はその個数に関わらず1つのワクで示
している。
第15A図において、処理モジュール#0が#1にSPCモ
ードのメッセージを送りたい旨通知する場合、 SPCモードで転送すべきデータに基づきディスクリ
プタエントリ(群)DESC-S0#0を生成 処理モジュール#1に伝える情報(SPCモードでの
データ長など)とそのディスクリプタDESC-S1#0を作
成 ANY1モードによるメッセージを起動 システムバス上にデータ転送 処理モジュール#1のANY1のモード受信ポートR3が
割込み発生 これで処理モジュール#1はSPCモードの受信に必要な
情報を獲得する。
これにより、処理モジュール#1が#0に準備完了を
第15B図に示す如く通知する。まず、 受信ポートR2を強制終了させる(前記RPFCPのNビ
ットをセット) 前述の情報によりSPC用のディスクリプタエントリ
(群)DESC-R2#1を生成 受信ポートR2をSPCモードで起動 起動完了したことを通知するデータおよびディスク
リプタDESC-S1#1を生成 のデータをANY1モードで転送 システムバス上を転送 処理モジュール#0のANY1モードの受信ポートR3が
割込みを発生 これで処理モジュール#0は#1の準備完了を認識す
る。これにより、以後第15C図に示す如くにして処理モ
ジュール#0から#1にSPCモード転送が行われる。す
なわち、 SPCモードで送信起動(ディスクリプタ、データは
準備済み) システムバス上をデータ転送 処理モジュール#1の受信ポートR2がSPCモードの
メッセージを受信 以上説明した様に処理モジュール#0から#1へのSPC
メッセージの処理が行われる。この後、SPCモードの受
信ポートは再びANY0モードに戻され通常の通信処理を行
う。
次に、処理モジュール30間のデータ転送方式について
詳細に説明する。
この実施例では、ディスクリプタの1エントリで指定
できる論理バッファのバイトサイズを最大4Kバイト(16
バイト単位)で想定していることから、ディスクリプタ
の1エントリで指定できるメッセージの最大長は4Kバイ
トである。一方、共有システムバス32で一度に転送でき
るメッセージの単位は例えば256バイトと比較的小さな
ものとなっている。
これから、本実施例の接続ユニット43は、メッセージ
を共有システムバス32の転送単位である256バイトずつ
に分割して転送を行い端数については、最後のブロック
で転送するという構成を採るものである。そして、送信
側の接続ユニット43は、この共有システムバス32上の各
転送単位に対して、一連のメッセージの開始ブロックと
中間ブロックと最終ブロックとを識別させるために、F
(First/M(Middle)/L(Last)/S(Single)という識
別子を付加する。一方、受信側の接続ユニット43は、こ
の識別子に従って送られてくるメッセージの再組み立て
を処理する。
ここで、送信側の接続ユニット43は、送信メッセージ
に対して、この識別子の他に通信モードと、送信元であ
る自らのユニット番号と、送信先の接続ユニット43のユ
ニット番号と、送信するバイト長と、送信元のS−PORT
51のポート番号(省略することも可能である)とをコマ
ンドに付加して送信する。
ANYモードでは、ディスクリプタの各エントリの指定
する論理バッファ上のメッセージを一転送単位をなすメ
ッセージとして扱って、通信先の処理モジュール30に転
送していく。このANYモードの場合、転送対象のメッセ
ージの長さが256×2バイトを超える場合には、第16図
(a)に示すように、最初の256バイト分のメッセージ
に識別子Fを付加して転送し、以後、順次256バイトず
つ識別子Mを付加して転送し、最後に、残りの端数のバ
イト分に識別子Lを付加して転送する。
転送対象のメッセージの長さが256バイトから256×2
バイトの間にあるときには、第16図(b)に示すよう
に、最初の256バイト分のメッセージに識別子Fを付加
して転送し、続いて、残りの端数のバイト分に識別子L
を付加して転送する。また、転送対象のメッセージの長
さが256バイト以下である場合は、第16図(c)に示す
ように、そのバイト分のメッセージに識別子Sを付加し
て転送する。
このように、ANYモードでは、送信側/受信側とも、
一連のF〜Lブロックの転送か、1つのSブロックの転
送でもって転送処理が終了する。また、F,Mブロックに
ついては常に256バイトでもって転送され、S,Lブロック
については256バイトかそれ以下でもって転送されるこ
とになる。
これに対して、SPCモードでは、ディスクリプタのチ
ェーンに繋がれるエントリの指定する論理バッファ上の
メッセージ全体を一転送単位をなすメッセージとして扱
って、送信先の処理モジュール30のチェーンで繋がれる
論理バッファに転送していく。
SPCモードがこのような転送方式を採るのは、細切れ
のままで送れるようにすることで、ANYモードのように
汎用的な論理バッファであるために必要となる送信側及
び受信側のローカルストレージユニット42内でのデータ
再転送に要するオーバーヘッドの削減を図るためであ
り、更に、汎用的に用意される論理バッファのサイズに
左右されないで大量のメッセージを送れるようにするた
めである。
このSPCモードの場合、第17図に示すように、最初の
エントリの開始ブロックについてはFブロックであり、
最終エントリの最終ブロックについてはLブロックであ
り、それ以外の中間エントリについてはMブロックとな
る。そして、送信側の接続ユニット43は、256バイト単
位又はエントリのバッファ境界までを1転送ブロックと
して転送する。また、受信側の接続ユニット43は、転送
ブロックの途中でエントリのバッファ境界を検出する
と、次のエントリの論理バッファへのストア処理を行っ
ていく。
このように、SPCモードでは、F,Mブロックであっても
256バイトとは限られず、また、送信側と受信側のエン
トリの更新は必ずしも同期しない。但し、送信側の全エ
ントリの論理バッファのサイズの合計と、受信側の全エ
ントリの論理バッファのサイズの合計とは一致すること
は言うまでもない。本発明ではこの一致を確認していく
手段を備えることで、SPCモードにおけるメッセージの
冗送・脱送を検出していく構成を採っている。
本発明において、一連のメッセージ通信中、送信側の
S−PORT51と、受信側のR−PORT53との間の論理的接続
は、Fブロックの送受信によって開始し、Lブロックの
送受信によって終結する。ここで、この論理的接続の接
続情報は、送信側のS−PORT51と受信側のR−PORT53と
で保持する。
一般的に、各接続ユニット43の複数のS−PORT51は、
それぞれ同時に、他の接続ユニット43のR−PORT53との
間に論理的接続関係を持つことになる。
各接続ユニット43のMSC62は自接続ユニット43の物理
送信ポート(PS-PORT)を切り換えていく。この切り換
え処理は、ディスクリプタの1エントリを単位にして実
行される。各接続ユニット43の複数のPS-PORT55の処理
は、このMSC62の切り換え処理によりエントリ単位に交
互に実行されシリアライズされる。
これから、ANYモードのときには、エントリ単位毎に
送信側のS−PORT51と受信側のR−PORT53との間の論理
的接続関係が終結していく。これに対して、SPCモード
のときには、複数のエントリで1つのメッセージが構成
されるので、メッセージ単位の間中送信側のS−PORT51
と受信側のR−PORT53との論理的接続が保持されたまま
で、PS-PORT55の切り換えが行われていく。
第18図は、このPS-PORT55の切り換え処理の一例を示
す。すなわち、PS-PORT55は、まず最初に0番の論理送
信ポート(S−PORT)510のエントリAのメッセージを
送信し、次に1番の論理送信ポート(S−PORT)511
エントリDのメッセージを送信し、続いてS−PORT510
のエントリBのメッセージを送信し、続いて、S−PORT
511のエントリEのメッセージを送信するというよう
に、S−PORT510及び511の出力メッセージを切換処理し
ていく。
これにより、ソフトウェアは、2つのS−PORT510
び511が起動されているときに、その起動要求のあった
2つのS−PORT510,511の送信処理を実行していくよう
処理する。なお、PS-PORT55は、共有システムバス32の
プロトコルに従って転送ブロック毎に通信先のR−PORT
53と切り離される。MSC62の制御処理により、1エント
リの全メッセージの送信が完了するまでの間、他方のS
−PORT510又は511はPS-PORT55に接続されることのない
ように処理される。
各接続ユニット43のPR-PORT56は、メッセージブロッ
クを受信すると受信開始をMSC62に通知する。この通知
を受け取ると、MSC62は、先ず最初に、送信元となって
いる接続ユニット43を識別し、更に、通信モードがANY
モードであって、いずれのR−PORT53も識別された接続
ユニット43との間に論理的接続関係を有していない場合
には、送られてきたメッセージブロックとレベルが一致
するR−PORTでもってメッセージブロックを受信するよ
う制御する。
このときに受信するメッセージブロックはFブロック
かSブロックでなければならないので、この受信したメ
ッセージブロックがFブロック又はSブロックである場
合には、この論理的接続は正常なものとして継続してい
く。これに対して、受信したメッセージブロックがMブ
ロック又はLブロックである場合には、何らかのプロト
コルエラーであるので、MSC62はPR-PORT56及び送信制御
ユニット(SNDC)59を介してその旨を送信元の接続ユニ
ット43に通知するとともに、いずれのR−PORT53との接
続も行わない。また、受信可能なR−PORT53がない場合
にも、その旨を送信元の接続ユニット43に通知する。
一方、通信モードがANYモードであって、いずれかの
R−PORT53が識別された接続ユニット43との間に論理的
接続関係を有している場合には、MSC62は、そのR−POR
T53でもってメッセージブロックを受信するよう制御す
る。このときに受信するメッセージブロックはMブロッ
クかLブロックでなければならないので、この受信した
メッセージブロックがMブロックである場合には、この
論理的接続は正常なものとして継続し、Lブロックであ
る場合には、正常のものとして論理的接続を終結する。
これに対して、受信したメッセージブロックがFブロ
ック又はSブロックである場合には、何らかのプロトコ
ルエラーであるので、MSC62はPR-PORT56及びSNDC59を介
してその旨を送信元の接続ユニット43に通知するととも
に、受信したR−PORT53を異常終結させる。
通信モードがSPCモードである場合には、いずれかの
R−PORT53が送信元の接続ユニット43からのメッセージ
ブロックを受信すべく準備されているので、MSC62は、
そのR−PORT53でもってメッセージブロックを受信する
よう制御する。SPCモードでも、ANYモードと同様に、開
始ブロックはFブロックかSブロックであり、以後Mブ
ロックの連続の後にLブロックで終結する。SPCモード
の場合、送信側や受信側のエントリの更新、それに伴う
PS-PORT55によるエントリ単位の交互処理に応じて、送
信されるメッセージに一時的な中断が発生する。なお、
SPCモードにおいても、同一の接続ユニット43の複数の
S−PORT51との間に、同時に複数の論理的接続関係を持
つことは許されないことに変わりはない。
通常、各接続ユニット43のPR-PORT56には、他の複数
の接続ユニット43のS−PORT51からのメッセージの転送
ブロックが転送されてくる。このため、各接続ユニット
43のMSC62は転送されてきた転送ブロックを自接続ユニ
ット43のR−PORT53に振り分けていく必要がある。
この振り分け処理は、R−PORT53の管理する論理的接
続情報を参照しながら、入力単位となる転送ブロックを
単位にして実行される各接続ユニット43の複数のR−PO
RT53は、このMSC62の振り分け処理に従って、一連のメ
ッセージを正確に受信していく。
上記の論理的接続情報はコマンドブロック(メッセー
0)のヘッダ部にある。第19図はシステムバス32上で
のメッセージブロックのフォーマットの一例を示す。同
図に示すようにメッセージブロックはヘッダ部110とデ
ータ部111とからなる。データ部111は1ワード当たり4
バイトのデータがNワードからなる。
ヘッダ部110中の#1〜#3の3ビットは転送ブロッ
ク種を示し、“010"のときメッセージブロックであるこ
とを示す。またSID,DIDはソース識別子、デスチネーシ
ョン識別子で前者は転送ブロック送信バスコントロール
のシステムバス上のIDで、転送ブロックがメッセージブ
ロックの場合、送信処理モジュールの接続ユニット43を
示し、後者は転送ブロックの受信バスコントローラのシ
ステムバス上のIDで、転送ブロックがメッセージブロッ
クの場合、受信処理モジュールの接続ユニット43を示
す。また、MDはANYモードかSPCモードかを示す2ビット
の識別子で、“00"のときANY0モード“01"のときANYモ
ード、“10"のときSPCモードであることを示す。SQは2
ビットのブロック識別子で、“00"のときSブロック、
“01"のときはFブロック、“10"のときMブロック、
“11"のときLブロックであることを示す。前記した第
9図のMSC62中のバッファ90はこの識別子MDとSQを格納
し、それをジェネレータ85よりのFブロック待ちかMブ
ロック待ちかを示す信号と比較器96で比較させる。
また、第19図において、DLはメッセージブロックのブ
ロック長(データ部111の長さ)を示す。また、DPMはメ
ッセージの受信処理モジュールのIDで、通常は前記DID
と同一である。また、SPMはメッセージの送信処理モジ
ュールのIDで、通常は前記SIDと同一である。
なお、受信したメッセージの処理結果を示すシステム
32上のステータスブロックは第20図に示す如きフォーマ
ットとされている。同図中、#1〜#3の3ビットは転
送ブロック種を示し、“111"のときステータスブロック
であることを示す。また、SIDはソース識別子で、転送
ブロックの送信バスコントローラのシステムバス32上の
IDで、メッセージブロックに対するステータスの場合は
メッセージブロックのSIDと逆に受信処理モジュールの
接続ユニット43を示す。
また、DIDはデスチネーションIDで、転送ブロックの
受信バスコントローラのシステムバス32上のIDで、メッ
セージブロックに対するステータスの場合は送信処理モ
ジュールの接続ユニット43を示す。また、OPCDはどの転
送ブロックに対するステータスであるかを示す3ビット
識別子で、“010"のときはメッセージブロックに対する
ステータスブロックであることを示す。更にCSCは、転
送されたメッセージブロックに対する受信処理モジュー
ル内での処理結果を示すコードである。
次に、PR-PORT56の振り分け処理の一例について第21
図と共に説明する。0番のPR-PORT560と、1番のPR-POR
T561には交互にメッセージブロックAF,BF,CF,AM1,B
M1,CM1,…が入力される。ここでアルファベットA,B,C
等はメッセージブロック種すなわちメッセージ送信処理
モジュールの接続ユニット43の別を示す、又添字F,M,L
は前記したFブロック、Mブロック、Fブロックを示
す。
MSC62は前記した第19図のSIDやSPMに基づいて、最初
に転送されてきた転送ブロックAFを0番のR−PORT530
に振り分け、次にPR-PORT561から転送されてきた転送ブ
ロックBFを1番のR−PORT531に振り分け、続いてPR-PO
RT560から転送されてきた転送ブロックCFを2番のR−P
ORT532に振り分け、続いてPR-PORT561から転送されてき
た転送ブロックAM1を0番のR−PORT530に振り分けてい
く。
これにより、第21図に示すようにR−PORT530〜533
はメッセージ制御毎に順番にメッセージが転送されるた
め、正確なメッセージの受信処理を実行できる。
次に、障害処理について詳細に説明する。
本発明の一連のメッセージ通信処理中に発生し得る異
常は、大きく別けて、送信側の処理モジュール30内部に
おけるハードウェアエラーと、受信側の処理モジュール
30内部におけるハードウェアエラーと、共有システムバ
ス32での転送中のハードウェアエラーと、フロー制御擾
乱等を含む受信側の処理モジュール30でのソフトウェア
エラーがある。
ここで、このような異常の検出は、送信側の接続ユニ
ット43、共有システムバス32〜受信側の接続ユニット43
の各所で行われる。通常、送信側と受信側との間に論理
的接続が開始する前には、送信側の動作開始をトリガと
して発生した異常は、送信側の処理モジュール30のソフ
トウェアにのみ通知され、また、受信動作に起因する異
常は、受信側の処理モジュール30のソフトウェアにのみ
通知される。
一方、送信側と受信側との間に論理的接続が発生した
後では、何らかの障害が発生した場合には、この論理的
接続状態を速やかに解除する必要がある。例えば、送信
側でのみ論理的接続状態が解除され、受信側で解除され
ないようなことが起こると、受信側のR−PORT53はハン
グアップする可能性があるからである。このような事態
を回避するために、極力双方の論理的接続状態を解除す
るようなハードウェア機能が具備されており、当該ハー
ドウェア機構のみで解除することができないような場合
には、更にソフトウェアとの連携により論理的接続状態
を解除することのできるハードウェア機構が用意されて
いる。
論理的接続中に発生し得る障害は、以下の5通りに分
類できる。ここで、共有システムバス32は、スプリット
形式を採っており、メッセージ通信は、送信側から受信
側に送出される前記した第19図のデータ形式のメッセー
ジブロックの転送と、受信側が送信側に転送するメッセ
ージ転送の受付状態を通知する前記した第20図のデータ
形式のステータスブロックの転送とから構成されてい
る。一連の論理メッセージは、このメッセージ転送とそ
れに対してのステータス転送との複数回の繰り返しによ
り完了する。
共有システムバス32上でメッセージの転送中に検出
される障害。
共有システムバス32上でステータス転送中に検出さ
れる障害。
受信側の処理モジュール30の内部処理(LSU42への
格納処理など)中に検出される障害。
送信側の処理モジュール30の内部処理(LSU42から
の読出処理等)中に検出される障害。
送信側の処理モジュール30の重度障害の発生。
との障害の場合、エラーは送信側の処理モジュー
ル30に通知される。この通知を受け取ると、送信側の処
理モジュール30の接続ユニット43は、論理的接続状態を
解除するとともに、中央処理装置41で走行するソフトウ
ェアに対して、外部割り込みによりこの旨を通知する。
この通知を受け取ると、ソフトウェアは、第12図で説
明した制御レジスタ52のSPCSTレジスタに書き込まれた
終了状態情報CSCを読み出し、この検出結果に従って同
一メッセージを受信側の処理モジュール30に対して再送
する。共有システムバス32でのメッセージ転送中等の障
害であり、受信側の処理モジュール30では未だ論理的接
続状態が継続している場合があるからである。
この再送処理を受けて、受信側の処理モジュール30の
接続ユニット43は、論理的接続状態にあることでMブロ
ックかLブロックを待っているところに、同一の処理モ
ジュール30からFブロックのメッセージが送られてくる
ことでプロトコル違反を検出し、これに従って論理的接
続状態を解除する。そして、中央処理装置41で走行する
ソフトウェアに対して、外部割り込みによりこの旨を通
知する。この障害処理により、送信側と受信側の双方で
論理的接続状態を解除できることになる。
の障害の場合、エラーは受信側の処理モジュール30
に通知される。この通知を受け取ると、受信側の処理モ
ジュール30の接続ユニット43は、論理的接続状態を解除
するとともに、中央処理装置41で走行するソフトウェア
に対して、外部割り込みによりこの旨を通知する。この
とき、送信側の処理モジュール30の接続ユニット43は、
ステータス転送を期待していてステータス転送期待のタ
イマを稼動させている。
そして、ステータス転送が所定の一定時間経過しても
受けられないと、タイムアウトを検出して論理的接続状
態を解除して、中央処理装置41で走行するソフトウェア
に対して、外部割り込みによりこの旨を通知する。この
障害処理により、送信側と受信側の双方で論理的接続状
態を解除できることになる。
の場合、障害が検出されると、その障害の発生時点
がステータスの送信前である場合には、受信側の処理モ
ジュール30の接続ユニット43は、ステータス転送により
送信側の処理モジュール30に障害発生を通知し、更に、
論理的接続状態を解除するとともに、中央処理装置41で
走行するソフトウェアに対して、外部割り込みによりこ
の旨を通知する。
そして、送信側の処理モジュール30は、障害発生を通
知するステータスの受信により異常終結するとともに、
中央処理装置41で走行するソフトウェアに対して、外部
割り込みによりこの旨を通知する。この障害処理によ
り、送信側と受信側の双方で論理的接続状態を解除でき
ることになる。
一方、その障害の発生時点がステータスの送信後等に
より、送信側の処理モジュール30にステータス転送でも
って障害発生を通知できないような場合には、受信側の
処理モジュール30の接続ユニット43は、論理接続を解除
するとともに、中央処理装置41で走行するソフトウェア
に対して、外部割り込みによりこの旨を通知する。
この通知を受け取るソフトウェアの処理に従って、受
信側の処理モジュール30の接続ユニット43が再立ち上げ
られ、送信側の処理モジュール30からのFブロック/Sブ
ロックを待つことになる。この状態にあるときに、送信
側の処理モジュール30からMブロックかLブロックが送
られてくるので、受信側の処理モジュール30の接続ユニ
ット43は、ステータス転送により送信側のプロセッサモ
ジュール30に障害発生を通知する。
この通知を受け取ると、送信側の処理モジュール30の
接続ユニット43は、論理接続状態を解除するとともに、
中央処理装置41で走行するソフトウェアに対して、外部
割り込みによりこの旨を通知する。この障害処理によ
り、送信側と受信側の双方で論理的接続状態を解除でき
ることになる。
の場合、送信側の処理モジュール30は停止状態とな
るので、受信側の処理モジュール30は論理的接続状態で
ハングアップする。このハングアップを救済するため
に、受信側の処理モジュール30の中央処理装置41で走行
するソフトウェアは、R−PORT53の稼動状態を表示すべ
く備えられる第13図で説明した制御レジスタ54のRPOPS
レジスタの表示情報を周期的にポーリングして、所定の
一定時間以上論理的接続状態が継続していることを検出
する。
そして、第13図で説明した制御レジスタ54のRPFCPレ
ジスタに、動作中の強制終了の指示を書き込むことで論
理接続状態の解除を指示する。この障害処理により、送
信側の処理モジュール30の重度障害に起因する受信側の
処理モジュール30の論理的接続状態のハングアップを解
消できる。
次に、ハードウェア/ソフトウェア間の終結時インタ
フェースについて説明する。
中央処理装置41上で走行するソフトウェアは、ディス
クリプタチェーンの各エントリの処理進行状況を以下の
3つの手段により認識していくことができる。
すなわち、第1の手段としては、各S−PORT51に属す
る制御レジスタ52の表示データを観測し、各R−PORT53
に属する制御レジスタ54の表示データを観測していく方
法である。これらの制御レジスタ52,53のSPOPSレジスタ
やRPOPSレジスタには、上述したように、処理進行中の
ディスクリプタのエントリのローカルストレージユニッ
ト42上のアドレス情報が書き込まれるので、ソフトウェ
アは、これを観測していくことで処理の進行状況を把握
するのである。
第2の手段としては、ディスクリプタのエントリのD
ビットに“1"を設定していく方法である。Dビットに
“1"をセットしておくと、上述したように、そのディス
クリプタの処理完了時点でソフトウェアに対して外部割
込みがかかるので、ソフトウェアは、この外部割込みに
より処理の進行状況を把握するのである。
この2つの方法は、ディスクリプタチェーンの各エン
トリの処理が正常に進行しているときに用いられる。こ
の場合、S−PORT51のディスクリプタのエントリはその
ままであるのに対し、R−PORT53のディスクリプタのエ
ントリには、受信したメッセージに応じたものが書き込
まれていく。
すなわち、ANYモードでは、各エントリのBCT情報フィ
ールドには、受信したメッセージサイズが書き込まれ、
BUFA情報フィールドには、最終データの次アドレスが書
き込まれ、UID情報フィールドには、送信元の処理モジ
ュール30の接続ユニット43のユニット番号が書き込まれ
る。これに対して、SPCモードでは、BUFA情報フィール
ドとUID情報フィールドのみが書き替えられる。受信側
の処理モジュール30のソフトウェアは、これらの情報に
より、メッセージサイズと送信元を確認できる。なお、
接続ユニット43は、ディスクリプタチェーンの最終エン
トリが完了すると、Dビットに関係なくソフトウェアに
対して外部割り込みを発生する。
処理進行状況を把握するための第3の手段としては、
処理に異常が発生した場合である。接続ユニット43は、
処理の異常を検出すると、ソフトウェアに対して外部割
り込みを発生するとともに、異常の内容を記述した終了
情報を制御レジスタ52,54のSPCSTレジスタやRPCSTレジ
スタに書き込んでいくので、ソフトウェアはこの外部割
り込みにより進行状況を把握するとともに、この終了情
報を参照することで異常内容の詳細を把握することがで
きるのである。ここで、ソフトウェアは、制御レジスタ
52,54のSPOPSレジスタやRPOPSレジスタに従って、異常
の発生したエントリを認識する。
なお、予め用意されたディスクリプタの全エントリの
処理が正常に終結した場合にも、同様にソフトウェアに
対して外部割り込みが発生する。この場合には、SPCST
レジスタやRPCSTレジスタには、正常に終結した旨の終
了情報が表示される。
また、本実施例では、ディスクリプタチェーンの処理
途中において、中央処理装置41上で走行するソフトウェ
アが、各S−PORT51と各R−PORT53の処理の終結を指示
する手段を有する。
すなわち、ソフトウェアは、S−PORT51の制御レジス
タ52のSPFCPレジスタに強制終了の指示を書き込むこと
で、そのS−PORT51の処理の強制終了を指示し、一方、
R−PORT53の制御レジスタ54のRPFCPレジスタで強制終
了の指示を書き込むことで、そのS−PORT51の処理の強
制終了を指示できるのである。
この終結の指示には、2種類の強制終結モードがあ
り、その1つは現在処理中のエントリの処理完了後に強
制終結を指示するモードである。もう1つはエントリ処
理状態に関係なく、直ちに強制終結(但し、転送ブロッ
クの受信中であるならばその完了後に強制終結)を指定
するモードである。
ソフトウェアは、S−PORT51の処理の強制終了を指示
するときに、前者のモードに従って強制終結を実行する
場合には、第12図に示す制御レジスタ52のSPFCPレジス
タの「N」領域にフラグを設定する。一方、後者のモー
ドに従って強制終結を実行する場合には、このSPFCPレ
ジスタの「I」領域にフラグを設定する。
また、R−PORT53の処理の強制終了を指示するとき
に、前者のモードに従って強制終結を実行する場合に
は、第13図に示す制御レジスタ54のRPFCPレジスタの
「N」領域にフラグを設定する。一方、後者のモードに
従って強制終結を実行する場合には、このRPFCPレジス
タの「I」領域にフラグを設定する。
このようにして、ソフトウェアにより制御レジスタ5
2,54のSPFCPレジスタやRPFCPレジスタに前者のモードに
従う強制終結の指示が書き込まれると、MSC62は、S−P
ORT51やR−PORT53の処理の進行状況の監視により処理
中のエントリの処理が完了することを確認した時点で、
強制終了処理を実行するよう処理していく。
一方、後者のモードに従う強制終結の指示が書き込ま
れると、MSC62はS−PORT51やR−PORT53の処理の進行
状況の監視することなく、送受信中ならばその完了後直
ちに強制終了処理を実行するよう処理していく。すなわ
ち、S−PORT51の処理状態を後述する「C状態」に強制
的に設定し、R−PORT53の処理状態を後述する「C状
態」に強制的に設定していくのである。
次に、S−PORT51の動作処理について詳述する。
中央処理装置41上で走行するソフトウェアの指示に従
う一連の送信動作は、S−PORT51が管理する。このS−
PORT51は、MSC62への動作指示や、MSC62を介したDMAC58
及びPS-PORT55への動作指示に従って、メッセージの送
信処理を実行する。第22図は、このS−PORT51が実行す
る処理の状態遷移図を示す。以下に、このS−PORT51の
各状態の動作条件を示す。
〔A状態〕
ソフトウェアからの動作指示待ち状態である。制御レ
ジスタ52のSPODFレジスタに対しての通信モードのライ
トアクセスによりDF1状態に遷移する。
〔DF1状態〕 ディスクリプタフェッチ動作状態である。MSC62及びD
MAC58により、制御レジスタ52のSPCSAレジスタの指示す
るアドレス状態に従って、ローカルストレージユニット
42からデュアルポートRAM61内の論理送信ポート用作業
領域に、ディスクリプタチェーンの1エントリをロード
してSND1状態に遷移する。ここで、ロードしたエントリ
のBCビットが分岐を表示しているときには、DF1状態の
ままであり、制御レジスタ52のSPDSAレジスタを分岐ア
ドレスに書き換えていく。
〔SND1状態〕 ロードされたエントリの指定する論理バッファからの
最初のメッセージの転送ブロックをフェッチして、PS-P
ORT55に送信要求を発行する。フェッチされる転送ブロ
ックは、デュアルポートRAM61内に設けられる論理送信
ポート用の保留用緩衝バッファに格納される。このと
き、転送されるブロックには、そのブロックサイズに応
じて、FかSの識別子が割り付けられる。Fの識別子が
割り付けられるときには、SND2状態に遷移するととも
に、Sの識別子が割り付けられるときには、STS状態に
遷移する。
〔SND2状態〕 スプリットバス形式を採る共有システムバス32に対応
して、転送したブロックに対しての応答を待つと同時
に、応答の受信後に、次の転送ブロックをフェッチし
て、PS-PORT55に送信要求を発行する。このとき、転送
されるブロックには、MかLの識別子が割り付けられ
る。Mの識別子が割り付けられるときには、SND2状態に
留まるとともに、Lの識別子が割り付けられるときに
は、STS状態に遷移する。
〔STS状態〕
最終の転送したブロックに対しての応答を待っている
状態である。応答を受信後に、DC状態に遷移する。
〔DC状態〕
処理エントリを次に移すために、制御レジスタ52のSP
DSAレジスタを更新(16バイト加算)する。処理の完了
したエントリのBCビットにより、ディスクリプタの継続
が指示されるときに、通信モードがANYモードの場合に
はDF1状態に遷移し、SPCモードのときにはDF2状態に遷
移する。一方、BCビットにより継続が指示されないとき
にはC状態に遷移する。
〔DF2状態〕 完了後のSND3状態への遷移を除いて、DF1状態と同じ
である。
〔SND3状態〕 ロードされたエントリの指定する論理バッファから最
初の転送ブロックをフェッチしてPS-PORT55に送信要求
を発行する。フェッチされる転送ブロックは、デュアル
ポートRAM61内に網けられる論理送信ポート用の保留用
緩衝バッファに格納される。このとき転送されるブロッ
クには、エントリが変更されたのにもかかわらず、SPC
モードであることに対応して、MかLの識別子が割り付
けられる。Mの識別子が割り付けられるときには、SND2
状態に遷移するとともに、Lの識別子が割り付けられる
ときには、STS状態に遷移する。
〔C状態〕
S−PORT51における一連の転送動作が終結した状態で
ある。この状態へは、各状態での各種の異常検出による
異常終結時においても遷移する。ソフトウェアによる制
御レジスタ52のSPCSTレジスタ(終了情報が書き込まれ
ている)に対してのフェッチ動作が実行されるとA状態
に遷移する。
次に、R−PORT53の動作処理について詳述する。
中央処理装置41上で走行するソフトウェアの指示に従
う一連の受信動作は、R−PORT53が管理する。このR−
PORT53はMSC62への動作指示や、MSC62を介したDMAC58や
PR-PORT56への動作指示に従って、メッセージの送信処
理を実行する。
第23図は、このR−PORT53の実行する処理の状態遷移
図を示す。以下に、このR−PORT53の各状態の動作条件
を示す。
〔A状態〕
ソフトウェアからの動作指示待ち状態である。制御レ
ジスタ54のRPODFレジスタに対しての動作モードのライ
トアクセスによりDF1状態に遷移する。
〔DF1状態〕 ディスクリプタフェッチ動作状態である。MSC62及びD
MAC58により、制御レジスタ54のRPDSAレジスタの指定す
るアドレス情報に従って、ローカルストレージユニット
42からデュアルポートRAM61内の論理受信ポート用作業
領域に、ディスクリプタチェーンの1エントリをロード
してRDY状態に遷移する。
ここで、ロードしたエントリのBCビットが分岐を表示
しているときには、DF1状態のままであり、制御レジス
タ54のRPDSAレジスタを分岐アドレスに書き換えてい
く。
〔RDY1状態〕 ロードされたエントリへの最初のメッセージの転送ブ
ロックの受信待ち状態である。PR-PORT56は、受信した
転送ブロックの識別子がF又はSの場合、このRDY1状態
にあるR−PORT53の内の通信モードの一致するR−PORT
を特定して、その特定したR−PORTとの間の論理的接続
を実行する。
この論理的接続が実現されると、そのR−PORTは、デ
ュアルポートRAM16内に設けられる論理受信ポート用の
保留用緩衝バッファに格納された転送ブロックを、ロー
ドされたエントリの指定する論理バッファにストアす
る。
そして、ストア処理の完了後に、受信した転送ブロッ
クの識別子がFのときには、共有システムバス32への応
答送信要求を発行してRDY2状態に遷移するとともに、受
信した転送ブロックの識別子がSのときには、共有シス
テムバス32への応答送信要求を保留してDS状態に遷移す
る。ここで、通信モードがSPCモードの場合であって、
指定された論理バッファに収まらないときにはストア動
作の途中でDS状態に遷移し、このときには、共有システ
ムバス32への応答送信要求も保留する。
〔RDY2状態〕 R−PORT53が既に他の処理モジュール30のS−PORT51
と論理的接続関係を持っていて、次の転送ブロック受信
待ちの状態である。PR-PORT56は、受信した転送ブロッ
クの識別子がMかLの場合、このRDY2状態にあるR−PO
RT53の内から受信すべきR−PORTを特定して、その特定
したR−PORTとの間の論理的接続を実行する。
この論理的接続が実現されると、そのR−PORTは、デ
ュアルポートRAM61内に設けられる論理受信ポート用の
保留用緩衝バッファに格納された転送ブロックを、ロー
ドされたエントリの指定する論理バッファにストアす
る。そして、ストア処理の完了後に、受信した転送ブロ
ックの識別子がMのときには、共有システムバス32への
応答送信要求を発行してRDY2状態に留まるとともに、受
信した転送ブロックの識別子がLのときには、共有シス
テムバス32への応答送信要求を保留してDS状態に遷移す
る。
ここで、通信モードがSPCモードの場合にあって、指
定された論理バッファに収まらないときにはストア動作
の途中でDS状態に遷移することになり、このときには、
共有システムバス32への応答送信要求も保留することに
なる。
〔DS状態〕
ロードされたエントリの処理完了後に、処理状況をエ
ントリに書き込む状態である。エントリのBCT情報フィ
ールドUID情報フィールド等に情報が書き込まれる。更
に、処理エントリを次に移すべく制御レジスタ54のRPDS
Aレジスタを更新(16バイト加算)する。通信モードがA
NYモードの場合には、RDY1状態やRDY2状態で保留した共
有システムバス32への応答送信要求を発行する。
そして、処理の完了したエントリのBCビットによりデ
ィスクリプタの継続が指示されるときに、通信モードが
ANYモードの場合にはDF1状態に遷移し、SPCモードのと
きにはDF2状態に遷移する。一方、BCビットにより継続
が指示されないときにはC状態に遷移する。
〔DF2状態〕 通信モードがSPCモードの場合に、2つ目以降のエン
トリのフェッチを行い、更に必要に応じて、RDY1状態や
RDY2状態で保留した共有システムバス32への応答送信要
求を発行する。その他の動作はDF1状態と同じである。
〔C状態〕
R−PORT53における一連の転送動作が終結した状態で
ある。この状態へは、各状態での各種の異常検出による
異常終結時においても遷移する。例えば、MSC62は、R
−PORT53がRDY2状態にあるときにFブロックのメッセー
ジが転送されてくることを検出すると、R−PORT53をこ
のC状態に遷移させていくのである。ソフトウェアによ
る制御レジスタ54のRPCSTレジスタ(終了情報が書き込
まれている)に対してのフェッチ動作が実行されるとA
状態に遷移する。
なお、接続ユニット43のその他の構成ユニットである
物理送信ポート(PS-PORT)55、物理受信ポート(PR-PO
RT)56、アクセス制御ユニット(BSC)57、メモリアク
セス制御ユニット(DMAC)58、送信制御ユニット(SND
C)59、受信制御ユニット(RCVC)60及び主シーケンス
制御ユニット(MSC)62の構成動作は、実際に使用され
るPM内部バス44や共有システムバス32により異なる。こ
のうちのBSC57及びDMAC58はPM内部バス44に依存し、PS-
PORT55及びPR-PORT56は共有システムバス32に依存し、M
SC62はインプリメントに依存する。
このように、本実施例では、送信側の処理モジュール30
は、SPCモードを指定することで、複数の通信先の処理
モジュール30に対して、大量なメッセージを小さなオー
バーヘッドでもって送信できる。
産業上の利用可能性 以上のように、本発明に係るデータ通信システムのメ
ッセージ制御方式は、疎結合多重処理システムを構成す
る複数の処理モジュール間のメッセージ通信に際して、
送受信側の処理モジュール内のバッファ構成の一致を必
要とせずに、大量なメッセージを小さなオーバーヘッド
で一度に送信できることから、大規模なデータ通信シス
テムに用いるのに適している。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−216651(JP,A) 特開 昭57−8828(JP,A) 特開 昭61−183762(JP,A) 特開 昭55−37642(JP,A) 特開 昭59−178049(JP,A) 特開 昭55−157025(JP,A)

Claims (24)

    (57)【特許請求の範囲】
  1. 【請求項1】中央処理装置(11,41)と、該中央処理装
    置(11,41)のみによりアクセスされるメモリユニット
    (12,42)と、該メモリユニット(12,42)とシステムバ
    ス(20,32)との間のインタフェースをとる接続ユニッ
    ト(13,43)とから構成される処理モジュール(10,30)
    が、該システムバス(20,32)を介して複数個互いに接
    続されたシステム構成を採るデータ通信システムにおい
    て、 前記処理モジュール(10,30)のメモリユニット(12,4
    2)は、 前記中央処理装置(11,41)上で走行するソフトウェア
    であるデータ処理部(14)と、 前記処理モジュール(10,30)間の通信モード、メッセ
    ージの格納領域のアドレス及びデータ長情報をチェーン
    化して管理するディスクリプタ(15)と、 送信するメッセージが分散して格納された前記格納領域
    を構成するバッファ(16)とを有し、 前記処理モジュール(10,30)の接続ユニット(13,43)
    は少なくとも、 前記ディスクリプタ(15)の情報に基づいて前記バッフ
    ァ(16)を順次読み出してメッセージを連続するメッセ
    ージとして前記システムバスを介して送信する送信ポー
    ト(17)と、 自処理モジュール(10,30)宛に前記システムバスを介
    して送信されたきたメッセージを受信し、前記ディスク
    リプタ(15)の情報に基づいて受信メッセージを前記バ
    ッファ(16)に順序よく格納する受信ポート(18)とを
    有する ことを特徴とするデータ通信システムのメッセージ制御
    方式。
  2. 【請求項2】前記データ処理部(14)は、メッセージ送
    信時は前記ディスクリプタ(15)を前記メモリユニット
    (12,42)上に生成すると共に、メッセージの送信先で
    ある受信側の処理モジュール(10,30)に対して通知す
    るメッセージ長情報を生成することを特徴とする請求項
    1記載のメッセージ制御方式。
  3. 【請求項3】前記データ処理部(14)は、メッセージ受
    信時は通知されたメッセージ長情報に基づいて、通知さ
    れたメッセージ長と同じ長さの格納領域を自処理に適合
    した形式で前記メモリユニット(12,42)に展開すると
    共に、前記ディスクリプタ(15)を該メモリユニット
    (12,42)上に生成することを特徴とする請求項1記載
    のメッセージ制御方式。
  4. 【請求項4】前記論理送信ポート(17)は前記ディスク
    リプタ(15)のポイントする順番に従って前記バッファ
    (16)から前記メッセージを読み出すと共に、バッファ
    の使用を指定する識別子を付加して該メッセージと共に
    送信することを特徴とする請求項1記載のメッセージ制
    御方式。
  5. 【請求項5】前記接続ユニット(13,43)は、前記論理
    送信ポート(17,51)及び論理受信ポート(18,53)と、
    メッセージの送信及び受信を夫々制御する物理送信ポー
    ト(55)及び物理受信ポート(56)と、内部バス(44)
    との間のインタフェースを処理するアクセス制御ユニッ
    ト(57)と、前記メモリユニット(12,42)をアクセス
    するメモリアクセス制御ユニット(58)と、前記システ
    ムバス(20,32)との間を送信処理のインタフェースを
    処理する送信制御ユニット(59)と、該システムバス
    (20,32)との間の受信処理のインタフェースを処理す
    る受信制御ユニット(60)と、接続ユニット全体の制御
    を司る主シーケンス制御ユニット(62)と、該主シーケ
    ンス制御ユニット(62)のワークエリアとして使用され
    るメモリ(61)とよりなることを特徴とする請求項1記
    載のメッセージ制御方式。
  6. 【請求項6】前記ディスクリプタ(15)は、前記メモリ
    ユニット(12,42)上のバッファ(16)のアドレス情報
    及びサイズ情報が記述されたエントリが、シーケンシャ
    ル又は分岐する形式に従って前記メモリユニット(12,4
    2)上に配置され、先頭のエントリは前記論理送信ポー
    ト(17)又は論理受信ポート(18)内の制御レジスタに
    セットされるアドレス情報によりポイントされることを
    特徴とする請求項1記載のメッセージ制御方式。
  7. 【請求項7】前記ディスクリプタ(15)の各エントリ
    は、そのエントリの処理終了後の処理方法の指定ビット
    (B,C)と、割り込み指定ビット(D)と、通信モード
    に応じたバッファのサイズ情報(BCT)と、そのエント
    リで扱う前記バッファ(16)の先頭アドレス(BUFA)
    と、送信元又は送信先の処理モジュールのユニット番号
    (UID)とを含むことを特徴とする請求項6記載のメッ
    セージ制御方式。
  8. 【請求項8】前記通信モードは任意の処理モジュールか
    ら前記ディスクリプタ(15)の各エントリの指定するバ
    ッファ上のメッセージを一転送単位をなすメッセージと
    して扱って送信先の処理モジュール(10,30)へ送信す
    る第1のモード(ANY)と、ディスクリプタのチェーン
    に繋がれるエントリの指定するバッファ上のメッセージ
    全体を一転送単位をなすメッセージとして扱い、予め送
    信側処理モジュール(10,30)と受信側処理モジュール
    (10,30)との間で合意をとって送信先の処理モジュー
    ル(10,30)のバッファに直接転送する第2のモード(S
    PECIFIC)とのうち、いずれか一方のモードであること
    を特徴とする請求項7記載のメッセージ制御方式。
  9. 【請求項9】前記データ処理部(14)は、前記メモリユ
    ニット(12,42)に前記ディスリクプタ(15)を配置し
    た後、前記論理送信ポート(17,51)を起動するときは
    該論理送信ポート(17,51)内の制御レジスタに、制御
    を開始する最初のディスクリプタのアドレス情報を書き
    込み、前記論理受信ポート(18,53)を起動するときは
    該論理受信ポート(18,53)内の制御レジスタに、制御
    を開始する最初のディスクリプタのアドレス情報を書き
    込み、前記接続ユニット(13,43)は処理進行中のディ
    スクリプタのエントリのアドレス情報を、送信時は前記
    論理送信ポート(17,51)内の制御レジスタを書き込
    み、受信時は前記論理受信ポート(18,53)内の制御レ
    ジスタに書き込むことを特徴とする請求項1記載のメッ
    セージ制御方式。
  10. 【請求項10】中央処理装置(11,41)と、該中央処理
    装置(11,41)のみによりアクセスされるメモリユニッ
    ト(12,42)と、該メモリユニット(12,42)とシステム
    バス(20,32)との間のインタフェースをとる接続ユニ
    ット(13,43)とから構成される処理モジュール(10,3
    0)が、該システムバス(20,32)を介して複数個互いに
    接続されたシステム構成を採るデータ通信システムにお
    いて、 前記処理モジュール(10,30)のメモリユニット(12,4
    2)は、 前記中央処理装置(11,41)上で走行するソフトウェア
    であるデータ処理部(14)と、 前記処理モジュール(10,30)間の通信モード、メッセ
    ージの格納領域のアドレス及びデータ長情報をチェーン
    化して管理するディスクリプタ(15)と、 送信するメッセージが分散して格納された前記格納領域
    を構成するバッファ(16)とを有し、 前記処理モジュール(10,30)の接続ユニット(13,43)
    は、 前記ディスクリプタ(15)の情報に基づいて前記バッフ
    ァ(16)を順次読み出してメッセージを連続するメッセ
    ージとして送信する送信ポート(17)と、 自処理モジュール(10,30)宛に送信されてきたメッセ
    ージを受信し、前記ディスクリプタ(15)の情報に基づ
    いて受信メッセージを前記バッファ(16)に順序よく格
    納する受信ポート(18)と、 該受信ポート(18)がメッセージの受信を完了するとき
    に、それまで受信したメッセージ量が、送信側の処理モ
    ジュール(10,30)から通知されてきたメッセージ長と
    一致するか否かを検出することにより、受信したメッセ
    ージに対する異常の有無を検出する異常検出手段(19)
    とを有する ことを特徴とするデータ通信システムのメッセージ制御
    方式。
  11. 【請求項11】前記データ処理部(14)は、メッセージ
    送信時は前記ディスクリプタ(15)を前記メモリユニッ
    ト(12,42)上に生成すると共に、メッセージの送信先
    である受信側の処理モジュール(10,30)に対して通知
    するメッセージ長情報を生成することを特徴とする請求
    項10記載のメッセージ制御方式。
  12. 【請求項12】前記データ処理部(14)は、メッセージ
    受信時は通知されたメッセージ長情報に基づいて、通知
    されたメッセージ長と同じ長さの格納領域を自処理に適
    合した形式で前記メモリユニット(12,42)に展開する
    と共に、前記ディスクリプタ(15)を前記メモリユニッ
    ト(12,42)上に生成することを特徴とする請求項10記
    載のメッセージ制御方式。
  13. 【請求項13】前記送信ポート(17)は前記ディスクリ
    プタ(15)のポイントする順番に従って前記バッファ
    (16)から前記メッセージを読み出すと共に、バッファ
    の使用を指定する識別子を付加して該メッセージと共に
    送信することを特徴とする請求項10記載のメッセージ制
    御方式。
  14. 【請求項14】前記接続ユニット(13,43)は、前記送
    信ポート(17,51)及び受信ポート(18,53)と、メッセ
    ージの送信及び受信を夫々制御する物理送信ポート(5
    5)及び物理受信ポート(56)と、内部バス(44)との
    間のインタフェースを処理するアクセス制御ユニット
    (57)と、前記メモリユニット(12,42)をアクセスす
    るメモリアクセス制御ユニット(58)と、前記システム
    バス(20,32)との間の送信処理のインタフェースを処
    理する送信制御ユニット(59)と、該システムバス(2
    0,32)との間の受信処理のインタフェースを処理する受
    信制御ユニット(60)と、接続ユニット全体の制御を司
    る主シーケンス制御ユニット(62)と、該主シーケンス
    制御ユニット(62)のワークエリアとして使用されるメ
    モリ(61)とよりなることを特徴とする請求項10記載の
    メッセージ制御方式。
  15. 【請求項15】前記ディスクリプタ(15)は、前記メモ
    リユニット(12,42)上のバッファ(16)のアドレス情
    報及びサイズ情報が記述されたエントリが、シーケンシ
    ャル又は分岐する形式に従って前記メモリユニット(1
    2,42)上に配置され、先頭のエントリは前記論理送信ポ
    ート(17)又は論理受信ポート(18)内の制御レジスタ
    にセットされるアドレス情報によりポイントされること
    を特徴とする請求項10記載のメッセージ制御方式。
  16. 【請求項16】前記ディスクリプタ(15)の各エントリ
    は、そのエントリの処理終了後の処理方法の指定ビット
    (B,C)と、割り込み指定ビット(D)と、通信モード
    に応じたバッファのサイズ情報(BCT)と、そのエント
    リで扱う前記バッファ(16)の先頭アドレス(BUFA)
    と、送信元又は送信先の処理モジュールのユニット番号
    (UID)とを含むことを特徴とする請求項15記載のメッ
    セージ制御方式。
  17. 【請求項17】前記通信モードは前記ディスクリプタ
    (15)の各エントリの指定するバッファ上のメッセージ
    を一転送単位をなすメッセージとして扱って送信先の処
    理モジュール(10,30)へ送信する第1のモード(ANY)
    と、ディスクリプタのチェーンに繋がれるエントリの指
    定するバッファ上のメッセージ全体を一転送単位をなす
    メッセージとして扱い、予め送信側処理モジュール(1
    0,30)と受信側処理モジュール(10,30)との間で合意
    をとって送信先の処理モジュール(10,30)のバッファ
    に直接転送する第2のモード(SPECIFIC)とのうち、い
    ずれか一方のモードであることを特徴とする請求項16記
    載のメッセージ制御方式。
  18. 【請求項18】前記データ処理部(14)は、前記メモリ
    ユニット(12,42)に前記ディスリクプタ(15)を配置
    した後、前記論理送信ポート(17,51)を起動するとき
    は該論理送信ポート(17,51)内の制御レジスタに、制
    御を開始する最初のディスクリプタのアドレス情報を書
    き込み、前記論理受信ポート(18,53)を起動するとき
    は該論理受信ポート(18,53)内の制御レジスタに、制
    御を開始する最初のディスクリプタのアドレス情報を書
    き込み、前記接続ユニット(13,43)は処理進行中のデ
    ィスクリプタのエントリのアドレス情報を、送信時は前
    記論理送信ポート(17,51)内の制御レジスタに書き込
    み、受信時は前記論理受信ポート(18,53)内の制御レ
    ジスタに書き込むことを特徴とする請求項10記載のメッ
    セージ制御方式。
  19. 【請求項19】前記データ通信システムは疎結合多重処
    理システムであることを特徴とする請求項10記載のメッ
    セージ制御方式。
  20. 【請求項20】中央処理装置(11)と、該中央処理装置
    (11)のみによりアクセスされるメモリユニット(12)
    と、該メモリユニット(12)とシステムバス(20,32)
    との間のインタフェースをとる接続ユニット(13,43)
    から構成される処理モジュール(10,30)が、該システ
    ムバス(20,32)を介して複数個互いに接続されたシス
    テム構成を採るデータ通信システムにおいて、 前記処理モジュール(10,30)のメモリユニット(12,4
    2)は、前記中央処理装置(11,41)上で走行するデータ
    処理部(14)と、 前記通信モジュール(10,30)間の通信モード、メッセ
    ージの格納領域のアドレス及びデータ長情報をチェーン
    化して管理するディスクリプタ(15)と、 送信するメッセージが分解して格納された前記格納領域
    を構成するバッファ(16)とを有し、 前記処理モジュール(10,30)の接続ユニット(13,43)
    は、少なくとも、 前記ディスクリプタ(15)の情報に基づいて全域バッフ
    ァを順次読みだして、メッセージを送信する送信ポート
    (17)を有することを特徴とするデータ通信システムの
    メッセージ制御方式。
  21. 【請求項21】中央処理装置(11,41)と、該中央処理
    装置(11,41)のみによりアクセスされるメモリユニッ
    ト(12,42)と、該メモリユニット(12,42)とシステム
    バス(20,32)との間のインタフェースをとる接続ユニ
    ット(13,43)から構成される処理モジュール(10,30)
    が該システムバス(20,32)を介して複数個互いに接続
    されたシステム構成を採るデータ通信システムにおい
    て、 前記処理モジュール(10,30)のメモリユニット(12,4
    2)は、前記中央処理装置(11,41)上で走行するデータ
    処理部(14)と、 前記処理モジュール(10,30)間の通信モード、メッセ
    ージの格納領域のアドレス及びデータ長情報をチェーン
    化して管理するディスクリプタ(15)と、 受信するメッセージが分解して格納された前記格納領域
    を構成するバッファ(16)とを有し、 前記処理モジュール(10,30)の接続ユニット(13,43)
    は、少なくとも、 前記処理モジュール(10,30)宛に送信されてきたメッ
    セージを受信し、前記ディスクリプタ(15)の情報に基
    づいて受信メッセージを前記バッファに格納する受信ポ
    ート(18)を有することを特徴とするデータ通信システ
    ムのメッセージ制御方式。
  22. 【請求項22】中央処理装置(11)と、該中央処理装置
    (11)のみによりアクセスされるメモリユニット(12)
    と、該メモリユニット(12)とシステムバス(20,32)
    との間のインタフェースをとる接続ユニット(13,43)
    から構成される処理モジュール(10,30)が、該システ
    ムバス(20,32)を介して複数個互いに接続されたシス
    テム構成を採るデータ通信システムにおいて、 前記処理モジュール(10,30)のメモリユニット(12,4
    2)は、前記中央処理装置(11,41)上で走行するデータ
    処理部(14)と、 前記処理モジュール(10,30)間の通信モード、メッセ
    ージの格納領域のアドレス及びデータ長情報をチェーン
    化して管理するディスクリプタ(15)と、 送信するメッセージが分解して格納された前記格納領域
    を構成し、又は受信されるメッセージが分解して格納さ
    れる前記格納領域を構成するバッファ(16)とを有し、 送信側の処理モジュール(10,30)の接続ユニット(13,
    43)は、少なくとも、前記ディスクリプタの情報に基づ
    いて全域バッファを順次読みだして、メッセージを送信
    する送信ポート(17)を有し、 受信側の処理モジュール(10,30)の接続ユニット(13,
    43)は、少なくとも、前記自処理モジュール(10,30)
    宛に送信されてきたメッセージを受信し、前記ディスク
    リプタの情報に基づいて受信メッセージを前記バッファ
    に格納する受信ポート(18)を有することを特徴とする
    データ通信システムのメッセージ制御方式。
  23. 【請求項23】前記ディスクリプタ(15)は、受信側、
    送信側の処理モジュールにそれぞれ設けられることを特
    徴とする請求項22記載のメッセージ制御方式。
  24. 【請求項24】前記ディスクリプタ(15)は、受信側、
    送信側の処理モジュールで情報が異なることを特徴とす
    る請求項23記載のメッセージ制御方式。
JP51581491A 1990-09-28 1991-09-27 デ―タ通信システムのメッセ―ジ制御方式 Expired - Lifetime JP2512848B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP51581491A JP2512848B2 (ja) 1990-09-28 1991-09-27 デ―タ通信システムのメッセ―ジ制御方式

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-259391 1990-09-28
JP25939190 1990-09-28
JP51581491A JP2512848B2 (ja) 1990-09-28 1991-09-27 デ―タ通信システムのメッセ―ジ制御方式

Publications (1)

Publication Number Publication Date
JP2512848B2 true JP2512848B2 (ja) 1996-07-03

Family

ID=26544112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51581491A Expired - Lifetime JP2512848B2 (ja) 1990-09-28 1991-09-27 デ―タ通信システムのメッセ―ジ制御方式

Country Status (1)

Country Link
JP (1) JP2512848B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579488A (zh) * 2020-12-05 2021-03-30 西安翔腾微电子科技有限公司 一种支持动态缓冲区分配的消息存储电路及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5537642A (en) * 1978-09-08 1980-03-15 Fujitsu Ltd Inter-processor communication system
JPS55157025A (en) * 1979-05-25 1980-12-06 Omron Tateisi Electronics Co Data transfer system
JPS578828A (en) * 1980-06-18 1982-01-18 Fujitsu Ltd Communication system between computer systems
JPS59178049A (ja) * 1983-03-28 1984-10-09 Fujitsu Ltd デ−タ転送制御方式
JPS61183762A (ja) * 1985-02-08 1986-08-16 Fujitsu Ltd システム間通信方式
JPH01216651A (ja) * 1988-02-24 1989-08-30 Fujitsu Ltd メッセージ通信方式

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5537642A (en) * 1978-09-08 1980-03-15 Fujitsu Ltd Inter-processor communication system
JPS55157025A (en) * 1979-05-25 1980-12-06 Omron Tateisi Electronics Co Data transfer system
JPS578828A (en) * 1980-06-18 1982-01-18 Fujitsu Ltd Communication system between computer systems
JPS59178049A (ja) * 1983-03-28 1984-10-09 Fujitsu Ltd デ−タ転送制御方式
JPS61183762A (ja) * 1985-02-08 1986-08-16 Fujitsu Ltd システム間通信方式
JPH01216651A (ja) * 1988-02-24 1989-08-30 Fujitsu Ltd メッセージ通信方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579488A (zh) * 2020-12-05 2021-03-30 西安翔腾微电子科技有限公司 一种支持动态缓冲区分配的消息存储电路及方法
CN112579488B (zh) * 2020-12-05 2023-02-24 西安翔腾微电子科技有限公司 一种支持动态缓冲区分配的消息存储电路及方法

Similar Documents

Publication Publication Date Title
US5410650A (en) Message control system for data communication system
JP2802043B2 (ja) クロック故障検出回路
JP3645281B2 (ja) 共用メモリを有するマルチプロセッサ・システム
US5963976A (en) System for configuring a duplex shared storage
KR101951072B1 (ko) 코어 간 통신 장치 및 방법
JPH0642236B2 (ja) コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置
JPH1049507A (ja) 並列計算機
JPH0775016B2 (ja) データ処理システム及びデータ通信バス・システム
JPH07281976A (ja) パケットfifoを管理する方法
EP0504414B1 (en) Message control system in a data communication system
CN101027634A (zh) 数据传送机制
US5592624A (en) Data communication for controlling message transmission and reception among processing modules using information stored in descriptor to form a loosely coupled multiprocessing system
JP2512848B2 (ja) デ―タ通信システムのメッセ―ジ制御方式
JP2512847B2 (ja) デ―タ通信システムのメッセ―ジ制御方式
JPS61131060A (ja) ネツトワーク制御システム
JP2512849B2 (ja) デ―タ通信システムのメッセ―ジ制御方式
JPH1069470A (ja) マルチプロセッサシステム
JP3141948B2 (ja) 計算機システム
JPS5833970B2 (ja) プロセッサ間通信方式
JP2000244585A (ja) バスインタフェース回路
JP2000347712A (ja) プログラマブルコントローラ
JPH05324571A (ja) システムバス接続ユニット
JPH05175980A (ja) 系間交絡通信制御方式
JPH10320351A (ja) バッファ方式
JPH04291896A (ja) 産業プラントデータ分配装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080430

Year of fee payment: 12

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 13

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 13

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100430

Year of fee payment: 14

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110430

Year of fee payment: 15

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110430

Year of fee payment: 15

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120430

Year of fee payment: 16