shilirong 发表于 2004-11-16 12:23:31

MMU到底做了些什么事?

小弟最近非常困惑,关于MMU作的事很奇怪

1:在x86上, MMU做的事应该是 把段形式地址 换成 线性地址,再把线性地址换成 物理地址吧
那在 其他的 CPU上, 是不是都需要有个 页式管理的硬件控制方式,MMU实现的就是 把 虚拟地址通过页目录,页表 转换成物理地址?

2:我们常见统一编址中的
          ROM 0x0000000-0x00001000
                RAM0xa0000000-.....
                USB: 0x1000 0000
                GPIO: 0x??? ?
这种地址,是物理地址还是 经过 MMU转换过的虚拟地址呢?

3: linux内核 的地址空间 和 普通进程的地址空间有什么区别?同学说内核的地址空间中地址不需要MMU进行地址转换就可以简单的找到物理地址,是这样的吗?

请大家帮帮忙,谢谢

unix-linux 发表于 2004-11-22 19:16:52

1:是的,总之既然是虚拟地址,就该有硬件干这苦活

2:都可能,物理和虚拟地址空间一般是相同的

3:内核与进程各占4G空间的一部分,内核地址也需要转换

suowei1979 发表于 2004-11-23 14:32:50

物理和虚拟地址空间一般是相同的

//不可能把
页: [1]
查看完整版本: MMU到底做了些什么事?