Carnegie Mellon University

Electrical and Computer Engineering

College of Engineering

Course Information

18-447: Introduction to Computer Architecture




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 hardware structure of a modern programmable computer, including the basic laws underlying performance evaluation. We will learn, for example, how to design the control and data path hardware for a MIPS-like processor, how to make machine instructions execute simultaneously through pipelining and simple superscalar execution, and how to design fast memory and storage systems. The principles presented in the lecture are reinforced in the laboratory through the design and simulation of a register transfer (RT) implementation of a MIPS-like pipelined superscalar in Verilog. Learning to design programmable systems requires that you already have the knowledge of building RT systems as is taught in the prerequisite 18-240, the knowledge of the behavior storage hierarchies (e.g., cache memories) and virtual memory as is taught in the prerequisite 15-213, and the knowledge of assembly language programming as is taught in the prerequisites.
3 hrs. lec., 3 hrs. lab.

Prerequisites: 18-240 and 18-213 and (18-340 or 18-341 or 18-348 or 18-349 or 18-320)

Last Modified: 2022-11-07 4:52PM

Current session:

This course is currently being offered.

Semesters offered:

  • Spring 2023
  • Spring 2022
  • Spring 2021
  • Spring 2020
  • Spring 2019
  • Spring 2018
  • Spring 2017
  • Spring 2016
  • Spring 2015
  • Spring 2014
  • Spring 2013
  • Spring 2012
  • Spring 2011
  • Spring 2010
  • Spring 2009
  • Spring 2008
  • Spring 2007
  • Spring 2006
  • Fall 2005
  • Spring 2005
  • Fall 2004