MMU到底做了些什么事?
小弟最近非常困惑,关于MMU作的事很奇怪1:在x86上, MMU做的事应该是 把段形式地址 换成 线性地址,再把线性地址换成 物理地址吧
那在 其他的 CPU上, 是不是都需要有个 页式管理的硬件控制方式,MMU实现的就是 把 虚拟地址通过页目录,页表 转换成物理地址?
2:我们常见统一编址中的
ROM 0x0000000-0x00001000
RAM0xa0000000-.....
USB: 0x1000 0000
GPIO: 0x??? ?
这种地址,是物理地址还是 经过 MMU转换过的虚拟地址呢?
3: linux内核 的地址空间 和 普通进程的地址空间有什么区别?同学说内核的地址空间中地址不需要MMU进行地址转换就可以简单的找到物理地址,是这样的吗?
请大家帮帮忙,谢谢 1:是的,总之既然是虚拟地址,就该有硬件干这苦活
2:都可能,物理和虚拟地址空间一般是相同的
3:内核与进程各占4G空间的一部分,内核地址也需要转换 物理和虚拟地址空间一般是相同的
//不可能把
页:
[1]