CMSC 411 or equivalent undergraduate computer architecture course
Computer Architecture: A Quantitative Approach, 3rd edition or later, John L Hennessy and David A Patterson
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 3-4). The total grade breakdown will be as follows:
Unexcused late homework assignments will receive a score of zero. Late submissions may be allowed for documented work or conference travel, if approved in advance of the original due date. If *I* have not told you that you will be allowed to turn an assignment in late before it is due, expect a zero if you turn it in late.
Homeworks are due in class on Thursday 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 Ed.||4th Ed.||5th Ed.||Due dates|
|Jan 29/31||Introduction, Project, Performance|
|Feb 5/7||Benchmarking, Cost||Ch 1||Ch 1||Ch 1|
|Feb 12/14||HDL, Simulation||See below||HW 1|
|Feb 19/21||Instruction set design||Ch 2||App B||App A||Select Team and Project|
|Feb 26/28||Pipelining||App A||App A||App C||HW 2|
|Mar 5/7||Branch prediction|
|Mar 12/14||Exceptions / Instruction-level parallelism||Ch 3||Ch 2||Ch 3||HW 3|
|Mar 19/21||SPRING BREAK|
|Mar 26/28||Review, MIDTERM|
|Apr 2/4||Tomasulo||Ch 5||Ch 5||Ch 2|
|Apr 9/11||Intel / Cache||Ch 7||Ch 6||App B||HW 4|
|Apr 16/18||More Cache||Ch 6||Ch 4||Ch 5|
|Apr 23/25||Memory||HW 5|
|Apr 30/May 2||Shared Memory / Distributed Memory|
|May 7/9||Parallel Systems / I/O, Networks & Storage||Ch 8||App E||App F||HW6|
|May 14||Review||Project hard-copy|
|May 16||FINAL EXAM 10:30-12:30|
- UMBC/Cadence VHDL Guide
- Jim Plusquellic's Cadence VHDL Tutorial Slides
- Jim Plusquellic's VHDL Tutorial Slides
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 if I make significant change or addition. Also, as we proceed through the semester, slides will be added as links in the topic list above.
This semester, I'll be using the blackboard site for this class for grades and discussion (not for assignments or the syllabus, you'll find those here). You can use the blackboard site for public communication with your classmates, the TA and instructor. You should either check this site periodically, or make sure it is set to send you messages. Please be aware of whether you are posting a public or private message on this forum. Post questions about assignments, exams, or questions that do not include material that should not be shared with your classmates publically. Feel free to post student answers if you know them. Be sure to either use private messages or email for questions about grades or other private matters.
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 Rights and Responsibilities section of 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 explicitly say that in your homework, and still solved the problem yourself.