CN110941569B - 数据处理方法、装置及处理器芯片 - Google Patents

数据处理方法、装置及处理器芯片 Download PDF

Info

Publication number
CN110941569B
CN110941569B CN201911127025.7A CN201911127025A CN110941569B CN 110941569 B CN110941569 B CN 110941569B CN 201911127025 A CN201911127025 A CN 201911127025A CN 110941569 B CN110941569 B CN 110941569B
Authority
CN
China
Prior art keywords
data
cache
replaced
replaced data
storage address
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.)
Active
Application number
CN201911127025.7A
Other languages
English (en)
Other versions
CN110941569A (zh
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.)
New H3C Semiconductor Technology Co Ltd
Original Assignee
New H3C Semiconductor Technology Co Ltd
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 New H3C Semiconductor Technology Co Ltd filed Critical New H3C Semiconductor Technology Co Ltd
Priority to CN201911127025.7A priority Critical patent/CN110941569B/zh
Publication of CN110941569A publication Critical patent/CN110941569A/zh
Application granted granted Critical
Publication of CN110941569B publication Critical patent/CN110941569B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0871Allocation or management of cache space

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中。可见,本申请通过增加监测模块,触发Cache重新缓存被替换数据,以保证关键数据常驻Cache。该处理过程无需处理器芯片中的处理器参与,可节约处理器的处理时间,提升处理器的处理性能。

Description

数据处理方法、装置及处理器芯片
技术领域
本申请涉及网络通信技术领域,尤其涉及一种数据处理方法、装置及处理器芯片。
背景技术
处理器芯片普遍集成有处理器和高速缓存器(Cache),Cache的读取速率明显高于普通存储器,因此,可利用Cache缓存普通存储器中的数据。当处理器读取数据时,可直接从Cache中读取,从而提升处理器的处理性能。
然而,Cache的存储容量也有限。一旦被填满,后续接收到的数据则会替换掉Cache中的已有数据。在实际使用过程中,通常有一些需要频繁使用的关键数据。用户希望这些关键数据可以常驻Cache中,以提升处理器对这些关键数据的处理效率。
为此,现有技术采用Cache锁存功能来实现关键数据常驻Cache中。具体为,在关键数据缓存到Cache中时,由处理器下发锁存指令,对关键数据所在Cache块加锁,从而避免关键数据被替换。可以看出,该锁存过程需要处理器参与,这在一定程度上仍会影响处理器的处理性能。
发明内容
有鉴于此,本申请提出一种数据处理方法、装置及处理器芯片,用以提升处理器的处理性能。
为实现上述申请目的,本申请提供了如下技术方案:
第一方面,本申请提供一种数据处理方法,应用于处理器芯片包括的监测模块中,所述处理器芯片还包括Cache,所述方法包括:
获取所述Cache中被替换数据的数据信息;
若基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,则触发所述Cache从所述存储器中读取所述被替换数据并缓存至所述Cache中。
可选的,所述被替换数据的数据信息为所述被替换数据的存储地址,所述处理器芯片包括数据总线,以及所述监测模块通过所述数据总线与所述Cache连接,所述触发所述Cache从所述存储器中读取所述被替换数据,包括:
通过所述数据总线向所述Cache发送第一数据读取指令,所述第一数据读取指令包括所述被替换数据的存储地址,以使所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
可选的,所述被替换数据的数据信息为所述被替换数据的存储地址,所述处理器芯片包括多路选择模块,以及所述监测模块通过所述多路选择模块与所述Cache连接,所述触发所述Cache从所述存储器中读取所述被替换数据,包括:
通过所述多路选择模块向所述Cache发送第二数据读取指令,所述第二数据读取指令包括所述被替换数据的存储地址,以使所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
可选的,所述触发所述Cache从所述存储器中读取所述被替换数据,包括:
所述监测模块位于所述Cache内部,所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
可选的,所述基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,包括:
获取所述Cache中所述被替换数据在预设时间段内的被访问次数;
若所述被访问次数大于预设的次数阈值,确定所述被替换数据满足重新缓存条件。
可选的,所述被替换数据的数据信息为所述被替换数据的存储地址,所述基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,包括:
获取预设的待监测地址范围,所述待监测地址范围包括所有需要重新缓存的数据在存储器中的存储地址;
若所述待监测地址范围包括所述被替换数据的存储地址,则确定所述被替换数据满足重新缓存条件。
第二方面,本申请提供一种数据处理装置,应用于处理器芯片包括的监测模块中,所述处理器芯片还包括Cache,所述装置包括:
获取单元,用于获取所述Cache中被替换数据的数据信息;
触发单元,用于若基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,则触发所述Cache从所述存储器中读取所述被替换数据并缓存至所述Cache中。
可选的,所述被替换数据的数据信息为所述被替换数据的存储地址,所述处理器芯片包括数据总线,以及所述监测模块通过所述数据总线与所述Cache连接,所述触发单元触发所述Cache从所述存储器中读取所述被替换数据,包括:
通过所述数据总线向所述Cache发送第一数据读取指令,所述第一数据读取指令包括所述被替换数据的存储地址,以使所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
可选的,所述被替换数据的数据信息为所述被替换数据的存储地址,所述处理器芯片包括多路选择模块,以及所述监测模块通过所述多路选择模块与所述Cache连接,所述触发单元触发所述Cache从所述存储器中读取所述被替换数据,包括:
通过所述多路选择模块向所述Cache发送第二数据读取指令,所述第二数据读取指令包括所述被替换数据的存储地址,以使所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
可选的,所述触发单元触发所述Cache从所述存储器中读取所述被替换数据,包括:
所述监测模块位于所述Cache内部,所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
可选的,所述触发单元基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,包括:
获取所述Cache中所述被替换数据在预设时间段内的被访问次数;
若所述被访问次数大于预设的次数阈值,确定所述被替换数据满足重新缓存条件。
可选的,所述被替换数据的数据信息为所述被替换数据的存储地址,所述触发单元基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,包括:
获取预设的待监测地址范围,所述待监测地址范围包括所有需要重新缓存的数据在存储器中的存储地址;
若所述待监测地址范围包括所述被替换数据的存储地址,则确定所述被替换数据满足重新缓存条件。
第三方面,本申请提供一种处理器芯片,所述处理器芯片包括监测模块和Cache,所述监测模块用于实现上述数据处理方法。
由以上描述可以看出,本申请中,通过增加监测模块,对Cache中被替换数据进行监测。若确定该被替换数据需要重新缓存(通常为需要频繁使用的关键数据),则触发Cache从存储器中读取该被替换数据重新缓存到Cache中,以保证处理器对这部分数据的处理效率。可以看出,该处理过程无需处理器参与,可节约处理器的处理时间,提升处理器的处理性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例示出的一种数据处理方法流程图;
图2是本申请实施例示出的一种确定被替换数据是否满足重新缓存条件的实现流程;
图3是本申请实施例示出的另一种确定被替换数据是否满足重新缓存条件的实现流程;
图4是本申请实施例示出的一种通过数据总线连接的示意图;
图5是本申请实施例示出的一种通过多路选择模块连接的示意图;
图6是本申请实施例示出的一种监测模块位于Cache内部的示意图;
图7是本申请实施例示出的一种数据处理装置的结构示意图;
图8是本申请实施例示出的一种处理器芯片的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请实施例范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提供一种数据处理方法。该方法通过增加监测模块,对Cache中被替换数据进行监测。若确定该被替换数据需要重新缓存,则触发Cache从存储器中读取该被替换数据重新缓存到Cache中,以保证处理器对这部分数据的处理效率。可以看出,该处理过程无需处理器参与,可节约处理器的处理时间,提升处理器的处理性能。
为了使本申请实施例的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请实施例执行详细描述:
参见图1,为本申请实施例示出的一种数据处理方法流程图。该流程应用于处理器芯片包括的监测模块中。该监测模块为本申请新增模块。
本申请对处理器芯片的具体类型不作限定。作为一个实施例,该处理器芯片可以为网络处理器(全称:Network Processor,缩写:NP)芯片。
处理器芯片通常包括处理器和Cache。Cache具有高速缓存特性。处理器芯片利用Cache缓存存储器中的数据。当处理器需要读取数据时,可直接从Cache中快速读取,从而提升处理器的处理性能。
但是,Cache的存储容量较小,存储器的存储容量较大。一旦Cache被填满,后续从存储器中读取的数据需要替换Cache中已有的数据,才能缓存至Cache中,这样一来,频繁使用的关键数据有可能被替换。
为了使需要频繁使用的关键数据能够常驻Cache中,提升处理器对这部分数据的处理效率。本申请实施例中,监测模块可执行图1所示流程。
如图1所示,该流程可包括以下步骤:
步骤101,获取Cache中被替换数据的数据信息。
步骤102,若基于被替换数据的数据信息确定被替换数据满足重新缓存条件,则触发Cache从存储器中读取被替换数据并缓存至Cache中。
本申请通过增加监测模块,由监测模块根据Cache提供的被替换数据的数据信息,确定被替换数据是否满足重新缓存条件。
若监测模块确定被替换数据满足重新缓存条件,则触发Cache从存储器中读取被替换数据并缓存至Cache中。
若监测模块确定被替换数据不满足重新缓存条件,则不触发Cache从存储器中读取被替换数据,丢弃此次获取到的被替换数据的数据信息。
至此,完成图1所示流程。
通过图1所示流程可以看出,本申请实施例中,通过增加监测模块,对Cache中被替换数据进行监测。若确定该被替换数据需要重新缓存,则触发Cache从存储器中读取该被替换数据,重新缓存到Cache中,从而保证处理器对这部分数据的处理效率。可以看出,该处理过程无需处理器参与,可节约处理器的处理时间,提升处理器的处理性能。
下面对监测模块确定被替换数据是否满足重新缓存条件的过程进行描述。
作为一个实施例,参见图2,为本申请实施例示出的一种确定被替换数据是否满足重新缓存条件的实现流程。
如图2所示,该流程可包括以下步骤:
步骤201,获取Cache中被替换数据在预设时间段内的被访问次数。
Cache的基本操作单位为Cache块(亦可称为Cache line)。每一个Cache块可缓存一定数量的数据,比如,一个Cache块可缓存256个字节的数据。
本申请中,Cache可统计各Cache块在预设时间段内的被访问次数(比如,被处理器读取的次数)。这里,预设时间段为距离当前时间最近的一段时间。
当Cache块中数据被替换时,监测模块可通过步骤101获取到被替换数据的数据信息,该被替换数据的数据信息包括该被替换数据所在Cache块的被访问次数。
步骤202,若被访问次数大于预设的次数阈值,确定被替换数据满足重新缓存条件。
若被访问次数大于预设的次数阈值,说明该被替换数据最近频繁被处理器访问,需要保留在Cache中,因此,确定该被替换数据满足重新缓存条件。
若被访问次数不大于预设的次数阈值,说明该被替换数据最近被处理器访问的频率较低,不需要保留在Cache中,因此,确定该被替换数据不满足重新缓存条件。
至此,完成图2所示流程。
通过图2所示流程,监测模块可识别出需要重新缓存的被替换数据。
作为另一个实施例,参见图3,为本申请实施例示出的另一种确定被替换数据是否满足重新缓存条件的实现流程。
如图3所示,该流程可包括以下步骤:
步骤301,获取预设的待监测地址范围。
本实施例中,可将需要频繁使用的关键数据(需要重新缓存的数据)存储于存储器的指定存储空间。该指定存储空间的地址范围即为待监测地址范围。将该待监测地址范围预先配置到监测模块中。
当监测模块通过步骤101获取到被替换数据的数据信息(该被替换数据的数据信息包括被替换数据的存储地址)后,获取本地预先配置的待监测地址范围。
步骤302,若待监测地址范围包括被替换数据的存储地址,则确定被替换数据满足重新缓存条件。
如前所述,待监测地址范围包括所有需要重新缓存的数据在存储器中的存储地址。因此,当待监测地址范围包括被替换数据的存储地址时,说明该被替换数据为需要重新缓存的数据,即,满足重新缓存条件。
若待监测地址范围不包括被替换数据的存储地址,说明该被替换数据不需要重新缓存,即,确定被替换数据不满足重新缓存条件。
至此,完成图3所示流程。
通过图3所示流程,监测模块可识别出需要重新缓存的被替换数据。
下面对步骤102中监测模块触发Cache从存储器中读取被替换数据的过程进行描述。
本申请中,提供监测模块与Cache之间的多种连接方式。基于不同连接方式,监测模块触发Cache从存储器中读取被替换数据的过程也不同。
基于上述任一实施例,本实施例一中,监测模块通过处理器芯片中的数据总线与Cache连接。参见图4,为本申请实施例示出的一种通过数据总线连接的示意图。
如图4所示,监测模块401和Cache402均挂载在数据总线405上。当然,该数据总线405还可以挂载处理器403等其它模块,本申请对此不作限定。
作为一个实施例,监测模块401通过步骤101从Cache402获取被替换数据的数据信息,该被替换数据的数据信息包括被替换数据在预设时间段内的被访问次数、以及被替换数据在存储器404中的存储地址,以下简称被替换数据的存储地址。
监测模块401基于被替换数据在预设时间段内的被访问次数执行图2所示流程,确定该被替换数据是否满足重新缓存条件,若按照图2的流程确定被替换数据满足重新缓存条件,则监测模块401通过数据总线405向Cache402发送第一数据读取指令,该第一数据读取指令包括被替换数据的存储地址。这里,第一数据读取指令只是为便于区分而进行的命名,并非用于限定。
Cache402接收到第一数据读取指令后,获取该第一数据读取指令包括的被替换数据的存储地址,基于该被替换数据的存储地址从存储器404中读取被替换数据,缓存到Cache402中。
作为另一实施例,监测模块401通过步骤101从Cache402获取被替换数据的数据信息,该被替换数据的数据信息包括被替换数据的存储地址。监测模块401基于被替换数据的存储地址执行图3所示流程,确定该被替换数据是否满足重新缓存条件。若按照图3的流程确定被替换数据满足重新缓存条件,则监测模块401通过数据总线405向Cache402发送第一数据读取指令。该第一数据读取指令包括被替换数据的存储地址。Cache402接收到第一数据读取指令后,获取该第一数据读取指令包括的被替换数据的存储地址,基于该被替换数据的存储地址从存储器404中读取被替换数据,缓存到Cache402中。
这里,需要说明的是,数据总线405上通常挂载有多个模块(包括处理器403),各模块遵循总线仲裁机制使用数据总线,因此,不会发生访问冲突。该总线仲裁机制为现有技术,在此不再赘述。
至此,完成图4所示连接方式下,被替换数据重新缓存过程。
本实施例中,监测模块位于Cache外部,Cache仅需向监测模块提供被替换数据的数据信息,对Cache的现有处理逻辑改动最少,基本不影响Cache的读取性能。
本实施例二中,监测模块通过处理器芯片中的多路选择模块与Cache连接。参见图5,为本申请实施例示出的一种通过多路选择模块连接的示意图。
如图5所示,监测模块401和Cache402分别与多路选择模块406连接。多路选择模块406挂载在数据总线405上。
作为一个实施例,监测模块401通过步骤101从Cache402获取被替换数据的数据信息,该被替换数据的数据信息包括被替换数据在预设时间段内的被访问次数、以及被替换数据的存储地址。
监测模块401基于被替换数据在预设时间段内的被访问次数执行图2所示流程,确定该被替换数据是否满足重新缓存条件,若按照图2的流程确定被替换数据满足重新缓存条件,则监测模块401通过多路选择模块406向Cache402发送第二数据读取指令,该第二数据读取指令包括被替换数据的存储地址。这里,第二数据读取指令只是为便于区分而进行的命名,并非用于限定。Cache402接收到第二数据读取指令后,获取该第二数据读取指令包括的被替换数据的存储地址,基于该被替换数据的存储地址从存储器404中读取被替换数据,缓存到Cache402中。
作为另一实施例,监测模块401通过步骤101从Cache402获取被替换数据的数据信息,该被替换数据的数据信息包括被替换数据的存储地址。
监测模块401基于被替换数据的存储地址执行图3所示流程,确定该被替换数据是否满足重新缓存条件。若按照图3的流程确定被替换数据满足重新缓存条件,监测模块401通过多路选择模块406向Cache402发送第二数据读取指令,该第二数据读取指令包括被替换数据的存储地址。此时,Cache402接收到第二数据读取指令后,获取该第二数据读取指令包括的被替换数据的存储地址,基于该被替换数据的存储地址从存储器404中读取被替换数据,缓存到Cache402中。
这里,需要说明的是,多路选择模块406可接收到处理器403通过数据总线405发起的对Cache402的访问,也可接收到监测模块401发起的对Cache402的访问(第二数据读取指令)。多路选择模块406负责对处理器403和监测模块401发起的访问进行仲裁,以避免出现访问冲突。该多路选择模块406有多种实现方式,本申请对此不作限定。
至此,完成图5所示连接方式下,被替换数据重新缓存过程。
本实施例同样将监测模块置于Cache外部,可降低对Cache读取性能的影响。此外,由于多路选择模块仅需对处理器和监测模块的访问进行仲裁,因此,可提升监测模块获取到访问权的概率,降低数据读取指令的传输延时,提升数据缓存效率。
本实施例三中,监测模块位于Cache内部。参见图6,为本申请实施例示出的一种监测模块位于Cache内部的示意图。
如图6所示,监测模块401直接部署于Cache402内部。
作为一个实施例,监测模块401通过步骤101从Cache402获取被替换数据的数据信息,该被替换数据的数据信息包括被替换数据在预设时间段内的被访问次数。
监测模块401基于被替换数据在预设时间段内的被访问次数执行图2所示流程,确定该被替换数据是否满足重新缓存条件,若按照图2的流程确定被替换数据满足重新缓存条件,由于该监测模块401位于Cache402内部,Cache402可直接基于被替换数据的存储地址,从存储器404中读取被替换数据,缓存到Cache402中。
作为另一实施例,监测模块401通过步骤101从Cache402获取被替换数据的数据信息,该被替换数据的数据信息包括被替换数据的存储地址。
监测模块401基于被替换数据的存储地址执行图3所示流程,确定该被替换数据是否满足重新缓存条件,若按照图3的流程确定被替换数据满足重新缓存条件,Cache402可直接基于被替换数据的存储地址,从存储器404中读取被替换数据,缓存到Cache402中。
至此,完成图6所示连接方式下,被替换数据重新缓存过程。
本实施例中,由于监测模块位于Cache内部,不需要通过外部总线传输读取指令,因此,不影响处理器对Cache的访问。且由于监测模块与Cache之间在Cache内部交互,可使数据缓存效率更高。
以上为对本申请实施例提供的方法的描述,下面对本申请实施例提供的装置进行描述:
参见图7,为本申请实施例提供的装置的结构示意图。该装置包括:获取单元701和触发单元702,其中:
获取单元701,用于获取所述Cache中被替换数据的数据信息;
触发单元702,用于若基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,则触发所述Cache从所述存储器中读取所述被替换数据并缓存至所述Cache中。
作为一个实施例,所述被替换数据的数据信息为所述被替换数据的存储地址,所述处理器芯片包括数据总线,以及所述监测模块通过所述数据总线与所述Cache连接,所述触发单元702触发所述Cache从所述存储器中读取所述被替换数据,包括:
通过所述数据总线向所述Cache发送第一数据读取指令,所述第一数据读取指令包括所述被替换数据的存储地址,以使所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
作为一个实施例,所述被替换数据的数据信息为所述被替换数据的存储地址,所述处理器芯片包括多路选择模块,以及所述监测模块通过所述多路选择模块与所述Cache连接,所述触发单元702触发所述Cache从所述存储器中读取所述被替换数据,包括:
通过所述多路选择模块向所述Cache发送第二数据读取指令,所述第二数据读取指令包括所述被替换数据的存储地址,以使所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
作为一个实施例,所述触发单元702触发所述Cache从所述存储器中读取所述被替换数据,包括:
所述监测模块位于所述Cache内部,所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
作为一个实施例,所述触发单元702基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,包括:
获取所述Cache中所述被替换数据在预设时间段内的被访问次数;
若所述被访问次数大于预设的次数阈值,确定所述被替换数据满足重新缓存条件。
作为一个实施例,所述被替换数据的数据信息为所述被替换数据的存储地址,所述触发单元702基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,包括:
获取预设的待监测地址范围,所述待监测地址范围包括所有需要重新缓存的数据在存储器中的存储地址;
若所述待监测地址范围包括所述被替换数据的存储地址,则确定所述被替换数据满足重新缓存条件。
至此,完成图7所示装置的描述。本申请实施例中,通过增加监测模块,对Cache中被替换数据进行监测。若确定该被替换数据需要重新缓存,则触发Cache从存储器中读取该被替换数据,重新缓存到Cache中,从而保证处理器对这部分数据的处理效率。可以看出,该处理过程无需处理器参与,可节约处理器的处理时间,提升处理器的处理性能。
下面对本申请实施例提供的处理器芯片进行描述:
参见图8,为本申请实施例提供的一种处理器芯片的硬件结构示意图。该处理器芯片包括监测模块401和Cache402。监测模块401和Cache402可通过前述已介绍的多种连接方式连接,在此不再赘述。其中,监测模块401可执行上文描述的数据处理方法。
至此,完成图8所示处理器芯片的描述。
以上所述仅为本申请实施例的较佳实施例而已,并不用以限制本申请,凡在本申请实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种数据处理方法,其特征在于,应用于处理器芯片包括的监测模块中,所述监测模块为硬件模块,所述处理器芯片还包括高速缓存器Cache,所述方法包括:
获取所述Cache中被替换数据的数据信息,所述数据信息用于指示所述被替换数据是否为关键数据;
若基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,则触发所述Cache从存储器中读取所述被替换数据并缓存至所述Cache中。
2.如权利要求1所述的方法,其特征在于,所述被替换数据的数据信息包括所述被替换数据的存储地址,所述处理器芯片包括数据总线,以及所述监测模块通过所述数据总线与所述Cache连接,所述触发所述Cache从所述存储器中读取所述被替换数据,包括:
通过所述数据总线向所述Cache发送第一数据读取指令,所述第一数据读取指令包括所述被替换数据的存储地址,以使所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
3.如权利要求1所述的方法,其特征在于,所述被替换数据的数据信息包括所述被替换数据的存储地址,所述处理器芯片包括多路选择模块,以及所述监测模块通过所述多路选择模块与所述Cache连接,所述触发所述Cache从所述存储器中读取所述被替换数据,包括:
通过所述多路选择模块向所述Cache发送第二数据读取指令,所述第二数据读取指令包括所述被替换数据的存储地址,以使所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
4.如权利要求1所述的方法,其特征在于,所述触发所述Cache从所述存储器中读取所述被替换数据,包括:
所述监测模块位于所述Cache内部,所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
5.如权利要求1至4任一所述的方法,其特征在于,所述基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,包括:
获取所述Cache中所述被替换数据在预设时间段内的被访问次数;
若所述被访问次数大于预设的次数阈值,确定所述被替换数据满足重新缓存条件。
6.如权利要求1至4任一所述的方法,其特征在于,所述被替换数据的数据信息为所述被替换数据的存储地址,所述基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,包括:
获取预设的待监测地址范围,所述待监测地址范围包括所有需要重新缓存的数据在存储器中的存储地址;
若所述待监测地址范围包括所述被替换数据的存储地址,则确定所述被替换数据满足重新缓存条件。
7.一种数据处理装置,其特征在于,应用于处理器芯片包括的监测模块中,所述监测模块为硬件模块,所述处理器芯片还包括高速缓存器Cache,所述装置包括:
获取单元,用于获取所述Cache中被替换数据的数据信息,所述数据信息用于指示所述被替换数据是否为关键数据;
触发单元,用于若基于所述被替换数据的数据信息确定所述被替换数据满足重新缓存条件,则触发所述Cache从存储器中读取所述被替换数据并缓存至所述Cache中。
8.如权利要求7所述的装置,其特征在于,所述被替换数据的数据信息为所述被替换数据的存储地址,所述处理器芯片包括数据总线,以及所述监测模块通过所述数据总线与所述Cache连接,所述触发单元触发所述Cache从所述存储器中读取所述被替换数据,包括:
通过所述数据总线向所述Cache发送第一数据读取指令,所述第一数据读取指令包括所述被替换数据的存储地址,以使所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
9.如权利要求7所述的装置,其特征在于,所述被替换数据的数据信息为所述被替换数据的存储地址,所述处理器芯片包括多路选择模块,以及所述监测模块通过所述多路选择模块与所述Cache连接,所述触发单元触发所述Cache从所述存储器中读取所述被替换数据,包括:
通过所述多路选择模块向所述Cache发送第二数据读取指令,所述第二数据读取指令包括所述被替换数据的存储地址,以使所述Cache基于所述被替换数据的存储地址,从所述存储器中读取所述被替换数据。
10.一种处理器芯片,其特征在于,所述处理器芯片包括高速缓存器Cache和监测模块,所述监测模块用于实现权利要求1-6任一所述的方法。
CN201911127025.7A 2019-11-18 2019-11-18 数据处理方法、装置及处理器芯片 Active CN110941569B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911127025.7A CN110941569B (zh) 2019-11-18 2019-11-18 数据处理方法、装置及处理器芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911127025.7A CN110941569B (zh) 2019-11-18 2019-11-18 数据处理方法、装置及处理器芯片

Publications (2)

Publication Number Publication Date
CN110941569A CN110941569A (zh) 2020-03-31
CN110941569B true CN110941569B (zh) 2021-01-26

Family

ID=69906992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911127025.7A Active CN110941569B (zh) 2019-11-18 2019-11-18 数据处理方法、装置及处理器芯片

Country Status (1)

Country Link
CN (1) CN110941569B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446168B1 (en) * 2000-03-22 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamically switching a cache between direct-mapped and 4-way set associativity
CN101231621A (zh) * 2006-12-27 2008-07-30 英特尔公司 隐藏存储器访问模式
CN101625657A (zh) * 2008-07-09 2010-01-13 Arm有限公司 监控数据处理设备和概括监控数据
CN104077242A (zh) * 2013-03-25 2014-10-01 华为技术有限公司 一种缓存管理方法和装置
CN105224473A (zh) * 2015-09-15 2016-01-06 浪潮(北京)电子信息产业有限公司 一种固态硬盘缓存数据的更新方法及装置
CN106909515A (zh) * 2017-02-11 2017-06-30 郑州云海信息技术有限公司 面向混合主存的多核共享末级缓存管理方法及装置
CN107491397A (zh) * 2016-06-08 2017-12-19 三星电子株式会社 存储设备、存储模块和存储设备的操作方法
CN109491928A (zh) * 2018-11-05 2019-03-19 深圳乐信软件技术有限公司 缓存控制方法、装置、终端及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5829038A (en) * 1996-06-20 1998-10-27 Intel Corporation Backward inquiry to lower level caches prior to the eviction of a modified line from a higher level cache in a microprocessor hierarchical cache structure
JP2010237739A (ja) * 2009-03-30 2010-10-21 Fujitsu Ltd キャッシュ制御装置,情報処理装置およびキャッシュ制御プログラム
CN104123243B (zh) * 2013-04-24 2018-08-03 鸿富锦精密电子(天津)有限公司 数据缓存系统及方法
US9727481B2 (en) * 2015-02-17 2017-08-08 Hewlett Packard Enterprise Development Lp Cache eviction of inactive blocks using heat signature

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446168B1 (en) * 2000-03-22 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamically switching a cache between direct-mapped and 4-way set associativity
CN101231621A (zh) * 2006-12-27 2008-07-30 英特尔公司 隐藏存储器访问模式
CN101625657A (zh) * 2008-07-09 2010-01-13 Arm有限公司 监控数据处理设备和概括监控数据
CN104077242A (zh) * 2013-03-25 2014-10-01 华为技术有限公司 一种缓存管理方法和装置
CN105224473A (zh) * 2015-09-15 2016-01-06 浪潮(北京)电子信息产业有限公司 一种固态硬盘缓存数据的更新方法及装置
CN107491397A (zh) * 2016-06-08 2017-12-19 三星电子株式会社 存储设备、存储模块和存储设备的操作方法
CN106909515A (zh) * 2017-02-11 2017-06-30 郑州云海信息技术有限公司 面向混合主存的多核共享末级缓存管理方法及装置
CN109491928A (zh) * 2018-11-05 2019-03-19 深圳乐信软件技术有限公司 缓存控制方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN110941569A (zh) 2020-03-31

Similar Documents

Publication Publication Date Title
KR102319809B1 (ko) 데이터 처리 시스템 및 다중 트랜잭션들을 처리하는 방법
US20030033461A1 (en) Data processing system having an adaptive priority controller
CN105677580A (zh) 访问缓存的方法和装置
US20110002345A1 (en) Method and apparatus for dequeuing data
US8281103B2 (en) Method and apparatus for allocating storage addresses
CN107426113B (zh) 报文接收方法及网络设备
CN111949568B (zh) 一种报文处理方法、装置及网络芯片
CN106959929B (zh) 一种多端口访问的存储器及其工作方法
CN114356223A (zh) 存储器的访问方法及装置、芯片、电子设备
CN109426623A (zh) 一种读取数据的方法及装置
CN107025184B (zh) 一种数据管理方法及装置
CN113794764A (zh) 服务器集群的请求处理方法、介质和电子设备
CN115481048A (zh) 一种内存系统及芯片
CN110941569B (zh) 数据处理方法、装置及处理器芯片
US9195625B2 (en) Interconnect controller for a data processing device with transaction tag locking and method therefor
WO2005036313A2 (en) Queue register configuration structure
CN112306693B (zh) 数据包的处理方法和设备
US11093405B1 (en) Shared mid-level data cache
US10031884B2 (en) Storage apparatus and method for processing plurality of pieces of client data
CN117132446A (zh) Gpu的数据访问处理方法、装置及存储介质
JP2018506122A (ja) 適応モードのトランスレーションルックアサイドバッファ検索およびアクセスフォルト
CN107408071A (zh) 一种内存访问方法、装置和系统
US11036643B1 (en) Mid-level instruction cache
CN106057226B (zh) 双端口存储系统的存取控制方法
CN115964229B (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
GR01 Patent grant
GR01 Patent grant