多核处理器数据一致性验证装置和方法与流程

文档序号:37853630发布日期:2024-05-07 19:27阅读:14来源:国知局
多核处理器数据一致性验证装置和方法与流程

本技术涉及处理器验证,特别是涉及一种多核处理器数据一致性验证装置、方法、电子设备。


背景技术:

1、目前,随着处理器规模增大,对于大规模多核处理器的数据一致性要求也越来越高。

2、相关技术中,传统的一致性验证方法通常是通过生成参考值,与读取到的实际值进行比较以检测数据是否满足要求,但随着处理器的逻辑和功能越发复杂,通过正向预测产生合理的参考值愈发难以实现。例如,当前有2笔写指令发给缓存,若执行次数为1,所预测得到的参考值至多有2个;若写指令的数量为10,执行次数为5时,预测得到的参考值可能高达252个;针对更加复杂的场景,写指令数十个甚至更多时,直接正向预测得到的参考值数量将会非常巨大,导致大规模多核处理器场景下的数据一致性验证效率低。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够提升大规模多核处理器场景下的数据一致性验证效率的多核处理器数据一致性验证装置、方法、电子设备。

2、第一方面,本技术提供了一种多核处理器数据一致性验证装置,所述装置包括:处理器、数据一致性逆推模块、一致性验证检查模块;

3、所述处理器,用于输出操作指令;

4、所述数据一致性逆推模块,用于获取所述操作指令,生成所述操作指令对应的指令数据队列,所述操作指令包括多个写指令,在所述指令数据队列中的不同队列层级放置有各所述写指令对应的第一指令数据,并获取所述操作指令对应的读指令的第二指令数据,所述第二指令数据包括多个数据区块;

5、所述一致性验证检查模块,用于从所述指令数据队列和历史已匹配数据中,搜索出与所述第二指令数据的各所述数据区块相匹配的数据,得到一致性验证结果,所述历史已匹配数据为当前已存储的缓存数据,并根据所述一致性验证结果和所述操作指令对应的读指令的指令状态,确定一致性检查结果;所述一致性检查结果用于表征所述一致性验证结果的数据一致性是否合理。

6、在其中一个实施例中,所述数据一致性逆推模块包括虚拟缓存模型单元和缓存单元,所述处理器同时与所述虚拟缓存模型单元和所述缓存单元相连,

7、所述处理器,用于针对所述缓存单元输出操作指令;

8、所述缓存单元,用于获取所述操作指令,在所述虚拟缓存模型单元中生成所述操作指令对应的指令数据队列;

9、所述虚拟缓存模型单元,用于获取所述操作指令对应的读指令的第二指令数据。

10、在其中一个实施例中,所述虚拟缓存模型单元包括写指令数据获取子单元和数据存入队列子单元,

11、所述写指令数据获取子单元,用于针对当前匹配轮次,获取所述处理器输出的操作指令,并获取所述操作指令包含的各所述写指令对应的第一指令数据;

12、所述数据存入队列子单元,用于按照指令排序,依次将各所述第一指令数据存入所述当前匹配轮次对应的队列层级中,得到所述操作指令对应的指令数据队列。

13、在其中一个实施例中,所述虚拟缓存模型单元还包括读指令数据获取子单元,

14、所述读指令数据获取子单元,用于响应于所述操作指令对应的读指令,获取从所述缓存单元中流出的所述读指令对应的缓存数据,作为所述第二指令数据。

15、在其中一个实施例中,所述一致性验证检查模块包括一致性验证单元和一致性检查单元;

16、所述一致性验证单元,用于从所述指令数据队列和历史已匹配数据中,搜索出与所述第二指令数据的各所述数据区块相匹配的数据,得到一致性验证结果;

17、所述一致性检查单元,用于根据所述一致性验证结果和所述操作指令对应的读指令的指令状态,确定一致性检查结果。

18、在其中一个实施例中,所述一致性验证单元包括逆推匹配子单元、压缩合并数据得到子单元、一致性验证结果得到子单元,

19、所述逆推匹配子单元,用于在所述指令数据队列和所述历史已匹配数据中,对所述第二指令数据的各所述数据区块进行逆推匹配;

20、所述压缩合并数据得到子单元,用于若各所述数据区块均搜索到相匹配的数据,确定由所述搜索到相匹配的数据得到的压缩合并数据;

21、所述一致性验证结果得到子单元,用于在所述压缩合并数据与所述第二指令数据相符合的情况下,确定所述当前匹配轮次的一致性数据逆推完成,得到所述一致性验证结果。

22、在其中一个实施例中,所述逆推匹配子单元,还用于在所述指令数据队列中,若搜索到与所述第二指令数据中任一数据区块相匹配的数据,将所述任一数据区块移动到已匹配数据中;针对所述第二指令数据中未匹配数据区块,在所述历史已匹配数据中,若搜索与所述未匹配数据区块相匹配的数据,将所述未匹配数据区块移动到所述已匹配数据中,直至所述第二指令数据中包含的数据区块均移动到所述已匹配数据;所述未匹配数据区块为所述第二指令数据中,未在所述指令数据队列中搜索到相匹配数据的数据区块。

23、在其中一个实施例中,所述压缩合并数据得到子单元,还用于获取指令数据标记信息;所述指令数据标记信息为在所述指令数据队列中,基于搜索到的相匹配数据所在队列层级,对所述指令数据队列中存在互相接触状态的指令数据进行标记得到的;根据所述指令数据标记信息,将所述当前匹配轮次的多次标记下存在互相接触状态的指令数据进行压缩合并,得到所述压缩合并数据。

24、第二方面,本技术还提供了一种多核处理器数据一致性验证方法,所述方法包括:

25、获取操作指令,生成所述操作指令对应的指令数据队列;所述操作指令包括多个写指令,在所述指令数据队列中的不同队列层级放置有各所述写指令对应的第一指令数据;

26、获取所述操作指令对应的读指令的第二指令数据;所述第二指令数据包括多个数据区块;

27、从所述指令数据队列和历史已匹配数据中,搜索出与所述第二指令数据的各所述数据区块相匹配的数据,得到一致性验证结果;所述历史已匹配数据为当前已存储的缓存数据;

28、根据所述一致性验证结果和所述操作指令对应的读指令的指令状态,确定一致性检查结果;所述一致性检查结果用于表征所述一致性验证结果的数据一致性是否合理。

29、第三方面,本技术还提供了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的多核处理器数据一致性验证装置的步骤。

30、第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的多核处理器数据一致性验证装置的步骤。

31、第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的多核处理器数据一致性验证装置的步骤。

32、上述一种多核处理器数据一致性验证装置、方法、电子设备,装置包括:处理器、数据一致性逆推模块、一致性验证检查模块;处理器,用于输出操作指令;数据一致性逆推模块,用于获取操作指令,生成操作指令对应的指令数据队列,操作指令包括多个写指令,在指令数据队列中的不同队列层级放置有各写指令对应的第一指令数据,并获取操作指令对应的读指令的第二指令数据,第二指令数据包括多个数据区块;一致性验证检查模块,用于从指令数据队列和历史已匹配数据中,搜索出与第二指令数据的各数据区块相匹配的数据,得到一致性验证结果,历史已匹配数据为当前已存储的缓存数据,并根据一致性验证结果和操作指令对应的读指令的指令状态,确定一致性检查结果;一致性检查结果用于表征一致性验证结果的数据一致性是否合理,实现了针对多核处理器数据一致性验证优化,根据处理器输出的操作指令生成对应的指令数据队列,进而在指令数据队列和历史已匹配数据中对读指令的第二指令数据进行匹配搜索以完成数据一致性验证,能够采用逆推匹配的方式执行多核处理器数据一致性验证,有效提升了大规模多核处理器场景下的数据一致性验证效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1