第5章 Data Prefetch

来源:互联网 发布:爱特数据恢复中心 编辑:程序博客网 时间:2024/06/05 17:57

处理器与存储器子系统运行速度的失配,使得存储器层次结构多次引起关注,处理器系统使用了更大规模的Cache。在很多处理器系统中,LLC的大小已达十几兆字节。随着工艺的提高,使用更大规模的Cache容量,并非遥不可及。只是Cache容量依然远不能与主存储器容量增加的速度相比。在某些应用中,即便将现有的Cache容量提高一倍也于事无补。

存储器访问在最后一级CacheMiss后,指令流水可能会被迫Stall,有些执行部件甚至要为此等待几百个Cycle,极大降低了处理器的整体运行效率。在这种情况之下,使用再精巧的指令流水线设计也无能为力。

这一切使得更多的人重新考虑存储器子系统的延时处理。各种想法层出不穷,如更加充分利用Non-Blocking Cache流水线,容纳上千条指令的OOO指令流水,Runahead执行,Prefetch等等。这些想法并非天方夜谭,具有理论基础与量化数据作为支撑。这些想法不是绝对的真理,可能只是Trade-Off。在这些想法中,目前使用最多的,最为成功的是Prefetch

0 0