JP2010044460A - 電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体 - Google Patents
電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体 Download PDFInfo
- Publication number
- JP2010044460A JP2010044460A JP2008206220A JP2008206220A JP2010044460A JP 2010044460 A JP2010044460 A JP 2010044460A JP 2008206220 A JP2008206220 A JP 2008206220A JP 2008206220 A JP2008206220 A JP 2008206220A JP 2010044460 A JP2010044460 A JP 2010044460A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- main memory
- task
- page
- power supply
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 82
- 230000015654 memory Effects 0.000 claims abstract description 304
- 238000012544 monitoring process Methods 0.000 claims abstract description 54
- 230000003247 decreasing effect Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Power Sources (AREA)
- Memory System (AREA)
Abstract
【課題】メインメモリへの給電電力を省電力化することができる電源制御装置を得ること。
【解決手段】通常電力モードまたは省電力モードで動作するCPU1とメインメモリ2とを備える計算機システムにおいて、メインメモリ2の電源供給を制御する電源制御部3であって、CPU1のモード信号に基づいて、CPU1が省電力モードに移行したと判断した場合はメインメモリ2への電源供給の停止を指示し、CPU1が通常電力モードに復帰したと判断した場合はメインメモリ2への電源供給の開始を指示するCPU監視部6、を備え、指示に基づいてメインメモリ2への電源供給を制御する。
【選択図】 図1
【解決手段】通常電力モードまたは省電力モードで動作するCPU1とメインメモリ2とを備える計算機システムにおいて、メインメモリ2の電源供給を制御する電源制御部3であって、CPU1のモード信号に基づいて、CPU1が省電力モードに移行したと判断した場合はメインメモリ2への電源供給の停止を指示し、CPU1が通常電力モードに復帰したと判断した場合はメインメモリ2への電源供給の開始を指示するCPU監視部6、を備え、指示に基づいてメインメモリ2への電源供給を制御する。
【選択図】 図1
Description
本発明は、計算機システムのメインメモリに対する電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体に関する。
一般的な計算機システムは、単純化すると、プログラムを実行するCPU(Central Processing Unit)と、各種IO(Input/Output:入出力)デバイスとCPUとを介在するIO制御部と、プログラムやデータを格納するためのメインメモリと、各ハードウェア構成部へ電力を供給する電源制御部からなる。
従来、メインメモリにはSRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)のように、揮発性メモリと呼ばれるものが主に用いられる。揮発性メモリは、給電を停止するとその内容は消滅してしまう特性を有するため、これらをメインメモリとして用いるシステムでのメインメモリの省電力制御としては、動作クロックの停止に留まっていた。
一方、メインメモリとして、不揮発性メモリが用いられる計算機システムも登場している。たとえば、下記特許文献1では、不揮発性メモリとしてMRAM(Magnetic Random Access Memory)を用いたシステムが開示されている。
しかしながら、上記従来の不揮発性メモリを用いた計算機システムでは、MRAMをROM(Read Only Memory)の代わりとして、計算機システムの電源OFF状態でもデータを保持する程度にしか利用していない。そのため、MRAMの不揮発性という特徴を、計算機システムの省電力化に活かしていない、という問題があった。
本発明は、上記に鑑みてなされたものであって、計算機システムの動作中に、不揮発性メモリをメインメモリとして用いる場合に、従来のシステムに比べメインメモリへの給電電力の省電力化を図ることができる電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、通常電力モードまたは省電力モードで動作するCPUとメインメモリとを備える計算機システムにおいて、前記メインメモリの電源供給を制御する電源制御装置であって、前記CPUのモードを示すモード信号を検出し、前記モード信号に基づいてCPUが省電力モードに移行したと判断した場合は前記メインメモリへの電源供給の停止を指示し、前記モード信号に基づいてCPUが通常電力モードに復帰したと判断した場合は前記メインメモリへの電源供給の開始を指示するCPU監視手段、を備え、前記指示に基づいて前記メインメモリへの電源供給を制御することを特徴とする。
この発明によれば、CPUのMODE端子に接続するCPU監視部を備えることとし、CPU監視部がMODE端子から出力される電圧に基づいて省電力モードに移行したと判断した場合にはメインメモリへの給電を停止するようにしたので、メインメモリへの給電電力の省電力化を図ることができる、という効果を奏する。
以下に、本発明にかかる電源制御装置および電源制御方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明にかかる計算機システムの実施の形態1の構成例を示す図である。図1に示すように、本実施の形態の計算機システムは、プログラムを実行するCPU(Central Processing Unit)1と、プログラムやデータを格納するためのメインメモリ2と、各ハードウェア構成部へ電力を供給し、本発明にかかる電源制御装置としての機能を有する電源制御部3と、を備えている。また、CPU1およびメインメモリ2は、メモリバス4に接続している。また、電源制御部3は、電源供給ライン5を介してメインメモリ2に電源を供給する。
図1は、本発明にかかる計算機システムの実施の形態1の構成例を示す図である。図1に示すように、本実施の形態の計算機システムは、プログラムを実行するCPU(Central Processing Unit)1と、プログラムやデータを格納するためのメインメモリ2と、各ハードウェア構成部へ電力を供給し、本発明にかかる電源制御装置としての機能を有する電源制御部3と、を備えている。また、CPU1およびメインメモリ2は、メモリバス4に接続している。また、電源制御部3は、電源供給ライン5を介してメインメモリ2に電源を供給する。
本実施の形態の電源制御部3は、メインメモリ2への電源供給の有無を制御する。また、電源制御部3は、CPU監視部6を備えており、CPU監視部6は、CPU1のMODE端子7と接続している。このMODE端子7(図示のMODEに対応)は、省電力機能を有したCPUが一般に備えている端子であり、通常動作モードでは電圧Highが、省電力モードでは電圧Lowが出力される。
CPU監視部6は、MODE端子7から出力される電圧がHighからLowになった場合、CPU1が省電力モードへ移行したと判断し、メインメモリ2へのアクセスが不要となるため、メインメモリ2への給電を停止する。また、CPU監視部6は、MODE端子7から出力される電圧がLowからHighになった場合、CPU1が通常動作モードへ移行したと判断し、プログラムの読み出しやデータへのアクセスを可能とするため、メインメモリ2への給電を再開する。
このように、本実施の形態では、電源制御部3にCPU1のMODE端子7に接続するCPU監視部6を備えることとし、CPU監視部6がMODE端子7から出力される電圧に基づいて省電力モードに移行したと判断した場合には、メインメモリ2への給電を停止するようにした。このため、メインメモリ2への給電電力の省電力化を図ることができる。
実施の形態2.
図2は、本発明にかかる計算機システムの実施の形態2の構成例を示す図である。図2に示すように本実施の形態の計算機システムは、実施の形態1の計算機システムに、ゲート9とクロック発生装置10を追加し、電源制御部3を電源制御部3aに替える以外は、実施の形態1の計算機システムと同様である。実施の形態1と同様の機能を有する構成要素は同一の符号を付して説明を省略する。
図2は、本発明にかかる計算機システムの実施の形態2の構成例を示す図である。図2に示すように本実施の形態の計算機システムは、実施の形態1の計算機システムに、ゲート9とクロック発生装置10を追加し、電源制御部3を電源制御部3aに替える以外は、実施の形態1の計算機システムと同様である。実施の形態1と同様の機能を有する構成要素は同一の符号を付して説明を省略する。
本実施の形態の電源制御部3aは、メインメモリ2の電源供給の有無を制御し、また、CPU監視部6aを備えている。CPU監視部6a、CPU1の動作クロックを供給するクロック信号線が接続されるEXCLK端子8(図示のEXCLKに対応)に接続される。一般にCPUは内部にレジスタやキャッシュメモリを搭載している。このため、CPUの省電力化は、クロックを停止することで実現されており、CPUへのクロック供給をON/OFFするために、クロック発生装置に対してON/OFFの信号を送っている。
本実施の形態のCPU1も、上記のような一般的な省電力化の機能を有していることとする。具体的には、CPU1は、EXCLK端子8とクロック発生装置10との間にゲート9を設け、CPU1が、ゲート9のONとOFFを制御する。そして、通常の動作時は、CPU1はゲート9をONとし、クロック発生装置10からCPU1にクロックが供給される。また、省電力モード時は、CPU1は、ゲート9をOFFとし、クロック発生装置10からクロックがCPU1に供給されない。
本実施の形態では、CPU監視部6aが、EXCLK端子8から出力されるクロックを取得し、CPU1へのクロック供給有無を監視する。そして、CPU監視部6aは、EXCLK端子8から出力される信号に基づいてCPU1にクロック供給中であると判断した場合は、メインメモリ2への給電を行い、CPU1にクロック供給中でないと判断した場合には、メインメモリ2への給電を停止する。
なお、CPU監視部6aにCPU1へ供給されるクロック信号と同じクロック信号を入力すると、CPU1のEXCLK端子8へクロックが供給されているか否かを、CPU1のクロック1周期以内に検出することができる。
なお、本実施の形態では、EXCLK端子8へ入力される信号に基づいてCPU1が省電力モードであるか否かを判断するようにしたが、CPU1が省電力モードであるか否かを判断できる他の信号がある場合には、CPU監視部6aは、他の信号に基づいてメインメモリ2への給電の有無を制御するようにしてもよい。
このように、本実施の形態では、CPU監視部6aが、CPU1へのクロック供給の有無を監視し、クロックの供給の有無に基づいてメインメモリ2への給電を制御するようにした。このため、メインメモリ2への給電電力の省電力化を図ることができる。
実施の形態3.
図3は、本発明にかかる計算機システムの実施の形態3の構成例を示す図である。図3に示すように本実施の形態の計算機システムは、実施の形態1の計算機システムのCPU1,電源制御部3をそれぞれCPU1a,電源制御部3bに替える以外は実施の形態1の計算機システムと同様である。実施の形態1と同様の機能を有する構成要素は同一の符号を付して説明を省略する。
図3は、本発明にかかる計算機システムの実施の形態3の構成例を示す図である。図3に示すように本実施の形態の計算機システムは、実施の形態1の計算機システムのCPU1,電源制御部3をそれぞれCPU1a,電源制御部3bに替える以外は実施の形態1の計算機システムと同様である。実施の形態1と同様の機能を有する構成要素は同一の符号を付して説明を省略する。
本実施の形態のCPU1aは、2段の省電力モードMODE#0,MODE#1を有し、第1のMODE端子11(図示のMODE#0に対応),第2のMODE端子12(図示のMODE#1に対応)により、モードを監視可能とする。CPU1aが通常動作モードの場合は、第1のMODE端子11,第2のMODE端子12から出力される電圧はいずれもHighとし、省電力モードMODE#0では、第1のMODE端子11から出力される電圧がLow,第2のMODE端子12から出力される電圧はHighとする。また、省電力モードMODE#1では、第1のMODE端子11から出力される電圧がHigh,第2のMODE端子12から出力される電圧はLowとする。
電源制御部3bは、メインメモリ2の電源供給の有無を制御する。また、電源制御部3bは、CPU監視部6bと、AND回路13と、OR回路14,15と、2bitの設定レジスタである設定レジスタ16と、を備え、図3に示すように、CPU1aの第1のMODE端子11にOR回路14が、第2のMODE端子12にOR回路15が、それぞれ接続している。また、OR回路14およびOR回路15の出力はAND回路13に出力され、AND回路13の出力はCPU監視部6bに入力される。さらに、設定レジスタ16は、OR回路14およびOR回路15に接続されている。
設定レジスタ16は、上位bitが省電力モードMODE#1に対応し、下位bitが省電力モードMODE#0に対応することとする。そして、設定レジスタ16は、値が”1”の場合は、対応する省電力モードにCPU1aが移行してもメインメモリ2への給電を行い、値が”0”なら対応する省電力モードにCPU1aが移行するとメインメモリ2への給電を停止する、という意味を有することとする。設定レジスタ16の値は、ユーザの操作などにより設定可能とする。
そして、CPU監視部6bは、第1のMODE端子11、第2のMODE端子12、設定レジスタ16の値に基づいて、メインメモリ2への給電を制御する。具体的には、たとえば、設定レジスタが図3のように“01”(上位bitが“0”、下位bitが“1”)の場合、第1のMODE端子11の出力電圧Lowであっても、メインメモリ2への給電を停止せず、第2のMODE端子12の出力電圧がLowであった場合にメインメモリ2への給電を停止する。
なお、本実施の形態では、2bitの設定レジスタ16とAND回路13とOR回路14,15とを用いて、CPU1aの省電力モードごとのメインメモリ2への給電の有無を設定するようにしたが、これに限らず、省電力モードごとのメインメモリ2への給電の有無を設定できる方法であればどのような方法を用いてもよい。
また、CPU1aの省電力モードが3種類以上ある場合についても、それぞれのモードを示す信号を電源制御部3bが取得し、モードごとにメインメモリ2への給電を行うか否かを設定できるようにしておけば、上記と同様の電源制御を行うことができる。
このように、本実施の形態では、CPU1aの省電力モードが2種類以上ある場合に、モードごとにメインメモリ2への給電を停止するか否かを設定し、CPU監視部6bが、CPU1aの省電力モードを示す信号を取得し、取得した信号が給電を停止すると設定されたモードであった場合に、給電を停止するようにした。このため、CPU1aの省電力モードが複数ある場合に、それぞれのモードに応じたメインメモリ2の省電力化を図ることができる。
実施の形態4.
図4は、本発明にかかる計算機システムの実施の形態4の構成例を示す図である。図4に示すように本実施の形態の計算機システムは、実施の形態1の計算機システムのCPU1,電源制御部3をそれぞれCPU1b,電源制御部3cに替える以外は実施の形態1の計算機システムと同様である。実施の形態1と同様の機能を有する構成要素は同一の符号を付して説明を省略する。
図4は、本発明にかかる計算機システムの実施の形態4の構成例を示す図である。図4に示すように本実施の形態の計算機システムは、実施の形態1の計算機システムのCPU1,電源制御部3をそれぞれCPU1b,電源制御部3cに替える以外は実施の形態1の計算機システムと同様である。実施の形態1と同様の機能を有する構成要素は同一の符号を付して説明を省略する。
本実施の形態の電源制御部3cは、メインメモリ2の電源供給の有無を制御する。また、電源制御部3cは、カウンタタイマ部17とメモリバス監視部18を備えている。メモリバス監視部18は、CPU1bからメインメモリ2へのアクセスを常時監視している。通常の計算機システムでは、メインメモリはCPUの特定のアドレス範囲に対応付けられているため、メモリバス監視部18は、CPU1bから出力されるアドレス値が、メインメモリ2に対応するアドレス範囲内か否かを判断することにより、メインメモリ2へのアクセスか否かを判断できる。
また、メモリバス監視部18は、CPU1bからメインメモリ2へのアクセスを検出すると、カウンタタイマ部17をリセットする。カウンタタイマ部17は、起動時は所定の初期値に設定されており、一定の時間間隔毎にカウントダウンしていき、カウンタ値が0となるとタイムアウトを通知する。電源制御部3cは、タイムアウトを検出するとメインメモリ2への給電を停止する。
これにより、CPU1bからメインメモリ2へのアクセスが一定時間(カウンタタイマ部17の初期値に対応)以上なされなかった場合に、メインメモリ2の給電を停止し、省電力化を図ることができる。
なお、メインメモリ2への給電が停止されている状態で、CPU1bからメインメモリ2へのアクセスがあると、メモリバス監視部18がそれを検出し、カウンタタイマ部17をリセットすることでカウンタ値が初期値に戻され、メインメモリ2への給電が再開される。
このように、本実施の形態では、カウンタタイマ部17が所定の初期値からカウントダウンを行い、メモリバス監視部18がメインメモリ2へのアクセスを検出すると、カウンタタイマ部17を初期値にリセットするようにした。そして、カウンタタイマ部17のカウント値が0になった場合に、メインメモリ2への給電を停止するようにした。このため、CPU1bからメインメモリ2へのアクセスが一定時間(カウンタタイマ部17の初期値に対応)以上なされなかった場合に、メインメモリ2の給電を停止し、省電力化を図ることができる。
実施の形態5.
図5は、本発明にかかる電源制御部3dの実施の形態5の構成例を示す図である。図5に示すように本実施の形態の電源制御部3dは、メモリバス監視部18aとカウンタタイマ部17aと、を備えている。また、電源制御部3dは、メインメモリ2への電源供給の有無を制御する。本実施の形態の計算機システムの構成は、電源制御部3cを電源制御部3dに替える以外は実施の形態4の計算機システムと同様である。実施の形態1と同様の機能を有する構成要素は同一の符号を付して説明を省略する。
図5は、本発明にかかる電源制御部3dの実施の形態5の構成例を示す図である。図5に示すように本実施の形態の電源制御部3dは、メモリバス監視部18aとカウンタタイマ部17aと、を備えている。また、電源制御部3dは、メインメモリ2への電源供給の有無を制御する。本実施の形態の計算機システムの構成は、電源制御部3cを電源制御部3dに替える以外は実施の形態4の計算機システムと同様である。実施の形態1と同様の機能を有する構成要素は同一の符号を付して説明を省略する。
本実施の形態のカウンタタイマ部17aは、カウンタタイマ19−1〜19−Nで構成される。通常の計算機システムでは、メインメモリは複数のメモリブロックやメモリチップで構成されていることが多く、それらを個々に給電制御できる場合も多い。また、一般的に、給電制御対象となる個々のメモリブロックまたはメモリチップは、それぞれ連続したアドレス範囲でCPUからアクセスできるようになっている。そのため、個々のメモリブロックまたはメモリチップに、カウンタタイマ19−1〜19−Nをそれぞれ1対1で対応付ける。
また、メモリバス監視部18aは、CPU1bからのメインメモリ2へのアクセスを検出した際に、そのアドレス値からどのメモリブロックまたはメモリチップへのアクセスかを算出する。そして、カウンタタイマ19−1〜19−Nのうち算出したメモリブロックまたはメモリチップに対応付けられたカウンタタイマをリセットする。各カウンタタイマは、実施の形態4のカウンタタイマ部17と同様に機能し、起動値には所定の初期値が設定され、一定の時間ごとにカウントダウンを行い、カウント値が0の場合には対応するメモリブロックまたはメモリチップへの給電を停止する。
このように、本実施の形態では、カウンタタイマ部17aがメインメモリ2を構成する各メモリブロックまたは各メモリチップにそれぞれ対応するカウンタタイマ19−1〜19−Nを備え、カウンタタイマ19−1〜19−Nは起動されると初期値からカウントダウンを行い、カウント値が0になると対応するメモリブロックまたはメモリチップへの給電を停止する。また、メモリバス監視部18aは、メインメモリ2へのアクセスを検出すると、アドレス値に基づいてアクセスするメモリブロックまたはメモリチップを求め、対応するカウンタタイマ19−1〜19−Nをリセットする。このため、CPU1bからメインメモリ2を構成するメモリブロックまたはメモリチップへのアクセスが一定時間以上なされなかった場合に、そのメモリブロックまたはメモリチップへの給電を停止し、省電力化を図ることができる。
実施の形態6.
図6は、本発明にかかる計算機システムの実施の形態6の構成例を示す図である。図6に示すように本実施の形態の計算機システムは、実施の形態1の計算機システムの電源制御部3をそれぞれCPU1に替え、IO制御部20を追加する以外は実施の形態1の計算機システムと同様である。また、本実施の形態の電源制御部3eは、IO制御部20からCPU1への割込み信号を監視する外部割込み受信部21を備えている。また、電源制御部3eは、メインメモリ2への電源供給の有無を制御する。実施の形態1と同様の機能を有する構成要素は同一の符号を付して説明を省略する。
図6は、本発明にかかる計算機システムの実施の形態6の構成例を示す図である。図6に示すように本実施の形態の計算機システムは、実施の形態1の計算機システムの電源制御部3をそれぞれCPU1に替え、IO制御部20を追加する以外は実施の形態1の計算機システムと同様である。また、本実施の形態の電源制御部3eは、IO制御部20からCPU1への割込み信号を監視する外部割込み受信部21を備えている。また、電源制御部3eは、メインメモリ2への電源供給の有無を制御する。実施の形態1と同様の機能を有する構成要素は同一の符号を付して説明を省略する。
本実施の形態では、たとえば、実施の形態1の電源制御方法によって、CPU1が省電力モードになった場合にメインメモリ2への給電を停止する制御を行っていることとする。なお、実施の形態2または4で説明した電源制御方法で、メインメモリ2への給電の停止制御を行っていることとしてもよい。
CPU1が省電力モードから通常動作モードへ戻るためには、一般に外部からの割込みを必要とし、この割込みは、OS(Operating System)タイマや各種入力装置によって発生され、IO制御部20を介してCPU1に送信される。本実施の形態では、IO制御部20からCPU1への割込み信号線を外部割込み受信部21にも接続し、外部割込み受信部21は、IO制御部20からの割込み信号を監視する。そして、外部割込み受信部21は、割込み信号に基づいてIO制御部20からCPU1への割込み発生を検出すると、メインメモリ2への給電を再開し、CPU1の通常動作モード復帰によるメインメモリ2へのアクセスに備える。
通常のCPUでは、割込み信号線から割込み信号を受信して、省電力モードから通常動作モードへ移行するまでに、数クロック分の時間を必要とする。上述のように、IO制御部20からCPU1への割込み発生を検出するメインメモリ2への給電を再開するような電源制御を行うことにより、CPU1が通常モードに復帰した後のメインメモリ2へのアクセスを安全に行うことができる。
このように、本実施の形態では、電源制御部3eの外部割込み受信部21が、IO制御部20からCPU1への割込み発生を検出し、電源制御部3eは、割込みを検出するとメインメモリ2への給電を再開するようにした。このため、実施の形態1の効果に加え、さらに、CPU1が通常モードに復帰した後のメインメモリ2へのアクセスを安全に行うことができる。
実施の形態7.
図7は、本発明にかかる計算機システムの実施の形態7の構成例を示す図である。図7に示すように本実施の形態の計算機システムは、実施の形態6の計算機システムの電源制御部3eを電源制御部3fに替え、ゲート22を追加する以外は実施の形態6の計算機システムと同様である。また、本実施の形態の電源制御部3fは、IO制御部20からCPU1への割込み信号を監視する外部割込み受信部21aとWait回路23を備えている。また、電源制御部3fは、メインメモリ2への電源供給の有無を制御する。実施の形態6と同様の機能を有する構成要素は同一の符号を付して説明を省略する。
図7は、本発明にかかる計算機システムの実施の形態7の構成例を示す図である。図7に示すように本実施の形態の計算機システムは、実施の形態6の計算機システムの電源制御部3eを電源制御部3fに替え、ゲート22を追加する以外は実施の形態6の計算機システムと同様である。また、本実施の形態の電源制御部3fは、IO制御部20からCPU1への割込み信号を監視する外部割込み受信部21aとWait回路23を備えている。また、電源制御部3fは、メインメモリ2への電源供給の有無を制御する。実施の形態6と同様の機能を有する構成要素は同一の符号を付して説明を省略する。
本実施の形態では、実施の形態6と同様、たとえば、実施の形態1の電源制御方法によって、CPU1が省電力モードになった場合にメインメモリ2への給電を停止する制御を行っていることとする。なお、実施の形態2または4で説明した電源制御方法で、メインメモリ2への給電の停止制御を行っていることとしてもよい。
本実施の形態では、実施の形態6と同様に、IO制御部20からCPU1に送信される割込み信号を監視するが、本実施の形態では、IO制御部20からCPU1への割込み信号線にゲート22を設け、外部割込み受信部21aが、ゲート22のON/OFFを制御する。
通常の電源制御では、給電を再開してから、デバイスが必要とする電圧が安定するまでに多少の時間を要するものが多い。本実施の形態の電源制御部3fは、CPU1が省電力モードになるとメインメモリ2への給電をOFFするが、その際、ゲート22をOFFとし、IO制御部20からの割込み信号がCPU1へ送信されないようにする。そして、この状態で、外部割込み受信部21aがIO制御部20からCPU1への割込みを検出すると、電源制御部3fがメインメモリ2への給電を再開するとともに、外部割込み受信部21aはWait回路23を起動する。
Wait回路23は、起動されるとメインメモリ2への給電電圧が安定化するまで待機する。Wait回路23は、たとえば、メインメモリ2への給電開始から給電電圧の安定化までの時間に基づいて所定の待機時間を設定して待機してもよいし、給電電圧をモニタし、所定の安定化の条件を満たすまで待機するようにしてもよい。Wait回路23が待機を終了すると、外部割込み受信部21aは、ゲート22をONにする。これにより、IO制御部20からの割込みをCPU1へ送信されるようになる。
このように、本実施の形態では、IO制御部20からCPU1への割込み信号線にゲート22を設け、外部割込み受信部21aは、CPU1が省電力モードになるとゲート22をOFFし、IO制御部20からCPU1への割込みを検出した場合には、メインメモリ2への電源供給を開始し、供給電圧が安定した後にゲート22をONするようにした。このため、実施の形態1の効果に加え、メインメモリ2に給電を再開してからデバイスが必要とする電圧が安定するまでに時間を要する場合でも、省電力モードから復帰した後のメインメモリ2へのアクセスをより安全に行なえるようにすることができる。
実施の形態8.
図8は、本発明にかかる計算機システムの実施の形態8のOn Demand Paging機能に関連する機能構成例を示す図である。図8に示すように、本実施の形態のOn Demand Paging機能に関連する構成要素は、オペレーティングシステム30,メインメモリ2,HDD(Hard disk drive)32である。
図8は、本発明にかかる計算機システムの実施の形態8のOn Demand Paging機能に関連する機能構成例を示す図である。図8に示すように、本実施の形態のOn Demand Paging機能に関連する構成要素は、オペレーティングシステム30,メインメモリ2,HDD(Hard disk drive)32である。
本実施の形態では、実施の形態5の計算機システムは、実施の形態5の構成を有することとし、実施の形態5で説明した電源制御方法により、メインメモリ2への給電をメモリブロックまたはメモリチップ(以下、メインメモリBANKという)単位で制御していることとする。実施の形態5と同様の構成要素および動作については説明を省略する。
仮想記憶システムを実現しているオペレーティングシステムでは、On Demand Paging機能により、実際のメインメモリのサイズよりも大きなサイズのプログラム・データが仮想的なメインメモリへ配置されているように、アプリケーションソフトウェアへ見せている。On Demand Paging機能では、HDD等の外部記憶装置上に、メインメモリ以上のサイズのSwap領域またはPageFileと呼ばれる領域を用意しておき、ページ単位(仮想記憶システムを実現する仮想アドレスと物理アドレス間の変換単位)でメインメモリとSwap領域またはPageFileとの間で、必要に応じてデータのコピーを行なっている。この外部記憶装置上のSwap領域またはPageFileからメインメモリへデータをコピーする処理をPage In処理、メインメモリからSwap領域またはPageFileへデータをコピーする処理をPage Out処理と呼ぶ。
Page In処理は、CPUが、メインメモリ上になくSwap領域またはPageFile内にあるプログラムまたはデータを必要とする場合で起動される。Page In処理では、メインメモリ内の空き領域を探索し、CPUが必要とするプログラムまたはデータをSwap領域またはPageFileからメインメモリへコピーし、仮想アドレス/物理アドレス変換の整合を取れるようにアドレス変換テーブルを更新する。
また、Page Out処理は、CPUがメインメモリ上に新たなメモリを必要とするにもかかわらず空き領域が存在しない場合に起動される。Page Out処理では、あらかじめ決められた法則でメインメモリから特定のページを抽出し、抽出したページをメインメモリからSwap領域またはPageFileへコピーした後、抽出したページを空きメモリとして再利用できるようにする。
本実施の形態でも、上述のようなPage In処理およびPage In処理を行っていることとする。図8に示すように、本実施の形態のメモリは複数のメインメモリBANKで構成されることとし、それぞれを識別する番号であるBANK Noが付与されていることとする。図8に示すように、本実施の形態のオペレーティングシステム30は、On Demand Paging処理を実行するOn Demand Paging機能部31とBANK管理テーブルを保持するBANK管理テーブル記憶部34とを備え、On Demand Paging機能部31は、さらにPage In処理部33を備えている。BANK管理テーブルは、メインメモリ2の空き領域を検索する際の、検索順序を定義する管理テーブルであり、図8に示すように、優先度ごとにBANK Noが格納されている。なお、ここでは、優先度の数値が小さいほど優先度が高いこととし、またBANK管理テーブルは優先度の高い順(優先度の数値の小さい順)にエントリが格納されていることとする。
つづいて、本実施の形態のPage In処理の動作を説明する。図9は、本実施の形態のPage In処理手順の一例を示すフローチャートである。まず、メインメモリ2上になくSwap領域またはPageFileに存在するプログラムまたはデータを、CPU1が必要とした場合、本実施の形態のPage In処理が起動される。たとえば、仮想アドレスと物理アドレスの変換ミスによるCPU例外が発生し、それをオペレーティングシステム30が検出することにより、メインメモリ2上になくSwap領域またはPageFileに存在するプログラムまたはデータを、CPU1が必要としたことを検知する。
Page In処理が起動されると、まず、Page In処理部33は、変数iを0に初期化する(ステップS11)。つぎに、Page In処理部33は、BANK管理テーブルを検索して優先度がiであるメインメモリBANKのBANK Noを得る(ステップS12)。
つぎに、Page In処理部33は、BANK管理テーブルに含まれる全てのBANK Noに対応するメインメモリBANKについて後述のステップS14,S15の処理が終了したか否かを判断する(ステップS13)。ステップS13の判断は、BANK管理テーブルは優先度の数値の低い順に格納されているため、ステップS12で優先度iのBANK Noが見つからなかった場合には、全てのBANK Noについて処理が終了したと判断できる。BANK管理テーブルに含まれる全てのBANK Noについての処理が終了したと判断した場合(ステップS13 Yes)には、処理を終了する。
また、ステップS13で、BANK管理テーブルに含まれる全てのBANK Noについての処理が終了していないと判断した場合(ステップS13 No)には、Page In処理部33は、ステップS12で得たBANK Noに対応するメインメモリBANK内の空き領域を探索する(ステップS14)。そして、Page In処理部33は、ステップS14で探索した結果に基づいて、ステップS12で得たBANK Noに対応するメインメモリBANKに空き領域が存在するか否かを判断する(ステップS15)。ステップS12で得たBANK Noに対応するメインメモリBANKに空き領域が存在しないと判断した場合(ステップS15 No)には、i=i+1とし(ステップS16)、ステップS12に戻り、つぎの優先度についてステップS16までの処理を繰り返す。
ステップS15で、ステップS12で得たBANK Noに対応するメインメモリBANKに空き領域が存在すると判断した場合(ステップS15 Yes)には、Page In処理部33は、HDD32上のSwap領域またはPageFileから所望のプログラムまたはデータをステップS14で探索したメインメモリBANKの空き領域へコピーする(ステップS17)。そして、Page In処理部33は、ステップS14で探索したメインメモリBANKの空き領域を、CPU1が必要とする処理に用いることができるよう、アドレス変換テーブルを更新して(ステップS18)、Page In処理を終了する。
なお、ステップS13で、BANK管理テーブルに含まれる全てのBANK Noについての処理が終了したと判断した場合(ステップS13 Yes)は、Page In処理は異常終了となる。この場合、Page In処理の呼出し元へメモリ不足としてエラーリターンするか、On Demand Paging機能部31のもう1つの処理機能であるPage Out処理を行い強制的に空きメモリを作成する。
以上のように、BANK管理テーブルの優先度に基づいてPage In処理を行うため、時系列的にみるとPage Inされるメモリ領域が、特定のメインメモリBANKに集中する結果が得られる。一方、プログラムにはアクセスの局所性と呼ばれる、統計的にみて近傍のプログラム,データへ連続してアクセスする特性が知られており、上記の特定のメインメモリBANKへのPage Inの集中により、その特定のメインメモリBANK以外のメインメモリBANKへのアクセス頻度が減少する。したがって、実施の形態5で説明した電源制御部3dがメインメモリBANKへの給電を停止する期間を長くすることができる。
このように、本実施の形態では、優先度に対応するBANK NoをBANK管理テーブルとして保持し、BANK管理テーブルに基づいて、優先度順にPage In処理で用いるメインメモリBANKを選択するようにした。このため、特定のメインメモリBANK以外のメインメモリBANKへのアクセス頻度が減少し、電源制御部3dがメインメモリBANKへの給電を停止する期間を長くすることができ、実施の形態5よりさらに効率的にメインメモリ2の省電力化を図ることができる。
実施の形態9.
図10は、本発明にかかる計算機システムの実施の形態9のOn Demand Paging機能のPage Out処理に関連する機能構成例を示す図である。図10に示すように、本実施の形態のOn Demand Paging機能のPage Out処理に関連する構成要素は、オペレーティングシステム30a,メインメモリ2,HDD32である。
図10は、本発明にかかる計算機システムの実施の形態9のOn Demand Paging機能のPage Out処理に関連する機能構成例を示す図である。図10に示すように、本実施の形態のOn Demand Paging機能のPage Out処理に関連する構成要素は、オペレーティングシステム30a,メインメモリ2,HDD32である。
本実施の形態では、実施の形態5の計算機システムは、実施の形態5の構成を有することとし、実施の形態5で説明した電源制御方法により、メインメモリ2への給電をインメモリBANK単位で制御していることとする。実施の形態5と同様の構成要素および動作については説明を省略する。
図10に示すように、本実施の形態のオペレーティングシステム30aは、On Demand Paging処理を実行するOn Demand Paging機能部31aとBANK管理テーブルを保持するBANK管理テーブル記憶部34とを備え、On Demand Paging機能部31aは、さらにPage Out処理部35を備えている。本実施の形態のBANK管理テーブル記憶部34は、実施の形態8のBANK管理テーブル記憶部34と同様であるが、Page Out処理では、メインメモリ2から強制的に追い出すページが格納されているメインメモリBANKを決めるために用いる。
つづいて、本実施の形態のPage Out処理の動作を説明する。図11は、本実施の形態のPage Out処理手順の一例を示すフローチャートである。CPU1が新たな空きメモリを必要とした場合に、メインメモリ2上に空きが無いと、本実施の形態のPage Out処理が起動される。
Page Out処理が起動されると、まず、Page Out処理部35は、変数iを0に初期化する(ステップS21)。つぎに、Page Out処理部35は、BANK管理テーブルを検索して優先度がiであるメインメモリBANKのBANK Noを得る(ステップS22)。
つぎに、Page Out処理部35は、BANK管理テーブルに含まれる全てのBANK Noに対応するメインメモリBANKについて後述のステップS24,S25の処理が終了したか否かを判断する(ステップS23)。BANK管理テーブルに含まれる全てのBANK Noについての処理が終了したと判断した場合(ステップS23 Yes)には、処理を終了する。
また、ステップS23で、BANK管理テーブルに含まれる全てのBANK Noについての処理が終了していないと判断した場合(ステップS23 No)には、Page Out処理部35は、ステップS22で得たBANK Noに対応するメインメモリBANK内のPage Out可能なページを探索する(ステップS24)。通常のオペレーティングシステムでは、プログラムの実行性能を重視して、Page Outを禁止するページを設定している機能を有している。本実施の形態でもその機能を有することとし、ステップS24では、Page Outを禁止しているか否かの情報を参照することとする。そして、ステップS24の探索結果によりPage Out可能な対象ページがあるか否かを判断する(ステップS25)。Page Out可能な対象ページが無いと判断した場合(ステップS25 No)には、i=i+1とし(ステップS26)、ステップS22に戻り、つぎの優先度についてステップS26までの処理を繰り返す。
ステップS25で、Page Out可能な対象ページがあると判断した場合(ステップS25 Yes)には、ステップS24で探索して得たPage Out可能なページをHDD32上のSwap領域またはPageFileへコピーする(ステップS27)。そして、Page Out処理部35は、最後に、ステップS24で探索して得たPage Out可能なページを、CPU1が利用できないように、アドレス変換テーブルを更新し(そのページへCPU1がアクセスした場合に、Page In処理が動作できるようにするため、CPU例外が発生するようアドレス変換テーブルを更新する。:ステップS28)、Page Out処理を終了する。
なお、ステップS23で、BANK管理テーブルに含まれる全てのBANK Noについての処理が終了したと判断して(ステップS23 Yes)、終了した場合には、Page Out処理は異常終了となるため、呼出し元へエラーリターンする。
以上のように、BANK管理テーブルの優先度に基づいてPage In処理を行うため、時系列的にみるとPage Outされるメモリ領域が、特定のメインメモリBANKに集中する結果が得られる。一方、プログラムにはアクセスの局所性と呼ばれる、統計的にみて近傍のプログラム,データへ連続してアクセスする特性が知られており、上記の特定のメインメモリBANKへのPage Outの集中により、その特定のメインメモリBANK以外のメインメモリBANKへのアクセス頻度が減少する。したがって、実施の形態5で説明した電源制御部3dがメインメモリBANKへの給電を停止する期間を長くすることができる。
なお、本実施の形態では、実施の形態5の電源制御方法を行う計算機システムでのPage Out処理について説明したが、実施の形態8と同様のPage In処理を行う計算機システムで本実施の形態のPage Out処理を行うようにしてもよい。この場合、Page In処理で用いるBANK管理テーブルとPage Out処理で用いるBANK管理テーブルとでは、メインメモリBANKに対応づける優先度は同じでもよいし異なってもよい。
このように、本実施の形態では、優先度に対応するBANK NoをBANK管理テーブルとして保持し、BANK管理テーブルに基づいて、優先度順にPage Out処理で用いるメインメモリBANKを選択するようにした。このため、特定のメインメモリBANK以外のメインメモリBANKへのアクセス頻度が減少し、電源制御部3dがメインメモリBANKへの給電を停止する期間を長くすることができ、実施の形態5よりさらに効率的にメインメモリ2の省電力化を図ることができる。
実施の形態10.
図12は、本発明にかかる計算機システムの実施の形態10のスケジューラ機能に関連する機能構成例を示す図である。図12に示すように、本実施の形態のスケジューラ機能に関連する構成要素は、オペレーティングシステム30b,メインメモリ2である。
図12は、本発明にかかる計算機システムの実施の形態10のスケジューラ機能に関連する機能構成例を示す図である。図12に示すように、本実施の形態のスケジューラ機能に関連する構成要素は、オペレーティングシステム30b,メインメモリ2である。
本実施の形態では、実施の形態5の計算機システムは、実施の形態5の構成を有することとし、実施の形態5で説明した電源制御方法により、メインメモリ2への給電をメインメモリBANK単位で制御していることとする。実施の形態5と同様の構成要素および動作については説明を省略する。
図12に示すように、本実施の形態のオペレーティングシステム30bは、スケジューラ36,タスク配置テーブル記憶部37,Readyキュー38を備えている。また、Run Task39は、実行中のタスクを示している。また、本実施の形態のメインメモリ2は、実施の形態8または9と同様にメインメモリBANKごとにBANK Noが付与されていることとする。
Readyキュー38は、CPU1で実行可能な状態のタスクが優先度順に並べられ、かつ同一の優先度のタスクはリスト構造でつながれている。各タスクは、識別するための番号が付与されていることとし、図12では、識別番号に#を付してしている。Readyキュー38で、Taskが#(−1)となっている箇所は、該当の優先度を有するCPU1で実行可能な状態のタスクが存在しないことを示している。
また、図12の例では、メインメモリ2は、BANK NoがNo.1のメインメモリBANKにタスク#1とタスク#2が配置されており、BANK NoがNo.2のメインメモリBANKにタスク#3とタスク#4が配置されていることとする。さらに、Run Task39として、タスク番号#1のタスクが実行されていることとする。タスク配置テーブル記憶部37に格納されているタスク配置テーブルは、タスク番号とそのタスク番号のタスクが配置されているBANK Noが格納されている。この例のように、一般には、1つのメインメモリBANKに複数のタスク領域が配置されている。
つづいて、本実施の形態のスケジューラ36の動作を説明する。図13は、本実施の形態のスケジューラ36の処理手順の一例を示すフローチャートである。たとえば、現在実行中のタスクであるRun Task39が終了したり、IO処理等の完了を待ち合わせた結果CPUの使用権を他のタスクへ受け渡す必要が生じたりした場合などに、オペレーティングシステム30bのスケジューラ36の処理が起動される。
処理が起動されると、まず、スケジューラ36は、タスク配置テーブルを参照し、Run Task39が配置されているBANK Noを取得し、変数iに取得したBANK Noを代入する(ステップS31)。つぎに、スケジューラ36は、変数jをj=0に初期化する(ステップS32)。つぎに、スケジューラ36は、Readyキュー38を検索して優先度がjであるタスクのタスク番号を得る(ステップS33)。
そして、スケジューラ36は、ステップS33で得たタスク番号が(−1)に等しいか否かを判断する(ステップS34)。ステップS33で得たタスク番号が(−1)に等しいと判断した場合(ステップS34 Yes)には、優先度jがReadyキュー38に含まれる最後の優先度であるか否かを判断する(ステップS35)。優先度jがReadyキュー38に含まれる最後の優先度でないと判断した場合(ステップS35 No)には、スケジューラ36は、j=j+1とし(ステップS36)、ステップS33に戻りステップS36までの処理を繰り返す。
ステップS35で、優先度jがReadyキューに含まれる最後の優先度であると判断した場合(ステップS35 Yes)には、Readyキュー38に含まれる全エントリを探索した結果、次に実行するタスクが存在しないこととなるため、CPU1をアイドル状態へ移行させて(ステップS37)、スケジュール処理を終了する。
また、ステップS34で、ステップS33で得たタスク番号が(−1)でないと判断した場合(ステップS34 No)には、スケジューラ36は、そのタスク番号のタスクが配置されている BANK Noをタスク配置テーブルから取得し、変数kに取得したBANK Noを代入する(ステップS38)。つぎに、スケジューラ36は、k=iであるか否かを判断し(ステップS39)、k=iでない場合には(ステップS39 No)、優先度jに対応する他のタスクがReadyキュー38にあるか否かを判断する(ステップS40)。優先度jに対応する他のタスクがReadyキュー38にあると判断した場合(ステップS40 Yes)には、Readyキュー38に格納されている優先度jのタスクで、ステップS38の処理を行っていないタスクについてステップS38からステップS40の処理を繰り返す。
ステップS40で優先度jに対応する他のタスクがReadyキュー38にないと判断した場合(ステップS40 No)には、Readyキュー38には優先度jでかつk=iの条件を満たすタスクが存在しないため、Readyキュー38に含まれる優先度jに対応する先頭タスクのタスク番号を求め、次のタスクとして決定する(ステップS41)。そして、現在のRun Task39から決定したタスクへディスパッチを行う(ステップS42)。そして、スケジューラ36は、決定したタスクをReadyキュー38から削除する(ステップS43)。そして、現在実行中のRun Task39を決定したタスクに入替え(ステップS44)、スケジュール処理を終了する。
ステップS39で、k=iであると判断した場合(ステップS39 Yes)には、ステップS38で取得したkに対応するタスクを次のタスクとして決定し、ステップS42に進む。
図12に示した状態では、ステップS34では、j=2でタスク#4を得て、ステップS38に進む。そして、ここでは、Run Task39としてタスク#1が実行中であるとしているため、i=1(BANK NoがNo.1)である。ステップS38では、BANK Noとしてk=No.2を得る。したがって、初回のステップS39では、kはiに等しくなく、ステップS40に進み、優先度j=2のタスク番号#2がReadyキュー38に存在するため、タスク番号#2についてステップS38,S39の処理を再度行う。そして、ステップS39では、k=iとなるため、ステップS42で、タスク#1からタスク#2へディスパッチを行うことになる。
以上のような処理を行うと、同じ優先度でk=iのタスクがある場合には、k=iのタスクを次のタスクとして決定するようにしているので、同じBANK NoのメインメモリBANKに配置されているタスクへディスパッチを行うようになる。このため、同一メインメモリBANK内の処理が続く確率があがり、それ以外のメインメモリBANKへのアクセス頻度が減少する。
なお、本実施の形態では、Readyキュー38とタスク配置テーブルを用いて上述のようなスケジューラ36の処理を行うようにしたが、優先度とそれに対応するタスク番号が管理され、また、タスク番号に対応するタスクが配置されているBANK Noが管理されていれば、これに限らずどのような構成としてもよい。図14は、本実施の形態のReadyキュー38とタスク配置テーブルを統合したReadyキュー38aを示す図である。たとえば、図14に示すように、Readyキュー38aに、優先度ごとに、その優先度に対応するタスク番号を格納し、さらに、そのタスク番号が配置されているBANK Noも合わせて格納しておき、Readyキュー38とタスク配置テーブルのかわりにReadyキュー38aを参照するようにしてもよい。
なお、本実施の形態では、スケジューラ36の処理について説明したが、Page In処理を実施の形態8と同様のPage In処理を行うようにしてもよい。また、Page Out処理を実施の形態9と同様のPage Out処理を行うようにしてもよい。また、Page In処理を実施の形態8と同様のPage In処理とし、かつ、Page Out処理を実施の形態9と同様のPage Out処理としてもよい。
このように、本実施の形態では、スケジューラ36は、同一の優先度のタスクのなかに、Run Task39として実行中のタスクが配置されているメインメモリBANKに配置されているタスクがある場合にそのタスクを次のタスクとして決定するようにした。このため、できるだけ同一のメインメモリBANKに存在するタスクへディスパッチできるようになり、特定のメインメモリBANK上でプログラムが連続実行される確率があがる。その結果、その特定のメインメモリBANK以外のメインメモリBANKへのアクセス頻度が減少するため、電源制御部3dが行う電源制御で、メインメモリBANKの給電が停止する頻度を上げることができ、より効率的にメインメモリ2の省電力化を図ることができる。
以上のように、本発明にかかる電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体は、計算機システムのメインメモリに対する電源を制御する計算機システムに有用であり、特に、メインメモリに不揮発性メモリを用いる計算機システムに適している。
1,1a,1b CPU
2 メインメモリ
3,3a,3b,3c,3d,3e,3f 電源制御部
4 メモリバス
5 電源供給ライン
6,6a,6b CPU監視部
7 MODE端子
8 EXCLK端子
9 ゲート
10 クロック発生装置
11 第1のMODE端子
12 第2のMODE端子
13 AND回路
14,15 OR回路
16 設定レジスタ
17,17a カウンタタイマ部
18,18a メモリバス監視部
19−1〜19−N カウンタタイマ
20 IO制御部
21,21a 外部割込み受信部
22 ゲート
23 Wait回路
30,30a,30b オペレーティングシステム
31,31a On Demand Paging機能部
32 HDD
33 Page In処理部
34 BANK管理テーブル記憶部
35 Page Out処理部
36 スケジューラ
37 タスク配置テーブル記憶部
38,38a Readyキュー
39 Run Task
2 メインメモリ
3,3a,3b,3c,3d,3e,3f 電源制御部
4 メモリバス
5 電源供給ライン
6,6a,6b CPU監視部
7 MODE端子
8 EXCLK端子
9 ゲート
10 クロック発生装置
11 第1のMODE端子
12 第2のMODE端子
13 AND回路
14,15 OR回路
16 設定レジスタ
17,17a カウンタタイマ部
18,18a メモリバス監視部
19−1〜19−N カウンタタイマ
20 IO制御部
21,21a 外部割込み受信部
22 ゲート
23 Wait回路
30,30a,30b オペレーティングシステム
31,31a On Demand Paging機能部
32 HDD
33 Page In処理部
34 BANK管理テーブル記憶部
35 Page Out処理部
36 スケジューラ
37 タスク配置テーブル記憶部
38,38a Readyキュー
39 Run Task
Claims (20)
- 通常電力モードまたは省電力モードで動作するCPUとメインメモリとを備える計算機システムにおいて、前記メインメモリの電源供給を制御する電源制御装置であって、
前記CPUのモードを示すモード信号を検出し、前記モード信号に基づいてCPUが省電力モードに移行したと判断した場合は前記メインメモリへの電源供給の停止を指示し、前記モード信号に基づいてCPUが通常電力モードに復帰したと判断した場合は前記メインメモリへの電源供給の開始を指示するCPU監視手段、
を備え、
前記指示に基づいて前記メインメモリへの電源供給を制御することを特徴とする電源制御装置。 - 前記モード信号を、モードごとに設定される前記CPUのモード端子の電圧値とすることを特徴とする請求項1に記載の電源制御装置。
- 前記CPUは省電力モードとして2種類以上のモードを有することとし、
さらに、
前記CPUのモードごとにメインメモリへの電源供給を停止するか否かの設定情報を格納するための設定格納手段、
を備え、
前記CPU監視手段は、前記CPUが省電力モードに移行したと判断した場合、さらに前記設定情報に基づいてそのモードが電源供給を停止すると設定されているか否かを判断し、そのモードが電源供給を停止しないと設定されている場合は、電源供給の停止を指示しないことを特徴とする請求項2に記載の電源制御装置。 - 前記CPUは、省電力モードでは動作クロックの供給を停止することとし、また、前記モード信号を、前記CPUに動作クロックを供給するクロック信号とし、
前記CPU監視手段は、前記クロック信号の供給が停止した場合は省電力モードに移行したと判断し、前記クロック信号の供給が開始された場合は通常電力モードに復帰したと判断することを特徴とする請求項1に記載の電源制御装置。 - CPUとメインメモリとを備え、前記CPUがメモリバスを用いて前記メインメモリへアクセスする計算機システムにおいて、前記メインメモリの電源供給を制御する電源制御装置であって、
所定の初期値から一定時間ごとにカウント値を減じ、カウント値が0になった場合に、メインメモリへの電源供給を停止するよう指示するカウンタタイマ手段と、
前記CPUによる前記メインメモリへのアクセスを監視し、アクセスがあった場合には、前記カウンタタイマ手段のカウント値を初期値にリセットするメモリバス監視手段と、
を備えることを特徴とする電源制御装置。 - 前記メインメモリは、個別に給電が可能な複数のメモリバンクで構成されることとし、
前記カウンタタイマ手段を、前記メモリバンクごとに備え、
前記メモリバス監視手段は、前記CPUによるアクセスを前記メモリバンクごとに監視し、アクセスがあったメモリバンクに対応するカウンタタイマ手段を初期値にリセットすることを特徴とする請求項5に記載の電源制御装置。 - 前記CPUに送信される外部割込み信号の有無を監視し、前記外部割込み信号を検出したときに、前記メインメモリへの電源供給が停止している場合には、前記メインメモリへの電源供給の開始を指示する外部割込み監視手段、
をさらに備え、
さらに前記外部割込み監視手段の指示に基づいて前記メインメモリへの電源供給を制御することを特徴とする請求項1〜4のいずれか1つに記載の電源制御装置。 - 前記CPUへの前記外部割込み信号の入力の可否を制御するゲート回路手段と、
起動されると所定の設定時間だけ待機し、待機が終了すると待機終了を通知する待機手段と、
をさらに備え、
前記外部割込み監視手段は、
前記CPU監視手段が前記メインメモリへの電源供給を停止した場合には、前記ゲート回路手段を閉じることにより前記CPUへの前記外部割込み信号の入力を不可とし、
前記外部割込み信号を検出した場合には、さらに、前記待機手段を起動し、前記待機手段から待機終了通知を受信した時点で前記ゲート回路手段を開けることにより前記CPUへの前記外部割込み信号の入力を可とすることを特徴とする請求項7に記載の電源制御装置。 - CPUと個別に給電可能な複数のメモリバンクで構成されるメインメモリとを備える計算機システムであって、
請求項6に記載の電源制御装置と、
メモリバンクごとのページイン元として選択するための優先順位を示す優先度をページインバンク管理テーブルとして記憶するためのページインバンク管理テーブル記憶手段と、
ページイン要求が発生した場合に、前記ページインバンク管理テーブルを参照し、前記優先度の高いメモリバンクから順に空き領域を探索し、空き領域があると判断したメモリバンクをページイン先のメモリバンクとして決定して所定のページイン処理を行うページイン処理手段と、
を備えることを特徴とする計算機システム。 - 前記メモリバンクごとのページアウト対象として選択するための優先順位を示す優先度をページアウトバンク管理テーブルとして記憶するためのページアウトバンク管理テーブル記憶手段と、
ページアウト要求が発生した場合に、前記ページアウトバンク管理テーブルを参照し、前記優先度の高いメモリバンクから順にページアウト可能領域を探索し、ページアウト可能領域があると判断したメモリバンクをページアウト対象のメモリバンクとして決定して所定のページアウト処理を行うページアウト処理手段と、
をさらに備えることを特徴とする請求項9に記載の計算機システム。 - CPUと個別に給電可能な複数のメモリバンクで構成されるメインメモリとを備える計算機システムであって、
請求項6に記載の電源制御装置と、
前記メモリバンクごとのページアウト対象として選択するための優先順位を示す優先度をページアウトバンク管理テーブルとして記憶するためのページアウトバンク管理テーブル記憶手段と、
ページアウト要求が発生した場合に、前記ページアウトバンク管理テーブルを参照し、前記優先度の高いメモリバンクから順にページアウト可能領域を探索し、ページアウト可能領域があると判断したメモリバンクをページアウト対象のメモリバンクとして決定して所定のページアウト処理を行うページアウト処理手段と、
を備えることを特徴とする計算機システム。 - CPUと個別に給電可能な複数のメモリバンクで構成されるメインメモリとを備える計算機システムであって、
請求項6に記載の電源制御装置と、
実行する優先度とタスクの識別番号とを対応付けて記憶するためのReadyキューと、
タスクの識別番号と、その識別番号に対応するタスクが配置されるメインメモリバンクの識別子とを対応付けてタスク配置テーブルとして記憶するためのタスク配置テーブル記憶手段と、
現在実行中のタスクが配置されているメモリバンクの識別子を前記タスク配置テーブルから取得し、取得した識別番号を第1の番号とし、また、実行可能なタスクのうち前記Readyキューに記憶されている優先度が最も高いタスクの識別番号を読み出し、その識別番号に対応するメモリバンクの識別子を第2の番号として前記タスク配置テーブルから取得し、前記第1の番号と一致する前記第2の番号に対応するタスク番号がある場合には、そのタスク番号に対応するタスクを次に実行するタスクとして決定し、一方、前記第1の番号と一致する前記第2の番号に対応するタスク番号が無い場合は、前記Readyキューに記憶されているその優先度に対応するタスクの識別番号のうちの1つを次に実行するタスクとして決定するスケジューラと、
を備えることを特徴とする計算機システム。 - 実行する優先度とタスクの識別番号とを対応付けて記憶するためのReadyキューと、
タスクの識別番号と、その識別番号に対応するタスクが配置されるメインメモリバンクの識別子と対応付けてタスク配置テーブルとして記憶するためのタスク配置テーブル記憶手段と、
現在実行中のタスクが配置されているメモリバンクの識別子を前記タスク配置テーブルから取得し、取得した識別番号を第1の番号とし、また、実行可能なタスクのうち前記Readyキューに記憶されている優先度が最も高いタスクの識別番号を読み出し、その識別番号に対応するメモリバンクの識別子を第2の番号として前記タスク配置テーブルから取得し、前記第1の番号と一致する前記第2の番号に対応するタスク番号がある場合には、そのタスク番号に対応するタスクを次に実行するタスクとして決定し、一方、前記第1の番号と一致する前記第2の番号に対応するタスク番号が無い場合は、前記Readyキューに記憶されているその優先度に対応するタスクの識別番号のうちの1つを次に実行するタスクとして決定するスケジューラと、
をさらに備えることを特徴とする請求項9、10または11に記載の計算機システム。 - 通常電力モードまたは省電力モードで動作するCPUとメインメモリとを備える計算機システムにおいて、前記メインメモリの電源供給を制御する電源制御方法であって、
前記CPUのモードを示すモード信号を検出し、前記モード信号に基づいてCPUが省電力モードに移行したと判断した場合は、前記メインメモリへの電源供給の停止を指示し、前記モード信号に基づいてCPUが通常電力モードに復帰したと判断した場合は、前記メインメモリへの電源供給の開始を指示するCPU監視ステップと、
前記指示に基づいて前記メインメモリの電源供給を制御する電源制御ステップと、
を含むことを特徴とする電源制御方法。 - CPUとメインメモリとを備え、前記CPUがメモリバスを用いて前記メインメモリへアクセスする計算機システムにおいて、前記メインメモリの電源供給を制御する電源制御方法であって、
所定の初期値から一定時間ごとにカウンタのカウント値を減じ、カウント値が0となった場合に、メインメモリへの電源供給を停止するよう指示するカウンタタイマステップと、
前記CPUによる前記メインメモリへのアクセスを監視し、アクセスがあった場合には、前記カウンタのカウント値を初期値にリセットするメモリバス監視ステップと、
を含むことを特徴とする電源制御方法。 - CPUと個別に給電可能な複数のメモリバンクで構成されるメインメモリとを備える計算機システムにおける電源制御方法であって、
前記メモリバンクごとのページイン元として選択するための優先順位を示す優先度をページインバンク管理テーブルとして記憶するためのページインバンク管理テーブル記憶ステップと、
ページイン要求が発生した場合に、前記ページインバンク管理テーブルを参照し、前記優先度の高いメモリバンクから順に空き領域を探索し、空き領域があると判断したメモリバンクをページイン先のメモリバンクとして決定して所定のページイン処理を行うページイン処理ステップと、
前記メモリバンクごとにカウンタのカウント値を所定の初期値に設定し、それぞれのカウント値を一定時間ごとに減じ、カウント値が0となった場合に、そのカウント値に対応するメモリバンクへの電源供給を停止するよう指示するカウンタタイマステップと、
前記CPUによる前記メインメモリへのアクセスをメモリバンクごとに監視し、アクセスがあった場合には、アクセスのあったメモリバンクに対応する前記カウンタのカウント値を初期値にリセットするメモリバス監視ステップと、
前記指示に基づいて前記メインメモリの電源供給を制御する電源制御ステップと、
を含むことを特徴とする電源制御方法。 - CPUと個別に給電可能な複数のメモリバンクで構成されるメインメモリとを備える計算機システムにおける電源制御方法であって、
前記メモリバンクごとのページアウト対象として選択するための優先順位を示す優先度をページアウトバンク管理テーブルとして記憶するためのページアウトバンク管理テーブル記憶ステップと、
ページアウト要求が発生した場合に、前記ページアウトバンク管理テーブルを参照し、前記優先度の高いメモリバンクから順にページアウト可能領域を探索し、ページアウト可能領域があると判断したメモリバンクをページアウト対象のメモリバンクとして決定して所定のページアウト処理を行うページアウトステップと、
前記メモリバンクごとにカウンタのカウント値を所定の初期値に設定し、それぞれのカウント値を一定時間ごとに減じ、カウント値が0となった場合に、そのカウント値に対応するメモリバンクへの電源供給を停止するよう指示するカウンタタイマステップと、
前記CPUによる前記メインメモリへのアクセスをメモリバンクごとに監視し、アクセスがあった場合には、アクセスのあったメモリバンクに対応するカウンタのカウント値を初期値にリセットするメモリバス監視ステップと、
前記指示に基づいて前記メインメモリの電源供給を制御する電源制御ステップと、
を含むことを特徴とする電源制御方法。 - CPUと個別に給電可能な複数のメモリバンクで構成されるメインメモリとを備える計算機システムにおける電源制御方法であって、
実行する優先度とタスクの識別番号とを対応付けてReadyキューに記憶するReadyキューステップと、
タスクの識別番号と、その識別番号に対応するタスクが配置されるメインメモリバンクの識別子と対応付けてタスク配置テーブルとして記憶するタスク配置テーブル記憶ステップと、
現在実行中のタスクが配置されているメモリバンクの識別子を前記タスク配置テーブルから取得し、取得した識別番号を第1の番号とし、また、実行可能なタスクのうち前記Readyキューに記憶されている優先度が最も高いタスクの識別番号を読み出し、その識別番号に対応するメモリバンクの識別子を第2の番号として前記タスク配置テーブルから取得し、前記第1の番号と一致する前記第2の番号に対応するタスク番号がある場合には、そのタスク番号に対応するタスクを次に実行するタスクとして決定し、一方、前記第1の番号と一致する前記第2の番号に対応するタスク番号が無い場合は、前記Readyキューに記憶されているその優先度に対応するタスクの識別番号のうちの1つを次に実行するタスクとして決定するスケジューリングステップと、
前記メモリバンクごとにカウンタのカウント値を所定の初期値に設定し、それぞれのカウント値を一定時間ごとに減じ、カウント値が0となった場合に、そのカウント値に対応するメモリバンクへの電源供給を停止するよう指示するカウンタタイマステップと、
前記CPUによる前記メインメモリへのアクセスをメモリバンクごとに監視し、アクセスがあった場合には、アクセスのあったメモリバンクに対応するカウント値を初期値にリセットするメモリバス監視ステップと、
前記指示に基づいて前記メインメモリの電源供給を制御する電源制御ステップと、
を含むことを特徴とする電源制御方法。 - 請求項16、17または18の電源制御方法をコンピュータに実行させることを特徴とする電源制御プログラム。
- 請求項19の電源制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008206220A JP2010044460A (ja) | 2008-08-08 | 2008-08-08 | 電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008206220A JP2010044460A (ja) | 2008-08-08 | 2008-08-08 | 電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010044460A true JP2010044460A (ja) | 2010-02-25 |
Family
ID=42015816
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008206220A Pending JP2010044460A (ja) | 2008-08-08 | 2008-08-08 | 電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2010044460A (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012203585A (ja) * | 2011-03-24 | 2012-10-22 | Toshiba Corp | 情報処理装置 |
| JP2013030024A (ja) * | 2011-07-28 | 2013-02-07 | Toshiba Corp | 情報処理装置 |
| KR20130100719A (ko) | 2012-03-01 | 2013-09-11 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 반도체 장치 |
| JP2013254512A (ja) * | 2013-08-05 | 2013-12-19 | Toshiba Corp | 情報処理装置 |
| CN103543815A (zh) * | 2012-07-09 | 2014-01-29 | 株式会社东芝 | 信息处理设备和信息处理方法 |
| WO2015015756A1 (ja) * | 2013-08-02 | 2015-02-05 | 日本電気株式会社 | 不揮発性メモリ搭載サーバの省電力制御システム、制御装置、制御方法および制御プログラム |
| US8990521B2 (en) | 2011-11-24 | 2015-03-24 | Kabushiki Kaisha Toshiba | Information processing device and computer program product |
| JP2018139093A (ja) * | 2017-02-24 | 2018-09-06 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
| WO2024148977A1 (zh) * | 2023-01-11 | 2024-07-18 | 超聚变数字技术有限公司 | 一种供电方法、硬盘及计算设备 |
-
2008
- 2008-08-08 JP JP2008206220A patent/JP2010044460A/ja active Pending
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012203585A (ja) * | 2011-03-24 | 2012-10-22 | Toshiba Corp | 情報処理装置 |
| US8880914B2 (en) | 2011-03-24 | 2014-11-04 | Kabushiki Kaisha Toshiba | Information processing apparatus and judging method |
| JP2013030024A (ja) * | 2011-07-28 | 2013-02-07 | Toshiba Corp | 情報処理装置 |
| US8990521B2 (en) | 2011-11-24 | 2015-03-24 | Kabushiki Kaisha Toshiba | Information processing device and computer program product |
| KR20130100719A (ko) | 2012-03-01 | 2013-09-11 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 반도체 장치 |
| US9207751B2 (en) | 2012-03-01 | 2015-12-08 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
| CN103543815A (zh) * | 2012-07-09 | 2014-01-29 | 株式会社东芝 | 信息处理设备和信息处理方法 |
| JP2014016782A (ja) * | 2012-07-09 | 2014-01-30 | Toshiba Corp | 情報処理装置およびプログラム |
| WO2015015756A1 (ja) * | 2013-08-02 | 2015-02-05 | 日本電気株式会社 | 不揮発性メモリ搭載サーバの省電力制御システム、制御装置、制御方法および制御プログラム |
| JP2013254512A (ja) * | 2013-08-05 | 2013-12-19 | Toshiba Corp | 情報処理装置 |
| JP2018139093A (ja) * | 2017-02-24 | 2018-09-06 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
| WO2024148977A1 (zh) * | 2023-01-11 | 2024-07-18 | 超聚变数字技术有限公司 | 一种供电方法、硬盘及计算设备 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2010044460A (ja) | 電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体 | |
| JP4281421B2 (ja) | 情報処理システム及びその制御方法、並びにコンピュータ・プログラム | |
| JP5989574B2 (ja) | 計算機、メモリ管理方法およびプログラム | |
| JP4902501B2 (ja) | 電力制御方法、計算機システム、及びプログラム | |
| US20060031692A1 (en) | Power-saving processing unit, power-saving processing method and program record medium | |
| JP2019159802A (ja) | 記憶装置の電力制御方法および記憶装置 | |
| JP2011095916A (ja) | 電子機器 | |
| US20120030405A1 (en) | Information processing device and information processing method | |
| US20140013140A1 (en) | Information processing apparatus and computer program product | |
| JP5321866B2 (ja) | コンピュータシステム | |
| JP5636677B2 (ja) | 電子機器、その省電力制御方法、およびプログラム | |
| US20140297927A1 (en) | Information processing apparatus, information processing method, and recording medium | |
| JP5045163B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
| JP6054203B2 (ja) | 情報処理装置、デバイス制御方法及びプログラム | |
| JP2005196343A (ja) | メモリ管理装置及びメモリ管理方法及びプログラム | |
| WO2005069148A2 (en) | Memory management method and related system | |
| JP2009020555A (ja) | スワップ処理装置 | |
| JP4170364B2 (ja) | プロセッサ | |
| JP2010061620A (ja) | Dma装置及びdma転送方法 | |
| US7007134B2 (en) | Microcomputer, method of controlling cache memory, and method of controlling clock | |
| JP6074486B2 (ja) | 画像処理装置、その制御方法、及びプログラム | |
| JP5830038B2 (ja) | 仮想計算機システム、デバイス共有制御方法、プログラム、及び集積回路 | |
| JP5382471B2 (ja) | 電力制御方法、計算機システム、及びプログラム | |
| US7093148B2 (en) | Microcontroller Operable in normal and low speed modes utilizing control signals for executing commands in a read-only memory during the low speed modes | |
| WO2013031130A1 (ja) | 情報処理装置、そのアクセス制御方法及び集積回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100519 |