Proceedings of the 4th Workshop on Declarative Aspects of Multicore Programming 2009
DOI: 10.1145/1481839.1481842
|View full text |Cite
|
Sign up to set email alerts
|

The semantics of power and ARM multiprocessor machine code

Abstract: We develop a rigorous semantics for Power and ARM multiprocessor programs, including their relaxed memory model and the behaviour of reasonable fragments of their instruction sets. The semantics is mechanised in the HOL proof assistant.This should provide a good basis for informal reasoning and formal verification of low-level code for these weakly consistent architectures, and, together with our x86 semantics, for the design and compilation of high-level concurrent languages.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
41
0

Year Published

2010
2010
2022
2022

Publication Types

Select...
7
1

Relationship

2
6

Authors

Journals

citations
Cited by 72 publications
(41 citation statements)
references
References 16 publications
0
41
0
Order By: Relevance
“…The lwz r2,0(r9) at line (6) is in data dependency with the lwzx r4,r10,r8 at line (8), because of the xor r10,r2,r2 between them, at line (7).…”
Section: Resemblance To Sparc Relaxed Memory Order's Preserved Programentioning
confidence: 96%
See 1 more Smart Citation
“…The lwz r2,0(r9) at line (6) is in data dependency with the lwzx r4,r10,r8 at line (8), because of the xor r10,r2,r2 between them, at line (7).…”
Section: Resemblance To Sparc Relaxed Memory Order's Preserved Programentioning
confidence: 96%
“…Intra-Instruction Causality An execution witness now includes an additional intrainstruction causality relation iico → , as in [26,8]. For example, executing the load lwz r1, 0(r2)-which semantics is given in Fig.…”
Section: Register Eventsmentioning
confidence: 99%
“…Therefore, there exists an invocation or return of a non-flush operation in hs 1 that is mapped to this event by G. Then surjectivity of f 1 implies there exists an invocation or return of a non-flush operation in h which maps to the event in hs 1 . Since this event is of a non-flush operation, there exists an invocation or return in Trans(h) which is mapped to it by g. (iii) f is injective since g, f 1 and G are all injective.…”
Section: Soundnessmentioning
confidence: 99%
“…Whilst these relaxed memory models give greater scope for optimisation, sequential consistency is lost, and because memory accesses may be reordered in various ways it is even harder to reason about correctness. Typical multiprocessors that provide such weaker memory models include the x86 [16], Power [17] and ARM [1] multicore processor architectures.…”
Section: Introductionmentioning
confidence: 99%
“…An execution of a concurrent program is sequentially consistent if all reads and writes appear to have occurred in a sequential order that is in agreement with the individual program orders of each thread. In order to improve system performance and allow common hardware optimization techniques such as store buffers, many systems implement weaker memory models such as SPARC's TSO, PSO and RMO [22], Intel's x86 [15], Intel's Itanium [24], ARM and PowerPC [2].…”
Section: Introductionmentioning
confidence: 99%