CMSC 411
Computer Systems Architecture


CMSC 411
Syllabus
Homework/
Project

Readings
Lectures
Exams
Dates
Changes

 

 

 

Hours

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

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

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

Staff

Name Email Phone Office Office Hours
Alan Sussman als@cs.umd.edu

x53360

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

x52713

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