Textbook, Readings, and Resources

Required textbooks:

1.
David A Patterson and John L Hennessy. Computer Organization and Design RISC-V Edition. Morgan Kaufmann, 2nd edition, December 2020. Please note the edition (2nd, and RISC-V not MIPS) and year. This younger relative of a Computer Science classic will serve as the main textbook. We will cover selected material, typically favoring aspects that are the most important for software.
2.
Robert Winkler. RISC-V Assembly Programming. Robert Winkler, 2024. Version 1.0.0 2024-07-01. https://www.robertwinkler.com/projects/riscv_book/riscv_book.html.
This freely available (CC-BY-NC-SA 4.0) book provides an important link between the concepts in the other textbook and the lower-level aspects of RISC-V assembly programming using the MARS (and MARS-M) system in particular. (I encourage everyone to financially support the book at its Web site.) Please download a copy of the PDF version for ease of offline reference, which is especially important during exams.

There are some resources on the Web for the textbooks and more generally for this material. You are welcome, and encouraged, to use these resources (unless specifically directed otherwise), and to share and discuss them with classmates on the discussion forum. However, you must prominently attribute any help from such or other resources in all your work. Failure to do so is a serious offense (see policies). Further, regardless of what resources you use or do not, it is never permissible to simply include someone else’s work unless it is specifically permitted as an exception.

Required software systems:

1.
Jean Privat et al. RARSM—RISC-V assembler and runtime simulator (iMproved). https://github.com/rarsm/rars, 2024.
Everyone in this course should install and experiment with this system very early in the semester. It is a fork of the RARS system (in turn derived from MARS...) and the documentation for RARS is very relevant too.

Additional readings and other resources: Items may be added here as the semester progresses.