EECS 573: Microarchitecture (Winter 2012)
Instructor: Todd Austin, EECS 2221, austin@umich.edu
Office Hours: Monday 9-10:30, Wednesday 3:30-5:00, or by appt.
Class Web Page: http://www.eecs.umich.edu/~taustin/eecs573.html (Visit often!)
Course Synopsis: Graduate level
introduction to the foundations of efficient microprocessor designs. Problems
involving instruction supply, data supply, and instruction processing.
Compile-time vs. run-time tradeoffs. Aggressive branch prediction. Wide-issue
processors, in-order vs. out-of-order execution, instruction retirement. Case
studies are taken from current microprocessors.
Text:
None, we will be reading papers available from the Web, they
are listed below.
Course
Schedule (tentative):
Week |
Topic |
Readings |
Events |
1 |
Introduction |
|
|
2 |
Fetch Optimization I |
Papers
1 & 2 (+ 1) |
Receive
project details |
3 |
Fetch
Optimization II, Scheduling I |
Paper
3 & 4 (+ 2, 3) |
|
4 |
Scheduling II |
Papers 5 & 6 (+ 5) |
|
5 |
Scheduling
III |
Papers
7 & 8 (+ 6) |
Project
proposals due |
6 |
Circuit-Sensitive
Design I |
Papers
9 & 10 |
|
7 |
Circuit-Sensitive
Design II |
Papers
11 & 12 |
|
8 |
Spring Break |
|
No class |
9 |
Power-Sensitive Design I |
Papers
13 & 14 (+ 7) |
|
10 |
Power-Sensitive Design II |
Papers
15 & 16 (+ 9, 10) |
|
11 |
Power-Sensitive Design III |
Papers
17 & 18 (+11) |
|
12 |
Tools and Techniques |
Papers
19, 20, 21 & 22 |
|
13 |
Exam
Review, Exam |
|
Exam
April 3 (tentative) |
14 |
Application Specific Architectures |
Papers
23, 24 & 25 |
|
15 |
Project
Presentations |
|
Project
reports due, presentations |
Project: There will be one project beginning in week 2. Students may work individually or in pairs - of course, pairs will be expected to produce more results. Students will conduct a research project that extends a microprocessor simulation system I make available (SimpleScalar). Other projects are also possible with prior approval. Students will produce a research report and present their findings in the final week of class. More details will follow...
The SimpleScalar sources and class benchmarks are available here:
http://www.eecs.umich.edu/~taustin/eecs573_public/simplesim-3.0b.tar.gz
http://www.eecs.umich.edu/~taustin/eecs573_public/instruct-progs.tar.gz
Grading:
Class Participation: 15%
Class Presentation: 15%
Exam: 30%
Project: 40%
Reading List:
We will be reading the following papers. We will discuss them in the week
specified in the table above, please have read the papers by the beginning of
class.
Presentation
Schedule:
Paper Number |
Presenter |
6 |
Allen
Cheng |
7 |
Ken McInnis |
9 |
Seokwoo
Lee |
10 |
Avinash |
11 |
Jason
Clemons |
12 |
Joey
Oravec |
15 |
Curt
Gomulinski |
16 |
Matt Stamplis |
17 |
Dan Burke |
18 |
Jeremy Burns |
21 |
David Oehmke |
23 |
Mike Chu |
24 |
Joel VanLaven |
Supporting
Readings:
The following papers will be discussed in class, but not presented in detail.
1.
"Critical
Issues Regarding the Trace Cache Fetch Mechanism", Sanjay Jeram Patel,
Daniel Holmes Friendly, Yale N. Patt, University of Michigan CSE-TR-335-97.
2.
On
Pipelining Dynamic Instruction Scheduling Logic, J. Stark (Intel), M. D.
Brown, Y. N. Patt (University of Texas at Austin), in MICRO-33.
3.
Out-Of-Order
Execution May Not Be Cost-Effective on Processors Featuring Simultaneous
Multithreading, Sebastien Hily (Intel Microcomputer Research), Andre
Seznec (Universite de Rennes) , in HPCA-5.
4.
A
Study of Slipstream Processors, Z. Purser, K. Sundaramoorthy, E.
Rotenberg, in MICRO-33.
5.
Slipstream
Processors: Improving both Performance and Fault Tolerance, K.
Sundaramoorthy, Z. Purser, and E. Rotenberg, In ASPLOS-2000.
6.
Transient Fault
Detection via Simultaneous Multithreading, S. K. Reinhardt and S. S. Mukherjee,
In ISCA-2000.
7.
A
Comparison of Two Architectural Power Models, Soraya Ghiasi and Dirk
Grunwald, Power Aware Computer Systems Workshop, November 2000.
8.
Pipeline
Gating: Speculation Control For Energy Reduction, Srilatha Manne, Artur
Klauser and Dirk Grunwald, in ISCA-98.
9.
Dynamically
Exploiting Narrow Width Operands to Improve Processor Power and Performance,
David Brooks, Margaret Martonosi, Princeton University, in HPCA-5.
10.
Memory
Hierarchy Reconfiguration For Energy And Performance In General-Purpose
Processor Architectures, R. Balasubramonian, D. Albonesi, A.
Buyuktosunoglu, S. Dwarkadas, in MICRO-33.
11.
A Static Power Model for
Architects, J. A. Butts, G. Sohi, In MICRO-33.
12.
"Modeling Superscalar
Processors via Statistical Simulation", Sebastien Nussbaum and James
Smith, PACT-01.
13.
High-level
synthesis of nonprogrammable hardware accelerators, R.Schreiber, S. Aditya
(Gupta), B.R. Rau, V. Kathail, S. Mahlke, S. Abraham and G. Snider, In
ASAP-2000.
14.
Reducing Code Size with
Run-Time Code Decompression, Charles Lefurgy, Eva Piccininni, Trevor Mudge,
University of Michigan, in HPCA-6.
15.
The Use of Multithreading
for Exception Handling, Craig B Zilles, Gurindar S Sohi (University of
Wisconsin, Madison), Joel S Emer (Compaq Computer Corporation), in MICRO32.
16.
Putting the Fill Unit
to Work: Dynamic Optimizations for Trace Cache Microprocessors, D. Friendly, S. Patel, Y. Patt (Univ. of Michigan), in
MICRO31.
17.
Selective
Cache Ways: On-Demand Cache Resource Allocation, David H Albonesi
(University of Rochester), in MICRO32.
18.
Dynamic
Cluster Assignment Mechanisms, Ramon Canal, Joan Manuel Parcerisa, Antonio
Gonzalez, Universitat Politecnica de Catalunya Barcelona, in HPCA-6.
19.
Memory Forwarding: Enabling
Aggressive Layout Optimizations by Guaranteeing the Safety of Data Relocation,
C. Luk (University of Toronto), T. Mowry (CMU) , in ISCA-26.
20.
Understanding
the Backward Slices of Performance Degrading Instructions, Craig Zilles,
Gurindar S. Sohi, in ISCA2000.
21.
Confidence
Estimation for Speculation Control, Dirk Grunwald, Artur Klauser, Srilatha
Manne and Andrew Pleszkun, in ISCA-98.
22.
Effective Jump Pointer
Prefetching for Linked Data Structures, A. Roth, G. Sohi, in ISCA-26.
23.
Prefetching
using Markov Predictors, Doug Joseph and Dirk Grunwald, in ISCA-97.
24.
Modified LRU
Policies for Improving Second-level Cache Behavior, Wayne A. Wong, Jean-Loup A.
Baer, University of Washington, in HPCA-6.
25.
Simultaneous
Subordinate Microthreading (SSMT), R. Chappell, J. Stark, S. Kim, Y. Patt,
in ISCA-26.
26.
Clock Rate
versus IPC: The End of the Road for Conventional Microarchitectures, Vikas
Agarwal, M.S. Hrishikesh, Stephen Keckler, Doug Burger, in ISCA-2000.