新闻中心

EEPW首页 > 专题 > 高端处理器芯片的技术趋势与可持续发展

高端处理器芯片的技术趋势与可持续发展

作者:唐志敏时间:2017-03-29来源:电子产品世界收藏
编者按:本文介绍了高端处理器芯片的市场需求,分析了当下所面临的挑战和机遇,以及处理器架构的发展和未来方向。

作者/ 唐志敏 中科院计算技术研究所

本文引用地址:http://www.eepw.com.cn/article/201703/345935.htm

摘要:本文介绍了芯片的市场需求,分析了当下所面临的挑战和机遇,以及处理器架构的发展和未来方向。

  随着集成电路工艺的不断提升,如今,逼近极限的集成电路工艺大大增加了高端芯片本身的研发成本。同时,从整个传感器网络到云数据中心的新应用模式对计算机系统提出了很多新的要求。要应对这种新局面,就需要通过深入理解应用的本质需求,设计可持续发展的结构。

芯片需要高性价比和低能耗

  目前的市场对主要有两方面需求。

  第一方面就是要有较好的性价比。就当下市场来看,不断降低成本的需求仍然存在,但是也出现了成本增长的新因素。对很多应用来说,性能不再是最核心的瓶颈,用户体验成为新的关注点。例如现在的交通系统,已经有汽车、火车和飞机,虽然更快一些会更好,但已经不是整个系统竞争力提升的决定因素,更多在于用户体验和竞争力方面的考量。随之而来的是性能本身也出现了一些新的形式,传统意义上的计算速度和事务处理速度已经不能体现系统的整体性能,现在还要加入服务速度,即单位时间内服务的请求数。

  另一方面则是低能耗。从需求方面来说,低能耗已经成为一种新的趋势。如今,已经出现两极分化,即云端和终端。云端规模太大,散热和耗电都会成为很大的负担,因而数据中心的利用率成为关注点。对终端方面来说,电池寿命是主要限制,待机时间成为关键影响因素。

  实际上,更多的能耗不是在计算方面,而是在通讯方面。一项研究表明,在一项Linpack计算中发现,平均每个浮点运算在FPU里消耗10pJ能量,而在访存通路上耗能475pJ。因而,计算本身消耗的能量并不多,在访存路径中消耗的能量反而更多。在物联网、传感器领域中,很多数据传送依赖于无线通信,这将使计算和无线射频通信消耗的能量差距更大。

通过新结构和新算法解决低功耗

  为了解决能耗方面的问题,我们除了有效利用访问的局部性,采用多级缓存外,还有很多其他方法。

  需求的变化使得计算系统的结构也会有相应变化,众核并行结构是当下降低能耗的一种新结构。同时,要求软件栈采用扁平化结构,即软件栈不要太深,因为软件栈的不同层次之间,都是数据拷贝和传送,软件栈越深,耗电就会越多。另外,面向应用特性也可以做一些定制结构。

  探索提高新兴应用性能的结构也是降低功耗的一种解决方法。例如,现在比较热门的人工智能,面向人工智能方面的应用有一些新的结构,例如加速方案,比用传统的通用处理方案效果更好。

  适应新需求的新算法是解决低功耗的另一种尝试方法。算法复杂度的研究已经很多了,传统上人们只考虑算法的计算复杂度,而现在还需要考虑访存复杂度和通信复杂度。传统上会认为计算量越少越好,现在可能会考虑“计算多一点,通信少一点”,以计算的增长为代价换取通信的减少,更能节省能耗。

制约新结构产生的因素

  有两个重要因素制约了对新结构的探索,即已有的软硬件生态系统和开发成本。现存的大量工业标准和事实标准构成了成熟的软硬件的生态系统,一旦新的结构不适应这种软件生态,就很难生存下去,而重新开发一个新的生态,比开发一种新结构更为困难。这在很大程度上制约了开发者对新结构的探索。而开发新结构的成本也会很高,一个新结构需要一个新的芯片支撑,现在的极限工艺条件下,一次性工程开发的投入越来越高,开发一款新的芯片投入已经在亿美元的量级上。据IDC服务器市场架构分析,在2015年第一季度,X86服务器系统占整个市场99.26%份额,非X86系统只占0.74%。而在非X86市场中power占比较大,还有其他的EPIC、Sparc、CISC以及RISC等,如图1。

突破指令集的禁锢

  是一把双刃剑。由于兼容性好,指令集不变,软件就不用改。坏处就是制约了技术本身的创新,积累的大量软件成为体系结构革新的包袱。以X86为例,其条件码会影响流水线效率,变长指令则会影响指令译码和发射效率,复杂指令也会影响指令执行效率。

  由于当下市场的商业价值高于技术革新,旧的指令集的商业价值战胜了技术革新的很多方面。在技术上,RISC比CISC好,而现在在市场上却越来越少了,基本上只剩下一个ARM;之前有一个EPIC看起来也比CISC好,现在也已经推出历史舞台。这是一个商业和技术博弈的结果,相对于技术,商业起着更重要的作用。

  与主流的指令集的兼容是比较重要的,因为要利用已有的软性生态。即使是传统的指令集其实也是一直在不断地与时俱进,根据新的应用需求不断发展的。以X86(传统的指令集)来说,从最早70年代末,80年代初就有了,但是一直在不断地扩展,增加了SIMD多媒体、SIMD向量计算,支持虚拟化、加解密运算,各种安全保护机制不断地发展。

  另一方面,结构仍有不断创新的空间。随着Internet的发展,出现了很多跨平台的语言,例如JAVA等语言,对ISA(指令集平台)的依赖性相对较小。

通用结构和专用结构

  物联网是一个巨大的市场,但是物联网的需求是非常碎片化的。因而,物联网的市场虽然非常大,但是不可能有一种架构包涵天下,可能有多种不同的架构,而每个架构/产品形式的量不一定那么大。

  从学术角度/技术角度来看,通用结构是样样都能做,通用计算机是适用于科学与工程计算、数据处理、事务处理、过程控制等各种应用,可高效率地运行SPEC CPU基准程序或包括其它各类应用负荷特征的基准程序。专用结构是针对某类算法而设计的,是从算法到架构映射出的特定结构,例如神经网络、流处理器等。包括现在的GPU,虽然在图形方面比较通用一些,但是在计算方面还是有一定的专用性。

  通用结构的优势在于可以基于最先进的工艺来做,稳定可靠,成本相对较低,有成熟的生态系统和解决方案,可以大批量生产。但是通用结构对许多应用并不是最优的,它适合所用的应用,但只是对各种应用都不会太差。因而会导致资源过度浪费、延迟增大、能耗增加等因素。例如从云计算来看,一个通用的CPU中只有30%的面积是经常用到的。

  专用结构针对应用算法进行了优化设计,效率高、省资源、能耗低。专用架构要开发者自己做,增加了大量的设计和验证工作,上市时间不确定,稳定性和可靠性也可能有问题。由于巨大的NRE(Non-Recurring Engineering,一次性工程费用)难以被小批量产品所分摊,成本也会较高。

未来处理器架构

  未来的通用处理器的设计空间是跨越通用和专用的鸿沟,实现通用、高效、低功耗、低成本的处理芯片。可以用大量简单的核代替少量复杂的核,这样虽然会降低能耗,但是比较专用;增加动态特性,每个核支持多个硬件线程,片上能够容纳大量的线程进行运算,这对开发并行性,容忍访存延迟有好处;另外,通过一个核上有多个线程,多个核上有更多线程,用动态方式调度核内、核间线程,这样的结构会更通用。就需求来看,终极目标是开发一种普适的架构,同时支持数据并行和线性并行,可以满足从云到端的各类数据需求,包括云计算、服务器及移动终端。

  (注:本文根据“2016中国集成电路产业促进大会”的高端芯片发展论坛中演讲改编。)

  参考文献:

  [1]王莹,叶雷.2015:物联网引领芯片厂商创新[J].电子产品世界,2015(1):11-19.

  [2]迎九.用芯片开启产业物联网的产业升级[J].电子产品世界,2015(9):1-3.

  [3]迎九.FD-SOI与FinFET互补,是中国芯片业弯道超车机会[J].电子产品世界,2016(4):5-6.

  [4]Peter Greenhalgh.ARM的A/R/M设计目标:适合的处理器来执行对应的任务[J].电子产品世界,2016(8):30-33.


  本文来源于《电子产品世界》2017年第4期第27页,欢迎您写论文时引用,并注明出处。



评论


相关推荐

技术专区

关闭