(57)【要約】      （修正有）【課題】処理システムにおけるバスアービトレーションスキーム。【解決手段】処理システムは、バス、バスに接続された複数のプロセッサ、及びバスアービタを含む。バスアービタは、第１の層内のプロセッサの各々に対して第１の層の重みを割り当て、第２の層内のプロセッサの各々に対して第２の層の重みを割り当てる。バスアービタは、割り当てられた第２の層の重みに基づいて、バス間隔の初期部分の間、１又は複数のプロセッサへバスアクセスを連続的に許可し、第１の層の重みを有するプロセッサのうちの何れか１つからの要求に応じて、バス間隔の初期部分の間、前記プロセッサのうちの何れか１つへのバスアクセスを許可する。複数のプロセッサがバスへのアクセスを要求する場合、バスアービタは、バスアクセスを要求するプロセッサのうち、最高次の層内の最も大きな重みを有するプロセッサへのバスアクセスを許可する。【選択図】図１
2011187069.tif 000002
【特許請求の範囲】
【請求項１】
処理システムであって、
バスと、
前記バスに接続された複数のプロセッサと、
前記プロセッサの１又は複数の各々に第２の層の重みを割り当て、前記割り当てられた第２の層の重みに基づいて、バス間隔の初期部分の間、前記１又は複数のプロセッサに対するバスアクセスを連続的に許可するように構成されたバスアービタとを備え、
前記バスアービタは更に、第１の層の重みを有する前記プロセッサのうちの何れか１つからの要求に応じて、前記バス間隔の初期部分の間、前記プロセッサのうちの何れか１つへのバスアクセスを許可する処理システム。
【請求項２】
前記バスアービタは更に、前記バス間隔の初期部分の後である前記バス間隔の残りの部分の間、前記プロセッサのうちの何れか１つからの要求に応じて、前記プロセッサのうちの何れか１つに対するバスアクセスを許可するように構成された請求項１に記載の処理システム。
【請求項３】
前記バスアービタは更に、ラウンドロビンスキームに基づいて、前記バス間隔の残りの部分の間、前記プロセッサのうちの何れか１つへのバスアクセスを許可するように構成された請求項２に記載の処理システム。
【請求項４】
前記バスアービタは更に、前記バス間隔の持続時間を調整するように構成された請求項１に記載の処理システム。
【請求項５】
前記バスアービタは更に、前記１又は複数のプロセッサのうち、第２の層の最も大きな重みを持つプロセッサへのバスアクセスを許可し、かつ、バスアクセスが許可された後、そのプロセッサの第２の層の重みを減らすように構成された請求項１に記載の処理システム。
【請求項６】
前記１又は複数のプロセッサの各々の第２の層の重みがゼロまで減った場合、前記バス間隔の初期部分が終了する請求項５に記載の処理システム。
【請求項７】
前記バスアービタは更に、前記バス間隔の各々の開始において、前記１又は複数のプロセッサの各々について前記第２の層の重みを設定するように構成された請求項６に記載の処理システム。
【請求項８】
前記第２の層の重みは、前記第２の層の重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたバスアクセス許可の数を含む請求項１に記載の処理システム。
【請求項９】
前記第２の層の重みは、前記第２の層の重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたデータビートの数を含む請求項１に記載の処理システム。
【請求項１０】
前記バスアービタは更に、前記プロセッサのうち、第１の層の重みを有する何れかの各々に対して、サービス間隔のクオリティの開始において、前記第１の層の重みを設定するように構成された請求項１の記載の処理システム。
【請求項１１】
前記サービス間隔のクオリティの持続時間は、前記バス間隔の持続時間と同じである請求項１０に記載の処理システム。
【請求項１２】
前記サービス間隔のクオリティの持続時間は、前記バス間隔の持続時間とは異なる請求項１０に記載の処理システム。
【請求項１３】
前記バスアービタは更に、前記プロセッサのうち、前記バスへのアクセスが許可された何れか１つの第１の層の重みを減らすように構成された請求項１０に記載の処理システム。
【請求項１４】
前記バスアービタは更に、前記サービス間隔のクオリティの持続時間を調整するように構成された請求項１０に記載の処理システム。
【請求項１５】
処理システムであって、
バスと、
前記バスに接続された複数のプロセッサと、
第１の層内の前記プロセッサの各々に第１の層の重みを割り当て、かつ、第２の層内の前記プロセッサの各々に第２の層の重みを割り当てるように構成されたバスアービタとを備え、
前記第１の層は、前記第２の層よりも高次であって、前記バスアービタは更に、バスアクセスを要求するプロセッサのうち、最高次の層内で最も大きい重みを持つプロセッサへのバスアクセスを許可することによって、前記バスアクセスを要求する１又は複数のプロセッサの間をアービトレートするように構成された処理システム。
【請求項１６】
前記バスアービタは更に、前記バスアクセスが許可されたプロセッサに対して、適切な層における重みを減らすように構成された請求項１５に記載の処理システム。
【請求項１７】
前記プロセッサは更に、サービス間隔のクオリティの開始において、前記第１の層内のプロセッサの各々に対して、前記第１の層の重みを設定し、かつ、バス間隔の開始において、前記第２の層内のプロセッサの各々に対して、前記第２の層の重みを設定するように構成された請求項１６に記載の処理システム。
【請求項１８】
前記サービス間隔のクオリティの持続時間は、前記バス間隔の持続時間と同じである請求項１７に記載の処理システム。
【請求項１９】
前記サービス間隔のクオリティの持続時間は、前記バス間隔の持続時間とは異なる請求項１７に記載の処理システム。
【請求項２０】
前記バスアービタは更に、前記バス間隔、及び前記サービス間隔のクオリティの持続時間を調整するように構成された請求項１７に記載の処理システム。
【請求項２１】
前記第２の層の重みは、前記第２の層の重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されるバスアクセス許可の数を含む請求項１７に記載の処理システム。
【請求項２２】
前記第２の層の重みは、前記第２の層の重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたデータビートの数を含む請求項１７に記載の処理システム。
【請求項２３】
前記第２の層内のプロセッサの各々に割り当てられた第２の層の重みは、前記第２の層の重みが割り当てられたプロセッサの帯域幅に関連する請求項１５に記載の処理システム。
【請求項２４】
前記バスアービタは更に、前記バスへのアクセスを要求するプロセッサの何れもが第１の層の重み又は第２の層の重みを有していないのであれば、前記要求する１又は複数のプロセッサのうちの１つへのバスアクセスをラウンドロビン方式で許可することによって、前記バスへのアクセスを要求する１又は複数のプロセッサの間をアービトレートするように構成された請求項１５に記載の処理システム。
【請求項２５】
前記１又は複数のプロセッサは、第１の層と第２の層との両方にある請求項１５に記載の処理システム。
【請求項２６】
バスへのアクセスを要求する複数のプロセッサの間をアービトレートする方法であって、
前記１又は複数のプロセッサの各々に第２の層の重みを割り当てることと、
前記割り当てられた第２の層の重みに基づいて、バス間隔の初期部分の間、前記１又は複数のプロセッサへバスアクセスを連続的に許可することと、
第１の層の重みを有する何れか１つのプロセッサからの要求に応じて、前記バス間隔の初期部分の間、前記プロセッサのうちの何れか１つにバスアクセスを許可することと
を備える方法。
【請求項２７】
前記バス間隔の初期部分の後である前記バス間隔の残りの部分の間、前記プロセッサのうちの何れか１つからの要求に応じて、前記プロセッサのうちの何れか１つに対するバスアクセスを許可することを更に備える請求項２６に記載の方法。
【請求項２８】
前記バス間隔の残りの部分の間、前記プロセッサのうちの何れか１つへのバスアクセスを許可することは、ラウンドロビンスキームに基づく請求項２７に記載の方法。
【請求項２９】
前記バス間隔の持続時間を調整することを更に備える請求項２６に記載の方法。
【請求項３０】
前記１又は複数のプロセッサのうち、前記第２の層の最も大きい重みを持つプロセッサへバスアクセスが許可され、
前記方法は更に、バスアクセスが許可された後、そのプロセッサの第２の層の重みを減らすことを備える請求項２６に記載の方法。
【請求項３１】
前記１又は複数のプロセッサの各々の第２の層の重みがゼロまで減った場合、前記バス間隔の初期部分が終了する請求項３０に記載の方法。
【請求項３２】
前記バス間隔の各々の開始において、前記１又は複数のプロセッサの各々について前記第２の層の重みを設定することを更に備える請求項３１に記載の方法。
【請求項３３】
前記第２の層の重みは、前記第２の層の重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたバスアクセス許可の数を含む請求項２６に記載の方法。
【請求項３４】
前記第２の層の重みは、前記第２の層の重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたデータビートの数を含む請求項２６に記載の方法。
【請求項３５】
前記プロセッサのうち、第１の層の重みを有する何れかの各々に対して、サービス間隔のクオリティの開始において、前記第１の層の重みを設定することを更に備える請求項２６に記載の方法。
【請求項３６】
前記サービス間隔のクオリティの持続時間は、前記バス間隔の持続時間と同じである請求項３５に記載の方法。
【請求項３７】
前記サービス間隔のクオリティの持続時間は、前記バス間隔の持続時間とは異なる請求項３５に記載の方法。
【請求項３８】
前記プロセッサのうち、前記メモリへのアクセスが許可された何れか１つの第１の層の重みを減らすことを更に備える請求項３５に記載の方法。
【請求項３９】
前記サービス間隔のクオリティの持続時間を調整することを更に備える請求項３５に記載の方法。
【請求項４０】
バスへのアクセスを要求する複数のプロセッサの間をアービトレートする方法であって、
第１の層内の前記プロセッサの各々に第１の層の重みを割り当てることと、
第２の層内の前記プロセッサの各々に第２の層の重みを割り当てることと、
前記第１の層は、前記第２の層よりも高次であって、バスアクセスを要求するプロセッサのうち、最高次の層内で最も大きい重みを持つプロセッサへのバスアクセスを許可することによって、前記バスアクセスを要求する１又は複数のプロセッサの間をアービトレートすることと
を備える方法。
【請求項４１】
前記バスアクセスが許可されたプロセッサに対して、適切な層における重みを減らすことを更に備える請求項４０に記載の方法。
【請求項４２】
サービス間隔のクオリティの開始において、前記第１の層内のプロセッサの各々に対して、前記第１の層の重みを設定することと、
バス間隔の開始において、前記第２の層内のプロセッサの各々に対して、前記第２の層の重みを設定することと
を更に備える請求項４１に記載の方法。
【請求項４３】
前記サービス間隔のクオリティの持続時間は、前記バス間隔の持続時間と同じである請求項４２に記載の方法。
【請求項４４】
前記サービス間隔のクオリティの持続時間は、前記バス間隔の持続時間とは異なる請求項４２に記載の方法。
【請求項４５】
前記バス間隔、及び前記サービス間隔のクオリティの持続時間を調整することを更に備える請求項４２に記載の方法。
【請求項４６】
前記第２の層の重みは、前記第２の層の重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたバスアクセス許可の数を含む請求項４２に記載の方法。
【請求項４７】
前記第２の層の重みは、前記第２の層の重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたデータビートの数を含む請求項４２に記載の方法。
【請求項４８】
前記第２の層内のプロセッサの各々に割り当てられた第２の層の重みは、前記第２の層の重みが割り当てられたプロセッサの帯域幅に関連する請求項４０に記載の方法。
【請求項４９】
前記バスへのアクセスを要求するプロセッサの何れもが第１の層の重み又は第２の層の重みを有していないのであれば、前記要求する１又は複数のプロセッサの間のアービトレーションが、ラウンドロビン方式で行われる請求項４０に記載の方法。
【請求項５０】
前記第１の層内のプロセッサの各々に第１の層の重みを割り当てることと、前記第２の層内のプロセッサの各々に第２の層の重みを割り当てることとは、前記プロセッサのうちの同じ１つに対して第１の重みと第２の重みとを割り当てることを備える請求項４０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、処理システムに関し、特に、処理システムにおけるバスアクセスアービトレーションスキームに関する。
【背景技術】
【０００２】
コンピュータは、精妙な処理タスクを、ほんの２〜３ストロークキーパッドを操作するだけで実行することにより、エレクトロニクス産業界に革新をもたらした。これら精巧なタスクは、バスを使用して、高速かつ効率的な手法で互いと通信する、信じられないほど多くの複雑なコンポーネントを含んでいる。バスは、コンピュータ内の、あるいはその他の計算デバイス内のコンポーネント間のチャネル又は経路である。
【０００３】
多くのバスは、伝統的に、共有バスとして実施されている。共有バスは、任意数のコンポーネントが共通の経路又はチャネルによって通信する手段を提供する。近年、共有バス技術は、ポイントトゥポイント交換接続に大部分が取って代わられている。ポイントトゥポイント交換接続は、２つのコンポーネントが互いに通信している間、これら２つのコンポーネント間の直接的な接続を提供する。多数の直接リンクが、幾つかのコンポーネントが同時通信することを可能にするために使用されうる。バスアービタは、バスを介した通信を管理するために使用されうる。
【０００４】
バスアーキテクチャを実施するコンピュータは、メモリのような１又は複数の共有リソースに接続された任意の数の処理コンポーネントを含みうる。１又は複数のプロセッサ（バスマスタ）は、バスアービタからアクセスを要求することにより、バストランザクションを開始しうる。バスアービタは、プロセッサが、予め定めたアルゴリズムに基づいてバスへのアクセスが許可されるシーケンスを決定する。これらのトランザクションを管理するために、過去において、様々なバスアクセスアービトレーションスキームが実施された。かなり一般的なアプローチは、ラウンドロビンアービトレーションスキームである。これは、全ての処理コンポーネントにわたって帯域幅を等しく割り当てるが、レイテンシ要件の概念がない。別の一般的なアプローチは、固定優先度アービトレーションスキームである。これは、レイテンシ要件の概念が幾つかあるが、高帯域幅を必要とする低優先度プロセッサの品質をひどく下げる。時分割多重方式が、恐らく、ラウンドロビンアービトレーションスキームや、固定優先度ベースのアービトレーションスキームよりも優れた解決策である。しかしながら、特定のプロセッサがバスへのアクセスを必要とする時を予測するのは困難である。従って、当該技術分野においては、バスに関するプロセッサに対するレイテンシ要件を保持しながら、帯域幅割当を割り当てる能力を提供するバスアクセスアービトレーションスキームに対するニーズがある。
【発明の概要】
【０００５】
本発明の１つの局面では、処理システムは、バスと、前記バスに接続された複数のプロセッサと、前記プロセッサのうち１又は複数の各々に対して、第２階層重みを割り当て、前記割り当てられた第２階層重みに基づいて、バス間隔の初期部分の間、前記１又は複数のプロセッサに対するバスアクセスを連続して許可するように構成されたバスアービタとを含む。バスアービタは更に、第１階層重みを有する前記プロセッサのうちの任意の１つからの要求に応じて、前記バス間隔の初期部分の間、前記プロセッサのうちの任意の１つに対するバスアクセスを許可するように構成されている。
【０００６】
本発明の別の局面では、処理システムは、バスと、前記バスに接続された複数のプロセッサと、第１階層内の前記プロセッサの各々に対して、第１階層重みを割り当て、かつ、第２階層内の前記プロセッサの各々に対して、第２階層重みを割り当てるように構成されたバスアービタとを含む。バスアービタは更に、最高階層内に最高重みを有する、要求元のプロセッサへのバスアクセスを許可することによって、バスアクセスを要求する１又は複数のプロセッサの間をアービトレートするように構成される。ここで、第１階層は、第２階層よりも高次である。
【０００７】
本発明の更なる局面では、バスへのアクセスを要求する複数のプロセッサの間をアービトレートする方法は、１又は複数のプロセッサの各々に第２階層重みを割り当てることと、前記割り当てられた第２階層重みに基づいて、バス間隔の初期部分の間、前記１又は複数のプロセッサへのバスアクセスを連続的に許可することと、第１階層重みを有する前記プロセッサのうちの任意の１つからの要求に応じて、前記バス間隔の初期部分の間、前記プロセッサの任意の１つに対するバスアクセスを許可することとを含む。
【０００８】
また、本発明の更なる局面では、バスへのアクセスを要求する複数のプロセッサ間をアービトレートする方法は、第１階層内の前記プロセッサの各々に対して、第１階層重みを割り当てることと、第２階層内の前記プロセッサの各々に対して、第２階層重みを割り当てることと、最高階層内に最高重みを有する、要求元のプロセッサへのバスアクセスを許可することによって、バスアクセスを要求する１又は複数のプロセッサの間をアービトレートすることとを含む。ここで、第１階層は、第２階層よりも高次である。
【０００９】
本発明の他の実施形態は、本発明の様々な実施形態が示され、例示によって説明されている以下の詳細記述から、当業者に容易に明らかになるであろうことが理解される。理解されるように、本発明は、本発明の精神及び範囲から逸脱することなく、その他及び異なる実施形態も可能であり、その幾つかの詳細を、その他様々な観点において修正することも可能である。従って、図面及び詳細説明は、本質的に例示的と見なされるべきであり、限定的と見なされるべきではない。
【図面の簡単な説明】
【００１０】
【図１】図１は、処理システムの例を図示する概念ブロック図である。
【図２】図２は、様々なプロセッサのための高帯域幅要求をサポートできるバスアクセスアービトレーションスキームのタイミングを図示する概念図である。
【図３】図３は、様々なプロセッサのための高帯域幅要求をサポートできるバスアクセスアービトレーションスキームの動作を図示する概念図である。
【図４】図４は、様々なプロセッサのためのレイテンシ要求及び高帯域幅要求の両方をサポートできるバスアクセスアービトレーションスキームのタイミングを図示する概念図である。
【図５】図５は、様々なプロセッサのためのレイテンシ要求及び高帯域幅要求の両方をサポートできるバスアクセスアービトレーションスキームの動作を図示する概念図である。
【発明を実施するための形態】
【００１１】
添付図面に関して記述した詳細説明は、本発明の様々な実施形態の記載として意図され、本発明が実現される唯一の実施形態を表わすようには意図されていない。この詳細説明は、本発明の完全な理解を提供する目的の具体的詳細を含んでいる。しかしながら、本発明はこれら具体的詳細がなくとも実現されうることが当業者に明白になるであろう。幾つかのインスタンスでは、周知の構成及びコンポーネントが、本発明の概念を不明瞭にしないために、ブロック図形式で示される。
【００１２】
図１は、処理システムの例を図示する概念ブロック図である。処理システム１００は、コンピュータ、コンピュータ内の常駐部分、あるいは、情報の処理、検索、格納が可能な任意の他のシステムでありうる。この処理システム１００は、スタンドアロンシステムかもしれないか、あるいは、無線電話、携帯情報端末（ＰＤＡ）、パーソナルコンピュータ（ＰＣ）、ラップトップ等のようなデバイスに組み込まれうる。
【００１３】
処理システム１００は、バス１１０を介してメモリ１０４にアクセスする幾つかのプロセッサ１０２ａ〜１０２ｃとともに示されているが、特定のアプリケーション及び、全体的な設計制約に依存して、任意の数のプロセッサを備えて構成されうる。プロセッサはそれぞれ、例えば、マイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、ビデオグラフィックスプロセッサ、モデムプロセッサ、あるいは、その他の情報処理コンポーネントを含む任意のタイプのバスマスタコンポーネントとして実現されうる。メモリ１０４は、メモリコントローラ、キャッシュ、スタックメモリ、あるいは、情報を検索及び格納できるその他任意のコンポーネントでありうる。
【００１４】
バスアービタ１０８は、プロセッサ１０２ａ〜１０２ｃへのバスアクセスを許可するために使用されうる。バス１１０は、バス相互接続１０６を介するポイントトゥポイント交換接続で実施されうる。この構成では、バスアービタ１０８は、プロセッサのうちの１つとメモリ１０４との間の直接接続を提供するようにバス相互接続１０６を設定する。バス相互接続１０６内の多数の直接リンクは、他のプロセッサが、他のバススレーブデバイスと同時に通信することを可能にするために使用されうる。あるいは、バス１１０は、共有バスとして、あるいはその他任意のタイプのバスとして、バスアービタ１０８の制御の下で実施されうる。
【００１５】
バスアービタ１０８は、プロセッサ１０２ａ〜１０２ｃによるバス１１０へのアクセスを管理するために使用されうる。バスアービタ１０８の１つの実施形態では、処理コンポーネント１０２ａ〜１０２ｃが、コマンドを、関連するプログラム命令及び／又はデータとともにバスアービタ１０８へブロードキャストしうる。バスアービタ１０８は、コマンド及び関連するプログラム命令とデータがメモリ１０４に提供されるシーケンスを決定し、それに従って、バス相互接続１０６を動的に設定する。バスアービタ１０８の別の実施形態では、プロセッサ１０２ａ〜１０２ｃは、バス１１０へのアクセスを要求し、バスアービタ１０８は、バス相互接続１０６を動的に再設定することによって、要求が許可されるシーケンスを決定しうる。何れの場合も、バスアービタ１０８は、バスアクセスアービトレーションスキームに基づいて、コマンドと、関連するプログラム命令及びデータがメモリ１０４に提供されるシーケンスを決定する。
【００１６】
バスアクセスアービトレーションスキームは、様々なプロセッサ１０２ａ〜１０２ｃの機能要求に応じるために実施されうる。一例として、プロセッサは、ビデオグラフィックスプロセッサのような高帯域幅を要求するかもしれない。別のプロセッサは、音声通信を処理するＤＳＰのような低レイテンシ通信を要求するかもしれない。また、別のプロセッサは、中央処理装置（ＣＰＵ）処理インターネット電子メールのような帯域幅要求やレイテンシ要求を持たないかもしれない。後者の通信（帯域幅要求又はレイテンシ要求のないもの）は、しばしば「ベストエフォート」通信と呼ばれる。
【００１７】
バスアクセスアービトレーションスキームは、レイテンシ要求を維持しながら、様々なプロセッサに帯域幅を割り当てるために使用されうる。これは、バス１１０へのアクセスが決定される多数の階層を生成することにより達成されうる。一例として、第１階層は、低レイテンシ要求をスケジュールするために使用され、第２階層は、高帯域幅要求をスケジュールするために使用され、第３階層は、レイテンシと帯域幅との点から重要ではないアプリケーションに使用されうる。プログラム可能か又は調整可能な重みが、２つの第１階層内の各プロセッサに割り当てられうる。割り当てられた重みは、バス１１０にアクセスするために費やすことができる「トークン」の数と見なされうる。各プロセッサに割り当てられた重みは、時間期間に基づいて周期的に再設定されうる。この期間は、２つの第1階層について同じであるか、あるいは異なりうる。
【００１８】
第２階層のためのバスアクセスアービトレーションスキームについて先ず説明する。第２階層は、プロセッサ１０２が、必要とする帯域幅を受信することを保証するために使用されうる。これは、各プロセッサ１０２に、その帯域幅要求と釣り合った重みを割り当てることによって達成されうる。この重みは、与えられた時間期間中、プロセッサ１０２が、最低数のバスアクセス許可を受け取ることを保証するために使用されうる。あるいは、この重みは、プロセッサ１０２にデータビート又はバイトを割り当てるために使用されてもよい。重みは、変化する帯域幅要求に応じるために、プログラム可能又は調整可能でありうる。一例として、プロセッサ１０２は、多かれ少なかれ帯域幅を要求する新たなアプリケーションを始めるかもしれない。バスアービタ１０８は、そのプロセッサ１０２に割り当てられた重みを変えることによって応答するかもしれない。
【００１９】
この重みは、処理システム１００が最初に電源を入れたときに、バスアービタ１０８によって様々なプロセッサ１０２に割り当てられうる。起動中、バス１１０に接続され、帯域幅要求を持つ各プロセッサ１０２は、その要求をバスアービタ１０８に通信する。これらの通信に基づいて、バスアービタ１０８は、帯域幅の一部を各々に割り当てる。残りの帯域幅は、ベストエフォート通信に使用されうる。動作中、プロセッサ１０２が新たなアプリケーションを始めるか、又は、その帯域幅要求が変化すると、新たな重みが、そのプロセッサ１０２とバスアービタ１０８との間でネゴシエートされうる。
【００２０】
図２は、第２階層のプロセッサのためのバスアクセスアービトレーションスキームのタイミングを図示する概念図である。バスアービタは、様々なプロセッサの帯域幅要求と、ベストエフォート通信をサポートする必要性とに基づいて、バス間隔２０２を決定する。バス間隔２０２は、帯域幅要求を変更することをサポートするために、プログラム可能かもしれないし、又は、調整可能かもしれない。バスアービタの少なくとも１つの実施形態では、バス間隔２０２は、２つの期間、すなわち、重み付けられた時間期間２０４と、ベストエフォート時間期間２０６に分割されうる。重み付けられた時間期間２０４中、バスに対するコンテンションは、最も高い重みを持つプロセッサにバスアクセスを許可することによって解決されうる。第２階層プロセッサがアクセスを要求していない場合、第３階層プロセッサは、重み付けられた時間期間２０４中、バスへのアクセスが許可されうる。バスへのアクセスが許可される毎に、第２階層プロセッサの各々の重みが減らされうる。第２階層プロセッサの各々に割り当てられた重みがゼロに減るまで、重み付けられた時間期間２０４は継続する。ベストエフォート時間期間２０６が、重み付けられた期間２０４の後に続き、バス間隔２０２の終了まで継続する。ベストエフォート期間２０６中、バスに対するコンテンションは、ラウンドロビン方法で解決されうる。
【００２１】
図３は、第２階層プロセッサのためのバスアービトレーションスキームの動作を図示する概念図である。この例では、３つの第２階層プロセッサ（Ｐ１、Ｐ２、及びＰ３）と、３つの第３階層プロセッサ（Ｐ４、Ｐ５、及びＰ６）がある。バスアービタによって第２階層プロセッサに割り当てられた重みは、トークンと称されよう。第１のプロセッサＰ１は、最も多い帯域幅を必要とし、バスアービタによって４つのトークンが割り当てられる。第２のプロセッサＰ２、及び第３のプロセッサＰ３は、より低い帯域幅のプロセッサであり、それぞれバスアービタによって、２及び１のトークンが割り当てられる。次の例は、全てのプロセッサが、バスへのアクセスを連続的に求めていると仮定する。
【００２２】
図３に示すように、バスアクセスアービトレーションスキームは、バス間隔２０２の初めにおいて、重み付けられた時間期間２０４に入る。第１のタイムスロット３０１中のバスに対するコンテンションは、最も多いトークンを持つプロセッサへのアクセスを許可することによって解決される。これは、この場合、４つのトークンを持つ第１のプロセッサＰ１である。第１のプロセッサＰ１へのバスアクセスを許可すると、バスアービタは、第１のプロセッサのトークンを１減らし、３つのトークンが残る。第１のプロセッサＰ１の残りの３つのトークンは、第２のタイムスロット３０２中に、バスへのアクセスを得るために十分である。バスアービタは、バスへのアクセスを許可した後、第１のプロセッサＰ１からもう１つのトークンを取り、２つのトークンが残る。
【００２３】
第３のタイムスロット３０３中におけるバスに対するコンテンションもまた、最も多いトークンを有するプロセッサへのアクセスを許可することによって解決される。しかしながら、この場合、第１のプロセッサＰ１及び第２のプロセッサＰ２ともに、他の何れのプロセッサよりも多い２つのトークンを有する。バスアービタは、ラウンドロビンアービテーションスキームを適用して、これら２つのプロセッサの間をアービトレートしうる。第１のプロセッサＰ１は、前のタイムスロット３０２においてバスへのアクセスが許可されているので、バスアービタは、現在のタイムスロット３０３の間、第２のプロセッサＰ２へのアクセスを許可する。第２のプロセッサＰ２へのバスアクセスを許可すると、バスアービタは、第２のプロセッサのトークンを１減らす。これによって、それには１つのみのトークンが残る。２つのトークンが残っている第１のプロセッサＰ１は、第４のタイムスロット３０４の間に、バスアービタによってバスへのアクセスが許可され、この処理において１つのトークンを消耗する。
【００２４】
第５のタイムスロット３０５の間、第２階層プロセッサＰ１、Ｐ２、Ｐ３はそれぞれ、１つのトークンを持っている。バスアービタは、ラウンドロビンアービトレーションスキームを用いて、バスへのアクセスをアービトレートしうる。この場合、現在のバス間隔２０２中、第１のプロセッサＰ１及び第２のプロセッサＰ２ともにバスへアクセスした。現在のバス間隔２０２においてバスへ未だにアクセスしていない第３のプロセッサＰ３にアクセスが許可されうる。第３のプロセッサＰ３へバスアクセスを許可すると、バスアービタは、第３のプロセッサのトークンをゼロまで減らし、もって、第６のタイムスロット３０６において、第１のプロセッサＰ１と第２のプロセッサＰ２とが最も多くのトークンを持つようになる。バスアービタは、ラウンドロビンアービトレーションスキームを使い続け、次の２つのタイムスロット３０６，３０７において、第１のプロセッサＰ１と第２のプロセッサＰ２に対するメモリアクセスを任意の順番で許可する。これによって、第２階層プロセッサのための全てのトークンを使い切り、バス間隔２０２の重み付け時間期間２０４を終える。
【００２５】
この重み付けタイムスロット２０４の後に、ベストエフォートタイムスロット２０６が続く。ベストエフォートタイムスロット２０６中、バスアービタは、ラウンドロビン方法で、バスへのアクセスを許可しうる。図３に示す例において、ベストエフォートタイムスロット２０６内に６つのタイムスロット３０８〜３１３が存在する。また、６つのプロセッサ、すなわち、トークンが使い果たされた３つの第２階層プロセッサＰ１，Ｐ２，Ｐ３と、３つの第３階層プロセッサＰ４，Ｐ５，Ｐ６とが存在する。従って、任意のラウンドロビンアービトレーションスキームの下では、プロセッサはそれぞれ、バスへのアクセスが一度許可されるべきである。その順番は必ずしも重要ではないが、ベストエフォートタイムスロット２０６が比較的短いのであれば、アクセスを保証するために、３つの第３階層プロセッサＰ４，Ｐ５，Ｐ６がバスへのアクセスが最初に許可されるべきである。図示する例では、第４のプロセッサＰ４は、第８のタイムスロット３０８の間、バスへのアクセスが許可され、第５のプロセッサＰ５は、第９のタイムスロット３０９の間、バスへのアクセスが許可され、第６のプロセッサＰ６は、第１０のタイムスロット３１０の間、バスへのアクセスが許可され、第１のプロセッサＰ１は、第１１のタイムスロット３１１の間、バスへのアクセスが許可され、第２のプロセッサＰ２は、第１２のタイムスロット３１２の間、バスへのアクセスが許可され、また、第３のプロセッサＰ３は、第１３のタイムスロット３１３の間、バスへのアクセスが許可される。
【００２６】
第１階層バスアクセスアービトレーションスキームは、低いレイテンシ要求を有するプロセッサに応じるために、第２階層バスアクセスアービトレーションスキームへのオーバレイとして実施されうる。図１に戻って示すように、メモリ１０４への低レイテンシアクセスを要求するプロセッサ１０２は、バスアービタ１０８によって、第１階層に割り当てられうる。同じプロセッサ１０２が高帯域要求を持っている場合、同様に、第２階層の割り当てをも受け取るかもしれない。第２階層のバスアクセスアービトレーションスキームに関して記述されたものと類似した方法で、プログラム可能又は調整可能な重みが、バスアービタ１０８によって各第１階層プロセッサ１０２に割り当てられうる。プロセッサに割り当てられた重みは、与えられた時間期間の間、最低数のバスアクセス許可を受けることを保証するために使用される。プロセッサ要求が第１階層要求となるメカニズム又は時間におけるポイントは、この要求が、追加信号を介したアービタへの第１階層要求であることを示すプロセッサによって、あるいは、プロセッサの要求を、第１階層要求に高めるアービタ自身によって達成されうる。例えば、アービタは、マスタ要求がペンディングになり許可されていないクロックサイクルをカウントするレイテンシタイマを持っているかもしれない。一旦レイテンシタイマが、プログラム可能な値に達したか、又はそれを超えたならば、アービタは、プロセッサの要求を、第１階層に内部的に高めることができる。あるいは、重みは、時間期間の間、データビート又はバイトをプロセッサに割り当てるために使用されうる。この時間期間は、バス間隔と同じかもしれないし、異なるかもしれない。また、重みは、変化するレイテンシ要求に応じてプログラム可能又は調整可能でありうる。
【００２７】
先ず、処理システム１００の電源を入れると、バス１１０に接続され、レイテンシ要求を有する各プロセッサ１０２は、自己の要求をバスアービタ１０８に通信する。幾つかのインスタンスでは、プロセッサ１０２は、レイテンシ及び帯域幅の両方の要求をバスアービタ１０８に通信しうる。それらの通信に応じて、バスアービタは、バス１１０に接続された様々なプロセッサ１０２へ適切な第１階層及び第２階層の割り当てを行う。バスアービタ１０８は、また、第１階層及び第２階層プロセッサ１０２の各々に重みを割り当てる。動作中、プロセッサ１０２が新たなアプリケーションを始めるか、あるいは、そのレイテンシ要求が変化すると、１又は複数の階層について、プロセッサ１０２とバスアービタ１０８との間で新たな重みがネゴシエートされうる。
【００２８】
図４は、図２の第２階層のバスアクセスアービトレーションスキーム上にオーバレイされた第１階層のバスアクセスアービトレーションスキームのタイミングを図示する概念図である。この例では、バスアービタは、様々な第１階層プロセッサのレイテンシ要求に基づいて、サービス品質間隔４０２を判定する。サービス品質間隔４０２は、変化するレイテンシ要求をサポートするためにプログラム可能又は調整可能でありうる。サービス品質間隔４０２の間、バスへのアクセスを要求する第１階層プロセッサは、第２及び第３階層の要求よりも高い優先度が与えられうる。２以上の第１階層プロセッサの間のバスに対するコンテンションは、最も高い重みを持つプロセッサへのアクセスを許可することによって解決されうる。各プロセッサの重みは、バスへのアクセスが許可される毎に減らされる。第１階層プロセッサの重みが０に達する場合、現在のサービス品質間隔４０２である間、バスアービタによって、第１階層バスアクセス要求は、それ以上認められないだろう。第１階層プロセッサの重みは、各サービス品質間隔４０２の初めにおいて、バスアービタによって、そのオリジナルの割当値に再設定されるだろう。サービス品質間隔４０２は、バス間隔２０２と同じかもしれないし、あるいは異なるかもしれない。これら２つの間隔が異なる場合、バス間隔２０２はサービス品質間隔４０２より長いかもしれないか、またより短いかもしれない。また、２つの時間期間は互いの倍数かもしれないし、そうではないかもしれない。図４に示す例において、バス間隔２０２は、サービス品質間隔４０２より３倍長い。
【００２９】
図５は、図３の第２のバスアクセスアービトレーションスキーム上にオーバレイされた第１階層バスアクセスアービトレーションスキームの動作を図示する概念図である。この例では、２つの第１階層プロセッサ（Ｐ１，Ｐ２）、３つの第２階層プロセッサ（Ｐ２，Ｐ３，Ｐ４），及び、３つの第３階層プロセッサ（Ｐ５，Ｐ６，Ｐ７）がある。第２のプロセッサＰ２は、レイテンシ要求と高帯域要求との両方を有しており、従って、第１階層及び第２階層の割り当てがある。第１のプロセッサＰ１は、第１階層の割当を有する低レイテンシプロセッサであり、第３及び第４のプロセッサ（Ｐ３及びＰ４）は、第２階層の割当を有する高帯域プロセッサである。残りのプロセッサ（Ｐ５，Ｐ６，及びＰ７）は、特定のレイテンシ要求も帯域幅要求も持たないベストエフォートプロセッサである。
【００３０】
バスアービタによって第１階層及び第２階層プロセッサに割り当てられた重みは、トークンと呼ばれるだろう。第１のプロセッサＰ１は、第１階層のトークンが２つ割り当てられ、第２のプロセッサＰ２は、第１階層のトークン１つと、第２階層のトークン２つとが割り当てられ、第３のプロセッサＰ３は、第２階層のトークン３つが割り当てられ、第４のプロセッサＰ４は、第２階層のトークン１つが割り当てられる。
【００３１】
バスアービタは、先ず、サービス品質間隔４０２に、５つのタイムスロットを設定し、バス間隔２０２に１５のタイムスロットを設定する。第１のプロセッサＰ１は、第３，第４，第１２，及び第１３番目のタイムスロット５０３，５０４，５１２，及び５１３の間、バスアクセスを求める第１階層要求を行っていることが示される。第２のプロセッサＰ２は、第３乃至第６番目のタイムスロット５０３〜５０６と、第１２乃至第１４番目のタイムスロット５１２〜５１４の間、バスアクセスを求める第１階層要求を行っていることが示される。図示していないが、全てのプロセッサは、バスアクセスを求める要求を連続的に行っている。
【００３２】
バスアクセスアービトレーションスキームは、バス間隔２０２の初めにおいて、重み付け時間期間２０４に入る。第１のタイムスロット５０１中、バスに対するコンテンションは、最も多くのトークンを有する第２階層プロセッサへのアクセスを許可することによって解決される。それは、この場合、３つのトークンを有する第３のプロセッサＰ３である。第３のプロセッサＰ３へのバスアクセスを許可すると、バスアービタは、第３のプロセッサの第２のトークンを１減らす。これによって、第３のプロセッサには、第２階層のトークンが２つ残る。
【００３３】
第２のタイムスロット５０２中におけるバスに対するコンテンションは、最も多いトークンを有する第２階層プロセッサへのバスアクセスを許可することにより、同様に解決されうる。しかしながら、この場合、第２のプロセッサＰ２と第３のプロセッサＰ３は両方とも、第２階層の他のどのプロセッサよりも多い２つのトークンを持つ。バスアービタは、ラウンドロビンアービトレーションスキームを適用して、２つのプロセッサ間のアービトレートを行う。第３のプロセッサＰ３は、前のタイムスロット５０１の間にバスへのアクセスが許可されたので、バスアービタは、現在のタイムスロット５０２の間に、第２のプロセッサＰ２へのバスアクセスを許可する。第２のプロセッサＰ２へのバスアクセスを許可すると、バスアービタは、第２のプロセッサの第２階層のトークンを１減らす。これによって、第２のプロセッサには、第２階層のトークンが１つ残る。
【００３４】
第３のタイムスロット５０３の間、第１のプロセッサＰ１と第２のプロセッサＰ２との両方が、バスにアクセスするための第１階層要求を行う。第１階層要求に優先度を与えるように構成されているバスアービタは、この場合、第１のプロセッサＰ１と第２のプロセッサＰ２との間をアービトレートしなければならない。第１のプロセッサＰ１は、第２のプロセッサＰ２よりも、第１階層のトークンを多く持つので、バスアービタは、第１のプロセッサＰ１へバスアクセスを許可する。第１のプロセッサＰ１へのバスアクセスを許可すると、バスアービタは、第１のプロセッサの第１階層のトークンを１減らす。これによって、第１のプロセッサには、第１階層のトークンが１つ残る。
【００３５】
次のタイムスロット５０４の間、第１のプロセッサＰ１と第２のプロセッサＰ２とはともに、バスへのアクセスを求める第１階層要求を繰り返し行う。しかしながら、この時、第１のプロセッサＰ１と第２のプロセッサＰ２とはそれぞれ第１階層のトークンを同じだけ持つので、バスアービタは、ラウンドロビンアービトレーションスキームを用いて、２つのプロセッサ間をアービトレートする。第１のプロセッサＰ１は、前のタイムスロット５０３においてバスへのアクセスが許可されたので、バスアービタは、第２のプロセッサＰ２へのバスアクセスを許可しうる。第２のプロセッサＰ２へのアクセスを許可すると、バスアービタは、第２のプロセッサの第１階層のトークンを１減らす。これによって、第２のプロセッサには、第１階層のトークンが０になる。
【００３６】
第５のタイムスロット５０５中に、第２のプロセッサＰ２によって繰り返しなされた第１階層の要求は、バスアービタによって拒否されうる。なぜなら、第２のプロセッサＰ２は、その第１階層のトークンを全て使い果たしているからである。代わりに、バスアービタは、最も多くのトークンを有する第２階層のプロセッサへのバスアクセスを許可する。この場合、そのプロセッサは、第２階層のトークンを２つ有する第３のプロセッサＰ３である。第３のプロセッサＰ３へのバスアクセスを許可すると、バスアービタは、第３のプロセッサの第２階層のトークンを１減らす。これによって、第３のプロセッサには、第２階層のトークンが１つ残る。
【００３７】
新たなサービス品質間隔４０２は、第６のタイムスロット５０６の初めから始まる。バスアービタは、第１階層のプロセッサのそれぞれに、適切な数のトークンを再設定する。レイテンシ要求に変化がないと仮定すると、バスアービタは、第１のプロセッサの第１階層のトークンを２に、第２のプロセッサの第１階層のトークンを１に増やす。バスアービタは、今、第６のタイムスロット５０３中、第１階層の要求に応じて、第２のプロセッサＰ２へのバスアクセスを許可することができる。第２のプロセッサＰ２へのバスアクセスが許可されると、バスアービタは、第２のプロセッサの第１階層のトークンを１減らす。これによって、第２のプロセッサには、第１階層のトークンが０個残る。その結果、次のサービス品質間隔４０２まで、第２のプロセッサＰ２は、第１階層要求に応じて、バスへのいかなる更なるアクセスも許可されないだろう。
【００３８】
第７のタイムスロット５０７中、第２階層プロセッサＰ２，Ｐ３、及びＰ４はそれぞれ１つのトークンを持っている。バスアービタは、ラウンドロビンスキームを用いて、３つのプロセッサ間のバスアクセスをアービトレートしうる。この場合、第２のプロセッサＰ２と第３のプロセッサＰ３との両方は、現在のバス間隔２０２中、第２階層要求に応じて、バスにアクセスしている。現在のバス間隔２０２においてバスへ未だにアクセスしていない第４のプロセッサＰ４が、アクセス許可されうる。第４のプロセッサＰ４へのバスアクセスを許可すると、バスアービタは、第４のプロセッサの第２階層のトークンをゼロに減らし、第２のプロセッサＰ２と第３のプロセッサＰ３とが、第８のタイムスロット５０８において、第２階層のトークンを最も多く持つようになる。バスアービタは、ラウンドロビンアービトレーションスキームを使用し続け、以下２つのタイムスロット５０８，５０９において、第２のプロセッサＰ２及び第３のプロセッサＰ３へのメモリアクセスを任意の順序で許可する。これによって、第２階層のプロセッサの第２階層の全てのトークンを使い果たし、バス間隔２０４の重み付け時間期間２０４を終える。
【００３９】
この重み付け時間期間２０４の後に、ベストエフォート時間期間２０６が続く。ベストエフォート時間期間２０６の間、バスアービタは、ラウンドロビン方式でバスへのアクセスを許可しうる。図５に示す例では、第５のプロセッサＰ５及び第６のプロセッサＰ６は、第１０のタイムストット５１０及び第１１のタイムスロット５１１それぞれの間、バスアービタによってメモリへのアクセスが許可されうる。あるいは、ベストエフォート時間期間２０６の最初の２つのタイムスロット５１０，５１１の間、プロセッサのいかなる他の組み合わせもバスアクセスが許可されうる。
【００４０】
第３のサービス品質間隔４０２は、第１１のタイムスロット５１１の初めにおいて始まり、第１のプロセッサＰ１及び第２のプロセッサＰ２は、適切な数の第１階層のトークンに再設定される。これらプロセッサのレイテンシ要求が変化していないと再び仮定すると、第１のプロセッサの第１階層のトークンは２であり、第２のプロセッサの第１階層のトークンは１に増加されるだろう。図５に示すように、これらのプロセッサは両方とも、第１２のタイムスロット５１２中、メモリへのアクセスを求める第１階層要求を行う。これらの要求に応じて、バスアービタは、その時間スロット５１２の間、第１階層のトークンを最も多く有する第１のプロセッサＰ１へのバスアクセスを許可する。第１のプロセッサＰ１へのバスアクセスを許可すると、バスアービタは、第１のプロセッサの第１階層のトークンを１減らす。これによって、第１のプロセッサには、第１階層のトークンが１つ残る。
【００４１】
第１３のタイムスロット５１３の間、第１のプロセッサＰ１と第２のプロセッサＰ２はともに、メモリへのアクセスを求める第１階層要求を繰り返し行う。しかしながら、この時、第１のプロセッサＰ１及び第２のプロセッサＰ２は、第１階層のトークンを同数持っている。従って、バスアービタは、ラウンドロビンアービトレーションスキームを用いて、そのタイムスロット５１３中に、第２のプロセッサＰ２に対するメモリアクセスを許可しうる。第２のプロセッサＰ２へのバスアクセスを許可すると、バスアービタは、第２のプロセッサの第１階層のトークンを１減らす。これによって、第２のプロセッサには、第１階層のトークンが０個残る。
【００４２】
第１４のタイムスロット５１４の間、第２のプロセッサＰ２によって繰り返しなされた第１階層要求は、バスアービタによって拒否されうる。なぜなら、第２のプロセッサＰ２は、その第１階層のトークンを全て使い果たしているからである。代わりに、バスアービタは、ラウンドロビンアービトレーションスキームを用いて、第１４のタイムスロット５１４において第７のプロセッサＰ７へ、第１５のタイムスロット５１５において第１のプロセッサＰ１へのバスアクセスを許可し、ベストエフォート通信をサポートする。これら２つのタイムスロット５１４，５１５においては、その他の組み合わせからなるバスアクセス許可も可能である。第１５のタイムスロット５１５の終わりにおいて、新たなバス間隔、及び新たなサービス品質間隔が始まる。バスアービタは、各プロセッサについて、第１の階層のトークン及び第２階層のトークンを再設定する。そして、上述した処理が繰り返される。
【００４３】
ここで開示された実施形態に関連して記述された様々の説明的論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、アプリケーションに固有の集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）あるいはその他のプログラマブル論理デバイス、ディスクリートゲートあるいはトランジスタロジック、ディスクリートハードウェア部品、又は上述された機能を実現するために設計された上記何れかの組み合わせを用いて実現又は実行されうる。汎用プロセッサとしてマイクロプロセッサを用いることが可能であるが、代わりに、従来技術によるプロセッサ、コントローラ、マイクロコントローラ、あるいは状態機器を用いることも可能である。プロセッサは、たとえばＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアに接続された１つ以上のマイクロプロセッサ、またはこのような任意の構成である計算デバイスの組み合わせとして実現することも可能である。
【００４４】
ここで開示された実施形態に関連して記述された方法やアルゴリズムは、ハードウェアや、プロセッサによって実行されるソフトウェアモジュールや、これらの組み合わせによって直接的に具現化される。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、あるいは当該技術分野で知られているその他の型式の記憶媒体に収納されうる。記憶媒体は、プロセッサがそこから情報を読み取り、またそこに情報を書き込むことができるようにプロセッサに接続される。または、記憶媒体はプロセッサに統合されうる。
【００４５】
開示された実施形態における上述の記載は、当該技術分野におけるいかなる人であっても、本発明の活用または利用を可能とするように提供される。これらの実施形態への様々な変形例もまた、当該技術分野における熟練者に対しては明らかであって、ここで定義された一般的な原理は、本発明の主旨または範囲を逸脱せずに他の実施形態にも適用されうる。このように、本発明は、ここで示された実施形態に制限されるものではなく、特許請求の範囲と整合のとれた全範囲に相当するものを意図しており、単数形の要素への参照は、「１又は複数」と具体的に述べられていないのであれば、「１及び１のみ」を意味するようには意図されていない。当業者に周知であるか、本開示全体を通じて記述され、後に周知になる様々な実施形態の構成要件と等価な全ての構成及び機能は、参照によって本明細書に明確に組み込まれており、特許請求の範囲に含まれていることが意図される。更に、そのような開示が特許請求の範囲に明示的に記述されているか否かに関わらず、本明細書で開示されている何れも、公衆に放棄されることを意図していない。特許請求の範囲の構成要件が、「〜する手段」(means for)という文言を用いて、また、方法発明の場合には「〜するステップ」(step for)という文言を用いて明確に記述されていなければ、何れの構成要件も、３５Ｕ．Ｓ．Ｃ  １１２条第６パラグラフの条件の下で解釈されるものではない。
【図１】
2011187069.tif 000003
【図２】
2011187069.tif 000004
【図３】
2011187069.tif 000005
【図４】
2011187069.tif 000006
【図５】
2011187069.tif 000007
【手続補正書】
【提出日】平成23年5月13日(2011.5.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
処理システムであって、
バスと、
前記バスに接続された複数のプロセッサと、
前記複数のプロセッサのうちの少なくとも１つのプロセッサの各々に第２階層重みを割り当て、前記割り当てられた第２階層重みに基づいて、バス間隔の初期部分の間、前記少なくとも１つのプロセッサに対するバスアクセスを連続的に許可するように構成されたバスアービタとを備え、
前記バスアービタは更に、前記複数のプロセッサのうちの第１階層重みを有する少なくとも１つのプロセッサからの要求に応じて、前記バス間隔の初期部分の間、この少なくとも１つのプロセッサのうちの何れか１つへのバスアクセスを許可し、前記第１階層重みを有するプロセッサが、前記バスアクセスを要求していない場合、前記バス間隔の初期部分の間、前記第２階層重みを割り当てられたプロセッサの前記バスへのアクセスを許可し、
前記バスアービタは更に、前記複数のプロセッサのうち、最も大きな第２階層重みを持つプロセッサへのバスアクセスを許可し、かつ、バスアクセスが許可された後、そのプロセッサの第２階層重みを減らし、
前記複数のプロセッサのうちの少なくとも１つに、前記第１階層重みと前記第２階層重みとの両方が割り当てられる処理システム。
【請求項２】
前記バスアービタは更に、前記バス間隔の初期部分の後である前記バス間隔の残りの部分の間、前記複数のプロセッサのうちの何れか１つからの要求に応じて、要求元のプロセッサのうちの何れか１つに対するバスアクセスを許可するように構成された請求項１に記載の処理システム。
【請求項３】
前記バスアービタは更に、ラウンドロビンスキームに基づいて、前記バス間隔の残りの部分の間、前記複数のプロセッサのうちの何れか１つへのバスアクセスを許可するように構成された請求項２に記載の処理システム。
【請求項４】
前記バスアービタは更に、前記バス間隔の持続時間を調整するように構成された請求項１に記載の処理システム。
【請求項５】
前記第２階層重みがゼロまで減った場合、前記バス間隔の初期部分が終了する請求項１に記載の処理システム。
【請求項６】
前記バスアービタは更に、前記バス間隔の各々の開始において、前記第２階層重みを設定するように構成された請求項５に記載の処理システム。
【請求項７】
前記第２階層重みは、前記第２階層重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたバスアクセス許可の数を含む請求項１に記載の処理システム。
【請求項８】
前記第２階層重みは、前記第２階層重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたデータビートの数を含む請求項１に記載の処理システム。
【請求項９】
前記バスアービタは更に、前記第１階層重みを有するプロセッサの各々に対して、サービス品質間隔の開始において、前記第１階層重みを設定するように構成される請求項１の記載の処理システム。
【請求項１０】
前記サービス品質間隔の持続時間は、前記バス間隔の持続時間と同じである請求項９に記載の処理システム。
【請求項１１】
前記サービス品質間隔の持続時間は、前記バス間隔の持続時間とは異なる請求項９に記載の処理システム。
【請求項１２】
前記バスアービタは更に、前記バスへのアクセスが許可された何れか１つのプロセッサの第１階層重みを減らすように構成された請求項９に記載の処理システム。
【請求項１３】
前記バスアービタは更に、前記サービス品質間隔の持続時間を調整するように構成された請求項９に記載の処理システム。
【請求項１４】
処理システムであって、
バスと、
前記バスに接続された複数のプロセッサと、
前記複数のプロセッサのうち、第１階層のプロセッサの各々に第１階層重みを割り当て、かつ、第２階層のプロセッサの各々に第２階層重みを割り当てるように構成されたバスアービタとを備え、
前記第１階層は、前記第２階層よりも高次であって、前記バスアービタは更に、バスアクセスを要求するプロセッサのうち、より高次の階層内で最も大きい重みを持つプロセッサへのバスアクセスを許可することによって、前記バスアクセスを要求する１又は複数のプロセッサの間をアービトレートするように構成され、
前記バスアービタは更に、前記バスアクセスが許可されたプロセッサに対して、対応する階層における重みを減らすように構成され、
前記複数のプロセッサのうちの少なくとも１つに、前記第１階層重みと前記第２階層重みとの両方が割り当てられる処理システム。
【請求項１５】
前記プロセッサは更に、サービス品質間隔の開始において、前記第１階層のプロセッサの各々に対して、前記第１階層重みを設定し、かつ、バス間隔の開始において、前記第２階層のプロセッサの各々に対して、前記第２階層重みを設定するように構成される請求項１４に記載の処理システム。
【請求項１６】
前記サービス品質間隔の持続時間は、前記バス間隔の持続時間と同じである請求項１５に記載の処理システム。
【請求項１７】
前記サービス品質間隔の持続時間は、前記バス間隔の持続時間とは異なる請求項１５に記載の処理システム。
【請求項１８】
前記バスアービタは更に、前記バス間隔、及び前記サービス品質間隔の持続時間を調整するように構成された請求項１５に記載の処理システム。
【請求項１９】
前記第２階層重みは、前記第２階層重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されるバスアクセス許可の数を含む請求項１５に記載の処理システム。
【請求項２０】
前記第２階層重みは、前記第２階層重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたデータビートの数を含む請求項１５に記載の処理システム。
【請求項２１】
前記第２階層のプロセッサの各々に割り当てられた第２階層重みは、前記第２階層重みが割り当てられたプロセッサの帯域幅に関連する請求項１４に記載の処理システム。
【請求項２２】
前記バスアービタは更に、前記バスへのアクセスを要求するプロセッサの何れもが第１階層重み又は第２階層重みを有していないのであれば、前記要求する１又は複数のプロセッサのうちの１つへのバスアクセスをラウンドロビン方式で許可することによって、前記バスへのアクセスを要求する１又は複数のプロセッサの間をアービトレートするように構成された請求項１４に記載の処理システム。
【請求項２３】
バスへのアクセスを要求する複数のプロセッサの間をアービトレートする方法であって、
前記１又は複数のプロセッサのうちの少なくとも１つの各々に第２階層重みを割り当てることと、
前記割り当てられた第２階層重みに基づいて、バス間隔の初期部分の間、前記少なくとも１つのプロセッサへバスアクセスを連続的に許可することと、
第１階層重みを有する何れか１つのプロセッサからの要求に応じて、前記バス間隔の初期部分の間、要求元のプロセッサにバスアクセスを許可することと、
前記第１階層重みを有するプロセッサが、前記バスアクセスを要求していない場合、前記バス間隔の初期部分の間、前記第２階層重みを割り当てられたプロセッサの前記バスへのアクセスを許可することと、
前記１又は複数のプロセッサのうち、最も大きい前記第２階層重みを持つプロセッサへバスアクセスを許可し、バスアクセスが許可された後、このプロセッサの第２階層重みを減らすこととを備え、
前記複数のプロセッサのうちの少なくとも１つに、前記第１階層重みと前記第２階層重みとの両方が割り当てられる方法。
【請求項２４】
前記バス間隔の初期部分の後である前記バス間隔の残りの部分の間、前記プロセッサのうちの何れか１つからの要求に応じて、要求元のプロセッサに対するバスアクセスを許可することを更に備える請求項２３に記載の方法。
【請求項２５】
前記バス間隔の残りの部分の間、前記バスアクセスを許可することは、ラウンドロビンスキームに基づく請求項２４に記載の方法。
【請求項２６】
前記バス間隔の持続時間を調整することを更に備える請求項２３に記載の方法。
【請求項２７】
前記複数のプロセッサのうちの少なくとも１つ各々の第２階層重みがゼロまで減った場合、前記バス間隔の初期部分が終了する請求項２３に記載の方法。
【請求項２８】
前記バス間隔の各々の開始において、前記複数のプロセッサのうちの少なくとも１つの各々に前記第２階層重みを設定することを更に備える請求項２７に記載の方法。
【請求項２９】
前記第２階層重みは、前記第２階層重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたバスアクセス許可の数を含む請求項２３に記載の方法。
【請求項３０】
前記第２階層重みは、前記第２階層重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたデータビートの数を含む請求項２３に記載の方法。
【請求項３１】
前記プロセッサのうち、第１階層重みを有する何れかの各々に対して、サービス品質間隔の開始において、前記第１階層重みを設定することを更に備える請求項２３に記載の方法。
【請求項３２】
前記サービス品質間隔の持続時間は、前記バス間隔の持続時間と同じである請求項３１に記載の方法。
【請求項３３】
前記サービス品質間隔の持続時間は、前記バス間隔の持続時間とは異なる請求項３１に記載の方法。
【請求項３４】
前記プロセッサのうち、前記メモリへのアクセスが許可された何れか１つのプロセッサの第１階層重みを減らすことを更に備える請求項３１に記載の方法。
【請求項３５】
前記サービス品質間隔の持続時間を調整することを更に備える請求項３１に記載の方法。
【請求項３６】
バスへのアクセスを要求する複数のプロセッサの間をアービトレートする方法であって、
複数のプロセッサのうち、第１階層の前記プロセッサの各々に第１階層重みを割り当てることと、
複数のプロセッサのうち、第２階層の前記プロセッサの各々に第２階層重みを割り当てることと、
前記第１階層は、前記第２階層よりも高次であって、バスアクセスを要求するプロセッサのうち、より高次の階層内で最も大きい重みを持つプロセッサへのバスアクセスを許可することによって、前記バスアクセスを要求する１又は複数のプロセッサの間をアービトレートすることと、
前記バスアクセスが許可されたプロセッサに対して、対応する階層における重みを減らすこととを備え、
前記複数のプロセッサのうちの少なくとも１つに、前記第１階層重みと前記第２階層重みとの両方が割り当てられる方法。
【請求項３７】
サービス品質間隔の開始において、前記第１階層のプロセッサの各々に対して、前記第１階層重みを設定することと、
バス間隔の開始において、前記第２階層のプロセッサの各々に対して、前記第２階層重みを設定することと
を更に備える請求項３６に記載の方法。
【請求項３８】
前記サービス品質間隔の持続時間は、前記バス間隔の持続時間と同じである請求項３７に記載の方法。
【請求項３９】
前記サービス品質間隔の持続時間は、前記バス間隔の持続時間とは異なる請求項３７に記載の方法。
【請求項４０】
前記バス間隔、及び前記サービス品質間隔の持続時間を調整することを更に備える請求項３７に記載の方法。
【請求項４１】
前記第２階層重みは、前記第２階層重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたバスアクセス許可の数を含む請求項３７に記載の方法。
【請求項４２】
前記第２階層重みは、前記第２階層重みが割り当てられたプロセッサによって、前記バス間隔の間に要求されたデータビートの数を含む請求項３７に記載の方法。
【請求項４３】
前記第２階層のプロセッサの各々に割り当てられた第２階層重みは、前記第２階層重みが割り当てられたプロセッサの帯域幅に関連する請求項３６に記載の方法。
【請求項４４】
前記バスへのアクセスを要求するプロセッサの何れもが第１階層重み又は第２階層重みを有していないのであれば、前記要求する１又は複数のプロセッサの間のアービトレーションが、ラウンドロビン方式で行われる請求項３６に記載の方法。
【外国語明細書】
2011187069000001.pdf