Computer Organization
General Material
- Syllabus (NEW August 12 2022)
- Ubiquitous Presenter Lecture Notes
- Ubiquitous Presenter Interactive Tutorial
- Piazza Discussion Board
- MIPS Assembler and Runtime Simulator Program (NEW August 12 2022)
- SPEC Benchmarking for Java Programs
Exam Information
- Midterm Exam Review Sheet (NEW August 12 2022)
- Final Exam Review Sheet (NEW August 12 2022)
Lectures
- Week 1 Lecture 1: Course Introduction (pgs 2-13) (NEW August 12 2022)
- Week 1 Lecture 2: Computer Parts and Performance (pgs 13-38) (NEW August 12 2022)
- Week 1 Lecture 3: Ohms Law and Power (Handout, pgs. 39-40) (NEW August 12 2022)
- Week 2 Lecture 1: Benchmarking (pgs 44-55) (NEW August 12 2022)
- Week 2 Lecture 2: Instructions Part 1 (pgs 76-87) (NEW August 12 2022)
- Week 2 Lecture 3: No Class (Rockwell Collins Tour)
- Week 3 Lecture 1: Instructions Part 2 and the SPIM Simulator (pgs 87-94) (NEW August 12 2022)
- Demo1.mips (NEW August 12 2022)
- Week 3 Lecture 2: Numeric Representation (pgs 87-94) (NEW August 12 2022)
- Week 3 Lecture 3: Programming Practice: Logical Operations and Assembly Code (pgs 94-112) (NEW August 12 2022)
- Not Instruction Example and Jumping Example (NEW August 12 2022)
- 2's Compliment Coding Example (NEW August 12 2022)
- A Simple Loop Example (NEW August 12 2022)
- Week 4 Lecture 1: Procedures (pgs 112-127)) (NEW August 12 2022)
- A SImple Procedure Call Example (NEW August 12 2022)
- Week 4 Lecture 2: More Procedures (NEW August 12 2022)
- A Factorial Example (NEW August 12 2022)
- Week 4 Lecture 3: Arrays and Pointers (pgs 157-161) (NEW August 12 2022)
- A Bubble Sort Example (NEW August 12 2022)
- Week 5 Lecture 1: Addition, Subtraction, and Multiplication (pgs 224-235) (NEW August 12 2022)
- Week 5 Lecture 2: Binary Division (pgs 236-242) (NEW August 12 2022)
- Week 5 Lecture 3: Floating Point Computations (pgs 242-270) (NEW August 12 2022)
- Degrees to Radians Floating Point Example (NEW August 12 2022)
- Week 6 Lecture 1: Floating Point Continued and Real World Ramifications (pgs 275-279)
- Week 6 Lecture 2: Midterm Exam Review (None)
- Week 6 Lecture 3: Midterm Exam (None)
- Week 7 Lecture 1: The Processor and its Datapath (pgs 300-316) (NEW August 12 2022)
- Week 7 Lecture 2: Pipelining (pgs 330-344) (NEW August 12 2022)
- Week 7 Lecture 3: Branch Prediction (pgs 375-391) (NEW August 12 2022)
- Week 8 Lecture 1: Cache Basics (pgs 452-475) (NEW August 12 2022)
- Week 8 Lecture 2: Cache Handling (pgs 475-492) (NEW August 12 2022)
- Week 8 Lecture 3: Cache Design (pgs 475-492, pgs 518-525) (NEW August 12 2022)
- Week 9 Lecture 1: IO Introduction and Reliability (pgs 570-575) (NEW August 12 2022)
- Week 9 Lecture 2: Disk Based Storage (pgs 575-579) (NEW August 12 2022)
- Week 9 Lecture 3: Flash Storage and IO Operation (pgs 580-586) (NEW August 12 2022)
- (Not covered) Week 10 Lecture 1: Multicore Processors (pgs 632-640)
- (Not Covered) Week 10 Lecture 2: Clusters (pgs 641-645, 648-654)
- Week 10 Lecture 3: Final Exam Review (NEW August 12 2022)
Homework
- Homework Assignment 2: Ohms Law (NEW August 12 2022)
- Homework Assignment 3: Performance Calculations (NEW August 12 2022)
- Homework Assignment 4: Introduction to Assembly Language (NEW August 12 2022)
- Homework Assignment 5: Numeric Representation (NEW August 12 2022)
- Homework Assignment 6: Introduction to Assembly Language (NEW August 12 2022)
- Homework Assignment 7: Code Translation (NEW August 12 2022)
- Homework Assignment 8: Reversing Strings (NEW August 12 2022)
- Homework Assignment 9: Multiplying Numbers (NEW August 12 2022)
- Homework Assignment 10: Division of Numbers (NEW August 12 2022)
- Homework Assignment 11: Floating Point Numbers (NEW August 12 2022)
- Homework Assignment 12: Processor Design
Videos
- MARS Simulator Part 1: Writing a simple MIPS Assembly Program
- MARS Simulator Part 2: Doing more with your assembly language program
- MARS Simulator Part 3: Single stepping and breakpoints
- The Relationship between code and programs
- Floating Point Introduction Video