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 (January 17, 2008) (pdf)
  • Class 02 - Programming in C (January 22, 2008) (pdf)
  • Class 03 - Integers (January 24, 2008) (pdf)
  • Class 04 - Floating point (January 29, 2008) (pdf), read Chapter 3.
  • Class 05 - Machine-Level Programming I - Introduction (January 31, 2008) (pdf)
  • Class 06 - Machine-Level Programming II - Control Flow (February 5, 2008) (pdf)
  • Class 07 - Short Review, Information to Date (February 7, 2008)
  • Class 08 - Machine-Level Programming III- Procedures (February 12, 2008) (pdf)
  • Class 09 - Machine-Level Programming IV - Structured Data (February 14, 2008) (pdf)
  • Class 10 - Machine-Level Programming V- Miscellaneous Topics (February 19, 2008) (pdf)
  • Class 11 - Machine-Level Programming -- Miscellaneous Topics (February 21, 2008)

    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 (February 26, 2008) (pdf)
  • Class 13 - Logic Design -- Midterm Review (February 28, 2008) (pdf)
  • Class 14 - Discussion of Class Y86 ISA Specification (March 4, 2008)
  • Class 14 - Discussion of Class Y86 Assembler (March 4, 2008) (Assembler and Simulator Example Source Material)
  • Class 16 - Sequential Implementation (March 18, 2008) (pdf)
  • Class 17 - Pipelined Implementation (March 20, 2008) (pdf)
  • Class 18 - Pipelined Implementation II (March 25, 2008) (pdf)
  • Class 19 - Y86 Wrap-up (March 27, 2008) (pdf)

    Lecture Notes for Chapter 5, 6, and 10

  • Class 20 - Program Optimization I (April 1, 2008) (pdf)

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

  • Class 21 - Guest Lecture -- Glenn Henry (President, CTO, Centaur Technology) (April 3, 2008) (pdf)
  • Class 22 - The Memory Hierarchy (April 8, 2008) (pdf)
  • Class 23 - Short Review, Information to Date (April 10, 2008)
  • Class 24 - Cache Memories (April 15, 2008) (pdf)
  • Class 25 - Virtual Memory (April 17, 2008) (pdf)
  • Class 26 - P6/Linux Memory System (April 22, 2008) (pdf)
  • Class 27 - Dynamic Memory Allocation I (April 24, 2008) (pdf)
  • Class 28 - Dynamic Memory Allocation II (April 29, 2008) (pdf)
  • Class 29 - Class Summary Final Review, Stump the Professor (May 1, 2008)

    Return to CS352 course homepage.