CMSC 611: Advanced Computer Architecture

Fall 2012, MW 1:00-2:15, FA015

Instructor: Dr. Marc Olano <>
ITE 354 (455-3094); Office Hours: Tu 1:00-3:00

TA: Abhay Kashyap <>
ITE 353; Office Hours: M 2:30-3:30, Tu 12:00-1:00

Prerequisite: CMSC 411 or equivalent

Text: Computer Architecture: A Quantitative Approach, 3rd edition or later, John L Hennessy and David A

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
Aug 29 Introduction
Sep 5 Cost Ch 1 Ch 1
Sep 10/12 Performance & Benchmarking
Sep 17/19 Instruction set design, Compilers and ISA Ch 2 App B HW 1 (Solution)
Sep 24/26 Pipelining & Pipeline Hazards App A App A Mon: Select Team and Project
Oct 1/3 Instruction-level parallelism Ch 3 Ch 2 HW 2 (Solution)
Oct 8/10 Scoreboard, Tomasulo
Oct 15/17 Branch Prediction, Intel Examples HW 3 (Solution)
Oct 22/24 Review, Midterm
Oct 29/31 Cache Ch 5 Ch 5
Nov 5/7 Cache & Memory Ch 7 Ch 6 HW 4 (Solution)
Nov 12/14 Storage, I/O Ch 6 Ch 4 Extra Credit 1 (Solution)
Nov 19/21 HDL & Simulation, Parallel Systems Ch 8 See below HW 5 (Solution)
Nov 26/28 Shared & Distributed memory
Interconnection Networks
App E
Dec 3/5 Complex parallel systems Extra Credit 2 (Solution)
Dec 10 Review Mon: HW6 (Solution) & Project hardcopy
Dec 19 Final exam, 1:00 - 3:00 PM, FA015

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 28th, 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