G22.2233 - Computer Systems Design - Spring 2002

Basic Information


Ralph Grishman
office: 715 Broadway, Room 703
phone: (212) 998-3497
email: grishman@cs.nyu.edu


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

Mailing list:

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.

Web page:

This web page is   http://cs.nyu.edu/courses/spring02/G22.2233-001/index.htm