少なくとも1つのI/Oホストブリッジと、複数個のパーティション化可能なエンドポイントPEとを含み、前記PEの各々は関連のPE番号を有し、前記PEの各々は1つ又は複数個の要求元を含み、前記要求元の各々はそれぞれの要求元識別子IDを有する、データ処理システムにおいてデータを処理する方法であって、要求元ID及びアドレスを含むI/OメッセージをI/Oホストブリッジにおいて受け取るステップと、前記I/Oメッセージを受け取ったことに応答して、前記I/Oホストブリッジが、PE番号に要求元IDをマップする複数個のエントリを含む第1のデータ構造からの第1のエントリを参照することによって前記I/Oメッセージの影響を受けるPEのPE番号を決定するステップと、前記PE番号を決定したことに応答して、前記I/Oホストブリッジが、前記PE番号をインデックスとして利用して第2のデータ構造の第2のエントリをアクセスし、第2のデータ構造におけるアクセスされたエントリを参照することによって前記アドレスを検証するステップと、前記アドレスの検証の成功に応答して、前記I/Oホストブリッジが前記I/Oメッセージにより表わされたサービスを提供するステップと、を含む、方法。前記I/OメッセージはダイレクトメモリアクセスDMA要求であり、前記アドレスをシステムメモリアドレスに変換するステップを更に含む、請求項1に記載の方法。前記I/OホストブリッジはPCIホストブリッジを含む、請求項1に記載の方法。前記I/Oホストブリッジが、第1のエントリを参照することによって前記I/Oメッセージの影響を受けるPEのPE番号を決定する前記ステップは、前記第1のデータ構造からのエントリをバッファする前記I/Oホストブリッジ内のキャッシュにおける第1のエントリをアクセスするステップを含む、請求項1に記載の方法。前記第1のデータ構造は、前記データ処理システムのシステムメモリに常駐し、前記I/Oホストブリッジが、第1のエントリを参照することによって前記I/Oメッセージの影響を受けるPEのPE番号を決定する前記ステップは、前記システムメモリにおける第1のエントリをアクセスするステップを含む、請求項1に記載の方法。前記アドレスにおけるインデックスを参照することによって前記PE番号に関連した前記第2のデータ構造の多数のエントリの中から前記第2のエントリを選択するステップを更に含む、請求項1に記載の方法。プロセッサコアと、前記プロセッサコアに接続され、要求元識別子IDをパーティション化可能なエンドポイントPE番号にマップする複数個のエントリを含む第1のデータ構造を有するシステムメモリと、前記プロセッサコアに接続された入出力I/Oサブシステムと、を含み、前記I/Oサブシステムは、各々が関連のPE番号を有する複数個のPEであって、前記複数個のPEの各々は1つ又は複数個の要求元を含み、前記要求元の各々はそれぞれの要求元IDを有する、複数個のPEと、複数個のエントリを含む第2のデータ構造を有する少なくとも1つのI/Oホストブリッジであって、要求元ID及びアドレスを含むI/Oメッセージを受け取ったことに応答して、前記第1のデータ構造からの第1のエントリを参照することによって前記I/Oメッセージの影響を受けるPEのPE番号を決定し、前記PE番号を決定したことに応答して、前記PE番号をインデックスとして利用して前記第2のデータ構造の第2のエントリをアクセスし、前記第2のデータ構造におけるアクセスされたエントリを参照することによって前記アドレスを検証し、前記アドレスの検証の成功に応答して、前記I/Oメッセージによって表わされたサービスを提供する、I/Oホストブリッジと、を含む、データ処理システム。前記I/OメッセージはダイレクトメモリアクセスDMA要求である、請求項7に記載のデータ処理システム。前記I/Oホストブリッジは、PCIホストブリッジを含む、請求項7に記載のデータ処理システム。前記I/Oホストブリッジは、システムメモリにおける第1のデータ構造からのエントリのキャッシュを含み、前記I/Oホストブリッジは、前記キャッシュにおける第1のエントリをアクセスすることによって前記PE番号を決定する、請求項7に記載のデータ処理システム。前記第2のデータ構造は、前記PE番号に関連した多数のエントリを保持し、前記I/Oホストブリッジは、前記アドレスにおけるインデックスを参照することによって前記PE番号に関連した多数のエントリの中から前記第2のエントリを選択する、請求項7に記載のデータ処理システム。前記プロセッサコア及び前記I/Oホストブリッジを含む集積回路チップを更に含む、請求項7に記載のデータ処理システム。システムメモリと、複数個のパーティション化可能なエンドポイントPEを含む入出力I/Oサブシステムとを有するデータ処理システムのためのプロセッサであって、前記PEの各々は関連のPE番号を有し且つ1つ又は複数個の要求元を含み、前記要求元の各々はそれぞれの要求元識別子IDを有し、前記プロセッサは、プロセッサコアと、I/Oホストブリッジであって、要求元ID及びアドレスを含むI/Oメッセージを受け取ったことに応答して、要求元IDをPE番号にマップする複数個のエントリを含む第1のデータ構造からの第1のエントリを参照することによって前記I/Oメッセージの影響を受けるPEのPE番号を決定し、前記PE番号を決定したことに応答して、前記PE番号をインデックスとして利用して前記I/Oホストブリッジにおける第2のデータ構造の第2のエントリをアクセスし、第2のデータ構造におけるアクセスされたエントリを参照することによって前記アドレスを検証する、I/Oホストブリッジと、を含み、前記I/Oホストブリッジは、前記アドレスの検証の成功に応答して、前記I/Oメッセージによって表わされたサービスを提供する、プロセッサ。前記I/Oメッセージは、ダイレクトメモリアクセスDMA要求である、請求項13に記載のプロセッサ。前記I/Oホストブリッジは、PCIホストブリッジを含む、請求項13に記載のプロセッサ。前記第1のデータ構造が前記データ処理システムのシステムメモリに常駐し、前記I/Oホストブリッジがシステムメモリにおける前記第1のデータ構造からのエントリのキャッシュを含み、前記I/Oホストブリッジが、前記キャッシュにおける前記第1エントリをアクセスすることによって前記PE番号を決定する、請求項13に記載のプロセッサ。前記第2のデータ構造は、前記PE番号に関連した多数のエントリを保持し、前記I/Oホストブリッジは、前記アドレスにおけるインデックスを参照することによって前記PE番号に関連した多数のエントリの中から前記第2のエントリを選択する、請求項13に記載のプロセッサ。前記プロセッサコア及び前記I/Oホストブリッジを含む集積回路チップを更に含む、請求項13に記載のプロセッサ。本発明の目的は、I/Oメッセージの影響を受ける1つ又は複数個のパーティション化可能なエンドポイントを決定するデータ処理システムを提供することにある。本発明の1つの実施態様では、プロセッサコアと、要求元識別子IDを、パーティション化可能エンドポイントPE番号にマップする複数個のエントリを含む第1のデータ構造を有するシステムメモリと、入出力I/Oサブシステムとを含むデータ処理システムが提供される。I/Oサブシステムは、各々が関連のPE番号を有する複数個のPEと、少なくとも1つのI/Oホストブリッジとを含む。複数個のPEの各々は1つ又は複数個の要求元を含み、要求元の各々はそれぞれの要求元IDを有する。I/Oホストブリッジは、要求元ID及びアドレスを含むI/Oメッセージを受け取ったことに応答して、第1のデータ構造からの第1のエントリの参照によってPE番号を決定し、そのPE番号を決定したことに応答して、そのPE番号をインデックスとして利用して第2のデータ構造の第2のエントリをアクセスし、第2のデータ構造におけるアクセスされたエントリを参照することによってアドレスを検証する。検証の成功に応答して、I/Oホストブリッジは、I/Oメッセージによって表わされたサービスを提供する。本発明の第2の実施態様では、少なくとも1つのI/Oホストブリッジと、複数個のパーティション化可能なエンドポイントPEとを含む入出力I/Oサブシステムを有するデータ処理システムにおいてデータを処理する方法が提供される。複数個のPEの各々は関連のPE番号を有し且つ1つ又は複数個の要求元を含む。要求元の各々はそれぞれの要求元識別子IDを有する。本方法は、要求元ID及びアドレスを含むI/OメッセージをI/Oホストブリッジにおいて受け取るステップを含む。I/Oメッセージを受け取ったことに応答して、I/Oホストブリッジが、要求元IDをPE番号にマップする複数個のエントリを含む第1のデータ構造からの第1のエントリを参照することによりI/Oメッセージの影響を受けるPEのPE番号を決定するステップと、PE番号を決定したことに応答して、I/Oホストブリッジが、PE番号をインデックスとして利用して第2のデータ構造の第2のエントリをアクセスし、第2のデータ構造におけるアクセスされたエントリを参照することによってアドレスを検証するステップと、アドレスの検証の成功に応答して、I/OホストブリッジがI/Oメッセージにより表わされたサービスを提供するステップとを含む。I/OメッセージはダイレクトメモリアクセスDMA要求であってもよく、本方法は、アドレスをシステムメモリアドレスに変換するステップを更に含み得る。望ましくは、I/OホストブリッジはPCIホストブリッジを含む。更に、望ましくは、本方法は、I/Oホストブリッジが、第1のエントリを参照することによってそのI/Oメッセージの影響を受けるPEのPE番号を決定する前記ステップは、第1のデータ構造からのエントリをバッファするそのI/Oホストブリッジ内のキャッシュにおける第1のエントリをアクセスするステップを含む。更に望ましくは、第1のデータ構造はデータ処理システムのシステムメモリに常駐し、I/Oホストブリッジが、第1のエントリを参照することによってI/Oメッセージの影響を受けるPEのPE番号を決定する前記ステップは、システムメモリにおける第1のエントリをアクセスするステップを含む。望ましくは、本方法は、アドレスにおけるインデックスを参照することによってPE番号に関連した第2のデータ構造の多数のエントリの中から第2のエントリを選択するステップを更に含む。本発明の第3の実施態様では、プロセッサコアと、プロセッサコアに接続され、要求元識別子IDをパーティション化可能なエンドポイントPE番号にマップする複数個のエントリを含む第1のデータ構造を有するシステムメモリと、そのI/Oサブシステムは、複数個のPEと、I/Oホストブリッジとを含むデータ処理システムが提供される。各PEは1つ又は複数個の要求元を含み、その要求元の各々はそれぞれの要求元IDを有する。少なくとも1つのI/Oホストブリッジは、複数個のエントリを含む第2のデータ構造を有し、要求元ID及びアドレスを含むI/Oメッセージを受け取ったことに応答して、第1のデータ構造からの第1のエントリを参照することによってI/Oメッセージの影響を受けるPEのPE番号を決定し、PE番号を決定したことに応答して、そのPE番号をインデックスとして利用して第2のデータ構造の第2のエントリをアクセスし、第2のデータ構造におけるアクセスされたエントリを参照することによってそのアドレスを検証し、アドレスの検証の成功に応答して、そのI/Oメッセージによって表わされたサービスを提供する。I/Oメッセージは、ダイレクトメモリアクセスDMA要求であってもよい。I/Oホストブリッジは、望ましくは、PCIホストブリッジを含む。更に望ましくは、I/Oホストブリッジは、システムメモリにおける第1のデータ構造からのエントリのキャッシュを含み、そのキャッシュにおける第1のエントリをアクセスすることによってPE番号を決定する。望ましくは、第2のデータ構造は、PE番号に関連した多数のエントリを保持し、I/Oホストブリッジは、アドレスにおけるインデックスを参照することによってPE番号に関連した多数のエントリの中から第2のエントリを選択する。データ処理システムは、望ましくは、プロセッサコア及びI/Oホストブリッジを含む集積回路チップを更に含む。本発明の第4の実施態様では、システムメモリと、複数個のパーティション化可能なエンドポイントPEを含む入出力I/Oサブシステムとを有するデータ処理システムのためのプロセッサであって、複数個のPEは、関連のPE番号を有し且つ1つ又は複数個の要求元を有する。プロセッサは、プロセッサコアと、I/Oホストブリッジとを含み、I/Oホストブリッジは、要求元ID及びアドレスを含むI/Oメッセージを受け取ったことに応答して、要求元IDをPE番号にマップする複数個のエントリを含む第1のデータ構造からの第1のエントリを参照することによってI/Oメッセージの影響を受けるPEのPE番号を決定し、PE番号を決定したことに応答して、PE番号をインデックスとして利用してI/Oホストブリッジにおける第2のデータ構造の第2のエントリをアクセスし、第2のデータ構造におけるアクセスされたエントリを参照することによってアドレスを検証する。I/Oホストブリッジは、アドレスの検証の成功に応答して、I/Oメッセージによって表されたサービスを提供する。I/Oメッセージは、ダイレクトメモリアクセスDMA要求であってもよい。I/Oホストブリッジは、望ましくはPCIホストブリッジを含む。望ましくは、プロセッサは、第1のデータ構造がデータ処理システムのシステムメモリに常駐し、I/Oホストブリッジがシステムメモリにおける第1のデータ構造からのエントリのキャッシュを含み、I/Oホストブリッジがそのキャッシュにおける第1のエントリをアクセスすることによってPE番号を決定する、というものである。第2のデータ構造は、望ましくは、PE番号に関連した多数のエントリを保持し、I/Oホストブリッジは、アドレスにおけるインデックスを参照することによってPE番号に関連した多数のエントリの中から第2のエントリを選択する。次に、図面、特に図1を参照すると、1つの実施例に従って例示的なデータ処理システム100の高レベルのブロック図が示される。或る実施例では、データ処理システム100は、例えば、複数個のプロセッサ102a~102nを含む対称マルチプロセッサSMPシステムであってもよい。各プロセッサは、1つ又は複数個のバス接続回線又は交換回線通信リンクを含み得るシステムファブリック104に通信のために結合される。例えば、データ処理システム100は、米国ニューヨーク州アーモンクのインターナショナルビジネスマシーンズコーポレーションの製品ラインであるIBMeServer商標において具現化することが可能である。別の実施例では、単一のプロセッサ102を備えたデータ処理システムを利用することも可能である。図示の実施例では、各プロセッサ102は、望ましくは、その分野で知られているように半導体回路を形成する基板を備えた単一の集積回路チップとして実現される。図示のように、プロセッサ102は、例えば、ソフトウェア及び/又はファームウェア、並びに関連データがある場合にはその関連データも含み得るプログラムコードの実行及び/又は処理を通してデータを処理する複数個のプロセッサコアを含む。更に、プロセッサ102は、低レベルのデータ記憶階層から検索された命令及びデータのための1つ又は複数のレベルの比較的少ない待ち時間の一時的記憶装置を提供するキャッシュメモリ112を含む。更に、プロセッサ102は、オフチップシステムメモリ116のうちの関連するものへのアクセスを制御する、集積メモリコントローラIMC114を含む。各プロセッサ102は、更に、種々の入出力アダプタIOA130との入出力コミュニケーションをサポートする、1つまたは複数個望ましくは多数のホストブリッジ120と、プロセッサ102がシステムファブリック104とコミュニケーションを行うために使用されるファブリックインターフェースFIF118とを含む。図示の実施例では、ホストブリッジはすべてペリフェラルコンポーネントインターコネクトPCIホストブリッジPHB120として具現化されるが、別の実施例では、ホストブリッジは1つ又は複数個の追加又は代替I/Oバス標準で具現化し得る。PHB120a、120k、120m、及び120vは、それぞれPCIローカルバス122a、122k、122m、及び122vに対するインターフェースを提供し、それらのPCIローカルバスに、ネットワークアダプタ、記憶装置コントローラ、周辺装置アダプタ等のようなどのIOA130が直接に又は間接的に連結されてもよい。例えば、PCIIOA130aは、1つ又は複数個のスイッチ及び/又はブリッジを含み得るI/Oファブリック124aを介してPCIローカルバス122aに任意選択的に結合される。同様に、PCIIOA130k及び130lは、I/Oファブリック124kを介してPCIローカルバス122kに任意選択的に結合され、PCIIOA130mは、I/Oファブリック124mを介してPCIローカルバス122mに任意選択的に結合され、例えば、ディスプレイアダプタ及びハードディスクアダプタを含み得るPCIIOA130v及び130wは、I/Oファブリック124vを介してPCIローカルバス122vに任意選択的に結合される。データ処理システム100は、そのデータ処理システム100のブートプロセスを管理し、しかる後、そのデータ処理システム100のパフォーマンス及び検知されたエラー状態をモニタ及びレポートするサービスプロセッサ140を更に含む。サービスプロセッサ140はシステムファブリック104に接続され、ローカルメモリ142によってサポートされる。ローカルメモリ142は、揮発性メモリ例えば、ダイナミックランダムアクセスメモリDRAM及び不揮発性メモリ例えば、不揮発性ランダムアクセスメモリNVRAM又はスタティックランダムアクセスメモリSRAMを含み得る。サービスプロセッサ140は、更に、メールボックスインターフェース144に結合され、サービスプロセッサ140がインターフェース144を介してPCIバス122aとのI/Oオペレーションを伝達する。データ処理システムのアーキテクチャ及びコンポーネントが実施例の間で変わり得るということは、当業者には明らかであろう。例えば、他の装置又は相互接続体を代替的に又は付加的に使用することも可能である。従って、図1に示された例示的なデータ処理システム100は、特許請求の範囲に記載された発明に関してアーキテクチャ上の限定を意味するものではない。次に図2を参照すると、複数個の論理的パーティションLPARにパーティション化されたデータ処理システム200のハードウェア及びソフトウェア資源を示すデータ処理システムの論理的ブロック図を示す。データ処理システム200は、例えば、図1におけるデータ処理システム100と同じコンポーネント及び/又はアーキテクチャを持ち得るし、従って共通のコンポーネントを同じ参照番号でもって識別する。データ処理システム200は、プロセッサ102a~102n、システムメモリ116a~116n、及びIOA130a~130wを含むパーティション化されたハードウェア202の集合体を有する。パーティション化されたハードウェア202は、もちろん更なる揮発性又は不揮発性記憶装置、ポート、ブリッジ、スイッチ等のような更なる図示されてないコンポーネントを含み得る。パーティション化されたハードウェア202又はそれの一部分を含むハードウェアコンポーネントは、仮想マシンモニタVMM又はハイパーバイザとも呼ばれるシステムファームウェア204によってデータ処理システム200における種々の論理的パーティションLPAR210a~210pに割り付け可能である。システムファームウェア204は、データ処理システム200のパーティション化されたハードウェアを仮想化することによって、多数の独立したオペレーティングシステムインスタンスの同時実行をサポートする。システムファームウェア204によって割り付けられたハードウェア資源に加えて、LPAR210a~210pの各々は、多数の同時実行されるオペレーティングシステムインスタンス212a~212pのそれぞれの1つを含む。種々の実施例において、例えば、Linux商標、AIX商標、及び/又はWindows商標のインスタンスを含み得るオペレ~ティングシステムインスタンス212a~212pは同種又は異種のものであってもよい。更に、各LPAR210は、例えば、初期のブートストラップコード、IEEE-1275スタンダードオープンファームウェア、及びランタイムアブストラクションソフトウェアRTASの組み合わせを用いて具現化することができるパーティションファームウェア214のそれぞれのインスタンスと図示されてないアプリケーションプログラムを含み得る。LPAR210a~210pがインスタンス化されるとき、ブートストラップコードのコピーが、システムファームウェア204によってパーティション210a~210p上にロードされる。しかる後、システムファームウェア204は制御をブートストラップコードに移す。一方、ブートストラップコードはオープンファームウェア及びRTASをロードする。次に、各LPAR210に割り付けられたプロセッサ102は、LPAR210を立ち上げてOSインスタンス212の実行を開始させるためにそのLPAR210のパーティションファームウェア214を実行する。図2に示された論理的にパーティション化された環境では、サービスプロセッサ140は、LPAR210a~210pにおけるエラーの処理のような様々なサービスを提供するために使用することが可能である。これらのサービスは、データ処理システム200のシステム管理者又はベンダーにエラーを報告するサービスエージェントとしても機能し得る。種々のLPAR210のオペレーションは、更に、ハードェア管理コンソール220を介して制御することが可能である。少なくとも1つの実施例では、ハードェア管理コンソール220は、システム管理者が、LPAR210を作成及び破壊すること並びにLPAR210間でハードェア及びソフトウェア資源を再割り付けすることを含むデータ処理システム200内の様々な機能を遂行し得る独立したデータ処理システムとして具現化することも可能である。図2に示されたような論理的にパーティション化された環境では、1つのLPAR210におけるハードェア又はソフトウェア資源が別のLPAR210の資源を使うこと或いは別のLPAR210におけるオペレーションに影響を与えることは許されない。更に、有用であるためには、LPAR210への資源の割り付けはきめ細かいことが必要である。例えば、特定のPHB120の下にあるすべてのIOA130を同じパーティションに割り付けることは、それがパーティション間に動的に再割り付けされた資源に対する能力を含むそのシステムの注文仕様生産configurabilityを制限するので、多くの場合受容できない。従って、PHB120は、個々のIOA130又は、それの一部分のような資源を種々のLPAR210に割り付けることができるが、その割り付けられた資源が他のLPAR210の資源をアクセスすること又はそれに影響を与えることは阻止される。種々のLPAR210の資源間のそのような分離をサポートするために、データ処理システムのI/Oサブシステムは多数のパーティション化可能なエンドポイントに細分される。パーティション化可能なエンドポイント即ちPEは、本明細書では、I/Oサブシステムの任意のコンポーネント又はサブコンポーネントのLPARとは無関係に割り付けることが可能なI/Oサブシステムの任意のコンポーネント又はサブコンポーネントとして定義される。例えば、或るPEは、共に機能する複数個のIOA及び/又はI/Oファブリックを含み、従って、単一のLPARに1つのユニットとして割り付けられなけばならない。しかし、別のPEは、単一のIOAの一部分、例えば、マルチポートIOAの別々に構成可能な及び別々に割り付け可能なポートを含み得る。一般に、PEはそれの構造によってではなくその機能によって識別されるであろう。次に図3を参照すると、図1のデータ処理システム100のような論理的にパーティション化されたデータ処理システムのI/Oサブシステム300の少なくとも一部分のブロック図が示される。そのブロック図は、1つの実施例に従ってLPAR210相互間の資源分離を示す。図示の実施例では、I/Oサブシステム300は、I/Oファブリック124を介して複数個のIOA302a~302gに接続されたPHB120を含む。一方、I/Oファブリック124は、スイッチ310a、310b、PCIエクスプレスPCI-Eバス320、322、324、及び326、PCIブリッジ312a及び312b、第2のバス340、342、344、及び346を含む。更に図3に示されるように、システムファームェア204図2は、データ処理システムのLPAR210のうちのいずれにも無関係にそれぞれ割り付け可能な複数個のPE350a~350dを形成するようにI/Oサブシステム300の種々のコンポーネントをグループ化する。所与の例では、PE350a及びPE350cの各々は単一のIOA、即ち、IOA302a、302dを含む。対照的に、PE350bは、同じLPAR210に割り付けられなければならない2つのIOA302b及び302cを含み、PE350dは、PEとして共に機能し、従って同じLPAR210に割り付けられなければならない3つのIOA302e、302f、及び302g、並びにPCIブリッジ312bを含む。前述のように、別の実施例では、PEはIOAの一部分だけ例えば、1つ又は複数個のポートを含み得る。I/Oサブシステム300において、本明細書ではパーティション化可能なエンドポイント状態と呼ばれる各PEのそれぞれの状態が、関連するPHB120において維持される。従って、例えば、I/Oサブシステム300のPHB120はパーティション化可能なエンドポイント状態レジスタ360a~360dを含み、それらのレジスタはそれぞれPE350a~350dに対応し、それらの状態を表わす。システムファームウェア204は、各PEに、それのコンポーネントをそのPEに関連付ける1つ又は複数個の領域番号即ち、要求元IDRIDを割り付ける。1つの実施例では、各PEに割り付けられた領域番号は、そのPEにおけるI/Oコンポーネントの相互間を区別するためにも使用し得る複数個のフィールドを含む。例えば、これらのフィールドは次のものを含み得る。バス番号Busフィールド:一意的なバス番号を有するPHBに属する各バスを、I/O資源間の最高レベルの区域に与える。デバイス番号Devフィールド:異なるデバイス番号を有する所与のバス上の各IOAを、I/O資源間の中間レベルの区域に与える。機能番号Funcフィールド:異なる機能番号を有するIOAの各個別の機能を、I/O資源間の最低レベルの区域に与える。明らかなように、領域番号即ち、RIDは、最低レベルのI/O機能に至るまでI/O資源の区分けをサポートする。例えば、領域番号は、多数の機能IOAのうちの個別の機能が区別されることを可能にする。そのような微妙な細分性を必要としないデータ処理システムでは、領域番号は、同じPHBに接続されたPE間の区別を可能にするバスフィールド単独によって、或いは1つのPEのIOA間の区別又は多数の機能IOAを含む1つのPE内のIOAの機能間の区別を可能にするためにDevフィールド又はFuncフィールドと共にバスフィールドによって定義することを可能にする。バス、バス/Devフィールド、又はバス/Dev/Funcフィールドから成る領域番号スペースの希薄さは、多くの場合、これらのフィールドによって定義された領域番号スペースを、PHB120による内部用途にとっては余り希薄でないものまで圧縮することを望ましくする。図3のPHB120に含まれた分離機能の中には、PEエラー領域を分離する能力がある。論理的にパーティション化されたデータ処理システムでは、種々のPEを種々のLPARに割り付けることが可能である。従って、PHB120は、1つのPEにおいて生じるエラーが、そのPEに割り付けられる特定のLPARに分離されることを可能にする。更に詳しく云えば、各PHB120は、エラー停止状態と呼ばれるが検知されたとき、PEからの及びPEへのI/Oオペレーションを停止する機能を含んでいる。I/Oオペレーションの停止は、望ましくは、次のような方法で達成される。1.PEは、下記のように、即ち、a.PEがいずれのLPARにもエラーを伝播しないように、及びb.I/Oオペレーションの要求元が誤りのあるデータを使用しないように、エラーでI/Oオペレーションを終了することを防ぐ。2.オペレーションの停止は、デバイスドライバにはちょうどそのデバイスドライバまで分離されているように見えなければならない。3.1つのPEのためのソフトウェアデバイスドライバレベルにおけるもの、又はそれ以上のものは、別のPEを停止状態に入らせ得るエラーを導入しない。4.問題決定に関する誤り情報は、停止状態が生じた後に捕捉される。5.PEのうちのいずれか又はすべてが停止状態にあるとき、ファームェアは、PHBより下の構成空間をアクセスし得る。これらの基準に従ってエラー処理を達成するために、各PHBは、望ましくは、I/O構成オペレーションのために特定のエラー領域を識別する分離機能を提供する。好ましい実施例では、構成オペレーションエラー領域機能は、システムファームェアによってセットすることができる構成PE番号フィールドをPHBのレジスタにおいて具現化することによって可能になる。更に、好ましい実施例では、各PHBは、I/Oメッセージの影響を受ける1つ又は複数個のPE番号を決定し、それらのPEの制御に特化したソフトウェアのみにそのI/Oメッセージを送る。効果的な分離機能を提供することに加えて、特にPHBが一般的な集積回路チップ内にプロセッサと共に統合される実施例では、DMAメッセージ及びI/Oエラーメッセージのようなルーチンメッセージ、を処理する場合に利用されるPHB内のデータ構造のサイズを縮小することも望ましい。従って、以下で更に述べるように、PHB内に具現化されるデータ構造の設置面積は、DMA及びI/OエラーメッセージのようなI/Oメッセージの影響を受けるPEの決定の改良によって縮小することができる。次に図4を参照すると、前記米国特許第7398427号に開示されるように、プロセッサから分離した集積回路チップにおいて具現化される従来のPHB400が示される。PHB400は、変換及び検証テーブルTVT402と呼ばれるワイドデータ構造を含む。TVT402は、複数個の変換及び検証エントリTVE404を含む。図5に示されるように、従来の各TVE404は、要求元IDRID及びそのRIDを検証するための制御情報を指定するRID及びRID検証制御フィールド430と、そのRIDに関連するPEを表わすPEフィールド432と、変換制御エントリTCEテーブルサイズフィールド434と、I/Oページサイズフィールド436と、指定されたPEのためのTCEテーブルのベースアドレスを表わすTCEテーブル開始アドレスフィールド438と、を含む多数のフィールドを含む。PHB400図4は、ダイレクトメモリアクセスDMA要求のRIDを検証し、TVT402を参照することによってRIDを特定のPEに変換する。図示のように、PHB400は、RID410バス番号、デバイス番号、及び機能番号を含む及びDMAアドレス412を含む、ダイレクトメモリアクセスDMAパケットを受け取る。DMAアドレス412における数ビットは、アクセスのために特定のTVE404を選択するTVT402へのTVEインデックスTVEI414を形成する。一旦TVE404が選択されると、PEフィールド432の内容が、PEの現状を決定するために読み出される。更に、RID及びRID検証制御フィールド430の内容が、ブロック420に示されるような到来するRID410と比較される。RID410がフィールド430において指定されたRIDと一致しない場合、PHB400は、要求されたDMAオペレーションが遂行されることを許容しない。ブロック422に示されるように、PHB400は更にDMAアドレス412の下位桁nビット2nは、選択されたTVE404のI/Oページサイズフィールド436によって指定されたI/Oページサイズであるを切り捨て、TVEI414より低い残りのDMAアドレスビットを、その選択されたTVE404のTCEテーブルサイズフィールド434と比較する。DMAアドレス412が関連のTCEテーブルの端部の外のアドレスを指定する場合、PHB400はDMAオペレーションを許容しない。一方、ブロック420及び422に示された検証が成功する場合、PHB400は、TCE開始アドレスフィールド438の内容によって指示される、そのPEのためのメモリ内TCEテーブルに含まれたDMAアドレスから実アドレスへの変換を利用してその要求されたDMAオペレーションを行なう。図4及び図5に示された従来のTVE404は多数のマルチビットフィールドを含み、従って、従来のTVT402はかなりのダイエリアを必要とする大きなデータ構造である。更に、各PEは、それ自身のアプリケーションのためのDMAアドレス412のTVEIフィールド414を使用せず、それは、DMAアドレス空間が種々のPEのための異なる非連続空間に区分けされることを意味する。次に、図6を参照すると、一実施例に従って改善されたPHB120の更に詳細なブロック図が示される。一般に、PHB120のダイエリアを縮小することが望ましく、特に、図1に示されるようにPHB120がプロセッサ102の集積回路チップ内に統合される好ましい実施例ではPHB120のダイエリアを縮小することが望ましい。PHB120のダイエリアの縮小に寄与する1つの要因は、IOA130、I/Oブリッジ312、及びスイッチ310のような様々なI/Oコンポーネントから受け取られたDMA及びI/Oエラーメッセージを検証及び変換するために利用されるPHB120内のデータ構造のサイズの縮小である。詳しく云えば、以下で更に詳述されるように、従来の各TVE404において既にわかっている16ビットのRIDフィールド及びPEフィールドは排除され得るし、それはTVEの幅の著しい縮小並びにTVT及びPHB120のフットプリント全体の付随的縮小をもたらす。図6に示された構成では、例えば、LPAR210間のI/O資源の割り付けに基づいてシステムファームェア204により追加及び維持することが可能なRID変換テーブルRTT500が、複数個のRID変換エントリRTE502を含む。各RTE502は、一般的な16ビットPCI-RID410のようなそれぞれのRIDをPEに関連付ける。RTT500は、PHB120において、或いは、更に望ましくは、システムメモリ116のようなオフチップ記憶ロケーションにおいて、具現化することが可能である。RTT500がオフチップで具現化される実施例では、PHB120は、極最近アクセスされたRTE502のコピーへの低遅延アクセスを行なうために小型のオンチップRID変換キャッシュRTC504を任意選択的に含み得る。図6は、PHB120が、複数個のTVE512を含む最新式のTVT510を有するものを示す。図7に示されるように、各TVE512は、DMAの元になるPEのための変換制御エントリTCEテーブル560のテーブルサイズを表わすTCEテーブルサイズフィールド534と、I/Oページサイズフィールド536と、ソースPEに対するインメモリTCEテーブル560のベースアドレスを表わすTCEテーブル開始アドレスフィールド538とを含む少数のビットフィールドを含む。TVE512が一般的なフィールド430及び432に対応するフィールドを欠いており、その結果TVT510においてかなりのサイズ縮小を生じるということは、図5に比較すれば明らかである。次に、DMA要求をサービスする場合のPHB120のオペレーションを、図6及び図7並びに、図8に示される高レベルの論理的フローチャートを更に参照して説明する。そのプロセスはブロック600で始まり、次に、ブロック602に進む。ブロック602は、PHB120が、それが結合されるI/Oコンポーネントの1つから、一般的なRID410及びDMAアドレス540を含むダイレクトメモリアクセスDMAオペレーションを受け取ることを示す。PHB120は、RTC504それが存在する場合から又はRTT500から、特定のRTE502をアクセスするためにDMAオペレーションのRID410を利用するブロック604。そのアクセスされたRTE502が1つのPEを指定し、PHB120がそのPEの現在の状態をアクセスする。PHB120は、TVT510をアクセスするために、そのアクセスされたRTE502によって指定されたPEを利用するブロック606。各PEが単一の関連するTVE512を有する実施例では、PEはTVT510に直接インデックス付けする。各PEが例えば、少なくともいくつかのPEに対して多数のI/Oページサイズを可能にするために1つ又は複数個のTVE512を有し得る別の実施例では、PHB120は、DMAアドレス540からの1つ又は複数個のPEインデックスPEIビット514を利用してその選択されたPEに関連した多数のTVE512の間を選択する。PEI514の使用は図4のTVEI414のように、異なるPE間のDMAアドレス空間を切り分けず、選択されたPEのアドレス空間内のDMAアドレス空間を単に分割し、従って、DMAアドレス空間全体を各PEにとって利用可能にする。図8のプロセスは、ブロック606に続いてブロック608に進む。ブロック608は、PHB120におけるDMAアドレス検証ロジック550を示す。そのロジックは、DMAアドレス540の下位桁nビットを切り捨てこの場合、2nは、選択されたTVE512のI/Oページサイズフィールド536によって指定されたI/Oページサイズである、残りの上位桁DMAアドレスビットをその選択されたTVE512のTCEテーブルサイズフィールド534の内容と比較する。ブロック610に示されるように、DMAアドレス540が関連のTCEテーブル560の端部を越えたアドレスを指定する場合、検証は失敗し、PHBは、プロセスがブロック616において終了することによって示されるようにDMAオペレーションを許容しない。一方、ブロック610における肯定的な決定によって示されるように、DMAアドレス540が検証に合格する場合、PHB120はDMAアドレス540をシステムメモリ116における実アドレスに変換するブロック612。1つの実施例では、PHB120は、選択されたTVE512のTCEテーブル開始アドレスフィールド538の内容と、PEI514及びn個の下位桁アドレスビットの間のDMAの中間桁ビットとを結合することによって形成されたアドレスによって指示された特定のTCEを利用して、インメモリTCEテーブル560を参照することによりアドレス変換を行う。しかる後、PHB120は、要求されたDMAオペレーションの遂行を起動するために、アドレス変換によって得られたシステムメモリアドレス例えば、実アドレスを使用して、ターゲットシステムメモリ116のIMC114にそのDMAオペレーションを送るブロック614。しかる後、図8に示されたプロセスは、ブロック616において終了する。図9、図10、図11、図12、及び図13を参照して更に後述するように、PHB120におけるデータ構造のサイズを最小化しながらPE相互間の分離を行うための同様の技法が、I/Oエラーメッセージの分離にも適用可能である。先ず図9を参照すると、従来技術でI/O例えば、PCIeエラーメッセージを処理する場合に利用されるデータ構造を示す図4の一般的なPHB400に関する別の見解が示される。図示のように、前述のデータ構造に加えて、PHB400は、PEルックアップテーブルPELT700と呼ばれる幅広いデータ構造を有する。高価な連想メモリCAMにおいて具現化されるPELT700は、複数個のPEルックアップエントリPELE702を含む。図10に示されるように、一般的な各PELE702は、要求元IDRID及びそのRIDを検証するための制御情報を指定するRID及びRID検証制御フィールド710と、どの制御PE番号がI/Oエラーの影響を受けるかをセットビット例えば、1によって表わすPEルックアップベクトルPELVフィールド712と、を含む。従来技術では、PHB400は、PCIeエラーメッセージ704及びどのI/OコンポーネントがPCIeエラーメッセージ704のソースであるかを識別するRID410を一緒に受け取る。それに応答して、PHB400は、RID410を利用してPELT700へのアクセスを行ない、そのRIDとRID検証制御フィールド710内の一致RIDを含む一致PELE702を識別する。しかる後、PHB400は、一致PELE702のPELVフィールド712によって指定された各PEに対するPCIeエラーメッセージを処理する。次に図11を参照すると、1つの実施例に従って、改善されたPHB120の詳細な図が示される。上述したように、特に、図1に示されるようにPHB120がプロセッサ102内に統合される好ましい実施例では、PHB120のダイエリアを縮小することが望ましい。PHB120のダイエリアの縮小に寄与する1つの要因は、一般的な各PELE702において見られるRIDフィールドの除去であり、それはPELEの幅の著しい減少、及びPHB120の全体的なフットプリントの付随的縮小に通じる。更に、一般的なPELT700を具現化するために利用されたような高価なCAMの利用を減少又は排除することが望ましい。従って、図11に示された構成では、システムメモリ116において好適に具現化されるRTT500は、一般的な16ビットのPCI-RID410のようなPHB120によって受け取られ得る可能な各RIDをPEに関連付けるために再び利用される。前述したように、RTT500がオフチップで具現化される実施例においてアクセス待ち時間を縮小するために、PHB120は、極最近アクセスされたRTE502のコピーに少ない待ち時間アクセスを行うために、小型のオンチップRTC504を任意選択的に含み得る。更に、図11は、望ましくは低価格の非CAM技術例えば、DRAMを用いて具現化されるシステムメモリ116が、望ましくは、複数個のPELE802を含む簡素化されたPELT510を具現化するということを示す。図12に示されるように、各PELE802は、各々が複数個のPE番号のそれぞれ1つに対応する複数個のビットを有するPELV804を含む。上述したように、PELV804は、所与のRIDで生じたエラーを処理しなければならないPEを、1つ又は複数個のセットビット例えば、1によって識別する。例えば、エラーが、多数のPEに結合されたI/Oコンポーネント例えば、スイッチ310或いは単一のデバイスに関連した多数の機能例えば、IOA130の多数のポートに関連した場合、多数のPEがそのエラーに関与することがある。PELE802が一般的なフィールド710に対応するフィールドを欠き、その結果、PELT800においてかなりのサイズ縮小を生じることに留意すべきである。I/Oエラーメッセージを処理する場合のPHB120のオペレーションが、図13に示された高レベルの論理的フローチャートを更に参照して説明される。I/Oエラーメッセージ処理プロセスがブロック900で始まり、ブロック902に進む。ブロック902は、PHB120が、エラーメッセージ704及びそのI/Oエラーメッセージのソースを識別するRID410を含むI/Oエラーメッセージパケットを受け取るということを表わす。PHB120は、RTC504それが存在する場合又はRTT500から特定のRTE502をアクセスするためにI/OエラーパケットのRID410を利用するブロック904。アクセスされたRTE502は、PHB120がPELT800をアクセスするためにダイレクトインデックスとして利用するPEを指定するブロック906。PELT800へのダイレクトインデックスが利用可能であるので、高価なCAMにおいてPELT800を具現化することが必要ないことに留意すべきである。次に、ブロック908において、PHB120は、PELT800における選択されたPELE802のPELVフィールド804においてどのビットがセットされているかを調べることによって、どのPEがI/Oエラーの影響を受けるかを決定する。影響を受けるPEを決定したことに応答して、PHB120におけるI/Oエラー処理ロジック810は、影響を受けるPE関するエラーを処理する責任のあるエラー処理ソフトウェアのみ例えば、1つ又は複数のOS212のデバイスドライバソフトウェアに、必要に応じてI/Oエラーを信号するブロック910。しかる後、エラー処理プロセスはブロック912において終了する。上述したように、或る実施例では、データ処理システムは、プロセッサコア、システムメモリ、及び入出力I/Oサブシステムを含む。システムメモリは、要求元識別子IDをパーティション化可能なエンドポイントPE番号にマップする複数個のエントリを含む。I/Oサブシステムは、各々が関連のPE番号を有する複数個のPEを含み、その複数個のPEの各々は、各々がそれぞれの要求元IDを有する1つ又は複数の要求元を含む。I/Oホストブリッジが、要求元ID及びアドレスを含むI/Oメッセージを受け取ったことに応答して、第1のデータ構造からの第1のエントリを参照することによりPE番号を決定し、PE番号の決定に応答して、そのPE番号をインデックスとして利用して第2のデータ構造の第2のエントリをアクセスし、第2のデータ構造におけるそのアクセスされたエントリを参照することによりそのアドレスを検証する。I/Oホストブリッジは、検証の成功に応答して、I/Oメッセージにより表わされたサービスを提供する。上記の説明は、例証と詳述とを目的に示され、網羅的であること又は開示された構造及びプロセスに限定されることを意図するものではない。多くの修正及び変更が当業者には明らかであろう。本発明の動作原理及び実用的応用例の最善の説明のために、及び当業者が、意図された特定の用途に適した何らかの修正を施す場合に種々の実施例における開示された技術を理解及び応用することを可能ならしめるために、様々な実施例が選択され、記述された。1つ又は複数個の好ましい実施例に関して説明したように本発明を詳細に示したが、本発明の趣旨及び技術的範囲から逸脱することなく、実施形態及び詳細における種々の変更を行い得ることは当業者には明らかであろう。例えば、本発明は完全に機能するデータ処理システムとの関連で説明されているが、本発明のプロセスが、プログラムコードを記憶したコンピュータ可読記憶媒体を含むコンピュータプログラム製品の形で流通し得るということは当業者には明らかであろう。コンピュータ可読記憶媒体の例は、ハードディスクドライブ、RAM又は他の揮発性メモリ、不揮発性メモリ、及び光学的記憶媒体を含む。本願は、次のような同じ出願人により同時出願された未決の米国特許出願、即ち、米国特許出願12/849925号、同12/849980号、同12/850008号、及び同12/850040号を関連出願とするものである。