Readings are sections of the textbook (Computer Systems: A Programmer's Perspective, 3rd Edition) unless otherwise noted.
Week 1 |
Tue 24 Aug |
Course Introduction [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 1, 2.1.3
- Semester preview: Layers of abstraction
- Processor + Memory Fetch Loop
- Endianness
- (start) AT&T syntax assembly
| |
Wed 25 Aug |
Lab: getting C+Unix-like environment
Work on getting a working C environment on your own.
The lab will not be staffed.
| |
Thu 26 Aug |
Assembly 1 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: (should be mostly review except for parts of 3.4 about syntax and parts of 3.6 about condition codes) 3.4-3.6.3, 3.6.5, 3.6.7, 3.7.2-3; or use assembly handout written by our textbook authors
- AT&T syntax assembly
- LEA
- labels
| Quiz 1 (quiz for week 1) released, due 2021-08-31 09:15
|
Week 2 |
Tue 31 Aug |
Assembly 2 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 3.6.3, 3.6.8
- (briefly) X86-64 calling convention
- If and loops to assembly
- X86 condition codes
- cmpq versus subq
testq %rax, %rax
- SF, ZF
- (briefly) Jump Tables
| Quiz 1 (quiz for week 1) due 09:15 (released 2021-08-26)
|
Wed 01 Sep |
Lab: bomb lab
| Lab due by end of day |
Thu 02 Sep |
Compilation Pipeline / selected C topics [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 7-7.3
Due to technical difficulties the 5pm lecture video is incomplete: the screencapture for the first 27 minutes was not recorded, I’ve replaced it with a static shot of the slides that were being displayed, but without the pointer/drawings on those slides.
- Program Memory Layout (Stack, Heap, etc.)
- Compilation steps and object files
- (briefly) C types
- pointer arithmetic and arrays
- Aside on undefined behavior
| Quiz 2 (quiz for week 2) released, due 2021-09-07 09:15
|
Week 3 |
Tue 07 Sep |
Bitwise [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 2.1.6-2.1.9
- Bit shifting
- Bitwise and/or/xor
- Idea of bit masks
- Bit puzzle strategies (start)
- Divide-and-conquer example:
?:
| Quiz 2 (quiz for week 2) due 09:15 (released 2021-09-02)
|
Wed 08 Sep |
Lab: bit-fiddling lab
| bomb HW due by 9:30am Lab due by end of day |
Thu 09 Sep |
Bitwise (finish) / ISAs [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 4.1-4.1.3, RISC v CISC aside (p 361)
- Bit puzzle strategies (con’t)
- Parallelism example: any-bit-set with
&
- ISAs
- RISC v CISC
| Quiz 3 (quiz for week 3) released, due 2021-09-14 09:15
|
Week 4 |
Tue 14 Sep |
Y86 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 4.1-4.1.3, 4.1.5-6
- Y86-64
- using YAS
- Y86 encoding/decoding
- describing hardware and HCLRS
| Quiz 3 (quiz for week 3) due 09:15 (released 2021-09-09)
|
Wed 15 Sep |
Lab: linking+ISA lab
| bit-fiddling HW due by 9:30am Lab due by end of day |
Thu 16 Sep |
SEQ part 1 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 4.2-4.2.5
- describing hardware and HCLRS (con’t)
- wires
- registers
- memory, reading
- nop CPU
- MUXes
- nop+halt CPU (start)
- extracting parts of instructions
| Quiz 4 (quiz for week 4) released, due 2021-09-21 09:15
|
Week 5 |
Tue 21 Sep |
SEQ part 2 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 4.2-4.2.5, 4.3.1-4.3.4
- nop+halt CPU (con’t)
- extracting parts of instructions (reprise)
- interlude: using HCLRS
- interlude: HCLRS versus the book
- addq CPU
- ALUs
- memory, writing
- mov to register CPU
| Quiz 4 (quiz for week 4) due 09:15 (released 2021-09-16)
|
Wed 22 Sep |
Lab: HCL1 (pc)
| linking+ISA HW due by 9:30am Lab due by end of day |
Thu 23 Sep |
SEQ part 3 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 4.2-4.2.5, 4.3.1-4.3.4
- mov CPU, complete
- SEQ “stages”
| Quiz 5 (quiz for week 5) released, due 2021-09-28 09:15
|
Week 6 |
Tue 28 Sep |
SEQ part 4 / Pipelining 0 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
- SEQ stages walkthrough (finish)
-
setting MUXes
- pipelining idea
- latency and throughput and pipelining
| Quiz 5 (quiz for week 5) due 09:15 (released 2021-09-23)
|
Wed 29 Sep |
Lab: HCL3 (seqlab)
| HCL2 (irmovq + rrmovq + jmp) due by 9:30am Lab due by end of day |
Thu 30 Sep |
Pipelining 1 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 4.4-4.5.3
- latency and throughput and pipelining (review)
- adding pipelines to circuits
- register tolerances and diminishing pipelining returns
- pipelined addq
- pipelining SEQ
| Quiz 6 (quiz for week 6) released, due 2021-10-05 09:15
|
Week 7 |
Tue 05 Oct |
Pipelining 2 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 4.5-4.5.7, 4.5.9
- data hazards
- stalling
- forwarding
| Quiz 6 (quiz for week 6) due 09:15 (released 2021-09-30)
|
Wed 06 Oct |
Lab: HCL5 (pipelab1)
| HCL4 (seqhw) due by 9:30am Lab due by end of day |
Thu 07 Oct |
Pipelining 3 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 4.5-4.5.7, 4.5.9
- forwarding paths exercise
- alternate pipelines?
- basic branch prediction and squashing
- implementing stalling and squashing (start)
| Quiz 7 (quiz for week 7) released, due 2021-10-14 09:15
|
Week 8 |
Tue 12 Oct |
Reading Day
(no class) | |
Wed 13 Oct |
| |
Thu 14 Oct |
Pipelining 4 / Cache 0 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 6.2-3
- implementing stalling and squashing
- missing pieces in pipelining
- place of cache
| Quiz 08 (quiz for week 8) released, due 2021-10-19 09:15 Quiz 7 (quiz for week 7) due 09:15 (released 2021-10-07)
|
Week 9 |
Tue 19 Oct |
Cache 1 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 6.4-6.4.4
- direct-mapped caches
- set-associative caches (start)
| Quiz 08 (quiz for week 8) due 09:15 (released 2021-10-14)
|
Wed 20 Oct |
Lab: HCL7 (pipelab2)
| HCL6 (pipehw1) due by 9:30am Lab due by end of day |
Thu 21 Oct |
Cache 2 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 6.4.3-6.4.7
- set-associative caches (finish)
- replacement policies
- classifying misses: conflict / capacity / compulsory
- cache write policies
| Quiz 09 (quiz for week 9) released, due 2021-10-26 09:15
|
Week 10 |
Tue 26 Oct |
Cache performance 1 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 6.5
- AMAT
- cache tradeoffs
- cache misses and C code (start)
| Quiz 09 (quiz for week 9) due 09:15 (released 2021-10-21)
|
Wed 27 Oct |
Lab: CacheLab
| HCL8 (pipehw2) due by 9:30am Lab due by end of day |
Thu 28 Oct |
Cache performance 2 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 6.5
- cache misses and C code (finish)
- loop orders
- cache blocking (start)
| Quiz 10 (quiz for week 10) released, due 2021-11-02 09:15
|
Week 11 |
Tue 02 Nov |
Cache performance 3 / Optimization and Out-of-order 1 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 6.5, 5.4, 5.7
- cache blocking (finish)
- loop unrolling
- out-of-order processor model (start)
| Quiz 10 (quiz for week 10) due 09:15 (released 2021-10-28)
|
Wed 03 Nov |
Lab: cache programs (lab)
| pipeline tradeoff simulator due by 9:30am Lab due by end of day |
Thu 04 Nov |
Optimization and Out-of-order 2 [
(tentative) slides: see 02 Nov |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 5
- out-of-order processor model (finish)
- register renaming
- instruction dispatch
- reassociation
- multiple accumulators
- data flow model
| Quiz 11 (quiz for week 11) released, due 2021-11-09 09:15
|
Week 12 |
Tue 09 Nov |
Optimizations 3 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
- data flow model (con’t)
- aliasing
- inlining
| Quiz 11 (quiz for week 11) due 09:15 (released 2021-11-04)
|
Wed 10 Nov |
Lab: LoopLab
| cache programs (hw) due by 9:30am Lab due by end of day |
Thu 11 Nov |
Optimizations 4 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
- misc optimizations
- SIMD / vector instructions
| Quiz 12 (quiz for week 12) released, due 2021-11-16 09:15
|
Week 13 |
Tue 16 Nov |
Optimizations 5 / Exceptions 1 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 8.1-8.2
-
profilers (briefly)
- processes and context switching
- types of exceptions
- process idea
- exception tables
| Quiz 12 (quiz for week 12) due 09:15 (released 2021-11-11)
|
Wed 17 Nov |
Lab: SIMDLab
| Rotate due by 9:30am Smooth checkpoint (no SIMD) due by 9:30am Lab due by end of day |
Thu 18 Nov |
Exceptions 2 / Virtual memory 1 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
Reading: 9.1-2, 9.3.2
-
kernel mode
-
“toy” page table
| Quiz 13 (quiz for week 13) released, due 2021-11-23 09:15
|
Week 14 |
Tue 23 Nov |
Virtual memory 2 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
- address space sizes and splitting addresses
- storing page tables in memory
| Quiz 14 (quiz for week 14) released, due 2021-11-30 09:15 Quiz 13 (quiz for week 13) due 09:15 (released 2021-11-18)
|
Wed 24 Nov |
No lab
(no class) | |
Thu 25 Nov |
No class
(no class) | |
Week 15 |
Tue 30 Nov |
Virtual memory 3 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
- page table tricks
- multi-level page tables
- multi-level page table access exercises (start)
| Quiz 14 (quiz for week 14) due 09:15 (released 2021-11-23)
|
Wed 01 Dec |
Lab: work on memory HW (no lab)
| Smooth due by 9:30am
|
Thu 02 Dec |
Virtual memory 4 [ |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
]
- multi-level page table access exercises (con’t)
- TLBs
| Quiz 15 (quiz for week 15) released, due 2021-12-07 09:15
|
Week 16 |
Tue 07 Dec |
Final review |
screencapture (
browser:
am pm;
download mp4: am pm) |
audio only ( am pm)
| Quiz 15 (quiz for week 15) due 09:15 (released 2021-12-02) Memory due by 11:59pm |
Fri 10 Dec |
final exam
7PM (both sections); Maury 209 & 104 & 115
conflict form
| |