蘋果的英特爾平台遷移

维基百科,自由的百科全书
跳转至: 导航搜索

Apple的Intel平台遷移指的是2006年Mac電腦PowerPC平台遷移至Intel x86平台的事件。平台遷移計畫最初在2005年的WWDC大會上由Apple執行長史提夫·喬布斯(Steve Jobs)正式公布,Apple稱日後將停止在Mac電腦中繼續使用由摩托羅拉(Motorola)及IBM提供的PowerPC微處理器,改用Apple大多數競爭對手同樣選用的Intel處理器[1]

這一次平台遷移已是Apple第三次更改旗下電腦產品線的CPU架構。Apple將Apple II的8位元6502處理器改用成摩托羅拉的68k處理器架構(首次配備在Macintosh 128k上)是為第一次平台遷移;後來放棄使用摩托羅拉68k處理器,改用PowerPC處理器,則是為第二次平台遷移。迄今Apple仍然是業界裡唯一一家成功完成了核心部件平台遷移的企業,歷史上其他嘗試過類似平台遷移的企業最終均以失敗告終,如Commodore雅達利(Atari)、Acorn Computers迪吉多(Digital)、SGIKaypro[2][3]

Apple的最初發佈的新聞稿預計平台遷移將會在2006年6月開始行動,之後在2007年末結束,而實際上Apple的平台遷移進行得比料想中快得多。首代配備了Intel處理器的Mac電腦於2006年1月就正式推出,史提夫·喬布斯在2006年8月推出配備Intel處理器的Mac Pro時表示,硬件的平台遷移已進入最後階段:Apple將會在2006年10月推出最後一款需要遷移至Intel平台的產品─Xserve[4] 最終新版Xserve伺服器於2006年12月推出,硬體層面的Intel平台遷移此時宣告完結。[5]

Apple於2009年8月28日推出了僅支援Intel處理器的Mac OS X 10.6 Snow Leopard,正式在新版作業系統中去除對PowerPC架構Mac電腦的支援,但仍然留有Rosetta等執行PowerPC應用程式所需的系統元件[6]。2011年推出的Mac OS X 10.7 Lion則不再支援Rosetta。

時間線[编辑]

  • 2005年6月6日:Apple在WWDC大會上正式公布其Intel平台遷移計畫,並為Apple Developer Connection中部分及高級會員提供開發者過渡工具,售價$999美元(該套工具實際上是一台使用Power Mac G5外殼及配備信任平台模塊(TPM, Trust Platform Module)的電腦)。[7]
  • 2006年1月10日:史提夫·喬布斯宣布推出首代使用Intel處理器的Mac電腦,分別為15吋MacBook Pro及全新的iMac Core Duo產品線,兩種電腦均配備了Intel Core Duo處理器,並允許開發者使用之前購買的開發者過渡工具來替換一台全新的iMac
  • 2006年2月28日:史提夫·喬布斯宣布Mac mini產品線日後均將配備Intel Core處理器,用戶可選擇購買單核版本(Solo)或雙核(Duo)版本。
  • 2006年4月5日:Apple宣布推出Boot Camp,該軟體工具將允許用戶在配備了Intel處理器的Mac電腦上執行原生的Windows XP作業系統。[8]
  • 2006年4月24日:Apple推出全新的17吋MacBook Pro,取代原有的17吋PowerBook
  • 2006年4月27日:Intel宣布Core微處理核心處理器的普及速度將會比原先預料要快幾個月。
  • 2006年5月16日: Apple推出13吋MacBook,取代原有的iBook產品線及12吋PowerBook
  • 2006年6月26日:Intel推出專為伺服器工作站設計的Xeon 5100系列處理器。[9]
  • 2006年7月5日:Apple宣布推出一款特殊配置的iMac,專攻教育市場,取代原有的G4 eMac
  • 2006年8月7日:「遷移完成」─Apple在WWDC大會上宣布將會推出配備Intel Xeon 5100系列處理器的Mac ProXserve產品,替代原有Power Mac G5Xserve G5產品,硬體遷移階段即將完成。
  • 2009年8月28日:Apple正式推出Mac OS X 10.6 Snow Leopard,首款不支援PowerPC系列電腦[10]Mac OS X作業系統

往例[编辑]

在1994年到1996年期間,Mac電腦產品線同樣完成了一次類似的硬件平台遷移,此時Apple選擇了停止繼續使用摩托羅拉推出的68K處理器,改用由AIM聯盟AppleIBM摩托羅拉)共同開發推出的PowerPC處理器。這一次的平台遷移花費了數年時間,期間Apple推出了可以同時運行在68K處理器及PowerPC處理器的Mac OS作業系統,並為配備了PowerPC處理器的Mac電腦製作了底層的模擬器,鼓勵第三方開發商製作能夠原生運作在兩個平台的程式(因為該種程式程式碼肥大,又被用戶暱稱為「fat binaries」)。

稍後幾年,Apple更是將全線Mac電腦的作業系統,自原有的Mac OS遷移至全新的Mac OS X之中。該次平台遷移同樣花費了數年時間(小部分舊款Mac電腦依然使用早期的Mac OS作業系統),Apple其後在作業系統中集成的Classic環境使用戶可以方便地遷移至新的作業系統環境。Classic環境允許用戶在Mac OS X生成一個Mac OS 9實例,在Mac OS X上執行一些未經移植的Mac OS 9程式。Apple同時還為Mac OS 9及Mac OS X推出Carbon API,讓開發者可以更簡易地為兩個平台開發程式。

事實上,Apple為每代Mac OS X同時開發了Intel版本及PowerPC版本,而且還保留了對上代NeXTSTEP作業系統的兼容性。Apple並沒有透漏過曾為哪些硬件平台開發過作業系統,而近年推出的iOS行動作業系統,修改自原有的OS X計畫,則顯而易見地是運作在ARM平台之上。

遷移原因[编辑]

史提夫·喬布斯表示,Apple遷移電腦產品硬件平台的主要原因是對IBM在PowerPC技術的開發進展上感到失望,同時相信Intel可以在日後可以更好地滿足Apple的需要與部署。在Intel提供的發展路線圖當中,史提夫·喬布斯曾特別指出,如果按照消耗的能源來作對比基準,以瓦特來作單位,Intel處理器的表現要遠遠佳於PowerPC處理器的性能。[11] 而在手提電腦設計裡,這是一個非常重要的考慮因素,這一性能指標將嚴重影響電腦的電池壽命與使用時間。

2003年6月,史提夫·喬布斯在推出配備PowerPC G5處理器的Mac時曾許諾,在十二個月內會將PowerPC處理器的時鐘頻率提昇至高達3 GHz。而實際上即便是在兩年之後,Apple與IBM依然未能將3 GHz的PowerPC處理器投入市場,市場上的流言認為這一尷尬的局面是IBM其POWER4衍生芯片組的低良品率所造成的。此外,配備在Mac手提電腦上的PowerPC處理器,在運作時產生的巨大熱量,也廣被同時期的業界詬病。[12]

一些分析師曾預料Apple會與另一家x86處理器生產商AMD展開合作。然而與Intel相比,AMD缺少優良的低能耗CPU設計,相信這是Apple放棄與AMD合作的最終原因。[11]

優點[编辑]

最初,如要在Mac上執行x86軟體,需要類似如DOSBoxMicrosoft Virtual PC這一類的虛擬化軟體。在Apple的電腦產品遷移至Intel平台之後,這一類軟體(如Parallels Desktop for MacVMware Fusion)如今將可以透過虛擬化技術,提供更接近原生速度的虛擬環境。希望達致更方便的部署環境的用戶,透過在配備x86處理器的Mac上使用Boot Camp軟體,甚至可以劃分兩個、三個、甚至是四個啟動磁區,來原生啟動各種作業系統

雖然大多數遊戲使用Mac OS X無法利用的DirectX API,但遷移至Intel平台之後,開發者明顯可以更方便地製作出獨立的系統代碼,如透過使用OpenGL。至少開發者無需再處理移植至PowerPC平台時遇到的端序問題(Endian)與指令集依賴問題。

通用二進制[编辑]

為了減輕開發人員移植平台時的負擔,Apple推出了通用二進制程式代碼,使應用程式能以原生形式運行在使用PowerPC或者Intel微處理器(x86)的Mac電腦上,在同一個程序包中同時為兩種架構提供最理想的性能。通用二進制與Apple的Intel平台遷移計畫同時在2005年WWDC大會上公布,開發者在轉用Intel平台的Mac電腦後,可以使用通用二進制來發佈同時適合新舊Mac電腦使用的應用程式。當程式在Mac OS X中執行後,作業系統將自動檢測通用二進制程式碼,然後根據使用的硬體架構自動選擇合適的程式碼來執行,因此實現原生的本地程式運行速度。因為同時包含了兩套架構的程式碼,通用二進制應用程式的大小要比普通版本的大一些。

Xcode是唯一一個可以編譯通用二進制代碼的GUI工具,在Xcode 2.4之中,Apple進一步擴充了通用二進制程式碼的功能,引入「四架構二進制」概念(對應Intel及PowerPC平台的32位元及64位元版本),使支援64位元運算的PowerPC G5處理器在Apple正式遷移至Intel平台後的歲月裡依然可以發揮餘熱。

隨着去除PowerPC支援的Mac OS X Snow Leopard的發佈,部分應用程式已經去除了對PowerPC處理器的支援。

遷移Intel平台前後Mac手提電腦銷量對照[编辑]

Macsales zh.png

遷移的障礙[编辑]

公眾對平台遷移的反應[编辑]

Apple宣布遷移至Intel平台後推出了過渡方案Rosetta─一套PowerPC的動態轉譯器,用戶可以通過使用Rosetta在配備Intel處理器的Mac上執行PowerPC應用程式。[13] 然而,在Rosetta最初公布的時候,其實際效能僅有G3處理器的60%~80%。除此之外,在PowerPC Mac中,為虛擬Mac OS 9環境而設的Classic環境,在遷移至x86平台之後也將不復存在,使得新的配備了Intel處理器的Mac電腦無法執行最原始的Mac OS Classic應用程式(然而,用戶可以使用由第三方開發者推出的虛擬軟件,如SheepShaver,來虛擬一台執行Mac OS 9的Mac電腦)。 也有用戶質疑,Intel處理器甚至是x86架構其本身的性能是否足夠強大,平台遷移會否影響到作業系統的性能與應用程式品質。除此之外用戶關注的問題還包括:Intel平台上的記憶體端序順序,以及應用程式實作時,相比同等級別或同時代PowerPC處理器的浮點運算性能下降。

在Apple正式推出配備Intel處理器的Mac電腦之前,用戶社群曾有不少疑惑(如擔心過早公布遷移事項會造成恐慌效應,導致產品滯銷;或是擔心主導USB標準的Intel會要求Apple停止在新型Mac電腦上使用Apple自行研發的FireWire硬體介面),但最終均被證明全是莫需有的擔心,Apple最終很好地處理了平台遷移事務上的過渡。

Apple在Macworld 2006正式發佈首款配備Intel處理器的Mac電腦,用戶心中的疑惑大多都隨著正式產品的推出而煙消雲散[14]。Rosetta在正式面世時得到了大幅改進,實際的執行效率比最初演示的速度要快得多。(當然,在Intel Core Duo iMac之下,使用Rosetta執行PowerPC程式碼的速度依然比不上G5 iMac的速度。)Intel的Core Duo處理器其實際性能,在Mac OS X上的表現幾乎可以與原先的Power Mac G5桌上型電腦媲美。Intel處理器在整數運算及浮點運算SPECmark測試之中的表現,甚至還超越了2005年的G5 iMac型號。

可以同時在Intel Mac和PowerPC Mac運作的應用程式(如Safari網頁瀏覽器),在Intel平台上的代碼其執行效率要優於在PowerPC平台上的性能。然而,與PowerPC Mac相比,配備了Intel處理器的新型Mac電腦卻無法直接執行Classic環境的應用程式。如果需要在Intel Mac上執行Mac OS X推出之前的Classic應用程式,則只能使用第三方開發者推出的虛擬工具,如vMac、Basilisk II、SheepShaver等,這些工具或多或少都受到硬件或軟件架構上的制限,功能及穩定性不足。

公眾之前對平台遷移計畫的疑惑在Apple實際推出產品之後旋即煙消雲散,財報顯示在2006年的聖誕購物季裡面,Apple的Mac機銷量比上一年同期大幅增長。而「Intel Inside」這一類通常在Intel OEM客戶產品上會出現的標示,也從沒出現在任何Apple產品之上。

硬體[编辑]

外界一直不了解在整個平台遷移過程之中,Apple保留了多少非處理元件的系統設計權重。Apple傳統上是一個整合系統的建造商,一些評論擔心Apple的工業設計理念會受到其他通用部件的設計方式而影響。對此持不同意見的人則指出,Apple事實上正逐步使用與PC一致的通用部件(如於1995年為Power Mac添加的PCI介面插座[15]),轉用非Apple設計的晶片組與產品設計,並未影響到Mac的實際表現效能與形象。

配備Intel處理器的Mac在產品軔體上選用了全新的Intel技術─可延伸韌體介面(EFI)─而非以往Apple一直使用的Open Firmware技術。採用EFI技術的電腦,無需再倚賴普通PC上的BIOS元件,就可以同時提供到更多的可延伸性功能。[16]

遷移至x86架構也使得Windows可以原生運行在Apple硬體上,開發者也可以嘗試使用Wine的組件來直接在Mac OS X上執行Windows應用程式。有人認為,Mac OS X用戶自此可以在配備了Intel處理器的Mac上安裝多一個Windows作業系統,或使用Wine(或其變體CrossOver Mac或Darwine)執行Windows應用程式,會使得Mac OS X在軟體開發的布局裡變得沒那麼重要。反對者則表示,遷移至Intel平台對Mac OS X來說利大於弊:希望轉用Mac電腦的用戶現在購買Mac之後,不必離開現有的PC作業系統,即可一睹Mac OS X的芳容。也有用戶提出,Apple的電腦在遷移至Intel平台之後是否可以算作是一台普通PC的討論,Apple對此則表示,不會允許普通PC執行Mac OS X[17],因此遷移至Intel平台後的Mac依然有其獨特性,不能算作是一台普通PC。對此限制,民間則建立了一些社群,嘗試在普通PC上安裝並執行Mac OS X,該計畫被稱為OSx86計畫或Hackintosh(中文社群時常將其稱為「黑蘋果[18])。

Boot Camp[编辑]

在Apple推出Boot Camp軟體前,用戶與開發者普遍認為,因Windows XP並不支援EFI軔體架構,因而無法在新款的Intel Mac上使用[19][20],微軟在回答用戶疑問時則表示,32位元版本的Windows Vista並不支援EFI軔體架構,但可以透過安裝最新版的Boot Camp軟體,讓Windows Vista運行在Intel Mac之上。

在以往的Mac社群當中,Intel處理器往往被視為又熱又慢的產品(尤其是奔騰4處理器)。在1990年代末,Apple甚至還拍攝過一部名為「烤兔子」[21] 的廣告來諷刺奔騰處理器的發熱問題與性能。然而,專為手提電腦設計的奔騰M系列處理器,運作時的溫度則一直要比奔騰4處理器涼快得多。Apple聲稱,Intel推出的新款Intel Core處理器,乃是基於原有的奔騰M微架構,若以能源消耗作對比基準,以瓦特來作基本對照單位,Intel新款處理器的表現要比PowerPC G5甚至是G4都要好得多。

對是次平台遷移抱負面態度的人士認為,x86並非一個良好的選擇,較PowerPC相比,Intel的x86處理器缺少硬體暫存器,且也不支援PowerPC的AltiVec技術。支持者則聲稱,x86架構自8086處理器最初推出時已經過大量改進與發展,CPU內部的設計隨著時間的推進,也開始融合起精簡指令集複雜指令集其雙方的設計理念,與以往的處理器設計早已完全不一樣。他們還認為,SSE指令集在未來的改進,最終有可能發展得比AltiVec技術更為優越。

Intel Core Solo與Intel Core Duo處理器均屬32位元設計。2006年8月7日,Apple推出首款採用Xeon處理器的64位元架構Mac ProXserve產品。到了2007年8月7日,Apple旗下所有電腦產品線均已更新至支援64位元運算的Intel Core 2 Duo處理器。

按當時的性能基準來比較,Intel Core 2 Duo處理器的性能在32位元運算之下,並沒有比Intel Core Duo處理器要優秀很多,其64位元架構的性能優勢,直至Mac OS X 10.6 Snow Leopard面世才真正得以發揮出來。在配備了64位元Intel處理器的Mac電腦裡面,用戶也可以安裝Windows 7使用完整的64位元模式來啟動電腦。

現有的PowerPC應用軟件[编辑]

運行在直譯器上的Java應用程式(不依賴於Java原生介面的)、Dashboard Widget、及工序指令無需改動即可同時運作在兩種系統上[22]。無法遷移至Intel平台的Mac OS X應用程式,其代碼若需要在Intel Mac上使用,將會自動傳送至PowerPC動態轉譯器「Rosetta」中執行。Rosetta最初僅支援G3的指令集,但後來經Apple改進,目前支援AltiVec技術以及G4的指令集,僅餘下G5處理器的附加指令集並未提供支援[23],因此必須基於G5處理器的應用程序無法使用在Rosetta上執行。即便已是相當老舊的程式版本,絕大多數使用G4指令集以下的應用程式都可以無誤地直接在Rosetta上正常運作,如於2003年推出的Internet Explorer for Mac 5.2.3Rosetta是一個類似先前允許PowerPC Mac電腦在68k模擬器中執行舊程式的指令轉譯器。與Classic環境不同的是,Rosetta並不需要在啟動程式前預先開啟一個子系統即可馬上工作。

配備Intel處理器的Mac電腦正在執行PowerPC應用程式Internet Explorer for Mac

AltiVec技術Mac OS Panther起本身已被封裝成一個向量程式庫,該向量程式庫在PowerPC平台上會調用AltiVec技術,在x86平台上則使用SSE指令集

新版Xcode已支援同時為Intel及PowerPC平台的Mac電腦編譯通用二進制代碼。Cocoa應用程式如需製作通用二進制版本代碼,只需要檢查一下端序問題,並重新編譯一次即可完成移植。Carbon應用程式移植時可能需要一些額外的調整,但其複雜程度遠比從Mac OS 9過渡至Mac OS X時低。使用Metrowers CodeWarrior套件編寫的應用程式則可能需要大幅修改,Apple與Metrowerks稱使用PowerPlant的應用程式稍作修改即可完成移植。

採用x86架構的Mac電腦將不再支援Classic環境。配備了Intel處理器的Mac將無法再直接執行Mac OS Classic環境的軟體。然而,配備了Intel處理器的Mac電腦,可以選擇安裝Mini vMac、Basilisk II及SheepShaver來虛擬一個Mac OS Classic環境的作業系統,以此來執行某些舊式程式。

參考資料[编辑]

外部連結[编辑]