数据处理方法、装置、电子设备及计算机可读存储介质与流程

文档序号:32035248发布日期:2022-11-03 03:09阅读:43来源:国知局
数据处理方法、装置、电子设备及计算机可读存储介质与流程

1.本技术涉及计算机技术领域,具体而言,本技术涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.在计算机技术领域,计算机设备的缓存通常分为三级缓存,三级缓存即一级缓存l1、二级缓存l2、三级缓存l3。其中,在运行速度方面,l1最快、l2次快、l3最慢;在容量大小方面:l1容量最小、l2容量较大、l3容量最大。三级缓存共同作为cpu与主内存之间的高速数据缓冲区。
3.其中,在二级缓存中,通常会接收到多个读/写数据的数据请求。针对每个数据请求,执行数据请求的最后一个处理操作是:更新所请求的数据的数据状态,即更新缓存行(cache line)的一致性状态。其中,数据状态用于指示在数据请求执行的过程中,所请求的数据是否被修改。例如,在数据请求执行过程中,若所请求的数据被修改,那么,所请求的数据的数据状态为脏数据(dirty);若所请求的数据没有被修改,那么,所请求的数据的数据状态为干净数据(clean)。
4.现有技术中,数据状态通常存储于标记随机存取存储器(tag-ram)中,tag-ram通常只具有一个端口,通过这个端口进行读操作和写操作,这样,更新数据状态时序较长,影响cpu性能。


技术实现要素:

5.本技术的目的旨在至少能解决上述的技术缺陷之一,特别是在计算机设备的二级缓存中,更新数据状态时序较长,影响cpu性能的技术缺陷。
6.根据本技术的一个方面,提供了一种数据处理方法,该方法包括:
7.响应于数据请求,确定处理器的数据缓存中是否存在所述数据请求所请求的目标数据;
8.当所述数据缓存中存在所述目标数据,且所述目标数据满足预设的状态更新条件的情况下,更新所述目标数据的数据状态信息;
9.其中,所述数据状态信息存储于所述处理器的预先扩展的寄存器堆中;更新后的所述目标状态信息中包括第一指示信息,所述第一指示信息指示在所述数据请求的执行过程中,所述目标数据是否被修改。
10.可选的,所述确定处理器的数据缓存中是否存在所述数据请求所请求的目标数据,包括:
11.获取所述数据请求中携带的第一数据地址,以及获取所述数据缓存中数据的数据地址信息;
12.在所述数据地址信息中存在与所述第一数据地址一致的第二数据地址的情况下,确定所述数据缓存中存在所述数据请求所请求的目标数据。
13.可选的,所述数据地址信息与所述数据状态信息分别单独存储;
14.其中,所述数据地址信息存储于随机存储器中,所述数据状态信息存储于所述寄存器堆中。
15.可选的,所述方法还包括:
16.获取与所述数据地址信息中每个数据地址对应的校验信息;
17.将所述数据地址与其对应的校验信息进行校验;
18.在所述数据地址与校验信息之间满足预设数据关系的情况下,执行所述在所述数据地址信息中存在与所述第一数据地址一致的第二数据地址的情况下,确定所述数据缓存中存在所述数据请求所请求的目标数据的处理步骤。
19.可选的,所述状态更新条件包括以下至少一项:
20.所述处理器的内核中不存在所述目标数据;
21.所述处理器相连的数据总线上不存在所述目标数据;
22.不存在操作所述目标数据的冲突请求,所述冲突请求为所述数据请求以外的请求。
23.可选的,所述寄存器堆包括至少两个读/写端口。
24.根据本技术的另一个方面,提供了一种数据处理装置,该装置包括:
25.信息确定模块,用于响应于数据请求,确定处理器的数据缓存中是否存在所述数据请求所请求的目标数据;
26.信息更新模块,用于当所述数据缓存中存在所述目标数据,且所述目标数据满足预设的状态更新条件的情况下,更新所述目标数据的数据状态信息;
27.其中,所述数据状态信息存储于所述处理器的预先扩展的寄存器堆中;更新后的所述目标状态信息中包括第一指示信息,所述第一指示信息指示在所述数据请求的执行过程中,所述目标数据是否被修改。
28.根据本技术的另一个方面,提供了一种处理器,包括:
29.信息确定单元,其用于响应于数据请求,确定处理器的数据缓存中是否存在所述数据请求所请求的目标数据;
30.信息更新单元,其用于当所述数据缓存中存在所述目标数据,且所述目标数据满足预设的状态更新条件的情况下,更新所述目标数据的数据状态信息;
31.预先扩展的寄存器堆,其用于存储所述数据状态信息;
32.其中,更新后的所述目标状态信息中包括第一指示信息,所述第一指示信息指示在所述数据请求的执行过程中,所述目标数据是否被修改。
33.根据本技术的另一个方面,提供了一种电子设备,该电子设备包括:
34.一个或多个处理器;
35.存储器;
36.一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行本技术的第一方面任一项所述的数据处理方法。
37.例如,本技术的第三方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
38.存储器用于存放至少一可执行指令,可执行指令使处理器执行如本技术的第一方面所示的数据处理方法对应的操作。
39.根据本技术的再一个方面,提供了一种计算机可读存储介质,所述计算机程序被处理器执行时实现本技术的第一方面任一项所述的数据处理方法。
40.例如,本技术实施例的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本技术第一方面所示的数据处理方法。
41.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面的各种可选实现方式中提供的方法。
42.本技术提供的技术方案带来的有益效果是:
43.本技术实施例中,数据状态信息存储于预先扩展的寄存器堆中。当所述数据缓存中存在所述目标数据,并且在所述目标数据满足预设的状态更新条件的情况下,向寄存器堆中写入更新的所述目标数据的数据状态信息。这样,一方面,由于寄存器堆具有多个读端口和多个写端口,在写入更新的所述数据状态信息(即更新数据状态信息)时,无需与其他读数据的请求进行仲裁;另一方面,寄存器堆的材料特性较为稳定,材料特性稳定则存储的数据不易出现错误,从而无需在写入数据状态信息时生成相应的校验信息。因此,节省了上述仲裁及生成校验信息的时间,使得更新数据状态信息的时序较短,从而可以缩短更新数据状态信息时对目标数据所在缓存行的锁定时间,有利于其他请求可以访问缓存行,以此提升cpu性能。
附图说明
44.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
45.图1为本技术实施例提供的一种数据处理方法的流程示意图之一;
46.图2为本技术实施例提供的一种数据处理方法的流程示意图之二;
47.图3为本技术实施例提供的一种数据处理装置的结构示意图;
48.图4为本技术实施例提供的一种处理器的结构示意图;
49.图5为本技术实施例提供的一种数据处理的电子设备的结构示意图。
具体实施方式
50.下面结合本技术中的附图描述本技术的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本技术实施例的技术方案的示例性描述,对本技术实施例的技术方案不构成限制。
51.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组
件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“a和/或b”可以实现为“a”,或者实现为“b”,或者实现为“a和b”。
52.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
53.首先对本技术涉及的几个名词进行介绍和解释:
54.l2 cache:二级缓存,集成在主板上或是cpu上。
55.cache:高速缓冲存储器,是位于cpu和主存储器dram(dynamic random access memory)之间,规模较小,但速度很高的存储器,通常由sram(static random access memory静态存储器)组成。它是位于cpu与内存间的一种容量较小但速度很高的存储器。cpu的速度远高于内存,当cpu直接从内存中存取数据时要等待一定时间周期,而cache则可以保存cpu刚用过或循环使用的一部分数据,如果cpu需要再次使用该部分数据时可从cache中直接调用,这样就避免了重复存取数据,减少了cpu的等待时间,因而提高了系统的效率。
56.cache line:cache中的数据是按块读取的,当cpu访问某个数据时,会假设该数据附近的数据以后会被访问到,因此,第一次访问这一块区域时,会将该数据连同附近区域的数据(共64字节)一起读取进缓存中,那么这一块数据称为一个cache line缓存行。
57.在二级缓存中,通常会接收到多个读/写数据的数据请求。针对每个数据请求,执行数据请求的最后一个处理操作是,更新数据请求对应的目标数据的数据状态,即更新缓存行(cache line)的一致性状态。其中,数据状态通过存储数据状态的随机访问存储器(randomaccessmemory,ram)的状态位体现。状态位通常包括有效位(valid,v)、使用位(used,u)、修改位(dirty,d,又称脏位),其中v位表示对应标签tag是否为有效tag;u位表示对应标签tag是否为s路中最近最少使用的tag;d位标识当前标签tag是否被修改了且没有被写回主存。
58.现有技术中,目标数据的数据状态及数据地址通常均存储于随机访问存储器(tag-ram)中,tag-ram通常只具有一个端口,通过一个端口进行读操作和写操作,这样,在更新数据状态时,即通过该端口向tag-ram写入数据状态时,由于读操作及写操作均需通过该端口进行,因此,更新数据状态的操作需要与其他多个读写请求依次排序执行(即更新数据状态的操作需要与其他多个读写请求进行仲裁,以确定执行顺序),从而导致更新数据状态时序较长,影响cpu性能。
59.针对上述技术问题,本技术提供了一种数据处理方法,结合图1所示,可以在接收到数据请求后,在tarb至t2阶段,确定二级缓存(本技术中“数据缓存”的一例)中是否存在所述数据请求所请求的目标数据,当所述二级缓存中存在所述目标数据,且所述目标数据的数据状态信息满足预设的状态更新条件的情况下,在t3阶段,在预先扩展的寄存器堆中更新所述目标数据的数据状态信息。
60.也就是说,本技术中,二级缓存中数据的数据状态信息存储于预先扩展的寄存器堆中,由于寄存器堆具有多个端口,因此,在更新数据状态信息时,可以通过单独的写入端口向寄存器堆写入更新的数据状态信息,无需执行由于与其他读数据的数据请求共享一个
端口而导致的仲裁处理,因此,更新数据状态的时序较短。
61.下面通过对几个示例性实施方式的描述,对本技术实施例的技术方案以及本技术的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
62.参见图2,本技术实施例提供了一种数据处理方法,可选地,该方法应用于处理器,处理器可以是cpu或图形处理器(graphics processing unit,gpu)等。具体的,该方法可以包括以下步骤:
63.s201:响应于数据请求,确定处理器的数据缓存中是否存在所述数据请求所请求的目标数据。
64.可选的,本技术实施例可以应用于计算机技术领域,具体可以应用于在数据缓存中更新cache line的一致性状态的应用场景,更新cache line的一致性状态即更新cache line中的数据的数据状态信息。
65.在实际场景中,数据请求可以为任一针对数据缓存中的目标数据进行数据操作的请求,数据操作例如对目标数据进行读、写、修改、无效等操作。数据缓存例如二级缓存l2 cache、三级缓存l3 cache。
66.接收到所述数据请求后,需要确定数据缓存中是否存在所述数据请求所请求的目标数据,即判断在数据缓存中该数据请求是否命中(hit)。当数据缓存中存在所述目标数据时,判断结果为hit;当数据缓存中不存在所述目标数据时,判断结果为缺失(miss)。
67.其中,判断数据缓存中该数据请求是否命中时,可以基于数据请求中携带的数据地址来判断。
68.具体而言,接收到数据请求后,可以获取数据请求中携带的数据地址,该数据地址为数据请求所请求的目标数据的地址,为便于区分本技术中涉及的其他数据地址,后续将该地址称为第一数据地址。
69.此外,还需获取数据缓存中数据的数据地址信息,本技术实施例中,数据地址信息为数据在数据缓存中所在缓存行的信息,例如,缓存行的信息可以为缓存行的标识。
70.其中,所述数据地址信息存储于随机存储器(random access memory,ram)。例如,随机存取存储器ram可以是静态随机存储器(static random-access memory,sram)。sram速度较快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。
71.随机存储器通常具有一个读/写端口,通过该端口可以从随机存储器中读取随机存储器中存储的数据,或者向随机存储器中写入数据。由于通过一个端口进行读取数据以及写入数据的操作,因此,当存在多个针对随机存储器的读写操作时,通常需要执行仲裁处理来确定端口是否空闲,以及多个读写操作的操作顺序。
72.可选的,由于数据地址信息是数据标签信息的一部分(数据标签信息包括数据地址信息及数据状态信息),因此,本技术实施例中,存储数据地址信息的随机存储器可以为标签随机存储器(tag-ram)。
73.进一步的,获取到所述第一数据地址以及所述数据地址信息之后,确定所述数据地址信息中是否存在与所述第一数据地址相同的第二数据地址。如果存在与第一数据地址相同的第二数据地址,则说明所述数据缓存中存在所述数据请求所请求的目标数据,即在
数据缓存中该数据请求命中(hit);如果不存在与第一数据地址相同的第二数据地址,则说明所述数据缓存中不存在所述数据请求所请求的目标数据,即在数据缓存中该数据请求缺失(miss)。
74.s202:当所述数据缓存中存在所述目标数据,且所述目标数据满足预设的状态更新条件的情况下,更新所述目标数据的数据状态信息。
75.其中,所述数据状态信息存储于所述处理器的预先扩展的寄存器堆中;更新后的所述目标状态信息中包括第一指示信息,所述第一指示信息指示在所述数据请求的执行过程中,所述目标数据是否被修改。
76.具体而言,当数据缓存中存在所述目标数据的情况下,可以执行所述数据请求。执行所述数据请求即针对数据缓存中的目标数据进行数据操作,数据操作例如对目标数据进行读、写、修改、无效等操作。
77.其中,执行所述数据请求的过程的最后一个处理动作为,更新目标数据的数据状态信息,即更新缓存行(cache line)的一致性状态。具体的,数据状态信息用于指示在数据请求执行的过程中,所述目标数据是否被修改。例如,在数据请求执行过程中,若目标数据被修改,那么,目标数据的数据状态为脏数据(dirty),若目标数据没有被修改,那么,目标数据的数据状态为干净数据(clean)。
78.本技术实施例中,在所述目标数据满足预设的状态更新条件的情况下,可以在预先扩展的寄存器堆中,更新所述目标数据的数据状态信息。
79.其中,寄存器堆是cpu中多个寄存器组成的阵列,通常由快速的静态随机读写存储器(sram)实现,其具有专门的读端口与写端口,可以多路并发访问不同的寄存器。在具体实施场景中,寄存器堆具有多个读端口和多个写端口,例如,在一些实施例中,寄存器堆具有9个读端口及4个写端口等等。
80.此外,预设的状态更新条件可以包括cpu核中不存在所述目标数据、与cpu相连的数据总线上不存在所述目标数据、不存在其他操作目标数据的数据请求(即冲突请求)等等。
81.综上所述,本技术实施例中,数据状态信息存储于预先扩展的寄存器堆中。当所述数据缓存中存在所述目标数据,并且在所述目标数据满足预设的状态更新条件的情况下,向寄存器堆中写入更新的所述目标数据的数据状态信息。这样,一方面,由于寄存器堆具有多个读端口和多个写端口,在写入更新的所述数据状态信息(即更新数据状态信息)时,无需与其他读数据的请求进行仲裁;另一方面,寄存器堆的材料特性较为稳定,材料特性稳定则存储的数据不易出现错误,从而无需在写入数据状态信息时生成相应的校验信息。因此,节省了上述仲裁及生成校验信息的时间,使得更新数据状态信息的时序较短,从而可以缩短更新数据状态信息时对目标数据所在缓存行的锁定时间,有利于其他请求可以访问缓存行,以此提升cpu性能。
82.在本技术的一个实施例中,所述确定处理器的数据缓存中是否存在所述数据请求所请求的目标数据,包括:
83.获取所述数据请求中携带的第一数据地址,以及获取所述数据缓存中数据的数据地址信息;
84.在所述数据地址信息中存在与所述第一数据地址一致的第二数据地址的情况下,
确定所述数据缓存中存在所述数据请求所请求的目标数据。
85.具体而言,接收到数据请求后,可以获取数据请求中携带的第一数据地址,第一数据地址为数据请求所请求的目标数据的地址。
86.此外,还需获取数据缓存中数据的数据地址信息,数据地址信息为数据在数据缓存中所在缓存行的信息,例如,缓存行的信息可以为缓存行的标识。
87.进一步的,获取到所述第一数据地址以及所述数据地址信息之后,确定所述数据地址信息中是否存在与所述第一数据地址相同的第二数据地址。如果存在与第一数据地址相同的第二数据地址,则说明所述数据缓存中存在所述数据请求所请求的目标数据,即在数据缓存中该数据请求命中(hit);如果不存在与第一数据地址相同的第二数据地址,则说明所述数据缓存中不存在所述数据请求所请求的目标数据,即在数据缓存中该数据请求缺失(miss)。
88.在本技术的一个实施例中,所述方法还包括:
89.获取与所述数据地址信息中每个数据地址对应的校验信息;
90.将所述数据地址与其对应的校验信息进行校验;
91.在所述数据地址与校验信息之间满足预设数据关系的情况下,执行所述在所述数据地址信息中存在与所述第一数据地址一致的第二数据地址的情况下,确定所述数据缓存中存在所述数据请求所请求的目标数据的处理步骤。
92.本技术实施例中,所述数据地址信息存储于随机存储器中,由于随机存储器对环境影响较为敏感,其中,环境影响例如静电影响、辐射影响等,如静电会干扰存储器内电容器的电荷,导致数据流失等影响,因此,从随机存储器中获取数据地址信息后,需要校验数据地址信息的准确性。
93.具体而言,获取数据地址信息时,还需从随机存储器中获取每个数据地址的校验信息,校验信息例如误差校正码(error correcting code,ecc)。
94.然后,将所述数据地址与其对应的校验信息进行校验,校验即验证所述数据地址与其对应的校验信息之间是否满足预设数据关系(预设数据关系例如预设函数关系),在所述数据地址与校验信息之间满足预设数据关系的情况下,可以确认数据地址信息的准确性。
95.下面结合图1,以数据缓存为二级缓存为例,对本技术实施例的整体实施流程进行说明:
96.接收到数据请求后,可以获取数据请求携带的第一数据地址,以及从随机存储器(tag-ram)中获取二级缓存中数据的数据地址信息及校验信息(ecc),即图1中所示的tarb阶段及t1阶段的处理。在实际场景中,在上述tarb阶段及t1阶段,读取数据地址信息及校验信息(ecc)的同时,还可以从寄存器堆(tag state reg)中读取数据状态信息。
97.然后,对数据地址信息中,每个数据地址与其对应的校验信息进行校验,以保证数据地址的准确性。并判断数据地址信息中是否存在与所述第一数据地址一致的第二数据地址,即判断在二级缓存中所述数据请求hit还是miss。即图1中所示的t2阶段的处理。
98.当确定所述数据请求hit时,可以执行数据请求,数据请求执行的最后阶段,当目标数据满足预设的状态更新条件的情况下,在寄存器堆中更新所述目标数据的数据状态信息。即图1中所示的t3阶段的处理。
99.本技术实施例中,数据状态信息存储于预先扩展的寄存器堆中。当所述数据缓存中存在所述目标数据,并且在所述目标数据满足预设的状态更新条件的情况下,向寄存器堆中写入更新的所述目标数据的数据状态信息。这样,一方面,由于寄存器堆具有多个读端口和多个写端口,在写入更新的所述数据状态信息(即更新数据状态信息)时,无需与其他读数据的请求进行仲裁;另一方面,寄存器堆的材料特性较为稳定,材料特性稳定则存储的数据不易出现错误,从而无需在写入数据状态信息时生成相应的校验信息。因此,节省了上述仲裁及生成校验信息的时间,使得更新数据状态信息的时序较短,从而可以缩短更新数据状态信息时对目标数据所在缓存行的锁定时间,有利于其他请求可以访问缓存行,以此提升cpu性能。
100.本技术实施例提供了一种数据处理装置,如图3所示,该数据处理装置30可以包括:信息确定模块301、信息更新模块302,其中,
101.信息确定模块301,用于响应于数据请求,确定处理器的数据缓存中是否存在所述数据请求所请求的目标数据;
102.信息更新模块302,用于当所述数据缓存中存在所述目标数据,且所述目标数据满足预设的状态更新条件的情况下,更新所述目标数据的数据状态信息;
103.其中,所述数据状态信息存储于所述处理器的预先扩展的寄存器堆中;更新后的所述目标状态信息中包括第一指示信息,所述第一指示信息指示在所述数据请求的执行过程中,所述目标数据是否被修改。
104.在本技术的一个实施例中,信息确定模块用于:
105.获取所述数据请求中携带的第一数据地址,以及获取所述数据缓存中数据的数据地址信息;
106.在所述数据地址信息中存在与所述第一数据地址一致的第二数据地址的情况下,确定所述数据缓存中存在所述数据请求所请求的目标数据。
107.在本技术的一个实施例中,所述数据地址信息与所述数据状态信息分别单独存储;
108.其中,所述数据地址信息存储于随机存储器中,所述数据状态信息存储于所述寄存器堆中。
109.在本技术的一个实施例中,该装置还包括校验模块,用于获取与所述数据地址信息中每个数据地址对应的校验信息;
110.将所述数据地址与其对应的校验信息进行校验;
111.在所述数据地址与校验信息之间满足预设数据关系的情况下,执行所述在所述数据地址信息中存在与所述第一数据地址一致的第二数据地址的情况下,确定所述数据缓存中存在所述数据请求所请求的目标数据的处理步骤。
112.在本技术的一个实施例中,所述状态更新条件包括以下至少一项:
113.所述处理器的内核中不存在所述目标数据;
114.所述处理器相连的数据总线上不存在所述目标数据;
115.不存在操作所述目标数据的冲突请求,所述冲突请求为所述数据请求以外的请求。
116.在本技术的一个实施例中,所述寄存器堆包括至少两个读/写端口。
integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
127.总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
128.存储器4003可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
129.存储器4003用于存储执行本技术方案的应用程序代码(计算机程序),并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
130.其中,电子设备包括但不限于:移动电话、笔记本电脑、多媒体播放器、台式计算机等。
131.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
132.本技术实施例中,数据状态信息存储于预先扩展的寄存器堆中。当所述数据缓存中存在所述目标数据,并且在所述目标数据满足预设的状态更新条件的情况下,向寄存器堆中写入更新的所述目标数据的数据状态信息。这样,一方面,由于寄存器堆具有多个读端口和多个写端口,在写入更新的所述数据状态信息(即更新数据状态信息)时,无需与其他读数据的请求进行仲裁;另一方面,寄存器堆的材料特性较为稳定,材料特性稳定则存储的数据不易出现错误,从而无需在写入数据状态信息时生成相应的校验信息。因此,节省了上述仲裁及生成校验信息的时间,使得更新数据状态信息的时序较短,从而可以缩短更新数据状态信息时对目标数据所在缓存行的锁定时间,有利于其他请求可以访问缓存行,以此提升cpu性能。
133.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除图示或文字描述以外的顺序实施。
134.应该理解的是,虽然本技术实施例的流程图中通过箭头指示各个操作步骤,但是
这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本技术实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本技术实施例对此不限制。
135.以上所述仅是本技术部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的方案技术构思的前提下,采用基于本技术技术思想的其他类似实施手段,同样属于本技术实施例的保护范畴。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1