CSE 548: Computer Architecture

Winter 1999

MWF 10:30-11:20

155 Loew Hall


Susan Eggers, 315 Sieg, 543-2118, eggers@cs.washington.edu

Office Hours: Tuesdays, 11:30 - 12:20 and Fridays, 1:30 - 2:20


Sujay Parekh, 109A Chateau, 616-1846, sparekh@cs.washington.edu

Office Hours:

Course Material

The purpose of this course is to give you a broad understanding of the concepts in computer architecture and to illustrate those concepts with modern machine examples and performance studies. We will cover the design of instruction sets, processor implementations, pipelines, caches, memory systems, and, if there is time, I/O systems, interconnects and parallel architectures, all with a view toward evaluating the designs in terms of functional and performance goals. Not all topics will be covered in the same depth. For example, I assume your background in instruction set design is solid; we will only update it with the new instructions on the current microprocessors. I assume your background in pipelining is not; and therefore we will start with the basics (but go fast through what is considered to be "undergraduate" material).


To a large extent 548 is a reading course. You will be expected to read about 600 pages of text (what you read will depend on your background in architecture -- and the text is an easy read) and selected papers that will be passed out as the course progresses. To get the most out of the lectures, try to read the material before topics are discussed in class.

The text is: John L. Hennessy & David A. Patterson, Computer Architecture: A Quantitative Approach , second edition, Morgan Kaufmann, 1996. It will be supplemented with a limited number of papers from Microprocessor Reports , which will describe the new machines.


There will be several homework assignments. Some will be experimental studies that will give you experience in evaluating architecture designs and hone your intuitions about the performance ramifications of changing certain aspects of the architecture. These will utilize the software simulators and performance tools we normally use in the department.

There will also be a few "paper" assignments, primarily problems assigned from the book. These will range from numeric computer performance problems to performance studies to design analysis. Their primary purpose is to give you practice in performance measurement and analysis. To be kind to our TA, all homework is due at the beginning of class; no late assignments will be accepted.


There will be a midterm and a final. The final will cover material from the entire course, but will be heavily biased toward what we discuss after the midterm.


Grades will be computed using the following approximate weighting: midterm = 25%, final = 35% (or maybe 30%/30% if they are both midterms) and assignments = 40%.


We will communicate a lot through e-mail. Sujay and I will be mailing out assignments and clarifications of the assignments, if needed. And you should use e-mail for asking and answering each others' questions. (But if you have questions that need a detailed or long explanation, it would be much easier to come to our office hours.) Therefore you should register on the class mailing list immediately.