cse141: Introduction to Computer Architecture

Lectures Tue. & Thu. 9:30am-10:50am (CENTR 113); Disc. Section Wed. 4:00p-4:50p (CENTER 214)
Spring, 2014
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: Wed 12-1; Thurs 3-4; By appointment
UCSD homepage

Teaching Assistants

Andiry Xu
Email: jix024 @ ucsd.edu
Office: EBU3B B240A
Office Hours: Mon 3pm-5pm; By appointment

Qi Li
Email: liqi @ ucsd.edu
Office: EBU3B B240A
Office Hours: Fri 1pm-3pm; By appointment

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 concurrently 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, 5th 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
Reading quizzes 10% Every day there will be a quick quiz at the beginning of class.
Clicker Participation 10% Answer clicker questions in class.
Midterm 25% Midterm is on May 8th. Self Explanatory
Final 35% The final is on June 10th. It 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 1 Introduction to ISAs & MIPS 00_Introduction.pdf
Thursday, April 3 MIPS Review: 1.3-1.4,; Read: 2.1-2.14 01_ISA-Part I-annotated.pdf,
Assignment 1-1; Assignment 1-2; For 2.1-2.9 many of the concepts should be review from cse30, but the MIPS ISA is new.
Tuesday, April 8 MIPS + other ISAs Read 1.1-1.2, 1.5-1.11. 01_ISA-Part I-0408.pdf,
01_Building Chips.pdf
Thursday, April 10 MIPS + other ISAs Read 1.5-1.9 01_ISA-Part I-0410.pdf Assignment2 is up.
Tuesday, April 15 Performance Measurement 02_performance_annotated-0415.pdf
Thursday, April 17 Performance Measurement TBA 02_performance_annotated-0417.pdf Assignment 2;
Tuesday, April 22 ISAs Part II 2.16-2.18 01_ISA-Part II-annotated.pdf
Thursday, April 24 Pipelining 4.1-4.8 SingleCycleProcessor.pdf
Tuesday, April 29 Pipelining and Data Hazards 01_ISA-Part II-annotated-0429.pdf,
Thursday, May 1 Pipelining and Control Hazards 03_ImplementingMIPS-0501.pdf Assignment 3;
Tuesday, May 6 Midterm review Midterm Review.pdf
Thursday, May 8 Midterm
Tuesday, May 13 Pipelining and Data Hazards Slides from class.pdf,
Improved slides.pdf
Thursday, May 15 Branch Prediction 09_Cache_intro.pdf
Tuesday, May 20 Memory and Caching 5.1-5.3, 5.7, 5.10 10_Caches_detail.pdf,
Thursday, May 22 Memory and Caching TBA 11_Cache_advanced_0522.pdf,
Tuesday, May 27 Out-of-Order Execution/Introduction Multiprocessors 4.10-4.12 14_SuperScalarSMT.pdf,
Assignment 6;
Thursday, May 29 Storage Systems 20_Storage.pdf
Tuesday, June 3 GPUs C.1 - C.4, C.7 18_GPUs.pdf Appendix C is here.
Thursday, June 5 Final review

Integrity Policy


Assignment 1: Secret Username atnd Clicker Registration
Assignment 2: Instruction Set Architecture, Performance and Other ISAs
Assignment 3: Instruction Set Architecture, Performance and Other ISAs (continued)
Assignment 4: Other ISAs, continued
Assignment 5: Pipelining and Hazards
Assignment 6: Branch Prediction
Assignment 7: Caches and Virtual Memory