We will use Piazza as our class forum, and our primary mode of communication outside of class. All general inquiries must be made on Piazza. For group-specific questions or private questions, you can either email me or post a private question on Piazza.
Instructors:The grading breakdown for this course is:
There will be 5 homework assignments (due roughly every two weeks). Each homework assignment will involve 5-6 exercise problems from the textbook. Links to assignments:
Date | Topic | Assignment | Lab/Discussion |
---|---|---|---|
Jan 13 | Introduction, Motivation, and Course Logistics Background Preparation: Appendix A Reading: Chapter 1.3 |
- | - |
Jan 15 | Instruction Set Architecture Reading: Chapters 2.2, 2.3, 2.5 |
HW1 out | Discussion: ISA |
Jan 20 | Martin Luther King Jr. Day | - | - |
Jan 22 | Memory Organization and Control Flow Reading: Chapters 2.6, 2.7, 2.8 |
- | Discussion: ISA |
Jan 27 | Quantitative Analysis in Computer Architecture Reading: Chapters 1.6 and 1.10 |
- | - |
Jan 29 | Design of the MIPS Arithmetic and Logic Unit Reading: Appendix B.2, B.3, and B.5 |
- | Discussion: Performance/Digital Logic |
Feb 3 | Design of the Control Unit and Register File Reading: Appendix B.7, B.8, and Chapter 4.3 |
HW1 due, HW2 out | - |
Feb 5 | The MIPS Single Cycle Processor Architecture Reading: Chapter 4.3 and 4.4 |
Project-1 out | Discussion: Sequential Logic Lab: Introduction to Project-1 |
Feb 10 | Pipelining Fundamentals Reading: Chapter 4.5 |
- | - |
Feb 12 | Pipelined Datapath and Control Reading: Chapter 4.6 |
- | Discussion: Single-Cycle Processor |
Feb 17 | Pipelining: Hazard Detection and Forwarding Reading: Chapter 4.7 | HW2 due, HW3 out | - |
Feb 19 | Midterm Exam-1 Review | - | Discussion: TA Midterm Review |
Feb 24 | Midterm Exam-1 [Solutions] | - | - |
Feb 26 | Pipelining: Control Hazards Reading: Chapter 4.8 | - | Discussion: Pipelining |
Mar 2 | Branch Prediction Reading: Chapter 4.8 | - | - |
Mar 4 | Speculative Execution and Superscalar Processors Reading: Chapter 4.10 |
HW3 due, HW4 out | Discussion: Branch Prediction |
Mar 9 | Spring Break | - | - |
Mar 11 | Spring Break | - | - |
Mar 16 | Classes Canceled University-Wide due to COVID-19 | - | - |
Mar 18 | Classes Canceled University-Wide due to COVID-19 | - | - |
Mar 23 | Superscalars and Static Scheduling Reading: Chapter 4.10 |
- | - |
Mar 25 | Dynamic Scheduling and Evolution of the Modern Microprocessor Reading: Chapter 4.11 |
- | Discussion: OOO Processors |
Mar 30 | Introduction to the Memory Hierarchy: Cache Fundamentals Reading: Chapter 5.1 and 5.2 |
HW4 due | - |
Apr 1 | Midterm Exam-2 Review | - | Discussion: TA Midterm Review |
Apr 6 | Midterm Exam-2 [Solutions] | - | - |
Apr 8 | Cache Fundamentals Reading: Chapter 5.3 |
Project-1 due | TA Interview: Project-1 Discussion: Cache Organization |
Apr 13 | Cache Organization and Design Reading: Chapter 5.4 |
- | - |
Apr 15 | Cache Management and Policies Reading: Chapter 5.8 |
- | Discussion: Cache Management |
Apr 20 | Primer on Cache Side-Channel Attacks Reading: Chapters 8.1-8.5 from Principles of Secure Processor Architecture Design |
Project-2, HW5 out (due May 4) | - |
Apr 22 | Cache Optimizations Reading: Chapter 5.14 |
- | Discussion: Cache Side-Channel Attacks Lab: Introduction to Project-2 |
Apr 27 | Virtual Memory Reading: Chapter 5.7 |
- | - |
I trust every student in this course to fully abide by the University's Honor Code and pledge to not commit academic fraud. You are allowed to discuss, collaborate, and brainstorm both within and outside your group. However, you're not allowed to plagiarize solutions/text from another student's assignment or from the internet. Cheating will be taken seriously and will be reported to the honor committee. All suspected honor violations will receive an immediate zero on that assignment regardless of any action taken by the Honor Committee.