智能手机‧平板计算机隱形人─ ARM帝国

本文作者:admin       点击: 2012-01-22 00:00
前言:
Wintel帝国腿色,智能型手机‧平板计算机称霸武林,支配硬件核心的交集不是微处理器巨人而是连微软的Windows 8也要卖力投靠的ARM。当ARM大军挥入云计算、闯入服务器与资料中心市场时,一个崭新的帝国正在成形壮大中。  

挡不住的多核心世纪:当今最红的处理器组件,可能不是微处理器巨人,而是ARM。平板、智能型手机还有很多消费性产品,均臣拜于ARM之下。ARM的极短篇描述,或许可以是说针对嵌入式产品与低耗电应用之32位RISC CPU架构吧!  

苹果所开发的PoP封装的A4处理器(iPad初代、iPhone 4、iPod touch第4代采用),打开内部,还是存在有ARM Cortex A8的内核。iPad 2的A5处理器,为了要与台面上所有厂商角逐对战,唯有迈向Cortex A9的两核心。

无论是哪家处理器的制造商,都躲不过一场风暴,那就是处理器的跃进显学就是多核心(应该说很多核心会比较正确)化,这是一场抵挡不住的潮流。从消费性产品到极高效能运算,都完全走向一致的途径。

就拿富士通最新的超级计算机来说,所采用的新型处理器乃是16核心。数位乱世的契机: 

拍立得老板曾经对贾柏斯说过一句话:「我一直很希望拍立得能够站上艺术与科技的交会点」。这个梦想最后被贾柏斯来实现。

过去的窗口操作系统是x86处理器的Windows OS,而微软视为窗口再造的下一代武器Windows 8,不单是对应x86也投入了ARM系列的SoC。
注:曾经1996年的Windows NT有X86版, Alpha处理器版, PowerPC版, MIPS版。应用的云计算化、社群化,对于特定架构的制约逐渐降低,以x86软件资产为强项的微软自然是危机,也是转机。以ARM系SoC为主的Qualcomm, NVIDIA在智能型手机‧平板计算机的兴隆昌胜下吃香喝辣;如何把这些公司纳入窗口的魔掌内自然是微软的如意算计WoA(Windows on ARM)。

对英特尔来说,虽然找来谷歌开发Android专用的Atom处理器,市场会赐与机会吗?而ARM野心勃勃,云计算风行需要低电力的数据中心(data center)还有服务器用途,尽在ARM的攻击企划中。

智能手机‧平板计算机的日月进步,ARM系SoC的低耗电、便宜等特征;很有机会闯入英特尔的城堡,改变信息生态。若是Windows 8真的很够力反攻谋成,有朝一日,笔电的「Intel Inside」会不会成为历史云烟呢?

据称,Atom处理器索价20美元以上,而ARM系SoC一般低于10美元;这一两年来自中国无晶圆SoC公司开始进军Android,远看窗口个人计算机,若是形成价格破坏,自有新局。

有谁敢拍胸脯保证,「Wintel」最终不会迈入「Win + ARM」的葫芦中呢? 

Windows 8的逆袭: 
微软的下一个窗口Windows 8打着「从芯片组到使用者体验、窗口再创造」的方针,对Android,、iOS展开逆袭,提出WoA的方针。从技术面来说,就是将窗口OS角色对于硬件做抽象化。它会有足够的破坏力吗? 
Windows 8导入了新的UI(user interface) ─ 「Metro Style」。微软在Windows 8上的着力象征就是内存的消耗量降低。宣称即使在数年前风行的1GB小笔电(netbook)上,Windows 8也可以跑的很顺畅。

笔电的市场实在是很庞大,以ARM系SoC厂商内心中该是相当期待WoA。以Tegra进入Android平板的NVIDIA公司来猜测,若是有WoA上场就可以大举挥军进攻笔电市场。
微软的市价被Apple夺去,云计算服务又劣于谷歌(Google),强势的印象有衰退的疑虑,好在由于「Kinect」的大成功(也可以说是Sony太不争气,这么卓越的PS3竟然玩到这种凄惨地步),微软的势力与现金实力不容忽视。而微软WoA的标的不单是笔电、平板计算机而已,而是见到电力吃紧的新兴云计算新应用,也就是枪口也瞄准了ARM系数据中心以及服务器。换句话说,不单是Windows 8还有Windows Server的ARM版在旁边伺候着。这点当然需要 ARM从32位进化迈入了64位的疆界。一般预估,64位的ARM该是在2013年左右会现身。

WoA能否成功,悬在「Metro Style」是否能够成功。到Windows 7为止,由于针对x86处理器的二进制程序,无法在ARM系的SoC上执行。而在Web浏览器上动作的Metro Style应用程序,就与CPU架构没有依存关系,无论是在计算机还是平板装置的两方市场,应用程序可以相互流通。不过,Windows 8与过去软件资产以及兼容性的维持,与Windows 7根本是两回事。Metro Style全新应用程序是否会有从零开始的宿命,如果应用程序不够充实,WoA充其量也不过是空壳罢了。微软当然也知道这个问题的严重性,因此在BUILD中祭出最大的犒赏,所有参加者分发搭载Windows 8 developer preview的平板装置。Metro Style不仅支持了Windows 7开发核心的Visual basic、C语言,也支持了HTML 5,Java script。微软当然期望这个新规的执行环境,在应用软件开发的生态系统,依然会踏袭着庞大PC市场的惯性。

同时也不难想象,微软最怕的可能是不希望Metro Style走入专用平板的死胡同中,让人误解为与笔电、桌上型计算机没有关系。万一发生了这种事态,Metro Style的应用开发视野就会陷入不够宽广的窘态。固然,微软的回答Windows 8对应于iPad与Android的平板。可是来看事实的规模,平板根本无法与笔电、智能型手机相比。就拿笔电来说,2010年的出货台数约2亿台以上,而平板呢?就算大热门的iPad也可能仅有数千万台。凭着如此的规模,要建立新规市场的生态系统,太难了吧! 

平板端末的应用软件市场,与智能型手机、笔电等巨大的领域的生态系统,应用面若是没有连结起来的话,要一枝独秀也很难吧!苹果该是早就看到这个远景,因此, iPad、iPhone等都是搭载了相同的操作系统「iOS」;也就是利用了iPhone庞大应用开发生态系统,连结到iPad身上。而iCloud进一步透过云计算并以无线方式将它们推送到你所拥有的装置中,自动作业、不费吹灰之力而且紧密整合。更具体地说,有了iCloud之后,iTunes的数据库就跑到云计算去了;观念就是这么简单。

WoA成功之钥,在于Metro Style UI丰富的资源。为了达成这个目标,微软在Windows 8上下了一番工夫,强制使用者进入Metro Style。具体地说,就是废止了窗口的开始选单;若是使用者在桌面点选了开始键,会跑到Metro Style的砖瓦式UI画面;也就是强制窗口使用者进入了Metro Style应用的入口,催促使用Metro Style的应用。因此,微软这个意图势必要在各种产品在线展开。在Windows 8之前先从Windows Phone导入,然后再针对Xbox 360的在线服务「Xbox Live」也会导入。

不过,根据微软BUILD举办会议,公开展示的还是x86版,至于像TI/Qualcomm/NVIDIA所展示的ARM平板,没有人可以触碰的到。很明显地,ARM版的程序开发是有点延迟了。微软Windows 8针对ARM所开发的新式电力管理机能「Connected Standby」,并不能在x86上执行;因此,它在ARM系SoC上的功力,即使吹捧的很好,也未能实际领受到。(无妨将「Connected Standby」视为手机的省电架构导入PC核心之中)。

底下尝试从”技术的层面”来探索Windows 8。老鸟多知道窗口乃是以「Win32 API」的编程模型为基盘,而Windows 8是朝向Metro Style的应用,因此,有必要导入新的API以及执行环境,也就是下图中的「WinRT(Windows Runtime)」。

Windows 8采用传统的桌面以及Metro Style UI两者共存的构成方式。换句话说,传统桌面应用程序的动作会透过Win32,Metro Style应用执行时改成WinRT;无论是IE还是控制面板,会有相对应的版本。而,Metro Style应用程序开发的基础即是HTML5与JaavaScript。无论是IE的呈现以及执行引擎上动作,无论是ARM版还是x32/x64的版本,同一应用可以在全部的平台上动作。执行模型有点类似Ajax的Web应用。若是觉得难以体会,无妨这么来说吧。Windows 8的Metro Style环境或许该是接近于谷歌的「Chrome OS」或是HP的「webOS」。

注:AJAX为「Asynchronous JavaScript XML」,异步的JavaScript与XML技术,是一种广泛应用在浏览器的网页开发技术。 

应用程序的开发除了HTML5与JavaScript之外,也可以对应既存的编程语言,如C/C++、Visual Basic、C#等。也可以利用微软RIA(rich internet application)环境的Silverlight所采用的标记语言「XAML」。简单的应用程序可以利用HTML5与JavaScript来实现,更复杂构造的应用程序就可以利用C#等与XAML来分担。

不仅Windows 8采用了Metro Style UI,微软的Mobile Phone 7.5也采用。而Windows Phone的应用程序与Windows 8的Metro Style应用并没有直接的互换性,然而,移植上比较容易。Windows Phone是以Silverlight为编程模型的基盘,因此,Silverlight采用的XAML该与Windows 8的Metro Style共通吧!具体层面而言,就是Windows Phone的Silverlight API置换为WinRT API。 

当代云计算挂帅,现在智能型手机或是平板的应用从云计算来读取数据与内容为主流,各个装置有其显示的型态。职是之故,WinRT对于本地储存与云计算上的储存不分区别也可以存取。然而,网络上的存取必然会有所谓「延迟」的发生。若是依然采用传统的同步处理,很有可能应用程序会冻结掉。因此,网络的处理以异步方法较为适当。在嵌入式领域有特定的异步事件;接近于状态迁移(state machine)的执行模型。当然,WinRT意识到云计算的处理特质,因而也全面导入异步的处理。具体地来说,就是修饰符「async」与运算符「await」的导入是也。同时,微软也做了一件事情,将编译器(compiler)内部的API公开。

Metro Style应用也废弃了多窗口的显示方式,改与手机一样,一个应用程序会占据整个画面,可以活用滚动轴。同时也导入了刷碰画面的操作方式。当然,Metro Style应用也会与微软的云计算服务「Windows Live」相互提携。应用的设定在Windows Live上会自动保存,其它搭载Windows 8的装置会进行同步化。而为了应用之间数据的相互连结性,又特别加入了新的「contract」结构,让OS端与可以自动桥渡。

苹果的网络模式,每一家都羡慕。微软也有意导入「Windows Store」的配信手段。 

Windows 8最为傲人之处,是与手机并驾齐驱的电力管理,从待机(standby)回返仅须0.3秒,开机时间也仅有6秒。其中的焦点该是新导入的电力管理状态「Connected Standby」;CPU在动作而银幕显示关闭的状态。可以这么来说,当使用者从应用或上层服务来停止之际,CPU会采用间歇性的动作方式,保持数据的最新状态。关于这个概念的最为理想的思维方式,或许是视为虽然是在待机可是依然常时接续。

Windows 8的应用的执行模型,与Connected Standby协力来设计。为此,Metro Style应用定义了『Suspended』的状态。当PC进入中止模式时,Metro Style应用全步转移到『Suspended』状态。

Windows 8由于Connected Standby的导入,宛如手机回复时间相当快速,仅约0.3秒。电池消耗时间16小时以上。然而冷开机,还是有驱动程序初始化的工夫。不过,Windows 8的启动时间约6秒,其中最大的贡献该说来自于核心部份适用于休眠。总之,可以说是组合了冷开机与休眠的混和型起动方法。况且,Windows 8也废弃了传统使用的BIOS,导入了新式的UEFI(Unified Extensible Firmware Interface),也有助于起动时间的短缩。

注:UEFI(Unified Extensible Firmware Interface)乃是早期惠普、英特尔等共同协议出来的一套规范,用意是想取代使用数十年的老旧BIOS架构。微软有意在Windows 8 中来实现UEFI。 

而Windows 8还有一个革新式的功能,那就是平板或是手机正夯的短距离通信NFC(near field communication)标准之对应。除了加速度感应器、角速度感应器、地磁气感应器与USB 3.0的支持,在OS层对应NFC是相当进步的一个措施。当彼此端末挨靠近就可以传送阅读中的URL,蓝芽可以配对来传送影音数据。不过,目前仅知道微软与NXP协力开发,Windows 8可以支持PN544芯片。

2011年9月微软的「BUILD」开发者大会,除了揭露WoA的动向,从搭载Windows 8的端末,多少也可以嗅出硬件的基础规范。当然这个数据只能做参考用,时代变化过于迅速无常。总之,微软在过去x86应用上所累积的庞大软件资产,怎么来沿用或移植,也是重要的一个议题。

ARM在云计算现商机:云计算运算应用的进展,也会连动硬件架构的变动。只要看FB增长的幅度以及使用者上载的内容量,就知道数据中心服务器势必要有对策,否则就像打战无军粮,终究会溃败。

WoA的登场不单是闯入PC的桥头堡,网络上的服务器市场也是ARM架构的野心所在。ARM所投资的Calexeda、NVIDIA、Marvell专心致力于服务器专用的ARM系SoC。其实,在服务器领域,ARM架构所觊觎的该是云计算的资料中心(data center)。毕竟,像FB、Google这类网络公司对于电力消耗如何来削减是一个吃紧的课题;通常,为了提高性能,会导入庞大的空调设备来与热对战。不难想象,当前的网络公司正陷入了这个恶性循环。因此,众人的眼光当然就会瞄向比x86更有电力效率的ARM处理器。

云计算资料中心的建构,当前似乎还是以英特尔的「Xeon」高性能的x86处理器担当服务器的用途,随着安装数量的增加,电力效率的问题逐渐浮出,于是,有人开始思索ARM架构顶替的可能性。大家或许心中多少有点认知,网络应用本身性质的变化颇大;云计算的资料中心与传统服务器一般处理采用的相关型DBMS等存取OLTP(online transaction processing)有很大的不同,多数采用了如「Hadoop」为代表性的分布式处理。而分布式处理的扩展的途径不外乎「规模扩大(Scale-up)」以及「向外扩展(Scale-out)」两种路径,也就是质与量的推升方式。若以云计算的属性来说,当然是以后者为主流;毕竟,它的细粒度较好。

若是从单一处理器的处理性能为指针,ARM处理器当然输于x86,但是就分布式的数据中心来说,若是有充分性能便十分足够,极优的电力效率就会导引出利用价值。现阶段针对此应用的ARM系SoC几乎是流用Cortex-A9,不过新的Cortex A-15也终于发表。它支持了虚拟化的结构,40位的实体地址寻址空间,达成1TB的内存空间;也对应了ECC。ARM架构,当前还是以32位的命令集架构为主流;虽然就数据中心而言,还勉强可以应付,不过,尔后还是要向64位推进。ARM的CEO在主题演讲中不就说了一句话吗?

若是从市场面来观察,第一世代的走法大致上就是A9的四核心。ARM与很多公司合资的Calxeda,自从创立公司以来就默默地开发,一切信息都不公开非常隐密。2011年初开始出货样品,就是搭载A9四核心的SoC。一个芯片含有DRAM的消耗电力约5W。若是搭载了120颗芯片(480核心),约可以建构一般机架型4U的服务器架构,建构费用约一半,消耗电力却仅有传统的1/10。NVIDIA在移动式装置所开发的Tegra系列系采用了Cortex A9,但是,针对服务器应用却是导入自己的微架构开发Denver。而Marvell也是使用独自的微架构。 

最后,来谈论一个超级有趣的问题。那就是数据中心规格的开放化。就以世界上经营最大SNS的脸书来说,资料中心超越6万台的服务器。在2011年4月,该公司突然发表了「Open Compute」的企划,将自己公司资料中心的详细技术公开化。该公司数据中心的电力效率,若是依照Green Grid所定义的电力效率指标PUE(power usage effectiveness)来看,数值约1.07,算是不错的数字。

「Open Compute」所公开的信息非常多样化,从服务器单体涵盖到资料中心。服务器包拓了主机板的电路信息、电源规格、机箱的CAD数据。而全体数据中心所用的无停电电源装置UPS以及空调系统规格也都公布。目前的「Open Compute」的服务器规格仅有x86,没有ARM。未来难说。

另外一方面,数据中心领域不限于「Open Compute」的硬件规范,建构云计算必要的软件堆栈也朝向开放式。比如说,从事于云计算事业的Rackspace与NASA所协力开发的开放原始码软件基盘OpenStack,而Calxeda的目标就是让ARM系SoC能够在OpenStack上动作,作为云计算建构的参考设计。

总之,微处理器巨人,独霸江湖数十寒暑,多少英雄好汉倚天屠龙,如AMD、Transmeta、IDT、Rise、Via等,却都锻羽而归。如今有机会断巨人手臂的,无它、就是ARM。

[ 参考数据暨延伸阅读:] 
1.http://www.buildwindows.com/。
2.http://www.microsoft.com/presspass/events/build/。Microsoft News Center。 
3.http://lifehacker.com/5839777/first-look-at-whats-new-in-windows-8。First Look at What’s New in Windows 8 
4.http://www.techradar.com/reviews/pc-mac/software/operating-systems/microsoft-windows-phone-7-5-mango-1031171/review。5.http://openstack.org/。 
6.http://opencompute.org/。
7.http://www.thegreengrid.org/。
8.http://www.calxeda.com/。 
9.http://en.wikipedia.org/wiki/Power_usage_effectiveness。