Computer Systems Architecture


Stanford School of Engineering




This course focuses on how to build modern computing systems, namely notebooks, smartphones, and data centers, covering primarily their hardware architecture and certain system software aspects. Each system class covers the system architecture, processor technology, advanced memory hierarchy and I/O organization, power and energy management, and reliability. Programming assignments will allow students to explore performance/energy tradeoffs when using heterogeneous hardware resources on smartphone devices.


EE 180: Digital Systems Architecture (formerly EE 108B)

Topics include

  • Cache hierarchies, memory systems, storage and IO systems
  • Virtualization, clusters, fault-tolerance, and low-power design
  • Interactions between hardware and software layers in such systems
  • Performance analysis and optimization techniques for small and large-scale systems
  • Security