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. 

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


Name Email Phone Office Office Hours
Alan Sussman


AVW 4145 T 2-3
Th 4-5
Wanli Liu   AVW 1112 M 4-6

Schedule of topics

  • Unit 1 (Chapter 1): Computer design and evaluation
    • What do we mean by computer performance?
    • How do we measure it?
  • Unit 2 (Appendix B): 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 2 & 3): 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 (Appendix C & 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 6): 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 Chapter 4 & Appendices E & H): 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 Friday, 20 March 2009 05:41 PM



Web Accessibility