论文部分内容阅读
随着集成电路制造工艺的进步和微处理器设计技术的发展,处理器的流水线级数不断加深,由控制冒险引起的吞吐率下降也随之增大,在现代深流水处理器中,分支预测技术对性能的提升起着尤其重要的作用。随着处理器规模的增大,为了追求高吞吐率,分支预测器的结构越来越复杂,用于目标地址推测的分支目标缓冲器(BTB)的容量也越来越大,而通常BTB是由SRAM单元组成的Cache结构,它的功耗开销也就成了值得关注的问题。在嵌入式处理器中,由于面积和能耗等因素的限制,设计者需要在性能和实现代价等方面做出权衡,选择面积和能耗利用效率最高的设计方案。因此,探索在嵌入式处理器中采用何种结构的分支预测器和BTB可以满足应用需求且使处理器能耗达到最低对嵌入式处理器的低功耗设计具有重要意义。为了使BTB功耗和性能的优化研究具有更高的精确度和较强的应用价值,本文实验基于RTL级硬件平台,并选择具有代表性的单发射7级流水的嵌入式处理器作为基础处理器。另外,实验还采用基于SimPoint统计采样的SPEC 2000快速模拟方法有效减小了仿真时间。本文根据嵌入式处理器中分支预测的应用需求将功耗作为首要的设计目标,在实验中将方向预测器和BTB融合为统一的模块,设计了基于RAM比较标签存储结构的BTB,并通过硬件仿真方法对不同参数的BTB结构的性能与能耗进行了研究,实验选取了128分支项32路组相联的BTB为最优结构,并将它的存储体改用CAM比较标签的存储结构来实现,相对于基于RAM比较标签的存储结构,其功耗降低了37.17%,此外,本文还通过性能与实现代价的比较选取了Round Robin为该BTB结构的最优替换算法。在此基础上,本文还提出了一种通过减小无效访问来降低BTB动态功耗的跳跃访问算法,并分析了算法在嵌入式处理器中的设计折衷,最后在硬件平台上对算法性能进行了评测:在128分支项的BTB中,跳跃访问算法可使动态功耗降低72%,而CPI损失仅为0.013%。