新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 探秘Intel 80核处理器

探秘Intel 80核处理器

——
作者:Max Baron时间:2007-06-29来源:电子产品世界收藏

如今多核已不算是什么新鲜的词汇,甚至很多人对多核技术感到厌烦——因为已经看得多了。而在各种文献和媒体中,常常会看到关于多核处理器缺乏相应的软件的评论与报道,这些评论与报道来自专家、媒体甚至是芯片设计者本身。

多核芯片往往如潮水般来去匆匆,过去人们为多核芯片感到兴奋与激动,点燃着瞬间激情,可是又像黑夜中的烟花那样空留绚丽的色彩后就归于寂静。

这次却不同了,在今年的ISSCC(国际固态电子电路会议)上,Intel展示了80核Tera-Scale研究芯片。留意一下Intel所用的词汇, “Tera-Scale”的定义可将其从能够把TRP(TeraFLOPS Research Processor)从其他的双核、四核等处理器区分开。虽然按照Intel的定义,“Tera-Scale”只是多核处理器的一个系列,但却是下一代多核架构。Intel指出,“它将带我们进入TeraFLOP(每秒兆兆级浮点运算)和兆兆位处理能力的全新领域中。”

Intel的战略:多核原理

长久以来,将理想化的工程与商业战略分离并且使其获得成功,是非常困难的。Intel一直致力于在性能开发上做执牛耳者。从用户的角度上来讲,在挑选台式机和笔记本这样的产品时,性能是首要考虑的因素。处理器的性能与其内部时钟频率息息相关,可是高频和高功耗产生的漏电,将会导致高温。Intel将在45nm工艺中采用high-k(高介电率)绝缘体技术。借助于metal gate(金属栅极技术),Intel希望其能够全面改善芯片漏电情况若,若漏电降为原先的十分之一,则性能可提高20%。同时,由于45nm的低寄生效应,晶体管开关功耗也会降低百分之三十。为了更好地理解Intel TRP芯片的基本原理,这里对high-k和45nm硅技术结合的效益进行一个估算。粗略算来,我们假设high-k 45nm技术使芯片的功率降低到先前半导体工艺的二分之一,在同样峰值包络功率下,新的功率存储使得VDD电压值高出了大约1.4倍(也就是2的平方根),由于VDD和频率范围可被近似为呈线性变化,包括20% 金属栅极晶体管开关效应引起的频率增长在内,频率提高1.7倍。在此,我们忽略了频率限制因素,比如时钟分布,晶圆内部与晶圆之间的差异等等。high-k绝缘体技术能给单核或多核芯片提供可观的短期成果。而对于长期投资来说,依据摩尔定律的优势,Intel已经在多芯体系的道路上领跑了2~3年,在世界上,当频率,功率和通信等重要角色发生变化,如何为用户设计一个多核平台?如果只是一个模拟平台,那么如何在大负荷工作量中快速地执行程序来获得结果?Intel没有选择的余地,只有为研究人员量身设计芯片。在国际固态电路大会上展示了Intel 65nm技术中的8层金属设计初衷,是用来“证明100W以下的TeraFLOP性能”,尽管这只是其功能之一。

一个芯片,更是一个系统

把单处理器的速率与主体内存匹配起来是一件很难的事情,如果传统的单核处理器是通过高速缓冲存储器(cache)来解决CPU和内存之间的速度差异的话,如今的多核处理器由于需要通过核与核之间的合作来实现数据共享,因此复杂性大大增加。和单核处理器相比,多核处理器同样表现出对于任务程序以及数据局部性的依赖,以及数据可执行代码的数据共享特性。Intel的架构师们致力于研究用户芯片的核内存,核间通信以及工作量类型,但是和他们的前人一样,还是无法确定一个严密又明确的工作量。

可以理解,Intel仍然无法为未来的Tera-Scale(兆兆规模)芯片下一个明确的定义,毕竟,目前这只是一个研究型的项目。然而软件和系统的开发者们却被鼓励着继续完成这个体系。那么Intel团队在开发的时候,他们对于体系的定义又是什么呢?有一点可以肯定,TRP不会采用80核技术,80是一个不可思议的数字,虽然80核芯片的晶圆尺寸较好地平衡了可用晶圆空间以及能效(<100W@1TF)。

第一个另人感兴趣的地方是Intel采用的平铺式“瓷片”(tile)结构(图1),小的内核像“瓷片”一样重复地平铺开来,每个“瓷片”内都包含自己的处理引擎(Processing Engine,简称PE),局部内存和通信路由,如同台式机和服务器的网络连接一样,每个瓷片使用自身的路由成为芯片网状配置的一部分。

图1 Intel的平铺式“磁片”构架

在Intel所选择的这种结构中,芯片能方便地检测出内含单元数,不同的“瓷片”数目决定了不同的功能应用和价位。传输延时,时钟分布,功率减少和部分功率管理等只要对一个“瓷片“进行了优化处理,对于整个芯片也将行之有效。此外,大型芯片两个边缘上的瓷片之间通过路由网络进行通信,因此不用担心由于电磁在硅中的传播速度限制0.8c(c是光在真空中的传播速度)从而影响了通信同步。根据Intel表示,渡越时间(the time of flight)(在一个时钟周期内)不会成为问题所在。因为“瓷片”的路由通信方式能够很好地得到管理从而具有冗余以及高可靠性。“瓷片”架构的任务一旦完成编译,将在虚拟处理器上进行执行,把“瓷片”当作内存管理模块来处理,提高了物理内存资源的系统可用性。因此“瓷片”的高利用率提高了性能,较少的“瓷片”不需要再编译,多个线程能够在同一芯片中同时运行。

Intel的这种结构体系,提供了一个研究通用处理器软件和芯片性能的机会,Intel或许会将研究成果用来连接IA架构和NoC(片上网络),而这也许就是未来的服务器。

路由和每个“瓷片”结为一体,能够实现可避免死锁的双32位带宽的逻辑通道以及非阻塞交叉开关(non-blocking crossbar);当时钟频率为4GHz时,带宽可达到80GB/s。然而,在访问周期内,有效的通道对象用来完成数据传输。由于双通道采取用double pumped(两倍汞,指时钟频率能执行两次操作,上升沿和下降沿同时传输信号)来节省芯片内部空间,但是也带来了一些新的问题。 从表面上看,这种方法带来了额外的功耗,但当它被切断时,两倍泵只会对路由产生局部影响。不过double pumped的采用会使时钟负载增加。Intel的分析报告指出,在最坏的状况下,交叉区域的50%就会用于补偿全局时钟负载和数据通道的RC效应。通道采用16x6位的缓冲队列管理和基于Intel FLIT(流程控制单元)的32位数据字(参照图2)。流程控制逻辑依照FLIT的要求来解码。

图2 Intel的NoC(片上网络)数据包形式:三个32位字包含了路由,元件处理控制和包含2位控制字段的数据。每一个都涉及到FLIT(流程控制单元)。最小的封装包是2个FLIT。长度能够进行链式扩展

软件和硬件工作可以用Intel的NoC(片上网络)封装形式来划分。它定义了三种可能的32位字——其中包括了路由信息,基本处理单元控制和数据。其中的每一部分开头都包含6位控制字段。该字段包括两个通道的流程控制(FC),通道ID(L),FLIT有效位(V)以及位标志,用来指示控制字段位于数据包的头部还是尾部。链表头明确定义了路由能够保持10 个3位地址指向8个相邻PE,这里假定为北,东北,东,东南,南,西南,西和西北(N,NE,E,SE,S,SW,W,NW),若添加第二个链表地址FLIT,那么任意一个PE就能直接寻址其他10个以上的PE。我们注意到,软件设计中定义了在不互相冲突的情况下,最优的连接路线和通道,软件必须能够利用硬件来支持动态路由和PE通道分配,不同的线程在不同时间能够同步执行,或者在不同的芯片内能够照常运行,或者只是在有问题的PE周围标记,即便是对静态路由而言,这也是一个艰巨的任务。

6位控制字段包含一类或两类32位数据:一个32位信息控制字段用于PE定位和32位数据字传输。控制字段能够请求多种行为,比如发送原始PE数据到外部内存,或是将目标PE改变为睡眠状态或是唤醒。PE通过开关晶体管完成电源切换,由于可在数周期之内完成,因此优于用开关把电源打开和关掉的方法 。让此类电路有4GHz的时钟频率着实是一项挑战。

在设计中整合了轮循仲裁,但其中不包含可能增加复杂性的优先处理机制。此部分任务将留给软件完成,从而确保在对处理器中关键数据进行访问时,只能就近映射。轮循仲裁使用未决的FLIT信息,用于在数据传输之前,于源和目的之间建立一个完整的路径。

同步接口与光速

同步接口是“瓷片”体系有效利用并得以大规模结合的关键技术。考虑到功率、电压、温度,大型芯片处理差异以及硅中电磁传播的极限速度,要想同步时钟几乎不可能。假设硅中电磁传播的速度接近于0.8c(0.8

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭