CIS 501 (FALL 2003): Introduction To Computer Architecture
Instructor: Amir Roth (amir@cis)
603 Levine
Office hours: TR 10-11 (or by appointment)
TA: Bill Kandylas (kandylas@seas)
Office hours: WF 5:30-7 GRW 076
TA: Gunjan Gupta (ggupta@seas)
Office hours: TR 4-5:30 Moore 459
Newsgroup: upenn.cis.cis501
Meeting Times and Places
Lecture: Hielmeier Hall, TR 12-1:30 (CLASS SCHEDULE)
Recitation: NONE
Course Description
This is the third offering of the "new" CIS 501. It will be quite similar to the FALL 2002
version. We will cover the following topics:
- performance and cost
- instruction set design
- memory systems and I/O
- in-order pipelines
- instruction scheduling techniques
- static methods for instruction-level parallelism (ILP): VLIW, EPIC and IA64
- dynamic methods for ILP: out-of-order execution and speculation
- vectors/SIMD and multimedia
- multithreading and an introduction to multiprocessors
- low-power and embedded processors
- post-silicon computing
I will present new-"research"-topics as we go along and as time permits.
Reading Materials and Resources
We will use one textbook:
- Hennessy and Patterson, "Computer Architecture: A quantitative Approach" (THIRD edition).
Although the course is introductory in name, it actually assumes that you
have a background in basic computer architecture and microprocessor design.
Those of you who feel that you are lacking in certain areas may want to
acquire a copy of the following book:
- Patterson and Hennessy, "Computer Organization and Design: The Hardware/Software Interface"
I will supply you with any additional reading material. Also, class
notes will be available on-line. Check the ever-changing CLASS
SCHEDULE for notes. Hard copy versions will be
available at the beginning of each class, extra copies will be placed
in bins outside of Levine 502.
Simulation Tools
As part of the course, we will be using the SimpleScalar microarchitecture
simulator. Documentation and other simulator related material will be available
here.
Starting this semester, you will also be able to run your simulations "on the
grid" using Condor.
Homework
There will be 4-5 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. Late homework is not accepted
unless prior arrangements are made. You may ask myself, the TA, or
each other for assistance, but please cite your references on the
assignment. Check the CLASS
SCHEDULE for homeworks.
Course Project
An important part of the course-from both an educational and a grading
standpoint-will be a six-week mini research project. You will do the project in
groups of 3 or 4. The project deliverables consist of a proposal, and a 4K 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.
Exams
The mid-term exam will be in class on Oct. 28. The final will
be on Dec. 17, during its assigned Finals week slot, and will be
cumulative. The final exam will count as the PhD Architecture WPE I
exam.
Grading
Grading breakdown for the course is as follows:
- Homework: 15%
- Mid-term exam: 25%
- Final exam: 35%
- Project: 25%
If you want to cheat, go ahead. Getting caught will result in (at
best) a non-negotiable grade of zero on the corresponding item, with a
commensurate effect on the final grade. For example, if I catch you
cheating on the mid-term, you will get no higher than a 75 for the
course (last year that was a C).