[發明專利]一種GPU中用于分支處理的寄存器文件結構在審
| 申請號: | 201610030501.3 | 申請日: | 2016-01-18 |
| 公開(公告)號: | CN106648545A | 公開(公告)日: | 2017-05-10 |
| 發明(設計)人: | 魏繼增 | 申請(專利權)人: | 天津大學 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30;G06T1/20 |
| 代理公司: | 天津市北洋有限責任專利代理事務所12201 | 代理人: | 李素蘭 |
| 地址: | 300072*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 gpu 用于 分支 處理 寄存器 文件 結構 | ||
1.一種GPU中用于分支處理的寄存器文件結構,其特征在于,該寄存器文件結構中,把寄存器文件按照行平均分成N個bank,N是GPU中一個流多處理器所能容納的最多的線程束的個數;對于寄存器文件中寄存器的分配方法遵循以下約束條件:
(1)當應用程序中的每一個線程束所需要的寄存器的個數大于或等于每個bank中所包括的行數時,將寄存器文件中的寄存器連續地平均分配給每一個線程束;
(2)當應用程序中的每一個線程束所需要的寄存器的個數小于每個bank中所包括的行數時,此時每一個線程束獨占一個bank;
其中,線程束在訪問寄存器文件的時候,其中的每一個線程都會產生一個訪問請求,仲裁器將針對同一個bank的訪問請求進行合并并且根據其中被訪問的每個bank的線程束索引、線程索引以及寄存器索引,生成相應的訪問地址及控制信號;每一個訪問請求根據生成的訪問地址和控制信號讀出bank中的一行的寄存器數據,再用crossbar將這一行中有效的數據路由到相應的SIMD通道上面;如果線程束中該SIMD通道所對應的線程無效,則對應的交叉開關的輸出端口的輸出為零;對應同一SIMD通道的所有的crossbar的輸出中至多有一個數據是有效的;最后,將各個crossbar的與SIMD通道相對應的輸出端口進行“或”操作,過濾出其中的有效數據,輸入到SIMD通道上面;線程任意的更換SIMD通道而且壓縮后形成的線程束在訪問寄存器文件的時候不會產生訪問沖突。
2.如權利要求1所述的一種GPU中用于分支處理的寄存器文件結構,其特征在于,所述控制信號利用分支指令信息的棧結構實現維護,所述棧結構使用兩個buffer0和Buffer1來存儲最新遇到的分支信息;Buffer0用來存儲線程在非提前調度狀態下遇到分支后的信息,Buffer1用來存儲線程在提前調度狀態下遇到分支后的信息;一個線程塊中的所有線程束共享一個棧,并且棧中增加線程束計數器來記錄還沒有到達分支或者匯合點的線程束的個數;當線程束到達分支或者匯合點時,WCnt減一;如果WCnt變成零,則表示線程塊中所有的線程束全部到達分支或者匯合點。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津大學,未經天津大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610030501.3/1.html,轉載請聲明來源鉆瓜專利網。





