The goal of this course is to provide foundational knowledge of Computer Archiecture with a particular emphasis on its influence on design of efficient programs. Topics include:
Following completion of the course, students should be able to:
There will be two 75-minute lectures per week, which constitutes 100% of the course lecture delivery. There will be no separate labs. For APOGEE students and offline study, class lecturing will be broadcasted, and video will be recorded and published online after each class. Please check Course Broadcasting using Adobe Connect page for details.
There are two exams and five assignments. The two exams are close books/notes. The contribution of each to your final grades are shown below. Questions with bonus points may be given.
Letter | Percentage |
---|---|
A | 90-100 |
B+ | 86-90 |
B | 80-86 |
C+ | 76-80 |
C | 70-76 |
D+ | 66-70 |
D | 60-66 |
F | 0-60 |
The uses of the materials (source code, slides, documents and videos) of this course are for educational purposes only and should be used only in conjunction with the textbook. Derivatives of the materials must acknowledge the copyright notices of this and the originals. Permission for commercial purposes should be obtained from the original copyright holder and the successive copyright holders including myself. Please check the link for all the copyright holders.
Week | Date | Week day | Class | Topics, Lecture Notes and Videos | Reading (CAQA) | Optional Reading (COD) | Study Topics and Exercise | Resources | Assignments |
---|---|---|---|---|---|---|---|---|---|
1 | 8/23/2018 | Thursday | |||||||
2 | 8/27/2018 | Monday | 1 | Syllabus, Introduction | 1.1 - 1.3 | 1.2 | sum | Linux and C | |
8/29/2018 | Wednesday | 2 | Technology Trends and Quantitative Analysis for Performance, Video | 1.3 - 1.5, 1.9 | 1.6, 1.7 | Performance Counters and PAPI Programming | Assignment 1(Steps for PAPI Installation and Use) | ||
3 | 9/3/2018 | Monday | |||||||
9/5/2018 | Wednesday | 3 | Instruction Set Principles, part 1, Video | Appendix A | Chapter 2 | ||||
4 | 9/10/2018 | Monday | 4 | Instruction Set Principles, part 2, Video | Appendix A, RISC-V ISA Spec v2.1 | Appendix L and K from CAQA | |||
9/12/2018 | Wednesday | ||||||||
5 | 9/17/2018 | Monday | 5 | RISC-V ISA, Pipeline and Hazards, Video | RISC-V ISA Spec v2.1, Appendix C | Chapter 4 | |||
9/19/2018 | Wednesday | 6 | Pipeline and Hazards, Video | Appendix C | Chapter 4 | Assignment 2, Excel Sheet for Assignment 2. Assignment 1 due | |||
6 | 9/24/2018 | Monday | 7 | Pipeline and Hazards, RISC-V Single-Cycle Implementation, Video | Appendix C, RISC-V Sodor 1 stage impl | Chapter 4 | RISC-V and Chisel | ||
9/26/2018 | Wednesday | 8 | RISC-V Single-Cycle Implementation, Video | Appendix C, Chapter 3, RISC-V Sodor 2,3,4,5 stage impl | Chapter 4 | RISC-V and Chisel | |||
7 | 10/1/2018 | Monday | 9 | RISC-V Pipeline Implementation, Video | |||||
10/3/2018 | Wednesday | 10 | Memory Hierarchy - Technology and Locality, Video | 2.1 and 2.2 | 5.1 and 5.2 | ||||
8 | 10/8/2018 | Monday | 11 | Memory Hierarchy - Cache Organization and Performance, Video | B.1 and B.2 | 5.2 and 5.3 | Assignment 3, Excel Sheet for Assignment 3, mm.c, Matrix Multiplication. Assignment 2 due | ||
10/10/2018 | Wednesday | 12 | Memory Hierarchy - Cache Optimizations, part 1, Video | B.3 and 2.3 | 5.4 | ||||
9 | 10/15/2018 | Monday | 13 | Midterm, Study Topics | Midterm in 2016 | ||||
10/17/2018 | Wednesday | 14 | Memory Hierarchy - Cache Optimizations, part 2, Video | ||||||
10 | 10/22/2018 | Monday | 15 | ILP - 5-stage Pipeline Extension, ILP Intro, Compiler Techniques, and Branch Prediction, Video | C5, C6, 3.1, 3.2, 3.3 | ||||
10/24/2018 | Wednesday | 16 | ILP - Dynamic Scheduling (OOO), Video | 3.4, 3.5 | 4.1 | ||||
11 | 10/29/2018 | Monday | 17 | ILP - Hardware Speculation and Static Superscalar/VLIW, Video | 3.6, 3.7 | ||||
10/31/2018 | Wednesday | 18 | ILP - Dynamic Superscalar, Advanced Techniques, ARM Cortex-A53, and Intel Core i7, Video | 3.8, 3.9, 3.12 | Assignment 4, Assignment 3 due | ||||
12 | 11/5/2018 | Monday | 19 | ILP - SMT, Video | 3.11 | ||||
11/7/2018 | Wednesday | 20 | DLP - Introduction and Vector Architecture, Video | 4.1, 4.2 | |||||
11/9/2018 | Friday | 21 | DLP - SIMD Extension, DLP - GPU, Video 1, Video 2 | 4.3, 4.4 | |||||
13 | 11/12/2018 | Monday | Class rescheduled to 11/09, 9:00AM | ||||||
11/14/2018 | Wednesday | 22 | (webconnect) DLP - GPU and Loop-Level Parallelism, Video | 4.4, 4.5 | |||||
14 | 11/19/2018 | Monday | 23 | TLP - Shared Memory and Snoopy Cache Coherence, Video | 5.1, 5.2, 5.3 | Assignment 5, Assignment 4 due | |||
11/21/2018 | Wednesday | ||||||||
15 | 11/26/2018 | Monday | 24 | TLP - Snooping Cache Coherence and False Sharing, Video | 5.4 | ||||
11/28/2018 | Wednesday | 25 | TLP - Distributed Shared Memory and Directory-based Coherence, Video | 5.5, 5.6 | Bonus Questions (15 points total), Due 12/16 Sunday cutoff, no any extension. | ||||
16 | 12/3/2018 | Monday | 26 | TLP - Synchronization, Chapter 7 - Domain Specific Architectures, Video | 6 | ||||
12/5/2018 | Wednesday | 27 | Last class, Chapter 7 - Domain Specific Architectures and Review, Video | ||||||
12/7/2018 | Friday | Last day of classes for the semester | Assignment 5 due | ||||||
17 | 12/12/2018 | Wednesday | Final exam 9:00AM - 11:30AM, Study Topics | Final in 2016 | |||||
12/16 | Sunday | Bonus Question Due |
The homework and project exercises are chiefly for your own benefit. You may collaborate and consult outside sources freely when doing the homework, but you must tell me who you are collaborating with. Please remember, however, that the best way to master the material is to try the exercises on your own, then submit your own work to get feedback on it. (You will get credit even if you do not solve the problem, as long as you make an honest effort.)
Each assignment has a due date and a cutoff date. Assignment due 11:55PM on the date, cut-off date is 72 hours after the due date/time. You have a total of 5 "slip days" throughout the semester that you can use at your discretion to turn in assignments past the posted due date. Slip days are used in whole day increments. Once your slip days are consumed, late assignments will be penalized at 50% per day. Assignment submission will not be accepted after the cutoff date.
Reading and lectures: The students are expected to read all assigned material before the lecture begins and review the material after the lecture.
There is no required attendance policy, but if for some reason you cannot attend class, you are responsible for any material covered during your absence. Late arrivals must enter the classroom quietly and discreetly.
Exams are given in class and are close-book/close-notes. No make-up exams will be given except under extreme circumstances (such as severe illness or death in the immediate family) in which case you must give me notice well before the exam if at all possible.
Examination work and assignment are expected to be the sole effort of the student submitting the work. If a student collaborates with anyone on the homework (whether or not a student), all collaborators must be listed at the top of the first page. Students are expected to follow the Code of Student Academic Responsibility. Every instance of a suspected violation will be reported. Students found guilty of violations of the Code will receive the grade of F for the course in addition to whatever disciplinary sanctions are applied by the University.
Students are expected to be aware of the university policy on use of computing resources, including the Student Guidelines for Responsible Computing, as well as the college and departmental policies on proper use of computing resources. Every instance of a suspected violation will be reported.
Any student with a documented disability should contact the Office of Student Disability Services at 803-777-6142 to make arrangements for appropriate accommodations.