(57)【特許請求の範囲】
【請求項１】
複数のプロセッサと、前記複数のプロセッサへの書込みおよび前記複数のプロセッサからの読取りを行うために接続されるメモリと、プロセッサ・バスおよび入出力バスを介して前記メモリおよび前記複数のプロセッサと通信するために接続されるＰＣＩホスト・ブリッジと、複数のＰＣＩスロットの１つを介して前記ＰＣＩホスト・ブリッジと通信するために接続される少なくとも１つのＰＣＩ装置とを備え、各処理区分が、当該処理区分に対応するオペレーティング・システムのコピーと、前記複数のプロセッサのうち当該処理区分に対応する少なくとも１つのプロセッサと、前記メモリのうち当該処理区分に対応するメモリ部分と、前記複数のＰＣＩスロットのうち当該処理区分に対応する０個ないし全部のＰＣＩスロットとをそれぞれ含むように、複数の処理区分に分割され、前記ＰＣＩホスト・ブリッジが前記複数の処理区分によって共用されるようにしたコンピュータ・システムであって、
前記コンピュータ・システムの初期設定時に、予め記憶された区分情報又は手動的に入力された区分情報に基づいて、前記コンピュータ・システムの前記複数の処理区分を確立するとともに、前記ＰＣＩホスト・ブリッジ内に設けられた区分記述子レジスタへの区分情報をプログラミングすることにより、前記複数のＰＣＩスロットの各々が属する処理区分を識別するためのターゲット区分ＩＤを各ＰＣＩスロットごとに前記区分記述子レジスタ内に記憶する処理手段と、
前記ＰＣＩホスト・ブリッジ内に設けられ、前記コンピュータ・システムの初期設定後に、前記複数のプロセッサのうち１つのプロセッサから前記ＰＣＩ装置に書き込むための書込み要求および当該１つのプロセッサに対応する処理区分を識別するためのイニシエータ区分ＩＤを受け取ることに応答して、当該イニシエータ区分ＩＤが前記区分記述子レジスタ内に記憶されているターゲット区分ＩＤの何れかと一致するか否かを決定し、そのようなターゲット区分ＩＤが存在する場合にのみ、前記書込み要求を受諾するための区分制御論理手段と、
前記ＰＣＩホスト・ブリッジ内に設けられ、前記区分制御論理手段が前記イニシエータ区分ＩＤと一致するターゲット区分ＩＤが存在することを決定したことに応じて、前記複数のＰＣＩスロットのうち当該ターゲット区分ＩＤによって識別される処理区分に属する少なくとも１つのＰＣＩスロットをオンにするとともに、前記書込み要求を前記ＰＣＩ装置に渡すための分離制御手段とを備える、コンピュータ・システム。
【請求項２】
前記複数のＰＣＩスロットがオフになったときに、それらが電界効果トランジスタによって前記ＰＣＩホスト・ブリッジから分離される、請求項１に記載のコンピュータ・システム。
【請求項３】
前記複数のＰＣＩスロットのうち前記イニシエータ区分ＩＤと一致するターゲット区分ＩＤによって識別される処理区分に属さないすべてのＰＣＩスロットがオフになる、請求項１に記載のコンピュータ・システム。
【請求項４】
前記コンピュータ・システムのランタイム中に、１つの処理区分がそのメンバとして特定のＰＣＩスロットを追加、除去又は変更すべきであると判断した場合、その追加、除去又は変更を反映するように、当該処理区分のオペレーティング・システムによって前記区分記述子レジスタへの区分情報を動的に再プログラミングする、請求項１に記載のコンピュータ・システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にマルチプロセッサ・コンピュータ・システム（ｐａｒｔｉｔｉｏｎｅｄ  ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ  ｓｙｓｔｅｍ）に関し、より詳細には区分マルチプロセッサ・システム内のプロセッサ間のリソース割振りに関する。より詳細には、好ましい実施の形態は、マルチプロセッサ・コンピュータ・システム内の個々のＰＣＩスロットを区分し割り振るためのシステムに関する。
【０００２】
【従来の技術】
マルチプロセッサ・コンピュータ・システムは、当技術分野では周知のものであり、処理タスクを複数の異なるシステム・プロセッサ間で分割できるようにすることにより、処理能力の増加を可能にする。従来のシステムでは、各プロセッサはシステム・リソースのすべてにアクセスすることができ、すなわち、メモリおよび入出力装置など、すべてのシステム・リソースはすべてのシステム・プロセッサ間で共用される。通常、システム・リソースの部品の中には、プロセッサ間で区分できるものもある。たとえば、各プロセッサは共用メモリにアクセスできるようになるが、このメモリは、各プロセッサがそれ自体の作業スペースを有するように分割される。
【０００３】
より最近では、対称型マルチプロセッサ（ＳＭＰ）システムは、複数の独立したコンピュータ・システムとして動作するように区分されていた。たとえば、８つのプロセッサを有する単一システムは、８つのプロセッサのそれぞれ（または１つまたは複数のプロセッサからなる複数のグループ）を処理目的の個別のシステムとして扱うように構成することも可能である。このような「仮想」システムのそれぞれは、それ自体のオペレーティング・システムのコピーを有するはずであり、その場合、独立してタスクが割り当てられる場合もあれば、１つの処理クラスタとして一緒に動作する場合もあり、それにより、高速処理と信頼性の向上の両方が実現される。通常、マルチプロセッサ・システムには、システム構成ならびに特定のプロセッサとの間の共用バスおよび装置上におけるデータの経路指定を含む、システム全体の始動および動作を管理する「サービス」プロセッサも存在する。
【０００４】
単一マルチプロセッサ・システム内の複数の仮想システムが１つのクラスタとして動作するよう構成されているときは、各クラスタ・ノードがマルチプロセッサ内の他の各ノードと通信して、定足数折衝および妥当性検査を実行し、「ハートビート」を送信し、いずれかのクラスタ通信技法を使用して他の定足数機能を実行できるようにするために、ソフトウェア・サポートを用意しなければならない。これが実施されると、全プロセッサのうちの１つが故障した場合、それによりそのノードがクラスタにとって使用不能な状態になる恐れがあり、そのノードに割り当てられたジョブは、標準のクラスタ技法を使用して、残りのプロセッサ（ノード）間で再割当てすることができる。
【０００５】
通常、１つのマルチプロセッサ・システムが複数の仮想システムに分割されると、それぞれの仮想システムはそれ自体のオペレーティング・システムのコピーを有し、各仮想システムに同じオペレーティング・システムが使用される。各プロセッサは同じオペレーティング・システムを実行するので、プロセッサ間のリソース割振りを実現することは比較的容易なことである。
【０００６】
しかし、現在は、複数の仮想システム間で複数のオペレーティング・システムを実行できる能力を求める市場の要求が存在する。たとえば、ユーザは、ある区分でＵＮＩＸ変形オペレーティング・システムを実行し、第２の区分で「Windows」ベースのオペレーティング・システムを実行したいと希望する場合がある。この必要性はリソース割振りに関連する特定の問題を提起する。すなわち、マルチプロセッサ・システム内の区分間のメモリ分割は一般にハードウェアでサポートされるが、周辺コンポーネント相互接続（ＰＣＩ）スロットなどの他のリソースの割振りはオペレーティング・システムによって管理される。複数の区分はそれぞれ異なるオペレーティング・システムを実行している可能性があるので、システム・リソースを割り振るための手段であって、オペレーティング・システムに基づかないものが必要になる。特に、ＰＣＩスロットなどのシステム・リソースをマルチプロセッサ・コンピュータ・システム内の複数区分間で割り振ることができるようにする、オペレーティング・システム独立ソリューションが必要になる。
【０００７】
【発明が解決しようとする課題】
したがって、本発明の一目的は、マルチプロセッサ・コンピュータ・システムの操作のためのシステムを提供することにある。
【０００８】
本発明の他の目的は、マルチプロセッサ・コンピュータ・システム内のリソース割振りの改善のためのシステムを提供することにある。
【０００９】
本発明のさらに他の目的は、マルチプロセッサ・コンピュータ・システム内の個々のＰＣＩスロットを区分し割り振るためのシステムを提供することにある。
【００１０】
【課題を解決するための手段】
上記の目的は以下に説明するように達成される。区分コンピュータ・システム内の１次ホスト・ブリッジ（ＰＨＢ）内の個々のＰＣＩスロットを区分し割り振るためのシステムを提供する。より効率の良いシステム・リソースの割振りを可能にし、所与の時点で１つまたは複数の区分に１つのＰＣＩスロットを動的に割り振ることができるようにする革新的なＰＨＢシステムを含む。
【００１１】
【発明の実施の形態】
次に添付図面、特に図１に関連して説明すると、本発明の好ましい一実施の形態を実現可能なデータ処理システムのブロック図が示されている。データ処理システム１００は、たとえば、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシン・コーポレイション（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎ）から入手可能なパーソナル・コンピュータのデスクトップ・モデルの１つにすることができる。データ処理システム１００はプロセッサ１０１および１０２を含み、このプロセッサは例示的な実施の形態ではそれぞれレベル２（Ｌ２）キャッシュ１０３および１０４に接続され、そのキャッシュはシステム・バス１０６に接続される。
【００１２】
また、システム・バス１０６にはシステム・メモリ１０８および１次ホスト・ブリッジ（ＰＨＢ）１２２も接続される。ＰＨＢ１２２は入出力バス１１２をシステム・バス１０６に結合し、一方のバスからもう一方へデータ・トランザクションを中継するかまたは伝送するかあるいはその両方を行う。例示的な実施の形態では、データ処理システム１００は入出力バス１１２に接続されたグラフィック・アダプタ１１８を含み、ディスプレイ１２０用のユーザ・インタフェース情報を受け取る。ハード・ディスク・ドライブにすることができる不揮発性記憶装置１１４や、従来のマウス、トラックボールなどを含むことができるキーボード／ポインティング・デバイス１１６などの周辺装置は、業界標準アーキテクチャ（ＩＳＡ）ブリッジ１２１を介して入出力バス１１２に接続される。また、ＰＨＢ１２２は入出力バス１１２を介してＰＣＩスロット１２４にも接続される。
【００１３】
図１に示す例示的な実施の形態は単に本発明を説明する目的で示したものであり、当業者であれば、形式と機能の両面で多数の変形形態が可能であることが分かるだろう。たとえば、データ処理システム１００は、コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）またはディジタル・ビデオ・ディスク（ＤＶＤ）ドライブ、サウンド・カードおよびオーディオ・スピーカ、その他の多数の任意選択構成部品も含むこともできるだろう。このような変形形態はいずれも、本発明の精神および範囲内に該当すると思われる。データ処理システム１００および以下の例示的な区分コンピュータ・システムは、単に説明のための例として示すものであり、アーキテクチャ上の制限を暗示するためのものではない。
【００１４】
図２を参照すると、本発明の好ましい実施の形態による区分コンピュータ・システムの高レベル・ブロック図が示されている。図２には、３つのマイクロプロセッサ（ｕＰ）２０４〜２０６と、５つのＰＣＩスロット２０８〜２１２とを有するコンピュータ・システム２００が示されている。ＰＣＩサブシステム２０７は、５つのＰＣＩスロットと、ＰＣＩホスト・ブリッジ（ＰＨＢ）２０１からなる。この図では、システムは２つの区分に分割され、区分２０２は、マイクロプロセッサ２０４および２０５と、ＰＣＩスロット２０８および２０９と、ＰＨＢ２０１とを含む。また、区分２０３は、マイクロプロセッサ２０６と、ＰＣＩスロット２１０〜２１２と、ＰＨＢ２０１とを含む。ただし、どちらの区分も同じＰＨＢを共用し、それがＰＣＩスロットの区分を制御することに留意されたい。
【００１５】
次に図３を参照すると、本発明の好ましい実施の形態による８プロセッサ区分可能コンピュータ・システムのより詳細なブロック図が示されている。この図には、アドレス・バス３２３、３２５とデータ・バス３２４、３２６のクロスバーを介してプロセッサ３０１〜３０８に接続されたアドレス・コントローラ３２１とデータ・コントローラ３２２とを含むコア・チップセット３２０を使用して、８つのプロセッサ３０１〜３０８が対称型マルチプロセッサ構成に接続された状態で示されている。この好ましい実施の形態では、これらのプロセッサはＩｎｔｅｌ（Ｒ）のＰｅｎｔｉｕｍ  ＩＩ（Ｒ）クラスのプロセッサである。
【００１６】
コア論理回路３２０は、各プロセッサのフロント・サイド・バスとメモリ・サブシステム３３０、３３１および入出力バス３５０とのインタフェースを取り、その入出力バスはアドレス・バス３２７とデータ・バス３２８とを含む。また、コア論理回路は、任意の２つのプロセッサのバス間のスヌープ・トランザクションの量を制限するように設計されたスヌープ・フィルタ３２９を含む。中央メモリ・サブシステム３３０、３３１は、独立して同時にアドレス指定できる２つの個別部分として示されている。
【００１７】
入出力バス３５０は、拡張が容易なハイ・パフォーマンス・システムをサポートするために、多数のＰＣＩスロット３１４〜３１７を付加する能力を提供する。最高４つのＰＣＩホスト・ブリッジ３１０〜３１３がサポートされ、そのいずれも対等ＰＣＩバス・セグメントとのインタフェースを取る。
【００１８】
好ましい実施の形態では、すべてのＰＣＩスロットはホットプラグ能力を有する。ＰＣＩホット・プラグ御論理回路と区分制御論理回路をＰＨＢ３１０〜３１３に統合することにより、好ましい実施の形態ではＦＥＴである外部分離回路を使用して、きめの細かい入出力区分を実現するためにトランザクションごとにＰＣＩスロットを分離することができる。各区分は、システム・プロセッサのうちの１つないし全部と、ＰＣＩスロットのうちの０個ないし全部を所有することができる。
【００１９】
また、この図には、ＰＨＢ３１０を介して接続された様々な入出力装置も示されている。これらは、ＳＣＳＩコントローラ３４０と、ＬＡＮ接続３４１と、グラフィック・アダプタ３４２とを含む。ＩＳＡブリッジ３４３は任意のレガシー入出力装置３４４を接続するために使用され、その入出力装置は、とりわけ、キーボード、マウス、シリアル・ポート、パラレル・ポート、オーディオ装置、フロッピー・ドライブ、ＣＤＲＯＭ、リアルタイム・クロックを含むことができる。
【００２０】
図４ないし図６を参照すると、本発明の好ましい一実施の形態によるスロットごとのＰＣＩ区分のための能力を提供する改良されたＰＣＩホスト・ブリッジが示されている。
【００２１】
ＰＨＢ４００は、いずれかの方向に同時に発生するアウトバウンド・トランザクションとインバウンド・トランザクションのための別々の要求待ち行列を提供する。アウトバウンド・トランザクションは入出力バス４０１上のエージェントによって開始される。このことは、（８つのプロセッサのうちの１つの代表としての）コア論理回路またはピアツーピアの応用例ではもう１つのＰＨＢのいずれかからＰＣＩメモリ・トランザクションを転送することを意味する。インバウンド・トランザクションはＰＣＩバス４０３上のエージェントによって開始され、システム・メモリに向けられるかまたはもう１つのＰＨＢの後ろにある対等ＰＣＩバス・セグメント上のＰＣＩメモリに向けられる。数ある重要な特徴のうち、ＰＨＢは、そのバス・セグメント上のすべてのイニシエータ・エージェントのためのＰＣＩアービトレーション、ホット・プラグＰＣＩ生挿入／除去のサポート、ＰＣＩスロット区分を実現する。
【００２２】
ＰＨＢは、入出力バスから開始されたアウトバウンド・トランザクションに関する通知済み（posted）書込みおよび据置き（deferred）応答と、ＰＣＩバスから開始されたインバウンド・トランザクションに関する通知済み書込みおよび据置き応答を実現する。アウトバウンド・メモリ書込みは必ず通知され、入出力書込みは任意選択で通知されるかまたは据え置かれ、入出力読取りとメモリ読取りはともに据置き応答を呼び出す。据置き応答は、トランザクションがプロセッサの適正順序（in-order）待ち行列から除去されて、据置きトランザクション待ち行列に入れられ、そのトランザクションが後で完了されることをプロセッサに通知することを意味する。ＰＨＢ４００は、据置きトランザクションをそのアウトバウンド要求待ち行列４２６に入れ、読取りまたは書込みトランザクションがＰＣＩバス上で完了したときに、ＰＨＢは、そのトランザクションが完了したという据置き応答を開始プロセッサに配送することになる。インバウンド・メモリ書込みは必ず通知され、メモリ読取りは遅延される。インバウンド読取りに関する遅延トランザクションは、ＰＨＢがそのＰＣＩインバウンド・バッファ４２９内にトランザクションを入れ、再試行によってＰＣＩ開始トランザクションを終了することを意味する。トランザクションは、読取りデータのために入出力バス４０１に転送され、ＰＣＩトランザクションが再試行されるまでインバウンド要求待ち行列４２８に入れられる。トランザクションが再試行されると、ＰＨＢはデータによってトランザクションを完成する。
【００２３】
入出力バス・トランザクション
８つのシステム・プロセッサのうちの１つから開始された入出力バス・トランザクションは、リソース・アドレス（入出力またはメモリ）と、バス・トランザクション・タイプ情報と、イニシエータ区分ＩＤと呼ばれるサイドバンド（sideband）信号４５０とを含むことになる。これらのサイドバンド信号は、フロント・サイド・バス上のどのプロセッサがＰＣＩをターゲットとするトランザクションを開始したかに基づいて、コア論理回路内で生成され、そのイニシエータがメンバである区分をＰＨＢ４００に対して識別する。フロント・サイド・バス（ＦＳＢ）の要求側エージェントは、分散回転優先順位バス・アービトレーション方式を使用し、コア論理回路はこれに従ってすべてのフロント・サイド・バス・トランザクションのイニシエータを識別する。各プロセッサには、その区分ＩＤによって定義された区分が割り当てられる。この区分ＩＤは、サイドバンド信号の生成をサポートするためにコア論理回路に組み込まれた新しいプログラム可能レジスタ・ファイルであり、その信号により本発明の革新的な区分技法が可能になる。
【００２４】
区分ＩＤレジスタ・ファイルは、システム初期設定時またはその前に構成されるが、動作中に変更することもできる。コア論理回路は、通常のトランザクションとともに、生成したイニシエータ区分ＩＤのサイドバンド信号を入出力バス上に連結することになる。
【００２５】
ＰＨＢ４００は、その対等ＰＣＩバス・セグメント上のどのＰＣＩスロット・リソースをターゲット区分のメンバとして使用可能にしなければならないかを決定するために、入出力バス・トランザクションとともにイニシエータ区分ＩＤのサイドバンド信号を受信する。ＰＨＢは、そのＰＣＩ構成スペースの一部として、ＰＣＩスロット区分記述子を含み、それは次のプログラム可能情報を含み、システム初期設定時またはその前に構成される。
【００２６】
ＰＣＩスロット用のターゲット区分ＩＤ
ターゲット区分ＩＤは０〜「ｎ」個の区分をサポートし、「ｎ」はシステム内でサポートされるプロセッサの数である。各区分には、ＰＣＩスロットのいずれも割り当てないかまたはそのすべてを割り当てることができる。１つのＰＣＩスロットとそのターゲット・リソースのすべてには、所与の時点で１つまたは複数の区分を動的に割り当てることができる。
【００２７】
ＰＣＩスロット用の入出力およびメモリ・アドレス・リソース・デコード・レンジ・レジスタ
ＰＨＢは、これらのレンジ・レジスタを使用して、ＰＣＩスロットによってトランザクション・ターゲットとして請求されたアドレス・リソースを肯定的にデコードする。レンジ・レジスタの各セットは、開始（基底）アドレスと終了アドレスとを含むことになるだろう。入出力レジスタはシステム・アドレス・マップからの２５６バイトの割当て可能範囲という最低限の細分性をサポートし、メモリ・レジスタはシステム・アドレス・マップからの１ＭＢの割当て可能範囲という最低限の細分性をサポートすることになるだろう。ＰＣＩスロットごとにサポートされる不連続アドレス・リソースの数としては、最低２つの入出力レンジ・レジスタと２つのメモリ・レンジ・レジスタとの対を必要とする。特定の入出力区分をターゲットとし、入出力バス上で開始されたトランザクションをＰＨＢが受け入れるようにするため、これらのレジスタは肯定的なデコーディングのために使用される。
【００２８】
ＰＨＢが入出力バス開始アウトバンド・トランザクションに関するターゲットとして肯定的に受け入れ、応答する前に、以下の条件が発生しなければならない。以下の条件は、アウトバウンド・トランザクション用の肯定区分応答（ＰＰＲ）として参照される。
１．現行トランザクション用の入出力バス・イニシエータ区分ＩＤのサイドバンド信号は、ＰＨＢによってサポートされるターゲット区分ＩＤの１つと一致しなければならない。
２．入出力バス・トランザクション・リソース・アドレス（入出力またはメモリ）は、一致するターゲット区分に関連する肯定的にデコードされたリソース・ターゲットのアドレス範囲内に該当しなければならない。
【００２９】
肯定区分応答に関して上記の条件の１つが満たされない場合、ＰＨＢは、入出力バス・トランザクションを無視し、入出力バス上に常駐する他のＰＨＢが所期のターゲットであると想定することになる。コア論理回路は、ソフトウェアまたはハードウェアが故障し、それが応答をまったく受信しない場合にバス・トランザクション・ウォッチドッグ・タイマを実現するための要件を有する。バス・トランザクション・タイムアウトなどの場合、コア論理回路は、フロント・サイド・バス上の開始プロセッサにターゲット打切りハード障害応答を返送することになるだろう。
【００３０】
図４に関連して、肯定区分応答を伴う入出力バス開始アウトバウンド・トランザクションの場合にＰＨＢから出される様々な応答について以下に要約する。
【００３１】
アウトバウンド・メモリ書込み
メモリ書込みは、アウトバウンド要求待ち行列４２６で通知され、ある項目が使用可能になるとＰＣＩアウトバウンド・バッファ４２７に移動される。トランザクションは、この時点でアウトバウンド要求待ち行列４２６から除去される。ＰＣＩイニシエータ／ターゲット制御論理回路４２５は、トランザクションがＰＣＩアービタ４２１を介してＰＣＩアウトバウンド・バッファ４２７に入れられたときにＰＣＩバスの所有権を要求し、また、どのＰＣＩスロット・リソースがこの区分のメンバであるかを判定し、それぞれの対応するＰＣＩスロット（複数も可）を使用可能にするために、ＰＣＩアウトバウンド・イニシエータ区分ＩＤを区分制御論理回路４２３に転送する。同じＰＣＩバス上のある区分内のすべてのスロットが使用可能になる。というのは、一部の装置は、所期のターゲットにならない可能性があるが、そのコンテキストのシャドーイングを行うために特定の装置に関するトランザクションをスヌープすることを必要とする可能性があるからである。ＰＣＩ区分制御論理回路４２３は、ＰＣＩアウトバウンド・イニシエータ区分ＩＤと、ＰＨＢのＰＣＩ対等バス・セグメントに付加された各ＰＣＩスロット用のターゲット区分ＩＤとを比較する。ＰＣＩアービトレーションのためにいかなるサイクルも浪費されず、アービタは現行トランザクション中に次の所有者にバスを授与するが、ＰＣＩバスがアイドル状態であることをそれが検出するまで所有権を取得しなくなる。
【００３２】
好ましい実施の形態では、ＰＣＩバスは、高速バックツーバック・トランザクションを実行するために、競合がまったく発生しないことを保証できる場合、トランザクション間に最低限１つのアイドル・バス状態を必要とすることに留意されたい。ＰＣＩ規格によって定義される高速バックツーバック・トランザクションとしては２つのタイプがあり、第１のタイプは、現行トランザクション用のマスタのターゲットが直前の書込みトランザクションのターゲットと同じであるときに実施され、第２のタイプでは、高速バックツーバック可能ターゲットがターゲット応答信号上でいっさい競合しないことを保証することが必要になる。ＰＣＩ規格では、この第２のメカニズムがＰＣＩコマンド・レジスタ内の構成ビットのみによってサポート可能であることが必要である。好ましい実施の形態では、第２のメカニズムは決して使用可能にならないことが必要であるが、同じ装置に対する第１のメカニズムの高速バックツーバック・トランザクションをサポートすることができる。
【００３３】
ＰＣＩアイドル・クロックは、あるＰＣＩエージェントが信号の励起を停止し、他のエージェントがその信号の励起を開始するときに競合を避けるためのターンアラウンド・サイクルとして必要になる。好ましい実施の形態では、すべてのバス・トランザクション間でアイドル・バス・クロックを必要とする。というのは、同じ対等ＰＣＩバス・セグメントのスロットのきめ細かいＰＣＩ区分を実現するために、ＦＥＴ分離スイッチ４１０〜４１４がこのターンアラウンド・サイクル中に使用可能／使用不能になるからである。区分制御論理回路４２３は、トランザクションごとにどのＰＣＩスロットを使用可能にすべきかをＰＣＩホット・プラグ制御論理回路に示す。ＦＥＴスイッチは、ＰＨＢがＰＣＩバスの所有権を取得する前のアイドル・ターンアラウンド・クロック・サイクル中に使用可能になる。ＰＨＢはメモリ書込みトランザクションを開始し、使用可能になったＰＣＩスロット上のターゲット装置はそのデータを受け取る。ＰＣＩターゲットの打切りまたはパリティ・エラーのためにデータが正常にＰＣＩターゲットに配送されない場合、マシン・チェック打切り（ＭＣＡ）が生成される。
【００３４】
任意選択で通知されるアウトバウンド入出力書込みは、アウトバウンド・メモリ書込みと同じＰＨＢ応答を有する。
【００３５】
アウトバウンド入出力書込みは任意選択で据え置かれる
入出力書込みは、任意選択でアウトバウンド要求待ち行列４２６に据え置かれ、ある項目が使用可能になるとＰＣＩアウトバウンド・バッファ４２７に移動される。そのトランザクションは、この時点でアウトバウンド要求待ち行列４２６から除去されるわけではなく、ＰＣＩバス４０３上で書込みが完了し、ＰＨＢ４００が入出力バス４０１上に据置き応答トランザクションを配送するまで待ち行列内に存続する。ＰＣＩイニシエータ／ターゲット制御論理回路４２５は、トランザクションがＰＣＩアウトバウンド・バッファ４２７に入れられたときに、ＰＣＩアービタ４２１を介してＰＣＩバス４０３の所有権を要求し、また、どのＰＣＩスロット・リソースがこの区分のメンバであるかを判定し且つそれぞれの対応するＰＣＩスロット（複数も可）４４０〜４４４を使用可能にするために、区分制御論理回路４２３にＰＣＩアウトバウンド・イニシエータ区分ＩＤを転送する。ＰＣＩ区分制御論理回路４２３は、ＰＣＩアウトバウンド・イニシエータ区分ＩＤと、ＰＨＢのＰＣＩ対等バス・セグメントに付加された各ＰＣＩスロット４４０〜４４４用のターゲット区分ＩＤとを比較する。ＰＣＩアービタ４２１は、そのＰＨＢにバスを授与し、ＰＣＩバスがアイドル状態であることをそれが検出したときに所有権を取得する。ＦＥＴスイッチ４１０〜４１４は、ＰＨＢ４００がＰＣＩバス４０３の所有権を取得する前のアイドル・ターンアラウンド・クロック・サイクル中に使用可能になる。ＰＨＢは入出力書込みトランザクションを開始し、使用可能になったＰＣＩスロット上のターゲット装置はそのデータを受け取る。データが正常にＰＣＩターゲットに配送された場合、据置き応答トランザクションを伴う通常の完了が返される。ＰＣＩターゲットの打切りまたはパリティ・エラーのためにデータが正常にＰＣＩターゲットに配送されない場合、据置き応答トランザクションの応答フェーズはハード障害応答を示すことになり、マシン・チェック打切り（ＭＣＡ）が生成される。
【００３６】
アウトバウンド・メモリまたは入出力読取りは据え置かれる
すべての読取りトランザクションは、アウトバウンド要求待ち行列４２６に据え置かれ、ある項目が使用可能になるとＰＣＩアウトバウンド・バッファ４２７に移動される。そのトランザクションは、この時点でアウトバウンド要求待ち行列４２６から除去されるわけではなく、ＰＣＩバス４０３上で読取りが完了し、ＰＨＢ４００が入出力バス４０１上に供給された読取りデータを伴う据置き応答トランザクションを出すまで待ち行列内に存続する。ＰＣＩイニシエータ／ターゲット制御論理回路４２５は、トランザクションがＰＣＩアウトバウンド・バッファ４２７に入れられたときに、ＰＣＩアービタ４２１を介してＰＣＩバス４０３の所有権を要求し、また、どのＰＣＩスロット・リソースがこの区分のメンバであるかを判定し且つそれぞれの対応するＰＣＩスロット（複数も可）４４０〜４４４を使用可能にするために、区分制御論理回路４２３にＰＣＩアウトバウンド・イニシエータ区分ＩＤを転送する。ＰＣＩ区分制御論理回路４２３は、ＰＣＩアウトバウンド・イニシエータ区分ＩＤと、ＰＨＢのＰＣＩ対等バス・セグメントに付加された各ＰＣＩスロット４４０〜４４４用のターゲット区分ＩＤとを比較する。ＰＣＩアービタ４２１は、そのＰＨＢにバスを授与し、ＰＣＩバスがアイドル状態であることをそれが検出したときに所有権を取得する。ＦＥＴスイッチ４１０〜４１４は、ＰＨＢがＰＣＩバスの所有権を取得する前のアイドル・ターンアラウンド・クロック・サイクル中に使用可能になる。ＰＨＢは読取りトランザクションを開始し、使用可能になったＰＣＩスロット上のターゲット装置はそのデータを供給する。データが正常にＰＣＩターゲットから読み取られた場合、据置き応答トランザクションおよび読取りデータを伴う通常の完了がデータ・フェーズで供給される。ＰＣＩターゲットの打切りまたはパリティ・エラーのためにデータが正常にＰＣＩターゲットから読み取られない場合、据置き応答トランザクションの応答フェーズはハード障害応答を示すことになり、マシン・チェック打切り（ＭＣＡ）が生成される。
【００３７】
ＰＣＩバス開始インバウンド・トランザクションのターゲットとしての肯定区分応答（ＰＰＲ）は、アウトバウンド・トランザクションの場合よりかなり単純なものである。ＰＣＩバス・イニシエータ区分ＩＤは、ＰＨＢのＰＣＩアービタ４２１内で内部生成される。ＰＣＩアービタ４２１は、ポイントツーポイントで、すなわち、中間論理回路または分離ＦＥＴ４１０〜４１４なしでＰＣＩスロット４４０〜４４４にそれぞれ接続された信号ＲＥＱ０：４およびＧＮＴ０：４を有する。ＲＥＱ０：４はスロット４４０〜４４４用のＰＣＩバス要求線であり、ＧＮＴ０：４はこれらのスロット用のＰＣＩバス授与信号である。これらの信号はバス化または分離する必要はない。というのは、所与のスロットがオフになり、その他の方法でＰＨＢから分離されたときでも、アービタは要求を受け取り、所有権を授与し、その他の方法で各スロットの状況を検査しなければならないからである。アービタは、現行トランザクション中に次の所有者にバスを授与するが、ＰＣＩバスがアイドル状態であることをそれが検出するまで所有権を取得しなくなる。ＰＣＩバス・イニシエータ区分ＩＤは、単に、ＰＣＩスロット区分記述子に基づいて、どのＰＣＩスロット４４０〜４４４にバスの所有権を授与すべきか、ならびにどの入出力区分がそのメンバになるかに基づいて生成される。区分制御論理回路４２３は、ＰＣＩバス・イニシエータ区分ＩＤを受け取り、それをＰＨＢによってサポートされるターゲット区分ＩＤのすべてと比較する。同じＰＣＩバス上の１つの区分内のすべてのスロットは、ピアツーピア・トランザクション通信をサポートして使用可能になる。区分制御論理回路４２３は、どのＰＣＩスロットを使用可能にすべきかをＰＣＩホット・プラグ制御論理回路に示す。ＦＥＴスイッチ４１０〜４１４は、ＰＣＩバス・イニシエータがＰＣＩバスの所有権を取得する前のアイドル・クロック・サイクル中に使用可能になる。
【００３８】
インバウンド・メモリ書込みは通知される
メモリ書込みは、ＰＣＩインバウンド・バッファ４２９で通知され、ある項目が使用可能になるとインバウンド要求待ち行列４２８に移動される。トランザクションは、この時点でＰＣＩインバウンド・バッファ４２９から除去される。入出力バスまたはイニシエータ／ターゲット制御論理回路４２４は、トランザクションがインバウンド要求待ち行列４２８に入れられたときに入出力バス４０１の所有権を要求する。バスの所有権が授与され、他のＰＨＢ上でシステム・メモリまたはＰＣＩメモリをターゲットとすると、ＰＨＢは入出力バス上でメモリ読取りトランザクションを開始する。
【００３９】
インバウンド・メモリ読取りは遅延される
この実施の形態のメモリ読取りは、ＰＣＩ  ＳＩＧ（２５７５  ＮＥ  Ｋａｔｈｒｙｎ  Ｓｔ  ＃１７  Ｈｉｌｌｓｂｏｒｏ，  ＯＲ  ９７１２４）から入手可能であり、参照により本明細書に組み込まれるＰＣＩ２．１規格によって定義される遅延トランザクション・メカニズムによってサポートされる。ＰＨＢは、すべてのＰＣＩバス・トランザクション情報をラッチし、インバウンド・メモリ読取りをそのＰＣＩインバウンド・バッファ４２９に入れ、再試行によってＰＣＩトランザクションを終了する。次にトランザクションは、ある項目が使用可能になるとインバウンド要求待ち行列４２８に移動され、ＰＣＩトランザクションは、この時点でＰＣＩインバウンド・バッファ４２９から除去される。入出力バス・イニシエータ／ターゲット制御論理回路４２４は、トランザクションがインバウンド要求待ち行列４２８に入れられたときに入出力バス４０１の所有権を要求する。それにバスの所有権が授与されると、ＰＨＢは、システム・メモリまたはＰＣＩメモリをターゲットとする入出力バス上でメモリ読取りトランザクションを開始する。読取りデータが返されると、ＰＨＢは、インバウンド要求待ち行列４２８内のデータの首尾一貫性を維持することになる。ＰＣＩバス・エージェントが遅延トランザクションと同じメモリ位置を読み取ろうともう一度試みると、ＰＨＢはデータで応答するためにＰＣＩインバウンド・バッファ４２９内にデータを移動し、ＰＣＩバス上で遅延トランザクションを完了する。
【００４０】
システム初期設定および構成
区分コンピュータ・システムを初期設定し構成するための好ましい方法は、システムのサービス・プロセッサが初期区分を確立することである。区分記述子は、最初は基本システム構成中にプログラミングされる。図６に示すように、好ましい方法では、パワーオン・リセットまたはハード・ブート（ステップ６１０）後に、プロセッサが依然としてリセット状態に保持されている間にサービス・プロセッサがシステム初期設定を開始する（ステップ６２０）。サービス・プロセッサによって実行されるタスク間で、システムの区分が確立される。それがデフォルト区分構成を使用するように構成されるかどうかに応じて（ステップ６３０）、サービス・プロセッサは、記憶した情報を使用する（ステップ６４０）かまたはオペレータから対話式に区分情報を入手する（ステップ６５０）。サービス・プロセッサは、ＰＨＢの位置を含む、システム用の基本メモリ・マップを確立し（ステップ６６０）、区分記述子レジスタへの区分情報をプログラミングする（ステップ６７０）。次にシステム・プロセッサは始動され（ステップ６８０）、各プロセッサはその割当て済みＰＣＩスロットを使用してその割当て済み区分内で動作する（ステップ６９０）。
【００４１】
区分記述子
図５に示すように、区分記述子は区分メンバシップ情報を含む。このテーブルでは、各スロット項目は、どの区分にそのスロットが属すかを示すために単一ビット・フラグを含む。ここに０：Ｎとして示す各スロットは、システム内の各区分用の単一ビットを伴う項目を有し、区分の数は一定ではなく、システム・ブート時に設定可能なので、テーブル・サイズは動的に割り振られる。各スロット項目ごとに、各区分に対応するビットは、そのスロットが現在はその区分のメンバではないことを示す「０」か、またはそのスロットが現在はその区分のメンバであることを示す「１」を含む。
【００４２】
次に図７および図８を参照すると、本発明の好ましい一実施の形態によるサンプルＰＨＢプロセスの簡略流れ図が示されている（より詳細なプロセスは上記の通りである）。図７はプロセッサ開始ＰＣＩ書込みを示している。プロセッサが書込みを開始した後（ステップ７００）、ＰＨＢは書込み要求を受け取り（ステップ７０５）、開始プロセッサの区分ＩＤを受け取る（ステップ７１０）。次にＰＨＢは、その区分ＩＤと、そのスロットのそれぞれの区分記述子とを比較する（ステップ７１５）。ＰＨＢは、それが開始プロセッサと同じ区分に属すことを示す区分記述子を有する各ＰＣＩスロットをオンにし（使用可能にし）（ステップ７２０）、この区分に属さない各ＰＣＩスロットを使用不能にする（ステップ７２５）。好ましい実施の形態では、これは図４に示すＦＥＴを使用することによって行われる。最後に、書込み要求はターゲットＰＣＩ装置に渡される（ステップ７３０）。
【００４３】
図８はＰＣＩ装置によって開始されるメモリ書込みを示している。この図では、ＰＣＩ装置が書込みを開始した後（ステップ７５０）、ＰＨＢは要求を受け取り（ステップ７５５）、それがどの区分に属すかを決定するためにそのＰＣＩスロットの区分記述子を読み取る（ステップ７６０）。それがこのように実行した後、ＰＨＢは、その区分に属すすべてのスロットを使用可能にし（ステップ７６５）、その区分に属さないすべてのスロットを使用不能にする（ステップ７７０）。最後に、書込み要求はＰＨＢによって入出力バスに渡される（ステップ７５５）。
【００４４】
動的スロット割当て
ＰＣＩスロットは、動的に割り当てることもでき、複数の所有者を有することもできる。以下の説明では、排他スロット所有権と複数所有権の両方の場合に、１つの区分からの複数のスロットを動的に割り当て、除去するためのプロセスについて詳述する。排他所有権とは、ある時点に１つのスロットを唯一の区分が所有するが、ランタイム中にそのスロットを他の区分に動的に移動できる場合である。複数所有権とは、ある時点に１つのスロットを複数の区分が所有することができ、ランタイム中に区分所有権から１つのスロットを割り当てたり、割当て解除することができる場合である。
【００４５】
除去−排他所有権
次に図９を参照すると、それがもはや特定のスロットの所有権を必要としないとある区分が判断したときに（ステップ８００）、オペレーティング・システムはその区分から除去するためのスロットを選択する（ステップ８０５）。次にオペレーティング・システムは、入出力バス上の変更の開始を通知するホットプラグ事象を開始する（ステップ８１０）。次にオペレーティング・システムは、区分所有権から除去すべきスロット内の装置を静止する（ステップ８１５）。このステップは、すべての保留作業を完了することと、新しい作業がその装置に対して行われるのを防止することを含む。そのスロット内の装置がすべての保留活動を完了すると、オペレーティング・システムは、他のどの装置ももはや対応するデバイス・ドライバを必要としない場合に、そのデバイス・ドライバをアンロードすることを選択できる。次にオペレーティング・システムは、ＰＣＩ構成レジスタを介してそのスロット内の装置を使用不能にする（ステップ８２０）。このコンテキストでは、ＰＣＩ使用不能とは、その装置がバス活動に関与しないようにＰＣＩコマンド・レジスタ・ビットをプログラミングすることを意味する。装置を使用不能にすることは、スロットが将来の任意の時点に再活動化される場合にその装置が非活動状態になることを保証するための安全機能である。最後に、オペレーティング・システムは、そのスロットに対する区分の所有権を除去するように対応するスロット区分記述子をプログラミングする（ステップ８２５）。これで除去動作を完了する（ステップ８３０）。
【００４６】
オペレーティング・システムが実行するアクションに関してこのプロセスを説明するが、これらの機能は、問題の区分内で実行される他のソフトウェアによって実行することができる。これは、その動作を調整し、装置を実施することができる適切なソフトウェアを含むはずである。
【００４７】
追加−排他的所有権
次に図１０を参照すると、排他的に所有されるスロットをある区分に追加するためのプロセスが示されている。その区分がスロットを必要とするときに（ステップ８３５）、その区分内に含めるべきスロットが選択される（ステップ８４０）。オペレーティング・システムは、そのスロットが現在所有されているかどうかまたはそのスロットが所有されていないかどうかを判定するために検査する（ステップ８４５）。この検査は、ターゲット・スロット用のスロット記述子を読み取ることによって実行される。そのスロットが所有されている場合、そのスロットは区分に含めるために使用可能ではなく、したがって、「エラー−スロット使用不能」などのエラーが示される（ステップ８５０）。そのスロットが現在所有されていない（使用可能である）場合、オペレーティング・システムは、任意選択でそのスロット上でハード・リセットを実行することを選択することができる（ステップ８５５）。ハード・リセットを実行することは、スロット内の装置がリセットされ、非活動状態であることを保証するためにオペレーティング・システムが行える方針上の選択である。次にオペレーティング・システムは、そのスロットを区分に含むように対応するスロット区分記述子をプログラミングする（ステップ８６０）。そのスロットが区分内に入ると、そのスロット内の装置はオペレーティング・システムにとって可視状態になる。
【００４８】
次にオペレーティング・システムは、入出力バス上の変更の開始を通知するホット・プラグ事象を開始する（ステップ８６５）。オペレーティング・システム（または、より具体的にはオペレーティング・システム内のＰＣＩバス・ドライバ）は、アダプタと、潜在的にバスを構成する（ステップ８７０）。このコンテキストでは、構成プロセスは、非競合（固有の）リソース（たとえば、メモリ・スペース）をその装置に割り当てることを含む。バスを構成することは、バス・ドライバがバス全体を検査して構成パラメータを決定し、新しい装置の追加に対処するためにおそらく他の装置内のリソースを再割当てすることを意味する。
【００４９】
次に装置は構成されてオンライン状態になり、オペレーティング・システムは対応するデバイス・ドライバをロードするかまたはその装置が追加され、使用可能であることをすでにロードしたドライバに通知する（ステップ８７５）。これで追加動作を完了する（ステップ８８０）。
【００５０】
除去−複数所有者
次に図１１を参照すると、それがもはや特定のスロットの所有権を必要としないとある区分が判断したときに（ステップ９００）、それはその区分から除去するためのスロットを指定する（ステップ９０５）。オペレーティング・システムは、入出力バス上の変更の開始を通知するホットプラグ事象を開始する（ステップ９１０）。次にオペレーティング・システムは、区分所有権から除去すべきスロット内の装置を静止する（ステップ９１５）。このステップは、すべての保留作業を完了することと、新しい作業がその装置に対して行われるのを防止することを含む。
【００５１】
そのスロット内の装置がすべての保留活動を完了すると、オペレーティング・システムは、他のどの装置ももはや対応するデバイス・ドライバを必要としない場合に、そのデバイス・ドライバをアンロードすることを選択できる。そのスロットが複数所有されているかどうかを判定するために検査が行われる（ステップ９２０）。そのスロットが複数所有されていない場合、オペレーティング・システムはＰＣＩ構成レジスタを介してそのスロット内の装置を使用不能にする（ステップ９３５）。この場合、「ＰＣＩ使用不能」とは、その装置がバス活動に関与しないようにＰＣＩコマンド・レジスタ・ビットをプログラミングすることを意味する。装置を使用不能にすることは、スロットが将来の任意の時点に再活動化される場合に非活動装置を保証するための安全機能である。そのスロットが複数所有されている場合、その装置は他の区分内でも活動状態になっているので、オペレーティング・システムはその装置を使用不能にすることができない。
【００５２】
最後に、オペレーティング・システムは、そのスロットに対する区分の所有権を除去するように対応するスロット区分記述子をプログラミングする（ステップ９２５）。これで除去動作を完了する（ステップ９３０）。
【００５３】
追加−複数所有者
次に図１２および図１３を参照すると、これは最も複雑な事例である。というのは、割当て済みリソースを伴う現在活動状態の装置がバス上に導入されるからである（ステップ１０００）。ある区分のバス・セグメント内に活動装置を含めるには、非競合構成を確立しなければならない。競合装置がバス上に導入された場合、エラーが発生することになる。
【００５４】
その区分内に含めるべきスロットが選択される（ステップ１００２）。オペレーティング・システムは、そのスロットが現在所有されているかどうかまたはそのスロットが所有されていないかどうかを判定するために検査する（ステップ１００４）。この検査は、ターゲット・スロット用のスロット記述子を読み取ることによって実行される。そのスロットが所有されている場合、プロセスは、図１３に関連して以下に説明する複数所有者解明に移行する。
【００５５】
そのスロットが現在所有されていない（使用可能である）場合、オペレーティング・システムは、任意選択でそのスロット上でハード・リセットを実行することを選択することができる（ステップ１００６）。ハード・リセットを実行することは、そのカードがリセットされ、非活動状態であることを保証するためにオペレーティング・システムが行える方針上の選択である。次にオペレーティング・システムは、そのスロットを区分に含むように対応するスロット区分記述子をプログラミングする（ステップ１００８）。そのスロットが区分内に入ると、そのスロット内の装置はオペレーティング・システムにとって可視状態になる。次にオペレーティング・システムは、入出力バス上の変更の開始を通知するホット・プラグ事象を開始する（ステップ１０１０）。複数所有権（すなわち、現行区分と他の区分の両方で活動状態である装置）の複雑さが追加されるので、装置およびバス構成は可視状態の（この区分がアクセスできるスロット）複数所有装置を特別に考慮に入れなければならない。オペレーティング・システムは、排他的に所有される装置の構成レジスタに対してのみ変更を行えることを把握して、その装置を構成しようと試みる（ステップ１０１２）。他の装置は固定かつ不変なものとして扱われる。
【００５６】
適当な構成を達成できる場合、装置は構成されてオンライン状態になり、オペレーティング・システムは対応するデバイス・ドライバをロードするかまたはその装置が追加され、使用可能であることをすでにロードしたドライバに通知する（ステップ１０１４）。これで追加動作を完了する（ステップ１０１６）。
【００５７】
適当な構成を達成しなかった場合、単純な事例では動作が失敗に終わるはずである。しかし、高度のシナリオでは、適当で相互に合致した装置構成値のセットを確立するために、すべての所有区分間（およびその中で実行されているオペレーティング・システム間）で連携努力が行われる（ステップ１０１８）。連携する際にオペレーティング・システムが適当な装置構成値のセットに到達できる場合、これらの値が適用される（ステップ１０２０）。オペレーティング・システムは前の通り、続けてドライバをロードするかまたはドライバに通知し（ステップ１０１４）、動作が完了する（ステップ１０１６）。
【００５８】
いかなる連携構成も達成できない場合、オペレーティング・システムは、区分記述子をプログラミングすることにより、その区分からそのスロットを除去し（ステップ１０２２）、そのスロットを追加できなかったというエラーを通知しなければならない（ステップ１０２４）。
【００５９】
適当なバス構成を決定するためのオペレーティング・システム間の連携努力では、連続する区分が装置の所有権をアサート解除し、受入れ可能な構成を入手するかまたはアサート解除プロセスを使い果たすまでバス構成を再試行する必要がある。
【００６０】
次に図１３を参照すると、このプロセスは、あるスロットが他の区分によってすでに所有されている場合にステップ１０２６に到達し、そのスロット内の装置がすでに構成され、動作可能であることを意味する。
【００６１】
オペレーティング・システムは、追加すべきスロット内の装置が構成値（すなわち、非競合リソース割当て）の互換セットを有するかどうかを判定するために検査する（ステップ１０２６）。この検査は、構成データ用の所有区分の１つ（またはそこで実行されるオペレーティング・システム）を尋ねるかまたはサービス・プロセッサなどの中央設置場所から構成データを検索することにより実施される。この選択は実施態様に依存し、当業者の能力の範囲内である。
【００６２】
構成値が互換性のあるものである場合、オペレーティング・システムは、そのスロットを区分内に含むように対応するスロット区分記述子を実行する（ステップ１０２８）。そのスロットが区分内にあると、そのスロット内のどの装置もオペレーティング・システムにとって可視状態になる。次にオペレーティング・システムは、入出力バス上の変更の開始を通知するホット・プラグ事象を開始する（ステップ１０３０）。装置は構成されてオンライン状態になり、オペレーティング・システムは対応するデバイス・ドライバをロードするかまたはその装置が追加され、使用可能であることをすでにロードしたドライバに通知する（ステップ１０３２）。これで追加動作を完了する（ステップ１０４２）。
【００６３】
追加すべきスロット内の装置が互換構成値を有していない場合、オペレーティング・システムは、複数所有装置の「周り」のバスを構成するよう試みる（ステップ１０３４）。すなわち、複数所有装置構成データを固定かつ不変なものとして保持しながら、その構成を再計算する。この再計算が成功した場合、新しい構成値が適用され（ステップ１０３６）、プロセスはステップ１０２８から動作を再開する。再計算が成功しない場合、動作は単に失敗に終わるだけである。
【００６４】
高度な事例では、ステップ１０１８のものと同様の「連携再構成」が試行される（ステップ１０３８）。連携再構成が成功した場合、その構成が適用され、プロセスが再開する（ステップ１０３６）。
【００６５】
連携プロセスが失敗した場合、適当な構成はまったく入手できず、スロット追加は失敗し、それに応じてエラーが報告される（ステップ１０４０）。
【００６６】
ただし、この複雑な事例では、適当な構成が決定された後でのみ、活動カードがその区分に含まれることに留意されたい。プロセス内の早い時期に区分記述子をプログラミングすると、その結果、バス上の装置間でリソース競合が発生する可能性もある。
【００６７】
複数所有権の考慮事項
ある装置が物理的レベルで複数の所有者を有する場合、特別なプログラミングの考慮事項が必要である。対比のため、論理的レベルで１つの装置を共用する例としては共用ネットワーク・プリンタがある。この共用プリンタの場合、そのプリンタの物理的所有者は依然として一人だけであり、システムは実際にはパラレル・ポート・ケーブルを介してプリンタに配線される。装置の物理的操作を管理し制御するのはこのサーバ・システム（プリンタにケーブル配線されたもの）である。
【００６８】
論理的共用とは対照的に、物理的共用では、所有するオペレーティング・システム間の追加調整が必要である。オペレーティング・システムは、物理的に共用される装置へのアクセスが個別ユニットで行われることを保証しなければならない。個別動作は、共用装置の性質に応じて様々である。前述のプリンタの例の場合、１つの個別動作は完全なプリント・ジョブである。活動プリント・ジョブは、第２のジョブが装置に導入される前に完了できるようにしなければならない。この個別プロトコルに従わない場合、両方のプリント・ジョブは破壊された状態になる。オペレーティング・システムは、当業者の能力の範囲内で考慮される「トークン・パッシング」または共用セマフォーを含む個別動作中に排他所有権を保証するために任意の標準手段を選択することができる。
【００６９】
修正形態および変形形態
当然のことながら、本発明の精神および範囲から逸脱せずに開示されたシステムおよび方法に対してなすことが可能な多くの修正形態および変形形態が存在する。たとえば、上記の説明では特に周辺コンポーネント相互接続（ＰＣＩ）接続の割振りを論じているが、スロット接続の排他区分および選択的分離の技法を含む、これらの技法は多数の異なるコンピュータ・アーキテクチャおよびシステムに適用することができる。
【００７０】
さらに、代替実施形態では、各スロットごとに単一ＰＨＢを使用することができる。したがって、既存の装置の周りに構成する必要性を除去する装置（すなわち、スロット）はバス・セグメントあたり１つだけであるので、より複雑な構成問題の一部は検出されない。形式および詳細における他の変形形態は確かに当業者の能力の範囲内であり、特許請求の範囲の範囲内に該当すると予想される。
【図面の簡単な説明】
【図１】本発明の好ましい一実施の形態による例示的なコンピュータ・システムのブロック図である。
【図２】本発明の好ましい一実施の形態による区分コンピュータ・システムの高レベル・ブロック図である。
【図３】本発明の好ましい一実施の形態による８プロセッサ・コンピュータ・システムのより詳細なブロック図である。
【図４】本発明の好ましい一実施の形態による改良されたＰＣＩホスト・ブリッジを示す図である。
【図５】本発明の好ましい一実施の形態による区分記述子テーブルである。
【図６】本発明の好ましい一実施の形態によるシステム構成プロセスの流れ図である。
【図７】本発明の好ましい一実施の形態によるプロセッサ開始ＰＣＩ書込みを示す図である。
【図８】本発明の好ましい一実施の形態によりＰＣＩデバイスによって開始されるメモリ書込みを示す図である。
【図９】本発明の好ましい一実施の形態による排他所有権スロット除去動作を示す図である。
【図１０】本発明の好ましい一実施の形態による排他所有権スロット追加動作を示す図である。
【図１１】本発明の好ましい一実施の形態による複数所有権スロット除去動作を示す図である。
【図１２】本発明の好ましい一実施の形態による複数所有権スロット追加動作を示す図である。
【図１３】本発明の好ましい一実施の形態による複数所有権スロット追加動作を示す図である。
【符号の説明】
１００  データ処理システム
１０１  プロセッサ
１０２  プロセッサ
１０３  レベル２（Ｌ２）キャッシュ
１０４  レベル２（Ｌ２）キャッシュ
１０６  システム・バス
１０８  システム・メモリ
１１２  入出力バス
１１４  不揮発性記憶装置
１１６  キーボード／ポインティング・デバイス
１１８  グラフィック・アダプタ
１２０  ディスプレイ
１２１  業界標準アーキテクチャ（ＩＳＡ）ブリッジ
１２２  １次ホスト・ブリッジ（ＰＨＢ）
１２４  ＰＣＩスロット
【図１】
0003574035.tif 000002
【図２】
0003574035.tif 000003
【図３】
0003574035.tif 000004
【図４】
0003574035.tif 000005
【図５】
0003574035.tif 000006
【図６】
0003574035.tif 000007
【図７】
0003574035.tif 000008
【図８】
0003574035.tif 000009
【図９】
0003574035.tif 000010
【図１０】
0003574035.tif 000011
【図１１】
0003574035.tif 000012
【図１２】
0003574035.tif 000013
【図１３】
0003574035.tif 000014