软件开始定义处理器
- 来源:中国计算机报 smarty:if $article.tag?>
- 关键字:Altera,英特尔 smarty:/if?>
- 发布时间:2015-11-03 13:44
2009年秋,一场计算机学术会议在中国北方某港口城市举办。在有关体系架构分会场的最后一个报告结束后,笔者在现场听到主持人提问说,如果用FPGA(现场可编程门阵列)做CPU是否比CPU更快?报告人回答说,现在的问题主要是FPGA的制程与CPU的制程差距较大。
在学术界较早地关注FPGA在计算领域更多应用可能性的同时,FPGA以突出的性能加速表现,在高性能计算领域日益引起人们的重视。
而在更大范围内引发对FPGA热议的是,今年3月27日美国媒体披露英特尔拟斥资上百亿美元收购第二大FPGA厂商Altera以来,IT爱好者、专业与财经媒体、分析师众说纷纭。路透社在3月看衰这次收购:此次收购Altera公司,表明在电脑行业继续萎缩的背景下,英特尔的掌门人科再奇,已经决定继续开拓新领域和新市场。
当6月1日英特尔正式宣布将以167亿美元收购Altera后,加拿大蒙特利尔银行旗下投行部门专注半导体领域的资深分析师Ambrish Srivastava将英特尔股票评级降至与大盘持平。
对英特尔收购Altera的评论,应该是基于对FPGA技术价值的判定上。脱离了这一点,相关的评论无非就是揣测。
而基于对FPGA技术价值的判断,加之英特尔在硅光电子学和SoC(片上系统)上的实力,就可以预判到,英特尔已经具备了站在格鲁夫称之为战略转折点取胜的技术实力。或者说,当信息所涉及的处理、存储与传输计算这三大领域中,新的颠覆性技术均已浮现时,计算市场上一场新的革命已经为时不远了。
上篇:硬件大杀器
CPU+FPGA
尽管在处理器厂商中,英特尔开了收购FPGA厂商的先河,但是无论说到PLD(可编程器件),还是谈及FPGA与CPU的融合,都不能不首先提到AMD。
30年前的1985年,AMD收购了MMI公司,这家公司曾在1978年推出全球首个用户自主编程的PLD器件PAL(可编程阵列逻辑)。这一年,英特尔刚刚推出80386处理器。当然,谁也不可能看到30年后的事情,1999年,AMD又把MMI公司卖给了Lattice公司。
AMD与PLD的第二次握手发生在2006年6月,AMD推出了融合计划——Torrenza协作平台:借助于AMD的直连架构,可以将硬件加速器与CPU直接相连。Torrenza的路线图分为四步:第一步是加速器通过板卡插槽插入主板;第二步是加速器通过插座直接插入主板;第三步是将加速器与CPU以各自独立的管芯(Die)集成在一个封装中;第四步是将加速器与CPU集成在同一个管芯上,从而实现FPGA与CPU的融合。
AMD旋即在当年秋季宣布支持OpenFPGA,全球数一数二的FPGA厂商赛灵思(Xilinx)和Altera都成为AMD的合作伙伴。第二年,AMD收购了图形处理器(GPU)厂商ATI。这样,无论是FPGA还是GPU都可以以加速器的形式进入Terrenza平台与CPU直连,直至融合为一体。
今天,GPU对计算加速的功用(GPGPU,通用GPU)已众所周知,但FPGA如何对计算加速,或许并不广为人知。
通常,算法既可以用软件执行,也可以用硬件实现。但代价是不一样的,软件执行费时省钱,硬件实现则费钱省时。80386CPU没有浮点运算指令,对于科学计算用户而言,必须购买数千元一片的80387协处理器,来对浮点运算进行硬件加速,否则只能用CPU已有的算术指令进行迭代。而到了80486推出时,英特尔已经将协处理器集成到CPU中。
当然,这种浮点算法的实现对于FPGA来说,真是小菜一碟。FPGA的突出特点是可以动态地为诸如浮点加速、视频加速等不同的加速算法配置芯片中的硬件逻辑单元,从而使得FPGA充当相应的加速器。与软件运算相应的算法相比,FPGA能够将算法加速几十倍,而且FPGA在每瓦功耗上表现优异。
遗憾的是AMD在理念上起了个大早,在市场上却没有赶上大集:让NVDIA在GPU通用计算市场上抢了先机,而在FGPA融合上,英特尔则先下手为强。
事实上,FPGA与CPU融合上迈出第一步的应该是赛灵思。2009年10月,赛灵思宣布与ARM合作,将ARM的处理器内核嵌入到FPGA之中。
到了2010年11月,英特尔与Altera就开始“暗送秋波”,双方宣布将Altera的FPGA嵌入到英特尔的凌动处理器中。最终,欧盟在今年10月中旬无条件批准了双方的合并。
软件定义处理器
2012年下半年,软件定义网络(SDN)开始流行于业界。到了2013年1月初,中国计算机报在年首刊上以9个整版的篇幅发表了《软件重新定义IT》的封面报道。
文章在开篇中指出,现场可编程门阵列(FPGA)可以从硬件的底层实现软件定义。以通用CPU为例,它可以将各种计算类型的共性算法集成到CPU中实现硬件加速。此外,针对特定的应用,CPU总有部分冗余的硬件。当FPGA整合进CPU后,可以根据不同应用算法对CPU的需求,将FPGA配置为相应的硬件算法加速器,从而在增强CPU通用性的同时,也使得CPU得以针对特定应用进行优化。
时至今日,将FPGA嵌入到通用CPU中的努力都还停留在封面报道《软件重新定义IT》所述的第一个层面,即对软件应用进行硬件加速,也就是将需要加速的算法以加速引擎的方式“写入”FPGA中。
众所周知,规模经济是半导体产业的基石。每年动辄几十亿美元的生产设施投入和几十亿美元研发的投入,都需要分摊到每个芯片上,芯片的销售数量越大,成本就会被摊得越薄。AMD和IBM之所以相继剥离了半导体业务,并不是因为芯片性能不好,而是因为CPU出货量不足以摊薄高昂的生产设施投资。
但从集成电路生产上看,芯片在生产线上已经做好,无法更改,以至于芯片在未封装之前在英文中被称之为Die(管芯),意思就是无法改变了。
于是,为了增加CPU的销量,厂商就会将越来越多的功能集成到CPU中,使得CPU更加通用化,以不变应万变,即以一块通用CPU应对万种变化的应用。
CPU的通用化在提高芯片出货规模的同时,也带来了CPU内部硬件的冗余,毕竟商业与消费用户对CPU内部硬件资源的需求是不同的。而硬件的冗余意味着芯片在功耗、芯片面积和成本上的浪费。
这就涉及封面报道《软件重新定义IT》所述的第二个层面,即借助FPGA实现对CPU的定制化。这意味着现在CPU指令集所对应的解码与执行硬件,未来大部分将会消失,代之以FPGA。举例而言,多媒体指令、浮点运算等指令对应的硬件都是FPGA中的逻辑单元,而非特定的硬件。当特定的软件应用运行时,可以在线实时将CPU中的FPGA配置成应用所需要执行的指令和所需要加速的算法所对应的硬件。
需要说明的是,FPGA很早就被国内外处理器研发机构用于对新CPU进行验证,但这种模拟只是用FPGA来验证CPU的硬件逻辑,而不是对CPU的可定制化。CPU是基于计算对硬件进行优化的,而独立的FPGA是无法做到这一点的。
FPGA硬件资源的实时在线配置,使得用户得以针对特定应用对CPU进行优化,进而实现了软件对处理器的定义。
在CPU定制化上,2012年就有外媒披露,英特尔在为谷歌等服务器大户提供定制化的芯片。但这更像是针对数据中心这样的特定应用,对通用CPU进行裁剪和特定的增强。直到2014年,英特尔在GigaOm网站举办的GigaOmStructure大会上首次宣布,推出至强FPGA可定制化计划,开启了英特尔服务器芯片与FPGA的融合。
既然FPGA在CPU可定制化上扮演着重要角色,那么,英特尔收购Altera也就在意料之中。如果要将FPGA集成在一个封装里,倒是没有收购的必要性,因为只须将FPGA厂商生产的管芯集成进来。但要将FPGA融入CPU中,收购是必须的,因为FPGA厂商并没有提供类似ARM那样的IP授权。再者,英特尔必须确保FPGA的资源掌握在自己手里而不会有任何变数。
因此,尽管在英特尔收购Altera之后,IBM急忙宣布在OpenPower处理器上与赛灵思合作,但从技术上看,这种合作至多停留在基于封装集成的层面,除非赛灵思将其FPGA以“硬IP核”的方式打包成IP。
而甲骨文在硬件加速上“任性”地选择了另一条技术路线。今年9月,甲骨文发布了最新的SPARC处理器,其最大的亮点就是将数据库查询加速等算法以加速引擎的方式嵌入到CPU中。与FPGA作为加速引擎相比,SPARC将加速引擎固化到CPU中的方式显得不够灵活,好在甲骨文是自产自销,芯片的研发成本最终摊薄到整体解决方案上就行了,所谓“羊毛出在猪身上”。尽管这种技术路线并非最佳,但架不住甲骨文有的是钱,而更深层次的技术原因是甲骨文没有与FPGA厂商进行深度合作。
硅光电子学、忆阻器、SoC
除了在计算上出现CPU+FPGA这样的硬件大杀器外,在系统互连上硅光电子学已经开始商用尝试,在存储上全新的忆阻器技术正在浮出水面。
所谓硅光电子学就是应用当今主流的硅基CMOS集成电路技术,在硅基底上实现包括激光器、光栅等光学器件,硅光电子学可以将光纤互连中所有的光学器件都做在硅芯片上,最终焊接在主板上,系统之间的互连就是光纤两端与系统主板的连接。目前,硅光电子学的传输速度已经达到100Gbps。展望未来,系统与系统之间、板卡与板卡之间、芯片与芯片之间,直至芯片内部都将应用到硅光电子学。
使用硅半导体技术,不仅意味着光学器件体积上急剧缩小、全固态,而且成本急剧下降也是半导体技术的属性。这将为Mellanox这样凭借光纤互连而赚得钵满盆盈的企业带来非常大的压力。
忆阻器是继电阻、电容与电感之后发现的第四种电路器件。它的神奇之处在于可以记忆流经其中的电流大小,即便是断电后,依然可以保持记忆。基于纳米工艺的忆阻器在集成度、功耗、读写速度上均优于现有的DRAM,而且忆阻器还是非易失的。惠普甚至在进行基于忆阻器的全新计算架构的研发,据惠普称这种新的架构可以将数据中心压缩到一个冰箱大小。
除了硬件单元技术出现大杀器之外,SoC(片上系统)在硬件系统层面的颠覆性也越来越大,这一点已经在智能手机领域表现得淋漓尽致。值得一提的是,CPU与FPGA的融合,除了对应用加速、实现CPU定制化之外,因其拥有数量可观的逻辑单元,可以替代各种逻辑电路,因此还可为SoC提供了一条全新的、更加灵活可变的技术实现途径。
下篇:战略转型
战略转折点
《只有偏执狂才能生存》与《谁说大象不能跳舞》是源自IT领域的两本管理实践的经典之作。
格鲁夫在《只有偏执狂才能生存》中提出了战略转折点的概念,即企业的运营迟早都会被外界或者内在的因素引发根基性的变化。企业在遭遇战略转折点时,既可能10倍速地加速衰退,也可能以10倍速加速上升。存储器一直是英特尔成立初期的主业,但是到了上世纪80年代中期,日本半导体厂商以明显的成本优势将英特尔逼上战略转折点,英特尔被迫退出主业,专注于处理器业务。最终实现了10倍速的成长。
在战略转折点涉及到的所有因素中,主导技术的变革无疑是最为关键的。
《谁说大象不能跳舞》讲述的IBM在上个世纪90年代初的大逆转。从1991年到1993年,IBM连续三年亏损,累积净亏损158.8亿美元。1993年4月,郭士纳加盟IBM,通过将IBM从以自我为中心转变为以客户为中心,成功实现大逆转,1994年IBM净利润达30.2亿美元,一举扭亏为盈。
如果我们探寻更深层次的原因,那么主导技术这一关键因素是不应回避的。当时,IBM的新一代z390主机和全新的RS6000系列(P系列)服务器、AS400(i系列)服务器、Power处理器、AIX操作系统,确保了IBM在当时的主机、服务器和个人计算等主流计算领域的技术领先地位。
当新的主导技术来临时,势必颠覆现有的市场格局,将现有市场的领先者推到了战略转折点上。
云计算与大数据的“突如其来”,让传统IT巨头微软、IBM、惠普、戴尔等厂商感到措手不及,而ARM以功耗和成本的优势,借移动计算大潮“兴风作浪”,甚至扬言要在个人计算与服务器市场上大干一番,也使得英特尔在移动与通用计算上腹背受敌。
在这场转型中,市场驱动型的戴尔采用“抱团取暖”的方式天价收购EMC,实现了向云计算数据中心的“蛙跳”。收购后,戴尔以“服务器+存储”双强的新面貌出现在云计算市场上,唯一遗憾的是,时间上有些迟了,不知道是否能赶上晚集。
而惠普重新崛起的新希望无疑寄托在基于忆阻器的全新计算系统上。
微软自从纳德拉替下鲍尔默后,股价就一个劲地向上窜。虽说微软的云计算收成不错。但移动和企业级应用依旧是其必须弥补的短板。而如何在企业管理软件领域SaaS应用上有所突破,进而规避在IaaS和PaaS层面日益激烈的基于成本的竞争,应该是微软当今面临的挑战。
英特尔:站上转折点
与信息的处理、存储和传输相对应的硬件技术,是计算、存储和网络。如今,FPGA融入到CPU之中,将从底层硬件上给计算带来深刻的变革;忆阻器将在不远的将来,彻底颠覆存储;而硅光电子学带来的系统之间、板卡之间甚至芯片内部的互连,势必打破传输带宽的瓶颈。
软件定义处理器、忆阻器、硅光电子学这些全新的硬件技术覆盖了整个计算系统。无疑,这些全新的硬件技术将会颠覆现有的硬件系统。这是一场硬件市场的全新的变革,或者说是一次硬件重新定义计算的变革。
如果从半导体工艺上看,CPU+FPGA,以及硅光电子学都是基于CMOS工艺的,而忆阻器据称也与CMOS工艺具有很好的兼容性。这就意味着在计算、存储和网络这三个领域的颠覆性技术上,摩尔定律依旧发挥着主导作用。
尽管摩尔定律失效失灵的声音不绝于耳,但摩尔定律对半导体产业发展的主导作用依然如故。
曾经,嵌入式CPU市场由ARM与MIPS两家主宰,ARM以低功耗见长,MIPS注重性能表现。
但2007年iPhone开启了移动计算时代后,凭借着低功耗这一利器,ARM不仅在嵌入式市场上一家独大,甚至扬言2017年将占有服务器芯片市场10%的份额,因为随着数据中心规模的不断扩大,功耗成为日益严重的负担。
如今,曾寄希望于借助ARM64位芯片分羹服务器市场的三星、NVIDIA已经放弃了原来的企图。其中重要的因素在于伴随着集成电路制程技术的进步,功耗已经显著降低,而当FPGA集成到CPU时,呈数量级提升的性能,会进一步加固IA架构在服务器市场的霸主地位。
虽然站在战略转折点上的英特尔已经拥有了CPU+FPGA、硅光电子学等新一代主导技术的优势,由于忆阻器并非专利产品,可以说英特尔在新一代颠覆性硬件技术上都具有优势,但这并不意味着英特尔已经稳操胜券。关键在于是否能在合适的市场机会窗口中,兑现新技术的商业价值。
英特尔的挑战与纠结
在诸多挑战中,整合无疑是最大的挑战。在英特尔的并购历史上,还收购过其他领域数一数二的企业。
比如说2010年以76.8亿美元收购全球最大的安全厂商McAfee。在信息安全形势日益严峻的今天,最理想的解决方案是将McAfee的主要算法作为安全引擎嵌入到CPU中。但时至今日,McAfee依旧是独来独往。
再如2009年收购的嵌入式操作系统厂商风河,在美国军用与宇航领域嵌入式领域举足轻重。中国计算机报在2014年3月24日封面报道《移动市场搅局战》中认为,在当今移动计算领域信息安全格外严峻的情况下,英特尔切入移动市场的最佳途径是将手机硬件、McAfee和风河打包成一个开放而安全的手机平台。但时至今日,人们看到的只是英特尔在安卓活动现场上积极参与的身影。
而令英特尔纠结的是坚持还是改变现有的商业模式。这个问题不是今天收购Altera才遇到的。事实上,早在2009年,英特尔就宣布将部分凌动CPU交由台积电生产,以便在凌动上添加第三方IP,但之后不知什么原因没有了下文。到了2010年11月,英特尔不仅宣布将Altera的FPGA嵌入到凌动CPU中,同月还用当时最先进的22nm工艺为Achronix公司代工FPGA芯片。
本报当时就以《英特尔会改变商业模式吗》为题进行讨论。因为英特尔多年来都将设计与生产的相互优化作为其核心竞争力,因此,从不对外开放其芯片设计能力和对外提供产能。
如果当年的纠结还局限在芯片层面,那么,英特尔现在的纠结则是在整个硬件系统层面。固然,英特尔的成功得益于PC市场水平划分带来的开放性,但在SoC席卷下的半导体市场,GPU、芯片组等独立部件陆续被CPU“吞噬”,在这种趋势下,现有商业模式的改变只是时间问题。
功耗是英特尔受挫移动市场的重要原因,但却只是之一。另一重要原因是,英特尔一直坚持将PC的商业模式移植到垂直整合的手机市场中。
去年年底,英特尔推出全球最小的个人电脑StickPC,这个U盘大小的个人电脑除了没有显示器和键盘外,麻雀虽小五脏俱全。这是英特尔首次用整机产品证明了英特尔在系统整合上的能力。
据此,英特尔纠结的,不是改不改变商业模式,而是什么时间改变。
链接FPGA的前世今生
FPGA到底是什么?我们可以将CPU、RAM和包括FPGA在内的可编程器件(PLD)放在一起做个类比。
CPU实际上是将一套复杂的计算逻辑系统在生产线上固化到芯片上,其内部硬件逻辑固定而无法改变,比如说CPU中的多媒体指令集的指令个数是无法增减的,无论软件用还是不用,它都在那里。而RAM只是用来存储数据,并没有固化任何计算逻辑单元。而PLD芯片具有数目不一的基本逻辑单元,可以通过软件的方式定义成不同的硬件逻辑。
通俗地说,如果将RAM比作烹调的原材料、CPU比作成品,那么,PLD就相当于半成品。
谈到PLD的历史,就不能不涉及摩托罗拉。早在1969年,摩托罗拉就推出了掩模的门阵列XC157,具有12个可编程的逻辑门和30个可编程的I/O管脚。尽管XC157已经在芯片生产线上编程,并不具有再编程的能力,但却是PLD历史的起源。
到了1978年,Monolithic Memories公司(MMI)推出了PAL(可编程阵列逻辑),这也是上个世纪80年代在中国电子市场上流行的第一种PLD,但PAL的缺点是与PROM一样只能编程一次。
直到1985年,Lattice公司采用了电可擦EEPROM技术推出了GAL(通用阵列逻辑),PLD才成为可以反复快捷地被ABEL等高级语言定义的可编程芯片。顺便说一句,其中的GAL20V8就是笔者20多年前经常使用的GAL器件。
同年,Xilinx公司(赛灵思)推出了首个商业化的FPGA——XC2064。与其他PLD器件不同,FPGA既可以上电时通过SDRAM进行初始化也可以通过CPU等方式进行在线编程,而且芯片上集成到逻辑单元最高可达百万门量级。
至此,PLD走过了用户不可擦的掩模门阵列到一次性编程的PAL,再到电可擦的GAL,最终到了可在数百毫秒内重新定义的FPGA。FPGA不仅配置时间非常短,而且使系统的在线重构成为可能。
本报记者/马文方