CN116627866A - 数据处理方法、处理器、电子设备及计算机可读存储介质 - Google Patents
数据处理方法、处理器、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116627866A CN116627866A CN202310465763.2A CN202310465763A CN116627866A CN 116627866 A CN116627866 A CN 116627866A CN 202310465763 A CN202310465763 A CN 202310465763A CN 116627866 A CN116627866 A CN 116627866A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- request
- external memory
- cache unit
- 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 40
- 238000012545 processing Methods 0.000 claims abstract description 93
- 238000013500 data storage Methods 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本发明涉及电子技术领域,具体而言,公开了一种数据处理方法、处理器、电子设备及计算机可读存储介质。其中,数据处理方法包括:判断缓存单元内是否存在目标读取数据;若缓存单元内存在目标读取数据,从缓存单元内读取目标读取数据至处理单元;若缓存单元内不存在目标读取数据,根据历史数据位置确定请求数据位置,向外部存储器发送第一数据请求,第一数据请求至少包括请求数据位置;接收外部存储器根据第一数据请求发送的请求数据,从请求数据中读取目标读取数据至处理单元。与现有技术相比,本发明实施例所提供的数据处理方法、处理器、电子设备及计算机可读存储介质具有减少芯片读取数据的延时时长的优点。
Description
技术领域
本发明涉及电子技术领域,具体而言,涉及一种数据处理方法、处理器、电子设备及计算机可读存储介质。
背景技术
随着社会的发展,人们在越来越多地生产和消费大量的数据,如监控、直播、视频通信、语音通信、短视频等产生的音视频数据。这些数据的传统处理方式是由CPU纯软件负责。这种方式会占用大量的CPU资源,容易出现资源抢占的情况。随着计算技术的发展,芯片内部可以集成更多的硬件模块,将这些数据处理交由硬件模块负责,不仅释放了CPU的资源,而且提高了数据处理的效率。
在数据处理过程中,芯片的硬件模块例如编码器需要读取外部存储器中的原始数据进行编码,编码完成后需要将数据写入外部存储器。例如解码器需要读取外部存储器中的压缩数据进行解码,解码完成后也需要将数据写入外部存储器。
然而,当例如编码器和解码器等硬件模块直接访问芯片外的外部存储器时,会消耗较长的时间,如果编码器和解码器等硬件模块无法及时获得数据,编码器和解码器等硬件模块会进入等待状态,进而影响芯片的性能。
发明内容
本发明的目的在于提供一种数据处理方法、处理器、电子设备及计算机可读存储介质,能够减少芯片读取数据的延时时长。
第一方面,本发明提供一种数据处理方法,应用于包括缓存单元和处理单元的处理器,所述数据处理方法包括:判断所述缓存单元内是否存在目标读取数据;若所述缓存单元内存在所述目标读取数据,从所述缓存单元内读取所述目标读取数据至所述处理单元;若所述缓存单元内不存在所述目标读取数据,根据历史数据位置确定请求数据位置,所述历史数据位置为从外部存储器接收的历史数据在所述外部存储器中的存储位置;向所述外部存储器发送第一数据请求,所述第一数据请求至少包括所述请求数据位置;接收所述外部存储器根据所述第一数据请求发送的请求数据,从所述请求数据中读取所述目标读取数据至所述处理单元。
本发明实施例的有益效果是:在需要读取目标读取数据时,如果缓存单元中存在目标读取数据,直接从缓存单元中读取目标读取数据至处理单元,无需从外部存储器获取数据,减少数据读取过程中的延时时长;而如果缓存单元中不存在目标读取数据,则根据历史数据位置确定请求数据位置,由于历史数据位置为从外部存储器接收的历史数据在外部存储器中的存储位置,然后向外部存储器发送第一数据请求,第一数据请求至少包括请求数据位置,根据数据的局部性原理,处理器访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。因此本申请中在缓存单元内不存在目标读取数据时,根据历史数据位置从外部存储器中获取请求数据,并从这些请求数据中获取目标数据,直接定位外部数据中的数据位置,同样可以减少数据读取过程的延时时长。
在可选的实施方式中,所述从所述请求数据中读取所述目标读取数据前,所述数据处理方法还包括:判断所述请求数据中是否存在所述目标读取数据;若所述请求数据中存在所述目标读取数据,执行步骤:从所述请求数据中读取所述目标读取数据;若所述请求数据中不存在所述目标读取数据,向所述外部存储器发送第二数据请求以向所述外部存储器请求所述目标读取数据。在根据历史数据位置从外部存储器请求的请求数据中不存在需要读取的目标读取数据时,向外部存储器发送第二数据请求以向外部存储器请求目标读取数据,从而保证对目标读取数据的成功读取。
在可选的实施方式中,所述根据历史数据位置确定请求数据位置,包括:获取上一次从所述外部存储器接收的历史数据在所述外部存储器中的存储位置作为第一历史位置;将所述第一历史位置周围预设范围内的数据存储位置作为所述请求数据位置。
在可选的实施方式中,所述根据历史数据位置确定请求数据位置,包括:获取从所述外部存储器接收的若干历史数据在所述外部存储器中的存储位置作为若干第二历史位置;根据所述若干第二历史位置确定所述请求数据位置。
在可选的实施方式中,所述根据所述若干第二历史位置确定所述请求数据位置,包括:将各个所述第二历史位置周围预设范围内的数据存储位置的合集作为所述请求数据位置。
在可选的实施方式中,所述根据所述若干第二历史位置确定所述请求数据位置,包括:确定所述若干第二历史位置的中心位置;将所述中心位置周围预设范围内的数据存储位置作为所述请求数据位置。
在可选的实施方式中,所述数据处理方法还包括:所述处理单元向所述缓存单元内写入目标写入数据,所述缓存单元在所述目标写入数据写入完成后向所述处理单元发送写完成信息;所述缓存单元在所述目标写入数据写入完成后将所述目标写入数据发送至所述外部存储器。向缓存单元写入数据完成时直接产生写完成信息,然后由缓存单元向外部存储器中写入数据,更快的进行写完成的相应,便于处理单元后续的处理。
在可选的实施方式中,所述向所述缓存单元内写入目标写入数据,包括:获取所述缓存单元与所述外部存储器之间的预设部分页映射,所述部分页映射包括若干部分页编码和与所述部分页编码一一对应的数据存储地址;获取所述目标写入数据的目标部分页编码,根据所述目标部分页编码从所述部分页映射中获取与所述目标部分页编码一一对应的目标数据存储地址;向所述外部存储器发送第三数据请求,所述第三数据请求至少包括所述目标数据存储地址;接收所述外部存储器的回复数据,所述回复数据为所述外部存储器在所述目标数据存储地址存储的数据;将所述目标写入数据和所述回复数据合并后写入所述缓存单元。通过部分页写入的方式向缓存单元中写入数据,部分页写入的方式可以有效的提高写入效率。
在可选的实施方式中,所述处理单元与所述缓存单元经由原子操作进行数据读取和/或数据写入。处理单元与缓存单元经由原子操作进行数据读取和/或数据写入,可以支持多线程的同步读取和写入。
第二方面,本发明提供一种处理器,包括:缓存单元和处理单元;所述处理单元用于判断所述缓存单元内是否存在目标读取数据;若所述缓存单元内存在所述目标读取数据,所述处理单元还用于从所述缓存单元内读取所述目标读取数据;若所述缓存单元内不存在所述目标读取数据,所述处理单元还用于根据历史数据位置确定请求数据位置,所述历史数据位置为从外部存储器接收的历史数据在所述外部存储器中的存储位置,所述缓存单元还用于向所述外部存储器发送第一数据请求,所述第一数据请求至少包括所述请求数据位置;所述缓存单元还用于接收所述外部存储器根据所述第一数据请求回复的请求数据,所述处理单元还用于从所述请求数据中读取所述目标读取数据至所述处理单元。
在可选的实施方式中,所述处理单元还用于向所述缓存单元内写入目标写入数据,所述缓存单元在所述目标写入数据写入完成后向所述处理单元发送写完成信息;所述缓存单元还用于在所述目标写入数据写入完成后将所述目标写入数据发送至所述外部存储器。
在可选的实施方式中,所述处理单元还用于获取所述缓存单元与所述外部存储器之间的预设部分页映射,所述部分页映射包括若干部分页编码和与所述部分页编码一一对应的数据存储地址;所述处理单元还用于获取所述目标写入数据的目标部分页编码,根据所述目标部分页编码从所述部分页映射中获取与所述目标部分页编码一一对应的目标数据存储地址;所述缓存单元还用于向所述外部存储器发送第三数据请求,所述第三数据请求至少包括所述目标数据存储地址;所述缓存单元还用于接收所述外部存储器的回复数据,所述回复数据为所述外部存储器在所述目标数据存储地址存储的数据,并将所述目标写入数据和所述回复数据合并后写入所述缓存单元。
第三方面,本发明提供一种电子设备,包括:如前述实施方式中任一项所述的处理器;以及,与所述处理器通信连接的外部存储器;所述处理器用于执行如前述实施方式中任一项所述的数据处理方法,所述外部存储器用于向所述处理器发送数据。
第四方面,本发明提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行实现前述实施方式中任意一项所述的数据处理方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例四所提供的处理器的结构示意图;
图2为本发明实施例一所提供的数据处理方法的流程示意图;
图3为本发明实施例二所提供的数据处理方法的流程示意图;
图4为本发明实施例三所提供的数据处理方法的流程示意图;
图5为本发明实施例五所提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
本发明实施例一提供了一种数据处理方法,应用于如图1所示的处理器,其中,处理器包括缓存单元100和处理单元200,如图2所示,本实施例所提供的数据处理方法包括以下步骤:
步骤S101:判断缓存单元内是否存在目标读取数据,若是,执行步骤S102,若否,执行步骤S103。
在本步骤中,目标读取数据为处理单元在当前时刻需要读取的数据,以处理单元为编码器为例,目标读取数据即为编码器当前时刻需要进行编码的数据。
在本发明的一些实施例中,可以是处理单元在需要对目标读取数据进行处理时,与缓存单元进行通信后,确定缓存单元内是否缓存有需要进行处理的目标读取数据,如果缓存单元内缓存有目标读取数据,则执行步骤S102,反之如果缓存单元内不存在目标读取数据,则执行步骤S103。
步骤S102:从缓存单元内读取目标读取数据至处理单元。
在本步骤中,缓存单元内缓存有处理单元需要进行处理的目标读取s数据,则处理单元可以直接从缓存单元中读取目标读取数据至处理单元中进行后续的数据处理。
在本发明的一些实施例中,从缓存单元内读取目标读取数据时,可以经由原子操作进行数据读取。其中,原子操作指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会切换到另一个线程。
步骤S103:根据历史数据位置确定请求数据位置,历史数据位置为从外部存储器接收的历史数据在外部存储器中的存储位置。
在本发明的一些实施例中,历史数据位置即为处理器从外部存储器接收的历史数据在外部存储器中的数据存储位置,即在当前时刻之前,从外部存储器接收的数据的在外部存储器中的数据存储位置。
请求数据位置为向外部存储器发送的数据位置,即向外部存储器请求外部存储器发送在外部存储器中存储位置为请求数据位置的数据。
在本发明的不同的实施例中,根据历史数据位置确定请求数据位置的方法可以相同也可以不同。在本发明的一种实施例中,可以是获取当前时刻之前的上一次从外部存储器接收的历史数据在外部存储器中的存储位置作为第一历史位置,第一历史位置即为上一次接收的历史数据在外部存储器中的数据存储位置,然后将第一历史位置周围预设范围内的数据存储位置作为请求数据位置。其中,预设范围为预先根据需要设置的数据范围,其可以根据目标读取数据的数据大小、处理单元的数据处理能力等数据预先设置。例如,设第一历史位置为A,预设范围为±B个存储单元,则请求数据位置为A±B。
可以理解的是,前述仅为本发明的一种具体的实施例中根据历史数据位置确定请求数据位置的方法的举例说明,并不构成限定,在本发明的一些其它的实施例中,也可以是获取从外部存储器接收的若干历史数据在外部存储器中的存储位置作为若干第二历史位置,然后根据若干第二历史位置确定请求数据位置。其中,若干历史数据可以是当前时刻之前预设时长范围内接收到的数据,也可以是当前时刻之前预设次数的数据,还可以是当前时刻之前接收到的与目标读取数据相关的若干历史数据,具体可以根据实际需要进行设置,每个历史数据即对应一个第二历史位置,第二历史位置即为各个历史数据在外部存储器中的存储位置。在本发明的一些实施例中,可以将各个第二历史位置周围预设范围内的数据存储位置的合集作为请求数据位置。例如,若干第二历史位置分别为C、D、E、F,预设范围为±B,则请求数据位置为(C±B)∪(D±B)∪(E±B)∪(F±B)。可以理解的是,前述仅为本发明一些实施例中根据若干第二历史位置确定请求数据位置的举例说明,并不构成限定,在本发明的一些其它的实施例中,也可以是首先确定若干第二历史位置的中心位置;然后将中心位置周围预设范围内的数据存储位置作为请求数据位置。其中,若干第二历史位置的中心位置例如可以是若干第二历史位置的平均位置,也可以是距离若干第二历史位置的距离和值最小的存储位置,具体可以根据实际需要进行设置。
步骤S104:向外部存储器发送第一数据请求,第一数据请求至少包括请求数据位置。
在本步骤中,缓存单元可以向外部存储器发送第一数据请求,其中,第一数据请求中包括有请求数据位置,外部存储器即可根据请求数据位置向处理器发送请求数据位置所存储的数据。
步骤S105:接收外部存储器根据第一数据请求发送的请求数据,从请求数据中读取目标读取数据至处理单元。
在本步骤中,请求数据即为外部存储器中存储在请求数据位置的数据。外部存储器在接收到第一数据请求后,由于第一数据请求中包括有请求数据位置,外部存储器即将存储在请求数据位置的数据发送到处理器,处理器接收外部存储器发送的请求数据,然后从接收到的请求数据中读取目标读取数据至处理单元。
与现有技术相比,本发明实施例一所提供的数据处理方法中在需要读取目标读取数据时,如果缓存单元中存在目标读取数据,直接从缓存单元中读取目标读取数据至处理单元,无需从外部存储器获取数据,减少数据读取过程中的延时时长;而如果缓存单元中不存在目标读取数据,则根据历史数据位置确定请求数据位置,由于历史数据位置为从外部存储器接收的历史数据在外部存储器中的存储位置,然后向外部存储器发送第一数据请求,第一数据请求至少包括请求数据位置,根据数据的局部性原理,处理器访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。因此本申请中在缓存单元内不存在目标读取数据时,根据历史数据位置从外部存储器中获取请求数据,并从这些请求数据中获取目标数据,直接定位外部数据中的数据位置,同样可以减少数据读取过程的延时时长。
本发明实施例二提供了一种数据处理方法,具体如图3所示,包括以下步骤:
步骤S201:判断缓存单元内是否存在目标读取数据,若是,执行步骤S202,若否,执行步骤S203。
步骤S202:从缓存单元内读取目标读取数据至处理单元。
步骤S203:根据历史数据位置确定请求数据位置,历史数据位置为从外部存储器接收的历史数据在外部存储器中的存储位置。
步骤S204:向外部存储器发送第一数据请求,第一数据请求至少包括请求数据位置。
可以理解的是,本发明实施例二所提供的数据处理方法中的步骤S201至步骤S204与实施例一中的步骤S101至步骤S104大致相同,具有可以参照前述实施例中的具体说明,在此不进行赘述。
步骤S205:接收外部存储器根据第一数据请求发送的请求数据,判断请求数据中是否存在目标读取数据,若是,执行步骤S206,若否,执行步骤S207。
在本步骤中,根据请求数据位置从外部存储器接收到请求数据后,对请求数据中是否存在目标读取数据进行判断,如果请求数据中存在目标读取数据,则执行步骤S206,如果请求数据中不存在目标读取数据,则执行步骤S207。
步骤S206:从请求数据中读取目标读取数据至处理单元。
在本步骤中,可以是直接从请求数据中读取目标读取数据至处理单元,而无需将请求数据存入缓存单元,从而降低处理单元读取目标读取数据的时延时长。
步骤S207:向外部存储器发送第二数据请求以向外部存储器请求目标读取数据。
在本步骤中,如果请求数据中不存在目标读取数据,则说明数据的局部性原理失效,此时可以根据目标读取数据的数据特征等手段向外部存储器请求目标读取数据。具体的,例如可以将目标读取数据的数据特征写入第二数据请求中,然后将第二数据请求发送至外部存储器,外部存储器即可根据目标读取数据的数据特征向处理器发送目标读取数据。
与现有技术相比,本发明实施例二所提供的数据处理方法中保留了实施例一中的全部技术特征,因此同样具备与实施例一相同的技术效果,具体可以参照实施例一中的具体说明,在此不进行赘述;此外,在本发明实施例二所提供的数据处理方法中,在根据历史数据位置从外部存储器请求的请求数据中不存在需要读取的目标读取数据时,向外部存储器发送第二数据请求以向外部存储器请求目标读取数据,从而保证对目标读取数据的成功读取。
本发明实施例三提供了一种数据处理方法,具体如图4所示,包括以下步骤:
步骤S301:判断缓存单元内是否存在目标读取数据,若是,执行步骤S302,若否,执行步骤S303。
步骤S302:从缓存单元内读取目标读取数据至处理单元。
步骤S303:根据历史数据位置确定请求数据位置,历史数据位置为从外部存储器接收的历史数据在外部存储器中的存储位置。
步骤S304:向外部存储器发送第一数据请求,第一数据请求至少包括请求数据位置。
步骤S305:接收外部存储器根据第一数据请求发送的请求数据,从请求数据中读取目标读取数据至处理单元。
可以理解的是,本发明实施例三所提供的数据处理方法中的步骤S301至步骤S305与实施例一中的步骤S101至步骤S105大致相同,具有可以参照前述实施例中的具体说明,在此不进行赘述。
步骤S306:处理单元向缓存单元内写入目标写入数据,缓存单元在目标写入数据写入完成后向处理单元发送写完成信息。
在本步骤中,处理单元还可以向缓存单元内写入数据,在当前时刻向缓存单元内写入的数据即为目标写入数据。在目标写入数据写入完成后,缓存单元即向处理单元发送写完成信息,处理单元在接收到写完成信息后,即完成数据写入的认为,处理单元即可执行后续的其它数据处理任务。
在本发明的一些实施例中,处理单元在向缓存单元内写入数据时,可以使用部分页写入的方式进行数据写入。即获取缓存单元与外部存储器之间的预设部分页映射,部分页映射包括若干部分页编码和与部分页编码一一对应的数据存储地址;获取目标写入数据的目标部分页编码,根据目标部分页编码从部分页映射中获取与目标部分页编码一一对应的目标数据存储地址;向外部存储器发送第三数据请求,第三数据请求至少包括目标数据存储地址;接收外部存储器的回复数据,回复数据为外部存储器在目标数据存储地址存储的数据;将目标写入数据和回复数据合并后写入缓存单元。通过部分页写入的方式向缓存单元中写入数据,部分页写入的方式可以有效的提高写入效率。
可以理解的是,前述仅为本发明一些实施例中处理单元向缓存单元写入数据的方法的举例说明,并不构成限定,在本发明的一些实施例中,处理单元在向缓存单元内写入数据时,还可以是经由原子操作的方式进行数据写入。具体可以根据实际需要进行设置。
步骤S307:缓存单元在目标写入数据写入完成后将目标写入数据发送至外部存储器。
可以理解的是,本发明实施例三所提供的数据处理方法中,数据读取过程和数据写入过程之间不存在时间线上的先后关系,可以是先进行数据读取后进行数据写入,也可以是先进行数据写入后进行数据读取,还可以是两者同时进行,数据读取过程和数据写入过程之间互不影响。
与现有技术相比,本发明实施例三所提供的数据处理方法中,在处理单元需要向外部存储器写入数据时,处理单元首先向缓存单元写入目标写入数据,缓存单元在目标写入数据写入完成后向处理单元发送写完成信息,然后由缓存单元将目标写入数据发送至外部存储器,处理单元在接收到写完成信息后,即完成数据写入的认为,处理单元即可执行后续的其它数据处理任务,由于处理单元与缓存单元之间的数据传输效率高于处理单元与外部存储器之间的数据传输效率,因此可以有效的提升处理单元的数据写入任务的执行效率。
本发明实施例四提供了一种处理器,具体如图1所示,包括:缓存单元100100和处理单元200200。其中,处理单元200用于判断缓存单元100内是否存在目标读取数据;若缓存单元100内存在目标读取数据,处理单元200还用于从缓存单元100内读取目标读取数据;若缓存单元100内不存在目标读取数据,处理单元200还用于根据历史数据位置确定请求数据位置,历史数据位置为从外部存储器接收的历史数据在外部存储器中的存储位置,缓存单元100还用于向外部存储器发送第一数据请求,第一数据请求至少包括请求数据位置;缓存单元100还用于接收外部存储器根据第一数据请求回复的请求数据,处理单元200还用于从请求数据中读取目标读取数据至处理单元200。
与现有技术相比,本发明实施例四所提供的处理器中,在处理单元200需要读取目标读取数据时,如果缓存单元100中存在目标读取数据,处理单元200直接从缓存单元100中读取目标读取数据至处理单元200,无需从外部存储器获取数据,减少数据读取过程中的延时时长;而如果缓存单元100中不存在目标读取数据,则处理单元200可以根据历史数据位置确定请求数据位置,历史数据位置为从外部存储器接收的历史数据在外部存储器中的存储位置,然后向外部存储器发送第一数据请求,第一数据请求至少包括请求数据位置,根据数据的局部性原理,处理器访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中,因此本申请中在缓存单元100内不存在目标读取数据时,根据历史数据位置从外部存储器中获取请求数据,并从这些请求数据中获取目标数据,直接定位外部数据中的数据位置,同样可以减少数据读取过程的延时时长。
进一步的,在本发明的一些实施例中,处理单元200还用于向缓存单元100内写入目标写入数据,缓存单元100在目标写入数据写入完成后向处理单元200发送写完成信息;缓存单元100还用于在目标写入数据写入完成后将目标写入数据发送至外部存储器。
在本发明的一些其它的实施例中,处理单元200还用于获取缓存单元100与外部存储器之间的预设部分页映射,部分页映射包括若干部分页编码和与部分页编码一一对应的数据存储地址;处理单元200还用于获取目标写入数据的目标部分页编码,根据目标部分页编码从部分页映射中获取与目标部分页编码一一对应的目标数据存储地址;缓存单元100还用于向外部存储器发送第三数据请求,第三数据请求至少包括目标数据存储地址;缓存单元100还用于接收外部存储器的回复数据,回复数据为外部存储器在目标数据存储地址存储的数据,并将目标写入数据和回复数据合并后写入缓存单元100。
可以理解的是,本发明实施例四所提供的处理器为与前述实施例一、二、三所对应的装置的实施例,前述实施例一、二、三中的技术细节同样可以应用于本发明实施例四所提供的处理器中,同样的,本发明实施例四中的技术细节同样可以应用于前述实施例一、二、三中。
本发明实施例五涉及一种电子设备,如图5所示,包括:如前述实施例四所提供的处理器501;以及,与处理器501通信连接的外部存储器502;处理器501用于执行如前述实施例一、二、三中任一项的数据处理方法,外部存储器502用于向处理器501发送数据。
其中,外部存储器502和处理器501采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和外部存储器502的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器501处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器501。
处理器501负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而外部存储器502可以被用于存储处理器501在执行操作时所使用的数据。
本发明实施例六涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种数据处理方法,其特征在于,应用于包括缓存单元和处理单元的处理器,所述数据处理方法包括:
判断所述缓存单元内是否存在目标读取数据;
若所述缓存单元内存在所述目标读取数据,从所述缓存单元内读取所述目标读取数据至所述处理单元;
若所述缓存单元内不存在所述目标读取数据,根据历史数据位置确定请求数据位置,所述历史数据位置为从外部存储器接收的历史数据在所述外部存储器中的存储位置;
向所述外部存储器发送第一数据请求,所述第一数据请求至少包括所述请求数据位置;
接收所述外部存储器根据所述第一数据请求发送的请求数据,从所述请求数据中读取所述目标读取数据至所述处理单元。
2.根据权利要求1所述的数据处理方法,其特征在于,所述从所述请求数据中读取所述目标读取数据前,所述数据处理方法还包括:
判断所述请求数据中是否存在所述目标读取数据;
若所述请求数据中存在所述目标读取数据,执行步骤:从所述请求数据中读取所述目标读取数据;
若所述请求数据中不存在所述目标读取数据,向所述外部存储器发送第二数据请求以向所述外部存储器请求所述目标读取数据。
3.根据权利要求1所述的数据处理方法,其特征在于,所述根据历史数据位置确定请求数据位置,包括:
获取上一次从所述外部存储器接收的历史数据在所述外部存储器中的存储位置作为第一历史位置;
将所述第一历史位置周围预设范围内的数据存储位置作为所述请求数据位置。
4.根据权利要求1所述的数据处理方法,其特征在于,所述根据历史数据位置确定请求数据位置,包括:
获取从所述外部存储器接收的若干历史数据在所述外部存储器中的存储位置作为若干第二历史位置;
根据所述若干第二历史位置确定所述请求数据位置。
5.根据权利要求4所述的数据处理方法,其特征在于,所述根据所述若干第二历史位置确定所述请求数据位置,包括:
将各个所述第二历史位置周围预设范围内的数据存储位置的合集作为所述请求数据位置。
6.根据权利要求4所述的数据处理方法,其特征在于,所述根据所述若干第二历史位置确定所述请求数据位置,包括:
确定所述若干第二历史位置的中心位置;
将所述中心位置周围预设范围内的数据存储位置作为所述请求数据位置。
7.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理方法还包括:
所述处理单元向所述缓存单元内写入目标写入数据,所述缓存单元在所述目标写入数据写入完成后向所述处理单元发送写完成信息;
所述缓存单元在所述目标写入数据写入完成后将所述目标写入数据发送至所述外部存储器。
8.根据权利要求7所述的数据处理方法,其特征在于,所述向所述缓存单元内写入目标写入数据,包括:
获取所述缓存单元与所述外部存储器之间的预设部分页映射,所述部分页映射包括若干部分页编码和与所述部分页编码一一对应的数据存储地址;
获取所述目标写入数据的目标部分页编码,根据所述目标部分页编码从所述部分页映射中获取与所述目标部分页编码一一对应的目标数据存储地址;
向所述外部存储器发送第三数据请求,所述第三数据请求至少包括所述目标数据存储地址;
接收所述外部存储器的回复数据,所述回复数据为所述外部存储器在所述目标数据存储地址存储的数据;
将所述目标写入数据和所述回复数据合并后写入所述缓存单元。
9.根据权利要求1至8中任一项所述的数据处理方法,其特征在于,所述处理单元与所述缓存单元经由原子操作进行数据读取和/或数据写入。
10.一种处理器,其特征在于,包括:
缓存单元和处理单元;
所述处理单元用于判断所述缓存单元内是否存在目标读取数据;
若所述缓存单元内存在所述目标读取数据,所述处理单元还用于从所述缓存单元内读取所述目标读取数据;
若所述缓存单元内不存在所述目标读取数据,所述处理单元还用于根据历史数据位置确定请求数据位置,所述历史数据位置为从外部存储器接收的历史数据在所述外部存储器中的存储位置,所述缓存单元还用于向所述外部存储器发送第一数据请求,所述第一数据请求至少包括所述请求数据位置;
所述缓存单元还用于接收所述外部存储器根据所述第一数据请求回复的请求数据,所述处理单元还用于从所述请求数据中读取所述目标读取数据至所述处理单元。
11.根据权利要求10所述的处理器,其特征在于,所述处理单元还用于向所述缓存单元内写入目标写入数据,所述缓存单元在所述目标写入数据写入完成后向所述处理单元发送写完成信息;所述缓存单元还用于在所述目标写入数据写入完成后将所述目标写入数据发送至所述外部存储器。
12.根据权利要求10所述的处理器,其特征在于,所述处理单元还用于获取所述缓存单元与所述外部存储器之间的预设部分页映射,所述部分页映射包括若干部分页编码和与所述部分页编码一一对应的数据存储地址;
所述处理单元还用于获取所述目标写入数据的目标部分页编码,根据所述目标部分页编码从所述部分页映射中获取与所述目标部分页编码一一对应的目标数据存储地址;
所述缓存单元还用于向所述外部存储器发送第三数据请求,所述第三数据请求至少包括所述目标数据存储地址;
所述缓存单元还用于接收所述外部存储器的回复数据,所述回复数据为所述外部存储器在所述目标数据存储地址存储的数据,并将所述目标写入数据和所述回复数据合并后写入所述缓存单元。
13.一种电子设备,其特征在于,包括:
如权利要求10至12中任一项所述的处理器;以及,与所述处理器通信连接的外部存储器;
所述处理器用于执行如权利要求1至9中任一项所述的数据处理方法,所述外部存储器用于向所述处理器发送数据。
14.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行实现权利要求1至9中任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310465763.2A CN116627866A (zh) | 2023-04-26 | 2023-04-26 | 数据处理方法、处理器、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310465763.2A CN116627866A (zh) | 2023-04-26 | 2023-04-26 | 数据处理方法、处理器、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116627866A true CN116627866A (zh) | 2023-08-22 |
Family
ID=87635605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310465763.2A Pending CN116627866A (zh) | 2023-04-26 | 2023-04-26 | 数据处理方法、处理器、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116627866A (zh) |
-
2023
- 2023-04-26 CN CN202310465763.2A patent/CN116627866A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647480B (zh) | 数据处理方法、远程直接访存网卡和设备 | |
CN110275841B (zh) | 访问请求处理方法、装置、计算机设备和存储介质 | |
US7844760B2 (en) | Schedule and data caching for wireless transmission | |
CN109564545B (zh) | 用于压缩地址的方法和设备 | |
US9489328B2 (en) | System on chip and method for accessing device on bus | |
CN103019838B (zh) | 一种基于多dsp处理器平台的分布式实时多任务操作系统 | |
US9552279B2 (en) | Data bus network interface module and method therefor | |
US20120311241A1 (en) | Scheduler for memory | |
CN109284108B (zh) | 无人车数据存储方法、装置、电子设备及存储介质 | |
CN109086168A (zh) | 一种利用硬件备份固态硬盘写速度的方法及其系统 | |
US20110246667A1 (en) | Processing unit, chip, computing device and method for accelerating data transmission | |
CN115827506A (zh) | 数据写入方法、数据读取方法、装置、处理核和处理器 | |
CN114296646A (zh) | 基于io业务的缓存方法、装置、服务器和存储介质 | |
CN111552652B (zh) | 基于人工智能芯片的数据处理方法、装置和存储介质 | |
CN116627866A (zh) | 数据处理方法、处理器、电子设备及计算机可读存储介质 | |
CN113220608B (zh) | 一种NVMe命令处理器及其处理方法 | |
CN111913812B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US8677028B2 (en) | Interrupt-based command processing | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
WO2014027223A1 (en) | Data bus network interface module and method therefor | |
CN209590838U (zh) | 一种SoC系统 | |
CN111382092A (zh) | 传感器网络、方法及存储介质 | |
CN116991593B (zh) | 操作指令处理方法、装置、设备及存储介质 | |
CN110489359B (zh) | 一种数据传输控制方法及系统 | |
CN116974963B (zh) | 一种访问存储器的装置及其方法、芯片、存储介质 |
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 |