CSE 141: Introduction to Computer Architecture
Overview
The course covers the basics of modern processor design and operation. Topics include instruction set architectures, computer system performance, machine organization, pipelining, branch prediction, memory-hierarchy design, and an introduction to multiprocessor considerations (and possibly security considerations as well).
This course is designed to run alongside CSE 141L. We expect that you are enrolled in both.
Syllabus
This syllabus applies to Section A, taught by Prof. Pat Pannuto.
DISCLAIMER
Due to our unusual circumstances, the details in this syllabus may change (e.g. schedule, grading policy, assignments, etc.). We will update this syllabus in the event of changes as the course progresses.
Instructors
- Pat Pannuto (Section A)
- Dean Tullsen (Section B)
TAs
- Kazem Taram - mtaram@eng.ucsd.edu
- Nitish Kulshrestha - nikulshr@eng.ucsd.edu
- Shanti Modi - shmodi@eng.ucsd.edu
- Sumiran Shubhi - sshubhi@eng.ucsd.edu
Textbook
Computer Organization and Design MIPS Edition, The Hardware/Software Interface, Fifth Edition (Patterson & Hennessy)
(ISBN-13: 978-0124077263, ISBN-10: 0124077269)
The textbook is required for this course.
Other recommended reading
- Hennessy & Patterson, "Computer Architecture: A Quantitative Approach", Morgan Kaufmann
- A more advanced treatment of many of the same topics in the textbook, as well as a lot more breadth.
- Synthesis Lectures on Computer Architecture
- This contains a number of truly outstanding (and very recent and up-to-date) books on computer architecture, any of which you can download free while in the UCSD domain. In particular, see the books on Processor Microarchitecture (most useful for this class), Performance Evaluation Methods, Memory System, and Multithreading Architectures.
Schedule
Lectures are M/W/F from 10:00 to 10:50 US/Pacific, online.
Section A discussion is Wednesday from 11:00 to 11:50 US/Pacific, online.
Section B discussion is Tuesday from 14:00 to 14:50 US/Pacific, online.
You may attend whichever discussion is more convenient for you, however, the lectures may move at slightly different paces, so attending the "home" discussion may be better when possible.
Up-to-date office hours are available in Canvas.
Grading
A quick reminder: Effective learning comes from active engagement and re-enforcement. Activities, assignments, and grading are designed to help with this.
You get out of class what you put into it.
5%: Participation (Mini-Quizzes)
During lectures, we will have interactive question and answer segments (zoom polls). These are opportunities to check your understanding and for us to go back and help explain concepts more thoroughly that may be confusing folks. To accommodate asynchronous participants, these in-lecture polls will not be graded for correctness or attendance.
At the end of each week, we will collect all of the poll questions and release a mini-quiz on canvas. The quiz must be completed by midnight (campus time) the following Tuesday.
These quizzes are primarily for you, to help you stay on track and to check your own understanding. Therefore, we will not grade them for correctness. If you complete the quiz, you will earn full points for that week. However, if your raw score on a quiz is low, come to discussion sections or office hours and get help!
Mini-Quiz Late Policy
As the purpose of these mini-quizzes is to help you keep up with class, there will be no extensions or late submissions. However, we also recognize that life does happen, especially now. We will release two bonus quizzes during the term that can be used to make-up a missed mini-quiz. The current thinking is one before the midterm and one before the final, which you can use to help check your understanding, but this is highly subject to change.
Make-up quizzes will allow for up-to full participation. They will not count for extra credit.
20%: Homework
These are longer form assignments, designed to test your individual understanding. You are welcome discuss homework problems with other students or in groups, however, you must complete your final writeup alone.
Homework submission will be via the Gradescope module in Canvas. Regrade requests will also be handled via Gradescope. The window for regrades will be no more than one week after graded homework is returned.
Generally, homework will be released every Thursday and due the following Thursday, at midnight. We expect to release a homework assignment every week, with exceptions for the midterm week, final exam week, and possibly holidays, which should result in around 7-8 homework assignments over the quarter.
Homework Late Policy
Homework ever is better than homework never.
The goal of homework is to help you to understand better by working through problems on your own. To that end, we will allow for late submission of homework at any point during the term (until the final exam). Late homework will receive 50% of earned points. Late homework is not eligible for regrades and will be graded and returned at instructor convenience. Late homework should take care to add extra details showing how you, personally worked through problems and that your work is your own. Late homework that is "just answers" or otherwise does not clearly show your own work will receive no credit.
30%: Midterm
This course will have one midterm exam.
We recognize that students may be attending class from all around the world. For this reason, we plan to offer the midterm as a ninety minute exam to be completed during a twelve hour window.
As the midterm is joint with section B, we will offer the midterm from 8am–8pm on Tuesday, November 10th. We will convert the class period on Monday, November 9th to a review session open to both sections.
45%: Final Exam
The final exam will be cumulative over all of the course content.
The registrar has assigned: CSE 141 A00 and B00: Common Final, 12/12/20, 11:30 AM - 2:29 PM
as the final exam time slot for this course.
Again, we recognize that students may be attending class from all around the world. For this reason, we will offer the final as a three hour exam to be completed any time in a twelve hour window.
We will offer the final from 8am–8pm on Saturday, December 12th. We will convert the class period on Friday, December 11th to a review session open to both sections.
The final exam will be on Saturday
We recognize that Saturday can be a challenging day for some people to block off time, however, we also need to respect that folks have exams in other courses and the purpose of a harmonized exam schedule is to not conflict with those exams.
If you absolutely cannot make Saturday work, please contact Pat directly before November 1.
Final Grades
Range notation [90,93) means 90 is included and 93 is not
A+ >96.7 |
A [93,96.7) |
A- [90,93) |
B+ [86.7,90) |
B [83.3,86.7) |
B- [80,83.3) |
C+ [76.7,80) |
C [73.3,76.7) |
C- [70,73.3) |
D [60,70) |
F [0,60) |
---|
Academic Integrity
Cheating WILL be taken seriously. It is not fair to honest students to take cheating lightly, nor is it fair to the cheater to let them go on thinking that is a reasonable alternative in life.
"Don't test me on this one." ~Prof. Dean Tullsen
The following is not considered cheating:
- Discussing homework in groups (with the writeup done separately, later).
The following is:
- Discussing homework with someone who has already completed the problem, or looking at their completed write-up.
- Using homework solutions from the web, previous versions of the class, or anywhere else.
- Receiving, providing, or soliciting assistance from another student during a test.
Homework is not intended to be a grade-maker, but to prepare you for the tests, which are the grade-makers. Cheating on homework just hurts you. If you are choosing between not turning in an assignment, or using somebody's else work, do yourself a favor and just don't turn it in. You are facing a permanent mark on your academic record and a certainty of having to explain it to any future employer or school that you apply to.
Regret Policy
Sometimes, in the heat of the moment, watching the clock tick down to a deadline, we make mistakes that we come to regret the next day. This is a place of learning, and we would prefer that people own up to mistakes and learn from them rather than mete out punishments.
If you have committed an Academic Integrity violation, you have a 24-hour window to self-report the violation using this form. Timely, self-reported violations will most likely result in an automatic zero on the reported assignment, but no further consequences. Non-reported violations will face much more severe consequences.
Agenda
Reminder: You will get more out of lecture if you have completed the pre-class reading. We try to be clear about what is okay to skim and what will be helpful to read deeply.
Bonus materials are for those interested in learning more about a topic. They are not required in any way and their content will not be tested in quizzes, homework, or exams.
Date | Topic | Pre-Class Assignment Fifth Ed. Table of Contents | Bonus Material |
---|---|---|---|
Part 0 |
Welcome! |
||
Oct 2 | Introduction and Motivation | ||
Part I |
Instruction Set Architecture
|
Where are we? |
|
Oct 5 |
What computing looks like; intro to ISA design |
Skim 1.1, Read 1.2-1.3 |
|
Oct 7 |
ISA design, memory, basic op's |
Skim 2.1-2.2, Read 2.3-2.5, Skim 2.10 | |
Oct 9 |
Control flow; RISC vs CISC |
Read 2.6-2.8, Skim 2.16-2.18, Read 2.19 | |
Part II |
Computer System Performance and Performance Metrics |
Where are we? |
|
Oct 12 | Indigenous Peoples' Day | ||
Oct 14 |
Defining performance, time; Amdahl's law |
Skim 1.5, Read 1.6, Skim 1.7-1.8 Skim 1.9, Read 1.10, Skim 2.13 |
|
Part III |
The Single Cycle Machine |
Where are we? |
|
Oct 16 |
Execute units (ALUs), building blocks, and introducing organization |
Skim 3.1, Read 3.2, Skim 3.3-3.4 |
|
Oct 19 |
Datapaths and control paths |
Read 4.1-4.3, Skim 4.4 | |
Oct 21 |
Completing the machine; multicycle machines |
Read 4.4 (read this time! It is long, and hard) | |
Part IV |
Pipelines |
Where are we? |
|
Oct 23 |
Introducing pipelines |
Read 4.5 until hazards (p272-277); Skim rest of 4.5 |
|
Oct 26 |
Control in pipelines; Intro hazards |
Read 4.6 | |
Oct 28 |
Data Hazards; Stalls; Forwarding |
Read 4.5 hazards and data hazards (p277-281); Read 4.7 | |
Oct 30 |
Finish data hazards; Control hazards |
Read 4.5 control hazards onwards (p281-286); Read 4.8 until prediction (p316-320) | |
Nov 2 |
Branch predictors; wrapping up |
Read rest of 4.8 (p321-325) | |
Nov 4 |
Pipeline catch-up day (Actual: Control hazards; intro branch predictors) |
(reading is slightly ahead of lecture) | |
Nov 6 |
Pipeline catch-up day (Actual: Branch delay slots; branch predictors) |
(reading is slightly ahead of lecture) | |
Midterm Exam |
|||
Nov 9 | Exam Review | “Whiteboard” Notes | |
Nov 10 8am–8pm |
Midterm Exam |
|
|
Nov 11 | Veterans Day | ||
Nov 13 |
Actual: Advanced branch predictors |
(reading is slightly ahead of lecture) | |
Nov 16 |
Even more advanced branch predictors |
(reading is slightly ahead of lecture) | |
Nov 18 |
Midterm Review & Branch Predictor Examples |
(no reading) | |
Part V |
Advanced Pipelines |
Where are we? |
|
Nov 20 |
Exceptions and interrupts |
Read 4.9 | |
Nov 23 |
Pipelines in Modern Machines |
(No reading) | |
Nov 25 |
Pipelines in Modern Machines |
(No reading) | |
Part VI |
Caches and Memory |
Where are we? |
|
Nov 27 | Thanksgiving Break | ||
Nov 30 |
Introducing Caches |
Read 5.1; Skim 5.2 | |
Dec 2 |
Cache designs & tradeoffs |
Read 5.3 | |
Dec 4 |
Cache performance |
Read 5.4 (focus more on the first ~half) | |
Dec 7 |
Advanced Caches |
Read 5.8 (reviews content through here); Skim 5.13 if you are interested | |
Dec 9 |
Virtual Memory |
Read 5.7 (focus more on the first ~half) | |
Final Exam |
|||
Dec 11 | Exam Review | ||
Dec 12 8am–8pm |
Final Exam |
|
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.