Cache模拟实现系统、方法、电子设备及计算机存储介质与流程

文档序号:32338501发布日期:2022-11-26 08:52阅读:73来源:国知局
Cache模拟实现系统、方法、电子设备及计算机存储介质与流程
cache模拟实现系统、方法、电子设备及计算机存储介质
技术领域
1.本技术涉及计算机缓存技术领域,具体涉及一种cache模拟实现系统、方法、电子设备及计算机存储介质。


背景技术:

2.电子计算机架构采用的是冯诺依曼架构,该架构将运算器和存储器分开,将指令和数据保存在存储器中,运算器负责数据和指令的拉取并根据指令进行计算,从而为计算机的普及奠定了基础。冯诺依曼架构为计算机的大提速铺平了道路,该架构也存在性能瓶颈:在内存容量和cpu性能指数级提升的同时,cpu和内存之间的数据带宽成为了瓶颈。缓存(cache)的提出正是为了解决该问题,它是介于cpu与内存之间的一种小容量但是速度很高的存储器。cpu的速度远高于内存,cpu从内存中拉取数据和指令需要等待一定时间,而cache可以基于数据访问局部性特性在cpu端保存热项数据,cpu访问时如果访问热项数据则可以快速返回,避免了从内存中重复存取数据,大大减少了cpu等待时间,因此大大提高了系统效率。
3.在cpu中使用cache技术外,cache还用于交换机、路由器、图形处理器(graphic processing unit)、处理器分散处理单元(data processing unit,dpu)或网络处理器(neural-network processing unit,npu)中,既能够利用动态随机存取存储器(dynamic random access memory,dram)提供的大空间,又能利用cache进行低时延访问。但是,现有cache机制除匹配功能和片上数据缓存外,还需要实现复杂的缓存管理功能,如数据一致性处理、数据冷热检测功能、cache替换机制等等,这导致缓存占据了芯片上的大量面积,其根本原因在于所有这些功能都是基于数字电路设计的,片上数据的冷热判定以及基于此方式的计数统计和逻辑处理都将消耗大量晶体管。因此本发明提出一种cache模拟实现方法、装置和系统,该发明专利能够直接应用于现有dram中,通过bitmap实现冷热判断,进行cache添加和cache踢出判断
4.因此,需要一种实现cache的新的技术方案。


技术实现要素:

5.有鉴于此,本说明书实施例提供一种cache模拟实现系统、方法、电子设备及计算机存储介质,解决了cache通过数字电路的方式实现缓存管理功能时,需要占据芯片上的大量面积,以及对于数据的冷热判断的准确度低的技术问题。
6.本说明书实施例提供以下技术方案:
7.本说明书实施例提供一种cache模拟实现系统,包括:
8.在内存中的每一个数据比特对应的数据电容上添加模拟电容,模拟电容在cpu对数据电容中的数据进行读取时,对数据电容的电荷损失情况进行模拟;
9.对于所有的模拟电容维持一个标记位图、一个热项位图和一个冷项位图,并根据标记位图、热项位图和冷项位图模拟cache对数据进行管理,热项位图和冷项位图记录模拟
电容对数据电容的电荷损失情况的模拟结果,标记位图记录数据的位置。
10.优选地,每一个数据电容在每一次cpu读取对应的数据后进行充电;
11.每一个数据电容对应的模拟电容在每一次cpu读取对应数据后不进行充电,且对所有的模拟电容进行周期性充电。
12.优选地,模拟电容在cpu对数据电容中的数据进行读取时产生电荷损失,模拟电容的电压发生变化。
13.优选地,内存中的每一个数据对应热项位图和冷项位图中的一个比特位;
14.热项位图和冷项位图中的每一个比特位,在对应的模拟电容的电压小于电压阈值时标记为低位,在对应的模拟电容的电压大于或者等于电压阈值时,标记为高位;
15.热项位图中的每一个比特位标记为高位时,对应的数据存储在内存中,热项位图中的每一个比特位标记为低位时,将对应的数据存储到cpu中的缓存中;
16.冷项位图中的每一个比特位标记为高位时,将对应的数据踢出cpu中的缓存,热项位图中的每一个比特位标记为低位时,对应的数据存储在cpu中的缓存中。
17.优选地,内存中的每一个数据对应标记位图中的一个比特位;
18.标记位图中的每一个比特位,在对应的数据存储在cpu中的缓存中时,标记为高位,在对应的数据存储在内存中时标记为低位。
19.优选地,在cpu访问内存中的数据时,若数据对应的热项位图中的比特位标记为低位,则将数据存储到cpu的缓存中,若数据对应的热项位图中的比特位标记为高位,则将数据返回到cpu上使用,不在cpu的缓存中进行存储。
20.优选地,将数据存储到cpu的缓存中时,若缓存中的数据数量等于数据容量,则将冷项位图中标记为高位,且标记位图中标记为高位的比特位对应的数据从缓存中踢出后,将需要存储的数据存储到缓存中,若缓存中的数据数量小于数据容量,则将数据直接存储在缓存中。
21.本说明书实施例还提供一种cache模拟实现方法,应用于上述的cache模拟实现系统,包括:在内存中的每一个数据比特对应的数据电容上添加模拟电容,对于所有的模拟电容在内存中维持一个标记位图、一个热项位图和一个冷项位图;
22.步骤1:根据每一个模拟电容的电压值,对标记位图、热项位图和冷项位图中对应的比特位进行标记,得到第一标记值;
23.步骤2:根据第一标记值,对内存中的数据进行管理。
24.优选地,步骤1,包括:
25.步骤101:对所有的模拟电容进行初始化充电,则热项位图和冷项位图中所有的比特位,标记为高位值;
26.步骤102:对数据进行数据读取,并在数据读取后不对模拟电容进行充电,获取每一个模拟电容的电压值;
27.步骤103:若电压值大于或者等于电压阈值,则将热项位图和冷项位图中对应的比特位标记为高位值;
28.步骤104:若电压值小于电压阈值,则将热项位图和冷项位图中对应的比特位标记为低位值;
29.步骤105:周期性遍历热项位图和冷项位图中的比特位,得到热项位图和冷项位图
对应的第一标记值。
30.优选地,在步骤105后,还包括:
31.步骤106:对所有的模拟电容进行周期性充电,则热项位图和冷项位图中所有的比特位周期性的标记为高位值。
32.优选地,热项位图中的每一个比特位标记为高位值时,对应的数据存储在内存中,热项位图中的每一个比特位标记为低位值时,将对应的数据存储到cpu中的缓存中;
33.冷项位图中的每一个比特位标记为高位值时,将对应的数据踢出cpu中的缓存,热项位图中的每一个比特位标记为低位值时,对应的数据存储在cpu中的缓存中。
34.优选地,标记位图中的每一个比特位,在对应的数据存储在cpu中的缓存中时,标记为高位值,在对应的数据存储在内存中时标记为低位值,周期性遍历标记位图中的比特位,得到标记位图对应的第一标记值。
35.优选地,在周期性遍历热项位图中的每一个比特位时,记录热项位图中标记为低位值的比特位的第一数量;
36.若第一数量大于热项数量阈值,则增加周期性充电的充电频率;
37.若第一数量小于热项数量阈值,则降低周期性充电的充电频率。
38.优选地,在周期性遍历冷项位图和标记位图中的每一个比特位时,记录冷项位图中标记为高位值,且标记位图中标记为高位值的比特位的第二数量;
39.若第二数量大于冷项数量阈值,则降低周期性充电的充电频率;
40.若第二数量小于冷项数量阈值,则增加周期性充电的充电频率。
41.优选地,步骤2,包括:
42.步骤201:当cpu访问内存中的数据时,若热项位图中数据对应的比特位的第一标记值为低位值,则将数据返回cpu中使用,并将数据添加到缓存中;
43.步骤202:若热项位图中数据对应的比特位的第一标记值为高位值,则将数据返回cpu中使用,且不将数据添加到缓存中。
44.优选地,步骤201中,在将数据添加到缓存中时,若缓存中的数据数量等于数据容量,将冷项位图中标记为高位值,且标记位图中标记为高位值的比特位对应的数据从缓存中踢出,将需要存储的数据存储到缓存中,若缓存中的数据数量小于数据容量,则将数据直接存储在缓存中。
45.本说明书实施例还提供一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的cache模拟实现方法。
46.本说明书实施例还提供一种计算机存储介质,计算机存储介质存储有计算机可执行指令,计算机可执行指令被处理器执行时执行上述的cache模拟实现方法。
47.与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:将cache的数据统计从芯片内移至芯片外统计,统计空间大,可以节省片上静态随机存取存储器(static random-access memory,sram)的空间,同时提高数据的冷热判断精度;通过cache的模拟实现,可以进一步减少存储空间;通过电容充放电过程实现cache数据的冷热判定,首次用模拟方法判定模拟数据冷热,准确性更高,因此缓存效率更高,cache命中率更高;简化了cache处理流程,降低了cache实现复杂度,与内存计算
processing unit)、处理器分散处理单元(data processing unit,dpu)或网络处理器(neural-network processing unit,npu)中,既能够利用动态随机存取存储器(dynamic random access memory,dram)提供的大空间,又能利用cache进行低时延访问。
60.有鉴于此,发明人通过对各类网站、网页结构及其页面信息,以及对各种提取方案进行深入研究及改进探索,发现:cache机制除匹配功能和片上数据缓存外,还需要实现复杂的缓存管理功能,如数据一致性处理、数据冷热检测功能、cache替换机制等等,这导致缓存占据了芯片上的大量面积,其根本原因在于所有这些功能都是基于数字电路设计的,片上数据的冷热判定以及基于此方式的计数统计和逻辑处理都将消耗大量晶体管。
61.基于此,本说明书实施例提出了一种处理方案:将cache的数据管理功能从芯片内移到芯片外的动态随机存取存储器(dynamic random access memory,dram)中,在不对dram产生影响的基础上,通过最小量的数字电路模拟实现cache的数据管理功能,减少了芯片上sram的空间,提高书的冷热判定的精度。
62.以下结合附图,说明本技术各实施例提供的技术方案。
63.本技术利用dram上电容的充放电过程模拟实现cache冷热检测,由于采用模拟实现方法,所以比特使用极少、逻辑简化,相比于传统数字电路实现方案,片上缓存面积更小、功耗更低、性能更好。
64.如图1所示,dram中的一个存储单元电路,包括:字线、位线、电容(capacitor)和晶体管(transistor),其中晶体管可以为金属-氧化物半导体场效应晶体管(metal-oxide-semiconductor field-effect transistor,mosfet),存储数据在电容之中,电容中有电荷则为1,没电荷则为0。当字线为高时,mosfet导通,若电容中有电荷,则会在位线上产生电流,否则无电流。因为采用电容存储信息,电容存在漏电流现象,当长时间放置电容,电容上的电荷随着时间会逐渐丢失,存储的数据会从1变为0。如图2所示,横轴为时间(time),纵轴为电容两端的电压,dram的一个存储单元中的数据是否为0或者为1,是根据存储单元中电容的电荷量来决定的,当存在电荷时,示例性的,若电容的电压大于时,则电容的数据为1,其中vd为存储单元电路充满电后电容两端的电压,若电容的电压小于或者等于时,则电容的数据为0。为实现数据的准确读取,所以必须配合周期性地刷新存储单元的电路来维持电容的电荷,同时,如图3所示,横轴为时间(time),纵轴为电容两端的电压,在读取(read)数据时造成对应的电容中的电荷损失后,为避免下次读取出错,需要对存储单元进行充电(charge),如图3所示,在每次读取数据后,对存储单元进行充电,使电容的数据恢复为1。
65.本说明书实施例提供一种cache模拟实现系统,包括:在内存中的每一个数据比特对应的数据电容上添加模拟电容,模拟电容在cpu对数据电容中的数据进行读取时,对数据电容的电荷损失情况进行模拟。
66.具体地,本技术在物理上不改变现有内存设计,在逻辑上在数据电容上添加模拟电容。
67.本技术中对于内存的类型不做限制,示例性的,可以为dram。
68.具体地,如图1所示,在dram中数据的存储方式为对于一个数据比特相应的有一个数据电容进行数据存储,本技术在dram的技术基础上,在每个数据电容上添加一个模拟电
容,模拟电容不存储数据,存储数据电容的读取情况。与图1中电容相同,在cpu对数据电容进行读取时,也会对模拟电容进行读取,每次读取会造成模拟电容的电荷损失,每一个数据电容在每一次cpu读取对应的数据后进行充电,但是,每一个数据电容对应的模拟电容在每一次cpu读取对应数据后不进行充电,进而可以获取模拟电容的电荷损失情况,根据电荷损失情况确定对应的数据是否被cpu频繁访问。
69.可知的是,模拟电容在cpu对数据电容中的数据进行读取时产生电荷损失,模拟电容的电压发生变化。如图4所示,横轴为时间(time),纵轴为电容两端的电压,当某一个数据电容被cpu访问时,对应的模拟电容也被读取,且每次读取后不对模拟电容进行充电,进而随着数据电容被访问的次数增多,模拟电容的电压逐渐降低,当电压低于时,则模拟电容的数据由1变为0,则可以表述对应的数据电容被cpu频繁访问。
70.在dram中由于长时间放置数据电容时,数据电容上的电荷随着时间会逐渐丢失,存储的数据会从1变为0,会出现数据错误的情况,为了避免数据出错,dram会对所有的存储单元进行周期性充电,以使数据电容的数据恢复为1,相应的,对所有的模拟电容也进行周期性充电,以避免模拟电容的模拟结果出错。
71.在本技术中数据电容和模拟电容周期性充电的充电频率可以相同也可以不同,根据具体的情况进行选择。
72.进一步地,对于所有的模拟电容维持一个标记位图、一个热项位图和一个冷项位图,并根据标记位图、热项位图和冷项位图模拟cache对数据进行管理。
73.其中,热项位图和冷项位图记录模拟电容对数据电容的电荷损失情况的模拟结果,标记位图记录数据的位置。
74.具体地,本技术中包括3个位图(bitmap),分别为标记位图(flag bitmap)、热项位图(hot bitmap)和冷项位图(cold bitmap),内存中的每一个数据对应标记位图、热项位图和冷项位图中的一个比特位,热项位图和冷项位图中的每一个比特位,在对应的模拟电容的电压小于电压阈值时标记为低位,在对应的模拟电容的电压大于或者等于电压阈值时,标记为高位;标记位图中的每一个比特位,在对应的数据存储在cpu中的缓存中时,标记为高位,在对应的数据存储在内存中时标记为低位。
75.其中,高位可以为1,低位可以为0,不做限制。
76.在一种可选的实施方式中,标记位图中的每一个比特位,可以在对应的数据存储在cpu中的缓存中时,标记为低位,在对应的数据存储在内存中时标记为高位,本技术中对于具体的标记方式不做限制,本技术实施中以标记位图中的每一个比特位,在对应的数据存储在cpu中的缓存中时,标记为高位,在对应的数据存储在内存中时标记为低位为例进行说明。
77.进一步地,热项位图中的每一个比特位标记为高位时,对应的数据存储在内存中,热项位图中的每一个比特位标记为低位时,将对应的数据存储到cpu中的缓存中;冷项位图中的每一个比特位标记为高位时,将对应的数据踢出cpu中的缓存,热项位图中的每一个比特位标记为低位时,对应的数据存储在cpu中的缓存中。
78.在实际应用中,flag bitmap是cache缓存数据标记位,hot bitmap是数据热项标记位,cold bitmap是数据冷项标记位,热项数据表示对应的数据被cpu频繁访问,冷项数据
表示对应的数据并未被cpu进行频繁访问。对于频繁访问的数据需要添加到缓存中,以使数据被cpu再次访问时可以快速的返回,对于非频繁访问的数据,因为缓存的存储空间有限,则不需要添加到缓存中。flag bitmap:当数据存储在缓存中时,则对应的比特位标记为1;否则标记为0。hot bitmap:当比特位标记为0时,表示对应的数据为热项数据,被认定需添加到芯片上的缓存中;当标记为1时,表示对应的数据为非热项数据,对应的数据在dram中保持不变。cold bitmap:当比特位标记为0时,表示该数据在芯片上被频繁访问,数据在芯片上的缓存中保持不变;当该数据为1时,表示该数据在片上非频繁访问,数据可以从片上缓存中踢出。
79.其中,片上缓存可以为sram。
80.本技术通过dram逻辑芯片(dram logic)来控制hot bitmap和cold bitmap的充放电过程,访问次数导致模拟电容的漏电,并基于漏电后的电容电荷判定数据冷热。本技术中对于hot bitmap和cold bitmap只采用周期性充电,不采用读充电处理,采用模拟实现方法。对于数据和flag bitmap则按照传统dram方法进行数据存储。
81.下面对于hot bitmap、coldbitmap和flag bitmap的情况进行说明。
82.对于hot bitmap。
83.所有dram数据共同维持一个hot bitmap,数据初始化为1,即该bitmap所有模拟电容进行初始化充电。所有数据读取,无论片上sram还是片外dram,都将对hot bitmap对应的比特位进行读取;数据读取完成后不执行充电过程;背景线程,即pim或cpu线程,对所有hot bitmap进行周期性遍历,数据读取为0认为该数据为热项数据,否则认为该数据为非热项数据。并且记录数据为0的总个数(a)。周期性对hot bitmap进行初始化置1,然后重复执行上述操作。维持一个寄存器,设置热度数据个数(m1)。当a《m1时,降低周期性初始化频率;当a》m1时,增加周期性初始化频率;目的是让a=m1。
84.对于flag bitmap。
85.当数据在片上sram的缓存空间时,flag bitmap对应的比特位为1;当数据不在片上sram的缓存空间时,flag bitmap对应的比特位为0。
86.对于cold bitmap。
87.所有dram数据都维持cold bitmap,数据初始化为1,即所有bitmap中电容进行初始化充电。所有数据读取,无论片上sram还是片外dram,都将对cold bitmap对应的比特位进行读取;数据读取完成后不执行充电过程;背景线程,即pim或cpu线程,对所有cold bitmap进行周期性遍历,数据读取为1认为该数据为冷项数据,否则认为该数据为非冷项数据。cold bitmap对应比特位为1且flag bitmap对应比特位为1的个数为b;周期性进行对cold bitmap初始化置1,重复执行以上操作。维持一个寄存器,代表冷项数据个数(m2)。当b《m2时,增加周期性初始化频率;当b》m2时,降低周期性初始化频率;目的是让b=m2。
88.下面对于根据标记位图、热项位图和冷项位图模拟cache对数据进行管理的情况进行说明。
89.具体地,在cpu访问内存中的数据时,若数据对应的热项位图中的比特位标记为低位,则将数据存储到cpu的缓存中,若数据对应的热项位图中的比特位标记为高位,则将数据返回到cpu上使用,不在cpu的缓存中进行存储。
90.在本技术中将数据存储到cpu的缓存中时,若缓存中的数据数量等于数据容量,则
将冷项位图中标记为高位,且标记位图中标记为高位的比特位对应的数据从缓存中踢出后,将需要存储的数据存储到缓存中,若缓存中的数据数量小于数据容量,则将数据直接存储在缓存中。
91.在实际应用中,当访问片外dram时,当hot bitmap上的某一个比特位为0时,对应的数据返回片上cpu进行使用,并且被添加至片上sram缓存空间;当hot bitmap上的某一个比特位为1时,将对应的数据仅返回片上cpu进行使用,但是不添加至片上sram缓存空间。当访问片外dram并判定需添加到片内sram时,缓存被踢出项从cold bitmap为1的数据且flag bitmap为1的数据中选择,该数据存在多个,选择方法是采用轮询或随机选择一个踢出。当缓存数据不满时,只进行数据添加,不进行踢出。
92.下面提供两个具体的实施例。
93.实施例1
94.本实施例通过3个bitmap,flag bitmap、hot bitmap和cold bitmap进行冷热判定,可以用于任何采用冷热判断的场景中。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式的整体和/或部分内容可以作为本实施例的补充。
95.具体地,flag bitmap表明数据是否存在片上缓存空间,1为在cache中;0为不在cache中。hot bitmap表明该数据为热项数据,0为应该添加到cache中,1为不应该添加到cache中。cold bitmap表明该数据为冷项数据,1为应该从cache中踢出,0应该保留在cache中。对所有读数据,都将读取hot bitmap和cold bitmap,并对相应比特位的模拟电容进行放电操作。对于flag bitmap为0且hot bitmap为0的读请求,执行cache添加操作,操作完成后flag bitmap和cold bitmap对应比特位设为1;对于flag bitmap为1且cold bitmap为1的数据,则可以进行从cache中踢出,当踢出完成后flag bitmap置0。
96.实施例2
97.本实施例为实现极小面积进行冷热判定,通过2个bitmap,flag bitmap和hot&cold bitmap,即可进行冷热判定,可以用任何采用冷热判断的场景中。在不造成冲突或者矛盾的情况下,其他实施例的优选实施方式的整体和/或部分内容可以作为本实施例的补充。
98.具体地,flag bitmap表明是否存在片上缓存空间,1为在cache中;0为不在cache中;hot&cold bitmap表明该数据访问频率,0表示该数据被频繁访问,模拟电容漏电严重,代表为热项数据;1表项该数据对应的模拟电容放电较少,数据访问比较少,代表为冷项数据;对所有读数据,都将读取hot&cold bitmap,并对相应比特位的模拟电容进行放电操作;对于flag bitmap为0且hot&cold bitmap为0的读请求,执行cache添加操作,操作完成后flag bitmap和cold&cold bitmap对应比特位设为1;对于flag bitmap为1且hot&cold bitmap为1的数据,则可以进行踢出,当踢出完成后flag bitmap置0。
99.本技术利用dram上电容充放电过程模拟实现cache冷热检测,由于采用模拟实现方法,所以比特使用极少、逻辑简化,相比于传统数字电路实现方案,片上缓存面积更小、功耗更低、性能更好。
100.本说明书实施例还提供一种cache模拟实现方法,应用于上述的cache模拟实现系统,包括:在内存中的每一个数据比特对应的数据电容上添加模拟电容,对于所有的模拟电容在内存中维持一个标记位图、一个热项位图和一个冷项位图。
101.步骤1:根据每一个模拟电容的电压值,对标记位图、热项位图和冷项位图中对应的比特位进行标记,得到第一标记值。
102.在一种可选的实施方式中,步骤1,包括:步骤101:对所有的模拟电容进行初始化充电,则热项位图和冷项位图中所有的比特位,标记为高位值;步骤102:对数据进行数据读取,并在数据读取后不对模拟电容进行充电,获取每一个模拟电容的电压值;步骤103:若电压值大于或者等于电压阈值,则将热项位图和冷项位图中对应的比特位标记为高位值;步骤104:若电压值小于电压阈值,则将热项位图和冷项位图中对应的比特位标记为低位值;步骤105:周期性遍历热项位图和冷项位图中的比特位,得到热项位图和冷项位图对应的第一标记值。
103.其中,高位值可以为1,低位值可以为0,不做限制。
104.进一步地,在步骤105后,还包括:步骤106:对所有的模拟电容进行周期性充电,则热项位图和冷项位图中所有的比特位周期性的标记为高位值。
105.其中,热项位图中的每一个比特位标记为高位值时,对应的数据存储在内存中,热项位图中的每一个比特位标记为低位值时,将对应的数据存储到cpu中的缓存中;冷项位图中的每一个比特位标记为高位值时,将对应的数据踢出cpu中的缓存,热项位图中的每一个比特位标记为低位值时,对应的数据存储在cpu中的缓存中。
106.并且,标记位图中的每一个比特位,在对应的数据存储在cpu中的缓存中时,标记为高位值,在对应的数据存储在内存中时标记为低位值,周期性遍历标记位图中的比特位,得到标记位图对应的第一标记值。
107.在一种可选的实施方式中,标记位图中的每一个比特位,可以在对应的数据存储在cpu中的缓存中时,标记为低位值,在对应的数据存储在内存中时标记为高位值等,本技术中对于具体的标记方式不做限制,本技术实施中以标记位图中的每一个比特位,在对应的数据存储在cpu中的缓存中时,标记为高位值,在对应的数据存储在内存中时标记为低位值为例进行说明。
108.进一步地,在周期性遍历热项位图中的每一个比特位时,记录热项位图中标记为低位值的比特位的第一数量;若第一数量大于热项数量阈值,则增加周期性充电的充电频率;若第一数量小于热项数量阈值,则降低周期性充电的充电频率。
109.更进一步地,在周期性遍历冷项位图和标记位图中的每一个比特位时,记录冷项位图中标记为高位值,且标记位图中标记为高位值的比特位的第二数量;若第二数量大于冷项数量阈值,则降低周期性充电的充电频率;若第二数量小于冷项数量阈值,则增加周期性充电的充电频率。
110.步骤2:根据第一标记值,对内存中的数据进行管理。
111.在一种可选的实施方式中,步骤2,包括:步骤201:当cpu访问内存中的数据时,若热项位图中数据对应的比特位的第一标记值为低位值,则将数据返回cpu中使用,并将数据添加到缓存中;步骤202:若热项位图中数据对应的比特位的第一标记值为高位值,则将数据返回cpu中使用,且不将数据添加到缓存中。
112.具体地,步骤201中,在将数据添加到缓存中时,若缓存中的数据数量等于数据容量,将冷项位图中标记为高位值,且标记位图中标记为高位值的比特位对应的数据从缓存中踢出,将需要存储的数据存储到缓存中,若缓存中的数据数量小于数据容量,则将数据直
接存储在缓存中。
113.本说明书实施例中还提供一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的cache模拟实现方法。
114.本说明书实施例还提供一种计算机存储介质,计算机存储介质存储有计算机可执行指令,计算机可执行指令被处理器执行时执行上述的cache模拟实现方法。
115.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例侧重说明的都是与其他实施例的不同之处。尤其,对于后面说明的产品实施例而言,由于其与方法是对应的,描述比较简单,相关之处参见系统实施例的部分说明即可。
116.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1