动态电压频率调整触发装置和方法.pdf

上传人:t**** 文档编号:5779868 上传时间:2019-03-18 格式:PDF 页数:11 大小:539.97KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310217616.X

申请日:

2013.06.04

公开号:

CN103345296A

公开日:

2013.10.09

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 1/32申请日:20130604|||公开

IPC分类号:

G06F1/32

主分类号:

G06F1/32

申请人:

三星半导体(中国)研究开发有限公司; 三星电子株式会社

发明人:

严力科

地址:

215021 江苏省苏州市工业园区国际科技园科技广场7楼

优先权:

专利代理机构:

北京铭硕知识产权代理有限公司 11286

代理人:

王兆赓;刘奕晴

PDF下载: PDF下载
内容摘要

提供了一种动态电压频率调整触发装置和方法,所述装置包括:定时器,当定时周期结束时,对空闲率计算器和DVFS中断发生器进行触发;空闲率计算器,基于所述触发计算结束的定时周期内的处理器空闲率;DVFS中断发生器,基于所述触发确定结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限,如果超出当前处理器功耗级别的上限或者下限,则发出中断信号;以及存储器,存储包括处理器各个功耗级别的上限和下限的处理器功耗级别界限表。

权利要求书

权利要求书
1.  一种动态电压频率调整(DVFS)触发装置,包括:
定时器,当定时周期结束时,对空闲率计算器和DVFS中断发生器进行触发;
空闲率计算器,基于所述触发计算结束的定时周期内的处理器空闲率;
DVFS中断发生器,基于所述触发确定结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限,如果超出当前处理器功耗级别的上限或者下限,则发出中断信号;以及
存储器,存储包括处理器各个功耗级别的上限和下限的处理器功耗级别界限表。

2.  如权利要求1所述的DVFS触发装置,其中,空闲率计算器通过将结束的定时周期结束时的处理器周期计数与结束的定时周期的上一个定时周期结束时的处理器周期计数相减来获得结束的定时周期内的处理器周期数,通过将结束的定时周期结束时的处理器指令发射空闲周期计数与结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数相减来获得结束的定时周期内的处理器指令发射空闲的周期数,并将处理器指令发射空闲的周期数与处理器周期数的比值作为结束的定时周期内的处理器空闲率。

3.  如权利要求1所述的DVFS触发装置,其中,以查找表形式实现处理器功耗级别界限表。

4.  如权利要求1所述的DVFS触发装置,其中,当前处理器功耗级别被提供给存储器,从而DVFS中断发生器以当前处理器功耗级别为索引对功耗级别界限表进行访问。

5.  如权利要求1~4之一所述的DVFS触发装置,其中,DVFS触发装置的初始化参数包括:结束的定时周期的上一个定时周期结束时的处理器周期计数、结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数、定时周期以及当前处理器功耗级别。

6.  如权利要求5所述的DVFS触发装置,其中,在DVFS中断发生器发出中断信号之后,操作系统(OS)中所述中断信号的服务例程通知OS中的DVFS模块,DVFS模块根据预定策略进行决策以确定是否对处理器频率和电压执行调节,并根据执行结果对DVFS触发装置进行重置。

7.  如权利要求6所述的DVFS触发装置,其中:
如果DVFS模块调节了处理器频率和电压,则将调节的处理器频率和电压所对应的处理器功耗级别设置为当前处理器功耗级别,将结束的定时周期结束时的处理器周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器周期计数,将结束的定时周期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数,并对定时器进行重置;以及
如果DVFS模块未调节处理器频率和电压,则直接将结束的定时周期结束时的处理器周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器周期计数,将结束的定时周期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数,并对定时器进行重置。

8.  一种动态电压频率调整(DVFS)触发方法,包括:
当定时周期结束时,由定时器对空闲率计算器和DVFS中断发生器进行触发;
由空闲率计算器基于所述触发计算结束的定时周期内的处理器空闲率;
由DVFS中断发生器基于所述触发确定结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限,如果超出当前处理器功耗级别的上限或者下限,则发出中断信号,
其中,由存储器存储包括处理器各个功耗级别的上限和下限的处理器功耗级别界限表。

9.  如权利要求8所述的DVFS触发方法,其中,由空闲率计算器通过将结束的定时周期结束时的处理器周期计数与结束的定时周期的上一个定时周期结束时的处理器周期计数相减来获得结束的定时周期内的处理器周期数,通过将结束的定时周期结束时的处理器指令发射空闲周期计数与结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数相减来获得结束的定时周期内的处理器指令发射空闲的周期数,并将处理器指令发射空闲的周期数与处理器周期数的比值作为结束的定时周期内的处理器空闲率。

10.  如权利要求8或权利要求9所述的DVFS触发方法,其中,DVFS触发方法的初始化参数包括:结束的定时周期的上一个定时周期结束时的处理器周期计数、结束的定时周期的上一个定时周期结束时的处理器指令发射空 闲周期计数、定时周期以及当前处理器功耗级别。

说明书

说明书动态电压频率调整触发装置和方法
技术领域
本申请涉及处理器控制领域,更具体地,涉及一种动态电压频率调整触发装置和方法。
背景技术
动态电压频率调整(DVFS)是一种根据芯片所运行的应用程序对计算能力的不同需要动态地调节芯片的运行频率和电压(对于同一芯片,频率越高,需要的电压也越高)的技术,降低频率可以降低功率,但是单纯地降低频率并不能节省能量,只有在降低频率的同时降低电压,才能真正地降低能量消耗,达到节能的目的。
目前许多芯片支持DVFS,比如Intel公司的芯片支持SpeedStep,ARM公司的芯片支持IEM(Intelligent Energy Manager)和AVS(Adaptive Voltage Scaling)等,但是要让DVFS发挥作用,真正地实现节能,需要软件与硬件的综合设计。在现有软件与硬件协同工作的方法中,硬件只是提供动态调频调压的支持和接口,而软件则需要周期性的计算当前处理器的负载,通过特定的策略决策是否需要对电压和频率进行调节。
现有技术的DVFS原理如下:操作系统中的DVFS模块在初始化和每次DVFS任务触发执行后,都将下次DVFS任务放入延迟工作队列中,以这种方式反复对处理器进行DVFS决策和调整。其中,每次DVFS任务的内容包括:根据系统记录的信息,计算当前负载;根据系统的当前负载,预测系统在下一时间段需要的性能;将预测的性能转换成需要的频率,从而调整芯片的时钟设置;根据新的频率计算相应的电压,通知电源管理模块调整CPU的电压。
现有技术的DVFS方法通过延迟工作队列技术实现周期性的检查处理器上的工作负载,进行DVFS决策和设置。这种方法虽然能够正常工作,但是存在如下问题:
一、软件模块周期性检查只能以延时周期为窗口对处理器在周期内的平均负载进行计算,如果延时过长则不能及时反映处理器的负载变化,而延时 过短又会导致该软件模块的频繁执行,增加系统开销;
二、由于每次软件模块进行负载的计算和决策前,无从知晓处理器的负载情况,很可能发生软件模块多次执行,而实际上并不需要进行DVFS调节的情况,浪费了模块执行的代价。
发明内容
根据本发明的一方面,提供了一种动态电压频率调整(DVFS)触发装置,包括:定时器,当定时周期结束时,对空闲率计算器和DVFS中断发生器进行触发;空闲率计算器,基于所述触发计算结束的定时周期内的处理器空闲率;DVFS中断发生器,基于所述触发确定结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限,如果超出当前处理器功耗级别的上限或者下限,则发出中断信号;以及存储器,存储包括处理器各个功耗级别的上限和下限的处理器功耗级别界限表。
空闲率计算器可通过将结束的定时周期结束时的处理器周期计数与结束的定时周期的上一个定时周期结束时的处理器周期计数相减来获得结束的定时周期内的处理器周期数,通过将结束的定时周期结束时的处理器指令发射空闲周期计数与结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数相减来获得结束的定时周期内的处理器指令发射空闲的周期数,并将处理器指令发射空闲的周期数与处理器周期数的比值作为结束的定时周期内的处理器空闲率。
可以以查找表形式实现处理器功耗级别界限表。
当前处理器功耗级别可被提供给存储器,从而DVFS中断发生器以当前处理器功耗级别为索引对功耗级别界限表进行访问。
DVFS触发装置的初始化参数可包括:结束的定时周期的上一个定时周期结束时的处理器周期计数、结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数、定时周期以及当前处理器功耗级别。
在DVFS中断发生器发出中断信号之后,操作系统(OS)中所述中断信号的服务例程可通知OS中的DVFS模块,DVFS模块根据预定策略进行决策以确定是否对处理器频率和电压执行调节,并根据执行结果对DVFS触发装置进行重置。
如果DVFS模块调节了处理器频率和电压,则可将调节的处理器频率和电 压所对应的处理器功耗级别设置为当前处理器功耗级别,将结束的定时周期结束时的处理器周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器周期计数,将结束的定时周期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数,并对定时器进行重置;如果DVFS模块未调节处理器频率和电压,则可直接将结束的定时周期结束时的处理器周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器周期计数,将结束的定时周期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数,并对定时器进行重置。
根据本发明的另一方面,提供了一种动态电压频率调整(DVFS)触发方法,包括:当定时周期结束时,由定时器对空闲率计算器和DVFS中断发生器进行触发;由空闲率计算器基于所述触发计算结束的定时周期内的处理器空闲率;由DVFS中断发生器基于所述触发确定结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限,如果超出当前处理器功耗级别的上限或者下限,则发出中断信号,其中,由存储器存储包括处理器各个功耗级别的上限和下限的处理器功耗级别界限表。
可由空闲率计算器通过将结束的定时周期结束时的处理器周期计数与结束的定时周期的上一个定时周期结束时的处理器周期计数相减来获得结束的定时周期内的处理器周期数,通过将结束的定时周期结束时的处理器指令发射空闲周期计数与结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数相减来获得结束的定时周期内的处理器指令发射空闲的周期数,并将处理器指令发射空闲的周期数与处理器周期数的比值作为结束的定时周期内的处理器空闲率。
可以以查找表形式实现处理器功耗级别界限表。
当前处理器功耗级别可被提供给存储器,从而DVFS中断发生器以当前处理器功耗级别为索引对功耗级别界限表进行访问。
DVFS触发方法的初始化参数可包括:结束的定时周期的上一个定时周期结束时的处理器周期计数、结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数、定时周期以及当前处理器功耗级别。
在DVFS中断发生器发出中断信号之后,操作系统(OS)中所述中断信号的服务例程可通知OS中的DVFS模块,DVFS模块根据预定策略进行决策以确 定是否对处理器频率和电压执行调节,并根据执行结果对DVFS触发方法的初始化参数进行重置。
如果DVFS模块调节了处理器频率和电压,则可将调节的处理器频率和电压所对应的处理器功耗级别设置为当前处理器功耗级别,将结束的定时周期结束时的处理器周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器周期计数,将结束的定时周期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数,并对定时器进行重置;如果DVFS模块未调节处理器频率和电压,则可直接将结束的定时周期结束时的处理器周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器周期计数,将结束的定时周期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数,并对定时器进行重置。
将在接下来的描述中部分阐述本发明另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明的实施而得知。
附图说明
通过下面结合附图进行的详细描述,本发明的上述和其它目的和特点将会变得更加清楚,其中:
图1是示出根据本发明示例性实施例的DVFS触发装置的示图;
图2是示出根据本发明示例性实施例的图1的DVFS触发装置的DVFS方法的流程图。
具体实施方式
现在,详细描述本发明的示例性实施例,其示例在附图中表示,其中,相同的标号始终表示相同的部件。
图1是示出根据本发明示例性实施例的DVFS硬件触发装置的示图。
如图1所示,DVFS硬件触发装置主要包括定时器110、空闲率计算器120、存储器130和DVFS中断发生器140。
定时器110在定时周期(Round_Cycle)结束时对空闲率计算器和DVFS中断发生器进行触发,其中,Round_Cycle可作为初始化参数被提供给定时器110。此外,仅作为示例,定时器110可由一个32位计数器和一个32位 比较器组成。
空闲率计算器120基于所述触发计算结束的定时周期内的反映处理器负载的处理器空闲率。仅作为示例,空闲率计算器120可包括减法器121、122和除法器123,减法器121通过将结束的定时周期结束时的处理器周期计数(CCNT)与作为初始化参数的结束的定时周期的上一个定时周期结束时的处理器周期计数(Last_CCNT)相减来获得结束的定时周期内的处理器周期数,减法器122通过将结束的定时周期结束时的处理器指令发射空闲周期计数(IECNT)与作为初始化参数的结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数(Last_IECNT)相减来获得结束的定时周期内的处理器指令发射空闲的周期数,除法器123通过将处理器指令发射空闲的周期数与所述处理器周期数相除,以将处理器指令发射空闲的周期数与所述处理器周期数的比值作为结束的定时周期内的处理器空闲率。这里,可通过操作系统(OS)的处理器性能监控单元获得CCNT和IECNT。此外,减法器121、122可以是32位无符号数减法器,除法器123可以是32位无符号数除法器。应了解,上述空闲率计算器120的具体操作仅是示例,本领域技术人员还可根据实际需要来计算处理器空闲率,诸如,可计算先前两个定时周期内的处理器空闲率。
存储器130存储包括处理器各功耗级别的空闲率上限和下限的处理器功耗级别界限表。处理器功耗级别界限表的示例如表1所示,其记录至少两个处理器功耗级别的表项,每个表项记录一个处理器功耗级别的空闲率上限和下限。此外,当前处理器功耗级别(St_Cur)可作为初始化参数被提供给存储器130,从而可以以St_Cur为索引对功耗级别界限表进行访问。此外,仅作为示例,存储器130可由SRAM模块实现,处理器功耗级别界限表可以以查找表形式实现。
表1
功耗级别空闲率上限空闲率下限级别1…………级别2…………级别3…………级别4…………
………………
DVFS中断发生器140基于所述触发确定空闲率计算器120计算结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限,如果超出当前处理器功耗级别的上限或者下限,则发出DVFS中断信号。更具体地,DVFS中断发生器140可以以St_Cur为索引对存储器130中的处理器功耗级别界限表进行访问,从而获得当前处理器功耗级别的上限和下限并进而进行比较。此外,仅作为示例,DVFS中断发生器140可由两个比较器以及对比较器输出结果进行“或”操作的或门组成。
应该了解,在DVFS中断发生器140发出DVFS中断信号之后,OS中所述中断信号的服务例程通知OS中的DVFS模块,DVFS模块根据预定策略进行决策以确定是否对处理器频率和电压执行调节,并根据执行结果对DVFS触发装置进行重置。
此外,DVFS硬件触发模块的初始化参数可包括:结束的定时周期的上一个定时周期结束时的处理器周期计数(Last_CCNT)、结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数(Last_IECNT)、定时周期(Round_Cycle)、当前处理器功耗级别(St_Cur)。Round_Cycle是指DVFS硬件模块进行一次是否要触发OS中的DVFS模块判断的周期数,仅作为示例,该定时周期的延时可以设置为现有DVFS方法两次执行之间的延时。St_Cur表示当前处理器功耗级别,当系统初始化时,St_Cur可被初始化为与处理器功耗级别对应的值。
图2是示出根据本发明示例性实施例的图1的DVFS硬件触发装置的DVFS方法的流程图。
如图2所示,在操作S210,系统上电并启动。
在操作S220,对DVFS触发装置和OS中的DVFS模块进行初始化。其中,对DVFS硬件触发装置的初始化可对如下初始化参数进行设置:结束的定时周期的上一个定时周期结束时的处理器周期计数(Last_CCNT)、结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数(Last_IECNT)、定时周期(Round_Cycle)、当前处理器功耗级别(St_Cur)。此外,在操作S220之前,还可确定是否需要启动DVFS硬件触发装置。
如果初始化失败,则流程结束。
如果初始化成功,则在操作S230,定时器根据定时周期进行定时,当定时周期结束时,对空闲率计算器和DVFS中断发生器进行触发。
在操作S240,空闲率计算器基于所述触发来计算结束的定时周期内的处理器空闲率。
在操作S250,DVFS中断发生器基于所述触发确定结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限。
如果未超出当前处理器功耗级别的上限或者下限,则在操作S290,将CCNT锁存到Last_CCNT,将IECNT锁存到Last_IECNT,并重置定时器。随后,操作返回S230。
如果超出当前处理器功耗级别的上限或者下限,则在操作S260,DVFS中断发生器发出DVFS中断信号。
在操作S270,DVFS模块根据预定策略进行决策以确定是否对处理器频率和电压执行调节。这里,仅作为示例,DVFS模块可根据“ONDEMAND”策略,如果当前CPU负载超过负载上限,则将处理器功耗级别提高到频率最高一级,如果当前CPU负载超过负载下限,则逐级降低处理器功耗级别。
如果DVFS模块调节了处理器频率和电压,则在操作S280,将调节的处理器频率和电压所对应的处理器功耗级别设置为St_Cur,将CCNT锁存到Last_CCNT,将IECNT锁存到Last_IECNT,并重置定时器。随后,操作返回S230。
如果DVFS模块未调节处理器频率和电压,则进行操作S290,随后操作返回S230。
应该了解,上述操作S280、S290仅作为根据执行结果对DVFS触发装置进行重置的示例,本领域技术人员能够根据需要对DVFS触发装置进行任意适合的重置。
根据本发明的示例性实施例,通过采用硬件触发模块计算处理器负载,可以设置较小的定时周期从而可以及时反映处理器的负载变化,而不必担心系统开销的大幅增加;此外,通过硬件模块的计算,以先前计时周期内的空闲率作为未来计时周期空闲率的预测值,进行是否触发OS中的DVFS模块的决策,可减少OS中的DVFS模块的执行次数,尤其是减少OS中的DVFS模块的无效执行造成的系统开销。
虽然已经参照特定示例性实施例示出和描述了本发明,但是本领域的技 术人员将理解,在不脱离范围由权利要求及其等同物限定的本发明的精神和范围的情况下可作出形式和细节上的各种改变。

动态电压频率调整触发装置和方法.pdf_第1页
第1页 / 共11页
动态电压频率调整触发装置和方法.pdf_第2页
第2页 / 共11页
动态电压频率调整触发装置和方法.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《动态电压频率调整触发装置和方法.pdf》由会员分享,可在线阅读,更多相关《动态电压频率调整触发装置和方法.pdf(11页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103345296 A (43)申请公布日 2013.10.09 CN 103345296 A *CN103345296A* (21)申请号 201310217616.X (22)申请日 2013.06.04 G06F 1/32(2006.01) (71)申请人 三星半导体 (中国) 研究开发有限公 司 地址 215021 江苏省苏州市工业园区国际科 技园科技广场 7 楼 申请人 三星电子株式会社 (72)发明人 严力科 (74)专利代理机构 北京铭硕知识产权代理有限 公司 11286 代理人 王兆赓 刘奕晴 (54) 发明名称 动态电压频率调整触发装置和方法 (57。

2、) 摘要 提供了一种动态电压频率调整触发装置和方 法, 所述装置包括 : 定时器, 当定时周期结束时, 对空闲率计算器和 DVFS 中断发生器进行触发 ; 空 闲率计算器, 基于所述触发计算结束的定时周期 内的处理器空闲率 ; DVFS 中断发生器, 基于所述 触发确定结束的定时周期内的处理器空闲率是否 超出当前处理器功耗级别的上限或者下限, 如果 超出当前处理器功耗级别的上限或者下限, 则发 出中断信号 ; 以及存储器, 存储包括处理器各个 功耗级别的上限和下限的处理器功耗级别界限 表。 (51)Int.Cl. 权利要求书 2 页 说明书 6 页 附图 2 页 (19)中华人民共和国国家知识。

3、产权局 (12)发明专利申请 权利要求书2页 说明书6页 附图2页 (10)申请公布号 CN 103345296 A CN 103345296 A *CN103345296A* 1/2 页 2 1. 一种动态电压频率调整 (DVFS) 触发装置, 包括 : 定时器, 当定时周期结束时, 对空闲率计算器和 DVFS 中断发生器进行触发 ; 空闲率计算器, 基于所述触发计算结束的定时周期内的处理器空闲率 ; DVFS 中断发生器, 基于所述触发确定结束的定时周期内的处理器空闲率是否超出当前 处理器功耗级别的上限或者下限, 如果超出当前处理器功耗级别的上限或者下限, 则发出 中断信号 ; 以及 存储。

4、器, 存储包括处理器各个功耗级别的上限和下限的处理器功耗级别界限表。 2. 如权利要求 1 所述的 DVFS 触发装置, 其中, 空闲率计算器通过将结束的定时周期结 束时的处理器周期计数与结束的定时周期的上一个定时周期结束时的处理器周期计数相 减来获得结束的定时周期内的处理器周期数, 通过将结束的定时周期结束时的处理器指令 发射空闲周期计数与结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周 期计数相减来获得结束的定时周期内的处理器指令发射空闲的周期数, 并将处理器指令发 射空闲的周期数与处理器周期数的比值作为结束的定时周期内的处理器空闲率。 3. 如权利要求 1 所述的 DVFS 触。

5、发装置, 其中, 以查找表形式实现处理器功耗级别界限 表。 4.如权利要求1所述的DVFS触发装置, 其中, 当前处理器功耗级别被提供给存储器, 从 而 DVFS 中断发生器以当前处理器功耗级别为索引对功耗级别界限表进行访问。 5. 如权利要求 1 4 之一所述的 DVFS 触发装置, 其中, DVFS 触发装置的初始化参数包 括 : 结束的定时周期的上一个定时周期结束时的处理器周期计数、 结束的定时周期的上一 个定时周期结束时的处理器指令发射空闲周期计数、 定时周期以及当前处理器功耗级别。 6. 如权利要求 5 所述的 DVFS 触发装置, 其中, 在 DVFS 中断发生器发出中断信号之后,。

6、 操作系统 (OS) 中所述中断信号的服务例程通知 OS 中的 DVFS 模块, DVFS 模块根据预定策略 进行决策以确定是否对处理器频率和电压执行调节, 并根据执行结果对 DVFS 触发装置进 行重置。 7. 如权利要求 6 所述的 DVFS 触发装置, 其中 : 如果 DVFS 模块调节了处理器频率和电压, 则将调节的处理器频率和电压所对应的处 理器功耗级别设置为当前处理器功耗级别, 将结束的定时周期结束时的处理器周期计数锁 存到结束的定时周期的上一个定时周期结束时的处理器周期计数, 将结束的定时周期结束 时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处 理器。

7、指令发射空闲周期计数, 并对定时器进行重置 ; 以及 如果 DVFS 模块未调节处理器频率和电压, 则直接将结束的定时周期结束时的处理器 周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器周期计数, 将结束的定 时周期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期 结束时的处理器指令发射空闲周期计数, 并对定时器进行重置。 8. 一种动态电压频率调整 (DVFS) 触发方法, 包括 : 当定时周期结束时, 由定时器对空闲率计算器和 DVFS 中断发生器进行触发 ; 由空闲率计算器基于所述触发计算结束的定时周期内的处理器空闲率 ; 由 DVFS 中断发生器基于所述。

8、触发确定结束的定时周期内的处理器空闲率是否超出当 前处理器功耗级别的上限或者下限, 如果超出当前处理器功耗级别的上限或者下限, 则发 权 利 要 求 书 CN 103345296 A 2 2/2 页 3 出中断信号, 其中, 由存储器存储包括处理器各个功耗级别的上限和下限的处理器功耗级别界限 表。 9. 如权利要求 8 所述的 DVFS 触发方法, 其中, 由空闲率计算器通过将结束的定时周期 结束时的处理器周期计数与结束的定时周期的上一个定时周期结束时的处理器周期计数 相减来获得结束的定时周期内的处理器周期数, 通过将结束的定时周期结束时的处理器指 令发射空闲周期计数与结束的定时周期的上一个定。

9、时周期结束时的处理器指令发射空闲 周期计数相减来获得结束的定时周期内的处理器指令发射空闲的周期数, 并将处理器指令 发射空闲的周期数与处理器周期数的比值作为结束的定时周期内的处理器空闲率。 10. 如权利要求 8 或权利要求 9 所述的 DVFS 触发方法, 其中, DVFS 触发方法的初始化 参数包括 : 结束的定时周期的上一个定时周期结束时的处理器周期计数、 结束的定时周期 的上一个定时周期结束时的处理器指令发射空闲周期计数、 定时周期以及当前处理器功耗 级别。 权 利 要 求 书 CN 103345296 A 3 1/6 页 4 动态电压频率调整触发装置和方法 技术领域 0001 本申请。

10、涉及处理器控制领域, 更具体地, 涉及一种动态电压频率调整触发装置和 方法。 背景技术 0002 动态电压频率调整 (DVFS) 是一种根据芯片所运行的应用程序对计算能力的不同 需要动态地调节芯片的运行频率和电压 (对于同一芯片, 频率越高, 需要的电压也越高) 的 技术, 降低频率可以降低功率, 但是单纯地降低频率并不能节省能量, 只有在降低频率的同 时降低电压, 才能真正地降低能量消耗, 达到节能的目的。 0003 目前许多芯片支持 DVFS, 比如 Intel 公司的芯片支持 SpeedStep, ARM 公司的芯片 支持 IEM(Intelligent Energy Manager) 。

11、和 AVS(Adaptive Voltage Scaling) 等, 但是 要让 DVFS 发挥作用, 真正地实现节能, 需要软件与硬件的综合设计。在现有软件与硬件协 同工作的方法中, 硬件只是提供动态调频调压的支持和接口, 而软件则需要周期性的计算 当前处理器的负载, 通过特定的策略决策是否需要对电压和频率进行调节。 0004 现有技术的DVFS原理如下 : 操作系统中的DVFS模块在初始化和每次DVFS任务触 发执行后, 都将下次DVFS任务放入延迟工作队列中, 以这种方式反复对处理器进行DVFS决 策和调整。其中, 每次 DVFS 任务的内容包括 : 根据系统记录的信息, 计算当前负载 。

12、; 根据系 统的当前负载, 预测系统在下一时间段需要的性能 ; 将预测的性能转换成需要的频率, 从而 调整芯片的时钟设置 ; 根据新的频率计算相应的电压, 通知电源管理模块调整 CPU 的电压。 0005 现有技术的 DVFS 方法通过延迟工作队列技术实现周期性的检查处理器上的工作 负载, 进行 DVFS 决策和设置。这种方法虽然能够正常工作, 但是存在如下问题 : 0006 一、 软件模块周期性检查只能以延时周期为窗口对处理器在周期内的平均负载进 行计算, 如果延时过长则不能及时反映处理器的负载变化, 而延时过短又会导致该软件模 块的频繁执行, 增加系统开销 ; 0007 二、 由于每次软件。

13、模块进行负载的计算和决策前, 无从知晓处理器的负载情况, 很 可能发生软件模块多次执行, 而实际上并不需要进行 DVFS 调节的情况, 浪费了模块执行的 代价。 发明内容 0008 根据本发明的一方面, 提供了一种动态电压频率调整 (DVFS) 触发装置, 包括 : 定 时器, 当定时周期结束时, 对空闲率计算器和 DVFS 中断发生器进行触发 ; 空闲率计算器, 基 于所述触发计算结束的定时周期内的处理器空闲率 ; DVFS 中断发生器, 基于所述触发确定 结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限, 如果超 出当前处理器功耗级别的上限或者下限, 则发出中断信号 。

14、; 以及存储器, 存储包括处理器各 个功耗级别的上限和下限的处理器功耗级别界限表。 0009 空闲率计算器可通过将结束的定时周期结束时的处理器周期计数与结束的定时 说 明 书 CN 103345296 A 4 2/6 页 5 周期的上一个定时周期结束时的处理器周期计数相减来获得结束的定时周期内的处理器 周期数, 通过将结束的定时周期结束时的处理器指令发射空闲周期计数与结束的定时周期 的上一个定时周期结束时的处理器指令发射空闲周期计数相减来获得结束的定时周期内 的处理器指令发射空闲的周期数, 并将处理器指令发射空闲的周期数与处理器周期数的比 值作为结束的定时周期内的处理器空闲率。 0010 可以。

15、以查找表形式实现处理器功耗级别界限表。 0011 当前处理器功耗级别可被提供给存储器, 从而 DVFS 中断发生器以当前处理器功 耗级别为索引对功耗级别界限表进行访问。 0012 DVFS 触发装置的初始化参数可包括 : 结束的定时周期的上一个定时周期结束时 的处理器周期计数、 结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期 计数、 定时周期以及当前处理器功耗级别。 0013 在 DVFS 中断发生器发出中断信号之后, 操作系统 (OS) 中所述中断信号的服务例 程可通知 OS 中的 DVFS 模块, DVFS 模块根据预定策略进行决策以确定是否对处理器频率和 电压执行调节, 并。

16、根据执行结果对 DVFS 触发装置进行重置。 0014 如果 DVFS 模块调节了处理器频率和电压, 则可将调节的处理器频率和电压所对 应的处理器功耗级别设置为当前处理器功耗级别, 将结束的定时周期结束时的处理器周期 计数锁存到结束的定时周期的上一个定时周期结束时的处理器周期计数, 将结束的定时周 期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束 时的处理器指令发射空闲周期计数, 并对定时器进行重置 ; 如果 DVFS 模块未调节处理器频 率和电压, 则可直接将结束的定时周期结束时的处理器周期计数锁存到结束的定时周期的 上一个定时周期结束时的处理器周期计数, 将结束。

17、的定时周期结束时的处理器指令发射空 闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期 计数, 并对定时器进行重置。 0015 根据本发明的另一方面, 提供了一种动态电压频率调整 (DVFS) 触发方法, 包括 : 当定时周期结束时, 由定时器对空闲率计算器和 DVFS 中断发生器进行触发 ; 由空闲率计算 器基于所述触发计算结束的定时周期内的处理器空闲率 ; 由 DVFS 中断发生器基于所述触 发确定结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限, 如果超出当前处理器功耗级别的上限或者下限, 则发出中断信号, 其中, 由存储器存储包括 处理器。

18、各个功耗级别的上限和下限的处理器功耗级别界限表。 0016 可由空闲率计算器通过将结束的定时周期结束时的处理器周期计数与结束的定 时周期的上一个定时周期结束时的处理器周期计数相减来获得结束的定时周期内的处理 器周期数, 通过将结束的定时周期结束时的处理器指令发射空闲周期计数与结束的定时周 期的上一个定时周期结束时的处理器指令发射空闲周期计数相减来获得结束的定时周期 内的处理器指令发射空闲的周期数, 并将处理器指令发射空闲的周期数与处理器周期数的 比值作为结束的定时周期内的处理器空闲率。 0017 可以以查找表形式实现处理器功耗级别界限表。 0018 当前处理器功耗级别可被提供给存储器, 从而 。

19、DVFS 中断发生器以当前处理器功 耗级别为索引对功耗级别界限表进行访问。 0019 DVFS 触发方法的初始化参数可包括 : 结束的定时周期的上一个定时周期结束时 说 明 书 CN 103345296 A 5 3/6 页 6 的处理器周期计数、 结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期 计数、 定时周期以及当前处理器功耗级别。 0020 在 DVFS 中断发生器发出中断信号之后, 操作系统 (OS) 中所述中断信号的服务例 程可通知 OS 中的 DVFS 模块, DVFS 模块根据预定策略进行决策以确定是否对处理器频率和 电压执行调节, 并根据执行结果对 DVFS 触发方。

20、法的初始化参数进行重置。 0021 如果 DVFS 模块调节了处理器频率和电压, 则可将调节的处理器频率和电压所对 应的处理器功耗级别设置为当前处理器功耗级别, 将结束的定时周期结束时的处理器周期 计数锁存到结束的定时周期的上一个定时周期结束时的处理器周期计数, 将结束的定时周 期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束 时的处理器指令发射空闲周期计数, 并对定时器进行重置 ; 如果 DVFS 模块未调节处理器频 率和电压, 则可直接将结束的定时周期结束时的处理器周期计数锁存到结束的定时周期的 上一个定时周期结束时的处理器周期计数, 将结束的定时周期结束时的处。

21、理器指令发射空 闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期 计数, 并对定时器进行重置。 0022 将在接下来的描述中部分阐述本发明另外的方面和 / 或优点, 还有一部分通过描 述将是清楚的, 或者可以经过本发明的实施而得知。 附图说明 0023 通过下面结合附图进行的详细描述, 本发明的上述和其它目的和特点将会变得更 加清楚, 其中 : 0024 图 1 是示出根据本发明示例性实施例的 DVFS 触发装置的示图 ; 0025 图 2 是示出根据本发明示例性实施例的图 1 的 DVFS 触发装置的 DVFS 方法的流程 图。 具体实施方式 0026 现在, 详。

22、细描述本发明的示例性实施例, 其示例在附图中表示, 其中, 相同的标号 始终表示相同的部件。 0027 图 1 是示出根据本发明示例性实施例的 DVFS 硬件触发装置的示图。 0028 如图 1 所示, DVFS 硬件触发装置主要包括定时器 110、 空闲率计算器 120、 存储器 130 和 DVFS 中断发生器 140。 0029 定时器110在定时周期 (Round_Cycle) 结束时对空闲率计算器和DVFS中断发生器 进行触发, 其中, Round_Cycle 可作为初始化参数被提供给定时器 110。此外, 仅作为示例, 定时器 110 可由一个 32 位计数器和一个 32 位比较器。

23、组成。 0030 空闲率计算器 120 基于所述触发计算结束的定时周期内的反映处理器负载的处 理器空闲率。仅作为示例, 空闲率计算器 120 可包括减法器 121、 122 和除法器 123, 减法 器 121 通过将结束的定时周期结束时的处理器周期计数 (CCNT) 与作为初始化参数的结束 的定时周期的上一个定时周期结束时的处理器周期计数 (Last_CCNT) 相减来获得结束的定 时周期内的处理器周期数, 减法器 122 通过将结束的定时周期结束时的处理器指令发射空 闲周期计数 (IECNT) 与作为初始化参数的结束的定时周期的上一个定时周期结束时的处 说 明 书 CN 103345296。

24、 A 6 4/6 页 7 理器指令发射空闲周期计数 (Last_IECNT) 相减来获得结束的定时周期内的处理器指令发 射空闲的周期数, 除法器 123 通过将处理器指令发射空闲的周期数与所述处理器周期数相 除, 以将处理器指令发射空闲的周期数与所述处理器周期数的比值作为结束的定时周期内 的处理器空闲率。这里, 可通过操作系统 (OS) 的处理器性能监控单元获得 CCNT 和 IECNT。 此外, 减法器 121、 122 可以是 32 位无符号数减法器, 除法器 123 可以是 32 位无符号数除法 器。应了解, 上述空闲率计算器 120 的具体操作仅是示例, 本领域技术人员还可根据实际需 。

25、要来计算处理器空闲率, 诸如, 可计算先前两个定时周期内的处理器空闲率。 0031 存储器 130 存储包括处理器各功耗级别的空闲率上限和下限的处理器功耗级别 界限表。处理器功耗级别界限表的示例如表 1 所示, 其记录至少两个处理器功耗级别的表 项, 每个表项记录一个处理器功耗级别的空闲率上限和下限。此外, 当前处理器功耗级别 (St_Cur) 可作为初始化参数被提供给存储器 130, 从而可以以 St_Cur 为索引对功耗级别界 限表进行访问。此外, 仅作为示例, 存储器 130 可由 SRAM 模块实现, 处理器功耗级别界限表 可以以查找表形式实现。 0032 表 1 0033 功耗级别 。

26、空闲率上限空闲率下限 级别 1 级别 2 级别 3 级别 4 0034 0035 DVFS中断发生器140基于所述触发确定空闲率计算器120计算结束的定时周期内 的处理器空闲率是否超出当前处理器功耗级别的上限或者下限, 如果超出当前处理器功耗 级别的上限或者下限, 则发出 DVFS 中断信号。更具体地, DVFS 中断发生器 140 可以以 St_ Cur 为索引对存储器 130 中的处理器功耗级别界限表进行访问, 从而获得当前处理器功耗 级别的上限和下限并进而进行比较。此外, 仅作为示例, DVFS 中断发生器 140 可由两个比 较器以及对比较器输出结果进行 “或” 操作的或门组成。 00。

27、36 应该了解, 在 DVFS 中断发生器 140 发出 DVFS 中断信号之后, OS 中所述中断信号 的服务例程通知 OS 中的 DVFS 模块, DVFS 模块根据预定策略进行决策以确定是否对处理器 频率和电压执行调节, 并根据执行结果对 DVFS 触发装置进行重置。 0037 此外, DVFS 硬件触发模块的初始化参数可包括 : 结束的定时周期的上一个定时周 期结束时的处理器周期计数 (Last_CCNT) 、 结束的定时周期的上一个定时周期结束时的处 理器指令发射空闲周期计数 (Last_IECNT) 、 定时周期 (Round_Cycle) 、 当前处理器功耗级 别 (St_Cur。

28、) 。Round_Cycle 是指 DVFS 硬件模块进行一次是否要触发 OS 中的 DVFS 模块判 说 明 书 CN 103345296 A 7 5/6 页 8 断的周期数, 仅作为示例, 该定时周期的延时可以设置为现有 DVFS 方法两次执行之间的延 时。St_Cur 表示当前处理器功耗级别, 当系统初始化时, St_Cur 可被初始化为与处理器功 耗级别对应的值。 0038 图 2 是示出根据本发明示例性实施例的图 1 的 DVFS 硬件触发装置的 DVFS 方法的 流程图。 0039 如图 2 所示, 在操作 S210, 系统上电并启动。 0040 在操作 S220, 对 DVFS 。

29、触发装置和 OS 中的 DVFS 模块进行初始化。其中, 对 DVFS 硬件触发装置的初始化可对如下初始化参数进行设置 : 结束的定时周期的上一个定时周期 结束时的处理器周期计数 (Last_CCNT) 、 结束的定时周期的上一个定时周期结束时的处理 器指令发射空闲周期计数 (Last_IECNT) 、 定时周期 (Round_Cycle) 、 当前处理器功耗级别 (St_Cur) 。此外, 在操作 S220 之前, 还可确定是否需要启动 DVFS 硬件触发装置。 0041 如果初始化失败, 则流程结束。 0042 如果初始化成功, 则在操作 S230, 定时器根据定时周期进行定时, 当定时周。

30、期结束 时, 对空闲率计算器和 DVFS 中断发生器进行触发。 0043 在操作 S240, 空闲率计算器基于所述触发来计算结束的定时周期内的处理器空闲 率。 0044 在操作 S250, DVFS 中断发生器基于所述触发确定结束的定时周期内的处理器空 闲率是否超出当前处理器功耗级别的上限或者下限。 0045 如果未超出当前处理器功耗级别的上限或者下限, 则在操作 S290, 将 CCNT 锁存到 Last_CCNT, 将 IECNT 锁存到 Last_IECNT, 并重置定时器。随后, 操作返回 S230。 0046 如果超出当前处理器功耗级别的上限或者下限, 则在操作 S260, DVFS。

31、 中断发生器 发出 DVFS 中断信号。 0047 在操作 S270, DVFS 模块根据预定策略进行决策以确定是否对处理器频率和电压 执行调节。这里, 仅作为示例, DVFS 模块可根据 “ONDEMAND” 策略, 如果当前 CPU 负载超过 负载上限, 则将处理器功耗级别提高到频率最高一级, 如果当前 CPU 负载超过负载下限, 则 逐级降低处理器功耗级别。 0048 如果 DVFS 模块调节了处理器频率和电压, 则在操作 S280, 将调节的处理器频率和 电压所对应的处理器功耗级别设置为 St_Cur, 将 CCNT 锁存到 Last_CCNT, 将 IECNT 锁存到 Last_IE。

32、CNT, 并重置定时器。随后, 操作返回 S230。 0049 如果 DVFS 模块未调节处理器频率和电压, 则进行操作 S290, 随后操作返回 S230。 0050 应该了解, 上述操作S280、 S290仅作为根据执行结果对DVFS触发装置进行重置的 示例, 本领域技术人员能够根据需要对 DVFS 触发装置进行任意适合的重置。 0051 根据本发明的示例性实施例, 通过采用硬件触发模块计算处理器负载, 可以设置 较小的定时周期从而可以及时反映处理器的负载变化, 而不必担心系统开销的大幅增加 ; 此外, 通过硬件模块的计算, 以先前计时周期内的空闲率作为未来计时周期空闲率的预测 值, 进行。

33、是否触发 OS 中的 DVFS 模块的决策, 可减少 OS 中的 DVFS 模块的执行次数, 尤其是 减少 OS 中的 DVFS 模块的无效执行造成的系统开销。 0052 虽然已经参照特定示例性实施例示出和描述了本发明, 但是本领域的技术人员将 理解, 在不脱离范围由权利要求及其等同物限定的本发明的精神和范围的情况下可作出形 说 明 书 CN 103345296 A 8 6/6 页 9 式和细节上的各种改变。 说 明 书 CN 103345296 A 9 1/2 页 10 图 1 说 明 书 附 图 CN 103345296 A 10 2/2 页 11 图 2 说 明 书 附 图 CN 103345296 A 11 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1