An Operational Framework for Specifying Memory Models using Instantaneous Instruction Execution
Сохранить в:
| Опубликовано в:: | arXiv.org (May 16, 2017), p. n/a |
|---|---|
| Главный автор: | |
| Другие авторы: | , |
| Опубликовано: |
Cornell University Library, arXiv.org
|
| Предметы: | |
| Online-ссылка: | Citation/Abstract Full text outside of ProQuest |
| Метки: |
Нет меток, Требуется 1-ая метка записи!
|
MARC
| LEADER | 00000nab a2200000uu 4500 | ||
|---|---|---|---|
| 001 | 2074423630 | ||
| 003 | UK-CbPIL | ||
| 022 | |a 2331-8422 | ||
| 035 | |a 2074423630 | ||
| 045 | 0 | |b d20170516 | |
| 100 | 1 | |a Zhang, Sizhuo | |
| 245 | 1 | |a An Operational Framework for Specifying Memory Models using Instantaneous Instruction Execution | |
| 260 | |b Cornell University Library, arXiv.org |c May 16, 2017 | ||
| 513 | |a Working Paper | ||
| 520 | 3 | |a 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. | |
| 653 | |a Program verification (computers) | ||
| 653 | |a Compilers | ||
| 653 | |a Microprocessors | ||
| 653 | |a Buffers | ||
| 653 | |a Computer architecture | ||
| 653 | |a Computer memory | ||
| 700 | 1 | |a Vijayaraghavan, Muralidaran | |
| 700 | 1 | |a Arvind | |
| 773 | 0 | |t arXiv.org |g (May 16, 2017), p. n/a | |
| 786 | 0 | |d ProQuest |t Engineering Database | |
| 856 | 4 | 1 | |3 Citation/Abstract |u https://www.proquest.com/docview/2074423630/abstract/embedded/6A8EOT78XXH2IG52?source=fedsrch |
| 856 | 4 | 0 | |3 Full text outside of ProQuest |u http://arxiv.org/abs/1705.06158 |