[发明专利]一种验证Cache一致性协议的装置及方法有效
申请号: | 201710601304.7 | 申请日: | 2017-07-21 |
公开(公告)号: | CN107368434B | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 王振江;周恒钊 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F12/0815 | 分类号: | G06F12/0815 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王汝银 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 验证 cache 一致性 协议 装置 方法 | ||
本发明提供了一种验证Cache一致性协议的装置,所述的装置包括:形式验证平台,利用验证平台内的验证工具,使用工具的内部变量失效命令对模型初始表中的状态变量进行失效;模型初始表,用来枚举模型中的状态变量并进行初始状态赋值;模型其他表,包含协议说明书或者说明表的所有协议表,用来定义模型协议表之间跳转接口,并实现模型协议表之间的跳转验证;模型规则定义表,用来定义模型协议表的跳转规则,以及检查Cache协议模型一致性。通过对模型中的变量状态进行组合,增加验证工具的验证路径,缩短验证时间。基于装置,本发明还提供了一种验证Cache一致性协议的方法。
技术领域
本发明涉及计算机技术领域,具体的说是一种验证Cache一致性协议的装置及方法。
背景技术
Cache(高速缓冲存储器)是存在于主存和CPU之间的一级存储器,在应用时,会出现Cache一致性问题。当两个或两个以上的Cache包含有同一数据块时,如果其中任何一个Cache对该数据块进行修改,包含有该数据块的其他Cache如果没有及时将数据进行更新就会产生数据不一致的情况。Cache一致性协议就是维护多个Cache数据的一致性。
Cache一致性协议是多核处理机系统的核心,所以对Cache一致性进行形式化验证是一项非常重要的工作。Cache一致性协议是为实现共享数据访问的一致性、提供逻辑统一的共享主存访问界面所采用的机制。Cache一致性协议设计和实现的正确性不仅直接决定多核处理器功能的正确性,而且对整个处理器的规模和性能都有着至关重要的影响。
目前针对该架构Cache协议的验证大部分使用模型验证,如图1所示,整个验证的原理为:整个模型包含5种状态,初始状态表为状态表1,完结状态表为状态表5,中间状态表为状态表2、3、4,整个验证从状态表1开始,到状态表5结束,从状态表1到状态表5之间会遍历所有可以抵达状态表5的路径,不同状态表最后都会汇总在状态表5,然后结束。
通过图1及上述的文字描述可知,随着状态的数量增加,整个验证中需要遍历的路径会成几何倍数甚至指数倍数的增加,在状态只有几个的小规模系统中比较实用,但在包含十几个甚至更多状态的大规模系统中,某些状态可能需要经历很长时间才能达到,使得验证过程中后期变缓甚至停滞,导致耗时较长。
发明内容
为了解决上述问题,提供了一种验证Cache一致性协议的装置及方法,通过对模型中的变量状态进行组合,增加验证工具的验证路径,缩短验证时间。
本发明提供了一种验证Cache一致性协议的装置,所述的装置包括:
形式验证平台,利用验证平台内的验证工具,使用工具的内部变量失效命令对模型初始表中的状态变量进行失效;
模型初始表,用来枚举模型中的状态变量并进行初始状态赋值;
模型其他表,包含协议说明书或者说明表的所有协议表,用来定义模型协议表之间跳转接口,并实现模型协议表之间的跳转验证;
模型规则定义表,用来定义模型协议表的跳转规则,以及检查Cache协议模型一致性。
进一步的,所述的模型初始表为模型协议表中的状态表1。
进一步的,所述模型初始表的初始状态赋值为0。
进一步的,所述模型协议表的跳转规则包括若干组变量状态组合。
本发明还提供了一种验证Cache一致性协议的方法,所述的方法包括以下步骤:
S1:执行遍历验证模式;
S2:判断是否需要进行随机化验证,若是,进入步骤S3,若否,返回步骤S1继续执行;
S3:利用验证失效命令,对模型初始表中的初始化变量进行失效;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710601304.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种LED照明装置
- 下一篇:一种方便安装的LED台灯