Course Information for CS152: Computer Architecture and
Catalog Description: Computer Architecture and Engineering
4 units. Three hours of lecture per week, plus one section per week.
Labs. Prerequisites: CS61C.
Lectures: Tuesday and Thursday, 11am-12:30pm, 306 Soda Hall
Sections: Friday, 12-1pm, 9 Evans (followed by TA office hours from 1-2pm)
All Quizzes held in class during lecture times.
Instructor: John Wawrzynek, Professor, CS Division, EECS Department.
Office Hours: After lectures, 12:30-1:30pm every Tuesday (unless announced otherwise).
TA: Martin Maas, Ph.D. Candidate, EECS Department.
Office Hours: Friday 1-2pm, 9 Evans (after section).
The course is organized into five modules, with each module having a
problem set, a lab, and a quiz. The grade breakdown is given below, but
a failure to complete the majority (at least 3/5) of the labs will
result in an automatic F.
15% Problem Sets
We will distribute 5 problem sets for you to practice your
understanding of the course material, one for each module of the
course. The purpose of the problem sets is to provide you with typical
exercises and background material to prepare you for the quizzes. The
problem sets will be graded primarily on an effort basis, but if you do not work through the
problem sets you are unlikely to succeed at the quizzes! We will
distribute solutions to the problem sets on the day the problem sets
are due to give you instant feedback.
The labs will provide hands-on experience with the interaction of
software and hardware, for a variety of machine designs. We will be
making extensive use of existing open-source designs written in the Chisel hardware
description language. Each lab includes a directed component
to guide students in learning certain concepts, plus an open-ended
assignment to allow students to show their creativity. There will be
many subproblems to the directed components and students must complete
all of them. There are many open-ended components as well, but students
are expected to complete only one, whichever is more attractive.
While there is no particular requirement for
scripting, we found in the past that students unfamiliar with common
scripting languages spend more time to run the different simulations
and collect the necessary results the labs require. Some labs may offer
extra points in some of their components.
There will be 5 in-class quizzes covering the material learned in
readings, labs, and problem sets. These will be closed book with no
calculators, phones, or computers allowed. There is no final exam in
See also Departmental
Grading Guidelines for Undergraduate Courses.
Late Assignment Policy
Problem sets must be handed in at the beginning of class or
the due date, with no extensions possible. Each student gets two "free"
extensions of the lab assignments, where labs can be turned in two days
after the original due date. Please specify in your submission
that you are making use of a free extension. No other extensions will
unless for serious documented emergencies (in which case please let us
know before the deadline). An automatic F grade is
given if less than three labs are completed.
The problem sets are intended to help you learn the material, and we
encourage you to collaborate with other students and to ask questions
in discussion sections and office hours to understand the problems.
However, each student must turn in their own solutions to the problems.
Students are encouraged to discuss solutions to the lab
assignments with other students, but must run through the directed
portion of the lab by themselves and turn in their own lab report. For
the open-ended portion of each lab, students will work in groups of two or three.
Students are free to take part in different groups for different lab assignments.
For addition errors in the total score, return the quiz back to the TA
to get it fixed. For regrades, return the quiz to the TA within a week
of the quiz being graded with a separate sheet of paper explaining the
discrepancy. The staff will carefully regrade the entire quiz, read the
reasoning provided, and then make a final decision. Since the entire
quiz is being regraded, it is possible the total score could go down as
a consequence of previously undiscovered mistakes being found. We
therefore recommend that regrade requests only be used when the case is
strong and a significant number of points are at stake. Similar
procedures exist for labs and problem sets.
The course will use Piazza for class communication. The course page can
be found at piazza.com/berkeley/fall2016/cs152.
Currently the infrastructure for the labs will run on t7400-1.eecs,
... t7400-12.eecs. You may want to use other
servers for writing code or compiling, and you can see a full list of
them at inst.
The following textbook is required for the course:
||J. L. Hennessy and D. A. Patterson, Computer
Architecture: A Quantitative Approach, 5th Edition, Morgan
Kaufmann Publishing Co., Menlo Park, CA. 2012.
Note that the 5th edition is significantly
different than the other editions, and it is not
recommended that you attempt to use the earlier editions for this
course. The syllabus tries to identify reading material from the fourth
edition but we can't guarantee that all the material is in the older
The following textbook is recommended to refresh your
background and to provide a simpler introduction to some of the basic
concepts. Any recent edition should be sufficient for background study.