Lecture 1
Lecture 2
The Microprocessor27:20
The Instruction Set Architecture (ISA)21:02
Calling a Procedure7:23
Running a Program (CALL)9:12
Measuring Performance13:52
Lecture 3
From C to Assembly11:13
Basic CPU Operations17:28
Variables and Memory Access25:50
Control Flow8:59
Procedure Calls20:40
RISC-V Features and Extensions30:06
The Build Process (CALL)20:00
Lecture 4
On-Chip Interconnect8:20
Connecting with Peripherals18:54
Simple Bus Operation15:06
Higher Performance Buses21:28
Lecture 5
Communicating with Peripherals (or “How to build a router”)16:23
Offloading the CPU9:32
Dealing with Faster Interfaces12:23
More Offloading12:23
Memory12:23
Finishing our Design10:06
Lecture 6
The Memory Hierarchy15:16
Cache Organization20:54
Tradeoffs in Cache Design11:34
Virtual Memory21:28
Practical Paging11:34
The Translation Lookaside Buffer (TLB)20:36
Lecture 7
Operating Systems12:23
The Kernel11:21
Interrupt Handling18:24
Scheduling (Processes and Threads)11:21
Synchronization and Protection35:21
Real-Time Operating Systems (RTOS)12:23
MPU, MCU, and SoC