18-640: Foundations of Computer Architecture

Units: 12

Computer Architecture deals with the art and science of designing modern computer systems, defines the HW/SW interface (Instruction Set Architecture), and codifies a large body of implementation techniques for achieving performance improvement and power efficiency. This graduate level course covers the three main subsystems of Processor, Memory, and I/O, and addresses Performance and Power optimizations. Processor design is the primary focus covering: pipelined and superscalar processor design; multi-core and multi-processor systems; special-purpose processors. Memory and I/O topics include: memory hierarchy and virtual memory; shared-memory model and cache coherence; I/O devices and storage systems. Performance and Power topics include: instruction-level, memory-level and thread-level parallelisms; instruction flow and data flow optimizations; performance vs. power tradeoffs; iron laws governing performance, power, and energy efficiency.

Prerequisite: undergraduate course on Computer Architecture, e.g. 18-447 or equivalent.


Areas:

Computer Hardware Engineering

Last modified on 2013-10-29

Current session:

This course is currently being offered.

Past semesters:

S14