cs470 - Spring 2003


To help students understand the fundamentals of computing by studying the interaction between hardware and software at various levels. Discuss the design trade-offs that drive the performance of computer systems.
Topics covered include Performance Definition, Instruction Set Design, Datapath and Control, Pipelining, the Memory Hierarchy, Input/Output systems.

Prerequisite: CS 350 or ECE 218.

Section 51 Section 52 Section 53 Section 54
Instructor Virgil Bistriceanu
Office hours MT 5:30pm - 6:15pm
Office SB-214
Phone (312) 567-5146
Fax (312) 567-5067
e-mail virgil@cs.iit.edu
Lecture M 6:25 pm - 8:05 pm, LS-111
Lab W 10:00am - 11:40am W 6:25pm - 8:05pm T 10:00am - 11:40am T 6:25pm - 8:05pm
Lab instructor Rahul Ohri
Lab room SB-108B
Teaching Assistant
  • Name: Rahul Ohri
  • Office: SB-017
  • Office Hours: TR 2pm to 3pm
  • Phone: 312-567-5872
  • email: ohrirah@iit.edu

"Computer Organization and Design: the hardware/software interface"
David A. Patterson, John L. Hennessy - second edition
Morgan Kaufmann, Inc. 1994
ISBN 1-55860-491-X

Other books you may want to use to get a better understanding of topics discussed in class, and to explore topics not covered in the textbook and/or in class:

"Memory Systems and Pipelined Processors"
Harvey G. Cragon
Jones and Bartlett, 1995
ISBN 0-86720-474-5

"Computer Architecture"
Michael J. Flynn
Jones and Bartlett, 1995
ISBN 0-86720-204-1

"Computer Systems Design and Architecture"
Vincent P. Heuring, Harry F. Jordan
Addison Wesley, 1997
ISBN 0-201-89589-7

  • Homeworks: 20%
  • Midterm: 30%
  • Final: 30%
  • Laboratory: 20%

Everything you have to turn in is due before the end of the class the day the work is due. For late submittal there is a 10% per calendar day penalty.
CNS printers tend to be busy the day the assignments are due, don't let them ruin your grade!

All the work you submit must be individual.

Academic dishonesty will not be tolerated. Please read IIT's rules and regulations.

Exams are open-book(s) open-notes.

The following grading scale will be used to determine your grade in this class:
  • A: 90 - 100
  • B: 80 - 89
  • C: 70 - 79
  • D: 60 - 69
  • E: 0 - 59 This is a failing grade!

Failure to take a passing grade (i.e. an average mark of at least 60 out of 100) in either exams, lab average, or homeworks average earns you a failing grade regardless of your average mark.

Class attendance and participation will help settle the borderline grades. Regular class attendance is important and students are expected to actively participate in class: questions and comments are always welcome.

  1. Introduction: discuss class structure, objectives, and requirements (1 hour)
  2. Overview and history of computer architecture (1 hour)
  3. Fundamentals of computer design (3 hours)
    • Latency, throughput
    • Comparing performance
    • Design drivers: common case, Amdahl's law, locality
    • MIPS, MPFLOS, benchmarking
  4. Basic organization of a von Neumann computer (1 hour)
    • Control unit, main memory, I/O
    • Instruction execution: fetch, decode, execute
  5. Instruction Set design (3 hours)
    • Instruction Set architectures: 0 (stack), 1 (accumulator), 2, and 3-address
    • Fixed v. variable length instruction sets
    • Memory v. register
    • Addressing modes
    • Flow control instructions
    • Interrupts and I/O
  6. Datapath and Control (4 hours)
    • Single v. multi clock-cycle datapath
    • Control unit: hardwired v. microprogramming
    • Exceptions
  7. Pipelining (4 hours)
    • Pipeline performance
    • Data and control hazards; resolving hazards
    • Exceptions
  8. The memory hierarchy (4 hours)
    • Cache
    • Main memory organization
    • Virtual memory
    • TLB
  9. I/O (3 hours)
    • I/O performance measures
    • Types and characteristics of I/O devices
    • Buses
  10. Midterm exam (2 hours)
  11. Final exam (2 hours)
  12. Project presentation (2 hours)
Total: 30 hours
Important Events

Event Sections 51, 52, 53, 54
Last day to drop a class 2/4/2003
Last day to remove an incomplete grade 2/28/2003
Midterm 3/10/2003
Last day for official withdrawal 4/4/2003
Spring vacation 3/17/2003 - 3/21/2003
Last day of classes 5/9/2003
Final 5/12/2003, 7:30pm to 9:30pm

The instructor for this class reserves the right to change this schedule.

For more important dates and detail go to the IIT site.

Unless otherwise stated all papers you turn in will be TYPED. No handwritten work is accepted. Each page will have a header as follows:

  • the left side: your name
  • middle: page number and the total number of pages (ex. 2/5 indicates this is page 2 out of a total of 5)
  • right hand side: name of the assignment (ex. Homework #2)

Each page will also have a footer:

  • the left hand side will contain the following text: cs470-section: Spring 2003 where section stands for the section you are in
  • the right hand side will contain the following text: Illinois Institute of Technology - Computer Science

The header and the footer will be Arial, 10 points, regular. The text for the paper itself will be typed using Times Roman (12 points regular, except for titles which may be larger and bold).

Last update: May 11, 2003 Virgil Bistriceanu cs470 Computer Science

$Id: syllabus.html,v 1.4 2003/05/11 14:35:41 virgil Exp $