[发明专利]基于静态划分的代码Cache管理方法有效
申请号: | 201310048664.0 | 申请日: | 2013-02-07 |
公开(公告)号: | CN103150197A | 公开(公告)日: | 2013-06-12 |
发明(设计)人: | 李莹;罗艳;尹建伟;吴健;邓水光;吴朝晖 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 杭州裕阳专利事务所(普通合伙) 33221 | 代理人: | 应圣义 |
地址: | 310027 浙江省杭州市浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及计算机应用领域的动态二进制翻译技术,公开了一种基于静态划分的代码Cache管理方法,在TB信息中增加表示基本块执行次数的execution_times和表示目标体系代码块大小的generated_size,增加变量L1_base和L1_ptr,增加变量L2_head和L2_rear,增加TB备份数组。本发明的优点在于,Cache管理灵活,管理开销较低,通过考虑程序的执行特征,降低了Cache中缓存的代码块的缺失率。 | ||
搜索关键词: | 基于 静态 划分 代码 cache 管理 方法 | ||
【主权项】:
1.一种基于静态划分的代码Cache管理方法,其特征在于,包括TB数组和TB备份数组,包括以下具体步骤: 1)从配置文件中读取配置参数MAX_CACHE_SIZE和L1_PROPORTION的值,将代码Cache划分为L1级Cache和L2级Cache,计算L1级Cache的大小L1_MAX_SIZE=MAX_CACHE_SIZE*L1_PROPORTION,计算L2级Cache的大小L2_MAX_SIZE=MAX_CACHE_SIZE*(1-L1_PROPORTION),其中,MAX_CACHE_SIZE表示代码Cache的大小,L1_PROPORTION表示L1级Cache占代码Cache的比例,L1_PROPORTION≥50%; 2)根据所述配置参数计算阈值
3)读取一个基本块,判断所述基本块是否已被翻译,如果所述基本块未被翻译,则对所述基本块进行翻译,在L1级Cache申请空间,将翻译产生的目标体系代码块缓存至L1级Cache;所述申请空间步骤包括,如果L1_ptr–L1_base<L1_MAX_SIZE,将所述基本块的起始地址设置为L1_ptr,所述基本块翻译完成后,根据所述目标体系代码块的大小,更新L1_ptr和TB数组;如果L1_ptr–L1_base≥L1_MAX_SIZE,令L1_ptr=L1_base,清空所述L1级Cache,将所述TB数组清零,将所述TB备份数组复制到所述TB数组,所述L1_base指向所述L1级Cache的起始地址,所述L1_ptr指向所述L1级Cache的空闲区域; 4)执行所述目标体系代码块,如果所述目标体系代码块在所述L1级Cache中则execution_times加1; 5)如果所述execution_times达到所述阈值N,则将所述目标体系代码块转移至L2级Cache,同时将所述目标体系代码块的TB信息从所述TB数组复制到所述TB备份数组; 6)重复执行所述步骤3-5直至所有基本块执行完毕。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310048664.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种基于迟滞全反馈神经网络的信号盲检测方法
- 下一篇:新型地球仪