Tentative Course Schedule

Week 1

September 7, 2004

Assignment 0:

SimpleScalar Familiarization

Introduction
SimpleScalar Tools
Reading: Chapter 1

Week 2

September 14, 2004

Instruction-set Architecture
Pipelining
Reading: Chapter 2, Appendix A

Week 3

September 21, 2004

Assignment 1:

Pipelining

(single issue, hazard detection)

Pipelining (cont’d)
Reading: Appendix A, Chapter 3

Week 4

September 28, 2004

Instruction Level Parallelism (ILP): Dynamic Exploitation
Reading: Chapter 3

Week 5

October 5, 2004

Assignment 2:

Branch prediction

ILP: Dynamic Exploitation (cont’d)
Reading: Chapter 3

Week 6

October 12, 2004

ILP: Dynamic Exploitation (cont’d)
Reading: Chapter 3

Week 7

October 19, 2004

Assignment 3:

Multiple functional units
(instruction classes)

ILP: Dynamic Exploitation (cont’d)
ILP: Static Exploitation
Reading: Chapter 3, Chapter 4

Week 8

October 26, 2004

ILP: Static Approaches (cont’d)
Reading: Chapter 4

Week 9

November 2, 2004

Assignment 4:

Multiple instruction issue
(out-of-order issue, in-order commit)

Caches
Reading: Chapter 5

Week 10

November 9, 2004

Caches (cont’d)
Memory Organization
Reading: Chapter 5

Week 11

November 16, 2004

Multithreading and Multiprocessors
Reading: Chapter 6

Week 12

November 23, 2004

Assignment 5:
TBD

Multithreading and Multiprocessors (cont’d)
Reading: Chapter 6

Week 13

November 30, 2004

Stream Processing Architectures

Week 14

December 7, 2004

Stream Processing Architectures (cont’d)
Wrapup

Week 15

December 14, 2004

NO CLASS – Classes run on Thursday Schedule