顯示卡是電腦裡最像「另一台電腦」的零件:自己的處理器、自己的記憶體、自己的電源接頭。 它的處理器叫做 GPU。這篇文章把網路上的 GPU 架構教材改寫成白話版: 從「為什麼 GPU 要養幾千個笨核心」,講到「為什麼記憶體不夠會卡、為什麼換機箱溫度差十度」。
同樣是處理器,兩者哲學幾乎相反。 CPU 要「把一件事做到最快」:分支預測、亂序執行、深層管線、巨大快取。 GPU 要「同時把幾千件事做完」:數千個極精簡的運算單元,一個時脈只做一次乘加。
一張中高階顯卡可能有 60 到 80 個 SM,每個 SM 內含 128 個串流處理器, 共八千到一萬多個運算單元;桌上型 CPU 普遍只有 6 到 16 核。
| 項目 | CPU | GPU |
|---|---|---|
| 核心數 | 個位數到數十個 | 數千到上萬個 |
| 單核 | 複雜:亂序、分支預測 | 簡單:一時脈一次乘加 |
| 面積 | 大多給了快取與控制 | 大多給了運算單元 |
| 擅長 | 分支複雜的工作 | 重複規律的運算 |
| 記憶體 | 延遲要低 | 頻寬要大 |
一句話記住: CPU 是幾位老師傅,疑難雜症都能接,但一次只能做幾件事; GPU 是幾千位作業員,只會簡單動作,同時開工時總產量卻驚人。 GPU 怕的不是工作難,而是工作不夠多、不夠整齊。
GPU 的最小運算單位叫串流處理器,只做一件事:
一個時脈完成一次融合乘加(FMA),也就是 a × b + c。
正因為單純,才能做得又小又省電、塞進好幾千個。算力因此很好估:
核心數 × 2 × 時脈,以 8000 核、1.8 GHz 為例約 28.8 TFLOPS。
這幾千條執行緒不是各跑各的。硬體把它們每 32 條綁成一組,稱為一個 warp, 組內的執行緒(lane)共用同一份指令流:同一時脈、同一行指令,只是各自處理不同資料, 這叫 SIMT。副作用是分歧:如果一半 lane 走 if、一半走 else, 硬體只能先跑 if(遮住走 else 的),再跑 else——總時間是兩條路徑相加。
從顯示記憶體讀一筆資料要等 400 到 800 個時脈週期。 CPU 的做法是想辦法不要等:大快取、亂序執行、分支預測。 GPU 反過來:不減少等待,而是用別人的工作把等待填滿。 每個 SM 同時駐留幾十個 warp,某個 warp 發出記憶體請求後停住, 排程器下一個時脈立刻換人上場,而且沒有切換成本;這個比例叫 occupancy(占用率)。 結論是:GPU 對延遲不敏感、對頻寬極度飢渴, 而且需要大量獨立的工作才餵得飽,工作太少就會閒著發呆。
實務上的意思: 同一顆 GPU,跑「每個像素算一個顏色」可以滿載,跑「每一步都要等前一步」的遞迴運算可能只用不到一成算力—— GPU 的效能取決於工作有多平行,不是只看核心數。
因為畫圖剛好是「大量、重複、彼此獨立」的工作。 1920×1080 有 207 萬個像素,每個像素用的都是同一段程式,只是輸入不同—— 這正是 SIMT 最理想的形狀。管線大致分成六個階段:
2560×1440 有 369 萬像素,跑 144 幀,光是最基本「每像素算一次」就需要每秒 5.3 億次片段著色; 加上物件重疊與陰影、後處理,真實次數常是像素數的 2 到 4 倍。 幾何端也一樣:精緻場景有 500 萬到 2000 萬個三角形,每秒要處理的頂點數可達數億到數十億個。 這些階段處理的都是「大量、形狀相同、彼此無關」的資料——這就是 GPU 為平行而生的理由。
顯示卡有自己專屬的記憶體 VRAM。為什麼不共用系統記憶體? 因為系統記憶體是為 CPU 的「低延遲」設計的,共用匯流排又會互相排隊。 所以顯示卡把記憶體直接焊在旁邊,走線短、位寬大、頻率高。有三個數字要分清楚:
頻寬 = 每腳資料速率(Gbps) × 位寬(bit) ÷ 8
| 位寬 | 每腳速率 | 頻寬 | 常見定位 |
|---|---|---|---|
| 128-bit | 16 Gbps | 16 × 16 = 256 GB/s | 入門 |
| 192-bit | 16 Gbps | 16 × 24 = 384 GB/s | 中階 |
| 256-bit | 20 Gbps | 20 × 32 = 640 GB/s | 1440p 主力 |
| 384-bit | 20 Gbps | 20 × 48 = 960 GB/s | 高階、4K |
看懂這張表,就看懂一半的顯卡規格: 同樣是 16 Gbps 的顆粒,位寬從 128-bit 加到 256-bit,頻寬直接翻倍。 位寬與資料速率一樣重要,不能只看其中一個。
當場景需要的資源超過容量,驅動程式只能把一些貼圖暫時搬回系統記憶體,要用時再搬回來。 但這條路得穿過 PCIe:PCIe 4.0 x16 約 32 GB/s,VRAM 自己是 640 GB/s——差了 20 倍。 結果不是「平均幀率掉兩成」,而是「大部分時間正常,每隔幾十幀突然卡一下」: 平均幀率還好看,但 1% low 直接崩掉,而體感完全由後者決定。
容量是怎麼被吃掉的? 一張 4096×4096 的未壓縮貼圖就是 約 64 MB,加上 mipmap 再多三分之一; 一個場景有幾百張,再加上畫面緩衝區與光追的加速結構,容量就是這樣消失的。
同樣是記憶體,為什麼顯示記憶體可以跑到 600 GB/s 以上,系統記憶體卻只有 100 GB/s 左右? 答案不是「顯示記憶體比較先進」,而是兩者的設計目標根本不同。
DDR 要的是容量大、可擴充、延遲低:它做成可插拔模組, 但插槽與較長的走線會破壞訊號品質,頻率就推不高—— DDR5 每通道 64-bit、每腳 6400 Mbps,雙通道約 102 GB/s。
GDDR 要的是頻寬極大,延遲隨便:它直接焊在顯卡上、控制器與顆粒點對點, 走線短、阻抗穩定,每腳能推到 16~20 Gbps 以上;加上顆粒每顆通常是 x16 或 x32 寬, 只要 8 顆 x32 就能湊出 256-bit 位寬,頻寬直接來到 640 GB/s。
| 項目 | DDR(系統記憶體) | GDDR(顯示記憶體) |
|---|---|---|
| 封裝 | 可插拔模組 | 焊死在顯卡上 |
| 每顆寬度 | x4 / x8 | x16 / x32 |
| 連接方式 | 多模組共用匯流排 | 控制器與顆粒點對點 |
| 訊號速率 | 受插槽與走線限制 | 高很多,還用多電平調變 |
| 絕對延遲 | 較低 | 較高,但 GPU 不在意 |
| 能耗與發熱 | 較低 | 明顯較高 |
| 設計目標 | 容量大、延遲低 | 頻寬極大 |
為了把速率推上去,GDDR 改用 PAM4(四電平)——一個符號帶 2 個位元, 不把時鐘推到極限就把位元率翻倍;代價是需要更複雜的等化與錯誤更正。 GDDR 的絕對延遲其實比 DDR 更高,但這對 GPU 不是問題:它有一大堆 warp 可以藏延遲, 「用延遲換頻寬」對 GPU 非常划算;而高頻擺動電壓也讓記憶體成為顯卡的一大熱源。
光柵化把三角形打散成像素再一個一個算顏色:快、可預測、容易平行, 但它算不出光線真正的行為——反射與軟陰影都是「模擬」的。 光線追蹤則從眼睛發射光線,真的去算它打到什麼、彈去哪裡; 一個像素可能要發射幾十到幾百條光線,每條都要跟幾百萬個三角形求交,運算量直接爆炸。
關鍵是加速結構(BVH,包圍盒階層):把場景的三角形用一層層包圍盒組織起來, 求交時先測最大的盒子,不中就整批跳過,複雜度從「每條光線看過所有三角形」變成大約 O(log n)。 再加上 GPU 裡專門做求交與遍歷的固定功能電路,效率遠高於用一般著色器去算。 實務上幾乎沒有遊戲是純光線追蹤,而是混合式:光柵化打底,只把反射與陰影交給光追。
既然渲染成本大致隨像素數線性成長,最直接的省力方式就是少算一點: 先用較低解析度渲染,再用類神經網路放大到 4K,幀率因此大幅提升。
但代價是:它靠前一幀與運動向量穩定畫面,所以快速移動的物件容易出現鬼影; 細節是推論出來的,極細的紋理可能被抹平;還需要遊戲引擎配合提供輔助資料。
顯示卡上除了一大堆著色器,還有幾塊專門處理影片的固定功能電路, 統稱影音引擎:一塊負責解碼,一塊負責編碼。
純靠 CPU 軟解,一段 4K 60 幀的影片可能吃掉八核心處理器的一大半,筆電風扇狂轉、電池掉得飛快; 交給硬體解碼器,功耗只要幾瓦,還能同時處理好幾路。 實用的知識點是:硬體解碼器只支援特定格式,太舊的顯卡沒有新格式的解碼器, 就只能回頭交給 CPU 軟解。
直播必須即時把畫面壓成影片。用 CPU 軟體編碼,即使開到最快的預設, 1080p 60 幀也要吃掉好幾個核心,還會和遊戲搶資源;交給硬體編碼器, 對遊戲幀率的影響通常只剩個位數百分比。
| 項目 | 軟體編碼(CPU) | 硬體編碼(影音引擎) |
|---|---|---|
| 速度 | 慢,看 CPU 核心數 | 極快,可即時 |
| 功耗 | 數十瓦到上百瓦 | 幾瓦到十幾瓦 |
| 對遊戲影響 | 大,會搶 CPU 資源 | 幾乎不影響幀率 |
| 同 bitrate 畫質 | 通常較好 | 略差,但持續進步 |
| 彈性 | 高,參數任你調 | 低,只支援固定組合 |
| 適合場合 | 離線轉檔 | 直播、錄影 |
同一道選擇題: 影音引擎、光線追蹤單元、甚至整個 GPU 與 CPU 的差別,本質上都是「專用電路換效率」與「通用處理器換彈性」之間的選擇。
顯示卡的功耗上限通常寫成 TGP(整卡功耗), 指核心加上顯示記憶體的總功耗上限,必須由兩個來源合力滿足: 主機板的 PCIe 插槽,以及電源供應器拉過來的接頭。
瞬時尖峰才是殺手: GPU 的功耗不是恆定的。遊戲載入新場景時,一張平均 300W 的卡可能在幾毫秒內抽到 450~600W, 電源若保護點設得太緊就會直接跳電關機。 所以「玩到一半突然黑畫面重開」常常不是顯卡壞了,而是電源餘裕不夠。
熱從晶片到室外要經過好幾關: 晶片 → 散熱器底座 → 熱管或均熱板 → 鰭片 → 機箱內的空氣 → 室外, 每一段都有自己的熱阻,加起來就是整條鏈的熱阻:
晶片溫度 ≈ 進氣溫度 + 功耗 × 整條鏈的熱阻
GPU 通常有兩道限制:溫度牆(例如 83°C)與功耗牆(TGP), 碰到其中一道,時脈就會自動下修。所以同一張卡在通風良好的機箱裡跑得比悶箱子快, 不是錯覺,而是散熱能力直接決定了效能上限。 順帶一提,降壓之所以有效,是因為動態功耗大致與電壓平方成正比: 把電壓曲線壓低通常能省 10~20% 功耗,效能只掉 0~3%。
顯示卡插在主機板的 PCIe 插槽上,這是它與系統之間唯一的通道:
| 世代 | 每通道速率 | x16 原始頻寬 | x16 有效頻寬 |
|---|---|---|---|
| PCIe 3.0 | 8 GT/s | 16 GB/s | 約 15.8 GB/s |
| PCIe 4.0 | 16 GT/s | 32 GB/s | 約 31.5 GB/s |
| PCIe 5.0 | 32 GT/s | 64 GB/s | 約 63 GB/s |
大部分情況下不大,因為 PCIe 主要用來「載入」而不是「持續搬運」: 載入時把貼圖與模型送進 VRAM,之後每一幀都靠 VRAM 自己的 640 GB/s 在工作。 所以在 VRAM 充足時,PCIe 3.0 x16 與 4.0 x16 的差距通常只有 1~5%。但有三種情況會放大: VRAM 不足時資源不斷來回搬,PCIe 就從「閒置」變成「瓶頸」; 顯示卡只有 x8 或 x4 的電氣通道時,插在舊世代主機板上等於頻寬再砍一半; 以及需要大量串流資料的工作負載。 另外要記得,插槽的實體長度與實際通道數是兩回事—— 看起來很長的 x16 插槽可能只接了 x4 的線,標示 x16 的卡也可能是 x8 的電氣規格。
顯示卡的效能由三個維度決定:核心效能、VRAM 容量、VRAM 頻寬。 預算有限時必須取捨,依據是你打算在什麼解析度、什麼刷新率下使用。
| 解析度 | 像素數 | 60 幀/秒的需求 | 144 幀/秒的需求 |
|---|---|---|---|
| 1920×1080 | 207 萬 | 每秒 1.24 億像素 | 每秒 2.99 億像素 |
| 2560×1440 | 369 萬 | 每秒 2.21 億像素 | 每秒 5.31 億像素 |
| 3840×2160 | 829 萬 | 每秒 4.98 億像素 | 每秒 11.9 億像素 |
從 1080p 60 幀換到 1440p 144 幀,像素吞吐量需求是原來的 4.3 倍;換到 4K 60 幀則是原來的 4 倍。 所以「同一張卡在 1080p 很夠用、在 4K 卻很吃力」完全正常。
關鍵在於兩種不足的症狀不一樣:容量不足是「隨機卡頓」,除了降低畫質幾乎無法補救; 核心不足是「幀率整體偏低」,還能靠調整畫質緩解。所以先守住容量門檻,再往上追核心比較安全: 粗略而言,1080p 約 8 GB 起、1440p 約 12 GB 起、4K 約 16 GB 以上比較從容。
高解析度對頻寬特別敏感。兩張卡在 1080p 可能只差 5%,到了 4K 可能拉開到 30% 以上, 原因就是其中一張的頻寬先撞到天花板。
長度與厚度:高階卡常超過 30 公分、佔 2.5 到 3 個插槽。 接頭與瓦數:確認 8-pin 數量足夠,並留三成瓦數餘裕。
最後一個建議: 不要為了「以後可能用到」而過度投資,顯示卡的價值在於「現在就跑得動你想跑的程式」。 先確定解析度、刷新率與最常跑的軟體,再回頭挑規格。
以下都是網路上很常出現的說法,值得逐一檢查:
1. 顯示記憶體越大,顯示卡就越快?
錯。容量只決定裝不裝得下,超過門檻後對幀率幾乎沒貢獻; 但低於門檻時懲罰極劇烈,所以仍是不能妥協的底線。
2. 顯示記憶體不夠時會用系統記憶體補上,所以沒差?
錯,這是體感最糟的誤解。要用時得穿過 PCIe 搬回來: 32 GB/s 對比 640 GB/s,差 20 倍,症狀是週期性卡頓。
3. 顯示卡的記憶體可以自己加裝?
錯。它直接焊在電路板上,沒有插槽也不支援擴充。
4. GPU 核心時脈越高就越強?
錯。還要看核心數量、每時脈做多少事與頻寬夠不夠餵。
5. 玩遊戲只要顯卡強就好,CPU 不重要?
錯。CPU 來不及準備,GPU 再強也只能閒著等, 症狀是「降解析度也拉不上幀率」。
6. GPU 的幾千個核心,等於幾千顆 CPU 核心?
錯。GPU 核心不能獨立分支、不能獨立存取記憶體,還得湊成 warp 一起行動, 優勢是數量帶來的總吞吐量。
7. 硬體編碼畫質一定比較差,直播就該用 CPU 編?
不盡然。同 bitrate 下軟體編碼通常較好, 但硬體勝在即時、省電、不搶遊戲資源,直播時往往更實際。
8. 開了光線追蹤只是畫面更好看,效能代價可以忽略?
錯。光追運算量遠高於光柵化,開啟後幀率明顯下降仍是常態, 所以實務上幾乎都採混合式。
9. 換到更新的 PCIe 世代,遊戲效能就會大幅提升?
通常不會。VRAM 充足時 PCIe 只負責載入,世代差異通常只有 1~5%; 真正放大差距的是容量不足而溢出。
10. 電源標示 750W,就代表電腦一直耗 750W?
錯。瓦數是上限。但挑電源仍要留三成餘裕, 因為顯卡的瞬時尖峰可達平均值的 1.5~2 倍。
回頭看,GPU 的每個設計決定背後都是一道取捨題:
理解這些取捨之後,規格表就不再是一堆難懂的數字,而是「這張卡為了什麼妥協了什麼」的說明書。
給一般讀者的一句話: 顯示卡是一台專門為了「同時做很多簡單事」而打造的平行電腦。 規格表上的「256-bit、20 Gbps、16 GB」,說的就是路有多寬、跑得多快、倉庫有多大。
本文為科普整理,內容取材自網路上的 GPU 架構教材與圖形管線資料,經重新編寫與白話化而成。
文中數據與技術細節僅供理解參考,實際規格請以各廠商官方文件與相關標準組織的公開資料為準。