寒江独钓

博客园 首页 新随笔 联系 订阅 管理

2013年12月3日 #

摘要: 为了节约页表占用的内存空间,x86将线性地址通过页目录表和页表两级查找转换成物理地址。32位的线性地址被分成3个部分:最高10位 Directory 页目录表偏移量,中间10位 Table是页表偏移量,最低12位Offset是物理页内的字节偏移量页目录表的大小为4KB(刚好是一个页的大小),包含1024项,每个项4字节(32位),表项里存储的内容就是页表的物理地址(因为物理页地址4k字节对齐,物理地址低12位总是0,所以表项里的最低12字节记录了一些其他信息,这里做简化分析)。如果页目录表中的页表尚未分配,则物理地址填0。页表的大小也是4k,同样包含1024项,每个项4字节,内容为最终物理页的 阅读全文
posted @ 2013-12-03 14:20 X.W.LIU 阅读(314) 评论(0) 推荐(0) 编辑

摘要: 一、基本概念1)物理地址(physical address) 用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。2)逻辑地址(logical address) Intel为了兼容,将远古时代的段式内存管理方式保留了下来。逻辑地址指的是机器语言指令中,用来指 定一个操作数或者是一条指令的地址。3)线性地址(linear address) 总的来说,CPU将一个虚拟内存空间中的地址转换为物理地址,需要进行两步: 首先将给定一个逻辑地址,CPU要利用其段式内存管理单元,先将为个逻辑地址转换成一个线性地 址, 再利用其页式内存管理单元,转换为最终物理地址。二、逻辑地址—>线性地址. 阅读全文
posted @ 2013-12-03 14:16 X.W.LIU 阅读(2127) 评论(0) 推荐(0) 编辑