AVS(Audio Video Coding STandard)是由我國數(shù)字音視頻標準工作組制定的具有自主知識產(chǎn)權(quán)的第二代音視頻壓縮準。AVS實行1 元專利費用的原則,相比其它音視頻編解碼標準具有編碼效率高、專利費用低、授權(quán)模式簡單等優(yōu)勢。AVS解碼器的結(jié)構(gòu)復雜、運算量較大,要在嵌入式平臺上實現(xiàn)實時解碼具有較大難度。在對解碼器性能優(yōu)化的過程中可以依據(jù)使用平臺對其進行匯編指令集的優(yōu)化或者針對解碼器的關(guān)鍵算法模塊進行改良,以上方法對解碼器性能的提高均有一定作用,本文提出一種利用嵌入式平臺的L1P Cache高速緩沖功能實現(xiàn)處理器對程序代碼的高效率訪問的方法,從而達到提高AVS解碼器性能的目的。
1 高速緩存Cache的應用
目前越來越多的編解碼算法采用DSP的方式實現(xiàn),隨著DSP芯片主頻的不斷攀升,存儲器的訪問速度日益成為系統(tǒng)性能提升的瓶頸。在現(xiàn)有的制造工藝下,片上存儲單元的增加將導致數(shù)據(jù)線負載電容的增加,影響到數(shù)據(jù)線上信號的開關(guān)時間,這意味著片上高速存儲單元的增加將是十分有限的。為了解決存儲器速度與CPU內(nèi)核速度不匹配的問題,高性能的CPU普遍采用高速緩存(Cache)機制。
以TI的C64x DSP為例,存儲器系統(tǒng)由片內(nèi)存儲器和片外存儲器兩部分組成。其中,片內(nèi)存儲器采用兩級緩存結(jié)構(gòu),第1級L1距離DSP核最近,數(shù)據(jù)訪問速度最快,可以達到每秒600Mbyte,只能作為不能尋址的Cache使用,由相互獨立的L1P和L1D組成。
L1P Cache是處理器訪問程序代碼的高速緩沖存儲器,大小為16kbyte,采用直接映射方式,每行大小32byte;L1D Cache是處理器訪問數(shù)據(jù)的高速緩沖存儲器,大小為16 kbyte,采用2路映射,每行大小為64byte。第2級L2是一個統(tǒng)一的程序/數(shù)據(jù)空間,可以整體作為SRAM映射到存儲空間,也可以作為Cache和SRAM按比例的一種組合。L2與L1之間的數(shù)據(jù)交互速率為每秒300Mbyte,L2與SDRAM之間的數(shù)據(jù)交換速率為每秒100Mbyte。片外存儲器是第3級,一般由SDRAM構(gòu)成。L1、L2和片外SDRAM構(gòu)成了整個存儲器系統(tǒng)的層次結(jié)構(gòu)。C64X的兩級緩存結(jié)構(gòu)若能運用恰當,將能極大地提高程序性能。