| Unit | Topics | Reading | Assignments |
|---|---|---|---|
| Overview | |||
| Thur. Jan. 16 | Introduction | Chapter 1 | Get an account and set it up |
| Data representation | |||
| Tues. Jan. 22 | Overview | Chapter 2 | A1: bit twiddling |
| Thur. Jan. 24 | Integers | A1 trivia due, noon | |
| Tues. Jan. 29 | Floating Point | A1 due midnight Jan 30 | |
| Assembly-level programs | |||
| Thur. Jan. 31 | overview and addressing modes | Chapter 3 (skip 3.14-3.15) | A1 due midnight yesterday; A2: the binary bomb |
| Tues. Feb. 05 | control flow | A2 trivia due, noon Wednesday Feb 6 | |
| Thur. Feb. 07 | subroutines | ||
| Tues. Feb. 12 & Thurs. Feb 14 | structured data | A2 due midnight Feb 14; A3: the buffer bomb | |
| Processor architecture | |||
| Tues. Feb. 19 | 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. 21 | sequential implementation revisited; pipelined implementation | Figures 4.20 and 4.21; Section 4.3.5 | |
| Tues. Feb. 26 | 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. 28 | pipelining wrap-up, modern processors (see previous slides) | Sections 4.5.11, 4.6, 5.7 | A4: Processor design |
| Optimizing performance | |||
| Tues. Mar. 04 | the key performance formula; obstacles to compiling fast code Guest lecture by Professor Chen Ding | Reading | |
| Thur. Mar. 06 | measuring performance | A4 due by noon on Friday | |
| Mar. 11 & 13 | UR spring break | ||
| Tues. Mar. 18 | Midterm Exam | held in Lander Auditorium | |
| Thurs. Mar. 20 | Machine-independent compiler optimizations | A5: Tuning performance | |
| The storage hierarchy | |||
| Tues. Mar. 25 | storage technology | Chapter 6 | |
| Thur. Mar. 27 | caching | A5 trivia due, noon | |
| Tues. Apr. 1 | performance tuning | A5 due midnight, Thursday 3rd April | |
| Exceptional control flow | |||
| Thur. Apr. 3 | exceptions | Chapter 8 | A6: Unix shell |
| Tues. Apr. 08 | processes, linking, signals | skim Chapter 7 | |
| Virtual memory | |||
| Thur. Apr. 10 | Non-local jumps, Address translation | Chapter 10 | A6 trivia due, noon |
| Tues. Apr. 15 | Pentium/Linux case study | ||
| Thur. Apr. 17 | Storage management | A6 due midnight A7: memory allocation | |
| Concurrency | |||
| Tues. Apr. 22 | Guest lecture by Professor Michael L. Scott Threads and Semaphores | Chapter 13 | |
| Thur. Apr. 24 | Cache coherence | ||
| Tues. Apr. 29 | Wrap-up | A7 due 11:59pm Wednesday | |
| Sat. May 10 | Final Exam | 8:30am, Goergen 101 | |