Computer Science 471:
Computer Architecture and Organization

Course Information--Fall 1996

Course Description

This course is an introduction to computer architecture and organization, with a special focus on the principles underlying contemporary, mainstream, uniprocessor design. It will explore the interaction of hardware and software, and consider the efficient use of hardware to achieve high performance. Topics will include the MIPS instruction-set architecture, computer arithmetic, processor design, performance measurement and analysis, pipelining, caches and virtual memory, high-performance MIPS implementations, parallel processors, and design tradeoffs among cost, performance, and complexity.

Administrative matters


Douglas Clark
309 C.S. Building, 258-6314
Office hours: just drop in, or make an appointment

Teaching Assistants

Scott Karlin
316 C.S. Building, 258-5386
Office hours: Wednesdays 9--11 AM

Xiang Yu
215 C.S. Building, 258-5388
Office hours: Thursdays 3--5 PM

When and where

Tuesdays and Thursdays, 10:30--11:50, room 105 CS Building (small auditorium)


Prerequisites for this course are COS 217, Introduction to Programming Systems, and ELE 206/COS 306 (formerly ELE 275/COS 371), Introduction to Logic Design.


Class participation

This course uses a discussion, not lecture, format. The quality and quantity of student participation in class discussions is worth one-third of the course grade. Each class will cover particular subjects; students will be expected to have carefully read the relevant assigned readings and to have prepared responses to, and analyses of, any assigned discussion questions or topics. Participation grades will reflect the quality of the student's analysis as well as the student's contribution to the process of discussion: making connections with other students' remarks, raising overlooked issues, asking good questions, making good summaries.

Problem sets

Weekly problem sets, together worth one-third of the course grade, will be assigned. Problem set questions will usually fall into two categories: relatively straightforward questions that test understanding of text material, and more open-ended questions that test a student's ability to apply and extend this material. Many problems will involve hardware design at various levels, some will involve program-writing, and some will involve quantitative analysis of performance and cost. Problem set solutions will be due on Mondays by 5 PM, except that in the week after Thanksgiving the problem set will be due by 5 PM Wednesday. No credit will be given for late papers unless there are extraordinary circumstances and/or prior arrangements. The first problem set will be due Monday, Sept. 23, and there will be no problem set due Monday, Nov. 4 (the day after fall break).

Policy on collaboration. Collaboration on problem sets is highly encouraged, within reasonable, common-sense limits. Students are expected to discuss problem set questions with each other, and to cooperate on solutions. Write-ups, however, should be done by individual students, and the names of collaborators should appear on the paper. Please see the instructor if you need somebody to collaborate with.


A take-home, open-book midterm examination will be given during the week after fall break. It will cover material presented and discussed in the classes and assigned reading through Tuesday, Nov. 5. It will be worth one-ninth of the course grade.

A take-home, open-book final examination will be given during the fall-term exam period. It will cover all of the assigned readings and material presented and discussed in class. It will be worth two-ninths of the course grade.

Policy on collaboration. Are you kidding? No collaboration on take-home exams.



David Patterson and John Hennessy, Computer Organization and Design: The Hardware/Software Interface, 2nd edition, Morgan Kaufmann Publishers, San Mateo, CA, 1997.

NOTE: We will be using the pre-publication ``beta'' version of the second edition of the text, available at the U-store in softcover form.

Other readings

Copies of any supplemental readings will be handed out in class.


Introduction: Sept. 12

Review of Logic Design: Sept. 17

The MIPS Instruction-Set Architecture: Sept. 19, 24

Arithmetic for Computers: Sept. 26, Oct. 1

MIPS Processor Design: Oct. 3, 8, 10, 15

Processor Performance: Oct. 17, 22

Pipelining: Oct. 24, fall recess, Nov. 5, 7, 12

TAKE-HOME MIDTERM given during first week after fall recess

Memory Hierarchy: Nov. 14, 19, 21, 26

Advanced MIPS implementations: Dec. 3, 5

Parallel Processors: Dec. 10, 12

TAKE-HOME FINAL EXAM given during exam period

Doug Clark, 8/16/96