论文部分内容阅读
最近的几十年,为了提高处理器性能,流水线被设计得越来越深,越来越宽。但是,由于程序设计中普遍使用的分支指令存在着执行行为的不确定性,处理器往往会因整条流水线停顿等待分支指令的执行结果,从而降低处理器执行效率。因此,针对分支指令优化的一种技术——流水线分支预测技术,逐渐崭露头角,各种先进的分支预测机制也逐渐被提出。如何提高分支预测的精度则成为该领域专家们研究的主要方向。针对目前超标量处理器中分支预测器预测精度的问题,近两年国外某些研究人员和机构开始对处理器中数据重用技术进行研究。旨在重用程序在执行过程中产生的指令和计算数据冗余信息,提高分支预测精度,降低处理器功耗。而研究成果表明,合理利用数据重用技术不仅可以提高处理器性能,而且能够降低处理器功耗。本文首先介绍了超标量处理器、分支预测技术和数据重用理论的研究现状和发展趋势。在配置了GAs型两级动态分支预测器的五级超标量SimpleScalar仿真平台后,利用SimpleScalar工具对已有SPEC 95标准测试集进行实验数据分析,发现标准测试集中不仅存在着一定的数据可重用,而且,目前所采用的预测恢复机制会带来额外的时钟周期损失。因此,本文利用数据重用机制对这两个问题研究分析后,提出一种Loop检测器及B-Cache(Branch Cache)预测失误恢复器设计方案,即构建了一种基于数据重用机制的超标量处理器分支预测器理论模型。为验证所建立的模型,在分析SimpleScalar仿真平台源代码后,对Sim_Outorder仿真器文件程序进行了修改,最终实现了B-Cache预测失误恢复器处理机制。而验证结果表明Loop检测器可以避免处理器对程序中大量存在的Loop型程序代码的重复译码。而B-Cache预测失误恢复机制的加入使预测失误后,恢复流水线仅仅需要一个时钟周期,与以往的预测失误恢复机制相比节省了大量的时钟周期。