首页 / 专利库 / 物理 / 频率 / 动态电压频率调整触发装置和方法

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

阅读:494发布:2021-06-07

专利汇可以提供动态电压频率调整触发装置和方法专利检索,专利查询,专利分析的服务。并且提供了一种动态 电压 频率 调整触发装置和方法,所述装置包括: 定时器 ,当定时周期结束时,对空闲率计算器和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触发方法的初始化参数包括:结束的定时周期的上一个定时周期结束时的处理器周期计数、结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数、定时周期以及当前处理器功耗级别。

说明书全文

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

技术领域

[0001] 本申请涉及处理器控制领域,更具体地,涉及一种动态电压频率调整触发装置和方法。

背景技术

[0002] 动态电压频率调整(DVFS)是一种根据芯片所运行的应用程序对计算能的不同需要动态地调节芯片的运行频率和电压(对于同一芯片,频率越高,需要的电压也越高)的技术,降低频率可以降低功率,但是单纯地降低频率并不能节省能量,只有在降低频率的同时降低电压,才能真正地降低能量消耗,达到节能的目的。
[0003] 目前许多芯片支持DVFS,比如Intel公司的芯片支持SpeedStep,ARM公司的芯片支持IEM(Intelligent Energy Manager)和AVS(Adaptive Voltage Scaling)等,但是要让DVFS发挥作用,真正地实现节能,需要软件硬件的综合设计。在现有软件与硬件协同工作的方法中,硬件只是提供动态调频调压的支持和接口,而软件则需要周期性的计算当前处理器的负载,通过特定的策略决策是否需要对电压和频率进行调节。
[0004] 现有技术的DVFS原理如下:操作系统中的DVFS模在初始化和每次DVFS任务触发执行后,都将下次DVFS任务放入延迟工作队列中,以这种方式反复对处理器进行DVFS决策和调整。其中,每次DVFS任务的内容包括:根据系统记录的信息,计算当前负载;根据系统的当前负载,预测系统在下一时间段需要的性能;将预测的性能转换成需要的频率,从而调整芯片的时钟设置;根据新的频率计算相应的电压,通知电源管理模块调整CPU的电压。
[0005] 现有技术的DVFS方法通过延迟工作队列技术实现周期性的检查处理器上的工作负载,进行DVFS决策和设置。这种方法虽然能够正常工作,但是存在如下问题:
[0006] 一、软件模块周期性检查只能以延时周期为窗口对处理器在周期内的平均负载进行计算,如果延时过长则不能及时反映处理器的负载变化,而延时过短又会导致该软件模块的频繁执行,增加系统开销;
[0007] 二、由于每次软件模块进行负载的计算和决策前,无从知晓处理器的负载情况,很可能发生软件模块多次执行,而实际上并不需要进行DVFS调节的情况,浪费了模块执行的代价。发明内容
[0008] 根据本发明的一方面,提供了一种动态电压频率调整(DVFS)触发装置,包括:定时器,当定时周期结束时,对空闲率计算器和DVFS中断发生器进行触发;空闲率计算器,基于所述触发计算结束的定时周期内的处理器空闲率;DVFS中断发生器,基于所述触发确定结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限,如果超出当前处理器功耗级别的上限或者下限,则发出中断信号;以及存储器,存储包括处理器各个功耗级别的上限和下限的处理器功耗级别界限表。
[0009] 空闲率计算器可通过将结束的定时周期结束时的处理器周期计数与结束的定时周期的上一个定时周期结束时的处理器周期计数相减来获得结束的定时周期内的处理器周期数,通过将结束的定时周期结束时的处理器指令发射空闲周期计数与结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数相减来获得结束的定时周期内的处理器指令发射空闲的周期数,并将处理器指令发射空闲的周期数与处理器周期数的比值作为结束的定时周期内的处理器空闲率。
[0010] 可以以查找表形式实现处理器功耗级别界限表。
[0011] 当前处理器功耗级别可被提供给存储器,从而DVFS中断发生器以当前处理器功耗级别为索引对功耗级别界限表进行访问
[0012] DVFS触发装置的初始化参数可包括:结束的定时周期的上一个定时周期结束时的处理器周期计数、结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数、定时周期以及当前处理器功耗级别。
[0013] 在DVFS中断发生器发出中断信号之后,操作系统(OS)中所述中断信号的服务例程可通知OS中的DVFS模块,DVFS模块根据预定策略进行决策以确定是否对处理器频率和电压执行调节,并根据执行结果对DVFS触发装置进行重置。
[0014] 如果DVFS模块调节了处理器频率和电压,则可将调节的处理器频率和电压所对应的处理器功耗级别设置为当前处理器功耗级别,将结束的定时周期结束时的处理器周期计数存到结束的定时周期的上一个定时周期结束时的处理器周期计数,将结束的定时周期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数,并对定时器进行重置;如果DVFS模块未调节处理器频率和电压,则可直接将结束的定时周期结束时的处理器周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器周期计数,将结束的定时周期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数,并对定时器进行重置。
[0015] 根据本发明的另一方面,提供了一种动态电压频率调整(DVFS)触发方法,包括:当定时周期结束时,由定时器对空闲率计算器和DVFS中断发生器进行触发;由空闲率计算器基于所述触发计算结束的定时周期内的处理器空闲率;由DVFS中断发生器基于所述触发确定结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限,如果超出当前处理器功耗级别的上限或者下限,则发出中断信号,其中,由存储器存储包括处理器各个功耗级别的上限和下限的处理器功耗级别界限表。
[0016] 可由空闲率计算器通过将结束的定时周期结束时的处理器周期计数与结束的定时周期的上一个定时周期结束时的处理器周期计数相减来获得结束的定时周期内的处理器周期数,通过将结束的定时周期结束时的处理器指令发射空闲周期计数与结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数相减来获得结束的定时周期内的处理器指令发射空闲的周期数,并将处理器指令发射空闲的周期数与处理器周期数的比值作为结束的定时周期内的处理器空闲率。
[0017] 可以以查找表形式实现处理器功耗级别界限表。
[0018] 当前处理器功耗级别可被提供给存储器,从而DVFS中断发生器以当前处理器功耗级别为索引对功耗级别界限表进行访问。
[0019] DVFS触发方法的初始化参数可包括:结束的定时周期的上一个定时周期结束时的处理器周期计数、结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数、定时周期以及当前处理器功耗级别。
[0020] 在DVFS中断发生器发出中断信号之后,操作系统(OS)中所述中断信号的服务例程可通知OS中的DVFS模块,DVFS模块根据预定策略进行决策以确定是否对处理器频率和电压执行调节,并根据执行结果对DVFS触发方法的初始化参数进行重置。
[0021] 如果DVFS模块调节了处理器频率和电压,则可将调节的处理器频率和电压所对应的处理器功耗级别设置为当前处理器功耗级别,将结束的定时周期结束时的处理器周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器周期计数,将结束的定时周期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数,并对定时器进行重置;如果DVFS模块未调节处理器频率和电压,则可直接将结束的定时周期结束时的处理器周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器周期计数,将结束的定时周期结束时的处理器指令发射空闲周期计数锁存到结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数,并对定时器进行重置。
[0022] 将在接下来的描述中部分阐述本发明另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明的实施而得知。附图说明
[0023] 通过下面结合附图进行的详细描述,本发明的上述和其它目的和特点将会变得更加清楚,其中:
[0024] 图1是示出根据本发明示例性实施例的DVFS触发装置的示图;
[0025] 图2是示出根据本发明示例性实施例的图1的DVFS触发装置的DVFS方法的流程图

具体实施方式

[0026] 现在,详细描述本发明的示例性实施例,其示例在附图中表示,其中,相同的标号始终表示相同的部件。
[0027] 图1是示出根据本发明示例性实施例的DVFS硬件触发装置的示图。
[0028] 如图1所示,DVFS硬件触发装置主要包括定时器110、空闲率计算器120、存储器130和DVFS中断发生器140。
[0029] 定时器110在定时周期(Round_Cycle)结束时对空闲率计算器和DVFS中断发生器进行触发,其中,Round_Cycle可作为初始化参数被提供给定时器110。此外,仅作为示例,定时器110可由一个32位计数器和一个32位比较器组成。
[0030] 空闲率计算器120基于所述触发计算结束的定时周期内的反映处理器负载的处理器空闲率。仅作为示例,空闲率计算器120可包括减法器121、122和除法器123,减法器121通过将结束的定时周期结束时的处理器周期计数(CCNT)与作为初始化参数的结束的定时周期的上一个定时周期结束时的处理器周期计数(Last_CCNT)相减来获得结束的定时周期内的处理器周期数,减法器122通过将结束的定时周期结束时的处理器指令发射空闲周期计数(IECNT)与作为初始化参数的结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数(Last_IECNT)相减来获得结束的定时周期内的处理器指令发射空闲的周期数,除法器123通过将处理器指令发射空闲的周期数与所述处理器周期数相除,以将处理器指令发射空闲的周期数与所述处理器周期数的比值作为结束的定时周期内的处理器空闲率。这里,可通过操作系统(OS)的处理器性能监控单元获得CCNT和IECNT。此外,减法器121、122可以是32位无符号数减法器,除法器123可以是32位无符号数除法器。应了解,上述空闲率计算器120的具体操作仅是示例,本领域技术人员还可根据实际需要来计算处理器空闲率,诸如,可计算先前两个定时周期内的处理器空闲率。
[0031] 存储器130存储包括处理器各功耗级别的空闲率上限和下限的处理器功耗级别界限表。处理器功耗级别界限表的示例如表1所示,其记录至少两个处理器功耗级别的表项,每个表项记录一个处理器功耗级别的空闲率上限和下限。此外,当前处理器功耗级别(St_Cur)可作为初始化参数被提供给存储器130,从而可以以St_Cur为索引对功耗级别界限表进行访问。此外,仅作为示例,存储器130可由SRAM模块实现,处理器功耗级别界限表可以以查找表形式实现。
[0032] 表1
[0033]功耗级别 空闲率上限 空闲率下限
级别1 …… ……
级别2 …… ……
级别3 …… ……
级别4 …… ……
…… …… ……
[0034]
[0035] DVFS中断发生器140基于所述触发确定空闲率计算器120计算结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限,如果超出当前处理器功耗级别的上限或者下限,则发出DVFS中断信号。更具体地,DVFS中断发生器140可以以St_Cur为索引对存储器130中的处理器功耗级别界限表进行访问,从而获得当前处理器功耗级别的上限和下限并进而进行比较。此外,仅作为示例,DVFS中断发生器140可由两个比较器以及对比较器输出结果进行“或”操作的或组成。
[0036] 应该了解,在DVFS中断发生器140发出DVFS中断信号之后,OS中所述中断信号的服务例程通知OS中的DVFS模块,DVFS模块根据预定策略进行决策以确定是否对处理器频率和电压执行调节,并根据执行结果对DVFS触发装置进行重置。
[0037] 此外,DVFS硬件触发模块的初始化参数可包括:结束的定时周期的上一个定时周期结束时的处理器周期计数(Last_CCNT)、结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数(Last_IECNT)、定时周期(Round_Cycle)、当前处理器功耗级别(St_Cur)。Round_Cycle是指DVFS硬件模块进行一次是否要触发OS中的DVFS模块判断的周期数,仅作为示例,该定时周期的延时可以设置为现有DVFS方法两次执行之间的延时。St_Cur表示当前处理器功耗级别,当系统初始化时,St_Cur可被初始化为与处理器功耗级别对应的值。
[0038] 图2是示出根据本发明示例性实施例的图1的DVFS硬件触发装置的DVFS方法的流程图。
[0039] 如图2所示,在操作S210,系统上电并启动。
[0040] 在操作S220,对DVFS触发装置和OS中的DVFS模块进行初始化。其中,对DVFS硬件触发装置的初始化可对如下初始化参数进行设置:结束的定时周期的上一个定时周期结束时的处理器周期计数(Last_CCNT)、结束的定时周期的上一个定时周期结束时的处理器指令发射空闲周期计数(Last_IECNT)、定时周期(Round_Cycle)、当前处理器功耗级别(St_Cur)。此外,在操作S220之前,还可确定是否需要启动DVFS硬件触发装置。
[0041] 如果初始化失败,则流程结束。
[0042] 如果初始化成功,则在操作S230,定时器根据定时周期进行定时,当定时周期结束时,对空闲率计算器和DVFS中断发生器进行触发。
[0043] 在操作S240,空闲率计算器基于所述触发来计算结束的定时周期内的处理器空闲率。
[0044] 在操作S250,DVFS中断发生器基于所述触发确定结束的定时周期内的处理器空闲率是否超出当前处理器功耗级别的上限或者下限。
[0045] 如果未超出当前处理器功耗级别的上限或者下限,则在操作S290,将CCNT锁存到Last_CCNT,将IECNT锁存到Last_IECNT,并重置定时器。随后,操作返回S230。
[0046] 如果超出当前处理器功耗级别的上限或者下限,则在操作S260,DVFS中断发生器发出DVFS中断信号。
[0047] 在操作S270,DVFS模块根据预定策略进行决策以确定是否对处理器频率和电压执行调节。这里,仅作为示例,DVFS模块可根据“ONDEMAND”策略,如果当前CPU负载超过负载上限,则将处理器功耗级别提高到频率最高一级,如果当前CPU负载超过负载下限,则逐级降低处理器功耗级别。
[0048] 如果DVFS模块调节了处理器频率和电压,则在操作S280,将调节的处理器频率和电压所对应的处理器功耗级别设置为St_Cur,将CCNT锁存到Last_CCNT,将IECNT锁存到Last_IECNT,并重置定时器。随后,操作返回S230。
[0049] 如果DVFS模块未调节处理器频率和电压,则进行操作S290,随后操作返回S230。
[0050] 应该了解,上述操作S280、S290仅作为根据执行结果对DVFS触发装置进行重置的示例,本领域技术人员能够根据需要对DVFS触发装置进行任意适合的重置。
[0051] 根据本发明的示例性实施例,通过采用硬件触发模块计算处理器负载,可以设置较小的定时周期从而可以及时反映处理器的负载变化,而不必担心系统开销的大幅增加;此外,通过硬件模块的计算,以先前计时周期内的空闲率作为未来计时周期空闲率的预测值,进行是否触发OS中的DVFS模块的决策,可减少OS中的DVFS模块的执行次数,尤其是减少OS中的DVFS模块的无效执行造成的系统开销。
[0052] 虽然已经参照特定示例性实施例示出和描述了本发明,但是本领域的技术人员将理解,在不脱离范围由权利要求及其等同物限定的本发明的精神和范围的情况下可作出形式和细节上的各种改变。
相关专利内容
标题 发布/更新时间 阅读量
频率合成器 2020-05-11 646
频率侦测器 2020-05-12 34
频率合成器 2020-05-12 848
多频率天线 2020-05-12 151
频率层分散 2020-05-13 778
频率估计 2020-05-11 543
频率转换 2020-05-11 881
频率响应 2020-05-11 890
光梳频率源 2020-05-12 332
一种石英抛光晶片频率分选装置 2020-05-11 214
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈