当前位置:首页 > 模拟 > 模拟
[导读]在分析Cache性能的基础上介绍了当前低功耗Cache的设计方法,提出了一种可重构Cache模型和动态可重构算法。Cache模型能够在程序运行过程中改变相联度和大小,动态可重构算法能够在运行时针对不同的应用程序对可重构Cache进行配置。通过对Cache的动态配置,不仅可以提高Cache命中率,还能够有效降低处理器的功耗。

引 言
    随着集成电路的工作速度和芯片集成度不断提高,芯片的功耗问题变得越来越突出,高性能低功耗设计已经成为当前集成电路领域的一个重要课题。在以微处理器为核心部件的VLS1系统中,Cache是系统取得高数据传输率的关键部件。在现代CPU中,Cache的功耗约占处理器总功耗的30%~60%,有效降低这部分的功耗,对芯片的低功耗设计有着重大的意义。


1 Cache低功耗相关研究
    Cache平均访问功耗是Cache性能表现的一个重要因素。Cache平均访问功耗由Cache命中时的访问功耗、失效时的访问功耗和失效率三者决定。失效时的访问功耗又包括两部分:一部分是Cache失效时Cache电路的功耗,另一部分则是下一级存储系统的访问功耗。因此降低Cache功耗可以从三个方面考虑:一是降低Cache的失效率,二是降低Cache访问能量,三是降低主存访问能量。
    为了达到低功耗的目的,对Cache结构做了一些改进:Phase—lookup Cache结构,应用两级查询的机制,即先访问tag array,只有命中的那一路data才会在第二相去访问,这样就降低了组相联Cache中数据array部分的功耗,但增加了Cache访问的时间;Way predictive组相联Cache结构,在默认情况下只访问一个tag array和一个data array,只有在默认访问失效时才会去访问其他的tag和data array,这种方法也以增加Cache访问时间的代价来换取低功耗;伪组相联Cache结构,是具有多个命中时间的Cache结构,Cache中的每一路可以被顺序读取,从而可以比传统的同时读取结构节省一部分功耗;另外还有基于压缩方法方面的研究,针对高频值的局部性,在读写Cache的过程中,对高频出现的数据值进行压缩存储,用较少存储空间保存编码后的数据,在一定程度上减少了Cache的访问功耗。
    低功耗可重构的Cache研究在最近几年得到关注,通过改变Cache的结构参数,不管是用硬件实现还是用软件实现,针对不同的程序来配置优化的Cache结构,尽可能地关闭不使用的Cache,兼顾了系统的性能和功耗。Cache的结构参数很多,主要的参数有容量大小、相联度、块大小、替换算法、写回策略等。一般而言,系统中的Cache替换算法和写策略是固定的,如果改变也可以在软件层面上实现。所以主要关注Cache的硬件结构是否可重构,仅研究其中几个参数(如Cache容量、块大小和相联度)对访问功耗的影响。在设计芯片之前可以使用CAD工具来确定对命中时间和功耗的影响。CACTI程序是一个可以评估CMOS微处理器各种Cache结构访问时间和功耗的CAD工具。对于一个给定的最小特征值,可以改变Cache容量、相联度和读/写端口的数目,以估计各种情况的Cache命中时间和功耗。可重构Cache结构需要综合考虑Cache的命中率、平均访问时间和访问能量等性能,合理选择Cache的配置参数。

2 可重构Cache的体系结构
   
要实现可重构Cache,首先Cache的结构要支持运行过程中的动态划分,其次要有检测Cache命中率的硬件或者软件机制,并且有相应的动态配置算法。
2.1 可重构Cache系统设计
   
文献提出了一种可重构的数据Cache结构。该Cache的数据区被平均分为4个子分区(subarray),每个子分区又分为4组。在Cache访问时,只有一个子分区打开,其他子分区的线路不被激活,从而节省了功耗。图1给出了整个Cache体系结构及功能模块。

    与传统Cache结构相比,图1中增加了Cache配置动态选择器(Cache Configuration Dynamic Selector, CCDS),CCDS用来更新内部状态机,并决定合适的Cache配置。通过配置CCDS,可以使整个子阵列无效,或者使有效子阵列中的某些路无效。对于无效的子阵列或者路,局部自选线(Local Word Line)、预充电(Precharge)和读出放大器(Sense Amplifier)都无激励。通过这些改进使得传统的固定划分的Cache具备了动态配置能力。
    改进后的Cache外在表现为一个虚拟的两级Cache:Ll/L2。这种分级方式同传统的L1/L2两级Cache结构不同,L1 Cache由激活的不同子分区以及子分区内不同的路数构成,未激活的部分为L2,在L1未命中时激活以进行访问,L1和L2在物理实现上表现为同一级。Cache的地址划分仍为三部分:标志位、索引位和块内地址。图2给出了Cache的地址划分情况,可分为块地址(Block Address)和块内偏移(Block offset)。块地址可以进一步分为标志字段(Tag)和索引字段(Index)。其中Tag的后两位SS用来做子分区的选择位。访问Cache时,首先访问L1,当L1命中时就直接返回,只有在L1访问失效时才会将所有数据区打开。对不同的应用程序,L1和L2大小的划分不同,其访闽时间和运行功耗也会有较大差异。

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的设计方法具有非常好的低功耗潜力,也是目前计算机体系结构方面的研究热点之一。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

10月3日,三星电子在美国加州硅谷举办“三星晶圆代工论坛&SAFE论坛”。论坛上三星芯片代工部门表示,将于2025年开始生产2nm制程工艺芯片,然后在2027年开始生产1.4nm工艺芯片。据了解,此前台积电也曾规划在20...

关键字: 三星 1.4nm 芯片

消息称台积电将于今年9月开始对3纳米芯片进行量产。这下,三星要坐不住了!虽然三星在6月30日称自己已经实现了3纳米的量产。

关键字: 华为 3nm 芯片

提到台积电,相信大家都不陌生,作为全球顶尖的晶圆代工机构。仅台积电、三星两家晶圆代工厂的市场份额,就占据了全球半导体市场的70%左右。

关键字: 3nm 芯片 三星

英国广播公司《科学焦点杂志》网站5月22日刊登了题为《什么是摩尔定律?如今是否仍然适用?》的文章,摘要如下:

关键字: 摩尔定律 半导体 芯片

据业内消息,近日高通公司的CEO Cristiano·Amon在风投会议上表示,大家在关注经济增长时也开始关心芯片,在这个数字化转型和数字经济成为重要部分的时代,芯片对于提高效率是必须的,芯片的重要性正在被普遍接受,未来...

关键字: 高通公司 芯片

作为全球豪华汽车巨头,宝马在未来的电动汽车上也开始加大投资,这一次他们是多方下注,英国牛津的工厂还是战略核心,日前又透露说在中国投资上百亿生产电动车,今晚宝马公司又宣布在美国投资17亿美元,约合人民币123亿元。

关键字: 宝马 芯片 供应商

周四美股交易时段,受到“台积电预期明年半导体行业可能衰退”的消息影响,包括英伟达、英特尔、阿斯麦等头部公司均以大跌开盘,但在随后两个小时内纷纷暴力拉涨,多家千亿美元市值的巨头较开盘低点向上涨幅竟能达到10%。

关键字: 台积电 半导体 芯片

在需求不振和出口受限等多重因素的影响下,全球半导体厂商正在经历行业低迷期。主要芯片厂商和设备供应商今年以来股价集体腰斩。

关键字: 芯片 厂商 半导体

在半导体制造中,《国际器件和系统路线图》将5nm工艺定义为继7nm节点之后的MOSFET 技术节点。截至2019年,三星电子和台积电已开始5nm节点的有限风险生产,并计划在2020年开始批量生产。

关键字: 芯片 华为 半导体

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

模拟

31144 篇文章

关注

发布文章

编辑精选

技术子站

关闭