CN112114651A - 处理器簇的节电方法及装置、芯片、设备、存储介质 - Google Patents
处理器簇的节电方法及装置、芯片、设备、存储介质 Download PDFInfo
- Publication number
- CN112114651A CN112114651A CN202011019751.XA CN202011019751A CN112114651A CN 112114651 A CN112114651 A CN 112114651A CN 202011019751 A CN202011019751 A CN 202011019751A CN 112114651 A CN112114651 A CN 112114651A
- Authority
- CN
- China
- Prior art keywords
- processor
- processor core
- cluster
- enter
- core
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000007958 sleep Effects 0.000 claims abstract description 89
- 230000002093 peripheral effect Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 4
- 230000002035 prolonged effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 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/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请实施例公开了处理器簇的节电方法及装置、芯片、设备、存储介质,其中,所述处理器簇包括至少两个处理器核,所述方法包括:在所述处理器簇中的任一所述处理器核完成被分配的每一非空闲任务时,所述任一处理器核进入空闲状态;所述任一处理器核确定是否是所述处理器簇中最后一个进入所述空闲状态的处理器核;如果所述任一处理器核不是所述处理器簇中最后一个进入所述空闲状态的处理器核,所述任一处理器核进入睡眠状态。
Description
技术领域
本申请实施例涉及电子技术,涉及但不限于处理器簇的节电方法及装置、芯片、设备、存储介质。
背景技术
目前,在电子技术领域,从早期的单核处理器,到多核处理器,再到簇结构,其目的就是为了在有限的主频下,提高系统的处理能力。簇结构的引入也同时为多任务并行提供了实现的基础。簇结构是一个更完善的方法,其将若干个处理器核(core)组成一个组,称为簇。通常,在一个片内,可以设置若干个这样的簇。由于每个簇含有多个处理器核,所以它的处理能力更强大。
在手机、Ipad、MP3播放器、电话手表等这些对功耗要求比较严格的便携式电子产品中,其芯片方案多采用处理器簇(Core Cluster),因此,如何节约处理器簇的耗电量,在这些对低功耗要求较高的电子产品中显得尤为重要。
发明内容
有鉴于此,本申请实施例提供的处理器簇的节电方法及装置、芯片、设备、存储介质,能够节约处理器簇的功耗。本申请实施例提供的处理器簇的节电方法及装置、芯片、设备、存储介质是这样实现的:
本申请实施例提供的处理器簇的节电方法,所述处理器簇包括至少两个处理器核,所述方法包括:在所述处理器簇中的任一所述处理器核完成被分配的每一非空闲任务时,所述任一处理器核进入空闲状态;所述任一处理器核确定是否是所述处理器簇中最后一个进入所述空闲状态的处理器核;如果所述任一处理器核不是所述处理器簇中最后一个进入所述空闲状态的处理器核,所述任一处理器核进入睡眠状态。
本申请实施例提供的一种处理装置,所述处理装置为处理器簇中的任一处理装置,所述处理装置包括:确定模块,用于在完成被分配的每一非空闲任务时,进入空闲状态,确定是否是所述处理器簇中最后一个进入所述空闲状态的处理装置;控制模块,用于如果不是所述处理器簇中最后一个进入所述空闲状态的处理装置,控制所述处理装置进入睡眠状态。
本申请实施例提供的一种芯片,所述芯片包括至少两个处理器,任一所述处理器执行计算机程序时实现本申请实施例所述的方法。
本申请实施例提供的一种电子设备,包括存储器和至少两个处理器,所述存储器存储有可在处理器上运行的计算机程序,任一所述处理器执行所述程序时实现本申请实施例所述的方法。
本申请实施例提供的一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例所述的方法。
在本申请实施例中,处理器簇中的每一处理器核均具有电源管理功能,每一处理器核在完成被分配的非空闲任务之后,进入空闲状态,此时判断自己是否是最后一个进入空闲状态的处理器核;如果不是,则可以进入睡眠状态,而无需依然处于激活状态,从而能够节约不必要的功率消耗,这对于对功耗要求比较严格的低功耗电子产品来讲,具有重大的意义。尤其对于人们形影不离的手机来讲,在保证产品功能的前提下,节约功耗能够大大延长手机的续航时间,从而提升用户使用体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并于说明书一起用于说明本申请的技术方案。
图1A为本申请实施例的处理器簇的节电方法的实现流程示意图;
图1B为本申请实施例两种技术方案的效果对比示意图;
图2为本申请实施例调制解调器的结构示意图;
图3为本申请实施例的处理器簇的节电方法的另一实现流程示意图;
图4为本申请实施例处理器簇的节电方法的又一实现流程示意图;
图5为本申请实施例处理装置的结构示意图;
图6为本申请实施例电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”用以区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例提供一种处理器簇的节电方法,所述处理器簇包括至少两个处理器核,图1A为本申请实施例的处理器簇的节电方法的实现流程示意图,如图1A所示,该方法可以包括以下步骤101至步骤103:
步骤101,在所述处理器簇中的任一所述处理器核完成被分配的每一非空闲任务时,所述任一处理器核进入空闲状态,确定是否是所述处理器簇中最后一个进入所述空闲状态的处理器核;如果是,执行步骤102;否则,执行步骤103。
处理器簇中包括至少两个处理器核,例如,包括4个处理器核或者6个处理器核等。对于处理器簇中包含的处理器核的数量不做限定。每一处理器核对应一处理器。相应地,处理器簇对应的部件可以是多核处理器。也就是说,在本申请中,处理器、多核处理器对应硬件概念,处理器簇、处理器核对应软件概念。对于多核处理器的处理器数目不做限定,可以是两个或两个以上。对于这些处理器核各自对应的处理器是否是相同型号的处理器也不做限定。这些处理器可以型号相同,也可以不同。
在一些实施例中,每一处理器核在进入空闲状态之后,或者在确定即将进入睡眠状态的情况下,该处理器核向其他每一处理器核发送通知消息,通知已进入空闲状态。每一处理器核可以根据接收的通知消息的数目,来判断自己是否是处理器簇中最后一个进入空闲状态的处理器核。
在一些实施例中,处理器簇中的每一处理器核具有一个或多个非空闲任务,还具有一个空闲任务。空闲任务的优先级最低,处理器核在执行完每一非空闲任务之后,进入空闲状态,即执行空闲任务。也就是,执行所述确定是否是处理器簇中最后一个进入空闲状态的处理器核的步骤;基于此执行步骤102或者步骤103。
步骤102,所述任一处理器核进入睡眠状态,并控制所述处理器簇进入节电状态。
在一些实施例中,所述任一处理器核可以在进入睡眠状态之前,控制处理器簇进入节电状态;在一些实施例中,所述任一处理器核还可以在进入睡眠状态之后,控制处理器簇进入节电状态。在本申请实施例中,对此不做限定。
所谓节电状态,指的是处理器簇相比于之前的工作状态,功耗降低。例如,节电状态为下电状态或者睡眠状态等。在一些实施例中,作为最后一个进入空闲状态的处理器核,可以先对共享内存中的特定变量值进行备份;然后,控制共享内存下电。在一些实施例中,作为最后一个进入空闲状态的处理器核,还可以控制所述至少两个处理器核的外围设备等下电,在设定唤醒时间之后,进入睡眠状态,并通知功率管理单元(Power ManagementUnit,PMU),以使PMU停止对处理器簇供电(例如,PMU断开供电单元与处理器簇对应的部件之间的供电电路),从而使得处理器簇进入下电状态。当然,也可以不断开供电单元与处理器簇对应的部件之间的供电电路,而是停止给处理器簇对应的部件中的某些器件(例如共享内存和/或外围设备等)供电,该部件进入睡眠状态即可。
可以理解地,处理器簇中的每一处理器核均具备电源管理功能,即任一处理器核作为最后一个进入空闲状态的核,均具有控制处理器簇进入节电状态的能力。这样,就无需一个主处理器核在等待其他所有处理器核均进入睡眠状态之后来控制处理器簇进入节电状态了,从而能够节约主处理器核不必要的工作时长,进而节约处理器簇的功耗。
步骤103,所述任一处理器核进入睡眠状态。
可以理解地,处理器簇中的每一处理器核均具有电源管理功能,每一处理器核在完成被分配的非空闲任务之后,进入空闲状态,此时判断自己是否是最后一个进入空闲状态的处理器核;如果不是,则可以进入睡眠状态,而无需依然处于激活状态,从而能够节约不必要的功率消耗,这对于增强对功耗要求比较严格的低功耗电子产品的续航能力,具有重大的意义。尤其对于人们形影不离的手机来讲,在保证产品功能的前提下,功耗较低能够大大延长手机的续航时间,从而提升用户使用体验。
举例来说,假设处理器簇包括4个处理器核,即4个core。在相关技术中,只有主处理器核(即主core)具有电源管理功能,core1、core2和core3均没有该功能;这样,主core即使不是最后一个进入空闲状态的core,也必须要等到最后一个core进入睡眠状态之后,自己才能够进入睡眠。例如图1B中的时间轴1所示,主core是第一个进入空闲状态的处理器核,此时主core不能够直接进入睡眠状态,而是仍要处于激活(Active)状态,直至core1至core3均进入睡眠状态,主core才能够进入睡眠状态,控制处理器簇对应的部件下电。
而在本申请实施例中,由于每一处理器核均具有电源管理能力,这样例如图1B中的时间轴2所示,上述主core一旦进入空闲状态且不是最后一个进入空闲状态的处理器核,即可直接进入睡眠状态,而无需等待core1至core3均进入睡眠状态才进入睡眠状态,电源管理的任务可以由其他core来完成。例如,core3是最后一个进入空闲状态的,因此可以由core3完成电源管理任务,控制处理器簇对应的部件下电。
由此可见,采用本申请实施例的技术方案,主core可以节省处于激活状态的时间(如图1B所示的t1)。即相比于相关技术,主core可以提前t1时长进入睡眠状态,从而节约了主core的功耗,进而提升了所在电子设备的续航时间,这显然是有利于改善用户的使用体验的。
本申请实施例提供一种调制解调器(modem),图2为本申请实施例调制解调器的结构示意图,如图2所示,该调制解调器2包括多核处理器20、PMU 21、供电单元(PowerSupply)22、共享内存23和外围设备(peripherals)24;其中,多核处理器20包括4个处理器,即处理器201、处理器202、处理器203和处理器204;PMU 21包括与逻辑检测电路(AND)211。
需要说明的是,这里多核处理器包括4个处理器只是一种示例,不应当造成对本申请保护范围的限制。本申请实施例提供的处理器簇的节电方法,适用于具有两个或两个以上处理器核的任意处理器簇,也即多核处理器。外围设备24是多核处理器20的外围设备。例如,外围设备24为串口设备、计时器(timer)和/或接口设备(例如USB)等。
在通信终端的低功耗场景中,终端的调制解调器在非连续接收(DiscontinuousReception,DRX)的非激活状态或者飞行(Airplane)模式下需要进入睡眠状态。在一些实施例中,每个处理器可以通过执行程序指令,从而向寄存器写入睡眠比特(sleep bit),进而触发控制器置位,PMU通过一个与逻辑检测电路检测到所有处理器都进入睡眠状态之后,就控制多核处理器20下电,即断开供电单元22与多核处理器20之间的供电电路。
可以理解地,所谓通信终端的低功耗场景,是指具有电池的便携式电子产品,这些产品往往对产品的续航能力要求比较高,因此如何使得这些产品在保证功能的前提下功率消耗较低,成为待解决的重要课题。
基于此,在本申请实施例中提供一种处理器簇的节电方法,所述处理器簇包括至少两个处理器核,图3为本申请实施例的处理器簇的节电方法的另一实现流程示意图,如图3所示,该方法可以包括以下步骤301至步骤307:
步骤301,在所述处理器簇中的任一所述处理器核完成被分配的每一非空闲任务时,所述任一处理器核进入空闲状态,确定是否是所述处理器簇中最后一个进入所述空闲状态的处理器核;如果是,执行步骤302;否则,执行步骤307;
步骤302,所述任一处理器核对每一所述处理器核的共享内存中的特定变量值进行备份。
在一些实施例中,该处理器核可以在进入空闲状态之后且在进入睡眠状态之前,将共享内存中的一些特定变量值进行备份。这样,可以防止在进入睡眠状态之后因这些数据丢失而导致的相关业务中断问题,从而有效提高通信的服务质量。
步骤303,在对所述共享内存中的特定变量值进行备份之后,所述任一处理器核控制所述共享内存下电,然后进入步骤304。
无论是处理器簇中的哪一个处理器核最后进入空闲状态,均具有控制共享内存下电的能力,如此无需告知主处理器核,使它来控制共享内存下电,从而能够更快地使共享内存进入下电状态,进而节约处理器簇的功耗。
所谓共享内存,是指处理器簇中每一处理器核共同享用的缓存设备。例如,该共享内存为二级缓存(L2 Cache)。
步骤304,所述任一处理器核控制所述至少两个处理器核的外围设备下电,然后进入步骤305。
需要说明的是,外围设备可以是所述至少两个处理器核的部分或全部外围设备。也就是说,所述任一处理器核可以控制所述至少两个处理器核的部分或全部外围设备下电。例如,控制串口设备、计时器(timer)和/或接口设备(例如USB)等外围设备下电。
步骤305,所述任一处理器核设定所述处理器簇的唤醒时间。
可以理解地,通信终端并不是一直要和网络通信的,而是非连续的。网络在确定没有终端的相关业务时,会告诉终端哪段时间可以进入睡眠状态,即终端周期性地接收网络发送的消息。唤醒时间的设置,是为了终端在睡眠一段时间之后,醒来检测下网络是否呼叫自己。
需要说明的是,在本申请实施例中,对于步骤302至步骤305的执行顺序不做限定。该处理器核可以先设定处理器簇的唤醒时间,再对特定变量值进行备份然后将共享内存下电,最后将外围设备下电;当然,该处理器核还可以先将外围设备下电,再设定处理器簇的唤醒时间,最后将特定变量值进行备份后将共享内存下电等等其他执行顺序,此处不再穷举。
步骤306,所述任一处理器核在控制所述共享内存下电、控制所述外围设备下电和设定所述处理器簇的唤醒时间之后,进入睡眠状态,并通知PMU,以使PMU检测到每一所述处理器核均进入睡眠状态时,停止给所述处理器簇供电。
在一些实施例中,PMU可以断开供电单元与处理器簇对应的部件之间的供电电路,停止给处理器簇供电。
可以理解地,步骤302至步骤306为控制处理器簇进入节电状态的一种实现方式。控制处理器簇进入节电状态可以包括上述步骤302至步骤306的至少之一。例如,控制外围设备下电和/或对共享内存中的特定变量值进行备份之后控制该共享内存下电。
该处理器核可以以软件或硬件的方式通知PMU已进入睡眠状态。以软件的方式,例如该处理器核可以通过蓝牙或者其他无线通信方式,向PMU发送通知消息;以硬件的方式,例如该处理器核可以通过执行特定的程序指令向向寄存器写入睡眠比特(sleep bit),从而在寄存器存储了每一处理器核写入的睡眠比特时通知PMU每一处理器核均进入睡眠状态。在一些实施例中,在寄存器中存储了每一处理器核写入的睡眠比特时能够触发控制器置位,PMU通过一个与逻辑检测电路检测到所有处理器核都进入睡眠状态之后,停止给处理器簇供电,例如断开供电单元与处理器簇对应的部件之间的供电电路。
步骤307,所述任一处理器核进入睡眠状态,并通知PMU进入睡眠状态,以使所述PMU在检测到每一所述处理器核均进入睡眠状态时,停止给所述处理器簇供电,以使处理器簇进入节电状态。
需要说明的是,该处理器核可以在进入睡眠状态之前或者之后通知PMU进入睡眠状态。可以理解地,通知PMU的目的是为了便于PMU及时获知处理器簇中的每一处理器核是否均进入睡眠状态,以便快速断开供电单元与处理器簇对应的部件之间的供电电路,从而节约功耗。
在一些实施例中,处理器核可以向寄存器写入睡眠比特;其中,所述寄存器用于在存储有每一所述处理器核写入的睡眠比特时,通知所述PMU每一所述处理器核均进入睡眠状态。在硬件实现时,当寄存器中存储了每一处理器核写入的睡眠比特时,控制器就会置位,从而在所述PMU通过与逻辑检测电路检测到所述控制器置位时,确定每一所述处理器核均进入睡眠状态。如此,实现通知PMU进入睡眠状态。
可以理解地,在本申请实施例中,通过硬件方式通知PMU处理器核进入睡眠状态,这样可以实现快速通知,使得PMU更加及时断开供电电路,从而节约功耗。
在实际应用中,调制解调器系统的软件使用一个操作系统(Operating System,OS)对处理器簇中的每一处理器核统一调度,由操作系统分配任务(task)到不同的处理器核上。软件功耗管理方案在系统中确定一个处理器核作为主处理器核,在主处理器核上创建一个空闲任务(idle task)。该主处理器核在其他的处理器核都进入空闲状态后,进入睡眠状态。也就是说,主处理器核无论在何时进入空闲状态的,都需要最后一个进入睡眠状态,在进入空闲状态之后且在进入睡眠状态之前,如果其他所有处理器核都进入睡眠状态,则负责管理整个处理器簇的下电过程,包括控制二级缓存(L2 Cache)和外围设备的下电,以及系统变量备份等;其中二级缓存即为处理器簇中所有处理器核的共享内存。
发明人在研究上述流程的过程中发现:主处理器核作为最后一个处理器核睡眠,要一直处于激活(Active)状态,直到等到其他所有的处理器核都确认回复已经睡眠后才能让自己睡眠,即使主处理器核已经没有任务,处于空闲状态也要等待其他处理器核均已睡眠才能够进入睡眠状态,这就延长了主处理器核的激活时长,从而导致造成电量的浪费。而合理的安排每个处理器核上的任务可以有效解决这样的问题。
基于此,下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
简单来讲,在本技术方案中,通过合理安排各个处理器核上的任务,能够避免主处理器核不必要的等待时间。在本申请实施例中,将处理器簇的下电过程由一个主处理器核集中管理的方案,改成分布式的下电管理,而不再区分主处理器核和其他处理器核。如图4所示,在每个处理器核(即core0至core3)上创建一个空闲任务(idle task),每个处理器核在执行完每一非空闲任务之后,进入空闲状态,在执行空闲任务时都可以决定是自己单独进入睡眠状态或者还是处理器簇对应的部件整体下电,判定是自己单独睡眠还是处理器簇对应的部件整体下电的条件是:判断自己是否是最后一个进入空闲状态的处理器核;如果是最后一个进入空闲状态的处理器核,则该处理器核备份系统需要保存的变量、关掉L2Cache和外围设备,设定处理器簇的唤醒时间,然后让自己睡眠,这时候硬件PMU单元检测到所有的处理器核都已经睡眠就让处理器簇对应的部件整体下电;如果自己不是最后一个进入空闲状态的处理器核,则只让自己进入睡眠状态,控制处理器簇对应的部件整体下电的工作交给其他还没有睡眠的处理器核来执行。
从图4所示的流程可以看出,对于多核处理器的软件电源管理改进为分布式管理,把由主处理器核集中管理处理器簇对应的部件下电过程改为每个处理器核都可按需处理,这样每个处理器核没有激活的任务就可以进入睡眠状态,这样就不存在一个处理器核处于不必要的等待状态,可以更有效的节约电量。
在本申请实施例中,能够使多核系统在睡眠时让处理器簇更快的进入睡眠状态,避免不必要的等待时间。通过改变操作系统的任务分配,把电源管理功能分布到每一个处理器核上,从而降低系统待机功耗,节约电量。
通过对软件电源管理方案的改进,由集中式管理改为分布式管理,从而更好的适应多核系统的电源控制,降低系统待机功耗。
基于前述的实施例,本申请实施例提供一种处理装置,该处理装置包括所包括的各模块、以及各模块所包括的各单元;在实施的过程中,处理装置可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或图形处理器(GPU)等。
图5为本申请实施例处理装置的结构示意图,如图5所示,该处理装置50为处理器簇中的任一处理装置,所述处理装置50包括确定模块501和控制模块502,其中:
确定模块501,用于在完成被分配的每一非空闲任务时,进入空闲状态,确定是否是所述处理器簇中最后一个进入所述空闲状态的处理装置;
控制模块502,用于如果不是所述处理器簇中最后一个进入所述空闲状态的处理装置,控制处理装置50进入睡眠状态。
在一些实施例中,控制模块502,还用于如果是所述处理器簇中最后一个进入所述空闲状态的处理装置,控制所述处理装置50进入睡眠状态,并控制所述处理器簇进入节电状态。
在一些实施例中,处理装置50还包括通知模块,所述通知模块还用于如果不是所述处理器簇中最后一个进入所述空闲状态的处理装置,通知PMU进入睡眠状态,以使所述PMU在检测到每一所述处理装置均进入睡眠状态时,停止给所述处理器簇供电。
在一些实施例中,所述通知模块用于向寄存器写入睡眠比特;其中,所述寄存器用于在存储有每一所述处理装置写入的睡眠比特时,通知所述PMU每一所述处理装置均进入睡眠状态。
在一些实施例中,控制模块502,用于对每一所述处理装置的共享内存中的特定变量值进行备份;在对所述共享内存中的特定变量值进行备份之后,控制所述共享内存下电。
在一些实施例中,控制模块502,还用于控制每一所述处理装置的外围设备下电。
在一些实施例中,控制模块502,还用于设定所述处理器簇的唤醒时间;在控制所述共享内存下电、控制所述外围设备下电和/或设定所述处理器簇的唤醒时间之后,触发所述通知模块通知PMU,以使PMU检测到每一所述处理装置均进入睡眠状态时,停止给所述处理器簇供电。
以上处理装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请处理装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,上述处理装置实施例对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。
当上述实施例提供的处理器簇的节电方法中的部分或全部通过软件来实现时,本申请实施例提供一种芯片,所述芯片包括至少两个处理器,任一所述处理器执行计算机程序时实现本申请实施例所述的处理器簇的节电方法。
本申请实施例提供一种电子设备,图6为本申请实施例电子设备的结构示意图,如图6所示,电子设备60包括存储器601和至少两个处理器602,所述存储器存储有可在处理器602上运行的计算机程序,任一所述处理器执行所述程序时实现本申请实施例所述的处理器簇的节电方法。
存储器601配置为存储由处理器602可执行的指令和应用,还可以缓存待处理器602以及电子设备60中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
需要说明的是,电子设备可以是多种多样的。电子设备可以是便携式设备还可以是非便携式设备。例如,电子设备可以是智能手机、笔记本电脑、平板电脑、电子阅读器、电话手表、智能手环或MP3播放器等便携式设备。又如,电子设备还可以是计算机等非便携式设备。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的处理器簇的节电方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例提供的处理器簇的节电方法。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机等电子设备上运行时,使得电子设备执行上述方法实施例提供的处理器簇的节电方法。
这里需要指出的是:以上芯片、电子设备和存储介质等实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请芯片、电子设备和存储介质等实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其他的方式实现。以上所描述的触摸屏系统的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其他形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种处理器簇的节电方法,所述处理器簇包括至少两个处理器核,其特征在于,所述方法包括:
在所述处理器簇中的任一所述处理器核完成被分配的每一非空闲任务时,所述任一处理器核进入空闲状态;
所述任一处理器核确定是否是所述处理器簇中最后一个进入所述空闲状态的处理器核;
如果所述任一处理器核不是所述处理器簇中最后一个进入所述空闲状态的处理器核,所述任一处理器核进入睡眠状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述任一处理器核是所述处理器簇中最后一个进入所述空闲状态的处理器核,所述任一处理器核进入睡眠状态,并控制所述处理器簇进入节电状态。
3.根据权利要求1所述的方法,其特征在于,如果所述任一处理器核不是所述处理器簇中最后一个进入所述空闲状态的处理器核,所述方法还包括:
所述任一处理器核通知功率管理单元PMU所述任一处理器核进入睡眠状态,以使所述PMU在检测到每一所述处理器核均进入睡眠状态时,停止给所述处理器簇供电。
4.根据权利要求3所述的方法,其特征在于,所述任一处理器核通知PMU所述任一处理器核进入睡眠状态,包括:
所述任一处理器核向寄存器写入睡眠比特;其中,所述寄存器用于在存储有每一所述处理器核写入的睡眠比特时,通知所述PMU每一所述处理器核均进入睡眠状态。
5.根据权利要求2所述的方法,其特征在于,所述任一处理器核控制所述处理器簇进入节电状态,包括:
所述任一处理器核控制所述至少两个处理器核的外围设备下电;
和/或,所述任一处理器核对每一所述处理器核的共享内存中的特定变量值进行备份;在对所述共享内存中的特定变量值进行备份之后,所述任一处理器核控制所述共享内存下电。
6.根据权利要求5所述的方法,其特征在于,所述任一处理器核控制所述处理器簇进入节电状态,还包括:
所述任一处理器核设定所述处理器簇的唤醒时间;
所述任一处理器核在控制所述共享内存下电、控制所述至少两个处理器核的外围设备下电和/或设定所述处理器簇的唤醒时间之后,通知PMU,以使PMU检测到每一所述处理器核均进入睡眠状态时,停止给所述处理器簇供电。
7.一种处理装置,其特征在于,所述处理装置为处理器簇中的任一处理装置,所述处理装置,包括:
确定模块,用于在完成被分配的每一非空闲任务时,进入空闲状态,确定是否是所述处理器簇中最后一个进入所述空闲状态的处理装置;
控制模块,用于如果不是所述处理器簇中最后一个进入所述空闲状态的处理装置,控制所述处理装置进入睡眠状态。
8.根据权利要求7所述的处理装置,其特征在于,所述控制模块,还用于如果是所述处理器簇中最后一个进入所述空闲状态的处理装置,控制所述处理装置进入睡眠状态,并控制所述处理器簇进入节电状态。
9.一种芯片,其特征在于,所述芯片包括至少两个处理器,任一所述处理器执行计算机程序时实现如权利要求1至6任一项所述的方法。
10.一种电子设备,包括存储器和至少两个处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,任一所述处理器执行所述程序时实现如权利要求1至6任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011019751.XA CN112114651B (zh) | 2020-09-24 | 2020-09-24 | 处理器簇的节电方法及装置、芯片、设备、存储介质 |
PCT/CN2021/109332 WO2022062646A1 (zh) | 2020-09-24 | 2021-07-29 | 处理器簇的节电方法及装置、芯片、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011019751.XA CN112114651B (zh) | 2020-09-24 | 2020-09-24 | 处理器簇的节电方法及装置、芯片、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112114651A true CN112114651A (zh) | 2020-12-22 |
CN112114651B CN112114651B (zh) | 2022-08-16 |
Family
ID=73800632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011019751.XA Active CN112114651B (zh) | 2020-09-24 | 2020-09-24 | 处理器簇的节电方法及装置、芯片、设备、存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112114651B (zh) |
WO (1) | WO2022062646A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022062646A1 (zh) * | 2020-09-24 | 2022-03-31 | 哲库科技(北京)有限公司 | 处理器簇的节电方法及装置、芯片、设备、存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193826A (zh) * | 2011-05-24 | 2011-09-21 | 哈尔滨工程大学 | 一种异构多核处理器高效任务调度方法 |
US20140181554A1 (en) * | 2012-12-21 | 2014-06-26 | Advanced Micro Devices, Inc. | Power control for multi-core data processor |
US20150355705A1 (en) * | 2014-06-06 | 2015-12-10 | Eliezer Weissmann | Forcing A Processor Into A Low Power State |
CN105608049A (zh) * | 2015-12-23 | 2016-05-25 | 魅族科技(中国)有限公司 | 智能终端的cpu控制方法及控制装置 |
US20160378660A1 (en) * | 2015-06-26 | 2016-12-29 | Intel Corporation | Flushing and restoring core memory content to external memory |
CN106681472A (zh) * | 2016-10-20 | 2017-05-17 | 南方电网科学研究院有限责任公司 | 异构多核处理器功耗控制装置及其功耗控制方法 |
CN110989820A (zh) * | 2019-11-29 | 2020-04-10 | 上海庆科信息技术有限公司 | 处理器功耗的控制方法、装置、处理器及电子装置 |
CN111077976A (zh) * | 2018-10-18 | 2020-04-28 | 珠海全志科技股份有限公司 | 多核心处理器的空闲状态低功耗模式实现方法和处理器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539797B (zh) * | 2008-03-18 | 2014-03-05 | 联芯科技有限公司 | 一种动态时钟与电源的控制方法、系统及装置 |
US8205196B2 (en) * | 2008-04-08 | 2012-06-19 | Broadcom Corporation | Systems and methods for using operating system (OS) virtualisation for minimizing power consumption in mobile phones |
CN112114651B (zh) * | 2020-09-24 | 2022-08-16 | 哲库科技(北京)有限公司 | 处理器簇的节电方法及装置、芯片、设备、存储介质 |
-
2020
- 2020-09-24 CN CN202011019751.XA patent/CN112114651B/zh active Active
-
2021
- 2021-07-29 WO PCT/CN2021/109332 patent/WO2022062646A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193826A (zh) * | 2011-05-24 | 2011-09-21 | 哈尔滨工程大学 | 一种异构多核处理器高效任务调度方法 |
US20140181554A1 (en) * | 2012-12-21 | 2014-06-26 | Advanced Micro Devices, Inc. | Power control for multi-core data processor |
US20150355705A1 (en) * | 2014-06-06 | 2015-12-10 | Eliezer Weissmann | Forcing A Processor Into A Low Power State |
US20160378660A1 (en) * | 2015-06-26 | 2016-12-29 | Intel Corporation | Flushing and restoring core memory content to external memory |
CN105608049A (zh) * | 2015-12-23 | 2016-05-25 | 魅族科技(中国)有限公司 | 智能终端的cpu控制方法及控制装置 |
CN106681472A (zh) * | 2016-10-20 | 2017-05-17 | 南方电网科学研究院有限责任公司 | 异构多核处理器功耗控制装置及其功耗控制方法 |
CN111077976A (zh) * | 2018-10-18 | 2020-04-28 | 珠海全志科技股份有限公司 | 多核心处理器的空闲状态低功耗模式实现方法和处理器 |
CN110989820A (zh) * | 2019-11-29 | 2020-04-10 | 上海庆科信息技术有限公司 | 处理器功耗的控制方法、装置、处理器及电子装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022062646A1 (zh) * | 2020-09-24 | 2022-03-31 | 哲库科技(北京)有限公司 | 处理器簇的节电方法及装置、芯片、设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112114651B (zh) | 2022-08-16 |
WO2022062646A1 (zh) | 2022-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102695998B (zh) | 用于在虚拟化系统中控制中央处理单元功率的系统和方法 | |
TWI336448B (en) | Method and apparatus for providing for detecting processor state transitions | |
US8977880B2 (en) | Method for managing power supply of multi-core processor system involves powering off main and slave cores when master bus is in idle state | |
EP2656170B1 (en) | Minimizing resource latency between processor application states in a portable computing device by scheduling resource set transitions | |
JP5773288B2 (ja) | ハイスピードインターチップhsicインタフェースに基づくウェイクアップ方法、ホットスワップ方法、およびデバイス | |
EP2188693B1 (en) | Apparatus and method for reducing power consumption in system on chip | |
US20140215236A1 (en) | Power-efficient inter processor communication scheduling | |
CN109151961B (zh) | 一种移动终端的运行方法、终端及计算机可读存储介质 | |
US10564708B2 (en) | Opportunistic waking of an application processor | |
US20120331321A1 (en) | Processor Core with Higher Performance Burst Operation with Lower Power Dissipation Sustained Workload Mode | |
CN103838352A (zh) | 用于具有集成基带的计算机系统的低功率状态 | |
JP2014186478A (ja) | 電子機器 | |
US10394307B2 (en) | Information processing apparatus, information processing method, and program | |
CN112114651B (zh) | 处理器簇的节电方法及装置、芯片、设备、存储介质 | |
US11113216B2 (en) | Dispatching interrupts in a multi-processor system based on power and performance factors | |
CN102736928B (zh) | 快速唤醒计算机系统方法与计算机系统 | |
WO2012087533A1 (en) | Minimizing resource latency between processor application states in a portable computing device by using a next-active state set | |
WO2016085680A1 (en) | System and method for adaptive thread control in a portable computing device (pcd) | |
KR20140026308A (ko) | 멀티 코어 시스템의 전력 관리 장치 및 방법 | |
CN101441449A (zh) | 自动切换电源状态的方法 | |
CN108804150B (zh) | 终端待机过程处理方法及终端 | |
CN111679730B (zh) | 基于FreeRTOS的处理器状态控制方法和装置 | |
US20230114256A1 (en) | Feature modification in standby mode based on power source capacity | |
CN102118407B (zh) | 一种降低集群作业系统运行功耗的方法、节点及系统 | |
TW541453B (en) | Power saving device for computer and method thereof |
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 |