指令集模拟器(Instruction Set Simulator,ISS)用来在一台计算机上模拟另外一台计算机上程序运行过程的软件工具,它是计算机体系结构研究和SoC软硬件协同设计的重要工具。经过几十年的发展,指令集模拟器成为了嵌入式处理器设计过程中必...
详细信息
指令集模拟器(Instruction Set Simulator,ISS)用来在一台计算机上模拟另外一台计算机上程序运行过程的软件工具,它是计算机体系结构研究和SoC软硬件协同设计的重要工具。经过几十年的发展,指令集模拟器成为了嵌入式处理器设计过程中必不可少的一部分。
随着处理器硬件的不断创新和改进,现有的指令集模拟器已经无法适应当前硬件的需求。过去十多年来,人们主要针对32位的模拟器研究,64位模拟器的研究的很少,如当前的许多模拟器都是基于32位的模拟器,其性能及灵活性上都无法很好的发挥出当前硬件的需求,因此采用新的技术开发一种新的模拟器有着重要的意义。随着64位处理器应用的不断增加,处理器模拟领域必将面临新的挑战,比如,采用什么样的描述语言,如何实现并行处理等都是当前存在的难题。而且这种基于64位动态翻译技术的MIPS嵌入式模拟器不仅要满足64位MIPS嵌入式模拟器的需求,还要完全兼容32位MIPS嵌入式模拟器。因此,基于64位MIPS嵌入式系统的动态模拟与仿真技术的研究对开发MIPS嵌入式系统、提升其性能具有重要的意义。
本论文的主要工作有:第一,构建基于newlib的交叉编译器,为了方便交叉编译器的移植,提高编译速度和增加对MIPS64指令集的支持,本文实现了基于newlib的MIPS-elf-*的交叉编译器;第二,实现了MIPS32和MIPS64兼容的指令集模拟器,模拟了处理器中除浮点指令以外的所有MIPS指令,主要包括算术运算、加载和存储指令、分支指令以及协处理器相关的指令。为了提高译码速度,该模拟器在指令译码过程中主要采用了多级索引技术,而不使用传统的代码生成器。另外,由于MIPS32指令集是MIPS64指令集的一个子集,该模拟器中使用C++类模板,使得在编译过程中使用同一套代码,编译出MIPS32和MIPS64两种指令集模拟器,从而大大提高了代码的可重用性;第三,为了比较指令集模拟技术的性能,本论文主要实现了解释型模式和未细化的动态编译模式。其中未细化的动态编译模式采用分页技术实现了Cache存储要执行的指令。最后,通过asm语言编写大量的验证程序确保模拟的指令集的正确性。这种技术无论是机器结构还是操作系统都不依赖于宿主机器,只要宿主机器支持C++语言即可。实验结果表明,本论文所采用的指令集模拟技术可以较为准确的模拟MIPS64的指令集,并有较高的仿真速度。
系统芯片SOC(System on a Chip)的出现使得整个系统在一个芯片上实现成为可能,但设计的复杂性也给设计方法和设计流程提出了更高要求。SOC软硬件协同模拟可以在SOC设计的前期很好地发现与反馈设计中存在的问题,但随着SOC功能的不断增...
详细信息
系统芯片SOC(System on a Chip)的出现使得整个系统在一个芯片上实现成为可能,但设计的复杂性也给设计方法和设计流程提出了更高要求。SOC软硬件协同模拟可以在SOC设计的前期很好地发现与反馈设计中存在的问题,但随着SOC功能的不断增加、应用领域的不断扩展,传统的基于专门硬件描述语言的模拟模型设计方法已不能满足设计的复杂性与快速变化性要求,有效而快速地开发准确的协同模拟模型已成为SOC设计流程中的一个瓶颈。 \n 面向对象的分析与设计能显著降低问题的复杂性。本文在对面向对象理论与SystemC建模技术作了深入研究后,分析了面向对象思想在具有硬件特性的SOC模拟模型设计中的适用性。\n 论文探讨了SOC软硬件协同模拟模型中软件模拟器的构建方法,利用面向对象技术建立了指令集模拟器ISS(Instruction Set Simulator),在ISS的构建中,提出了将并发处理提取作为单独模块实现,有利于设计重用。在总线模拟模型BSM(Bus Simulation Model)的构建中,采用了面向对象中的接口方法调用原理,结合SystemC的接口方法调用实现机制,实现了具有良好设备可扩充性的BSM。分析了基于C++的ISS与基于SystemC的BSM在集成中存在的问题与难点,提出了将ISS包装与BSM进行无缝连接的解决方案。最后,自行设计与开发了模拟运行平台。 \n 实验结果与代码共用率计算结果表明,本文实现的软件模拟器的指令模拟运行是有效的,设计与代码实现也可在一定程度上被重用。
文章结合图形处理器研制需求,通过设计、实现针对统一染色阵列汇编程序的指令集模拟器(Instruction Set Simulator,ISS),在虚拟时钟精确层面仿真每条指令在目标处理硬件上的执行效果,在硬件系统开发完成前支持软件开发人员完成大部分的...
详细信息
文章结合图形处理器研制需求,通过设计、实现针对统一染色阵列汇编程序的指令集模拟器(Instruction Set Simulator,ISS),在虚拟时钟精确层面仿真每条指令在目标处理硬件上的执行效果,在硬件系统开发完成前支持软件开发人员完成大部分的开发和调试工作,从而提高图形处理器的研制效率。同时,在仿真验证中,根据预测的性能分析指标,反馈并指导硬件架构的设计,提高硬件系统设计效率。
暂无评论