CS6290 Fall 2007 - Course Info

Instructor

Prof. Milos Prvulovic
milos at cc dot gatech dot edu

Office: Klaus 2406
Office hours: Fridays 10:30-11:30 and by appointment

TA

Minjang Kim (minjang at cc dot gatech dot edu)

Office hours: Tuesdays 11-noon and Thursdays noon-1pm (Commons in front of Klaus 2405, close to 2406 )

TA

Sunjae Park (sunjae.park at gatech dot edu)

Office hours: Mondays 1-2 and Wednesdays 10-11 (Commons in front of Klaus 2405, close to 2406 )

Lecture

Tuesdays/Thursdays 3-4:30 in Klaus 1447

 

Textbook

Computer Architecture: A Quantitative Approach, 4th Edition by John Hennessy and David Patterson. There will also be a number of papers assigned as required reading for the class.

Description

This course is a graduate-level (CS6290) course on advanced computer architecture.

Prerequisites

You should be familiar with computer organization at the level of CS2200.

Assignments

4 homeworks, 1 large project. All assignments are due at the beginning of the class on the due date. No late assignments will be accepted.

Collaboration

Collaboration on the project in groups of two is allowed and encouraged. If you work on the project in a group, turn in one project report with names of both collaborators. You are also encouraged to discuss course material with others and form study groups for exams. Any other collaboration is not allowed. For example, helping a friend understand what is being asked for in an assignment is OK (text of problems and project requirements is course material). Looking at another group's code, giving others hints for solving a homework problem, working together to solve a homework problem, etc. is not OK. If you are not sure if something is allowed or not, ask the instructor! Not knowing what the rules are is not a valid excuse for not following those rules.

Project

The project will require running architectural simulators. The simulator is a relatively large piece of software (tens of thousands of lines of C and C++ code). The project requires non-trivial changes to parts of the simulator. To get any credit for a project, you will need simulation results. Plan your time so that you can modify the simulator, debug it, run the simulations, and write up the report before the due time of the project.

Grading

20% homework (based on best 3 scores from HW1 through HW4)

30% project

25% midterm

25% final

Schedule

The class schedule is subject to change. However, the date of the midterm exam is now set and will not be changed.

Tests

The midterm exam is scheduled for Thursday, October 4th, in-class. The material covered is everything up to and including Pentium Pro and Pentium 4. For practice, a midterm test (PDF) and its complete solution (PDF)from a prior semester is provided here. Note, however, that the material taught (and the textbook) for CS 6290 has been updated, so old tests do not provide an exact topic-for-topic match for this semester's tests.

Assignments

Homework 1 (PDF) was due at start of class Tuesday 9/11/2007. Here's the solution.

Homework 2 (PDF) was due at start of class Tuesday 9/25/2007. Here's the solution.

Homework 3 (PDF) is due at start of class Thursday 10/25/2007. You will need the following files to complete this homework: sesc-20071002.tar.bz2, crafty.mipseb, and test.in.

Homework 4 (PDF) is due at start of class Tuesday 12/04/2007. This is a "wildcard" homework. Your total homework grade will be based on your top three homeworks. So you don't have to do HW4 if you are happy with how you have done the other three. Of course, it is still useful to do HW4, because it is good practice for the final exam.

Here's a solution for HW4. Note that I tried to provide a good explanation for everything, not just to solve the problem. I also tried to do this quickly so it can be posted as soon as possible to help you prepare for the exam. As a result, there might be a mistake or omission. These will be corrected when we grade HW4, but if I waited until I double-checked things the final exam would be too close for you to get any benefit from looking at these solutions.

Project

The report for the CS 6290 project (PDF) is due at start of class Thursday 12/06/2007. You will need the following files to complete the project: sesc-20071016.tar.bz2, water-sp.mipseb, random.in, and input. If you save the "input" file as "input.txt", make sure you adjust the simualtion command line to reflect that change.

Lecture Slides

Material Covered Lecture Date(s) Slides
Intro, Trends in Computer Architecture 08/21 PDF, PowerPoint
Performance, Metrics, Benchmarks, and Amdahl's Law 08/23 PDF, PowerPoint
ILP, Dependences, and Register Renaming 08/28, 08/30 PDF, PowerPoint
Dynamic Scheduling (Tomasulo's Algorithm) 08/30 PDF, PowerPoint
Reorder Buffer and Instruction Commit 09/04 PDF, PowerPoint
Branch Prediction and Advanced Instruction Delivery 09/06, 09/11 PDF, PowerPoint
Speculative Execution, Misprediction Recovery, and Load/Store Handling 09/13 PDF, PowerPoint
In-order superscalars and static exploitation of ILP 09/18, 09/20 PDF, PowerPoint
Pentium Pro and Pentium 4 09/20, 09/25 PDF, PowerPoint
Caches 10/02, 10/11 PDF, PowerPoint
Memory 10/16, 10/18 PDF, PowerPoint
Multiprocessors 10/23, 10/25 PDF, PowerPoint
Synchronization 11/1 PDF, PowerPoint
Interconnect & Many-core processors 11/8, 11/13 PDF, PowerPoint
Storage 11/15 PDF, PowerPoint