首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 46 毫秒
1.
计算机体系结构的不断发展,使得代码迁移工作变得尤为重要,在这种背景下,二进制翻译技术应运而生。二进制翻译技术使得在已有的体系结构下生成的可执行文件自动迁移到新的体系结构中成为可能。以龙芯2F处理器为硬件平台,研究二进制翻译器QEMU中冗余指令的删除优化技术,使用代码活性分析方法来降低代码膨胀度,提高执行效率。该优化技术带来的优化效果超过其自身开销,具有实际优化价值。  相似文献   

2.
二进制翻译是实现软件移植的主要方法.动态二进制翻译受动态执行限制而不能深度优化导致效率较低而传统的静态二进制翻译难以处理间接分支,且现有的优化方法大部分集中在中间代码层,对目标码中存在的大量冗余指令较少关注.针对这一现状,提出一种静态二进制翻译框架SQEMU,基于该框架提出了一种对目标码冗余指令进行删除的优化算法.该算法通过分析目标码生成指令特定数据依赖图(instruction-specific data dependence graph, IDDG),再利用该图将活性分析和窥孔优化的2种理论相结合,有效删除目标码中的冗余指令.实验结果表明,利用该算法对目标码优化后,其执行效率得到显著提升,最大提升可达42%,整体性能测试表明,优化后nbench测试集翻译效率提高约20%,SPEC CINT2006测试集翻译效率提高约17%.  相似文献   

3.
邢冲  付宇卓 《计算机工程》2008,34(22):253-255
针对系统级二进制翻译中多地址空间共存的情况,提出2种使用虚拟地址和物理地址对代码Cache进行索引的方法。物理地址索引方法有助于各个进程共享已被翻译的代码Cache。测试结果表明,在多进程环境下,物理地址索引的性能高于虚拟地址索引。  相似文献   

4.
系统模拟器通过模拟处理器、内存、外设等硬件资源创建一个完整的虚拟计算机环境, 支持运行和调试不同架构的软件, 可大大缩短跨架构的软件开发周期. 模拟器的调试模块通常具有指令追踪功能, 可记录程序运行的指令序列以用于进一步分析, 如程序运行时间评估、程序行为模式分析、软硬件联合仿真等. 支持RISC-V架构的主流模拟器QEMU和Spike均具有指令追踪功能, 但其时间和空间开销过大, 在应对规模较大的应用时效率低下. 本文提出了一种基于QEMU的指令追踪技术, 将程序中的基本块、控制流图等静态信息与分支选择等动态信息解耦, 在保证指令序列不失真的同时高效追踪执行序列. 相比QEMU原生实现的指令追踪, 本文提出的指令追踪技术的时间开销平均降低了80%以上, 空间开销平均降低了95%以上. 此外, 本文面向RISC-V架构, 实现了多种场景下的指令序列离线分析, 包括指令分类统计、程序热点标记、行为模式分析等.  相似文献   

5.
动态二进制翻译提供了无需重新编译源代码就能将源机器生成的可执行代码自动转换到目标机器的方法,很好地解决了代码兼容性问题.其核心思想是根据程序的动态运行信息找到反复执行的代码序列,对代码序列进行翻译和优化,并将结果多次重用.指令调度作为一种有效的编译优化手段,也适用于动态二进制翻译.在对gcc的指令调度器分析研究的基础上,结合动态二进制翻译的实时性特点,提出了适合动态二进制翻译的效率高、开销小的指令调度算法.  相似文献   

6.
网络处理嚣是专门为网络处理而设计的处理嚣,其指令集是软硬件的界面,指令集的设计对性能有较大的影响.本文提出了一种针对高频率指令对-HFIP的组合优化方法,该方法充分利用了网络处理器基准程序里指令执行过程中的动态相关性,开发了simpIescalar模拟嚣的指令格式里未使用的空住作为新指令的扩展域.采用量化的方法对实验结果进行分析.模拟结果显示该方法合理有效,在提高网络处理器性能的同时有效降低指令cache的功耗.实现性能/功耗的权衡.  相似文献   

7.
构建了一种基于混合索引的浏览器缓存协作系统,它充分利用客户端浏览器缓存的内容,以P2P方式交换Web Cache,克服了集中式代理服务器存在的一些问题。客户端的Internet访问响应时间是系统设计的主要依据。索引技术是系统中影响响应时间的关键技术,为了提高响应时间,对索引技术进行了讨论,并针对该应用的特点进行了改进。系统具有以下优点:易于扩展,网络资源开销小,响应时间短,索引更新及时。  相似文献   

8.
针对软件二进制补丁分析过程,提出一种指令归一化算法,用于判别补丁前后的相应基本块内指令是否发生重排序。与常用的小素数法相比,该算法不受基本块内指令条数的限制,不会导致差异信息漏报,且效率较高、效果良好。初步实验证明,该算法减少了人工分析差异信息的工作量,可以帮助逆向分析人员快速定位软件差异。  相似文献   

9.
随着处理器和存储器速度差距的不断拉大,访存指令尤其是频繁cache miss的指令成为影响性能的重要瓶颈。编译器由于无法得知访存指令动态执行的拍数,一般假定这些指令的延迟为cache命中或者cache miss的延迟,所以并不准确。我们引入cache profiling技术来收集访存指令运行时的cache miss或者命中的信息,利用这些信息来计算访存的延迟。乱序机器上硬件的指令调度对于发射窗口内的指令能进行很好的动态调度,编译器则对更长的范围内的指令调度更有优势。在reorder buffer中cache miss一旦发生,容易引起reorder buffer满,导致流水线阻塞。调度容易cache miss的指令。使其并行执行,从而隐藏cache miss的长延迟,就可以提高程序性能。因此,我们针对load指令,一方面修改频繁miss的指令的延迟,一方面修改调度策略,提高存储级并行度。实验证明,我们的调度对于bzip2有高达4.8%的提升,art有4%的提升,整体平均提高1.5%。  相似文献   

10.
库函数包装是在动态二进制翻译过程中将源二进制程序的库函数调用直接转嫁到目标机上的库函数调用,以此提高动态二进制翻译系统的性能。针对目前动主流的库函数手动包装技术,提出一种基于GCC的动态二进制翻译中库函数的自动包装技术,无需对库函数分别进行人工包装,节省了大量的工作,同时也降低了包装过程中出错的可能性。实验结果表明,通过库函数自动包装技术,动态二进制翻译器qemu的性能有了3%~5%的提升。  相似文献   

11.
二进制翻译是指把一种机器平台上的二进制可执行程序经过转换后运行在另一个机器平台上的过程,它解决了二进制代码在异构机器平台上的迁移问题。该文介绍了二进制翻译的工作原理,阐述了CrossBit动态二进制翻译基础平台的设计思路与关键实现,包括其系统架构、工作流程和中间指令的设计。实验数据表明,二进制翻译技术的性能优于传统软件解释技术。  相似文献   

12.
面向通用计算机系统的指令预取技术无法满足实时系统的应用需求,其中一个重要原因是:无效预取引起的指令Cache内容污染使得实时任务WCET评估值不够精确,导致系统可调度性下降,严重影响系统效率.以简化实时任务WCET分析、降低任务WCET评估值为目标,提出一种基于程序基本块的指令预取方法.该方法以基本块为粒度执行指令预取,避免了传统指令预取技术引入的无效预取;通过简化最坏情况下的指令访问命中/缺失情况判定,简化任务WCET分析过程并优化WCET评估值.实时基准测试程序评估结果表明:与常规无预取方法相比,该预取方法可使实时任务WCET评估值降低约20%,平均执行情况下的指令Cache访问性能提升约10%.  相似文献   

13.
林凌  管海兵  梁阿磊 《计算机工程》2009,35(22):272-274
传统的动态二进制翻译系统不适合直接用于瘦客户端,因为瘦客户端(如手机等)大多存在资源受限的问题,而动态二进制翻译过程会消耗较多的计算和内存资源。针对上述问题,提出一个适用于瘦客户端的分布式动态二进制翻译系统,用远程服务器完成二进制翻译,客户端只要执行翻译好后的代码即可。CPUSPEC2000的实验结果表明,在瘦客户端上使用该系统相对于使用传统的动态二进制翻译器可以带来更高的性能和更小的开销。  相似文献   

14.
对于常见的虚拟机检测方法仅适用于特定配置的虚拟机的不足,设计并实现一种基于特权指令与非特权指令的相对吞吐率变化的检测虚拟机的方法,检测过程采用查询-验证的方式。该方法可以成功地分辨出物理机环境与虚拟机环境的不同,并且事先只需了解较少的待检测目标的配置信息,对不同硬件配置的依赖性较小。  相似文献   

15.
以基本块为单位的非顺序指令预取   总被引:1,自引:0,他引:1  
取指令能力的高低对微处理器的性能有很大影响。指令预取技术能够有效地降低指令Cache的访问失效率,提高微处理器的取指令能力,进而提高微处理器的性能。本文提出了一种由分支指令指导的、以基本块为单位的非顺序指令预取技术,每次预取将一个完整的基本块读入指令Cache。这种方法使用静态策略分析程序行为,实现所需的硬件复杂度低。模拟结果显示,该方法能够有效地提高指令Cache访问的命中率。  相似文献   

16.
闪存被广泛应用在电子产品的存储设备中, 针对闪存的研究也日益得到重视. 基于访问的局部性原理, 并结合闪存读写代价的差异性, 提出了一种针对闪存特点运用块级局部性原理的cache缓存管理算法LRU-BLL. 实验表明, 这种方法有效地提高了缓存的命中率, 并且减少了缓存的脏页回写次数和提高了缓冲区的平均换出长度.  相似文献   

17.
介绍了一种为即时编译器和时空受限系统设计的轻量级线性复杂指令调度算法。该算法进行指令调度时,不基于传统的DAG图或表达式树,而是基于一种独创的数据结构扩展关联矩阵,其时间复杂性在最坏情况下也能与全部指令长度构成严格的线性关系,仅占用不到1 KB的内存空间。该算法已被Intel为Xscale设计的高性能J2ME虚拟机XORP采用为即时编辑器中的缺省指令调度算法。  相似文献   

18.
软错误由高能粒子撞击所产生,对处理器的可靠性产生很大的损害.随着处理器设计目标转向低功耗、高性能和低供电电压,软错误的发生日益频繁,处理器的可靠性研究也随之受到越来越多的关注.针对传统的基于注错仿真的可靠性评估方法效率低的缺陷,提出了一套系统的cache可靠性评估方法,以可靠性指标之一--体系结构易受损因子(architectural vulnerability factor,AVF))--为研究对象,一方面,基于指令行为分析应用程序运行过程中对最终结果不产生影响的指令,从而确定对cache的AVF产生作用的指令;另一方面,根据cache的存储类型、所采取的写策略,结合cache中数据/指令阵列和地址标识阵列的特点,对cache上的各种相邻操作组合对AVF的影响进行了研究,从而完成AVF评估所需的信息分析.实验部分对PISA体系结构指令cache中的指令阵列进行了AVF评估,说明了该方法的有效性.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号