G22.2233 - Computer Systems Design - Spring 2002
office: 715 Broadway, Room 703
phone: (212) 998-3497
Hennessy and Patterson, Computer Organization and Design, second edition
(Morgan Kaufmann, 1998)
This is a first course in computer architecture, intended for students
who have not had prior coursework in architecture or logic design.
The only prerequisites are some knowledge of some (any) assembly
language and good programming skills (preferably in Java). The goals
of the course are twofold: a 'philosophical' goal, to provide an
understanding of how computers can be assembled from basic switches, and
a practical goal, to understand the trends in processor architecture and
implementation, such as pipelining, superscalar, CISC vs. RISC, multi-level
caches, and EPIC architectures.
The schedule of classes is shown here.
There will be 7 assignments; two will be pencil-and-paper assignments
involving performance analysis, one is a small assembly programming assignment
to acquiaint you with the MIPS architecture; four will involve programming
simulations of portions of a CPU. We will provide core code, in Java,
for these simulations. The simulations will be weighted somewhat
more heavily than other assignments in the final grading.
We expect that you may discuss assignments with other students or through
the mailing list; however, the assignment you submit must be your
own. That is, each student must submit a program or solution they have
written themselves. Of course, simply changing comments, variable names,
etc does not make a solution 'your own'..
50% assignments 17% mid-term
33% final exam
You should sign up for the course mailman mailing list. http://www.cs.nyu.edu/mailman/listinfo/g22_2233_001_sp02
It will probably be helpful with last minute questions regarding assignments.
This web page is http://cs.nyu.edu/courses/spring02/G22.2233-001/index.htm