Princeton University
Computer Science Department

Computer Science 471
Computer Architecture

David August

Fall 2004


Course Description

An introduction to computer architecture and organization. Instruction set design; basic processor implementation techniques; performance measurement; caches and virtual memory; pipelined processor design; RISC architectures; design trade-offs among cost, performance, and complexity.

Announcements

  • Jan 5: Despite a misprint on the PS4 handout, PS4 is due January 7th.
  • Dec 14: Problem Set 4 is now available.
  • Dec 13: Extra 3rd edition problem suggestions with answers are available from us in person.
  • Nov 28: Extra problem suggestions are now available. Your TAs and I are happy to help you with these.
  • Nov 28: Problem Set 3 is now available.
  • Nov 15: Project 2 [PDF][PS] is now available.
  • Nov 4: Midterm Solutions are now available
  • Oct 18: Sample Midterms
  • Oct 8: Problem Set 2 is now available.
  • Sept 27: Project 1 [PDF][PS] is now available.
  • Sept 24: Problem Set 1 is now available.
  • Sept 15: This is now the official web page for COS471A, COS471B/ELE375. Welcome! -DIA

  • Course Syllabus/Lectures

    All Course Lecture Notes including 3x1 format
    September 9: Introduction Read Chapter 1, Quiz 0!
    September 14: ISA 1 Read Chapters 1,3, Appendix B
    September 16: ISA 2 Quiz 1!
    September 21: Performance
    September 23: Arithmetic Read Chapters 1-4/B, Project partner selection after class, No Quiz!
    September 28: Arithmetic Read Chapters 1-5/B
    September 30: Datapath No Quiz!
    October 1: Problem Set 1 Due at 5PM
    October 5: Control
    October 7: Microprogramming No Quiz!
    October 12:Pipelining Read Chapters 1-6/B
    October 14:Pipeline Control No Quiz!
    October 15: Problem Set 2 Due at 5PM
    October 19: Q&A, Review Project #1 Due at 11:59PM
    October 21: MIDTERM
    October 23-31: FALL BREAK!
    November 2:Branch PredictionRead Chapters 1-6/B
    November 4:Branch Prediction/RTLNo Quiz!
    November 9: Memory HierarchyRead Chapters 1-7/B
    November 11:Memory HierarchyQuiz 2!
    November 16: Virtual MemoryRead Chapters 1-7/B
    November 18:Virtual MemoryNo Quiz!
    November 19:Verilog Tutorial (for students doing the lab)
    November 23:Memory Technology
    November 25-28:THANKSGIVING BREAK
    November 30:Instruction-Level Parallelism
    December 2:Multiprocessor ParallelismRead Chapters 1-7,9/B, No Quiz!
    December 6:Problem Set 3 Due at 5PM
    December 7: I/O and DiskRead Chapters 1-9/B
    December 9: Last Class - Review No Quiz!
    November 25-28:WINTER BREAK
    January 7: Problem Set 4 Due at 5PM
    January 8:Project #2 Due
    January 12, 8:30AM:FINAL ExamComputer Science Building 104

    Final Exam Information

    The final exam will cover the material covered in lecture and in the text. You will have 3 hours for the final exam. The final exam is closed book. Only two two-sided, handwritten 8.5x11 sheets will be allowed. No calculators will be allowed.
    Sample Final 1 Sample Final 2 Sample Final 3

    Supplemental Reading

    SMT Simultaneous Multithreading: Maximizing On-Chip Parallelism by Dean M. Tullsen, Susan J. Eggers, and Henry M. Levy
    Cache Coherence A Survey of Cache Coherence Schemes for Multiprocessors by Per Stenstrom
    ILP1 Instruction-Level Parallel Processing: History, Overview and Perspective by B. Rau and J. Fisher
    ILP2 Compiler Technology for Future Microprocessors by W. Hwu, R. Hank, D. Gallagher, S. Mahlke, D. Lavery, G. Haab, J. Gyllenhaal, and D. August
    DRAM A Case for Studying DRAM Issues at the System Level by B. Jacob

    Project References

  • The PAW Architecture Reference Manual
  • PAW Binutils Documentation

  • Text

    Computer Organization and Design: The Hardware/Software Interface by David Patterson and John Hennessy. Third edition recommended. Second edition is OK.

    Grading

    COS471A COS471B/ELE375
    Project 0% 40%
    Midterm 25% 15%
    Final 40% 25%
    Quizzes 10% EXTRA CREDIT
    Participation 5% 5%
    Homework 20% 15% (best 3 of 4)


    Collaboration Policy

    Homeworks should be attempted individually. If you cannot come up with an answer after trying for a while then you may discuss the material or specific issue with a friend/TA/Prof. The answers should be your own.

    Project teams should work independently. Collaboration among team members is unrestricted (obviously).


    Administrative Information

    Lectures: TTh 1100-1220, Room: RH002

    Professor: David August - 407 CS Building - 258-2085 - Office Hours: TTh 2-4PM

    Undergraduate Coordinator: Tina McCoy - 410 CS Building - 258-1746 tmmccoy@cs.princeton.edu

    Teaching Assistants:

    Jonathan Chang 004 CS Building 258-1785 Office Hours: WTh 2-3PM
    Junwen Lai 217 CS Building 258-0451 Office Hours: MTh 3-4PM
    Neil Vachharajani          004 CS Building          258-1785          Office Hours: TW 10-11AM