(57)【特許請求の範囲】
【請求項１】
処理システムにおいて共用メモリへのアクセスを求めるバスマスタからの要求をアービトレーションする方法であって、
前記共用メモリへの現在スケジュールされているアクセスを予め参照するステップと、
前記現在スケジュールされているアクセスの特性に基づいて、バスマスタからの前記要求のレイテンシを予測するステップと、を含み、現在スケジュールされているアクセスの前記特性は、対応する要求を処理するためにアクセスされる必要がある前記共用メモリのページであり、
前記要求を生成した対応するバスマスタのレイテンシ要件に基づいて前記要求に優先順位値を割り当てるステップと、
前記割り当てられた優先順位値および前記予測されたレイテンシの値に基づいて前記要求のための統合優先順位値を生成するステップと、
前記統合優先順位値に少なくとも部分的に基づいて、ページヒット率を高めるようにバスマスタからの前記要求をスケジュールするステップと
をさらに含む方法。
【請求項２】
前記統合優先順位値に少なくとも部分的に基づいて、バスマスタからの前記要求をスケジュールするステップは、バスマスタからの前記要求の一部分を選択するステップを含む、請求項1に記載の方法。
【請求項３】
前記共用メモリへのアクセスを開始する前に、前記処理システムのスレーブ側で前記要求の前記選択された一部分を並べ替えるステップをさらに含む、請求項2に記載の方法。
【請求項４】
共用メモリシステムと、
前記共用メモリシステムにアクセスすることを求める要求を生成するように構成されたバスマスタと、
現在スケジュールされているアクセスを処理するように構成されたメモリコントローラと、
現在スケジュールされているアクセスの特性に基づいて前記要求のレイテンシを予測するように構成されたレイテンシ予測器と、を含み、現在スケジュールされているアクセスの前記特性は、対応する要求を処理するためにアクセスされる必要がある共用メモリのページであり、
前記要求を生成した対応するバスマスタのレイテンシ要件に基づいて前記要求に優先順位値を割り当て、前記割り当てられた優先順位値および前記予測されたレイテンシの値に基づいて前記要求のための統合優先順位値を生成し、前記統合優先順位値に少なくとも部分的に基づいて、ページヒット率を高めるように前記バスマスタからの要求をスケジュールするように構成されたアービタをさらに含む処理システム。
【請求項５】
前記統合優先順位値に少なくとも部分的に基づいて前記要求の少なくとも一部分を選択し、それにより前記選択された一部分がページヒット率を高めるように前記アービタが構成される、請求項4に記載の処理システム。
【請求項６】
前記メモリコントローラは、
選択された要求を、前記要求が前記アービタから受信された順序で記憶するコマンド待ち行列と、
ページヒット率が高まるように、前記コマンド待ち行列に記憶された要求の前記順序を並べ替える並べ替えユニットと、
前記共用メモリへの現在のアクセスをステージングするメモリ待ち行列と
をさらに含む、請求項4に記載の処理システム。
【請求項７】
共用メモリへのアクセスを求めるバスマスタからの要求をアービトレーションする処理システムであって、
前記共用メモリへの現在スケジュールされているアクセスを予め参照する手段と、
前記現在スケジュールされているアクセスの特性に基づいて、バスマスタからの前記要求のレイテンシを予測する手段と、を含み、現在スケジュールされているアクセスの前記特性は、対応する要求を処理するためにアクセスされる必要がある前記共用メモリのページであり、
前記要求を生成した対応するバスマスタのレイテンシ要件に基づいて前記要求に優先順位値を割り当てる手段と、
前記割り当てられた優先順位値および前記予測されたレイテンシの値に基づいて前記要求のための統合優先順位値を生成する手段と、
前記統合優先順位値に少なくとも部分的に基づいて、ページヒット率を高めるようにバスマスタからの前記要求をスケジュールする手段と
をさらに含む処理システム。
【請求項８】
前記統合優先順位値に少なくとも部分的に基づいて、前記バスマスタからの前記要求をスケジュールする手段は、バスマスタからの前記要求の一部分を選択する手段と、前記共用メモリへのアクセスを開始する前に、前記処理システムのスレーブ側で前記要求の選択された一部分を並べ替える手段とをさらに含む、請求項7に記載の処理システム。
【請求項９】
処理システムにおいて共用メモリへのアクセスを求めるバスマスタからの要求をアービトレーションする方法であって、
前記共用メモリへの現在スケジュールされているアクセスを予め参照するステップと、
前記現在スケジュールされているアクセスの特性に基づいて、バスマスタからの前記要求のレイテンシを予測するステップと、を含み、前記現在スケジュールされているアクセスの前記特性は、対応する要求を処理するためにアクセスされる必要がある前記共用メモリのページであり、
前記要求を生成した対応するバスマスタのレイテンシ要件に基づいて前記要求に優先順位値を割り当てるステップと、
前記割り当てられた優先順位値および前記予測されたレイテンシの値に基づいて前記要求のための統合優先順位値を生成するステップと、
前記統合優先順位値に少なくとも部分的に基づいて、ページヒット率を高めるようにバスマスタからの前記要求をスケジュールするステップと
をさらに含む方法。
【請求項１０】
前記統合優先順位値に少なくとも部分的に基づいて、前記バスマスタからの前記要求をスケジュールするステップは、バスマスタからの前記要求の一部分を選択するステップと、前記共用メモリへのアクセスを開始する前に、前記処理システムのスレーブ側で前記要求の選択された一部分を並べ替えるステップとをさらに含む、請求項9に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
同時係属特許出願の参照
本特許出願は、以下の同時係属米国特許出願に関する。
本出願の譲受人に譲渡され、参照により明白に本明細書に組み込まれる、本明細書と同時に出願された代理人整理番号091984のWang Fengによる「METHODS OF BUS ARBITRATION FOR LOW POWER MEMORY ACCESS」。
【０００２】
開示される実施形態は、バスアービトレーション技法に関する。特に、開示される実施形態は、共用メモリシステムにおけるメモリアクセスレイテンシを低減する技法を対象とする。
【背景技術】
【０００３】
共用メモリ構造を有するシステムアーキテクチャは、当技術分野でよく知られている。共用またはグローバルメモリ空間は、バスまたは相互接続システムを介して複数のプロセッサまたは処理要素によってアクセスされ得る。処理要素は概念的に、相互接続システムの「バスマスタ」と呼ばれ、共用メモリ構造は「スレーブ」側に存在する。バスマスタは、共用メモリリソースに対する読取り/書込み要求を行う。要求は、スレーブ側の「メモリコントローラ」によって処理される。一般に、メモリコントローラは、データの転送を容易にするために、相互接続システムにおけるバスマスタと共通メモリ空間との間の二地点間接続を完成させる。
【０００４】
所与の時間にただ1つのアクセス要求が処理可能であるので、共用メモリ空間へのアクセスにおいて複数のバスマスタが互いに競合することは、非常によくあることである。したがって、あるバスマスタはアクセス権を付与されない一方で、別のバスマスタについては処理されるように、共用メモリへのアクセスが同期化される。競合を回避するために、様々なバスマスタからの要求を同期化し、スケジュールするスケジューリング機構または「アービトレーション方式」が用いられる。「バスアービタ」が、アービトレーションのタスクを実行する。
【０００５】
バスアービタは、所与の時間においてメモリへのアクセス権をどのバスマスタに付与できるかを判断する。2つ以上のバスマスタが同時にメモリへのアクセスを試みたとき、1つのみがアクセス権を付与される一方で、他のプロセッサは待機しなければならない。アービタが直面する課題の1つは、特定のバスマスタを優先して当該バスマスタがメモリにアクセスできるようにすることによって、優先順位のより低いバスマスタがいつまでも締め出されること、またはアクセス権取得の不当な遅延に見舞われることがないようにすることである。
【０００６】
1つの一般的なアービトレーション方式は、ラウンドロビンアービトレーション方式であり、この方式では、利用可能な帯域幅がすべてのバスマスタに均等に割り振られる。個々のバスマスタのレイテンシ要件にかかわらず、所定の順序に従ってメモリアクセス権が付与される。たとえば、音声通信を処理するデジタル信号プロセッサ(DSP)は、低レイテンシ通信を要求するが、基本的なラウンドロビン方式は、そのようなレイテンシ特性に対応するうえで非常に非効率的であることが判明し得る。
【０００７】
別のよく知られている手法は、トークンベースの手法であり、この手法では、「トークン」がネットワーク中で渡され、トークンを処理するバスマスタのみがアクセスを許可され得る。特定の処理要素がアクセスを必要としていない場合、この処理要素はトークンを近隣の処理要素に渡すことができる。優先順位およびレイテンシ要件の概念が、そのような方式の実施態様に組み込まれている。トークンベースのアービトレーション方式は、バスマスタのレイテンシ特性に基づいて優先順位を割り振ることによって、レイテンシ要件を保証しようとしている。
【０００８】
しかしながら、これらおよび他のよく知られているアービトレーション方式は、相互接続システムのスレーブ側におけるトランザクションを考慮していない。たとえば、従来のアービトレーション方式を用いたメモリシステムについて考える。メモリシステム内のバスアービタは、時間的に特定の場合に、第1のバスマスタにアクセス権を付与する。要求されるデータはメモリの1ページ目に存在し、これは第1のバスマスタによるアクセスの持続時間中は開いたままである。次に、第2のバスマスタがアクセス権を付与される。しかし、第2のバスマスタは、1ページ目に存在しないデータを要求し、ページミスが発生する。要求されるデータを含む2ページ目をフェッチする際に、相当な遅延が生じる。次いで、1ページ目にあるデータを要求する第3のバスマスタに、アクセス権が付与され、1ページ目がフェッチされる間にさらに別のページミスが生じる。
【０００９】
上記の例では、同じページにアクセスする第1および第3のトランザクションが連続的にスケジュールされるように、バスアービタが要求を別様にスケジュールしていれば、第3のトランザクションではページヒットが生じたはずである。しかし、既存の技法は、ページヒットをもたらすトランザクションを予想するために予め参照（look ahead）することができない。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
したがって、当技術分野では、ページヒット率を高め、読取りと書込みとのバランスをとるために、スレーブ側でスケジュールされたトランザクションを考慮することによって、メモリアクセスレイテンシを低減できる技法が必要である。
【課題を解決するための手段】
【００１１】
例示的な実施形態は、共用メモリシステムにおけるメモリトランザクションのアクセスレイテンシを低減するアービトレーション技法のためのシステムおよび方法を対象とする。
【００１２】
たとえば、例示的な実施形態は、処理システムにおける共用メモリへのアクセスを求めるバスマスタからの要求をアービトレーションする方法を対象とし、本方法は、共用メモリへの現在スケジュールされているアクセスを予め参照するステップと、現在スケジュールされているアクセスの特性に基づいて、バスマスタからの要求のレイテンシを予測するステップと、予測されたレイテンシに少なくとも部分的に基づいて、バスマスタからの要求をスケジュールするステップとを含む。
【００１３】
別の例示的な実施形態は、処理システムを対象とし、本処理システムは、共用メモリシステムと、共用メモリシステムへのアクセスを求める将来の要求を生成するように構成されたバスマスタと、現在スケジュールされている要求を処理するように構成されたメモリコントローラと、メモリコントローラによって現在スケジュールされている要求の特性に基づいてレイテンシを予測するように構成されたレイテンシ予測器と、予測されたレイテンシに少なくとも部分的に基づいて、将来の要求の少なくとも一部分を選択するように構成されたアービタとを含む。
【００１４】
さらに別の例示的な実施形態は、共用メモリへのアクセスを求めるバスマスタからの要求をアービトレーションするための処理システムを対象とし、本処理システムは、共用メモリへの現在スケジュールされているアクセスを予め参照するための手段と、現在スケジュールされているアクセスの特性に基づいて、バスマスタからの要求のレイテンシを予測するための手段と、予測されたレイテンシに少なくとも部分的に基づいて、バスマスタからの要求をスケジュールするための手段とを含む。
【００１５】
例示的な実施形態は、処理システムにおける共用メモリへのアクセスを求めるバスマスタからの要求をアービトレーションする方法も対象とし、本方法は、共用メモリへの現在スケジュールされているアクセスを予め参照するためのステップと、現在スケジュールされているアクセスの特性に基づいて、バスマスタからの要求のレイテンシを予測するためのステップと、予測されたレイテンシに少なくとも部分的に基づいて、バスマスタからの要求をスケジュールするためのステップとを含む。
【００１６】
添付の図面は、実施形態の説明を助けるために提示され、実施形態の限定ではなく実施形態の説明のためのみに提供される。
【図面の簡単な説明】
【００１７】
【図１】従来の共用メモリシステムを示す図である。
【図２】例示的な実施形態による、メモリアクセスレイテンシに基づくバスアービトレーション技法の改善を伴う共用メモリシステムを示す図である。
【図３】例示的な実施形態による本発明の技法を示すフローチャートである。
【発明を実施するための形態】
【００１８】
本発明の態様は、以下の説明および特定の実施形態を対象とする関連する図面において、開示される。本発明の範囲から逸脱することなく代替的な実施形態を考案することができる。さらに、様々な実施形態の関連する詳細を不明瞭にしないように、様々な実施形態のよく知られている要素については詳細に説明しないか、または省略する。
【００１９】
「例示的な」という言葉は、「一例、実例または例として」を意味するために本明細書で使用される。「例示的」として本明細書で説明する任意の実施形態は、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されない。同様に、「実施形態」または「本発明の実施形態」という用語は、すべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
【００２０】
本明細書で使用する用語は、特定の実施形態について説明するためのものにすぎず、様々な実施形態を限定するものではない。本明細書で使用する単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、本明細書で使用する「含む(comprises)」、「含んでいる(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことを理解されたい。
【００２１】
さらに、多くの実施形態については、たとえば、コンピューティングデバイスの要素によって実行すべき一連のアクションに関して説明する。本明細書で説明する様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つまたは複数のプロセッサによって実行されるプログラム命令によって、あるいは両方の組合せによって実行できることを認識されよう。さらに、本明細書で説明するこれらの一連のアクションは、実行時に、関連するプロセッサに本明細書で説明する機能を実行させるコンピュータ命令の対応するセットを記憶した任意の形式のコンピュータ可読記憶媒体内で全体として実施すべきものと見なすことができる。したがって、本発明の様々な態様は、すべてが特許請求される主題の範囲内に入ることが企図されているいくつかの異なる形式で実施できる。さらに、本明細書で説明する実施形態ごとに、そのような実施形態の対応する形式を、たとえば、記載のアクションを実行する「ように構成された論理」として本明細書で説明することがある。
【００２２】
図1は、従来の共用メモリシステム100を示している。バスマスタM1〜MNは、相互接続102を通じてメモリアクセス要求を行う。バスアービタ104は、ラウンドロビンまたはトークンベースのスケジューリングなどの技法に従って、要求をスケジュールする。スレーブメモリコントローラ106は、図示のように、ダブルデータレート(DDR)メモリ108などの共用メモリリソースと通信することによって、スケジュールされた要求を処理する。メモリコントローラ106は待ち行列を維持することもあり、この場合、スケジュールされたトランザクションは、処理される前に維持される。バスアービタ104は、低レイテンシ要件を伴うバスマスタに対しより高い優先順位を割り当てることによって、バスマスタM1〜MNのレイテンシ要件に対応しようとすることがある。しかしながら、システム100は、スケジューリングプロセスにおいて、スケジュールされるトランザクションのコンテキストや、ページミスがレイテンシに及ぼす影響を考慮していない。
【００２３】
本明細書で説明する本発明の技法によれば、アービトレーションプロセスは、現在スケジュールされているメモリトランザクションから導出されるレイテンシ予測に少なくとも部分的に基づく。図2は、例示的な一実施形態である。システム100のような従来型システムの構成要素に加えて、メモリシステム200はレイテンシ予測器205を含む。レイテンシ予測器205はバスアービタ204に対し、現在スケジュールされているトランザクションに関する情報を通信する。図示のように、メモリコントローラ206はコマンド待ち行列210、並べ替えユニット212およびメモリ待ち行列214を含む。以下では、これらの構成要素の動作および詳細について、非限定的に例示するコンテキストで説明する。
【００２４】
初期条件は現在スケジュールされているメモリトランザクションを反映していないと仮定する。前述のように、バスアービタ204はバスマスタM1〜MNからメモリアクセス要求を受信し、メモリアクセスをスケジュールする要求の少なくとも一部分を選択する。この例では、アービタ204は、スケジュールするM2、M0およびM3からのメモリ要求を選択する。M2からの要求を最初に、M0からの要求を次に、M3からの要求を最後に処理するようにスケジュールする。要求のメモリアドレスに基づき、これらの要求を処理するには、共用メモリ208におけるページP2、P0およびP3にそれぞれアクセスする必要があることが把握されている。一般に、選択された要求は、コマンド待ち行列210に入り、並べ替えユニット212を通過して、メモリ待ち行列214に入る。
【００２５】
メモリ待ち行列214は、現在処理中のトランザクションを有するステージング領域である。メモリ待ち行列214におけるトランザクションを処理することで、メモリ208内のページP0が提示された場合、(M2に対応する)次のページP2の要求をスケジュールすると、ページミスが生じる。ページミスの結果さらなる遅延が発生し、そのような遅延は、低レイテンシ特性を有するバスマスタにとってとりわけ不利であることを、当業者は理解しよう。
【００２６】
しかしながら、M0からの要求が最初にスケジュールされるように、コマンド待ち行列210における選択された要求を並べ替えることによって、ページP0へのアクセスが必要となり、ページヒットが生じる。並べ替えユニット212は、選択された要求を、コマンド待ち行列210から受信された順序に関係なく並べ替える機能を実行し、その結果、コマンド待ち行列210からの順序で要求を処理する場合よりも低いレイテンシが生じる。並べ替えユニット212はレイテンシ予測器205と連携して、メモリコントローラ206内で選択された要求を並べ替える。
【００２７】
レイテンシ予測器205はメモリ待ち行列214を予め参照して、処理されている現在の要求およびメモリ内の対応するページを判断する。次いでレイテンシ予測器205はコマンド待ち行列210をチェックして、コマンド待ち行列210内の選択された要求がページヒットをもたらすか否かを判断する。そのようなスケジュールされたトランザクション(たとえば、バスマスタM0からのページP0に対する要求)が存在し、それが列内で1番目でない場合、並べ替えユニット212は当該要求を列から外し、メモリ待ち行列214においてメモリアクセスを次にスケジュールする。したがって、ページヒット率に基づいて、メモリコントローラ内で選択された要求に対しメモリアクセスの優先順位が割り当てられ、レイテンシ全体が低くなる。
【００２８】
システムが定常状態の動作モードに達し、選択された要求の初期セットがメモリコントローラ206のスケジューリングパイプラインにある場合、レイテンシ予測器205は、バスアービタ204に対するバスマスタM1〜MNからの将来の要求に関する有用な情報を作成する。レイテンシ予測器205はバスアービタ204に対し、スレーブ側のメモリコントローラ206におけるトランザクションの予想されるレイテンシに関する情報を通信する。これでバスアービタ204は、バスマスタM1〜MNからの将来のメモリ要求をアービトレーションしスケジュールする際には、この情報を備えていることになる。バスアービタは、レイテンシ予測器205からの情報に基づくメモリ要求の予測されるレイテンシ値に沿って従来のアービトレーション方式によりメモリ要求に割り当てられた優先順位値を重み付けする。メモリ要求ごとに統合優先順位値が生成され、メモリ要求はそれに応じてスケジュールされる。
【００２９】
初期条件および定常状態の動作モードに関する上記の説明は、説明のためのものにすぎず、システムは、将来の要求をアービトレーションする際にレイテンシ予測情報を利用する前に、所定の数の選択済み要求がスケジュールされるのを待機することに限定されないことが理解されよう。さらに別の例示的な実施形態では、レイテンシ予測器205は、読取り要求および書込み要求に関する情報も考慮して、スレーブメモリコントローラ206によって処理される読取りアクセスと書込みアクセスとのバランスをとるのを支援する。ロードを効率的に管理するために、システムバス上で読取りトラフィックと書込みトラフィックとのバランスをとることの大切さを、当業者は諒解されよう。
【００３０】
図3は、例示的な実施形態による定常状態における本発明の技法を示すフローチャートを示している。ブロック302において、バスマスタM1〜MNによってメモリアクセス要求が行われる。ブロック304において、バスアービタ204は、要求の少なくとも一部分を選択し、レイテンシ予測器205からのレイテンシ予測に少なくとも部分的に基づいて、要求に優先順位を割り当てる。ブロック305において、選択された要求がスケジューリングのためにスレーブメモリコントローラ206に送られる。ブロック306において、メモリ待ち行列214の予めの参照、およびコマンド待ち行列210内の要求に基づいて、コマンド待ち行列内でスケジュールされている要求のうちいずれかが次にスケジュールされた場合にページヒットをもたらすか否かが判断される。ブロック307において、この情報に基づいてレイテンシ予測器205が更新される。コマンド待ち行列による順序からずれた要求をスケジュールするとページヒットが生じると判断された場合、並べ替えユニットは、順序からずれた要求を、次にスケジュールされるようにメモリ待ち行列に送る(ブロック308)。一方、コマンド待ち行列内のスケジュールされている要求のいずれも、ページヒットをもたらさないと判断された場合、スケジュールが維持される。ブロック310において、メモリ要求は、メモリ待ち行列214内でメモリアクセスに向けてステージングされる。
【００３１】
開示する実施形態は、従来のアービトレーション方式によりも有利な点を提供しており、その手段としてメモリスケジューリングを容易にする一方でスケジュールされ得るトランザクションを増やし、メモリアクセスレイテンシの低下、および読取りと書込みとのバランスの改善をもたらしている。したがって、ページヒット率の改善を目的として要求をスケジュールするバスアービトレーション方式は、メモリシステムの帯域幅利用の改善ももたらす。
【００３２】
情報および信号は、多種多様な技術および技法のいずれかを使用して表すことができることを当業者は諒解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【００３３】
さらに、本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者なら、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００３４】
本明細書で開示した実施形態と関連して説明した方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。
【００３５】
したがって、実施形態は、メモリアクセスレイテンシを低減するバスアービトレーションのための方法を実施するコンピュータ可読媒体を含むことができる。したがって、様々な実施形態は図示の例に限定されず、本明細書で説明した機能を実行するためのいかなる手段も様々な実施形態中に含まれる。
【００３６】
上記の開示は例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正を行えることに留意されたい。本明細書で説明した実施形態による方法クレームの機能、ステップおよび/または動作は、特定の順序で実行される必要はない。さらに、様々な実施形態の要素は、単数形で説明または特許請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
【符号の説明】
【００３７】
M1  バスマスタ
M2  バスマスタ
MN  バスマスタ
100  共用メモリシステム
102  相互接続
104  バスアービタ
106  スレーブメモリコントローラ
108  ダブルデータレート(DDR)メモリ
200  メモリシステム
204  バスアービタ
205  レイテンシ予測器
206  メモリコントローラ
208  共用メモリ
210  コマンド待ち行列
212  並べ替えユニット
214  メモリ待ち行列
【図１】
0005552569.tif 000002
【図２】
0005552569.tif 000003
【図３】
0005552569.tif 000004