CIS 501 (Fall 2005): Introduction To Computer Architecture

Instructor: Prof. Milo Martin
Office hours: Tues/Thur 4:15-5:15 (or by appointment)
Lecture: Hielmeier Hall, Tues/Thur 12-1:30)
Course E-mail address: cis501@cis

TA: Tingting Sha
Office hours: Levine 310, Monday 12:30-2:00pm, Tuesday 1:30-3:00pm
TA: Andrew Hilton
Office hours: Levine 310, Wednesday 2:00-3:30pm and Friday 11:30-1:00pm
Administrative Assistant: Cheryl Hickey (cheryl@central.cis) - 502 Levine Hall - Turn in late/early homework to her.
Newsgroup: upenn.cis.cis501
Course schedule


Office Hours

Lecture Notes

Additional Readings

Papers & Discussion Questions


Past Exams

Digial Library Links

The ACM and IEEE digital libraries can be accessed from off-campus by using the following Penn proxy links:

Course Syllabus

Course Description

This course is a graduate course on computer architecture with an emphasis on a quantitative approach to cost/performance design tradeoffs. The course covers the fundamentals of classical and modern processor design: performance and cost issues, instruction sets, pipelining, caches, physical memory, virtual memory, I/O superscalar and out-of-order instruction execution, speculative execution, long (SIMD) and short (multimedia) vector execution, multithreading, and an introduction to shared memory multiprocessors.


CIS501 is a graduate-level course on computer architecture that assumes significant prior knowledge of computer organization and architecture (do not be mislead by the word "Introduction" in the course title). You should already be familiar with hardware caches, instruction execution pipelines, basic logic design, and some assembly-level programming. Students will have expected to have had a course that covers the material in a textbook such as Patterson and Hennessy's "Computer Organization and Design: The Hardware/Software Interface". Penn's CSE371 is an example of such a course.

If you do not have the appropriate background, you should either consider not taking the course or spend significant time review this textbook and the lecture notes from CSE371.

Previous CIS501 Offerings

This course will be somewhat different than in previous years. However, this course is based on Prof. Roth's previous offerings of CIS501 over the last few years:

Reading Materials and Resources

We will use one textbook: Those of you who feel that you are lacking in certain areas may want to acquire a copy of: I will supply you with any additional reading material. Also, class notes will be available on-line from the course schedule page. Hard copy versions will be available at the beginning of each class, and extra copies will be placed in bins outside of Levine 502.


Grading breakdown for the course is as follows:


There will be a mid-term exam and a final exam. The final exam will be cumulative and will be held on Friday, December 16 from 9:00-11:00 (the assigned final time slot for the course). The final exam will also count as the PhD Architecture WPE I exam.

Course Project

An important part of the course-from both an educational and a grading standpoint will be a mini research project. You will do the project in groups of 3 (or maybe 4) students. The project deliverables consist of a proposal, and a 4000 word conference-format final report. The default project is to explore some small extension to a concept we study in class, to validate the experimental data in some paper, or to evaluate an idea of your own. More details about the project will be available as the semester progresses.


There will be four or five homework assignments, each consisting of problems to be worked out by hand and some short simulation work using SimpleScalar. Homework is due at the beginning of the class period for which it is assigned. As for late homework, you have four "grace" days (24-hour days, not class periods) to use to hand in late homeworks. Once you have exceeded these four days, late work will not be accepted unless you make prior arrangement with me.

Paper Reviews

We will read several papers from the research literature during this course. Before we discuss the paper in class, you will meet in groups of three to four students to discuss the paper and write a concise response to a few high-level questions about the paper. To avoid the same groups for each paper, you may be in a group with a student at most once.

Academic Misconduct

Academic misconduct such as cheating will not be tolerated. The work you submit in this class is expected to be your own. If you submit work that has in part or in whole been copied from some published or unpublished source (including current or former students), or that has been prepared by someone other than you, or that in any way misrepresents somebody else's work as your own, you will face severe discipline by the university. (Adapted from text appearing at the Office of Student Conduct page.)

Any detected cases of cheating will be pursued. Penalties can include: receiving a zero on the assignment (the minimum penalty), failing the course, having a note placed in your permanent academic record, suspension, and ultimately expulsion.

See Penn's Code of Academic Integrity for more information.