18-740B: Modern Computer Architecture and Design
Computer architecture deals with the art and science of designing and integrating hardware subsystems, and co-designing the hardware/software interface to create a computer system that achieves functional correctness, and meets design objectives in performance, power consumption, energy efficiency, and cost. This course provides a comprehensive view on how modern computer systems are architected, with a special focus on mass-market personal/mobile computer systems (e.g., smartphones, tablets, laptops, vehicular computers). Topics covered in this course span the design and evaluation of three major subsystems: (1) the Processing Subsystem (superscalar out-of-order cores, multicore processors, heterogeneous processors, purpose-specific accelerators), (2) the Memory Subsystem (multicore cache hierarchy, main memory and DRAM, non-volatile storage, aggressive memory management), and (3) the Interconnect Subsystem (NoC, 3D die stacking technology, intra-SoC/SIP/PoP interconnects, wireless Internet interfaces). Each subsystem will be studied from the perspective of several first-class design goals: performance, power consumption, and energy efficiency. This course places a strong emphasis on professional design tools (e.g., architecture/microarchitecture simulators, RTL synthesis tools, area/power/thermal modeling), with the goal of preparing students to be competent and productive in industry and/or research. Students who have not yet taken "Introduction to Computer Systems" (18-213/15-213/15-513) or "Foundation of Computer Systems" (18-600/18-613) are expected to be enrolled in the appropriate number concurrently.
In Fall 2019 this course is broadcast between the Silicon Valley and Pittsburgh campuses, with an instructor in both locations. ECE Silicon Valley and ECE Pittsburgh students attend classes synchronously.
Last Modified: 2020-07-15 11:19AM
- Fall 2020
- Fall 2019