21世纪的头几年中,“频率为王”还是指导桌面处理器升级根本法则,但是随着来自Intel和AMD两家的双核乃至四核心处理器产品面世,这一传统认识正在被彻底颠覆。在并行性良好的应用程序下,获得近乎翻倍的性能,而处理器自身的能耗却不用付出很大的开销,越来越多的消费者开始认识到多核带来的好处,市场也步入了双核主流化进程。与此同时,主流处理器厂商也正在积极探寻着未来产品发展的主基调——“随着微处理器内核的增加,计算机性能剧增的时代即将到来!”。 我们知道,ASCI Red 是{dy}台在性能指标评测上达到万亿次浮点运算水平的计算机(1996 年)。该系统采用了近 10,000 枚运行频率为 200 MHz 的英特尔® 高能奔腾(Pentium Pro)® 处理器,整机功耗达 500 kW ,而且为了冷却机房还要额外消耗 500 kW,整个系统包括104个机柜、占地2500多平方英尺。相比这下,此次英特尔发布的万亿次浮点运算研究级芯片功耗只有区区62W,虽然该芯片并不是采用通用处理器设计,但其诞生却预示着未来个人电脑和服务器轻松具备万亿级计算能力的可能性。而实现相对于上千倍的性能提升,对于包括英特尔在内的所有处理器设计厂商来说面临着那些困难呢?我们一起在本文中探寻答案。
跳出X86构架的圈圈 全新平铺网状内核构架 正如“研究级芯片”的命名示意的那样,这颗80核万亿次处理器是用于研究试制品而不是产品,其单纯目的的浮点引擎处理器也也不同目前市场主流的通用处理器产品,所以英特尔并没有任何让它进行销售的计划。但毋庸置疑的是,这枚芯片所包含的设计构架思想和技术不久的未来会出现在英特尔的产品之中。 这枚“万亿级芯片”使用了目前为止投入量产的{zxj}65nm制程,令人大跌眼镜的是,这枚集成了80个内核的芯片只集成了1亿枚左右的晶体管,Die核心面积却有275平方毫米。相比较,同样采用65nm制程英特尔销售主力的酷睿2对应的指标是2.91晶体管和143平方毫米的Die核心面积。从以上的差异我们可以推测出一些有关这枚在构架设计上的特别之处: 1、和Core2占晶体管规模一半的片内缓存相比,这枚芯片片内缓存资源要少得多; 2、片内逻辑电路和I/O电路的比例要比Core小得多,因为后者目前小型化实现还比较困难,造成在总晶体管数目不大的前提下,Die核心面积却很突出; 3、芯片在封装上使用了和酷睿2和P4一样的LGA封装,封装针脚为1248PIN,其中343个数据针脚,其余用于电源和接地。整个芯片内部使用了8层金属层,铜互连工艺。小熊在线www.beareyes.com.cn
在内核设计构架上,这颗“万亿浮点芯片”的设计和现在的主流设计xx不同,它没有采用大而复杂内核,而是80颗设计简单核心组正的平铺网状结构,每一个节点内核并不是X86构架,它们主要由两个可编程浮点引擎和一个路由模块组成,前者负责进行浮点运算,而后者具有5个数据端口,负责相邻节点内核的数据传输。小熊在线www.beareyes.com.cn
为了让节点核心硬件实现更加简洁,英特尔的工程师们采用了基于96bit 超常指令字(VLIW)的设计构架。要知道,Intel自己也仅有Itanium一款使用了VLIW构架的产品,但是显然两者之间很难找到相似的地方。简而言之,VLIW构架硬件实现更依赖于编译器软件的水平,让编译器安排好执行指令执行的排序和进度,实现EPIC(清晰并行指令)。而CISC和RISC需要在内部硬件构造复杂的控制电路,处理器实时协调指令并行和排序执行。VLIW构架在桌面处理器上并不常见,而在计算机集群等大规模运算领域有一定的占有率,它需要用复杂的编译器设计简化硬件逻辑实现的复杂度,对应的应用软件较少。小熊在线www.beareyes.com.cn 每一个单个节点内核还包括一个3KB的单周期指令缓存,2 KB数据缓存,10端口的寄存器堆,32路,同时6read/4write;{zd0}的面积分配给两个单周期单精度浮点乘加器。在这枚芯片中,每一条VLIW指令最多能够解码为8条微指令,这些指令可能是FPMAC, load/store,也是可以是任一个网络节点核心向相邻的任一核心传递指令或者数据。小熊在线www.beareyes.com.cn
我们现在已经知道这枚芯片拥有1Tflops的浮点运算能力,但我们还要强调的是这一数据指出的是单精度浮点运算。而且我们知道这些节点核心除了两个完整的32bit浮点乘加单元外,就没有其它执行单元了,其它所有种类的算术运算都要通过两个浮点乘加器(FPMAC)完成,这明显会限制 “万亿次”芯片上应用软件执行效率,这可能就是所谓工程研究芯片的意义所在了!笔者认为,该枚“万亿次”芯片的重要意义本身并不在于实现的浮点计算吞吐的具体能力,相反,将这些简洁的节点核心相互连接实现大规模并行片上网络框架才是重点所在。小熊在线www.beareyes.com.cn 单芯片里的超级计算机集群 片内互联网络设计 前面已经说过,这枚80核“万亿”芯片的是同构设计的,即其中的80个节点内核结构都是一模一样的。每一个个体都是由处理器引擎(Processing Engine)缩写为PE和一个五端口路由(Router)两个主要部分组成。这个Router设计负责在平铺网状节点核心之间互相传递数据和指令,可以这么理解,数据通过一个网络节点传递,但这个节点处理内核可以不处理它,仅仅起到传递中继的作用,即只有相应的Router部分在工作,而PE部分并不参与。这时,这个节点的PE部分xx可以不依赖于Router部分进行休眠,达到节省能耗的目的。小熊在线www.beareyes.com.cn 每个节点核心的Router部分端口位宽为39bit,数据总线采取上下沿双倍信号传输,即在设计频率4GHz下,该端口能提供80GB/s的带宽能力,这和现在基于芯片之间电路连接和系统之间的线缆连接的多系统连接相比,连接带宽有数量级的提高。我们可以看到,每一个平铺网络节点核心占用核心面积仅为3平方毫米,而其中Router部分仅占0.34平方毫米,这和我们现在在市场上见到的复杂的X86处理器核心动辄上百平方毫米DIE面积xx没有可比性的,正因为如此,这枚芯片即使没有使用英特尔现在{zxj}的45纳米工艺,也轻松实现了80核的集成度。小熊在线www.beareyes.com.cn 在这个平铺网状构架中,最吸引人的设计就是PE节点内核可以根据需要替换成任何一种专用或者通用核心,它们可能是X86核心、DSP处理器、硬件加密引擎、或者专用的三维渲染引擎或者物理模拟处理等专用特定用途核心。我们可以想象一下建立在这个设计思想下的未来处理器设计思路,一枚集成12个内核的处理器,其中6个为通用X86核心,其它内核分别完成3D渲染、TCP/IP数据卸载、硬件编解码等等特定用途内核,通用的片内网状结构和五口路由设计,保证了类似设计任意扩充能力。小熊在线www.beareyes.com.cn 读者可能比较奇怪,平铺网状结构的节点核心相邻内核是4个,为什么Router的设计却有5个端口呢?没错,这样算来是产生了端口闲置,但这个并不是英特尔工程师的粗心大意,这个端口是给在这枚“万亿”芯片尚未实现的“堆叠片上大容量缓存”准备的。小熊在线www.beareyes.com.cn
拿怎么去喂饱核心 新多级存储和I/O设计 我们在上面看到,通过增加处理器内核数目能获得几乎无限制的性能增长,随之而来的问题就是如何供应充足的数据、指令让避免内核产生空闲,这就是未来的多核化进程中必须要解决的实际的问题——内存带宽!目前推出的X86多核处理器中,无论是单核、双核还是{zx1}的四核心,它们在内存带宽上的配置是一模一样的。也许目前核心对数据带宽的争抢还没到激烈到影响性能的地步,但可以预见到,随着核心数量的继续增加,这个问题终究会严重到不可调和的地步。 最直接的做法是通过运行在更高的频率来提升FSB和内存总线的带宽性能,但这个方案只能缓解暂时危机。英特尔的工程师在和我们沟通的时候提到过,实现的6通道内存控制器光是针脚就达到了1800多针,这对于布线或封装都是个灾难。显然,单纯靠加大内存通道的带宽,提高内存的频率对于数十个核心处理数据能力来说是可能仍是杯水车薪,而且其实现成本也难以控制的。小熊在线www.beareyes.com.cn 英特尔的工程师认为,解决未来处理器超高的处理能力和获得源数据能力巨大差异的办法,要在目前的多级存储设计中增加新的层级。分级存储思想的关键就是通过寄存器、L1/L2/L3 cache, 主内存,硬盘)这样的硬件分级排序,容量依次增大,而速度依次变慢,总是优先从更快速的存储层级中获得信息,减少对慢速存储设备数据访问,减少访问数据产生的延迟。简而言之,要满足多核处理器的数据吞吐能力,就要把更多的存储器做到Die核心上做缓冲,解决系统内存和处理器数据需求的差异,或许该是该在内存层次结构中增加额外级别的时候了? 问题可能总不是我们普通消费者想象的那么简单,CPU DIE核心的面积成本代价高昂,而数十个内核的数据需求几十MB的DRAM容量都不宽裕,而这将占据核心大部头面积,对成本和制造工艺都是个挑战。 此外还需要解决的问题就是外部访存的带宽和延迟需求,英特尔目前使用的FSB技术在未来几年可能会保持相对停滞的发展状态,而相应的革命性数据光传送方式正酝酿结束电信号传在半导体产业中的地位。在去年的IDF上,英特尔曾经演示基于传统硅工艺制造的激光器技术,相比电信号,基于光学原理的新总线有高的多信号传送速度(英特尔目前介绍的提高幅度是50倍,即
80核心核心功耗仅62W 精细入微的功耗控制
我们知道现代处理器基本都使用全局时钟,这一设计要求时钟信号送达芯片所有部分的时刻是相同的,在如今的处理器频率日益高涨,Die面积也不断增大的前提下,这个要求对于每一个芯片设计者来讲都是个严峻的考验。而且为了处理器正常工作,让时钟达到每一个部分的时刻控制在严格的参数下,全局时钟分布在处理器传递所产生的功耗是现代芯片总功耗的30%,从这部分下手,能起到非常明显节能效果。所以英特尔在特别使用了模组时钟方案,只要求到达每一个平铺节点内核模组的时钟一致,但不要求芯片内所有的部分都一致,这样的设计在芯片运行在4GHz时,用于传递时钟所产生的能耗仅为2.2W,只占到整体芯片能耗的1.2% 在这枚芯片上节能设计被赋予更深层次的意义,不仅是降压和变频这么简单,而是更加精细深入,每一个平铺节点核心都被划分成21个独立的休眠区域,可以根据它执行的指令类别独立的进行休眠或者xx,更不要说整个核心的进行休眠或者唤醒了。此外,每一个内核的5端口路由模块也的每一个端口也可以独立的设定休眠或唤醒。小熊在线www.beareyes.com.cn 从整体来看,80内核可以根据芯片热量分布分配内核的负载情况,如果一些核心由于负载过重而过热,芯片可以动态唤醒一部分内核参与进任务,避免了芯片局部过热点的产生。小熊在线www.beareyes.com.cn
芯片中的所有PE部分(FPMAC)初始状态都是在休眠,这样的负面作用是从休眠到唤醒会产生一定的延迟降低性能,好处就是避免形成瞬时的能耗峰值,简化电源和芯片其它部分设计。在整个芯片中,FPMAC中90%的逻辑电路和PE电路中74%的部分都使用了休眠晶体管用于降低能耗。据英特尔官方说法,采用休眠晶体管会带来5.4%的晶体管数量增加,和4%的频率处罚,但就节能方面获得的巨大收益来讲,这点牺牲是值得的。休眠晶体管目前在英特尔在售的Core 2家族处理器中已经再广泛使用。小熊在线www.beareyes.com.cn 关键还在软件 万亿处理器何时走出实验室 目前英特尔对万亿级计算的研究并没有局限于处理器,而是由涉及处理器、平台、编程三大领域的100多个研究项目组成。目前人们已知的项目就包括了针对处理器的可升级内存、多核架构、固定功能单元;属于平台范畴的3D存储器、缓存等级、虚拟化/分区;与编程相关的前瞻多线程、负载分析、事务内存、编辑器和程序库等。可以预见到是像人工智能、即时视频通信、高逼真游戏、多媒体数据挖掘及实时语音识别这些如今只能在xx计算机上运行或在科幻小说中看到的应用,走入普通大众的日常生活还需要一个长期的过程。在和英特尔工程师攀谈的{zh1},我们说到的最关键的问题,这种采用平铺网状构架,3D堆叠存储器,集成通用核心和专用核心,采用光纤链路,软件环境成熟的“万亿级别”处理器技术研究开花结果,出现切实可用的产品,大概还需要5到10年的时间,当21世纪{dy}个10年末实现4核心处理器的在桌面平台普及后,英特尔及其它{lx1}处理器及平台厂商正致力于2015年前后在桌面平台引入实用化的“万亿级”处理器平台技术。 |