CN102567220A - Cache存取的控制方法及装置 - Google Patents

Cache存取的控制方法及装置 Download PDF

Info

Publication number
CN102567220A
CN102567220A CN2010105841344A CN201010584134A CN102567220A CN 102567220 A CN102567220 A CN 102567220A CN 2010105841344 A CN2010105841344 A CN 2010105841344A CN 201010584134 A CN201010584134 A CN 201010584134A CN 102567220 A CN102567220 A CN 102567220A
Authority
CN
China
Prior art keywords
cache
data
instruction
locking
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
Application number
CN2010105841344A
Other languages
English (en)
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.)
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN2010105841344A priority Critical patent/CN102567220A/zh
Priority to PCT/CN2011/072071 priority patent/WO2012075753A1/zh
Publication of CN102567220A publication Critical patent/CN102567220A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种Cache存取的控制方法及装置,该方法包括:处理器获取执行周期中的关键指令和/或数据;在执行周期中,处理器将指令和/或数据存储到Cache中,并锁定指令和/或数据。本发明解决了相关技术中不能灵活进行Cache存取的动态控制的问题,进而达到了动态Cache存取的灵活控制的效果。

Description

Cache存取的控制方法及装置
技术领域
本发明涉及通信领域,具体而言,涉及一种缓存(Cache)存取的控制方法及装置。
背景技术
Cache的应用可以大幅提高程序执行效率,并减少对外部总线以及外部存储器的访问。但是,Cache的工作一般情况下是不可控的,这就给某些实时性应用带来了问题。为了减少增加Cache而带来的时间不确定问题,有些实时性系统甚至关掉Cache来满足实际需要,更有的实时操作系统将Cache也归入实时性能杀手(RealTime-Killer)的行列。
如果可以使Cache能够按照需求动态控制,就可以避免上述问题,应用系统可以根据应用场景的不同动态配置好Cache中的数据,使其工作情况完全可控,进而达到了既满足需求又不丧失实时性的目的。
一般Cache控制的方式是开辟特定的随机接入存储器(RandomAccess Memory,简称为RAM)区间,将该区间设为可Cache的,这样产生的需快速存取的代码段和程序段都需要在编译的时候放置到预先设为可Cache的固定地址空间中去,从而达到快速存取的目的。该方案的好处就在于操作更简单,Cache控制器只需要具备地址的Cache Mask功能即可实现,能够达到Cache控制的目的,但是该方法不能灵活控制Cache内容。
例如,Linux内核就是使用分配特定地址区间的方式来使特定的数据或指令放置到可Cache空间中去的。相应的字段(Section)关键字为:
.data.read_mostly
.data.cacheline_aligned
图1是根据相关技术的普通Cache控制方式的示意图,如图1所示,在普通Cache的控制方式中,程序的代码段和数据段可以加载到不同的RAM区间或者加载到连续的RAM区间。这些区间可以统一设为可Cache的或者不可Cache的。在普通Cache的控制方式中没有Cache段的概念。用户不容易控制特定程序或特定数据一定存放在Cache中。
图2是根据相关技术的Cache段方式的示意图,如图1所示,在特定Cache段的处理方式中,程序中的需要经常访问的指令和数据被统一放置到特定的段中,并进而被放置到特定的地址区间中去,该地址区间为可Cache的内存空间,这样,就可以实现某些指令和数据的静态Cache控制的方式,使其可以在程序编译和加载时被确切放置在Cache中。
Cache段方式在一定程度上解决了特定指令和数据的存放问题,使其可以人工控制放置在Cache中,但是该方法有一定的局限性:数据是静态控制的,只能在编译的时候就设定好,在程序加载时放置到Cache空间中,其不能实现动态控制的目的,并且被放置到Cache中之后,还有被置换出来的隐患。
申请号为200810156535.2名称为《一种面向嵌入式应用的软件可控Cache的实现方法》的专利申请提供了一种Cache的控制方法,图3是根据相关技术的硬件Cache控制器方式进行Cache控制的示意图,如图3所示,其实际实现时为ARM(Advanced RISC Machines)另外增加了一个缓存控制器(Cache控制器),该方案具有以下局限性:一方面主中央控制器(Central Processor Unit,简称为CPU)局限于ARM控制器,另外一方面还需要另外增加Cache控制器这样的硬件设备,操作方法也显繁琐和复杂。具体地,该方案虽然确实也可以实现Cache控制的功能,其优点在于另外增加的Cache控制器逻辑可以实现某应用Cache存取的数据统计和汇总,并根据汇总结果得到三类不同的数据(CN,CS1,CS2),该分类信息再重新输入给Cache硬件控制器,使其对于这三类信息分别处理,不通过Cache或者直接被锁定到Cache中并进而提高系统执行效率,但是该方法基本仍属于静态控制方式,针对特定应用产生特定数据来配置Cache控制器。由于该方案另外增加了Cache控制器硬件,并且,该设计基于ARM7CPU,不方便向其他平台进行移植和扩展。
综上所述,图1所示的方案中没有任何Cache控制的策略,Cache执行对上层应用完全透明,用户无法把指定的需要加速处理的程序和数据告知Cache控制器。
图2所示的方案中,只能在程序加载时将需要加速的数据和指令放置到固定的地址区间,属于静态控制,在软件执行过程中不能动态修改,数据和指令如果在加载时被锁定到Cache中,那么在其不需要频繁读写时也不能被释放,这样,减少了Cache实际可用空间,造成Cache利用率的下降。如果在加载时数据和指令没有被锁定到Cache中,则将造成频繁读写指令和数据被其他非频繁指令数据替换出去的危险。
图3所示的方案中,另外增加了Cache硬件控制器,这和目前的主流Cache控制器设计存在兼容性的问题,另外,需要根据特定应用来实际统计Cache使用情况,这增加了附加操作,不能灵活加以使用,并且其需要根据特定应用产生特定的分类信息,本质上还属于静态控制的范畴,另外,由于该方案是硬件设计,对特定的硬件平台(例如:ARM)有比较大的依赖性,不方便向其他平台移植和扩展。
发明内容
本发明的主要目的在于提供一种Cache存取的控制方案,以至少解决上述的相关技术中不能灵活进行Cache存取的动态控制的问题。
根据本发明的一个方面,提供了一种Cache存取的控制方法,包括:处理器获取执行周期中的关键指令和/或数据;在执行周期中,处理器将指令和/或数据存储到Cache中,并锁定指令和/或数据。
根据本发明的另一方面,提供了一种Cache存取的控制装置,包括:获取模块,用于获取执行周期中的关键指令和/或数据;存储模块,用于在执行周期中将指令和/或数据存储到Cache中;锁定模块,用于锁定指令和/或数据。
通过本发明,采用在执行周期内,使用软件的方式动态地将常用的指令和数据存储到Cache中,并锁定存储的指令和数据的方式,解决了相关技术中不能灵活进行Cache存取的动态控制的问题,进而达到了动态Cache存取的灵活控制的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的普通Cache控制方式的示意图;
图2是根据相关技术的Cache段方式的示意图;
图3是根据相关技术的硬件Cache控制器方式进行Cache控制的示意图;
图4是根据本发明实施例的Cache存取的控制方法的流程图;
图5是根据本发明实施例的软件动态Cache控制方式的示意图;
图6是根据本发明实施例的Cache RAM动态变化情况的示意图;
图7是根据本发明实施例三的硬件系统的示意图;
图8是根据本发明实施例的清lock标志流程图;
图9是根据本发明实施例的写Cache tag RAM的流程图;
图10是根据本发明实施例的写Cache RAM流程图;
图11是根据本发明实施例的Cache存取的控制装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
本发明实施例提供了一种Cache存取的控制方法,图4是根据本发明实施例的Cache存取的控制方法的流程图,如图4所示,该方法包括:
步骤S402,处理器获取执行周期中常用的指令和/或数据;
步骤S404,在执行周期中,处理器将该指令和/或数据存储到Cache中,并锁定该指令和/或数据。
本实施例中,在执行周期内,使用软件的方式动态地将常用的指令和数据存储到Cache中,并锁定存储的指令和数据,从而实现了动态Cache存取的灵活控制。其中,常用的指令和数据即为在该执行周期下经常需要读写的指令和数据。需要说明的是,上述处理器可以是CPU或数字信号处理器(Digital Signal Processor,简称为DSP)等器件。
在本发明实施例的一个优选实现方式中,步骤S404可以包括:处理器将指令存储到Cache的指令缓存(I-Cache)标签(TAG)RAM中和I-Cache RAM中,并锁定Cache中存储该指令的区域;和/或处理器将数据存储到Cache的数据缓存(D-Cache)TAG RAM和数据缓存随机接入存储器D-Cache RAM中,并锁定Cache中存储该数据的区域。
在本发明实施例的另一个优选实现方式中,锁定指令和/或数据可以包括:处理器指示该Cache对应的Cache控制器锁定上述指令和/或数据。
其中,该Cache控制器支持行锁定或支持路锁定。
当缓存控制器支持行锁定时,处理器指示Cache对应的缓存控制器锁定指令和/或数据可以包括:处理器指示缓存控制器锁定Cache中存储指令和/或数据的行;当缓存控制器支持路锁定时,处理器指示Cache对应的缓存控制器锁定指令和/或数据可以包括:处理器指示缓存控制器锁定Cache中存储指令和/或数据的路。
在本发明实施例的另一个优选实现方式中,在上述执行周期结束之后,可以释放Cache中的指令和/或数据。
实施例二
相对于相关技术中目前Cache段控制的方法和现状,本实施例提出了一种新的简单易行的动态Cache控制的软件实现方法,该方法在大部分情况下并不需要修改原有的Cache硬件,也不需要增加另外的Cache控制器,并且也不依赖于具体的CPU,该方法基本符合和遵循目前的Cache控制器的主流设计,实际操作较为简单。
本实施例采用软件实现,没有增加其他的硬件设备,另外,本实施例还采用动态控制方式,这样可以最大限度地发挥Cache的利用率,从而克服了图2所示的静态控制方式的缺点。并且,本实施例没有采用图3中的硬件实现,而是采用软件方式找到某一特定应用的关键算法和函数,从而避免了增加硬件的成本。
在本实施例中,将经常需要读写的指令和数据动态地放置到Cache中,使其可以在特定的执行周期下保留在Cache中而不被置换,进而提高了系统的执行效率。下面对本实施例的实现过程进行说明。
图5是根据本发明实施例的软件动态Cache控制方式的示意图,图6是根据本发明实施例的Cache RAM动态变化情况的示意图。第1执行周期中,将该周期需要频繁读写的指令和数据存放到Cache中并锁定该数据,在第2个执行周期中,第1执行周期中放置在Cache中并被锁定的程序段/数据段可能已经不需要经常读写,此时可以释放Cache中被锁定数据和指令,并由程序动态地将第2周期下频繁读写的指令和数据内容放置在Cache中以提高该程序执行周期的执行效率,后续周期的操作方式与此类似。采用上述方式,需要锁定的数据大小根据实际应用自由配置,而其他Cache空间中的内容则不受影响。当没有任何锁定数据时,Cache控制器和普通应用完全相同,当全部Cache RAM都被锁定后,则此时Cache可以当作紧密式耦合内存(Tightly Coupled Memory,简称为TCM)使用。由于本实施例采用的是动态配置,因此,不会造成使用空间上的浪费。
实施例三
图7是根据本发明实施例三的硬件系统的示意图,如图7所示,CPU可以直接控制Cache中的数据,使其真正达到软件可控的目的。在本发明实施例中,需要现有的硬件具有以下功能:Cache控制器能够支持行锁定、路锁定或者其他锁定功能,优选地,Cache控制器能够支持行锁定,因为其他锁定的方式下,锁定的数据或指令的空间颗粒度较大,可能会导致Cache利用率下降;Cache tag(TAG)RAM和Cache RAM能够直接读写。
本实施例的Cache存取的控制方法的实现步骤包括:
步骤101:准备相应算法中需要加速的指令和数据段空间,如果有多个算法,则需要划分程序执行周期,定义每个执行周期中需要加速的指令和数据段空间(该步骤可以采用算法静态研究或者统计某函数被实际加载和执行的次数来完成)。
步骤102:修改原执行程序,在每个程序执行周期前增加步骤103-107。
步骤103:关闭I-Cache和D-Cache。
步骤104:释放原Cache tag RAM中所有被lock行,将其有效(valid)标志设为无效,锁定(lock)标志设为无效。
步骤105:根据当前Cache配置(例如,路数、集(Set)大小、Cache行(Line)大小、Cache置换策略等),将需要加速的指令段从当前指令空间读出并写入I-Cache tag RAM(对应地址)以及I-Cache RAM(对应内容)中,并将相应行lock标志设为有效。将valid标志也设为有效。
步骤106:根据当前Cache配置(例如,路数、Set大小、Cacheline大小、Cache置换策略等),将需要加速的数据段从当前数据空间读出并写入D-Cache tag RAM(对应地址)以及D-Cache RAM(对应内容)中,并将相应行lock标志设为有效。将valid标志也设为有效。
需要说明的是,步骤105和步骤106的顺序可以置换,步骤105和步骤106也可以仅采用其中的一个步骤,然后就进行到步骤107。
步骤107:使能I-Cache和D-Cache。
步骤108:执行相应算法或程序。
步骤109:重复步骤103至步骤108,直到所有算法都执行完成。
上述步骤中,步骤104至步骤106相对于现有技术是进行了改进和创新的,步骤101中的算法对应执行周期的划分也是创新的。
由于数据Cache和指令Cache的处理方式基本相同,因此,下面仅以数据Cache为例说明一下步骤104和步骤106的详细实现细节。该示例只针对特定Cache配置下的操作步骤(例如,选择多路组相联模式,选择最近最少用(Least Recently Used,简称为LRU)替换策略,每个Cache Line中的基本单位为32bit地址等),在实际使用时,可以以实际的Cache硬件配置为准来选择合适的操作步骤。
步骤104包括清除掉所有被lock的tag RAM数据,需要说明的是,在实际使用时,可以使用Cache的FLUSH(清除)动作由硬件来完成清除Cache tag RAM或者在找到没有lock的地址时就自动停止。图8是根据本发明实施例的清lock标志流程图,如图8所示,该流程包括:
步骤801,地址addr=0。
步骤802,读取该地址Cache tag RAM数据。
步骤803,该地址是否有效,即,valid=1,以及是否已经锁定,即,Lock=1,如果均为是,则进行步骤804,否则,进行步骤805;
步骤804,清除Lock位和valid位。
步骤805,addr+=1。
步骤806,当前地址是否已经为标签大小,即,判断addr=tag_RAMSIZE是否成立,如果是,则流程结束,否则,返回步骤802。
步骤106可以包括以下步骤106_1和步骤106_2。
步骤106_1:在D-Cache tag RAM中建立需加速的数据段。
图9是根据本发明实施例的写Cache tag RAM的流程图,如图9所示,该流程包括:
步骤901,地址为数据开始,addr=DATA_START。
步骤902,Cache中的行为0,line=0。
步骤903,Cache中的路为0,way=0。
步骤904,产生addr地址对应的tag地址数据,并设lock标志为1,valid标志为1。即,data=tag_data(addr,1,1)。
步骤905,将数据(data)写到当前line和way对应的Cache tagRAM中。
步骤906,addr+=cache_line_size。
步骤907,判断地址addr是否小于数据末端,即判断addr<DATA_END是否成立,如果是,则进行步骤908,否则,流程结束。
步骤908,way+=1。
步骤909,判断当前路way是否大于或等于最大路值,即,判断way>=MAX_WAY是否成立,如果是,则进行步骤910,否则,返回步骤904。
步骤910,line+=1。
步骤911,判断当前行line是否大于或等于最大行值,即,判断line>=MAX_LINE是否成立,如果是,则流程结束,否则,返回步骤903。
步骤106_2:在D-Cache RAM中建立需加速数据段。
图10是根据本发明实施例的写Cache RAM流程图,如图10所示,该流程包括:
步骤1001,地址为数据开始,addr=DATA_START。
步骤1002,Cache中的行为0,line=0。
步骤1003,Cache中的路为0,way=0。
步骤1004,读出addr地址对应的长度为cache_line_size的全部数据并存入d_data[]数组中。
步骤1005,将d_data[]数组的全部内容写到当前line和way对应的Cache RAM中。
步骤1006,addr+=cache_line_size。
步骤1007,判断地址addr是否小于数据末端,即判断addr<DATA_END是否成立,如果是,则进行步骤1008,否则,流程结束。
步骤1008,way+=1。
步骤1009,判断当前路way是否大于或等于最大路值,即,判断way>=MAX_WAY是否成立,如果是,则进行步骤1010,否则,返回步骤1004。
步骤1010,line+=1。
步骤1011,判断当前行line是否大于或等于最大行值,即,判断line>=MAX_LINE是否成立,如果是,则流程结束,否则,返回步骤1003。
需要说明的是,上述实例仅是对本发明实施例所述方法的示例性的说明,根据这些例子,本领域技术人员很容易想到在本发明的思想下对其进行修改和扩充。例如,针对不同的Cache置换策略或者不同的组策略来修改程序流程,本发明实施例主要是提供动态控制Cache的思路和方法,该思想和方法并不局限于上面实施例,还应包含其他类似的符合动态Cache控制思路的用例。
实施例四
本发明实施例还提供了一种Cache存取的控制装置,该装置可以用于实现上述方法,并且,该装置可以用于CPU或DSP等处理器中。
图11是根据本发明实施例的Cache存取的控制装置的结构框图,如图11所示,该装置包括:获取模块1102,用于获取执行周期中常用的指令和/或数据;存储模块1104,耦合至获取模块1102,用于在执行周期中将指令和/或数据存储到Cache中;锁定模块1106,耦合至存储模块1104,用于锁定指令和/或数据。
在本发明实施例的一个优选实例中,存储模块1104用于将指令存储到Cache的指令缓存标签随机接入存储器I-Cache TAG RAM和指令缓存随机接入存储器I-Cache RAM中,锁定模块1106用于锁定Cache中存储指令的区域;和/或存储模块1104用于将数据存储到Cache的数据缓存标签随机接入存储器D-Cache TAG RAM和数据缓存随机接入存储器D-Cache RAM中,锁定模块1106用于锁定Cache中存储数据的区域。
其中,锁定模块1106用于指示Cache对应的缓存控制器锁定指令和/或数据。
在本发明实施例的另一个优选实例中,缓存控制器支持行锁定或支持路锁定,当缓存控制器支持行锁定时,锁定模块1106用于指示缓存控制器锁定Cache中存储指令和/或数据的行;当缓存控制器支持路锁定时,锁定模块1106用于指示缓存控制器锁定Cache中存储指令和/或数据的路。
综上所述,本发明实施例在执行周期内,使用软件的方式动态地将常用的指令和数据存储到Cache中,并锁定存储的指令和数据,从而达到了动态Cache存取的灵活控制的效果。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种缓存Cache存取的控制方法,其特征在于,包括:
处理器获取执行周期中的关键指令和/或数据;
在所述执行周期中,所述处理器将所述指令和/或所述数据存储到Cache中,并锁定所述指令和/或所述数据。
2.根据权利要求1所述的方法,其特征在于,所述处理器将所述指令和/或所述数据存储到Cache中,并锁定所述指令和/或所述数据包括:
所述处理器将所述指令存储到所述Cache的指令缓存标签随机接入存储器I-Cache TAG RAM和指令缓存随机接入存储器I-Cache RAM中,并锁定所述Cache中存储所述指令的区域;和/或
所述处理器将所述数据存储到所述Cache的数据缓存标签随机接入存储器D-Cache TAG RAM和数据缓存随机接入存储器D-Cache RAM中,并锁定所述Cache中存储所述数据的区域。
3.根据权利要求1所述的方法,其特征在于,锁定所述指令和/或所述数据包括:
所述处理器指示所述Cache对应的缓存控制器锁定所述指令和/或所述数据。
4.根据权利要求3所述的方法,其特征在于,所述缓存控制器支持行锁定或支持路锁定。
5.根据权利要求4所述的方法,其特征在于,所述处理器指示所述Cache对应的缓存控制器锁定所述指令和/或所述数据包括:
所述处理器指示所述缓存控制器锁定所述Cache中存储所述指令和/或所述数据的行;或者所述处理器指示所述缓存控制器锁定所述Cache中存储所述指令和/或所述数据的路。
6.根据权利要求1至5中任一项所述的方法,其特征在于,
在所述执行周期结束之后,释放所述Cache中的所述指令和/或所述数据。
7.一种缓存Cache存取的控制装置,其特征在于,包括:
获取模块,用于获取执行周期中的关键指令和/或数据;
存储模块,用于在所述执行周期中将所述指令和/或所述数据存储到Cache中;
锁定模块,用于锁定所述指令和/或所述数据。
8.根据权利要求7所述的装置,其特征在于,
所述存储模块用于将所述指令存储到所述Cache的指令缓存标签随机接入存储器I-Cache TAG RAM和指令缓存随机接入存储器I-Cache RAM中,所述锁定模块用于锁定所述Cache中存储所述指令的区域;和/或
所述存储模块用于将所述数据存储到所述Cache的数据缓存标签随机接入存储器D-Cache TAG RAM和数据缓存随机接入存储器D-Cache RAM中,所述锁定模块用于锁定所述Cache中存储所述数据的区域。
9.根据权利要求7所述的装置,其特征在于,所述锁定模块用于指示所述Cache对应的缓存控制器锁定所述指令和/或所述数据。
10.根据权利要求9所述的装置,其特征在于,所述缓存控制器支持行锁定或支持路锁定,
所述锁定模块用于指示所述缓存控制器锁定所述Cache中存储所述指令和/或所述数据的行;或者所述锁定模块用于指示所述缓存控制器锁定所述Cache中存储所述指令和/或所述数据的路。
CN2010105841344A 2010-12-10 2010-12-10 Cache存取的控制方法及装置 Pending CN102567220A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2010105841344A CN102567220A (zh) 2010-12-10 2010-12-10 Cache存取的控制方法及装置
PCT/CN2011/072071 WO2012075753A1 (zh) 2010-12-10 2011-03-23 Cache存取的控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105841344A CN102567220A (zh) 2010-12-10 2010-12-10 Cache存取的控制方法及装置

Publications (1)

Publication Number Publication Date
CN102567220A true CN102567220A (zh) 2012-07-11

Family

ID=46206572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105841344A Pending CN102567220A (zh) 2010-12-10 2010-12-10 Cache存取的控制方法及装置

Country Status (2)

Country Link
CN (1) CN102567220A (zh)
WO (1) WO2012075753A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915293A (zh) * 2012-08-30 2013-02-06 杭州晟元芯片技术有限公司 一种soc内的系统架构内的硬件资源的复用方法
CN103885892A (zh) * 2012-12-20 2014-06-25 株式会社东芝 存储器控制器
WO2017084415A1 (zh) * 2015-11-17 2017-05-26 深圳市中兴微电子技术有限公司 一种存储器切换方法、装置及计算机存储介质
CN106776367A (zh) * 2016-12-13 2017-05-31 上海高性能集成电路设计中心 基于位置对应关系的指令Cache一致性的实现方法
CN109213691A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 用于缓存管理的方法和设备
CN111090393A (zh) * 2019-11-22 2020-05-01 Oppo广东移动通信有限公司 存储数据处理方法、存储数据处理装置及电子装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281443B (zh) * 2013-07-12 2020-06-26 锐迪科(重庆)微电子科技有限公司 利用tcm实现代码、数据替换的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664149A (en) * 1992-11-13 1997-09-02 Cyrix Corporation Coherency for write-back cache in a system designed for write-through cache using an export/invalidate protocol
US7296259B2 (en) * 2002-09-11 2007-11-13 Agere Systems Inc. Processor system with cache-based software breakpoints
CN101427223A (zh) * 2005-06-01 2009-05-06 英特尔公司 用于基于关键路径的分析的性能监视体系结构的增强
CN101558393A (zh) * 2006-12-15 2009-10-14 密克罗奇普技术公司 用于微处理器的可配置高速缓冲存储器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290107B2 (en) * 2004-10-28 2007-10-30 International Business Machines Corporation Direct deposit using locking cache
US8516211B2 (en) * 2005-06-17 2013-08-20 Flexera Software Llc Secure storage management system and method
US20080147989A1 (en) * 2006-12-14 2008-06-19 Arm Limited Lockdown control of a multi-way set associative cache memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664149A (en) * 1992-11-13 1997-09-02 Cyrix Corporation Coherency for write-back cache in a system designed for write-through cache using an export/invalidate protocol
US7296259B2 (en) * 2002-09-11 2007-11-13 Agere Systems Inc. Processor system with cache-based software breakpoints
CN101427223A (zh) * 2005-06-01 2009-05-06 英特尔公司 用于基于关键路径的分析的性能监视体系结构的增强
CN101558393A (zh) * 2006-12-15 2009-10-14 密克罗奇普技术公司 用于微处理器的可配置高速缓冲存储器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘波: "面向嵌入式应用的软件可控cache实现", 《应用科学学报》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915293A (zh) * 2012-08-30 2013-02-06 杭州晟元芯片技术有限公司 一种soc内的系统架构内的硬件资源的复用方法
CN102915293B (zh) * 2012-08-30 2015-07-22 杭州晟元芯片技术有限公司 一种soc内的系统架构内的硬件资源的复用方法
CN103885892A (zh) * 2012-12-20 2014-06-25 株式会社东芝 存储器控制器
WO2017084415A1 (zh) * 2015-11-17 2017-05-26 深圳市中兴微电子技术有限公司 一种存储器切换方法、装置及计算机存储介质
CN106776367A (zh) * 2016-12-13 2017-05-31 上海高性能集成电路设计中心 基于位置对应关系的指令Cache一致性的实现方法
CN106776367B (zh) * 2016-12-13 2020-05-12 上海高性能集成电路设计中心 基于位置对应关系的指令Cache一致性的实现方法
CN109213691A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 用于缓存管理的方法和设备
CN109213691B (zh) * 2017-06-30 2023-09-01 伊姆西Ip控股有限责任公司 用于缓存管理的方法和设备
CN111090393A (zh) * 2019-11-22 2020-05-01 Oppo广东移动通信有限公司 存储数据处理方法、存储数据处理装置及电子装置

Also Published As

Publication number Publication date
WO2012075753A1 (zh) 2012-06-14

Similar Documents

Publication Publication Date Title
CN102567220A (zh) Cache存取的控制方法及装置
US9244883B2 (en) Reconfigurable processor and method of reconfiguring the same
EP2455865A1 (en) Memory management device
CN105103144A (zh) 用于存储器的自适应控制的设备及方法
CN201570016U (zh) 基于虚存机制的指令片上异构存储资源动态分配的电路
CN101777061B (zh) 一种java卡对象管理方法及java卡
CN102667714B (zh) 支持访问由操作系统环境外的资源提供的功能的方法和系统
US20070294550A1 (en) Memory Management With Defragmentation In A Computing Device
CN102841674A (zh) 基于新型存储器的嵌入式系统及其进程的休眠与唤醒方法
CN101652760B (zh) 共享缓存控制装置、共享缓存控制方法及集成电路
CN101968755A (zh) 一种自适应应用负载变化的快照生成方法
US20070055852A1 (en) Processing operation management systems and methods
KR101943312B1 (ko) 플래시 기반 가속기 및 이를 포함하는 컴퓨팅 디바이스
CN102436393B (zh) 任务处理装置
CN105718242A (zh) 多核dsp中支持软硬件数据一致性的处理方法及系统
US8966212B2 (en) Memory management method, computer system and computer readable medium
CN100365574C (zh) 一种嵌入式芯片及其程序空间扩展的方法
CN101625661B (zh) 用于闪存的数据管理方法、储存系统与控制器
CN103140834A (zh) 用于填充存储器区域的处理器支持
US8266379B2 (en) Multithreaded processor with multiple caches
CN101008923A (zh) 面向异构多核体系的分段式存储空间管理方法
CN101923486B (zh) 一种硬件事务内存系统中避免数据移动的方法
US20020049888A1 (en) Processor memory system
CN101853209B (zh) 无线传感器网络节点内存管理方法
CN108845969B (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
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20151022

Address after: Dameisha Yantian District of Shenzhen City, Guangdong province 518085 Building No. 1

Applicant after: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.

Address before: 518057 Nanshan District science and technology, Guangdong Province, South Road, No. 55, No.

Applicant before: ZTE Corporation

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120711