• Home
  • Search
  • Isla: integrating full-scale ISA semantics and axiomatic concurrency models (extended version)
  • Cite Icon3
  • https://doi.org/10.1007/s10703-023-00409-yCopy DOI Icon

Isla: integrating full-scale ISA semantics and axiomatic concurrency models (extended version)

Show More
  • Abstract
  • Highlights & Summary
  • PDF
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Architecture specifications such as Armv8-A and RISC-V are the ultimate foundation for software verification and the correctness criteria for hardware verification. They should define the allowed sequential and relaxed-memory concurrency behaviour of programs, but hitherto there has been no integration of full-scale instruction-set architecture (ISA) semantics with axiomatic concurrency models, either in mathematics or in tools. These ISA semantics can be surprisingly large and intricate, e.g. 100k+\\documentclass[12pt]{minimal} \\usepackage{amsmath} \\usepackage{wasysym} \\usepackage{amsfonts} \\usepackage{amssymb} \\usepackage{amsbsy} \\usepackage{mathrsfs} \\usepackage{upgreek} \\setlength{\\oddsidemargin}{-69pt} \\begin{document}$$+$$\\end{document} lines for Armv8-A. In this paper we present a tool, Isla, for computing the allowed behaviours of concurrent litmus tests with respect to full-scale ISA definitions, in the Sail language, and arbitrary axiomatic relaxed-memory concurrency models, in the Cat language. It is based on a generic symbolic engine for Sail ISA specifications. We equip the tool with a web interface to make it widely accessible, and illustrate and evaluate it for Armv8-A and RISC-V. The symbolic execution engine is valuable also for other verification tasks: it has been used in automated ISA test generation for the Arm Morello prototype architecture, extending Armv8-A with CHERI capabilities, and for Iris program-logic reasoning about binary code above the Armv8-A and RISC-V ISA specifications. By using full-scale and authoritative ISA semantics, Isla lets one evaluate litmus tests using arbitrary user instructions with high confidence. Moreover, because these ISA specifications give detailed and validated definitions of the sequential aspects of systems functionality, as used by hypervisors and operating systems, e.g. instruction fetch, exceptions, and address translation, our tool provides a basis for developing concurrency semantics for these. We demonstrate this for the Armv8-A instruction-fetch and virtual-memory models and examples of Simner et al.

Loading PDF

Similar Papers
  • PDF
  • Book Chapter
  • Citations20

Isla: Integrating Full-Scale ISA Semantics and Axiomatic Concurrency Models

  • Jan 01, 2021
  • Alasdair Armstrong +4
  • Conference Article
  • Citations153

Modelling the ARMv8 architecture, operationally: concurrency and ISA

  • Jan 11, 2016
  • Shaked Flur +7
  • PDF
  • Book Chapter
  • Citations17

ARMv8-A System Semantics: Instruction Fetch in Relaxed Architectures

  • Jan 01, 2020
  • Programming Languages and Systems
  • Ben Simner +6
  • Research Article
  • Citations6

Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models

  • Feb 06, 2010
  • Electronic Proceedings in Theoretical Computer Science
  • Stefan Marr +6
  • Conference Article
  • Citations1

VS-ISA: A Video Specific Instruction Set Architecture for ASIP Design

  • Dec 01, 2006
  • Zheng Shen +3
  • Conference Article
  • Citations382

Randomized instruction set emulation to disrupt binary code injection attacks

  • Oct 27, 2003
  • Elena Gabriela Barrantes +5
  • Book Chapter
  • Citations1

Synthesis of Instruction Sets for High-Performance and Energy-Efficient ASIP

  • Jan 01, 2007
  • Jong-Eun Lee +2
  • Conference Article

A retargetable tool-suite for the design of application specific instruction set processors using a machine description language

  • Aug 07, 2002
  • A Abbas +4
  • Conference Article
  • Citations8

Efficient synonym filtering and scalable delayed translation for hybrid virtual caching

  • Jun 01, 2016
  • Chang Hyun Park +2
  • Conference Article

Compressing code for embedded systems

  • Dec 01, 2014
  • Wanderson Roger Azevedo Dias +1
  • PDF
  • Research Article
  • Citations4

Token‐Aware Completion Functions for Elastic Processor Verification

  • Jan 01, 2009
  • Journal of Electrical and Computer Engineering
  • Sudarshan K Srinivasan +2
  • Single Report
  • Citations10

Analysis and performance of computer instruction sets [Thesis

  • Jan 01, 1978
  • Leonard Shustek
  • Conference Article

A Reduced Instruction Set Machine for Knowledge Based Systems

  • Jan 01, 2018
  • Diego Stéfano Fonseca Ferreira +1
  • Conference Article
  • Citations10

Energy-efficient instruction set architecture for CMOS microprocessors

  • Jan 04, 1995
  • J Bunda +2
  • Book Chapter
  • Citations4

Fetch Gating Control Through Speculative Instruction Window Weighting

  • Jan 01, 2007
  • Hans Vandierendonck +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.