G22.2233-001 - Computer Systems Design - Spring 2007

Course Description Schedule Textbooks
Mailing List Resources Grading
Instructor: Dr. Mohammad Banikazemi  
E-mail: {my initals}@cs.nyu.edu
and {my initals}@us.ibm.com
Office: 401 WWH 
Office hours: W 7:00-8:00pm
Phone: 8-3081  

Semester: Spring 2007  
Time: Wed. 5:00 pm-7:00 pm 
Room: WWH 1013
Course Web page: http://www.cs.nyu.edu/courses/spring07/G22.2233-001/index.html
NEW - MIPS Instruction Set Manual: pdf (2.17 MB)

Mailing List
  • To subscribe, follow instructions here.
  • To post to the mailing list, send email here.
Course Goals
To learn the important organizational features of modern computer systems and the interactions between the computerís architecture and its software. To get a better understanding of the computer architecture and cost-performance analysis in order to design better software.
LecturesDateTopicHandouts ReadingsAssignments
11/17 Introduction; Fundamentals
of Computer Design
Lecture 1
Chapters 1 and 2
HW 1 text
Due: 1/24
21/24 MIPS Instruction Set Lecture 2
Chapter 3
HW 2
Due: 1/31
31/31 Performance Evaluation
(Logid Design Review)
Lecture 3
Chapter 4
HW 3
Due: 2/07
42/07 Basic MIPS Architecture Lecture 4
Chapter 5
Lab 0
Due: 2/14
52/14 Overcoming data Hazards Lecture 5
Chapter 6
HW 4
Due: 2/21
62/21 Containing Control Hazards Lecture 6
Chapter 6
Lab 1- Part 1
Due: 3/7
72/28 Multiple Issue Introduction Lecture 7
83/7 Multiple Issue (Cont'd)
Midterm Review
Chapters 1-6 Lab 1- Part 2
Due: 3/28
93/21 Midterm Exam

103/28 Memory Hierarchy Lecture 10
Chapter 7 Lab 2- Part 1
Due: 4/4
114/4 Cache Performance Lecture 11
Chapter 7 Lab 2- Part 2
Due: 4/11
124/11 Virtual Memory Hardware
Lecture 12
Chapter 7 HW 5
Due: 4/18
134/18 I/O Lecture 13
Chapter 8
144/25 Putting It All Together
Case Studies
Lecture 14

Overall schedule:
Introduction, MIPS processor, and logic design 4 weeks
Pipelining, and superscalar design 4 weeks
Memory hierarchy 2 weeks
I/O (storage and network) 2 weeks
Introduction to multiprocessing 1 week
Exams 1 week
Required reading
D. A. Patterson and J. L. Hennessy, "Computer Organization and Design The Hardware/Software Interface," 3rd edition.
ISBN: 978-1-55860-604-3 ISBN10: 1-55860-604-1 Pub date: Aug 02, 2004 Pages: 656
SimpleScalar Resources
Tools (from www.simplescalar.com)
Documentation (from www.simplescalar.com)

Sources (somewhat customized for NYU)
SimpleScalar simulator source (simplesim-3v0c.tgz)
This is common to both SPARC/Solaris and x86/Linux installations.

Department SPARC/Solaris machines (e.g., slinky, griffin, etc.)

x86/Linux installation
(README, simpletools-2v0-nyu.tgz , simpleutils-2v0-nyu.tgz)

Official Course Description
G22.2233 Computer Systems Design
Prerequisite or corequisite: G22.1170
Intended to give students whose main interest is in software, an introduction to the important principles of computer organization and design. Topics covered include: logic design basics, basics of performance evaluation, instruction sets, arithmetic for computers, processor datapath and control, pipelining, memory hierarchy, interfacing processors and peripherals, and parallel processor basics.
Grading policy
Midterm Exam30%
Final Exam40%
Homework and Lab assignments will be assigned in the class. Homework assignments are due by the beginning of the next class. Lab assignments are usually due at the beginning of the class in two weeks. If you have any questions regarding the assignments, ask as soon as you can. Utilize the course mailing list. Feel free to answer other students' questions on the mailing list.

Midterm exam: Wed. March 21, 5:00-6:50pm, WWH 1013

Final exam: Wed. May 2, 5:00-6:50pm, WWH 1013

The lecture slides are for the most part the slides developed and used by prof Mary Jane Irwin of the Computer Science and Engineering Department at Penn State University. Here is Prof. Irwin's description of how these slides have been developed: "The lecture slides have evolved overa period of ten+ years, originating with slides developed by Dave Patterson for the first edition of Computer Organization and Design. Since then, they have gone through extensive revisions (both by me and by various UCB faculty). With the publication of the 3rd edition, I again revised and updated the entire slide set to coincide with the new edition."

The SimpleScalar assignments being used in this course were originally developed by Michele Co and Professor Kevin Skadron of the Computer Science Department at the University of Virginia.

The instructor gratefully acknowledges all of their efforts.