diff options
Diffstat (limited to 'src/a-st-ext.adoc')
-rw-r--r-- | src/a-st-ext.adoc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/a-st-ext.adoc b/src/a-st-ext.adoc index c402585..396d135 100644 --- a/src/a-st-ext.adoc +++ b/src/a-st-ext.adoc @@ -369,7 +369,19 @@ is not naturally aligned, an address-misaligned exception or an access-fault exception will be generated. The access-fault exception can be generated for a memory access that would otherwise be able to complete except for the misalignment, if the misaligned access should -not be emulated. The "Zam" extension, described in <<zam>>, relaxes this requirement and specifies the semantics of misaligned AMOs. +not be emulated. + +The misaligned atomicity granule PMA, defined in Volume II of this manual, +optionally relaxes this alignment requirement. +If present, the misaligned atomicity granule PMA specifies the size +of a misaligned atomicity granule, a power-of-two number of bytes. +The misaligned atomicity granule PMA applies only to AMOs, loads and stores +defined in the base ISAs, and loads and stores of no more than XLEN bits +defined in the F, D, and Q extensions. +For an instruction in that set, if all accessed bytes lie within the same +misaligned atomicity granule, the instruction will not raise an exception for +reasons of address alignment, and the instruction will give rise to only one +memory operation for the purposes of RVWMO--i.e., it will execute atomically. The operations supported are swap, integer add, bitwise AND, bitwise OR, bitwise XOR, and signed and unsigned integer maximum and minimum. |