Retro school children University of Washington Computer Science & Engineering
 CSE P 548: Computer Architecture - Spring 2005
  CSE Home   About Us    Search    Contact Info 

 Course Home
   

Schedule

This course schedule will be updated, so check it often. Only the entries in bold are for sure.
The dates for the readings indicate the day that the reading should have been read.

 
Week
Topic
Reading
Homework Assignments
1
3/30
Architecture overview Let your eyes float over chapter 1. We won't cover this in class; but it is good for your general background in computer architecture. Take the undergraduate exam; due April 6.
Instruction set design Speedread chapter 2. This is a good summary of background instruction set design material. Gaze at Appendix D. Gaze is a more cursory reading than speedread.
2
4/6
Instruction-level parallelism Read section 3.1. Read the project report guidelines and the sample project report.
Experiments with branch techniques; due April 20.
Basics of pipelining Sections A.1 - A.2 is a review of the basics of pipelining and could replace reading in the undergraduate text. Only read it if you need it.
Dynamic branch prediction Read sections 3.4 and 3.5, pp. A-24-A-26, and Fig. 3-40 p. 249.
Predicated execution pp. 340-344, 356, 358.
Exceptions & pipelining Read A-37 to A-45 and A-54 to A-56.
3
4/13
Superscalars & static scheduling Read pp. 215-220.
Overview of dynamic scheduling Read pp. 181-184, 220-224.
Tomasulo's algorithm Read pp. 184-196.
4
4/20
R10000-style dynamic scheduling (a physical register pool) The Smith/Sohi article on superscalars.
The R10000 article. Read from Register mapping, p. 32 through Register files, p. 35.
Evaluation of in-order versus out-of-order implementations. Due May 4.
Pentium-style dynamic scheduling (reorder buffers)
Read pp. sections 3.7, 3.10 and 3.13. I've included two articles on the Pentium Pro (ps , pdf) and (ps , pdf) . It's only necessary to read the sections on the pipeline and dynamic scheduling at this point.
5
4/27
Software techniques to exploit ILP
Pp. 304-314 cover 2 techniques that we have already discussed. If you want our authors' take on them, this is the place to read. Pp. 329-340 cover compiler techiques that we will discuss briefly.
VLIW machines Read pp. 315-319.
Read section 4.7 and the IA-64 papers. In the HP/Intel architecture paper omit the memory model, software pipelining, & floating point. In the Intel implementation paper, omit floating point again, IA-432 compatibility & machine resources per port. In the MPR paper, read only the first 4 pages. There is also a critique by a rival .
Hardware support for compiler speculation
Read pp. 345-351.
Wrap-up
Read section 4.10.
6
5/4
Basics of caches Read pp. 390-410, 423-430. Cache evaluation. Due May 11.
Advanced caching techniques Read pp. 410-413, section 5.4, pp. 430-435, sections 5.6, 5.7.
Main memory Read sections 5.8, 5.9.
7
5/11
Tera-style multithreading Read the Tera paper (PS, PDF). Tera's runtime system (not required - this is just in case the OS/RT students are interested). Cache coherency protocol design & evaluation. Due June 1.
Simultaneous multithreading Read section 6.9 and the SMT paper .
8
5/18
Overview of multiprocessing Read section 6.1.
Cache coherence, snooping and directory protocols Read sections 6.3 - 6.6.
Synchronization Read section 6.7.
9
5/25
Content and date of the final.
Dataflow machines and WaveScalar.
Read about the Manchester dataflow machine for an overview of dataflow machines in general and the "case for" WaveScalar paper ; the other WaveScalar papers on the RTL-level implementation and support for multiple threads are optional.
Course evaluations.
10
6/1
Current architecture research at UW CSE: guest speakers. Andrew Petersen, UW graduate student, on Quantum Computing.
Brian Van Essen, UW graduate student, on FPGAs
Margaret Martonosi, professor on sabbatical from Princeton, on ZebraNet. Read the ZebraNet hardware experiences paper; the software experiences paper is optional.
6/8
Final from 7pm to 9pm in EE1-045. Douglas will proctor the exam.


CSE logo Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to douglas]