This course is an introduction to computer architecture and organization,
with a special focus on the principles underlying contemporary,
mainstream, uniprocessor design.
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.
215 C.S. Building, 258-5388
Office hours: Thursdays 3--5 PM
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.
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.
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.
Copies of any supplemental readings will be handed out in class.