CSE 141: Introduction to
Computer Architecture


Instructor

Michael B. Taylor
email
EBU 3B 3202 office

Teaching Assistants

Greg Long
email
office
gchat
Vineet Kumar
email
office
gchat

Class Meetings

DateTimeLocation
Lecture TuTh 2:00p-3:20p Center 216
Discussion W 12:00p-12:50p Center 113
Final 6/7/2011 3:00p-5:59p TBA


Join and monitor this google group immediately:
cse-141-taylor
     

Office Hours

Prof Michael Taylor
when Immediately after class;
let me know if you plan to attend.
where On the way to my office
and then in my office (3202).
   
HW & Exam TA Greg Long
when TTh 1:00pm-2:00pm
where EBU3B 250A
 
Project TA Vineet Kumar
when Th 4:00pm-5:00pm
Sat 2:00pm-3:00pm
where EBU3B B260A

News

March 29 8pmWe have decided to make the first three discussion sections mandatory. Please attend, and apologies from the change from what I told you in class!
March 29 8 pmDiscussions will be in Center 113 at 12p on Wednesdays



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

David Patterson and John Hennessy. Computer Organization and Design, Fourth Edition: The Hardware/Software Interface.

You MUST have in your possession a copy of the book and this edition of the book.

Some students have noted that it is available on Amazon for 26% off and students get free 2-day shipping with Amazon Student.

Grading

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. Due in Greg's mailbox by 5pm, Fridays.
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.


Schedule

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, March 29 Overview, Administrivia, ISA Design slides
Thu, March 31 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.

Lab 1 Out:
    Design Concept: Apr 10
    Alpha release: Apr 17
    Beta release: Apr 24
    Final deadline: May 1
slides
Tue, April 05 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 07 Instruction Set Design
Tue, April 12 Measuring Performance Read: 1.4-1.9; Key points: Speedup. The performance equation. Amdahl's law. Benchmarks and their shortcomings slides
Thu, April 14 Measuring Performance
Tue, April 19 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 21 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, April 26 Pipelining; Branch Prediction Read: 4.7-4.8 slides
Thu, April 28 Data hazards; Control Hazards; Branch Prediction Read: 4.9,4.10,4.11 slides
Tue, May 03 More Branch Prediction slides
Thu, May 05 ISA Bake-off; Pizza fest slides
Tue, May 10 ISA Bake-off Final Round; Test Q&A
Thu, May 12 Midterm
Tue, May 17 Caches; Memory Systems Read: 5.1-5.3 slides
Thu, May 19 Advanced caching and VM Read: 5.4-5.5 slides
Tue, May 24 I/O & VM Read: 6.1-6.13
Thu, May 26 Multiprocessors/GPU Intro Read: 7.1-7.3; 7.7 slides
Tue, May 31 CMPs
Thu, June 02 Final Review

Discussion Schedule

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

Wed, March 30 Designing your Project ISA
Wed, April 06 Hacking the Assembler Infrastructure
Wed, April 13 Hacking the Simulator Infrastructure slides
Wed, April 20
Wed, April 27 NONE
Wed, May 04 NONE slides
Wed, May 11 Midterm Review slides
Wed, May 18 NONE
Wed, May 25 Midterm Solutions
Wed, June 01 Caching and Virtual Memory slides


Assignments

* 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 2011), homework number (e.g. HW #1), name, and date.
* Typed solutions will make the TA smile but are not strictly required.
* All homeworks should be submitted to Greg's mailbox (room 2237 in the CSE building) on or before 5pm on the due date. No late assignments will be accepted! DO NOT submit your homework via e-mail.
* Due to the Saturday due date, Homework 1 can be submitted electronically to Greg in PDF form, or as a hardcopy to Vineet during his office hour on Saturday.

Assignment #1 Due Sat, April 09 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 15 2.38.1a 2.38.2a 2.38.3a 2.39.1b 2.39.2b 2.39.4b 2.39.5b 1.4.5 1.4.6 1.8.1 1.8.2 1.12.4a 1.13.4a 1.16.2b
Assignment #3 Due Thurs, April 28 1.3.3 1.3.6 1.4.1 1.6.1a 1.15.1a 1.15.3a 1.15.6a 4.1.1b 4.1.2b 4.1.3b 4.1.6b 4.2.2a 4.2.3a 4.6.1a 4.6.2a 4.6.3a 4.9.2a 4.12.2b 4.12.5a 4.13.1a 4.15.1b
Assignment #4 Due Fri, May 6 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
Assignment #5 Due Wed, May 25 4.23.1a 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 #6 Due Fri, June 3 5.7.3a 5.17.1a 5.11.1a 7.3.1 7.3.2 7.6.1 7.6.2

Midterm Solution

Quizzes

Quiz #1 Due Tues, May 31 pdf


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.

Projects

Project 1: Design Your Own ISA