Lecture Notes for
Computer Systems: A Programmer's Perspective (CS:APP)

Originally prepared by Randal E. Bryant and David R. O'Hallaron. Edited by Warren A. Hunt, Jr. for use in UT CS352.

UT CS352 NOTE: Most of the slide material was prepared by the textbook authors as a part of their textbook offering, but I have made a number of changes.

Lecture Notes

  • Classes 0 and 1 - Introduction (Web-based, Physical Computer Presentation):
  • Class 01 - Bits and Bytes (September 1, 2009) (pdf)
  • Class 02 - Programming in C (September 3, 2009) (pdf)
  • Class 03 - Integers (September 8, 2009) (pdf)
  • Class 04 - Floating point (September 10, 2009) (pdf), read Chapter 3.
  • Class 05 - Machine-Level Programming I - Introduction (September 15, 2009) (pdf)
  • Class 06 - Machine-Level Programming II - Control Flow (September 17, 2009) (pdf)
  • Class 07 - Machine-Level Programming III- Procedures (September 22, 2009) (pdf)
  • Class 08 - Short Review, Information to Date (September 24, 2009)
  • Class 09 - Machine-Level Programming IV - Structured Data (September 29, 2009) (pdf)
  • Class 10 - Machine-Level Programming V- Miscellaneous Topics (October 1, 2009) (pdf)
  • Class 11 - Machine-Level Programming -- Miscellaneous Topics (October 6, 2009) Laboratory #2 discussion, Finish Machine-Level Programming slides

    Lecture Notes for Chapter 4: Processor Architecture

    Note: Some of these slides are going to be reviewed quickly. We are going to develop our own microprocessor specification and implementation.

  • Class 12 - Instruction Set Architecture (October 8, 2009) (pdf)
  • Class 13 - Discussion of Class Y86 ISA Specification (October 13, 2009)
  • Class 13 - Discussion of Class Y86 Assembler (October 13, 2009) (Assembler and Simulator Example Source Material)
  • Class 14 - Logic Design (October 15, 2009) (pdf)
  • Class 15 - Sequential Implementation -- Midterm Review (October 20, 2009) (pdf)
  • Class 17 - Pipelined Implementation (October 27, 2009) (pdf)
  • Class 18 - Pipelined Implementation II (October 29, 2009) (pdf)
  • Class 19 - Y86 Wrap-up (November 3, 2009) (pdf)

    Lecture Notes for Chapter 5, 6, and 10

  • Class 20 - Program Optimization I (November 5, 2009) (pdf)

    We will only cover a few slides from this next set. (pdf)

  • Class 21 - The Memory Hierarchy (November 10, 2009) (pdf)
  • Class 22 - Cache Memories (November 12, 2009) (pdf)
  • Class 23 - Short Review, Information to Date (November 17, 2009)
  • Class 24 - Virtual Memory (November 19, 2009) (pdf)
  • Class 25 - P6/Linux Memory System (November 19, 2009) (pdf)
  • Class 26 - Dynamic Memory Allocation I (November 24, 2009) (pdf)
  • Class 27 - Dynamic Memory Allocation II (December 1, 2009) (pdf)
  • Class 28 - Guest Lecture -- Glenn Henry (President, CTO, Centaur Technology) (December 3, 2009) (pdf)

    Return to CS352 course homepage.