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 00 - Course Overview (January 15, 2008)
(pdf), read Chapter 1.
- Class 00 - Course Organization (January 15, 2008)
(pdf), read Chapter 2.
Class 01 - Bits and Bytes (January 17, 2008)
(pdf)
Class 02 - Programming in C (January 22, 2008)
(pdf)
- Data Lab (Laboratory #1) handed out
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 07 - Short Exam 1 (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)
- Data Lab (Laboratory #2) handed out
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 15 - Midterm Exam (March 6, 2008)
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 23 - In-Class Exam (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.