開發(fā)包括信號處理與控制算法且要求這兩種算法間實現(xiàn)互操作性的嵌入式應用時,我們要面臨幾大挑戰(zhàn)。舉例來說,當我們將桌面應用或其它復雜應用連接到嵌入式設備上時,讓該嵌入式設備的dsp/risc 內(nèi)核實時工作并適當?shù)剡M行代碼分組(code partitioning)會相當困難,因為要這兩種不同內(nèi)核實現(xiàn)同步操作需要進行大量的工作。視頻或協(xié)議處理等眾多高級嵌入式應用會增加多內(nèi)核上代碼分組的難度,而且大多數(shù)代碼分組工作都要由編程人員完成。以采用德州儀器 (ti)tms320c55x dsp 與 arm risc 處理器的雙內(nèi)核架構為例來說,dsp 執(zhí)行信號處理任務,而 arm 9 則執(zhí)行控制功能 (如圖 1 所示)?! D 1 傳統(tǒng)的雙內(nèi)核 dsp/risc 處理架構 另一種方法是在單個設備中集成 dsp 與微處理器,我們可向 risc 內(nèi)核添加類似于 dsp 的指令(如乘法或累加指令)或向 dsp 內(nèi)核添加類似的控制指令(如執(zhí)行特定尋址任務的指令),從而實現(xiàn)上述目的。憑借相關工具的支持,這種“集成化”技術具有一定的優(yōu)勢,如在操作系統(tǒng)上僅運行唯一的原生應用,這樣就能簡化設計方案,便于集成,并加快產(chǎn)品上市進程?! ≡趥鹘y(tǒng)嵌入式應用中,分別采用通用微處理器(或微控制器)和dsp內(nèi)核來執(zhí)行通用功能與信號處理算法。上述方法的合理性在于: sp 內(nèi)核專門運行信號處理算法,效率較高; sp 架構共享一系列常見功能,如并行計算與移動、快速乘法累加 (mac) 運算以及harvard 架構等,支持多個運算的同時存??; sp處理器通常不采用risc設計原理; sp架構是在電信及多媒體領域的視頻、影像與語音處理等應用以及數(shù)據(jù)壓縮與解壓縮功能的驅動下應運而生的; sp 指令集以存儲器為導向,并針對過濾與轉換等信號處理算法的執(zhí)行進行了精心優(yōu)化。為了支持上述運算,dsp 采用專用寄存器、地址單元、乘法累加單元及片上存儲器等?! ∠到y(tǒng)應用分組的最大挑戰(zhàn)在于,每個內(nèi)核都需要自己的外部存儲器子系統(tǒng),這會增加功耗。除了控制獨立存儲器子系統(tǒng)所需的功耗之外,通常每個內(nèi)核還要控制自己的一套外設,以實現(xiàn)處理內(nèi)核數(shù)據(jù)的存取(如圖1所示,dsp 及 arm 與各自可能互不相同的一套外設及存儲器子系統(tǒng)相連),這也會增加功耗,而且還會加大整體系統(tǒng)通信開銷?! ∠?risc 內(nèi)核添加 dsp 指令 在 risc 架構中集成 dsp 單元不僅能夠實現(xiàn)更多并行操作,而且還更有效地共享資源(如外設及存儲器等)。因此, 采用速度更快的 risc 架構,dsp算法的執(zhí)行速度也相應地提高了?! 〔贿^,risc 架構采用負載/存儲原理,指令集的通用性較強,因此會對性能造成負面影響。有關設備的高速緩存技術比較復雜且大量使用管線處理,從而需要較高的時鐘頻率?;?risc 的微處理器添加增強型 dsp 功能與特性后,可支持乘法累加指令等 dsp 算法,也能支持圖像或影像處理等專門單元。 由于帶 risc/dsp 雙內(nèi)核的處理器能夠完成兩個單核處理器的工作,因此不存在處理器間通信的問題。利用集成內(nèi)核,我們可在 dsp 與控制器上動態(tài)進行代碼分組,以適應系統(tǒng)要求或環(huán)境的變化。這種模式不僅能夠加快環(huán)境轉換,而且由于無需兩套外設或存儲器,因此進一步降低了資源占用。此外,這種方法還提高了系統(tǒng)的集成度,這不僅有助于降低功耗,而且還能通過在單個設備上集成更多功能而實現(xiàn)成本降低、性能提高及芯片尺寸縮減等其它多種優(yōu)勢?! ∪缜八觯F(xiàn)代 dsp 處理器本身具備一些通用特性,如配置用于 dsp 運算的專用數(shù)據(jù)路徑、以dsp 為中心的運算所需的專用指令集、滿足多個時序存儲器存取所需的多個存儲體與總線,以及dsp 的專用外設等?! ×硪环矫?,通用處理器也在自身內(nèi)核中集成了類似 dsp 的功能。我們可采用多種方法來為通用處理器添加 dsp 功能。設計人員可添加專用的單指令、多數(shù)據(jù)指令以及諸如多媒體擴展指令集 (mmx)指令等,也可為多個取操作數(shù)在現(xiàn)有 cpu內(nèi)核(如瑞薩sh-dsp)上集成類似于定點 dsp 處理器的數(shù)據(jù)路徑及其它相關資源。與arm 公司的 neon 架構類似,我們還可向 cpu 添加 dsp協(xié)處理器。設計人員也可創(chuàng)建三內(nèi)核處理器等混合架構?! в屑?dsp 功能與特性的架構 neon simd 指令能并行處理 16 個元件,這加速了媒體及 dsp 應用。有關指令與內(nèi)核密切配合(如圖 2 所示),這種集成技術使我們能統(tǒng)一查看與 arm 內(nèi)核共享的存儲器的情況,從而能使用統(tǒng)一的指令流,明確統(tǒng)一的平臺目標,進而加速整體應用開發(fā)進程。 圖 2 arm neon 架構 這種架構對 3g 手機等特定應用而言非常適用。就這種應用來說,dsp 數(shù)據(jù)引擎可用于視頻編碼等專門的處理工作,而集成了neon dsp 功能