Hours
Class meets TTh 12:30--1:45 in CSIC 1121.
Prerequisites
CMSC 311 and CMSC 330 with a grade of C or better.
Wait list
At my discretion.
Notes
Changes (correcting errors, clarifying ambiguities, etc) to the web pages, projects,
due dates, etc. will be placed on the recent
changes web page.
Newsgroup
Class newsgroup is csd.cmsc411 - only visible from within UMD
Staff
| Name |
Email |
Phone |
Office |
Office Hours |
| Alan Sussman |
als@cs.umd.edu |
x53360 |
AVW 4145 |
Tu
3:30-4:30PM
W 10-11AM |
| Jik-Soo Kim |
jiksoo@cs.umd.edu |
|
AVW
1151 |
M
2-3PM
TTh 11AM-noon |
Tentative schedule of topics
- Unit 1 (Chapter 1): Computer design and evalution
- What do we mean by computer performance?
- How do we measure it?
- Unit 2 (Chapter 2): Computer instruction sets
- How are instruction sets designed?
- How does design influence performance?
- Unit 3 (Appendix A): Instruction pipelining
- What is pipelining?
- What kinds of overhead are there in pipelining?
- How much speedup do we get?
- What are structural hazards, data hazards, and control hazards?
- What techniques are used to reduce stalls?
- How do we handle exceptions?
- How do we handle long instructions, such as floating point arithmetic?
- Unit 4 (Chapters 3 & 4): Instruction-level parallelism
- How can we take advantage of instructions that can be executed independently of others?
- How can we do major rearrangements, in hardware and software to
allow instructions to execute simultaneously?
- How can we execute instructions in parallel in the presence of
branches?
- Unit 5 (Chapter 5): Memory hierarchy
- How big should memory units be?
- How do we decide what to put in memory?
- If memory is full, how do we decide what to remove?
- How do we find something in memory?
- How do we handle writes?
- Unit 6 (Chapter 7): Storage systems
- How are input/output units such as disks and tapes organized?
- How do buses connect storage devices?
- How are file systems designed?
- Unit 7 (selections from Chapters 6 and 8): Networks & Parallel Computing
- Why parallel computing?
- What is message passing vs. shared memory architectures?
- How are computers interconnected?
- What are the limits of parallelism?
- What communication patterns are common?
Last updated Tuesday, 28 January 2003 05:47 PM