欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用可重構高速緩存的圖形處理器指令群組的制作方法

文檔序號:6557708閱讀:180來源:國知局
專利名稱:使用可重構高速緩存的圖形處理器指令群組的制作方法
技術領域
本發(fā)明涉及的是一種可重構高速緩存,特別涉及的是一種使用一可重構高速緩存的圖形處理器指令群組,本發(fā)明具有影音加速能力且可應用在可攜式掌上型裝置,例如數(shù)字相機(DSC)、數(shù)字錄像機(DV)、個人數(shù)字助理器(PDA)、行動電子裝置、第三代行動電話、手機或智能電話,但并不限定僅為上述裝置。
背景技術
可重構高速緩存可提供圖形處理器(GPU)進行頂點計算時作為頂點緩沖器使用而達到最佳工作效率,在動態(tài)預測時,可重構高速緩存可對影音壓縮規(guī)格(videocompact standard)的搜尋范圍緩沖器進行重構,另外,GPU的可程序能力可作為使用GPU處理壓縮影音資料(compact video data)時,實質(zhì)地增加動態(tài)預測的速度,且達到硬件資源共享最大化,該可重構高速緩存可降低制造成本及節(jié)省一般行動多媒體平臺的計算處理的耗能。
現(xiàn)有圖形處理器架構包含頂點輸入緩存器、頂點輸出緩存器、常數(shù)緩存器及暫時緩存器四組緩存器,每一組緩存器的數(shù)量為固定且不能被改變,然而,所有應用技術將使用到全部四組緩存器而導致運作沒有效率。
因此,我們需要一種新的架構來達到有效率使用此四組緩存器的目的。

發(fā)明內(nèi)容
本發(fā)明的目的是解決上述問題及提供一種使用可重構高速緩存的圖形處理器指令群組,以加速影音編碼的動作預測(Motion Estimation)。
為了達到上述目的本發(fā)明所采用的技術方案是提供一種使用可重構高速緩存的圖形處理器指令群組,該使用可重構高速緩存的圖形處理器指令群組包含下列組件一頂點繪圖器,以供操控頂點數(shù)據(jù);一可重構高速緩存,以供透過若干個數(shù)據(jù)總線存取頂點繪圖器的數(shù)據(jù);一內(nèi)存庫交錯,以替可重構高速緩存完成字節(jié)對齊;一軟件控制數(shù)據(jù)回饋,以供降低可重構高速緩存的緩存器的存取頻率;以及一軟件控制數(shù)據(jù)寫回,以供決定是否數(shù)據(jù)需要被寫回至緩存器,其中可重構高速緩存包含若干個內(nèi)存庫以供儲存數(shù)據(jù)、若干個頻道以供邏輯映像至內(nèi)存庫、一緩存器檔案控制器以供分配適當內(nèi)存庫的緩存器數(shù)量至每一頻道以及若干個總線,該總線可供傳輸數(shù)據(jù)在內(nèi)存庫與緩存器檔案控制器之間和頻道與緩存器檔案控制器之間。
為了便于了解本發(fā)明的結構特征及所達成的功效,下面結合附圖以較佳的實施例對本發(fā)明進行詳細說明。


圖1為本發(fā)明的可重構高速緩存使用在GPU的應用方塊圖;圖2為本發(fā)明的圖1的可重構高速緩存的方塊圖;圖3本發(fā)明的緩存器檔案控制器的應用范例;圖4本發(fā)明的緩存器檔案控制器的應用范例;圖5為說明線性地址作為尋址的示意圖;圖6為說明使用及未使用內(nèi)存庫交錯的緩存器檔案的例子的示意圖;圖7為說明通過延伸線性地址完成字節(jié)對齊的示意圖;圖8為說明未使用內(nèi)存庫交錯的字符對齊模式的示意圖;圖9為說明具有內(nèi)存庫交錯的字節(jié)對齊模式的示意圖;圖10為說明具有內(nèi)存庫交錯的字節(jié)對齊模式的范例的示意圖;圖11為說明具有內(nèi)存庫交錯的譯碼模式的示意圖;圖12為說明具有雙向VLIW指令群組的硬件的示意圖。
附圖符號說明10-頂點繪圖器;20-可重構高速緩存;30-數(shù)據(jù)總線;100-內(nèi)存庫;110-頻道;120-總線;130-緩存器檔案控制器。
具體實施例方式
請參閱圖1,其為本發(fā)明的可重構高速緩存使用在GPU的應用技術的方塊流程圖,如圖1所示,一頂點繪圖器10透過四個數(shù)據(jù)總線30取得可重構高速緩存20的數(shù)據(jù),該頂點繪圖器10被用以操作頂點數(shù)據(jù)及相關頂點數(shù)據(jù)的狀態(tài),該可重構高速緩存20使用一緩存器檔案控制器及數(shù)個嵌入式靜態(tài)隨機存取內(nèi)存(SRAMs)而為所有GPU的緩存器的重要架構。
請參閱圖2,其為本發(fā)明的圖1的可重構高速緩存的方塊圖,如圖2所示,可重構高速緩存20包含由8個嵌入式獨立靜態(tài)隨機存取內(nèi)存(SRAMs)構成,數(shù)個總線120及一緩存器檔案控制器130.并且邏輯上最多可重構成八個內(nèi)存庫100(從bank0到bank7)、四個頻道110(從CH0到CH3).每一內(nèi)存庫100為一分散工作的靜態(tài)隨機存取內(nèi)存(SRAM),每一頻道110可為一組GPU需求的緩存器,該四個頻道110可分別為一組頂點輸入緩存器(vertex input registers)(CH0)、一組頂點輸出緩存器(vertex output registers)(CH1)、一組常數(shù)緩存器(constant registers)(CH2)及一組暫時緩存器(temporary registers)(CH3),通過此提供GPU所有的需求,該總線120用以傳輸數(shù)據(jù)在內(nèi)存庫100與緩存器檔案控制器130之間和頻道110與緩存器檔案控制器130之間。緩存器檔案控制器130用在找出適當?shù)木彺嫫鲾?shù)量給每一頻道,以使得每一緩存器具有最大工作效率。
請參閱圖3和圖4,表示本發(fā)明的緩存器檔案控制器的范例,如圖3所示,緩存器檔案控制器130分別分配二個內(nèi)存庫給每一頻道(從CH0到CH3),如第四圖所示,緩存器檔案控制器130分別分配四個內(nèi)存庫給CH0、二個內(nèi)存庫給CH2及二個內(nèi)存庫給CH3,此處最多有8個內(nèi)存庫(在本范例為八個靜態(tài)隨機存取內(nèi)存),故需要3位(bit)作為選擇適當內(nèi)存庫數(shù)量的尋址(addressing),每一內(nèi)存庫具有16個字符,所以需要4位作為尋址用,欲對所有緩存器尋址需要7位,圖5說明一線性地址的尋址。
如圖6所示,緩存器檔案控制器130亦具有一內(nèi)存庫交錯模式,若不使用內(nèi)存庫交錯,一線性地址(LA)的次一線性地址(LA+1)的數(shù)據(jù)可出現(xiàn)在同一內(nèi)存庫(如圖6左方所示),若使用內(nèi)存庫交錯,線性地址(LA)的次一線性地址(LA+1)的數(shù)據(jù)可出現(xiàn)在另一內(nèi)存庫(如圖6右方所示),奇數(shù)地址的數(shù)據(jù)可被置在同一內(nèi)存庫,而偶數(shù)位置的數(shù)據(jù)可被置在相同內(nèi)存庫,通過此,GPU透過內(nèi)存庫交錯可在一組緩存器內(nèi)邏輯上達到數(shù)個讀取/寫入(rd/wt)連接埠(ports)。
內(nèi)存庫交錯可進行字節(jié)(byte)對齊,圖5說明線性地址僅可達到字符(word)對齊,但多數(shù)計算需要字節(jié)(byte)對齊的正確性,如圖7所示,通過延伸線性地址可輕易達到字節(jié)對齊。
圖8的示意圖說明未使用內(nèi)存庫交錯的字符對齊模式,圖8的緩存器線性地址(RLA)[11:4]僅代表第11至第4位可被看見,第3至第0位無法被看見,第3至第0位代表0-15字節(jié)的數(shù)據(jù),而本發(fā)明的數(shù)據(jù)總線為128位(表示一個word為128bits大小),則一次可得到16字節(jié),因此,當緩存器的地址接收時未使用內(nèi)存庫交錯,完整RLA[11:0]的第3至第0位并未對嵌入式靜態(tài)隨機存取內(nèi)存(SRAMs)的尋址產(chǎn)生影響,如圖8所示,當下一個字符(word)的128位(RLA[11:4]+1)的數(shù)據(jù)需取用,則數(shù)據(jù)位在相同內(nèi)存庫,依此類推,當需完整取用第0-15區(qū)段(section)的128位的數(shù)據(jù),則數(shù)據(jù)位在另一內(nèi)存庫,圖8顯示一具有8個內(nèi)存庫的頻道,當數(shù)據(jù)每一次被取用時,需要16字節(jié)對齊也就是0-15字節(jié)在同一個字符(word),16-31字節(jié)在同一個字符(word)以此類推,雖然第0-15字節(jié)的數(shù)據(jù)可同時被取用,但是第1至第16字節(jié)無法被取用,只有在第0至第15字節(jié)的后才能取用第16至第31字節(jié),第0至第15字節(jié)位在相同字符,而第16至第31字節(jié)位在次一字符,但都在相同內(nèi)存庫內(nèi),故同一時間無法取得所需的數(shù)據(jù)。
圖9的示意圖說明使用內(nèi)存庫交錯的字節(jié)對齊模式,通過使用內(nèi)存庫交錯,次一16字節(jié)數(shù)據(jù)被置在次一數(shù)據(jù)庫,RLA[11:4]=0及RLA[11:4]=1位在不同內(nèi)存庫,圖9有8個內(nèi)存庫,故8個連續(xù)區(qū)段的16字節(jié)數(shù)據(jù)置在不同內(nèi)存庫,接著,其余數(shù)據(jù)回到第一內(nèi)存庫且放進去。
圖10的示意圖說明使用內(nèi)存庫交錯的字節(jié)對齊模式的一范例,通過使用內(nèi)存庫交錯,當?shù)?至第16字節(jié)的數(shù)據(jù)需取用時,緩存器檔案控制器130可同時在兩相異的內(nèi)存庫進行存取,其中第一內(nèi)存庫取用第0至第15字節(jié),次一內(nèi)存庫取用第16至第31字節(jié),同時,透過二內(nèi)存庫的數(shù)據(jù)組合可完成字節(jié)對齊的存取。
圖11的示意圖說明使用內(nèi)存庫交錯的譯碼模式,在無內(nèi)存庫交錯模式下,第0至第3位尋址前16字節(jié)的數(shù)據(jù),然而,本發(fā)明的數(shù)據(jù)總線基本上可同時取得16字節(jié)的數(shù)據(jù),因此,在此模式,第0至第3位并未對數(shù)據(jù)的取得造成影響,第4至第7位使用在選擇某一靜態(tài)隨機存取內(nèi)存(SRAM)的某一字符(128位),而第8至第10位用在選擇某一內(nèi)存庫,在8個內(nèi)存庫交錯模式,第0至第3位代表128位的初始位置,第4至第6位被譯碼以存取某些內(nèi)存庫,而第7至第10位用以存取某些內(nèi)存庫的某些字符,同樣地,在4個內(nèi)存庫交錯模式,第0至第3位代表128位的初始位置,第4至第5位被譯碼以存取4個內(nèi)存庫的某些內(nèi)存庫,而第6至第9位用以存取某些內(nèi)存庫的某些字符,第10位被譯碼以存取另一4個內(nèi)存庫,對是統(tǒng)中的8個SRAM,當4個內(nèi)存庫交錯模式進行時,內(nèi)存庫的4個SRAM中的兩組存在,第10位被譯碼以存取另一組4個內(nèi)存庫,在2個內(nèi)存庫交錯模式,第0至第3位代表128位的初始位置,第4位被譯碼以存取某些內(nèi)存庫,而第5至第8位用以存取某些內(nèi)存庫的某些字符,第9至第10位用以存取別的二內(nèi)存庫的四組。
本發(fā)明的圖形處理器指令群組進一步包含一軟件控制數(shù)據(jù)回饋用以降低緩存器的存取頻率而節(jié)省能源消耗,本發(fā)明的圖形處理器指令群組亦包含一軟件控制數(shù)據(jù)寫回,以供決定是否數(shù)據(jù)需要被寫回至緩存器,而節(jié)省寫回至緩存器的能源,圖12的示意圖說明具有雙觸發(fā)VLIW指令群組,雙觸發(fā)VLIW代表極長指令字符(Very Long Instruction Word),其可同時送出兩個指令,Slot0表示一指令以及Slot1表示另一指令,Slot0和Slot1合并為一VLIW指令,每一Slot指令的格式包含OP、主動向量(Active Vector)、Src0、Src1、Dst、寫入屏蔽(Write Mask)以及Swizzle字段,該主動向量被用在分配多少向量因計算需要而被啟動,例如,向量1(x,y,z,w)x向量2(x,y,z,w)可完成四維向量計算,向量1(x,y,)x向量2(x,y,)僅能完成二維向量計算,Src0及Src1為輸入源字段(INPUT Source fields),某些數(shù)值經(jīng)定義和賦予特定內(nèi)部緩存器以完成軟件控制數(shù)據(jù)回饋,例如r0=r1*c1;o0=r0+c2其中r0,r1,c1,o0和c2分別代表緩存器0、緩存器1、常數(shù)1、輸出緩存器o0和常數(shù)2,乘法指令用以使緩存器1和常數(shù)1相乘,相乘結果儲存進緩存器0,緩存器0和常數(shù)2相加等在輸出緩存器o0。
透過軟件編譯器,上述二方程式可被重寫如下NoDst=r1*c1;o0=Mul_Reg+c2NoDst符號表示乘法指令使緩存器1和常數(shù)1相乘的結果,該結果無須被存入緩存器0,Mul_Reg符號代表乘法器內(nèi)部緩存器,該加法直接使用內(nèi)部乘法裝置的緩存器的數(shù)值,故可知NoDst解決軟件控制數(shù)據(jù)寫回的問題,而Mul_Reg解決軟件控制數(shù)據(jù)回饋的問題。
本發(fā)明的圖形處理器指令群組進一步包含一絕對差異和(sum of absolutedifference,SAD)指令,其使用GPU的高速緩存作為搜尋范圍緩沖以及特制GPU的計算單元以完成硬件資源共享。
以上所述僅為本發(fā)明的較佳實施例,并非用以限制本發(fā)明范圍。因此,根據(jù)本發(fā)明原理所作的改變,在不脫離本創(chuàng)作精神范圍內(nèi),例如對于構形或布置型態(tài)加以變換,對之各種變化,修飾與應用,所產(chǎn)生等效作用,均應落入本發(fā)明的保護范圍內(nèi)。
權利要求
1.一種使用可重構高速緩存的圖形處理器指令群組,其特征在于,其包含一頂點繪圖器,以供操控頂點數(shù)據(jù);一可重構高速緩存,以供透過若干個數(shù)據(jù)總線存取頂點繪圖器的數(shù)據(jù);一內(nèi)存庫交錯,以替代可重構高速緩存完成字節(jié)對齊功能;一軟件控制數(shù)據(jù)回饋,以供降低可重構高速緩存的緩存器的存取頻率;以及一軟件控制數(shù)據(jù)寫回,以供決定是否數(shù)據(jù)需要被寫回至緩存器;其中該可重構高速緩存包含若干個邏輯內(nèi)存庫,以供儲存數(shù)據(jù);若干個邏輯頻道,以供邏輯映像至邏輯內(nèi)存庫;一緩存器檔案控制器,以供分配適當數(shù)量的內(nèi)存庫的緩存器至每一頻道;以及若干個總線,以供傳輸數(shù)據(jù)在內(nèi)存庫與緩存器檔案控制器之間和頻道與緩存器檔案控制器之間。
2.根據(jù)權利要求1所述的使用可重構高速緩存的圖形處理器指令群組,其特征在于,所述每一內(nèi)存庫為分開工作的嵌入式靜態(tài)隨機存取內(nèi)存。
3.根據(jù)權利要求1所述的使用可重構高速緩存的圖形處理器指令群組,其特征在于,所述每一頻道可為一組頂點輸入緩存器、一組頂點輸出緩存器、一組常數(shù)緩存器或一組暫時緩存器。
4.一種使用在圖形處理器的可重構高速緩存,其特征在于,其包含若干個內(nèi)存庫,以供儲存數(shù)據(jù);若干個頻道,以供邏輯映像至內(nèi)存庫;一緩存器檔案控制器,以供分配適當數(shù)量的內(nèi)存庫的緩存器至每一頻道;若干個總線,以供傳輸數(shù)據(jù)在內(nèi)存庫與緩存器檔案控制器之間和頻道與緩存器檔案控制器之間;以及一內(nèi)存庫交錯,以替代可重構高速緩存完成字節(jié)對齊功能。
5.根據(jù)權利要求4所述的使用在圖形處理器的可重構高速緩存,其特征在于,所述每一內(nèi)存庫為分開工作的靜態(tài)隨機存取內(nèi)存。
6.根據(jù)權利要求4所述的使用在圖形處理器的可重構高速緩存,其特征在于,所述每一頻道可為一組頂點輸入緩存器、一組頂點輸出緩存器、一組常數(shù)緩存器或一組暫時緩存器。
全文摘要
本發(fā)明公開了一種使用可重構高速緩存的的圖形處理器指令群組,該圖形處理器指令群組包含下列組件一頂點繪圖器,以供操控頂點數(shù)據(jù);一可重構高速緩存,以供透過若干個數(shù)據(jù)總線存取頂點繪圖器的數(shù)據(jù);一內(nèi)存庫交錯,以替可重構高速緩存完成字節(jié)的對齊;一軟件控制數(shù)據(jù)回饋,以供降低可重構高速緩存的緩存器的存取頻率;以及一軟件控制數(shù)據(jù)寫回,以供決定是否數(shù)據(jù)需要被寫回至緩存器。
文檔編號G06T1/60GK101051383SQ200610067138
公開日2007年10月10日 申請日期2006年4月3日 優(yōu)先權日2006年4月3日
發(fā)明者曹友銘 申請人:繪展科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
涟水县| 枝江市| 文昌市| 德清县| 康保县| 海林市| 彭州市| 盖州市| 荥阳市| 洛南县| 汶川县| 中西区| 广南县| 长海县| 宣武区| 凤山市| 连州市| 霍邱县| 客服| 岱山县| 云林县| 宿松县| 寿阳县| 平陆县| 育儿| 和平县| 黎城县| 孟州市| 云龙县| 营山县| 兴义市| 偏关县| 赤水市| 买车| 阿尔山市| 吉林市| 论坛| 东山县| 四会市| 朝阳县| 霞浦县|