张先生899547
处理器热功耗概念:P4时代是一个高热时代。Prescott核心把90纳米工艺引入处理器制造中,也带来了极度的“热情”。随着P4核心的更替和制程的更新,我们对散热器的奇异外形和高昂价格的接受能力也在不断增强,以下是两款纯铝和纯铜散热器的代表:CoolerMaster Hyper48 Thermalright XP120 相比电脑内的其他的部件,处理器核心往往是发热最集中的部位:首先,处理器的功耗不断攀升,产生的热量递增,但制造工艺升级令处理器的表面积越来越小。导致的结果便是处理器单位面积释放以及瞬间释放的热量成倍增长。Intel处理器的功耗与电压,主频之间存在着这样一个关系:P=CV2F(P:功耗;C:系数;V:工作电压;F:主频) 为了缓解处理器面临的功耗发热问题,Intel和厂商使用了两种方法:Intel着重提高处理器自身的过热保护能力,并尽可能采用功耗智能管理方式调整处理器不同工作状态下功耗。本文的第一部分将着重介绍P4架构处理器的热功耗设计技术,过热保护技术和Intel制定的散热器规范,第二部分则涉及CPU散热器的相关参数。 这篇文章探讨的处理器,确切的说是使用P4 Netburst微架构的处理器。它包括使用Willamatte,Northwood以及Prescott核心的全部Pentium4,Celeron和Celeron D处理器。 在探讨处理器的热功耗以及散热设计之前,我们必须纠正一个长期以来被很多媒体错误使用的概念:TDP与处理器功耗。谬误:TDP功耗与处理器功耗混为一谈 这一概念在很多文章中都被错误的使用。我们必须首先分清,TDP和处理器功耗是两个相关但却泾渭分明的定义。反应一颗处理器热量释放指标的是处理器的TDP。TDP功耗的英文全称是Thermal Design Power,中文直译是“热量设计功耗”,所以,从中文的使用习惯上说,使用“TDP功耗”也是不正确的。要么就是TDP,要么就是热设计功耗。 TDP功耗是处理器的基本物理指标。它的含义是当处理器达到负荷最大的时候,释放出的热量,单位同样以W计量。TDP也并非恒定不变,但是单颗处理器的TDP值是固定的。而散热器必须保证在在处理器TDP最大的时候,处理器的温度仍然在设计范围内。但是,无论是在平面媒体或是在网络媒体的评测或是介绍中,TDP都与处理器功耗混为一谈。 处理器的功耗,确切的说是消耗的功率是处理器最基本的电气指标。根据电路的基本原理,功率(P)=电流(A)×电压(V)。所以,一颗处理器的功耗(功率)是流经处理器核心的电流数值与加在该处理器上的核心电压的乘积。 处理器的核心电压与核心电流时刻都处于变化之中,这样处理器的功耗也在变化之中。在散热措施正常的情况下(即处理器的温度始终处于设计范围之内),处理器负荷最高的时刻,其核心电压与核心电流都达到最高值,此时电压与电流的乘积便是处理器的峰值功耗。 那么处理器功耗与TDP有什么联系呢?在处理器的功耗分为两部分:实际消耗的功耗和产生的热功耗。前者是处理器各个功能单元正常工作消耗的电能,后者是电流热效应以及其他形式产生的热能,他们均以热的形式释放。这类热量很大,单靠处理器自身是无法完全排除的,因此这部分热能需要借助外界的手段吸收,硅晶元才不会因温度过高而损毁。 两者的关系可以用这个公式概括:处理器的功耗=实际消耗功耗+TDP。从这个等式我们可以得出这样的结论:TDP并不就是处理器的功耗,TDP要小于处理器的功耗。虽然都是处理器的基本物理指标,但处理器功耗与TDP对应的硬件完全不同:与处理器功耗直接相关的是主板,主板的处理器供电模块必须具备足够的电流输出能力才能保证处理器稳定工作;TDP需要借助主动散热器进行吸收,散热器若设计无法达到处理器的要求,那么灾难就会发生。TDP与其他电气指标的关系 TDP作为处理器的基本参数,它的值取决于主要取决于最大核心电流:Icc Max,而TDP直接导致的结果就是处理器的Tc(case Temperature,直译为容器温度,后文会介绍)。处理器的核心电流越大,释放出的热量越大,TDP值越高,Tc也越高。具体的指标可以从Intel的文档中得到,我们列举了以下几款:630 3.0GHz 0 78A 84W 66.6℃P4 570 3.8GHz 1 119A 115W 70.8℃ 上表列出了最新LGA P4处理器的相关数据。有一点说明,表中的数据是这款处理器的最大值。个别处理器的数值会低于表中的数据。通过这张表我们可以发现:并不是处理器频率越高,它的各项功耗指标就越高。为了保证主板对处理器的兼容性,Intel对不同处理器的功耗指标进行了严格的控制,一款处理器的最大核心电流,最大TDP以及最高Tc值之间也存在着关联。在同样的主频下,TDP值越小,处理器的品质越好。什么是PRB? 在这张表里有一个参数很重要:PRB。明显的,PRB值为1的处理器的功耗要比PRB为0的处理器大得多。PRB的全称是Platform Requirement Bit。处理器的一个针脚会告知主板自己的这个针脚定义是0还是1。由于PRB=1的电气指标较高,所以只支持PRB=0相应规范的主板无法正常启动PRB=1的处理器。Intel使用775_VR_CONFIG_04A或04B来标示PRB=0或者是PRB=1的处理器。LGA775盒装处理器的包装盒上会注明:Intel P4架构处理器的过热保护机制 从P4诞生,Intel就在处理器中加入了过热保护机制,以防止在散热器无法有效发挥作用的前提下保证处理器的安全。Intel保护处理器的通常办法是在温度达到或超过设计温度的时候降低处理器的工作主频。热量监视(Thermal Monitor) 热量监视功能是随P4一起诞生的,只要采用NetBurst架构的处理器,不管其核心是Willamatte,Northwood或是Prescott,都会具备TM功能。它的主要功能是监视处理器的温度,TM保护处理器是通过处理器内部的热量控制电路(Thermal Control Circuit)来实现的。TCC内建在CPU内部,所以TM不需要软件或是用户设置。一旦CPU出厂,TM的设置便不能由第三方进行修改。所以TM是非常底层的硬件保护机制。2.1.1TM是如何保护CPU的呢? 当处理器的温度上升达到一定的值后,TCC便被自动激活。处理器内部的时钟频率信号进行周期性的终止和激活,这一切会发生在TCC启动后的3微妙内,可以最大程度的保证处理器的安全。当处理器的工作温度接近预设的最高温度时,以及TCC动作之前,处理器的频率改变会有一段时滞;一旦处理器的温度下降到预设最高温度以下,时滞期过去之后,TCC便停止工作,处理器的时钟频率调整便结束。TCC激活后,其工作的时间间隔是固定的,隔一段时间便会停止激活,如果处理器温度仍然高于设计值,则继续激活。 TCC工作之后,处理器的频率会产生不可避免的变化,性能也会下降。所以,散热设计应当是尽可能将处理器的温度控制在TM设定的最高值以下,避免TCC激活。Intel对散热设计的标准是这样的:2.1.2 符合要求的设计 与大家期望可能有些差距,Intel对符合要求的散热设计的规定很宽泛:如果在这个散热系统下,处理器的TCC电路会在负荷最重的时候被激活一段很短的时间,那么这款散热系统的设计就是合格的,而这时TCC电路激活对处理器性能产生负面影响可以忽略不计的。从这段要求中,我们可以理解,即Intel允许处理器的温度在一段很短的时间内超过TM设定的上限。 Tomshardware在 中提到了Intel原装散热器的问题。大家仔细的阅读这篇文章后再比较Intel对符合要求的散热设计的定义,就能在一定程度上理解这个问题不是原装散热器的错,而是Intel的标准过于宽泛了。 有问题的散热设计 如果处理器是由问题散热系统进行冷却,那即使在Intel规定的环境温度下,TCC激活的次数也会明显增加,在这样的情况下,TCC激活引起处理器性能的下降是能被察觉到的。在某些情况下,处理器的Tc温度会上升并超过了Intel的设计指标,这对处理器长期使用的稳定性是不利的,也会影响处理器的寿命。不合格的散热设计 即使在TCC持续激活,主频下降的前提下,处理器温度仍然不能有效的下降至设计温度以下,那么这款散热系统的设计就是不合格的。热量监视(Thermal Monitor 2) TM2是Intel在LGA775封装的Prescott核心处理器中增加的新的过热保护机制。TM2是新的功耗管理和热量监视机制。与TM相比,TM2可以提供更智能,更有效的处理器热量功耗的管理方式,在保证处理器基本性能的前提下尽可能在满负荷情况下降低处理器的功耗和温度。 TM2的主要工作方式仍然是通过TCC进行处理器主频的控制,不过它被称为“Enhanced TCC(增强型TCC)”。e-TCC通过调节两个参数来降低处理器的功耗:处理器的倍频和输入电压,与移动处理器节能模式非常类似。 TM2为处理器的工作状态预设了两个点:第一点的工作状态是正常的主频和核心电压;第二点是低主频和低电压点。一旦TM2侦测到处理器的温度上升到预设的警戒温度时,e-TCC电路被激活,调整处理器的第一点主频和电压,朝着第二点的预设值转换。这一转换的过程非常快――仅5微妙。在转换的这段时间之内,处理器不能响应系统总线的访问请求的。 处理器的主频降到预设的低值之后,便会向主板上的电压控制模块发出新的电压识别信号(VID Code)。因此,要实现TM2,主板的电压控制模块必须支持处理器的多电压转换过程,具备较低的电压输出能力。在处理器电压转换的过程中,可以接受系统总线对其的访问,执行指令。 处理器温度下降到正常值时,处理器的工作主频和电压便会朝正常的值上升。首先上升的电压,这样可以保证处理器恢复到正常频率工作后的稳定性(因为低压高频一般会导致处理器工作不稳,就像加压超频的原理)。Ta是指环境温度。即处理器工作环境的温度。Intel为P4 5系列和6系列设定的环境温度为38℃。它的含义是如果在高于38度的环境下,那么使用盒装散热器是无法保证对应的处理器的温度均在设计范围之内(可以使用更强力的散热器)。那么这个38度是怎么测量的呢?Intel对这个有严格的规定 Tcontrol定义了处理器集成的二极管的工作温度。二极管温度的数值控制着风扇的转速。Tcontrol还规定了处理器工作的精确温度区间,这样风扇的噪声可以得到较好的控制。Tcontrol的引入使得散热器在维持处理器正常工作温度区间的前提下尽可能减少噪声。 Tcontrol的数值受到一系列因素的影响,最重要的是处理器闲置时的功耗。很明显,如果运行相同的程序,Tcontrol值较高的处理器会释放出比Tcontrol值较低的处理器更多的 Intel的盒装风扇一般都具备温控转速功能,不过LGA775处理器搭配的散热器使用三针或者是四针接口的主板上时,风扇转速的改变方式是不同的。 如果四针的接口连接到三针的电源接口上,风扇转速会随着主板温度的改变而变化,即机箱内部(特别是靠近处理器)的环境温度。Intel为风扇的转速设置了两个点,低速低噪声点(30℃),和高速高噪声点(38℃)。当环境温度上升超过较低点时,风扇的转速就会线性增长,直至达到高转速和高噪声的模式。如果环境温度持续超过38度,风扇便始终处于最高速运行状态。要使风扇维持较低的噪声水平,Intel建议为散热器留出足够的空间并保证有足够的气流提供,使环境温度尽可能低于低点预设值。 如果主板提供了四针电源接口,说明主板是按照PWM输出控制设计的。四针电源接口设计可以提供比依据主板温度更为精确的风扇转速控制。因为从处理器内部读取的Tdiode温度是控制风扇转速的依据,此种控制方式的好处是风扇转速由处理器内部较为准确的实际温度决定。
快乐Angels
TDP的英文全称是“Thermal Design Power”,中文翻译为“热设计功耗”,是反应一颗处理器热量释放的指标,它的含义是当处理器达到负荷最大的时候,释放出的热量,单位为瓦(W)。CPU的TDP功耗并不是CPU的真正功耗。功耗(功率)是CPU的重要物理参数,根据电路的基本原理,功率(P)=电流(A)×电压(V)。所以,CPU的功耗(功率)等于流经处理器核心的电流值与该处理器上的核心电压值的乘积。而TDP是指CPU电流热效应以及其他形式产生的热能,他们均以热的形式释放。显然CPU的TDP小于CPU功耗。换句话说,CPU的功耗很大程度上是对主板提出的要求,要求主板能够提供相应的电压和电流;而TDP是对散热系统提出要求,要求散热系统能够把CPU发出的热量散掉,也就是说TDP功耗是要求CPU的散热系统必须能够驱散的最大总热量。现在CPU厂商越来越重视CPU的功耗,因此人们希望TDP功耗越小越好,越小说明CPU发热量小,散热也越容易,对于笔记本来说,电池的使用时间也越长。Intel和AMD对TDP功耗的含义并不完全相同。AMD的的CPU集成了内存控制器,相当于把北桥的部分发热量移到CPU上了,因此两个公司的TDP值不是在同一个基础上,不能单纯从数字上比较。另外,TDP值也不能完全反映CPU的实际发热量,因为现在的CPU都有节能技术,实际发热量显然还要受节能技术的影响,节能技术越有效,实际发热量越小。 功耗一般分两种:来自开关的动态功耗,和来自漏电的静态功耗。而动态功耗又可分为电容充放电(包括网络电容和输入负载),还有当P/N MOS 同时打开形成的瞬间短路电流。静态功耗也可分为几类:扩散区和衬底形成二极管的反偏电流(Idiode),另外一类是关断晶体管中通过栅氧的电流(Isubthreshold)。芯片的漏电会随温度变化,所以当芯片发热时,静态功耗指数上升。另外漏电流也会随特征尺寸减少而增加。公式:Ptotal = Pdynamic + Pshort + PleakagePswitch = A * C * V2 * FPshort = A (B/12) (V-2Vth)3 * F * TPleakage = (Idiode + Isubthreshold) * V 首先定义对功耗的需求,然后分析不同的架构,决定如下需求:system performance, processor and other IP selection, new modules to be designed, target technology, the number of power domains to be considered, target clock frequencies, clock distribution and structure, I/O requirements, memory requirements, analog features and voltage regulation.你还需要定义工作模式:如startup, active, standby, idle, and power down等等,当然这些模式是由软硬件共同决定的。理想的解决办法是不同工作模式下用不同的工作电压,但这又会造成太过复杂的情况,比如你需要考虑不同电压区域隔离,开关及电压恢复,触发器和存储器的日常存储恢复中状态缺失,等等。简单一点来讲,你可以根据高性能/高电压和低性能/低电压来划分你的设计。接下来你可以考虑系统时钟结构,这对减少动态功耗很有用。你可以使用多个时钟域,降低频率,调整相位等等。一般处理器的软件接口控制都可做到这几点。别忘了可能出现的比如glitch,skew,等问题。一旦架构确定下来,就可以做RTL code了,当然目标还是低功耗。使用EDA工具时注意mutiple threshold leakage optimization,multiple supply voltage domains,local latch based clock gating, de-clone and re-clone restructuring, operand isolation, and gate level power optimization.我们一条条的来看:第一,mutiple threshold leakage optimization。库文件一般有三版:低Vth(快,大漏电),标准Vth,高Vth(慢,低漏电)。工具一般尽量用高Vth cell,而由于timing限制则需用低Vth cell.很明显,选库很重要。第二,multiple voltage domains。不同工作电压需要库的支持。不同电压区域的划分则需要前后端设计的协作。第三,local latch based clock gating。这是在成组的flop之前加上特定的clock gating latch.第四,de-clone and re-clone restructuring。在layout之前,将local clock gating提到更高一级,以利于减少面积,为CTS建立“干净“的起始点。在具体布局时,对local clock gating进行re-clone,以利于优化时钟树。第五,operand isolation。这一步通过一个通用控制信号,自动识别并关闭data path elements和分层组合模块。第六,Classical gate level optimization。改变单元尺寸,pin swapping,去除不必要的buffer,合并门,加入buffer减少skew,调整逻辑等等。 大规模集成电路多采用CMOS电路,对于CMOS电路来说,在执行某一任务期间,1个时钟周期的能量消耗为:式中:M为系统中门电路的个数,Cm为第m个门电路的负载电容, 为第k个门电路每个时钟周期的开关次数,Vdd为电路的电源电压值。可以看出,影响系统功耗的主要因素有工作电压、负载电容、门电路的开关次数和时钟数。这些参数就是进行SOC系统低功耗设计的出发点。 软硬件划分软硬件划分是从系统功能的抽象描述着手,把系统功能分解为硬件和软件来实现。通过比较采用硬件方式和软件方式实现系统功能的功耗,得出一个比较合理的低功耗实现方案。由于软硬件的划分处于设计的起始阶段,所以能为降低功耗带来更大的可能。功耗管理功耗管理的核心思想是设计并区分不同的工作模式。其管理方式可分为动态功耗管理和静态功耗管理2种。动态功耗管理的思想就是有选择地将不被调用的模块挂起,从而降低功耗。静态功耗管理是对待机工作模式的功耗进行管理,它所要监测的是整个系统的工作状态,而不是只针对某个模块。如果系统在一段时间内一直处于空闲状态,则静态功耗管理就会把整个芯片挂起,系统进入睡眠状态,以减少功耗。软件代码优化软件代码的功耗优化主要包括:①在确定算法时,对所需算法的复杂性、并发性进行分析,尽可能利用算法的规整性和可重用性,减少所需的运算操作和运算资源。②把算法转换为可执行代码时,尽可能针对特定的硬件体系结构进行优化。例如,由于访问寄存器比访问内存需要更少功耗,所以,可以通过合理有效地利用寄存器来减少对内存的访问。③在操作系统中充分利用硬件提供的节电模式。随着动态电压缩放技术的出现,操作系统可以通过合理地设置工作状态来减少功耗。 并行结构并行结构是将1条数据通路的工作分解到2条通路上完成。并行结构降低功耗的主要原因是其获得与参考结构相同的计算速度的前提下,其工作频率可以降低为原来的1/2,同时电源电压也可降低。并行电路结构是以牺牲芯片的面积来降低功耗。假定参考结构中的工作频率为. ,电源电压 ,整个数据通路的等效电容是 ,最坏情况下的延迟为 :,则: 。如果采用并行结构,可以使工作频率降为 /2,最坏情况下的延迟可以达到2 ,假定电源电压降低为 /1.8,由于电路的加倍和外部布线的增加,其等效的电容为2 。则:由上式可以看出,并行结构下功耗有明显的降低。流水结构电路流水就是采用插人寄存器的办法降低组合路径的长度,达到降低功耗的目的。一个先相加再比较的电路中间插人流水线寄存器的流水结构。加法器和选择器处在2条不同的组合路径上,电路的工作频率没有改变,但每一级的电路减少,使电源电压可以降低。假设电源电压为 /1.8,由于加入了流水线寄存器,等效电容变为原来的1.2 。则:由上式可见,采用流水线结构也可以显著地降低功耗。电路流水化和并行化可以达到降低功耗的目的,这是因为设计者可以选择电路的工作电压。如果电路工作电压固定,2种方法只能提高电路的工作速度,但功耗将相应地有所增加。编码优化一般可采用One-Hot码、格雷码和总线反转码降低片上系统总线的功耗。One-Hot码在一个二进制数中只允许1个数位不同于其他各数位的值;格雷码在任何2个连续的数字其对应的二进制码只有1位的数值不同。由于在访问相邻的2个地址的内容时,其跳变次数比较少,从而有效地减少了总线功耗。总线反转码是在传输数据时考虑相邻数据之间的关系来决定传输的格式。当发送部件向总线上传输第 个数据时,会将它和 进行比较,根据比较的结果来决定发送 还是 ,从而减少总线的有效翻转数,进而减少系统的功耗。除了这几种编码外还有一些更为复杂的低功耗编码,如窄总线编码、部分总线反转编码和自适应编码等,这些编码方式的最终目的就是通过改变编码来降低不同数据切换时的平均翻转次数。在采用这些编码时,设计者应该综合考虑它们带来的其他代价,如增加的编码解码电路等。 在寄存器级进行低功耗设计的主要方法: 门控时钟有2种:门控到达逻辑模块的时钟和门控到达每个触发器的时钟。但不管是哪一种,都能起到降低功耗的作用。门控到达逻辑模块的时钟控制方法如下图所示。中心模块提供给模块A和模块B不同的门控时钟,当模块不工作时,可以关闭该模块,从而达到减少功耗的目的。模块级时钟门控方法门控到达每个触发器的时钟控制方法如下图所示。当寄存器保持数据时,可以关闭寄存器时钟输入,减少功耗。门控时钟控制的寄存器 存储分区访问是将一个大的存储模块分成不同的小的存储模块,通过译码器输出的高位地址来区分不同的存储模块。工作中,只有被访问的存储器才工作,其他几块存储器不工作。多模块RAM的架构如下图所示。多模块ram架构根据参考文献[[4],采用此种方法可以将RAM的功耗减少12.5%。 预计算是提前进行位宽较小的计算工作,如果这些操作得到的信息可以代表实际的运算结果,就可以避免再进行位宽较大的计算工作,降低电路的有效翻转率,从而达到降低功耗的目的。
优质英语培训问答知识库