(57)【要約】【課題】  ＭＭＩＯレジスタのコピー保存構成によりデータ処理効率を向上させた装置および方法を提供する。【解決手段】  複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデータ処理を実行する構成において、制御ＯＳが、ゲストＯＳに対応する論理プロセッサに対して物理プロセッサが割り付けられた活動状態と、論理プロセッサに対して物理プロセッサが割り付けられていない非活動状態のいずれの状態においても、論理プロセッサに対応するＭＭＩＯレジスタのコピー情報であるシャドウをメモリ内に保持する構成とした。本構成により、ゲストＯＳは、常にメモリアクセスによってシャドウからＭＭＩＯレジスタのアクセスが可能となり、ＭＭＩＯレジスタに対する直接アクセスに比較して短時間のアクセスが実現され、効率的なデータ処理が可能となる。【選択図】  図１５
2006350531.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であり、
複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付ける処理を実行する制御ＯＳと、
論理プロセッサの適用主体として、論理パーティションを対応付けられたゲストＯＳとを有し、
前記ゲストＯＳは、該ゲストＯＳに対応する論理プロセッサに対して物理プロセッサが割り付けられた活動状態において、ＭＭＩＯ（メモリマップドＩＯ）レジスタを適用したデータ処理を実行する構成であり、
前記制御ＯＳは、ゲストＯＳに対応する論理プロセッサに対して物理プロセッサが割り付けられた活動状態と、論理プロセッサに対して物理プロセッサが割り付けられていない非活動状態のいずれの状態においても、論理プロセッサに対応するＭＭＩＯレジスタのコピー情報をメモリ内に保持する処理を実行する構成であることを特徴とする情報処理装置。
【請求項２】
前記制御ＯＳは、
物理プロセッサによる書き換えの発生しないＭＭＩＯレジスタ情報のみのコピー情報をメモリ内に保持する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御ＯＳは、
物理プロセッサによる書き換えの発生しないＭＭＩＯレジスタ情報、および制御ＯＳによる書き換えの発生が検出可能なＭＭＩＯレジスタ情報のコピー情報をメモリ内に保持する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記制御ＯＳは、
物理プロセッサによって、ＭＭＩＯレジスタ情報の書き換えが実行された場合、メモリに保持されたＭＭＩＯレジスタ情報のコピー情報を、ＭＭＩＯレジスタ情報に併せて更新する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記ゲストＯＳは、
メモリに格納されたＭＭＩＯレジスタ情報のコピー情報に対するアクセスを、前記制御ＯＳによって設定されるゲストＯＳプログラミングインタフェース（ＧＯＩ）を介して実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記ゲストＯＳは、
メモリに格納されたＭＭＩＯレジスタ情報のコピー情報に対するアクセス要求に際して、制御ＯＳに対してシステムコールを実行し、
前記制御ＯＳは、
前記システムコールに応じて、ゲストＯＳに対してゲストＯＳプログラミングインタフェース（ＧＯＩ）を適用可能な状態に設定する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデータ処理を実行する情報処理装置におけるプロセス制御方法において、
制御ＯＳの実行するステップであり、論理プロセッサの適用主体としてのゲストＯＳに対応する論理プロセッサをタイムシェアリングによって物理プロセッサに対応付ける処理を実行するステップと、
論理プロセッサに対して物理プロセッサが割り付けられた活動状態にあるゲストＯＳにおいて、ＭＭＩＯ（メモリマップドＩＯ）レジスタを適用したデータ処理を実行するデータ処理ステップと、
前記制御ＯＳの実行するステップであり、前記ゲストＯＳに対応する論理プロセッサに対して物理プロセッサが割り付けられた活動状態と、論理プロセッサに対して物理プロセッサが割り付けられていない非活動状態のいずれの状態においても、論理プロセッサに対応するＭＭＩＯレジスタのコピー情報をメモリ内に保持する処理を実行するステップと、
を有することを特徴とするプロセス制御方法。
【請求項８】
前記制御ＯＳは、
物理プロセッサによる書き換えの発生しないＭＭＩＯレジスタ情報のみのコピー情報をメモリ内に保持する処理を実行することを特徴とする請求項７に記載のプロセス制御方法。
【請求項９】
前記制御ＯＳは、
物理プロセッサによる書き換えの発生しないＭＭＩＯレジスタ情報、および制御ＯＳによる書き換えの発生が検出可能なＭＭＩＯレジスタ情報のコピー情報をメモリ内に保持する処理を実行する構成であることを特徴とする請求項７に記載のプロセス制御方法。
【請求項１０】
前記制御ＯＳは、
物理プロセッサによって、ＭＭＩＯレジスタ情報の書き換えが実行された場合、メモリに保持されたＭＭＩＯレジスタ情報のコピー情報を、ＭＭＩＯレジスタ情報に併せて更新する処理を実行することを特徴とする請求項７に記載のプロセス制御方法。
【請求項１１】
前記ゲストＯＳは、
メモリに格納されたＭＭＩＯレジスタ情報のコピー情報に対するアクセスを、前記制御ＯＳによって設定されるゲストＯＳプログラミングインタフェース（ＧＯＩ）を介して実行することを特徴とする請求項７に記載のプロセス制御方法。
【請求項１２】
前記ゲストＯＳは、
メモリに格納されたＭＭＩＯレジスタ情報のコピー情報に対するアクセス要求に際して、制御ＯＳに対してシステムコールを実行し、
前記制御ＯＳは、
前記システムコールに応じて、ゲストＯＳに対してゲストＯＳプログラミングインタフェース（ＧＯＩ）を適用可能な状態に設定する処理を実行することを特徴とする請求項７に記載のプロセス制御方法。
【請求項１３】
複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデータ処理を実行する情報処理装置においてプロセス制御を実行させるコンピュータ・プログラムにおいて、
制御ＯＳの実行するステップであり、論理プロセッサの適用主体としてのゲストＯＳに対応する論理プロセッサをタイムシェアリングによって物理プロセッサに対応付ける処理を実行するステップと、
論理プロセッサに対して物理プロセッサが割り付けられた活動状態にあるゲストＯＳにおいて、ＭＭＩＯ（メモリマップドＩＯ）レジスタを適用したデータ処理を実行するデータ処理ステップと、
前記制御ＯＳの実行するステップであり、前記ゲストＯＳに対応する論理プロセッサに対して物理プロセッサが割り付けられた活動状態と、論理プロセッサに対して物理プロセッサが割り付けられていない非活動状態のいずれの状態においても、論理プロセッサに対応するＭＭＩＯレジスタのコピー情報をメモリ内に保持する処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プロセス制御方法、並びにコンピュータ・プログラムに関する。さらに詳細には、複数の論理プロセッサが情報処理装置中のリソースを共有して各種のデータ処理を実行する構成において、論理プロセッサ対応のリソースに対するアクセス性を向上させ、効率的なデータ処理を実現する情報処理装置、プロセス制御方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
１つのシステム内に複数のオペレーティングシステム（ＯＳ）を搭載したマルチＯＳシステムにおいては、各ＯＳはそれぞれ異なるプロセスが実行可能であり、システムで共通のハードウェア、すなわちＣＰＵやメモリ等を時系列に順次切り替えて利用した処理が行なわれる。
【０００３】
複数ＯＳの各々の実行プロセス（タスク）のスケジューリングは、例えばパーティション管理ソフトウェアによって実行される。１つのシステムにＯＳ（α）とＯＳ（β）の２つのオペレーティングシステムが並存する場合、ＯＳ（α）の処理をパーティションＡとし、ＯＳ（β）の処理をパーティションＢとすると、パーティション管理ソフトウェアは、パーティションＡとパーティションＢの実行スケジュールを決定し、決定したスケジュールに基づいて、ハードウェア資源を割り当てて各ＯＳにおける処理を実行する。
【０００４】
マルチＯＳ型のシステムにおけるタスク管理を開示した従来技術として、例えば、特許文献１がある。特許文献１には、複数のＯＳの各々において実行されるタスク管理において、緊急性の高い処理を優先的に処理させるためのタスクスケジューリング手法を開示している。
【０００５】
前述したように、各種のデータ処理の実行主体はパーティションとして設定される。具体的には、システム内の資源分配を受ける主体としての論理パーティションが設定され、論理パーティションに対して、物理プロセッサユニットの使用時間や、仮想アドレス空間、さらにメモリ空間などの様々なリソースが配分され、配分されたリソースを適用した処理が実行される。論理パーティションには、いずれかの物理プロセッサに対応する論理的なプロセッサが設定され、論理プロセッサに基づくデータ処理が実行される。論理プロセッサと物理プロセッサは必ずしも１対１の関係にはなく、１つの論理プロセッサに複数の物理プロセッサが対応付けられる場合もあり、複数の論理プロセッサに１つの物理プロセッサが対応付けられる場合もある。
【０００６】
論理プロセッサを適用した複数の処理が並列に実行される場合、物理プロセッサは、複数の論理プロセッサによってスケジューリングされて使用されることになる。すなわち、複数の論理プロセッサは、タイムシェアリングによる物理プロセッサの使用を行なうことになる。
【０００７】
ここで、メインプロセッサと複数のサブプロセッサから構成されるシステムについて考察する。
【０００８】
例えば図１に示すように、１つの物理サブプロセッサに対して１つの論理サブプロセッサが割り当てられている場合、すなわち、論理サブプロセッサ（ア）が物理サブプロセッサ（１）を占有して利用し、論理サブプロセッサ（イ）が物理サブプロセッサ（２）を占有して利用している場合の論理サブプロセッサ（ア）に対するアクセス処理について考察する。
【０００９】
例えば論理サブプロセッサ（ア）を設定された論理パーティションに対応するＯＳが、論理サブプロセッサ（ア）に対してアクセスしようとする。論理サブプロセッサ（ア）の占有している物理プロセッサ（１）が保持するＭＭＩＯ（メモリマップドＩＯ）レジスタ情報や、ローカルストレージ領域などは、占有して利用されている物理サブプロセッサ（１）に対応する領域として論理サブプロセッサ（ア）に対応する論理パーティションのアドレス空間にマップされているため、論理パーティションに対応するＯＳは、常に論理サブプロセッサ（ア）に対してアクセスすることが可能である。論理サブプロセッサ（ア）に対するアクセスにより、論理サブプロセッサ（ア）に対応するローカルストレージ情報などの各種の情報を取得することができる。
【００１０】
なお、ＭＭＩＯ（メモリマップドＩＯ）は、メモリマッピングによるハードウェアの制御を行う入出力制御機構であり、特定のメモリ位置を利用した書き込み処理または読み取り処理によって、ハードウェアの制御を可能としている。
【００１１】
一方、例えば図２に示すように、１つの物理サブプロセッサに対して複数の論理サブプロセッサが割り当てられ、タイムシェアリングによる処理を実行している場合、図２に示すアクセスＡのように、論理サブプロセッサ（ア）が物理サブプロセッサ（１）を適用しているタイミングでは、上述の処理と同様、論理パーティションに対応するＯＳは、論理サブプロセッサ（ア）に対してアクセスすることが可能であるが、図２に示すアクセスＢのように、論理サブプロセッサ（ア）が物理サブプロセッサ（１）を適用していないタイミングでは、論理サブプロセッサ（ア）はいずれの物理サブプロセッサも適用しておらず、物理サブプロセッサに対するＭＭＩＯ（メモリマップドＩＯ）レジスタ情報や、ローカルストレージ領域などの情報は、論理サブプロセッサ（ア）に対応する論理パーティションのアドレス空間にマップされておらず、論理サブプロセッサ（ア）のアクセスは実行不可能となる。この場合、論理サブプロセッサ（ア）がタイムシェアリングによって物理サブプロセッサを利用する時間まで待機することが必要となり、データ処理の遅延の発生などの問題が生ずることになる。
【特許文献１】特開２００３−３４５６１２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、上述の問題点に鑑みてなされたものであり、複数の論理プロセッが情報処理装置中のリソースを共有して各種のデータ処理を実行する構成において、論理プロセッサ対応のリソースに対するアクセス性を向上させ、効率的なデータ処理を実現する情報処理装置、プロセス制御方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１の側面は、
情報処理装置であり、
複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付ける処理を実行する制御ＯＳと、
論理プロセッサの適用主体として、論理パーティションを対応付けられたゲストＯＳとを有し、
前記ゲストＯＳは、該ゲストＯＳに対応する論理プロセッサに対して物理プロセッサが割り付けられた活動状態において、ＭＭＩＯ（メモリマップドＩＯ）レジスタを適用したデータ処理を実行する構成であり、
前記制御ＯＳは、ゲストＯＳに対応する論理プロセッサに対して物理プロセッサが割り付けられた活動状態と、論理プロセッサに対して物理プロセッサが割り付けられていない非活動状態のいずれの状態においても、論理プロセッサに対応するＭＭＩＯレジスタのコピー情報をメモリ内に保持する処理を実行する構成であることを特徴とする情報処理装置にある。
【００１４】
さらに、本発明の情報処理装置の一実施態様において、前記制御ＯＳは、物理プロセッサによる書き換えの発生しないＭＭＩＯレジスタ情報のみのコピー情報をメモリ内に保持する処理を実行する構成であることを特徴とする。
【００１５】
さらに、本発明の情報処理装置の一実施態様において、前記制御ＯＳは、物理プロセッサによる書き換えの発生しないＭＭＩＯレジスタ情報、および制御ＯＳによる書き換えの発生が検出可能なＭＭＩＯレジスタ情報のコピー情報をメモリ内に保持する処理を実行する構成であることを特徴とする。
【００１６】
さらに、本発明の情報処理装置の一実施態様において、前記制御ＯＳは、物理プロセッサによって、ＭＭＩＯレジスタ情報の書き換えが実行された場合、メモリに保持されたＭＭＩＯレジスタ情報のコピー情報を、ＭＭＩＯレジスタ情報に併せて更新する処理を実行する構成であることを特徴とする。
【００１７】
さらに、本発明の情報処理装置の一実施態様において、前記ゲストＯＳは、メモリに格納されたＭＭＩＯレジスタ情報のコピー情報に対するアクセスを、前記制御ＯＳによって設定されるゲストＯＳプログラミングインタフェース（ＧＯＩ）を介して実行する構成であることを特徴とする。
【００１８】
さらに、本発明の情報処理装置の一実施態様において、前記ゲストＯＳは、メモリに格納されたＭＭＩＯレジスタ情報のコピー情報に対するアクセス要求に際して、制御ＯＳに対してシステムコールを実行し、前記制御ＯＳは、前記システムコールに応じて、ゲストＯＳに対してゲストＯＳプログラミングインタフェース（ＧＯＩ）を適用可能な状態に設定する処理を実行する構成であることを特徴とする。
【００１９】
さらに、本発明の第２の側面は、
複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデータ処理を実行する情報処理装置におけるプロセス制御方法において、
制御ＯＳの実行するステップであり、論理プロセッサの適用主体としてのゲストＯＳに対応する論理プロセッサをタイムシェアリングによって物理プロセッサに対応付ける処理を実行するステップと、
論理プロセッサに対して物理プロセッサが割り付けられた活動状態にあるゲストＯＳにおいて、ＭＭＩＯ（メモリマップドＩＯ）レジスタを適用したデータ処理を実行するデータ処理ステップと、
前記制御ＯＳの実行するステップであり、前記ゲストＯＳに対応する論理プロセッサに対して物理プロセッサが割り付けられた活動状態と、論理プロセッサに対して物理プロセッサが割り付けられていない非活動状態のいずれの状態においても、論理プロセッサに対応するＭＭＩＯレジスタのコピー情報をメモリ内に保持する処理を実行するステップと、
を有することを特徴とするプロセス制御方法にある。
【００２０】
さらに、本発明のプロセス制御方法の一実施態様において、前記制御ＯＳは、物理プロセッサによる書き換えの発生しないＭＭＩＯレジスタ情報のみのコピー情報をメモリ内に保持する処理を実行することを特徴とする。
【００２１】
さらに、本発明のプロセス制御方法の一実施態様において、前記制御ＯＳは、物理プロセッサによる書き換えの発生しないＭＭＩＯレジスタ情報、および制御ＯＳによる書き換えの発生が検出可能なＭＭＩＯレジスタ情報のコピー情報をメモリ内に保持する処理を実行する構成であることを特徴とする。
【００２２】
さらに、本発明のプロセス制御方法の一実施態様において、前記制御ＯＳは、物理プロセッサによって、ＭＭＩＯレジスタ情報の書き換えが実行された場合、メモリに保持されたＭＭＩＯレジスタ情報のコピー情報を、ＭＭＩＯレジスタ情報に併せて更新する処理を実行することを特徴とする。
【００２３】
さらに、本発明のプロセス制御方法の一実施態様において、前記ゲストＯＳは、メモリに格納されたＭＭＩＯレジスタ情報のコピー情報に対するアクセスを、前記制御ＯＳによって設定されるゲストＯＳプログラミングインタフェース（ＧＯＩ）を介して実行することを特徴とする。
【００２４】
さらに、本発明のプロセス制御方法の一実施態様において、前記ゲストＯＳは、メモリに格納されたＭＭＩＯレジスタ情報のコピー情報に対するアクセス要求に際して、制御ＯＳに対してシステムコールを実行し、前記制御ＯＳは、前記システムコールに応じて、ゲストＯＳに対してゲストＯＳプログラミングインタフェース（ＧＯＩ）を適用可能な状態に設定する処理を実行することを特徴とする。
【００２５】
さらに、本発明の第３の側面は、
複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデータ処理を実行する情報処理装置においてプロセス制御を実行させるコンピュータ・プログラムにおいて、
制御ＯＳの実行するステップであり、論理プロセッサの適用主体としてのゲストＯＳに対応する論理プロセッサをタイムシェアリングによって物理プロセッサに対応付ける処理を実行するステップと、
論理プロセッサに対して物理プロセッサが割り付けられた活動状態にあるゲストＯＳにおいて、ＭＭＩＯ（メモリマップドＩＯ）レジスタを適用したデータ処理を実行するデータ処理ステップと、
前記制御ＯＳの実行するステップであり、前記ゲストＯＳに対応する論理プロセッサに対して物理プロセッサが割り付けられた活動状態と、論理プロセッサに対して物理プロセッサが割り付けられていない非活動状態のいずれの状態においても、論理プロセッサに対応するＭＭＩＯレジスタのコピー情報をメモリ内に保持する処理を実行するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００２６】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００２７】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００２８】
本発明の構成によれば、複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデータ処理を実行する構成において、制御ＯＳが、ゲストＯＳに対応する論理プロセッサに対して物理プロセッサが割り付けられた活動状態と、論理プロセッサに対して物理プロセッサが割り付けられていない非活動状態のいずれの状態においても、論理プロセッサに対応するＭＭＩＯレジスタのコピー情報であるシャドウをメモリ内に保持する構成としたので、ゲストＯＳは、常にメモリアクセスによってシャドウからＭＭＩＯレジスタのアクセスが可能となり、ＭＭＩＯレジスタに対する直接アクセスに比較して短時間のアクセスが実現され、効率的なデータ処理が可能となる。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照しながら、本発明の情報処理装置、プロセス制御方法、並びにコンピュータ・プログラムの詳細について説明する。
【００３０】
まず、図３を参照して、本発明の情報処理装置のハードウェア構成例について説明する。プロセッサモジュール１０１は、複数のプロセッサ（Processing Unit)から構成されたモジュールであり、ＲＯＭ(Read Only Memory)１０４、ＨＤＤ１２３等に記憶されているプログラムに従って、オペレーティングシステム（ＯＳ：Operating System)、ＯＳ対応のアプリケーション・プログラムなど、各種プログラムに従ったデータ処理を実行する。プロセッサモジュール１０１の詳細については、さらに、後段で、図４を参照して説明する。
【００３１】
グラフィックエンジン１０２は、プロセッサモジュール１０１から入力される指示に従って、出力部１２２を構成する表示デバイスに画面出力するためのデータ生成、例えば３Ｄグラフィック描画処理を実行する。メインメモリ（ＤＲＡＭ）１０３には、プロセッサモジュール１０１において実行するプログラムやその実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス１１１により相互に接続されている。
【００３２】
ホストバス１１１は、ブリッジ１０５を介して、ＰＣＩ(Peripheral Component Interconnect/Interface)バスなどの外部バス１１２に接続されている。ブリッジ１０５は、ホストバス１１１、外部バス１１２間、およびコントローラ１０６、メモリカード１０７、その他のデバイスとのデータ入出力制御を実行する。
【００３３】
入力部１２１は、キーボード、ポインティングデバイスなどのユーザにより操作される入力デバイスからの入力情報を入力する。出力部１２２は、液晶表示装置やＣＲＴ（Cathode Ray Tube）などの画像出力部とスピーカ等からなる音声出力部から構成される。
【００３４】
ＨＤＤ（Hard Disk Drive）１２３は、ハードディスクを内蔵し、ハードディスクを駆動し、プロセッサモジュール１０１によって実行するプログラムや情報を記録または再生させる。
【００３５】
ドライブ１２４は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体１２７に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インタフェース１１３、外部バス１１２、ブリッジ１０５、およびホストバス１１１を介して接続されているメインメモリ（ＤＲＡＭ）１０３に供給する。
【００３６】
接続ポート１２５は、外部接続機器１２８を接続するポートであり、ＵＳＢ，ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１２５は、インタフェース１１３、外部バス１１２、ブリッジ１０５、およびホストバス１１１を介してプロセッサモジュール１０１等に接続されている。通信部１２６は、ネットワークに接続され、プロセッサモジュール１０１や、ＨＤＤ１２３等から提供されるデータの送信、外部からのデータ受信を実行する。
【００３７】
次に、プロセッサモジュールの構成例について、図４を参照して説明する。図４に示すように、プロセッサモジュール２００は、複数のメインプロセッサからなるメインプロセッサグループ２０１、複数のサブプロセッサからなる複数のサブプロセッサグループ２０２〜２０ｎによって構成されている。それぞれにメモリコントローラ、２次キャッシュが設けられている。各プロセッサグループ２０１〜２０ｎの各々は例えば８つのプロセッサユニットを有し、クロスバーアキテクチャ、あるいはパケット交換式ネットワークなどによって接続されている。メインプロセッサグループ２０１のメインプロセッサの指示のもとに、複数のサブプロセッサグループ２０２〜２０ｎの１以上のサブプロセッサが選択され、所定のプログラムが実行される。
【００３８】
なお、本発明の装置は複数の物理サブプロセッサを持ち、ソフトウェアが物理サブプロセッサをタイムシェアリングで多重化し、論理プロセッサをＯＳに提供する。サブプロセッサを制御する制御ＯＳはメインプロセッサ上で動作する。なお、本発明の方式はメイン-サブプロセッサのように主従関係がある装置でなくても応用でき、メイン-サブプロセッサのように主従関係にないマルチプロセッサマシンにおいても適用可能である。
【００３９】
各プロセッサグループに設置されたメモリフローコントローラは、図３に示すメインメモリ１０３とのデータ入出力制御を実行し、２次キャッシュは、各プロセッサグループにおける処理用データの記憶領域として利用される。
【００４０】
次に、図５を参照して、本発明の情報処理装置におけるオペレーティングシステム（ＯＳ）構成を説明する。本発明の情報処理装置は複数のオペレーティングシステム（ＯＳ）が共存するマルチＯＳ構成を持つ。図５に示すように、論理的な階層構成を持つ複数のオペレーティングシステム（ＯＳ）を持つ。
【００４１】
図５に示すように、下位レイヤに制御ＯＳ３０１を有し、上位レイヤに複数のゲストＯＳ３０２，３０３、およびシステム制御ＯＳ３０４が設定される。制御ＯＳ３０１は、システム制御ＯＳ３０４とともに図３、図４を参照して説明したプロセッサモジュールにおいて実行する各プロセスの１つの実行単位としての論理パーティションを実現し、システム内のハードウェア資源（計算機資源としてのメインプロセッサ、サブプロセッサ、メモリ、デバイス等）を各論理パーティションに割り振る処理を実行する。
【００４２】
ゲストＯＳ３０２，３０３は、例えばゲームＯＳやＷｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）などの各種のＯＳであり、制御ＯＳ３０１の制御の下に動作するＯＳである。なお、図５には、ゲストＯＳ３０２，３０３の２つのゲストＯＳのみを示してあるが、ゲストＯＳは任意の数に設定することが可能である。
【００４３】
ゲストＯＳ３０２，３０３は、制御ＯＳ３０１およびシステム制御ＯＳ３０４によって設定された論理パーティション内で動作し、その論理パーティションに割り当てられたメインプロセッサ、サブプロセッサ、メモリ、デバイス等のハードウェア資源を適用して各種のデータ処理を実行する。
【００４４】
例えば、ゲストＯＳ（ａ）３０２は、制御ＯＳ３０１およびシステム制御ＯＳ３０４によって設定された論理パーティション２に割り当てられたメインプロセッサ、サブプロセッサ、メモリ、デバイス等のハードウェア資源を適用して、ゲストＯＳ（ａ）３０２対応のアプリケーション・プログラム３０５を実行する。また、ゲストＯＳ（ｂ）３０３は、論理パーティションｎに割り当てられたメインプロセッサ、サブプロセッサ、メモリ、デバイス等のハードウェア資源を適用して、ゲストＯＳ（ｂ）３０３対応のアプリケーション・プログラム３０６を実行する。制御ＯＳ３０１は、ゲストＯＳの実行に必要なインタフェースとしてゲストＯＳプログラミングインタフェースを提供する。
【００４５】
システム制御ＯＳ３０４は、論理パーティション管理情報を含むシステム制御プログラム３０７を起動し、システム制御プログラム３０７に基づくシステムの動作制御を制御ＯＳ３０１とともに実行する。システム制御プログラム３０７は、システム制御プログラム・プログラミングインタフェースを用いてシステムのポリシを制御するプログラムである。システム制御プログラム・プログラミングインタフェースは、制御ＯＳ３０１からシステム制御ＯＳ３０４に提供される。例えばリソース配分の上限値を設定するなど、プログラムによる柔軟なカスタマイズのための手段を提供するのがシステム制御プログラム３０７の役割である。
【００４６】
システム制御プログラム３０７はシステム制御プログラム・プログラミングインタフェースを用いてシステムの振る舞いを制御することができる。例えば、新しく論理パーティションを作成し、その論理パーティションで新しいゲストＯＳを起動することができる。複数のゲストＯＳが動作するシステムでは、それらのゲストＯＳはシステム制御プログラムにあらかじめプログラムされた順序で起動されることになる。また、ゲストＯＳから提出された資源割り当て要求を制御ＯＳ３０１が受理する前に検査し、システムのポリシに従って修正したり、要求そのものを拒否したりすることができる。これにより、特定のゲストＯＳだけが資源を独占することがないようにすることができる。このように、システムのポリシをプログラムとして実現したものがシステム制御プログラムである。
【００４７】
制御ＯＳ３０１はシステム制御ＯＳ３０４のために特別な論理パーティション（図では論理パーティション１）を割り当てる。制御ＯＳ３０１は、ハイパーバイザーモードで動作する。ゲストＯＳはスーパバイザモードで動作する。システム制御ＯＳ、アプリケーション・プログラムはプロブレムモード（ユーザモード）で動作する。なお、ハイパーバイザーは論理パーティションとハードウエアとの間に位置する特権レイヤである。
【００４８】
論理パーティションはシステム内の資源分配を受ける主体である。たとえばメインメモリ１０３（図３参照）はいくつかの領域へ分割され、それぞれの領域の使用権が論理パーティションに対して与えられる。論理パーティションに分配される資源の種別には以下のものがある。
ａ）物理プロセッサユニット使用時間
ｂ）仮想アドレス空間
ｃ）論理パーティション内で動作するプログラムがアクセスできるメモリ
ｄ）制御ＯＳが論理パーティションの管理のために用いるメモリ
ｅ）イベントポート
ｆ）デバイスの使用権
ｇ）キャッシュパーティション
ｈ）バス使用権
【００４９】
前述したように、ゲストＯＳは論理パーティションの中で動作する。ゲストＯＳは論理パーティションに割り当てられた資源を独占して各種のデータ処理を実行する。多くの場合、システム上で動作する個々のゲストＯＳ毎に１つの論理パーティションが作成される。各論理パーティションにはユニークな識別子が与えられる。システム制御ＯＳ３０４は、論理パーティション管理情報として生成するシステム制御プログラムに識別子を対応づけて管理する。
【００５０】
論理パーティションは、制御ＯＳ３０１およびシステム制御ＯＳ３０４によって生成される。生成直後の論理パーティションは何も資源を持たず、使用資源の制限も設定されていない。論理パーティションには活動状態と終了状態という２つの状態がある。生成直後の論理パーティションは活動状態にある。論理パーティション内で動作するゲストＯＳの要求に基づいて論理パーティションは終了状態に遷移し、論理パーティションに割り当てられている全ての論理プロセッサが停止する。
【００５１】
なお、論理プロセッサは、論理パーティションに割り当てられる論理的なプロセッサであり、いずれかの物理プロセッサ、すなわち、図４に示すプロセッサグループ内のプロセッサに対応する。ただし、論理プロセッサと物理プロセッサは必ずしも１対１の関係にはなく、１つの論理プロセッサに複数の物理プロセッサが対応付けられる場合もあり、複数の論理プロセッサに１つの物理プロセッサが対応付けられる場合もある。論理プロセッサと物理プロセッサの対応付けは、制御ＯＳ３０１が決定する。
【００５２】
制御ＯＳ３０１は、各論理パーティションが使用する資源の量を制限する機能を備えている。ゲストＯＳ３０２，３０３がシステム制御ＯＳ３０４との通信を行うことなく割り当て／解放が行える資源については使用量の制限が可能となっている。
【００５３】
各論理パーティションは制御シグナルポートを備えている。このポートには論理パーティション間のデータ交換／共有に必要な様々な制御シグナルが到着する。制御シグナルの例を以下に挙げる。
ａ）論理パーティション間イベントポートの接続依頼
ｂ）論理パーティション間メッセージチャネルの接続依頼
ｃ）共有メモリ領域への接続依頼
【００５４】
各論理パーティションに到着した制御シグナルは制御シグナルポートでキューイングされる。キューの深さは、メモリ資源が許す範囲であれば、制限は無い。キューイングに必要なメモリ資源は制御シグナルを送った論理パーティションから確保される。このポートから制御シグナルを取り出すためには、ゲストＯＳプログラミングインタフェースを呼び出す。空の制御シグナルポートに制御シグナルが到着したときに、任意のイベントポートにイベントを送信することが可能である。イベントポートの指定はゲストＯＳプログラミングインタフェースを呼び出すことによって行える。
【００５５】
制御ＯＳは論理パーティションに対し、物理サブプロセッサを抽象化した論理サブプロセッサをリソース（計算機資源）として与える。前述したように物理サブプロセッサと論理サブプロセッサは一対一に対応付けされていない上、数が同じである必要もない。これを実現するために、制御ＯＳは必要に応じて一つの物理サブプロセッサを複数の論理サブプロセッサに対応付けることができるようになっている。
【００５６】
論理サブプロセッサの数が物理サブプロセッサの数より多い場合、制御ＯＳは物理サブプロセッサをタイムシェアリングして処理する。このため論理サブプロセッサは、時間の経過をともなって動作停止や動作再開を繰り返す可能性がある。ゲストＯＳはこれらの状態の変化を観測することができる。
【００５７】
図６を参照して、物理プロセッサと論理プロセッサとの対応について説明する。図６には１つのメインプロセッサ４０１と、物理サブプロセッサ４１１〜４１４の物理プロセッサ構成を示し、さらに、２つの物理サブプロセッサ、すなわち物理サブプロセッサ（２）と、物理サブプロセッサ（４）のタイムシェアリング処理によって動作する論理ザププロセッサのタイムシーケンスを示している。
【００５８】
図６の例では、物理サブプロセッサ（２）は、
時間ｔａ０〜ｔａ１：論理サブプロセッサ（ア）
時間ｔａ１〜ｔａ２：論理サブプロセッサ（イ）
時間ｔａ２〜ｔａ３：論理サブプロセッサ（ウ）
時間ｔａ３〜      ：論理サブプロセッサ（ア）
のタイムシェアリングによって各論理サブプロセッサが割り当てられ、それぞれの割り当て時間において、各論理サブプロセッサは物理サブプロセッサ（２）を適用した処理を実行している。
【００５９】
また、物理サブプロセッサ（４）は、
時間ｔｂ０〜ｔｂ１：論理サブプロセッサ（イ）
時間ｔｂ１〜ｔｂ２：論理サブプロセッサ（ウ）
時間ｔｂ２〜ｔｂ３：論理サブプロセッサ（ア）
時間ｔｂ３〜      ：論理サブプロセッサ（イ）
のタイムシェアリングによって各論理サブプロセッサが割り当てられ、それぞれの割り当て時間において、各論理サブプロセッサは物理サブプロセッサ（４）を適用した処理を実行している。
【００６０】
各論理サブプロセッサが時分割によって物理サブプロセッサを利用した処理を実行し、さらに次の割り当て期間において物理サブプロセッサを適用したデータ処理を再開するために、データ処理中断時のハードウェア状態等の状態情報を保持しておくことが必要となる。この状態情報には、図に示す各物理サブプロセッサに対応するローカルストレージ（Ｌｏｃａｌ  Ｓｔｏｒａｇｅ）情報、ＭＭＩＯ（メモリマップドＩＯ）レジスタ情報が含まれる。ＭＭＩＯ（メモリマップドＩＯ）は、メモリマッピングによるハードウェアの制御を行う入出力制御機構であり、特定のメモリ位置を利用した書き込み処理または読み取り処理によって、ハードウェアの制御を可能としている。
【００６１】
論理サブプロセッサが物理サブプロセッサに割り当てられている期間は、その論理サブプロセッサに対応する論理パーティションアドレス空間内の領域に、論理サブプロセッサの状態を反映した物理サブプロセッサのＭＭＩＯ領域とローカルストレージ（Ｌｏｃａｌ  Ｓｔｏｒａｇｅ）領域がマップされることになる。その間、ゲストＯＳは論理パーティションアドレス空間にマップされたＭＭＩＯレジスタやローカルストレージに直接アクセスすることで、論理サブプロセッサを操作することができる
【００６２】
図７を参照して、論理パーティションの設定されたゲストＯＳによる各物理プロセッサ対応のＭＭＩＯレジスタを適用しアクセス処理例について説明する。図７に示すように、論理パーティションの設定されたゲストＯＳ４５１は、各物理プロセッサ４６１〜４６４に対応する各ＭＭＩＯ（メモリマップドＩＯ）レジスタ情報４７１〜４７４を参照して、各物理プロセッサ４６１〜４６４を介してメモリマッピングを行い、特定のメモリ位置を利用した書き込み処理または読み取り処理によってハードウェアのアクセスを実現することができる。
【００６３】
しかし、論理サブプロセッサが物理サブプロセッサに割り当てられていない期間は、その論理サブプロセッサに対応する論理パーティションアドレス空間内の領域に、論理サブプロセッサの状態を反映した物理サブプロセッサのＩ／Ｏポートの領域の一部であるＭＭＩＯレジスタやローカルストレージ領域がマップされていないため、先に図２を参照して説明したように一般的には論理サブプロセッサへのアクセスができなくなる。しかし、本発明の構成では、論理プロセッサが物理プロセッサを利用していない期間において論理プロセッサへのアクセスを実現するため、ＭＭＩＯレジスタ領域とローカルストレージ領域情報を含むコンテキストテーブルを他プロセッサからの参照可能な状態に保持する構成としている。さらに、後述するが、論理プロセッサが物理プロセッサを利用している期間および、利用していない期間のいずれの状態においても、ＭＭＩＯレジスタ情報のコピー情報としてのシャドウをメインメモリに格納し、効率的にＭＭＩＯレジスタに対するアクセスを行うことを可能としている。
【００６４】
まず、コンテキスト保存構成について説明する。以下の説明において、論理サブプロセッサを利用したデータ処理を実行するのは、図５を参照して説明したゲストＯＳに割り当てられる論理パーティションである。論理パーティションに対応する論理サブプロセッサに対して、タイムシェアリングによる物理プロセッサの割り当ては制御ＯＳによって実行される。
【００６５】
論理サブプロセッサにはゲストＯＳによって制御される活動状態／非活動状態と、制御ＯＳによって制御される実行状態／実行可能状態がある。これらの組み合わせで、論理サブプロセッサには以下の３つの状態が存在することになる。
（ａ）活動状態＆実行可能状態
（ｂ）活動状態＆実行状態
（ｃ）非活動状態
【００６６】
活動状態と非活動状態の違いは、論理サブプロセッサが制御ＯＳによるタイムシェアリングの対象、すなわち物理サブプロセッサの割り当て対象になるかどうかの違いである。活動状態は、論理サブプロセッサがタイムシェアリングの対象になっている状態、すなわち物理プロセッサの割り当て対象になっている状態である。論理サブプロセッサが活動状態にある場合、制御ＯＳはタイムシェアリングした物理サブプロセッサを適宜その論理サブプロセッサに割り付ける。
【００６７】
非活動状態は論理サブプロセッサがタイムシェアリングの対象になっていない状態である。論理サブプロセッサがこの非活動状態にある場合、制御ＯＳは時分割した物理サブプロセッサをその論理サブプロセッサに割り付けない。しかし、この場合において、論理サブプロセッサのコンテキストはコンテキストテーブルに保持される。制御ＯＳがこのコンテキストを論理パーティションアドレス空間にマップすることで、他プロセッサからの非活動状態にある論理プロセッサに対するアクセスが可能となる。なお、ゲストＯＳは論理サブプロセッサの活動状態／非活動状態を制御することができる。
【００６８】
実行状態と実行可能状態の違いは、活動状態の論理サブプロセッサが物理サブプロセッサで実際に実行されているかどうかの違いである。論理サブプロセッサが物理サブプロセッサより多い場合、先に図２を参照して説明したように、論理サブプロセッサはタイムシェアリングされた物理サブプロセッサで実現されるので、論理サブプロセッサは常に物理サブプロセッサで実行されているわけではない。実行状態は、論理サブプロセッサが物理サブプロセッサで実際に実行されている瞬間の状態を指す。
【００６９】
一方、実行可能状態は、論理サブプロセッサが物理プロセッサの割り当て対象となっている（活動状態）が、実際に物理サブプロセッサで実行されていない瞬間の状態である。
【００７０】
これらの状態間の遷移、すなわち、実行状態と実行可能状態との遷移は、制御ＯＳが起こす論理サブプロセッサのコンテキストスイッチによって発生する。なお、ゲストＯＳは、論理サブプロセッサの実行状態／実行可能状態を知ることができる。
【００７１】
論理サブプロセッサが活動状態で実行状態であれば、論理パーティションアドレス空間内の領域に、論理サブプロセッサの状態を反映した物理サブプロセッサのＭＭＩＯレジスタ情報やローカルストレージ領域がマップされる。従って、論理サブプロセッサに対するアクセスが可能な状態である。
【００７２】
論理サブプロセッサが非活動状態に移行する際に、制御ＯＳが論理サブプロセッサの状態情報としての論理サブプロセッサのコンテキストを保存し、コンテキストテーブルを論理サブプロセッサに対応するゲストＯＳの論理パーティションアドレス空間内の領域にマップする。この処理によって、ゲストＯＳは、自己の論理パーティションアドレス空間から非活動状態にある論理サブプロセッサのコンテキストテーブルのリソース情報を参照することが可能となり、リソース情報の読み取り、書き込み、更新などの処理を行なうことができる。
【００７３】
さらに、コンテキストテーブルには、レジスタの内容の他に、従来のコンテキストテーブルには含まれない、例えばローカルストレージの内容やＭＭＩＯレジスタ情報も併せて格納する構成としている。この結果、ゲストＯＳは、物理プロセッサの使用状態にない非活動状態に設定されている論理プロセッサに対応するこれらの各種の状態情報に従ったリソースアクセスによるデータ処理を実行することが可能となり、データ処理効率が向上する。
【００７４】
図８を参照して、ゲストＯＳによる論理サブプロセッサ対応のリソースアクセス態様について説明する。ゲストＯＳは論理パーティションが設定され、論理パーティションには論理サブプロセッサが対応付けられている。リソースは、ゲストＯＳアクセス不可能リソース５０１と、ゲストＯＳアクセス可能リソース５０２に区分される。
【００７５】
ゲストＯＳ対応の論理パーティションに対応付けられた論理サブプロセッサが活動状態でありかつ実行状態である場合は、物理サブプロセッサ５１０によるデータ処理実行状態にあり、この状態では、ゲストＯＳアクセス不可能リソース５０１に含まれる汎用レジスタ５２１、Ｉ／Ｏポートの一部５２２、さらに、ゲストＯＳアクセス可能リソース５０２に含まれるＭＭＩＯレジスタ５２３、ローカルストレージ５２４、メインメモリ５２５を適用したデータ処理が実行される。
【００７６】
物理サブプロセッサによるデータ処理実行状態にある場合は、ゲストＯＳの論理パーティションアドレス空間には、ＭＭＩＯレジスタ領域５２３やローカルストレージ領域５２４等がマップされており、ゲストＯＳは、これらのリソースに対してアクセスすることができる。
【００７７】
次に、論理サブプロセッサが非活動状態、すなわち、物理サブプロセッサの割り当て対象からはずれた状態に移行すると、論理サブプロセッサのメインメモリ５２５にあるコンテキストテーブル５３１に当該コンテキストが保存される。
【００７８】
メインメモリ５２５に保存される論理サブプロセッサのコンテキストテーブル５３１は、論理サブプロセッサに対応するゲストＯＳの論理パーティションアドレス空間内の領域にマップされるので、ゲストＯＳによってアクセス可能となる。
【００７９】
図９を参照して、論理サブプロセッサに対応するゲストＯＳの論理パーティションアドレス空間と、物理アドレス空間との対応について説明する。
【００８０】
図９には、論理サブプロセッサに対応するゲストＯＳの論理パーティションアドレス空間５６０と、物理アドレス空間５７０を示してある。物理アドレス空間５７０はメモリ、ＭＭＩＯレジスタ、物理サブプロセッサのローカルストレージを含む物理空間である。制御ＯＳは必要に応じて物理アドレス空間５７０の一部分を論理アドレス空間にマップする。ゲストＯＳは、ゲストＯＳの論理パーティションアドレス空間領域にマップされた物理アドレス空間のみをアクセスできる。
【００８１】
ゲストＯＳの論理パーティション対応の論理サブプロセッサが、活動状態でありかつ実行状態ある場合、すなわち物理サブプロセッサによるデータ処理実行状態にある場合は、ゲストＯＳの論理パーティションアドレス空間５６０には、ＭＭＩＯレジスタの一部とローカルストレージ領域５６１がマップされており、ゲストＯＳは、これらのリソースに対してアクセスすることができる。
【００８２】
さらに、ゲストＯＳの論理パーティション対応の論理サブプロセッサが、非活動状態にある場合、すなわち物理サブプロセッサの割り当て対象から除外された状態にある場合は、ゲストＯＳの論理パーティションアドレス空間５６０には、ＭＭＩＯレジスタの一部とローカルストレージ領域等を含むコンテキストテーブル５６２がマップされ、ゲストＯＳは、これらのリソースに対してアクセスすることができることになる。
【００８３】
図１０を参照して、コンテキスト保存処理の詳細について説明する。図１０には、コンテキスト保存処理を実行する制御ＯＳ６１０と、保存対象のコンテキスト対応の論理プロセッサによるデータ処理を実行する論理パーティションの設定されたゲストＯＳ６２０を示してある。
【００８４】
先に図９を参照して説明したように、コンテキストがゲストＯＳから参照可能な状態に保存されるのは、論理サブプロセッサが非活動状態に設定される場合である。すなわち論理サブプロセッサが物理サブプロセッサの割り当て対象から除外される場合である。
【００８５】
図１０において、ゲストＯＳ６２０は、制御ＯＳ６１０のシステムコール処理部６１１に対して、コンテキストをゲストＯＳから参照可能な位置への保存処理を要求するシステムコールを出力する。制御ＯＳ６１０のシステムコール処理部６１１は、ゲストＯＳ６２０からのシステムコールを受領すると、論理プロセッサスケジューリング処理部６１２に対して、論理サブプロセッサのスケジューリング変更要求を出力し、さらにコンテキスト管理部に論理プロセッサに対応するコンテキスト保存を依頼する。
【００８６】
システムコール処理部６１１は、要求に応じて、論理サブプロセッサを活動状態から非活動状態に遷移させる。すなわち、ゲストＯＳ６２０に設定された論理パーティションに対応する論理サブプロセッサを物理サブプロセッサの割り当て対象から除外する処理を行なう。この処理によって、論理サブプロセッサは非活動状態に設定される。
【００８７】
さらに、論理サブプロセッサスケジューリング処理部６１２は、コンテキスト管理部６１３に非活動状態に遷移した論理サブプロセッサに対応するコンテキストの保存処理を依頼する。コンテキスト管理部６１３は、論理プロセッサスケジューリング処理部６１２によって論理サブプロセッサのコンテキストの保存/復元が依頼されると、コンテキストの保存/復元を実行する。また、この論理サブプロセッサが非活動状態に設定されたことを確認すると、コンテキストを保存したコンテキストテーブルを論理パーティションアドレス空間へマップするようにメインメモリ管理部６１４へ依頼を出す。保存するコンテキストには、論理プロセッサのローカルストレージの内容、ＭＭＩＯの内容、レジスタの内容が含まれる。
【００８８】
メモリ管理部６１４は、ゲストＯＳ６２０の論理パーティションアドレス空間におけるコンテキストアクセス用アドレスを決定する。メインメモリ管理部６１４は、物理アドレス空間としてのメインメモリに保存するコンテキストをゲストＯＳ６２０の論理パーティションアドレス空間領域にマップし、ゲストＯＳ６２０から参照可能な状態に設定する。
【００８９】
ゲストＯＳは、通知されたアドレスに従って、コンテキストを参照することが可能となり、コンテキストに基づくリソース、すなわちＭＭＩＯレジスタやローカルストレージ領域情報を取得することができ、これらのリソース情報の読み取り、書き込み処理が可能となる。
【００９０】
論理パーティションの設定されたゲストＯＳが活動状態と非活動状態間を遷移する際のＭＭＩＯレジスタを適用したアクセス処理の変遷について、図１１を参照して説明する。図１１において、ゲストＯＳ（ＧＯＳ）７０１は、ゲストＯＳの要求に基づく制御ＯＳの制御により、活動状態と非活動状態間を遷移する。図１１において、横軸が時間軸を示し、左から右に時間（ｔ）が経過しているものとする。図１１のＳ１０１〜Ｓ１０５は、ゲストＯＳの状態を示し、状態Ｓ１０１が非活動状態であり、状態Ｓ１０２が活動状態、Ｓ１０３が非活動状態、Ｓ１０４が活動状態、Ｓ１０５が非活動状態である。
【００９１】
ゲストＯＳ７０１は、ＭＭＩＯレジスタ情報を取得してハードウェアなどのアクセス処理を行なう場合、ゲストＯＳ７０１が非活動状態（Ｓ１０１，Ｓ１０３，Ｓ１０５）にある期間は、メインメモリ７０２に記録されたコンテキストテーブル、すなわち、ＭＭＩＯのコピー情報を利用してアクセスを行う。一方、ゲストＯＳ７０１が活動状態（Ｓ１０２，Ｓ１０４）にある場合は、ゲストＯＳの論理パーティション対応の論理サブプロセッサに対応付けられた物理サブプロセッサ７０３に対応するＭＭＩＯレジスタ情報を直接適用したアクセス処理を実行する。
【００９２】
なお、ゲストＯＳ７０１が非活動状態から活動状態に移行する場合は、前述したようにコンテキストの復元処理を実行し、ゲストＯＳ６０１が活動状態から非活動状態に移行する場合は、コンテキストの保存処理を実行する。コンテンキストには、ＭＭＩＯレジスタ情報が含まれる。
【００９３】
このように、ゲストＯＳは、活動状態にある場合、非活動状態にある場合、いずれの状態においてもゲストＯＳに対応する論理サブプロセッサは、ＭＭＩＯレジスタ情報を参照することが可能となり、リソース情報の読み取り、書き込み、更新などの処理を行なうことができる。
【００９４】
しかしながら、各ゲストＯＳが、全てのＭＭＩＯレジスタを参照可能とする設定には問題がある。例えば、各ゲストＯＳに対応する論理プロセッサがアクセス可能なメモリ領域を設定するレジスタなどは、制御ＯＳのみが設定、変更可能な設定とすることが好ましく、ゲストＯＳによって、アクセスされ変更されてしまうことは好ましくなく、このようなアクセスは防止しなければならない。また装置のメモリ搭載情報を設定したレジスタなどのシステム情報を設定したレジスタなども、ゲストＯＳによるアクセス、変更を防止することも必要である。
【００９５】
このように、ゲストＯＳが活動状態、非活動状態いずれの状態においてもＭＭＩＯレジスタのアクセスを可能とする一方で、制御ＯＳや他のゲストＯＳによる処理に対する影響が発生するＭＭＩＯレジスタには、アクセスさせないような構成とすることが必要となる。
【００９６】
ＭＭＩＯレジスタに対するアクセス制御としては、
（ａ）ページ単位（例えば４ｋバイト）のアクセス制御
（ｂ）１ビット単位のアクセス制御
これらａ，ｂの２通りのアクセス制御が可能である。各アクセス制御構成について、図面を参照して説明する。
【００９７】
図１２は、ＭＭＩＯレジスタに対する（ａ）ページ単位のアクセス制御構成を説明する図である。ゲストＯＳ７５１は、ＭＭＩＯレジスタ７５５に対するアクセスを実行しようとする。ゲストＯＳ７５１を動作している物理プロセッサ７５３は、ゲストＯＳ７５１からのアクセス要求を許可するか否かを判定し、許可する場合にのみ、ＭＭＩＯレジスタ７５５へのアクセスが実行される。
【００９８】
物理プロセッサ７５３は、ＭＭＩＯレジスタ７５５の区分領域であるページ（例えば４Ｋバイト）単位のアクセス可否情報を登録したテーブル情報格納バッファ（ＴＬＢ：テーブルルックバッファ）７５４を有しており、このＴＬＢ７５４の登録情報を参照して、ゲストＯＳ７５１のアクセス要求のあったページ位置がアクセス許容ページか否かを判定し、アクセス許容ページである場合にのみアクセスを許可する。
【００９９】
ＴＬＢ７５４に登録されていない情報については、物理プロセッサ７５３は、ハイパーバイザーモードで動作する制御ＯＳ７５２に対するアクセス可否問い合わせを実行し、制御ＯＳ７５２からアクセス可否情報を取得して、ゲストＯＳ７５１のアクセス要求のあったページ位置がアクセス許容ページか否かを判定する。さらに、取得情報をＴＬＢ７５４に登録する。ＴＬＢ７５４に登録されたページ位置については、制御ＯＳ７５２に対する問い合わせを行なうことなく、ＴＬＢ７５４の参照のみの処理によってアクセス可否を判定することが可能であり、迅速な処理が可能となる。
【０１００】
次に、図１３を参照して、ＭＭＩＯレジスタに対する（ｂ）ビット単位のアクセス制御構成を説明する。ビット単位のアクセス制御は、ゲストＯＳプログラミングインタフェース（ＧＯＩ）７６１を利用して実行される。先に図５を参照して説明したように、ハイパーバイザーモードで動作する制御ＯＳ７５２は、ゲストＯＳ７５１の実行する様々な処理に必要なインタフェースとしてゲストＯＳプログラミングインタフェースを提供する。ＭＭＩＯレジスタ７５５に対するアクセス制御についても、ゲストＯＳプログラミングインタフェース（ＧＯＩ）７６１を利用して行なうことが可能である。
【０１０１】
ゲストＯＳプログラミングインタフェース（ＧＯＩ）７６１を適用したＭＭＩＯレジスタアクセスのみを許容する構成では、ＧＯＩ７６１を介さずに物理プロセッサ７５３に対してアクセス要求を実行すると、物理プロセッサ７５３は、制御ＯＳ７５２に対するアクセス可否問い合わせを実行するが、制御ＯＳ７５２はＧＯＩ７６１を介さない処理としてアクセスを許容しない。
【０１０２】
ゲストＯＳ７５１が、ＧＯＩ７６１を介したアクセス要求を実行すると、ハイパーバイザーモードで動作する制御ＯＳ７５２は、制御ＯＳ７５２の保持情報に基づいて、ＭＭＩＯレジスタ７５５のアクセス可否をビット単位で判定し、アクセス許容位置にあるＭＭＩＯレジスタ情報のみについて、ゲストＯＳ７５１のアクセスを許容する。このＧＯＩを適用したアクセス制御は、ビット単位のアクセス制御が可能であり、制御ＯＳによる監視が可能というメリットがあるが、制御ＯＳによる処理負荷が増加するという問題がある。
【０１０３】
ゲストＯＳプログラミングインタフェース（ＧＯＩ）を適用したＭＭＩＯレジスタのアクセス制御を実行する設定におけるコンテキスト切り替えシーケンスについて、図１４を参照して説明する。
【０１０４】
図１４は、先に説明した図１１と同様、左から右に時間（ｔ）が経過しており、論理サブプロセッサＳ２０１〜Ｓ２０５は、ゲストＯＳの要求で制御ＯＳによる制御で活動状態と非活動状態を遷移する。図１４において、Ｓ２０１〜Ｓ２０５は、ゲストＯＳ８０１の状態を示し、状態Ｓ２０１が非活動状態であり、状態Ｓ２０２が活動状態、Ｓ２０３が非活動状態、Ｓ２０４が活動状態、Ｓ２０５が非活動状態である。
【０１０５】
ゲストＯＳ８０１は、図１３を参照して説明したゲストＯＳプログラミングインタフェース（ＧＯＩ）を適用したＭＭＩＯレジスタのアクセスを行なう。すなわち、ハイパーバイザーモードで動作する制御ＯＳ８０２の提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）を適用したＭＭＩＯレジスタのアクセスを行なう。
【０１０６】
例えば、ステップＳ２５１において、非活動状態にあるゲストＯＳ８０１は、制御ＯＳ８０２の提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）を介して、メインメモリ８０３に格納されたコンテキストテーブルに基づくＭＭＩＯレジスタアクセスを行う。すなわちメモリアクセスによってＭＭＩＯアクセスを実現する。
【０１０７】
また、ステップＳ２５２では、活動状態にあるゲストＯＳ８０１は、制御ＯＳ８０２の提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）を介して、メインメモリ８０３ではなく、活動状態にあるゲストＯＳ８０１に対応する論理パーティションの対応付けられた物理プロセッサ８０４を適用して直接ＭＭＩＯレジスタをアクセスする。
【０１０８】
以下、ステップＳ２５３、Ｓ２５５において、非活動状態にあるゲストＯＳ８０１によるＭＭＩＯレジスタアクセスは、制御ＯＳ８０２の提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）を介したメインメモリ８０３アクセスによって実現され、ステップＳ２５４において、制御ＯＳ８０２の提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）を介して、活動状態にあるゲストＯＳ８０１に対応する論理パーティションの対応付けられた物理プロセッサ８０４を適用して直接ＭＭＩＯレジスタをアクセスする処理が行なわれる。
【０１０９】
しかしながら、物理プロセッサに対応するＭＭＩＯレジスタに対するアクセス処理は、単なるメモリアクセス処理に比較すると時間を要する処理となる。すなわち、
物理プロセッサ対応ＭＭＩＯアクセス時間≫メモリアクセス時間
の関係があり、ＭＭＩＯアクセスの実行は、データ処理の遅延を招く恐れがある。
【０１１０】
図１４に示す処理シーケンスでは、ゲストＯＳ８０１が非活動状態にある期間は、メインメモリ８０３のアクセスによって高速にＭＭＩＯレジスタアクセスが実現されるが、ゲストＯＳ８０１が活動状態にある期間は、メインメモリ８０３のアクセスによるＭＭＩＯレジスタアクセスが実現されず、ＭＭＩＯレジスタアクセスが時間のかかる処理となってしまう。
【０１１１】
そこで、本発明の一実施例の構成は、ゲストＯＳ８０１が非活動状態にある期間のみならず、ゲストＯＳが活動状態にある期間もＭＭＩＯレジスタ情報のコピー情報をメインメモリ８０３に保持する構成とした。この実施例に従った構成および処理について、図１５を参照して説明する。
【０１１２】
図１５は、図１４と同様、左から右に時間（ｔ）が経過しており、論理サブプロセッサＳ３０１〜Ｓ３０５は、ゲストＯＳの要求で制御ＯＳによる制御で活動状態と非活動状態を遷移する。図１５において、状態Ｓ３０１が非活動状態であり、状態Ｓ３０２が活動状態、Ｓ３０３が非活動状態、Ｓ３０４が活動状態、Ｓ３０５が非活動状態である。
【０１１３】
ゲストＯＳ８０１は、ゲストＯＳプログラミングインタフェース（ＧＯＩ）を適用したＭＭＩＯレジスタのアクセスを行なう。すなわち、ハイパーバイザーモードで動作する制御ＯＳ８０２の提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）を適用したＭＭＩＯレジスタのアクセスを行なう。
【０１１４】
図１５に示す処理構成では、ゲストＯＳ８０１が非活動状態にある期間のみならず、ゲストＯＳが活動状態にある期間もＭＭＩＯレジスタ情報のコピー情報としてのシャドウがメインメモリ８０３に保持される。従って、ゲストＯＳ８０１は、ＭＭＩＯレジスタに対するアクセスを常にメインメモリ８０３に対するアクセスとして実行することができる。
【０１１５】
例えば、ステップＳ３５１において、非活動状態にあるゲストＯＳ８０１は、制御ＯＳ８０２の提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）を介して、メインメモリ８０３にシャドウ８５１として格納されたＭＭＩＯレジスタ情報にアクセスを行う。すなわちメモリアクセスによってＭＭＩＯアクセスを実現することができる。
【０１１６】
また、ステップＳ３５２では、活動状態にあるゲストＯＳ８０１は、制御ＯＳ８０２の提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）を介して、メインメモリ８０３にシャドウ８５２として格納されたＭＭＩＯレジスタ情報にアクセスを行う。すなわちメモリアクセスによってＭＭＩＯアクセスを実現することができる。
【０１１７】
以下、ステップＳ３５３、Ｓ３５４、Ｓ３５５において、非活動状態または活動状態にあるゲストＯＳ８０１によるＭＭＩＯレジスタアクセスは、制御ＯＳ８０２の提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）を介したメインメモリ８０３アクセスによって、それぞれシャドウ８５３〜８５５をアクセスすることで実現される。
【０１１８】
なお、この処理構成では、ゲストＯＳ８０１が活動状態にあり、ゲストＯＳに対応する論理プロセッサが対応付けられた物理プロセッサによる処理が実行されている間は、ＭＭＩＯレジスタを適用したデータ処理が物理プロセッサによって実行され、データ処理によって物理プロセッサによるＭＭＩＯレジスタの読み込み、書き込みが実行されることになる。メインメモリ８０３に格納されたシャドウは、ＭＭＩＯレジスタのコピーとして設定されるものであり、実際のＭＭＩＯレジスタとシャドウ間に差分が発生することは好ましくない。
【０１１９】
従って、ゲストＯＳ８０１が活動状態にある場合、ハイパーバイザーモードで動作する制御ＯＳ８０２は、ＭＭＩＯレジスタ情報の更新に従ったシャドウの更新処理を実行する。シャドウの更新処理によって、メインメモリ８０３に設定されたシャドウは、ＭＭＩＯレジスタの内容と一致した情報に維持されることになる。
【０１２０】
なお、メインメモリに設定するシャドウは、物理プロセッサによる書き換えの発生しない情報のみに限る設定としてもよい。あるいは物理プロセッサによる書き換えの発生しない情報に加え、物理プロセッサによる書き換えの発生する情報であってもハイパーバイザーモードで動作する制御ＯＳ８０２によって、書き換えの発生が検出可能な情報のみに限定する構成としてもよい。このような設定とした場合は、ゲストＯＳは、メインメモリに設定されたシャドウに含まれないＭＭＩＯレジスタ情報については、物理プロセッサを介してＭＭＩＯレジスタを直接アクセスすることが必要となる。
【０１２１】
メモリにＭＭＩＯレジスタのコピー情報としてのシャドウを設定することによる処理時間の削減効果について、図１６を参照して説明する。
【０１２２】
図１６は、縦軸に処理時間を示し、（Ｐ１）〜（Ｐ３）がシャドウなし、（Ｑ１）〜（Ｑ３）がシャドウを用いた場合の処理時間を示している。具体的には、
（Ｐ１）シャドウなし構成におけるＧＯＩを介したＭＭＩＯ書き込み処理
（Ｐ２）シャドウなし構成におけるＧＯＩを介したＭＭＩＯ読み込み処理
（Ｐ３）シャドウなし構成におけるＭＭＩＯ書き込みおよび読み込み処理
（Ｑ１）シャドウあり構成におけるＧＯＩを介したＭＭＩＯ書き込み処理
（Ｑ２）シャドウあり構成におけるＧＯＩを介したＭＭＩＯ読み込み処理
（Ｑ３）シャドウあり構成におけるＭＭＩＯ書き込みおよび読み込み処理
これらの各処理時間を示している。
【０１２３】
「（Ｐ１）シャドウなし構成におけるＧＯＩを介したＭＭＩＯ書き込み処理」においては、ゲストＯＳは、制御ＯＳの提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）の呼び出し処理時間と、ＭＭＩＯレジスタ書き込み処理時間のトータルの時間が処理時間となる。ゲストＯＳプログラミングインタフェース（ＧＯＩ）の呼び出し処理において、ゲストＯＳは制御ＯＳに対してシステムコールを実行する。このシステムコールに基づいて、制御ＯＳは、ゲストＯＳ対応の論理サブプロセッサを特定し、その論理サブプロセッサ対応のゲストＯＳプログラミングインタフェース（ＧＯＩ）をゲストＯＳに対して適用可能に設定する処理を実行する。
【０１２４】
また、「（Ｐ２）シャドウなし構成におけるＧＯＩを介したＭＭＩＯ読み込み処理」においては、ゲストＯＳは、制御ＯＳの提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）の呼び出し処理時間と、ＭＭＩＯレジスタ読み込み処理時間のトータルの時間が処理時間となる。
【０１２５】
また、「（Ｐ３）シャドウなし構成におけるＭＭＩＯ書き込み読み込み処理」は、例えば活動状態と非活動状態の切り替えの際などに実行されるコンテキスト切り替え処理において実行される処理である。この処理においては、ゲストＯＳは、物理プロセッサを割り当てられており、直接ＭＭＩＯレジスタ情報の書き込みおよび読み込み処理を実行することになり、ＭＭＩＯレジスタ読み込み処理とＭＭＩＯレジスタの書き込み処理時間と、メモリに格納されたコンテキストテーブルの読み取りおよび書き込み処理時間のトータルの時間が処理時間となる。なお、前述したように、
物理プロセッサ対応ＭＭＩＯアクセス時間≫メモリアクセス時間
の処理時間の差があり、コンテキストテーブルの読み書きに伴うメモリアクセス時間は、ＭＭＩＯの読み書き処理時間に比較して大幅に短い時間となる。
【０１２６】
（Ｑ１）〜（Ｑ３）は、図１５を参照して説明したシャドウを設定した構成における各処理時間、すなわち（Ｐ１）〜（Ｐ３）と同様の処理を行なった場合の処理時間を示している。
【０１２７】
「（Ｑ１）シャドウあり構成におけるＧＯＩを介したＭＭＩＯ書き込み処理」においては、ゲストＯＳは、制御ＯＳの提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）の呼び出し処理時間と、ＭＭＩＯレジスタ書き込み処理時間、およびメモリアクセスによるシャドウの書き込み処理時間のトータルの時間が処理時間となる。
【０１２８】
また、「（Ｑ２）シャドウあり構成におけるＧＯＩを介したＭＭＩＯ読み込み処理」においては、ゲストＯＳは、制御ＯＳの提供するゲストＯＳプログラミングインタフェース（ＧＯＩ）の呼び出し処理時間と、ＭＭＩＯレジスタ読み込み処理時間、およびメモリアクセスによるシャドウの読み込み処理時間のトータルの時間が処理時間となる。
【０１２９】
また、「（Ｑ３）シャドウあり構成におけるＭＭＩＯ書き込み読み込み処理」は、先に説明した（Ｐ３）の処理と同様、例えば活動状態と非活動状態の切り替えの際などに実行されるコンテキスト切り替え処理において実行される処理である。この処理においては、ＭＭＩＯレジスタのコピー情報がシャドウとしてメインメモリに格納されており、ＭＭＩＯレジスタの読み込みを実行する代わりに、メモリに設定されたシャドウの読み込みを行なう。このメモリアクセス時間と、ＭＭＩＯレジスタの書き込み処理時間のトータルの時間が処理時間となる。
【０１３０】
図に示すようにシャドウなしの処理（Ｐ１）〜（Ｐ３）と、シャドウありの処理（Ｑ１）〜（Ｑ３）の各処理時間を比較すると、
Ｐ１≒Ｑ１
Ｐ２≫Ｑ２
Ｐ３≫Ｑ３
の処理時間の差異があり、これらの処理時間の差異から、シャドウを設定しない構成より、シャドウを設けた構成の方がトータルの処理時間が削減され、効率的なデータ処理が実現されることが分かる。
【０１３１】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１３２】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１３３】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
【０１３４】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１３５】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１３６】
以上、説明したように、本発明の構成によれば、複数の論理プロセッサをタイムシェアリングによって物理プロセッサに対応付けてデータ処理を実行する構成において、制御ＯＳが、ゲストＯＳに対応する論理プロセッサに対して物理プロセッサが割り付けられた活動状態と、論理プロセッサに対して物理プロセッサが割り付けられていない非活動状態のいずれの状態においても、論理プロセッサに対応するＭＭＩＯレジスタのコピー情報であるシャドウをメモリ内に保持する構成としたので、ゲストＯＳは、常にメモリアクセスによってシャドウからＭＭＩＯレジスタのアクセスが可能となり、ＭＭＩＯレジスタに対する直接アクセスに比較して短時間のアクセスが実現され、効率的なデータ処理が可能となる。
【図面の簡単な説明】
【０１３７】
【図１】タイムシェアリングによる論理プロセッサと物理プロセッサとの対応付け処理について説明する図である。
【図２】タイムシェアリングによる論理プロセッサと物理プロセッサとの対応付け処理について説明する図である。
【図３】本発明の情報処理装置の構成例を示す図である。
【図４】プロセッサモジュールの構成例を示す図である。
【図５】本発明の情報処理装置のオペレーションシステム構成を説明する図である。
【図６】論理プロセッサと物理プロセッサとの対応付け処理について説明する図である。
【図７】ゲストＯＳによるＭＭＩＯアクセス処理について説明する図である。
【図８】ゲストＯＳによって参照可能な領域、およびコンテキストテーブルの設定例について説明する図である。
【図９】ゲストＯＳ対応の論理パーティションアドレス空間と、ゲストＯＳによって参照可能な情報について説明する図である。
【図１０】ゲストＯＳと制御ＯＳとにおいて実行する処理について説明する図である。
【図１１】ゲストＯＳの状態遷移と、ＭＭＩＯアクセス処理について説明する図である。
【図１２】ゲストＯＳによるＭＭＩＯアクセス処理について説明する図である。
【図１３】ゲストＯＳによるゲストＯＳプログラミングインタフェース（ＧＯＩ）を介したＭＭＩＯアクセス処理について説明する図である。
【図１４】ゲストＯＳの状態遷移と、ゲストＯＳプログラミングインタフェース（ＧＯＩ）を介したＭＭＩＯアクセス処理について説明する図である。
【図１５】メモリにシャドウを設定した場合のゲストＯＳの状態遷移と、ゲストＯＳプログラミングインタフェース（ＧＯＩ）を介したＭＭＩＯアクセス処理について説明する図である。
【図１６】メモリにシャドウを設定した場合としない場合のＭＭＩＯ適用処理の処理時間の比較について説明する図である。
【符号の説明】
【０１３８】
１０１  プロセッサモジュール
１０２  グラフィックエンジン
１０３  メインメモリ（ＤＲＡＭ）
１０４  ＲＯＭ
１０５  ブリッジ
１０６  コントローラ
１０７  メモリカード
１１１  ホストバス
１１２  外部バス
１１３  インタフェース
１２１  入力部
１２２  出力部
１２３  ＨＤＤ
１２４  ドライブ
１２５  接続ポート
１２６  通信部
１２７  リムーバブル記録媒体
１２８  外部接続機器
２００  プロセッサモジュール
２０１  メインプロセッサグループ
２０２〜２０ｎ  サブプロセッサグループ
３０１  制御ＯＳ
３０２，３０３  ゲストＯＳ
３０４  システム制御ＯＳ
３０５，３０６  ゲストＯＳアプリケーション
３０７  システム制御プログラム
４０１  メインプロセッサ
４１１〜４１４  物理サブプロセッサ
４５１  ゲストＯＳ
４６１〜４６４  物理プロセッサ
４７１〜４７４  ＭＭＩＯ（メモリマップドＩＯ）レジスタ
５０１  ゲストＯＳアクセス不可能リソース
５０２  ゲストＯＳアクセス可能リソース
５１０  物理サブプロセッサ
５２１  レジスタ
５２２  メインプロセッサから直接アクセスできないＩ／Ｏポート
５２３  メインプロセッサから直接アクセスでるＩ／Ｏポート
５２４  ローカルストレージ
５２５  メインメモリ
５３１  コンテキストテーブル
５６０  ゲストＯＳ論理パーティションアドレス空間
５６１  ＭＭＩＯ＋ローカルストレージ領域
５６２  コンテキストテーブル
５７０  物理アドレス空間
６１０  制御ＯＳ
６１１  システムコール処理部
６１２  論理サブプロセッサスケジューリング処理部
６１３  コンテキスト管理部
６１４  メモリ管理部
６２０  ゲストＯＳ
７０１  ゲストＯＳ
７０２  メインメモリ
７０３  物理サブプロセッサ
７５１  ゲストＯＳ
７５２  制御ＯＳ
７５３  物理サブプロセッサ
７５４  テーブルルックバッファ（ＴＬＢ）
７５５  ＭＭＩＯレジスタ
７６１  ゲストＯＳプログラミングインタフェース（ＧＯＩ）
８０１  ゲストＯＳ
８０２  制御ＯＳ
８０３  メインメモリ
８０４  物理サブプロセッサ
８５１〜８５５  シャドウ
【図１】
2006350531.tif 000003
【図２】
2006350531.tif 000004
【図３】
2006350531.tif 000005
【図４】
2006350531.tif 000006
【図５】
2006350531.tif 000007
【図６】
2006350531.tif 000008
【図７】
2006350531.tif 000009
【図８】
2006350531.tif 000010
【図９】
2006350531.tif 000011
【図１０】
2006350531.tif 000012
【図１１】
2006350531.tif 000013
【図１２】
2006350531.tif 000014
【図１３】
2006350531.tif 000015
【図１４】
2006350531.tif 000016
【図１５】
2006350531.tif 000017
【図１６】
2006350531.tif 000018