CN114020139A - Cpu功耗管理方法、计算机装置及计算机可读存储介质 - Google Patents
Cpu功耗管理方法、计算机装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114020139A CN114020139A CN202111308013.1A CN202111308013A CN114020139A CN 114020139 A CN114020139 A CN 114020139A CN 202111308013 A CN202111308013 A CN 202111308013A CN 114020139 A CN114020139 A CN 114020139A
- Authority
- CN
- China
- Prior art keywords
- core
- cpu
- power
- cpu core
- cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000007726 management method Methods 0.000 title claims abstract description 31
- 238000004590 computer program Methods 0.000 claims description 21
- 239000000872 buffer Substances 0.000 claims description 9
- 238000000034 method Methods 0.000 abstract description 20
- 230000008569 process Effects 0.000 description 12
- 230000007704 transition Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006266 hibernation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明提供一种CPU功耗管理方法、计算机装置及计算机可读存储介质,该方法包括设置CPU核在开关核唤醒模式下的多个工作状态;目标CPU核接收到用户态应用程序发送的关闭指令后进入预掉电状态,并在关闭本地中断唤醒源后进入核掉电状态;当CPU核集群所有CPU核均进入核掉电状态后,该集群所有CPU核均进入集群掉电状态;在CPU核集群任一CPU核接收到用户态应用程序发送的开核指令时,该集群的所有CPU核均从集群掉电状态退出至核掉电状态;如开核指令针对于目标CPU核,或者出现新发生的针对于目标CPU核的开核指令,目标CPU核从核掉电状态退出至上电状态。本发明还提供实现上述方法的计算机装置及计算机可读存储介质。本发明可以提高电子设备对CPU低功耗处理的兼容性。
Description
技术领域
本发明涉及电子设备的电源管理的技术领域,具体地,是一种CPU功耗管理方法以及实现这种方法的计算机装置、计算机可读存储介质。
背景技术
智能手机、平板电脑、机顶盒、行车记录仪等电子设备是常见的电子设备。随着电子设备的功能越来越多,电子设备需要设置的功能模块也越来越多,例如设置多核的CPU外,往往还设置图像处理器GPU等,还要设置DDR存储器等模块。由于电子设备需要实现的功能较多,各个模块用电量越来越多,导致电子设备的续航能力受到很大的影响,为此,人们考虑对各个用电模块进行功耗管理来降低电子设备的能耗,延长电子设备的续航能力。
通常,集成电路功耗主要由动态功耗和静态功耗组成,其中动态功耗主要由电路中逻辑门翻转过程产生,通常和电路的工作频率成正比,而静态功耗主要由静态漏电产生,通常和电压及温度相关。在Linux操作系统领域,一般使用以下两种技术对CPU的功耗进行管理:CPU中断唤醒(cpuidle)技术和CPU开关核唤醒(cpuhotplug)技术。
CPU中断唤醒技术是在微观领域进行功耗处理,主要是让CPU在空闲时刻通过关断其时钟和/或电源来控制CPU的动态功耗,例如,当CPU在某个微观时间片处于空闲的状态,即“无事可做”时,操作系统将CPU置为某种低功耗状态以降低CPU的动态功耗和静态功耗。当中断来临时,CPU可以被快速唤醒并重新开始执行任务。从用户态应用程序宏观角度来看,CPU是一直处于运行状态的。
CPU开关核唤醒技术着眼于宏观领域的功耗处理,通过对CPU负载的测量来决定当前时刻处于工作状态的CPU核的数量,该技术将不需要工作的CPU直接关掉其时钟和供电,以此控制CPU的动态功耗和静态功耗。具体的,该技术用户态应用程序提供了一种开关CPU的选项,如果当前运行场景下CPU的运算能力需求不高时,用户态应用程序可以选择关闭部分CPU核以降低CPU功耗,包括动态功耗和静态功耗。当操作系统的运算能力需求较高时,用户态应用程序可以重新打开被关闭的CPU核来提升操作系统的性能。
然而,这两种技术在现实过程中是相互独立、互不兼容,导致电子设备的CPU功耗处理方案成本较高,响应电子设备的运行速度,兼容性差。
发明内容
本发明的第一目的是提供一种能够实现CPU中断唤醒技术与CPU开关核唤醒技术在底层设置统一的CPU功耗管理方法。
本发明的第二目的是提供一种实现上述CPU功耗管理方法的计算机装置。
本发明的第三目的是提供一种实现上述CPU功耗管理方法的计算机可读存储介质。
为实现本发明的第一目的,本发明提供的CPU功耗管理方法包括设置CPU核在开关核唤醒模式下的多个工作状态:工作状态包括上电状态、预掉电状态、核掉电状态以及集群掉电状态;在开关核唤醒模式下:目标CPU核接收到用户态应用程序发送的关闭指令后,目标CPU核设置预掉电标记,并进入预掉电状态,并在关闭本地中断唤醒源后,目标CPU核进入核掉电状态;在目标CPU核所在的CPU核集群中,所有CPU核均进入核掉电状态后,该集群的所有CPU核均进入集群掉电状态;在目标CPU核所在的CPU核集群任一CPU核接收到用户态应用程序发送的开核指令时,该集群的所有CPU核均从集群掉电状态退出至核掉电状态;如所接收到用户态应用程序发送的开核指令针对于目标CPU核,或者出现新发生的针对于目标CPU核的开核指令,目标CPU核从核掉电状态退出至上电状态。
由上述方案可见,CPU开关核唤醒模式下,CPU的多个工作状态与CPU中断唤醒模式下的多个工作状态相同,因此可以通过控制CPU在多个状态之间的转换实现CPU开关核唤醒模式来实现CPU中断唤醒模式与CPU开关核唤醒模式的底层统一,从而降低电子设备的低功耗解决方案的实现成本,并且可以提升电子设备的运行速度。
并且,在CPU开关核唤醒模式下,CPU核是根据用户态应用程序发送的开核指令、关核指令来切换工作状态的,从而与传统的CPU开关核唤醒技术兼容。
一个优选的方案是,目标CPU核关闭本地中断唤醒源后前,进行上下文保护操作。
由此可见,通过对上下文进行保护操作,可以确保CPU核关闭前能够保护工作现场,以便于CPU上电后能够恢复到之前的现场。
进一步的方案是,如开核指令不针对于目标CPU核,且未出现新发生的针对于目标CPU核的开核指令,目标CPU核保持在核掉电状态。
可见,如果开核指令并不是这对于目标CPU核,则目标CPU核保持在核掉电状态以避免目标CPU核上电,以确保CPU核能够在低功耗的模式下运行。
更进一步的方案是,CPU核在开关核唤醒模式下的多个工作状态与CPU核在中断唤醒模式下的多个工作状态相同。
一个优选的方案是,在中断唤醒模式下:目标CPU核处于空闲状态的时间超过预设阈值时,设置预掉电标记,并进入预掉电状态,目标CPU核进入核掉电状态;在目标CPU核所在的CPU核集群中,所有CPU核均进入核掉电状态后,该集群的所有CPU核均进入集群掉电状态;在目标CPU核所在的CPU核集群任一CPU核接收到中断请求时,该集群的所有CPU核均从集群掉电状态退出至核掉电状态;如中断请求指令针对于目标CPU核,或者出现新发生的针对于目标CPU核的中断请求指令,目标CPU核从核掉电状态退出至上电状态。
更进一步的方案是,在开关核唤醒模式下,如目标CPU核处于集群掉电状态,在接收到中断请求指令时,保持在集群掉电状态。
可见,开关核唤醒模式下中断请求指令并不会唤醒CPU核,与传统的开关核唤醒模式的工作要求一致,以确保用户态应用程序正确的控制CPU在开关核唤醒模式下的工作。
更进一步的方案是,同一CPU核集群中的每一个CPU核均设置有独立的一级缓存器。进一步的,同一CPU核集群中的多个CPU核使用同一个的二级缓存器。
为实现上述的第二目的,本发明提供的计算机装置包括处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述CPU功耗管理方法的各个步骤。
为实现上述的第三目的,本发明提供计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述CPU功耗管理方法的各个步骤。
附图说明
图1是应用本发明CPU功耗管理方法实施例的多个CPU的拓扑图。
图2是本发明CPU功耗管理方法实施例的CPU核的状态转换图。
图3是本发明CPU功耗管理方法实施例中在开机或者唤醒状态时多个CPU核的状态转换图。
图4是本发明CPU功耗管理方法实施例中在关机或者休眠状态时多个CPU核的状态转换图。
图5是本发明CPU功耗管理方法实施例中对CPU工作模式选择的示意框图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
本发明的CPU功耗管理方法应用在电子设备上,例如应用在行车记录仪、机顶盒等电子设备上,以对CPU的功耗进行管理,并且降低CPU低功耗方案的实现成本。优选的,电子设备设置有处理器以及存储器,存储器上存储有计算机程序,处理器通过执行该计算机程序实现CPU功耗管理方法。
CPU功耗管理方法实施例:
本实施例应用在电子设备上,电子设备的CPU具有多个CPU核,如图1所示,电子设备设置有的CPU是双核双集群的SMP CPU。CPU拓扑结构如图1所示。CPU内部包含两个独立的CPU核集群11、12,每个CPU核集群包含两个CPU核,例如CPU核集群11包括CPU核0和CPU核1,CPU核集群12包括CPU核2和CPU核3。并且,每个CPU核均设置有独立的一级缓存器,即L1cache,同一个CPU核集群的多个CPU核共用一个二级缓存器,即L2 cache。例如,CPU核集群11的CPU核0和CPU核1共享二级缓存器15,CPU核集群12的CPU核2和CPU核3共享二级缓存器16。并且,每一个CPU核均可以单独控制电源开关,即每一个CPU核的电源可以单独开启或者关闭,当同一个CPU核集群的多个CPU核均掉电时,该CPU核集群也关闭电源。
电子设备通过两种模式实现对CPU的功耗管理,一种模式是CPU中断唤醒模式,另一种模式是CPU开关核唤醒模式,本实施例中,将两种模式下CPU核的工作状态进行统一,即不管CPU核是以哪一种模式进行管理,都是相同的工作状态进行切换。
下面结合图2介绍本实施例中每一个CPU核的工作状态转换流程。每一个CPU核均具有四种状态,分别是上电(Power on)状态C0、预掉电(Wait for idle)状态C0’、核掉电(Local core power down)状态C1以及集群掉电(Cluster Power down)状态C2。
下面以CPU核0为例进行说明。在初始状态下,CPU核0和CPU核1均处于上电状态C0,当CPU核0满足特定的条件,例如CPU核0处于空闲状态的时间超过预设阈值,或者操作系统向该CPU核0发送关闭的指令时,CPU核0将执行P0过程,从上电状态C0进入预掉电状态C0’。此时,CPU核0设置预掉电标记,即设置idle状态标记,同时执行预掉电指令。然后,CPU核0执行上下文保护操作,如果是在开关核唤醒模式下,还需要关闭本地中断唤醒源,并触发进入核掉电状态C1,从预掉电状态C0’进入核掉电状态C1的过程为P1过程。进入核掉电状态C1后,CPU核0的电源关闭,从而减少CPU核0的功耗。
如果此时CPU核1也进入核掉电状态C1,则CPU核0将执行P3过程,从核掉电状态C1进入集群掉电状态C2。当CPU核集群11的两个CPU核均掉电后,CPU核集群11也将关闭电源。
当CPU核集群11掉电以后,如果该CPU核集群11满足预设的条件,例如CPU核集群11的任意一个CPU核接收到中断请求指令,或者接收到用户态应用程序发送的开核指令,则CPU核集群11的所有CPU核均从集群掉电状态C2退出至核掉电状态C1状态,即执行过程P3。
如果CPU核集群11所接收到的中断请求指令是针对CPU核0,或者接收到新的针对于CPU核0的中断请求指令,又或者CPU核集群11所接收到开核指令是针对CPU核0,或者接收到新的针对于CPU核0的开核指令,则CPU核0从核掉电状态C1退出至上电状态C0。
CPU核的多个工作状态以及转换过程如表1所示。
表1 CPU核的多个工作状态以及转换过程
针对CPU中断唤醒模式,CPU核的工作状态转换过程如下。以CPU核0为例,参见图2,当CPU核0处于上电状态C0时,如果CPU核0处于空闲状态的时间超过预设阈值,例如低于预先设置的阈值,CPU核0将执行P0过程,从上电状态C0进入预掉电状态C0’。此时,CPU核0设置预掉电标记,同时执行预掉电指令。并且,CPU核0执行上下文保护操作,并触发进入核掉电状态C1。
如果此时CPU核1也进入核掉电状态C1,则CPU核0从核掉电状态C1进入集群掉电状态C2。并且,当CPU核集群11的两个CPU核均掉电后,CPU核集群11也将关闭电源。
当CPU核集群11掉电以后,如果CPU核集群11的任意一个CPU核接收到中断请求指令,则CPU核集群11的所有CPU核均从集群掉电状态C2退出至核掉电状态C1状态。
如果CPU核集群11所接收到的中断请求指令是针对CPU核0,或者接收到新的针对于CPU核0的中断请求指令,则CPU核0从核掉电状态C1退出至上电状态C0。
在CPU中断唤醒模式下,CPU核0并没有接收到用户态应用程序发送的关闭指令或者开核指令,CPU核0进入预掉电状态的条件是CPU核0处于空闲状态的时间超过预设阈值,可以认为CPU核0在某一个时间段内“无事可做”,因此可以将CPU核0的电源关闭以节省电子设备的功耗。一旦CPU核0接收到中断请求指令后,CPU核0将马上进入上电状态,因此,CPU核0从核掉电状态退出至上电状态的条件是接收到针对于CPU核0的中断请求指令。在CPU中断唤醒模式下,用户态应用程序始终认为CPU核0处于运行状态,因此,对于用户态应用程序而言,是不会感知CPU核进入或者退出CPU中断唤醒模式。
针对CPU开关核唤醒模式,CPU核的工作状态转换过程如下。以CPU核0为例,参见图2,当CPU核0处于上电状态C0时,如果用户需要关闭部分CPU核,可以关闭一部分CPU核以减少功耗,则用户态应用程序向操作系统发送关闭CPU核的指令,操作系统发起关闭CPU核的操作,例如向CPU核0发送关闭指令。当CPU核0接收到关闭指令后,从上电状态C0进入预掉电状态C0’。此时,CPU核0设置预掉电标记,同时执行预掉电指令。并且,CPU核0执行上下文保护操作,同时关闭本地中断唤醒源,并触发进入核掉电状态C1。需要说明的是,一旦CPU核0进入核掉电状态C1,即使接收到针对于CPU核0的中断请求指令,CPU核0也不会退出掉电状态,还是保持在掉电状态。
在CPU核0进入核掉电状态C1后,如果此时CPU核1也进入核掉电状态C1,则CPU核0从核掉电状态C1进入集群掉电状态C2。并且,当CPU核集群11的两个CPU核均掉电后,CPU核集群11也将关闭电源。
当CPU核集群11掉电以后,如果CPU核集群11的任意一个CPU核接收到开核指令,则CPU核集群11的所有CPU核均从集群掉电状态C2退出至核掉电状态C1状态。并且,如果该开核指令是针对CPU核0,或者接收到新的针对于CPU核0的开核指令,则CPU核0从核掉电状态C1退出至上电状态C0。
可见,在CPU开关核唤醒模式下,CPU核0进入预掉电状态C0’的条件是接收到用户态应用程序发送的关闭指令,而CPU核0从掉电状态退出至上电状态的条件是接收到用户态应用程序发送的开核指令。因此,CPU核0是根据用户态应用程序发送的指令掉电或者上电,对于用户态应用程序而言,是可以感知CPU核的上电与掉电的。
下面结合图3介绍多个CPU核在开机或者唤醒时的状态转换过程。在初始状态下,CPU核0处于上电状态C0,其他的三个CPU核均处于掉电状态,由于CPU核0处于上电状态C0,因此CPU核1处于核掉电状态C1,而CPU核2、CPU核3处于集群掉电状态C2。当操作系统判断当前运算能力不足时,需要CPU核1开核,则CPU核1从核掉电状态C1退出至上电状态C0,此时,CPU核2、CPU核3仍处于集群掉电状态C2。
当用户态应用程序向CPU核2发送开核指令后,CPU核2、CPU核3均退出至核掉电状态C1,CPU核2确认当前的开核指令针对于CPU核2,则退出至上电状态C0,但CPU核3仍保持核掉电状态C1,直到CPU核3也接收到针对于CPU核3的开核指令后,CPU核3将退出至上电状态C0。
下面结合图4介绍多个CPU核在关机或者休眠时的状态转换过程。在初始状态下,四个CPU核均处于上电状态C0。当用户态应用程序发出了关闭CPU核3的指令,操作状态执行关闭CPU核3的动作,则CPU核3从上电状态C0进入预掉电状态C0’,并且进行上下文保护等操作,进入核掉电状态C1。此时,CPU核2仍处于上电状态C0。
如果用户态应用程序发出了关闭CPU核2的指令,操作状态执行关闭CPU核2的动作,则CPU核2也从上电状态C0进入预掉电状态C0’,并且进行上下文保护等操作,进入核掉电状态C1。此时,由于CPU核3已经处于核掉电状态C1,因此,CPU核2、CPU核3将进入集群掉电状态C2。
如果用户态应用程序发出了关闭CPU核1的指令,操作状态执行关闭CPU核1的动作,则CPU核1从上电状态C0进入预掉电状态C0’,并且进行上下文保护等操作,进入核掉电状态C1。此时,CPU核0仍处于上电状态C0。如果用户态应用程序发出了关闭CPU核0的指令,操作状态执行关闭CPU核0的动作,CPU核0也从上电状态C0进入预掉电状态C0’,并且进行上下文保护等操作,进入核掉电状态C1。此时,由于CPU核1已经处于核掉电状态C1,因此,CPU核0、CPU核1将进入集群掉电状态C2。至此,四个CPU核全部进入集群掉电状态,两个CPU核集群均关闭电源。
因此,CPU可以运行在CPU中断唤醒模式或者CPU开关核唤醒模式下,参见图5,CPU电源管理逻辑类似于通过一个选择开关30选择CPU运行的模式,即选择CPU运行在CPU中断唤醒模式或者CPU开关核唤醒模式,并根据相应的模式对CPU核集群11、12的多个CPU核的工作模式进行控制。
可见,本实施例将CPU中断唤醒模式以及CPU开关核唤醒模式下CPU的工作状态进行统一,即CPU中断唤醒模式下的多种工作状态也适用于CPU开关核唤醒模式下的工作状态,这样,电子设备只需要设置各个CPU的一种状态机,并且针对两种不同的模式,将各种工作状态的进入条件、退出条件进行统一设置,从而使得CPU中断唤醒模式以及CPU开关核唤醒模式相互兼容,使得电子设备能够低成本的实现两种低功耗模式,并且能够提升电子设备的响应速度,且兼容性好。
计算机装置实施例:
本实施例的计算机装置可以是行车记录仪或者机顶盒等电子设备,该计算机装置包括有处理器、存储器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述CPU功耗管理方法的各个步骤。
例如,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明的各个模块。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
本发明所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
计算机可读存储介质:
上述计算机装置所存储的计算机程序如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述CPU功耗管理方法的各个步骤。
其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
最后需要强调的是,本发明不限于上述实施方式,例如每一个CPU核集群设置的CPU核数量的变化,或者每一个CPU核设置的缓存器数量的变化等,这些改变也应该包括在本发明权利要求的保护范围内。
Claims (10)
1.CPU功耗管理方法,其特征在于,包括:
设置CPU核在开关核唤醒模式下的多个工作状态:所述工作状态包括上电状态、预掉电状态、核掉电状态以及集群掉电状态;
在所述开关核唤醒模式下:目标CPU核接收到用户态应用程序发送的关闭指令后,所述目标CPU核设置预掉电标记,并进入预掉电状态,并在关闭本地中断唤醒源后,所述目标CPU核进入核掉电状态;
在所述目标CPU核所在的CPU核集群中,所有CPU核均进入核掉电状态后,该集群的所有CPU核均进入集群掉电状态;
在目标CPU核所在的CPU核集群任一CPU核接收到用户态应用程序发送的开核指令时,该集群的所有CPU核均从所述集群掉电状态退出至所述核掉电状态;
如所述开核指令针对于目标CPU核,或者出现新发生的针对于所述目标CPU核的开核指令,所述目标CPU核从所述核掉电状态退出至所述上电状态。
2.根据权利要求1所述的CPU功耗管理方法,其特征在于:
所述目标CPU核关闭本地中断唤醒源后前,进行上下文保护操作。
3.根据权利要求1所述的CPU功耗管理方法,其特征在于:
如所述开核指令不针对于目标CPU核,且未出现新发生的针对于所述目标CPU核的开核指令,所述目标CPU核保持在所述核掉电状态。
4.根据权利要求1所述的CPU功耗管理方法,其特征在于:
所述CPU核在开关核唤醒模式下的多个工作状态与所述CPU核在中断唤醒模式下的多个工作状态相同。
5.根据权利要求4所述的CPU功耗管理方法,其特征在于:
在所述中断唤醒模式下:所述目标CPU核的处于空闲状态的时间超过预设阈值时,设置预掉电标记,并进入所述预掉电状态,所述目标CPU核进入所述核掉电状态;
在所述目标CPU核所在的CPU核集群中,所有CPU核均进入核掉电状态后,该集群的所有CPU核均进入所述集群掉电状态;
在目标CPU核所在的CPU核集群任一CPU核接收到中断请求时,该集群的所有CPU核均从所述集群掉电状态退出至所述核掉电状态;
如所述中断请求指令针对于目标CPU核,或者出现新发生的针对于所述目标CPU核的中断请求指令,所述目标CPU核从所述核掉电状态退出至所述上电状态。
6.根据权利要求1至5任一项所述的CPU功耗管理方法,其特征在于:
在所述开关核唤醒模式下,如所述目标CPU核处于集群掉电状态,在接收到中断请求指令时,保持在所述集群掉电状态。
7.根据权利要求1至5任一项所述的CPU功耗管理方法,其特征在于:
同一CPU核集群中的每一个CPU核均设置有独立的一级缓存器。
8.根据权利要求7所述的CPU功耗管理方法,其特征在于:
同一CPU核集群中的多个CPU核使用同一个的二级缓存器。
9.计算机装置,其特征在于,包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任意一项所述CPU功耗管理方法的各个步骤。
10.计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至8中任意一项所述CPU功耗管理方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111308013.1A CN114020139B (zh) | 2021-11-05 | 2021-11-05 | Cpu功耗管理方法、计算机装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111308013.1A CN114020139B (zh) | 2021-11-05 | 2021-11-05 | Cpu功耗管理方法、计算机装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114020139A true CN114020139A (zh) | 2022-02-08 |
CN114020139B CN114020139B (zh) | 2024-08-06 |
Family
ID=80061805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111308013.1A Active CN114020139B (zh) | 2021-11-05 | 2021-11-05 | Cpu功耗管理方法、计算机装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020139B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5652890A (en) * | 1991-05-17 | 1997-07-29 | Vantus Technologies, Inc. | Interrupt for a protected mode microprocessor which facilitates transparent entry to and exit from suspend mode |
CN1208479A (zh) * | 1995-12-15 | 1999-02-17 | 联合工艺汽车公司 | 用于减少微控制器电流消耗的系统和方法 |
US20040215987A1 (en) * | 2003-04-25 | 2004-10-28 | Keith Farkas | Dynamically selecting processor cores for overall power efficiency |
US20100325457A1 (en) * | 2009-06-22 | 2010-12-23 | Manish Lachwani | Quiescent State Retention Mode for Processor |
US20140068289A1 (en) * | 2012-08-28 | 2014-03-06 | Noah B. Beck | Mechanism for reducing interrupt latency and power consumption using heterogeneous cores |
CN104484029A (zh) * | 2014-12-17 | 2015-04-01 | 英华达(南京)科技有限公司 | 电子装置及其省电管理方法 |
US9229518B1 (en) * | 2009-11-03 | 2016-01-05 | Marvell International Ltd. | Wake-on-frame for frame processing devices |
CN105637483A (zh) * | 2014-09-22 | 2016-06-01 | 华为技术有限公司 | 线程迁移方法、装置和系统 |
US20160314024A1 (en) * | 2015-04-24 | 2016-10-27 | Mediatek Inc. | Clearance mode in a multicore processor system |
US20170364137A1 (en) * | 2016-06-21 | 2017-12-21 | Alexander Gendler | Processor Having Concurrent Core And Fabric Exit From A Low Power State |
CN110568921A (zh) * | 2019-09-09 | 2019-12-13 | 大唐半导体科技有限公司 | 一种降低芯片功耗的方法 |
CN111142653A (zh) * | 2019-12-26 | 2020-05-12 | 江苏芯盛智能科技有限公司 | 一种PCIe设备低功耗控制方法、装置及电子设备 |
CN111240459A (zh) * | 2020-01-08 | 2020-06-05 | 珠海全志科技股份有限公司 | 片上系统功耗管理方法、计算机装置及计算机可读存储介质 |
CN111475213A (zh) * | 2020-04-03 | 2020-07-31 | 深圳忆联信息系统有限公司 | 多核结构固态硬盘的功耗降低方法、装置和计算机设备 |
CN112083791A (zh) * | 2020-09-15 | 2020-12-15 | 南方电网数字电网研究院有限公司 | 芯片功耗优化方法、装置、计算机设备和存储介质 |
KR102256136B1 (ko) * | 2021-04-14 | 2021-05-26 | 주식회사 티원엘에스 | 오프셋모드를 활용하여 코어전원을 제어하는 에너지 절감형 컴퓨터 시스템 및 그 제어 방법 |
CN113094104A (zh) * | 2020-01-09 | 2021-07-09 | 北京君正集成电路股份有限公司 | 一种唤醒低功耗电路的检测电路的设计方法 |
CN113094105A (zh) * | 2020-01-09 | 2021-07-09 | 北京君正集成电路股份有限公司 | 一种保证usb设备的低功耗状态且被唤醒的方法 |
-
2021
- 2021-11-05 CN CN202111308013.1A patent/CN114020139B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5652890A (en) * | 1991-05-17 | 1997-07-29 | Vantus Technologies, Inc. | Interrupt for a protected mode microprocessor which facilitates transparent entry to and exit from suspend mode |
CN1208479A (zh) * | 1995-12-15 | 1999-02-17 | 联合工艺汽车公司 | 用于减少微控制器电流消耗的系统和方法 |
US20040215987A1 (en) * | 2003-04-25 | 2004-10-28 | Keith Farkas | Dynamically selecting processor cores for overall power efficiency |
US20100325457A1 (en) * | 2009-06-22 | 2010-12-23 | Manish Lachwani | Quiescent State Retention Mode for Processor |
US9229518B1 (en) * | 2009-11-03 | 2016-01-05 | Marvell International Ltd. | Wake-on-frame for frame processing devices |
US20140068289A1 (en) * | 2012-08-28 | 2014-03-06 | Noah B. Beck | Mechanism for reducing interrupt latency and power consumption using heterogeneous cores |
CN105637483A (zh) * | 2014-09-22 | 2016-06-01 | 华为技术有限公司 | 线程迁移方法、装置和系统 |
CN104484029A (zh) * | 2014-12-17 | 2015-04-01 | 英华达(南京)科技有限公司 | 电子装置及其省电管理方法 |
US20160314024A1 (en) * | 2015-04-24 | 2016-10-27 | Mediatek Inc. | Clearance mode in a multicore processor system |
US20170364137A1 (en) * | 2016-06-21 | 2017-12-21 | Alexander Gendler | Processor Having Concurrent Core And Fabric Exit From A Low Power State |
CN110568921A (zh) * | 2019-09-09 | 2019-12-13 | 大唐半导体科技有限公司 | 一种降低芯片功耗的方法 |
CN111142653A (zh) * | 2019-12-26 | 2020-05-12 | 江苏芯盛智能科技有限公司 | 一种PCIe设备低功耗控制方法、装置及电子设备 |
CN111240459A (zh) * | 2020-01-08 | 2020-06-05 | 珠海全志科技股份有限公司 | 片上系统功耗管理方法、计算机装置及计算机可读存储介质 |
CN113094104A (zh) * | 2020-01-09 | 2021-07-09 | 北京君正集成电路股份有限公司 | 一种唤醒低功耗电路的检测电路的设计方法 |
CN113094105A (zh) * | 2020-01-09 | 2021-07-09 | 北京君正集成电路股份有限公司 | 一种保证usb设备的低功耗状态且被唤醒的方法 |
CN111475213A (zh) * | 2020-04-03 | 2020-07-31 | 深圳忆联信息系统有限公司 | 多核结构固态硬盘的功耗降低方法、装置和计算机设备 |
CN112083791A (zh) * | 2020-09-15 | 2020-12-15 | 南方电网数字电网研究院有限公司 | 芯片功耗优化方法、装置、计算机设备和存储介质 |
KR102256136B1 (ko) * | 2021-04-14 | 2021-05-26 | 주식회사 티원엘에스 | 오프셋모드를 활용하여 코어전원을 제어하는 에너지 절감형 컴퓨터 시스템 및 그 제어 방법 |
Non-Patent Citations (2)
Title |
---|
袁迹;王建生;韩强;: "多核处理器引导方法研究", 计算机测量与控制, no. 09 * |
郝继锋;虞保忠;郭芳超;: "多核分区管理方法的设计与实现", 计算机工程与设计, no. 02 * |
Also Published As
Publication number | Publication date |
---|---|
CN114020139B (zh) | 2024-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230185355A1 (en) | Discrete power control of components within a computer system | |
US7895458B2 (en) | Power control apparatus and method thereof | |
EP1742143B1 (en) | Method and system for power consumption management, and corresponding computer program product | |
US7117377B2 (en) | Computer apparatus, power supply control method and program for reducing the standby power requirement in a computer supporting a wake-up function | |
US10620686B2 (en) | Semiconductor integrated circuit | |
US9471140B2 (en) | Valid context status retention in processor power mode management | |
US11467650B2 (en) | Selecting a low power state in an electronic device | |
JP4515093B2 (ja) | Cpuのパワーダウン方法及びそのための装置 | |
EP2188693B1 (en) | Apparatus and method for reducing power consumption in system on chip | |
US9128703B1 (en) | Processor that transitions to an idle mode when no task is scheduled to execute and further enters a quiescent doze mode or a wait mode depending on the value of a reference counter | |
US20090201082A1 (en) | Integrated circuit device having power domains and partitions based on use case power optimization | |
CN111240459B (zh) | 片上系统功耗管理方法、计算机装置及计算机可读存储介质 | |
KR100798020B1 (ko) | 데이터 처리 회로, 데이터 처리 회로를 포함하는 장치, 그리고 장치를 위한 컴퓨터 독출 가능 저장 매체 | |
US20100332870A1 (en) | Electronic device for reducing power consumption of computer motherboard and motherboard thereof | |
CN114637387B (zh) | 一种多核异构芯片的性能与功耗管理系统及方法 | |
CN102902345A (zh) | 图形子系统中用于进入和退出睡眠模式的系统和方法 | |
TWI224728B (en) | Method and related apparatus for maintaining stored data of a dynamic random access memory | |
WO2005069148A2 (en) | Memory management method and related system | |
US20160320828A1 (en) | Power supplying method, power supplying system, and electronic device | |
US10203749B2 (en) | Method and apparatus for saving power, including at least two power saving modes | |
CN104978233A (zh) | 动态使用内存的方法与装置 | |
US20070108293A1 (en) | Card device | |
CN103150288B (zh) | 一种快速开机的soc芯片及其实现方法 | |
CN114020139B (zh) | Cpu功耗管理方法、计算机装置及计算机可读存储介质 | |
CN111459562A (zh) | 基于risc-v架构切换休眠模式的改进系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |