JP2007086909A - Computer, portable terminal device, power-controlling method, and power-controlling program - Google Patents

Computer, portable terminal device, power-controlling method, and power-controlling program Download PDF

Info

Publication number
JP2007086909A
JP2007086909A JP2005272419A JP2005272419A JP2007086909A JP 2007086909 A JP2007086909 A JP 2007086909A JP 2005272419 A JP2005272419 A JP 2005272419A JP 2005272419 A JP2005272419 A JP 2005272419A JP 2007086909 A JP2007086909 A JP 2007086909A
Authority
JP
Japan
Prior art keywords
memory
counter
memory area
computer
function
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
JP2005272419A
Other languages
Japanese (ja)
Other versions
JP4839749B2 (en
Inventor
Ikuo Yonemoto
郁夫 米本
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2005272419A priority Critical patent/JP4839749B2/en
Publication of JP2007086909A publication Critical patent/JP2007086909A/en
Application granted granted Critical
Publication of JP4839749B2 publication Critical patent/JP4839749B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a computer or the like which can control electric power of a memory with a small overhead. <P>SOLUTION: When memory blocks are allocated to a program 14, the partial power down module 32 of a portable terminal 11 increments counters 37 corresponding to memory areas, to which the memory blocks belong, by prescribed increment or decrement of counters. When the allocated memory blocks are opened, the partial power down module 32 of the portable terminal 11 decrements counters corresponding to memory areas, to which the opened memory blocks belong, by increment or decrement of counters. When the values of the counters 37 are equal to counter threshold values, the partial power down module 32 stops the supply of electric power to the memory areas corresponding to the counters. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、コンピュータのメモリの電力制御技術に関し、特にメモリを複数の領域に分割し領域毎に電力制御をする技術に関する。   The present invention relates to a power control technique for a computer memory, and more particularly to a technique for dividing a memory into a plurality of areas and performing power control for each area.

コンピュータのメモリ(主記憶装置)の電力制御に関する技術は、種々提案されている。
例えば、特許文献1には、複数のバンクに分割されたメモリの電源管理技術が開示されている。この技術では、メモリの割り当ておよび開放が行われる際に、メモリ管理部が割当済みメモリ領域テーブルと未割り当てメモリ領域テーブルを参照し、割り当て済みのブロックを一つも含んでいないバンクの電源を遮断等する構成を採っている。
Various techniques relating to power control of a computer memory (main storage device) have been proposed.
For example, Patent Document 1 discloses a power management technique for a memory divided into a plurality of banks. In this technology, when memory is allocated and released, the memory management unit refers to the allocated memory area table and the unallocated memory area table, and shuts off the power supply of the bank that does not include any allocated block. It adopts a configuration to do.

特開平9−212416号公報JP-A-9-212416

しかし、従来の技術では、メモリ領域テーブル全体を検索することにより電源供給を遮断するバンクを選択しているので、電源管理のための計算量が多くなるという問題があった。
そこで、本発明は、少ない計算量で電力制御の対象となるメモリ領域を選択し電力制御を行うことができるコンピュータ等を提供することをその目的とする。
However, the conventional technique has a problem in that the amount of calculation for power management increases because a bank for cutting off power supply is selected by searching the entire memory area table.
Accordingly, an object of the present invention is to provide a computer or the like that can perform power control by selecting a memory area to be subjected to power control with a small amount of calculation.

本発明のコンピュータでは、電力制御手段が、プログラムにメモリブロックが割り当てられる際にそのメモリブロックが属するメモリ領域に対応するカウンタを所定のカウンタ増減量(例えば1)だけ増加させ、割り当てられたメモリブロックが開放される際には開放されるメモリブロックが属するメモリ領域に対応するカウンタをカウンタ増減量だけ減少させる。電力制御手段は、カウンタの値がカウンタ閾値(例えば0)に等しい場合に、そのカウンタに対応するメモリ領域への電力供給を停止させる(請求項1ないし請求項4)。   In the computer of the present invention, when the memory block is allocated to the program, the power control means increases the counter corresponding to the memory area to which the memory block belongs by a predetermined counter increase / decrease amount (for example, 1), and the allocated memory block When the memory block is released, the counter corresponding to the memory area to which the memory block to be released belongs is decreased by the counter increase / decrease amount. When the value of the counter is equal to a counter threshold value (for example, 0), the power control unit stops power supply to the memory area corresponding to the counter (claims 1 to 4).

上記コンピュータによれば、電力制御手段は、カウンタの値とカウンタ閾値を比較するという単純な演算を行うだけで、カウンタに対応するメモリ領域に割当済みのメモリブロックがあるか否か判定することができる。そのため、少ない計算量で電力供給を停止すべきメモリ領域を選択し、メモリの電力制御をすることができる。   According to the computer, the power control means can determine whether or not there is an allocated memory block in the memory area corresponding to the counter only by performing a simple calculation of comparing the counter value and the counter threshold value. it can. Therefore, it is possible to select a memory area where power supply should be stopped with a small amount of calculation and to control the power of the memory.

上記コンピュータにおいて、各プログラムが使用するメモリ領域をプログラム毎に予め定めておいても良い(請求項2)。
このようにすれば、複数のメモリ領域を計画的に使用することができ、電力供給を停止することができるメモリ領域をふやすことができる。
In the computer, a memory area used by each program may be determined in advance for each program.
In this way, a plurality of memory areas can be used in a planned manner, and a memory area in which power supply can be stopped can be increased.

上記コンピュータにおいて、メモリをDRAM(Dynamic Random Access Memory)とし、電力制御手段は、カウンタの値がカウンタ閾値よりも大きい場合に、当該カウンタに対応するメモリ領域へのアクセス頻度を予測し、アクセス頻度が小さいと判定されたメモリ領域をセルフリフレッシュ動作させるようにしてもよい(請求項3)。
このようにすれば、あるメモリ領域に割当済みのメモリブロックがある場合でも、そのメモリ領域へのアクセス頻度が小さいと予測される場合は、メモリ領域をセルフリフレッシュ動作させて消費電力を削減することができる。
In the computer, the memory is DRAM (Dynamic Random Access Memory), and the power control means predicts the access frequency to the memory area corresponding to the counter when the value of the counter is larger than the counter threshold, and the access frequency is A memory area determined to be small may be subjected to a self-refresh operation.
In this way, even when there is an allocated memory block in a certain memory area, if it is predicted that the access frequency to the memory area is low, the memory area is self-refreshed to reduce power consumption. Can do.

上記コンピュータにおいて、メモリをDRAMとし、カウンタの値がカウンタ閾値よりも大きい場合は、そのカウンタに対応するメモリ領域に属するメモリブロックを割り当てられているプログラムがアイドル状態にあるか否かを判定し、アイドル状態にある場合にはメモリ領域をセルフリフレッシュ動作させるようにしてもよい(請求項4)。
このようにすれば、あるメモリ領域に属するメモリブロックを割り当てられているプログラムがある場合にも、そのプログラムがアイドル状態にある場合は、メモリ領域をリフレッシュ動作させて消費電力を削減することができる。
In the above computer, if the memory is DRAM and the value of the counter is larger than the counter threshold value, it is determined whether or not the program to which the memory block belonging to the memory area corresponding to the counter is assigned is in an idle state. In the idle state, the memory area may be self-refreshed.
In this way, even when there is a program to which a memory block belonging to a certain memory area is assigned, if the program is in an idle state, the memory area can be refreshed to reduce power consumption. .

本発明の携帯端末装置は、バッテリーにより駆動されると共に請求項1に記載のコンピュータを備えている(請求項5)。   A portable terminal device of the present invention is driven by a battery and includes the computer according to claim 1 (claim 5).

上記携帯端末装置によれば、少ない計算量で電力供給を停止すべきメモリ領域を選択し、メモリの電力制御をすることができる。そのため、メモリの消費電力を削減し、バッテリーが消耗するまでの駆動時間を伸ばすことができる。   According to the portable terminal device, it is possible to select a memory area where power supply should be stopped with a small amount of calculation and to control the power of the memory. Therefore, it is possible to reduce the power consumption of the memory and extend the driving time until the battery is consumed.

本発明の電力制御方法は、コンピュータで実行されるプログラムに対してメモリブロックが割り当てられたときに作動し、割り当てたメモリブロックが属するメモリ領域に対応するカウンタを予め定められたカウンタ増減量だけ増加させる工程と、メモリブロックが開放されたときに作動し、前記メモリブロックが属する前記メモリ領域に対応するカウンタをカウンタ増減量だけ減少させる工程と、カウンタの値が予め定められたカウンタ閾値に等しい場合に作動し、当該カウンタに対応するメモリ領域に対する電力供給を停止させる工程とを備えている(請求項6)。   The power control method of the present invention operates when a memory block is allocated to a program executed by a computer, and increases a counter corresponding to a memory area to which the allocated memory block belongs by a predetermined counter increase / decrease amount. A step that operates when the memory block is released, a step that decreases a counter corresponding to the memory area to which the memory block belongs, and a counter value equal to a predetermined counter threshold value. And stopping the power supply to the memory area corresponding to the counter.

上記電力制御方法によれば、カウンタの値とカウンタ閾値を比較するだけで、未使用のメモリ領域を判定することができる。そのため、少ない計算量で電力供給を停止すべきメモリ領域を選択し、メモリの電力制御をすることができる。   According to the power control method, an unused memory area can be determined only by comparing the counter value and the counter threshold value. Therefore, it is possible to select a memory area where power supply should be stopped with a small amount of calculation and to control the power of the memory.

本発明の電力制御プログラムは、コンピュータに、このコンピュータで実行されるプログラムに対してメモリブロックが割り当てられたときに作動し、割り当てたメモリブロックが属するメモリ領域に対応するカウンタを予め定められたカウンタ増減量だけ増加させる機能と、メモリブロックが開放されたときに作動し、メモリブロックが属するメモリ領域に対応するカウンタをカウンタ増減量だけ減少させる機能と、カウンタの値が予め定められたカウンタ閾値に等しい場合に作動し、当該カウンタに対応する前記メモリ領域に対する電力供給を停止させる機能とを実行させる(請求項7)。   The power control program of the present invention operates when a memory block is allocated to a computer to be executed by the computer, and a counter corresponding to a memory area to which the allocated memory block belongs is determined in advance. A function to increase by the increase / decrease amount, a function that operates when the memory block is released, and a counter corresponding to the memory area to which the memory block belongs is decreased, and the counter value is set to a predetermined counter threshold value. The function is activated when equal, and the power supply to the memory area corresponding to the counter is stopped (Claim 7).

上記電力制御プログラムをコンピュータに実行させれば、コンピュータは、カウンタの値とカウンタ閾値を比較するだけで、未使用のメモリ領域を判定することができる。そのため、少ない計算量で電力供給を停止すべきメモリ領域を選択し、メモリの電力制御をすることができる。   If the computer executes the power control program, the computer can determine an unused memory area only by comparing the counter value with the counter threshold value. Therefore, it is possible to select a memory area where power supply should be stopped with a small amount of calculation and to control the power of the memory.

本発明によれば、電力制御手段は、カウンタの値とカウンタ閾値を比較するだけで、未使用のメモリ領域を判定することができる。そのため、少ない計算量で電力供給を停止すべきメモリ領域を選択し、メモリの電力制御をすることができる。   According to the present invention, the power control means can determine an unused memory area only by comparing the counter value with the counter threshold value. Therefore, it is possible to select a memory area where power supply should be stopped with a small amount of calculation and to control the power of the memory.

以下、図を参照しながら本発明の一実施形態である携帯端末装置11の構成と動作について説明する。
(携帯端末装置11のハードウェア構成)
図1は、携帯端末装置11の構成を示す機能ブロック図である。
携帯端末11は、たとえば携帯電話機、PHS(Personal Handyphone
System)、PDA(Personal Data AssistanceまたはPersonal Digital Assistants:個人向け携帯型情報通信機器)等のユーザが携行可能な端末装置であり、CPU(Central Processing Unit:中央処理装置)18とディスプレイ(出力装置)19とメモリ(主記憶装置)20とを備えている。すなわち、携帯端末装置11は、コンピュータを備えている。
メモリ20は、たとえばDRAMであり、メモリ領域20aとメモリ領域20bに分割されており、メモリ領域毎に電源制御が可能である。メモリ領域の分割は、たとえば、バンクまたはモジュールを単位とすることができる。また、メモリ20はセルフリフレッシュ動作をすることが可能である。
各ハードウェアは後述するオペレーティングシステム層にある各ドライバにより制御される。また、各ハードウェアには、図示しないバッテリーから電力が供給されている。
Hereinafter, the configuration and operation of the mobile terminal device 11 according to an embodiment of the present invention will be described with reference to the drawings.
(Hardware configuration of portable terminal device 11)
FIG. 1 is a functional block diagram showing the configuration of the mobile terminal device 11.
The mobile terminal 11 is, for example, a mobile phone, PHS (Personal Handyphone
System), PDA (Personal Data Assistance or Personal Digital Assistants), which is a terminal device that can be carried by a user, such as a CPU (Central Processing Unit) 18 and a display (output device) 19 and a memory (main storage device) 20. That is, the mobile terminal device 11 includes a computer.
The memory 20 is, for example, a DRAM, and is divided into a memory area 20a and a memory area 20b, and power supply control is possible for each memory area. The memory area can be divided in units of banks or modules, for example. The memory 20 can perform a self-refresh operation.
Each hardware is controlled by each driver in an operating system layer described later. In addition, power is supplied to each hardware from a battery (not shown).

(携帯端末装置11のソフトウェア構成)
次に、携帯端末11のソフトウェア構成は、アプリケーション層21とサービス層22とオペレーティングシステム層23にて構成される。これらの各層に配置されたプログラムは、メモリ20にロードされ、CPU18がメモリ20から読み出して実行する。
アプリケーション層21には、ユーザが実装したプログラムが置かれる。ここではユーザが実装したアプリケーション14があり、アプリケーション14の動作には前述したメモリ領域20bを使用する。
サービス(ミドル)層22には、一般的なサービスである通信やマルチメディア等のサービスを提供するプログラムが置かれる。ここではサービス15とサービス16が置かれている。
オペレーティングシステム層23は、オペレーティングシステムのコア機能を提供するカーネル24とハードウェアの動作を制御するドライバ層25にて構成される。ここでは、オペレーティングシステムとしてリナックス(Linux)を使用する。またドライバ層25にはユーザが実装したドライバ26があり、ドライバ26の動作には前述したメモリ領域20bを使用する。カーネル24の動作にはメモリ領域20aを使用する。
本実施形態では、オペレーティングシステム以外のソフトウェアが使用するメモリ領域20bが電力制御の対象となっている。
(Software configuration of portable terminal device 11)
Next, the software configuration of the mobile terminal 11 includes an application layer 21, a service layer 22, and an operating system layer 23. The programs arranged in these layers are loaded into the memory 20, and the CPU 18 reads them from the memory 20 and executes them.
In the application layer 21, a program implemented by the user is placed. Here, there is an application 14 installed by the user, and the memory area 20b described above is used for the operation of the application 14.
In the service (middle) layer 22, a program for providing services such as communication and multimedia, which are general services, is placed. Here, service 15 and service 16 are placed.
The operating system layer 23 includes a kernel 24 that provides a core function of the operating system and a driver layer 25 that controls the operation of the hardware. Here, Linux is used as the operating system. The driver layer 25 includes a driver 26 mounted by the user, and the memory area 20b described above is used for the operation of the driver 26. The memory 24a is used for the operation of the kernel 24.
In the present embodiment, the memory area 20b used by software other than the operating system is the target of power control.

図2は、携帯端末装置11におけるオペレーティングシステムのコア機能を提供するカーネル24とアプリケーション14とドライバ26とについての詳細な関係を示す説明図である。
携帯端末装置11では図2に示すように、オペレーティングシステムのコア機能を提供するカーネル24に、分割する各々のメモリ領域に対し使用状態を管理する機能と、割り当て領域を制御する機能と、電力の供給を制御する機能とを備えたパーシャルパワーダウンモジュール(電力制御手段)32が実装されている。
またカーネル24には、ドライバ26用のインターフェイスとして割り当て用内部関数35と開放用の内部関数36、アプリケーション用のインターフェイスとして割り当て用システムコール35と開放用システムコール36とが内装されている。オペレーティングシステムとしては、たとえばLinuxを用い、メモリブロックの割り当て・開放用のインターフェイスとしては、たとえば、割り当て用内部関数35にはアイオーリマップ(ioremap)を、開放用内部関数36にはアイオーアンマップ(iounmap)を、割り当て用システムコール33にはメモリマップ(mmap)を、開放用システムコール34にはメモリアンマップ(munmap)を使用することができる。
FIG. 2 is an explanatory diagram showing a detailed relationship among the kernel 24, the application 14, and the driver 26 that provide the core function of the operating system in the mobile terminal device 11.
As shown in FIG. 2, the portable terminal device 11 has a kernel 24 that provides the core function of the operating system, a function for managing the usage state for each memory area to be divided, a function for controlling the allocation area, A partial power down module (power control means) 32 having a function of controlling supply is mounted.
The kernel 24 includes an allocation internal function 35 and a release internal function 36 as interfaces for the driver 26, and an allocation system call 35 and a release system call 36 as interfaces for applications. As an operating system, for example, Linux is used. As an interface for memory block allocation / release, for example, an allocation internal function 35 is an Iore map, and an internal function 36 for release is an iron map ( iounmap), a memory map (mmap) can be used for the allocation system call 33, and a memory unmap (munmap) can be used for the release system call 34.

割り当て用内部関数35は、ドライバ26からのメモリ割り当て要求を受け付けてパーシャルパワーダウンモジュール32に通知する。開放用内部関数36は、ドライバ26からのメモリ開放要求を受け付けてパーシャルパワーダウンモジュール32に通知する。
割り当て用システムコール33は、アプリケーション14からのメモリ割り当て要求を受け付けてパーシャルパワーダウンモジュール32に通知する。開放用システムコール34は、アプリケーション14からのメモリ開放要求を受け付けてパーシャルパワーダウンモジュール32に通知する。
パーシャルパワーダウンモジュール32は、カウンタ37を備えていて、割り当て用システムコール33または割り当て用内部関数35を介して、アプリケーション14またはドライバ26からメモリブロックの割り当て要求を受け取ったときに、カウンタ37をカウンタ増減量だけ増加させる。また、パーシャルパワーダウンモジュール32は、開放用システムコール34または開放用内部関数36を介して、アプリケーション14またはドライバ26からメモリブロックの開放要求を受け取ったときに、カウンタ37をカウンタ増減量だけ減少させる。
The allocation internal function 35 receives a memory allocation request from the driver 26 and notifies the partial power down module 32. The release internal function 36 receives a memory release request from the driver 26 and notifies the partial power down module 32.
The allocation system call 33 receives a memory allocation request from the application 14 and notifies the partial power down module 32 of the request. The release system call 34 receives a memory release request from the application 14 and notifies the partial power down module 32 of the request.
The partial power-down module 32 includes a counter 37. When the memory block allocation request is received from the application 14 or the driver 26 via the allocation system call 33 or the allocation internal function 35, the partial power down module 32 counts the counter 37. Increase by the amount of increase or decrease. Further, when the partial power down module 32 receives a memory block release request from the application 14 or the driver 26 via the release system call 34 or the release internal function 36, the partial power down module 32 decreases the counter 37 by the increment / decrement amount of the counter. .

パーシャルパワーダウンモジュール32は、カウンタ37の値がカウンタ閾値に等しい場合、すなわちメモリ領域20bに割当済みのメモリブロックが存在していない場合に、メモリ20を制御し、メモリ領域20bへの電源供給を停止する。
パーシャルパワーダウンモジュール32は、カウンタ37の値がカウンタ閾値より大きい場合、すなわちメモリ領域20bに割当済みのメモリブロックが存在する場合には、割当済みのメモリブロックへのアクセス頻度を予測する。そして、アクセス頻度が低いと予想される場合、例えば、メモリブロックを割り当てられているプログラムがアイドル状態になっている場合には、メモリ20を制御しメモリブロック20bをセルフリフレッシュ動作させる。
The partial power down module 32 controls the memory 20 and supplies power to the memory area 20b when the value of the counter 37 is equal to the counter threshold value, that is, when there is no allocated memory block in the memory area 20b. Stop.
When the value of the counter 37 is larger than the counter threshold, that is, when there is an allocated memory block in the memory area 20b, the partial power down module 32 predicts the access frequency to the allocated memory block. When the access frequency is expected to be low, for example, when the program to which the memory block is allocated is in an idle state, the memory 20 is controlled to perform the self-refresh operation of the memory block 20b.

(携帯端末装置11の動作)
図3は、図2のパーシャルパワーダウンモジュール32が図1のメモリ領域20bに属するメモリブロックをプログラムに割り当てるときの動作を示すタイムチャートである。なお、カウンタ37は、携帯端末装置11の電源が投入されたときに0(カウンタ閾値)に初期化されているものとする。
アプリケーション14より割り当て用システムコール33が呼ばれるか、ドライバ26より割り当て用内部関数36が呼ばれた時(S101)、パーシャルパワーダウンモジュール32は、適切なメモリの割り当て領域を選択する。本実施例ではメモリ領域20bが選択される。
その後、パーシャルパワーダウンモジュール32は、メモリ領域20bの電源が入っているかを確認し(S102)、電源が落ちていれば電源を入れる(S103)。次にパーシャルパワーダウンモジュール32は、選択したメモリの領域20bに対しメモリの割り当てが可能であるかをチェックし(S104)、メモリの割り当てが可能であると判断するとカウンタ37を1(カウンタ増減量)アップし(S105)、アプリケーション14又はドライバ26より指定されたメモリを確保する(S106)。その際、パーシャルパワーダウンモジュール32が、割り当てたメモリブロックのアドレスとサイズ等の必要な情報を保持する。
また、選択したメモリ領域20bに割り当て可能な領域がない場合(S104の判定がノーの場合)はエラー処理を行いメモリの割り当て動作を終了する(S107)。
(Operation of the mobile terminal device 11)
FIG. 3 is a time chart showing an operation when the partial power down module 32 of FIG. 2 allocates a memory block belonging to the memory area 20b of FIG. 1 to a program. It is assumed that the counter 37 is initialized to 0 (counter threshold) when the mobile terminal device 11 is powered on.
When the allocation system call 33 is called by the application 14 or the allocation internal function 36 is called by the driver 26 (S101), the partial power down module 32 selects an appropriate memory allocation area. In this embodiment, the memory area 20b is selected.
Thereafter, the partial power down module 32 checks whether the power of the memory area 20b is turned on (S102), and turns on the power if the power is off (S103). Next, the partial power down module 32 checks whether or not the memory can be allocated to the selected memory area 20b (S104), and if it determines that the memory can be allocated, sets the counter 37 to 1 (counter increase / decrease amount). ) (S105), and the memory designated by the application 14 or the driver 26 is secured (S106). At this time, the partial power down module 32 holds necessary information such as the address and size of the allocated memory block.
If there is no assignable area in the selected memory area 20b (when the determination in S104 is no), error processing is performed and the memory allocation operation is terminated (S107).

図4は、図2のパーシャルパワーダウンモジュール32が図1のメモリの領域20bのメモリブロックを開放するときの動作を示すタイムチャートである。
アプリケーション14より開放用システムコール34が呼ばれるか、ドライバ26より開放用内部関数36が呼ばれた時(S111)、パーシャルパワーダウンモジュール32は、該当するメモリ領域に、指定されたメモリブロックが確保されている場合は、カウンタを1(カウンタ増減量)ダウンし(S113)、割り当てられているメモリブロックを開放する(S114)。また、該当するメモリ領域に開放が要求された割当済みのメモリブロックがない場合はエラーを返して終了する(S115)。
FIG. 4 is a time chart showing an operation when the partial power-down module 32 of FIG. 2 releases the memory block in the memory area 20b of FIG.
When the release system call 34 is called from the application 14 or the release internal function 36 is called from the driver 26 (S111), the partial power down module 32 secures the designated memory block in the corresponding memory area. If so, the counter is decreased by 1 (counter increment / decrement amount) (S113), and the allocated memory block is released (S114). If there is no allocated memory block requested to be released in the corresponding memory area, an error is returned and the process ends (S115).

図5は、図2のパーシャルパワーダウンモジュール32が図1のメモリ領域20bの電源制御を行うときの動作を示すタイムチャートである。
図4で示したメモリの開放処理の後又はアプリケーション14及びドライバ26のプロセスがアイドル状態に移行する場合は、パーシャルパワーダウンモジュール32は、該当するメモリ領域20bの電源が落ちているかを確認し(S121)、電源が落ちていた場合には何もしない。
電源が落ちていない場合は、パーシャルパワーダウンモジュール32は、メモリ領域20bが使用されているか否かの判定をカウンタ37の値とカウンタ閾値を比較することにより行う(S131)。カウンタ37の値が0(カウンタ閾値)である場合は、該当するメモリ領域20bは未使用状態であると判断し、メモリの領域20bの電源をおとす(S132)。
FIG. 5 is a time chart showing an operation when the partial power down module 32 of FIG. 2 performs power supply control of the memory area 20b of FIG.
After the memory release process shown in FIG. 4 or when the process of the application 14 and the driver 26 shifts to the idle state, the partial power down module 32 confirms whether the power of the corresponding memory area 20b is turned off ( S121) If the power is off, nothing is done.
If the power is not turned off, the partial power down module 32 determines whether or not the memory area 20b is used by comparing the value of the counter 37 with the counter threshold (S131). When the value of the counter 37 is 0 (counter threshold value), it is determined that the corresponding memory area 20b is not used, and the memory area 20b is powered off (S132).

カウンタが0でない場合でかつメモリの領域20bへのアクセスが長時間ないと予測される場合(S131とS133の判定が共にイエスの場合)は、たとえばメモリ領域20bがセルフリフレッシュ動作をするように制御して消費電力をデータを保持できる電力に落とす(S134)。カウンタ37の値が0でなくかつメモリの領域20bへのアクセスが長時間ないとは予測されない場合(S133の判定がノーの場合)は、特に何も行わない。
なお、開放用システムコール34又は開放用内部関数36によりメモリ領域の開放を行い電源を落とした後のメモリ領域の内容については保障しない。
If the counter is not 0 and it is predicted that the memory area 20b will not be accessed for a long time (when both the determinations at S131 and S133 are yes), for example, the memory area 20b is controlled to perform a self-refresh operation. Thus, the power consumption is reduced to the power that can hold the data (S134). If the value of the counter 37 is not 0 and it is not predicted that the memory area 20b will not be accessed for a long time (when the determination in S133 is no), nothing is done.
The contents of the memory area after the memory area is released by the release system call 34 or the release internal function 36 and the power is turned off are not guaranteed.

以上の説明では、メモリ20は、メモリ領域20aとメモリ領域20bの二つの領域に分割されているものとしたが、メモリの分割数は図6に示すように3以上とすることもできる。
メモリ20は、メモリ領域20a、20b、20c、20dの4つのメモリ領域に分割されている。電源制御の対象となるメモリ領域20b、20c、20dは、それぞれスイッチ40b、40c、40dを介して電源線41に接続されている。
パーシャルパワーダウンモジュール32は、メモリ領域20b、20c、20dにそれぞれ対応するカウンタ37b、37c、37dを備えていて、上記に説明したカウンタ37を用いる場合と同様にしてメモリ領域毎にメモリの使用状況を管理している。
In the above description, the memory 20 is divided into two areas of the memory area 20a and the memory area 20b. However, the number of divisions of the memory may be 3 or more as shown in FIG.
The memory 20 is divided into four memory areas 20a, 20b, 20c, and 20d. The memory areas 20b, 20c, and 20d that are subject to power control are connected to the power line 41 via switches 40b, 40c, and 40d, respectively.
The partial power-down module 32 includes counters 37b, 37c, and 37d corresponding to the memory areas 20b, 20c, and 20d, respectively. Similarly to the case of using the counter 37 described above, the memory usage state for each memory area. Is managing.

また、オペレーティングシステムが使用するメモリ領域を予め定めておかないで、オペレーティングシステムも任意のメモリ領域を使用するようにすることもできる。この場合は、全てのメモリ領域についてカウンタを設け、上記と同様にして各メモリ領域の電力制御を行う。   Further, the operating system can also use an arbitrary memory area without predetermining the memory area used by the operating system. In this case, counters are provided for all the memory areas, and power control of each memory area is performed in the same manner as described above.

本実施形態の携帯端末装置11は、次のような優れた効果を奏する。
パーシャルパワーダウンモジュール32は、メモリブロックの割り当てが行われるときにカウンタ37をアップし、メモリブロックの開放がおこなわれるときにカウンタ37をダウンする。そして、カウンタが0(カウンタ閾値)に等しいときに、メモリ領域20bに対する電源の供給を停止する等の電力制御をする。
そのため、少ない計算量でメモリ領域20bに割当済みのメモリブロックがあるか否かを判断し、メモリ20の電力制御を行い、バッテリーにより駆動可能な時間を長くすることができる。
The mobile terminal device 11 of this embodiment has the following excellent effects.
The partial power down module 32 increases the counter 37 when the memory block is allocated, and decreases the counter 37 when the memory block is released. Then, when the counter is equal to 0 (counter threshold value), power control such as stopping the supply of power to the memory area 20b is performed.
For this reason, it is possible to determine whether or not there is an allocated memory block in the memory area 20b with a small amount of calculation, and to control the power of the memory 20, thereby extending the time that can be driven by the battery.

本発明の実施形態である携帯端末装置の構成を示すブロック図である。It is a block diagram which shows the structure of the portable terminal device which is embodiment of this invention. 携帯端末装置のソフトウェア構成を示すブロック図である。It is a block diagram which shows the software structure of a portable terminal device. 携帯端末装置のメモリ割り当て動作を示すタイムチャートである。It is a time chart which shows the memory allocation operation | movement of a portable terminal device. 携帯端末装置のメモリ開放動作を示すタイムチャートである。It is a time chart which shows memory release operation | movement of a portable terminal device. 携帯端末装置の電力制御動作を示すタイムチャートである。It is a time chart which shows the electric power control operation | movement of a portable terminal device. 複数のカウンタを備えたパーシャルパワーダウンモジュールの構成を示す図である。It is a figure which shows the structure of the partial power down module provided with the some counter.

符号の説明Explanation of symbols

11 携帯端末装置
18 CPU
19 ディスプレイ
20 メモリ
20a、20b メモリ領域
32 パーシャルパワーダウンモジュール(電力制御手段)
37 カウンタ
11 Mobile terminal device 18 CPU
19 Display 20 Memory 20a, 20b Memory area 32 Partial power down module (power control means)
37 counter

Claims (7)

複数のメモリ領域に分割可能なメモリと、前記メモリ領域毎に電力の供給を制御する電力制御手段とを備えたコンピュータにおいて、
前記電力制御手段が、前記コンピュータで実行されるプログラムに対してメモリブロックが割り当てられたときにそのメモリブロックが属する前記メモリ領域に対応して装備されたカウンタを予め定められたカウンタ増減量だけ増加させる機能と、前記メモリブロックが開放されたときにそのメモリブロックが属する前記メモリ領域に対応する前記カウンタを前記カウンタ増減量だけ減少させる機能と、前記カウンタを参照し前記カウンタの値が予め定められたカウンタ閾値に等しい場合に参照したカウンタに対応する前記メモリ領域に対する電力供給を停止する機能とを備えたことを特徴とするコンピュータ。
In a computer comprising a memory that can be divided into a plurality of memory areas, and power control means for controlling the supply of power for each memory area,
When a memory block is allocated to a program executed by the computer, the power control means increases a counter provided corresponding to the memory area to which the memory block belongs by a predetermined counter increase / decrease amount. A function of reducing the counter corresponding to the memory area to which the memory block belongs when the memory block is released, and a value of the counter with reference to the counter. And a function of stopping power supply to the memory area corresponding to the counter referred to when the counter threshold value is equal.
前記プログラムが使用する前記メモリ領域が前記プログラム毎に予め定められていることを特徴とした請求項1に記載のコンピュータ。   The computer according to claim 1, wherein the memory area used by the program is predetermined for each program. 前記メモリはDRAMであり、
前記電力制御手段は、前記カウンタの値が前記カウンタ閾値よりも大きい場合に作動し当該カウンタに対応する前記メモリ領域へのアクセス頻度を予測する機能と、この機能によりアクセス頻度が小さいと判定されたメモリ領域をセルフリフレッシュ動作するように制御する機能を備えたことを特徴とした請求項1に記載のコンピュータ。
The memory is DRAM;
The power control means is activated when the value of the counter is larger than the counter threshold value, and has a function of predicting an access frequency to the memory area corresponding to the counter, and the access frequency is determined to be low by this function. The computer according to claim 1, further comprising a function of controlling the memory area so as to perform a self-refresh operation.
前記メモリはDRAMであり、
前記電力制御手段は、前記カウンタの値が前記カウンタ閾値よりも大きい場合に動作し当該カウンタに対応する前記メモリ領域に属するメモリブロックを割り当てられた前記プログラムの動作状態を検出する機能と、この機能により前記プログラムがアイドル状態にあると判定された場合に、前記カウンタに対応するメモリ領域をセルフリフレッシュ動作するように制御する機能を備えたことを特徴とした請求項1に記載のコンピュータ。
The memory is DRAM;
The power control means operates when the value of the counter is larger than the counter threshold, and detects the operation state of the program to which a memory block belonging to the memory area corresponding to the counter is assigned, and this function 2. The computer according to claim 1, further comprising a function of controlling a memory area corresponding to the counter to perform a self-refresh operation when it is determined that the program is in an idle state.
前記請求項1に記載のコンピュータを備え、バッテリーにより駆動される携帯端末装置。   A portable terminal device comprising the computer according to claim 1 and driven by a battery. コンピュータに搭載され複数のメモリ領域に分割されたメモリの電力制御方法において、
前記コンピュータで実行されるプログラムに対してメモリブロックが割り当てられたときに作動し、前記割り当てたメモリブロックが属するメモリ領域に対応して装備されたカウンタを予め定められたカウンタ増減量だけ増加させる工程と、
前記メモリブロックが開放されたときに作動し、前記メモリブロックが属する前記メモリ領域に対応する前記カウンタを前記カウンタ増減量だけ減少させる工程と、
前記カウンタの値が予め定められたカウンタ閾値に等しい場合に作動し、当該カウンタに対応する前記メモリ領域に対する電力供給を停止させる工程とを備えたことを特徴としたメモリの電力制御方法。
In a memory power control method mounted on a computer and divided into a plurality of memory areas,
The step of operating when a memory block is allocated to a program executed by the computer and increasing a counter provided corresponding to a memory area to which the allocated memory block belongs by a predetermined counter increase / decrease amount When,
Actuating when the memory block is released, and decreasing the counter corresponding to the memory area to which the memory block belongs by the counter increment or decrement;
A memory power control method comprising: a step of operating when a value of the counter is equal to a predetermined counter threshold value, and stopping power supply to the memory area corresponding to the counter.
コンピュータに搭載され複数のメモリ領域に分割されたメモリの電力制御用プログラムにおいて、
前記コンピュータに、
前記コンピュータで実行されるプログラムに対してメモリブロックが割り当てられたときに作動し、前記割り当てたメモリブロックが属するメモリ領域に対応して装備されたカウンタを予め定められたカウンタ増減量だけ増加させる機能と、
前記メモリブロックが開放されたときに作動し、前記メモリブロックが属する前記メモリ領域に対応する前記カウンタを前記カウンタ増減量だけ減少させる機能と、
前記カウンタの値が予め定められたカウンタ閾値に等しい場合に作動し、当該カウンタに対応する前記メモリ領域に対する電力供給を停止させる機能とを実行させることを特徴としたメモリの電力制御プログラム。
In a memory power control program mounted on a computer and divided into a plurality of memory areas,
In the computer,
A function that operates when a memory block is allocated to a program executed by the computer and increases a counter provided corresponding to a memory area to which the allocated memory block belongs by a predetermined counter increase / decrease amount When,
A function that operates when the memory block is released and reduces the counter corresponding to the memory area to which the memory block belongs by the increment / decrement amount;
A memory power control program which operates when the value of the counter is equal to a predetermined counter threshold value, and executes a function of stopping power supply to the memory area corresponding to the counter.
JP2005272419A 2005-09-20 2005-09-20 Computer, portable terminal device, power control method, power control program Expired - Fee Related JP4839749B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005272419A JP4839749B2 (en) 2005-09-20 2005-09-20 Computer, portable terminal device, power control method, power control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005272419A JP4839749B2 (en) 2005-09-20 2005-09-20 Computer, portable terminal device, power control method, power control program

Publications (2)

Publication Number Publication Date
JP2007086909A true JP2007086909A (en) 2007-04-05
JP4839749B2 JP4839749B2 (en) 2011-12-21

Family

ID=37973859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005272419A Expired - Fee Related JP4839749B2 (en) 2005-09-20 2005-09-20 Computer, portable terminal device, power control method, power control program

Country Status (1)

Country Link
JP (1) JP4839749B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010537310A (en) * 2007-08-22 2010-12-02 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Speculative precharge detection
JP2011034381A (en) * 2009-08-03 2011-02-17 Fujitsu Telecom Networks Ltd Power supply controller
WO2011151963A1 (en) * 2010-05-31 2011-12-08 パナソニック株式会社 Memory management device, memory management method, memory management program, computer-readable recording medium storing the memory management program and integrated circuit
US8788856B2 (en) 2011-08-08 2014-07-22 Fujitsu Limited Control apparatus and method

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212416A (en) * 1995-11-30 1997-08-15 Toshiba Corp Computer system and its power managing method
JPH10124201A (en) * 1996-10-22 1998-05-15 Toshiba Corp Power control method for personal computer and sound device
JPH10143382A (en) * 1996-11-08 1998-05-29 Hitachi Ltd Method for managing resource for shared memory multiprocessor system
JP2000215100A (en) * 1999-01-21 2000-08-04 Nec Corp Power-saving memory management system
JP2002182806A (en) * 2000-12-11 2002-06-28 Casio Comput Co Ltd System and method for managing energy conservation, and recording medium
JP2002268942A (en) * 2001-03-13 2002-09-20 Toshiba Corp Multi-bank access controller and multi-bank access control method
JP2004151877A (en) * 2002-10-29 2004-05-27 Ricoh Co Ltd Direct memory access controller, memory arbiter, and memory controller therewith
JP2004534321A (en) * 2001-07-06 2004-11-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Receiver and method
JP2005011336A (en) * 2003-05-29 2005-01-13 Matsushita Electric Ind Co Ltd Information processor capable of switching operation systems
JP2005115906A (en) * 2003-09-19 2005-04-28 Ricoh Co Ltd Memory drive system
JP2005196545A (en) * 2004-01-08 2005-07-21 Matsushita Electric Ind Co Ltd Power saving controller

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212416A (en) * 1995-11-30 1997-08-15 Toshiba Corp Computer system and its power managing method
JPH10124201A (en) * 1996-10-22 1998-05-15 Toshiba Corp Power control method for personal computer and sound device
JPH10143382A (en) * 1996-11-08 1998-05-29 Hitachi Ltd Method for managing resource for shared memory multiprocessor system
JP2000215100A (en) * 1999-01-21 2000-08-04 Nec Corp Power-saving memory management system
JP2002182806A (en) * 2000-12-11 2002-06-28 Casio Comput Co Ltd System and method for managing energy conservation, and recording medium
JP2002268942A (en) * 2001-03-13 2002-09-20 Toshiba Corp Multi-bank access controller and multi-bank access control method
JP2004534321A (en) * 2001-07-06 2004-11-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Receiver and method
JP2004151877A (en) * 2002-10-29 2004-05-27 Ricoh Co Ltd Direct memory access controller, memory arbiter, and memory controller therewith
JP2005011336A (en) * 2003-05-29 2005-01-13 Matsushita Electric Ind Co Ltd Information processor capable of switching operation systems
JP2005115906A (en) * 2003-09-19 2005-04-28 Ricoh Co Ltd Memory drive system
JP2005196545A (en) * 2004-01-08 2005-07-21 Matsushita Electric Ind Co Ltd Power saving controller

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010537310A (en) * 2007-08-22 2010-12-02 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Speculative precharge detection
JP2011034381A (en) * 2009-08-03 2011-02-17 Fujitsu Telecom Networks Ltd Power supply controller
WO2011151963A1 (en) * 2010-05-31 2011-12-08 パナソニック株式会社 Memory management device, memory management method, memory management program, computer-readable recording medium storing the memory management program and integrated circuit
US8601232B2 (en) 2010-05-31 2013-12-03 Panasonic Corporation Memory management device, memory management method, memory management program, computer-readable recording medium recording memory management program and integrated circuit
JP5405663B2 (en) * 2010-05-31 2014-02-05 パナソニック株式会社 MEMORY MANAGEMENT DEVICE, MEMORY MANAGEMENT METHOD, MEMORY MANAGEMENT PROGRAM, COMPUTER-READABLE RECORDING MEDIUM CONTAINING MEMORY MANAGEMENT PROGRAM, AND INTEGRATED CIRCUIT
US8788856B2 (en) 2011-08-08 2014-07-22 Fujitsu Limited Control apparatus and method

Also Published As

Publication number Publication date
JP4839749B2 (en) 2011-12-21

Similar Documents

Publication Publication Date Title
US10310757B2 (en) Systems and methods for memory power saving via kernel steering to memory balloons
US20080320203A1 (en) Memory Management in a Computing Device
TWI569202B (en) Apparatus and method for adjusting processor power usage based on network load
US20170162235A1 (en) System and method for memory management using dynamic partial channel interleaving
WO2014188561A1 (en) Multi-cpu system and multi-cpu system scaling method
US7281148B2 (en) Power managed busses and arbitration
US8826052B1 (en) Methods and apparatus for power mode control for PDA with separate communications and applications processors
EP2017727B1 (en) Computer having flash memory and method of operating flash memory
GB2410106B (en) Dynamic storage device pooling in a computer system
WO2006117950A1 (en) Power controller in information processor
EP3411775B1 (en) Forced idling of memory subsystems
KR20160005367A (en) Power-aware thread scheduling and dynamic use of processors
US8555289B2 (en) System and method for dynamically managing tasks for data parallel processing on multi-core system
US8769319B2 (en) Reducing power consumption in memory line architecture
US9568978B2 (en) Controlling power consumption in processor-based systems and components thereof
JP2017138853A (en) Information processor and program
JP2008090395A (en) Computer system, node for calculation and program
CN103076868B (en) The electronic system of method for managing power supply and application the method
KR102464801B1 (en) Method for operating semiconductor device and semiconductor system
JP4839749B2 (en) Computer, portable terminal device, power control method, power control program
CN111104219A (en) Binding method, device, equipment and storage medium of virtual core and physical core
CN105549723A (en) Electricity saving control method and device of server, and energy-saving control device of electronic equipment
EP3029580B1 (en) Processor and memory control method
KR101557995B1 (en) Apparatus for supporting multi operating system and method for allocating system resource thereof
EP3945424B1 (en) Memory power management method and processor system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100721

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110714

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110726

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: 20110906

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110919

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141014

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees