Course Related

Tools & Style


Course Description

Course Description

COS 316 covers basic computer organization and systems programming. We will cover performance metrics, data formats, instruction sets, addressing modes, computer arithmetic, datapath design, memory hierarchies including caches and virtual memory, I/O devices, and bus-based I/O systems. The projects will cover systems programming. The course is open to any undergraduate who has mastered the material in CS 211.


This link provides more info on the course staff and how they can be contacted.


This link provides links to slides used in the lectures, as well as show the various deadlines and scheduled prelims. The lecture slides will be posted AFTER the lectures.


This class has three components: lectures, weekly reading assignments, and a class project. You are expected to keep up with and excel at all three.

The Course Management System (CMS)

The Computer Science Department has provided a new Web-based Course Management System (CMS). This will be used to submit all assignments (problem sets as well as programming projects) and to manage grading and regrade requests. There is a link to the "CMS User Guide" on the left-hand navigation bar in case you are not familiar with CMS.

Academic Integrity

As with all other classes at Cornell, you are expected to maintain a high level of ethical standards and integrity in this course. This means that all work you submit must be the result of your own individual effort.

You may discuss homework problems with other students in the class, but you may not collaborate on the actual writing of the problem sets or development of solutions. Under no circumstances would it be acceptable for two or more students to turn in substantially similar answers to a homework problem, or to have possession of each others' homeworks. Everyone with whom you discussed the homework set must be cited on the submitted homeworks. No part of the homework may be copied from or be based on solution sets on the web - also keep in mind that the solution sets on the web are often incomplete and incorrect.

The same standards apply for group projects, though at the group level. Group members are expected to turn in the result of their collaborative work with other members of the same group. No group should at any time be in possession of another group's solution, or copy another group's solution. It is your responsibility to protect your work from unauthorized access.

Any violations of the academic integrity code will be penalized according to the Cornell Academic Integrity Policy, and may result in failure in the course, suspension, or expulsion from the university.


  1. MIPS Volume 1: Basic MIPS Architecture
  2. MIPS Volume 2: Instruction Set Reference
  3. MIPS Volume 3: Privileged Resources and Systems Programming


  1. ALU Implementation
  2. Basic Execution
  3. MIPS Processor
  4. MIPS Disassembler
  5. MIPS Simulator
  6. Cache Simulation and Measurement
  7. Multicore Simulator
  8. Final Project