2009年4月16日 星期四

Odin笑談Netbook(二):Intel決戰ARM架構(上)


.沉寂多年的ARM架構突然冒起
.x86:複雜指令列(CISC),ARM:精簡指令列(RISC)
.x86(CISC):效能較低、耗電量較高,但兼容性較好
.ARM/PowerPC(RISC)效能較高、耗電量較低,但兼容性較差
.RISC因效能而冒起於Macintosh及遊戲機界別
.CISC的兼容性及進步速度,將RISC擊敗




聲明:odinchong不是唸電腦的,文中的所有內容都是四出搜查資料所來的,所以筆者的論點絕對可能有錯,歡迎各位高手指正。

ARM架構,在不少人的心目中都等於PDA/Pocket PC/手提電話等嵌入式系統(Embeded System,系統在硬件裡預載作業系統),真正玩個人電腦(PC)的,必然還是x86,即使是唾棄Windows的Linux玩家,玩非嵌入式電腦還是選用X86設計。就連永遠不甘隨俗的Apple,也在2003年也棄用PowerPC架構(與ARM架構相似),改用Intel的x86架構。這個差點被電腦玩家遺忘了的架構,想不到在近五年的手提電話和PDA風潮下再度活躍,更藉著MID和Netbook等超便攜電腦組合而重現於電腦世界,就連一向與ARM無緣的Microsoft,也因為ARM的冒升而宣佈要推出ARM的Windows(不是Windows Mobile,而是正式的Windows)。
http://www.umpcfever.com/viewthr ... light=arm%2Bwindows

然而,萬能的Microsoft為ARM推出無敵的Windows,就代表ARM真的能取代x86而代之嗎?Intel就真的要為出售ARM架構的Xcale而付出代價嗎?說了很久,其實大家知道Intel的x86架構與ARM有何分別?分別不是在有沒有Windows,難聽一點說,當年Windows之所以能擊敗Mac OS,其實某程度上也是x86擊敗了ARM的結果。其實,x86與ARM的最大分別,是x86 CPU行的是複雜指令集(CISC),而ARM行的是精簡指令集(RISC)。CISC和RISC是甚麼來的?

以下會有一些較麻煩、較複雜的專門術語,以及一大堆電腦界的歷史,也許與Netbook未有甚麼直接關係,但它們的演變卻影響了ARM的發展,故請大家耐心一點。

CISC與RISC


http://www.tomshardware.tw/1499,review-1499-2.html

CPU本身就是一塊晶片,但它本身不懂自行計算,需要有人為它輸入各種算式才會工作。為了讓CPU與程式更有效率的溝通,CPU生產者會將一些簡單的指令以電晶體方式置於CPU之內,協助晶片理解程式撰寫者的意圖。後來軟件愈來愈大,功能愈來愈多,CPU生產者為了應付各種可能的程式意圖,便要在CPU裡加入更多的指令,使指令愈來愈多、也愈來愈多樣化、愈來愈長、愈來愈複雜,結果CPU預載的指令集就愈來愈大,CPU每次的運算就要經過更多的手續;而且,電晶體的數量愈來愈大,集成電路的裸體面積亦愈來愈大,電阻愈大、熱能愈大,消耗的電力就更多了,這就是最原始的CPU設計--CISC複雜指令集。後來,不少電腦設計師發現其實這些很複雜的指令集當中,只有20%是經常使用的,其它80%呢?只做20%的工作,故此有設計師利用編碼方式為這些複雜的指令再編程,並進一步將多餘的指令沙汰精簡,使跑RISC的CPU不但有更快的運算速度,而且由於指令精簡了,使它毋須大量的電晶體,成本亦大幅減少之餘,耗電量亦更低:這就是精簡指令集RISC。然而,RISC雖然更有效率,但由於協助編程的指令減少了,使撰寫程式的難度大幅提高,故此亦使軟件和硬件的支援較少,嚴重影響RISC架構的電腦應用性。


SOURCE: http://zih.it.com.cn/articles/83563.htm

百科全書與專科參考書
好像很複雜吧?讓Odin來一個簡單的例子:假設你是經濟學家,要做一項研究,你需要大量關於經濟學的參考書;但是,在你面前的只有一套大英百科全書。好了,大英百科全書(CISC架構的x86)有很多支援不同種類研究的資料(微碼/指令集),但當中只有20%不到的資料與你的研究(CPU的運算)有關,不過,你仍然要為其它80%以上的資料付出金錢、付出空間來收藏(生產成本、Die Size)、也要付出空調呀、保養呀等等等維護成本(幻想這是耗電量啦),但是,你要從百多萬頁資料裡找出自己需要的20%經濟資料,還真的不容易呢!故此,我們可以藉此想像到CISC如何缺乏效率。所以呢,就特意有人研究出RISC這種單單給與經濟學研究的專門參考書,書本份量較少、成本較輕、也只需較低的維護成本,更重要呢,就是由於摒棄了那些不需要的80%資料,做研究時能更快的找到相關的資料,RISC的效率就在是如此的高。

不過,當你在不久之後突然要研究一些經濟史,要找一些十八世紀的歷史資料(寫新的軟件或為新硬件寫驅動程式)時,RISC這種專門化的經濟參考書呢,內裡的資料(微碼/指令集)就會突然不敷使用。哎唷,平時可以利用專門的經濟學叢書快速的做研究,但現在就要靠自己的努力了(自己為軟件和硬件的配合編程)。這個時候,我們就會發現CISC也有其作用了。

RISC迅速崛起

http://www.haverford.edu/acc/docs/mac/about_this_macintosh.html

在80年代,RISC仍然未普及,而IBM在x86系統上佔有著領導的地位,使IBM成為了PC的代號。但在90年代初,IBM垂涎RISC的高效率,使IBM放棄x86,聯同Apple及Motarola一起合作加入研究RISC指令集的CPU,對,它就是在1993-2003年Macintosh核心架構的PowerPC,PowerPC的推出使Macintosch一躍而成為效能的代名詞,也使Macintosh成為了專業繪圖員和電腦設計師的必然選擇。Odin第一次買屬於自己電腦,就在1992年Intel剛從80486進入了Pentium的年代--當時,Pentium就出現了非常著名的浮點計算問題,使整個業界都對x86架構大失信心,Apple總裁Steve Jobs更多次在宣傳裡嘲笑仍然使用CISC的x86效能低劣、耗電量高呢,不過這也難怪,當時以RISC為基礎的PowerPC,效能幾乎是Intel的一倍呢。


http://news.17173.com/content/2007-06-27/20070627090213056,5.shtml

更有趣的是,當時由於Microsoft開發Windows 95,x86開始踏入32bit的時代,但同樣開始踏入32bit的次世代的日系遊戲機界別,也在Sony Playstation改用RISC核心帶起了遊戲機上的RISC風潮(到目為止,遊戲機的處理器仍然是採用RISC處理器),結果怎樣呢?1994年12月,日本遊戲機在RISC系統的協助下,以更低的成本而能在早期多邊形系統的虛擬立體遊戲裡取得了先機,Virtual Fighter、鐵拳、Ridge Racer、Daytona USA超華麗大作壟斷了電子遊戲市場。當時包括Odin自己在內也有一部RISC的遊戲機。但電腦遊戲界呢?在1995年的電腦遊戲的代表--Doom仍然是2D的電腦繪圖,仍然是Dos-based的遊戲。1997年,Playstation推出的Final Fantasy VII(Square Soft)了更是震憾了全球電腦界,即使Final Fantasy VII後來也移植至PC,但不足HK$2000元的舊款Playstation表現,仍然不遜於成本更高、款式更新穎的x86 PC。


http://en.wikipedia.org/wiki/Final_Fantasy_7

叫好不叫座
雖然RISC系統在90年代搶盡風頭,可是卻是意想不到地叫好而不叫座。雖然PowerPC在任何一方面都遠勝x86,使Macintosh成為專業界別當中最佳的電腦系統;RISC的遊戲也在任何一方面遠勝x86的遊戲,也使一眾狂熱的電玩玩家非買一部Playstation不可。但是,x86卻不但沒有被淘汰,反而更日益拙壯。事實上,由於RISC的兼容能力不足,使很多早就廣泛於電腦界應用多年的軟件,都未能/未有移殖到Macintosh之上,加上支援PowerPC的軟件也遠比x86來得要少,而Macintosh也幾乎只能使用只Macintosh專用的周邊,使Macintosh遲遲未能取得大多數非專業用家的支持。亦因為這個緣故,作為x86架構的最大支持者的Microsoft Windows,也得益於CISC的兼容能力而取得了大量軟件的支援--特別是非專業的Freeware群體以及廉價的Shareware(因為編程的成本較低),使不少用家(包括Odin在內)都選擇利用又平又靚的x86作為軟件平台,無形中奠定了Microsoft在作業系統上的霸權。


http://www.intelliadmin.com/blog ... y-faces-of-windows/

另一方面,在90年代初設計的遊戲機並沒有考慮到未來的網絡遊戲的特點,在RISC的低兼容能力限制下,未能成功建立強大的網絡遊戲配套。然而,電腦遊戲界別的Ultima Online卻成功利用強大的網絡支援功能取得了網絡遊戲的甜頭,其後的美系遊戲Age of Empire、Command and Conquerer、Warcraft和Diable(與Final Fantasy VII差不多時間推出),雖然在畫面方面仍然遠遜使用RISC的日系設計,但在網絡遊戲的風潮下搶回不少市場。建基於RISC的電腦遊戲,往往等於由零開始開發,使不少日系的RISC遊戲機開發商,感到莫大的成本壓力,但x86系統卻在DirectX的支援之下,能在更低的成本下達至更高的畫質,然後再移植至遊戲機上,更具成本效益。



x86大獲全勝
在效能方面,CISC的大旗手Intel也在RISC系統的猛烈攻擊之下,作出了一個極為決定性的改變!那就是將x86架構RISC化!對,RISC有這麼多的缺點,那Intel搞甚麼呢?其實Intel不是把x86完全改為RISC,而是單單在晶片的核心部分RISC化!Intel把新一代Pentium Pro(即最新一代P6)的核心電晶體指令精簡化,再於外圍佈置CISC常用的複雜指令集--幻想一下本來那本大英百科全書(CPU)的資料經過編排,所有關於經濟學的資料都放在最前,現在要做經濟學的研究,也不用在那百多萬頁的資料中苦苦搜集,現在僅需要在第一本"經濟學"全集當中就能找到了。故此,Pentium Pro在進行一些常用計算時,就可以透過核心晶體達至RISC的速度,但面對多種軟件和硬件支援時又能透過外圍的指令集作進一步的支援,結果它除了在耗電量和成本上未能與RISC看齊之外(因為外圍的電晶體的關係,使它的裸面積仍然遠多於RISC),效能上已經續漸與RISC看齊!

這個時候,真正的RISC旗手PowerPC反而陷於發展的瓶頸位,停滯不前,但x86卻在RISC化之下效能急速上升,並透過一系列指令集優化設計,使2000年代初的x86系統首度取得比PowerPC更強的效能,更逼使Apple作出了一個劃時代的決定:棄用自己發展多年的PowerPC處理器(不要忘了,PowerPC是Apple與IBM等一起合作搞出來的),改用多年對手的處理器--x86,本來一直是RISC重鎮的Macintosh改用CISC!在同一時間,Macintosh在iMac、iPod以及iPhone等新機種的協助之下取得了Apple在Apple II之後的第二次黃金時代--雖然未必與CISC有關,但RISC對硬件生產商的吸引力低至新點。直至今天,x86在大眾消費市場上的效能已非ARM所能相比。


http://sunnychanorg.blogspot.com/2006_01_01_archive.html

有人說,RISC贏的是現在,而CISC贏的是未來。CISC較容易兼容目前尚未出現的新技術、新硬件、新軟件,使它最終勝過了RISC,亦證明了效能還不是一切。不過,RISC並未因而退出市場,它的繼承者--ARM,終於摒棄了效能的表象,成本及續航力,並攻佔PDA及手機市場,從另一個角度再向x86發動攻勢:這正正是Netbook的重要所在。ARM是否能收復RISC的失地?請看Odin笑談Netbook(三):Intel決戰ARM架構(下)

預告
  • ARM VS x86:續航力及效能(運算、圖像、Instant-on)分析
  • ARM是否代表更廉價的Netbook?
  • Android及Windows是否ARM的皇牌?

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。