论文部分内容阅读
随着超深亚微米集成电路制造工艺的成熟,给集成电路设计提供了广阔的空间,单个芯片能够集成的集体管数目已经达到十亿量级,预计到2020年这一数字将超过180亿个。目前,IBM和Intel的高端处理器已经集成超过30亿个晶体管,这些高性能处理器无一例外的都使用了大容量、多层次的片上Cache来隐藏访存延迟,其面积已占到整个芯片的60%-70%。多元化应用需求的持续推动和体系结构设计技术的不断飞跃对微处理器片上存储系统提出了更高要求和严峻挑战,“存储墙”问题对处理器整体性能提升的阻碍作用愈发凸显。如何合理、高效、智能的利用片上Cache空间,构建高性能存储系统,进而跨越“存储墙”是处理器微体系结构研究的重要内容。本文深入分析了影响处理器存储系统性能的主要因素,研究了片上存储系统性能优化关键技术,认为分支预测路径上的猜测执行带来的Cache污染对Cache空间利用率和处理器IPC性能产生了负面影响。而现有Cache控制机制缺乏缓解Cache污染的能力和有效利用猜测路径访存数据预取效应的能力,使Cache性能的提升受到阻碍。另外,对低延迟Cache替换算法的研究相对较少,仍存在进一步优化的空间。论文在对阻碍处理器片上存储系统性能提升关键因素进行深刻论述的基础上,从减轻Cache污染、提升Cache空间使用效率和低延迟Cache替换算法几个方面对处理器片上存储系统性能优化方案开展了深入研究,主要工作和创新点如下:(1)提出了一种基于分支预测路径中存储器访问数据跟踪的数据Cache污染过滤方案,通过动态形成的分支预测路径访存数据跟踪表,对猜测执行路径上的访存指令写入Cache的数据进行实时动态跟踪,并且为每个Cache数据行对应的地址标签字段增加两个标志域——猜测执行数据标志SDT和猜测路径编号SPN来配合分支预测路径访存数据跟踪表对Cache中污染数据的控制,降低了预测路径上写入Cache的数据对Cache效率的影响,有效提升了片上存储系统的性能,不需要增加额外的独立Cache,提升了Cache空间利用率,降低了Cache设计复杂度,对于小容量的D-Cache非常适用。实验结果表明,本方案对L1 D-Cache命中率提升幅度为0.03%-6.69%,平均提升了1.80%;IPC提升幅度为0.01%-6.60%,平均为2.56%。(2)提出了一种基于Cache数据地址标签Valid位分裂的低污染Cache访问方案,对Cache地址标签中的Valid位做优化设计,将原有的1位地址标签Valid位替换为2位标志,即RVB标志位和WVB标志位,并根据这两个标志位的不同组合对Cache数据行的读写访问进行专门控制。第一,该低污染Cache访问方案能够区分正确路径上访存指令和猜测路径上访存指令写入Cache的数据,并采用不同的方式进行处理;第二,该低污染Cache访问方案能够保留并利用猜测路径上访存数据可能具有的数据预取效应;第三,每次向Cache写入数据时,无须经过Cache替换算法的处理就能够直接向Cache中存储猜测数据的Cache行写入数据。用较为简单的方法有效提升了Cache空间的利用率,提高了Cache写操作效率,降低了猜测路径上访存数据可能导致的Cache污染对片上存储性能的影响。实验结果表明,本低污染Cache访问方案能够将IPC(Instruction per Clock)性能平均提升5.13%,使L1 D-Cache缺失率平均降低29.66%。(3)提出了一种基于空间预约的低延迟Cache替换算法——CSPO,为片上Cache单元增加空间预约机制,包括预约空间计数器POC,Cache行预约标志POT,多个空间预约地址寄存器CPAR,以及相应的控制逻辑,实现了Cache替换目标的选择过程与片外存储器访问操作并行执行。该策略同时具备尽快提前将Cache脏数据写回主存的能力,有效隐藏Cache替换操作和Cache脏数据写回延迟、降低了访存指令执行总延迟,提升了指令吞吐性能。尤其对于预约的Cache数据行为脏数据的情况来说,CSPO能够提前启动脏数据的写回操作,显著降低Cache访问总延迟。仿真结果表明,CSPO方案能使IPC平均提升5.37%。论文的研究成果为片上存储系统性能优化设计提供了可借鉴的方案,也为进一步提高先进处理器体系结构中的Cache性能提供了方法和手段。