a.k.a., "Everything you wanted to know about computers, but were afraid to ask"
Lecture Slides and Video Recordings
3. From C to Assembly (Slides)
- Section 3a: Motivation
- Section 3b: Basic CPU Operations
- Section 3c: Variables and Memory Access
- Section 3d: Control Flow
- Section 3e: Procedure Calls
- Section 3f: RISC-V Features and Extensions
- Section 3g: The Build Process (CALL)
4. On-Chip Interconnect (Slides)
- Section 4a: On-Chip Interconnect
- Section 4b: Connecting with Peripherals
- Section 4c: Simple Bus Operation
- Section 4d: Higher Performance Buses
5. Communicating with Peripherals (or "How to build a router") (Slides)
- Section 5a: Communicating with the Outside World
- Section 5b: Offloading the CPU
- Section 5c: Dealing with Faster Interfaces
- Section 5d: More Offloading
- Section 5e: Memory
- Section 5f: Finishing our Design
6. The Memory Hierarchy (Slides)
- Section 6a: The Memory Hierarchy
- Section 6b: Cache Organization
- Section 6c: Tradeoffs in Cache Design
- Section 6d: Virtual Memory
- Section 6e: Practical Paging
- Section 6f: The Translation Lookaside Buffer (TLB)
7. Operating Systems (Slides)