计算机工程与科学 ›› 2025, Vol. 47 ›› Issue (11): 1932-1944.
胡津涛,徐学政,杨德亨,黄安文,寇广,李琼
HU Jintao,XU Xuezheng,YANG Deheng,HUANG Anwen,KOU Guang,LI Qiong
摘要: 内存一致性模型,简称内存模型,规定了多核系统访存的观测规律,是软硬件共同遵守的架构规范,具有难设计、难描述、难实现和难测试的特点,一直是学术界和工业界的研究热点。由于并行程序执行顺序的不确定性,内存模型的测试通常需要大量重复地运行特定程序,通过最终的程序状态判断是否存在非法的访存顺序。这在硅前的仿真阶段尤其耗时,为芯片验证带来了极大的挑战。近年来,RISC-V因其开源、精简、模块化和高可定制性的特点广受欢迎。由于其开源的特点,RISC-V芯片的指令集扩展和微架构设计有着极高的灵活度,其内存模型也允许在兼容规范的基础上进行定制,这种高可定制性为芯片的验证带来了更多的挑战。为此,面向RISC-V架构提出了一种基于循环展开的高效内存一致性测试方法,通过分析已有测试方法的性能瓶颈,借鉴传统编译技术中的循环展开,将反复运行的测试程序合并,在大大降低线程同步开销的同时,提升了线程间访存交叉执行的概率,从而提高了测试效率。实验结果表明,所提方法在包括RISC-V板卡和模拟器在内的不同平台上相比已有的内存一致性测试方法,测试效率提升至1.5~184倍。