[发明专利]基于代码复制超级块的程序执行优化方法无效
| 申请号: | 201010278538.0 | 申请日: | 2010-09-11 |
| 公开(公告)号: | CN101923481A | 公开(公告)日: | 2010-12-22 |
| 发明(设计)人: | 管海兵;陈凯;邓海鹏;刘博;张俊 | 申请(专利权)人: | 上海交通大学 |
| 主分类号: | G06F9/45 | 分类号: | G06F9/45 |
| 代理公司: | 上海交达专利事务所 31201 | 代理人: | 王锡麟;王桂忠 |
| 地址: | 200240 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 代码 复制 超级 程序 执行 优化 方法 | ||
1.一种基于代码复制超级块的程序执行优化方法,其特征在于,通过将程序划分后插入探测指令并构造得到中间语言超级块,然后设置生成中间语言超级块的平衡机制参数并进行筛选指导处理;并将中间语言超级块翻译成目标超级块,供二进制翻译器执行。
2.根据权利要求1所述的基于代码复制超级块的程序执行优化方法,其特征是,所述的程序执行优化方法包括以下步骤:
第一步,对程序指令进行划分处理,得到若干基本块;
第二步,在每个基本块的头部插入一个探测指令;
第三步,构造中间语言超级块,并实时记录该中间语言超级块所对应的参数;
第四步,设置生成中间语言超级块的平衡机制参数并进行筛选指导处理;
第五步,将中间语言超级块作为一个翻译单位一次性翻译成目标超级块,然后存储于内存指定位置并记录该目标超级块的内存地址,最后将二进制翻译器将该内存地址作为函数入口并直接跳转到该内存地址处执行目标超级块所对应的二进制指令,实现程序执行优化。
3.根据权利要求1或2所述的基于代码复制超级块的程序执行优化方法,其特征是,所述的划分是指:将第i个跳转指令和第i+1个跳转指令之间的指令序列作为一个基本块,其中:i表示程序中跳转指令序号,它是从1开始到整个程序中跳转指令个数之间的正整数。
4.根据权利要求1或2所述的基于代码复制超级块的程序执行优化方法,其特征是,所述的探测指令是探测构造超级块的头块或者是触发构造超级块例程。
5.根据权利要求1或2所述的基于代码复制超级块的程序执行优化方法,其特征是,所述的构造中间语言超级块是指:当一个基本块的探测指令触发构造超级块历程的时候,程序将通过查询系统记录的信息,找到符合条件的中间语言块,并将跳转指令部分进行一定的处理后,罗列到一起,形成一个中间语言超级块。
6.根据权利要求1或2所述的基于代码复制超级块的程序执行优化方法,其特征是,所述的参数包括:基本块被共享的次数、超级块被共享的次数、超级块嵌套的含有超级块的层数、超级块中自体成员基本块的重复次数之和以及当前正在构造的超级块中的自体成员超级块的重复次数之和。
7.根据权利要求1或2所述的基于代码复制超级块的程序执行优化方法,其特征是,所述的平衡机制参数包括:添加超级块探测代码标示、超级块嵌套层数参数、基本块的重复频度、自体基本块重复频度和超级块重复频度。
8.根据权利要求1或2所述的基于代码复制超级块的程序执行优化方法,其特征是,所述的筛选指导处理包括以下步骤:
1)在每一个基本块在翻译系统的记录对象中,增加相应的域,用来记录上述参数;
2)指定的域设定相应的阈值,阈值的设定因程序行为特性的不同会有所不同;
3)在构造中间语言超级块的时候将平衡机制参数进行监控,更新;
4)基本块或超级块进行加入探测代码或者构造中间语言超级块的过程中,当参数违反设定的阈值条件时终止当前操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010278538.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:加密文件访问的方法和系统
- 下一篇:电视机及电视机内置WIFI模块的方法





