Computer Science 252: Graduate Computer Architecture

University of California
Dept. of Electrical Engineering and Computer Sciences
David E. Culler
TA: tbd
Spring 2003
Announcements | Description | Organization | Projects | Schedule (daily) | Handouts | Related | Links


Take home exam: PDF formatDOC format

Project Presentation Schedule

Monday May 12

Sensor Networks with Base Stations
Participants: Andrej Bogdanov, Elitza Maneva, Samantha Riesenfeld

Dynamic voltage-scaling at link-time, Ben Schwartz

Evaluation of Matrix Operation on Reconfigurable Application Driven Computing Platform
Participants: Chen Chang, Gerald Wang
Project Webpage:

Simulation of Localization Algorithms, Tye and Long

Aggregation Query Under Uncertainty in Sensor Networks
Participants: Yozo Hida, Paul Huang, Rajesh Nishtala
Project Webpage:

Efficient Broadcasts in Sensor Networks
Participants: Sanjeev Kohli, Vinay Krishnan, Cheng Tien Ee
Project Webpage:

Analysis of Speech Recognition for Low-Cost Hardware
Participants: Sukun Kim, Sergiu Nedevschi, Rabin Patra
Project Webpage:

Current Project List

CS grads: the faculty voted to change the Preliminary Breadth Courses requirements in Fall 2000 to be systems, theory, and systems meets theory: therefore CS 252 is included with a set of systems courses such as CS262 or CS267.

Catalog Description  (online schedule)

Graduate survey of contemporary computer organizations covering: early systems, CPU design, instruction sets, control, processors, busses, ALU, memory, pipelined computers, multiprocessors, and case studies.
Term paper or project required.Three hours of lecture per week.
Prerequisites: CS 152 or equivalent.

Expanded Description

Computer architecture is a vibrant and ever changing area; this course will attempt to convey that to students.   It focuses on the design and implementation of computer systems, as well as techniques for analyzing and comparing alternative computer organizations.  We will take the broad view of computer architecture as it evolves - not just CPU design, but the places where hardware and software come together from tiny embedded devices to massive internet service platforms.
Students will learn about styles of computer implementation and organization from a historical and modern perspective. Traditional concepts such as pipelining, instruction-level parallelism, memory hierarchies, and input/output architectures will be discussed. Further, modern issues such as data speculation, dynamic compilation, communication architecture, multiprocessors, and VLSI scaling concerns will be introduced and discussed. Cutting-edge paradigms such as low-power wireless, network processors, reliability, and scalable systems will be explored

In addition to the textbook, this course includes a number of readings from research papers. Such papers are important for a number of reasons, not the least of which is to understand that design decisions are not always black and white. Students will also undertake a major computing systems analysis and design project of their own choosing.

This term I hope to make the class very interactive.   We have a very good text and a solid basis of original papers.  Lectures will be a discussion around issues raised by the readings and a counter-point, rather than a rehash of the reading material.  You must do the reading assigned in the schedule for each class prior to the class meeting and bring one question raised by what you have read.  Questions will be collected at the beginning of class and will serve to guide how the lecture material unfolds and as a starting point for discussion.

Course Grading

20% Class Participation, including discussion questions.
10% Homeworks (work in pairs)
30% Examinations (1 Quiz, 1 Take home)
40% Research Project (work in pairs)

Departmental Grading Guidelines for Graduate courses


 Professor David E. Culler
  627 Soda Hall, 643-7572,
 Office Hours: Mon 2:30 - 3:30, Wed 11-12, or by appt.
contact Willa Walker, 643-2568, 
willa@EECS.Berkeley.EDU, 626 Soda, for appt.


Lecture: M,W 1:00 - 2:30 310 Soda Hall


The class newsgroup is ucb.class.cs252


J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 3rd Edition, Morgan Kaufmann Publishing Co., Menlo Park, CA. 2002. 
Readings in Computer Architecture, Mark Hill (Editor), Norman Jouppi (Editor), Gurindar Sohi (Editor), Morgan Kaufmann Publishing Co., Menlo Park, CA. 1999

Course Schedule

See linked schedule page.

Every effort will be made to get the notes on the web prior to the lecture. Note, however, that the notes may be updated slightly following the lecture. Click here for instructions regarding how to view pdf files.

Permission is granted to copy and distribute this material for educational purposes only, provided that the complete bibliographic citation and following credit line is included: "Copyright 2002 UCB." Permission is granted to alter and distribute this material provided that the following credit line is included: "Adapted from (complete bibliographic citation). Copyright 2003 UCB."

This material may not be copied or distributed for commercial purposes without express written permission of the copyright holder. The only exception is for copies of these lecture notes for course readers from copy companies like Copymat or Kinkos.

Course Projects

Click here to see a list of suggested projects.  (under construction).

Related Course Pages

Spring 2002 Spring 2001

Fall 2000

Fall 1999

Spring 1998

Fall 1997

Fall 1996

Spring 1996

Fall 1995

Fall 1994

Other Useful Links and Resources

Search Utilities





CPU info