CN101398786A - 一种面向嵌入式应用的软件可控Cache的实现方法 - Google Patents

一种面向嵌入式应用的软件可控Cache的实现方法 Download PDF

Info

Publication number
CN101398786A
CN101398786A CNA2008101565352A CN200810156535A CN101398786A CN 101398786 A CN101398786 A CN 101398786A CN A2008101565352 A CNA2008101565352 A CN A2008101565352A CN 200810156535 A CN200810156535 A CN 200810156535A CN 101398786 A CN101398786 A CN 101398786A
Authority
CN
China
Prior art keywords
cache
data block
data
software
label information
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.)
Granted
Application number
CNA2008101565352A
Other languages
English (en)
Other versions
CN100595738C (zh
Inventor
刘波
王学香
杨军
刘新宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN200810156535A priority Critical patent/CN100595738C/zh
Publication of CN101398786A publication Critical patent/CN101398786A/zh
Application granted granted Critical
Publication of CN100595738C publication Critical patent/CN100595738C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种面向嵌入式应用的软件可控Cache的实现方法,基于传统的嵌入式Cache结构,增加了一个Cache控制器,用于实现如下的三种操作:访问开销代价大且生命期均匀分布的数据,在Cache中保留副本;造成Cache预取时间局部性下降的数据,由处理器直接与外存通信;某一时刻被频繁访问的数据,在其有效生命期内,优先停留在Cache中。其步骤如下:在关闭Cache缓存功能的条件下运行应用程序,得到访问记录;根据访问记录,选取标记数据块;根据标记数据块的特点,生成标记信息表的内容,加载到Cache控制器中,控制Cache的操作过程。其中,标记信息表的内容可以在系统运行过程中为软件动态地配置。

Description

一种面向嵌入式应用的软件可控Cache的实现方法
技术领域
本发明属于嵌入式设计领域,特别是一种面向嵌入式应用的软件可控Cache的实现方法,可应用于高性能嵌入式系统芯片设计中数据存储的优化。
背景技术
在现代高性能嵌入式系统设计中,高速缓存(Cache)有效地解决了处理器和主存之间的速度匹配问题。相对于处理器频率以每年超过40%的速度在提高,存储器的速度每年仅提高11%左右。可以预见,随着处理器与主存之间的这种速度差异越来越大,Cache的设计也将成为决定系统整体性能的关键因素之一。但是传统的面向嵌入式应用的Cache仅由单一的硬件替换算法来预测访问的局部性,并没有充分考虑到软件应用程序的自身特点,与数据存储相关的硬件与软件机制相互分离,从而使得Cache的设计存在利用率低、控制性差的不足。
发明内容
本发明的目的在于解决上述现有技术中存在的问题,提供一种面向嵌入式应用的软件可控Cache的实现方法,采用该方法获得了对嵌入式系统中片上Cache方便有效的管理机制,同时提高了数据的存储效率,降低了Cache活动功耗,减少了Cache带来的总线开销。
为解决现有技术中存在的技术问题,本发明所设计的面向嵌入式系统应用的软件可控Cache,针对包括ARM公司的ARM7TDMI微处理器、片上指令数据统一Cache、片外同步动态随机存储器的嵌入式系统。其中,ARM7TDMI嵌入式微处理器与片上高速缓存Cache紧耦合;片外同步动态随机存储器与片上高速缓存Cache之间通过外部存储器控制接口EMI间接连接,片上高速缓存Cache与外部存储器控制接口之间通过AMBA总线连接,片外同步动态随机存储器的数据接口和控制接口分别通过数据总线和控制总线与EMI外部存储器的数据接口和控制接口对应连接;其特征在于:基于传统的嵌入式Cache结构,增加一个Cache控制器,用于实现如下的三种操作:访问开销代价大且生命期均匀分布的数据,在Cache中保留副本;造成Cache预取时间局部性下降的数据,由处理器直接与外存通信;某一时刻被频繁访问的数据,在其有效生命期内,优先停留在Cache中;方法是:在关闭Cache缓存功能的条件下运行应用程序,得到访问记录;根据访问记录,选取标记数据块;根据标记数据块的特点,生成标记信息表的内容,加载到Cache控制器中,控制Cache的操作过程;其中,标记信息表的内容可以在系统运行过程中为软件动态地配置。
包含以下具体步骤:
(1)在关闭Cache缓存功能的条件下,得到ARM7TDMI嵌入式微处理器对片外同步动态随机存储器的访问记录;
(2)根据访问记录,将造成Cache预取局部性下降的数据块,标记为CN类型;将访问开销代价大且生命期均匀分布的数据块,标记为CS1类型;将某一时刻被频繁访问的数据块,标记为CS2类型;
(3)根据(2)中对数据块标记的情况,生成标记信息表的内容,加载到Cache控制器中;
(4)标记信息表的具体内容,可以在系统运行过程中,通过软件动态地配置;
(5)Cache控制器在系统运行过程中,根据标记信息表的配置情况,监视并控制Cache的工作行为:标记为CN类型的数据块,由处理器直接与外存通信;标记为CS1类型的数据块,在Cache中保留副本;标记为CS2类型的数据块,在其有效生命期内,被优先锁定在Cache中。
所述Cache控制器的结构包括三个子模块:标记信息表子模块用于存储三种类型的标记信息;存储副本子模块用于保存数据块的副本;控制逻辑子模块用于监视和控制Cache的工作过程;标记信息表子模块和存储副本子模块中的存储单元,有唯一的地址映射,允许通过软件动态的配置。
ARM7TDMI嵌入式微处理器对片外同步动态随机存储器的访问记录的内容包括:记录1,每个数据字被访问的次数;记录2,将系统时钟周期以M为单位分成N份,记录每M个时钟周期内每个数据字被访问的次数和时钟开销数。
CN类型标记数据块的选取步骤如下:
(1)以Cache数据行的大小为单位,将外部存储器划分成各个数据块,根据访问记录1,将数据块中每个数据字被访问的次数累加求和,得到每个数据块的访问权重;
(2)选取权重大于等于1,小于4的数据块,并且将它们以权重大小排序,根据需要的标记条数N-CN,选择其中权重最小的N-CN个数据块。
CS1类型标记数据块的选取步骤如下:
(1)以Cache数据行的大小为单位,将外部存储器划分成各个数据块,根据访问记录2,将数据块中每个数据字的周期开销累加,计算每M个时钟周期内各个数据块累计的周期开销数,以及各个数据块在系统运行过程中总共的周期开销数;
(2)由上一步的计算结果,得到两类统计图:一类是各个数据块的总体周期开销情况;另一类是各个数据块在以M为单位的时钟周期上更加详细的分布情况;结合两类统计图,根据需要的标记条数N-CS1,从总体周期开销大且生命期均匀分布的数据块中,选取N-CS1个数据块。
CS2类型标记数据块的选取步骤如下:
(1)以Cache数据行的大小为单位,将外部存储器划分成各个数据块,将各个数据块中每个数据字的访问次数累加,计算每M个时钟周期内每个数据块的访问次数;
(2)由上一步的计算结果,得到各个数据块的访问次数在以M为单位的时钟周期上的分布情况,根据需要的标记条数N-CS2,从需要频繁换进换出且生命期集中分布的数据块中,选取N-CS2个数据块。
本方法的步骤进一步解释如下:a)在关闭Cache缓存功能的条件下,得到ARM7TDMI嵌入式微处理器对片外同步动态随机存储器的访问记录:记录1(每个数据字被访问的次数)和记录2(将系统时钟周期以M为单位分成N份,记录每M个时钟周期内每个数据字被访问的次数和时钟开销数);b)从记录1中找到会引起Cache污染的数据块,标记为CN(Cache Noise);例如,对于Cache块大小为4个字的情况,外存地址0xE0到0xEC范围内的四个数据字,将作为一个完整的数据块被载入到Cache中,如果某一数据块被处理器访问的几率非常小,那么这样的数据块将会造成Cache预取的时间局部性下降,并且占用Cache资源,使得Cache的利用率降低,这样的数据块就称为引起了Cache污染的数据块;c)从记录2中找到可能被Cache频繁换进换出的数据块,称为Cache敏感数据块,有两种不同类型的Cache敏感数据块:一类是Cache预取操作的开销代价很大,且生命期均匀分布的数据块,标记为CS1(Cache Sensibility-type 1),例如一些全局变量等;另一类是Cache预取操作频繁,且生命期集中分布在某一些特定时刻内的数据块,标记为CS2(Cache Sensibility-type 2),例如一些局部变量或内嵌循环程序段等;d)将标记CN、CS1、CS2的信息分别载入Cache控制器中的标记表,Cache控制器在系统运行过程中,将根据标记信息,分别触发相应的操作:对于标记为CN的数据块,Cache控制器屏蔽Cache的缓存功能,由处理器直接与外存传输数据;对于标记为CS1的数据块,Cache控制器首先判断Cache中是否保存了其副本备份,如果是,则直接读取副本内容,如果没有,发起对外存的预取操作,并且创建其副本备份;对于标记为CS2的数据块,Cache控制器首先判断是否出现在其生命期,若是,则锁定当前数据块所在的Cache数据行,将这个数据行的优先级设置为高,对于N路M组关联的Cache,除非其它N-1路中的同一数据行的优先级都为高,否则不允许将这个数据行替换出去;对于没有标记的数据块操作,不作改变。
标记数据块的选取步骤:
a)关闭Cache的缓存功能,打开外部存储器访问接口中的信息统计功能,运行程序得到记录1和记录2;b)对于CN标记数据块的选取:首先,以Cache数据行的大小为单位,将外部存储器划分成各个数据块,将数据块中每个数据字被访问的次数累加求和,得到每个数据块的访问权重;然后,选取权重大于等于1,小于4的数据块,并且将它们以权重大小排序,根据需要选取的CN类型标记的条数N-CN,选择其中权重最小的N-CN个数据块;c)对于CS1标记数据块的选取:首先,以Cache数据行的大小为单位,将外部存储器划分成各个数据块,根据访问记录2,将数据块中每个数据字的周期开销累加,计算每M个时钟周期内各个数据块累计的周期开销数,以及各个数据块在系统运行过程中总共的周期开销数;然后,由上一步的计算结果,得到两类统计图:一类是各个数据块的总体周期开销情况;另一类是各个数据块在以M为单位的时钟周期上更加详细的分布情况,根据需要选取的CS1标记的条数N-CS1,从需要周期开销大且生命期均匀分布的数据块中,选取N-CS1个数据块;d)对于CS2标记数据块的选取:首先,以Cache数据行的大小为单位,将外部存储器划分成各个数据块,将各个数据块中每个数据字的访问次数累加,计算每M个时钟周期内各个数据块的访问次数;然后,由上一步的计算结果,得到每个数据块的访问次数在以M为单位的时钟周期上的分布情况,根据需要选取的CS2标记的条数N-CS2,从需要频繁换进换出且生命期集中分布的数据块中,选取N-CS2个数据块。
标记数据块的标记信息载入Cache控制器中,Cache控制器在程序运行时,根据具体的标记信息,监视并控制相应的Cache操作,Cache控制器的结构如下:
标记表子模块:它是一个L(行)×32(位)的存储表(L可配置),行号1到3的存储单元用于说明三种标记信息各自的条数,如行1、行2、行3存储的数据分别为0x8、0x4、0x4,说明行5到行12中存储的是CN类型的标记信息,行13到行16存储的是CS1类型的标记信息,行17到行20存储的是CS2类型的标记信息,行4用于保存系统时钟周期的划分单位。
对于每一行存储的CN和CS1标记信息:高28位用于记录对应标记数据块的地址信息,低4位用于表明数据块的延展长度,例如,0x002001C0到0x002001CC、0x002001D0到0x002001DC、0x002001E0到0x002001EC、0x002001F0到0x002001FC连续的四个数据块(块大小为4个字)均被选取为CN标记数据块,那么行5到行12中存储的某一条记录信息就为0x02001C04;
对于CS2标记信息,需要两行来存储一条记录信息:第一行内容与CN和CS1标记类型的存储格式相同;第二行存储该条标记的生命期信息,用于表明该标记的有效作用域。
特别的,标记表子模块的每一行都有唯一映射的地址,可以在程序运行过程中,通过软件动态修改标记表的内容。
存储副本子模块:它是一个S(行)×B(Cache块大小,以字为单位)×32(位)的存储表(S可配置),用于保存某一时刻Cache中某一行的数据副本。
控制逻辑子模块:用于监视当前Cache的状态,当符合标记表中的标记信息时,触发相应的操作。
本发明的优点及有益效果:
(1)本发明的面向嵌入式应用的软件可控Cache结构,通过在传统Cache的结构上增加一个简单的控制模块,实现了对Cache方便高效的管理机制。
(2)根据本发明的面向嵌入式应用的软件可控Cache实现方法,使得Cache的工作过程具有灵活可控的特点,提高了Cache对于不同软件应用的适应能力。
本发明的面向嵌入式应用的软件可控Cache的实现方法,以CRC校验(ARM-CRC32)软件应用程序为例,可以使系统性能提升10%左右,总线占用率降低28%左右。
附图说明
图1为ARM7TDMI嵌入式微处理器的存储子系统结构框图。
图2为本发明的一种面向嵌入式应用的软件可控Cache实现方法的流程图。
图3为本发明的一种面向嵌入式应用的软件可控Cache的结构示意图。
图4为本发明的一种面向嵌入式应用的软件可控Cache的工作原理图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述。
图中标号说明:ARM7TDMI嵌入式微处理器1、片上高速缓存Cache2、片外同步动态随机存储器3、存储子系统性能仿真模块4、Cache控制器5、标记表子模块6、存储副本子模块7、控制逻辑子模块8、解码单元9、Cache存储单元10、替换候补行选择单元11、数据I/O单元12。
图1为ARM7TDMI嵌入式微处理器的存储子系统结构框图。该存储子系统包括ARM7TDMI嵌入式微处理器1、片上高速缓存Cache2、片外同步动态随机存储器3,其中,ARM7TDMI嵌入式微处理器1与片上高速缓存Cache2紧耦合;片外同步动态随机存储器3与片上高速缓存Cache2之间通过外部存储器控制接口EMI间接连接,片上高速缓存Cache2与外部存储器控制接口之间通过AMBA总线连接,片外同步动态随机存储器3的数据接口和控制接口,分别通过数据总线和控制总线,与EMI外部存储器的数据接口和控制接口对应连接。
本发明的工作流程如下,参见图2:
第一步,将软件应用程序载入片外同步动态随机存储器3中运行,关闭高速缓存Cache的预取功能,得到运行过程中ARM7TDMI嵌入式微处理器1对片外同步动态随机存储器3的访问记录。
第二步,根据上一步得到的访问记录,选取CN、CS1、CS2标记数据块。
第三步,根据标记数据块的选取情况,生成标记信息表内容,以及相应的Cache控制器配置信息。
第四步,将标记信息表的内容加载到Cache控制器,并且设置相应的Cache控制器配置信息;
第五步,在软件应用程序运行过程中,根据实际情况的需要,可以修改Cache控制器中标记信息表的内容,从而可以动态地控制Cache的工作行为。
下面分别介绍本发明的嵌入式可控Cache实现方法涉及的两个关键模块。
一、存储子系统性能仿真模块4:
利用ARM公司的电子系统级(ESL)设计工具SoC Designer,编写嵌入式微处理器的存储子系统性能仿真模块,使得应用程序在本模块上运行时可以得到应用程序对存储子系统的访问记录,作为标记信息表的数据来源。
二、Cache控制器5:
Cache控制器用于实现对Cache工作行为的控制,以及对标记信息内容的管理,包括三个子模块,参见图3:
a)标记表子模块6;
b)存储副本子模块7;
c)控制逻辑子模块8。
标记信息表子模块6用于存储三种不同类型的标记信息:a)对于CN和CS1标记类型,每一行存储一条标记信息,高28位为数据块地址信息,低4位为数据块的延展长度;b)对于CS2标记类型,每两行存储一条标记信息,第一行内容与前两者的存储格式相同;第二行存储该条标记的生命期信息NH(高16位)和NL(低16位),具体意义与存储系统时钟周期的划分单位(保存在标记信息表的第4行)M有关:以M个时钟周期为单位将系统运行过程划分成若干个工作区域,生命期信息NH和NL表示,从其中的第NH个区域到第NH+NL个区域的范围为其生命期。例如,M=10000,NH=100,NL=10,表示系统时钟周期在100万到110万之间时,为该条标记信息的有效生命期;同时,在标记信息表子模块中,有一个32位只读计数器CNT,用于记录当前系统运行的工作区域。
标记信息表的前三行,用于确定三种标记信息各自的记录条数,第四行用于存放系统时钟周期的划分单位。标记信息表的每一行都有唯一的地址映射,允许在软件应用程序运行过程中被动态的修改。标记信息表子模块中所有可寻址的存储单元以0x10001000为基地址,最小编址单位为32位。
存储副本子模块7用于保存数据块的副本,数据块的存储从第3行开始,数据块的存储位置与标记信息表子模块中CS1标记信息的具体内容有关,例如,CS1标记信息的第一条记录为0x02001C04,说明存储副本子模块的第3行到第6行(每行为一个数据块大小,4个字),分别保存的是:0x002001C0到0x00200iCC、0x002001D0到0x002001DC、0x002001E0到0x002001EC、0x002001F0到0x002001FC连续的四个数据块(块大小为4个字);存储副本子模块的第1行和第2行用于说明存储副本中对应数据块的有效性,从第1行的高位开始,每一位依次对应从第3行开始到第66行结束每个数据块的有效性,例如第1行是“0x10000002”,说明第6行和第33行的数据块是有效的,其他的数据块是无效的。存储副本子模块中的存储单元均可以被软件应用程序访问,以0x10002000为基地址,并且最小地址边界是32位。
控制逻辑子模块8用于监视和控制Cache的工作过程,主要分为三个部分,参见图4:a)监视处理器对Cache的访问,当操作地址符合标记信息表中某一CN类型标记时,控制Cache的工作过程做出相应的改变:禁止当前Cache的缓存功能,对于取数据/指令操作,通过数据I/O单元12直接从外存读取数据/指令;对于数据存储操作,通过数据I/O单元12直接向外存写数据;b)同样监视处理器对Cache的访问,位于解码单元9:一方面,当取数据/指令操作符合某一CS1标记信息时,首先判断存储副本子模块中对应的数据块是否有效:如果有效,则直接将其取出;如果无效,发起一次预取操作填充Cache中相应的数据行,同时更新存储副本,并将对应的有效位置位。另一方面,当写数据操作符合某一CS1标记信息时,首先判断是否写命中:如果不命中,清除对应的有效位,然后转到常规的Cache操作过程;如果写命中,则先将存储副本中对应的数据块更新,然后替换Cache存储单元中对应的数据行;c)监视Cache的替换候补行选择过程,当替换候补行中对应的数据块,符合某一CS2标记信息时,首先根据对应标记信息中包含的生命期信息,判断是否在有效期内:若是,则锁定该数据行,重新选择替换候补行;否则,就转到常规的Cache操作。需要注意的是,如果当前Cache的N路中对应的同一数据行均被锁定时,需要解锁所有这些数据行,并且将最后一次选择的数据行作为替换候补行。

Claims (7)

1、一种面向嵌入式应用的软件可控Cache的实现方法,应用于包括ARM7TDMI嵌入式微处理器、片上指令数据统一Cache、片外同步动态随机存储器在内的嵌入式系统设计,其中,ARM7TDMI嵌入式微处理器与片上高速缓存Cache紧耦合;片外同步动态随机存储器与片上高速缓存Cache之间通过外部存储器控制接口EMI间接连接,片上高速缓存Cache与外部存储器控制接口之间通过AMBA总线连接,片外同步动态随机存储器的数据接口和控制接口分别通过数据总线和控制总线与EMI外部存储器的数据接口和控制接口对应连接;其特征在于:基于传统的嵌入式Cache结构,增加一个Cache控制器,用于实现如下的三种操作:访问开销代价大且生命期均匀分布的数据,在Cache中保留副本;造成Cache预取时间局部性下降的数据,由处理器直接与外存通信;某一时刻被频繁访问的数据,在其有效生命期内,优先停留在Cache中;方法是:在关闭Cache缓存功能的条件下运行应用程序,得到访问记录;根据访问记录,选取标记数据块;根据标记数据块的特点,生成标记信息表的内容,加载到Cache控制器中,控制Cache的操作过程;其中,标记信息表的内容可以在系统运行过程中为软件动态地配置。
2、根据权利要求1所述的面向嵌入式应用的软件可控Cache的实现方法,其特征是包含以下具体步骤:
(1)在关闭Cache缓存功能的条件下,得到ARM7TDMI嵌入式微处理器对片外同步动态随机存储器的访问记录;
(2)根据访问记录,将造成Cache预取局部性下降的数据块,标记为CN类型;将访问开销代价大且生命期均匀分布的数据块,标记为CS1类型;将某一时刻被频繁访问的数据块,标记为CS2类型;
(3)根据(2)中对数据块标记的情况,生成标记信息表的内容,加载到Cache控制器中;
(4)标记信息表的具体内容,可以在系统运行过程中,通过软件动态地配置;
(5)Cache控制器在系统运行过程中,根据标记信息表的配置情况,监视并控制Cache的工作行为:标记为CN类型的数据块,由处理器直接与外存通信;标记为CS1类型的数据块,在Cache中保留副本;标记为CS2类型的数据块,在其有效生命期内,被优先锁定在Cache中。
3、根据权利要求2所述的面向嵌入式应用的软件可控Cache的实现方法,其特征在于,Cache控制器的结构包括三个子模块:标记信息表子模块用于存储三种类型的标记信息;存储副本子模块用于保存数据块的副本;控制逻辑子模块用于监视和控制Cache的工作过程;标记信息表子模块和存储副本子模块中的存储单元,有唯一的地址映射,允许通过软件动态的配置。
4、根据权利要求1或2或3所述的面向嵌入式应用的软件可控Cache的实现方法,其特征在于,ARM7TDMI嵌入式微处理器对片外同步动态随机存储器的访问记录的内容包括:记录1,每个数据字被访问的次数;记录2,将系统时钟周期以M为单位分成N份,记录每M个时钟周期内每个数据字被访问的次数和时钟开销数。
5、根据权利要求2或3所述的面向嵌入式应用的软件可控Cache的实现方法,其特征在于,CN类型标记数据块的选取步骤如下:
(1)以Cache数据行的大小为单位,将外部存储器划分成各个数据块,根据访问记录1,将数据块中每个数据字被访问的次数累加求和,得到每个数据块的访问权重;
(2)选取权重大于等于1,小于4的数据块,并且将它们以权重大小排序,根据需要的标记条数N-CN,选择其中权重最小的N-CN个数据块。
6、根据权利要求2或3所述的面向嵌入式应用的软件可控Cache的实现方法,其特征在于,CS1类型标记数据块的选取步骤如下:
(1)以Cache数据行的大小为单位,将外部存储器划分成各个数据块,根据访问记录2,将数据块中每个数据字的周期开销累加,计算每M个时钟周期内各个数据块累计的周期开销数,以及各个数据块在系统运行过程中总共的周期开销数;
(2)由上一步的计算结果,得到两类统计图:一类是各个数据块的总体周期开销情况;另一类是各个数据块在以M为单位的时钟周期上更加详细的分布情况;结合两类统计图,根据需要的标记条数N-CS1,从总体周期开销大且生命期均匀分布的数据块中,选取N-CS1个数据块。
7、根据权利要求2或3所述的面向嵌入式应用的可控Cache的实现方法,其特征在于,CS2类型标记数据块的选取步骤如下:
(1)以Cache数据行的大小为单位,将外部存储器划分成各个数据块,将各个数据块中每个数据字的访问次数累加,计算每M个时钟周期内每个数据块的访问次数;
(2)由上一步的计算结果,得到各个数据块的访问次数在以M为单位的时钟周期上的分布情况,根据需要的标记条数N-CS2,从需要频繁换进换出且生命期集中分布的数据块中,选取N-CS2个数据块。
CN200810156535A 2008-09-28 2008-09-28 一种面向嵌入式应用的软件可控Cache的实现方法 Active CN100595738C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810156535A CN100595738C (zh) 2008-09-28 2008-09-28 一种面向嵌入式应用的软件可控Cache的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810156535A CN100595738C (zh) 2008-09-28 2008-09-28 一种面向嵌入式应用的软件可控Cache的实现方法

Publications (2)

Publication Number Publication Date
CN101398786A true CN101398786A (zh) 2009-04-01
CN100595738C CN100595738C (zh) 2010-03-24

Family

ID=40517356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810156535A Active CN100595738C (zh) 2008-09-28 2008-09-28 一种面向嵌入式应用的软件可控Cache的实现方法

Country Status (1)

Country Link
CN (1) CN100595738C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101551747B (zh) * 2009-04-09 2012-06-20 怯肇乾 Arm系列微处理器的软件体系架构工具
CN107844511A (zh) * 2017-06-16 2018-03-27 珠海金山网络游戏科技有限公司 一种基于周期成本的游戏资源缓存方法和系统
WO2018076684A1 (zh) * 2016-10-31 2018-05-03 深圳市中兴微电子技术有限公司 一种资源分配方法和高速缓冲存储器
CN109656838A (zh) * 2015-12-18 2019-04-19 杭州士兰微电子股份有限公司 处理器系统及其存储器控制方法
CN109933543A (zh) * 2019-03-11 2019-06-25 珠海市杰理科技股份有限公司 Cache的数据锁定方法、装置和计算机设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101551747B (zh) * 2009-04-09 2012-06-20 怯肇乾 Arm系列微处理器的软件体系架构工具
CN109656838A (zh) * 2015-12-18 2019-04-19 杭州士兰微电子股份有限公司 处理器系统及其存储器控制方法
WO2018076684A1 (zh) * 2016-10-31 2018-05-03 深圳市中兴微电子技术有限公司 一种资源分配方法和高速缓冲存储器
CN108021437A (zh) * 2016-10-31 2018-05-11 深圳市中兴微电子技术有限公司 一种资源分配方法和高速缓冲存储器Cache
CN107844511A (zh) * 2017-06-16 2018-03-27 珠海金山网络游戏科技有限公司 一种基于周期成本的游戏资源缓存方法和系统
CN107844511B (zh) * 2017-06-16 2021-08-17 珠海金山网络游戏科技有限公司 一种基于周期成本的游戏资源缓存方法和系统
CN109933543A (zh) * 2019-03-11 2019-06-25 珠海市杰理科技股份有限公司 Cache的数据锁定方法、装置和计算机设备

Also Published As

Publication number Publication date
CN100595738C (zh) 2010-03-24

Similar Documents

Publication Publication Date Title
US20210406170A1 (en) Flash-Based Coprocessor
CN100573474C (zh) 提供功率优化的高速缓冲存储器组选择的方法和系统
CN103246613B (zh) 缓存装置及用于缓存装置的缓存数据获取方法
CN101097547B (zh) 用智能最近最少使用方案在高速缓存中进行功率性能调整
US20100235579A1 (en) Cache Management Within A Data Processing Apparatus
CN100595738C (zh) 一种面向嵌入式应用的软件可控Cache的实现方法
CN103150265B (zh) 面向嵌入式片上异构存储器的细粒度数据分配方法
JPH1196074A (ja) 交換アルゴリズム動的選択コンピュータシステム
US20150234745A1 (en) Data cache prefetch controller
CN104487953A (zh) 用于层次型存储器系统的存储器管理
US9317448B2 (en) Methods and apparatus related to data processors and caches incorporated in data processors
US20120151149A1 (en) Method and Apparatus for Caching Prefetched Data
CN104272279A (zh) 具有缓存和转换后备缓冲器的数据处理装置
CN105095116A (zh) 缓存替换的方法、缓存控制器和处理器
US20160019065A1 (en) Prefetching instructions in a data processing apparatus
CN100541452C (zh) 处理高速缓存未命中的方法和装置
CN100377117C (zh) 用于虚实地址变换及读写高速缓冲存储器的方法及装置
CN111143243A (zh) 一种基于nvm混合内存的缓存预取方法及系统
CN100399299C (zh) 一种高速缓存失效的处理器访存指令处理方法
CN103226521A (zh) 多模式数据预取装置及其管理方法
CN103019959A (zh) 一种指令高速缓冲存储器
Xiao et al. P3Stor: A parallel, durable flash-based SSD for enterprise-scale storage systems
CN1704912B (zh) 地址转换器和地址转换方法
CN102521161B (zh) 一种数据的缓存方法、装置和服务器
CN102541761A (zh) 应用于嵌入式芯片的只读高速缓冲存储器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant