| ECE 252 / CPS 220 |
|
Advanced Computer Architecture I |
| Fall 2009 |
| Professor Daniel J. Sorin |
| Objectives |
| The objective of this course is to learn the fundamental aspects of computer architecture design and analysis. |
| The course focuses on processor design, pipelining, superscalar, out-of-order execution, caches (memory hierarchies), virtual memory, storage |
| systems, and simulation techniques. Advanced topics include a survey of parallel architectures and future directions in computer architecture. |
| Prerequisites: ECE 152, CPS 104, or consent of instructor. |
| Class Location and Hours |
Class meets Monday/Wednesday/Friday from 10:20am - 11:10am.
Location: 216 Hudson Hall
| Instructor, Teaching Assistants, and News Group |
Office: 209C Hudson Hall
Office Hours: Tues 12:30-1:30, Fri 11:10-12:00
Email: sorin AT ee DOT duke DOT edu (email subject must begin with ECE252)
Teaching Assistants:
Meng Zhang: mz28 AT ee DOT duke DOT edu, office hours Fri 2:00-3:00 at Hudson Hall 224Jun Pang: pangjun AT cs DOT duke DOT edu, office hours Thurs 1:30-2:30 at LSRC D339
| Required Textbook |
| Computer Architecture: A Quantitative Approach, 4th edition, by Hennessy and Patterson |
| Assignments and Grading |
| This course will require readings from the textbooks and from selected research papers. While you will not be quizzed on readings, you |
| should still be certain to have read them before class so that you can learn from the class. And, to appeal to your practical side, all readings are |
| fair game for the exams. Added bonus: you will be better at reading research papers at the end of this class than at the beginning. |
Students are responsible for:
Note to Computer Science students: Qualifying grade is based only on the midterm and final.
| Late policy for homework and project (except for dean's excuses): |
| Homework: <1 day late = 50% off |
| >1 day late = 0 |
| Project: No late projects will be accepted! |
| Academic Misconduct: I will not tolerate academically dishonest work. This includes cheating on the exams and plagiarism on the project. |
| Be careful on the project to cite prior work and to give proper credit to others' research. |
| Refer to the Duke Undergraduate Honor Code or to the instructor if you have any questions about misconduct. |
| Topics, Lecture Notes, and Reading Assignments (still in flux!!) |
| Homework |
Homework policy: Each homework should be done in a group of 2 students. For each homework, each group turns in ONE assignment to be graded. This assignment should have the names of both students on it. For electronic submission of simulator code (for some homework questions), one member of the group should upload code.
Homework #1, due Mon, Sept 7Homework #2, due Weds, Sept 23
Homework #3, due Fri, Oct 9
Homework #4, due Fri, Oct 30
Homework #5, due Fri, Nov 13
| Project |
The course project will be performed either individually or in groups of 2 or 3.
Projects will explore a micro-architectural issue (of your choice) using SimpleScalar. You will be expected to modify the code in sim-outorder as part of your project. See Prof. Sorin for project guidelines and ideas.
Project proposals (2 pages max!!): Due Mon, Oct 12 in class. Proposals must contain the following information:
Project reports (15 pages max!!): Due Monday, Nov 30 in class. No exceptions!
| Schedule (tentative) |
This is a tentative schedule which may change depending on time constraints and which days the instructor will be out of town.
|
Week |
Monday |
Wednesday |
Friday |
|
Aug 24 |
Intro/Performance |
Performance |
Pipelining |
Aug 31 |
Pipelining |
Pipelining |
Pipelining |
|
Sept 7 |
Dynamic ILP |
Dynamic ILP |
Dynamic ILP |
|
Sept 14 |
Dynamic ILP |
Dynamic ILP |
Dynamic ILP |
|
Sept 21 |
Dynamic ILP |
Dynamic ILP |
Dynamic ILP |
Sept 28 |
Static ILP |
Static ILP |
Static ILP |
|
Oct 5 |
FALL BREAK |
Cache/Memory |
Cache/Memory |
|
Oct 12 |
Cache/Memory |
REVIEW FOR MIDTERM |
MIDTERM |
|
Oct 19 |
Cache/Memory |
Cache/Memory |
Multithreading |
Oct 26 |
Multithreading |
Multicore |
Multicore |
|
Nov 2 |
Multicore |
Multicore |
Fault Tolerance |
|
Nov 9 |
Fault Tolerance |
Virtual Machines |
Virtual Machines |
|
Nov 16 |
Security |
Tiled Processors | Nanocomputing |
| Nov 23 | REVIEW FOR FINAL |
THANKSGIVING BREAK |
|
Nov 30 |
PROJECT PRESENTATIONS |
||
|
Dec 7 |
-------- EXAM WEEK -------- |
||