CS 2810: Computer Organization and Architecture
Spring 2025
Week 1: Jan 6–10.
- Big picture
- codegrinder intro
- computer organization big picture
- RISC-V assembly language
- program organization
- instructions
- operands: registers, memory, and constants
- logical, shift, and multiply instructions
- branching
- Assignments: rv64 hello world
Week 2: Jan 13–17.
- Big picture
- operating system organization, userspace, kernel, processes
- process memory layout, process state
- RISC-V assembly language
- conditional statements
- loops
- arrays
- function calls
- pseudoinstructions
- Digital logic basics
- Assignments: rv64 thermostat, AM or FM
Week 3: Jan 20–24. No classes on Monday for MLK Day
- Topics:
- Assignments: rv64
- Quiz 1: simple functions with conditionals
Week 4: Jan 27–31.
- Topics:
- Assignments: rv64
- Quiz 2: simple functions with loops
Week 5: Feb 3–7.
- Topics:
- Assignments: rv64
- Quiz 3: memory and arrays
Week 6: Feb 10–14.
- Topics:
- Assignments: rv64
- Quiz 4: function calls
Week 7: Feb 17–21. No classes on Monday for President’s Day
- Topics:
- Quiz 5: simple data structures
- Assignments: rv64
Week 8: Feb 24–28.
- Topics: C programming
- Assignments: C hello world
- Midterm exam
Week 9: Mar 3–7.
- Topics:
- Assignments:
Spring break: Mar 10–14. No classes
Week 10: Mar 17–21.
- Topics:
- Assignments:
- Quiz 6: C
Week 11: Mar 24–28.
- Topics:
- Assignments:
- Quiz 7: C
Week 12: Mar 31–Apr 4.
- Topics:
- Assignments:
- Quiz 8: C
Week 13: Apr 7–11.
- Topics:
- Assignments:
- Quiz 9: C
Week 14: Apr 14–18.
- Topics:
- Assignments:
- Quiz 10: C
Week 15: Apr 21–25. Thursday is the last day of class
- Topics: cpu history
Topics
- Digital logic basics
- binary numbers
- hexadecimal numbers
- binary addition
- signed binary numbers
- NOT gate
- AND gate
- OR gate
- other two-input gates
- multiple-input gates
- Digital building blocks
- addition
- subtraction
- comparators
- ALU
- shifters and rotators
- multiplication
- division
- counters
- shift registers
- DRAM, SRAM
- CPU microarchitecture
- single-cycle processor
- multi-cycle processor
- pipelining
- advanced microarchitecture
- RISC-V assembly language
- the stack
- recursive functions
- C programming
- overview
- compilation
- variables
- operators
- function calls
- control flow
- pointers
- arrays
- characters
- strings
- structs
- unions
- typedef
- dynamic memory allocation
- linked lists
- standard library
Note: Changes to this schedule are likely and will be announced in class.
Resources
- Syllabus
- Examples from class
- Command-line tutorial
- The missing semester of your CS education
- RISC-V cheat sheet
- Beej’s Guide to C Programming
- Adventure by Warren Robinett
- Slides: RISC-V assembly intro
- YT playlist: RISC-V assembly language
- YT playlist: RISC-V microarchitecture
Setup instructions for Windows users
Setup instructions for MacOS users
Setup instructions for Linux users
Last Updated 01/13/2025