對話資深工程師:簡談ARM、DSP、單片機的異同與應用場景
單片機、ARM、DSP這三者的可以說是CPU,那這三者有什么區別嗎?
本文引用地址:http://www.j9360.com/article/201710/366032.htm首先,說CPU,中央處理器,本質就是一個集成電路,實現的功能就是從一個地方(如rom)讀出一個指令,從一個地方(如ram)讀出數據,然后根據指令的不同對數據做不同的處理(如相加),然后把結果存回某個地方(如ram)。不同架構的cpu會有不同的指令,不同的存取方式,不同的速度,不同的效率,等等的差異。
然后,說單片機(通常意義所說的微控制器MCU),ARM(通常意義所說的高效能RISC),DSP(通常意義所說的通用數字信號處理器),這三個CPU分別是針對不同的應用而產生的CPU。當然這也不是絕對的,因為ARM現在出的CPU囊括了MCU(如M0),RISC(如A8),DSP(如M4)。
也就是說單片機實際上是微控制器MCU、ARM是高效能RISC、DSP就是數字信號處理器嘍,那您能具體的從這三者的功能談談它們的控制原理嗎?
微控制器MCU的目的主要是用作控制,他不需要多快的速度,如電飯鍋的控制器,只需要控制發熱元件的通斷,信號等的開關等,但是對成本要求很嚴格,所以一般做得比較簡單,4位、8位的很多。
高效能的RISC,常用于一些數據處理比較多的地方,最常見的莫過于現在的消費性電子產品了,手機,pad,MP4等等,目前ARM的商業模式主要是賣內核,集成到各家的SOC中間。他其實就是個通用的CPU,能干各種各樣的活,和Intel的CPU一樣。但是通用就有效能問題,在某些特殊場合,效能就顯得沒那么高了,如大量運算(譬如做FFT)的時候。這樣就有DSP的用武之地了。
DSP數字信號處理器,只要是做數字信號處理的模塊都可以叫做一個DSP,如視頻解碼的IP核。通用的數字信號處理器,如TI的TMS320C55x DSP。該CPU的長處就是在于運算,大量循環的計算,如連續1024個乘加。他的指令針對這種應用有特殊的處理,相比RISC可以更快速高效地完成這類運算。
您能結合開發案例,具體談談它們的主要應用場景嗎?
單片機集成完整的馮諾依曼體系所規定的結構,是一個完整的計算機體系。實現特定的運算功能,應用集中在工業自動化控制等專門化需求的運算領域。我剛剛看到開發平臺上有很多關于DSP方面的項目開發,可以看出來大多都是工業應用上的需求,如“基于單片機設計的LED驅動電源綜合測試儀”、“單片機撥號程序”等。
ARM芯片精髓在“R”,是RISC精簡指令集的意思。RISC指令集根據80%的時候只用到了20%的處理器指令的狀況,使用了經過精簡設計的指令系統,使得整個處理器的設計可以更加簡潔,功耗、體積大大縮小,所以ARM在手機、平板等智能移動設備上得到了廣泛應用。如開發平臺發布的“arm的linux內核下的手持機開發”、“ARM的linux內核LVDS顯示開發”等均是基于ARM芯片的智能產品。
DSP是數字信號處理器,相較于普通計算機實現通用計算的特點,DSP只負責數字信號(視頻、音頻或者其他傳感器獲得數字信號)處理。在日常生活中,常見的DVD、藍光播放機、數字電視機頂盒、MP4等都廣泛使用了DSP。這個“基于DSP的聲音控制系統開發”、“基于DSP圖像處理固定區域內人數統計儀”等對于音頻音質、圖像像素要求較高的產品多使用DSP控制器。
評論