论文部分内容阅读
当今嵌入式微处理器和DSP的设计中,功耗已经成为至关重要的设计因素,其中片上Cache访问是嵌入式芯片功耗的一个主要来源。基于这一点,本课题希望建立一种可重构Cache的结构,能够根据程序运行的状态自动调整结构,从而降低整个系统的功耗。
本文的研究方法是采用SimpleScalar仿真工具搭建了仿真平台,嵌入可重构Cache的模型,然后在ARM指令集上,对Mibench的benchmark程序进行仿真。仿真数据结果根据建立的高效自动化功耗分析平台来处理和分析。
在研究方法的基础上,本文提出了一种可重构Cache模型和动态可重构算法。Cache模型能够在程序运行过程中改变相联度和大小。动态可重构算法能够在运行时针对不同的应用程序对可重构Cache进行配置。本算法的特点是采用了动态阈值避免不必要的重构,并采用基于访问失效率的搜索方法减少重构过程本身的开销。
为了验证可重构Cache模型和可重构算法对于系统功耗的影响,本文设计了以下几种实验方案:1)分析嵌入式应用环境下,不同程序采用固定Cache结构时的最佳结构,作为下一步研究的基础;2)分析不同重构粒度对于重构结果的影响,并确定了在当前实验条件下的最优重构粒度区间;3)对比固定的Cache结构、没有采用搜索方法的动态重构、使用搜索方法的动态重构三种情况的结果。
大量的仿真结果和数据统计表明,本文的可重构Cache模型和动态可重构算法能够显著地降低系统功耗。同时,搜索方法能够减少重构开销,进一步改善重构的性能。