(57)【特許請求の範囲】
【請求項１】
−  バスと、
−  各々がこのバスを通じて各要求パケットを発することができる、前記バスに結合した要求ステーションと、
−  各要求パケットを受信するために前記バスに結合され、前記要求パケットの各々の受信に応じて各コマンドを実行し、各コマンドが状態の共通アスペクトを変更し、その共通アスペクトに関する情報を保持する実行ステーションとを具え、
前記要求ステーションが前記共通アスペクトに関する情報から読出し動作を行うことができる、通信バスシステムにおいて、
前記共通アスペクトに関する情報が、前記要求ステーションの少なくとも二つの相違するものからの各要求パケットに応答して最後に実行された各コマンドの実行に関する要求ステーションの少なくとも二つの相違するものに関する情報を同時に有することを特徴とする通信バスシステム。
【請求項２】
前記要求ステーションが前記実行ステーションに各読出しパケットを発することができ、各読出しパケットが、前記読出しパケットに送信された特定の要求ステーションを識別する情報を有し、前記実行ステーションが、
−  前記特定の要求ステーションからの要求パケットに応答して最後に実行したコマンドの実行に関する情報を選択し、
−  選択した情報を用いて状態パケットを構成し、
−  前記状態パケットを戻すことによって前記読出しパケットに応答するようにしたことを特徴とする請求の範囲１記載の通信バスシステム。
【請求項３】
前記実行ステーションが、特定の要求ステーションからの各要求の後のものに応答して実行されるコマンドの実行に関する情報とともに、前記特定の要求ステーションからの各要求パケットの以前のものに応答して実行されるコマンドの実行に関する情報を上書きするようにしたことを特徴とする請求の範囲１記載の通信バスシステム。
【請求項４】
各コマンドの実行に関する情報が、要求ステーションの少なくとも二つの相違するものの一つにそれぞれ対応する情報のビットを有し、前記実行ステーションが、対応する要求ステーションからの要求パケットに応答してコマンドを連続的に実行する際にビットを設定するようにしたことを特徴とする請求の範囲１記載の通信バスシステム。
【請求項５】
前記コマンドがレジスタの内容を変更し、前記情報のビットを、前記内容が対応する要求ステーションによって読み出されたときにリセットするようにしたことを特徴とする請求の範囲４記載の通信バスシステム。
【請求項６】
前記実行ステーションが複数の相違するタイプのコマンドを実行することができ、各タイプのコマンドが前記実行ステーションの状態のそれ自体のアスペクトを変更し、各要求ステーションが複数のタイプの要求パケットを発することができ、各タイプの要求パケットが複数のタイプのコマンドの各々の実行を要求し、実行ステーションが、特定の要求パケットの受信に応じてその特定の要求パケットによって要求したタイプのコマンドを実行し、前記応答ステーションが、前記要求ステーションの少なくとも二つの相違するものからの各要求パケットに応答して最後に実行したタイプの各コマンドの実行に関するコマンドの各タイプに対するコマンド実行情報を同時に保持するようにしたことを特徴とする請求の範囲１記載の通信バスシステム。
【請求項７】
バスに接続され、前記バスを介して相違する要求ステーションから各要求パケットを受信するために配置され、各要求パケットの受信に応じて各コマンドを実行し、各コマンドが前記実行ステーションの状態の共通アスペクトを変更し、その共通アスペクトに関する情報を保持し、前記要求ステーションが前記共通アスペクトに関する情報から読出し動作を行うことができる、実行ステーションにおいて、
前記共通アスペクトに関する情報が、前記要求ステーションの少なくとも二つの相違するものからの各要求パケットに応答して最後に実行された各コマンドの実行に関する要求ステーションの少なくとも二つの相違するものに関する情報を同時に有することを特徴とする実行ステーション。
【請求項８】
前記要求ステーションが前記実行ステーションに各読出しパケットを発することができ、各読出しパケットが、前記読出しパケットに送信された特定の要求ステーションを識別する情報を有し、前記実行ステーションが、
−  前記特定の要求ステーションからの要求パケットに応答して最後に実行したコマンドの実行に関する情報を選択し、
−  選択した情報を用いて状態パケットを構成し、
−  前記状態パケットを戻すことによって前記読出しパケットに応答するようにしたことを特徴とする請求の範囲７記載の実行ステーション。
【請求項９】
前記実行ステーションが、特定の要求ステーションからの各要求の後のものに応答して実行されるコマンドの実行に関する情報とともに、前記特定の要求ステーションからの各要求パケットの以前のものに応答して実行されるコマンドの実行に関する情報を上書きするようにしたことを特徴とする請求の範囲７記載の実行ステーション。
【請求項１０】
各コマンドの実行に関する情報が、要求ステーションの少なくとも二つの相違するものの一つにそれぞれ対応する情報のビットを有し、前記実行ステーションが、対応する要求ステーションからの要求パケットに応答してコマンドを連続的に実行する際にビットを設定するようにしたことを特徴とする請求の範囲７記載の実行ステーション。
【発明の詳細な説明】
本発明は、請求の範囲１の冒頭部による通信バスシステムに関するものである。
また、本発明は、このような通信バスシステムに用いられる実行ステーションに関するものである。
ＩＥＥＥ１３９４バスシステムは、テレビジョン受像機やビデオレコーダのようなステーションに接続するのに適用することができる（１３９４システムと称される）通信バスシステムである。ＩＥＥＥ１３９４規格の第８章は、実行ステーションが複数の制御状態レジスタ（ＣＳＲ）を有することが記載されている。これらＣＳＲの複数の内容は、複数の要求ステーションの全てからの要求パケットに応答して変更されるおそれがある。
誤りを防止するために、要求パケットを送信する要求ステーションは、コマンドの繰り返される実行の影響が単一命令のものと異なる場合（例えば、「テレビジョン番組番号の増大」命令又は「容量リザーブ」命令の場合）特に、コマンドが実際に実行されたか否かを信頼性を持って決定することができるようにする必要がある。実行ステーションが、コマンドの実行によって影響を及ぼされるとともに要求ステーションからのコマンドによって読み出すことができる状態レジスタを有する場合、原理的には、状態レジスタの内容を確認することによってコマンドが実行されたか否かを決定することができる。しかしながら、実行を検出するための状態レジスタの内容の確認は、同一の状態レジスタに影響を及ぼすコマンドを用いて要求パケットを送信することができる一つ以上の要求ステーションをバスシステムが有するときには信頼性を持って行われない。
１３９４において、コマンドの実行後実行ステーションは、どのコマンドが実行されたかに応じて要求パケットを発した要求ステーションに応答パケットを戻す。これによって、要求ステーションは、コマンドが実行されたか否か決定することができるが、要求ステーションが応答パケットを受信し損なうとそれは有効に作動しない。
本発明の目的は、コマンドが実際に実行されたか否かを決定するより信頼性のあるやり方を提供することである。
本発明によれば、本発明による通信バスシステムは請求の範囲１の特徴部に記載されたことを特徴とするものである。コマンド実行情報を読み出すことによって、特定の要求ステーションの各々は、それによって要求されたコマンドが実行されたか否かを確認することができる。他の要求ステーションによって要求されたコマンドの後の実行は、特定の要求ステーションに対するコマンド実行情報に影響を及ぼさず、したがって、確認の信頼性に影響を及ぼさない。
本発明による通信バスシステムは、請求の範囲６に記載されたような例を有する。本例では、特定の要求ステーションは、相違するタイプの命令の実行を要求する複数の要求パケットを発することができ、かつ、対応するコマンドが全ての要求パケットを発した後に実行されるか否か確認することができる。これは、確認を中断することなく論理的な動作として要求パケットを次々と迅速に発することができることを意味する。１３９４システムにおいて、各タイプのコマンドは例えば、相違するタイプのＣＳＲに影響を及ぼし、通信バスシステムは、特定の要求ステーションが要求したＣＳＲの各々の最後に実行した変更についての特定の要求ステーションの各々に対する情報を保持する。
コマンド実行情報の複数の形態を記憶することができる。要求ステーションが各パケットの各パケット識別を有する場合、記憶されたコマンド実行情報はそのパケット識別を有することができる。これによって、任意のときに任意のコマンドの実行のチェックを行うことができる。記憶されたコマンド実行情報は、コマンドの実行直後の実行ステーション、すなわち、実行によって生じた結果の状態についての情報を有することができる。これによって、要求ステーションは、例えば、実行ステーションからの一般的な応答よりも詳しい任意の所望の量の詳細中のコマンドの実行を分析することができる。このような任意の実行情報を、実行ステーションによって受信した要求パケットの全てに対して、すなわち、コマンドを最近実行した予め設定された数の要求パケットに対して記憶したままにすることができる。したがって、以前のコマンドも分析することができる。
コマンド実行情報を複数の方法で記憶することができる。予め設定された記憶領域の各々を、各要求ステーションに対して実行ステーションに割り当てることができる。コマンドを特定の要求ステーションからの要求パケットに応答して実行する場合、実行ステーションは、その実行に対するコマンド実行情報を用いてその特定の要求ステーションに割り当てられた記憶領域にコマンド実行情報を上書きすることができる。したがって、記憶領域は常に、特定のステーションに対して最近実行されたコマンドのコマンド実行情報（すなわち、任意の要求パケットを受信する前に実行ステーションによって記憶された初期化情報）を有する。特定のステーションの各々に割り当てられた記憶領域を、相違するタイプのコマンドに対する記憶副領域に細分することができ、実行ステーションは、コマンドが実行された記憶副領域のみを上書きする。
好適例において、コマンドタイプごとの１論理ビットのみ各要求ステーションに対して記憶される。実行ステーションが特定の要求ステーションから受信した要求パケットに応答してコマンドを連続的に実行する場合、実行ステーションは、特定の要求ステーション（と、１タイプ以上のコマンドが記録される場合のコマンドのタイプ）に対して論理ビットをセットする。この場合、実行ステーションは、好適には特定の要求ステーションからの信号に応答して論理ビットをリセットすることができるようにする必要もある。１３９４システムにおいて、この信号を、例えば、変更が論理ビットによって記録されるＣＳＲを特定の要求ステーションが読み出すときに発生させることができる。
コマンド実行情報の読出しを、好適にはバス相互接続を通じて要求ステーションから実行ステーションに伝送される読出しパケットによってトリガされる。この読出しパケットに応答して、実行ステーションは、どの要求ステーションから読出しパケットを発したかを決定し、その要求ステーションに対して記憶された命令実行情報を読み出し、コマンド制御情報の制御下で得られた状態パケットを相互接続バスを通じて要求ステーションに送信する。
好適には、コマンド実行情報の記憶を、実行ユニットによる応答パケットの送信に組み合わせる。これによって、応答を受信しない場合にコマンドの重要な実行上でチェックするオプションを要求ステーションに付与する。
本発明のこれら及び他の好適な態様を、本発明による通信バスシステムを示す図１を用いて説明するが、本発明はこれに限定されるものではない。
図１は、本発明による通信バスシステムを示す。この通信バスシステムは、実行ステーションＢと、要求ステーションＡと、相互接続バス１２とを有する。実行ステーションＢは、パケット受信／インタプリタユニット１０２と、コマンド実行ユニット１０４と、コマンド実行情報メモリ１０６と、パケット発生／送信ユニット１０８とを有する。
通信バスシステムは、例えば、ＩＥＥＥ  １３９４規格によって指定されたプロトコルを用いる。ＩＥＥＥ−１３９４高速順次バスはトランザクション機構を用い、この機構によって、バス１２上の任意の装置（ステーション）Ａ，Ｂ，１４は、他の任意のステーションＡ，Ｂ，１４の任意のアクセス可能な記憶位置すなわち制御及び状態レジスタ（ＣＳＲ）に対する読出し、書込み又は原子的な読出し−修正−書込み動作を実行することかできる。ＣＲＳがマップされたメモリであるので、１３９４ではＣＲＳとメモリとの間の区別がない。
ステーションＡがステーションＢに対するトランザクションを実行するようにするために、代表的な順序では、ステーションＡが要求パケットをステーションＢに送信し、Ｂが、受信認識を送り返し、（しばらくしてから）呼び出されたファンクションを実行し、ファンクション結果すなわち実行についてのある状態を有する認識パケットを送信し、その後、Ａは、認識パケットに対する受信認識をＢに送り返す。
要求及び認識パケットは、送信側（要求におけるＡ、認識におけるＢ）、宛先の受信側（要求におけるＢ、認識におけるＡ）、ＡからＢへのこのトランザクションに対するシーケンス番号及びデータ（ファンクション、結果、状態等）の識別を有する。これらパケットもＣＲＣ誤り検出コードによって保護され、受信側がパケットの変形を検出することができる。
認識パケットは、上記ラベル、状態情報及び非常に簡単な誤り検出コードのうちの任意のものを有しない。
パケット（要求／応答／認識）が何らかの理由で変形し又はバス上で消失した場合にＣＲＳが変更されるというトランザクションに関する問題が発見された。この問題によって、要求側（Ａ）及び応答側（Ｂ）に対してＣＲＳの状態（及びその副作用）についての情報が一致しなくなる。
例１：
ステーションＢは、等時性データ伝送に対して利用できる帯域幅を表す大域バスリソースを維持する。ステーションＡが、この帯域幅の一部を割り当てることを所望し、いわゆる比較−スワップロックファンクションを有するＢに対して要求パケットを送信し、これは、利用できる帯域幅の量を呼び出された量まで減少させることを試みる。ＢがＡに送り返す応答パケットは、割当てが成功したか否か、したがってＡが現在帯域幅を所有し、それを使用しているか否かを表す。要求が誤りなしでＢに到達し、これが実行され及び成功した（帯域幅をＡに対して割り当てた）と仮定する。応答パケットはＡに送り返されるが、Ｂによるあり得る再送信後でもそれを受信しない。Ａは、それが許可された帯域幅であるか否かを知らず、それを割当て解除しない。呼び出された量は、等時性データに対してもはや利用できないだけである。
例２：
ステーションＢを、書き込まれたときに次の番組を選択するＣＲＳを実現するテレビジョン受像機とする。Ａが書込みトランザクションをＢに送信して次の番組に切り替えるがコマンドが実際に実行されたか否かを知ることができない場合、何か誤りがあったと仮定するとコマンドを再試行することを決定するおそれがある。ＴＶステーションＢが「チャネルアップ」ファンクションを２度実行して誤った番組を表示するおそれがある。
ＣＳＲを変更しないとともに他の任意の副作用を有しないトランザクションは、何か誤りがあったことを要求側が気づくとトランザクションを安全に再試行することができるので、この問題を被らない。ＣＲＳを変更し、及び／又は、副作用を有するトランザクションによって、単一装置に対する不所望な結果を生じたり（例２）、バス全体に対する誤動作が生じる（例１）おそれがある。
要求の結果を知るための要求側の唯一の方法が応答に受信することであるという事実によって主に問題が生じる。応答が消失すると、応答するステーションから後に情報を検索する方法がない。変更したと仮定されたＣＳＲを読み出すことは解決にはならない。その理由は、他のステーションがその間にＣＳＲを変更するおそれがあり、すなわち、それを読み出すことは、不所望な副作用を有するおそれがあるからである。
ネットワーク上の誤りの結果、以下の「状態」がトランザクション後に存在する。
Ｓ１：トランザクションが実行され、要求側がそれを知る。
Ｓ２：トランザクションが実行されず、要求側がそれを知る。
Ｓ３：トランザクションが実行されるが、要求側がそれを知らない。
Ｓ４：トランザクションが実行されないが、要求側がそれを知らない。
用語「実行」は、ここではＣＳＲ値が変更したか否かに関係なくトランザクションに対応するファンクションを実行したことを意味する。
要求側にとってＳ３とＳ４とは区別することができない。要求側は単に要求が実行されたか否かを知らない。トランザクションがＣＳＲ値の変化が生じうるタイプのものである場合又はトランザクションが他の任意の副作用を有する場合、これらは問題のあるケースである。Ｓ１及びＳ２は要求側によって直接処理することかでき、問題を生じ得ない。
この問題の解決は以下の概念である。
上記問題から保護する必要があるＣＳＲを実現する任意の実行ステーションは、好適には任意の外部ステーションから（連続的であるかどうかに関係なく）受信され及び実行されるトランザクションの結果すなわち状態を記憶し、その結果、それらをそのステーションによって後に検索することができる。このために、実行ステーション１０はコマンド情報メモリ１０６を有する。動作中、パケット受信／インタプリタユニット１０２は、バス１２からパケットを受信し、これらパケットを以下のようにして解釈する。先ず、パケット受信／実行ユニット１０２は、パケットが実行ステーション１０を宛先受信側として指定したか否か決定する。指定した場合、パケット受信／実行ユニット１０２は、どのコマンドを実行する必要があるかを決定するパケットから情報を抽出し、この情報をコマンド実行ユニット１０４に供給し、このコマンド実行ユニット１０４はコマンドを実行する。実行の結果は、コマンド実行情報メモリ１０６に出力され、パケット受信／実行ユニット１０２がコマンドを実行したことを信号送信するとそこに記憶される。
実行ステーション１０は、好適には任意の要求ステーションによる読出し要求トランザクションによってアクセスすることができるＣＳＲスペースに誤り状態レジスタ（ＥＳＲ）を規定し、コマンド実行情報メモリ１０６中の情報にアクセスする。したがって、このようなステーションは、以前に要求されたトランザクションの（一つの）状態を読み出すことができる。ＥＳＲそれ自体を読み出すことは副作用がない。要求ステーションの状態を、書込み要求トランザクションを用いて（書き込まれたデータに関係なく）ＥＳＲに対して要求ステーションが書込み動作を行うことによってクリアにすることができる。要求ステーションは、この機構を用いてそれ自体の（一つ以上の）トランザクションについての状態情報のみをクリアすることができる。
１３９４システムにおいて、各要求が要求ステーションの識別子を有することによって、このようなトランザクションの応答側（及び実行側）は、独自にトランザクションを識別するラベル（すなわち、要求ステーションのアドレスラベル及びトランザクションシーケンス番号）とともに状態情報を記録することができる。この情報を応答パケットに戻すこともできる。
既に説明したＳ３とＳ４との間の区別は、応答ステーションで利用することができ、これら状態の一つで終了する場合に要求側によって後に検索するために覚えられる。
バス上の全てのステーションがある特定のステーションの単一ＣＳＲに対して独立してトランザクションを発するので、そのステーションは、各ステーションに対するトランザクションの状態を覚える必要がある。ステーションが後にＥＳＲを読み出す場合、それは、他のステーションによって要求されたトランザクションではなく、それ自体のトランザクションに対する状態のみを得る。
実施例
Ａ．状態の記憶（どれだけ記憶するか）
Ａ１．最も一般的な実現において、ステーションは、全てのステーションの全ての独自に識別できるトランザクションを覚える。ＩＥＥＥ１３９４において、ステーションアドレスを１６ビットとし、トランザクションシーケンス番号を６ビットとする。これによって、２＾２２状態値を記憶する必要がある最悪の場合となる。
Ａ２．このような記憶ファシリティを実際に実現する必要はない。予測されるよりも少ない（目安：非常に高い最終実現に対して数千まで）実際のトランザクションに対するデータのみを記憶すればよい。
Ａ３．より簡単な記憶方法では、ステーションごとに実行されるＬＡＳＴトランザクションの状態を記憶し、ブリッジを介して接続した他のステーションに対してではなくローカルバス上のステーションに対してのみこれをサポートする。これによって、最大でも６２ロケーションまで記憶の要求を減少させる。
Ｂ．状態の表示（何を記憶するか）
Ｂ１．最も一般的な実現は、トランザクションの全結果状態を記憶する。すなわち、元の要求パケットを受信した場合、次のイベント、すなわち、実行の有無、実行しない理由、応答パケット搬送中の誤り等についての情報が利用できる。ＩＥＥＥ１３９４に対して、要求側に対するパケットに応答して搬送しようとした元の応答コードを、決定を行うために要求側に対して十分な任意の追加の情報、例えば、（コードに応答する図示しない）ロックトランザクション中に変更したＣＳＲ又は実行されたＣＳＲ上の要求の副作用とともに記録すれば十分である。
Ｂ２．より簡単な実現は、応答パケット（既に説明したようなＳ３又はＳ４）を戻し始めるときに応答側の概念状態についての情報のみを記録することによって十分なものとなることができ、それ以外は何ら必要がない。これは、トランザクションごとに１ビットの記憶を要するだけである。特に、オプションＡ３と組み合わせると要求は最小になる。しかしながら、トランザクションを独自に識別する元のラベルが覚えられていないので、ステーションＸに対して現在覚えた状態がステーションＸの最後に送信した要求パケットに属するか否か明らかではない（そのパケットを消失した場合、状態はステーションＸからの以前に受信した要求の結果を反映する。）。この実現に際し、（既にその状態でない場合のみ）安全でない新たなトランザクションを試みる前に誤り状態を（概念状態Ｓ４に対応する）安全な値にクリアする必要がある。最小オーバーヘッドでこれを行う方法は、保護されたＣＳＲ上の副作用なく任意のトランザクションによってＳ４に対する記録された状態の変化を生じさせるように規定することであり、これは、「最後に受信したトランザクションに起因する副作用がない」ものと解釈される。ＩＥＥＥ１３９４において、読出しトランザクションは典型的には副作用を有しない。同時に、それは、比較−スワップロックトランザクションに必要なデータ値の一つを得る標準的な方法である。これによって、この機構を、この種のＣＳＲを保護するためにＩＥＥＥ１３９４で実現するのに非常に適切なものにする。
Ｃ．状態へのアクセス（それを利用できるようにする方法）
状態を利用できるようにする実現は任意の形態をとることができるが、規格化する（アクセスの方法、情報を戻すフォーマット及び可能な場合には各ＥＳＲに関連するステーションオフセットアドレス）必要がある。
Ｃ１．最も普遍的な解決は、任意のステーションが誤り状態レジスタ（ＥＳＲ）と称する特に導入された新たな状態レジスタ上で（副作用なく）読出しトランザクションを用いて（それ自体又は他の）任意のステーションのトランザクション状態を検索することができる場合であり、このレジスタそれ自体を、ＩＥＥＥ１２１２及びＩＥＥＥ１３９４アーキテクチャで規定したようなＣＳＲとする。読出しトランザクションのデータを、所望の状態にアクセスするための記憶装置のインデックスとして用いる必要がある。これは、現在の１３９４トランザクションでは容易に実現することができない。
Ｃ２．Ｃ１が不必要に複雑であるので、任意のステーションがそれ自体のトランザクションの結果にアクセスできるだけの場合の解決を探るのが良好である。ＥＳＲ上で読出しトランザクションを実行することによって、応答側は、トランザクションパケットの送信側（要求側）のステーションアドレスを用いて、適切な状態値を選択するとともにそれを読出し応答として戻すことができる。
ＥＳＲがアドレスの範囲を占有しない場合、状態を戻す必要がある以前からのトランザクションについての情報を読出しトランザクションパケットに含めることができず、アドレスはインデックスとして用いられる。これは、各々が一つの他のＣＳＲ（アドレス）を保護する複数のＥＳＲが存在するおそれがあるので好ましくない。オプションは（６３までの）以前の全てのトランザクションに対する状態を戻すことであり、要求側に適切なものを選択させる。
Ｃ３．Ａ３と組み合わせて更に簡単にすることができる。最後のトランザクションの状態のみが記憶される場合、Ｃ２で説明した問題が回避され、単一アドレスＥＳＲで十分である。この場合、パケットサイズ及びオーバーヘッドが最小になる。
Ｃ４．Ｂ２及びＡ３と組み合わせて、６３ビットレジスタとしてのＥＳＲの実現が非常に簡単になり、この場合、ビットｋは、ローカルステーシヨンｋによって実行された最終トランザクションの状態を表す。論理０を、「副作用なし／不実行」を表すのに用いることができ、論理１を、「ＣＳＲ変更／副作用」を表すのに用いることができる。これは、最も簡単であり、実現に際して最も選択しうる候補となりうる。
0003793238.tif 000002