论文部分内容阅读
随着集成电路设计进入深亚微米和纳米级工艺阶段,SoC(System on Chip)的能耗问题日益严重,已经成为制约SoC发展的主要因素之一。Cache作为最常用的片上存储器,能有效弥补存储子系统与处理器之间的速度差,对系统性能的优化显著。为了在运行多种应用程序时都能有较好系统性能,嵌入式微处理器通常将片上存储器设计为较大的容量和较高的组关联度,同时也带来了较大的访问能耗。
事实上对于某些应用程序或者同一程序的某些执行阶段,采用较低的Cache配置即可保证较好的性能。可重构Cache架构能够根据程序对存储资源需求而自动凋整Cache结构,对系统能耗的优化具有重要的意义。本文搭建了一个容量和组关联度可调的自适应可重构指令Cache架构并设计了高效的自适应可重构算法,能够准确的监测程序段的变化以及快速实现最优Cache结构的搜索。在监测程序段变化过程中,本文将程序的整个执行周期分为较小的时间间隔,通过监测一定时间间隔内的IPC(Instructions Per Clock Cycle)值与Cache缺失率的变化情况来找到最佳的重构时机。在Cache结构搜索的过程中,本文对试探搜索方法进行了一定的改进,在程序执行过程中提取以分支工作集表示的程序段特征信息并记录相应的Cache配置参数,通过程序阶段特征的匹配为程序段找到最优Cache配置从而避免重复的搜索过程。
本文采用多个基准测试程序对所提出的自适应可重构算法进行了验证。实验结果表明,采用可重构指令Cache以及在自适应可重构算法的优化下,相比指令Cache配置固定为16K Bytes四路组关联的情况,平均系统总能耗降低10.51%,最高降低21.58%;而由于重构过程带来的一些性能损失,系统性能稍有降低,程序执行时间平均增加0.34%,最高增加1.09%,在对性能影响较小的前提下实现了能耗的降低。