CSE 141: Introduction to Computer Architecture

M3 sensor on a finger
Luxapose image processing pipeline
Signpost platform deployed outside
TotTag ranging platform
Opo interaction tracker clipped to a tie
Powerblade power meter on a plug


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.


This syllabus applies to Section A, taught by Prof. Pat Pannuto.


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.



  • Kazem Taram - mtaram@eng.ucsd.edu
  • Nitish Kulshrestha - nikulshr@eng.ucsd.edu
  • Shanti Modi - shmodi@eng.ucsd.edu
  • Sumiran Shubhi - sshubhi@eng.ucsd.edu


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.

  • 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.


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.


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


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.


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


Oct 2 Introduction and Motivation

Part I

Instruction Set Architecture

Where are we?

Visiting Point Loma Tide Pools

Oct 5

What computing looks like; intro to ISA design

[Annotated Slides]

Skim 1.1, Read 1.2-1.3

Oct 7

ISA design, memory, basic op's

[Annotated Slides]

Skim 2.1-2.2, Read 2.3-2.5, Skim 2.10
Oct 9

Control flow; RISC vs CISC

[Annotated Slides]

Read 2.6-2.8, Skim 2.16-2.18, Read 2.19

Part II

Computer System Performance and Performance Metrics

Where are we?

Summiting Cowles Mountain

Oct 12 Indigenous Peoples' Day
Oct 14

Defining performance, time; Amdahl's law

[Annotated Slides]

Skim 1.5, Read 1.6, Skim 1.7-1.8
Skim 1.9, Read 1.10, Skim 2.13
  • Blog series (part 1, part 2) on how hard it is to fairly and accurately measure performance on real-world systems. Note: "VM" here refers to the software virtual machine that Python or Java or JavaScript run on.

Part III

The Single Cycle Machine

Where are we?

Hiking a spine of the Nā Pali Coast

Oct 16

Execute units (ALUs), building blocks, and introducing organization

[Annotated Slides]

Skim 3.1, Read 3.2, Skim 3.3-3.4
  • Read 3.7-3.9 for real-world designs; performance.
Oct 19

Datapaths and control paths

[Annotated Slides]

Read 4.1-4.3, Skim 4.4
Oct 21

Completing the machine; multicycle machines

[Annotated Slides]

Read 4.4 (read this time! It is long, and hard)

Part IV


Where are we?

Looking over Seoul from the Sadang trail

Oct 23

Introducing pipelines

[Annotated Slides]

Read 4.5 until hazards (p272-277); Skim rest of 4.5
Oct 26

Control in pipelines; Intro hazards

[Annotated Slides]

Read 4.6
Oct 28

Data Hazards; Stalls; Forwarding

[Annotated Slides]

Read 4.5 hazards and data hazards (p277-281); Read 4.7
Oct 30

Finish data hazards; Control hazards

[Annotated Slides]

Read 4.5 control hazards onwards (p281-286); Read 4.8 until prediction (p316-320)
Nov 2

Branch predictors; wrapping up

[Annotated Slides]

Read rest of 4.8 (p321-325)
Nov 4

Pipeline catch-up day

(Actual: Control hazards; intro branch predictors)

[Annotated Slides]

(reading is slightly ahead of lecture)
Nov 6

Pipeline catch-up day

(Actual: Branch delay slots; branch predictors)

[Annotated Slides]

(reading is slightly ahead of lecture)

Midterm Exam

Nov 9 Exam Review “Whiteboard” Notes

Nov 10


Midterm Exam
  • Joint with Section B
  • Administered asychronously via Canvas
  • 90-minute “one-shot” timed exam (timer starts when you do)
Nov 11 Veterans Day
Nov 13

Actual: Advanced branch predictors

[Annotated Slides]

(reading is slightly ahead of lecture)
Nov 16

Even more advanced branch predictors

[Annotated Slides]

(reading is slightly ahead of lecture)
Nov 18

Midterm Review & Branch Predictor Examples

(no reading)

Part V

Advanced Pipelines

Where are we?

Hanging with monkeys, hiking outside Azrou, Morocco

Nov 20

Exceptions and interrupts

[Annotated Slides]

Read 4.9
Nov 23

Pipelines in Modern Machines

[Annotated Slides]

(No reading)
Nov 25

Pipelines in Modern Machines

[Annotated Slides]

(No reading)

Part VI

Caches and Memory

Where are we?

The University of Ghana at Legon

Nov 27 Thanksgiving Break
Nov 30

Introducing Caches

[Annotated Slides]

Read 5.1; Skim 5.2
Dec 2

Cache designs & tradeoffs

[Annotated Slides]

Read 5.3
Dec 4

Cache performance

[Annotated Slides]

Read 5.4 (focus more on the first ~half)
Dec 7

Advanced Caches

[Annotated Slides]

Read 5.8 (reviews content through here); Skim 5.13 if you are interested
Dec 9

Virtual Memory

[Annotated Slides]

Read 5.7 (focus more on the first ~half)

Final Exam

Dec 11 Exam Review

Dec 12


Final Exam
  • Joint with Section B
  • Administered asychronously via Canvas
  • 180-minute “one-shot” timed exam (timer starts when you do)