这课真心不适合入门。。。没基础的慎入。。。
Silde: https://cs61c.org/su20/lectures/?file=lec19.pdf
理解用户态、内核态、Linux 从用户态切换到内核态需要走系统调用
在 cs61c 中使用了 venus,对应的 syscall 是 risc-v 的 ecall 指令。
五级流水线基于虚存的修改。
因为单层 page table 中 pages 的数目过大,且不紧凑。
示例:
解决方法:TLB(Translation lookaside buffer)
TLB 和 CACHE 的理念相近:
TLB 在内存映射中的位置:
TLB 的设计字段:
需要将 TLB 清空
对比 cache miss 和 page fault: