[发明专利]一种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变成零,则表示线程块中所有的线程束全部到达分支或者汇合点。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610030501.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top