首页> 外文期刊>Computer architecture news >TriCheck: Memory Model Verification at the Trisection of Software, Hardware, and ISA
【24h】

TriCheck: Memory Model Verification at the Trisection of Software, Hardware, and ISA

机译:TriCheck:软件,硬件和ISA三部曲中的内存模型验证

获取原文
获取原文并翻译 | 示例
       

摘要

Memory consistency models (MCMs) which govern intermodule interactions in a shared memory system, are a significant, yet often under-appreciated, aspect of system design. MCMs are defined at the various layers of the hardware-software stack, requiring thoroughly verified specifications, compilers, and implementations at the interfaces between layers. Current verification techniques evaluate segments of the system stack in isolation, such as proving compiler mappings from a high-level language (HLL) to an ISA or proving validity of a microarchitectural implementation of an ISA. This paper makes a case for full-stack MCM verification and provides a toolflow, TriCheck, capable of verifying that the HLL, compiler, ISA, and implementation collectively uphold MCM requirements. The work showcases TriCheck's ability to evaluate a proposed ISA MCM in order to ensure that each layer and each mapping is correct and complete. Specifically, we apply TriCheck to the open source RISC-V ISA [55], seeking to verify accurate, efficient, and legal compilations from C11. We uncover under-specifications and potential inefficiencies in the current RISC-V ISA documentation and identify possible solutions for each. As an example, we find that a RISC-V-compliant microarchitecture allows 144 outcomes forbidden by C11 to be observed out of 1,701 litmus tests examined. Overall, this paper demonstrates the necessity of full-stack verification for detecting MCM-related bugs in the hardware-software stack.
机译:内存一致性模型(MCM)支配着共享内存系统中的模块间交互,是系统设计中一个重要的但通常未被重视的方面。 MCM在硬件-软件堆栈的各个层中定义,需要在层之间的接口处经过全面验证的规范,编译器和实现。当前的验证技术隔离地评估系统堆栈的各个部分,例如,证明从高级语言(HLL)到ISA的编译器映射或证明ISA的微体系结构实现的有效性。本文以全栈MCM验证为例,并提供了一个TriCheck工具流程,它能够验证HLL,编译器,ISA和实现共同支持MCM要求。该作品展示了TriCheck评估提议的ISA MCM的能力,以确保每个层和每个映射都是正确和完整的。具体来说,我们将TriCheck应用于开源RISC-V ISA [55],以寻求从C11验证准确,高效和合法的汇编。我们在当前的RISC-V ISA文档中发现规格不足和效率低下的问题,并为每种文档确定可能的解决方案。例如,我们发现符合RISC-V的微体系结构可以在1,701个石蕊测试中观察到144种C11禁止的结果。总体而言,本文说明了在检测硬件-软件堆栈中与MCM相关的错误时进行全堆栈验证的必要性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号