CMSC 411
Computer Systems Architecture

CMSC 411






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


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.


Read the class newsgroup at csd.cmsc411 - only visible from within UMD


Name Email Phone Office Office Hours
Alan Sussman


AVW 4145 M 3-4PM
Th 10:30-11:30AM
Mansur Nurani  


AVW 1112 M 11AM-noon
Tu 2-3PM
W noon-1PM

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 are message passing vs. shared memory architectures?
    • How are computers interconnected?
    • What are the limits of parallelism?
    • What communication patterns are common?

Last updated Thursday, 29 January 2004 09:52 AM



Web Accessibility