CN115357526A - 数据处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
数据处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115357526A CN115357526A CN202210958631.9A CN202210958631A CN115357526A CN 115357526 A CN115357526 A CN 115357526A CN 202210958631 A CN202210958631 A CN 202210958631A CN 115357526 A CN115357526 A CN 115357526A
- Authority
- CN
- China
- Prior art keywords
- data
- backfill
- target data
- target
- buffer
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000013500 data storage Methods 0.000 claims abstract description 74
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000002618 waking effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
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/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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- 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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例提供了一种数据处理方法、装置、电子设备及计算机可读存储介质,涉及计算机技术领域。该方法包括:检测数据回填指示信息,当检测到数据回填指示信息,将目标数据从数据缓冲器回填至二级缓存,记录数据存储状态信息,并将目标数据从数据缓冲器中删除。由于数据存储状态信息指示目标数据在二级缓存中的存储路径,以使得在从数据缓冲器中删除目标数据后,可以根据数据存储状态信息从二级缓存中获取目标数据,并将目标数据返回至处理器核。这样,在目标数据回填至二级缓存后,即可在数据缓冲器中删除目标数据,实现了尽快释放数据缓冲器的存储空间,以使数据缓冲器可以对后续数据进行暂存,以此提升了数据缓冲器的利用率及CPU性能。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。
背景技术
在处理器与存储器交互数据的场景中,当二级缓存中不存在处理器请求的目标数据时,需要从下级存储器中获取目标数据。获取目标数据后,通常先将目标数据暂存于数据缓冲器中。但是,由于数据缓冲器的存储空间有限,目标数据对数据缓冲器的占用会影响数据缓冲器的数据缓存效率,以致影响CPU的性能。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是数据缓冲器的数据缓存效率低的技术缺陷。
根据本申请的一个方面,提供了一种数据处理方法,该方法包括:
检测数据回填指示信息;当检测到所述数据回填指示信息,将目标数据从数据缓冲器回填至二级缓存;
记录数据存储状态信息,并将所述目标数据从数据缓冲器中删除;
其中,所述数据存储状态信息指示所述目标数据在所述二级缓存中的存储路径,以使得根据所述数据存储状态信息从所述二级缓存获取所述目标数据,并将所述目标数据返回至处理器核。
可选的,在检测到所述数据回填指示信息之前,所述方法还包括:
接收来自所述处理器的数据访问请求;
从下级存储器获取所述数据访问请求对应的所述目标数据,并将所述目标数据缓存于所述数据缓冲器。
可选的,在检测到所述数据回填指示信息之前,所述方法还包括:
获取所述二级缓存的存储单元占用信息;
若所述二级缓存中存在空闲的存储单元,则分配并唤醒所述空闲的存储单元、并生成所述数据回填指示信息。
可选的,所述将目标数据从数据缓冲器回填至二级缓存,包括:
根据所述空闲的存储单元的数据存储容量,确定与所述数据存储容量对应的回填数据段;其中,所述回填数据段为所述目标数据中的数据段;
从所述数据缓冲器中获取所述回填数据段,将所述回填数据段回填至所述二级缓存。
可选的,所述记录数据存储状态信息,包括:
将所述回填数据段的标识、所述回填数据段在所述二级缓存中的存储路径、所述数据访问请求的标识进行关联,生成所述数据存储状态信息,并记录所述数据存储状态信息。
可选的,所述将所述目标数据返回至处理器核,包括:
获取所述处理器核的处理资源占用状态;
若存在空闲的处理资源,则分配并唤醒所述空闲的处理资源,并将所述目标数据返回至所述处理器核。
根据本申请的另一个方面,提供了一种数据处理装置,该装置包括:
数据回填模块,用于检测数据回填指示信息;当检测到所述数据回填指示信息,将目标数据从数据缓冲器回填至二级缓存;
信息记录模块,用于记录数据存储状态信息,并将所述目标数据从数据缓冲器中删除;
其中,所述数据存储状态信息指示所述目标数据在所述二级缓存中的存储路径,以使得根据所述数据存储状态信息从所述二级缓存获取所述目标数据,并将所述目标数据返回至处理器核。
可选的,所述装置还包括仲裁模块,用于在检测到所述数据回填指示信息之前,
获取所述二级缓存的存储单元占用信息;
若所述二级缓存中存在空闲的存储单元,则分配并唤醒所述空闲的存储单元、并生成所述数据回填指示信息。
根据本申请的另一个方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据本申请的第一方面任一项所述的数据处理方法。
例如,本申请的第三方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行如本申请的第一方面所示的数据处理方法对应的操作。
根据本申请的再一个方面,提供了一种计算机可读存储介质,所述计算机程序被处理器执行时实现本申请的第一方面任一项所述的数据处理方法。
例如,本申请实施例的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本申请第一方面所示的数据处理方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面的各种可选实现方式中提供的方法。
本申请提供的技术方案带来的有益效果是:
本申请实施例中,响应于目标数据从数据缓冲器回填至二级缓存,可以记录数据存储状态信息,并将所述目标数据从数据缓冲器中删除。由于所述数据存储状态信息指示所述目标数据在所述二级缓存中的存储路径,以使得在从数据缓冲器中删除目标数据后,可以根据所述数据存储状态信息从所述二级缓存中获取所述目标数据,并将所述目标数据返回至处理器核。这样,本申请实施例在目标数据回填至二级缓存后,即可在数据缓冲器中删除所述目标数据,实现了尽快释放所述数据缓冲器的存储空间,以使所述数据缓冲器可以对后续数据进行暂存,以此提升了数据缓冲器的利用率,进而提升CPU性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种数据处理方法的流程示意图之一;
图2为本申请实施例提供的一种数据处理方法的流程示意图之二;
图3为本申请实施例提供的一种数据处理方法的流程示意图之三;
图4为本申请实施例提供的一种数据处理方法的流程示意图之四;
图5为本申请实施例提供的一种数据处理装置的结构示意图;
图6为本申请实施例提供的一种数据处理的电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
L2cache:二级缓存,集成在主板上或是CPU上。
cache:高速缓冲存储器,是位于CPU和主存储器DRAM(Dynamic Random AccessMemory)之间,规模较小,但速度很高的存储器,通常由SRAM(Static Random AccessMemory静态存储器)组成。它是位于CPU与内存间的一种容量较小但速度很高的存储器。CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。
cache Line:cache中的数据是按块读取的,当CPU访问某个数据时,会假设该数据附近的数据以后会被访问到,因此,第一次访问这一块区域时,会将该数据连同附近区域的数据(共64字节)一起读取进缓存中,那么这一块数据称为一个cache Line缓存行。
在CPU设计中,如果二级缓存(L2 cache)中不存在处理器所请求的目标数据时,需要从下级cache或内存(memory)中获取目标数据。
从下级存储器取回目标数据后,通常先将目标数据放入数据缓冲器(一般称为“return data buffer”)中暂存,然后再从数据缓冲器中获取目标数据回填至二级缓存,以及将目标数据返回处理器核。
现有技术中,如果取回的目标数据已经回填至二级缓存中,但尚未返回至处理器核,那么,目标数据还是保留在数据缓冲器中等待返回给处理器核。也就是说,只有完成目标数据回填至二级缓存以及返回至处理器核时,才将目标数据从数据缓冲器中删除。而数据缓冲器的存储空间有限(数据缓冲器的存储空间只有一条cache Line大小),目标数据占用数据缓冲器会影响新的数据返回,从而影响CPU性能。
针对上述技术问题,本申请提供了一种数据处理方法,结合图1所示,可以在检测到数据回填指示信息时,将目标数据,即图1中的返回数据,从数据缓冲器13回填至二级缓存12。然后,通过状态记录模块11记录数据存储状态信息(数据存储状态信息中包括目标数据在所述二级缓存12中的存储路径),并将目标数据从数据缓冲器13中删除。这样,可以根据所述数据存储状态信息从所述二级缓存12获取所述目标数据,并将目标数据返回至处理器核。
也就是说,本申请中,在目标数据回填至二级缓存后,由于记录了目标数据在所述二级缓存中的存储路径,因此,可以根据所述存储路径从所述二级缓存获取所述目标数据,并将目标数据返回至处理器核。这样,可以在目标数据回填至二级缓存后,立即将目标数据从数据缓冲器中删除,从而尽快释放数据缓冲器的存储空间,以用于后续新数据的返回,从而提高了CPU性能。
参见图2,本申请实施例提供了一种数据处理方法,可选地,该方法应用于电子设备。电子设备中包括处理器,处理器可以是CPU或图形处理器(Graphics Processing Unit,GPU)等。具体的,该方法可以包括以下步骤:
S201:检测数据回填指示信息;当检测到所述数据回填指示信息,将目标数据从数据缓冲器回填至二级缓存。
可选的,本申请实施例可以应用于计算机技术领域,具体可以应用于目标数据返回的应用场景。
具体而言,在实际场景中,当处理器向二级缓存请求目标数据,但二级缓存中不存在处理器所请求的目标数据时,需要从下级存储器(下级存储器如下级cache或内存memory)中获取目标数据。
从下级存储器取回目标数据后,通常先将目标数据暂存于数据缓冲器(returndata buffer)中,然后再从数据缓冲器中获取目标数据回填至二级缓存,以及将目标数据返回给处理器核。
在上述场景中,目标数据被取回后,需要检测数据回填指示信息,当检测到所述数据回填指示信息,可以将目标数据从数据缓冲器回填至二级缓存。
其中,数据回填指示信息为指示可以对目标数据进行回填的指示信息。
在实际场景中,将所述目标数据回填至二级缓存之前,需要先进行仲裁处理,仲裁处理用于判断二级缓存中是否存在空闲存储单元,也就是说,只有当二级缓存中存在空闲存储单元时,即仲裁成功时,才可以分配相应的空闲存储单元、并唤醒该空闲存储单元,以用于存储所述目标数据。
具体而言,仲裁处理可以包括获取所述二级缓存的存储单元占用信息,若所述二级缓存中存在空闲的存储单元,则分配并唤醒空闲的存储单元。相应的,仲裁处理的结果为仲裁成功时,即可生成所述数据回填指示信息。
可以理解的是,本申请实施例中,响应于仲裁成功的仲裁结果,生成数据回填指示信息。
进一步的,响应于检测到所述数据回填指示信息,可以将目标数据从数据缓冲器回填至二级缓存。
具体而言,在目标数据回填至二级缓存时,需要先确定空闲的存储单元的数据存储容量,其中,空闲的存储单元的数据存储容量可以从仲裁结果信息中获取得到。
然后,根据空闲的存储单元的数据存储容量,确定与所述数据存储容量对应的所述目标数据中的回填数据段。例如,空闲的存储单元的数据存储容量为256字节(Byte),相应的,所述目标数据中的回填数据段的数据量最多为256字节。可以理解的是,所述回填数据段是目标数据中的至少一部分。
进一步的,确定所述回填数据段后,可以从所述数据缓冲器中获取所述回填数据段,将所述回填数据段回填至所述二级缓存。
可以理解的是,本申请实施例中,当空闲的存储单元较为充足时,可以一次性将全部目标数据回填至二级缓存,而当空闲的存储单元的数据存储容量不足以存储全部目标数据时,可以分批次逐步将目标数据回填至二级缓存,即每次回填目标数据中的部分回填数据段,直至全部目标数据回填至目标缓存。
S202:记录数据存储状态信息,并将所述目标数据从数据缓冲器中删除;
其中,所述数据存储状态信息指示所述目标数据在所述二级缓存中的存储路径,以使得根据所述数据存储状态信息从所述二级缓存获取所述目标数据,并将所述目标数据返回至处理器核。
具体而言,在目标数据(或者目标数据中的部分回填数据段)回填至所述二级缓存之后,本申请实施例可以记录回填的目标数据(或者目标数据中的部分回填数据段)在所述二级缓存中的存储路径,以使得后续可以从所述二级缓存中获取相应的目标数据(或者目标数据中的部分回填数据段)。这样,在目标数据(或者目标数据中的部分回填数据段)回填至所述二级缓存之后,即可将目标数据(或者目标数据中的部分回填数据段)从所述数据缓冲器中删除,从而尽快释放所述数据缓冲器的存储空间,以用于对后续数据进行暂存,以此提升CPU性能。
可选的,为实现便捷的从二级缓存中索引到目标数据(或者目标数据中的部分回填数据段),本申请实施例中,可以将目标数据的标识(或者目标数据中的部分回填数据段的标识)、所述目标数据(或者目标数据中的部分回填数据段)在所述二级缓存中的存储路径、以及所述目标数据对应的数据访问请求(处理器发出的针对所述目标数据的数据访问请求)的标识进行关联,将关联后的上述信息作为所述数据存储状态信息。
本申请实施例中,响应于目标数据从数据缓冲器回填至二级缓存,可以记录数据存储状态信息,并将所述目标数据从数据缓冲器中删除。由于所述数据存储状态信息指示所述目标数据在所述二级缓存中的存储路径,以使得在从数据缓冲器中删除目标数据后,可以根据所述数据存储状态信息从所述二级缓存中获取所述目标数据,并将所述目标数据返回至处理器核。这样,本申请实施例在目标数据回填至二级缓存后,即可在数据缓冲器中删除所述目标数据,实现了尽快释放所述数据缓冲器的存储空间,以使所述数据缓冲器可以对后续数据进行暂存,以此提升了数据缓冲器的利用率,进而提升CPU性能。
在本申请的一个实施例中,在检测到所述数据回填指示信息之前,所述方法还包括:
接收来自所述处理器的数据访问请求;
从下级存储器获取所述数据访问请求对应的所述目标数据,并将所述目标数据缓存于所述数据缓冲器。
本申请实施例中,所述目标数据为处理器通过数据访问请求所请求的数据。可选的,在二级缓存中不存在所述目标数据时,可以通过二级缓存从下级存储器获取目标数据。其中,下级存储器可以是下级缓存(cache)或内存(memory)。
从下级存储器获取目标数据后,目标数据可以暂存于数据缓冲器中。
其中,数据缓冲器具体为数据的缓冲寄存器。缓冲寄存器可分为输入缓冲器和输出缓冲器两种。输入缓冲器的作用是将存储器送来的数据暂时存放,以便处理器将其取走。输出缓冲器的作用是用来暂时存放处理器送往外设的数据。通过缓冲寄存器,可以在高速工作的CPU与慢速工作的外设之间起到协调和缓冲作用,实现数据传送的同步。可以理解的是,本申请实施例中的数据缓冲器为输入缓冲器。
在本申请的一个实施例中,在检测到所述数据回填指示信息之前,所述方法还包括:
获取所述二级缓存的存储单元占用信息;
若所述二级缓存中存在空闲的存储单元,则分配并唤醒所述空闲的存储单元、并生成所述数据回填指示信息。
在实际场景中,将所述目标数据回填至二级缓存之前,需要先进行仲裁处理,仲裁处理用于判断二级缓存中是否存在空闲存储单元,也就是说,只有当二级缓存中存在空闲存储单元时,即仲裁成功时,才可以分配相应的空闲存储单元、并唤醒该空闲存储单元,以用于存储所述目标数据。
具体而言,仲裁处理可以包括获取所述二级缓存的存储单元占用信息,若所述二级缓存中存在空闲的存储单元,则分配并唤醒空闲的存储单元。
可以理解的是,本申请实施例中,响应于仲裁成功的仲裁结果,生成数据回填指示信息。
在本申请的一个实施例中,所述将目标数据从数据缓冲器回填至二级缓存,包括:
根据所述空闲的存储单元的数据存储容量,确定与所述数据存储容量对应的回填数据段;其中,所述回填数据段为所述目标数据中的数据段;
从所述数据缓冲器中获取所述回填数据段,将所述回填数据段回填至所述二级缓存。
具体而言,在目标数据回填至二级缓存时,需要先确定空闲的存储单元的数据存储容量,其中,存储单元的数据存储容量可以从仲裁结果信息中获取得到。
然后,根据空闲的存储单元的数据存储容量,确定与所述数据存储容量对应的所述目标数据中的回填数据段。例如,空闲的存储单元的数据存储容量为256字节(Byte),相应的,所述目标数据中的回填数据段的数据量最多为256字节。可以理解的是,所述回填数据段是目标数据中的至少一部分。
进一步的,确定所述回填数据段后,可以从所述数据缓冲器中获取所述回填数据段,将所述回填数据段回填至所述二级缓存。
可以理解的是,本申请实施例中,当空闲的存储单元较为充足时,可以一次性将全部目标数据回填至二级缓存,而当空闲的存储单元的数据存储容量不足以存储全部目标数据时,可以分批次逐步将目标数据回填至二级缓存,即每次回填目标数据中的部分回填数据段,直至全部目标数据回填至目标缓存。
在本申请的一个实施例中,所述记录数据存储状态信息,包括:
将所述回填数据段的标识、所述回填数据段在所述二级缓存中的存储路径、所述数据访问请求的标识进行关联,生成所述数据存储状态信息,并记录所述数据存储状态信息。
可选的,为实现便捷的从二级缓存中索引到回填数据段,本申请实施例中,可以将回填数据段的标识data beat ID、所述回填数据段在所述二级缓存中的存储路径、以及所述目标数据对应的数据访问请求(处理器发出的针对所述目标数据的数据访问请求)的标识transaction ID进行关联,将关联后的上述信息作为所述数据存储状态信息。
在本申请的一个实施例中,所述将所述目标数据返回至处理器核,包括:
获取所述处理器核的处理资源占用状态;
若存在空闲的处理资源,则分配并唤醒所述空闲的处理资源,并将所述目标数据返回至所述处理器核。
在实际场景中,将所述目标数据返回至处理器核之前,需要先进行仲裁处理,仲裁处理用于判断处理器核中是否存在空闲处理资源,也就是说,只有当处理器核中存在空闲处理资源时,即仲裁成功时,才可以分配相应的空闲处理资源、并唤醒该空闲处理资源,以用于存储所述目标数据。
具体而言,仲裁处理可以包括获取所述处理器核的处理资源占用状态,若所述二级缓存中存在空闲的存储单元,则若存在空闲的处理资源,则分配并唤醒所述空闲的处理资源。也就是说,在仲裁成功的情况下,可以将所述目标数据返回至所述处理器核。
本申请实施例中,通过检测数据回填指示信息,当检测到所述数据回填指示信息,将目标数据从数据缓冲器回填至二级缓存,记录数据存储状态信息,并将所述目标数据从数据缓冲器中删除。其中,由于所述数据存储状态信息指示所述目标数据在所述二级缓存中的存储路径,以使得在从数据缓冲器中删除目标数据后,可以根据所述数据存储状态信息从所述二级缓存中获取所述目标数据,并将所述目标数据返回至处理器核。这样,本申请实施例在目标数据回填至二级缓存后,即可在数据缓冲器中删除所述目标数据,实现了尽快释放所述数据缓冲器的存储空间,以使所述数据缓冲器可以对后续数据进行暂存,以此提升了数据缓冲器的利用率,进而提升CPU性能。
下面结合图3及图4对数据回填的实际应用场景进行说明:
如图3所示,图3为返回数据(作为本申请中的“目标数据”的一例)返回处理器核早于回填二级缓存32的场景。
在该场景中,从下级存储器中获取到返回数据之后,返回数据暂存于数据缓冲器33中。然后,返回数据首先返回至处理器核。返回数据与本地数据进行仲裁,赢得仲裁后,返回数据返回至处理器核。
另一方面,返回数据还需回填至二级缓存32。在进行回填时,返回数据与其他数据进行仲裁,赢得仲裁后,返回数据回填至二级缓存32。通过状态记录模块31中的记录单元可以记录返回数据的标识、返回数据的存储路径等。直至所有返回数据回填至二级缓存32后,可以将返回数据从数据缓冲器33中删除,以释放数据缓冲器33的存储空间。
如图4所示,图4为返回数据回填二级缓存早于返回处理器核的场景。
在该场景中,从下级存储器中获取到返回数据之后,返回数据暂存于数据缓冲器43中。
然后,返回数据首先回填至二级缓存42。返回数据与其他数据进行仲裁,返回数据赢得仲裁后,即可回填至二级缓存42。其中,返回数据回填至二级缓存42的过程中,先由二级缓存42中的数据缓冲单元422对返回数据进行暂存,然后将数据缓冲单元422中暂存的返回数据写入二级缓存42中的数据存储单元421。也就是说,二级缓存42中的数据缓冲单元422用于对写入二级缓存的数据进行暂存,二级缓存中的数据存储单元421用于对写入二级缓存42的数据进行存储。
通过状态记录模块41中的记录单元可以记录返回数据的标识、返回数据的存储路径、针对返回数据的数据访问请求的标识等等。这时,可以在数据缓冲器43中删除已经回填至二级缓存42的返回数据。
另一方面,返回数据还需回填至处理器核。在进行回填时,状态记录模块41向数据缓冲单元422发出读取返回数据的请求,其中该请求与最初处理器请求返回数据的请求相关联。进而,响应于该请求,根据返回数据的存储路径,从二级缓存42中的数据缓冲单元422中获取返回数据(从数据缓冲单元获取返回数据速度较快),取出的返回数据与本地数据进行仲裁,返回数据赢得仲裁后,即可返回至处理器核,至此,即可释放状态记录模块41中的记录单元。
本申请实施例提供了一种数据处理装置,如图5所示,该数据处理装置50可以包括:数据回填模块501、信息记录模块502,其中,
数据回填模块501,用于检测数据回填指示信息;当检测到所述数据回填指示信息,将目标数据从数据缓冲器回填至二级缓存;
信息记录模块502,用于记录数据存储状态信息,并将所述目标数据从数据缓冲器中删除;
其中,所述数据存储状态信息指示所述目标数据在所述二级缓存中的存储路径,以使得根据所述数据存储状态信息从所述二级缓存获取所述目标数据,并将所述目标数据返回至处理器核。
在本申请的一个实施例中,所述装置还包括数据获取模块,用于在检测到所述数据回填指示信息之前,
接收来自所述处理器的数据访问请求;
从下级存储器获取所述数据访问请求对应的所述目标数据,并将所述目标数据缓存于所述数据缓冲器。
在本申请的一个实施例中,所述装置还包括仲裁模块,用于在检测到所述数据回填指示信息之前,
获取所述二级缓存的存储单元占用信息;
若所述二级缓存中存在空闲的存储单元,则分配并唤醒所述空闲的存储单元、并生成所述数据回填指示信息。
在本申请的一个实施例中,所述数据回填模块具体用于:
根据所述空闲的存储单元的数据存储容量,确定与所述数据存储容量对应的回填数据段;其中,所述回填数据段为所述目标数据中的数据段;
从所述数据缓冲器中获取所述回填数据段,将所述回填数据段回填至所述二级缓存。
在本申请的一个实施例中,所述信息记录模块具体用于:
将所述回填数据段的标识、所述回填数据段在所述二级缓存中的存储路径、所述数据访问请求的标识进行关联,生成所述数据存储状态信息,并记录所述数据存储状态信息。
在本申请的一个实施例中,所述将所述目标数据返回至处理器核,包括:
获取所述处理器核的处理资源占用状态;
若存在空闲的处理资源,则分配并唤醒所述空闲的处理资源,并将所述目标数据返回至所述处理器核。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中,通过检测数据回填指示信息,当检测到所述数据回填指示信息,将目标数据从数据缓冲器回填至二级缓存,记录数据存储状态信息,并将所述目标数据从数据缓冲器中删除。其中,由于所述数据存储状态信息指示所述目标数据在所述二级缓存中的存储路径,以使得在从数据缓冲器中删除目标数据后,可以根据所述数据存储状态信息从所述二级缓存中获取所述目标数据,并将所述目标数据返回至处理器核。这样,本申请实施例在目标数据回填至二级缓存后,即可在数据缓冲器中删除所述目标数据,实现了尽快释放所述数据缓冲器的存储空间,以使所述数据缓冲器可以对后续数据进行暂存,以此提升了数据缓冲器的利用率,进而提升CPU性能。
本申请实施例中提供了一种电子设备,该电子设备包括:存储器和处理器;至少一个程序,存储于存储器中,用于被处理器执行时,与现有技术相比可实现:本申请实施例中,通过检测数据回填指示信息,当检测到所述数据回填指示信息,将目标数据从数据缓冲器回填至二级缓存,记录数据存储状态信息,并将所述目标数据从数据缓冲器中删除。其中,由于所述数据存储状态信息指示所述目标数据在所述二级缓存中的存储路径,以使得在从数据缓冲器中删除目标数据后,可以根据所述数据存储状态信息从所述二级缓存中获取所述目标数据,并将所述目标数据返回至处理器核。这样,本申请实施例在目标数据回填至二级缓存后,即可在数据缓冲器中删除所述目标数据,实现了尽快释放所述数据缓冲器的存储空间,以使所述数据缓冲器可以对后续数据进行暂存,以此提升了数据缓冲器的利用率,进而提升CPU性能。
在一个可选实施例中提供了一种电子设备,如图6所示,图6所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码(计算机程序),并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、多媒体播放器、台式计算机等。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
本申请实施例中,通过检测数据回填指示信息,当检测到所述数据回填指示信息,将目标数据从数据缓冲器回填至二级缓存,记录数据存储状态信息,并将所述目标数据从数据缓冲器中删除。其中,由于所述数据存储状态信息指示所述目标数据在所述二级缓存中的存储路径,以使得在从数据缓冲器中删除目标数据后,可以根据所述数据存储状态信息从所述二级缓存中获取所述目标数据,并将所述目标数据返回至处理器核。这样,本申请实施例在目标数据回填至二级缓存后,即可在数据缓冲器中删除所述目标数据,实现了尽快释放所述数据缓冲器的存储空间,以使所述数据缓冲器可以对后续数据进行暂存,以此提升了数据缓冲器的利用率,进而提升CPU性能。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
检测数据回填指示信息;当检测到所述数据回填指示信息,将目标数据从数据缓冲器回填至二级缓存;
记录数据存储状态信息,并将所述目标数据从数据缓冲器中删除;
其中,所述数据存储状态信息指示所述目标数据在所述二级缓存中的存储路径,以使得根据所述数据存储状态信息从所述二级缓存获取所述目标数据,并将所述目标数据返回至处理器核。
2.根据权利要求1所述的数据处理方法,其特征在于,在检测到所述数据回填指示信息之前,所述方法还包括:
接收来自所述处理器的数据访问请求;
从下级存储器获取所述数据访问请求对应的所述目标数据,并将所述目标数据缓存于所述数据缓冲器。
3.根据权利要求1所述的数据处理方法,其特征在于,在检测到所述数据回填指示信息之前,所述方法还包括:
获取所述二级缓存的存储单元占用信息;
若所述二级缓存中存在空闲的存储单元,则分配并唤醒所述空闲的存储单元、并生成所述数据回填指示信息。
4.根据权利要求3所述的数据处理方法,其特征在于,所述将目标数据从数据缓冲器回填至二级缓存,包括:
根据所述空闲的存储单元的数据存储容量,确定与所述数据存储容量对应的回填数据段;其中,所述回填数据段为所述目标数据中的数据段;
从所述数据缓冲器中获取所述回填数据段,将所述回填数据段回填至所述二级缓存。
5.根据权利要求4所述的数据处理方法,其特征在于,所述记录数据存储状态信息,包括:
将所述回填数据段的标识、所述回填数据段在所述二级缓存中的存储路径、所述数据访问请求的标识进行关联,生成所述数据存储状态信息,并记录所述数据存储状态信息。
6.根据权利要求1所述的数据处理方法,其特征在于,所述将所述目标数据返回至处理器核,包括:
获取所述处理器核的处理资源占用状态;
若存在空闲的处理资源,则分配并唤醒所述空闲的处理资源,并将所述目标数据返回至所述处理器核。
7.一种数据处理装置,其特征在于,包括:
数据回填模块,用于检测数据回填指示信息;当检测到所述数据回填指示信息,将目标数据从数据缓冲器回填至二级缓存;
信息记录模块,用于记录数据存储状态信息,并将所述目标数据从数据缓冲器中删除;
其中,所述数据存储状态信息指示所述目标数据在所述二级缓存中的存储路径,以使得根据所述数据存储状态信息从所述二级缓存获取所述目标数据,并将所述目标数据返回至处理器核。
8.根据权利要求7所述的数据处理装置,其特征在于,所述装置还包括仲裁模块,用于在检测到所述数据回填指示信息之前,
获取所述二级缓存的存储单元占用信息;
若所述二级缓存中存在空闲的存储单元,则分配并唤醒所述空闲的存储单元、并生成所述数据回填指示信息。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1至6任一项所述的数据处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210958631.9A CN115357526A (zh) | 2022-08-09 | 2022-08-09 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210958631.9A CN115357526A (zh) | 2022-08-09 | 2022-08-09 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115357526A true CN115357526A (zh) | 2022-11-18 |
Family
ID=84033125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210958631.9A Pending CN115357526A (zh) | 2022-08-09 | 2022-08-09 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115357526A (zh) |
-
2022
- 2022-08-09 CN CN202210958631.9A patent/CN115357526A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188110B (zh) | 一种构建分布式锁的方法及装置 | |
KR20200135718A (ko) | 액세스 요청을 관리하기 위한 방법, 장치, 기기 및 저장 매체 | |
CN112199040A (zh) | 存储访问方法及智能处理装置 | |
CN115617255A (zh) | 缓存文件的管理方法和管理装置 | |
CN115827506A (zh) | 数据写入方法、数据读取方法、装置、处理核和处理器 | |
CN114896215A (zh) | 元数据的存储方法及装置 | |
CN106649143B (zh) | 一种访问缓存的方法、装置及电子设备 | |
CN113312386A (zh) | 一种基于分布式消息的批量入库方法 | |
WO2024109068A1 (zh) | 程序监控方法、装置、电子设备和存储介质 | |
CN115840654B (zh) | 消息的处理方法、系统、计算设备及可读存储介质 | |
CN115269199A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN113986134B (zh) | 存储数据的方法、读取数据的方法和装置 | |
CN115357526A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN112463037B (zh) | 一种元数据保存方法、装置、设备、产品 | |
CN111858665B (zh) | 一种提升软拷贝读性能的方法、系统、终端及存储介质 | |
CN114063923A (zh) | 数据读取方法、装置、处理器及电子设备 | |
CN113220608A (zh) | 一种NVMe命令处理器及其处理方法 | |
CN116745754A (zh) | 一种访问远端资源的系统及方法 | |
US6453375B1 (en) | Method and apparatus for obtaining coherent accesses with posted writes from multiple software drivers | |
CN110134691B (zh) | 数据校验方法、装置、设备和介质 | |
CN115297169B (zh) | 数据处理方法、装置、电子设备及介质 | |
CN107408059B (zh) | 共享多级库的跨级预取 | |
CN115617732B (zh) | Apb总线结构、片上系统、车辆及访问方法 | |
CN118363901B (zh) | PCIe设备、电子组件及电子设备 | |
US11442668B2 (en) | Prioritizing volume accesses in multi-volume storage device based on execution path of a service |
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 |