一种基于贪心算法的混合缓存数据分配方法组成比例

技术编号:22363919 阅读:35 留言:0更新日期:2019-10-23 04:38
本发明专利技术公开了一种基于贪心算法的混合缓存数据分配方法,以此更好的解决混合缓存中缓存数据分配与存储问题。包括如下步骤:S1,对于每一次缓存访问操作,构建贪心算法获取缓存数据读/写操作行为特征,并及时更新预测表;S2,构建统计分析方法初始化预测表,将高能效的缓存数据分类信息记录在预测表中;S3,根据预测表中的缓存数据功耗优化标志位,将数据分配到混合缓存中的不同部分;S4:返回至步骤S1,继续下一次访问缓存操作,直至该任务执行完毕。本发明专利技术所提出的贪心算法和统计分析方法能指导缓存数据以低功耗的形式存储在混合缓存中,进而降低缓存功耗并提升系统性能。

A hybrid cache data allocation method based on greedy algorithm

【技术实现步骤摘要】
一种基于贪心算法的混合缓存数据分配方法
本专利技术涉及到计算机体系结构领域,具体涉及一种基于贪心算法的混合缓存数据分配方法。
技术介绍
为了满足人们对低功耗和高性能电子设备与日俱增的需求,现代多核处理器中大多采用了多级缓存架构,传统缓存架构一般使用SRAM技术。然而,随着CMOS工艺尺寸的进一步下降,SRAM的漏电功耗大和伸缩性差将成为主要问题。因此,研究者开始积极寻找SRAM的替代方案,STT-RAM(Spin-TransferTorqueRAM)的出现为传统存储技术带来了新的机遇,因为STT-RAM有存储密度高、漏电功耗低和伸缩性好等优点。在未来,STT-RAM被认为是非常有潜力构建下一代片上缓存的存储技术。STT-RAM有如此多的好处,尽管如此,研究者发现阻碍STT-RAM架构片上缓存的主要因素是它有写延迟长和写功耗高等缺点。同时STT-RAM具有读写不对称的特性。为了优化STT-RAM的写性能差的问题,研究者提出了混合缓存架构,即充分利用SRAM和STT-RAM各自的优点,将两者组合在一起构建片上缓存,减少STT-RAM上的写操作。许多研究者从体系结构的角度提出了构建混合缓存的方法,如基于路数(way-based)的混合缓存,基于区域(region-based)的混合缓存和缓存各个层次使用不同存储技术构建混合缓存。在这些架构和设计的基础上,许多研究者提出了缓存块数据分配和迁移的方法,用于将写频繁的缓存块分配到SRAM上,因为SRAM的写操作代价要远远小于STT-RAM上的写操作代价,从而减少STT-RAM的写压力。缓存整体功耗和性能都得到了大幅度的提升。然而,现有技术的缺点主要包括以下几点:(1)通过标识信息识别写频繁的缓存块,识别精度不高;(2)在混合缓存中采用缓存块迁移方法,对于频繁迁移的缓存块将产生额外的迁移开销;(3)采用编译技术优化混合缓存,需要编译器提供静态标识,在有些情形下不太实际。
技术实现思路
本专利技术提供了一种基于贪心算法的混合缓存数据分配方法,目的在于克服现有混合缓存数据分配方法的不足,通过利用贪心算法和统计分析方法获取缓存的访问行为特征,优化数据的分配,进而优化读写功耗,以此更好的解决混合缓存中现有缓存数据管理和分配策略的问题。为了实现本专利技术的目的,本专利技术所采用的技术方案为,设计一种基于贪心算法的混合缓存数据分配方法,包括如下步骤:S1:对于每一次缓存访问操作,构建贪心算法获取缓存数据读/写操作行为特征,并及时更新预测表;S2:构建统计分析方法初始化预测表,将高能效的缓存数据分类信息记录在预测表中;S3:根据预测表中的缓存数据功耗优化标志位,将数据分配到混合缓存中的不同部分;S4:返回至步骤S1,继续下一次访问缓存操作,直至该任务执行完毕。其中,所述步骤S1中的贪心算法可以通过以下步骤构建:输入:预设程序执行周期RT,预测错误阈值数ET;输出:缓存块数据分配信息,及更新预测表;步骤1:如果缓存块从SRAM中替换出去且通过功耗计算该缓存块在NVM中的访问功耗低,则将该缓存块的标志位设为1,并将标志位和PC信息存入错误表;步骤2:;如果缓存块从NVM中替换出去且通过功耗计算该缓存块在SRAM中的访问功耗低,则将该缓存块的标志位设为0,并将标志位和PC信息存入错误表;步骤3:计算预测表中预测错误的数量,并计为EN;步骤4:如果EN等于ET,则执行贪心算法策略;步骤4.1:在预设程序执行周期RT内,重复执行步骤1和步骤2;步骤4.2:根据错误表的反馈信息,更新预测表中对应缓存块的标志位和PC;步骤4.3:如果待访问的缓存块在预测表中标志位为0,则将该缓存块分配给SRAM;步骤4.4:如果待访问的缓存块在预测表中标志位为1,则将该缓存块分配给NVM;步骤4.5:如果待访问的缓存块不在预测表中,则正常执行缓存访问操作;步骤5:将EN重置为0并清空错误表中的记录;步骤6:如果EN不等于ET,则按顺序执行步骤4.3,步骤4.4和步骤5.5。所述步骤S2中的统计分析方法可以通过以下步骤构建:输入:测试程序P,选择缓存块数据规模S;输出:缓存数据分类信息预测表T;步骤1:分析程序P访问缓存的行为,每当缓存块替换出去时,统计它的读写操作次数;步骤2:如果该缓存块从SRAM中替换出去,给该缓存块设置标志位,并将其值置为0;步骤3:如果该缓存块从NVM中替换出去,给该缓存块设置标志位,并将其值置为1;步骤4:计算每个缓存块的访问功耗;步骤5:选择功耗最小且数据规模量为S的缓存块;步骤6:将这些缓存块信息记录在预测表中。本专利技术的有益效果在于:(1)本方法采用的是一种基于贪心算法的混合缓存数据分配方法,即通过贪心算法和统计分析方法指导混合缓存数据分配,优化混合缓存中数据存储操作,非常适合在混合缓存中使用,可以有效降低系统功耗、提升系统的性能;(2)本方法的适用范围比较广泛,在多种类型的混合缓存均可使用;(3)本方法对现有的体系结构改动较小,算法复杂度不高,软硬件实现开销小。附图说明图1为一种基于贪心算法的混合缓存数据分配方法逻辑结构图。图2为贪心算法示意图。图3为统计分析方法示意图。具体实施方式为了使本专利技术的目的及优点更加清楚明白,下面结合附图和实施例对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。实施例:一种基于贪心算法的混合缓存数据分配方法,利用贪心算法和统计分析方法指导混合缓存数据分配,优化混合缓存中数据存储操作。图1为本实施例的一种基于贪心算法的混合缓存数据分配方法逻辑结构图。该结构图包括如下部分:(1)贪心算法;(2)统计分析方法;(3)预测表;(4)缓存控制器。对应于上述逻辑结构,贪心算法实时监控缓存的读写操作行为,并根据其特征更新预测表。统计分析方法通过对程序的预分析,将分析结果作为预测表的初始化数据。预测表的结构包含程序计数器(Programcounter,PC)和标志位。缓存控制器用于指导混合缓存数据分配。具体的逻辑关系和步骤如下:S1:对于每一次缓存访问操作,构建贪心算法获取缓存数据读/写操作行为特征,并及时更新预测表;S2:构建统计分析方法初始化预测表,将高能效的缓存数据分类信息记录在预测表中;S3:根据预测表中的缓存数据功耗优化标志位,将数据分配到混合缓存中的不同部分;S4:返回至步骤S1,继续下一次访问缓存操作,直至该任务执行完毕。对应于上述逻辑结构,其主要的贪心算法如图2所示,它包含以下步骤:步骤1:如果缓存块从SRAM中替换出去且通过功耗计算该缓存块在NVM中的访问功耗低,则将该缓存块的标志位设为1,并将标志位和PC信息存入错误表;步骤2:;如果缓存块从NVM中替换出去且通过功耗计算该缓存块在SRAM中的访问功耗低,则将该缓存块的标志位设为0,并将标志位和PC信息存入错误表;步骤3:计算预测表中预测错误的数量,并计为EN;步骤4:如果EN等于ET,则执行贪心算法策略;步骤4.1:在预设程序执行周期RT内,重复执行步骤1和步骤2;步骤4.2:根据错误表的反馈信息,更新预测表中对应缓存块的标志位和PC;步骤4.3:如果待访问的缓存块在预测表中标志位为0,则将该缓存块分配给SRAM;步骤4.4:如果待访问的缓存块在预测表中本文档来自技高网
...

【技术保护点】
1.一种基于贪心算法的混合缓存数据分配方法,其特征在于,包括如下步骤:S1:对于每一次缓存访问操作,构建贪心算法获取缓存数据读/写操作行为特征,并及时更新预测表;S2:构建统计分析方法初始化预测表,将高能效的缓存数据分类信息记录在预测表中;S3:根据预测表中的缓存数据功耗优化标志位,将数据分配到混合缓存中的不同部分;S4:返回至步骤S1,继续下一次访问缓存操作,直至该任务执行完毕。

【技术特征摘要】
1.一种基于贪心算法的混合缓存数据分配方法,其特征在于,包括如下步骤:S1:对于每一次缓存访问操作,构建贪心算法获取缓存数据读/写操作行为特征,并及时更新预测表;S2:构建统计分析方法初始化预测表,将高能效的缓存数据分类信息记录在预测表中;S3:根据预测表中的缓存数据功耗优化标志位,将数据分配到混合缓存中的不同部分;S4:返回至步骤S1,继续下一次访问缓存操作,直至该任务执行完毕。2.如权利要求1所述的一种基于贪心算法的混合缓存数据分配方法,其特征在于,所述步骤S1中的贪心算法可以通过以下步骤构建:输入:预设程序执行周期RT,预测错误阈值数ET;输出:缓存块数据分配信息,及更新预测表;步骤1:如果缓存块从SRAM中替换出去且通过功耗计算该缓存块在NVM中的访问功耗低,则将该缓存块的标志位设为1,并将标志位和PC信息存入错误表;步骤2:;如果缓存块从NVM中替换出去且通过功耗计算该缓存块在SRAM中的访问功耗低,则将该缓存块的标志位设为0,并将标志位和PC信息存入错误表;步骤3:计算预测表中预测错误的数量,并计为EN;步骤4:如果EN等于ET,则执行贪心算法策略;步骤4.1:在预设程序执行周...

【专利技术属性】
技术研发人员:沈凡凡徐超
申请(专利权)人:南京审计大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1