cse141: Introduction to Computer Architecture

HSS 1330
Lectures Tue. & Thu. 9:30am-10:50am (HSS 1330); Disc. Section Wed. 4:00p-4:50p (CENTER 105)
Spring, 2013
Shortcuts: Schedule Homeworks


Steven Swanson
Email: swanson @ cs.ucsd.edu
IM (not email): professorswanson@{AIM, Yahoo!, google talk, MS Messenger}
Office: EBU3B 3212
Office Hours: Monday 10-11; Thursday 11-12 (and by appointment)
UCSD homepage

Teaching Assistant

Alice Liang
Email: ayliang @ ucsd.edu
Office: Depends on day, see below.
Office Hours: Tuesday 1-3pm in EBU3B B260A, Wednesday 1:30-3:30pm in EBU3B B275, and by appointment

Course discussion board: Google Groups. Required reading. Get signed up. You should also be subscribed to the Discussion Google Group for the course. If you have any personal queries, you can post to our staff group

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, Revised 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 by the folks that actually made the history (Steve Wozniak, Ray Ozzie, Gordon Bell, etc.)


Homework 20% Homeworks will be assigned throughout the course. They are due on Thursdays
Quiz 20% Every Thursday there will be a quiz.
Midterm 25% Self Explanatory
Final 35% The final will be cumulative.

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 google group.

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, April 2 Introduction to ISAs & MIPS 00_Introduction.pdf
Thursday, April 4 MIPS Read: 2.1-2.14 01_ISA-PartI.pdf
Tuesday, April 9 Performance Measurement Read 1.4-1.5 Assignment 1;
Thursday, April 11 Performance Measurement Read 1.5-1.9 02_performance.pdf
Tuesday, April 16 Performance Measurement 02_performance.pdf
Thursday, April 18 ISAs Part II 2.16-2.18 ../asm_examples,
Assignment 2;
Tuesday, April 23 Pipelining 4.1-4.9 03_ImplementingMIPS.pdf
Thursday, April 25 Pipelining and Data hazards 03_ImplementingMIPS.pdf Assignment 3;
Tuesday, April 30 Pipelining and Control Hazards
Thursday, May 2 Midterm review Assignment 4;
Tuesday, May 7 Midterm
Thursday, May 9 Pipelining and Data Hazards
Tuesday, May 14 Branch prediction
Thursday, May 16 Branch Prediction Assignment 5;
Tuesday, May 21 Memory and Caching 5.1-5.3, 5.7, 5.10 09_Cache_intro.pdf,
Thursday, May 23 Memory and Caching 10_Caches_detail.pdf,
Tuesday, May 28 Memory and Caching TBA
Thursday, May 30 Virtual Memory 12_VirtualMemory.pdf Assignment 6;
Tuesday, June 4 Out-of-Order Execution/Introduction Multiprocessors 4.10-4.13, 7.1-7.5 14_SuperScalarSMT.pdf,
Thursday, June 6 Final review Assignment 7;

Integrity Policy


Assignment 1: Secret Username
Assignment 2: Instruction Set Architecture, Performance, Spim, and Other ISAs
Assignment 3: Other ISAs, continued
Assignment 4: Pipelining and Hazards
Assignment 5: Branch Prediction and Intro to Caches
Assignment 6: Caches
Assignment 7: Virtual Memory