aboutsummaryrefslogtreecommitdiff
path: root/src/intro.tex
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2018-12-21 15:10:48 -0800
committerAndrew Waterman <andrew@sifive.com>2018-12-21 15:10:48 -0800
commit9674e5a7ea75291071aeab086c260e133cf8e31d (patch)
treeb4f958a49d0e673520b8ef0a7cbabccd31ca83cd /src/intro.tex
parentb78fd79cf2df7390162a4e77af772aa77bd8d740 (diff)
downloadriscv-isa-manual-9674e5a7ea75291071aeab086c260e133cf8e31d.zip
riscv-isa-manual-9674e5a7ea75291071aeab086c260e133cf8e31d.tar.gz
riscv-isa-manual-9674e5a7ea75291071aeab086c260e133cf8e31d.tar.bz2
Address space is circular
Closes #40
Diffstat (limited to 'src/intro.tex')
-rw-r--r--src/intro.tex8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/intro.tex b/src/intro.tex
index b95c6b3..2629f6e 100644
--- a/src/intro.tex
+++ b/src/intro.tex
@@ -344,12 +344,18 @@ regardless of any subsequent extensions.
\section{Memory}
-A RISC-V hart has a single byte-addressable address space for all memory
+A RISC-V hart has a single byte-addressable address space
+of $2^{XLEN}$ bytes for all memory
accesses. A {\em word} of memory is defined as \wunits{32}{bits}
(\wunits{4}{bytes}). Correspondingly, a {\em halfword} is \wunits{16}{bits}
(\wunits{2}{bytes}), a {\em doubleword} is \wunits{64}{bits}
(\wunits{8}{bytes}), and a {\em quadword} is \wunits{128}{bits}
(\wunits{16}{bytes}).
+The memory address space is circular, so that the byte at address
+$2^{XLEN}-1$ is adjacent to the byte at address zero. Accordingly, memory
+address computations done by the hardware ignore overflow and instead
+wrap around modulo $2^{XLEN}$.
+
The execution environment determines the mapping of hardware resources into
a hart's address space.