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.
Zoom meeting links for lecture, office hours, and discussions are posted here.
Zoom recordings for lectures and discussions are posted here.Instructor:
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 |
---|---|---|---|
Feb 1 | Introduction, Motivation, and Course Logistics Background Preparation: Appendix A Reading: Chapter 1.3 |
- | - |
Feb 3 | Instruction Set Architecture Reading: Chapters 2.2, 2.3, 2.5 |
HW1 out | Discussion: ISA |
Feb 8 | Memory Organization and Control Flow Reading: Chapters 2.6, 2.7, 2.8 |
- | - |
Feb 10 | Quantitative Analysis in Computer Architecture Reading: Chapters 1.6 and 1.10 |
- | Discussion: Quantitative Analysis + Digital Logic |
Feb 15 | Design of the MIPS Arithmetic and Logic Unit Reading: Appendix B.2, B.3, and B.5 |
HW1 due, HW2 out | - |
Feb 17 | Break | - | - |
Feb 22 | Design of the Control Unit and Register File Reading: Appendix B.7, B.8, and Chapter 4.3 |
- | - |
Feb 24 | The MIPS Single Cycle Processor Architecture Reading: Chapters 4.3 and 4.4 |
Project-1 out | Discussion: Single Cycle Processor Lab: Introduction to Project-1 |
Mar 1 | Single Cycle Processor Review Reading: Chapter 4.4 |
HW2 due | - |
Mar 3 | Midterm Exam-1 Review | - | Discussion: TA Midterm Review |
Mar 8 | Midterm Exam-1 | - | - |
Mar 10 | Pipelined Datapath and Control Reading: Chapters 4.5 and 4.6 |
HW3 out | Discussion: Pipelining |
Mar 15 | Pipelining: Data Hazards Reading: Chapter 4.7 | - | - |
Mar 17 | Pipelining: Forwarding Reading: Chapter 4.7 | - | Discussion: Pipeline Diagrams |
Mar 22 | Pipelining: Control Hazards Reading: Chapter 4.8 | - | - |
Mar 24 | Branch Prediction Reading: Chapters 4.8 and 4.10 |
HW3 due, HW4 out | Discussion: Branch Prediction |
Mar 29 | Break | - | - |
Mar 31 | Superscalar Execution Reading: Chapter 4.10 |
- | Discussion: Midterm-2 TA Review-1 |
Apr 5 | Static and Dynamic Scheduling Reading: Chapters 4.10 and 4.11 |
- | - |
Apr 7 | Evolution of the Modern Microprocessor Reading: Chapter 4.11 |
HW4 due | Discussion: Midterm-2 TA Review-2 |
Apr 12 | Midterm Exam-2 Review | - | - |
Apr 14 | Midterm Exam-2 | - | Discussion: Midterm Solutions |
Apr 19 | Introduction to Memory Hierarchy: Cache Fundamentals Reading: Appendix B.9 and Chapter 5.3 |
Project-1 due | - |
Apr 21 | Cache Organization and Design Reading: Chapter 5.4 |
HW5 out | Discussion: Cache Organization |
Apr 26 | Cache Management and Policies Reading: Chapter 5.8 |
- | - |
Apr 28 | Cache Side Channel Attacks-1 Reading: Chapters 8.1-8.5 from Principles of Secure Processor Architecture Design |
Project-2 out (due May 12) | Discussion: Cache Side Channel Attacks Lab: Introduction to Project-2 |
May 3 | Cache Side Channel Attacks-2 Reading: Chapters 8.1-8.5 from Principles of Secure Processor Architecture Design |
- | - |
May 5 | Final Review |
HW5 due | Discussion: TA Final Review |
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 failing grade for the course regardless of any action taken by the Honor Committee.