CPU如何访问内存

CPU访问内存示意图

image-20240327154428626

进程虚拟地址到物理地址转换示意图

  1. 根据逻辑地址A和页面大小D,得到页号P=floor(A/D),页内偏移量W=A%D。
  2. 判断越界,如果P≥M则越界,即页号比最大页号M还大就有问题了。
  3. 页表项的地址=起始地址F + 页号P × 页面大小D (这个是内存中的页表的物理地址)或者=F+A-W
  4. 物理地址E = 块号b × 页面大小D + 偏移量W

image-20240327171340716

CPU中MMU使用快表完成虚拟地址到物理地址的转换

image-20240327171928490

参考阅读:

https://baijiahao.baidu.com/s?id=1717508522984565904

https://zhuanlan.zhihu.com/p/596039345

https://zhuanlan.zhihu.com/p/630416602

我们的IT技术为啥变成了现在这么复杂的样子?

https://zhuanlan.zhihu.com/p/52721155

进程虚拟空间

image-20240411150326797