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.
|