cse141: Introduction to Computer Architecture
PCYNH 106
Lectures Tue. & Thu. 3:30pm-4:50pm (PCYNH 106); Disc. Section Fri. 5:00p-5:50p (CSB 002)
Winter, 2015
Shortcuts:
Schedule Homeworks Piazza
Instructor
Steven Swanson
| Email: |
swanson |
@ |
cs.ucsd.edu |
Office: See Piazza Office Hours: See Piazza UCSD homepage
Teaching Assistants
Soohyun Nam
Office: See Piazza Office Hours: See Piazza
Atieh Lotfi
| Email: |
alotfi |
@ |
eng.ucsd.edu |
Office: See Piazza Office Hours: See Piazza
Vincent Kuri
| Email: |
vkuri |
@ |
eng.ucsd.edu |
Office: See Piazza Office Hours: See Piazza
|
 |
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.
We will use Piazza extensively in the course for the distribution of slides, class announcements, etc. Please register for the class on Piazza.
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.). We won't discuss it directly in class, but if you want to
be a literate computer scientist, you should watch/listen to them at some
point.
Optional: The Information: A History, A Theory, A Flood This is an amazing book that ties together a bunch of threads that
gave rise to computing (Babbage, Turing, Shannon, Bool, Lovelace, von
Neumann, Goedel, etc.). It provides excellent perspective on how
information processing evolved over time. We won't discuss it directly in
class, but if you want to be a literate computer scientist, you should read
it at some point.
Grading
| 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 February 12th. Self Explanatory |
| Final |
35% |
The final is on Mar 17th. It will be cumulative. |
Additional notes about grades in this course:
-
Calculating grades I compute grades using an Excel spread
sheet. In the interests of transparancy, the current grade sheet
(with identifying information removed) will be posted online occasionally throughout the course (usually
starting after the midterm).
The grade sheet contains all the information about curves
and how the grades are computed. It is somewhat complicated, so if
you find bugs please bring them to my attention. Please note that
some versions of OpenOffice do not perform the calculations properly,
and will give incorrect results.
* HW2 grade (it only has raw score) is available in XLSX.
The grading systems is based on a 13 point (F through A+) scale. For
each assignment/test/etc, the sheet computes the letter grade
(rounding up, when needed) according to a curve for each assignment
(specified at the bottom of each assignments column). Your final
grade is the weighted average of these grades. Generally speaking, an A+ corresponds to 100% and an F to anything lower than 50%.
We do our best to record grades accurately, but you should
double-check.
-
Errors in grading If you feel there has been an error in how
an assignment or test was graded, you have one week from when the
assignment is return to bring it to our attention. You must submit
(via email to the instructor and the appropriate TAs) a written
description of the problem. Neither I nor the TAs will discuss
regrades without receiving an email from you about it first.
For arithmetic errors (adding up points etc.) you do not need to
submit anything in writing, but the one week limit still applies.
-
Final grades If you have a problem with your final
grade in the course, send me email and we can set up an appoinment to
discuss it. Like you, I generally go on a vacation after the quarter
ends, so it may take a little while for me to get back to you and the
meeting will likely be the next quarter. If the problem needs to
be resolved sooner make that clear in your email (e.g., in the
first line).
Schedule
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 |
Due |
Notes |
| Tuesday,
January 6 |
Introduction to ISAs |
|
|
|
| Thursday,
January 8 |
MIPS |
Review: 1.3-1.4,; Read: 2.1-2.14 |
Assignment 1-1;
Assignment 1-2;
Assignment 1-3;
|
For 2.1-2.9 many of the concepts should be review from cse30, but the MIPS ISA is new. |
| Tuesday,
January 13 |
MIPS |
Read 1.1-1.2, 1.5-1.11.
|
|
|
| Thursday,
January 15 |
MIPS |
Read 1.5-1.9
|
Assignment 2;
|
|
| Tuesday,
January 20 |
Performance Measurement |
|
|
|
| Thursday,
January 22 |
Performance Measurement |
TBA
|
Assignment 3;
|
|
| Tuesday,
January 27 |
Other ISAs |
2.16-2.18 |
|
|
| Thursday,
January 29 |
Pipelining |
4.1-4.8 |
Assignment 4;
|
|
| Tuesday,
February 3 |
Pipelining |
|
|
|
| Thursday,
February 5 |
Data Hazards |
|
Assignment 5;
|
|
| Tuesday,
February 10 |
Midterm review |
|
|
|
| Thursday,
February 12 |
Midterm |
|
|
|
| Tuesday,
February 17 |
Out-of-Order Execution/Introduction Chip-Multiprocessors |
4.10-4.12 |
|
|
| Thursday,
February 19 |
Caching |
5.1-5.3, 5.7, 5.10 |
Assignment 6;
|
|
| Tuesday,
February 24 |
Caching |
TBA
|
|
|
| Thursday,
February 26 |
Caching |
TBA
|
Assignment 7;
|
|
| Tuesday,
March 3 |
Virtual memory/Final review |
|
|
|
| Thursday,
March 5 |
GPUs |
C.1-C.4, C.7 |
Assignment 8;
|
Appendix C is here. |
| Tuesday,
March 10 |
Storage Systems / Miscellaneous |
|
|
|
| Thursday,
March 12 |
Final review |
|
Assignment 9;
|
|
| Tuesday,
March 17 |
Final |
|
|
3:00p - 6:00p |
Integrity Policy
- Cheating WILL be taken seriously. Doing otherwise is not fair to
honest students. It is also not fair to allow the cheater to thing that
it is a reasonable alternative in life.
- Please review the UCSD student handbook for more details on Academic
Integrity.
- Anyone copying information or having information copied during a test
will receive an F for the class and will not be allowed to drop. They
will be reported to their college dean. If you can prove non-cooperative
copying took place, your grade may be restored, but you must prove it to
the dean--I don't want to be involved. Anyone caught cheating or falsely
representing the work of others on the homework will not be allowed to
turn in further homework. Your grade will be based exclusively on the
tests with a penalty of 25% OR GREATER applied.
- We photocopy a random sampling of the exams in order to ensure that
students do not modify their tests after they have been returned.
-
Online solutions, etc.: A solutions manual exists for this
text. Using it, or any solutions you may find on the internet elsewhere
IS CHEATING and will be dealt with accordingly. We know what the
solution manual solutions look like. Homework is a small fraction of
your grade, so cheating on it is unproductive.
- You may not post any of your solutions online (e.g., on a github account) during the quarter. Doing so constitutes cheating and will be dealt with accordingly).
Homework
- Homeworks are due 15min before the class starts on the due date unless noted.
- Turn in your printed solutions to the TA's mailbox.
- Do not turn in your homeworks in class. I will not accept them (and they would be late anyway).
- Late assignments will not be accepted.
- There is no regrading of written homeworks, except for addition
errors. No single problem will have a significant impact on your
grade.
- Homework must be completed individually.
- Studying in groups is definitely encouraged.
- Typically, homework assignments may be graded based on a statistical
subset of the problems in each assignment.
- Homeworks must be typed or clearly
handwritten. Illegible/unreadable answers will receive no
credit and we will not reconsider or regrade them.
Assignment 1:
Secret Username and Clicker Registration
Assignment 2:
Instruction Set Architecture, Performance and Other ISAs
Assignment 3:
Instruction Set Architecture, Performance and Other ISAs (continued)
Assignment 4:
Performance Measurement
Assignment 5:
Amdahl's law, Other ISAs
Assignment 6:
Pipelining and Hazards
Assignment 7:
Hazard,Branch Prediction, Register Renaming
Assignment 8:
Introduction to Caches
Assignment 9:
Cache, Virtual Memory