18-447 Introduction to Computer Architecture, Spring 2021


  • As in previous terms, 18-447 labs must be completed in groups of 2 or 3 students in Spring 2021.
  • Starting Spring 2021, 18-447 will not have SIO scheduled lab sections. However, TAs will still host extended “help sections” during blocks of time where students can come to work and get interactive help as needed. These sections will be conducted virtually in Spring 2021. In the future, these sections will be conducted physically in HH1305.
  • I highly recommend that you review RTL Verilog at HDLBits before start of term.
  • Please check Canvas for up-to-date announcements during the term.

Course Description

Computer architecture is the science and art of selecting and interconnecting hardware components to create a computer that meets functional, performance and cost goals. This course introduces the basic principles and hardware structures of a modern programmable computer. We will learn, for example, how to design the control and datapath for a pipelined RISC processor and how to design fast memory and storage systems. The principles presented in lecture are reinforced in the laboratory through design and simulation of a register transfer (RT) implementation of a RISC processor pipeline in Verilog.

Prerequisites: 18-240 and 15/18-213 and (18340 or 18341 or 18348 or 18349 or 18320)


See Canvas for contact info and office hours

Contact and Office Hours

Please see Canvas.


  • Lecture: MW, 12:50PM to 02:40PM, Zoom


  • Computer Organization and Design RISC-V Edition: The Hardware Software Interface, 2nd Edition by Patterson and Hennessy, Morgan Kaufmann. (Required)
  • Synthesis Lectures on Computer Architecture at Morgan and Claypool (free access from CMU subnet)
  • Also useful, textbooks from 18-240 and 15/18-213