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