由於工作經常接觸到各種多核的處理器,如TI的達芬奇系列芯片擁有1個DSP核3個ARM核。那么DSP處理器和ARM處理器各自有什么區別,各自適合那些領域?
DSP:digital signal processor數字信號處理器,也指digital signal process數字信號處理,有自己指令集。DSP處理器的特點如下:
- 有專門的的硬件乘法器,能進行大量的乘法操作,與通用的MCU處理器不同,通用的MCU在執行乘法操作時是通過軟件編程的方式的來實現的,通常需要幾十甚至上百個時鍾周期,而DSP處理器卻有自己的硬件乘法器,使用硬件的方式來執行乘法操作,用硬件的方法總比用軟件的方法有着無法比擬的速度優勢。另外DSP處理都有自己的累加器單元AUL,大多數的DSP處理器在執行乘加操作時可以在一條指令周期內同時完成乘法和加法操作。DSP與一般MCU最大的區別在於DSP擁有硬件乘法器。
- 擁有哈弗型的總線結構,使得取指令和取數據可以同時進行,大大提高了並行處理的能力。
- 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/liuhonggaono1@126/blog/static/10497901201183004839992/
