CN115729649A - 一种数据缓存方法、有限状态机、处理器和存储系统 - Google Patents
一种数据缓存方法、有限状态机、处理器和存储系统 Download PDFInfo
- Publication number
- CN115729649A CN115729649A CN202111015838.4A CN202111015838A CN115729649A CN 115729649 A CN115729649 A CN 115729649A CN 202111015838 A CN202111015838 A CN 202111015838A CN 115729649 A CN115729649 A CN 115729649A
- Authority
- CN
- China
- Prior art keywords
- ascb
- cache
- fsm
- processor
- replacement priority
- 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
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例公开了一种数据缓存方法、有限状态机、处理器和存储系统,用于设置cacheline的替换优先级。本申请用于缓存系统,所述缓存系统包括缓存设备和有限状态机(finite state machine,FSM)获取缓存属性设置指令(attribute set of cache block,ASCB),ASCB包括主存空间的信息和替换优先级,然后FSM确定cacheline的主存空间,若cacheline的主存空间和ASCB中的主存空间相同,则FSM根据ASCB中的替换优先级设置cacheline的替换优先级。那么,当有新的cacheline进来该组时,可以优先剔除具有较高的替换优先级的cacheline,通过将较高替换优先级的cacheline存储不需要驻留时间长的数据,使得该cacheline中的数据可以优先被剔除,使其在组中的驻留时间较短,从而使得其他数据在组内的驻留时间更长,改进了缓存系统的性能。
Description
技术领域
本申请涉及存储领域,尤其涉及一种数据缓存方法、有限状态机、处理器和存储系统。
背景技术
在缓存系统中,缓存数据通常采用组相连(set associative)的映射方式。例如,缓 存设备具有多个组(set),每个组包括N个高速缓存线(cacheline),当新增cacheline进入该组时,多数情况下需要首先剔除该组中的其中一条cacheline。
在剔除组内的cacheline时,通常会按照特定的替换策略决定优先剔除哪条cacheline。例如,常见的替换策略有最近最少使用替换策略(least recently used,LRU)。具体的,组中每条cacheline都有一个替换优先级,不同的cacheline有不同的替 换优先级。当新增cacheline进入该组时,将该cacheline的替换优先级设置为组中低替 换优先级,并逐出组中高替换优先级的cacheline。
但是,该新增的cacheline需要至少经历过N次的变换才会被剔除,若该cacheline价值较低,其占用组中的时间较长,从而占用其他重要数据在组中的时间,影响缓存系 统的性能。
发明内容
本申请实施例提供了一种数据缓存方法、有限状态机、处理器和存储系统,用于设置 cacheline的替换优先级。
第一方面,本申请提供了一种数据缓存方法,用于缓存系统,所述缓存系统包括缓存 设备和有限状态机(finite state machine,FSM)获取缓存属性设置指令(attributeset of cache block,ASCB),ASCB包括主存空间的信息和替换优先级,然后FSM确定与所述主存空间对应的高速缓存线cacheline,并根据ASCB中的替换优先级设置cacheline的替换优先级。那么,当有新的cacheline进来该组时,可以优先剔除具有较高的替换优先级 的cacheline,通过将较高替换优先级的cacheline存储不需要驻留时间长的数据,使得 该cacheline中的数据可以优先被剔除,使其在组中的驻留时间较短,从而使得其他数据 在组内的驻留时间更长,改进了缓存系统的性能。
在一些可行的实现方式中,所述ASCB中的替换优先级包括最近最少使用(leastrecently used,LRU)或最近最常使用(most recently used,MRU),或,所述ASCB中 的替换优先级包括高替换优先级、中替换优先级或低替换优先级,所述ASCB中主存空间 的信息包括主存空间的物理地址,那么以后可以通过不同主存空间的替换优先级,使得重 要数据可以缓存较长时间,其他数据可以缓存较短时间。
在一些可行的实现方式中,所述ASCB中主存空间的信息包括寄存器编号、指示位和 数据映射范围,所述数据映射范围包括1/8/16/32或64个cacheline,那么处理器可以以较短的数据量表示主存空间的信息。
在一些可行的实现方式中,所述ASCB还包括缓存层级,所述缓存层级为一级缓存、二级缓存和/或三级缓存,以指示具体的ASCB所作用的缓存层级。
在一些可行的实现方式中,所述FSM接收处理器发送的所述ASCB,以使得FSM可以执 行该ASCB。
在一些可行的实现方式中,所述FSM向所述缓存器buffer发送所述ASCB,所述FSM从所述buffer中获取所述ASCB,以使得FSM可以根据ASCB对后续的新进的cacheline进 行处理。
第二方面,本申请提供了一种数据缓存方法,在本申请中,处理器生成ASCB,所述ASCB包括主存空间的信息和替换优先级,然后向FSM发送所述ASCB。那么,FSM可以根据ASCB处理对应的cacheline,当有新的cacheline进来该组时,可以优先剔除具有较高的 替换优先级的cacheline,通过将较高替换优先级的cacheline存储不需要驻留时间长的 数据,使得该cacheline中的数据可以优先被剔除,使其在组中的驻留时间较短,从而使 得其他数据在组内的驻留时间更长,改进了缓存系统的性能。
在一些可行的实现方式中,所述ASCB中的替换优先级包括最近最少使用LRU或最近 最常使用MRU,或,所述ASCB中的替换优先级包括高替换优先级、中替换优先级或低替换优先级,所述ASCB中主存空间的信息包括主存空间的物理地址,那么以后可以通过不同 主存空间的替换优先级,使得重要数据可以缓存较长时间,其他数据可以缓存较短时间。
在一些可行的实现方式中,所述ASCB中主存空间的信息包括寄存器编号、指示位和 数据映射范围,所述数据映射范围包括1/8/16/32或64个cacheline,那么处理器可以以较短的数据量表示主存空间的信息。
在一些可行的实现方式中,所述ASCB还包括缓存层级,所述缓存层级为一级缓存、二级缓存和/或三级缓存,以指示具体的ASCB所作用的缓存层级。
在一些可行的实现方式中,所述FSM接收处理器发送的所述ASCB,以使得FSM可以执 行该ASCB。
第三方面,本申请提供一种FSM,用于缓存系统,所述缓存系统包括缓存设备和所述 FSM,所述FSM用于执行前述第一方面中任一项所述的方法。
第四方面,本申请提供一种处理器,所述处理器用于执行前述第二方面中任一项所 述的方法。
第五方面,本申请提供一种存储系统,包括:FSM和处理器,其中,
所述FSM用于执行前述第一方面中所述FSM执行的任意一种方法;
所述处理器用于执行前述第二方面中所述处理器执行的任意一种方法。
第六方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存 储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面中任一项所述的方法。
本申请第七方面提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计 算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得 设备实施上述第一方面或者第二方面的任一种可能的实现方式所提供的方法。
本申请第八方面提供一种通信装置,该通信装置可以包括至少一个处理器、存储器和 通信接口。至少一个处理器与存储器和通信接口耦合。存储器用于存储指令,至少一个处 理器用于执行该指令,通信接口用于在至少一个处理器的控制下与其他通信装置进行通 信。该指令在被至少一个处理器执行时,使至少一个处理器执行第一方面或第一方面的任 意可能的实现方式中的方法。
本申请第九方面提供了一种芯片系统,该芯片系统包括处理器,用于支持通信装置 实现上述第一方面或第二方面任意一种可能的实现方式中所涉及的功能。
在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存通信装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器 件。
其中,第四至第七方面或者其中任一种可能实现方式所带来的技术效果可参见第一 方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
附图说明
图1-1本申请提供的一种存储系统的结构示意图;
图1-2为本申请提供的一种三级缓存系统的实施例示意图;
图1-3为本申请提供的一种双核三级缓存系统的实施例示意图;
图1-4为本申请提供的一种双簇的双核三级缓存系统的实施例示意图;
图1-5为本申请提供的一种通信设备的实施例示意图;
图1-6为本申请提供的一种通信设备的实施例示意图;
图1-7为本申请提供的一种通信设备的实施例示意图;
图2为本申请提供的一种数据缓存方法的实施例一的示意图;
图3为本申请提供的一种数据缓存方法的实施例二的示意图;
图4为本申请提供的一种数据缓存方法的实施例三的示意图;
图5为本申请提供的一种数据缓存方法的实施例四的示意图;
图6为本申请实施例提供的一种FSM的结构示意图;
图7为本申请实施例提供的一种处理器的结构示意图;
图8为本申请实施例提供的一种通信装置的结构示意图。
具体实施方式
本申请实施例提供了一种数据缓存方法、有限状态机、处理器和存储系统,用于设置cacheline的替换优先级。
下面结合附图,对本申请的实施例进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适 当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用 的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排 他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元, 而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
存储系统包括各种存储器、控制部件及管理信息调度的设备(硬件)和算法(软件), 其中存储器是存储系统的最重要的组成部分。存储器是用于存放数据的实际物理载体。 一个存储器无法同时满足存取速度快、存储容量大和成本低的要求,因此存储系统需要 有速度由慢到快、容量由大到小的多级层的存储器,以最优的控制调度算法和合理的成本,以构成具有性能可接受的存储系统。
请参考图1-1,为存储系统100的结构示意图,该存储系统100包括处理器110、缓存系统120和主存储器130。
在本申请实施例中,存储系统100可应用于芯片,其中可以使用静态随机存取存储器 (static random-access memory,SRAM)作为缓存系统120,提高存储系统100的读写速度。另外,存储系统100中的主存储器130通常使用容量大且价格低的设备,因此可以使 用双倍速率同步动态随机存储器(Double Data Rate,DDR)作为主存储器130,提高主存 储器的容量和降低成本。相比较主存储器130,缓存系统120的容量是有限的,当缓存系 统120的可用空间不足时,需要淘汰低价值数据,腾出存储空间容纳高价值的数据。在一 些可行的实现方式,存储系统100也可以应用于芯片之外的领域,缓存系统120可以为固 态硬盘(solid state drives,SSD),主存储器可以为机械硬盘(hard disk drive,HDD), 此处不做限定。
在本申请实施例中,存储系统100在进行写处理时,首先通过处理器110接收数据写 入请求,然后处理器110在缓存系统120中写入数据,接着将数据写入其他存储介质中,如缓存系统120和主存储器130。存储系统100在进行读处理时,首先通过处理器110接 收数据读取请求,然后从缓存系统120中查找,如果还没有找到,则从主存储器130中查 找,同时把读取到的数据作调入缓存系统120中作为缓存数据,后续可以从缓存系统120 中读取该缓存数据,提高了数据读取的效率。
在一些可行的实现方式中,缓存系统120可以组成多级缓存系统。以三级缓存系统为 例,请参考图1-2,为一个三级缓存系统的实施例示意图,缓存系统120包括一级缓存(L1cache)121、二级缓存(L2 cache)122和三级缓存(L3 cache)123。其中,当处理器 110访问缓存系统120,以读取目标数据时,首先访问一级缓存(L1 cache)121。如果在 一级缓存(L1cache)121没有找到目标数据,则继续访问二级缓存(L2 cache)122。如 果在二级缓存(L2cache)122没有找到目标数据,则继续访问三级缓存(L3 cache)123。 如果在三级缓存(L3cache)123没有找到目标数据,则访问主存储器130。需要说明的 是,一级缓存(L1 cache)121的访问速度比二级缓存(L2 cache)122更快,但是容量 更小,二级缓存(L2 cache)122的访问速度比三级缓存(L3 cache)123更快,但是容 量更小。在一些可行的实现方式中,一级缓存(L1 cache)121也可以为处理器110的一 部分,此处不做限定。在一些可能的实现方式中,一级缓存(L1 cache)121中可以包括 两个部分,其中一部分用于存放指令,另一部分用于存放数据。
在一些可行的实现方式中,缓存系统120还可以应用于多核系统级芯片(systemon chip,SOC)中。以双核系统级芯片为例,请参考图1-3,为一个双核三级缓存系统的实施例示意图,处理器110包括第一核111和第二核112。
缓存系统120包括一级缓存I(L1 cache I)121-1、一级缓存II(L1 cache II)121-2、 二级缓存(L2 cache)122和三级缓存(L3 cache)123。其中,一级缓存I(L1 cache I)121-1连接第一核111,一级缓存II(L1 cache II)121-2连接第二核112。在一些可行 的实现方式中,一级缓存I(L1 cache I)121-1也可以为第一核111的一部分,一级缓 存II(L1cache II)121-2也可以为第一核112的一部分,此处不做限定。在一些可能 的实现方式中,也可以每个核对应一个二级缓存(L2 cache),此处不作限定。
其中,当处理器110中的第一核111访问缓存系统120,以读取目标数据时,首先访问一级缓存I(L1 cache I)121-1,如果在一级缓存I(L1 cache I)121-1中没有找到 目标数据,则继续访问二级缓存(L2 cache)122,如果在二级缓存(L2 cache)122没有 找到目标数据,则继续访问三级缓存(L3 cache)123,如果在三级缓存(L3 cache)123 没有找到目标数据,则访问主存储器130。
同样的,当处理器110中的第二核112访问缓存系统120,以读取目标数据时,首先访问一级缓存II(L1 cache II)121-2,如果在一级缓存II(L1 cache II)121-2中没 有找到目标数据,则继续访问二级缓存(L2 cache)122,如果在二级缓存(L2 cache) 122没有找到目标数据,则继续访问三级缓存(L3 cache)123,如果在三级缓存(L3 cache) 123没有找到目标数据,则访问主存储器130。
由此可知,一级缓存I(L1 cache I)121-1为第一核111独享的缓存模块,一级缓存II(L1 cache II)121-2为第二核112独享的缓存模块,二级缓存(L2 cache)122则 为第一核111和第二核112共享的缓存模块。
在一些可行的实现方式中,缓存系统120还可以包括多个簇(cluster),每个簇包括第一核111、第二核112、一级缓存(L1 cache I)121-1、一级缓存(L1 cache II) 121-2和二级缓存(L2 cache)122。以双簇为例,请参考图1-4,为一个双簇的双核三级 缓存系统的实施例示意图。
对于每个簇,当处理器110中的第一核111访问缓存系统120,以读取目标数据时,首先访问一级缓存I(L1 cache I)121-1,如果在一级缓存I(L1 cache I)121-1中没 有找到目标数据,则继续访问二级缓存(L2 cache)122,如果在二级缓存(L2 cache) 122没有找到目标数据,则继续访问三级缓存(L3 cache)123,如果在三级缓存(L3 cache) 123没有找到目标数据,则访问主存储器130。
由此可知,一级缓存I(L1 cache I)121-1为第一核111独享的缓存模块,一级缓存II(L1 cache II)121-2为第二核112独享的缓存模块,二级缓存(L2 cache)122则 为第一核111和第二核112共享的缓存模块,而三级缓存(L3 cache)123则为第一簇和 第二簇共享的缓存模块。在一些可行的实现方式中,三级缓存(L3 cache)123又称为外 部缓存(external cache)。
为了简便说明,本申请可应用于如图1-5所示的通信设备200中,该通信设备200包括处理器210、FSM 220和缓存系统230。在一些可能的实现方式中,如图1-6所示,处理 器210还可以包括核211和TLB 212,其中,核211用于进行计算,TLB 212用于将基地 址转换为物理地址。其中,核211和TLB 212分别连接FSM 220,FSM 220连接缓存系统 230。在一些可能的实现方式中,缓存系统230可以为多级缓存系统。例如,如图1-7所 示,缓存系统230包括一级缓存231、二级缓存232和三级缓存233。
在一些可能的实现方式中,通信通信设备200可以为无线接入网设备或终端设备等。
其中,终端设备可以称为终端(terminal)、用户设备(user equipment,UE)、移动台 (mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制 (industrialcontrol)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术 (remotemedical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安 全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧 家庭(smart home)中的无线终端等等。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
无线接入网设备是终端设备通过无线方式接入到该移动通信系统中的接入设备,可 以是基站NodeB、演进型基站(evolved NodeB,eNB)、发送接收点(transmissionreception point,TRP)、5G移动通信系统中的下一代基站(next generation NodeB,gNB)、未来移动通信系统中的基站或WiFi系统中的接入节点等。本申请的实施例对无线 接入网设备所采用的具体技术和具体设备形态不做限定。
在缓存系统中,缓存数据通常采用组相连(set associative)的映射方式。例如,缓 存设备具有多个组(set),每个组包括N个高速缓存线(cacheline),当新增cacheline进入该组时,多数情况下需要首先剔除该组中的其中一条cacheline。
在剔除组内的cacheline时,通常会按照特定的替换策略决定优先剔除哪条cacheline。例如,常见的替换策略有最近最少使用替换策略(least recently used,LRU)。具体的,组中每条cacheline都有一个替换优先级,不同的cacheline有不同的替 换优先级。当新增cacheline进入该组时,将该cacheline的替换优先级设置为组中低替 换优先级,并逐出组中高替换优先级的cacheline。
但是,该新增的cacheline需要至少经历过N次的变换才会被剔除,若该cacheline价值较低,其占用组中的时间较长,从而占用其他重要数据在组中的时间,影响缓存系 统的性能。
本申请用于缓存系统,缓存系统包括缓存设备和有限状态机FSM,在本申请中,FSM获取缓存属性设置指令(attribute set of cache block,ASCB),ASCB包括主存空间的 信息和替换优先级,然后FSM确定cacheline的主存空间,若cacheline的主存空间和 ASCB中的主存空间相同,则FSM根据ASCB中的替换优先级设置cacheline的替换优先级。 那么,当有新的cacheline进来该组时,可以优先剔除具有较高的替换优先级的 cacheline,通过将较高替换优先级的cacheline存储不需要驻留时间长的数据,使得该 cacheline中的数据可以优先被剔除,使其在组中的驻留时间较短,从而使得其他数据在 组内的驻留时间更长,改进了缓存系统的性能。
示例性的,请参考图2,为本申请提供的一种数据缓存方法的实施例一,包括:
201、核生成ASCB。
在本申请实施例中,ASCB包括主存空间的信息和替换优先级。在一些可行的实现方 式中,主存空间的信息用于指示主存储器中的一段存储空间。例如,若主存储器为HDD,那么主存空间为该HDD中的一段存储空间。在一些可行的实现方式中,该存储空间可以为基地址,也可以为物理地址,此处不做限定。在一些可行的实现方式中,替换优先级可 以为LRU或MRU,也可以为高替换优先级、中替换优先级和低替换优先级,此次不做限 定。在一些可行的实现方式中,替换优先级还可以包括1级、2级、3级、……、10级, 此处不做限定。
例如,ASCB包括两个主存空间的信息和各自对应的替换优先级,两个主存空间的信 息包括主存空间1的信息和主存空间2的信息,主存空间1的信息对应替换优先级1,主存空间2的信息对应替换优先级2,其中,替换优先级1为LRU,替换优先级2为MRU。若 组内的cacheline 1对应主存空间1,那么设置该cacheline 1的替换优先级为LRU,当 有新的cacheline进入时,该cacheline 1将被剔除。若组内的cacheline 2对应主存空 间2,那么设置该cacheline 2的替换优先级为MRU,当有新的cacheline进入时,该 cacheline 2不会被马上剔除,需要替换优先级为MRU的N个新的cacheline进入时,而 期间该cacheline 2不再被访问,才有会剔除该cacheline 2。
续上述例子,ASCB包括两个主存空间的信息和各自对应的替换优先级,两个主存空 间的信息包括主存空间1的信息和主存空间2的信息,主存空间1的信息对应替换优先级1,主存空间2的信息对应替换优先级2,其中,替换优先级1为高替换优先级,替换优先 级2为低替换优先级。若组内的cacheline 1对应主存空间1,那么设置该cacheline 1 的替换优先级为高替换优先级,当有新的cacheline进入时,该cacheline 1将被剔除。 若组内的cacheline 2对应主存空间2,那么设置该cacheline 2的替换优先级为低替换 优先级,当有新的cacheline进入时,该cacheline 2不会被马上剔除,需要替换优先级 为中替换优先级或低替换优先级的N个新的cacheline进入时,才有会剔除该cacheline 2。
在一些可行的实现方式中,主存空间的信息可以包括寄存器编号、指示位和数据映 射范围,其中,寄存器编号、指示位和数据映射范围用于共同指示主存储器中的一段存储空间。
其中,寄存器编号用于指示寄存器。需要说明的是,寄存器可以为处理器的一部分,用于存储主存空间的基地址。在一些可行的实现方式中,对于具有32个寄存器的处 理器,寄存器编号可以由5个比特表示,分别为00000-11111(二进制),表示编号0-31 (十进制)的32个寄存器。在一些可行的实现方式中,寄存器中存储的主存空间的基地 址可以为1个cacheline所占用的存储空间,例如64字节。
在一些可行的实现方式中,指示位可以1个比特,为0或1,用于指示寄存器编号所指示的寄存器中存储的基地址为起点,向前或向后。例如,0指示向后,1指示向前。
在一些可行的实现方式中,数据映射范围可以为1CL、8CL、16CL、32CL或64CL等,其中,1CL表示1条cacheline占用的存储空间,例如64字节。那么,8CL表示64字节 /CL*8CL=512字节。在一些可行的实现方式中,数据映射范围可以由3个比特表示,此处 不做限定。
那么,由寄存器编号、指示位和数据映射范围组成主存空间的信息,可以实现共同指示主存储器中的一段存储空间。举例说明,寄存器编号为10(即二进制的01010),指 示位为1(即向前),数据映射范围为010(即十进制的2)。那么,假设寄存器编号所指 示的寄存器中存储的基地址为A,所指示主存储器中的一段存储空间为A至A+2CL的基地 址。又例如,寄存器编号为10(即二进制的01010),指示位为0(即向前),数据映射 范围为100(即十进制的4)。那么,假设寄存器编号所指示的寄存器中存储的基地址为A, 所指示主存储器中的一段存储空间为A-4CL至A的基地址。
在一些可行的实现方式中,若缓存系统为多级缓存系统,ASCB中还可以包括缓存层 级,用于指示该ASCB所作用的缓存层级。例如三级缓存系统,层级指示可以为2比特, 用于指示一级缓存、二级缓存或三级缓存。
需要说明的是,该ASCB可以表示一段主存空间的信息和对应的替换优先级,也可以 包括多段主存空间的信息和各段主存空间所对应的替换优先级,此处不做限定。
202、核向FSM发送ASCB。
在一些可行的实现方式中,当ASCB中的主存空间的信息为一段主存储器中的物理地 址时,核可以直接向FSM发送该ASCB,以使得FSM执行该ASCB。
在一些可行的实现方式中,当ASCB中的主存空间的信息为一段主存储器中的基地址 时,核可以先向TLB发送ASCB,通过TLB将基地址转换为物理地址,得到新的ASCB,该 新的ASCB中的主存空间的信息为物理地址,然后TLB向FSM转发给新的ASCB。
在一些可行的实现方式中,当ASCB中的主存空间的信息为一段主存储器中的基地址 时,核也可以直接向FSM发送该ASCB,然后FSM再向TLB发送该ASCB中的基地址,TLB 将基地址转换为物理地址,再返回给FSM,此处不做限定。
203、FSM执行ASCB。
在本申请实施例中,当FSM接收到ASCB后,FSM可以执行该ASCB。在一些可行的实现方式中,FSM接收到ASCB之后,可以首先确定ASCB中指示的缓存层级,例如一级缓 存。
举例说明,该ASCB指示一级缓存(L1 cache),该一级缓存中具有多个组,每个组中包括10个cacheline。FSM接收到ASCB后,可以逐个确定10个cacheline中各个 cacheline的替换优先级。
需要说明的是,ASCB中指示的主存空间的信息可以表示其中主存储器中的一段物理地 址,FSM确定该段物理地址是否在缓存系统中有对应cacheline。在一些可行的实现方式, 若在缓存系统中具有与该段物理地址对应的cacheline,FSM先确定该段物理地址对应的 组,再确定该组内的cacheline。
下面通过步骤2031-2033来描述FSM执行ASCB的具体过程。
2031、FSM确定ASCB中指示的主存空间的信息对应的cacheline。
需要说明的是,若ASCB指示有多段主存空间的信息和各段主存空间所对应的替换优 先级,则FSM可以确定ASCB中指示的多个主存空间的信息对应的多个cacheline。
在本申请实施例中,若FSM确定ASCB中指示的主存空间的信息对应的cacheline后, 可以执行步骤2032。
2032、FSM将该cacheline的替换优先级设置为ASCB中指示的该主存空间的信息对应 的替换优先级。
例如,若ASCB中与该主存空间对应的替换优先级为LRU或MRU,那么将该cacheline的替换优先级设置为LRU或MRU。又例如,ASCB中与该主存空间对应的替换优先级为高替 换优先级/中替换优先级/低替换优先级,那么将该cacheline的替换优先级设置为高替换 优先级/中替换优先级/低替换优先级。
当有新的cacheline进来该组时,可以优先剔除具有较高的替换优先级的cacheline,使得不重要的数据可以优先被剔除,使其在组中的驻留时间较短,从而使得 重要数据在组内的驻留时间更长,改进了缓存系统的性能。
2033、FSM调整cacheline的组内其他cacheline的替换优先级。
可选的,在一些可行的实现方式中,FSM调整了该cacheline的替换优先级后,可以调整cacheline的组内其他cacheline的替换优先级。例如,调高该cacheline的组内其 他cacheline的替换优先级。在一些可行的实现方式中,也可以不调整该cacheline的组 内其他cacheline的替换优先级,此处不做限定。需要说明的是,对组内其他cacheline 的替换优先级的调制,可以基于LRU策略,也可以基于再参考区间预测(Re-Reference IntervalPrediction,RRIP)策略,此处不做限定。
例如,组内有3个cacheline,其替换优先级分别是高替换优先级、中替换优先级和低替换优先级。若根据ASCB,其中一个cacheline的替换优先级由高替换优先级调整为低替换优先级,基于LUR策略,FSM将另外两个cacheline的替换优先级调整为高替换优先 级、中替换优先级。那么,当有新的cacheline进入时,剔除高替换优先级的cacheine。
又例如,组内有3个cacheline,其替换优先级分别是高替换优先级、中替换优先级和低替换优先级。若根据ASCB,其中一个cacheline的替换优先级由中替换优先级调整为低替换优先级,基于RRIP策略,FSM将其中替换优先级为中替换优先级的cacheline改为 高替换优先级的cacheline,不改变其中替换优先级为低替换优先级的cacheline的替换 优先级。那么,当有新的cacheline进入时,剔除高替换优先级的cacheine。
在一些可行的实现方式中,当FSM执行了该ASCB后,FSM可以丢弃该ASCB。在一些可行的实现方式中,FSM执行了该ASCB后,可以发送给buffer,让buffer对该ASCB进 行存储,以使得后续FSM可以继续使用该ASCB。
示例性的,请参考图3,为本申请提供的一种数据缓存方法的实施例二,包括:
301、核生成ASCB。
302、核向FSM发送ASCB。
303、FSM执行该ASCB。
步骤301-303和步骤201-203相同,此处不做赘述。
304、FSM向buffer发送该ASCB。
在本申请实施例中,FSM执行该ASCB后,可以发送给buffer,以使得buffer保存该ASCB。需要说明的是,该buffer的存储空间有限,当该buffer的剩余存储空间不足,若 新的ASCB进来,可以按先进先出的规则,剔除旧的ASCB,此处不做限定。
需要说明的是,当新的ASCB和旧的ASCB针对一个主存空间的替换优先级不同,那么 可以新的ASCB中关于该主存空间的替换优先级可以覆盖该旧的ASCB中关于该主存空间的 替换优先级。
在一些可行的实现方式中,若核持续向FSM发送多个ASCB时,当FSM正在执行ASCB时,若接收到新的ASCB时,FSM可以将新的ASCB先转发给buffer,当处理完当前的ASCB 之后,再从buffer中获取新的ASCB,以执行新的ASCB。需要说明的是,FSM对多个ASCB 的接收可以采用弱序要求,对其接收不同的ASCB的先后无明确的保序要求,允许指令上 调整顺序,但不丢弃,以减少对核对ASCB的调度的影响。
305、核向FSM发送访存信息,该访存信息包括cacheline。
在本申请实施例中,当核接收到对数据的访问请求时,确定该数据对应的cacheline,然后向FSM发送访存信息,该访存信息包括cacheline,用于向FSM指示该cacheline被访问,可以调整该cacheline的替换优先级。
306、FSM从buffer中获取ASCB。
在本申请实施例中,当FSM接收到访存信息后,从buffer中获取ASCB。
307、FSM执行该ASCB。
步骤307与步骤203相同,此处不做赘述。
308、FSM剔除替换优先级最高的cacheline。
在本申请实施例中,若该cacheline是组内原有的cacheline,则不剔除任何cacheline。若该cacheline是新的cacheline,则剔除组内替换优先级最高的 cacheline。
在一些可行的实现方式中,若替换优先级最高的cacheline有多个,例如两个cacheline的替换优先级都是高替换优先级,那么可以随机剔除一个,也可以按先进先出的规则,剔除驻留时间较长的cacheline。
在本申请实施例中,当有新的目标cacheline进来该组时,可以优先剔除组内具有较 高的替换优先级的cacheline,使其在组中的驻留时间较短,从而使得重要数据在组内的 驻留时间更长,改进了缓存系统的性能。
在一些可行的实现方式中,可以由FSM向buffer发送ASCB,也可以在核向FSM发送ASCB时,同时向buffer发送ASCB,让指令缓存器对该ASCB进行存储。而无需由FSM发 送给buffer,那么FSM执行完ASCB之后,即使丢弃ASCB,在后续FSM也可以在需要的时 候执行该ASCB。
示例性的,请参考图4,为本申请提供的一种数据缓存方法的实施例三,包括:
401、核生成ASCB。
402、核向FSM发送该ASCB。
403、FSM执行该ASCB。
步骤401-403和步骤201-203相同,此处不做赘述。
404、核向buffer发送该ASCB。
请参考步骤304相同,此处不做赘述。
405、核向FSM发送访存信息,该访存信息包括目标cacheline。
406、FSM从buffer中获取ASCB。
步骤405-406和步骤305-306相同,此处不做赘述。
407、FSM执行该ASCB。
步骤407与步骤203相同,此处不做赘述。
408、FSM剔除替换优先级最高的cacheline。
步骤408与步骤308相同,此处不做赘述。
在本申请实施例中,当有新的目标cacheline进来该组时,可以优先剔除组内具有较 高的替换优先级的cacheline,使其在组中的驻留时间较短,从而使得重要数据在组内的 驻留时间更长,改进了缓存系统的性能。
在一些可行的实现方式中,核也可以不向FSM发送ASCB,而仅向buffer发送ASCB,让buffer对该ASCB进行存储。那么,当FSM需要执行ASCB时,可以从buffer中获取 ASCB,并执行该ASCB。
示例性的,请参考图5,为本申请提供的一种数据缓存方法的实施例四,包括:
501、核生成ASCB。
步骤501和步骤201相同,此处不做赘述。
502、核向buffer发送该ASCB。
请参考步骤304相同,此处不做赘述。
503、核向FSM发送访存信息,该访存信息包括目标cacheline。
504、FSM从buffer中获取ASCB。
步骤503-504和步骤305-306相同,此处不做赘述。
505、FSM执行该ASCB。
步骤505与步骤203相同,此处不做赘述。
在一些可行的实现方式中,FSM可以对访存信息中的目标cacheline执行该ASCB,也 可以对组内原有的cacheline执行该ASCB,此处不做限定。
506、FSM剔除替换优先级最高的cacheline。
步骤506与步骤308相同,此处不做赘述。
在本申请实施例中,当有新的目标cacheline进来该组时,可以优先剔除组内具有较 高的替换优先级的cacheline,使其在组中的驻留时间较短,从而使得重要数据在组内的 驻留时间更长,改进了缓存系统的性能。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制, 因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员 也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不 一定是本申请所必须的。
为便于更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图6所示,本申请实施例提供的一种FSM 600,用于缓存系统,该缓存系 统包括缓存设备和FSM 600,该FSM 600包括:收发单元601和处理单元602,其中,
收发单元601,用于获取ASCB,所述ASCB包括主存空间的信息和替换优先级;
处理单元602,用于确定与所述主存空间对应的高速缓存线cacheline;
所述处理单元602,还用于根据所述ASCB中的替换优先级设置所述cacheline的替换 优先级。
在一些可行的实现方式中,收发单元601,还用于接收处理器发送的所述ASCB。
在一些可行的实现方式中,收发单元601,还用于向所述缓存器buffer发送所述ASCB。
在一些可行的实现方式中,收发单元601,还用于从所述buffer中获取所述ASCB。
请参阅图7所示,本申请实施例提供的一种处理器700,包括:
处理单元701,用于生成ASCB,所述ASCB包括主存空间的信息和替换优先级;
收发单元702,用于向FSM发送所述ASCB。
在一些可行的实现方式中,收发单元702,还用于向buffer发送所述ASCB。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本 申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部步骤。
接下来介绍本申请实施例提供的另一种通信装置,请参阅图8所示,通信装置800包 括:
接收器801、发射器802、处理器803和存储器804。在本申请的一些实施例中,接 收器801、发射器802、处理器803和存储器804可通过总线或其它方式连接,其中,图8 中以通过总线连接为例。
存储器804可以包括只读存储器和随机存取存储器,并向处理器803提供指令和数据。 存储器804的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器804存储有操作系统和操作指令、可执行模块或者数据结构,或 者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种 操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
处理器803控制通信装置的操作,处理器803还可以称为中央处理单元(centralprocessing unit,CPU)。具体的应用中,通信装置的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器803中,或者由处理器803实现。处 理器803可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器803可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用 集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列 (field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体 管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及 逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合 本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码 处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存 储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。 该存储介质位于存储器804,处理器803读取存储器804中的信息,结合其硬件完成上述 方法的步骤。
接收器801可用于接收输入的数字或字符信息,以及产生与通信装置的相关设置以及 功能控制有关的信号输入,发射器802可包括显示屏等显示设备,发射器802可用于通过 外接接口输出数字或字符信息。
本申请实施例中,处理器803,用于执行前述FSM执行的数据缓存方法。
在另一种可能的设计中,当通信装置为芯片时,包括:处理单元和通信单元,所述处 理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该终端内的芯片执行上述第一方面任意一项的无线报告信息的发送方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述终端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述方法的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部 件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也 可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请 提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以 实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助 软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都 可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是 多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下 软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对 现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可 读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包 括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执 行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算 机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可 以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存 储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心 通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等) 方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介 质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务 器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁 带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD)) 等。
Claims (29)
1.一种数据缓存方法,其特征在于,用于缓存系统,所述缓存系统包括缓存设备和有限状态机FSM,所述方法包括:
所述FSM获取缓存属性设置指令ASCB,所述ASCB包括主存空间的信息和替换优先级;
所述FSM确定与所述主存空间对应的高速缓存线cacheline;
所述FSM根据所述ASCB中的替换优先级设置所述cacheline的替换优先级。
2.根据权利要求1所述方法,其特征在于,所述ASCB中的替换优先级包括最近最少使用LRU或最近最常使用MRU。
3.根据权利要求1所述方法,其特征在于,所述ASCB中的替换优先级包括高替换优先级、中替换优先级或低替换优先级。
4.根据权利要求1-3中任一项所述方法,其特征在于,所述ASCB中主存空间的信息包括主存空间的物理地址。
5.根据权利要求1-3中任一项所述方法,其特征在于,所述ASCB中主存空间的信息包括寄存器编号、指示位和数据映射范围。
6.根据权利要求5所述方法,其特征在于,所述数据映射范围包括1/8/16/32或64个cacheline。
7.根据权利要求1-6中任一项所述方法,其特征在于,所述ASCB还包括缓存层级,所述缓存层级为一级缓存、二级缓存和/或三级缓存。
8.根据权利要求1-7中任一项所述方法,其特征在于,所述FSM获取ASCB包括:
所述FSM接收处理器发送的所述ASCB。
9.根据权利要求8所述方法,其特征在于,所述FSM根据所述ASCB中的替换优先级设置所述cacheline的替换优先级之后,还包括:
所述FSM向所述缓存器buffer发送所述ASCB。
10.根据权利要求1-7中任一项所述方法,其特征在于,所述FSM获取ASCB包括:
所述FSM从所述buffer中获取所述ASCB。
11.一种数据缓存方法,其特征在于,包括:
处理器生成ASCB,所述ASCB包括主存空间的信息和替换优先级;
所述处理器向FSM发送所述ASCB。
12.根据权利要求11所述方法,其特征在于,所述ASCB中的替换优先级包括最近最少使用LRU或最近最常使用MRU。
13.根据权利要求11所述方法,其特征在于,所述ASCB中的替换优先级包括高替换优先级、中替换优先级或低替换优先级。
14.根据权利要求11-13中任一项所述方法,其特征在于,所述ASCB中主存空间的信息包括主存空间的物理地址。
15.根据权利要求11-13中任一项所述方法,其特征在于,所述ASCB中主存空间的信息包括寄存器编号、指示位和数据映射范围。
16.根据权利要求15所述方法,其特征在于,所述数据映射范围包括1/8/16/32或64个cacheline。
17.根据权利要求11-16中任一项所述方法,其特征在于,所述ASCB还包括缓存层级,所述缓存层级为一级缓存、二级缓存和/或三级缓存。
18.根据权利要求11-17中任一项所述方法,其特征在于,所述方法还包括:
所述处理器向buffer发送所述ASCB。
19.一种有限状态机FSM,其特征在于,用于缓存系统,所述缓存系统包括缓存设备和所述FSM,所述方法包括:
收发单元,用于获取ASCB,所述ASCB包括主存空间的信息和替换优先级;
处理单元,用于确定与所述主存空间对应的高速缓存线cacheline;
所述处理单元,还用于根据所述ASCB中的替换优先级设置所述cacheline的替换优先级。
20.根据权利要求19所述FSM,其特征在于,所述收发单元具体用于:
接收处理器发送的所述ASCB。
21.根据权利要求20所述FSM,其特征在于,所述收发单元,还用于:
向所述缓存器buffer发送所述ASCB。
22.根据权利要求19-21中任一项所述FSM,其特征在于,所述收发单元具体用于:
从所述buffer中获取所述ASCB。
23.一种处理器,其特征在于,包括:
处理单元,用于生成ASCB,所述ASCB包括主存空间的信息和替换优先级;
收发单元,用于向FSM发送所述ASCB。
24.根据权利要求23所述处理器,其特征在于,所述收发单元,还用于:
向buffer发送所述ASCB。
25.一种存储系统,其特征在于,包括:FSM和处理器,其中,
所述FSM用于执行前述权利要求1-10中任一项所述的方法;
所述处理器用于执行前述权利要求11-18中任一项所述的方法。
26.一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储有程序,所述程序使得计算机设备执行如权利要求1-18中任一项的方法。
27.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机执行指令,所述计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器从所述计算机可读存储介质中读取所述计算机执行指令,所述至少一个处理器执行所述计算机执行指令使得所述设备执行如权利要求1-18中任一项的方法。
28.一种通信装置,其特征在于,所述通信装置包括至少一个处理器、存储器和通信接口;所述至少一个处理器与所述存储器和所述通信接口耦合;
所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于在所述至少一个处理器的控制下与其他通信进行通信;
所述指令在被所述至少一个处理器执行时,使所述至少一个处理器执行如权利要求1-18中任一项的方法。
29.一种芯片系统,其特征在于,所述芯片系统包括处理器和存储器,所述存储器和所述处理器通过线路互联,所述存储器中存储有指令,所述处理器用于执行如权利要求1-18中任一项的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111015838.4A CN115729649A (zh) | 2021-08-31 | 2021-08-31 | 一种数据缓存方法、有限状态机、处理器和存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111015838.4A CN115729649A (zh) | 2021-08-31 | 2021-08-31 | 一种数据缓存方法、有限状态机、处理器和存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729649A true CN115729649A (zh) | 2023-03-03 |
Family
ID=85291648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111015838.4A Pending CN115729649A (zh) | 2021-08-31 | 2021-08-31 | 一种数据缓存方法、有限状态机、处理器和存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115729649A (zh) |
-
2021
- 2021-08-31 CN CN202111015838.4A patent/CN115729649A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110275841B (zh) | 访问请求处理方法、装置、计算机设备和存储介质 | |
KR102575913B1 (ko) | 비대칭 세트 결합된 캐시 | |
CN105677580A (zh) | 访问缓存的方法和装置 | |
US9063860B2 (en) | Method and system for optimizing prefetching of cache memory lines | |
US9697111B2 (en) | Method of managing dynamic memory reallocation and device performing the method | |
JPH04308956A (ja) | 受信バッファ | |
EP3500935A1 (en) | Method and apparatus for compressing addresses | |
US10635589B2 (en) | System and method for managing transactions | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
CN109542814A (zh) | 通过pci-express的p2p连接在存储设备之间传输数据的方法和系统 | |
CN108701003A (zh) | 用于对远程节点的许多存储操作的原子写入的结构弹性支持 | |
CN106030549A (zh) | 用于对晶片外高速缓存存储器的标签集高速缓存的方法、装置和系统 | |
US9164907B2 (en) | Information processing apparatus, parallel computer system, and control method for selectively caching data | |
CN114153754A (zh) | 用于计算集群的数据传输方法、装置及存储介质 | |
CN111406251B (zh) | 数据预取方法及装置 | |
US8510513B2 (en) | Network load reducing method and node structure for multiprocessor system with distributed memory | |
US11036643B1 (en) | Mid-level instruction cache | |
US11093405B1 (en) | Shared mid-level data cache | |
US8447934B2 (en) | Reducing cache probe traffic resulting from false data sharing | |
WO2019140885A1 (zh) | 一种目录处理方法、装置及存储系统 | |
CN104252423A (zh) | 基于多内核处理器的一致性处理方法和装置 | |
CN115729649A (zh) | 一种数据缓存方法、有限状态机、处理器和存储系统 | |
US8938588B2 (en) | Ensuring forward progress of token-required cache operations in a shared cache | |
CN111930510B (zh) | 电子设备和数据处理方法 | |
US10664407B2 (en) | Dual first and second pointer for memory mapped interface communication with lower indicating process |
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 |