Carnegie Mellon University
The goal of this course is to impart a deep understanding of high performance computer system architecture. The emphasis is on the memory hierarchy, and in particular on how to provide both high bandwidth and low latency to CPUs. Topics covered include cache memory, main memory, buses, vector processing, virtual memory, and cache coherence. Students are required to bring a solid computer engineering background to the course.
Prerequisites for 18-548 are 18-545 Advanced Digital Design Project or 18-547 Superscalar Processor Design. Prerequisites for 15-548 are 18-347/15-347 Introduction to Computer Architecture and 15-412 Operating Systems. Additionally, students with graduate standing can sign up without prerequisites, as can seniors with instructor permission. 18-548 and 15-548 are cross-listings, meaning that they are the same course with the same meeting times and same assignments. If students feel they are missing information to understand the course material, they should contact the course staff immediately to resolve the problem.
The syllabus is subject to change during the course of the semester to meet the needs of students and the university. (12 units)
Wean Hall 8114
Grading will primarily be based on correctness, although some points may be awarded for orginality. It is recognized that there are multiple correct solutions for many problems. Multi-part problems will get a grade for each part of the problem (so, in general, if you see a "bulleted" phrase in a homework that indicates an individually graded section). For homeworks and labs each sub-question will be worth 5 points. For tests each sub-question will be worth a stated number of points.
If you wish to dispute a grade you must return the assignment along with a succinct written argument within one week after the graded materials have been returned to the class. Simple arithmetic errors in adding up grade totals are an exception, and can normally be handled verbally on-the-spot at recitations.
The issue of whether graduate vs. undergraduate students and ECE vs. CS students are graded on separate scales will be decided after course enrollment has been settled. Letter grades will be primarily based on the student's ability to demonstrate mastery of the material presented in lecture and covered by labs, with no fixed quota of letter grades.
Please make sure assignments are legible. Graphing can be done by hand if desired, but must be to scale on graph paper (hand sketches on un-gridded paper are not acceptable). Concise answers are better than long rambling essays.
It is highly recommended that you get an early start on all assignments rather than waiting until the last minute. Labs especially have a way of taking longer than you expect.
All homeworks are due at the start of class (9:00 AM) on Wednesdays, with solutions handed out that Friday. Labs are due on Fridays by 3 PM, with solutions handed out one week later. Late submissions of either type will be penalized a compound 10% of grade for every 24 hour period or fractional period they are late (e.g., 90% credit for late up to 24 hours, 81% 24 hours to 48 hours; 72% 48 hours to 72 hours; and in general 0.90N credit where N is the rounded-up number of days late). Assignments may be turned in to the course secretary at any time, and will receive on-time credit if they are turned in prior to the start of class on a due date.
The lowest homework grade will be dropped.
The University Policy on Cheating and Plagiarism applies.
Students are encouraged to discuss class material in order to better understand concepts and prepare for tests. All assignments and test answers must be the author's own work. However, students are encouraged to discuss homework and lab assignments to promote better understanding. What this means in practice is that students are welcome to discuss problems and solution approaches, and in fact can communally work solutions at a board. However, the material handed in must be prepared starting with a clean sheet of paper (and the author's recollection of any solution session), but not refer to any written notes or existing code from other students during the writing of the solution. In other words, writing the homework/lab report shall be an exercise in demonstrating the student understands the materials on his/her own, whether or not help was provided in attaining that understanding.
Back to course home page.