CPSC 418: Information
Goto CPSC 418 Home Page
Contents:
[
Course Outline |
Instructor |
Lectures |
Marking |
Newsgroup |
Course Readings |
Text Book |
T.A. |
Tutorials
]
- Alan Hu,
- Office : CICSR 325
- Email:<ajh@cs.ubc.ca>
- Phone : 822-6667
- Office Hours : Wed 1-2, Thu 10-11, or by appointment
- Kim Milvang-Jensen,
- Office : CICSR 355
- Email : <milvang@cs.ubc.ca>
- Office Hours : Mon 10-11, Thu 2-3, or by appointment
- Matt Pedersen,
- Office : CICSR 357
- Email : <matt@cs.ubc.ca>
- Office Hours : Mon 2.30-3.30, Tue 1.30-2.30, or by appointment
(A small charge will apply ;-) )
- Tuesdays & Thursdays 8:30-10:00 AM
- Room: CICSR 208
There is currently no required textbook for this course. A series of
articles pulled from industry and academic journals, as well as readings
from the recommended text (below), will serve as a
focus for discussion. These articles will be made available throughout
the term.
However, I will be requiring readings from the book:
- J. L. Hennessy & D. A. Patterson,
Computer Architecture: A Quantitative Approach,
2nd Edition
The book should be available on reserve at Koerner Library. In addition,
a copy is on reserve in the CICSR Reading Room (ask at the desk).
The new 2nd edition is an excellent book, and I recommend it highly.
If you have $120 dollars to spend, I encourage you to buy this book, as
it is becoming the de facto standard advanced architecture book. (I intend
to require it next year, and I will be basing my teaching on it.)
Be sure to get the 2nd edition -- the first edition is somewhat dated, and
not as advanced.
Instead of a required textbook, 10 to 15 articles drawn from
academic and industry journals will be handed out in class. A reading list will be available at the web site.
Students are expected to read an article before the class in
which the article will be discussed -- the articles are not long and
class discussion will assume familiarity with the results.
Homework | 10% | (Approximately ten short assignments)
|
Class participation | 10%
|
Midterm | 40% | (Probably on
Thurs, Feb 26)
|
Final | 40%
|
WARNING: I expect this class to be extremely disorganized and
chaotic! I haven't had enough time to organize the material to my
liking, and this material is not my primary research area. If you cannot
tolerate disorganized lectures, confusing assignments, and challenging
readings, if you're not highly self-motivated to track down information
for yourself, if you need nicely formatted on-line notes and good answers
to every question, then I recommend that you not take this course. Pick
something else instead. You've been warned.
That being said, this course will hopefully explore some really fascinating
aspects of computer architecture. Much of the excitement in computer science
is being driven by recent advances in computer architecture, and modern
microprocessors are truly amazing feats of human ingenuity.
As this is an advanced course, I hope we can take leading-edge papers and
announcements on truly state-of-the-art stuff and dissect
them, figure out what makes them tick. The goal is more than learning
what's out there; the goal is learning how to learn about computer architecture.
The following is a rough guess of what we'll cover.
- Quantitative Approach: Looking at the economics of computers and
how to evaluate performance.
- Instruction Set Architecture: A contract that defines how
software will interact with hardware over many different implementations.
- Modern Superscalar Architectures: How to issue multiple
instructions per cycle without having to stall.
- Finding Instruction Level Parallelism: How to decide which
instructions can be executed.
- Memory Hierarchies: How to get data into and out of the processor.
- Hardware / Software Interaction: How architecture influences
OS and compilers.
Any student who earns 25 or more class participation
points (about 1 per lecture) will receive the full
10%. Marks will be linearly scaled from 10% for 25 points to
0% for 0 points.
Points | Action
|
3 | be first to alert me to an error in an assignment
or solution
|
2 | bring a web page or article that can be used in
the course to my attention.
|
2 | ask or answer a question in the newsgroup
|
1 | actively and positively participate in a class period
|
- Most homework assignments will be written. If there is any
programming, it will be in C/C++ or a MIPS-like assembler
(e.g. SAM from CPSC 318).
- Save a tree and don't use a cover sheet. Just put your name, id
number, date, assignment number in the upper right corner of the first
page. In terms of presentation style, don't really try to do anything
fancy, just stick to reasonable page margins and font sizes. For
writing style, pretend you are writing to someone slightly
less knowledgeable in computer architecture than yourself.
- Hand in during class, or at my office by
10am on the due date. If I'm not in my office, slip it under the door.
- Late Assignments: Late assignments will not be accepted.
(See Medical Exemptions.)
- Read the class newsgroup!
should
be your primary resource for questions about lectures, assignments,
etc. I will read the group very often and respond to
questions there. Also, if you have information (or the answer) to
a question posted, feel free to post a response --- remember
posts to the newsgroup count towards class participation.
- You are welcome to stop by my office anytime, but I may
not be there or may be busy. Send email to check if I'm
available. The purpose of office hours is to provide you with
a time when I guarantee that I will be in my office and CS418
will be my top priority. The T.A.s will handle
questions regarding homework marks, and will also be available
during office hours for technical questions.
- All homeworks, handouts, solutions, etc will be installed
on the CS418 web pages:
When something new is installed on the Web, an announcement will be
posted to the newsgroup.
- Many chip and computer manufacturers now have web pages. A
lot of it is fluff, but hard information can sometimes be found.
A few sites have already been linked
into the course web pages; more will be added.
- The newsgroup comp.arch is an
excellent source of
information on computer architecture. The comp.sys.*
hierarchy is for specific machines, such as
comp.sys.powerpc.tech for
the IBM/Motorola/Apple PowerPC.
I strongly encourage you to give me feedback on
what you like and don't like about the course, what you find
easy or difficult, what homework problems you learned from and
which ones you found non-helpful.
As scientists and engineers, you
must be able to communicate effectively. Marks will be taken off
for poor writing style and grammatical errors that impede
understanding. Spell check everything that you type!
Discussions about the concepts in the course and the
homework assignments are encouraged, but the assignments
themselves are to be done by each student individually.
I basically trust you all not to cheat, and I expect cheating
not to be a problem. However, suspected cheating cases will
be referred promptly to the University for appropriate disciplinary
action.
Students who cannot attend the midterm or
final examination, or who are unable to complete assignments on
time because of an illness or injury, should obtain a medical
certificate and see me as early as possible, so that appropriate
arrangements can be made. However, medical certificates should not
be used as ``insurance'' against poor marks on examinations. If
you get sick or injured, then get a medical certificate and do not
write the exam, since no medical exemption will be given later.
Goto CPSC 418 Home Page
Last modified: Jan 1998