主目錄 | 其他文章

熱門專題

apple『改嫁』又關Sony事?探討三部主機採用PowerPC晶片的種種問題
文:傑特

  首先得說清楚,各位不需重看本誌封面,這本是《GameWatch》沒錯,而不是《MacPeople》,不過基於兩個原因所以筆者將這篇文章放到這裡刊登:第一是這次apple放棄IBM的PowerPC 970系晶片而改用intel晶片,有很大部份的原因是關乎Sony、Microsoft和任天堂不約而同地改用IBM產品,所以換了從這三家公司的角度來看是很有一寫的價值的,其次就是筆者另一個身份卻是Macintosh部門的專欄作家,不利用這點優勢寫文章還待可時?

  

為什麼apple會放棄PowerPC晶片?

  自從1990年apple、IBM和Motolora合作開發發PowerPC計畫之後,apple的主機一直都使用PowerPC晶片作為電腦的CPU,甚至到達到將Mac和PowerPC畫成等號的地步。事實上PowerPC晶片的水準十向都相當高,特別是2004年發達的PowerPC 970、即G5之後更將IBM的名望推到高峰。不過在這之前其實IBM已經和Sony、東芝合作開發代號『Cell』的第三代Playstation核心晶片。另一方面任天堂也一直有採用IBM的產品,現在GameCube的CPU正正是PowerPC 750CXe,而下一代“Revolution”也會繼續採用同一系統產品,再加上Microsoft的XBox360,也就是說IBM已經獨霸了現時市場上所有家用遊戲機的晶片生產市場了。

  但另一邊,IBM卻一直無法按照apple的要求提供3G Hz或以上的PowerPC 970,尤其PPC970的操作溫度極高,單看G5的機箱用那麼多散熱設計,就會明白PPC970的熱量如何地驚人。所以即使IBM很努力地提升時脈,但仍然無法突破3G MHz的技術關口,這也做成無法提供更快的產品給apple,而要逼著採用成本更高的雙CPU設計。 至於雙核心設計的PowerPC 970MP更要到明年才可以量產化,更是緩不濟急。

  更嚴重的問題是現時最賺錢的手提電腦方面,原本預定今年年初就得推出的PowerBook G5﹣其實是去年發表G5時apple CEO Steve Jobs表示會在一年內推出Powerbook G5,但最離譜是雙核心低電壓、預定作為Powerbook G5 CPU的PowerPC 970FX到現在竟然仍無法解決量產化的問題!相反,Intel在手提電腦用CPU領域上一直都是專家,從他們的Centrino行動運算技術到傳聞會成為新apple notebook(由於不再採用PowerPC晶片,所以下一代的apple notebook會不會改名仍是未知數)的CPU、代號Yonah的雙核心版Pentium M,在理上apple實在有太充足的理由放棄用了十多年的PowerPC而轉用Inlel的產品。

  至於情感上的問題,一直以來都是IBM的忠實盟友的apple,卻發現IBM沒法提供最好的產品給自己的餘,竟然將比現時G5更好的PowerPC晶片(最少在表面上)給Sony和Microsoft!教人懷疑IBM不是作不到更好的晶片給apple,而是故意留下最好的產品給Sony和Microsoft,這種和背叛沒兩樣的行為雖然沒有實証,但已足夠apple決定脫離IBM、還要在WWDC之前的三日才通知IBM不再採用他們的產品以作報復。

  關於apple方面到此為止,不然這文章會變成apple專題,現在我們將視線由apple轉去IBM那裡了。

  

生產遊戲機CPU本少利大

  對於IBM來說,在商言商,他們將資源重點投放在遊戲機市場絕對是無可厚非。首先是遊戲機不同電腦,電腦在用家不斷追求更快的情況下,晶片廠必需不斷投資更多的資源去開發更好的產品。但遊戲機卻沒有這種壓力,一部遊戲再短命都有四年左右的壽命,長起來更可以有六、七年的壽命,也就是說在這段時間之內晶片廠根本不需氶資更多的資源去開發更好的產品,只需想法壓低成本、增加產量就行,對於晶片廠這絕對是大好事。

  另一方面,遊戲機的銷售數字也不是電腦可以相比的,即使apple的銷量有所提升,但一年也不過賣一二百萬台G5,就算全部都是雙CPU的設計也不過五六百萬,但遊戲機可能只需半年就已經到達這個數字!以現時PS2的銷量數字計算,PS3只要賣上兩年可能就多過歷來所有G4電腦晶片的銷量總數了。再加上Microsoft和任天堂,數字只會更驚人。其實這也沒有什麼奇怪的,一部apple電腦再便宜、不計Mac mini其他的也要七千以上,但遊戲機可卻二千多!最重要是玩割價的是Microsoft和Sony,IBM不管你賣一部賠一部,他錢照收,這樣IBM豈有不大發其財之理?

  

製作遊戲機晶片較容易

  至於IBM能夠提供比給apple更好的產品給三家遊戲機生產商,除了陰謀論之外,另一原因就是遊戲機的晶片其實遠比製作電腦用的晶片來得更容易。

  一部電腦由於要處理各種各樣的工作,所以不可避免地需要各種特別的功能來處理煩重的工作。但遊戲機卻完全沒有這種考慮的必要,像現在電腦上必備的多工(Muti-Tasking)運作,在遊戲機上根本沒有這種處理上的需要,系統每次只需處理一個遊戲的資料,所有功能都是遊戲軟件負責,如果要連上網路對戰就得在遊戲程式上編寫,一切都和硬作無關。對於一般遊戲來說,同一時間處理數個執行緒thread已經算是比較多,但隨便一部電腦卻動不動就數十個thread(因為OS往往有一大堆系統常駐程式在幕後執行),設計者只需要將每一個thread的執行作得效率、更快就可以了,還已經有人分析XBox 360的CPU雖然速度遠較G5晶片來得快,但每一次能處理的資料卻要少一些,顯然是針對遊戲機的功能而作出的特別性設計,這當然遠比要設計給電腦用的晶片來得簡單,而晶片產生的熱量既小體積也較小,要放到小小的遊戲機殼內也自然輕易得多,而設計晶片自然會簡單許多,尤其是當系統將所有資源都全給了遊戲的話,即使是差一點的晶片依然能發揮更強的威力。像當年SEGA的Model3採用的晶片只不過是Power PC 603ev 166Mhz,但表現已是十分厲害,而即使今天來看仍是相當強的NAOMI 2採用的也不過是Hitachi SH-4 200 MHz,還不是IBM、Intel這些傳統晶片大廠呢!足見遊戲機的晶片其實是遠比作電腦用的晶片來得簡單,出現的問題自然也比較少,自然可以更加精簡。所以XBox 360才的PowerPC可以來個三核心加3.2 GHz,而PS3的Cell更誇張,來個七核心!

  附帶一提,有人以為以Cell或者XBox 360的晶片如果放到電腦上一定會有超強的能力,但正如之前所說的,由於遊戲機的晶片和電腦晶片根本是有著不同的功用而設計的,所以如果交換的話並不見得一定合用,甚至會出現效能比起低一級的晶片更不如的結果出現。至於現在XBox 360採用G5來示範只是在無可奈何的情況下作採用,而很多實際上能在XBox 360上出現的特效都沒法在G5上出現,不然你以為連員工用iPod都不許的Microsoft會這麼大刺刺的使用G5來作XBox 360作展示嗎?

  

一次開發就以作出三個版本?

  當apple轉用Intel晶片之後,很多人都會想以後可能會有更多廠商將PC的軟件轉給Mac,甚至直接將PC的軟件放到Mac上運作。同樣道理,既然三部主機都採用PowerPC晶片,以後能不能將XBox 360的軟件放到PS3或者Revolution執行?或者沒那麼誇張,廠商只要開發一次,略為改一些,重新編譯compile就可以推出多個主機的版本,就像Steve Jobs宣稱製作X86用的Mac軟件,只要在運用了Universal Binary技術的XCode 2.1上一按個選項就可以同時作出PPC和X86版本的軟件那樣。

  很抱歉,事實是近乎不可能,因為軟件和遊戲其實並不是直接和CPU談話的,而是需要經過一大堆東西:以Mac OS X為例,先是軟體元件層Framework、再到系統的服務層Service、再經過系統的核心Kernel才到硬件那一關,才可以透過這一大堆東西來存取硬件的各種功能,像Windows的遊戲現在是不會直接和CPU、GPU通話,而是經過像Direct X這類影音控制軟件來使用晶片上的圖像、音效功能,好處是開發者不需要現去管採用什麼CPU、GPU甚至底版網路晶片,管你使用ATI還是nVidia,只要硬件開發商照著指示開發出支援Direct X的硬件,遊戲軟件就自然可以用到,完全不必煩惱。但缺點就是由於每一套系統都有他的一套,並和其他系統不相通,所以就算是用同一套硬件,只是架在上面的系統不一樣,不相通就是不相通,Windows的軟件不能放到Mac上跑,PS3的遊戲也不能拿到Xbox 360上玩,即使重新編譯由於每套系統都有其專屬的設計,所以要設計一套可以同時編譯出三部主機皆通用的編譯軟件是十分困難的事。

  那直接跳過系統來存取硬件功能如何?別開玩笑了,一但要跳過系統而直接和硬件溝通,這往往得動用到組合語言Assembly language才可以,至於現在的一般程式語言其實都是需要經由系統去處理的,雖然效率較低但卻簡單得多,而組合語言雖然效率驚人而且體積小,但難度卻是極高,除了比較常見的情況是由於要作出開發系統沒有提供、但硬件可以作出的工作,所以需要動用到組合語言來編寫程式而會用到之外,筆者不認為有幾個遊戲開發者會這麼閒做這種吃力不討的工作,反正沒有什麼是用一般程式語言是解決不了的,何苦幹這種自虐的工作?將遊戲重新編譯成其他主機的版本還可能來得更簡單呢!

  apple做到是因為一來他們早有開發X86 Mac OS X,二來硬件需變但軟件層卻仍是那一個OS X,只要改一些關乎硬件上的設計就可以了,其他由OS X的開發部門來搞定 。但三部主機卻剛好相反,硬件雖然都是同一粒晶片,但軟件層卻天差地遠,而且連各自底版都不盡相同,加上各系統的開發系統也不相同,所以移稙遊戲仍是困難重重的問題。

  

雖是同根生,內外皆不同

  從以上各點來看,雖說三部主機都是採用PowerPC的晶片,算是兄弟,但實際卻大不相同,各有各的硬件設計、OS、開發系統,因此遊戲開發者並沒有變得更輕鬆,仍是需要每一部主機都花上一大堆時間去學習如何制作出優秀的遊戲。

  更可以想像的是,將會有更多遊戲廠商用回一些較舊的技術去開發遊戲,真正可以和主機性能匹配的遊戲會很少。

  不過,這和現在的PS2又有什麼不一樣?寫到這裡,筆者實在懷疑有沒有換主機的需要了,用一部頂級主機玩舊世代的水準的遊戲,想起來就覺得笨了...


(原文刊於遊戲週刊《GameWatch》,本筆者是該刊自由主筆,要多支持哦!)


主目錄 | 其他文章