基于Gem5模拟器的一致性协议测试方法和系统技术方案

技术编号:13743760 阅读:465 留言:0更新日期:2016-09-23 06:10
本发明专利技术公开了一种基于Gem5模拟器的一致性协议测试方法,包括:将Gem5模拟器的Ruby存储系统内的原始一级缓存、原始二级缓和原始内存划分为多个一级缓存、二级缓存和内存,设置一级缓存、二级缓存和内存与地址范围的映射关系,构建CC模拟模块、一级缓存、二级缓存和内存之间的拓扑结构,形成CC‑NUMA仿真系统;在CC‑NUMA仿真系统中运行并行测试激励程序集合,以对CC‑NUMA仿真系统的缓存一致性协议进行测试。可见,在本实施例中的测试方法,易于实现、执行速度快,并且可以最大程度的贴近现实物理机运行状况,不需要人工编写大量的测试激励;本发明专利技术还公开了一种基于Gem5模拟器的一致性协议测试系统。

【技术实现步骤摘要】

本专利技术涉及一致性协议测试
,更具体地说,涉及一种基于Gem5模拟器的一致性协议测试方法和系统
技术介绍
随着计算机系统日益复杂,其研制难度不断增加,开发风险不断加大,研制周期越来越长,体系结构模拟技术在计算机体系结构研究和系统设计中的作用愈加显著。通过对计算机系统的建模、仿真及评估,科研人员可以验证新型体系结构设计;将该技术导入产品设计则可优化系统方案、降低开发风险并提升开发效率。作为一种系统评估手段,体系结构模拟器运行在宿主机上,通过加载运行测试程序来验证新的设计方案,发现其中潜在的缺陷,从而改进设计并有效控制风险。体系结构模拟器通常使用软件方式对部分或全部计算机系统硬件建模,对体系结构的指令集架构、处理器、存储系统、网络传输拓扑结构等进行模拟,验证系统的功能和性能。体系结构模拟器已成为计算机系统研究和设计开发中不可或缺的工具。在当前多处理器系统之中,随着系统规模的扩大,多处理器之间连接方式由总线连接逐渐转为点对点互连,内存也从挂接处理器外部桥接芯片转变为直接挂接处理器。由于内存挂接方式的变化,内存在系统中的分布也发生变化,从而导致多处理器系统中内存访问的非均一性,故当前多处理器系统多为CC-NUMA(Cache Coherent Non-Uniform Memory Access——非一致内存访问缓存一致性)架构系统。由于CC-NUMA系统中的多个缓存单元的存在,设计CC-NUMA系统的过程中必须要解决多个缓存单元之间的一致性问题。鉴于现有多数商用处理器芯片已经支持多路直连,通过处理器之间的直连即可构建小规模的CC-NUMA系统。但是现有通用商用处理器芯片支持的直连接口有限,这也就限制了进一步扩大CC-NUMA系统规模的能力。为了设计更大规模的CC-NUMA系统,需要添加CC,来维护系统中多个cluster(缓存一致性单元组)之间的全局缓存一致性以及拓展系统规模:1.一个CC可以连接多个处理器,组成一个cluster,同时也是第一层一致性域,CC和处理器相互协作完成节点内部的一致性的维护工作。2.节点之间通过CC互连以及与路由芯片互连的方式,实现CC-NUMA系统规模的扩展。节点间的缓存一致性需要由CC进行维护,这是第二层一致性域。为实现上述功能,CC的设计中就需要实现一个基于处理器直连缓存一致性协议的多层一致性协议,用以维护全局缓存一致性。鉴于系统规模的庞大,该多层一致性协议往往会相对复杂,其相关的测试工作也成为了设计开发过程中的重中之重。在传统的仿真测试验证过程中,或通过处理器厂商提供的总线模型,或通过完全自主构建驱动模型,再接入CC硬件语言编码的方式对CC-NUMA系统进行仿真验证。这种方式的优点是待测试代码非常接近真实实现,可以发现代码实现过程中的协议,接口,控制逻辑以及信道控制等等一系列的潜在问题。但缺点就是仿真运行速度很低,效率极其低下,调试方法简陋,并且测试激励规模和逻辑极难贴近真实物理机的运行环境。因此,如何测试CC-NUMA的多层一致性协议,是本领域技术人员需要解决的问题。
技术实现思路
本专利技术的目的在于提供一种基于Gem5模拟器的一致性协议测试方法和系统,以实现更快速的对CC-NUMA的多层一致性协议进行测试。为实现上述目的,本专利技术实施例提供了如下技术方案:一种基于Gem5模拟器的一致性协议测试方法,包括:根据Gem5模拟器提供的Ruby存储系统的地址范围和设备标识,将Ruby存储系统内的原始一级缓存划分为N1个一级缓存,将原始二级缓存划分为N2个二级缓存,将原始内存划分为N3个内存;其中,N1、N2和N3为正整数;根据预设规则,设置每个一级缓存、每个二级缓存和每个内存与地址范围的映射关系,并构建每个CC模拟模块、每个一级缓存、每个二级缓存和每个内存之间的拓扑结构,形成CC-NUMA仿真系统;在所述CC-NUMA仿真系统中运行并行测试激励程序集合,以对所述CC-NUMA仿真系统的缓存一致性协议进行测试。其中,所述拓扑结构包括:通过互连网络互连的N4个CC模拟模块;与每个CC模拟模块相连的N5个二级缓存;与每个二级缓存相连的N6个一级缓存;与每个二级缓存相连的内存;其中,N4、N5和N6为正整数。其中,在所述CC-NUMA仿真系统中运行并行测试激励程序集合,包括:在所述CC-NUMA仿真系统中运行splash2;或者,在所述CC-NUMA仿真系统中运行PARSEC。其中,对所述CC-NUMA仿真系统的缓存一致性协议进行测试时,还包括:接收配置参数设置指令,并根据所述配置参数设置指令对配置参数进行调整;其中,所述配置参数至少包括:N1、N2、N3、N4、N5、N6、所述Gem5模拟器的运行频率、缓存行相连度、第一缓存的存储空间大小、第二缓存的存储空间大小和内存的存储空间大小。其中,本方案还包括:在内存的目录项中记录不同地址在本节点内部二级缓存和CC模拟模块中的数据共享状态;在CC模拟模块的目录项中根据LP和RP的功能不同,分别记录对应目标地址的其他节点的CC模拟模块和所代理的节点内部中二级缓存的共享状态。一种基于Gem5模拟器的一致性协议测试系统,包括:一级缓存划分模块,用于根据Gem5模拟器提供的Ruby存储系统的地址范围和设备标识,将Ruby存储系统内的原始一级缓存划分为N1个一级缓存;二级缓存划分模块,用于根据Gem5模拟器提供的Ruby存储系统的地址范围和设备标识,将原始二级缓存划分为N2个二级缓存;内存划分模块,用于根据Gem5模拟器提供的Ruby存储系统的地址范围和设备标识,将原始内存划分为N3个内存;其中,N1、N2和N3为正整数;映射关系设置模块,用于根据预设规则,设置每个一级缓存、每个二级缓存和每个内存与地址范围的映射关系;拓扑结构构建模块,用于构建每个CC模拟模块、每个一级缓存、每个二级缓存和每个内存之间的拓扑结构,形成CC-NUMA仿真系统;测试模块,用于在所述CC-NUMA仿真系统中运行并行测试激励程序集合,以对所述CC-NUMA仿真系统的缓存一致性协议进行测试。其中,所述拓扑结构包括:通过互连网络互连的N4个CC模拟模块;与每个CC模拟模块相连的N5个二级缓存;与每个二级缓存相连的N6个一级缓存;与每个二级缓存相连的内存;其中,N4、N5和N6为正整数。其中,所述测试模块通过在所述CC-NUMA仿真系统中运行splash2或者PARSEC,对所述CC-NUMA仿真系统的缓存一致性协议进行测试。其中,本方案还包括:配置参数设置设置模块,用于接收配置参数设置指令,并根据所述配置参数设置指令对配置参数进行调整;其中,所述配置参数至少包括:N1、N2、N3、N4、N5、N6、所述Gem5模拟器的运行频率、缓存行相连度、第一缓存的存储空间大小、第二缓存的存储空间大小和内存的存储空间大小。其中,本方案还包括:第一记录模块,用于在内存的目录项中记录不同地址在本节点内部二级缓存和CC模拟模块中的数据共享状态;第二记录模块,用于在CC模拟模块的目录项中根据LP和RP的功能不同,分别记录对应目标地址的其他节点的CC模拟模块和所代理的节点内部中二级缓存的共享状态。通过以上方案可知,本专利技术实施例提供的一种基于Gem5模拟器的一致性协议测试方法及系统,包括:根据本文档来自技高网
...

【技术保护点】
一种基于Gem5模拟器的一致性协议测试方法,其特征在于,包括:根据Gem5模拟器提供的Ruby存储系统的地址范围和设备标识,将Ruby存储系统内的原始一级缓存划分为N1个一级缓存,将原始二级缓存划分为N2个二级缓存,将原始内存划分为N3个内存;其中,N1、N2和N3为正整数;根据预设规则,设置每个一级缓存、每个二级缓存和每个内存与地址范围的映射关系,并构建每个CC模拟模块、每个一级缓存、每个二级缓存和每个内存之间的拓扑结构,形成CC‑NUMA仿真系统;在所述CC‑NUMA仿真系统中运行并行测试激励程序集合,以对所述CC‑NUMA仿真系统的缓存一致性协议进行测试。

【技术特征摘要】
1.一种基于Gem5模拟器的一致性协议测试方法,其特征在于,包括:根据Gem5模拟器提供的Ruby存储系统的地址范围和设备标识,将Ruby存储系统内的原始一级缓存划分为N1个一级缓存,将原始二级缓存划分为N2个二级缓存,将原始内存划分为N3个内存;其中,N1、N2和N3为正整数;根据预设规则,设置每个一级缓存、每个二级缓存和每个内存与地址范围的映射关系,并构建每个CC模拟模块、每个一级缓存、每个二级缓存和每个内存之间的拓扑结构,形成CC-NUMA仿真系统;在所述CC-NUMA仿真系统中运行并行测试激励程序集合,以对所述CC-NUMA仿真系统的缓存一致性协议进行测试。2.根据权利要求1所述的一致性协议测试方法,其特征在于,所述拓扑结构包括:通过互连网络互连的N4个CC模拟模块;与每个CC模拟模块相连的N5个二级缓存;与每个二级缓存相连的N6个一级缓存;与每个二级缓存相连的内存;其中,N4、N5和N6为正整数。3.根据权利要求2所述的一致性协议测试方法,其特征在于,在所述CC-NUMA仿真系统中运行并行测试激励程序集合,包括:在所述CC-NUMA仿真系统中运行splash2;或者,在所述CC-NUMA仿真系统中运行PARSEC。4.根据权利要求1所述的一致性协议测试方法,其特征在于,对所述CC-NUMA仿真系统的缓存一致性协议进行测试时,还包括:接收配置参数设置指令,并根据所述配置参数设置指令对配置参数进行调整;其中,所述配置参数至少包括:N1、N2、N3、N4、N5、N6、所述Gem5模拟器的运行频率、缓存行相连度、第一缓存的存储空间大小、第二缓存的存储空间大小和内存的存储空间大小。5.根据权利要求1所述的一致性协议测试方法,其特征在于,还包括:在内存的目录项中记录不同地址在本节点内部二级缓存和CC模拟模块中的数据共享状态;在CC模拟模块的目录项中根据LP和RP的功能不同,分别记录对应目标地址的其他节点的CC模拟模块和所代理的节点内部中二级缓存的共享状态。6.一种基于Gem5模拟器的一致性协议测试系统,其特征在于,包括:一级缓存划分模块,用于根据Gem5模拟器提供...

【专利技术属性】
技术研发人员:史宏志
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1