ECE/CS 314, Computer Organization

Course Description

ECE/CS 314 covers basic computer organization. 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 assembly language programming and the design of a simple pipelined processor. We may also discuss advanced topics such as superpipelined and superscalar architectures. The course is open to any undergraduate who has mastered the material in CS 211.

Administrative

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.

Textbook and Reading Assignments

Reading assignments are from the textbook unless noted otherwise.

David A. Patterson and John L. Hennessy. Computer Organization and Design. The Hardware/Software Interface, Second Edition. ISBN 1558604286, Morgan Kaufmann, December 1997.

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. Look at the CMS user documentation for instructions on how to use CMS to submit assignments and regrade requests and to query your grade status.

Homework and Solutions

Homework problem sets will be posted on CMS. All solutions to problem sets must be submitted electronically through CMS, and all submitted solutions must be in PDF or plain text format.

Word users: Please do not submit .doc files directly. You can easily convert your Word documents to PDF, using either Adobe's Distiller program (available in the Labs) or the Conversion Server, a free Web service.

Projects

There will be four projects, done in groups of two each. The projects cover assembly langage programming, C programming, logic design and processor architecture.

Facilities and Accounts

The computing facility for ECE/CS314 is a brand new rack-mounted cluster provided by the ECE Department. The cluster machines must be accessed remotely using ssh and X-Windows or (eventually) VNC.

You need to have both a CSL and a CSUG account to have full access to all course materials, labs, and CMS. We have created CSUG accounts for all enrolled students in the course. You will need to follow this link to to request a a CSL account. Please sign up for a CSL account as soon as possible.

Tutoring

A separate group of students affiliated with the College of Engineering are holding tutoring sessions for ECE/CS 314 on Sundays 5:30-7:30 pm in Phillips 213.

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.