Schedule (Tentative)

The following is my best guess as to the schedule for this term. Slide decks will be available shortly after each lecture.

Date Topics Reading Assignments
Overview
     Thur. Jan. 16 Introduction Chapter 1 Get an account and set it up;
Data Representation
     Tues. Jan. 21 Binary and Integers Chapter 2 A1: datalab (bit twiddling) out;
     Thur. Jan. 23 Integers
     Tues. Jan. 28 Floating Point
Assembly-level Programs
     Thur. Jan. 30 Overview Chapter 3 A1 due midnight tomorrow;
A2: the binary bomb out;
     Tues. Feb. 4 Data Movement, Compute, and Control Instructions
     Thur. Feb. 6 Control Instructions
     Tues. Feb. 11 Functions
     Thur. Feb. 13 Data Structures, Buffer Overflow A2 due midnight tomorrow;
A3: the buffer bomb out;
Processor Architecture
     Tues. Feb. 18 ISA, Instruction Encoding Chapter 4 intro; “asides” on RISC/CISC; Section 4.2
     Thur. Feb. 20 Circuits Skim Figures 4.22 and 4.23;
Section 4.3
     Tues. Feb. 25 Circuits, Single-cycle Implementation Skim Figures 4.40, 4.41, 4.52;
Sections 4.4, 4.5
     Thurs. Feb. 27 Single-Cycle Implementation, Pipelining Sections 4.5.13, 4.6, 5.7 A3 due midnight tomorrow;
     Tues. Mar. 3 (Advanced) Pipelining
     Thur. Mar. 5 Midterm Exam
     Mar. 10 & 12 UR Spring Break
     Tues. Mar. 17 Advanced Pipelining, Code Optimizations Chapter 5 A4: tuning performance out;
The Storage Hierarchy
     Thur. Mar. 19 Code Optimizations (left-over), Memory Hierarchy Chapter 5; Chapter 6.1.1 and 6.1.4; skim 6.1.2 and 6.1.3;
     Tues. Mar. 24 Caching Chapter 6.2, 6.3; study 6.4 carefully
     Thur. Mar. 26 Cache-oriented Performance Tuning Chapter 6.5, 6.6
Exceptional Control Flow
     Tues. Mar. 31 Interrupts, Exceptions, and Processes Chapter 8.1, 8.2, 8.3 A4 due midnight yesterday;
A5: Unix shell out;
     Thur. Apr. 2 Processes
Chapter 8.4
     Tues. Apr. 7 Processes, Signals
Chapter 8.5
Virtual Memory
     Thur. Apr. 9 Address Translation Chapter 9.1 ~ 9.6
     Tues. Apr. 14 Advanced Address Translation, Core i7/Linux Case Study Chapter 9.6, 9.7 A5 due midnight yesterday;
A6: memory allocation out;
     Thur. Apr. 16 Memory Management Chapter 9.8, 9.9
     Tues. Apr. 21 Advanced Memory Management Chapters 9.8, 9.9, 9.10
Concurrency
     Thur. Apr. 23 Threads, Semaphores, and Hardware Support Chapter 12 (skim all)
     Tues. Apr. 28 Victory Lap A6 due midnight May 2;
     Wed. May 6 Final Exam 19:15, WH 1400