(57)【要約】  本発明によるデータ処理システムは、データ通信機構（ＢＵＳ）上で互いにデータを伝送することができる複数のデータ処理機構（ＰＵ１、ＰＵ２、ＰＵ３）を含む。少なくとも１つのデータ処理機構（ＰＵ１）が、データ通信機構（ＢＵＳ）上のデータ転送の速度を制御するための帯域幅制御装置（ＣＴＲＬＩ、ＣＴＲＬＯ）を有する。帯域幅制御装置は、データ転送が、許された平均データ速度を超えた場合、データ転送を制限する。
2007519058.tif 000002
【特許請求の範囲】
【請求項１】
データ通信機構によって結合された複数のデータ処理機構を含むデータ処理システムであって、
少なくとも１つの前記データ処理機構は、前記データ通信機構上のデータ転送の速度を制御するための帯域幅制御装置を有し、前記帯域幅制御装置は、前記データ転送が、許された平均データ速度を超える場合には、前記データ転送を制限するデータ処理システム。
【請求項２】
前記帯域幅制御装置は、前記データ転送の移動平均を計算し、前記移動平均が、前記許された平均データ速度を超える場合には、更なるデータ転送をブロックする請求項１記載のデータ処理システム。
【請求項３】
前記帯域幅制御装置は、前記データ転送の積分を定期的に開始し、前記積分された値が、前記許された平均データ速度から計算された閾値を超える場合には、前記データ転送をブロックする請求項１記載のデータ処理システム。
【請求項４】
前記帯域幅制御装置は、２つの連続する積分開始の間の期間より短い時間間隔内に、前記許された平均データ速度が達せられることを目標にすることによって、前記閾値を計算する請求項３記載のデータ処理システム。
【請求項５】
前記帯域幅制御装置は、帯域幅の一時的な不足に適応するように、前記積分期間中の前記許された平均データ速度を変化させる請求項３記載のデータ処理システム。
【請求項６】
前記データ処理機構は、入力データ転送及び出力データ転送の速度を制御するために別々の帯域幅制御装置を有する請求項１記載のデータ処理システム。
【請求項７】
データ通信機構上に複数のデータ処理機構を含むデータ処理システムにおいてデータを伝送するための方法であって、許された平均データ転送速度に基づいて、処理機構のデータ転送速度を分散して制御する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムに関する。
【０００２】
さらに本発明は、データ処理方法に関する。
【背景技術】
【０００３】
先行技術は、リアルタイムのマルチメディア・データ処理機能が、ますますプログラマブル・アーキテクチャ上で行われることを認識している。そのような諸機能は、ハードウェアで行われても、ソフトウェアで行われても、ハードウェアとソフトウェアの混合で行われても良い。マルチメディアは、オーディオ、グラフィックス、ビデオ、及びその他を含んでも良い。そのようなプログラマブル・アーキテクチャは、中央処理装置、入出力装置、マルチメディア・イメージ処理などのためのオプションのコプロセッサ、共用バス、メイン・メモリとインタフェースをとるバス・アービタを含んでも良い。
【０００４】
最新技術では、いずれのデータ処理装置にメモリへのアクセスが許されるかを判定するのに、中央バス・アービタが使用される。このバス・アービタは、２つの別個の目標を達するために、バス要求をスケジュールする。第１に、バス・アービタは、メモリが、一度に単一の要求を扱うだけで良いことを確実にする。第２に、バス・アービタは、高い優先順位のクライアントからのバス要求が、他のクライアントからの要求よりも頻繁に扱われることを確実にして、全体の利用可能なバス容量が、各バスクライアントに対する、或る限られた帯域幅に分割されるようにする。最新技術のシステムでは、処理装置は、可能な最高速度で実行しようと同時に試みる。この最大限は、設計特性である。多くのケースで、これは、処理速度が、利用可能なデータだけによって制限されることを意味し、このため、実際の処理速度は、アービタによって決められる。
【０００５】
本発明人らは、多くのケースで、データ処理装置が、システム・モード又は使用ケースに依存して、データ処理装置の最大限度よりも相当に低い作業負荷レベルで実行されていることを認識している。更に、処理装置は、或るイメージ・レートでイメージを処理することなどの、そのような作業負荷を反復する形で、しばしば、実行する。そのような状況では、最新技術のシステムの処理装置は、反復期間の始めのうち、可能な限り多くの帯域幅を消費しようと試みるのに対して、期間の終りには、未使用の帯域幅が残されていることがある。本発明では、斬新なアプローチが、反復期間中に帯域幅消費をより均等に分散させることを目的とする。帯域幅消費のこの分散は、実際のバス転送を制御された形で遅延させることによって達せられる。これは、バス・インタフェースの瞬間帯域幅を制限するのではなく、むしろ、バス・インタフェースの平均帯域幅が、前述の遅延に基づく形で制限されるべきことを意味する。これは、その時点で、要求側機構が利用できるバス帯域幅が、その機構の独自の見積られた帯域幅より少ない場合、その機構は、原則として、後の時間間隔において、その相違を挽回することができることを意味する。次に、本発明の特に有利な実施形態によれば、そのような挽回時間は、利用可能な平均バス帯域幅が指定されている時間間隔の終りに位置する、短い、いわゆるスラック時間間隔において提供される。通常、平均時間間隔の５％のスラック時間間隔の範囲内の値が、有利であることが分かっている。しかし、構成及び用途に依存して、３〜８％の範囲、又は１〜１２％などの範囲さえ、実施可能である。
【０００６】
改良の結果、中央バス・アービタに関する要件及び制約は、緩和されることが可能であり、アービタの設計は、目に見えて単純化される。また、更に、中央バス・アービタのソフトウェア制御又はハードウェア制御も単純化される。これらの利点は、中央バス・アービタのタスクの１つが単純化されるという所見によって生じさせられる。プロセッサ自体、プロセッサの帯域幅使用を制限するので、中央アービタは、この制限を実施する必要がない。中央アービタを制御する際、可能な全てのユーザ、及びそれらのユーザのそれぞれの帯域幅要件を、それらに基づいて、現在、利用可能な転送速度を定義するために、認識していなければならない。そのような要件は、実際のモード設定に依存して異なることさえ可能である。本発明では、各プロセッサの帯域幅消費は、そのプロセッサの独自の動作モードだけを考慮に入れて、個々に制御される。また、この場合、制御の単純化も顕著である。
【０００７】
また、実際、本発明人らは、瞬間転送要件の相対的低減をもたらすことが、ストール・サイクルによって単純明快な形で実現されることが可能であることも認識している。しかし、このケースでは、要求側は、通信バス機構の最大長時間転送速度を常に知っている。特に、本発明と発明者が共通であり、やはり、本譲受人に譲渡された、参照により本明細書に組み込まれているＵＳ２００３−００２５６９８  Ａ１が、実際の転送速度を低減するためのストール・サイクルの用法を説明している。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従って、とりわけ、本発明の目的は、システムの設計及び制御を単純化する一方で、同時に、許容できる転送要件のためのリアルタイム制約を補償することである。本発明の別の目的は、様々な処理ステーションの再設計を要さず、バス・アーキテクチャの再設計も要さない、スマート・バス・インタフェース・ソリューションを提供することである。
【課題を解決するための手段】
【０００９】
従って、次に、本発明の諸態様の１つによれば、本発明は、請求項１に記載される。特に、本発明の追加の特徴には、適切なバス・インタフェース群を帯域幅制御装置で強化することが含まれる。それらの帯域幅制御装置を使用して、帯域幅の消費が制御されることが可能であり、その結果、メディア処理装置の平均データ処理速度が、効果的に減速される。それでも、バス・アービタは、必要である。というのは、様々なメディア処理装置が、依然、バス転送を同時に開始することが可能だからである。しかし、データ処理装置の帯域幅制御装置が、データ転送速度を分散された形で制御するため、バス・アービタのタスクは、単純化される。
【００１０】
特定のメディア処理装置が、１つのバス・インタフェース、或いは、むしろ、互いに逆の方向で動作し、適切な帯域幅制御装置をそれぞれが備えた、ペアのバス・インタフェースを有しても良い。複数の帯域幅制御装置が、単一のメディア処理装置又はプロセッサに対して適切である場合、それらの帯域幅制御装置は、互いに相互接続されていても、いなくても良く、或いは、統合されて、関連するメディア処理装置に関する単一の帯域幅制御装置になることさえある。
【００１１】
また、本発明は、請求項６で請求する方法にも関する。本発明の更なる有利な諸態様は、従属請求項に記載する。
【００１２】
本発明の以上、及び更なる特徴、態様、及び利点は、本発明の好ましい諸実施形態の開示を参照して、特に、図面を参照して、後段でより詳細に説明する。
【発明を実施するための最良の形態】
【００１３】
図１は、代表的な先行技術のバス指向システムを示す。このシステムは、バスＢＵＳ、共有メモリＭＥＭ、バス・アービタＡＲＢ、メディア処理装置ＰＵ１、並びに、それぞれのバッファを含む単方向バス・インタフェース機構ＩＢ１、ＯＢ１を有する。バスＢＵＳ及びメモリＭＥＭは、複数のメディア処理装置ＰＵ１、ＰＵ２、ＰＵ３によって共用され、装置ＰＵ１、ＰＵ２、ＰＵ３の少なくとも１つは、通常、システム全体も制御するＣＰＵである。他のカテゴリのメディア処理装置は、コプロセッサ、並びに、音声又は画像の入力装置又は出力装置などの物理的信号源装置、又は大容量メモリを含む。そのようなメディア処理装置の様々な装置は、他の装置とは独立にバス転送を初期設定することができるため、次の２つの理由でアービタが必要とされる。即ち、第１に、それは、バス転送をシーケンス化し、第２に、それは、処理装置のそれぞれにバス帯域幅制限を割り当てる。
【００１４】
図２は、本発明の実施形態による、図１の構成の強化されたバージョンを示す。図示するとおり、バス・インタフェース機構ＩＢ１、ＯＢ１はそれぞれ、それぞれのバス帯域幅制御装置ＣＴＲＬＩ、ＣＴＲＬＯによって強化される。以上を使用して、バス帯域幅消費が制御されることが可能である一方で、このケースでは、メディア処理装置ＰＵ１のデータ処理速度が効果的に減速される。２つの制御装置ＣＴＲＬＩ、ＣＴＲＬＯは、互いに接続されても、されなくても良く、及び／又は、統合されて単一の制御装置になっても、ならなくても良い。実際、単一のメディア処理装置が、複数のバス・インタフェースを有することが可能である。バッファリングそのものは、ＦＩＦＯ手続きに従うことが可能である。それでも、中央アービタは、バス転送をシーケンス化するのに必要であるが、帯域幅制限に関する要件は、緩和されることが可能である。というのは、バス帯域幅制御装置が、帯域幅使用を制限するからである。
【００１５】
図３は、バス・インタフェース機構ＯＢ１を介してバスＢＵＳに結合された処理装置ＰＵ１を示し、より詳細には、帯域幅制御装置ＣＴＲＬの実施形態を示す。帯域幅制御装置は、バス・インタフェース機構ＯＢを介してバスに転送されるデータの平均量Ｓｔａを計算する平均計算装置ＡＶを含む。この目的で、平均計算装置は、バス・インタフェース機構ＯＢ１を介して行われているデータ転送の量を示す信号Ｓｔを受信する。この実施例では、出力バッファの制御が示されているが、これは、入力バッファ、又は結合されたＩ／Ｏバッファにも同様に適用可能である。帯域幅制御装置ＣＴＲＬは、許された平均データ速度Ｓｔｌに関する指示を格納するためのレジスタＬＩＭを更に含む。比較器ＣＭＰが、それらの信号を比較し、制御信号ＣＴを使用してゲートＧを制御する。通常、ゲートＧは、バス・インタフェースＯＢ１からのバス要求ＢＲＩを信号ＢＲＯとしてアービタに伝送し、アービタは、バスが利用可能である場合、肯定応答信号ＡＣＫで応答する。しかし、バス・インタフェース機構ＯＢ１を介してバスに転送されるデータの平均量Ｓｔａが、許された平均データ速度Ｓｔｌを超えた場合、制御信号ＣＴにより、ゲートＧが、バス要求信号ＢＲＩをブロックするようにさせられる。その場合、要求ＢＲＯは、アービタによって全く受信されず、平均値Ｓｔａが、許された値Ｓｔｌより低い値に低下するまで、更なるデータ伝送が防止される。
【００１６】
他方、別のデバイス、例えば、高い優先順位を有するＣＰＵが、バスを占有していたために、バスＢＵＳが、しばらくの間、利用可能でなかったことが生じた場合、転送されたデータの平均量Ｓｔａは、許された値Ｓｔｌよりも相当に低い。その場合、処理機構ＰＵ１は、平均値Ｓｔａが、許された値Ｓｔｌに再び達するまで、データ転送を一時的に増加させる機会を有する。
【００１７】
帯域幅制御を行う様々な理由が存在する。第１に、帯域幅制御装置ＣＴＲＬは、メディア処理装置による帯域幅の消費を、実際に実行されている機能に適したレベルに適合させることができる。これは、帯域幅が、ステーション依存ではなく、機能依存であることを意味する。ここで、前述の関連特許出願が、プログラマブル・ハードウェア回路を提供することを介するストール・サイクルの用法を開示している。本発明は、プロセッサを失速させ、従って、プロセッサの帯域幅消費を減少させる代替のやり方を提供する。また、本発明は、本発明が、バス・インタフェース装置において１回だけ実施されれば良く、多くの異なるメディア処理装置に適用されても良いので、より一般的でもある。本発明に必要な制御ソフトウェアは、設計するのがより容易である。というのは、「転送帯域幅」の所有権が、即時に制御される一方で、当該メディア処理装置の特定の知識は、減速数値を計算するために全く要求されないからである。減速数値は、単に間接的に、帯域幅消費量に関係する。
【００１８】
平均データ転送速度を計算するために、いくつかの実施形態が可能であり、そのような実施形態の２つが、図４及び図５にそれぞれ示されている。
【００１９】
図４で、平均計算装置ＡＶは、カウンタＣＮＴと、タイマＴＩＭと、遅延線ＤＬと、重み付けＷ及び加算装置Σとを含む。カウンタＣＮＴは、バス・インタフェースＯＢ１によって送られる各データ転送をカウントする。タイマＴＩＭは、遅延線ＤＬに入るカウントされた値を記録して、カウンタを定期的にリセットする。重み付けＷ及び加算装置Σは、移動平均Ｓｔａを計算する。
【００２０】
図５は、平均計算装置ＡＶのより単純な実施を示す。ここで、カウンタの出力に、重み係数Ｗで重みが付けられる。また、レジスタＲＥＧの中に格納された平均値Ｓｔａにも、係数（１−Ｗ）で重みが付けられる。これらの重み付けされた値は、合計されて、タイマＴＩＭによってレジスタＲＥＧの中に定期的に記録される。重み係数Ｗは、０から１までの間の値であり、所望される積分期間の長さに依存する。
【００２１】
図４及び図５に示した実施では、帯域幅制御装置は、データ転送の移動平均Ｓｔａを計算し、移動平均が、許された平均データ速度Ｓｔｌを超える場合、更なるデータ転送をブロックする。
【００２２】
図６に示す別の実施形態では、帯域幅制御装置は、データ転送の積分を定期的に開始して、積分された値が、許された平均データ速度から計算された閾値を超える場合、データ転送をブロックする。この目的で、図６に示した実施形態は、許されたデータ量ＮＳｔを計算するための第１のカウンタＣＮＴ１と、特定の時間間隔内に実際に転送されたデータ量ＮＲｔを計算するための第２のカウンタＣＮＴ２と、それらの値を比較するため、及び実際に転送されたデータ量ＮＲｔが、許された値を超えた場合、データ転送を一時的にブロックするための制御信号ＣＴを供給するための比較器ＣＭＰとを含む。第１のカウンタは、或る量のデータＮＳが、転送されることが許される期間ＴＳの長さ、及び経過した時間ｔ内に実際に転送されたデータの量ＮＲｔに依存して、ステップサイズを決めるステップサイズ・コントローラＳＴＰを有する。両方のタイマは、各時間フレームＴＦの後、リセットされる。
【００２３】
図６に示す帯域幅制御装置の動作は、図７を参照してより詳細に説明される。
【００２４】
ステップＳ１で、両方のカウンタＣＮＴ１、ＣＮＴ２が、０に初期設定される。
【００２５】
ステップＳ２、Ｓ２Ａ、Ｓ２Ｂで、ステップサイズ・コントローラが、ｔの値に依存して、以下のとおり、ステップサイズΔＮＳｔを計算する。即ち、
ｔ≦ＴＳである場合、ステップサイズの値は、以下のとおり計算される。即ち、
【数１】
2007519058.tif 000003
そうではなく、ｔ＞ＴＳである場合、ステップサイズは、０に設定される。即ち、ΔＮＳｔ＝０。
【００２６】
ステップＳ３で、カウンタＣＮＴ１、ＣＮＴ２がインクリメントされる。
【００２７】
第１のカウンタＣＮＴ１は、ステップサイズΔＮＳｔでインクリメントされる。
【００２８】
第２のカウンタＣＮＴ２は、前回のインクリメント後に転送されたバイト数を示すΔＮＲでインクリメントされる。
【００２９】
ステップＳ４で、実際に転送されたバイトのカウントされた数ＮＲが、許されるバイト数ＮＳを超えるかどうか比較が行われる。
【００３０】
超える場合、ブロック信号ＣＴが、ステップＳ５で生成されて、帯域幅制御装置によって制御されるバス・インタフェースを介する更なるデータ転送が防止される。
【００３１】
次いで、ステップＳ６で、経過した時間ｔが、時間フレームの時間ＴＦより短いかどうかが調べられる。時間フレームＴＦの時間は、転送されたデータ量ＮＳがスケジュールされた期間ＴＳに等しいことがあるが、代替として、スラック時間Ｔｓｌ＝ＴＦ−ＴＳが存在することもある。このようにして、要求されるデータ量ＮＳが、期間ＴＳの終りまでに転送されることが可能でなかった可能性が考慮に入れられ、時間フレームＴＦが終わる前に、スラック時間Ｔｓｌが、その量を実現することを可能にする。
【００３２】
本発明の両方の実施形態は、デバイスの平均バス負荷を分散された形で制御するが、図６の実施形態は、バス負荷のよりバランスのとれた分散という更なる利点を有する。これが、図８に示されている。図８に示されるように、帯域幅制御装置は、スケジュールされたＳＣ１を有しており、データ量ＮＳは、期間ＴＳ内に通常のデータストリームとして転送される。しかし、ｔ１で、例えば、ＣＰＵ、又はＤＭＡのような高い優先順位のデバイスによって生じさせられる、相当な遅延が生じる。これにより、実際に転送される量が、スケジュールされた量より大幅に少ないことが生じる。時刻ｔで、帯域幅制御装置が、新たなスケジュールＳＣ２を計算し、ＳＣ２は、処理装置が、間隔ｔｌ−ｔ中に生じさせられたバックログを残りの時間ＴＳ−ｔ中に挽回することを可能にする。このようにして、バスに接続されたすべての処理装置が、大量のバス負荷が生じた直後に同時に、処理装置のバックロックを挽回しようと試みることが防止される。代わりに、帯域幅制御装置は、挽回するために必要とされるデータ転送が、時間的に分散されることを実現する。
【００３３】
異なる帯域幅制御装置は、パラメータＴＳ、ＴＦ、ＮＳの異なる設定、及び、新たなスケジュールが計算される頻度に関する異なる設定を有しても良い。
【００３４】
図９は、時間フレームＴＦが、スラック時間Ｔｓｌを含む実施例を示す。時刻ｔ３に、スケジュールされた量ＳＣ３と比べると、実際に転送されたデータ量ＴＲにバックログが生じる。スケジュールされた期間ＴＳ中にこのバックログを挽回する機会は全く存在しないが、帯域幅制御装置は、スラック時間Ｔｓｌ中に挽回する機会を提供する。図示する実施例では、これは、時刻ｔ４後に生じる。
【００３５】
本発明が、ＣＰＵに適用される場合、或る特別な配慮が適用される。当該ＣＰＵは、通常、時間多重編成で多くのタスクを実行する。一部のタスクは、他のタスクより比較的多くの帯域幅を要する。これにより、より高い要件のタスクが実行される時点にピークを有する、周期的に変化する帯域幅消費要件パターンが通常、生じさせられる。最新技術のシステムは、ＣＰＵそのものに、最も高い優先順位を割り当て、メモリに最小限の待ち時間を生じさせて、高級なストール・サイクルを回避する。この先行技術のアプローチは、システムの挙動を予測するのを困難にする。というのは、帯域幅は、ＣＰＵ上で実際に実行されているプログラムによって完全に決まるからである。
【００３６】
ここで、本発明が、特別な措置なしに使用された場合、ＣＰＵは、単に減速させられるだけであり、これにより、ピーク帯域幅消費を要するプログラム中に、追加のストール・サイクルが生じさせられる。多くの場合、これは、必要ではない。従って、帯域幅制御装置が、使用されるＣＰＵに追加されて、以下のとおり使用されることが可能である。
【００３７】
ａ．全般的に、物理的バス容量を超えないという条件付きで、平均帯域幅消費量を超える場合であっても、帯域幅ピークを許し、
ｂ．平均帯域幅消費量が、設定値を超える傾向にある場合だけ、ＣＰＵによって使用される帯域幅を制限するように積極的に変更する。
【００３８】
ここで、ＣＰＵと、１つ又は複数の他のメディア処理装置を含むシステムを考慮した場合、これは、ＣＰＵが、過大な量の帯域幅を一時的に消費することを許す。次いで、その期間中、後で、ＣＰＵは、大幅に少ない帯域幅を使用し、すべての他の装置が、挽回することができる。合計の平均帯域幅が、利用可能なバス転送容量の範囲内に留まる限り、システム全体は、中央制御なしに、個々の装置の動的なバス負荷に自らを適合させる。このため、システムは、単一の制御点を回避しながら、高いバス利用率と、リアルタイム動作を保証することと組み合わせる。
【００３９】
以上、本発明を、本発明の好ましい諸実施形態に関連して以上に開示してきた。添付の特許請求の範囲を超えることなしに、多数の改変及び変更を諸実施形態に行うことができることが、当業者には認識されよう。従って、諸実施形態は、例示的であると見なされるべきであり、特許請求の範囲に記載された限定以外の限定は全く、それらの実施形態から解釈されてはならない。
【００４０】
また、本発明の保護の範囲も、特許請求の範囲における符号によって限定されない。「含む」という語は、請求項で述べる部分以外の部分を除外しない。要素の前に付く「或る」という語は、複数のそれらの要素を除外しない。本発明の一部を形成する手段は、専用ハードウェアの形態で実施されても、プログラミングされた汎用プロセッサの形態で実施されても良い。本発明は、それぞれの新たな特徴に存するか、又は諸特徴の組み合わせに存する。
【図面の簡単な説明】
【００４１】
【図１】先行技術のバス指向システムを示す。
【図２】本発明によるバス指向システムの強化されたバージョンを示す。
【図３】図２で示したシステムの第１の実施形態における帯域幅コントローラをより詳細に示す。
【図４】図３に示した帯域幅コントローラの態様をより詳細に示す。
【図５】図３に示した帯域幅コントローラの他の実施の態様をより詳細に示す。
【図６】図３に示した帯域幅コントローラの別の他の実施の態様をより詳細に示す。
【図７】本発明による方法を概略で示す。
【図８】第１のタイミング図を示す。
【図９】第２のタイミング図を示す。
【符号の説明】
【００４２】
ＡＲＢ  バス・アービタ
ＢＵＳ  バス
ＩＢ１、ＯＢ１  バス・インタフェース機構
ＭＥＭ  メモリ
ＰＵ１、ＰＵ２、ＰＵ３  メディア処理装置
ＣＴＲＬＩ、ＣＴＲＬＯ  帯域幅制御装置
【図１】
2007519058.tif 000004
【図２】
2007519058.tif 000005
【図３】
2007519058.tif 000006
【図４】
2007519058.tif 000007
【図５】
2007519058.tif 000008
【図６】
2007519058.tif 000009
【図７】
2007519058.tif 000010
【図８】
2007519058.tif 000011
【図９】
2007519058.tif 000012
【国際調査報告】
2007519058.tif 000013
2007519058.tif 000014
2007519058.tif 000015