Arm systems semantics

The work

AuthorsBen Simner
Editors
Typephdthesis
Year2025
Citekeysimner2025arm

Where it appeared

SchoolUniversity of Cambridge, Department of Computer Science and Technology

From bibtex.

Abstract

Computing relies on architecture specifications to decouple hardware and software development. Historically these have been prose documents, with all the problems that entails, but research over the last ten years has developed rigorous and executable-as-test-oracle specifications of mainstream architecture instruction sets and ‘user-mode’ concurrency, clarifying architectures and bringing them into the scope of programminglanguage semantics and verification. However, the system semantics, of address translation and TLB maintenance, instruction-fetch and its required cache maintenance, and exceptions and interrupts, remains mostly obscure, leaving us without a solid foundation for verification of security-critical systems software. We develop precise mathematical models, for those aspects of the Arm A-class architecture. We implement these models as executable models, in both microarchitectural-flavoured operational and declarative axiomatic style formats. We validate these models, against currently available hardware through the production and evaluation of hardware test harnesses and test suites, and against the architectural intent through discussions with Arm architects. We give a variety of hand-written and machine-generated litmus tests, exercising parts of the architecture previously unexplored. We discuss the nature of developing such models, and the challenges that writing specifications of existing systems entails. We briefly touch on how these models have evolved over time, and how we imagine they will evolve in the future as the remaining questions are resolved.

A copy is held

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

How it got here

How it got hereagent via bibtex
Added2026-10-22 20:49 UTC
Approved bya person 2026-10-22 22:41 UTC

Cite it as

@phdthesis{simner2025arm,
  title        = {Arm systems semantics},
  author       = {Ben Simner},
  year         = {2025},
  school       = {University of Cambridge, Department of Computer Science and Technology},
}

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