[发明专利]一种面向可变粒度内存系统的二进制文件重写方法有效
| 申请号: | 201510082216.1 | 申请日: | 2015-02-15 |
| 公开(公告)号: | CN104679477B | 公开(公告)日: | 2017-08-01 |
| 发明(设计)人: | 吕方;王晨曦;黄磊;冯晓兵;崔慧敏;王蕾 | 申请(专利权)人: | 中国科学院计算技术研究所 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30 |
| 代理公司: | 北京泛华伟业知识产权代理有限公司11280 | 代理人: | 王勇 |
| 地址: | 100190 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 可变 粒度 内存 系统 二进制文件 重写 方法 | ||
1.一种面向可变粒度内存系统的二进制文件重写方法,包括:
步骤1)、在二进制文件的中间表示中找到热循环区域,其中,热循环区域是执行次数超过预定阈值的循环的代码区域;
步骤2)、对于访存行为符合可变粒度访存模式的热循环区域,合并该区域内的访存信息,并且在该区域之前插入头语句;其中,一个访存信息指示一条访存指令且包括访存所访问的地址信息,所述头语句用于实现从可变粒度内存系统读取的功能;
步骤3)、根据修改后的热循环区域生成目标机器代码。
2.根据权利要求1所述的方法,在步骤2)中,合并访存行为符合可变粒度访存模式的热循环区域内的访存信息包括:
合并该区域内的访存信息,使得合并后的访存信息对应的效益大于构成该合并的每个访存信息对应的效益之和并且合并后该区域的访存行为符合可变粒度访存模式;其中,所述效益与资源占用率及性能相关联。
3.根据权利要求2所述的方法,其中,所述效益表示如下:
其中,FACTORS=3,factori表示effecti的意愿因子,取值在0到1之间,并且βi为参数;effect1=size(data)/time(data access),size(data)表示合并的访存信息的数据总长度,time(data access)表示合并的访存信息对应的可变粒度内存系统的访问次数与一次访问内存的开销之积;effect2=size(data)/size(transfer_data),size(transfer_data)表示合并的访存信息对应的可变粒度内存系统的访问操作的总数据传输量;effect3=size(data)/size(getin_data),size(getin_data)表示合并的访存信息对应的可变粒度内存系统访问操作所存入高速缓存的总数据量。
4.根据权利要求1所述的方法,其中,步骤1)之前还包括:
选择动态地执行二进制文件重写或者静态地执行二进制文件重写。
5.根据权利4所述的方法,其中,人为选择二进制文件重写的动态或静态执行方式;或者如果不存在人为选择,则对于运行时间大于预定时间阈值且系统资源满足其资源需求的二进制文件,选择动态地执行二进制文件重写,否则选择静态地执行二进制文件重写。
6.根据权利要求4或5所述的方法,其中,步骤1)还包括:
如果静态地执行二进制文件重写,则将所述二进制文件翻译成中间表示;
如果动态地执行二进制文件重写,则将已执行的并且未翻译过的二进制文件代码翻译成中间表示。
7.根据权利要求4或5所述的方法,其中,步骤2)包括对于访存行为符合可变粒度访存模式的热循环区域执行以下步骤:
步骤21)、提取访存信息,按顺序记录该访存信息;其中,一个访存信息指示一条访存指令且包括访存所访问的地址信息;
步骤22)、如果动态地执行二进制文件重写,则采用预定的方式合并该区域内的访存信息;如果静态地执行二进制文件重写,则对该区域内的访存信息根据地址信息进行聚类,在每个类内采用预定的方式合并访存信息;
步骤23)、合并后,在该区域之前插入头语句,该头语句用于实现从可变粒度内存系统读取的功能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510082216.1/1.html,转载请声明来源钻瓜专利网。





