CSE 141: Introduction to
Computer Architecture


Instructor

Prof. Michael B. Taylor
email
EBU 3B 3202 office

Teaching Assistants

Shelby Thomas
email
office
gchat

Chetan Gokhale
email
office
gchat

Gautam Akiwate
email
office
gchat

Class Meetings

DateTimeLocation
Lecture TuTh 5:00-6:20p WLH 2001
Discussion 1 Wed 7:00-7:50p WLH 2005
Discussion 2 Wed 8:00-8:50p WLH 2005
Final 3/20/2014 7:00p-9:59pm TBA


     

Office Hours




News

Mar 6 The project is out! See the bottom of this webpage. Due Monday March 17, by 5pm. Extended to 5pm Friday 21st. You may work in groups of 2.
Feb 26Homework 3 is due Friday, March 7.
Jan 31 Homework 2 is out, due Friday, February 7, by 5pm. You will also need this reference schema.
Jan 20 Homework 1 faq released.
Jan 15 Homework 1 is out, due Friday, January 24, by 5pm.
Jan 15 Office hours are posted!
Jan 7Join and monitor this google group immediately:
cse-141-taylor

Course Description


The course examines the basics of modern processor design and 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. We expect that you are enrolled in both. If you are not, you may get away with it as long as you follow the Shrodinger's Cat principle: make sure that we have no way of telling the difference between you and a student who is cross-enrolled. In practice, this means finding a 141L student to help you stay synched.


Required Textbook

We use the following 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.

Note: This link activates amazon.com commissions that will be used to support the 141/141L course, whether it is class prizes, pizza for TA's grading exams, etc. You are free not to use the link, or to use it for buying all of your textbooks and amazon.com items.


Note that there is a fifth edition, that we will *not* be using. Save your money and get a used one! Regretably, we will not be able to support inquiries related to any other editions of the book.

Note also that you may be able to access the book on-campus through the UCSD Library. Regretably, we cannot grant exceptions if you are relying upon this resource and are unable to access it for some reason; your safest option is to acquire a physical copy of the book.

Grading

Project(s) 25%
Midterm 20% Closed book.
Final 35% 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 +5% or more In class

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, January 07 Overview, Administrivia, ISA Design slides
Thu, January 09 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.

slides
Tue, January 14 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, January 16 Performance Read: 1.4-1.9; Key points: Speedup. The performance equation. Amdahl's law. Benchmarks and their shortcomings slides
Tue, January 21 Single Cycle Implementation 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. slides
Thu, January 23 Bitcoin Mining HW 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, January 28 Pipelining; Branch Prediction Read: 4.7-4.8 slides
Thu, January 30 Data hazards; Control Hazards; Branch Prediction Read: 4.9,4.10,4.11 slides
Tue, February 04 More Branch Prediction slides
Thu, February 06 Caches; Memory Systems Read: 5.1-5.3 slides
Tue, February 11 Read: 5.1-5.3 slides
Thu, February 13 Decoding SystemVerilog; Vanilla Networks; Yumi Read: 5.4-5.5 slides
Tue, February 18 Virtual Memory
Thu, February 20 Midterm
Tue, February 25 I/O Read: 6.1-6.13
Thu, February 27 Multiprocessors/GPU Intro Read: 7.1-7.3; 7.5; 7.7
Tue, March 04 Out of Order Superscalars Read this paper; then this paper on Intel Sandybridge. slides
Thu, March 06 GPU Read: Appendix A
Tue, March 11 No class Read first half of Warehouse scale computers slides
Thu, March 13 Warehouse Scale Computers Finish reading Warehouse scale computers

Discussion Schedule

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

Wed, January 08 ISA and Performance slides
Wed, January 15 Single Cycle Datapaths and Control Signals slides
Wed, January 22 Caches Review slides
Wed, January 29 N/A slides
Wed, February 05 N/A slides
Wed, February 12 N/A slides
Wed, February 19 N/A slides
Wed, February 26 N/A slides
Wed, March 05 N/A slides
Wed, March 12 Final and Caches 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 (e.g WI14), homework number (e.g. HW #1), name, and date.
* Typed solutions will make the TA smile but are not strictly required.




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 but you better make sure there are substantial differences between your labs, 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

You can find all the resources for the final project here: CSE141 Final Project.