JP2015038780A - Controller, information processing system and program - Google Patents

Controller, information processing system and program Download PDF

Info

Publication number
JP2015038780A
JP2015038780A JP2014237877A JP2014237877A JP2015038780A JP 2015038780 A JP2015038780 A JP 2015038780A JP 2014237877 A JP2014237877 A JP 2014237877A JP 2014237877 A JP2014237877 A JP 2014237877A JP 2015038780 A JP2015038780 A JP 2015038780A
Authority
JP
Japan
Prior art keywords
interrupt
unit
mode
sleep state
power
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
Application number
JP2014237877A
Other languages
Japanese (ja)
Inventor
洋美 春木
Hiromi Haruki
洋美 春木
藤崎 浩一
Koichi Fujisaki
浩一 藤崎
淳一 瀬川
Junichi Segawa
淳一 瀬川
白井 智
Satoshi Shirai
智 白井
祐介 城田
Yusuke Shirota
祐介 城田
章博 柴田
Akihiro Shibata
章博 柴田
昌也 樽家
Masaya Taruie
昌也 樽家
哲郎 木村
Tetsuo Kimura
哲郎 木村
金井 達徳
Tatsunori Kanai
達徳 金井
外山 春彦
Haruhiko Toyama
春彦 外山
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014237877A priority Critical patent/JP2015038780A/en
Publication of JP2015038780A publication Critical patent/JP2015038780A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a controller, an information processing system and a program capable of appropriately power saving.SOLUTION: The controller has a setting section. When any factor that a system including plural components, the power to which can be independently controlled, restores from a sleep state that the number of the components to which the power is supplied is limited to a predetermined number and stops operation, the setting section sets a mode representing an operation state of the system according to the system processing time representing the time required for the processing after restoring the sleep state.

Description

本発明の実施形態は、制御装置、情報処理システムおよびプログラムに関する。   Embodiments described herein relate generally to a control device, an information processing system, and a program.

従来、マイクロプロセッサなどが搭載されたシステムの消費電力を低減するための様々な技術が知られている。例えばシステムの動作が一時的に停止するスリープ状態(節電状態)の場合は、クロックが低速に設定される一方、スリープ状態から復帰して処理を実行する場合は、クロックが高速に設定される技術が知られている。   Conventionally, various techniques for reducing power consumption of a system in which a microprocessor or the like is mounted are known. For example, in the sleep state (power saving state) in which the system operation is temporarily stopped, the clock is set to a low speed, while in the case of executing the process after returning from the sleep state, the clock is set to a high speed. It has been known.

特許第3758477号明細書Japanese Patent No. 3758477 特開2008−5336号公報JP 2008-5336 A 特開2011−65705号公報JP 2011-65705 A

しかしながら、従来の技術では、スリープ状態から復帰した後の処理に必要な時間を全く考慮せずに復帰後のシステムの動作状態が設定されるので、システムの省電力化を適切に行うことができない場合がある。例えばスリープ状態から復帰した後の処理に要する時間が短い場合は、システムが必要な電力量は小さいにもかかわらず、クロックが高速に設定されることで無駄な消費電力が発生してしまう。これにより、省電力化を適切に行うことができない。   However, in the conventional technique, the system operating state after the return is set without taking into account the time required for the processing after returning from the sleep state, and thus the power saving of the system cannot be appropriately performed. There is a case. For example, when the time required for processing after returning from the sleep state is short, wasteful power consumption occurs due to the clock being set at high speed even though the amount of power required by the system is small. Thereby, power saving cannot be performed appropriately.

本発明が解決しようとする課題は、省電力化を適切に行うことが可能な制御装置、情報処理システムおよびプログラムを提供することである。   The problem to be solved by the present invention is to provide a control device, an information processing system, and a program capable of appropriately performing power saving.

実施形態の制御装置は、設定部を備える。設定部は、電力を個別に制御可能な複数の要素を含むシステムが、電力が供給される要素の数が所定数に制限されて動作を停止するスリープ状態から復帰する要因が発生した場合は、スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間に応じてシステムの動作状態を示すモードを設定する。   The control device of the embodiment includes a setting unit. When the setting unit has a factor that causes the system including a plurality of elements capable of individually controlling power to return from the sleep state in which the number of elements to which power is supplied is limited to a predetermined number and stops operation, A mode indicating the operating state of the system is set according to the system processing time indicating the time required for processing after returning from the sleep state.

実施形態のプログラムは、コンピュータに、電力を個別に制御可能な複数の要素を含むシステムが、電力が供給される前記要素の数が所定数に制限されて動作を停止するスリープ状態から復帰する要因が発生した場合は、スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間に応じてシステムの動作状態を示すモードを設定するステップを実行させるためのプログラムである。   The program according to the embodiment is a factor that causes a computer including a plurality of elements capable of individually controlling power to return from a sleep state in which the number of elements to which power is supplied is limited to a predetermined number and the operation is stopped. When this occurs, this is a program for executing a step of setting a mode indicating the operating state of the system in accordance with the system processing time indicating the time required for processing after returning from the sleep state.

実施形態の情報処理システムは、電力を個別に制御可能な複数の要素を含むシステムであって、情報処理システムが、電力が供給される前記要素の数が所定数に制限されて動作を停止するスリープ状態から復帰する要因が発生した場合は、スリープ状態から復帰した後の処理に必要な時間に応じたモードで動作する。   The information processing system according to the embodiment includes a plurality of elements capable of individually controlling power, and the information processing system stops operation when the number of elements to which power is supplied is limited to a predetermined number. When a factor for returning from the sleep state occurs, the device operates in a mode corresponding to the time required for processing after returning from the sleep state.

第1実施形態のシステムの構成例を示すブロック図。The block diagram which shows the structural example of the system of 1st Embodiment. 第1実施形態のプロセッサの機能構成例を示すブロック図。The block diagram which shows the function structural example of the processor of 1st Embodiment. 第1実施形態の第1記憶部に記憶されるデータの例を示す図。The figure which shows the example of the data memorize | stored in the 1st memory | storage part of 1st Embodiment. 第1実施形態の第2記憶部に記憶されるデータの例を示す図。The figure which shows the example of the data memorize | stored in the 2nd memory | storage part of 1st Embodiment. 第1実施形態のシステム割込み処理時間の算出例を示す図。The figure which shows the calculation example of the system interruption processing time of 1st Embodiment. 第1実施形態のプロセッサの動作手順の一例を示すシーケンス図。The sequence diagram which shows an example of the operation | movement procedure of the processor of 1st Embodiment. 第1実施形態のプロセッサの動作手順の一例を示すシーケンス図。The sequence diagram which shows an example of the operation | movement procedure of the processor of 1st Embodiment. 第1実施形態の算出部による処理動作の一例を示すフローチャート。The flowchart which shows an example of the processing operation by the calculation part of 1st Embodiment. 第2実施形態のシステムの構成例を示すブロック図。The block diagram which shows the structural example of the system of 2nd Embodiment. 第2実施形態のプロセッサの機能構成例を示すブロック図。The block diagram which shows the function structural example of the processor of 2nd Embodiment. 第2実施形態の第4記憶部に記憶されるデータの一例を示す図。The figure which shows an example of the data memorize | stored in the 4th memory | storage part of 2nd Embodiment. 第2実施形態の第5記憶部に記憶されるデータの一例を示す図。The figure which shows an example of the data memorize | stored in the 5th memory | storage part of 2nd Embodiment. 第2実施形態のプロセッサの動作手順の一例を示すシーケンス図。The sequence diagram which shows an example of the operation | movement procedure of the processor of 2nd Embodiment. 第3実施形態のプロセッサの機能構成例を示すブロック図。The block diagram which shows the function structural example of the processor of 3rd Embodiment. 第3実施形態の第3記憶部に記憶されるデータの一例を示す図。The figure which shows an example of the data memorize | stored in the 3rd memory | storage part of 3rd Embodiment. 第3実施形態のシステム割込み処理時間の算出例を示す図。The figure which shows the calculation example of the system interruption processing time of 3rd Embodiment. 第3実施形態のプロセッサの動作手順の一例を示すシーケンス図。The sequence diagram which shows an example of the operation | movement procedure of the processor of 3rd Embodiment. 第3実施形態の算出部による処理動作の一例を示すフローチャート。The flowchart which shows an example of the processing operation by the calculation part of 3rd Embodiment. 第3実施形態のプロセッサの動作手順の一例を示すシーケンス図。The sequence diagram which shows an example of the operation | movement procedure of the processor of 3rd Embodiment. 第4実施形態のプロセッサの機能構成例を示すブロック図。The block diagram which shows the function structural example of the processor of 4th Embodiment. 第4実施形態の第4記憶部に記憶されるデータの一例を示す図。The figure which shows an example of the data memorize | stored in the 4th memory | storage part of 4th Embodiment. 第4実施形態のプロセッサの動作手順の一例を示すシーケンス図。The sequence diagram which shows an example of the operation | movement procedure of the processor of 4th Embodiment. 第5実施形態のプロセッサの機能構成例を示すブロック図。The block diagram which shows the function structural example of the processor of 5th Embodiment. 第5実施形態のプロセッサの動作手順の一例を示すシーケンス図。The sequence diagram which shows an example of the operation | movement procedure of the processor of 5th Embodiment. 第6実施形態のプロセッサの機能構成例を示すブロック図。The block diagram which shows the function structural example of the processor of 6th Embodiment. 第6実施形態のプロセッサの動作手順の一例を示すシーケンス図。The sequence diagram which shows an example of the operation | movement procedure of the processor of 6th Embodiment. 第6実施形態のプロセッサの動作手順の一例を示すシーケンス図。The sequence diagram which shows an example of the operation | movement procedure of the processor of 6th Embodiment. 変形例の第3記憶部に記憶される設定情報の一例を示す図。The figure which shows an example of the setting information memorize | stored in the 3rd memory | storage part of a modification. 変形例のシステムの構成例を示すブロック図。The block diagram which shows the structural example of the system of a modification. 変形例のプロセッサの機能構成例を示すブロック図。The block diagram which shows the function structural example of the processor of a modification. 変形例のシステムの構成例を示すブロック図。The block diagram which shows the structural example of the system of a modification.

以下、添付図面を参照しながら、本発明に係る制御装置、情報処理システムおよびプログラムの実施の形態を詳細に説明する。   Hereinafter, embodiments of a control device, an information processing system, and a program according to the present invention will be described in detail with reference to the accompanying drawings.

(第1実施形態)
図1は、本実施形態のターゲットシステム(以下、単に「システム」と呼ぶ)10の構成例を示すブロック図である。図1に示すように、システム10は、プロセッサ100と、記憶領域170とを備え、互いにバス190で相互に接続されている。ここでは、システム10は、供給される電力を個別に制御可能な複数の要素を含むと捉えることもできる。上記の要素には、電力を個別に制御可能な部品や部品内の区画などが含まれる。例えばプロセッサ100および記憶領域170を含むSOC(システムオンチップ)の中の1区画なども上記要素となり得る。
(First embodiment)
FIG. 1 is a block diagram illustrating a configuration example of a target system (hereinafter simply referred to as “system”) 10 according to the present embodiment. As shown in FIG. 1, the system 10 includes a processor 100 and a storage area 170, which are mutually connected by a bus 190. Here, the system 10 can also be regarded as including a plurality of elements that can individually control the supplied power. The above elements include components that can individually control power and compartments within the components. For example, one section in an SOC (system on chip) including the processor 100 and the storage area 170 may be the above element.

プロセッサ100は、1または複数の処理を実行可能な処理装置である。図1に示すように、プロセッサ100は、CPU110と記憶部120とを有する。より具体的には、記憶部120は、各種のデータが記憶されるレジスタ130、使用頻度の高いデータなどが記憶される1次キャッシュ140および2次キャッシュ150を含む。1次キャッシュ140は、より使用頻度が高いデータを記憶する。2次キャッシュ150は、1次キャッシュ140から漏れた使用頻度の高いデータを記憶する。   The processor 100 is a processing device that can execute one or more processes. As illustrated in FIG. 1, the processor 100 includes a CPU 110 and a storage unit 120. More specifically, the storage unit 120 includes a register 130 that stores various data, a primary cache 140 and a secondary cache 150 that store frequently used data and the like. The primary cache 140 stores data that is used more frequently. The secondary cache 150 stores frequently used data leaked from the primary cache 140.

記憶領域170は、プロセッサ100で利用されるプログラムやデータなどを記憶する。   The storage area 170 stores programs and data used by the processor 100.

図2は、プロセッサ100に搭載されたCPU110が、基本ソフトウェアであるOS(operating system)200を実行することにより実現される機能の構成と、プロセッサ100が備えるハードウェアとを示すブロック図である。ここでは、プロセッサ100上で単一のOS200が動作し、OS200上で1または複数のプロセス(999−1〜999−n)が動作すると捉えることができる。また、図2においては、プロセッサ100が備えるハードウェアとプロセッサ100上で動作するOS200、OS200上で動作する1または複数のプロセスをプロセッサ100が含む表現としている。   FIG. 2 is a block diagram illustrating a configuration of functions realized by the CPU 110 mounted on the processor 100 executing an operating system (OS) 200 that is basic software, and hardware included in the processor 100. Here, it can be understood that a single OS 200 operates on the processor 100 and one or more processes (999-1 to 999-n) operate on the OS 200. In FIG. 2, the processor 100 includes hardware included in the processor 100, an OS 200 that operates on the processor 100, and one or more processes that operate on the OS 200.

図2に示すように、プロセッサ100が備えるハードウェアには、CPU110と、第1記憶部910と、第2記憶部930とが含まれる。第1記憶部910は、割込みの種別を示す割込み種別と、割込みの発生を待つ状態を示す割込み待ちが発生してから割込みの処理を示す割込み処理が開始されるまで時間(待ち時間)を示す割込み待ち時間と、割込み処理の時間を示す割込み処理時間とを対応付けて記憶する。   As illustrated in FIG. 2, the hardware included in the processor 100 includes a CPU 110, a first storage unit 910, and a second storage unit 930. The first storage unit 910 indicates an interrupt type indicating an interrupt type, and a time (waiting time) until an interrupt process indicating an interrupt process is started after an interrupt wait indicating a state of waiting for an interrupt occurs. The interrupt waiting time and the interrupt processing time indicating the interrupt processing time are stored in association with each other.

図3は、第1記憶部910に記憶されたデータの一例を示す図である。図3の例では、デバイス読み出しに対応する割込み待ち時間はT1_m、割込み処理時間はT1_sにそれぞれ設定される。キーボード入力に対応する割込み待ち時間はT2_m、割込み処理時間はT2_sにそれぞれ設定される。タイマーに対応する割込み待ち時間はT3_m、割込み処理時間はT3_sにそれぞれ設定される。マウス入力に対応する割込み待ち時間はT4_m、割込み処理時間はT4_sにそれぞれ設定される。   FIG. 3 is a diagram illustrating an example of data stored in the first storage unit 910. In the example of FIG. 3, the interrupt waiting time corresponding to device reading is set to T1_m, and the interrupt processing time is set to T1_s. The interrupt waiting time corresponding to keyboard input is set to T2_m, and the interrupt processing time is set to T2_s. The interrupt waiting time corresponding to the timer is set to T3_m, and the interrupt processing time is set to T3_s. The interrupt waiting time corresponding to mouse input is set to T4_m, and the interrupt processing time is set to T4_s.

図2に戻って説明を続ける。第2記憶部930は、割込み種別と、割込み待ちが発生した時刻を示す割込み待ち発生時刻とを対応付けて記憶する。   Returning to FIG. 2, the description will be continued. The second storage unit 930 stores the interrupt type and the interrupt wait occurrence time indicating the time when the interrupt wait occurred in association with each other.

図4は、第2記憶部930に記憶されたデータの一例を示す図である。図4の例では、デバイス読み出しに対応する割込み待ち発生時刻はTaに設定される。また、キーボード入力に対応する割込み待ち発生時刻はTbに設定される。さらに、タイマーに対応する割込み待ち発生時刻はTcに設定される。   FIG. 4 is a diagram illustrating an example of data stored in the second storage unit 930. In the example of FIG. 4, the interrupt wait occurrence time corresponding to device reading is set to Ta. Also, the interruption waiting time corresponding to the keyboard input is set to Tb. Furthermore, the interruption waiting time corresponding to the timer is set to Tc.

再び図2に戻って説明を続ける。図2に示すように、OS200は、割込み待ち設定部210と、割込み検出部220と、算出部230と、第1決定部240と、モード設定部250と、割込み待ち解除部260とを有する。   Returning to FIG. 2 again, the description will be continued. As illustrated in FIG. 2, the OS 200 includes an interrupt wait setting unit 210, an interrupt detection unit 220, a calculation unit 230, a first determination unit 240, a mode setting unit 250, and an interrupt wait release unit 260.

割込み待ち設定部210は、ある割込み種別の割込み待ちが発生したときに、当該割込み待ちとなった割込み種別と、当該割込み種別の割込み待ち発生時刻とを第2記憶部930に記憶する。また、割込み待ち解除部260は、割込み処理が開始されたときに、当該割込み処理に対応する割込み種別と、当該割込み種別に対応する割込み待ち発生時刻とを第2記憶部930から削除する。詳細な内容については後述する。   When an interrupt wait of a certain interrupt type occurs, the interrupt wait setting unit 210 stores the interrupt type that has been waiting for the interrupt and the interrupt wait occurrence time of the interrupt type in the second storage unit 930. In addition, when the interrupt process is started, the interrupt wait release unit 260 deletes the interrupt type corresponding to the interrupt process and the interrupt wait occurrence time corresponding to the interrupt type from the second storage unit 930. Detailed contents will be described later.

割込み検出部220は、割込みの発生を検出する。より具体的には、割込み検出部220は、プロセッサ100内外からの割込み通知(割込みが発生することを示す信号)を受け取り、当該割込み通知から、割込み処理が開始される割込み種別を特定する。   The interrupt detection unit 220 detects the occurrence of an interrupt. More specifically, the interrupt detection unit 220 receives an interrupt notification (a signal indicating that an interrupt occurs) from inside and outside the processor 100, and identifies an interrupt type from which interrupt processing is started based on the interrupt notification.

算出部230は、システム10がスリープ状態から復帰した後に実行される割込み処理が終了するまでに必要な時間を示すシステム割込み処理時間を算出する。ここでは、電力が供給される要素の数が所定数に制限されるとともにシステム10の動作が停止する状態をスリープ状態と呼ぶ。本実施形態では、CPU110が何れの処理も実行しないアイドル状態(見方を変えれば、アイドル状態とは、システム10が何れの処理も実行しない状態であると捉えることもできる)が一定の期間にわたって継続した場合、システム10はスリープ状態に移行するが、これに限らず、スリープ状態への移行条件は任意である。一方、スリープ状態において、割込みが発生した場合、システム10はスリープ状態から復帰して割込み処理を実行する。   The calculation unit 230 calculates a system interrupt processing time indicating a time required until the interrupt processing executed after the system 10 returns from the sleep state. Here, a state in which the number of elements to which power is supplied is limited to a predetermined number and the operation of the system 10 is stopped is referred to as a sleep state. In the present embodiment, the idle state in which the CPU 110 does not execute any process (in other words, the idle state can be regarded as a state in which the system 10 does not execute any process) continues for a certain period. In this case, the system 10 shifts to the sleep state, but the present invention is not limited to this, and the conditions for shifting to the sleep state are arbitrary. On the other hand, when an interrupt occurs in the sleep state, the system 10 returns from the sleep state and executes interrupt processing.

本実施形態では、算出部230は、システム10がスリープ状態から復帰した直後に、他の割込み処理とは重複(オーバラップ)せずに単独で実行される割込み処理、あるいは、少なくとも一部の重複を持って実行される複数の割込み処理が終了するまでに必要な時間を、システム割込み処理時間として算出する。   In the present embodiment, the calculation unit 230 performs an interrupt process that is executed independently without overlapping (overlap) with other interrupt processes immediately after the system 10 returns from the sleep state, or at least a part of the overlap. The time required until the completion of a plurality of interrupt processes executed with the is calculated as the system interrupt process time.

いま、スリープ状態において、デバイス読み出し、キーボード入力、タイマー割込みの3つの割込み種別が割込み待ちとなっている場合を想定する。図5に示すように、デバイス読み出しによる割込み処理が開始される時刻はt1、割込み処理時間はT1_sに設定されている。また、キーボード入力による割込み処理が開始される時刻はt2(>t1)、割込み処理時間はT2_sに設定されている。さらに、タイマー割込みによる割込み処理が開始される時刻はt3(>t2)、割込み処理時間がT3_sに設定されている。図5の例では、システム10がスリープ状態から復帰するタイミングは、デバイス読み出しによる割込み処理が開始される時刻(デバイス読み出しによる割込みが発生する時刻)t1であるとする。また、デバイス読み出しによる割込み処理が実行される期間の一部は、キーボード入力による割込み処理が実行される期間の一部と重複している。一方、タイマー割込みによる割込み処理が実行される期間は、他の割込み処理が実行される期間とは重複せずに独立に設定される。したがって、図5の例では、システム10がスリープ状態から復帰した後に実行される割込み処理が終了するまでに必要な時間を示すシステム割込み処理時間は、デバイス読み出しによる割込み処理とキーボード入力による割込み処理が実行される時間となる。すなわち、図5の例では、システム割込み処理時間Tsは、T2_s+(t2−t1)と算出される。   Assume that in the sleep state, the three interrupt types of device reading, keyboard input, and timer interrupt are waiting for an interrupt. As shown in FIG. 5, the time when the interrupt processing by the device reading is started is set to t1, and the interrupt processing time is set to T1_s. In addition, the time when the interrupt processing by keyboard input is started is set to t2 (> t1), and the interrupt processing time is set to T2_s. Further, the time when the interrupt processing by the timer interrupt is started is set to t3 (> t2), and the interrupt processing time is set to T3_s. In the example of FIG. 5, it is assumed that the timing at which the system 10 returns from the sleep state is the time when interrupt processing by device reading is started (time at which an interrupt by device reading occurs) t1. Further, a part of the period in which the interrupt process by the device reading is executed overlaps with a part of the period in which the interrupt process by the keyboard input is executed. On the other hand, the period in which the interrupt process by the timer interrupt is executed is set independently without overlapping with the period in which the other interrupt processes are executed. Therefore, in the example of FIG. 5, the system interrupt processing time indicating the time required until the interrupt processing executed after the system 10 returns from the sleep state is completed by the interrupt processing by device reading and the interrupt processing by keyboard input. It is time to be executed. That is, in the example of FIG. 5, the system interrupt processing time Ts is calculated as T2_s + (t2-t1).

図2の第1決定部240は、算出部230により算出されたシステム割込み処理時間に応じて、スリープ状態からの復帰後のシステム10の動作状態を示すモードを決定する。システム10の動作状態とは、システム10がどのように動作するのかを表すものであり、ここでは、スリープ状態は含まれない。この例では、消費電力が異なる複数のモードがあり、第1決定部240は、算出部230により算出されたシステム割込み処理時間に応じて、複数のモードのうちの何れかのモードを、スリープ状態からの復帰後のシステム10のモードとして決定する。各モードは任意に変更可能であり、例えば「1次キャッシュ140に対する電力供給が行われる一方、2次キャッシュ150に対する電力供給は停止される」というモードがあってもよいし、「1次キャッシュ140および2次キャッシュ150の各々に対する電力供給が停止される」というモードがあってもよい。また、その他の要素(例えば記憶領域170)に対する電力供給が停止されるモードがあってもよいし、CPU110の電圧やクロック周波数の値が、所定値に設定されるモードがあってもよい。   The first determination unit 240 in FIG. 2 determines a mode indicating the operation state of the system 10 after returning from the sleep state, according to the system interrupt processing time calculated by the calculation unit 230. The operating state of the system 10 represents how the system 10 operates, and here, the sleep state is not included. In this example, there are a plurality of modes with different power consumptions, and the first determination unit 240 sets one of the plurality of modes to the sleep state according to the system interrupt processing time calculated by the calculation unit 230. It is determined as the mode of the system 10 after returning from. Each mode can be arbitrarily changed. For example, there may be a mode that “the power supply to the primary cache 140 is performed while the power supply to the secondary cache 150 is stopped” or “the primary cache 140 is stopped. And the power supply to each of the secondary caches 150 is stopped ”. In addition, there may be a mode in which power supply to other elements (for example, the storage area 170) is stopped, or there may be a mode in which the voltage of the CPU 110 and the value of the clock frequency are set to predetermined values.

図2のモード設定部250は、システム10のモードを、第1決定部240により決定されたモードに設定する。これにより、システム10は、スリープ状態から復帰して、モード設定部250により設定されたモードに移行する。   The mode setting unit 250 in FIG. 2 sets the mode of the system 10 to the mode determined by the first determination unit 240. As a result, the system 10 returns from the sleep state and shifts to the mode set by the mode setting unit 250.

図6は、割込み待ちが発生したときのプロセッサ100の動作手順の一例を示すシーケンス図である。例えば、システム10に付帯するデバイス(例えばマウス、キーボードなど)が割込み待ちの状態になると、当該デバイスの割込み待ちが発生したことを示す情報が、デバイスドライバ等から割込み待ち設定部210へ通知される。割込み待ち設定部210は、当該通知を受けることで、割込み待ちが発生した割込み種別を検出することができる(ステップS600)。割込み待ちが発生した割込み種別を検出した場合、割込み待ち設定部210は、その検出した割込み種別の割込み待ち発生時刻(この例では、前述の通知を受けた時刻)を取得し(ステップS601)、割込み待ちとなった割込み種別と、割込み待ち発生時刻とを第2記憶部930に対して通知する(ステップS602)。第2記憶部930は、割込み待ち設定部210から通知された割込み種別と割込み待ち発生時刻とを対応付けて記憶する(ステップS603)。   FIG. 6 is a sequence diagram illustrating an example of an operation procedure of the processor 100 when an interrupt wait occurs. For example, when a device attached to the system 10 (for example, a mouse, a keyboard, etc.) is in an interrupt wait state, information indicating that an interrupt wait of the device has occurred is notified from the device driver or the like to the interrupt wait setting unit 210. . By receiving the notification, the interrupt wait setting unit 210 can detect the interrupt type in which the interrupt wait has occurred (step S600). When detecting the interrupt type in which the interrupt wait has occurred, the interrupt wait setting unit 210 acquires the interrupt wait occurrence time of the detected interrupt type (in this example, the time when the above notification was received) (step S601). The second storage unit 930 is notified of the interrupt type that has been waiting for an interrupt and the time at which the interrupt has occurred (step S602). The second storage unit 930 stores the interrupt type notified from the interrupt wait setting unit 210 and the interrupt wait occurrence time in association with each other (step S603).

図7は、プロセッサ100に対して割込みが発生してから、割込み処理を開始するまでの動作手順の一例を示すシーケンス図である。図7に示すように、まず割込み検出部220は、プロセッサ100内外からの割込み通知を受信することで、割込みの発生を検出する(ステップS700)。次に、割込み検出部220は、受信した割込み通知から、発生した割込みの割込み種別(割込み処理が開始される割込み種別)を特定する(ステップS701)。次に、割込み検出部220は、システムがスリープ状態であるか否かを検出する(ステップS702)。システムがスリープ状態の場合(ステップS702の結果:YES)、割込み検出部220は、特定した割込み種別を算出部230に対して通知する(ステップS704)。一方、システム10の状態がスリープ状態ではない場合(ステップS702の結果:NO)、割込み検出部220は、特定した割込み種別を、割込み待ち解除部260に対して通知する(ステップS703)。ステップS703の後、処理はステップS711に移行する。ステップS711の処理の内容は後述する。   FIG. 7 is a sequence diagram illustrating an example of an operation procedure from when an interrupt is generated to the processor 100 to when interrupt processing is started. As shown in FIG. 7, the interrupt detection unit 220 first detects the occurrence of an interrupt by receiving an interrupt notification from inside and outside the processor 100 (step S700). Next, the interrupt detection unit 220 identifies the interrupt type (interrupt type for which interrupt processing is started) of the generated interrupt from the received interrupt notification (step S701). Next, the interrupt detection unit 220 detects whether or not the system is in a sleep state (step S702). When the system is in the sleep state (result of step S702: YES), the interrupt detection unit 220 notifies the calculation unit 230 of the specified interrupt type (step S704). On the other hand, when the state of the system 10 is not the sleep state (the result of step S702: NO), the interrupt detection unit 220 notifies the interrupt waiting release unit 260 of the specified interrupt type (step S703). After step S703, the process proceeds to step S711. The contents of the process in step S711 will be described later.

算出部230は、割込みが発生した割込み種別(割込み処理が開始される割込み種別)の通知を割込み検出部220から受けると、第1記憶部910および第2記憶部930の各々に記憶されたデータを用いて、システム割込み処理時間を算出する(ステップS705)。見方を変えれば、算出部230によるシステム割込み処理時間の算出は、スリープ状態において割込みが発生したときに行われる。要するに、算出部230は、システム10がスリープ状態から復帰した後に実行される割込み処理が終了するまでに必要な時間を示すシステム割込み処理時間を算出する。   When the calculation unit 230 receives a notification of an interrupt type (interrupt type for which interrupt processing is started) from which an interrupt has occurred from the interrupt detection unit 220, the calculation unit 230 stores data stored in each of the first storage unit 910 and the second storage unit 930. Is used to calculate the system interrupt processing time (step S705). In other words, the calculation unit 230 calculates the system interrupt processing time when an interrupt occurs in the sleep state. In short, the calculation unit 230 calculates the system interrupt processing time indicating the time required until the interrupt processing executed after the system 10 returns from the sleep state.

図8は、算出部230によるシステム割込み処理時間の算出例を示すフローチャートである。図8に示すように、まず算出部230は、第2記憶部930に記憶された割込み種別と、当該割込み種別に対応する割込み待ち発生時刻を抽出する(ステップS800)。次に、算出部230は、カウンタの計測値iを「0」に初期化する(ステップS801)。算出部230は、ステップS800で抽出した全ての割込み種別に対して、以下に説明するステップS802〜ステップS806の処理を行うことで、割込み発生時刻(割込み処理が開始される時刻)と割込み処理時間の対応表を作成する。以下、具体的に説明する。   FIG. 8 is a flowchart illustrating an example of calculating the system interrupt processing time by the calculation unit 230. As shown in FIG. 8, the calculation unit 230 first extracts the interrupt type stored in the second storage unit 930 and the interrupt wait occurrence time corresponding to the interrupt type (step S800). Next, the calculation unit 230 initializes the measurement value i of the counter to “0” (step S801). The calculation unit 230 performs the processing of steps S802 to S806 described below for all the interrupt types extracted in step S800, thereby generating an interrupt generation time (interrupt processing start time) and an interrupt processing time. Create a correspondence table. This will be specifically described below.

ステップS801の後、算出部230は、カウンタの計測値iが、ステップS800で抽出した割込み種別の総数を示す値に到達したか否かを判断する(ステップS802)。カウンタの計測値iが、抽出した割込み種別の総数を示す値に到達していない場合(ステップS802の結果:No)、算出部230は、ステップS800で抽出した割込み種別の中から、未だ選択されていない割込み種別を1つ選択する(ステップS803)。次に、算出部230は、ステップS803で選択した割込み種別に対応する割込み待ち時間および割込み処理時間を第1記憶部910から抽出する(ステップS804)。次に、算出部230は、ステップS803で選択した割込み種別に対応する割込み待ち発生時刻および割込み待ち時間から、割込み発生時刻(割込み処理が開始される時刻)を算出する(ステップS805)。具体的には、割込み待ち発生時刻から割込み待ち時間が経過する時刻を、割込み発生時刻として算出する。次に、算出部230は、ステップS805で算出した割込み発生時刻と、ステップS803で選択した割込み種別に対応する割込み処理時間(ステップS804で抽出した割込み処理時間)とを対応付けたデータ(「対応データ」と呼ぶ)を記憶する(ステップS806)。次に、算出部230は、カウンタの計測値iを1だけカウントアップする(ステップS807)。そして、処理は再び前述のステップS802に移行する。   After step S801, the calculation unit 230 determines whether or not the measured value i of the counter has reached a value indicating the total number of interrupt types extracted in step S800 (step S802). When the measured value i of the counter has not reached the value indicating the total number of extracted interrupt types (result of step S802: No), the calculation unit 230 is still selected from the interrupt types extracted in step S800. One interrupt type that has not been selected is selected (step S803). Next, the calculation unit 230 extracts the interrupt waiting time and the interrupt processing time corresponding to the interrupt type selected in Step S803 from the first storage unit 910 (Step S804). Next, the calculation unit 230 calculates an interrupt occurrence time (interrupt processing start time) from the interrupt wait occurrence time and interrupt wait time corresponding to the interrupt type selected in step S803 (step S805). Specifically, the time when the interrupt waiting time elapses from the interrupt wait occurrence time is calculated as the interrupt occurrence time. Next, the calculation unit 230 associates the interrupt occurrence time calculated in step S805 with the interrupt processing time corresponding to the interrupt type selected in step S803 (the interrupt processing time extracted in step S804) (“correspondence” (Referred to as “data”) (step S806). Next, the calculation unit 230 increments the counter measurement value i by 1 (step S807). Then, the process returns to step S802 described above.

前述のステップS802において、カウンタの計測値iが、ステップS800で抽出した割込み種別の総数を示す値に到達した場合(ステップS802の結果:YES)、算出部230は、割込み発生時刻順に、前述の対応データを並べ替える(ステップS808)。   In the above-described step S802, when the measured value i of the counter reaches the value indicating the total number of interrupt types extracted in step S800 (the result of step S802: YES), the calculation unit 230 performs the above-described order of interrupt occurrence time The correspondence data is rearranged (step S808).

次に、算出部230は、現在時刻(この例では割込みの発生が検出された時刻)から、通知された割込み種別に対応する割込み処理時間が経過する時刻を、スリープ状態から復帰した後に実行される割込み処理が終了する時刻(「システム割込み終了時刻」と呼ぶ)として設定する(ステップS809)。   Next, the calculation unit 230 is executed after returning from the sleep state at the time when the interrupt processing time corresponding to the notified interrupt type elapses from the current time (in this example, when the occurrence of the interrupt is detected). Is set as the time when the interrupt processing ends (referred to as “system interrupt end time”) (step S809).

次に、算出部230は、システム割込み終了時刻が、割込みの発生が検出されていない他の割込み種別の割込み発生時刻よりも早いか否かを判断する(ステップS810)。システム割込み終了時刻が、他の割込み種別の割込み発生時刻よりも早いと判断した場合(ステップS810の結果:YES)は、算出部230は、現在時刻からシステム割込み終了時刻までの時間をシステム割込み処理時間として算出する(ステップS812)。一方、システム割込み終了時刻が、他の割込み種別の割込み発生時刻よりも遅いと判断した場合(ステップS810の結果:NO)は、算出部230は、システム割込み終了時刻の再設定を行う(ステップS811)。より具体的には、算出部230は、現在のシステム割込み終了時刻よりも割込み発生時刻が早い割込み種別のうち、最も割込み発生時刻が早い割込み種別を選択し、その選択した割込み種別の割込み発生時刻から、その選択した割込み種別の割込み処理時間が経過する時刻を、システム割込み終了時刻として設定し直す。そして、処理は、再び前述のステップS810に戻る。   Next, the calculation unit 230 determines whether or not the system interrupt end time is earlier than the interrupt generation time of another interrupt type for which no interrupt has been detected (step S810). When it is determined that the system interrupt end time is earlier than the interrupt generation time of other interrupt types (result of step S810: YES), the calculation unit 230 calculates the time from the current time to the system interrupt end time as a system interrupt process. The time is calculated (step S812). On the other hand, when it is determined that the system interrupt end time is later than the interrupt generation time of other interrupt types (result of step S810: NO), the calculation unit 230 resets the system interrupt end time (step S811). ). More specifically, the calculation unit 230 selects an interrupt type with the earliest interrupt generation time from among interrupt types whose interrupt generation time is earlier than the current system interrupt end time, and the interrupt generation time of the selected interrupt type Then, the time when the interrupt processing time of the selected interrupt type elapses is reset as the system interrupt end time. Then, the process returns to step S810 described above.

再び図7に戻って説明を続ける。算出部230は、以上のように算出したシステム割込み処理時間と、割込み検出部220から通知された割込み種別(割込みが発生した割込み種別)とを第1決定部240に対して通知することで、スリープ状態からの復帰後のシステム10のモードを決定することを要求する(ステップS706)。第1決定部240は、算出部230から通知されたシステム割込み処理時間に応じて、スリープ状態からの復帰後のシステム10のモードを決定する(ステップS707)。より具体的には、第1決定部240は、システム割込み処理時間が大きいほど、動作する要素の数(電力が供給される要素の数)が多くなるように、システム10のモードを決定する。以下に、モードの決定方法の一例を挙げて説明する。例えば算出部230から通知されたシステム割込み処理時間が第1基準値以下の場合は、システム10の最低限の要素を稼働させる(消費電力が最小となる)第1モードを、システム10のモードとして決定することもできる。第1モードは、例えば電圧や周波数が設定可能な最小値に設定され、1次キャッシュ140および2次キャッシュ150の各々に対する電力の供給が停止される状態を示すモードであってもよい。一方、例えば算出部230から通知されたシステム割込み処理時間が第1基準値よりも大きい第2基準値以上の場合は、システム10のすべての要素を稼働させる(消費電力が最大となる)第2モードを、システム10のモードとして決定することもできる。第2モードは、例えば全ての要素に対する電力の供給が行われるモードであってもよい。なお、これに限らず、システム割込み処理時間が大きいほど、消費電力の大きいモードがシステム10のモードとして決定されるものであればよい。第1決定部240は、以上のように決定したシステム10のモードと、割込みが発生した割込み種別とをモード設定部250に対して通知する(ステップS708)。   Returning to FIG. 7 again, the description will be continued. The calculation unit 230 notifies the first determination unit 240 of the system interrupt processing time calculated as described above and the interrupt type notified from the interrupt detection unit 220 (interrupt type in which an interrupt has occurred). A request is made to determine the mode of the system 10 after returning from the sleep state (step S706). The first determination unit 240 determines the mode of the system 10 after returning from the sleep state according to the system interrupt processing time notified from the calculation unit 230 (step S707). More specifically, the first determination unit 240 determines the mode of the system 10 such that the number of operating elements (the number of elements to which power is supplied) increases as the system interrupt processing time increases. Hereinafter, an example of a mode determination method will be described. For example, when the system interrupt processing time notified from the calculation unit 230 is equal to or less than the first reference value, the first mode in which the minimum elements of the system 10 are operated (power consumption is minimized) is set as the system 10 mode. It can also be determined. The first mode may be a mode indicating a state in which, for example, the voltage and frequency are set to a minimum value that can be set, and the supply of power to each of the primary cache 140 and the secondary cache 150 is stopped. On the other hand, for example, when the system interrupt processing time notified from the calculation unit 230 is equal to or longer than the second reference value larger than the first reference value, all elements of the system 10 are operated (the power consumption is maximized). The mode can also be determined as the mode of the system 10. The second mode may be a mode in which power is supplied to all elements, for example. However, the present invention is not limited to this, as long as the system interrupt processing time is longer, a mode in which the power consumption is larger is determined as the mode of the system 10. The first determination unit 240 notifies the mode setting unit 250 of the mode of the system 10 determined as described above and the interrupt type in which the interrupt has occurred (step S708).

モード設定部250は、システム10のモードを、第1決定部240から通知されたモードに設定する(ステップS709)。これにより、システム10は、スリープ状態から復帰して、モード設定部250により設定されたモードに移行する。次に、モード設定部250は、割込み待ち解除部260に対して、割込みが発生した割込み種別を通知する(ステップS710)。次に、割込み待ち解除部260は、第2記憶部930に記憶された割込み種別のうち、モード設定部250から通知された割込み種別と、当該割込み種別に対応する割込み待ち発生時刻とを第2記憶部930から削除する(ステップS711)。以上のように、割込み待ちが発生した場合は、割込み待ちとなった割込み種別と、当該割込み待ちとなった時刻を示す割込み待ち発生時刻とが対応付けられて第2記憶部930に記憶される一方、割込み待ちが解除された場合(割込みが発生した場合)は、割込み待ちが解除された割込み種別と、当該割込み種別に対応する割込み待ち発生時刻とが第2記憶部930から削除される。これにより、現在の割込み待ちの状況を適切に管理することができる。そして、割込み待ち解除部260は、モード設定部250から通知された割込み種別に対応する割込み処理の実行を開始する(ステップS712)。   The mode setting unit 250 sets the mode of the system 10 to the mode notified from the first determination unit 240 (step S709). As a result, the system 10 returns from the sleep state and shifts to the mode set by the mode setting unit 250. Next, the mode setting unit 250 notifies the interrupt wait cancellation unit 260 of the interrupt type in which the interrupt has occurred (step S710). Next, the interrupt wait cancellation unit 260 sets the second interrupt type notified from the mode setting unit 250 among the interrupt types stored in the second storage unit 930 and the second interrupt wait generation time corresponding to the interrupt type. It deletes from the memory | storage part 930 (step S711). As described above, when an interrupt wait has occurred, the interrupt type that has become an interrupt wait and the interrupt wait occurrence time indicating the time at which the interrupt was waited are associated with each other and stored in the second storage unit 930. On the other hand, when the interrupt wait is released (when an interrupt occurs), the interrupt type for which the interrupt wait is released and the interrupt wait occurrence time corresponding to the interrupt type are deleted from the second storage unit 930. This makes it possible to appropriately manage the current interrupt wait status. Then, the interrupt wait cancellation unit 260 starts executing the interrupt process corresponding to the interrupt type notified from the mode setting unit 250 (step S712).

ここで、システム10を前述の第1モード(最小セット)で動作させる場合は、システム10の消費電力を低減できる一方で、システム10を一時的に停止させるための処理等によるオーバーヘッドが大きいうえ、当該処理による影響(電圧、周波数が低いことによる処理時間の増大や、キャッシュが動作していないことによるメモリアクセスの増加等)に起因して発生する消費電力も無視できない。このため、前述のシステム割込み処理時間(システム10がスリープ状態から復帰した後に実行される割込み処理が終了するまでに必要な時間)の値によっては、システム10を第1モードで動作させた場合に発生する消費電力の方が、他のモード(例えば前述の第2モード)で動作させた場合に発生する消費電力よりも大きい場合がある。   Here, when the system 10 is operated in the first mode (minimum set) described above, the power consumption of the system 10 can be reduced, while overhead due to processing for temporarily stopping the system 10 is large, The power consumption generated due to the influence of the processing (an increase in processing time due to a low voltage and frequency, an increase in memory access due to a cache not operating, etc.) cannot be ignored. For this reason, depending on the value of the above-described system interrupt processing time (the time required until the interrupt processing executed after the system 10 returns from the sleep state), the system 10 may be operated in the first mode. The generated power consumption may be larger than the power consumption generated when operating in another mode (for example, the above-described second mode).

本実施形態では、前述のシステム割込み処理時間に応じて、システム10のモードを設定する。より具体的には、前述のシステム割込み処理時間が大きいほど、消費電力が大きいモードに設定するので、適切な処理時間を保ったままシステム10の消費電力を効率的に低減できる。したがって、本実施形態によれば、システムの消費電力を効率的に低減できる。   In the present embodiment, the mode of the system 10 is set according to the above-described system interrupt processing time. More specifically, as the above-described system interrupt processing time is longer, the mode is set such that the power consumption is higher. Therefore, the power consumption of the system 10 can be efficiently reduced while maintaining an appropriate processing time. Therefore, according to the present embodiment, the power consumption of the system can be efficiently reduced.

また、本実施形態では、スリープ状態において割込みが発生したとき、その後の処理時間に応じて、システム10のモードが設定されるので、割込みの発生後にその処理時間が決定される場合にも、効率的に消費電力を低減することができるという利点がある。例えばプロセッサ100の外部の制御装置によって割込みが制御される場合は、スリープ状態に移行する前においては、スリープ状態において割込みが発生した後の処理時間を正しく見積もることができないため、割込みが発生した直後にシステム10のモードを決定する必要がある。このような場合でも、本実施形態の構成を適用することで、効率的に消費電力を削減できる。   In this embodiment, when an interrupt occurs in the sleep state, the mode of the system 10 is set according to the subsequent processing time. Therefore, even when the processing time is determined after the occurrence of the interrupt, the efficiency is improved. Therefore, there is an advantage that power consumption can be reduced. For example, when an interrupt is controlled by a control device external to the processor 100, the processing time after the occurrence of an interrupt in the sleep state cannot be accurately estimated before entering the sleep state. It is necessary to determine the mode of the system 10. Even in such a case, the power consumption can be efficiently reduced by applying the configuration of the present embodiment.

(第2実施形態)
本実施形態では、前述の算出部230および第1決定部240を動作させずに、電源の電力状態に応じて、モードを設定可能な機能を有する点で第1実施形態と異なる。以下、具体的な内容を説明する。なお、第1実施形態と重複する部分については、同一の符号を付して適宜に説明を省略する。
(Second Embodiment)
This embodiment is different from the first embodiment in that it has a function capable of setting the mode according to the power state of the power supply without operating the calculation unit 230 and the first determination unit 240 described above. Specific contents will be described below. In addition, about the part which overlaps with 1st Embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted suitably.

図9は、第2実施形態のシステム30の構成例を示すブロック図である。図9に示すように、システム30は、プロセッサ100と、記憶領域170と、電力状態管理部360と、発電モジュール380と、バッテリー385とを備え、それぞれがバス390で相互に接続されている。発電モジュール380およびバッテリー385は、システム30の電源であると捉えることができる。   FIG. 9 is a block diagram illustrating a configuration example of the system 30 according to the second embodiment. As shown in FIG. 9, the system 30 includes a processor 100, a storage area 170, a power state management unit 360, a power generation module 380, and a battery 385, which are mutually connected by a bus 390. The power generation module 380 and the battery 385 can be regarded as the power source of the system 30.

発電モジュール380は、システム30を稼働するために必要な電力を発電する。一例として、太陽光パネルのように、太陽光から電力を発電する構成を発電モジュール380として用いることができる。バッテリー385は、システム30を稼働するために必要な電力を蓄える。   The power generation module 380 generates electric power necessary for operating the system 30. As an example, a configuration that generates power from sunlight, such as a solar panel, can be used as the power generation module 380. The battery 385 stores electric power necessary for operating the system 30.

電力状態管理部360は、電源の電力状態を管理する。例えば発電モジュール380の発電量、発電量から計算される発電量の増減の傾向を示す発電傾向、バッテリー385の充電容量、充電容量から計算される充電量の増減の傾向を示す充電傾向などの少なくとも1つが電源の電力状態に含まれる。電力状態管理部360は、前回の発電量を記憶しておき、今回の発電量と比較することにより、発電傾向を把握することができる。また、電力状態管理部360は、前回の充電容量を記憶しておき、今回の充電容量と比較することにより、充電傾向を把握することができる。   The power state management unit 360 manages the power state of the power source. For example, at least the power generation amount of the power generation module 380, the power generation tendency indicating the increase or decrease tendency of the power generation amount calculated from the power generation amount, the charge capacity of the battery 385, the charging tendency indicating the tendency of increase or decrease of the charge amount calculated from the charge capacity, etc. One is included in the power state of the power supply. The power state management unit 360 stores the previous power generation amount, and can grasp the power generation tendency by comparing with the current power generation amount. Moreover, the power state management unit 360 stores the previous charge capacity, and can grasp the charge tendency by comparing with the current charge capacity.

図10は、プロセッサ100に搭載されたCPU110が、基本ソフトウェアであるOS(operating system)400を実行することにより実現される機能の構成と、プロセッサ100が備えるハードウェアとを示すブロック図である。図10に示すように、プロセッサ100が備えるハードウェアには、CPU110と、第1記憶部910と、第2記憶部930と、第4記憶部970と、第5記憶部990とが含まれる。また、図10においては、プロセッサ100が備えるハードウェアとプロセッサ100上で動作するOS400、OS400上で動作する1または複数のプロセスをプロセッサ100が含む表現としている。   FIG. 10 is a block diagram illustrating a functional configuration realized when the CPU 110 mounted on the processor 100 executes an operating system (OS) 400 that is basic software, and hardware included in the processor 100. As illustrated in FIG. 10, hardware included in the processor 100 includes a CPU 110, a first storage unit 910, a second storage unit 930, a fourth storage unit 970, and a fifth storage unit 990. In FIG. 10, the processor 100 includes hardware included in the processor 100, an OS 400 that operates on the processor 100, and one or more processes that operate on the OS 400.

図11は、第4記憶部970に記憶されたデータの一例を示す図である。図11の例では、第4記憶部970は、発電傾向と、充電量と、システム30のモード決定に利用する決定部とを対応付けて記憶する。つまり、第4記憶部970は、電源の電力状態と、モードの決定方法とを対応付けて記憶していると捉えることもできる。この図の場合、発電傾向が増加の傾向を示すとともに、充電量が第1閾値(例えば40%)未満の場合は、算出部230および第1決定部240を動作させることを示している。また、発電傾向が増加の傾向を示し、充電量が第1閾値以上の場合は、後述の第2決定部490を動作させることを示している。   FIG. 11 is a diagram illustrating an example of data stored in the fourth storage unit 970. In the example of FIG. 11, the fourth storage unit 970 stores a power generation tendency, a charge amount, and a determination unit used for determining the mode of the system 30 in association with each other. That is, the fourth storage unit 970 can be regarded as storing the power state of the power supply and the mode determination method in association with each other. In the case of this figure, the power generation tendency shows an increasing tendency, and when the charge amount is less than a first threshold (for example, 40%), it indicates that the calculation unit 230 and the first determination unit 240 are operated. Further, when the power generation tendency shows an increasing tendency and the charge amount is equal to or more than the first threshold, it indicates that the second determination unit 490 described later is operated.

また、発電傾向が横ばいの傾向を示すとともに、充電量が第2閾値(例えば50%)以上、かつ、第2閾値よりも大きい第3閾値(例えば60%)未満である場合は、算出部230および第1決定部240を動作させることを示している。また、例えば発電傾向が横ばいの傾向を示すとともに、充電量が第3閾値以上の場合は第2決定部490を動作させることを示している。   In addition, when the power generation tendency shows a flat tendency and the charge amount is equal to or more than the second threshold (for example, 50%) and less than the third threshold (for example, 60%) that is larger than the second threshold, the calculation unit 230 It also shows that the first determination unit 240 is operated. In addition, for example, the power generation tendency shows a flat tendency, and when the charge amount is equal to or larger than the third threshold, the second determination unit 490 is operated.

さらに、発電傾向が低下の傾向を示すとともに、充電量が第4閾値(例えば70%)以上である場合は、算出部230および第1決定部240を動作させることを示している。また、発電傾向が低下の傾向を示すとともに、充電量が第4閾値未満の場合は第2決定部490を動作させることを示している。   Further, the power generation tendency shows a tendency to decrease, and when the charge amount is a fourth threshold value (for example, 70%) or more, it indicates that the calculation unit 230 and the first determination unit 240 are operated. In addition, the power generation tendency shows a tendency to decrease, and when the charge amount is less than the fourth threshold value, the second determination unit 490 is operated.

なお、これに限らず、第4記憶部970は、例えば充電量のみと、利用する決定部とを対応付けて記憶する構成であってもよいし、発電量の変化量のみと、利用する決定部とを対応付けて記憶する構成であってもよい。例えば、充電量が第5閾値以上、かつ、第5閾値よりも大きい第6閾値未満の場合には算出部230および第1決定部240を利用し、それ以外であれば第2決定部490を利用するとすることもできる。また、例えば、発電量の増加量が第7閾値未満、あるいは、発電量の減少量の絶対値が第8閾値(第7閾値と異なる値でもよいし、同じ値でもよい)未満の場合には算出部230および第1決定部240を利用し、それ以外であれば第2決定部490を利用するとすることもできる。   However, the present invention is not limited to this, and the fourth storage unit 970 may be configured to store, for example, only the charge amount and the determination unit to be used in association with each other, or to determine to use only the change amount of the power generation amount. The configuration may be such that the units are stored in association with each other. For example, the calculation unit 230 and the first determination unit 240 are used when the charge amount is greater than or equal to the fifth threshold and less than the sixth threshold greater than the fifth threshold, and the second determination unit 490 is used otherwise. It can also be used. Also, for example, when the amount of increase in power generation is less than the seventh threshold, or the absolute value of the amount of decrease in power generation is less than the eighth threshold (may be different from the seventh threshold or the same value). It is also possible to use the calculation unit 230 and the first determination unit 240, and otherwise use the second determination unit 490.

図12は、第5記憶部990に記憶されたデータの一例を示す図である。図12の例では、第5記憶部990は、発電傾向と、充電量と、システム30のモードとを対応付けて記憶する。つまり、第5記憶部990は、電源の電力状態と、システム30のモードとを対応付けて記憶していると捉えることができる。この図の場合、発電傾向が増加の傾向を示す場合に、充電量が第9閾値(例えば、30%)以上であれば第2モードを選択し、それ以外であれば第1モードを選択する。また、発電傾向が横ばいの傾向を示す場合に、充電量が第10閾値(例えば、50%)以上であれば第2モードを選択し、それ以外であれば第1モードを選択する。さらに、発電傾向が低下の傾向を示す場合に、充電量が第11閾値(例えば、70%)以上であれば第2モードを選択し、それ以外であれば第1モードを選択する。   FIG. 12 is a diagram illustrating an example of data stored in the fifth storage unit 990. In the example of FIG. 12, the fifth storage unit 990 stores a power generation tendency, a charge amount, and a mode of the system 30 in association with each other. That is, it can be understood that the fifth storage unit 990 stores the power state of the power supply and the mode of the system 30 in association with each other. In the case of this figure, when the power generation tendency shows an increasing tendency, the second mode is selected if the charge amount is not less than the ninth threshold (for example, 30%), and the first mode is selected otherwise. . In addition, when the power generation tendency is flat, the second mode is selected if the charge amount is equal to or greater than a tenth threshold (for example, 50%), and the first mode is selected otherwise. Further, when the power generation tendency shows a tendency to decrease, the second mode is selected if the charge amount is the eleventh threshold (for example, 70%) or more, and the first mode is selected otherwise.

なお、これに限らず、第5記憶部990は、例えば充電量のみと、システム30のモードとを対応付けて記憶する構成であってもよいし、発電量の変化量のみと、システム30のモードとを対応付けて記憶する構成であってもよい。例えば、充電量が第12閾値以上であれば第2モードを選択し、第12閾値未満であれば、第1モードを選択することもできる。また、例えば、発電量の増加量が第13閾値以上であれば第2モードを選択し、第13閾値以下であれば第1モードを選択することもできる。   However, the present invention is not limited to this, and the fifth storage unit 990 may be configured to store, for example, only the charge amount and the mode of the system 30 in association with each other. The configuration may be such that the mode is stored in association with each other. For example, the second mode can be selected if the amount of charge is equal to or greater than the twelfth threshold, and the first mode can be selected if the amount of charge is less than the twelfth threshold. Also, for example, the second mode can be selected if the amount of increase in power generation is equal to or greater than the thirteenth threshold, and the first mode can be selected if it is equal to or less than the thirteenth threshold.

再び図10に戻って説明を続ける。図10に示すように、OS400は、割込み待ち設定部210と、割込み検出部220と、電力状態取得部480と、判断部470と、第2決定部490と、算出部230と、第1決定部240と、モード設定部250と、割込み待ち解除部260とを有する。   Returning to FIG. 10 again, the description will be continued. As illustrated in FIG. 10, the OS 400 includes an interrupt waiting setting unit 210, an interrupt detection unit 220, a power state acquisition unit 480, a determination unit 470, a second determination unit 490, a calculation unit 230, and a first determination. Unit 240, mode setting unit 250, and interrupt wait canceling unit 260.

電力状態取得部480は、電力状態管理部360から電源の電力状態を取得し、その電力状態を判断部470に通知する。判断部470は、第4記憶部970に記憶されたデータに基づいて、システム30のモードを決定する決定部を選択する。第2決定部490は、電源の電力状態に応じてシステム30のモードを決定する。詳細な内容については後述する。   The power state acquisition unit 480 acquires the power state of the power source from the power state management unit 360 and notifies the determination unit 470 of the power state. The determination unit 470 selects a determination unit that determines the mode of the system 30 based on the data stored in the fourth storage unit 970. The second determination unit 490 determines the mode of the system 30 according to the power state of the power source. Detailed contents will be described later.

図13は、割込みが発生してから、割込み処理を開始するまでのプロセッサ100の動作手順の一例を示すシーケンス図である。まず割込み検出部220は、プロセッサ100内外からの割込み通知を受信することで、割込みの発生を検出する(ステップS1200)。次に、割込み検出部220は、受信した割込み通知から、発生した割込みの割込み種別を特定する(ステップS1201)。次に、割込み検出部220は、システム30の状態がスリープ状態であるか否かを検出する(ステップS1202)。システム30の状態がスリープ状態の場合(ステップS1202の結果:YES)、割込み検出部220は、特定した割込み種別を電力状態取得部480に対して通知する(ステップS1204)。一方、システム30の状態がスリープ状態ではない場合(ステップS1202の結果:NO)、割込み検出部220は、特定した割込み種別を、割込み待ち解除部260に対して通知する(ステップS1203)。ステップS1203の後、処理はステップS1219に移行する。ステップS1219以降の処理の内容は、図7のステップS711以降の処理の内容と同様なので詳細な説明は省略する。   FIG. 13 is a sequence diagram illustrating an example of an operation procedure of the processor 100 from when an interrupt is generated until interrupt processing is started. First, the interrupt detection unit 220 detects the occurrence of an interrupt by receiving an interrupt notification from inside and outside the processor 100 (step S1200). Next, the interrupt detection unit 220 identifies the interrupt type of the generated interrupt from the received interrupt notification (step S1201). Next, the interrupt detection unit 220 detects whether or not the state of the system 30 is a sleep state (step S1202). When the state of the system 30 is the sleep state (the result of step S1202: YES), the interrupt detection unit 220 notifies the specified interrupt type to the power state acquisition unit 480 (step S1204). On the other hand, when the state of the system 30 is not the sleep state (the result of step S1202: NO), the interrupt detection unit 220 notifies the interrupt waiting release unit 260 of the specified interrupt type (step S1203). After step S1203, the process proceeds to step S1219. Since the content of the processing after step S1219 is the same as the content of the processing after step S711 of FIG. 7, detailed description is omitted.

電力状態取得部480は、割込みが発生した割込み種別の通知を割込み検出部220から受けると、電力状態管理部360から電力状態を取得する(ステップS1205)。次に、電力状態取得部480は、取得した電力状態を判断部470に通知する(ステップS1206)。   The power status acquisition unit 480 acquires the power status from the power status management unit 360 when receiving the notification of the interrupt type in which the interrupt has occurred from the interrupt detection unit 220 (step S1205). Next, the power state acquisition unit 480 notifies the determination unit 470 of the acquired power state (step S1206).

判断部470は、電力状態取得部480から電力状態を通知されると、その電力状態と第4記憶部970に格納された値から、システム30のモードの決定方法を決定する(ステップS1207)。図11の例では、判断部470は、電力状態取得部480から取得した電力状態と、第4記憶部970に記憶されたデータとから、算出部230および第1決定部240を動作させてシステム30のモードを決定するか、第2決定部490を動作させてシステム30のモードを決定するかを決定する。以下、図11の例を参照しながら、システム30のモードの決定方法の決定例を説明する。例えば、電力状態取得部480から得られた発電傾向が増加傾向であって充電量が30%である場合は、算出部230および第1決定部240を動作させてシステム30のモードを設定することを決定する。つまり、この場合、判断部470は、システム30のモードを決定する決定部として、算出部230と第1決定部240を選択する。あるいは、電力状態取得部480から得られた発電傾向が横ばいであって、充電量が80%である場合は、第2決定部490を動作させてシステム30のモードを決定することを決定する。つまり、この場合、判断部470は、システム30のモードを決定する決定部として、第2決定部490を選択する。   When notified of the power state from the power state acquisition unit 480, the determination unit 470 determines the mode determination method of the system 30 from the power state and the value stored in the fourth storage unit 970 (step S1207). In the example of FIG. 11, the determination unit 470 operates the calculation unit 230 and the first determination unit 240 based on the power state acquired from the power state acquisition unit 480 and the data stored in the fourth storage unit 970. 30 modes are determined, or whether the system 30 mode is determined by operating the second determination unit 490. Hereinafter, an example of determining the mode determination method of the system 30 will be described with reference to the example of FIG. For example, when the power generation tendency obtained from the power state acquisition unit 480 is increasing and the charge amount is 30%, the calculation unit 230 and the first determination unit 240 are operated to set the mode of the system 30. To decide. That is, in this case, the determination unit 470 selects the calculation unit 230 and the first determination unit 240 as the determination unit that determines the mode of the system 30. Alternatively, when the power generation tendency obtained from the power state acquisition unit 480 is flat and the charge amount is 80%, it is determined to operate the second determination unit 490 to determine the mode of the system 30. That is, in this case, the determination unit 470 selects the second determination unit 490 as a determination unit that determines the mode of the system 30.

判断部470が、算出部230および第1決定部240を動作させずにシステム30のモードを決定することを決定した場合(ステップS1208の結果:NO)、つまり、判断部470が、第2決定部490を動作させてシステム30のモードを決定することを決定した場合、判断部470は、第2決定部490に電力状態を通知してシステム30のモード決定を要求する(ステップS1210)。第2決定部490は、判断部470から送られてきた現在の電源の電力状態(電力状態取得部480により取得された電力状態)と第5記憶部990に記憶された値から、システム30のモードを決定する(ステップ1211)。以下では、第5記憶部が図12の構成になっている場合のシステム30のモードの決定方法を示す。判断部470から送られてきた電力状態のうち、発電傾向が増加傾向を示すとともに、充電量が50%であれば、システム30のすべての要素を稼働させる第2モードを、システム30のモードとして決定することができる。また、例えば、発電傾向が横ばい傾向にあって、充電量が80%の場合も、第2モードをシステム30のモードとして決定することができる。一方、第2決定部490は、システム30の最低限の要素を稼働させる第1モードを、システム30のモードとして決定することができる。例えば、発電傾向が低下傾向にあって、充電量が50%の場合は、第2決定部490は第1モードをシステム30のモードとして決定することができる。   When determination unit 470 determines to determine the mode of system 30 without operating calculation unit 230 and first determination unit 240 (result of step S1208: NO), that is, determination unit 470 determines the second determination. When it is determined to operate the unit 490 to determine the mode of the system 30, the determination unit 470 notifies the second determination unit 490 of the power state and requests the mode determination of the system 30 (step S1210). The second determination unit 490 uses the current power state of the power source sent from the determination unit 470 (the power state acquired by the power state acquisition unit 480) and the value stored in the fifth storage unit 990 to The mode is determined (step 1211). Hereinafter, a method for determining the mode of the system 30 when the fifth storage unit has the configuration of FIG. 12 will be described. Among the power states sent from the determination unit 470, the power generation tendency shows an increasing tendency, and if the charge amount is 50%, the second mode in which all elements of the system 30 are operated is set as the system 30 mode. Can be determined. Further, for example, when the power generation tendency is flat and the charge amount is 80%, the second mode can be determined as the mode of the system 30. On the other hand, the second determination unit 490 can determine the first mode in which the minimum elements of the system 30 are operated as the mode of the system 30. For example, when the power generation tendency is decreasing and the charge amount is 50%, the second determination unit 490 can determine the first mode as the mode of the system 30.

そして、第2決定部490は、決定したモードと、割込みが発生した割込み種別とをモード設定部250に対して通知する(ステップS1212)。モード設定部250は、システム30のモードを、第1決定部240または第2決定部490から通知されたモードに設定する(ステップS1217)。これにより、システム30は、スリープ状態から復帰して、モード設定部250により設定されたモードに移行する。   Then, the second determination unit 490 notifies the mode setting unit 250 of the determined mode and the interrupt type in which the interrupt has occurred (step S1212). The mode setting unit 250 sets the mode of the system 30 to the mode notified from the first determination unit 240 or the second determination unit 490 (step S1217). As a result, the system 30 returns from the sleep state and shifts to the mode set by the mode setting unit 250.

一方、算出部230および第1決定部240を動作させてシステム30のモードを決定することを決定した場合(ステップS1208の結果:YES)、判断部470は、算出部230に対して、割込みが発生した割込み種別を通知するとともに、システム割込み処理時間の算出を要求する(ステップS1209)。その後のステップS1213以降の内容は、図7のステップS705以降の内容と同様なので、詳細な説明は省略する。   On the other hand, when it is determined to operate the calculation unit 230 and the first determination unit 240 to determine the mode of the system 30 (result of step S1208: YES), the determination unit 470 interrupts the calculation unit 230. The type of interrupt that has occurred is notified, and calculation of the system interrupt processing time is requested (step S1209). The subsequent contents after step S1213 are the same as the contents after step S705 in FIG.

以上に説明したように、本実施形態では、スリープ状態において割込みが発生したときの電源の電力状態に応じて、システム30を最適な状態で動作させるので、システム30の消費電力を効率的に低減しつつ、処理を実行することができる。上述のように、システム割込み処理時間に応じてシステム30のモードを設定することによって消費電力を低減する方法は、プロセッサ100の消費電力を低減できる一方で、システム30のモードを変更するための処理等によるオーバーヘッドで発生する消費電力も無視できない。また、発電量や充電量が十分な第1状態の場合には、これらの消費電力を無視したほうが処理時間を短くできるという点でより効率的であるが、発電量や充電量が十分でない第2状態の場合にはシステム30が動作するという観点から最小セットで動作することが適切であると考えられる。また、発電量や充電量が第1状態と第2状態との間の状態である第3状態の場合には、前述のシステム割込み処理時間に応じたモードでシステム30を動作させることが適切であると考えられる。つまり、本実施形態では、発電量、充電量、発電傾向、充電傾向などを含む電源の電力状態も考慮して、システム30のモード設定を行うので、システム30の電力状況にあわせた処理時間を保ちつつ、効率的に消費電力を低減できるという利点がある。   As described above, in this embodiment, the system 30 is operated in an optimal state according to the power state of the power supply when an interrupt occurs in the sleep state, so that the power consumption of the system 30 is efficiently reduced. However, the process can be executed. As described above, the method of reducing the power consumption by setting the mode of the system 30 according to the system interrupt processing time can reduce the power consumption of the processor 100, while the process for changing the mode of the system 30. The power consumption caused by overhead due to the above cannot be ignored. In the first state where the power generation amount and the charge amount are sufficient, it is more efficient to ignore the power consumption because the processing time can be shortened, but the power generation amount and the charge amount are not sufficient. In the case of two states, it is considered appropriate to operate with the minimum set from the viewpoint that the system 30 operates. In addition, when the power generation amount and the charge amount are in the third state, which is between the first state and the second state, it is appropriate to operate the system 30 in a mode corresponding to the above-described system interrupt processing time. It is believed that there is. That is, in the present embodiment, the mode setting of the system 30 is performed in consideration of the power state of the power source including the power generation amount, the charge amount, the power generation tendency, the charging tendency, and the like. There is an advantage that power consumption can be efficiently reduced while maintaining.

(第3実施形態)
上述の第1実施形態では、スリープ状態において割込みが発生したときに、前述のシステム割込み処理時間の算出が行われるが、本実施形態では、システムがスリープ状態に移行する前の段階においてシステム割込み処理時間の算出を行う点で第1実施形態と相違する。以下、具体的な内容を説明する。なお、第1実施形態と共通する部分については、同一の符号を付して適宜に説明を省略する。本実施形態のシステムの基本的な構成は、第1実施形態と同様である。以下の説明においては、本実施形態のシステムは50と表記する。
(Third embodiment)
In the first embodiment, when the interrupt occurs in the sleep state, the above-described system interrupt processing time is calculated. In the present embodiment, the system interrupt process is performed before the system shifts to the sleep state. This is different from the first embodiment in that time is calculated. Specific contents will be described below. In addition, about the part which is common in 1st Embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted suitably. The basic configuration of the system of this embodiment is the same as that of the first embodiment. In the following description, the system of this embodiment is represented as 50.

図14は、プロセッサ100に搭載されたCPU110が、基本ソフトウェアであるOS(operating system)600を実行することにより実現される機能の構成と、プロセッサ100が備えるハードウェアとを示すブロック図である。ここでは、プロセッサ100上で単一のOS600が動作し、OS600上で1または複数のプロセス(999−1〜999−n)が動作すると捉えることができる。また、図14においては、プロセッサ100が備えるハードウェアとプロセッサ100上で動作するOS600、OS600上で動作する1または複数のプロセスをプロセッサ100が含む表現としている。   FIG. 14 is a block diagram illustrating a functional configuration realized when the CPU 110 mounted on the processor 100 executes an operating system (OS) 600 that is basic software, and hardware included in the processor 100. Here, it can be understood that a single OS 600 operates on the processor 100 and one or more processes (999-1 to 999-n) operate on the OS 600. In FIG. 14, the processor 100 includes hardware included in the processor 100, an OS 600 that operates on the processor 100, and one or more processes that operate on the OS 600.

図14に示すように、プロセッサ100が備えるハードウェアには、CPU110と、第1記憶部910、第2記憶部930、第3記憶部950が含まれる。第3記憶部950は、システム30がスリープ状態に移行する前に登録され、スリープ状態から復帰するときに読み出されるシステム50の設定情報(システム50のモードを設定するための情報)を記憶する。図15は、第3記憶部950に記憶された設定情報の一例を示す図である。図15の例では、登録される設定情報として、プロセッサ100の電圧の値、周波数(クロック数)の値、1次キャッシュ140に対する電力供給の有無、2次キャッシュ150に対する電力供給の有無が記憶されている。図15の例では、プロセッサ100の電圧の値はVx、周波数の値はFx、1次キャッシュ140に対する電力供給は行われ(ON)、2次キャッシュ150に対する電力の供給は停止される(OFF)という設定になっている。例えば、この設定でスリープ状態から復帰するときには、1次キャッシュ140に対しては電力が供給される一方、2次キャッシュ150に対する電力の供給は停止されるので、スリープ状態から復帰した後には、2次キャッシュ150を利用できない。   As illustrated in FIG. 14, the hardware included in the processor 100 includes a CPU 110, a first storage unit 910, a second storage unit 930, and a third storage unit 950. The third storage unit 950 stores setting information of the system 50 (information for setting the mode of the system 50) that is registered before the system 30 shifts to the sleep state and is read when returning from the sleep state. FIG. 15 is a diagram illustrating an example of setting information stored in the third storage unit 950. In the example of FIG. 15, as the setting information to be registered, the value of the voltage of the processor 100, the value of the frequency (number of clocks), the presence / absence of power supply to the primary cache 140, and the presence / absence of power supply to the secondary cache 150 are stored. ing. In the example of FIG. 15, the voltage value of the processor 100 is Vx, the frequency value is Fx, power supply to the primary cache 140 is performed (ON), and power supply to the secondary cache 150 is stopped (OFF). It is the setting. For example, when returning from the sleep state with this setting, power is supplied to the primary cache 140, while supply of power to the secondary cache 150 is stopped. The next cache 150 cannot be used.

図14に戻って説明を続ける。OS600は、割込待ち設定部210と、アイドル状態検出部680と、算出部630と、第1決定部640と、スリープ処理部690と、割込み検出部620と、モード設定部650と、設定情報取得部655と、割込待ち解除部260とを有する。アイドル状態検出部680は、アイドル状態を検出する。アイドル状態とは、CPU110が何れの処理も実行していない状態を示す。   Returning to FIG. 14, the description will be continued. The OS 600 includes an interrupt waiting setting unit 210, an idle state detection unit 680, a calculation unit 630, a first determination unit 640, a sleep processing unit 690, an interrupt detection unit 620, a mode setting unit 650, and setting information. An acquisition unit 655 and an interrupt waiting cancellation unit 260 are included. The idle state detection unit 680 detects an idle state. The idle state indicates a state where the CPU 110 is not executing any processing.

算出部630は、アイドル状態検出部680によってアイドル状態が検出されたとき、第1記憶部910および第2記憶部930の各々に記憶されたデータを用いて、システム50がスリープ状態から復帰した後に実行される処理が終了するまでの時間を示すシステム割込み処理時間を算出する。本実施形態で算出されるシステム割込み処理時間は、第1実施形態と同様に、システム50がスリープ状態から復帰した直後に、他の割込み処理とは重複(オーバラップ)せずに単独で実行される割込み処理、あるいは、少なくとも一部の重複を持って実行される複数の割込み処理が終了するまでに必要な時間を示す。ここで、本実施形態の割込み待ち設定部210は、各割込み種別の割込み待ち発生時刻を予め把握しており、割込み種別と、割込み待ち発生時刻とを対応付けて第2記憶部930に書き込む点で第1実施形態と相違する。つまり、本実施形態では、第2記憶部930には、割込み種別と割込み待ち発生時刻との対応関係が予め書き込まれている。   When the idle state is detected by the idle state detection unit 680, the calculation unit 630 uses the data stored in each of the first storage unit 910 and the second storage unit 930 to return the system 50 from the sleep state. The system interrupt processing time indicating the time until the processing to be executed is completed is calculated. As in the first embodiment, the system interrupt processing time calculated in the present embodiment is executed immediately after the system 50 returns from the sleep state without overlapping (overlapping) with other interrupt processing. Or a plurality of interrupt processes that are executed with at least some overlap. Here, the interrupt wait setting unit 210 of the present embodiment knows in advance the interrupt wait occurrence time of each interrupt type, and writes the interrupt type and the interrupt wait occurrence time in association with each other in the second storage unit 930. This is different from the first embodiment. That is, in the present embodiment, the correspondence relationship between the interrupt type and the interrupt wait occurrence time is written in the second storage unit 930 in advance.

図16は、算出部630が、第1記憶部910と第2記憶部930を用いて、システム割込み処理時間を算出する方法の一例を示す。図14の例では、割込み待ちとなっている割込み種別は、デバイス読み出し、キーボード入力、タイマー割込みの3つである。図16に示すように、デバイス読み出しによる割込み処理が開始される時刻はt1、割込み処理時間はT1_sに設定されている。また、キーボード入力による割込み処理が開始される時刻はt2(>t1)、割込み処理時間はT2_sに設定されている。さらに、タイマー割込みによる割込み処理が開始される時刻はt3(>t2)、割込み処理時間はT3_sに設定されている。図16の例では、システム50がスリープ状態から復帰した直後に発生する割込みはデバイス読み出しによる割込みであり、その割込み処理の間にキーボード入力による割込みが発生することがわかる。したがって、この場合のシステム割込み処理時間は、デバイス読み出しによる割込み処理とキーボード入力による割込み処理を行う時間であるとわかる。つまり、図16の例では、システム割込み処理時間Tsは、T2_s+(t2−t1)であるといえる。   FIG. 16 illustrates an example of a method in which the calculation unit 630 calculates the system interrupt processing time using the first storage unit 910 and the second storage unit 930. In the example of FIG. 14, there are three interrupt types waiting for an interrupt: device reading, keyboard input, and timer interrupt. As shown in FIG. 16, the time when the interrupt processing by the device reading is started is set to t1, and the interrupt processing time is set to T1_s. In addition, the time when the interrupt processing by keyboard input is started is set to t2 (> t1), and the interrupt processing time is set to T2_s. Furthermore, the time when the interrupt processing by the timer interrupt is started is set to t3 (> t2), and the interrupt processing time is set to T3_s. In the example of FIG. 16, it can be seen that the interrupt generated immediately after the system 50 returns from the sleep state is an interrupt due to device reading, and an interrupt due to keyboard input occurs during the interrupt processing. Therefore, it can be understood that the system interrupt processing time in this case is the time for performing interrupt processing by device reading and interrupt processing by keyboard input. That is, in the example of FIG. 16, it can be said that the system interrupt processing time Ts is T2_s + (t2-t1).

再び図14に戻って説明を続ける。第1決定部640は、算出部630により算出されたシステム割込み処理時間から、復帰後のシステム50のモードを決定し、その決定したモードに設定するための設定情報を第3記憶部950に書き込む。   Returning to FIG. 14 again, the description will be continued. The first determination unit 640 determines the mode of the system 50 after the return from the system interrupt processing time calculated by the calculation unit 630, and writes setting information for setting the determined mode in the third storage unit 950. .

スリープ処理部690は、プロセッサ100に含まれるレジスタ130、1次キャッシュ140、2次キャッシュ150に記憶されたデータを記憶領域170に退避させ、プロセッサ100の動作を一時的に停止して節電状態(スリープ状態)にする。   The sleep processing unit 690 saves the data stored in the register 130, the primary cache 140, and the secondary cache 150 included in the processor 100 to the storage area 170, temporarily stops the operation of the processor 100, and saves power ( Set to sleep mode.

割込み検出部620は、プロセッサ100内外からの割込み通知を検出し、当該割込み通知で特定される割込み種別を、設定情報取得部655へ通知する。   The interrupt detection unit 620 detects an interrupt notification from inside and outside of the processor 100 and notifies the setting information acquisition unit 655 of the interrupt type specified by the interrupt notification.

設定情報取得部655は、割込み検出部620から割込み種別が通知されると、第3記憶部950に記録された設定情報を読み出し、その設定情報と割込み種別をモード設定部650へ通知する。モード設定部650は、設定情報取得部655から通知されると、通知された設定情報に基づいて、システム50のモードを設定する。   When the interrupt type is notified from the interrupt detection unit 620, the setting information acquisition unit 655 reads the setting information recorded in the third storage unit 950 and notifies the mode setting unit 650 of the setting information and the interrupt type. When notified from the setting information acquisition unit 655, the mode setting unit 650 sets the mode of the system 50 based on the notified setting information.

図17は、プロセッサ100のアイドル状態が検出されてから、スリープ状態に移行するまでの動作手順の一例を示すシーケンス図である。図17に示すように、まずアイドル状態検出部680が、プロセッサ100のアイドル状態を検出し(ステップS1600)、算出部630に対して、システム割込み処理時間の算出を要求する(ステップS1601)。その要求を受けた算出部630は、第1記憶部910および第2記憶部930の各々に記憶されたデータを用いて、システム割込み処理時間を算出する(ステップS1602)。   FIG. 17 is a sequence diagram illustrating an example of an operation procedure from the detection of the idle state of the processor 100 to the transition to the sleep state. As shown in FIG. 17, first, the idle state detection unit 680 detects the idle state of the processor 100 (step S1600), and requests the calculation unit 630 to calculate the system interrupt processing time (step S1601). Receiving the request, the calculation unit 630 calculates the system interrupt processing time using the data stored in each of the first storage unit 910 and the second storage unit 930 (step S1602).

図18は、算出部630によるシステム割込み処理時間の算出例を示すフローチャートである。ステップS1700〜ステップS1708の内容は、図8のステップS800〜ステップS808の内容と同様なので、詳細な説明は省略する。ステップS1708の後のステップS1709において、算出部630は、スリープ状態からの復帰後に割込みが発生する割込み種別のうち、最も割込み発生時刻が早い割込み種別の割込み発生時刻(「直近の割込み発生時刻」と呼ぶ)から、当該割込み種別の割込み処理時間が経過する時刻を、システム割込み終了時刻として設定する。   FIG. 18 is a flowchart illustrating an example of calculating the system interrupt processing time by the calculation unit 630. The contents of steps S1700 to S1708 are the same as the contents of steps S800 to S808 of FIG. In step S1709 after step S1708, the calculation unit 630 generates an interrupt generation time ("the latest interrupt generation time" as the latest interrupt generation time) among interrupt types that generate an interrupt after returning from the sleep state. The time when the interrupt processing time of the interrupt type elapses is set as the system interrupt end time.

次に、算出部630は、現時点でのシステム割込み終了時刻が、他の割込み種別の割込み発生時刻よりも早いか否かを判断する(ステップS1710)。システム割込み終了時刻が、他の割込み種別の割込み発生時刻よりも早いと判断した場合(ステップS1710の結果:YES)は、算出部630は、スリープ状態から復帰する予定の時刻(つまりは直近の割込み発生時刻)からシステム割込み終了時刻までの時間をシステム割込み処理時間として算出する(ステップS1712)。一方、システム割込み終了時刻が、他の割込み種別の割込み発生時刻よりも遅いと判断した場合(ステップS1710の結果:NO)は、算出部630は、システム割込み終了時刻の再設定を行う(ステップS1711)。より具体的には、算出部630は、現在のシステム割込み終了時刻よりも割込み発生時刻が早い割込み種別のうち、最も割込み発生時刻が早い割込み種別を選択し、その選択した割込み種別の割込み発生時刻から、その選択した割込み種別の割込み処理時間が経過する時刻を、システム割込み終了時刻として設定し直す。そして、処理は、再び前述のステップS1710に戻る。   Next, the calculation unit 630 determines whether or not the current system interrupt end time is earlier than the interrupt generation time of other interrupt types (step S1710). When it is determined that the system interrupt end time is earlier than the interrupt generation time of other interrupt types (result of step S1710: YES), the calculation unit 630 is scheduled to return from the sleep state (that is, the latest interrupt) The time from the occurrence time) to the system interrupt end time is calculated as the system interrupt processing time (step S1712). On the other hand, when it is determined that the system interrupt end time is later than the interrupt generation time of other interrupt types (result of step S1710: NO), the calculation unit 630 resets the system interrupt end time (step S1711). ). More specifically, the calculation unit 630 selects an interrupt type with the earliest interrupt generation time from among interrupt types whose interrupt generation time is earlier than the current system interrupt end time, and the interrupt generation time of the selected interrupt type Then, the time when the interrupt processing time of the selected interrupt type elapses is reset as the system interrupt end time. Then, the process returns to step S1710 described above.

再び図17に戻って説明を続ける。算出部630は、以上のように算出したシステム割込み処理時間を第1決定部640に対して通知することで、スリープ状態からの復帰後のシステム50のモードを決定することを要求する(ステップS1603)。第1決定部640は、算出部630から通知されたシステム割込み処理時間に応じて、スリープ状態からの復帰後のシステム50のモードを決定する(ステップS1604)。ステップS1604の内容は、図7のステップS707の内容と同様である。次に、第1決定部640は、決定したモードの設定情報を第3記憶部950に書き込む(ステップS1605)。次に、第1決定部640は、スリープ処理部690に対して、システム50をスリープ状態に移行させるスリープ処理の実行を要求する(ステップS1606)。   Returning to FIG. 17 again, the description will be continued. The calculation unit 630 notifies the first determination unit 640 of the system interrupt processing time calculated as described above, thereby requesting determination of the mode of the system 50 after returning from the sleep state (step S1603). ). The first determination unit 640 determines the mode of the system 50 after returning from the sleep state according to the system interrupt processing time notified from the calculation unit 630 (step S1604). The contents of step S1604 are the same as the contents of step S707 in FIG. Next, the first determination unit 640 writes the setting information of the determined mode in the third storage unit 950 (step S1605). Next, the first determination unit 640 requests the sleep processing unit 690 to execute sleep processing that causes the system 50 to transition to the sleep state (step S1606).

スリープ処理の実行を要求されたスリープ処理部690は、現在のシステム50のモードに応じて、スリープ処理を実行する(ステップS1607)。例えば1次キャッシュ140に対する電力が供給されている状態であれば、スリープ処理部690は、1次キャッシュ140に記憶されたデータを記憶領域170に退避させる。また、例えば2次キャッシュ150に対する電力が供給されている状態であれば、スリープ処理部690は、2次キャッシュ150に記憶されたデータを記憶領域170に退避させる。そして、スリープ処理部690は、レジスタ130に記憶されたデータを記憶領域170に退避させ、プロセッサ100の動作を一時的に停止させる。これにより、システム50は、節電状態(スリープ状態)に移行する。   The sleep processing unit 690 requested to execute the sleep process executes the sleep process according to the current mode of the system 50 (step S1607). For example, if power is supplied to the primary cache 140, the sleep processing unit 690 saves the data stored in the primary cache 140 in the storage area 170. For example, if the power is supplied to the secondary cache 150, the sleep processing unit 690 saves the data stored in the secondary cache 150 to the storage area 170. Then, the sleep processing unit 690 saves the data stored in the register 130 to the storage area 170, and temporarily stops the operation of the processor 100. Thereby, the system 50 shifts to a power saving state (sleep state).

図19は、プロセッサ100に対して割込みが発生してから、割込み処理を開始するまでの動作手順の一例を示すシーケンス図である。図17に示すように、まず割込み検出部220は、プロセッサ100内外からの割込み通知を受信することで、割込みの発生を検出する(ステップS1800)。次に、割込み検出部220は、受信した割込み通知から、発生した割込みの割込み種別(割込み処理が開始される割込み種別)を特定する(ステップS1801)。次に、割込み検出部220は、システム50の状態がスリープ状態であるか否かを検出する(ステップS1802)。システム50の状態がスリープ状態の場合(ステップS1802の結果:YES)、割込み検出部220は、特定した割込み種別を設定情報取得部655に対して通知する(ステップS1804)。一方、システム50の状態がスリープ状態ではない場合(ステップS702の結果:NO)、割込み検出部220は、特定した割込み種別を、割込み待ち解除部260に対して通知する(ステップS1803)。ステップS1803の後、処理はステップS1809に移行する。ステップS1809以降の内容は、図7のステップS711以降の内容と同様なので、詳細な説明は省略する。   FIG. 19 is a sequence diagram illustrating an example of an operation procedure from when an interrupt is generated to the processor 100 to when interrupt processing is started. As shown in FIG. 17, first, the interrupt detection unit 220 detects the occurrence of an interrupt by receiving an interrupt notification from inside and outside the processor 100 (step S1800). Next, the interrupt detection unit 220 identifies the interrupt type (interrupt type for which interrupt processing is started) of the generated interrupt from the received interrupt notification (step S1801). Next, the interrupt detection unit 220 detects whether or not the state of the system 50 is a sleep state (step S1802). When the system 50 is in the sleep state (result of step S1802: YES), the interrupt detection unit 220 notifies the setting information acquisition unit 655 of the specified interrupt type (step S1804). On the other hand, when the state of the system 50 is not the sleep state (result of step S702: NO), the interrupt detection unit 220 notifies the interrupt wait cancellation unit 260 of the specified interrupt type (step S1803). After step S1803, the process proceeds to step S1809. The contents after step S1809 are the same as the contents after step S711 in FIG.

設定情報取得部655は、割込みが発生した割込み種別の通知を割込み検出部620から受けると、第3記憶部950に書き込まれた設定情報を読み出す(ステップS1805)。次に、設定情報取得部655は、読み出した設定情報と割込み種別をモード設定部650に通知する(ステップS1806)。モード設定部650は、設定情報取得部655から通知された設定情報に従って、システム50のモードを設定する(ステップS1807)。図15に示す例のように、「1次キャッシュ:ON、2次キャッシュ:OFF」と第3記憶部950に書き込まれている場合は、モード設定部650は、1次キャッシュ140に対する電力の供給を開始して初期化を行う一方で、2次キャッシュ150に対する電力の供給を行わない。そして、モード設定部650は、割込み待ち解除部260に対して、割込みが発生した割込み種別を通知する(ステップS1808)。ステップS1808以降の内容は、図7のステップS710以降の内容と同様なので、詳細な説明は省略する。   The setting information acquisition unit 655 reads the setting information written in the third storage unit 950 when receiving the notification of the interrupt type in which the interrupt has occurred from the interrupt detection unit 620 (step S1805). Next, the setting information acquisition unit 655 notifies the mode setting unit 650 of the read setting information and interrupt type (step S1806). The mode setting unit 650 sets the mode of the system 50 according to the setting information notified from the setting information acquisition unit 655 (step S1807). As illustrated in FIG. 15, when “first cache: ON, second cache: OFF” is written in the third storage unit 950, the mode setting unit 650 supplies power to the primary cache 140. Is started and initialization is performed, but power is not supplied to the secondary cache 150. Then, the mode setting unit 650 notifies the interrupt waiting cancellation unit 260 of the interrupt type in which the interrupt has occurred (step S1808). Since the contents after step S1808 are the same as the contents after step S710 in FIG. 7, detailed description thereof is omitted.

上述の第1実施形態のように、スリープ状態において割込みが発生したときにシステム割込み処理時間を算出し、復帰後のモードを決定する方法は、システムがスリープ状態から復帰するときの何も初期化されていない状態でこれらの算出を行わなければならないため、算出にかかる時間やプロセッサ100の消費電力が大きいといった問題がある。例えば、システムがスリープ状態から復帰した直後は、電圧や周波数がスリープ状態における値のままで、かつ、1次キャッシュ140や2次キャッシュ150に対する電力の供給が開始されていないままであるため、必ずメモリアクセスが発生するという状況が考えられる。一方、本実施形態では、システムがスリープ状態に移行する前(システムが停止する前)に、前述のシステム割込み処理時間を算出することにより、最適な状況でシステム割込み処理時間の算出を行うことができる。システムがスリープ状態に移行する前は、電圧、周波数、1次キャッシュ140、および、2次キャッシュ150の各々の状態が、システムが通常に動作しているモードにおける状態とほぼ同じであるため、システム割込み処理時間の算出に適した状況で、システム割込み処理時間の算出を行うことができる。つまり、本実施形態によれば、システムの消費電力を効率的に低減しつつ、システム割込み処理時間の算出処理を実行することができる。   As in the first embodiment described above, the method of calculating the system interrupt processing time when an interrupt occurs in the sleep state and determining the mode after the return is initialized when the system returns from the sleep state. Since these calculations must be performed in a state where they are not performed, there is a problem that the time required for the calculation and the power consumption of the processor 100 are large. For example, immediately after the system returns from the sleep state, the voltage and frequency remain at the values in the sleep state, and power supply to the primary cache 140 and the secondary cache 150 has not started. A situation where a memory access occurs can be considered. On the other hand, in the present embodiment, the system interrupt processing time can be calculated in an optimal situation by calculating the above-described system interrupt processing time before the system enters the sleep state (before the system stops). it can. Before the system transitions to the sleep state, the voltage, frequency, primary cache 140, and secondary cache 150 are in substantially the same state as in the mode in which the system is operating normally. The system interrupt processing time can be calculated in a situation suitable for calculating the interrupt processing time. That is, according to the present embodiment, it is possible to execute the system interrupt processing time calculation process while efficiently reducing the power consumption of the system.

(第4実施形態)
本実施形態では、第2実施形態と同様に、電源の電力状態に応じて、モードを設定可能な機能を有する点で第3実施形態と相違する。以下、具体的な内容を説明する。なお、第2実施形態および第3実施形態と共通する部分については、同一の符号を付して適宜に説明を省略する。本実施形態のシステムの基本的な構成は、第2実施形態と同様である。以下の説明においては、本実施形態のシステムは70と表記する。
(Fourth embodiment)
Similar to the second embodiment, the present embodiment is different from the third embodiment in that it has a function capable of setting a mode according to the power state of the power source. Specific contents will be described below. In addition, about the part which is common in 2nd Embodiment and 3rd Embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted suitably. The basic configuration of the system of this embodiment is the same as that of the second embodiment. In the following description, the system of this embodiment is represented as 70.

図20は、プロセッサ100に搭載されたCPU110が、基本ソフトウェアであるOS(operating system)800を実行することにより実現される機能の構成と、プロセッサ100が備えるハードウェアとを示すブロック図である。図20に示すように、プロセッサ100が備えるハードウェアには、CPU110と、第1記憶部910と、第2記憶部930と、第3記憶部950と、第4記憶部975と、第5記憶部990とが含まれる。また、図20においては、プロセッサ100が備えるハードウェアとプロセッサ100上で動作するOS800、OS800上で動作する1または複数のプロセスをプロセッサ100が含む表現としている。   FIG. 20 is a block diagram illustrating a configuration of functions realized when the CPU 110 mounted on the processor 100 executes an operating system (OS) 800 that is basic software, and hardware included in the processor 100. As illustrated in FIG. 20, the hardware included in the processor 100 includes a CPU 110, a first storage unit 910, a second storage unit 930, a third storage unit 950, a fourth storage unit 975, and a fifth storage. Part 990. In FIG. 20, the hardware included in the processor 100, the OS 800 that operates on the processor 100, and one or more processes that operate on the OS 800 are represented by the processor 100.

図21は、第4記憶部975に記憶されたデータの一例を示す図である。図21の例では、第4記憶部975は、発電傾向と、充電量と、モード決定に利用するモジュールとを対応付けて記憶する。第2実施形態と同様に、第4記憶部975は、電源の電力状態と、モードの決定方法とを対応付けて記憶していると捉えることもできる。この図の場合、発電傾向が増加の傾向を示すとともに、充電量が第1閾値(例えば40%)未満の場合は、設定情報取得部655を利用してシステム70のモードを決定することを示している。つまり、設定情報取得部655から取得した設定情報を利用してモードを決定することを示している。また、発電傾向が増加の傾向を示し、充電量が第1閾値以上の場合は、第2決定部490で決定したモードを利用することを示している。   FIG. 21 is a diagram illustrating an example of data stored in the fourth storage unit 975. In the example of FIG. 21, the fourth storage unit 975 stores a power generation tendency, a charge amount, and a module used for mode determination in association with each other. Similarly to the second embodiment, the fourth storage unit 975 can be regarded as storing the power state of the power supply and the mode determination method in association with each other. In the case of this figure, the power generation tendency shows an increasing tendency, and when the charge amount is less than the first threshold (for example, 40%), the setting information acquisition unit 655 is used to determine the mode of the system 70. ing. That is, the mode is determined using the setting information acquired from the setting information acquisition unit 655. Further, when the power generation tendency shows an increasing tendency and the charge amount is equal to or more than the first threshold, it indicates that the mode determined by the second determination unit 490 is used.

また、発電傾向が横ばいの傾向を示すとともに、充電量が第2閾値(例えば50%)以上、かつ、第2閾値よりも大きい第3閾値(例えば60%)未満である場合は、設定情報取得部855から取得した設定情報を利用してモードを決定することを示している。また、例えば発電傾向が横ばいの傾向を示すとともに、充電量が第3閾値以上の場合は第2決定部490で決定したモードを利用することを示している。   Further, when the power generation tendency shows a flat tendency and the charge amount is equal to or higher than the second threshold value (for example, 50%) and less than the third threshold value (for example, 60%) larger than the second threshold value, the setting information is acquired. The mode is determined using the setting information acquired from the section 855. In addition, for example, the power generation tendency shows a flat tendency, and when the charge amount is equal to or greater than the third threshold, the mode determined by the second determination unit 490 is used.

さらに、発電傾向が低下の傾向を示すとともに、充電量が第4閾値(例えば70%)以上である場合は、設定情報取得部855から取得した設定情報を利用してモードを決定することを示している。また、発電傾向が低下の傾向を示すとともに、充電量が第4閾値未満の場合は第2決定部490で決定したモードを利用することを示している。なお、これに限らず、第4記憶部975は、第4記憶部970と同様に、例えば充電量のみと、利用するモジュールとが対応付けられて記憶される構成でもよいし、発電量の変化量のみと、利用するモジュールとが対応付けられて記憶される構成であってもよい。   Furthermore, the power generation tendency shows a tendency to decrease, and when the charge amount is a fourth threshold value (for example, 70%) or more, it indicates that the mode is determined using the setting information acquired from the setting information acquisition unit 855. ing. In addition, the power generation tendency shows a tendency to decrease, and when the charge amount is less than the fourth threshold, the mode determined by the second determination unit 490 is used. Not limited to this, the fourth storage unit 975 may have a configuration in which, for example, only the charge amount and the module to be used are stored in association with each other, as in the fourth storage unit 970, or a change in the power generation amount The configuration may be such that only the amount and the module to be used are stored in association with each other.

再び図20に戻って説明を続ける。図20に示すように、OS800は、割込み待ち設定部210と、アイドル状態検出部680と、算出部630と、第1決定部640と、スリープ処理部690と、割込み検出部820と、電力状態取得部480と、判断部870と、第2決定部490と、設定情報取得部655と、モード設定部850と、割込み待ち解除部260とを有する。   Returning to FIG. 20 again, the description will be continued. As illustrated in FIG. 20, the OS 800 includes an interrupt waiting setting unit 210, an idle state detection unit 680, a calculation unit 630, a first determination unit 640, a sleep processing unit 690, an interrupt detection unit 820, and a power state. The acquisition unit 480, the determination unit 870, the second determination unit 490, the setting information acquisition unit 655, the mode setting unit 850, and the interrupt wait release unit 260 are included.

割込み検出部820は、プロセッサ100内外からの割込み通知を検出し、当該割込み通知で特定される割込み種別を、電力状態取得部480へ通知する。   The interrupt detection unit 820 detects an interrupt notification from inside or outside the processor 100 and notifies the power status acquisition unit 480 of the interrupt type specified by the interrupt notification.

判断部870は、第4記憶部975に記憶されたデータに基づいて、システム70のモードの決定方法を決定する。本実施形態では、電力状態取得部480は、スリープ状態において割込みが発生した場合に、電力状態管理部360から電力状態を取得し、その取得した電力状態を判断部870に通知する。判断部870は、電力状態取得部480から取得した電力状態と第4記憶部975に記憶されたデータに基づいて、システム70のモード決定に利用するモジュールを選択する。例えば、モード決定に利用するモジュールとして設定情報取得部655を選択した場合、判断部870は、第3記憶部950から設定情報を取り出すように設定情報取得部655に要求する。そして、設定情報取得部855は、第3記憶部950に記憶された設定情報を取得し、その設定情報をモード設定部850へ通知する。一方、モード決定に利用するモジュールとして第2決定部490を選択した場合、判断部870は、第2決定部490に対して状態を決定するように要求する。この決定方法は、第2の実施形態と同様である。   The determination unit 870 determines a mode determination method for the system 70 based on the data stored in the fourth storage unit 975. In the present embodiment, when an interrupt occurs in the sleep state, the power state acquisition unit 480 acquires the power state from the power state management unit 360 and notifies the determination unit 870 of the acquired power state. The determination unit 870 selects a module to be used for mode determination of the system 70 based on the power state acquired from the power state acquisition unit 480 and the data stored in the fourth storage unit 975. For example, when the setting information acquisition unit 655 is selected as a module used for mode determination, the determination unit 870 requests the setting information acquisition unit 655 to extract setting information from the third storage unit 950. Then, the setting information acquisition unit 855 acquires the setting information stored in the third storage unit 950 and notifies the mode setting unit 850 of the setting information. On the other hand, when the second determination unit 490 is selected as the module used for mode determination, the determination unit 870 requests the second determination unit 490 to determine the state. This determination method is the same as in the second embodiment.

モード設定部850は、設定情報取得部655または第2決定部490から通知された設定情報を用いて、システム70のモードを設定する。   The mode setting unit 850 sets the mode of the system 70 using the setting information notified from the setting information acquisition unit 655 or the second determination unit 490.

図22は、割込みが発生してから、割込み処理を開始するまでのプロセッサ100の動作手順の一例を示すシーケンス図である。まず割込み検出部820は、プロセッサ100内外からの割込み通知を受信することで、割込みの発生を検出する(ステップS2000)。次に、割込み検出部820は、受信した割込み通知から、発生した割込みに対応する割込み種別(割込み処理が開始される割込み種別)を特定する(ステップS2001)。次に、割込み検出部820は、システム70の状態がスリープ状態であるか否かを検出する(ステップS2002)。システム70の状態がスリープ状態の場合(ステップS2002の結果:YES)、割込み検出部820は、特定した割込み種別を電力状態取得部480に対して通知する(ステップS2004)。一方、システム70の状態がスリープ状態ではない場合(ステップS2002の結果:NO)、割込み検出部820は、特定した割込み種別を、割込み待ち解除部260に対して通知する(ステップS2003)。ステップS2003の後、処理はステップS2017に移行する。ステップS2017以降の処理の内容は、図7のステップS711以降の処理の内容と同様なので詳細な説明は省略する。   FIG. 22 is a sequence diagram illustrating an example of an operation procedure of the processor 100 from when an interrupt occurs until interrupt processing is started. First, the interrupt detection unit 820 detects the occurrence of an interrupt by receiving an interrupt notification from inside and outside the processor 100 (step S2000). Next, the interrupt detection unit 820 identifies an interrupt type (interrupt type for which interrupt processing is started) corresponding to the generated interrupt from the received interrupt notification (step S2001). Next, the interrupt detection unit 820 detects whether or not the state of the system 70 is a sleep state (step S2002). If the system 70 is in the sleep state (result of step S2002: YES), the interrupt detection unit 820 notifies the identified interrupt type to the power state acquisition unit 480 (step S2004). On the other hand, when the state of the system 70 is not the sleep state (the result of step S2002: NO), the interrupt detection unit 820 notifies the interrupt waiting release unit 260 of the specified interrupt type (step S2003). After step S2003, the process proceeds to step S2017. Since the content of the processing after step S2017 is the same as the content of the processing after step S711 of FIG. 7, detailed description is omitted.

電力状態取得部480は、発生した割込みの割込み種別の通知を割込み検出部820から受けると、電力状態管理部360から電力状態を取得する(ステップS2005)。そして、電力状態取得部460は、割込み種別と電力状態を判断部870へ通知する(ステップS2006)。   When receiving the notification of the interrupt type of the generated interrupt from the interrupt detection unit 820, the power state acquisition unit 480 acquires the power state from the power state management unit 360 (step S2005). Then, the power state acquisition unit 460 notifies the determination unit 870 of the interrupt type and the power state (step S2006).

判断部870は、電力状態取得部480から取得した電力状態と第4記憶部975に記憶されたデータから、システム70のモードの決定方法を決定する(ステップS2007)。図21の例では、判断部870は、電力状態取得部480から取得した電力状態と、第4記憶部975に記憶されたデータとから、設定情報取得部655を動作させてシステム70のモードを決定するか(見方を変えれば、第3記憶部950に記憶された設定情報を利用してシステム70のモードを決定するか)、第2決定部490を動作させてシステム70のモードを決定するかを決定する。以下、図21を例に挙げて、システム70のモードの決定方法の決定例を説明する。例えば、電力状態取得部480から得られた発電傾向が増加傾向であって充電量が30%である場合、判断部870は、モード決定に利用するモジュールとして設定情報取得部655を選択する。つまり、この場合、判断部870は、第3記憶部950に記憶された設定情報を利用して、システム70のモードを決定することを決定する。一方、例えば、電力状態取得部480から得られた発電傾向が横ばいであって、充電量が80%である場合、判断部870は、モード決定に利用するモジュールとして第2決定部490を選択する。つまり、この場合、判断部870は、第2決定部490を動作させてシステム70のモードを決定することを決定する。   The determination unit 870 determines a mode determination method of the system 70 from the power state acquired from the power state acquisition unit 480 and the data stored in the fourth storage unit 975 (step S2007). In the example of FIG. 21, the determination unit 870 operates the setting information acquisition unit 655 to change the mode of the system 70 from the power state acquired from the power state acquisition unit 480 and the data stored in the fourth storage unit 975. Whether to determine (in other words, to determine the mode of the system 70 using the setting information stored in the third storage unit 950), or to operate the second determination unit 490 to determine the mode of the system 70 To decide. Hereinafter, an example of determining the mode determination method of the system 70 will be described with reference to FIG. For example, when the power generation tendency obtained from the power state acquisition unit 480 is increasing and the charge amount is 30%, the determination unit 870 selects the setting information acquisition unit 655 as a module used for mode determination. That is, in this case, the determination unit 870 determines to determine the mode of the system 70 using the setting information stored in the third storage unit 950. On the other hand, for example, when the power generation tendency obtained from the power state acquisition unit 480 is flat and the charge amount is 80%, the determination unit 870 selects the second determination unit 490 as a module used for mode determination. . That is, in this case, the determination unit 870 determines to operate the second determination unit 490 to determine the mode of the system 70.

判断部470が、設定情報取得部655を用いずにシステム70のモードを決定することを決定した場合(ステップS2008の結果:NO)、つまり、第2決定部490を動作させてシステム70のモードを決定することを決定した場合、判断部870は、発生した割込みの割込み種別と電力状態を第2決定部490に通知する(ステップS2012)。第2決定部490は、判断部870から送られてきた電力状態と第5記憶部990に記憶されたデータから、システム70のモードを決定する(ステップ2013)。この決定方法は第2実施形態と同様である。そして、判断部870は、決定したモードの設定情報と、割込みが発生した割込み種別とをモード設定部850に対して通知する(ステップS2014)。モード設定部850は、判断部870から通知された設定情報に従って、システム70のモードを設定する(ステップS2015)。これにより、システム70は、スリープ状態から復帰して、モード設定部850により設定されたモードに移行する。   When the determination unit 470 determines to determine the mode of the system 70 without using the setting information acquisition unit 655 (the result of step S2008: NO), that is, the second determination unit 490 is operated to operate the mode of the system 70. If it is determined to determine, the determination unit 870 notifies the second determination unit 490 of the interrupt type and power state of the generated interrupt (step S2012). The second determination unit 490 determines the mode of the system 70 from the power state sent from the determination unit 870 and the data stored in the fifth storage unit 990 (step 2013). This determination method is the same as in the second embodiment. Then, the determination unit 870 notifies the mode setting unit 850 of the determined mode setting information and the interrupt type in which the interrupt has occurred (step S2014). The mode setting unit 850 sets the mode of the system 70 according to the setting information notified from the determination unit 870 (step S2015). As a result, the system 70 returns from the sleep state and shifts to the mode set by the mode setting unit 850.

一方、設定情報取得部655を用いてシステム70のモードを決定することを決定した場合(ステップS2008の結果:YES)、つまり、第3記憶部950に記憶された設定情報を利用してシステム70のモードを決定することを決定した場合、判断部870は設定情報取得部655に割込み種別を通知する(ステップS2009)。設定情報取得部655は、第3記憶部950に記憶された設定情報を読み出し(ステップS2010)、その読み出した設定情報と、割込みが発生した割込み種別とをモード設定部850に対して通知する(ステップS2011)。モード設定部850は、判断部870から通知された設定情報に従って、システム70のモードを設定する(ステップS2015)。これにより、システム70は、スリープ状態から復帰して、モード設定部850により設定されたモードに移行する。   On the other hand, when it is determined to determine the mode of the system 70 using the setting information acquisition unit 655 (the result of step S2008: YES), that is, the system 70 using the setting information stored in the third storage unit 950. If it is determined to determine the mode, the determination unit 870 notifies the setting information acquisition unit 655 of the interrupt type (step S2009). The setting information acquisition unit 655 reads the setting information stored in the third storage unit 950 (step S2010), and notifies the mode setting unit 850 of the read setting information and the interrupt type in which the interrupt has occurred (step S2010). Step S2011). The mode setting unit 850 sets the mode of the system 70 according to the setting information notified from the determination unit 870 (step S2015). As a result, the system 70 returns from the sleep state and shifts to the mode set by the mode setting unit 850.

上述のように、プロセッサ100をスリープ状態に移行させて消費電力を低減する方法は、プロセッサ100の消費電力を低減できる一方で、システム70を一時的に停止させるための処理等によるオーバーヘッドが大きいうえ、当該処理(例えばレジスタの退避および復帰やキャッシュメモリのフラッシュなどの処理)やそれによる影響(キャッシュメモリのフラッシュによるメモリアクセスの増加等)に起因して発生する消費電力も無視できない。また、発電量や充電量が十分な第1状態の場合には、これらの消費電力を無視したほうが処理時間を短くできるという点でより効率的であるが、発電量や充電量が十分でない第2状態の場合にはシステム70が動作するという観点から最小セットで動作することが適切であると考えられる。また、発電量や充電量が第1状態と第2状態との間の状態である第3状態の場合には、前述のシステム割込み処理時間に応じたモード(第3記憶部950に記憶された設定情報により設定されるモード)でシステム70を動作させることが適切であると考えられる。つまり、本実施形態では、電源の電力状態も考慮して、システム70のモード設定を行うので、システム70の電力状況にあわせた処理時間を保ちつつ、効率的に消費電力を低減できるという利点がある。   As described above, the method of reducing the power consumption by shifting the processor 100 to the sleep state can reduce the power consumption of the processor 100, but has a large overhead due to the processing for temporarily stopping the system 70. The power consumption generated due to the processing (for example, processing such as saving and restoring registers and flushing the cache memory) and the influences thereof (such as an increase in memory access due to the flushing of the cache memory) cannot be ignored. In the first state where the power generation amount and the charge amount are sufficient, it is more efficient to ignore the power consumption because the processing time can be shortened, but the power generation amount and the charge amount are not sufficient. In the case of two states, it is considered appropriate to operate with the minimum set from the viewpoint that the system 70 operates. In the case of the third state in which the power generation amount and the charge amount are between the first state and the second state, the mode corresponding to the above-described system interrupt processing time (stored in the third storage unit 950) It is considered appropriate to operate the system 70 in the mode set by the setting information. That is, in this embodiment, since the mode setting of the system 70 is performed in consideration of the power state of the power supply, there is an advantage that the power consumption can be efficiently reduced while maintaining the processing time according to the power status of the system 70. is there.

(第5実施形態)
本実施形態では、システムがスリープ状態に移行する前の段階における電源の電力状態に応じて、システム割込み処理時間の算出を行うか否かを決定する点で第4実施形態と相違する。以下、具体的な内容を説明する。なお、第4実施形態と共通する部分については、同一の符号を付して適宜に説明を省略する。本実施形態のシステムの基本的な構成は、第4実施形態と同様である。以下の説明においては、本実施形態のシステムは90と表記する。
(Fifth embodiment)
This embodiment is different from the fourth embodiment in that it is determined whether or not to calculate the system interrupt processing time according to the power state of the power supply in the stage before the system enters the sleep state. Specific contents will be described below. In addition, about the part which is common in 4th Embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted suitably. The basic configuration of the system of this embodiment is the same as that of the fourth embodiment. In the following description, the system of this embodiment is represented as 90.

図23は、プロセッサ100に搭載されたCPU110が、基本ソフトウェアであるOS(operating system)1000を実行することにより実現される機能の構成と、プロセッサ100が備えるハードウェアとを示すブロック図である。図20に示すように、プロセッサ100が備えるハードウェアには、CPU110と、第1記憶部910と、第2記憶部930と、第3記憶部950と、第4記憶部970と、第5記憶部990とが含まれる。また、図23においては、プロセッサ100が備えるハードウェアとプロセッサ100上で動作するOS1000、OS1000上で動作する1または複数のプロセスをプロセッサ100が含む表現としている。   FIG. 23 is a block diagram illustrating a configuration of functions realized when the CPU 110 mounted on the processor 100 executes an OS (operating system) 1000 that is basic software, and hardware included in the processor 100. As illustrated in FIG. 20, the hardware included in the processor 100 includes a CPU 110, a first storage unit 910, a second storage unit 930, a third storage unit 950, a fourth storage unit 970, and a fifth storage. Part 990. In FIG. 23, the processor 100 includes hardware included in the processor 100, an OS 1000 that operates on the processor 100, and one or more processes that operate on the OS 1000.

図23に示すように、OS1000は、割込待ち設定部210と、アイドル状態検出部680と、電力状態取得部480と、第2決定部1090と、判断部1085と、算出部630と、第1決定部640と、スリープ処理部690と、割込み検出部820と、設定情報取得部655と、モード設定部650と、割込み待ち解除部260とを有する。   As shown in FIG. 23, the OS 1000 includes an interrupt waiting setting unit 210, an idle state detection unit 680, a power state acquisition unit 480, a second determination unit 1090, a determination unit 1085, a calculation unit 630, 1 determination unit 640, sleep processing unit 690, interrupt detection unit 820, setting information acquisition unit 655, mode setting unit 650, and interrupt wait release unit 260.

判断部1085は、電力状態取得部480から通知された電力状態に応じて、システム100のモードの決定方法を決定する。第2決定部1090は、電源の電力状態に応じてシステム100のモードを決定し、その決定したモードを第3記憶部950に登録する。   The determination unit 1085 determines a mode determination method of the system 100 according to the power state notified from the power state acquisition unit 480. The second determination unit 1090 determines the mode of the system 100 according to the power state of the power source, and registers the determined mode in the third storage unit 950.

図24は、プロセッサ100のアイドル状態が検出されてから、スリープ状態に移行するまでの動作手順の一例を示すシーケンス図である。図24に示すように、まずアイドル状態検出部680が、プロセッサ100のアイドル状態を検出し(ステップS2200)、電力状態取得部480に対して、電力状態の読み出しを要求する(ステップS2201)。その要求を受けた電力状態取得部480は、電力状態管理部360から電力状態を取得する(ステップS2202)。次に、電力状態取得部480は、取得した電力状態を判断部1085へ通知する(ステップS2203)。そして、判断部1085は、電力状態取得部480から取得した電力状態から、システム90のモードの決定方法を決定する(ステップS2204)。図11の例では、判断部1085は、電力状態取得部480から取得した電源の電力状態と第4記憶部970に記憶されたデータから、算出部630によるシステム割込み処理時間の算出を行ってシステム90のモードを決定するか、第2決定部1090を利用してシステム90のモードを決定するかを決定する。   FIG. 24 is a sequence diagram illustrating an example of an operation procedure from the detection of the idle state of the processor 100 to the transition to the sleep state. As shown in FIG. 24, the idle state detection unit 680 first detects the idle state of the processor 100 (step S2200), and requests the power state acquisition unit 480 to read the power state (step S2201). Receiving the request, the power status acquisition unit 480 acquires the power status from the power status management unit 360 (step S2202). Next, the power state acquisition unit 480 notifies the determination unit 1085 of the acquired power state (step S2203). Then, the determination unit 1085 determines a mode determination method of the system 90 from the power state acquired from the power state acquisition unit 480 (step S2204). In the example of FIG. 11, the determination unit 1085 calculates the system interrupt processing time by the calculation unit 630 from the power state of the power source acquired from the power state acquisition unit 480 and the data stored in the fourth storage unit 970. It is determined whether to determine 90 modes or to determine the mode of the system 90 using the second determination unit 1090.

たとえば、図11の場合、発電傾向及び充電量に基づいてシステム90のモードの決定方法を決定する。たとえば、発電傾向が増加傾向を示すとともに、充電量が30%であれば、算出部630によるシステム割込み時間の算出によりシステム90のモードを決定する。たとえば、発電傾向が増加の傾向を示し、充電量が50%であれば第2決定部1090を利用してシステム90のモードを決定する。また、たとえば、発電傾向が横ばいを示すとともに、充電量が55%であれば、算出部630によるシステム割込み時間の算出によりシステム90のモードを決定する。たとえば、発電傾向が横ばいの傾向を示し、充電量が20%であれば第2決定部1090を利用してシステム90のモードを決定する。また、たとえば、発電傾向が低下を示すとともに、充電量が80%であれば、算出部630によるシステム割込み時間の算出によりシステム90のモードを決定する。たとえば、発電傾向が低下の傾向を示し、充電量が60%であれば第2決定部1090を利用してシステム90のモードを決定する。なお、これに限らず、たとえば、充電量のみ、あるいは、発電量の変化量のみに基づいて、モードの決定方法を決定することもできる。   For example, in the case of FIG. 11, a method for determining the mode of the system 90 is determined based on the power generation tendency and the charge amount. For example, if the power generation tendency shows an increasing tendency and the charge amount is 30%, the mode of the system 90 is determined by calculating the system interrupt time by the calculation unit 630. For example, if the power generation tendency shows an increasing tendency and the charge amount is 50%, the mode of the system 90 is determined using the second determination unit 1090. Further, for example, when the power generation tendency is flat and the charge amount is 55%, the mode of the system 90 is determined by calculating the system interruption time by the calculation unit 630. For example, if the power generation tendency is flat and the charge amount is 20%, the mode of the system 90 is determined using the second determination unit 1090. Further, for example, when the power generation tendency is reduced and the charge amount is 80%, the mode of the system 90 is determined by calculating the system interruption time by the calculation unit 630. For example, if the power generation tendency shows a decreasing tendency and the charge amount is 60%, the mode of the system 90 is determined using the second determination unit 1090. However, the present invention is not limited to this, and the mode determination method may be determined based on, for example, only the charge amount or only the amount of change in power generation amount.

算出部630によるシステム割込み処理時間の算出を行わないことを決定した場合(ステップS22005の結果:NO)、つまり、第2決定部1090を利用してシステム90のモードを決定することを決定した場合、判断部1085は第2決定部1090に対して電力状態を通知して、システム90のモードの決定を要求する(ステップS2207)。第2決定部1090は、判断部1085から通知された電力状態と第5記憶部に記憶されたデータに応じて、スリープ状態から復帰後のシステム90のモードを決定する(ステップS2208)。たとえば、発電傾向が増加の傾向を示すとともに、充電量が50%の場合は、第2決定部1090はシステム90をシステムのすべての要素を稼働させる第2モードを、システム90のモードとして決定することができる。また、たとえば、発電傾向が横ばいの傾向を示すとともに、充電量が70%の場合も、第2決定部1090は、第2モードをシステム90のモードとして決定することができる。また、たとえば発電傾向が横ばいの傾向を示すとともに、充電量が40%の場合は、第2決定部1090は消費電力が最小となる最低限の要素を稼働させる第1モードを、システム90のモードとして決定することができる。また、たとえば、発電傾向が低下の傾向を示すとともに、充電量が60%の場合も、第2決定部1090は、第1モードをシステム90のモードとして決定することができる。   When it is determined not to calculate the system interrupt processing time by the calculation unit 630 (result of step S22005: NO), that is, when it is determined to determine the mode of the system 90 using the second determination unit 1090 The determination unit 1085 notifies the second determination unit 1090 of the power state and requests determination of the mode of the system 90 (step S2207). The second determination unit 1090 determines the mode of the system 90 after returning from the sleep state according to the power state notified from the determination unit 1085 and the data stored in the fifth storage unit (step S2208). For example, when the power generation tendency shows an increasing tendency and the charge amount is 50%, the second determination unit 1090 determines the second mode in which the system 90 operates all the elements of the system as the mode of the system 90. be able to. Further, for example, when the power generation tendency shows a flat tendency and the charge amount is 70%, the second determination unit 1090 can determine the second mode as the mode of the system 90. Further, for example, when the power generation tendency shows a flat tendency and the charge amount is 40%, the second determination unit 1090 sets the first mode in which the minimum element that minimizes the power consumption is operated as the mode of the system 90. Can be determined as In addition, for example, when the power generation tendency tends to decrease and the charge amount is 60%, the second determination unit 1090 can determine the first mode as the mode of the system 90.

そして、第2決定部1090は、決定したモードの設定情報を第3記憶部950に書き込む(ステップS2209)。次に、第2決定部1090は、スリープ処理部690に対して、システム90をスリープ状態に移行させるスリープ処理の実行を要求する(ステップS2210)。   Then, the second determination unit 1090 writes the setting information of the determined mode in the third storage unit 950 (step S2209). Next, the second determination unit 1090 requests the sleep processing unit 690 to execute sleep processing that causes the system 90 to enter the sleep state (step S2210).

一方、算出部630によるシステム割込み処理時間の算出を行うことを決定した場合(ステップS2205の結果:YES)、判断部1085は、算出部630に対して、システム割込み処理時間の算出を要求する(ステップS2206)。その後のステップS2211以降の内容は、図17のステップS1602以降の内容と同様なので、詳細な説明は省略する。   On the other hand, when it is determined that the calculation unit 630 calculates the system interrupt processing time (result of step S2205: YES), the determination unit 1085 requests the calculation unit 630 to calculate the system interrupt processing time ( Step S2206). The subsequent contents after step S2211 are the same as the contents after step S1602 in FIG.

以上に説明したように、本実施形態では、システム90がスリープ状態に移行する前(システムが停止する前)に、電源の電力状態に応じてシステム90のモード(スリープ状態から復帰した後のシステム90のモード)を決定することにより、システム90の電力状態に合わせて、システム90の消費電力を効率的に低減しつつ、処理を実行することができる。最適なシステム90のモードを決定する方法は、システム90の消費電力を削減することができる一方で、システム90のモードを決定するための処理(算出部630によるシステム割込み処理時間の算出処理等)によってその処理時間や消費電力が増加する。本実施形態では、システム90の電力状態に応じて、システム90のモードを動的に決定しなければならない場合(電力状態が前述の所定の条件を満たす場合)に限定して、システム90のモードを決定するための処理を行うことにより、効率的に消費電力を低減できるという利点がある。   As described above, in the present embodiment, before the system 90 shifts to the sleep state (before the system stops), the mode of the system 90 (the system after returning from the sleep state) according to the power state of the power source. 90 mode), the processing can be executed while efficiently reducing the power consumption of the system 90 in accordance with the power state of the system 90. The method for determining the optimum system 90 mode can reduce the power consumption of the system 90, while processing for determining the mode of the system 90 (calculation processing of the system interrupt processing time by the calculation unit 630, etc.). This increases the processing time and power consumption. In the present embodiment, the mode of the system 90 is limited to the case where the mode of the system 90 must be dynamically determined according to the power state of the system 90 (when the power state satisfies the predetermined condition described above). By performing the process for determining the power consumption, there is an advantage that the power consumption can be efficiently reduced.

(第6実施形態)
上述の第1実施形態では、第1記憶部910に記憶された割込み処理時間の値は固定値であったが、本実施形態では、第1記憶部910に記憶された割込み処理時間の値が可変に設定される。以下、具体的な内容を説明する。なお、第1実施形態と共通する部分については、同一の符号を付して適宜に説明を省略する。本実施形態のシステムの基本的な構成は、第1実施形態と同様である。以下の説明においては、本実施形態のシステムは95と表記する。
(Sixth embodiment)
In the first embodiment described above, the value of the interrupt processing time stored in the first storage unit 910 is a fixed value. However, in this embodiment, the value of the interrupt processing time stored in the first storage unit 910 is Set to variable. Specific contents will be described below. In addition, about the part which is common in 1st Embodiment, the same code | symbol is attached | subjected and description is abbreviate | omitted suitably. The basic configuration of the system of this embodiment is the same as that of the first embodiment. In the following description, the system of the present embodiment is expressed as 95.

図25は、プロセッサ100に搭載されたCPU110が、基本ソフトウェアであるOS(operating system)1200を実行することにより実現される機能の構成と、プロセッサ100が備えるハードウェアとを示すブロック図である。ここでは、プロセッサ100上で単一のOS1200が動作し、OS1200上で1または複数のプロセス(999−1〜999−n)が動作すると捉えることができる。また、図25においては、プロセッサ100が備えるハードウェアとプロセッサ100上で動作するOS1200、OS1200上で動作する1または複数のプロセスをプロセッサ100が含む表現としている。   FIG. 25 is a block diagram illustrating a functional configuration realized when the CPU 110 mounted on the processor 100 executes an operating system (OS) 1200 that is basic software, and hardware included in the processor 100. Here, it can be understood that a single OS 1200 operates on the processor 100 and one or more processes (999-1 to 999-n) operate on the OS 1200. In FIG. 25, the processor 100 includes hardware included in the processor 100, an OS 1200 that operates on the processor 100, and one or more processes that operate on the OS 1200.

図25に示すように、プロセッサ100が備えるハードウェアには、CPU110と、第1記憶部910と、第2記憶部930とが含まれる。OS1200は、割込み待ち設定部210と、割込み検出部220と、算出部230と、第1決定部240と、モード設定部250と、割込み待ち解除部1260と、更新部1290とを有する。   As shown in FIG. 25, the hardware included in the processor 100 includes a CPU 110, a first storage unit 910, and a second storage unit 930. The OS 1200 includes an interrupt wait setting unit 210, an interrupt detection unit 220, a calculation unit 230, a first determination unit 240, a mode setting unit 250, an interrupt wait release unit 1260, and an update unit 1290.

割込み待ち解除部1260は、割込み処理を開始する場合、その割込み処理に対応する割込み種別を更新部1290に通知する機能を有する点で第1実施形態と相違する。   The interrupt wait release unit 1260 is different from the first embodiment in that it has a function of notifying the update unit 1290 of the interrupt type corresponding to the interrupt process when starting the interrupt process.

更新部1290は、割込み処理が開始された時点で、当該割込み処理が開始された割込み種別に対応する割込み処理時間の計測を開始し、割込み処理が完了した時点で割込み処理時間の計測を停止し、第1記憶部910に記憶された割込み処理時間のうち、当該割込み種別に対応する割込み処理時間の値を計測結果に置き換える(更新する)。   The update unit 1290 starts measuring the interrupt processing time corresponding to the interrupt type for which the interrupt processing is started when the interrupt processing is started, and stops measuring the interrupt processing time when the interrupt processing is completed. Of the interrupt processing times stored in the first storage unit 910, the value of the interrupt processing time corresponding to the interrupt type is replaced (updated) with the measurement result.

図26は、プロセッサ100に対して割込みが発生してから、割込み処理を開始するまでの動作手順の一例を示すシーケンス図である。ステップS2400〜ステップS2410の内容は、図7のステップS700〜ステップS710の内容と同様なので、詳細な説明は省略する。ステップS2410において、割込みが発生した割込み種別の通知をモード設定部250から受けた割込み待ち解除部1260は、更新部1290に対して、割込みが発生した割込み種別を通知する(ステップS2411)。割込みが発生した割込み種別の通知を受けた更新部1290は、通知された割込み種別に対応する割込み処理時間の計測を開始する(ステップS2414)。例えば、更新部1290は、割込み種別と現在時刻を対応付けて管理してもよい。図26のステップS2412およびステップS2413の内容は、図7のステップS711およびステップS712の内容と同様なので、詳細な説明は省略する。   FIG. 26 is a sequence diagram illustrating an example of an operation procedure from when an interrupt occurs to the processor 100 to when interrupt processing is started. Since the contents of steps S2400 to S2410 are the same as the contents of steps S700 to S710 in FIG. 7, detailed description thereof is omitted. In step S2410, the interrupt wait cancellation unit 1260 that has received the notification of the interrupt type in which the interrupt has occurred from the mode setting unit 250 notifies the update unit 1290 of the interrupt type in which the interrupt has occurred (step S2411). Receiving the notification of the interrupt type that caused the interrupt, the updating unit 1290 starts measuring the interrupt processing time corresponding to the notified interrupt type (step S2414). For example, the update unit 1290 may manage the interrupt type and the current time in association with each other. The contents of steps S2412 and S2413 in FIG. 26 are the same as the contents of steps S711 and S712 in FIG.

図27は、割込み待ちが発生したときのプロセッサ100の動作手順の一例を示すシーケンス図である。ステップS2500およびステップS2501の内容は、図6のステップS600およびステップS601の内容と同様なので、詳細な説明は省略する。ステップS2501の後、割込み待ち設定部210は、割込み待ちとなった割込み種別と、割込み待ち発生時刻とを第2記憶部930および更新部1290の各々に対して通知する(ステップS2502)。ステップS2503の内容は、図6のステップS603の内容と同様なので、詳細な説明は省略する。   FIG. 27 is a sequence diagram illustrating an example of an operation procedure of the processor 100 when an interrupt wait occurs. Since the contents of steps S2500 and S2501 are the same as the contents of steps S600 and S601 of FIG. 6, detailed description thereof is omitted. After step S2501, the interrupt wait setting unit 210 notifies each of the second storage unit 930 and the update unit 1290 of the interrupt type that has been interrupted and the interrupt wait occurrence time (step S2502). Since the content of step S2503 is the same as the content of step S603 of FIG. 6, detailed description thereof is omitted.

割込み待ちとなった割込み種別および割込み待ち発生時刻の通知を受けた更新部1290は、通知された割込み種別に対応する割込み処理時間の計測を停止して、その計測結果を、当該割込み種別に対応する割込み処理時間として取得する(ステップS2504)。次に、更新部1290は、第1記憶部910を更新する(ステップS2505)。より具体的には、更新部1290は、第1記憶部910に記憶された割込み処理時間のうち、通知を受けた割込み種別に対応する割込み処理時間の値を、ステップS2504で取得した割込み処理時間の値に置き換える。   The update unit 1290 that has received the notification of the interrupt type that has been waiting for an interrupt and the time of occurrence of the interrupt wait stops the measurement of the interrupt processing time corresponding to the notified interrupt type, and the measurement result corresponds to the interrupt type. Is acquired as the interrupt processing time (step S2504). Next, the update unit 1290 updates the first storage unit 910 (step S2505). More specifically, the update unit 1290 includes the interrupt processing time acquired in step S2504 as the interrupt processing time value corresponding to the notified interrupt type among the interrupt processing times stored in the first storage unit 910. Replace with the value of.

以上に説明したように、本実施形態では、割込み処理を開始してから終了するまでの時間を計測して、第1記憶部910に記憶された割込み処理時間の値を可変に設定するため、第1記憶部910に記憶された処理時間の値を、現在のシステムにおいて最適な値に近づけることができる。   As described above, in the present embodiment, in order to measure the time from the start to the end of interrupt processing and to set the value of the interrupt processing time stored in the first storage unit 910 variably, The value of the processing time stored in the first storage unit 910 can be approximated to an optimal value in the current system.

(変形例)
以上、本発明の実施形態を説明したが、上述の各実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
(Modification)
As mentioned above, although embodiment of this invention was described, each above-mentioned embodiment was shown as an example and is not intending limiting the range of invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

例えば上述の第1実施形態では、スリープ状態から復帰する要因を示す復帰要因は割込みの発生である。そして、システムがスリープ状態から復帰した後に、他の割込み処理とは重複せずに単独で実行される割込み処理、あるいは、少なくとも一部の重複を持って実行される複数の割込み処理が終了するまでに必要な時間を、システム割込み処理時間として算出し、その算出したシステム割込み処理時間に応じて、システムのモードを設定しているが、これに限定されるものではない。すなわち、復帰要因は、割込みの発生に限らず任意に設定可能であり、当該復帰要因が発生した場合は、スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間(システム割込み処理時間はこの一例)に応じてモードを設定する構成であればよい。   For example, in the first embodiment described above, the return factor indicating the factor for returning from the sleep state is the occurrence of an interrupt. After the system recovers from the sleep state, until interrupt processing that is executed independently without overlapping with other interrupt processing, or multiple interrupt processing that is executed with at least some overlap is completed Is calculated as the system interrupt processing time, and the system mode is set according to the calculated system interrupt processing time. However, the present invention is not limited to this. That is, the return factor is not limited to the occurrence of an interrupt, and can be set arbitrarily. When the return factor occurs, the system processing time (system interrupt processing time) indicating the time required for processing after returning from the sleep state May be configured to set the mode according to this example.

図15の例では、第3記憶部950に記憶される設定情報の一例として、プロセッサ100の電圧、周波数、1次キャッシュ140に対する電力供給の有無、2次キャッシュ150に対する電力供給の有無を挙げて説明したが、これに限らず、設定情報の内容は任意に設定可能である。例えばクロック(周波数)のみを設定情報として用いる構成であってもよい。また、メモリの転送方法やメモリの転送レートを指定する情報を設定情報として用いる構成であってもよい。さらに、割込み処理時に利用される命令セットが一部に限定される場合には、それ以外の命令セットにかかわる部分に対する電力供給を停止(電源オフ)することを指定する情報を設定情報として用いる構成であってもよい。例えば、ARMプロセッサの場合、ARM標準命令とは別に、NEONと呼ばれる命令セットが用意されているが、これはシステムとして別々に構成される場合では、NEONの部分に対する電力供給を停止することができる。図28は、設定情報として、メモリ転送方法、転送レート、および、利用可能な命令セットの各々を指定する情報が用いられる場合の例を示す図である。   In the example of FIG. 15, as an example of the setting information stored in the third storage unit 950, the voltage of the processor 100, the frequency, the presence / absence of power supply to the primary cache 140, and the presence / absence of power supply to the secondary cache 150 are given. Although described, the present invention is not limited to this, and the contents of the setting information can be arbitrarily set. For example, a configuration using only the clock (frequency) as the setting information may be used. In addition, a configuration may be used in which information specifying a memory transfer method and a memory transfer rate is used as setting information. In addition, when the instruction set used at the time of interrupt processing is limited to a part, information that specifies that power supply to other parts related to the instruction set is stopped (power off) is used as setting information It may be. For example, in the case of the ARM processor, an instruction set called NEON is prepared separately from the ARM standard instruction. However, when this is configured separately as a system, the power supply to the NEON part can be stopped. . FIG. 28 is a diagram illustrating an example in which information specifying each of a memory transfer method, a transfer rate, and an available instruction set is used as setting information.

また、上述の各実施形態では、プロセッサ100は、レジスタ130、1次キャッシュ140、2次キャッシュ150を有しているが、これに限らず、例えばプロセッサ100が、1次キャッシュ140や2次キャッシュ150を有しない構成であってもよい。この構成であれば、システムのモード設定の対象(システム構成の対象)として1次キャッシュ140や2次キャッシュ150が含まれず、それに関する処理を省略できる。また、1次キャッシュ140や2次キャッシュ150の代わりに命令メモリやデータメモリと呼ばれる内部メモリを含む構成であってもよく、両方を含む構成であってもよい。この構成であれば、システムのモード設定の対象として、内部メモリを含む場合もあり、それに関する処理も行う場合もある。   In each of the above-described embodiments, the processor 100 includes the register 130, the primary cache 140, and the secondary cache 150. However, the present invention is not limited to this, and for example, the processor 100 includes the primary cache 140 and the secondary cache 150. The structure which does not have 150 may be sufficient. With this configuration, the primary cache 140 and the secondary cache 150 are not included as system mode setting targets (system configuration targets), and processing related thereto can be omitted. Further, instead of the primary cache 140 and the secondary cache 150, an internal memory called an instruction memory or a data memory may be included, or a configuration including both may be used. With this configuration, an internal memory may be included as a system mode setting target, and processing related thereto may be performed.

さらに、上述したOS(200,400,600,800,1000、1200)の機能の少なくとも一部が、プロセッサ100以外のハードウェアで実現される構成であってもよい。例えば、図29に示すように、第1実施形態のプロセッサ100の機能が、プロセッサ100とは別のハードウェアである割込み管理部1460で実現することもできる。この場合、第1記憶部910の管理は割込み管理部1460で行われ、OS200で第1記憶部910に記憶されたデータを読み出す場合には、割込み管理部1460を経由して読み出される。図29の例におけるシステムは1400と表記する。   Furthermore, a configuration in which at least a part of the functions of the OS (200, 400, 600, 800, 1000, 1200) described above is realized by hardware other than the processor 100 may be employed. For example, as illustrated in FIG. 29, the function of the processor 100 according to the first embodiment may be realized by an interrupt management unit 1460 that is hardware different from the processor 100. In this case, the management of the first storage unit 910 is performed by the interrupt management unit 1460, and when the data stored in the first storage unit 910 is read by the OS 200, the data is read via the interrupt management unit 1460. The system in the example of FIG.

また、例えば図30に示すように、上述の第2実施形態でハードウェアとして実現されていた電力状態管理部360は、OS1600内の一機能である電力管理部1690として実現される構成であってもよい。電力管理部1690は、発電モジュール380から発電量を、バッテリー385から充電量を取得し、定期的にそれらの値を取得することにより、発電傾向や充電傾向を見積もる。判断部1670はターゲットシステムの電力状態を電力管理部1690から取得することにより同様の機能を実現することができる。   For example, as illustrated in FIG. 30, the power state management unit 360 implemented as hardware in the second embodiment described above is configured as a power management unit 1690 that is one function in the OS 1600. Also good. The power management unit 1690 obtains a power generation amount from the power generation module 380 and a charge amount from the battery 385, and periodically acquires those values to estimate a power generation tendency and a charge tendency. The determination unit 1670 can realize the same function by acquiring the power state of the target system from the power management unit 1690.

また、上述した更新部1290で行っている割込み処理時間の計測を、各プロセス(999−1〜999−n)で行う構成であってもよい。また、割込み処理時間の計測方法については、上述では割込み発生時刻から割込み待ち発生時刻までとしたが、それ以外の方法も考えられる。複数の割込み処理が行われている場合には各割込み処理が行われている時間を正確に把握し、割込み処理が行われている時間を割込み処理時間とする方法でもよい。   Moreover, the structure which measures the interruption processing time currently performed in the update part 1290 mentioned above in each process (999-1 to 999-n) may be sufficient. Further, in the above description, the interrupt processing time is measured from the interrupt occurrence time to the interrupt wait occurrence time, but other methods are also conceivable. In the case where a plurality of interrupt processes are performed, a method of accurately grasping the time during which each interrupt process is performed and using the time during which the interrupt process is performed as an interrupt processing time may be used.

図31は、第1実施形態の変形例に係るシステム15の構成例を示すブロック図である。図31に示すように、システム15は、プロセッサ100と、記憶領域170と、制御装置197とを備え、それぞれがバス195で相互に接続されている。プロセッサ100は、1または複数の処理を実行可能な処理装置である。制御装置197は、複数のデバイス(デバイス1(199−1)〜デバイスn(199−n))の各々から、当該デバイスによる割込みの要求を示す割込み要求を受信し、その受信した割込み要求を、プロセッサ100に送信するか否かを決定する。制御装置197は、条件に基づいて、受信した割込み要求を蓄えるか、プロセッサ100へ送信するかを行う。このシステム15のように制御装置197によって割込みが発生する時間が変わったとしても、それに合わせてシステム15の状態(モード)が設定されるので、効率的に消費電力を低減できるという利点がある。   FIG. 31 is a block diagram illustrating a configuration example of the system 15 according to a modification of the first embodiment. As shown in FIG. 31, the system 15 includes a processor 100, a storage area 170, and a control device 197, which are mutually connected by a bus 195. The processor 100 is a processing device that can execute one or more processes. The control device 197 receives an interrupt request indicating an interrupt request by the device from each of a plurality of devices (device 1 (199-1) to device n (199-n)), and receives the received interrupt request. Whether to transmit to the processor 100 is determined. Based on the condition, the control device 197 stores the received interrupt request or transmits it to the processor 100. Even if the time at which an interrupt occurs by the control device 197 as in the system 15 is changed, the state (mode) of the system 15 is set in accordance with it, so that there is an advantage that power consumption can be efficiently reduced.

また、CPU110が実行するプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、CPU110が実行するプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、CPU110が実行するプログラムを、ROM等に予め組み込んで提供するようにしてもよい。   Further, the program executed by the CPU 110 may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the network. Further, the program executed by the CPU 110 may be provided or distributed via a network such as the Internet. The program executed by the CPU 110 may be provided by being incorporated in advance in a ROM or the like.

10 システム
30 システム
50 システム
70 システム
90 システム
100 プロセッサ
110 CPU
120 記憶部
130 レジスタ
140 1次キャッシュ
150 2次キャッシュ
170 記憶領域
190 バス
210 割込み待ち設定部
220 割込み検出部
230 算出部
240 第1決定部
250 モード設定部
260 割込み待ち解除部
360 電力状態管理部
380 発電モジュール
385 バッテリー
390 バス
470 判断部
490 第2決定部
620 割込み検出部
630 算出部
640 第1決定部
650 モード設定部
655 設定状態取得部
680 アイドル状態検出部
690 スリープ処理部
850 モード設定部
870 判断部
910 第1記憶部
930 第2記憶部
950 第3記憶部
1085 判断部
1090 第2決定部
1260 割込み待ち解除部
1290 更新部
1460 割込み管理部
1670 判断部
1690 電力管理部
10 system 30 system 50 system 70 system 90 system 100 processor 110 CPU
120 Storage unit 130 Register 140 Primary cache 150 Secondary cache 170 Storage area 190 Bus 210 Interrupt wait setting unit 220 Interrupt detection unit 230 Calculation unit 240 First determination unit 250 Mode setting unit 260 Interrupt wait release unit 360 Power state management unit 380 Power generation module 385 Battery 390 Bus 470 Determination unit 490 Second determination unit 620 Interrupt detection unit 630 Calculation unit 640 First determination unit 650 Mode setting unit 655 Setting state acquisition unit 680 Idle state detection unit 690 Sleep processing unit 850 Mode setting unit 870 Determination Unit 910 first storage unit 930 second storage unit 950 third storage unit 1085 determination unit 1090 second determination unit 1260 interrupt wait release unit 1290 update unit 1460 interrupt management unit 1670 determination unit 1690 power management unit

Claims (14)

電力を個別に制御可能な複数の要素を含むシステムが、電力が供給される前記要素の数が所定数に制限されて動作を停止するスリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間に応じて前記システムの動作状態を示すモードを設定する設定部を備える、
制御装置。
When a system including a plurality of elements capable of individually controlling power is limited to a predetermined number of elements to which power is supplied and a factor of returning from the sleep state in which the operation is stopped occurs, the sleep state A setting unit for setting a mode indicating an operation state of the system according to a system processing time indicating a time required for processing after returning from the system,
Control device.
電力を個別に制御可能な複数の要素を含むシステムが、電力が供給される前記要素の数が所定数に制限されて動作を停止するスリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間に応じて前記システムの動作状態を示すモードを設定する、
制御装置。
When a system including a plurality of elements capable of individually controlling power is limited to a predetermined number of elements to which power is supplied and a factor of returning from the sleep state in which the operation is stopped occurs, the sleep state Setting a mode indicating the operating state of the system according to the system processing time indicating the time required for processing after returning from
Control device.
スリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間に応じてシステムの動作状態を示すモードを設定する、
制御装置。
When a factor for returning from the sleep state has occurred, a mode indicating a system operation state is set according to a system processing time indicating a time required for processing after returning from the sleep state.
Control device.
電力を個別に制御可能な複数の要素を含むシステムが、電力が供給される前記要素の数が所定数に制限されて動作を停止するスリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間に応じたモードで前記システムを動作させる、
制御装置。
When a system including a plurality of elements capable of individually controlling power is limited to a predetermined number of elements to which power is supplied and a factor of returning from the sleep state in which the operation is stopped occurs, the sleep state Operating the system in a mode corresponding to the system processing time indicating the time required for processing after returning from
Control device.
スリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間に応じたモードでシステムを動作させる、
制御装置。
When a factor for returning from the sleep state occurs, the system is operated in a mode corresponding to the system processing time indicating the time required for processing after returning from the sleep state.
Control device.
電力を個別に制御可能な複数の要素を含む情報処理システムであって、
前記情報処理システムが、電力が供給される前記要素の数が所定数に制限されて動作を停止するスリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間に応じたモードで動作する、
情報処理システム。
An information processing system including a plurality of elements capable of individually controlling power,
When the information processing system has a factor for returning from the sleep state in which the number of the elements to which power is supplied is limited to a predetermined number and stopping the operation, it is necessary for processing after returning from the sleep state. Operates in a time-dependent mode,
Information processing system.
スリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間に応じたモードで動作する、
情報処理システム。
When a factor to return from the sleep state occurs, it operates in a mode according to the time required for processing after returning from the sleep state.
Information processing system.
コンピュータに、
電力を個別に制御可能な複数の要素を含むシステムが、電力が供給される前記要素の数が所定数に制限されて動作を停止するスリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間に応じて前記システムの動作状態を示すモードを設定するステップを実行させるためのプログラム。
On the computer,
When a system including a plurality of elements capable of individually controlling power is limited to a predetermined number of elements to which power is supplied and a factor of returning from the sleep state in which the operation is stopped occurs, the sleep state A program for executing a step of setting a mode indicating an operating state of the system according to a system processing time indicating a time required for processing after returning from the system.
コンピュータに、
電力を個別に制御可能な複数の要素を含むシステムが、電力が供給される前記要素の数が所定数に制限されて動作を停止するスリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間に応じて前記システムの動作状態を示すモードを設定するステップを実行させるためのプログラム。
On the computer,
When a system including a plurality of elements capable of individually controlling power is limited to a predetermined number of elements to which power is supplied and a factor of returning from the sleep state in which the operation is stopped occurs, the sleep state A program for executing a step of setting a mode indicating an operating state of the system according to a system processing time indicating a time required for processing after returning from the system.
コンピュータに、
スリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間に応じてシステムの動作状態を示すモードを設定するステップを実行させるためのプログラム。
On the computer,
A program for executing a step of setting a mode indicating a system operating state according to a system processing time indicating a time required for processing after returning from the sleep state when a factor for returning from the sleep state occurs .
コンピュータに、
電力を個別に制御可能な複数の要素を含むシステムが、電力が供給される前記要素の数が所定数に制限されて動作を停止するスリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間に応じたモードで前記システムを動作させるステップを実行させるためのプログラム。
On the computer,
When a system including a plurality of elements capable of individually controlling power is limited to a predetermined number of elements to which power is supplied and a factor of returning from the sleep state in which the operation is stopped occurs, the sleep state A program for executing a step of operating the system in a mode corresponding to a system processing time indicating a time required for processing after returning from the system.
コンピュータに、
スリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間を示すシステム処理時間に応じたモードでシステムを動作させるステップを実行させるためのプログラム。
On the computer,
A program for executing a step of operating the system in a mode corresponding to a system processing time indicating a time required for processing after returning from the sleep state when a factor for returning from the sleep state occurs.
電力を個別に制御可能な複数の要素を含む情報処理システムに搭載されたコンピュータに、
前記情報処理システムが、電力が供給される前記要素の数が所定数に制限されて動作を停止するスリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間に応じたモードで前記情報処理システムが動作するステップを実行させるためのプログラム。
In a computer installed in an information processing system that includes multiple elements that can individually control power,
When the information processing system has a factor for returning from the sleep state in which the number of the elements to which power is supplied is limited to a predetermined number and stopping the operation, it is necessary for processing after returning from the sleep state. A program for executing a step in which the information processing system operates in a mode according to time.
情報処理システムに搭載されたコンピュータに、
スリープ状態から復帰する要因が発生した場合は、前記スリープ状態から復帰した後の処理に必要な時間に応じたモードで前記情報処理システムが動作するステップを実行させるためのプログラム。
In the computer installed in the information processing system,
A program for causing the information processing system to execute a step in a mode according to a time required for processing after returning from the sleep state when a factor for returning from the sleep state occurs.
JP2014237877A 2014-11-25 2014-11-25 Controller, information processing system and program Pending JP2015038780A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014237877A JP2015038780A (en) 2014-11-25 2014-11-25 Controller, information processing system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014237877A JP2015038780A (en) 2014-11-25 2014-11-25 Controller, information processing system and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012010161A Division JP5665777B2 (en) 2012-01-20 2012-01-20 Control device, system and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015139051A Division JP5876184B2 (en) 2015-07-10 2015-07-10 Control device, information processing system, and program

Publications (1)

Publication Number Publication Date
JP2015038780A true JP2015038780A (en) 2015-02-26

Family

ID=52631777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014237877A Pending JP2015038780A (en) 2014-11-25 2014-11-25 Controller, information processing system and program

Country Status (1)

Country Link
JP (1) JP2015038780A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010066907A (en) * 2008-09-09 2010-03-25 Ricoh Co Ltd Printing system, control method for the same, and printer used therefor
JP2010113641A (en) * 2008-11-10 2010-05-20 Fujitsu Ltd Operation method of processor system and processor system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010066907A (en) * 2008-09-09 2010-03-25 Ricoh Co Ltd Printing system, control method for the same, and printer used therefor
JP2010113641A (en) * 2008-11-10 2010-05-20 Fujitsu Ltd Operation method of processor system and processor system

Similar Documents

Publication Publication Date Title
JP5665777B2 (en) Control device, system and program
JP5284401B2 (en) Operation switching device and program
TWI528167B (en) Microprocessor, method of operating microprocessor and computer program product
JP6169547B2 (en) Method and apparatus for managing global chip power of multi-core system on chip
US8261112B2 (en) Optimizing power consumption by tracking how program runtime performance metrics respond to changes in operating frequency
JP5547718B2 (en) Power manager and power management method
KR101673500B1 (en) Method and apparatus for cache control
TWI518499B (en) Control apparatus, control method, computer program product, and semiconductor device
KR102164099B1 (en) System on chip, method thereof, and device including the same
TW201508468A (en) Power signal interface
JP2013134606A (en) Control device and electronic apparatus
US20180356871A1 (en) Power management for electronic devices
JP5876184B2 (en) Control device, information processing system, and program
JP5709001B2 (en) Computer system and computer
JP2015038780A (en) Controller, information processing system and program
JP6224994B2 (en) Information processing apparatus and control method thereof
US10578656B2 (en) Method and apparatus for monitoring energy consumption
US8569911B2 (en) Method and system for power management
JP2013003682A (en) Memory management device, memory management method and program
JP2015023692A (en) Device, method and program for controlling power consumption amount
JP6075584B2 (en) Control device, energy management system, control method, and program
JP6110696B2 (en) Integrated circuit and control method thereof
JP2001222342A (en) Electronic equipment and method for controlling timing of the equipment and storage medium
US9785218B2 (en) Performance state selection for low activity scenarios
JP2016142632A (en) Power measurement device and current measurement device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141202

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20141202

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20141217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150414