论文部分内容阅读
现代计算机系统普遍采用多级层次化高速缓存结构来弥补处理器和内存之间的性能差距。随着处理器和内存之间性能差距的不断增大,高速缓存对处理器性能和能耗的影响也不断增大,高速缓存的重要性更加凸显。因此,有效管理高速缓存,提高高速缓存利用率对于改进计算机系统整体性能具有重要的意义。 本文在支持UniCore-3体系结构的QEMU全系统模拟器上,针对UniCore-3高速缓存的特点,对多级高速缓存层次结构进行了模拟实现,可支持UniCore64操作系统中高速缓存管理机制的开发和调试,并可支持开展硬件访存行为的对比分析和验证;通过对全系统的访存行为进行剖视分析,为操作系统和应用程序的访存优化提供定量依据。 本文主要工作如下:(1)设计和实现了UniCore-3处理器的多级层次化高速缓存模拟器,可以模拟UniCore-3中的私有一级高速缓存和共享二级高速缓存的结构和功能。(2)在QEMU全系统模拟器中,为了与硬件的访存行为保持一致,重新设计了访存路径,增加了高速缓存模拟器的中间阶段;不仅可以对访问高速缓存的行为进行剖视,还可以模拟存储器之间的数据传递和操作,以支持操作系统的高速缓存管理操作的开发调试。(3)使用基准测试程序集对高速缓存模拟器的可用性、准确度和性能进行了评测;高速缓存模拟器的访存结果与Cachegrind的结果一致,平均速度能够达到4.27MIPS,与原来的QEMU指令数的误差仅为-0.002%到0.002%,准确度高。实验结果表明,高速缓存模拟器可以与硬件行为保持一致,为高速缓存相关的软硬件开发、调试和对比分析提供有效支持。 本文所设计和实现的高速缓存模拟器已应用在UniCore64操作系统的高速缓存管理机制的开发和片载物理Cache的调试过程中,能够加快定位出错位置,提高调试效率。同时,通过对应用软件和系统软件的访存行为进行剖视,可以从函数和指令粒度观察软件运行状况,分析软件的访存行为,为发现系统访存性能瓶颈和开展优化提供定量依据。