处理器负载阶跃平衡的制作方法

文档序号:23185212发布日期:2020-12-04 14:13阅读:74来源:国知局
处理器负载阶跃平衡的制作方法
优先权要求本专利申请要求于2018年4月30日提交的题为“处理器负载阶跃平衡”的申请号15/967,456的优先权,该申请转让给其受让人并且在此通过引用明确并入本文。本申请涉及处理器,更具体地涉及响应于处理器负载改变的处理器时钟频率的负载阶跃平衡。
背景技术
:随着相关计算变得更加密集,处理器每个时钟周期所执行的处理量会发生改变。在低负载时段期间,诸如乘法和累加(mac)单元之类的相对较少的执行单元在每个处理器时钟周期内是活动的。但是,响应于负载突然改变,活动的执行单元的数目可能会急剧增加。因此,处理器从其电源轨所需求的电流会随着处理负载的改变而发生改变。处理器对电流需求的增加的要求可能会导致其电源电压不利地下降,从而导致故障状态。因此,在处理需求增加的时段期间,通常会降低处理器的时钟频率。例如,在这种负载时段增加期间,时钟频率可能会减半。但是,把时钟频率降低太多会导致电源电压不利地增加,从而造成诸如保持违例等之类的故障状态。相反,把时钟频率降低得太少会导致低电压故障状态。因此,现有技术的负载平衡技术在由于电源电压过高而产生的配电网(pdn)故障状态和由于电源电压过低而产生的故障条件之间摇摆不定。因而,本领域中需要响应于处理器负载增加而改善处理器时钟频率的负载阶跃平衡。技术实现要素:为了使pdn噪声最小,处理器时钟频率与处理器负载增加成比例降低。为了量化负载增加,确定在处理器在默认操作模式下操作的同时是活动的默认数目的执行单元。默认操作模式与低负载状态相对应。在从默认操作模式到增加的负载操作模式的过渡期间(其中处理器在增加的负载操作模式下操作),活动执行单元的数目增加的倍数大于默认数目的倍数。在该过渡期间,处理器时钟频率降低,以便与活动执行单元的默认数目的倍数成反比。由于这种比例关系,所以在处理器从默认操作模式过渡到增加的负载操作模式的同时,处理器从功率轨汲取的电流不会显著改变。尽管处理器的负载突然增加,但是调节功率轨上携载的电源电压的电源因此可以防止电源电压低于或高于期望值。通过以下具体实施方式,可以更好地领会这些和其他有利特征。附图说明图1是根据本公开的一个方面的被配置为用于负载阶跃平衡的处理器系统的图。图2a是根据本公开的一个方面的处理器时钟频率降低以根据负载需求增加来提供负载阶跃平衡的图。图2b示出了图2a的降低的时钟频率的波形以及源时钟信号波形。图3图示了根据本公开的一个方面的用于图1的处理器系统的一些信号波形。图4是根据本公开的一个方面的用于从图1的处理器系统从步进频率过渡回到最大时钟频率的时钟参数的表。图5是根据本公开的一个方面的尽管负载突然显著增加也维持处理器的电源电压的示例负载阶跃平衡方法的流程图。通过参考以下具体实施方式,可以最好地理解本公开的实现方式及其优点。应当领会,相同的附图标记用于标识在附图中的一个或多个附图中图示的相同元件。具体实施方式现在,转到附图,图1图示了如本文中所公开的被配置为用于负载阶跃平衡的系统100。在一个实现方式中,系统100可以包括片上系统(soc)或另一类型的合适集成电路。诸如图形处理单元(gpu)115之类的处理器包括多个执行单元140。然而,应当领会,本文中所公开的负载平衡技术可广泛应用于其他类型的处理器,诸如通用中央处理单元(cpu)。从处理器领域中得知,每个活动执行单元140被配置为用于执行gpu115的计算机程序的指令。在gpu115的默认负载状态或操作模式(最低负载状态)期间,仅默认数目的执行单元140在处理器时钟信号145的每个时钟周期内是活动的。在该默认负载状态期间,处理器时钟信号145在本文中处表示为fmax的最大频率循环。基于默认数目的活动执行单元140和时钟频率fmax,gpu115从功率轨150汲取电流i。诸如电源管理集成电路(pmic)135之类的功率源调节功率轨150以保持其被充电到gpu115的期望电源电压。但是,gpu115的负载可能突然增加,使得与在默认负载状态期间是活动的执行单元的默认数目相比,每个时钟周期内的活动执行单元140的数目大大增加。例如,如果活动执行单元140的数目增加到默认数目的四倍,则gpu115从功率轨150汲取的电流为默认电流i的近似四倍。面对电流需求的这种突然增加,诸如pmic135之类的电源无法维持电源电压。因此,处理器系统100被配置为实行智能负载平衡,使得处理器时钟频率与负载增加成比例地降低。在以下讨论中,假设每个执行单元140是乘法和累加(mac)单元。然而,应当领会,在备选实现方式中,诸如算术逻辑单元(alu)或浮点单元(fpu)之类的其他合适单元可以形成执行单元140。然后,gpu115在操作期间以时钟频率fclk从功率轨150汲取的平均电流iavg(t)变为:iavg(t)=αnmacfclk+β方程式(1)其中nmac是每个时钟周期内是活动的活动mac单元的数目,α是取决于mac单元电容和电源电压的每个活动mac单元的电流需求的比例因子,并且β表示动态泄漏。为了建立负载平衡相等性,使得尽管负载突然增加,gpu115的电流消耗速率di/dt也不发生改变,默认操作模式下的启动电流消耗(iinitial(t))应当等于负载阶跃增加后的电流消耗(istep(t))。负载阶跃增加前和后的初始电流和最终电流代入方程式(1)得到以下相等性:αninitialfmax+β=αnfinalfstep+β方程式(2)其中ninitial是gpu115的默认操作期间的活动mac单元的默认数目,fmax是默认时钟频率,nfinal是负载增加后的活动mac单元的数目,并且fstep是负载阶跃增加后的降低的处理器时钟频率。对方程式(2)的降低的时钟频率fstep进行求解,得出以下表达式:fstep=fmax(ninitial/nfinal)方程式(3)其中nfinal等于ninitial加上活动mac单元的某个附加数δn。如后缀“max”所示,默认时钟频率fmax为最大时钟频率,而响应于负载增加的步进时钟频率fstep低于fmax。如方程式(3)所示,通过使时钟频率降低与负载增加成比例,尽管从默认操作模式突然过渡到gpu115的负载增加操作模式,但是系统100确保功率轨150的电流消耗实际上未发生改变。因此,时钟频率的最终降低相当有利,因为尽管处理器负载突然增加,但是gpu115的电源电压也不会从其期望值上冲或下冲。而且,由于频率减小与负载增加成比例,所以因为按负载增加定制频率降低,因此负载增加是非常显著还是仅仅变得显著都无关紧要。该频率降低的另一优点在于,尽管时钟频率发生了改变,但是从其中导出处理器时钟信号145的诸如锁相环(pll)之类的时钟源仍会保持锁定。例如,系统100中的pll105使用源时钟信号155驱动时钟分频器110,该源时钟信号155以fmax的倍数(例如,fmax的两倍)循环。时钟分频器110对源时钟信号155进行划分以产生处理器时钟信号145。该划分可以通过整数n和m的比例(n/m)来近似。所得时钟划分使处理器时钟信号145的某些边沿与源时钟信号155中的对应边沿保持同步,使得pll105可以保持锁定。例如,假定整数m等于48。在这种情况下,下表1中的以下n值可以用于时钟分频器110,以产生以下时钟频率降低:表1nnfinal/ninitialfstep/fmax(%)241.00100.0%19.21.2580.0%161.566.7%122.0050.0%9.62.540.0%83.0033.3%64.0025.0%46.0016.7%应当指出,当时钟频率降低80%时,比例n/m的分子n不等于整数;并且当m等于48时,时钟频率还降低40%。然而,对于响应于负载增加的其余时钟频率降低,n的值为整数。表1中的百分比在图2a中绘制为执行单元比例增加的函数(nfinal/ninitial)。随着每次执行单元的使用的增加,从一个频率阶跃减小到下一频率阶跃逐渐变得越来越少。例如,执行单元使用比默认需求使用增加一倍导致时钟频率降低了50%,而默认操作模式下的需求增加六倍导致时钟频率仅降低了16.7%。尽管仅存在一个处理器时钟信号145,但是gpu115在100%频率fmax下的计时可以被视为通过第一处理器时钟信号对gpu115进行的计时。同样,gpu115在80%频率下的计时可以被视为通过第二处理器时钟信号对gpu115进行的计时,其余时钟频率百分比依此类推。图2b示出了基于从源时钟信号155适当选择边沿而得到的处理器时钟信号145的波形。例如,为了产生具有fmax频率的100%时钟信号以在其默认操作期间对gpu115进行计时,时钟分频器110(图1)可以对源时钟信号155的上升边沿做出响应,以产生100%时钟信号的对应上升边沿和下降边沿。特别地,源时钟信号155的上升边沿可以分为偶数上升边沿和奇数上升边沿。第一上升边沿、第三上升边沿等形成一组奇数上升边沿,而第二上升边沿、第四上升边沿等形成一组偶数上升边沿。时钟分频器110响应于奇数上升边沿而在100%时钟信号中产生上升边沿,并且响应于偶数上升边沿而在100%时钟信号中产生下降边沿。应当领会,取而代之的是,时钟分频器110可以被配置为对源时钟信号155中的下降边沿做出响应。100%时钟信号的所得占空比为50-50。应当指出,由于时钟分频器110正在对源时钟信号155中的边沿做出响应以在处理器时钟信号145中产生对应边沿,所以有利的是,pll105可以保持锁定,同时时钟分频器110将源时钟信号155划分为处理器时钟信号145的100%形式。通过时钟分频器110进行划分以形成处理器时钟信号145的降低的频率类似于形成100%时钟信号的划分。例如,为了将源时钟信号155划分为80%时钟频率,时钟分频器110对源时钟信号155的第一上升边沿做出响应以产生具有80%时钟频率的处理器时钟信号145的第一上升边沿。为了达到100%频率的时段的80%的频率,时钟分频器110对源时钟信号155的下降边沿做出响应,该下降边沿在其初始上升边沿后的2.5个时钟周期出现。给定80%时钟频率的该时段等于源时钟信号155的2.5个时钟周期,则80%时钟频率的占空比不能为50-50。然而,所有剩余减小的(步进)时钟频率都与50-50时钟周期相对应。例如,66.7%时钟信号的时段等于源时钟信号155的3个周期,因此66.7%时钟信号的上升边沿和下降边沿各自由源时钟信号155的1.5个周期分开。同样,50%时钟信号的时段等于源时钟信号155的四个周期,使得50%时钟信号的上升边沿和下降边沿由源时钟信号155的两个周期分开。40%时钟信号的时段等于源时钟信号的五个周期155,使得40%时钟信号的上升边沿和下降边沿由源时钟信号155的2.5个周期分开。同样,33.3%时钟信号的时段(源时钟信号155的6个周期)、25.0%时钟信号的时段(源时钟信号155的8个周期)和16.7%时钟信号的时段(源时钟信号155的12个周期)都等于源时钟信号155的整数个周期,因此它们的占空比为50-50。应当领会,源时钟信号155无需以频率fmax的两倍超频,而是可以以fmax的其他偶数倍数(例如,四倍、八倍等)计时。而且,除了图2a和图2b所示的百分比之外,这些备选超频频率还允许时钟分频器110实现备选时钟划分。这些各种时钟频率百分比都是处理器时钟信号145的所有实例化。再次参考图1,gpu115包括活动预测器(di/dt)120,该活动预测器120警告系统100关于其mac的负载需求的任何即将到来的增加。例如,活动预测器120可以通过检查将由mac执行的操作代码(操作码)来预测负载需求的预期增加。如所图示的,活动预测器120通过在gpu115上运行的软件来实现,但是应当领会,专用硬件也可以用于形成活动预测。在以下讨论中,假设来自活动预测器120的活动预测是数字活动代码,其映射到用于时钟分频器110所执行的n/m划分使用的分子n的特定整数值。如之前所指出的,如果假设除数m等于48,则用于形成处理器时钟信号145的来自时钟分频器110的经划分的时钟信号中的某些经划分的时钟信号实际上与n的整数值相对应。但是,这是个有用模型,用于假设时钟划分与整数n和m所形成的比例n/m的划分相对应。关于等于48的m值,100%时钟信号与等于24的n值相对应。因此,默认操作模式的活动代码会映射为等于24的n值。因此,在这种实现方式中,可能存在23个其他活动代码,这些活动代码会映射为降低的n值,其范围从23一直到1。但是,保持pll105锁定以使处理器时钟信号145与源时钟信号155同步仅实现了步进时钟频率的某些值。例如,上文所讨论的图2a和图2b的百分比仅提供了范围从80%时钟信号到16.7%时钟信号的七个步降时钟频率。因此,系统100包括控制器160,该控制器160被配置为对活动代码做出响应,以命令时钟分频器110输出步进时钟信号中的一个步进时钟信号,从而对来自活动预测器120的各种活动代码进行量化。这种量化实际上是将默认数目的活动mac的倍数量化为量化值。为了执行活动代码所标识的增加负载与对应降低的时钟频率之间的映射,控制器160包括查找表(lut)125。应当领会,可以在备选实现方式中执行基于软件的映射。lut125还包括逻辑电路,该逻辑电路将各种负载水平量化为关于图2a和图2b所讨论的降低的频率。例如,80%时钟频率与负载增加相对应,与在默认操作模式下的mac使用相比较,该负载增加是每个时钟周期内正在使用的mac单元的1.25倍。同样,66.7%时钟频率与负载增加相对应,与在默认操作模式下的mac使用相比较,该负载增加是正在使用的mac单元的1.5倍。因此,lut125可以通过将负载的微小增加映射为默认时钟频率fmax来量化。例如,lut125可以将与初始微小负载范围相对应的所有活动代码量化默认时钟频率fmax,该初始微小负载范围是默认数目的mac单元的1.0倍至1.125倍。lut125可以将第一显著负载范围(诸如从默认mac使用的1.125倍到1.375倍)映射为80%时钟频率。因此,mac使用增加的整个预期范围可以被量化并且以这种方式映射到对应降低的时钟频率。然后,lut125命令时钟分频器以实现适当时钟划分。因此,随着gpu115从默认操作模式过渡到增加的负载操作模式而从功率轨150汲取的电流的所得改变di/dt基本上为零。特别是,如果mac使用增加恰好与参考图2a和图2b所讨论的默认数目的mac单元的1.25倍、1.5倍、2.0倍、3.0倍、4.0倍和6.0倍相对应,则汲取的电流的改变di/dt等于零。但是,如果mac使用增加相对于通过lut125量化的这些精确倍数偏斜,则汲取的电流的改变di/dt仍会基本上为零。在一个实现方式中,控制器160可以被认为包括用于将默认数目的mac单元的倍数量化为量化值并且用于将量化值映射为与量化值成反比的降低的时钟频率的装置;还包括用于控制时钟分频器110的装置,以使经划分的频率等于fmax,同时gpu115被配置为在默认操作模式下操作,并且以使经划分的频率等于降低的时钟频率,同时gpu115被配置为从默认操作模式过渡到增加的负载操作模式。关于从默认操作模式到增加的负载操作模式的过渡,图3示出了系统100的一些示例信号波形。特别地,如果负载增加大于上文所讨论的初始微小负载范围,则活动预测器120(图1)可以断言显著负载阶跃信号300。特别地,初始微小负载范围从默认数目的活动mac单元的1x倍数到诸如1.125之类的稍微增加的倍数。由于负载增加相对微小,所以落入初始微小范围内的负载增加不足以触发时钟划分。因此,活动预测器120可以被配置为仅当负载增加使得默认数目的活动mac单元的倍数高于该初始微小范围时,才断言显著负载阶跃信号300。活动代码305与显著负载阶跃信号300的断言一起发生改变。系统100的lut125将活动代码305的改变映射为在图3中被指定为fstep的步进时钟频率,以使gpu115的时钟频率或时钟速率从fmax下降到fstep频率。在时钟频率下降之后,控制器160断言阶跃完成信号315,于是在增加的负载操作模式下启用了一组320个附加mac单元。但是,应当指出,诸如pmic135之类的功率源可以对可能因增加负载而引起的增加的电流需求做出响应,同时在最大频率fmax处对gpu115进行计时,只要负载改变是渐进的,而非通过控制器160和时钟分频器110解决了负载突然过渡即可。因此,控制器160被配置为在过渡时段之后逐渐增加时钟频率,同时在步进时钟频率下对gpu115进行计时。例如,活动预测器120(或一些其他合适源)可以断言阶跃使能信号310,同时在从默认操作模式到增加的负载操作模式的过渡时段期间,时钟分频器110应当应用施加适当频率阶跃划分。当再次解除对阶跃使能信号310的断言时,控制器160(诸如通过lut125)命令时钟分频器110开始将时钟频率倾斜回到最大频率fmax。但是,如关于图2a和图2b所讨论的,只有降低的时钟频率的有限集合可以从诸如源时钟信号155之类的超频源同步产生。因此,频率的倾斜不是模拟的,而是包括从降低的时钟频率步升,穿过降低的时钟频率的有限集合中的任何中间降低的时钟频率,直到达到最大频率fmax为止。例如,假定使处理器时钟信号145阶跃以在50%时钟频率下循环。响应于在过渡时段结束时解除对阶跃使能信号310的断言,控制器160然后可以命令时钟分频器110在第一数目的周期内将时钟频率增加到66.7%时钟频率,然后在第二数目的周期内增加到80%时钟频率。最后,在斜坡频率增加被视为完成之前,控制器160在第三数目的周期内将时钟频率增加到fmax。因为在过渡时段期间以及在倾斜返回时段期间,时钟频率始终以确定性方式获知,所以对处理器时钟信号145的频率的最终控制相当有利。因此,gpu115中的其他过程可以受益于时钟频率的这种确定性获知。例如,对于图2a图2b所讨论的步进时钟频率的有限集合,考虑图4所示的表。每个步降频率目标与返回到100%(fmax)频率的时间间隔计数相对应。时间间隔计数与在过渡时段期间和倾斜返回时段期间利用了多少个不同的步进频率(包括fmax)相对应。例如,80%时钟频率是首先从fmax步降的频率。因为在过渡时段内时钟频率首先阶跃到80%,然后在斜升时段期间再次增加到100%,所以时间间隔计数因此为2。但是,处理器时钟信号145在每个不同的步进频率(包括倾斜返回时段期间的100%频率)下的循环的数目已知。例如,在步降到80%时钟频率时,处理器时钟信号145在等于10个周期的第一预先确定的数目的周期内循环。然后,在100%时钟频率下,它在等于11个周期的第二预先确定的数目的周期内循环,以完成倾斜返回时段,以实现最大时钟频率fmax。以这种方式,时钟频率在步降时段期间以及倾斜返回时段期间中始终以确定性方式确定。对于所有各种不同的负载增加,为了使过渡时段保持近似相同,随着时钟时段变慢,步进时段内的时钟周期的数目减少了。例如,16.7%时钟频率下的步进时段仅为3个周期。应当领会,图4所示的周期数目仅仅是代表性的,并且在备选实现方式中可以发生变化。映射到80%时钟频率的gpu115的负载增加可以被指定为第一增加的负载操作模式。同样,映射到66.7%时钟频率的gpu115的负载增加可以被指定为第二增加的负载操作模式,依此类推。再次参考图1,应当指出,其他过程也可以指令时钟分频器110改变处理器时钟信号145的频率。因此,控制器160中的仲裁器130被配置为在本文中所讨论的负载阶跃平衡频率改变与备选技术之间进行仲裁,以调整时钟频率。例如,现有时钟管理技术可以表示为由通过gpu115上的软件实现的lmh请求器165发布的限制管理硬件(lmh)。仲裁器130可以被配置为与来自lmh请求器165的lmh请求相反,给与来自活动预测器120的负载阶跃平衡请求优先级。如果只有lmh请求是活动的,则lut125可以将lmh命令映射到某个值n,以供通过时钟分频器110进行n/m划分。如上文所讨论的,时钟分频器110无法实现比例n/m的任意值,而是仅产生本文中所讨论的降低的时钟频率的有限集合。但是,时钟分频器110可以通过降低的时钟频率的有限集合中的适当频率之间的抖动来模仿如由特定lmh设置所命令的n和m的期望值。例如,假设m为48,而n为18。由于时钟分频器110仅能对源时钟信号155的边沿做出响应,所以无法通过时钟分频器110实现所得比例(18/48)。但是,时钟分频器110可以将频率同步步降到80%时钟频率和66.7%时钟频率。因此,时钟分频器110可以通过80%时钟频率与66.7%时钟频率之间的适当抖动来把n/m比例近似为18/48。以这种方式,当n从fmax处的值(如果m为48,则其为24)一直减小到1时,时钟分频器110可以近似n/m的任何期望值。现在,参考图5对负载阶跃平衡的示例方法进行讨论。该方法包括动作500,即,在默认时钟频率下,对处理器进行计时,同时处理器使用默认数目的执行单元在默认操作模式下操作并且同时处理器从功率轨汲取默认电流。在动作500的示例中,gpu115在显著负载增加之前在默认操作模式下操作。该方法还包括动作505,即,响应于处理器负载的预计增加,其中处理器使用默认数目的执行单元的第一倍数在负载增加操作模式下操作,并且包括确定第一减小的时钟频率,该第一减小的时钟频率与默认数目的执行单元的第一倍数成反比,其中第一倍数是大于1的数,并且第一减小的时钟频率小于默认时钟频率。把负载的lut125内的映射增加到降低的时钟频率是动作505的示例。最后,该方法包括动作515,即,在第一减小的负载操作模式下对处理器进行计时,同时处理器执行从默认操作模式到第一增加的负载操作模式的过渡,使得在从默认操作模式到第一增加的负载操作模式的过渡期间,处理器主要从功率轨汲取默认电流。动作515的示例是gpu115向增加的负载操作模式的过渡,同时在诸如来自关于图2a和图2b所讨论的降低的时钟频率的有限集合的降低的时钟频率下进行计时。应当领会,在不背离本公开的范围的情况下,可以对本公开的设备的材料、装置、配置和使用方法做出许多修改、替换和变化。鉴于此,本公开的范围不应局限于本文中所图示和描述的特定实现方式的范围,因为它们仅是其一些示例,而是应与以下所附权利要求及其功能等同物的范围完全相当。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1