CSCE/RAIK 284H Foundations of Computer Systems

Spring 2010
TTh 9:00-10:45am, Kauffman 112

Instructor: Dr. Steve Goddard

Avery 256, 472-2401
Office hours: Avery 256, 11:00am-12:30pm TuTh

Lecture Notes

Most of these lecture notes are based on PowerPoint slides created by Drs. Bryant and O'Hallaron for the textbook we are using.
Lecture 1: Introduction to Computer Systems
Lecture 2: Bits and Bytes
Lecture 3: Integers
Lecture 4: Floating Point
Lecture 5: Machine-Level Programming I: An Introduction
Lecture 6: Machine-Level Programming II: Control Flow
Lecture 7: Machine-Level Programming III: Procedures
Lecture 8: Machine-Level Programming IV: Structured Data
Lecture 9: Machine-Level Programming V: Wrap-up
Lecture Notes on Intel Architecture
Supplementary Reading Material from Intel:
Basic Execution Environment
Procedure Calls, Interrupts, and Exceptions
Data Types and Addressing Modes
Instruction Set Summary
Intel Architecture Software Developer's Manual Volume 1: Basic Architecture -- Most of the relevant information for this class is in the four preceding documents.
Intel Architecture Software Developer's Manual Volume 2: Instruction Set Reference -- I do not think you will need this document. The above Instruction Set Summary document should be sufficient.
Intel Architecture Software Developer's Manual Volume 3: Systems Programming -- Chapters 2, 3, 4, 5, 6, and 8 are very usefull (especially Chapter 2). I would ignore the other chapters of this 658 page document for now.
Lecture 10: Processor Architecture I: Y86 ISA
Lecture 11: Processor Architecture II: Logic Design
Lecture 12: Processor Architecture III: Sequential Implementation
Lecture 13: Processor Architecture IV: Pipelined Implementation
Lecture 14: Processor Architecture V: Making the Pipelined Implementation Work
Lecture 15: Processor Architecture VI: Wrap-Up of Pipelined Design and Implementation
Lecture 16: Exceptional Control Flow I
Lecture 17: Exceptional Control Flow II
Lecture 18: Memory Hierarchy
Lecture 19: Cache Memories
Lecture 20: Linking
Lecture 21: Virtual Memory
Lecture 22: System Level I/O
Lecture 23: Internetworking
Lecture 24: Network Programming
Lecture 25: Web Services

Steve Goddard <>
Last modified: Thu Jan 7 11:07:32 CST 2010