CS 220 Syllabus Spring 2012

Instructor


Course Info

CS 220 - Computer Organization

The prerequisite for this course is CS219.

Required textbooks

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


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 and assembly language programming assignments that will execute on the SPIM 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, 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: Thursday, March 1
  2. Exam 2: Thursday, April 5
  3. Final exam: Monday May 7, 8:30AM-11:30AM.
  4. There is no class on Thursday, March 8.

Attendance

Attendance is mandatory. You will be allowed two absences during the semester. After that your final grade will be reduced by two percentage 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.

Throughout the semester we will also be studying parts of the Linux Operating System with readings and assignments from the Linux 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
    • Graphics Processors (GPUs)

Academic Integrity

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