CN111177023A - 嵌入式设备中存储区间的分配方法及装置 - Google Patents
嵌入式设备中存储区间的分配方法及装置 Download PDFInfo
- Publication number
- CN111177023A CN111177023A CN201911382902.5A CN201911382902A CN111177023A CN 111177023 A CN111177023 A CN 111177023A CN 201911382902 A CN201911382902 A CN 201911382902A CN 111177023 A CN111177023 A CN 111177023A
- Authority
- CN
- China
- Prior art keywords
- storage interval
- interval
- sliding
- time slice
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明实施例提供一种嵌入式设备中存储区间的分配方法及装置,其中方法包括:将嵌入式设备中的存储器划分为指令存储区间、数据存储区间和滑动存储区间,并分别配置各存储区间的大小;在预设时间后,监控当前时间片的指令存储区间和数据存储区间的访问信息,并根据所述访问信息确定下一时间片的滑动存储区间的配置方案;在下一时间片达到时,执行前一时间片确定的滑动存储区间的配置方案。本发明实施例不但降低了Cache的动态功耗和静态泄漏功耗,而且能够有效提高处理器的性能。
Description
技术领域
本发明涉及嵌入式设备技术领域,更具体地,涉及嵌入式设备中存储区间的分配方法及装置。
背景技术
嵌入式设备通常采用固定容量的指令存储区间和数据存储区间,不同程序对指令存储区间和数据存储区间的需求是不平衡的,导致某种存储区间的容量不足,而另一种存储区间却有空闲。而动态的存储区间却不存在这种问题,但动态存储区间的容量一般都比较大,访问功耗也就比较大,降低了其普遍适用性。
发明内容
本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的嵌入式设备中存储区间的分配方法及装置。
第一个方面,本发明实施例提供一种嵌入式设备中存储区间的分配方法,包括:
将嵌入式设备中的存储器划分为指令存储区间、数据存储区间和滑动存储区间,并分别配置各存储区间的大小;
在预设时间后,监控当前时间片的指令存储区间和数据存储区间的访问信息,并根据所述访问信息确定下一时间片的滑动存储区间的配置方案;
在下一时间片达到时,执行前一时间片确定的滑动存储区间的配置方案;
其中,所述访问信息包括访问次数、连续缺失次数、在存储区间的最大容量下的额外路命中数和在存储区间的最小容量状态时的最近最少路命中数;所述配置方案包括:滑动存储区间作为数据存储区间使用、滑动存储区间作为指令存储区间使用以及滑动存储区间保持当前配置方案中的一种。
进一步地,所述根据所述访问信息确定下一时间片的滑动存储区间的配置方案,包括:
若对所述指令存储区间的访问次数等于第一预设阈值并且所述指令存储区间的连续缺失次数超过第二预设阈值,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间作为所述指令存储区间使用;
若对所述数据存储区间的访问次数等于第一预设阈值并且所述数据存储区间的连续缺失次数超过第二预设阈值,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间作为所述数据存储区间使用。
进一步地,所述根据所述访问信息确定下一时间片的滑动存储区间的配置方案,包括:
若所述指令存储区间的最大容量下的额外路命中数超过第三预设阈值和所述数据存储区间的最大容量下的额外路命中数、所述指令存储区间的最小容量下的最近最少路命中数超过第四预设阈值和所述数据存储区间的最小容量下的最近最少路命中数,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间作为所述指令存储区间使用;清空当前时间片的指令存储区间的最大容量下的额外路命中数以及指令存储区间的最小容量下的最近最少路命中数,以在下一时间片重新统计;
若所述数据存储区间的最大容量下的额外路命中数超过第三预设阈值和所述指令存储区间的最大容量下的额外路命中数,所述数据存储区间的最小容量下的最近最少路命中数超过第四预设阈值和所述指令存储区间的最小容量下的最近最少路命中数,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间作为所述数据存储区间使用;清空当前时间片的数据存储区间的最大容量下的额外路命中数以及数据存储区间的最小容量下的最近最少路命中数,以在下一时间片重新统计。
进一步地,所述根据所述访问信息确定下一时间片的滑动存储区间的配置方案,包括:
对于指令存储区间或数据存储区间中的任意一个存储区间,若对所述存储区间的访问次数小于第一预设阈值且所述存储区间的连续缺失次数小于第二预设阈值,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间保持当前状态。
进一步地,所述滑动存储区间的容量不大于指令存储区间和数据存储区间中容量较大的一个存储区间。
进一步地,所述确定下一时间片的滑动存储区间的配置方案为滑动存储区间保持当前状态,之后还包括:
清空指令存储区间和数据存储区间的访问次数。
第二个方面,本发明实施例提供一种嵌入式设备中存储区间的分配装置,包括:
存储划分模块,用于将嵌入式设备中的存储器划分为指令存储区间、数据存储区间和滑动存储区间,并分别配置各存储区间的大小;
存储配置模块,用于在预设时间后,监控当前时间片的指令存储区间和数据存储区间的访问信息,并根据所述访问信息确定下一时间片的滑动存储区间的配置方案;
执行模块,用于在下一时间片达到时,执行前一时间片确定的滑动存储区间的配置方案;
其中,所述访问信息包括访问次数、连续缺失次数、在存储区间的最大容量下的额外路命中数和在存储区间的最小容量状态时的最近最少路命中数;所述配置方案包括:滑动存储区间作为数据存储区间使用、滑动存储区间作为指令存储区间使用以及滑动存储区间保持当前配置方案中的一种。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
本发明实施例提供的嵌入式设备中存储区间的分配方法及装置,通过将嵌入式设备的存储器划分为指令存储区间、数据存储区间和滑动存储区间,在当前时间片通过监控访问信息,并根据访问信息确定下一时间片的滑动存储区间的配置方案,不但降低了Cache的动态功耗和静态泄漏功耗,而且能够有效提高处理器的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的嵌入式设备中存储区间的分配方法的流程示意图;
图2为本发明实施例提供的滑动缓存组织结构图;
图3为本发明实施例的滑动缓存的工作流程示意图;
图4为本发明实施例提供的嵌入式设备中存储区间的分配装置的结构示意图;
图5为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例特别适用于以电池供电的便携式嵌入式设备,在降低功耗方面具有巨大的现实意义,例如Alpha 21264的30%面积和StrongARM的60%面积是Cache(即存储区间)和存储器系统,它们消耗的功耗占整个芯片功耗的16%和43%,并且随着处理器设计的更加成熟这种倾向可能会更严重一些。因此片上Cache的优化设计对整个系统的功耗和性能会造成重大的影响。
图1为本发明实施例的嵌入式设备中存储区间的分配方法的流程示意图,如图1所示,该方法包括S101、S102和S103,具体地:
S101、将嵌入式设备中的存储器划分为指令存储区间、数据存储区间和滑动存储区间,并分别配置各存储区间的大小。
需要说明的是,本发明实施例将嵌入式设备的存储器划分为三类区间,分为指令存储区间、数据存储区间和滑动存储区间,在本发明实施例中,各个存储区间的大小固定不变,但是由于滑动存储区间既可以作为指令存储区间也可以作为数据存储区间,因此在应用时,当指令存储区间的缺失率较大时,就可将滑动存储区间作为指令存储区间,当数据存储区间的缺失率较大时,就将滑动存储区间作为数据存储区间。这种方法不但降低了Cache的动态功耗和静态泄漏功耗,而且能够有效提高处理器的性能。
S102、在预设时间后,监控当前时间片的指令存储区间和数据存储区间的访问信息,并根据所述访问信息确定下一时间片的滑动存储区间的配置方案。
需要说明的是,在应用程序刚运行时,无论是指令存储区间还是数据存储区间的缺失率都会很大,但是这个时候并不需要调整滑动存储区间,本发明实施例先等待应用程序运行若干个时间片后,再执行步骤S102。
本发明实施例的所述访问信息包括访问次数、连续缺失次数、在存储区间的最大容量下的额外路命中数和在存储区间的最小容量状态时的最近最少路命中数。需要说明的是,本发明实施例所述的额外路命中数是指在对存储区间中各个存储路径的命中数目的简称,最近最少路命中数是指在最近的一段时间区间(即一个时间片)内,命中次数最少的存储路径的命中数。
所述配置方案包括:滑动存储区间作为数据存储区间使用、滑动存储区间作为指令存储区间使用以及滑动存储区间保持当前配置方案中的一种。
S103、在下一时间片达到时,执行前一时间片确定的滑动存储区间的配置方案。
需要说明的是,本发明实施例通过将嵌入式设备的存储器划分为指令存储区间、数据存储区间和滑动存储区间,在当前时间片通过监控访问信息,并根据访问信息确定下一时间片的滑动存储区间的配置方案,不但降低了Cache的动态功耗和静态泄漏功耗,而且能够有效提高处理器的性能。
在上述各实施例的基础上,作为一种可选实施例,,所述根据所述访问信息确定下一时间片的滑动存储区间的配置方案,包括:
若对所述指令存储区间的访问次数等于第一预设阈值并且所述指令存储区间的连续缺失次数超过第二预设阈值,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间作为所述指令存储区间使用;
若对所述数据存储区间的访问次数等于第一预设阈值并且所述数据存储区间的连续缺失次数超过第二预设阈值,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间作为所述数据存储区间使用。
具体地,本发明实施例创建访问计数器,包括指令访问计数器和数据访问计数器,分别用于记录对滑动存储区间的令路和数据路的访问次数。还创建连续缺失次数计数器,包括指令存储区间的连续丢失计数器和数据存储区间的连续丢失计数器,分别用于记录指令存储区间和数据存储区间的连续缺失次数。由上述判断条件可知,当访问次数达到第一预设,同时连续缺失次数超过第二预设阈值,说明存储区间的缺失率已经达到了一个较高的水平,需要借助滑动存储区间使缺失率降低。
在上述各实施例的基础上,作为一种可选实施例,根据所述访问信息确定下一时间片的滑动存储区间的配置方案,包括:
若所述指令存储区间的最大容量下的额外路命中数超过第三预设阈值和所述数据存储区间的最大容量下的额外路命中数、所述指令存储区间的最小容量下的最近最少路命中数超过第四预设阈值和所述数据存储区间的最小容量下的最近最少路命中数,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间作为所述指令存储区间使用;清空当前时间片的指令存储区间的最大容量下的额外路命中数以及指令存储区间的最小容量下的最近最少路命中数,以在下一时间片重新统计;
若所述数据存储区间的最大容量下的额外路命中数超过第三预设阈值和所述指令存储区间的最大容量下的额外路命中数,所述数据存储区间的最小容量下的最近最少路命中数超过第四预设阈值和所述指令存储区间的最小容量下的最近最少路命中数,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间作为所述数据存储区间使用;清空当前时间片的数据存储区间的最大容量下的额外路命中数以及数据存储区间的最小容量下的最近最少路命中数,以在下一时间片重新统计。
在上述各实施例的基础上,作为一种可选实施例,所述滑动存储区间的容量不大于指令存储区间和数据存储区间中容量较大的一个存储区间。
所述确定下一时间片的滑动存储区间的配置方案为滑动存储区间保持当前状态,之后还包括:
清空指令存储区间和数据存储区间的访问次数。
图2为本发明实施例提供的滑动缓存组织结构图,如图2所示,
1)缓存状态设计:
在处理器的初始阶段,即进程刚启动的阶段,状态是不稳态的,Scache(即滑动存储区间)的初始大小为可选配置中最小的容量。Scache有3种状态,当Icache(即指令存储区间)缺失率较高时Scache就作为Icache使用,当Dcache(即数据存储区间)缺失率较高时Scache就作为Dcache使用,如果Icache和Dcache缺失率都不高Scache就处于稳定态。当Scache与原有的Icache和Dcache结合使用时,只扩大组数不改变相联度。
2)缓存容量设计:
Scache的容量要求小于等于Icache和Dcache中容量较大的一个,既Cslide≤max(Cinst,Cdata)。接下来的运行过程中,每运行固定的时间片后,将Tag记录到特定表中和当前Dcache或Icache大小相对应的位置,并判断缺失率是否超过一定的阀值(一般初始设为1%),如果超过了,为下一时间片选择Scache滑动补充的配置方案,这一过程持续到Dcache或Icache达到最大值或者缺失率足够小为止。
3)缓存共享设计
由于不同容量的Cache的长度不同,Scache的容量可能会在Icache和Dcache两个不同容量之间变动,导致滑动Cache的长度也不固定。为了保证Scache既可充当Icache使用又可充当Dcache使用,Scache的Tag长度应该等于指令和数据Tag中较长的,即Lslide tag=max(Linst tag,Ldata tag)。然后检查上述记录Tag的表,选中Tag值为最小的Dcache或Icache配置,清空记录表,并且切换到稳定态。在稳定态下,当缺失率有显著变化时,Scache配置不变,保持状态。如果在某一时间间隔内发生了明显变化,则将状态切换到不稳态,并从Dcache或Icache最小的配置方案开始再次进行检测。
仲裁机制是核心,通过它来判断何时需要不稳定开始滑动,何时稳定进入休眠,以及按照什么原则滑动。本发明实施例利用缺失率作为监视Cache性能的基本尺度。这样就需要使用一套参数来监视、反映和调整系统的动态行为和需求。
(1)访问计数器(AC):包括指令访问计数器(I-AC)和数据访问计数器(D-AC),分别用来统计各状态下对滑动Cache的令路和数据路的访问次数,当转到稳定状态时,其清零。
(2)最大访问数(MAC):用于记录Cache在各个状态下的最大访问次数。
(3)连续缺失次数计数器(CMC):包括指令Cache的连续缺失计数器(I-CMC)和数据Cache的连续缺失计数器(D-CMC),分别用来统计在正常状态下I-Cache和D-Cache容量初调整状态时相应Cache的连续缺失次数。
(4)最大连续缺失数(MCMC):用来记录在I-Cache或D-Cache容量达到初始调整状态时相应Cache的连续缺失边界值。
(5)额外路命中计数器(EWHC):包括指令Cache的额外命中计数器(I-EWHC)和数据Cache的额外路命中计数器D-EWHC),分别用来统计在Cache的最大容量下相应Cache的额外路命中数。当该算法转到其他状态时,其清零。
(6)最大额外路命中数(MEWHC):用来记录在Cache的最大容量状态时的额外路命中边界值,一定量的额外路命中,表明激活额外路会带来Cache性能的提升,否则会带来不必要的能量损耗。
(7)最近最少路命中计数器(LRWHC):包括指令Cache的最近最少路命中计数器(I-LRWHC)和数据Cache的最近最少路命中计数器(D-LRWHC),分别用来记录在Cache最小容量状态时相应Cache的最近最少路命中数。当转到稳定状态时,将其清零。
(8)最大的最近最少路命中数(MLRWHC):用来记录在Cache的最小容量状态时的最大LRWHC值,一定量的最近最少路命中数表明关闭该路会导致性能的损失,否则,则带来性能的提升。
(9)Scache状态标志寄存器slide state(SS):
存储当前Scache的状态,当敏感间隔结束时,仲裁机制根据AC,MAC,MEWHC和MLRWHC的值判断SS发生哪种情况,进而将Scache设置成相应的状态。
情况1:如果I-AC=MAC,并且I-CMC>CMC时,SS被标志成1,下一个敏感间隔Scache作为I-cache使用。
情况2:如果D-AC=MAC,并且D-CMC>CMC时,SS被标志成2,下一个敏感间隔Scache作为Dcache使用。
情况3:如果I-EWHC>MEWHC,并且I-LRWHC>MLRWHC时,并且Icache超过边界的比例大于Dcache,SS被标志成1,下一个敏感间隔把Scache作为Icache使用。
情况4:如果D-EWHC>MEWHC,并且D-LRWHC>MLRWHC时,并且Dcache超过边界的比例大于Dcache,SS被标志成2,下一个敏感间隔把Scache作为Dcache使用。
情况5:如果I-AC<MAC,并且I-CMC<CMC时,SS被标志成0,下一个敏感间隔内Scache设置为稳定态。
图3为本发明实施例的滑动缓存的工作流程示意图,如图3所示
1)设置各个状态寄存器
首先,设置状态寄存器(SS),并且清空各个计数器(AC,MAC,MCMC),在程序运行的初期将SS值置为0即休眠状态,Cache导致缺失率非常的大,在这段时间根据缺失率来设置SS是不正确的。通过实验发现大部分程序运行几个敏感间隔后,缺失率趋近于稳定。
2)设置仲裁策略
启动仲裁机制,如图3所示,如果AC,MAC,MCMC和MLRWHC的值满足上述实施例所述的情况1或情况3,仲裁机制将SS值设置为1,Scache作为Icache使用。为了正确读取Icache和Scache,需增加一位地址位来保证正确寻址,本发明实施例利用来自CPU的地址中的Tag字段的最低位作为增加的地址位,来判断是对原Icache读取还是对Scache进行读取。地址中Tag字段的最低位是1表明来自CPU的地址是对Scache的操作,Scache片选信号选中,Icache片选信号关闭。
3)实施检测调整
在图3中,检测调整结束后如果AC,MAC,MCMC和MLRWHC的值满足情况2或情况4,仲裁机制将SS设置为2,Scache作为Dcache使用。如果这时增加的地址位是0表明来自CPU的地址应该是对Dcache的操作,Dcache与总线交互数据,Scache片选信号关闭。当情况5发生时SS被设置为0,整个Scache稳定进入休眠状态,Icache和Dcache正常工作。
图4为本发明实施例提供的嵌入式设备中存储区间的分配装置的结构示意图,如图4所示,该装置包括:存储划分模块201、存储配置模块202和执行模块203,其中:
存储划分模块201,用于将嵌入式设备中的存储器划分为指令存储区间、数据存储区间和滑动存储区间,并分别配置各存储区间的大小;
存储配置模块202,用于在预设时间后,监控当前时间片的指令存储区间和数据存储区间的访问信息,并根据所述访问信息确定下一时间片的滑动存储区间的配置方案;
执行模块203,用于在下一时间片达到时,执行前一时间片确定的滑动存储区间的配置方案。
其中,所述访问信息包括访问次数、连续缺失次数、在存储区间的最大容量下的额外路命中数和在存储区间的最小容量状态时的最近最少路命中数;所述配置方案包括:滑动存储区间作为数据存储区间使用、滑动存储区间作为指令存储区间使用以及滑动存储区间保持当前配置方案中的一种。
本发明实施例提供的嵌入式设备中存储区间的分配装置,具体执行上述各嵌入式设备中存储区间的分配方法实施例流程,具体请详见上述各嵌入式设备中存储区间的分配方法实施例的内容,在此不再赘述。本发明实施例提供的嵌入式设备中存储区间的分配装置通过将嵌入式设备的存储器划分为指令存储区间、数据存储区间和滑动存储区间,在当前时间片通过监控访问信息,并根据访问信息确定下一时间片的滑动存储区间的配置方案,不但降低了Cache的动态功耗和静态泄漏功耗,而且能够有效提高处理器的性能。
图5为本发明实施例提供的电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(proce滑动存储区间滑动存储区间or)310、通信接口(Communication滑动存储区间Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储在存储器330上并可在处理器310上运行的计算机程序,以执行上述各实施例提供的嵌入式设备中存储区间的分配方法,例如包括:将嵌入式设备中的存储器划分为指令存储区间、数据存储区间和滑动存储区间,并分别配置各存储区间的大小;在预设时间后,监控当前时间片的指令存储区间和数据存储区间的访问信息,并根据所述访问信息确定下一时间片的滑动存储区间的配置方案;在下一时间片达到时,执行前一时间片确定的滑动存储区间的配置方案;其中,所述访问信息包括访问次数、连续缺失次数、在存储区间的最大容量下的额外路命中数和在存储区间的最小容量状态时的最近最少路命中数;所述配置方案包括:滑动存储区间作为数据存储区间使用、滑动存储区间作为指令存储区间使用以及滑动存储区间保持当前配置方案中的一种。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的嵌入式设备中存储区间的分配方法,例如包括:将嵌入式设备中的存储器划分为指令存储区间、数据存储区间和滑动存储区间,并分别配置各存储区间的大小;在预设时间后,监控当前时间片的指令存储区间和数据存储区间的访问信息,并根据所述访问信息确定下一时间片的滑动存储区间的配置方案;在下一时间片达到时,执行前一时间片确定的滑动存储区间的配置方案;其中,所述访问信息包括访问次数、连续缺失次数、在存储区间的最大容量下的额外路命中数和在存储区间的最小容量状态时的最近最少路命中数;所述配置方案包括:滑动存储区间作为数据存储区间使用、滑动存储区间作为指令存储区间使用以及滑动存储区间保持当前配置方案中的一种。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种嵌入式设备中存储区间的分配方法,其特征在于,包括:
将嵌入式设备中的存储器划分为指令存储区间、数据存储区间和滑动存储区间,并分别配置各存储区间的大小;
在预设时间后,监控当前时间片的指令存储区间和数据存储区间的访问信息,并根据所述访问信息确定下一时间片的滑动存储区间的配置方案;
在下一时间片达到时,执行前一时间片确定的滑动存储区间的配置方案;
其中,所述访问信息包括访问次数、连续缺失次数、在存储区间的最大容量下的额外路命中数和在存储区间的最小容量状态时的最近最少路命中数;所述配置方案包括:滑动存储区间作为数据存储区间使用、滑动存储区间作为指令存储区间使用以及滑动存储区间保持当前配置方案中的一种。
2.根据权利要求1所述的嵌入式设备中存储区间的分配方法,其特征在于,所述根据所述访问信息确定下一时间片的滑动存储区间的配置方案,包括:
若对所述指令存储区间的访问次数等于第一预设阈值并且所述指令存储区间的连续缺失次数超过第二预设阈值,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间作为所述指令存储区间使用;
若对所述数据存储区间的访问次数等于第一预设阈值并且所述数据存储区间的连续缺失次数超过第二预设阈值,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间作为所述数据存储区间使用。
3.根据权利要求1所述的嵌入式设备中存储区间的分配方法,其特征在于,所述根据所述访问信息确定下一时间片的滑动存储区间的配置方案,包括:
若所述指令存储区间的最大容量下的额外路命中数超过第三预设阈值和所述数据存储区间的最大容量下的额外路命中数、所述指令存储区间的最小容量下的最近最少路命中数超过第四预设阈值和所述数据存储区间的最小容量下的最近最少路命中数,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间作为所述指令存储区间使用;清空当前时间片的指令存储区间的最大容量下的额外路命中数以及指令存储区间的最小容量下的最近最少路命中数,以在下一时间片重新统计;
若所述数据存储区间的最大容量下的额外路命中数超过第三预设阈值和所述指令存储区间的最大容量下的额外路命中数,所述数据存储区间的最小容量下的最近最少路命中数超过第四预设阈值和所述指令存储区间的最小容量下的最近最少路命中数,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间作为所述数据存储区间使用;清空当前时间片的数据存储区间的最大容量下的额外路命中数以及数据存储区间的最小容量下的最近最少路命中数,以在下一时间片重新统计。
4.根据权利要求1所述的嵌入式设备中存储区间的分配方法,其特征在于,所述根据所述访问信息确定下一时间片的滑动存储区间的配置方案,包括:
对于指令存储区间或数据存储区间中的任意一个存储区间,若对所述存储区间的访问次数小于第一预设阈值且所述存储区间的连续缺失次数小于第二预设阈值,则确定下一时间片的滑动存储区间的配置方案为滑动存储区间保持当前状态。
5.根据权利要求1所述的嵌入式设备中存储区间的分配方法,其特征在于,所述滑动存储区间的容量不大于指令存储区间和数据存储区间中容量较大的一个存储区间。
6.根据权利要求4所述的嵌入式设备中存储区间的分配方法,其特征在于,所述确定下一时间片的滑动存储区间的配置方案为滑动存储区间保持当前状态,之后还包括:
清空指令存储区间和数据存储区间的访问次数。
7.一种嵌入式设备中存储区间的分配装置,其特征在于,包括:
存储划分模块,用于将嵌入式设备中的存储器划分为指令存储区间、数据存储区间和滑动存储区间,并分别配置各存储区间的大小;
存储配置模块,用于在预设时间后,监控当前时间片的指令存储区间和数据存储区间的访问信息,并根据所述访问信息确定下一时间片的滑动存储区间的配置方案;
执行模块,用于在下一时间片达到时,执行前一时间片确定的滑动存储区间的配置方案;
其中,所述访问信息包括访问次数、连续缺失次数、在存储区间的最大容量下的额外路命中数和在存储区间的最小容量状态时的最近最少路命中数;所述配置方案包括:滑动存储区间作为数据存储区间使用、滑动存储区间作为指令存储区间使用以及滑动存储区间保持当前配置方案中的一种。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述嵌入式设备中存储区间的分配方法的步骤。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至6中任意一项所述的嵌入式设备中存储区间的分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911382902.5A CN111177023A (zh) | 2019-12-27 | 2019-12-27 | 嵌入式设备中存储区间的分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911382902.5A CN111177023A (zh) | 2019-12-27 | 2019-12-27 | 嵌入式设备中存储区间的分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111177023A true CN111177023A (zh) | 2020-05-19 |
Family
ID=70655792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911382902.5A Pending CN111177023A (zh) | 2019-12-27 | 2019-12-27 | 嵌入式设备中存储区间的分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177023A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158904A (zh) * | 2006-10-08 | 2008-04-09 | 友鑫科技股份有限公司 | 嵌入式计算机系统 |
CN101989183A (zh) * | 2010-10-15 | 2011-03-23 | 浙江大学 | 混合主存储器实现节能存储的方法 |
CN102455977A (zh) * | 2010-11-02 | 2012-05-16 | 江苏大学 | 一种嵌入式设备低功耗混合Cache的实现方法 |
-
2019
- 2019-12-27 CN CN201911382902.5A patent/CN111177023A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158904A (zh) * | 2006-10-08 | 2008-04-09 | 友鑫科技股份有限公司 | 嵌入式计算机系统 |
CN101989183A (zh) * | 2010-10-15 | 2011-03-23 | 浙江大学 | 混合主存储器实现节能存储的方法 |
CN102455977A (zh) * | 2010-11-02 | 2012-05-16 | 江苏大学 | 一种嵌入式设备低功耗混合Cache的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101902651B1 (ko) | 이용 트렌드에 기초한 다중 세트 그룹들 내의 통로에 의한 캐시 메모리의 동적 전력 공급 | |
US9618997B2 (en) | Controlling a turbo mode frequency of a processor | |
US7966506B2 (en) | Saving power in a computer system | |
EP2270625B1 (en) | System and method for processor utilization adjustment to improve deep c-state use | |
KR100550195B1 (ko) | 전력을 고려한 적응형 폴링 | |
CN107526546B (zh) | 一种Spark分布式计算数据处理方法及系统 | |
KR101471303B1 (ko) | 그래픽 처리 장치를 위한 전력 관리 장치 및 방법 | |
US9442732B2 (en) | Running state power saving via reduced instructions per clock operation | |
US10204056B2 (en) | Dynamic cache enlarging by counting evictions | |
US20110112798A1 (en) | Controlling performance/power by frequency control of the responding node | |
EP2607987A1 (en) | Computing apparatus and system for remote control of operating states | |
CN102591799B (zh) | 一种存放数据的方法和装置 | |
JP4519151B2 (ja) | キャッシュ制御回路 | |
KR20150085034A (ko) | 지능형 전력 공급 결정을 위한 메모리 뱅크 유틸리티 및 비용 추적 | |
US20100005241A1 (en) | Detection of streaming data in cache | |
CN111427804B (zh) | 一种减少缺页中断次数的方法、存储介质及智能终端 | |
US9274827B2 (en) | Data processing apparatus, transmitting apparatus, transmission control method, scheduling method, and computer product | |
WO2021174382A1 (zh) | 一种消息拉取方法、装置以及计算机存储介质 | |
JP5045163B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
CN111177023A (zh) | 嵌入式设备中存储区间的分配方法及装置 | |
CN113138718A (zh) | 用于分布式块存储系统的存储方法、设备、系统和介质 | |
JP5668505B2 (ja) | クロック周波数制御プログラム、クロック周波数制御装置 | |
US20230094030A1 (en) | Cache resizing based on processor workload | |
WO2024001994A1 (zh) | 节能管理方法、装置、计算设备及计算机可读存储介质 | |
JP2007172519A (ja) | 情報処理装置、ソフトウェアモジュールのリンク管理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200519 |
|
RJ01 | Rejection of invention patent application after publication |