功耗调节方法、装置、存储介质、处理器及电子设备与流程

文档序号:31868904发布日期:2022-10-21 17:53阅读:43来源:国知局
功耗调节方法、装置、存储介质、处理器及电子设备与流程

1.本技术涉及电子技术领域,尤其涉及一种功耗调节方法、装置、存储介质、处理器及电子设备。


背景技术:

2.处理器是产品的运算核心和控制核心,处理器的性能直接影响到产品的性能。在处理器产品蓬勃发展的今天,处理器的性能已经成为人们衡量产品好坏的重要指标,随着人们对相关产品性能要求的提高,提高处理器性能成为了设计者努力的方向。
3.目前,设计者采用各种先进技术来设计处理器,以提高其性能。然而,随着处理器性能的提升,其功耗也显著增加。


技术实现要素:

4.本技术实施例提供一种功耗调节方法、装置、存储介质、处理器及电子设备,能够降低处理器的功耗。
5.本技术实施例提供一种功耗调节方法,其中,功耗调节方法包括:
6.根据当前的使用场景确定任务处理的延迟需求;
7.确定以当前时刻为结束时刻的预设时长内的系统负载;
8.根据所述延迟需求及所述系统负载确定对应的功耗模式;
9.根据所述功耗模式调节处理器的电压和频率,以调节所述处理器的功耗。
10.本技术实施例还提供了一种功耗调节装置,其中,功耗调节装置包括:
11.延迟确定模块,用于根据当前的使用场景确定任务处理的延迟需求;
12.负载确定模块,用于确定以当前时刻为结束时刻的预设时长内的系统负载;
13.功耗确定模块,用于根据所述延迟需求及所述系统负载确定对应的功耗模式;
14.功耗调节模块,用于根据所述功耗模式调节处理器的电压和频率,以调节所述处理器的功耗。
15.本技术实施例还提供一种存储介质,其中,存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行本技术实施例提供的任一种功耗调节方法中的步骤。
16.本技术实施例还提供一种处理器,用于执行本技术实施例提供的任一种功耗调节方法中的步骤。
17.本技术实施例还提供一种电子设备,其中,电子设备包括处理器和存储器,存储器中存储有计算机程序,处理器通过调用存储器中存储的计算机程序,执行本技术实施例提供的任一种功耗调节方法中的步骤。
18.本技术实施例中,首先根据当前的使用场景确定任务处理的延迟需求;确定以当前时刻为结束时刻的预设时长内的系统负载;然后根据所述延迟需求及所述系统负载确定对应的功耗模式;进而根据所述功耗模式所述处理器的电压和频率,以调节所述处理器的
功耗。本技术实施例根据延迟需求和系统负载确定出的功耗模式自动调节处理器的电压和频率,通过对处理器电压和频率的自动调节实现对处理器功耗的自动调节,从而在保证处理器正常工作的前提下,有效降低处理器的功耗。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1为本技术实施例提供的功耗调节方法的第一种流程示意图。
21.图2为本技术实施例提供的处理器缓存示意图。
22.图3为本技术实施例提供的功耗调节方法的第二种流程示意图。
23.图4为本技术实施例提供的功耗调节方法的第三种流程示意图。
24.图5为本技术实施例提供的温度仲裁模块的工作流程示意图。
25.图6为本技术实施例提供的功耗调节装置的第一种结构示意图。
26.图7为本技术实施例提供的功耗调节装置的第二种结构示意图。
27.图8为本技术实施例提供的电子设备的第一种结构示意图。
28.图9为本技术实施例提供的电子设备的第二种结构示意图。
29.图10为本技术实施例提供的集成电路芯片的结构示意图。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有实施例,都属于本技术保护的范围。
31.本技术的说明书和权利要求书以及上述附图中的术语“第一”、“第二”、“第三”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应当理解,这样描述的对象在适当情况下可以互换。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤的过程、方法或包含了一系列模块或单元的装置、处理器、电子设备、系统不必限于清楚地列出的那些步骤或模块和单元,还可以包括没有清楚地列出的步骤或模块或单元,也可以包括对于这些过程、方法、装置、处理器、电子设备或系统固有的其它步骤或模块或单元。
32.本技术实施例提供一种功耗调节方法,该功耗调节方法可应用于处理器。该功耗调节方法的执行主体可以是本技术实施例提供的功耗调节装置,或者集成了该功耗调节装置的处理器,该功耗调节装置可以采用硬件或者软件的方式实现,处理器可以配置在智能手机、平板电脑、掌上电脑、笔记本电脑、或者台式电脑等电子设备中,也可以配置在集成电路芯片上。
33.请参照图1,图1为本技术实施例提供的功耗调节方法的第一种流程示意图。该功耗调节方法的执行主体可以是本技术实施例提供的功耗调节装置,或者集成了该功耗调节
装置的处理器。本技术实施例提供的功耗调节方法可以包括以下步骤:
34.110,根据当前的使用场景确定任务处理的延迟需求。
35.为了在保证处理器性能的同时调节处理器的功耗,需要对影响处理器性能或功耗的因素进行统计。延迟就是影响处理器性能表现的一项重要因素。
36.延迟(latency)即时钟延迟,指的是输入数据与输出结果(该数据经过一系列处理之后的结果)之间的延时,如在相对于某个时钟起始位置的1个或多个时钟后数据才有效。延迟以时钟为单位,决定信号处理的响应速度。
37.延迟需求是指处理器在某个使用场景下需要多少的延迟来响应信号处理。系统的延迟需求是由系统的使用场景决定的,不同使用场景对应的任务不同,任务处理要求的延迟需求不同,而系统的使用场景多种多样。在一实施例中,需要实时获取当前的使用场景,根据当前的使用场景确定任务处理的延迟需求。
38.比如,用户打开某一个应用程序,为保证性能表现,避免出现卡顿,需要在极短的时间之内打开应用程序。那么对于“开启应用程序”这一使用场景,就要求在这个极短的时间之内处理器响应速度快,需求低延迟。而如果用户是在阅读电子书,在阅读某一页而尚未翻页时,处理器响应速度的快慢并不影响用户的阅读,此时对于“阅读电子书”这一使用场景,并不需求低延迟。
39.每隔一段时间轮询当前的使用场景,并根据当前的使用场景确定任务处理的延迟需求。需求越快响应速度的使用场景,需求延迟越低。
40.在一实施例中,若某一时刻轮询后发现当前包含多个使用场景,则根据当前延迟需求最低的使用场景确定延迟需求。例如,屏幕可能处于分屏显示状态,用户在第一分屏显示区域阅读电子书,在第二分屏显示区域打开一个新的应用。此时,当前既包含“阅读电子书”的使用场景,又包含“开启应用程序”的使用场景,则判定当前的延迟需求为“开启应用程序”这一使用场景对应的低延迟需求,从而既能保证用户正常阅读电子书,又能保证应用程序的快速开启。
41.120,确定以当前时刻为结束时刻的预设时长内的系统负载。
42.系统负载(workload)是指当前正在被处理器执行和等待被处理器执行的进程数目总和,是反映系统忙闲程度的重要指标。由于处理器在执行进程时会引发功耗,因而,系统负载是影响处理器功耗的一项重要因素。系统负载越大,引发的功耗越大。
43.本技术实施例中确定的系统负载是一段时间内的系统负载。这一段时间可以是以当前时刻为结束时刻的一段预设时长。为方便描述,以下将以当前时刻为结束时刻的这段预设时长称为预设时间段。
44.确定预设时间段的系统负载,即确定这段预设时长内处理器执行的和当前时间等待被执行的进程数目总和。
45.在一实施例中,系统负载可以通过在硬件上增加信号计数器来计算,比如需要推测处理器在预设时间段的负载,那么可以在硬件处理器内部增加性能监视器来推测系统负载。例如可以在处理器访问缓存时,采用计数器对处理器的访问次数进行计数,获取计数器在预设时间段对缓存的访问次数,得到预设时间段的访问计数值,根据预设时间段的访问计数值得到预设时间段的系统负载。
46.举例来说,预设时间段的系统负载和预设时间段内处理器对处理器缓存的访问频
次有关。
47.处理器缓存是位于处理器与内存之间的临时存储器,它的容量比内存小得多但是交换速度却比内存要快得多。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内处理器即将访问的,当处理器调用大量数据时,可以先从缓存中调用,从而加快读取速度。
48.请参阅图2,图2为本技术实施例提供的处理器缓存示意图,其中示出了处理器与缓存之间以及缓存与内存间的数据交换过程。其中,按照数据读取顺序和与处理器结合的紧密程度,处理器缓存可以分为一级缓存、二级缓存,部分处理器还具有三级缓存,每一级缓存中所存储的全部数据都是下一级缓存的一部分。当处理器要读取一个数据时,首先从一级缓存中查找,如果没有再从二级缓存中查找,如果还是没有就从三级缓存或内存中查找。一级缓存是整个处理器缓存架构中最为重要的部分,全部数据量的80%都可以在一级缓存中找到。处理器与一级缓存的数据交换速度是几种数据交换方式中最快的。
49.一级缓存又分为一级指令缓存和一级数据缓存。其中一级数据缓存用于存放数据,一级指令缓存用于对执行这些数据的指令进行即使解码,二者可以同时被处理器访问。
50.在一实施例中,可以获取计数器在预设时间段对一级指令缓存和数据缓存的访问次数,就能得到预设时间段的访问计数值,根据预设时间段的访问计数值得到预设时间段的系统负载。
51.在一实施例中,还可以根据处理器空闲和工作的时间比来计算负载,比如在预设时间段内处理器都在工作,那么可以认为此时的负载是1,如果预设时间段内处理器只有50%的时间在工作,那么可以认为此时的负载是0.5。即,确定预设时间段的系统负载的步骤可以包括:
52.获取预设时间段内处理器的空闲时长与工作时长,空闲时长为处理器处于空闲状态的时长,工作时长为处理器处于工作状态的时长,当处理器处理任务时,处理器处于工作状态,当处理器处理完一个任务而还未接收到下一个任务时,处理器处于空闲状态;
53.计算得到空闲时长与工作时长的比值;
54.根据空闲时长与工作时长的比值确定预设时间段的系统负载。
55.130,根据延迟需求及系统负载确定对应的功耗模式。
56.在确定出延迟需求以及预设时间段的系统负载后,可以通过查表确定对应的功耗模式。该表可以是事先定义的功耗模式与延迟需求、系统负载的第一映射表。
57.请参阅表1,表1为本技术实施例提供的第一映射表的示意图。
58.功耗模式延迟需求、系统负载电压频率s1l1、w1v1p1s2l2、w2v2p2s3l3、w3v3p3s4l4、w4v4p4
59.表1
60.表1中示出了4种功耗模式,分别为s1、s2、s3和s4,每一种功耗模式分别对应到一个延迟需求与系统负载的组合。其中功耗模式s1与延迟需求l1、系统负载w1对应,功耗模式s2与延迟需求l2、系统负载w2对应,功耗模式s3与延迟需求l3、系统负载w3对应,功耗模式
s4与延迟需求l4、系统负载w4对应。
61.需要说明的是,其中l1、w1等可以不是某个具体的数值,而是区间。其中l1、l2、l3、l4为延迟区间,w1、w2、w3、w4为负载区间。当延迟需求所在的延迟区间为l1而预设时间段的系统负载所在的负载区间为w1时,确定出对应的功耗模式为s1;当延迟需求所在的延迟区间为l2而预设时间段的系统负载所在的负载区间为w2时,确定出对应的功耗模式为s2;以此类推。
62.即,根据延迟需求及预设时间段的系统负载确定对应的功耗模式的步骤可以包括:
63.确定延迟需求所在的延迟区间;
64.确定系统负载所在的负载区间;
65.获取预设的第一映射表,第一映射表中包含功耗模式与延迟区间、负载区间的对应关系;
66.根据对应关系,确定与延迟区间及负载区间对应的功耗模式。
67.在一实施例中,第一映射表通过训练得出。可以事先采集不同延迟需求、系统负载下处理器的电压和频率,根据处理器的电压和频率确定在不同延迟需求、系统负载下处理器的功耗,根据功耗的多少划分出多个功耗模式,进而为划分的多个功耗模式确定对应的延迟区间和负载区间。
68.140,根据功耗模式调节处理器的电压和频率,以调节处理器的功耗。
69.根据训练结果,还可以为不同功耗模式设定合适的电压和频率。当确定出要使用某种功耗模式时,获取该功耗模式对应的电压和频率,将处理器的电压和频率调节为该功耗模式对应的电压和频率。
70.请继续参阅表1,根据表1,当延迟需求所在的延迟区间为l1而系统负载所在的负载区间为w1时,确定出对应的功耗模式为s1,将处理器的电压调整为v1,将处理器的频率调节为p1;当延迟需求所在的延迟区间为l2而系统负载所在的负载区间为w2时,确定出对应的功耗模式为s2,将处理器的电压调整为v1,将处理器的频率调节为p1;以此类推。
71.在一实施例中,处理器具有不同的电压档位和频率档位,将处理器的电压和频率调节为功耗模式对应的电压和频率时,可以通过软件控制pmu,切换处理器到相应的电压档位和频率档位。即,第一映射表中的电压和频率(各功耗模式对应的电压和频率)并不是随便设定的值,而是与处理器的电压档位和频率档位相对应,从而方便调节。如上述表1中的v1~v4可以是处理器的电压档位,p1~p4可以是处理器的频率档位。
72.由于处理器的功耗会随着电压和频率的改变而改变,电压越高或频率越高,都意味着处理器的功耗越高,因而,通过调节处理器的电压和频率,能够实现对处理器功耗的调节。
73.需要说明的是,本技术实施例确定的功耗模式以及调节的电压和频率并不是固定不变的,而是会根据当前的实际情况实时改变。在一实施例中,每隔一段预设时长,对使用场景以及预设时间段的系统负载进行实时轮询,以便根据使用情况随时切换到不同的功耗模式,该预设时长可以为1秒或者更短的时长。例如,若用户上一秒在阅读电子书,下一秒开启视频应用观看视频,处理器通过实时轮询发现当前的使用场景和系统负载相比上一段预设时长都发生了改变,从而将功耗模式由s1切换到s2,以平衡性能和功耗。
74.在一实施例中,本技术提供的功耗调节方法可以采用硬件的方式实现,即,上述处理器可以指硬件加速处理器。硬件加速处理器采取了硬件加速技术,把计算量非常大的工作分配给专门的硬件来处理以减轻中央处理器的工作量。以硬件的方式实施本技术实施例提供的功耗调节方法,可以实现高速的功耗调节处理。
75.根据前一实施例所描述的方法,以下作进一步详细说明。
76.请参照图3,图3为本技术实施例提供的功耗调节方法的第二种流程示意图。该功耗调节方法可应用于本技术实施例提供的处理器,本技术实施例提供的功耗调节方法可以包括以下步骤:
77.201、获取处理器的温度。
78.为了在保证处理器性能的同时调节处理器的功耗,需要对影响处理器性能或功耗的因素进行统计。其中温度是会同时影响到处理器性能以及功耗的重要因素。
79.处理器有使用温度的限制,在正常使用温度以内,处理器性能可以正常发挥,而当温度过高时,处理器可能会强制关机,影响到使用。所以,先通过温度传感器获取处理器的实时温度,根据温度决定是否采用何种方式调节处理器的电压和频率。
80.202、判断处理器的温度是否小于温度阈值。若是则转入步骤203。若否则转入步骤210。
81.获取预先设定的温度阈值,判断处理器的温度是否小于温度阈值。只有当处理器的温度小于温度阈值时,才根据延迟需求和系统负载确定功耗模式,并对应相应调整处理器的电压和频率。而当处理器的温度大于或等于预设阈值时,则根据处理器的温度调整处理器的电压和频率。
82.203、根据当前的使用场景确定任务处理的延迟需求。
83.延迟也是影响处理器性能表现的一项重要因素。
84.延迟(latency)即时钟延迟,指的是输入数据与输出结果(该数据经过一系列处理之后的结果)之间的延时,如在相对于某个时钟起始位置的1个或多个时钟后数据才有效。延迟以时钟为单位,决定信号处理的响应速度。
85.延迟需求是指处理器在某个使用场景下需要多少的延迟来响应信号处理。系统的延迟需求是由系统的使用场景决定的,不同使用场景对应不同的任务,任务处理要求的延迟需求不同,而系统的使用场景多种多样。在一实施例中,当温度小于温度阈值时,需要实时获取当前的使用场景,根据当前的使用场景确定任务处理的的延迟需求。
86.比如,用户打开某一个应用程序,为保证性能表现,避免出现卡顿,需要在极短的时间之内打开应用程序。那么对于“开启应用程序”这一使用场景,就要求在这个极短的时间之内处理器响应速度快,需求低延迟。而如果用户是在阅读电子书,在阅读某一页而尚未翻页时,处理器响应速度的快慢并不影响用户的阅读,此时对于“阅读电子书”这一使用场景,并不需求低延迟。
87.每隔一段时间轮询当前的使用场景,并根据当前的使用场景确定任务处理的延迟需求。需求越快响应速度的使用场景,需求延迟越低。
88.在一实施例中,若某一时刻轮询后发现当前包含多个使用场景,则根据当前延迟需求最低的使用场景确定延迟需求。例如,屏幕可能处于分屏显示状态,用户在第一分屏显示区域阅读电子书,在第二分屏显示区域打开一个新的应用。此时,当前既包含“阅读电子
书”的使用场景,又包含“开启应用程序”的使用场景,则判定当前的延迟需求为“开启应用程序”这一使用场景对应的低延迟需求,从而既能保证用户正常阅读电子书,又能保证应用程序的快速开启。
89.204、确定以当前时刻为结束时刻的预设时长内的系统负载。
90.系统负载(workload)是指当前正在被处理器执行和等待被处理器执行的进程数目总和,是反映系统忙闲程度的重要指标。由于处理器在执行进程时会引发功耗,因而,系统负载是影响处理器功耗的一项重要因素。系统负载越大,引发的功耗越大。
91.本技术实施例中确定的系统负载是一段时间内的系统负载。这一段时间可以是以当前时刻为结束时刻的一段预设时长,又称为预设时间段。确定预设时间段的系统负载,即确定这段预设时长内处理器执行的和当前时间等待被执行的进程数目总和。
92.在一实施例中,系统负载可以通过在硬件上增加信号计数器来计算,比如需要推测处理器在预设时间段的负载,那么可以在硬件处理器内部增加性能监视器来推测系统负载。例如可以在处理器访问缓存时,采用计数器对处理器的访问次数进行计数,获取计数器在预设时间段对缓存的访问次数,得到预设时间段的访问计数值,根据预设时间段的访问计数值得到预设时间段的系统负载。
93.举例来说,预设时间段的系统负载和预设时间段内处理器对处理器缓存的访问频次有关。
94.处理器缓存是位于处理器与内存之间的临时存储器,它的容量比内存小得多但是交换速度却比内存要快得多。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内处理器即将访问的,当处理器调用大量数据时,可以先从缓存中调用,从而加快读取速度。
95.请参阅图2,图2为本技术实施例提供的处理器缓存示意图,其中示出了处理器与缓存之间以及缓存与内存间的数据交换过程。其中,按照数据读取顺序和与处理器结合的紧密程度,处理器缓存可以分为一级缓存、二级缓存,部分处理器还具有三级缓存,每一级缓存中所存储的全部数据都是下一级缓存的一部分。当处理器要读取一个数据时,首先从一级缓存中查找,如果没有再从二级缓存中查找,如果还是没有就从三级缓存或内存中查找。一级缓存是整个处理器缓存架构中最为重要的部分,全部数据量的80%都可以在一级缓存中找到。处理器与一级缓存的数据交换速度是几种数据交换方式中最快的。
96.一级缓存又分为一级指令缓存和一级数据缓存。其中一级数据缓存用于存放数据,一级指令缓存用于对执行这些数据的指令进行即使解码,二者可以同时被处理器访问。
97.在一实施例中,可以获取计数器在预设时间段对一级指令缓存和数据缓存的访问次数,就能得到预设时间段的访问计数值,根据预设时间段的访问计数值得到预设时间段的系统负载。
98.在一实施例中,还可以根据处理器空闲和工作的时间比来计算负载,比如在预设时间段内处理器都在工作,那么可以认为此时的负载是1,如果预设时间段内处理器只有50%的时间在工作,那么可以认为此时的负载是0.5。即,确定预设时间段的系统负载的步骤可以包括:
99.获取预设时间段内处理器的空闲时长与工作时长,空闲时长为处理器处于空闲状态的时长,工作时长为处理器处于工作状态的时长,当处理器处理任务时,处理器处于工作
状态,当处理器处理完一个任务而还未接收到下一个任务时,处理器处于空闲状态;
100.计算得到空闲时长与工作时长的比值;
101.根据空闲时长与工作时长的比值确定预设时间段的系统负载。
102.205、确定延迟需求所在的延迟区间。
103.206、确定系统负载所在的负载区间。
104.207、获取预设的第一映射表,第一映射表中包含功耗模式与延迟区间、负载区间的对应关系。
105.在确定出延迟需求以及预设时间段的系统负载后,可以通过查表确定对应的功耗模式。该表可以是事先定义的功耗模式与延迟需求、系统负载的第一映射表。
106.在一实施例中,第一映射表通过训练得到。可以事先采集不同延迟需求、系统负载下处理器的电压和频率,根据处理器的电压和频率确定在不同延迟需求、系统负载下处理器的功耗,根据功耗的多少划分出多个功耗模式,进而为划分的多个功耗模式确定对应的延迟区间和负载区间,得到功耗模式与延迟区间、负载区间的对应关系。
107.需要说明的是,第一映射表中包含的延迟需求、系统负载可以不是某个具体的数值,而是以区间的形式进行对应。
108.208、根据对应关系,确定与延迟区间及负载区间对应的功耗模式。
109.请继续参阅表1所示的第一映射表,根据第一映射表中的对应关系,当延迟需求所在的延迟区间为l1而系统负载所在的负载区间为w1时,确定出对应的功耗模式为s1;当延迟需求所在的延迟区间为l2而系统负载所在的负载区间为w2时,确定出对应的功耗模式为s2;以此类推。
110.209、根据处理器的温度确定对应的功耗模式。
111.当处理器的温度大于或等于温度阈值时,获取第二映射表。该第二映射表不同于第一映射表,第二映射表中反映的是温度与功耗模式的对应关系。参见
112.表2,表2为本技术实施例提供的第二映射表的示意图。
113.功耗模式温度电压频率s5t1v5p5s6t2v6p6s7t3v7p7
114.表2
115.表2中示出了3种温度对应的功耗模式以及不同功耗模式下的电压、频率。温度t1对应的功耗模式为s5,对应的电压为v5、频率为p5,温度t2对应的功耗模式为s6,对应的电压为v6、频率为p6,温度t3对应的功耗模式为s7,对应的电压为v7、频率为p7。
116.需要说明的是,其中t1、t2、t3可以不是具体的数值,而是区间。当处理器的温度大于或等于温度阈值时,若处理器的温度所在的温度区间为t1,则确定出对应的功耗模式为s5;若处理器的温度所在的温度区间为t2,则确定出对应的功耗模式为s6;若处理器的温度所在的温度区间为t3,则确定出对应的功耗模式为s7。
117.210、根据功耗模式调节处理器的电压和频率,以调节处理器的功耗。
118.根据训练结果,还可以为不同功耗模式设定合适的电压和频率。当确定出要使用某种功耗模式时,获取该功耗模式对应的电压和频率,将处理器的电压和频率调节为该功
耗模式对应的电压和频率。
119.请一并参阅表1和表2,根据表1提供的第一映射表,当延迟需求所在的延迟区间为l1而系统负载所在的负载区间为w1时,确定出对应的功耗模式为s1,将处理器的电压调整为v1,将处理器的频率调节为p1;当延迟需求所在的延迟区间为l2而系统负载所在的负载区间为w2时,确定出对应的功耗模式为s2,将处理器的电压调整为v2,将处理器的频率调节为p2;以此类推。
120.根据表2提供的第二映射表,当温度所在的温度区间为t1时,确定出对应的功耗模式为s5,将处理器的电压调节为v5,将处理器的频率调节为p5;当温度所在的温度区间为t2时,确定出对应的功耗模式为s6,将处理器的电压调节为v6,将处理器的频率调节为p6;当温度所在的温度区间为t3时,确定出对应的功耗模式为s7,将处理器的电压调节为v7,将处理器的频率调节为p7。
121.表2提供的第二映射表可以由开发者根据学习算法学习和训练的结果预先设定。为生成第二映射表,可以事先通过学习算法评估处理器在温度不变时,不同电压和不同频率对处理器性能的影响,从而为不同温度找到合适的电压和频率。在设定第二映射表时,将大于或等于温度阈值的温度划分为各温度区间,并为各温度区间设定合适的电压和频率与之对应。使得处理器在根据温度调节电压和频率时,即不影响到处理器的性能,又能尽可能地降低功耗。
122.在一实施例中,处理器具有不同的电压档位和频率档位,将处理器的电压和频率调节为功耗模式对应的电压和频率时,可以通过软件控制pmu,切换处理器到相应的电压档位和频率档位。即,第一映射表和第二映射表中的电压和频率(各功耗模式对应的电压和频率)并不是随便设定的值,而是与处理器的电压档位和频率档位相对应,从而方便调节。如上述表1中的v1~v4和上述表2中的v5~v7可以是处理器的电压档位,上述表1中的p1~p4和上述表2中的p5~p7可以是处理器的频率档位。
123.由于处理器的功耗会随着电压和频率的改变而改变,电压越高或频率越高,都意味着处理器的功耗越高,因而,通过调节处理器的电压和频率,能够实现对处理器功耗的调节。
124.请参阅图4,图4为本技术实施例提供的功耗调节方法的第三种流程示意图。
125.在一实施例中,本技术实施例提供的功耗调节方法应用于硬件加速处理器,与主处理器配合实现对处理器电压和功率的调节。
126.其中,主处理器首先识别当前的使用场景。由于识别场景涉及的计算比较复杂,因而这一步可以放在主处理器中进行。主处理器识别出当前的使用场景后,通过与硬件加速处理器的数据传输告知硬件加速处理器当前有哪些使用场景。硬件加速处理器中的延迟确定模块即根据当前的使用场景确定任务处理的延迟需求,同时,负载确定模块确定以当前时刻为结束时刻的预设时长内的系统负载,两个模块共同向电源管理模块发起电压和频率的切换请求。电源管理模块中包括功耗确定模块和功耗调节模块,其中,功耗确定模块接收到电压和频率的切换请求,根据延迟确定模块确定的延迟需求以及负载确定模块确定的系统负载确定出对应的功耗模式,并将确定出的功耗模式发送给功耗调节模块。功耗调节模块根据功耗模式调节处理器的电压和频率,以调节处理器的功耗。
127.请一并参阅图5,图5为本技术实施例提供的温度仲裁模块的工作流程示意图。
128.除上述模块外,硬件加速处理器中还可以包括温度仲裁模块。温度仲裁模块的工作方式为:温度采集系统根据温度传感器的参数变化采集到处理器的温度,并将采集到的处理器的温度输入到温度仲裁模块中。温度仲裁模块获取到处理器的温度后,判断处理器的温度是否小于温度阈值,并将判断结果传输给电源管理模块,电源管理模块即根据温度的判断结果决定电压和频率的调节方式。
129.其中,温度的判断结果不同时,电压和频率的调节方式也不相同。当处理器的温度小于温度阈值时,则采用前述方式,根据延迟需求和系统负载来调节处理器的电压和频率。而当处理器的温度大于或等于温度阈值时,则根据温度来调节处理器的电压和频率。具体的调节方式详见前述实施例的描述,在此不再赘述。
130.由上可知,本技术实施例提供的功耗调节方法,首先根据当前的使用场景确定任务处理的延迟需求;确定以当前时刻为结束时刻的预设时长内的系统负载;然后根据延迟需求及系统负载确定对应的功耗模式;进而根据功耗模式调节处理器的电压和频率,以调节处理器的功耗。本技术实施例根据延迟需求和系统负载确定出的功耗模式自动调节处理器的电压和频率,通过对处理器电压和频率的自动调节实现对处理器功耗的自动调节,从而在保证处理器正常工作的前提下,有效降低处理器的功耗。并且,还可以加入温度条件,结合系统负载、延迟需求和温度三个角度共同调节处理器的电压和频率,起到系统资源的最优化使用以及功耗的最大化节约的目的。
131.本技术实施例还提供一种功耗调节装置。请参照图6,图6为本技术实施例提供的功耗调节装置的第一种结构示意图。其中该功耗调节装置300可应用于处理器,该功耗调节装置300包括延迟确定模块301、负载确定模块302、功耗确定模块303和功耗调节模块304,如下:
132.延迟确定模块301,用于根据当前的使用场景确定任务处理的延迟需求;
133.负载确定模块302,用于确定以当前时刻为结束时刻的预设时长内的系统负载;
134.功耗确定模块303,用于根据延迟需求及系统负载确定对应的功耗模式;
135.功耗调节模块304,用于根据功耗模式调节处理器的电压和频率,以调节处理器的功耗。
136.在一实施例中,在确定以当前时刻为结束时刻的预设时长内的系统负载时,负载确定模块302可以用于:
137.在处理器访问缓存时,对处理器的访问次数进行计数;
138.获取处理器以当前时刻为结束时刻的预设时长内对缓存的访问次数,得到访问计数值;
139.根据访问计数值得到以当前时刻为结束时刻的预设时长内的系统负载。
140.在一实施例中,在确定以当前时刻为结束时刻的预设时长内的系统负载时,负载确定模块302可以用于:
141.获取以当前时刻为结束时刻的预设时长内处理器的空闲时长与工作时长,空闲时长为处理器处于空闲状态的时长,工作时长为处理器处于工作状态的时长,当处理器处理任务时,处理器处于工作状态,当处理器处理完一个任务而还未接收到下一个任务时,处理器处于空闲状态;
142.计算得到空闲时长与工作时长的比值;
143.根据空闲时长与工作时长的比值确定以当前时刻为结束时刻的预设时长内的系统负载。
144.在一实施例中,在根据延迟需求及系统负载确定对应的功耗模式时,功耗确定模块303可以用于:
145.确定延迟需求所在的延迟区间;
146.确定系统负载所在的负载区间;
147.获取预设的第一映射表,第一映射表中包含功耗模式与延迟区间、负载区间的对应关系;
148.根据对应关系,确定与延迟区间及负载区间对应的功耗模式。
149.在一实施例中,第一映射表中还包括预先设定的功耗模式对应的电压和频率,在根据功耗模式调节处理器的电压和频率时,功耗调节模块304可以用于:
150.获取功耗模式对应的电压和频率;
151.将处理器的电压和频率调节为功耗模式对应的电压和频率。
152.请一并参阅图7,图7为本技术实施例提供的功耗调节装置300的第二种结构示意图。在一实施例中,功耗调节装置300还包括温度仲裁模块305,温度仲裁模块305用于:
153.获取处理器的温度;
154.判断处理器的温度是否小于温度阈值。
155.在根据延迟需求及系统负载确定对应的功耗模式时,功耗确定模块303可以用于:
156.当处理器的温度小于温度阈值时,根据延迟需求及系统负载确定对应的功耗模式。
157.其中,当处理器的温度大于或等于温度阈值时,根据处理器的温度确定对应的功耗模式。
158.以上各个模块的具体实施可参见前面的实施例,在此不再赘述。
159.由上可知,本技术实施例提供的功耗调节装置,首先延迟确定模块301根据当前的使用场景确定任务处理的延迟需求;负载确定模块302确定以当前时刻为结束时刻的预设时长内的系统负载;然后功耗确定模块303根据延迟需求及系统负载确定对应的功耗模式;进而功耗调节模块304根据功耗模式调节处理器的电压和频率,以调节处理器的功耗。本技术实施例根据延迟需求和系统负载确定出的功耗模式自动调节处理器的电压和频率,通过对处理器电压和频率的自动调节实现对处理器功耗的自动调节,从而在保证处理器正常工作的前提下,有效降低处理器的功耗。
160.本技术实施例还提供一种电子设备。电子设备可以是智能手机、平板电脑、游戏设备、ar(augmented reality,增强现实)设备、汽车、车辆周边障碍检测装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如手表、眼镜、头盔、电子手链、电子项链、电子衣物等设备。
161.参考图8,图8为本技术实施例提供的电子设备400的第一种结构示意图。其中,电子设备400包括处理器401和存储器402。存储器中存储有计算机程序,处理器通过调用存储器中存储的计算机程序,以执行本技术实施例提供的任一种功耗调节方法中的步骤。处理器401与存储器402电性连接。
162.处理器401是电子设备400的控制中心,利用各种接口和线路连接整个电子设备的
各个部分,通过运行或调用存储在存储器402内的计算机程序,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
163.在本实施例中,电子设备400中的处理器401可以按照上述功耗调节方法中的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的计算机程序,从而实现上述功耗调节方法中的步骤,例如:
164.根据当前的使用场景确定任务处理的延迟需求;
165.确定以当前时刻为结束时刻的预设时长内的系统负载;
166.根据延迟需求及系统负载确定对应的功耗模式;
167.根据功耗模式调节处理器的电压和频率,以调节处理器的功耗。
168.请继续参考图9,图9为本技术实施例提供的电子设备400的第二种结构示意图。其中,电子设备400还包括:显示屏403、控制电路404、输入单元405、传感器406以及电源407。其中,处理器401分别与显示屏403、控制电路404、输入单元405、传感器406以及电源407电性连接。
169.显示屏403可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图像、文本、图标、视频和其任意组合来构成。
170.控制电路404与显示屏403电性连接,用于控制显示屏403显示信息。
171.输入单元405可用于接收输入的数字、字符信息或用户特征信息(例如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。例如,输入单元405可以包括触控感应模组。
172.传感器406用于采集电子设备自身的信息或者用户的信息或者外部环境信息。例如,传感器406可以包括距离传感器、磁场传感器、光线传感器、加速度传感器、指纹传感器、霍尔传感器、位置传感器、陀螺仪、惯性传感器、姿态感应器、气压计、心率传感器等多个传感器。
173.电源407用于给电子设备400的各个部件供电。在一些实施例中,电源407可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
174.尽管图8及图9中未示出,电子设备400还可以包括摄像头、蓝牙模块等,在此不再赘述。
175.在本实施例中,电子设备400中的处理器401可以按照上述翻译方法中的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的计算机程序,从而实现上述功耗调节方法中的步骤,例如:
176.根据当前的使用场景确定任务处理的延迟需求;
177.确定以当前时刻为结束时刻的预设时长内的系统负载;
178.根据延迟需求及系统负载确定对应的功耗模式;
179.根据功耗模式调节处理器的电压和频率,以调节处理器的功耗。
180.在一实施例中,在根据延迟需求及系统负载确定对应的功耗模式时,处理器401执行以下步骤:
181.确定延迟需求所在的延迟区间;
182.确定系统负载所在的负载区间;
183.获取预设的第一映射表,第一映射表中包含功耗模式与延迟区间、负载区间的对应关系;
184.根据对应关系,确定与延迟区间及负载区间对应的功耗模式。
185.在一实施例中,第一映射表中还包括预先设定的功耗模式对应的电压和频率,在根据功耗模式调节处理器的电压和频率时,处理器401执行以下步骤:
186.获取功耗模式对应的电压和频率;
187.将处理器的电压和频率调节为功耗模式对应的电压和频率。
188.在一实施例中,处理器401还执行以下步骤:
189.获取处理器的温度。
190.在根据延迟需求及系统负载确定对应的功耗模式时,处理器401执行以下步骤:
191.当处理器的温度小于温度阈值时,根据延迟需求及系统负载确定对应的功耗模式。
192.其中,当处理器的温度大于或等于温度阈值时,根据处理器的温度确定对应的功耗模式。
193.在一实施例中,在确定以当前时刻为结束时刻的预设时长内的系统负载时,处理器401执行以下步骤:
194.在处理器访问缓存时,对处理器的访问次数进行计数;
195.获取处理器以当前时刻为结束时刻的预设时长内对缓存的访问次数,得到访问计数值;
196.根据访问计数值得到以当前时刻为结束时刻的预设时长内的系统负载。
197.在一实施例中,在确定以当前时刻为结束时刻的预设时长内的系统负载时,处理器401执行以下步骤:
198.获取以当前时刻为结束时刻的预设时长内内处理器的空闲时长与工作时长,空闲时长为处理器处于空闲状态的时长,工作时长为处理器处于工作状态的时长,当处理器处理任务时,处理器处于工作状态,当处理器处理完一个任务而还未接收到下一个任务时,处理器处于空闲状态;
199.计算得到空闲时长与工作时长的比值;
200.根据空闲时长与工作时长的比值确定以当前时刻为结束时刻的预设时长内的系统负载。
201.由上可知,本技术实施例提供了一种电子设备,电子设备中的处理器执行以下步骤:首先根据当前的使用场景确定任务处理的延迟需求;确定以当前时刻为结束时刻的预设时长内的系统负载;然后根据延迟需求及系统负载确定对应的功耗模式;进而根据功耗模式调节处理器的电压和频率,以调节处理器的功耗。本技术实施例根据延迟需求和系统负载确定出的功耗模式自动调节处理器的电压和频率,通过对处理器电压和频率的自动调节实现对处理器功耗的自动调节,从而在保证处理器正常工作的前提下,有效降低处理器的功耗。
202.本技术实施例还提供一种集成电路芯片。该集成电路芯片可用于智能手机、平板电脑、游戏设备、ar(augmented reality,增强现实)设备、汽车、车辆周边障碍检测装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如手表、眼镜、头盔、电子
手链、电子项链等设备。
203.在一实施例中,本技术实施例提供的集成电路芯片采取了硬件加速技术,把计算量非常大的工作分配给专门的硬件来处理以减轻中央处理器的工作量。本技术实施例提供的处理器可以集成在这样的集成电路芯片中,以硬件加速的方式实施本技术实施例提供的功耗调节方法,可以实现高速的功耗调节处理。
204.参考图10,图10为本技术实施例提供的集成电路芯片500的结构示意图。其中,集成电路芯片500包括处理器501和功耗调节装置300。处理器501与功耗调节装置300电性连接。
205.处理器501是集成电路芯片500的控制中心,利用各种接口和线路连接整个集成电路芯片的各个部分。
206.在本实施例中,功耗调节装置300可以负责实现上述功耗调节方法中的步骤,从而调节处理器501的功耗,例如:
207.根据当前的使用场景确定任务处理的延迟需求;
208.确定以当前时刻为结束时刻的预设时长内的系统负载;
209.根据延迟需求及系统负载确定对应的功耗模式;
210.根据功耗模式调节处理器的电压和频率,以调节处理器的功耗。
211.本技术实施例还提供一种处理器,该处理器可以应用于本技术实施例提供的集成电路芯片或电子设备中,负责实现上述功耗调节方法中的步骤,例如:
212.根据当前的使用场景确定任务处理的延迟需求;
213.确定以当前时刻为结束时刻的预设时长内的系统负载;
214.根据延迟需求及系统负载确定对应的功耗模式;
215.根据功耗模式调节处理器的电压和频率,以调节处理器的功耗。
216.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
217.即,本技术实施例提供的处理器在实现上述功耗调节方法中的步骤时,可以采取硬件方式、软件方式或者二者的结合实现。例如,该处理器可以是电子设备中的主处理器,通过调用电子设备存储器中的计算机程序来实现上述功耗调节方法中的步骤。或者,该处理器也可以是集成电路芯片中的硬件加速处理器,采用硬件加速技术,用硬件方式实现上述功耗调节方法中的步骤。
218.需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储于计算机可读存储介质中,包括但不限于:只读存储器(rom,read only memory)、随机存取存储器(ram,random access memory)、磁盘或光盘等。
219.即,本技术实施例还提供一种存储介质,存储介质中存储有计算机程序,当计算机程序在计算机上运行时,计算机执行上述任一实施例的功耗调节方法。
220.例如,在一些实施例中,当计算机程序在计算机上运行时,计算机执行以下步骤:
221.根据当前的使用场景确定任务处理的延迟需求;
222.确定以当前时刻为结束时刻的预设时长内的系统负载;
223.根据延迟需求及系统负载确定对应的功耗模式;
224.根据功耗模式调节处理器的电压和频率,以调节处理器的功耗。
225.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对翻译方法的详细描述,此处不再赘述。
226.以上对本技术实施例所提供的功耗调节方法、装置、存储介质、处理器及电子设备进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1