diff options
author | Andrew Waterman <andrew@sifive.com> | 2021-09-10 03:52:41 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-10 03:52:41 -0700 |
commit | bac0a5d0a240ec6992f74b79e85d9a55dacb8a80 (patch) | |
tree | 3cca5d22b136154f6116f65d0175a1a39bc4504a /src/intro.tex | |
parent | 216aa2b9d084c04470e4a026e853ac9dd12a4d01 (diff) | |
download | riscv-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.tex | 3 |
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 |