一种缓存优化方法和系统技术方案

技术编号:14265447 阅读:54 留言:0更新日期:2016-12-23 10:39
本申请公开了一种缓存优化方法和系统,所述方法通过计算程序运行于预定缓存参数的不同取值时对应的功耗值的大小,确定出最小功耗值对应的所述预定缓存参数的取值,并将该取值作为该预定缓存参数的最优取值,在此基础上,对所述预定缓存参数的取值进行优化,将其调整为所述最优取值,以此实现缓存重构;从而,后续所述程序可基于优化后的缓存参数,即所述预定缓存参数的所述最优取值运行,可有效降低嵌入式等设备的系统功耗。

【技术实现步骤摘要】

本专利技术属于计算机应用
,尤其涉及一种缓存优化方法和系统
技术介绍
参考图1,在嵌入式等电子设备中,CPU(中央处理器,Central Processing Unit)通常有一级缓存、二级缓存。具体而言,二级缓存的出现是为了协调一级缓存与内存之间的速度,主要用于一级缓存和内存之间的数据临时交换,二级缓存比一级缓存的速度更慢,容量更大。随着嵌入式等电子设备的日渐普及,人们在使用这些设备时对设备功耗的要求也越来越高,其中,通过对缓存尤其是对二级缓存的优化重构来降低功耗,进一步提升设备的系统能效有着巨大的发展空间。现阶段技术下在缓存重构中挑战最大的莫过于对缓存参数的优化,缓存存在三个参数,缓存块大小(cache block size)、缓存行大小(line size)及关联(associativity),时下对缓存参数进行优化以实现缓存重构进而降低设备的系统功耗成为本领域的热门问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种缓存优化方法和系统,旨在通过对缓存参数进行优化实现缓存重构,进而降低嵌入式等设备的系统功耗。为此,本专利技术公开如下技术方案:一种缓存优化方法,包括:获得程序运行于预定缓存参数的不同取值时对应的预定功耗参数的不同取值;基于所述预定功耗参数的相应取值,计算所述预定缓存参数的每种取值对应的所述程序的运行功耗值;确定最小的运行功耗值对应的所述预定缓存参数的取值,并作为所述预定缓存参数的最优取值;将所述预定缓存参数的值调整为所述最优取值,使得所述程序后续基于所述预定缓存参数的所述最优取值运行。上述方法,优选的,所述获得程序运行于预定缓存参数的不同取值时对应的预定功耗参数的不同取值包括:在程序运行于所述预定缓存参数的每种取值时,相应记录所述预定缓存参数的取值及所述预定功耗参数的取值。上述方法,优选的,所述基于所述预定功耗参数的相应取值,计算所述预定缓存参数的每种取值对应的所述程序的运行功耗值包括:基于所述预定功耗参数的相应取值,计算所述预定缓存参数的每种取值对应的所述程序的缓存命中功耗,缓存未命中功耗及漏电电流功耗;基于所述缓存命中功耗,缓存未命中功耗及漏电电流功耗计算所述预定缓存参数的每种取值对应的所述程序的运行功耗值。上述方法,优选的,所述预定缓存参数为缓存块大小、缓存行大小及关联中的任意一种。上述方法,优选的,所述预定缓存参数具体为缓存块大小,则所述方法在将所述预定缓存参数的值调整为所述最优取值之后,还包括:依次将所述预定缓存参数切换为所述缓存行大小、所述关联,并在每次对所述预定缓存参数进行切换后,执行所述方法对切换后的所述预定缓存参数的取值进行优化,使得所述程序后续基于所述缓存块大小、缓存行大小及关联的最优取值运行。一种缓存优化系统,包括:获取模块,用于获得程序运行于预定缓存参数的不同取值时对应的预定功耗参数的不同取值;计算模块,用于基于所述预定功耗参数的相应取值,计算所述预定缓存参数的每种取值对应的所述程序的运行功耗值;确定模块,用于确定最小的运行功耗值对应的所述预定缓存参数的取值,并作为所述预定缓存参数的最优取值;第一优化模块,用于将所述预定缓存参数的值调整为所述最优取值,使得所述程序后续基于所述预定缓存参数的所述最优取值运行。上述系统,优选的,所述获取模块包括:记录单元,用于在程序运行于所述预定缓存参数的每种取值时,相应记录所述预定缓存参数的取值及所述预定功耗参数的取值。上述系统,优选的,所述计算模块包括:第一计算单元,用于基于所述预定功耗参数的相应取值,计算所述预定缓存参数的每种取值对应的所述程序的缓存命中功耗,缓存未命中功耗及漏电电流功耗;第二计算单元,用于基于所述缓存命中功耗,缓存未命中功耗及漏电电流功耗计算所述预定缓存参数的每种取值对应的所述程序的运行功耗值。上述系统,优选的,所述预定缓存参数具体为缓存块大小,则所述系统还包括:第二优化模块,用于依次将所述预定缓存参数切换为缓存行大小及关联,并在每次对所述预定缓存参数进行切换后,触发执行所述系统中的各模块对切换后的所述预定缓存参数的取值进行优化,使得所述程序后续基于所述缓存块大小、缓存行大小及关联的最优取值运行。由以上方案可知,本申请公开了一种缓存优化方法和系统,所述方法通过计算程序运行于预定缓存参数的不同取值时对应的功耗值的大小,确定出最小功耗值对应的所述预定缓存参数的取值,并将该取值作为该预定缓存参数的最优取值,在此基础上,对所述预定缓存参数的取值进行优化,将其调整为所述最优取值,以此实现缓存重构;从而,后续所述程序可基于优化后的缓存参数,即所述预定缓存参数的所述最优取值运行,可有效降低嵌入式等设备的系统功耗。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1是CPU平台下的缓存架构示意图;图2是本申请实施例一提供的缓存优化方法的一种流程图;图3是本申请实施例一提供的二级缓存的优化原理示意图;图4是本申请实施例二提供的缓存优化方法的另一种流程图;图5是本申请实施例二提供的缓存参数的寻优示意图;图6-图7是本申请实施例三提供的缓存优化系统的结构示意图。具体实施方式为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结解释如下:缓存块大小:cache block size,其中,缓存块(cache block)具体指进行缓存处理时所采用的一逻辑操作单元,缓存块大小即指该逻辑操作单元的大小,缓存处理会按块进行操作,例如在对缓存数据进行命中时,依次取出缓存中的整块数据,并在所取出的块中进行命中。关联:associativity,如n-way associativity,具体指缓存可同时支持多路缓存操作,如多路缓存数据命中等。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一本申请实施例一公开一种缓存优化方法,该方法主要适用于对二级缓存或三级缓存等多级缓存的缓存参数进行优化,从而通过对二级缓存或其他多级缓存进行缓存重构来降低嵌入式等设备的系统功耗,参考图2示出的缓存优化方法流程图,所述方法可以包括以下步骤:S101:获得程序运行于预定缓存参数的不同取值时对应的预定功耗参数的不同取值。其中,缓存存在三个参数,缓存块大小(cache block size)、缓存行大小(line size)及关联(associativity),基于此,所述预定缓存参数具体可以是缓存块大小、缓存行大小及关联这三个缓存参数中的任意一个。即,具体地,本申请的主要构思是:可以在所述三个缓存参数中任意两个缓存参数的取值固定的情况下,对第三个缓存参数按程序在该参数的不同取值下进行运行时的功耗情况进行缓存寻优,基于最低功耗点得出该参数的最优取值,在此基础上实现对该参数即所述第三个缓存参数进行优化。实际应用中,可基于本申本文档来自技高网...
一种缓存优化方法和系统

【技术保护点】
一种缓存优化方法,其特征在于,包括:获得程序运行于预定缓存参数的不同取值时对应的预定功耗参数的不同取值;基于所述预定功耗参数的相应取值,计算所述预定缓存参数的每种取值对应的所述程序的运行功耗值;确定最小的运行功耗值对应的所述预定缓存参数的取值,并作为所述预定缓存参数的最优取值;将所述预定缓存参数的值调整为所述最优取值,使得所述程序后续基于所述预定缓存参数的所述最优取值运行。

【技术特征摘要】
1.一种缓存优化方法,其特征在于,包括:获得程序运行于预定缓存参数的不同取值时对应的预定功耗参数的不同取值;基于所述预定功耗参数的相应取值,计算所述预定缓存参数的每种取值对应的所述程序的运行功耗值;确定最小的运行功耗值对应的所述预定缓存参数的取值,并作为所述预定缓存参数的最优取值;将所述预定缓存参数的值调整为所述最优取值,使得所述程序后续基于所述预定缓存参数的所述最优取值运行。2.根据权利要求1所述的方法,其特征在于,所述获得程序运行于预定缓存参数的不同取值时对应的预定功耗参数的不同取值包括:在程序运行于所述预定缓存参数的每种取值时,相应记录所述预定缓存参数的取值及所述预定功耗参数的取值。3.根据权利要求1所述的方法,其特征在于,所述基于所述预定功耗参数的相应取值,计算所述预定缓存参数的每种取值对应的所述程序的运行功耗值包括:基于所述预定功耗参数的相应取值,计算所述预定缓存参数的每种取值对应的所述程序的缓存命中功耗,缓存未命中功耗及漏电电流功耗;基于所述缓存命中功耗,缓存未命中功耗及漏电电流功耗计算所述预定缓存参数的每种取值对应的所述程序的运行功耗值。4.根据权利要求1所述的方法,其特征在于,所述预定缓存参数为缓存块大小、缓存行大小及关联中的任意一种。5.根据权利要求4所述的方法,其特征在于,所述预定缓存参数具体为缓存块大小,则所述方法在将所述预定缓存参数的值调整为所述最优取值之后,还包括:依次将所述预定缓存参数切换为所述缓存行大小、所述关联,并在每次对所述预定缓存参数进行切换后,执行所述方法对切换后的所述预定缓存参数的取值...

【专利技术属性】
技术研发人员:孙海波
申请(专利权)人:中科创达软件股份有限公司
类型:发明
国别省市:北京;11

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

1