Three hours of lecture and two hours of TA design review per week.
A series of computer design project labs are the centerpiece of the
Topics: Instruction set design, Register Transfer Level
(RTL) machine description. Data-path design. Controller design. Caches
and memory systems. Addressing. Microprogramming. Computer
arithmetic. Survey of real computers and microprocessors. Computer
Prerequisites: CS 61(c). Also, starting Spring 2006, CS
150. For Spring 2005, students who have not taken CS 150 will
be expected to attend the first four 150 Lab Lectures (Fridays 2-3 in
125 Cory), and to complete the first four 150 Labs as self-study
assignments (not to be handed in or graded).
Location: Lectures are on Tuesday and Thursday 12:30-2, 310 Soda Hall.
Labs are held in 119 Cory, with overflow into 125 Cory if 119 Cory is
full (CS 150 students have priority in 125 Cory). Design reviews
are (tentatively) on Fridays 12-2 in 119 or 125 Cory.
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. A series of computer design project labs are the
centerpiece of the course. The project labs are team projects, with
4-5 students per team. The final lab requires 100+ hours of work per
student. We will implement a major subset of the MIPS architecture to
the gate level and run it on FPGAs.
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,
by David A. Patterson and John L. Hennessy.
This is a brand new (and cheaper!) edition; second edition
won't work for the course. Check www.bookpool.com for a low price
- 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.
- 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.
- 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
Consult the class schedule for due dates of homeworks and labs.
No late homeworks will be accepted.
A significant part of your lab grade is based on how well your group
meets its milestones at each Friday design review TA meeting.
Success in meeting the deadline for each Lab's final report is also a
component of your lab grade.
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.
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.
groups to get an email version of ucb.class.cs152.
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 early evening.
Four Labs will total about half of the grade, with relative weighting
roughly corresponding to the number of course weeks devoted to the lab.
Two mid-terms, two homeworks, peer evaluations, and staff evaluations will
make up the remainder of your grade.
Except for simple clerical errors (totalling points incorrectly, etc) any
regrading request to result in a regrading of the entire homework, lab,
or mid-term. So, your grade may actually go down instead of up. You
have been warned.
We may impose "regrading deadlines" for a specific lab, mid-term, or
homework. No requests for regrades may be submitted after the deadline.
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:
- The instructor may take actions such as:
- require repetition of the subject work,
- assign an F grade or a 'zero' grade to the subject work,
- for serious offenses, assign an F grade for the course.
- The recommended action for cheating on examinations or term papers
- 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.
- The instructor must retain copies of any written evidence or
- 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.
- The Office of Student Conduct may choose to conduct a formal hearing
on the incident and to assess a penalty for misconduct.
- The Department will recommend that students involved in a second
incident of cheating be dismissed from the University.