Modelling the ARMv8 Architecture, Operationally: Concurrency and ISA

The work

AuthorsShaked Flur; Kathryn E. Gray; Christopher Pulte; Susmit Sarkar; Ali Sezgin; Luc Maranget; Will Deacon; Peter Sewell
Editors
Typeinproceedings
Year2016
Citekeyflur2016modelling

Where it appeared

Published inProceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2016)
Pages608--621

Identifiers

DOI10.1145/2837614.2837615
handlehal-01244776

Related

Distinct fromarmstrong2024isla
Distinct frombauereiss2022verified
Distinct fromhossain2020transform
Distinct fromnienhuis2020rigorous
Distinct fromponcedeleon2022cats

From bibtex.

Abstract

In this paper we develop semantics for key aspects of the ARMv8 multiprocessor architecture: the concurrency model and much of the 64-bit application-level instruction set (ISA). Our goal is to clarify what the range of architecturally allowable behaviour is, and thereby to support future work on formal verification, analysis, and testing of concurrent ARM software and hardware. Establishing such models with high confidence is intrinsically difficult: it involves capturing the vendor's architectural intent, aspects of which (especially for concurrency) have not previously been precisely defined. We therefore first develop a concurrency model with a microarchitectural flavour, abstracting from many hardware implementation concerns but still close to hardware-designer intuition. This means it can be discussed in detail with ARM architects. We then develop a more abstract model, better suited for use as an architectural specification, which we prove sound w.r.t. the first. The instruction semantics involves further difficulties, handling the mass of detail and the subtle intensional information required to interface to the concurrency model. We have a novel ISA description language, with a lightweight dependent type system, letting us do both with a rather direct representation of the ARM reference manual instruction descriptions. We build a tool from the combined semantics that lets one explore , either interactively or exhaustively, the full range of architecturally allowed behaviour, for litmus tests and (small) ELF ex-ecutables. We prove correctness of some optimisations needed for tool performance. We validate the models by discussion with ARM staff, and by comparison against ARM hardware behaviour, for ISA single-instruction tests and concurrent litmus tests.

A copy is held

pdf, 518.3 kB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via bibtex
Added2026-09-18 03:56 UTC
Approved bya person 2026-10-05 21:11 UTC

Filed under

petersewell

Cite it as

@inproceedings{flur2016modelling,
  title        = {Modelling the ARMv8 Architecture, Operationally: Concurrency and ISA},
  author       = {Shaked Flur and Kathryn E. Gray and Christopher Pulte and Susmit Sarkar and Ali Sezgin and Luc Maranget and Will Deacon and Peter Sewell},
  year         = {2016},
  booktitle    = {Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2016)},
  pages        = {608--621},
  doi          = {10.1145/2837614.2837615},
}

This record lives at https://refs.drheap.org/flur2016modelling/ and will keep doing so.