MPEG-4編碼器在BF561上的優(yōu)化
1 ADSP-BF56l結(jié)構(gòu)特點(diǎn)
ADSP-BF561是采用對等的雙核結(jié)構(gòu),可以很好地執(zhí)行兩種任務(wù),且開發(fā)人員可以隨意分配任務(wù)來平衡雙核之間的負(fù)載。如圖1所示,每一個Blackfin內(nèi)核包含兩個乘/累加器(MAC),兩個40位的ALU,四個視頻專用8位ALU和一個40位移位器。運(yùn)算單元處理來自寄存器組的8位、16位或者32位數(shù)據(jù)。每個MAC每周期可完成一個16位乘16位的乘法運(yùn)算,并把結(jié)果累加到40位的累加器中,提供8位的精度擴(kuò)展。ALU單元執(zhí)行標(biāo)準(zhǔn)的算術(shù)和邏輯運(yùn)算,由于兩個ALU具備對16位或32位數(shù)據(jù)操作的能力,因此運(yùn)算單元具備的靈活性可以滿足各種應(yīng)用中信號處理的要求。每個32位的輸入寄存器可以作為兩個16位的寄存器,因此每個ALU可以完成非常靈活的單16位算術(shù)運(yùn)算。通過把寄存器當(dāng)作兩個16位的操作數(shù)使用,雙16位或單32位操作可以在一個周期中完成。更好地利用第二個ALU,四個16位操作可以簡單地完成,加速了每個周期的吞吐量。強(qiáng)大的40位移位器功能豐富,可以對數(shù)據(jù)進(jìn)行移位、循環(huán)移位、歸一化、提取和存儲等操作。運(yùn)算單元所使用的數(shù)據(jù)來自具有16個16位操作數(shù)或8個32位操作數(shù)的寄存器組。本文引用地址:http://www.ex-cimer.com/article/151817.htm
同時BF561把存儲器視為一個統(tǒng)一的4 GB地址空間,使用32位地址并采用分級存儲器結(jié)構(gòu)。Level1(L1)存儲器一般以全速運(yùn)行,沒有或只有很少的延遲。Level 2(L2)/Level 3(L3)分布在片內(nèi)或片外,對它的訪問會耗費(fèi)多個處理器周期。在L1級,指令存儲器只存放指令,兩個數(shù)據(jù)存儲器存放數(shù)據(jù),一個專用的臨時數(shù)據(jù)存儲器存放堆棧和局部變量信息。在L2/L3級可以存放指令和數(shù)據(jù)。
2 編碼器整體結(jié)構(gòu)
以BF561為核心構(gòu)成的MPEG-4編碼器結(jié)構(gòu)如圖2所示,其中BF561為編碼處理器,完成視頻采集控制以及基于MPEG-4的壓縮編碼等工作;與之相連的視頻解碼芯片選用ADI公司提供的ADV7183,它是10位ADC的增強(qiáng)型視頻解碼器,其內(nèi)含三個精確模/數(shù)轉(zhuǎn)換器(ADCs)和完整的自動增益控制(AGC)電路。BF561與ADV7183之間通過其專用視頻接口PPI接口相連,并通過I2C總線協(xié)議完成對ADV7183內(nèi)部寄存器的讀/寫操作。
評論