logo好方法网

一种片上多核处理器Cache一致性协议验证方法、系统及介质


技术摘要:
本发明公开了一种片上多核处理器Cache一致性协议验证方法、系统及介质,本发明方法的步骤包括:针对执行待验证Cache协议的片上多核处理器加载执行测试程序,并跟踪片上网络的Cache相关报文,并通过记录板文件记录Cache事务的生命周期;检查测试程序的运行结果是否出现  全部
背景技术:
集成电路技术发展,多核、众核处理器已成为发展趋势。多核处理器(Chip  Multi- processor,  CMP)已经广泛应用于高性能服务器、在线事务处理等领域.随着多核多线程间 数据通信需求的不断增强,需要在片上集成大容量Cache来实现数据共享和信息交互,从降 低访存延迟和减少访问冲突。片上多核结构已成为当前高性能微处理器的主流技术,缓存 一致性协议的实现也与片上网络密切相关,片上网络的报文体现了缓存一致性协议的特 性,一致性消息通过片上网络报文进行传输。 缓存一致性协议异常复杂,协议的状态空间呈指数级增长,甚至出现爆炸现象,如 何保证缓存一致性协议的正确性,一直被工业界和学术界所关注的验证瓶颈。学术上研究 所涉及缓存一致性协议一般是在结构级上进行建模,行为和功能级进行验证,工业界主流 因为形式化验证的组合爆炸问题,一般采用的是软模拟方法。本文的目的,是提出一种软模 拟方法,采用受约束的随机激励,测试片上多核、众核结构的Cache协议的正确性,精确定位 错误场景,发现设计漏洞。 传统测试程序是随机测试程序或是应用程序,传统测试的优点是程序员不用考虑 Cache的协议,但可能访存模式单一,并不能完全测试到协议的正确性,传统测试并不是完 全针对Cache协议的测试,所以效率不高,发现数据错误后定位较难。
技术实现要素:
本发明要解决的技术问题:针对现有技术的上述问题,提供一种片上多核处理器 Cache一致性协议验证方法、系统及介质,本发明能够在验证过程中精确定位错误场景,易 于发现设计漏洞和错误。 为了解决上述技术问题,本发明采用的技术方案为: 一种片上多核处理器Cache一致性协议验证方法,该方法的步骤包括: 1)针对执行待验证Cache协议的片上多核处理器加载执行测试程序,并跟踪片上网络 的Cache相关报文,并通过记录板文件记录Cache事务的生命周期; 2)检查测试程序的运行结果是否出现错误,所述出现错误是指针对同一访存地址的读 请求读取的访存数据与该访存地址的上一次写请求写入的访存数据不一致、或在该访存地 址从未被写入过时与默认数据不一致;若出现错误,则判定Cache协议验证未通过测试,退 出;否则执行下一步; 3)检查记录板文件定位测试程序执行过程中的错误场景,如果找到错误场景或者记录 板文件仍有未完成的Cache事务则判定Cache协议验证未通过测试;否则,判定Cache协议验 证通过测试。 4 CN 111611120 A 说 明 书 2/6 页 可选地,步骤1)中的测试程序中包含随机生成针对不同核的下述连续访存序列: (A)访存地址相同,不同核读写同一个地址,写指令后插入随机核的同步指令;(B)访存地址 不相同,不同核读写地址标签的连续地址;(C)访存地址相同,不同核读写访存的粒度不同。 可选地,步骤1)之前还包括利用汇编程序编生成访存指令、并编译生成测试程序 的步骤。 可选地,步骤1)中的记录板文件中每一行的字段包括:表序号、发生时间、事务号、 源节点、目的节点、操作码、访存地址、访存粒度、访存数据、状态,其中状态是指Cache事务 的执行状态,取值为进行态或者完成态,分别表示该Cache事务尚未完成或者已经完成。 可选地,步骤1)中通过记录板文件记录Cache事务的生命周期时,每跟踪到片上网 络的一个Cache相关报文的处理步骤包括:判断该Cache相关报文的类型,若该Cache相关报 文的类型为读请求报文、或写请求报文、或监听请求报文,则将该Cache相关报文的信息写 入记录板文件,且对应Cache事务的执行状态为进行态;若该Cache相关报文的类型为监听 响应报文,  则根据该Cache相关报文的Cache事务号、源节点、目的节点作为索引查找记录 板文件中的匹配行,找到匹配行后则将匹配行的状态字段修改为完成态,若未找到匹配行 则将该Cache相关报文的信息写入记录板文件,且对应Cache事务的执行状态为进行态;若 该Cache相关报文的类型为访存响应报文,则根据该Cache相关报文的Cache事务号、源节 点、目的节点作为索引查找记录板文件中的匹配行,找到匹配行后则将匹配行的状态字段 修改为完成态。 可选地,所述错误场景包括:读请求的状态未完成、读请求的访存数据不等于上一 次写请求或默认的访存数据、读响应或者监听响应发生超时。 可选地,步骤3)中检查记录板文件定位测试程序执行过程中的错误场景的详细步 骤包括: 3.1)遍历选择记录板文件中操作码等于读请求的一行作为当前行; 3.2)根据当前行的事务号、源节点号、访存地址查找记录板文件,且查找条件为操作码 等于读响应或者监听响应、访存数据等于当前行的访存数据,如未找到匹配行,则判定当前 行的读Cache事务未完成,记录错误信息,执行步骤3.4);否则执行下一步; 3.3)判断匹配行的发生时间、当前行的发生时间之差是否超过预设阈值,如果超过预 设阈值,则判定当前行对应的读Cache事务响应超时,记录错误信息,执行步骤3.4); 3.4)根据当前行的访存地址查找记录板文件,查找条件为操作码等于写请求、发生时 间早于当前行的发生时间,如果找到匹配行,则确定其中发生时间最晚的匹配行,并判断该 发生时间最晚的匹配行的访存数据、当前行的访存数据是否一致,如果不一致,则判定当前 行的读数据与前一次的写入数据不同,记录错误信息,执行步骤3.5);如果未找到匹配行, 则判断当前行的读数据是否为默认数据,如果不是默认数据,则判定当前行对应的读Cache 事务的读数据出错,记录错误信息; 3.5)判断记录板文件中操作码等于读请求的行是否遍历完毕,如果尚未遍历完毕,则 执行步骤3.1);否则判定错误场景定位完毕。 可选地,步骤3)中记录板文件仍有未完成的Cache事务具体是指遍历记录板文件 中每一行的状态字段,如果任意一行的状态字段为进行态,则判定仍有未完成的Cache事 务。 5 CN 111611120 A 说 明 书 3/6 页 此外,本发明还提供一种片上多核处理器Cache一致性协议验证系统,包括带有片 上多核处理器的计算机设备,所述片上多核处理器的片上网络中带有用于收集跟踪片上网 络的Cache相关报文的片上网络Cache监视器,该计算机设备被编程或配置以执行所述片上 多核处理器Cache一致性协议验证的步骤,或者该计算机设备的存储器上存储有被编程或 配置以执行所述片上多核处理器Cache一致性协议验证的计算机程序。 此外,本发明还提供一种片上多核处理器Cache一致性协议验证系统,包括带有片 上多核处理器的计算机设备,该计算机设备被编程或配置以执行所述片上多核处理器 Cache一致性协议验证的步骤,或者该计算机设备的存储器上存储有被编程或配置以执行 所述片上多核处理器Cache一致性协议验证的计算机程序。 此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有 被编程或配置以执行所述片上多核处理器Cache一致性协议验证的计算机程序。 和现有技术相比,本发明具有下述优点: 1、本发明通过跟踪片上网络的Cache相关报文,并通过记录板文件记录Cache事务的生 命周期,然后通过检查测试程序的运行结果是否出现错误、检查记录板文件定位测试程序 执行过程中的错误场景、记录板文件仍有未完成的Cache事务来全面验证Cache一致性协 议,能够在验证过程中精确定位错误场景,发现设计漏洞。 2、本发明通过记录板文件记录Cache事务的生命周期,基于Cache事务的生命周期 来检查记录板文件定位测试程序执行过程中的错误场景、记录板文件仍有未完成的Cache 事务,可方便地实现定位具体错误的Cache事务类型和场景,比对数据正确性和事务处理超 时,精确定位错误场景,易于发现设计错误。 附图说明 图1为本发明实施例方法的基本流程图。 图2为本发明实施例中的片上互连结构的示意图。 图3为本发明实施例中定位错误场景的流程示意图。
下载此资料需消耗2积分,
分享到:
收藏