利用可配置處理器來創(chuàng)建多標準多分辨率視頻引擎
如何在處理器中進行SAD運算呢?有一個方法是編寫一個能夠同時進行“減-求絕對值-加”計算的指令。這可以將16x16宏模塊所需的計算次數(shù)從768減少到256。另外,由于一個執(zhí)行這種綜合化簡單運算的功能單元一般都能夠優(yōu)化成一個周期,意味著計算周期也被減少到了256。
但是如何執(zhí)行這個“減-求絕對值-加”指令呢?
在這個時候,就需要可配置處理器了。可配置處理器是嵌入式的,設(shè)計者可以配置選項菜單中進行選擇,并通過添加特殊應(yīng)用指令、寄存器文件和接口來擴展處理器功能。
下面是目前的可配置處理器具備的一些可配置和可擴展性功能,傳統(tǒng)的固定式處理器是沒有這些功能的:
可配置性,有下面的一系列選項可供選擇:
·設(shè)計者想要或者不想要的指令,包括:16x16相乘或乘法累加、漏斗轉(zhuǎn)換、浮點指令等;
·零耗循環(huán)、5或7個步進管線、本地數(shù)據(jù)加載/存儲單元的數(shù)量等各種功能;
·是否需要內(nèi)存保護、內(nèi)存轉(zhuǎn)換或者一個全內(nèi)存管理單元(MMU);
·是否需要一個系統(tǒng)總線接口;
·系統(tǒng)總線和本地內(nèi)存接口的寬度;
·本地內(nèi)存的數(shù)量和大??;
·中斷的次數(shù)、種類和等級
可擴展性,可自由添加下列由設(shè)計者自定義的組件:
·寄存器和寄存器文件;
·多周期、任意復(fù)雜功能單元;
·SIMD功能單元;
·將基本型處理器轉(zhuǎn)換成多發(fā)射處理器;
·定制能夠直接從數(shù)據(jù)路徑讀取和寫入的接口,例如在處理器內(nèi)核上的類似于GPIO(通用IO)的端口或管腳,以及可以用來和其它邏輯或者處理器內(nèi)核進行連接的外置FIFO。
可配置性的優(yōu)點在于使你可以通過選擇你的應(yīng)用所需的功能選項來構(gòu)建一個規(guī)模適中的處理器,而可擴展性的優(yōu)點則是讓設(shè)計者可以通過創(chuàng)造能加快應(yīng)用速度的指令、寄存器文件、功能單元和接口來定制處理器,使之完全與其視頻應(yīng)用相匹配。但必須注意的是,只有當今先進的可配置處理器才具能提供設(shè)計者自定義可擴展性。
創(chuàng)建能進行多次運算的功能單元
這一步即是SAD運算和加速SAD運算的內(nèi)容。
對于可配置處理器來說,要添加這一綜合運算功能簡直是小菜一碟。它可以添加名為sub。abs。acc(減-求絕對值-加)的新指令來進行“相減、求絕對值和相加”運算。如圖3所示。
圖3:進行“相減、求絕對值和相加”運算的新指令
評論