CSE logo University of Washington Computer Science & Engineering
 CSE 410 Computer Systems - Spring 2009
  CSE Home   About Us    Search    Contact Info 

News

Syllabus
Academic-Integrity Policy
Extra-Credit Policy
Meetings: MWF 2:30-3:20, EEB 037

Communications

Class discussion list
Class email list archives

Staff & Office Hours

Instructor: Hal Perkins; perkins(at)cs; CSE 548, office hours Mon. 3:30-4:30, Tue. 2:00-3:00.
TA: Braden Pellett; braden(at)cs; CSE 220, office hours Wed. 3:30-4:30, Thur. 2:00-3:00.

Homework

Dropbox for assignment submission

Homework 1, due Thursday, April 9, at 11 pm.
Homework 2, due Thursday, April 16, at 11 pm.
Homework 3, due Thursday, April 23, at 11 pm.
Homework 4, due Thursday, April 30, at 11 pm. NO LATE ASSIGNMENTS ACCEPTED, EVEN IF YOU HAVE UNUSED LATE DAYS.
Homework 5, due Thursday, May 14, at 11 pm.
Homework 6, due Thursday, May 21, at 11 pm.
Homework 7, due Thursday, May 28, at 11 pm.
Homework 8, due Thursday, June 4, at 11 pm.

You have up to four (4) late days to use during the quarter, no more than two (2) of which can be used on any one assignment. For assignments done with partners, late days can only be used if both partners have them available.

Exams

Some old exams and study questions. There is some difference in coverage from this year's course, but overall they should be useful for studying.

Final exam topics
Old exams: sp07  sp06 (solution)
This quarter's final:  exam  sample solution

Midterm topics
Old exams: sp07   sp06 (solutions)
This quarter's midterm:  exam  sample solution

Class Materials

Tentative schedule to be updated as the quarter progresses. Slides will be posted no later than the morning before class. Sample code and other files will be posted shortly after the corresponding lecture. You should read the assigned sections before coming to class to maximize what you will get out of lecture. PH = Patterson & Hennessy; SG = Silbershatz, Galvan & Gagne. Readings given are from the current edition of both books; we'll try to post pointers to the corresponding sections in earlier editions if asked.

1. March 30: Course Introduction: slides; PH Ch. 1 (background reading, skim/skip performance evaluation material), Sec. 2.1-2.5
2. Apr 1: Number representations: slides; PH Sec 2.4; Instruction encoding: slides; PH Sec. 2.1-2.3, 2.5
3. Apr 3: Instruction encoding (concl.)
4. Apr 6: SPIM: slides; PH Appendix B (background/general ref.);  sample programs: hello.s, add.s, addi.s, addvals.s;
5. Apr 8: test and branch instructions: slides; PH 2.6-2.7, B.9, B.10 through p. B-50;  sample program: arraysum.s
6. Apr 10: Procedures slides; PH 2.8, B.5, B.6;  MIPS calling convention handout from Cornell
7. Apr 13: Procedures
8. Apr 15: Procedures
9. Apr 17: Number formats slides; PH 2.4, 3.5 (basics of f.p. representation)
10. Apr 20: compiling and linking  slides; PH 2.12, B.1-B.4
11. Apr 22: Pipelining I  slides; PH 4.1, 4.5
12. Apr 24: Pipelining II slides; PH 4.6 pp. 356-357 only, 4.7, 4.8 (skim/skip hardware diagrams)
13. Apr 27: Memory hierarchy & caches slides; PH 5.1-5.2
14. Apr 29: Caches; PH 5.3
15. May 1: Midterm review
X. May 4: Midterm in class
16. May 6: OS overview  slides; SG 1.1, 1.4-1.9, 2.1, 2.3-2.4, 2.6-2.7; rest of ch. 1 & 2 is good background reading.
17. May 8: OS overview, protection and context switching
18. May 11: Processes  slides; SG ch. 3 through 3.3.
19. May 13: Processes (concl.); Threads slides; SG ch. 4 generally for background, 4.1-4.2 in detail
20. May 15: Threads
21. May 18: Scheduling  slides; SG 5.1-5.5 (skim math for cultural enrichment)
22. May 20: Synchronization  slides;  SG 6.1, 6.2, 6.3 (skim), 6.4-6.5, 6.6 (skim), 6.7
23. May 22: Synchronization
X. May 25: No class; Memorial day
24. May 27: Memory management and virtual memory  slides; PH 5.4, 5.5
25. May 29: Demand paging and page replacement  slides; SG ch. 9 through 9.4.5
26. June 1: Disks and file systems  slides; PH 6.3, SG 10.1-10.3, 10.6, rest of ch. 10-12 has much useful information if you have the time.
27. June 3: File systems
28. June 5: Deadlock  slides; SG ch. 7; Course wrapup
X. Monday, June 8: Final exam review, 4:30-5:30++, CSE 403
X. Tuesday, June 9: Final exam, 2:30-4:20 pm.

Other Resources

SPIM MIPS sumulator. This is the program we will use to run MIPS assembly language programs. There are versions for Windows and *nix (including Linux and Mac OS X). It should be simple to install, but if there are problems, start a conversation on the discussion board and we can work out the details there.

SPIM Linux/OS X version 7.3 (Aug. 06). The newer version has some trouble with single-stepping on OS X at least.

Textbooks

Computer Organization and Design, Patterson and Hennssy, 4th ed, Morgan Kauffman, 2009.
Operating System Concepts, Silberschatz, Galvin and Gagne, 8th ed, Wiley, 2009.

The most recent previous editions of both books should be fine for CSE 410, although the newest edition of PH is a more substantial revision of the previous one. The newest edition of SG is substantially the same as the previous one..


CSE logo Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to Hal Perkins]