| Unit | Topics | Reading | Assignments | |
|---|---|---|---|---|
| Overview | ||||
| Thur. Jan. 14 | Introduction | Chapter 1 | Get an account and set it up | |
| Data representation | ||||
| Tues. Jan. 19 | Overview | Chapter 2 | A1: bit twiddling | |
| Thur. Jan. 21 | Integers | A1 trivia due, noon | ||
| Tues. Jan. 26 | Floating Point | A1 due midnight Jan 27 | ||
| Assembly-level programs | ||||
| Thur. Jan. 28 | overview and addressing modes | Chapter 3 (skip 3.14-3.15) | A1 due midnight yesterday; A2: the binary bomb | |
| Tues. Feb. 02 | control flow | A2 trivia due, noon Wednesday Feb 3 | ||
| Thur. Feb. 04 | subroutines | |||
| Tues. Feb. 09 & Thurs. Feb 11 | structured data | A2 due midnight Feb 11; A3: the buffer bomb | ||
| Processor architecture | ||||
| Tues. Feb. 16 | ISA design issues; combinational, memory elements, and clocks; single-cycle implementation | Chapter 4 (RISC vs. CISC), Section 4.1-4.3 | A3 trivia due, midnight | |
| Thurs. Feb. 18 | sequential implementation revisited; pipelined implementation | Figures 4.20 and 4.21; Section 4.3.5 | ||
| Tues. Feb. 23 | pipelining continued | Figures 4.30, 4.31, 4.39, 4.52; Sections 4.4, 4.5.3–4.5.7 | A3 due midnight | |
| Thurs. Feb. 25 | pipelining wrap-up, modern processors (see previous slides) | Sections 4.5.11, 4.6, 5.7 | ||
| More on pipelining, modern processors, Optimizing performance | ||||
| Tues. Mar. 02 | the key performance formula; | |||
| Thur. Mar. 04 | measuring performance | A4 due by noon on Thursday | ||
| Mar. 06 & 14 | UR spring break | |||
| Tues. Mar. 16 | Midterm Exam | |||
| Thurs. Mar. 18 | Machine-independent compiler optimizations | |||
| The storage hierarchy | ||||
| Tues. Mar. 23 | storage technology | Chapter 6 | A5: Tuning performance | |
| Thur. Mar. 25 | caching | A5 trivia due, noon Friday | ||
| Tues. Mar. 30 | performance tuning | |||
| Exceptional control flow | ||||
| Thur. Apr. 01 | exceptions | Chapter 8, Section 4.5.9 | A5 due, midnight Friday Apr. 02 | A6: Unix shell |
| Tues. Apr. 06 | processes, linking, signals | skim Chapter 7 | ||
| Virtual memory | ||||
| Thur. Apr. 08 | Non-local jumps, Address translation | Chapter 10 | A6 trivia due, noon | |
| Tues. Apr. 13 | More on virtual memory, Pentium/Linux case study | |||
| Thur. Apr. 15 | Storage management | A6 due midnight, Wednesday April 14 A7: memory allocation | ||
| Tues. Apr. 20 | Dynamic memory allocation and garbage collection | |||
| Concurrency | ||||
| Thur. Apr. 22 | Guest lecture by Professor Michael L. Scott Threads, Semaphores, synchronization, cache coherence | Chapter 13 | ||
| Tues. Apr. 27 | More on concurrency, an introduction to I/O and network interfaces, Wrap-up | A7 due 11:59pm Wednesday | ||
| Sat. May 08 | Final Exam | 8:30am, CSB 601 | ||