新闻中心

EEPW首页 > 医疗电子 > 设计应用 > 飞思卡尔公司的多核战略

飞思卡尔公司的多核战略

——
作者:Tom R. Halfhill时间:2007-12-30来源:电子产品世界收藏

  目前,级的处理技术是人们可以预见到的、能显著提升性能的唯一策略,每一家引领潮流的处理器公司都制定了一项战略。Freescale Semiconductor公司最近也完成了战略的修订。

  公司自从上世纪90年代中期以来,就一直在出售某种类型的多核。Freescale的被广泛采用的PowerQUICC通信是一种非对称式的多核处理器,它集成了一个通用型Power架构的内核,该内核内置一个专用的网络连接加速引擎。这些加速引擎最早于1995年以PowerQUICC通信处理器模块(CPM)的名字出现,其基础是一个专有的RISC架构。2005年,Freescale用QUICC引擎取代了CPM,该引擎本身包含有多个RISC内核,与CPM实现了后向兼容。

  但是,用户并不能对CPM进行完全的编程。用户对其进行编程时,只能通过Freescale的应用编程接口(API)来调用数量有限的、预先编写好的函数。更新的QUICC引擎采用了开放式的编程模式。因此,由于定义的严格程度不同,2005前的PowerQUICC芯片要么是异质化的多核设计(Power内核加CPM),要么是依靠专用加速器来加强的、传统的单核设计。不过,PowerQUICC芯片架构的本质特点—在多个异质化的处理单元上运行的分布化的处理—迫使Freescale在很长时间以前,就必须面对非对称的多处理器以及复杂的片上互连所带来的挑战。Freescale也是在多核DSP上实现对称化处理的先行者之一,在2001年引入了4核MSC8102。MSC8102及其后继产品都是基于StarCore DSP架构,而非通用的Power架构。

  2004年10月,Freescale发布了MPC8641D,一种基于Power的主控制器,带有双32 bit Power e600内核。在那时,原计划将在05年下半年开始提供MPC8641D的样品,可惜的是,MPC8641D的开发被延迟了一年以上,直到07年4季度推出其改版之前,均无望进入批量生产。

  在设计下一款多核处理器时,Freescale从这一艰难的经验中汲取了教训。在2006年6月,Freescale发布了PowerQUICC III MPC8572E,一种集成了双重Power e500内核的高度集成化的通信处理器。这种同质化的多核设计支持对称或者不对称的处理,集成了硬件加速器和I/O控制器。MPC8572E在去年6月按时交付了样品,确定于08年2季度投入批量制造。

  尽管在设计高性能、高度集成化的处理器方面拥有长期的经验,Freescale在向市场推出双核的Power芯片(MPC8641D)时仍然遇到了困难。这些困难对未来集成4个或更多Power内核的PowerQUICC设计是有用的经验。现在正是Freescale通过推出新的多核平台,思考未来的处理能力需求,实施长期多核战略技术的机遇。

  多核平台的多个部件

  Freescale的战略围绕着面向通信的技术平台展开,它包含了未来多核芯片设计所需要的全部部件。主要的部件是一个32bit的通用处理器内核、专用的加速引擎、具有多核处理能力的混合式仿真环境、多核软件开发工具,以及将各个核、I/O控制器、加速引擎和其他的资源连接起来的、新的片上互联交互架构。该平台的唯一一个全新的部件是CoreNet,即片上交换架构。其他的部件都是现有产品的改进版本。

  举例来说,基本的处理器内核是现有的Power e500内核的增强版本,该经过增强的内核被称为Power e500-mc,目前,其自有的L2高速缓冲被放置在一条后端总线上,与其他的e500-mc内核对一个L3缓存进行一致性的分享。除此之外,e500-mc实际上与2001年推出的e500内核并无区别。自有的L2高速缓存有助于减少内核间在总线上进行的数据传输,这与共享L2高速缓存的情形截然不同。Freescale正试图通过在这样的分层结构中引入一个共用的L3高速缓存,将自用和共用的高速缓存各自的优势结合起来。L3高速缓存的规模为数Mbyte。

  图1是Freescale的多核平台方框图。代表CoreNet模块的方框表示一个公共的交叉总线,它实际上是一种“带有多个地址仲裁器的可扩展的交叉架构”,更多的像一个网格架构那样运行,但连线密度要低于具有全局点到点连接能力的真正的网格。

图1 Freescale的多核平台方框图

{{分页}}

  值得注意的是,Power e500-mc的功能要比某些其他公司的嵌入式多核设计所用的处理器内核强大得多。Power e500-mc是一种双向的超标量32bit处理器,Freescale的目标是1.8~2.0GHz范围的主频,以及基于绝缘体上硅(SOI)的45nm CMOS工艺。这样高的时钟速度能让e500-mc与Cavium Network 公司采用了4路超标量的、与MIPS公司兼容的64bit通信处理器中的内核展开竞争,后者目前达到了1.0GHz的峰值速度。

  Freescale对Power 500-mc的选用,反映了所有多核设计者都必须作出的一个折中选择:使用数量较少、功能更强的内核,还是使用数量较多而功能较弱的内核。Freescale作出选择时所考虑的一个主要因素,就是能否与现有的PowerQUICC芯片实现后向兼容。为了维持软件的兼容性,必须采用一个Power内核,而Power架构目前尚没有4、8或16bit的实现方案。Freescale可以选择一个更简单的Power核,例如e200,不过e500拥有高性能网络连接和通信所额外需要的实力。Freescale的多核平台也并未排除使用e500-mc之外的其他Power内核,包括功能较弱的e200等内核,或者一起使用的可能性。

  CoreNet互连能够将32个以上的Power e500-mc连接起来,构成完全一致的片上网络。如此大量的内核确实超越了“多核”的范畴,进入了定义尚不严格、最近被称为“Manycore(很多核)”的层次—虽然它还达不到级别最高的“大规模并行处理”层次。Freescale的计划对于一家正在竭力交付其首款同质双核Power芯片的公司来说,似乎显得过于野心勃勃。然而,Manycore设计必须在未来的网络和通信应用中进行竞争。Freescale的战略反映了在开发迟迟未能露面的MPC8641D时所获得的(正反两方面的)经验。

  未来的Freescale芯片将对Power e 500-mc内核进行补充,增添多个硬件加速器,例如QUICC引擎、压缩/解压缩引擎、模式匹配引擎和加密引擎。Freescale正在超前地针对32nm以及更高的技术进行规划。我们预计,Freescale即将保守地从同质的双核设计开始,向前发展。双核设计可能已经为在4核处理器中将双芯片耦合在一起的架构做好了准备,而该架构的功耗约为30W。

  片上网络必须具备扩展性

  CoreNet对于Freescale的多核平台及其未来的成功而言,是最为关键的部件。随着内核的数量的增加,传统多分支总线上的核间总线数据传输量将很快达到饱和。如果CoreNet获得成功,则它将帮助Freescale的多核芯片具有与众不同的鲜明特色。如果CoreNet成为瓶颈,则它将危及Freescale的整个多核战略。

  图1是未来基于CoreNet的多核通信芯片的一个高度抽象的方框图。目前Freescale并未公开透露详细的技术指标。CoreNet有若干重要的特性:首先,它支持同质的和异质的多核设计—对于PowerQUICC类型的通信芯片来说非常重要。其次,它是一种大带宽的互连,可以支持交换架构上的多种同时出现的对话。第三,它能在每个处理器内核的L2缓存之间保持一致性,并且也与共享的L3高速缓存保持一致性。第四,它允许多个外部存储控制器同时访问交换架构,而不至于相互间造成阻塞。第五,CoreNet有多个地址仲裁器和自动缓冲区。Freescale将CoreNet描述为“自路由器”。这一描述暗示它是一个基于包的片上网络,在这个网络上,处理器核、加速器和其他片上资源都拥有一个内部的网络地址。

  专门的网络传输管理是一个重要的功能。与某些其他的多核芯片不同,Freescale的器件将不会被迫留出一个通用存储器核作为数据传输的监管者。所有的Power e500-mc内核都可用于应用处理。数据往来的控制将由一个单独的数据路径资源管理器来负责。Freescale表示,该数据路径管理器具有足够的灵活性,可以针对不同的应用进行调整。

  网络业正在鼓吹虚拟化技术,该技术可以通过在单个系统上运行多重调用的操作系统,极大地削减成本和功耗。Freescale宣称,它的多核平台将具有可配置的内存区域,因此多个应用程序和操作系统可以同时运行而不会发生碰撞。

{{分页}}

  软件开发的混合仿真

  显而易见,Freescale的新多核通信平台是一项复杂的工作。Freescale的未来的多核PowerQUICC芯片将在某种程度上与PowerQUICC芯片实现后向兼容。但是,为了让开发者能够充分利用将来更高的集成规模,Freescale的多核平台也将更好的开发工具作为一个关键性组成部分。最重要的软件开发工具之一,就是Simics,一种由第三方公司Virtutech公司所提供的仿真环境。Simics也可以让开发者运行整个多内核设计的精确的全系统模型,其中包括所有的Power内核、硬件加速器和I/O接口。

  在传统上,软件开发者在硬件设计完成前就可以利用仿真器开始编写其程序。不过,Freescale希望编程者能不仅将Simic用于早期的开发,而且也可以用于整个开发过程。Simics提供了描述全系统功能的模型,以及对芯片的详细的描述。它具有先进的调试功能,例如检查点设定、反向执行以及充分的确定性,它还可以在同一时刻阻止所有的处理器内核的执行。当然,任何软件仿真器的缺点都是执行缓慢。即使在一个快速的工作站上,Simics的速度也比所仿真的硬件慢约50倍—约等于40MIPS的运算速度。

  在Freescale的混合仿真环境中,Simics的功能模型将是首选,除非开发者需要精确到周期。在那种情况下,开发者也可以切换到Freescale模型中,集中关注需要精确到周期的那部分代码—而不必离开Simics。两种仿真模型都可以得到高级的片上调试单元和计量模块的帮助。Simics已经可供Freescale的MPC8641D和MPC8572E之用,提供描述2~8个核的模型。

  在任何情况下,在PowerQUICC型的芯片上进行多核的编程,都要比针对台式PC多核处理器的编程工作简单。Cavium和PicoChip等公司已经可以提供拥有12个或更多内核的网络与通信处理器,而主流的PC市场才刚刚得到它的第一款4核微处理器。

  为未来的Manycore时代做准备

  Freescale的新多核通信平台拥有全部的成功元素,而这一战略的执行本身就是挑战。为了保持在高性能网络和通信市场上的竞争力,Freescale必须让其战略真正得以实施。正如AMD和Intel在其PC处理器业务方面所发现的,提高单核时钟频率是一个死胡同。多核设计是未来的选择,而manycore已经正式向嵌入式市场进军。

  在过去的两年中,Cavium已经推出了具有与MIPS兼容性的、丰富的网络处理器产品线,每个芯片上可容纳多达16个64bit的内核,而且得到了数不清的硬件加速器和高速I/O接口的增强。PicoChip数年来一直在交付其大规模并行处理器。AMCC最近发布了一个新的32bit Power 架构内核。ARC International、ARM、MIPS以及Tensilica都在向研发网络和通信用芯片的客户发放其32bit处理器内核。为了跟上形势,Freescale必须加快PowerQUICC的发展。

  但是,仅仅在一个芯片上集成大量的处理器内核是不够的。没有高效率的片上网络,相应的瓶颈仍将阻碍处理器、加速引擎、高速缓存、以及其他重要资源的运行。随着处理器内核的数量的增长,存储的一致性也成为一个让人头痛的问题。提供足够高的I/O带宽,让芯片能吃饱同样是一个挑战。多核软件开发的阴影也笼罩在所有的复杂硬件之上,它需要新的编程工具和技术。现在需要的是远大的洞察力,而不是针对点源问题的、零碎的解决方案。

  我们相信Freescale已开发出一个坚实的多核平台。Freescale的战略包含了一个关键部件—CoreNet的片上交换架构—该部件可以促成或者突破这一战略。最终的检验将是能否及时交付与其承诺相一致的集成电路。(本文译自《微处理器报告》)

  参考文献:

  1. Freescale的关于多核通信的白皮书, www.freescale.com/files/32bit/doc/white_paper/ MULTICOREFTFWP.pdf

  2. www.freescale.com/webapp/sps/site/overview.jsp?nodeId=0162468rH3bTdG25E4.



评论


相关推荐

技术专区

关闭