淺析SoC時(shí)代的多核DSP產(chǎn)品
——
數(shù)字信號(hào)處理器(DSP)是對數(shù)字信號(hào)進(jìn)行高速實(shí)時(shí)處理的專用處理器。在當(dāng)今的數(shù)字化的背景下,DSP已經(jīng)成為電子工業(yè)領(lǐng)域增長最迅速的產(chǎn)品之一。據(jù)世界半導(dǎo)體貿(mào)易統(tǒng)計(jì)組織(WSTS)發(fā)布的統(tǒng)計(jì)和預(yù)測報(bào)告顯示,1996~2005年,全球DSP市場將一直保持穩(wěn)步增長,2005年的增長率將達(dá)34%。因此,全球DSP市場的前景非常廣闊,DSP已成為數(shù)字通信、智能控制、消費(fèi)類電子產(chǎn)品等領(lǐng)域的基礎(chǔ)器件。隨著應(yīng)用領(lǐng)域的擴(kuò)大,人們對DSP應(yīng)用系統(tǒng)的性能、功耗和成本提出了越來越高的要求,并嘗試著在單一硅片上集成更多的處理器核,于是多核DSP應(yīng)運(yùn)而生,并推動(dòng)了SoC產(chǎn)業(yè)的成長和壯大,一躍成為SoC時(shí)代的驕子。
多核DSP的應(yīng)用市場
3G移動(dòng)通信
多核DSP最重要的應(yīng)用領(lǐng)域之一就是3G數(shù)字移動(dòng)通信。其中包括基站和移動(dòng)終端兩方面的應(yīng)用?;舅褂玫腄SP更注重高性能,對成本和功耗不是非常敏感。而移動(dòng)終端要面向具體的用戶,設(shè)計(jì)時(shí)必須在功能、功耗、體積、價(jià)格等方面進(jìn)行綜合考慮,因此移動(dòng)終端對核心處理器的要求更加苛刻。
2G數(shù)字蜂窩電話的核心處理器都是基于雙處理器結(jié)構(gòu)的,即包含1個(gè)DSP和1個(gè)RISC微控制器(MCU)。DSP用來實(shí)現(xiàn)通信協(xié)議棧中物理層協(xié)議的功能;而MCU則用來支持用戶操作界面,并實(shí)現(xiàn)上層通信協(xié)議的各項(xiàng)功能。
3G數(shù)字移動(dòng)通信標(biāo)準(zhǔn)增加了通信帶寬,并更加強(qiáng)調(diào)高級(jí)數(shù)據(jù)應(yīng)用,例如可視電話、GPS定位、MPEG4播放等。這就對核心處理器的性能提出了更高的要求,即能夠同時(shí)支持3G移動(dòng)通信和數(shù)據(jù)應(yīng)用。在現(xiàn)代化的3G系統(tǒng)中,對處理速度的要求大概要超過60~130億次每秒運(yùn)算。如果用現(xiàn)有的DSP,需要20~80片低功耗DSP芯片才能滿足要求。因此,承擔(dān)這一重任的多核DSP處理器芯片必須在功耗增長不大的前提下大幅度提高性能,并且要具備強(qiáng)大的多任務(wù)實(shí)時(shí)處理能力。多核DSP在嵌入式操作系統(tǒng)的實(shí)時(shí)調(diào)度下,能夠?qū)⒍鄠€(gè)任務(wù)劃分到各個(gè)內(nèi)核,大大提高了運(yùn)算速度和實(shí)時(shí)處理性能。這些特點(diǎn)將使3G手機(jī)能夠同時(shí)支持實(shí)時(shí)通信和用戶交互式多媒體應(yīng)用,支持用戶下載各種應(yīng)用程序。圖1給出了一種3G通信多核DSP處理器的架構(gòu)。
軍事應(yīng)用
多核DSP在軍事領(lǐng)域的應(yīng)用主要包括軟件無線電和目標(biāo)識(shí)別兩大方面。
軟件無線電(SR)是將標(biāo)準(zhǔn)化、模塊化的硬件功能單元通過高速總線或高速網(wǎng)絡(luò)等連接形成一個(gè)通用的數(shù)字式硬件平臺(tái),再通過軟件加載的方式來實(shí)現(xiàn)各種類型無線通信系統(tǒng)的開放式體系結(jié)構(gòu)。采用軟件無線電技術(shù)實(shí)現(xiàn)的通信系統(tǒng)靈活性強(qiáng),易于實(shí)現(xiàn)與不同的頻帶、帶寬和調(diào)制方式的通信系統(tǒng)的互連、互通,系統(tǒng)的升級(jí)更新方便,能更充分地利用有限的頻譜資源。圖2給出了一種SR的體系結(jié)構(gòu)。SR的基帶處理部分的計(jì)算非常密集,要完成信號(hào)的調(diào)制/解調(diào)、編/譯碼、交織/去交織、擴(kuò)頻/解擴(kuò)、加/解密、信道均衡、定時(shí)、同步甚至信源編碼等工作,產(chǎn)生所謂DSP瓶頸。傳統(tǒng)的方法是采用樹狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)的多處理器技術(shù),用可編程器件(如FPGA)、DSP和通用CPU等結(jié)合實(shí)現(xiàn)。多核DSP的出現(xiàn)將有助于解決DSP瓶頸問題,并成為SR的核心部件。
另外,軍用導(dǎo)彈、魚雷、雷達(dá)中大量采用目標(biāo)識(shí)別技術(shù)。其核心算法就是把傳感器采集的實(shí)時(shí)圖像與存儲(chǔ)在系統(tǒng)中的原有地圖進(jìn)行對比,以確定導(dǎo)彈的現(xiàn)有方位并及時(shí)調(diào)整飛行姿態(tài),因此這類應(yīng)用的實(shí)時(shí)性要求非常高。如果采用多核DSP,就可以把整個(gè)地圖劃分成多個(gè)小塊,在多個(gè)DSP核上同時(shí)進(jìn)行圖像對比運(yùn)算,找出最大匹配目標(biāo)。
數(shù)字消費(fèi)類電子
DSP是數(shù)字消費(fèi)類電子產(chǎn)品中的關(guān)鍵器件,這類產(chǎn)品的更新?lián)Q代非???,對核心DSP的性能追求也無止境。
由于DSP的廣泛應(yīng)用,數(shù)字音響設(shè)備得以飛速發(fā)展,帶數(shù)碼控制功能的多通道、高保真音響逐漸進(jìn)入人們的生活。此外,DSP在音效處理領(lǐng)域也得到廣泛采用,例如多媒體音效卡。在語音識(shí)別領(lǐng)域,DSP也大有用武之地。Motorola公司等廠商正在開發(fā)基于DSP的語音識(shí)別系統(tǒng)。
數(shù)字視頻產(chǎn)品也大量采用高性能DSP。例如數(shù)碼攝像機(jī),已經(jīng)能夠?qū)崟r(shí)地對圖像進(jìn)行MPEG4壓縮并存儲(chǔ)到隨機(jī)的微型硬盤甚至DVD光碟上。此外,多核DSP還應(yīng)用在視頻監(jiān)控領(lǐng)域。這類應(yīng)用往往要求具有將高速、實(shí)時(shí)產(chǎn)生的多路視頻數(shù)字信號(hào)進(jìn)行壓縮、傳輸、存儲(chǔ)、回放和分析的功能,其核心的工作就是完成大數(shù)據(jù)量、大計(jì)算量的數(shù)字視頻/音頻的壓縮編碼處理。
數(shù)字電視的普及也將使用大量高性能DSP。Philips半導(dǎo)體電視機(jī)和機(jī)頂盒市場副總裁Julian認(rèn)為,結(jié)合多種網(wǎng)絡(luò)傳輸方式的多模式并且融合了PVR(個(gè)人視頻錄像)功能的高端機(jī)頂盒將成為未來家庭媒體的中心。人們通過機(jī)頂盒不但可以進(jìn)行視頻點(diǎn)播,而且可以實(shí)現(xiàn)在線購物、電視醫(yī)院、遠(yuǎn)程互動(dòng)教育等功能。
智能控制設(shè)備
汽車電子設(shè)備是這一領(lǐng)域的重要市場之一?,F(xiàn)代駕乘人員對汽車的安全性、舒適性和娛樂性等要求越來越高。多核的DSP也將逐漸進(jìn)軍這一領(lǐng)域。例如在主動(dòng)防御式安全系統(tǒng)中,ACC(自動(dòng)定速巡航)、LDP(車線偏離防止)、智能氣囊、故障檢測、免提語音識(shí)別、車輛信息記錄等都需要多個(gè)DSP各司其職,對來自各個(gè)傳感器的數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,及時(shí)糾正車輛行駛狀態(tài),記錄行駛信息。
此外,多核DSP在智能機(jī)器人、工業(yè)控制領(lǐng)域也有非常廣闊的市場。
多核DSP的技術(shù)基礎(chǔ)
芯片制造工藝技術(shù)的進(jìn)步和SoC設(shè)計(jì)與驗(yàn)證水平的提升分別是多核DSP誕生的“硬件”基礎(chǔ)和“軟件”基礎(chǔ)。
目前,TI生產(chǎn)DSP芯片的工藝已經(jīng)達(dá)到75nm的水平,能夠在一塊僅有拇指大小的單芯片上集成8個(gè)TMS320DSP內(nèi)核。據(jù)TI預(yù)測,到2010年,DSP工藝將穩(wěn)定在65nm,芯片的集成度將會(huì)增加11倍,在單個(gè)芯片內(nèi)將能集成5億只晶體管。因此,制造工藝的進(jìn)步,晶體管集成度的增加將為多核DSP掃清前進(jìn)道路上的第一道障礙。
另外,多核DSP也離不開SoC設(shè)計(jì)水平的進(jìn)步。SoC設(shè)計(jì)可以對整個(gè)系統(tǒng)的模型算法、軟硬件功能、芯片結(jié)構(gòu)、各電路模塊直至器件的設(shè)計(jì)進(jìn)行綜合考慮,可以在同樣的工藝條件下,實(shí)現(xiàn)更高性能的系統(tǒng)指標(biāo)。具體來說,軟硬件協(xié)同設(shè)計(jì)、軟硬件協(xié)同驗(yàn)證、IP核生成與復(fù)用、高速互連總線、低功耗設(shè)計(jì)等多項(xiàng)SoC關(guān)鍵設(shè)計(jì)技術(shù)已經(jīng)有人展開研究,并取得了突破性進(jìn)展。
多核DSP的實(shí)例
同構(gòu)多核DSP
這類多核DSP內(nèi)部集成了若干個(gè)結(jié)構(gòu)對等的DSP核,不存在其他處理器核。
ADI公司的BlackfinTM嵌入式對稱多處理器ADSP-BF561內(nèi)部集成了2個(gè)對稱的600MHz高性能BlackfinTM內(nèi)核,片內(nèi)共享328KB的存儲(chǔ)器。該處理器采用類RISC的寄存器和指令模式,易于編程和編譯優(yōu)化,同時(shí)具有先進(jìn)的跟蹤、調(diào)試和性能監(jiān)測方式。BlackfinTM內(nèi)核采用動(dòng)態(tài)功耗管理技術(shù),可以改變電壓和頻率,從而為便攜式應(yīng)用提供更長的待機(jī)時(shí)間。
TI公司的TMS320VC5441浮點(diǎn)DSP內(nèi)部集成了4個(gè)C54x核,每個(gè)核具有192KB的局部存儲(chǔ)器、3個(gè)多通道緩沖串口、DMA、定時(shí)器等部件。每個(gè)子系統(tǒng)都具有獨(dú)立的程序和數(shù)據(jù)空間,可以同時(shí)訪問指令和數(shù)據(jù)。該DSP采用了很多并行訪存指令,可以在一拍內(nèi)完成2讀1寫操作,從而大大提高了并行性。片內(nèi)共享512KB的程序存儲(chǔ)器。圖3給出了該DSP的組成結(jié)構(gòu)。
異構(gòu)多核DSP
異構(gòu)多核DSP是最常見的一類多核DSP,其中既包含DSP核,又包含用于控制的MCU(微控制器)核,從而充分發(fā)揮DSP的處理速度和MCU的控制功能。
TI公司的SMJ320C80是世界上第一個(gè)單芯片并行MIMD(多指令多數(shù)據(jù))DSP。其中集成了一個(gè)性能為100MFLOPS的32位RISC浮點(diǎn)CPU核、4個(gè)32位并行處理DSP、一個(gè)傳輸控制器(TC)、一個(gè)視頻控制器(VC)。所有的處理器通過Crossbar進(jìn)行耦合,共享50KB的片上RAM,每秒可以完成20億次運(yùn)算。該處理器主要面向軍用領(lǐng)域。
TI公司的OMAP處理器是這類DSP的典型代表。圖4給出了最新推出的OMAP2420的組成結(jié)構(gòu)。該處理器采用90nm工藝,集成了主頻為330MHz的ARM1136核、TMS320C55x DSP核、2D/3D圖形加速器、圖像與視頻加速器、共享存儲(chǔ)控制器/DMA等,能夠?qū)崿F(xiàn)30幀每秒VGA分辨率的全動(dòng)態(tài)視頻編解碼。
Motorola公司針對窄帶無線系統(tǒng)(例如GSM和TDMA/AMPS)應(yīng)用,優(yōu)化設(shè)計(jì)出了結(jié)構(gòu)非常緊湊的雙核DSP產(chǎn)品DSP56654。該處理器內(nèi)部集成了Motorola的32位RISC控制器M-CORETM、DSP56600內(nèi)核以及豐富的外設(shè)部件。其中M-CORETM內(nèi)核采用32位的Load/Store RISC架構(gòu),16位的定長指令和4級(jí)流水線設(shè)計(jì)。該處理器具有靜態(tài)和動(dòng)態(tài)功耗管理功能,能夠在-40℃~85℃溫度范圍內(nèi)工作。
Cradle公司是DSP領(lǐng)域的后起之秀,其最近推出的高性能CT3616處理器內(nèi)部集成了16個(gè)DSP核與8個(gè)GPP(通用處理器)核,主頻375MHz,能夠進(jìn)行16路MPEG4 SP@L3實(shí)時(shí)編碼,最高DSP性能達(dá)到96G MAC運(yùn)算??删幊蘄/O是該處理器的另外一大特色,共有144個(gè)可編程的I/O引腳,允許用戶自定義接口。該處理器集成的DDR DRAM接口可以掛接333MHz的DDR存儲(chǔ)器。全芯片的功耗僅僅為4.5W,可以應(yīng)用于音頻/視頻編碼、多路監(jiān)控、系統(tǒng)控制等領(lǐng)域。
瑞薩半導(dǎo)體(Renesas)最新推出的32位RISC處理器SuperHTM系列也采用了多核DSP的結(jié)構(gòu)。其中具有代表性的產(chǎn)品有SH7720。該處理器集成了一個(gè)32位SuperHTM架構(gòu)的RISC CPU核、一個(gè)DSP內(nèi)核、32KB的Cache存儲(chǔ)器、16KB的X/Y存儲(chǔ)器,此外還包含中斷控制器、高速DMA控制器、USB主機(jī)接口、LCD控制器、A/D和D/A轉(zhuǎn)換器、SIM卡接口等豐富的外設(shè)部件。
DSP核+協(xié)處理器
這類DSP一般針對某一類應(yīng)用集成專用的協(xié)處理器,從而對DSP實(shí)現(xiàn)算法加速。TI的研究表明,對于像MPEG4編解碼這樣的任務(wù),使用協(xié)處理器可以降低50%的DSP負(fù)荷,從而平衡系統(tǒng)功耗。
TI公司的高性能數(shù)字信號(hào)處理器TMS320C6416是這類多核DSP的典型代表。該DSP除了包含一個(gè)功能強(qiáng)大的C64x DSP核之外,還集成了一個(gè)維特比協(xié)處理器(VCP)和一個(gè)Turbo解碼協(xié)處理器。其中維特比協(xié)處理器用于語音和低碼率數(shù)據(jù)通道解碼,支持500個(gè)8Kb/s碼率的語音通道,并且可以對強(qiáng)制長度、碼率和幀長度等解碼參數(shù)進(jìn)行編程。Turbo協(xié)處理器用于高碼率數(shù)據(jù)通道的解碼,支持35個(gè)384Kb/s碼率的數(shù)據(jù)通道。
另外一個(gè)例子就是Motorola公司的MSC8126 多核DSP。該DSP集成了4顆StarCoreTM DSP核、一個(gè)Turbo協(xié)處理器、一個(gè)維特比協(xié)處理器、UART接口、4個(gè)TDM串行接口、32個(gè)通用定時(shí)器、以太網(wǎng)接口及16通道DMA。該DSP在最先進(jìn)的90nm工藝下生產(chǎn),在400MHz主頻下,其4個(gè)擴(kuò)展內(nèi)核可以達(dá)到最高每秒6400MMAC(百萬次乘加操作)的性能。除了每個(gè)DSP核內(nèi)包含228KB的M1存儲(chǔ)器之外,片內(nèi)還集成了476KB的共享M2存儲(chǔ)器。支持可變長指令是該DSP的另外一個(gè)特點(diǎn)。
多核DSP面臨的挑戰(zhàn)
低功耗
多核DSP帶來了更高的性能,但它相比傳統(tǒng)的單核DSP也帶來了更大的功耗。嵌入式應(yīng)用,例如手機(jī)、數(shù)碼相機(jī)等對功耗非常敏感。在2G通信時(shí)代習(xí)慣了200小時(shí)待機(jī)時(shí)間的手機(jī)用戶很難接受待機(jī)時(shí)間僅僅為一天的3G手機(jī)。因此多核DSP面臨的第一個(gè)挑戰(zhàn)就是如何有效的降低平均功耗。
從硬件技術(shù)上來看,可以采用動(dòng)態(tài)電源管理技術(shù),設(shè)置全速、半速、休眠等工作模式,根據(jù)當(dāng)前的任務(wù)強(qiáng)度和功耗監(jiān)測信息,及時(shí)調(diào)整電壓和頻率,關(guān)閉暫時(shí)不使用的模塊,以降低功耗。另外,根據(jù)特定的應(yīng)用需求,設(shè)置專門的協(xié)處理器,同樣可以減少DSP內(nèi)核的運(yùn)算強(qiáng)度。
從軟件技術(shù)上來看,在編譯指導(dǎo)下的多核DSP低功耗優(yōu)化技術(shù)非常具有潛力。低功耗編譯技術(shù)主要包括編譯指導(dǎo)的動(dòng)態(tài)電壓調(diào)節(jié)、多線程功耗模型下的低功耗編譯調(diào)度等。在操作系統(tǒng)的支持下,通過合理的調(diào)度,使處理器資源與算法需求相適應(yīng),例如在DSP核+MCU的模式下,MCU就不應(yīng)該處理DSP的有關(guān)程序。
互連與存儲(chǔ)系統(tǒng)
隨著芯片面積的增大,長線互連延遲和信號(hào)完整性已經(jīng)成為制約芯片主頻的關(guān)鍵因素。當(dāng)片上DSP核較少時(shí),可用簡單的總線結(jié)構(gòu)或者Crossbar互連;當(dāng)DSP核較多時(shí)可用二維mesh網(wǎng)絡(luò)、3D Torus等進(jìn)行互連,設(shè)計(jì)者必須在網(wǎng)絡(luò)開銷以及多核之間耦合的程度之間進(jìn)行權(quán)衡,同時(shí)還要注意互連拓?fù)涞目蓴U(kuò)展性。為提高互連性能,應(yīng)該采用高頻、高帶寬的超深亞微米片上互連結(jié)構(gòu),以便高效地實(shí)現(xiàn)節(jié)點(diǎn)間通信。
針對數(shù)據(jù)密集型的應(yīng)用,多核DSP必須解決存儲(chǔ)系統(tǒng)的效率問題。為此,必須要解決一系列關(guān)鍵技術(shù),例如應(yīng)該設(shè)計(jì)多大的片內(nèi)存儲(chǔ)器?數(shù)據(jù)的共享和通信在存儲(chǔ)層次的哪一級(jí)來完成?Cache一致性在哪一級(jí)實(shí)現(xiàn)更合理?是通過片內(nèi)共享存儲(chǔ)器還是高速總線進(jìn)行多核之間的通信?存儲(chǔ)結(jié)構(gòu)如何支持多線程的應(yīng)用?
編譯技術(shù)與操作系統(tǒng)
多核DSP能否發(fā)揮最高的性能,在很大程度上取決于編譯優(yōu)化和嵌入式操作系統(tǒng)的有力支持。例如,多核DSP對多線程程序能夠提供較高的性能,但是對于單線程應(yīng)用的性能反而不高,甚至比單核DSP的性能還要低,從而出現(xiàn)“三個(gè)臭皮匠不頂一個(gè)諸葛亮”的尷尬局面。
采用硬件動(dòng)態(tài)提取線程是一種方法,但編譯器更要擔(dān)負(fù)起自動(dòng)并行化的工作,即將串行程序自動(dòng)地轉(zhuǎn)換為等價(jià)的多線程并行代碼,使用戶不關(guān)心迭代空間劃分、數(shù)據(jù)共享、線程調(diào)度和同步等細(xì)節(jié),減輕用戶負(fù)擔(dān)。
更重要的是多線程優(yōu)化編譯技術(shù),包括線程并發(fā)機(jī)制的實(shí)現(xiàn)、線程調(diào)度、線程級(jí)前瞻執(zhí)行等技術(shù)。
多核之間的任務(wù)調(diào)度是充分利用多處理器性能的關(guān)鍵。為滿足實(shí)時(shí)處理的要求,均衡各處理器負(fù)載,需要研究的任務(wù)調(diào)度機(jī)制有分布式實(shí)時(shí)任務(wù)調(diào)度算法、動(dòng)態(tài)任務(wù)遷移技術(shù)等。已有的幾種嵌入式操作系統(tǒng),例如μcLinux、PalmOS、WinCE等,都還無法有效地支持多核處理器。嵌入式多核操作系統(tǒng)的研究任重而道遠(yuǎn)。
應(yīng)用開發(fā)環(huán)境
嵌入式應(yīng)用的特點(diǎn)決定了開發(fā)人員必須能夠在很短的時(shí)間內(nèi)推出能夠?yàn)槭袌鏊邮艿膽?yīng)用系統(tǒng)。為此,多核DSP供應(yīng)商必須為用戶提供簡便易用的開發(fā)、調(diào)試環(huán)境。但是面向多核處理器的編程環(huán)境始終是不成熟的,并行程序開發(fā)技術(shù)一直難以普及。
為此,我們可以借鑒多核通用微處理器的編程模式,即消息傳遞程序設(shè)計(jì)模式MPI和基于編譯指導(dǎo)命令的程序設(shè)計(jì)模式OpenMP。但是,最終的發(fā)展趨勢還將是集成化的VSP(Virtual Single Processor,虛擬單處理器模型)開發(fā)環(huán)境,在這一環(huán)境下用戶能夠像開發(fā)單處理器程序一樣去開發(fā)多核應(yīng)用系統(tǒng),在同一平臺(tái)上完成編程、調(diào)試、編譯優(yōu)化和連機(jī)測試的過程。
例如,Cradle公司在推出CT3600系列多核DSP的同時(shí),還推出了相應(yīng)的多核開發(fā)工具,包括ANSI C編譯器、針對DSP進(jìn)行了時(shí)序優(yōu)化的Cradle C語言、eCOS實(shí)時(shí)操作系統(tǒng)、INSPECTORTM代碼開發(fā)與調(diào)試器和RDS3600硬件開發(fā)平臺(tái)等,從而為用戶提供了一攬子的解決方案。
評論