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
     Thur. Jan. 18 Introduction Chapter 1 Get an account and set it up;
Data Representation
     Tues. Jan. 23 Binary and Integers Chapter 2 A1: datalab (bit twiddling) out;
Main assignment due in 10 days;
     Thur. Jan. 25 Integers A1 trivia due midnight tomorrow;
     Tues. Jan. 30 Floating Point
Assembly-level Programs
     Thur. Feb. 1 Overview, Data Movement Instructions Chapter 3 A1 due midnight tomorrow;
A2: the binary bomb out;
Main assignment due in 15 days;
     Tues. Feb. 6 Addressing Mode, Compute Instructions, Control Instructions A2 trivia due, noon;
     Thur. Feb. 8 Control Instructions
     Tues. Feb. 13 Control Instructions, Subroutines
     Thur. Feb. 15 Data Structures, Buffer Overflow A2 due midnight tomorrow;
A3: the buffer bomb out;
Main assignment due in 15 days;
Processor Architecture
     Tues. Feb. 20 Circuits Chapter 4 intro; “asides” on RISC/CISC; Section 4.2 A3 trivia due, noon;
     Thur. Feb. 22 Instruction Encoding, Single-Cycle Implementation Figures 4.22 and 4.23;
Section 4.3
     Tues. Feb. 27 Pipelining Figures 4.40, 4.41, 4.52;
Sections 4.4, 4.5.4–4.5.9
     Thurs. Mar. 1 Modern Processors Sections 4.5.13, 4.6, 5.7 A3 due midnight tomorrow;
Optimizing Performance
     Tues. Mar. 6 Performance Metric
Compiler Optimizations
(Rest of) Chapter 5
     Thur. Mar. 8 Midterm Exam
     Mar. 13 & 15 UR Spring Break
The Storage Hierarchy
     Tues. Mar. 20 Storage Technology Chapter 6 A4: tuning performance out;
Main assignment due in 15 days;
     Thur. Mar. 22 Caching A4 trivia due, noon;
     Tues. Mar. 27 Memory-oriented Performance Tuning
Exceptional Control Flow
     Thur. Mar. 29 Interrupts and Exceptions Chapter 8
     Tues. Apr. 3 Processes and Signals A4 due midnight yesterday;
A5: Unix shell out;
Main assignment due in 13 days;
     Thur. Apr. 5 Non-local Jumps, Linking
Skim Chapter 7 A5 trivia due, noon;
Virtual Memory
     Tues. Apr. 10 Address Translation Chapter 9
     Thur. Apr. 12 Pentium/Linux Case Study
     Tues. Apr. 17 Storage Management A5 due midnight yesterday;
A6: memory allocation out;
Main assignment due in 14 days;
I/O and Networks
     Thur. Apr. 19 Introduction to I/O and Network Programming Chapters 10 and 11 (skim all; read 10.1–10.3, 10.8–10.9, and 11.3–11.4 carefully) A6 trivia due, noon;
     Tues. Apr. 24 Threads, Semaphores, and Cache Coherence Chapter 12 (skim all;  read 12.3–12.6 carefully)
     Thur. Apr. 26 The Future of Computing A6 due midnight Apr. 30;
     Tue. May 8 Final Exam 19:15, WH 1400