杂谈移动平台多核处理器
发布时间:2013-1-26 22:09
发布者:1770309616
近几年,移动平台厂商争先推出多核处理器,以顺应市场日益提高的性能需求。 由于移动市场竞争异常激烈,多核处理器变成了营销工具,厂商利用这个最显著的差异化特性向消费者传递一个过于简化的信息:处理器核数越多,平台就越好,性能就越高,事实却复杂得多,在多核处理器平台内,处理器数量对总体性能只产生一定的影响,不同的底层硅技术将会对性能产生完全不同的影响,多个关联因素决定了多核处理平台能效(例如,平台对软件性能的有效影响、芯片频率、芯片大小和功耗)。 本文论述并比较目前移动平台所采用的主要的多核处理技术,重点介绍多核处理技术与意法·爱立信未来产品所采用的具有突破性的FD-SOI硅技术之间的协同效应,通过对比个人计算机市场,例证移动平台的单核处理器还有很大的性能提升空间,从软件性能角度分析,目前集中资源于速度更快的双核处理器比速度较慢的四核处理器更赢利。 多核处理器的问世是必然,而不是可以选择! 多核处理器是技术发展的必然,而不是人类可选的,在此重申这一点很重要。从历史看,当工作频率提高到芯片散热极限时,主流PC机多核处理器开始问世。事实上,自硅技术集成初期到2003-2005年间,在主流计算机中,工作频率提高和晶体管数量主要用于提升单核处理器的性能(见图1)。在此期间,应用软件的性能提升与硬件技术发展保持同步,日益增多的旧版软件无需做任何修改,导致计算机行业出现空前的增长。 只要可能,这个趋势就不会发生改变,直到芯片散热达到极限为止。频率提高而非晶体管数量增加是芯片达到散热极限的部分原因。在这一问题上,多核处理器被认为是连续利用数量不断增加的晶体管同时把功耗限制在可控范围内的唯一解决办法。虽然有悖常理,但是,单核处理器在假定频率时的功耗高于双核处理器在假定频率的二分之一时的功耗,这是因为处理器频率越高,所需的电压就越高,此外,动态功耗与电压是平方关系(图2所示是简单的动态功耗计算式)。 图 2: 双核处理器与单核处理器动态功耗对比 多核处理器确实使硬件集成度遵循摩尔定律(晶体管数量每18个月增加一倍),为此而付出的代价是软件性能提升被完全破坏。对于软件,再也没有免费的午餐,正如Herb Sutter 2005年发表的一篇著名论文[1]所述,从那时开始,为了继续高效地应用硬件技术进步,软件开发人员必须采用并行且均衡的编程方式,使代码能够高效地映射到多核处理器,换句话说,软件需要并行化,糟糕地是,软件并行化在整个计算机领域仍然是最严峻的挑战之一,虽然最初的研发热情还没有减退,但是,到目前还没有发现一个效率令人满意的通用解决方案[2]。很多本身是串行的应用软件则根本没有并行化解决方案。这个问题难度非常大,在过去10年来进展很小。G. Blake et al在2010年的论文[3]中提出两个重要看法: 在双核处理器问世时,用户感受到的响应速度快是双核处理器的最直接的优点,但是, 10年后,大多数软件,包括要求严格的游戏、办公软件、多媒体播放器和网络浏览器,还是仅能充分利用双核处理器,只有很少的应用软件(视频制作)能够更高效地利用双核处理器。 事实上,自多核处理器在10年前问世至今,除很少的应用软件外,大多数PC软件还没有实现并行化。因为多任务操作系统和某些应用软件的设计方法的原因,例如,用于处理用户界面等异步事件的事件驱动型代码,某些并行处理功能是原生的,但是,这些原生并行线程的均衡性通常很差,通常相互关联,只有少数线程可并行使用现有多核处理器,然而最终只能发挥双核以下处理器的能力。 软件开发人员选择不将其代码并行化,因为大多数PC机应用软件根本没有必要并行化,或者并行化成本过高。某些小众市场是例外,例如,某些多媒体应用软件、CAD工具和某些专业领域,软件性能是这些市场最关注的差异化特性。人们预计多核处理器将在视频游戏中找到用武之地,如上文所述,实际上却不是这样,其中一个原因是,最近几年,图形处理器 (GPU)的发展速度比多核CPU还要快,因此,在充分利用图形处理器上投入资源的回报率更高,而将复杂的游戏引擎并行化,使其能够在多核CPU上运行,是一件费力不讨好的工作。 在其它领域,多核处理器的情况不尽相同。例如,在网络数据中心,因为并行工作负荷量大,多核处理器发展顺利。在科学计算领域,软件并行化有其合理性。 移动业和PC业一样吗? 智能手机性能演进实质上是一个加速的且时空转换版的台式计算机性能演进过程。苹果iPhone的演进过程是一个很好的实例,我们很容易在一定时期内找到一致的数据,且苹果iPhone也能代表大多数手机平台。 图3所示是Dhrystone MIPS (DMIPS) CPU性能测试成绩,其中数据是ARM分析其处理器所用数据。同样地,我们应将测试成绩转换成图1中的英特尔CPU性能测试所用的指令级并行测试(ILP),即在不考虑处理器的频率时测试CPU架构的效率。IDMIPS-single表示单核处理器的相对性能,测试成绩是通过DMIPS/MHz乘以频率而得来,而DMIPS-dual是 DMIPS-single乘以2,表示苹果从iPhone 4S开始的双核处理器的最高总体性能。对于软件性能分析,我们只是引用了Anandtech[4]的iPhone 5产品评测中的基准测试成绩: Sunspider 和 Browsermark 是网络浏览器 (Javascript) 基准测试工具,因为是单线程,所以无法测试多核处理器;Geekbench是一个多线程基准测试工具,应该能够体现多核处理器的性能优势。 我们在图3中注意到两个要素: 图 3: iPhone CPU和软件相对性能演进(来源: Wikipedia, Anandtech) 1. CPU 架构效率 (DMIPS/MHz) 、频率和最终的单核性能 (DMIPS-single) 并没有饱和,相反,还有很大的提升空间,这种趋势完全不同于PC机单核处理器的演进路线,后者显然从2003年开始达到饱和。因此,我们得到的初步结论是,移动应用单核处理器不同于PC处理器,到目前其性能还没有达到饱和状态。2. 我们预想软件性能与单核处理器性能成正比例关系。实际上,从iPhone 4S 到 iPhone 5,Sunspider和 Browsermark的测试成绩增幅很大。这两款手机都是双核处理器,而且这两种基准测试都是单线程,因此,软件性能提升与多核处理器无关。测试成绩提升的原因是网络浏览器的软件性能大幅提升,特别是Javascript的优化起到重要作用,另外,其它硬件也很可能被优化,例如,改进存储器子系统。相反, Geekbench是一个多核线程基准测试工具,系统软件变化对其影响不大。iPhone 5的Geekbench测试成绩大幅提升,这似乎表明多核处理器至少发挥了一定作用,但是,令人奇怪地是,从单核 iPhone 4到双核iPhone 4S,我们并没有看到同样的成绩提升。在任何情况下,所有的基准测试,包括Geekbench,都保持在双核处理器的理论性能峰值以下。我们稍后将提供更多的软件性能提升数据,但是,分析这些基准测试工具的测试成绩,我们至少可以得到以下初步结论:像PC机一样, 软件性能提升与单核处理器性能成正比,同时还与应用软件有关;而与多核处理器性能的关系不大,或根本不成比例关系。 移动平台并没有出现我们看到的台式机CPU演进过程中的饱和状态,这是因为智能手机市场刚刚开始高速增长,是平台厂商进一步优化处理器架构和硅技术起主要动因,而竞争不激烈的传统嵌入式系统市场却没有这种动因。显然,PC机更成熟的超级优化的架构和硅技术与智能手机平台刚起步的架构与技术之间存在很大的差异: PC单核处理器在2003年达到散热极限时,此后性能再也没有增长的空间;而移动平台则不同,智能手机时代始于2007年,移动单核处理器还拥有巨大的性能提升空间,到今天为止,还没有迹象显示移动平台性能饱和。 人们不禁要问:为什么移动平台不同于PC处理器,在单核性能达到饱和前就转向多核处理器?我们认为有两个原因,第一个原因是,移动计算产品沿用数十年前的技术知识,特别是人们普遍知道,现代的操作系统能够更高效地利用双核处理器,高速缓存一致性和多任务处理操作系统等基本技术已经到位。因为能够充分利用双核处理器,就没有必要再等。而且,这个过程进展得非常快;第二个原因是进攻性的营销策略。 像大多数商用平台一样,CPU在进入四核时代后的发展方向目前尚不清楚,PC业的经验告诉我们,即使多核处理器存在于市场10年后,使用双核以上的处理器对于大多数软件是没有实用意义,唯一的技术解释是移动应用软件比PC软件更易于多核处理,但是,我们在短时间内不会看到这种情况发生。 事实上,有说服力的技术原因根本就不存在。动机似乎都与市场营销有关,因为智能手机市场竞争激烈,多核处理器是一个很有进攻性的武器。目前,厂商利用处理器内核数量使自己的产品保持差异化,甚至消费者也这样做。具有讽刺意义的是,技术上没有任何新发明,市场营销上没有新意,相同的广告词早在PC多核问世时就被广泛使用。像PC机一样,人们很快就会意识到,移动设备内的CPU内核数量与产品带给客户的真正价值没有直接关联。 网络浏览器是最重要的手机应用软件之一,也是手机高性能CPU的最大受益者,同时还是要求严格的PC级应用软件的一个实例,浏览器的性能非常重要,因为它直接影响用户视觉互动性。随着网络带宽不断增加,今天的处理速度已处于临界线,将来HTML5 rich API和不断增加的编程内容(javascript)对处理速度要求更高。网络浏览器还是高效使用今天的双核处理器的一个很好的实例,因为操作系统支持功能、软件工程、人机互动(防止UI死屏)、安全性和稳健性(不同处理过程中的多个标签)的原因,浏览器引入了并行活动。但是,因为缺少充足的均衡的软件并行技术,浏览器无法满足双核以上数理器的运行需求,测试结果显示,处理器从双核进化到四核,浏览器性能提升很小或根本没有提升。 图4: 网络浏览与多核处理器 图4所示是在同一四核处理器硬件/软件平台上运行的两款主流浏览器的测试成绩,通过软件设置(热插拨)可以选择不同的处理器数量,因此,测量结果完全是同一硬件/软件环境的真实数据。在所有的配置中,工作频率完全相同。相对分数是指在多次重复测量中若干个主流网站上的网页加载时间的平均值,因此,这个用例代表了真实的网站浏览体验,而不是人为的基准测试。当从单核切换到双核时,速度提升30%是一个较好的成绩,符合预期。然而,从双核切换到四核时,处理速度只取得0-11%的提升。在双核处理器上进行相似的测试,从单核切换到双核时,处理速度提升高达50%。另一方面,如前文分析PC处理器时提到的,不论处理器有多少个内核,频率提高总是有益于提升软件性能。当对多核处理器方案进行比较时,这一点很重要,因为处理器内核增加会对频率产生负面影响。互连线和存储器等共享资源冲突,高速缓存、一致性电路的扩展受限,这些因素都会限制多核处理器的频率提升。为提升多核处理器的总体频率,需要使用软件多核处理方法补偿多核处理器降低的频率。例如,我们在以前的折衷分析 [5]中提到,四核处理器的频率比双核处理器降低约27%,软件必须有70%的代码实现并行化,才能使四核处理器的性能优于双核处理器,这是一个很大的比例,几乎没有应用软件能够达到这个水平,当然不是通过原生并行,因为取得如此高的平行化,需要特殊的专门的并行化工作。 图 5: 速度较快的双核处理器与速度较慢的四核处理器性能比较 前文提到软件并行化程度很低,所以速度较快的双核处理器可轻松战胜速度较慢的四核处理器,这种现象在网络浏览器中特别明显,如图5所示,为了与1.4GHz的双核处理器比较,我们人为的将四核处理器的配置降至1.2GHz,从图中可以看出,即便两者频率相差很小,低于20%,速度较快的双核处理器始终优于速度较慢的四核处理器。我们对手机的其它重要应用软件进行了类似的测试,例如,视频游戏、程序启动时间和多媒体功能,每次都取得相似的结果:在频率相同的条件下,CPU从双核进化到四核,性能提升很小或根本没有提升;当速度相差15-20%时,速度较快的双核总能击败速度较慢的四核。 从正面看,智能手机搭载四核处理器应当会刺激软件开发人员更有效地利用四核处理器,希望比PC业在最近10年做得更成功。智能手机的可用资源比PC机的可用资源更敏感,即使移动处理器无限接近PC处理器,两者之间还有很大差距。在软件方面,在移动移动平台上运行PC级的应用软件还有很大的压力,综合以上,再加上更低的功耗限制和更激烈的市场竞争环境,这些应该给软件开发人员足够的动机,投入更多的资源提高多核处理器的利用率。 多媒体是一个令人关注的领域,这个领域通常对处理性能要求严格,多媒体软件自然适合并行化。扩增实境、计算摄影学、手势识别等令人兴奋的新应用领域都将应用并行处理技术,因为这些功能的稳定性不适合硬件加速。在这些应用领域,多核处理器也有竞争技术,通用图形处理器(GPGPU)同样是可编程多核处理器解决方案,不同的是,GPGPU将代码映射到GPU而不是CPU。目前,GPGPU的编程难度比多核CPU更大,但是GPU硬件发展速度很快,编程模型和工具也取得很大进展,因此,目前发展趋势还不明朗。 异构多核处理技术 移动异构多核处理器的设计原理是,使用高性能但功耗高的处理器执行要求严格的应用任务,使用速度慢但高能效的处理器运行要求不高的任务。目前市场上已经有异构四核处理器平台,例如,NVIDIA的 Tegra 3采用的Variable SMP [6]技术,采用 ARM big.LITTLE[7]解决方案的异构多核处理器预计不久就会上市。 这个想法当然很好,但是成功还需要一些时间;像比较双核与四核处理器一样,简单的解决方案只要可行,总是被优先选用,特别是涉及复杂的软件修改时,简单的解决方案总是胜出。我们稍后将分析如何利用 FD-SOI 硅技术以更简单、更有效的方式达到同样的效果。 异构多核处理器使软硬件都变得十分复杂,图6所示是ARM big.LITTLE硬件解决方案。 图 6: ARM big.LITTLE (source: [7]) 硬件变复杂的主要原因是,处理器高速缓存只有保持一致性,才能用于智能手机操作系统假设的共享存储器系统,为此,AMR在互联线上引入了ARM ACE接口技术,但这却提高了硬件复杂程度,导致缓存一致性流量增加。在软件方面,如果把架构的全部潜力都发挥出来,系统异质管理对于操作系统可能是一件非常复杂的任务。理论上,操作系统应该有足够高的智能,能够区别要求条件不同的应用任务,将其分配给大处理器或小处理器执行。为限制在昂贵的集群器间移植软件,这些决策应该相对稳定。同时,应用软件可能会突然改变行为,系统必须能够迅速做出响应,这需要提高动态电压和频率,而且在两个集群器上单独进行,增加要考虑的功率状态的数量。不仅今天的操作系统无法提供发挥多核处理器的全部潜能所需的先进复杂技术,而且错误的决策在实际应用中可能会适得其反,大量的软件移植会引起用户可见的系统故障,错误决策引起性能降低或浪费电能。完美地支持异构多核处理器需要多年的研发活动和优调技术。 为了限制系统做出错误决策的风险,研发人员开发出了中间解决方案,但是,该解决办法需要以降低多核处理器潜能利用率为代价。例如,某个解决方案通过专属方式使用大小 集群器,即不是并行处理,而是根据系统总体负荷从一个集群器切换至另一个集群器,以避免智能映射每个独立软件线程变得更加复杂,这种方法的缺点是没有并行使用集群器,所以没有发挥多核处理器的全部潜能。 另一个最新的方法是把大小处理器整合成一对固定的处理器,操作系统负责管理每个大小处理器,将其视为一个电压/频率工作点扩展的单一抽象处理器,这种方法的缺点是在集群器之间频繁移植软件具有一定的风险,抽象处理器的工作模式配对不是原生的,因为在硬件上,工作点是由集群器实现的,而非大小处理器对。 总之,异构多核处理器当然是一项前景不错的技术,特别是在移动市场。然而,因为技术复杂,特别是在软件方面,这项技术需要经过多年的研发和优调才会发挥出全部的潜能。 硅制造工艺的新进展: FD-SOI 近些年,为确保硅制造技术节点进一步降低,突破传统技术即将达到的极限,半导体企业进行了大量新技术研发,取得了很多具有突破性的开发成果,例如, FinFET 和 FD-SOI制造工艺。意法·爱立信将意法半导体的FD-SOI (全耗尽型绝缘体上硅)技术用于其性能非常优异的下一代28nm移动平台。在这里,我们只从计算性能的角度简要分析FD-SOI的技术优势,说明此项技术如何能够进一步提升单核处理器的性能,让我们继续专注速度更快的双核处理器,以获得更高的软件性能。 如图7所示,由于插入超溥埋氧层衬底,FD-SOI使晶体管电特性得到大幅提升,同时继续使用非常成熟的平面工艺制造芯片。 图 7: 体效应晶体管与 FD-SOI晶体管比较 下面概括FD-SOI的优点:速度更快:在相同的技术节点,FD-SOI晶体管的沟道比体效应晶体管的沟道短,而且前者是全耗尽型沟道,无掺杂剂。在这两个因素共同作用下,FD-SOI晶体管在相同电压时开关速度更快,在功耗相同条件下,高压工作频率提高35%,低压工作频率提高100%。 功耗更低:有多个因素促使功耗降低:全耗尽沟道消除了漏极引起的寄生效应,在低功耗模式,可更好地限制载流子从源极流向漏极;更厚的栅电介质层可降低栅极泄漏电流;更好地控制体偏压技术 (为更好地控制速度和功耗而向晶体管体施加的电压)。结果,在高性能时,功耗降低 35%;在低性能时,功耗降幅更大,高达50% 。 工艺更简单:FD-SOI制造工艺与28nm体效应技术(bulk)的相近程度达到 90%,总工序减少15%,研发周期更短。此外,FD-SOI技术无需压力源或其它类似的复杂技术,而其它工艺可能需要这些技术。最终工艺的复杂度低于体效应技术,远远低于FinFET技术。 图 8: FD-SOI: 速度更快,功耗更低 从微处理器设计角度看, 相对于体效应技术,FD-SOI的优势十分明显(见图8):电压/功耗相同时,FD-SOI可取得更高的频率,或者在频率相同时,FD-SOI的功耗更低; 可取得的最高频率更高; (后续见下面) |
网友评论