CPEG 323: Introduction to Computer Systems Engineering (Fall 2009)

Instructor: Hui Fang

Time & Place: MWF 9:05-9:55am, Colburn Lab Room 104


Quick Link: Lecture Notes, Assignments

Announcements

Basic Information

Textbooks

Course Goals

This course examines the basic principles and techniques used in the design and evaluation of computer organization and systems. The course stresses the principal design concepts which are embodied in modern computer architectures, and emphasizes ideas which we believe will continue to apply into the future, in spite of a rapidly changing technological environment.

The course has two primary goals: 1) to provide students with a mental model of how high-level language programs get executed on computer hardward, and 2) to introduce students to the organization and performance analysis of modern computers.

Prerequisites

A basic knowledge of high-level programming languages and digital logic design (e.g. CPEG210,CPEG211) is required.

Grading

Regrade requests should be submitted in writing within one week after the assignment or exam in question is returned.

Late Assignment Policy

Late submissions will be penalized on an hourly scheme.
Up to 1 hour late, -15%
Up to 2 hours late, -40%
Up to 3 hours late, -70%
Zero grade after 3 hours

Assignments

Schedule and Lecture Notes (tentative)

Date Topic Slides Readings
09/02 (W) Course Introduction PDF B1.E4: 1.1-1.3 (B1.E3: 1.1-1.3)
09/04 (F) Number Representation

HW1 out

PDF B1.E4: 2.4 (B1.E3: 3.2)
09/07 (M) Holiday, No class
09/09 (W) Introduction to the C Programming Language (I) PDF B2: Chapters 1-4
09/11 (F) Introduction to the C Programming Language (II) PDF B2: Chapter 5
09/14 (M) Introduction to the C Programming Language (III)

HW 1 due; MP1 out.

PDF1, PDF2 B2: Section 2.9, Chapter 6, 7.8.5 and 8.7
09/16 (W) Introduction to the MIPS (I): Arithmetic PDF B1.E4: 2.1-2.2,2.9 (B1.E3: 2.1-2.2,2.8)
09/18 (F) Introduction to the MIPS (II): Data Transfer

Bonus MP out

PDF B1.E4: 2.3 (B1.E3: 2.3)
09/21 (M) Introduction to the MIPS (III): Decision and Control Flow PDF B1.E4: 2.7 (B1.E3:2.6)
09/23 (W) Discussion 1: Decision and Control Flow

PDF B1.E4: 2.7 (B1.E3:2.6)
09/25 (F) Introduction to the MIPS (V): Procedures (1) MP1 due; MP2 out PDF B1.E4: 2.8 (B1.E3: 2.7)
09/28 (M) Introduction to the MIPS (VI): Logic Operations PDF B1.E4:2.6 (B1.E3:2.5)
09/30 (W) Discussion 2: Recursion B1.E4:2.13, Appendix B.5-B.6 (B1.E3:2.13, Appendix A.5-A.6)
10/2 (F) Introduction to the MIPS (VII): MIPS Instruction Representation (I) PDF B1.E4: 2.5 (B1.E3:2.4)
10/5 (M) Introduction to the MIPS (VII): MIPS Instruction Representation (II) B1.E4: 2.5 (B1.E3:2.4)
10/7 (W) Compilation, Assembly, Linking PDF B1.E4: 2.12, Appendix B.2-B.4 (B1.E3:2.10, Appendix A.2-A.4)
10/9(F) Discussion 3: Pointers/Structures

MP2 due, HW2 out

10/12 (M) Floating Point PDF B1.E4: 3.5 (B1.E3:3.6)
10/14 (W) Intro. to CPU Design

PDF
10/16 (F) Fall break, No class
10/19 (M) Single Cycle CPU (I) HW2 due PDF
10/21 (W) Midterm Exam
10/23 (F) Single Cycle CPU (II)
10/26 (M) Performance (I)

HW3 out

PDF
10/28 (W) Performance (II)
10/30 (F) Pipelining (I) PDF
11/2 (M) Pipelining (II)
11/4 (W) Hazards(I) PDF
11/6 (F) Hazards(II)
11/9 (M) Discussion: Hazards

HW3 due, HW4 out

11/11 (W) Cache(I) PDF
11/13 (F) Cache(II)
11/16 (M) Cache (III)
11/18 (W) Guest Lecture: GPU
11/20 (F) Cache (IV)
11/23 (M) Cache (V)

HW4 due, HW5 out

11/25 (W) Discussion: Cache
11/27 (F) Holiday, No class
11/30 (M) Virtual Memory (I)
12/2 (W) Virtual Memory (II)
12/4 (F) Disks
12/7 (M) I/O

HW5 due

12/9 (W) Course Summary and Q/A
TBD Final Exam