一种数据缓存方法、有限状态机、处理器和存储系统与流程

文档序号:33319203发布日期:2023-03-03 19:09阅读:19来源:国知局
一种数据缓存方法、有限状态机、处理器和存储系统与流程

1.本技术涉及存储领域,尤其涉及一种数据缓存方法、有限状态机、处理器和存储系 统。


背景技术:

2.在缓存系统中,缓存数据通常采用组相连(set associative)的映射方式。例如,缓 存设备具有多个组(set),每个组包括n个高速缓存线(cacheline),当新增cacheline 进入该组时,多数情况下需要首先剔除该组中的其中一条cacheline。
3.在剔除组内的cacheline时,通常会按照特定的替换策略决定优先剔除哪条 cacheline。例如,常见的替换策略有最近最少使用替换策略(least recently used, lru)。具体的,组中每条cacheline都有一个替换优先级,不同的cacheline有不同的替 换优先级。当新增cacheline进入该组时,将该cacheline的替换优先级设置为组中低替 换优先级,并逐出组中高替换优先级的cacheline。
4.但是,该新增的cacheline需要至少经历过n次的变换才会被剔除,若该cacheline 价值较低,其占用组中的时间较长,从而占用其他重要数据在组中的时间,影响缓存系 统的性能。


技术实现要素:

5.本技术实施例提供了一种数据缓存方法、有限状态机、处理器和存储系统,用于设置 cacheline的替换优先级。
6.第一方面,本技术提供了一种数据缓存方法,用于缓存系统,所述缓存系统包括缓存 设备和有限状态机(finite state machine,fsm)获取缓存属性设置指令(attribute setof cache block,ascb),ascb包括主存空间的信息和替换优先级,然后fsm确定与所述 主存空间对应的高速缓存线cacheline,并根据ascb中的替换优先级设置cacheline的替 换优先级。那么,当有新的cacheline进来该组时,可以优先剔除具有较高的替换优先级 的cacheline,通过将较高替换优先级的cacheline存储不需要驻留时间长的数据,使得 该cacheline中的数据可以优先被剔除,使其在组中的驻留时间较短,从而使得其他数据 在组内的驻留时间更长,改进了缓存系统的性能。
7.在一些可行的实现方式中,所述ascb中的替换优先级包括最近最少使用(leastrecently used,lru)或最近最常使用(most recently used,mru),或,所述ascb中 的替换优先级包括高替换优先级、中替换优先级或低替换优先级,所述ascb中主存空间 的信息包括主存空间的物理地址,那么以后可以通过不同主存空间的替换优先级,使得重 要数据可以缓存较长时间,其他数据可以缓存较短时间。
8.在一些可行的实现方式中,所述ascb中主存空间的信息包括寄存器编号、指示位和 数据映射范围,所述数据映射范围包括1/8/16/32或64个cacheline,那么处理器可以以 较短的数据量表示主存空间的信息。
9.在一些可行的实现方式中,所述ascb还包括缓存层级,所述缓存层级为一级缓存、 二级缓存和/或三级缓存,以指示具体的ascb所作用的缓存层级。
10.在一些可行的实现方式中,所述fsm接收处理器发送的所述ascb,以使得fsm可以执 行该ascb。
11.在一些可行的实现方式中,所述fsm向所述缓存器buffer发送所述ascb,所述fsm 从所述buffer中获取所述ascb,以使得fsm可以根据ascb对后续的新进的cacheline进 行处理。
12.第二方面,本技术提供了一种数据缓存方法,在本技术中,处理器生成ascb,所述 ascb包括主存空间的信息和替换优先级,然后向fsm发送所述ascb。那么,fsm可以根据 ascb处理对应的cacheline,当有新的cacheline进来该组时,可以优先剔除具有较高的 替换优先级的cacheline,通过将较高替换优先级的cacheline存储不需要驻留时间长的 数据,使得该cacheline中的数据可以优先被剔除,使其在组中的驻留时间较短,从而使 得其他数据在组内的驻留时间更长,改进了缓存系统的性能。
13.在一些可行的实现方式中,所述ascb中的替换优先级包括最近最少使用lru或最近 最常使用mru,或,所述ascb中的替换优先级包括高替换优先级、中替换优先级或低替换 优先级,所述ascb中主存空间的信息包括主存空间的物理地址,那么以后可以通过不同 主存空间的替换优先级,使得重要数据可以缓存较长时间,其他数据可以缓存较短时间。
14.在一些可行的实现方式中,所述ascb中主存空间的信息包括寄存器编号、指示位和 数据映射范围,所述数据映射范围包括1/8/16/32或64个cacheline,那么处理器可以以 较短的数据量表示主存空间的信息。
15.在一些可行的实现方式中,所述ascb还包括缓存层级,所述缓存层级为一级缓存、 二级缓存和/或三级缓存,以指示具体的ascb所作用的缓存层级。
16.在一些可行的实现方式中,所述fsm接收处理器发送的所述ascb,以使得fsm可以执 行该ascb。
17.第三方面,本技术提供一种fsm,用于缓存系统,所述缓存系统包括缓存设备和所述 fsm,所述fsm用于执行前述第一方面中任一项所述的方法。
18.第四方面,本技术提供一种处理器,所述处理器用于执行前述第二方面中任一项所 述的方法。
19.第五方面,本技术提供一种存储系统,包括:fsm和处理器,其中,
20.所述fsm用于执行前述第一方面中所述fsm执行的任意一种方法;
21.所述处理器用于执行前述第二方面中所述处理器执行的任意一种方法。
22.第六方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质中存 储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面中任一项 所述的方法。
23.本技术第七方面提供一种计算机程序产品,该计算机程序产品包括计算机执行指 令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计 算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得 设备实施上述第一方面或者第二方面的任一种可能的实现方式所提供的方法。
24.本技术第八方面提供一种通信装置,该通信装置可以包括至少一个处理器、存储
器和 通信接口。至少一个处理器与存储器和通信接口耦合。存储器用于存储指令,至少一个处 理器用于执行该指令,通信接口用于在至少一个处理器的控制下与其他通信装置进行通 信。该指令在被至少一个处理器执行时,使至少一个处理器执行第一方面或第一方面的任 意可能的实现方式中的方法。
25.本技术第九方面提供了一种芯片系统,该芯片系统包括处理器,用于支持通信装置 实现上述第一方面或第二方面任意一种可能的实现方式中所涉及的功能。
26.在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存通信装置必 要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器 件。
27.其中,第四至第七方面或者其中任一种可能实现方式所带来的技术效果可参见第一 方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
附图说明
28.图1-1本技术提供的一种存储系统的结构示意图;
29.图1-2为本技术提供的一种三级缓存系统的实施例示意图;
30.图1-3为本技术提供的一种双核三级缓存系统的实施例示意图;
31.图1-4为本技术提供的一种双簇的双核三级缓存系统的实施例示意图;
32.图1-5为本技术提供的一种通信设备的实施例示意图;
33.图1-6为本技术提供的一种通信设备的实施例示意图;
34.图1-7为本技术提供的一种通信设备的实施例示意图;
35.图2为本技术提供的一种数据缓存方法的实施例一的示意图;
36.图3为本技术提供的一种数据缓存方法的实施例二的示意图;
37.图4为本技术提供的一种数据缓存方法的实施例三的示意图;
38.图5为本技术提供的一种数据缓存方法的实施例四的示意图;
39.图6为本技术实施例提供的一种fsm的结构示意图;
40.图7为本技术实施例提供的一种处理器的结构示意图;
41.图8为本技术实施例提供的一种通信装置的结构示意图。
具体实施方式
42.本技术实施例提供了一种数据缓存方法、有限状态机、处理器和存储系统,用于设 置cacheline的替换优先级。
43.下面结合附图,对本技术的实施例进行描述。
44.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区 别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适 当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用 的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排 他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元, 而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
45.存储系统包括各种存储器、控制部件及管理信息调度的设备(硬件)和算法(软件), 其中存储器是存储系统的最重要的组成部分。存储器是用于存放数据的实际物理载
(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtualreality,vr)终端设备、增强现实(augmented reality,ar)终端设备、工业控制 (industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术 (remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安 全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧 家庭(smart home)中的无线终端等等。本技术的实施例对终端设备所采用的具体技术和具 体设备形态不做限定。
61.无线接入网设备是终端设备通过无线方式接入到该移动通信系统中的接入设备,可 以是基站nodeb、演进型基站(evolved nodeb,enb)、发送接收点(transmissionreception point,trp)、5g移动通信系统中的下一代基站(next generation nodeb, gnb)、未来移动通信系统中的基站或wifi系统中的接入节点等。本技术的实施例对无线 接入网设备所采用的具体技术和具体设备形态不做限定。
62.在缓存系统中,缓存数据通常采用组相连(set associative)的映射方式。例如,缓 存设备具有多个组(set),每个组包括n个高速缓存线(cacheline),当新增cacheline 进入该组时,多数情况下需要首先剔除该组中的其中一条cacheline。
63.在剔除组内的cacheline时,通常会按照特定的替换策略决定优先剔除哪条 cacheline。例如,常见的替换策略有最近最少使用替换策略(least recently used, lru)。具体的,组中每条cacheline都有一个替换优先级,不同的cacheline有不同的替 换优先级。当新增cacheline进入该组时,将该cacheline的替换优先级设置为组中低替 换优先级,并逐出组中高替换优先级的cacheline。
64.但是,该新增的cacheline需要至少经历过n次的变换才会被剔除,若该cacheline 价值较低,其占用组中的时间较长,从而占用其他重要数据在组中的时间,影响缓存系 统的性能。
65.本技术用于缓存系统,缓存系统包括缓存设备和有限状态机fsm,在本技术中,fsm 获取缓存属性设置指令(attribute set of cache block,ascb),ascb包括主存空间的 信息和替换优先级,然后fsm确定cacheline的主存空间,若cacheline的主存空间和 ascb中的主存空间相同,则fsm根据ascb中的替换优先级设置cacheline的替换优先级。 那么,当有新的cacheline进来该组时,可以优先剔除具有较高的替换优先级的 cacheline,通过将较高替换优先级的cacheline存储不需要驻留时间长的数据,使得该 cacheline中的数据可以优先被剔除,使其在组中的驻留时间较短,从而使得其他数据在 组内的驻留时间更长,改进了缓存系统的性能。
66.示例性的,请参考图2,为本技术提供的一种数据缓存方法的实施例一,包括:
67.201、核生成ascb。
68.在本技术实施例中,ascb包括主存空间的信息和替换优先级。在一些可行的实现方 式中,主存空间的信息用于指示主存储器中的一段存储空间。例如,若主存储器为hdd, 那么主存空间为该hdd中的一段存储空间。在一些可行的实现方式中,该存储空间可以为 基地址,也可以为物理地址,此处不做限定。在一些可行的实现方式中,替换优先级可 以为lru或mru,也可以为高替换优先级、中替换优先级和低替换优先级,此次不做限 定。在一些可行的实现方式中,替换优先级还可以包括1级、2级、3级、
……
、10级, 此处不做限定。
69.例如,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。
70.续上述例子,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。
71.在一些可行的实现方式中,主存空间的信息可以包括寄存器编号、指示位和数据映 射范围,其中,寄存器编号、指示位和数据映射范围用于共同指示主存储器中的一段存 储空间。
72.其中,寄存器编号用于指示寄存器。需要说明的是,寄存器可以为处理器的一部 分,用于存储主存空间的基地址。在一些可行的实现方式中,对于具有32个寄存器的处 理器,寄存器编号可以由5个比特表示,分别为00000-11111(二进制),表示编号0-31 (十进制)的32个寄存器。在一些可行的实现方式中,寄存器中存储的主存空间的基地 址可以为1个cacheline所占用的存储空间,例如64字节。
73.在一些可行的实现方式中,指示位可以1个比特,为0或1,用于指示寄存器编号所 指示的寄存器中存储的基地址为起点,向前或向后。例如,0指示向后,1指示向前。
74.在一些可行的实现方式中,数据映射范围可以为1cl、8cl、16cl、32cl或64cl等, 其中,1cl表示1条cacheline占用的存储空间,例如64字节。那么,8cl表示64字节 /cl*8cl=512字节。在一些可行的实现方式中,数据映射范围可以由3个比特表示,此处 不做限定。
75.那么,由寄存器编号、指示位和数据映射范围组成主存空间的信息,可以实现共同 指示主存储器中的一段存储空间。举例说明,寄存器编号为10(即二进制的01010),指 示位为1(即向前),数据映射范围为010(即十进制的2)。那么,假设寄存器编号所指 示的寄存器中存储的基地址为a,所指示主存储器中的一段存储空间为a至a+2cl的基地 址。又例如,寄存器编号为10(即二进制的01010),指示位为0(即向前),数据映射 范围为100(即十进制的4)。那么,假设寄存器编号所指示的寄存器中存储的基地址为a, 所指示主存储器中的一段存储空间为a-4cl至a的基地址。
76.在一些可行的实现方式中,若缓存系统为多级缓存系统,ascb中还可以包括缓存层 级,用于指示该ascb所作用的缓存层级。例如三级缓存系统,层级指示可以为2比特, 用于指示一级缓存、二级缓存或三级缓存。
77.需要说明的是,该ascb可以表示一段主存空间的信息和对应的替换优先级,也可以 包括多段主存空间的信息和各段主存空间所对应的替换优先级,此处不做限定。
78.202、核向fsm发送ascb。
79.在一些可行的实现方式中,当ascb中的主存空间的信息为一段主存储器中的物理地 址时,核可以直接向fsm发送该ascb,以使得fsm执行该ascb。
80.在一些可行的实现方式中,当ascb中的主存空间的信息为一段主存储器中的基地址 时,核可以先向tlb发送ascb,通过tlb将基地址转换为物理地址,得到新的ascb,该 新的ascb中的主存空间的信息为物理地址,然后tlb向fsm转发给新的ascb。
81.在一些可行的实现方式中,当ascb中的主存空间的信息为一段主存储器中的基地址 时,核也可以直接向fsm发送该ascb,然后fsm再向tlb发送该ascb中的基地址,tlb 将基地址转换为物理地址,再返回给fsm,此处不做限定。
82.203、fsm执行ascb。
83.在本技术实施例中,当fsm接收到ascb后,fsm可以执行该ascb。在一些可行的实 现方式中,fsm接收到ascb之后,可以首先确定ascb中指示的缓存层级,例如一级缓 存。
84.举例说明,该ascb指示一级缓存(l1 cache),该一级缓存中具有多个组,每个组中 包括10个cacheline。fsm接收到ascb后,可以逐个确定10个cacheline中各个 cacheline的替换优先级。
85.需要说明的是,ascb中指示的主存空间的信息可以表示其中主存储器中的一段物理地 址,fsm确定该段物理地址是否在缓存系统中有对应cacheline。在一些可行的实现方式, 若在缓存系统中具有与该段物理地址对应的cacheline,fsm先确定该段物理地址对应的 组,再确定该组内的cacheline。
86.下面通过步骤2031-2033来描述fsm执行ascb的具体过程。
87.2031、fsm确定ascb中指示的主存空间的信息对应的cacheline。
88.需要说明的是,若ascb指示有多段主存空间的信息和各段主存空间所对应的替换优 先级,则fsm可以确定ascb中指示的多个主存空间的信息对应的多个cacheline。
89.在本技术实施例中,若fsm确定ascb中指示的主存空间的信息对应的cacheline后, 可以执行步骤2032。
90.2032、fsm将该cacheline的替换优先级设置为ascb中指示的该主存空间的信息对应 的替换优先级。
91.例如,若ascb中与该主存空间对应的替换优先级为lru或mru,那么将该cacheline 的替换优先级设置为lru或mru。又例如,ascb中与该主存空间对应的替换优先级为高替 换优先级/中替换优先级/低替换优先级,那么将该cacheline的替换优先级设置为高替换 优先级/中替换优先级/低替换优先级。
92.当有新的cacheline进来该组时,可以优先剔除具有较高的替换优先级的 cacheline,使得不重要的数据可以优先被剔除,使其在组中的驻留时间较短,从而使得 重要数据在组内的驻留时间更长,改进了缓存系统的性能。
93.2033、fsm调整cacheline的组内其他cacheline的替换优先级。
94.可选的,在一些可行的实现方式中,fsm调整了该cacheline的替换优先级后,可以 调整cacheline的组内其他cacheline的替换优先级。例如,调高该cacheline的组内其 他
cacheline的替换优先级。在一些可行的实现方式中,也可以不调整该cacheline的组 内其他cacheline的替换优先级,此处不做限定。需要说明的是,对组内其他cacheline 的替换优先级的调制,可以基于lru策略,也可以基于再参考区间预测(re-referenceinterval prediction,rrip)策略,此处不做限定。
95.例如,组内有3个cacheline,其替换优先级分别是高替换优先级、中替换优先级和 低替换优先级。若根据ascb,其中一个cacheline的替换优先级由高替换优先级调整为低 替换优先级,基于lur策略,fsm将另外两个cacheline的替换优先级调整为高替换优先 级、中替换优先级。那么,当有新的cacheline进入时,剔除高替换优先级的cacheine。
96.又例如,组内有3个cacheline,其替换优先级分别是高替换优先级、中替换优先级 和低替换优先级。若根据ascb,其中一个cacheline的替换优先级由中替换优先级调整为 低替换优先级,基于rrip策略,fsm将其中替换优先级为中替换优先级的cacheline改为 高替换优先级的cacheline,不改变其中替换优先级为低替换优先级的cacheline的替换 优先级。那么,当有新的cacheline进入时,剔除高替换优先级的cacheine。
97.在一些可行的实现方式中,当fsm执行了该ascb后,fsm可以丢弃该ascb。在一些 可行的实现方式中,fsm执行了该ascb后,可以发送给buffer,让buffer对该ascb进 行存储,以使得后续fsm可以继续使用该ascb。
98.示例性的,请参考图3,为本技术提供的一种数据缓存方法的实施例二,包括:
99.301、核生成ascb。
100.302、核向fsm发送ascb。
101.303、fsm执行该ascb。
102.步骤301-303和步骤201-203相同,此处不做赘述。
103.304、fsm向buffer发送该ascb。
104.在本技术实施例中,fsm执行该ascb后,可以发送给buffer,以使得buffer保存该 ascb。需要说明的是,该buffer的存储空间有限,当该buffer的剩余存储空间不足,若 新的ascb进来,可以按先进先出的规则,剔除旧的ascb,此处不做限定。
105.需要说明的是,当新的ascb和旧的ascb针对一个主存空间的替换优先级不同,那么 可以新的ascb中关于该主存空间的替换优先级可以覆盖该旧的ascb中关于该主存空间的 替换优先级。
106.在一些可行的实现方式中,若核持续向fsm发送多个ascb时,当fsm正在执行ascb 时,若接收到新的ascb时,fsm可以将新的ascb先转发给buffer,当处理完当前的ascb 之后,再从buffer中获取新的ascb,以执行新的ascb。需要说明的是,fsm对多个ascb 的接收可以采用弱序要求,对其接收不同的ascb的先后无明确的保序要求,允许指令上 调整顺序,但不丢弃,以减少对核对ascb的调度的影响。
107.305、核向fsm发送访存信息,该访存信息包括cacheline。
108.在本技术实施例中,当核接收到对数据的访问请求时,确定该数据对应的 cacheline,然后向fsm发送访存信息,该访存信息包括cacheline,用于向fsm指示该 cacheline被访问,可以调整该cacheline的替换优先级。
109.306、fsm从buffer中获取ascb。
110.在本技术实施例中,当fsm接收到访存信息后,从buffer中获取ascb。
111.307、fsm执行该ascb。
112.步骤307与步骤203相同,此处不做赘述。
113.308、fsm剔除替换优先级最高的cacheline。
114.在本技术实施例中,若该cacheline是组内原有的cacheline,则不剔除任何 cacheline。若该cacheline是新的cacheline,则剔除组内替换优先级最高的 cacheline。
115.在一些可行的实现方式中,若替换优先级最高的cacheline有多个,例如两个 cacheline的替换优先级都是高替换优先级,那么可以随机剔除一个,也可以按先进先出 的规则,剔除驻留时间较长的cacheline。
116.在本技术实施例中,当有新的目标cacheline进来该组时,可以优先剔除组内具有较 高的替换优先级的cacheline,使其在组中的驻留时间较短,从而使得重要数据在组内的 驻留时间更长,改进了缓存系统的性能。
117.在一些可行的实现方式中,可以由fsm向buffer发送ascb,也可以在核向fsm发送 ascb时,同时向buffer发送ascb,让指令缓存器对该ascb进行存储。而无需由fsm发 送给buffer,那么fsm执行完ascb之后,即使丢弃ascb,在后续fsm也可以在需要的时 候执行该ascb。
118.示例性的,请参考图4,为本技术提供的一种数据缓存方法的实施例三,包括:
119.401、核生成ascb。
120.402、核向fsm发送该ascb。
121.403、fsm执行该ascb。
122.步骤401-403和步骤201-203相同,此处不做赘述。
123.404、核向buffer发送该ascb。
124.请参考步骤304相同,此处不做赘述。
125.405、核向fsm发送访存信息,该访存信息包括目标cacheline。
126.406、fsm从buffer中获取ascb。
127.步骤405-406和步骤305-306相同,此处不做赘述。
128.407、fsm执行该ascb。
129.步骤407与步骤203相同,此处不做赘述。
130.408、fsm剔除替换优先级最高的cacheline。
131.步骤408与步骤308相同,此处不做赘述。
132.在本技术实施例中,当有新的目标cacheline进来该组时,可以优先剔除组内具有较 高的替换优先级的cacheline,使其在组中的驻留时间较短,从而使得重要数据在组内的 驻留时间更长,改进了缓存系统的性能。
133.在一些可行的实现方式中,核也可以不向fsm发送ascb,而仅向buffer发送ascb, 让buffer对该ascb进行存储。那么,当fsm需要执行ascb时,可以从buffer中获取 ascb,并执行该ascb。
134.示例性的,请参考图5,为本技术提供的一种数据缓存方法的实施例四,包括:
135.501、核生成ascb。
136.步骤501和步骤201相同,此处不做赘述。
137.502、核向buffer发送该ascb。
138.请参考步骤304相同,此处不做赘述。
139.503、核向fsm发送访存信息,该访存信息包括目标cacheline。
140.504、fsm从buffer中获取ascb。
141.步骤503-504和步骤305-306相同,此处不做赘述。
142.505、fsm执行该ascb。
143.步骤505与步骤203相同,此处不做赘述。
144.在一些可行的实现方式中,fsm可以对访存信息中的目标cacheline执行该ascb,也 可以对组内原有的cacheline执行该ascb,此处不做限定。
145.506、fsm剔除替换优先级最高的cacheline。
146.步骤506与步骤308相同,此处不做赘述。
147.在本技术实施例中,当有新的目标cacheline进来该组时,可以优先剔除组内具有较 高的替换优先级的cacheline,使其在组中的驻留时间较短,从而使得重要数据在组内的 驻留时间更长,改进了缓存系统的性能。
148.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列 的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制, 因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员 也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不 一定是本技术所必须的。
149.为便于更好的实施本技术实施例的上述方案,下面还提供用于实施上述方案的相 关装置。
150.请参阅图6所示,本技术实施例提供的一种fsm 600,用于缓存系统,该缓存系 统包括缓存设备和fsm 600,该fsm 600包括:收发单元601和处理单元602,其中,
151.收发单元601,用于获取ascb,所述ascb包括主存空间的信息和替换优先级;
152.处理单元602,用于确定与所述主存空间对应的高速缓存线cacheline;
153.所述处理单元602,还用于根据所述ascb中的替换优先级设置所述cacheline的替换 优先级。
154.在一些可行的实现方式中,收发单元601,还用于接收处理器发送的所述ascb。
155.在一些可行的实现方式中,收发单元601,还用于向所述缓存器buffer发送所述ascb。
156.在一些可行的实现方式中,收发单元601,还用于从所述buffer中获取所述ascb。
157.请参阅图7所示,本技术实施例提供的一种处理器700,包括:
158.处理单元701,用于生成ascb,所述ascb包括主存空间的信息和替换优先级;
159.收发单元702,用于向fsm发送所述ascb。
160.在一些可行的实现方式中,收发单元702,还用于向buffer发送所述ascb。
161.需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本 申请方法实施例基于同一构思,其带来的技术效果与本技术方法实施例相同,具体内容 可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
162.本技术实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序, 该程序执行包括上述方法实施例中记载的部分或全部步骤。
163.接下来介绍本技术实施例提供的另一种通信装置,请参阅图8所示,通信装置800包 括:
164.接收器801、发射器802、处理器803和存储器804。在本技术的一些实施例中,接 收器801、发射器802、处理器803和存储器804可通过总线或其它方式连接,其中,图8 中以通过总线连接为例。
165.存储器804可以包括只读存储器和随机存取存储器,并向处理器803提供指令和数据。 存储器804的一部分还可以包括非易失性随机存取存储器(non-volatile random accessmemory,nvram)。存储器804存储有操作系统和操作指令、可执行模块或者数据结构,或 者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种 操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
166.处理器803控制通信装置的操作,处理器803还可以称为中央处理单元(centralprocessing unit,cpu)。具体的应用中,通信装置的各个组件通过总线系统耦合在一起, 其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。 但是为了清楚说明起见,在图中将各种总线都称为总线系统。
167.上述本技术实施例揭示的方法可以应用于处理器803中,或者由处理器803实现。处 理器803可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各 步骤可以通过处理器803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理 器803可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用 集成电路(application specific integrated circuit,asic)、现场可编程门阵列 (field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体 管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及 逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合 本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码 处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存 储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。 该存储介质位于存储器804,处理器803读取存储器804中的信息,结合其硬件完成上述 方法的步骤。
168.接收器801可用于接收输入的数字或字符信息,以及产生与通信装置的相关设置以及 功能控制有关的信号输入,发射器802可包括显示屏等显示设备,发射器802可用于通过 外接接口输出数字或字符信息。
169.本技术实施例中,处理器803,用于执行前述fsm执行的数据缓存方法。
170.在另一种可能的设计中,当通信装置为芯片时,包括:处理单元和通信单元,所述处 理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该 处理单元可执行存储单元存储的计算机执行指令,以使该终端内的芯片执行上述第一方面 任意一项的无线报告信息的发送方法。可选地,所述存储单元为所述芯片内的存储单元, 如寄存器、缓存等,所述存储单元还可以是所述终端内的位于所述芯片外部的存储单元, 如只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储 设备,随机存取存储器(random access memory,ram)等。
171.其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,asic,或 一个或多个用于控制上述方法的程序执行的集成电路。
172.另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部 件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也 可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根 据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术 提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以 实现为一条或多条通信总线或信号线。
173.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助 软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专 用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都 可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是 多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下 软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对 现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可 读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包 括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执 行本技术各个实施例所述的方法。
174.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实 现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
175.所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算 机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可 以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可 以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存 储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心 通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等) 方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介 质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务 器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁 带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd)) 等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1