缓冲处理方法及探听过滤器、多处理器系统、存储介质技术方案

技术编号:37212381 阅读:13 留言:0更新日期:2023-04-20 23:02
本申请实施例提供了一种缓冲处理方法及探听过滤器、多处理器系统、存储介质,包括:响应于请求处理器发出的、用于寻找缓存行的目标地址的读取事务,从一组RAM集中确定出目标地址指向的目标RAM集,并在目标RAM集和驱逐缓冲中分别查找缓存行的目标地址;若在目标RAM集和驱逐缓冲中未查找到目标地址、且检测出目标RAM集中无剩余存储空间的情况下,从目标RAM集中选择第一RAM条目;向一致性控制模块发出针对第一RAM条目的第一后无效消息,以供一致性控制模块根据第一后无效消息,向第一RAM条目指向的第一CPU核发出针对第一RAM条目的无效事务;并逐出第一RAM条目。并逐出第一RAM条目。并逐出第一RAM条目。

【技术实现步骤摘要】
缓冲处理方法及探听过滤器、多处理器系统、存储介质


[0001]本申请涉及处理器领域,尤其涉及一种缓冲处理方法及探听过滤器、多处理器系统、存储介质。

技术介绍

[0002]作为增加新的计算机系统的计算能力的一种方法,多个处理器的使用越来越普遍。多处理器系统共享系统资源,如系统存储器和存储装置。多个处理器通常访问存储器或存储装置中的相同数据,并尝试同时利用这种数据。为了实现这个方面,多处理器跟踪数据的使用以保持数据的一致性。而用于保持这些系统中的数据一致性的一个常见方案是采用探听过滤器(Snoop Filter)。
[0003]在一个包含探听过滤器的多处理器系统中,当一个CPU核(CPU core)需要一条缓存行(Cache line),但是未在核内的缓存中找到时,寻找该缓存行的读取事务(transaction)会被送到探听过滤器中进行缓存行的目标地址的查找。目前探听过程的核心组件包括请求队列、探听过滤器和反馈电路,其中,读取事务送入请求队列中进行排队,探听过滤器对请求队列中的读取事务进行处理,以进行对应的缓存行的目标地址的查找,探听过滤器针对查找过程产生的事务均通过反馈电路传入请求队列中等待被执行。
[0004]然而,当探听过滤器中的随机存取存储器(Random Access Memory,RAM)和驱逐缓冲(eviction buffer)都满了的情况下,若未在探听过滤器中命中缓存行的目标地址,此时探听过滤器会产生无效事务通过反馈电路送入请求队列中,并排在当前的读取事务之后。由于无效事务排在读取事务之后处理,会导致在执行顺序上无效事务需要等待读取事务处理完成后处理,而在执行逻辑上读取事务又需等待无效事务处理完成后才能继续处理,进而造成死锁的问题。

技术实现思路

[0005]本申请实施例提供一种缓冲处理方法及探听过滤器、多处理器系统、存储介质,能够解决死锁的问题。
[0006]本申请的技术方案是这样实现的:
[0007]第一方面,本申请实施例提出一种缓冲处理方法,应用于探听过滤器,所述探听过滤器包括一组随机存取存储器RAM集和驱逐缓冲,所述方法包括:
[0008]响应于请求处理器发出的、用于寻找缓存行的目标地址的读取事务,从所述一组RAM集中确定出所述目标地址指向的目标RAM集,并在所述目标RAM集和所述驱逐缓冲中分别查找所述缓存行的目标地址;
[0009]若在所述目标RAM集和所述驱逐缓冲中未查找到所述目标地址、且检测出所述目标RAM集中无剩余存储空间的情况下,从所述目标RAM集中选择第一RAM条目;
[0010]向一致性控制模块发出针对所述第一RAM条目的第一后无效消息,以供所述一致性控制模块根据所述第一后无效消息,向所述第一RAM条目指向的第一CPU核发出针对所述
第一RAM条目的无效事务;并逐出所述第一RAM条目。
[0011]第二方面,本申请实施例提出一种探听过滤器,所述探听过滤器包括:一组RAM集、驱逐缓冲、控制器、结果分配电路、第一时序逻辑电路和第二时序逻辑电路;所述控制器的输出端分别与所述一组RAM集的输入端和所述驱逐缓冲的输入端连接,所述一组RAM集的输出端和所述驱逐缓冲的输出端与所述结果分配电路的输入端连接,所述结果分配电路的输出端与所述第一时序逻辑电路的输入端连接,所述第一时序逻辑电路与所述一组RAM集之间双向连接,所述第一时序逻辑电路的输出端通过所述第二时序逻辑电路与一致性控制模块的输入端连接;
[0012]所述控制器,用于响应于请求处理器发出的、用于寻找缓存行的目标地址的读取事务,从所述一组RAM集中确定所述目标地址指向的目标RAM集,并在所述目标RAM集和驱逐缓冲中分别查找所述目标地址,得到查找结果;
[0013]所述结果分配电路,用于将在所述目标RAM集和所述驱逐缓冲中未查找到所述目标地址的查找结果传输至所述第一时序逻辑电路;
[0014]所述第一时序逻辑电路,用于检测所述目标RAM集中是否存在可用RAM,并在检测出所述目标RAM集中无剩余存储空间的情况下,从所述目标RAM集中选择第一RAM条目;并逐出所述第一RAM条目;
[0015]所述第二时序逻辑电路,用于向所述一致性控制模块发出针对所述第一RAM条目的第一后无效消息,以供所述一致性控制模块根据所述第一后无效消息,向所述第一RAM条目指向的第一CPU核发出针对所述第一RAM条目的无效事务。
[0016]第三方面,本申请实施例提出一种多处理器系统,所述系统包括:多个处理器、总线和一致性模块,所述多个处理器和所述一致性模块之间通过所述总线连接;所述一致性模块包括请求队列、三级缓存、探听过滤器和一致性控制模块;其中,
[0017]所述请求队列,用于通过所述总线接收来自所述多个处理器中的至少一个处理器发出的至少一个读取事务,并对所述至少一个读取事务进行排队,得到读取事务队列;所述读取事务用于寻找对应的缓存行的目标地址;
[0018]所述三级缓存和所述探听过滤器,用于同时响应所述读取事务队列中排在第一位的读取事务,进行对应的缓存行的目标地址的查找过程;
[0019]所述三级缓存,还用于在查找到所述目标地址的情况下,将查找到的目标地址对应的数据返回发起所述读取事务的请求处理器中;在未查找到所述目标地址的情况下,发出未命中消息。
[0020]第四方面,本申请实施例提出一种存储介质,其上存储有计算机程序,该计算机程序被探听过滤器执行时实现如上述的缓冲处理方法。
[0021]本申请实施例提供了一种缓冲处理方法及探听过滤器、多处理器系统、存储介质,能够针对无效事务构建对应的独立的处理逻辑,即当在探听过滤器的目标RAM集和驱逐缓冲中未查找到缓存行的目标地址、且检测出目标RAM集中无剩余存储空间的情况下,向一致性控制模块发送针对目标RAM集中第一RAM条目的第一后无效消息,通过一致性控制模块向第一RAM条目指向的第一CPU核发出无效事务,之后可逐出第一RAM条目。基于上述针对无效事务的独立处理逻辑,使得无效事务和读取事务之间不存在执行顺序上的先后,进而不会造成读取事务和无效事务之间的死锁的问题。
附图说明
[0022]图1为本申请实施例提供的一种缓冲处理方法的流程图;
[0023]图2为本申请实施例提供的一种逐出第一RAM条目的流程图;
[0024]图3为本申请实施例提供的一种驱逐缓冲对应的方法流程图;
[0025]图4为本申请实施例提供的一种探听过滤器的结构示意图;
[0026]图5为本申请实施例提供的一种多处理器系统的结构示意图;
[0027]图6为本申请实施例提供的一种探听过滤器和三级缓存并行化执行查找操作的流程示意图。
具体实施方式
[0028]多处理器系统可能是任何类型多处理器或多核系统,包括个人计算机、大型计算机、手持计算机、消费者电子设备(移动电话、手持游戏装置、穿戴式设备等)、网络装置、汽车/航空电子控制器或其他类似装置。然而,此并非本申本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种缓存处理方法,其特征在于,应用于探听过滤器,所述探听过滤器包括一组随机存取存储器RAM集和驱逐缓冲,所述方法包括:响应于请求处理器发出的、用于寻找缓存行的目标地址的读取事务,从所述一组RAM集中确定出所述目标地址指向的目标RAM集,并在所述目标RAM集和所述驱逐缓冲中分别查找所述缓存行的目标地址;若在所述目标RAM集和所述驱逐缓冲中未查找到所述目标地址、且检测出所述目标RAM集中无剩余存储空间的情况下,从所述目标RAM集中选择第一RAM条目;向一致性控制模块发出针对所述第一RAM条目的第一后无效消息,以供所述一致性控制模块根据所述第一后无效消息,向所述第一RAM条目指向的第一CPU核发出针对所述第一RAM条目的无效事务;并逐出所述第一RAM条目。2.根据权利要求1所述的方法,其特征在于,所述逐出所述第一RAM条目,包括:检测所述驱逐缓冲中是否存在缓冲空间;若所述驱逐缓冲中存在缓冲空间,则将所述第一RAM条目驱逐至所述驱逐缓冲中;若所述驱逐缓冲中不存在缓冲空间,则等待所述驱逐缓冲中存在缓冲条目释放后,将所述第一RAM条目驱逐至所述驱逐缓冲中。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:检测所述驱逐缓冲中的可用缓冲的数量;在所述数量小于预设阈值的情况下,从所述驱逐缓冲中选择第一缓冲条目;并逐出所述第一缓冲条目;向所述一致性控制模块发出针对所述第一缓冲条目的第二后无效消息,以供所述一致性控制模块根据所述第二后无效消息,向所述第一缓冲条目指向的第二CPU核发出针对所述第一缓冲条目的无效事务。4.根据权利要求1所述的方法,其特征在于,所述逐出所述第一RAM条目之后,所述方法还包括:响应于所述请求处理器发出的、用于写入所述目标地址的写入事务,在所述目标RAM集中写入所述请求处理器的标识和所述目标地址,以形成第二RAM条目。5.根据权利要求1或4所述的方法,其特征在于,所述RAM条目由以下字段组成:用于表征CPU核的标识的字段、用于表征多核共享目标地址的字段、用于表征单核独享目标地址的字段和用于表征目标地址的字段。6.根据权利要求1所述的方法,其特征在于,所述在所述目标RAM集和驱逐缓冲中分别查找所述目标地址之后,所述方法还包括:若在所述目标RAM集或所述驱逐缓冲中查找到包含所述目标地址的第二CPU核的标识,则向所述一致性控制模块返回对应的命中消息;以供一致性控制模块向所述第二CPU核发送监听事务。7.一种探听过滤器,其特征在于,所述探听过滤器包括:一组RAM集、驱逐缓冲、控制器、结果分配电路、第一时序逻辑电路和第二时序逻辑电路;所述控制器,用于响应于请求处理器发出的、用于寻找缓存行的目标地址的读取事务,从所述一组RAM集中确定所述目标地址指向的目标RAM集,并在所述目标RAM集和驱逐缓冲中分别查找所述目标地址,得到查找结果;
所述结果分配电路,用于将在所述目标RAM集和所述驱逐缓冲中未查找到所述目标地址的查找结果传输至所述第一时序逻辑电路;所述第一时序逻辑电路,用于检测所述目标RAM集中是否存在可用RAM...

【专利技术属性】
技术研发人员:刘宗玺
申请(专利权)人:北京奕斯伟计算技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1