CN114579508A - 一种cpu调频方法及电子设备 - Google Patents
一种cpu调频方法及电子设备 Download PDFInfo
- Publication number
- CN114579508A CN114579508A CN202110143656.9A CN202110143656A CN114579508A CN 114579508 A CN114579508 A CN 114579508A CN 202110143656 A CN202110143656 A CN 202110143656A CN 114579508 A CN114579508 A CN 114579508A
- Authority
- CN
- China
- Prior art keywords
- cpu
- frequency
- cluster
- soc
- load
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- 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/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Sources (AREA)
Abstract
本申请实施例提供一种CPU调频方法及电子设备,用以提高CPU调频的准确性,满足不同性能和功耗需求。所述CPU调频方法中电子设备根据待调频的第一中央处理器CPU的频率、所述第一CPU所属的簇cluster的频率、所述第一CPU所属的系统级芯片SoC的频率中的至少两个,确定所述第一CPU的目标频率;根据所述目标频率,对所述第一CPU进行调频。
Description
相关申请的交叉引用
本申请要求在2020年11月30日提交中国专利局、申请号为202011380562.5、申请名称为 “一种CPU调频方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申 请中。
技术领域
本申请涉及技术领域,尤其涉及一种CPU调频方法及电子设备。
背景技术
中央处理器(central processing unit,CPU)频率决定CPU的运行速度,是影响CPU性 能的指标之一。一般的,CPU频率越高,CPU的运行速度越快,性能越好。
电子设备可以根据CPU的负载,计算所述CPU的频率,并采用计算得到的所述CPU的频率对所述CPU进行调频,以满足用户的使用需求。
但是计算单个CPU的频率时,仅考虑了单个CPU的负载,无法适应电子设备中不同的 CPU架构,无法满足不同的性能和功耗需求,甚至带来性能卡顿的问题。
发明内容
本申请实施例提供一种中央处理器(central processing unit,CPU)调频方法及电子设 备,能够提高CPU调频的准确性,满足不同性能和功耗需求。
第一方面,本申请实施例提供一种CPU调频方法,该方法包括:根据待调频的第一中 央处理器CPU的频率、所述第一CPU所属的簇cluster的频率、所述第一CPU所属的系统级芯片SoC的频率中的至少两个,确定所述第一CPU的目标频率;根据所述目标频率,对 所述第一CPU进行调频。
通过上述方法,电子设备可以通过综合计算CPU级别的频率、cluster级别的频率和SoC 级别的频率,计算得到CPU的最终频率,从而可以保证CPU调频时,可以兼容CPU的性能和功耗需求,可以更好地适应CPU计算任务的改变和适应大中小核架构,实现更准确的CPU调频。
一种可能的实现方式,所述cluster包括至少一个CPU,所述至少一个CPU包括所述第 一CPU;所述SoC包括至少一个cluster,所述至少一个cluster包括所述第一CPU所属的cluster。该CPU调频方法可以应用于多核CPU架构,从而适应不同组合的大中小核的CPU 架构,实现更准确的CPU调频。
可选的,所述第一CPU可以为大核CPU、或者中核CPU、或者小核CPU。
一种可能的实现方式,在根据待调频的第一CPU的频率、所述第一CPU所属的cluster 的频率、所述第一CPU所属的SoC的频率中的至少两个,确定所述第一CPU的目标频率 时,可以根据待调频的第一CPU的频率、所述第一CPU所属的cluster的频率、所述第一CPU所属的SoC的频率中的至少两个,以及性能需求和功耗需求,确定所述第一CPU的目 标频率。从而可以适应CPU计算任务的改变,兼容CPU的性能和功耗需求,实现更准确的 调频。
可选的,当性能敏感时,所述第一CPU的功耗最大;当性能不敏感时,所述第一CPU的功耗最小。
或者可选的,当检测到用户的操作时,所述第一CPU的功耗最大;当未检测到用户的 操作时,所述第一CPU的功耗最小。
一种可能的实现方式,所述CPU的频率根据所述CPU的负载和/或所述CPU的使用率确定。例如所述CPU的频率根据所述CPU的负载确定;或者所述CPU的频率根据所述CPU 的负载和所述CPU的使用率确定。通过计算CPU级别的负载,可以兼容CPU的性能和功 耗需求,实现更准确的CPU调频。
一种可能的实现方式,所述CPU所属的cluster的频率根据所述cluster的负载和/或所 述cluster的使用率确定。例如所述CPU所属的cluster的频率根据所述cluster的负载确定; 或者所述CPU所属的cluster的频率根据所述cluster的负载和所述cluster的使用率确定。在 计算CPU的最终频率时,考虑到了cluster级别的负载,可以兼容CPU的性能和功耗需求, 实现更准确的CPU调频。
一种可能的实现方式,所述cluster的负载根据属于所述cluster的至少一个CPU的负载 确定;所述cluster的使用率根据属于所述cluster的至少一个CPU的使用率确定。
一种可能的实现方式,所述CPU所属的SoC的频率根据所述SoC的负载和/或所述SoC 的使用率确定。例如所述CPU所属的SoC的频率根据所述SoC的负载确定;或者所述CPU所属的SoC的频率根据所述SoC的负载和所述SoC的使用率确定。在计算CPU的最终频 率时,考虑到了SoC级别的负载,可以兼容CPU的性能和功耗需求,实现更准确的CPU 调频。
一种可能的实现方式,所述SoC的负载根据属于所述SoC的至少一个cluster的负载确 定;所述SoC的使用率根据属于所述SoC的至少一个cluster的使用率确定。
可见通过综合计算CPU级别负载、cluster级别负载和SoC级别负载,计算CPU的频率,在CPU调频时,可以兼容CPU的性能和功耗需求,可以更好地适应CPU计算任务的 改变和适应大中小核架构,实现更准确的CPU调频。
第二方面,本申请实施例还提供一种电子设备,该电子设备包括:一个或多个处理器; 一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机程序,所述一 个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电 子设备执行上述第一方面及其第一方面任一可能实现的技术方案。
第三方面,本申请实施例还提供一种电子设备,该电子设备包括执行第一方面或者第 一方面的任意一种可能的实现的方法的模块/单元;这些模块/单元可以通过硬件实现,也可 以通过硬件执行相应的软件实现。
第四方面,本申请实施例还提供一种芯片,所述芯片与电子设备中的存储器耦合,执 行本申请实施例第一方面及其第一方面任一可能实现的技术方案;本申请实施例中“耦合” 是指两个部件彼此直接或间接地结合。
第五方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质 包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行本申请实施 例第一方面及其第一方面任一可能实现的技术方案。
第六方面,本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在电子 设备上运行时,使得所述电子设备执行本申请实施例第一方面及其第一方面任一可能实现 的技术方案。
上述第二方面至第六方面中任一方面及其任一方面中任意一种可能的实现可以达到的 技术效果,请参照上述第一方面及其第一方面中相应设计可以带来的技术效果描述,这里 不再重复赘述。
附图说明
图1为本申请实施例提供的一种电子设备的硬件结构示意图;
图2为本申请实施例提供的CPU调频模块的示意图;
图3为本申请实施例提供的CPU调频策略的示意图;
图4、图5、图6、图8、图10、图11为本申请实施例提供的CPU调频的示意图;
图7、图13为本申请实施例提供的CPU调频方法流程示意图;
图9、图12为本申请实施例提供的一种CPU调频场景的示意图;
图14为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了提高CPU调频的准确性,满足不同性能和功耗需求,本申请提供一种CPU调频方 法,其中方法和电子设备是基于同一技术构思的,由于方法和电子设备解决问题的原理相 似,因此电子设备与方法的实施例可以相互参见,重复之处不再赘述。
本申请实施例描述的业务场景是为了更加清楚的说明本申请实施例的技术方案,并不 构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新业务场 景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
以下对本申请实施例的部分用语进行解释说明,以便于本领域技术人员理解。
1)电子设备,本申请实施例可以应用于电子设备中。本申请实施例中电子设备可以为 终端。例如,终端可以为便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可 穿戴设备(如智能手表)、车载设备等。便携式电子设备的示例性实施例包括但不限于搭载 或者其它操作系统的便携式电子设备。
示例的,如图1所示,为本申请实施例提供的一种电子设备的硬件结构示意图。具体 的,电子设备100可以包括处理器110、内部存储器121、外部存储器接口122、音频模块130、扬声器130A、受话器130B、麦克风130C、耳机接口130D、显示屏141、摄像头151、 按键152、通用串行总线(universal serial bus,USB)接口160、充电管理模块170、电源管 理模块171和电池172。在另一些实施例中,电子设备100还可以包括指示器。
其中,处理器110可以包括一个或多个处理单元。例如:处理器110可以包括CPU、应用处理器(application processor,AP)、图形处理器(graphics processing unit,GPU)、和/或基带处理器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处 理器中。
在本申请实施例中,所述处理器110包括一个或多个CPU,每个CPU都分别对应一个CPU调频模块,每个CPU调频模块用于对其所对应的CPU进行调频。可选的,CPU调频 模块可以位于CPU内部或外部。CPU调频模块的一种可能的结构示意图参见下述图2,在 此不多论述。
所述电子设备100中包括的一个或多个CPU调频模块未在图1中示出。
在一些实施例中,处理器110中还可以设置存储器,用于存储指令和数据。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。 处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以 及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存 储操作系统,至少一个功能所需的应用程序(比如声音播放功能、图像采集功能等)等。存储 数据区可存储电子设备100使用过程中所创建的数据(比如音频数据、电话本、拍照所需的 参数等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存 储器,例如至少一个磁盘存储器件、闪存器件、通用闪存存储器(universal flashstorage,UFS) 等。
外部存储器接口122可以用于连接外部存储卡(例如,Micro SD卡),实现扩展电子设 备100的存储能力。
电子设备100可以通过音频模块130、扬声器130A、受话器130B、麦克风130C、耳 机接口130D以及应用处理器等实现音频功能。例如音乐播放、录音等。
电子设备100可以通过GPU、显示屏141、以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏141和应用处理器。GPU用于执行数学和几何计算,用 于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏141可以用于显示图像、视频等。在一些实施例中,电子设备100可以包括1个或N个显示屏141,N为大于1的正整数。
电子设备100还可以通过摄像头151、视频编解码器、GPU、显示屏141以及应用处理器等实现拍摄功能。
摄像头151可以用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元 件。在一些实施例中,电子设备100可以包括1个或N个摄像头151,N为大于1的正整数。处理器110或者是处理器110中包括的处理单元(如GPU)可以运行或执行存储在内部存 储器121内的软件程序和/或模块,以及将图像在显示屏141上进行显示。
按键152可以包括开机键、音量键等。按键152可以是机械按键,也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关 的键信号输入。
在另一些实施例中,处理器110还可以包括一个或多个接口。例如,接口可以为SIM卡接口。又例如,接口还可以为USB接口160。可以理解的是,本申请实施例可以通过接 口连接电子设备100的不同模块,从而使得电子设备100能够实现不同的功能。需要说明 的是,本申请实施例对电子设备100中接口的连接方式不作限定。
USB接口160是符合USB标准规范的接口。例如,USB接口160可以包括Mini USB 接口、Micro USB接口、USB Type C接口等。USB接口160可以用于连接充电器为电子设 备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机, 通过耳机播放音频。USB接口160还可以用于连接其他电子设备。
充电管理模块170用于从充电器接收充电输入。其中,充电器可以是无线充电器,也 可以是有线充电器。在一些有线充电的实施例中,充电管理模块170可以通过USB接口160 接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块170可以通过电 子设备100的无线充电线圈接收无线充电输入。充电管理模块170为电池172充电的同时, 还可以通过电源管理模块171为电子设备100供电。
电源管理模块171用于连接电池172、充电管理模块170与处理器110。电源管理模块 171接收电池172和/或充电管理模块170的输入,为处理器110、内部存储器121、外部存储器122、显示屏141和摄像头151等供电。电源管理模块171还可以用于监测电池容量、 电池循环次数、电池健康状态(漏电、阻抗)等参数。在其他一些实施例中,电源管理模块171也可以设置于处理器110中。在另一些实施例中,电源管理模块171和充电管理模块170 也可以设置于同一个器件中。
应理解,图1所示的电子设备100的硬件结构仅是一个示例。本申请实施例的电子设备 100可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可 以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用 集成电路在内的硬件、软件、或硬件和软件的组合中实现。
2)CPU,是电子设备的运算和控制核心,主要用于实现信息处理和程序运行。CPU可以包括大核CPU(也可以简称为大核)、中核CPU(也可以简称为中核)或小核CPU(也 可以简称为小核)中的一个或多个,大核的处理能力最高、性能最强,中核的处理能力和 性能均次之,小核的处理能力最低,性能最弱。
CPU是系统级芯片(system on chip,SoC)的一部分。例如,一个或多个CPU可以构成一个集群/簇(cluster),电子设备的SoC中包括多个cluster,多个cluster方便对CPU进行调度,达到更佳的能耗比。可选的,每个cluster仅包括大核、中核或者小核。
值得注意的是,每个CPU(或每个CPU对应的CPU调频模块)可以单独计算每个CPU的频率,每个CPU(或每个CPU对应的CPU调频模块)采用自身计算得到的频率进行调 频;或者cluster可以计算cluster内的CPU的频率,cluster内的每个CPU采用cluster计算 得到的频率进行调频,在本申请实施例中不做限制。也就是说,在本申请实施例中对于计 算CPU频率的主体不进行限制。
若每个CPU(或每个CPU对应的CPU调频模块)单独计算每个CPU的频率,则计算 得到的每个CPU的频率可以相同或不同,每个CPU的电压也可以相同或不同;若cluster 可以计算cluster内的CPU的频率,则计算得到cluster内的每个CPU的频率一般相同,cluster内的每个CPU的电压也相同。
可以理解的是,为了简化说明,本申请实施例中以每个CPU对应的CPU调频模块单独 计算每个CPU的频率,并采用计算得到的频率分别对每个CPU调频进行说明。
3)CPU频率,也称CPU主频,简称频率,是CPU的时钟频率,指CPU运算时的工 作的频率,单位是赫兹(Hz)。CPU频率决定CPU的运行速度,是影响CPU性能的指标之 一。一般的,CPU频率越高,CPU的运行速度越快,性能越好。
这里,对一个CPU的频率进行调整的工作原理进行简单说明。首先,CPU的硬件特性决定了这个CPU的最高工作频率(max frequency)和最低工作频率(min frequency),即决定了CPU频率调整的一个范围cpuinfo_freq,所有的频率调整数值都必须在这个范围内。然后,可以在这个范围内再次定义出一个软件的调节范围scaling_freq,同时根据具体的硬件 平台的不同,还需要提供一个频率表,这个频率表规定了CPU可以工作的频率值,当然这些频率值必须在cpuinfo_freq范围内。有了这些频率信息,就可以根据当前CPU的负载情况,合理地从频率表中选择一个合适的频率供CPU使用。至于如何选择频率表中的频率, 要由不同的调节模块(governor)来实现。通过governor调整频率的过程,将在下面进行详 细说明。
4)CPU电压,简称电压,是CPU正常工作所需的电压,单位是伏(V)。一般的,CPU 频率越高,所需要为CPU提供的工作电压也就越高。
频率和电压之间存在对应关系,通过调整频率可以实现电压的调整,通过调整电压也 可以实现频率的调整。通过调整电压和频率,可以实现CPU性能和功耗的平衡,满足不同 性能和功耗需求。例如在不需要高性能或需要低能耗时,可以降低频率和电压,或者在需 要高性能时,可以提高电压和频率。
5)CPU调频模块,每个CPU都分别对应一个CPU调频模块,每个CPU调频模块用 于对其所对应的CPU进行调频。可选的,CPU调频模块可以位于CPU内部或外部。
如图2所示,CPU调频模块至少包括:CPU频率(frequency,Freq)核心模块(core)、CPUFreq驱动模块(driver)和CPUFreq调节模块(governor)。所述CPUFreq core分别与 所述CPUFreq driver和所述CPUFreq governor连接。
所述CPUFreq core用于提供公共应用程序接口(application programminginterface,API), 以及在内部封装各种逻辑,以实现所需功能。
所述CPUFreq driver用于处理与平台相关的逻辑,完成CPU频率和电压的控制。平台 指不同类型的处理器,如x86或进阶精简指令集机器(advanced RISC machine,ARM)等,或者如高通或麒麟等。
所述CPUFreq governor也可以看作频率控制器,负责检测CPU的使用状况,根据不同 使用场景,在可用的范围内选择一个合适的频率。
每个CPU都对应有一个独立的CPU调频策略(cpufreq_policy),如图3所示,CPU_0对应有policy_0,CPU_1对应有policy_1,……,CPU_7对应有policy_7。每个cpufreq_policy 都包含一个CPUFreq governor来调整频率,CPUFreq driver根据CPUFreqgovernor选择的频 率对CPU频率进行控制。可选的CPUFreq governor可以包括但不限于以下至少一种:高性 能模式(performance)、省电模式(powersave)、保守模式(conservative)、按需模式(ondemand)、 交互模式(interactive)、用户模式(userspace)、和/或schedutil。
Performance:按设定范围的最高频率运行,所述设定范围可以为cpuinfo_freq或者可以 为scaling_freq的调节范围。
Powersave:按设定范围的最低频率运行。
Conservative:按需快速动态调整CPU频率,当有高需求时逐渐提高频率,当低需求时 迅速降低频率。
Ondemand:电子设备未被用户操作时控制CPU在最低频率,一旦存在CPU的工作任务(如用户执行滑屏或打开应用等操作),控制CPU迅速提升至最高工作频率。
Interactive:注重响应速度和性能,当有高需求时迅速调至高频率,当低需求时逐渐降 低频率。
Userspace:按用户指定的频率运行。用户指定的频率不超过配置的频率范围,如不超 过cpuinfo_freq或scaling_freq的调节范围。
Schedutil:基于调度的程序调整CPU频率,例如用户玩在线游戏时的CPU频率较高, 用户使用聊天软件进行聊天时的CPU频率较低。
在ARM平台CPU调频中,以cluster为整体进行管理,同一cluster中的CPU有相同的cpufreq_policy,在CPU调频时针对同一cluster中的CPU均进行调频。
需要说明的是,本申请中,“至少一个”是指一个或者多个,多个是指两个或两个以上; 在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或 暗示相对重要性,也不能理解为指示或暗示顺序。
下面先对相关技术中的CPU调频过程进行简单说明:
相关技术中电子设备100(或电子设备100中的CPU调频模块)根据CPU的负载,计算CPU的频率,如下面公式1所示:
cpu_freq=f1(cpu_util) 公式1
其中,cpu_freq为CPU的频率,cpu_util为CPU的负载,f1为用于计算CPU频率的算法,这里不做限制。可见,这里在计算单个CPU的频率时,仅考虑了单个CPU的负载,无 法适应大中小核的CPU架构,因此会带来性能卡顿的问题。
下面举例对存在的上述问题进行说明,基于公式1的一种可能的公式如公式2所示:
其中,cpu_cap为CPU的使用率,cpu_max_freq为CPU的最高工作频率。
当电子设备100为大小核架构(即包括大核和小核的SoC)时,如包括2个小核和2个大核时,参见图4中的(a)所示,SoC包括cluster0和cluster1,cluster0包括2个小核, 分别为CPU0和CPU1,cluster1包括2个大核,分别为CPU2和CPU3。假设加入4个任务, 其中一个关键任务(如图4中的(a)所示的黑色框)和一个非关键任务(如图4中的(a) 所示的白色框)运行在CPU0上,其余两个非关键任务运行在CPU1上。根据公式2计算出 每个小核CPU的频率为1.8吉(G)Hz,关键任务的完成时长为0.5秒(s)。
当与图4中的(a)中同样的4个任务运行在4个大核2个小核的SoC上时,参见图4 中的(b)所示,SoC包括cluster0和cluster1,cluster0包括4个小核,分别为CPU0、CPU1、 CPU2和CPU3,cluster1包括2个大核,分别为CPU4和CPU5。4个任务中的关键任务运 行在CPU0上,其余三个非关键任务分别运行在CPU1、CPU2和CPU3上。根据公式2计 算出的每个小核CPU的频率为0.9GHz,关键任务的完成时长为1s,可见任务的完成时长 变长,CPU的性能明显下降。
为了缩短任务的完成时长,提高CPU的性能,一种方式是在公式2的基础上添加一个 因子(factor),得到公式3:
当factor1=1,图4中的(a)所示的SoC架构不变,且任务不变时,参见图5中的(a)所示,根据公式3计算出每个小核CPU的频率为1.8GHz,关键任务的完成时长为0.5s,功 耗和性能均保持不变。
当factor1=2,图4中的(b)所示的SoC架构不变,且任务不变时,参见图5中的(b)所示,根据公式3计算出每个小核CPU的频率为1.8GHz,关键任务的完成时长为0.5s,功 耗和性能均保持不变。
但是实际电子设备100在工作时,CPU的计算任务会发生变化。参见图6中的(a)所示,当factor1=1,图4中的(a)所示的SoC架构不变,但任务发生变化时,假设有5个任 务,其中一个关键任务和一个非关键任务运行在CPU0上,其余三个非关键任务运行在CPU1 上。根据公式3计算出每个小核CPU的频率为1.8GHz,关键任务的完成时长为0.5s,功耗 和性能均保持不变。
当factor1=2,图4中的(b)所示的SoC架构不变,但任务发生变化时,参见图6中的(b)所示,与图6中的(a)中同样的5个任务中,一个关键任务和一个非关键任务运行在 CPU0上,其余三个非关键任务分别运行在CPU1、CPU2和CPU3上。根据公式3计算出 每个小核CPU的频率为3.6GHz,关键任务的完成时长为0.25s。可见CPU的功耗翻倍,明 显增高。
综上,当CPU的计算任务发生变化时,根据相关技术中计算得到的频率对CPU进行调 频时,可能导致CPU的功耗增高。也就是说,相关技术中不能兼容CPU的性能和功耗需求,无法适应不同的CPU架构,且无法适应CPU计算任务的改变,不能准确进行CPU调频。
为了提高CPU调频的准确性,满足CPU的性能和功耗需求,本申请实施例提供一种CPU调频方法及装置。所述CPU调频方法中根据CPU、cluster和SoC的负载综合决策CPU 的频率,可以更好的适应大中小核架构和计算任务的改变,保证CPU调频的准确性。下面 结合图1所示的电子设备100的硬件结构对本申请实施例提供的CPU调频方法进行详细说 明。参见图7所示,包括以下步骤:
可选的S701:电子设备100确定定时器超时。
本申请实施例提供的CPU调频方法可以由电子设备100实现,更具体的,可以由电子 设备100中的CPU调频模块或内核调度模块实现。可选的,所述内核调度模块包括所述CPU 调频模块。
电子设备100中可以保存有定时器,所述定时器可以为正计时定时器或倒计时定时器, 所述定时器的时长取值任意,在此不做限定。
该S701的步骤可以认为是电子设备100周期性的进行CPU调频。
S702:电子设备100针对每个CPU,计算所述每个CPU的负载、所述每个CPU所属 的cluster的负载和所述每个CPU所属的SoC的负载。
以图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。
CPU的负载可以根据单位时间内在该CPU上运行的任务数量确定。所述单位时间的时 长取值任意,在此不做限定。所述单位时间的时长与所述定时器的时长可以相同,可以不 同。
Cluster的负载可以根据属于该cluster的CPU的负载确定。例如cluster的负载满足以下 公式4:
其中,cluster_util为cluster的负载,i为第i个CPU,m为CPU的数量,m为正整数,i为正整数且i小于或等于m。
SoC的负载可以根据属于该SoC的cluster的负载确定。例如SoC的负载满足以下公式 5:
其中,soc_util为SoC的负载,j为第j个cluster,n为cluster的数量,n为正整数,j为正整数且j小于或等于n。
可选的,电子设备100还可以针对每个CPU,计算每个CPU的使用率、所述每个CPU所属的cluster的使用率和所述每个CPU所属的SoC的使用率。
CPU的使用率可以根据在该CPU上运行的任务占用的CPU资源确定。
Cluster的使用率可以根据属于该cluster的CPU的使用率确定。例如cluster的使用率满 足以下公式6:
其中,cluster_cap为cluster的使用率,i为第i个CPU,m为CPU的数量,m为正整数,i为正整数且i小于或等于m。
SoC的使用率可以根据属于该SoC的cluster的使用率确定。例如SoC的使用率满足以 下公式7:
其中,soc_cap为SoC的使用率,j为第j个cluster,n为cluster的数量,n为正整数,j为正整数且j小于或等于n。
S703:电子设备100确定触发CPU调频。
在S703中,电子设备100可以针对每个CPU,判断每个CPU的当前频率与每个CPU 在S702中计算得到的负载是否匹配。若匹配,则电子设备100可以确定触发CPU调频, 若不匹配,则电子设备100可以确定不触发CPU调频。
在一个可能的示例中,电子设备100可以统计每个CPU的当前频率,计算每个CPU的当前频率所能够处理的CPU的负载,然后判断S702中计算得到的每个CPU的负载相比于 每个CPU的当前频率所能够处理的CPU的负载不过高或不过低。若不过高且不过低,则确 定匹配,若过高或过低,则确定不匹配。
当电子设备100确定触发CPU调频时,所述电子设备100执行S704。当电子设备100不确定触发CPU调频时,可选的,所述电子设备100返回执行S701。
S704:电子设备100针对每个CPU,根据所述每个CPU的负载、所述每个CPU所属 的cluster的负载和所述每个CPU所属的SoC的负载,计算所述每个CPU的频率。
在S704中,所述电子设备100可以根据所述每个CPU的负载,计算所述每个CPU的CPU级别的频率,根据每个CPU所属的cluster的负载,计算cluster级别的频率,根据每 个CPU所属的SoC的负载,计算SoC级别的频率,然后根据所述每个CPU的CPU级别的 频率、所述每个CPU对应的cluster级别的频率和SoC级别的频率,确定每个CPU的最终 频率。
CPU级别的频率根据CPU的负载确定。例如CPU级别的频率满足以下公式8:
cpu_freq=f2(cpu_util,cpu_max_freq) 公式8
其中,f2为用于计算CPU级别的频率的算法,这里不做限制。
可选的,CPU级别的频率可以根据CPU的负载和CPU的使用率确定。例如CPU级别 的频率满足以下公式9:
cpu_freq=f3(cpu_util,cpu_cap,cpu_max_freq) 公式9
其中,f3为用于计算CPU级别的频率的算法,这里不做限制。
cluster级别的频率根据cluster的负载确定。例如cluster级别的频率满足以下公式10:
cluster_freq=f4(cluster_util,cpu_max_freq) 公式10
其中,f4为用于计算cluster级别的频率的算法,这里不做限制。cpu_max_freq可以为 属于该cluster的所有CPU中的最高工作频率。
可选的,cluster级别的频率可以根据cluster的负载和cluster的使用率确定。例如cluster 级别的频率满足以下公式11:
cluster_freq=f5(cluster_util,cluster_cap,cpu_max_freq) 公式11
其中,f5为用于计算CPU级别的频率的算法,这里不做限制。
SoC级别的频率可以根据SoC的负载确定。例如SoC级别的频率满足以下公式12:
soc_freq=f6(soc_util,cpu_max_freq) 公式12
其中,f6为用于计算SoC级别的频率的算法,这里不做限制。cpu_max_freq可以为属 于该SoC的所有CPU中的最高工作频率。
可选的,SoC级别的频率可以根据SoC的频率和SoC的使用率使用。例如SoC级别的频率满足以下公式13:
soc_freq=f7(soc_util,soc_cap,cpu_max_freq) 公式13
其中,f7为用于计算SoC级别的频率的算法,这里不做限制。
CPU的最终频率可以根据该CPU的CPU级别的频率、该CPU对应的cluster级别的频率和该CPU对应的SoC级别的频率确定。例如,CPU级别的频率满足以下公式14:
target_freq=f8(cpu_freq,cluster_freq,soc_freq) 公式14
其中,target_freq为CPU的最终频率,f8为用于计算CPU的最终频率的算法,这里不做限制。cpu_freq为该CPU的CPU级别的频率,cluster_freq为该CPU对应的cluster 级别的频率,soc_freq为该CPU对应的SoC级别的频率。
例如,f8可以为取最大值算法或取最小值算法或取平均值算法,或者可选的f8的算法可 以根据功耗和性能情况确定,如在用户操作电子设备100的时间段内f8为取最大值算法,在 其他时间段内f8为取平均值算法或取最小值算法。
一种可能的实现中,电子设备100的显示屏141可以提供设置界面,设置界面中提供 性能模式、省电模式、自动调节模式和均衡模式供用户进行选择,然后电子设备100根据用户选择的模式,然后选择模式对应的f8计算CPU的最终频率。该过程具体可以参见下面图9所示。
S705:电子设备100根据所述每个CPU的最终频率,对所述每个CPU进行调频。
具体的,在该S705中,所述电子设备100中的所述CPUFreq governor调用所述电子设 备100中的CPUFreq driver使能CPU频率,对CPU进行调频。
可选的,所述电子设备100还可以调节所述每个CPU的电压。
可以理解的是,本申请实施例中涉及到的各公式均为示例,不对实际的计算过程构成 限定。
本申请实施例提供的CPU调频方法中,通过综合计算CPU级别负载、cluster级别负载 和SoC级别负载,计算CPU的频率,从而可以保证CPU调频时,可以兼容CPU的性能和 功耗需求,可以更好地适应CPU计算任务的改变和适应大中小核架构,实现更准确的CPU 调频。
下面结合图1所示的电子设备100的硬件结构,和图7所示的CPU调频过程对本申请实施例提供的CPU调频方法进一步说明。
参见图9所示,电子设备100的显示屏141显示用户界面900。其中用户界面900包括设置应用的图标901。除此之外,用户面界面900还可以包括其他应用的图标,例如相机应用的图标、图库的图标、电话的图标等。在一些实施例中,用户界面900还可以包括状态 栏902、可隐藏的导航栏903和Dock栏904。其中,状态栏902中还可以包括运营商的名 称(例如中国移动等)、移动网络(如4G)、蓝牙图标、时间和剩余电量。此外,可以理解 的是,在其他一些实施例中,状态栏902还可以包括Wi-Fi图标、外界设备图标等。导航栏 903中可以包括后退按钮(back button)、主屏幕键按钮(home button)和历史任务查看按 钮(menubutton)。Dock栏904中可以包括常用的应用的图标,例如电话的图标、信息的图 标和相机的图标。需要说明的是,Dock栏904中的图标可以根据用户的需求进行相应的设 定。
电子设备100可以响应于第一操作,在显示屏141显示用户界面910。第一操作可以为 对设置应用的图标901的操作,也可以为对用户的语音指令(如“打开设置界面”)的操作, 还可以为快捷手势操作(例如三指下滑等)。示例的,以对设置应用的图标901的触摸操作 为例,电子设备100可以基于下列方式响应于设置应用的图标901的操作:电子设备100的触摸传感器检测到对设置应用的图标901的操作后,向处理器110(例如应用处理器)发送触摸事件,处理器110接收到触摸事件后,确定触摸事件的类型为打开设置应用的操作,然后通知显示屏141显示用户界面910。其中用户界面910包括电池设置按钮911。在其他 一些实施例中,用户界面910还可以包括WLAN设置按钮、蓝牙设置按钮、移动网络设置 按钮等。
电子设备100可以响应于第二操作,在显示屏141显示用户界面920。第二操作可以为 对电池设置按钮911的操作,也可以为对用户的语音指令(如“打开电池设置界面”)的操作, 还可以为快捷手势操作。其中用户界面920包括性能模式按钮921、省电模式按钮922、自 动调节模式按钮923和均衡模式按钮924。在其他一些实施例中用户界面920还可以包括其 他模式按钮。
电子设备100中的处理器110可以根据用户选择的不同模式按钮,来进行对应的CPU 调频。
例如,用户选择性能模式按钮921,采用performance的CPUFreq governor对CPU进行 调频,将CPU的频率调整至设定范围的最高频率运行。还以图8为例,对公式14进行适应性更改,得到公式15:
target_freq=max(cpu_freq,cluster_freq,soc_freq) 公式15
公式15中f8为取最大值算法max,因此可以将CPU的频率尽可能的提高,以满足用户 的性能需求。
又如,用户选择省电模式按钮922,采用powersave的CPUFreq governor对CPU进行调频,将CPU的频率调整至设定范围的最低频率运行。还以图8为例,对公式14进行适应 性更改,得到公式16:
target_freq=min(cpu_freq,cluster_freq,soc_freq) 公式16
公式16中的f8为取最小值算法min,因此可以将CPU的频率尽可能的降低,以满足用 户的功耗需求。
又如,用户选择自动调节模式按钮923,采用conservative的CPUFreq governor对CPU 进行调频,或者采用ondemand的CPUFreq governor对CPU进行调频。
又如,用户选择均衡调节模式按钮924,采用interactive的CPUFreq governor对CPU 进行调频。
还以图8为例,对公式14进行适应性更改,得到公式17:
target_freq=avg(cpu_freq,cluster_freq,soc_freq) 公式17
公式17中的f8为取平均值算法avg,因此可以均衡用户的功耗需求和性能需求。
一种可能的方式中,本申请实施例中涉及到的公式中还可以添加因子,以对CPU调频 效果进一步优化。例如在公式11中添加因子factor2,得到公式18:
又如在公式13中添加因子factor3,得到公式19:
为了更直观的说明本申请实施例提供的CPU调频方法的性能和功耗效果。图10和图 11为计算任务应用到小核CPU上的CPU调频结果。
当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,功耗和性能 均保持不变。
当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,功耗和性 能基本保持不变。
可见,本申请实施例提供的CPU调频方法可以更好地适应CPU计算任务的改变和适应 大中小核架构,兼容CPU的性能和功耗需求,实现更准确的CPU调频。可以理解,当计算任务运行在中核CPU、大核CPU、大核中核的组合、大核小核的组合、中核小核的组合、 以及大中小核的组合的架构中,也可以保证性能和功耗持平,这里不具体举例说明。
当然,用户界面900也可以放置CPU调频按钮905,用户通过操作CPU调频按钮905来进行对应的CPU调频。参见图12所示,电子设备100响应用户对所述CPU调频按钮905 的操作。电子设备100的显示屏141显示用户界面1200,用户界面1200包括性能模式按钮 1201、省电模式按钮1202、自动调节模式按钮1203和均衡模式按钮1204。在其他一些实 施例中,用户界面1200还可以包括其他模式按钮。
基于图2至图12,本申请实施例提供一种CPU调频方法,如图13所示,该方法适用于电子设备。
S1301:电子设备100根据待调频的第一CPU的频率、所述第一CPU所属的cluster的频率、所述第一CPU所属的SoC的频率中的至少两个,确定所述第一CPU的目标频率。
具体的,所述CPU调频方法可以由电子设备100中的CPU调频模块或内核调度模块实 现。可选的,所述内核调度模块包括所述CPU调频模块。
所述电子设备100包括一个或多个CPU。电子设备100中的CPU可以为大核CPU、中核CPU或者小核CPU。可选的,所述电子设备100的CPU架构中,所述SoC包括至少一 个cluster,所述至少一个cluster包括所述第一CPU所属的cluster。所述cluster包括至少一个CPU,所述至少一个CPU包括所述第一CPU。
一种可能的实现方式中,所述电子设备100可以在以下场景中确定进行CPU调频:
电子设备100的CPU计算任务发生改变;或者
电子设备100检测到用户的操作;或者
电子设备100确定CPU的当前频率与计算得到的频率不匹配,如所述第一CPU的频率 与所述第一CPU的目标频率不匹配。
可以理解的是,所述电子设备100包括多个CPU时,可以针对每个CPU均进行本申请实施例提供的CPU调频方法。
在该S1301中,所述电子设备100可以根据待调频的第一CPU的频率、所述第一CPU所属的cluster的频率、所述第一CPU所属的SoC的频率中的至少两个,以及性能需求和功耗需求,确定所述第一CPU的目标频率。例如当性能敏感时,所述第一CPU的功耗最大; 当性能不敏感时,所述第一CPU的功耗最小。又如当检测到用户操作时,所述第一CPU的 功耗最大;当未检测到用户操作时,所述第一CPU的功耗最小。
其中,所述CPU的频率根据所述CPU的负载和/或所述CPU的使用率确定。所述CPU所属的cluster的频率根据所述cluster的负载和/或所述cluster的使用率确定。所述CPU所 属的SoC的频率根据所述SoC的负载和/或所述SoC的使用率确定。
所述S1301的具体实现过程可以参见上述实施例中描述,在此不重复赘述。
S1302:电子设备100根据所述目标频率,对所述第一CPU进行调频。
可选的,所述电子设备100还可以调节所述第一CPU的电压。
本申请实施例中通过综合计算CPU级别负载、cluster级别负载和SoC级别负载,计算 CPU的频率,从而可以保证CPU调频时,可以兼容CPU的性能和功耗需求,可以更好地 适应CPU计算任务的改变和适应大中小核架构,实现更准确的CPU调频。
在本申请的另一些实施例中,本申请实施例公开了一种电子设备,如图14所示,所述 电子设备可以包括:一个或多个处理器1401;一个或多个存储器1402;一个或多个应用程 序(未示出);以及一个或多个计算机程序1403,上述各器件可以通过一个或多个通信总线 1404连接。其中该一个或多个计算机程序1403被存储在上述存储器1402中并被配置为被 该一个或多个处理器1401执行,该一个或多个计算机程序1403包括指令,上述指令可以用于执行如图13相应实施例中的各个步骤。
本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令, 当该计算机指令在折叠屏设备上运行时,使得折叠屏设备执行上述相关方法步骤实现上述 实施例中的CPU调频方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时, 使得计算机执行上述相关步骤,以实现上述实施例中的CPU调频方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该 装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行 时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的CPU 调频方法。
其中,本申请实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用 于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应 的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁, 仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配 由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的 全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他 的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分, 仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以 结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨 论的相互的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通 信连接,可以是电性,机械或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件 可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同 地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既 可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存 储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对 现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来, 该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯 片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储 介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟 悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖 在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (21)
1.一种CPU调频方法,其特征在于,包括:
根据待调频的第一中央处理器CPU的频率、所述第一CPU所属的簇cluster的频率、所述第一CPU所属的系统级芯片SoC的频率中的至少两个,确定所述第一CPU的目标频率;
根据所述目标频率,对所述第一CPU进行调频。
2.如权利要求1所述的方法,其特征在于,所述cluster包括至少一个CPU,所述至少一个CPU包括所述第一CPU;
所述SoC包括至少一个cluster,所述至少一个cluster包括所述第一CPU所属的cluster。
3.如权利要求1或2所述的方法,其特征在于,所述根据待调频的第一CPU的频率、所述第一CPU所属的cluster的频率、所述第一CPU所属的SoC的频率中的至少两个,确定所述第一CPU的目标频率,包括:
根据待调频的第一CPU的频率、所述第一CPU所属的cluster的频率、所述第一CPU所属的SoC的频率中的至少两个,以及性能需求和功耗需求,确定所述第一CPU的目标频率。
4.如权利要求3所述的方法,其特征在于,还包括:
当性能敏感时,所述第一CPU的功耗最大;
当性能不敏感时,所述第一CPU的功耗最小。
5.如权利要求1-4任一项所述的方法,其特征在于,所述CPU的频率根据所述CPU的负载确定;或者
所述CPU的频率根据所述CPU的负载和所述CPU的使用率确定。
6.如权利要求1-5任一项所述的方法,其特征在于,所述CPU所属的cluster的频率根据所述cluster的负载确定;或者
所述CPU所属的cluster的频率根据所述cluster的负载和所述cluster的使用率确定。
7.如权利要求6所述的方法,其特征在于,所述cluster的负载根据属于所述cluster的至少一个CPU的负载确定;
所述cluster的使用率根据属于所述cluster的至少一个CPU的使用率确定。
8.如权利要求1-7任一项所述的方法,其特征在于,所述CPU所属的SoC的频率根据所述SoC的负载确定;或者
所述CPU所属的SoC的频率根据所述SoC的负载和所述SoC的使用率确定。
9.如权利要求8所述的方法,其特征在于,所述SoC的负载根据属于所述SoC的至少一个cluster的负载确定;
所述SoC的使用率根据属于所述SoC的至少一个cluster的使用率确定。
10.如权利要求1-9任一项所述的方法,其特征在于,所述第一CPU为大核CPU、中核CPU或小核CPU。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
所述一个或多个存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如下步骤:
根据待调频的第一中央处理器CPU的频率、所述第一CPU所属的簇cluster的频率、所述第一CPU所属的系统级芯片SoC的频率中的至少两个,确定所述第一CPU的目标频率;
根据所述目标频率,对所述第一CPU进行调频。
12.如权利要求11所述的电子设备,其特征在于,所述cluster包括至少一个CPU,所述至少一个CPU包括所述第一CPU;
所述SoC包括至少一个cluster,所述至少一个cluster包括所述第一CPU所属的cluster。
13.如权利要求11或12所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如下步骤:
根据待调频的第一CPU的频率、所述第一CPU所属的cluster的频率、所述第一CPU所属的SoC的频率中的至少两个,以及性能需求和功耗需求,确定所述第一CPU的目标频率。
14.如权利要求13所述的电子设备,其特征在于,
当性能敏感时,所述第一CPU的功耗最大;
当性能不敏感时,所述第一CPU的功耗最小。
15.如权利要求11-14任一项所述的电子设备,其特征在于,所述CPU的频率根据所述CPU的负载确定;或者
所述CPU的频率根据所述CPU的负载和所述CPU的使用率确定。
16.如权利要求11-15任一项所述的电子设备,其特征在于,所述CPU所属的cluster的频率根据所述cluster的负载确定;或者
所述CPU所属的cluster的频率根据所述cluster的负载和所述cluster的使用率确定。
17.如权利要求16所述的电子设备,其特征在于,所述cluster的负载根据属于所述cluster的至少一个CPU的负载确定;
所述cluster的使用率根据属于所述cluster的至少一个CPU的使用率确定。
18.如权利要求11-16任一项所述的电子设备,其特征在于,所述CPU所属的SoC的频率根据所述SoC的负载确定;或者
所述CPU所属的SoC的频率根据所述SoC的负载和所述SoC的使用率确定。
19.如权利要求18所述的电子设备,其特征在于,所述SoC的负载根据属于所述SoC的至少一个cluster的负载确定;
所述SoC的使用率根据属于所述SoC的至少一个cluster的使用率确定。
20.如权利要求11-19任一项所述的电子设备,其特征在于,所述第一CPU为大核CPU、中核CPU或小核CPU。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行如权利要求1-10中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020113805625 | 2020-11-30 | ||
CN202011380562 | 2020-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114579508A true CN114579508A (zh) | 2022-06-03 |
Family
ID=81770716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110143656.9A Pending CN114579508A (zh) | 2020-11-30 | 2021-02-02 | 一种cpu调频方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579508A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048772A (zh) * | 2022-08-26 | 2023-05-02 | 荣耀终端有限公司 | 中央处理单元频率的调整方法、装置和终端设备 |
-
2021
- 2021-02-02 CN CN202110143656.9A patent/CN114579508A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048772A (zh) * | 2022-08-26 | 2023-05-02 | 荣耀终端有限公司 | 中央处理单元频率的调整方法、装置和终端设备 |
CN116048772B (zh) * | 2022-08-26 | 2023-10-31 | 荣耀终端有限公司 | 中央处理单元频率的调整方法、装置和终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11914446B2 (en) | Electronic device control method and apparatus, and electronic device | |
KR102336856B1 (ko) | 전자 장치 및 그의 배터리 충방전 제어 방법 | |
JP5786641B2 (ja) | 携帯端末装置の制御方法、制御プログラム及び携帯端末装置 | |
US11056898B2 (en) | Systems and methods to determine time at which battery is to be charged | |
US11411422B2 (en) | Battery charging method, battery charging apparatus and storage medium | |
US10064141B2 (en) | Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit | |
CN111158455A (zh) | 一种功耗控制方法、装置、存储介质及终端 | |
US20150121112A1 (en) | Method for adjusting shutdown threshold voltage, startup method, and electronic devices thereof | |
KR20150107448A (ko) | 태스크 마이그레이션 방법 및 장치 | |
US11695291B2 (en) | Method to charge battery and electronic device including battery | |
CN111954286B (zh) | 一种功率调节方法、装置、存储介质及终端 | |
CN109661649B (zh) | 用于支持优先系统事件的增强的功率管理 | |
EP3540564A1 (en) | Electronic device for providing, via display, notification of event occurring in electronic device in low power mode, and control method therefor | |
CN116490856A (zh) | 一种功耗控制装置、处理器及功耗控制方法 | |
KR20160019824A (ko) | 전자장치의 처리량 제어장치 및 방법 | |
CN114579508A (zh) | 一种cpu调频方法及电子设备 | |
KR101659018B1 (ko) | 이동 단말기 및 그 제어 방법 | |
KR20180138351A (ko) | 씨피유 전력 제어 장치 및 방법 | |
CN110708747A (zh) | 数据传输速率调整方法、系统、存储介质及移动终端 | |
CN110119034A (zh) | 摄像装置、摄像控制方法、存储介质及电子设备 | |
CN117112191A (zh) | 信息处理方法和电子设备 | |
CN116885827B (zh) | 充电电流控制方法和电子设备 | |
CN117114961B (zh) | 一种频率调整方法及电子设备 | |
US20230213990A1 (en) | Method for controlling power supply and electronic device using same | |
CN117666753A (zh) | 处理器调频方法、设备、芯片系统、存储介质及程序产品 |
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 |