(57)【要約】      （修正有）【課題】多数の仮想パーティションにおける仮想システム・コンテキストを小規模なハードウェアで実現する。【解決手段】パーティション１１と、仮想プロセッサ１２及びＩＯデバイス１３と、コマンドの宛先を決定するために参照され、パーティション毎に設けられる仮想コンテキスト１４と、仮想コンテキストのコピーと、仮想コンテキストが属するパーティション番号とを保持する一つ又は複数のキャッシュエントリ１５と、コマンドが発行された場合において、コマンドのパーティション番号を参照し、キャッシュエントリのパーティション番号と比較する比較部１６と、コマンドのパーティション番号と、いずれかのキャッシュエントリのパーティション番号とが一致した場合には、そのキャッシュエントリが保持する仮想コンテキストのコピーを利用して当該コマンドの宛先を決定する宛先決定部１７とを有するパーティション・コンテキスト制御装置１０である。【選択図】図１
2008140116.tif 000002
【特許請求の範囲】
【請求項１】
単一の仮想システムを実現し、切り替えて利用されるパーティションと、
主記憶メモリへのリード・ライト又はＩＯデバイスへのリード・ライトを行うコマンドを発行する仮想プロセッサ及びＩＯデバイスと、
前記コマンドの宛先を決定するために参照され、パーティション毎に設けられる仮想コンテキストと、
前記仮想コンテキストのコピーと、前記仮想コンテキストが属するパーティション番号とを保持する一つ又は複数のキャッシュエントリと、
前記コマンドが発行された場合において、前記コマンドのパーティション番号を参照し、キャッシュエントリのパーティション番号と比較する比較部と、
前記コマンドのパーティション番号と、いずれかのキャッシュエントリのパーティション番号とが一致した場合には、そのキャッシュエントリが保持する仮想コンテキストのコピーを利用して当該コマンドの宛先を決定する宛先決定部と
を有するパーティション・コンテキスト制御装置。
【請求項２】
前記宛先決定部に代えて、
コマンドのパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から当該コマンドのパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込むキャッシュエントリ管理部と、
当該書き込んだ仮想コンテキストのコピーを利用してコマンドの宛先を決定する宛先決定部と
を設けた請求項１記載のパーティション・コンテキスト制御装置。
【請求項３】
パーティションの切り替えをモニタリングするパーティション・マネージャを設けると共に、
前記比較部及び前記宛先決定部に代えて、
パーティション・マネージャがパーティションを切り替えたとき、切り替え後のパーティション番号とキャッシュエントリのパーティション番号とを比較する比較部と、
切り替え後のパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から切り替え後のパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込むキャッシュエントリ管理部と
を設けた請求項１記載のパーティション・コンテキスト制御装置。
【請求項４】
前記比較部及び前記キャッシュエントリ管理部に代えて、
ＩＯデバイスからコマンドが発行された場合において、コマンドのパーティション番号を参照し、キャッシュエントリのパーティション番号と比較する比較部と、
コマンドのパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から当該コマンドのパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込むキャッシュエントリ管理部と、
キャッシュエントリの書き換えを契機として、現在アクティブなパーティションをコマンドのパーティション番号に対応するパーティションへ切り替えるように、パーティション・マネージャに対して、パーティションの切り替えを要求するパーティション切替え要求部と
を有する請求項３記載のパーティション・コンテキスト制御装置。
【請求項５】
前記比較部、前記キャッシュエントリ管理部及び前記パーティション切替え要求部に代えて、
ＩＯデバイスからコマンドが発行された場合に、割り込みの発生を検出する検出部と、
現在アクティブなパーティションのパーティション番号と、コマンドのパーティション番号とを比較する比較部と、
割り込みの発生が検出された場合において、現在アクティブなパーティションのパーティション番号と、コマンドのパーティション番号とが一致しない場合には、当該割り込みの発生を契機として、現在アクティブなパーティションをコマンドのパーティション番号に応じたパーティションに切り替えるように、パーティション・マネージャに対して、パーティションの切り替えを要求するパーティション切替え要求部と
を設けた請求項４記載のパーティション・コンテキスト制御装置。
【請求項６】
仮想コンテキストのコピーと、前記仮想コンテキストが属するパーティション番号とをキャッシュエントリに保持するステップと、
前記仮想コンテキストは、パーティション毎に設けられ、コマンドの宛先を決定するために参照され、
前記パーティションは、単一の仮想システムを実現し、切り替えて利用され、
前記コマンドは、主記憶メモリへのリード・ライト又はＩＯデバイスへのリード・ライトを行い、
コマンドが発行された場合において、前記コマンドのパーティション番号を参照し、キャッシュエントリのパーティション番号と比較するステップと、
前記コマンドのパーティション番号と、いずれかのキャッシュエントリのパーティション番号とが一致した場合には、そのキャッシュエントリが保持する仮想コンテキストのコピーを利用して当該コマンドの宛先を決定するステップと
を有するパーティション・コンテキスト制御方法。
【請求項７】
前記宛先を決定するステップに代えて、
コマンドのパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から当該コマンドのパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込むステップと、
当該書き込んだ仮想コンテキストのコピーを利用してコマンドの宛先を決定するステップと
を有する請求項６記載のパーティション・コンテキスト制御方法。
【請求項８】
前記比較するステップ及び前記宛先を決定するステップに代えて、
所定のタイミングでパーティションを切り替えるステップと、
パーティションが切り替えられたとき、切り替え後のパーティション番号とキャッシュエントリのパーティション番号とを比較するステップと、
切り替え後のパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から切り替え後のパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込むステップと
を有する請求項６記載のパーティション・コンテキスト制御方法。
【請求項９】
前記比較するステップ及び前記書き込むステップに代えて、
所定のタイミングでパーティションを切り替えるステップと、
ＩＯデバイスからコマンドが発行された場合において、前記コマンドのパーティション番号を参照し、キャッシュエントリのパーティション番号と比較するステップと、
前記コマンドのパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から当該コマンドのパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込むステップと、
キャッシュエントリの書き換えを契機として、現在アクティブなパーティションを前記コマンドのパーティション番号に対応するパーティションへ切り替えるように、パーティションの切り替えを要求するステップと
を有する請求項８記載のパーティション・コンテキスト制御方法。
【請求項１０】
前記比較するステップ、前記書き込むステップ及び前記要求するステップに代えて、
ＩＯデバイスからコマンドが発行された場合に、割り込みの発生を検出するステップと、
現在アクティブなパーティションのパーティション番号と、前記コマンドのパーティション番号とを比較するステップと、
割り込みの発生が検出された場合において、現在アクティブなパーティションのパーティション番号と、前記コマンドのパーティション番号とが一致しない場合には、当該割り込みの発生を契機として、現在アクティブなパーティションを前記コマンドのパーティション番号に応じたパーティションに切り替えるように、パーティションの切り替えを要求するステップと
を有する請求項９記載のパーティション・コンテキスト制御方法。
【請求項１１】
請求項１〜５いずれか１項に記載のパーティション・コンテキスト制御装置と、
物理ＣＰＵと、
物理ＩＯ装置と
を有するコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーティション・コンテキスト制御装置及び方法、並びにコンピュータに関する。
【背景技術】
【０００２】
従来一つの装置を複数の論理パーティションに区切り、各パーティションをそれぞれ１つのＯＳあるいはシステム・イメージである仮想システムとして見せる仕組みが実現されている。最近では、マルチコアあるいはマルチ・スレッド技術の進歩により、単一のシステムにおいて、従来より多数のプロセッサ数、あるいはスレッド数が動作する。例えば、１つのプロセッサに２ｃｏｒｅあるいは４ｃｏｒｅが搭載されている場合、小型の２プロセッサ装置においても４ｃｏｒｅあるいは８ｃｏｒｅの装置となる。また、従来は単一のプロセッサＣｏｒｅで単一のＯＳのみを動作させていたが、プロセッサの仮想化技術と性能の進歩により、単一プロセッサＣｏｒｅ上で複数の仮想プロセッサを動作させることが可能になり、単一プロセッサＣｏｒｅ上で数個から１０数個程度の仮想プロセッサを現実的な性能で稼動させることも可能になってきている。上記のマルチコア化と仮想プロセッサ技術の向上により、単一システムで１００〜１０００個の仮想プロセッサを動作させることも可能となりつつある。また、これらの仮想プロセッサのいくつかをまとめて仮想システムとする仮想化モニタ（以降ＶＭＭ）技術も向上しており、プロセッサ性能を大きく低下させることなく、単一システム上に複数の仮想システムを同居させることも可能になってきている。ただし、現実的には単一スレッド動作のソフトウェアが多く、単一システム上で多数のプロセッサを同時に使用させる機会が少ないのが現実である。そのため、単一装置上で多数の仮想マシンを動作させること等が用いられているが、通常の仮想マシンではＩＯデバイスをエミュレーションしているため、ＩＯ性能の低下が顕著であり、ＩＯ性能も実用的な性能で動作させるため、パーティションに分割することにより、ＩＯ性能を低下させずに複数の仮想システムを実現する方法が性能的に望ましい。以上から、多数のプロセッサ・コアが搭載された単一システムを多数のパーティションに区切り、異なる仮想システムとして利用し、プロセッサＣｏｒｅ、あるいは仮想プロセッサを効率的に使用することが期待されている。
【０００３】
パーティション制御に関連する従来技術としては、特開２００４−３０３２３７号公報（特許文献１参照）に記載された発明が知られる。特許文献１に記載された論理的にパーティションが作成されたコンピュータ・システム内で割り込みを仮想化するための装置においては、プロセッサ、前記プロセッサに結合されるメモリ、装置上において定義される複数の論理パーティション、少なくとも１つの仮想割り込みレジスタ、および、前記メモリ内に存在し、前記プロセッサによって実行される割り込みマネジメント・メカニズムを備える。仮想割り込みレジスタは、それぞれが前記プロセッサ内に存在する物理的な割り込みレジスタに対応する。割り込みマネジメント・メカニズムは、前記少なくとも１つの仮想割り込みレジスタを使用して複数の割り込みを処理する。特許文献１では、仮想割り込みレジスタ（１２４）を主記憶（１２０）上に保持する。そして、リソースおよびパーティション・マネージャ（１２１）が前記仮想割り込みレジスタ（１２４）を用いて、適宜物理割り込みレジスタ（１１２）に返す（段落００３３参照）。これにより、割り込みを任意のパーティションのプロセッサに割り振り、且つ、共有プロセッサを任意のパーティションに割り振る（段落０００６参照）。割り込みを仮想化するための装置であり、割り込み処理に特化した発明と言い得る。
【０００４】
【特許文献１】特開２００４−３０３２３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、多数の仮想パーティションにおける仮想システム・コンテキストを小規模なハードウェアで実現することである。
【課題を解決するための手段】
【０００６】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００７】
本発明によるパーティション・コンテキスト制御装置（１０）においては、パーティション（１１）は、単一の仮想システムを実現し、切り替えて利用される。仮想プロセッサ（１２）及びＩＯデバイス（１３）は、主記憶メモリへのリード・ライト又はＩＯデバイスへのリード・ライトを行うコマンドを発行する。仮想コンテキスト（１４）は、前記コマンドの宛先を決定するために参照され、パーティション毎に設けられる。一つ又は複数のキャッシュエントリ（１５）は、前記仮想コンテキストのコピーと、前記仮想コンテキストが属するパーティション番号とを保持する。比較部（１６）は、前記コマンドが発行された場合において、前記コマンドのパーティション番号を参照し、キャッシュエントリのパーティション番号と比較する。宛先決定部（１７）は、前記コマンドのパーティション番号と、いずれかのキャッシュエントリのパーティション番号とが一致した場合には、そのキャッシュエントリが保持する仮想コンテキストのコピーを利用して当該コマンドの宛先を決定する。また、本発明によるパーティション・コンテキスト制御装置（２０）においては、キャッシュエントリ管理部（２１）は、コマンドのパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から当該コマンドのパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込む。宛先決定部（２２）は、当該書き込んだ仮想コンテキストのコピーを利用してコマンドの宛先を決定する。また、本発明によるパーティション・コンテキスト制御装置（３０）においては、パーティション・マネージャ（３１）は、パーティションの切り替えをモニタリングする。比較部（３２）は、パーティション・マネージャがパーティションを切り替えたとき、切り替え後のパーティション番号とキャッシュエントリのパーティション番号とを比較する。キャッシュエントリ管理部（３３）は、切り替え後のパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から切り替え後のパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込む。また、本発明によるパーティション・コンテキスト制御装置（４０）においては、比較部（４１）は、ＩＯデバイスからコマンドが発行された場合において、コマンドのパーティション番号を参照し、キャッシュエントリのパーティション番号と比較する。キャッシュエントリ管理部（４２）は、コマンドのパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から当該コマンドのパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込む。パーティション切替え要求部（４３）は、キャッシュエントリの書き換えを契機として、現在アクティブなパーティションをコマンドのパーティション番号に対応するパーティションへ切り替えるように、パーティション・マネージャに対して、パーティションの切り替えを要求する。また、本発明によるパーティション・コンテキスト制御装置（５０）においては、検出部（５１）は、ＩＯデバイスからコマンドが発行された場合に、割り込みの発生を検出する。比較部（５２）は、現在アクティブなパーティションのパーティション番号と、コマンドのパーティション番号とを比較する。パーティション切替え要求部（５３）は、割り込みの発生が検出された場合において、現在アクティブなパーティションのパーティション番号と、コマンドのパーティション番号とが一致しない場合には、当該割り込みの発生を契機として、現在アクティブなパーティションをコマンドのパーティション番号に応じたパーティションに切り替えるように、パーティション・マネージャに対して、パーティションの切り替えを要求する。
【０００８】
また、本発明によるパーティション・コンテキスト制御方法においては、保持するステップは、仮想コンテキストのコピーと、前記仮想コンテキストが属するパーティション番号とをキャッシュエントリに保持する。前記仮想コンテキストは、パーティション毎に設けられ、コマンドの宛先を決定するために参照される。前記パーティションは、単一の仮想システムを実現し、切り替えて利用される。前記コマンドは、主記憶メモリへのリード・ライト又はＩＯデバイスへのリード・ライトを行う。比較するステップは、コマンドが発行された場合において、前記コマンドのパーティション番号を参照し、キャッシュエントリのパーティション番号と比較する。決定するステップは、前記コマンドのパーティション番号と、いずれかのキャッシュエントリのパーティション番号とが一致した場合には、そのキャッシュエントリが保持する仮想コンテキストのコピーを利用して当該コマンドの宛先を決定する。また、本発明によるパーティション・コンテキスト制御方法においては、書き込むステップは、コマンドのパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から当該コマンドのパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込む。決定するステップは、当該書き込んだ仮想コンテキストのコピーを利用してコマンドの宛先を決定する。また、本発明によるパーティション・コンテキスト制御方法においては、切り替えるステップは、所定のタイミングでパーティションを切り替える。比較するステップは、パーティションが切り替えられたとき、切り替え後のパーティション番号とキャッシュエントリのパーティション番号とを比較する。書き込むステップは、切り替え後のパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から切り替え後のパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込む。また、本発明によるパーティション・コンテキスト制御方法においては、切り替えるステップは、所定のタイミングでパーティションを切り替える。比較するステップは、ＩＯデバイスからコマンドが発行された場合において、前記コマンドのパーティション番号を参照し、キャッシュエントリのパーティション番号と比較する。書き込むステップは、前記コマンドのパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から当該コマンドのパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込む。要求するステップは、キャッシュエントリの書き換えを契機として、現在アクティブなパーティションを前記コマンドのパーティション番号に対応するパーティションへ切り替えるように、パーティションの切り替えを要求する。また、本発明によるパーティション・コンテキスト制御方法においては、検出するステップは、ＩＯデバイスからコマンドが発行された場合に、割り込みの発生を検出する。比較するステップは、現在アクティブなパーティションのパーティション番号と、前記コマンドのパーティション番号とを比較する。要求するステップは、割り込みの発生が検出された場合において、現在アクティブなパーティションのパーティション番号と、前記コマンドのパーティション番号とが一致しない場合には、当該割り込みの発生を契機として、現在アクティブなパーティションを前記コマンドのパーティション番号に応じたパーティションに切り替えるように、パーティションの切り替えを要求する。
【０００９】
また、本発明によるコンピュータにおいては、請求項１〜５いずれか１項に記載のパーティション・コンテキスト制御装置と、物理ＣＰＵと、物理ＩＯ装置とを有する。
【発明の効果】
【００１０】
本発明によれば、多数の仮想パーティションにおける仮想システム・コンテキストを小規模なハードウェアで実現することができる。
【発明を実施するための最良の形態】
【００１１】
図１に、本発明によるパーティション・コンテキスト制御装置の第一の実施形態を示す。図示するパーティション・コンテキスト制御装置１０には、パーティション１１と、仮想コンテキスト１４と、キャッシュエントリ１５と、比較部１６と、宛先決定部１７とが設けられている。図１において、パーティション１１は、単一の仮想システムを実現し、切り替えて利用される。パーティション１１における仮想プロセッサ１２及びＩＯデバイス１３は、主記憶メモリへのリード・ライト又はＩＯデバイスへのリード・ライトを行うコマンドを発行する。仮想コンテキスト１４は、コマンドの宛先を決定するために参照され、パーティション毎に設けられる。キャッシュエントリ１５は、仮想コンテキストのコピーと、仮想コンテキストが属するパーティション番号とを保持する。比較部１６は、コマンドが発行された場合において、コマンドのパーティション番号を参照し、キャッシュエントリ１５のパーティション番号と比較する。宛先決定部１７は、コマンドのパーティション番号と、いずれかのキャッシュエントリのパーティション番号とが一致した場合には、そのキャッシュエントリが保持する仮想コンテキストのコピーを利用して当該コマンドの宛先を決定する。
【００１２】
図２に、本発明によるパーティション・コンテキスト制御装置の第二の実施形態を示す。図示するパーティション・コンテキスト制御装置２０には、パーティション１１と、仮想コンテキスト１４と、キャッシュエントリ１５と、比較部１６と、キャッシュエントリ管理部２１と、宛先決定部２２とが設けられている。図２において、パーティション１１は、単一の仮想システムを実現し、切り替えて利用される。パーティション１１における仮想プロセッサ１２及びＩＯデバイス１３は、主記憶メモリへのリード・ライト又はＩＯデバイスへのリード・ライトを行うコマンドを発行する。仮想コンテキスト１４は、コマンドの宛先を決定するために参照され、パーティション毎に設けられる。キャッシュエントリ１５は、仮想コンテキストのコピーと、仮想コンテキストが属するパーティション番号とを保持する。比較部１６は、コマンドが発行された場合において、コマンドのパーティション番号を参照し、キャッシュエントリ１５のパーティション番号と比較する。キャッシュエントリ管理部２１は、コマンドのパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から当該コマンドのパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込む。宛先決定部２２は、当該書き込んだ仮想コンテキストのコピーを利用してコマンドの宛先を決定する。
【００１３】
図３に、本発明によるパーティション・コンテキスト制御装置の第三の実施形態を示す。図示するパーティション・コンテキスト制御装置３０には、パーティション・マネージャ３１と、パーティション１１と、仮想コンテキスト１４と、キャッシュエントリ１５と、比較部３２と、キャッシュエントリ管理部３３とが設けられている。図３において、パーティション・マネージャ３１は、パーティションの切り替えをモニタリングする。パーティション１１は、単一の仮想システムを実現し、切り替えて利用される。仮想コンテキスト１４は、コマンドの宛先を決定するために参照され、パーティション毎に設けられる。キャッシュエントリ１５は、仮想コンテキストのコピーと、仮想コンテキストが属するパーティション番号とを保持する。比較部３２は、パーティション・マネージャ３１がパーティションを切り替えたとき、切り替え後のパーティション番号とキャッシュエントリのパーティション番号とを比較する。キャッシュエントリ管理部３３は、切り替え後のパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から切り替え後のパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込む。
【００１４】
図４に、本発明によるパーティション・コンテキスト制御装置の第四の実施形態を示す。図示するパーティション・コンテキスト制御装置４０には、パーティション・マネージャ３１と、パーティション１１と、仮想コンテキスト１４と、キャッシュエントリ１５と、比較部４１と、キャッシュエントリ管理部４２と、パーティション切替え要求部４３とが設けられている。図４において、パーティション・マネージャ３１は、パーティションの切り替えをモニタリングする。パーティション１１は、単一の仮想システムを実現し、切り替えて利用される。仮想コンテキスト１４は、コマンドの宛先を決定するために参照され、パーティション毎に設けられる。キャッシュエントリ１５は、仮想コンテキストのコピーと、仮想コンテキストが属するパーティション番号とを保持する。比較部４１は、ＩＯデバイスからコマンドが発行された場合において、コマンドのパーティション番号を参照し、キャッシュエントリのパーティション番号と比較する。キャッシュエントリ管理部４２は、コマンドのパーティション番号が、いずれのキャッシュエントリのパーティション番号とも一致しない場合には、仮想コンテキストを格納した仮想コンテキスト領域から当該コマンドのパーティション番号に対応する仮想コンテキストを読み出し、いずれかのキャッシュエントリに書き込む。パーティション切替え要求部４３は、キャッシュエントリの書き換えを契機として、現在アクティブなパーティションをコマンドのパーティション番号に対応するパーティションへ切り替えるように、パーティション・マネージャ３１に対して、パーティションの切り替えを要求する。
【００１５】
図５に、本発明によるパーティション・コンテキスト制御装置の第五の実施形態を示す。図示するパーティション・コンテキスト制御装置５０には、パーティション・マネージャ３１と、パーティション１１と、仮想コンテキスト１４と、キャッシュエントリ１５と、検出部５１と、比較部５２と、パーティション切替え要求部５３とが設けられている。図５において、パーティション・マネージャ３１は、パーティションの切り替えをモニタリングする。パーティション１１は、単一の仮想システムを実現し、切り替えて利用される。仮想コンテキスト１４は、コマンドの宛先を決定するために参照され、パーティション毎に設けられる。キャッシュエントリ１５は、仮想コンテキストのコピーと、仮想コンテキストが属するパーティション番号とを保持する。検出部５１は、ＩＯデバイスからコマンドが発行された場合に、割り込みの発生を検出する。比較部５２は、現在アクティブなパーティションのパーティション番号と、コマンドのパーティション番号とを比較する。パーティション切替え要求部５３は、割り込みの発生が検出された場合において、現在アクティブなパーティションのパーティション番号と、コマンドのパーティション番号とが一致しない場合には、当該割り込みの発生を契機として、現在アクティブなパーティションをコマンドのパーティション番号に応じたパーティションに切り替えるように、パーティション・マネージャ３１に対して、パーティションの切り替えを要求する。
【００１６】
本発明の実施の形態について詳述する。図６を参照すると、本発明の実施の形態としての複数の仮想システムを実現するコンピュータが示されている。図６に示すコンピュータは、各仮想システムの各種処理を実行する複数の処理装置１００， １０１と、処理に必要なデータを保持する主記憶装置３００と、周辺装置を制御するＩＯ装置４００と、前記処理装置１００，１０１と、主記憶装置３００と、ＩＯ装置４００とを制御する制御装置２００からなる。処理装置１００，１０１内部はそれぞれ複数の仮想プロセッサ１１１（以後ＶＰ１）、１１２（以後ＶＰ２）、１１３（以後ＶＰ３）、１１４（以後ＶＰ４）が設定されており、それぞれの仮想プロセッサは、異なるパーティションＰ１／Ｐ２／Ｐ３／Ｐ４に属し、それぞれ仮想的に単一システムとして動作する。主記憶装置３００は、制御装置２００の各パーティションに対応する仮想コンテキスト領域３１０を保持する。仮想コンテキスト領域３１０は、各パーティションＰ１／Ｐ２／Ｐ３／Ｐ４に対応するそれぞれの仮想コンテキストである［Ｃｏｎｔｅｘｔ１］３２０， ［Ｃｏｎｔｅｘｔ２］３２１， ［Ｃｏｎｔｅｘｔ３］３２２， ［Ｃｏｎｔｅｘｔ４］３２３からなる。制御装置２００は、仮想コンテキスト領域３１０の一部を一時的に保持するＣｏｎｔｅｘｔキャッシュ２１０を有する。Ｃｏｎｔｅｘｔキャッシュ２１０は［キャッシュエントリ１］２１１と、［キャッシュエントリ２］２１２を備える。キャッシュエントリ２１１，２１２は、主記憶装置３００の仮想コンテキスト３２０〜３２３のいずれかを一時的に保持するエントリである。仮想コンテキスト３２０〜３２３は、必要に応じて主記憶装置３００からキャッシュ・エントリ２１１，２１２に読み込まれ、また、条件によりキャッシュエントリ２１１，２１２から取り除かれる。ＩＯ装置４００は、複数のＩＯデバイス［ＤＥＶ１］４０１、［ＤＥＶ２］４０２、［ＤＥＶ３］４０３、［ＤＥＶ４］４０４、［ＤＥＶ５］４０５からなる。当例では、［ＤＥＶ１］４０１はパーティションＰ１に、［ＤＥＶ２］４０２はパーティションＰ２に、［ＤＥＶ３］４０３はパーティションＰ３に、［ＤＥＶ４］４０４パーティションＰ４に、［ＤＥＶ５］４０５はパーティションＰ１に、それぞれ属するとする。すなわち、パーティションＰ１においては、［ＤＥＶ１］４０１が論理ＩＯ１として動作し、［ＤＥＶ５］４０５が論理ＩＯ２として動作する。また、パーティションＰ２においては、［ＤＥＶ２］４０２が論理ＩＯ１として、パーティションＰ３においては、［ＤＥＶ３］４０３が論理ＩＯ１として、パーティションＰ４においては、［ＤＥＶ４］４０４が論理ＩＯ１として、それぞれ動作する。”ＤＥＶ”の後の番号はデバイス番号と呼ばれ、物理的なＩＯデバイスの番号を示す。
【００１７】
次に、図７を用いて仮想コンテキストを詳細に説明する。仮想コンテキストは、各パーティションＰ１／Ｐ２／Ｐ３／Ｐ４内の各仮想プロセッサＶＰ１／ＶＰ２／ＶＰ３／ＶＰ４から、あるいはＤＥＶ１ ／ＤＥＶ２ ／ＤＥＶ３ ／ＤＥＶ４／ＤＥＶ５からの要求の宛先を決定する構成情報５０１と、各パーティションからの要求アドレスを実際の主記憶装置３００内の物理アドレスに変換するアドレス変換テーブル・ポインタ５０２からなる。
【００１８】
次に、図８を用いてキャッシュ・エントリ２１１，２１２の構成を示す。キャッシュ・エントリ２１１，２１２は、四つの仮想コンテキスト３２０，３２１，３２２，３２３のいずれか一の内容である構成情報５０１、及びアドレス変換テーブル・ポインタ５０２のコピーを保持する。このコピーは、構成情報６０１と、アドレス変換テーブルポインタ６０２とに格納される。更に、キャッシュエントリ２１１，２１２は、仮想コンテキストが属するパーティション番号６００を有する。
【００１９】
次に、図９を用いて構成情報５０１の内容を説明する。構成情報５０１は、そのパーティションに割り当てられた主記憶領域の先頭アドレスが主記憶装置３００内のどの物理アドレスに相当するかを示す主記憶オフセット７００と、主記憶領域の上限アドレスを示すパーティションＭＡＸアドレス７０１と、論理的なＩＯデバイスの割り当てを示す一つ又は複数の論理ＩＯ割り当て情報７０２， ７０３とからなる。図９の例において、論理ＩＯ１割り当て情報を参照すると、パーティションＰ１の論理ＩＯ１へのアクセスがあった場合には、物理デバイスＤＥＶ１へのアクセスであることが分かる。また、論理ＩＯ２割り当て情報を参照すると、パーティションＰ１の論理ＩＯ２へのアクセスがあった場合には、物理デバイスＤＥＶ５へのアクセスであることが分かる。
【００２０】
次に、図１０を用いて、ＶＰ１／ＶＰ２／ＶＰ３／ＶＰ４あるいはＤＥＶ１／ＤＥＶ２／ＤＥＶ３／ＤＥＶ４／ＤＥＶ５が発行するコマンドの書式を示す。コマンドはコマンド発行者の属するパーティション番号８００と、Ｍｅｍｏｒｙ Ｒｅａｄ／Ｍｅｍｏｒｙ Ｗｒｉｔｅ／ＩＯ Ｒｅａｄ／ＩＯ Ｗｒｉｔｅを示すコマンドのタイプ８０１と、読み書きするデータの論理アドレスを示すコマンドの対象アドレス８０２と、ライトデータを格納するデータ８０３から構成される。データ８０３は、Ｍｅｍｏｒｙ Ｗｒｉｔｅ／ＩＯ Ｗｒｉｔｅの場合に使用される。なお、コマンド・タイプ８０１がＩＯ Ｒｅａｄ／ＩＯ Ｗｒｉｔｅの場合は、どのＩＯデバイスへのＲｅａｄ／Ｗｒｉｔｅかを特定する必要がある。当例では、コマンド・タイプ８０１に宛先論理ＩＯ番号を含めることにより、ＩＯデバイスを特定することにする。宛先論理ＩＯ番号は前記構成情報５０１により、物理デバイス番号に変換することができる。
【００２１】
次に、図１における制御装置２００の動作を説明する。まず、図１１のフローチャートを参照して、パーティションＰ１に属する仮想プロセッサ［ＶＰ１］１１１から、ＩＯ装置４００内の［ＤＥＶ１］４０１に対するコマンドＸが発行された時（Ｓ１１１）の動作を説明する。このとき、コマンドＸのパーティション番号８００には、”Ｐ１”が、コマンドタイプ８０１には、”ＩＯ Ｒｅａｄ／ＩＯ１”が、アドレス８０２には、”＃２００”が入るとする。Ｒｅａｄ命令なので、データ８０３は、ＮＵＬＬである。［ＶＰ１］１１１が発行したコマンドＸは、制御装置２００が受け取る（Ｓ１１２）。制御装置２００は、コマンドＸのパーティション番号８００を参照し（Ｓ１１３）、パーティション番号８００が”Ｐ１”であることから、［ＶＰ１］１１１が属するパーティションＰ１の仮想コンテキストを使用して、要求の宛先を決定する。まず、パーティションＰ１の［Ｃｏｎｔｅｘｔ１］３２０のコピーがＣｏｎｔｅｘｔキャッシュ２１０の［キャッシュ・エントリ１］２１１、あるいは［キャッシュ・エントリ２］２１２に登録済みであるかを確認する（Ｓ１１４）。［Ｃｏｎｔｅｘｔ１］３２０が未登録の場合、主記憶装置３００からパーティションＰ１用の仮想コンテキスト［Ｃｏｎｔｅｘｔ１］３２０を読み出し、［Ｃｏｎｔｅｘｔ１］３２０のコピーを［キャッシュ・エントリ１］２１１あるいは［キャッシュ・エントリ２］２１２に登録する（Ｓ１１５）。コマンドＸ受け取り時に［Ｃｏｎｔｅｘｔ１］３２０がキャッシュエントリに登録済みの場合は、主記憶装置３００からの仮想コンテキスト読み取り処理はスキップする。ここでは［キャッシュエントリ１］２１１にパーティションＰ１に対する仮想コンテキスト［Ｃｏｎｔｅｘｔ１］３２０が登録されていたとする。制御装置２００は、［キャッシュエントリ１］２１１を用いてコマンドＸを処理する。制御装置２００は、コマンドＸのコマンドタイプ８０１を参照し（Ｓ１１６）、その内容が”ＩＯ Ｒｅａｄ／ＩＯ１”であることから、コマンドＸは、ＩＯデバイスへのリード命令であり、宛先の論理デバイス番号は「１」であることが分かる。続いて、制御装置２００は、［キャッシュエントリ１］２１１の構成情報６０１を利用して宛先を決定する。構成情報６０１を参照すると（Ｓ１１７）、論理ＩＯ１割り当て情報は”ＤＥＶ１”となっている。したがって、制御装置２００は、コマンドＸの宛先は、物理デバイス” ＤＥＶ１”であると決定し（Ｓ１１８）、物理デバイス” ＤＥＶ１”へコマンドＸを送付する。
【００２２】
次に、図１２のフローチャートを参照して、パーティションＰ２に属する仮想プロセッサ［ＶＰ２］１１２から、主記憶装置３００に対するコマンドＹが発行された時（Ｓ１２１）の動作を説明する。このとき、コマンドＹのパーティション番号８００には、”Ｐ２”が、コマンドタイプ８０１には、” Ｍｅｍｏｒｙ Ｒｅａｄ”が、アドレス８０２には、”＃８０”が入るとする。Ｒｅａｄ命令なので、データ８０３は、ＮＵＬＬである。［ＶＰ２］１１２が発行したコマンドＹは、制御装置２００が受け取る（Ｓ１２２）。制御装置２００は、コマンドＹのパーティション番号８００を参照し（Ｓ１２３）、このパーティション番号８００が”Ｐ２”であることから、［ＶＰ２］１１２が属するパーティションＰ２の仮想コンテキストを使用して、要求の宛先を決定する。まず、パーティションＰ２の［Ｃｏｎｔｅｘｔ２］３２１のコピーがＣｏｎｔｅｘｔキャッシュ２１０の［キャッシュ・エントリ１］２１１、あるいは［キャッシュ・エントリ２］２１２に登録済みであるかを確認する（Ｓ１２４）。［Ｃｏｎｔｅｘｔ２］３２１が未登録の場合、主記憶装置３００からパーティションＰ２用の仮想コンテキスト［Ｃｏｎｔｅｘｔ２］３２１を読み出し、［Ｃｏｎｔｅｘｔ２］３２１のコピーを［キャッシュ・エントリ１］２１１あるいは［キャッシュ・エントリ２］２１２に登録する（Ｓ１２５）。コマンドＹ受け取り時に［Ｃｏｎｔｅｘｔ２］３２１がキャッシュエントリに登録済みの場合は、主記憶装置３００からの仮想コンテキスト読み取り処理はスキップする。ここでは［キャッシュエントリ２］２１２にパーティションＰ２に対する仮想コンテキスト［Ｃｏｎｔｅｘｔ２］３２１が登録されていたとする。制御装置２００は、［キャッシュエントリ２］２１２を用いてコマンドＹを処理する。制御装置２００は、コマンドＹのコマンドタイプ８０１を参照し（Ｓ１２６）、その内容が”Ｍｅｍｏｒｙ Ｒｅａｄ”であることから、コマンドＹは、主記憶装置３００へのリード命令であることが分かる。続いて、制御装置２００は、［キャッシュエントリ２］２１２の構成情報６０１及びアドレス変換テーブル・ポインタ６０２を利用して宛先及び主記憶上の物理アドレスを決定する。なお、本願において、コマンドについて「宛先を決定する」とは、単にコマンドの送付先を決定することをいうほか、コマンドの送付先に送付する物理アドレスを決定することも「宛先を決定する」というものとする。制御装置２００は、［キャッシュエントリ２］２１２の構成情報６０１及びアドレス変換テーブル・ポインタ６０２を参照する（Ｓ１２７）。キャッシュエントリ２の構成情報６０１におけるパーティションＭＡＸアドレス７０１の値と、コマンドＹにおけるアドレス８０２の値である”＃８０”とを比較し、”＃８０”がパーティションＭＡＸアドレス７０１の値を超えていないことを確認する。また、アドレス変換テーブル・ポインタ６０２の指す主記憶アドレスに登録されているアドレス変換テーブルにより、コマンドＹのアドレス８０２”＃８０”を物理アドレスに変換する。制御装置２００は、取得された物理アドレスを、コマンドＹと共に主記憶装置３００へ送付する（Ｓ１２８）。主記憶装置３００では、この物理アドレスに従い、リード・アクセスが実施される。なお、［ＶＰ２］１１２へ応答が必要な場合には、［ＶＰ２］１１２へ応答データを返却する。
【００２３】
次に、図１３のフローチャートを参照して、パーティションＰ１に属する仮想プロセッサ［ＶＰ１］１１１から、ＩＯ装置４００内の［ＤＥＶ５］４０５に対するコマンドＺが発行された時（Ｓ１３１）の動作を説明する。このとき、コマンドＺのパーティション番号８００には、”Ｐ１”が、コマンドタイプ８０１には、”ＩＯ Ｗｒｉｔｅ／ＩＯ２”が、アドレス８０２には、”＃４００”が、データ８０３には、”ＡＢＣＤＥＦＧ”が入るとする。［ＶＰ１］１１１が発行したコマンドＺは、制御装置２００が受け取る（Ｓ１３２）。制御装置２００は、コマンドＺのパーティション番号８００を参照し（Ｓ１３３）、このパーティション番号８００が”Ｐ１”であることから、［ＶＰ１］１１１が属するパーティションＰ１の仮想コンテキストを使用して、要求の宛先を決定する。まず、パーティションＰ１の［Ｃｏｎｔｅｘｔ１］３２０のコピーがＣｏｎｔｅｘｔキャッシュ２１０の［キャッシュ・エントリ１］２１１、あるいは［キャッシュ・エントリ２］２１２に登録済みであるかを確認する（Ｓ１３４）。［Ｃｏｎｔｅｘｔ１］３２０が未登録の場合、主記憶装置３００からパーティションＰ１用の仮想コンテキスト［Ｃｏｎｔｅｘｔ１］３２０を読み出し、［Ｃｏｎｔｅｘｔ１］３２０のコピーを［キャッシュ・エントリ１］２１１あるいは［キャッシュ・エントリ２］２１２に登録する（Ｓ１３５）。コマンドＺ受け取り時に［Ｃｏｎｔｅｘｔ１］３２０がキャッシュエントリに登録済みの場合は、主記憶装置３００からの仮想コンテキスト読み取り処理はスキップする。ここでは［キャッシュエントリ２］２１２にパーティションＰ１に対する仮想コンテキスト［Ｃｏｎｔｅｘｔ１］３２０が登録されていたとする。制御装置２００は、［キャッシュエントリ２］２１２を用いてコマンドＺを処理する。制御装置２００は、コマンドＺのコマンドタイプ８０１を参照し（Ｓ１３６）、その内容が”ＩＯ  Ｗｒｉｔｅ／ＩＯ２”であることから、コマンドＺは、ＩＯデバイスへのライト命令であり、宛先の論理デバイス番号は「２」であることが分かる。続いて、制御装置２００は、［キャッシュエントリ２］２１２の構成情報６０１を利用して宛先を決定する。構成情報６０１を参照すると（Ｓ１３７）、論理ＩＯ２割り当て情報は”ＤＥＶ５”となっている。したがって、制御装置２００は、コマンドＺの宛先は、物理デバイス”ＤＥＶ５”であると決定し（Ｓ１３８）、物理デバイス” ＤＥＶ５”へコマンドＺを送付する。
【００２４】
続いて、ＰＭ（パーティション切り替えモニタソフト）によるキャッシュ置き換えを実施する場合の例を図１４を用いて以下に示す。図１４は、図１に、外部のパーティション・マネージャＰＭ２２０を追加した構成である。すなわち、図１４における処理装置１００，１０１、制御装置２００、主記憶装置３００、ＩＯ装置４００は、図１における処理装置１００，１０１、制御装置２００、主記憶装置３００、ＩＯ装置４００と同一のものを使用できる。
【００２５】
（１） ＰＭ切り替え時のキャッシュエントリ置き換え
図１４において、ＰＭ２２０は、パーティションＰ１／Ｐ２／Ｐ３／Ｐ４の切り替えを、制御装置２００経由で［ＣＰＵ１］１００あるいは［ＣＰＵ２］１０１に通知することにより実施する。例えば、パーティションＰ２がアクティブなとき、パーティションＰ３への切り替えをするには、ＰＭ２２０が制御装置２００にパーティションＰ３への切り替えを指示する。すると、制御装置２００は、［ＶＰ３］１１３を擁する［ＣＰＵ２］１０１に対してパーティションＰ３への切り替えを指示し、パーティションＰ３がアクティブなパーティションとなる。また、ＰＭ２２０は管理するパーティションを一定期間タイミングで切り替えることができる。例えば、ＰＭ２２０は、パーティションＰ１がアクティブなとき、一定期間が経過したタイミングでパーティションの切り替えを実行し、パーティションＰ２をアクティブなパーティションにすることができる。同様に、パーティションＰ２がアクティブなとき、一定期間が経過したタイミングでパーティションの切り替えを実行し、パーティションＰ３をアクティブなパーティションにすることができる。パーティションの切り替え指示は、制御装置２００経由で、［ＣＰＵ１］１００あるいは［ＣＰＵ２］１０１に通知する。さて、パーティションを切り替える際、制御装置２００では、切り替え後におけるパーティションの仮想コンテキストが、Ｃｏｎｔｅｘｔキャッシュ２１０に登録済みであるか否かを確認する。登録済みでない場合には、Ｃｏｎｔｅｘｔキャッシュ２１０のエントリ２１１あるいは２１２を、新規実行開始パーティションの仮想コンテキストに入れ替えるように、Ｃｏｎｔｅｘｔキャッシュ２１０に指示する。指示を受けたＣｏｎｔｅｘｔキャッシュ２１０は、主記憶装置３００から入れ替え指示のあったパーティションのコンテキストを読み込み、このコンテキストを指示されたキャッシュエントリ２１１あるいは２１２に書き込む。
【００２６】
（２） ＩＯアクセス・ミス時の置き換え
次に、非アクティブなパーティションに属するＩＯデバイス４０１〜４０５から主記憶装置へアクセスがあった場合に、ＰＭ２２０経由で該当パーティションの実行をＣＰＵ１００，１０１に指示する制御を示す。ＩＯデバイス４０１〜４０５は、アクティブなパーティションに属していない場合でも、ＤＭＡ転送や割り込みによるＩＯアクセスを実行する場合がある。例えば、アクティブなパーティションがＰ２で、Ｃｏｎｔｅｘｔキャッシュ２１０の［エントリ１］２１１にパーティションＰ２の［Ｃｏｎｔｅｘｔ２］３２１のコピーが登録され、［エントリ２］２１２にパーティションＰ３の［Ｃｏｎｔｅｘｔ３］３２２のコピーが登録されていたとする。ここで、ＩＯ装置４００内のＩＯデバイス４０４から主記憶へＩＯアクセスがあったとする。Ｃｏｎｔｅｘｔキャッシュ２１０には、ＩＯデバイス４０４が属するパーティションＰ４のコンテキストが登録されていないので、制御装置２００は、キャッシュエントリ２１２の内容を、パーティションＰ３のコンテキストからパーティションＰ４のコンテキストに入れ替える。制御装置２００は、同時に、ＰＭ２２０にＩＯアクセス時にキャッシュミスがあったことを通知する。ＰＭ２２０はこのキャッシュミスしたパーティションＰ４を起動することを制御装置２００を経由し、［ＣＰＵ２］１０１に指示する。指示を受けた［ＣＰＵ２］１０１は、指示通りに［ＶＰ４］１１４の実行を開始し、パーティションＰ４をアクティブなパーティションとする。
【００２７】
（３） ＩＯからの割り込み時のパーティション起動
次に、ＩＯデバイス４０１〜４０５のいずれかからの割り込みがあった場合に、ＰＭ２２０経由で該当パーティションの実行をＣＰＵに指示する制御を示す。ＩＯデバイス４０１〜４０５は、非アクティブなパーティションに属する場合でも、コマンドを発行して、プロセッサ処理要求を示す割り込み要求を発生させる場合がある。例えば、ＩＯデバイス４０３が発行するコマンドによって割り込みが発生した場合、Ｃｏｎｔｅｘｔキャッシュ２１０のヒット・ミスに関わらず、制御装置２００はＰＭ２２０に割り込み発生を通知する。なお、割り込みの発生は、コマンドに含まれる論理上のアドレス８０２から計算される主記憶装置上の物理アドレスに基づいて検出することができる。ＰＭ２２０は、割り込み発生の通知があった場合において、割り込みを発行したＩＯデバイス４０３の属するパーティションＰ３がアクティブなパーティションでないとき、パーティションＰ３が実行状態になるようにパーティションを切り替える。ＰＭ２２０は、制御装置２００経由で［ＣＰＵ２］１０１にパーティション切り替え指示を発行する。指示を受けた［ＣＰＵ２］１０１は、指示通りにパーティションＰ３の実行を開始する。さて、割り込み時に、Ｃｏｎｔｅｘｔキャッシュ２１０のヒット・ミスがあった場合には、制御装置２００は、パーティションＰ３に対応する［Ｃｏｎｔｅｘｔ３］３２２の内容を仮想コンテキスト領域３１０から読み出し、この仮想コンテキストを、Ｃｏｎｔｅｘｔキャッシュ２１０におけるいずれかのキャッシュエントリ２１１，２１２に書き込む。以降、キャッシュエントリ２１１，２１２に保持されたパーティションＰ３の仮想コンテキストを利用することで、パーティションＰ３の処理が高速に実行される。
【００２８】
本発明によれば、制御装置が一部のパーティション情報のみを実装し、使用頻度の低いパーティション情報を制御装置外部に実装することができる。これにより、制御装置が一時に保持するパーティション情報を削減し、制御装置規模を小さく抑えることを可能とする。また、使用頻度の高いパーティションのコンテキストを制御装置内に保持し、制御装置内部に保持しているコンテキストに対するアクセス頻度を高めることにより、性能への影響を小さく抑えることができる。さらに、パーティション数増大による制御情報量増加に対し、制御装置内に全パーティション情報を保持した場合は、情報保持手段として低速な内蔵メモリ等による実装が必要になる。しかし、本発明によって制御装置内のパーティション情報量を削減できる結果、高速なレジスタ装置等にパーティション情報を保持することが可能になるので、パーティションの実行性能を高めることが可能となる。以上から、全コンテキストを制御装置内部に実装した時とほぼ同等、あるいはより高い性能を、より小さな規模の制御装置にて実現することができる。また、パーティション・マネージャＰＭの仮想システム切り替えに合わせて、制御装置内部に実装できるパーティション・コンテキストを切り替えることにより、パーティション・コンテキストの検索ミス頻度を低減できる。さらに、非アクティブなパーティションに属するＩＯデバイスから主記憶アクセスがあったときに、実行パーティションを切り替えることによって、プロセッサによるＩＯアクセス処理を迅速化させ、性能向上を図れる。
【図面の簡単な説明】
【００２９】
【図１】図１は、本発明によるパーティション・コンテキスト制御装置の第一の実施形態を示す図である。
【図２】図２は、本発明によるパーティション・コンテキスト制御装置の第二の実施形態を示す図である。
【図３】図３は、本発明によるパーティション・コンテキスト制御装置の第三の実施形態を示す図である。
【図４】図４は、本発明によるパーティション・コンテキスト制御装置の第四の実施形態を示す図である。
【図５】図５は、本発明によるパーティション・コンテキスト制御装置の第五の実施形態を示す図である。
【図６】図６は、システム構成を示す図である。
【図７】図７は、仮想コンテキストの説明図である。
【図８】図８は、キャッシュエントリの説明図である。
【図９】図９は、構成情報の説明図である。
【図１０】図１０は、コマンドの説明図である。
【図１１】図１１は、制御装置の動作を説明する第一のフローチャートである。
【図１２】図１２は、制御装置の動作を説明する第二のフローチャートである。
【図１３】図１３は、制御装置の動作を説明する第三のフローチャートである。
【図１４】図１４は、システム構成を示す他の図である。
【符号の説明】
【００３０】
１０，２０，３０，４０，５０  パーティション・コンテキスト制御装置
１１  パーティション
１２，１１１〜１１４  仮想プロセッサ
１３，４０１〜４０５  ＩＯデバイス
１４，３２０〜３２３  仮想コンテキスト
１５，２１１，２１２  キャッシュエントリ
１６，３２，４１，５２  比較部
１７，２２  宛先決定部
２１，３３，４２  キャッシュエントリ管理部
３１，２２０  パーティション・マネージャ
４３，５３  パーティション切替え要求部
５１  検出部
１００，１０１  処理装置
２００  制御装置
２１０  Ｃｏｎｔｅｘｔキャッシュ
３００  主記憶装置
３１０  仮想コンテキスト領域
４００  ＩＯ装置
５０１，６０１  構成情報
５０２，６０２  アドレス変換テーブル・ポインタ
６００，８００  パーティション番号
７００  主記憶オフセット
７０１  パーティションＭＡＸアドレス
７０２，７０３  論理ＩＯ割り当て情報
８０１  コマンドタイプ
８０２  アドレス
８０３  データ
【図１】
2008140116.tif 000003
【図２】
2008140116.tif 000004
【図３】
2008140116.tif 000005
【図４】
2008140116.tif 000006
【図５】
2008140116.tif 000007
【図６】
2008140116.tif 000008
【図７】
2008140116.tif 000009
【図８】
2008140116.tif 000010
【図９】
2008140116.tif 000011
【図１０】
2008140116.tif 000012
【図１１】
2008140116.tif 000013
【図１２】
2008140116.tif 000014
【図１３】
2008140116.tif 000015
【図１４】
2008140116.tif 000016