CS 220 Syllabus Spring 2009

Instructor

  • Ed Harcourt
  • Office: Valentine 210
  • Phone: x5444
  • edharcourt@stlawu.edu
  • Office hours: Monday - Thursday 9AM - 10AM. I am often in the office all morning Monday through Thursday. Most afternoons I teach and can be hard to find.

Course Info

CS 220 - Computer Organization

The prerequisite for this course is CS219.

Required textbook: Computer Organization and Design: The Hardware Software Interface, by John Hennessy and David Patterson. 4th Edition.

Required Software

  • PC-SPIM is the MIPS simlature the book uses. You can find it in T:\Harcourt\Public\lab_software\pcspim.zip.
  • MMLogic is a simulator for digial logic circuits. You can find it in T:\Harcourt\Public\lab_software\mmlogic14.exe.

Grading

Grades are based on a 100 point scale and are derived from the following.

  • Exams (75%)
  • Homework Assignments (25%)

The 100 points above translate to the following GPA points.

Click here to toggle displaying the grade table.

Homework Assignments

For the most part these include: exercises from the textbook, assembly language programming assignments that will execute on the SPIM simulator, and digital circuit designs that run using the MMLogic simulator. Due dates are firm. Assignments are due at the beginning of class on the date due. Late assignments are reduced 10% a day. Programming assignments and circuit simulations will also be submitted on a personal folder that I will create for you on the T: drive.

Exams and Quizzes

There will be two mid-term exams and one final exam and several quizzes. The major exams are weighted equally. To determine your overall exam average add up all of the points on your exams and quizzes and divide by the total number of points.

  1. Exam 1: Monday February 16
  2. Exam 2: Wednesday March 25
  3. Final exam: Tuesday May 5, 8:30AM.

Attendance

Attendance is mandatory. You will be allowed two absences during the semester. After that your final grade will be reduced by two points per absence.


Topics

Below is a list of topics and the order we will cover them. I always have hope that we will cover them all but realistically we will end up skipping some. These topics largely follow the chapters in the textbook.

  1. Introduction and Overview
    • Performance
    • Moore's Law
    • Abstractions and Layering.
  2. The Binary Number System
  3. MIPS Assembly Language Programming
    • The SPIM Simulator
    • MIPS Instructions
    • assemblining, linking, and loading
  4. Arithmetic and Floating-Point Representation
  5. Logic Design
  6. The Processor (single cycle datapath)
  7. The Processor (pipelining)
  8. Caches
  9. Virtual Memory
  10. Storage and I/O
  11. Parallelism
    • Multicores
    • Clusters

Academic Integrity

Please read the university's academic integrity policies in your student handbook.