基于应用程序访存模式的硬件自适应预取技术的研究
【摘要】:现代微处理器CPU与存储系统间发展速度的不平衡,导致了应用程序在执行过程中长久处在等待数据返回的状态,存储系统的性能成为了影响计算机系统性能的瓶颈。预取技术能够在层次化的存储系统中推断性的将下一层级数据的提前载入到当前层级。预取能够在一定程度上减少应用程序的缓存失效率,提高了存储系统的性能,因此受到业内的广泛关注。预取技术按实现方式来分可以分为软件预取和硬件预取。由于软件预取受到扩展和推广的限制,本文主要讨论硬件预取,所做的主要工作如下:1.我们预取技术的角度对应用程序进行分析。讨论了与应用访存模式息息相关的循环结构。以SPEC CPU 2006为例,对该测试程序执行的总体情况进行了分析,并针对几个特定的测试程序分析了它们的工作集、两级Cache的访存特性、应用程序中调用最多的循环结构中的数据特点和基本的访存模式。2.L1D Cache的预取部件以流预取为基础,通过流型长度历史表(Stream Length History Table)这样的结构实时记录一段时间内的流型访存的长度信息,预取部件利用这样信息确定预取数据的数量,并适时地停止预取。通过这种结构可以在一定程度上过滤掉许多不必要的预取。3.L2 Cache的预取部件以跨步预取为基础,通过访存映射图(Memory Access Map)这样的结构记录了应用程序在空间上的访存状态信息,通过这种结构可以容忍乱序执行的干扰,计算预取数据的地址。4.L2 Cache的预取能够实时监测存储系统预取成功的情况,资源消耗情况和资源拥塞情况。预取部件通过这些监控信息切换预取的模式,合理地控制预取数据的流出。最后我们在CMP$im模拟器上实现了这种预取结构,并用SPEC CPU 2006测试了该种预取结构。通过实验,我们发现这样的自适应预取结构比传统的预取结构利用了更多的实时信息,在硬件开销不高的前提下,比传统的预取结构在性能上更有优势。
【关键词】:访存模式 硬件预取 自适应 实时信息 SPEC CMP$im 模拟器
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP311.1