EECS 573: Microarchitecture (Fall 2015)

Instructor:  Todd Austin, CSE 4637,
Office Hours:  Monday, Wednesday 9:30-10:30am, 4637 BBB, or by appt.

GSI: Salessawi Ferede Yitbarek,
Office Hours:  TBD...

Class Times: Monday, Wednesday 10:30-noon, 2166 DOW

Class Web Page: (Visit often!)

Course Synopsis: A graduate-level introduction to the foundations of efficient microprocessor designs. We will be studying research from the computer architecture literature. The course will focus on three "hot" topics in computer architecture: (i) reliable system design, (ii) secure system design, and (iii) application-specific architectures. Special emphasis is placed on helping members of the class transition from student to researcher, through projects, presentations and class discussions.

Text: None, we will be reading papers available from the Web, they are listed below.



Course Schedule (tentative):


Wed 9/09/2015   1 Introduction, What is research? Lecture #1 Paper list published
Mon 9/14/2015   2 Resilient System Design - Intro Lecture #2 Select teams/papers by end-of-day 9/14
Wed 9/16/2015   3 Resilient System Design - Intro Lecture #3  
Mon 9/21/2015   4 Resilient System Design - Example Paper Paper #68  
Wed 9/23/2015 5 Resilient System Design - Papers Paper #11 (misiker,davidyw), Paper #4 (zezhang,lyuhao)
Mon 9/28/2015   6 Resilient System Design - Papers Paper #1 (sunggun,bcoh), Paper #7 (zamirai,jiecaoyu)  
Wed 9/30/2015   7 Resilient System Design - Papers Paper #18 (xuejiong,yileixu)  
Mon 10/05/2015   8 Resilient System Design - Papers Paper #3 (jasonyt, liziyun)  
Wed 10/07/2015   9 Secure and Bug-Free Systems - Intro Lecture #4

Receive project details

Mon 10/12/2015   10 Secure and Bug-Free Systems - Intro Lecture #5  
Wed 10/14/2015   11 Secure and Bug-Free Systems - Papers Paper #37 (jinals,cowanmeg), Paper #44 (liaoyuke, shenguan) Project proposals due, one page, in class
Mon 10/19/2015   no class      
Wed 10/21/2015   12 Secure and Bug-Free Systems - Papers Paper #40 (gcbo, yulins), Paper #33 (sugandha,vbothra)


Mon 10/26/2015   no class      
Wed 10/28/2015 14 Secure and Bug-Free Systems - Papers Paper #38 (wshiyu,yixiangw)


Mon 11/02/2015   15 Secure and Bug-Free Systems - Papers Paper #22 (dishag) Project checkpoint meetings, 1-pg report due
Wed 11/04/2015   16 Application-Specific Archs - Intro Lecture #6  
Mon 11/09/2015 17 Application-Specific Archs - Near-Mem Archs Lecture #7
Wed 11/11/2015   18 Application-Specific Archs - Papers Paper #55 (plindes,stearns), Paper #50 (tiechen,parkerhh)  
Mon 11/16/2015   19 Application-Specific Archs - Papers Paper #56 (ldytmac,lydiaxia), Paper #61 (trippel,grvmadan)  
Wed 11/18/2015   20 Application-Specific Archs - Papers Paper #49 (xmguo,sijiahe)  
Mon 11/23/2015   21 Application-Specific Archs - Papers Paper #51 (xiaoweiw,chenray) Project checkpoint meetings, 1-pg report due
Wed 11/25/2015   no class      
Mon 11/30/2015   22 Exam Review Exam Review (practice exam available)  
Wed 12/02/2015   23 Exam   Exam 12/02, in class, open notes
Mon 12/07/2015   24 Extended project office hours in 4637 BBB    
Wed 12/09/2015   25 Project presentations (extended class)   Class noon-4pm, location TBD
Mon 12/14/2015   26 Project reports due   Reports due 12/14 by end-of-day

Project: There will be one project beginning in week 5. Students may work in pairs or groups of up to four - of course, larger groups will be expected to produce more results. Students will conduct a research project that includes a quantitative evaluation of the proposed invention.  Students will meeting with the professor to propose the project, meet during the semester for a checkpoint meeting, and finally produce a research report and present their findings in the final week of class.

Details of the project can be found here: PROJECTS.txt

Some class projects may choose to utilize the SimpleScalar Tool Set for their project.  The SimpleScalar sources and class-sized benchmarks are available here: (use the 3v0e version)


Class Participation: 10%
Class Presentation: 20%
Exam: 30%
Project: 40%


  1. Lecture 01 - Class overview
  2. Lecture 02 - Robust Design Tutorial
  3. Lecture 03 - Robust Design Tutorial
  4. Lecture 04 - Secure Systems Tutorial
  5. Lecture 05 - Secure Systems Tutorial
  6. Lecture 06 - Application-Specific Architectures, Intro
  7. Lecture 07 - Application-Specific Architectures, Near-Memory Processing
  8. Lecture 08 - Data Parallel Architectures: Near-Memory Architectures

Reading List:

We will be reading many of 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.

NOTE: To view ACM and IEEE papers you must have an account with that institution OR you must access the papers from within the domain.  If off campus, it may be possible to authenticate with your UM unique ID and access the IEEE Xplore and ACM Digital Library using the following links:

    IEEE Xplore
    ACM Digital Library

Resilient System Design

  1. Using ECC Feedback to Guide Voltage Speculation in Low-Voltage Processors,  A. Bacha et. al., in MICRO 2014.
  2. Avoiding Core's DUE & SDC via Acoustic Wave Detectors and Tailored Error Containment and Recovery, Upasani  et. al., in ISCA 2014.
  3. Fine-Grained Fault Tolerance using Device Checkpoints, Kadev et. al., in ASPLOS 2013.
  4. ArchShield: Architectural Framework for Assisting DRAM Scaling by Tolerating High Error-Rates, Nair et. al., in ISCA 2013.
  5. Resilient Die-stacked DRAM Caches, Sim et. al., in ISCA 2013.
  6. The Performance Vulnerability of Architectural and Non-architectural Arrays to Permanent Faults, Hardy et. al., in MICRO 2012.
  7. NoCAlert: An On-Line and Real-Time Fault Detection Mechanism for Network-on-Chip Architectures, Prodromou et. al., in MICRO 2012.
  8. Macho: A Failure Model-oriented Adaptive Cache Architecture to enable Near-Threshold Voltage Scaling, Mahmood et. al., in HPCA 2013.
  9. Active Management of Timing Guardband to Save Energy in POWER7, Charles Lefurgy, Alan Drake, Michael Floyd, Malcolm Allen-Ware, Bishop Brock, Jose Tierno, and John Carter (IBM), MICRO 2011.
  10. ARIADNE: Agnostic Reconfiguration In A Disconnected Network Environment, Aisopos et. al., in PACT 2011.
  11. Trading off Cache Capacity for Reliability to Enable Low Voltage Operation, Chris Wilkerson, Hongliang Gao, Alaa R. Alameldeen, Zeshan Chishti, Muhammad Khellah, Shih-Lien Lu, ISCA 2008.
  12. ReVIVaL: A Variation-Tolerant Architecture Using Voltage Interpolation and Variable Latency, Xiaoyao Liang, Gu-Yeon Wei, David Brooks, ISCA 2008.
  13. Voltage emergency prediction: Using signatures to reduce operating margins, Reddi, V.J.; Gupta, M.S.; Holloway, G.; Gu-Yeon Wei; Smith, M.D.; Brooks, D., HPCA 2009.
  14. Accurate microarchitecture-level fault modeling for studying hardware faults, Man-Lap Li; Ramachandran, P.; Karpuzcu, U.R.; Hari, S.; Adve, S.V., HPCA 2009.
  15. Blueshift: Designing processors for timing speculation from the ground up, Greskamp, B.; Lu Wan; Karpuzcu, U.R.; Cook, J.J.; Torrellas, J.; Deming Chen; Zilles, C., HPCA 2009.
  16. Perturbation-based Fault Screening, Racunas, P.; Constantinides, K.; Manne, S.; Mukherjee, S.S., HPCA 2007.
  17. Process Variation Tolerant 3T1D-Based Cache Architectures, Xiaoyao Liang, Ramon Canal, Gu-Yeon Wei, David Brooks, MICRO 2007.
  18. Argus: Low-Cost, Comprehensive Error Detection in Simple Cores, Albert Meixner, Michael E. Bauer, Daniel Sorin, MICRO 2007.
  19. Rescue: a microarchitecture for testability and defect tolerance, Schuchman, E.; Vijaykumar, T.N., in ISCA 2005.
  20. A mechanism for online diagnosis of hard faults in microprocessors, Bower, F.A.; Sorin, D.J.; Ozev, S., in MICRO 2005.
  21. Non-Stalling Counterflow Architecture, Michael F. Miller, Kenneth J. Janik, and Shih-Lien Lu, in HPCA-4.

    Secure and Bug-Free Systems
  22. Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors, Y. Kim, in ISCA 2014.
  23. A Practical Methodology for Measuring the Side-Channel Signal Available to the Attacker for Instruction-Level Events, R. Callan et. al., in MICRO 2014.
  24. Iso-X: A Flexible Architecture for Hardware-Managed Isolated Execution, D. Evtyushkin et. al., in MICRO 2014.
  25. The CHERI capability model: Revisiting RISC in an age of risk, J. Woodruff, in ISCA 2014.
  26. InkTag: Secure Applications on an Untrusted Operating System, Hofmann et. al., in ASPLOS 2013.
  27. Production-Run Software Failure Diagnosis via Hardware Performance Counters, Arulraj et. al., in ASPLOS 2013.
  28. Using Likely Invariants for Automated Software Fault Localization, Sahoo et. al., in ASPLOS 2013.
  29. On the Feasibility of Online Malware Detection with Performance Counters, Demme et. al., in ISCA 2013.
  30. Design Space Exploration and Optimization of Path Oblivious RAM in Secure Processors, Ren et. al., in ISCA 2013.
  31. SCRAP: Architecture for Signature-Based Protection from Code Reuse Attacks, Kayaalp et. al., in HPCA 2013.
  32. Adaptive Reliability Chipkill Correct (ARCC), Jian et. al., in HPCA 2013.
  33. Reliable and Efficient PUF Key Generation Using Pattern Matching, Srini Devadas and Zdenek Paral (MIT), HOST 2011.
  34. Reliably Erasing Data From Flash-Based Solid State Drives, Michael Wei, Laura M. Grupp, Frederick E. Spada, Steven Swanson, FAST 2011.
  35. A Randomized Scheduler with Probabilistic Guarantees of Finding Bugs, Sebastian Burckhardt, Pravesh Kothari, Madanlal Musuvathi and Santosh Nagarakatte (Microsoft Research), ASPLOS 2010.
  36. Entropy Extraction in Metastability-based TRNG, V. Suresh and W. Burleson, HOST 2010.
  37. SigRace: signature-based data race detection, Abdullah Muzahid, Dario Suarez, Shanxiang Qi, Josep Torrellas, ISCA 2009.
  38. A case for an interleaving constrained shared-memory multi-processor, Jie Yu, Satish Narayanasamy, ISCA 2009.
  39. Designing and implementing malicious hardware, Samuel T. King, Joseph Tucek, Anthony Cozzie, Chris Grier, Weihang Jiang, and Yuanyuan Zhou, LEET 2008.
  40. MemTracker: Efficient and Programmable Support for Memory Access Monitoring and Debugging, Venkataramani, G.; Roemer, B.; Solihin, Y.; Prvulovic, M., HPCA 2007.
  41. Control flow obfuscation with information flow tracking, Haibo Chen, Liwei Yuan, Xi Wu, Binyu Zang, Bo Huang, Pen-chung Yew, MICRO 2009.
  42. Design and implementation of the AEGIS single-chip secure processor using physical random functions, Suh, G.E.; O'Donnell, C.W.; Ishan Sachdev; Srinivas Devadas, in ISCA 2005.
  43. Efficient online validation with delta execution, Joseph Tucek, Weiwei Xiong, Yuanyuan Zhou, ASPLOS 2009.
  44. Hardbound: architectural support for spatial safety of the C programming language, Joe Devietti, Colin Blundell, Milo M. K. Martin, Steve Zdancewic, ASPLOS 2008.

    Application-Specific Architectures
  45. General-Purpose Code Acceleration with Limited-Precision Analog Computation, R. St. Amant et. al., in ISCA 2014.
  46. Aladdin: A Pre-RTL, Power-Performance Accelerator Simulator Enabling Large Design Space Exploration of Customized Architectures, Shao et. al., in ISCA 2014.
  47. HELIX-RC: An Architecture-Compiler Co-Design for Automatic Parallelization of Irregular Programs, Campanoni, in ISCA 2014.
  48. Understanding sources of inefficiency in general-purpose chips, Hameed et al., in ISCA 2010.
  49. LINQits: big data on little clients, Chung et al., in ISCA 2013.
  50. Navigating Big Data with High-Throughput, Energy-Efficient Data Partitioning, Wu et al., in ISCA 2013.
  51. STREX: Boosting Instruction Cache Reuse in OLTP Workloads Through Stratified Transaction Execution, Atta et al., in ISCA 2013.
  52. Convolution Engine: Balancing Efficiency and Flexibility in Specialized Computing, Qadeer et. al., in ISCA 2013.
  53. Thin Servers with Smart Pipes: Designing SoC Accelerators for Memcached, Lim et. at., in ISCA 2013.
  54. Neural Acceleration for General-Purpose Approximate Programs, Esmaeilzadeh et. al., in MICRO 2012.
  55. Architecture Support for Disciplined Approximate Programming. Hadi Esmaeilzadeh (University of Washington), Adrian Sampson (University of Washington), Luis Ceze (University of Washington) and Doug Burger (Microsoft Research), ASPLOS 2012.
  56. AnySP: anytime anywhere anyway signal processing, Mark Woh, Sangwon Seo, Scott Mahlke, Trevor Mudge, Chaitali Chakrabarti, Krisztian Flautner, ISCA 2009.
  57. Rigel: an architecture and scalable programming interface for a 1000-core accelerator, John H. Kelm, Daniel R. Johnson, Matthew R. Johnson, Neal C. Crago, William Tuohy, Aqeel Mahesri, Steven S. Lumetta, Matthew I. Frank, Sanjay J. Patel, ISCA 2009.
  58. Anton, a special-purpose machine for molecular dynamics simulation, David E. Shaw and et al, ISCA 2007.
  59. ParallAX: an architecture for real-time physics, Thomas Y. Yeh, Petros Faloutsos, Sanjay J. Patel, Glenn Reinman, ISCA 2007.
  60. SODA: A Low-power Architecture For Software Radio, Yuan Lin; Hyunseok Lee; Woh, M.; Harel, Y.; Mahlke, S.; Mudge, T.; Chakrabarti, C.; Flautner, K., in ISCA 2006.

    Additional papers covered in lecture:
  61. A Case for Unlimited Watchpoints. Joseph Greathouse (University of Michigan), Hongyi Xin (University of Michigan/SJTU), Yixin Luo (University of Michigan/SJTU) and Todd Austin (University of Michigan), ASPLOS 2012.
  62. EFFEX: an embedded processor for computer vision bSased feature extraction, Jason Clemons, Andrew Jones, Robert Perricone, Silvio Savarese, Todd M. Austin, DAC 2011.
  63. Fault-Based Attack of RSA Authentication, Andrea Pellegrini, Valeria Bertacco and Todd Austin, in the 2010 Design, Automation and Test in Europe Conference (DATE-2010), March 2010.
  64. Razor: a low-power pipeline based on circuit-level timing speculation, Ernst, D.; Nam Sung Kim; Das, S.; Pant, S.; Rao, R.; Toan Pham; Ziesler, C.; Blaauw, D.; Austin, T.; Flautner, K.; Mudge, T., in MICRO 2003.
  65. Energy optimization of subthreshold-voltage sensor network processors, Nazhandali, L.; Zhai, B.; Olson, A.; Reeves, A.; Minuth, M.; Helfand, R.; Sanjay Pant; Austin, T.; Blaauw, D., in ISCA 2005.
  66. A systematic methodology to compute the architectural vulnerability factors for a high-performance microprocessor, Mukherjee, S.S.; Weaver, C.; Emer, J.; Reinhardt, S.K.; Austin, T., in MICRO 2003.
  67. Ultra Low-Cost Defect Protection for Microprocessor Pipelines, Kypros Constantinides, Smitha Shyam, Sujay Phadke, Valeria Bertacco and Todd Austin, in ASPLOS 2006.
  68. Architectural implications of brick and mortar silicon manufacturing, Martha Mercaldi Kim, Mojtaba Mehrara, Mark Oskin, Todd Austin, ISCA 2007.
  69. Testudo: Heavyweight security analysis via statistical sampling, Joseph L. Greathouse, Ilya Wagner, David A. Ramos, Gautam Bhatnagar, Todd Austin, Valeria Bertacco, Seth Pettie, MICRO 2008.
  70. Software-Based Online Detection of Hardware Defects Mechanisms, Architectural Support, and Evaluation
    Kypros Constantinides, Onur Mutlu, Todd Austin, Valeria Bertacco, MICRO 2007.