基于虚拟寄存器的中间语言

来源 :西南交通大学 | 被引量 : 0次 | 上传用户:kelu1fu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在嵌入式系统中,为了提高程序执行效率而代替高级语言片段使用的内嵌汇编严重影响了程序的可移植性和可读性。为了解决这种矛盾,本文借鉴了主流中间语言(如.net字节码和Java字节码)的概念和设计方法,设计了一种可以和高级语言混合使用的基于虚拟寄存器的中间语言(VR-IL,VirtualRegister-Intermediate Language)。这种中间语言可以高效的转换为机器语言,同时也可以支持多种目标机器语言。这样在保持汇编语言的执行效率的前提下解决了汇编语言的可移植性问题。本质上是以空间和运行时编译时间换取执行效率和可移植性。在语法层面上,VR-IL语言是一种构建在C语言函数基础上的程序设计语言,其语句均由实现特定功能的C语言函数表达,可以认为C语言函数是VR-IL语言的基本语法单位。在语义层面上,VR-IL语言的执行以生成中间代码为目的,按照在生成中间代码过程中的作用可以把VR-IL语句分为两类:直接生成中间代码语句和辅助生成中间代码语句。VR-IL语言的功能由中间代码来实现。VR-IL中间代码和物理指令存在映射关系,在形式上,类似物理指令,具有操作数和操作码,是物理指令的抽象。为了和物理指令区别,称VR-IL中间代码为虚拟指令。虚拟指令集被赋予了实现语言平台无关性的使命,及时编译器处理器相关层完成从虚拟指令到物理指令的映射,屏蔽了目标处理器指令系统的复杂细节,能够满足嵌入式系统多平台应用的需求。VR-IL的编译过程分为两阶段,首先由高级语言编译器执行静态编译,编译以后的VR-IL程序运行后生成VR-IL中间代码即VR-IL虚拟指令。然后由VR-IL及时编译器对中间代码执行动态编译,产生可供中间语言外部应用程序直接调用的目标机器代码,完成整个中间语言编译过程。本文实现了一个基本完整的程序语言系统,研究、实现了一些现代编译理论的算法。最后通过比较VR-IL、C和ARM内嵌汇编的执行时间证明了VR-IL的效率优势,说明VR-IL基本达到了设计目标。VR-IL不仅为提高高级语言应用程序的执行效率提供了一个解决方案,同时对研究学习现代编译器理论具有良好的参考价值。
其他文献
企业输电线路监测对及时准确地发现企业线路故障和保障企业正常生产有着十分重要的意义。大中型企业都有采用购适合本企业变电所具体情况的输电线路监测系统的愿望,但是各个
随着无线通信技术的快速发展,人们对网络应用需求不断提高,无线网状网Wireless Mesh network (WMN)得到了广泛的部署,由此可以得到更大范围的网络服务。无线Mesh网络中数据通
虚拟人足球比赛系统涉及计算机图形学、虚拟现实、运动学与动力学、多功能感知、认知心理学等多个学科,是一个非常典型的复杂系统,目前国内外在此方面的研究尚处于初探阶段。
当今越来越多的信息、服务都被发布在互联网上,信息搜索、服务集成技术已经成为IT行业关注的焦点。电信服务作为一种传统的通信服务,也顺应这种趋势,越来越多地被运营商以Web服
商品过度包装屡禁不止,而目前质量监督部门采用手工测量+经验评估+计算推理的传统手段已不能满足日常检验的需要。另一方面,计算机视觉经过多年蓬勃发展,在立体测量、逆向工程及
P2P搜索引擎是一种基于P2P网络结构的全文检索引擎,它是网络技术研究中的一个新兴领域,现有的P2P搜索技术在如何面对大规模的网络节点保持系统的稳定性、可靠性,减少对超级节点
无线Mesh网络是一种新型的宽带无线通信网络,它既类似于Ad Hoc网络具有自形成、自组织、自修复、多跳通信等特点,又因为其移动性较低、拓扑结构相对稳定等特点区别于Ad Hoc网络
随着互联网技术的不断发展,许多企业为了捕捉生产过程中设备的相关信息,产生了大量的数据流;以及电子商务公司随着业务规模的扩大,产生了巨大的交易量引发的数据流,这些数据流对企
移动定位技术是指通过移动终端设备,如手机、PDA、笔记本电脑、专用定位设备等,和无线网络相配合,确定移动用户的实际位置信息(经纬度坐标、速度、高度等资料)的一种技术。本文
伴随着互联网技术和多媒体技术的飞速发展,图像的数量呈几何级增长,如何从不断增大的数据库中快速准确地检索到所需图像显得越来越重要,这就是图像检索。图像检索主要分为基于文