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