Computer Organization


General Material

  1. Syllabus (NEW August 12 2022)
  2. Ubiquitous Presenter Lecture Notes
  3. Ubiquitous Presenter Interactive Tutorial
  4. Piazza Discussion Board
  5. MIPS Assembler and Runtime Simulator Program (NEW August 12 2022)
  6. SPEC Benchmarking for Java Programs

Exam Information

  1. Midterm Exam Review Sheet (NEW August 12 2022)
  2. Final Exam Review Sheet (NEW August 12 2022)

Lectures

  1. Week 1 Lecture 1: Course Introduction (pgs 2-13) (NEW August 12 2022)
  2. Week 1 Lecture 2: Computer Parts and Performance (pgs 13-38) (NEW August 12 2022)
  3. Week 1 Lecture 3: Ohms Law and Power (Handout, pgs. 39-40) (NEW August 12 2022)
  4. Week 2 Lecture 1: Benchmarking (pgs 44-55) (NEW August 12 2022)
  5. Week 2 Lecture 2: Instructions Part 1 (pgs 76-87) (NEW August 12 2022)
  6. Week 2 Lecture 3: No Class (Rockwell Collins Tour)
  7. Week 3 Lecture 1: Instructions Part 2 and the SPIM Simulator (pgs 87-94) (NEW August 12 2022)
  8. Week 3 Lecture 2: Numeric Representation (pgs 87-94) (NEW August 12 2022)
  9. Week 3 Lecture 3: Programming Practice: Logical Operations and Assembly Code (pgs 94-112) (NEW August 12 2022)
  10. Week 4 Lecture 1: Procedures (pgs 112-127)) (NEW August 12 2022)
  11. Week 4 Lecture 2: More Procedures (NEW August 12 2022)
  12. Week 4 Lecture 3: Arrays and Pointers (pgs 157-161) (NEW August 12 2022)
  13. Week 5 Lecture 1: Addition, Subtraction, and Multiplication (pgs 224-235) (NEW August 12 2022)
  14. Week 5 Lecture 2: Binary Division (pgs 236-242) (NEW August 12 2022)
  15. Week 5 Lecture 3: Floating Point Computations (pgs 242-270) (NEW August 12 2022)
  16. Week 6 Lecture 1: Floating Point Continued and Real World Ramifications (pgs 275-279)
  17. Week 6 Lecture 2: Midterm Exam Review (None)
  18. Week 6 Lecture 3: Midterm Exam (None)
  19. Week 7 Lecture 1: The Processor and its Datapath (pgs 300-316) (NEW August 12 2022)
  20. Week 7 Lecture 2: Pipelining (pgs 330-344) (NEW August 12 2022)
  21. Week 7 Lecture 3: Branch Prediction (pgs 375-391) (NEW August 12 2022)
  22. Week 8 Lecture 1: Cache Basics (pgs 452-475) (NEW August 12 2022)
  23. Week 8 Lecture 2: Cache Handling (pgs 475-492) (NEW August 12 2022)
  24. Week 8 Lecture 3: Cache Design (pgs 475-492, pgs 518-525) (NEW August 12 2022)
  25. Week 9 Lecture 1: IO Introduction and Reliability (pgs 570-575) (NEW August 12 2022)
  26. Week 9 Lecture 2: Disk Based Storage (pgs 575-579) (NEW August 12 2022)
  27. Week 9 Lecture 3: Flash Storage and IO Operation (pgs 580-586) (NEW August 12 2022)
  28. (Not covered) Week 10 Lecture 1: Multicore Processors (pgs 632-640)
  29. (Not Covered) Week 10 Lecture 2: Clusters (pgs 641-645, 648-654)
  30. Week 10 Lecture 3: Final Exam Review (NEW August 12 2022)

Homework

  1. Homework Assignment 2: Ohms Law (NEW August 12 2022)
  2. Homework Assignment 3: Performance Calculations (NEW August 12 2022)
  3. Homework Assignment 4: Introduction to Assembly Language (NEW August 12 2022)
  4. Homework Assignment 5: Numeric Representation (NEW August 12 2022)
  5. Homework Assignment 6: Introduction to Assembly Language (NEW August 12 2022)
  6. Homework Assignment 7: Code Translation (NEW August 12 2022)
  7. Homework Assignment 8: Reversing Strings (NEW August 12 2022)
  8. Homework Assignment 9: Multiplying Numbers (NEW August 12 2022)
  9. Homework Assignment 10: Division of Numbers (NEW August 12 2022)
  10. Homework Assignment 11: Floating Point Numbers (NEW August 12 2022)
  11. Homework Assignment 12: Processor Design

Videos

  1. MARS Simulator Part 1: Writing a simple MIPS Assembly Program
  2. MARS Simulator Part 2: Doing more with your assembly language program
  3. MARS Simulator Part 3: Single stepping and breakpoints
  4. The Relationship between code and programs
  5. Floating Point Introduction Video