(修訂)從 Power Mac G5 回顧 RISC 與 CISC 處理器的戰爭

作者 | 發布日期 2017 年 09 月 15 日 13:14 | 分類 Apple , Microsoft , 晶片 follow us in feedly

聽說包著科技外皮的法務公司 Oracle「終於」要抬著 Solaris 和 SPARC 種去埋了,精簡指令集歷史又被撕掉了一頁。喂,都忘了 SPARC 還有 Fujitsu 還在勉力奮鬥跟 IBM Power 打對台嗎?



喔齁。

RISC 處理器在伺服器與工作站市場的退潮,基本上在 1990 年代末期,就早已失去任何逆勢攔阻的可能(Intel Itanium 算是反向操作後,自己玩死自己),連帶 RISC 處理器的個人電腦也一同殉情,本世紀初期 Apple 的 Power Mac 僅為餘暉,而心臟 PowerPC 970(G5)則為 RISC 桌上型處理器的絕響。

▲ PowerPC 970FX 處理器。(Source:By Ryanbutterworth (Wkipedia) [GFDL or CC-BY-SA-3.0], via Wikimedia Commons

筆者亦有幸在擔任某週刊技術編輯時,跟 Apple 原廠陸續借測報導數款搭載 PowerPC 的系統產品,包含 2003 年先後各一台「由 Steve Jobs 在 WWDC 法會,開示世界上首款 64 位元且效能最好的個人電腦」Power Mac G5 和稍晚後發的雙處理器版、2004 年測試 Xserve G5 與搭配的外接磁碟陣列 Xserve RAID,2004 年底被 IBM 抓去北京的 Power Everywhere 佈道大會、實際體驗藍色巨人的洗腦功力,與 2005 年製作商用筆電採購特輯的 PowerBook G4。那張在紅外線熱偵測儀下一覽無遺紅通通的熱區分佈,事隔十多年,至今仍讓筆者津津有味。

筆者還依稀記得台灣 Apple 原廠動輒動員數人協助送貨兼開箱兼初次安裝設定,受寵若驚,當然在蘋果帝國號令世界的當下,是絕對沒可能了。

揮舞著第二次 Power Everywhere 的大旗(筆者堅定認為推動 PowerPC 的 AIM 聯盟,就有資格算第一槍),瞄準個人電腦市場企圖進一步開疆拓土的 IBM,當初的野心可是很想搞很大呢。

不要問我為何 IBM「當時」會公佈如此誇張的時脈,拜託,Intel 那時喊得更凶好不好?

跟 Intel 力拚最先進泛用處理器製程、爭奪超高時脈標竿的藍色巨人,還為了自家的刀鋒伺服器與 Apple 的 PowerMac,公佈了驚世駭俗的前瞻計畫:

  • PowerPC 975 將採用 11 層銅導線布線製程。
  • PowerPC 976 導入預應變矽(Strained Silicon)SOI 晶圓。
  • PowerPC 980 引進 3D 垂直結構的鰭式場效電晶體(FinFET),這可是驚天動地的大事,事實證明,FinFET 真正廣泛應用,是十多年後才發生的事情。

以下跟製程無關:

  • PowerPC 975 支援同時多執行緒(SMT),反正都沿用威力十足的 Power5 核心了,但沒有 AltiVec,Apple 應不會採用,會是 IBM 刀鋒伺服器限定的型號。
  • PowerPC 976 支援 VMX2(AltiVec 2,按慣例,Apple 應會改稱 Velocity Engine 2 吧)SIMD 延伸指令集,應為 PowerPC 975 更新製程後的小改款。

何等壯大的「產品簡報」,隨著 Apple 在 2005 年宣布抽腿不玩 PowerPC,而自動消失在世界的盡頭,奠基於威鎮四方 Power5 核心的 PowerPC 975 沒有出現。

那下面呢?下面就沒有了,傳說已久的 PowerBook G5,只聞樓梯響,不見人下來,接著就上映 Apple 夜奔敵營叛逃萬惡 Intel x86 處理器的番外篇,正義的 RISC 十字軍,不敵邪惡的 CISC 惡魔黨,深感時不我與,令人不勝唏噓。

▲ 2006 年蘋果於 Macworld 中宣布採用英特爾處理器,當時英特爾執行長保羅·歐德寧(Paul Ottelini)身穿防塵衣上台為賈伯斯送上晶圓造勢。(Source:TechNews 資料照片)

算了吧,RISC 只在個人電腦市場曇花一現,根本跟指令集是否複雜精簡無關,純粹只能寄生於 IBM Power 伺服器產品開發時程的 PowerPC,根本被靠著 Windows 個人電腦的巨大市場需求為馬力、在九彎十八拐山路拚飆速拚個你死我活的 x86 雙雄 Intel、AMD,甩到連車尾燈都看不到了。

更不幸的,Apple 做出「The Decision」(關心 NBA 的讀者一定看得懂這個老梗)當下,剛剛好是 Intel 正執行鐘擺戰略,對靠 K8 大啖高獲利伺服器市場後打嗝不止的 AMD,發動帝國大反擊的心理關鍵時刻。

坦白講,稍有常識的正常人,看在血淋淋殘酷現實的份上,拋棄 IBM 轉靠 Intel 是唯一可做出的合理決定。有被自家軟體和完整服務綁死的龐大企業客戶罩著,IBM Power 產品線推出時間拖個一年半載,頂多被客戶罵一罵也不痛不癢,他們也不太敢冒著營運中斷風險而琵琶別抱,但同樣場景轉到消費市場,你家就燒起來了。

我們再回頭看看,就理想面和現實面的雙重角度,Apple 使用 PowerPC 碰到哪些問題,這也是 RISC 與 CISC 處理器戰爭的縮影。

先來看看 RISC 的學理面,所謂精簡指令集的優越性。

當筆者只是準備進大學由我玩 4 年的高三生時,某晚擠在往回家路上的公車,從同一個英文補習班的國中時代死黨口中,首次聽聞「RISC」和 PowerPC,那時對電腦根本一竅不通,殘留於記憶深處,唯一留下的印象只有:

「我們常見的 PC CPU,像 386、486 等等,都是 CISC。但 IBM 主導的 PowerPC,是 RISC,指令集比較精簡,比較先進,所以效能會比較好。」

「如果擔心跟 Windows(那時候還沒有 Windows 95)和 DOS 相容性的問題,後面會有一顆 PowerPC 615,硬體直接支援 x86 指令集。」

結果筆者人生的第一台電腦乖乖買單顆台幣 10,500 元的 Pentium 120,只為了和其他人一起使用 OS/2 和 Windows 95,缺乏微軟力挺的 PowerPC 615 也沒有問世,依後見之明,照那個晶片規格,就算出了,也是絕對是窮學生買不起的天價。

隨著逐漸「懂事」,才慢慢理解 RISC 的起源與訴求,可簡述為以下幾條:

  • 受制於杯水車薪的記憶體容量與盤古開天的製造工藝,古早電腦的指令集須以微碼打造,且指令集設計以讓程式設計者直接使用為思考前提(可想成用指令集做到接近高階程式語言的複雜操作),一路疊床架屋出各式各樣的複雜功能指令與靈活多樣的運算元定址模式,連帶催生千奇百怪的指令編碼長度,DEC VAX 是此類「CISC」的經典案例。假以時日,處理器市場走上競逐高效能、低成本的修羅道,指令集將是積重難返的包袱。
  • 記憶體單位價格隨著容量激增持續下滑,隨之帶動編譯器技術的進步,讓高階程式語言實用化,降低了直接撰寫機器碼的需求,加上電腦須走向低價普及,電腦要更小、更快、更便宜、又能高效率地執行用高階程式語言編寫的程式,「RISC 革命」實乃水到渠成,即使 CISC 是 RISC 一詞誕生後,才被發明的「對照組」。
  • 超大型積體電路(VLSI)蓬勃發展,讓處理器的控制單元,逐漸擺脫微碼和由其組成的微程式,轉向直接硬體線路控制的方式。
  • RISC 精簡的是指令的格式,如固定指令編碼長度與簡化定址模式,並非意謂減少指令的數量與單一指令的功能。
  • 指令編碼長度不固定、格式混亂,對設計控制單元的中斷例外處理,會帶來很大的麻煩,所以精簡指令格式可降低處理器控制單元的複雜度,把有限的電晶體預算,砸到立竿見影提昇效能的刀口上,如提昇輸出率(指令管線化)、縮小 CPU 和記憶體的速度差距(快取記憶體)、降低分支傷害(分支預測)、指令平行處理(超純量)、提高運行時脈(超管線)、減少因暫存器相依性(非循序指令執行)等等。
  • 拜精簡指令集簡化控制單元設計、亦縮短產品開發驗證時間之所賜,上述諸多在近 20 年內普及於泛用處理器的實作加速機制,幾乎清一色率先以 RISC 處理器為初試啼聲的載具。
  • 因此,就商業競爭的角度,RISC 的必殺技是「Time To Market」。
  • 隱藏在 RISC 革命背後的精神,可簡化成「Make The Common Case Fast」,盡可能加速常見的工作。
  • 高階語言編譯器的行為模式也滿符合 80 / 20 原則,而 RISC 指令集的大型化暫存器檔案,與限制載入儲存指令存取記憶體,也是時代背景下的產物。
  • 近代以 AMD K5、Intel P6 為首「將複雜 x86 指令轉譯為近似 RISC 微指令」的先進高效能 x86 微架構,說穿了也是 Make The Common Case Fast 原則的信奉者:資料路徑針對常用的簡單指令最佳化,不常用的複雜指令,則不追求效率,僅維持執行正確性即可,以實現優異的時脈速率。

▲ CISC(complex instruction set computer)與 RISC(educed instruction set computer)對比。

這些常識,電腦組織結構教科書都一字不漏寫得清清楚楚,而 Unix 系統大廠自行打造的高性能 RISC 處理器,支配高階伺服器市場,也是自然而然的演進。或著倒過來說,他們支配了市場,賺取了豐碩的利潤,才有打造自家晶片的本錢。

那麼,為何扣除 IBM Power、MIPS 與一票鍵盤大師正汲汲營營草撰墓誌銘的 SPARC,這票沒有成功向下深耕,進軍個人電腦市場舊時代 RISC 貴族,一個接著一個葬身於 CISC 蠻族 x86 體系之手?

畢竟到後來,Intel、AMD 仰仗龐大個人電腦市場需求而千錘百鍊出來的製程技術與研發能量,太過巨大,足足抵銷掉 RISC 該享有的強項還綽綽有餘。

簡而言之,RISC 貴族沒有那個「量」去支撐越來越昂貴的先進製程投資與產品研發開銷,就算找晶圓代工(Alpha 末期就有轉包給 Intel 生產),自己花大錢研製需求沒多少的高階處理器,在 IT 產業的利潤持之以恆往奈米化努力推進的時代,只會顯得越來越不划算。HP 放棄 PA-RISC 和併購 DEC 而來的 Alpha,改用 Itanium,到頭來,還得乖乖推出 Xeon 的 Superdome X,背後含意不言可喻。

問題來了,為什麼連唯一成功搶灘的 PowerPC 也一同壯烈犧牲?其後台還是製程技術傲視業界的藍色巨人?

  • 不提 Unix 伺服器市場,有誰相信十幾年前市場佔有率不足 2% 的 PowerMac 出貨量,足以養活 IBM 的高階 PowerPC?靠 IBM Power 硬撐?人家 IBM 就是覺得 Power 量不夠,想把餅做大,才會去吃飽閒閒,跑去推動 PowerPC 和 Power Everywhere。
  • 論軟體,除了專業美工繪圖排版和音樂創作,那時 Mac OS 沒有其他明顯優於 Windows 的殺手級應用,不足以吸引大量 Wintel 用戶帶槍投靠。
  • 講的更直白一點:PowerPC 沒有成熟 Windows 和 Office 等桌面應用程式可用,那時的 Linux Distribution 和 Office 替代品也不成氣候(筆者在當時已身體力行,使用 Open Office 為主要文書編輯工具),和遊戲市場缺乏緊密連結,更是壓死駱駝的最後一根稻草,偏偏使用 DirectX 開發遊戲的供應商只會越來越多。

「人家可是和高階伺服器王者 Power 系出同源耶,光效能就能活活打死 x86 蠻族了」,Apple 自行公佈的效能白皮書的長條圖是很漂亮沒錯,但實情真是如此嗎?長期穩定的效能競爭領先,難道是只靠硬體就可以硬幹出來的嗎?

先來瞻仰某個當年的 Cinebench 效能測試,其測試指標是基於繪製 shadow map 計算的所需時間。

Cinebench 開發商 Maxon 的說法是:尚未為 PowerPC G5 最佳化,搞定調整工作後,兩顆 G5 的 CB Rating 可達 500 分,相當於 50 餘秒,而事後的產品測試也補考及格(50.1 秒),但請各位憑著良心坦白問自己:這數據有很厲害嗎?

更何況,這也暴露出一個潛在的弱點:應用程式開發平台的競爭力與完整度,也是封印頂尖硬體潛能的緊箍咒。

Power Mac G5 2003 年 6 月在 WWDC 發表,但為 G5 優化的 XL C/C++ 及 XL Fortran 編譯器,其 Mac OS X 測試版 8 月才開放下載,明顯慢了很多拍,而 Power Mac 在個人電腦市場上的對手,其軟體開發資源卻擁有一年一億多台的出貨量作為後盾,差距顯而易見,IBM Power 在伺服器領域表現出來壓倒性效能優勢,是很難被桌上型市場的 PowerPC 完美繼承的。好死不死,PowerMac 的末期,恰巧是以Intel以自家編譯器,瘋狂壓榨出自產自銷 x86 處理器的底力,在各類效能測試標竿大殺四方的高潮。

全世界都知道論 SIMD 延伸指令集擴充,根本輪不到 AMD 這個生父在推土機世代就棄養的 3DNow!,連 Intel SSE2 都遠遠比不上 PowerPC 的初代 AltiVec,但應用程式未能充分利用,都是白搭。只不過,就算被物盡其用了,恐怕也無力挽回整體市場的頹勢。

馬上把天下無敵的 IBM Power8、Power9 拖出來,東砍西砍成桌機處理器的形狀,論整體市場競爭力,也必定打不過現在的 Intel AMD 產品,很多事情並不是只有效能而已。

總之,難以降尊紆貴、稱霸早期高階伺服器市場的昔日 RISC 貴族,無法「舊時王謝堂前燕,飛入尋常百姓家」,就註定慘遭如同法國大革命,被由下而上崛起的「全民軍隊」徹底壓垮,PowerPC 在 Apple Mac 的短暫旅程,僅為 RISC 處理器在伺服器大崩盤後的拖棚歹戲,在桌機市場最終以悲劇收場的延續戰爭。

其實「回顧 RISC 與 CISC 處理器的戰爭」是極度龐大且環環相扣的史詩級交響曲,絕非區區數千字即可醍醐灌頂,歷史上的 RISC 如過江之鯽,現存於世的 CISC 又不是只有 x86,起碼 IBM 大型主機還活得頭好壯壯,而且 CISC 的經典,好 VAX,不寫嗎?

撰寫此文的初衷,僅投映出筆者眼中 RISC 處理器苟延殘喘於個人電腦的暮光殘影,回顧技術看似先進,卻終究不敵市場現實的血淚教訓。有時候,遺忘,並不是壞事,總比留下錯誤的印象好上千百倍。

革命尚未成功,同志仍須努力。現在就等著瞧瞧,開始享有微軟加持的 ARM 陣營,距初代 Power Mac 相隔超過 20 年後,能不能在個人電腦市場再挑戰 x86 一次,如果市場發生顛覆個人電腦的典範轉移,那就更有趣了。

(首圖來源:By Bernie Kohl (Own work) [CC0], via Wikimedia Commons) 

關鍵字: , , , , , , , ,