An Operational Framework for Specifying Memory Models using Instantaneous Instruction Execution

05/16/2017
by   Sizhuo Zhang, et al.
0

There has been great progress recently in formally specifying the memory model of microprocessors like ARM and POWER. These specifications are, however, too complicated for reasoning about program behaviors, verifying compilers etc., because they involve microarchitectural details like the reorder buffer (ROB), partial and speculative execution, instruction replay on speculation failure, etc. In this paper we present a new Instantaneous Instruction Execution (I2E) framework which allows us to specify weak memory models in the same style as SC and TSO. Each instruction in I2E is executed instantaneously and in-order such that the state of the processor is always correct. The effect of instruction reordering is captured by the way data is moved between the processors and the memory non-deterministically, using three conceptual devices: invalidation buffers, timestamps and dynamic store buffers. We prove that I2E models capture the behaviors of modern microarchitectures and cache-coherent memory systems accurately, thus eliminating the need to think about microarchitectural details.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/19/2017

Weak Memory Models: Balancing Definitional Simplicity and Implementation Flexibility

The memory model for RISC-V, a newly developed open source ISA, has not ...
research
06/24/2019

A formalisation of the SPARC TSO memory model for multi-core machine code

SPARC processors have many applications in mission-critical industries s...
research
06/17/2016

Taming Weak Memory Models

Speculative techniques in microarchitectures relax various dependencies ...
research
10/30/2017

Louvre: Lightweight Ordering Using Versioning for Release Consistency

Fence instructions are fundamental primitives that ensure consistency in...
research
10/11/2017

Weak Memory Models with Matching Axiomatic and Operational Definitions

Memory consistency models are notorious for being difficult to define pr...
research
06/20/2020

Compiler Directed Speculative Intermittent Computation

This paper presents CoSpec, a new architecture/compiler co-design scheme...
research
08/08/2020

TransForm: Formally Specifying Transistency Models and Synthesizing Enhanced Litmus Tests

Memory consistency models (MCMs) specify the legal ordering and visibili...

Please sign up or login with your details

Forgot password? Click here to reset