(57)【要約】【課題】仮想計算機の動的なＩ／Ｏデバイスの変更を可能にしながらも、基板の回路構成が複雑になるのを回避する。【解決手段】物理計算機を複数に分割した各ＬＰＡＲ上でそれぞれＯＳを動作させ、各ＬＰＡＲに対する物理計算機の資源の割当を制御するハイパバイザと、複数のスロットを備えたＰＣＩバスと、このＰＣＩバスを制御するサウスブリッジ６と、ハイパバイザからの要求に応じて、スロットに対してそれぞれ個別に第１のリセット信号を送出するＢＭＣ７と、ＰＣＩバス全体に第２のリセット信号を送出するバス初期化部を有しており、このバス初期化部は、少なくとも計算機の起動時に前記第２のリセット信号を送出し、第１のリセット信号または第２のリセット信号のいずれか一方に基づいてスロット毎に初期化を行う。【選択図】図１
2005309552.tif 000002
【特許請求の範囲】
【請求項１】
物理計算機を複数の論理区画に分割し、各論理区画上でそれぞれＯＳを動作させ、各論理区画に対する物理計算機の資源の割当を制御するファームウェアと、
複数のスロットを備えたＩ／Ｏバスと、
このＩ／Ｏバスを制御するＩ／Ｏ制御部と、を備えた計算機であって、
前記ファームウェアからの要求に応じて、前記スロットに対してそれぞれ個別に第１のリセット信号を送出するスロット初期化部と、
前記Ｉ／Ｏ制御部は、前記Ｉ／Ｏバス全体に第２のリセット信号を送出するバス初期化部を有し、
当該バス初期化部は、少なくとも計算機の起動時に前記第２のリセット信号を送出し、
前記第１のリセット信号または第２のリセット信号のいずれか一方に基づいて前記スロットの初期化をそれぞれ行うことを特徴とする計算機。
【請求項２】
前記スロット初期化部は、ファームウェアからの要求に基づいて論理区画に割り当てるスロットを決定し、前記論理区画上のＯＳの使用終了または使用開始時に、前記論理区画に割り当てたスロットに対して第１のリセット信号を送出することを特徴とする請求項１に記載の計算機。
【請求項３】
前記スロット初期化部は、ファームウェアからの要求に基づいて論理区画に割り当てるスロットを決定するとともに、当該スロットが他の論理区画に割り当てられているときには、複数の論理区画で当該スロットを共有し、
前記スロットに割り当てた全ての論理区画上のＯＳの使用終了時に、当該スロットに対して第１のリセット信号を送出することを特徴とする請求項１に記載の計算機。
【請求項４】
前記スロット初期化部は、ファームウェアからの要求に基づいて論理区画に割り当てるスロットを決定するとともに、当該スロットが他の論理区画に割り当てられているときには、複数の論理区画で当該スロットを共有し、
前記スロットに割り当てた論理空間で当該スロットを最初に使用する時に、当該スロットに対して第１のリセット信号を送出することを特徴とする請求項１に記載の計算機。
【請求項５】
前記スロット初期化部は、ファームウェアから要求されたスロットの識別子と、当該スロットに対する割り当て要求の種類とを格納する要求格納部と、
前記スロットの識別子に対応してそれぞれ設定されたカウンタと、
前記要求の種類が割り当て要求のときには、前記カウンタに所定値を加算する一方、前記要求の種類が割り当て解除要求のときには、前記カウンタから所定値を減算するカウンタ制御部と、
前記カウンタの値が０になると、当該カウンタに対応する識別子のスロットに対して第１のリセット信号を送出することを特徴とする請求項２乃至請求項４のいずれかひとつに記載の計算機。
【請求項６】
前記スロット初期化部は、ファームウェアを介して要求されたスロットの識別子と、当該スロットに対する割り当て要求の種類と、前記ファームウェアに要求を行った論理区画の識別子とを格納する要求格納部と、
前記論理区画の識別子に対応してそれぞれ設定されるとともに、前記スロットの識別子毎に対応するビットを予め設定したレジスタと、
前記要求の種類が割り当て要求のときには、前記論理区画の識別子に対応したレジスタについて、スロットの識別子に対応するビットをＯＮに設定する一方、前記要求の種類が割り当て解除要求のときには、前記論理区画の識別子に対応したレジスタについて、スロットの識別子に対応するビットをＯＦＦに設定するレジスタ制御部と、
前記スロットの識別子に対応する全てのレジスタのビットがＯＦＦになると、当該スロットに対して第１のリセット信号を送出することを特徴とする請求項２乃至請求項４のいずれかひとつに記載の計算機。
【請求項７】
前記計算機は、前記Ｉ／Ｏ制御部を含むハードウェアを監視する監視部を有し、
前記スロット初期化部は、前記監視部に実装されたことを特徴とする請求項１に記載の計算機。
【請求項８】
前記スロット初期化部は、前記Ｉ／Ｏ制御部に実装されたことを特徴とする請求項１に記載の計算機。
【請求項９】
前記計算機は、パーソナルコンピュータであることを特徴とする請求項１に記載の計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機システムに関し、複数の論理区画に対するＩ／Ｏデバイスの割当を動的に変更する技術に関する。
【背景技術】
【０００２】
サーバ台数の増加と共に運用に関する複雑さが増加しており運用コストが問題化しており、運用コストを低減する技術として複数サーバを１台にまとめるサーバ統合が注目を集めている。サーバ統合を実現する技術として、一つのコンピュータを任意の割合で論理的に分割する仮想計算機が知られており、ハイパバイザなどのファームウェア（またはミドルウェア）により、物理計算機を複数の論理区画（ＬＰＡＲ：Ｌｏｇｉｃａｌ  ＰＡＲｔｉｔｉｏｎ）に分割し、各ＬＰＡＲに対して計算機資源（ＣＰＵ、主記憶、Ｉ／Ｏ）を割当て、各ＬＰＡＲ上でそれぞれＯＳを動作させるもので、ＣＰＵを時分割で利用するため柔軟なサーバ統合が可能となる。
【０００３】
このような仮想計算機においては、ＬＰＡＲに割り当てるリソースを動的に変更可能であるため、Ｉ／Ｏデバイスの割り当てについても動的に変更を行う必要があり、一旦リセットを行ってから、新たなＬＰＡＲに割り当てることが要求される。
【０００４】
Ｉ／Ｏデバイスとして、ＰＣＩバスを用いる場合には、ＰＣＩスロットをＬＰＡＲ毎に割り当てる必要があり、動的に変更する場合には、該当するＬＰＡＲに割り当てられた（または割り当てる）ＰＣＩスロットのみを初期化する必要があるが、ＰＣＩバスには全てのスロットを初期化するリセット信号を有するだけであるため、ＬＰＡＲの動的なリソース割り当てに利用することはできない。
【０００５】
一方、ＰＣＩスロットをそれぞれ独立して初期化するものとしては、ＰＣＩデバイスをホットプラグに対応させるため、ＰＣＩバスとスロットの間にＰＣＩバスブリッジを介装するとともに、追加の制御回路をスロット側に設けるものが知られている（例えば、特許文献１）。
【特許文献１】特開平９−１４６８７５号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のようなＰＣＩスロットの場合、ＰＣＩデバイスのホットプラグに応じてリセットをかけることはできるものの、ハイパバイザなどのファームウェアからリセットをかける手段はなく、論理分割に適用することはできなかった。
【０００７】
さらに、上記従来例では、スロット毎にバスブリッジと追加の制御回路が必要となるため、基板の回路構成が複雑になってコストが上昇する、という問題がある。
【０００８】
そこで本発明は、上記問題点に鑑みてなされたもので、仮想計算機の動的なＩ／Ｏデバイスの変更を可能にしながらも、基板の回路構成が複雑になるのを回避することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、物理計算機を複数の論理区画に分割し、各論理区画上でそれぞれＯＳを動作させ、各論理区画に対する物理計算機の資源の割当を制御するファームウェアと、複数のスロットを備えたＩ／Ｏバスと、このＩ／Ｏバスを制御するＩ／Ｏ制御部と、前記ファームウェアからの要求に応じて、前記スロットに対してそれぞれ個別に第１のリセット信号を送出するスロット初期化部と、前記Ｉ／Ｏバス全体に第２のリセット信号を送出するバス初期化部を有しており、当該バス初期化部は、少なくとも計算機の起動時に前記第２のリセット信号を送出し、前記第１のリセット信号または第２のリセット信号のいずれか一方に基づいて前記スロットの初期化をそれぞれ行い、ファームウェアからスロットの割り当て要求があった後に、当該スロットの割り当て解除要求があったときには第１のリセット信号をこのスロットに送出し、初期化を行う。
【発明の効果】
【００１０】
したがって、本発明は論理分割を行うＩ／Ｏバスの初期化を、スロット単位でハイパバイザからの指令に応じて動的に行うことができるので、ハイパバイザ上で稼動するＯＳやスロットのデバイスの種類を限定する必要がなくなって、幅広いハードウェア構成に適応することができ、特に、ＰＣサーバに加えてパーソナルコンピュータ（ＰＣ）で仮想計算機を実現することが可能となる。
【００１１】
また、既存の計算機のＩ／Ｏバスに新たなリセット信号をスロット毎に加えればよいので、計算機の基板の回路構成が複雑になるのを回避しながら、仮想計算機の動的なＩ／Ｏデバイスの変更を可能にすることができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【００１３】
図１は、本発明の仮想計算機システムを動作させる物理計算機１００の構成を示す。ＣＰＵ１ａ、１ｂは、フロントサイドバス２を介してノースブリッジ３に接続される。
【００１４】
ノースブリッジ３には、メモリバス４を介してメモリ５が接続されるとともに、バス８を介してサウスブリッジ６が接続される。サウスブリッジ６にはＰＣＩバス及び図示しないレガシーデバイスやディスクインタフェースが接続され、それぞれＣＰＵ１ａ、１ｂからアクセス可能となっている。
【００１５】
ＰＣＩバス（Ｉ／Ｏバス）は、データバス１５、アドレスバス１６、リセット信号９をＰＣＩスロット♯０〜♯４で共有する。なお、図示しない電源も各ＰＣＩスロット♯０〜♯４で共有する。なお、リセット信号９は少なくとも物理計算機１００の起動時にＯＮとなって全てのＰＣＩスロット♯０〜♯４を初期化する。
【００１６】
さらに、ノースブリッジ３とサウスブリッジ６は、基板上のハードウェアを監視するＢＭＣ（Baseboard  Management  Controller）７に接続され、各ブリッジに接続されたハードウェアの監視が行われる。このＢＭＣ７は、制御部７０を備えて、基板上のハードウェアの電圧、温度、エラーなどを監視し、ＯＳ等に通知するものである。また、ＢＭＣ７は、後述するようにＰＣＩバスのマネージメントを行う。
【００１７】
上述のように、サウスブリッジ６からは１本のリセット信号９が提供されているが、このリセット信号９は、システムの起動時に全てのＰＣＩスロット♯０〜♯４へリセット（初期化）をかける目的で利用される。
【００１８】
このＢＭＣ７には、各ＰＣＩスロット♯０〜♯４を個別にリセットする制御部７０及びＯＲゲート２０〜２４を備える。
【００１９】
すなわち、ＯＲゲート２０は、制御部７０からのリセット信号ＲＳ０とサウスブリッジ６からのリセット信号９のいずれか一方がＯＮになると、ＰＣＩスロット♯０の所定のピンに加えるリセット信号ＲＳＴ＃０をＯＮにする。
【００２０】
同様に、ＯＲゲート２１〜２４は、制御部７０からのリセット信号ＲＳ１〜４とサウスブリッジ６からのリセット信号９のいずれか一方がＯＮになると、ＰＣＩスロット♯１〜♯４に加えるリセット信号ＲＳＴ＃１〜♯４を、それぞれＯＮにする。
【００２１】
ここで、上記制御部７０からのリセット信号ＲＳ０〜ＲＳ４は、後述するように、ハイパバイザからの指令に応じて行われるものである。
【００２２】
ここで、物理計算機１００上で稼動するソフトウェアについて、図２を参照しながら詳述する。
【００２３】
物理計算機１００上でハイパバイザ２００が稼動しており、ハイパバイザ２００は物理計算機１００を２つ以上の論理区画（ＬＰＡＲ：Ｌｏｇｉｃａｌ  ＰＡＲｔｉｔｉｏｎ）ＬＰＡＲ０（２１０）〜ＬＰＡＲｍ（２１ｍ）に分割し、計算機資源の割り当てを管理する。
【００２４】
ＬＰＡＲ０〜ＬＰＡＲｍのそれぞれでＯＳ０（２２０）〜ＯＳｍ（２２ｍ）を動作させ、各ＯＳ上でそれぞれアプリケーション０（２３０）〜アプリケーションｍ（２３ｍ）を動作させる。
【００２５】
ハイパバイザは、各ＬＰＡＲ（２１０〜２１ｍ）に対して物理計算機１００のＣＰＵ１ａ、１ｂ、メモリ５、ＰＣＩスロット♯０〜♯４のリソース（計算機資源）を割当てる。
【００２６】
なお、ＣＰＵは１つでも良いし、２つ以上であっても良い。ＣＰＵが２つ以上の場合、各ＣＰＵ１ａ、１ｂはメモリ５を共有する密結合型マルチプロセッサであるとする。
【００２７】
次に、ハイパバイザ２００からの指令に応じて、ＰＣＩスロット♯０〜♯４の初期化を行うＢＭＣ７の詳細について、図３を参照しながら説明する。
【００２８】
ＢＭＣ７の制御部７０には、ハイパバイザ２００から読み書き可能なレジスタ７１と、レジスタ７１に書き込みがあると、ＰＣＩスロット♯０〜♯４に対応したリセット信号発生部７３−＃０〜＃４の各カウンタ７４へ書き込みを行うカウンタ制御部７２と、各リセット信号発生部７３−＃０〜♯４のリセット信号ＲＳ０〜４と、サウスブリッジ６からのリセット信号９のいずれか一方を出力するＯＲゲート２０〜２４を備える。
【００２９】
まず、レジスタ７１は、要求種別（ＡＣＴまたはＤＥＡＣＴ）を格納する図中「ＲＥＱ」と、要求対象のスロット番号（識別子）を格納する図中「ＤＥＶ＃」の領域から構成される。ハイパバイザ２００は制御部７０のレジスタ７１に対して、対象とするＰＣＩスロットの番号＃０〜＃４のいずれかを領域ＤＥＶ＃へ書き込むとともに、ハイパバイザ２００上のＬＰＡＲ２１０〜２１ｍのいずれかが新たにＰＣＩスロットを使用（割り当てを行う）する場合には、ＡＣＴとして「＋１」の値を書き込み、ＰＣＩスロットの使用を終了（割り当てを解除）するときには、ＤＥＡＣＴとして「−１」の値を書き込む。なお、ＡＣＴは新たなＬＰＡＲを起動するとき用いられ、ＤＥＡＣＴはＬＰＡＲ上のＯＳを終了するときに用いられる。
【００３０】
カウンタ制御部７２は、レジスタ７１への書き込みがあると、領域ＤＥＶ＃で指定されたＰＣＩスロット番号に対応するリセット信号発生部７３−＃０〜＃４のカウンタ７４に領域ＲＥＱの値を加算する。
【００３１】
各リセット信号発生部７３−＃０〜＃４には、各カウンタ７４の出力がコンパレータ７５に接続され、カウンタ７４の値が０になるとリセット信号ＲＳ０〜４が発生するように構成されている。リセット信号ＲＳ０〜４は上記したようにＯＲゲート２０〜２４を介して各ＰＣＩスロット♯０〜♯４へ供給されるので、サウスブリッジ６からのリセット信号９とは独立して、ハイパバイザ２００から指令に応じて各ＰＣＩスロット♯０〜♯４を独立してリセットさせることができる。
【００３２】
物理計算機１００の起動時には、サウスブリッジ６からのリセット信号９により全てのＰＣＩスロット♯０〜♯４は初期化され、ハイパバイザ２００が起動して各ＬＰＡＲ２１０〜２１ｍが立ち上げられる。
【００３３】
例えば、ＬＰＡＲ２１０がＰＣＩスロット♯０に対する割り当てをハイパバイザ２００へ要求すると、ハイパバイザ２００は、レジスタ７１に「＋１」のＡＣＴの要求と、ＤＥＶ＃＝＃０を書き込む。カウンタ制御部７２は、ＤＥＶ＃に対応するリセット信号発生部７３−＃０のカウンタ７４にＡＣＴの値「＋１」を加算する。このとき、カウンタ７４の値は＋１になるので、コンパレータ７５の出力は変化せず、リセット信号ＲＳ０はＯＦＦのままである。
【００３４】
次に、ＬＰＡＲ２１ｍがＰＣＩスロット♯０に対する割り当てをハイパバイザ２００へ要求すると、ハイパバイザ２００は、レジスタ７１に「＋１」のＡＣＴの要求と、ＤＥＶ＃＝＃０を書き込む。上記と同様にしてカウンタ制御部７２は、ＤＥＶ＃に対応するリセット信号発生部７３−＃０のカウンタ７４にＡＣＴの値「＋１」を加算する。このとき、カウンタ７４の値は＋２になるので、コンパレータ７５の出力は変化せず、リセット信号ＲＳ０はＯＦＦのままであり、ＰＣＩスロット♯０は、ＬＰＡＲ２１０と２１ｍで共有される。
【００３５】
次に、ＬＰＡＲ２１０がＰＣＩスロット♯０に対する割り当て解除をハイパバイザ２００へ要求すると、ハイパバイザ２００は、レジスタ７１に「−１」のＤＥＡＣＴの要求と、ＤＥＶ＃＝＃０を書き込む。カウンタ制御部７２は、上記と同様にＤＥＶ＃に対応するリセット信号発生部７３−＃０のカウンタ７４にＡＣＴの値「−１」を加算する。このとき、カウンタ７４の値は＋１になるので、コンパレータ７５の出力は変化せず、リセット信号ＲＳ０はＯＦＦのままである。
【００３６】
さらに、ＬＰＡＲ２１ｍがＰＣＩスロット♯０に対する割り当て解除をハイパバイザ２００へ要求すると、ハイパバイザ２００は、レジスタ７１に「−１」のＤＥＡＣＴの要求と、ＤＥＶ＃＝＃０を書き込む。カウンタ制御部７２は、上記と同様にＤＥＶ＃に対応するリセット信号発生部７３−＃０のカウンタ７４にＤＥＡＣＴの値「−１」を加算する。この結果、カウンタ７４の値は０になるので、コンパレータ７５の出力が反転してリセット信号ＲＳ０がＯＮとなって、ＯＲゲート２０からリセット信号ＲＳＴ＃０がＰＣＩスロット♯０へ入力され、図示しないＰＣＩデバイスが初期化されるのである。リセット信号ＲＳ０は、次に、割り当てが発生するとカウンタ７４の値が１になることからＯＦＦに復帰して、ＰＣＩスロット♯０のデバイスを初期化状態から利用することができる。
【００３７】
なお、単一のＬＰＡＲがＰＣＩスロットを占有する場合には、カウンタ７４の値が＋１にセットしてＤＥＶ＃に設定したＰＣＩスロットをＬＰＡＲに割り当てる。そして、ＬＰＡＲが割り当てを解除するときには、カウンタ７４の値が０になるので、コンパレータ７５によりリセット信号ＲＳ０〜４が発生し、ＯＲゲートからリセット信号ＲＳＴ＃ｎがＰＣＩスロットへ入力され、図示しないＰＣＩデバイスが初期化されるのである。
【００３８】
このように、ＢＭＣ７にハイパバイザ２００から書き込み可能なレジスタ７１を設け、レジスタ７１のデバイス番号ＤＥＶ＃に対応するリセット信号発生部７３−＃０〜＃４を設けて、各リセット信号発生部７３−＃０〜＃４のカウンタ７４の値が０になるとリセット信号ＲＳ０〜４を発生し、ＯＲゲート２０〜２４を介して各ＰＣＩスロット♯０〜♯４にそれぞれ供給することで、仮想計算機における動的なリソースの変更に対して柔軟に対応することができる。
【００３９】
そして、ＢＭＣ７は、ＰＣサーバなどでは基板上に実装されていることが多いため、このＢＭＣ７にレジスタ７１、カウンタ制御部７２及びＰＣＩスロットに対応するリセット信号発生部７３−＃０〜＃４を設け、基板上のＰＣＩスロット毎にＯＲゲート２０〜２４を設けて、それぞれサウスブリッジ６からのリセット信号９と、リセット信号発生部７３−＃０〜＃４の出力を加えればよいので、上記従来例のようにＰＣＩバスブリッジや複雑な追加制御回路を必要とすることがなく、製造コストの上昇を抑制しながら、ＰＣサーバなどにおいて、動的にリソースの変更を行う仮想計算機に対応する物理計算機を容易に構築することができる。
【００４０】
また、本発明によれば、論理分割を行うＩ／Ｏバスの初期化を、スロット単位でハイパバイザ２００からの指令に応じて任意に行うことができるので、ハイパバイザ２００上で稼動するＯＳやＰＣＩスロット♯０〜♯４のデバイスの種類を限定する必要がなくなって、幅広いハードウェア構成に適応することができ、特に、ＰＣサーバに加えてパーソナルコンピュータ（ＰＣ）で仮想計算機を実現することが可能となる。
【００４１】
さらに、論理分割と同様に作用するＶＭＷＡＲＥ（登録商標）のように、ホストＯＳ上で複数のゲストＯＳを稼動させる場合、ゲストＯＳで利用するＩ／Ｏデバイスは、全てホストＯＳで管理しているので、ゲストＯＳのＯＮ／ＯＦＦ時に初期化を実施する必要がない。しかしながら、このような構成では、ホストＯＳのアプリケーションとしてゲストＯＳを稼動させるため、オーバーヘッドが極めて大きくなってしまう。これに対して本発明では、ファームウェアとしてのハイパバイザ２００が論理分割したＬＰＡＲ上で各ＯＳを稼動させ、ハイパバイザ２００を介して各ＯＳからＩ／Ｏデバイス（ＰＣＩスロット♯０〜♯４上のデバイス）への割り当て要求等を行うので、上述のようなオーバーヘッドを生ずることがなく、物理計算機の性能を十分利用することができるのである。
【００４２】
＜変形例１＞
図４は第１の変形例を示し、上記第１実施形態の制御部７０のカウンタ７４をＬＰＡＲ毎のレジスタ７２１〜７２５とし、各レジスタ７２１〜７２５のビットマップに応じてリセット信号ＲＳ０〜４を発生するＮＡＮＤゲート７２６−０〜ｎを設けたものであり、その他の構成は前記第１実施形態と同様である。なお、ＬＰＡＲに対応するレジスタは、図示はしないが、ＬＰＡＲ２１０〜２１ｍの数だけ設定されている。
【００４３】
まず、レジスタ７１０は、要求種別（ＡＣＴまたはＤＥＡＣＴ）を格納する図中「ＲＥＱ」と、要求元のＬＰＡＲの識別子を格納する図中「ＬＰＡＲ＃」と、要求対象のスロット番号を格納する図中「ＤＥＶ＃」の領域から構成される。
【００４４】
ハイパバイザ２００は制御部７０のレジスタ７１０に対して、対象とするＰＣＩスロットの番号＃０〜＃４のいずれかを領域ＤＥＶ＃へ書き込み、同時に、要求元のＬＰＡＲ０〜ｍの値をＬＰＡＲ＃に書き込む。そして、要求元のＬＰＡＲが割り当てを要求し場合にはＰＣＩスロット＃０〜＃４に対応するレジスタ７２１〜７２５のビットをＯＮ（＝１）にセットし、あるいは、要求元のＬＰＡＲが割り当て解除を要求し場合にはＰＣＩスロット＃０〜＃４に対応するレジスタ７２１〜７２５のビットをＯＦＦ（＝０）にセットする。ここでは、各レジスタ７２１〜７２５の最上位ビットが、ＰＣＩスロット♯０に対応付けられ、最下位ビットがＰＣＩスロット♯ｎに対応する。ここでは、ｎ＝４とする。
【００４５】
そして、各レジスタ７２１〜７２５の同一のビットは、それぞれＮＡＮＤゲート７２６＿０〜ｎが接続され、全てのビットが０になったときにリセット信号ＲＳ０〜４が発生し、ＯＲゲート２０〜２４を介して各ＰＣＩスロット♯０〜♯４へリセット信号ＲＳＴ０〜４が供給される。
【００４６】
この場合も上記第１実施形態と同様であり、例えば、ＬＰＡＲ２１０が単独でＰＣＩスロット♯０を使用している間は、レジスタ７２１の最上位ビットが１となっており、ＬＰＡＲ２１０が利用を終了するとレジスタ７２１の最上位ビットが０になって、リセット信号ＲＳＴ０が発生し、ＰＣＩスロット♯０にリセットがかけられる。
【００４７】
また、ＬＰＡＲ２１０とＬＰＡＲ２１ｍがＰＣＩスロット♯０を利用している間は、レジスタ７２１、７２２の最上位ビットが共に１となっており、ＬＰＡＲ２１０と２１ｍが利用を終了するとレジスタ７２１、７２２の最上位ビットが０になって、リセット信号ＲＳＴ０が発生し、ＰＣＩスロット♯０にリセットがかけられる。
【００４８】
こうして単独使用の終了時点や共有使用の終了時点にＰＣＩスロット♯０〜♯４を初期化することができ、ＰＣＩスロット♯０〜♯４に接続されたＰＣＩデバイス（図示省略）のレジスタなどをクリアすることができ、次回の割り当てを円滑に行うことができる。
【００４９】
＜変形例２＞
図５は第２の変形例を示し、上記第１実施形態のＰＣＩバス（共有バス）を、ポイントｔｏポイントのＩ／Ｏバス（例えば、ＰＣＩ  Express）に適用した例を示す。図５において、サウスブリッジ６Ａは、各スロット♯０〜♯４からポイントｔｏポイントで接続される点で前記第１実施形態と異なり、リセット信号９−０、９−１、９−２、９−３、９−４もスロット毎に独立している。サーバまたはパーソナルコンピュータで用いられるサウスブリッジは仮想計算機を想定していないため、システム起動時に全てのスロットに対応するリセット信号９−０〜９−４が同時にＯＮになる。その他は、前記第１実施形態と同様である。Ｉ／Ｏバス全体を初期化するためのリセット信号９は、各スロット♯０〜♯４毎に設けたＯＲゲート２０〜２４へ入力され、制御部７０からリセット信号ＲＳ０〜４もＯＲゲート２０〜２４へ入力される。
【００５０】
制御部７０は、前記第１実施形態に示したカウンタ７４、あるいは上記変形例１に示したレジスタ７２１〜７２５を有して、ハイパバイザ２００からの指令に応じてスロット毎にリセット信号ＲＳ０〜４を発生させる。
【００５１】
＜変形例３＞
図６は第３の変形例を示し、上記第１実施形態のレジスタ７１、カウンタ制御部７２及びリセット信号発生部７３−＃０〜＃４をＢＭＣ７から独立させ、リセット信号発生制御部３０としたもので、その他の構成は前記第１実施形態と同様である。
【００５２】
この場合、既存のＢＭＣ７をそのまま流用して、ハイパバイザ２００とのインターフェースとして利用し、物理計算機１００の基板上にリセット信号発生制御部３０とＯＲゲート２０〜２４を付加するだけでよいので、ＢＭＣ７の変更を最低限とすることができる。
【００５３】
なお、この場合、カウンタ制御部７２、カウンタ７４に代わって、上記変形例１の用に、レジスタ７１０、レジスタ制御部７２０、レジスタ７２１〜７２５で構成することもできる。
【００５４】
なお、上記実施形態においては、ＰＣＩスロット♯０〜♯４に個別のリセット信号を発生する制御部７０をＢＭＣ７に設けた例を示したが、ノースブリッジ３やサウスブリッジ６に設ける構成としても良い。
【００５５】
また、上記実施形態においては、フロントサイドバス２を共有バスとしたが、ポイントｔｏポイントのクロスバー型のバスとしても良く、同様にノースブリッジ３とサウスブリッジ６をクロスバー型のバスで接続することができる。さらに、ノースブリッジ３にメモリバス４を接続したが、ＣＰＵ１ａ、１ｂにメモリバスを接続する構成としても良い。
【００５６】
また、上記実施形態においては、ひとつのＰＣＩバスを備えた物理計算機１００を一例としたが、図示はしないが複数のＩ／Ｏバスを備えた物理計算機に適用することができ、さらに、異なるＩ／Ｏバスを複数備えた物理計算機に適用することも可能である。例えば、ＰＣＩバスとＰＣＩ−Ｘバスに加えてＰＣＩ  Expressバスを備えた物理計算機では、各Ｉ／Ｏバスのスロットに対して個別のリセット信号を発生させるようにしても良い。
【産業上の利用可能性】
【００５７】
以上のように、本発明ではＩ／Ｏバスに個別のリセット信号を与えることが可能となるので、動的にリソースの変更を行う仮想計算機に最適な物理計算機（サーバまたはパーソナルコンピュータ）を提供することができる。
【図面の簡単な説明】
【００５８】
【図１】物理計算機の構成を示すシステム図。
【図２】物理計算機で稼動する仮想計算機のソフトウェア構成を示すシステム図。
【図３】ＢＭＣとＩ／Ｏバスの詳細を示すシステム図。
【図４】第１の変形例を示し、ＢＭＣとＩ／Ｏバスの詳細を示すシステム図。
【図５】第２の変形例を示し、ＢＭＣとＩ／Ｏバスの詳細を示すシステム図。
【図６】第３の変形例を示し、物理計算機の構成を示すシステム図。
【符号の説明】
【００５９】
１ａ，１ｂ  ＣＰＵ
５  メモリ
６  サウスブリッジ
７  ＢＭＣ
２０〜２４  ＯＲゲート
２１０〜２１ｍ  ＬＰＡＲ
＃０〜＃４  ＰＣＩスロット
７０  制御部
１００  物理計算機
２００  ハイパバイザ
【図１】
2005309552.tif 000003
【図２】
2005309552.tif 000004
【図３】
2005309552.tif 000005
【図４】
2005309552.tif 000006
【図５】
2005309552.tif 000007
【図６】
2005309552.tif 000008