JP2010286964A - コンピュータおよび電源管理方法 - Google Patents

コンピュータおよび電源管理方法 Download PDF

Info

Publication number
JP2010286964A
JP2010286964A JP2009139038A JP2009139038A JP2010286964A JP 2010286964 A JP2010286964 A JP 2010286964A JP 2009139038 A JP2009139038 A JP 2009139038A JP 2009139038 A JP2009139038 A JP 2009139038A JP 2010286964 A JP2010286964 A JP 2010286964A
Authority
JP
Japan
Prior art keywords
ram
memory
program
discardable
data
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.)
Granted
Application number
JP2009139038A
Other languages
English (en)
Other versions
JP5451191B2 (ja
Inventor
Kenichi Sawada
賢一 澤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC System Technologies Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC System Technologies Ltd filed Critical NEC System Technologies Ltd
Priority to JP2009139038A priority Critical patent/JP5451191B2/ja
Publication of JP2010286964A publication Critical patent/JP2010286964A/ja
Application granted granted Critical
Publication of JP5451191B2 publication Critical patent/JP5451191B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Power Sources (AREA)
  • Memory System (AREA)

Abstract

【課題】ROM上のプログラムをRAMに複写して実行するコンピュータにおいて、より一層の省電力化を実現すること
【解決手段】メモリ管理部22は、RAM上における物理メモリの確保とその解放およびROMからRAMへのコピー処理を行う手段31と、ページテーブル25を更新する手段32と、RAMを、使用中RAMと不使用RAMとに区分して管理するとともに、使用中RAMをさらに、書き込み可能データを記憶している破棄不可能RAMと、書き込み可能データを記憶していない破棄可能RAMとに区分して管理する手段33とを備える。電源管理部23は、省電力移行時に、仮想ページに割り当てられている破棄可能RAM上のメモリ領域の解放をメモリ管理部22に要求し、不使用RAMと破棄可能なRAMへの電源供給の停止を電源装置へ指示する。
【選択図】図2

Description

本発明はコンピュータの消費電力を削減する技術に関し、特にコンピュータに備わるRAMの消費電力を削減する技術に関する。
コンピュータの消費電力を削減するために、コンピュータに備わるRAMの消費電力を削減する技術が幾つか提案されている。
例えば特許文献1の第3の実施の形態では、必要に応じてRAM上のデータの再配置を行うことにより、アプリケーションプログラムで使用するデータをできるだけ少ない数のRAMに格納し、残りの未使用なRAMの電源供給を停止することで消費電力を削減している。類似するアイデアは特許文献2の第3の実施の形態にも記載されている。ただし、特許文献2では、DRAMを使用し、未使用なDRAMの電源供給を停止するのではなく、リフレッシュ動作を停止するようにしている。
また特許文献2の第1の実施の形態では、コンピュータに備わる複数のDRAMを、必要な保持時間がリフレッシュ周期より長いデータを保持する第1のDRAMと、リフレッシュ周期より短いデータを保持する第2のDRAMとに区分し、アプリケーションプログラムが使用するデータの必要保持期間がリフレッシュ周期より短くて良いか否かを判定し、短くて良いデータは第2のDRAMに記憶し、それ以外のデータは第1のDRAMに記憶する。そして、第1のDRAMはリフレッシュ動作を行い、第2のDRAMはリフレッシュ動作を行わないようにすることで、消費電力を削減している。
特開平10−254587号公報 特開2004−47051号公報
特許文献1および特許文献2では、複数のRAMを有するコンピュータにおいて、未使用RAMの数を増やすことにより、またリフレッシュ動作を行わないRAMの数を増やすことにより、RAM全体で消費する電力を削減している。
しかしながら、未使用RAMの数は、RAM全体の使用量が増加すれば増加するほど少なくなる。また、リフレッシュ動作を行わないRAMの数は、必要保持期間がリフレッシュ周期より長いデータが増加するほど少なくなる。このため、書き込み可能なデータだけでなく、アプリケーションプログラムのコードや読み込み専用データをROMからRAMに複写して実行するコンピュータにあっては、RAM全体の使用量が増加し、また必要保持期間がリフレッシュ周期より長いデータが増加するため、消費電力を十分に削減できないという課題がある。
本発明の目的は、ROM上のプログラムをRAMに複写して実行するコンピュータにおいて、より一層の省電力化を実現することにある。
本発明の第1のコンピュータは、1以上のROMと、複数のRAMと、ページテーブルを参照して仮想アドレス・物理アドレス変換を行うメモリ管理ユニットと、該メモリ管理ユニットを通じて前記ROMおよび前記RAMをアクセスするCPUと、電源装置とを備え、前記ROMに記憶されたプログラムを前記RAMに複写し、該複写先のRAM領域の物理アドレスと前記プログラムの仮想アドレスとの対応関係を前記ページテーブルに設定することにより、前記プログラムを前記RAM上で動かすコンピュータであって、
前記RAM上における物理メモリの確保とその解放および前記ROMから前記RAMへのコピー処理を行う手段と、前記ページテーブルを更新する手段と、前記RAMを、使用中RAMと不使用RAMとに区分して管理するとともに、使用中RAMをさらに、書き込み可能データを記憶している破棄不可能RAMと、書き込み可能データを記憶していない破棄可能RAMとに区分して管理する手段とを備えたメモリ管理手段と、
省電力移行時に、仮想ページに割り当てられている破棄可能RAM上のメモリ領域の解放を前記メモリ管理手段に要求し、不使用RAMと破棄可能なRAMへの電源供給の停止を前記電源装置へ指示する電源管理手段とを備える。
本発明によれば、ROM上のプログラムをRAMに複写して実行するコンピュータにおいて、より一層の省電力化が可能になる。
本発明の第1の実施の形態に係るコンピュータのハードウェア構成を示すブロック図である。 本発明の第1の実施の形態に係るコンピュータのソフトウェア構成を示すブロック図である。 ROMに記憶されているプログラム内部セクションの例を示す図である。 ページテーブルの例を示す図である。 RAMテーブルの例を示す図である。 プログラムの実行前のROMとRAMの状態を示す図である。 プログラムの読み込み開始時点のROMとRAMの状態を示す図である。 プログラムの読み込み後のROMとRAMの状態を示す図である。 プログラムの実行時のROMとRAMの状態を示す図である。 省電力状態のROMとRAMの状態を示す図である。 プログラムの読み込み後のROMとRAMの他の状態を示す図である。 プログラムの実行時のROMとRAMの他の状態を示す図である。 省電力状態のROMとRAMの他の状態を示す図である。 省電力状態からの復帰時のROMとRAMの状態を示す図である。 プログラムの読み込み後のROMとRAMの別の状態を示す図である。 プログラムの実行時のROMとRAMの別の状態を示す図である。 省電力状態のROMとRAMの別の状態を示す図である。 本発明の他の実施の形態に係るコンピュータのソフトウェア構成を示すブロック図である。 本発明の他の実施の形態に係るコンピュータのソフトウェア構成を示すブロック図である。 本発明の他の実施の形態に係るコンピュータのソフトウェア構成を示すブロック図である。 本発明の他の実施の形態におけるプログラム読み込み後のROMとRAMの状態を示す図である。 本発明の他の実施の形態におけるプログラムの実行時のROMとRAMの状態を示す図である。 本発明の他の実施の形態におけるプログラムの実行時のROMとRAMの状態を示す図である。 本発明の他の実施の形態におけるプログラムの実行時のROMとRAMの状態を示す図である。
[第1の実施の形態]
図1を参照すると、本発明の第1の実施の形態に係るコンピュータは、ハードウェア構成として、CPU11、MMU12、ROM13、RAM14−1〜14−n、電源装置15を備えている。
また図2を参照すると、本発明の第1の実施の形態に係るコンピュータは、ソフトウェア構成として、ローダー部21、メモリ管理部22、電源管理部23、RAMテーブル24、ページテーブル25、例外処理部26を備えている。
ROM13は、1以上のソフトウェアプログラム(以下、単にプログラムと称す)を記憶する。プログラムは、実行コード領域(コード)、更新可能なデータ領域(RWデータ)、読み込み専用データ領域(ROデータ)の各内部セクションと、これら内部セクションの情報を含むヘッダーとから構成されている。ROM13に記憶されているプログラム内部セクションの例を図3に示す。図3に示すように、ヘッダーとコードとROデータの動作時の属性は読み込み専用であり、RWデータの動作時の属性は書き込み可能である。ヘッダーには、各内部セクション毎に、セクション名、プログラムファイル中のオフセットアドレス、読み込まれる時のプロセス空間内仮想アドレス、サイズ、前述した属性が記述されている。なお、図1の例ではROM13は1チップだけであるが、2チップ以上あっても良い。また、ROM上のプログラムにはスタックは含まれていないが、RWデータのRAMへのコピー時にはスタックが自動的にそのRAM上にコピーされるようになっている。
RAM14−1〜14−nは、セルフリフレッシュ機能を有するDRAMである。これらのRAM14−1〜14−nは、セルフリフレッシュ機能のオン、オフを個別に制御することができる。RAMのチップ数は2チップ以上であれば任意である。
電源装置15と電源管理部23は、ROM13、RAM14−1〜14−nへ電力を供給する部分であり、ROM13、RAM14−1〜14−nのそれぞれついて個別に電源供給の有無を制御できるようになっている。
MMU12は、仮想アドレス・物理アドレス変換を行う機能を有するメモリ管理ユニットである。またMMU12は、仮想アドレスに対応する物理アドレスが無い領域へのアクセスの検知機能と、書き込み不可領域への書き込みアクセスの検知機能とを有する。
CPU11は、ROM13およびRAM14−1〜14−nにMMU12を通じてアドレスにて直接アクセスすることで、プログラムの実行を行う。図2に示されるローダー部21、メモリ管理部22、電源管理部23、例外処理部26は、CPU11上で実行されるソフトウェアモジュールである。
ページテーブル25は、物理アドレスと仮想アドレスとの対応、メモリページ毎の書き込み属性、および有効/無効の情報を記録する。このページテーブル25は、メモリ管理部22により更新され、CPU11およびMMU12から参照される。ページテーブル25の一例を図4に示す。
RAMテーブル24は、複数のRAM14−1〜14−nのそれぞれについて、使用状態と諸元を記録する。RAMテーブル24の一例を図5に示す。この例では、各RAMについて、使用状態フラグ、先頭物理アドレス、サイズ、電源状態が記録されている。使用状態フラグには、使用中、使用中だが内部情報破棄可能、未使用の3つの状態のうちの何れか1つの状態が記録される。電源状態には、オン、オフ、セルフリフレッシュの3つの状態のうちの何れか1つの状態が記録される。RAMテーブル24は、電源管理部23およびローダー部21から参照される。
メモリ管理部22は、RAM14−1〜14−n上における物理メモリの確保とその解放およびROM13からRAM14−1〜14−nへのコピー処理を行う手段31と、ページテーブル25を更新する手段32と、RAM14−1〜14−nの状態をRAMテーブル24にて管理する手段33とを備えている。
ローダー部21は、ROM13上のプログラムをRAM14−1〜14−nにロードする部分であり、メモリ確保先判定手段34と、メモリ要求手段35とを有する。メモリ確保先判定手段34は、プログラムの内部セクションの属性とRAM14−1〜14−nの状態に応じて、プログラムのコード、ROデータ、RWデータ等を読み込む先のRAMを決定する機能を有する。またメモリ要求手段35は、メモリ確保先判定手段34で決定された読み込み先を指定して、プログラムのコード、ROデータ、RWデータ等をROM13からRAM14−1〜14−nへロードするための複写処理をメモリ管理部22へ要求する機能を有する。
例外処理部26は、MMU12が書き込み不可領域への書き込みアクセスを検知した際に実行される書き込み例外処理や、仮想アドレスに対応する物理アドレスが無い領域へのアクセスを検知した際に実行されるページ例外処理を行う部分である。
次に本実施の形態の動作を説明する。
コンピュータの初期化段階においては、メモリ管理部22、ローダー部21、電源管理部23などの管理プログラム自身が動作するのに必要な書き換え可能メモリ領域を1つのRAM上に配置する。管理プログラムは、このRAMを電源OffしないRAMチップ、その他のRAMを電源Off可能なRAMチップとして認識する。
コンピュータが動作するに従いメモリ使用状況が変化する。メモリ管理部22は、メモリ消費状況に応じて、ページテーブル25の更新とともにRAMテーブル24上の情報を更新する。またメモリ使用が発生した際、ローダー部21は、要求されたメモリの読み書き属性に応じて、使用中、使用中だが破棄可能、未使用の何れのRAM上へメモリ領域を確保するかを判断し、その判断に従ってメモリ管理部22はメモリ割り当てを行う。メモリ割り当てによりRAMの状態がRAMテーブル24の記録と異なる場合は、メモリ管理部22はRAMテーブル24の更新を行う。
メモリ管理部22のメモリ割り当てにおいては、読み書き可能なメモリ領域を使用中RAMへ優先的に割り当て、読み込み専用メモリ領域を破棄可能RAMへ優先的に割り当て、RAM上の空き領域が不足する場合、未使用のRAMに割り当てることを基本とする。しかし、割り当て方針によりどの状態のRAMに割り当てるかを変更しても良い。また、空きメモリ領域を増やすためにRAM間でのメモリ再配置や再配置に伴うRAM状態の変更、従来技術にあるガーベージコレクションなどとの組み合わせを行っても良い。また複数の割り当て方針に従った割り当て処理を施し、使用する割り当て処理を動的に切り替えてもよい。
当該コンピュータあるいは当該コンピュータを含む電子機器に対するユーザからの指示が所定期間以上無い、またはユーザから省エネモードへの変更が指示されたなど、所定の条件が成立すると、電源管理部23は、当該コンピュータの電源状態を省エネモードに変更する必要が生じたと判断する。このとき電源管理部23は、まず、RAMテーブル24を参照し、使用中だが破棄可能なRAMを選択し、この選択したRAM上に割り当てられたメモリ領域の開放をメモリ管理部22へ要求する。
この要求を受けたメモリ管理部22は、ページテーブル25から当該RAMを指す物理アドレスを消去して領域の開放を行い、電源管理部23へ開放完了を通知する。
電源管理部23は、メモリ管理部22による領域開放が完了すると、RAMテーブル24上で使用中だが破棄可能と記録されているRAMおよび未使用と記録されているRAMの電源をOffにする。電源管理部23は、RAMテーブル4上で使用中と記録されているRAMに対しては、電源状態の変更を行わずOnのままとする。このとき、使用中のRAMをセルフリフレッシュへ移行させるようにしても良い。
次に、プログラム実行時にROMからRAMへプログラムを読み込み、RAM上でプログラムを実行する詳細な動作を説明する。
プログラム実行を開始する時点で、ローダー部21は対象プログラム内のセクション情報をプログラムのヘッダーより読み出し、各セクションの読み書き属性を確認する。各セクションの属性にあわせて、メモリ管理部22へメモリ領域の要求を行う。
以下では、説明の便宜上、RAMは14-1と14-2の2つとし、RAM14-1をRAM1、RAM14−2をRAM2と記す。また、RAM1は使用中であり電源On状態、RAM2は未使用で電源Off状態にあるものとする。またRAMへ読み込んで実行するプログラムをプログラムAと記す。
プログラムAの実行前は、図6に示すように、RAM1にはRAMテーブル24、ページテーブル25等、管理プログラムに必要なデータは記憶されているが、プログラムAはRAM上にはなく、ROM上にのみ存在している。
プログラムAの実行が要求されると、ローダー部21のメモリ確保先判定手段34は、ROM上のプログラムAのヘッダーを参照するとともに、メモリ管理部22から空きメモリ状況を確認し、読み込み先を判定する。このとき、判定した読み込み先のRAMの電源状態がOffの場合、ローダー部21からメモリ管理部22を通じて、コピー開始前に電源管理部23により当該RAMの電源状態がOnに変更される。
メモリ確保先判定手段34は、使用中のRAM1に十分な空き容量がある場合、プログラムAのコード、ROデータ、RWデータおよびスタックの全ての読み込み先を使用中RAM1に決定する。その理由は、RAM2を未使用電源Off状態に維持することができるためである。ローダー部21のメモリ要求手段35は、RAM1をロード先に指定して、プログラムAのコード、ROデータ、RWデータおよびスタックをRAM1にロードするためのメモリ領域の確保とコピー処理をメモリ管理部22に要求する。メモリ管理部22は、その要求に従って、ROMから該当部分を読み出し、RAM1に書き込み、ページテーブル25を更新する。これにより、図8に示すように、プログラムAのコード、ROデータ、RWデータがRAM1に再配置される。
図8に示したようにプログラムAがRAM1上に展開された後、プログラムAの実行開始点のアドレスがアクセスされることで、プログラムAの実行が開始される。プログラムAの実行中は、図9に示すように、RAM1上のプログラムAのコード、ROデータ、RWデータがアクセスされる。
省エネモードへの変更時には、メモリ管理部22にてRAMテーブル24を確認し、未使用あるいは情報を破棄可能と判断したRAMについては、当該RAM範囲の物理アドレスをページテーブル25から消去し、電源管理部23により当該RAMの電源をOffにする。また、使用中のRAMについてはセルフリフレッシュに切り替える。図9の状態においては、RAM1は使用中なので、セルフリフレッシュに切り替えられる。また、RAM2は以前として電源Offの状態が維持される。図10はこのような省エネモード時の状態を示している。
当該コンピュータあるいは当該コンピュータを含む電子機器に対するユーザからの指示があった場合、またはユーザから通常モード(非省エネモード)への変更が指示されるなど、所定の条件が成立すると、電源管理部2は、当該コンピュータの電源状態を通常モードに変更する必要が生じたと判断する。図10に示すような省エネモード状態から通常モード(非省エネモード)への復帰時、あるいは、復帰後にプログラムAのコード等に対するアクセスが初めて発生した時、電源管理部23によりRAM2の電源がOnされる。また、RAM1のセルフリフレッシュ機能はOffされる。これにより、図9の状態に復帰する。
他方、メモリ確保先判定手段34は、使用中のRAM1に、プログラムAのコード、ROデータ、RWデータおよびスタックの全てを記憶するだけの空き容量が無い場合、使用中RAM1に、プログラムAのRWデータとスタックを記憶するだけの空き容量が存在するかどうかを判定する。そして、そのような空き容量が存在すれば、メモリ確保先判定手段34は、プログラムAのRWデータとスタックの配置先を使用中RAM1に決定し、プログラムAのコードとROデータの配置先は、RAM2に決定する。ローダー部21のメモリ要求手段35は、RAM1をロード先に指定して、プログラムAのRWデータのメモリ領域の確保とコピー処理をメモリ管理部22に要求する。さらにローダー部21のメモリ要求手段35は、RAM2をロード先に指定して、プログラムAのコード、ROデータのメモリ領域の確保とコピー処理をメモリ管理部22に要求する。メモリ管理部22は、それらの要求に従って、ROMから該当部分を読み出し、RAM1、RAM2に書き込み、ページテーブル25を更新する。これにより、図11に示すように、プログラムAのRWデータとスタックがRAM1に再配置され、プログラムAのコードとROデータがRAM2に再配置される。またRAM2はコピー処理に先立って電源Onされる。
図11のような再配置が行われた後、プログラムAの実行開始点のアドレスがアクセスされることで、プログラムAの実行が開始される。プログラムAの実行中は、図12に示すように、RAM1上のプログラムAのRWデータと、RAM2上のコードとROデータとがアクセスされる。
また図11のような再配置が行われた後の省エネモードへの変更時には、メモリ管理部22にてRAMテーブル24を確認し、未使用あるいは情報を破棄可能と判断したRAM2について、当該RAM範囲の物理アドレスをページテーブル25から消去し、電源管理部23により当該RAM2の電源をOffにする。また、使用中のRAM1についてはセルフリフレッシュに切り替える。図13はこのような省エネモード時の状態を示している。
図13に示すような省エネモード状態から通常モード(非省エネモード)への復帰時、あるいは、復帰後にプログラムAのコード等に対するアクセスが初めて発生した時、図14に示すように、電源管理部23によりRAM2の電源がOnされ、メモリ管理部22によりプログラムAのコードとROデータがROMからRAM2の元の領域に再度読み込まれる。具体的には、CPU11がプログラムAのコードをアクセスするためにその仮想アドレスをMMU12に出力すると、MMU12はページテーブル25を参照して物理アドレスへの変換を試みるが、仮想アドレスと物理アドレスとの対応関係が省エネモード以降時に無効にされているため、例外が発生し、例外処理部26による例外処理が実行される。この例外処理により、電源管理部23に対してRAM2の電源Onが要求され、またメモリ管理部22に対してプログラムAのコードとROデータをROMからRAM2の元の領域に複写する処理が要求される。そして、例外発生時点に制御が戻され、CPU11がプログラムAのコードをアクセスする段階から処理が再開される。
また、メモリ確保先判定手段34は、使用中のRAM1に、プログラムAのRWデータとスタックを記憶するだけの空き容量も存在しなければ、プログラムAのコード、ROデータ、RWデータおよびスタックの配置先をRAM2に決定する。ローダー部21のメモリ要求手段35は、RAM2をロード先に指定して、プログラムAのコード、ROデータ、RWデータのメモリ領域の確保とコピー処理をメモリ管理部22に要求する。メモリ管理部22は、その要求に従って、ROMから該当部分を読み出し、RAM2に書き込み、ページテーブル25を更新する。これにより、図15に示すように、プログラムAのコード、ROデータ、RWデータおよびスタックがRAM2に再配置される。
図15のような再配置が行われた後、プログラムAの実行開始点のアドレスがアクセスされることで、プログラムAの実行が開始される。プログラムAの実行中は、図16に示すように、RAM2上のプログラムAのコード、ROデータ、RWデータがアクセスされる。
また図15のような再配置が行われた後の省エネモードへの変更時には、メモリ管理部22にてRAMテーブル24を確認し、使用中と判断したRAM1、RAM2についてセルフリフレッシュに切り替える。図17はこのような省エネモード時の状態を示している。
図17に示すような省エネモード状態から通常モード(非省エネモード)への復帰時、あるいは、復帰後にプログラムAのコード等に対するアクセスが初めて発生した時、RAM1、RAM2のセルフリフレッシュ機能はOffされる。これにより、図16の状態に復帰する。
以上説明したように本実施の形態によれば、ROM上のプログラムをRAMに複写して実行するコンピュータにおいて、より一層の省電力化が可能になる。その理由は、使用中RAMを、プログラムのRWデータやスタックを記憶している破棄不可能RAMと、コードやROデータは記憶しているがRWデータやスタック等の書き込み可能データは記憶していない破棄可能RAMとに区分して管理し、省エネモード以降時、不使用RAMだけでなく、破棄可能RAMの電源供給を停止するためである。
[その他の実施の形態]
前述した実施の形態では、メモリ確保先判定手段34をローダー部21に備えるようにしたが、図18に示すように、メモリ確保先判定手段34をメモリ管理部22に備えるようにしても良い。図18に示す実施の形態では、ローダー部21は、プログラム内セクションの読み書き属性に応じたメモリ領域の属性を指定してメモリ要求を行い、メモリ管理部22のメモリ確保先判定手段34において、RAM状態と要求されたメモリ領域の属性に応じてメモリ確保先を判定する。
また、本発明の別の実施の形態として、図19に示すように、メモリ割り当てポリシーを記憶する手段41を備え、メモリ確保先判定手段34が、この記憶されたメモリ割り当てポリシーを参照して、メモリ確保先を判定しても良い。
例えば、第1の実施の形態では、RAM1に空き容量が十分にある場合、プログラムAのコード、ROデータ、RWデータ、スタックをRAM1に割り当てるようにした(このメモリ割り当て方針を以下、方針aと呼ぶ)。しかし、RAM1に空き容量が十分あったとしても、RAM1にはプログラムAのRWデータとスタックを割り当て、読み込み専用セクション(コードとROデータ)は、RAM2に割り当てることも可能である(このメモリ割り当て方針を以下、方針bと呼ぶ)。方針aによれば、RAM2をOffに維持できるメリットがあった。他方、方針bによれば、読み書き可能なメモリ領域が必要だが使用中RAM1内に空きメモリ領域が不足している場合に、使用中RAM1内から破棄可能な情報(プログラム内の読み込み専用セクション)を破棄する動作が不要になるメリットがある。このような場合、メモリ割り当てポリシーに、使用中RAM1に空き容量が十分にある場合に、方針a、方針bの何れを採用するかのポリシーを記載しておき、メモリ確保先判定手段34がそのポリシーに従ってメモリ確保先を判定するようにすることができる。
また、第1の実施の形態では、RAM1にプログラムAのRWデータとスタック分の空き容量も存在しなかった場合、RAM2にプログラムAのコード、ROデータ、RWデータ、スタックを割り当てるようにした(このメモリ割り当て方針を以下、方針cと呼ぶ)。しかし、RAM1、RAM2に加えて、未使用で電源Off状態のRAM3がある場合、プログラムAのコードとROデータをRAM2に割り当て、プログラムAのRWデータとスタックをRAM3に割り当て、RAM1とRAM3を使用中、RAM2を使用中だが破棄可能とすることもできる(このメモリ割り当て方針を以下、方針dと呼ぶ)。このような場合、メモリ割り当てポリシーに、使用中RAM1に空き容量が殆どない場合に、方針c、方針dの何れを採用するかのポリシーを記載しておき、メモリ確保先判定手段34がそのポリシーに従ってメモリ確保先を判定するようにすることができる。
さらに本発明の他の実施の形態として、図20に示すように、ユーザ等から入力されるメモリ割り当てポリシー変更要求に応じて、手段41に記憶されたメモリ割り当てポリシーを変更するメモリ割り当てポリシー管理部42を設け、メモリ割り当てポリシーを動的に変更できるようにしても良い。
また、前述した実施の形態では、ROMからRAMへのプログラムAの複写をプログラムAの実行開始時点に一括して実行したが、プログラムAのコードやROデータ、RWデータがアクセスされたタイミングで、ページサイズなどの所定サイズ単位で、ROMからRAMへの複写を行うようにしても良い。
また、前述した第1の実施の形態では、プログラムの全部をROMからRAMに複写して実行する実行形態だけを実装した(この実行形態を以下、第1の実行形態と呼ぶ)。しかし、他の実行形態として、図21に示すように、プログラムAのうち書き換え可能なプログラム内セクションのみをRAMへコピー実行する実行形態も考えられる(この実行形態を以下、第2の実行形態と呼ぶ)。第2の実行形態では、読み込み専用セクションは常にROM上を参照するため、RAM上へ配置する領域が削減でき、メモリコピー時間が短縮でき、また電源Off可能なRAMが第1の実施の形態に比べて作成し易くなる。ただし、プログラムの実行速度の面では劣る。
また別の実行形態として、図22、図23、図24に示すように、プログラムAのプログラム内セクションを当初全てROM上で参照、実行し、書き換え発生時点でRAMへコピーし更新する実行形態が考えられる(この実行形態を以下、第3の実行形態と呼ぶ)。第3の実行形態は、RAM上へ配置する領域が最小となるため、電源Off可能なRAMが最も作成し易くなる。しかし、プログラムの実行速度の面では劣る。
そこで、第1乃至第3の実行形態の何れの実行形態を使用するかを前述したメモリ割り当てポリシーに記載しておき、プログラムAの実行開始時点で選択可能とするようにしても良い。コンピュータが含まれる電子機器の負荷状況などに応じて動的に切り替えることも考えられる。例えば、プログラム全てをRAM上に配置する第1の実行形態に比べて、プログラムの多くをROM上に配置する第3の実行形態はプログラム実行速度の面で劣る。そのため、高速な処理が要求されるときは第1の実行形態を用い、処理速度が低下しても問題ない場合は第3の実行形態を用いるようにすれば、消費電力削減のみでなく、処理速度においても最適化が可能になる。
一般家電、携帯情報端末、制御装置などコンピュータを含む電子機器の消費電力削減に利用できる。
11 CPU
12 MMU
13 ROM
14 RAM
15 電源装置
21 ローダー部
22 メモリ管理部
23 電源管理部
24 RAMテーブル
25 ページテーブル
26 例外処理部
34 メモリ確保先判定手段
35 メモリ要求手段
42 ポリシー管理部

Claims (14)

  1. 1以上のROMと、複数のRAMと、ページテーブルを参照して仮想アドレス・物理アドレス変換を行うメモリ管理ユニットと、該メモリ管理ユニットを通じて前記ROMおよび前記RAMをアクセスするCPUと、電源装置とを備え、前記ROMに記憶されたプログラムを前記RAMに複写し、該複写先のRAM領域の物理アドレスと前記プログラムの仮想アドレスとの対応関係を前記ページテーブルに設定することにより、前記プログラムを前記RAM上で動かすコンピュータであって、
    前記RAM上における物理メモリの確保とその解放および前記ROMから前記RAMへのコピー処理を行う手段と、前記ページテーブルを更新する手段と、前記RAMを、使用中RAMと不使用RAMとに区分して管理するとともに、使用中RAMをさらに、書き込み可能データを記憶している破棄不可能RAMと、書き込み可能データを記憶していない破棄可能RAMとに区分して管理する手段とを備えたメモリ管理手段と、
    省電力移行時に、仮想ページに割り当てられている破棄可能RAM上のメモリ領域の解放を前記メモリ管理手段に要求し、不使用RAMと破棄可能なRAMへの電源供給の停止を前記電源装置へ指示する電源管理手段とを備えることを特徴とするコンピュータ。
  2. 前記電源管理手段は、省電力状態からの復帰時に前記破棄可能RAMの電源供給を再開し、前記メモリ管理手段は、省電力状態からの復帰時または前記破棄可能RAMへの最初のアクセス発生時に、前記ROMから前記破棄可能RAMに再度コピー処理を行って前記ページテーブルを更新することを特徴とする請求項1に記載のコンピュータ。
  3. 前記ROMに記憶されたプログラムは、実行コード領域、更新可能なデータ領域、読み込み専用データ領域、これら各領域の読み書き属性を含むヘッダとで構成されていることを特徴とする請求項1または2に記載のコンピュータ。
  4. 前記ROMに記憶されたプログラムの前記RAMへの複写は、当該プログラムの実行開始時点で行うことを特徴とする請求項1乃至3の何れか1項に記載のコンピュータ。
  5. 前記ROMに記憶されたプログラムを前記RAMに複写する際に、複写元領域の読み書き属性と前記複数のRAMそれぞれの状態とに基づいて、複写先となるRAMを決定するメモリ確保先判定手段を備えることを特徴とする請求項1乃至4の何れか1項に記載のコンピュータ。
  6. 前記メモリ確保先判定手段は、プログラムのコード、ROデータ、RWデータおよびスタックの複写先をそれだけの空き容量のある同じ破棄不可能RAMに決定することを特徴とする請求項5に記載のコンピュータ。
  7. 前記メモリ確保先判定手段は、プログラムのコードとROデータの複写先をそれだけの空き容量のある同じ破棄可能RAMに決定し、プログラムのRWデータとスタックの複写先をそれだけの空き容量のある同じ破棄不可能RAMに決定することを特徴とする請求項5に記載のコンピュータ。
  8. 前記メモリ確保先判定手段は、必要な空き容量が使用中RAMに存在しない場合、不使用RAMを破棄不可能RAMに変更し、当該破棄不可能RAMをプログラムのコード、ROデータ、RWデータおよびスタックの複写先に決定することを特徴とする請求項5に記載のコンピュータ。
  9. 前記メモリ確保先判定手段は、或る破棄不可能RAMに、プログラムのコード、ROデータ、RWデータおよびスタック分の空き容量が存在しても、当該破棄不可能RAMを当該プログラムのRWデータとスタックの複写先とし、当該プログラムのコードとROデータの複写先は破棄可能RAMとすることを特徴とする請求項5に記載のコンピュータ。
  10. 前記メモリ確保先判定手段は、必要な空き容量が使用中RAMに存在しない場合、1つの不使用RAMを破棄可能RAMに変更し、当該破棄不可能RAMをプログラムのコードとROデータの複写先に決定し、他の1つの不使用RAMを破棄不可能RAMに変更し、当該破棄不可能RAMをプログラムのRWデータとスタックの複写先に決定することを特徴とする請求項5に記載のコンピュータ。
  11. メモリ割り当てポリシーを記憶する手段を備え、前記メモリ確保先判定手段は、前記メモリ割り当てポリシーに記述されたメモリ割り当て方針と複写元領域の読み書き属性と前記複数のRAMそれぞれの状態とに基づいて、複写先となるRAMを決定することを特徴とする請求項5乃至10の何れか1項に記載のコンピュータ。
  12. 前記メモリ割り当てポリシーを変更するメモリ割り当てポリシー管理手段を備えることを特徴とする請求項11に記載のコンピュータ。
  13. 1以上のROMと、複数のRAMと、ページテーブルを参照して仮想アドレス・物理アドレス変換を行うメモリ管理ユニットと、該メモリ管理ユニットを通じて前記ROMおよび前記RAMをアクセスするCPUと、電源装置と、前記RAM上における物理メモリの確保とその解放および前記ROMから前記RAMへのコピー処理を行う手段と、前記ページテーブルを更新する手段と、前記RAMを、使用中RAMと不使用RAMとに区分して管理するとともに、使用中RAMをさらに、書き込み可能データを記憶している破棄不可能RAMと、書き込み可能データを記憶していない破棄可能RAMとに区分して管理する手段とを備えたメモリ管理手段とを備え、前記ROMに記憶されたプログラムを前記RAMに複写し、該複写先のRAM領域の物理アドレスと前記プログラムの仮想アドレスとの対応関係を前記ページテーブルに設定することにより、前記プログラムを前記RAM上で動かすコンピュータにおける電源管理方法であって、
    電源管理手段が、省電力移行時に、仮想ページに割り当てられている破棄可能RAM上のメモリ領域の解放を前記メモリ管理手段に要求し、不使用RAMと破棄可能なRAMへの電源供給の停止を前記電源装置へ指示することを特徴とする電源管理方法。
  14. 1以上のROMと、複数のRAMと、ページテーブルを参照して仮想アドレス・物理アドレス変換を行うメモリ管理ユニットと、該メモリ管理ユニットを通じて前記ROMおよび前記RAMをアクセスするCPUと、電源装置とを備え、前記ROMに記憶されたプログラムを前記RAMに複写し、該複写先のRAM領域の物理アドレスと前記プログラムの仮想アドレスとの対応関係を前記ページテーブルに設定することにより、前記プログラムを前記RAM上で動かすコンピュータを、
    前記RAM上における物理メモリの確保とその解放および前記ROMから前記RAMへのコピー処理を行う手段と、前記ページテーブルを更新する手段と、前記RAMを、使用中RAMと不使用RAMとに区分して管理するとともに、使用中RAMをさらに、書き込み可能データを記憶している破棄不可能RAMと、書き込み可能データを記憶していない破棄可能RAMとに区分して管理する手段とを備えたメモリ管理手段と、
    省電力移行時に、仮想ページに割り当てられている破棄可能RAM上のメモリ領域の解放を前記メモリ管理手段に要求し、不使用RAMと破棄可能なRAMへの電源供給の停止を前記電源装置へ指示する電源管理手段と、
    して機能させるためのプログラム。
JP2009139038A 2009-06-10 2009-06-10 コンピュータおよび電源管理方法 Active JP5451191B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009139038A JP5451191B2 (ja) 2009-06-10 2009-06-10 コンピュータおよび電源管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009139038A JP5451191B2 (ja) 2009-06-10 2009-06-10 コンピュータおよび電源管理方法

Publications (2)

Publication Number Publication Date
JP2010286964A true JP2010286964A (ja) 2010-12-24
JP5451191B2 JP5451191B2 (ja) 2014-03-26

Family

ID=43542629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009139038A Active JP5451191B2 (ja) 2009-06-10 2009-06-10 コンピュータおよび電源管理方法

Country Status (1)

Country Link
JP (1) JP5451191B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212416A (ja) * 1995-11-30 1997-08-15 Toshiba Corp 計算機システムおよび計算機システムの電力管理方法
JPH10254587A (ja) * 1997-03-14 1998-09-25 Toshiba Corp コンピュータシステム
JP2008108215A (ja) * 2006-10-27 2008-05-08 Toshiba Corp 携帯端末

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212416A (ja) * 1995-11-30 1997-08-15 Toshiba Corp 計算機システムおよび計算機システムの電力管理方法
JPH10254587A (ja) * 1997-03-14 1998-09-25 Toshiba Corp コンピュータシステム
JP2008108215A (ja) * 2006-10-27 2008-05-08 Toshiba Corp 携帯端末

Also Published As

Publication number Publication date
JP5451191B2 (ja) 2014-03-26

Similar Documents

Publication Publication Date Title
JP4281421B2 (ja) 情報処理システム及びその制御方法、並びにコンピュータ・プログラム
EP3121731B1 (en) Memory management method and device
US20160085585A1 (en) Memory System, Method for Processing Memory Access Request and Computer System
US7010656B2 (en) Method and apparatus for memory management
JP5624583B2 (ja) プログラム、計算処理装置、メモリ管理方法および計算機
JP5989574B2 (ja) 計算機、メモリ管理方法およびプログラム
TWI515747B (zh) 用於動態記憶體功率管理之系統及方法
US20110296095A1 (en) Data movement engine and memory control methods thereof
JP2004178016A (ja) Cpuおよびこれを備えた情報処理装置、cpuの制御方法
US7196961B2 (en) Memory control device
TW200910100A (en) Cache memory having configurable associativity
JP2007272573A (ja) 低消費電力化メモリ管理方法及びメモリ管理プログラム
KR20150098649A (ko) 비-휘발성 메모리의 이용을 통한 휘발성 메모리의 전력 소비 감소
JP2011095916A (ja) 電子機器
WO2005069148A2 (en) Memory management method and related system
WO2012159394A1 (zh) 一种移动设备内存管理方法及装置
JP2009122733A (ja) 電力制御方法、計算機システム、及びプログラム
US20140297928A1 (en) Electronic Circuit for and Method of Executing an Application Program Stored in a One-Time-Programmable (OTP) Memory in a System on Chip (SoC)
US20170249247A1 (en) Memory system
KR101392062B1 (ko) 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법
JP2010044460A (ja) 電源制御装置、計算機システム、電源制御方法、電源制御プログラムおよび記録媒体
JP6054203B2 (ja) 情報処理装置、デバイス制御方法及びプログラム
JP5451191B2 (ja) コンピュータおよび電源管理方法
JP2008262451A (ja) メモリ電源管理装置及びメモリ電源管理方法
JP2009258925A (ja) 計算機システムおよび計算機システムのメモリ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131226

R150 Certificate of patent or registration of utility model

Ref document number: 5451191

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350