(57)【特許請求の範囲】
【請求項１】
電子ネットワーク内で、コンテクストを切り換えるコンテクスト切換装置において、
上記コンテクストに対応した各インストラクションセットを記憶するメモリと、
上記メモリに接続され、上記電子ネットワークからの対応するデータパケットのヘッダ情報に含まれる上記電子ネットワークからのコンテクスト情報に応じて上記インストラクションセットの１つを選択する制御状態機械と、
上記メモリに接続され、上記インストラクションセットを実行するプロセッサとを備え、
上記制御状態機械は、電子機器のデフォルトデータ送信モードに対応する第１のコンテクストインストラクションセットの実行を中断し、上記電子機器のデータ受信モードに対応する第２のコンテクストインストラクションセットを実行のために選択し、上記第２のコンテクストインストラクションセットの実行が終了したときに上記第１のコンテクストインストラクションセットに戻り、且つ
上記制御状態機械は、上記第１のコンテクストインストラクションセットを再開するためのリターンインストラクションに対応したリターンアドレスを記憶するリターンアドレスレジスタを備える
ことを特徴とするコンテクスト切換装置。
【請求項２】
ホスト機器と上記電子ネットワーク間のインタフェース内に実現されていることを特徴とする請求項１記載のコンテクスト切換装置。
【請求項３】
上記インタフェース内のアイソクロノスデータプロセッサ内に実現されていることを特徴とする請求項２記載のコンテクスト切換装置。
【請求項４】
上記電子ネットワークは、ＩＥＥＥ１３９４シリアルバス相互接続規格に準拠したシリアルバスネットワークであることを特徴とする請求項１記載のコンテクスト切換装置。
【請求項５】
上記制御状態機械は、上記第１のコンテクストインストラクションセットの最後の実行インストラクションの次に続くインストラクションにおいて、上記第１のコンテクストインストラクションセットに戻ることを特徴とする請求項１記載のコンテクスト切換装置。
【請求項６】
上記制御状態機械は、送信インストラクションセットの実行を中断し、受信インストラクションセットを選択して実行し、上記受信インストラクションセットが終了したときに上記送信インストラクションセットに戻ることを特徴とする請求項１記載のコンテクスト切換装置。
【請求項７】
上記制御状態機械は、送信インストラクションセットの実行を中断し、サイクルスタートインストラクションセットを選択して実行し、上記サイクルスタートインストラクションセットが終了したときに上記送信インストラクションセットに戻ることを特徴とする請求項１記載のコンテクスト切換装置。
【請求項８】
上記制御状態機械は、上記コンテクスト情報に応じて上記インストラクションセットのうちの１つである第１のインストラクションに対応する切換アドレスを生成する切換アドレス発生器をさらに備える請求項１記載のコンテクスト切換装置。
【請求項９】
上記制御状態機械は、上記切換アドレス、上記リターンアドレス、及び次に続くアドレスを備えるグループの１つを選択するプログラムカウンタ選択器をさらに備える請求項１記載のコンテクスト切換装置。
【請求項１０】
上記制御状態機械は、上記制御状態機械が第２のコンテクスト処理を実行するために第２のコンテクストモードに変化しない限り、上記ホスト機器がデータを送信するときも、上記ホスト機器がデータを送信しないときでも、送信モードのままであることを特徴とする請求項２記載のコンテクスト切換装置。
【請求項１１】
上記切換アドレス発生器は、送信アドレスレジスタと、受信アドレスレジスタと、サイクルスタートアドレスレジスタとを備える請求項８記載のコンテクスト切換装置。
【請求項１２】
上記送信アドレスレジスタは、上記メモリに記憶された第１の送信インストラクションの送信アドレスを記憶することを特徴とする請求項１１記載のコンテクスト切換装置。
【請求項１３】
上記受信アドレスレジスタは、上記メモリに記憶された第１の受信インストラクションの受信アドレスを記憶することを特徴とする請求項１１記載のコンテクスト切換装置。
【請求項１４】
上記受信アドレスレジスタは、唯一のデータチャンネルに対応した第１の受信インストラクションの受信アドレスを記憶することを特徴とする請求項１１記載のコンテクスト切換装置。
【請求項１５】
上記受信アドレスレジスタは、唯一のデータチャンネルに対応した８個の第１の受信インストラクションの８個の受信アドレスを記憶することを特徴とする請求項１１記載のコンテクスト切換装置。
【請求項１６】
上記サイクルスタートアドレスレジスタは、上記メモリに記憶された第１のサイクルスタートインストラクションのサイクルスタートアドレスを記憶することを特徴とする請求項１１記載のコンテクスト切換装置。
【請求項１７】
上記ホスト機器は、民生用電子機器であることを特徴とする請求項２記載のコンテクスト切換装置。
【請求項１８】
上記民生用電子機器は、デジタルビデオ記録再生装置であることを特徴とする請求項１７記載のコンテクスト切換装置。
【請求項１９】
電子ネットワーク内で、コンテクストを切り換えるコンテクスト切換方法において、
上記コンテクストに対応した各インストラクションセットをメモリに記憶し、
制御状態機械を用いて、上記電子ネットワークからの対応するデータパケットのヘッダ情報に含まれる上記電子ネットワークからのコンテクスト情報に応じて上記インストラクションセットの１つを選択し、
上記メモリに接続されたプロセッサを用いて、上記インストラクションセットを実行し、
ここで、上記制御状態機械は、電子機器のデフォルトデータ送信モードに対応する第１のコンテクストインストラクションセットの実行を中断し、上記電子機器のデータ受信モードに対応する第２のコンテクストインストラクションセットを実行のために選択し、上記第２のコンテクストインストラクションセットの実行が終了したときに上記第１のコンテクストインストラクションセットに戻り、且つ上記制御状態機械は、上記第１のコンテクストインストラクションセットを再開するためのリターンインストラクションに対応したリターンアドレスを記憶するリターンアドレスレジスタを備えることを特徴とするコンテクスト切換方法。
【請求項２０】
上記メモリ、上記制御状態機械及び上記プロセッサは、ホスト機器と上記電子ネットワーク間のインタフェース内に実現されていることを特徴とする請求項１９記載のコンテクスト切換方法。
【請求項２１】
上記メモリ、上記制御状態機械及び上記プロセッサは、上記インタフェース内のアイソクロノスデータプロセッサ内に実現されていることを特徴とする請求項２０記載のコンテクスト切換方法。
【請求項２２】
上記電子ネットワークは、ＩＥＥＥ１３９４シリアルバス相互接続規格に準拠したシリアルバスネットワークであることを特徴とする請求項１９記載のコンテクスト切換方法。
【請求項２３】
上記制御状態機械は、上記第１のコンテクストインストラクションセットの最後の実行インストラクションの次に続くインストラクションにおいて、上記第１のコンテクストインストラクションセットに戻ることを特徴とする請求項１９記載のコンテクスト切換方法。
【請求項２４】
上記制御状態機械は、送信インストラクションセットの実行を中断し、受信インストラクションセットを選択して実行し、上記受信インストラクションセットが終了したときに上記送信インストラクションセットに戻ることを特徴とする請求項１９記載のコンテクスト切換方法。
【請求項２５】
上記制御状態機械は、送信インストラクションセットの実行を中断し、サイクルスタートインストラクションセットを選択して実行し、上記サイクルスタートインストラクションセットが終了したときに上記送信インストラクションセットに戻ることを特徴とする請求項１９記載のコンテクスト切換方法。
【請求項２６】
上記制御状態機械は、上記コンテクスト情報に応じて上記インストラクションセットのうちの１つである第１のインストラクションに対応する切換アドレスを生成する切換アドレス発生器をさらに備える請求項１９記載のコンテクスト切換方法。
【請求項２７】
上記制御状態機械は、上記切換アドレス、上記リターンアドレス、及び次に続くアドレスを備えるグループの１つを選択するプログラムカウンタ選択器をさらに備える請求項１９記載のコンテクスト切換方法。
【請求項２８】
上記制御状態機械は、上記制御状態機械が第２のコンテクスト処理を実行するために第２のコンテクストモードに変化しない限り、上記ホスト機器がデータを送信するときも、上記ホスト機器がデータを送信しないときでも、送信モードのままであることを特徴とする請求項２０記載のコンテクスト切換方法。
【請求項２９】
上記切換アドレス発生器は、送信アドレスレジスタと、受信アドレスレジスタと、サイクルスタートアドレスレジスタとを備える請求項２６記載のコンテクスト切換方法。
【請求項３０】
上記送信アドレスレジスタは、上記メモリに記憶された第１の送信インストラクションの送信アドレスを記憶することを特徴とする請求項２９記載のコンテクスト切換方法。
【請求項３１】
上記受信アドレスレジスタは、上記メモリに記憶された第１の受信インストラクションの受信アドレスを記憶することを特徴とする請求項２９記載のコンテクスト切換方法。
【請求項３２】
上記受信アドレスレジスタは、唯一のデータチャンネルに対応し、上記メモリに記憶された第１の受信インストラクションの受信アドレスを記憶することを特徴とする請求項２９記載のコンテクスト切換方法。
【請求項３３】
上記受信アドレスレジスタは、唯一のデータチャンネルに対応し、上記メモリに記憶された８個の第１の受信インストラクションの８個の受信アドレスを記憶することを特徴とする請求項２９記載のコンテクスト切換方法。
【請求項３４】
上記サイクルスタートアドレスレジスタは、上記メモリに記憶された第１のサイクルスタートインストラクションのサイクルスタートアドレスを記憶することを特徴とする請求項２９記載のコンテクスト切換方法。
【請求項３５】
上記ホスト機器は、民生用電子機器であることを特徴とする請求項２０記載のコンテクスト切換方法。
【請求項３６】
上記民生用電子機器は、デジタルビデオ記録再生装置であることを特徴とする請求項３５記載のコンテクスト切換方法。
【請求項３７】
上記電子ネットワークからの上記コンテクスト情報は、対応するデータパケットのヘッダ情報に含まれ、上記対応するデータパケットの処理要求を示すことを特徴とする請求項１９記載のコンテクスト切換方法。
【請求項３８】
上記切換アドレス発生器は、第１の送信インストラクションの送信アドレスを上記プログラムカウンタ選択器に出力し、上記プログラムカウンタ選択器は、上記送信アドレスを上記メモリに出力して、上記第１の送信インストラクションを選択することを特徴とする請求項２７記載のコンテクスト切換方法。
【請求項３９】
上記プログラムカウンタ選択器は、次に続く送信アドレスを上記メモリに出力して、上記次に続く送信インストラクションを選択することを特徴とする請求項３８記載のコンテクスト切換方法。
【請求項４０】
電子ネットワーク内で、コンテクストを切り換えるコンテクスト切換方法において、
上記コンテクストに対応した各インストラクションセットをメモリに記憶し、
制御状態機械を用いて、上記電子ネットワークからの対応するデータパケットのヘッダ情報に含まれる上記電子ネットワークからのコンテクスト情報に応じて上記インストラクションセットの１つを選択し、
上記メモリに接続されたプロセッサを用いて、上記インストラクションセットを実行し、
ここで、上記制御状態機械は、上記コンテクスト情報に応じて上記インストラクションセットのうちの１つである第１のインストラクションに対応する切換アドレスを生成する切換アドレス発生器を備え、
上記制御状態機械は、中断したインストラクションセットのリターンインストラクションに対応したリターンアドレスを記憶するリターンアドレスレジスタをさらに備え、
上記制御状態機械は又、上記切換アドレス、上記リターンアドレス、及び次に続くアドレスを備えるグループの１つを選択するプログラムカウンタ選択器を備え、
上記切換アドレス発生器は、第１の送信インストラクションの送信アドレスを上記プログラムカウンタ選択器に出力し、上記プログラムカウンタ選択器は、上記送信アドレスを上記メモリに出力して、上記第１の送信インストラクションを選択し、
上記プログラムカウンタ選択器は、次に続く送信アドレスを上記メモリに出力して、上記次に続く送信インストラクションを選択し、且つ
上記プログラムカウンタ選択器は、上記電子ネットワークからのコンテクスト情報に応じて、次に続く送信アドレスを上記リターンアドレスレジスタに出力し、上記リターンアドレスレジスタは、上記次に続く送信アドレスを上記リターンアドレスとして記憶することを特徴とするコンテクスト切換方法。
【請求項４１】
上記切換アドレス発生器は、上記電子ネットワークからのヘッダ情報に応じて、受信インストラクションセットの第１の受信インストラクションの受信アドレスを上記プログラムカウンタ選択器に出力して、上記プログラムカウンタ選択器は、上記受信アドレスを上記メモリに出力し、上記第１の受信インストラクションを選択することを特徴とする請求項４０記載のコンテクスト切換方法。
【請求項４２】
上記プログラムカウンタ選択器は、次に続く受信アドレスを上記メモリに出力して、上記次に続く受信アドレスを選択することを特徴とする請求項４１記載のコンテクスト切換方法。
【請求項４３】
上記リターンアドレスレジスタは、上記リターンアドレスを上記プログラムカウンタ選択器に出力し、上記プログラムカウンタ選択器は、上記受信インストラクションセットが終了するとリターン送信インストラクションを選択することを特徴とする請求項４２記載のコンテクスト切換方法。
【請求項４４】
電子ネットワーク内で、コンテクストを切り換えるコンテクスト切換方法において、
コンテクストに対応した各インストラクションセットを記憶するメモリと、
上記電子ネットワークからの対応するデータパケットのヘッダ情報に含まれる上記電子ネットワークからのコンテクスト情報に応じて、上記インストラクションセットの１つの第１のインストラクションに対応した切換アドレスを発生させる切換アドレス発生器と、
上記インストラクションセットの１つのリターンインストラクションに対応したリターンアドレスを記憶するリターンアドレスレジスタと、
上記メモリに接続され、上記切換アドレス、上記リターンアドレス、及び次に続くアドレスからなるグループから１つを、現インストラクションのアドレスとして選択するプログラムカウンタ選択器と、
上記メモリに接続され、上記現在のインストラクションを実行するプロセッサとを備えるコンテクスト切換装置。
【請求項４５】
コンピュータ読取り可能な記録媒体において、
コンテクストに対応した各インストラクションセットをメモリに記憶するステップと、
制御状態機械を用い、上記電子ネットワークからの対応するデータパケットのヘッダ情報に含まれる上記電子ネットワークからのコンテクスト情報に応じ、上記インストラクションセットの１つを選択し、ここで、上記制御状態機械は、電子機器のデフォルトデータ送信モードに対応する第１のコンテクストインストラクションセットの実行を中断し、第２のコンテクストインストラクションセットを実行のために選択し、上記電子機器のデータ受信モードに対応する上記第２のコンテクストインストラクションセットの実行が終了したときに上記第１のコンテクストインストラクションセットに戻り、且つ上記制御状態機械は、上記第１のコンテクストインストラクションセットを再開するためのリターンインストラクションに対応したリターンアドレスを記憶するリターンアドレスレジスタを備えるものであるステップと、
上記メモリに接続されたプロセッサを用いて、上記インストラクションセットを実行するステップとを実行することにより、電子ネットワークにおいて、コンテクストの切換を行うプログラムインストラクションが記録されたコンピュータ読取り可能な記録媒体。
【請求項４６】
電子ネットワーク内で、コンテクストを切り換えるコンテクスト切換装置において、
コンテクストに対応した各インストラクションセットをメモリに記憶する記憶手段と、
上記電子ネットワークからの対応するデータパケットのヘッダ情報に含まれる上記電子ネットワークからのコンテクスト情報に応じて、上記インストラクションセットの１つを選択する選択手段と、
コンテクスト切換を行うために上記インストラクションセットを実行する実行手段とを備え、
上記選択手段は、電子機器のデフォルトデータ送信モードに対応する第１のコンテクストインストラクションセットの実行を中断し、上記電子機器のデータ受信モードに対応する第２のコンテクストインストラクションセットを実行のために選択し、上記第２のコンテクストインストラクションセットの実行が終了したときに上記第１のコンテクストインストラクションセットに戻り、且つ
上記選択手段は、上記第１のコンテクストインストラクションセットを再開するためのリターンインストラクションに対応したリターンアドレスを記憶するリターンアドレスレジスタを備える
ことを特徴とするコンテクスト切換装置。
【発明の詳細な説明】
【０００１】
関連出願
本出願は、１９９９年６月１８日に出願され、現在係属中の米国特許出願番号０９／３３６，０６４、発明の名称「電子ネットワークにおいてマルチレベルでコンテクストを切り換える装置及び方法（System And Method For Multi-Level Context Switching In An Electronic Network）」及び１９９９年７月２８日に出願され、現在係属中の米国特許出願番号０９／３６３，０８６、発明の名称「電子ネットワークにおける高速データ転送装置及び方法（System And Method For Fast Data Transfers In An Electronic Network）」に関連し、これらの出願は、参照することによって本願に組み込まれる。相互に参照されるこれらの出願は、共通の出願人に譲渡されている。
発明の背景
【０００２】
１．発明の分野
本発明は、一般的には電子ネットワークに関し、特に、電子ネットワークにおけるコンテクストを切り換える（context switching）装置及び方法に関する。
２．従来技術の説明
電子機器の設計者、製造業者及び利用者にとって、電子ネットワークにおける電子機器間の通信を管理する効果的な方法を実現することは重要な課題である。電子ネットワーク内の電子機器は、ネットワーク内の他の電子機器と効率的に通信することができると、データを共有することができ、そのネットワーク内の個々の電子機器で利用可能なリソースを実質的に増大させることができる。例えば、電子ネットワークが利用者の家庭で実現されると、パーソナルコンピュータ、デジタルビデオディスク、デジタル放送用のデジタルセットトップボックス、テレビジョンセット、オーディオ再生機器などの様々な民生用電子機器間でリソースを柔軟かつ有益に共用することができる。
【０００３】
また、電子ネットワーク内の電子機器は、ネットワーク内でデータの受信又は送信を行う。したがって、電子機器は、データの送信機及び受信機として機能することが要求される。そのような場合には、電子機器は、送信モード（transmit mode）及び受信モード（receive mode）間を切り換える、すなわち、コンテクスト間を切り換えることが要求される。コンテクスト切換は、ネットワーク内の各電子機器が、ネットワークに対して入／出力が一体化されたインタフェースを有する電子ネットワークにおいて、特に重要である。データは、同じインタフェースを介して送信されたり受信されるので、そのような電子機器は、データの送信と受信を同時に行うことはできない。したがって、電子機器は、ネットワーク内の他の電子機器と効果的に通信するために、コンテクスト間を切り換える必要がある。
【０００４】
電子ネットワークの種類によっては、電子機器はデイジーチェーン（daisy-chained）であり、電子機器は、共通のネットワークバスに接続されている構造ではなく、ツリー構造（tree-like structure）で互いに直接接続されている。そのようなネットワークにおいて、バスを介して送信されるデータは、宛先機器（destination device）に到着する前に、様々な中間機器を通過する。中間機器は、受信コンテクストにおいてデータを受信すると、送信コンテクストに切り換わり、他の電子機器にデータを送信する。また、中間機器は、送信コンテクストにおいて宛先機器にデータを送信すると、受信コンテクストに切り換わり、異なるデータの宛先機器として機能する。
【０００５】
電子ネットワークによっては、電子機器がバスを介してデータを送信する準備中であるときには、その電子機器は、データを受信することができない。しかしながら、電子機器が意図されたデータを受信しないと、データはなくなる。データの損失は、データソースが放送信号であり、データが受信されないとき、データは繰り返して放送されないので、特に問題である。したがって、ネットワーク内で送信されるデータの損失を防ぐためには、効果的かつ効率的なコンテクスト切換が必要である。
【０００６】
電子ネットワークにおけるコンテクスト切換は、ネットワークにおいて効果的な通信を維持するために、できるだけ効率的に行われなければならない。したがって、電子機器の設計者、製造業者及び利用者にとって、電子ネットワーク内の電子機器間の通信管理は、依然として重要な課題である。
【０００７】
発明の開示
本発明を適用した、電子ネットワークおけるコンテクスト切換を実現する装置及び方法を開示する。一実施例として、本発明は、コンテクストに対応した各インストラクションモジュールを記憶するメモリと、インストラクションモジュールを実行するプロセッサと、制御状態機械（control state machine）とを備える。制御状態機械は、電子ネットワークからのコンテクスト情報に応じて、プロセッサによって実行するために、インストラクションモジュールの１つを選択する。
【０００８】
メモリに記憶された各インストラクションモジュールは、コンテクストに対応している。コンテクストは、サイクルスタートコンテクスト、送信コンテクスト及び受信コンテクストを含む。メモリは、例えば電子ネットワークによってサポートされた各データチャンネルに対して、サイクルスタートコンテクストインストラクションモジュール、送信コンテクストインストラクションモジュール、受信コンテクストインストラクションモジュールを記憶する。制御状態機械は、電子ネットワークから受信されたデータパケットヘッダに含まれたコンテクスト情報に応じて、インストラクションモジュールの１つを選択する。
【０００９】
制御状態機械は、例えば切換アドレス発生器と、リターンアドレスレジスタと、プログラムカウンタ選択器とを備える。切換アドレス発生器は、選択されたコンテクストに対応するインストラクションモジュールの第１のインストラクション用のアドレスである切換アドレスを出力する。リターンアドレスレジスタは、中断したインストラクションモジュールの、次に続くインストラクションのアドレスであるリターンアドレスを記憶する。プログラムカウンタ選択器は、メモリにおいて適切なインストラクションを選択して、プロセッサが実行するために、切換アドレス、リターンアドレス、又は次に続くアドレスを出力する。
【００１０】
切換アドレス発生器は、サイクルアドレスレジスタと、送信アドレスレジスタと、受信アドレスレジスタとを備える。サイクルアドレスレジスタは、サイクルスタートインストラクションモジュールの第１のインストラクションのアドレスを記憶する。送信アドレスレジスタは、送信インストラクションモジュールの第１のインストラクションのアドレスを記憶する。受信アドレスレジスタは、受信インストラクションモジュールの第１のインストラクションのアドレスを記憶する。受信インストラクションモジュールは、電子ネットワークによってサポートされた各データチャンネルの受信インストラクションモジュールを含む。
【００１１】
コンテクスト切換が起こると、インストラクションモジュールの実行は、中断される。リターンアドレスレジスタは、中断したインストラクションモジュールの実行を、中断が発生した時点で再開できるようにリターンアドレスを記憶する。したがって、本発明は、電子ネットワークにおけるコンテクスト切換の効果的で効率的な装置及び方法を実現することができる。
【００１２】
発明の詳細な説明
本発明は、電子ネットワークにおける改善に関する。以下の説明は、当業者が発明を実施及び使用できるように述べ、特許出願書式（context of a patent application）及び特許出願要件（requirement）を満たすものである。当業者にとって好ましい実施例を様々に変形できることは明白であり、ここに述べる基本的な原理は、他の実施例にも適用することができる。したがって、本発明は、以下の実施例に限定されるものではなく、ここに述べる原理及び特徴に基づいて広く解釈されるべきである。
【００１３】
本発明は、コンテクストに対応したインストラクションモジュール（instruction module）を記憶するよう設計されたメモリと、そのインストラクションモジュールを実行するプロセッサと、制御状態機械（control state machine）とを備える。制御状態機械は、電子ネットワークからのコンテクスト情報に基づいて、インストラクションモジュールの中から１つを選択し、プロセッサはそれを実行する。制御状態機械は、例えば、切換アドレス発生器と、リターンアドレスレジスタと、プログラムカウンタ選択器とを備える。切換アドレス発生器は、選択されたコンテクストインストラクションモジュールの第１のインストラクションのアドレスである切換アドレスを出力する。リターンアドレスレジスタは、インストラクションモジュールがコンテクスト切換のために中断されると、次に続くインストラクションのアドレスであるリターンアドレスを記憶する。プログラムカウンタ選択器は、切換アドレス、リターンアドレス又は次に続くアドレスを出力し、メモリにおいて適切なインストラクションを選択し、プロセッサが実行する。
【００１４】
図１は、本発明を適用した電子ネットワーク１１０の具体的な構成を示すブロック図である。電子ネットワーク１１０は、機器Ａ１１２（ａ）と、機器Ｂ１１２（ｂ）と、機器Ｃ１１２（ｃ）と、機器Ｄ１１２（ｄ）と、機器Ｅ１１２（ｅ）とを備える。なお、電子ネットワーク１１０は、これに限定されるものではない。電子ネットワーク１１０の他の様々な実施例として、さらに多い、又は少ない数の機器を多くの異なる配置で接続してもよい。機器Ａ１１２（ａ）、機器Ｂ１１２（ｂ）、ルート機器１１４、機器Ｃ１１２（ｃ）、機器Ｄ１１２（ｄ）及び機器Ｅ１１２（ｅ）は、パーソナルコンピュータ、プリンタ、デジタルビデオディスク、テレビジョンセット、オーディオ装置、ビデオカセットレコーダ、デジタルビデオ放送用のセットトップボックスを含むが、これらに限定されない様々な種類の電子機器である。
【００１５】
電子ネットワーク１１０内の機器は、例えばバスを用いて互いに通信を行う。バスは、ケーブル１３２（ａ）と、ケーブル１３２（ｂ）と、ケーブル１３２（ｃ）と、ケーブル１３２（ｄ）と、ケーブル１３２（ｅ）とからなる。機器Ｂ１１２（ｂ）は、ケーブル１３２（ａ）を介して機器Ａ１１２（ａ）に、ケーブル１３２（ｂ）を介してルート機器１１４にそれぞれ接続される。ルート機器１１４は、ケーブル１３２（ｃ）を介して機器Ｃ１１２（ｃ）に、ケーブル１３２（ｄ）を介して機器Ｄ１１２（ｄ）にそれぞれ接続される。機器Ｄ１１２（ｄ）は、ケーブル１３２（ｅ）を介して機器Ｅ１１２（ｅ）に接続される。図１に示す実施例において、ケーブル１３２（ａ）〜１３２（ｅ）は、例えば高性能シリアルバス（High Performance Serial Bus）のＩＥＥＥ１３９４−１９９５規格（1394-1995 IEEE Standard）に準拠している。ＩＥＥＥ１３９４−１９９５規格は、参照することによって本出願に組み込まれる。なお、他のネットワーク接続規格も、本発明の範囲内にある。
【００１６】
電子ネットワーク１１０内の各機器は、そのネットワーク内の他の機器と通信を行うことができる。例えば、機器Ｅ１１２（ｅ）は、ケーブル１３２（ｅ）を介して機器Ｄ１１２（ｄ）にデータを送信し、機器Ｄ１１２（ｄ）はケーブル１３２（ｄ）を介してルート機器１１４にデータを送信し、ルート機器１１４はケーブル１３２（ｂ）を介して機器Ｂ１１２（ｂ）にデータを送信することにより、機器Ｂ１１２（ｂ）と通信を行うことができる。図１に示す実施例において、ルート機器１１４は、ネットワーク１１０内の全ての機器の動作を同期させるためのマスタクロック信号（master clock signal）を備える。電子ネットワーク１１０の他の実施例において、ネットワーク機器のいずれか１つが、ルート機器又はサイクルマスタ（cycle master）として指定されてもよい。
【００１７】
図２は、本発明を適用した電子ネットワーク１１０内のネットワーク機器の具体的な構成を示すブロック図である。機器１１２は、例えばホストプロセッサ２１２と、入／出力（input/output：以下、Ｉ／Ｏという。）インタフェース２１４と、メモリ２１６と、デバイスバス２１８と、バスインタフェース２２０とを備える。なお、機器１１２の構成は、これに限定されるものではない。ホストプロセッサ２１２、Ｉ／Ｏインタフェース２１４、メモリ２１６、バスインタフェース２２０は、例えばデバイスバス２１８を介して通信を行う。
【００１８】
ホストプロセッサ２１２は、適切な多目的マイクロプロセッサとして実現されてもよい。メモリ２１６は、読出し専用メモリ、ランダムアクセスメモリ、フロッピーディスク（登録商標）又はハードディスクのような様々な種類の不揮発性メモリを含む複数の記憶装置を組み合わせたものとして実現される。なお、メモリ２１６の構成は、これに限定されるものではない。Ｉ／Ｏインタフェース２１４は、ネットワーク１１０以外の、例えばインターネットなどのネットワークに対するインタフェースを行う。バスインタフェース２２０は、機器１１２とネットワーク１１０間のインタフェースを行い、ケーブル１３２を介してネットワーク１１０と通信を行う。バスインタフェース２２０は、パス２２６とデバイスバス２１８を介してホストプロセッサ２１２、Ｉ／Ｏ機器２１４及びメモリ２１６と通信を行う。また、バスインタフェース２２０は、パス２２４を介してメモリ２１６と直接通信を行う。
【００１９】
図３は、図２に示す本発明を適用したバスインタフェース２２０の具体的な構成を示すブロック図である。バスインタフェース２２０は、物理層（physical layer：以下、ＰＨＹという。）３１２と、リンク層（link layer：以下、ｌｉｎｋという。）３１４と、送信ＦＩＦＯレジスタ（transmit first-in-first-out register：以下、ＴＸ  ＦＩＦＯという。）３１６と、受信ＦＩＦＯレジスタ（以下、ＲＸ  ＦＩＦＯという。）３１８と、アイソクロノスデータプロセッサ（isochronous data processor：ＩＤＰ）３２０と、送信ダイレクトメモリアクセスＦＩＦＯ（以下、ＴＸ  ＤＭＡ  ＦＩＦＯという。）３２２と、受信ダイレクトメモリアクセスＦＩＦＯ（以下、ＲＸ  ＤＭＡ  ＦＩＦＯという。）３２４と、送信ダイレクトメモリアクセス（以下、ＴＸ  ＤＭＡという。）３２６と、受信ダイレクトメモリアクセス（以下、ＲＸ  ＤＭＡという。）３２８とを備える。なお、バスインタフェース２２０の構成は、これに限定されるものではない。バスインタフェース２２０は、通常は、伝統的な非同期データ転送動作（asynchronous data transfer operations）を管理する非同期データプロセッサ（図示せず）も備える。
【００２０】
アイソクロノスデータ転送は、通常は、時間に厳密な（time-sensitive）アプリケーションに用いられる。例えば、ネットワークを介してコンピュータ、テレビジョン又は他の表示機器に送信されるビデオ又はオーディオデータは、中断されることなく、適切なタイミングで、表示機器に受信される必要がある。アイソクロノスデータ転送によって、データは、そのデータが表示され、オーディオデータとビデオデータを同期させることができる速さと同じ速さで転送される。例えば、アナログ音声信号は、１２５マイクロ秒毎に１バイトの割合でデジタル化される。表示機器がアナログ音声信号を正確に再生するためには、この音声信号を１２５マイクロ秒毎に１バイトの割合で送る必要がある。
【００２１】
ＩＥＥＥ１３９４シリアルバスネットワークにおいて、各バスサイクルは、通常１２５マイクロ秒であり、サイクルマスタによって決定されている。サイクルマスタは、１２５マイクロ秒毎にサイクルスタートパケットを生成し、ネットワーク１１０上の全ての電子機器のクロックを同期させる。アイソクロノスデータ転送は、アイソクロノスデータ転送の各バスサイクルに関連するアイソクロノス処理を用いて、多くのバスサイクルに渡って実行される。
【００２２】
アイソクロノス処理において、プロセッサ時間及び他のシステムリソースは、特定のバスサイクル内で実行されなければならないと規定されているので、アイソクロノス処理は、各バスサイクルにおいて実行を終了することができる。バスサイクルにおけるアイソクロノス処理に用いられない時間は、通常、非同期データ転送処理に用いられ、互いに独立して実行する。アイソクロノス処理のスケジューリングは、決定されており、制限された待ち時間を有する。換言すると、いつアイソクロノス処理が行われるのかということは周知のことであり、各アイソクロノス処理は、与えられた時間内で行われる。
【００２３】
図３に示す実施例において、機器１１２がケーブル１３２上でデータを受信すると、入力ビットストリームデータをバイトデータに変換した後、ＰＨＹ３１２は、例えばパス３３０を介してリンク３１４にデータを送る。リンク３１４は、例えば入力データパケットからヘッダ情報を復号化し、入力データ及び様々なヘッダ情報を適切な宛先に割り当てる。ヘッダ情報は、対応するデータパケットの処理要求（processing requirements）を示しており、通常、チャンネル数、データの種類（例えば、非同期又はアイソクロノス）、信号速度を含んでいる。また、リンク３１４は、例えばバス１３２によって要求されるフォーマットで、出力データパケットのヘッダ情報を符号化する。
【００２４】
電子ネットワーク１１０において、各バスサイクルは、例えばサイクルスタートパケットで始まる。サイクルスタートパケットは、サイクルマスタによって生成され、１つ以上の機器からバス１３２を介してデータが到着するということをネットワーク１１０上の全ての機器に通知する。リンク３１４は、サイクルスタートパケットをパス３３２を介してＩＤＰ３２０に割り当てる。リンク３１４は、機器１１２によって受信された他の種類のデータをパス３３６を介してＲＸ  ＦＩＦＯ３１８に割り当てる。ＲＸ  ＦＩＦＯ３１８は、供給されたデータを一時的に記憶した後、そのデータを、例えばパス３４０を介してＩＤＰ３２０に送る。ＩＤＰ３２０は、受信データをパス３４４を介してＲＸ  ＤＭＡ  ＦＩＦＯ３２４に送る。受信データに対するＩＤＰ３２０の機能を、図４を用いて以下にさらに説明する。ＲＸ  ＤＭＡ  ＦＩＦＯ３２４は、その受信データを一時的に記憶した後、例えば、そのデータをパス３４８を介してＲＸ  ＤＭＡ３２８に供給する。そして、ＲＸ  ＤＭＡ３２８は、例えば受信されたデータをパス２２４（ｂ）を介してメモリ２１６（図２）に割り当てる。
【００２５】
機器１１２がバス１３２を介してデータを送信するときは、ＴＸ  ＤＭＡ３２６は、例えばパス２２４（ａ）を介してメモリ２１６からデータをフェッチし、パス３４６を介してＴＸ  ＤＭＡ  ＦＩＦＯ３２２にデータを供給する。ＴＸ  ＤＭＡ  ＦＩＦＯ３２２は、データを一時的に記憶した後、例えば、パス３４２を介してそのデータをＩＤＰ３２０に送る。送信データに対するＩＤＰ３２０の機能を、図４を用いて以下にさらに説明する。ＩＤＰ３２０は、パス３３８を介してＴＸ  ＦＩＦＯ３１６にデータを送る。ＴＸ  ＦＩＦＯ３１６は、データを一時的に記憶する後、例えば、パス３３４を介してリンク３１４にデータを送る。次に、リンク３１４は、適切なヘッダ情報を有する送信データパケットを生成し、そのパケットをＰＨＹ３１２に送る。そして、ＰＨＹ３１２は、バス１３２上に送信するために、送信データパケットのバイトを送信ビットストリームに変換する。
【００２６】
図４は、図３に示す本発明を適用したＩＤＰ３２０の具体的な構成を示すブロック図である。ＩＤＰ３２０は、制御記憶４１２と、中央処理装置（central processing unit：以下、ＣＰＵという。）４１４と、送信（transmit：以下、ＴＸという。）エンジン４１６と、受信（receive：以下、ＲＸという。）エンジン４１８と、制御状態機械（control state machine）とを備える。なお、ＩＤＰ３２０の構成は、これに限定されるものではない。
【００２７】
図４に示す具体例において、制御記憶４１２は、メモリからなり、例えばパス４４４を介してＣＰＵ４１４に出力され、それに基づいてＣＰＵ４１４で実行される、様々なインストラクションを記憶する。これらのインストラクションは、例えばホストプロセッサ２１２（図２）によって、パス２２６を介して制御記憶４１２にロードされる。また、ホストプロセッサ２１２は、例えばＣＰＵ４１４内部のレジスタファイルにパス２２６を介して情報をロードする。さらに、ホストプロセッサ２１２は、制御記憶４１２及びＣＰＵ４１４内部のレジスタファイルの内容を読み出してもよい。制御記憶４１２の内容及び機能を、図５を用いて以下にさらに説明する。
【００２８】
ＣＰＵ４１４は、制御記憶４１２からのインストラクションに基いて、入力及び出力データに対して様々な処理を実行する。ＣＰＵ４１４は、ＴＸエンジン４１６と共に、出力データを処理し、ＲＸエンジン４１８と共に、入力データを処理する。また、ＣＰＵ４１４は、リンク３１４によって供給されたサイクルスタートパケットにおける情報を処理する。
【００２９】
制御状態機械４２０は、パス３３２を介してリンク３１４（図３）から様々な信号を受信する。リンク３１４からの信号は、通常、バス１３２上のデータパケットのコンテクスト、信号速度、受信されたデータパケットのチャンネル数を含んでいる。また、制御状態機械４２０は、ＴＸ  ＦＩＦＯ３１６、ＲＸ  ＦＩＦＯ３１８、ＴＸ  ＤＭＡ  ＦＩＦＯ３３２、及びＲＸ  ＤＭＡ  ＦＩＦＯ３２４がデータを受信するのにフルであるか又は可能であるかを示すＦＩＦＯフラグ４４２を受信する。また、制御状態機械４２０は、パス４３２を介してＣＰＵ４１４から制御信号を供給される。制御状態機械４２０は、ＣＰＵ４１４によって実行される、制御記憶４１２内の適切なインストラクションを選択するために、これらの様々な信号を最大限に利用する。
【００３０】
機器１１２がコンテクストを切り換えるように要求されると、制御状態機械４２０は、制御記憶４１２内の適切なインストラクションモジュールを選択する。例えば、機器１１２がバス１３２を介してデータを送信するとき、制御状態機械４２０は、ＣＰＵ４１４によって実行される、制御記憶４１２内の送信インストラクションモジュールを選択する。機器１１２がバス１３２からデータを受信するとき、制御状態機械４２０は、ＣＰＵ４１４によって実行される、制御記憶４１２内の受信インストラクションモジュールを選択する。制御状態機械４２０の機能を図５を用いて以下にさらに説明する。
【００３１】
図５は、図４に示す本発明を適用した制御状態機械４２０及び制御記憶４１２の具体的な構成を示すブロック図である。制御状態機械４２０は、切換アドレス発生器５１２と、リターンアドレスレジスタ５１４と、プログラムカウンタ選択器５１６と、切換制御器５１８とを備える。なお、制御状態機械４２０の構成は、これに限定されるものではない。制御記憶４１２は、サイクルスタートインストラクション５４０と、送信インストラクション５４２と、チャンネル０（Ｃｈ−０）受信インストラクション５４４〜チャンネルＮ（Ｃｈ−Ｎ）受信インストラクション５４８を含む受信インストラクションとを含むインストラクションモジュールを記憶する。ＩＥＥＥ１３９４シリアルバスネットワークは、６４までのデータチャンネルをサポートするが、いかなるチャンネル数をネットワークが利用していても、本発明の範囲内である。また、制御記憶４１２は、ＣＰＵ４１４によって実行される他のインストラクションを含んでもよい。
【００３２】
機器１１２が、バス１３２を介してサイクルスタートパケットを受信すると、切換制御器５１８は、パス５２６を介して切換アドレス発生器５１２に制御信号を送る。切換アドレス発生器５１２は、これに応じて、サイクルスタートインストラクション５４０の第１のインストラクションの適切なアドレス、すなわち切換アドレスを生成する。切換アドレス発生器５１２は、切換アドレスをパス５２０を介してプログラムカウンタ選択器５１６に出力する。切換制御器５１８は、切換アドレスを選択するために、パス５２８を介してプログラムカウンタ選択器５１６に制御信号を送り、その後、その切換アドレスは、パス４３０を介して制御記憶４１２に出力される。制御記憶４１２は、切換アドレスに応じて、サイクルスタートインストラクション５４０の第１のインストラクションを、パス４４４を介してＣＰＵ４１４に送る。そして、切換制御器５１８は、プログラムカウンタ選択器５１６に制御信号を送り、プログラムカウンタ選択器５１６は、連続したアドレスを制御記憶４１２に出力し、連続したサイクルスタートインストラクション５４０がＣＰＵ４１４に出力され、実行される。
【００３３】
機器１１２がバス１３２を介してネットワーク１１０にデータを送信するとき、切換制御器５１８は、パス４３２を介してＣＰＵ４１４からのスタート信号を受信する。そして、切換制御器５１８は、例えばＦＩＦＯフラグ４４２をチェックし、ＴＸ  ＤＭＡ  ＦＩＦＯ３２２（図３）が空ではないかを確かめる。ＴＸ  ＤＭＡ  ＦＩＦＯ３２２が空でないときには、切換制御器５１８は、切換アドレス発生器５１２に制御信号を送り、切換アドレス発生器５１２は、これに応じて送信インストラクション５４２の第１のインストラクション用の適切なアドレス、すなわち切換アドレスを生成する。そして、切換制御器５１８は、切換アドレスを選択するために、プログラムカウンタ選択器５１６に制御信号を送る。そして、制御記憶４１２は、ＣＰＵ４１４に送信インストラクション５４２の第１のインストラクションを送り、ＴＸエンジン４１６と共に、ＴＸ  ＤＭＡ  ＦＩＦＯ３２２内のデータの送信を開始する。次に、切換制御器５１８は、制御信号をプログラムカウンタ選択器５１６に送り、プログラムカウンタ選択器５１６は、送信インストラクション５４２用の連続したアドレスを出力する。
【００３４】
機器１１２がデータを送信している間に、ネットワーク１１０内の他の機器は、機器１１２にデータの送信を開始することができる。機器１１２が受信コンテクストに切り換わらず、データの受信を開始しないときには、データは、喪失する。したがって、機器１１２は、例えば送信処理を中断し、データの受信を開始する。機器１１２は、送られてくるデータを受信した後、中断した上述の送信処理における送信を再開する。
【００３５】
機器１１２がデータの送信を再開するためには、リターンアドレスレジスタ５１４は、例えば次に続く送信インストラクション５４２のアドレスを記憶する。プログラムカウンタ選択器５１６は、パス５２４を介して次に続く送信インストラクション５４２のアドレスを出力する。切換制御器５１８は、リターンアドレスレジスタ５１４に制御信号を送り、リターンアドレスレジスタ５１４は、次の送信インストラクション５４２のアドレスを記憶する。このように、次に続く送信インストラクション５４２のアドレスは、リターンアドレスである。
【００３６】
パス３３２を介してリンク３１４からの情報及びパス５２６を介して切換制御器５１８からの制御信号に応答して、切換アドレス発生器５１２は、適切な受信インストラクションモジュール、例えばＣｈ−１受信インストラクション５４６の第１のインストラクション用のアドレスを出力する。切換制御器５１８は、切換アドレスを選択して制御記憶４１２に出力するために、プログラムカウンタ選択器５１６に制御信号を送る。制御記憶４１２は、Ｃｈ−１受信インストラクションの第１のインストラクションをＣＰＵ４１４に各々送り、ＣＰＵ４１４はそのインストラクションを実行する。そして、切換制御器５１８は、プログラムカウンタ選択器５１６に制御信号を送り、これによってＣｈ−１受信インストラクション５４６の次に続くアドレスは、制御記憶４１２に出力される。
【００３７】
ＣＰＵ４１４がＣｈ−１受信インストラクション５４６の実行を終了すると、機器１１２は、例えば中断された送信処理におけるデータの送信を再開する。切換制御器５１８は、プログラムカウンタ選択器５１６に制御信号を送り、プログラムカウンタ選択器５１６は、切換アドレスを選択して制御記憶４１２に出力する。プログラムカウンタ選択器５１６は、制御記憶４１２にリターンアドレスを出力し、制御記憶４１２は、適切な送信インストラクション５４２をＣＰＵ４１４に送り、データの送信を再び開始する。次に、切換制御器５１８は、プログラムカウンタ選択器５１６に制御信号を送り、プログラムカウンタ選択器５１６は、残りの送信インストラクション５４２の連続したアドレスを出力する。
【００３８】
切換制御器５１８は、例えば状態機械（state machine）であり、ＣＰＵ４１４からのスタート信号を受信すると、データが機器１１２によって現在送信されていなくても、コンテクスト切換が要求されるまで、送信モードを維持する。コンテクスト切換が要求されると、切換制御器５１８は、受信モード又はサイクルスタートモードに変わり、上述したように、切換アドレス発生器５１２、リターンアドレスレジスタ５１４及びプログラムカウンタ選択器５１６に適切な制御信号を送る。受信処理又はサイクルスタート処理が終了すると、切換制御器５１８は、送信モードに戻る。
【００３９】
図６は、図５に示す本発明を適用した切換アドレス発生器５１２及びプログラムカウンタ選択器５１６の具体的な構成を示すブロック図である。切換アドレス発生器５１２は、受信（receive：以下、ＲＸという。）アドレスレジスタ６１２と、サイクルスタート（cycle start：以下、ＣＳという。）アドレスレジスタ６１４と、送信（transmit：以下、ＴＸという。）アドレスレジスタ６１６と、マルチプレクサ６１８とを備える。なお、切換アドレス発生器５１２の構成は、これに限定されるものではない。
【００４０】
ホストプロセッサ２１２（図２）は、インストラクションを制御記憶４１２に書き込み、その後、各インストラクションモジュールの第１のインストラクションをパス５３０を介して切換アドレス発生器５１２に書き込む。第１のサイクルスタートインストラクション５４０のアドレスは、ＣＳアドレスレジスタ６１４に記憶され、第１の送信インストラクション５４２のアドレスは、ＴＸアドレスレジスタ６１６に記憶される。各受信インストラクションモジュール５４４〜５４８の第１のインストラクションのアドレスは、ＲＸアドレスレジスタ６１２に記憶される。リンク３１４からＲＸアドレスレジスタ６１２への信号は、どの受信インストラクションアドレスが、パス６３２を介してマルチプレクサ６１８に出力されるかを決定する。マルチプレクサ６１８に出力される受信インストラクションアドレスは、例えば機器１１２によって受信されるデータのチャンネルに相当する。
【００４１】
切換アドレス発生器５１２に記憶された、あるアドレスは、パス５２６を介した切換制御器５１８からの制御信号に応答して、プログラムカウンタ選択器５１６に出力される。マルチプレクサ６１８の入力０が選択されると、適切な受信インストラクションモジュールの第１のアドレスは、切換アドレスになり、プログラムカウンタ選択器５１６に出力される。マルチプレクサ６１８の入力１が選択されると、第１のサイクルスタートインストラクションは、切換アドレスになり、プログラムカウンタ選択器５１６に出力される。マルチプレクサ６１８の入力２が選択されると、第１の送信インストラクションは、切換アドレスになり、プログラムカウンタ選択器５１６に出力される。
【００４２】
プログラムカウンタ選択器５１６は、マルチプレクサ６２０と、プログラムカウンタ（program counter：以下、ＰＣという。）フリップフロップ６２２と、インクリメンタ（incrementer）６２４とを備える。なお、プログラムカウンタ選択器５１６の構成は、これに限定されるものではない。プログラムカウンタ選択器５１６は、パス５２８を介した切換制御器５１８からの制御信号に応答して、切換アドレス、リターンアドレス又は次に続くアドレスのいずれかを出力する。マルチプレクサ６２０の入力１が選択されると、切換アドレスが、制御記憶４１２に出力される。マルチプレクサ６２０の入力２が選択されると、リターンアドレスが、制御記憶４１２に出力される。
【００４３】
マルチプレクサ６２０の入力０が選択されると、次に続くアドレスが、制御記憶４１２に出力される。次に続くアドレスは、インクリメンタ６２４によって生成され、インクリメンタ６２４は、プログラムカウンタ選択器５１６の現在の出力が供給され、現在の出力に１を足す。次に続くアドレスは、パス６４２を介してマルチプレクサ６２０、及びパス５２４を介してリターンアドレスレジスタ５１４に入力される。図５と関連して上述されているように、送信が中断されると、切換制御器５１８からの制御信号に応答して、リターンアドレスレジスタ５１４は、次に続くアドレスを記憶する。ＰＣフリップフロップ６２２は、現在選択されているアドレスを制御記憶４１２にラッチ（latch）する。
【００４４】
図７は、本発明を適用した電子ネットワークにおけるコンテクスト切換の方法を示すフローチャートである。最初に、ステップ７１０において、制御状態機械４２０は、ＣＰＵ４１４からのスタート信号を待つ。制御状態機械４２０は、スタート信号を受信すると、ステップ７１２において、制御記憶４１２における送信インストラクション５４２の第１のインストラクションのアドレスを選択する。その後、ステップ７１４において、制御記憶４１２は、そのインストラクションをＣＰＵ４１４に送り、ＣＰＵ４１４は、その選択された送信インストラクションを実行する。各送信インストラクションが実行されると、ステップ７１６において、制御状態機械４２０は、リンク３１４によって検出（detect）されるコンテクスト切換が行われたかどうかを判定する。コンテクスト切換が行われていないと、ステップ７１８において、制御状態機械４２０は、送信処理が終了したかどうかを判定する。送信処理が終了しているときには、図７に示す方法ステップ７１０に戻る。送信処理が終了していないときには、図７に示す方法ステップ７１４に戻り、ＣＰＵ４１４は、送信処理を実行し続ける。
【００４５】
ステップ７１６において、制御状態機械４２０は、コンテクスト切換を行うべきかどうかを判定し、ステップ７２０において、制御状態機械４２０は、リターンアドレスレジスタ５１４に、次に続く送信インストラクションのアドレスを記憶し、そのアドレスはリターンアドレスになる。ステップ７２２において、制御状態機械４２０は、リンク３１４からの情報に基づいて、要求されたコンテクストは、サイクルスタートコンテクスト又は受信コンテクストであるかどうかを判定する。要求されたコンテクストがサイクルスタートコンテクストであれば、方法ステップは、ステップ７２６に進む。要求されたコンテクストが受信コンテクストであれば、方法ステップは、ステップ７２４に進む。
【００４６】
サイクルスタートコンテクストの間、ステップ７２６において、制御状態機械４２０は、制御記憶４１２内のサイクルスタートインストラクションの第１のインストラクションのアドレスを選択する。その後、ステップ７３０において、ＣＰＵ４１４は、サイクルスタートインストラクション５４０を順次、実行し、サイクルスタート処理を実行する。ステップ７３４において、制御状態機械４２０は、各インストラクションを実行した後、サイクルスタート処理が終了したかどうかを判定する。サイクルスタート処理が終了していなければ、図７に示す方法ステップ７３０に戻り、サイクルスタート処理を続ける。なお、サイクルスタート処理が終了すると、図７に示す方法ステップ７３６に進む。
【００４７】
受信コンテクストの間、ステップ７２４において、制御状態機械４２０は、制御記憶４１２内の適切な受信インストラクションモジュール（例えば、Ｃｈ−０インストラクション５４４）の第１のインストラクションのアドレスを選択する。その後、ステップ７２８において、ＣＰＵ４１４は、受信インストラクションを順次、実行し、受信処理を実行する。ステップ７３２において、制御状態機械４２０は、各インストラクションを実行した後、受信処理が終了したかどうかを判定する。受信処理が終了していなければ、図７に示す方法ステップ７２８に戻り、受信処理を続ける。
【００４８】
なお、受信処理が終了すると、ステップ７３６において、制御状態機械４２０は、リターンアドレスレジスタ５１４からのリターンアドレスを読み出し（retrieve）、制御記憶４１２にリターンアドレスを送る。その後、図７に示す方法は、ステップ７１４に戻り、ＣＰＵ４１４は、リターンアドレスに対応する送信インストラクションに基づいて、中断された送信処理を再開する。上述した図７の方法ステップは、サイクルスタート処理又は受信処理によって中断された送信処理を説明する。なお、他のコンテクスト切換シナリオは、同じように本発明の範囲内である。
【００４９】
以上、本発明を好ましい実施例を用いて説明したが、この開示によって、他の実施例を実現できることは、当事者にとって明らかである。例えば、本発明は、上述の好ましい実施例以外の構成及び方法を用いて、容易に実現することができる。また、本発明は、上述した好ましい実施例とは異なるシステムを用いて効果的に用いることができる。したがって、好ましい実施例を様々に変形することは、本発明の範囲であり、本発明は、請求の範囲のみによって限定されるものである。
【図面の簡単な説明】
【図１】  本発明を適用した電子ネットワークの具体的な構成を示すブロック図である。
【図２】  本発明を適用したネットワーク機器の具体的な構成を示すブロック図である。
【図３】  図２に示す本発明を適用したバスインタフェースの具体的な構成を示すブロック図である。
【図４】  図３に示す本発明を適用したアイソクロノスデータプロセッサ（ＩＤＰ）の具体的な構成を示すブロック図である。
【図５】  図４に示す本発明を適用した制御状態機械及び制御記憶の具体的な構成を示すブロック図である。
【図６】  図５に示す本発明を適用した切換アドレス発生器及びプログラムカウンタ選択器の具体的な構成を示すブロック図である。
【図７】  本発明の実施例を適用した電子ネットワークにおけるコンテクスト切換の方法を示すフローチャートである。
【図１】
0004703074.tif 000002
【図２】
0004703074.tif 000003
【図３】
0004703074.tif 000004
【図４】
0004703074.tif 000005
【図５】
0004703074.tif 000006
【図６】
0004703074.tif 000007
【図７】
0004703074.tif 000008