
ISA 擴展槽: IBM PC 硬件擴展設計的瘋狂哲學
1981 年 8 月,IBM 發表了 Personal Computer。這部機器的主機板上排列著 5 條擴展槽,連接著一排排金色觸點。當時這些槽叫「PC Bus」,後來人們給它一個更響亮的名字:ISA。
ISA 的全稱是 Industry Standard Architecture。它並非一開始就存在。1981 年 IBM PC 推出時,主機板上的 PC Bus 是 8-bit 設計,適配 PC/XT 系列的擴展卡。到了 1984 年,IBM 推出 PC/AT,搭載 Intel 80286 處理器,擴展槽也升級為 16-bit 的 AT Bus。這個 16-bit 版本就是後來被業界正式稱為 ISA 的標準。兩種槽的物理長度不同:8-bit 卡較短,16-bit 卡多出一截金手指,可以向下兼容 8-bit 槽位。
規格數據
ISA Bus 的技術規格以今天的標準看來相當基礎。時脈頻率為 8.33 MHz,數據寬度 16-bit,理論上最大傳輸速率約 8 MB/s。作為對比,現時 PCIe 4.0 x16 的傳輸带宽約 31.5 GB/s,差距接近四千倍。不過在 1980 年代,8 MB/s 已經足以應付大部分擴展設備的需求。
當年的擴展卡生態
ISA 擴展槽支持的硬件種類相當豐富。顯示卡方面,從最早的 CGA(Color Graphics Adapter)、EGA(Enhanced Graphics Adapter)到 VGA(Video Graphics Array),都透過 ISA 槽與系統連接。除了顯示輸出,記憶體擴充卡也是常見配件,因為早期 PC 主機板上的 RAM 容量有限,使用者需要額外加装擴充卡來增加系統記憶體。RS-232 串口卡則提供與外部設備的通訊能力,用於連接數據機或印表機。硬碟控制器卡更是硬碟運作的必要橋樑,因為當年的硬碟無法直接連接主機板,必須透過專用控制器卡才能運作。
開放架構的深遠影響
IBM 在設計 PC 時做了一個關鍵決策:採用開放架構。他們公開了 PC Bus 的規格文件,讓第三方廠商可以根據規格自行設計擴展卡。這個決定催生了整個 PC 兼容機市場。Compaq、Dell 等公司按照公開規格製造兼容機器,各種 ISA 擴展卡如同百花齊放。可以說,沒有這個開放架構決策,就沒有後來的 PC 產業格局。
簡單卻麻煩的設計哲學
ISA Bus 的設計哲學非常直接:簡單、低成本、可擴展。這套架構沒有複雜的協議層,信號線直連 CPU,開發門檻低。然而,這種簡單也帶來一個麻煩:ISA 缺乏自動配置機制。使用者安裝擴展卡時,必須手動設定 DIP 開關或跳線(jumper),為每張卡分配 IRQ(中斷請求)和 I/O 位址。如果兩張卡使用了相同的 IRQ,系統就會衝突崩潰。當時的電腦用戶幾乎都要備一本設定手冊,記錄每個槽位的中斷分配情況。
為何 ISA 卡那麼長?為何金手指分兩段?
ISA 卡的物理尺寸在所有擴展卡標準中算是偏大的一種。這其實是歷史遺留的設計。早期 PC 的機箱內部空間充足,擴展卡承載的元器件也多,需要較長的 PCB 來安放電路。金手指分為兩段,短的對應 8-bit 信號區,長的延伸部分對應 16-bit AT Bus 新增的信號線。這樣 8-bit 卡可以插進 16-bit 槽,而 16-bit 卡也能向下兼容 8-bit 槽(雖然只能運行在 8-bit 模式)。這種物理兼容設計在當時是务實的選擇,讓升級過渡更順利。
ISA 的後繼者們
ISA Bus 服役了相當長的時間,但技術终究需要迭代。IBM 在 1987 年推出了 MCA(Micro Channel Architecture),嘗試打造一套全新的封閉擴展標準。MCA 具備自動配置能力和更高的性能,但 IBM 要求兼容機廠商支付授權費,且不向後兼容 ISA。市場沒有買單,MCA 最終成為一個失敗的嘗試。
業界隨後推出了 EISA(Extended Industry Standard Architecture)作為 ISA 的 32-bit 升級方案,保持了向後兼容。之後還有 VLB(VESA Local Bus),主要用於提升顯示卡和硬碟控制器的帶宽。1993 年,Intel 推出 PCI(Peripheral Component Interconnect),這套標終於統一了 PC 擴展槽的格局。PCI 支持即插即用(Plug and Play),自動分配資源,彻底告別了手動設定 DIP 開關的時代。
ISA 的歷史意義
ISA Bus 定義了 PC 擴展的基本概念:一條標準化的插槽,一張可插拔的擴展卡,一套公開的介面規格。這個概念從 1981 年一直延續到今日的 PCIe。雖然規格和性能已有天壤之別,但「插槽加擴展卡」的擴展模式並沒有根本改變。從某個角度看,每次打開電腦機箱,看到主機板上排列的 PCIe 槽位時,你看到的其實是 ISA 留下的設計遺傳。
