动态二进制翻译的静态优化架构研究

被引量 : 0次 | 上传用户:fwj108580853
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
二进制翻译(Binary Translation)是指在不需要可执行程序源代码的情况下,将源机器平台上的二进制程序经过一定的转换之后运行在目标机器平台上的过程。动态二进制翻译是二进制翻译技术的重要分支,通常的过程是边翻译边执行,并在执行期对目标代码进行动态优化。动态二进制翻译为解决代码遗留,代码移植以及构建分布式虚拟计算环境等问题提供了一个良好的解决方法,因此在近年来得到了越来越广泛的关注和研究。如何提高动态二进制翻译系统的性能,是每个动态二进制翻译系统亟需解决的问题之一。传统的动态二进制翻译系统大量采用基于Profile信息的动态优化技术。然而,动态优化过程的所有工作都是在运行时完成,在获取Profile信息和进行目标代码优化时,自身付出的性能损耗是不得不考虑的问题。同时,Profile所获得信息的丰富程度又直接影响着后续优化算法的效果。因此,如何在动态优化的性能开销和优化效果中找到平衡是二进制翻译的研究者和开发者面临的巨大难题。为解决优化过程的开销和效果之间的矛盾,本文的研究目的是通过提出一种适用于动态二进制翻译的静态优化架构(Sinof),既有效的屏蔽Profiling过程和优化算法的性能开销,同时又对目标代码进行深入的优化,由此得到大约30%-50%的执行性能提升。其原理是通过在源代码首次翻译执行时,收集丰富的Profile信息,并将这些信息和目标代码保存。在静态环境下,根据这些信息对目标代码进行深入的优化。在之后的翻译执行中,复用这些优化后的目标代码,从而得到较大的性能提升。本文的主要创新点和意义有:1)开发出一种适合于动态二进制翻译的静态优化架构,有效的屏蔽Profiling技术和优化策略的性能开销;2)设计了一种基于边之间关系的Profiling技术,为后续的优化方案作充足的信息准备;3)实现了在静态环境下利用Profile信息识别热路径,调整代码块相对位置;4)利用Profile信息在静态环境下实现链接,进一步减少了上下文切换次数和系统开销;5)记录可重定位信息,使目标代码拥有可重定向性,使之在以后程序执行时可被复用。
其他文献
<正> 近20年来,厄尔尼诺(El Ni(?)o)现象和拉尼娜(LaNi(?)a)现象日益成为人们关注的一个焦点,更成为全球气候变化的热点之一。厄尔尼诺现象是一种气候变化的事件。厄尔尼诺是
高中化学概念教学存在着直线和抽象的问题,这不利于学生的有效学习以及科学素养的培养,应用认知灵活理论,明确学生的认知情状,解析概念要素之间的关系,创设生活情境,利于解决
目的探讨霉菌性阴道炎的治疗及护理方法。方法使用达克宁栓治疗156例急性霉菌性阴道炎患者,连用3 d。并在治疗过程中给予心理护理、用药及生活指导。结果用药后1周随诊,治愈1
目的:对近视性青少年应用电脑验光及视网膜检影后,了解验光结果与复验结果的符合情况。方法:对2003/2005年就诊的186名(372眼)青少年性近视患者,全部进行远、近视力、外眼和
胎儿心率是衡量胎儿健康状况的一项重要信息。利用胎心仪对胎儿心率进行监测是实现优生优育的一个重要手段。介绍了以AT89C51单片机为核心部件,以自相关算法处理数据为技术关
根据GenBank中流产布氏杆菌BPE123基因序列(登录号:NC006933.1),设计引物,以布氏杆菌病疫苗菌A19全基因组DNA为模板扩增BPE123基因,将目的基因克隆入pEASY-T3载体,测序正确后,
目的 :探讨甲钴胺是否具有防治氨基甙类抗生素耳毒作用。方法 :用单次肌注大剂量庆大霉素 ( 12 5m g/ kg)造成感音障碍的动物模型。通过系列观察耳蜗电图的变化 ,观察在肌注
由于冠心病病情的多变性、复杂性以及治疗方式的多样性,加之心房颤动(房颤)的卒中风险、患者的出血风险均因人而异,冠心病合并房颤的抗凝策略较为复杂,需要进一步细化为各种
目的观察化痰活血解郁法治疗卒中后抑郁状态的临床疗效。方法将60例卒中后抑郁状态患者随机分为治疗组与对照组,各30例。对照组口服黛力新治疗(1粒/次,2次/d)。治疗组在此基