[发明专利]成形的寄存器堆读取无效
申请号: | 201210567117.9 | 申请日: | 2012-12-24 |
公开(公告)号: | CN103257931A | 公开(公告)日: | 2013-08-21 |
发明(设计)人: | 杰克·希莱尔·肖凯特;迈克尔·费特曼;瑟利斯·加德雷;仇小钢;奥姆卡尔·帕兰杰佩;阿杰纳·拉杰卓;斯图尔特·格伦·卡尔顿;埃里克·莱尔·希尔;拉杰史沃拉·塞尔瓦桑;道格拉斯·J·哈恩 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F9/38 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 董巍;徐丁峰 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 成形 寄存器 读取 | ||
1.一种用于实施寄存器堆的成形的访问的计算机实现的方法,所述寄存器堆包括N个寄存器的集合,其中N大于或等于2,所述方法包括:
对于包括在线程组中的至少一个线程,接收从所述N个寄存器的集合中的每个寄存器访问第一数量的数据的请求;以及
配置交叉开关以允许所述至少一个线程从所述N个寄存器的集合中的每个寄存器访问所述第一数量的数据。
2.根据权利要求1所述的计算机实现的方法,其中所述寄存器堆包括多个存储体,并且所述N个寄存器的集合中的每个寄存器存在于不同的存储体中。
3.根据权利要求1所述的计算机实现的方法,其中在每个时钟周期,所述至少一个线程从以下寄存器访问所述第一数量的数据:
所述N个寄存器的集合中的每个寄存器,以产生包括所述第一数量的数据的N个访问的成形的访问操作;
N/2个对齐的连续寄存器对中的每个寄存器,以产生包括两倍于所述第一数量的数据的N/2个访问的成形的访问操作;或
N/4个对齐的四连续寄存器组中的每个寄存器,以产生包括四倍于所述第一数量的数据的N/4个访问的成形的访问操作。
4.根据权利要求1所述的计算机实现的方法,其中所述N个寄存器的集合包括N/2个对齐的连续寄存器对,并且所述至少一个线程在单个时钟周期从每个对齐的连续寄存器对中的每个寄存器访问所述第一数量的数据,以产生包括两倍于所述第一数量的数据的N/2个访问的成形的访问操作。
5.根据权利要求1所述的计算机实现的方法,其中所述N个寄存器的集合包括N/4个对齐的四连续寄存器组,并且所述至少一个线程在单个时钟周期从每个对齐的四连续寄存器组中的每个寄存器访问所述第一数量的数据,以产生包括四倍于所述第一数量的数据的N/4个访问的成形的访问操作。
6.根据权利要求1所述的计算机实现的方法,其中第一线程组包括第二线程组的子集并包括包括在所述第二线程组中的连续的下半部分线程或包括在所述第二线程组中的连续的上半部分线程。
7.根据权利要求1所述的计算机实现的方法,其中所述至少一个线程通过从所述N个寄存器的集合中的每个寄存器读取所述第一数量的数据或对所述N个寄存器的集合中的每个寄存器写入所述第一数量的数据,来访问所述第一数量的数据。
8.根据权利要求1所述的计算机实现的方法,其中所述第一数量的数据包括32位的数据。
9.一种用于实施寄存器堆的成形的访问的系统,所述寄存器堆包括N个寄存器的集合,其中N大于或等于2,所述系统包括:
所述寄存器堆;
交叉开关;以及
处理器,配置为:
对于包括在线程组中的至少一个线程,接收从所述N个寄存器的集合中的每个寄存器访问第一数量的数据的请求;以及
配置所述交叉开关以允许所述至少一个线程从所述N个寄存器的集合中的每个寄存器访问所述第一数量的数据。
10.根据权利要求17所述的系统,其中在每个时钟周期,所述至少一个线程从以下寄存器访问所述第一数量的数据:
所述N个寄存器的集合中的每个寄存器,以产生包括所述第一数量的数据的N个访问的成形的访问操作;
N/2个对齐的连续寄存器对中的每个寄存器,以产生包括两倍于所述第一数量的数据的N/2个访问的成形的访问操作;或
N/4个对齐的四连续寄存器组中的每个寄存器,以产生包括四倍于所述第一数量的数据的N/4个访问的成形的访问操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210567117.9/1.html,转载请声明来源钻瓜专利网。