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