跳轉到

1965 摩爾定律#

案發現場#

1965 年 4 月 19 日,《電子學》期刊(Electronics Magazine)三十五週年特刊。快捷半導體(Fairchild)研發主管戈登·摩爾(Gordon Moore, 1929–2023)應邀撰文預測半導體產業的未來。他手上的證據只有五年多的曲線:1959 年每晶片 1 個元件,到 1965 年約 60 個。他畫了一條線,寫下日後統治矽產業半世紀的預言:

「晶片上的元件數量,大約每年翻一倍,而且這個趨勢在可見的未來還會持續。」

十年後(1975)他把速率修正為「每兩年翻一倍」,這條曲線被稱為摩爾定律。它不是物理定律(不像 1687-牛頓原理.md 或 1865-麥克斯韋方程組.md),而是對技術曲線的經驗歸納——卻反過來成為整個產業的「預言與指令」。

偵查過程#

線索一:證據——五年多的曲線。 摩爾的偵查手法是純粹的工程歸納:把每年問世的最複雜晶片的元件數畝在對數座標上,發現是一條直線——指數增長。1959 年諾宜斯的平面製程(1958-積體電路.md)證明電路可以「印刷」,這條曲線的引擎已經點火。

線索二:物理根源——光刻的縮影。 指數增長的物理來源是「特徵尺寸」的指數縮小:光刻波長從可見光到深紫外、極紫外(EUV),每代縮小約 0.7 倍,晶片面積增長、電路密度每兩年翻倍。這是「技術⚙」環節的自我複製:每代光刻機造出更密的晶片,賺的錢反過來買更精的光刻機——迴路轉速的指數曲線。

線索三:從歸納到指令。 摩爾定律最深遠的一跳,是它反過來成為產業的規劃工具:英特爾(摩爾與諾宜斯 1968 年創辦)等公司把「兩年翻倍」寫進研發路線圖(ITRS),全產業依路線圖同步推進——不做這麼快就出局。歸納出的曲線成為自證預言:因為大家都相信並照辦,它就成真了。這是金觀濤「理論—實驗—技術」迴路的一個變體:「經驗歸納→產業指令→技術投入→曲線應驗」的循環。

線索四:曲線的副產品。 摩爾定律驅動下,計算成本暴跌:ENIAC(1946-ENIAC.md)的三萬倍計算能力如今價值不及一粒米。這條曲線把 1971-微處理器.md、1981-IBM PC.md、2007-智慧型手機.md 的整條路鋪好,也讓深度學習的算力爆炸(2012-深度學習革命.md)成為可能。

結案報告#

摩爾定律屬於迴路的技術→理論環節——對技術曲線的經驗歸納,反過來成為產業的預言與指令。其深遠遺產:

  1. 經驗曲線成為自證預言——半世紀以來全產業照路線圖推進,指數曲線應驗至今;這是「迴路反過來塑造參與者」的罕見案例。
  2. 計算成本的暴跌——知識複製成本(古騰堡)→ 電路複製成本(IC)→ 計算成本(摩爾):迴路升級的每一跳都是「複製成本」的暴跌。
  3. 迴路載體的指數加速——第八幕「指數加速」的主題在此定格:電晶體(1947)→ IC(1958)→ 微處理器(1971)→ 個人電腦 → 智慧型手機 → 深度學習,每步的間隔越來越短。
  4. 曲線的極限——特徵尺寸已逼近原子(數奈米),摩爾定律的物理終點在即;產業正轉向多晶片、異構計算、新材料——迴路的下一步待解。

證據與工具#

# 偵查證物:摩爾定律曲線 — 每兩年翻一倍的指數增長
import math

# 實測數據(每晶片電晶體數,約值)
data = [
    (1971, 2300),    # Intel 4004([1971-微處理器.md])
    (1982, 134000),  # Intel 286
    (1993, 3.1e6),   # Pentium
    (2000, 4.2e7),   # Pentium 4
    (2010, 1.2e9),   # 桌上型四核心
    (2020, 2.8e10),  # 伺服器多核心晶片
]

print("--- 摩爾定律:每晶片電晶體數 ---")
for y, n in data:
    print(f"{y}: {n:.1e} 個")

# 對數座標下的線性檢驗
ln_n = [math.log(n) for _, n in data]
years = [y for y, _ in data]
slope = (ln_n[-1] - ln_n[0]) / (years[-1] - years[0])
doubling_years = math.log(2) / slope
print(f"\n對數斜率:每年成長 {math.exp(slope)-1:.0%}")
print(f"倍增週期:約 {doubling_years:.1f} 年(摩爾 1975 年修正值:2 年)")

# 偵查證物二:計算成本暴跌 — ENIAC 到現在
eniac_per_sec, modern_per_sec = 5000, 1e12
print(f"\n計算力:ENIAC {eniac_per_sec} 次/秒 → 現代晶片 {modern_per_sec:.0e} 次/秒")
print(f"漲幅 {modern_per_sec/eniac_per_sec:.1e} 倍 —— 這條曲線鋪好了整條資訊路")