Lecture: TuTh 11a – 12:20p
Where: WCH 143
Hung-Wei Tseng
email: cs203 @ escalab.org
Office Hours: Please check the Google Calendar for date/time/location or link
This course will describe the basics of modern processor operation and techniques to optimize your applications. Topics include computer system performance, instruction set architectures, pipelining, branch prediction, memory-hierarchy design, and a brief introduction to multiprocessor architecture issues.
Required: Hennessy & Patterson & Kozyrakis, Computer Architecture: A Quantitative Approach, David Patterson & John Hennessy, Morgan Kaufmann, 7th Edition and assigned research papers.
Required: Other assigned readings throughout the quarter.
Many research papers will require campus network to download. For instructions of connecting to UCR VPN and download research papers, please visit https://library.ucr.edu/using-the-library/technology-equipment/connect-from-off-campus
| Topic | Readings (Required) | Preview Slides | Slides & Demo | Due Dates | Release/Notes | |
| 9/24/2026 | Introduction How to start CS203 assignments | – G.E. Moore. Cramming More Components Onto Integrated Circuits. Electronics, pp. 114–117, April 19, 1965. – HPK (Textbook): Chapter 1.1-1.8 – John L. Hennessy and David A. Patterson. A new golden age for computer architecture. Communications of the ACM, Volume 62, Issue 2, 2019 | (1) Introduction | Assignment 0 Released Please watch this video and click this link before you start working on assignments | ||
| 9/29/2026 | Performance Evaluation (I) | – x86-64 Machine-Level Programming – HPK (Textbook): Chapter 1.9 & 1.10 | Performance Evaluation (Preview) | (2) Performance (1): What does performance mean Demos: 1. Is FLOPS meaningful or harmful? 2. Throughput v.s. Latency 3. Programming Languages & Performance 4. Programmers & CPI — matrix addition 5. Compilers | Reading Quiz #1 (covers materials of 9/29 and 10/01) due before lecture Course agreement due before lecture | Assignment 1 Released |
| 10/1/2026 | Performance Evaluation (II) | – HPK (Textbook): Chapter 1.9 & 1.10 – M. D. Hill and M. R. Marty. Amdahl’s Law in the Multicore Era. in Computer, vol. 41, no. 7, pp. 33-38, July 2008. | (3) Performance (2): One thing right Demos: 1. Profiling Tools to Find the Most Common Case 2. Optimization is a moving target | Assignment 0 due | Reading Quiz #2: Covering the required reading for 10/7 and 10/9 Released | |
| 10/6/2026 | Memory Hierarchy (1): The Basics | – HPK (Textbook): Appendix B.1-B.3, Chapter 2.1 & 2.2 | Memory Hierarchy: Basics (Preview) | (4) Inside out our memory hierarchy Demo: 1. Locality 2. Cache configurations | Reading Quiz #2: Covering the required reading for 10/7 and 10/9 | |
| 10/8/2026 | Memory Hierarchy (2) | – HPK (Textbook): Appendix B.1-B.3, Chapter 2.1 & 2.2 | Assignment 1 due | Assignment 2 Released | ||
| 10/12/2026–10/15/2026 | First midterm | Please schedule your practice examine through Testing Center to get familiar with environment | ||||
| 10/13/2026 | Virtual Memory (Online only) | – HPK (Textbook): Chapter B.4 & B.5, 2.4 – Thomas W. Barr, Alan L. Cox, and Scott Rixner. 2010. Translation caching: skip, don’t walk (the page table). ISCA 2010 | Reading Quiz #3 on – HPK (Textbook): Chapter B.4 & B.5, 2.4 – Thomas W. Barr, Alan L. Cox, and Scott Rixner. 2010. Translation caching: skip, don’t walk (the page table). ISCA 2010 | |||
| 10/15/2026 | Lecture cancelled | Assignment 3 & Programming Assignment 1 Release release | ||||
| 10/20/2026 | Memory Hierarchy (3): Programmer’s optimizations Memory | Reading Quiz #4 on – P&H (Textbook): Appendix B.1-B.3, 2.3 – Norman P. Jouppi. Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers. ISCA 1990 | ||||
| 10/22/2026 | Memory Hierarchy (4): Case Study – Matrix Multiplications | Assignment 2 due | ||||
| 10/27/2026 | Hierarchy (5): Microarchitecture Optimizations for Memory Performance | – P&H (Textbook): Chapter 2.3 – Norman P. Jouppi. Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers. ISCA 1990 Please schedule your midterm through Testing Center | Reading Quiz #5 on – P&H (Textbook): Chapter 3.3 – P&H (Textbook): Appendix C.1 – C.4 | |||
| 10/29/2026 | Basic Processor Design & Branch Prediction | – P&H (Textbook): Chapter 3.3 – P&H (Textbook): Appendix C.1 – C.4 | Assignment 3 due | |||
| 11/3/2026 | Advanced Branch Prediction | – M. Evers, S. J. Patel, R. S. Chappell and Y. N. Patt, “An analysis of correlation and predictability: what makes two-level branch predictors work,” Proceedings. 25th Annual International Symposium on Computer Architecture (Cat. No.98CB36235), Barcelona, Spain, 1998, pp. 52-61. – S. McFarling, “Combining branch predictors,” Technical Report m-36, Digital Western Research Laboratory, June 1993. – R. E. Kessler, E. J. McLellan and D. A. Webb, “The Alpha 21264 microprocessor architecture,” Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273), Austin, TX, USA, 1998, pp. 90-95, doi: 10.1109/ICCD.1998.727028. – Jiménez, Daniel A., and Calvin Lin. “Dynamic branch prediction with perceptrons.” Proceedings HPCA Seventh International Symposium on High-Performance Computer Architecture. IEEE, 2001. – André Seznec and P. Michaud. A case for (partially) TAgged GEometric history length branch prediction. Journal of Instruction Level Parallelism. June 2006. | Reading Quiz #6 on – M. Evers, S. J. Patel, R. S. Chappell and Y. N. Patt, “An analysis of correlation and predictability: what makes two-level branch predictors work,” Proceedings. 25th Annual International Symposium on Computer Architecture (Cat. No.98CB36235), Barcelona, Spain, 1998, pp. 52-61. -S. McFarling, “Combining branch predictors,” Technical Report m-36, Digital Western Research Laboratory, June 1993. – R. E. Kessler, E. J. McLellan and D. A. Webb, “The Alpha 21264 microprocessor architecture,” Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273), Austin, TX, USA, 1998, pp. 90-95, doi: 10.1109/ICCD.1998.727028. – Jiménez, Daniel A., and Calvin Lin. “Dynamic branch prediction with perceptrons.” Proceedings HPCA Seventh International Symposium on High-Performance Computer Architecture. IEEE, 2001. – André Seznec and P. Michaud. A case for (partially) TAgged GEometric history length branch prediction. Journal of Instruction Level Parallelism. June 2006. – P&H (Textbook): Chapter 3.4 | Assignment 4 release | ||
| 11/5/2026 | Data Hazards & OoO | – P&H (Textbook): Chapter 3.4 | Programming Assignment #1 due | |||
| 11/10/2026 | OOO Scheduling | – K. C. Yeager, “The MIPS R10000 superscalar microprocessor,” in IEEE Micro, vol. 16, no. 2, pp. 28-41, April 1996. – E. Rotem et al.. Intel Alder Lake CPU Architectures. in IEEE Micro, vol. 42, no. 3, pp. 13-19, 2022. – (Optional) A. Gonzalez, J. Gonzalez and M. Valero, “Virtual-physical registers,” Proceedings 1998 Fourth International Symposium on High-Performance Computer Architecture, Las Vegas, NV, USA, 1998, pp. 175-184, doi: 10.1109/HPCA.1998.650557. | Reading quiz #7 due Programming Assignment #3 Released | |||
| 11/12/2026 | Lecture cancaled | |||||
| 11/9/2026–11/12/2026 | 2nd midterm | Please schedule your practice examine through Testing Center to get familiar with environment | ||||
| 11/17/2026 | Programming on modern SuperScalar/OoO processors | Reading Quiz #8 | ||||
| 11/19/2026 | Parallel Architectures & Parallel Programming | – P&H (Textbook): Chapter 3.11 – Exploiting choice: instruction fetch and issue on an implementable simultaneous multithreading processor. Dean M. Tullsen, Susan J. Eggers, Joel S. Emer, Henry M. Levy, Jack L. Lo, and Rebecca L. Stamm, ISCA ’96: Proceedings of the 23rd annual international symposium on Computer architecture, New York, NY, USA, 1996, pages 191-202. – Chapter 5.1 – 5.3, 5.5 & 5.6 – The case for a single-chip multiprocessor, Kunle Olukotun, Basem A. Nayfeh, Lance Hammond, Ken Wilson, and Kunyung Chang, SIGPLAN Not. 31(9):2-11, 1996. | Assignment 4 due | |||
| 11/24/2026 | Parallel Architectures & Parallel Programming | Luiz André Barroso, Jeffrey Dean, and Urs Hölzle. 2003. Web Search for a Planet: The Google Cluster Architecture. IEEE Micro 23, 2 (March 2003), 22–28. – P&H (Textbook): Chapter 1.7 – Rakesh Kumar, Keith Farkas, Norm P. Jouppi, Partha Ranganathan, Dean M. Tullsen. Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction. In 36th International Symposium on Microarchitecture, December, 2003. | Reading Quiz 9 Due Assignment #5 Released | |||
| 12/1/2026 | Dark Silicon | – H. Esmaeilzadeh, E. Blem, R. St. Amant, K. Sankaralingam and D. Burger. Dark Silicon and the End of Multicore Scaling. In IEEE Micro, vol. 32, no. 3, pp. 122-134, May-June 2012. – Amin Vahdat, Xiaoyu Ma, David Patterson. New Computer Evaluation Metrics for a Changing World. Communications of the ACM. 2024 | (18) The Dark Silicon Era Demo: 1. Power and energy 2. big.Little | Reading Quiz 10 | ||
| 12/3/2026 | A new golden age of computer architecture | – William J. Dally, Yatish Turakhia, and Song Han. Domain-specific hardware accelerators. Communications of the ACM 63, 7, 2020. – Norman P. Jouppi, Cliff Young, et. al.. In-Datacenter Performance Analysis of a Tensor Processing Unit. In Proceedings of the 44th Annual International Symposium on Computer Architecture (ISCA 2017). – John L. Hennessy and David A. Patterson. A new golden age for computer architecture. Communications of the ACM, Volume 62, Issue 2, 2019 – (Optional) Thomas Norrie, Nishant Patil, Doe Hyun Yoon, George Kurian, Sheng Li, James Laudon, Cliff Young, Norman Jouppi, and David Patterson. The Design Process for Google’s Training Chips: TPUv2 and TPUv3. In IEEE Micro, vol. 41, no. 2, pp. 56-63, 1 March-April 2021, doi: 10.1109/MM.2021.3058217 | Assignment #5 & Programming Assignment #3 Due | |||
| 12/7/2026-12/10/2026 | Final Exam | Please schedule your final exam through Testing Center | For CS203 students from a prior quarter taking the make-up CEP questions, please fill the form https://forms.gle/Prem6vmA3wMTmRveA |
You are strongly encouraged to watch this video before you start your first assignment.
Please find your current grade in the following iframe or log in through https://www.escalab.org/my_grades/ first. The grade is updated periodically, not always up-to-date.