數(shù)字化技術(shù)正在極大地改變著我們的生活和體驗。作為數(shù)字化技術(shù)的基石,數(shù)字信號處理(DSP)技術(shù)已經(jīng)、正在、并且還將在其中扮演一個不可或缺的角色。DSP的核心是算法與實現(xiàn),越來越多的人正在認(rèn)識、熟悉和使用它。因此,理性地評價DSP器件的優(yōu)缺點,及時了解DSP的現(xiàn)狀以及發(fā)展趨勢,正確使用DSP芯片,才有可能真正發(fā)揮出DSP的作用。
DSP器件與算法
DSP(數(shù)字信號處理器)作為一種微處理器,其設(shè)計的出發(fā)點和通用CPU以及MCU等處理器是不同的。DSP是為完成實時數(shù)字信號處理任務(wù)而設(shè)計的,算法的高效實現(xiàn)是DSP器件的設(shè)計核心。DSP在體系結(jié)構(gòu)設(shè)計方面的很多考慮都可以追溯到算法自身的特點。我們可以通過考察一個FIR濾波器的I/O關(guān)系,即,來了解這兩者之間的對應(yīng)關(guān)系,如表1所示。
通過表1,可看出DSP器件和算法之間的必然聯(lián)系。這不僅是芯片設(shè)計人員必須考慮的問題,也是芯片使用者必須了解的。
圖1 C62x和C64x DSP內(nèi)核的數(shù)據(jù)路徑圖
圖2 C64x DSP的兩級Cache機制
現(xiàn)代數(shù)字信號處理器的特點和發(fā)展趨勢
DSP器件的發(fā)展,必須兼顧3P的因素,即性能 (performance) 、功耗 (power consumption) 和價格 (price)。總的來說,隨著VLSI技術(shù)的高速發(fā)展,現(xiàn)代DSP器件在價格顯著下降的同時,仍然保持著性能的不斷提升和單位運算量的功耗不斷降低。下面我們主要以TI公司的DSP為例來說明現(xiàn)代DSP芯片的一些特點和發(fā)展趨勢。
通過并行提升DSP芯片的性能
傳統(tǒng)的DSP芯片通過采用乘加單元和改進的哈佛結(jié)構(gòu),使其運算能力大大超越了傳統(tǒng)的微處理器。一個合理的推論是:通過增加片上運算單元的個數(shù)以及相應(yīng)的連接這些運算單元的總線數(shù)目,就可以成倍地提升芯片的總體運算能力。當(dāng)然,這個推論有兩個前提條件必須滿足:首先是存儲器的帶寬必須能夠滿足由于總線數(shù)目增加所帶來的數(shù)據(jù)吞吐量的提高;另外,多個功能單元并行工作所涉及的調(diào)度算法其復(fù)雜度必須是可實現(xiàn)的。
1997年,TI發(fā)布了基于VLIW (超長指令字) 體系結(jié)構(gòu)的C62x DSP內(nèi)核。它在片內(nèi)集成了兩組完全相同的功能單元,各包括一個ALU(算術(shù)及邏輯單元)、一個乘法單元、一個移位單元和一個地址產(chǎn)生單元。這8個功能單元通過各自的總線與兩組寄存器組連接。理想情況下,這8個功能單元可以完全并行,從而在單周期內(nèi)執(zhí)行8條指令操作。VLIW體系結(jié)構(gòu)使得DSP芯片的性能得到了大幅提升。在此基礎(chǔ)上,TI又發(fā)布了C64x DSP內(nèi)核,其主要改進之處在于進一步加寬了寄存器組與內(nèi)存之間的總線寬度,以及改善了單個功能單元對于SIMD (單指令多數(shù)據(jù)) 操作的支持等。圖1分別給出了C62x和C64x DSP內(nèi)核的數(shù)據(jù)路徑示意圖。
VLIW結(jié)構(gòu)對功能單元采用靜態(tài)調(diào)度的策略,DSP內(nèi)部只完成簡單的指令分發(fā),調(diào)度算法的實現(xiàn)可以由編譯器完成,用戶也可以通過手工編寫匯編代碼的形式實現(xiàn)自主調(diào)度。其好處是DSP芯片的使用難度大大降低。通過使用高效的C語言編譯器,普通用戶也可以開發(fā)出具有較高效率的DSP運行程序。
存儲器構(gòu)架的變化
隨著芯片主頻的不斷攀升,存儲器的訪問速度日益成為系統(tǒng)性能提升的瓶頸。在現(xiàn)有的制造工藝下,片上存儲單元的增加將導(dǎo)致數(shù)據(jù)線負(fù)載電容的增加,影響到數(shù)據(jù)線上信號的開關(guān)時間,這意味著片上高速存儲單元的增加將是十分有限的。為了解決存儲器速度與CPU內(nèi)核速度不匹配的問題,高性能的CPU普遍采用Cache(高速緩存)機制,新的DSP芯片也開始采用這種結(jié)構(gòu)。以TI的C64x DSP為例,它采用兩級Cache的結(jié)構(gòu),如圖2所示。L1 Cache分為獨立的程序緩存 (L1P) 和數(shù)據(jù)緩存 (L1D) ,其大小各為16KBytes,訪問速度與DSP內(nèi)核的運行時鐘相匹配,L2 Cache則采用統(tǒng)一的形式管理,其大小從256KB到1MB不等,訪問速度相比L1 cache大大降低。L2 Cache通過DMA與外部低速的存儲器件進行數(shù)據(jù)交換。為增加Cache的命中率,C64x的Cache還采用了多路徑的結(jié)構(gòu)形式。研究表明,在很多情況下,采用這種多級緩存的架構(gòu)可以達(dá)到采用完全片上存儲器結(jié)構(gòu)的系統(tǒng)約80%的執(zhí)行效率。但是,采用Cache機制也在一定程度上增加了系統(tǒng)執(zhí)行時間的不確定性,其對于實時系統(tǒng)的影響需要用戶認(rèn)真地加以分析和評估。
Cache對于DSP芯片還是一個比較新的概念。DSP開發(fā)人員需要更深入地了解Cache的機制,相應(yīng)地對算法的數(shù)據(jù)結(jié)構(gòu)、處理流程以及程序結(jié)構(gòu)等做出調(diào)整,以提高Cache的命中率,從而更有效地發(fā)揮Cache的作用。
SoC的趨勢
對于特定的終端應(yīng)用,SoC (系統(tǒng)芯片) 可以兼顧體積、功耗和成本等諸多因素,因而逐漸成為芯片設(shè)計的主流。DSP器件也逐漸從傳統(tǒng)的通用型處理器中分離出更多的直接面向特定應(yīng)用的SoC器件。這些SoC器件多采用DSP+ARM的雙核結(jié)構(gòu),既可以滿足核心算法的實現(xiàn)需求,又能夠滿足網(wǎng)絡(luò)傳輸和用戶界面等需求。同時,越來越多的專用接口以及協(xié)處理器被集成到芯片中,用戶只需添加極少的外部芯片,即可構(gòu)成一個完整的應(yīng)用系統(tǒng)。以TI公司為例,其推出的面向第3代無線通信終端的OMAP1510芯片等,面向數(shù)碼相機的DM270芯片等,面向?qū)I(yè)音頻設(shè)備的DA610芯片等,面向媒體處理的DM642芯片等,都是SoC的典型例子。
DSP器件的應(yīng)用
世界上沒有完美的處理器,DSP不是萬能的。DSP器件的特點使得它特別適合嵌入式的實時數(shù)字信號處理任務(wù)。
實時的概念
實時的定義因具體應(yīng)用而異。一般而言,對于逐樣本 (sample-by-sample) 處理的系統(tǒng),如果對單次樣本的處理可以在相鄰兩次采樣的時間間隔之內(nèi)完成,我們就稱這個系統(tǒng)滿足實時性的要求。即:tproess>tsample,其中,tproess代表系統(tǒng)對單次采樣樣本的處理時間,tsample代表兩次采樣之間的時間間隔。舉例來說,某個系統(tǒng)要對輸入信號進行濾波,采用的是一個100階的FIR濾波器,即。假設(shè)系統(tǒng)的采樣率為1KHz,如果系統(tǒng)在1ms之內(nèi)可以完成一次100階的FIR濾波運算,我們就認(rèn)為這個系統(tǒng)滿足實時性的要求。如果采樣率提高到10KHz,那么實時性條件也相應(yīng)提高,系統(tǒng)必須在0.1ms內(nèi)完成所有的運算。需要注意,tproess還應(yīng)當(dāng)考慮各種系統(tǒng)開銷,包括中斷的響應(yīng)時間,數(shù)據(jù)的吞吐時間等。
正確理解實時的概念是很重要的。工程實現(xiàn)的原則是“量體裁衣”,即從工程的實際需要出發(fā)設(shè)計系統(tǒng),選擇最合適的方案。對于DSP的工程實現(xiàn)而言,脫離系統(tǒng)的實時性要求,盲目選擇高性能的DSP器件是不科學(xué)的,因為這意味著系統(tǒng)復(fù)雜度、可靠性設(shè)計、生產(chǎn)工藝、開發(fā)時間、開發(fā)成本以及生產(chǎn)成本等方面不必要的開銷。從這個角度而言,即使系統(tǒng)開發(fā)成功,整個工程項目可能仍然是失敗的。
嵌入式應(yīng)用
嵌入式應(yīng)用對系統(tǒng)成本、體積和功耗等因素敏感。DSP器件在這些方面都具有可比的優(yōu)勢,因此DSP器件特別適合嵌入式的實時數(shù)字信號處理應(yīng)用。反過來,對于某一個具體的嵌入式的實時數(shù)字信號處理任務(wù),DSP卻往往不是唯一的,或者是最佳的解決方案。我們看到,越來越多的嵌入式RISC處理器開始增強數(shù)字信號處理的功能;FPGA廠商為DSP應(yīng)用所做的努力一直沒有停止過;針對某項特定應(yīng)用的ASIC/ASSP器件的推出時間也越來越快。開發(fā)人員面臨的問題是如何根據(jù)實際的應(yīng)用需求客觀地評價和選擇處理器件。表2對給出了這些器件之間的一些簡要對比。
從表中可以看出,DSP實際上是一種比較折衷的解決方案。以媒體處理應(yīng)用為例,現(xiàn)行的國際標(biāo)準(zhǔn)較多,包括MPEG1/2/4、H261/3/4等,各種標(biāo)準(zhǔn)在一段時間內(nèi)共存,新的標(biāo)準(zhǔn)還在不斷涌現(xiàn)。如果系統(tǒng)設(shè)計需要兼顧實現(xiàn)性能和多標(biāo)準(zhǔn)的適應(yīng)性,DSP可能是一個較好的選擇。但是,如果應(yīng)用比較固定,對價格又特別敏感,采用專用的ASIC芯片可能就會更加合適。
算法是DSP應(yīng)用的核心
隨著DSP器件的發(fā)展,DSP系統(tǒng)開發(fā)的主要工作已經(jīng)轉(zhuǎn)向軟件開發(fā),軟件開發(fā)將占據(jù)約80%的工作量,必須引起足夠的重視。另外,在目前的現(xiàn)狀條件下,算法是我們核心知識產(chǎn)權(quán)的主要體現(xiàn),也是產(chǎn)品競爭力的主要因素。因此在最后,筆者仍然希望強調(diào):算法是DSP應(yīng)用的核心。
相關(guān)推薦
評論
查看更多