詹・阿姆達爾:System/360 的架構沙皇#
南達科他農場的孩子#
吉恩・「吉恩」(Gene)・阿姆達爾(Gene Myron Amdahl)一九二二年十一月十六日生於南達科他州弗蘭德斯堡(Flandreau)附近的農家,父親是挪威裔農民,家中五個孩子排行老大。經濟大蕭條中的農場生活磨出了他一生的兩種性格:對資源的極度節省——痛恨計算資源被閒置或浪費——以及敢於和牛比力氣、不肯認輸的頑固。他在農場讀完高中,珍珠港事變後中斷學業,一九四三至一九四六年在美國海軍操作雷達與武器系統;退伍後重返校園,先在南達科他州立學院補足課業,再到威斯康辛大學攻讀理論物理。他的博士論文竟是「設計並建造一台數位電腦」——WISC(Wisconsin Integrally Synchronized Computer)——一種用自己造的機器來證明設計能力的罕見開場。
IBM 的新人:704 與 Stretch 的教訓#
一九五二年六月,阿姆達爾面試後被 IBM 挖角。他先參與 IBM 704 的邏輯設計:那是一台以硬體浮點運算配 Fortran 工程計算而聞名的早期商用電腦;阿姆達爾在團隊裡嶄露頭角,作風是「性能極限未弄清楚絕不簽字」。一九五〇年代後半他參與了 IBM 的超級電腦計畫 Stretch(IBM 7030):Stretch 技術驚艷(前瞻執行、多流水線等概念都有雛形),最終只賣出八台,還被克雷(Seymour Cray)以更精簡且便宜的 CDC 6600 打敗。這一課讓阿姆達爾確信:性能來自取捨,而非技術堆疊;他對會議室裡「多加幾個電路就能更快」的提案從此有一種本能的敵意。
System/360:架構的三分法與「架構沙皇」#
一九六一年他被召回波基普西(Poughkeepsie)主持新型電腦的先期規劃,逐步醞釀出一個整套革命性的構想:用一套統一的「架構」(architecture),讓不同速度、不同價格的多款機器共用同一套指令集與周邊介面。他將電腦設計明確分成三層——架構(指令集的邏輯定義)、實作(邏輯與機箱設計)、技術(電晶體與電路)——並主張架構應獨立於實作與技術而長期穩定:用戶的軟體投資一旦寫在這套 ISA 上,就可以在 IBM 的入門到大大型任何機器上跑。「相容性」從此成為現代資訊產業的運行法則。
當時的 IBM 內部狀況是:八百多種互相不相容的產品、數條各有山頭的產品線,每個部門都捍衛自家機器。一九六一年成立、一九六四年定案的 SPREAD 規劃小組鋪陳了整個賭局,而阿姆達爾則以「架構沙皇」之姿逐條裁決指令集的取捨:科學與商用指令必須合流、字元編碼必須用 EBCDIC 定案、小機器的經濟性必須讓步於統一指令集——他屢屢在會議中打斷別人:「這是錯的」,然後在黑板上用幾近粗魯的算術說明白為什麼。
一九六四年四月七日,System/360 發表:六款處理器(Model 30 到 Model 75)、共同 ISA、共同周邊。意義深遠的是,「升級」第一次意味著「換新機器但不用換軟體」——企業從此可以在不重寫程式的前提下隨需求擴容。這是資訊技術真正打進企業財務結構核心的關鍵一步,也是 Amdahl 架構三分法在產業史上最成功的落地。
敢於頂撞的性格#
阿姆達爾在 IBM 的同事都記得他「頂撞上層」的作風:他會在問題討論會中直接在黑板上寫出一組界限公式,然後問眾人要不要簽字;在性能目標的取捨上他直接和老闆拍桌。有人形容他就像農場上那頭不動的牛——你推不動他,除非你證明自己算得比他精。他的頑固在 System/360 內部既成就了統一架構的勝利,也埋下了日後離開的伏筆:他主張固守 360 架構、持續深化性能,但 IBM 高層有他一再衝撞的計畫期待。他最後選擇離開——而下一章,就從 1970 年的出走說起。