新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 多媒體編解碼芯片的選擇策略

多媒體編解碼芯片的選擇策略

作者: 時間:2012-12-01 來源:網(wǎng)絡(luò) 收藏

本文對音視頻產(chǎn)品的芯片選擇作了分析,從芯片的指令集,主頻,cache,DMA等方面進行衡量,給大家在選擇軟解碼芯片時提供一些幫助。

現(xiàn)在有許多電子產(chǎn)品需要有的支持紓夯ズ?,高堵栔机,PMP。在設(shè)計這些產(chǎn)品時,選擇好一款DSP芯片,成為了產(chǎn)品成敗的一個關(guān)鍵。如何選擇芯片?這是一個非常復(fù)雜的問題,涉及到方方面面。我把我對這個問題認識在此總結(jié)一下。

先從了解芯片的處理能力說起。假如我們要讓我們的產(chǎn)品做到MPEG-4 D1實時解碼,不考慮價格,功耗,接口等其他因素,只談處理能力。我們以Philips 的Trimedia 1300和ADI的Blackfin533為例。人們談起芯片的處理能力時,總是首先想到主頻。Trimedia1300的主頻是133Mhz,而Blackfin533的主頻高達600Mhz。Blackfin的主頻比Trimedia要高得多。

當年Intel和AMD爭奪PC芯片市場時,Intel的主頻高于AMD,后來AMD打出了主頻*指令數(shù)/周期的牌,引入了新的概念。Trimedia每周期可以執(zhí)行5條指令,因為Trimedia使用了VLIW,每條指令32位。其中兩條可以做乘加運算,另外三條可以用于簡單的算術(shù)邏輯運算或存取數(shù)據(jù)。于是,2*133+3*133=266+400。而Blackfin,每個周期最多可以執(zhí)行3條指令,其中只有一條是做乘加運算,另兩條都是存取操作。算作1*600+2*600=600+1200。Blackfin中的乘加指令的執(zhí)行時間與Trimedia中的大致相同,都是3個時鐘周期后得到結(jié)果。單從每秒的DSP運算指令數(shù)來看,Blackfin是Trimedia的兩倍多。每秒的算術(shù)邏輯運算和控制指令數(shù),Blackfin是Trimedia的三倍。從簡單算術(shù)邏輯運算和控制指令來看,Blackfin是比Trimedia稍強些。

下面以視頻處理中最典型的IDCT運算為例,來比較這兩款芯片的處理能力。在Trimedia中,使用IFIR16, DUALUCLIPI, PACK16MSB,MERGEDUAL16LSB這四個DSP指令,一個8點的IDCT需要大概12個周期。在Blackfin中,使用雙乘雙加指令,可以在21個周期中完成一個8點的IDCT。因為Blackfin的主頻是Trimedia的4倍多,單從指令方面看,執(zhí)行一個8點IDCT,Blackfin是Trimedia的兩倍。

在實際的MPEG-4解碼中,需要執(zhí)行的不是一個8點IDCT,而是一個8*8點的二維IDCT。在上面的對執(zhí)行指令周期的計算時,一個隱含的前提假設(shè)是所有的數(shù)據(jù)都是在寄存器中。做一個8*8的二維IDCT至少需要32個32位寄存器。因為Trimedia中有128個寄存器,而Blackfin中只有8個數(shù)據(jù)寄存器,因此,在Blackfin中就不可避免要在2維IDCT執(zhí)行中作從內(nèi)存到寄存器的數(shù)據(jù)傳遞工作。雖然,在Trimedia和Blackfin中都使用了cache來減少這種數(shù)據(jù)傳遞對運算的影響,但這仍然很難完全避免。當cache miss發(fā)生時,CPU不得不停下來,等待數(shù)據(jù)的傳入。如果把相同的工作頻率為133Mhz的SDRAM與Trimedia和Blackfin連接,則一個Trimedia中的cache miss要耗掉3個時鐘周期,而一個Blackfin中的cache miss則要用掉5個時鐘周期。所以,雖然Blackfin的芯片主頻很高,但因為它的寄存器很少,片內(nèi)內(nèi)存不可能存下所有的數(shù)據(jù),cache miss就不可避免要發(fā)生,此時,他的計算能力就要大打折扣。

Cache miss對運算速度的影響非常大,尤其是在做motion compensation時,數(shù)據(jù)在內(nèi)存和寄存器之間頻繁的導(dǎo)入導(dǎo)出。當CPU工作頻率和內(nèi)存頻率相差越大,cache miss的影響就越大。當使用adi提供的編譯環(huán)境visual DSP調(diào)試程序并計算cycles時,cache miss是不計算在內(nèi)的。因此,當把軟件仿真的MPEG-4 decoder調(diào)試好,放在板子上測試時,就會發(fā)現(xiàn)解碼時間明顯變長,很是失望。

因為這兩款DSP都是為音視頻處理設(shè)計的,他們都有一些特殊的指令來完成音視頻處理。但因為Blackfin只有兩個MAC單元,同時只能做兩個乘加,比Trimedia的4個乘加差了些。為了彌補這個不足,Blackfin為video 處理的處理設(shè)計了一些特殊的指令,可以很方便的完成motion estimation 和compensation。

在其他方面,Blackfin的二維DMA可以獨立快速的完成圖像的轉(zhuǎn)置和裁減。Trimedia的圖像協(xié)處理器可以任意改變圖像的大小。他的每一條指令都有g(shù)uard位,可以選擇的執(zhí)行。

由此可以看出,一個芯片的處理能力不只由他的工作頻率決定,他的指令功能,每個指令的執(zhí)行周期數(shù),單周期指令數(shù),寄存器個數(shù),cache行為,內(nèi)外工作頻率差都對性能有不可忽視的影響。其他的例如外圍數(shù)據(jù)傳遞方式,協(xié)處理器的功能也不可忽視。另外,有些DSP帶有專用于寫回cache,可以提高寫回速度,減少cache沖突,提高效率。

第二個選擇DSP的方面是看DSP的功耗是否符合要求。實際上,Trimedia和Blackfin這兩塊DSP在功耗上是不可比的,因為它的設(shè)計的針對領(lǐng)域不同。Trimedia是為數(shù)字電視,監(jiān)控設(shè)備,機頂盒設(shè)計的。他的功耗很大,他的芯片面積大概是Blackfin的4倍,工作時需要加散熱片。Blackfin是為手持設(shè)備設(shè)計的,功耗相當小,加一塊1200ma的電池,可以連續(xù)播放MPEG-4文件8個小時。Trimedia不可能用在手持設(shè)備上,Trimedia最大的使用是在監(jiān)控設(shè)備上,一塊片子最多可以做4路CIF編碼。Blackfin完全可以移植到手機上,在性價比上完全可以與OMAP一拼。

在軟硬件的調(diào)試方面,現(xiàn)在多數(shù)的芯片都支持,調(diào)試工具也都大同小異,沒太多說的。對于外圍的接口,不同的芯片因為設(shè)計目的不同,也會有很大差異。還有,有些芯片會有一些bug,非常難查,這對應(yīng)用廠商會產(chǎn)生致命影響。除了這些方面,還有一個不可忽視的方面是生產(chǎn)廠家對這塊DSP的發(fā)展計劃。千萬不要在軟硬件都開發(fā)好,等待產(chǎn)品上市賺錢時,芯片廠家停產(chǎn)了,那就沒地方哭去了。



關(guān)鍵詞: 多媒體 編解碼芯片 JTAG

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉