CN112214099A - 一种基于单核cpu空闲指示的动态时钟调节系统及方法 - Google Patents
一种基于单核cpu空闲指示的动态时钟调节系统及方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012544 monitoring process Methods 0.000 claims abstract description 119
- 238000004364 calculation method Methods 0.000 claims abstract description 30
- 238000012935 Averaging Methods 0.000 claims abstract description 20
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000009633 clock regulation Effects 0.000 claims 1
- 238000013461 design Methods 0.000 description 4
- 238000005265 energy consumption Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003828 downregulation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000003827 upregulation Effects 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- 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)
- 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瞬时空闲时间比按照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:
Tmon为监测周期,tcpuidle为CPU在一个监测窗口内的空闲时间;
CPU空闲时间计时单元1.4通过以下公式计算CPU瞬时空闲时间比:
其中,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时钟上推。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238648A (zh) * | 2021-05-11 | 2021-08-10 | 成都海光集成电路设计有限公司 | 一种功耗调整方法及其装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345296A (zh) * | 2013-06-04 | 2013-10-09 | 三星半导体(中国)研究开发有限公司 | 动态电压频率调整触发装置和方法 |
CN105487597A (zh) * | 2014-10-09 | 2016-04-13 | 深圳市中兴微电子技术有限公司 | 一种中央微处理器时钟管理方法及装置 |
-
2020
- 2020-10-16 CN CN202011111889.2A patent/CN112214099B/zh active Active
Patent Citations (2)
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)
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 |