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:53
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:01
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 Interfaces10:06
More Offloading12:23
Memory11:11
Finishing our Design9:22
Lecture 6
The Memory Hierarchy15:16
Cache Organization20:54
Tradeoffs in Cache Design24:47
Virtual Memory23:48
Practical Paging11:34
The Translation Lookaside Buffer (TLB)20:37
Lecture 7
Operating Systems18:24
The Kernel11:21
Interrupt Handling14:35
Scheduling (Processes and Threads)11:21
Synchronization and Protection35:21
Real-Time Operating Systems (RTOS)17:02
Introduction and Motivation