Lecture Notes, Slides, Exercises

Number representations
  1. Course introduction, binary numbers (notes) (slides)
  2. twos complement, float, hexadecimal (notes) (slides)
  3. IEEE floating point (notes) (slides)
    Exercises 1
Combinational logic
  1. truth tables, gates, multiplexor (notes) (slides)
  2. ROM, arithmetic circuits, encoders, decoders, ALU (notes) (slides)
    Exercises 2
Sequential logic
  1. RS latch, the clock, D latch, D flip flop (notes) (slides)
  2. registers, counters and timers, memory (notes) (slides)
  3. multiplication, division, floating point ops (notes) (slides)
  4. Exercises 3
MIPS Assembly Language
  1. instruction formats and examples 1 (notes) (slides)
  2. instruction examples 2 (notes) (slides)
  3. strings, arrays, assembler directives, system calls (notes) (slides)
  4. functions (notes) (slides) (sumton code)
  5. co-processors 0, 1 (notes) (slides)
    Exercises 4
MIPS CPU Datapath and Control
  1. single cycle model 1 (notes) (slides)
  2. single cycle model 2 (notes) (slides)
  3. multicycle model: pipelining (notes) (slides)
  4. Exercises 5
Memory and I/O
  1. physical vs. virtual memory, page tables (notes) (slides)
  2. page table cache (TLB) (notes) (slides)
  3. data and instruction caches, hit and miss (notes) (slides)
  4. system bus, I/0 devices (notes) (slides)
  5. memory mapped I/O,polling, DMA (notes) (slides)
  6. interrupts (notes) (slides)
  7. asynchronous I/0 (notes) (slides)
  8. Exercises 6 (Memory)   Exercises 7 (IO and system bus)
Special Topics (not on final exam)
  1. thinking of graduate school? (slides)
  2. A4 Q3 + associative caches (how caches work) (slides)
  3. Java Virtual Machine (slides)