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

面向SIMT架構(gòu)統(tǒng)一染色陣列的低復(fù)雜度分支處理電路的制作方法

文檔序號:12063628閱讀:414來源:國知局

本發(fā)明屬于集成電路技術(shù)領(lǐng)域,涉及一種基于SIMT架構(gòu)統(tǒng)一染色器陣列的低復(fù)雜度分支處理電路。



背景技術(shù):

統(tǒng)一染色圖形處理器中統(tǒng)一染色器陣列完成頂點、像素的統(tǒng)一染色功能。在統(tǒng)一染色器陣列中,并行處理的實現(xiàn)是以SIMT為基礎(chǔ)的,主要的并行執(zhí)行單元中有16個,在一條指令發(fā)射后需要同時在16個執(zhí)行單元上同時執(zhí)行。但是在程序設(shè)計中,必須要包括條件跳轉(zhuǎn)等流程控制指令,由于16個并行單元上的輸入數(shù)據(jù)不同,所以很可能會出現(xiàn)多個并行單元條件判斷不一致,進而導(dǎo)致跳轉(zhuǎn)也不一致的情況。



技術(shù)實現(xiàn)要素:

發(fā)明目的:

本發(fā)明主要提出一種面向SIMT架構(gòu)統(tǒng)一染色陣列的低復(fù)雜度分支處理電路,該電路對于不同數(shù)量并行單元,不同數(shù)量現(xiàn)場均可滿足要求,該機制的實現(xiàn)電路時序性能高、可擴展性好。

技術(shù)方案:

一種面向SIMT架構(gòu)統(tǒng)一染色陣列的低復(fù)雜度分支處理電路,包括:

斷言寄存器單元(1)、斷言堆棧單元(2)、控制單元(3);

斷言寄存器單元(1):在指令執(zhí)行模塊(4)執(zhí)行條件判斷指令時,將條件判斷的結(jié)果以及現(xiàn)場號輸出給斷言寄存器單元(1),斷言寄存器單元(1)按照現(xiàn)場號將該值存入該現(xiàn)場的斷言寄存器中;在分支處理電路執(zhí)行POP指令時,控制單元(3)從斷言堆棧單元(2)中讀出斷言堆棧的數(shù)值填寫入斷言寄存器單元(1)該現(xiàn)場的斷言寄存器中;在分支處理電路執(zhí)行INV指令時,控制單元(3)將原斷言寄存器的值取反與斷言堆棧頂部的數(shù)值按位相“與”,寫入斷言寄存器單元(1)該現(xiàn)場的斷言寄存器中;斷言寄存器單元(1)將每個現(xiàn)場的斷言寄存器值輸出給控制單元(3);

控制單元(3):與任務(wù)調(diào)度模塊(5)、IFID模塊(6)、斷言寄存器單元(1)、斷言堆棧單元(2)相連,控制單元(3)接收IFIF模塊(6)下發(fā)的分支處理指令,所述分支處理指令包括:POP指令、INV指令、PUSH指令;在執(zhí)行POP指令時,從斷言堆棧單元(2)中按現(xiàn)場讀取數(shù)值傳輸給斷言寄存器單元(1);控制單元(3)在執(zhí)行PUSH指令時,將來自于斷言寄存器單元(1)當(dāng)前現(xiàn)場的斷言寄存器值寫入斷言堆棧單元(2)中;控制單元(3)在執(zhí)行INV指令時,控制單元(3)從斷言堆棧單元(2)獲取堆棧頂部的數(shù)值,將所述數(shù)值與斷言寄存器值的按位“反”進行按位“與”操作,并將操作結(jié)果傳輸回斷言寄存器單元(1);控制單元(3)在IFID模塊(6)發(fā)射非分支處理指令時,將來自于斷言寄存器單元(1)的斷言寄存器值、來自于任務(wù)調(diào)度模塊(5)的TaskMask按位相“與”,并將結(jié)果傳輸給指令執(zhí)行模塊(4);

斷言堆棧單元(2):接收控制單元(3)發(fā)出三種類型操作,包括:POP操作、PUSH操作、INV操作;對于POP操作,斷言堆棧單元(2)根據(jù)控制單元(3)輸入的現(xiàn)場號,從對應(yīng)現(xiàn)場的堆棧頂部讀出數(shù)據(jù)并返回給控制單元(3);對于PUSH操作,斷言堆棧單元(2)根據(jù)控制單元(3)輸入的現(xiàn)場號,向?qū)?yīng)現(xiàn)場的堆棧頂部寫入數(shù)據(jù);對于INV操作,斷言堆棧單元(2)根據(jù)控制單元(3)輸入的現(xiàn)場號返回對應(yīng)現(xiàn)場頂部的數(shù)據(jù),但并不執(zhí)行讀操作,也就是不影響整個堆棧的內(nèi)容。

有益效果:

1、對于多個現(xiàn)場,可以根據(jù)數(shù)據(jù)有效與否(data mask)、條件成功與否(predict mask)產(chǎn)生用于指示本線程是否實際執(zhí)行的指標(biāo)(excute mask),從而保證SIMT結(jié)構(gòu)的染色陣列時鐘能正確的執(zhí)行發(fā)射的指令,并且該機制對并行單元數(shù)目的增加,效率不受影響;

2、關(guān)于多個現(xiàn)場,本發(fā)明以8個warp、每個warp執(zhí)行4個周期共計32現(xiàn)場為例進行設(shè)計,但對于更多的現(xiàn)場在增加data mask寄存器、predict mask寄存器、predict mask堆棧等后也同樣支持;

3、本發(fā)明的設(shè)計結(jié)構(gòu)簡單,可擴展性高,電路實現(xiàn)效率高。

附圖說明

圖1是本發(fā)明描述的分支處理機制的功能架構(gòu)框圖。

具體實施方式

下面結(jié)合附圖和具體實施例,對本發(fā)明的技術(shù)方案進行清楚、完整地表述。顯然,所表述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動前提所獲得的所有其它實施例,都屬于本發(fā)明的保護范圍。

一種面向SIMT架構(gòu)統(tǒng)一染色陣列的低復(fù)雜度分支處理電路,如圖1所示,包括:

斷言寄存器單元(1)、斷言堆棧單元(2)、控制單元(3)。

所述斷言寄存器單元(1),每一個現(xiàn)場對應(yīng)有一個斷言寄存器,用來存儲該現(xiàn)場的斷言寄存器值。斷言寄存器的位數(shù)等于并行單元的個數(shù),斷言寄存器的個數(shù)等于程序運行的現(xiàn)場數(shù)。

所述斷言堆棧單元(2),每一個現(xiàn)場對應(yīng)有一個斷言堆棧,該堆棧在執(zhí)行程序嵌套時使用,用來進行斷言寄存器的出棧、入棧操作。斷言堆棧的位寬等于并行單元的個數(shù),斷言堆棧的深度等于程序嵌套的級數(shù),斷言堆棧的個數(shù)等于程序運行的現(xiàn)場數(shù)。

所述控制單元(3),是用來執(zhí)行PUSH、POP、INV指令讀寫斷言堆棧,產(chǎn)生新的斷言寄存器值,并將PredictMask與TaskMask的值按位相與產(chǎn)生ExcuteMask。

斷言寄存器單元(1):在指令執(zhí)行模塊(4)執(zhí)行條件判斷指令時,將條件判斷的結(jié)果以及現(xiàn)場號輸出給斷言寄存器單元(1),斷言寄存器單元(1)按照現(xiàn)場號將該值存入該現(xiàn)場的斷言寄存器中;在分支處理電路執(zhí)行POP指令時,控制單元(3)從斷言堆棧單元(2)中讀出斷言堆棧的數(shù)值填寫入斷言寄存器單元(1)該現(xiàn)場的斷言寄存器中;在分支處理電路執(zhí)行INV指令時,控制單元(3)將原斷言寄存器的值取反與斷言堆棧頂部的數(shù)值按位相“與”,寫入斷言寄存器單元(1)該現(xiàn)場的斷言寄存器中;斷言寄存器單元(1)將每個現(xiàn)場的斷言寄存器值輸出給控制單元(3);

控制單元(3):與任務(wù)調(diào)度模塊(5)、IFID模塊(6)、斷言寄存器單元(1)、斷言堆棧單元(2)相連,控制單元(3)接收IFIF模塊(6)下發(fā)的分支處理指令,所述分支處理指令包括:POP指令、INV指令、PUSH指令;在執(zhí)行POP指令時,從斷言堆棧單元(2)中按現(xiàn)場讀取數(shù)值傳輸給斷言寄存器單元(1);控制單元(3)在執(zhí)行PUSH指令時,將來自于斷言寄存器單元(1)當(dāng)前現(xiàn)場的斷言寄存器值寫入斷言堆棧單元(2)中;控制單元(3)在執(zhí)行INV指令時,控制單元(3)從斷言堆棧單元(2)獲取堆棧頂部的數(shù)值,將所述數(shù)值與斷言寄存器值的按位“反”進行按位“與”操作,并將操作結(jié)果傳輸回斷言寄存器單元(1);控制單元(3)在IFID模塊(6)發(fā)射非分支處理指令時,將來自于斷言寄存器單元(1)的斷言寄存器值、來自于任務(wù)調(diào)度模塊(5)的TaskMask按位相“與”,并將結(jié)果傳輸給指令執(zhí)行模塊(4);

斷言堆棧單元(2):接收控制單元(3)發(fā)出三種類型操作,包括:POP操作、PUSH操作、INV操作;對于POP操作,斷言堆棧單元(2)根據(jù)控制單元(3)輸入的現(xiàn)場號,從對應(yīng)現(xiàn)場的堆棧頂部讀出數(shù)據(jù)并返回給控制單元(3);對于PUSH操作,斷言堆棧單元(2)根據(jù)控制單元(3)輸入的現(xiàn)場號,向?qū)?yīng)現(xiàn)場的堆棧頂部寫入數(shù)據(jù);對于INV操作,斷言堆棧單元(2)根據(jù)控制單元(3)輸入的現(xiàn)場號返回對應(yīng)現(xiàn)場頂部的數(shù)據(jù),但并不執(zhí)行讀操作,也就是不影響整個堆棧的內(nèi)容。

實施例

1、斷言寄存器單元

斷言寄存器即Predicate Mask,1個SSC內(nèi)部,1個周期內(nèi),對應(yīng)20個1位的Predicate Mask。為支持8個warp,每個warp運行4個周期,斷言寄存器需要有32套現(xiàn)場;SFU對應(yīng)的Predicate Mask由同一個SPU內(nèi)的4個SC的Predicate Mask進行或操作得到。

斷言寄存器的值受以下行為影響:SC對條件跳轉(zhuǎn)指令的執(zhí)行結(jié)果,對斷言堆棧的POP、INV操作。

2、控制單元

該單元負責(zé)Excute Mask的產(chǎn)生,以及斷言堆棧的PUSH、POP和INV。

一個SPU內(nèi)部SC和SFU的DataMask均與該SPU對應(yīng)的TaskMask相同,而ExcuteMask則是DataMask和PredicateMask的按位與。

PUSH操作過程為,讀取斷言寄存器的內(nèi)容(1個周期,共20位),寫入斷言堆棧;

POP操作過程為,從斷言堆棧的頂端讀取斷言信息,將其寫入斷言寄存器;

INV操作的過程為,讀取當(dāng)前斷言寄存器的內(nèi)容(假定為m),讀取斷言堆棧頂端的斷言信息(假定為n),對m按位取反后,將結(jié)果與n進行按位與,然后將結(jié)果((~m)&n)寫入斷言寄存器。

3、斷言堆棧單元

該堆棧用于保存Predicate Mask,為支持8個warp4個周期,該堆棧需要有32套現(xiàn)場。對于每個現(xiàn)場,該堆棧寬度為20b,深度為32(支持32層條件分支嵌套)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
大港区| 共和县| 临夏县| 望都县| 闸北区| 平安县| 油尖旺区| 新乐市| 独山县| 甘洛县| 大悟县| 浦江县| 营山县| 灵宝市| 葫芦岛市| 新沂市| 横峰县| 德庆县| 上饶市| 东丰县| 巴楚县| 桑日县| 视频| 盐亭县| 区。| 密山市| 华蓥市| 小金县| 芦山县| 江西省| 金秀| 隆子县| 大新县| 筠连县| 涟水县| 平阳县| 乡城县| 双牌县| 外汇| 孙吴县| 乡宁县|