CS 152
Computer Architecture and Engineering
CS152 Fall 2004
TuTh -- 11 AM to 12:30 PM
320 Soda Hall

Dave Patterson | John Lazzaro
Douglas Densmore | Ted Hong | Brandon Ooi

News and Calendar | Course Info | Resources | Staff | WebNews | WebGrades | Projects | MIPSASM
Course Policies and Info

Course Format:

Three hours of lecture and two hours of discussion per week and one large design project.

Instruction set design, Register Transfer. Computer design project. Data-path design. Controller design. Caches and memory systems. Addressing. Microprogramming. Computer arithmetic. Survey of real computers and microprocessors.

Prerequisite: CS 150. The CS 152 labs and project have been updated, and now assume that students have successfully completed the CS 150 lab work. Note the change from previous semesters.

Location: Lectures are on Tuesday and Thursday 11-12:30, 320 Soda Hall. Sections are on Friday, 12-2 (85 Evans) and 2-4 (87 Evans). Labs are held in 119 Cory, with overflow into 125 Cory if 119 Cory is full (CS 150 students have priority in 125 Cory).

Expanded Description:

This course will give you an in-depth understanding of the inner-workings of modern digital computer systems and tradeoffs present at the hardware-software interface. You will get an understanding of the design process in the context of a complex hardware system, practical experience with computer-aided design tools, and running your designs on real hardware. Topics include: Instruction set design, computer arithmetic, controller and datapath design, cache and memory systems, input-output systems, networks interrupts and exceptions, pipelining, performance and cost analysis, computer architecture history, and a survey of advanced architectures. There will be a computer design project requiring 100+ hours. We will implement a major subset of the MIPS architecture to the gate level and run it on FPGAs.

Course Materials:

We will be using the third edition of Patterson and Hennessy's Computer Organization and Design book (2nd edition won't work for the course).

The "MIPS RISC Architecture" book may be helpful for the project and will be on reserve in the Engineering Library.

"See MIPS Run" may also be helpful. It will also be on reserve.  

"Computer Architecture: A Quantitative Approach" is an advanced reference, but is not required for the course. It will also be on reserve.  

  • Computer Organization and Design: The Hardware/Software Interface, Third Edition
    by David A. Patterson and John L. Hennessy.
    (required) This is a brand new (and cheaper!) edition; second edition won't work for the course. Check www.bookpool.com for a low price online.
  • MIPS RISC Architecture, Second Edition
    by Gerry Kane and Joe Heinrich, Prentice Hall.
    This provides a complete reference on the MIPS instruction set and has very nice treatment of pipelined design.
    (on reserve)
  • See MIPS run
    by Dominic Sweetman, Morgan Kaufman Publishers.
    Provides an in-depth, easy to use guide to the MIPS instruction set, including special attention to processor control.
    (on reserve)
  • Computer Architecture: A Quantitative Approach, Third Edition
    by John L. Hennessy and David A. Patterson.
    This is a more advanced text, used in CS252. It is available for occasional supplementary reading.
    (on reserve)

Course Operation:

    Homework exercises will reinforce the readings and lectures. Laboratory assignments will help you develop experience with the design tools, and let you experiment with the design of an actual processor.

    No late homeworks will be accepted. Labs will be demonstrated in Section on Fridays, and reports will be due by 11:59pm on the following Mondays via the submit program.

    For the laboratory assignments, we will be using the workstations in 119 Cory Hall. Additional workstations will be available in 125 Cory Hall. The workstations in 125 Cory are to be used only after the workstations in 119 are all full. The workstations in 119 are faster and more powerful. 125 Cory is also used by EECS150 students, who have priority in that lab.

    Final projects will be presented to the course staff at the end of the term, with a written project due the following week.

    Consult the class schedule for due dates of homework exercises, labs, and projects.

    We will be using the class homepage to communicate updated information; please monitor it on a regular basis. Also monitor the newsgroup ucb.class.cs152, and use it to ask questions of general interest about the labs, homeworks, etc.

Academic Honesty:

    Like all EECS courses, CS 152 follows the EECS Departmental Policy on Academic Dishonesty. Please read the policy below and become aware of our expectations:

    Copying all or part of another person's work, or using reference material not specifically allowed, are forms of cheating and will not be tolerated. A student involved in an incident of cheating will be notified by the instructor and the following policy will apply:

    1. The instructor may take actions such as:
      1. require repetition of the subject work,
      2. assign an F grade or a 'zero' grade to the subject work,
      3. for serious offenses, assign an F grade for the course.
    2. The recommended action for cheating on examinations or term papers is 1(c).

    3. The instructor must inform the student and the Department Chair in writing of the incident, the action taken, if any, and the student's right to appeal to the Chair of the Department Grievance Committee or to the Director of the Office of Student Conduct.

    4. The instructor must retain copies of any written evidence or observation notes.

    5. The Department Chair must inform the Director of the Office of Student Conduct of the incident, the student's name, and the action taken by the instructor.

    6. The Office of Student Conduct may choose to conduct a formal hearing on the incident and to assess a penalty for misconduct.

    7. The Department will recommend that students involved in a second incident of cheating be dismissed from the University.

Course Grading:

    The CS Division guideline for an upper division CS class is that the overall class GPA should be between 2.7 and 3.1. Thus, the average grade in this class will be a B or B+. Please set your expectations accordingly.

    There will be two midterm exams covering the material from the readings and class---and no final. They will be given over a 3-hour period in the evening to reduce time pressure.

    Homeworks:  8%  (2% each) 
    Labs:  30%   
    Final Project:  20%   
    2 Exams:  32%  (16% each) 
    Group/Section Participation:  10%   

Re-grading policy:

From our perspective, re-grading is the worst part about teaching a course; we are all overworked, and we hate dealing with grade-grubbing. In order to minimize the psychic pain on our side, we set forth this re-grading policy. If you are thinking about requesting a re-grade, please read and follow the guidelines listed below. Failure to do so may result in a re-grade that actually decreases your score or that seriously irritates your TA.

1.      Unless the error is in the totaling of points, do not ask for a re-grade before the solutions and grading standards are posted! (And, since your TAs are already overworked and re-grades are very low on our priorities list, it may take a while for solutions and grading standards to be posted just be patient.)

2.      We will only re-grade entire assignments (not just single problems or subproblems), so if you are thinking about asking for a re-grade, be sure that your score will actually go up. (My experience is that most re-grades tend to lose more points than they gain you've been warned.)

3.      Be advised that we tend to grade very leniently the first time around each assignment have some fluff built into it (so that, on average, you will tend to get more points than the standard would otherwise indicate). However, if you ask for a re-grade, we will be re-grading the entire exam strictly according to the grading standard. (Meaning: much more harshly you've been warned.)

4.      If the standards are out and you're sure that you will gain points, you can submit the assignment to your TA for a re-grade. You must submit your regrade request in writing to your TA. Your re-grade reqesut should very specifically mention exactly why you think you should get points back. Your TA will not grade it on the spot; rather, he will take it to the weekly staff meeting where we will all re-grade it together. The entire process may take several weeks (depending on how busy we all are), so please be patient.

5.      At some point in time, we may present a re-grade deadline. Any re-grade requests received after the deadline will be rejected no matter what! We are very busy at the end of the semester, so we can't spend all our time re-grading stuff.

(We're not trying to be jerks with this policy; rather, we are just trying to ensure that our time is spent doing productive work rather than nitpicking with students over of 1% of their grade.)


© 2004 UCB http://www-inst.eecs.berkeley.edu/~cs152/