● 摘要
可重构计算是20世纪90年代以后兴起的一项新技术。它可以通过编程来实现硬件功能,将硬件的高效性和软件的灵活性很好的结合起来。因此,可重构计算的研究和应用越来越多,已成为当今高性能计算的热点研究问题。然而,尽管相较于传统的专用集成电路,可重构计算在开发效率方面已经有了很大提升,但是硬件描述语言的复杂性,巨大的体系结构设计空间,寄存器传输级仿真的低效性等等都在制约着可重构计算系统的开发速度。因此,需要在硬件描述前完成对体系结构的评估工作。但目前针对这一阶段还没有成熟有效的评估工具。针对上述问题,本文在系统实现前引入具有一定通用性的体系结构模拟器生成工具,以该结构中的功能部件作为基本模拟单元,对所设计的体系结构进行模拟、验证,辅助开发人员进行体系结构的选择,从而提高开发效率,缩短开发周期。论文的主要工作和取得的成果如下:1. 对当前模拟器的研究现状,尤其是面向可重构计算的模拟器进行了分析总结,明确了论文的研究内容和目标。对其中涉及到的各类技术进行了对比研究。设计了一个面向可重构计算的,可以自动生成模拟器的模拟方案,从而实现了模拟工具在一定程度上的通用性。2. 在对各种模拟粒度、建模级别比较分析的基础上,结合本文所模拟的目标,定位了模拟粒度、建模级别,以此为依据,定义了一种新的体系结构描述语言来完成对体系结构较高层次上的抽象。3. 根据模拟抽象级别,通过数据流驱动来推进模拟器的执行。提出了并行模块串行化方法,来保证串行程序模拟并行结构的正确性。对于模拟的周期问题、流水线问题本文也给出了解决方法,并设计了一个运行态控制方案,使得能够在模拟器运行时对其行为进行跟踪。4. 以所设计的建模语言、模拟机制为基础,针对不同阶段问题,设计了模块解析、模块图创建、模块图遍历三个主要算法,分别用来进行模块信息的分离、组合以及排序、代码生成工作,最终完成模拟器的自动生成。