CS 6290: High Performance Computer Architecture

Course Creator and Instructor

Milos Prvulovic
 
Milos Prvulovic
Creator, Instructor
 

Course Developer

Catherine Gamboa
 
Catherine Gamboa
Course Developer
 

Overview

This course covers modern computer architecture, including branch prediction, out-of-order instruction execution, cache optimizations, multi-level caches, memory and storage, cache coherence and consistency, and multi- and many-core processors.

Prerequisites

Undergraduate computer architecture course that covers basic computer organization; working knowledge of topics such as instruction sets, pipelining, etc. For the course project, you will also need to be familiar with C/C++, Linux, and be comfortable making modifications to large programs.

  • If you answer "no" to any of the following questions, it may be beneficial to refresh your knowledge of the prerequisite material prior to taking CS 6290:
  • 1. Have you taken a computer organization course before?
  • 2. Are you familiar with at least one RISC instruction set and would you feel comfortable reading and writing small assembler programs?
  • 3. Are you familiar with basic computer architecture concepts, such as pipelines and caches?
  • 4. Are you familiar with C/C++ and would you be comfortable writing and/or modifying 100+ lines of code in a program that has over 100,000 lines of code?
  • 5. Are you comfortable with, or even excited about, learning how real processors work and using simulation to see how changes in processor design affect its performance?

Lesson Preview

Grading

  • You will receive grades through T-Square. After registering for the course, you will receive information on how much each graded item counts towards the overall course grade.   There are three types of grades:
  • Projects - You will be given several small and one large project. Each project is to be completed individually.
  • Exams - You will be given three exams - two "midterms" and a final exam.
  • Udacity quizzes - You are required to complete all Udacity quizzes. Please note that you are not required to get the correct answer on these quizzes on the first try. We will look only at your last submission.

Required Course Readings

There are no required readings. When appropriate, additional class materials will be available as instructor notes associated with the video lectures. Although not required, a useful textbook for this course is Computer Architecture: A Quantitative Approach, 5th Edition, by John L. Hennessy and David A. Patterson. Earlier editions might also be OK, but they put less emphasis on multi-core topics.

Minimum Technical Requirements

  • At least 32GB of available disk space and ability to install additional (free) software. For course projects, you will need to install the Oracle VirtualBox VM and run a Linux virtual machine that contains the setup for the project. Although it is possible to install the software for the projects natively in Linux, such a setup will not be supported.
  • Browser and connection speed: An up-to-date version of Chrome or Firefox is strongly recommended. We also support Internet Explorer 9 and the desktop versions of Internet Explorer 10 and above (not the metro versions). 2+ Mbps recommended; at minimum 0.768 Mbps download speed
  • Operating system: - PC: Windows XP or higher with latest updates installed - Mac: OS X 10.6 or higher with latest updates installed - Linux: Any recent distribution that has the supported browsers installed

Other Info

Office Hours

The course developer, Catherine Gamboa, will be holding office hours twice each week.   For a day prior to each office hours (OH), students will have a chance to pose questions to be answered during the OH, as well as having the opportunity to tune in and ask questions live. The OH will be recorded so that students can watch them afterwards, in the case that a student is unavailable during the OH times. The Georgia Tech TA's will each hold office hours via the Udacity chat.

Academic Integrity

All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code. You should read this information as we take cheating very seriously. All Georgia Tech faculty (including the instructor for this course) are required to report cases of academic dishonesty to the Dean of Students' office at Georgia Tech. Cheating, unauthorized collaboration, etc. penalties can be sever and are decided by the Dean of Students' office and not by the instructor.