[发明专利]用于向自修改代码提供硬件支持的方法和装置有效
申请号: | 201580025114.4 | 申请日: | 2015-05-12 |
公开(公告)号: | CN106796506B | 公开(公告)日: | 2019-09-27 |
发明(设计)人: | M·阿布达拉;K·阿武戴亚潘 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/455;G06F12/0802;G06F9/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 修改 代码 提供 硬件 支持 方法 装置 | ||
用于向自修改访客代码提供支持的方法和装置。装置包括存储器、硬件缓冲器和处理器。处理器被配置成将访客代码转换成本机代码并且将等同于访客代码的转换得到的本机代码存储到处理器的代码高速缓存部分中。处理器还被配置成维护被配置用于跟踪转换后的代码在代码高速缓存中的相应位置的硬件缓冲器。硬件缓冲器基于对与转换后的代码在代码高速缓存中的相应位置相关联的存储器中的相应位置的相应访问来被更新。处理器还被配置成执行在访问硬件缓冲器之后修改存储器位置的请求。
本申请要求2014年5月12日提交的名称为“METHOD AND APPARATUS FORPROVIDING HARDWARE SUPPORT FOR SELF MODIFYING CODE”代理人备案编号为SMII-207.A的共同拥有的先前父专利申请美国第61/991,951号的优先权和权益,其全部内容通过引用合并于此。
背景技术
自修改代码(SMC)是一种优化技术,其中一些软件代码在执行之前修改自身的一部分。SMC可以用在即时编译(JIT)编译系统中,诸如使用Java编程语言。在使用代码转换的系统中,访客代码的自修改提出了具体的问题,因为访客代码修改(GCM)必须被检测并且代码高速缓存中的对应的转换后的轨迹必须基于新的代码而被无效或再生。
由于可能发生的极端情况,GCM的检测可能是具有挑战性的。极端情况可以包括被细微地交错并且用于Harvard处理器的代码和可写入数据,例如具有单独的指令和数据路径,GCM可能需要访客架构中的具体代码序列以在代码存储在可高速缓存的存储器中的情况下使得代码变化可见。
极端情况还可以包括代码位置何时使用不同于中央处理单元(CPU)的存储器主机来写入。例如,某个直接存储器访问(DMA)过程在执行代码之前从外部外围设备下载代码。通常,存在输入/输出存储器管理单元(IOMMU),使得DMA存储器写入操作对于CPU可见并且能够被考虑在内。
发明内容
存在对于处理自修改访客代码和访客代码的DMA修改(统称为GCM)的需要。实施例被配置用于标识对应于代码高速缓存中存储的代码轨迹的存储器区域的变化。实施例还可以被配置用于跟踪转换后的代码在代码高速缓存中的位置。其中可能存在自修改代码的数据的取回可以被支持。在检测自修改代码的同时增强了性能并且执行代码高速缓存中的代码的轨迹的替换。
实施例被实现为用于向自修改代码提供支持的装置。装置包括存储器、硬件缓冲器和处理器。处理器被配置成将访客代码转换成本机代码并且将经转换的访客代码存储到处理器的代码高速缓存部分中。处理器还被配置成维护被配置用于跟踪转换后的代码在代码高速缓存中的相应位置的硬件缓冲器。硬件缓冲器基于对与转换后的代码在代码高速缓存中的相应位置相关联的存储器中的相应位置的相应访问来被更新。处理器还被配置成执行在访问硬件缓冲器之后修改存储器位置的请求。
以上是概述并且因此必然包含细节的简化、概括和省略;因此,本领域技术人员应当理解,概括仅是说明性的,而非意图以任何方式限制。仅由权利要求定义的本发明的其他的方面、发明特征和优点在下面给出的非限制性详细描述中将变得很清楚。
附图说明
根据被给出仅作为示例的以下描述并且参考附图,本公开的另外的特征将会变得很清楚,在附图中:
图1示出了描绘根据各种实施例的其中访客指令块被转换成本机转换块的基于块的翻译过程的图。
图2示出了根据各种实施例的示例性硬件加速的转换系统的图,该转换系统图示将访客指令块及其对应本机转换块存储在高速缓存中的方式。
图3示出了根据各种实施例的用于以小于系统的页面大小的粒度来跟踪访客代码的系统的示例性部件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580025114.4/2.html,转载请声明来源钻瓜专利网。