バス・システム、バス管理装置、ノード装置、およびバス管理装置用のプログラム
【課題】バス・システムにおける転送のための消費電力を低減する。
【解決手段】バス・システムのバス管理手段(500)は、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける等時性データブロックまたは通常データブロックのバス動作速度、バス使用権の割り当て頻度および連続転送サイズの計画を生成し(512)、その計画と、ノード装置による少なくとも1つのデータブロックの転送の要求とに従って、1つのデータブロックに対するバスの割り当てを決定し(510)、1つのデータブロックを転送するノード装置に1つのデータブロックの転送レートおよびバス使用許可を与える(520)。ノード装置(100)は、バス管理手段から受け取った情報の転送レートおよびバス使用許可に応答して、バス上でその受け取った転送レートで(152,154)別のノード装置にそのデータブロックの連続転送サイズのデータを転送する。
【解決手段】バス・システムのバス管理手段(500)は、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける等時性データブロックまたは通常データブロックのバス動作速度、バス使用権の割り当て頻度および連続転送サイズの計画を生成し(512)、その計画と、ノード装置による少なくとも1つのデータブロックの転送の要求とに従って、1つのデータブロックに対するバスの割り当てを決定し(510)、1つのデータブロックを転送するノード装置に1つのデータブロックの転送レートおよびバス使用許可を与える(520)。ノード装置(100)は、バス管理手段から受け取った情報の転送レートおよびバス使用許可に応答して、バス上でその受け取った転送レートで(152,154)別のノード装置にそのデータブロックの連続転送サイズのデータを転送する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、バス・システムに関し、特に、内部バスを介して複数のノードの間でオーディオ/ヴィジュアル(A/V)情報を転送する情報処理装置に関する。
【背景技術】
【0002】
通常のA/V情報家庭用電子機器において、バス・システムを介して、A/Vストリーム等の等時性またはリアルタイム性を必要とするデータと、通常のデータとが転送される。等時性転送の等時性を維持するための制御は、ソフトウェアによって行われる。ハードウェアは、ノード毎かつ1転送サイクル毎のバス使用権のみを管理するので、ソフトウェアはどのような複数の等時性転送を行うかおよび通常データ転送がどれだけ発生するかを管理し、等時性転送を含む複数のデータ転送を、等時性転送が破綻しない程度に十分小さな単位で各転送の順序を管理する。IEEE1394の等時性データ転送によるバス・システムでは、周期的に等時性データ転送用の期間が確保される。いずれのバス・システムにおいても、等時性転送にはバッファ・オーバフローおよびアンダフローを避けるため、典型的にはバスの最大動作周波数またはノード固有の動作周波数でバスを動作させる。等時性転送を考慮しないバス・システムにおいては、消費電力を低減するために、バスの使用状況の統計などに基づいて、バス・システム全体の動作周波数および電圧を変え、または電源そのものをターンオフすることがある。
【0003】
特開2000−20458号公報(A)には、バス制御回路が記載されている。このバス制御回路では、アービタはブリッジからバスの動作状態を示すブリッジのバス監視回路からの信号によって制御信号とデータ線とを、バス監視回路からの信号によって制御線とデータ線とを監視し、各チャネル装置のトランザクション開始要求に対する許可を与える機能を持つ。アービタは2本のデータ線が32ビットPCIバス及び64ビットPCIバスとして動作することができるようにコントロールする。アービタは32ビットPCIバスとして動作させる場合、2つの32ビットのチャネル装置に対して夫々異なる32ビットPCIバスを使用させるように制御する。
【特許文献1】特開2000−20458号公報
【0004】
特開2003−30133号公報(A)には、バス型アービトレーション・システムが記載されている。そのシステムにおいて、バス・アービタが、バスに接続されている各機能ブロック及び制御ブロックのバス使用効率を求めて、データ転送レート期待値を満足するように各機能ブロック及びCPUに対するバスのデータ転送帯域を割り当てて、システムがリアルタイムに要求するバスのデータ転送レートを満足させるとともに、CPUが、システムの要求条件に従って各機能ブロック及びCPUに対するバスのデータ転送レート期待値を決定してバス・アービタに登録する。
【特許文献2】特開2003−30133号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
IEEE1394の等時性転送によるバス・システムでは、伝送周波数帯域幅に上限があるので通常転送用の余分な帯域があってもそれを等時性転送に使用することはできず、等時性転送用の或る伝送期間を完全には使用していなくても、その期間の残りを他の等時性転送等に使用することはできず、等時性転送は、各ノード固有の動作レートでしか行えない。1周期の所定期間に転送され得るデータ量より大きい等時性転送用のデータ・バッファが送信ノードと受信ノードの双方で必要なので、ハードウェアは大きい。通常のバス・システムにおいても、バスの最大動作レートまたはノード固有の動作レートでバスを動作させるので、バスの伝送帯域が余っていても、消費電力が大きい。等時性転送を考慮しないバス・システムにおいては、バス・システム全体の動作レートおよび電圧を変更しまたは電源そのものをターンオフするまでに待ち時間が発生し、または単位時間当たりの切換の回数が増加して大きな電力変動が頻繁に起こることがあり、電力変動に耐え得る強力な電源が必要になる。
【0006】
発明者たちは、バス・システムにおいて各データブロックをトラフィックに応じた可能な最低のバス・チャネル動作速度および動作電圧でバスを介してノード間で転送することによって、転送のための消費電力を全体的に低減することができる認識した。
【0007】
本発明の1つの目的は、バスのトラフィックに応じてバス・チャネル動作速度および動作電圧を最小化して、バス・システムにおける転送のための消費電力を低減することである。
【0008】
本発明の別の目的は、等時性転送と通常転送が混在可能なバス・システムにおいて、安定した等時性転送を容易に行えるようにすることである。
【課題を解決するための手段】
【0009】
本発明の1つの特徴によれば、バス・システムは、バスを介して相互接続された複数のノード装置と、バス制御線を介してその複数のノード装置に接続されたバス管理手段と、からなり、そのバス管理手段は、その複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取り、その等時性データブロック転送予約の情報と、その複数のノード装置の中の少なくとも1つのノード装置からのその等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおけるその少なくとも1つのデータブロックのそれぞれの転送用のバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、その計画と、少なくとも1つのノード装置による少なくとも1つのデータブロックの転送の要求とに従って、1つのデータブロックに対するバス・チャネルの割り当てを決定し、その1つのデータブロックを転送するノード装置に、そのバス制御線を介してその1つのデータブロックのバス・チャネル動作速度の情報およびその1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間のバス・チャネル使用許可を与える。そのノード装置は、その転送要求中のデータブロックの転送が完了するまでそのデータブロックの転送要求を維持し、そのバス管理手段から受け取ったその1つのデータブロックのバス・チャネル使用許可に応答して、バス・チャネル使用許可された期間、受け取ったその情報のバス・チャネル動作速度で別のノード装置にそのデータブロックのデータを転送する。
【0010】
本発明は、さらに、上述のバス管理手段を実現するプログラムに関する。
【発明の効果】
【0011】
本発明によれば、バスのトラフィックに応じてバス・チャネル動作速度および動作電圧を最小化して、バス・システムにおける転送のための消費電力を低減することができ、等時性転送と通常転送が混在可能なバス・システムにおいて、安定した等時性転送を容易に行えるようになる。
【発明を実施するための最良の形態】
【0012】
本発明の実施形態を図面を参照して説明する。図面において、同様の構成要素には同じ参照番号が付されている。
【0013】
図1Aおよび1Bは、それぞれ、通常のバス・システムの構成と、そのバス・システムにおける複数のノードND−a、ND−bおよびND−c間での等時性データブロックDIおよび通常データブロックDNの転送のタイム・チャートとを示している。
【0014】
図1Aのバス・システムにおいて、ノードND−aからノードND−bへおよびノードND−bからノードND−cへの例えばA/Vストリームのような等時性データブロックDIの転送要求と、ノードND−aからノードND−cへの非等時性の通常データブロックDNとの転送要求が存在するとき、バス・アービタBAはそれぞれの転送要求に対してバス使用の許可GRTを与える。図1Bにおいて、等時性データDIの転送に確保された各転送サイクルP中の期間PIにおいて等時性データDIが所定のデータ転送レート(速度、率)で行われ、期間PI中に空白が生じることがある。通常データDNの転送要求が存在するときは、通常データDNの転送に確保された転送サイクルP中の残りの期間において通常データDNが所定の転送レートで行われ、その残りの期間中に空白が生じることがある。
【0015】
図2Aおよび2Bは、データ転送要求の有無に応じてバス・システムの電源をオン/オフする場合におけるデータ転送とバス・システムの消費電力とを示している。この場合、データ転送が停止しても、データ転送の停止後に電源オフ動作の前にデータ待ち時間WDが発生するので、電源のオン状態はデータ転送停止後も続く。
【0016】
図3は、データ転送レートをバス上のトラフィックに応じて切換え制御する場合におけるデータ転送を示している。最初の転送サイクルP1では、トラフィックの量が多いので高い転送レートでデータが転送される。次の転送サイクルP2においてトラフィックの量が減少したときそれが検出される。その検出結果に従って、次の転送サイクルP3では、低い転送レートでデータが転送される。この場合、転送レートの切換えが1転送サイクルだけ遅れるので転送サイクルP2における転送に大きな空白が生じる。また、転送サイクルP3において低い転送レートでデータが転送されている期間に、転送要求されたデータ量が急増したときは、データ転送に遅延が生じ、受信ノードにおいて等時性データの再生に中断または欠落が生じることがある。
【0017】
図4A、4Bおよび4Cは、本発明の原理による、バス・システム10の構成と、そのバス・システム10における複数のノード(NDa、NDb、NDc)100、200および300間の等時性データブロックDI1およびDI2および通常データブロックDNの転送のタイム・チャートとをそれぞれ示している。CPU400は、バス管理部500に、各データブロックの要求特性、例えばバス動作速度すなわち転送レートの上下限および転送優先度、入出力バッファメモリのサイズ、および可変バースト長、等を予め通知して、バス管理部500はそれを予め格納して転送のための処理を行う。バス管理部500は、ノード100〜300からのデータブロックDI1、DI2およびDNの転送要求、そのデータブロックの要求特性およびトラフィック状況に応じて、それぞれのノード100〜300にデータブロックの転送に対するバス・チャネル使用の許可GRTを与える。
【0018】
バス・システム10においては、転送データを、通常の形態でノード単位または転送サイクルの単位で管理するのではなく、それぞれの等時性転送および通常転送のデータのグループの単位、即ちデータブロック単位で管理する。
【0019】
バス管理部500は、各データブロックDI1、DI2およびDNの要求特性のみに従って転送を制御する。バス管理部500のソフトウェアは、各ノード100〜300に対してデータブロック単位でバスの使用の割り当て頻度、すなわち時間的回数配分の比率を調整し制御する。バス管理部500は、データブロック単位で、各データブロックの転送要求特性と、各ノードのハードウェア特性とに応じて、バスの使用権を調停する。ハードウェア特性には、可能なバス転送レート、データビット幅および転送のオーバヘッド等から決まる転送帯域幅、各ノードまたはその内部のデータブロック管理部のバッファメモリ容量、およびバースト長、等が含まれる。バースト長が可変で、データブロックにより変化する場合は転送要求特性に含まれる。バス管理部500は、各データブロックの転送要求特性と各ノード100〜300のハードウェア構成に基づいて最小限のバス動作速度および動作電圧で動作するように、データブロック毎に、動的に、転送サイクル、動作速度、動作電圧およびデータの転送サイズを調整し、バス20およびノード100〜300を制御する。それによって、バス・システム10における消費電力が全体的に最小化される。
【0020】
ノード100〜300は、転送データブロック毎に転送管理および制御を行う。ノード100〜300は、同時に扱うデータブロックの数と等しい数のデータブロック管理部を有する。データブロックを送受信し利用するノード100〜300のハードウェアおよび/またはアプリケーションを変更するときは、そのソフトウェアの修正は、データブロックの優先度だけを考慮すればよく、従って比較的容易である。
【0021】
バス管理部500は、基本的にはデータブロックの転送要求が発生および終了したタイミングで、調停を行う。CPU400のソフトウェアは、通常、所定の要求特性で継続的に転送される等時性転送については、調停が円滑に行われるように転送開始前に転送要求の予約をバス管理部に予め登録してもよい。バス管理部500はCPU400のソフトウェアにバス20の性能および/または利用状況に関する情報を報告する。CPU500のソフトウェアは、その情報に基づいて、バス・システム10で、どのアプリケーションが動作可能か、ユーザに提供できるサービスを判断し提示することができる。
【0022】
図4A、4Bおよび4Cを参照すると、バス管理部500は、アービトレーション・サイクルPa単位で、各アービトレーション・サイクルPaにおける各データブロックDI1、DI2およびDNに対するノード100〜300の転送レートすなわち動作速度、動作電圧、割り当て頻度および連続転送サイズ、転送時間期間およびバースト長等を決定し、バス20の使用権を調停する。図4Bおよび4Cにおいて、最初は、等時性データブロックDI1およびDI2がバス20上で交互にそれぞれの低い転送レートで転送される。データブロックの転送割り当てに変更が生じない間は、バス上のデータ・トラフィックの平均転送レートRavがバスの最低転送レートRminより低くならない限り、様々な長さのバースト長を有する各転送データブロックの間には、基本的には最大時間長さTm以下のデータ転送空白期間しか存在しない。タイミングT1で通常データブロックDIの転送要求が発生し、バス管理部500による制御および調停によって、データブロックDI1、DI2およびDIが循環的に高い転送レートで転送される。最大時間長さTmは、転送レートの調整等のオーバヘッドの最長時間である。タイミングT2でデータブロックDNの転送が完了し、バス管理部500による制御および調停によって、データブロックDI1およびDI2が最初の交互に低い最初の転送レートで転送される。タイミングT3でデータブロックDI2の転送が完了し、バス管理部500による制御および調停によって、データブロックDI1がより低い転送レートで転送される。従って、バス・システム10の転送期間に無駄な空白期間が生じることが実質的に最小限に抑えられ、動作電圧に依存するバス・システム10の消費電力は、ノード100〜300の転送レート、即ち動作電圧に応じて変動して全体的に最小化される。
【0023】
図5は、本発明の実施形態による、典型例のバス・システム10の構成を示している。バス・システム10は、2つのバス・チャネルCH−AおよびCH−Bと、100で示されたノード1と、200で示されたノード2と、400で示されCPUであるノード3と、500で示されたバス管理部と、からなる。この場合、バス管理部500とCPU400が直接通信可能なものとし、それは、例えば、バス管理部500がCPUを含むノード400のLSIの1つの機能ブロックであって、ノード400が全ノード100、200および400自体の機能を管理している場合である。この場合、CPU400が、バス管理部500に対して等時性データブロック転送予約を直接登録する。
【0024】
ノード100、200および400は、2つのバス・チャネルCH−A、CH−Bに接続されている。バス管理部500は、ノード100から信号線を介して複数の要求信号REQ12〜REQ16を受け取り、ノード200から信号線を介して複数の要求信号REQ2を受け取り、ノード400から信号線を介して複数の要求信号REQ3を受け取る。バス管理部500は、予め登録された等時性データブロック転送予約ISOC DBK RSVと、要求信号REQ12〜REQ16、REQ2およびREQ3とに応答して、計画期間において、各転送サイクルにおいて可能な限り低い転送レートでデータを転送するように転送割り当て計画または再計画を作成し、即ちバス・チャネルにおける等時性データブロックおよび/または通常データブロックの転送レート、割り当て頻度および連続転送サイズ等の計画を作成し、その計画に従って、各データブロックの連続転送サイズおよび転送レートによって決まる時間期間または転送サイクルにおける各データブロックに対するバス・チャネルの使用の割り当てを決定し、その時間期間において、バス・チャネルCH−AとCH−Bに対するパラメータ制御信号CH−A CTRLとCH−B CTRLを信号線を介してノード100、200および400に供給して各ノードの動作レートおよび動作電圧を調整し、信号線を介して各ノード100、200および400の転送データブロックに対するバス・チャネルCH−AとCH−Bの使用許可CH−A GRTとCH−B GRTを与える。
【0025】
ノード100は、データブロックを生成しまたは利用するアプリケーション190に接続されたデータ処理部102と、データ処理部102に接続されn個のデータブロック・バッファメモリ112〜116をそれぞれ有するn個のデータブロック管理部122〜126と、2つのバス・チャネルCH−AおよびCH−Bとのインタフェースを形成してデータブロックを送受信するチャネル・インタフェース(CH−A IF、CH−B IF)142および144と、チャネル・インタフェース142および144の転送動作レートRおよび動作電圧Vを調整するチャネル・インタフェース調整部(R&V AJ)152および154と、2つのバス・チャネルCH−AとCH−Bのうちの一方をデータブロック管理部122〜126の中の1つに、2つのバス・チャネルCH−AとCH−Bのうちの他方をデータブロック管理部122〜126の中の別の1つに選択的に切換えて接続するマトリックス・スイッチ部(MX SW)310と、を具えている。従って、同時に2つのバス・チャネルを用いてデータを転送することができる。ノード200および400もノード100と同様の構成を含んでいる。
【0026】
バス管理部500は、ノード400即ちCPUから、ノード100、200および400における等時性データブロックの転送に関する等時性データブロック予約信号ISOC DBK RSVを信号線を介して受け取るストリーム管理部(STRM MNG)508と、ストリーム管理部508に接続されたデータブロック制御部(DBL CTRL)510と、データブロック制御部510からのデータブロック割り当ておよびリクエスト通知(DBK ASGN & REQ)を受け取り、バス・チャネルCH−AおよびCH−B用のパラメータ制御信号(CH−A PR CTRL、CH−B PR CTRL)およびチャネル使用許可(CH−A GRT、CH−B GRT)を発生するチャネル制御部(CH−A CTRL、CH−B CTRL)520および540と、を具えている。データブロック制御部510は、転送ルート計画部512を含んでいる。データブロック割り当てとは、各データブロックに対するそれぞれのバス・チャネルCH−AおよびCH−Bの使用の割り当て時間期間を表す。
【0027】
転送ルート計画部512は、ノード100、200および400から受け取った転送リクエストREQ12〜16、2、3と、ストリーム管理部508から受け取った等時性データブロック予約ISOC DBK RSVとに基づいて、各転送データブロックに対して少なくとも1つのバス・チャネルからなる転送ルートを決定する。等時性データブロック予約信号ISOC DBK RSVには、転送元ノードまたはマスタ・ノードのID、データブロック管理部ID(TID)、転送宛先ノードまたはスレーブ・ノードID、転送要求レートおよび優先度等が含まれている。等時性データブロックの転送リクエストREQには、データブロックのタイプ(等時性)、等時性転送予約ID、転送元ノードまたはマスタ・ノードのID、データブロック管理部ID(TID)、転送宛先ノードまたはスレーブ・ノードID、転送要求レートおよび優先度等が含まれている。通常データブロックの転送リクエストREQには、データブロックのタイプ(通常)、等時性転送予約ID、転送元ノードID、データブロック管理部ID(TID)、転送宛先ノードIDおよび優先度等が含まれている。バス管理部510は、各データブロックの転送タイミング、転送データ・バースト長、転送動作レートおよび動作電圧を決定し、チャネル制御部520および540にデータブロック割り当ておよびリクエスト通知を供給する。
【0028】
チャネル制御部520は、データブロック・パラメータ計画部(DBK PR PLN)522と、パラメータ制御部(PR CTL)524と、各バス・チャネル(CH−A)用のチャネル・アービタ部(CH AB)526とを具えている。チャネル制御部540もチャネル制御部520と同様の構成を有する。データブロック・パラメータ計画部522は、そのデータブロック割り当ておよびリクエスト通知に従って、対応するチャネルCH−Aのデータブロックのパラメータを計画する。パラメータ制御部524は、その計画に従って、対応するチャネルCH−A上でデータブロックを転送するノード100のチャネル・インタフェース調整部152および154に、およびそのデータブロックを受信する他のノード200および400に、チャネル・パラメータ制御信号CH−A PR CTRLを供給する。チャネル・アービタ部526は、そのデータブロック割り当ておよびリクエスト通知に従って、許可されたデータブロックを転送するデータブロック管理部(122〜126)の転送ID(TID)を含むチャネル使用許可信号CH−A GRTを対応するノード100、200および400に供給する。
【0029】
チャネル・インタフェース調整部152および154は、チャネル・パラメータ制御信号CH−A PR CTRLおよびCH−B PR CTRLに従って、チャネル・インタフェース142および144の動作レートおよび動作電圧を調整する。ノード100のマトリックス・スイッチ130は、チャネル・インタフェース142および144を介して、チャネル使用許可信号CH−A GRT、CH−B GRTに含まれていた転送ID(TID)を受け取り、データブロック管理部122〜126の中の対応するデータブロック管理部(例えば122)に供給する。ノード200および300も同様に動作する。
【0030】
転送ID(TID)を含むチャネル使用許可(CH−A GRT、CH−B GRT)を受け取ったデータブロック管理部122は、対応するデータブロック・バッファメモリ112に格納されていた送信データブロックをチャネル・インタフェース、例えばチャネル・インタフェース142に供給する。チャネル・インタフェース142は、調整された動作レートおよび動作電圧でデータブロックを宛先のノードに転送する。チャネル・インタフェース144も同様に動作する。
【0031】
ノード100がチャネルCH−AまたはCH−B上でデータブロックを受信する場合、チャネル・インタフェース142または144は、同様に、発信元のノード(例えばノード200)から転送されたデータブロックを、チャネル制御部540によって調整された動作レートおよび動作電圧でそのバス・チャネルCH−AまたはCH−B上で受信する。
【0032】
図6は、図5の場合のバス管理部500と複数のノード100、200および400の間のバスと信号線の詳細を例示している。ノード100、200および400は、バス・チャネルCH−AおよびCH−B用のアドレスおよびデータ線ADDR&Data−A、ADDR&Data−Bを介して互いに接続されている。バス管理部からノード100、200および400へ接続される、バス・チャネルCH−A、CH−B用のクロック信号線CLK−A、CLK−B、および動作レートおよび電圧設定情報線R&V ID−A、R&V ID−Bが設けられている。ノード100および200から、ノード300即ちCPUへの割り込み信号線IRT−1、IRT−2が設けられている。バス管理部500からノード100、200および400へ接続される、ノード制御信号線ND CTRL SGSが設けられている。各ノードに対する各バス・チャネル用のノード制御信号線ND CTRL SGSは、スレーブ・ウェイト信号線SLV WT、複数のウェイト信号線WT、スレーブ・ノード選択線SLV ND SEL、複数のバス・チャネル使用許可線GRTおよび複数のリクエスト線REQで構成されている。
【0033】
図7は、本発明の別の実施形態による、典型例のバス・システム14の構成を示している。バス・システム14は、104で示されたノード1と、204で示されたノード2と、504で示されたバス管理部とからなる。この図においてノード100と同様の別のノード3は省略されている。この場合、バス管理部504はノードとは別に設けられている。各ノード104および204は、等時性データブロック予約用の専用信号線を用いて、等時性データブロック予約ISOC DBK RSVをバス管理部504に登録する。ノード104の等時性データブロック予約は、ノード104のデータ処理部102によってバス管理部504のストリーム管理部508に供給される。ノード204の等時性データブロック予約についても同様である。バス・システム14のノード104および204、およびバス管理部504の構成は、図5のバス・システム10のノード100およびバス管理部500の構成と同様であり、再度説明することはしない。
【0034】
図8は、図7の場合のバス管理部504とノード104および204および別のノード304の間のバスと信号線の詳細を例示している。この場合、ノード104、204および304からバス管理部504に等時性データブロック予約用の専用信号線ISOC DBK RSVが接続されている。その他の構成は図6のバス管理部500およびノード100の場合と同様である。
【0035】
図9は、本発明のさらに別の実施形態による、典型例のバス・システム16の構成を示している。バス・システム16は、106で示されたノード1と、206で示されたノード2と、506で示されたノード4としてのバス管理部とからなる。この場合、バス管理部506はノードの機能を有し、ノード106および206は、通常のデータ転送と同様の形態で等時性データブロック予約をバス・チャネルAまたはBを介してバス管理部506に送ることができる。等時性データブロック予約を表すデータブロックには専用の優先順位を付与して、最高の優先度でノード106および206からバス管理部506に転送されるようにするのが望ましい。
【0036】
図9において、各ノード106および206は送信データブロック管理部および/または受信データブロック管理部を有する。図9では、ノード106は、マスタおよびスレーブとして機能し、送信バッファメモリ113に接続されたマスタとしての送信データブロック管理部132、...134と、受信バッファメモリ115に接続されたスレーブとしての受信データブロック管理部136、...138と、を具えている。データ処理部102は、制御信号を送信データブロック管理部136、...134に供給し、制御信号を受信データブロック管理部136、...139との間で送受信する。
【0037】
マトリックス・スイッチ130は、送信データブロック管理部132、...134に読み出し制御信号R CTLを供給して送信データブロック管理部132、...134を介して送信バッファメモリ113から送信データを読み出し、受信データブロック管理部136、...138に書き込み制御信号W CTLを供給して受信データブロック管理部136、...138を介して受信データを受信バッファメモリ115に書き込む。データ処理部102は、送信データを送信バッファメモリ113に供給して格納し、受信データを受信バッファメモリ115から取り出して処理する。送信データブロック管理部132、...134と、受信データブロック管理部136、...139とは、バス管理部512のデータブロック制御部510にリクエストREQ12〜16を供給する。
【0038】
各ノードは、送信バッファメモリに接続されたマスタとしての1つ以上の送信データブロック管理部のみを具えていても、または受信バッファメモリに接続されたスレーブとしての1つ以上の受信データブロック管理部のみを具えていてもよい。
【0039】
ノード106のデータ処理部102は、送信データブロック管理部132、...134を介して、バス・チャネルCH−AまたはCH−Bへ通常データブロックの形で等時性データブロック予約を供給し、ストリーム管理部508はバス・チャネルCH−AおよびCH−Bからノード・インタフェース(IF)542を介して等時性データブロック予約を受け取る。また、特にノード106が送信データブロック管理部を持たず受信データブロック管理部136、...139のみを有する場合は、ノード106のデータ処理部102は、受信データブロック管理部136、...138を介して、バス・チャネルCH−AまたはCH−Bへ通常データブロックの形で他のノードから受信すべきデータブロックの等時性データブロック予約を供給してもよい。
【0040】
図10は、図9の場合のバス管理部504とノード106および206の間のバスと信号線の詳細を例示している。この場合、等時性データブロック予約用の専用信号線は存在しない。
【0041】
図11は、図5〜10のバス管理部500、504および506のデータブロック制御部510およびチャネル制御部520および540によって実行される、転送ブロックのチャネル使用の割り当て計画および再計画のためのフロー図を示している。
【0042】
データブロック制御部510は、ステップ1102、1104および1106の動作に応答して、転送割り当て計画および再計画のためにステップ1110およびその後のステップを実行する。ステップ1102においてデータブロック制御部510は、ノード1、2、3または4からストリーム管理部508を介して新しい等時性データブロックの転送予約を受け取る。ステップ1104においてデータブロック制御部510は、ノード1、2、3または4から新しいリクエストを受け取る。この場合、新しいリクエストとして通常データブロックのみを考慮すればよい。ステップ1106においてノード1、2、3または4からのリクエストが終了する。
【0043】
ステップ1102〜1106の後のステップ1110において、データブロック制御部510は、ルート計画部512に、要求されたデータブロックの転送ルートを決定させる(A)。ルート計画部512は、要求された各データブロックの転送ルートを決定し、転送ルートとして複数のバス・チャネルが利用可能な場合は、その複数のバス・チャネルの中から転送ルートを構成する1つまたは複数のバス・チャネルの組み合わせを選択する。その際、例えば、可能な限り各バス・チャネルCH−A、CH−Bに対する割り当てデータブロックの数が均等になるように割り当て、可能な限り等時性データブロック転送と通常データブロック転送が混在しないように割り当てるという、制御を簡単化するためのルールを適用する。また、例えば、各バス・チャネルへのデータブロックの割り当ての組み合わせの各パターンについて、各データブロックの転送レート条件に基づいて、消費電力予測値を計算し、最小消費電力になる組み合わせを選択するという、消費電力を低くするためのルールを適用する。
【0044】
ステップ1112において、データブロック制御部510は、各バス・チャネルCH−A、CH−Bについて、各データブロックのバス・チャネルの動作レート、チャネル使用割り当て頻度(1転送サイクル当たりの転送回数または1回の転送に対する転送サイクル数)、連続的に転送するデータのサイズまたは量、可変データ・バースト長を決定する(B)。
【0045】
図16Aおよび16Bは、転送許可順序テーブルの例を示している。図16Cは、転送保留リストの例を示している。転送許可順序テーブルは、転送を許可するデータブロックの識別子に転送許可の順序を表す番号を付加したものである。転送保留リストは、転送の優先度が低くバスのトラフィックが最大許容量に達したときに一時的に転送を保留されるデータブロック、または送信または受信ノードより転送ウェイトが出されて一時的に転送を保留されるデータブロックの識別子のリストである。
【0046】
ステップ1114において、データブロック制御部510は、各バス・チャネルCH−A、CH−Bについて、各データブロックのチャネル使用割り当て頻度を決定し、さらに同じバス・チャネルで現在データブロックを転送中のときは、割り当て計画を切替えタイミングの前後で転送を予定していたデータブロックを考慮して新しい転送許可順序テーブルを決定する。割り当て計画の切替タイミングは、例えば、新しい転送許可順序テーブルが決定する時点において転送実行中のデータブロックのチャネル使用許可が解除されるタイミングであってもよい。転送を予定していたデータブロックを考慮して、例えば、新しいチャネル使用割り当て頻度と、切替タイミングの直前直後の部分で、決定したチャネル使用割り当て頻度に偏りが出ないように順序を選ぶ。例えば、切替前に転送していた順序に基づいて転送許可順序テーブルへの転送データブロックの追加または削除を行う。
【0047】
ステップ1116において、データブロック制御部510は、割り当て計画の切り替えタイミングで、転送許可順序テーブルを更新する。チャネル制御部520および530は、データブロックに対するチャネル・パラメータの制御計画を作成し、各ノード100および200における各バス・チャネルCH−A、CH−Bの動作レートおよび動作電圧を表すチャネル・パラメータを各ノードに送信し、各バス・チャネルCH−A、CH−Bの各データブロック転送を各ノード100および200に割り当てる。
【0048】
図12Aおよび12Bは、図11のステップ1112において各データブロックの転送パラメータを決定する(B)ためのフロー図の例を示している。
【0049】
図12Aを参照すると、ステップ1202において、データブロック制御部510は、予約された等時性タイプのデータブロックについてチャネル・パラメータを調整する(C)。ステップ1204において、データブロック制御部510は、通常のデータブロックを所定の優先ルールに従って追加し、パラメータを再調整する(C)。
【0050】
図12Bを参照すると、ステップ1212において、データブロック制御部510は、一定以上の優先度を持つデータブロックについてチャネル・パラメータを調整する(C)。ステップ1214において、データブロック制御部510は、低い優先度のデータブロックを所定の優先ルールに従って追加し、パラメータを再調整する(C)。
【0051】
その所定の優先ルールとして、例えば、優先度が最高の場合は他のデータブロックの 転送要件が満たせなくなっても先行して転送完了まで転送を優先し、即ち転送可能な限り転送許可を継続して与え、優先度がより高いデータブロックをより優先し、優先度が同じ2つ以上のデータブロックについては等時性データブロックを優先する、というものであってもよい。さらに、優先度が最低のデータブロックは、転送要件が満たされない場合は(例えばバスのトラフィックが最大許容量に達したとき)、転送要件が満たされるようになるまで転送保留リストに入れて待機させ、可能になったときに転送する、というものであってもよい。或いは、転送要件を、満たさないデータブロックは転送保留リストの外で待機させてもよい。
【0052】
図13は、図12Aのステップ1202および1204、および図12Bのステップ1212および1214におけるパラメータ調整(C)のためのフロー図の例を示している。
【0053】
パラメータを調整する際に、全データブロックに同じ転送レートを初期値として選択する。次いで、高い要求転送レートのデータブロックの割り当て時間を長く、低い要求転送レートのデータブロックの割り当て時間を短くする。その際、連続転送サイズとチャネル使用割り当て頻度を調整することによって、可能な限りチャネル使用割り当て時間を均等化する。次いで、転送時間が不十分な場合には、動作レートを調整する。
【0054】
ステップ1302において、データブロック制御部510は、各データブロックの要求転送レートおよび各ノードの対応可能最高動作レートなどを考慮して、各バス・チャネルの最低平均動作レートを計算する。ステップ1304において、データブロック制御部510は、各データブロックの仮の連続転送サイズを可能な最大値に設定する。
【0055】
ステップ1306において、データブロック制御部510は、連続転送サイズと要求転送レートに基づいて各データブロックの仮のチャネル使用割り当て頻度を計算し、基準転送サイクルおよび必要に応じて基準転送間隔を計算する。
【0056】
ステップ1310において、データブロック制御部510は、各データブロックの転送サイクル長および各バス・チャネルの総転送帯域の剰余スペースが適正かどうかを判定する。適正であると判定された場合は、手順は図13のサブルーチンを出る。
【0057】
ステップ1310において適正でないと判定された場合は、ステップ1312において、データブロック制御部510は、各データブロックの連続転送サイズとチャネル使用割り当て頻度を再調整する。そのために、例えば、許容長より長い転送サイクルを持つデータブロックの連続転送サイズを小さくし、それに応じてチャネル使用割り当て頻度を増加させる。
【0058】
ステップ1314において、各データブロックの転送レートを再調整する。そのために、例えば、許容長より長い転送サイクルを持つデータブロックの転送レートを増加させる。転送帯域が不足している場合は、1つ以上のデータブロックの転送レートを増加させる。それでも転送帯域が不足する場合は、可能であれば別のバス・チャネルに振り替えるか、優先度の低いデータブロックの転送を、待機させるか、転送不能エラーとして処理して削除する。転送帯域が余っている場合は、要求転送レートの遅いデータブロックの転送レートを下げる。
【0059】
図14は、図12Aステップ1202および1204、および図12Bのステップ1212および1214におけるパラメータ調整(C)のためのフロー図の別の例を示している。
【0060】
パラメータを調整する際に、各データブロックの1転送サイクル当たりのチャネル使用割り当て時間ができるだけ均等になるように転送レートを選択する。その際、要求転送レートが高いブロックほど高い動作レートを設定する。次いで、可能な限り1転送サイクルの割り当て時間を維持したまま、各データブロックの転送レートの差を小さくするように、転送動作レートと連続転送サイズを調整する。
【0061】
図14のステップ1302および1304は図13のものと同様である。ステップ1406において、データブロック制御部510は、データブロックの要求転送レートに従ってチャネル最低平均レートを満たすように各ブロックの転送レートを設定する。ステップ1408において、データブロック制御部510は、チャネル使用割り当て頻度を計算する。
【0062】
ステップ1310は、図14のものと同様である。ステップ1310において、各データブロックの転送サイクル長および各バス・チャネルの総転送帯域の剰余スペースが適正であると判定された場合は、手順は図13のサブルーチンを出る。
【0063】
ステップ1310において適正でないと判定された場合は、ステップ1412において、データブロック制御部510は、各データブロックの転送レートおよび連続転送サイズを再調整する。ステップ1414において、データブロック制御部510は、各データブロックの割り当て頻度を再調整する。
【0064】
図15Aおよび15Bは、図11のデータブロックの転送割り当て計画または再計画の後でバス管理部500のデータブロック制御部510によって実行される、データブロック管理部122〜126および132〜134に対してチャネル使用許可GRTを与えるための処理のフローチャートを示している。
【0065】
図11のフロー図、即ち割り当て計画または再計画の完了後、ステップ1502において、データブロック制御部510は、各ノード1、2、3および4の各データブロック管理部からウェイト要求(WT)があるかどうかを判定する。
【0066】
ウェイト要求がないと判定された場合は、ステップ1504において、データブロック制御部510は、データブロック転送の転送保留リストが存在するかどうかを判定する。転送保留リストは、転送を保留すべきデータブロックの識別子のリストである。転送保留リストが存在しないと判定された場合は、手順は図15Bのステップ1542に進む。転送保留リストが存在すると判定された場合は、手順は図15Bのステップ1552に進む。
【0067】
ステップ1502においてウェイト要求があると判定された場合は、ステップ1512において、データブロック制御部510は、転送保留すべきデータブロックの転送保留リストが存在するかどうかを判定する。転送保留リストが存在しないと判定された場合は、ステップ1522において、データブロック制御部510は、転送許可順序テーブルの先頭のデータブロックに対して転送のウェイト要求が存在するかどうかを判定する。先頭のデータブロックに対するウェイト要求がないと判定された場合は、手順は図15Bのステップ1542に進む。
【0068】
ステップ1522において先頭のデータブロックに対してウェイト要求が存在しないと判定された場合は、ステップ1524において、データブロック制御部510は、転送許可順序テーブルの先頭のデータブロックの識別子が保留リスト中にない場合は、その先頭のデータブロック識別子を転送保留リストの末尾にコピーして、転送許可順序テーブルを1つ進める。ステップ1526において、データブロック制御部510は、転送許可順序テーブルのすべてのデータブロック識別子が転送保留リスト中にあるかどうかを判定する。すべてのデータブロック識別子が転送保留リストにあると判定された場合は、ステップ1528において、データブロック制御部510は、ウェイト要求の解除が発生するまで転送を待機する。その後、手順はステップ1520に進む。ステップ1526においてすべてのデータブロック識別子が転送保留リストにあるわけではないと判定された場合は、手順はステップ1522に戻る。
【0069】
ステップ1512において転送保留リストが存在すると判定された場合は、ステップ1514において、データブロック制御部510は、転送保留リストのすべてがウェイト要求かどうかを判定する。すべてがウェイト要求であると判定された場合は、手順はステップ1522に進む。すべてがウェイト要求というわけではないと判定された場合は、手順はステップ1520に進む。
【0070】
ステップ1520において、転送保留リストをその先頭データブロックから順に転送ウェイト要求かどうかチェックし、ウェイト要求でないものを見つけたら、それを転送保留リストの先頭に移動させる。その後、手順は図15Bのステップ1522に進む。
【0071】
図15Bを参照すると、ステップ1542において、データブロック制御部510は、転送許可順序テーブル中の先頭のデータブロックにチャネル使用許可または転送許可GRTを与える。ステップ1544において、データブロック制御部510は、転送許可順序テーブルを1つ進める。
【0072】
一方、ステップ1552において、データブロック制御部510は、転送保留リスト中の先頭のデータブロックにチャネル使用許可を与える。ステップ1554において、転送保留リスト中の先頭のデータブロックを削除する。
【0073】
ステップ1544および1554の後のステップ1556において、データブロック制御部510は、転送を許可するデータブロックに対するチャネル使用許可GRTを対応するノードに与える。ステップ1558において、データブロック制御部510は、所定期間後、そのチャネル使用許可GRTを終了する。チャネル制御部520および540は、データブロック制御部510からデータブロック割り当ておよびリクエスト通知(DBK ASGN & REQ)を受け取り、対応する転送サイクルPにおいてバス・チャネルCH−AおよびCH−B用のパラメータ制御信号(CH−A PR CTRL、CH−B PR CTRL)およびチャネル使用許可(CH−A GRT、CH−B GRT)を発生する。ステップ1560において、リクエストREQの更新、即ちリクエストの終了または新しいリクエストの発生があるかどうかを判定する。リクエストの更新がない判定された場合は、手順は図15Aのステップ1502に戻る。リクエストの更新がある判定された場合は、図11の割り当て再計画を実行する。
【0074】
図17A〜17Eは、予約された等時性データブロックI1、I2およびI3に変更がなく通常データブロック転送が発生しない期間における、ノード1および2のデータブロックI1、I2およびI3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、予め等時性データブロックの予約が行われており、1つのバス・チャネル、例えばCH−Aだけが用いられて、バス・チャネルが一定の転送レートで動作するように設定され、ノード2のデータブロックI3用のデータブロック管理部が、チャネル使用許可G I3中にデータブロックI3の転送の中断を表すウェイト信号W I3をデータブロック制御部510に送信した場合における。
【0075】
図17Aにおいて、ノード1はバス管理部500に等時性データブロックI1およびI2の転送リクエスト(REQ I1、REQ I2)を供給し、ノード2はバス管理部500にデータブロックI3の転送リクエスト(REQ I3)を供給する。転送リクエスト信号はそれらのデータブロックの転送が終了するまで維持される。
【0076】
図17Cにおいて、バス管理部500のデータブロック制御部510によって、3つの転送リクエストREQ I1、REQ I2およびREQ I3に対して1:1:2の割り当て頻度が計画され、転送サイクルP1にデータブロックI1が割り当てられ、転送サイクルP2およびP4にデータブロックI3が割り当てられ、転送サイクルP3にデータブロックI2が割り当てられる。ラウンドロビン型のチャネル・アービタ526は、その転送計画に従って、チャネル使用許可G I1、G I2をノード1に、チャネル使用許可G I3をノード2に与える。
【0077】
図17Bにおいて、ノード1の各データブロック管理部(122〜126、132〜134)が、ダブルバッファメモリにより、データブロックI1、I2の転送中に次のデータがバッファメモリにセットされる場合は、ダブルバッファ分のデータを連続して転送しない限り、転送ウェイトは発生しない。ノード2は、複数回の転送ウェイトW I3を発生している。
【0078】
この場合、チャネル・アービタ526は、ノード2によるデータブロックI3に対するウェイトW I3の解除後に、次の転送許可割り当て転送サイクルでデータブロックI3のチャネル使用許可G I3を与える。従って、データブロック制御部510は、チャネル使用許可までの時間を短くするために比較的短い転送サイクルPを設定し、各データブロックI1、I2、I3のバス・チャネル上の転送期間を可能な限り均等にかつ短くなるように調整する。
【0079】
図17Cにおいて、サイクルP1の時間期間はデータブロックI1の量に応じて転送レートRが一定になるように設定され、サイクルP1においてノード1に対してデータブロックI1のチャネル使用許可G I1が与えられる。サイクルP2およびP4の時間期間は、それぞれデータブロックI3の量に応じて転送レートが一定RになるようにサイクルP1より短く設定され、サイクルP2およびP4においてノード2に対してデータブロックI3のチャネル使用許可G I3が与えられる。サイクルP3の時間期間は、データブロックI2の量に応じて転送レートが一定RになるようにサイクルP1およびP2より長く設定され、サイクルP3においてノード1に対してデータブロックI2のチャネル使用許可G I2が与えられる。サイクルP7における転送ウェイトW I3はサイクルP8中のタイミングT3まで延長されて終了している。従って、サイクルP8においてノード2に対してデータブロックI3の予定されていたチャネル使用許可G I3は、破線で示されているように与えられていない。その代わりに、サイクルP8においてノード1のデータブロックI1に対してチャネル使用許可G I1が与えられている。
【0080】
次の転送サイクルP9では、ノード2において転送ウェイトW I3が解除されているので、ノード2のデータブロックI3に対してチャネル使用許可G I3が与えられている。即ち、サイクルP8とP9では、データブロックI3とI1に与えられるチャネル使用許可G I3とG I1の時間期間が入れ替わっている。その後は、ノード1のデータブロックI2に対してチャネル使用許可G I2が与えられている。
【0081】
図17Dには、バス・チャネル上におけるデータブロックI1、I2、I3の転送が示されている。データブロックI1、I2およびI3は、チャネル使用許可G I1〜G I3に従ってノード1および2によってノード3に転送される(1−1→3、2−1→3、1−2→3)。
【0082】
図17Eに示されているように、この場合、等時性データブロック転送予約に変更がなく、通常データブロックの転送リクエストが出ていないので、転送レートR、従って動作電圧Vは一定である。
【0083】
図18A〜18Eは、予約された等時性データブロックI1およびI2の転送中に別の等時性データブロックI3の転送予約が挿入される場合における、ノード1および2のデータブロックI1、I2およびI3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、予め等時性データブロックの予約が行われており、1つのバス・チャネルだけが用いられて、バス・チャネルが変動する転送レートで動作するように設定され、ノード1のデータブロックI1用のデータブロック管理部(例えば122)が、転送ウェイト信号W I1をデータブロック制御部510に送信する。サイクルP4のタイミングT32で等時性データブロックI3の予約が発生したとき、およびサイクルP9のタイミングT34で等時性データブロックI1の転送が完了したときに、データブロック制御部510によって割り当て再計画が行われる。サイクルP9において、データブロックI1の転送が完了する。
【0084】
図18Aにおいて、最初、サイクルP1〜P4において、ノード1はバス管理部500のデータブロック制御部510に等時性データブロックI1およびI2の転送リクエスト(REQ I1、REQ I2)を供給している。サイクルP4のタイミングT32において、ノード2の等時性データブロックI3の転送予約が発生する。サイクルP5において、ノード2は、データブロック制御部510にデータブロックI3の転送リクエスト(REQ I3)を供給する。従って、データブロック制御部510は図11のフロー図に従って転送許可割り当て再計画を実行する。サイクルP5の終了時点のタイミングT33において、データブロック制御部510はデータブロックの転送制御を変更する。サイクルP9において、ノード1はデータブロックI1の転送を完了し、転送リクエストREQ I1を停止する。従って、タイミングT34において、データブロック制御部510は転送許可割り当て再計画を実行して転送制御を変更する。
【0085】
図18Cにおいて、データブロック制御部510によって、2つの転送リクエストREQ I1およびREQ I2に対して1:1の割り当て頻度が計画され、サイクルP1にデータブロックI1が割り当てられ、サイクルP2にデータブロックI3が割り当てられる。
【0086】
図18Bにおいて、ノード1の各データブロック管理部(122〜126、132〜134、136〜138)が、転送ウェイトW1を発生する。ノード2において、複数回の転送ウェイトW I3が発生している。ノード1によるデータブロックI1に対する転送ウェイトW I1の解除後に、チャネル・アービタ526は、次の転送許可割り当てサイクルでデータブロックI1の転送を許可する。
【0087】
図18Cにおいて、サイクルP1の時間期間はデータブロックI1の量に応じて転送レートRが低くなるように設定され、サイクルP1においてノード1に対してデータブロックI1のチャネル使用許可G I1が与えられる。サイクルP2の時間期間はサイクルP1の時間期間と等しくなるように設定され、サイクルP2においてノード1に対してデータブロックI2のチャネル使用許可G I2が与えられる。サイクルP3〜P5まで同様である。
【0088】
図18Eにおいて、転送レート、即ち動作電圧は、チャネル制御部520によって転送割り当て計画に従って1サイクルにおける転送データ量に応じて1サイクル分のデータが1サイクルで転送されるように転送レートが変更される。
【0089】
タイミングT33において、割り当て再計画に従って、3つの等時性データブロックの転送に対応して1サイクルが短くなるように転送制御が変更される。サイクルP6において、チャネル制御部520は転送レートRを高くし、チャネル・アービタ526はノード2にデータブロックI3のチャネル使用許可G I3を与える。サイクルP7において、チャネル制御部520はサイクルP1におけるより転送レートを高くサイクルP6におけるより転送レートを低くし、チャネル・アービタ526は、データブロックI1の転送の遅延を短くするために、ノード1にデータブロックI1のサイクルP1における量の半分を転送するための時間期間だけチャネル使用許可G I1を与える。サイクルP8において、チャネル・アービタ526は、データブロックI2の転送が遅延しないようにノード1にデータブロックI2のチャネル使用許可G I1を与える。サイクルP9において、チャネル・アービタ526はノード1にデータブロックI1用のサイクルP7において転送しなかった残りの半分の量のデータを転送するための時間期間だけチャネル使用許可G I1を与える。
【0090】
タイミングT34において、データブロック1の転送が終了するので、割り当て再計画が行われ、サイクルP10およびP11においてデータ量に応じて転送レートが調整されて、等しい時間期間でデータブロックI3およびI2が交互に転送される。
【0091】
図18Dには、バス・チャネル上におけるデータブロックI1、I2、I3の転送が示されている。データブロックI1、I2およびI3は、ノード1および2によってチャネル使用許可G I1〜G I3に従ってノード3に転送される。
【0092】
このように、図18A〜18Eでは、転送すべきデータの量に応じて転送レートが調整されて、各サイクルにおいてできるだけ空白が小さくなるように転送制御される。
【0093】
図19A〜19Eは、予約された等時性データブロックI1およびI2の転送中に別の通常データブロックN3の転送リクエストが発生した場合における、ノード1および2のデータブロックI1、I2およびN3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、等時性データブロック予約がバス管理部500に予め登録されており、1つのバス・チャネルだけが用いられて、バス・チャネルが変動する転送レートで動作するように設定される。
【0094】
この場合、サイクルP1〜P5において、バス管理部500および各ノード1および2は図18A〜18Eと同様に動作する。ノード2は、サイクルP5のタイミングT43において通常データブロックN3の転送リクエストREQ N3を供給する。従って、データブロック制御部510はタイミングT44において図11のフロー図に従って転送許可割り当て再計画を実行する。サイクルP5の終了時点のタイミングT44において、データブロック制御部510は次のサイクルP6のデータブロックの転送制御を変更する。サイクルP6において通常データブロックN3の転送が完了する。従って、データブロック制御部510はタイミングT45において転送許可割り当て再計画を実行する。サイクルP6の終了時点のタイミングT46において、データブロック制御部510は次のサイクルP6のデータブロックの転送制御を変更する。サイクルP9において、ノード1はデータブロックI1の転送を完了し、転送リクエストREQ I1を停止する。従って、サイクルP9のタイミングT47において、データブロック制御部510は転送許可割り当て再計画を実行してデータブロックの転送制御を変更する。
【0095】
サイクルP6において、チャネル制御部520は転送レートを高く設定し、チャネル・アービタ526はノード2にデータブロックN3のチャネル使用許可G N3を与える。サイクルP6において、ノード2は通常データブロックN3の転送を完了し、転送リクエストREQ N3を停止する。サイクルP7〜P9において、バス管理部500および各ノード1および2は図18A〜18Eと同様に動作する。
【0096】
タイミングT34において、データブロック1の転送が終了するので、割り当て再計画が行われ、サイクルP10以降においてデータ量に応じて転送レートが調整されて、サイクルP2における転送レートの約2分の1の転送レートでデータブロックI2だけが転送される。
【0097】
図20A〜20Eは、図17A〜17Eの変形であり、データブロックI1を転送すべきサイクルにおいてノード1のデータブロックI1に対する転送ウェイトW I1が残っている場合における、ノード1および2のデータブロックI1、I2およびI3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、ノード2はデータブロックI3の転送ウェイトを発生しない。図20A〜20Eにおけるバス管理部500とノード1および2の動作は、基本的に図17A〜17Eの場合と同様である。
【0098】
サイクルP2〜P5において、ノード1はデータブロックI1の転送ウェイトW I1を発生する。サイクルP5の開始点において、転送ウェイトW I1が継続しているので、チャネル・アービタ526は、ノード1へのデータブロックI1のチャネル使用許可を保留して、その代わりにノード2にデータブロックI3のチャネル使用許可G I3を与える。サイクルP5においてノード1は転送ウェイトW I1を解除する。サイクルP6において、ノード1は転送ウェイトW I1を発生していないので、チャネル・アービタ526は、ノード1のデータブロックI1に対してチャネル使用許可G I1を与える。即ち、サイクルP5とP6では、データブロックI3とI1に与えられるチャネル使用許可G I3とG I1の時間期間が入れ替わっている。その後は、ノード1のデータブロックI2に対してチャネル使用許可G I2が与えられている。
【0099】
図21A〜21Eは、図20A〜20Eの変形であり、データブロックI1およびI3を転送すべきサイクルにおいてノード1および2のデータブロックI1およびI3に対する転送ウェイトW I1およびW I3が残っている場合における、ノード1および2のデータブロックI1、I2およびI3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。図20A〜20Eにおけるバス管理部500とノード1および2の動作は、基本的に図17A〜17Eの場合と同様である。
【0100】
サイクルP2〜P5において、ノード1はデータブロックI1の転送ウェイトW I1を発生する。サイクルP3、P5、P8およびP10の各開始前において、ノード1はデータブロックI1の転送ウェイトW I1を発生する。サイクルP5の開始点において、転送ウェイトW I1およびW I3が継続しているので、チャネル・アービタ526は、ノード1へのデータブロックI1のチャネル使用許可を保留し、その代わりにノード1にデータブロックI2のチャネル使用許可G I2を与える。サイクルP6において、ノード1および2は転送ウェイトを発生していないので、チャネル・アービタ526は、ノード2のデータブロックI3よりも転送が長く遅延されたノード1のデータブロックI1に対してチャネル使用許可G I1を与える。サイクルP7の開始点において、ノード2は転送ウェイトを発生していないので、チャネル・アービタ526は、転送が遅延されたノード2のデータブロックI3に対してチャネル使用許可G I3を与える。
【0101】
サイクルP8の開始点において、ノード2はデータブロックI3の転送ウェイトW I3を発生しているので、チャネル・アービタ526は、ノード2へのデータブロックI3のチャネル使用許可を保留して、その代わりにノード1のデータブロックI2に対してチャネル使用許可G I2を与える。
【0102】
サイクルP9において、ノード2は転送ウェイトを発生していないので、チャネル・アービタ526は、ノード1のデータブロックI1よりも転送が長く遅延されたノード2のデータブロックI3に対してチャネル使用許可G I3を与える。サイクルP10の開始点において、ノード2は転送ウェイトW I3を発生しているので、チャネル・アービタ526は、ノード1のデータブロックI1に対してチャネル使用許可G I1を与える。サイクルP11の開始点において、ノード2は転送ウェイトを発生していないので、チャネル・アービタ526は、ノード1のデータブロックI1よりも転送が長く遅延されたノード2のデータブロックI3に対してチャネル使用許可G I3を与える。
【0103】
図22A〜22Eは、図20A〜20Eの変形であり、データブロックI1を転送すべき連続する2つのサイクルにおいてノード1のデータブロックI1に対する転送ウェイトW I1が残っている場合における、ノード1および2のデータブロックI1、I2およびI3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、ノード2はデータブロックI3の転送ウェイトを発生しない。図20A〜20Eにおけるバス管理部500とノード1および2の動作は、基本的に図17A〜17Eの場合と同様である。
【0104】
サイクルP2〜P6において、ノード1はデータブロックI1の転送ウェイトW I1を発生する。サイクルP5の開始点において、転送ウェイトW I1が継続しているので、チャネル・アービタ526は、ノード1へのデータブロックI1のチャネル使用許可を保留して、その代わりにノード2にデータブロックI3のチャネル使用許可G I3を与える。サイクルP6の開始点において、転送ウェイトW I1が継続しているので、チャネル・アービタ526は、ノード1へのデータブロックI1のチャネル使用許可を再度保留して、その代わりにノード1にデータブロックI2のチャネル使用許可G I2を与える。
【0105】
サイクルP7の開始点において、ノード1は転送ウェイトを発生していないので、チャネル・アービタ526は、ノード1のデータブロックI1に対してチャネル使用許可G I1を与える。その結果、サイクルP5〜P7において、ノード1のデータブロック2の転送期間、およびノード2のデータブロックI3の転送期間が大きく乱れる。その後は、ノード2のデータブロックI3に対してチャネル使用許可G I3が与えられる。
【0106】
図23A〜23Eは、図21A〜21Eの変形であり、データブロックI1を転送すべき連続する2つのサイクルにおいてノード1のデータブロックI1の転送ウェイトW I1が残り、データブロックI3を転送すべきサイクルにおいてノード2のデータブロックI3の転送ウェイトW I3が残っている場合における、ノード1および2のデータブロックI1、I2およびI3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。図20A〜20Eにおけるバス管理部500とノード1および2の動作は、基本的に図17A〜17Eの場合と同様である。
【0107】
サイクルP2〜P5において、ノード1はデータブロックI1の転送ウェイトW I1を発生する。サイクルP3、P5、P8およびP10の各開始前において、ノード1はデータブロックI1の転送ウェイトW I1を発生する。サイクルP5の開始点において、ノード1はデータブロックI1の転送ウェイトW I1を発生し続け、ノード2はデータブロックI3の転送ウェイトW I3を発生しているので、チャネル・アービタ526は、ノード1および2へのデータブロックI1およびI3のチャネル使用許可を保留し、その代わりにノード1のデータブロックI2に対してチャネル使用許可G I2を与える。サイクルP6の開始点において、ノード1はデータブロックI1の転送ウェイトW I1を発生し続け、ノード2はデータブロックI3の転送ウェイトを発生していないので、チャネル・アービタ526は、ノード1へのデータブロックI1のチャネル使用許可を再度保留し、ノード2のデータブロックI3に対してチャネル使用許可G I3を与える。
【0108】
サイクルP7の開始点において、ノード1はデータブロックI1の転送ウェイトを発生していないので、チャネル・アービタ526は、転送が遅延されたノード1のデータブロックI1にチャネル使用許可G I1を与え、ノード1へのデータブロックI2のチャネル使用許可を保留する。その後は、サイクルP8において、ノード2のデータブロックI3に対してチャネル使用許可G I3が与えられる。
【0109】
図24は、本発明の別の実施形態によるマルチレイヤ構成のバス・システムの構成を示している。この図には、各ノードにおけるデータの入力および出力および各バス・チャネルにおけるデータの流れを示している。
【0110】
バス管理部500は、データブロック制御部510に接続された各バス・チャネルCH1〜CH7用のチャネル制御部CH1 CTRL〜CH7 CTRLを含んでいる。データブロック制御部510は、チャネル制御部CH1 CTRL〜CH7 CTRLにそれぞれのパラメータ制御信号PR CTLを供給する。チャネル制御部CH1 CTRL〜CH7 CTRLは、対応するバス・チャネルCH1〜CH7に接続されたノードa〜eのチャネル・インタフェース調整部R&V AJに対応するパラメータ制御信号PR CTLを供給する。ノードa〜eのチャネル・インタフェース調整部R&V AJは、パラメータ制御信号PR CTLに従ってチャネル・インタフェースの動作レートおよび電圧を調整する。ノードfおよびgは、バス・マトリックス・スイッチBUS MX SW1およびBUS MX SW2であり、データブロック制御部510によって制御される。
【0111】
図24において、例えば、ノードaはCPUコア部であり、ノードbはRAMイオンタフェースであり、ノードcは記憶装置であり、ノードdはネットワーク・インタフェースであり、ノードeはAVデコーダ・インタフェースである。例えば、ストリーム・データが、ノードdで発生して、バス・チャネルCH5、CH2およびCH4を順に経由してノードdに供給される。例えば、通常データブロックが、ノードaで発生して、バス・チャネルCH3およびCH4を順に経由してノードbに供給される。例えば、通常データブロックが、ノードbで発生して、バス・チャネルCH4およびCH3を順に経由してノードaに供給される。例えば、通常データブロックが、ノードbで発生して、バス・チャネルCH4、CH1およびCH5を順に経由してノードdに供給される。例えば、ストリーム・データが、ノードbで発生して、バス・チャネルCH4、CH2およびCH6を順に経由してノードcに供給される。例えば、ストリーム・データが、ノードcで発生して、バス・チャネルCH6およびCH7を順に経由してノードeに供給される。
【0112】
このように、本発明の実施形態によれば、バス・チャネルのトラフィックに応じて転送レートおよび動作電圧を最小化することができ、また、バス・システムにおける転送のための消費電力を全体的に低減することができる。
【0113】
また、本発明の実施形態によれば、バス・システム10〜16におけるバス管理部500〜506および各ノード100、104、106等のデータブロック管理部122〜126および132〜139のハードウェア側によって、データブロックの単位またはハードウェアに依存しないサブデータブロック以上の単位でデータ管理をサポートすることができ、それによってハードウェアとソフトウェアの制御範囲を明確に階層的に分離することができ、ハードウェアとソフトウェアの間のバス情報のやりとりを合理化することができる。ソフトウェア側では、各ノードから取得したハードウェア資源の情報から、予め作成したポリシーに従って各データブロックの扱い方を容易に管理できる。ハードウェア側では、ソフトウェア側から提供された要求特性に従って、データブロックを管理することができる。これによってソフトウェアは、ハードウェアまたはアプリケーションが変更されたときでも、同一のポリシーに基づいて、各データブロックを扱うことができる。ハードウェアまたはアプリケーション等が変更された場合は、転送可能な範囲は変化し得るが、ソフトウェアは各データブロック毎に転送できるかどうかを判断すればよく、ソフトウェアの転送制御は変わらない。従って、ソフトウェアはハードウェアと整合性しやすく、ソフトウェアの移植が容易になる。データブロックの集中管理手順は、バス管理部のソフトウェアによって、バスを構成するハードウェアのパラメータに基づいて同一のまたは必要に応じて変更可能なアルゴリズムによって決定できるので、ハードウェアの変更時には、ハードウェア・パラメータをアルゴリズムに入力するだけで対応可能であり、ハードウェア変更時におけるソフトウェアの修正の複雑性を改善することができる。
【0114】
以上説明した実施形態は典型例として挙げたに過ぎず、その実施形態の変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【0115】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
(付記1) バスを介して相互接続された複数のノード装置と、バス制御線を介して前記複数のノード装置に接続されたバス管理手段と、からなるバス・システムであって、
前記バス管理手段は、前記複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取り、前記等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも1つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも1つのデータブロックのそれぞれの転送用のバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、前記計画と、少なくとも1つのノード装置による少なくとも1つのデータブロックの転送の要求とに従って、1つのデータブロックに対するバス・チャネルの割り当てを決定し、前記1つのデータブロックを転送するノード装置に、前記バス制御線を介して前記1つのデータブロックのバス・チャネル動作速度の情報および前記1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間のバス・チャネル使用許可を与え、
前記ノード装置は、前記転送要求中のデータブロックの転送が完了するまで前記データブロックの転送要求を維持し、前記バス管理手段から受け取った前記1つのデータブロックのバス・チャネル使用許可に応答して、バス・チャネル使用許可された期間、受け取った前記情報のバス・チャネル動作速度で別のノード装置に前記データブロックのデータを転送することを特徴とする、
バス・システム。
(付記2) 前記複数のノード装置の中の1つのノード装置は中央処理装置であり、前記中央処理装置は前記バス管理手段に前記等時性データブロック転送予約を表す信号を直接送信するものであることを特徴とする、付記1に記載のバス・システム。
(付記3) 前記バス管理手段は前記等時性データブロック転送予約を表す信号を前記少なくとも1つのノード装置から等時性データブロック転送予約用の専用線を介して受信するものであることを特徴とする、付記1に記載のバス・システム。
(付記4) 前記バス管理手段は前記複数のノード装置の中の1つのノード装置であり、前記バス管理手段は前記等時性データブロック転送予約を表す信号を前記少なくとも1つのノード装置から前記バス・チャネルを介して受信するものであることを特徴とする、付記1に記載のバス・システム。
(付記5) 前記バスは複数のバス・チャネルからなり、前記バス管理手段は、前記計画の一部として、前記複数のバス・チャネルの中から選択された少なくとも1つのバス・チャネルからなる前記等時性データの転送に使用すべき転送ルートを決定することを特徴とする、付記1に記載のバス・システム。
(付記6) 前記1つのノード装置は前記等時性データブロックに対する転送中断を表す転送ウェイト信号を前記バス制御線を介して前記バス管理手段に送り、前記バス管理手段は、前記転送ウェイト信号に応答して前記1つのデータブロックに対する前記バス・チャネル使用許可を保留し、前記1つのデータブロックと同じバス・チャネル上で転送可能な他のデータブロックが存在する場合は、前記転送ウェイト信号がなくなるまで、前記他のデータブロックを転送するノード装置に前記制御線を介して前記他のデータブロックに対するバス・チャネル使用許可を与えることを特徴とする、付記1に記載のバス・システム。
(付記7) 前記バス管理手段は、前記複数のノード装置の中の1つのノード装置によって転送されるべき新しい等時性データブロック転送予約または新しい通常データブロックの転送要求を受け取ったとき、または前記等時性データブロックの転送要求が終了したときは、前記計画を再度作成することを特徴とする、付記1に記載のバス・システム。
(付記8) 前記バス管理手段は、前記計画に従って転送すべきデータブロックに対する転送許可の順序を表す転送許可順序テーブルを生成し、ノード装置による転送ウェイトまたはバス・チャネルのトラフィックに起因して転送を保留されたデータブロックを表す転送保留リストを生成し、前記転送許可順序テーブルと前記転送保留リストとに従って、前記転送許可順序テーブル中の転送可能なデータブロックに対して順にバス・チャネル使用許可を与えることを特徴とする、付記1に記載のバス・システム。
(付記9) バス・システムにおける複数のノード装置にバス制御線を介して接続されるバス管理装置であって、
前記複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取る等時性データブロック転送予約管理手段と、
前記等時性データブロック転送予約管理手段からの等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも1つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも1つのデータブロックのバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、前記計画と、前記少なくとも1つのノード装置による前記等時性データブロックおよび前記通常データブロックのうちの少なくとも1つのデータブロックの転送の要求とに従って、前記1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間の前記1つのデータブロックに対するバス・チャネルの割り当てを決定するデータブロック制御手段と、
前記1つのデータブロックに対するバス・チャネルの割り当てに従って、前記1つのデータブロックを転送する前記1つのノード装置に、前記バス制御線を介して前記1つのデータブロックのバス・チャネル動作速度の情報およびバス・チャネル使用許可を与えるバス・チャネル管理手段と、
を具えることを特徴とする、バス管理装置。
(付記10) バス・システムにおけるバス管理装置にバス制御線を介して接続されるノード装置であって、
バス・チャネルに接続されていて、前記バス管理手段によって指定されたバス・チャネル動作速度および電圧で転送動作する、少なくとも1つ以上のチャネル・インタフェースと、
前記バス管理装置から受け取った制御情報に従って、前記チャネル・インタフェースの動作速度および動作電圧を調整する調整部と、
バッファメモリに結合され、前記バッファメモリから読み出した特定のデータブロックのデータを前記チャネル・インタフェースに供給し、および/または特定のデータブロックのデータを前記チャネル・インタフェースから受け取って前記バッファメモリに書き込み、転送を行うべきデータブロックの転送要求およびノード装置側の要因による転送可否状態および転送進行状況の管理を行う、少なくとも1つ以上のデータブロック管理手段と、
前記チャネル・インタフェースと前記データブロック管理手段とに接続されていて、前記チャネル・インタフェースと前記データブロック管理手段とを選択的に接続するスイッチと、
を具えることを特徴とする、ノード装置。
(付記11) バス・システムにおける複数のノード装置にバス制御線を介して接続されるバス管理装置用のプログラムであって、
前記複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取るステップと、
前記等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも1つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも1つのデータブロックのバス・チャネル動作速度、バス・チャネル使用権割り当て頻度および連続転送サイズの計画を生成するステップと、
前記計画と、前記1つのノード装置による前記等時性データブロックおよび前記通常データブロックのうちの1つのデータブロックの転送の要求とに従って、前記1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間における前記1つのデータブロックに対するバス・チャネルの割り当てを決定するステップと、
前記1つのデータブロックに対するバス・チャネルの割り当てに従って、前記1つのデータブロックを転送する前記1つのノード装置に、前記バス制御線を介して前記1つのデータブロックのバス・チャネル動作速度の情報および前記1つのデータブロックのバス・チャネル使用許可を与えるステップと、
を実行させるよう動作可能なプログラム。
【図面の簡単な説明】
【0116】
【図1】図1は、Aおよび1Bは、それぞれ、通常のバス・システムの構成と、そのバス・システムにおける複数のノード間での等時性データブロックおよび通常データブロックの転送のタイム・チャートとを示している。
【図2】図2Aおよび2Bは、データ転送要求の有無に応じてバス・システムの電源をオン/オフする場合におけるデータ転送とバス・システムの消費電力とを示している
【図3】図3は、データ転送レートをバス上のトラフィックに応じて切換え制御する場合におけるデータ転送を示している。
【図4A】図4A、4Bおよび4Cは、本発明の原理による、バス・システムの構成と、そのバス・システムにおける複数のノード間の等時性データブロックおよび通常データブロックの転送のタイム・チャートとをそれぞれ示している。
【図4B】.
【図5】図5は、本発明の実施形態による、典型例のバス・システムの構成を示している。
【図6】図6は、図5の場合のバス管理部と複数のノードの間のバスと信号線の詳細を例示している。
【図7】図7は、本発明の別の実施形態による、典型例のバス・システムの構成を示している。
【図8】図8は、図7の場合のバス管理部と複数のノードの間のバスと信号線の詳細を例示している。
【図9】図9は、本発明のさらに別の実施形態による、典型例のバス・システムの構成を示している。
【図10】図10は、図9の場合のバス管理部とノードの間のバスと信号線の詳細を例示している。
【図11】図11は、図5〜10のバス管理部のデータブロック制御部およびチャネル制御部によって実行される、転送ブロックのチャネルの割り当て計画および再計画のためのフロー図を示している。
【図12】図12Aおよび12Bは、図11のステップにおいて各データブロックの転送パラメータを決定するためのフロー図の例を示している。
【図13】図13は、図12Aのステップおよび図12Bのステップにおけるパラメータ調整のためのフロー図の例を示している。
【図14】図14は、図12Aステップ、および図12Bのステップにおけるパラメータ調整のためのフロー図の別の例を示している。
【図15A】図15Aおよび15Bは、図11のデータブロックの転送割り当て計画または再計画の後でバス管理部のデータブロック制御部によって実行される、データブロック管理部に対してバス・チャネル使用許可を与えるための処理のフローチャートを示している。
【図15B】.
【図16】図16Aおよび16Bは、転送許可順序テーブルの例を示している。図16Cは、転送保留リストの例を示している。
【図17】図17は、図17A〜17Eは、予約された等時性データブロックに変更がなく通常データブロック転送が発生しない期間における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図18】図18A〜18Eは、予約された等時性データブロックの転送中に別の等時性データブロックの転送予約が挿入される場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図19】図19A〜19Eは、予約された等時性データブロックの転送中に別の通常データブロックの転送リクエストが発生した場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図20】図20は、データブロックを転送すべきサイクルにおいてノードのデータブロックに対する転送ウェイトが残っている場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。を示している。
【図21】図21A〜21Eは、データブロックを転送すべきサイクルにおいてノードのデータブロックに対する転送ウェイトが残っている場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図22】図22A〜22Eは、データブロックを転送すべき連続する2つのサイクルにおいてノードのデータブロックに対する転送ウェイトが残っている場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図23】図23A〜23Eは、データブロックI1を転送すべき連続する2つのサイクルにおいてノードのデータブロックの転送ウェイトが残り、データブロックを転送すべきサイクルにおいてノードのデータブロックの転送ウェイトが残っている場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図24】図24は、本発明の別の実施形態によるマルチレイヤ構成のバス・システムの構成を示している。
【符号の説明】
【0117】
100、200、400 ノード1〜3
102 データ処理部
112〜116 データブロック・バッファメモリ
122〜126 データブロック管理部
130 マトリックス・スイッチ
142、144 チャネル・インタフェース
152、154 チャネル・インタフェース調整部
500 バス管理部
508 ストリーム管理部
510 データブロック制御部
520、540 チャネル制御部
【技術分野】
【0001】
本発明は、バス・システムに関し、特に、内部バスを介して複数のノードの間でオーディオ/ヴィジュアル(A/V)情報を転送する情報処理装置に関する。
【背景技術】
【0002】
通常のA/V情報家庭用電子機器において、バス・システムを介して、A/Vストリーム等の等時性またはリアルタイム性を必要とするデータと、通常のデータとが転送される。等時性転送の等時性を維持するための制御は、ソフトウェアによって行われる。ハードウェアは、ノード毎かつ1転送サイクル毎のバス使用権のみを管理するので、ソフトウェアはどのような複数の等時性転送を行うかおよび通常データ転送がどれだけ発生するかを管理し、等時性転送を含む複数のデータ転送を、等時性転送が破綻しない程度に十分小さな単位で各転送の順序を管理する。IEEE1394の等時性データ転送によるバス・システムでは、周期的に等時性データ転送用の期間が確保される。いずれのバス・システムにおいても、等時性転送にはバッファ・オーバフローおよびアンダフローを避けるため、典型的にはバスの最大動作周波数またはノード固有の動作周波数でバスを動作させる。等時性転送を考慮しないバス・システムにおいては、消費電力を低減するために、バスの使用状況の統計などに基づいて、バス・システム全体の動作周波数および電圧を変え、または電源そのものをターンオフすることがある。
【0003】
特開2000−20458号公報(A)には、バス制御回路が記載されている。このバス制御回路では、アービタはブリッジからバスの動作状態を示すブリッジのバス監視回路からの信号によって制御信号とデータ線とを、バス監視回路からの信号によって制御線とデータ線とを監視し、各チャネル装置のトランザクション開始要求に対する許可を与える機能を持つ。アービタは2本のデータ線が32ビットPCIバス及び64ビットPCIバスとして動作することができるようにコントロールする。アービタは32ビットPCIバスとして動作させる場合、2つの32ビットのチャネル装置に対して夫々異なる32ビットPCIバスを使用させるように制御する。
【特許文献1】特開2000−20458号公報
【0004】
特開2003−30133号公報(A)には、バス型アービトレーション・システムが記載されている。そのシステムにおいて、バス・アービタが、バスに接続されている各機能ブロック及び制御ブロックのバス使用効率を求めて、データ転送レート期待値を満足するように各機能ブロック及びCPUに対するバスのデータ転送帯域を割り当てて、システムがリアルタイムに要求するバスのデータ転送レートを満足させるとともに、CPUが、システムの要求条件に従って各機能ブロック及びCPUに対するバスのデータ転送レート期待値を決定してバス・アービタに登録する。
【特許文献2】特開2003−30133号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
IEEE1394の等時性転送によるバス・システムでは、伝送周波数帯域幅に上限があるので通常転送用の余分な帯域があってもそれを等時性転送に使用することはできず、等時性転送用の或る伝送期間を完全には使用していなくても、その期間の残りを他の等時性転送等に使用することはできず、等時性転送は、各ノード固有の動作レートでしか行えない。1周期の所定期間に転送され得るデータ量より大きい等時性転送用のデータ・バッファが送信ノードと受信ノードの双方で必要なので、ハードウェアは大きい。通常のバス・システムにおいても、バスの最大動作レートまたはノード固有の動作レートでバスを動作させるので、バスの伝送帯域が余っていても、消費電力が大きい。等時性転送を考慮しないバス・システムにおいては、バス・システム全体の動作レートおよび電圧を変更しまたは電源そのものをターンオフするまでに待ち時間が発生し、または単位時間当たりの切換の回数が増加して大きな電力変動が頻繁に起こることがあり、電力変動に耐え得る強力な電源が必要になる。
【0006】
発明者たちは、バス・システムにおいて各データブロックをトラフィックに応じた可能な最低のバス・チャネル動作速度および動作電圧でバスを介してノード間で転送することによって、転送のための消費電力を全体的に低減することができる認識した。
【0007】
本発明の1つの目的は、バスのトラフィックに応じてバス・チャネル動作速度および動作電圧を最小化して、バス・システムにおける転送のための消費電力を低減することである。
【0008】
本発明の別の目的は、等時性転送と通常転送が混在可能なバス・システムにおいて、安定した等時性転送を容易に行えるようにすることである。
【課題を解決するための手段】
【0009】
本発明の1つの特徴によれば、バス・システムは、バスを介して相互接続された複数のノード装置と、バス制御線を介してその複数のノード装置に接続されたバス管理手段と、からなり、そのバス管理手段は、その複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取り、その等時性データブロック転送予約の情報と、その複数のノード装置の中の少なくとも1つのノード装置からのその等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおけるその少なくとも1つのデータブロックのそれぞれの転送用のバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、その計画と、少なくとも1つのノード装置による少なくとも1つのデータブロックの転送の要求とに従って、1つのデータブロックに対するバス・チャネルの割り当てを決定し、その1つのデータブロックを転送するノード装置に、そのバス制御線を介してその1つのデータブロックのバス・チャネル動作速度の情報およびその1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間のバス・チャネル使用許可を与える。そのノード装置は、その転送要求中のデータブロックの転送が完了するまでそのデータブロックの転送要求を維持し、そのバス管理手段から受け取ったその1つのデータブロックのバス・チャネル使用許可に応答して、バス・チャネル使用許可された期間、受け取ったその情報のバス・チャネル動作速度で別のノード装置にそのデータブロックのデータを転送する。
【0010】
本発明は、さらに、上述のバス管理手段を実現するプログラムに関する。
【発明の効果】
【0011】
本発明によれば、バスのトラフィックに応じてバス・チャネル動作速度および動作電圧を最小化して、バス・システムにおける転送のための消費電力を低減することができ、等時性転送と通常転送が混在可能なバス・システムにおいて、安定した等時性転送を容易に行えるようになる。
【発明を実施するための最良の形態】
【0012】
本発明の実施形態を図面を参照して説明する。図面において、同様の構成要素には同じ参照番号が付されている。
【0013】
図1Aおよび1Bは、それぞれ、通常のバス・システムの構成と、そのバス・システムにおける複数のノードND−a、ND−bおよびND−c間での等時性データブロックDIおよび通常データブロックDNの転送のタイム・チャートとを示している。
【0014】
図1Aのバス・システムにおいて、ノードND−aからノードND−bへおよびノードND−bからノードND−cへの例えばA/Vストリームのような等時性データブロックDIの転送要求と、ノードND−aからノードND−cへの非等時性の通常データブロックDNとの転送要求が存在するとき、バス・アービタBAはそれぞれの転送要求に対してバス使用の許可GRTを与える。図1Bにおいて、等時性データDIの転送に確保された各転送サイクルP中の期間PIにおいて等時性データDIが所定のデータ転送レート(速度、率)で行われ、期間PI中に空白が生じることがある。通常データDNの転送要求が存在するときは、通常データDNの転送に確保された転送サイクルP中の残りの期間において通常データDNが所定の転送レートで行われ、その残りの期間中に空白が生じることがある。
【0015】
図2Aおよび2Bは、データ転送要求の有無に応じてバス・システムの電源をオン/オフする場合におけるデータ転送とバス・システムの消費電力とを示している。この場合、データ転送が停止しても、データ転送の停止後に電源オフ動作の前にデータ待ち時間WDが発生するので、電源のオン状態はデータ転送停止後も続く。
【0016】
図3は、データ転送レートをバス上のトラフィックに応じて切換え制御する場合におけるデータ転送を示している。最初の転送サイクルP1では、トラフィックの量が多いので高い転送レートでデータが転送される。次の転送サイクルP2においてトラフィックの量が減少したときそれが検出される。その検出結果に従って、次の転送サイクルP3では、低い転送レートでデータが転送される。この場合、転送レートの切換えが1転送サイクルだけ遅れるので転送サイクルP2における転送に大きな空白が生じる。また、転送サイクルP3において低い転送レートでデータが転送されている期間に、転送要求されたデータ量が急増したときは、データ転送に遅延が生じ、受信ノードにおいて等時性データの再生に中断または欠落が生じることがある。
【0017】
図4A、4Bおよび4Cは、本発明の原理による、バス・システム10の構成と、そのバス・システム10における複数のノード(NDa、NDb、NDc)100、200および300間の等時性データブロックDI1およびDI2および通常データブロックDNの転送のタイム・チャートとをそれぞれ示している。CPU400は、バス管理部500に、各データブロックの要求特性、例えばバス動作速度すなわち転送レートの上下限および転送優先度、入出力バッファメモリのサイズ、および可変バースト長、等を予め通知して、バス管理部500はそれを予め格納して転送のための処理を行う。バス管理部500は、ノード100〜300からのデータブロックDI1、DI2およびDNの転送要求、そのデータブロックの要求特性およびトラフィック状況に応じて、それぞれのノード100〜300にデータブロックの転送に対するバス・チャネル使用の許可GRTを与える。
【0018】
バス・システム10においては、転送データを、通常の形態でノード単位または転送サイクルの単位で管理するのではなく、それぞれの等時性転送および通常転送のデータのグループの単位、即ちデータブロック単位で管理する。
【0019】
バス管理部500は、各データブロックDI1、DI2およびDNの要求特性のみに従って転送を制御する。バス管理部500のソフトウェアは、各ノード100〜300に対してデータブロック単位でバスの使用の割り当て頻度、すなわち時間的回数配分の比率を調整し制御する。バス管理部500は、データブロック単位で、各データブロックの転送要求特性と、各ノードのハードウェア特性とに応じて、バスの使用権を調停する。ハードウェア特性には、可能なバス転送レート、データビット幅および転送のオーバヘッド等から決まる転送帯域幅、各ノードまたはその内部のデータブロック管理部のバッファメモリ容量、およびバースト長、等が含まれる。バースト長が可変で、データブロックにより変化する場合は転送要求特性に含まれる。バス管理部500は、各データブロックの転送要求特性と各ノード100〜300のハードウェア構成に基づいて最小限のバス動作速度および動作電圧で動作するように、データブロック毎に、動的に、転送サイクル、動作速度、動作電圧およびデータの転送サイズを調整し、バス20およびノード100〜300を制御する。それによって、バス・システム10における消費電力が全体的に最小化される。
【0020】
ノード100〜300は、転送データブロック毎に転送管理および制御を行う。ノード100〜300は、同時に扱うデータブロックの数と等しい数のデータブロック管理部を有する。データブロックを送受信し利用するノード100〜300のハードウェアおよび/またはアプリケーションを変更するときは、そのソフトウェアの修正は、データブロックの優先度だけを考慮すればよく、従って比較的容易である。
【0021】
バス管理部500は、基本的にはデータブロックの転送要求が発生および終了したタイミングで、調停を行う。CPU400のソフトウェアは、通常、所定の要求特性で継続的に転送される等時性転送については、調停が円滑に行われるように転送開始前に転送要求の予約をバス管理部に予め登録してもよい。バス管理部500はCPU400のソフトウェアにバス20の性能および/または利用状況に関する情報を報告する。CPU500のソフトウェアは、その情報に基づいて、バス・システム10で、どのアプリケーションが動作可能か、ユーザに提供できるサービスを判断し提示することができる。
【0022】
図4A、4Bおよび4Cを参照すると、バス管理部500は、アービトレーション・サイクルPa単位で、各アービトレーション・サイクルPaにおける各データブロックDI1、DI2およびDNに対するノード100〜300の転送レートすなわち動作速度、動作電圧、割り当て頻度および連続転送サイズ、転送時間期間およびバースト長等を決定し、バス20の使用権を調停する。図4Bおよび4Cにおいて、最初は、等時性データブロックDI1およびDI2がバス20上で交互にそれぞれの低い転送レートで転送される。データブロックの転送割り当てに変更が生じない間は、バス上のデータ・トラフィックの平均転送レートRavがバスの最低転送レートRminより低くならない限り、様々な長さのバースト長を有する各転送データブロックの間には、基本的には最大時間長さTm以下のデータ転送空白期間しか存在しない。タイミングT1で通常データブロックDIの転送要求が発生し、バス管理部500による制御および調停によって、データブロックDI1、DI2およびDIが循環的に高い転送レートで転送される。最大時間長さTmは、転送レートの調整等のオーバヘッドの最長時間である。タイミングT2でデータブロックDNの転送が完了し、バス管理部500による制御および調停によって、データブロックDI1およびDI2が最初の交互に低い最初の転送レートで転送される。タイミングT3でデータブロックDI2の転送が完了し、バス管理部500による制御および調停によって、データブロックDI1がより低い転送レートで転送される。従って、バス・システム10の転送期間に無駄な空白期間が生じることが実質的に最小限に抑えられ、動作電圧に依存するバス・システム10の消費電力は、ノード100〜300の転送レート、即ち動作電圧に応じて変動して全体的に最小化される。
【0023】
図5は、本発明の実施形態による、典型例のバス・システム10の構成を示している。バス・システム10は、2つのバス・チャネルCH−AおよびCH−Bと、100で示されたノード1と、200で示されたノード2と、400で示されCPUであるノード3と、500で示されたバス管理部と、からなる。この場合、バス管理部500とCPU400が直接通信可能なものとし、それは、例えば、バス管理部500がCPUを含むノード400のLSIの1つの機能ブロックであって、ノード400が全ノード100、200および400自体の機能を管理している場合である。この場合、CPU400が、バス管理部500に対して等時性データブロック転送予約を直接登録する。
【0024】
ノード100、200および400は、2つのバス・チャネルCH−A、CH−Bに接続されている。バス管理部500は、ノード100から信号線を介して複数の要求信号REQ12〜REQ16を受け取り、ノード200から信号線を介して複数の要求信号REQ2を受け取り、ノード400から信号線を介して複数の要求信号REQ3を受け取る。バス管理部500は、予め登録された等時性データブロック転送予約ISOC DBK RSVと、要求信号REQ12〜REQ16、REQ2およびREQ3とに応答して、計画期間において、各転送サイクルにおいて可能な限り低い転送レートでデータを転送するように転送割り当て計画または再計画を作成し、即ちバス・チャネルにおける等時性データブロックおよび/または通常データブロックの転送レート、割り当て頻度および連続転送サイズ等の計画を作成し、その計画に従って、各データブロックの連続転送サイズおよび転送レートによって決まる時間期間または転送サイクルにおける各データブロックに対するバス・チャネルの使用の割り当てを決定し、その時間期間において、バス・チャネルCH−AとCH−Bに対するパラメータ制御信号CH−A CTRLとCH−B CTRLを信号線を介してノード100、200および400に供給して各ノードの動作レートおよび動作電圧を調整し、信号線を介して各ノード100、200および400の転送データブロックに対するバス・チャネルCH−AとCH−Bの使用許可CH−A GRTとCH−B GRTを与える。
【0025】
ノード100は、データブロックを生成しまたは利用するアプリケーション190に接続されたデータ処理部102と、データ処理部102に接続されn個のデータブロック・バッファメモリ112〜116をそれぞれ有するn個のデータブロック管理部122〜126と、2つのバス・チャネルCH−AおよびCH−Bとのインタフェースを形成してデータブロックを送受信するチャネル・インタフェース(CH−A IF、CH−B IF)142および144と、チャネル・インタフェース142および144の転送動作レートRおよび動作電圧Vを調整するチャネル・インタフェース調整部(R&V AJ)152および154と、2つのバス・チャネルCH−AとCH−Bのうちの一方をデータブロック管理部122〜126の中の1つに、2つのバス・チャネルCH−AとCH−Bのうちの他方をデータブロック管理部122〜126の中の別の1つに選択的に切換えて接続するマトリックス・スイッチ部(MX SW)310と、を具えている。従って、同時に2つのバス・チャネルを用いてデータを転送することができる。ノード200および400もノード100と同様の構成を含んでいる。
【0026】
バス管理部500は、ノード400即ちCPUから、ノード100、200および400における等時性データブロックの転送に関する等時性データブロック予約信号ISOC DBK RSVを信号線を介して受け取るストリーム管理部(STRM MNG)508と、ストリーム管理部508に接続されたデータブロック制御部(DBL CTRL)510と、データブロック制御部510からのデータブロック割り当ておよびリクエスト通知(DBK ASGN & REQ)を受け取り、バス・チャネルCH−AおよびCH−B用のパラメータ制御信号(CH−A PR CTRL、CH−B PR CTRL)およびチャネル使用許可(CH−A GRT、CH−B GRT)を発生するチャネル制御部(CH−A CTRL、CH−B CTRL)520および540と、を具えている。データブロック制御部510は、転送ルート計画部512を含んでいる。データブロック割り当てとは、各データブロックに対するそれぞれのバス・チャネルCH−AおよびCH−Bの使用の割り当て時間期間を表す。
【0027】
転送ルート計画部512は、ノード100、200および400から受け取った転送リクエストREQ12〜16、2、3と、ストリーム管理部508から受け取った等時性データブロック予約ISOC DBK RSVとに基づいて、各転送データブロックに対して少なくとも1つのバス・チャネルからなる転送ルートを決定する。等時性データブロック予約信号ISOC DBK RSVには、転送元ノードまたはマスタ・ノードのID、データブロック管理部ID(TID)、転送宛先ノードまたはスレーブ・ノードID、転送要求レートおよび優先度等が含まれている。等時性データブロックの転送リクエストREQには、データブロックのタイプ(等時性)、等時性転送予約ID、転送元ノードまたはマスタ・ノードのID、データブロック管理部ID(TID)、転送宛先ノードまたはスレーブ・ノードID、転送要求レートおよび優先度等が含まれている。通常データブロックの転送リクエストREQには、データブロックのタイプ(通常)、等時性転送予約ID、転送元ノードID、データブロック管理部ID(TID)、転送宛先ノードIDおよび優先度等が含まれている。バス管理部510は、各データブロックの転送タイミング、転送データ・バースト長、転送動作レートおよび動作電圧を決定し、チャネル制御部520および540にデータブロック割り当ておよびリクエスト通知を供給する。
【0028】
チャネル制御部520は、データブロック・パラメータ計画部(DBK PR PLN)522と、パラメータ制御部(PR CTL)524と、各バス・チャネル(CH−A)用のチャネル・アービタ部(CH AB)526とを具えている。チャネル制御部540もチャネル制御部520と同様の構成を有する。データブロック・パラメータ計画部522は、そのデータブロック割り当ておよびリクエスト通知に従って、対応するチャネルCH−Aのデータブロックのパラメータを計画する。パラメータ制御部524は、その計画に従って、対応するチャネルCH−A上でデータブロックを転送するノード100のチャネル・インタフェース調整部152および154に、およびそのデータブロックを受信する他のノード200および400に、チャネル・パラメータ制御信号CH−A PR CTRLを供給する。チャネル・アービタ部526は、そのデータブロック割り当ておよびリクエスト通知に従って、許可されたデータブロックを転送するデータブロック管理部(122〜126)の転送ID(TID)を含むチャネル使用許可信号CH−A GRTを対応するノード100、200および400に供給する。
【0029】
チャネル・インタフェース調整部152および154は、チャネル・パラメータ制御信号CH−A PR CTRLおよびCH−B PR CTRLに従って、チャネル・インタフェース142および144の動作レートおよび動作電圧を調整する。ノード100のマトリックス・スイッチ130は、チャネル・インタフェース142および144を介して、チャネル使用許可信号CH−A GRT、CH−B GRTに含まれていた転送ID(TID)を受け取り、データブロック管理部122〜126の中の対応するデータブロック管理部(例えば122)に供給する。ノード200および300も同様に動作する。
【0030】
転送ID(TID)を含むチャネル使用許可(CH−A GRT、CH−B GRT)を受け取ったデータブロック管理部122は、対応するデータブロック・バッファメモリ112に格納されていた送信データブロックをチャネル・インタフェース、例えばチャネル・インタフェース142に供給する。チャネル・インタフェース142は、調整された動作レートおよび動作電圧でデータブロックを宛先のノードに転送する。チャネル・インタフェース144も同様に動作する。
【0031】
ノード100がチャネルCH−AまたはCH−B上でデータブロックを受信する場合、チャネル・インタフェース142または144は、同様に、発信元のノード(例えばノード200)から転送されたデータブロックを、チャネル制御部540によって調整された動作レートおよび動作電圧でそのバス・チャネルCH−AまたはCH−B上で受信する。
【0032】
図6は、図5の場合のバス管理部500と複数のノード100、200および400の間のバスと信号線の詳細を例示している。ノード100、200および400は、バス・チャネルCH−AおよびCH−B用のアドレスおよびデータ線ADDR&Data−A、ADDR&Data−Bを介して互いに接続されている。バス管理部からノード100、200および400へ接続される、バス・チャネルCH−A、CH−B用のクロック信号線CLK−A、CLK−B、および動作レートおよび電圧設定情報線R&V ID−A、R&V ID−Bが設けられている。ノード100および200から、ノード300即ちCPUへの割り込み信号線IRT−1、IRT−2が設けられている。バス管理部500からノード100、200および400へ接続される、ノード制御信号線ND CTRL SGSが設けられている。各ノードに対する各バス・チャネル用のノード制御信号線ND CTRL SGSは、スレーブ・ウェイト信号線SLV WT、複数のウェイト信号線WT、スレーブ・ノード選択線SLV ND SEL、複数のバス・チャネル使用許可線GRTおよび複数のリクエスト線REQで構成されている。
【0033】
図7は、本発明の別の実施形態による、典型例のバス・システム14の構成を示している。バス・システム14は、104で示されたノード1と、204で示されたノード2と、504で示されたバス管理部とからなる。この図においてノード100と同様の別のノード3は省略されている。この場合、バス管理部504はノードとは別に設けられている。各ノード104および204は、等時性データブロック予約用の専用信号線を用いて、等時性データブロック予約ISOC DBK RSVをバス管理部504に登録する。ノード104の等時性データブロック予約は、ノード104のデータ処理部102によってバス管理部504のストリーム管理部508に供給される。ノード204の等時性データブロック予約についても同様である。バス・システム14のノード104および204、およびバス管理部504の構成は、図5のバス・システム10のノード100およびバス管理部500の構成と同様であり、再度説明することはしない。
【0034】
図8は、図7の場合のバス管理部504とノード104および204および別のノード304の間のバスと信号線の詳細を例示している。この場合、ノード104、204および304からバス管理部504に等時性データブロック予約用の専用信号線ISOC DBK RSVが接続されている。その他の構成は図6のバス管理部500およびノード100の場合と同様である。
【0035】
図9は、本発明のさらに別の実施形態による、典型例のバス・システム16の構成を示している。バス・システム16は、106で示されたノード1と、206で示されたノード2と、506で示されたノード4としてのバス管理部とからなる。この場合、バス管理部506はノードの機能を有し、ノード106および206は、通常のデータ転送と同様の形態で等時性データブロック予約をバス・チャネルAまたはBを介してバス管理部506に送ることができる。等時性データブロック予約を表すデータブロックには専用の優先順位を付与して、最高の優先度でノード106および206からバス管理部506に転送されるようにするのが望ましい。
【0036】
図9において、各ノード106および206は送信データブロック管理部および/または受信データブロック管理部を有する。図9では、ノード106は、マスタおよびスレーブとして機能し、送信バッファメモリ113に接続されたマスタとしての送信データブロック管理部132、...134と、受信バッファメモリ115に接続されたスレーブとしての受信データブロック管理部136、...138と、を具えている。データ処理部102は、制御信号を送信データブロック管理部136、...134に供給し、制御信号を受信データブロック管理部136、...139との間で送受信する。
【0037】
マトリックス・スイッチ130は、送信データブロック管理部132、...134に読み出し制御信号R CTLを供給して送信データブロック管理部132、...134を介して送信バッファメモリ113から送信データを読み出し、受信データブロック管理部136、...138に書き込み制御信号W CTLを供給して受信データブロック管理部136、...138を介して受信データを受信バッファメモリ115に書き込む。データ処理部102は、送信データを送信バッファメモリ113に供給して格納し、受信データを受信バッファメモリ115から取り出して処理する。送信データブロック管理部132、...134と、受信データブロック管理部136、...139とは、バス管理部512のデータブロック制御部510にリクエストREQ12〜16を供給する。
【0038】
各ノードは、送信バッファメモリに接続されたマスタとしての1つ以上の送信データブロック管理部のみを具えていても、または受信バッファメモリに接続されたスレーブとしての1つ以上の受信データブロック管理部のみを具えていてもよい。
【0039】
ノード106のデータ処理部102は、送信データブロック管理部132、...134を介して、バス・チャネルCH−AまたはCH−Bへ通常データブロックの形で等時性データブロック予約を供給し、ストリーム管理部508はバス・チャネルCH−AおよびCH−Bからノード・インタフェース(IF)542を介して等時性データブロック予約を受け取る。また、特にノード106が送信データブロック管理部を持たず受信データブロック管理部136、...139のみを有する場合は、ノード106のデータ処理部102は、受信データブロック管理部136、...138を介して、バス・チャネルCH−AまたはCH−Bへ通常データブロックの形で他のノードから受信すべきデータブロックの等時性データブロック予約を供給してもよい。
【0040】
図10は、図9の場合のバス管理部504とノード106および206の間のバスと信号線の詳細を例示している。この場合、等時性データブロック予約用の専用信号線は存在しない。
【0041】
図11は、図5〜10のバス管理部500、504および506のデータブロック制御部510およびチャネル制御部520および540によって実行される、転送ブロックのチャネル使用の割り当て計画および再計画のためのフロー図を示している。
【0042】
データブロック制御部510は、ステップ1102、1104および1106の動作に応答して、転送割り当て計画および再計画のためにステップ1110およびその後のステップを実行する。ステップ1102においてデータブロック制御部510は、ノード1、2、3または4からストリーム管理部508を介して新しい等時性データブロックの転送予約を受け取る。ステップ1104においてデータブロック制御部510は、ノード1、2、3または4から新しいリクエストを受け取る。この場合、新しいリクエストとして通常データブロックのみを考慮すればよい。ステップ1106においてノード1、2、3または4からのリクエストが終了する。
【0043】
ステップ1102〜1106の後のステップ1110において、データブロック制御部510は、ルート計画部512に、要求されたデータブロックの転送ルートを決定させる(A)。ルート計画部512は、要求された各データブロックの転送ルートを決定し、転送ルートとして複数のバス・チャネルが利用可能な場合は、その複数のバス・チャネルの中から転送ルートを構成する1つまたは複数のバス・チャネルの組み合わせを選択する。その際、例えば、可能な限り各バス・チャネルCH−A、CH−Bに対する割り当てデータブロックの数が均等になるように割り当て、可能な限り等時性データブロック転送と通常データブロック転送が混在しないように割り当てるという、制御を簡単化するためのルールを適用する。また、例えば、各バス・チャネルへのデータブロックの割り当ての組み合わせの各パターンについて、各データブロックの転送レート条件に基づいて、消費電力予測値を計算し、最小消費電力になる組み合わせを選択するという、消費電力を低くするためのルールを適用する。
【0044】
ステップ1112において、データブロック制御部510は、各バス・チャネルCH−A、CH−Bについて、各データブロックのバス・チャネルの動作レート、チャネル使用割り当て頻度(1転送サイクル当たりの転送回数または1回の転送に対する転送サイクル数)、連続的に転送するデータのサイズまたは量、可変データ・バースト長を決定する(B)。
【0045】
図16Aおよび16Bは、転送許可順序テーブルの例を示している。図16Cは、転送保留リストの例を示している。転送許可順序テーブルは、転送を許可するデータブロックの識別子に転送許可の順序を表す番号を付加したものである。転送保留リストは、転送の優先度が低くバスのトラフィックが最大許容量に達したときに一時的に転送を保留されるデータブロック、または送信または受信ノードより転送ウェイトが出されて一時的に転送を保留されるデータブロックの識別子のリストである。
【0046】
ステップ1114において、データブロック制御部510は、各バス・チャネルCH−A、CH−Bについて、各データブロックのチャネル使用割り当て頻度を決定し、さらに同じバス・チャネルで現在データブロックを転送中のときは、割り当て計画を切替えタイミングの前後で転送を予定していたデータブロックを考慮して新しい転送許可順序テーブルを決定する。割り当て計画の切替タイミングは、例えば、新しい転送許可順序テーブルが決定する時点において転送実行中のデータブロックのチャネル使用許可が解除されるタイミングであってもよい。転送を予定していたデータブロックを考慮して、例えば、新しいチャネル使用割り当て頻度と、切替タイミングの直前直後の部分で、決定したチャネル使用割り当て頻度に偏りが出ないように順序を選ぶ。例えば、切替前に転送していた順序に基づいて転送許可順序テーブルへの転送データブロックの追加または削除を行う。
【0047】
ステップ1116において、データブロック制御部510は、割り当て計画の切り替えタイミングで、転送許可順序テーブルを更新する。チャネル制御部520および530は、データブロックに対するチャネル・パラメータの制御計画を作成し、各ノード100および200における各バス・チャネルCH−A、CH−Bの動作レートおよび動作電圧を表すチャネル・パラメータを各ノードに送信し、各バス・チャネルCH−A、CH−Bの各データブロック転送を各ノード100および200に割り当てる。
【0048】
図12Aおよび12Bは、図11のステップ1112において各データブロックの転送パラメータを決定する(B)ためのフロー図の例を示している。
【0049】
図12Aを参照すると、ステップ1202において、データブロック制御部510は、予約された等時性タイプのデータブロックについてチャネル・パラメータを調整する(C)。ステップ1204において、データブロック制御部510は、通常のデータブロックを所定の優先ルールに従って追加し、パラメータを再調整する(C)。
【0050】
図12Bを参照すると、ステップ1212において、データブロック制御部510は、一定以上の優先度を持つデータブロックについてチャネル・パラメータを調整する(C)。ステップ1214において、データブロック制御部510は、低い優先度のデータブロックを所定の優先ルールに従って追加し、パラメータを再調整する(C)。
【0051】
その所定の優先ルールとして、例えば、優先度が最高の場合は他のデータブロックの 転送要件が満たせなくなっても先行して転送完了まで転送を優先し、即ち転送可能な限り転送許可を継続して与え、優先度がより高いデータブロックをより優先し、優先度が同じ2つ以上のデータブロックについては等時性データブロックを優先する、というものであってもよい。さらに、優先度が最低のデータブロックは、転送要件が満たされない場合は(例えばバスのトラフィックが最大許容量に達したとき)、転送要件が満たされるようになるまで転送保留リストに入れて待機させ、可能になったときに転送する、というものであってもよい。或いは、転送要件を、満たさないデータブロックは転送保留リストの外で待機させてもよい。
【0052】
図13は、図12Aのステップ1202および1204、および図12Bのステップ1212および1214におけるパラメータ調整(C)のためのフロー図の例を示している。
【0053】
パラメータを調整する際に、全データブロックに同じ転送レートを初期値として選択する。次いで、高い要求転送レートのデータブロックの割り当て時間を長く、低い要求転送レートのデータブロックの割り当て時間を短くする。その際、連続転送サイズとチャネル使用割り当て頻度を調整することによって、可能な限りチャネル使用割り当て時間を均等化する。次いで、転送時間が不十分な場合には、動作レートを調整する。
【0054】
ステップ1302において、データブロック制御部510は、各データブロックの要求転送レートおよび各ノードの対応可能最高動作レートなどを考慮して、各バス・チャネルの最低平均動作レートを計算する。ステップ1304において、データブロック制御部510は、各データブロックの仮の連続転送サイズを可能な最大値に設定する。
【0055】
ステップ1306において、データブロック制御部510は、連続転送サイズと要求転送レートに基づいて各データブロックの仮のチャネル使用割り当て頻度を計算し、基準転送サイクルおよび必要に応じて基準転送間隔を計算する。
【0056】
ステップ1310において、データブロック制御部510は、各データブロックの転送サイクル長および各バス・チャネルの総転送帯域の剰余スペースが適正かどうかを判定する。適正であると判定された場合は、手順は図13のサブルーチンを出る。
【0057】
ステップ1310において適正でないと判定された場合は、ステップ1312において、データブロック制御部510は、各データブロックの連続転送サイズとチャネル使用割り当て頻度を再調整する。そのために、例えば、許容長より長い転送サイクルを持つデータブロックの連続転送サイズを小さくし、それに応じてチャネル使用割り当て頻度を増加させる。
【0058】
ステップ1314において、各データブロックの転送レートを再調整する。そのために、例えば、許容長より長い転送サイクルを持つデータブロックの転送レートを増加させる。転送帯域が不足している場合は、1つ以上のデータブロックの転送レートを増加させる。それでも転送帯域が不足する場合は、可能であれば別のバス・チャネルに振り替えるか、優先度の低いデータブロックの転送を、待機させるか、転送不能エラーとして処理して削除する。転送帯域が余っている場合は、要求転送レートの遅いデータブロックの転送レートを下げる。
【0059】
図14は、図12Aステップ1202および1204、および図12Bのステップ1212および1214におけるパラメータ調整(C)のためのフロー図の別の例を示している。
【0060】
パラメータを調整する際に、各データブロックの1転送サイクル当たりのチャネル使用割り当て時間ができるだけ均等になるように転送レートを選択する。その際、要求転送レートが高いブロックほど高い動作レートを設定する。次いで、可能な限り1転送サイクルの割り当て時間を維持したまま、各データブロックの転送レートの差を小さくするように、転送動作レートと連続転送サイズを調整する。
【0061】
図14のステップ1302および1304は図13のものと同様である。ステップ1406において、データブロック制御部510は、データブロックの要求転送レートに従ってチャネル最低平均レートを満たすように各ブロックの転送レートを設定する。ステップ1408において、データブロック制御部510は、チャネル使用割り当て頻度を計算する。
【0062】
ステップ1310は、図14のものと同様である。ステップ1310において、各データブロックの転送サイクル長および各バス・チャネルの総転送帯域の剰余スペースが適正であると判定された場合は、手順は図13のサブルーチンを出る。
【0063】
ステップ1310において適正でないと判定された場合は、ステップ1412において、データブロック制御部510は、各データブロックの転送レートおよび連続転送サイズを再調整する。ステップ1414において、データブロック制御部510は、各データブロックの割り当て頻度を再調整する。
【0064】
図15Aおよび15Bは、図11のデータブロックの転送割り当て計画または再計画の後でバス管理部500のデータブロック制御部510によって実行される、データブロック管理部122〜126および132〜134に対してチャネル使用許可GRTを与えるための処理のフローチャートを示している。
【0065】
図11のフロー図、即ち割り当て計画または再計画の完了後、ステップ1502において、データブロック制御部510は、各ノード1、2、3および4の各データブロック管理部からウェイト要求(WT)があるかどうかを判定する。
【0066】
ウェイト要求がないと判定された場合は、ステップ1504において、データブロック制御部510は、データブロック転送の転送保留リストが存在するかどうかを判定する。転送保留リストは、転送を保留すべきデータブロックの識別子のリストである。転送保留リストが存在しないと判定された場合は、手順は図15Bのステップ1542に進む。転送保留リストが存在すると判定された場合は、手順は図15Bのステップ1552に進む。
【0067】
ステップ1502においてウェイト要求があると判定された場合は、ステップ1512において、データブロック制御部510は、転送保留すべきデータブロックの転送保留リストが存在するかどうかを判定する。転送保留リストが存在しないと判定された場合は、ステップ1522において、データブロック制御部510は、転送許可順序テーブルの先頭のデータブロックに対して転送のウェイト要求が存在するかどうかを判定する。先頭のデータブロックに対するウェイト要求がないと判定された場合は、手順は図15Bのステップ1542に進む。
【0068】
ステップ1522において先頭のデータブロックに対してウェイト要求が存在しないと判定された場合は、ステップ1524において、データブロック制御部510は、転送許可順序テーブルの先頭のデータブロックの識別子が保留リスト中にない場合は、その先頭のデータブロック識別子を転送保留リストの末尾にコピーして、転送許可順序テーブルを1つ進める。ステップ1526において、データブロック制御部510は、転送許可順序テーブルのすべてのデータブロック識別子が転送保留リスト中にあるかどうかを判定する。すべてのデータブロック識別子が転送保留リストにあると判定された場合は、ステップ1528において、データブロック制御部510は、ウェイト要求の解除が発生するまで転送を待機する。その後、手順はステップ1520に進む。ステップ1526においてすべてのデータブロック識別子が転送保留リストにあるわけではないと判定された場合は、手順はステップ1522に戻る。
【0069】
ステップ1512において転送保留リストが存在すると判定された場合は、ステップ1514において、データブロック制御部510は、転送保留リストのすべてがウェイト要求かどうかを判定する。すべてがウェイト要求であると判定された場合は、手順はステップ1522に進む。すべてがウェイト要求というわけではないと判定された場合は、手順はステップ1520に進む。
【0070】
ステップ1520において、転送保留リストをその先頭データブロックから順に転送ウェイト要求かどうかチェックし、ウェイト要求でないものを見つけたら、それを転送保留リストの先頭に移動させる。その後、手順は図15Bのステップ1522に進む。
【0071】
図15Bを参照すると、ステップ1542において、データブロック制御部510は、転送許可順序テーブル中の先頭のデータブロックにチャネル使用許可または転送許可GRTを与える。ステップ1544において、データブロック制御部510は、転送許可順序テーブルを1つ進める。
【0072】
一方、ステップ1552において、データブロック制御部510は、転送保留リスト中の先頭のデータブロックにチャネル使用許可を与える。ステップ1554において、転送保留リスト中の先頭のデータブロックを削除する。
【0073】
ステップ1544および1554の後のステップ1556において、データブロック制御部510は、転送を許可するデータブロックに対するチャネル使用許可GRTを対応するノードに与える。ステップ1558において、データブロック制御部510は、所定期間後、そのチャネル使用許可GRTを終了する。チャネル制御部520および540は、データブロック制御部510からデータブロック割り当ておよびリクエスト通知(DBK ASGN & REQ)を受け取り、対応する転送サイクルPにおいてバス・チャネルCH−AおよびCH−B用のパラメータ制御信号(CH−A PR CTRL、CH−B PR CTRL)およびチャネル使用許可(CH−A GRT、CH−B GRT)を発生する。ステップ1560において、リクエストREQの更新、即ちリクエストの終了または新しいリクエストの発生があるかどうかを判定する。リクエストの更新がない判定された場合は、手順は図15Aのステップ1502に戻る。リクエストの更新がある判定された場合は、図11の割り当て再計画を実行する。
【0074】
図17A〜17Eは、予約された等時性データブロックI1、I2およびI3に変更がなく通常データブロック転送が発生しない期間における、ノード1および2のデータブロックI1、I2およびI3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、予め等時性データブロックの予約が行われており、1つのバス・チャネル、例えばCH−Aだけが用いられて、バス・チャネルが一定の転送レートで動作するように設定され、ノード2のデータブロックI3用のデータブロック管理部が、チャネル使用許可G I3中にデータブロックI3の転送の中断を表すウェイト信号W I3をデータブロック制御部510に送信した場合における。
【0075】
図17Aにおいて、ノード1はバス管理部500に等時性データブロックI1およびI2の転送リクエスト(REQ I1、REQ I2)を供給し、ノード2はバス管理部500にデータブロックI3の転送リクエスト(REQ I3)を供給する。転送リクエスト信号はそれらのデータブロックの転送が終了するまで維持される。
【0076】
図17Cにおいて、バス管理部500のデータブロック制御部510によって、3つの転送リクエストREQ I1、REQ I2およびREQ I3に対して1:1:2の割り当て頻度が計画され、転送サイクルP1にデータブロックI1が割り当てられ、転送サイクルP2およびP4にデータブロックI3が割り当てられ、転送サイクルP3にデータブロックI2が割り当てられる。ラウンドロビン型のチャネル・アービタ526は、その転送計画に従って、チャネル使用許可G I1、G I2をノード1に、チャネル使用許可G I3をノード2に与える。
【0077】
図17Bにおいて、ノード1の各データブロック管理部(122〜126、132〜134)が、ダブルバッファメモリにより、データブロックI1、I2の転送中に次のデータがバッファメモリにセットされる場合は、ダブルバッファ分のデータを連続して転送しない限り、転送ウェイトは発生しない。ノード2は、複数回の転送ウェイトW I3を発生している。
【0078】
この場合、チャネル・アービタ526は、ノード2によるデータブロックI3に対するウェイトW I3の解除後に、次の転送許可割り当て転送サイクルでデータブロックI3のチャネル使用許可G I3を与える。従って、データブロック制御部510は、チャネル使用許可までの時間を短くするために比較的短い転送サイクルPを設定し、各データブロックI1、I2、I3のバス・チャネル上の転送期間を可能な限り均等にかつ短くなるように調整する。
【0079】
図17Cにおいて、サイクルP1の時間期間はデータブロックI1の量に応じて転送レートRが一定になるように設定され、サイクルP1においてノード1に対してデータブロックI1のチャネル使用許可G I1が与えられる。サイクルP2およびP4の時間期間は、それぞれデータブロックI3の量に応じて転送レートが一定RになるようにサイクルP1より短く設定され、サイクルP2およびP4においてノード2に対してデータブロックI3のチャネル使用許可G I3が与えられる。サイクルP3の時間期間は、データブロックI2の量に応じて転送レートが一定RになるようにサイクルP1およびP2より長く設定され、サイクルP3においてノード1に対してデータブロックI2のチャネル使用許可G I2が与えられる。サイクルP7における転送ウェイトW I3はサイクルP8中のタイミングT3まで延長されて終了している。従って、サイクルP8においてノード2に対してデータブロックI3の予定されていたチャネル使用許可G I3は、破線で示されているように与えられていない。その代わりに、サイクルP8においてノード1のデータブロックI1に対してチャネル使用許可G I1が与えられている。
【0080】
次の転送サイクルP9では、ノード2において転送ウェイトW I3が解除されているので、ノード2のデータブロックI3に対してチャネル使用許可G I3が与えられている。即ち、サイクルP8とP9では、データブロックI3とI1に与えられるチャネル使用許可G I3とG I1の時間期間が入れ替わっている。その後は、ノード1のデータブロックI2に対してチャネル使用許可G I2が与えられている。
【0081】
図17Dには、バス・チャネル上におけるデータブロックI1、I2、I3の転送が示されている。データブロックI1、I2およびI3は、チャネル使用許可G I1〜G I3に従ってノード1および2によってノード3に転送される(1−1→3、2−1→3、1−2→3)。
【0082】
図17Eに示されているように、この場合、等時性データブロック転送予約に変更がなく、通常データブロックの転送リクエストが出ていないので、転送レートR、従って動作電圧Vは一定である。
【0083】
図18A〜18Eは、予約された等時性データブロックI1およびI2の転送中に別の等時性データブロックI3の転送予約が挿入される場合における、ノード1および2のデータブロックI1、I2およびI3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、予め等時性データブロックの予約が行われており、1つのバス・チャネルだけが用いられて、バス・チャネルが変動する転送レートで動作するように設定され、ノード1のデータブロックI1用のデータブロック管理部(例えば122)が、転送ウェイト信号W I1をデータブロック制御部510に送信する。サイクルP4のタイミングT32で等時性データブロックI3の予約が発生したとき、およびサイクルP9のタイミングT34で等時性データブロックI1の転送が完了したときに、データブロック制御部510によって割り当て再計画が行われる。サイクルP9において、データブロックI1の転送が完了する。
【0084】
図18Aにおいて、最初、サイクルP1〜P4において、ノード1はバス管理部500のデータブロック制御部510に等時性データブロックI1およびI2の転送リクエスト(REQ I1、REQ I2)を供給している。サイクルP4のタイミングT32において、ノード2の等時性データブロックI3の転送予約が発生する。サイクルP5において、ノード2は、データブロック制御部510にデータブロックI3の転送リクエスト(REQ I3)を供給する。従って、データブロック制御部510は図11のフロー図に従って転送許可割り当て再計画を実行する。サイクルP5の終了時点のタイミングT33において、データブロック制御部510はデータブロックの転送制御を変更する。サイクルP9において、ノード1はデータブロックI1の転送を完了し、転送リクエストREQ I1を停止する。従って、タイミングT34において、データブロック制御部510は転送許可割り当て再計画を実行して転送制御を変更する。
【0085】
図18Cにおいて、データブロック制御部510によって、2つの転送リクエストREQ I1およびREQ I2に対して1:1の割り当て頻度が計画され、サイクルP1にデータブロックI1が割り当てられ、サイクルP2にデータブロックI3が割り当てられる。
【0086】
図18Bにおいて、ノード1の各データブロック管理部(122〜126、132〜134、136〜138)が、転送ウェイトW1を発生する。ノード2において、複数回の転送ウェイトW I3が発生している。ノード1によるデータブロックI1に対する転送ウェイトW I1の解除後に、チャネル・アービタ526は、次の転送許可割り当てサイクルでデータブロックI1の転送を許可する。
【0087】
図18Cにおいて、サイクルP1の時間期間はデータブロックI1の量に応じて転送レートRが低くなるように設定され、サイクルP1においてノード1に対してデータブロックI1のチャネル使用許可G I1が与えられる。サイクルP2の時間期間はサイクルP1の時間期間と等しくなるように設定され、サイクルP2においてノード1に対してデータブロックI2のチャネル使用許可G I2が与えられる。サイクルP3〜P5まで同様である。
【0088】
図18Eにおいて、転送レート、即ち動作電圧は、チャネル制御部520によって転送割り当て計画に従って1サイクルにおける転送データ量に応じて1サイクル分のデータが1サイクルで転送されるように転送レートが変更される。
【0089】
タイミングT33において、割り当て再計画に従って、3つの等時性データブロックの転送に対応して1サイクルが短くなるように転送制御が変更される。サイクルP6において、チャネル制御部520は転送レートRを高くし、チャネル・アービタ526はノード2にデータブロックI3のチャネル使用許可G I3を与える。サイクルP7において、チャネル制御部520はサイクルP1におけるより転送レートを高くサイクルP6におけるより転送レートを低くし、チャネル・アービタ526は、データブロックI1の転送の遅延を短くするために、ノード1にデータブロックI1のサイクルP1における量の半分を転送するための時間期間だけチャネル使用許可G I1を与える。サイクルP8において、チャネル・アービタ526は、データブロックI2の転送が遅延しないようにノード1にデータブロックI2のチャネル使用許可G I1を与える。サイクルP9において、チャネル・アービタ526はノード1にデータブロックI1用のサイクルP7において転送しなかった残りの半分の量のデータを転送するための時間期間だけチャネル使用許可G I1を与える。
【0090】
タイミングT34において、データブロック1の転送が終了するので、割り当て再計画が行われ、サイクルP10およびP11においてデータ量に応じて転送レートが調整されて、等しい時間期間でデータブロックI3およびI2が交互に転送される。
【0091】
図18Dには、バス・チャネル上におけるデータブロックI1、I2、I3の転送が示されている。データブロックI1、I2およびI3は、ノード1および2によってチャネル使用許可G I1〜G I3に従ってノード3に転送される。
【0092】
このように、図18A〜18Eでは、転送すべきデータの量に応じて転送レートが調整されて、各サイクルにおいてできるだけ空白が小さくなるように転送制御される。
【0093】
図19A〜19Eは、予約された等時性データブロックI1およびI2の転送中に別の通常データブロックN3の転送リクエストが発生した場合における、ノード1および2のデータブロックI1、I2およびN3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、等時性データブロック予約がバス管理部500に予め登録されており、1つのバス・チャネルだけが用いられて、バス・チャネルが変動する転送レートで動作するように設定される。
【0094】
この場合、サイクルP1〜P5において、バス管理部500および各ノード1および2は図18A〜18Eと同様に動作する。ノード2は、サイクルP5のタイミングT43において通常データブロックN3の転送リクエストREQ N3を供給する。従って、データブロック制御部510はタイミングT44において図11のフロー図に従って転送許可割り当て再計画を実行する。サイクルP5の終了時点のタイミングT44において、データブロック制御部510は次のサイクルP6のデータブロックの転送制御を変更する。サイクルP6において通常データブロックN3の転送が完了する。従って、データブロック制御部510はタイミングT45において転送許可割り当て再計画を実行する。サイクルP6の終了時点のタイミングT46において、データブロック制御部510は次のサイクルP6のデータブロックの転送制御を変更する。サイクルP9において、ノード1はデータブロックI1の転送を完了し、転送リクエストREQ I1を停止する。従って、サイクルP9のタイミングT47において、データブロック制御部510は転送許可割り当て再計画を実行してデータブロックの転送制御を変更する。
【0095】
サイクルP6において、チャネル制御部520は転送レートを高く設定し、チャネル・アービタ526はノード2にデータブロックN3のチャネル使用許可G N3を与える。サイクルP6において、ノード2は通常データブロックN3の転送を完了し、転送リクエストREQ N3を停止する。サイクルP7〜P9において、バス管理部500および各ノード1および2は図18A〜18Eと同様に動作する。
【0096】
タイミングT34において、データブロック1の転送が終了するので、割り当て再計画が行われ、サイクルP10以降においてデータ量に応じて転送レートが調整されて、サイクルP2における転送レートの約2分の1の転送レートでデータブロックI2だけが転送される。
【0097】
図20A〜20Eは、図17A〜17Eの変形であり、データブロックI1を転送すべきサイクルにおいてノード1のデータブロックI1に対する転送ウェイトW I1が残っている場合における、ノード1および2のデータブロックI1、I2およびI3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、ノード2はデータブロックI3の転送ウェイトを発生しない。図20A〜20Eにおけるバス管理部500とノード1および2の動作は、基本的に図17A〜17Eの場合と同様である。
【0098】
サイクルP2〜P5において、ノード1はデータブロックI1の転送ウェイトW I1を発生する。サイクルP5の開始点において、転送ウェイトW I1が継続しているので、チャネル・アービタ526は、ノード1へのデータブロックI1のチャネル使用許可を保留して、その代わりにノード2にデータブロックI3のチャネル使用許可G I3を与える。サイクルP5においてノード1は転送ウェイトW I1を解除する。サイクルP6において、ノード1は転送ウェイトW I1を発生していないので、チャネル・アービタ526は、ノード1のデータブロックI1に対してチャネル使用許可G I1を与える。即ち、サイクルP5とP6では、データブロックI3とI1に与えられるチャネル使用許可G I3とG I1の時間期間が入れ替わっている。その後は、ノード1のデータブロックI2に対してチャネル使用許可G I2が与えられている。
【0099】
図21A〜21Eは、図20A〜20Eの変形であり、データブロックI1およびI3を転送すべきサイクルにおいてノード1および2のデータブロックI1およびI3に対する転送ウェイトW I1およびW I3が残っている場合における、ノード1および2のデータブロックI1、I2およびI3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。図20A〜20Eにおけるバス管理部500とノード1および2の動作は、基本的に図17A〜17Eの場合と同様である。
【0100】
サイクルP2〜P5において、ノード1はデータブロックI1の転送ウェイトW I1を発生する。サイクルP3、P5、P8およびP10の各開始前において、ノード1はデータブロックI1の転送ウェイトW I1を発生する。サイクルP5の開始点において、転送ウェイトW I1およびW I3が継続しているので、チャネル・アービタ526は、ノード1へのデータブロックI1のチャネル使用許可を保留し、その代わりにノード1にデータブロックI2のチャネル使用許可G I2を与える。サイクルP6において、ノード1および2は転送ウェイトを発生していないので、チャネル・アービタ526は、ノード2のデータブロックI3よりも転送が長く遅延されたノード1のデータブロックI1に対してチャネル使用許可G I1を与える。サイクルP7の開始点において、ノード2は転送ウェイトを発生していないので、チャネル・アービタ526は、転送が遅延されたノード2のデータブロックI3に対してチャネル使用許可G I3を与える。
【0101】
サイクルP8の開始点において、ノード2はデータブロックI3の転送ウェイトW I3を発生しているので、チャネル・アービタ526は、ノード2へのデータブロックI3のチャネル使用許可を保留して、その代わりにノード1のデータブロックI2に対してチャネル使用許可G I2を与える。
【0102】
サイクルP9において、ノード2は転送ウェイトを発生していないので、チャネル・アービタ526は、ノード1のデータブロックI1よりも転送が長く遅延されたノード2のデータブロックI3に対してチャネル使用許可G I3を与える。サイクルP10の開始点において、ノード2は転送ウェイトW I3を発生しているので、チャネル・アービタ526は、ノード1のデータブロックI1に対してチャネル使用許可G I1を与える。サイクルP11の開始点において、ノード2は転送ウェイトを発生していないので、チャネル・アービタ526は、ノード1のデータブロックI1よりも転送が長く遅延されたノード2のデータブロックI3に対してチャネル使用許可G I3を与える。
【0103】
図22A〜22Eは、図20A〜20Eの変形であり、データブロックI1を転送すべき連続する2つのサイクルにおいてノード1のデータブロックI1に対する転送ウェイトW I1が残っている場合における、ノード1および2のデータブロックI1、I2およびI3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。この場合、ノード2はデータブロックI3の転送ウェイトを発生しない。図20A〜20Eにおけるバス管理部500とノード1および2の動作は、基本的に図17A〜17Eの場合と同様である。
【0104】
サイクルP2〜P6において、ノード1はデータブロックI1の転送ウェイトW I1を発生する。サイクルP5の開始点において、転送ウェイトW I1が継続しているので、チャネル・アービタ526は、ノード1へのデータブロックI1のチャネル使用許可を保留して、その代わりにノード2にデータブロックI3のチャネル使用許可G I3を与える。サイクルP6の開始点において、転送ウェイトW I1が継続しているので、チャネル・アービタ526は、ノード1へのデータブロックI1のチャネル使用許可を再度保留して、その代わりにノード1にデータブロックI2のチャネル使用許可G I2を与える。
【0105】
サイクルP7の開始点において、ノード1は転送ウェイトを発生していないので、チャネル・アービタ526は、ノード1のデータブロックI1に対してチャネル使用許可G I1を与える。その結果、サイクルP5〜P7において、ノード1のデータブロック2の転送期間、およびノード2のデータブロックI3の転送期間が大きく乱れる。その後は、ノード2のデータブロックI3に対してチャネル使用許可G I3が与えられる。
【0106】
図23A〜23Eは、図21A〜21Eの変形であり、データブロックI1を転送すべき連続する2つのサイクルにおいてノード1のデータブロックI1の転送ウェイトW I1が残り、データブロックI3を転送すべきサイクルにおいてノード2のデータブロックI3の転送ウェイトW I3が残っている場合における、ノード1および2のデータブロックI1、I2およびI3に対する、転送リクエスト、転送ウェイト、バス管理部500によるチャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。図20A〜20Eにおけるバス管理部500とノード1および2の動作は、基本的に図17A〜17Eの場合と同様である。
【0107】
サイクルP2〜P5において、ノード1はデータブロックI1の転送ウェイトW I1を発生する。サイクルP3、P5、P8およびP10の各開始前において、ノード1はデータブロックI1の転送ウェイトW I1を発生する。サイクルP5の開始点において、ノード1はデータブロックI1の転送ウェイトW I1を発生し続け、ノード2はデータブロックI3の転送ウェイトW I3を発生しているので、チャネル・アービタ526は、ノード1および2へのデータブロックI1およびI3のチャネル使用許可を保留し、その代わりにノード1のデータブロックI2に対してチャネル使用許可G I2を与える。サイクルP6の開始点において、ノード1はデータブロックI1の転送ウェイトW I1を発生し続け、ノード2はデータブロックI3の転送ウェイトを発生していないので、チャネル・アービタ526は、ノード1へのデータブロックI1のチャネル使用許可を再度保留し、ノード2のデータブロックI3に対してチャネル使用許可G I3を与える。
【0108】
サイクルP7の開始点において、ノード1はデータブロックI1の転送ウェイトを発生していないので、チャネル・アービタ526は、転送が遅延されたノード1のデータブロックI1にチャネル使用許可G I1を与え、ノード1へのデータブロックI2のチャネル使用許可を保留する。その後は、サイクルP8において、ノード2のデータブロックI3に対してチャネル使用許可G I3が与えられる。
【0109】
図24は、本発明の別の実施形態によるマルチレイヤ構成のバス・システムの構成を示している。この図には、各ノードにおけるデータの入力および出力および各バス・チャネルにおけるデータの流れを示している。
【0110】
バス管理部500は、データブロック制御部510に接続された各バス・チャネルCH1〜CH7用のチャネル制御部CH1 CTRL〜CH7 CTRLを含んでいる。データブロック制御部510は、チャネル制御部CH1 CTRL〜CH7 CTRLにそれぞれのパラメータ制御信号PR CTLを供給する。チャネル制御部CH1 CTRL〜CH7 CTRLは、対応するバス・チャネルCH1〜CH7に接続されたノードa〜eのチャネル・インタフェース調整部R&V AJに対応するパラメータ制御信号PR CTLを供給する。ノードa〜eのチャネル・インタフェース調整部R&V AJは、パラメータ制御信号PR CTLに従ってチャネル・インタフェースの動作レートおよび電圧を調整する。ノードfおよびgは、バス・マトリックス・スイッチBUS MX SW1およびBUS MX SW2であり、データブロック制御部510によって制御される。
【0111】
図24において、例えば、ノードaはCPUコア部であり、ノードbはRAMイオンタフェースであり、ノードcは記憶装置であり、ノードdはネットワーク・インタフェースであり、ノードeはAVデコーダ・インタフェースである。例えば、ストリーム・データが、ノードdで発生して、バス・チャネルCH5、CH2およびCH4を順に経由してノードdに供給される。例えば、通常データブロックが、ノードaで発生して、バス・チャネルCH3およびCH4を順に経由してノードbに供給される。例えば、通常データブロックが、ノードbで発生して、バス・チャネルCH4およびCH3を順に経由してノードaに供給される。例えば、通常データブロックが、ノードbで発生して、バス・チャネルCH4、CH1およびCH5を順に経由してノードdに供給される。例えば、ストリーム・データが、ノードbで発生して、バス・チャネルCH4、CH2およびCH6を順に経由してノードcに供給される。例えば、ストリーム・データが、ノードcで発生して、バス・チャネルCH6およびCH7を順に経由してノードeに供給される。
【0112】
このように、本発明の実施形態によれば、バス・チャネルのトラフィックに応じて転送レートおよび動作電圧を最小化することができ、また、バス・システムにおける転送のための消費電力を全体的に低減することができる。
【0113】
また、本発明の実施形態によれば、バス・システム10〜16におけるバス管理部500〜506および各ノード100、104、106等のデータブロック管理部122〜126および132〜139のハードウェア側によって、データブロックの単位またはハードウェアに依存しないサブデータブロック以上の単位でデータ管理をサポートすることができ、それによってハードウェアとソフトウェアの制御範囲を明確に階層的に分離することができ、ハードウェアとソフトウェアの間のバス情報のやりとりを合理化することができる。ソフトウェア側では、各ノードから取得したハードウェア資源の情報から、予め作成したポリシーに従って各データブロックの扱い方を容易に管理できる。ハードウェア側では、ソフトウェア側から提供された要求特性に従って、データブロックを管理することができる。これによってソフトウェアは、ハードウェアまたはアプリケーションが変更されたときでも、同一のポリシーに基づいて、各データブロックを扱うことができる。ハードウェアまたはアプリケーション等が変更された場合は、転送可能な範囲は変化し得るが、ソフトウェアは各データブロック毎に転送できるかどうかを判断すればよく、ソフトウェアの転送制御は変わらない。従って、ソフトウェアはハードウェアと整合性しやすく、ソフトウェアの移植が容易になる。データブロックの集中管理手順は、バス管理部のソフトウェアによって、バスを構成するハードウェアのパラメータに基づいて同一のまたは必要に応じて変更可能なアルゴリズムによって決定できるので、ハードウェアの変更時には、ハードウェア・パラメータをアルゴリズムに入力するだけで対応可能であり、ハードウェア変更時におけるソフトウェアの修正の複雑性を改善することができる。
【0114】
以上説明した実施形態は典型例として挙げたに過ぎず、その実施形態の変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【0115】
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
(付記1) バスを介して相互接続された複数のノード装置と、バス制御線を介して前記複数のノード装置に接続されたバス管理手段と、からなるバス・システムであって、
前記バス管理手段は、前記複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取り、前記等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも1つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも1つのデータブロックのそれぞれの転送用のバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、前記計画と、少なくとも1つのノード装置による少なくとも1つのデータブロックの転送の要求とに従って、1つのデータブロックに対するバス・チャネルの割り当てを決定し、前記1つのデータブロックを転送するノード装置に、前記バス制御線を介して前記1つのデータブロックのバス・チャネル動作速度の情報および前記1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間のバス・チャネル使用許可を与え、
前記ノード装置は、前記転送要求中のデータブロックの転送が完了するまで前記データブロックの転送要求を維持し、前記バス管理手段から受け取った前記1つのデータブロックのバス・チャネル使用許可に応答して、バス・チャネル使用許可された期間、受け取った前記情報のバス・チャネル動作速度で別のノード装置に前記データブロックのデータを転送することを特徴とする、
バス・システム。
(付記2) 前記複数のノード装置の中の1つのノード装置は中央処理装置であり、前記中央処理装置は前記バス管理手段に前記等時性データブロック転送予約を表す信号を直接送信するものであることを特徴とする、付記1に記載のバス・システム。
(付記3) 前記バス管理手段は前記等時性データブロック転送予約を表す信号を前記少なくとも1つのノード装置から等時性データブロック転送予約用の専用線を介して受信するものであることを特徴とする、付記1に記載のバス・システム。
(付記4) 前記バス管理手段は前記複数のノード装置の中の1つのノード装置であり、前記バス管理手段は前記等時性データブロック転送予約を表す信号を前記少なくとも1つのノード装置から前記バス・チャネルを介して受信するものであることを特徴とする、付記1に記載のバス・システム。
(付記5) 前記バスは複数のバス・チャネルからなり、前記バス管理手段は、前記計画の一部として、前記複数のバス・チャネルの中から選択された少なくとも1つのバス・チャネルからなる前記等時性データの転送に使用すべき転送ルートを決定することを特徴とする、付記1に記載のバス・システム。
(付記6) 前記1つのノード装置は前記等時性データブロックに対する転送中断を表す転送ウェイト信号を前記バス制御線を介して前記バス管理手段に送り、前記バス管理手段は、前記転送ウェイト信号に応答して前記1つのデータブロックに対する前記バス・チャネル使用許可を保留し、前記1つのデータブロックと同じバス・チャネル上で転送可能な他のデータブロックが存在する場合は、前記転送ウェイト信号がなくなるまで、前記他のデータブロックを転送するノード装置に前記制御線を介して前記他のデータブロックに対するバス・チャネル使用許可を与えることを特徴とする、付記1に記載のバス・システム。
(付記7) 前記バス管理手段は、前記複数のノード装置の中の1つのノード装置によって転送されるべき新しい等時性データブロック転送予約または新しい通常データブロックの転送要求を受け取ったとき、または前記等時性データブロックの転送要求が終了したときは、前記計画を再度作成することを特徴とする、付記1に記載のバス・システム。
(付記8) 前記バス管理手段は、前記計画に従って転送すべきデータブロックに対する転送許可の順序を表す転送許可順序テーブルを生成し、ノード装置による転送ウェイトまたはバス・チャネルのトラフィックに起因して転送を保留されたデータブロックを表す転送保留リストを生成し、前記転送許可順序テーブルと前記転送保留リストとに従って、前記転送許可順序テーブル中の転送可能なデータブロックに対して順にバス・チャネル使用許可を与えることを特徴とする、付記1に記載のバス・システム。
(付記9) バス・システムにおける複数のノード装置にバス制御線を介して接続されるバス管理装置であって、
前記複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取る等時性データブロック転送予約管理手段と、
前記等時性データブロック転送予約管理手段からの等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも1つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも1つのデータブロックのバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、前記計画と、前記少なくとも1つのノード装置による前記等時性データブロックおよび前記通常データブロックのうちの少なくとも1つのデータブロックの転送の要求とに従って、前記1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間の前記1つのデータブロックに対するバス・チャネルの割り当てを決定するデータブロック制御手段と、
前記1つのデータブロックに対するバス・チャネルの割り当てに従って、前記1つのデータブロックを転送する前記1つのノード装置に、前記バス制御線を介して前記1つのデータブロックのバス・チャネル動作速度の情報およびバス・チャネル使用許可を与えるバス・チャネル管理手段と、
を具えることを特徴とする、バス管理装置。
(付記10) バス・システムにおけるバス管理装置にバス制御線を介して接続されるノード装置であって、
バス・チャネルに接続されていて、前記バス管理手段によって指定されたバス・チャネル動作速度および電圧で転送動作する、少なくとも1つ以上のチャネル・インタフェースと、
前記バス管理装置から受け取った制御情報に従って、前記チャネル・インタフェースの動作速度および動作電圧を調整する調整部と、
バッファメモリに結合され、前記バッファメモリから読み出した特定のデータブロックのデータを前記チャネル・インタフェースに供給し、および/または特定のデータブロックのデータを前記チャネル・インタフェースから受け取って前記バッファメモリに書き込み、転送を行うべきデータブロックの転送要求およびノード装置側の要因による転送可否状態および転送進行状況の管理を行う、少なくとも1つ以上のデータブロック管理手段と、
前記チャネル・インタフェースと前記データブロック管理手段とに接続されていて、前記チャネル・インタフェースと前記データブロック管理手段とを選択的に接続するスイッチと、
を具えることを特徴とする、ノード装置。
(付記11) バス・システムにおける複数のノード装置にバス制御線を介して接続されるバス管理装置用のプログラムであって、
前記複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取るステップと、
前記等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも1つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも1つのデータブロックのバス・チャネル動作速度、バス・チャネル使用権割り当て頻度および連続転送サイズの計画を生成するステップと、
前記計画と、前記1つのノード装置による前記等時性データブロックおよび前記通常データブロックのうちの1つのデータブロックの転送の要求とに従って、前記1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間における前記1つのデータブロックに対するバス・チャネルの割り当てを決定するステップと、
前記1つのデータブロックに対するバス・チャネルの割り当てに従って、前記1つのデータブロックを転送する前記1つのノード装置に、前記バス制御線を介して前記1つのデータブロックのバス・チャネル動作速度の情報および前記1つのデータブロックのバス・チャネル使用許可を与えるステップと、
を実行させるよう動作可能なプログラム。
【図面の簡単な説明】
【0116】
【図1】図1は、Aおよび1Bは、それぞれ、通常のバス・システムの構成と、そのバス・システムにおける複数のノード間での等時性データブロックおよび通常データブロックの転送のタイム・チャートとを示している。
【図2】図2Aおよび2Bは、データ転送要求の有無に応じてバス・システムの電源をオン/オフする場合におけるデータ転送とバス・システムの消費電力とを示している
【図3】図3は、データ転送レートをバス上のトラフィックに応じて切換え制御する場合におけるデータ転送を示している。
【図4A】図4A、4Bおよび4Cは、本発明の原理による、バス・システムの構成と、そのバス・システムにおける複数のノード間の等時性データブロックおよび通常データブロックの転送のタイム・チャートとをそれぞれ示している。
【図4B】.
【図5】図5は、本発明の実施形態による、典型例のバス・システムの構成を示している。
【図6】図6は、図5の場合のバス管理部と複数のノードの間のバスと信号線の詳細を例示している。
【図7】図7は、本発明の別の実施形態による、典型例のバス・システムの構成を示している。
【図8】図8は、図7の場合のバス管理部と複数のノードの間のバスと信号線の詳細を例示している。
【図9】図9は、本発明のさらに別の実施形態による、典型例のバス・システムの構成を示している。
【図10】図10は、図9の場合のバス管理部とノードの間のバスと信号線の詳細を例示している。
【図11】図11は、図5〜10のバス管理部のデータブロック制御部およびチャネル制御部によって実行される、転送ブロックのチャネルの割り当て計画および再計画のためのフロー図を示している。
【図12】図12Aおよび12Bは、図11のステップにおいて各データブロックの転送パラメータを決定するためのフロー図の例を示している。
【図13】図13は、図12Aのステップおよび図12Bのステップにおけるパラメータ調整のためのフロー図の例を示している。
【図14】図14は、図12Aステップ、および図12Bのステップにおけるパラメータ調整のためのフロー図の別の例を示している。
【図15A】図15Aおよび15Bは、図11のデータブロックの転送割り当て計画または再計画の後でバス管理部のデータブロック制御部によって実行される、データブロック管理部に対してバス・チャネル使用許可を与えるための処理のフローチャートを示している。
【図15B】.
【図16】図16Aおよび16Bは、転送許可順序テーブルの例を示している。図16Cは、転送保留リストの例を示している。
【図17】図17は、図17A〜17Eは、予約された等時性データブロックに変更がなく通常データブロック転送が発生しない期間における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図18】図18A〜18Eは、予約された等時性データブロックの転送中に別の等時性データブロックの転送予約が挿入される場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図19】図19A〜19Eは、予約された等時性データブロックの転送中に別の通常データブロックの転送リクエストが発生した場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図20】図20は、データブロックを転送すべきサイクルにおいてノードのデータブロックに対する転送ウェイトが残っている場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。を示している。
【図21】図21A〜21Eは、データブロックを転送すべきサイクルにおいてノードのデータブロックに対する転送ウェイトが残っている場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図22】図22A〜22Eは、データブロックを転送すべき連続する2つのサイクルにおいてノードのデータブロックに対する転送ウェイトが残っている場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図23】図23A〜23Eは、データブロックI1を転送すべき連続する2つのサイクルにおいてノードのデータブロックの転送ウェイトが残り、データブロックを転送すべきサイクルにおいてノードのデータブロックの転送ウェイトが残っている場合における、ノードのデータブロックに対する、転送リクエスト、転送ウェイト、バス管理部によるバス・チャネル使用許可、バス・チャネル上の転送データ、およびそのバス・チャネルにおける転送レートのタイム・チャートの例を示している。
【図24】図24は、本発明の別の実施形態によるマルチレイヤ構成のバス・システムの構成を示している。
【符号の説明】
【0117】
100、200、400 ノード1〜3
102 データ処理部
112〜116 データブロック・バッファメモリ
122〜126 データブロック管理部
130 マトリックス・スイッチ
142、144 チャネル・インタフェース
152、154 チャネル・インタフェース調整部
500 バス管理部
508 ストリーム管理部
510 データブロック制御部
520、540 チャネル制御部
【特許請求の範囲】
【請求項1】
バスを介して相互接続された複数のノード装置と、バス制御線を介して前記複数のノード装置に接続されたバス管理手段と、からなるバス・システムであって、
前記バス管理手段は、前記複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取り、前記等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも1つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも1つのデータブロックのそれぞれの転送用のバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、前記計画と、少なくとも1つのノード装置による少なくとも1つのデータブロックの転送の要求とに従って、1つのデータブロックに対するバス・チャネルの割り当てを決定し、前記1つのデータブロックを転送するノード装置に、前記バス制御線を介して前記1つのデータブロックのバス・チャネル動作速度の情報および前記1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間のバス・チャネル使用許可を与え、
前記ノード装置は、前記転送要求中のデータブロックの転送が完了するまで前記データブロックの転送要求を維持し、前記バス管理手段から受け取った前記1つのデータブロックのバス・チャネル使用許可に応答して、バス・チャネル使用許可された期間、受け取った前記情報のバス・チャネル動作速度で別のノード装置に前記データブロックのデータを転送することを特徴とする、
バス・システム。
【請求項2】
前記複数のノード装置の中の1つのノード装置は中央処理装置であり、前記中央処理装置は前記バス管理手段に前記等時性データブロック転送予約を表す信号を直接送信するものであることを特徴とする、請求項1に記載のバス・システム。
【請求項3】
前記バス管理手段は前記等時性データブロック転送予約を表す信号を前記少なくとも1つのノード装置から等時性データブロック転送予約用の専用線を介して受信するものであることを特徴とする、請求項1に記載のバス・システム。
【請求項4】
前記バス管理手段は前記複数のノード装置の中の1つのノード装置であり、前記バス管理手段は前記等時性データブロック転送予約を表す信号を前記少なくとも1つのノード装置から前記バス・チャネルを介して受信するものであることを特徴とする、請求項1に記載のバス・システム。
【請求項5】
前記バスは複数のバス・チャネルからなり、前記バス管理手段は、前記計画の一部として、前記複数のバス・チャネルの中から選択された少なくとも1つのバス・チャネルからなる前記等時性データの転送に使用すべき転送ルートを決定することを特徴とする、請求項1に記載のバス・システム。
【請求項6】
バス・システムにおける複数のノード装置にバス制御線を介して接続されるバス管理装置であって、
前記複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取る等時性データブロック転送予約管理手段と、
前記等時性データブロック転送予約管理手段からの等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも1つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも1つのデータブロックのバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、前記計画と、前記少なくとも1つのノード装置による前記等時性データブロックおよび前記通常データブロックのうちの少なくとも1つのデータブロックの転送の要求とに従って、前記1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間の前記1つのデータブロックに対するバス・チャネルの割り当てを決定するデータブロック制御手段と、
前記1つのデータブロックに対するバス・チャネルの割り当てに従って、前記1つのデータブロックを転送する前記1つのノード装置に、前記バス制御線を介して前記1つのデータブロックのバス・チャネル動作速度の情報およびバス・チャネル使用許可を与えるバス・チャネル管理手段と、
を具えることを特徴とする、バス管理装置。
【請求項7】
バス・システムにおけるバス管理装置にバス制御線を介して接続されるノード装置であって、
バス・チャネルに接続されていて、前記バス管理手段によって指定されたバス・チャネル動作速度および電圧で転送動作する、少なくとも1つ以上のチャネル・インタフェースと、
前記バス管理装置から受け取った制御情報に従って、前記チャネル・インタフェースの動作速度および動作電圧を調整する調整部と、
バッファメモリに結合され、前記バッファメモリから読み出した特定のデータブロックのデータを前記チャネル・インタフェースに供給し、および/または特定のデータブロックのデータを前記チャネル・インタフェースから受け取って前記バッファメモリに書き込み、転送を行うべきデータブロックの転送要求およびノード装置側の要因による転送可否状態および転送進行状況の管理を行う、少なくとも1つ以上のデータブロック管理手段と、
前記チャネル・インタフェースと前記データブロック管理手段とに接続されていて、前記チャネル・インタフェースと前記データブロック管理手段とを選択的に接続するスイッチと、
を具えることを特徴とする、ノード装置。
【請求項8】
バス・システムにおける複数のノード装置にバス制御線を介して接続されるバス管理装置用のプログラムであって、
前記複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取るステップと、
前記等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも1つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも1つのデータブロックのバス・チャネル動作速度、バス・チャネル使用権割り当て頻度および連続転送サイズの計画を生成するステップと、
前記計画と、前記1つのノード装置による前記等時性データブロックおよび前記通常データブロックのうちの1つのデータブロックの転送の要求とに従って、前記1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間における前記1つのデータブロックに対するバス・チャネルの割り当てを決定するステップと、
前記1つのデータブロックに対するバス・チャネルの割り当てに従って、前記1つのデータブロックを転送する前記1つのノード装置に、前記バス制御線を介して前記1つのデータブロックのバス・チャネル動作速度の情報および前記1つのデータブロックのバス・チャネル使用許可を与えるステップと、
を実行させるよう動作可能なプログラム。
【請求項1】
バスを介して相互接続された複数のノード装置と、バス制御線を介して前記複数のノード装置に接続されたバス管理手段と、からなるバス・システムであって、
前記バス管理手段は、前記複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取り、前記等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも1つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも1つのデータブロックのそれぞれの転送用のバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、前記計画と、少なくとも1つのノード装置による少なくとも1つのデータブロックの転送の要求とに従って、1つのデータブロックに対するバス・チャネルの割り当てを決定し、前記1つのデータブロックを転送するノード装置に、前記バス制御線を介して前記1つのデータブロックのバス・チャネル動作速度の情報および前記1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間のバス・チャネル使用許可を与え、
前記ノード装置は、前記転送要求中のデータブロックの転送が完了するまで前記データブロックの転送要求を維持し、前記バス管理手段から受け取った前記1つのデータブロックのバス・チャネル使用許可に応答して、バス・チャネル使用許可された期間、受け取った前記情報のバス・チャネル動作速度で別のノード装置に前記データブロックのデータを転送することを特徴とする、
バス・システム。
【請求項2】
前記複数のノード装置の中の1つのノード装置は中央処理装置であり、前記中央処理装置は前記バス管理手段に前記等時性データブロック転送予約を表す信号を直接送信するものであることを特徴とする、請求項1に記載のバス・システム。
【請求項3】
前記バス管理手段は前記等時性データブロック転送予約を表す信号を前記少なくとも1つのノード装置から等時性データブロック転送予約用の専用線を介して受信するものであることを特徴とする、請求項1に記載のバス・システム。
【請求項4】
前記バス管理手段は前記複数のノード装置の中の1つのノード装置であり、前記バス管理手段は前記等時性データブロック転送予約を表す信号を前記少なくとも1つのノード装置から前記バス・チャネルを介して受信するものであることを特徴とする、請求項1に記載のバス・システム。
【請求項5】
前記バスは複数のバス・チャネルからなり、前記バス管理手段は、前記計画の一部として、前記複数のバス・チャネルの中から選択された少なくとも1つのバス・チャネルからなる前記等時性データの転送に使用すべき転送ルートを決定することを特徴とする、請求項1に記載のバス・システム。
【請求項6】
バス・システムにおける複数のノード装置にバス制御線を介して接続されるバス管理装置であって、
前記複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取る等時性データブロック転送予約管理手段と、
前記等時性データブロック転送予約管理手段からの等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも1つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも1つのデータブロックのバス・チャネル動作速度、バス・チャネル使用権の割り当て頻度および連続転送サイズの計画を生成し、前記計画と、前記少なくとも1つのノード装置による前記等時性データブロックおよび前記通常データブロックのうちの少なくとも1つのデータブロックの転送の要求とに従って、前記1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間の間の前記1つのデータブロックに対するバス・チャネルの割り当てを決定するデータブロック制御手段と、
前記1つのデータブロックに対するバス・チャネルの割り当てに従って、前記1つのデータブロックを転送する前記1つのノード装置に、前記バス制御線を介して前記1つのデータブロックのバス・チャネル動作速度の情報およびバス・チャネル使用許可を与えるバス・チャネル管理手段と、
を具えることを特徴とする、バス管理装置。
【請求項7】
バス・システムにおけるバス管理装置にバス制御線を介して接続されるノード装置であって、
バス・チャネルに接続されていて、前記バス管理手段によって指定されたバス・チャネル動作速度および電圧で転送動作する、少なくとも1つ以上のチャネル・インタフェースと、
前記バス管理装置から受け取った制御情報に従って、前記チャネル・インタフェースの動作速度および動作電圧を調整する調整部と、
バッファメモリに結合され、前記バッファメモリから読み出した特定のデータブロックのデータを前記チャネル・インタフェースに供給し、および/または特定のデータブロックのデータを前記チャネル・インタフェースから受け取って前記バッファメモリに書き込み、転送を行うべきデータブロックの転送要求およびノード装置側の要因による転送可否状態および転送進行状況の管理を行う、少なくとも1つ以上のデータブロック管理手段と、
前記チャネル・インタフェースと前記データブロック管理手段とに接続されていて、前記チャネル・インタフェースと前記データブロック管理手段とを選択的に接続するスイッチと、
を具えることを特徴とする、ノード装置。
【請求項8】
バス・システムにおける複数のノード装置にバス制御線を介して接続されるバス管理装置用のプログラムであって、
前記複数のノード装置の中の少なくとも1つのノード装置によって転送されるべき等時性データブロック転送予約を受け取るステップと、
前記等時性データブロック転送予約の情報と、前記複数のノード装置の中の少なくとも1つのノード装置からの前記等時性データブロックおよび通常データブロックのうちの少なくとも1つのデータブロックの転送要求とに基づいて、各転送サイクルにおいて可能な限り低いバス・チャネル動作速度でデータを転送するように、バス・チャネルにおける前記少なくとも1つのデータブロックのバス・チャネル動作速度、バス・チャネル使用権割り当て頻度および連続転送サイズの計画を生成するステップと、
前記計画と、前記1つのノード装置による前記等時性データブロックおよび前記通常データブロックのうちの1つのデータブロックの転送の要求とに従って、前記1つのデータブロックの連続転送サイズおよびバス・チャネル動作速度によって決まる時間期間における前記1つのデータブロックに対するバス・チャネルの割り当てを決定するステップと、
前記1つのデータブロックに対するバス・チャネルの割り当てに従って、前記1つのデータブロックを転送する前記1つのノード装置に、前記バス制御線を介して前記1つのデータブロックのバス・チャネル動作速度の情報および前記1つのデータブロックのバス・チャネル使用許可を与えるステップと、
を実行させるよう動作可能なプログラム。
【図1】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15A】
【図15B】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3】
【図4A】
【図4B】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15A】
【図15B】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2007−18400(P2007−18400A)
【公開日】平成19年1月25日(2007.1.25)
【国際特許分類】
【出願番号】特願2005−201079(P2005−201079)
【出願日】平成17年7月11日(2005.7.11)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成19年1月25日(2007.1.25)
【国際特許分類】
【出願日】平成17年7月11日(2005.7.11)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]