cse141: Introduction to Computer Architecture

Warren Lecture Hall 2113
Lectures Tue. & Thu., 3:30p-4:50p (Warren Lecture Hall 2113) ; Disc. section Wed. 4:00p-4:50p (Warren Lecture Hall 2111)
Spring, 2009
Shortcuts: Schedule Homeworks Projects


Steven Swanson
Email: swanson @ cs.ucsd.edu
IM (not email): professorswanson@{AIM, Yahoo!, google talk, MS Messenger}
Office: EBU3B 3212
Office Hours: Tues. 9:15-10:15 (starting April 14) ; Thur. 12:30-1:30
UCSD homepage

Teaching Assistant

Hung-Wei Tseng
Email: h1tseng @ cs.ucsd.edu
IM (not email): bunnyhwtseng@AIM
Office: EBU3B B260A
Office Hours: Monday 4:00p-5:00p, Wednesday 11:00a-12:00p(starting May 13), or by appointment
UCSD homepage

Course discussion board: cse141. Required reading. Get signed up. Note: Subscriptions of UCSD email accounts to WebBoard mailing lists may not work correctly at this time.

Course Description

This course will describe the basics of modern processor operation. Topics include computer system performance, instruction set architectures, pipelining, branch prediction, memory-hierarchy design, and a brief introduction to multiprocessor architecture issues.

This course is taught in tandem with 141L. Unless you have discussed it with you me, you should be in enrolled in both.

Text books

Required: Patterson & Hennessy, Computer Organization and Design: The Hardware/Software Interface, Patterson & Hennessy, Morgan Kaufmann, 4th Edition
Required: Other assigned readings throughout the quarter.
Optional: The History of Computing This a great set of lectures from a course taught at UCSD/UW/Berkeley three years ago. Most of them are buy the folks that actually made the history (Steve Wozniak, Ray Ozzie, Gordon Bell, etc.).


In addition to the contributions below, class participation (speaking up in class, attending office hours, etc.) can raise your grade up to one "notch" (e.g., B to B+).

Homework 10% Homeworks will be assigned through the course. They are due on Thursdays.
Quizzes 10% Every Thursday there will be a quiz.
Project 15% Design your own ISA! See below
Midterm 25% The midterm is on May 5th.
Final 35% The final will be cummulative.
Class participation 5% Speak up in class. Contribute to the web board. Come to office hours.

Additional notes about grades in this course:


I will post the slides for most lectures. Since the slides contain material I am not allowed to distribute publically, they are password protected. I have posted the username and password to the web board.

Reading should be done before class on the day they are listed. It is essential that you do the readings. I will not cover everything you are responsible for in class.

Date Topic Readings Slides Due Notes
Tuesday, March 31 Introduction and Administrivia slides
Thursday, April 2 Instruction Set Design Read: 1.1-1.3; 2.1-2.3, 2.5, 2.7; Skim/Review: 2.4, 2.6 slides
Tuesday, April 7 Instruction Set Design Read: 2.8, 2.10, 2.12-2.13, 2.17-2.19 Skim/Review: 2.4, 2.6, 2.9, 2.14 slides , slides
Thursday, April 9 Measuring Performance Read: 1.4-1.9 slides Assignment 1-1; Assignment 1-2; Assignment 1-3;
Tuesday, April 14 Designing an ISA slides
Thursday, April 16 Measuring performance Read: 1.4-1.9 slides Assignment 2;
Tuesday, April 21 Performance/Single Cycle processors Read: 4.1-4.4; Key points: Designing a single-cycle datapath, datapath vs. control, clocking, control signals, decoding, handling branches. Review Appendix C if your logic design is rusty. slides , slides
Thursday, April 23 Single Cycle to Pipelining Read: 4.5-4.6 slides Assignment 3-1; Assignment 3-2;
Tuesday, April 28 Data hazards; flash memory Read: 4.7-4.8 slides Project 1;
Thursday, April 30 Control hazards Read: 4.9 slides , slides Assignment 4;
Monday, May 4 Review sesion. 7pm in cse4140 TBA
Tuesday, May 5 Midterm TBA
Thursday, May 7 Branch Prediction and Advanced Pipelining Read: 4.10-4.14, except 4.12 slides Assignment 5;
Tuesday, May 12 New non-volatile memories and introduction to caching TBA slides
Thursday, May 14 Memory Systems Read: 5.1-5.3 slides Assignment 6;
Tuesday, May 19 Memory Systems Read: 5.4-5.5 slides , slides
Thursday, May 21 Virtual Memory TBA slides Assignment 7;
Tuesday, May 26 I/O 6.1-6.13 slides , slides
Thursday, May 28 Multiprocessors 4.10-4.11; 7.5 slides Assignment 8;
Tuesday, June 2 Multiprocessors 7.1-7.3; 7.7 slides , slides
Thursday, June 4 Wrap up and Final review TBA slides Assignment 9;
Monday, June 8 Final Exam Assignment 10; 3:00-5:59

Integrity Policy


Assignment 1: Discussion Board and Instruction Set Architecture
Assignment 2: Performance Evaluation and Instruction Set Architecture
Assignment 3: Performance Evaluation
Assignment 4: Singlecycle CPU
Assignment 5: Pipelining
Assignment 6: Pipelining(2) and Dynamic Branch Prediction
Assignment 7: Cache
Assignment 8: Cache
Assignment 9: Advanced Pipeline and I/O
Assignment 10: Multiprocessor


Project 1: Design Your Own ISA