随着存储系统的访问速度与处理器的运算速度的差距越来越显著,访存性能已成为提高计算机系统性能的瓶颈.通过对指令Cache和数据Cache失效行为的分析,提出一种预取策略--结合访存失效队列状态的预取策略.该预取策略保持了指令和数据访问的次序,有利于预取流的提取.并将指令流和数据流的预取相分离,避免相互替换.在预取发起时机的选择上,不但考虑当前总线是否空闲,而且结合访存失效队列的状态,减小对处理器正常访存请求的影响.通过流过滤机制提高预取准确性,降低预取对访存带宽的需求.结果表明,采用结合访存失效队列状态的预取策略,处理器的平均访存延时减少30%,SPEC CPU2000程序的IPC值平均提高8.3%.
With the processor-memory performance gap continuing to grow, the performance of memory access becomes the major bottleneck of the performance improvement for modern microprocessors. Prefetching policy using miss queue information is proposed by investigating instruction cache misses and data cache misses. The prefetching policy increases the efficiency of stream allocation by maintaining the sequence of instruction cache misses and data cache misses. Prefetching is initiated when no future memory access requests are in miss queue and system bus is idle. Thus it reduces the negative effect on bandwidth. The prefetching policy has filter scheme which increases the accuracy of prefetching and decreases the waste of bandwidth. Experiment results indicate that on average 30% memory access latency is decreased. The performance is improved significantly. The average IPC speedup is 8.3 %.