蘋果處理器之前世:30多年前的多核心多線程幢影與蘋果「水瓶座」四核心處理器計劃
2022-10-18 12:34:04 technews(臺) 作者:癡漢水球也許這次了無新意的iPhone 14 發布會,并沒有替果粉「充值信仰」,但2019 年4 月30 日,一份出現在網絡的網絡檔案館(Internet Archive)、1989 年發布、內容多達220 頁的蘋果機密文件(或許能當成一本書),披露的「水瓶座」(Aquarius)計劃、「天蝎座」(Scorpius)處理器架構規格、預定實作的「心宿二」(Antares)處理器,精彩橋段與后繼影響,可能遠比歷史任何iPhone 更有「激勵士氣」效果──即使當時就是根本不可能成真的天方夜譚。
三個代號:「水瓶座」(計劃名稱)、「天蝎座」(技術規格)、「心宿二」(產品實作)。坦白講,一次用三個名字實在有點多余。
支持16 處理器與分散式實體存儲器(Non-Uniform Memory Access,NUMA)環境。
4GB 可定址存儲器空間。
看起來很像「四核心」的4 個功能相同處理單元(Processing Unit,PU),透過5×4 Crossbar 互通有無,共享指令快取存儲器、數據快取存儲器、與存儲器管理單元。因為所有核心實際上必須在相同存儲器定址空間執行,單核心概念近似「硬件線程」,如我們熟知的同時多線程(SMT)。
每個處理單元各有16 個32 位元通用數據暫存器(GPR)和7 個區域特殊用途暫存器(Local SPR),所有處理單元再共用2 個程序計數器(PC,分別標定「目前」和「下一個」指令所在存儲器位址)和8 個全域特殊用途暫存器(Global SPR)。
4 個處理單元可彈性執行SIMD(單指令處理多筆數據)、MISD(多指令處理單一數據)和MIMD(多指令處理多筆數據)三種平行運算模式,讓人眼睛一亮。
單一處理單元可在「某些場合」達成「某種程度」超標量流水線,也就是同時執行兩個指令。
運算元格式仍是A = A + B(雙運算元),而不是有更佳暫存器利用效率的A = B + C(三運算元)。
保有古老RISC 常見的分支延遲槽(Branch Delay Slot),始終執行分支后的指令。這對單一指令流水線不會造成麻煩,但當要加深流水線并實做超標量時,要填充的「槽」將不只一個,造成提高指令調度的困難度。
缺少浮點運算單元,在1986 年不是主要問題(反正大多數人也沒有),但缺乏前瞻性。當PowerPC 601 問世,內建浮點運算早是標準配備。
推薦:回顧歷史夢幻處理器系列