CN112214099A - 一种基于单核cpu空闲指示的动态时钟调节系统及方法 - Google Patents

一种基于单核cpu空闲指示的动态时钟调节系统及方法 Download PDF

Info

Publication number
CN112214099A
CN112214099A CN202011111889.2A CN202011111889A CN112214099A CN 112214099 A CN112214099 A CN 112214099A CN 202011111889 A CN202011111889 A CN 202011111889A CN 112214099 A CN112214099 A CN 112214099A
Authority
CN
China
Prior art keywords
cpu
idle time
pull
clock
average
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
Application number
CN202011111889.2A
Other languages
English (en)
Other versions
CN112214099B (zh
Inventor
贠文佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011111889.2A priority Critical patent/CN112214099B/zh
Publication of CN112214099A publication Critical patent/CN112214099A/zh
Application granted granted Critical
Publication of CN112214099B publication Critical patent/CN112214099B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供一种基于单核CPU空闲指示的动态时钟调节系统及方法,所述系统包括时间跟踪模块、平均化计算模块、阈值检查模块以及时钟调整模块;时间跟踪模块,用于获取CPU时钟及CPU的空闲时间计算出每个监测周期内的CPU瞬时空闲时间比;平均化计算模块,用于缓存各CPU瞬时空闲时间比,并根据缓存的CPU瞬时空闲时间比及各类型平均监测周期,分别计算出各类型的CPU平均空闲时间比;阈值检查模块,用于判断各类型CPU平均空闲时间比是否满足各自比例阈值;时钟调整模块,用于当在监测周期内,对应类型CPU平均空闲时间比满足自身比例阈值时,产生对应类型中断,按照预设方式进行CPU时钟调整。

Description

一种基于单核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瞬时空闲时间比按照FIFO方式进行缓存;
下拉CPU平均空闲时间比计算单元,用于根据配置及状态寄存器模块提供的下拉平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出下拉CPU平均空闲时间比;
上拉CPU平均空闲时间比计算单元,用于根据配置及状态寄存器模块提供的上拉平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出上拉CPU平均空闲时间比;
上推CPU平均空闲时间比计算单元,用于根据配置及状态寄存器模块提供的上推平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出上推CPU平均空闲时间比。
进一步地,阈值检查模块包括:
下拉阈值检查单元,用于根据配置及状态寄存器模块提供的下拉比例阈值,判断下拉CPU平均空闲时间比是否大于下拉比例阈值;
上拉阈值检查单元,用于根据配置及状态寄存器模块提供的上拉比例阈值,判断上拉CPU平均空闲时间比是否小于上拉比例阈值;
上推阈值检查单元,用于根据配置及状态寄存器模块提供的上推比例阈值,判断上推CPU平均空闲时间比是否小于下拉比例阈值。
进一步地,时钟调整模块包括:
时钟下拉单元,用于当在下拉平均监测周期内,下拉CPU平均空闲时间比大于下拉比例阈值时,产生下拉中断,按照预设的查找表中对应下拉期望时钟进行CPU时钟下拉;
时钟上拉单元,用于当在上拉平均监测周期内,上拉CPU平均空闲时间比小于上拉比例阈值时,产生上拉中断,按照预设的查找表中对应上拉期望时钟进行CPU时钟上拉;
时钟上推单元,用于当在上推平均监测周期内,上推CPU平均空闲时间比小于上推比例阈值时,产生上推中断,按照预设的查找表中对应上推期望时钟进行CPU时钟上推。
第二方面,本发明提供一种基于单核CPU空闲指示的动态时钟调节方法,包括如下步骤:
S1.获取CPU时钟及CPU的空闲时间计算出每个监测周期内的CPU瞬时空闲时间比;
S2.缓存各CPU瞬时空闲时间比,并根据缓存的CPU瞬时空闲时间比,分别计算出各类型的CPU平均空闲时间比;
S3.判断各类型CPU平均空闲时间比是否满足各自比例阈值;
S4.当在监测周期内,对应类型CPU平均空闲时间比满足自身比例阈值时,产生对应类型中断,按照预设方式进行CPU时钟调整。
进一步地,步骤S1具体步骤如下:
S11.获取CPU时钟及CPU的空闲指示信号,对CPU空闲时间进行计数;
S12.获取外部参考时钟,将外部参考时钟进行分频;
S13.根据外部参考时钟分频后时钟以及监测周期,对监测周期进行计数;
S14.根据CPU时钟及CPU的空闲指示信号,监测周期计数对CPU空闲时间进行计数,输出每个监测周期内的CPU瞬时空闲时间比。
进一步地,步骤S2具体步骤如下:
S21.将各监测周期内的CPU瞬时空闲时间比按照FIFO方式进行缓存;
S22.根据下拉平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出下拉CPU平均空闲时间比;
S23.根据上拉平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出上拉CPU平均空闲时间比;
S24.根据上推平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出上推CPU平均空闲时间比。
进一步地,步骤S3具体步骤如下:
S31.判断下拉CPU平均空闲时间比是否大于下拉比例阈值;
S32.判断上拉CPU平均空闲时间比是否小于上拉比例阈值;
S33.判断上推CPU平均空闲时间比是否小于下拉比例阈值;
步骤S4具体步骤如下:
S41.当在下拉平均监测周期内,下拉CPU平均空闲时间比大于下拉比例阈值时,产生下拉中断,按照预设的查找表中对应下拉期望时钟进行CPU时钟下拉;
S42.当在上拉平均监测周期内,上拉CPU平均空闲时间比小于上拉比例阈值时,产生上拉中断,按照预设的查找表中对应上拉期望时钟进行CPU时钟上拉;
S43.当在上推平均监测周期内,上推CPU平均空闲时间比小于上推比例阈值时,产生上推中断,按照预设的查找表中对应上推期望时钟进行CPU时钟上推。
本发明的有益效果在于,
本发明提供的基于单核CPU空闲指示的动态时钟调节系统及方法,通过对CPU瞬时空闲时间比的监测,计算出CPU平均空闲时间比,再与预设的比例阈值进行比较,从而实现动态调节CPU的时钟,进而降低CPU芯片的动态功耗,减小因功耗大发热高引起的器件老化加速。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的系统示意图一;
图2是本发明的系统示意图二;
图3是本发明的方法流程示意图一;
图4是本发明的方法流程示意图二;
图5是本发明实施例中预设的查找表示意图;
图中,1-时间跟踪模块;1.1-时钟控制单元;1.2-时钟分频单元;1.3-监测周期计时单元;1.4-CPU空闲时间计时单元;2-平均化计算模块;2.1-缓存单元;2.2-下拉CPU平均空闲时间比计算单元;2.3-上拉CPU平均空闲时间比计算单元;2.4-上推CPU平均空闲时间比计算单元;3-阈值检查模块;3.1-下拉阈值检查单元;3.2-上拉阈值检查单元;3.3-上推阈值检查单元;4-时钟调整模块;4.1-时钟下拉单元;4.2-时钟上拉单元;4.3-时钟上推单元;5-配置及状态寄存器模块。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种基于单核CPU空闲指示的动态时钟调节系统,包括时间跟踪模块1、平均化计算模块2、阈值检查模块3以及时钟调整模块4;
时间跟踪模块1,用于获取CPU时钟及CPU的空闲时间计算出每个监测周期内的CPU瞬时空闲时间比;
平均化计算模块2,用于缓存各CPU瞬时空闲时间比,并根据缓存的CPU瞬时空闲时间比及各类型平均监测周期,分别计算出各类型的CPU平均空闲时间比;
阈值检查模块3,用于判断各类型CPU平均空闲时间比是否满足各自比例阈值;
时钟调整模块4,用于当在监测周期内,对应类型CPU平均空闲时间比满足自身比例阈值时,产生对应类型中断,按照预设方式进行CPU时钟调整。
实施例2:
如图2所示,本发明提供一种基于单核CPU空闲指示的动态时钟调节系统,包括时间跟踪模块1、平均化计算模块2、阈值检查模块3以及时钟调整模块4;
时间跟踪模块1,用于获取CPU时钟及CPU的空闲时间计算出每个监测周期内的CPU瞬时空闲时间比;时间跟踪模块1包括:
时钟控制单元1.1,用于获取CPU时钟及CPU的空闲指示信号,控制CPU空闲时间计时单元1.4进行计数;
时钟分频单元1.2,用于获取外部参考时钟,将外部参考时钟进行分频提供给监测周期计时单元进行计时;
监测周期计时单元1.3,用于根据时钟分频单元1.2提供的时钟、配置及状态寄存器模块5提供的监测周期,对监测周期进行计数,并将监测周期计数结果提供给CPU空闲时间计时单元1.4;
CPU空闲时间计时单元1.4,用于根据时钟控制单元1.1的CPU时钟及CPU的空闲指示信号,监测周期时间单元1.3的监测周期计数对CPU空闲时间进行计数,输出每个监测周期内的CPU瞬时空闲时间比,提供给平均化计算模块2;
平均化计算模块2,用于缓存各CPU瞬时空闲时间比,并根据缓存的CPU瞬时空闲时间比及各类型平均监测周期,分别计算出各类型的CPU平均空闲时间比;平均化计算模块2包括:
缓存单元2.1,用于将各监测周期内的CPU瞬时空闲时间比按照FIFO方式进行缓存;
下拉CPU平均空闲时间比计算单元2.2,用于根据配置及状态寄存器模块5提供的下拉平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出下拉CPU平均空闲时间比;
上拉CPU平均空闲时间比计算单元2.3,用于根据配置及状态寄存器模块5提供的上拉平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出上拉CPU平均空闲时间比;
上推CPU平均空闲时间比计算单元2.4,用于根据配置及状态寄存器模块5提供的上推平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出上推CPU平均空闲时间比;
阈值检查模块3,用于判断各类型CPU平均空闲时间比是否满足各自比例阈值;阈值检查模块3包括:
下拉阈值检查单元3.1,用于根据配置及状态寄存器模块5提供的下拉比例阈值,判断下拉CPU平均空闲时间比是否大于下拉比例阈值;
上拉阈值检查单元3.2,用于根据配置及状态寄存器模块5提供的上拉比例阈值,判断上拉CPU平均空闲时间比是否小于上拉比例阈值;
上推阈值检查单元3.3,用于根据配置及状态寄存器模块5提供的上推比例阈值,判断上推CPU平均空闲时间比是否小于下拉比例阈值;
时钟调整模块4,用于当在监测周期内,对应类型CPU平均空闲时间比满足自身比例阈值时,产生对应类型中断,按照预设方式进行CPU时钟调整;时钟调整模块4包括:
时钟下拉单元4.1,用于当在下拉平均监测周期内,下拉CPU平均空闲时间比大于下拉比例阈值时,产生下拉中断,按照预设的查找表中对应下拉期望时钟进行CPU时钟下拉;
时钟上拉单元4.2,用于当在上拉平均监测周期内,上拉CPU平均空闲时间比小于上拉比例阈值时,产生上拉中断,按照预设的查找表中对应上拉期望时钟进行CPU时钟上拉;
时钟上推单元4.3,用于当在上推平均监测周期内,上推CPU平均空闲时间比小于上推比例阈值时,产生上推中断,按照预设的查找表中对应上推期望时钟进行CPU时钟上推;
配置及状态寄存器模块5,用于配置监测周期提供给时间跟踪模块1,配置各类型平均监测周期提供给平均化计算模块2,配置各类型比例阈值提供给阈值检查模块3。
监测周期计时单元1.3中,CPU的瞬时空闲时间比IIT是基于一个监测周期来确定的,即每个监测周期之后,监测周期可以选择为CPU当前时钟周期的整数倍;
当系统不处于睡眠状态时,在每一个新的监测周期开始时,可以利用前一个监测周期内积累的空闲时间来计算IIT:
Figure BDA0002728857190000101
Tmon为监测周期,tcpuidle为CPU在一个监测窗口内的空闲时间;
CPU空闲时间计时单元1.4通过以下公式计算CPU瞬时空闲时间比:
Figure BDA0002728857190000102
其中,IIT瞬时CPU空闲时间比,AIT为CPU平均空闲时间比,其中,P为以监测周期数表示的平均周期;
CPU时钟设置是由CPU性能缩放算法动态确定的,缩放方式为以下三种:
下调:当CPU的工作负载低于第一设定阈值时,允许降低CPU时钟频率;
上调:当CPU的工作负载高于第二设定阈值时,允许增加CPU的时钟频率;
上推:当CPU的工作负载高于第三设定阈值的,允许更快和更高的CPU时钟频率;
其中,第一设定阈值小于第二设定阈值,第二设阈值小于第三设定阈值;
最终执行三种缩放方式中哪一种是由上述公式计算出的CPU平均空闲时间比来进行评判的;
针对不同的的缩放方式X(X可以是下调、上调以及上推)可以由配置及状态寄存器模块5定义单独的平均监测周期P;
将计算得到的最新的CPU平均空闲时间比的值与由配置及状态寄存器模块5指定的预设的阈值进行比较;
只要满足相应比例阈值就会触发相应的缩放方式;
根据当前的CPU时钟和已经触发的缩放方式,通过如图5所示预设的查找表中就可以获取期望的CPU时钟,预设的查找表确切地定义当前CPU时钟、缩放方式、与期望时钟的依赖关系,按照期望的时钟频率重新调节CPU时钟。
实施例3:
如图3所示,本发明提供一种基于单核CPU空闲指示的动态时钟调节方法,包括如下步骤:
S1.获取CPU时钟及CPU的空闲时间计算出每个监测周期内的CPU瞬时空闲时间比;
S2.缓存各CPU瞬时空闲时间比,并根据缓存的CPU瞬时空闲时间比,分别计算出各类型的CPU平均空闲时间比;
S3.判断各类型CPU平均空闲时间比是否满足各自比例阈值;
S4.当在监测周期内,对应类型CPU平均空闲时间比满足自身比例阈值时,产生对应类型中断,按照预设方式进行CPU时钟调整。
实施例4:
如图4所示,本发明提供一种基于单核CPU空闲指示的动态时钟调节方法,包括如下步骤:
S1.获取CPU时钟及CPU的空闲时间计算出每个监测周期内的CPU瞬时空闲时间比;具体步骤如下:
S11.获取CPU时钟及CPU的空闲指示信号,对CPU空闲时间进行计数;
S12.获取外部参考时钟,将外部参考时钟进行分频;
S13.根据外部参考时钟分频后时钟以及监测周期,对监测周期进行计数;
S14.根据CPU时钟及CPU的空闲指示信号,监测周期计数对CPU空闲时间进行计数,输出每个监测周期内的CPU瞬时空闲时间比;
S2.缓存各CPU瞬时空闲时间比,并根据缓存的CPU瞬时空闲时间比,分别计算出各类型的CPU平均空闲时间比;具体步骤如下:
S21.将各监测周期内的CPU瞬时空闲时间比按照FIFO方式进行缓存;
S22.根据下拉平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出下拉CPU平均空闲时间比;
S23.根据上拉平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出上拉CPU平均空闲时间比;
S24.根据上推平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出上推CPU平均空闲时间比;
S3.判断各类型CPU平均空闲时间比是否满足各自比例阈值;具体步骤如下:
S31.判断下拉CPU平均空闲时间比是否大于下拉比例阈值;
S32.判断上拉CPU平均空闲时间比是否小于上拉比例阈值;
S33.判断上推CPU平均空闲时间比是否小于下拉比例阈值;
S4.当在监测周期内,对应类型CPU平均空闲时间比满足自身比例阈值时,产生对应类型中断,按照预设方式进行CPU时钟调整;具体步骤如下:
S41.当在下拉平均监测周期内,下拉CPU平均空闲时间比大于下拉比例阈值时,产生下拉中断,按照预设的查找表中对应下拉期望时钟进行CPU时钟下拉;
S42.当在上拉平均监测周期内,上拉CPU平均空闲时间比小于上拉比例阈值时,产生上拉中断,按照预设的查找表中对应上拉期望时钟进行CPU时钟上拉;
S43.当在上推平均监测周期内,上推CPU平均空闲时间比小于上推比例阈值时,产生上推中断,按照预设的查找表中对应上推期望时钟进行CPU时钟上推。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种基于单核CPU空闲指示的动态时钟调节系统,其特征在于,包括时间跟踪模块(1)、平均化计算模块(2)、阈值检查模块(3)以及时钟调整模块(4);
时间跟踪模块(1),用于获取CPU时钟及CPU的空闲时间计算出每个监测周期内的CPU瞬时空闲时间比;
平均化计算模块(2),用于缓存各CPU瞬时空闲时间比,并根据缓存的CPU瞬时空闲时间比及各类型平均监测周期,分别计算出各类型的CPU平均空闲时间比;
阈值检查模块(3),用于判断各类型CPU平均空闲时间比是否满足各自比例阈值;
时钟调整模块(4),用于当在监测周期内,对应类型CPU平均空闲时间比满足自身比例阈值时,产生对应类型中断,按照预设方式进行CPU时钟调整。
2.如权利要求1所述的基于单核CPU空闲指示的动态时钟调节系统,其特征在于,还包括:
配置及状态寄存器模块(5),用于配置监测周期提供给时间跟踪模块(1),配置各类型平均监测周期提供给平均化计算模块(2),配置各类型比例阈值提供给阈值检查模块(3)。
3.如权利要求2所述的基于单核CPU空闲指示的动态时钟调节系统,其特征在于,时间跟踪模块(1)包括:
时钟控制单元(1.1),用于获取CPU时钟及CPU的空闲指示信号,控制CPU空闲时间计时单元(1.4)进行计数;
时钟分频单元(1.2),用于获取外部参考时钟,将外部参考时钟进行分频提供给监测周期计时单元进行计时;
监测周期计时单元(1.3),用于根据时钟分频单元(1.2)提供的时钟、配置及状态寄存器模块(5)提供的监测周期,对监测周期进行计数,并将监测周期计数结果提供给CPU空闲时间计时单元(1.4);
CPU空闲时间计时单元(1.4),用于根据时钟控制单元(1.1)的CPU时钟及CPU的空闲指示信号,监测周期时间单元(1.3)的监测周期计数对CPU空闲时间进行计数,输出每个监测周期内的CPU瞬时空闲时间比,提供给平均化计算模块(2)。
4.如权利要求3所述的基于单核CPU空闲指示的动态时钟调节系统,其特征在于,平均化计算模块(2)包括:
缓存单元(2.1),用于将各监测周期内的CPU瞬时空闲时间比按照FIFO方式进行缓存;
下拉CPU平均空闲时间比计算单元(2.2),用于根据配置及状态寄存器模块(5)提供的下拉平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出下拉CPU平均空闲时间比;
上拉CPU平均空闲时间比计算单元(2.3),用于根据配置及状态寄存器模块(5)提供的上拉平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出上拉CPU平均空闲时间比;
上推CPU平均空闲时间比计算单元(2.4),用于根据配置及状态寄存器模块(5)提供的上推平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出上推CPU平均空闲时间比。
5.如权利要求4所述的基于单核CPU空闲指示的动态时钟调节系统,其特征在于,阈值检查模块(3)包括:
下拉阈值检查单元(3.1),用于根据配置及状态寄存器模块(5)提供的下拉比例阈值,判断下拉CPU平均空闲时间比是否大于下拉比例阈值;
上拉阈值检查单元(3.2),用于根据配置及状态寄存器模块(5)提供的上拉比例阈值,判断上拉CPU平均空闲时间比是否小于上拉比例阈值;
上推阈值检查单元(3.3),用于根据配置及状态寄存器模块(5)提供的上推比例阈值,判断上推CPU平均空闲时间比是否小于下拉比例阈值。
6.如权利要求5所述的基于单核CPU空闲指示的动态时钟调节系统,其特征在于,时钟调整模块(4)包括:
时钟下拉单元(4.1),用于当在下拉平均监测周期内,下拉CPU平均空闲时间比大于下拉比例阈值时,产生下拉中断,按照预设的查找表中对应下拉期望时钟进行CPU时钟下拉;
时钟上拉单元(4.2),用于当在上拉平均监测周期内,上拉CPU平均空闲时间比小于上拉比例阈值时,产生上拉中断,按照预设的查找表中对应上拉期望时钟进行CPU时钟上拉;
时钟上推单元(4.3),用于当在上推平均监测周期内,上推CPU平均空闲时间比小于上推比例阈值时,产生上推中断,按照预设的查找表中对应上推期望时钟进行CPU时钟上推。
7.一种基于单核CPU空闲指示的动态时钟调节方法,其特征在于,包括如下步骤:
S1.获取CPU时钟及CPU的空闲时间计算出每个监测周期内的CPU瞬时空闲时间比;
S2.缓存各CPU瞬时空闲时间比,并根据缓存的CPU瞬时空闲时间比,分别计算出各类型的CPU平均空闲时间比;
S3.判断各类型CPU平均空闲时间比是否满足各自比例阈值;
S4.当在监测周期内,对应类型CPU平均空闲时间比满足自身比例阈值时,产生对应类型中断,按照预设方式进行CPU时钟调整。
8.如权利要求7所述的基于单核CPU空闲指示的动态时钟调节方法,其特征在于,步骤S1具体步骤如下:
S11.获取CPU时钟及CPU的空闲指示信号,对CPU空闲时间进行计数;
S12.获取外部参考时钟,将外部参考时钟进行分频;
S13.根据外部参考时钟分频后时钟以及监测周期,对监测周期进行计数;
S14.根据CPU时钟及CPU的空闲指示信号,监测周期计数对CPU空闲时间进行计数,输出每个监测周期内的CPU瞬时空闲时间比。
9.如权利要求8所述的基于单核CPU空闲指示的动态时钟调节方法,其特征在于,步骤S2具体步骤如下:
S21.将各监测周期内的CPU瞬时空闲时间比按照FIFO方式进行缓存;
S22.根据下拉平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出下拉CPU平均空闲时间比;
S23.根据上拉平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出上拉CPU平均空闲时间比;
S24.根据上推平均监测周期对缓存的CPU瞬时空闲时间比进行计算,计算出上推CPU平均空闲时间比。
10.如权利要求9所述的基于单核CPU空闲指示的动态时钟调节方法,其特征在于,步骤S3具体步骤如下:
S31.判断下拉CPU平均空闲时间比是否大于下拉比例阈值;
S32.判断上拉CPU平均空闲时间比是否小于上拉比例阈值;
S33.判断上推CPU平均空闲时间比是否小于下拉比例阈值;
步骤S4具体步骤如下:
S41.当在下拉平均监测周期内,下拉CPU平均空闲时间比大于下拉比例阈值时,产生下拉中断,按照预设的查找表中对应下拉期望时钟进行CPU时钟下拉;
S42.当在上拉平均监测周期内,上拉CPU平均空闲时间比小于上拉比例阈值时,产生上拉中断,按照预设的查找表中对应上拉期望时钟进行CPU时钟上拉;
S43.当在上推平均监测周期内,上推CPU平均空闲时间比小于上推比例阈值时,产生上推中断,按照预设的查找表中对应上推期望时钟进行CPU时钟上推。
CN202011111889.2A 2020-10-16 2020-10-16 一种基于单核cpu空闲指示的动态时钟调节系统及方法 Active CN112214099B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011111889.2A CN112214099B (zh) 2020-10-16 2020-10-16 一种基于单核cpu空闲指示的动态时钟调节系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011111889.2A CN112214099B (zh) 2020-10-16 2020-10-16 一种基于单核cpu空闲指示的动态时钟调节系统及方法

Publications (2)

Publication Number Publication Date
CN112214099A true CN112214099A (zh) 2021-01-12
CN112214099B CN112214099B (zh) 2022-11-11

Family

ID=74055562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011111889.2A Active CN112214099B (zh) 2020-10-16 2020-10-16 一种基于单核cpu空闲指示的动态时钟调节系统及方法

Country Status (1)

Country Link
CN (1) CN112214099B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238648A (zh) * 2021-05-11 2021-08-10 成都海光集成电路设计有限公司 一种功耗调整方法及其装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345296A (zh) * 2013-06-04 2013-10-09 三星半导体(中国)研究开发有限公司 动态电压频率调整触发装置和方法
CN105487597A (zh) * 2014-10-09 2016-04-13 深圳市中兴微电子技术有限公司 一种中央微处理器时钟管理方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345296A (zh) * 2013-06-04 2013-10-09 三星半导体(中国)研究开发有限公司 动态电压频率调整触发装置和方法
CN105487597A (zh) * 2014-10-09 2016-04-13 深圳市中兴微电子技术有限公司 一种中央微处理器时钟管理方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238648A (zh) * 2021-05-11 2021-08-10 成都海光集成电路设计有限公司 一种功耗调整方法及其装置

Also Published As

Publication number Publication date
CN112214099B (zh) 2022-11-11

Similar Documents

Publication Publication Date Title
US6889332B2 (en) Variable maximum die temperature based on performance state
EP1723491B1 (en) Dynamic clock control circuit and method
EP1182556B1 (en) Task based adaptive profiling and debugging
US8135966B2 (en) Method and device for power management
US7536575B2 (en) Methods of clock throttling in an integrated circuit
US8909961B2 (en) Method and apparatus for adjusting power consumption level of an integrated circuit
US20100146316A1 (en) Optimizing Power Consumption by Tracking How Program Runtime Performance Metrics Respond to Changes in Operating Frequency
KR101288667B1 (ko) 적응적 메모리 주파수 스케일링
Salehi et al. Dynamic voltage and frequency scheduling for embedded processors considering power/performance tradeoffs
US20080133947A1 (en) Central processing unit
KR20050075359A (ko) 전자 디바이스의 동작 주파수 및 동작 전압을 동적으로변화시키기 위한 방법 및 장치
TW201346509A (zh) 包含在可變喚醒率下之最佳化c-狀態選擇之高效節能方法、設備與系統
JP2002202893A (ja) 多重タスクの実行を制御する方法と処理回路
CN112214099B (zh) 一种基于单核cpu空闲指示的动态时钟调节系统及方法
US20230106072A1 (en) Using dynamic bursts to support frequency-agile memory interfaces
US7958383B2 (en) Computer system with adjustable data transmission rate
KR101863578B1 (ko) 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치 및 그 방법
CN117546121A (zh) 用于通过减少每周期指令数来控制多处理器核心系统中的电流供应的系统和方法
Najibi et al. Dynamic voltage and frequency management based on variable update intervals for frequency setting
Kalyanam et al. 35.3 Thread-Level Power Management for a Current-and Temperature-Limiting System in a 7nm Hexagon™ Processor
JP7304972B2 (ja) ピーク消費電力を制御する方法及びシステム
US9785218B2 (en) Performance state selection for low activity scenarios
Qu et al. Techniques for energy minimization of communication pipelines
Vratonjic et al. Power and performance aware memory-controller voting mechanism
US11287872B2 (en) Multi-thread power limiting via shared limit

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