一、區(qū)別
兩則的分流造成的主要原因是數(shù)字信號處理的簡便性,考慮一個(gè)數(shù)字信號處理的實(shí)例,比如有限沖擊響應(yīng)濾波器(FIR)。用數(shù)學(xué)語言來說,F(xiàn)IR濾波器是做一系列的點(diǎn)積。取一個(gè)輸入量和一個(gè)序數(shù)向量,在系數(shù)和輸入樣本的滑動(dòng)窗口間作乘法,然后將所有的乘積加起來,形成一個(gè)輸出樣本。
類似的運(yùn)算在數(shù)字信號處理過程中大量的重復(fù)發(fā)生,使得為此設(shè)計(jì)的器件必須提供專門的支持,促進(jìn)了DSP器件與通用處理器(GPP)的分流:
1. 對密集乘法的支持
2. 存儲(chǔ)器結(jié)構(gòu)
此外,DSP處理器幾乎都不具備數(shù)據(jù)的高速緩存。這是因?yàn)镈SP的典型數(shù)據(jù)是數(shù)據(jù)流。也就是說,DSP處理器對每個(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)同樣地效果。
二、聯(lián)系
按照傳統(tǒng)方式,嵌入式應(yīng)用中的數(shù)字信號處理器(dsp)相對于主微控制器起到從屬的作用。在這些應(yīng)用中,MCU用作系統(tǒng)控制器,而大量的數(shù)據(jù)處理留給DSP。例如,在音頻或視頻處理器應(yīng)用中有可能需要人機(jī)界面管理,或則是整個(gè)系統(tǒng)的控制。
為完成這些任務(wù),有幾種系統(tǒng)設(shè)計(jì)方案選擇。
第一種方案是將DSP和MCU芯片組合在印制電路板上。這種方案成本高并且占用面積大,但是可適當(dāng)?shù)卣{(diào)整每個(gè)芯片的尺寸以最大限度的滿足系統(tǒng)需要。
第二種方案是將DSP功能合并到一個(gè)MCU中。這種方案只適合于直接的信號處理應(yīng)用。MCU的時(shí)鐘頻率和計(jì)算體系結(jié)構(gòu)根本上不太適合大量的數(shù)字處理。有些MCU試圖通過增加一個(gè)乘法和累加器(MAC)(dsp的一個(gè)特點(diǎn))來補(bǔ)償上述不足。但是這種方案任然缺乏高級應(yīng)用所需要的基本的“由上至下”的體系結(jié)構(gòu)設(shè)計(jì)。
第三種方案是一種將dsp和mcu組合在單個(gè)封裝內(nèi)的多芯片模塊(mcm).這種方案的局限性是,設(shè)計(jì)工程師必須按“50/50”的時(shí)間比例分配給控制和DSP功能;例如,一旦DSP超出時(shí)間,MCU不能完成計(jì)算任務(wù)。像第一種方案選擇一樣,當(dāng)DSP和MCU內(nèi)核獨(dú)立存在的時(shí)候,需要兩套開發(fā)工具。
已經(jīng)出現(xiàn)第四種方案它是將MCU的功能合并到一個(gè)DSP中。這類方案的一個(gè)例子是美國模擬器件公司(Anolog Device Inc.,簡稱ADI)的Blackfin 處理器系列。這些新型處理器具有統(tǒng)一的經(jīng)過優(yōu)化的體系結(jié)構(gòu),不僅適于數(shù)據(jù)計(jì)算,而且也適于有關(guān)的控制任務(wù)。通過平衡執(zhí)行控制任務(wù)與復(fù)雜計(jì)算的要求,這種方案可以根據(jù)系統(tǒng)實(shí)時(shí)處理的需要,完成100%的控制或者100%的計(jì)算任務(wù)。完成所有這一切任務(wù)不需要在DSP模式和MCU模式之間的模式轉(zhuǎn)換。
DSP & MCU
首先讓我們回顧一下DSP和MCU的典型功能。DSP主要是在一單個(gè)時(shí)鐘周期內(nèi)盡可能完成多個(gè)MAC(乘法和累加)操作。為了這一點(diǎn),指令的操作代碼通常是可變的超長的指令字(VLIW)。DSP也適于工作在緊密、高效的環(huán)路中。另外,為了達(dá)到性能指標(biāo)通常需要編寫優(yōu)化的匯編代碼。由于DSP的算法程序一般裝在小容量、短等待時(shí)間的內(nèi)置存儲(chǔ)器中,所以代碼密度通常不是大問題。像DSP主要用于完成計(jì)算一樣,MCU主要用于完成控制功能。同樣地,典型的MCU應(yīng)用包括許多條件操作,在程序流程中頻繁地跳轉(zhuǎn)。通常使用C或者C++語言編寫程序。代碼密度極為重要,并且根據(jù)編譯代碼的長度來評估算法。存儲(chǔ)器系統(tǒng)是基于高速緩存從而允許該系統(tǒng)設(shè)計(jì)工程師用較長等待時(shí)間從較大的存儲(chǔ)器中調(diào)用較大程序。利用基于高速緩存系統(tǒng),程序員不需要考慮如何以及何時(shí)將指令輸入到內(nèi)核去執(zhí)行。
統(tǒng)一的DSP和MCU兼?zhèn)鋬烧叩膬?yōu)點(diǎn)。它的指令集由16 bit,32 bit和64 bit操作碼組成,但是由于最常用的指令采用16 bit編碼,所以編譯代碼密度大小與那些流行的MCU相同。另外,它包括一個(gè)存儲(chǔ)器保護(hù)功能以及指令高速緩存和數(shù)據(jù)高速緩存,作為整個(gè)存儲(chǔ)器管理單元(MMU)的一部分。此外,容易提供一套完整的C/C++開發(fā)工具,提供可選匯編語言或者全部匯編語言適合算法優(yōu)化的編程。
系統(tǒng)控制的一個(gè)重要方面是任務(wù)管理。實(shí)時(shí)操作系統(tǒng)(RTOS)逐漸地用于控制復(fù)雜系統(tǒng)中多種正在進(jìn)行的和同時(shí)發(fā)生的任務(wù)。通過提供對任務(wù)調(diào)度與管理的支持,RTOS簡化了編程模式,這通常是由MCU控制的,由于普通的DSP不具備支持RTOS需要的所有功能以便有效地控制。
然而,統(tǒng)一的DSP和MCU促進(jìn)了RTOS幾個(gè)重要功能的發(fā)展。第一個(gè)是限制訪問功能以保護(hù)或者保留存儲(chǔ)單元。第二個(gè)是配備單獨(dú)的堆棧和幀指針以減少操作系統(tǒng)(OS)請求以及中斷和異常處理所需的等待時(shí)間。第三個(gè)是具備單獨(dú)的用戶操作模式和管理員操作模式。過去,DSP按照等效于管理員操作模式工作,從而允許在任何時(shí)間完全訪問所有的系統(tǒng)資源。然而MCU提供類似的在用戶操作模式,它允許在OS的頂層運(yùn)行應(yīng)用軟件。現(xiàn)在,在一個(gè)統(tǒng)一的體系結(jié)構(gòu)下提供兩種操作模式,因?yàn)樵鰪?qiáng)的DSP系統(tǒng)能夠限制用戶應(yīng)用軟件僅通過OS訪問系統(tǒng)資源。
MCU的一個(gè)優(yōu)點(diǎn)是包含使用靈活和種類齊全的外圍設(shè)備。作為通用的嵌入式控制器,它們通常具備可編程輸入輸出(I/O)標(biāo)志、定時(shí)器、串行接口和日益增加越來越復(fù)雜的標(biāo)準(zhǔn)接口。MCU外圍設(shè)備的主要作用是嵌入式控制,而不是大量計(jì)算。例如,一個(gè)實(shí)時(shí)時(shí)鐘信號可以喚醒一只溫度傳感器用以采集環(huán)境溫度并且將一個(gè)延遲的信息通過I/O引腳反饋到MCU。然后,一個(gè)定時(shí)器的脈沖寬度調(diào)制(PWM)輸出相應(yīng)地能夠增加或者減小風(fēng)扇電機(jī)的轉(zhuǎn)速。像MCU一樣,統(tǒng)一的DSP和MCU具備一套系統(tǒng)控制外圍設(shè)備(例如,實(shí)時(shí)時(shí)鐘、多功能定時(shí)器、監(jiān)視定時(shí)器、雙向標(biāo)志位引腳)。然而,它還包括一些高速接口(例如,PCI、異步或者同步存儲(chǔ)器控制器、USB、并行視頻接口)以便通過這些接口,與許多DMA通道配合快速搬移數(shù)據(jù),從而有助于有效利用高速DSP內(nèi)核的信號處理能力。
功耗控制一直是嵌入式控制器的一項(xiàng)功能。但是,當(dāng)系統(tǒng)要求DSP具有優(yōu)良的性能時(shí),對其電源的選擇就不太理想。如果將獨(dú)立的MCU和DSP芯片應(yīng)用于電源敏感的場合,通常必須為每個(gè)芯片提供一個(gè)單獨(dú)的開關(guān)穩(wěn)壓器,因?yàn)檫@兩個(gè)器件的內(nèi)核電壓經(jīng)常不一致。這會(huì)導(dǎo)致降低電源變換效率和增加設(shè)計(jì)器件的引腳數(shù)目,最終增加布線的復(fù)雜程度和解決方案的成本。此外,當(dāng)MCU和DSP的內(nèi)核集成到一個(gè)芯片上時(shí),電源解決方案本質(zhì)上不是最佳的,因?yàn)樗仨殱M足2個(gè)完全獨(dú)立并具有不同負(fù)載特性處理器的需求。將這種情況與統(tǒng)一的DSP和MCU相比較,它包含一個(gè)集成動(dòng)態(tài)電源管理(DPM)控制器。由于它是只有一個(gè)處理器的體系結(jié)構(gòu),所以該控制器能夠完全適合給定應(yīng)用的需求。它提供幾種固有的電源模式以支持多種系統(tǒng)性能等級。另外,對于未使用的時(shí)鐘和L2存儲(chǔ)器可選擇性地禁止。該P(yáng)LL的頻率可在一個(gè)寬范圍(通常1倍~31倍)進(jìn)行調(diào)節(jié),以滿足在DSP和MCU內(nèi)部多層次的處理需求。最后能夠調(diào)節(jié)電壓(外部或者通過一個(gè)集成的開關(guān)控制器)以提供指數(shù)式的節(jié)省功耗。由于系統(tǒng)成本、開發(fā)容易、器件采購和升級能力的原因,設(shè)計(jì)工程師正趨向采用一種單芯片解決方案用于嵌入式信號處理解決方案。這種單芯片解決方案必須能夠同樣好地完成DSP和MCU的功能,所以有必要提出一種統(tǒng)一的處理器體系結(jié)構(gòu)。面對MCU的挑戰(zhàn),比較簡單的解決方案是將MCU的功能合并到一個(gè)高性能的DSP內(nèi)核,而不是與此相反。當(dāng)今一個(gè)統(tǒng)一的DSP和MCU平臺(tái)(由BlackfinDSP系列產(chǎn)品說明)已經(jīng)投放市場,它將在MCU和DSP目前應(yīng)用領(lǐng)域提供許多應(yīng)用。
本文轉(zhuǎn)自網(wǎng)絡(luò),版權(quán)歸原作者,如果您覺得不好,請聯(lián)系我們刪除!
審核編輯 黃昊宇
-
dsp
+關(guān)注
關(guān)注
552文章
7962瀏覽量
348280 -
mcu
+關(guān)注
關(guān)注
146文章
16998瀏覽量
350321 -
RTOS
+關(guān)注
關(guān)注
21文章
809瀏覽量
119437 -
架構(gòu)
+關(guān)注
關(guān)注
1文章
510瀏覽量
25447
發(fā)布評論請先 登錄
相關(guān)推薦
評論