当前位置:问答库>论文摘要

题目:基于LLVM的指令集模拟及其加速技术的研究与实现

  摘要

指令集模拟器是体系结构研究和设计的重要工具,在学术界和工业界得到广泛应用。软件全系统模拟器具有开发速度快、成本低、易于修改等特点,因此在计算机系统设计、验证、系统软件开发、调优等方面都可以发挥重要作用。理想的模拟器应该具有较快的模拟速度,较高的模拟精度、配置修改灵活等特点。 在模拟器的三个要素中,速度尤为重要,是制约模拟器使用的最主要的因素,因此人们从模拟器的开发和模拟器的运行两个层次采取技术措施来提高模拟器的速度。从最初指令集的解释模拟到静态编译模拟,再到动态翻译模拟和二进制翻译模拟,不断从模拟器的开发角度来提升模拟器的速度。 本文从模拟器的开发角度出发,设计并实现了针对MPC8641D平台的PowerPC指令集基于LLVM的动态翻译模拟并且对其进行了性能优化。本论文主要完成的工作如下: 1、分析和研究LLVM的基本框架,并利用LLVM提供的组件构建以指令基本块为翻译单元的模拟翻译器。并基于构建的模拟翻译器,设计并实现针对PowerPC E600处理器指令集的动态翻译模拟,并集成到MPC8641D全系统模拟器中。 2、利用多核硬件平台天然的并行性,采用多线程编程技术,实现指令模拟执行与基于LLVM的指令动态翻译的并行化。指令动态翻译的并行削减了指令模拟等待LLVM翻译指令的延迟,从而优化了指令模拟性能。 3、为了进一步优化指令翻译的性能,我们将程序运行中的基本块依照其执行次数和执行路径组建成宏块,并将其作为LLVM动态翻译的基本单元。以便补偿启动LLVM模拟翻译器的开销。 另外,本文对以上三种指令模拟工作模式进行了功能性的验证。实验结果表明,三种模拟工作模式均可保证PowerPC指令基于 LLVM的动态翻译模拟快速、准确地执行。最后,本文应用五个典型测试程序,对针对MPC8641D平台的PowerPC指令集模拟器中传统动态翻译模拟和基于LLVM的动态翻译模拟的性能进行了定量测量,并对结果进行了理论分析。