diff options
Diffstat (limited to 'src/rvwmo.adoc')
-rw-r--r-- | src/rvwmo.adoc | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/rvwmo.adoc b/src/rvwmo.adoc index 98e1b2e..fd0bd21 100644 --- a/src/rvwmo.adoc +++ b/src/rvwmo.adoc @@ -7,7 +7,7 @@ returned by loads of memory. RISC-V uses a memory model called "RVWMO" (RISC-V Weak Memory Ordering) which is designed to provide flexibility for architects to build high-performance scalable designs while simultaneously supporting a tractable programming model. -(((design, high performace))) +(((design, high performance))) (((design, scalable))) Under RVWMO, code running on a single hart appears to execute in order @@ -20,10 +20,8 @@ base RISC-V ISA provides a FENCE instruction for this purpose, described in <<fence>>, while the atomics extension "A" additionally defines load-reserved/store-conditional and atomic read-modify-write instructions. (((atomics, misaligned))) -The standard ISA extension for misaligned atomics "Zam" -(<<zam>>) and the standard ISA extension for total -store ordering "Ztso" (<<ztso>>) augment RVWMO -with additional rules specific to those extensions. +The standard ISA extension for total store ordering "Ztso" (<<ztso>>) augments +RVWMO with additional rules specific to those extensions. The appendices to this specification provide both axiomatic and operational formalizations of the memory consistency model as well as @@ -102,12 +100,13 @@ a set of component memory operations of any granularity. The memory operations generated by such instructions are not ordered with respect to each other in program order, but they are ordered normally with respect to the memory operations generated by preceding and subsequent -instructions in program order. The atomics extension "A" does not -require execution environments to support misaligned atomic instructions -at all; however, if misaligned atomics are supported via the "Zam" -extension, LRs, SCs, and AMOs may be decomposed subject to the -constraints of the atomicity axiom for misaligned atomics, which is -defined in <<zam>>. +instructions in program order. +The atomics extension "A" does not require execution environments to support +misaligned atomic instructions at all. +However, if misaligned atomics are supported via the misaligned atomicity +granule PMA, then AMOs within an atomicity granule are not decomposed, nor are +loads and stores defined in the base ISAs, nor are loads and stores of no more +than XLEN bits defined in the F, D, and Q extensions. (((decomposition))) [NOTE] @@ -558,7 +557,7 @@ register(s) to destination register(s) as specified .RV32M Standard Extension [%autowidth.stretch,float="center",align="center",cols="<,<,<,<,<",options="header"] |=== -| |Source Regisers |Destination Registers |Accumulating CSRs| +| |Source Registers |Destination Registers |Accumulating CSRs| |MUL | _rs1_, _rs2_ |_rd_ || |