Lectures
- Lecture 1 (Sept 9) - Introduction [pdf] [pptx]
- Lecture 2 (Sept 11) - Combinational Circuits
[pdf]
[pptx]
Textbook chapter 2: Combinational circuits
Continue on Sept 14 from slide 23.
- Lecture 3 (Sept 14) - Combinational Circuits 2
[pdf]
[pptx]
Textbook chapter 2: Combinational circuits
- Lecture 4 (Sept 16) - Sequential Circuits
[pdf]
[pptx]
Textbook chapter 3: Sequential (Stateful) Circuits and Modules
- Lecture 5 (Sept 18) - Sequential Circuits 2 [pdf] [pptx]
- Lecture 6 (Sept 21) - Pipelining Combinational Circuits
[pdf]
[pptx]
Textbook chapter 4: Pipelining Complex Combinational Circuits
- Lecture 7 (Sept 23) - Well Formed BSV Programs
[pdf]
[pptx]
(Slide 15 updated on Sept 28)
Textbook chapter 7.1 ~ 7.3
- Lecture 8 (Sept 28) - Multirule Systems and Concurrent Execution of Rules
[pdf]
[pptx]
Textbook chapter 7.4 ~ 7.6, and chapter 8
- Lecture 9 (Sept 30) - Guards [pdf] [pptx]
- Lecture 10 (Oct 5) - Non-pipelined Processors
[pdf]
[pptx]
We will continue on slide 17 on Oct 7.
- Lecture 11 (Oct 7) - Non-pipelined and Pipelined Processors [pdf] [pptx]
- Lecture 12 (Oct 13) - Control Hazards [pdf] [pptx]
- Lecture 13 (Oct 14) - Data Hazards in Pipelined Processors [pdf] [pptx]
- Lecture 14 (Oct 19) - Multistage Pipelines [pdf] [pptx]
- Lecture 15 (Oct 21) - Branch Prediction [pdf] [pptx]
- Lecture 16 (Oct 26) - Branch Prediction 2 [pdf] [pptx]
- Lecture 17 (Revised) - Caches [pdf] [pptx]
- Lecture 18 (Revised) - Caches 2 [pdf] [pptx]
- Lecture 19 (Revised) - Exceptions [pdf] [pptx]
- Lecture 20 (Revised) - Virtual Memory [pdf] [pptx]
- Lecture 21 (Revised) - Virtual Memory and Exception [pdf] [pptx]
- Lecture 22 (Revised) - Cache Coherence [pdf] [pptx]
- Lecture 23 (Not taught in class) - Cache Coherence: Nonblocking Cache
- Lecture 24 (Nov 23) - Sequential Consistency
[pdf]
[pptx]
See Resources page on the course website for reference materials of the instruction set.
Tutorials
- Tutorial 1 (Oct 2) - Bluespec [pdf] [pptx] [compiler schedule info example code]
- Tutorial 2 (Oct 9) - Advanced Bluespec [pdf] [pptx]
- Tutorial 3 (Oct 16) - RISC-V Processor [pdf] [pptx]
- Tutorial 4 (Oct 23) - Debug [pdf] [pptx]
- Tutorial 5 (Oct 30) - Epochs and Branch Predictors [pdf] [pptx]
- Tutorial 6 (Nov 6) - Cache and Exception [pdf] [pptx]
- Tutorial 7 (Nov 20) - Project Overview [pdf] [pptx]
- Tutorial 8 (Nov 25) - Project Part 2: Coherence [pdf] [pptx]