CS 281
Computer Organization

Denison
Computer Science 281
Computer Organization
Spring, 2009

Professor: Jessen Havill
Office: Olin 208
E-mail: havill@denison.edu
Phone: 587-6582
Mailbox: Olin 201
Office hours: Please see the schedule outside my office.

Description

Every high level language program must be compiled into machine language (or assembly language, which is a symbolic representation of a machine language) in order for a particular machine to execute it. A computer architecture (or computer organization ) defines the computer from the point of view of a machine language program. A particular architecture is essentially defined by its machine language instruction set, which specifies the interface by which a program can manipulate the hardware. It is this level of abstraction that we will be studying in this course.

Topics will include assembly language programming, machine language, binary number representation and computer arithmetic, the datapath and control of a processor, the memory hierarchy, and input/output devices.

By the way, during CS 372, you will be studying the next lower level, that of the operating system, which provides a set of lower level abstractions to user programs. In a nutshell, after these two courses, you will better understand the primary issues involved in the design of a computer system and what really happens after you compile and execute a program written in a high level programming language.

Text

Patterson and Hennessy, Computer Organization and Design: The Hardware/Software Interface, 4th edition, Morgan Kaufmann Publishers, 2008.

Attendance and Other Responsibilities

Your attendance is expected at each class meeting. I reserve the right to take into account attendance in instances of borderline grade assignments. Of course, excused absences (sickness, family emergencies, varsity athletic participation) will not be held against you.

You are responsible for the content of reading assignments, lectures and handouts, as well as announcements and schedule changes made in class whether or not you are present. If you must miss a class, be sure to check with me or another student to get what you missed. Exams will be given in class on the day scheduled and may not be made up.

Homework Policies

There will be a number of homework assignments (mostly programming assignments) given during the semester which will be due in class on the date specified. No late homework assignments will be accepted, unless I grant an extension to the class, or arrangements have been made with me well in advance. Since it may not be obvious how long an assignment (especially a programming assignment) might take, you are well advised to start early. Each of these assignments will be graded.

Labs

An important component of this class is the hands-on learning that comes from the weekly labs. I expect to use 12 labs over the semester. These are designed to be started during the lab period and turned in by the following class period.

Academic Integrity

The students and faculty of Denison University and the Department of Mathematics and Computer Science are committed to academic integrity and will not tolerate any violation of this principle. Academic honesty, the cornerstone of teaching and learning, lays the foundation for lifelong integrity.

Academic dishonesty is, in most cases, intellectual theft. It includes, but is not limited to, providing or receiving assistance in a manner not authorized by the instructor in the creation of work to be submitted for evaluation. This standard applies to all work ranging from daily homework assignments to major exams. Students must clearly cite any sources consulted - not only for quoted phrases but also for ideas and information that are not common knowledge. Neither ignorance nor carelessness is an acceptable defense in cases of plagiarism. It is the student's responsibility to follow the appropriate format for citations.

As is indicated in Denison's Student Handbook, available through my.denison.edu, instructors must refer every act of academic dishonesty to the Associate Provost, and violations may result in failure in the course, suspension, or expulsion. (For further information, consult the student handbook.)

In this class, you may discuss homework problems with other students in the class, but written (and typed) work must be your own. In other words, you may talk about homework problems with your peers, but when it comes time to write your solutions, you are on your own. You may have general conversations about problem strategies, but you must leave these conversations without having written anything down. Keep in mind that it is quite easy for me to tell when two students have been working too closely. You may not get help from students outside the class. If you have questions, come see me and I will be happy to help. You are also quite welcome to send me e-mail or call if you would like to discuss an assignment.

WWW Resources

I will maintain a web page for the class which will contain reading assignments, homeworks, answer keys, and other useful things. It would be wise to check it daily. The URL is:

http://www.denison.edu/~havill/281/

Grade Determination

Homework Assignments 35%
Labs 20%
2 Mid Term Exams 25%
Final Exam 20%

Course Topics

Here is a rough sketch of the topics we will cover this semester. Use this as a general guide only; we will undoubtedly deviate from this schedule. The actual reading assignments will be given in class and posted on the web.

  1. Number Systems
  2. MIPS Instruction Set Architecture and Assembly Language Programming
  3. Machine Language
  4. High Level Language Translation and Calling Conventions
  5. Performance
  6. Integer and Floating Point Representation
  7. Digital Logic
  8. ALU Design
  9. Multiplication and Division
  10. Datapath Design
  11. Pipelined Datapath
  12. Memory and Caches

Any student who feels he or she may need an accommodation based on the impact of a disability should contact me privately as soon as possible to discuss his or her specific needs. I rely on the Office of Academic Support in 104 Doane to verify the need for reasonable accommodations based on documentation on file in their office.



Have a great semester! If you need anything, let me know.