Chapter 1: Introduction to Computer Organization
Chapter 1 describes what computer organization is all about, and introduces the elements we will learn through the rest of this book.
Chapter 2: Binary Numbers
Chapter 2 describes number systems and bases, and in particular, binary. Since computer systems use a Boolean (on/off) system, binary is the obvious choice.
Chapter 3: Instructing the CPU
Chapter 3 starts looking at the instructions to the CPU. This chapter covers how assembly instructions are assembled into machine code and vice-versa.
Chapter 4: Digital Logic
Chapter 4 looks at the digital components that make up a CPU. This chapter covers combinational and sequential logic.
Chapter 5: Computer Components
Chapter 5 finally puts all of the previous chapters together. This chapter shows how the digital logic components and instructions are routed to perform an action.
Appendix A: Example RISCV Assembly Programs
Appendix A shows a series of common RISC-V programs both in C++ and assembly.
Appendix B: Advanced RISCV Assembly Programs
Appendix B gets more complicated and shows more advanced RISC-V programs both in C++ and assembly.
Appendix C: Writing your own RISCV Assembly Program
Appendix C has some tips and tricks to writing your own RISC-V assembly programs.
Errors or changes? Stephen Marz (sgm@utk.edu)
This e-book is meant as a set of lecture notes in conjunction with the course textbook.