虚拟地址总结
复制本地路径 | 在线编辑
CPU 生成虚拟地址 -> 转到了 MMU 处理 -> MMU单元中含有TLB(也不能说含有吧,就是这个过程中他们紧密相关)
1. 如果有, MMU 生成物理地址 -> 给到内存,取出相应指令,给到 IR,译码...(这就是CPU干的事情了)
2. 如果没有, 对于不同的系统有不同的情况, 下面是 x86 的情况
MMU 自动去内存的 PageTable 找
-> 如果找到,替换即可,不会产生 page fault trap
-> 如果没有,那 MMU 就会向 CPU 发送一个 page fault trap -> CPU 调到预先的缺页处理程序,替换即可
这是宏观的概念,然后都是细节问题。问题如下。
1. PageTable 和 TLB 中的几个位究竟是干什么的,为什么要这样做
2. 请求分页目的,页大和页小会有什么缺点
3. 几个置换算法具体定义要弄清楚了
4. 请求分页怎么实现,是通过一个交换区,还是直接写回,分别优缺点