(57)【要約】【課題】メモリの温度を低く保つ情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラムを提供する。【解決手段】積層メモリ２Ｄは、複数層のメモリ層２１Ｄ及び２２Ｄが積層された積層メモリである。ＣＰＵ１は、積層メモリ２Ｄの複数層のメモリ層２１Ｄ及び２２Ｄのうち、最低層のメモリ層が上面に載置されるとともに、積層メモリ２Ｄの複数層のメモリ層２１Ｄ及び２２Ｄのうち、最上層のメモリ層２１Ｄに記憶された所定のプログラムを実行する。【選択図】図７
2014194671.tif 000002
【特許請求の範囲】
【請求項１】
複数層の記憶部が積層された記憶装置と、
前記複数層の記憶部のうち、最低層の記憶部が上面に載置されるとともに、前記複数層の記憶部のうち、最上層の記憶部に記憶された所定のプログラムを実行する演算処理装置とを有することを特徴とする情報処理装置。
【請求項２】
前記所定のプログラムは、
前記演算処理装置が起動後、常時実行するプログラムであることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記所定のプログラムは、基本ソフトウェアであることを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記演算処理装置は、
前記情報処理装置の起動時に、前記所定のプログラムを前記複数層の記憶部のうち、最上層の記憶部に記憶させる割当部を有することを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記演算処理装置は、
前記所定のプログラムを実行する演算処理部を含む、演算をそれぞれ実行する演算処理部を複数有することを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記情報処理装置はさらに、
前記演算処理装置の上面に載置された記憶装置を複数有し、
前記所定のプログラムは、
前記複数の記憶装置のうち、前記所定のプログラムを実行する演算処理部に最も近い記憶装置の最上層の記憶部に記憶されることを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記演算処理装置はさらに、
前記記憶装置が有する複数層の記憶部のうち、前記最上層の記憶部以外の記憶部への電源を制御する電源制御部を有することを特徴とする請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
複数層の記憶部が積層された記憶装置と、前記複数層の記憶部のうち、最低層の記憶部が上面に載置された演算処理装置とを有する情報処理装置の制御方法において、
前記演算処理装置が、
前記複数層の記憶部のうち、最上層の記憶部に所定のプログラムを記憶し、
前記所定のプログラムを実行することを特徴とする情報処理装置の制御方法。
【請求項９】
複数層の記憶部が積層された記憶装置と、前記複数層の記憶部のうち、最低層の記憶部が上面に載置された演算処理装置とを有する情報処理装置の制御プログラムにおいて、
前記演算処理装置に、
前記複数層の記憶部のうち、最上層の記憶部に所定のプログラムを記憶させ、
前記所定のプログラムを実行させることを特徴とする情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラムに関する。
【背景技術】
【０００２】
近年、情報処理装置に搭載されるCentral  Processing  Unit（ＣＰＵ）において、ＣＰＵ単体の高速化が限界に至りつつあるため、ＣＰＵ内で計算を独立して実行する演算処理部としてのプロセッサコア（以下、「コア」という）を複数持ち、各コアが並列に計算を実行することが行われている。そして、１つのＣＰＵに含まれるコアの数は増加の一途をたどっており、現在は１つのＣＰＵの中に含まれるコアの数は数個から数十個にまで及んでいる。
【０００３】
さらに、情報処理装置を動作させるためには、情報処理装置を管理するための基本ソフトウェアであるオペレーティングシステム（ＯＳ：Operating  System）が用いられる。ＣＰＵが複数のコアを含む場合、ＯＳの動作には少なくともコア及び記憶装置としてのメモリといった情報処理装置が有する資源が使用される。ここで、ＯＳは、情報処理装置の起動処理後、常時動作するプログラムである。そして、コア及びメモリは、情報処理装置がアプリケーションの処理を実行する場合にも用いられる。
【０００４】
このように、ＯＳやアプリケーションが動作する場合、メモリが使用される。メモリは、データの保持、書き換え、読み出しを行うことにより電力を消費する。電力を消費すればメモリの温度は上昇し、温度が高くなればメモリが劣化する。そして、メモリが劣化すれば、メモリの故障が発生し易くなる。メモリが故障した場合、システム全体に亘る障害が発生するおそれがある。
【０００５】
そこで、メモリの発熱を抑える技術として、メモリに温度センサを取りつけ、メモリが動作していないときの温度と動作している現在の温度とを比較して、最も温度上昇の少ないメモリから利用する従来技術がある。また、メモリが使用する電力を削減する方法として、プログラムがメモリを使用するまでメモリの電源をオフにし、プログラムが利用するバンクが含まれるメモリだけ電源をプログラムの動作時にオンにする従来技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−９５９７４号公報
【特許文献２】特開平０９−２１２４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年、High  Performance  Computing（ＨＰＣ）の分野では、ＣＰＵとメモリとの間の通信帯域を拡大するために、ＣＰＵが搭載されているＬＳＩ（Large  Scale  Integration）上に直接メモリを載置する方式が採用され始めている。これは、例えば、ＣＰＵなどのロジック層を形成する半導体の上に、メモリ層を形成する半導体が積層された積層メモリが搭載されている。このような積層メモリが搭載されたＣＰＵは、Hybrid  Memory  Cube（ＨＭＣ）方式と呼ばれる場合がある。このような積層メモリが搭載されたＣＰＵにおいては、メモリが積層されているため、メモリは発熱し易く高温になるおそれが高い。
【０００８】
しかしながら、温度上昇が少ないメモリから利用していく従来技術では、計測したタイミングでは偶然に温度上昇が少なかったが実際には発熱し易いメモリに、メモリを長時間使用するプログラムが割り当てられてしまうおそれがある。この場合、メモリの温度が高温になってしまうことを回避することは困難である。
【０００９】
また、プログラムがメモリを使用するまでメモリの電源をオフにする従来技術では、ＯＳなどの動作を考慮せずに、単純に使用していないメモリの電源をオフにしている。この点、ＨＰＣなどでは、ＣＰＵの状態を常に監視しておき、障害が発生したＣＰＵにはジョブを割り当てないなどのシステム管理を行っている。すなわち、ＣＰＵではＯＳの配下で常に監視用のプログラムが動作し続けることになり、ＯＳの動作を考慮せずに単にメモリの電源をオフにすることは困難である。そのため、メモリの温度が高温になってしまうことを回避することは困難である。
【００１０】
開示の技術は、上記に鑑みてなされたものであって、メモリの温度を低く保つ情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示する情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラムは、一つの態様において、記憶装置は、複数層の記憶部が積層される。演算処理装置は、前記複数層の記憶部のうち、最低層の記憶部が上面に載置されるとともに、前記複数層の記憶部のうち、最上層の記憶部に記憶された所定のプログラムを実行する。
【発明の効果】
【００１２】
本願の開示する情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラムの一つの態様によれば、メモリの温度を低く保つことができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、情報処理装置としてのコンピュータのハードウェア構成の一例の図である。
【図２】図２は、実施例１に係る積層メモリが搭載されたＣＰＵを示す斜視図である。
【図３】図３は、メモリマップの概略図である。
【図４Ａ】図４Ａは、実施例２に係る積層メモリが搭載されたＣＰＵのコアを説明するための平面図である。
【図４Ｂ】図４Ｂは、実施例２に係る積層メモリが搭載された状態のＣＰＵの平面図である。
【図５】図５は、実施例２における物理アドレスとメモリマップ上の論理アドレスとの関係を表す図である。
【図６】図６は、実施例２に係るＣＰＵのブロック図である。
【図７】図７は、ＣＰＵに積層メモリが搭載された状態の正面図である。
【図８】図８は、実施例２に係るＣＰＵによるメモリの割り当てのフローチャートである。
【図９】図９は、実施例２に係るコンピュータによるＯＳの起動のフローチャートである。
【図１０】図１０は、実施例３における物理アドレスとメモリマップ上の論理アドレスとの関係を表す図である。
【図１１】図１１は、実施例３に係るＣＰＵのブロック図である。
【図１２Ａ】図１２Ａは、実施例４に係る情報処理装置におけるＯＳ用コアが１つの場合のＯＳ用コアの位置を示す一例の図である。
【図１２Ｂ】図１２Ｂは、図１２Ａに対応するＯＳ用メモリを示す図である。
【図１３Ａ】図１３Ａは、ＯＳ用コアが２つの場合のＯＳ用コアの位置を示す一例の図である。
【図１３Ｂ】図１３Ｂは、図１３Ａに対応するＯＳ用メモリを示す図である。
【図１４Ａ】図１４Ａは、ＯＳ用コアが２つの場合のＯＳ用コアの位置を示す他の例の図である。
【図１４Ｂ】図１４Ｂは、図１４Ａに対応するＯＳ用メモリを示す図である。
【図１５】図１５は、実施例５に係るＣＰＵのブロック図である。
【図１６】図１６は、実施例５に係るコンピュータによるＯＳの起動及びメモリ電源制御のフローチャートである。
【図１７】図１７は、実施例６に係るＣＰＵの平面図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラムが限定されるものではない。
【実施例１】
【００１５】
図１は、情報処理装置としてのコンピュータのハードウェア構成の一例の図である。コンピュータ１００は、例えば、演算処理装置としてのＣＰＵ（Central  Processing  Unit）１、記憶装置としての積層メモリ２、ハードディスク３及び電源回路４を有している。ＣＰＵ１、積層メモリ２及びハードディスク３は、伝送路としてのバスで接続されている。また、電源回路４からＣＰＵ１、積層メモリ２及びハードディスク３へ延びる一点鎖線は電力の供給線を表している。
【００１６】
そして、実施例１に係るコンピュータ１００における積層メモリ２は、複数のメモリ層が重ねられて形成されている積層型のメモリである。積層メモリ２は、ＣＰＵ１の上に搭載されている。図１では、破線により囲われたＣＰＵ１及び積層メモリ２の組が、積層メモリ２と積層メモリ２が搭載されたＣＰＵ１とを含む情報処理装置の最小限の構成を表している。そして、図１では、積層メモリ２が搭載されたＣＰＵ１を１つだけ記載しているが、コンピュータ１００は、積層メモリ２が搭載されたＣＰＵ１を複数有してもよい。
【００１７】
図２は、実施例１に係る積層メモリが搭載されたＣＰＵを示す斜視図である。図２に示すように、ＣＰＵ１は、１つのコア１０を有している。そして、積層メモリ２は、コア１０から積層メモリ２の積層方向に向かう方向の最上層に、メモリ層２１を有している。以下では、ＣＰＵ１から積層メモリ２の積層方向に向かう方向の最上層のメモリ層を「最外層メモリ」という。すなわち、メモリ層２１は、最外層メモリである。さらに、積層メモリ２は、メモリ層２１とコア１０との間の複数のメモリ層からなるメモリ層２２を有する。
【００１８】
メモリ層２１は、ＣＰＵ１に直接接しない最外層メモリであり、外気に接する面積がメモリ層２２に含まれるメモリ層よりも大きいため、メモリ層２２に含まれる各メモリ層よりも冷却効率がよい。
【００１９】
ここで、コンピュータ１００で動作するＯＳは、操作者によるコンピュータ１００の利用の有無、すなわち、操作者が指定したアプリケーションが実行しているか否かに関らず常に動作している。このため、ＯＳが使用するメモリは、ＯＳの動作に応じて発熱し続けることになる。そこで、ＯＳが使用するメモリとして最も冷却効率が高いメモリ層を割り当てることが、メモリの冷却にとって好ましい。この、ＯＳが、「所定のプログラム」の一例にあたる。
【００２０】
実施例１に係るＣＰＵ１は、ＯＳが使用するメモリとして最外層メモリであるメモリ層２１を割り当てる。以下に、ＣＰＵ１によるメモリ割り当ての具体的な方法を示す。実施例１では、積層メモリ２の物理メモリのアドレスが、ＣＰＵ１側から積層方向に向かってアドレス番号が増えるように割り振られている場合を用いて説明する。
【００２１】
ＣＰＵ１は、図３に示すようなメモリマップ５を用いてメモリアクセスを行う。図３は、メモリマップの概略図である。メモリマップ５は、下側から上側に向かう昇順でアドレスが振られた論理アドレスを表す。そして、メモリマップ５は、図２に示した積層メモリ２の物理アドレスに直接対応する。すなわち、メモリマップ５は、図２に示した積層メモリ２に割り当てられている物理アドレスのＣＰＵ１側から積層方向へ向かう順序と同じ順序で下から上に向かうように表す論理アドレスを有する。
【００２２】
ＣＰＵ１は、メモリマップ５におけるアドレス範囲５１をＯＳが使用するＯＳ用メモリ領域（システム領域）のメモリプールとして記憶する。また、ＣＰＵ１は、メモリマップ５におけるアドレス範囲５２を、シミュレーションなどのアプリケーションが使用する計算用メモリ領域（ユーザ用メモリ領域）のメモリプールとして記憶する。ここで、実施例１では、アドレス範囲５１とアドレス範囲５２との境界は固定である。アドレス範囲５１は、メモリマップ５の最も大きいアドレスを含む領域であり、図１に示した積層メモリ２におけるメモリ層２１の物理アドレスに対応する。ここで、実施例１では、一例として、最外層メモリであるメモリ層２１のみをＯＳ用メモリ領域のメモリプールとしているが、ＯＳ用メモリ領域のメモリプールの量はこれに限らない。例えば、ＯＳが使用するメモリ量に応じて、最外層メモリであるメモリ層２１からＣＰＵ１側へ向かう所定範囲のメモリ層をＯＳ用メモリ領域のメモリプールとして使用してもよい。
【００２３】
ＣＰＵ１は、ＯＳを起動させる際に、起動するＯＳからのメモリの確保要求を受けると、メモリマップ５を参照し、ＯＳ用メモリ領域のメモリプールであるアドレス範囲５１に該当するメモリを割り当てる。アドレス範囲５１のアドレスは、積層メモリ２の最外層メモリであるメモリ層２１の物理アドレスに対応するので、ＣＰＵ１は、ＯＳ用メモリ領域としてメモリ層２１内のメモリを割り当てることになる。
【００２４】
その後、ＣＰＵ１は、ＯＳ用メモリ領域として割り当てたメモリ層２１内のメモリ領域を使用してＯＳを動作させる。
【００２５】
また、ＣＰＵ１は、シミュレーションなどのアプリケーションを実行する場合、図３に示すメモリマップ５の中の計算用メモリのメモリプールであるアドレス範囲５２の中から使用するメモリ領域のアドレスを割り当てる。アドレス範囲５１のアドレスは、積層メモリ２のメモリ層２２の物理アドレスに対応するので、ＣＰＵ１は、計算用メモリとしてメモリ層２２内のメモリ領域を割り当てることになる。そして、ＣＰＵ１は、計算用メモリとして割り当てたメモリ層２２内のメモリ領域を使用してアプリケーションを動作させる。
【００２６】
以上に説明したように、実施例１に係る情報処理装置は、ＯＳ用メモリとして、最外層メモリ内のメモリ領域を割り当てる。これにより、ＣＰＵは、最外層メモリ内のメモリ領域を使用してＯＳを動作させる。すなわち、ＯＳの動作に用いられるメモリは、積層メモリの中で冷却効率の高いメモリが用いられることになる。ＯＳのメモリとして常時使用され発熱が継続するメモリとして冷却効率の高いメモリが使用され、他のメモリはアプリケーションが実行されるときのみに使用される。そのため、メモリ全体の冷却効率を向上させることができ、メモリの温度を低く保つことができるので、メモリの寿命を向上させることができる。
【実施例２】
【００２７】
図４Ａは、実施例２に係る積層メモリが搭載されたＣＰＵのコアを説明するための平面図である。図４Ｂは、実施例２に係る積層メモリが搭載された状態のＣＰＵの平面図である。
【００２８】
図４Ａに示すように、本実施例に係るＣＰＵ１は、斜線で表されるコア１１及びコア１１以外のコア１２の複数のコアを有するマルチコアのＣＰＵである。
【００２９】
ここで、あるコアがアプリケーションの処理の計算を実行する場合、そのコアに対してＯＳの処理が割り込みで委ねられると、ＣＰＵ１は、割り込み処理により全体の計算速度を上げることが困難となる。そこで、近年、多数のコアを有するＣＰＵでは、ＯＳを動作させるコアを固定することが行われている。ＯＳを動作させるコアを固定することで、アプリケーションの処理の計算を実行しているコアに、ＯＳの処理が割り込みにより委ねられることがなくなり、ＣＰＵ１は、より高速で計算を行うことができる。このように、少数のコアをＯＳ専用に割り当てても、アプリケーションの処理の計算速度が向上するので、情報処理装置におけるトータルとしての計算速度は向上する。
【００３０】
そこで、本実施例では、ＣＰＵ１は、自己が有するコアの中からコア１１を、ＯＳを実行するＯＳ用コアとして使用する。また、ＣＰＵ１は、自己が有するコアの中からコア１１以外のコアであるコア１２を、アプリケーションを実行する計算用コアとして使用する。
【００３１】
また、図４Ｂに示すように、ＣＰＵ１の上に４つの積層メモリ２Ａ〜２Ｄが搭載されている。
【００３２】
図５は、実施例２における物理アドレスとメモリマップ上の論理アドレスとの関係を表す図である。図５では、ＣＰＵ１上に積層されている状態で積層メモリ２Ａ〜２Ｄを示す。そして、各積層メモリ２Ａ〜２Ｄの各メモリ層の左隣に書かれたアドレスがその層のメモリの物理アドレスを表す。以下では、ＣＰＵ１側を積層メモリ２Ａ〜２Ｄの「下側」とし、ＣＰＵ１とは反対側を積層メモリ２Ａ〜２Ｄの「上側」として説明する。
【００３３】
本実施例では、積層メモリ２Ａの最も下側の層のメモリからアドレスを開始し、次に、積層メモリ２Ｂの最も下側の層のメモリにアドレスが連続し、さらに積層メモリ２Ｃ，２Ｄの順に最も下側のメモリにアドレスが連続するようにアドレスが振られている。その後、１段ずつ上のメモリ層に移動しながら、積層メモリ２Ａ，２Ｂ，２Ｃ，２Ｄの順番で同じ層のメモリにアドレスが順番に振られている。そして、積層メモリ２Ｄの最も上側のメモリ層のメモリに最後のアドレスが振られている。
【００３４】
そして、本実施例では、ＣＰＵ１は、図５に示すメモリマップ５を用いてメモリアクセスを行う。メモリマップ５は、下から上に向かって論理アドレスが順に振られている。すなわち、メモリマップ５の一番下が一番小さいアドレスで、一番上が一番大きいアドレスとなる。そして、この論理アドレスは、積層メモリ２Ａ〜２Ｄの物理アドレスと同じアドレスを使用する。
【００３５】
このように、積層メモリ２Ａ〜２Ｄに物理アドレスを振り、メモリマップ５に論理アドレスを記載した場合、例えばメモリマップ５の上側から例えば１ＧＢ分の論理アドレス５０４は、積層メモリ２Ｄの一番上のメモリ層のメモリ２０４の物理アドレスに対応する。また、例えばメモリマップ５の論理アドレス５０４に続く例えば１ＧＢ分の論理アドレス５０３は、積層メモリ２Ｃの一番上のメモリ層のメモリ２０３の物理アドレスに対応する。そして、例えばメモリマップ５の下側から例えば１ＧＢ分の論理アドレス５０１は、積層メモリ２Ａの一番下のメモリ層のメモリ２０１の物理アドレスに対応する。また、例えばメモリマップ５の論理アドレス５０１に続く例えば１ＧＢ分の論理アドレス５０２は、積層メモリ２Ｂの一番下のメモリ層のメモリ２０２の物理アドレスに対応する。
【００３６】
ここで、本実施例では、メモリマップ５の中の積層メモリ２Ｄのアドレスが最も大きい例えば１ＧＢのアドレス範囲である論理アドレス範囲５０４をＯＳ用メモリのメモリプールとして使用する。論理アドレス範囲５０４は積層メモリ２Ｄのメモリ２０４の物理アドレスに対応するので、ＯＳ用メモリはメモリ２０４の中から割り当てられることになる。
【００３７】
図６は、実施例２に係るＣＰＵのブロック図である。ＣＰＵ１は、図６に示すように、ＯＳ実行部１０１及びジョブ実行部１０２を有する。そして、ＯＳ実行部１０１は、メモリ割当部１０３及びコア割付部１０４を有する。
【００３８】
ＯＳ実行部１０１は、コンピュータ１００に電源が投入されると、ＢＩＯＳ（Basic Input/Output System）を起動する。そして、ＯＳ実行部１０１は、起動したＢＩＯＳにより積層メモリ２やハードディスク３などの診断を行う。
【００３９】
次に、ＯＳ実行部１０１は、ＢＩＯＳにより、ブートローダを積層メモリ２の予め決められた固定領域にロードする。そして、ＯＳ実行部１０１は、ブートローダを起動する。ブートローダには、ＯＳに含まれるカーネルイメージをロードするための、ＯＳ用メモリ領域の論理アドレスによる開始アドレスの情報を有する。本実施例では、ブートローダには、メモリマップ５における論理アドレス５０４の中の所定のアドレス範囲の情報を有する。
【００４０】
次に、ＯＳ実行部１０１は、ブートローダに記載されている論理アドレスに対応するＯＳ用メモリ上のメモリにＯＳのカーネルイメージをロードする。本実施例では、カーネルイメージは、積層メモリ２Ｄのメモリ２０４にロードされる。そして、ＯＳ実行部１０１は、メモリ２０４上にロードしたカーネルを実行する。
【００４１】
次に、ＯＳ実行部１０１は、カーネルによりＯＳの起動を開始する。ＯＳ実行部１０１は、ＯＳ用コアであるコア１１の識別情報をコア割付部１０４から取得する。その後、コア割付部１０４から取得した識別情報に対応するコア１１により、ＯＳ実行部１０１の機能が実行される。
【００４２】
さらに、ＯＳ実行部１０１は、メモリ割当部１０３からＯＳに割り当てるメモリ領域の論理アドレスを取得する。本実施例では、ＯＳ実行部１０１は、メモリマップ５における論理アドレス５０４の中のアドレスを取得する。
【００４３】
そして、ＯＳ実行部１０１は、取得した論理アドレスに対応するアドレスの物理アドレスを有するメモリを使用してＯＳを起動する。その後、ＯＳ実行部１０１は、ＯＳの処理でメモリが必要な場合、メモリ割当部１０３から使用するメモリの論理アドレスを取得し、取得した論理アドレスに対応する物理アドレスに対応するメモリを用いて処理を行う。本実施例では、ＯＳ実行部１０１は、積層メモリ２Ｄのメモリ２０４を用いてＯＳの起動及び各種ＯＳの処理が実行する。すなわち、ＯＳ実行部１０１は、最も冷却効率の高い積層メモリ２Ｄの最外層メモリを用いてＯＳの処理を行うことができる。
【００４４】
ＯＳ実行部１０１は、操作者などからジョブの投入を受けて、ＯＳを実行させているコア１１以外のコア１２でジョブ実行部１０２に投入されたジョブを実行させる。この時、ＯＳ実行部１０１は、ジョブ実行部１０２が使用するメモリの論理アドレスをメモリ割当部１０３から取得し、ジョブ実行部１０２に通知する。ここで、ＯＳ実行部１０１は、ジョブ実行部１０２が使用するメモリ領域の論理アドレスとして、メモリマップ５の論理アドレス５０３より小さい論理アドレスを取得する。
【００４５】
コア割付部１０４は、ＯＳ用コアとしてコア１１の識別情報を保持する。コア割付部１０４は、ＯＳの起動が開始されると、ＯＳの実行に使用するＯＳ用コアの情報の通知の要求をＯＳ実行部１０１から受ける。そして、コア割付部１０４は、コア１１の識別情報をＯＳ実行部１０１へ通知する。
【００４６】
メモリ割当部１０３は、メモリマップ５を有する。さらに、メモリ割当部１０３は、メモリマップ５の中で、論理アドレス５０４がＯＳ用メモリのメモリプールであることを記憶する。そして、ＯＳの起動が開始されると、メモリ割当部１０３は、ＯＳの起動に使用するメモリ領域の割当要求をＯＳ実行部１０１から受ける。そして、メモリ割当部１０３は、論理アドレス５０４のうちの使用可能なメモリ領域の中からＯＳの起動に用いる論理アドレスを決定する。次に、メモリ割当部１０３は、決定した論理アドレスをＯＳ実行部１０１に通知する。さらに、メモリ割当部１０３は、ＯＳの処理の実行でメモリを使用する場合、ＯＳの処理の実行において使用するメモリ領域の割当要求をＯＳ実行部１０１から受ける。そして、メモリ割当部１０３は、論理アドレス５０４のうちの使用可能なメモリ領域の中からＯＳの起動に用いる論理アドレスを決定する。次に、メモリ割当部１０３は、決定した論理アドレスをＯＳ実行部１０１に通知する。メモリ割当部１０３は、使用する論理アドレスをＯＳ実行部１０１に通知する都度、通知した論理アドレスを記憶しておく。
【００４７】
さらに、メモリ割当部１０３は、ジョブが投入されると、ジョブ用メモリの割当要求をＯＳ実行部１０１から受ける。そして、メモリ割当部１０３は、ＯＳ用メモリのメモリプールである論理アドレス５０４以外のメモリからジョブの実行に用いるメモリの論理アドレスを決定する。言い換えれば、メモリ割当部１０３は、メモリマップ５における論理アドレス５０３より小さいアドレスの中からジョブの実行に用いるメモリの論理アドレスを決定する。次に、メモリ割当部１０３は、決定した論理アドレスをＯＳ実行部１０１に通知する。
【００４８】
ジョブ実行部１０２は、ジョブが投入されると、ジョブ実行の指示を使用するメモリの論理アドレスとともにＯＳ実行部１０１から受ける。ここで、ジョブ実行部１０２がＯＳ実行部１０１から通知される論理アドレスは、メモリマップ５における論理アドレス５０３以下の論理アドレスである。そして、ジョブ実行部１０２は、通知された論理アドレスに対応する物理アドレスに対応するメモリを用いて、ＯＳ実行部１０１に指定されたジョブを実行する。すなわち、ジョブ実行部１０２は、ジョブの実行には積層メモリ２Ｄにおけるメモリ２０４以外のメモリを用いることになる。
【００４９】
ここで、図７を参照して、本実施２に係る情報処理装置における物理メモリの割当て状態を説明する。図７は、ＣＰＵに積層メモリが搭載された状態の正面図である。
【００５０】
メモリ割当部１０３は、ＯＳ起動時及びＯＳの処理実行時のＯＳ実行部１０１からのメモリの割当要求を受けると、図５におけるメモリマップ５の論理アドレス５０４の中から使用する論理アドレスを決定する。そして、ＯＳ実行部１０１は、メモリ割当部１０３が決定した論理アドレスを取得する。この場合、ＯＳ実行部１０１は、メモリマップ５の論理アドレス５０４の中の論理アドレスを取得することになる。
【００５１】
そして、ＯＳ実行部１０１は、取得した論理アドレスに対応する物理アドレスを有するメモリを用いて、ＯＳの起動やその他の処理を実行する。ここで、メモリマップ５の論理アドレス５０４の中の論理アドレスに対応する物理アドレスを有するメモリ領域は、図５に示すように積層メモリ２Ｄのメモリ２０４の中のメモリ領域である。メモリ２０４は、積層メモリ２Ｄの最外層メモリにあたる。すなわち、ＯＳ実行部１０１は、図７における積層メモリ２Ｄの最外層メモリであるメモリ層２１Ｄを使用してＯＳの起動やその他処理を行う。つまり、ＯＳの動作には、最外層メモリであるメモリ層２１Ｄが用いられる。
【００５２】
また、メモリ割当部１０３は、ジョブ実行時にＯＳ実行部１０１からのメモリ割当要求を受けると、図５におけるメモリマップ５の論理アドレス５０４以外、すなわち、論理アドレス５０１〜５０３の中から使用する論理アドレスを決定する。そして、ＯＳ実行部１０１は、メモリ割当部１０３が決定した論理アドレスを取得する。この場合、ＯＳ実行部１０１は、メモリマップ５の論理アドレス５０１〜５０３の中の論理アドレスを取得することになる。
【００５３】
そして、ＯＳ実行部１０１は、取得した論理アドレスに対応する物理アドレスを有するメモリを用いて、ジョブ実行やその他の処理を実行する。ここで、メモリマップ５の論理アドレス５０１〜５０３の中の論理アドレスに対応する物理アドレスを有するメモリ領域は、図５に示すように積層メモリ２Ｄのメモリ２０４以外のメモリ領域及び積層メモリ２Ａ〜２Ｃの中のメモリ領域である。すなわち、ＯＳ実行部１０１は、図７における積層メモリ２Ｄのメモリ層２２Ｄ及び積層メモリ２Ａ〜２Ｃを使用してジョブ実行やその他処理を行う。つまり、ジョブ実行などのＯＳの動作以外の動作には、最外層メモリのメモリ層２１Ｄ以外のメモリ層が用いられる。
【００５４】
このように、常時動作するＯＳの動作に用いられることで発熱量が多くなるＯＳ用メモリとして、冷却効率のよい最外層メモリのメモリ層２１Ｄが割り当てられる。また、ジョブの実行に用いられる計算用メモリとして、最外層メモリ以外のメモリ層が割り当てられる。これにより、ＯＳの動作による発熱を効率よく冷却でき、積層メモリ２全体の発熱を効率よく抑えることができる。
【００５５】
次に、図８を参照して、実施例２に係るＣＰＵ１によるメモリの割当について説明する。図８は、実施例２に係るＣＰＵによるメモリの割り当てのフローチャートである。ここでは、ＯＳとしてＬｉｎｕｘ（登録商標）を使用する場合で説明する。
【００５６】
先ず、操作者により、ＣＰＵ１は、コンピュータ１００の電源が投入されたことを検知する（ステップＳ１）。
【００５７】
電源が投入されると、ＣＰＵ１は、ＢＩＯＳ（Basic  Input  Output  System）を起動する（ステップＳ２）。ＣＰＵ１は、ＢＩＯＳにより、積層メモリ２及びハードディスク３などの診断テストを行う。
【００５８】
そして、ＣＰＵ１は、ＢＩＯＳにより、ブートローダを積層メモリ２の所定位置にロードする（ステップＳ３）。
【００５９】
そして、ＣＰＵ１は、ブートローダにより、カーネルイメージをＯＳ用メモリである積層メモリ２Ｄの最外層メモリであるメモリ２０４にロードする（ステップＳ４）。
【００６０】
そして、ＣＰＵ１は、ロードされたカーネルにより、ＯＳ用メモリである積層メモリ２Ｄの最外層メモリであるメモリ２０４を用いて各種デーモンを起動することで、ＯＳを起動する（ステップＳ５）。
【００６１】
その後、ＣＰＵ１は、ＯＳにより、ｔａｓｋｓｅｔコマンドを用いて、デーモンをＯＳ用コアであるコア１１に割り付ける（ステップＳ６）。ここで、ｔａｓｋｓｅｔコマンドは、例えば、ｒｃスクリプトの中に記載されており、ｒｃスクリプトが実行されている中でｔａｓｋｓｅｔコマンドを用いたコアの割り当てが行われる。ｒｃスクリプトは、ネットワークの設定やメモリの割り当ての設定などのコンピュータの一連の基本設定を起動時に順次行うプログラムである。
【００６２】
そして、ＣＰＵ１は、ジョブ投入待ちの状態で待機する（ステップＳ７）。
【００６３】
次に、ＣＰＵ１は、操作者からのジョブの投入要求を受け付け、ＣＰＵ１は、操作者から指定されたジョブを計算用コアへ投入する（ステップＳ８）。
【００６４】
そして、ＣＰＵ１の計算用コアは、投入されたジョブを実行する（ステップＳ９）。
【００６５】
その後、ＣＰＵ１は、操作者によりコンピュータ１００の電源がオフにされたか否かを判定する(ステップＳ１０)。電源がオフにされない場合（ステップＳ１０：否定）、ＣＰＵ１は、ステップＳ７に戻り、ジョブの投入まで待機する。
【００６６】
これに対して、電源がオフにされた場合（ステップＳ１０：肯定）、ＣＰＵ１は、ＯＳをシャットダウンして、コンピュータ１００を停止させる。
【００６７】
次に、図９を参照して、ＯＳの起動について説明する。図９は、実施例２に係るコンピュータによるＯＳの起動のフローチャートである。図９のフローチャートは、図８のステップＳ５における処理の一例を示す。図９のフローにおける各処理は、実際にはＣＰＵ１及びメモリがＯＳの起動時の各種プログラムを動作させることで実現されるが、以下の説明では、ＣＰＵ１により実行されるＯＳの起動時の各種プログラムを動作主体として説明する。
【００６８】
先ず、カーネルは、ｉｎｉｔを起動する（ステップＳ１０１）。カーネルには、ｉｎｉｔ起動時の設定としてＯＳ用メモリであるメモリ２０４内のアドレスが予め指定されている。ここで、メモリマップ５において論理アドレスは物理アドレスの並び順に対応するので、カーネルに対するアドレスの指定は、論理アドレス又は物理アドレスのいずれを用いてもよい。カーネルは、メモリ２０４内の予め指定されているアドレスに対応するメモリを用いてｉｎｉｔの起動を行う。
【００６９】
そして、ｉｎｉｔは、ｒｃスクリプトを起動する（ステップＳ１０２）。
【００７０】
そして、ｒｃスクリプトには、メモリ管理デーモンを起動する際に使用するＯＳ用メモリであるメモリ２０４内のアドレスが予め指定されている。そこで、ｒｃスクリプトは、メモリ２０４内の予め指定されているアドレスに対応するメモリを用いてメモリ管理デーモンを起動する（ステップＳ１０３）。
【００７１】
さらに、ｒｃスクリプトは、ネットワーク管理やシステム管理といった、メモリ管理デーモン以外のデーモンの起動を開始する。この場合、メモリ管理デーモンは、メモリマップ５においてＯＳ用メモリのメモリプールである論理アドレス５０４の中から各デーモンの起動に用いるメモリの論理アドレスを取得する。そして、メモリ管理デーモンは、取得した論理アドレスに対応する物理アドレスを有するメモリ２０４内のメモリを、各デーモンの起動に使用させる（ステップＳ１０４）。
【００７２】
ここで、本実施例では、ＯＳ用メモリとして、図５における積層メモリ２Ｄの最外層メモリであるメモリ２０４を使用する場合で説明したが、ＯＳが例えば１ＧＢ以上のメモリを使用するのであれば、積層メモリ２Ａ〜２Ｃの最外層メモリも使用してもよい。
【００７３】
例えば、図５におけるメモリマップ５は、論理アドレス５０４の下に積層メモリ２Ｃの最外層のメモリの物理アドレスに対応する論理アドレス５０３が記載されている。さらに、メモリマップ５は、論理アドレス５０３の下に積層メモリ２Ｂの最外層のメモリの物理アドレスに対応する論理アドレス５０２が記載され、その下に積層メモリ２Ａの最外層のメモリの物理アドレスに対応する論理アドレス５０１が記載されている。そこで、例えば、ＣＰＵ１は、メモリマップ５の上部の例えば４ＧＢをＯＳ用メモリとすることで、積層メモリ２Ａ〜２Ｄの最外層のメモリをＯＳ用メモリとして割り当てることができる。
【００７４】
以上に説明したように、本実施例に係る情報処理装置は、ＯＳ用メモリとして積層メモリの最外層メモリを使用する。また、本実施例に係る情報処理装置は、ジョブの実行に用いる計算用メモリとしてＯＳ用メモリとして用いられるメモリ以外のメモリを使用する。これにより、本実施例に係る情報処理装置は、恒常的に発熱するＯＳ用メモリとして、積層メモリにおいて他の層のメモリよりも冷却効率の良い最外層メモリが割り当てられることができ、メモリの温度を低く保つことができる。さらに、本実施例に係る情報処理装置は、メモリの温度を低く保つことで、メモリの故障率を抑えることができ、且つメモリの寿命を向上させることができる。
【実施例３】
【００７５】
次に、実施例３について説明する。本実施例では、Memory  Management  Unit（ＭＭＵ）を用いて論理アドレスを物理アドレスに変換することが実施例１と異なる。以下では、同じ機能を有する各部については説明を省略する。
【００７６】
図１０は、実施例３における物理アドレスとメモリマップ上の論理アドレスとの関係を表す図である。図１０では、図５と同様にＣＰＵ１上に積層されている状態で積層メモリ２Ａ〜２Ｄを示す。そして、各積層メモリ２Ａ〜２Ｄの各メモリ層の左隣に書かれたアドレスがその層のメモリの物理アドレスを表す。以下では、ＣＰＵ１側を積層メモリ２の「下側」とし、ＣＰＵ１とは反対側を積層メモ２リの「上側」として説明する。
【００７７】
本実施例では、積層メモリ２Ａ〜２Ｄのそれぞれ毎に連番の物理アドレスが振られており、さらに積層メモリ２Ａ〜２Ｄの物理アドレスはそれぞれ連続する。例えば、積層メモリ２Ａの最下部に最も小さいアドレスが振られ、最上部に向けてアドレスが増えていく。そして、積層メモリ２Ｂの最下部のアドレスが、積層メモリ２Ａの最上部のアドレスの次のアドレスである。
【００７８】
ここで、図１０のように積層メモリ２Ａ〜２Ｄに物理アドレスを振り、且つ実施例２と同様の下から上に向かって論理アドレスが順次大きくなるメモリマップ５を使用する場合を考える。この場合、積層メモリ２Ａ〜２Ｄの最外層メモリに割り当てられている物理アドレスがメモリマップ５の上部に並ばなくなってしまう。このため、ＣＰＵ１がメモリマップ５の例えば上位数ＧＢをＯＳ用メモリのメモリプールとして認識する場合、ＣＰＵ１は、積層メモリ２Ａ〜２Ｄの最外層メモリ以外のメモリ層をＯＳ用メモリとして用いてしまう。これでは、発熱量の多いＯＳ用メモリとして最外層メモリ以外のメモリが使用されるので、メモリの冷却が効率的に行えなくなってしまう。
【００７９】
そこで、本実施例に係るＣＰＵ１は、図１１に示すように、実施例２の各部に加えて、メモリの論理アドレスと物理アドレスとの対応を制御するＭＭＵ１０５をさらに有する。図１１は、実施例３に係るＣＰＵのブロック図である。
【００８０】
ＭＭＵ１０５は、メモリマップ５における最もアドレスが小さい例えば１ＧＢの論理アドレス５１１を積層メモリ２Ａのメモリ２１１の物理アドレスに対応させる。すなわち、ＭＭＵ１０５は、論理アドレス５１１内のアドレスの指定を受けると、その論理アドレスをメモリ２１１の物理アドレスに変換する。また、ＭＭＵ１０５は、メモリ２１１内の物理アドレスを論理アドレス５１１内の論理アドレスに変換する。
【００８１】
また、ＭＭＵ１０５は、メモリマップ５における論理アドレス５１１の次の例えば１ＧＢの論理アドレス５１２を積層メモリ２Ｂのメモリ２１２の物理アドレスに対応させる。さらに、ＭＭＵ１０５は、論理アドレス５１２に続くメモリマップ５上の論理アドレスを積層メモリ２Ｃ及び２Ｄの順に、それぞれ積層メモリ２Ｃ及び２Ｄの最下部のメモリの物理アドレス５１３及び５１４の順に対応させる。また、ＭＭＵ１０５は、メモリマップ５の論理アドレスを、積層メモリ２Ａ〜２Ｄのメモリ層を１段ずつ上げながら各メモリ層の物理アドレスに積層メモリ２Ａ〜２Ｄの順に対応させる。
【００８２】
このようにメモリマップ５における論理アドレスを物理アドレスに対応させることで、ＭＭＵ１０５は、メモリマップ５における例えば上位４ＧＢの論理アドレスが各積層メモリ２Ａ〜２Ｄの最外層メモリに対応させる。この論理アドレスと物理アドレスとの対応を用いたＭＭＵ１０５の動作を以下に説明する。
【００８３】
ＭＭＵ１０５は、メモリマップ５上の例えば上位１ＧＢの論理アドレス５１４の中の論理アドレスの指定とともにデータの読み書きの要求をＯＳ実行部１０１から受ける。そして、ＭＭＵ１０５は、指定された論理アドレスを物理アドレスに変換する。この場合、ＭＭＵ１０５は、データの読み書きの対象として、積層メモリ２Ｄの最外層メモリであるメモリ２１４内の物理アドレスを取得する。そして、ＭＭＵ１０５は、取得したメモリ２１４内の物理アドレスに対してデータの読み書きを行う。
【００８４】
また、ＭＭＵ１０５は、メモリマップ５上の論理アドレス５１４以外の論理アドレスの指定とともにデータの読み書きの要求をジョブ実行部１０２から受ける。そして、ＭＭＵ１０５は、指定された論理アドレスを物理アドレスに変換する。この場合、ＭＭＵ１０５は、データの読み書きの対象として、メモリ２１４以外のメモリに割り当てられている物理アドレスの中からアドレスを取得する。そして、ＭＭＵ１０５は、取得した物理アドレスに対してデータの読み書きを行う。
【００８５】
メモリ割当部１０３は、ＯＳ実行部１０１からメモリの割当要求を受けると、メモリマップ５の例えば上位１ＧＢである論理アドレス５１４の中から使用する論理アドレスを取得する。そして、メモリ割当部１０３は、取得した論理アドレスをＯＳ実行部１０１へ通知する。
【００８６】
また、メモリ割当部１０３は、ジョブ実行部１０２からメモリの割当要求を受けると、メモリマップ５の論理アドレス５１４の以外の中から使用する論理アドレスを取得する。そして、メモリ割当部１０３は、取得した論理アドレスをＯＳ実行部１０１へ通知する。
【００８７】
ＯＳ実行部１０１は、ＯＳの起動及び処理の実行において、メモリの割当要求をメモリ割当部１０３へ通知する。その後、ＯＳ実行部１０１は、ＯＳの起動及び処理の実行に用いるメモリとして、論理アドレス５１４の中の論理アドレスをメモリ割当部１０３から取得する。そして、ＯＳ実行部１０１は、メモリ割当部１０３から取得した論理アドレスに対するデータの読み書きの指示をＭＭＵ１０５へ通知する。
【００８８】
ジョブ実行部１０２は、ジョブの実行において、メモリの割当要求をメモリ割当部１０３へ通知する。その後、ジョブ実行部１０２は、ジョブの実行に用いるメモリとして、論理アドレス５１４以外の論理アドレスをメモリ割当部１０３から取得する。そして、ジョブ実行部１０２は、メモリ割当部１０３から取得した論理アドレスに対するデータの読み書きの指示をＭＭＵ１０５へ通知する。
【００８９】
ここで、本実施例では、図１０のように物理アドレスを積層メモリ２に割り当てた場合で説明したが、物理アドレスの割り当て方はこれに限らない。すなわち、どのように物理アドレスを割り当てたとしても、ＭＭＵ１０５がＯＳ用メモリとして指定された論理アドレスを積層メモリ２の最外層メモリの物理アドレスに変換すれば、ＯＳは積層メモリ２の最外層メモリを用いて動作できる。
【００９０】
以上に説明したように、本実施例に係る情報処理装置は、ＭＭＵを用いてＯＳ用メモリとして指定された論理アドレスを積層メモリの最外層メモリの物理アドレスに変換する。また、本実施例に係る情報処理装置は、ＭＭＵを用いて計算用メモリとして指定された論理アドレスをＯＳ用メモリとして用いられるメモリ以外のメモリの物理アドレスに変換する。これにより、本実施例に係る情報処理装置は、物理アドレスの積層メモリへの割り当て方に関らず、ＯＳ用メモリとして積層メモリにおいて他の層のメモリよりも冷却効率の良い最外層メモリが割り当てられ、メモリ全体の冷却効率を向上することができる。
【実施例４】
【００９１】
次に、実施例４について説明する。本実施例では、ＯＳを実行するコアに最も近い積層メモリの最外層メモリをＯＳ用メモリとして用いることが実施例２と異なる。そこで、以下では、ＯＳ用メモリの割り当てについて主に説明する。本実施例に係るＣＰＵ１も、図６のブロック図で示される。以下では、各部が有する実施例２と同じ機能については説明を省略する。
【００９２】
図１２Ａは、実施例４に係る情報処理装置におけるＯＳ用コアが１つの場合のＯＳ用コアの位置を示す一例の図である。図１２Ｂは、図１２Ａに対応するＯＳ用メモリを示す図である。
【００９３】
本実施例に係る情報処理装置では、コア割付部１０４は、例えば、コアがコア１１１をＯＳ用コアとして用いるコアとして予め記憶する。そして、コア割付部１０４は、ＯＳ実行部１０１がＯＳを起動する場合に図１２Ａのコア１１１をＯＳ用コアとして指定する。
【００９４】
メモリ割当部１０３は、コア１１１に最も近い距離にある図１２Ｂに示す積層メモリ２２１における最外層メモリの物理メモリに対応する論理アドレスを、ＯＳ用メモリのメモリプールとして予め記憶する。
【００９５】
そして、メモリ割当部１０３は、ＯＳ実行部１０１からＯＳの起動及びＯＳの処理の実行に使用するメモリの割当要求を受けると、積層メモリ２２１における最外層メモリの物理メモリに対応する論理アドレスの中から論理アドレスを取得する。そして、メモリ割当部１０３は、取得した論理アドレスをＯＳ実行部１０１へ通知する。
【００９６】
また、メモリ割当部１０３は、ジョブ実行部１０２からジョブ実行に使用するメモリの割当要求を受けると、積層メモリ２２１における最外層メモリ以外の物理メモリに対応する論理アドレスの中から論理アドレスを取得する。そして、メモリ割当部１０３は、取得した論理アドレスをジョブ実行部１０２へ通知する。
【００９７】
また、図１２Ａ及び１２Ｂでは、ＯＳ用コアが１つの場合で説明したが、ＯＳ用コアが複数あってもよい。そこで、次に、ＯＳ用コアが複数の場合のＯＳ用コアとメモリとの対応について、いくつかの例を説明する。
【００９８】
例えば、図１３Ａは、ＯＳ用コアが２つの場合のＯＳ用コアの位置を示す一例の図である。図１３Ｂは、図１３Ａに対応するＯＳ用メモリを示す図である。
【００９９】
図１３Ａの場合、コア割付部１０４は、図１３Ａのコア１１２及びコア１１３をＯＳ用コアとして指定する。
【０１００】
この場合、メモリ割当部１０３は、コア１１２に最も近い距離にある図１３Ｂの積層メモリ２２２の最外層メモリをコア１１２がＯＳを動作させる場合に使用するメモリとして指定する。また、メモリ割当部１０３は、コア１１３に最も近い距離にある図１３Ｂの積層メモリ２２３の最外層メモリをコア１１３がＯＳを動作させる場合に使用するメモリとして指定する。
【０１０１】
さらに、図１４Ａは、ＯＳ用コアが２つの場合のＯＳ用コアの位置を示す他の例の図である。図１４Ｂは、図１４Ａに対応するＯＳ用メモリを示す図である。
【０１０２】
また、図１４Ａの場合、コア割付部１０４は、図１４Ａのコア１１４及びコア１１５をＯＳ用コアとして指定する。
【０１０３】
この場合、メモリ割当部１０３は、コア１１４に最も近い距離にある図１４Ｂの積層メモリ２２４の最外層メモリをコア１１４がＯＳを動作させる場合に使用するメモリとして指定する。また、メモリ割当部１０３は、コア１１５に最も近い距離にある図１４Ｂの積層メモリ２２５の最外層メモリをコア１１５がＯＳを動作させる場合に使用するメモリとして指定する。
【０１０４】
以上に説明したように、本実施例に係る情報処理装置は、ＯＳ用コアに最も近い距離にある積層メモリの最外層メモリをＯＳ用メモリとして用いる。これにより、ＯＳを実行するＯＳ用コアと、ＯＳの実行に用いられるＯＳ用メモリとを一つの場所に集めることができる。すなわち、常時発熱しているＯＳ用コアとＯＳ用メモリとをＣＰＵ上の一つの場所に集めることができる。これにより、ＣＰＵ上の他の部分の発熱量を抑えることができる。また、最大層のメモリをＯＳ用メモリとして用いているので、ＯＳ動作によるメモリの発熱をより抑えることができ、メモリの温度をより低く保つことができる。
【実施例５】
【０１０５】
次に、実施例５について説明する。本実施例では、ジョブの実行に用いる計算用メモリの電源をジョブが使用するまでＯＦＦにしておく点が実施例２と異なる。そこで、以下では、計算用メモリを用いた動作について主に説明する。図１５は、実施例５に係るＣＰＵのブロック図である。以下では、各部が有する実施例２と同じ機能については説明を省略する。また、図１５における一点鎖線は、積層メモリ２への電力の供給を表す。
【０１０６】
電源回路４は、積層メモリ２への電力の供給を開始する。その後、電源回路４は、メモリ電源管理部１０６から積層メモリ２における計算用メモリの電源オフの指示を受けると、積層メモリ２への電力の供給を停止する。そして、電源回路４は、メモリ電源管理部１０６から積層メモリ２における計算用メモリの電源オンの指示を受けると、積層メモリ２への電力の供給を開始する。
【０１０７】
メモリ電源管理部１０６は、ＯＳの起動が完了すると、ＯＳ用メモリ以外のメモリである計算用メモリの電源オフの通知をＯＳ実行部１０１から受ける。そして、メモリ電源管理部１０６は、電源回路４に対して計算用メモリの電源オフを指示することで、ＯＳ用メモリ以外の計算用メモリの電源をオフにする。例えば、ＯＳ用メモリとして図５の積層メモリ２Ｄにおける最外層メモリであるメモリ２０４を使用する場合、メモリ電源管理部１０６は、メモリ２０４以外のメモリの電源をオフにする。
【０１０８】
ジョブの投入要求が操作者から入力された場合、メモリ電源管理部１０６は、計算用メモリの電源オンの通知をＯＳ実行部１０１から受ける。そして、メモリ電源管理部１０６は、電源回路４に対して計算用メモリの電源オンを指示することで、計算用メモリの電源をオンにする。その後、ジョブの実行が完了すると、メモリ電源管理部１０６は、計算用メモリの電源オフの通知をＯＳ実行部１０１から受ける。そして、メモリ電源管理部１０６は、電源回路４に対して計算用メモリの電源オンを指示することで、計算用メモリの電源をオフにする。
【０１０９】
ＯＳ実行部１０１は、ＯＳの起動が完了すると、計算用メモリの電源オフをメモリ電源管理部１０６に通知する。その後、ＯＳ実行部１０１は、操作者からジョブの投入要求を受けて、計算用メモリの電源オンをメモリ電源管理部１０６へ通知する。ＯＳ実行部１０１は、ジョブ実行の完了の通知をジョブ実行部１０２から受けると、計算用メモリの電源オフをメモリ電源管理部１０６へ通知する。
【０１１０】
次に、図１６を参照して、本実施例に係るコンピュータによるＯＳの起動及びメモリ電源制御について説明する。図１６は、実施例５に係るコンピュータによるＯＳの起動及びメモリ電源制御のフローチャートである。
【０１１１】
まず、ＣＰＵ１は、操作者によりコンピュータ１００の電源が投入されたことを検知する（ステップＳ２０１）。電源が投入されると、電源回路４は、ＣＰＵ１、積層メモリ２及びハードディスク３に電力を供給する。
【０１１２】
次に、ＣＰＵ１は、ＢＩＯＳを起動する（ステップＳ２０２）。ＣＰＵ１は、ＢＩＯＳにより、積層メモリ２及びハードディスク３などの診断テストを行う。
【０１１３】
そして、ＣＰＵ１は、ＢＩＯＳにより、ブートローダを積層メモリ２の所定位置にロードする（ステップＳ２０３）。
【０１１４】
次に、ＣＰＵ１は、ブートローダにより、カーネルイメージをＯＳ用メモリである積層メモリ２の最外層メモリにロードする（ステップＳ２０４）。
【０１１５】
そして、ＣＰＵ１は、カーネルにより、ＯＳ用メモリである積層メモリ２の最外層メモリを用いて各種デーモンを起動することで、ＯＳを起動する（ステップＳ２０５）。
【０１１６】
その後、ＣＰＵ１は、ＯＳにより、ｔａｓｋｓｅｔコマンドを用いて、デーモンをＯＳ用コアであるコア１１に割り付ける（ステップＳ２０６）。
【０１１７】
そして、ＣＰＵ１は、積層メモリ２の中の計算用メモリの電源オフを電源回路４へ指示する。電源回路４は、ＣＰＵ１からの指示を受けて、計算用メモリの電源をオフする（ステップＳ２０７）。
【０１１８】
その後、ＣＰＵ１は、ジョブ投入待ちの状態で待機する（ステップＳ２０８）。
【０１１９】
そして、ＣＰＵ１は、操作者からのジョブの投入要求を受け付ける（ステップＳ２０９）。
【０１２０】
そして、ＣＰＵ１は、積層メモリ２の中の計算用メモリの電源オンを電源回路４へ指示する。電源回路４は、ＣＰＵ１からの指示を受けて、計算用メモリの電源をオンする（ステップＳ２１０）。
【０１２１】
その後、ＣＰＵ１は、ジョブを計算用コアに投入する（ステップＳ２１１）。
【０１２２】
そして、ＣＰＵ１の計算用コアは、投入されたジョブを実行する（ステップＳ２１２）。
【０１２３】
その後、ＣＰＵ１は、操作者によりコンピュータ１００の電源がオフにされたか否かを判定する(ステップＳ２１３)。電源がオフにされない場合（ステップＳ２１３：否定）、ＣＰＵ１は、ステップＳ２０７に戻り、ジョブの投入まで待機する。
【０１２４】
これに対して、電源がオフにされた場合（ステップＳ２１３：肯定）、ＣＰＵ１は、ＯＳをシャットダウンして、コンピュータ１００を停止させる。
【０１２５】
以上に説明したように、本実施例に係る情報処理装置は、ジョブを実行していない間、ジョブの処理に用いる計算用メモリの電源をオフにしておく。この点、メモリの電源がオンになっていれば、格納した内容を維持するためにメモリのリフレッシュが行われる。そのため、データの読み書きを行っていなくても電源が入っていれば、メモリは発熱する。そこで、ジョブを実行していない間、計算用メモリの電源をオフにしておくことで、メモリの発熱を抑えることができる。これにより、本実施例に係る情報処理装置は、メモリの発熱をより抑えることができ、メモリの温度をより低く保つことができる。
【０１２６】
また、使用しない計算用メモリの電源をオフにしておくことで、消費電力を抑えることができる。
【実施例６】
【０１２７】
図１７は、実施例６に係るＣＰＵの平面図である。本実施例に係るコンピュータ１００のＣＰＵ１は、例えば２つのＯＳ用コア１１６及び１１７を有する。また、ＣＰＵ１は、計算用コア１２０を例えば１６個有する。そして、ＣＰＵ１は、ＯＳ用コア１１６の上に積層メモリ２３１を有し、ＯＳ用コア１１７の上に積層メモリ２３２を有する。さらに、ＣＰＵ１は、計算用コア１２０の上に、例えば４つの積層メモリ２３０を有する。
【０１２８】
積層メモリ２３１は、ＯＳ用コア１１６が使用するメモリとして割り当てられている。また、積層メモリ２３２は、ＯＳ用コア１１７が使用するメモリとして割り当てられている。
【０１２９】
ＯＳ用コア１１６は、積層メモリ２３１を用いてＯＳの起動及びＯＳの処理の実行を行う。また、ＯＳ用コア１１７は、積層メモリ２３２を用いてＯＳの起動及びＯＳの処理の実行を行う。
【０１３０】
近年、ＯＳの動作に用いるメモリ領域はなるべく小さく抑えられる傾向にある。そこで、ＯＳの動作に用いられる積層メモリ２３１及び２３２は、従来のメモリよりも小さい容量とすることができる。例えば、積層メモリ２３１及び２３２は、例えば１ＧＢ程度の容量とすることができる。
【０１３１】
そのため、積層メモリ２３１及び２３２の積層数を減らすことができ、メモリ層を例えば１層又は２層とすることができる。そのため、積層メモリ２３１及び２３２が備えるメモリ層は、いずれも冷却効率が良い。したがって、ＯＳ用コア１１６及び１１７がＯＳの動作に積層メモリ２３１及び２３２を用いることで、恒常的に発熱するＯＳ用メモリとして冷却効率の良いメモリを使用することができる。これにより、ＯＳの動作による発熱を抑えることができる。
【０１３２】
計算用コア１２０は、積層メモリ２３０にジョブを展開する等して投入されたジョブを実行する。
【０１３３】
ジョブ用メモリである積層メモリ２３０は、ＯＳ用メモリである積層メモリ２３１及び２３２に比べて容量が大きい。ただし、積層メモリ２３０は、ジョブの実行に用いられるメモリであるため、ジョブの実行が行われない間は使用されない。すなわち、積層メモリ２３０は、恒常的に発熱することはない。このため、積層メモリ２３０は、多くのメモリ層を有し、冷却効率の悪いメモリ層を有したとしても、発熱により高温になる危険は低い。したがって、積層メモリ２３０をジョブの実行に用いても、積層メモリ２３０の温度は、それほど高温にならない。
【０１３４】
以上に説明したように、本実施例に係る情報処理装置は、ＯＳ用コア領域内に配置された積層数の少ないメモリを、ＯＳ用メモリとして用いる。これにより、ＣＰＵは、冷却効率のよいメモリを使用してＯＳを動作させることができる。すなわち、ＯＳの動作に用いられるメモリは、積層メモリの中で冷却効率の高いメモリが用いられることになる。ＯＳのメモリとして常時使用され発熱が継続するメモリとして冷却効率の高いメモリが使用され、他のメモリはアプリケーションが実行されるときのみに使用される。そのため、メモリ全体の冷却効率を向上させることができ、メモリの温度を低く保つことができるので、メモリの寿命を向上させることができる。
【符号の説明】
【０１３５】
１  ＣＰＵ
２  積層メモリ
２Ａ〜２Ｄ  積層メモリ
３  ハードディスク
４  電源回路
５  メモリマップ
１０〜１２  コア
１００  コンピュータ
１０１  ＯＳ実行部
１０２  ジョブ実行部
１０３  メモリ割当部
１０４  コア割付部
１０５  ＭＭＵ
１０６  メモリ電源管理部
１１６，１１７  ＯＳ用コア
１２０  計算用コア
２３１，２３２，２３０  積層メモリ
【図１】
2014194671.tif 000003
【図２】
2014194671.tif 000004
【図３】
2014194671.tif 000005
【図４Ａ】
2014194671.tif 000006
【図４Ｂ】
2014194671.tif 000007
【図５】
2014194671.tif 000008
【図６】
2014194671.tif 000009
【図７】
2014194671.tif 000010
【図８】
2014194671.tif 000011
【図９】
2014194671.tif 000012
【図１０】
2014194671.tif 000013
【図１１】
2014194671.tif 000014
【図１２Ａ】
2014194671.tif 000015
【図１２Ｂ】
2014194671.tif 000016
【図１３Ａ】
2014194671.tif 000017
【図１３Ｂ】
2014194671.tif 000018
【図１４Ａ】
2014194671.tif 000019
【図１４Ｂ】
2014194671.tif 000020
【図１５】
2014194671.tif 000021
【図１６】
2014194671.tif 000022
【図１７】
2014194671.tif 000023