cse141: Introduction to Computer Architecture

HSS 1330
Lectures Tue. & Thu. 3:30p-4:50p (HSS 1330); Disc. Section Fri. 4:00p-4:50p (CENTER 105)
Winter, 2012
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: 12:00-1:00, Thursday (and by appointment)
UCSD homepage

Teaching Assistants

Manoj Mardithaya
Email: mmardith @ cs.ucsd.edu
Office: CSE B250A
Office Hours: Tue. 9:00a-11:00a
UCSD homepage
Nathan Goulding-Hotta
Email: ngouldin @ cs.ucsd.edu
Office: CSE B250A
Office Hours: Mon. 2:00p-4:00p
UCSD homepage

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, 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, January 10 Introduction to ISAs & MIPS 00_Introduction.pdf,
Thursday, January 12 MIPS Read: 2.1-2.14 01_ISA-PartI.pdf,
Assignment 1;
Tuesday, January 17 Performance Measurement Read 1.4-1.5 02_performance2.pdf
Thursday, January 19 Performance Measurement Read 1.5-1.9 02_performance2.pdf Assignment 2;
Tuesday, January 24 ISAs Part II 01_ISA-PartII-a.pdf,
Thursday, January 26 ISAs Part II 01_ISA-PartII-b.pdf,
Assignment 3;
Tuesday, January 31 Pipelining 4.1-4.9 03_ImplementingMIPS.pdf
Thursday, February 2 Pipelining and Data hazards 03_ImplementingMIPS-b.pdf Assignment 4;
Tuesday, February 7 Pipelining and Control Hazards 03_ImplementingMIPS-c.pdf
Thursday, February 9 Midterm review Assignment 5;
Tuesday, February 14 Midterm
Thursday, February 16 Midterm answers
Tuesday, February 21 Branch Prediction 03_ImplementingMIPS-d.pdf
Thursday, February 23 Branch Prediction 03_ImplementingMIPS-e.pdf
Tuesday, February 28 Memory and Caching 5.1-5.3, 5.7, 5.10 09_Cache_intro.pdf,
Thursday, March 1 Memory and Caching 10_Caches_detail.pdf Assignment 6;
Tuesday, March 6 Memory and Caching TBA 11_Cache_advanced.pdf
Thursday, March 8 Virtual Memory 12_VirtualMemory.pdf Assignment 7;
Tuesday, March 13 Out-of-Order Execution/Introduction Multiprocessors 4.10-4.13, 7.1-7.5 12_VirtualMemory-b.pdf,
Thursday, March 15 Final review Assignment 8;
Tuesday, March 20 Final 3:00p - 6:00p

Integrity Policy


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