[发明专利]用于并行处理器的高效断言执行有效
申请号: | 201080053930.3 | 申请日: | 2010-09-28 |
公开(公告)号: | CN102640132A | 公开(公告)日: | 2012-08-15 |
发明(设计)人: | 理查德·克雷格·约翰逊;约翰·R·尼科尔斯;罗伯特·史蒂文·格兰维尔 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F15/00 | 分类号: | G06F15/00;G06F15/76 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 顾珊;魏宁 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 并行 处理器 高效 断言 执行 | ||
相关申请的交叉开关引用
本申请要求于2009年9月28日提交的序列号为61/246,509、名称为“用于SIMT及SIMD处理器架构的高效断言执行”的美国临时专利申请的优先权,以及要求于2010年9月27日提交的序列号为12/891,629的美国专利申请的优先权。
技术领域
本发明总体上涉及并行处理领域,并且,更具体地,涉及用于并行处理器的高效断言(predicated)执行。
背景技术
断言执行是用于有条件地执行单独的指令操作的机制,典型地,通过有条件地提交或忽略执行指令的结果,从而为条件分支转移(branch)提供选择。在并行处理器中,例如其中并行的线程或数据通道组执行共同的指令流的单指令多线程(SIMT)和SIMD并行处理器,每个线程或数据通道中的断言执行能够极大地提高其中线程组的每个线程可独立使用不同的执行路径的分散的分支转移代码的性能。
在现有的并行处理器设计中,每个线程或数据通道中的断言执行均采用一组4位(bit)的条件码(CC)寄存器用于每个线程或通道实例(instance),并且指令具有包括若干指令位来选择一个CC寄存器以及附加位以编码比较条件的保护(guard);只有针对该线程或通道的条件求值为真(True),保护指令才会提交它的针对线程或者通道的结果,否则无效。此外,很多指令可选地为每个线程或数据通道对CC寄存器进行写入,需要若干指令位以编码目标CC寄存器,加上一个位以使能/无效所述寄存器写操作。
作为示例,现有的SIMT并行线程处理器的每个线程均具有四个4位的CC寄存器,因此指令保护包括7个位:两个位用于选择四个CC寄存器中的一个,以及五个位用于编码比较测试。存在24种可能的CC寄存器的测试。对于可选地写CC寄存器的指令,需要三个个位以编码目标CC寄存器和写使能。
现有方式的一个问题在于,每线程的状态(每线程16位用于四个寄存器)以及指令编码空间(每个指令7位用于保护条件,加上每指令3位用于写CC寄存器的任意指令)方面的开销。注意到,几乎每个指令都必须具有保护域,因此减小编码开销是关注的重点。CC寄存器的每线程16位的开销乘以并行线程或数据通道实例的数量,一般每个SIMT或SIMD并行处理器具有数百个,并且进一步乘以每芯片数以十记的并行处理器的数量。每线程的寄存器状态造成芯片面积和能耗的开销。
如前所述,本技术领域需要的是一种机制,用于最小化与断言执行相关联的每线程的状态,最小化编码断言执行所需的位的指令,并最小化实现断言执行所需的指令和周期的数量。
发明内容
本发明的一个实施例提供了用于访问与线程组相关联的断言信息的方法。所述方法包括以下步骤:接收用于由所述线程组执行的第一指令,其中所述第一指令指定第一源操作数标识符、操作以及第一目标断言标识符;对于所述线程组中的每一个线程,通过对由所述第一源操作数标识符所标识的第一源操作数中的数据应用所述操作来计算断言结果;以及,在第一断言寄存器中存储所述断言结果,所述断言寄存器与所述线程相关联并且由所述第一目标断言标识符所标识,其中对于所述线程组中的每一个线程,所述第一源寄存器以及所述第一断言寄存器不同。
有利地,本文所描述的发明提供一种用于开销高效断言执行的机制,其使SIMT/SIMD并行处理器中的每线程状态最小化。此外,断言的可选否定进一步节省了每线程的附加位,否则将需要其来存储否定断言。进一步,可生成用于并行多线程程序的条件程序域的高效代码。
附图说明
因此,可以详细地理解上述本发明的特征,并且可以参考实施例得到对如上面所概括的本发明更具体的描述,其中一些实施例在附图中示出。然而,应当注意的是,附图仅用于示意性地表示本发明的典型实施例,因此不应被认为是对本发明范围的限制,本发明可以具有其他等效的实施方式。
图1为示出了经配置以实现本发明一个或多个方面的计算机系统的框图;
图2为根据本发明一个实施例的,用于图1中计算机系统的并行处理子系统的框图;
图3A为根据本发明一个实施例的,图2中一个PPU内的GPC的框图;
图3B为根据本发明一个实施例的,图2中一个PPU内分区单元的框图;
图3C为根据本发明一个实施例的,图3A中部分SPM的框图;
图4为根据本发明一个实施例的,图3C中断言寄存器堆(file)的较详细示意图;以及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080053930.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种三用紫外线分析仪
- 下一篇:一种悬浮颗粒计数分析装置的光源