CSE 141: Introduction to
Computer Architecture


Michael B. Taylor
EBU 3B 3202 office

Teaching Assistants

Sumit Dhoble
Ben Ellis (Tutor)

Class Meetings

Lecture TuTh 12:30p-1:50p Solis 104
Discussion TBA TBA TBA
Final 06/11/2012 11:30a-2:29p Solis 104


Office Hours


April 05Join and monitor this google group immediately:
April 05Discussion date, time and location to be updated later.
April 06ISA Design Project and the 1st assignment are up !
April 12For those of you who haven't done this already, fill out this form asap !
Checkout the first video on ISA Design Project
April 20Second assignment has been posted. All questions are from REVISED Fourth edition of the book.
April 24Video on assembler framework.
May 02Video on simulator framework.
May 05Third assignment has been posted. All questions are from Revised Fourth edition of the book.
May 25Fourth assignment has been posted. All questions are from Revised Fourth edition of the book.
June 2Fifth (and the last!!) assignment has been posted. As usual, all questions are from Revised Fourth edition of the book.

Course Description

The course examines 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 CSE 141L. Unless you have discussed it with me, you should be enrolled in both.

Required Textbook

Computer Organization and Design, Revised Fourth Edition, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)

Students get free 2-day shipping with Amazon Student.


Project 21% Design your own ISA!
Midterm 21% Closed book.
Final 31% Cumulative; closed book.
Homework 10% Homeworks assigned through the course. They aren't worth much, but help you pace yourself. Statistically graded.
Quizzes 10% Randomly; they will help make sure you pace yourself on the material
Class Participation 7% or more In class, or in the google group

Grading Appeal Process If you feel there has been an error in how a test was graded, you have one week from when the assignment is return to bring it to our attention. There is no regrading of HW because of the small weight. You must submit to the appropriate TA a written description of the problem issue, what you feel the fair resolution is, and your unmodified coursework. We photocopy a random sampling of student exams to detect inappropriate modifications. Note that we regrade the entire exam; so your grade may either rise or fall after resubmission. Should, after you appeal, you be unsatisfied with the TA's treatment of the issue, you may resubmit the appeal to the professor.


NOTE: Subject to skew and jitter. We reserve the right to change this -- and will change it frequently.

I will post the slides for most lectures. Since the slides contain material I am not allowed to distribute publically, they are only available from on campus or via the campus proxy. Instructions for setting up the proxy can be found here. Using the proxy is useful in general, since it gives you full access to the libraries and other resources from off campus. If you are a concurrent enrollment student, you will need to make a friend in the class (always a good idea) to access some of these materials.

Please note that I have by default posted last year's slides here. Some number of days after a class occurs, I will update with the slides from this year's class.

Tue, April 03 Overview, Administrivia, ISA Design slides
Thu, April 05 Instruction Set Design Read: 1.1-1.3; 2.1-2.7; Key points: Types of machines and general terminology. Parts of the machine. Key components of an instruction set. Operand storage in registers and memory. Arithmetic, logical, and memory ops in MIPS.

Project 1 Out:
    Design Concept: April 15
    Alpha release: April 22
    Beta release: April 29
    Final deadline: May 6
Tue, April 10 Instruction Set Design Read: 2.8, 2.10, 2.12-2.13, 2.16-2.19 Skim/Review: 2.4, 2.6, 2.9, 2.14; Key points: Function calls, translation from source code to machine code, the diversity of ISA design decisions between MIPS, ARM, and x86.
Thu, April 12 Instruction Set Design
Tue, April 17 Measuring Performance Read: 1.4-1.9; Key points: Speedup. The performance equation. Amdahl's law. Benchmarks and their shortcomings slides
Thu, April 19 Measuring Performance
Tue, April 24 Perf/Single Cycle processors Read: 4.1-4.4; Key points: Designing a single-cycle datapath, datapath vs. control, clocking, control signals, decoding, handling branches. Review Appendix C if your logic design is rusty.
Thu, April 26 Single Cycle Implementation; Multicycle Read: 4.5-4.6; Key points: Basic of pipelining. Pipelined datapath layout. Pipeline registers. Limitations of pipelining. See also improved 141L version slides
Tue, May 01 Pipelining; Branch Prediction Read: 4.7-4.8 slides
Thu, May 03 Data hazards; Control Hazards; Branch Prediction Read: 4.9,4.10,4.11 slides
Tue, May 08 More Branch Prediction slides
Thu, May 10 Caches; Memory Systems Read: 5.1-5.3 slides
Tue, May 15 Caches; & Midterm Discussion Read: 5.1-5.3 slides
Thu, May 17 ISA Bake-off; Pizza fest slides
Tue, May 22 Midterm
Thu, May 24 ISA Bake-off Finals; Advanced caching and VM Read: 5.4-5.5 slides
Tue, May 29 I/O & VM Read: 6.1-6.13
Thu, May 31 Multiprocessors/GPU Intro Read: 7.1-7.3; 7.7 slides
Tue, June 05 CMPs
Thu, June 07 Final Review

Discussion Schedule

NOTE: Subject to skew and jitter. We reserve the right to change this.

Tue, April 03 Designing your Project ISA
Tue, April 10 Hacking the Assembler Infrastructure
Tue, April 17 Hacking the Simulator Infrastructure slides
Tue, April 24
Tue, May 01 NONE
Tue, May 08 NONE slides
Tue, May 15 Midterm Review slides
Tue, May 22 NONE
Tue, May 29 Midterm Solutions
Tue, June 05 Caching and Virtual Memory slides


* Homeworks should be done individually. You may talk to one another, but should not look at each other's solutions
* For all homeworks, please create a cover page. The cover page should contain the following info: course (CSE141), term (Spring 2012), homework number (e.g. HW #1), name, and date.
* Typed solutions will make the TA smile but are not strictly required.
* All homeworks are due in Sumit's mailbox (Room 2237, CSE Department, Mailbox Name : "Dhoble, Sumit Sharad"). No late assignments will be accepted! DO NOT submit your homework via e-mail.

Assignment #1 Due Fri, April 13, 5 pm 2.3.1ab 2.3.2ab 2.3.4a 2.4.1b 2.5.5b 2.6.4b 2.8.2ab 2.11.3ab 2.12.1a 2.12.2b 2.15.2a 2.17.5b 2.19.1a 2.26.1b
Assignment #2 Due Fri, April 27, 5 pm 2.38.1a 2.38.2a 2.38.3a 2.39.1b 2.39.2b 2.39.4b 2.39.5b 1.4.4ab 1.4.5ab 1.4.6ab 1.12.4a 1.13.4a 1.16.1ab 1.16.2ab
Assignment #3 Due Fri, May 11, 5 pm 1.3.1a 1.3.2a 1.3.3a 1.4.1a 1.15.1a 1.15.3a 1.15.6a 4.1.1b 4.1.2b 4.1.3b 4.1.6b 4.2.1a 4.2.2a 4.2.3a 4.6.1a 4.6.2a 4.6.3a 4.9.2a 4.9.3a 4.12.1b 4.12.3b 4.12.5b
Assignment #4 Due Fri, June 1, 5 pm 4.13.1a 4.15.1b 4.17.4a 4.17.5a 4.17.6a 4.19.1a 4.19.2a 4.19.3a 4.19.4a 4.20.1a 4.20.2a 4.20.3a 4.21.1a 4.21.2a 4.23.1a 4.23.2a 4.23.3a 4.24.1a 4.24.3a 5.2.2b 5.2.3b 5.3.3a 5.8.1a 5.10.1a
Assignment #5 Due Fri, June 8, 5 pm 5.7.1a 5.7.2a 5.7.3a 5.7.4a 5.7.5a 5.7.6a 5.17.1a 5.11.1a 5.11.4 5.11.5 5.11.6 7.6.1 7.6.2 7.6.3 7.11.1 7.11.2 7.11.3 7.11.4


Quiz #1 TBA

Academic Integrity

Cheating is unacceptable. Our policy in this class is to aggressively pursue cheaters, and to ensure that they receive the maximum penalty allowable under the University of California academic system. 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.

Exams You must work independently on exams. You may be held responsible if you allow others to copy your work.

Project For the project, if students are allowed to work in groups, you may obviously work with your group members. With non-group members, you may brainstorm about the ISA but you better make sure there are substantial differences between your ISA encodings and features, and you must write your own code. We will use automatic software for finding inappropriate similarities between student code, and substantial similarities in student work (including to previous teachings of the class) could result in us requiring the student to redo the assignment, or in cases of copying, referring the student to UCSD for cheating.

HW For homeworks, you may study and work with other students. However, you may not look at their write-ups. and you should not look at another student's homeworks before you have done the assignment yourself. A solutions manual, meant only for instructors, exists for this text. Obtaining or using this or other materials (such as other faculty's posted solutions to book problems) is cheating.


Project 1: Design Your Own ISA