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