x86系列cpu的寻址方式为段式或段页式,其实就是段式是必须的,页表是可选的。
在保护模式下,段式的寻址方式为每个段提供了各种保护属性。程序中看到的地址为逻辑地址,通过段转换后得到的地址为线性地址。如果不使用页表,则线性地址就是物理地址;如果使用页表,线性地址经过页表映射后才能得到物理地址。x86下的多任务也是通过段式实现的。
ppc系列cpu常用于嵌入式系统,所以其寻址方式比较简单,虽然也有段式结构,但段数量较少,段可设置的属性也比较少。通常,内存会放在一个段上,其他外设分别使用一个段。代码段与数据段的读写属性设置通过页表方式实现。
arm系列也比较简单,地址空间只有8个段(arm中称为bank),与ppc系列类似,内存占一个bank,其他每个外设分别使用一个段。
下图是从linux源码分析中摘抄的地址转换图:
阅读(2862) | 评论(0) | 转发(0) |