18-447 Introduction to Computer Architecture, Spring 2012

Welcome to 18-447, Introduction to Computer Architecture.

Class Grades Released

Grades for the course have been released on Blackboard.

The distribution of grades and related statistics may be found here.

Please Fill Out Faculty Course Evaluations (FCEs) for 447

Please fill out course evaluations for 447. Here is the message from Professor Mutlu, explaining why this is important.

Dear 447 students,

I hope you enjoyed 447 and both learned fundamentals and gained hands-on processor design experience in this course that you will use for years to come.

Please fill out the online course evaluations for 447 and me by the deadline, May 15.

Getting feedback from you is a very important aspect of the education I would like to give as a professor. So, please fill out the evaluation forms as thoroughly as possible. I carefully read all of the comments written, value them highly, and use them to improve all aspects of the course: the material, logistics, teaching, assignments, etc. I appreciate your help in making this course an enriching and hopefully exciting educational experience for future students. Of course, all comments you provide are anonymous.

You can perform the evaluation at: http://cmu.onlinecourseevaluations.com

Also, if you would like to talk to me about anything, feel free to stop by my office next week (please make an appointment to make sure I am in). In particular, if you are interested in computer architecture research, thinking about taking 742 next semester, or looking for a job in computer architecture or a related area, I would be happy to help.



Please Fill Out TA Evaluations

In addition to the FCE, we would appreciate if you took a few minutes to provide feedback to our TAs as well. You can provide feedback via these anonymous surveys:

Chris Fallin: http://www.surveymonkey.com/s/CX28R6P

Lavanya Subramanian: http://www.surveymonkey.com/s/27SKGLM

Abeer Agrawal: http://www.surveymonkey.com/s/CZJCNQ2

Course Notices

Course Information


Computer architecture is the science and art of selecting and interconnecting hardware components and designing the hardware/software interface to create a computer that meets functional, performance, energy consumption, cost, and other specific goals. This course introduces the basic hardware structure of a modern programmable computer, including the basic laws underlying performance evaluation. We will learn, for example, how to design the control and data path hardware for a MIPS-like processor, how to make machine instructions execute simultaneously through pipelining and simple superscalar execution, and how to design fast memory and storage systems. The principles presented in the lecture are reinforced in the laboratory through the design and simulation of a register transfer level (RTL) implementation of a MIPS-like pipelined processor in Verilog. In addition, we will develop a cycle-accurate simulator of this processor in C, and we will use this simulator to explore processor design options.

Prerequisites: 18-240 and (15-213 or 18-243) and (18340 or 18341 or 18348 or 18349 or 18320)

Meeting Times


Required Textbooks

Recommended Textbooks


Note: you may email the course instructor and TAs at 447-instructors@ece.cmu.edu.

Name E-mail Office Phone Office Hours
Instructor Onur Mutlu onur@cmu.edu Hamerschlag Hall A305 412-268-1186 Wed. 2:30–3:30pm
Grad TA Chris Fallin cfallin@ece.cmu.edu CIC 4th Floor Fri. 2:00–4:00pm (HH-1304). Extra End-of-Semester: Sunday 3:00pm–5:00pm (CIC 4th Floor)
Grad TA Lavanya Subramanian lsubrama@ece.cmu.edu CIC 4th Floor Thu. 11:30am–1:30pm (HH-1304). Extra End-of-Semester: Saturday 1.00pm–3.00pm (HH 1304)
Undergrad TA Abeer Agrawal abeera@andrew.cmu.edu End-of-Semester: Tuesday 3.00pm–5.00pm (HH 1303 Cluster)
Admin Assistant Shannon Lown shannonh@ece.cmu.edu Hamerschlag Hall D-Level Course Hub 412-268-5568