你的位置:首頁 > 測(cè)試測(cè)量 > 正文

深入了解DSP與ARM的區(qū)別與聯(lián)系

發(fā)布時(shí)間:2017-07-14 責(zé)任編輯:wenwei

【導(dǎo)讀】如果將這三者結(jié)合起來,即由DSP結(jié)合采樣電路采集并處理信號(hào),由ARM處理器作為平臺(tái),運(yùn)行Linux操作系統(tǒng),將經(jīng)過DSP運(yùn)算的結(jié)果發(fā)送給用戶程序進(jìn)行進(jìn)一步處理,然后提供給圖形化友好的人機(jī)交互環(huán)境完成數(shù)據(jù)分析和網(wǎng)絡(luò)傳輸?shù)裙δ?,就?huì)最大限度的發(fā)揮三者所長(zhǎng)。
 
DSP
 
DSP(digital singnal processor)是一種獨(dú)特的微處理器,有自己的完整指令系統(tǒng),是以數(shù)字信號(hào)來處理大量信息的器件。一個(gè)數(shù)字信號(hào)處理器在一塊不大的芯片內(nèi)包括有控制單元、運(yùn)算單元、各種寄存器以及一定數(shù)量的存儲(chǔ)單元等等,在其外圍還可以連接若干存儲(chǔ)器,并可以與一定數(shù)量的外部設(shè)備互相通信,有軟、硬件的全面功能,本身就是一個(gè)微型計(jì)算機(jī)。
 
DSP采用的是哈佛設(shè)計(jì),即數(shù)據(jù)總線和地址總線分開,使程序和數(shù)據(jù)分別存儲(chǔ)在兩個(gè)分開的空間,允許取指令和執(zhí)行指令完全重疊。也就是說在執(zhí)行上一條指令的同時(shí)就可取出下一條指令,并進(jìn)行譯碼,這大大的提高了微處理器的速度。另外還允許在程序空間和數(shù)據(jù)空間之間進(jìn)行傳輸,因?yàn)樵黾恿似骷撵`活性。
 
其工作原理是接收模擬信號(hào),轉(zhuǎn)換為0或1的數(shù)字信號(hào),再對(duì)數(shù)字信號(hào)進(jìn)行修改、刪除、強(qiáng)化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬條復(fù)雜指令程序,源源超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱道的兩大特色。
 
DSP芯片,由于它運(yùn)算能力很強(qiáng),速度很快,體積很小,而且采用軟件編程具有高度的靈活性,因此為從事各種復(fù)雜的應(yīng)用提供了一條有效途徑。其主要應(yīng)用是實(shí)時(shí)快速地實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法。根據(jù)數(shù)字信號(hào)處理的要求,DSP芯片一般具有如下主要特點(diǎn):
 
(1) 在一個(gè)指令周期內(nèi)可完成一次乘法和一次加法;
(2) 程序和數(shù)據(jù)空間分開,可以同時(shí)訪問指令和數(shù)據(jù);
(3) 片內(nèi)具有快速RAM,通??赏ㄟ^獨(dú)立的數(shù)據(jù)總線在兩塊中同時(shí)訪問;
(4) 具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持;
(5) 快速的中斷處理和硬件I/O支持;
(6) 具有在單周期內(nèi)操作的多個(gè)硬件地址產(chǎn)生器;
(7) 可以并行執(zhí)行多個(gè)操作;
(8) 支持流水線操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行。
 
當(dāng)然,與通用微處理器相比,DSP芯片的其他通用功能相對(duì)較弱些。
 
DSP優(yōu)勢(shì)在于其有獨(dú)特乘法器,一個(gè)指令就可以完成乘加運(yùn)算,但GPP(通用處理器)處理一般是用加法代替乘法,要n多cpu周期,盡管cpu主頻很快,但還是要相當(dāng)時(shí)間,這一點(diǎn)現(xiàn)在的GPP已經(jīng)基本上可以做到內(nèi)部單周期運(yùn)算乘加指令了。
 
數(shù)字信號(hào)處理是一種通過使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來處理現(xiàn)實(shí)信號(hào)的方法,這些信號(hào)由數(shù)字序列表示。在過去的二十多年時(shí)間里,數(shù)字信號(hào)處理已經(jīng)在通信等領(lǐng)域得到極為廣泛的應(yīng)用。
 
深入了解DSP與ARM的區(qū)別與聯(lián)系
 
ARM
 
ARM ( Advanced RISC Machines ),既可以認(rèn)為是一個(gè)公司的名字,也可以認(rèn)為是對(duì)一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。1991 年 ARM 公司成立于英國(guó)劍橋,主要出售芯片設(shè)計(jì)技術(shù)的授權(quán)。目前,采用 ARM技術(shù)知識(shí)產(chǎn)權(quán)( IP )核的微處理器,即我們通常所說的 ARM 微處理器,已遍及工業(yè)控制、消費(fèi)類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場(chǎng),基于 ARM 技術(shù)的微處理器應(yīng)用約占據(jù)了32 位 RISC 微處理器75%以上的市場(chǎng)份額, ARM 技術(shù)正在逐步滲入到我們生活的各個(gè)方面。 ARM 公司是專門從事基于 RISC 技術(shù)芯片設(shè)計(jì)開發(fā)的公司,作為知識(shí)產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),而是轉(zhuǎn)讓設(shè)計(jì)許可由合作公司生產(chǎn)各具特色的芯片,世界各大半導(dǎo)體生產(chǎn)商從ARM公司購買其設(shè)計(jì)的 ARM 微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐?,從而形成自己?ARM 微處理器芯片進(jìn)入市場(chǎng)。目前,全世界有幾十家大的半導(dǎo)體公司都使用 ARM 公司的授權(quán),因此既使得 ARM 技術(shù)獲得更多的第三方工具、制造、軟件的支持,又使整個(gè)系統(tǒng)成本降低,使產(chǎn)品更容易進(jìn)入市場(chǎng)被消費(fèi)者所接受,更具有競(jìng)爭(zhēng)力。
 
ARM最大的優(yōu)勢(shì)在于速度快、低功耗、芯片集成度高,多數(shù)ARM芯片都可以算作SOC,基本上外圍加上電源和驅(qū)動(dòng)接口就可以做成一個(gè)小系統(tǒng)了。
 
基于ARM核心處理器的嵌入式系統(tǒng)以其自身資源豐富、功耗低、價(jià)格低廉、支持廠商眾多的緣故,越來越多地應(yīng)用在各種需要復(fù)雜控制和通信功能的嵌入式系統(tǒng)中。

ARM與DSP的比較

區(qū)別:
 
由于兩大處理器在各自領(lǐng)域的飛速發(fā)展,如今兩者中的高端或比較先進(jìn)的系列產(chǎn)品中,都在彌補(bǔ)自身缺點(diǎn)、且擴(kuò)大自身優(yōu)勢(shì),從而使得兩者之間的一些明顯不同已不再那么明顯了,甚至出現(xiàn)兩者部分結(jié)合的趨勢(shì)(如ARM的AMBA總線,可以把DSP或其他處理器集成在一塊芯片中;又如DSP中的兩個(gè)系列OMAP和達(dá)芬奇系列,就是直接針對(duì)兩者的廣泛應(yīng)用而將兩者結(jié)合在一起,從而最大發(fā)揮各自優(yōu)勢(shì)),另外,兩者各自不同系列的產(chǎn)品側(cè)重點(diǎn)也不盡相同,所以這里討論的是一些傳統(tǒng)意義上比較。
 
總的來說主要區(qū)別有:
 
ARM具有比較強(qiáng)的事務(wù)管理功能,可以用來跑界面以及應(yīng)用程序等,其優(yōu)勢(shì)主要體現(xiàn)在控制方面,它的速度和數(shù)據(jù)處理能力一般,但是外圍接口比較豐富,標(biāo)準(zhǔn)化和通用性做的很好,而且在功耗等方面做得也比較好,所以適合用在一些消費(fèi)電子品方面;
 
而DSP主要是用來計(jì)算的,比如進(jìn)行加密解密、調(diào)制解調(diào)等,優(yōu)勢(shì)是強(qiáng)大的數(shù)據(jù)處理能力和較高的運(yùn)行速度。由于其在控制算法等方面很擅長(zhǎng),所以適合用在對(duì)控制要求比較高的場(chǎng)合,比如軍用導(dǎo)航、電機(jī)伺服驅(qū)動(dòng)等方面。
 
如果只是著眼于嵌入式應(yīng)用的話,嵌入式CPU和DSP的區(qū)別應(yīng)該只在于一個(gè)偏重控制一個(gè)偏重運(yùn)算了。
 
另外:
 
內(nèi)核源碼開放的Linux與ARM體系處理器相結(jié)合,可以發(fā)揮Linux系統(tǒng)支持各種協(xié)議及存在多進(jìn)程調(diào)度機(jī)制的優(yōu)點(diǎn),從而使開發(fā)周期縮短,擴(kuò)展性增強(qiáng)。
 
詳細(xì)來說:
 
DSP的優(yōu)勢(shì)主要是速度,它可以在一個(gè)指令周期中同時(shí)完成一次乘法和一次加法,這非常適合快速傅立葉變換的需求。DSP有專門的指令集,主要是專門針對(duì)通訊和多媒體處理的;而ARM使用的是RISC指令集(當(dāng)然ARM的E系列也支持DSP指令集)是通用處理用的。
 
存儲(chǔ)器架構(gòu)和指令集特點(diǎn)不一樣
 
單片機(jī)為了存儲(chǔ)器管理的方便(便于支持操作系統(tǒng)),一般采用指令、數(shù)據(jù)空間統(tǒng)一編碼的馮·諾依曼結(jié)構(gòu)。 DSP為了提高數(shù)據(jù)吞吐的速度,基本上都是指令、數(shù)據(jù)空間獨(dú)立的哈佛結(jié)構(gòu)。
 
單片機(jī)對(duì)于數(shù)字計(jì)算方面的指令少得多,DSP為了進(jìn)行快速的數(shù)字計(jì)算,提高常用的信號(hào)處理算法的效率,加入了很多指令,比如單周期乘加指令、逆序加減指令(FFT時(shí)特別有用,不是ARM的那種逆序),塊重復(fù)指令(減少跳轉(zhuǎn)延時(shí))等等,甚至將很多常用的由幾個(gè)操作組成的一個(gè)序列專門設(shè)計(jì)一個(gè)指令可以一周期完成(比如一指令作一個(gè)乘法,把結(jié)果累加,同時(shí)將操作數(shù)地址逆序加1),極大的提高了信號(hào)處理的速度。由于數(shù)字處理的讀數(shù)、回寫量非常大,為了提高速度,采用指令、數(shù)據(jù)空間分開的方式,以兩條總線來分別訪問兩個(gè)空間,同時(shí),一般在DSP內(nèi)部有高速RAM,數(shù)據(jù)和程序要先加載到高速片內(nèi)ram中才能運(yùn)行。DSP為提高數(shù)字計(jì)算效率,犧牲了存儲(chǔ)器管理的方便性,對(duì)多任務(wù)的支持要差的多,所以DSP不適合于作多任務(wù)控制作用。
 
1.對(duì)密集的乘法運(yùn)算的支持
 
GPP不是設(shè)計(jì)來做密集乘法任務(wù)的,即使是一些現(xiàn)代的GPP,也要求多個(gè)指令周期來做一次乘法。而DSP處理器使用專門的硬件來實(shí)現(xiàn)單周期乘法。DSP處理器還增加了累加器寄存器來處理多個(gè)乘積的和。累加器寄存器通常比其他寄存器寬,增加稱為結(jié)果bits的額外bits來避免溢出。同時(shí),為了充分體現(xiàn)專門的乘法-累加硬件的好處,幾乎所有的DSP的指令集都包含有顯式的MAC指令。
 
2.存儲(chǔ)器結(jié)構(gòu)
 
傳統(tǒng)上,GPP使用馮.諾依曼存儲(chǔ)器結(jié)構(gòu)。這種結(jié)構(gòu)中,只有一個(gè)存儲(chǔ)器空間通過一組總線(一個(gè)地址總線和一個(gè)數(shù)據(jù)總線)連接到處理器核。通常,做一次乘法會(huì)發(fā)生4次存儲(chǔ)器訪問,用掉至少四個(gè)指令周期。
 
大多數(shù)DSP采用了哈佛結(jié)構(gòu),將存儲(chǔ)器空間劃分成兩個(gè),分別存儲(chǔ)程序和數(shù)據(jù)。它們有兩組總線連接到處理器核,允許同時(shí)對(duì)它們進(jìn)行訪問。這種安排將處理器存貯器的帶寬加倍,更重要的是同時(shí)為處理器核提供數(shù)據(jù)與指令。在這種布局下,DSP得以實(shí)現(xiàn)單周期的MAC指令。
 
還有一個(gè)問題,即現(xiàn)在典型的高性能GPP實(shí)際上已包含兩個(gè)片內(nèi)高速緩存,一個(gè)是數(shù)據(jù),一個(gè)是指令,它們直接連接到處理器核,以加快運(yùn)行時(shí)的訪問速度。從物理上說,這種片內(nèi)的雙存儲(chǔ)器和總線的結(jié)構(gòu)幾乎與哈佛結(jié)構(gòu)的一樣了。然而從邏輯上說,兩者還是有重要的區(qū)別。
 
GPP使用控制邏輯來決定哪些數(shù)據(jù)和指令字存儲(chǔ)在片內(nèi)的高速緩存里,其程序員并不加以指定(也可能根本不知道)。與此相反,DSP使用多個(gè)片內(nèi)存儲(chǔ)器和多組總線來保證每個(gè)指令周期內(nèi)存儲(chǔ)器的多次訪問。在使用DSP時(shí),程序員要明確地控制哪些數(shù)據(jù)和指令要存儲(chǔ)在片內(nèi)存儲(chǔ)器中(CMD文件的編寫)。程序員在寫程序時(shí),必須保證處理器能夠有效地使用其雙總線。
 
此外,DSP處理器幾乎都不具備數(shù)據(jù)高速緩存。這是因?yàn)镈SP的典型數(shù)據(jù)是數(shù)據(jù)流。也就是說,DSP處理器對(duì)每個(gè)數(shù)據(jù)樣本做計(jì)算后,就丟棄了,幾乎不再重復(fù)使用。
 
3 零開銷循環(huán)
 
如果了解到DSP算法的一個(gè)共同的特點(diǎn),即大多數(shù)的處理時(shí)間是花在執(zhí)行較小的循環(huán)上,也就容易理解,為什么大多數(shù)的DSP都有專門的硬件,用于零開銷循環(huán)。所謂零開銷循環(huán)是指處理器在執(zhí)行循環(huán)時(shí),不用花時(shí)間去檢查循環(huán)計(jì)數(shù)器的值、條件轉(zhuǎn)移到循環(huán)的頂部、將循環(huán)計(jì)數(shù)器減1(逆序加減指令)。
 
與此相反,GPP的循環(huán)使用軟件來實(shí)現(xiàn)。某些高性能的GPP使用轉(zhuǎn)移預(yù)報(bào)硬件,幾乎達(dá)到與硬件支持的零開銷循環(huán)同樣的效果。
 
4 定點(diǎn)計(jì)算
 
大多數(shù)DSP使用定點(diǎn)計(jì)算,而不是使用浮點(diǎn)。雖然DSP的應(yīng)用必須十分注意數(shù)字的精確,用浮點(diǎn)來做應(yīng)該容易的多,但是對(duì)DSP來說,廉價(jià)也是非常重要的。定點(diǎn)機(jī)器比起相應(yīng)的浮點(diǎn)機(jī)器來要便宜(而且更快)。為了不使用浮點(diǎn)機(jī)器而又保證數(shù)字的準(zhǔn)確,DSP處理器在指令集和硬件方面都支持飽和計(jì)算、舍入和移位。
 
發(fā)展趨勢(shì)
 
DSP是否將作為手機(jī)的心臟生存下去,目前的爭(zhēng)論非常激烈。今天的手機(jī)生產(chǎn)采用的是雙核方式:DSP芯片處理通信,如調(diào)制解調(diào)器功能和語音處理等;一塊通用處理器(通常是ARM設(shè)計(jì)的RISC處理器)負(fù)責(zé)處理手機(jī)上運(yùn)行的各種程序,如用戶界面和控制協(xié)議堆棧等。隨這兩種處理器的功能日益強(qiáng)大,或許它們中的一方將會(huì)接管另一方目前執(zhí)行的功能。但問題在于:是ARM取代DSP,還是DSP擠掉ARM?
 
如果將這三者結(jié)合起來,即由DSP結(jié)合采樣電路采集并處理信號(hào),由ARM處理器作為平臺(tái),運(yùn)行Linux操作系統(tǒng),將經(jīng)過DSP運(yùn)算的結(jié)果發(fā)送給用戶程序進(jìn)行進(jìn)一步處理,然后提供給圖形化友好的人機(jī)交互環(huán)境完成數(shù)據(jù)分析和網(wǎng)絡(luò)傳輸?shù)裙δ?,就?huì)最大限度的發(fā)揮三者所長(zhǎng)。
 
 
 
 
 
 
推薦閱讀:


MEMS技術(shù)的酷科技
協(xié)作機(jī)器人伺服、傳感器核心器件大揭秘
無人機(jī)降落方式大盤點(diǎn)
機(jī)器人熱潮中的伺服系統(tǒng)
電容的ESR知識(shí)匯總
 
 
 
要采購微處理器么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉