當Arm CPU核心首次被包括蘋果(Apple)在內的電腦運算領域領導業者採用,使用量激增,尤其在行動應用領域。回顧過去,它的優勢是顯而易見──嵌入式處理器不但使任何裝置變得更加彈性且多功能,同時可以通過軟體升級該功能,亦即單一硬體平台只要藉由軟體升級即可驅動多個產品版本。

這些運算引擎既靈活又非常適合智慧型手機所需的各種管理和一般運算任務,但這種通用性存在一個缺點:某些操作在一般性電腦上的速度太慢,並且功耗太大、不實用。你的智慧型手機無線通訊功能中的數據機就是一個早期的例子。數據機必須實時處理無線訊號,在每一種情況下,處理的並非是手機內部運算部分中所熟悉數位字元和位元,而是無線電傳輸和接收中使用的持續變化的數位化類比訊號。

數位訊號處理器(DSP)是針對這種分析的設計,除了內建訊號數位化所需的浮點表示,和訊號處理所需如多次累加(MAC)的數學功能具有強大支持,DSP還針對串流資料處理進行最佳化,而非傳統運算常見的批次型處理,此功能在這些情況下,是處理連續無線電傳輸與接收的基本功能。

音訊處理需求具有許多與無線訊號處理相同的功能,DSP應用在高階音訊應用中變得相當普遍,例如等化及範圍壓縮(例如杜比壓縮),以及讓你在飛行中睡覺不受干擾,如降噪耳機之類功能越來越多。

繼之而起的AI,最初僅見於資料中心,但現在越來越多出現在行動和其他邊緣應用。我們在行車時可以偵測到行人和潛在的碰撞,還可以檢測車道標記,以引導自動駕駛進行基本形式轉向。我們可以透過語音命令控制電視機或智慧型喇叭找到歌曲或影片搜尋,或音量調整。我們甚至可以透過語音命令控制自行車安全帽上的GoPro裝置進行開始或停止拍照。

所有這些功能都依賴處理串流資料(聲音)或影像(照片)或結合兩者(視訊),每一種功能都是即時或非常接近即時。首先看音訊處理,第一步需要截取高品質的串流聲音訊號──包括結合多個麥克風的音訊波束成形、回音消除和噪音抑制,這些在DSP建置上都已有豐富的實績。

然後必須使用經過訓練的神經網路(幾乎任何AI技術的基礎)來辨識命令。這些演算法不但看起來與CPU上的演算法大相逕庭,即使可以在CPU上運行,也難逃速度慢、功耗高的缺點。因此較好的方法是在具有高度平行性,又可同時在多個運算(而非CPU上的串列運算)的架構上進行神經網路編程;平行性正是DSP的另一個核心優勢。

你可能懷疑,儘管有這些優點,DSP是否可能過於複雜,除了那些別無選擇只能使用它們的專家之外,其他人都無法使用?當然,DSP的使用不像CPU那麼簡單,但相差無幾,兩者都可編寫C語言程式碼,只是在DSP編寫的程式碼中考慮更需周到些,才能充分發揮其效能。

DSP廣泛採用於各種產品,手機上的各種無線模組(藍牙、Wi-Fi、行動電話)都使用一個或多個DSP。藍牙耳機使用DSP,用於藍牙及音訊;許多智慧型喇叭都使用DSP,語音控制的遙控器使用DSP,居家保全系統使用DSP來檢測攝影機捕捉到的異常移動和異常聲音,如狗叫或玻璃破裂等。汽車的智慧型感測器使用DSP來檢測前進和後退的危險,並檢測車道標記。

為什麼不將GPU使用在這些功能呢?實際上,GPU在AI方面確實非常普遍,且已廣泛用於數據中心的神經網路訓練。但是對於許多邊緣應用而言,GPU太大、太耗電、並且太貴。著眼於功能性、安全性、和隱私性的原因,許多AI功能只要合乎成本效益,正大量遷移到GPU解決方案。但在大多數情況下,如果會導致(汽車、電視、居家保全)整個解決方案的成本大幅提高,都不會獲得青睞。

這就是嵌入式DSP普及的原因:您可以在低成本、低功耗和軟體編程的靈活性,為產品外加語音控制、物件辨識、音訊品質控制等功能。DSP不會取代CPU的管理和一般性處理功能,但看來會全面接管與智慧型音訊、以及視訊/影像的所有功能。

本文中文譯稿由CEVA提供

(參考原文: Why DSPs are suddenly everywhere,by Guy Givoni)