[发明专利]代码转换期间的屏障减少有效
申请号: | 201880067059.9 | 申请日: | 2018-10-09 |
公开(公告)号: | CN111279308B | 公开(公告)日: | 2023-09-26 |
发明(设计)人: | C·S·Y·邓;A·U·基尚 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F8/52 | 分类号: | G06F8/52;G06F9/30 |
代理公司: | 北京世辉律师事务所 16093 | 代理人: | 王俊 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 转换 期间 屏障 减少 | ||
1.一种在包括一个或多个处理器的计算机系统上实现的用于当在指令集架构(ISA)之间转换处理器指令时减少被屏障指令的发出的方法,所述方法包括:
获取根据第一处理器ISA被格式化的一个或多个处理器指令块,所述一个或多个处理器指令块包括执行存储器操作的至少一个指令,所述存储器操作的执行次序基于所述第一处理器ISA的硬件存储器模型而被约束;
基于对所述一个或多个处理器指令块的分析,确定所述至少一个指令的所述存储器操作能够被使得在第二处理器ISA的硬件存储器模型中与次序无关,所述确定是基于至少通过以下来确定所述至少一个指令是对非线程本地数据而不是同步变量的数据访问模式的一部分:
确定所述至少一个指令与一个或多个第一指令相对应,所述一个或多个第一指令从存储器缓冲器重复地加载数据或将数据重复地存储到所述存储器缓冲器;或者
确定所述至少一个指令与一个或多个第二指令相对应,所述一个或多个第二指令在执行至少阈值次数的循环内、进行从循环计数器得出的存储器访问;以及
基于确定所述存储器操作能够被使得与次序无关,发出根据所述第二处理器ISA被格式化的一个或多个无屏障处理器指令,所述一个或多个无屏障处理器指令被构造为在没有排序约束的情况下执行所述存储器操作。
2.根据权利要求1所述的方法,其中所述排序约束包括第一排序约束,所述方法还包括:
基于所述分析,确定所述一个或多个处理器指令块中的另一指令的另一存储器操作不能被使得在第二处理器ISA的所述硬件存储器模型中与次序无关;以及
基于确定所述一个或多个处理器指令块中的另一指令的另一存储器操作不能被使得在所述第二处理器ISA的所述硬件存储器模型中与次序无关,发出根据所述第二处理器ISA被格式化的一个或多个被屏障处理器指令,所述一个或多个被屏障处理器指令被构造为在具有第二排序约束的情况下执行所述另一存储器操作。
3.根据权利要求2所述的方法,其中发出一个或多个被屏障处理器指令包括:发出执行所述另一存储器操作的一个或多个第一指令以及强制实施所述第二排序约束的一个或多个第二指令。
4.根据权利要求3所述的方法,其中所述第二指令中的至少一个第二指令在所述第一指令中的至少一个第一指令之前被发出。
5.根据权利要求1所述的方法,其中所述分析的至少一部分在所述计算机系统处被执行。
6.根据权利要求1所述的方法,其中所述分析的至少一部分在另一计算机系统处被执行。
7.根据权利要求1所述的方法,其中确定所述至少一个指令的所述存储器操作能够被使得在第二处理器ISA的所述硬件存储器模型中与次序无关包括:确定所述存储器操作访问线程本地数据。
8.根据权利要求7所述的方法,其中基于所述存储器操作使用当前线程的堆栈内的存储器地址,所述存储器操作被确定为访问线程本地数据。
9.根据权利要求7所述的方法,其中基于所述存储器操作使用从堆栈指针寄存器或帧指针寄存器被获取的存储器地址,或者基于所述存储器操作使用从所述堆栈指针寄存器或所述帧指针寄存器被获取的所述存储器地址中得出的值,所述存储器操作被确定为访问线程本地数据。
10.根据权利要求9所述的方法,其中基于以下中的一项或多项,所述存储器操作被确定为使用从所述堆栈指针寄存器或所述帧指针寄存器被获取的所述存储器地址中得出的所述值:(i)所述值基于在从所述堆栈指针寄存器或所述帧指针寄存器被获取的所述存储器地址上被执行的一个或多个算术或按位操作,或(ii)所述值基于在从所述堆栈指针寄存器或所述帧指针寄存器被获取之后流经一个或多个处理器寄存器的所述存储器地址或所述存储器地址的得出物。
11.根据权利要求7所述的方法,其中基于段超越前缀的使用,所述存储器操作被确定为访问线程本地数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880067059.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:共混燃料的方法
- 下一篇:储能装置和运行这种储能装置的方法