Wintel帝國腿色,智慧型手機‧平板電腦稱霸武林,支配硬體核心的交集不是微處理器巨人而是連微軟的Windows 8也要賣力投靠的ARM。當ARM大軍揮入雲端、闖入伺服器與資料中心市場時,一個嶄新的帝國正在成形壯大中。
擋不住的多核心世紀:當今最紅的處理器元件,可能不是微處理器巨人,而是ARM。平板、智慧型手機還有很多消費性產品,均臣拜於ARM之下。ARM的極短篇描述,或許可以是說針對嵌入式產品與低耗電應用之32位元RISC CPU架構吧!
<<< ARM系處理器,攻城掠池。>>>
<<< Cortex-A系列的簡單比較。>>>
蘋果所開發的PoP封裝的A4處理器(iPad初代、iPhone 4、iPod touch第4代採用),打開內部究竟,還是存在有ARM Cortex A8的內核。iPad 2的A5處理器,為了要與檯面上所有廠商角逐對戰,唯有邁向Cortex A9的兩核心。
無論是哪家處理器的製造商,都躲不過一場風暴,那就是處理器的躍進顯學就是多核心(應該說很多核心會比較政治正確)化,這是一場抵擋不住的潮流。從消費性產品到極高效能運算,都完全走向一致的途徑。
就拿富士通最新的超級電腦來說,所採用的新型處理器乃是16核心。
<<< 預定2012/1開始出貨的超級電腦PRIMEHPC。取自富士通。>>>
數位亂世的契機:
在談及飛利浦120週年啟示錄一文之中,談到了當前的窘境 – 『數位亂世』。當然,順流與逆流的拿捏,的確不是一件那麼容易的事情。Robert Frost曾經說過:森林中有兩條路,我選擇人煙稀少的那一條,自此人生大不相同。顯然,飛利浦做出了抉擇。而我們呢?一場選舉可以毀了生技產業,令人遺憾,希望總是在民間。
其實,除了飛利浦的借鏡之外,與我國土相當的瑞士,為何歐債燒不到它,論ICT科技也幾乎看不出有何傑出產業,可是這個使用四種語言的小國卻活的好好地。我們可以想像或定位的空間,還有許多,文創剛起步,沒有人敢說文創不能是科技+藝術+人文+文化的結合呢?
拍立得老闆曾經對賈柏斯說過一句話:「我一直很希望拍立得能夠站上藝術與科技的交會點」。這個夢想最後被賈柏斯來實現。
<<< 數位亂世的戰國策。筆者製圖。>>>
過去的視窗作業系統是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 桌面(圖片取自Microsoft News Center)。>>>
同時也不難想像,微軟最怕的可能是不希望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」也會導入。
<<< Windows Phone 7.5 芒果機的UI也是磚瓦式。>>>
不過,根據微軟BUILD舉辦會議,公開展示的還是x86版,至於像TI/Qualcomm/NVIDIA所展示的ARM平板,沒有人可以觸碰的到。很明顯地,ARM版的程式開發是有點延遲了。微軟Windows 8針對ARM所開發的新式電力管理機能「Connected Standby」,並不能在x86上執行;因此,它在ARM系SoC上的功力,即使吹捧的很好,也未能實際領受到。(無妨將「Connected Standby」視為手機的省電架構導入PC核心之中)。
<<< Windows 8廢棄了BIOS以UEFI替代。還有新式電力管理結構。>>>
底下嘗試從”技術的層面”來探索Windows 8。老鳥多知道視窗乃是以「Win32 API」的編程模型為基盤,而Windows 8是朝向Metro Style的應用,因此,有必要導入新的API以及執行環境,也就是下圖中的「WinRT(Windows Runtime)」。
<<< Windows 8的軟體架構。>>>
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』狀態。
<<< Metro Style應用的狀態遷移。>>>
<<< 視窗XP task manager。>>>
<<< Windows 7 task manager。>>>
<<< Windows 8 task manager。若有Suspended狀態,可從Task Manager看出。>>>
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導入了混合型的啟動順序。>>>
而Windows 8還有一個革新式的功能,那就是平板或是手機正夯的短距離通信NFC(near field communication)標準之對應。除了加速度感應器、角速度感應器、地磁氣感應器與USB 3.0的支援,在OS層對應NFC是相當進步的一個措施。當彼此端末挨靠近就可以傳送閱讀中的URL,藍芽可以配對來傳送影音資料。不過,目前僅知道微軟與NXP協力開發,Windows 8可以支援PN544晶片。
2011年9月微軟的「BUILD」開發者大會,除了揭露WoA的動向,從搭載Windows 8的端末,多少也可以嗅出硬體的基礎規範。當然這個數據只能做參考用,時代變化過於迅速無常。
OS Windows 8 developer preview
硬體 Samsung的Slate PC Series 7
CPU Core i5
顯示 11.6英吋,1366x768畫素
3G通信模組 ST-Ericsson公司製
BIOS UEFI
主記憶體 4GB DDR3
儲存 64GB
介面 USB 3.0/2.0,MicroSD,HDMI,
感應器 陀螺儀、加速度感應器、電子羅盤
重量 909公克
厚度 12.9mm
擴充底座介面 USB,HDMI,乙太網路
<<<搭載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)」兩種路徑,也就是質與量的推升方式。若以雲端的屬性來說,當然是以後者為主流;畢竟,它的細粒度較好。
<<< 在雲端該是以Scale-out為主流方式。筆者製圖。>>>
若是從單一處理器的處理性能為指標,ARM處理器當然輸於x86,但是就分散式的資料中心來說,若是有充分性能便十分足夠,極優的電力效率就會導引出利用價值。現階段針對此應用的ARM系SoC幾乎是流用Cortex-A9,不過新的Cortex A-15也終於發表。它支援了虛擬化的結構,40位元的實體位址定址空間,達成1TB的記憶體空間;也對應了ECC。ARM架構,當前還是以32位元的命令集架構為主流;雖然就資料中心而言,還勉強可以應付,不過,爾後還是要向64位元推進。ARM的CEO在主題演講中不就說了一句話嗎?
『下一個世代的關鍵字,就是64位元』,似乎藏隱了玄機。
若是從市場面來觀察,第一世代的走法大致上就是A9的四核心。ARM與很多公司合資的Calxeda,自從創立公司以來就默默地開發,一切資訊都不公開非常隱密。2011年初開始出貨樣品,就是搭載A9四核心的SoC。一個晶片含有DRAM的消耗電力約5W。若是搭載了120顆晶片(480核心),約可以建構一般機架型4U的伺服器架構,建構費用約一半,消耗電力卻僅有傳統的1/10。
NVIDIA在移動式裝置所開發的Tegra系列系採用了Cortex A9,但是,針對伺服器應用卻是導入自己的微架構開發Denver。而Marvell也是使用獨自的微架構。
<<< Samsung的A15整合晶片。>>>
最後,來談論一個超級有趣的問題。那就是資料中心規格的開放化。就以世界上經營最大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。