首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于RISC处理器常量池布局分析与整合的Cache优化方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:东南大学

摘要:本发明公开了一种基于RISC处理器常量池布局分析与整合的Cache优化方法。本发明提出的方法,实现对RISC处理器常量池的布局分析及整合优化,包括:以ELF文件作为输入,通过遍历所有访问常量池的LDR指令计算出对应常量的地址。并通过构建两个散列表来遍历所有的LDR指令,删除误判为LDR指令的常量,将所有地址连续的常量池整合起来,得到所有常量池的位置和大小。通过对发现的常量池进行重排序,将零散的小常量池尽可能合并为大的常量池,减少Cache填充过程中的无效数据,包括被装载到ICache中的常量数据以及被装载到DCache中的指令。从而降低Cache的缺失率,提升Cache性能。

主权项:1.一种基于RISC处理器常量池布局分析与整合的Cache优化方法,其特征在于,该方法包括以下步骤:步骤S1、采用编译工具获取ELF格式的输出文件作为常量池布局分析方法的输入;步骤S2、依据常量池的特点对常量池在程序中的布局进行分析,具体包括如下步骤:步骤S201、将步骤S1中获得的ELF文件格式做输入,遍历ELF文件的代码段,根据LDR指令对常量寻址的格式,找到所有对常量寻址的LDR指令,得到LDR指令的地址和内容;步骤S202、通过LDR指令的地址和内容,计算出对应常量的地址;步骤S203、构建两个散列表,分别是Ldr2Literal和Literal2Ldr;前者通过LDR指令地址索引它引用的常量地址,后者通过常量地址索引引用它的LDR指令地址;步骤S204、由步骤S201中得到的LDR指令,存在本身为常量却被误判成LDR指令的情况,遍历步骤S203构建的散列表,如果通过Ldr2Literal的索引值能够在Literal2Ldr中索引到对应的数据,那么该Ldr2Literal的索引值就是一个误判,删除所有误判的常量;步骤S205、将所有地址连续的常量合并为一个常量池,遍历整个代码段得到所有常量池的位置和大小信息;步骤S3、对常量池进行分类、重排序,并将被打乱的代码段的指令进行修复,最后生成优化后的二进制文件,具体包括如下步骤:步骤S301、通过解析ELF文件中符号表,得到函数块的起始地址,按照函数块的起始地址,把常量池之间的代码区域,分割为独立的函数块;步骤S302、根据独立函数块里LDR指令对常量的引用关系,建立函数块与经过步骤S205后得到的常量池的对应关系,并将合并后的常量池分为三种类型,具体为:类别一、被低地址的函数块引用;类别二、被高地址的函数块引用;类别三、同时被低地址以及高地址的函数块引用;步骤S303、通过双指针的方式,对函数块以及类型为类别一和类别二的常量池进行重排序,使得重排序后常量池的分布更加集中,并使重排序后的所有常量池都在引用它的函数块下方;步骤S304、修改每一行因为打乱代码段而无效的指令,将修复后的内容写进二进制文件中,完成常量池的重排序。

全文数据:

权利要求:

百度查询: 东南大学 一种基于RISC处理器常量池布局分析与整合的Cache优化方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。