CSE140 Computer Architecture (Fall semester 2007)
Miguel Á. Carreira-Perpiñán
Electrical Engineering and Computer Science
School of Engineering
University of California, Merced
Office: 284, Science & Engineering Building
Office hours: by appointment (call or email, including [CSE140] in the subject).
TA: Yazhou (David) Huang, yhuang6-[at]-ucmerced.edu (SE290).
Lectures: Mondays 12-1:20pm and Fridays 11-12:20pm (Linux Lab, SE154)
Lab class: Thursdays 4-7:50pm (Linux Lab, SE154)
Course web page: http://faculty.ucmerced.edu/mcarreira-perpinan/CSE140
Fundamental concepts of digital computer design, including instruction sets, memory systems and registers, logic and mathematics units, and off-cpu communication and control. Course will also survey the diversity of contemporary computer designs.
Required textbook (get the errata and additional errata):
Note some of the sections and appendices are online in the book CD. The companion site for the book has errata and solutions to "For More Practice" exercises. I recommend (but don't require) that you read the "Historical perspective" online chapters.
Other books recommended as additional reading:
Syllabus and required textbook reading
Before each class, you should have read the corresponding part of the textbook. I will teach the material in the order below (which is more or less the order in the book). Generally, skip all online content unless noted below.
- Ch. 1: Computer Abstractions and Technology.
- Ch. 2: Instructions: Language of the Computer.
Read also 2.12.
- App. A: Assemblers, Linkers, and the SPIM Simulator.
- App. B: The Basics of Logic Design.
- Ch. 3: Arithmetic for Computers.
- Ch. 4: Assessing and Understanding Performance.
- Ch. 5: The Processor: Datapath and Control.
Skip 5.5 (except p. 318-324, fig. 5.30 and the example in p. 330), 5.6-5.9, 5.12.
- App. C: Mapping Control to Hardware.
- Ch. 6: Enhancing Performance with Pipelining.
Skip 6.7-6.10 and the details of the pipeline registers and control in 6.4-6.6.
- Ch. 7: Large and Fast: Exploiting Memory Hierarchy.
- Ch. 8: Storage, Networks, and Other Peripherals.
- Ch. 9: Multiprocessors.
Handouts and lab assignments
- I will give in-class quizzes periodically, mostly consisting of exercises from the textbook. They will make up a portion of your final grade. I strongly recommend that you try to solve as many of the book exercises on your own ahead of time.
- Projects (to be submitted and graded):
- Project #1 (MIPS programming) due Nov 29 at noon, in groups of 1 or 2 students. Late projects will get a grade of zero.
The following tools will be useful for the lab work (they are all installed in the Linux lab):
- SPIM MIPS Simulator. Appendix A of the textbook describes it.
- C cross-compiler for MIPS. If you want to install it in a Linux PC, use these binaries; uncompress the file in /opt/ccmips, add /opt/ccmips/bin to your PATH, then try mips-gcc, etc.
- Text editors: XEmacs (reference card), vi.
- Programming tools (check their respective man pages): gcc, as, ld, od, xxd, gdb, xxgdb, ddd, ar, nm, objcopy, objdump, readelf, size, gcov, gprof, oprofile.
- Midterm exam (25%): in-class, partly closed-book, consisting of problems and conceptual questions.
- Final exam (25%): as the midterm.
- Quizzes (25%): in-class, open-book, consisting of exercises (partly from the textbook); bring the textbook & green card, a printout of appendix B and a calculator (but no computers).
- Lab projects (25%).
While I encourage you to discuss your work with other students, the projects and the exam must be the result of your own work without collaboration.
Grade curves: as of Nov. 20 and final.
Miguel A. Carreira-Perpinan
Last modified: Mon Jan 21 18:16:43 PST 2008
UC Merced |
MACP's Home Page