cs470 - Fall 2008


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
Instructor Virgil Bistriceanu
Office hours Mon, Tue 5:30pm - 6:15pm
Office SB-214
Phone (312) 567-5146
Fax (312) 567-5067
e-mail bistriceanu@iit.edu
Lecture (SB-106) Tue 6:25 pm - 8:05 pm
Lab (SB-108) Thu 6:25pm - 8:05 pm
Lab Instructor Kenneth Bloom
Lab room SB-108
Teaching Assistant
  • Name: Kenneth Bloom
  • Office: SB-006
  • Office Hours:
    • Tue 2:00pm to 3:00pm
    • Thu 2:00pm to 3:00pm
  • Phone: 312-567-5339
  • email: kbloom1+cs470@iit.edu


"Computer Organization and Design: the hardware/software interface"
David A. Patterson, John L. Hennessy, edition 3/e
Morgan Kaufmann, Inc.
ISBN-10: 0123706068
ISBN-13: 978-0123706065

Other books

Here are some titles 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: 21%
  • Laboratory: 21%
  • Midterm: 25%
  • Final: 33%

Work you have to turn is is due as follows:

  • Pre-lab: at the beginning of the lab
  • In-lab: at the end of the lab session
  • Post-lab: at the beginning of next lab session for your section
  • Homework: submit your work work on the Blackboard before midnight the day the homework is due. Here are the requirements for your Blackboard submission:
    • The name of the file should be: firstName-lastName-HW-assignmentNumber.zip (e.g. Jane-Doe-HW-1.zip)
    • Include your e-mail address in the Comment field when submitting the assignment through the Digital Drop Box
    • If for any reason you are submitting the assignment more than once, indicate this in the Comment field by including the word COMPLEMENT

For late submittal there is a 10% per calendar day penalty.

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!
To pass this class you will need to have a passing mark (60+) in each of the following:
  • Homeworks average
  • Labs (you must get a passing grade in each lab)
  • Final

The overall average must be 60+ as well.

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.

Extra Credit

There are multiple ways you can receive extra credit in this class, here are some:

  • Take class notes: scan them and return them to your instructor after each class in PDF format. If you take notes electronically, then turn in to your instructor a copy of your notes, .txt, .pdf, .odf, .doc formats ok.
    • Maximum extra credit: 4 points that will be added to the average class score (scale from one to 100)
    • If you want to get this extra credit, then you'll have to commit to turning in notes for each class.
    • In addition, your instructor will have to confirm upfront that you are eligible for this extra credit since only one student in class can get it.
  • Provide feedback on the lab manual: the manual was written for SPIM running on a UNIX platform; however you may be running SPIM in a MS-Win environment and there are differences in behavior between the two. You get credit for recommending changes to the lab manual that will accomodate the MS-Win platform.
    • Maximum extra credit: 7 points that will be added to the average class score (scale from one to 100).
  • Recommend new labs for the class. Your recommendation should be original and non-trivial and should detail what would be covered in pre-lab, in-lab and post-lab. If you're not sure what original and non-trivial mean, then talk to your instructor.
    • Extra credit: 2 points per accepted recommendation. All extra credit will be added to the average class score (scale from one to 100).
  • Recommend problems to be included in the midterm or final. You'll get credit for submitting a good problem. Your submission should be original and non-trivial.
    • Extra credit: 2 points per accepted recommendation. All points that will be added to the average class score (scale from one to 100).
    • The credit will be doubled for each problem that's included in the exam.
  • Turn in (attach to your final exam) the paper for extra credit on topics assigned in class by your instructor. This assignment can boost your final exam mark by up to 10%.


  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

Lab Schedule

Date Lab
8/21/08 No lab
8/28/08 No lab
9/4/08 Introduction (nothing due)
9/11/08 pre-lab #1 due, in-lab #1
9/18/08 post-lab #1 due, pre-lab #2 due, in-lab #2
9/25/08 post-lab #2 due, pre-lab #3 due, in-lab #3
10/2/08 post-lab #3 due, pre-lab #4 due, in-lab #4
10/9/08 No lab (nothing due); work on your post-lab #4
10/16/08 Fall break
10/23/08 post-lab #4 due, pre-lab #5 due, in-lab #5
10/30/08 post-lab #5 due, pre-lab #6 due, in-lab #6
11/6/08 No lab (nothing due); work on your post-lab #6
11/13/08 post-lab #6 due, pre-lab #7 due, in-lab #7
11/20/08 post-lab #7 due
11/27/08 Thanksgiving Day
12/04/08 Remedial Day

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

Important Events

Event Section cs470-1
Last day to change/add/drop a class and receive full tuition refund 9/6/08
Last day to remove an incomplete grade 10/3/08
Midterm 10/28/08
Fall break (no classes) 10/16/08 - 10/18/08
Last day for official withdrawal 10/31/08
Thanksgiving Day (no classes) 11/27/08 - 11/29/08
Last day of classes 12/6/08
Final 12/9/08, 7:30pm to 9:30pm, SB-106

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.

It is strongly recommended that you use a plain text editor such as vi/vim, gedit, etc. or OpenOffice. The use of proprietary word processors, such as Microsoft Office, is very much discouraged.

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: Fall 2008 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 or a similar font, 10 points, regular. The text for the paper itself will be typed using Times Roman or a similar font (12 points regular, except for titles which may be larger and bold).

Last update: Nov 11, 2008 Virgil Bistriceanu cs470 Computer Science

$Id: syllabus.html,v 1.5 2008/11/11 14:25:28 virgil Exp $