[发明专利]独占指令的模拟在审
申请号: | 201910037656.3 | 申请日: | 2019-01-09 |
公开(公告)号: | CN110058880A | 公开(公告)日: | 2019-07-26 |
发明(设计)人: | 亚当·詹姆斯·麦克尼内;格勒瑟·詹姆斯·埃文斯 | 申请(专利权)人: | Arm有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 林强 |
地址: | 英国*** | 国省代码: | 英国;GB |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 目标程序代码 独占 指令映射 指令 主机数据处理 方法和装置 加载指令 加载 存储 交换 | ||
1.一种用于控制目标程序代码在主机数据处理装置上的执行以模拟所述目标程序代码在目标处理装置上的执行的方法,所述方法包括:
响应于所述目标程序代码的加载独占指令,将所述加载独占指令映射到要由所述主机数据处理装置执行的加载指令以从存储器位置加载值,并且存储与所述加载独占指令有关的元数据,其中,所述元数据至少包括从所述存储位置加载的值;以及
响应于所述目标程序代码的存储独占指令,使用要由所述主机数据处理装置执行的原子比较和交换指令来仿真所述存储独占指令;
所述原子比较和交换指令将由所述元数据指定的从所述存储器位置加载的值指定为在所述原子比较和交换指令被执行时要与存储在所述存储器位置的值进行比较的比较值。
2.根据权利要求1所述的方法,其中,所述存储独占指令指定要被存储在所述存储器位置的存储值,并且
所述方法包括:在所述原子比较和交换指令被执行时,当所述比较值与存储在所述存储器位置的值之间的比较满足预定条件时,将所述存储独占指令的存储值指定为要被存储在所述存储器位置的交换值。
3.根据任意前述权利要求所述的方法,包括:
响应于指示所述比较值与存储在所述存储器位置的值之间的比较未能满足预定条件的比较和交换失败指示,返回存储独占失败作为对所述存储独占指令的响应。
4.根据任意前述权利要求所述的方法,其中,所述元数据被存储在所述目标程序代码不可访问的存储器的模拟控制区域中。
5.根据任意前述权利要求所述的方法,包括:
响应于所述存储独占指令,执行有效性检查以检查所述元数据的有效性;以及
当所述有效性检查失败时,返回存储独占失败作为对所述存储独占指令的响应。
6.根据权利要求5所述的方法,其中,
所述元数据包括由所述加载独占指令指定的存储器地址、数据大小和存储器属性中的至少一个,并且所述有效性检查包括检查所述存储独占指令是否指定与所述加载独占指令相同的存储器地址、数据大小或存储器属性。
7.根据权利要求5和6中任一项所述的方法,其中,当在所述加载指令和所述原子比较和交换指令之间的时间段中检测到指示所述的目标程序代码与其他程序代码之间的可能通信的事件时,所述有效性检查失败。
8.根据权利要求7所述的方法,其中,所述事件包括除了对由所述加载独占指令寻址的存储器位置的存储器访问之外的事件。
9.根据权利要求5至8中任一项所述的方法,其中,当在加载指令和所述原子比较和交换指令之间的时间段中检测到异常时,所述有效性检查失败。
10.根据权利要求5至9中任一项所述的方法,其中,
响应于存储独占失败触发事件,用保留值替换所述元数据的值,并且
响应于所述存储独占指令,检测到在所述元数据具有所述保留值时所述有效性检查失败。
11.根据权利要求5至10中任一项所述的方法,包括:
当所述有效性检查针对使用所述原子比较和交换指令来模拟所述存储独占指令的预定次数的尝试失败时,触发用于模拟所述存储独占指令的执行的替代方法的操作。
12.一种用于控制主机数据处理装置以执行任意前述权利要求的方法的计算机程序。
13.一种存储有权利要求12的计算机程序的存储介质。
14.一种装置,包括:
主机处理电路;和
控制电路,被配置为控制所述主机处理电路以执行任意前述权利要求的方法。
15.一种用于控制目标程序代码在主机数据处理装置上的执行以模拟所述目标程序代码在目标处理装置上的执行的计算机程序,其中,所述计算机程序包括:
加载独占程序逻辑,响应于所述目标程序代码的加载独占指令,将所述加载独占指令映射到要由所述主机数据处理装置执行的加载指令以从存储器位置加载值,并且存储与所述加载独占指令有关的元数据,其中,所述元数据至少包括从所述存储位置加载的值;以及
存储独占程序逻辑,响应于所述目标程序代码的存储独占指令,使用要由所述主数据处理装置执行的原子比较和交换指令来仿真所述存储独占指令;
所述原子比较和交换指令将由所述元数据指定的从所述存储器位置加载的值指定为在所述原子比较和交换指令被执行时要与存储在所述存储器位置的值进行比较的比较值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于Arm有限公司,未经Arm有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910037656.3/1.html,转载请声明来源钻瓜专利网。