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. 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 Skim Figures 4.22 and 4.23;
Section 4.3
     Tues. Feb. 27 Single-cycle, Pipelining Skim Figures 4.40, 4.41, 4.52;
Sections 4.4, 4.5
     Thurs. Mar. 1 Advanced Pipelining, Modern Processors Sections 4.5.13, 4.6, 5.7 A3 due midnight tomorrow;
Optimizing Performance
     Tues. Mar. 6 Performance Metric
Compiler Optimizations
Chapter 5
     Thur. Mar. 8 Midterm Exam
     Mar. 13 & 15 UR Spring Break
The Storage Hierarchy
     Tues. Mar. 20 Memory Technology and Hierarchy Chapter 6.1.1 and 6.1.4; skim 6.1.2 and 6.1.3 A4: tuning performance out;
Main assignment due in 15 days;
     Thur. Mar. 22 Caching Chapter 6.2, 6.3. Study 6.4 carefully A4 trivia due, noon; Cache Problem Set (no turn-in required)
     Tues. Mar. 27 Cache-oriented Performance Tuning Chapter 6.5, 6.6
Exceptional Control Flow
     Thur. Mar. 29 Interrupts, Exceptions, and Bus Chapter 8.1
     Tues. Apr. 3 Processes Chapter 8.2, 8.3 A4 due midnight yesterday;
A5: Unix shell out;
Main assignment due in 13 days;
     Thur. Apr. 5 Signals, Non-local Jumps
Chapter 8.4, 8.5 A5 trivia due, noon;
Virtual Memory
     Tues. Apr. 10 Address Translation Chapter 9.1 ~ 9.6
     Thur. Apr. 12 Advanced Address Translation, Core i7/Linux Case Study Chapter 9.6, 9.7
     Tues. Apr. 17 Memory Management Chapter 9.8, 9.9 A5 due midnight yesterday;
A6: memory allocation out;
Main assignment due in 14 days;
     Thur. Apr. 19 Advanced Memory Management Chapters 9.8, 9.9, 9.10 A6 trivia due, noon;
Concurrency
     Tues. Apr. 24 Threads, Semaphores Chapter 12 (skim all;  read 12.3, 12.4, and 12.5)
     Thur. Apr. 26 Deadlock, Parallelism, Hardware Support for Concurrency 12.5, 12.6, 12.7 A6 due midnight Apr. 30;
     Tues. May. 1 Recent Computing Trends, Victory Lap
     Tue. May 8 Final Exam 19:15, WH 1400