(57)【特許請求の範囲】
【請求項１】
受信データを処理する受信データ処理方法において、
ａ．任意のチャンネル番号を有するチャンネルを介してデータを受信するステップと、
ｂ．上記データを受信したチャンネル番号を、格納チャンネル番号に対応するチャンネルを介して受信されるデータを処理するための一連の命令の開始アドレスを指定する対応するアドレス値を有する複数のメモリ位置内に格納されているチャンネル番号と比較するステップと、
ｃ．上記データを受信したチャンネル番号が上記格納チャンネル番号の１つと一致したとき、該チャンネル番号に対応するアドレス値を出力するステップと、
ｄ．上記格納チャンネル番号のいずれも上記データを受信したチャンネル番号と一致しないとき、デフォルトプログラム命令のプログラム位置を示すデフォルトのアドレス値を出力するステップとを有する受信データ処理方法。
【請求項２】
ａ．データを受信するチャンネル番号を割り当てるステップと、
ｂ．複数のメモリ位置のうちの１つに上記割り当てられたチャンネル番号と対応する割り当てられたアドレス値とをプログラミングし、上記格納チャンネル番号及び対応するアドレス値を形成するステップとを有する請求項１記載の受信データ処理方法。
【請求項３】
上記デフォルトのアドレス値は、上記チャンネル番号を介して受信されるデータを処理するための一連のデフォルト命令の開始アドレスを指定するデフォルト開始アドレスを示すことを特徴とする請求項２記載の受信データ処理方法。
【請求項４】
上記メモリ位置は、レジスタ内の位置であることを特徴とする請求項３記載の受信データ処理方法。
【請求項５】
プログラミングされたメモリ位置内に、有効ビットが有効となるようにプログラミングするステップを有する請求項４記載の受信データ処理方法。
【請求項６】
上記データは、アイソクロノスデータであることを特徴とする請求項５記載の受信データ処理方法。
【請求項７】
受信データを処理する受信データ処理装置において、
ａ．格納チャンネル番号を格納するチャンネル番号フィールドと、格納アドレス値を格納する命令ポインタフィールドとを有する複数の記憶位置と、
ｂ．上記複数の記憶位置に接続され、データが受信された受信チャンネル番号が供給され、上記格納チャンネル番号と受信チャンネル番号とを比較し、該格納チャンネル番号の１つと受信チャンネル番号とが一致するか否かを判定する比較回路と、
ｃ．上記比較回路及び複数の記憶位置に接続され、上記受信チャンネル番号に一致する格納チャンネル番号を有する記憶位置内の格納アドレス値を出力アドレス値として出力する出力回路と、
上記出力回路に接続され、上記出力アドレス値を受信する処理装置とを備え、
上記出力アドレス値は、該処理装置が上記受信チャンネルを介して受信されるデータを処理するために使用する一連の命令の開始位置を示すことを特徴とするデータ処理装置。
【請求項８】
上記出力回路に接続され、上記格納チャンネル番号のいずれも上記受信チャンネル番号と一致しなかった場合に出力アドレス値として出力されるデフォルトプログラム命令のプログラム位置を示すデフォルトアドレス値を格納するデフォルト記憶位置を備える請求項７記載のデータ処理装置。
【請求項９】
上記記憶位置は、該記憶位置を有効にする有効ビットを備えることを特徴とする請求項８記載のデータ処理装置。
【請求項１０】
上記記憶位置は、プログラミング可能であることを特徴とする請求項９記載のデータ処理装置。
【請求項１１】
上記複数の記憶位置に接続され、上記格納チャンネル番号及び格納アドレス値をプログラミングするホスト装置を備える請求項１０記載のデータ処理装置。
【請求項１２】
上記ホスト装置は、上記記憶位置においてチャンネル番号をプログラミングすると、該記憶位置の有効ビットを有効を示すように設定することを特徴とする請求項１１記載のデータ処理装置。
【請求項１３】
上記データは、アイソクロノスデータであることを特徴とする請求項７記載のデータ処理装置。
【請求項１４】
受信データを処理する受信データ処理装置において、
ａ．格納チャンネル番号を格納するチャンネル番号フィールドと、格納アドレス値を格納する命令ポインタフィールドとを有する複数の記憶位置を含む格納手段と、
ｂ．上記格納手段に接続され、データが受信された受信チャンネル番号が供給され、上記格納チャンネル番号と受信チャンネル番号とを比較し、該格納チャンネル番号の１つと受信チャンネル番号とが一致するか否かを判定する比較手段と、
ｃ．上記比較手段及び格納手段に接続され、上記受信チャンネル番号に一致する格納チャンネル番号を有する記憶位置内の格納アドレス値を出力アドレス値として出力する出力手段と、
上記出力手段に接続され、上記出力アドレス値を受信する処理装置をと備え、
上記該出力アドレス値は、該処理装置が上記受信チャンネルを介して受信されるデータを処理するために使用する一連の命令の開始位置を示すことを特徴とするデータ処理装置。
【請求項１５】
上記比較手段に接続され、上記格納チャンネル番号のいずれも上記受信チャンネル番号と一致しなかった場合に出力アドレス値として出力されるデフォルトプログラム命令のプログラム位置を示すデフォルトアドレス値を格納するデフォルト記憶位置を備える請求項１４記載のデータ処理装置。
【請求項１６】
上記記憶位置は、該記憶位置を有効にする有効ビットを備えることを特徴とする請求項１５記載のデータ処理装置。
【請求項１７】
上記記憶位置は、プログラミング可能であることを特徴とする請求項１６記載のデータ処理装置。
【請求項１８】
上記複数の記憶位置に接続され、上記格納チャンネル番号及び格納アドレス値をプログラミングするホスト装置を備える請求項１７記載のデータ処理装置。
【請求項１９】
上記ホスト装置は、上記記憶位置においてチャンネル番号をプログラミングすると、該記憶位置の有効ビットを有効を示すように設定することを特徴とする請求項１８記載のデータ処理装置。
【請求項２０】
上記格納手段は、レジスタであることを特徴とする請求項１４記載のデータ処理装置。
【請求項２１】
上記データは、アイソクロノスデータであることを特徴とする請求項２０記載のデータ処理装置。
【請求項２２】
１以上の遠隔装置からデータを受信する受信装置において、
ａ．１以上のチャンネル番号を介してデータを受信するインターフェイス回路と、
ｂ．格納チャンネル番号を格納するチャンネル番号フィールドと、格納アドレス値を格納する命令ポインタフィールドと、記憶位置が有効であることを示す第１の状態及び記憶位置が無効であることを示す第２の状態を有する有効ビットフィールドとを有する複数の記憶位置と、
ｃ．上記インターフェイス回路及び複数の記憶位置に接続され、データが受信された受信チャンネル番号が供給され、上記格納チャンネル番号と受信チャンネル番号とを比較し、該格納チャンネル番号の１つと受信チャンネル番号とが一致するか否かを判定する比較回路と、
ｄ．デフォルトプログラム命令のプログラム位置を示すデフォルトアドレス値を格納するデフォルト記憶位置と、
ｅ．上記比較回路、上記複数の記憶位置及び上記デフォルト記憶位置に接続され、有効な記憶位置の格納チャンネル番号の１つが上記受信チャンネル番号と一致するとき、該記憶位置の格納アドレス値を出力アドレス値として出力し、有効な記憶位置の格納チャンネル番号のいずれも上記受信チャンネル番号と一致しないとき、上記デフォルト記憶位置のデフォルトアドレス値を出力アドレス値として出力する出力回路と、
上記出力回路に接続され、上記出力アドレス値を受信する処理装置を備え、
上記出力アドレス値は、該処理装置が上記受信チャンネルを介して受信されるデータを処理するために使用する一連の命令の開始位置を示すことを特徴とする受信装置。
【請求項２３】
上記比較回路は、有効な記憶位置内の格納チャンネル番号のみを上記受信チャンネル番号と比較することを特徴とする請求項２２記載の受信装置。
【請求項２４】
上記記憶位置は、プログラミング可能であることを特徴とする請求項２３記載の受信装置。
【請求項２５】
上記記憶位置がプログラミングされると、該記憶位置の有効ビットがホスト装置により有効を示すように設定されることを特徴とする請求項２４記載の受信装置。
【発明の詳細な説明】
【０００１】
発明の分野
本発明は、データを受信する装置における受信処理の管理に関する。詳しくは、本発明は、装置がチャンネルを介して受信するデータの受信処理に関する。
【０００２】
発明の背景
１９９５年に草案が承認された「高性能シリアルバスのためのＩＥＥＥ１３９４規格」は、非同期フォーマットのデータ転送とアイソクロノスフォーマットのデータ転送（asynchronous and isochronous format data transfer）の両方をサポートする安価な高速のシリアルバスアーキテクチャを実現する国際規格である 。アイソクロノスデータ転送は、リアルタイム転送であり、送信アプリケーションと受信のアプリケーションの両方における重要なインスタンス（significant instance）間の時間間隔（time interval）が同じ継続時間（duration）を有する。アイソクロノス的に転送されるデータの各パケットは、それ自身が有する周期（period）で転送される。ＩＥＥＥ１３９４標準バスアーキテクチャ（１９９５年版）は、アプリケーション間のアイソクロノスデータ転送のために最大６４チャンネルの多重チャンネル（multiple channel）を提供する。データが適切なアプリケーションによって確実に受信されるように、６ビットのチャンネル番号が、データとともに報知される。これによって、複数のアプリケーションは、バス構造を介してアイソクロノスデータを同時に転送することができる。非同期転送は、伝統的なデータ転送動作であり、転送元から転送先に大量のデータをできるだけ速く転送するためのものである。
【０００３】
ＩＥＥＥ１３９４規格（１９９５年版）は、デジタル機器を相互接続する高速シリアルバスを提供するとともに、汎用のＩ／Ｏ接続を提供する。ＩＥＥＥ１３９４規格（１９９５年版）は、アプリケーションのデジタルインターフェイスを定義するものであり、これによって、アプリケーションは、デジタルデータをバスを介して転送する前に、アナログデータに変換する必要がない。同様に、受信アプリケーションは、バスからアナログデータでなく、デジタルデータを受信するので、アナログデータをデジタルデータに変換する必要はない。ＩＥＥＥ１３９４規格（１９９５年版）によって規定されるケーブルは、そのような機器を接続するために用いられている他の嵩張ったケーブルと比較して、サイズが非常に細い。ＩＥＥＥ１３９４規格（１９９５年版）のバスが活線状態においても、機器を取り付けたり、取り外したりすることができる。機器が取り付けられたり、取り外されたりすると、バスは、それ自体を自動的に再構成し、既存のノード間でデータを転送する。ノードは、バス構造上の固有のアドレスを有する論理構成体（logical entity）とみなされる。各ノードは、認識ＲＯＭ（identification ROM）と、標準化された制御レジスタのセット（set of control registers）と、それ自身のアドレス空間（address space）とを有する。
【０００４】
ＩＥＥＥ１３９４規格（１９９５年版）は、図１に示すようなプロトコルを定義している。このプロトコルは、シリアルバス管理部１０と、シリアルバス管理部１０に接続されたトランザクション層１２、リンク層１４、物理層１６を備える。物理層１６は、機器とＩＥＥＥ１３９４規格（１９９５年版）ケーブル間の電気的及び機械的接続を提供する。さらに、物理層１６は、ＩＥＥＥ１３９４規格（１９９５年版）バスに接続された全ての機器が実際のデータを送受信できるようにするとともに、これら機器のアクセスの調停を行うための調停機能（arbitration）を提供する。リンク層１４は、非同期データパケット転送とアイソクロノスデータパケット転送の両方のためのパケット配信サービスを提供する。リンク層１４は、受信通知プロトコル（acknowledgement protocol）を用いて、非同期データ転送とアイソクロノスデータ転送の両方をサポートし、ジャストインタイムのデータ配信（just-in-time data delivery）における実時間保証された（real-time guaranteed）帯域幅プロトコルを提供する。トランザクション層１２は、読出、書込、ロック等を含む非同期データ転送の実行するのに必要なコマンドをサポートする。シリアルバス管理部１０は、アイソクロノスデータ転送を管理するためのアイソクロノスリソースマネージャを備える。また、シリアルバス管理部１０は、調停タイミングの最適化、バス上の全ての機器の適切な電力の保証、サイクルマスタの割当、アイソクロノスチャンネル及び帯域リソースの割当、エラーの基本的な通知等の処理により、シリアルバス全体の構成制御を提供する。
【０００５】
上述のように、ＩＥＥＥ１３９４規格（１９９５年版）に準拠する機器は、多重チャンネルを介してアイソクロノスデータを送受信する能力を有する。ＩＥＥＥ１３９４規格（１９９５年版）は、ＩＥＥＥ１３９４規格（１９９５年版）ネットワーク機器において使用される最大６４個の異なるアイソクロノスチャンネルを提供する。しかしながら、実際には、アイソクロノスデータを送受信できるチャンネル数が６４個より少ないＩＥＥＥ１３９４規格（１９９５年版）のネットワーク機器も存在する。アイソクロノスチャンネルを介してデータを受信した場合、受信した機器はそのデータを処理する必要がある。この処理には、表示、操作、転送、格納等が含まれる。多くの場合、異なるアイソクロノスチャンネルを介して受信されたデータに対しては、データを送信した機器の種類、受信したデータの種類及びデータの用途等に応じて、異なる処理が施される。アイソクロノスチャンネルを介して送信されてくるデータを効率的に受信及び処理しないと、データの表示又は処理においてエラーが発生することがある。
【０００６】
発明の要約
受信したデータのチャンネル番号に基づいて処理要素をプログラム位置にディスパッチする装置は、それぞれがチャンネル番号フィールドと、有効ビットフィールドと、対応する命令ポインタフィールドとを有する複数の記憶位置を含むチャンネルポインタレジスタを備える。データ受信のためのアイソクロノスチャンネルが割り当てられると、ホスト装置は、そのチャンネル番号と対応する命令ポインタ値を記憶位置にプログラミングする。記憶位置がプログラミングされると、その記憶位置内の有効ビットが有効を示すように設定される。対応する命令ポインタ値は、アイソクロノスチャンネルを介して受信されるデータを処理するために使用される一連の命令の開始位置を示している。アイソクロノスデータが受信されると、データが受信されたチャンネルのチャンネル番号とチャンネルポインタレジスタ内の有効な記憶位置内のチャンネル番号とが比較される。有効な記憶位置内のチャンネル番号の１つがデータを受信したチャンネル番号と一致すると、対応する命令ポインタ値が出力され、この対応する命令ポインタ値により指定されるアドレスから開始される一連の命令を用いて、受信されたデータが処理される。一方、有効な記憶位置内のチャンネル番号のいずれもデータを受信したチャンネル番号と一致しない場合、デフォルト命令ポインタ値が出力され、受信されたデータは、このデフォルト命令ポインタ値により指定されるアドレスから開始される一連の命令に基づいて処理される。
【０００７】
本発明に係るデータ処理方法は、受信データを処理する受信データ処理方法において、任意のチャンネル番号を有するチャンネルを介してデータを受信するステップと、データを受信したチャンネル番号を、格納チャンネル番号に対応するチャンネルを介して受信されるデータを処理するための一連の命令の開始アドレスを指定する対応するアドレス値を有する複数のメモリ位置内に格納されているチャンネル番号と比較するステップと、格納チャンネル番号の１つとデータを受信したチャンネル番号とが一致したとき、チャンネル番号に対応するアドレス値を出力するステップと、格納チャンネル番号のいずれもデータを受信したチャンネル番号と一致しないとき、デフォルトのアドレス値を出力するステップとを有する。このデータ受信方法は、さらに、データを受信するチャンネル番号を割り当てるステップと、複数のメモリ位置のうちの１つに割り当てられたチャンネル番号と対応する割り当てられたアドレス値とをプログラミングし、格納チャンネル番号及び対応するアドレス値を形成するステップとを有する。デフォルトのアドレス値は、チャンネル番号を介して受信されるデータを処理するための一連のデフォルト命令の開始アドレスを指定するデフォルト開始アドレスを示す。メモリ位置は、レジスタ内の位置である。データ受信方法は、さらにプログラミングされたメモリ位置内に有効ビットをプログラミングするステップを有する。データは、例えばアイソクロノスデータである。
【０００８】
また、本発明に係るデータ処理装置は、受信データを処理する受信データ処理装置において、格納チャンネル番号を格納するチャンネル番号フィールドと、格納アドレス値を格納する命令ポインタフィールドとを有する複数の記憶位置と、複数の記憶位置に接続され、データが受信された受信チャンネル番号を示す情報が供給され、格納チャンネル番号と受信チャンネル番号とを比較し、格納チャンネル番号の１つと受信チャンネル番号とが一致するか否かを判定する比較回路と、比較回路及び複数の記憶位置に接続され、受信チャンネル番号に一致する格納チャンネル番号を有する記憶位置内の格納アドレス値を出力アドレス値として出力する出力回路とを備える。このデータ処理装置は、さらに出力回路に接続され、格納チャンネル番号のいずれも受信チャンネル番号と一致しなかった場合に出力アドレス値として出力されるデフォルトアドレス値を格納するデフォルト記憶位置を備える。記憶位置は、それぞれ有効ビットを備える。記憶位置は、プログラミング可能である。このデータ処理装置は、さらに複数の記憶位置に接続され、格納チャンネル番号及び格納アドレス値をプログラミングするホスト装置を備える。ホスト装置は、記憶位置においてチャンネル番号をプログラミングすると、記憶位置の有効ビットを有効を示すように設定する。このデータ処理装置は、出力回路に接続され、出力アドレス値を受信する処理装置を備え、出力アドレス値は、処理装置が受信チャンネルを介して受信されるデータを処理するために使用する一連の命令の開始位置を示す。データは、例えばアイソクロノスデータである。
【０００９】
また、本発明に係るデータ処理装置は、受信データを処理する受信データ処理装置において、格納チャンネル番号を格納するチャンネル番号フィールドと、格納アドレス値を格納する命令ポインタフィールドとを有する複数の記憶位置を含む格納手段と、格納手段に接続され、データが受信された受信チャンネル番号を示す情報が供給され、格納チャンネル番号と受信チャンネル番号とを比較し、格納チャンネル番号の１つと受信チャンネル番号とが一致するか否かを判定する比較手段と、比較手段及び格納手段に接続され、受信チャンネル番号に一致する格納チャンネル番号を有する記憶位置内の格納アドレス値を出力アドレス値として出力する出力手段とを備える。このデータ処理装置は、さらに比較手段に接続され、格納チャンネル番号のいずれも受信チャンネル番号と一致しなかった場合に出力アドレス値として出力されるデフォルトアドレス値を格納するデフォルト記憶位置を備える。記憶位置は、それぞれ有効ビットを備える。記憶位置は、プログラミング可能である。データ処理装置は、複数の記憶位置に接続され、格納チャンネル番号及び格納アドレス値をプログラミングするホスト装置を備える。ホスト装置は、記憶位置においてチャンネル番号をプログラミングすると、記憶位置の有効ビットを有効を示すように設定する。データ処理装置は、さらに出力手段に接続され、出力アドレス値を受信する処理装置を備え、出力アドレス値は、処理装置が受信チャンネルを介して受信されるデータを処理するために使用する一連の命令の開始位置を示す。格納手段は、例えばレジスタである。データは、例えばアイソクロノスデータである。
【００１０】
また、本発明に係る受信装置は、１以上の遠隔装置からデータを受信する受信装置において、１以上のチャンネル番号を介してデータを受信するインターフェイス回路と、格納チャンネル番号を格納するチャンネル番号フィールドと、格納アドレス値を格納する命令ポインタフィールドと、記憶位置が有効であることを示す第１の状態及び記憶位置が無効であることを示す第２の状態を有する有効ビットフィールドと有する複数の記憶位置と、インターフェイス回路及び複数の記憶位置に接続され、データが受信された受信チャンネル番号を示す情報が供給され、格納チャンネル番号と受信チャンネル番号とを比較し、格納チャンネル番号の１つと受信チャンネル番号とが一致するか否かを判定する比較回路と、デフォルトアドレス値を格納するデフォルト記憶位置と、比較回路、複数の記憶位置及びデフォルト記憶位置に接続され、有効な記憶位置の格納チャンネル番号の１つが受信チャンネル番号と一致するとき、記憶位置の格納アドレス値を出力アドレス値として出力し、有効な記憶位置の格納チャンネル番号のいずれも受信チャンネル番号と一致しないとき、デフォルト記憶位置のデフォルトアドレス値を出力アドレス値として出力する出力回路とを備える。比較回路は、有効な記憶位置内の格納チャンネル番号のみを受信チャンネル番号と比較する。記憶位置は、プログラミング可能である。記憶位置がプログラミングされると、記憶位置の有効ビットがホスト装置により有効を示すように設定される。受信装置は、さらに出力回路に接続され、出力アドレス値を受信する処理装置を備え、出力アドレス値は、処理装置が受信チャンネルを介して受信されるデータを処理するために使用する一連の命令の開始位置を示す。
【００１１】
好ましい実施の形態の詳細な説明
受信したデータのチャンネル番号に基づいて処理要素（processing element）をプログラム位置（program location）にディスパッチ（dispatch）する装置は、チャンネルポインタレジスタ（channel pointer register）を備える。チャンネルポインタレジスタは、複数の記憶位置（storage location）を含み、各記憶位置は、チャンネル番号フィールド（channel number field）と、有効ビットフィールド（valid bit field）と、対応する命令ポインタフィールド（instruction pointer field）とを有する。各記憶位置は、ホスト装置（host device）がアイソクロノスチャンネルを割り当て、このアイソクロノスチャンネルを介してデータの受信を開始する際に、ホスト装置によりプログラミングされる。チャンネルポインタレジスタ内の記憶位置がプログラミングされると、ホスト装置がアイソクロノスデータを受信するチャンネル番号が、チャンネル番号フィールドに書き込まれるとともに、対応する命令ポインタ値が命令ポインタフィールドに書き込まれる。この対応する命令ポインタ値は、例えば、アイソクロノスデータパイプ（isochronous data pipe：ＩＤＰ）により認識されるプログラム位置であり、このプログラム位置には、アイソクロノスチャンネルを介して受信されたデータを処理するためのプログラム命令が含まれる。記憶位置がチャンネル番号及び対応する命令ポインタ値とともに書き込まれると、有効ビットフィールドの有効ビットが論理的ハイレベル（logical high voltage level）に設定される。有効ビット論理的ローレベル（logical low voltage level）に設定されている記憶位置のみに対してプログラミングを行うことができる。記憶位置内のデータが有効でなくなった場合、又はアイソクロノスチャンネルが再割当された場合、記憶位置内の有効ビットは論理的ローレベルにリセットされ、記憶位置内のデータが有効でなくなったことが示される。
【００１２】
ホスト装置がアイソクロノスデータを受信すると、ホスト装置は、どのチャンネルにおいてアイソクロノスデータが受信されたかを判定する。ホスト装置は、この判定により得られたチャンネル番号を、チャンネルポインタレジスタ内の有効な記憶位置のチャンネル番号と比較する。有効な記憶位置のチャンネル番号の１つと、現在受信したチャンネル番号とが一致した場合、チャンネルポインタレジスタは、一致した記憶位置に対応する命令ポインタ値を出力する。この命令ポインタ値は、プログラム位置を示している。ホスト装置は、このプログラム位置から開始されるプログラム命令を用いて、現在のチャンネル番号を介して受信したデータを処理する。好ましくは、ホスト装置は、アイソクロノスデータパイプを用いて、受信したアイソクロノスデータを処理する。この処理については、１９９６年３月７日に出願された米国特許出願番号０８／６１２，３２２号「アプリケーションとバス間のアイソクロノスデータの高速ストリームを管理及び制御するアイソクロノスデータパイプ（ISOCHRONOUS DATA PIPE FOR MANAGING AND MANIPULATING A HIGH-SPEED STREAM OF ISOCHRONOUS DATA FLOWING BETWEEN AN APPLICATION AND A BUS STRUCTURE）」にも説明されており、この出願は、参照として本願に組み込まれるものとする。これに代えて、他のいかなる適切な装置を用いて、受信したデータを処理してもよい。
【００１３】
受信したチャンネル番号に一致するチャンネル番号が有効記憶位置内に存在しない場合、チャンネルポインタレジスタは、命令ポインタのデフォルト値を出力する。この命令ポインタのデフォルト値は、デフォルトプログラム位置を示している。ＩＤＰ又は他の適切な処理装置は、このプログラム位置から開始するデフォルトプログラム命令を用いて、現在のチャンネル番号を介して受信したデータを処理する。
【００１４】
本発明を適用した、コンピュータ装置及びビデオカメラを含むＩＥＥＥ１３９４規格（１９９５年版）のシリアルバスネットワークの具体例を図２に示す。コンピュータ装置２０は、表示器２２を備え、ＩＥＥＥ１３９４規格（１９９５年版）のシリアルバスケーブル２６を介して、ビデオカメラ２４に接続されている。ビデオカメラ２４は、このＩＥＥＥ１３９４規格（１９９５年版）のシリアルバスケーブル２６を介してコンピュータ装置２０にビデオデータ及び関連するデータを供給する。
【００１５】
図３は、コンピュータ装置２０の内部構成を示すブロック図である。コンピュータ装置２０は、中央演算処理装置（central processor unit：以下、ＣＰＵという。）４４と、主メモリ３０と、ビデオメモリ４６と、マスストレージ装置３２と、ＩＥＥＥ１３９４規格（１９９５年版）のインターフェイス回路２８とを備え、これらは全て一般的な双方向システムバス３４を介して相互に接続されている。インターフェイス回路２８は、ＩＥＥＥ１３９４規格（１９９５年版）のシリアルバスとデータを送受するための物理インターフェイス回路４２と、物理インターフェイス回路４２を介して送受されるアイソクロノスデータを処理するためのアイソクロノスデータパイプ５２とを備える。物理インターフェイス回路４２は、ＩＥＥＥ１３９４規格（１９９５年版）のシリアルバスケーブル２６を介してビデオカメラ２４に接続されている。システムバス３４は、主メモリ３０，４６におけるあらゆるメモリ位置をアドレス指定するためのアドレスバスを備えている。さらに、システムバス３４は、ＣＰＵ４４と、主メモリ３０と、ビデオメモリ４６と、マスストレージ装置３２と、インターフェイス回路２８との間のデータ転送のためのデータバスも備えている。
【００１６】
コンピュータ装置２０は、キーボード３８、マウス４０、表示器２２等の周辺入出力装置を備えている。キーボード３８は、ＣＰＵ４４に接続され、これによりユーザは、コンピュータ装置２０にデータを入力するとともに、コンピュータ装置２０を制御することができる。従来のマウス４０は、キーボード３８に接続されたカーソル制御装置であり、これにより、表示器２２上のグラフィック画像を操作することができる。当該技術分野において知られいてるように、マウス４０は、シリアルポートを介してコンピュータ装置２０本体に直接接続してもよい。
【００１７】
ビデオメモリ４６のポートは、ビデオ多重化／シフト回路（video multiplex and shifter circuit）４８に接続されており、ビデオ多重化／シフト回路４８は、ビデオ増幅器５０に接続されている。ビデオ増幅器５０は、表示器２２を駆動する。ビデオ多重化／シフト回路４８及びビデオ増幅器５０は、ビデオビデオメモリ４６に格納されている画素データを、表示器２２で用いるのに適したラスタ信号に変換する。
【００１８】
図４は、本発明に基づくチャンネルポインタレジスタ６０の構成を示すブロック図である。チャンネルポインタレジスタ６０は、例えばホスト装置の主メモリ３０内に設けられる。あるいは、これに代えてチャンネルポインタレジスタ６０を専用のレジスタ内に設けてもよい。チャンネルポインタレジスタ６０は、８つの記憶位置を有する２２ビットのレジスタからなり、各記憶位置は、チャンネル番号フィールド６２と、有効ビットフィールド６４と、対応する命令ポインタフィールド６６とを含む。対応する命令ポインタ値は、対応する命令ポインタフィールド６６である記憶位置の第０ビット〜第１１ビットに格納されている。有効ビットは、有効ビットフィールド６４である記憶位置の第１５ビットに格納されている。チャンネル番号は、チャンネル番号フィールド６２である記憶位置の第１６ビット〜第２１ビットに格納されている。記憶位置の第１２ビット〜第１４ビットは、将来使用するための予備フィールドである。また、チャンネルポインタレジスタ６０は、デフォルト命令ポインタ値記憶位置６８を有し、このデフォルト命令ポインタ値には、受信したデータのチャンネル番号がチャンネルポインタレジスタ６０内の有効なチャンネル番号と一致しない場合に使用されるデフォルト命令ポインタ値が格納されている。
【００１９】
チャンネルポインタレジスタ６０には、ホストデータ入力信号HostDataInが入力され、これによりチャンネルポインタレジスタ６０内の記憶位置がプログラミングされる。ホストデータ入力信号HostDataInは、ホスト装置から入力されるものであり、これによりホスト装置がデータを受信するアイソクロノスチャンネルからのデータに対して適切な記憶位置がプログラミングされる。また、チャンネルポインタレジスタ６０には、ホスト書込ストローブ入力信号HostWrも入力される。また、ホスト装置から入力されるホストアドレス入力信号HostAdrは、チャンネルポインタレジスタ６０内のどの記憶位置にホストデータ入力信号HostDataInを書き込むかを指定する。チャンネルポインタレジスタ６０は、受信したデータのチャンネル番号に応じて、１２ビットの命令ポインタ出力信号IPを出力する。
【００２０】
チャンネルポインタレジスタ６０内の記憶位置は、ＩＤＰ５２又はホスト装置内の他の処理要素内の論理演算装置（arithmetic logic unit：以下、ＡＬＵという。）によっても読み出され、あるいは書き込まれる。チャンネルポインタレジスタ６０には、アキュムレータデータ入力信号AccDataも入力され、これによりチャンネルポインタレジスタ６０内の記憶位置がプログラミングされる。また、チャンネルポインタレジスタレジスタ６０には、書込物理アドレス入力信号WrPhyAdr、読出物理アドレス入力信号RdPhyAdr、レジスタ物理書込／読出ストローブ入力信号PhyWrRdnが入力され、ＡＬＵは、これら信号を用いて、チャンネルポインタレジスタ６０内の記憶位置からデータを読み出し、及び記憶位置にデータを書き込む。
【００２１】
チャンネルポインタレジスタ６０内の各記憶位置は、チャンネル番号比較回路７０に接続されており、チャンネル番号比較回路７０は、チャンネルポインタレジスタ６０内のチャンネル番号とホスト装置が現在受信しているデータのチャンネル番号とを比較する。チャンネルポインタレジスタ６０内の各記憶位置の有効ビット値は、信号線Validを介してチャンネル番号比較回路７０に供給される。チャンネル番号比較回路７０は、この信号線Validを介して供給される有効ビット値を用いて、チャンネルポインタレジスタ６０内のどの記憶位置に有効なチャンネル番号及び対応する命令ポインタが格納されているかを判定することができる。チャンネル番号比較回路７０には、６ビットの受信チャンネル番号入力信号RxChanNumが入力されている。この受信チャンネル番号入力信号RxChanNumは、ＩＤＰ５２又はホスト装置内の他の処理要素から供給されるものであり、現在データが受信されているチャンネルのチャンネル番号を示す。チャンネル番号比較回路７０は、受信チャンネルヒット出力信号RxChanHitを出力する。現在受信されているデータのアイソクロノスチャンネルがチャンネルポインタレジスタ６０内の有効な記憶位置のチャンネル番号と一致した場合、チャンネル番号比較回路７０は、受信チャンネルヒット出力信号RxChanHitを活性状態にし、すなわち論理的ハイレベルに設定する。また、現在受信されているデータのアイソクロノスチャンネルがチャンネルポインタレジスタ６０内の有効な記憶位置のチャンネル番号と一致しない場合、チャンネル番号比較回路７０は、受信チャンネルヒット出力信号RxChanHitを非活性状態にし、すなわち論理的ローレベルに設定する。
【００２２】
チャンネルポインタレジスタ６０内の記憶位置をプログラミングする場合、ホスト装置は、記憶位置に書き込むデータをホストデータ入力信号HostDataInとして入力する。また、ホスト装置は、書込を行うべき記憶位置のアドレスを示す信号をホストアドレス入力信号HostAdrとして入力する。チャンネルポインタレジスタ６０内の記憶位置のアドレスを示すアドレス入力信号HostAdr及びその記憶位置に書き込むべきデータを示すホストデータ入力信号HostDataInをチャンネルポインタレジスタ６０に供給した後、ホスト装置は、書込ストローブ信号HostWrを活性状態にする。ホスト書込ストローブ信号HostWrが活性状態になると、ホストデータ入力信号HostDataInのデータがアドレス入力信号HostAdrにより指定されるチャンネルポインタレジスタ内の記憶位置に書き込まれる。このようにして、ホスト装置は、チャンネルポインタレジスタ６０内の記憶位置をプログラミングする。
【００２３】
記憶位置に書き込まれるデータは、チャンネル番号フィールド６２に書き込まれるチャンネル番号値と、命令ポインタフィールド６６に書き込まれる対応する命令ポインタ値とを含む。記憶位置がチャンネル番号値及び対応する命令ポインタ値によりプログラミングされると、記憶位置内のデータが指定されたチャンネル番号に対して有効であることを示すように有効ビットが設定される。プログラミング処理においては、異なる記憶位置のチャンネル番号フィールド６２には、異なるチャンネル番号が書き込まれる。
【００２４】
データが受信されると、そのデータが受信されたチャンネルのチャンネル番号を示す受信チャンネル番号入力信号RxChanNumがチャンネル番号比較回路７０に入力される。チャンネル番号比較回路７０は、受信チャンネル番号入力信号RxChanNumが示すチャンネル番号を、チャンネルポインタレジスタ６０内の有効な記憶位置に対応する全てのチャンネル番号と比較する。有効ビットが論理的ハイレベルに設定されている記憶位置内のチャンネル番号の１つと受信チャンネル番号入力信号RxChanNumとが一致した場合、その記憶位置に格納されている命令ポインタ値が命令ポインタ出力信号IPとして出力される。さらに、この場合、チャンネル番号比較回路７０は、受信チャンネルヒット出力信号RxChanHitを論理的ハイレベルに設定し、これにより有効な記憶位置のチャンネル番号と受信チャンネル番号入力信号RxChanNumのチャンネル番号が一致したことを示す。一方、有効な記憶位置内のチャンネル番号のいずれも受信チャンネル番号入力信号RxChanNumのチャンネル番号と一致しない場合、デフォルト命令ポインタ値記憶位置６８に格納されているデフォルト命令ポインタ値が命令ポインタ出力IPとして出力され、この場合、チャンネル番号比較回路７０は、受信チャンネルヒット出力信号RxChanHitを論理的ローレベルに設定し、これにより受信データチャンネルが有効な記憶位置のチャンネル番号に一致しなかったことを示す。
【００２５】
命令ポインタ出力信号IPとして出力される値は、例えばＩＤＰ５２に供給される。ＩＤＰ５２は、命令ポインタ出力信号IPにより指定されるアドレスから開始される１組のプログラミングされた命令を実行し、供給されたアイソクロノスデータを処理する。これに代えて、他のいかなる処理装置を用いてアイソクロノスデータを処理してもよい。この場合も、命令ポインタ出力信号IPにより指定されたアドレス開始される一連の命令が実行される。
【００２６】
ＩＥＥＥ１３９４規格（１９９５年版）のシリアルバスネットワーク内のホスト装置とリモート装置間にアイソクロノスチャンネルが割り当てられると、ホスト装置は、割り当てられたチャンネル番号に基づいて、チャンネルポインタレジスタ６０内の記憶位置のチャンネル番号及び対応する命令ポインタ値をプログラミングする。対応する命令ポインタ値は、そのチャンネルを介して受信されたデータに対して実行すべき一連の命令を示している。さらに、ホスト装置は、その記憶位置の有効ビットを有効にする。この割り当てられたチャンネルを介してデータを受信すると、ＩＤＰ５２又はホスト装置内の他の適切な処理要素は、チャンネル番号比較回路７０にこのチャンネル番号を示す信号を供給する。チャンネル番号比較回路７０は、この供給されたチャンネル番号を、チャンネルポインタレジスタ６０内の有効な記憶位置のチャンネル番号と比較する。供給されたチャンネル番号と有効な記憶位置のチャンネル番号とが一致した場合、その記憶位置に格納されている命令ポインタ値が命令ポインタ出力信号IPとして出力される。ホスト装置内のＩＤＰ５２は、命令ポインタ出力信号IPによりアドレスが指定された一連の命令を用いて、このチャンネルを介して受信したアイソクロノスデータを処理する。
【００２７】
一方、供給されたチャンネル番号が有効な記憶位置のチャンネル番号と一致しない場合、デフォルト記憶位置６８内のデフォルト命令ポインタ値が命令ポインタ出力信号IPとして出力される。ホスト装置内のＩＤＰ５２は、このデフォルトストレージ命令ポインタ値により指定された一連の命令を用いて、このチャンネルを介して受信したアイソクロノスデータを処理する。
【００２８】
本発明によれば、ホスト装置は供給されたアイソクロノスデータを効率的に処理することができる。ホスト装置は、チャンネル番号と対応する命令ポインタ値をチャンネルポインタレジスタ６０にプログラミングする。データがアイソクロノスチャンネルを介して受信されると、このチャンネルのチャンネル番号を示す信号がチャンネル番号比較回路７０に供給され、チャンネル番号比較回路７０は、このチャンネル番号を、チャンネルポインタレジスタ６０内の有効な記憶位置のチャンネル番号と比較する。有効なストレージのチャンネル番号の１つとデータが受信されたチャンネルのチャンネル番号とが一致した場合、対応する命令ポインタ値が出力され、このデータは、この命令ポインタ値により指定された位置から開始される一連の命令を用いて処理される。受信データのチャンネル番号がチャンネルポインタレジスタ６０内の有効な記憶位置のチャンネル番号のいずれにも一致しない場合には、デフォルト命令ポインタ値が出力され、データは、このデフォルト命令ポインタ値により指示された位置から開始される一連の命令を用いて処理される。
【００２９】
本発明の構成及び動作を明瞭に説明するために、詳細な具体例を用いて本発明を説明した。参照した具体例における細部は、添付の請求の範囲を制限するものではない。本発明の趣旨及び範囲から逸脱することなく、ここに説明した具体例を変形できることは当業者にとって明らかである。例えば、本発明の好適な具体例では、ＩＥＥＥ１３９４規格（１９９５年版）のシリアルバス構造を用いているが、本発明は適切な他のいかなるバス構造とともに実現してもよいことは、当業者にとって明らかである。
【図面の簡単な説明】
【図１】  ＩＥＥＥ１３９４規格（１９９５年版）のプロトコルを説明する図である。
【図２】  コンピュータシステム及びビデオカメラを備えるＩＥＥＥ１３９４規格（１９９５年版）のシリアルバスネットワークを示す図である。
【図３】  コンピュータシステムの内部構成を示すブロック図である。
【図４】  本発明に基づくチャンネルポインタレジスタの構成を示す図である。
【図１】
0004007572.tif 000002
【図２】
0004007572.tif 000003
【図３】
0004007572.tif 000004
【図４】
0004007572.tif 000005