CN106354421A - 筛选方法、筛选器及数据一致性维护系统 - Google Patents

筛选方法、筛选器及数据一致性维护系统 Download PDF

Info

Publication number
CN106354421A
CN106354421A CN201510423386.1A CN201510423386A CN106354421A CN 106354421 A CN106354421 A CN 106354421A CN 201510423386 A CN201510423386 A CN 201510423386A CN 106354421 A CN106354421 A CN 106354421A
Authority
CN
China
Prior art keywords
value
cache
depositor
screening washer
memory request
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.)
Granted
Application number
CN201510423386.1A
Other languages
English (en)
Other versions
CN106354421B (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.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp 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 Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201510423386.1A priority Critical patent/CN106354421B/zh
Publication of CN106354421A publication Critical patent/CN106354421A/zh
Application granted granted Critical
Publication of CN106354421B publication Critical patent/CN106354421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种筛选方法、筛选器及数据一致性维护系统。该方法包括:筛选器接收IP核发送的内存请求地址;筛选器确定内存请求地址是否在cache中;若确定内存请求地址不在cache中,则向IP核发送内存操作指令,内存操作指令用于使IP核根据内存请求地址进行内存操作。通过在进行数据一致性操作前,进行筛选,筛选出不在cache中的内存请求地址,使得IP核根据该些内存请求地址直接进行内存操作,不进行cache查询,从而大大减少了cache查询次数,降低了cache的访问率,减少了cache的访问排队时间,提高了cache性能。

Description

筛选方法、筛选器及数据一致性维护系统
技术领域
本发明涉及微处理器访存技术,尤其涉及一种筛选方法、筛选器及数据一致性维护系统。
背景技术
现代并行计算机中,往往为处理器配置高速缓冲存储器cache,通过将处理器频繁读写的数据存储在高速cache中,使得处理器无需一直访问速度较慢的内存,而是直接读写cache,从而提高了处理器的处理速度。知识产权(Intellectual Property,简称IP)核为完成该IP核的设计功能,通常直接访问内存(Direct Memory Access,简称DMA)并获取内存中的数据。然而,由于处理器配置的cache中的数据在进行更新后,可能还未更新到内存中时,内存与cache中的数据副本不一致,将导致IP核执行功能时采用错误数据,从而产生数据一致性问题。
目前维护数据一致性的方法主要包括软件维护和硬件维护两种。软件维护一致性的方法是利用cache的相关指令来对DMA请求地址进行cache无效或cache写回操作,完成软件维护后再进行DMA操作。软件维护一致性需要处理器参与,会严重影响整体性能。硬件维护一致性的方法通过硬件电路自动完成,DMA请求地址将首先送入cache进行查询,若查询结果为在cache命中,则自动进行cache无效或写回操作,再进行DMA操作;若查询结果为cache不命中,则直接进行DMA操作。
硬件维护方法相对软件维护方法提高了性能,但仍需对每个DMA请求地址进行cache查询操作,显著提高了cache的访问率,造成cache访问排队时间增加,从而降低了cache性能。
发明内容
本发明实施例提供一种筛选方法、筛选器及数据一致性维护系统,以解决因cache查询次数较多,导致的cache访问排队时间增加,降低了cache性能的问题。
本发明实施例第一方面提供一种筛选方法,包括:
筛选器接收知识产权IP核发送的内存请求地址;
所述筛选器确定所述内存请求地址是否在高速缓冲存储器cache中;
若确定所述内存请求地址不在cache中,则向所述IP核发送内存操作指令,所述内存操作指令用于使所述IP核根据所述内存请求地址进行内存操作。
本发明实施例第二方面提供一种筛选器,包括:
接收模块,用于接收IP核发送的内存请求地址;
判断模块,用于确定所述内存请求地址是否在cache中;
第一发送模块,用于若确定所述内存请求地址不在cache中,则向所述IP核发送内存操作指令,所述内存操作指令用于使所述IP核根据所述内存请求地址进行内存操作。
本发明实施例第三方面提供一种数据一致性维护系统,包括:IP核、处理器、cache和如上所述的筛选器;
其中,所述IP核用于向所述筛选器发送内存请求地址,接收所述筛选器发送的用于使所述IP核根据所述内存请求地址进行内存操作的内存操作指令,根据所述内存请求地址进行内存操作;
所述处理器用于在接收到所述筛选器发送的数据一致性操作指令后,执行数据一致性维护操作。
本发明实施例提供的筛选方法、筛选器及数据一致性维护系统,通过在进行数据一致性操作前,增加筛选器,筛选出不在cache中的内存请求地址,使得IP核根据该些内存请求地址直接进行内存操作,不进行cache查询,从而大大减少了cache查询次数,降低了cache的访问率,减少了cache的访问排队时间,提高了cache性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明筛选方法实施例一的流程图;
图2为本发明筛选器的结构示意图一;
图3为本发明筛选方法实施例二的流程图;
图4为本发明筛选方法实施例三的流程图;
图5为本发明筛选器实施例一的结构图;
图6为本发明筛选器实施例二的结构图;
图7为本发明筛选器的判断模块的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明筛选方法实施例一的流程图。如图1所示,本发明提供的方法包括:
步骤101、筛选器接收IP核发送的内存请求地址;
步骤102、筛选器确定内存请求地址是否在cache中;
步骤103、若确定内存请求地址不在cache中,则向IP核发送内存操作指令,内存操作指令用于使IP核根据内存请求地址进行内存操作。
IP核是指具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片的基本构件。在本实施例中,IP核是具有一定功能的电路结构,例如,图像处理功能,音频处理功能等。IP核在实现上述相应功能时,需要对内存中的数据进行读取。
当IP核需要与内存进行数据读写时,IP核向内存发送内存请求地址,根据内存请求地址在内存中进行数据读写。内存请求地址包括读请求地址和写请求地址。当处理器配置有cache时,需先判断该数据在cache中是否有备份,以避免直接读取内存中的数据而出现数据一致性问题。大量的cache判断操作将会显著提高cache的访问率,造成cache访问排队时间增加,从而降低了cache性能。
因此,在进行cache查询之前,增加筛选过程。在步骤101中,IP核将内存请求地址先发送至筛选器,筛选器接收IP核发送的内存请求地址,筛选器对内存请求地址是否在cache中进行判断。将肯定不在cache中的内存请求地址筛选出来,使其直接进行内存操作,从而减少cache访问。
在步骤102中,为提高筛选结果的正确性,筛选器在筛选时可满足:若筛选器判断内存请求地址不在cache中,则该内存请求地址一定不在cache中;若筛选器判断内存请求地址在cache中,则该内存请求地址有可能在cache中,也有可能不在cache中。筛选器可以为计数型布隆过滤器或其他类型的筛选器。
步骤103中,当筛选器判断内存请求地址并不在cache中时,向IP核发送内存操作指令,内存操作指令用于使IP核根据内存请求地址进行内存操作,即当筛选器判断该内存请求地址在cache中并没有备份时,内存中的数据即为最新的准确数据,则无需进行cache访问,可直接在内存中根据内存请求地址进行数据读取。
可选的,在图1所示实施例一的基础上,本方法还包括:
若确定内存请求地址在cache中,则筛选器向处理器发送数据一致性操作指令,数据一致性操作指令用于使处理器执行数据一致性维护操作。
当筛选器确定内存请求地址在cache中时,筛选器向处理器发送数据一致性操作指令,数据一致性操作指令用于使处理器执行数据一致性维护操作。
示例性的,数据一致性操作包括:处理器对内存请求地址进行cache查询,当内存请求地址不在cache中时,可直接在内存中根据内存请求地址进行数据读取;当内存请求地址在cache中时,先进行cache无效或cache写回操作,再根据内存请求地址进行内存操作,或当内存请求地址在cache中时,直接访问cache根据内存请求地址进行读写。
本发明实施例提供的筛选方法,通过在进行数据一致性操作前,增加筛选器,筛选出不在cache中的内存请求地址,使得IP核根据该些内存请求地址直接进行内存操作,不进行cache查询,从而大大减少了cache查询次数,降低了cache的访问率,减少了cache的访问排队时间,提高了cache性能。
为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术方案,下面结合图2筛选器的结构图,通过图3与图4具体的实施例,对本发明的实施例提供的筛选方法进行详细说明。
图2为本发明的筛选器结构示意图一。如图2所示,本发明实施例提供的筛选器中包括有计数器阵列、位向量阵列和散列函数。具体的,可以为筛选器中存储有计数器阵列、位向量阵列和散列函数,也可以为设置有计数器阵列、位向量阵列和散列函数,本发明对此不做限定。示例性的,计数器阵列用于表示cache中的更改。位向量阵列用于存储cache中的地址信息,当有新的内存请求地址时,对位向量阵列进行查询,以判断内存请求地址是否在cache中。散列函数用于将不同的输入转化成固定长度的输出,以方便存储和查找。
图3为本发明筛选方法实施例二的流程图。本实施例在图1实施例的基础上,提出了一种筛选器更新机制。如图3所示,本发明提供的方法,包括:
步骤301、筛选器从散列函数得到与cache更新地址对应的计数器改动值,并将计数器改动值更新到第一寄存器中;
步骤302、筛选器根据待计算计数器值与改动值,得到新的计数器值和新的位向量值;
步骤303、筛选器将新的计数器值更新到第二寄存器,并写回计数器阵列,将新的位向量值更新到第二寄存器中并写回位向量阵列。
其中,第一寄存器用于更新第二寄存器中的数据。第一寄存器中存储cache更新地址的索引值、对应的计数器值和计数器改动值,第二寄存器中存储cache更新地址的索引值、新的位向量值和新的计数器值。第一寄存器用于更新第二寄存器中的数据,第二寄存器用于更新筛选器中的数据。
随着cache中的数据的更新,筛选器中的数据也应进行对应的更新。可选的,可以将上述筛选器存储到随机存取存储器(Random Access Memory,简称RAM)中。当筛选器以RAM的形式实现时,筛选器的更新和内存地址请求的查询各需要一个周期。
在步骤301中,根据cache更新地址的更新方式不同,计数器的改动值包括:当cache有新分配的地址(allocation address)时,将对应的计数器加1;当cache有无效的地址(deallocation address)时,对应计数器值减1。
在执行步骤301的同时,将上一时刻的第一寄存器中的值更新到第二寄存器中,而第二寄存器中的值更新到筛选器中。
根据待计算计数器值与改动值,执行步骤302,得到新的计数器值和新的位向量值。计数器值为位向量对应的计数器值,当计数器值不为0,则位向量值为1。改动值表示对位向量中特定位置的改动,将改动值与对应的计数器值相加,得到新的计数器值,通过新的计数器值得到新的位向量值。
当得到新的计数器值和新的位向量值后,执行步骤303,将新的计数器值和新的位向量值更新到第二寄存器,并分别写回计数器阵列和位向量阵列。
其中,如图3所示,待计算计数器值的获取方法如下:
步骤3001、筛选器判断cache更新地址的索引值与第一寄存器的中存储的索引值是否相同;若是,执行步骤3002,若否,执行步骤3003;
步骤3002、筛选器将第一寄存器中存储的计数器值作为待计算计数器值;
步骤3003、筛选器根据cache更新地址的索引值在计数器阵列中读取对应的计数器值作为待计算计数器值。
当筛选器检测到cache有新的更新地址时,执行步骤3001,判断本时刻与上一时刻的cache的更新地址是否为同一地址。这是由于若本时刻与上一时刻的cache的更新地址为同一地址时,则上一时刻筛选器已经对计数器阵列中的相应的计数器值进行了更改,但是还未更新到计数器阵列中。而第一寄存器中存储有上一时刻处理的中间结果,因此,需先判断此时cache更新地址的索引值与第一寄存器的中存储的索引值是否相同,若相同,执行步骤3002,说明此时刻与上一时刻的cache更新地址确实为同一地址,此时第一寄存器中存储的数据为最新数据。
若筛选器判断cache更新地址的索引值与第一寄存器的中存储的索引值不相同,执行步骤3003,计数器阵列中的该cache更新地址对应的数据为最新值,因而可在计数器阵列中读取对应的计数器值作为待计算计数器值。
可选的,在步骤302之前,还包括步骤3011:筛选器确定第一寄存器中存储的索引值与第二寄存器的中存储的索引值有效且相同,则筛选器用第二寄存器中存储的计数器值更新待计算计数器值。
在步骤3011中,若第一寄存器中存储的索引值与第二寄存器的中存储的索引值有效且相同,则说明上一时刻的cache更新地址与本时刻的cache更新地址为同一地址,上一时刻已经针对该cache更新地址的计数器值进行了更改,但是还未更新到计数器阵列中。而第二寄存器中存储有上一时刻处理的中间结果,因此筛选器应选用第二寄存器中存储的计数器值更新之前获取的待计算计数器值。若第二寄存器中存储的索引值是无效的,则说明上一时刻并未获得有效的cache更新地址。
通过采用上述更新机制,保证了筛选器更新结果的正确性,从而确保了查询筛选器时筛选结果的正确性。
图4为本发明筛选方法实施例三的流程图。本实施例在图1实施例的基础上,提出了筛选器判断内存请求地址是否在cache中的具体的查询机制。如图4所示,本发明提供的方法,包括:
步骤401、筛选器从散列函数得到与内存请求地址对应的查询值;
步骤402、筛选器根据内存请求地址的索引值查询位向量阵列,将查询结果作为待比较位向量值;
步骤403、根据待比较位向量值和查询值确定内存请求地址是否在cache中。
可选的,在步骤403之前,还包括:
步骤4021、筛选器确定内存请求地址的索引值与第二寄存器中存储的索引值相同;筛选器用第二寄存器中存储的位向量值更新待比较位向量值。
筛选器接收IP核发送的内存请求地址,执行步骤401,从散列函数得到与内存请求地址对应的查询值。
在步骤4021中,当内存请求地址的索引值与第二寄存器中存储的索引值相同时,说明查询时筛选器正在对该地址的数据进行更新,第二寄存器中存储有正在处理的数据结果,但是有可能还未更新到计数器阵列中。因此,应该用第二寄存器中存储的位向量值更新待比较位向量值。
在步骤403中,据待比较位向量值和查询值确定内存请求地址是否在cache中可以具体为判断待比较位向量值是否包含查询值。示例性的可以为:将查询值与待比较位向量值进行按位与,若得到的值仍与查询值相同则确定为包含查询值,若得到的值与查询值不同则确定为不包含查询值。
通过采用上述查询机制,确保了筛选器查询结果的正确性。
可选的,在图2所示的筛选器示意图中,cache中的数据块首先按照低位地址进行索引(index),每个索引项包含多个路,各路保存着不同的标签(tag)和数据。因此在上述图3和图4的具体实施例中,计数器阵列和位向量阵列也可设置为索引式的结构,索引项的个数与cache一致。在查询过滤器时,同样首先根据低位地址索引,再检查对应项。位向量阵列和计数器阵列的每一行对应于一个cache的索引,其实质是为每一个索引建立一个过滤器。计数器阵列的每个索引项包含W×M×N个位,位向量的每个索引项包含W×M个位。其中W表示cache的路数;M表示位向量位数与路数的比值;N表示计数器位数。
本发明还提供一种筛选器。图5为本发明筛选器实施例一的结构图。如图5所示,筛选器包括:
接收模块501,用于接收IP核发送的内存请求地址;
判断模块502,用于确定内存请求地址是否在cache中;
第一发送模块503,用于若确定内存请求地址不在cache中,则向IP核发送内存操作指令,内存操作指令用于使IP核根据内存请求地址进行内存操作。
可选的,在图5所示实施例的基础上,本发明提供的筛选器还包括:第二发送模块,用于若确定内存请求地址在cache中,则向处理器发送数据一致性操作指令,数据一致性操作指令用于使处理器执行数据一致性维护操作。
图6为本发明筛选器实施例二的结构图。本实施例在图2和图5实施例的基础上,提供了用于实现筛选器更新机制的实施例。如图6所示,筛选器还包括:
改动值获取模块601,用于从散列函数得到与cache更新地址对应的计数器改动值,并将计数器改动值更新到第一寄存器中;
更新计算模块602,用于根据待计算计数器值与改动值,得到新的计数器值和新的位向量值;
位向量值更新模块603,用于将新的计数器值更新到第二寄存器,并写回计数器阵列,将新的位向量值更新到第二寄存器中并写回位向量阵列。
可选的,筛选器还包括:
索引值判断模块6001,用于判断cache更新地址的索引值与第一寄存器的中存储的索引值是否相同,第一寄存器用于更新第二寄存器中的数据;
计数器值获取模块6002,用于若cache更新地址的索引值与第一寄存器的中存储的索引值相同,将第一寄存器中存储的计数器值作为待计算计数器值;若cache更新地址的索引值与第一寄存器的中存储的索引值不同,根据cache更新地址的索引值在计数器阵列中读取对应的计数器值作为待计算计数器值。
可选的,筛选器还包括:
计数器值更新模块6011,用于确定第一寄存器中存储的索引值与第二寄存器的中存储的索引值有效且相同,计数器值更新模块还用于用第二寄存器中存储的计数器值更新待计算计数器值。
图7为本发明筛选器的判断模块的结构图。本实施例在图2和图5实施例的基础上,提供了用于实现筛选器查询机制的实施例。如图7所示,判断模块502包括:
查询值获取单元701,用于从散列函数得到与内存请求地址对应的查询值;
位向量值获取单元702,用于根据内存请求地址的索引值查询位向量阵列,将查询结果作为待比较位向量值;
查询比较单元703,用于根据待比较位向量值和查询值确定内存请求地址是否在cache中。
可选的,判断模块502还包括:
位向量值更新单元7021,用于确定内存请求地址的索引值与第二寄存器中存储的索引值相同,第二寄存器用于更新筛选器的数据,用第二寄存器中存储的位向量值更新待比较位向量值。
本发明还提供一种数据一致性维护系统,包括:IP核、处理器、cache和如上述实施例中所述的筛选器;
其中,IP核用于向筛选器发送内存请求地址,接收筛选器发送的用于使IP核根据内存请求地址进行内存操作的内存操作指令,根据内存请求地址进行内存操作;处理器用于在接收到筛选器发送的数据一致性操作指令后,执行数据一致性维护操作。
本发明实施例提供的筛选方法、筛选器及数据一致性维护系统,通过在进行数据一致性操作前,增加筛选器,筛选出不在cache中的内存请求地址,使得IP核根据该些内存请求地址直接进行内存操作,不进行cache查询,从而大大减少了cache查询次数,降低了cache的访问率,减少了cache的访问排队时间,提高了cache性能。通过以RAM形式实现的筛选器设置更新与查询机制,确保了筛选器的更新与查询结果的正确性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (15)

1.一种筛选方法,其特征在于,包括:
筛选器接收知识产权IP核发送的内存请求地址;
所述筛选器确定所述内存请求地址是否在高速缓冲存储器cache中;
若确定所述内存请求地址不在cache中,则向所述IP核发送内存操作指令,所述内存操作指令用于使所述IP核根据所述内存请求地址进行内存操作。
2.根据权利要求1所述的筛选方法,其特征在于,所述方法还包括:
若确定所述内存请求地址在cache中,则向处理器发送数据一致性操作指令,所述数据一致性操作指令用于使所述处理器执行数据一致性维护操作。
3.根据权利要求1或2所述的筛选方法,其特征在于,所述筛选器中包括有位向量阵列和散列函数,所述筛选器确定所述内存请求地址是否在高速缓冲存储器cache中,包括:
所述筛选器从所述散列函数得到与所述内存请求地址对应的查询值;
所述筛选器根据所述内存请求地址的索引值查询所述位向量阵列,将查询结果作为待比较位向量值;
根据所述待比较位向量值和所述查询值确定所述内存请求地址是否在cache中。
4.根据权利要求3所述的筛选方法,其特征在于,所述方法还包括:
所述筛选器确定所述内存请求地址的索引值与第二寄存器中存储的索引值相同,所述第二寄存器用于更新所述筛选器的数据;
所述筛选器用所述第二寄存器中存储的位向量值更新所述待比较位向量值。
5.根据权利要求4所述筛选方法,其特征在于,所述筛选器中还包括有计数器阵列,所述方法还包括:
所述筛选器从所述散列函数得到与cache更新地址对应的计数器改动值,并将所述计数器改动值更新到第一寄存器中,所述第一寄存器用于更新所述第二寄存器中的数据;
所述筛选器根据待计算计数器值与所述改动值,得到新的计数器值和新的位向量值;
所述筛选器将所述新的计数器值更新到所述第二寄存器,并写回所述计数器阵列,将所述新的位向量值更新到所述第二寄存器中并写回所述位向量阵列。
6.根据权利要求5所述筛选方法,其特征在于,所述方法还包括:
所述筛选器判断所述cache更新地址的索引值与所述第一寄存器中存储的索引值是否相同;
若是,则所述筛选器将所述第一寄存器中存储的计数器值作为所述待计算计数器值;
若否,则所述筛选器根据所述cache更新地址的索引值在所述计数器阵列中读取对应的计数器值作为所述待计算计数器值。
7.根据权利要求6所述筛选方法,其特征在于,所述方法还包括:
所述筛选器确定所述第一寄存器中存储的索引值与所述第二寄存器的中存储的索引值有效且相同,则所述筛选器用所述第二寄存器中存储的计数器值更新所述待计算计数器值。
8.一种筛选器,其特征在于,包括:
接收模块,用于接收IP核发送的内存请求地址;
判断模块,用于确定所述内存请求地址是否在cache中;
第一发送模块,用于若确定所述内存请求地址不在cache中,则向所述IP核发送内存操作指令,所述内存操作指令用于使所述IP核根据所述内存请求地址进行内存操作。
9.根据权利要求8所述的筛选器,其特征在于,所述筛选器还包括:
第二发送模块,用于若确定所述内存请求地址在cache中,则向处理器发送数据一致性操作指令,所述数据一致性操作指令用于使所述处理器执行数据一致性维护操作。
10.根据权利要求8或9所述的筛选器,其特征在于,所述筛选器中包括有位向量阵列和散列函数,所述判断模块包括:
查询值获取单元,用于从所述散列函数得到与所述内存请求地址对应的查询值;
位向量值获取单元,用于根据所述内存请求地址的索引值查询所述位向量阵列,将查询结果作为待比较位向量值;
查询比较单元,用于根据所述待比较位向量值和所述查询值确定所述内存请求地址是否在cache中。
11.根据权利要求10所述的筛选器,其特征在于,所述判断模块还包括:
位向量值更新单元,用于确定所述内存请求地址的索引值与第二寄存器中存储的索引值相同,所述第二寄存器用于更新所述筛选器的数据,用所述第二寄存器中存储的位向量值更新所述待比较位向量值。
12.根据权利要求11所述的筛选器,其特征在于,所述筛选器中还包括有计数器阵列,所述筛选器还包括:
改动值获取模块,用于从所述散列函数得到与cache更新地址对应的计数器改动值,并将所述计数器改动值更新到第一寄存器中,所述第一寄存器用于更新所述第二寄存器中的数据;
更新计算模块,用于根据待计算计数器值与所述改动值,得到新的计数器值和新的位向量值;
位向量值更新模块,用于将所述新的计数器值更新到所述第二寄存器,并写回所述计数器阵列,将所述新的位向量值更新到所述第二寄存器中并写回所述位向量阵列。
13.根据权利要求12所述筛选器,其特征在于,所述筛选器还包括:
索引值判断模块,用于判断所述cache更新地址的索引值与所述第一寄存器中存储的索引值是否相同;
计数器值获取模块,用于若cache更新地址的索引值与第一寄存器的中存储的索引值相同,将所述第一寄存器中存储的计数器值作为待计算计数器值;若cache更新地址的索引值与第一寄存器的中存储的索引值不同,根据所述cache更新地址的索引值在所述计数器阵列中读取对应的计数器值作为待计算计数器值。
14.根据权利要求13所述筛选器,其特征在于,所述筛选器,还包括:
计数器值更新模块,用于确定所述第一寄存器中存储的索引值与所述第二寄存器的中存储的索引值有效且相同,所述计数器值更新模块还用于用所述第二寄存器中存储的计数器值更新所述待计算计数器值。
15.一种数据一致性维护系统,其特征在于,包括:IP核、处理器、cache和如权利要求8-14任一所述的筛选器;
其中,所述IP核用于向所述筛选器发送内存请求地址,接收所述筛选器发送的用于使所述IP核根据所述内存请求地址进行内存操作的内存操作指令,根据所述内存请求地址进行内存操作;
所述处理器用于在接收到所述筛选器发送的数据一致性操作指令后,执行数据一致性维护操作。
CN201510423386.1A 2015-07-17 2015-07-17 筛选方法、筛选器及数据一致性维护系统 Active CN106354421B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510423386.1A CN106354421B (zh) 2015-07-17 2015-07-17 筛选方法、筛选器及数据一致性维护系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510423386.1A CN106354421B (zh) 2015-07-17 2015-07-17 筛选方法、筛选器及数据一致性维护系统

Publications (2)

Publication Number Publication Date
CN106354421A true CN106354421A (zh) 2017-01-25
CN106354421B CN106354421B (zh) 2019-11-12

Family

ID=57842424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510423386.1A Active CN106354421B (zh) 2015-07-17 2015-07-17 筛选方法、筛选器及数据一致性维护系统

Country Status (1)

Country Link
CN (1) CN106354421B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110727464A (zh) * 2019-09-11 2020-01-24 无锡江南计算技术研究所 一种针对访存空间独立的多核处理器的信息处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620781B2 (en) * 2006-12-19 2009-11-17 Intel Corporation Efficient Bloom filter
CN104346294A (zh) * 2013-07-31 2015-02-11 华为技术有限公司 基于多级缓存的数据读/写方法、装置和计算机系统
CN104408069A (zh) * 2014-10-30 2015-03-11 浪潮电子信息产业股份有限公司 一种基于布隆过滤器思想的一致性目录设计方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620781B2 (en) * 2006-12-19 2009-11-17 Intel Corporation Efficient Bloom filter
CN104346294A (zh) * 2013-07-31 2015-02-11 华为技术有限公司 基于多级缓存的数据读/写方法、装置和计算机系统
CN104408069A (zh) * 2014-10-30 2015-03-11 浪潮电子信息产业股份有限公司 一种基于布隆过滤器思想的一致性目录设计方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110727464A (zh) * 2019-09-11 2020-01-24 无锡江南计算技术研究所 一种针对访存空间独立的多核处理器的信息处理方法
CN110727464B (zh) * 2019-09-11 2022-01-07 无锡江南计算技术研究所 一种针对访存空间独立的多核处理器的信息处理方法

Also Published As

Publication number Publication date
CN106354421B (zh) 2019-11-12

Similar Documents

Publication Publication Date Title
US10055158B2 (en) Providing flexible management of heterogeneous memory systems using spatial quality of service (QoS) tagging in processor-based systems
CN108829344A (zh) 数据存储方法、装置及存储介质
CN103455443B (zh) 一种缓存管理方法和装置
CN109977129A (zh) 多级数据缓存方法及设备
CN107025289B (zh) 一种数据处理的方法及相关设备
CN109753443A (zh) 一种数据处理方法、装置及电子设备
US8281103B2 (en) Method and apparatus for allocating storage addresses
CN107368437A (zh) 一种末级缓存管理方法及系统
CN110851474A (zh) 数据查询方法、数据库中间件、数据查询设备及存储介质
CN107341114A (zh) 一种目录管理的方法、节点控制器和系统
CN104346404B (zh) 一种访问数据的方法、设备及系统
CN104965793B (zh) 一种云存储数据节点装置
CN114036077A (zh) 数据处理方法及相关装置
CN108733584B (zh) 用于优化数据缓存的方法和设备
CN106354421A (zh) 筛选方法、筛选器及数据一致性维护系统
CN111831587A (zh) 数据写入方法、装置和电子设备
CN107003932A (zh) 多核处理器系统的缓存目录处理方法和目录控制器
CN115981555A (zh) 一种数据处理方法、装置、电子设备及介质
CN110334034A (zh) 映射表动态加载的方法、装置、计算机设备及存储介质
CN112148639A (zh) 一种高效小容量高速缓冲存储器替换方法及系统
CN109492020A (zh) 一种数据缓存方法、装置、电子设备及存储介质
CN110532258B (zh) 故障波传输方法和装置
CN110658999B (zh) 一种信息更新方法、装置、设备及计算机可读存储介质
WO2021189203A1 (zh) 带宽均衡方法和装置
CN108664417B (zh) 一种目录更新方法及装置

Legal Events

Date Code Title Description
C06 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
CP01 Change in the name or title of a patent holder

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd.

CP01 Change in the name or title of a patent holder