 |
|
CIS 501 (FALL 2004): Introduction To Computer Architecture
Instructor: Amir Roth (amir@cis)
Office hours: 603 Levine, TR 10-11 (or by appointment)
TA: Tingting Sha (shatingt@seas)
Office hours: M 9-10:30 AM, T 4:30-6 PM
TA: Gaurav Shah (gauravsh@seas)
Office hours: W 1:15-2:45 PM, R 4:30-6 PM
Newsgroup: upenn.cis.cis501
Lecture: Hielmeier Hall, TR 12-1:30 (CLASS SCHEDULE)
|
Course Description
This year's 501 will be a little different than last year's version.
This year's course will feature heavier emphasis on power and reliability
aspects, as well as multiprocessors and multithreading. We will cover the
following topics:
- performance, power, reliability 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 multiprocessors
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
For your homeworks and projects, you will be using the SimpleScalar
microarchitecture simulator. You can run your simulations on your
workstations or "on the grid" using Condor.
Homework
There will be 4 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 (not class periods) to use to hand in late
homeworks. You don't have to use them at all. You can use one per
homework. You can use all four on the first homework. Once you have
exceeded these four days, late work will not be accepted unless you
make prior arrangement with me. 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 Nov. 4. The final will
be on Dec. 16, 11-1 (this is the 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: 20%
- Mid-term exam: 25%
- Final exam: 35%
- Project: 20%
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).