向集成微控制器/DSP" title="DSP">DSP的內(nèi)核發(fā)展的趨勢(shì)
嵌入式應(yīng)用包括信號(hào)處理算法與控制算法,,在多種實(shí)時(shí)嵌入式系統(tǒng)中這兩種算法共同執(zhí)行必需的功能,,因此我們應(yīng)了解控制算法與數(shù)字信號(hào)處理器 (DSP) 算法是如何實(shí)現(xiàn)互操作性的。在手機(jī)和 MP3 播放器等應(yīng)用中,,要解決上述互操作性問題,,傳統(tǒng)做法是分別用 RISC" title="RISC">RISC 處理器和DSP來(lái)處理控制算法與信號(hào)處理算法。例如,,在手機(jī)中,,信號(hào)處理功能負(fù)責(zé)處理音視頻應(yīng)用中的回聲消除與編解碼工作。由于DSP 架構(gòu)是專門設(shè)計(jì)用于執(zhí)行信號(hào)處理算法的,,因此信號(hào)處理算法在 DSP 上的 運(yùn)行效率很高,;而手機(jī)中的控制軟件則負(fù)責(zé)執(zhí)行狀態(tài)機(jī),即控制用戶界面,、鍵盤及其它非信號(hào)處理功能,。
開發(fā)包括信號(hào)處理與控制算法且要求這兩種算法間實(shí)現(xiàn)互操作性的嵌入式應(yīng)用時(shí),,我們要面臨幾大挑戰(zhàn)。舉例來(lái)說,,當(dāng)我們將桌面應(yīng)用或其它復(fù)雜應(yīng)用連接到嵌入式設(shè)備上時(shí),,讓該嵌入式設(shè)備的DSP/RISC 內(nèi)核實(shí)時(shí)工作并適當(dāng)?shù)剡M(jìn)行代碼分組(code partitioning)會(huì)相當(dāng)困難,因?yàn)橐@兩種不同內(nèi)核實(shí)現(xiàn)同步操作需要進(jìn)行大量的工作,。視頻或協(xié)議處理等眾多高級(jí)嵌入式應(yīng)用會(huì)增加多內(nèi)核上代碼分組的難度,,而且大多數(shù)代碼分組工作都要由編程人員完成。以采用德州儀器 (TI)TMS320C55x DSP 與 ARM RISC 處理器的雙內(nèi)核架構(gòu)為例來(lái)說,,DSP 執(zhí)行信號(hào)處理任務(wù),,而 ARM 9 則執(zhí)行控制功能 (如圖 1 所示)。
圖 1. 傳統(tǒng)的雙內(nèi)核 DSP/RISC 處理架構(gòu)
另一種方法是在單個(gè)設(shè)備中集成 DSP 與微處理器" title="微處理器">微處理器,,我們可向 RISC 內(nèi)核添加類似于 DSP 的指令(如乘法或累加指令)或向 DSP 內(nèi)核添加類似的控制指令(如執(zhí)行特定尋址任務(wù)的指令),,從而實(shí)現(xiàn)上述目的。憑借相關(guān)工具的支持,,這種“集成化”技術(shù)具有一定的優(yōu)勢(shì),,如在操作系統(tǒng)上僅運(yùn)行唯一的原生應(yīng)用,這樣就能簡(jiǎn)化設(shè)計(jì)方案,,便于集成,,并加快產(chǎn)品上市進(jìn)程。
在傳統(tǒng)嵌入式應(yīng)用中,,分別采用通用微處理器(或微控制器)和DSP內(nèi)核來(lái)執(zhí)行通用功能與信號(hào)處理算法,。上述方法的合理性在于:
- DSP 內(nèi)核專門運(yùn)行信號(hào)處理算法,效率較高,;
- DSP 架構(gòu)共享一系列常見功能,,如并行計(jì)算與移動(dòng)、快速乘法累加 (MAC) 運(yùn)算以及Harvard 架構(gòu)等,,支持多個(gè)運(yùn)算的同時(shí)存??;
- DSP處理器通常不采用RISC設(shè)計(jì)原理,;
- DSP架構(gòu)是在電信及多媒體領(lǐng)域的視頻、影像與語(yǔ)音處理等應(yīng)用以及數(shù)據(jù)壓縮與解壓縮功能的驅(qū)動(dòng)下應(yīng)運(yùn)而生的,;
- DSP 指令集以存儲(chǔ)器為導(dǎo)向并針對(duì)過濾與轉(zhuǎn)換等信號(hào)處理算法的執(zhí)行進(jìn)行了精心優(yōu)化,。為了支持上述運(yùn)算,DSP 采用專用寄存器,、地址單元,、乘法累加單元及片上存儲(chǔ)器等。
系統(tǒng)應(yīng)用分組的最大挑戰(zhàn)在于,,每個(gè)內(nèi)核都需要自己的外部存儲(chǔ)器子系統(tǒng),,這會(huì)增加功耗,。除了控制獨(dú)立存儲(chǔ)器子系統(tǒng)所需的功耗之外,通常每個(gè)內(nèi)核還要控制自己的一套外設(shè),,以實(shí)現(xiàn)處理內(nèi)核數(shù)據(jù)的存?。ㄈ鐖D1所示,DSP 及 ARM 與各自可能互不相同的一套外設(shè)及存儲(chǔ)器子系統(tǒng)相連),,這也會(huì)增加功耗,,而且還會(huì)加大整體系統(tǒng)通信開銷。
向 RISC 內(nèi)核添加 DSP 指令
在 RISC 架構(gòu)中集成 DSP 單元不僅能夠?qū)崿F(xiàn)更多并行操作,,而且還更有效地共享資源(如外設(shè)及存儲(chǔ)器等),。因此,采用速度更快的 RISC 架構(gòu),,DSP算法的執(zhí)行速度也相應(yīng)地提高了,。
不過,RISC 架構(gòu)采用負(fù)載/存儲(chǔ)原理,,指令集的通用性較強(qiáng),,因此會(huì)對(duì)性能造成負(fù)面影響。有關(guān)設(shè)備的高速緩存技術(shù)比較復(fù)雜且大量使用管線處理,,從而需要較高的時(shí)鐘頻率,。基于 RISC 的微處理器添加增強(qiáng)型 DSP 功能與特性后,,可支持乘法累加指令等 DSP 算法,,也能支持圖像或影像處理等專門單元。
由于帶 RISC/DSP 雙內(nèi)核的處理器能夠完成兩個(gè)單核處理器的工作,,因此不存在處理器間通信的問題,。利用集成內(nèi)核,我們可在 DSP 與控制器上動(dòng)態(tài)進(jìn)行代碼分組,,以適應(yīng)系統(tǒng)要求或環(huán)境的變化,。這種模式不僅能夠加快環(huán)境轉(zhuǎn)換,而且由于無(wú)需兩套外設(shè)或存儲(chǔ)器,,因此進(jìn)一步降低了資源占用,。此外,這種方法還提高了系統(tǒng)的集成度,,這不僅有助于降低功耗,,而且還能通過在單個(gè)設(shè)備上集成更多功能而實(shí)現(xiàn)成本降低、性能提高及芯片尺寸縮減等其它多種優(yōu)勢(shì),。
如前所述,,現(xiàn)代 DSP 處理器本身具備一些通用特性,如配置用于 DSP 運(yùn)算的專用數(shù)據(jù)路徑、以DSP 為中心的運(yùn)算所需的專用指令集,、滿足多個(gè)時(shí)序存儲(chǔ)器存取所需的多個(gè)存儲(chǔ)體與總線,,以及DSP 的專用外設(shè)等。
另一方面,,通用處理器也在自身內(nèi)核中集成了類似 DSP 的功能,。我們可采用多種方法來(lái)為通用處理器添加 DSP 功能。設(shè)計(jì)人員可添加專用的單指令,、多數(shù)據(jù)指令以及諸如多媒體擴(kuò)展指令集 (MMX)指令等,,也可為多個(gè)取操作數(shù)在現(xiàn)有 CPU內(nèi)核(如 Hitachi SH-DSP)上集成類似于定點(diǎn) DSP 處理器的數(shù)據(jù)路徑及其它相關(guān)資源。與ARM 公司的 NEON 架構(gòu)類似,,我們還可向 CPU 添加 DSP協(xié)處理器,。設(shè)計(jì)人員也可創(chuàng)建三內(nèi)核處理器等混合架構(gòu)。
帶有集成 DSP 功能與特性的架構(gòu)
NEON SIMD 指令能并行處理 16 個(gè)元件,,這加速了媒體及 DSP 應(yīng)用,。有關(guān)指令與內(nèi)核密切配合(如圖 2 所示),這種集成技術(shù)使我們能統(tǒng)一查看與 ARM 內(nèi)核共享的存儲(chǔ)器的情況,,從而能使用統(tǒng)一的指令流,,明確統(tǒng)一的平臺(tái)目標(biāo),進(jìn)而加速整體應(yīng)用開發(fā)進(jìn)程,。
這種架構(gòu)對(duì) 3G 手機(jī)等特定應(yīng)用而言非常適用,。就這種應(yīng)用來(lái)說,DSP 數(shù)據(jù)引擎可用于視頻編碼等專門的處理工作,,而集成了NEON DSP 功能的 ARM 內(nèi)核則可用于音視頻解碼,,RISC 處理引擎則可用于用戶界面及協(xié)議棧處理等。
圖 2. ARM NEON 架構(gòu)
三內(nèi)核架構(gòu)(如圖 3 所示)將類似于 MCU 的 RISC 負(fù)載/存儲(chǔ)型架構(gòu)與類似 DSP 的 Harvard 存儲(chǔ)器架構(gòu)結(jié)合在一起,,地址總線均為 32 位寬,。程序與數(shù)據(jù)存儲(chǔ)器總線為 64 位寬。內(nèi)核本身不包含任何存儲(chǔ)器,,不過可由設(shè)計(jì)人員定制,。超標(biāo)量架構(gòu)包括 32 位定點(diǎn)數(shù)據(jù)通路、負(fù)載/存儲(chǔ)單元及程序控制單元等,。該設(shè)備每個(gè)循環(huán)能執(zhí)行多達(dá)三個(gè)指令(數(shù)據(jù)通路指令,、負(fù)載/存儲(chǔ)指令以及指定回路的指令),這適合高性能DSP應(yīng)用的需求,。
圖 3. 三內(nèi)核架構(gòu)
有關(guān)設(shè)備還支持各種 DSP 尋址模式,,其中包括帶前后增量的寄存器間接尋址、索引尋址,、循環(huán)(自動(dòng)模數(shù))尋址及位翻轉(zhuǎn)尋址等。位翻轉(zhuǎn)技術(shù)對(duì)譯出FFT算法的輸入輸出很有用,這是常見的DSP操作,。此外還支持零開銷硬件循環(huán),。
總之,采用集成 RISC/DSP 處理器支持實(shí)時(shí)嵌入式系統(tǒng)的優(yōu)勢(shì)在于:
- 在不影響DSP與微控制器性能的條件下,,單個(gè)架構(gòu)完美集成了 DSP與微控制器的功能與特性,;
- 快速任務(wù)切換功能使集成內(nèi)核能像虛擬處理器一樣工作,并在DSP 與微控制器任務(wù)間實(shí)現(xiàn)快速切換,,有時(shí)僅需幾個(gè)時(shí)鐘周期,;
- 較大的片上存儲(chǔ)器塊(RAM 與 ROM)有助于提高系統(tǒng)性能并降低功耗;
- 集成架構(gòu)無(wú)需額外的粘接邏輯便可直接控制片上外設(shè),。