EE 382N, Spring, 2004
Y. N. Patt, Instructor
Hyesoon Kim, Moinuddin Qureshi, TAs
Nominal Course Outline
January 20, 2004
January 20: First class meeting. Introduction to the course, administrative details. Focus of the course. Architecture and Microarchitecture: Sciences of Tradeoffs.
January 21: Basic concepts in architecture and microarchitecture. Critical path, Bread and Butter Design, Partitioning, Timing, Pipelining. Data Path, state machine, microsequencer, microinstruction definition, and microcode. Microprogramming (horizontal, vertical, two-level, dynamic microprogramming, bit steering). Extension to pipelining and pipelined control. Effective use of short pipelines, with some digressions into more effective use of long pipelines without blocking. The structure of a modern pipeline. Functions at each stage.
January 26: Problem Set 1a due at start of class.
January 26,27,28: Discussions . Introduction to the CAD tools we will be using in the course. Review of the use of these tools on the logic design of a simple ALU.
February 2: Problem Set 1b due, 12:01am.
February 2: The x86 ISA, and some implementation issues.
February 3: Pipelining in the year 2004.
February 4: Branch Prediction.
February 9: Branch Prediction, continued.
February 10: Discussion section
February 11: The Trace Cache.
February 16,17,18: Discussion section.
February 23: Problem Set 2 due at start of class.
February 23: The Block-structured ISA.
February 24: Simultaneous Multithreading.
February 25: Clustering and its implications.
March 1: Data Flow; HPS.
March 2: Discussion
March 3: Pentium Pro and Pentium 4 implementations.
March 5: Problem Set 4 due, 5pm in Room 541 ENS.
March 8: Review.
March 9: Discussion
March 10: First exam.
March 15 through 19: Spring break, no class.
March 22,23,24: Individual group meetings to define individual implementations.
March 25, 26: First Design Review in 541a ENS, by appointment.
[Problem Set 5 is to be handed in at that time.]
March 29: The Naysayers, and their impact.
March 30: Discussion section.
March 31: Microarchitectures Approaches for the year 2009.
April 5: Importance of Compiler technology to Future Microarchitectures.
April 6: Discussion section.
April 7: RISC, a Retrospective.
April 12: Cache Coherency.
April 13: Discussion section.
April 14: Review.
Oral exams (Exam 2) scheduled for April 15,16.
April 19: Memory consistency.
April 20: Discussion section.
April 21: IEEE Floating Point arithmetic, The IEEE Standard. Formats. Gradual underflow, NaNs, Exceptions, Round-off, Guard Digits and Sticky bits, Wobble.
April 26: Measurement methodology and abuses.
April 27: Case Study I: The IBM Power 5 microarchitecture. (Guest lecture by Ron Kalla of IBM).
April 28: Discussion section.
May 3: Guest lecture:10 Simple Observations That Get Me Excited About Architecture (Professor Sanjay Patel, University of Illinois).
May 4: Case Study III: TBD.
May 5: Last class meeting. Review of the course.
Final project design reviews in 541a, May 6,7 by appointment.May x: Final project report due on the date scheduled for the final exam, in 541a, 10pm.
Note: there will be no final exam in this course.
Additional topic, if time permits: Alternative approaches to concurrency. Vector Processing, SIMD, MIMD, other variations of Multiprocessing.