バスに結合されたデバイスから前記バス上のストリームトランザクションを受信し、前記バス上の前記ストリームトランザクションをアービトレーションするように構成されたコントローラを含むバスアービタであって、前記コントローラが、前記ストリームトランザクションに関連する情報に基づいて、前記バス上の前記ストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーを評価するように構成される、バスアービタ。前記コントローラが、前記評価に基づいてバスアービトレーションポリシーを適用するようにさらに構成される、請求項1に記載のバスアービタ。前記コントローラが、前記評価に基づいてデフォルトのバスアービトレーションポリシーを適用するようにさらに構成される、請求項1に記載のバスアービタ。前記ストリームトランザクションに関連する前記情報が、マスター識別子、ストリーム識別子、前記ストリームトランザクションに関連付けられた優先順位、および前記ストリームトランザクションに関連付けられた最終期限からなる群から選択された情報である、請求項1に記載のバスアービタ。前記バスアービトレーションポリシーがストリームトランザクションをアービトレーションするための優先順位方式から構成される、請求項1に記載のバスアービタ。前記優先順位方式が、前記ストリームトランザクションのランキングおよび前記ストリームトランザクションの重み付けからなる群から選択される、請求項5に記載のバスアービタ。前記コントローラが、前記ストリームトランザクションに関連する前記情報に基づいて、前記ストリームトランザクションの保留中、前記ストリームトランザクションのために前記バスアービトレーションポリシーを連続的に評価するように構成される、請求項1に記載のバスアービタ。前記コントローラが、前記ストリームトランザクションに関連付けられた最終期限に基づいて前記バスアービトレーションポリシーを評価するように構成される、請求項1に記載のバスアービタ。前記ストリームトランザクションに関連付けられた前記最終期限が、前記ストリームトランザクションに関連付けられた直接メモリアクセス記述子中に埋め込まれた、請求項8に記載のバスアービタ。前記コントローラが、前記ストリームトランザクションに関連付けられた前記最終期限内に定期的に、前記バスアービトレーションポリシーを評価するように構成される、請求項8に記載のバスアービタ。前記コントローラが、前記ストリームトランザクションのために転送されたデータ量が前記ストリームトランザクションに関連付けられた前記最終期限に先行している場合、前記ストリームトランザクションの優先順位を下げるように構成される、請求項8に記載のバスアービタ。前記コントローラが、前記ストリームトランザクションのために転送されたデータ量が前記ストリームトランザクションに関連付けられた前記最終期限よりも遅れている場合、前記ストリームトランザクションの優先順位を上げるように構成される、請求項8に記載のバスアービタ。前記コントローラが、前記ストリームトランザクションに関連付けられた前記最終期限を満たすことができない場合、前記ストリームトランザクションを終了するように構成される、請求項8に記載のバスアービタ。前記コントローラが、最終期限を有する複数のストリームトランザクションに基づいて前記バスアービトレーションポリシーを評価するように構成される、請求項1に記載のバスアービタ。前記コントローラが、前記複数のストリームトランザクションのために前記バスアービトレーションポリシーを評価するために前記複数のストリームトランザクションの各々についての実現可能性係数を決定するようにさらに構成される、請求項14に記載のバスアービタ。前記コントローラが、前記複数のストリームトランザクションの各々について決定される前記実現可能性係数に基づいて、前記複数のストリームトランザクションの優先順位を調整するようにさらに構成される、請求項14に記載のバスアービタ。半導体ダイに統合される、請求項1に記載のバスアービタ。前記バスアービタが一体化されるセットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末、モニタ、コンピュータのモニタ、テレビ、チューナ、ラジオ、サテライトラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスクプレーヤ、およびポータブルデジタルビデオプレーヤからなる群から選択されたデバイスをさらに備える、請求項1に記載のバスアービタ。バス上で通信されるストリームトランザクションをアービトレーションする方法であって、前記バスに結合されたデバイスからバス上のストリームトランザクションを受信するステップと、前記バス上のストリームトランザクションをアービトレーションするように構成されたコントローラで、前記ストリームトランザクションに関連する情報に基づいて、前記バス上の前記ストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーを評価するステップとを含む方法。前記コントローラが前記評価に基づいてバスアービトレーションポリシーを適用するステップをさらに含む、請求項19に記載の方法。前記コントローラが前記評価に基づいてデフォルトのバスアービトレーションポリシーを適用するステップをさらに含む、請求項19に記載の方法。前記バスアービトレーションポリシーを評価するステップが、前記ストリームトランザクションについての優先順位に基づく、請求項19に記載の方法。前記ストリームトランザクションに関連する前記情報に基づいて、前記ストリームトランザクションの保留中、前記ストリームトランザクションのために前記バスアービトレーションポリシーを連続的に評価するステップをさらに含む請求項19に記載の方法。前記バスアービトレーションポリシーを評価するステップが、前記ストリームトランザクションに関連付けられた最終期限に基づく、請求項19に記載の方法。前記ストリームトランザクションに関連付けられた前記最終期限が、前記ストリームトランザクションに関連付けられた直接メモリアクセス記述子中に埋め込まれた、請求項24に記載の方法。前記ストリームトランザクションに関連付けられた前記最終期限内に定期的に、前記バスアービトレーションポリシーを評価するステップをさらに含む、請求項24に記載の方法。前記ストリームトランザクションのために転送されたデータ量が前記ストリームトランザクションに関連付けられた前記最終期限に先行している場合、前記ストリームトランザクションの優先順位を下げるステップをさらに含む、請求項24に記載の方法。前記ストリームトランザクションのために転送されたデータ量が前記ストリームトランザクションに関連付けられた前記最終期限よりも遅れている場合、前記ストリームトランザクションの優先順位を上げるステップをさらに含む、請求項24に記載の方法。前記バスアービトレーションポリシーを評価するステップが、最終期限を有する複数のストリームトランザクションに基づく、請求項24に記載の方法。前記複数のストリームトランザクションのために前記バスアービトレーションポリシーを評価するために前記複数のストリームトランザクションの各々についての実現可能性係数を決定するステップをさらに含む請求項29に記載の方法。前記複数のストリームトランザクションの各々について決定される前記実現可能性係数に基づいて、前記複数のストリームトランザクションの優先順位を調整するステップをさらに含む請求項30に記載の方法。バスアービタに、バスに結合されたデバイスから前記バス上のストリームトランザクションを受信させ、前記バス上の前記ストリームトランザクションをアービトレーションさせ、前記ストリームトランザクションに関連する情報に基づいて、前記バス上の前記ストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーを評価させるためのコンピュータ実行可能命令を記録するコンピュータ可読記録媒体。前記コンピュータ実行可能命令が、さらに、前記アービタに、前記評価に基づいてバスアービトレーションポリシーを適用させる、請求項32に記載のコンピュータ可読記録媒体。前記コンピュータ実行可能命令が、さらに、前記アービタに、前記評価に基づいてデフォルトのバスアービトレーションポリシーを適用させる、請求項32に記載のコンピュータ可読記録媒体。前記バスアービトレーションポリシーがストリームトランザクションをアービトレーションするための優先順位方式から構成される、請求項32に記載のコンピュータ可読記録媒体。前記コンピュータ実行可能命令が、さらに、前記アービタに、前記ストリームトランザクションに関連する前記情報に基づいて、前記ストリームトランザクションの保留中、前記ストリームトランザクションのために前記バスアービトレーションポリシーを連続的に評価させる、請求項32に記載のコンピュータ可読記録媒体。前記コンピュータ実行可能命令が、前記アービタに、前記ストリームトランザクションに関連付けられた最終期限に基づいて前記バスアービトレーションポリシーを評価させる、請求項32に記載のコンピュータ可読記録媒体。前記コンピュータ実行可能命令が、前記アービタに、最終期限を有する複数のストリームトランザクションに基づいて前記バスアービトレーションポリシーを評価させる、請求項32に記載のコンピュータ可読記録媒体。通信バスに結合されたスレーブデバイスにマスターデバイスからのバストランザクションを向けるまたはアービトレーションするために、アービタを通信バスに設けることができる。バスのアービトレーションは、たとえば、バストランザクションの衝突を防止することができる。たとえば、通信バスに結合された、コンピュータ処理ユニット、デジタル信号プロセッサ、および直接メモリアクセスコントローラを含むシステムはすべて、同じく通信バスに結合された共有メモリシステムにアクセスすることができる。アービタは、マスターデバイスからの競合する要求の間にバスリソースが割り振られるように、これらのデバイスから共有メモリシステムへのメモリアクセス要求をアービトレーションする。しかしながら、アービタは、他のマスターデバイスによる他の要求のレイテンシの許容できない増加を引き起こす、通信バス上の1つのマスターデバイスからの要求を処理するルーティングリソースを消費することのないように構成されることが望まれる。発明を実施するための形態で開示する実施形態は、ストリームトランザクションに関連する情報に基づいてストリームトランザクションをアービトレーションするためのデバイス、システム、方法、およびコンピュータ可読媒体を含む。ストリームトランザクションは、効率的なデータのバルク転送を円滑にするためのバーストアクセスタイプのスーパーセットである。ストリームトランザクションに関連する情報は、本明細書では、ストリームトランザクション情報とも呼ぶ。本明細書で開示する実施形態では、バスを介してアクセス可能なリソースについて競合する、バス相互接続でもよいバスに結合された複数のデバイスの間のバストランザクションをアービトレーションするアービタが提供される。バス上の要求されたストリームトランザクションを効率的にアービトレーションするために、アービタは、ストリームトランザクションに関連する情報を使用して、バス上の将来のバストラフィックのビューを提供するように構成される。たとえば、ストリームトランザクションは、完了のための時間的およびまたは他の優先順位パラメータを有することができる。アービタは、このストリームトランザクション情報を使用して、ストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーを評価し、およびまたは適用するように構成される。この例では、必要に応じて、アービタがストリームトランザクションを完了するためのパラメータを満たすことを試みるために、ストリームトランザクション情報に基づいて、バスアービトレーションポリシーを、ストリームトランザクションのために調整するまたは変更することができる。この点について、一実施形態では、バスアービタが提供される。バスアービタは、バスに結合されたデバイスからバス上のストリームトランザクションを受信するように構成されたコントローラを含む。アービタは、バス上のストリームトランザクションをアービトレーションする。ストリームトランザクションを要求するデバイスのパラメータに基づいて、ストリームトランザクションをアービトレーションすることを試みるために、アービタのコントローラは、ストリームトランザクションに関連する情報に基づいて、バス上のストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーを評価するように構成される。コントローラは、評価に基づいてバスアービトレーションポリシーを適用するように、さらに構成することもできる。別の実施形態では、バス上で通信されるストリームトランザクションをアービトレーションする方法が提供される。方法は、バスに結合されたデバイスからバス上のストリームトランザクションを受信するステップを含む。方法は、バス上のストリームトランザクションをアービトレーションするように構成されたコントローラで、ストリームトランザクションに関連する情報に基づいて、バス上のストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーを評価するステップを含む。また、方法は、コントローラが評価に基づいてバスアービトレーションポリシーを適用するステップをさらに含み得る。別の実施形態では、バスに結合されたデバイスからバス上のストリームトランザクションをアービタに受信させるコンピュータ実行可能命令を記憶したコンピュータ可読媒体が提供される。また、コンピュータ実行可能命令は、バス上のストリームトランザクションのためのバストラフィックをアービタにアービトレーションさせる。また、コンピュータ実行可能命令は、ストリームトランザクションに関連する情報に基づいて、バス上のストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーをアービタに評価させる。また、コンピュータ実行可能命令は、評価に基づいてバスアービトレーションポリシーをアービタに適用させることもできる。ここで図面を参照して、本開示のいくつかの例示的な実施形態が説明される。例示的なという言葉は、一例、実例または例としてを意味するために本明細書で使用される。例示的として本明細書で説明する任意の実施形態は、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されない。発明を実施するための形態で開示する実施形態は、ストリームトランザクションに関連する情報に基づいてストリームトランザクションをアービトレーションするためのデバイス、システム、方法、およびコンピュータ可読媒体を含む。ストリームトランザクションは、効率的なデータのバルク転送を円滑にするためのバーストアクセスタイプのスーパーセットである。ストリームトランザクションに関連する情報は、本明細書では、ストリームトランザクション情報とも呼ぶ。本明細書で開示する実施形態では、バスを介してアクセス可能なリソースについて競合する複数のデバイスの間のバストランザクションをアービトレーションするアービタが提供される。バス上の要求されたストリームトランザクションを効率的にアービトレーションするために、アービタは、ストリームトランザクションに関連する情報を使用して、バス上の将来のバストラフィックのビューを提供するように構成される。たとえば、ストリームトランザクションは、完了のための時間的およびまたは他の優先順位パラメータを有することができる。アービタは、このストリームトランザクション情報を使用して、ストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーを評価し、およびまたは適用するように構成される。この例では、必要に応じて、アービタがストリームトランザクションを完了するためのパラメータを満たすことを試みるために、ストリームトランザクション情報に基づいて、バスアービトレーションポリシーを、ストリームトランザクションのために調整するまたは変更することができる。図3で始まる、ストリームトランザクションに関連する情報に基づいて、ストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーを評価し、適用する例について説明する前に、まず、図1および図2が示されており、それらについて説明する。図1は、バス相互接続上で、ストリームトランザクションを含むバストランザクションを受信し、アービトレーションするように構成されたアービタ12を含む例示的なシステム10を示す。この例では、バストランザクションをアービトレーションするアービタ12に、コントローラ13が設けられている。バスアービトレーションポリシーを評価し、適用し、バストランザクションをアービトレーションするためにコントローラ13によって実行される命令を記憶するために、たとえばメモリなどのコンピュータ可読媒体15がアービタ12に含まれていてもよい。システム10は、本明細書ではバス相互接続18とも呼ばれる通信バス18を介して1つまたは複数のスレーブデバイス16に相互接続された複数のマスターデバイス14を含む。例として、バス相互接続18は、フィールドプログラマブルゲートアレイ、非同期式シンクロナス集積回路、コントローラ、ソフトウェア命令を実行することができるマイクロコントローラもしくはマイクロプロセッサ、またはその任意の組合せによって提供され得る。アービタ12は、図1に、バス相互接続18の内部に設けられているものとして示されている。代わりに、アービタ12は、バス相互接続18の外部に設けられていてもよい。バス相互接続18は、バス相互接続18に接続されたマスターデバイス14のうちの1つまたは複数が、バス相互接続18に結合されたスレーブデバイス16のうちの一部または全部と通信できるように構成可能であり得る。本実施形態では、バス相互接続18は、バス相互接続18に接続されたマスターデバイス14のうちの1つまたは複数が、バス相互接続18に結合されたスレーブデバイス16のうちの任意のものと通信できるように構成される。しかしながら、バス相互接続18は、バス相互接続18に接続されたマスターデバイス14のうちの1つまたは複数が、バス相互接続18に結合されたスレーブデバイス16のうちの1つのみまたはサブセットと通信できるように構成することができる。一例として、バス相互接続18は、半導体ダイ24に設けることができ、必要な場合、システムオンチップ集積回路設計で提供することができる。マスターデバイス14およびスレーブデバイス16はそれぞれ、この例ではバス相互接続18に設けられているマスターポート20およびスレーブポート22を介してバス相互接続18に接続されている。アービタ12は、マスターデバイス14からスレーブデバイス16への複数のバストランザクション要求をアービトレーションすることができる。スレーブデバイス16は、マスターデバイス14との共有リソースでもよい。マスターデバイス14およびスレーブデバイス16は、所望の任意のタイプの電子デバイスまたはサブシステムとすることができる。図1に示すように、マスターデバイス14は、限定はしないが、中央処理装置14、デジタル信号プロセッサ14、ディスプレイ26に提供される情報を制御するディスプレイプロセッサ14、および直接メモリアクセスコントローラ14を含む、任意のタイプの電子デバイスとすることができる。DMAコントローラ14は、マスターデバイス14とスレーブデバイス16の両方として働くことができる。スレーブデバイス16の別の例は、メモリシステム28であり、これも図1に示されている。メモリシステム28は、マスターデバイス14のうちの任意のものが、読取りおよび書込みメモリアクセス要求をメモリシステム28のメモリ30に提供し、読取りおよび書込み応答を受信することができるように、バス相互接続18に接続されている。この点について、メモリシステム28は、通信バス18をメモリ30にインターフェース接続し、メモリシステム28に宛てられたバス相互接続18を介してマスターデバイス14によって提供されるメモリアクセス要求に応答して、メモリ30との間のデータの流れを制御するメモリコントローラ32を含む。以下でより詳細に論じるように、制御ブロックの形態で提供されるメモリアクセス情報は、メモリ30にメモリアクセストランザクションを要求するために、メモリコントローラ32に提供される。メモリバス34は、メモリユニット36ごとに1つ設けられる、チップセレクトCSを含むメモリコントローラ32にメモリ30をインターフェース接続するために提供される。各メモリユニット36は、別々のメモリチップでもよい。チップセレクトCSは、アクセスされる所望のメモリ位置を含むメモリユニット36を有効にするために、メモリコントローラ32によって選択的に有効にされる。メモリコントローラ32は、データの衝突を回避するために、一度にメモリユニット36のうちの1つを有効にする。図1のマスターデバイス14は、バス相互接続18に接続されたスレーブデバイス16によってサービスされる単一のビートまたはバーストトランザクションをバス相互接続18に提供することができる。図1のマスターデバイス14は、スレーブデバイス16によってサービスされるストリームトランザクションをバス相互接続18に提供することもできる。ストリームトランザクションは、大量のデータを効率的に移動させるために使用することができる。ストリームトランザクションは、単一のトランザクション要求の一部として転送される大量のデータを提供するために、バーストのスーパーセットからなり得る。ストリームトランザクションの一例が、図2に示される。図2におけるこの例では、256のデータのバーストがあり、各バーストは、4つのデータビートから構成される。スレーブデバイス16は、スレーブデバイス16に対してマスターデバイス14によって以前要求されたストリームトランザクションに応答して、バス相互接続18上のバーストデータトランザクション40のスーパーセットから構成されるデータのストリーム38を提供する。たとえば、マスターデバイス14は、この例では、大量のデータをメモリシステム28から受信し、DMAコントローラ14に結合された他のデバイスに転送するように構成された図1のDMAコントローラ14でもよい。ストリームトランザクションは、バーストおよびデータビートトランザクションよりも長い期間にわたって、バス相互接続18を介して大量のデータを移動させることができるので、ストリームトランザクションをルーティングすることは、他のバストランザクションへのサービスの遅延をもたらし得る。したがって、他のバストランザクションが要求側マスターデバイス14によって望まれるレイテンシパラメータを過度に侵害することなく、バス相互接続18上のストリームトランザクションを効率的にアービトレーションするために、本明細書で提供する実施形態によって、アービタ12は、ストリームトランザクションに関連する情報に基づいて、バス相互接続18上のストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーを評価することができる。ストリームトランザクションに関連する情報は、バス相互接続18上のバストラフィックの将来のビューをアービタ12に提供する。たとえば、ストリームトランザクションは、要求側マスターデバイス14によって提供される完了のための時間的およびまたは他の優先順位のパラメータを有することができる。アービタ12は、このストリームトランザクション情報を使用して、ストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーを評価するように構成される。また、アービタ12は、評価に基づいてバスアービトレーションポリシーを適用するように構成され得る。たとえば、必要に応じて、アービタがストリームトランザクションを完了するためのパラメータを満たすことを試みるために、ストリームトランザクション情報に基づいて、バスアービトレーションポリシーを、ストリームトランザクションのために調整するまたは変更することができる。この点について、図3は、ストリームトランザクションに関連する情報に基づいてバスアービトレーションポリシーを評価し、適用するために、図1のアービタ12によって実行することができる例示的なプロセスを示すフローチャートである。そこに示されているように、アービタ12のコントローラ13は、マスターデバイス14によって要求されたバス相互接続18上のストリームトランザクションを受信する。ストリームトランザクションの要求は、ストリームトランザクション情報を含む。コントローラ13は、バス相互接続18上のストリームトランザクションをアービトレーションするための最初のまたはデフォルトのバスアービトレーションポリシーを適用することができる。コントローラ13は、次の保留中のストリームトランザクションを処理する。たとえば、複数のストリームトランザクションは、バス相互接続18に結合されたスレーブデバイス16によって完了されるように保留中でもよい。次いで、コントローラ13は、最初にストリームトランザクションを要求したマスターデバイス14から受信されたストリームトランザクション情報に基づいて、保留中のストリームトランザクションのためにバスアービトレーションポリシーを評価し、およびまたは適用する。異なるバスアービトレーションポリシーを使用することができる。プロセスは繰り返し、それによって、アービタ12は、新しいストリームトランザクションを受信し、連続的にもしくは定期的に、動的に、およびまたはストリームトランザクションごとに、保留中のストリームトランザクションを処理することができる。図9~図11でアービタ12によって適用される例示的なバスアービトレーションポリシーに関して以下でより詳細に論じるように、バスアービトレーションポリシーは、1つまたは複数のストリームトランザクションが保留中であるかどうか、および所与のスレーブデバイス16についての1つまたは複数のストリームトランザクションが完了の最終期限を有しているかどうかに基づき得る。ストリームトランザクション情報に基づいてバスアービトレーションポリシーを評価し、適用するさらなる例について説明する前に、図4~図8が示されており、それらについて以下で説明する。図4~図8は、ストリームトランザクション情報を含めて、バストランザクション要求および関連情報を受信し、マスターデバイス14からのバストランザクションをアービトレーションし、スレーブデバイス16にルーティングする実施形態に関して、追加の例示的な詳細を提供する。図4は、図1のバス相互接続18におけるアービタ12およびルーティングリソースのより詳細な例を示す。アービタ12は、バス相互接続18に結合されたマスターデバイス14とスレーブデバイス16との間の、ストリームトランザクションを含むバストランザクションをアービトレーションする。図4に示すように、通信は、マスターポート20に結合されたマスターポートバス50を介して、マスターデバイス14とバス相互接続18との間でサポートされる。同様に、通信は、スレーブポート22に結合されたスレーブポートバス52を介して、スレーブデバイス16とバス相互接続18との間でサポートされる。バス相互接続18は、所望のマスターデバイス14と所望のスレーブデバイス16との間に通信経路を確立するように構成可能である、例としてゲート、ラッチ、およびレジスタなどのクロック制御された回路を含む。たとえば、図4に示すように、マスターデバイス14のうちの1つとスレーブデバイス16のうちの1つとの間に通信経路を提供するように構成可能である、バス相互接続18に設けられる例示的な構成要素が示される。引き続き図4を参照すると、マスターポート20は各々、マスターデバイス14からバストランザクションを受信するためにマスターポートバス50に接続されたマスターポートインターフェース53を含む。マスターポートキュー54とスレーブポートキュー56との間のバストランザクションをアービトレーションするためにアービタ12に提供されるバストランザクションまたはコマンドを記憶するために、マスターポートキュー54が設けられている。アービタ12は、スレーブデバイス16へのバストランザクションをアービトレーションするためにスレーブポート22に関連付けられた別々のアドレス指定アービタ58、およびスレーブポート22から来るデータの読取りおよび書込み完了応答をアービトレーションするためにマスターポート20に関連付けられたデータアービタ60を含み得る。スレーブポートキュー56は、スレーブポートバス52に接続されたスレーブポートインターフェース61にバストランザクションを提供する。図4は、マスターデバイス14のうちの1つに結合されたマスターポート20のうちの1つと、スレーブデバイス16のうちの1つに結合されたスレーブポート22のうちの1つとの間の通信経路を示すが、バス相互接続18に設けられたアービタ58、60は、マスターポート20とスレーブポート22との間のバス相互接続18によって可能になる通信経路をアービトレーションするように構成することができることに留意されたい。引き続き図4を参照すると、スレーブポート22ごとにカウンタ62を設けることもできる。カウンタ62は、それぞれ、スレーブポートインターフェース61によって完了するトランザクションをカウントする。カウンタ62は、カウント情報64をアービタ12に提供することができ、その結果、アービタ12は、ストリームトランザクションを含む、複数のビートトランザクションの完了の経過を監視することができる。たとえば、アービタ12は、カウント情報64を使用して、ストリームトランザクションの完了が、スケジュールに先行しているか、スケジュール通りか、または最終期限よりも遅れているかを評価し、それに応じて、ストリームトランザクションのためにバスアービトレーションポリシーを適用することができる。ストリームトランザクションのためにバスアービトレーションポリシーを評価し、適用することに関してストリームトランザクションの経過を監視する例について、図9~図11に関して以下でより詳細に説明する。これらの例について説明する前に、最初に、マスターデバイス14が、ストリームトランザクションを含むバストランザクションをアービトレーションするためにアービタ12によって使用することができるバストランザクション要求の一部として、バストランザクション情報をバス相互接続18に提供する例について、以下、図5~図8を参照して説明する。バストランザクション情報によって、アービタ12は、バストランザクションのためにバスアービトレーションポリシーを決定し、適切なスレーブデバイス16にバストランザクションを向けることができる。ストリームトランザクションでは、バストランザクション情報は、ストリームトランザクションに関連する情報に基づいてバスアービトレーションポリシーを評価するためにアービタ12に提供されるストリームトランザクション情報を含む。この点について、図5は、バストランザクションを要求するマスターデバイス14が、ストリームトランザクション情報を含む、要求されたバストランザクションのための情報を提供できるようにするために、図1のバス相互接続18によってサポートされるバスプロトコルの例示的な制御ブロック70のブロック図である。図5に関して、制御ブロック70は、アービタ12がマスターデバイス14からのトランザクション要求を実行できるようにするための制御情報を含む。たとえば、制御ブロック70は、アービタ12に対するバストランザクション要求の要求側に関連付けられた識別子を含むマスター識別子72を含む。アービタ12は、マスター識別子72を使用して、どのマスターデバイス14がスレーブデバイス16から受信された応答を受信すべきかについて決定する。スレーブデバイス16がメモリであるかどうかなど、スレーブデバイス16においてアドレス指定されるアドレスは、アドレスフィールド74で提供される。バストランザクション要求がメモリアクセス要求である場合、メモリアクセス要求が読取りトランザクションであるか、書込みトランザクションであるかが、読取り書込みフィールド76で提供される。ストリーム識別子ブロック78は、バストランザクションについてのストリームトランザクション情報を提供するために設けられている。図6は、バス相互接続18に対してバストランザクション要求でマスターデバイス14によって提供することができる例示的なマスター識別子72のブロック図である。この例では、マスター識別子72は、10ビットワードである。上位の2ビットは、特定のメモリアクセス要求に関与する4つの別個のファブリックの識別を可能にするファブリック識別子80を含む。中間の4ビットは、マスターデバイス14を識別するマスターデバイス識別子82である。したがって、この例では、16の一意のマスターデバイス14が可能である。次の2ビットは、設けられている、または適用可能なマスターデバイス14に結合されたサブマスターデバイスを識別するサブマスターデバイス識別子84を含む。したがって、この例では、4つの一意のサブマスターデバイスが可能である。下位の2ビットは、マスターデバイス14およびまたはサブスターデバイスが所望の任意の属性情報を提供できるように使用することができる属性識別子86を含む。たとえば、マスターデバイス14およびまたはサブマスターデバイスがメモリアクセス要求を担当するソフトウェアプロセスまたはスレッドを識別できるようにするために、ソフトウェアプロセスまたはスレッドの識別を属性識別子86で提供することができる。所望の任意の他の情報を、属性識別子86に含めることができる。図7は、図5の制御ブロック70におけるストリーム識別子ブロック78として使用され得る例示的なストリーム識別子ブロックのブロック図である。ストリーム識別子ブロック78は、ストリームトランザクションに関連する情報に基づいてバス相互接続18上のストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーをアービタ12が評価できるようにするために、図1のアービタ12に提供されるストリームトランザクションに関連する例示的な情報を含む。マスターデバイス14は、バス相互接続18上のストリームトランザクションを要求するとき、ストリーム識別子ブロック78で情報を提供する。引き続き図7を参照すると、ストリーム識別子ブロック78は、ストリームトランザクションを識別するストリーム識別子フィールド88を含む。転送数フィールド90は、ストリームトランザクションに関連付けられたバースト転送の数を提供する。ビート数フィールド92は、バースト転送ごとに実行されるデータ転送のビートの数を提供する。バイト数フィールド94は、ビート転送ごとに実行されるデータのバイトの数を提供する。バイト数フィールド94は、バス相互接続18およびスレーブデバイス16のアーキテクチャに応じて、構成可能または固定値とすることができる。ストリームトランザクションに関連付けられた最終期限がある場合、最終期限情報を、最終期限フィールド96に記憶することができる。たとえば、マスターデバイス14は、クロックサイクル、ビート、または他の相対的または絶対的なタイミングによることができる、あるタイミング内に特定のストリームトランザクションを完了することを要求することができる。優先順位をストリームトランザクションに関連付けることができるように、優先順位フィールド98も設けられている。優先順位フィールド98は、設計に応じて、マスターデバイス14、アービタ12、またはスレーブデバイス16によって供給されるおよびまたは変更されるように構成することができる。ストリームトランザクションをアービトレーションするために、ストリームトランザクションのためにバスアービトレーションポリシーを評価し、適用するために、このストリーム情報のいずれかをアービタ12によって使用することができる。図1のアービタ12は、図5における制御ブロック70を含むバストランザクション要求をマスターデバイス14から受信する。前に説明したように、ストリームトランザクション要求を含む、バストランザクション要求に応答する、スレーブデバイス16からのバストランザクション応答は、スレーブポートキュー56に入れられる。アービタ12は、スレーブポートキュー56に記憶されたストリームトランザクションについてのストリームトランザクション情報に基づいて、ストリームトランザクション応答のためにバスアービトレーションポリシーを評価することができる。この点について、図8は、図7のストリーム識別子ブロック78に基づいて、ストリームトランザクションをアービトレーションするためにバスアービトレーションポリシーを評価し、適用することをサポートするために、アービタ12によってアクセスされるスレーブポートキュー56の図である。スレーブポートキュー56は、内部レジスタ、またはアービタ12によってアクセス可能な、バス相互接続18の内部もしくは外部の他のメモリに設けることができる。図8に示すように、スレーブポートキュー56は、バストランザクション要求応答の0からX番までを保持するように構成されたテーブルから構成される。スレーブポートキュー56に記憶されたバストランザクション応答にインデックス付けするために、キュー番号フィールド100が使用される。この例では、スレーブポートキュー56内の各バストランザクション応答は、バストランザクション応答を受信すべきマスターデバイス14を識別するためのマスター識別子フィールド72を含む。バストランザクション要求がデータを要求することを伴う場合、応答データをデータフィールド102に記憶することができる。また、バストランザクション要求がストリームトランザクションである場合、ストリームトランザクション情報を記憶するために、ストリーム識別子ブロック78がメモリアクセス要求エントリごとに設けられている。アービタ12が、バストランザクション応答のためにバスアービトレーションポリシーを評価し、適用するために使用すべきストリームトランザクションの経過を決定できるようにするために、残存転送数フィールド104も設けられている。最初に、残存転送数フィールド104は、図7のストリーム識別子ブロック78における転送数フィールド90内のストリームトランザクション要求のために提供される転送数フィールド90に基づいて、アービタ12によって設定される。図4に示したカウンタ62は、残存転送数フィールド104を低減するために、保留中のストリームトランザクションについて、スレーブデバイス16からの完了した転送の数をカウントする。競合するストリームトランザクション応答間をアービトレーションするためにアービタ12によって使用されるバスアービトレーションポリシーにおいてランクおよびまたは重みを使用できるようにするために、ランクフィールド106および重みフィールド108も設けられている。非限定的な例として、重みフィールド108を、重み付けされたラウンドロビンのバスアービトレーションポリシーにおいて使用することができる。別の非限定的な例として、ランクフィールド106を、固定された優先順位のバスアービトレーションポリシーにおいて採用することができる。他のバスアービトレーションポリシーを採用することができる。バス相互接続18に対してマスターデバイス14によって要求されるストリームトランザクションのためのパラメータのうちの1つは、最終期限内にストリームトランザクションを完了することであり得る。図7のストリーム識別子ブロック78に関して上記で説明したように、最終期限情報は、ストリームトランザクションが最終期限内に完了することを要求するために、最終期限フィールド96に含めることができる。この点について、図9は、関連する最終期限を有する保留中のストリームトランザクションのためにバスアービトレーションポリシーを評価するために、図1のアービタ12によって適用することができる例示的なプロセスを示すフローチャートである。プロセスは、スレーブポートキュー56に存在する保留中のストリームトランザクションに基づいて、定期的にまたは連続的にアービタ12によって実行され得る。たとえば、アービタ12は、スレーブポートキュー56における存在の順序に基づいて、各スレーブポートキュー56内の保留中のストリームトランザクションごとに、図9のプロセスを実行することができる。引き続き図9を参照すると、アービタ12は、次の保留中の最終期限付きストリームトランザクションのために実際に移動されるデータの量が、ストリームトランザクションの最終期限を満たすために移動されるデータ未満であるかどうかを決定する。アービタ12は、この例では、スレーブポートキュー56内の残存転送数フィールド104を調べる。次の保留中の最終期限付きストリームトランザクションのために実際に移動されるデータの量が、最終期限を満たすために移動されるデータ未満である場合、これは、保留中の最終期限付きストリームトランザクションがストリームトランザクションのためのデータ転送の予想されるレートに基づいてその最終期限より遅れていることを意味する。この点について、アービタ12は、保留中の最終期限付きストリームトランザクションの優先順位が上がった場合、保留中の最終期限付きストリームトランザクションの最終期限を満たすことができるかどうかを決定する。保留中の最終期限付きストリームトランザクションの優先順位を上げることによって保留中のストリームトランザクションがその最終期限を満たすことができる場合、アービタ12は、スレーブポートキュー56内の保留中の最終期限付きストリームトランザクションの優先順位を上げることができる。たとえば、保留中の最終期限付きストリームトランザクションの優先順位を上げることは、スレーブポートキュー56における優先順位を変えることを含み得る。たとえば、図8に示すように、バスアービトレーションポリシーにおける保留中の最終期限付きストリームトランザクションの優先順位を上げるために、ランクフィールド106およびまたは重みフィールド108を更新することができる。非限定的な例として、ランクフィールド106を、固定された優先順位のバスアービトレーションポリシーにおいて使用することができる。別の非限定的な例として、重みフィールド108における重みを、重み付けされたラウンドロビンのバスアービトレーションポリシーにおいて使用することができる。保留中の最終期限付きストリームトランザクションの優先順位を上げることによって、アービタ12は、保留中の最終期限付きストリームトランザクションの最終期限を満たすことができない場合、保留中の最終期限付きストリームトランザクションを終了することができる。この点について、アービタ12は、保留中の最終期限付きストリームトランザクションをスレーブポートキュー56から取り除くことができる。次いで、アービタ12は、最初に最終期限付きストリームトランザクションを要求したマスターデバイス14に終了された状況を示すために、保留中のストリームトランザクションについてのエラー処理プロセスを実行することができる。保留中の最終期限付きストリームトランザクションを終了し、取り除くことは、バス相互接続18から不必要に使用される帯域幅を取り除くことができ、したがって、バス相互接続18の性能を向上させることができることに留意されたい。ブロック110での決定において、アービタ12は、保留中の最終期限付きストリームトランザクションのために実際に移動されるデータの量が、保留中の最終期限付きストリームトランザクションの最終期限を満たすために移動されるデータ以上であることを決定した場合、保留中の最終期限付きストリームトランザクションのために実際に移動されるデータの量が最終期限を満たすために移動されるデータよりも大きいかどうかを決定する。そうである場合、アービタ12は、保留中の最終期限付きストリームトランザクションの優先順位を下げることができ、その結果、他の保留中のストリームトランザクションを含む、他の保留中のバストランザクションは、バス相互接続18におけるルーティングリソースによって、より多くの処理時間を受信することができる。そうでない場合、アービタ12は、保留中の最終期限付きストリームトランザクションの優先順位を調整せず、次の保留中の最終期限付きストリームトランザクションが検討される。保留中の最終期限付きストリームトランザクションを検討し、それに応じてアービタ12によって適用されるバスアービトレーションポリシーを調整するプロセスは、連続的に実行することができる。プロセスは、ストリームウォーターマークとも呼ばれる保留中の最終期限付きストリームトランザクションごとに、完了の定期的な間隔で実行することもできる。保留中の最終期限付きストリームトランザクションを調べ、必要に応じて、それに応じてそれらのバスアービトレーションポリシーを更新するための所望の粒度に基づいて、使用されるストリームウォーターマークの数を提供することができる。所与のスレーブポート22について、1つのみの保留中のストリームトランザクションが最終期限付きである場合、アービタ12は、図9における例示的なプロセスに従って保留中の最終期限付きストリームトランザクションを優先することができる。しかしながら、所与のスレーブポート22について、2つ以上の保留中のストリームトランザクションが最終期限を有する場合、アービタ12は、保留中の最終期限付きストリームトランザクションの間の優先順位を決定する。この点について、図10は、所与のスレーブポート22について、2つ以上の保留中のストリームトランザクションが関連する最終期限を有するとき、バスアービトレーションポリシーを評価するためにアービタ12によって実行することができる例示的なプロセスを示すフローチャートである。図10のプロセスは、スレーブポートキュー56ごとに、連続的に、または、保留中の最終期限付きストリームトランザクションのための指定されたストリームウォーターマークで実行することができる。図10に示すように、アービタ12は、所与のスレーブポート22についての2つ以上の保留中のストリームトランザクションが関連する最終期限を有するかどうかを、スレーブポート22ごとに決定する。そうでない場合、プロセスは終了する。所与のスレーブポート22についての2つ以上の保留中のストリームトランザクションが関連する最終期限を有する場合、アービタ12は、この例では、スレーブポートキュー56内の保留中の最終期限付きストリームトランザクションごとに実現可能性係数を計算する。実現可能性係数は、保留中の最終期限付きストリームトランザクションがその最終期限内に完了する実現可能性を決定するために使用される。任意の実現可能性係数を使用することができ、特定の実装形態に応じた任意の計算とすることができる。この例では、実現可能性係数は、保留中の最終期限付きストリームトランザクションを完了するための残余時間、および保留中の最終期限付きストリームトランザクションについての残余転送の数の関数である。たとえば、保留中の最終期限付きストリームトランザクションについて、転送が完了するにつれて、スレーブポートキュー56内の残存転送数フィールド104は、アービタ12によって更新される。所与の保留中の最終期限付きストリームトランザクションについての実現可能性係数が最終期限までの完了が可能ではないことを示す場合、アービタ12はその保留中のストリームトランザクションを終了することができる。エラー処理プロセスは、ストリームトランザクションが完了前に終了されていることを、終了されたストリームトランザクションを要求するマスターデバイス14に示すために実行することができる。保留中の最終期限付きストリームトランザクションを完了することが実現可能であると決定された場合、アービタ12は、実現可能性係数に基づいて保留中の最終期限付きストリームトランザクションのためにバスアービトレーションポリシーを変更または調整することができる。非限定的な例として、アービタ12は、重み付けされたラウンドロビンのバスアービトレーションポリシーから固定された優先順位方式に、またはその逆に、バスアービトレーションポリシーを変更することができる。所与のスレーブポート22が処理中の複数の保留中の最終期限付きストリームトランザクションから1つのみの保留中の最終期限付きストリームトランザクションに移行すると、アービタ12は、非限定的な例として図9のプロセスに基づいて保留中の最終期限付きストリームトランザクションに対するバスアービトレーションポリシーの評価に戻ることができる。図11は、保留中の最終期限付きストリームトランザクションを完了する実現可能性を決定するために、アービタ12によって使用することができる例示的な実現可能性係数を示すためのチャート144である。この例では、6つの保留中の最終期限付きストリームトランザクションが、チャート144の各行に1つずつ示されている。各保留中の最終期限付きストリームトランザクションについてのクロックサイクルに関する残余時間は、残余時間カラム146に示される。各保留中の最終期限付きストリームトランザクションについての残余トランザクション数は、トランザクション数カラム148に示される。バスアービトレーションポリシーを決定するための各保留中の最終期限付きストリームトランザクションについて計算された実現可能性係数は、実現可能性係数カラム150に示される。引き続き図11の例を参照すると、保留中の最終期限付きストリームトランザクションについての残余時間が、保留中の最終期限付きストリームトランザクションについての残余転送数未満である場合、実現可能性係数は0と決定される。これは、保留中の最終期限付きストリームトランザクションの完了が可能ではない、または実現可能ではないことを意味する。保留中の最終期限付きストリームトランザクションについての残余時間が、保留中の最終期限付きストリームトランザクションについての残余転送数と同じである場合、実現可能性係数は1と決定される。このシナリオでは、保留中の最終期限付きストリームトランザクションの完了は、依然として実現可能である。保留中の最終期限付きストリームトランザクションについての残余時間が、保留中の最終期限付きストリームトランザクションについての残余転送数よりも大きいとき、実現可能性係数はTRXRと決定される。図9において示されるように、所与のスレーブポート22についての1つのみの保留中のストリームトランザクションが最終期限付きであるとき、アービタ12は、実現可能性係数を計算するように構成することができることに留意されたい。保留中の最終期限付きストリームトランザクションが最終期限内に完了することが実行可能ではないことを実現可能性係数が示す場合、アービタ12は、保留中の最終期限付きストリームトランザクションを早く終了することができる。保留中の最終期限付きストリームトランザクションを終了し、取り除くことは、バス相互接続18から不必要に使用される帯域幅を取り除くことができ、したがって、バス相互接続18の性能を向上させることができる。保留中の最終期限付きストリームトランザクションを完了することができない、またはその最終期限前に完了することが実行可能ではないと決定されたときはいつでも、ストリームトランザクションを終了することに加えて、他のアクションをとることができることに留意されたい。たとえば、ストリームトランザクションの終了は、シンドロームレジスタに記録することができる。別の非限定的な例として、限定はしないが、マスターデバイス14を含む、適切なアクションをとることができる、システム10における1つまたは複数のインテリジェントシステムエージェントに対する割込みとして、ストリームトランザクションの終了をルーティングすることができる。終了したストリームトランザクションに関して伝えられたメッセージは、アービタ12によって応答チャネルに組み込むことができる。バスアービトレーションポリシーの本明細書の例は、必要に応じて、単独で、または任意の組合せで、提供することが出来ることに留意されたい。同じく、本明細書で開示するバスアービトレーションポリシーのいずれかまたはすべては、アービタ12における回路によって実行することができ、図1に示すように、アービタ12は、コントローラ13を含んでいても、または含んでいなくてもよく、コンピュータ可読媒体15のソフトウェア命令を実行することができても、または実行することができなくてもよい。ストリームトランザクションに関連する情報に基づいて、ストリームトランザクションのためにバスアービトレーションポリシーを評価し、およびまたは適用するために、他のバスアービトレーションポリシーをアービタ12によって使用することができる。本明細書で開示する実施形態に従ってストリームトランザクションに関連する情報に基づいてストリームトランザクションをアービトレーションするためのデバイス、システム、方法、およびコンピュータ可読媒体は、任意のプロセッサベースのデバイスに設ける、または組み込むことができる。このようなデバイスの例には、限定されないが、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末、モニタ、コンピュータのモニタ、テレビ、チューナ、ラジオ、サテライトラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスクプレーヤ、およびポータブルデジタルビデオプレーヤが含まれる。この点について、図12は、図1に示すシステム10の構成要素を使用することができるプロセッサベースシステム160の一例を示す。この例では、プロセッサベースシステム160は、各々1つまたは複数のプロセッサ164を含む1つまたは複数の中央処理装置162を含む。CPU162は、マスターデバイスでもよい。CPU162は、一時的に記憶されたデータへの迅速なアクセスのために、プロセッサ164に結合されたキャッシュメモリ166を有することができる。CPU162はシステムバス170に結合され、プロセッサベースのシステム160に含まれるマスターデバイスおよびスレーブデバイスを相互に接続する。システムバス170は、図1に示すバス相互接続18のようなバス相互接続とすることができる。よく知られているように、CPU162は、アドレス情報、制御情報、およびデータ情報をシステムバス170を通じて交換することによって、これらの他のデバイスと通信する。たとえば、CPU162は、スレーブデバイスの一例として、メモリコントローラ32にバストランザクション要求を通信することができる。図12には図示されていないが、複数のシステムバス170を設けることができ、各システムバス170は、異なるファブリックを構成する。他のマスターおよびスレーブデバイスは、システムバス170に接続することができる。図12に示すように、これらのデバイスは、メモリシステム28、1つまたは複数の入力デバイス174、1つまたは複数の出力デバイス176、1つまたは複数のネットワークインターフェースデバイス178、および1つまたは複数のディスプレイコントローラ180を含み得る。入力デバイス174は、限定はしないが、入力キー、スイッチ、音声プロセッサなどを含む任意のタイプの入力デバイスを含むことができる。出力デバイス176は、限定はしないが、オーディオ、ビデオ、他の視覚的指示などを含む任意のタイプの出力デバイスを含むことができる。ネットワークインターフェースデバイス178は、ネットワーク182との間のデータの交換を可能にするように構成された任意のデバイスとすることができる。ネットワーク182は、限定はしないが、有線ネットワークまたはワイヤレスネットワーク、非公開ネットワークまたは公開ネットワーク、ローカルエリアネットワーク、ワイドローカルエリアネットワーク、およびインターネットを含む、任意の種類のネットワークとすることができる。ネットワークインターフェースデバイス178は、所望の任意の種類の通信プロトコルをサポートするように構成することができる。メモリシステム28は、1つまたは複数のメモリユニット36を含むことができる。アービタ12は、システムバス170と、たとえば、メモリシステム28に設けられたメモリユニット36など、システムバス170に結合されたマスターおよびスレーブデバイスとの間に設けられていてもよい。CPU162は、システムバス170を通じてディスプレイコントローラ180にアクセスして、1つまたは複数のディスプレイ184に送られる情報を制御することもできる。ディスプレイコントローラ180は、1つまたは複数のビデオプロセッサ186を介して表示されるべき情報をディスプレイ184に送り、ビデオプロセッサ186は、表示されるべき情報を、ディスプレイ184に適切なフォーマットとなるように処理する。ディスプレイ184は、限定はしないが、陰極線管、液晶ディスプレイ、プラズマディスプレイなどを含む、任意の種類のディスプレイを含むことができる。CPU162およびディスプレイコントローラ180は、システムバス170を介してアービタ12にメモリアクセス要求を行うマスターデバイスとして働き得る。CPU162およびディスプレイコントローラ180内の異なるスレッドがアービタ12に要求を行うことができる。CPU162およびディスプレイコントローラ180は、前述のように、マスター識別子72を、バストランザクション要求の一部としてアービタ12に提供することができる。任意のタイプのマスターデバイス14およびスレーブデバイス16は、ストリームトランザクションに対する要求および応答を行うために、プロセッサベースシステム160で使用することができる。非限定的な例として、図12に示すように、最終期限付きストリームトランザクションを要求するマスターデバイス14がDMAコントローラ14である場合、DMAコントローラ14は、記述子フィールドで提供される任意の必要な最終期限パラメータを含む記述子を解析することができる。CPU162による記述セットアップに、最終期限パラメータが与えられ得る。DMAコントローラ14は、後でこの最終期限パラメータを解析することができ、システムバス170を介して、新しいストリームトランザクション要求の一部として、そのような最終期限をブロードキャストすることができる。この点について、一例として、最終期限パラメータは、図7のストリーム識別子ブロック78の最終期限フィールド96におけるDMAコントローラ14によって提供することができる。ストリームトランザクション転送の過程を通って、アービタ12は、記述子によって伝えられる最終期限を達成しようと試みるために、ストリームトランザクションのためにバスアービトレーションポリシーを動的に調整することができる。本明細書で開示される実施形態とともに説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムは、電子的なハードウェアとして、メモリもしくは別のコンピュータ可読媒体に記憶されプロセッサもしくは他の処理デバイスにより実行される命令として、またはこれら両方の組合せとして実装され得ることが、当業者にはさらに理解されよう。例として、本明細書で説明するアービタ、マスターデバイス、サブマスターデバイス、およびスレーブデバイスは、任意の回路、ハードウェア構成要素、集積回路、またはICチップにおいて採用され得る。本明細書で開示するメモリは、任意のタイプおよびサイズのメモリとすることができ、所望の任意のタイプの情報を記憶するように構成することができる。この互換性を明確に示すために、上記では、様々な例示的構成要素、ブロック、モジュール、回路、およびステップは全般的に、それらの機能に関して説明されている。そのような機能がどのように実装されるかは、具体的な用途、設計の選択、およびまたはシステム全体に課される設計制約により決まる。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、プロセッサ、DSP、特定用途向け集積回路、FPGAもしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せで実装または実行することができる。プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。本明細書で開示される実施形態は、ハードウェアで具現化されてよく、ハードウェアに記憶される命令により具現化されてよく、たとえば、ランダムアクセスメモリ、フラッシュメモリ、読取専用メモリ、電気的にプログラム可能なROM、電気的に消去可能なプログラム可能ROM、レジスタ、ハードディスク、リムーバブルディスク、CDROM、または、当技術分野で知られている任意の他の形態のコンピュータ可読媒体に、存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に常駐し得る。ASICは遠隔局に存在し得る。代替的には、プロセッサおよび記憶媒体は、遠隔局、基地局、またはサーバの中に、個別の構成要素として存在し得る。本明細書の例示的な実施形態のいずれかで説明された動作ステップは、例および議論を提供するために説明されたものであることにも、留意されたい。説明された動作は、例示された順序以外の多くの異なる順序で実行されてもよい。さらに、単一の動作ステップで説明される動作は、実際には、多くの異なるステップで実行され得る。加えて、例示的な実施形態において論じられた1つまたは複数の動作ステップは、組み合わされてもよい。フローチャートにおいて例示される動作ステップは、当業者に容易に明らかとなるような多くの異なる修正を受けてもよいことを、理解されたい。情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることも、当業者には理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。本開示の前述の説明は、いかなる当業者でも本開示を作成または使用することができるように提供される。本開示への様々な修正は当業者には容易に明らかであり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用できる。したがって、本開示は、本明細書で説明した例および設計に限定されることを意図するものではなく、本明細書で開示する原理および新規の特徴に一致する最も広い範囲を与えられるべきである。