CS203: Advanced Computer Architecture (2019 Fall)
Boyce 1471
Lecture: MW 9:30a – 10:50a
Instructor
Hung-Wei Tseng
email: htseng @ ucr.edu
Office Hours: MW 1p-2p @ WCH 406 or by appointment
Teaching Assistant
Shixiong Qi
email: shixiong.qi @ email.ucr.edu
Office hours: TuTh 9:30a-10:30a @ WCH 110 or by appointment
Other important links
Quizzes, Assignments, Gradeing: iLearn
Discussion Forum on Piazza: piazza.com/ucr/fall2019/cs_203_001_19f
Podcasting: https://mediasite.ucr.edu/Mediasite/Catalog/catalogs/cs_203_001_19f
Course Overview
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.
Text books
Required: Patterson & Hennessy, Computer Architecture: A Quantitative Approach, David Patterson & John Hennessy, Morgan Kaufmann, 6th Edition
Required: Other assigned readings throughout the quarter.
Grading
- Homework 15%
Homeworks will be assigned throughout the course. - Class participation 10% (Clicker-based)
This class uses “peer instruction” and we REQUIRE each of you to download poll everywhere App or navigate/login to their website during the class - Reading Quizzes 10%
We will have reading quizzes on iLearn! - Project 10%
We will have one coding project throughout the quarter. It’s going to be a contest and you will win a prize over it! - Midterm 20%
- Final 35%
The final will be cumulative. - Additional notes about grades in this course
- Your score will be available on iLearn. Your final grade is the weighted average of these grades.
We do our best to record grades accurately, but you should double-check. - Late submission: We do not accept any late submission, including quiz, assignments, projects.
- Errors in grading: If you feel there has been an error in how an assignment or test was graded, you have one week from when the assignment is return to bring it to our attention. You must submit (via email to the instructor and the appropriate TAs) a written description of the problem. Neither I nor the TAs will discuss regrades without receiving an email from you about it first. For arithmetic errors (adding up points etc.) you do not need to submit anything in writing, but the one week limit still applies.
- For midterm and final: We do not regrade on a single problem. We will re-grade your whole test. The one week regrading window still applies.
- Final grades: If you have a problem with your final grade in the course, send me email and we can set up an appointment to discuss it.
- Your score will be available on iLearn. Your final grade is the weighted average of these grades.
Schedule and Slides
| Topic | Reading | Slides (Preview) | Slides (Release) | Due | Note |
09/30/2019 | Introduction | Chapter 1.1, 1.2, 1.4 Cramming More Components Onto Integrated Circuits, G.E. Moore, Proceedings of the IEEE 86(1):82-85, Jan 1998 |
| Introduction Demos |
|
|
10/02/2019 | Performance Evaluation (I) | Chapter 1.3, 1.4, 1.7, 1.8, 1.9 | Performance Evaluation (Preview) | Performance(I) Demos | Reading Quiz #1 |
|
10/07/2019 | Performance Evaluation (II) | Andrew Davison. Twelve Ways to Fool the Masses When Giving Performance Results on Parallel Computers. In Humour the Computer, MITP, 1995 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. |
| Performance (II) |
|
|
10/09/2019 | Memory Hierachy | Appendix B.1-B.4 | Memory Hierarchy (Preview) | Performance (III) & Memory Hierarchy (I) Demo | Reading Quiz #2 |
|
10/14/2019 |
|
|
|
| Move to 10/28/2019 as midterm review | |
10/16/2019 |
|
|
|
| Homework #1 (Due 10/18) | Move to 12/02/2019 |
10/21/2019 | Memory Hierachy (II) | Chapter 2.1-2.3 |
| Memory Hierarchy (II) | Reading Quiz #3 |
|
10/23/2019 | Memory Hierachy (III) |
|
| Memory Hierarchy (III) Demo (size of structure) Demo (unaligned access) |
|
|
10/28/2019 | Memory Hierarchy (IV) & Virtual Memory | Chapter B.4-B.5 & Chapter 2.4 |
| Memory Hierarchy (IV) Demo | Reading Quiz #4 |
|
10/28/2019 | Midterm Review |
|
| Midterm Review |
| 7pm @ WCH 143 |
10/30/2019 | Virtual Memory & Basic Processor Design | Appendix C.1 | Virtual Memory (Preview) | Virtual Memory Demo | Homework #2 |
|
11/04/2019 | Midterm |
|
|
|
|
|
11/06/2019 | Basic Processor Design | Appendix C.2, Chapter 3.1 | Pipelined Processor (Preview) | Basic Pipelined Processor | Reading Quiz #5 |
|
11/13/2019 | Branch prediction | Chapter 3.3 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. In proceedings of the 25th Annual International Symposium on Computer Architecture (ISCA’ 98), Barcelona, Spain, 1998, pp. 52-61. Scott McFarling. Combining Branch Predictors. Technical report WRL-TN-36, 1993. | Branch Prediction (Preview) | Dynamic Branch Prediction Demo | Reading Quiz #6 |
|
11/18/2019 | OOO Scheduling | Chapter 3.4 – 3.6, 3.8 Tomasulo Hangout Tomasulo Diagram | OOO/Data hazards (Preview) | Data Hazards | Reading Quiz #7 |
|
11/20/2019 | OOO Scheduling | K. C. Yeager, “The Mips R10000 superscalar microprocessor,” in IEEE Micro, vol. 16, no. 2, pp. 28-41, April 1996. R. E. Kessler, “The Alpha 21264 microprocessor,” in IEEE Micro, vol. 19, no. 2, pp. 24-36, March-April 1999. |
| Dynamic/OoO Instruction Scheduling | Homework #3 | |
11/25/2019 | OOO Scheduling & SMT |
| Dynamic/OoO Instruction Scheduling (II) | Reading Quiz #8 |
| |
11/27/2019 | CMP | Chapter 3.11 Chapter 5.1-5.6 Dean M. Tullsen, Susan J. Eggers, Henry M. Levy. Simultaneous multithreading: maximizing on-chip parallelism. In 22nd Annual International Symposium on Computer Architecture (ISCA ’95), 1995. (Optional) Dean M. Tullsen, Susan J. Eggers, Joel S. Emer, Henry M. Levy, Jack L. Lo, and Rebecca L. Stamm. Exploiting choice: instruction fetch and issue on an implementable simultaneous multithreading processor. In the 23rd annual international symposium on Computer architecture (ISCA ’96), 1996 Kunle Olukotun, Basem A. Nayfeh, Lance Hammond, Ken Wilson, and Kunyung Chang. The case for a single-chip multiprocessor. In the 7th international conference on Architectural support for programming languages and operating systems (ASPLOS ’96), 1996. | SMT/CMP (Preview) | SMT/CMP |
| |
12/02/2019 | 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. |
| Parallel Programming & Power/Energy Demo | Reading Quiz #9 |
|
12/02/2019 | Final Review |
| Final Review | Project | 7pm @ WCH 143 | |
12/04/2019 | TPU, FPGA | 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. In-Datacenter Performance Analysis of a Tensor Processing Unit Adrian M. Caulfield, Eric S. Chung, Andrew Putnam, Hari Angepat, Jeremy Fowers, Michael Haselman, Stephen Heil, Matt Humphrey, Puneet Kaur, Joo-Young Kim, Daniel Lo, Todd Massengill, Kalin Ovtcharov, Michael Papamichael, Lisa Woods, Sitaram Lanka, Derek Chiou, and Doug Burger. 2016. A cloud-scale acceleration architecture. In The 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-49). | Dark Silicon (Preview) | Dark Silicon & Future Architecture | Homework #4 |
|
12/09/2019 | Final Exam | 8a-11a |
|
|
|
|
Assignments
Assignment #1
– Questions:
Please find the homework questions and complete the homework using the from the following template
https://intra.engr.ucr.edu/~htseng/classes/cse203_2019fa/Assignments/assignment_1.pdf
or
https://intra.engr.ucr.edu/~htseng/classes/cse203_2019fa/Assignments/assignment_1.docx
– Deliverable
Turn in your solutions through iLearn under the assignment section
– Due
11:59pm 10/18/2019
Assignment #2
– Questions:
Please find the homework questions and complete the homework using the from the following template
https://intra.engr.ucr.edu/~htseng/classes/cse203_2019fa/Assignments/assignment_2.pdf
or
https://intra.engr.ucr.edu/~htseng/classes/cse203_2019fa/Assignments/assignment_2.docx
– Deliverable
Turn in your solutions through iLearn under the assignment section
– Due
11:59pm 10/30/2019
Assignment #3
– Questions:
Please find the homework questions and complete the homework using the from the following template
https://intra.engr.ucr.edu/~htseng/classes/cse203_2019fa/Assignments/assignment_3.pdf
or
https://intra.engr.ucr.edu/~htseng/classes/cse203_2019fa/Assignments/assignment_3.docx
– Deliverable
Turn in your solutions through iLearn under the assignment section
– Due
11:59pm 11/20/2019
Assignment #4
– Questions:
Please find the homework questions and complete the homework using the from the following template
https://intra.engr.ucr.edu/~htseng/classes/cse203_2019fa/Assignments/assignment_4.pdf
or
https://intra.engr.ucr.edu/~htseng/classes/cse203_2019fa/Assignments/assignment_4.docx
– Deliverable
Turn in your solutions through iLearn under the assignment section
– Due
11:59pm 12/04/2019
Project
Please visit the link and clone the code. https://github.com/hungweitseng/CS203-Project/tree/master
– Deliverable
Turn in your solutions through iLearn under the assignment section
– Due
11:59pm 12/02/2019
Integrity Policy
- Cheating WILL be taken seriously. Doing otherwise is not fair to honest students. It is also not fair to allow the cheater to thing that it is a reasonable alternative in life.
- Please review the UCR student handbook for more details on Academic Integrity.
- Anyone copying information or having information copied during a test will receive an F for the class and will not be allowed to drop. They will be reported to their college dean. If you can prove non-cooperative copying took place, your grade may be restored, but you must prove it to the dean–I don’t want to be involved. Anyone caught cheating or falsely representing the work of others on the homework will not be allowed to turn in further homework. Your grade will be based exclusively on the tests with a penalty of 25% OR GREATER applied.
- We photocopy a random sampling of the exams in order to ensure that students do not modify their tests after they have been returned.
- Online solutions, etc.: A solutions manual exists for this text. Using it, or any solutions you may find on the internet elsewhere IS CHEATING and will be dealt with accordingly. We know what the solution manual solutions look like. Homework is a small fraction of your grade, so cheating on it is unproductive.