diff options
author | Daniel Lustig <dlustig@nvidia.com> | 2018-06-20 10:46:27 -0700 |
---|---|---|
committer | Daniel Lustig <dlustig@nvidia.com> | 2018-06-20 10:46:27 -0700 |
commit | c9efdca6ff6be6e793b1056766867340bb9dcaab (patch) | |
tree | a5d0d4840fc19a6ffbc0eaeb28e0ccdc4f08b01a /src/memory.tex | |
parent | 0334f2236f4033620a604116cf24139a20e3990c (diff) | |
download | riscv-isa-manual-c9efdca6ff6be6e793b1056766867340bb9dcaab.zip riscv-isa-manual-c9efdca6ff6be6e793b1056766867340bb9dcaab.tar.gz riscv-isa-manual-c9efdca6ff6be6e793b1056766867340bb9dcaab.tar.bz2 |
Clarify that AMOs are always semantically stores
...even if they don't actually change the value in memory.
Diffstat (limited to 'src/memory.tex')
-rw-r--r-- | src/memory.tex | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/memory.tex b/src/memory.tex index fad05ff..e62855b 100644 --- a/src/memory.tex +++ b/src/memory.tex @@ -1275,7 +1275,7 @@ Architectures that implement RVTSO can safely do the following: Other general notes: \begin{itemize} - \item Silent stores (i.e., stores that write the same value that already exists at a memory location) behave like any other store from a memory model point of view. Microarchitectures that attempt to implement silent stores must take care to ensure that the memory model is still obeyed, particularly in cases such as RSW (Section~\ref{sec:memory:overlap}) which tend to be incompatible with silent stores. + \item Silent stores (i.e., stores that write the same value that already exists at a memory location) behave like any other store from a memory model point of view. Likewise, AMOs which do not actually change the value in memory (e.g., an AMOMAX for which the value in {\em rs2} is smaller than the value currently in memory) are still semantically considered store operations. Microarchitectures that attempt to implement silent stores must take care to ensure that the memory model is still obeyed, particularly in cases such as RSW (Section~\ref{sec:memory:overlap}) which tend to be incompatible with silent stores. \item Writes may be merged (i.e., two consecutive writes to the same address may be merged) or subsumed (i.e., the earlier of two back-to-back writes to the same address may be elided) as long as the resulting behavior does not otherwise violate the memory model semantics. \end{itemize} |