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.
Topics Include