首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 187 毫秒
1.
针对自主开发 IEC61131结构化文本(ST)语言编译器的需求,设计了一套机器无关的虚拟机指令集,指令集按照数据传送、算术运算、逻辑运算、位操作、比较操作、流程控制、函数调用等类型划分,采用三地址码的四元式表示.基于该指令集,设计了结构化文本语言的 IF语句、FOR语句、CASE语句、EXIT语句的指令形成算法,编译器将结构化文本语言编译为二进制指令文件.针对FOR语句提出了"向上计数"、"向下计数"、"动态确定上下限"的3种翻译模式,针对CASE语句提出了基于短路求值和跳转表混合的翻译模式,可优化FOR语句、CASE语句的指令结构.对编译形成的二进制指令,采用常量折叠计算、代数简化、临时变量消除、引用点分析等手段,进一步优化指令.实验测试结果表明,优化后的指令在嵌入式工控装置中的解释执行时提升了效率.  相似文献   

2.
随着硬件平台的多元化,软件兼容性问题日益突出,二进制翻译技术是解决软件兼容性问题的重要手段.鉴于二进制翻译系统大部分执行时间消耗在后端指令的查找和执行过程中,高效的指令索引策略可以减少系统的指令查找开销,提高系统的整体效率.在对二进制翻译系统后端指令局部性特征进行统计分析的基础上,设计了一种能充分挖掘现代计算机系统硬件性能的二进制翻译指令分级索引策略.该策略结合二进制翻译系统后端指令特殊的局部性特征,使用针对性的替换算法对后端指令进行缓存,降低了系统的指令查找开销.在引入了LIIS索引策略后,开源二进制翻译系统QEMU的后端指令查找时间减少了70%,整个系统执行效率提高了15%.  相似文献   

3.
文章提出一种基于软硬件协同设计的动态二进制翻译系统。该系统在硬件层通过虚拟机协处理器,实现动态二进制翻译系统执行流程中的部分关键路径,同时通过软件和硬件的紧密耦合,有效控制整个虚拟机和原系统之间的共存问题,可以用来解决异构多机器人之间,由于不同的体系结构导致的代码兼容问题。实测结果表明,这种方案比纯软件方案具有明显性能改善。  相似文献   

4.
动态二进制翻译中,在目标平台没有浮点部件、不支持浮点运算的情况下,浮点指令只能通过模拟解释执行。浮点指令的解释执行造成翻译系统效率急剧下降。通过将浮点指令运算转化为定点运算,解决了浮点指令在目标平台的翻译,为浮点指令的翻译找到了新的途径。在动态二进制翻译系统中进行实验,验证了翻译方法的可行性。实验显示翻译系统的性能有明显提升,含有浮点指令的比例越高,算法能够获得的加速比越高,对含有25%浮点指令的程序,该算法能达到1.55的加速比。  相似文献   

5.
为解决纯软件的Java卡虚拟机(JCVM)在嵌入式系统中解释执行速度较慢、效率低的性能问题,软硬件协同方式设计面向家庭网络(Home Network)的Java协处理器,对部分JCVM指令使用硬件电路来加速执行.并且在硬件加速的过程中采用流水线结构、环形指令缓存、指令折叠等方式来进一步提高电路速度.  相似文献   

6.
董卫宇  王瑞敏  戚旭衍  曾韵 《计算机科学》2015,42(6):189-192, 203
提出了一种译码制导的轻量级动态二进制翻译优化技术,该技术在译码阶段提取源指令的高层语义信息,结合上下文对其进行标注,并在翻译阶段利用标注信息直接生成优化的目标指令.该技术可识别动态二进制翻译系统中主要的基本块级优化机会,去除load/store冗余、精确异常导致的冗余和标志位处理冗余.测试表明,相比QEMU,该优化技术的跨平台x86系统虚拟机ARCH-BRIDGE的翻译开销降低了53%,翻译块尺寸降低了78%,load和store操作数量分别了降低了50%和21%.  相似文献   

7.
随着处理器的快速发展,RISC-V的软件生态环境建设成为其在处理器市场中站稳脚跟的关键因素之一。二进制翻译是解决处理器二进制代码兼容性问题、为处理器生态环境建设获取时间成本的关键技术之一,但由于二进制翻译器难以以较低的功耗面积开销获得高效执行的二进制代码,使其无法广泛应用于嵌入式领域。针对二进制翻译器执行效率和功耗面积开销难以取得平衡的问题,采用硬件逻辑加速的方式处理ARMv7-M中条件执行指令、更新标志位指令以及桶形移位指令,并利用静态二进制翻译器对ARMv7-M程序进行IT Block分裂、地址重计算及指令映射后生成RISC-V二进制代码,以此支持ARMv7-M的各类指令。基于开源内核CV32E40P设计了一个支持ARMv7-M的处理器内核,结果表明,运行ARMv7-M程序的平均性能能够达到直接运行RISC-V程序性能的137%,与纯软件二进制翻译支持ARMv7-M相比,该处理器核运行ARMv7-M程序的性能提升了5.59倍。  相似文献   

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

9.
支持程序自动并行化的本质是判定相互之间不存在相关的代码块,因此如何精确地获取包括控制流图和数据流图在内的程序运行时行为成为程序自动并行化的基础.将虚拟机技术运用于并行程序优化领域,设计了基于虚拟机的程序自动并行化框架Vapor,提出了基于二进制翻译技术的超块指令置位替换策略(super block-based in-p...  相似文献   

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

11.
目前对处理器速度的追求促使指令集体系结构不断发展,但是软件的支持却不能与其匹配,造成新体系结构推广的困难,研究、解决代码迁移问题的二进制翻译方法应运而生。文中介绍了二进制翻译中解码器的功能,并结合IA-64的指令特点,设计出基于指令束的解码算法。根据测试中发现该算法存在的问题,提出了改进方案,消除束的特性,给每条指令赋予唯一地址并按此地址进行解码。在IA-64至Alpha的二进制翻译课题中,对该算法进行了工程实现。  相似文献   

12.
Bitran二进制翻译实验系统的设计和实现   总被引:1,自引:0,他引:1  
对处理器速度的追求促使体系结构不断发展 ,但是软件的支持却不能与其匹配 ,造成新体系结构推广的困难 ,研究、解决代码迁移问题的二进制翻译方法应运而生 .介绍作者参与开发的一个静态二进制翻译实验系统的框架设计 ,并详细介绍框架中各个部分的实现方法 ,最后给出该翻译系统的实验数据和分析 .  相似文献   

13.
面向二进制移植的虚拟化技术   总被引:1,自引:0,他引:1  
从ISA和ABI两种不同层次出发,探讨了当前二进制移植存在的问题,分析了其对应解决方法的优劣,明确了虚拟化技术是实现二进制移植的重要手段。研究了支持ISA或ABI间二进制移植中的三种虚拟化方法,即解释和二进制翻译、资源虚拟化、内核虚拟化。提出了一种结合动态二进制优化技术的高效进程虚拟机Long-Win,其支持Windows应用程序在Linux操作系统上运行,实验结果表明,其性能与Wine相比提高了6%~10%。  相似文献   

14.
In these days, every new added hardware feature must not change the underlying Instruction Set Architecture (ISA), in order to avoid adaptation or recompilation of existing code. Binary translation (BT) allows the execution of already compiled applications on different architectures. Therefore, it opens new possibilities for designers, previously tied to a specific ISA and all its legacy hardware issues. To overcome the BT inherent performance penalty, we propose a new mechanism based on a dynamic two-level binary translation system. While the first level is responsible for the BT de facto to an intermediate machine language, the second level optimizes the already translated instructions to be executed on the target architecture. The system is totally flexible: it supports the porting of radically different ISAs and the employment of different target architectures. This paper presents the first effort towards this direction: it translates code implemented in the x86 ISA to MIPS assembly (the intermediate language), which will be optimized by the target architecture: a dynamically reconfigurable array. We show that it is possible to maintain binary compatibility, with performance improvements and no energy losses, when compared to native execution.  相似文献   

15.
如何进行异构机之间可执行程序的高效移植是二进制翻译面对的难点问题.从寄存器映射的角度分析了这一问题,提出了分段映射和特殊寄存器功能剪裁相结合的方法,以trend系统为平台进行了实验和测试.NPB-serail测试包和SPEC2000测试包的测试结果显示:使用该方法,可以简化指令翻译,减少代码膨胀,有效提高翻译后代码的执行效率.  相似文献   

16.
二进制翻译中的过程恢复技术   总被引:4,自引:2,他引:4  
目前对处理器速度的追求促使体系结构不断发展,但是软件的支持却不能与其匹配,造成新体系结构推广的困难,研究、解决代码迁移问题的二进制翻译方法应运而生。文中介绍了在开发一个静态二进制翻译系统(XM翻译器)中的过程恢复技术,包括参数恢复和返回值恢复,并提出了解决返回值恢复问题的一个新的实现方法。它回避了一般方法中必须要进行数据流、控制流分析的复杂性,基于x86机器本身的调用特点以及实例的分析,是一种简单实用的实现返回值恢复的方法,经XM系统验证是行之有效的。  相似文献   

17.
In recent years several authors have investigated binary search trees with minimal internal path length. In this paper we propose relaxing the requirement of inserting all nodes on one level before going to the next level. This leads to a new class of binary search trees called ISA [k] trees. We investigated the average locate cost per node, average shift cost per node, total insertion cost, and average successful search cost for ISA[k] trees. We also present an insertion algorithm with associated predecessor and successor functions for ISA[k] trees. For large binary search trees (over 160 nodes) our results suggest the use of ISA[2] or ISA[3] trees for best performance.  相似文献   

18.
神经机器翻译技术能够自动翻译多种语言的语义信息, 已被应用于跨指令集架构的二进制代码相似性检测, 并取得了较好的效果. 将汇编指令序列当作文本序列处理时, 指令顺序关系很重要. 进行二进制基本块级别相似性检测时, 神经网络使用位置嵌入来对指令位置进行建模. 然而, 这种位置嵌入未能捕获指令位置之间的邻接、优先等关系. 针对该问题, 本文使用指令位置的连续函数来建模汇编指令的全局绝对位置和顺序关系, 实现对词序嵌入的泛化. 首先使用Transformer训练源指令集架构编码器; 然后使用三元组损失训练目标指令集架构编码器, 并微调源指令集架构编码器; 最后使用嵌入向量之间欧氏距离的映射表示基本块之间的相似程度. 在公开数据集MISA上的实验表明, P@1评价指标达到69.5%, 比对比方法MIRROR提升了4.6%.  相似文献   

19.
由解释执行实现的指令集仿真是解决二进制兼容问题的有效手段。解释执行各步骤的组织方式对解释器性能有着重要影响。集中方式效率较低,而效率较高的线索方式由于译码过程过于复杂而无法用于CISC指令集的解释执行。本文提出了一种基于DICache的混合线索解释执行技术,DICache实现一种高效的硬件动态预译码,将源指令转换为一种中间表示,在解释例程中对DICache快速访问实现对CISC指令集的线索解释执行。本文在一个源为IA-32、目标为VLIW的解释器上,采用SPEC INT2000中的测试程序对基于DICache的混合线索解释执行技术进行评估。结果表明该方法可以显著提高解释器的性能。  相似文献   

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

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

京公网安备 11010802026262号