システムメモリ内にロードされたメモリページを要求するページ要求を周辺機器から受信することと、前記ページ要求に対応するページ要求情報を前記システムメモリ内のキューの中にキューエントリとして書き込むことと、前記ページ要求が前記キュー内で利用可能であることをプロセッサに通知することと、を含む方法。前記ページ要求が受信されたことを前記プロセッサに示すために、前記プロセッサに割込みで通知することをさらに含み、前記割込みは新しいページ要求の存在と完全に同一である、請求項1に記載の方法。前記プロセッサが前記ページ要求を処理した後、前記ページ要求を完了したという信号を前記周辺機器に送ることをさらに含む、請求項1に記載の方法。前記ページ要求を前記周辺機器から入出力メモリ管理装置IOMMUにおいて受信することと、前記ページ要求の前記完了の信号を送信するメッセージを発生するために、前記プロセッサから前記IOMMUに表示を提供することと、をさらに含む、請求項3に記載の方法。前記キューに対して読取りポインタを更新することにより、前記キューエントリの消費を示すことを前記プロセッサ上で実行するホストソフトウェアをさらに含み、前記キューは、書込みポインタおよび前記読取りポインタをもつ循環バッファである、請求項1に記載の方法。プログラム可能な場所を書き込むことにより、前記キューの大きさを選択することをさらに含む、請求項1に記載の方法。メモリページサービスの必要を示すページ要求を周辺機器から受信するための第1の通信回線インターフェースと、前記ページ要求の受信に応答して、キューエントリを含む情報を前記ページ要求から生成し、前記キューエントリをページ要求キューの中に書き込むべく、前記キューエントリを第2の通信インターフェースを介して送信するキューエントリ生成論理と、を含む集積回路を備える、コンピュータシステム。メモリコントローラを介して前記集積回路に結合されるシステムメモリをさらに含み、前記システムメモリは前記ページ要求キューを含む、請求項7に記載のコンピュータシステム。前記集積回路は、前記キューエントリが前記キュー内で利用可能であることをプロセッサに通知するようにさらに構成された、請求項7に記載のコンピュータシステム。前記集積回路は、前記ページ要求キューへの書込みを定義するテールポインタ、および前記ページ要求キューへの読取りを定義するヘッドポインタをさらに含み、前記ヘッドポインタは、システムメモリ内の前記キューエントリを読み取った後、前記プロセッサ上で実行されるソフトウェアによって更新され、前記テールポインタは、前記ページ要求キューに書き込んだ後、前記集積回路によって更新される、請求項9に記載のコンピュータシステム。前記キューエントリは、メモリページサービスを必要とする前記周辺機器を識別する機器識別フィールド、および前記周辺機器がアクセスしようとする仮想アドレスを含むアドレスフィールドを含む、請求項7に記載のコンピュータシステム。前記集積回路は、前記ページ要求キューの大きさを定義するためのプログラム可能なキュー長さレジスタ、および前記ページ要求キューのベースアドレスを定義するためのキューベースアドレスレジスタをさらに含む、請求項7に記載のコンピュータシステム。一実施形態では、システムメモリ内にロードされたメモリページを要求するページ要求を、周辺機器から受信することを含む方法が提供される。受信したページ要求に対応するページ要求情報は、システムメモリ内のキュー構造の中にキューエントリとして書き込まれる。プロセッサは、ページ要求がキュー内に存在することを通知される。一実施形態では、プロセッサは、新しいページ要求の存在に一意に関連することを、割込みで通知されてもよい。一実施形態では、メモリページサービスの必要を示すページ要求を、周辺機器から受信するために、第1の通信回線インターフェースを有する集積回路を含むコンピュータシステムが提供される。キューエントリの生成論理は、キューエントリが組み込まれた情報をページ要求から生成することにより、ページ要求の受信に応答し、キューエントリをページ要求キューの中に書き込むために、キューエントリを第2の通信インターフェースを介して送信する。ページ要求キューは、メモリコントローラを介して集積回路に結合されるシステムメモリ内にある。集積回路は、キューエントリがキュー内で利用可能であることをプロセッサに通知する。本発明は、添付図面を参照することにより、当業者にはよりよく理解され、その多くの目的、特徴、および利点が明らかになろう。ページ要求は、メモリ内にロードする必要がある新しいページをシステムに示す。図1は、ページサービス要求を周辺機器から処理する、本発明の一実施形態によるシステムを示す。例示的システムは、1つまたは複数の中央処理装置CPUおよびグラフィックス処理装置GPUを含むプロセッサ101、システムメモリ103、I/Oハブ105および107、周辺機器111および113を含む。I/Oハブは、従来のチップセット機能をコンピュータアーキテクチャ以前のアーキテクチャではサウスブリッジと呼ばれたにおいて実行し、コンピュータアーキテクチャは、様々なI/Oインターフェースをもつ様々なI/Oデバイスをインターフェースで接続することを含む。図1に示された実施形態では、I/Oハブ105および107は、I/Oアドレスをシステムメモリおよび他のメモリ管理機能における適切な物理アドレスにマッピングする支援を提供する、I/Oメモリ管理装置IOMMU110を組み込む。代替的実施形態では、複数のCPUおよび1つのGPUを含む例示的実施形態に示されたプロセッサは、デジタル信号プロセッサ、マイクロコントローラなどの他のプロセッサにおいて具現化されてもよい。図1のコンピュータシステムは、携帯端末、PDA、ノートブックコンピュータ、デスクトップコンピュータ、タブレット、サーバ、またはプロセッサを有するあらゆる他のシステム、および本明細書の教示によるメモリ要求を有する周辺機器において具現化されてもよい。加えて、I/Oハブ105、107は、プロセッサ101の中に組み込まれてもよい。周辺機器111および113は、I/OTLB112を含むので、仮想アドレスがシステムメモリ103内でいつ利用できるかを決定できる。周辺機器111が、そのアドレスはシステムメモリ内で利用できないと決定した場合は、周辺機器は、ページ要求を通信回線115を介してI/Oハブ107に知らせ、これはIOMMU110によって受信される。該要求をサービスするために、IOMMU110は、通信回線117を介して通信しなければならない。通信回線115および117が異なる通信プロトコルに従って作動するシステムでは、周辺機器111がページ要求を知らせる際、該ページ要求は、適切なプロトコルに翻訳されなければならない。たとえば、通信回線115は、PCIe商標プロトコルによって作動されてもよく、通信回線117は、HyperTransport商標プロトコルなどの通信プロトコルの別のセットによって作動されてもよい。ページ要求に適切に応答するために、ページ要求は、プロセッサ101によって適切に処理されることが可能な形に変換される必要がある。一実施形態では、通信回線115に対するプロトコルは、システムによって処理されるために、PCIe商標の意味論からHyperTransport商標またはAMD64商標と互換性のある意味論semanticsに変換される。他の実施形態では、他のプロセッサアーキテクチャおよび他の通信回線プロタクルが提供されてもよい。ページ要求のトランザクションは、通信回線115上の過渡動作である。一実施形態では、ページ要求は、PCIe通信インターフェースのPCI家族の1つに対して定義されたページ要求インターフェースPRIプロトコルに従って、通信回線115上に供給される。ページ要求は過渡性であるのでPRIは提示された動作である、情報が捕捉されプロセッサに送達される必要がある。加えて、その情報の一部は、周辺機器に対するPRI応答内に含まれる。他のページ要求は、初期の要求はサービスされる間他の周辺機器に由来してプロセッサによってサービスされてもよく、ある種のバッファリングは、PRI情報は保存される間、システム全体は作動し続けるように求められる。1つの解決策は、レジスタの組をもつ新しいハードウェアを生み出して、MMIOメモリをマッピングしたI/O作動を通してアクセスされるものである。PCIeバス上の新しいハードウェアは、PRI要求を受け入れ、受信した情報要求をレジスタの組内に記憶し、次いで割込みを使用してプロセッサに通知することになる。プロセッサ上で実行するシステムソフトウェアは、割込みを受け入れ、レジスタを読み取り、要求を処理し、一部の追加レジスタまたは恐らくは同じレジスタを書き込むことになる。特別な書込作動により、新しいハードウェアがレジスタのコンテンツをPCIeバスのトランザクションの中に一括にして、PRIのサービスが完了したという信号を周辺機器に送ることになる。この新しいハードウェアを配置可能な多くの場所が存在する。IOMMUは、論理的な場所であるすなわち、IOMMUはすでに、I/Oに関するサービスを提供するので、既存のIOMMU機能をもつ新しいPRI機能を統括することは理にかなっている。この解決策は、ハードウェア内で実行しやすいが、PCIe区分内のすべての周辺機器がレジスタの組の背後にシリアライズ化されるという不利益を有する。ハードウェアを設定し、ソフトウェアを消去するバリッドビットを使用して、複数のPRI要求を保持するためにレジスタの組を有することは可能だが、これは、著しくハードウェア資源を消耗し、ソフトウェアの管理が複雑である。一実施形態では、通信回線117は、HyperTransport回線である。上述のレジスタの組を追加するより、むしろ別の解決策は、PRIパケットをHyperTransportトランザクションに変換してプロセッサによって消耗される、たとえば、HyperTransport、プロトコル、およびプロセッサアーキテクチャなどの、通信に意味論を追加することである。これはすべてのプロセッサに追加される必要があり、ハードウェア資源の消費、レジスタの組の背後のシリアライズ化、ソフトウェア管理の複雑さなどの、上に企図された新しいハードウェアと同じ問題を抱える。最後に、これは単一の深くシリアライズ化された方式以外では実行が非常に困難である。本発明の一実施形態では、I/Oハブ107は、ページサービス要求インターフェース上に利用されるPRIまたは他のプロトコルを受信し、情報を標準形式に組み立て、情報をシステムメモリ103内のキューに書き込む。図2は、システムメモリ103内の例示的キュー構造203を示す。キューの利用により、柔軟な容量が提供され、複数の要求がいかなる要求も損失することなく、同時に処理されることが可能になる。キューはシステムメモリ内にあるので、キューは恣意的に大きくまたは小さくすることができ、その大きさは、システム活動または他の考慮事項に基づいて、システムソフトウェアによって設定されることが可能である。解決策の拡張性は、もはやハードウェア資源によって限定されるだけではなく、必要に応じて大きくなることができる。一実施形態では、受信したページ要求からキューエントリを生成するために、ハードウェアの機能性119は、IOMMUの中に統合される図1を参照されたい。一実施形態では、ページサービス要求は、イベント報告などのページサービス要求の他に、他の機能性を提供するキューの中に統合されることが可能である。イベントは、たとえば、IOMMUによって検知されたエラー状態であってもよい。一実施形態では、ページサービス要求は、イベントの1つのタイプとして処理され、他のイベントをもつイベントログまたはキューの中に直接統合される。別の実施形態では、ページサービス要求は、独自のページサービス要求キューを有する。明確なページサービス要求キュー周辺機器ページサービス要求PPRキューまたはログの場合、割込みを使用して、新しいPPRサービス要求が到着したことをプロセッサに知らせてもよい。割込みは、イベント割込みと異なることが可能であり、PPRのキュー状況に特有であるので、PPR処理コードを一般的なイベント処理のオーバーヘッドなしに直接呼び出すことで可能になる。また、PPR要求を処理するコードは、イベントログ処理から切り離すことができ、それにより機能の隔絶を通してより良好なシステム安全性を提供する。キューは、単純な管理のためにヘッドポインタおよびテールポインタを有する。他の実施形態では、割込みより、むしろメッセージを使用して、新しいキューエントリの存在をプロセッサに伝えてもよい。図2を参照すると、IOMMUは、テールポインタレジスタ211、ヘッドポインタレジスタ215、バッファサイズレジスタ217およびバッファベースアドレスレジスタ219を含むレジスタを含有する。一実施形態では、PPRログまたはキューは、ベースアドレスレジスタ219内のプログラム可能なベースアドレスから始まり、バッファサイズレジスタ217内に指定されたプログラム可能なサイズまで、物理メモリを引き続き占有する。ホストソフトウェアがキューエントリを消費する際は、プロセッサがキューエントリを消費したことをIOMMUに示すために、読取りポインタを増加させる。IOMMUが新しいキューエントリを送信する際は、IOMMUはテールポインタを増加させる。キューは、1つを除くすべてのキュースロットが使用される場合は、フルであり、利用可能なスロットがない場合は、オーバーフローする。オーバーフローが存在する場合は、ホストソフトウェアは、ページ要求キュー内にページ要求を入力不可能であることを回避するために、キューエントリを消費するか、またはキューを拡張しなければならない。例示的な汎用キューエントリが、図3に示されている。エントリには、PPRキューエントリとしてエントリを識別するPPRコードが含まれる。キューエントリは、通信インターフェース117を介してメモリコントローラ102に送信され、メモリコントローラ102は、キューエントリをシステムメモリ103の中に書き込む図1を参照されたい。図4は、PRIパケット内に受信した、受信された周辺機器ページサービス要求から生成された、PPRキューエントリの一実施形態を示す。処理アドレス空間IDPASIDは、ゲストVM仮想化がアクティブである場合内のユーザプロセスを識別するためのフィールドである。仮想化が存在しない場合は、PASIDは、本来のOS内のユーザプロセスを識別する。デバイスIDは、要求する周辺機器を識別する。値PPRコード0001bを使用してこの特定の書式は定義されるが、異なる情報または別の書式を含む他の書式が可能である。GNビットは、PRI要求がゲストVMまたはゲストVM内のプロセスに対するものであるかどうかを示すある設定では、PASID情報は無視でき、その他の設定では、PASID情報は、要求を処理するために必要である。RZビットは、受信されたパケット内にエラーがあったことを示し、PPR情報は間違いを含む恐れがある。WP、RP、およびNXビットは、もしある場合には、PRIパケット内の要求された書込み、読取り、および実行許可を表す。PPRタグフィールドは、PRI応答パケット内の周辺機器に戻されることになる。Sおよびアドレスフィールドは、ページが必要とするサービスのアドレスをGNが必要とされることを示す場合は、PASIDとともに画定する。カウントフィールドは、いくつの連続したページが要求内でサービスされる方法を示す。ユーザ/管理者USビットには、要求がユーザまたは管理者のアクセスのためである場合は、信号が含まれてもよい。図4に示された情報は、PRI要求のためのものであるが、ページサービス要求は、他の書式をとってもよい。しかし、デバイスIDなどの情報およびページ要求に関連したアドレスは、概してページサービス要求内に見出される。PRI要求が到着した際に、PRI要求内の情報は、図2に示されたキュー構造203を使用してメモリ103に書き込まれる。次いで、プロセッサ101上で実行されるシステムソフトウェアは、割込みまたは他の適切な通知技法を使用して通知される。次いでシステムソフトウェアは、可能なときに、PRI要求を消費することができる。ある方法が、システムソフトウェアが周辺機器にPRI要求の完了の信号を送るために提供されなければならない。これは、いくつかの方法で達成することができる。一実施形態では、タグフィールド、カウントおよびデバイスIDなどのPRI要求図4の重要な部分をとり、プロトコル要求に従って、PRI応答パケットを構築するためにIOMMUを指示する、IOMMUコマンドが提供される。一実施形態では、IOMMUに対するコマンドキューが、システムメモリ内に存在する。システムソフトウェアは、IOMMUコマンドキューにコマンドを書き込み、新しいコマンドが積層上に配置されたことをIOMMUに通知する。一実施形態では、ソフトウェアは、PRIレジュームコマンドをメモリ内のコマンドキューに書き込む。IOMMUに通知するために、ソフトウェアは、メモリ管理I/OMMIOをIOMMUによって公開されたメールボックスに書き込んで、IOMMUを目覚めさせ、そのコマンドキュー内に新しい作業が存在することを認識させる。最後に、システム内に複数のIOMMUが存在可能であり、そのそれぞれが周辺機器の異なる組をサービスすることができ、すべてが独立して作動するので、さらなる並行処理が可能である。複数のMMUに対して、複数のPPRキューが存在し、IOMMU毎に1つのPPRキューが存在する。各MMUからの割込みは、原点を間接的に示してもよい。一実施形態では、割込みは、CPUを8ビットベクトル数を使用して割り込むように構成される。各ベクトル数は、独自のコードエントリ点を有する。ソフトウェアがすべてのIOMMU割込みを構成して独自のベクトル数を使用する場合は、IOMMU源をベクトル数から決定することができる。しかし、IOMMU割込みはベクトル数を共有することが可能である。ソフトウェアがこのことをする場合は、どのIOMMUが割込みをしているかを即座に告げることはできず、割込みベクトルにマッピングされた各IOMMUのPPRキューを確認しなければならない。図5は、本発明の一実施形態による例示的流れ図を示す。501では、周辺機器111が、通信回線115を介してページサービス要求をIOMMU110に送信する。503では、IOMMUが、関連情報をページサービス要求から抽出し、キューエントリを構築する。505では、IOMMUが、キューエントリをメモリコントローラ102を通ってシステムメモリに送信し、IOMMU内のキュー書込みポインタを更新する。507では、IOMMUが、システムメモリ内のページサービスキューに入力されたページサービス要求を示すために、プロセッサに割り込む。割込みに応答して、509では、プロセッサが、割込みおよびページ要求を処理し、IOMMU内の読取りポインタを更新し、応答パケットを通して要求を確認するために、IOMMUにコマンドを発令する。最後に、511では、IOMMUが、周辺機器に応答パケットを送信する。本明細書に記載されたキュー構造を使用する手法は、いくつかの利点を有する。この手法は拡大縮小可能であり、したがって最小の影響で小さいシステムを処理することができるが、多くのアクティブI/Oをもつ大きいシステムをサイズ変更することができる。ソフトウェア開発は、新しいハードウェアに対する新しいソフトウェアの開発と比較した場合単純なままである。本発明は、テールポインタレジスタへのアクセスに基づいて、IOMMUの内部の単純な競合技法により複数のPRI要求を同時に処理することができるので、競合解決を迅速にすることができる。本明細書に記載された手法は、割込みおよびシステムメモリなどの既存のアーキテクチャ機構の使用により、プロセッサおよび通信回線アーキテクチャの変更を回避する。ハードウェアの修正は、IOMMUに限定されてもよい。最後に、このキュー手法は、様々な通信およびプロセッサプロトコルによって実行される機構を、システムソフトウェアによって実施される方針からはっきりと分離する。したがって、この手法は、複数の通信プロコルを取り扱う複数のプロセッサアーキテクチャ上で使用されることが可能である。本発明の実施形態の態様は、ソフトウェア、ファームウェア、ハードウェア、またはその組合せにおいて実行されてもよい。コンピュータ可読媒体は、本発明の態様を実施するために使用可能な命令を記憶してもよい。コンピュータ可読媒体は、コンピュータシステムに永久的に、取外し可能に、または遠隔操作で結合された、有形のコンピュータ可読記憶媒体である。有形のコンピュータ可読記憶媒体は、たとえばRAM、EEPROM、もしくはROMなどの半導体ベースのメモリ、磁気記憶媒体、または光学式記憶媒体あるいは他の有形記憶媒体などの有形媒体を含んでもよい。回路および物理的構造は、概して本発明の実施形態に記載において推定されているが、現在の半導体設計および製造では、物理的構造および回路は、その後の設計、シミュレーション、試験または製造段階での使用に適したコンピュータ可読記述の形で具現化されてもよいことが十分に認識される。例示的構成における個別部品として提示された構造および機能性は、組み合わされた構造または部品として実装されてもよい。本発明の様々な実施形態は、回路、回路のシステム、関連した方法、および本明細書に記載され、また添付の特許請求の範囲に定義された回路、システムおよび方法などのすべての、その上でのたとえば、HDL、Verilog、GDSIIデータ符号化を有する有形のコンピュータ可読媒体を含むことが企図される。加えて、コンピュータ可読媒体は、命令ならびに本発明を実施するために使用可能なデータを記憶してもよい。命令/データは、ハードウェア、ソフトウェア、ファームウェアまたはその組合せに関連してもよい。本明細書に明記された本発明の説明は例示であり、以下の特許請求の範囲に明記された本発明の範囲を限定することを企図するものではない。たとえば、本明細書に説明された実施形態は、キューエントリを生成するためにIOMMUを利用し、応答パケットを送信し、プロセッサに割り込むが、他の実施形態は、その機能性を各特定のシステムの必要性および要件に基づいて、コンピュータシステム内の他の場所に配置されてもよい。本明細書に説明された実施形態の他の変形形態および修正形態は、以下の特許請求の範囲に明記された本発明の範囲から逸脱することなく、本明細書に明記された説明に基づいてなされてもよい。