| Reasoning about the ARM weakly consistent memory model |
| Full text |
Pdf
(118 KB)
|
| Source
|
Architectural Support for Programming Languages and Operating Systems
archive
Proceedings of the 2008 ACM SIGPLAN workshop on Memory systems performance and correctness: held in conjunction with the Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '08)
table of contents
Seattle, Washington
SESSION: Memory systems for parallel hardware
table of contents
Pages 16-19
Year of Publication: 2008
ISBN:978-1-60558-049-4
|
|
Authors
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 24, Downloads (12 Months): 133, Citation Count: 2
|
|
|
ABSTRACT
This paper describes a formalization of the ARM weakly consistent memory model: the architectural contract between parallel programs and shared memory multiprocessor implementations. We claim that a clean, unambiguous, and mechanically verifiable specification is a valuable resource for architects, micro-architects and programmers; it allows implementors to forge aggressive static (compiler) and dynamic (JIT, micro-architecture) machines to run code. We discuss the key construct of the ARM memory model, observability -- the order in which memory accesses become visible to processors in a shared memory multiprocessor system -- and examine its use in litmus tests.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
ARM. ARM v7A+R Architectural Reference Manual. Available from ARM Ltd.
|
 |
2
|
|
| |
3
|
|
| |
4
|
Compaq. Alpha Architecture Handbook. Compaq, 1998.
|
| |
5
|
The Coq Development Team. The Coq proof assistant reference manual. LogiCal Project, 2006. Version 8.1.
|
| |
6
|
Kevin Elphinstone , Gerwin Klein , Philip Derrin , Timothy Roscoe , Gernot Heiser, Towards a practical, verified kernel, Proceedings of the 11th USENIX workshop on Hot topics in operating systems, p.1-6, May 07-09, 2007, San Diego, CA
|
| |
7
|
Mike Gordon. A formalization of a simplified subset of the Alpha shared memory model, 1994. Manuscript.
|
 |
8
|
|
| |
9
|
Intel. Intel 64 Architecture Memory Ordering White Paper. SKU 318147-001, August 2007.
|
 |
10
|
|
| |
11
|
|
 |
12
|
|
 |
13
|
Jeremy Manson , William Pugh , Sarita V. Adve, The Java memory model, Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.378-391, January 12-14, 2005, Long Beach, California, USA
|
| |
14
|
JS Moore. A Grand Challenge Proposal for Formal Methods: A Verified Stack. In Formal Methods at the Crossroads, 2003.
|
| |
15
|
H Sutter. Prism: A Principle-Based Sequential Memory Model for Microsoft Native Code Platforms. March 2007. Working draft v0.9.4.
|
| |
16
|
Y Yang, G Gopalakrishnan, G Lindstrom, and K Slind. Analyzing the Intel Itanium Memory Ordering Rules Using Logic Programming and SAT. In Proc of CHARME, 2003.
|
CITED BY 2
|
|
Susmit Sarkar , Peter Sewell , Francesco Zappa Nardelli , Scott Owens , Tom Ridge , Thomas Braibant , Magnus O. Myreen , Jade Alglave, The semantics of x86-CC multiprocessor machine code, Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, January 21-23, 2009, Savannah, GA, USA
|
|
|
Jade Alglave , Anthony Fox , Samin Ishtiaq , Magnus O. Myreen , Susmit Sarkar , Peter Sewell , Francesco Zappa Nardelli, The semantics of power and ARM multiprocessor machine code, Proceedings of the 4th workshop on Declarative aspects of multicore programming, January 20-20, 2009, Savannah, GA, USA
|
|