18-447 Introduction to Computer Architecture
12 units, Carnegie Mellon University
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, the knowledge of the behavior storage hierarchies (e.g., cache memories) and virtual memory, and the knowledge of assembly language programming.
Prerequisites: 18-240 (min C) and (18-213 (min C) or 15-213 (min C)) and (18-330 (min C) or 18-341 (min C) or 18-340 (min C) or 18-344 (min C) or 18-349 (min C) or 18-320 (min C))
Offered: Spring 2027, Fall 2026, Spring 2026
Courseweave needs JavaScript to show sections, workloads and planning tools.