论文部分内容阅读
低功耗优化已经成为现代处理器体系结构研究中一个非常重要的研究领域。无论是应用于专用设备和便携设备的嵌入式处理器,还是应用于服务器和工作站的高端处理器,功耗问题都得到了越来越多的关注。尤其是嵌入式处理器,功耗问题的重要性甚至超过了性能等其他设计因素。作为弥合处理器内核与主存之间速度差距的重要部件,Cache由于具有很高的访问频率和很大的面积而功耗显著。因此,有效降低Cache的功耗对于低功耗嵌入式处理器的设计有着重要意义。 本论文以高性能、低功耗嵌入式DSP芯片——SuperⅤ_EF01为基础,重点研究体系结构级Cache低功耗技术。本论文主要面向循环缓冲低功耗技术、基于踪迹信息的指令Cache低功耗技术、软硬件协同的指令Cache低功耗技术以及基于Load重用的数据Cache低功耗技术开展了相关的研究工作。 在循环缓冲低功耗技术方面,本论文提出了一种基于分支执行历史的循环缓冲低功耗方法。该方法通过循环分支指令中的分支偏移量动态识别适合加载到循环缓冲中的循环,并利用当前的循环分支指令地址与已记录的循环分支指令地址之间的关系实现了循环的动态加载。通过对取指通道的精确控制,该方法能够过滤大部分不必要的指令Cache访问。 在基于踪迹信息的指令Cache低功耗技术方面,本论文首先提出了一种基于标志位访问踪迹的指令Cache低功耗方法。该方法通过记录标志位访问踪迹信息,并采用以Cache容量为粒度的维护策略实现了踪迹信息的高效维护。通过使用标志位访问踪迹信息提前对指令Cache进行命中检测,消除了冗余标志存储器的访问。然后提出了一种基于分支执行踪迹的指令Cache低功耗方法。该方法通过记录分支执行踪迹信息,并同样采用以Cache容量为粒度的维护策略对执行踪迹信息进行有效维护。在处理器内核取指过程中,使用执行踪迹信息来确定需要访问的指令块是否已经处于指令Cache中,消除了不必要的标志存储器访问。 在本文提出的软硬件协同的指令Cache低功耗技术中,软件方面利用编译器检测程序中的循环,对循环大小不大于指令Cache容量的循环使用特殊指令进行标示,并结合推断预测和函数内联方法优化循环代码;硬件方面通过在内核流水线中增加该特殊指令的拆包和译码操作,并在指令Cache中增加简单逻辑电路来减少循环代码执行过程中对标志存储器的访问。 在本文提出的基于Load重用的数据Cache低功耗技术中,通过在传统数据Cache结构中增加一个包含一个地址寄存器和一个数据寄存器的Load重用单元,实现了后续Load指令对前面Load指令从数据Cache中取回的数据的重新使用,减少了数据Cache的访问次数。