CMSC 411
Computer Systems Architecture

CMSC 411






Class meets TTh 12:30--1:45 in CSIC 1121.


CMSC 311 and CMSC 330 with a grade of C or better. 

Wait list

At my discretion.

Changes (correcting errors, clarifying ambiguities, etc) to the web pages, projects, due dates, etc. will be placed on the recent changes web page.


Class newsgroup is csd.cmsc411 - only visible from within UMD


Name Email Phone Office Office Hours
Alan Sussman


AVW 4145 Tu 3:30-4:30PM
W 10-11AM
Jik-Soo Kim 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