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.
Chris Gniady
Office: Gould-Simpson 819
Phone: 621-4317
Class Email: ![]()
Office Hours: Tue 3:15-4:15 & Thu 1:00-2:00, and by appointment
Tue & Thu 2:00-3:15 GLD-S 701
Perianayagam Somasundaram
Email: 
HaiFeng He
Email: 
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
that is monitored by the instructor.
John L. Hennessy and David A. Patterson
Computer Architecture: A Quantitative Approach. Fourth Edition
Morgan Kaufmann Publishers
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.
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
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
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.
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.
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.
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.
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
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, 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.