Class material

A more conveniently reachable (for some) copy of some of the class slides and notes.

  1. Slides for week 1 lectures (architecture, SPLAB), course introduction (pdf), basic principles (pdf).
  2. Slides for week 2-3-4 lectures (architecture):
    Introduction to computer architecture (pdf), and assembly language (example assembly code, and listing file).
    Instruction formats and addressing modes (postscript, pdf).
    Instruction categories (postscript, pdf).
  3. Slides for week 5-6, 8 lectures (architecture), misc low-level prgramming issues (postscript, pdf).
    Example assembly code with macros, and resulting listing file.
  4. Slides for 2nd (week 7) and 3rd (week 11) talks for SP lab (Shell, Data files, linking and loading) (pdf)
  5. Lecture (week 8) on co-routines (threads)(pdf)
    Example co-routine code main.c and co.s.
  6. Files used in class on position-independent code.
  7. Slides (chapter 2 only) from Patterson and Henessy on performance. See also Performance
  8. Slides for class on codes and communication, (pdf). More on Hamming codes.
  9. Specs for lecture on IO programming: Example spec of UART, DMA controller, Disk controller.

Warning: these slides contain some errors, that were left in delibarately, to liven things up a bit in class.

Other material

  1. C examples
  2. function call
  3. Array code example: arr.s, main.c
  4. performance: lecture question solution performance_solutions.pdf