[发明专利]转换原子读取-修改-写入访问有效
| 申请号: | 201780011521.9 | 申请日: | 2017-02-09 |
| 公开(公告)号: | CN108701049B | 公开(公告)日: | 2021-12-31 |
| 发明(设计)人: | C·丹恩;Y·巴卡特;A·基什安 | 申请(专利权)人: | 微软技术许可有限责任公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455 |
| 代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 顾嘉运;陈斌 |
| 地址: | 美国华*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 转换 原子 读取 修改 写入 访问 | ||
1.一种用于转换原子读取-修改-写入访问的系统,所述原子读取-修改-写入访问是将读取和算术相组合并写入结果,包括:
计算机处理器;以及
计算机存储器,所述计算机存储器储存用来致使所述处理器进行以下操作的指令:
确定第一语言的机器指令指定针对地址的原子读取-修改-写入访问;
生成第二语言的机器指令以在所述地址对齐的情况下执行针对所述地址的原子访问;
生成所述第二语言的机器指令以在所述地址非对齐的情况下获取全局锁;
生成所述第二语言的机器指令以在所述地址非对齐的情况下执行针对所述地址的非原子访问;以及
生成所述第二语言的机器指令以在所述地址非对齐的情况下释放所述全局锁。
2.根据权利要求1所述的系统,其特征在于,所述地址是对齐的地址。
3.根据权利要求1所述的系统,其特征在于,所述地址是非对齐的地址。
4.根据权利要求1所述的系统,其特征在于,所述指令致使所述处理器执行所生成的机器指令。
5.根据权利要求4所述的系统,其特征在于,执行所生成的机器指令包括:
获取所述全局锁;
执行所述非原子访问;以及
释放所述全局锁。
6.根据权利要求4所述的系统,其特征在于,执行所生成的机器指令包括:
执行所述原子访问。
7.根据权利要求1所述的系统,其特征在于,所述指令致使所述处理器生成第二语言的机器指令以执行所述地址的对齐检查,其中所述第一语言用于第一处理器,而所述第二语言用于第二处理器。
8.根据权利要求1所述的系统,其特征在于,所述指令致使所述处理器确定所述地址最初是已知的还是未知的。
9.根据权利要求1所述的系统,其特征在于,所述第二语言的机器指令包括用来处置其中所述地址对齐的情形的本机原子读取-修改-写入指令。
10.根据权利要求1所述的系统,其特征在于,所述全局锁同步进程内的各访问。
11.根据权利要求1所述的系统,其特征在于,所述全局锁同步系统内的各进程之间的访问。
12.根据权利要求11所述的系统,其特征在于,所述进程的安全级别指示对应于所述访问的数据要使用所述全局锁来被共享或者对应于所述访问的所述数据要使用第二全局锁来被共享。
13.一种用于转换原子读取-修改-写入访问的方法,所述原子读取-修改-写入访问是将读取和算术相组合并写入结果,包括:
确定第一语言的机器指令指定针对地址的原子读取-修改-写入访问,其中所述第一语言用于第一处理器;
确定所述地址是否对齐;
生成第二语言的机器指令以在所述地址非对齐的情况下获取全局锁,其中所述第二语言用于第二处理器;
生成所述第二语言的机器指令以在所述地址对齐的情况下执行针对所述地址的原子访问;
生成所述第二语言的机器指令以在所述地址非对齐的情况下执行针对所述地址的非原子访问;以及
生成所述第二语言的机器指令以在所述地址非对齐的情况下释放所述全局锁。
14.根据权利要求13所述的方法,其特征在于,所述地址包括对齐的地址。
15.根据权利要求13所述的方法,其特征在于,所述地址包括非对齐的地址。
16.根据权利要求13所述的方法,其特征在于,所述方法包括执行所生成的机器指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780011521.9/1.html,转载请声明来源钻瓜专利网。





