[发明专利]一种验证cache一致性协议的方法及装置有效
申请号: | 201610204354.7 | 申请日: | 2016-04-05 |
公开(公告)号: | CN105912415B | 公开(公告)日: | 2017-12-29 |
发明(设计)人: | 王振江;王朝辉;钟俊华 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 李世喆 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 验证 cache 一致性 协议 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种验证cache一致性协议的方法及装置。
背景技术
近年来随着集成电路技术的不断发展引发了多内核技术的出现,因为CPU的速度远高于存储器的速度,成为了限制处理器发展的“技术瓶颈”。Cache(高速缓存)的出现很好的解决了这个问题,Cache是存在于主存和CPU之间的一级存储器,然而在应用时会出现Cache一致性问题。当两个或两个以上的Cache包含有同一数据块时,如果其中任何一个Cache对该数据块进行修改,包含有该数据块的其他Cache如果没有及时将数据进行更新就会产生数据不一致的情况。Cache一致性协议就是维护多个Cache数据的一致性。Cache一致性协议是多核处理机系统的核心,所以对cache一致性进行形式化验证是一项非常重要的工作。
现有技术中,一般都采用模拟或仿真技术进行cache一致性协议的验证。具体地,通过模拟或仿真cache之间的数据交互来验证cache一致性协议。
但是,现有技术的验证cache一致性协议的方案,随着协议的复杂性的增加,无法覆盖所有的错误情况,验证结果不够准确。
发明内容
本发明实施例提供了一种验证cache一致性协议的方法及装置,能够使得验证结果更加准确。
一方面,本发明实施例提供了一种验证cache一致性协议的方法,包括:
S1:预先设置cache一致性协议的协议表项,将每个协议表项与预设状态机的一个状态对应;
S2:预先根据所述状态机和所述协议表项,建立所述cache一致性协议的形式化模型;
S3:确定待运行的协议表项;
S4:确定到达每个待运行的协议表项对应的状态的所有场景;
S5:根据每个所述场景,运行所述形式化模型;
S6:根据所述形式化模型的运行结果,验证所述cache一致性协议。
进一步地,包括:
所述S3,包括:将每个协议表项作为所述待运行的协议表项;
所述S6,包括:判断是否存在没有场景能够到达的状态,如果是,则确定所述cache一致性协议不通过验证,否则,确定所述cache一致性协议通过验证。
进一步地,包括:
所述S3,包括:将每个协议表项作为所述待运行的协议表项;
所述S6,包括:判断是否存在能够到达不止一个状态的场景,如果是,则确定所述cache一致性协议不通过验证,否则,确定所述cache一致性协议通过验证。
进一步地,还包括:预先设置至少两个协议表,其中,每个协议表包括至少一个协议表项;
还包括:预先设置任一两个协议表之间的触发条件;
所述S3,包括:将每个触发条件对应的协议表中的协议表项作为所述待运行的协议表项;
所述S5,包括:根据每个触发条件和每个触发条件对应的场景,运行所述形式化模型;
所述S6,包括:判断是否存在所有的协议表均未被触发的情况,如果是,则确定所述cache一致性协议不通过验证,否则,确定所述cache一致性协议通过验证。
进一步地,所述S3,包括:将每个协议表项作为所述待运行的协议表项;
所述S6,包括:判断在所有场景到达的状态中是否存在没有对应的协议表项的状态,如果是,则确定所述cache一致性协议不通过验证,否则,确定所述cache一致性协议通过验证。
进一步地,还包括:预先设置目录监听协议MESI检测规则,其中,所述MESI检测规则,包括:任意两个Cache不能同时为M状态;任意两个Cache不能同时为E状态;任意两个Cache的状态中M状态和E状态不能同时存在;任意两个Cache的状态中M状态和S状态不能同时存在;任意两个Cache的状态中E状态和S状态不能同时存在;主存目录状态为I状态时,所有Cache状态都为I状态;主存目录状态为S状态时,任意一个Cache不能为E状态和M状态;主存目录状态为I状态时,目录矢量必须为0;主存目录状态为E状态时,目录矢量只有一位为1;
还包括:根据所述MESI检测规则生成检查探针;
所述S6,包括:通过所述检查探针来实时检测运行中的所述形式化模型是否满足所述MESI检测规则,如果是,则所述cache一致性协议通过验证,否则,所述cache一致性协议不通过验证。
另一方面,本发明实施例提供了一种验证cache一致性协议的装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610204354.7/2.html,转载请声明来源钻瓜专利网。