有快速功率浪涌检测和指令节流以提供低成本电源单元的计算系统和处理器的制作方法

文档序号:15997933发布日期:2018-11-20 19:04阅读:134来源:国知局

技术领域

本发明的领域一般地涉及计算系统,且更具体地涉及有快速功率浪涌检测和指令节流(throttle down)以提供低成本电源单元的计算系统和处理器。



背景技术:

图1示出了用于处理器101的典型电源安排100。如图1中观察到的,电源单元105和电压调节器102一起作用以在处理器操作的过程中向处理器101提供有充足的供应电流的特定供应电压。电压调节器102在处理器供应节点103处的处理器提供特定的供应电压。现代处理器通常在处理器其自己的控制下接受可变范围的供应电压(例如,0.6到0.8伏特(V))(为了简单起见,从处理器到电压调节器102或影响供应电压的其他组件的连接未示出)。

为了向处理器101提供“稳定”的供应电压,电压调节器102在输入104接收比供应节点103处的供应电压高的输入电压。举例而言,供应+1.8V供应电压的现代电压调节器通常可以在输入104接收+4.0V到+36.0V的范围内任何位置的电压。电压调节器102于是将在输入104处接收的电压(例如+12.0V)“逐步下降”到在供应节点103提供的供应电压(例如+1.8V)。根据一个视图,电压调节器102的逐步下降活动许可当面临从处理器101汲取的电流大幅摇摆时在节点103处的“稳定”的供应电压。

当处理器汲取大量电流时,可以在输入节点104处观察到效果。具体地,在节点104将观察到从由处理器101要求的功率增加导出的突然的电流汲取和电压调节器102的低效。举例而言,考虑在供应节点103接收+1.8V的供应电压并通常汲取36安培(A)的电流的处理器。+1.8V的供应电压和36A的电流汲取相对应于处理器中65瓦特(W)的功率耗散((1.8V)×(36A)=65W)。电源单元105将需要不仅供应给处理器的足够功率(65W),还要供应补偿电压调节器102不够完美的效率的附加功率。

举例而言,如果调节器102是目前典型的80%有效,则需要从电源单元105提供附加的20%功率增加给电压调节器102。即,需要由电源单元105提供((65W)/.8)=80W给电压调节器102。如果在节点104电源单元105供给+12V的输入电压到电压调节器102,则电压调节器从电源单元的电流汲取将是((80W)/(12V))=6.67A。(注意,由电压调节器102进行的从+12V到+1.8V的逐步降低的转换的影响包括由电压调节器102要求的比处理器101低相当多的电流汲取)。

如果处理器101突然将其电流汲取要求从36A增加到56A,则电源单元105将观察到由电压调节器102进行的电流汲取从6.67A增加到10.42A(假定由电源单元提供的电压固定在+12V)。即,处理器101中的功率耗散将增加到(56A)×(1.8V)=100W。为了计及电压调节器102不够完美的效率,电源单元将需要供应100W/0.8=128W给电压调节器102。在+12V供应125W相对应于125W/12V=10.42A。

以上的分析印证了,归功于电压调节器102的低效,电源单元105通常被设计为供应比处理器消耗的多得多的功率。通常,电源单元105被设计为提供越多的功率,电源单元就变得越大和越贵。

附图说明

从以下具体描述结合以下附图可以获得对本发明的更好的理解,附图中:

图1示出了处理器电源的传统设计:

图2示出了改进的电源系统设计;

图3示出了图2的电源系统的操作的时间线;

图4a、b示出了可以利用图2和3的概念的不同的处理器和系统配置;

图5示出了另一个改进的电源系统设计;

图6示出了可以用来建造多处理器计算机的多核处理器。

具体实施方式

问题是,当处理器功耗继续增加时(例如,由于增加的晶体管个数、管芯大小和时钟速度),电源单元105的最大功率也继续增加。让事情变得更糟的是,在某些稀有情况中(例如,“优化的功率病毒(power virus)循环”),处理器的最大功率汲取可以远远超出其“典型的”最大功率汲取(例如,在导致处理器进入其最高性能状态的更典型工作负载的类型的工作负载下处于其最高性能状态)。举例而言,额定处理器的Pmax功率汲取可以比处理器在处理通常在处理器操作于其最高性能状态时是典型的那种工作负载时正常汲取的高出100%。

这里,Pmax更接近理论最差情况的处理器功率汲取的测量,而不是真实世界应用中处理器在被要求执行其最大工作负载时通常汲取的。举例而言,Pmax可相对应于当处理器被要求处理处于处理器最高供应电压和操作频率的最耗能的指令的连续流时汲取的功率。在真实世界应用中,这样的指令流是不可能的。然而,系统被设计为如果Pmax事件发生则处理它。因此,电源单元105倾向于被设计为具有远远超出在正常操作情形下将是足够的大小和成本。

图2涉及许可在未来的处理器世代中甚至具有增加的处理器Pmax的更小和/或更便宜的电源单元205的改进的设计。图2的方案的设计角度是更小和/或更便宜的电源单元将不能在Pmax提供足够的功率给电压调节器102达一段持续的时间。然而,更小、更便宜的电源单元可以在Pmax功率汲取以下提供足够的功率给电压调节器102达一段短暂有限的时间(例如100μs)。

因此,参考图2,在电源单元输出207处插入了快速功率感测电路206以迅速地检测来自电压调节器202的功率汲取中超出了为电源单元205所建立的预定义功率级别的浪涌。在实施例中,预建立的功率级别在处理器将汲取Pmax级别的功率的情况下电源单元将被要求提供的功率级别之下。

快速功率感测电路206可以用特别设计的模拟和/或数字电路检测电源输出207处的功率汲取中的增加,所述电路测量例如来自电压调节器202的电流汲取或来自电压调节器202和/或由电源单元205提供的电压的电流汲取。

响应于其快速检测到来自电压调节器202的功率汲取已经超出了预建立的阈值,功率感测电路206发出快速节流信号208至处理器201。快速节流信号208在处理器201的输入211处被接收,并被路由通过处理器201内的“快速”信号路径209至逻辑电路210,该逻辑电路以某种方式控制处理器201内的指令执行流水线213执行指令的速率。举例而言,逻辑电路210可控制流水线213的指令被获取(例如从高速缓存、系统存储器或二者)的速率和/或获取的指令被馈送(发出)至流水线213的速率。

快速信号路径219被设计为使得快速节流信号208仅持续从处理器输入211到逻辑电路210的端到端的小传播延迟。小传播延迟可以通过例如最小化逻辑门或在输入211和逻辑电路210之间的其他类型的逻辑处理的数量来影响。快速信号路径209也可至少部分地实现为具有受控制(例如,特别设计的)特性阻抗(characteristic impedance)以在信号传播通过处理器时最小化信号失真的传输线。

传输线也由具有基本匹配传输线的特性阻抗的源阻抗的驱动器电路驱动,且可用匹配传输线的特性阻抗的终端电阻(termination resistance)终止。可理解,快速路径209的端到端运行程度可拆分成例如一系列传输线段,其中每一个段有如上所述的其自己的驱动器和终端对(termination pair)。

基本上,在实施例中,一个或多个模拟传输线受影响为将例如信号从输入211尽可能快地传输到逻辑电路210。通过这样做,尽可能多地避免了用每一个都有相关联的、不想要的传播延迟的逻辑门实现的实质逻辑处理。结果是,减少了快速节流信号通过处理器201的传播延迟使得它尽可能快地到达逻辑电路210。

根据以上讨论,于是强调了减少通过功率感测电路206和沿处理器201内的快速信号路径209的整体传播延迟。通过这样做,逻辑电路210导致指令执行流水线213降低了在功率汲取超过电源单元205的阈值发生之后“几乎立即”地执行指令的速率。

在这里,通过这些电路206、209的传播延迟较少得越多,事实上越许可电源单元205更小和更便宜。如以上提到的,电源单元205通常可以短时间地处理超出其额定最大功率的“功率浪涌”,但不能是持续的时段。通过把在电源单元205可以供应超出其预建立的阈值的功率的时间窗口内快速地降低处理器201的功率汲取的闭环响应设计进系统中,可以不需要将被设计为在持续的时段处理极端功率浪涌的更大更昂贵的电源设计进系统中。由此,系统可以“摆脱”使用降低性能的电源单元205。

图3以时间线的方式示出了该场景。在初始时段350,来自处理器301的功率汲取大大低于其Pmax“最差情况”情景。因此,电压调节器302在电源单元上的功率汲取(其例如可能比由于电压调节器的低效的处理器301的功率汲取高25%)也低于电源电压预建立的阈值级别320。

在时间窗口350之后,处理器突然接近最差情况Pmax功率汲取状态。作为响应,电压调节器功率汲取302浪涌。在浪涌期间,来自电压调节器的功率汲取超出电源单元305的阈值320。此后很快地,功率感测电路发出快速节流信号306,其快速地传播通过处理器并到达开始对指令发出速率330进行节流的逻辑。处理器功率汲取301开始降低作为响应331并最终导致来自电压调节器302的功率汲取落到332低于阈值320。

将任何阈值320之下的电压调节器功率汲取视为电源单元可以处理达一长段时间的功率汲取,和将任何阈值320之上的功率汲取视为电源单元不能处理达一长段时间但可以处理短时间的功率汲取,注意功率感测电路的快速动作和通过处理器的低传播延迟路径导致来自电压调节器302的电源汲取超出电源单元的阈值级别320达仅仅一短段时间323。因此,当处理器在其Pmax级别下汲取时不能满足持续的功率汲取(以及例如只能够满足处于或者低于阈值水平320的持续的功率汲取)的电源单元可以仍然在系统中实现。

在实施例中,更小和/或较不昂贵的电源单元可以提供高于其阈值水平320的功率的短时间量为100μs。由此,在实施例中,时间段323应小于100μs。高性能感测电路应能够达到1-10μs范围内的感测时间。

在一个实施例中,对时间段324规定了40μs的时间预算。此处,从电压调节器302的功率汲取超出阈值320的瞬间到来自电压调节器302的功率汲取开始降低的瞬间应花费40μs。根据一个方案,总时间预算大概在功率感测电路和处理器之间划分。因此,功率感测电路被分配了20μs以在电压调节器的功率汲取超出阈值320之后发出快速节流信号,且处理器被分配了20μs以在它首次接收快速节流信号之后开始降低其功耗(注意,图3未按比例画出)。这给来自电压调节器302的正在下降的功率汲取留下60μs以掉落到阈值320之下。

在实施例中,给电源单元建立的阈值级别320不比电源单元上当处理器处于其最高性能状态并在处理通常是由处于其最高性能状态的处理器处理的工作负载类型的工作负载时被期望的功率汲取的级别低(或者比这样的功率汲取超过一些百分比,例如10%)。在另一个或相关的实施例中,阈值320不比如果处理器在其Pmax级别汲取时将汲取的功率高。在许多实施例中,阈值级别320应显著地低于此级别。

为了辅助系统设计者,在实施例中,处理器公开的说明书表达了规定从处理器接收快速节流信号的瞬间到处理器快速降低其功率汲取的瞬间的传播延迟的快速节流信号响应。在另外的实施例中,公开的说明书也规定了功率汲取衰落的速率或包络或其他类似信息。举例而言,公开的说明书可规定一个或多个传播延迟,其规定了在处理器输入处声明了快速节流信号之后处理器的功率汲取从Pmax级别下降到一个或多个较低级别的时间量。

有了此类型的信息,系统设计者可以对任何特定的电源单元阈值级别320确定适当的电压调节器响应时间以及功率汲取和功率感测电路响应时间。电源单元阈值级别320基本确定功率汲取的大小和/或成本。即,更小和/或更便宜的电源单元有比较大和/或较昂贵的电源单元更低的阈值级别320。因此,设计者越受激励去将更小和/或较不昂贵的电源单元集成进系统,设计者就相应地受激励去集成更快的功率感测电路206和电压调节器202。

在另外的实施例中,响应于经断言的快速节流信号的指令执行流水线的“经节流”的指令发出速率是处理器的可编程特征。这许可系统设计者控制一旦快速节流信号经声明之后处理器将降低其功耗的速率。举例而言,处理器可包括模型专用寄存器(MSR)空间,该空间许可操作系统(OS)实例或虚拟机监视器(VMM)设置MSR空间中设置了每时间单元可以取指和/或发出的指令的数量上的最大限制的值。注意,在将指令取指进流水线上的限制基本上也限制指令发出。因此指令发出将用来指两个机制。

一旦快速节流信号已经被断言为多过较高限制之后,较低的限制导致处理器的功耗下降得更迅速。许可系统设计者规定响应于快速节流信号的断言的处理器的功率降低速率应该向系统设计者提供就定义适当的电压调节器、功率感测电路和电源单元而言的附加的灵活性。在实施例中,处理器的说明书也规定对不同编程的经降低的指令取指和/或发出速率的值的处理器的不同的功率降低速率。

根据另一个方案,一旦断言了快速节流信号,指令执行流水线停止发出指令,使得处理器有效地停止进一步的处理活动并同时以最高或接近最高的速率降低其功率汲取。完整的休止可通过固定的设计硬连线进处理器中,或者用户可以能够编程在例如MSR空间中每单位时间取指/发出0指令的值。

无论指令发出被节流下来的速率是多少,也存在关于如何在进入之后退出节流模式的不同的设计选项。根据第一方案,经节流的模式存在固定的时间段并然后切换到处理器的已建立的性能状态。在实施例中,性能状态不是最高性能状态。进入低于最高性能状态的性能状态应强制处理器的供应电压和/或时钟频率中的至少一个对比于在处理器接收快速节流信号之前存在的电压/频率而被降低。

在另一个实施例中,处理器花在节流模式中的时间段是可编程的。即,例如,OS示例或VMM可输入MSR空间中的值,该值规定一旦进入了节流模式之后处理器将保持在节流模式中多久。在另外的或替换性实施例中,处理器在从节流状态出来时切换过去的具体性能状态也可以在例如MSR空间中被编程进处理器中。

在再另外的实施例中,接收快速节流信号导致向软件(例如OS实例或VMM)发出中断或其他类型的警告标志,使得例如导致功率浪涌的指令序列可以在较低的性能状态中被分支出去或被处理。这些反应的任一或二者都可以通过适当的注册器用软件控制的方式来施加。此处,可将处理器设计为包括响应于处理器接收快速节流信号而发出中断或标志的逻辑电路。

相信以上讨论的软件过程可用处理器、控制器、微控制器或类似的组件来执行。因此这些过程可用诸如导致执行这些指令的机器执行某些功能的机器可执行指令的持续代码来实现。这些过程也可由设计为执行该过程的电子电路(或其一部分)执行(作为执行程序代码的替换性或结合执行程序代码)。

相信任何软件过程可用各种面向对象的或非面向对象的计算机编程语言的源级别程序代码描述。诸如计算机可读介质的制品可用来存储程序代码。超出程序代码的制品可体现为但不限于,一个或多个存储器(例如,一个或多个闪存、随机读取存储器(静态、动态或其他))、光盘、CD-ROM、DVD ROM、EPROM、EEPROM、磁或光卡或其他类型的适于超出电子指令的机器可读介质。程序代码也可通过体现在传播介质中的数据信号的方式(例如,经由通信链路(例如网络连接))从远程计算机(例如服务器)下载到请求计算机(例如客户端)。

图4a示出了有多个处理核402的单个处理器401,其中每个核有多个指令执行流水线413。如图4a中所观察到的,单个快速节流信号被路由至逻辑电路410,该电路根据单个快速节流信号输入对处理器内的每一个个别流水线节流指令发出。此处,到不同流水线的不同路径可根据以上参考图2和彼处观察到的单个路径209讨论的相同的设计原则而实现。然而,对附加的分支线(stub)或分支可能必须进行附加的考虑以保证对处理器内的所有流水线的小传播延迟。示例包括在输入处的驱动器或和/或对每一个核的驱动器。图4b示出了在图4a中观察到的由相同的电源单元供电的类型的多个处理器。

图5示出了快速功率感测电路可在电压调节器和处理器之间插入。在此情况中,功率感测电路直接从处理器而不是通过电源调节器检测处理器的功率汲取。系统设计者可针对电源调节器的低效进行规划以关联处理器的什么具体的直接监视的汲取对应于其中电源单元不再能提供持续的功率的被越过的电源单元的阈值水平。

图6示出了示例性多核处理器600的架构。如图6中观察到的,处理器包括:1)多个处理核601_1到601_N;2)互连网络602;3)末级高速缓存系统603;4)存储器控制器604和I/O中枢605。处理核的每一个都包含一个或多个用于执行程序代码指令的指令执行流水线。互连网络602用来将核601_1到601_N的每一个互连到彼此和其他组件603、604、605。末级缓存系统603在指令和/或数据被驱逐到系统存储器606之前用作处理器中的末级高速缓存。

存储器控制器604从系统存储器606读/往系统存储器606写数据和指令。I/O中枢605管理处理器和“I/O”设备(例如,非易失性超出设备和/或网络接口)之间的通信。端口607从互连网络602中生成以链接多个处理器使得有多于N个核的系统可以实现。图形处理器608执行图形计算。功率管理电路609将处理器的性能和功率状态作为整体(“封装级别”)和诸如个别核的处理器内的个别单元的性能的功率状态的方面来管理。为了方便在图6中未示出其他重要的功能块(例如,锁相环(PLL)电路)。

在前述说明书中,已经参考其具体的示例性实施例描述了本发明。然而,将会显而易见的是,可以对其进行各种修改和改变而不偏离如在所附的权利要求书中所阐述的本发明的边界精神和范围。因此认为说明书和附图是说明性的而不是限制性的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1