[发明专利]发散操作的预调度重演有效
申请号: | 201310052239.9 | 申请日: | 2013-02-18 |
公开(公告)号: | CN103294449A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 迈克尔·费特曼;斯图尔特·格伦·卡尔顿;杰克·希莱尔·肖凯特;瑟利斯·加德雷;奥利维尔·吉普;道格拉斯·J·哈恩;史蒂文·詹姆斯·海因里希;埃里克·莱尔·希尔;查尔斯·麦卡弗;奥姆卡尔·帕兰杰佩;阿杰纳·拉杰卓;拉杰史沃拉·塞尔瓦桑 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 董巍;徐丁峰 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 发散 操作 调度 重演 | ||
技术领域
本发明大体涉及计算机架构,并且更具体地,涉及发散操作的预调度重演。
背景技术
并行处理系统中的普遍做法是设计同时执行一些数目的线程的处理器。在处理器内,每个线程可在分开的执行管线中执行。当所有这种线程均需要执行相同的指令序列时(通常利用用于每个线程的不同数据),共享线程的控制结构存在有形优点。例如,仅必须获取一个指令,并且所有线程随后执行该相同指令。可在单指令多线程(SIMT)处理器和单指令多数据(SIMD)处理器上找到该类操作。
随着并行进行执行,不同的线程可通过可使线程遭遇资源冲突的方式来访问诸如共享存储器的公共资源。例如,线程可执行公共资源访问操作,诸如存储器加载指令,其中存储器位置的集合跨两个或两个以上高速缓存行。因为各种线程所要求的存储器位置在发散的高速缓存行上,所以这样的加载指令可称为“发散(divergent)”操作。在这种情况下,管线从一些线程正在访问的高速缓存行之一转移数据,并且那些线程能够完成公共资源访问操作。然而,指向不同高速缓存行内的位置的其他线程不能够完成公共资源访问操作并且保持未被服务。因此,在通过管线的单个通道的情况下,一些线程能够完成公共资源访问操作而其他线程则不能。缺少处理多个执行周期的装置,操作不能成功地完成。
一种实现多个执行周期的方法是重新插入指令到处理管线的先前级中并且再次执行加载指令用于未能从其目标存储器地址位置访问数据的线程。这样的技术被称为“重演”操作。实质上,在管线中的级实施不可在当前周期中完成的操作处,管线对于包括至少一个目标地址的每个高速缓存行“重演”一次加载指令,直到每个线程实施相关公共资源访问操作为止。在该处理期间,利用管线的一部分来完成重演操作。因此,暂停(stall)管线以防止新指令进入管线,直到已经完成所有重演操作为止。该方法的一个缺点是,管线被暂停直到所有重演操作完成为止。上游指令不可在管线中前进直到释放管线暂停为止,其减少了总体系统性能。附加的缺点是,并行处理系统可能不能够在一个管线级延迟内暂停所有管线级。如果并行处理系统不能及时暂停管线,那么一个或多个进入管线的新指令可能被不正确地丢弃或者重演操作也被丢弃。不论哪种情况,新指令或者重演操作不能正确完成。
另外一种实现多个执行周期的方法是将指令更远地重新插回管线中。利用该方法,正被“重演”的指令与新指令一起在管线中加以交错,减少了管线暂停的频率,从而提高管线性能。然而,该方法的一个缺点是正被重演的指令的经增加的时延。例如,考虑具有32个正同时执行的线程的处理器。在发散加载操作中,用于32个线程的目标地址位置可跨32个不同的高速缓存行进行发散。如果重演操作被插回一个管线级,那么当31个重演操作执行时,管线可暂停31个管线周期。将重演操作插回5个管线级将用于正被重演的指令的时延增加至5个管线级乘31个重演操作或者155个管线周期。
如前文示出的,本领域需要的是执行用于发散操作的重演操作的更有效的方式。
发明内容
本发明的一个实施例阐述了用于公共资源访问操作的预调度重演的计算机实现的方法。流多处理器(SM)接收要由多级管线中的一组线程执行的指令。该SM确定预调度重演操作应插入到多级管线中以允许来自该组线程的一个或多个线程的第二集合执行该指令。该SM自该组线程选择一个或多个线程的第一集合以在多级管线中执行该指令。该SM将该指令插入到多级管线中用于由一个或多个线程的第一集合执行。该SM将预调度重演操作插入到多级管线中以允许一个或多个线程的第二集合执行第一指令。一个或多个线程的第一集合旨在访问公共资源的第一方面或部分,并且一个或多个线程的第二集合旨在访问该公共资源的第二方面或部分。
所公开的技术的一个优点是,要求一个或多个重演操作的发散操作的执行具有减少的时延。进一步地,因为一个或多个预调度重演操作通过重演环路与原始指令一起串行进行,所以更有效地利用了该多级管线。
附图说明
因此,可以详细地理解本公开的上述特征,并且可以参考示例性实施例得到对如上面所简要概括的本公开更具体的描述,其中一些实施例在附图中示出。然而,应当注意的是,附图仅示出了本公开的典型实施例,因此不应被认为是对其范围的限制,本公开可以具有其他等效的实施例。
图1是示出了配置为实现本发明的一个或多个方面的计算机系统的框图。
图2是根据本发明的一个实施例的,用于图1计算机系统的并行处理子系统的框图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310052239.9/2.html,转载请声明来源钻瓜专利网。