請更新您的瀏覽器

您使用的瀏覽器版本較舊,已不再受支援。建議您更新瀏覽器版本,以獲得最佳使用體驗。

科技

回顧歷史夢幻處理器:多核心多執行緒幢影與蘋果「水瓶座」四核心處理器計畫(1980 年代後期)

科技新報

更新於 2022年09月12日15:24 • 發布於 2022年09月13日08:00

也許這次了無新意的 iPhone 14 發表會,並沒有替果粉「充值信仰」,但 2019 年 4 月 30 日,一份出現在網路網路檔案館(Internet Archive)、1989 年發表、內容多達 220 頁的蘋果機密文件(或許能當成一本書),披露的「水瓶座」(Aquarius)計畫、「天蠍座」(Scorpius)處理器架構規格、預定實作的「心宿二」(Antares)處理器,精彩橋段與後繼影響,可能遠比歷史任何 iPhone 更有「激勵士氣」效果──即使當時就是根本不可能成真的天方夜譚。

▲ 蘋果 1986 年啟動的「水瓶座」計畫堪稱多核心、多執行緒先驅,但如英特爾「單晶片超級電腦」iAPX432,太多概念都不是那時代的技術能消受。

了解蘋果歷史的人應當都記得賈伯斯(Steve Jobs)這聯合創始人,1985 年與董事會和執行長史考利(John Sculley)權力鬥爭而離開公司,帶著幾名員工創立 NeXT,1997 年隨蘋果併購 NeXT 重返舊地擔任執行長,重振瀕臨破產的蘋果,並讓基於 NeXTSTEP 作業系統(Mach 微核心)的 Mac OS X(現稱 macOS)取代最初 Mac OS。

水瓶座:對續影響引發連鎖反應的低調計劃

一長串故事背後,卻是由蘋果如何取得「Motorola MC68000 處理器的 RISC 繼承者」驅動,經歷蘋果啟動「水瓶座」計畫展開自研處理器專案、「捷豹」(Jaguar)計畫試圖使用現成 RISC 處理器 Motorola MC88110 打造執行全新 Unix 作業系統「Mach」的 Mac 產品線、NeXT 追隨蘋果腳步從 MC88110 轉向 PowerPC 等。更重要的是,這直接促成 ARM 成立,很少人記得蘋果曾是 ARM 最大股東。

1986 年,採用 MC68000 處理器的 Mac 乍看依然強勢,但 RISC 風潮興起後(MIPS R2000 登場於 1985 年),逐漸失去競爭優勢。繼賈伯斯被趕出蘋果時接管 Mac 產品線的部門負責人 Jean-Louis Gassée(這位法國巴黎人後來成立 Be 公司開發出 BeOS 並筆耕不輟,在吐納商業評論持續有授權連載翻譯)和部門首席工程師 Sam Holland,成功說服執行長 John Sculley「應當使用自研處理器,以牢牢掌握自己的命運」(嗯,有股熟悉的感覺),啟動 Holland 負責的「水瓶座」計畫,籌組 50 名員工團隊,並購買一台價格 1,500 萬美元(等於 2019 年的 3,500 萬元)Cray 超級電腦。因巨額開銷必須提列財報,無法隱瞞,所以蘋果給投資人的說法是「用來做機構建模」。

儘管有執行長 Sculley 和法國人 Gassée 強力支持,水瓶座計畫也理所當然引起爭議,不僅需大量投資研發,更有不少員工不相信蘋果有足夠技術能力做出如假包換的產品,意思就是「蘋果再有錢也做不出來」。Holland 制定的「天蠍座」處理器架構,就如英特爾「單晶片大型主機」iAPX 432,更造成當時經驗最豐富的大型晶片設計公司也難以克服(就算今天大概也解決不了)的諸多技術難題。

到了 1988 年,水瓶座計畫依舊停在紙上談兵的「簡報王」階段,失去耐心的執行長 Sculley 撤換 Holland,由傳奇人物 Allan Alcorn(以在 Atari 創作第一個電子遊戲《Pong》聞名)取代。他向微處理器專家 Hugh Martin 諮詢水瓶座計畫的可行性,後者讀完整個天蠍座處理器架構規格後,給了 Sculley 和 Alcorn「荒謬」(ridiculous)的結論。

因此 1989 年,Sculley 中止水瓶座計畫,並聘請 Martin 設計採用現有 RISC 處理器的全新 Mac 產品線,領導的「捷豹」(Jaguar)計畫和另一位資深工程師 Jack McHenry 的「干邑」(Cognac)計畫,成果是改用 Motorola MC88100 處理器的試作型 Mac,作業系統也是基於 Mach 微核心的 Unix。類似 Motorola MC88000與 MC68000 的政治鬥爭,RISC 化的 Mac 也不見容既有 MC68000 體系 Mac 的工程團隊,對蘋果來說,不幸的是 Sculley 沒有能力解決組織爭鬥,讓此案功敗垂成,卻也奠定日後 Power Mac 的基礎,包含 PowerPC 處理器執行的 MC68000 模擬器。

至於現在閒置於蘋果舊總部綠谷(Green Valley)3 號大樓的 Cray 超級電腦,拿去做知名《Pensil Test》動畫後,就如蘋果最初搪塞投資人的藉口,挪去給工業設計團隊做機構建模。

既然蘋果自己想做處理器做不出來,「砍掉重練」作業系統也五五六六,為何不直接「站在巨人的肩膀上」,與「軟硬兼備」的大廠「送作堆」?身為捷豹計畫核心人物的 Hugh Martin 就支持蘋果與 Sun 合併,提供客戶更全面的電腦平台,從文書處理一路到工程師專用高階工作站,這事當然沒有成真,雖然從 Solaris 衍生的 Mac OS 好像真的很酷。

值得一提的是,福特汽車之所以膽敢承諾 Motorola 以「10 億美元」購買基於 MC88000 的微控制器 (無疾而終的 MC88300),原因明顯來自蘋果的剛性需求,支撐這系列處理器研發。當蘋果與 IBM 和 Motorola 組成 AIM 聯盟後,福特汽車也自然轉向 PowerPC,影響開發下一代工作站的 NeXT,確立未來 Unix 化的 Mac OS X。

總而言之,Apple Music 裡的 Aquarius Project 並不是蘋果史上第一個「Aquarius Project」,Mac OS X 10.2(代號 Jaguar)並不是蘋果史上第一個「Jaguar」,Mac OS X 更不是蘋果史上第一個採用 Mach 微核心的作業系統。

▲「水瓶座」計畫目標可實作多達 16 顆處理器的 NUMA(Non-Uniform Memory Access)平台,每顆處理器都有專用主記憶體,但如何實做快取資料一致性就是天大的難題。

不可能達成的規格終究是不可能

前面講了這麼多故事,差不多該進入本文主角:水瓶座計畫。由大到小,規格簡述如下:

  • 三個代號:「水瓶座」(計畫名稱)、「天蠍座」(技術規格)、「心宿二」(產品實作)。坦白講,一次用三個名字實在有點多餘。

  • 支援 16 處理器與分散式實體記憶體(Non-Uniform Memory Access,NUMA)環境。

  • 32 位元 RISC 處理器。

  • 4GB 可定址記憶體空間。

  • 看起來很像「四核心」的 4 個功能相同處理單元(Processing Unit,PU),透過 5×4 Crossbar 互通有無,共享指令快取記憶體、資料快取記憶體、與記憶體管理單元。因為所有核心實際上必須在相同記憶體定址空間執行,單核心概念近似「硬體執行緒」,如我們熟知的同時多執行緒(SMT)。

  • 每個處理單元各有 16 個 32 位元通用資料暫存器(GPR)和 7 個區域特殊用途暫存器(Local SPR),所有處理單元再共用 2 個程式計數器(PC,分別標定「目前」和「下一個」指令所在記憶體位址)和 8 個全域特殊用途暫存器(Global SPR)。

  • 4 個處理單元可彈性執行 SIMD(單指令處理多筆資料)、MISD(多指令處理單一資料)和 MIMD(多指令處理多筆資料)三種平行運算模式,讓人眼睛一亮。

▲ 水瓶座四個處理單元可任意組合成 SIMD、MISD 或 MIMD 運算型態,非常有創意。

  • 單一處理單元可在「某些場合」達成「某種程度」超純量管線,也就是同時執行兩個指令。

  • 有一系列快取記憶體控制指令,很可能借鑑 HP 的 PA-RISC

以上種種,無不是超越時代十年以上的先進思路,但畢竟水瓶座計畫是 1980 年代產物,也勢必受那時某些「觀念包袱」拘束,如:

  • 指令編碼長度僅 16 位元,意味蘋果極度重視指令碼密度,這點很「嵌入式」風格,也嚴重限制運算元和暫存器數量。

▲ 16 位元指令編碼長度嚴重侷限指令集功能與擴充性,導致低效率雙運算元指令格式與數量不足的 16 個通用資料暫存器。

  • 運算元格式仍是 A = A + B(雙運算元),而不是有更佳暫存器利用效率的 A = B + C(三運算元)。

  • 保有古老 RISC 常見的分支延遲槽(Branch Delay Slot),始終執行分支後的指令。這對單一指令管線不會造成麻煩,但當要加深管線並實做超純量時,要填充的「槽」將不只一個,造成提高指令調度的困難度。

  • 缺少浮點運算單元,在 1986 年不是主要問題 (反正大多數人也沒有),但缺乏前瞻性。當 PowerPC 601 問世,內建浮點運算早是標準配備。

  • 最後也是筆者對天蠍座技術規格最大的質疑點:蘋果企圖創造具多處理棄延展性的平台,對重中之重的快取資料一致性(Cache Coherence),卻沒有相關協定(Protocol)的描述,似乎想藉用大量快取記憶體控制指令的軟體手段達成。若蘋果的確這麼想,真實世界效率想必慘不忍睹。光憑這點,就足以證明「荒謬」的程度。

一家不成,就多找幾家

蘋果從一連串「偉大的實驗」得到的慘痛教訓,莫過於「自己做不出來還不如找人一起合作」,接著就不知不覺推動了歷史巨輪,環環相扣,與 Apple Silicon 的起源有千絲萬縷淵源。

1990 年 11 月 27 日,蘋果、Acorn RISC Machine(最初的 ARM 全名)和 VLSI 共同組建 Advanced RISC Machines(現在的 ARM,1998 年 IPO 後改名 ARM Ltd.)公司,蘋果擁有高達 43% 股份。1993 年著名的失敗作 Newton MessagePad 是蘋果第一個使用 ARM 處理器的產品。

▲ 1993 年 Newton MessagePad 是蘋果第一個使用 ARM 指令集相容處理器(ARM 610)的產品,也刺激 DEC 發展高效能 ARM 處理器的動力,促使 StrongARM 和 XScale 誕生。

剛好這年 ARM 改變業務策略,轉做技術授權,帶頭逐步建立無晶圓廠晶片設計公司、晶圓代工業者和電子輔助設計(EDA)工具「三位一體」,也是現在我們熟悉的半導體產業樣貌。但由於蘋果 1990 年代財務不佳,陸陸續續出脫 ARM 股票。假如蘋果一直握有 43% 股份,時下世界線絕對大不相同。

蘋果也跟「其他人」的 ARM 有某種奇特關聯。1990 年蘋果眼見自己做處理器毫無指望,老夥伴 Motorola 的 RISC 大冒險之路又走得險象環生,一度對充滿傳奇色彩的效能王者 DEC Alpha 處理器深感興趣。但蘋果被 DEC 拒絕是一回事,看到 Apple Newton 進入市場,讓 DEC 產生進軍低功耗處理器的念頭,那又是另一回事。

DEC 主動接洽蘋果,詢問是否對高效能 ARM 處理器感興趣,只得到「你們做不到,但如果你們能做,我們可能會用。」(You can′t do it, but, yeah, if you could we′d use it.)的曖昧回覆,於是 DEC 跟 ARM 一拍既合,「最強 ARM 處理器」StrongARM 就這樣誕生了,並成為英特爾的 XScale。

換言之,處理器業界追求「能耗比」1990 年代初期就開始了,才不是最近幾年的新鮮事。賈伯斯會在 2005 年邀請英特爾執行長 Paul Otellini 設計第一代 iPhone 的行動處理器,理由確實顯而易見(打從一開始,DEC 本來就要為蘋果做 StrongARM),絕非某些網路「高見」聲稱蘋果要找英特爾研製「可滿足 iPhone 需求的 x86 處理器」(有點常識也知道這完全不可能,更何況 Atom在 2008 年才面世)。初代 StrongARM 處理器 SA-110 主要設計者之一晶片設計大師 Daniel W. Dobberpuhl,2003 年成立 P.A Semi,後變成 Apple Silicon 研發團隊的骨幹。

行文至此,請問各位──尤其是「果粉」──有沒有茅塞頓開、恍然大悟之感慨?看似天馬行空、不著邊際的「水瓶座」計畫,竟然引爆如此連鎖反應,進而塑造我們認知的計算機產業和封閉蘋果園。

已故戰略史大師紐先鍾曾在《第二次世界大戰德國三大名將回憶錄重印前記》結尾,寫下「經常有人指出歷史比小說更奇妙,而我則說讀名將回憶錄要比看任何小說都更過癮」之句,建構我們日常科技生活的計算機工業演進史,難道不也是這樣?

(首圖來源:Unsplash

0 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0
reaction icon 0