1978:8086 與 x86 — 一條指令集的四十一年王朝#
案情#
1978 年 6 月 8 日,Intel 發表 8086:16 位元 CPU,29,000 顆電晶體,3 µm 製程,時脈 5–10 MHz,內含 16 位元暫存器與 20 位元位址匯流排(可定址 1 MB)。設計團隊由 Stephen Morse 主導架構定義。1979 年的 8088 以 8 位元外匯流排降低成本,1981 年被 IBM PC 採用,開啟 x86 指令集長達四十餘年的統治。
前因#
- 1974 年 8080 成為 8 位元微處理器霸主,但 Zilog Z80(1976)與 Motorola 68000(1979)步步進逼。
- Intel 當時主業仍是 DRAM,被日本廠商以低價圍剿;微處理器只是二線業務。
- 8086 的原始需求其實來自「老客戶想要 16 位元的 8080」——為了讓 8080 的組合語言程式易於移植,Intel 選擇「相容性」而非「最優雅」的架構。
- Morse 主張用變長指令與分段記憶體,在有限電晶體數下兼顧效能與定址範圍。
線索與推理#
偵探指出,8086 的勝利不在技術最優,而在「包袱的最小代價」。
線索一:分段記憶體是權宜之計。當時 DRAM 單顆 16K bit,1 MB 定址被認為「綽綽有餘」。Intel 用 16 位元「段暫存器 × 16 + 偏移」拼出 20 位元位址:
這避免了 24 或 32 位元位址的電晶體成本,卻埋下日後「640K 恐懼」與真實模式的歷史包袱。
線索二:8088 的「降級」反而是升級。8088 外部只有 8 位元匯流排,可搭配當時便宜的 8 位元週邊晶片。IBM PC 採用它,是為了用既有 8 位元晶片組快速出貨。偵探指出:x86 王朝的第一個皇帝,其實是被挑來「省錢」的。
線索三:IBM 的合約疏漏。IBM 選擇「開放式架構」:發布 PC 技術手冊、允許第三方擴充卡,卻忘了對 BIOS 做法律保護。1984 年 Compaq 逆向工程 BIOS 成功,相容機(clone)大門打開,Intel 與 Microsoft 成為最大贏家。
線索四:軟體鎖定。x86 統治的黏著劑不是性能,而是「已安裝基礎」:數十億行組合語言、C 程式、作業系統都與 x86 介面綁定。每一次升級都繼承舊軟體,每一次遷移都重付成本——經濟學上的「轉換成本鎖定」。
理論#
x86 指令集演進表:
| 年份 | 晶片 | 位元 | 電晶體數 | 關鍵新特性 |
|---|---|---|---|---|
| 1978 | 8086 | 16 | 29,000 | 分段 1 MB 定址 |
| 1979 | 8088 | 16 | 29,000 | 8 位元外匯流排(IBM PC) |
| 1982 | 80286 | 16 | 134,000 | 保護模式、16 MB 定址 |
| 1985 | 80386 | 32 | 275,000 | 平面定址、4 GB、虛擬 8086 |
| 1989 | 80486 | 32 | 1.2 M | 內建 FPU、管線化 |
| 1993 | Pentium | 32 | 3.1 M | 超純量、MMX(1997) |
| 1995 | Pentium Pro | 32 | 5.5 M | 亂序執行、P6 微架構 |
| 2003 | Athlon 64 | 64 | 105 M | AMD 推出 x86-64(反攻) |
| 2006 | Core 2 | 64 | 291 M | 多核化、SSE4 |
| 2020s | Sapphire Rapids 等 | 64 | 數十億 | AVX-512、AI 加速指令 |
x86-64 由 AMD 於 2003 年定案(AMD64),Intel 被迫跟進——這是王朝中唯一一次「諸侯造反成功」。
指令長度可變(1–15 bytes)的代價與收益:
後果#
- IBM PC 與相容機確立 Wintel 聯盟,主宰 PC 市場至今。
- RISC 陣營(MIPS、Alpha、SPARC、PowerPC)在 1990-2000 年代陸續退場;僅 ARM 在行動裝置存活,2020 年 Apple M1 證明 RISC 桌上型可行。
- Intel 因 x86 壟斷而坐大,也因固守此遺產錯失行動晶片浪潮。
- 2020 年代 x86 與 ARM 在 PC 與伺服器市場正面交鋒,王朝首次出現真正的裂縫。
冷案檔案#
- 時間:1978-06-08 發表 8086;1981-08-12 IBM PC 採用 8088
- 案由:為相容 8080 而設計的權宜架構,成為史上最長壽的指令集
- 歷史定位:x86 是產業史上「路徑依賴」的終極證據——不最優,但最被愛。