Computer Architecture is about planning, designing and, eventually, building computer systems. It is where hardware design meets software. A computer architect's job is to choose, and sometimes create, hardware components and interconnect them in order to create computers that meet certain functional, performance and cost goals.
This course is an introductory study of the major concepts of modern processor architecture. Through this course, students will gain an understanding of the key concepts of modern processor architecture and its implications on software and hardware design. Specifically, the course will concentrate on the memory hierarchy and out-of-order execution, giving students the necessary tools to understand the micro-architecture of modern processors and to reason about their performance.
The best way to understand why systems are built the way they are is to build such systems. To that end, this is primarily a project-oriented course. The lectures will be dominated by a discussion of micro-architectural components, with the explicit goal of enabling students to create detailed working models of these components.
Fundamentals of Processor Performance and Power Consumption, Instruction Set Architectures, Pipelining, Instruction Fetch, Branch Prediction, Instruction Decode, Instruction-Level Parallelism, Out-of-order Execution, Register Renaming, Instruction Scheduling, Memory Hierarchy, Cache Internals, DRAM, Prefetching, Vector Processing, GPUs, and Multi-[socket(SMP,DSM)|core(CMP)|thread(SMT,CMT)] machines.
An undergraduate course in computer architecture or system organization is an informal prerequisite for this class, as is proficient knowledge of programming and debugging. Students without prior systems experience or working knowledge of programming will be expected to devote additional time early during the course. Prior coursework in operating systems, compilers, digital logic, and/or hardware design will likely be of help. If you are unsure whether or not you have the necessary background or if you are unable to sign up via the web, please contact the instructor.
There will be 1-2 homework assignments and a course project. You can find more details about them here.
Students will be evaluated based on their performance in the following categories:
The quiz contributes 0 points to your course grade but is mandatory. Students who attain a total of 100 points or more are guaranteed an A. Students who attain a total of 95 points or more are guaranteed an A-. The rest of the grades are curved (many students get A grades with fewer than 100 points). Individual participation will be judged by the instructor based on active interaction during lecture and on the course mailing list (attendance in lecture or office hours does not constitute participation).
The following books are the recommended for this course. You can find them on Amazon or other online bookstores. I highly recommend that you obtain at least one (ideally both) of the first two and study it cover to cover, especially if you are planning to pursue Systems research for your PhD thesis.
Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person’s work as your own is always wrong. Faculty is required to report any suspected instances of academic dishonesty to the Academic Judiciary. For more comprehensive information on academic integrity, including categories of academic dishonesty please refer to the academic judiciary website here.
Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of University Community Standards any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students’ ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures. Further information about most academic matters can be found in the Undergraduate Bulletin, the Undergraduate Class Schedule, and the Faculty-Employee Handbook.
The course lectures are largely based on material from offerings of similar courses by Professors Austin, Brehob, Falsafi, Ferdman, Hill, Hoe, Kim, Loh, Lipasti, Martin, Milder, Roth, Shen, Smith, Sohi, Torrellas, Tyson, Vijaykumar, and Wenisch of Carnegie Mellon University, Georgia Institute of Technology, Purdue University, Stony Brook University, University of Illinois, University of Michigan, University of Pennsylvania, and University of Wisconsin.