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