Preface xvii
instruction set, but it oers a simple, elegant, modern take on what instruction sets
should look like in 2017.
Moreover, because it is not proprietary, there are open-source RISC-V simulators,
compilers, debuggers, and so on easily available and even open-source RISC-V
implementations available written in hardware description languages. In addition,
there will soon be low-cost hardware platforms on which to run RISC-V programs.
Readers will not only benet from studying these RISC-V designs, they will be able
to modify them and go through the implementation process in order to understand
the impact of their hypothetical changes on performance, die size, and energy.
is is an exciting opportunity for the computing industry as well as for
education, and thus at the time of this writing more than 40 companies have joined
the RISC-V foundation. is sponsor list includes virtually all the major players
except for ARM and Intel, including AMD, Google, Hewlett Packard Enterprise,
IBM, Microso, NVIDIA, Oracle, and Qualcomm.
It is for these reasons that we wrote a RISC-V edition of this book, and we are
switching Computer Architecture: A Quantitative Approach to RISC-V as well.
Given that RISC-V oers both 32-bit address instructions and 64-bit address
instructions with essentially the same instruction set, we could have switched
instruction sets but kept the address size at 32 bits. Our publisher polled the faculty
who used the book and found that 75% either preferred larger addresses or were
neutral, so we increased the address space to 64 bits, which may make more sense
today than 32 bits.
e only changes for the RISC-V edition from the MIPS edition are those
associated with the change in instruction sets, which primarily aects Chapter2,
Chapter3, the virtual memory section in Chapter5, and the short VMIPS example
in Chapter6. In Chapter4, we switched to RISC-V instructions, changed several
gures, and added a few “Elaboration” sections, but the changes were simpler than
we had feared. Chapter1 and the rest of the appendices are virtually unchanged.
e extensive online documentation and combined with the magnitude of RISC-V
make it dicult to come up with a replacement for the MIPS version of Appendix
A (“Assemblers, Linkers, and the SPIM Simulator” in the MIPS Fih Edition).
Instead, Chapters 2, 3, and 5 include quick overviews of the hundreds of RISC-V
instructions outside of the core RISC-V instructions that we cover in detail in the
rest of the book.
Note that we are not (yet) saying that we are permanently switching to RISC-V. For
example, in addition to this new RISC-V edition, there are ARMv8 and MIPS versions
available for sale now. One possibility is that there will be a demand for all versions for
future editions of the book, or for just one. We’ll cross that bridge when we come to it.
For now, we look forward to your reaction to and feedback on this eort.
Changes for the Fifth Edition
We had six major goals for the h edition of Computer Organization and Design
demonstrate the importance of understanding hardware with a running example;
highlight main themes across the topics using margin icons that are introduced