Introduction to Computer Architecture
CSE 141; Fall 2026
Disclaimer
As discussed at the beginning of the term, we are executing a pivot to something more fun and interesting with our much smaller class. That also means that material here is updating frequently.
Overview
The course covers the basics of modern processor design and operation. Topics include instruction set architectures, machine organization, computer system performance, pipelining, memory subsystems and hardware abstractions, and memory-hierarchy design.
This course has a heavy implementation component. Lecture focuses on higher-level concepts and design, while a companion “Processor Project” reifies these in a real implementation. Specifically, our plan is to build something reasonably close to a complete ARM Cortex-M0 MCU.
Learning Goals of 141
At the end of the CSE 141, students should be able to:
- Make or support ISA design decisions with respect to the types of operations, the ways to impact control flow, and the number (and types) of operands.
- Apply the Performance Equation and Amdahl's Law to evaluate processor designs.
- Design single-cycle and pipelined processors.
- Explain how memory operates, and reason about how hardware peripherals and I/O abstractions behave.
- Translate between high-level hardware designs (block diagrams) and low-level implementations (HDL).
- Determine cache performance given a particular cache design and an address stream.
- Evaluate and optimize program performance on a particular architecture and memory hierarchy.