解析微处理器的电源挑战
扫描二维码
随时随地手机看文章
随着过去20年计算的突飞猛进,及其对商业、教育、科研、医疗机构及其他行业带来的社会效益,计算的能源和环境足迹也相应地增加。全球30亿台个人电脑每年消耗的能量超过总能耗的的1%;全球3,000万台服务器将再增加1.5%的总用电量,每年耗费约140亿至180亿美元。
由于全球上网用户越来越多,据预测到2018年,全球数据中心的总占地面积将从2013年的15亿平方英尺增加到近20亿平方英尺。这些计算中心的服务器不仅会连接到个人电脑、电话和平板电脑,还会连接到大量新型联网设备和系统。尽管可能会与预期有所出入,但保守估计,到2020年将会有近260亿台包含可穿戴计算机和工业传感器在内的各种设备连接到互联网。这就意味着互联网流量会大幅增加,预计到2015年将会从2010年的245EB增加到1,000EB。
与用户对高能效性能的需求相结合,智能手机、平板电脑和游戏机等将被用于计算密集型任务中,比如流媒体、视觉体验效果更丰富的游戏和增强现实。同时,在视频编辑、语音和手势识别及基于生物特征信息的数据安全等方面,用户对便携式电脑和台式电脑的需求也不断升温。这些因素强力推动着提高处理器性能同时降低能耗的技术创新。
能源效率的现状
能源效率是数字移动革命的主要推动因素之一。20世纪40年代至今,计算效率提高了好几个数量级,因此笔记本电脑、平板电脑和手机在电池充满电的条件下可以持续工作几个小时。由于电池技术的发展速度明显落后于计算性能的增长速度,移动设备制造商只能集成多项技术来延长电池的续航时间。比如,智能手机和笔记本电脑在空闲一定时间后会自动进入休眠状态。
如下这些改进将具有深远的影响:假如美国境内销售的计算机都通过了能源之星认证,那么每年可节约资金10亿美元,同时温室气体排放量也能减少150亿磅,这相当于140万台汽车一年的排放量。
微处理器的电源挑战
20世纪80年代和90年代是微处理器性能和计算效率大幅提升的黄金时代。晶体管越来越小,设计人员可以在单个芯片上集成更多晶体管,处理器的时钟频率同时得到提高,进而用户计算机的性能得到提高。但是晶体管再小,功率密度基本上保持不变—这种现象被称为登纳德缩放比例定律。这就是说每一代新处理器每单位计算能力的能耗都会减少至上一代的1/4,同时电压和电容也相应降低。
但是,21世纪初,晶体管仍越来越小,单个芯片上可集成的晶体管数量仍在增加,但能源效益的增速却在逐渐放缓。主要原因是晶体管的尺寸已接近物理极限。晶体管越小,制造过程中漏电的可能性就越大,因为晶体管的阈值电压已经降低到器件不完全关断的点。登纳德缩放比例定律中的这一完结会增加消费者所期望的高集成度、高性能器件的功耗,从而需要采用更复杂的散热技术和创新的电源管理技术。
这最终导致半导体制造商不能单纯依靠工艺的改进来提高能源效率。此外,即使工程师保持摩尔定律与其历史性能轨迹相吻合,也同样需要探索新技术,来让能源效率的增长速度媲美早期的增长速度。
AMD 25×20计划
AMD的工程师认真研究了上述趋势和降低信息技术对环境影响的市场需求,以及延长电池寿命和提高更加轻薄小巧产品性能的需求。因此,过去几年他们大大提高了AMD处理器的性能。AMD认识到不能满足于现状,因此在2014年6月提出了到2020年实现加速处理器(APU)能效提高25倍的目标,或“25×20”计划。
AMD使用平台性能除以典型应用能耗获得的典型应用效率指数,来实现每单位能耗执行工作的单次测量。通过使用曲线, 可以清楚地看到典型应用实际上是由空闲功耗而非峰值计算功耗所主导。目前有许多电源相关的创新技术,可以在不影响性能的前提下最大限度地增加空闲时间,降低空闲功耗。当然,性能是一个关键参数—用户希望获得快速响应、快速运算和无缝视频回放。他们还希望拥有更长的电池续航时间、更轻薄小巧的尺寸和更小的环境影响。只要能优化典型应用的能效,上述问题就可以迎刃而解。
要实现25x20目标,就必须通过开使用技术和新方法大幅提高典型应用效率的提升速度。根据这一目标,从2014到2020年,AMD产品功耗的降低至少要比摩尔定律预测的历史效率趋势高出70%。这就是说到2020年,一台计算机完成同一项任务的用时将是目前个人电脑的1/5,而平均用电量也将不到目前个人电脑的1/5。这就好比仅用六年时间就将原来100马力的汽车变身为一辆500马力的汽车,同时每加仑燃料的行驶距离也从原来的30英里增加到150英里。
实现25x20目标
几十年来,CPU一直用来运行一般的编程任务。它擅长于利用分支预测和乱序执行等各种复杂技术来串行运行计算指令,从而提高速度。相反,图形处理器(GPU)是专用加速器,最早是为了在显示屏上同时显示数百万个像素而设计的。GPU通过使用较简单的执行流水线并行执行计算来实现这个过程。以前,CPU和GPU虽然集成度越来越高,但却是相互独立运行。
AMD加速处理器(APU)将CPU和GPU集成配置到同一硅片上。这样做会带来许多优势,比如可以通过共享内存接口、供电和散热基础架构来提高效率。GPU并行执行提高了自然用户界面和模式识别等许多工作负载的处理效率,并且在GPU与CPU协同使用时,这些工作负载的执行效率能够提高数倍。优化GPU和CPU并行操作可以最大限度地提高设备的性能,缩短任务用时,并且提高进入节能模式的频率。
一个长期面临的挑战是软件开发人员难于编写充分利用CPU和GPU的应用程序。传统上,这两种处理器分别具备独立的内存系统。这就是说无论何时CPU想利用GPU,它都得将数据从它的内存中复制到GPU的内存中。这使应用程序的编写不仅效率低下而且困难,因此GPU一般只能用于大数据集的应用中。此外,独立内存还会增加用电量,因为处理器会经常将缓存数据在CPU和GPU之间转移。
通过AMD最新开发的异构统一内存访问(hUMA),CPU和GPU可以共享同一个内存。二者可以访问所有的平台内存,并且还可以将数据分配到系统内存空间的任意位置。这种共享内存架构大大降低了编程的复杂性,其原因是软件开发人员不用再指出数据的缓存位置,而这个操作容易出现错误,进而会导致很难检测和修复的漏洞。
统一内存架构的优势显而易见,这使软件开发人员可以流畅运用Java、C++ AMP和Python等高级语言来利用GPU的并行处理功能,从而提高性能和效率。最近的一个主流视频和图片编辑程序的运行结果表明,若将GPU的并行处理与CPU相呼应,最高可将某些功能的性能提高17倍。然而,由于GPU和CPU共享电源/热基础架构,电源需求与单独使用CPU时相等。[!--empirenews.page--]
hUMA 是AMD 异构系统架构(HSA)实现的一部分。当按照HSA架构设计和编程时,这样的电源和性能提升可以扩展到其他的固定功能设备,比如数字信号处理器(DSP)或安全处理器。
代号为“Carrizo”的AMD处理器是行业内第一款符合异构系统架构基金会(HSA Foundation)HSA 1.0规范的处理器。该架构大大降低了编程难度,同时提高了低功耗下的应用性能。
计算机工作负载的变化,将会对微处理器的用电量产生影响。工作负载(比如复杂的服务器事务或视频渲染)需求越大,处理器吸取的电流越大,然后当需求减少时,电流则会降低。电流突变会导致芯片供电电压发生严重波动。为了解决电压下降的问题,微处理器设计人员一般会提供大约10%~15%的额外电压,以确保处理器电压始终充足。但过电压又会以能耗为代价,因为其浪费的电力与电压增长的平方成正比(即10%的过电压会造成20%的电力浪费)。
AMD 研发了多项技术来优化电压。其最新的处理器配置了电压跟踪电路,以纳秒级的精度对平均电压与电压下降进行比较。通过在平均电压下运行,然后短暂地快速降频来抵消供电电压的骤降,它可以恢复大部分被浪费的电力。由于频率调整可以以纳秒级的水平完成, 计算性能几乎不会受到影响, 而功耗则会减少10%~20%。从“Carrizo”APU开始,CPU和GPU就都采用了自适应电压运算功能。
Carrizo首创的另一项电源技术名为自适应电压与频率调节。除了传统的温度和功率传感器,该技术实现了独特的专利硅片速度性能传感器与电压传感器。行业内大多数人都了解,硅片速度性能和电压控制会因器件和平台的不同而存在明显差异。这些差异传统上是通过对硅片工作增加裕量或“保护带”来应对的,因为无法提前得知准确的运行情况。相对理论上最优系统所能实现的效率,这种保护带将会引起显著的效率损失。得益于AMD首次引入的最新自适应传感器和相关的控制算法,大部分的效率损失可以得到减轻。速度与电压传感器能够让每个APU适应于其硅特性、平台运行和工作环境。通过实时适配这些参数,APU可以对运算进行动态优化,最大限度地提高效率,并且在给定性能水平上最多可节电20%。
最后,为了降低CPU的耗电量,AMD利用了与GPU设计方式更接近的高密度库。AMD借助这一方案可以在更小的面积内集成更多的标准单元(处理器的组成部分),从而能够减少面积及单元之间的布线距离,并大幅降低功耗。使用高密度库通常意味着在相同的电压下速度会稍有些慢,但如果配置合理,可以将功耗和面积减少30%。这就是说,在功率受限的条件下(绝大部分都是这种情况),实际的频率和性能要高于传统的高性能库配置。此外,它还能够释放出更多芯片空间,因此AMD可以在同一个芯片上同时搭载GPU(多媒体处理器)和系统控制器。
电源管理大部分运算平台仅在一小段时间内以峰值功率运行。为了最大限度地降低功耗,同时又最大限度地提高性能,AMD设计了电源管理算法,对典型应用而非峰值计算周期进行优化,因为只有需求最大的工作负载才会(短暂)达到峰值计算。因此,race-to-idle技术可以使计算机尽可能频繁地进入休眠模式,从而降低平均能耗。
AMD在单芯片上集成了各种系统元器件,包括GPU、内存控制器、I/O控制器以及外围总线。这样可以更精确地对电源、温度和所有系统元器件的活动进行监测和管理。电源控制器可以直接对CPU和GPU之间的处理进行管理,从而优化性能和效率。通过这种程度的控制,它能够像视频回放的帧与帧之间或打字时的按键之间,或是像网页加载完成后那样,频繁地让处理器进入空闲模式。由于集成元器件的性能提高了,任务完成的时间缩短,因此处理器可以在更多时间处于空闲模式—这便形成了一个更高性能和更低功耗协同提高效率的良性循环。
不同条件下APU的最低功耗。
AMD的电源管理还可以监控硅片和终端用户设备的温度。根据系统元器件的活动,它可以确定个人电脑或移动设备的温度,从而判断对终端用户来说温度是否过高。因此,在计算密集型任务中,APU可以在保证笔记本电脑或变形笔记本温度不过高的前提下,通过提高处理器频率暂时提高输出功率来提供强大性能。任务完成后,功耗会动态降低,因而器件的温度也会降低。这一做法可以提高总体能效,因为任务执行速度提高了,设备可以迅速切换到空闲模式,同时又能提供迅速响应的体验。
此外,电源管理微控制器还可以实时追踪特定应用的运行状态,确定提高处理器频率可以为其带来多大帮助。不会受益于更高频率(需要更多能量)的应用将工作在低于处理器最大性能的频率,从而避免能量浪费。
AMD最新的APU中集成的另一项功能是围绕处理器运行时进入极低功耗的S0i3状态。该低功耗状态的采用因不同的OEM/平台而异(即可以是联网待机、现代待机或挂起到内存),但是这种状态会让差不多所有的APU硅片的电源关断,同时让所有相关的I/O器件也进入各自的低功耗状态,从而极大地降低平台的功耗。图中展示了在这些条件下APU的电源关断。S0i3状态使平台的功耗水平能够与传统的S3状态(也就是传统上所说的“待机”)相当—S3状态的进入和退出会比较耗时,因为它需要操作系统介入。通过动态实现这个过程,在集成电源管理微控制器的控制下,假如系统活动水平足够低,APU就可以以亚秒级的时间帧透明实现与待机相当的功耗水平。这直接意味着可以降低典型应用条件下的平均功耗。
AMD最新推出的产品还具有许多其他面向效率的功能,比如视频和音频加速,AMD开发路线涵盖了自适应I/O优化和压缩技术、更精确的电压管理和基于工作负载的能耗优化等。