1. 程式人生 > >DSP處理器和ARM處理器的區別以及各自應用在哪些領域

DSP處理器和ARM處理器的區別以及各自應用在哪些領域

由於工作經常接觸到各種多核的處理器,如TI的達芬奇系列晶片擁有1個DSP核3個ARM核。那麼DSP處理器和ARM處理器各自有什麼區別,各自適合那些領域?

DSP:digital signal processor數字訊號處理器,也指digital signal process數字訊號處理,有自己指令集。DSP處理器的特點如下:

  1. 有專門的的硬體乘法器,能進行大量的乘法操作,與通用的MCU處理器不同,通用的MCU在執行乘法操作時是通過軟體程式設計的方式的來實現的,通常需要幾十甚至上百個時鐘週期,而DSP處理器卻有自己的硬體乘法器,使用硬體的方式來執行乘法操作,用硬體的方法總比用軟體的方法有著無法比擬的速度優勢。另外DSP處理都有自己的累加器單元AUL,大多數的DSP處理器在執行乘加操作時可以在一條指令週期內同時完成乘法和加法操作。DSP與一般MCU最大的區別在於DSP擁有硬體乘法器。
  2. 擁有哈弗型的匯流排結構,使得取指令和取資料可以同時進行,大大提高了並行處理的能力。
  3. pipeline技術。廣泛採用pipeline(流水線)處理技術使得DSP晶片大大減少了指令執行的時間,增強了處理器的處理能力。一條指令在執行的過程中需要經過取指、指令譯碼、取運算元以及指令執行等幾個階段,DSP的pipeline技術是指程式在執行時若干條指令是同時進行的,即在本條指令執行的同時,其後的3條指令也分別完成了取運算元、指令譯碼、取指令等操作,也就是說,在每個指令週期內,共有4條不同的指令處於啟用狀態,每條指令處於不同的執行階段。正是採用這種pipeline技術才使得DSP的加法運算、乘法運算、乘加運算能夠在一個指令週期內完成。

總結:從上面可以看出DSP適合應用在大量重複性運算,資料操作重複性高的,實時性要求高,運算量大的場合,DSP偏重計算。

ARM:Advanced RISC Machines 。ARM處理器是指採用ARM公司的IP核的微處理器。這類處理器成本低、整合度高、有豐富的外設,多數的ARM晶片都可以算作SOC了,基本上外圍加上電源介面和驅動介面就可以構成一個最小系統了。

基於ARM核心處理器的嵌入式系統以其自身資源豐富、功耗低、價格低廉、支援廠商眾多的緣故,越來越多地應用在各種需要複雜控制和通訊功能的嵌入式系統中。可以看出ARM處理器偏重控制。

DSP與ARM的區別:

  ARM具有比較強的事務管理功能,可以用來跑介面以及應用程式等,其優勢主要體現在控制方面,它的速度和資料處理能力一般,但是外圍介面比較豐富,標準化和通用性做的很好,而且在功耗等方面做得也比較好,所以適合用在一些消費電子品方面。

  而DSP主要是用來計算的,比如進行加密解密、調製解調等,優勢是強大的資料處理能力和較高的執行速度。由於其在控制演算法等方面很擅長,所以適合用在對控制要求比較高的場合,比如軍用導航、電機伺服驅動等方面。

  如果只是著眼於嵌入式應用的話,嵌入式CPU和DSP的區別應該只在於一個偏重控制一個偏重運算了。

參考文章:http://blog.163.com/[email protected]/blog/static/10497901201183004839992/