aboutsummaryrefslogtreecommitdiff
path: root/src/intro.tex
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2021-09-10 03:52:41 -0700
committerGitHub <noreply@github.com>2021-09-10 03:52:41 -0700
commitbac0a5d0a240ec6992f74b79e85d9a55dacb8a80 (patch)
tree3cca5d22b136154f6116f65d0175a1a39bc4504a /src/intro.tex
parent216aa2b9d084c04470e4a026e853ac9dd12a4d01 (diff)
downloadriscv-isa-manual-bac0a5d0a240ec6992f74b79e85d9a55dacb8a80.zip
riscv-isa-manual-bac0a5d0a240ec6992f74b79e85d9a55dacb8a80.tar.gz
riscv-isa-manual-bac0a5d0a240ec6992f74b79e85d9a55dacb8a80.tar.bz2
Speculative implicit reads, v2 (#724)
* Speculative implicit reads, v2 These constraints are better expressed as PMAs, and so we relax the unprivileged spec to always allow speculative implicit reads "unless otherwise specified", then move the constraints into the PMAs. This proposal piggybacks on the non-idempotence PMA, constraining implicit reads to within a power-of-2 region of a non-speculative implicit read. Furthermore, speculative instruction fetch can also access the subsequent power-of-2 region. * Add preface entry
Diffstat (limited to 'src/intro.tex')
-rw-r--r--src/intro.tex3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/intro.tex b/src/intro.tex
index 112e7b4..4acdd42 100644
--- a/src/intro.tex
+++ b/src/intro.tex
@@ -422,8 +422,7 @@ Ordinarily, if an instruction attempts to access memory at an inaccessible
address, an exception is raised for the instruction.
Vacant locations in the address space are never accessible.
-Except when specified otherwise, implicit reads that do not raise an
-exception and that have no side effects
+Except when specified otherwise, implicit reads that do not raise an exception
may occur arbitrarily early and speculatively, even before the machine could
possibly prove that the read will be needed. For instance, a valid
implementation could attempt to read all of main memory at the earliest