首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
Cache结构的低功耗可重构技术研究
来源:本站整理  作者:佚名  2010-04-08 18:15:56



2.2 动态重构算法
   
在程序运行过程中,通过软件监测自动选择优化的Cache结构。一般采用启发式算法,即根据程序过去执行的状况预测未来的运行情况,并为其配置相应的优化结构。重构流程是:在程序运行的时候,CPU按固定的时间间隔检查一系列的硬件计数器;这些计数器记录上一时间段内的Cache缺失率和分支跳转的发生频率,如果改变的程度超过设定阈值则进入重构过程,否则程序继续运行。
    图3是可重构算法的状态图。RESET为程序开始运行时的初始状态;UNSTABLE为非稳定状态,该状态下进行结构的搜索与重构;STABLE为选择好优化的Cache结构进入稳定运行的状态;TRANSl,TRANS2为状态相互切换时的中间状态。图4是在UNSTABLE状态下的搜索流程。首先根据统计将各种配置的Cache结构按照失效率进行排序。进入重构搜索状态后,如果引起重构的原因是失效率的上升,则沿着排序表开始,朝失效率降低的方向依次搜索新的Cache结构。如果引起重构的原因是程序分支频率的改变,则需要搜索所有的Cache结构。

2.3 可重构Cache中问题
    (1)数据重名问题
    Cache中的数据重名问题是指主存中同一地址的数据同时出现在Cache中两个不同的位置。实地址Cache中本来不存在数字重名问题,但引入可重构概念的同时,也带来了数据重名问题。解决这一问题的简单办法是在Cache重构的时候让Cache中的内容全部无效,需要写回的内容都进行写回。但这样会导致Cache性能下降,特别是在Cache重构比较频繁的时候。但是如果动态重构的指令片段较大,则影响比较小。
    (2)映射错误问题
    Cache在重构时,其组数量会变化,从而导致需要比较的Tag位的数量也发生变化,这会导致映射错误的出现。为了保证处于任何一种状态的时候都有足够的Tag来做比较,按照Tag位最长的一种配置来保存Cache地址结构,也就是组数量最少的情况。这样做虽然会增加一些无用的比较,但却能避免刷新Cache带来的性能损失。

结 论
    本文在传统Cache结构的基础上分析了一种可重构Cache的体系结构及其动态重构的配置算法,指出了可重构Cache可能会遇到的问题。通过对传统Cache结构的改进,在嵌入式处理器上实现Cache可重构技术,这对嵌入式处理器的存储器体系结构功耗优化有着重要意义。可重构Cache的设计方法具有非常好的低功耗潜力,也是目前计算机体系结构方面的研究热点之一。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:166,730.50000 毫秒