一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种CPU调频方法及电子设备与流程

2022-06-05 16:47:13 来源:中国专利 TAG:

一种cpu调频方法及电子设备
1.相关申请的交叉引用
2.本技术要求在2020年11月30日提交中国专利局、申请号为202011380562.5、申请名称为
ꢀ“
一种cpu调频方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申 请中。
技术领域
3.本技术涉及技术领域,尤其涉及一种cpu调频方法及电子设备。


背景技术:

4.中央处理器(central processing unit,cpu)频率决定cpu的运行速度,是影响cpu性 能的指标之一。一般的,cpu频率越高,cpu的运行速度越快,性能越好。
5.电子设备可以根据cpu的负载,计算所述cpu的频率,并采用计算得到的所述cpu 的频率对所述cpu进行调频,以满足用户的使用需求。
6.但是计算单个cpu的频率时,仅考虑了单个cpu的负载,无法适应电子设备中不同的 cpu架构,无法满足不同的性能和功耗需求,甚至带来性能卡顿的问题。


技术实现要素:

7.本技术实施例提供一种中央处理器(central processing unit,cpu)调频方法及电子设 备,能够提高cpu调频的准确性,满足不同性能和功耗需求。
8.第一方面,本技术实施例提供一种cpu调频方法,该方法包括:根据待调频的第一中 央处理器cpu的频率、所述第一cpu所属的簇cluster的频率、所述第一cpu所属的系统 级芯片soc的频率中的至少两个,确定所述第一cpu的目标频率;根据所述目标频率,对 所述第一cpu进行调频。
9.通过上述方法,电子设备可以通过综合计算cpu级别的频率、cluster级别的频率和soc 级别的频率,计算得到cpu的最终频率,从而可以保证cpu调频时,可以兼容cpu的性 能和功耗需求,可以更好地适应cpu计算任务的改变和适应大中小核架构,实现更准确的 cpu调频。
10.一种可能的实现方式,所述cluster包括至少一个cpu,所述至少一个cpu包括所述第 一cpu;所述soc包括至少一个cluster,所述至少一个cluster包括所述第一cpu所属的 cluster。该cpu调频方法可以应用于多核cpu架构,从而适应不同组合的大中小核的cpu 架构,实现更准确的cpu调频。
11.可选的,所述第一cpu可以为大核cpu、或者中核cpu、或者小核cpu。
12.一种可能的实现方式,在根据待调频的第一cpu的频率、所述第一cpu所属的cluster 的频率、所述第一cpu所属的soc的频率中的至少两个,确定所述第一cpu的目标频率 时,可以根据待调频的第一cpu的频率、所述第一cpu所属的cluster的频率、所述第一 cpu所属的soc的频率中的至少两个,以及性能需求和功耗需求,确定所述第一cpu的目 标
频率。从而可以适应cpu计算任务的改变,兼容cpu的性能和功耗需求,实现更准确的 调频。
13.可选的,当性能敏感时,所述第一cpu的功耗最大;当性能不敏感时,所述第一cpu 的功耗最小。
14.或者可选的,当检测到用户的操作时,所述第一cpu的功耗最大;当未检测到用户的 操作时,所述第一cpu的功耗最小。
15.一种可能的实现方式,所述cpu的频率根据所述cpu的负载和/或所述cpu的使用率 确定。例如所述cpu的频率根据所述cpu的负载确定;或者所述cpu的频率根据所述cpu 的负载和所述cpu的使用率确定。通过计算cpu级别的负载,可以兼容cpu的性能和功 耗需求,实现更准确的cpu调频。
16.一种可能的实现方式,所述cpu所属的cluster的频率根据所述cluster的负载和/或所 述cluster的使用率确定。例如所述cpu所属的cluster的频率根据所述cluster的负载确定; 或者所述cpu所属的cluster的频率根据所述cluster的负载和所述cluster的使用率确定。在 计算cpu的最终频率时,考虑到了cluster级别的负载,可以兼容cpu的性能和功耗需求, 实现更准确的cpu调频。
17.一种可能的实现方式,所述cluster的负载根据属于所述cluster的至少一个cpu的负载 确定;所述cluster的使用率根据属于所述cluster的至少一个cpu的使用率确定。
18.一种可能的实现方式,所述cpu所属的soc的频率根据所述soc的负载和/或所述soc 的使用率确定。例如所述cpu所属的soc的频率根据所述soc的负载确定;或者所述cpu 所属的soc的频率根据所述soc的负载和所述soc的使用率确定。在计算cpu的最终频 率时,考虑到了soc级别的负载,可以兼容cpu的性能和功耗需求,实现更准确的cpu 调频。
19.一种可能的实现方式,所述soc的负载根据属于所述soc的至少一个cluster的负载确 定;所述soc的使用率根据属于所述soc的至少一个cluster的使用率确定。
20.可见通过综合计算cpu级别负载、cluster级别负载和soc级别负载,计算cpu的频 率,在cpu调频时,可以兼容cpu的性能和功耗需求,可以更好地适应cpu计算任务的 改变和适应大中小核架构,实现更准确的cpu调频。
21.第二方面,本技术实施例还提供一种电子设备,该电子设备包括:一个或多个处理器; 一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机程序,所述一 个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电 子设备执行上述第一方面及其第一方面任一可能实现的技术方案。
22.第三方面,本技术实施例还提供一种电子设备,该电子设备包括执行第一方面或者第 一方面的任意一种可能的实现的方法的模块/单元;这些模块/单元可以通过硬件实现,也可 以通过硬件执行相应的软件实现。
23.第四方面,本技术实施例还提供一种芯片,所述芯片与电子设备中的存储器耦合,执 行本技术实施例第一方面及其第一方面任一可能实现的技术方案;本技术实施例中“耦合
”ꢀ
是指两个部件彼此直接或间接地结合。
24.第五方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质 包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行本技术实施 例第一方面及其第一方面任一可能实现的技术方案。
25.第六方面,本技术实施例还提供一种计算机程序产品,当所述计算机程序产品在
电子 设备上运行时,使得所述电子设备执行本技术实施例第一方面及其第一方面任一可能实现 的技术方案。
26.上述第二方面至第六方面中任一方面及其任一方面中任意一种可能的实现可以达到的 技术效果,请参照上述第一方面及其第一方面中相应设计可以带来的技术效果描述,这里 不再重复赘述。
附图说明
27.图1为本技术实施例提供的一种电子设备的硬件结构示意图;
28.图2为本技术实施例提供的cpu调频模块的示意图;
29.图3为本技术实施例提供的cpu调频策略的示意图;
30.图4、图5、图6、图8、图10、图11为本技术实施例提供的cpu调频的示意图;
31.图7、图13为本技术实施例提供的cpu调频方法流程示意图;
32.图9、图12为本技术实施例提供的一种cpu调频场景的示意图;
33.图14为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
34.为了提高cpu调频的准确性,满足不同性能和功耗需求,本技术提供一种cpu调频方 法,其中方法和电子设备是基于同一技术构思的,由于方法和电子设备解决问题的原理相 似,因此电子设备与方法的实施例可以相互参见,重复之处不再赘述。
35.本技术实施例描述的业务场景是为了更加清楚的说明本技术实施例的技术方案,并不 构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着新业务场 景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
36.以下对本技术实施例的部分用语进行解释说明,以便于本领域技术人员理解。
37.1)电子设备,本技术实施例可以应用于电子设备中。本技术实施例中电子设备可以为 终端。例如,终端可以为便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可 穿戴设备(如智能手表)、车载设备等。便携式电子设备的示例性实施例包括但不限于搭载 或者其它操作系统的便携式电子设备。
38.示例的,如图1所示,为本技术实施例提供的一种电子设备的硬件结构示意图。具体 的,电子设备100可以包括处理器110、内部存储器121、外部存储器接口122、音频模块 130、扬声器130a、受话器130b、麦克风130c、耳机接口130d、显示屏141、摄像头151、 按键152、通用串行总线(universal serial bus,usb)接口160、充电管理模块170、电源管 理模块171和电池172。在另一些实施例中,电子设备100还可以包括指示器。
39.其中,处理器110可以包括一个或多个处理单元。例如:处理器110可以包括cpu、 应用处理器(application processor,ap)、图形处理器(graphics processing unit,gpu)、和/或基带处理器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处 理器中。
40.在本技术实施例中,所述处理器110包括一个或多个cpu,每个cpu都分别对应一个 cpu调频模块,每个cpu调频模块用于对其所对应的cpu进行调频。可选的,cpu调频 模块可以位于cpu内部或外部。cpu调频模块的一种可能的结构示意图参见下述图2,在 此不多论
述。
41.所述电子设备100中包括的一个或多个cpu调频模块未在图1中示出。
42.在一些实施例中,处理器110中还可以设置存储器,用于存储指令和数据。
43.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。 处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以 及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存 储操作系统,至少一个功能所需的应用程序(比如声音播放功能、图像采集功能等)等。存储 数据区可存储电子设备100使用过程中所创建的数据(比如音频数据、电话本、拍照所需的 参数等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存 储器,例如至少一个磁盘存储器件、闪存器件、通用闪存存储器(universal flash storage,ufs) 等。
44.外部存储器接口122可以用于连接外部存储卡(例如,micro sd卡),实现扩展电子设 备100的存储能力。
45.电子设备100可以通过音频模块130、扬声器130a、受话器130b、麦克风130c、耳 机接口130d以及应用处理器等实现音频功能。例如音乐播放、录音等。
46.电子设备100可以通过gpu、显示屏141、以及应用处理器等实现显示功能。gpu为 图像处理的微处理器,连接显示屏141和应用处理器。gpu用于执行数学和几何计算,用 于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
47.显示屏141可以用于显示图像、视频等。在一些实施例中,电子设备100可以包括1 个或n个显示屏141,n为大于1的正整数。
48.电子设备100还可以通过摄像头151、视频编解码器、gpu、显示屏141以及应用处理 器等实现拍摄功能。
49.摄像头151可以用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元 件。在一些实施例中,电子设备100可以包括1个或n个摄像头151,n为大于1的正整数。 处理器110或者是处理器110中包括的处理单元(如gpu)可以运行或执行存储在内部存 储器121内的软件程序和/或模块,以及将图像在显示屏141上进行显示。
50.按键152可以包括开机键、音量键等。按键152可以是机械按键,也可以是触摸式按 键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关 的键信号输入。
51.在另一些实施例中,处理器110还可以包括一个或多个接口。例如,接口可以为sim 卡接口。又例如,接口还可以为usb接口160。可以理解的是,本技术实施例可以通过接 口连接电子设备100的不同模块,从而使得电子设备100能够实现不同的功能。需要说明 的是,本技术实施例对电子设备100中接口的连接方式不作限定。
52.usb接口160是符合usb标准规范的接口。例如,usb接口160可以包括mini usb 接口、micro usb接口、usb type c接口等。usb接口160可以用于连接充电器为电子设 备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机, 通过耳机播放音频。usb接口160还可以用于连接其他电子设备。
53.充电管理模块170用于从充电器接收充电输入。其中,充电器可以是无线充电器,也 可以是有线充电器。在一些有线充电的实施例中,充电管理模块170可以通过usb接口
定了cpu频率调整的一个范围cpuinfo_freq,所有的频率调整数值都必须在这个范围内。然 后,可以在这个范围内再次定义出一个软件的调节范围scaling_freq,同时根据具体的硬件 平台的不同,还需要提供一个频率表,这个频率表规定了cpu可以工作的频率值,当然这 些频率值必须在cpuinfo_freq范围内。有了这些频率信息,就可以根据当前cpu的负载情 况,合理地从频率表中选择一个合适的频率供cpu使用。至于如何选择频率表中的频率, 要由不同的调节模块(governor)来实现。通过governor调整频率的过程,将在下面进行详 细说明。
64.4)cpu电压,简称电压,是cpu正常工作所需的电压,单位是伏(v)。一般的,cpu 频率越高,所需要为cpu提供的工作电压也就越高。
65.频率和电压之间存在对应关系,通过调整频率可以实现电压的调整,通过调整电压也 可以实现频率的调整。通过调整电压和频率,可以实现cpu性能和功耗的平衡,满足不同 性能和功耗需求。例如在不需要高性能或需要低能耗时,可以降低频率和电压,或者在需 要高性能时,可以提高电压和频率。
66.5)cpu调频模块,每个cpu都分别对应一个cpu调频模块,每个cpu调频模块用 于对其所对应的cpu进行调频。可选的,cpu调频模块可以位于cpu内部或外部。
67.如图2所示,cpu调频模块至少包括:cpu频率(frequency,freq)核心模块(core)、 cpufreq驱动模块(driver)和cpufreq调节模块(governor)。所述cpufreq core分别与 所述cpufreq driver和所述cpufreq governor连接。
68.所述cpufreq core用于提供公共应用程序接口(application programming interface,api), 以及在内部封装各种逻辑,以实现所需功能。
69.所述cpufreq driver用于处理与平台相关的逻辑,完成cpu频率和电压的控制。平台 指不同类型的处理器,如x86或进阶精简指令集机器(advanced risc machine,arm)等, 或者如高通或麒麟等。
70.所述cpufreq governor也可以看作频率控制器,负责检测cpu的使用状况,根据不同 使用场景,在可用的范围内选择一个合适的频率。
71.每个cpu都对应有一个独立的cpu调频策略(cpufreq_policy),如图3所示,cpu_0 对应有policy_0,cpu_1对应有policy_1,
……
,cpu_7对应有policy_7。每个cpufreq_policy 都包含一个cpufreq governor来调整频率,cpufreq driver根据cpufreq governor选择的频 率对cpu频率进行控制。可选的cpufreq governor可以包括但不限于以下至少一种:高性 能模式(performance)、省电模式(powersave)、保守模式(conservative)、按需模式(ondemand)、 交互模式(interactive)、用户模式(userspace)、和/或schedutil。
72.performance:按设定范围的最高频率运行,所述设定范围可以为cpuinfo_freq或者可以 为scaling_freq的调节范围。
73.powersave:按设定范围的最低频率运行。
74.conservative:按需快速动态调整cpu频率,当有高需求时逐渐提高频率,当低需求时 迅速降低频率。
75.ondemand:电子设备未被用户操作时控制cpu在最低频率,一旦存在cpu的工作任 务(如用户执行滑屏或打开应用等操作),控制cpu迅速提升至最高工作频率。
所示,根据公式3计算出每个小核cpu的频率为1.8ghz,关键任务的完成时长为0.5s,功 耗和性能均保持不变。
93.当factor1=2,图4中的(b)所示的soc架构不变,且任务不变时,参见图5中的(b) 所示,根据公式3计算出每个小核cpu的频率为1.8ghz,关键任务的完成时长为0.5s,功 耗和性能均保持不变。
94.但是实际电子设备100在工作时,cpu的计算任务会发生变化。参见图6中的(a)所 示,当factor1=1,图4中的(a)所示的soc架构不变,但任务发生变化时,假设有5个任 务,其中一个关键任务和一个非关键任务运行在cpu0上,其余三个非关键任务运行在cpu1 上。根据公式3计算出每个小核cpu的频率为1.8ghz,关键任务的完成时长为0.5s,功耗 和性能均保持不变。
95.当factor1=2,图4中的(b)所示的soc架构不变,但任务发生变化时,参见图6中的 (b)所示,与图6中的(a)中同样的5个任务中,一个关键任务和一个非关键任务运行在 cpu0上,其余三个非关键任务分别运行在cpu1、cpu2和cpu3上。根据公式3计算出 每个小核cpu的频率为3.6ghz,关键任务的完成时长为0.25s。可见cpu的功耗翻倍,明 显增高。
96.综上,当cpu的计算任务发生变化时,根据相关技术中计算得到的频率对cpu进行调 频时,可能导致cpu的功耗增高。也就是说,相关技术中不能兼容cpu的性能和功耗需求, 无法适应不同的cpu架构,且无法适应cpu计算任务的改变,不能准确进行cpu调频。
97.为了提高cpu调频的准确性,满足cpu的性能和功耗需求,本技术实施例提供一种 cpu调频方法及装置。所述cpu调频方法中根据cpu、cluster和soc的负载综合决策cpu 的频率,可以更好的适应大中小核架构和计算任务的改变,保证cpu调频的准确性。下面 结合图1所示的电子设备100的硬件结构对本技术实施例提供的cpu调频方法进行详细说 明。参见图7所示,包括以下步骤:
98.可选的s701:电子设备100确定定时器超时。
99.本技术实施例提供的cpu调频方法可以由电子设备100实现,更具体的,可以由电子 设备100中的cpu调频模块或内核调度模块实现。可选的,所述内核调度模块包括所述cpu 调频模块。
100.电子设备100中可以保存有定时器,所述定时器可以为正计时定时器或倒计时定时器, 所述定时器的时长取值任意,在此不做限定。
101.该s701的步骤可以认为是电子设备100周期性的进行cpu调频。
102.s702:电子设备100针对每个cpu,计算所述每个cpu的负载、所述每个cpu所属 的cluster的负载和所述每个cpu所属的soc的负载。
103.以图4中的(a)所示的soc架构进行说明,参见图8所示,电子设备100计算cpu0 的负载cpu0_util、cpu1的负载cpu1_util、cpu2的负载cpu2_util和cpu3的负载cpu3_util, 以及电子设备100计算cpu0和cpu1所属的cluster0的负载cluster0_util、cpu2和cpu3 所属的cluster1的负载cluster1_util,以及电子设备100计算cluster0和cluster1所属的soc 的负载soc_util。
104.cpu的负载可以根据单位时间内在该cpu上运行的任务数量确定。所述单位时间的时 长取值任意,在此不做限定。所述单位时间的时长与所述定时器的时长可以相同,可以不 同。
105.cluster的负载可以根据属于该cluster的cpu的负载确定。例如cluster的负载满足以下 公式4:
[0106][0107]
其中,cluster_util为cluster的负载,i为第i个cpu,m为cpu的数量,m为正整数, i为正整数且i小于或等于m。
[0108]
soc的负载可以根据属于该soc的cluster的负载确定。例如soc的负载满足以下公式 5:
[0109][0110]
其中,soc_util为soc的负载,j为第j个cluster,n为cluster的数量,n为正整数,j 为正整数且j小于或等于n。
[0111]
可选的,电子设备100还可以针对每个cpu,计算每个cpu的使用率、所述每个cpu 所属的cluster的使用率和所述每个cpu所属的soc的使用率。
[0112]
cpu的使用率可以根据在该cpu上运行的任务占用的cpu资源确定。
[0113]
cluster的使用率可以根据属于该cluster的cpu的使用率确定。例如cluster的使用率满 足以下公式6:
[0114][0115]
其中,cluster_cap为cluster的使用率,i为第i个cpu,m为cpu的数量,m为正整 数,i为正整数且i小于或等于m。
[0116]
soc的使用率可以根据属于该soc的cluster的使用率确定。例如soc的使用率满足以 下公式7:
[0117][0118]
其中,soc_cap为soc的使用率,j为第j个cluster,n为cluster的数量,n为正整数, j为正整数且j小于或等于n。
[0119]
s703:电子设备100确定触发cpu调频。
[0120]
在s703中,电子设备100可以针对每个cpu,判断每个cpu的当前频率与每个cpu 在s702中计算得到的负载是否匹配。若匹配,则电子设备100可以确定触发cpu调频, 若不匹配,则电子设备100可以确定不触发cpu调频。
[0121]
在一个可能的示例中,电子设备100可以统计每个cpu的当前频率,计算每个cpu的 当前频率所能够处理的cpu的负载,然后判断s702中计算得到的每个cpu的负载相比于 每个cpu的当前频率所能够处理的cpu的负载不过高或不过低。若不过高且不过低,则确 定匹配,若过高或过低,则确定不匹配。
[0122]
当电子设备100确定触发cpu调频时,所述电子设备100执行s704。当电子设备100 不确定触发cpu调频时,可选的,所述电子设备100返回执行s701。
[0123]
s704:电子设备100针对每个cpu,根据所述每个cpu的负载、所述每个cpu所属 的cluster的负载和所述每个cpu所属的soc的负载,计算所述每个cpu的频率。
[0124]
在s704中,所述电子设备100可以根据所述每个cpu的负载,计算所述每个cpu的 cpu级别的频率,根据每个cpu所属的cluster的负载,计算cluster级别的频率,根据每 个cpu所属的soc的负载,计算soc级别的频率,然后根据所述每个cpu的cpu级别的 频率、所述
每个cpu对应的cluster级别的频率和soc级别的频率,确定每个cpu的最终 频率。
[0125]
cpu级别的频率根据cpu的负载确定。例如cpu级别的频率满足以下公式8:
[0126]
cpu_freq=f2(cpu_util,cpu_max_freq)
ꢀꢀꢀꢀꢀꢀ
公式8
[0127]
其中,f2为用于计算cpu级别的频率的算法,这里不做限制。
[0128]
可选的,cpu级别的频率可以根据cpu的负载和cpu的使用率确定。例如cpu级别 的频率满足以下公式9:
[0129]
cpu_freq=f3(cpu_util,cpu_cap,cpu_max_freq)
ꢀꢀꢀꢀꢀꢀ
公式9
[0130]
其中,f3为用于计算cpu级别的频率的算法,这里不做限制。
[0131]
cluster级别的频率根据cluster的负载确定。例如cluster级别的频率满足以下公式10:
[0132]
cluster_freq=f4(cluster_util,cpu_max_freq)
ꢀꢀꢀꢀꢀꢀ
公式10
[0133]
其中,f4为用于计算cluster级别的频率的算法,这里不做限制。cpu_max_freq可以为 属于该cluster的所有cpu中的最高工作频率。
[0134]
可选的,cluster级别的频率可以根据cluster的负载和cluster的使用率确定。例如cluster 级别的频率满足以下公式11:
[0135]
cluster_freq=f5(cluster_util,cluster_cap,cpu_max_freq)
ꢀꢀꢀꢀꢀꢀ
公式11
[0136]
其中,f5为用于计算cpu级别的频率的算法,这里不做限制。
[0137]
soc级别的频率可以根据soc的负载确定。例如soc级别的频率满足以下公式12:
[0138]
soc_freq=f6(soc_util,cpu_max_freq)
ꢀꢀꢀꢀꢀꢀ
公式12
[0139]
其中,f6为用于计算soc级别的频率的算法,这里不做限制。cpu_max_freq可以为属 于该soc的所有cpu中的最高工作频率。
[0140]
可选的,soc级别的频率可以根据soc的频率和soc的使用率使用。例如soc级别的 频率满足以下公式13:
[0141]
soc_freq=f7(soc_util,soc_cap,cpu_max_freq)
ꢀꢀꢀꢀꢀꢀ
公式13
[0142]
其中,f7为用于计算soc级别的频率的算法,这里不做限制。
[0143]
cpu的最终频率可以根据该cpu的cpu级别的频率、该cpu对应的cluster级别的频 率和该cpu对应的soc级别的频率确定。例如,cpu级别的频率满足以下公式14:
[0144]
target_freq=f8(cpu_freq,cluster_freq,soc_freq)
ꢀꢀꢀꢀꢀꢀ
公式14
[0145]
其中,target_freq为cpu的最终频率,f8为用于计算cpu的最终频率的算法,这里 不做限制。cpu_freq为该cpu的cpu级别的频率,cluster_freq为该cpu对应的cluster 级别的频率,soc_freq为该cpu对应的soc级别的频率。
[0146]
例如,f8可以为取最大值算法或取最小值算法或取平均值算法,或者可选的f8的算法可 以根据功耗和性能情况确定,如在用户操作电子设备100的时间段内f8为取最大值算法,在 其他时间段内f8为取平均值算法或取最小值算法。
[0147]
一种可能的实现中,电子设备100的显示屏141可以提供设置界面,设置界面中提供 性能模式、省电模式、自动调节模式和均衡模式供用户进行选择,然后电子设备100根据 用户选择的模式,然后选择模式对应的f8计算cpu的最终频率。该过程具体可以参见下面 图9所示。
[0148]
s705:电子设备100根据所述每个cpu的最终频率,对所述每个cpu进行调频。
[0149]
具体的,在该s705中,所述电子设备100中的所述cpufreq governor调用所述电子设 备100中的cpufreq driver使能cpu频率,对cpu进行调频。
[0150]
可选的,所述电子设备100还可以调节所述每个cpu的电压。
[0151]
可以理解的是,本技术实施例中涉及到的各公式均为示例,不对实际的计算过程构成 限定。
[0152]
本技术实施例提供的cpu调频方法中,通过综合计算cpu级别负载、cluster级别负载 和soc级别负载,计算cpu的频率,从而可以保证cpu调频时,可以兼容cpu的性能和 功耗需求,可以更好地适应cpu计算任务的改变和适应大中小核架构,实现更准确的cpu 调频。
[0153]
下面结合图1所示的电子设备100的硬件结构,和图7所示的cpu调频过程对本技术 实施例提供的cpu调频方法进一步说明。
[0154]
参见图9所示,电子设备100的显示屏141显示用户界面900。其中用户界面900包括 设置应用的图标901。除此之外,用户面界面900还可以包括其他应用的图标,例如相机应 用的图标、图库的图标、电话的图标等。在一些实施例中,用户界面900还可以包括状态 栏902、可隐藏的导航栏903和dock栏904。其中,状态栏902中还可以包括运营商的名 称(例如中国移动等)、移动网络(如4g)、蓝牙图标、时间和剩余电量。此外,可以理解 的是,在其他一些实施例中,状态栏902还可以包括wi-fi图标、外界设备图标等。导航栏 903中可以包括后退按钮(back button)、主屏幕键按钮(home button)和历史任务查看按 钮(menu button)。dock栏904中可以包括常用的应用的图标,例如电话的图标、信息的图 标和相机的图标。需要说明的是,dock栏904中的图标可以根据用户的需求进行相应的设 定。
[0155]
电子设备100可以响应于第一操作,在显示屏141显示用户界面910。第一操作可以为 对设置应用的图标901的操作,也可以为对用户的语音指令(如“打开设置界面”)的操作, 还可以为快捷手势操作(例如三指下滑等)。示例的,以对设置应用的图标901的触摸操作 为例,电子设备100可以基于下列方式响应于设置应用的图标901的操作:电子设备100 的触摸传感器检测到对设置应用的图标901的操作后,向处理器110(例如应用处理器)发 送触摸事件,处理器110接收到触摸事件后,确定触摸事件的类型为打开设置应用的操作, 然后通知显示屏141显示用户界面910。其中用户界面910包括电池设置按钮911。在其他 一些实施例中,用户界面910还可以包括wlan设置按钮、蓝牙设置按钮、移动网络设置 按钮等。
[0156]
电子设备100可以响应于第二操作,在显示屏141显示用户界面920。第二操作可以为 对电池设置按钮911的操作,也可以为对用户的语音指令(如“打开电池设置界面”)的操作, 还可以为快捷手势操作。其中用户界面920包括性能模式按钮921、省电模式按钮922、自 动调节模式按钮923和均衡模式按钮924。在其他一些实施例中用户界面920还可以包括其 他模式按钮。
[0157]
电子设备100中的处理器110可以根据用户选择的不同模式按钮,来进行对应的cpu 调频。
[0158]
例如,用户选择性能模式按钮921,采用performance的cpufreq governor对cpu进行 调频,将cpu的频率调整至设定范围的最高频率运行。还以图8为例,对公式14进行适应 性更改,得到公式15:
[0159]
target_freq=max(cpu_freq,cluster_freq,soc_freq)
ꢀꢀꢀꢀꢀꢀ
公式15
[0160]
公式15中f8为取最大值算法max,因此可以将cpu的频率尽可能的提高,以满足用户 的性能需求。
[0161]
又如,用户选择省电模式按钮922,采用powersave的cpufreq governor对cpu进行 调频,将cpu的频率调整至设定范围的最低频率运行。还以图8为例,对公式14进行适应 性更改,得到公式16:
[0162]
target_freq=min(cpu_freq,cluster_freq,soc_freq)
ꢀꢀꢀꢀꢀꢀ
公式16
[0163]
公式16中的f8为取最小值算法min,因此可以将cpu的频率尽可能的降低,以满足用 户的功耗需求。
[0164]
又如,用户选择自动调节模式按钮923,采用conservative的cpufreq governor对cpu 进行调频,或者采用ondemand的cpufreq governor对cpu进行调频。
[0165]
又如,用户选择均衡调节模式按钮924,采用interactive的cpufreq governor对cpu 进行调频。
[0166]
还以图8为例,对公式14进行适应性更改,得到公式17:
[0167]
target_freq=avg(cpu_freq,cluster_freq,soc_freq)
ꢀꢀꢀꢀꢀꢀ
公式17
[0168]
公式17中的f8为取平均值算法avg,因此可以均衡用户的功耗需求和性能需求。
[0169]
一种可能的方式中,本技术实施例中涉及到的公式中还可以添加因子,以对cpu调频 效果进一步优化。例如在公式11中添加因子factor2,得到公式18:
[0170][0171]
又如在公式13中添加因子factor3,得到公式19:
[0172][0173]
为了更直观的说明本技术实施例提供的cpu调频方法的性能和功耗效果。图10和图 11为计算任务应用到小核cpu上的cpu调频结果。
[0174]
当factor2=1,factor3=1时,图4中的(a)所示的soc架构不变,且任务不变时,参 见图10中的(a)所示,根据公式18和公式19计算出每个小核cpu的频率为1.8ghz, 关键任务的完成时长为0.5s,功耗和性能均保持不变。当factor2=2,factor3=1时,图4中 的(b)所示的soc架构不变,且任务不变时,参见图10中的(b)所示,根据公式18和 公式19计算出每个小核cpu的频率为1.8ghz,关键任务的完成时长为0.5s,功耗和性能 均保持不变。
[0175]
当factor2=1,factor3=1时,图6中的(a)所示的soc架构不变,且任务不变时,参 见图11中的(a)所示,根据公式18和公式19计算出每个小核cpu的频率为1.8ghz, 关键任务的完成时长为0.5s,功耗和性能均保持不变。当factor2=2,factor3=1时,图6中 的(b)所示的soc架构不变,且任务不变时,参见图11中的(b)所示,根据公式18和 公式19计算出每个小核cpu的频率为2.25ghz,关键任务的完成时长为0.4s,功耗和性 能基本保持不变。
[0176]
可见,本技术实施例提供的cpu调频方法可以更好地适应cpu计算任务的改变和适应 大中小核架构,兼容cpu的性能和功耗需求,实现更准确的cpu调频。可以理解,当计算 任务运行在中核cpu、大核cpu、大核中核的组合、大核小核的组合、中核小核的组合、 以及大中小核的组合的架构中,也可以保证性能和功耗持平,这里不具体举例说明。
[0177]
当然,用户界面900也可以放置cpu调频按钮905,用户通过操作cpu调频按钮905 来进行对应的cpu调频。参见图12所示,电子设备100响应用户对所述cpu调频按钮905 的操
用于执行如图13相应实施例中的各个步骤。
[0194]
本技术实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令, 当该计算机指令在折叠屏设备上运行时,使得折叠屏设备执行上述相关方法步骤实现上述 实施例中的cpu调频方法。
[0195]
本技术实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时, 使得计算机执行上述相关步骤,以实现上述实施例中的cpu调频方法。
[0196]
另外,本技术的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该 装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行 时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的cpu 调频方法。
[0197]
其中,本技术实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用 于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应 的方法中的有益效果,此处不再赘述。
[0198]
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁, 仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配 由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的 全部或者部分功能。
[0199]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他 的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分, 仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以 结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨 论的相互的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通 信连接,可以是电性,机械或其他的形式。
[0200]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件 可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同 地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0201]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既 可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0202]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存 储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对 现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来, 该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯 片等)或处理器(processor)执行本技术各个实施例方法的全部或部分步骤。而前述的存储 介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(randomaccess memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0203]
以上内容,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟 悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵
盖 在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献