| Day | Lecture Topic | Lab Topic | Deadline | Patterson & Hennessey ARM 5th Readings |
| Week 1 Mon Aug 31 | Classes Begin | 1. Binary & C | ||
| Tue Sept 1 | 1. Introduction |
Sections
1.1 - 1.4, 1.7 |
||
| Wed Sept 2 | ||||
| Thu Sept 3 | 2. ISA and Binary |
Sections
2.2 - 2.6, 3.2, 3.3 |
||
| Fri Sept 4 | 1. Binary & C | |||
| Mon Sept 7 | No Lab (Labor Day) | |||
| Week 2 Tue Sept 8 | 3. LC2K |
Sections
2.2 - 2.5 |
||
| Wed Sept 9 | ||||
| Thu Sept 10 | 4. ARM |
Sections
2.2, 2.3, 2.5, 2.6 |
||
| Fri Sept 11 | 2. Project 1 - LC2K ISA | |||
| Mon Sept 14 | ||||
| Week 3 Tue Sept 15 | 5. Converting C to Assembly |
Sections 2.2, 2.3, 2.6, 2.7 |
||
| Wed Sept 16 | ||||
| Thu Sept 17 | 6. Function Calls in Assembly | P1a |
Sections 2.8, 2.13 |
|
| Fri Sept 18 | 3. ARM Assembly | |||
| Mon Sept 21 | ||||
| Week 4 Tue Sept 22 | 7. Linking & Floating Point |
Sections 2.12, 3.2, 3.3, 3.5 |
||
| Wed Sept 23 | ||||
| Thu Sept 24 | 8. Combinational Logic Design | P1s + P1m |
Sections A.1 - A.3, A.5, C.2 |
|
| Fri Sept 25 | 4. Project 2 - Functions & Linking | |||
| Mon Sept 28 | HW 1 | |||
| Week 5 Tue Sept 29 | 9. Sequential Logic Design |
Sections A.7 - A.9, A.11 |
||
| Wed Sept 30 | ||||
| Thu Oct 1 | 10. FSM & Single-Cycle Processor Design |
Sections A.10, C.3, 4.1 - 4.4 |
||
| Fri Oct 2 | 5. Digital Logic | |||
| Mon Oct 5 | ||||
| Week 6 Tue Oct 6 | 11. Multi-Cycle Processor Design |
Sections 4.1 - 4.4 |
||
| Wed Oct 7 | ||||
| Thu Oct 8 | 12. Pipelined Processors | P2a |
Sections 4.5 - 4.6 |
|
| Fri Oct 9 | 6. Single- & Multi-Cycle Datapaths | |||
| Mon Oct 12 | HW 2 | |||
| Week 7 Tue Oct 13 | Midterm Review | |||
| Wed Oct 14 | ||||
| Thu Oct 15 | Midterm Exam 7-9 PM | |||
| Fri Oct 16 | No Lab (Fall Break) | |||
| Mon Oct 19 | ||||
| Week 8 Tue Oct 20 | No Lecture (Fall Break) | |||
| Wed Oct 21 | ||||
| Thu Oct 22 | 13. Data Hazards |
Section 4.7 |
||
| Fri Oct 23 | 7. Advanced Assembly | |||
| Mon Oct 26 | ||||
| Week 9 Tue Oct 27 | 14. Data Hazards II |
Section 4.7 |
||
| Wed Oct 28 | ||||
| Thu Oct 29 | 15. Control Hazards & Branch Prediction | P2l, P2r |
Sections 4.8, 4.9 |
|
| Fri Oct 30 | 8. Project 3 - Pipelining | |||
| Mon Nov 2 | ||||
| Week 10 Tue Nov 3 | Bonus Lecture | |||
| Wed Nov 4 | ||||
| Thu Nov 5 | 16. Introduction to Caches |
Sections 5.1 - 5.3 |
||
| Fri Nov 6 | 9. Datapath Performance | |||
| Mon Nov 9 | ||||
| Week 11 Tue Nov 10 | 17. Cache Blocks and Write Policies |
Section 5.3 |
||
| Wed Nov 11 | ||||
| Thu Nov 12 | 18. Direct-Mapped Caches | P3 Checkpoint | ||
| Fri Nov 13 | No Lab | |||
| Mon Nov 16 | ||||
| Week 12 Tue Nov 17 | 19. Set-Associative Caches |
Sections 5.4, 5.8 |
||
| Wed Nov 18 | ||||
| Thu Nov 19 | 20. Virtual Memory | P3 |
Section 5.7 |
|
| Fri Nov 20 | 10. Project 4 - Caches | |||
| Mon Nov 23 | HW 3 | |||
| Week 13 Tue Nov 24 | 21. Multi-Level Page Tables |
Section 5.7 |
||
| Wed Nov 25 | ||||
| Thu Nov 26 | No Lecture (Thanksgiving Break) | |||
| Fri Nov 27 | No Lab (Thanksgiving Break) | |||
| Mon Nov 30 | ||||
| Week 14 Tue Dec 1 | 22. Speeding up Virtual Memory |
Section 5.7 |
||
| Wed Dec 2 | ||||
| Thu Dec 3 | 23. Virtual Memory Wrap-Up |
Section 5.7 |
||
| Fri Dec 4 | 11. Cache-Aware Programming | |||
| Mon Dec 7 | ||||
| Week 15 Tue Dec 8 | Final Review | |||
| Wed Dec 9 | ||||
| Thu Dec 10 | No Lecture | P4 | ||
| Fri Dec 11 | 12. Cache and Virtual Memory Performance | |||
| Mon Dec 14 | HW 4 | |||
| Week 16 Tue Dec 15 | ||||
| Wed Dec 16 | Final Exam 10:30 AM - 12:30 PM |