一种实现多核缓存一致性验证的方法技术

技术编号:33277359 阅读:25 留言:0更新日期:2022-04-30 23:36
本发明专利技术公开了一种实现多核缓存一致性验证的方法,包括以下步骤:S1、当一个核更新缓存行到M状态时,检查该缓存行是否存在在其他核的缓存中;S2、当个核更新缓存行到E状态时,检查该缓存行是否存在在其他核的缓存中;S3、当一个核更新缓存行到S状态时,检查该缓存行是否存在在其他核的缓存中,若其他核的状态是S,则检查两个核的缓存行数据是否一致,同时检查与内存中的数据是否一致;S4、当一个核更新缓存行到I状态时,其他核在任何状态都有可能,不需要检查。根据本发明专利技术,通过监测一级缓存和二级缓存的更新信息,同时通过查看内存中的数据,能够保证缓存遵守MESI一致性协议,同时能够保证数据的正确性。够保证数据的正确性。够保证数据的正确性。

【技术实现步骤摘要】
一种实现多核缓存一致性验证的方法


[0001]本专利技术涉及CPU多核验证的
,特别涉及一种实现多核缓存一致性验证的方法。

技术介绍

[0002]CPU多核验证中,缓存的一致性验证至关重要,但目前没有一种很有效的方法来保证缓存一致性的正确性,对于多核系统,目前没有一种很有效且统一的方法来验证缓存的一致性,市场上没有一种工具能验证缓存一致性。

技术实现思路

[0003]针对现有技术中存在的不足之处,本专利技术的目的是提供一种实现多核缓存一致性验证的方法,通过监测一级缓存和二级缓存的更新信息,同时通过查看内存中的数据,能够保证缓存遵守MESI一致性协议,同时能够保证数据的正确性。为了实现根据本专利技术的上述目的和其他优点,提供了一种实现多核缓存一致性验证的方法,包括以下步骤:
[0004]S1、当一个核更新缓存行到M状态时,检查该缓存行是否存在在其他核的缓存中,如果存在,则该缓存行的状态只能是I状态,否则报错;
[0005]S2、当个核更新缓存行到E状态时,检查该缓存行是否存在在其他核的缓存中,如果存在,则该缓本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种实现多核缓存一致性验证的方法,其特征在于,包括以下步骤:S1、当一个核更新缓存行到M状态时,检查该缓存行是否存在在其他核的缓存中,如果存在,则该缓存行的状态只能是I状态,否则报错;S2、当个核更新缓存行到E状态时,检查该缓存行是否存在在其他核的缓存中,如果存在,则该缓存行的状态只能是I状态,否则报错;同时检查缓存行更新的数据是否与内存中的数据一致,若不同,则报错;S3、当一个核更新缓存行到S状态时,检查该缓存行是否存在在其他核的缓存中,如果存在,则该缓存行的状态只能是S或者I态,否则报错;若其他核的状态是S,则检查两个核的缓存行数据是否一致,同时检查与内存中的数据是否一致;S4、当一个核更新缓存行到I状态时,其他核在任何状态都有可能,不需要检查。2.如权利要求1所述的一种实现多核缓存一致性验证的方法,其特征在于,应用于多核环境,所述多核环境包括两个cluster,所述cluster包括1个二级缓存,所述二级缓存连接有多个核,且每个所述核包括一级数据缓存,所述一级数据缓存与二级缓存同时进行一致性验证。3.如权利要求2所述的一种实现多核缓存一致性验证的方法,其特征在于,所述一级数据缓存的一致性验证包括以下步骤:(1)在一级数据缓存检查器中同时监测多核系统中每个核的一级数据缓存更新信息,获得更新状态,更新缓存行的tag,index以及bank信息,同时保存缓存行数据;(2)在一级数据缓存检查器中同时监测多核系统中每个核的一级数据缓存,根据当前更新核的tag,index和bank信息,获得其他核在当前时刻是否存在相同缓存行的信息,若存在,通过访问缓存directory,获得缓存行状态,通过访问缓存data,获得缓存行数据;(3)若更新核的状态是M,则根据步骤S1进行监测判断;(4)若更新核的状态是E,则根据...

【专利技术属性】
技术研发人员:沈秀红
申请(专利权)人:广东赛昉科技有限公司
类型:发明
国别省市:

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

1