论文部分内容阅读
为了满足对复杂多处理器系统研究的需要,针对多处理器以及片上网络互联系统模拟器的应用日益广泛。这对模拟器设计方法提出了更高的要求。模拟器相对硬件往往具有开发周期短、成本低、易于修改配置等特性。作为辅助硬件设计和性能评测的工具,现代模拟器需要提供完整的系统模拟平台和便于修改配置的组件模型,应具有良好扩展性,并逐步向高速、精确和修改配置灵活的方向发展。 UniCore-3处理器是北京大学微处理器研究开发中心自主研发的一款64位超标量多核处理器,该处理器使用北大众志自主定义的类RISC类型UniCore64指令系统体系结构。本文设计并实现了基于gem5的UniCore-3指令级模拟器。该使用者可通过修改、配置已有模块和添加组件建立适合自己的模拟环境,开展对UniCore-3处理器整体性能评估以及互联系统的研究工作。 本文的主要工作分为如下两部分: 1)基于gem5模拟器设计了UniCore-3指令级模拟器的总体框架,本文设计的指令级模拟器包含装载、指令解析器、CPU模型以及存储、端口等模块,其指令解析器由规范的指令描述系统和语法分析器组成。其中的指令描述系统独立于模拟器的其他模块,可通过语法分析器自动生成指令在模拟器中的具体操作。这种设计减少了代码冗余。该模拟器采用面向对象的设计,具有修改配置灵活的特点。 2)基于gem5模拟器的框架,实现了面向UniCore-3处理器的装载模块和指令解析器,使该模拟器可以解析UniCore-3处理器的整点指令、浮点指令和系统调用,结合AtomicCPU模型和classic存储模型,实现了面向UniCore-3处理器的指令级模拟器,并使用UCSim-3-Test、小程序测试集、Dhrystone、Whetstone、Microbench等基准程序、gcc-testsuite对其进行正确性测试,试验结果表明,基于gem5的UniCore-3指令级模拟器的正确性可得到保证,并能运行SPEC2000性能评测程序,这为日后的评测工作提供了基础。 在未来的工作中,使用者可根据实际工作需求修改和配置模拟器的具体模块,实现对UniCore-3处理器及其核间互联更精确的模拟。