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