LECTURE SCHEDULE + NOTES

Number representations
  1. Course introduction, binary numbers (notes) (slides) (3x3)
  2. twos complement, float, hexadecimal (notes) (slides) (3x3)
  3. IEEE floating point (notes) (slides) (3x3)
Combinational logic
  1. truth tables, gates, multiplexor (notes) (slides) (3x3)
  2. ROM, arithmetic circuits, encoders, decoders, ALU (notes) (slides) (3x3)
Sequential logic
  1. RS latch, the clock, D latch, D flip flop (notes) (slides) (3x3)
  2. registers, counters and timers, memory (notes) (slides) (3x3)
  3. multiplication, division, floating point ops (notes) (slides) (3x3)
MIPS Assembly Language
  1. instruction formats and examples 1 (notes) (slides) (3x3)
  2. instruction examples 2 (notes) (slides) (3x3)
  3. strings, arrays, assembler directives, system calls (notes) (slides) (3x3)
  4. functions (notes) (slides) (3x3) (sumton code)
  5. co-processors 0, 1 (notes) (slides) (3x3)
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)
Memory and I/O
  1. physical vs. virtual memory, page tables (notes) (slides) (3x3)
  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) (3x3)
  5. memory mapped I/O,polling, DMA (notes) (slides) (3x3)
  6. interrupts (notes) (slides) (3x3)
  7. asynchronous I/0 (notes) (slides) (3x3)
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)

EXERCISES, EXAMS, ASSIGNMENTS, etc

Exercises 1: number representations

Quiz 1 with solutions



Exercises 2: Combinational Logic


Quiz 2 with solutions

Exercises 3: Sequential Logic


Assignment 1 (PDF) & (starter code) grading scheme
Assignment 2 (PDF) & (starter and solution code)

Quiz 3 with solution

Exercises 4 MIPS





Exercises 5 MIPS datapath and control

Quiz 4 with solutions


Exercises 6 Virtual & Physical Memory

Quiz 5 with solutions


Exercises 7 IO and system bus

Assignment 3 (PDF) (starter code) (solution) (grading) (test code)

Quiz 6 with

Assignment 4 (PDF) (starter code) (solution and grading)

Practice questions for final exam. (PDF)