采用集成 DSP 與微處理器內(nèi)核的嵌入式應(yīng)用
向集成微控制器/DSP的內(nèi)核發(fā)展的趨勢(shì)
本文引用地址:http://www.ex-cimer.com/article/150659.htm嵌入式應(yīng)用包括信號(hào)處理算法與控制算法,在多種實(shí)時(shí)嵌入式系統(tǒng)中這兩種算法共同執(zhí)行必需的功能,因此我們應(yīng)了解控制算法與數(shù)字信號(hào)處理器 (DSP) 算法是如何實(shí)現(xiàn)互操作性的。在手機(jī)和 MP3 播放器等應(yīng)用中,要解決上述互操作性問(wèn)題,傳統(tǒng)做法是分別用 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)說(shuō),當(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)說(shuō),DSP 執(zhí)行信號(hào)處理任務(wù),而 ARM 9 則執(zhí)行控制功能 (如圖 1 所示)。
圖 1. 傳統(tǒng)的雙內(nèi)核 DSP/RISC 處理架構(gòu)
另一種方法是在單個(gè)設(shè)備中集成 DSP 與微處理器,我們可向 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ì)過(guò)濾與轉(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)地提高了。
不過(guò),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è)單核處理器的工作,因此不存在處理器間通信的問(wèn)題。利用集成內(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)的集成度,這不僅有助于降低功耗,而且還能通過(guò)在單個(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)說(shuō),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ǔ)器,不過(guò)可由設(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è)。
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論