領域專用架構與加速器

系統單晶片(system-on-chip, SoC)

/ S-o-C, "sock" /

數十年前,一台電腦是一塊塞滿獨立晶片的主機板——這裡一顆 CPU、那裡一顆繪圖晶片、一個記憶體控制器、一顆音效晶片、一個數據機,每個都是分離的元件,跨整塊板子接線在一起。系統單晶片把那整塊板子塌縮到單一片矽上:CPU、GPU、各種加速器、記憶體控制器、I/O,全都當成區塊整合在一顆晶片上。你手機裡的處理器就是一顆 SoC——它不只是一顆 CPU,而是整台電腦份量的元件熔成一體。

具體來說,SoC 是一堆異質的building block(常是稱為 IP 區塊的授權設計),由一張片上互連縫合起來。典型的手機 SoC 內含:數個 CPU 核心(常是大型高效能與小型省電的混搭)、一顆 GPU、一個神經網路加速器(NPU)、一個給相機的影像訊號處理器、一個影片編解碼器、一顆 DSP、一個加密/安全引擎、一個記憶體控制器,以及無線電與 I/O 介面——全都透過共享的片上網路溝通。把它們放在同一片晶粒上,使區塊間的通訊又快又省電(訊號跨越的是微米,而非板上的公分),縮小整個裝置,並大幅降低成本與能耗。正是這種整合,讓強大的口袋電腦成為可能。

為何它把整個領域繫在一起:SoC 是異質運算的實體家園——它是 CPU、GPU 與一堆領域專用加速器在一個裝置中實際共處與協作的方式。CPU 跑通用邏輯,並把專門的工作交給對口的加速器區塊。誠實的工程現實是:這種整合帶來自己的難題:共享的互連與記憶體系統必須同時餵飽許多飢餓的區塊,常成為真正的瓶頸;功耗與熱必須跨所有區塊編列預算(你通常無法同時把它們全開到滿——見暗矽);而設計這樣一顆晶片是一項龐大、昂貴的工程。

在手機上拍一張照,會同時用上 SoC 的許多部分:相機的影像訊號處理器清理感光元件的原始資料,NPU 跑辨識人臉、優化照片的 AI,GPU 渲染預覽畫面,一個 CPU 核心統籌一切,加密引擎則加密存下的檔案——一顆晶片上五個不同的專用區塊,透過共享互連協作。

SoC 把 CPU、GPU 與各種加速器熔在一片晶粒上——異質運算的實體家園。

把一切整合到一顆晶片上並不會消除瓶頸——只是把它搬了家。同時餵飽所有區塊的共享片上互連與記憶體,通常才是限制實際效能的因素,而非任何單一區塊的峰值。

又称
SoC系統晶片