ISA semantics for ARMv8-a, RISC-v, and CHERI-MIPS

Author:

Armstrong Alasdair1,Bauereiss Thomas1,Campbell Brian2,Reid Alastair3,Gray Kathryn E.1,Norton Robert M.1,Mundkur Prashanth4,Wassell Mark1,French Jon1,Pulte Christopher1,Flur Shaked1,Stark Ian2,Krishnaswami Neel1,Sewell Peter1

Affiliation:

1. University of Cambridge, UK

2. University of Edinburgh, UK

3. ARM, UK

4. SRI International, USA

Abstract

Architecture specifications notionally define the fundamental interface between hardware and software: the envelope of allowed behaviour for processor implementations, and the basic assumptions for software development and verification. But in practice, they are typically prose and pseudocode documents, not rigorous or executable artifacts, leaving software and verification on shaky ground. In this paper, we present rigorous semantic models for the sequential behaviour of large parts of the mainstream ARMv8-A, RISC-V, and MIPS architectures, and the research CHERI-MIPS architecture, that are complete enough to boot operating systems, variously Linux, FreeBSD, or seL4. Our ARMv8-A models are automatically translated from authoritative ARM-internal definitions, and (in one variant) tested against the ARM Architecture Validation Suite. We do this using a custom language for ISA semantics, Sail, with a lightweight dependent type system, that supports automatic generation of emulator code in C and OCaml, and automatic generation of proof-assistant definitions for Isabelle, HOL4, and (currently only for MIPS) Coq. We use the former for validation, and to assess specification coverage. To demonstrate the usability of the latter, we prove (in Isabelle) correctness of a purely functional characterisation of ARMv8-A address translation. We moreover integrate the RISC-V model into the RMEM tool for (user-mode) relaxed-memory concurrency exploration. We prove (on paper) the soundness of the core Sail type system. We thereby take a big step towards making the architectural abstraction actually well-defined, establishing foundations for verification and reasoning.

Funder

DARPA / AFRL

European Research Council

Engineering and Physical Sciences Research Council

Publisher

Association for Computing Machinery (ACM)

Subject

Safety, Risk, Reliability and Quality,Software

Reference61 articles.

1. 2017. The gem5 Simulator. http://gem5.org . 2017. The gem5 Simulator. http://gem5.org .

2. 2017. QEMU: the FAST! processor emulator. https://www.qemu.org/ . 2017. QEMU: the FAST! processor emulator. https://www.qemu.org/ .

3. Fences in Weak Memory Models

4. Herding Cats

Cited by 66 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Towards a Dynabook for verified VM construction;Journal of Computer Languages;2024-08

2. ChatChisel: Enabling Agile Hardware Design with Large Language Models;2024 2nd International Symposium of Electronics Design Automation (ISEDA);2024-05-10

3. Lifting Micro-Update Models from RTL for Formal Security Analysis;Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2;2024-04-27

4. Hydride: A Retargetable and Extensible Synthesis-based Compiler for Modern Hardware Architectures;Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2;2024-04-27

5. Lightweight, Modular Verification for WebAssembly-to-Native Instruction Selection;Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 1;2024-04-17

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3