论文部分内容阅读
在最新的嵌入式处理器中,片上存储器的功耗(主要是片上Cache)达到总功耗的50%左右。有效的降低这部分的功耗,对整个处理器芯片的低功耗设计有着重大的意义。然而,Cache的改变对系统功耗的影响是复杂的,需要整体考虑改变Cache结构对整个存储系统的影响。本文尝试从体系结构方面来进行研究,以达到降低功耗的目的。首先,本文分析了Cache的各个设计要素,针对低功耗的要求选取了两个结构参数(容量、相联度)作为可重构Cache的重构参数,并且确立了本文采用的可重构Cache的基本结构。随后根据当前的主流应用为该Cache设定了一个具有代表性的工作参考系统。使用SimpleScalar工具进行了仿真。基于对国内外相关文献的研究与分析,本文设定了三种重构策略,其实现难易程度、灵活性与适用范围各有不同,分别称之为static、segment以及dynamic。Static重构主要以应用程序为单位,设定合适的Cache结构;Segment重构则以程序运行的不同片段为单位,根据各个阶段的特性设定合适的Cache结构,适用于运行程序类型较为集中的嵌入式系统;Dynamic重构,则是通过实时监测应用程序的特性来自动选择进行重构的时机,适用于复杂的高端嵌入式处理器。确立了可重构Cache结构与重构策略后,对存储体系进行了系统的功耗分析。将功耗分为可重构的Cache功耗、外存访问功耗和CPU停顿功耗三部分。其中Cache功耗基于一个广泛使用的Cache功耗分析工具CACTI分析。本文对三种重构策略进行了大量的性能评估与分析。为了准确全面的进行分析,在设定平均访存功耗作为评估指标之外,还设定了能量延迟积,以及重构粒度的归一化参数,作为系统性能评估指标。在此基础上,为了有效的完成数据抽取、计算与图形化分析等计算与处理量极大的工作,搭建了一个基于Perl、Shell以及Matlab的数据分析平台,针对各项性能指标进行自动化且高效的分析。此外,在dynamic动态重构策略的研究中,本文设定了归一化的评估方法以便于分析粒度对于重构效果的影响。基于此评估方法,对重构粒度进行了大量分析,最终得到了针对本参考平台的较优化的粒度范围(300万到500万条指令)。对于不同于本文的参考系统,亦可采用本文设定的评估方法与平台方便的得出其优化的重构粒度范围。本文提出的可重构Cache结构和三种不同的重构策略、性能评估方法与高效自动化的分析环境,适用于多种应用环境,可以作为嵌入式应用程序低功耗开发平台的基础。例如,可以在此平台上自动分析用户开发的嵌入式应用程序,插入可重构指令来优化Cache的使用,从而为之设置特定的重构时机(segment式的重构策略),达到低功耗的目的。大量的仿真结果表明,根据实际应用情况的不同,选取适当的重构策略,在嵌入式系统中使用本文设计的可重构Cache,能够不同程度地降低系统功耗。