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