[050][x86汇编语言]16.1.1 简单分页模型: 计算从

2018-07-25  本文已影响13人  AkuRinbu

学习笔记

《x86汇编语言:从实模式到保护模式》
https://www.jianshu.com/p/d481cb547e9f

分页机制的引入背景

物理地址

单纯的分段模式

从线性地址到页物理地址的映射

计算物理内存地址

《x86汇编语言:从实模式到保护模式》 P.304 图16-4 从线性地址到页物理地址的映射.PNG
mov edx,[0x2002]

已知 段地址 0x0020 0000
指令中给出偏移量 0x2002
得到线性地址  0x00202002
0x00200000
+ 0x  2002
-------------
0x00202002

   高20位  低12位
0x 00202   002

线性地址的高20位(0x 00202 )就是表格(映射表)索引,
将索引乘以4,得到0x00808,这就是映射表偏移量,
在映射表 +0x 00808 表项里面,存着 0x 0000 7000
0x 0000 7000 就是页的物理地址;

线性地址的低12位(0x 002)就是页内偏移量;

用页物理地址加上页内偏移量,就是最终的物理内存地址
0x 0000 7000 + 0x 002 = 0x 0000 7002 

页的最小单元是 4KB 
4 KB = 2^12 Byte
因此只需要 线性地址的低12位 作为 页内偏移量,
就足够寻址 完整的单个 4KB 的物理页。

物理内存不够分

上一篇 下一篇

猜你喜欢

热点阅读