[发明专利]用于在单指令多数据SIMD处理系统中控制发散分支指令的方法和设备有效
| 申请号: | 201380046580.1 | 申请日: | 2013-08-08 |
| 公开(公告)号: | CN104603749B | 公开(公告)日: | 2017-09-19 |
| 发明(设计)人: | 陈琳 | 申请(专利权)人: | 高通股份有限公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38 |
| 代理公司: | 北京律盟知识产权代理有限责任公司11287 | 代理人: | 宋献涛 |
| 地址: | 美国加利*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 多线程 处理 系统 执行 例程 | ||
技术领域
本发明涉及多线程处理,且更特定来说涉及用于在多线程处理系统中执行子例程的技术。
背景技术
单指令多数据(SIMD)处理系统是一种类型的并行计算系统,其包含在多个数据块上执行相同指令的多个处理元件。SIMD系统可为独立计算机或计算系统的子系统。举例来说,一或多个SIMD执行单元可用于图形处理单元(GPU)中以实施支持可编程着色的可编程着色单元。
SIMD处理系统允许以并行方式在多个处理元件上同步地执行程序的多个执行线程,借此增加其中需要对多个数据块执行相同一组操作的程序的通过量。由于每一线程对不同数据产生作用,所以如果程序包含条件性分支指令,那么有可能针对执行于系统中的一些线程而满足分支条件且针对执行于系统中的其它线程而不满足分支条件。此条件可称作发散分支条件且导致SIMD系统不能够以同步方式在多个处理元件上执行所有线程。
发明内容
本发明是针对用于在经受发散线程条件的单指令多数据(SIMD)处理系统中执行子例程的技术。特别地说,描述用于管理发散线程的基于恢复计数器的方法,其利用程序模块特定型最小恢复计数器(MINRC)来有效处理控制流指令。如本文中所使用,程序模块可指主程序模块(例如,顶级程序模块)或子例程程序模块。因而,在处理系统中执行的每一子例程可使用子例程特定型MINRC来控制对所述子例程中包含的控制流指令的处理。程序模块特定型MINRC的使用允许实施基于MINRC的控制流的系统支持执行子例程程序指令。
在一个实例中,本发明描述一种方法,所述方法包含通过一或多个处理器基于第一 MINRC来控制对程序的执行。第一MINRC指定指示与所述程序的多个执行线程相关联的多个恢复计数器值中的最小恢复计数器值的值。所述方法进一步包含通过一或多个处理器基于与所述程序的子例程相关联的第二MINRC来控制对所述子例程的执行。第二 MINRC指定指示来自多个恢复计数器值的子集的最小恢复计数器值的值,所述多个恢复计数器值对应于在起始对子例程的执行时为有效的所有线程。
在另一实例中,本发明描述包含一或多个处理器的系统,所述一或多个处理器经配置以基于第一MINRC来控制对程序的执行且基于与所述程序的子例程相关联的第二 MINRC来控制对所述子例程的执行。第一MINRC指定指示与所述程序的多个执行线程相关联的多个恢复计数器值中的最小恢复计数器值的值。第二MINRC指定指示来自多个恢复计数器值的子集的最小恢复计数器值的值,所述多个恢复计数器值对应于在起始对子例程的执行时为有效的所有线程。
在另一实例中,本发明描述包含用于基于第一MINRC来控制对程序的执行的装置的设备。第一MINRC指定指示与所述程序的多个执行线程相关联的多个恢复计数器值中的最小恢复计数器值的值。所述设备进一步包含用于基于与所述程序的子例程相关联的第二MINRC来控制对所述子例程的执行的装置。第二MINRC指定指示来自多个恢复计数器值的子集的最小恢复计数器值的值,所述多个恢复计数器值对应于在起始对子例程的执行时为有效的所有线程。
在另一实例中,本发明描述存储指令的计算机可读存储媒体,所述指令在执行时致使一或多个处理器基于第一MINRC来控制对程序的执行。第一MINRC指定指示与所述程序的多个执行线程相关联的多个恢复计数器值中的最小恢复计数器值的值。所述指令进一步致使一或多个处理器基于与所述程序的子例程相关联的第二MINRC来控制对所述子例程的执行。第二MINRC指定指示来自多个恢复计数器值的子集的最小恢复计数器值的值,所述多个恢复计数器值对应于在起始对子例程的执行时为有效的所有线程。
在附图及以下描述中阐述本发明的一或多个实例的细节。本发明的其它特征、目标和优势将从描述和附图以及从权利要求书显而易见。
附图说明
图1是说明可用于实施本发明的子例程执行技术的实例处理系统的框图。
图2是根据本发明的更详细地说明图1的实例处理系统中的控制单元的框图。
图3是说明可用于实施本发明的子例程执行技术的实例控制流模块的框图。
图4是说明本发明的子例程执行技术的实例控制流的概念图。
图5是说明本发明的子例程执行技术的另一实例控制流的概念图。
图6是根据本发明的技术的说明实例程序空间布置的概念图。
图7到18是说明利用本发明的子例程执行技术的实例指令处理技术的流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高通股份有限公司,未经高通股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380046580.1/2.html,转载请声明来源钻瓜专利网。





