3月16日外電頭條:x86一統天下是勝利還是歧途
原創【51CTO.com快譯】Java有一個口號:編寫一次,到處運行( Write once, run anywhere. );這是指它的跨平臺能力?,F在再提這句話已經沒太大意思了——因為幾乎任何語言都可以做到這點。但是,當Sun在上世紀九十年代初提出這句話的時候,我們知道這曾帶來了多大的震撼!
讓我們回到那個時代。那時,編寫便攜代碼(portable code)的工作是讓人極其頭疼的,它們需要能夠足夠干凈的移植到十幾種不同架構的處理器上。當時的處理器有Alpha、MIPS、PA—RISC、PowerPC和Sparc……可以想見,通過所有這些的編譯器可不容易。有人使用小端字節序(little-endian byte ordering),另一些人使用大端字節序(big-endian byte ordering)。有人喜歡CISC(復雜指令集),有人喜歡RISC(精簡指令集)。在那樣的混亂中,Java的出現的確是個天大的好消息。
但看看今天的情況。當2006年蘋果最終放棄PowerPC后,x86成為桌面處理器領域的獨舞者。即使在服務器方面,現在所有的主要硬件廠商都在提供x86架構的服務器產品,無論他們曾經站在怎樣的立場。
事態的發展并不止于此。今天,即使非x86的平臺也想做得像x86一樣。比如上周一家名為Mantissa的公司發布了新的軟件包,能夠讓IBM大型機運行虛擬化的x86操作系統。也許終極的答案會是JPC虛擬機,用Java編寫的完整的x86模擬層——它是如此完整,我們將可以在一個瀏覽器窗口里啟動Linux。
隨著時間推移,我們似乎看到一個新的“編寫一次,到處運行”正在出現,而這次的主角不是Java字節碼,而是處理器的語言,它的名字叫做x86。
x86的成功源于對商業市場的妥協
如果我們把x86的歷史挖出來,你肯定會覺得有點意思。因為我相信你一定認為是8086將x86帶入市場主流的,如果你真這樣想,那說明你搞錯了,x86真正意義上的繁榮應該歸功于8088?!?1CTO.com編者注,8086和8088均是上世紀70年代Intel公司的CPU型號。8086誕生于1976年,是一款開創了后來處理器世界的傳奇產品,其芯片架構直至今日還被作為業界標準。8086是16位微處理器,芯片上有2.9萬個晶體管,采用 HMOS工藝制造,用單一的+5V電源,時鐘頻率為5MHz~10MHz;8088于1977年誕生,既能處理16位數據,也能處理8位數據,有16根數據線和20根地址線,可尋址的內存空間為1MB。 】
我們回到1980年,IBM正在為他們的第一臺個人計算機——當時它的絕密代號是5150,后來人們習慣于稱之為IBM PC——尋找一個CPU。它有足夠的選項可以選擇,可以選擇Intel當時的旗艦8086,也可以選擇自己設計的芯片,但它卻選擇了8086的小兄弟,8088。為什么?
8088的兩個優勢促成了這個選擇。首先,與IBM自有的處理器不同,8088容易制造并且現貨充足。其次更重要的是,雖然與8086有著相同的架構,8088使用了類似于上一代CPU的8位數據總線。這意味著它可以與當時市場上的大量芯片和組件完好的集成在一起。換言之,8088不僅是一個便宜的芯片,它還可以讓你組建便宜的計算機。
這一簡單的區別導致了后來所有的差異。8088受到了命運的青睞,成為PC革命中的CPU核心,而8086——雖然x86因它而得名——最終只取得有限的成功。IBM選擇Intel的x86架構并不是因為它是的技術最好,而只是因為8088價格便宜,功能合適。
低期望值的全面勝利
顯然,x86既便宜又簡單,這成為它所向披靡的重要原因。當Linux最終在x86平臺上開發出類Unix操作系統之后,那些昂貴專有的RISC芯片的市場開始消亡了。蘋果沒有對x86妥協,因為它鐘情于PowerPC的優越架構;但是在性能的數字競賽中,PowerPC還是無法避免的落后了。蘋果又何必逆流而動呢?
當然,Intel在其中發揮了很大作用?;趚86的IBM PC及其伙伴們的巨大成功也帶給Intel無與倫比的市場占有率。但Intel沒有意識到的是,它創造了一個怪物,最終卻無法控制:市場拒絕了安騰,而Intel被迫跟在AMD身后繼續研發他們的x86-64。
今天,我們看到同樣的事情重復了一遍又一遍——x86出現了一個又一個的新版。沒有人仔細想過在大型機上運行Windows,不過只有這樣,才能一邊充分利用大型機的硬件可靠性和擴展性,一邊又可以運行Windows的應用程序。JPC虛擬機的出現使x86代碼可以在新的和以前從沒想到過的環境中運行,比如手機,這應該給我們以啟示。
但我有點懷疑:這真的就是我們能做到的最好情況嗎?我舉一個反例,70年代前蘇聯曾經建造出可用的三進制計算機,有點諷刺的是,為了模擬x86芯片,他們放棄了那項研究,從此三進制計算機再沒有出現過。
Yahoo的Douglas Crawford曾經說過他對網絡的擔心,“我們惟一害怕的是不成熟的標準?!倍覔倪@已經發生在CPU市場,x86將是我們在今后很長一段時間內的惟一選擇。
【編輯推薦】
【51CTO.com譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】
原文:We have seen the future, and it is x86 作者:Neil McAllister