領域專用架構與加速器

數位訊號處理器(digital signal processor, DSP)

/ D-S-P /

想想你的手機如何把麥克風那抖動的電壓變成一通乾淨的電話:它每秒對聲音取樣數千次,再把每一串數字送過濾波器,濾掉雜訊與回音。這種工作——源源不絕的樣本流,每個都被同一條重複的乘加公式轉換——在音訊、無線電、影像裡到處都是。數位訊號處理器(DSP)就是專門啃這種東西的處理器:即時、連續的訊號資料流。

具體來說,DSP 是一顆可程式化的處理器(你為它寫軟體,不像固定的 ASIC),它的資料路徑為訊號處理的核心運算調校:乘加,計算乘積之和,例如 y = c0 times x0 + c1 times x1 + c2 times x2 + ...。DSP 通常有一個專用的單週期乘加單元、用來走訪樣本緩衝區的特殊定址模式(包括會自動繞回的環形緩衝區),以及平行提取資料與係數的能力,好讓乘法器從不等待。許多 DSP 是 VLIW 或有寬 SIMD 通道,一次做好幾個乘加。結果是一顆能以低功耗維持穩定、可預測訊號數學速率的晶片。

它適用之處:DSP 是一種經典、較老的加速器物種,見於數據機、助聽器、音響設備、基地台,以及作為手機 SoC 內的低功耗區塊(處理一直在聆聽的語音與相機影像處理)。誠實的說法:DSP 介於通用 CPU 與固定功能 ASIC 之間——在訊號工作上比 CPU 有效率,因為它專用化了,卻仍可程式化,所以在標準改變時仍保有彈性。對於量最大、最固定的任務,硬接線的 ASIC 區塊仍勝過它;DSP 在你同時需要效率與更新演算法的自由時勝出。

一個降噪濾波器把每個輸出樣本算成最近 N 個輸入樣本的加權和:y[n] = sum over k of c[k] times x[n-k]。DSP 每週期做一次這樣的乘加,讓輸入走過一個環形緩衝區,並平行提取下一個樣本與係數——維持一個固定取樣率,而通用 CPU 要在同樣功耗下撐住它會很吃力。

DSP:一顆為串流式乘加調校的可程式化處理器——介於 CPU 與固定 ASIC 之間。

DSP 是可程式化的,這既是它相對於固定 ASIC 的優勢,也是它相對於 ASIC 的限制:它在標準演進時保有彈性,但在量最大、已凍結的任務上,硬接線區塊勝過它。

又称
DSPsignal processor訊號處理器