數(shù)字信號(hào)處理器重新采納多核架構(gòu)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
DSP應(yīng)用通常只包含少量高度復(fù)雜的任務(wù),系統(tǒng)性能的提升依賴于加快任務(wù)執(zhí)行速度,而不是簡(jiǎn)單地運(yùn)行更多的任務(wù)。與任務(wù)級(jí)劃分不同,DSP系統(tǒng)通常要求在算法級(jí)劃分任務(wù)。整個(gè)任務(wù),比如壓縮一個(gè)視頻流,必須被分解成可以在單獨(dú)內(nèi)核上并行運(yùn)行的多個(gè)步驟。任務(wù)調(diào)度器或操作系統(tǒng)無(wú)法完成這種劃分,這種劃分必須在軟件設(shè)計(jì)過(guò)程完成。許多DSP應(yīng)用開(kāi)發(fā)人員正因?yàn)樗惴▌澐掷щy而回避多內(nèi)核方法。也有一些任務(wù)(如加密)不支持并行運(yùn)算。
這并不是說(shuō)多核方法未嘗試與DSP親近過(guò)。PicoChip公司很早前推出的picoArray架構(gòu)就整合了多個(gè)相同的內(nèi)核來(lái)支持高性能DSP。然而在大多數(shù)情況下,采用DSP的多核設(shè)計(jì)中的內(nèi)核不是同一類的。相反,它們采用一個(gè)DSP內(nèi)核和一個(gè)RISC CPU內(nèi)核。多年來(lái)這種異質(zhì)DSP一直被用于蜂窩電話和通信行業(yè)中的多核處理器設(shè)計(jì)。這些處理器的目標(biāo)應(yīng)用可以被很好地劃分為適合DSP的信號(hào)處理任務(wù)和適合RISC CPU的控制任務(wù),從而使得劃分相當(dāng)簡(jiǎn)單。
一個(gè)例外是ADI的Blackfin BF561雙核DSP。該器件使用的內(nèi)核可以很好地執(zhí)行兩種任務(wù),因此無(wú)需對(duì)任務(wù)組進(jìn)行劃分。相反,開(kāi)發(fā)人員可能隨意分配任務(wù)來(lái)平衡內(nèi)核之間的負(fù)載。不過(guò),大多數(shù)開(kāi)發(fā)人員缺少劃分軟件的經(jīng)驗(yàn),而自動(dòng)化工具支持也非常缺乏,因此同類多核DSP無(wú)法得到迅速普及。
“BF561是較早進(jìn)入這一領(lǐng)域的產(chǎn)品?!盇DI公司Blackfin應(yīng)用經(jīng)理David Katz表示,“它是領(lǐng)先于時(shí)代的產(chǎn)品。我們需要給開(kāi)發(fā)員一定的時(shí)間來(lái)學(xué)習(xí)劃分技術(shù)。”
Katz指出,ADI公司在BF561后就沒(méi)有推出過(guò)同類多核DSP設(shè)計(jì),雖然“多內(nèi)核是我們發(fā)展策略中的重要組成部分”。
其它DSP供應(yīng)商也將多核看作是DSP不可避免的發(fā)展趨勢(shì),這與它被計(jì)算應(yīng)用廣泛采納的理由是相同的:以更低的功率提供更高的性能。再次出現(xiàn)同類多核DSP芯片設(shè)計(jì)的驅(qū)動(dòng)因素,是一些系統(tǒng)要求的性能越來(lái)越高。在一些關(guān)鍵應(yīng)用中,對(duì)性能的要求正在從更快地執(zhí)行單一任務(wù)轉(zhuǎn)變?yōu)閳?zhí)行更多的任務(wù)。這種變化將簡(jiǎn)化DSP的任務(wù)劃分,使得它更像是其它嵌入式應(yīng)用的任務(wù)劃分,而DSP供應(yīng)商也在抓住這個(gè)難得的機(jī)會(huì)積極開(kāi)發(fā)產(chǎn)品。
隨著對(duì)語(yǔ)音和VoIP需求的增長(zhǎng),媒體處理已經(jīng)成為一種符合上述變化趨勢(shì)的應(yīng)用。例如,媒體網(wǎng)關(guān)設(shè)計(jì)必須提供各種語(yǔ)音、音頻和視頻編解碼功能,并處理多個(gè)獨(dú)立的通道。這種應(yīng)用結(jié)構(gòu)很容易被劃分成獨(dú)立的任務(wù),因而非常適合多核DSP設(shè)計(jì)。
Octasic公司的Vocallo就是滿足這一應(yīng)用領(lǐng)域要求的最新產(chǎn)品。
Vocallo有15個(gè)相同的DSP內(nèi)核,因此設(shè)計(jì)師具有相當(dāng)大的靈活性來(lái)創(chuàng)建并行和管線架構(gòu),從而在不同工程的通道容量和性能間取得最佳平衡。
另外一個(gè)最近推出的用于通信的多核DSP來(lái)自TI公司,型號(hào)是TNETV3020,主要用于高密度核心網(wǎng)絡(luò)?!拔覀兡壳罢谧龅墓ぷ魇翘厥鈶?yīng)用多處理?!盩I公司多核解決方案部經(jīng)理Ray Simar表示,“在基礎(chǔ)架構(gòu)應(yīng)用中,我們正在執(zhí)行大量相同的任務(wù),因此設(shè)計(jì)可以轉(zhuǎn)向多個(gè)相同的處理器?!?/FONT>
TNETV3020采用了6個(gè)DSP內(nèi)核、1個(gè)開(kāi)關(guān)矩陣和多種串行I/O通道,允許設(shè)計(jì)師針對(duì)通道格式轉(zhuǎn)換等任務(wù)對(duì)設(shè)計(jì)進(jìn)行配置。
同樣,音頻處理也需要對(duì)多任務(wù)實(shí)現(xiàn)高性能處理,這些任務(wù)適合在多個(gè)內(nèi)核間作簡(jiǎn)單的劃分。飛思卡爾半導(dǎo)體公司音頻DSP產(chǎn)品經(jīng)理Sujata Neidig指出,高清、杜比和藍(lán)光音頻算法的發(fā)明對(duì)音頻DSP的性能要求提高了5倍,而且復(fù)雜性、數(shù)據(jù)速率和通道數(shù)量也在不斷增加。另外,Neidig表示,像自動(dòng)音量控制等更多功能也在向音頻處理集中。
代碼復(fù)用
飛思卡爾公司新款Symphony DSP56724和DSP56725 DSP采用了一種雙核架構(gòu),允許開(kāi)發(fā)人員分割處理任務(wù),同時(shí)復(fù)用現(xiàn)有的代碼。用于視頻或混合音頻與視頻處理的多核DSP也已出現(xiàn),例如Cradle Technologies公司的CT3616,Gennum公司的Voyageur以及Cirrus Logic公司的音頻用多核DSP。
向多核DSP芯片設(shè)計(jì)發(fā)展的趨勢(shì),最終會(huì)將劃分任務(wù)的工作從開(kāi)發(fā)人員手中轉(zhuǎn)移到芯片廠商。PicoChip公司最近推出的PC302就是一個(gè)很好的例證。該公司使用其通用的picoArray架構(gòu)成功的在單個(gè)芯片上實(shí)現(xiàn)了完整的毫微微蜂窩接入點(diǎn)。PicoChip公司完成了所有的劃分工作,并將內(nèi)核系統(tǒng)軟件下載進(jìn)了片上存儲(chǔ)器[!--empirenews.page--],因此開(kāi)發(fā)人員只需增加自定義的功能。
這種特殊器件可能是多核DSP設(shè)計(jì)的近期目標(biāo),但長(zhǎng)期來(lái)看多核方法還將包含通用的DSP設(shè)計(jì)?!罢雇磥?lái),我們可以發(fā)現(xiàn),針對(duì)DSP的多核技術(shù)不會(huì)只是小把戲,”TI公司的Simar表示,“它將變得越來(lái)越普及。”
隨之而來(lái)的是,開(kāi)發(fā)人員需要學(xué)會(huì)如何劃分設(shè)計(jì)以便高效地使用同類多核DSP。“許多人希望編譯器能完成分割任務(wù)。”Simar表示,“但這不是一蹴而就的事。為了用好這些器件,我們需要學(xué)會(huì)多角度的思考。”
圖1:許多DSP應(yīng)用開(kāi)發(fā)人員由于算法劃分困難而回避多核方法。