Discussion/recitation sessions are scheduled for 6 hours every week. Some of these sessions will be both in-person and online, some of them will be purely online. You are not required to be available during all of these times, but it is important that you are available for at least 3 of the 6 hours. Video recorded lectures are available for viewing online anytime.
Computer architecture is the science and art of designing, selecting and interconnecting hardware components and co-designing the hardware/software interface to create a computer that meets functional, performance, energy consumption, cost, and other specific goals. This course qualitatively and quantitatively examines fundamental computer design trade-offs, with the goal of developing an understanding that will enable students to perform cutting-edge research in computer architecture. We will learn, for example, how uniprocessors execute many instructions concurrently, how state-of-the-art memory systems deliver data into the processor and why they are so complex, and how/why multiple processors are interconnected to execute portions of a program or multiple programs in parallel, as done in modern multi-core processors. Examining trade-offs requires that you already know how to correctly design a computer, as is taught in the important prerequisite 18-447.
Prerequisites: 18-447 or equivalent