论文部分内容阅读
在整个计算机系统中,“存储墙”是系统的主要性能瓶颈之一。存储控制器是存储器与处理器之间进行数据传递的关键部件,因此存储控制器本身的传输效率也直接影响着存储系统整体性能。本文以Synopsys公司开发的MCTL(Memory Controller)存储控制器为原型,通过软件实现存储控制器的核心功能,建立该存储控制器的高层仿真模型,可以用于芯片设计前期的存储子系统功能验证和性能评估。 本文在深入分析MCTL IP的Verilog源码基础上,重点分析研究了MCTL的内存管理单元和命令调度单元的工作机理。通过对开源高层仿真模型DRAMSim2的整体架构以及核心工作流程进行深入分析,本文选择以该高层模型作为基础,按照MCTL IP的多端口优先级以及内部命令轮询的调度策略对DRAMSim2进行定制设计,同时在DRAMSim2中实现MCTL的超时机制,使得定制后的高层模型可以比较精确地模拟MCTL IP。在此过程中,本文重点分析实现了MCTL IP所提出的访存调度策略,同时实现了存储控制器的多端口功能,使其能够满足对典型SoC(System on Chip)存储系统进行仿真验证和性能分析。本文通过与前仿的实验结果进行对比分析,对所定制仿真模型的可靠性和有效性进行了分析验证。 本文的测试向量选取Vivante公司的GC400 GPU系列提供的测试基准程序,在完成DRAMSim2定制设计后,与前仿MCTL真实仿真环境对同样的测试程序的访存过程进行跟踪分析。对于四种测试程序,前仿程序运行时间分别为1290秒、2136秒、9660秒、15900秒,高层模型仿真程序运行时间分别为2秒、4秒、11秒、21秒。可以看出,两者仿真速度相差将近1000倍。本文的实验结果还表明,在本文所采用的测试程序下,原生的DRAMSim2模型与前仿结果相比,bank冲突次数和平均访存带宽误差均超过30%,平均访存延迟误差高于25%。而定制后的高层模型在同样测试程序下与前仿结果相比,bank冲突次数的平均误差不超过10%,平均访存带宽和平均访存延迟误差均低于5%。