CS 429:
Computer Organization and Architecture

Instructor: Dr. Bill Young



Purpose of this website:

This website contains links to the slides for CS429 at UT Austin. If you hope to place out of the course or substitute a course taken at another university, this should be your primary source of information, along with the textbook. Be aware that this is difficult thing to do. Every class has peculiarities that are unique to that class at this university with this professor. You may have aced an analogous course elsewhere and not be able to pass an exam for my course, simply because of my choice of topics and emphasis. If you still want to proceed, talk to me and to the advisors.

The textbook for this class is Computer Systems, A Programmer's Perspective by Randal E. Bryant and David O'Hallaron, Prentice Hall, 2010. The slides here are appropriate for the 2nd Edition. A third edition is available and will be used going forward. However, it is assumed that anyone attempting to place out of CS429 will have used the first or second editions, which focus on the 32-bit ISA rather than the 64-bit ISA.

In addition to Bryant and O'Hallaron, it is recommended that the student have some familiarity with programming in C. There will not be C programming questions on the exam.





Course Description:

CS429 is the first course in the systems core sequence required of all UT CS majors. It describes how computers operate at a fairly low level of abstraction. For example, we'll consider: Understanding these fundamentals thoroughly is absolutely essential to your future success in computer science. The material of this course is quite detailed and requires careful and diligent study. If you are not willing to put in the time and effort required to master this material, you probably should reconsider your decision to major in Computer Science.

We will be discussion several different programming languages in this course: C, x86 assembly language, and Y86 assembly language. You will be writing programs in at least C and Y86.

All of the class slides will be made available via links below as we cover new material. You are welcome to print them out or view them on-line. Slides are in PDF form. They are derived from slides developed for the course by Bryant and O'Hallaron and modified by me and other professors. They are used with permission.

Slides on C: PDF-4up  PDF

Introduction to C

Slideset 1: Introduction to Computer Systems PDF-4up  PDF

The following is a tutorial on C generated by a UT grad student: C Tutorial

Slideset 2: Bits and Bytes PDF-4up  PDF

Slideset 3: Integers PDF-4up  PDF

Slideset 4: Floating Point PDF-4up  PDF

Slideset 5: Digital Logic PDF-4up  PDF

Slideset 6: ISA I PDF-4up  PDF

Slideset 7: ISA II PDF-4up  PDF

Slideset 8: ISA III PDF-4up  PDF

Slideset 9: ISA IV PDF-4up  PDF

Slideset 10: ISA V PDF-4up  PDF

Slideset 11: ISA VI PDF-4up  PDF

Slideset 12: Datapath I PDF-4up  PDF

Slideset 13: Datapath II PDF-4up  PDF

Slideset 14: Pipelining I PDF-4up  PDF

Slideset 15: Pipelining II PDF-4up  PDF

Slideset 16: Pipelining III PDF-4up  PDF

Slideset 17: Pipelining IV PDF-4up  PDF

Slideset 18: Storage Technology PDF-4up  PDF

Slideset 19: Cache I PDF-4up  PDF

Slideset 20: Cache II PDF-4up  PDF

Slideset 21: Optimization I PDF-4up  PDF

Slideset 22: Optimization II PDF-4up  PDF

Slideset 23: Amdahl's Law PDF-4up  PDF

Slideset 24: Linking I PDF-4up  PDF

Slideset 25: Linking II PDF-4up  PDF