(57)【特許請求の範囲】
【請求項１】
バスを介して相互接続された複数のノード装置と、バス制御線を介して前記複数のノード装置に接続されたバス管理手段と、からなるバス・システムであって、
前記バス管理手段は、前記複数のノード装置の中の少なくとも１つのノード装置によって転送されるべき等時性データブロック転送予約を受け取り、少なくとも転送速度、転送元ノードの識別情報、転送宛先ノードの識別情報および優先度を含む前記等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも１つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも１つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも１つのデータブロックのそれぞれの転送用のバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、前記計画と、少なくとも１つのノード装置による少なくとも１つのデータブロックの転送の要求とに従って、１つのデータブロックに対するバス・チャネルの割り当てを決定し、前記１つのデータブロックを転送するノード装置に、前記バス制御線を介して前記１つのデータブロックのバス・チャネル動作速度の情報および前記１つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間のバス・チャネル使用許可を与え、
前記ノード装置は、前記転送要求中のデータブロックの転送が完了するまで前記データブロックの転送要求を維持し、前記バス管理手段から受け取った前記１つのデータブロックのバス・チャネル使用許可に応答して、バス・チャネル使用許可された期間、受け取った前記情報のバス・チャネル動作速度で別のノード装置に前記データブロックのデータを転送することを特徴とする、
バス・システム。
【請求項２】
前記複数のノード装置の中の１つのノード装置は中央処理装置であり、前記中央処理装置は前記バス管理手段に前記等時性データブロック転送予約を表す信号を直接送信するものであることを特徴とする、請求項１に記載のバス・システム。
【請求項３】
前記バス管理手段は前記等時性データブロック転送予約を表す信号を前記少なくとも１つのノード装置から等時性データブロック転送予約用の専用線を介して受信するものであることを特徴とする、請求項１に記載のバス・システム。
【請求項４】
前記バス管理手段は前記複数のノード装置のうちの前記バス管理手段の機能を備えたノード装置の中から決定された１つのノード装置であり、前記バス管理手段は、前記等時性データブロック転送予約を表す信号を、転送を要求する前記少なくとも１つのノード装置から前記バス・チャネルを介して受信するものであることを特徴とする、請求項１に記載のバス・システム。
【請求項５】
前記バスは複数のバス・チャネルからなり、前記バス管理手段は、前記計画の一部として、前記複数のバス・チャネルの中から選択された少なくとも１つのバス・チャネルからなる前記等時性データの転送に使用すべき転送ルートを決定することを特徴とする、請求項１に記載のバス・システム。
【請求項６】
バス・システムにおける複数のノード装置にバス制御線を介して接続されるバス管理装置であって、
前記複数のノード装置の中の少なくとも１つのノード装置によって転送されるべき等時性データブロック転送予約を受け取る等時性データブロック転送予約管理手段と、
前記等時性データブロック転送予約管理手段からの、少なくとも転送速度、転送元ノードの識別情報、転送宛先ノードの識別情報および優先度を含む等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも１つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも１つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも１つのデータブロックのバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、前記計画と、前記少なくとも１つのノード装置による前記等時性データブロックおよび前記通常データブロックのうちの少なくとも１つのデータブロックの転送の要求とに従って、前記１つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間の前記１つのデータブロックに対するバス・チャネルの割り当てを決定するデータブロック制御手段と、
前記１つのデータブロックに対するバス・チャネルの割り当てに従って、前記１つのデータブロックを転送する前記１つのノード装置に、前記バス制御線を介して前記１つのデータブロックのバス・チャネル動作速度の情報およびバス・チャネル使用許可を与えるバス・チャネル管理手段と、
を具えることを特徴とする、バス管理装置。
【請求項７】
バス・システムにおけるバス管理装置にバス制御線を介して接続され、前記バス管理装置に対する転送要求中のデータブロックの転送が完了するまで前記データブロックの転送要求を維持し、前記バス管理装置から受け取った１つのデータブロックのバス・チャネル使用許可に応答して、バス・チャネル使用許可された期間、前記バス管理装置から受け取ったバス・チャネル動作速度で別のノード装置に前記データブロックのデータを転送するノード装置であって、
バス・チャネルに接続されていて、前記バス管理装置によって指定されたバス・チャネル動作速度および電圧で転送動作する、少なくとも１つ以上のチャネル・インタフェースと、
前記バス管理装置から受け取った制御情報に従って、前記チャネル・インタフェースの動作速度および動作電圧を調整する調整部と、
バッファメモリに結合され、前記バッファメモリから読み出した特定のデータブロックのデータを前記チャネル・インタフェースに供給し、および／または特定のデータブロックのデータを前記チャネル・インタフェースから受け取って前記バッファメモリに書き込み、転送を行うべきデータブロックの転送要求およびノード装置側の要因による転送可否状態および転送進行状況の管理を行う、少なくとも１つ以上のデータブロック管理手段と、
前記チャネル・インタフェースと前記データブロック管理手段とに接続されていて、前記チャネル・インタフェースと前記データブロック管理手段とを選択的に接続するスイッチと、
を具えることを特徴とする、ノード装置。
【請求項８】
バス・システムにおける複数のノード装置にバス制御線を介して接続されるバス管理装置用のプログラムであって、
前記複数のノード装置の中の少なくとも１つのノード装置によって転送されるべき等時性データブロック転送予約を受け取るステップと、
少なくとも転送速度、転送元ノードの識別情報、転送宛先ノードの識別情報および優先度を含む前記等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも１つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも１つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも１つのデータブロックのバス・チャネル動作速度、バス・チャネル使用権割り当て頻度および連続転送サイズの計画を生成するステップと、
前記計画と、前記１つのノード装置による前記等時性データブロックおよび前記通常データブロックのうちの１つのデータブロックの転送の要求とに従って、前記１つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間における前記１つのデータブロックに対するバス・チャネルの割り当てを決定するステップと、
前記１つのデータブロックに対するバス・チャネルの割り当てに従って、前記１つのデータブロックを転送する前記１つのノード装置に、前記バス制御線を介して前記１つのデータブロックのバス・チャネル動作速度の情報および前記１つのデータブロックのバス・チャネル使用許可を与えるステップと、
を実行させるよう動作可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス・システムに関し、特に、内部バスを介して複数のノードの間でオーディオ／ヴィジュアル（Ａ／Ｖ）情報を転送する情報処理装置に関する。
【背景技術】
【０００２】
通常のＡ／Ｖ情報家庭用電子機器において、バス・システムを介して、Ａ／Ｖストリーム等の等時性またはリアルタイム性を必要とするデータと、通常のデータとが転送される。等時性転送の等時性を維持するための制御は、ソフトウェアによって行われる。ハードウェアは、ノード毎かつ１転送サイクル毎のバス使用権のみを管理するので、ソフトウェアはどのような複数の等時性転送を行うかおよび通常データ転送がどれだけ発生するかを管理し、等時性転送を含む複数のデータ転送を、等時性転送が破綻しない程度に十分小さな単位で各転送の順序を管理する。ＩＥＥＥ１３９４の等時性データ転送によるバス・システムでは、周期的に等時性データ転送用の期間が確保される。いずれのバス・システムにおいても、等時性転送にはバッファ・オーバフローおよびアンダフローを避けるため、典型的にはバスの最大動作周波数またはノード固有の動作周波数でバスを動作させる。等時性転送を考慮しないバス・システムにおいては、消費電力を低減するために、バスの使用状況の統計などに基づいて、バス・システム全体の動作周波数および電圧を変え、または電源そのものをターンオフすることがある。
【０００３】
特開２０００−２０４５８号公報（Ａ）には、バス制御回路が記載されている。このバス制御回路では、アービタはブリッジからバスの動作状態を示すブリッジのバス監視回路からの信号によって制御信号とデータ線とを、バス監視回路からの信号によって制御線とデータ線とを監視し、各チャネル装置のトランザクション開始要求に対する許可を与える機能を持つ。アービタは２本のデータ線が３２ビットＰＣＩバス及び６４ビットＰＣＩバスとして動作することができるようにコントロールする。アービタは３２ビットＰＣＩバスとして動作させる場合、２つの３２ビットのチャネル装置に対して夫々異なる３２ビットＰＣＩバスを使用させるように制御する。
【特許文献１】特開２０００−２０４５８号公報
【０００４】
特開２００３−３０１３３号公報（Ａ）には、バス型アービトレーション・システムが記載されている。そのシステムにおいて、バス・アービタが、バスに接続されている各機能ブロック及び制御ブロックのバス使用効率を求めて、データ転送レート期待値を満足するように各機能ブロック及びＣＰＵに対するバスのデータ転送帯域を割り当てて、システムがリアルタイムに要求するバスのデータ転送レートを満足させるとともに、ＣＰＵが、システムの要求条件に従って各機能ブロック及びＣＰＵに対するバスのデータ転送レート期待値を決定してバス・アービタに登録する。
【特許文献２】特開２００３−３０１３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＩＥＥＥ１３９４の等時性転送によるバス・システムでは、伝送周波数帯域幅に上限があるので通常転送用の余分な帯域があってもそれを等時性転送に使用することはできず、等時性転送用の或る伝送期間を完全には使用していなくても、その期間の残りを他の等時性転送等に使用することはできず、等時性転送は、各ノード固有の動作レートでしか行えない。１周期の所定期間に転送され得るデータ量より大きい等時性転送用のデータ・バッファが送信ノードと受信ノードの双方で必要なので、ハードウェアは大きい。通常のバス・システムにおいても、バスの最大動作レートまたはノード固有の動作レートでバスを動作させるので、バスの伝送帯域が余っていても、消費電力が大きい。等時性転送を考慮しないバス・システムにおいては、バス・システム全体の動作レートおよび電圧を変更しまたは電源そのものをターンオフするまでに待ち時間が発生し、または単位時間当たりの切換の回数が増加して大きな電力変動が頻繁に起こることがあり、電力変動に耐え得る強力な電源が必要になる。
【０００６】
発明者たちは、バス・システムにおいて各データブロックをトラフィックに応じた可能な最低のバス・チャネル動作速度および動作電圧でバスを介してノード間で転送することによって、転送のための消費電力を全体的に低減することができる認識した。
【０００７】
本発明の１つの目的は、バスのトラフィックに応じてバス・チャネル動作速度および動作電圧を最小化して、バス・システムにおける転送のための消費電力を低減することである。
【０００８】
本発明の別の目的は、等時性転送と通常転送が混在可能なバス・システムにおいて、安定した等時性転送を容易に行えるようにすることである。
【課題を解決するための手段】
【０００９】
本発明の１つの特徴によれば、バス・システムは、バスを介して相互接続された複数のノード装置と、バス制御線を介してその複数のノード装置に接続されたバス管理手段と、からなり、そのバス管理手段は、その複数のノード装置の中の少なくとも１つのノード装置によって転送されるべき等時性データブロック転送予約を受け取り、転送速度、転送元ノードの識別情報、転送宛先ノードの識別情報および優先度を含むその等時性データブロック転送予約の情報と、その複数のノード装置の中の少なくとも１つのノード装置からのその等時性データブロックおよび通常データブロックのうちの少なくとも１つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおけるその少なくとも１つのデータブロックのそれぞれの転送用のバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、その計画と、少なくとも１つのノード装置による少なくとも１つのデータブロックの転送の要求とに従って、１つのデータブロックに対するバス・チャネルの割り当てを決定し、その１つのデータブロックを転送するノード装置に、そのバス制御線を介してその１つのデータブロックのバス・チャネル動作速度の情報およびその１つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間のバス・チャネル使用許可を与える。そのノード装置は、その転送要求中のデータブロックの転送が完了するまでそのデータブロックの転送要求を維持し、そのバス管理手段から受け取ったその１つのデータブロックのバス・チャネル使用許可に応答して、バス・チャネル使用許可された期間、受け取ったその情報のバス・チャネル動作速度で別のノード装置にそのデータブロックのデータを転送する。
【００１０】
本発明は、さらに、上述のバス管理手段を実現するプログラムに関する。
【発明の効果】
【００１１】
本発明によれば、バスのトラフィックに応じてバス・チャネル動作速度および動作電圧を最小化して、バス・システムにおける転送のための消費電力を低減することができ、等時性転送と通常転送が混在可能なバス・システムにおいて、安定した等時性転送を容易に行えるようになる。
【発明を実施するための最良の形態】
【００１２】
本発明の実施形態を図面を参照して説明する。図面において、同様の構成要素には同じ参照番号が付されている。
【００１３】
図１Ａおよび１Ｂは、それぞれ、通常のバス・システムの構成と、そのバス・システムにおける複数のノードＮＤ−ａ、ＮＤ−ｂおよびＮＤ−ｃ間での等時性データブロックＤＩおよび通常データブロックＤＮの転送のタイム・チャートとを示している。
【００１４】
図１Ａのバス・システムにおいて、ノードＮＤ−ａからノードＮＤ−ｂへおよびノードＮＤ−ｂからノードＮＤ−ｃへの例えばＡ／Ｖストリームのような等時性データブロックＤＩの転送要求と、ノードＮＤ−ａからノードＮＤ−ｃへの非等時性の通常データブロックＤＮとの転送要求が存在するとき、バス・アービタＢＡはそれぞれの転送要求に対してバス使用の許可ＧＲＴを与える。図１Ｂにおいて、等時性データＤＩの転送に確保された各転送サイクルＰ中の期間ＰＩにおいて等時性データＤＩが所定のデータ転送レート（速度、率）で行われ、期間ＰＩ中に空白が生じることがある。通常データＤＮの転送要求が存在するときは、通常データＤＮの転送に確保された転送サイクルＰ中の残りの期間において通常データＤＮが所定の転送レートで行われ、その残りの期間中に空白が生じることがある。
【００１５】
図２Ａおよび２Ｂは、データ転送要求の有無に応じてバス・システムの電源をオン／オフする場合におけるデータ転送とバス・システムの消費電力とを示している。この場合、データ転送が停止しても、データ転送の停止後に電源オフ動作の前にデータ待ち時間ＷＤが発生するので、電源のオン状態はデータ転送停止後も続く。
【００１６】
図３は、データ転送レートをバス上のトラフィックに応じて切換え制御する場合におけるデータ転送を示している。最初の転送サイクルＰ１では、トラフィックの量が多いので高い転送レートでデータが転送される。次の転送サイクルＰ２においてトラフィックの量が減少したときそれが検出される。その検出結果に従って、次の転送サイクルＰ３では、低い転送レートでデータが転送される。この場合、転送レートの切換えが１転送サイクルだけ遅れるので転送サイクルＰ２における転送に大きな空白が生じる。また、転送サイクルＰ３において低い転送レートでデータが転送されている期間に、転送要求されたデータ量が急増したときは、データ転送に遅延が生じ、受信ノードにおいて等時性データの再生に中断または欠落が生じることがある。
【００１７】
図４Ａ、４Ｂおよび４Ｃは、本発明の原理による、バス・システム１０の構成と、そのバス・システム１０における複数のノード（ＮＤａ、ＮＤｂ、ＮＤｃ）１００、２００および３００間の等時性データブロックＤＩ１およびＤＩ２および通常データブロックＤＮの転送のタイム・チャートとをそれぞれ示している。ＣＰＵ４００は、バス管理部５００に、各データブロックの要求特性、例えばバス動作速度すなわち転送レートの上下限および転送優先度、入出力バッファメモリのサイズ、および可変バースト長、等を予め通知して、バス管理部５００はそれを予め格納して転送のための処理を行う。バス管理部５００は、ノード１００〜３００からのデータブロックＤＩ１、ＤＩ２およびＤＮの転送要求、そのデータブロックの要求特性およびトラフィック状況に応じて、それぞれのノード１００〜３００にデータブロックの転送に対するバス・チャネル使用の許可ＧＲＴを与える。
【００１８】
バス・システム１０においては、転送データを、通常の形態でノード単位または転送サイクルの単位で管理するのではなく、それぞれの等時性転送および通常転送のデータのグループの単位、即ちデータブロック単位で管理する。
【００１９】
バス管理部５００は、各データブロックＤＩ１、ＤＩ２およびＤＮの要求特性のみに従って転送を制御する。バス管理部５００のソフトウェアは、各ノード１００〜３００に対してデータブロック単位でバスの使用の割り当て頻度、すなわち時間的回数配分の比率を調整し制御する。バス管理部５００は、データブロック単位で、各データブロックの転送要求特性と、各ノードのハードウェア特性とに応じて、バスの使用権を調停する。ハードウェア特性には、可能なバス転送レート、データビット幅および転送のオーバヘッド等から決まる転送帯域幅、各ノードまたはその内部のデータブロック管理部のバッファメモリ容量、およびバースト長、等が含まれる。バースト長が可変で、データブロックにより変化する場合は転送要求特性に含まれる。バス管理部５００は、各データブロックの転送要求特性と各ノード１００〜３００のハードウェア構成に基づいて最小限のバス動作速度および動作電圧で動作するように、データブロック毎に、動的に、転送サイクル、動作速度、動作電圧およびデータの転送サイズを調整し、バス２０およびノード１００〜３００を制御する。それによって、バス・システム１０における消費電力が全体的に最小化される。
【００２０】
ノード１００〜３００は、転送データブロック毎に転送管理および制御を行う。ノード１００〜３００は、同時に扱うデータブロックの数と等しい数のデータブロック管理部を有する。データブロックを送受信し利用するノード１００〜３００のハードウェアおよび／またはアプリケーションを変更するときは、そのソフトウェアの修正は、データブロックの優先度だけを考慮すればよく、従って比較的容易である。
【００２１】
バス管理部５００は、基本的にはデータブロックの転送要求が発生および終了したタイミングで、調停を行う。ＣＰＵ４００のソフトウェアは、通常、所定の要求特性で継続的に転送される等時性転送については、調停が円滑に行われるように転送開始前に転送要求の予約をバス管理部に予め登録してもよい。バス管理部５００はＣＰＵ４００のソフトウェアにバス２０の性能および／または利用状況に関する情報を報告する。ＣＰＵ４００のソフトウェアは、その情報に基づいて、バス・システム１０で、どのアプリケーションが動作可能か、ユーザに提供できるサービスを判断し提示することができる。
【００２２】
図４Ａ、４Ｂおよび４Ｃを参照すると、バス管理部５００は、アービトレーション・サイクルＰａ単位で、各アービトレーション・サイクルＰａにおける各データブロックＤＩ１、ＤＩ２およびＤＮに対するノード１００〜３００の転送レートすなわち動作速度、動作電圧、割り当て頻度および連続転送サイズ、転送時間期間およびバースト長等を決定し、バス２０の使用権を調停する。図４Ｂおよび４Ｃにおいて、最初は、等時性データブロックＤＩ１およびＤＩ２がバス２０上で交互にそれぞれの低い転送レートで転送される。データブロックの転送割り当てに変更が生じない間は、バス上のデータ・トラフィックの平均転送レートＲａｖがバスの最低転送レートＲｍｉｎより低くならない限り、様々な長さのバースト長を有する各転送データブロックの間には、基本的には最大時間長さＴｍ以下のデータ転送空白期間しか存在しない。タイミングＴ１で通常データブロックＤＩの転送要求が発生し、バス管理部５００による制御および調停によって、データブロックＤＩ１、ＤＩ２およびＤＩが循環的に高い転送レートで転送される。最大時間長さＴｍは、転送レートの調整等のオーバヘッドの最長時間である。タイミングＴ２でデータブロックＤＮの転送が完了し、バス管理部５００による制御および調停によって、データブロックＤＩ１およびＤＩ２が最初の交互に低い最初の転送レートで転送される。タイミングＴ３でデータブロックＤＩ２の転送が完了し、バス管理部５００による制御および調停によって、データブロックＤＩ１がより低い転送レートで転送される。従って、バス・システム１０の転送期間に無駄な空白期間が生じることが実質的に最小限に抑えられ、動作電圧に依存するバス・システム１０の消費電力は、ノード１００〜３００の転送レート、即ち動作電圧に応じて変動して全体的に最小化される。
【００２３】
図５は、本発明の実施形態による、典型例のバス・システム１０の構成を示している。バス・システム１０は、２つのバス・チャネルＣＨ−ＡおよびＣＨ−Ｂと、１００で示されたノード１と、２００で示されたノード２と、４００で示されＣＰＵであるノード３と、５００で示されたバス管理部と、からなる。この場合、バス管理部５００とＣＰＵ４００が直接通信可能なものとし、それは、例えば、バス管理部５００がＣＰＵを含むノード４００のＬＳＩの１つの機能ブロックであって、ノード４００が全ノード１００、２００および４００自体の機能を管理している場合である。この場合、ＣＰＵ４００が、バス管理部５００に対して等時性データブロック転送予約を直接登録する。
【００２４】
ノード１００、２００および４００は、２つのバス・チャネルＣＨ−Ａ、ＣＨ−Ｂに接続されている。バス管理部５００は、ノード１００から信号線を介して複数の要求信号ＲＥＱ１２〜ＲＥＱ１６を受け取り、ノード２００から信号線を介して複数の要求信号ＲＥＱ２を受け取り、ノード４００から信号線を介して複数の要求信号ＲＥＱ３を受け取る。バス管理部５００は、予め登録された等時性データブロック転送予約ＩＳＯＣ ＤＢＫ ＲＳＶと、要求信号ＲＥＱ１２〜ＲＥＱ１６、ＲＥＱ２およびＲＥＱ３とに応答して、計画期間において、各転送サイクルにおいて可能な限り低い転送レートでデータを転送するように転送割り当て計画または再計画を作成し、即ちバス・チャネルにおける等時性データブロックおよび／または通常データブロックの転送レート、割り当て頻度および連続転送サイズ等の計画を作成し、その計画に従って、各データブロックの連続転送サイズおよび転送レートによって決まる時間期間または転送サイクルにおける各データブロックに対するバス・チャネルの使用の割り当てを決定し、その時間期間において、バス・チャネルＣＨ−ＡとＣＨ−Ｂに対するパラメータ制御信号ＣＨ−Ａ ＣＴＲＬとＣＨ−Ｂ ＣＴＲＬを信号線を介してノード１００、２００および４００に供給して各ノードの動作レートおよび動作電圧を調整し、信号線を介して各ノード１００、２００および４００の転送データブロックに対するバス・チャネルＣＨ−ＡとＣＨ−Ｂの使用許可ＣＨ−Ａ ＧＲＴとＣＨ−Ｂ ＧＲＴを与える。
【００２５】
ノード１００は、データブロックを生成しまたは利用するアプリケーション１９０に接続されたデータ処理部１０２と、データ処理部１０２に接続されｎ個のデータブロック・バッファメモリ１１２〜１１６をそれぞれ有するｎ個のデータブロック管理部１２２〜１２６と、２つのバス・チャネルＣＨ−ＡおよびＣＨ−Ｂとのインタフェースを形成してデータブロックを送受信するチャネル・インタフェース（ＣＨ−Ａ ＩＦ、ＣＨ−Ｂ ＩＦ）１４２および１４４と、チャネル・インタフェース１４２および１４４の転送動作レートＲおよび動作電圧Ｖを調整するチャネル・インタフェース調整部（Ｒ＆Ｖ ＡＪ）１５２および１５４と、２つのバス・チャネルＣＨ−ＡとＣＨ−Ｂのうちの一方をデータブロック管理部１２２〜１２６の中の１つに、２つのバス・チャネルＣＨ−ＡとＣＨ−Ｂのうちの他方をデータブロック管理部１２２〜１２６の中の別の１つに選択的に切換えて接続するマトリックス・スイッチ部（ＭＸ ＳＷ）３１０と、を具えている。従って、同時に２つのバス・チャネルを用いてデータを転送することができる。ノード２００および４００もノード１００と同様の構成を含んでいる。
【００２６】
バス管理部５００は、ノード４００即ちＣＰＵから、ノード１００、２００および４００における等時性データブロックの転送に関する等時性データブロック予約信号ＩＳＯＣ  ＤＢＫ ＲＳＶを信号線を介して受け取るストリーム管理部（ＳＴＲＭ ＭＮＧ）５０８と、ストリーム管理部５０８に接続されたデータブロック制御部（ＤＢＬ ＣＴＲＬ）５１０と、データブロック制御部５１０からのデータブロック割り当ておよびリクエスト通知（ＤＢＫ ＡＳＧＮ ＆ ＲＥＱ）を受け取り、バス・チャネルＣＨ−ＡおよびＣＨ−Ｂ用のパラメータ制御信号（ＣＨ−Ａ ＰＲ ＣＴＲＬ、ＣＨ−Ｂ ＰＲ ＣＴＲＬ）およびチャネル使用許可（ＣＨ−Ａ ＧＲＴ、ＣＨ−Ｂ ＧＲＴ）を発生するチャネル制御部（ＣＨ−Ａ ＣＴＲＬ、ＣＨ−Ｂ ＣＴＲＬ）５２０および５４０と、を具えている。データブロック制御部５１０は、転送ルート計画部５１２を含んでいる。データブロック割り当てとは、各データブロックに対するそれぞれのバス・チャネルＣＨ−ＡおよびＣＨ−Ｂの使用の割り当て時間期間を表す。
【００２７】
転送ルート計画部５１２は、ノード１００、２００および４００から受け取った転送リクエストＲＥＱ１２〜１６、２、３と、ストリーム管理部５０８から受け取った等時性データブロック予約ＩＳＯＣ ＤＢＫ ＲＳＶとに基づいて、各転送データブロックに対して少なくとも１つのバス・チャネルからなる転送ルートを決定する。等時性データブロック予約信号ＩＳＯＣ ＤＢＫ ＲＳＶには、転送元ノードまたはマスタ・ノードのＩＤ、データブロック管理部ＩＤ（ＴＩＤ）、転送宛先ノードまたはスレーブ・ノードＩＤ、転送要求レートおよび優先度等が含まれている。等時性データブロックの転送リクエストＲＥＱには、データブロックのタイプ（等時性）、等時性転送予約ＩＤ、転送元ノードまたはマスタ・ノードのＩＤ、データブロック管理部ＩＤ（ＴＩＤ）、転送宛先ノードまたはスレーブ・ノードＩＤ、転送要求レートおよび優先度等が含まれている。通常データブロックの転送リクエストＲＥＱには、データブロックのタイプ（通常）、等時性転送予約ＩＤ、転送元ノードＩＤ、データブロック管理部ＩＤ（ＴＩＤ）、転送宛先ノードＩＤおよび優先度等が含まれている。バス管理部５１０は、各データブロックの転送タイミング、転送データ・バースト長、転送動作レートおよび動作電圧を決定し、チャネル制御部５２０および５４０にデータブロック割り当ておよびリクエスト通知を供給する。
【００２８】
チャネル制御部５２０は、データブロック・パラメータ計画部（ＤＢＫ ＰＲ ＰＬＮ）５２２と、パラメータ制御部（ＰＲ ＣＴＬ）５２４と、各バス・チャネル（ＣＨ−Ａ）用のチャネル・アービタ部（ＣＨ ＡＢ）５２６とを具えている。チャネル制御部５４０もチャネル制御部５２０と同様の構成を有する。データブロック・パラメータ計画部５２２は、そのデータブロック割り当ておよびリクエスト通知に従って、対応するチャネルＣＨ−Ａのデータブロックのパラメータを計画する。パラメータ制御部５２４は、その計画に従って、対応するチャネルＣＨ−Ａ上でデータブロックを転送するノード１００のチャネル・インタフェース調整部１５２および１５４に、およびそのデータブロックを受信する他のノード２００および４００に、チャネル・パラメータ制御信号ＣＨ−Ａ  ＰＲ  ＣＴＲＬを供給する。チャネル・アービタ部５２６は、そのデータブロック割り当ておよびリクエスト通知に従って、許可されたデータブロックを転送するデータブロック管理部（１２２〜１２６）の転送ＩＤ（ＴＩＤ）を含むチャネル使用許可信号ＣＨ−Ａ ＧＲＴを対応するノード１００、２００および４００に供給する。
【００２９】
チャネル・インタフェース調整部１５２および１５４は、チャネル・パラメータ制御信号ＣＨ−Ａ ＰＲ ＣＴＲＬおよびＣＨ−Ｂ ＰＲ ＣＴＲＬに従って、チャネル・インタフェース１４２および１４４の動作レートおよび動作電圧を調整する。ノード１００のマトリックス・スイッチ１３０は、チャネル・インタフェース１４２および１４４を介して、チャネル使用許可信号ＣＨ−Ａ ＧＲＴ、ＣＨ−Ｂ ＧＲＴに含まれていた転送ＩＤ（ＴＩＤ）を受け取り、データブロック管理部１２２〜１２６の中の対応するデータブロック管理部（例えば１２２）に供給する。ノード２００および３００も同様に動作する。
【００３０】
転送ＩＤ（ＴＩＤ）を含むチャネル使用許可（ＣＨ−Ａ ＧＲＴ、ＣＨ−Ｂ ＧＲＴ）を受け取ったデータブロック管理部１２２は、対応するデータブロック・バッファメモリ１１２に格納されていた送信データブロックをチャネル・インタフェース、例えばチャネル・インタフェース１４２に供給する。チャネル・インタフェース１４２は、調整された動作レートおよび動作電圧でデータブロックを宛先のノードに転送する。チャネル・インタフェース１４４も同様に動作する。
【００３１】
ノード１００がチャネルＣＨ−ＡまたはＣＨ−Ｂ上でデータブロックを受信する場合、チャネル・インタフェース１４２または１４４は、同様に、発信元のノード（例えばノード２００）から転送されたデータブロックを、チャネル制御部５４０によって調整された動作レートおよび動作電圧でそのバス・チャネルＣＨ−ＡまたはＣＨ−Ｂ上で受信する。
【００３２】
図６は、図５の場合のバス管理部５００と複数のノード１００、２００および４００の間のバスと信号線の詳細を例示している。ノード１００、２００および４００は、バス・チャネルＣＨ−ＡおよびＣＨ−Ｂ用のアドレスおよびデータ線ＡＤＤＲ＆Ｄａｔａ−Ａ、ＡＤＤＲ＆Ｄａｔａ−Ｂを介して互いに接続されている。バス管理部からノード１００、２００および４００へ接続される、バス・チャネルＣＨ−Ａ、ＣＨ−Ｂ用のクロック信号線ＣＬＫ−Ａ、ＣＬＫ−Ｂ、および動作レートおよび電圧設定情報線Ｒ＆Ｖ  ＩＤ−Ａ、Ｒ＆Ｖ ＩＤ−Ｂが設けられている。ノード１００および２００から、ノード３００即ちＣＰＵへの割り込み信号線ＩＲＴ−１、ＩＲＴ−２が設けられている。バス管理部５００からノード１００、２００および４００へ接続される、ノード制御信号線ＮＤ ＣＴＲＬ ＳＧＳが設けられている。各ノードに対する各バス・チャネル用のノード制御信号線ＮＤ ＣＴＲＬ ＳＧＳは、スレーブ・ウェイト信号線ＳＬＶ ＷＴ、複数のウェイト信号線ＷＴ、スレーブ・ノード選択線ＳＬＶ ＮＤ ＳＥＬ、複数のバス・チャネル使用許可線ＧＲＴおよび複数のリクエスト線ＲＥＱで構成されている。
【００３３】
図７は、本発明の別の実施形態による、典型例のバス・システム１４の構成を示している。バス・システム１４は、１０４で示されたノード１と、２０４で示されたノード２と、５０４で示されたバス管理部とからなる。この図においてノード１００と同様の別のノード３は省略されている。この場合、バス管理部５０４はノードとは別に設けられている。各ノード１０４および２０４は、等時性データブロック予約用の専用信号線を用いて、等時性データブロック予約ＩＳＯＣ ＤＢＫ ＲＳＶをバス管理部５０４に登録する。ノード１０４の等時性データブロック予約は、ノード１０４のデータ処理部１０２によってバス管理部５０４のストリーム管理部５０８に供給される。ノード２０４の等時性データブロック予約についても同様である。バス・システム１４のノード１０４および２０４、およびバス管理部５０４の構成は、図５のバス・システム１０のノード１００およびバス管理部５００の構成と同様であり、再度説明することはしない。
【００３４】
図８は、図７の場合のバス管理部５０４とノード１０４および２０４および別のノード３０４の間のバスと信号線の詳細を例示している。この場合、ノード１０４、２０４および３０４からバス管理部５０４に等時性データブロック予約用の専用信号線ＩＳＯＣ ＤＢＫ ＲＳＶが接続されている。その他の構成は図６のバス管理部５００およびノード１００の場合と同様である。
【００３５】
図９は、本発明のさらに別の実施形態による、典型例のバス・システム１６の構成を示している。バス・システム１６は、１０６で示されたノード１と、２０６で示されたノード２と、５０６で示されたノード４としてのバス管理部とからなる。この場合、バス管理部５０６はノードの機能を有し、ノード１０６および２０６は、通常のデータ転送と同様の形態で等時性データブロック予約をバス・チャネルＡまたはＢを介してバス管理部５０６に送ることができる。等時性データブロック予約を表すデータブロックには専用の優先順位を付与して、最高の優先度でノード１０６および２０６からバス管理部５０６に転送されるようにするのが望ましい。
【００３６】
図９において、各ノード１０６および２０６は送信データブロック管理部および／または受信データブロック管理部を有する。図９では、ノード１０６は、マスタおよびスレーブとして機能し、送信バッファメモリ１１３に接続されたマスタとしての送信データブロック管理部１３２、．．．１３４と、受信バッファメモリ１１５に接続されたスレーブとしての受信データブロック管理部１３６、．．．１３９と、を具えている。データ処理部１０２は、制御信号を送信データブロック管理部１３２、．．．１３４に供給し、制御信号を受信データブロック管理部１３６、．．．１３９との間で送受信する。
【００３７】
マトリックス・スイッチ１３０は、送信データブロック管理部１３２、．．．１３４に読み出し制御信号Ｒ ＣＴＬを供給して送信データブロック管理部１３２、．．．１３４を介して送信バッファメモリ１１３から送信データを読み出し、受信データブロック管理部１３６、．．．１３８に書き込み制御信号Ｗ ＣＴＬを供給して受信データブロック管理部１３６、．．．１３８を介して受信データを受信バッファメモリ１１５に書き込む。データ処理部１０２は、送信データを送信バッファメモリ１１３に供給して格納し、受信データを受信バッファメモリ１１５から取り出して処理する。送信データブロック管理部１３２、．．．１３４と、受信データブロック管理部１３６、．．．１３８とは、バス管理部５１２のデータブロック制御部５１０にリクエストＲＥＱ１２〜１６を供給する。
【００３８】
各ノードは、送信バッファメモリに接続されたマスタとしての１つ以上の送信データブロック管理部のみを具えていても、または受信バッファメモリに接続されたスレーブとしての１つ以上の受信データブロック管理部のみを具えていてもよい。
【００３９】
ノード１０６のデータ処理部１０２は、送信データブロック管理部１３２、．．．１３４を介して、バス・チャネルＣＨ−ＡまたはＣＨ−Ｂへ通常データブロックの形で等時性データブロック予約を供給し、ストリーム管理部５０８はバス・チャネルＣＨ−ＡおよびＣＨ−Ｂからノード・インタフェース（ＩＦ）５４２を介して等時性データブロック予約を受け取る。また、特にノード１０６が送信データブロック管理部を持たず受信データブロック管理部１３６、．．．１３９のみを有する場合は、ノード１０６のデータ処理部１０２は、受信データブロック管理部１３６、．．．１３８を介して、バス・チャネルＣＨ−ＡまたはＣＨ−Ｂへ通常データブロックの形で他のノードから受信すべきデータブロックの等時性データブロック予約を供給してもよい。
【００４０】
図１０は、図９の場合のバス管理部５０４とノード１０６および２０６の間のバスと信号線の詳細を例示している。この場合、等時性データブロック予約用の専用信号線は存在しない。
【００４１】
図１１は、図５〜１０のバス管理部５００、５０４および５０６のデータブロック制御部５１０およびチャネル制御部５２０および５４０によって実行される、転送ブロックのチャネル使用の割り当て計画および再計画のためのフロー図を示している。
【００４２】
データブロック制御部５１０は、ステップ１１０２、１１０４および１１０６の動作に応答して、転送割り当て計画および再計画のためにステップ１１１０およびその後のステップを実行する。ステップ１１０２においてデータブロック制御部５１０は、ノード１、２、３または４からストリーム管理部５０８を介して新しい等時性データブロックの転送予約を受け取る。ステップ１１０４においてデータブロック制御部５１０は、ノード１、２、３または４から新しいリクエストを受け取る。この場合、新しいリクエストとして通常データブロックのみを考慮すればよい。ステップ１１０６においてノード１、２、３または４からのリクエストが終了する。
【００４３】
ステップ１１０２〜１１０６の後のステップ１１１０において、データブロック制御部５１０は、ルート計画部５１２に、要求されたデータブロックの転送ルートを決定させる（Ａ）。ルート計画部５１２は、要求された各データブロックの転送ルートを決定し、転送ルートとして複数のバス・チャネルが利用可能な場合は、その複数のバス・チャネルの中から転送ルートを構成する１つまたは複数のバス・チャネルの組み合わせを選択する。その際、例えば、可能な限り各バス・チャネルＣＨ−Ａ、ＣＨ−Ｂに対する割り当てデータブロックの数が均等になるように割り当て、可能な限り等時性データブロック転送と通常データブロック転送が混在しないように割り当てるという、制御を簡単化するためのルールを適用する。また、例えば、各バス・チャネルへのデータブロックの割り当ての組み合わせの各パターンについて、各データブロックの転送レート条件に基づいて、消費電力予測値を計算し、最小消費電力になる組み合わせを選択するという、消費電力を低くするためのルールを適用する。
【００４４】
ステップ１１１２において、データブロック制御部５１０は、各バス・チャネルＣＨ−Ａ、ＣＨ−Ｂについて、各データブロックのバス・チャネルの動作レート、チャネル使用割り当て頻度（１転送サイクル当たりの転送回数または１回の転送に対する転送サイクル数）、連続的に転送するデータのサイズまたは量、可変データ・バースト長を決定する（Ｂ）。
【００４５】
図１６Ａおよび１６Ｂは、転送許可順序テーブルの例を示している。図１６Ｃは、転送保留リストの例を示している。転送許可順序テーブルは、転送を許可するデータブロックの識別子に転送許可の順序を表す番号を付加したものである。転送保留リストは、転送の優先度が低くバスのトラフィックが最大許容量に達したときに一時的に転送を保留されるデータブロック、または送信または受信ノードより転送ウェイトが出されて一時的に転送を保留されるデータブロックの識別子のリストである。
【００４６】
ステップ１１１４において、データブロック制御部５１０は、各バス・チャネルＣＨ−Ａ、ＣＨ−Ｂについて、各データブロックのチャネル使用割り当て頻度を決定し、さらに同じバス・チャネルで現在データブロックを転送中のときは、割り当て計画を切替えタイミングの前後で転送を予定していたデータブロックを考慮して新しい転送許可順序テーブルを決定する。割り当て計画の切替タイミングは、例えば、新しい転送許可順序テーブルが決定する時点において転送実行中のデータブロックのチャネル使用許可が解除されるタイミングであってもよい。転送を予定していたデータブロックを考慮して、例えば、新しいチャネル使用割り当て頻度と、切替タイミングの直前直後の部分で、決定したチャネル使用割り当て頻度に偏りが出ないように順序を選ぶ。例えば、切替前に転送していた順序に基づいて転送許可順序テーブルへの転送データブロックの追加または削除を行う。
【００４７】
ステップ１１１６において、データブロック制御部５１０は、割り当て計画の切り替えタイミングで、転送許可順序テーブルを更新する。チャネル制御部５２０および５３０は、データブロックに対するチャネル・パラメータの制御計画を作成し、各ノード１００および２００における各バス・チャネルＣＨ−Ａ、ＣＨ−Ｂの動作レートおよび動作電圧を表すチャネル・パラメータを各ノードに送信し、各バス・チャネルＣＨ−Ａ、ＣＨ−Ｂの各データブロック転送を各ノード１００および２００に割り当てる。
【００４８】
図１２Ａおよび１２Ｂは、図１１のステップ１１１２において各データブロックの転送パラメータを決定する（Ｂ）ためのフロー図の例を示している。
【００４９】
図１２Ａを参照すると、ステップ１２０２において、データブロック制御部５１０は、予約された等時性タイプのデータブロックについてチャネル・パラメータを調整する（Ｃ）。ステップ１２０４において、データブロック制御部５１０は、通常のデータブロックを所定の優先ルールに従って追加し、パラメータを再調整する（Ｃ）。
【００５０】
図１２Ｂを参照すると、ステップ１２１２において、データブロック制御部５１０は、一定以上の優先度を持つデータブロックについてチャネル・パラメータを調整する（Ｃ）。ステップ１２１４において、データブロック制御部５１０は、低い優先度のデータブロックを所定の優先ルールに従って追加し、パラメータを再調整する（Ｃ）。
【００５１】
その所定の優先ルールとして、例えば、優先度が最高の場合は他のデータブロックの  転送要件が満たせなくなっても先行して転送完了まで転送を優先し、即ち転送可能な限り転送許可を継続して与え、優先度がより高いデータブロックをより優先し、優先度が同じ２つ以上のデータブロックについては等時性データブロックを優先する、というものであってもよい。さらに、優先度が最低のデータブロックは、転送要件が満たされない場合は（例えばバスのトラフィックが最大許容量に達したとき）、転送要件が満たされるようになるまで転送保留リストに入れて待機させ、可能になったときに転送する、というものであってもよい。或いは、転送要件を、満たさないデータブロックは転送保留リストの外で待機させてもよい。
【００５２】
図１３は、図１２Ａのステップ１２０２および１２０４、および図１２Ｂのステップ１２１２および１２１４におけるパラメータ調整（Ｃ）のためのフロー図の例を示している。
【００５３】
パラメータを調整する際に、全データブロックに同じ転送レートを初期値として選択する。次いで、高い要求転送レートのデータブロックの割り当て時間を長く、低い要求転送レートのデータブロックの割り当て時間を短くする。その際、連続転送サイズとチャネル使用割り当て頻度を調整することによって、可能な限りチャネル使用割り当て時間を均等化する。次いで、転送時間が不十分な場合には、動作レートを調整する。
【００５４】
ステップ１３０２において、データブロック制御部５１０は、各データブロックの要求転送レートおよび各ノードの対応可能最高動作レートなどを考慮して、各バス・チャネルの最低平均動作レートを計算する。ステップ１３０４において、データブロック制御部５１０は、各データブロックの仮の連続転送サイズを可能な最大値に設定する。
【００５５】
ステップ１３０６において、データブロック制御部５１０は、連続転送サイズと要求転送レートに基づいて各データブロックの仮のチャネル使用割り当て頻度を計算し、基準転送サイクルおよび必要に応じて基準転送間隔を計算する。
【００５６】
ステップ１３１０において、データブロック制御部５１０は、各データブロックの転送サイクル長および各バス・チャネルの総転送帯域の剰余スペースが適正かどうかを判定する。適正であると判定された場合は、手順は図１３のサブルーチンを出る。
【００５７】
ステップ１３１０において適正でないと判定された場合は、ステップ１３１２において、データブロック制御部５１０は、各データブロックの連続転送サイズとチャネル使用割り当て頻度を再調整する。そのために、例えば、許容長より長い転送サイクルを持つデータブロックの連続転送サイズを小さくし、それに応じてチャネル使用割り当て頻度を増加させる。
【００５８】
ステップ１３１４において、各データブロックの転送レートを再調整する。そのために、例えば、許容長より長い転送サイクルを持つデータブロックの転送レートを増加させる。転送帯域が不足している場合は、１つ以上のデータブロックの転送レートを増加させる。それでも転送帯域が不足する場合は、可能であれば別のバス・チャネルに振り替えるか、優先度の低いデータブロックの転送を、待機させるか、転送不能エラーとして処理して削除する。転送帯域が余っている場合は、要求転送レートの遅いデータブロックの転送レートを下げる。
【００５９】
図１４は、図１２Ａステップ１２０２および１２０４、および図１２Ｂのステップ１２１２および１２１４におけるパラメータ調整（Ｃ）のためのフロー図の別の例を示している。
【００６０】
パラメータを調整する際に、各データブロックの１転送サイクル当たりのチャネル使用割り当て時間ができるだけ均等になるように転送レートを選択する。その際、要求転送レートが高いブロックほど高い動作レートを設定する。次いで、可能な限り１転送サイクルの割り当て時間を維持したまま、各データブロックの転送レートの差を小さくするように、転送動作レートと連続転送サイズを調整する。
【００６１】
図１４のステップ１３０２および１３０４は図１３のものと同様である。ステップ１４０６において、データブロック制御部５１０は、データブロックの要求転送レートに従ってチャネル最低平均レートを満たすように各ブロックの転送レートを設定する。ステップ１４０８において、データブロック制御部５１０は、チャネル使用割り当て頻度を計算する。
【００６２】
ステップ１３１１は、図１４のステップ１３１０の場合と同様に、データブロック制御部５１０は、各データブロックの転送レート差および各バス・チャネルの総転送帯域の剰余スペースが適正かどうかを判定する。ステップ１３１１において、各データブロックの転送レート差および各バス・チャネルの総転送帯域の剰余スペースが適正であると判定された場合は、手順は図１３のサブルーチンを出る。
【００６３】
ステップ１３１１において適正でないと判定された場合は、ステップ１４１２において、データブロック制御部５１０は、各データブロックの転送レートおよび連続転送サイズを再調整する。ステップ１４１４において、データブロック制御部５１０は、各データブロックの割り当て頻度を再調整する。
【００６４】
図１５Ａおよび１５Ｂは、図１１のデータブロックの転送割り当て計画または再計画の後でバス管理部５００のデータブロック制御部５１０によって実行される、データブロック管理部１２２〜１２６および１３２〜１３４に対してチャネル使用許可ＧＲＴを与えるための処理のフローチャートを示している。
【００６５】
図１１のフロー図、即ち割り当て計画または再計画の完了後、ステップ１５０２において、データブロック制御部５１０は、各ノード１、２、３および４の各データブロック管理部からウェイト要求（ＷＴ）があるかどうかを判定する。
【００６６】
ウェイト要求がないと判定された場合は、ステップ１５０４において、データブロック制御部５１０は、データブロック転送の転送保留リストが存在するかどうかを判定する。転送保留リストは、転送を保留すべきデータブロックの識別子のリストである。転送保留リストが存在しないと判定された場合は、手順は図１５Ｂのステップ１５４２に進む。転送保留リストが存在すると判定された場合は、手順は図１５Ｂのステップ１５５２に進む。
【００６７】
ステップ１５０２においてウェイト要求があると判定された場合は、ステップ１５１２において、データブロック制御部５１０は、転送保留すべきデータブロックの転送保留リストが存在するかどうかを判定する。転送保留リストが存在しないと判定された場合は、ステップ１５２２において、データブロック制御部５１０は、転送許可順序テーブルの先頭のデータブロックに対して転送のウェイト要求が存在するかどうかを判定する。先頭のデータブロックに対するウェイト要求がないと判定された場合は、手順は図１５Ｂのステップ１５４２に進む。
【００６８】
ステップ１５２２において先頭のデータブロックに対してウェイト要求が存在しないと判定された場合は、ステップ１５２４において、データブロック制御部５１０は、転送許可順序テーブルの先頭のデータブロックの識別子が保留リスト中にない場合は、その先頭のデータブロック識別子を転送保留リストの末尾にコピーして、転送許可順序テーブルを１つ進める。ステップ１５２６において、データブロック制御部５１０は、転送許可順序テーブルのすべてのデータブロック識別子が転送保留リスト中にあるかどうかを判定する。すべてのデータブロック識別子が転送保留リストにあると判定された場合は、ステップ１５２８において、データブロック制御部５１０は、ウェイト要求の解除が発生するまで転送を待機する。その後、手順はステップ１５２０に進む。ステップ１５２６においてすべてのデータブロック識別子が転送保留リストにあるわけではないと判定された場合は、手順はステップ１５２２に戻る。
【００６９】
ステップ１５１２において転送保留リストが存在すると判定された場合は、ステップ１５１４において、データブロック制御部５１０は、転送保留リストのすべてがウェイト要求かどうかを判定する。すべてがウェイト要求であると判定された場合は、手順はステップ１５２２に進む。すべてがウェイト要求というわけではないと判定された場合は、手順はステップ１５２０に進む。
【００７０】
ステップ１５２０において、転送保留リストをその先頭データブロックから順に転送ウェイト要求かどうかチェックし、ウェイト要求でないものを見つけたら、それを転送保留リストの先頭に移動させる。その後、手順は図１５Ｂのステップ１５２２に進む。
【００７１】
図１５Ｂを参照すると、ステップ１５４２において、データブロック制御部５１０は、転送許可順序テーブル中の先頭のデータブロックにチャネル使用許可または転送許可ＧＲＴを与える。ステップ１５４４において、データブロック制御部５１０は、転送許可順序テーブルを１つ進める。
【００７２】
一方、ステップ１５５２において、データブロック制御部５１０は、転送保留リスト中の先頭のデータブロックにチャネル使用許可を与える。ステップ１５５４において、転送保留リスト中の先頭のデータブロックを削除する。
【００７３】
ステップ１５４４および１５５４の後のステップ１５５６において、データブロック制御部５１０は、転送を許可するデータブロックに対するチャネル使用許可ＧＲＴを対応するノードに与える。ステップ１５５８において、データブロック制御部５１０は、所定期間後、そのチャネル使用許可ＧＲＴを終了する。チャネル制御部５２０および５４０は、データブロック制御部５１０からデータブロック割り当ておよびリクエスト通知（ＤＢＫ ＡＳＧＮ ＆ ＲＥＱ）を受け取り、対応する転送サイクルＰにおいてバス・チャネルＣＨ−ＡおよびＣＨ−Ｂ用のパラメータ制御信号（ＣＨ−Ａ ＰＲ ＣＴＲＬ、ＣＨ−Ｂ ＰＲ ＣＴＲＬ）およびチャネル使用許可（ＣＨ−Ａ ＧＲＴ、ＣＨ−Ｂ ＧＲＴ）を発生する。ステップ１５６０において、リクエストＲＥＱの更新、即ちリクエストの終了または新しいリクエストの発生があるかどうかを判定する。リクエストの更新がないと判定された場合は、手順は図１５Ａのステップ１５０２に戻る。リクエストの更新があると判定された場合は、図１１の割り当て再計画を実行する。
【００７４】
図１７Ａ〜１７Ｅは、予約された等時性データブロックＩ１、Ｉ２およびＩ３に変更がなく通常データブロック転送が発生しない期間における、ノード１および２のデータブロックＩ１、Ｉ２およびＩ３に対する、転送リクエスト、転送ウェイト、バス管理部５００によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、予め等時性データブロックの予約が行われており、１つのバス・チャネル、例えばＣＨ−Ａだけが用いられて、バス・チャネルが一定の転送レートで動作するように設定され、ノード２のデータブロックＩ３用のデータブロック管理部が、チャネル使用許可Ｇ Ｉ３中にデータブロックＩ３の転送の中断を表すウェイト信号Ｗ Ｉ３をデータブロック制御部５１０に送信するものとする。
【００７５】
図１７Ａにおいて、ノード１はバス管理部５００に等時性データブロックＩ１およびＩ２の転送リクエスト（ＲＥＱ Ｉ１、ＲＥＱ Ｉ２）を供給し、ノード２はバス管理部５００にデータブロックＩ３の転送リクエスト（ＲＥＱ Ｉ３）を供給する。転送リクエスト信号はそれらのデータブロックの転送が終了するまで維持される。
【００７６】
図１７Ｃにおいて、バス管理部５００のデータブロック制御部５１０によって、３つの転送リクエストＲＥＱ Ｉ１、ＲＥＱ Ｉ２およびＲＥＱ Ｉ３に対して１：１：２の割り当て頻度が計画され、転送サイクルＰ１にデータブロックＩ１が割り当てられ、転送サイクルＰ２およびＰ４にデータブロックＩ３が割り当てられ、転送サイクルＰ３にデータブロックＩ２が割り当てられる。ラウンドロビン型のチャネル・アービタ５２６は、その転送計画に従って、チャネル使用許可Ｇ Ｉ１、Ｇ Ｉ２をノード１に、チャネル使用許可Ｇ Ｉ３をノード２に与える。
【００７７】
図１７Ｂにおいて、ノード１の各データブロック管理部（１２２〜１２６、１３２〜１３４）が、ダブルバッファメモリにより、データブロックＩ１、Ｉ２の転送中に次のデータがバッファメモリにセットされる場合は、ダブルバッファ分のデータを連続して転送しない限り、転送ウェイトは発生しない。ノード２は、複数回の転送ウェイトＷ Ｉ３を発生している。
【００７８】
この場合、チャネル・アービタ５２６は、ノード２によるデータブロックＩ３に対するウェイトＷ Ｉ３の解除後に、次の転送許可割り当て転送サイクルでデータブロックＩ３のチャネル使用許可Ｇ Ｉ３を与える。従って、データブロック制御部５１０は、チャネル使用許可までの時間を短くするために比較的短い転送サイクルＰを設定し、各データブロックＩ１、Ｉ２、Ｉ３のバス・チャネル上の転送期間を可能な限り均等にかつ短くなるように調整する。
【００７９】
図１７Ｃにおいて、サイクルＰ１の時間期間はデータブロックＩ１の量に応じて転送レートＲが一定になるように設定され、サイクルＰ１においてノード１に対してデータブロックＩ１のチャネル使用許可Ｇ Ｉ１が与えられる。サイクルＰ２およびＰ４の時間期間は、それぞれデータブロックＩ３の量に応じて転送レートが一定ＲになるようにサイクルＰ１より短く設定され、サイクルＰ２およびＰ４においてノード２に対してデータブロックＩ３のチャネル使用許可Ｇ Ｉ３が与えられる。サイクルＰ３の時間期間は、データブロックＩ２の量に応じて転送レートが一定ＲになるようにサイクルＰ１およびＰ２より長く設定され、サイクルＰ３においてノード１に対してデータブロックＩ２のチャネル使用許可Ｇ Ｉ２が与えられる。サイクルＰ７における転送ウェイトＷ Ｉ３はサイクルＰ８中のタイミングＴ３まで延長されて終了している。従って、サイクルＰ８においてノード２に対してデータブロックＩ３の予定されていたチャネル使用許可Ｇ Ｉ３は、破線で示されているように与えられていない。その代わりに、サイクルＰ８においてノード１のデータブロックＩ１に対してチャネル使用許可Ｇ Ｉ１が与えられている。
【００８０】
次の転送サイクルＰ９では、ノード２において転送ウェイトＷ Ｉ３が解除されているので、ノード２のデータブロックＩ３に対してチャネル使用許可Ｇ Ｉ３が与えられている。即ち、サイクルＰ８とＰ９では、データブロックＩ３とＩ１に与えられるチャネル使用許可Ｇ Ｉ３とＧ Ｉ１の時間期間が入れ替わっている。その後は、ノード１のデータブロックＩ２に対してチャネル使用許可Ｇ  Ｉ２が与えられている。
【００８１】
図１７Ｄには、バス・チャネル上におけるデータブロックＩ１、Ｉ２、Ｉ３の転送が示されている。データブロックＩ１、Ｉ２およびＩ３は、チャネル使用許可Ｇ Ｉ１〜Ｇ Ｉ３に従ってノード１および２によってノード３に転送される（１−１→３、２−１→３、１−２→３）。
【００８２】
図１７Ｅに示されているように、この場合、等時性データブロック転送予約に変更がなく、通常データブロックの転送リクエストが出ていないので、転送レートＲ、従って動作電圧Ｖは一定である。
【００８３】
図１８Ａ〜１８Ｅは、予約された等時性データブロックＩ１およびＩ２の転送中に別の等時性データブロックＩ３の転送予約が挿入される場合における、ノード１および２のデータブロックＩ１、Ｉ２およびＩ３に対する、転送リクエスト、転送ウェイト、バス管理部５００によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、予め等時性データブロックの予約が行われており、１つのバス・チャネルだけが用いられて、バス・チャネルが変動する転送レートで動作するように設定され、ノード１のデータブロックＩ１用のデータブロック管理部（例えば１２２）が、転送ウェイト信号Ｗ Ｉ１をデータブロック制御部５１０に送信する。サイクルＰ４のタイミングＴ３２で等時性データブロックＩ３の予約が発生したとき、およびサイクルＰ９のタイミングＴ３４で等時性データブロックＩ１の転送が完了したときに、データブロック制御部５１０によって割り当て再計画が行われる。サイクルＰ９において、データブロックＩ１の転送が完了する。
【００８４】
図１８Ａにおいて、最初、サイクルＰ１〜Ｐ４において、ノード１はバス管理部５００のデータブロック制御部５１０に等時性データブロックＩ１およびＩ２の転送リクエスト（ＲＥＱ Ｉ１、ＲＥＱ Ｉ２）を供給している。サイクルＰ４のタイミングＴ３２において、ノード２の等時性データブロックＩ３の転送予約が発生する。サイクルＰ５において、ノード２は、データブロック制御部５１０にデータブロックＩ３の転送リクエスト（ＲＥＱ Ｉ３）を供給する。従って、データブロック制御部５１０は図１１のフロー図に従って転送許可割り当て再計画を実行する。サイクルＰ５の終了時点のタイミングＴ３３において、データブロック制御部５１０はデータブロックの転送制御を変更する。サイクルＰ９において、ノード１はデータブロックＩ１の転送を完了し、転送リクエストＲＥＱ Ｉ１を停止する。従って、タイミングＴ３４において、データブロック制御部５１０は転送許可割り当て再計画を実行して転送制御を変更する。
【００８５】
図１８Ｃにおいて、データブロック制御部５１０によって、２つの転送リクエストＲＥＱ Ｉ１およびＲＥＱ Ｉ２に対して１：１の割り当て頻度が計画され、サイクルＰ１にデータブロックＩ１が割り当てられ、サイクルＰ２にデータブロックＩ３が割り当てられる。
【００８６】
図１８Ｂにおいて、ノード１のデータブロック管理部（１２２〜１２６、１３２〜１３４、１３６〜１３８）が、転送ウェイトＷ Ｉ１を発生する。ノード１によるデータブロックＩ１に対する転送ウェイトＷ Ｉ１の解除後に、チャネル・アービタ５２６は、次の転送許可割り当てサイクルでデータブロックＩ１の転送を許可する。
【００８７】
図１８Ｃにおいて、サイクルＰ１の時間期間はデータブロックＩ１の量に応じて転送レートＲが低くなるように設定され、サイクルＰ１においてノード１に対してデータブロックＩ１のチャネル使用許可Ｇ Ｉ１が与えられる。サイクルＰ２の時間期間はサイクルＰ１の時間期間と等しくなるように設定され、サイクルＰ２においてノード１に対してデータブロックＩ２のチャネル使用許可Ｇ Ｉ２が与えられる。サイクルＰ３〜Ｐ５まで同様である。
【００８８】
図１８Ｅにおいて、転送レート、即ち動作電圧は、チャネル制御部５２０によって転送割り当て計画に従って１サイクルにおける転送データ量に応じて１サイクル分のデータが１サイクルで転送されるように転送レートが変更される。
【００８９】
タイミングＴ３３において、割り当て再計画に従って、３つの等時性データブロックの転送に対応して１サイクルが短くなるように転送制御が変更される。サイクルＰ６において、チャネル制御部５２０は転送レートＲを高くし、チャネル・アービタ５２６はノード２にデータブロックＩ３のチャネル使用許可Ｇ Ｉ３を与える。サイクルＰ７において、チャネル制御部５２０はサイクルＰ１におけるより転送レートを高くサイクルＰ６におけるより転送レートを低くし、チャネル・アービタ５２６は、データブロックＩ１の転送の遅延を短くするために、ノード１にデータブロックＩ１のサイクルＰ１における量の半分を転送するための時間期間だけチャネル使用許可Ｇ Ｉ１を与える。サイクルＰ８において、チャネル・アービタ５２６は、データブロックＩ２の転送が遅延しないようにノード１にデータブロックＩ２のチャネル使用許可Ｇ Ｉ２を与える。サイクルＰ９において、チャネル・アービタ５２６はノード１にデータブロックＩ１用のサイクルＰ７において転送しなかった残りの半分の量のデータを転送するための時間期間だけチャネル使用許可Ｇ Ｉ１を与える。
【００９０】
タイミングＴ３４において、データブロック１の転送が終了するので、割り当て再計画が行われ、サイクルＰ１０およびＰ１１においてデータ量に応じて転送レートが調整されて、等しい時間期間でデータブロックＩ３およびＩ２が交互に転送される。
【００９１】
図１８Ｄには、バス・チャネル上におけるデータブロックＩ１、Ｉ２、Ｉ３の転送が示されている。データブロックＩ１、Ｉ２およびＩ３は、ノード１および２によってチャネル使用許可Ｇ Ｉ１〜Ｇ Ｉ３に従ってノード３に転送される。
【００９２】
このように、図１８Ａ〜１８Ｅでは、転送すべきデータの量に応じて転送レートが調整されて、各サイクルにおいてできるだけ空白が小さくなるように転送制御される。
【００９３】
図１９Ａ〜１９Ｅは、予約された等時性データブロックＩ１およびＩ２の転送中に別の通常データブロックＮ３の転送リクエストが発生した場合における、ノード１および２のデータブロックＩ１、Ｉ２およびＮ３に対する、転送リクエスト、転送ウェイト、バス管理部５００によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、等時性データブロック予約がバス管理部５００に予め登録されており、１つのバス・チャネルだけが用いられて、バス・チャネルが変動する転送レートで動作するように設定される。
【００９４】
この場合、サイクルＰ１〜Ｐ５において、バス管理部５００および各ノード１および２は図１８Ａ〜１８Ｅと同様に動作する。ノード２は、サイクルＰ５のタイミングＴ４３において通常データブロックＮ３の転送リクエストＲＥＱ Ｎ３を供給する。従って、データブロック制御部５１０はタイミングＴ４４において図１１のフロー図に従って転送許可割り当て再計画を実行する。サイクルＰ５の終了時点のタイミングＴ４４において、データブロック制御部５１０は次のサイクルＰ６のデータブロックの転送制御を変更する。サイクルＰ６において通常データブロックＮ３の転送が完了する。従って、データブロック制御部５１０はタイミングＴ４５において転送許可割り当て再計画を実行する。サイクルＰ６の終了時点のタイミングＴ４６において、データブロック制御部５１０は次のサイクルＰ７のデータブロックの転送制御を変更する。サイクルＰ９において、ノード１はデータブロックＩ１の転送を完了し、転送リクエストＲＥＱ Ｉ１を停止する。従って、サイクルＰ９のタイミングＴ４７において、データブロック制御部５１０は転送許可割り当て再計画を実行してデータブロックの転送制御を変更する。
【００９５】
サイクルＰ６において、チャネル制御部５２０は転送レートを高く設定し、チャネル・アービタ５２６はノード２にデータブロックＮ３のチャネル使用許可Ｇ Ｎ３を与える。サイクルＰ６において、ノード２は通常データブロックＮ３の転送を完了し、転送リクエストＲＥＱ Ｎ３を停止する。サイクルＰ７〜Ｐ９において、バス管理部５００および各ノード１および２は図１８Ａ〜１８Ｅと同様に動作する。
【００９６】
タイミングＴ７４において、データブロック１の転送が終了するので、割り当て再計画が行われ、サイクルＰ１０以降においてデータ量に応じて転送レートが調整されて、サイクルＰ２における転送レートの約２分の１の転送レートでデータブロックＩ２だけが転送される。
【００９７】
図２０Ａ〜２０Ｅは、図１７Ａ〜１７Ｅの変形であり、データブロックＩ１を転送すべきサイクルにおいてノード１のデータブロックＩ１に対する転送ウェイトＷ Ｉ１が残っている場合における、ノード１および２のデータブロックＩ１、Ｉ２およびＩ３に対する、転送リクエスト、転送ウェイト、バス管理部５００によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、ノード２はデータブロックＩ３の転送ウェイトを発生しない。図２０Ａ〜２０Ｅにおけるバス管理部５００とノード１および２の動作は、基本的に図１７Ａ〜１７Ｅの場合と同様である。
【００９８】
サイクルＰ２〜Ｐ５において、ノード１はデータブロックＩ１の転送ウェイトＷ Ｉ１を発生する。サイクルＰ５の開始点において、転送ウェイトＷ Ｉ１が継続しているので、チャネル・アービタ５２６は、ノード１へのデータブロックＩ１のチャネル使用許可を保留して、その代わりにノード２にデータブロックＩ３のチャネル使用許可Ｇ Ｉ３を与える。サイクルＰ５においてノード１は転送ウェイトＷ Ｉ１を解除する。サイクルＰ６において、ノード１は転送ウェイトＷ Ｉ１を発生していないので、チャネル・アービタ５２６は、ノード１のデータブロックＩ１に対してチャネル使用許可Ｇ Ｉ１を与える。即ち、サイクルＰ５とＰ６では、データブロックＩ３とＩ１に与えられるチャネル使用許可Ｇ Ｉ３とＧ Ｉ１の時間期間が入れ替わっている。その後は、ノード１のデータブロックＩ２に対してチャネル使用許可Ｇ Ｉ２が与えられている。
【００９９】
図２１Ａ〜２１Ｅは、図２０Ａ〜２０Ｅの変形であり、データブロックＩ１およびＩ３を転送すべきサイクルにおいてノード１および２のデータブロックＩ１およびＩ３に対する転送ウェイトＷ Ｉ１およびＷ Ｉ３が残っている場合における、ノード１および２のデータブロックＩ１、Ｉ２およびＩ３に対する、転送リクエスト、転送ウェイト、バス管理部５００によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。図２０Ａ〜２０Ｅにおけるバス管理部５００とノード１および２の動作は、基本的に図１７Ａ〜１７Ｅの場合と同様である。
【０１００】
サイクルＰ２〜Ｐ５において、ノード１はデータブロックＩ１の転送ウェイトＷ Ｉ１を発生する。サイクルＰ３、Ｐ５、Ｐ８およびＰ１０の各開始前において、ノード１はデータブロックＩ１の転送ウェイトＷ Ｉ１を発生する。サイクルＰ５の開始点において、転送ウェイトＷ Ｉ１およびＷ Ｉ３が継続しているので、チャネル・アービタ５２６は、ノード１へのデータブロックＩ１のチャネル使用許可を保留し、その代わりにノード１にデータブロックＩ２のチャネル使用許可Ｇ Ｉ２を与える。サイクルＰ６において、ノード１および２は転送ウェイトを発生していないので、チャネル・アービタ５２６は、ノード２のデータブロックＩ３よりも転送が長く遅延されたノード１のデータブロックＩ１に対してチャネル使用許可Ｇ Ｉ１を与える。サイクルＰ７の開始点において、ノード２は転送ウェイトを発生していないので、チャネル・アービタ５２６は、転送が遅延されたノード２のデータブロックＩ３に対してチャネル使用許可Ｇ Ｉ３を与える。
【０１０１】
サイクルＰ８の開始点において、ノード２はデータブロックＩ３の転送ウェイトＷ Ｉ３を発生しているので、チャネル・アービタ５２６は、ノード２へのデータブロックＩ３のチャネル使用許可を保留して、その代わりにノード１のデータブロックＩ２に対してチャネル使用許可Ｇ Ｉ２を与える。
【０１０２】
サイクルＰ９において、ノード２は転送ウェイトを発生していないので、チャネル・アービタ５２６は、ノード１のデータブロックＩ１よりも転送が長く遅延されたノード２のデータブロックＩ３に対してチャネル使用許可Ｇ Ｉ３を与える。サイクルＰ１０の開始点において、ノード２は転送ウェイトＷ Ｉ３を発生しているので、チャネル・アービタ５２６は、ノード１のデータブロックＩ１に対してチャネル使用許可Ｇ Ｉ１を与える。サイクルＰ１１の開始点において、ノード２は転送ウェイトを発生していないので、チャネル・アービタ５２６は、ノード１のデータブロックＩ１よりも転送が長く遅延されたノード２のデータブロックＩ３に対してチャネル使用許可Ｇ Ｉ３を与える。
【０１０３】
図２２Ａ〜２２Ｅは、図２０Ａ〜２０Ｅの変形であり、データブロックＩ１を転送すべき連続する２つのサイクルにおいてノード１のデータブロックＩ１に対する転送ウェイトＷ Ｉ１が残っている場合における、ノード１および２のデータブロックＩ１、Ｉ２およびＩ３に対する、転送リクエスト、転送ウェイト、バス管理部５００によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、ノード２はデータブロックＩ３の転送ウェイトを発生しない。図２０Ａ〜２０Ｅにおけるバス管理部５００とノード１および２の動作は、基本的に図１７Ａ〜１７Ｅの場合と同様である。
【０１０４】
サイクルＰ２〜Ｐ６において、ノード１はデータブロックＩ１の転送ウェイトＷ Ｉ１を発生する。サイクルＰ５の開始点において、転送ウェイトＷ Ｉ１が継続しているので、チャネル・アービタ５２６は、ノード１へのデータブロックＩ１のチャネル使用許可を保留して、その代わりにノード２にデータブロックＩ３のチャネル使用許可Ｇ Ｉ３を与える。サイクルＰ６の開始点において、転送ウェイトＷ Ｉ１が継続しているので、チャネル・アービタ５２６は、ノード１へのデータブロックＩ１のチャネル使用許可を再度保留して、その代わりにノード１にデータブロックＩ２のチャネル使用許可Ｇ Ｉ２を与える。
【０１０５】
サイクルＰ７の開始点において、ノード１は転送ウェイトを発生していないので、チャネル・アービタ５２６は、ノード１のデータブロックＩ１に対してチャネル使用許可Ｇ Ｉ１を与える。その結果、サイクルＰ５〜Ｐ７において、ノード１のデータブロックＩ２の転送期間、およびノード２のデータブロックＩ３の転送期間が大きく乱れる。その後は、ノード２のデータブロックＩ３に対してチャネル使用許可Ｇ Ｉ３が与えられる。
【０１０６】
図２３Ａ〜２３Ｅは、図２１Ａ〜２１Ｅの変形であり、データブロックＩ１を転送すべき連続する２つのサイクルにおいてノード１のデータブロックＩ１の転送ウェイトＷ  Ｉ１が残り、データブロックＩ３を転送すべきサイクルにおいてノード２のデータブロックＩ３の転送ウェイトＷ Ｉ３が残っている場合における、ノード１および２のデータブロックＩ１、Ｉ２およびＩ３に対する、転送リクエスト、転送ウェイト、バス管理部５００によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。図２０Ａ〜２０Ｅにおけるバス管理部５００とノード１および２の動作は、基本的に図１７Ａ〜１７Ｅの場合と同様である。
【０１０７】
サイクルＰ２〜Ｐ５において、ノード１はデータブロックＩ１の転送ウェイトＷ Ｉ１を発生する。サイクルＰ３、Ｐ５、Ｐ８およびＰ１０の各開始前において、ノード１はデータブロックＩ１の転送ウェイトＷ Ｉ１を発生する。サイクルＰ５の開始点において、ノード１はデータブロックＩ１の転送ウェイトＷ Ｉ１を発生し続け、ノード２はデータブロックＩ３の転送ウェイトＷ Ｉ３を発生しているので、チャネル・アービタ５２６は、ノード１および２へのデータブロックＩ１およびＩ３のチャネル使用許可を保留し、その代わりにノード１のデータブロックＩ２に対してチャネル使用許可Ｇ Ｉ２を与える。サイクルＰ６の開始点において、ノード１はデータブロックＩ１の転送ウェイトＷ Ｉ１を発生し続け、ノード２はデータブロックＩ３の転送ウェイトを発生していないので、チャネル・アービタ５２６は、ノード１へのデータブロックＩ１のチャネル使用許可を再度保留し、ノード２のデータブロックＩ３に対してチャネル使用許可Ｇ Ｉ３を与える。
【０１０８】
サイクルＰ７の開始点において、ノード１はデータブロックＩ１の転送ウェイトを発生していないので、チャネル・アービタ５２６は、転送が遅延されたノード１のデータブロックＩ１にチャネル使用許可Ｇ Ｉ１を与え、ノード１へのデータブロックＩ２のチャネル使用許可を保留する。その後は、サイクルＰ８において、ノード２のデータブロックＩ３に対してチャネル使用許可Ｇ Ｉ３が与えられる。
【０１０９】
図２４は、本発明の別の実施形態によるマルチレイヤ構成のバス・システムの構成を示している。この図には、各ノードにおけるデータの入力および出力および各バス・チャネルにおけるデータの流れを示している。
【０１１０】
バス管理部５００は、データブロック制御部５１０に接続された各バス・チャネルＣＨ１〜ＣＨ７用のチャネル制御部ＣＨ１ ＣＴＲＬ〜ＣＨ７ ＣＴＲＬを含んでいる。データブロック制御部５１０は、チャネル制御部ＣＨ１ ＣＴＲＬ〜ＣＨ７ ＣＴＲＬにそれぞれのデータブロック割り当ておよびリクエスト通知ＤＢＫ ＡＳＧＮ ＆ ＲＥＱを供給する。チャネル制御部ＣＨ１ ＣＴＲＬ〜ＣＨ７ ＣＴＲＬは、対応するバス・チャネルＣＨ１〜ＣＨ７に接続されたノードａ〜ｅのチャネル・インタフェース調整部Ｒ＆Ｖ ＡＪに対応するパラメータ制御信号ＰＲ ＣＴＬを供給する。ノードａ〜ｅのチャネル・インタフェース調整部Ｒ＆Ｖ ＡＪは、パラメータ制御信号ＰＲ ＣＴＬに従ってチャネル・インタフェースの動作レートおよび電圧を調整する。ノードｆおよびｇは、バス・マトリックス・スイッチＢＵＳ ＭＸ ＳＷ１およびＢＵＳ ＭＸ ＳＷ２であり、データブロック制御部５１０によって制御される。
【０１１１】
図２４において、例えば、ノードａはＣＰＵコア部であり、ノードｂはＲＡＭインタフェースであり、ノードｃは記憶装置であり、ノードｄはネットワーク・インタフェースであり、ノードｅはＡＶデコーダ・インタフェースである。例えば、ストリーム・データが、ノードｄで発生して、バス・チャネルＣＨ５、ＣＨ２およびＣＨ４を順に経由してノードｂに供給される。例えば、通常データブロックが、ノードａで発生して、バス・チャネルＣＨ３およびＣＨ４を順に経由してノードｂに供給される。例えば、通常データブロックが、ノードｂで発生して、バス・チャネルＣＨ４およびＣＨ３を順に経由してノードａに供給される。例えば、通常データブロックが、ノードｂで発生して、バス・チャネルＣＨ４、ＣＨ１およびＣＨ５を順に経由してノードｄに供給される。例えば、ストリーム・データが、ノードｂで発生して、バス・チャネルＣＨ４、ＣＨ２およびＣＨ６を順に経由してノードｃに供給される。例えば、ストリーム・データが、ノードｃで発生して、バス・チャネルＣＨ６およびＣＨ７を順に経由してノードｅに供給される。
【０１１２】
このように、本発明の実施形態によれば、バス・チャネルのトラフィックに応じて転送レートおよび動作電圧を最小化することができ、また、バス・システムにおける転送のための消費電力を全体的に低減することができる。
【０１１３】
また、本発明の実施形態によれば、バス・システム１０〜１６におけるバス管理部５００〜５０６および各ノード１００、１０４、１０６等のデータブロック管理部１２２〜１２６および１３２〜１３８のハードウェア側によって、データブロックの単位またはハードウェアに依存しないサブデータブロック以上の単位でデータ管理をサポートすることができ、それによってハードウェアとソフトウェアの制御範囲を明確に階層的に分離することができ、ハードウェアとソフトウェアの間のバス情報のやりとりを合理化することができる。ソフトウェア側では、各ノードから取得したハードウェア資源の情報から、予め作成したポリシーに従って各データブロックの扱い方を容易に管理できる。ハードウェア側では、ソフトウェア側から提供された要求特性に従って、データブロックを管理することができる。これによってソフトウェアは、ハードウェアまたはアプリケーションが変更されたときでも、同一のポリシーに基づいて、各データブロックを扱うことができる。ハードウェアまたはアプリケーション等が変更された場合は、転送可能な範囲は変化し得るが、ソフトウェアは各データブロック毎に転送できるかどうかを判断すればよく、ソフトウェアの転送制御は変わらない。従って、ソフトウェアはハードウェアと整合性しやすく、ソフトウェアの移植が容易になる。データブロックの集中管理手順は、バス管理部のソフトウェアによって、バスを構成するハードウェアのパラメータに基づいて同一のまたは必要に応じて変更可能なアルゴリズムによって決定できるので、ハードウェアの変更時には、ハードウェア・パラメータをアルゴリズムに入力するだけで対応可能であり、ハードウェア変更時におけるソフトウェアの修正の複雑性を改善することができる。
【０１１４】
以上説明した実施形態は典型例として挙げたに過ぎず、その実施形態の変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【０１１５】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
（付記１）  バスを介して相互接続された複数のノード装置と、バス制御線を介して前記複数のノード装置に接続されたバス管理手段と、からなるバス・システムであって、
前記バス管理手段は、前記複数のノード装置の中の少なくとも１つのノード装置によって転送されるべき等時性データブロック転送予約を受け取り、前記等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも１つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも１つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも１つのデータブロックのそれぞれの転送用のバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、前記計画と、少なくとも１つのノード装置による少なくとも１つのデータブロックの転送の要求とに従って、１つのデータブロックに対するバス・チャネルの割り当てを決定し、前記１つのデータブロックを転送するノード装置に、前記バス制御線を介して前記１つのデータブロックのバス・チャネル動作速度の情報および前記１つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間のバス・チャネル使用許可を与え、
前記ノード装置は、前記転送要求中のデータブロックの転送が完了するまで前記データブロックの転送要求を維持し、前記バス管理手段から受け取った前記１つのデータブロックのバス・チャネル使用許可に応答して、バス・チャネル使用許可された期間、受け取った前記情報のバス・チャネル動作速度で別のノード装置に前記データブロックのデータを転送することを特徴とする、
バス・システム。
（付記２）  前記複数のノード装置の中の１つのノード装置は中央処理装置であり、前記中央処理装置は前記バス管理手段に前記等時性データブロック転送予約を表す信号を直接送信するものであることを特徴とする、付記１に記載のバス・システム。
（付記３）  前記バス管理手段は前記等時性データブロック転送予約を表す信号を前記少なくとも１つのノード装置から等時性データブロック転送予約用の専用線を介して受信するものであることを特徴とする、付記１に記載のバス・システム。
（付記４）  前記バス管理手段は前記複数のノード装置の中の１つのノード装置であり、前記バス管理手段は前記等時性データブロック転送予約を表す信号を前記少なくとも１つのノード装置から前記バス・チャネルを介して受信するものであることを特徴とする、付記１に記載のバス・システム。
（付記５）  前記バスは複数のバス・チャネルからなり、前記バス管理手段は、前記計画の一部として、前記複数のバス・チャネルの中から選択された少なくとも１つのバス・チャネルからなる前記等時性データの転送に使用すべき転送ルートを決定することを特徴とする、付記１に記載のバス・システム。
（付記６）  前記１つのノード装置は前記等時性データブロックに対する転送中断を表す転送ウェイト信号を前記バス制御線を介して前記バス管理手段に送り、前記バス管理手段は、前記転送ウェイト信号に応答して前記１つのデータブロックに対する前記バス・チャネル使用許可を保留し、前記１つのデータブロックと同じバス・チャネル上で転送可能な他のデータブロックが存在する場合は、前記転送ウェイト信号がなくなるまで、前記他のデータブロックを転送するノード装置に前記制御線を介して前記他のデータブロックに対するバス・チャネル使用許可を与えることを特徴とする、付記１に記載のバス・システム。
（付記７）  前記バス管理手段は、前記複数のノード装置の中の１つのノード装置によって転送されるべき新しい等時性データブロック転送予約または新しい通常データブロックの転送要求を受け取ったとき、または前記等時性データブロックの転送要求が終了したときは、前記計画を再度作成することを特徴とする、付記１に記載のバス・システム。
（付記８）  前記バス管理手段は、前記計画に従って転送すべきデータブロックに対する転送許可の順序を表す転送許可順序テーブルを生成し、ノード装置による転送ウェイトまたはバス・チャネルのトラフィックに起因して転送を保留されたデータブロックを表す転送保留リストを生成し、前記転送許可順序テーブルと前記転送保留リストとに従って、前記転送許可順序テーブル中の転送可能なデータブロックに対して順にバス・チャネル使用許可を与えることを特徴とする、付記１に記載のバス・システム。
（付記９）  バス・システムにおける複数のノード装置にバス制御線を介して接続されるバス管理装置であって、
前記複数のノード装置の中の少なくとも１つのノード装置によって転送されるべき等時性データブロック転送予約を受け取る等時性データブロック転送予約管理手段と、
前記等時性データブロック転送予約管理手段からの等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも１つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも１つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも１つのデータブロックのバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、前記計画と、前記少なくとも１つのノード装置による前記等時性データブロックおよび前記通常データブロックのうちの少なくとも１つのデータブロックの転送の要求とに従って、前記１つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間の前記１つのデータブロックに対するバス・チャネルの割り当てを決定するデータブロック制御手段と、
前記１つのデータブロックに対するバス・チャネルの割り当てに従って、前記１つのデータブロックを転送する前記１つのノード装置に、前記バス制御線を介して前記１つのデータブロックのバス・チャネル動作速度の情報およびバス・チャネル使用許可を与えるバス・チャネル管理手段と、
を具えることを特徴とする、バス管理装置。
（付記１０）  バス・システムにおけるバス管理装置にバス制御線を介して接続されるノード装置であって、
バス・チャネルに接続されていて、前記バス管理手段によって指定されたバス・チャネル動作速度および電圧で転送動作する、少なくとも１つ以上のチャネル・インタフェースと、
前記バス管理装置から受け取った制御情報に従って、前記チャネル・インタフェースの動作速度および動作電圧を調整する調整部と、
バッファメモリに結合され、前記バッファメモリから読み出した特定のデータブロックのデータを前記チャネル・インタフェースに供給し、および／または特定のデータブロックのデータを前記チャネル・インタフェースから受け取って前記バッファメモリに書き込み、転送を行うべきデータブロックの転送要求およびノード装置側の要因による転送可否状態および転送進行状況の管理を行う、少なくとも１つ以上のデータブロック管理手段と、
前記チャネル・インタフェースと前記データブロック管理手段とに接続されていて、前記チャネル・インタフェースと前記データブロック管理手段とを選択的に接続するスイッチと、
を具えることを特徴とする、ノード装置。
（付記１１）  バス・システムにおける複数のノード装置にバス制御線を介して接続されるバス管理装置用のプログラムであって、
前記複数のノード装置の中の少なくとも１つのノード装置によって転送されるべき等時性データブロック転送予約を受け取るステップと、
前記等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも１つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも１つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも１つのデータブロックのバス・チャネル動作速度、バス・チャネル使用権割り当て頻度および連続転送サイズの計画を生成するステップと、
前記計画と、前記１つのノード装置による前記等時性データブロックおよび前記通常データブロックのうちの１つのデータブロックの転送の要求とに従って、前記１つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間における前記１つのデータブロックに対するバス・チャネルの割り当てを決定するステップと、
前記１つのデータブロックに対するバス・チャネルの割り当てに従って、前記１つのデータブロックを転送する前記１つのノード装置に、前記バス制御線を介して前記１つのデータブロックのバス・チャネル動作速度の情報および前記１つのデータブロックのバス・チャネル使用許可を与えるステップと、
を実行させるよう動作可能なプログラム。
【図面の簡単な説明】
【０１１６】
【図１】図１Ａおよび１Ｂは、それぞれ、通常のバス・システムの構成と、そのバス・システムにおける複数のノード間での等時性データブロックおよび通常データブロックの転送のタイム・チャートとを示している。
【図２】図２Ａおよび２Ｂは、データ転送要求の有無に応じてバス・システムの電源をオン／オフする場合におけるデータ転送とバス・システムの消費電力とを示している
【図３】図３は、データ転送レートをバス上のトラフィックに応じて切換え制御する場合におけるデータ転送を示している。
【図４Ａ】図４Ａ、４Ｂおよび４Ｃは、本発明の原理による、バス・システムの構成と、そのバス・システムにおける複数のノード間の等時性データブロックおよび通常データブロックの転送のタイム・チャートとをそれぞれ示している。
【図４Ｂ】.
【図５】図５は、本発明の実施形態による、典型例のバス・システムの構成を示している。
【図６】図６は、図５の場合のバス管理部と複数のノードの間のバスと信号線の詳細を例示している。
【図７】図７は、本発明の別の実施形態による、典型例のバス・システムの構成を示している。
【図８】図８は、図７の場合のバス管理部と複数のノードの間のバスと信号線の詳細を例示している。
【図９】図９は、本発明のさらに別の実施形態による、典型例のバス・システムの構成を示している。
【図１０】図１０は、図９の場合のバス管理部とノードの間のバスと信号線の詳細を例示している。
【図１１】図１１は、図５〜１０のバス管理部のデータブロック制御部およびチャネル制御部によって実行される、転送ブロックのチャネルの割り当て計画および再計画のためのフロー図を示している。
【図１２】図１２Ａおよび１２Ｂは、図１１のステップにおいて各データブロックの転送パラメータを決定するためのフロー図の例を示している。
【図１３】図１３は、図１２Ａのステップおよび図１２Ｂのステップにおけるパラメータ調整のためのフロー図の例を示している。
【図１４】図１４は、図１２Ａステップ、および図１２Ｂのステップにおけるパラメータ調整のためのフロー図の別の例を示している。
【図１５Ａ】図１５Ａおよび１５Ｂは、図１１のデータブロックの転送割り当て計画または再計画の後でバス管理部のデータブロック制御部によって実行される、データブロック管理部に対してバス・チャネル使用許可を与えるための処理のフローチャートを示している。
【図１５Ｂ】.
【図１６】図１６Ａおよび１６Ｂは、転送許可順序テーブルの例を示している。図１６Ｃは、転送保留リストの例を示している。
【図１７】図１７は、図１７Ａ〜１７Ｅは、予約された等時性データブロックに変更がなく通常データブロック転送が発生しない期間における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図１８】図１８Ａ〜１８Ｅは、予約された等時性データブロックの転送中に別の等時性データブロックの転送予約が挿入される場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図１９】図１９Ａ〜１９Ｅは、予約された等時性データブロックの転送中に別の通常データブロックの転送リクエストが発生した場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図２０】図２０は、データブロックを転送すべきサイクルにおいてノードのデータブロックに対する転送ウェイトが残っている場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図２１】図２１Ａ〜２１Ｅは、データブロックを転送すべきサイクルにおいてノードのデータブロックに対する転送ウェイトが残っている場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図２２】図２２Ａ〜２２Ｅは、データブロックを転送すべき連続する２つのサイクルにおいてノードのデータブロックに対する転送ウェイトが残っている場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図２３】図２３Ａ〜２３Ｅは、データブロックＩ１を転送すべき連続する２つのサイクルにおいてノードのデータブロックの転送ウェイトが残り、データブロックを転送すべきサイクルにおいてノードのデータブロックの転送ウェイトが残っている場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図２４】図２４は、本発明の別の実施形態によるマルチレイヤ構成のバス・システムの構成を示している。
【符号の説明】
【０１１７】
１００、２００、４００  ノード１〜３
１０２  データ処理部
１１２〜１１６  データブロック・バッファメモリ
１２２〜１２６  データブロック管理部
１３０  マトリックス・スイッチ
１４２、１４４  チャネル・インタフェース
１５２、１５４  チャネル・インタフェース調整部
５００  バス管理部
５０８  ストリーム管理部
５１０  データブロック制御部
５２０、５４０  チャネル制御部
【図５】
0004684031.tif 000002
【図８】
0004684031.tif 000003
【図１４】
0004684031.tif 000004
【図１９】
0004684031.tif 000005
【図１】
0004684031.tif 000006
【図２】
0004684031.tif 000007
【図３】
0004684031.tif 000008
【図４Ａ】
0004684031.tif 000009
【図４Ｂ】
0004684031.tif 000010
【図６】
0004684031.tif 000011
【図７】
0004684031.tif 000012
【図９】
0004684031.tif 000013
【図１０】
0004684031.tif 000014
【図１１】
0004684031.tif 000015
【図１２】
0004684031.tif 000016
【図１３】
0004684031.tif 000017
【図１５Ａ】
0004684031.tif 000018
【図１５Ｂ】
0004684031.tif 000019
【図１６】
0004684031.tif 000020
【図１７】
0004684031.tif 000021
【図１８】
0004684031.tif 000022
【図２０】
0004684031.tif 000023
【図２１】
0004684031.tif 000024
【図２２】
0004684031.tif 000025
【図２３】
0004684031.tif 000026
【図２４】
0004684031.tif 000027