CMSC 611: Advanced Computer Architecture

Fall 2010, MW 4:00-5:15, ITE 229

Last content update:
Mon Oct 18 14:50:38 EDT 2010

Instructor: Dr. Marc Olano <>
ITE 354 (455-3094); Office Hours: Wed 2:00-4:00

TA: Yichuan Gui <>
ITE 334; Office Hours: Tue/Thu 1:00-2:00

Prerequisite: CMSC 411 or equivalent

Text: Computer Architecture: A Quantitative Approach, 3rd or 4th edition, John L Hennessy and David A Patterson. Required.

Goal: Develop an understanding of the principles and practices employed in the design and evaluation of processors and computer systems.


Your grades will be based on homework assignments given approximately every other week, an in-class mid-term, a cumulative final exam, and a final project (done in groups of 2-3). The total grade breakdown will be as follows:

30%:   Homework
25%:   Mid-term exam
25%:   Final exam
20%:   Project

Homework assignments submitted up to one week late will be penalized 20 percent of the possible score. Assignments more than one week late will receive a score of 0.

Academic Honesty

By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. To read the full Student Academic Conduct Policy, consult the UMBC Student Handbook, the Faculty Handbook, or the UMBC Policies section of the UMBC Directory, or the Graduate School website.

All assignments in the course are expected to be your individual work or the sole work of your project group. You may discuss assignments, however any help you receive must be documented. At the beginning of each or assignment, you must include a statement indicating the sources you used while working on it (excluding course staff and text) and the type of help you received from each. If you received no help, say so. Failure to include this comment will result in your assignment being returned ungraded.

In other words, "I referred to the arstechnica web site and discussed the assignment with John Doe" is OK as long as you still solved the problem yourself.

Tentative Schedule

Homeworks are due in class on Wednesday unless otherwise indicated.

Readings should be completed before the first date listed below for maximum benefit. In many cases, the readings may be lengthy (covering most of a 1000+ page book over the course of the semester). You are, of course, free to choose your own strategy. At the very least, I'd recommend skimming the readings before class then re-reading difficult sections in depth after class. Without a doubt, prior exposure to the concepts we will be covering will aid your understanding.

Date Topic 3rd Edition 4th Edition Due dates
Sep 1 Introduction
Sep 8 Cost Ch 1 Ch 1
Sep 13/15 Performance & Benchmarking Add/Drop by Sep 14
Sep 20/22 Instruction set design, Compilers and ISA Ch 2 App B HW 1
Sep 27/29 Pipelining & Pipeline Hazards App A App A Mon: Select Team and Project app+user by email
(form, responses)
Oct 4/6 Instruction-level parallelism Ch 3 Ch 2 HW 2
Oct 11/13 Scoreboard, Tomasulo
Oct 18/20 Branch Prediction, CPU examples
(Pentium-Pentium III, Pentium 4, Pentium M, Core, Nehalem)
HW 3
Oct 25/27
Review, Midterm
Nov 1/3 Cache Ch 5 Ch 5
Nov 8/10 Cache & Memory Ch 7 Ch 6 HW 4
Nov 15/17 Storage, I/O Ch 6 Ch 4
Nov 22/24 HDL & Simulation, Parallel Systems Ch 8 See below HW5
Nov 29/Dec 1 Shared & Distributed memory, Interconnection Networks App E
Dec 6/8 Complex parallel systems HW6
Dec 13 Review Mon: Project hardcopy in class
Dec 20 Final exam, 3:30 - 5:30 PM, ITE 229

VHDL Resources

Class Resources

This syllabus is a snapshot of the class web page ( Important announcements and updates will be made to this page throughout the semester. I will announce at the beginning of class if I make a significant change or addition, and date stamps of the latest several changes will appear on top of the page.

There is also a class email list for announcements and public student questions: Your classmates will get this email, so you should not use the list for private or grade-related comments, but feel free to use it as a means to ask public questions of me, the TA, or your fellow students. The list will only accept mail from subscribed addresses. If you are enrolled in the course as of Tuesday, August 31st, you should be pre-subscribed using your address by the first day of class. You can add, change or remove subscription using the web interface at