[发明专利]一种动态二进制翻译中基于代码热度的翻译缓存管理方法在审
申请号: | 201610245988.7 | 申请日: | 2016-04-20 |
公开(公告)号: | CN105843664A | 公开(公告)日: | 2016-08-10 |
发明(设计)人: | 邓霏;高峰 | 申请(专利权)人: | 中国工程物理研究院计算机应用研究所 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 中国工程物理研究院专利中心 51210 | 代理人: | 翟长明;何勇盛 |
地址: | 621999 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种动态二进制翻译中基于代码热度的翻译缓存管理方法,所述方法包括步骤:将整个翻译缓存划分两级缓存;当有新的基本块需要翻译时,根据所述基本块的地址在所述热代码缓存查找代码块;根据所述基本块的地址在所述子代码缓存查找代码块;计算缓存所述代码块需要的空间大小;清空所述子代码缓存;翻译所述基本块,并将翻译后的代码块存入所述子代码缓存;执行所述代码块;统计所述代码块的执行次数,如果所述执行次数大于所述阈值,则将所述代码块缓存入所述热代码缓存;将所述基本块加入慢哈希表,将结果加入快哈希表。 | ||
搜索关键词: | 一种 动态 二进制 翻译 基于 代码 热度 缓存 管理 方法 | ||
【主权项】:
一种动态二进制翻译中基于代码热度的翻译缓存管理方法,其特征在于,所述的方法包括以下步骤:将整个翻译缓存划分两级缓存,所述两级缓存包括第一级子代码缓存和第二级热代码缓存,所述子代码缓存用于存放普通代码块,所述热代码缓存用于存放热代码块,其中,所述普通代码块为新翻译的代码块和从热代码缓存中替换出来的代码块,所述热代码块为热度达到阈值的代码块;当有新的基本块需要翻译时,根据所述基本块的地址在所述热代码缓存查找,如果找到所述代码块,则执行步骤7;根据所述基本块的地址在所述子代码缓存查找,如果找到所述代码块,则执行步骤7;计算缓存所述代码块需要的空间大小,如果所述子代码缓存剩余空间大于所述代码块则执行步骤6;清空所述子代码缓存,执行步骤6;翻译所述基本块,并将翻译后的代码块存入所述子代码缓存;执行所述代码块;统计所述代码块的执行次数,如果所述执行次数大于所述阈值,则将所述代码块缓存入所述热代码缓存;将所述基本块加入慢哈希表,将结果加入快哈希表。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工程物理研究院计算机应用研究所,未经中国工程物理研究院计算机应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610245988.7/,转载请声明来源钻瓜专利网。
- 上一篇:自发电发热鞋垫
- 下一篇:一种可有规律发声的鞋底