[发明专利]用于向自修改代码提供硬件支持的方法和装置有效
申请号: | 201580025114.4 | 申请日: | 2015-05-12 |
公开(公告)号: | CN106796506B | 公开(公告)日: | 2019-09-27 |
发明(设计)人: | M·阿布达拉;K·阿武戴亚潘 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/455;G06F12/0802;G06F9/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 修改 代码 提供 硬件 支持 方法 装置 | ||
1.一种用于在处理器中将访客代码转换成本机代码的装置,所述装置包括:
存储器;
硬件缓冲器;以及
与所述存储器和所述硬件缓冲器耦合的处理器,所述处理器被配置成:
将访客代码转换成本机代码;
将转换后的访客代码存储到所述处理器的代码高速缓存部分中;
维护被配置成用于跟踪转换后的代码在代码高速缓存中的相应位置的所述硬件缓冲器,其中所述硬件缓冲器基于对所述存储器中的相应位置的相应访问来被更新,所述存储器中的相应位置与转换后的代码在所述代码高速缓存中的相应位置相关联;以及
在访问所述硬件缓冲器之后执行对于修改存储器位置的请求,
其中所述存储器包括用于跟踪存在于所述代码高速缓存中的转换后的代码的、与所述硬件缓冲器相关联的表格,包括跟踪对访客代码的修改、响应于对访客代码的修改而发起的异常类型、以及所述访客代码是否已经被转换成本机代码。
2.根据权利要求1所述的装置,其中所述硬件缓冲器被配置成用作与所述硬件缓冲器相关联的所述表格的高速缓存,并且所述硬件缓冲器包括与所述硬件缓冲器相关联的所述表格的数据的子集。
3.根据权利要求1或2所述的装置,其中所述处理器被配置成在所述请求要修改与包括转换后的访客代码的所述代码高速缓存中的位置相关联的存储器中的位置的情况下发起异常。
4.根据权利要求1或2所述的装置,其中所述处理器被配置成响应于访客代码分支来发起异常。
5.根据权利要求1或2所述的装置,其中所述请求是通过自修改代码的存储。
6.根据权利要求1或2所述的装置,其中所述请求是直接存储器访问DMA写入。
7.根据权利要求1或2所述的装置,其中所述硬件缓冲器在所述处理器内部。
8.一种用于在处理器中将访客代码转换成本机代码的计算系统,所述计算系统包括:
与存储器耦合的处理器,所述处理器包括硬件缓冲器和代码高速缓存,其中所述处理器被配置成:
将访客代码转换成本机代码;
将转换后的访客代码存储到所述处理器中的代码高速缓存中;以及
维护被配置成用于跟踪转换后的代码在代码高速缓存中的相应位置的所述硬件缓冲器,其中所述硬件缓冲器基于对所述存储器中的相应位置的相应访问来被更新,所述存储器中的相应位置与转换后的代码在所述代码高速缓存中的相应位置相关联;
其中所述处理器进一步被配置成:
维护用于跟踪存在于所述代码高速缓存中的转换后的代码的、与所述硬件缓冲器相关联的表格,其中所述存储器包括与所述硬件缓冲器相关联的所述表格;以及
其中所述处理器被配置成:
在访问所述硬件缓冲器之后执行对于修改存储器位置的请求,
其中所述存储器包括用于跟踪存在于所述代码高速缓存中的转换后的代码的、与所述硬件缓冲器相关联的表格,包括跟踪对访客代码的修改、响应于对访客代码的修改而发起的异常类型、以及所述访客代码是否已经被转换成本机代码。
9.根据权利要求8所述的计算系统,其中所述硬件缓冲器被配置成用作与所述硬件缓冲器相关联的所述表格的高速缓存,并且所述硬件缓冲器包括与所述硬件缓冲器相关联的所述表格的数据的子集。
10.根据权利要求8所述的计算系统,其中所述处理器被配置成在所述请求要修改与包括转换后的访客代码的所述代码高速缓存中的位置相关联的存储器中的位置的情况下发起异常。
11.根据权利要求8、9或10所述的计算系统,其中所述处理器被配置成响应于访客代码分支来发起异常。
12.根据权利要求8、9或10所述的计算系统,其中所述请求是通过自修改代码的存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580025114.4/1.html,转载请声明来源钻瓜专利网。