Week |
Date |
Topic |
Readings |
notes |
Tentative Due Dates |
1
|
Jan 20 - Jan 24
|
Course Policies and Overview Course Tools and Introduction |
P&H: 1.1 - 1.3 |
||
Digital Logic: Boolean Algebra, Gates, and Adders |
|
||||
2
|
Jan 27 - Jan 31 | Digital Logic: Plexors and Shifters | pptx pdf |
|
|
MIPS32 Overview | P&H: 2.1 - 2.2 | pptx pdf | |||
3
|
Feb 3 - Feb 7 | MIPS32 Assembly Language Overview | P&H: 2.3, 2.6, 2.7 | pptx pdf | Feb 7: DL01 |
MIPS32 Machine Language Overview MIPS32 Datapath Elements Overview |
P&H: 2.5, 2.13 P&H: 4.1 - 4.2 |
||||
4 |
Feb 10 - Feb 14 |
MIPS32 Designing the Single-cycle Datapath |
pptx pdf |
Feb 14: C01 BST Project |
|
5
|
Feb 17 - Feb 21 | Performance: Definitions and Examples |
|
||
6
|
Feb 24 - Feb 28 |
MIPS32 Intro to Pipelining |
P&H: 4.5 |
Feb 26: MIPS1 SCD |
|
7
|
Mar 2 - Mar 6 | Attack Lab / Heap Spraying Overview | see Assignments |
Mar 2: MIPS2 Performance |
|
Midterm Test | |||||
Spring Break |
|||||
9
|
Mar 23 - Mar 27 | MIPS32 Pipeline Hazards | P&H: 4.6-4.7 | pptx pdf |
Mar 27: C02 ASM Parser |
MIPS32 Synchronizing the Stages | pptx pdf | ||||
10
|
Mar 31 - Apr 3 | MIPS32: Pipeline Forwarding | pptx pdf |
Apr 3: Attack Lab I/II |
|
MIPS32 Pipeline Stalls |
P&H: 4.8 |
||||
11
|
Apr 6 - Apr 10 |
MIPS32 Pipeline Handling Branches |
P&H: 4.8 | ||
Memory Hierarchy |
P&H: 5.1 csapp: 6.1, 6.3 |
pptx pdf | |||
12
|
Apr 13 - Apr 17 | Cache Memory part I |
P&H: 5.3 csapp: 6.4 |
pptx
pdf
|
Apr 13: MIPS3 Pipeline
Apr 17: C03 Milestone 1 |
Cache Memory part II |
P&H: 5.4 csapp: 6.2 |
||||
13
|
Apr 20 - Apr 24 |
Coding for Cache Performance |
P&H: 5.5 csapp: 6.5 |
Apr 24: C03 Milestone 2 |
|
Optimization | pptx pdf | ||||
14
|
Apr 27 - May 1 | Virtual Memory: Principles | P&H: 5.7 | pptx pdf |
May 1: MIPS4 Cache May 1: Assembler |
Virtual Memory: Hardware and Performance | |||||
15 |
May 4 - May 6 | Review | |||
|
May 8 | 16:25 - 18:25 (means of delivery TBD) |
Course notes are subject to updating at any time prior to the delivery of the corresponding lecture, so be sure to check here for the latest version.
* denotes a resource available in the Safari database via the VT Library System