硬體專用化(hardware specialization)
把工具想成一條光譜,從瑞士刀到單一用途的機器。瑞士刀很靈活——很多工作都能做得還行——但對任何單一工作,專用工具都更快更俐落。一座裝瓶廠的封蓋機什麼都不做、只封瓶蓋,而它的速度是任何拿手工具的人都追不上的。硬體專用化就是刻意沿這條光譜,從「什麼都做得還行」往「把一件事做到極致」移動,以靈活性換取在選定工作負載上的速度與能效。
具體來說,專用化是讓加速器與領域專用架構運作的槓桿,而要推到多遠也有一整條光譜。CPU 最靈活:它什麼程式都能跑,但把大量能量花在開銷上(提取與解碼指令、預測分支)。GPU 較偏向資料平行工作的專用化。FPGA 是可重新配置的硬體,你能為某任務重新接線。ASIC 是完全固定的矽,正好為單一功能接好線——專用化的極端,最快也最有效率,卻無法更改。從 CPU 到 ASIC 的每一步,都是以靈活性換效率。
專用化如今之所以重要,誠實的原因是經濟與物理,而非流行。數十年來,Dennard 微縮意味著通用 CPU 每一代都免費變快、變省電,所以把某功能鎖進僵硬的矽是愚蠢的。那段免費搭便車的日子大約在 2005 年實質結束。今天僅剩的大幅效率提升,只能靠把電晶體花在為工作量身打造的硬體上——於是專用化從一種小眾戰術,變成了主流策略。代價是真實的:專用設計建造昂貴,且一旦它鎖定的工作負載改變,可能一夜之間就過時。
在通用 CPU 上解碼一段 H.264 影片,可能很快耗光手機電量並讓晶片發燙。同一支手機裡一個微小的專用影片解碼區塊,用一小部分能量就完成同樣的工作——這正是為什麼你的手機一次充電能播放好幾小時影片。
從靈活到固定的光譜:CPU、GPU、FPGA、ASIC——每一步都以通用性換效率。
專用化並非「總是更好」。被綁死是它的代價:固定的設計無法跟著變動的工作負載走,而工程成本只有在目標夠大且長久時才回得了本。