8>4+47 联发科八核SOC芯片解析

  • 来源:微型计算机
  • 关键字:SOC芯片,联发科,八核
  • 发布时间:2013-09-14 13:17

  联发科自2011-2012年在智能手机市场打开局面后,就逐渐成为很多中低端智能手机的首选SOC供应商。在获得初步的成功后,联发科开始将目光转向更高端的市场,希望能凭借SOC芯片更好的性能和更为出色的功耗表现获得中高端手机的青睐。联发科在2013年7月,宣布了自己首款8核心SOC芯片MT6592。这款产品出现后,围绕它的口水和纷争就不断,联发科则将矛头对准了三星的Exynos 5410等处理器,认为类似Exynos 54-10这样的“4+4”核并非真正的8核产品,联发科的MT6592这种可以同时8个核心一起使用的SOC芯片才是真正的8核。那么真相究竟是什么?联发科的8核和三星的“4+4”核存在哪些差异?

  根据联发科公开的资料,这颗MT6592 SOG芯片在CPU部分采用的是ARM Cortex-A7架构,整个SOC芯片拥有8个Cortex-A7核心。除了核心数量外,工艺上它采用的是TSMC的28nm工艺,CPU核心频率最高可达2GHz。实际上对于Cortex-A7这类以性能功耗比为重点、流水线也比较短的架构来说,达到高频率似乎不是很容易的事情。之前的Cortex-A7槊构的产品最高频率一般都稳定在-1.5GHz左右,联发科究竟是如何达到2GHz的,目前还没有太多资料。不过在宣传中提及到“最高频率”,似乎在暗示这款芯片的CPU频率是在某种Boost状态下达到了2GHz,并非长期稳定运行在如此高的频率下。另外需要注意的是芯片面积。Cortex-A7核心在28nm工艺下的面积只有0.45平方毫米,4个Cortex-A7核心加上缓存也只有Q.Q平方毫米,只比单个Cortex-A-15核心的2.7平方毫米稍大。

  除了CPU,有关MT6592 SOC芯片GPU部分,早前联发科官方新闻稿称将会使用来自PowerVR SGX 554MP4的四模块GPU(也就是iPad 4上的那颗逆天的大规模GPU核,∽,但随后这篇文章被撤下。之后,联发科无线通信事业部总经理朱尚祖在接受采访时称,MT6592将使用Mali四模块GPU来实现高级的UI和保证大型3D游戏运行的流畅性。不过他没有提到是Mali哪-款核心模块,据估计应该是Mali-T600家族的产品,至少会使用Mali-T604这样的规格。

  在其他规格比如内存方面,目前几乎没有任何资料展示。一些小道消息称联发科仅仅为MT6592配置7单通道内存控制器,而并非目前主流的双通道。其实这也不是重点,因为如果搭配DDR31066的话,总带宽和双通道DDR2 533也基本相当,虽然还是略有欠缺,但总不至于形成严重的内存瓶颈。

  除了规格外,联发科也“很大方”地展示了MT6592的测试成绩。从成绩来看,2GHz频率下,MT6592在安兔兔测试中能够跑出逼近3万分的成绩,比较接近诸如高通骁龙S800、三星Exynos 5410、英伟达Tegra 4等目前顶尖的SOC芯片的水平。不过联发科没有公布成绩的细节分数,测试软件也只有安兔兔一种。由于细节不清晰,对这种综合测试软件来说,不知道各个分项成绩特别是GPU成绩的话,判断CPU部分的性能也很容易失误。而且对工程机和特别的展示机来说,跑分跑到3万分并不是什么惊奇的事情。以Tegra4为例,在散热良好的NVIDIA Shield掌机中可以跑出4万分以上的高分,在平板电脑中的Tegra 4就大概只有2.8万分左右。不过通过架构来判断,MT6592给出至少2万分的性能应该是没问题的。

  在罗嗦了一堆MT6592的参数和性能后,人们不禁要问,联发科是如何达到这样的成绩的,里面有什么特色设计吗?联发科对此三缄其口,没有透露太多信息。实际上,ARM官方早都对类似多核心的设计有过指导,通过了解ARM官方对Cortex-A7的架构说明,应该就不难理解MT6592的设计内涵了。

  在ARM官方的说明申,对Cortex-A7架构和CPU模块的搭建有详细的说明。比如内核设计、频率范围和工艺使用等。经过仔细查证不难发现,联发科应该是采用了ARM官方授权的技术来实现八核,这些技术包括早就被人熟知的多核心技术、多模块CPU和总线设计等。当然,光看看技术介绍会觉得很简单,实际上设计起来还是很复杂的,下面我们就来详细了解—下。

  ARM Cortex-A7架构可以实现单个处理器集群中配置1-4颗Cortex-A7核心,每一个类似的多核心模块既可以称之为“集群”,也可以叫做“簇”。一般一颗SOC芯片只会配备一个Cortex-A7集群,搭配形成诸如Cortex-A7 MP2(双核)、Cortex-A7MP4(4核)这样的规格。如果超过4核的话,那么一个CPU集群就无法完成了。因此,ARM提供了另一种方法,那就是允许使用多个CPU集群,但是CPU集群之间的互连上使用ARM的AMBA4规范,通过诸如侦测控制单元、通用中断控制器等技术来解决不同CPU集群之间的同步和通讯问题。

  ARM给出的技术说明中,侦测单元控制器负责管理互连、仲裁、通信、高速缓存之间的传输和系统内存传输、高速缓存一致性以及其他的CPU功能。这个草元相当于在多个CPU核心之间建立了统一的调度管理站。AMBA4规范则是主要用于监视内存映射一致性。对多核CPU来说,如果某个CPU核心改写了内存数据,那么相应这个改写会被刷新纪录至别的所有核心,这样可以保持所有核心对内存数据调用的正确性和有效性,避免错误的出现。AMBA4就是为了这个功能而设计,此外,这个部分还使用了ACE-Lite来管理由外部DMA驱动的I/O流量的应用程序。通用中断控制器是用于执行中断操作,加强乱序执行能力和不同CPU核心之间的并行效能,也是多核心、多模块处理器非常重要的组件。

  因此,联发科MT6592的8个CPU核心实际上是分为2个模块,每个模块有4个Cortex-A7核心,这4个Cortex-A7核心是同步的。问题在于2个不同模块之间是异步的,并且挂接在使用了诸如AMBA 4等技术的CCI-400总线上。联发科用这样的设计组成了“两个异步的同步4核心模块”处理器。这2个异步的集群并不共享诸如缓存等文件,而是独立使用各自的资源。由于是异步设计,在工作时少不了需要同步部分内容、增加握手协议等,这会给性能带来一定的损失。目前尚不清楚这两个CPU集群是否需要同步缓存内容。如果同步,那么这2个CPU集群之间可以做到同时处理1个任务的8个并行线程(如果有);如果不同步,那么2个CPU集群可以同时执行2个任务的各自4个并行线程(如果有)。无论哪一种,在软件编写和实际硬件应用方面都显得颇为困难。

  相比传统意义上的同步处理器,联发科MT6592骶有异步的一些优点,也有同步的一些优势。它的最大优势在于所有8颗核心都能同时使用(暂时不管其使用方式),可以在一些专注于多线程测试软件中取得如此高的成绩。当然,在实际使用中,2个核心模块之间的异步设计,又使得这款处理器2个不同模块之间存在诸如一致性协议等问题,会导致一些性能上的损失。

  总的来说,联发科MT6592在技术上没有特别多的特异之处,不过其异步的同步模块设计的复杂性还是相当高的。从这一点来看,说联发科MT6592在秀技术也不为过。不过市场上还有另外一家厂商,也推出了一颗SOC中集成了8颗CPU核心的设计,那么它们之间又有什么不同呢?

  市场上在一颗SOC芯片中集成了8个CPU核心的产品,除了联发科MT6592外,还有三星的Exynos 5410。后者利用ARM的“big.LITTLE”技术,集成了2组处理器,一组是4颗Cortex-A7核心,另一组是4颗Cortex-A15核心。有关三星Exynos 5410和“big.LITTLE”技术的相关资料,本刊在2013年2月下的《解析CES 2013上的移动处理器(中)》—文中已经给出了详细的解释,有希望深入了解的读者可以翻看前文,本文仅仅做出简略的解释。

  三星Exynos 5410和“big.LITTLE”技术的亮点在于,较大的CortexA15核心和较小的Cortex-A7核心的搭配。4个Cortex-A15和Cortex-A7核心一对一配置,在不同应用下切换大小核心使用,达到节能和高效兼顾的目的。有关Cortex-A15和Cortex-A7的切换,三星Exynos 5410是这样做的:

  ●big核心向LITTLE核心切换

  当lOOms内Cortex-A15的核心运行频率降到800MHz、且CPU占用率小于70%的时候,会切换到CortexA7核心。

  ●LITTLE核心向big核心切焕

  当100ms内Cortex-A7的核心频率达到1GHz、且CPU占用率大于或者等于95%时,会自动切换到Cortex-A1 5核心。

  三星设定的切换点,是Cortex-A15和Cortex-A7核心性能相近的点,再加上一些“big.LITTLE”的特色切换技术辅助,用户在使用过程中几乎感觉不到核心切换带来的延迟。“big.LITTLE”技术的主要目的还是在实际使用中省电,因为用户并不总是维持在高性能状态下使用手机,反而是中低性能应用比较多,因此“big.LITTLE”技术使用小核心在大部分时间下节能省电,使用大核心在高负载应用下满足性能需求。根据三星的测试,相比4个纯粹的Cortex-A-15核心,“big.LITTLE”技术在平常使用中会节省最多68%的电能。

  由于这2颗处理器设计方向完全不同,认真比较的话内容太多,因此本文仅从“8核心”这个角度人手,对三星所采用的“big.LITTLE”和联发科“真8核”的MT6592进行CPU多核心设计和应用方面的比较:

  1.设计目的不同

  三星采用“big.LITTLE”技术设计的目的在于兼顾节能和高效,利用小的Cortex-A7来节能、利用大的Cortex-A15捉供高效能。联发科MT6592的目的在于试图使用更多核心来提高性能、展示技术实力或者获取更好的并行计算优势。

  2.8颗核心规格和使用方式不同

  三星采用“big.LITTLE”技术方案的8颗CPU核心分为2组,一组大核心、一组小核心。每一个大核心绑定一颗小核心,任务只能在绑定的大核心和小核,D之间切换。无论任何时间,只有4颗核心同时被启用。“big.LITTLE”技术在支持良好的操作系统上运行时,操作系统依1日只面对4颗核心,核心切换和功能调用由SOC芯片自己完成。

  联发科MT6592的8颗CPU核心也是分为2组,但是2组是对等地位、异步运行,可以同时被调用。操作系统面对的是8颗CPU核心而不是4颗。相对来说联发科MT6592的核心多线程资源要更为充裕一些,这也是联发科宣传的重点。

  3.单线程性能差异很大

  在“big.LITTLE”技术中,由于使用了强大的Cortex-A15核心,因此在复杂任务时,系统会自动调用大核心,因此单线程性能非常优秀,几乎达到了Cortex-A7核心的2倍。相比之下,联发科MT6592所有8核都是A7核心,单线程性能较差。

  从上述比较来看,联发科MT6592和三垦的“big.LITTLE”处理器差异性非常大,无论设计目的和核心使用方式都完全不同。在联发科的官方对比中,联发科着重提到了目前市场上的8核处理器是“假8核”,因为这颗SOC(实际上也就是Exynos 5410)只能4个处理器核心同时运行。不过仅仅从性能角度来看,即使只有4个Cortex-A15同时运行,能提供的性能甚至都不弱于8颗Cortex-A7核心,联发科的宣传也只是着重于核心数量,而避开了性能比较,属于避重就轻的市场宣传方式而已。

  联发科的8核产品推出后,出现了很多争议之声。骂者也有,捧者也有。一部分声音认为这是联发科在SOC芯片发展到双核、4核之后的又—次进步,对市场是正面推动的作用;也有人认为8核产品纯属噱头,用8个Cortex-A7/J核心做出的产品单核心性能过于孱弱,仅仅只是为了吸引眼球而已。无论怎么说,产品已经在这里了,并且联发科宣布8核产品后,很快有厂商表示他们将基于联发科MT6592来生产相关手机产品。鉴于联发科在基带、系统集成方面的优势,想必这样的手机或平板很决就会出现在市场上。但是,这样的产品有意义吗?它能给用户带来比目前4核Cortex-A9、“b㈣LITTLE”处理器更为优秀的使用体验吗?

  答案是:不确定。就目前安卓软件的多线程发展情况来看,4核应用情况都不是很好,更不要说8核了,大多数应用也只能同时保证2个核心的负载。在并行性无法满足的情况下,单个核心的性能强大与否就非常重要。类似于联发科MT6592这样单核心性能较弱、但是核心数量很多的产品,实际应用情况还需要打一个大大的问号。

  不过联发科也给出了一些应用案例说明8核的优势。比如联发科宣称自己可以为每个浏览器的标签页分配1个核心,这样用户打开8个浏览器标签时,由于每个标签后都有1个CPU核心支持,不会像传统4核、双核那样来回切换,因此会更为流畅。可是这样做的问题在于:先不说手机上是否有必要开这么多浏览器标签,单说开启这么多标签后,在小屏幕上的切换和操作都显得非常困难;如果为平板设计,8个浏览器标签满载时如果遇到复杂网页,单个Cortex-A7核心的性能真的可以满足需求吗?况且目前平板电膪2GB的内存,实际加载8个网页,对内存来说也是不小的负担。

  除此之外,联发科还宣称自己的“真8核”可以带来更流畅的用户体验,并且能够将程序分配到不同核心上从而带来更低延迟的游戏体验。但是“程序不会自己并行化”,目前在桌面电脑上对应用多线程优化方面都没有太好办法的情况下,8核心的多线程要做好,仅仅依靠联发科的力量,还是有比较明显的不足。因此,在很长一段时间内,这款8个CPU核心的SOC不会有太过于明显的优势。相比ARM“正统”的“big.LITTLE”技术,以及新的Cortex-A-12和高性能的Cortex-A1 5产品而言,联发科MT6592相当于是联发科在SOC芯片上的一次创举,至于实际效果如何,还真的不太好说。不过本文更偏向于谨慎、保守的观点,也就是它在当前的市场环境下,不太可能获取大范围的成功。

  除了联发科外,ARM也在关注着多核心的使用。不过ARM的手段要高明不少。在全新一代的“big.LITTLE”架构下,ARM力求让所有的不同大小的核心在不同任务时被自动、合理的调用,而不是像现在这样一个大核心和一个小核心绑定,这也就是ARM所设想的:将所有核心放在篮子里,要用哪一个就取哪一个;8核心也好,6核心甚至更多的12核心也好,完全根据应用来服务,既不绑定也不集群。这种设计明显比联发科的2组异步、每组4个小核心同步的并行设计更为智能,性能上也更有优势。但是这种智能的“big.LITTLE”架构目前面临的问题也还很多,短期内还看不到实现的可能,因此用户们或许短期内只能看到联发科的产品在市场上纵横了。

  文图|张平

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: