片上多核处理器存储一致性验证  被引量:13

Memory Consistency Verification of Chip Multi-Processor

在线阅读下载全文

作  者:王朋宇[1,2] 陈云霁[1] 沈海华[1] 陈天石[3] 张珩[1] 

机构地区:[1]中国科学院计算技术研究所计算机系统结构重点实验室,北京100190 [2]中国科学院研究生院,北京100049 [3]中国科学技术大学计算机科学技术系,安徽合肥230027

出  处:《软件学报》2010年第4期863-874,共12页Journal of Software

基  金:国家自然科学基金Nos.60603049;60673146;60736012;60721061;国家高技术研究发展计划(863)Nos.2007AA01Z112;2008AA110901;2007AA01Z114;国家重点基础研究发展计划(973)No.2005CB321600~~

摘  要:存储一致性验证是片上多核处理器功能验证的重要部分.由于验证并行程序的执行结果是否符合存储一致性模型理论上是NP难问题,现有的验证方法中只能采用一些时间复杂度大于O(n3)的不完全方法.发现在支持写原子性的多处理器系统中,两条执行时间不重叠的操作之间存在确定的时间序.通过引入时间序的概念,设计并实现了一种线性时间复杂度的存储一致性验证工具LCHECK.LCHECK利用时间序将验证局部化,使得在表示程序执行结果的有向图中,序关系边的推导和正确性检测都被限定在有限范围内.与现有其他方法相比,LCHECK时间复杂度低,对程序长度和访存地址数没有限制,因此验证效率更高.作为国产片上多核处理器龙芯3号的重要验证工具,LCHECK发现了一些存储系统的设计错误.Memory consistency verification is an important part of functional validation of CMP (chip multiprocessor). Since checking an execution of a parallel program against a memory consistency model is known to be an NP-hard problem, in practice, incomplete verification methods with higher than O(n^3) time complexity are used to deal with memory consistency verification. In this paper, a linear time complexity memory consistency verification tool LCHECK is introduced. In the multi-processor system which supports store atomieity, there must be a time order between two operations with disjoint execution periods: The former operation in time order must be observed by the latter operation. LCHECK localizes memory consistency verification based on time order. It infers edges of orders and checks correctness in bounded operations. LCHECK is used in the verification of an industrial CMP, Godson-3, and finds many bugs of memory subsystem of Godson-3.

关 键 词:存储一致性模型 验证 时间序 片上多核处理器 缓存一致性 

分 类 号:TP316[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象