18-740/15-740 Computer Architecture – Fall 2013

Course Information

Description

Computer architecture is the science and art of designing, selecting and interconnecting hardware components and co-designing the hardware/software interface to create a computer that meets functional, performance, energy consumption, cost, and other specific goals. This course qualitatively and quantitatively examines fundamental computer design trade-offs, with the goal of developing an understanding that will enable students to perform cutting-edge research in computer architecture. We will learn, for example, how uniprocessors execute many instructions concurrently, how state-of-the-art memory systems deliver data into the processor and why they are so complex, and how/why multiple processors are interconnected to execute portions of a program or multiple programs in parallel, as done in modern multi-core processors. Examining trade-offs requires that you already know how to correctly design a computer, as is taught in the important prerequisite 18-447. This course will involve an at least two-month long research/implementation project in which students work in groups of 2-3.

Syllabus

Subject to change.

Meeting Times

  • Lecture:
    • Professor Mutlu's lectures do not meet, but will be recorded and posted on this website to watch.
    • Professor Goldstein's lectures will be in person MWF 3:00pm to 4:20pm in GHC 4303.
    • You are expected to either (1) watch the lecture videos if in ECE, (2) attend the in person lectures if in CSD, or (3) do both.
  • Recitations
    • M, 7:30pm to 9:20pm, CIC 4th Floor Panther Hollow Room (occasionally, only if specified).
    • W, 12:30pm to 2:20pm, CIC 4th Floor Panther Hollow Room (always, canceled only by announcement).
    • F, 10:30am to 12:20pm, CIC 4th Floor Panther Hollow Room (always, canceled only by announcement).
    • During each recitation, Professor Mutlu will recap the date of the next recitation.
    • Online students can attend via the Acatar Online Learning Environment (Live Sessions). The recitation will be recorded and the recording will be posted.

Co-Teaching Details

  • Professor Mutlu's lectures will be recorded and posted online (and will be done early)
  • Professor Goldstein's lectures will be in person and will follow the same material
  • ECE students will attend Professor Mutlu's recitations (but they can in addition attend Professor Goldstein's classes as well)
  • CSD students will attend Professor Goldstein's classes (but they can in addition watch all online lectures and attend Professor Mutlu's recitations as well)
  • There will be a joint/alternating recitation Friday afternoon (sometimes this will be joint, sometimes Professor Goldstein will take it, sometimes Professor Mutlu will, depending on schedules)
  • All assignments (readings, review, exam, project) will be the same
  • Professor Goldstein or Professor Mutlu can assign required readings during recitation sessions (these can be made optional to ECE or CSD students, but we will refrain from segregating assignments as much as possible)
  • There will be two poster sessions: one for literature review one for the final project

Readings and Textbooks

Arguably, there is no perfect textbook for computer architecture. I encourage you to do your own research, consult multiple sources, question assumptions and statements, and talk with me and TAs whenever you have questions.

Lecture notes and videos will serve as the main source of information and they will provide the required references to textbooks or other reading material (such as research articles).

A good source of information on all covered topics is the research articles that introduced or built upon the covered topic. These articles are usually published in top conferences (such as ISCA, MICRO, ASPLOS, HPCA) or journals (such as IEEE or ACM Transactions). I strongly encourage you to dig out the original source of the covered topics as well as the research that builds upon it. This will help you become a successful and well-read researcher in computer architecture/systems. When in doubt, ask questions. The following textbooks could be useful as supplements to lectures:

  • Parallel Computer Organization and Design by Dubois, Annavaram, and Stenstrom, Cambridge University Press
  • Computer Architecture: A Quantitative Approach, Fifth Edition by Hennessy and Patterson, Morgan Kaufmann/Elsevier
  • Computer Architecture and Implementation by Harvey Cragon, Cambridge University Press
  • Computer Organization by Hamacher, Vranesic, Zaky, McGraw-Hill
  • Structured Computer Organization by Andrew Tanenbaum, Prentice Hall
  • High Performance Computer Architecture by Harold Stone, Prentice Hall (dated but good reference)
  • Readings in Computer Architecture by Hill, Jouppi, Sohi, Morgan Kaufmann (dated but good reference with reprints of papers)
  • Parallel Computer Architecture: A Hardware/Software Approach, by Gupta, Culler, Singh, Morgan Kaufmann

Staff Information

Contact

Name E-mail Office Phone Office Hours
Instructor Onur Mutlu onur@cmu.edu CIC 4th Floor (412) 268-1186 Wed. 4:30–5:30PM (or by appointment)
Instructor Seth Copen Goldstein seth@cmu.edu GHC 7111 (412) 268-3828 Tue. 1:00-2:00PM (or by appointment)
TA Tyler Huberty thuberty@cmu.edu CIC 4th Floor Fri. 9:30-10:30am (online only)
TA Brian Osbun bosbun@andrew.cmu.edu CIC 4th Floor Thu. 4:00-5:00pm
TA Hongyi Xin hxin@andrew.cmu.edu CIC 4th Floor Mon. 6:30-7:30pm
Admin. Assistant Jennifer Loughran jackson1@andrew.cmu.edu Hamerschlag Hall D200
Note on Office Hours
  • If you're having trouble accessing the 4th floor to attend an office hour, please email the TA to let you in.
  • You can attend office hours remotely through Adobe Connect. If an instructor/TA is not logged into the breakout session, please send them an email.

Building Locations