Computer Science 315-01

Computer Architecture
Spring 2012


MWF 11:45-12:50, HR 535




Professor: Peter Pacheco
Office: Harney 540
Phone: 422-6630
Email: user: peter, domain: cs.usfca.edu
Office Hours: MF 2-3, W 1-2, and by appointment


TA: Shah El-Rahman
Email: user: snelrahman, domain: cs.usfca.edu
Office Hours: MW 10:30-11:30, F 5-6, Tuesdays before a homework assignment is due 9-10 in HR 530 or HR 535


Class Website: http://cs.usfca.edu/~peter/cs315
Class Mailing List: From the email account that you want to use for class email, you should send an email to user cs315+subscribe in the domain cs.usfca.edu. Once your subscription is approved, you'll receive class announcements, and you can post messages by sending email to user cs315 in the domain cs.usfca.edu.


Text: David A. Patterson and John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, revised 4th ed., Morgan Kaufmann, 2012. Note that the revised 4th edition is different from the 4th edition. The revised 4th edition was published in November, 2011. The 4th edtion was published in 2009. The ISBN for the revised 4th edition is 978-0123747501.


Prerequisites: CS 220 (or CS 221) and CS 245. I'll assume that you're familiar with discrete mathematics and both the C and Java programming languages.


Coursework and Grades: I will base your final grade on 10 homework assigments, 2 midterms, and a final exam, weighted as follows.
Homework 10 @ 3% each 30%
Midterms 2 @ 20% each 40%
Final Exam 30%
Total 100%
I will assign grades on a straight scale. Roughly, 90-100% is an A, 80-89% is a B, 65-79% is a C, 55-64% is a D, and 0-54% is an F.


Attendance and Lateness: Attendance is not required. However, you are responsible for all of the material covered in class, regardless of whether it is covered in the text. Being late to class is unacceptable. You may have one unexcused late arrival. Subsequent late arrivals may affect your grade.


Academic Honesty: As a Jesuit institution committed to cura personalis - the care and education of the whole person - USF has an obligation to embody and foster the values of honesty and integrity. USF upholds the standards of honesty and integrity from all members of the academic community. All students are expected to know and adhere to the University's Honor Code. You can find the full text of the code online at http://www.usfca.edu/fogcutter.
From a practical standpoint it is fine for you to discuss homework with your classmates. Any other collaboration is unacceptable. In particular, copying another person's work is unacceptable. Students who violate these rules will receive an F in the course. Repeat violators may be subject to more severe penalties.


Computer Access: You may use any of the Computer Science Department computers in Harney 235, 530, and 536. You do not need to own a computer for this class.


Learning Outcomes: In this course students will be able to
  1. Describe the major components of a computer system and how they interact with each other,
  2. Write assembly language programs,
  3. Translate constructs in a high-level language into machine language,
  4. Understand how computers carry out operations such as fixed- and floating-point arithmetic,
  5. Understand how a CPU is organized and how it operates,
  6. Understand how pipelining, cache, and virtual memory improve the performance of CPU's.
Tentative Course Outline:


Week Material
1/23-1/27 Preliminaries. Overview of computer architecture.
1/30-2/3 Basics of performance evaluation.
Homework 1 due Wednesday, 2/1.
2/6-2/10 Data and Instruction representation.
Homework 2 due Wednesday, 2/8.
2/13-2/17 MIPS assembly language.
Homework 3 due Wednesday, 2/15.
2/22-2/24 More on MIPS assembly language.
Homework 4 due Wednesday, 2/22.
2/27-3/2 Translating and starting a program.
Midterm 1, Wednesday, 2/29.
3/5-3/9 Basic integer arithmetic.
Homework 5 due Wednesday, 3/7.
3/19-3/23 Introduction to floating point.
Homework 6 due Wednesday, 3/21.
3/26-3/30 Basics of logic design.
Homework 7 due Wednesday, 3/28.
4/2-4/4 Building a datapath.
Homework 8 due Wednesday, 4/4.
4/9-4/13 Implementation details.
Homework 9 due Wednesday, 4/11.
4/16-4/20 Pipelining.
Homework 10 due Wednesday, 4/18.
4/23-4/27 Data and control hazards.
Midterm 2, Wednesday, 4/25.
4/30-5/4 Caches.
Homework 11 due Wednesday, 5/2.
5/7-5/9 Virtual memory.
Homework 12 due Wednesday, 5/9.



File translated from TEX by TTHgold, version 4.00.
On 23 Jan 2012, 15:10.