[发明专利]独占指令的模拟在审
申请号: | 201910037656.3 | 申请日: | 2019-01-09 |
公开(公告)号: | CN110058880A | 公开(公告)日: | 2019-07-26 |
发明(设计)人: | 亚当·詹姆斯·麦克尼内;格勒瑟·詹姆斯·埃文斯 | 申请(专利权)人: | Arm有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 林强 |
地址: | 英国*** | 国省代码: | 英国;GB |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 目标程序代码 独占 指令映射 指令 主机数据处理 方法和装置 加载指令 加载 存储 交换 | ||
本公开涉及独占指令的模拟。一种用于在主机数据处理装置上模拟目标程序代码的方法和装置,该模拟将目标程序代码中的加载独占指令映射到加载指令,并且将目标程序代码中的存储独占指令映射到比较和交换指令。
技术领域
本技术涉及模拟领域,尤其涉及独占指令的模拟。
背景技术
一些数据处理装置使用独占指令来实现存储器中的值的原子更新(atomicupdate)。对存储器位置的原子更新是针对系统其余部分而言即时发生并且没有中断的更新,确保没有其他进程可以干扰该存储器位置的更新。独占指令(通常是加载独占指令与存储独占指令进行配对)是实现原子更新的一种方法。
发明内容
在至少一些示例中,本技术提供了一种用于控制目标程序代码在主机数据处理装置上的执行以模拟目标程序代码在目标处理装置上的执行的方法,该方法包括:响应于目标程序代码的加载独占指令,将加载独占指令映射到要由主机数据处理装置执行的加载指令以从存储器位置加载值,并且存储与加载独占指令有关的元数据,其中,元数据至少包括从存储位置加载的值;以及响应于目标程序代码的存储独占指令,使用要由主机数据处理装置执行的原子比较和交换指令来仿真存储独占指令;原子比较和交换指令将由元数据指定的从存储器位置加载的值指定为在原子比较和交换指令被执行时要与存储在存储器位置的值进行比较的比较值。
在另一示例中,本技术提供了一种用于控制主机数据处理装置以执行上述方法的计算机程序。
在另一示例中,本技术提供了一种存储上述计算机程序的存储介质。
在另一示例中,本技术提供了一种装置,包括:主机处理电路;和控制电路,被配置为控制主机处理电路以执行上述方法。
在另一示例中,本技术提供了一种用于控制目标程序代码在主机数据处理装置上的执行以模拟目标程序代码在目标处理装置上的执行的计算机程序,其中,该计算机程序包括:
加载独占程序逻辑,响应于目标程序代码的加载独占指令,将加载独占指令映射到要由主机数据处理装置执行的加载指令以从存储器位置加载值,并且存储与加载独占指令有关的元数据,其中,元数据至少包括从存储位置加载的值;以及存储独占程序逻辑,响应于目标程序代码的存储独占指令,使用要由主数据处理装置执行的原子比较和交换指令来仿真存储独占指令;原子比较和交换指令将由元数据指定的从存储器位置加载的值指定为在原子比较和交换指令被执行时要与存储在存储器位置的值进行比较的比较值。
附图说明
通过结合附图来阅读以下示例的描述,本技术的其他特征和优点将变得显而易见,其中:
图1A是示出数据处理装置对加载独占指令的响应的示例的流程图。
图1B是示出数据处理装置对存储独占指令的响应的示例的流程图。
图2示意性地示出了用于使用独占指令来执行存储器位置的原子更新的装置的示例。
图3是示出如图2中的装置对存储器访问请求的响应的示例的流程图。
图4是示出原子比较和交换指令(atomic compare-and-swap instruction)的示例的流程图。
图5示意性地示出了在主机数据处理装置上模拟目标程序代码的示例。
图6A是示出模拟对加载独占指令的响应的流程图。
图6B是示出模拟代码对存储独占指令的响应的流程图。
图7示出了目标程序代码的指令、模拟代码的指令和由主机数据处理装置执行的动作之间的比较。
图8示意性地示出了用于执行模拟的主机装置的示例布置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于Arm有限公司,未经Arm有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910037656.3/2.html,转载请声明来源钻瓜专利网。