CS838: Chip Multiprocessor System Design

Professor David Wood
Fall 2003

Course Description

This course is the pilot offering of a new project-oriented advanced computer architecture course. The course goals include integrating theory and practice while focusing on a specific computer system design project. Participants in the course will read and discuss current literature to learn the state-of-the-art, identify outstanding problems that require further study, and then break into small groups to design or evaluate specific alternatives. Each project group will present their work to the entire class, which will then critique the individual projects and combine them into a final course design summary. Each offering of this course will focus on a different computer design project.

The pilot offering of this course will focus on the design of Chip Multiprocessor (CMP) systems. As semiconductor technology continues to scale, it becomes increasingly possible to put multiple processors on a single chip. For example, the IBM Power4 system integrates two processors on one chip and four chips on a single multichip module (MCM). Larger Power4 systems combine multiple MCMs on a printed-circuit board. Future systems may include many more processors per chip, more chips per system, and more levels of hierarchy. This course will focus on designing a future CMP system for technology available in 2007. We will investigate the trade-offs between computation, caching, and communication in such systems. We will consider constraints due to semiconductor technology, packaging, power, etc.

This course is open to graduate students in Computer Sciences and Computer Engineering. CS/ECE 752 is required, CS/ECE 757 is strongly recommended, and CS/ECE 755 will be very helpful. STUDENTS MUST HAVE RECEIVED A GRADE OF AT LEAST AB IN CS/ECE 752 AND EACH COMPLETED RECOMMENDED COURSE. Although this is primarily a computer architecture course, qualified students with research interests in compilers, operating systems, and VLSI technology are encouraged to take the course, since CMP systems present unique problems and opportunities in these areas. Because of the collaborative structure of the course, the number of students will be strictly limited. If the course is over-subscribed, enrollment will be by permission of the instructor.

Table of Contents

  • Contact Information
  • Course Information
  • Readings
  • Notes
  • Project
  • Grading
  • Miscellaneous

  • What's New?


    Prof. David Wood

    Course Information


    The course readings will be drawn from the recent and classical literature. Readings should be done BEFORE coming to class. A significant fraction of a student's grade will be based on their participation in the discussion. Students are expected not only to read the assigned papers, but to search the literature for relevant papers that should be read for further discussion. Each student will be expected to act as "facilitator", and lead the discussion of a particular paper or set of papers on a common topic.

    Assigned Readings

    Online access to Computer Architecture publications



    Each facilitator is responsible for summarizing the discussion about (and inspired by) their paper. The notes can be viewed and submitted via the links below.


    Each student, in groups of up to three students, will identify an important design problem and perform research to evaluate alternatives. Project topics will be agreed upon in advance with the instructor and must fit in the overall design concept and other student's projects.

    The final result of these small group projects will be a written report discussing the issues, alternatives, research methods, results, and design conclusions. This report will be presented to the class in a graded presentation approximately two weeks before the semester ends.

    Grading (Approximate)