学位论文 > 优秀研究生学位论文题录展示

基于动态二进制翻译的协同设计虚拟机关键技术研究

作 者: 陈微
导 师: 王志英
学 校: 国防科学技术大学
专 业: 计算机科学与技术
关键词: 协同设计虚拟机 微处理器 动态二进制翻译 解释执行 代码链接
分类号: TP302
类 型: 博士论文
年 份: 2010年
下 载: 126次
引 用: 2次
阅 读: 论文下载
 

内容摘要


工艺技术的不断进步、应用需求的不断变化推动着微处理器产业的飞速发展。微处理器体系结构的发展正面临着新的挑战和机遇,开发新的体系结构是微处理器发展的必然趋势。但是大量基于原有体系结构开发的各类软件资源要求新处理器需对原有结构提供二进制代码兼容,这成为新体系结构技术应用和发展的一大障碍。协同设计虚拟机技术使用软硬件协同设计的方法来开发微处理器,同时设计硬件体系结构和在其上运行的虚拟机软件,从而降低了软体系结构和实际硬体系结构间的紧耦合关系,将硬件创新从兼容性中解脱出来,为微处理器体系结构的创新提供了一条新途径。这对于我国发展具有完全自主知识产权的微处理器而言尤为重要。本文在广泛深入了解当前微处理器体系结构研究与协同设计虚拟机技术研究现状的基础上,展开对软硬件协同设计虚拟机的研究。针对协同设计虚拟机研究中的关键问题,就协同设计虚拟机模型与结构、协同设计虚拟机性能以及如何采用软硬件结合的设计手段降低协同设计虚拟机启动开销和稳定执行开销等方面进行了探讨。最后本文实现了一个协同设计虚拟机原型系统,验证了模型的正确性与优化技术的有效性。本文取得的主要研究成果如下:1.提出了一种基于动态二进制翻译的协同设计虚拟机模型。该模型以兼容性和性能为目标,在软件设计上,采用解释执行与翻译相结合的多级动态二进制翻译策略,在硬件设计上,为实现源体系结构的正确高效映射提供相应的硬件支持。基于该模型,对协同设计虚拟机的启动开销和稳定执行开销进行分析和评估,发现对源代码的解释与翻译影响了协同设计虚拟机的启动性能,而翻译后代码中控制转移指令的转移方式影响了协同设计虚拟机的稳定执行性能。此外,本文基于图灵机模型给出了一种协同设计虚拟机的形式化描述,奠定了本文协同设计虚拟机研究的理论基础。2.提出了降低协同设计虚拟机启动开销的译码后指令缓存技术。启动开销是衡量协同设计虚拟机性能的重要指标,这对于交互式应用尤为重要。经对协同设计虚拟机的启动开销进行深入的分析与评测,本文发现启动开销主要来源于解释执行阶段。本文创新设计了译码后指令缓存(Decoded Instruction Cache,DICache),基于解释例程的局部性,DICache通过缓存解释执行过程中的中间结果来减少冗余的指令解析操作,从而降低协同设计虚拟机的启动开销。实验结果表明,DICache能以较小的硬件代价提升较高的性能。3.提出了一种基于DICache的高效混合线索解释执行策略。解释执行过程中各步骤的组织方式对解释执行的效率有着重要影响。集中式解释执行方式效率较低,而效率较高的线索解释执行技术又因译码过程过于复杂而无法用于CISC指令集的解释执行。本文基于DICache提出了一种混合线索解释执行策略,通过DICache实现一种高效的硬件动态预译码,将源指令转换为一种中间表示,在解释例程中通过对DICache快速访问实现对CISC指令集的线索解释执行,从而进一步有效降低协同设计虚拟机的启动开销。4.提出了降低协同设计虚拟机稳定执行开销的直接控制转移指令链接技术。协同设计虚拟机转换后的目标代码存储在虚拟机的代码Cache中,代码Cache中控制转移指令的转移方式影响着协同设计虚拟机稳定执行时的性能。本文针对直接控制转移指令提出了一种软件实现的直接控制转移指令链接算法,将直接控制转移指令的目标地址直接定位于翻译后的目标代码块,从而有效减少协同设计虚拟机执行代码Cache中代码块时产生的查表和上下文切换操作,提高虚拟机稳定执行的性能。5.提出了基于间接控制转移地址缓冲的间接控制转移指令动态链接技术。间接控制转移指令的转移目标地址在程序执行的过程中可能被动态改变,无法通过软件手段有效链接。本文提出一种硬件实现的快速间接控制转移地址缓冲,存放经常访问的间接控制转移指令目标地址,在此基础上通过在目标代码执行过程中快速访问间接控制转移地址缓冲实现对间接控制转移指令的动态链接,从而减少查表和上下文切换操作,降低了协同设计虚拟机的稳定执行开销。依据上述创新研究成果,本文设计并实现了协同设计虚拟机原型系统TransARM,其源体系结构为CISC类型的IA-32结构,目标为RISC类型的ARM结构。TransARM的实现对本文研究工作中提出的模型和算法进行了有效验证,同时也探讨了协同设计虚拟机实现中的一些关键技术问题。TransARM提供了一个协同设计虚拟机的研究平台,同时具有很好的实用价值。

全文目录


摘要  11-13
Abstract  13-15
第一章 绪论  15-27
  1.1 研究背景  15-19
    1.1.1 微处理器体系结构研究的发展现状、机遇与挑战  15-18
    1.1.2 微处理器体系结构发展的障碍:二进制代码兼容  18-19
  1.2 微处理器体系结构发展的新途径:协同设计虚拟机  19-22
    1.2.1 协同设计虚拟机与动态二进制翻译  19-21
    1.2.2 协同设计虚拟机研究中亟待解决的问题  21
    1.2.3 协同设计虚拟机研究对我国微处理器产业发展的意义  21-22
  1.3 本文的主要内容和技术创新  22-25
    1.3.1 本文的主要研究内容  23-24
    1.3.2 本文的主要技术创新  24-25
  1.4 本文结构  25-27
第二章 相关工作与研究现状  27-41
  2.1 二进制翻译  27-30
    2.1.1 静态二进制翻译与动态二进制翻译  27
    2.1.2 固定源和目标的二进制翻译与可变源和目标的二进制翻译  27-28
    2.1.3 解释执行与二进制翻译  28-29
    2.1.4 多级动态二进制翻译  29
    2.1.5 典型二进制翻译系统  29-30
  2.2 协同设计虚拟机  30-37
    2.2.1 DAISY/BOA  30-32
    2.2.2 Transmeta Crusoe  32-34
    2.2.3 WISC x86VM/ILDP  34-37
  2.3 协同设计虚拟机与系统虚拟机  37-39
  2.4 小结  39-41
第三章 基于动态二进制翻译的协同设计虚拟机模型  41-61
  3.1 引言  41-42
  3.2 DBTCVM 模型  42-50
    3.2.1 DBTCVM 模型  42-43
    3.2.2 DBTCVM 的硬件结构  43-46
    3.2.3 DBTCVM 的软件结构  46-50
  3.3 DBTCVM 的工作流程  50-52
  3.4 DBTCVM 的开销分析  52-57
    3.4.1 DBTCVM 启动阶段的开销  52-54
    3.4.2 DBTCVM 稳定执行阶段的开销  54-57
  3.5 DBTCVM 的形式化描述  57-60
  3.6 小结  60-61
第四章 降低协同设计虚拟机启动开销的优化技术  61-85
  4.1 引言  61
  4.2 协同设计虚拟机启动开销分析  61-64
  4.3 解释例程局部性  64-66
  4.4 译码后指令缓存  66-70
    4.4.1 DICache 结构  66-68
    4.4.2 DICache 的读写指令  68
    4.4.3 DICache 辅助的解释执行  68-70
  4.5 集中式解释执行与线索式解释执行  70-72
    4.5.1 集中式解释执行  70
    4.5.2 线索式解释执行  70-72
  4.6 基于DICache 的混合线索解释执行策略  72-75
    4.6.1 基于DICache 的混合线索解释执行策略DHTIS  72-73
    4.6.2 不同解释执行组织方式的比较  73-75
  4.7 实验和结果分析  75-81
    4.7.1 实验平台与方法  75-77
    4.7.2 实验结果与分析  77-81
  4.8 相关工作及比较  81-83
  4.9 小结  83-85
第五章 降低协同设计虚拟机稳定执行开销的优化技术  85-121
  5.1 引言  85-86
  5.2 代码Cache 中的控制转移指令分析  86-89
    5.2.1 控制转移指令分类  86
    5.2.2 直接控制转移指令  86-87
    5.2.3 间接控制转移指令  87
    5.2.4 子程序调用和返回指令  87-89
  5.3 直接控制转移指令的DCTC 链接技术  89-98
    5.3.1 DCTC 链接方法所需的软件支持  89-90
    5.3.2 DCTC 链接算法  90-98
  5.4 基于ITTB 的间接控制转移指令动态链接技术  98-106
    5.4.1 动态链接所需的硬件支持和软件支持  99-101
    5.4.2 基于ITTB 的间接控制转移指令动态链接  101-106
  5.5 算法分析与实验评测  106-117
    5.5.1 算法复杂度分析  106-110
    5.5.2 实验平台与方法  110-111
    5.5.3 实验结果与分析  111-117
  5.6 相关工作及比较  117-118
  5.7 小结  118-121
第六章 原型系统设计与实现  121-143
  6.1 引言  121
  6.2 TransARM 的设计与实现  121-139
    6.2.1 TransARM 结构  122-124
    6.2.2 TransARM 工作流程  124-139
  6.3 TransARM 的性能评测  139-141
  6.4 小结  141-143
第七章 结束语  143-147
  7.1 工作总结  143-145
  7.2 工作展望  145-147
致谢  147-149
参考文献  149-159
作者在学期间取得的学术成果  159-163
附录A IA-32 体系结构和ARM 体系结构  163-165
附录B TransARM 指令翻译规则  165-166

相似论文

  1. 单片机AVR运用开发,TP368.12
  2. 基于GPS和GPRS的监控导航系统的设计,TN967.1
  3. 抗内部存储单元失效的32位微处理器的研究与实现,TP333
  4. 基于MIPS无线通讯设备驱动实现技术,TP368.1
  5. 深亚微米工艺下微处理器体系结构级功耗模型相关技术研究,TP332
  6. 高性能微处理器RTL级和体系结构级低功耗设计关键技术研究,TP332
  7. 矿井顶板压力位移数据采集系统研究与实现,TP274.2
  8. 基于MSP430的汽车轮胎压力监测系统,U463.6
  9. 纸币清分机控制与处理系统的研制,TH693.5
  10. 软硬协同动态二进制翻译系统设计与实现,TP391.2
  11. 基于OR1200的嵌入式SoC以太网网关的研究与设计,TP368.11
  12. ARM反编译中的类型分析技术研究,TP368.1
  13. 低功耗数据触发微处理器功能单元的设计与实现,TP332
  14. 微处理器芯片平台测试系统的研究及优化,TN407
  15. 基于ARM技术的Langmuir探针系统开发,O539
  16. 基于开关磁阻电机的阀门电动执行机构智能控制器的研究,TM352
  17. 基于嵌入式及图像识别技术的布氏硬度试验机测控系统设计,TH871.5
  18. 基于CAN总线的水处理工程数据采集系统设计,TP274.2
  19. USB-CAN适配卡在轮型识别系统中的应用,TP391.4
  20. 基于ARM11的嵌入式实验开发平台硬件设计与实现,TP368.12
  21. 基于GPS/GPRS的MCU车载智能终端的设计,TP368.12

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 一般性问题 > 设计与性能分析
© 2012 www.xueweilunwen.com