This schedule is tentative more than two weeks in advance.

Readings are sections of the textbook (Computer Systems: A Programmer's Perspective, 3rd Edition) unless otherwise noted.

DateTopicAssignment
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
    • wires
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

 [ 
slides (more than one day of slides)
| 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

 [ 
slides (more than one day of slides)
| screencapture ( browser: am pm; download mp4: am pm) | audio only (am pm)
 ]
Reading:

6.5

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

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

 [ 
slides (more than one day of slides)
| 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
    • allocate-on-demand
  • 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