基于软硬件协同设计的虚拟机的并行性研究

基于软硬件协同设计的虚拟机的并行性研究

论文摘要

动态二进制翻译技术与软硬件协同设计方法相结合,通过在硬件核心上集成专用硬件结构实现指令集体系结构,可以有效地解决虚拟机应用中二进制代码兼容问题,为动态二进制翻译与优化提供了一条新的思路。本文在深入了解当前动态二进制翻译与虚拟机相关技术研究现状的基础上,展开对软硬件协同设计的并行虚拟机的深入研究。文中将基于软件实现的动态二进制翻译流程划分为代码加载、动态翻译和翻译后代码本地执行等三个主体部分,以及在主体流程基础上实现的动态优化。通过精心设计的硬件集成单元来完成动态翻译过程中的代码翻译,和动态优化中的目标代码缓存维护、源-目标执行代码入口地址映射、Profile信息收集等任务,最终实现动态二进制翻译与优化,和翻译后代码的执行,两个线程级任务的异步并行化。文章在软硬件协同设计二进制翻译处理器模型基础上,提出了以提高二进制翻译处理器性能的硬件翻译单元构造算法与硬件加速优化框架,以及动态二进制翻译中的线程级并行性开发,并实现了软硬件协同设计虚拟机并行原型系统Co-design CrossBit。本文主要的创新点包括:1.研究了动态二进制翻译的任务流程以及性能模型。根据翻译正确性和优化性能的要求,对任务流程的关键部分给出相应的硬件支持策略和实现方案。在分析动态二进制翻译系统性能模型的基础上,提出了通过FPGA技术在芯片内集成协处理器实现动态二进制翻译系统的线程级并行。2.提出了并行动态二进制翻译模型。开发线程级并行性是提高处理器性能的重要手段。并行系统通过将动态二进制翻译的任务分配到两个处理核上执行,将代码翻译、profile信息收集、缓存维护、源-目标执行代码入口地址等任务从二进制翻译器中源结构指令执行的关键路径上分离出来,提高系统的性能与实时性。3.为了验证本文工作的正确性与性能优势,文章最后实现了原型翻译系统。设计的软硬件协同动态二进制翻译系统成功地实现了从用户级IA-32整数指令到目标结构PowerPC的翻译与执行,根据标准SPEC基准测试程序,使得动态二进制翻译过程的正确性与本文提出算法的性能优势得到了验证。实验表明,软硬件协同设计虚拟机可以很好的解决向新体系结构迁移时的各种兼容性问题。精心设计的硬件支持部件和硬件加速优化算法可以进一步提高动态二进制翻译的性能。可并行执行硬件集成单元的引入使处理器的执行任务得到极大简化,并可以灵活利用并行化技术。指令集结构的实现与底层执行机制实现的分离也为软硬件升级带来很大的灵活性。总之,动态二进制翻译技术与软硬件协同设计相结合的虚拟机系统,在有效解决二进制代码兼容问题的同时,不仅可以简化硬件,避免指令集与硬件专利权限制,而且可以通过动态优化技术改进性能,有很好的发展前景与应用价值。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题研究背景
  • 1.1.1 虚拟机概述
  • 1.1.2 软硬件协同设计技术
  • 1.1.3 线程级并行实现
  • 1.2 相关研究现状
  • 1.2.1 二进制翻译与硬件支持
  • 1.2.2 软硬件协同虚拟机的并行性研究
  • 1.3 研究目标
  • 1.3.1 研究内容
  • 1.3.2 技术路线
  • 1.4 本文的主要工作
  • 1.5 论文结构
  • 第二章 软硬件协同虚拟机设计
  • 2.1 CROSSBIT 及性能模型
  • 2.1.1 软件解释与二进制翻译
  • 2.1.2 CrossBit 系统与性能评测
  • 2.2 软硬件协同设计虚拟机CO‐DESIGN?CROSSBIT
  • 2.2.1 加载器
  • 2.2.2 二进制翻译软件及驱动程序
  • 2.2.3 硬件加速单元
  • 2.3 本章小结
  • 第三章 动态二进制翻译与优化的硬件支持
  • 3.1 基本的翻译硬件加速
  • 3.1.1 源‐目标体系结构指令入口地址映射
  • 3.1.2 源‐目标执行现场映射与恢复
  • 3.1.3 可回滚写缓冲
  • 3.1.4 翻译后目标代码缓存维护
  • 3.1.5 自修改代码检测
  • 3.2 性能优化的硬件支持
  • 3.2.1 MicroCode 实现
  • 3.2.2 硬件Profile
  • 3.2.3 为优化添加特殊的支持指令
  • 3.3 本章小结
  • 第四章 动态二进制翻译中的线程级并行性
  • 4.1 并行动态二进制翻译模型
  • 4.1.1 DBT 线程级划分
  • 4.1.2 软硬件协同平台的并行翻译优化模型
  • 4.1.3 并行线程间依赖问题
  • 4.2 并行协同机制
  • 4.2.1 并行翻译机制
  • 4.2.2 协同Profile 机制
  • 4.3 性能分析与验证
  • 4.4 本章小结
  • 第五章 性能评测
  • 5.1 评测范畴
  • 5.2 评测结果
  • 5.2.1 Lookup 时间、翻译时间和软件版本的对比
  • 5.2.2 TCache 命中和TCache?Miss 情况下的基本块执行时间
  • 5.2.3 Native?Execution? 时间对比
  • 5.2.4 TCache 缺失率对软硬件协同设计的架构影响
  • 5.3 性能分析
  • 第六章 总结与展望
  • 6.1 全文的工作总结
  • 6.2 未来的研究方向
  • 参考文献
  • 附录 名词对照表
  • 致谢
  • 攻读硕士学位期间学术论文发表情况
  • 上海交通大学学位论文答辩决议书
  • 相关论文文献

    • [1].基于SOPC的软硬件协同设计[J]. 无线电通信技术 2009(02)
    • [2].软硬件协同设计分析[J]. 指挥控制与仿真 2008(03)
    • [3].关于嵌入式系统的软硬件协同设计研究[J]. 山东农业工程学院学报 2018(12)
    • [4].嵌入式系统中软硬件协同设计技术应用研究[J]. 菏泽学院学报 2010(05)
    • [5].关于嵌入式系统的软硬件协同设计研究[J]. 数字通信世界 2019(08)
    • [6].软硬件协同设计及其在LCD驱动自动检测中的实现[J]. 微计算机信息 2008(23)
    • [7].基于平台的SOC设计方法研究[J]. 计算机与数字工程 2013(01)
    • [8].基于平台和中间件的嵌入式系统软硬件协同设计[J]. 电子测试 2018(12)
    • [9].数字音频解码器软硬件协同设计[J]. 现代计算机(专业版) 2010(12)
    • [10].高性能处理系统的软硬件协同设计研究[J]. 计算机工程与科学 2009(S1)
    • [11].用C语言建模辅助软硬件协同设计[J]. 信息技术 2010(08)
    • [12].基于遗传算法的软硬件划分方法[J]. 电脑编程技巧与维护 2010(14)
    • [13].SoC FPGA在声波测井仪器中的软硬件协同设计[J]. 单片机与嵌入式系统应用 2018(04)
    • [14].基于软硬件协同设计的航天控制系统综合技术[J]. 航天控制 2013(02)
    • [15].一种基于RSOC的软硬件协同设计方法研究[J]. 计算机科学 2011(01)
    • [16].可满足模理论在软硬件划分领域的应用[J]. 广西民族大学学报(自然科学版) 2016(01)
    • [17].基于SOPC嵌入式系统中软硬件协同设计方法研究[J]. 大庆师范学院学报 2012(06)
    • [18].FCMAC网络的软硬件协同设计与实现[J]. 计算机工程 2008(01)
    • [19].采用软硬件协同设计的SoftMax函数的FPGA实现[J]. 信息通信 2019(10)
    • [20].基于FPGA的AFDX软硬件协同设计[J]. 计算机系统应用 2014(09)
    • [21].基于SOPC的FC-2层协议设计与实现[J]. 计算机技术与发展 2009(08)
    • [22].基于μCOS-Ⅱ的SoC协同设计和验证[J]. 航空计算技术 2008(03)
    • [23].基于SoC的卷积神经网络系统设计[J]. 电子测量技术 2019(10)
    • [24].基于过程级编程模型的软硬件协同设计框架[J]. 计算机工程 2010(04)
    • [25].SoC系统平台在EDA技术教学中的应用[J]. 中国电力教育 2014(08)
    • [26].基于改进模拟退火算法的软硬件划分[J]. 计算机应用 2011(07)
    • [27].基于多代理系统的软硬件协同设计[J]. 计算机工程 2010(04)
    • [28].嵌入式系统软硬件划分方法探索[J]. 计算机应用 2008(09)
    • [29].FPGA逻辑研究与设计分析[J]. 科学技术创新 2018(07)
    • [30].面向嵌入式片上系统的应用类课程教学改革与实践[J]. 课程教育研究 2018(03)

    标签:;  ;  ;  ;  

    基于软硬件协同设计的虚拟机的并行性研究
    下载Doc文档

    猜你喜欢