CS 576: Computer Architecture

Computer Science 576 is an introduction to the design of computer systems. The objective of this course is to give students a basic understanding of hardware capabilities and a better comprehension of software/hardware interfaces and tradeoffs. The course covers general design issues such as the design and use of instruction sets, pipelining, the memory hierarchy, caches, and hardware support for virtual memory. The design issues are discussed in the context of standard uniprocessor architectures. Towards the end of the course, some issues relevant to multiprocessors are also discussed. 


Instructor

Chris Gniady
Office: Gould-Simpson 819
Phone: 621-4317
Class Email:
cs576:email
Office Hours: Tue 3:15-4:15 & Thu 1:00-2:00, and by appointment  

Lectures

Tue & Thu 2:00-3:15 GLD-S 701

 

Homework Grader

Perianayagam Somasundaram
Email: somu:email

Project Grader

HaiFeng He
Email: somu:email

  

Information Dissemination

Please direct all of your questions and class discussions to the newsgroup at the news.cs.arizona.edu news server. All questions related to homeworks, exam and general questions should be directed there. This will benefit other students in the class as they will most likely have similar questions. All students are encouraged to participate in answering question and providing general hints. However, you are not allowed to give out complete solution or share code. News group access directions (you have to restart Thunderbird before you will get to the news server).

If you would like to provide anonymous comments please use discussion forums at http://d2l.arizona.edu.

Question that are unique to a single student should be directed to cs576:email that is monitored by the instructor.

 

Required text

John L. Hennessy and David A. Patterson
Computer Architecture: A Quantitative Approach. Fourth Edition
Morgan Kaufmann Publishers

Objectives

By the end of the course, the student will be able to:
∙ Explain the evolution and objectives of Computer Architecture;

∙ Explain the major components of computer architecture and describe issues relating to the design and implementation;

∙ Understand the interrelations among the various components that make up a computer;

∙ Explain issues in multiprocessor system design;

∙ Specify basic performance criteria for computer systems.

Grading

Based on two programming assignments and two exams. Homeworks will be assigned to prepare you for the exam questions and will not be graded (Tentative)

Programming Assignments   40%

   Two assignments  20% each

 

Homework Assignments    10%

 

Exams                          50%

    Two exams        25% each

 

The final grades may be curved, but a weighted total of 89.5% and above is guaranteed to be an ‘A’, 79.5% and above at least a ‘B’, 69.5% and above at least a ‘C’, and 59.5% and above at least a ‘D’.

The grades can be checked on http://d2l.arizona.edu

Important Dates

For grade replacement option, adding and dropping the class deadlines please see university calendar http://catalog.arizona.edu/2007-08/0708cal.html.

Exam 1: Tuesday, October 11, 2007

Exam 2: Thursday, November 29, 2007

Computer accounts

You will need CS department computer accounts for this course. You can obtain these through the web page: http://www.cs.arizona.edu/computing/services/account.html. If you already have CS department accounts, you still need to do the apply process to update the department’s database as to the courses you are taking. If you need physical access to the computer labs in Gould-Simpson, you can obtain a swipe card that will let you into the facilities; the CS computer labs are available 24/7.

Programming work

The programming assignments in this class will be done in C/C++. They will be done on Fedora 5 on lectura.cs.arizona.edu. lectura is reachable via ssh over the Internet. Programming assignments will be done in groups of two.

Late work

Students are strongly encouraged to complete the programming and homework assignments on time. Late work will not be accepted and will receive a grade of zero. Do not feel that your program or assignment must be complete to be turned in.

Machine downtime will be taken into account in extending the due dates for programs only if persistent and repeated outages occur over the life-span of the assignment. You should therefore endeavor to complete each program well before the deadline. As you get portions of each phase working, you are encouraged to turn those in and make back-up copies for your own use.

Cooperation & Cheating

I encourage you to talk with your friends about the course work; both giving and receiving advice will help you learn. However, students are responsible for understanding and following the University's Code of Academic Integrity. Briefly, you will not accept solutions from other persons, you will not give solutions to others, and you will not tamper with graded papers, code, or exams. It is OK to talk among groups about algorithms and general approaches, but each group must develop and write its own code, and each person must turn in her or his own homework and exams. I also consider misuse of your computer account a violation of academic integrity. The one exception to this is for test cases. You are allowed to share test cases and expected results of these test cases for the project among groups. Students who violate the Code should expect at a minimum to fail the course and have charges recorded by the Dean of Students office. They may also be subject to other penalties. Refer to the “Code of Academic Integrity for further details on what constitutes cheating,  the penalties that may result, and the procedures involved.

Regrades

If grading seems incorrect, unfair, or inconsistent on a program, homework, or exam, you may appeal for a regrade. You may talk with the grader or the instructor about the regrade. Regrades on programming assignments, and exams will only be accepted during the two week period following their return. The re-grade does not necessarily have to be fully resolved, but the initial request must be made during the two week period. Regrades on the final exam and the last programming assignment will be accepted according to the university policies http://catalog.arizona.edu/2007-08/policies/gradappeal.htm

Exams

The dates/times for the exams and the final exam are firm. Each student must be careful to present a self-contained effort during each exam, and to keep her/his exam paper from easy display. Violations will be dealt with severely, with penalties that may exceed the value of the exam.

Students with disabilities

Students with disabilities, who may require academic adjustments or reasonable accommodations in order to participate fully in course activities or to meet course requirements, must first register with the Disability Resource Center, 1540 E 2nd St, 621-3268, email drc@w3.arizona.edu, URL http://drc.arizona.edu. DRC staff will qualify students for services, and provide a letter to the instructor listing accommodations to be made. This letter should be submitted by the student directly to the instructor as soon as possible during the first week of classes. The student should meet as soon as possible with the instructor by appointment or during office hours to discuss accommodations and how course requirements and activities may impact your ability to fully participate.

Policies against threatening behavior by students