内存地址

1.内存地址。

①逻辑地址。

逻辑地址是包含在机器语言指令中用来指定一个操作数或一条指令的地址。

②线性地址。

我们也称线性地址为虚拟地址,是一组32位无符号整数,用来表示高达4GB的地址。

③物理地址。

物理地址是内存芯片级内存单元寻址,即存储器中存储单元对应实际地址,与逻辑地址相对应。

2.内存管理单元MMU通过分段单元的硬件电路把一个逻辑地址转换成线性地址,再通过分页单元再将线性地址转换成一个物理地址。⑤④

3.分段单元(逻辑地址转换为线性地址)。

①段选择符的TI字段决定段描述符的保存位置(CDT/LDT)。

②段描述符地址等于段选择符的index字段*8加上gdtr/ldtr寄存器内容。

③根据逻辑地址偏移量与段描述符Base字段相加得线性地址。

80x86处理器提供的非编程寄存器存放含8个字节的段描述符,使得逻辑地址转换只需直接引用存放段描述符的CPU寄存器即可,也就是说,仅当寄存器的内容改变时才有必要反问GDT/LDT。

4.分页单元(线性地址转换为物理地址)。

控制寄存器cr3(存放正在使用的页目录串的物理地址)与线性地址内的Directory字段决定页目录中的目录项(指向适当的页表),Table字段决定页表中的表项(含有所在页框的物理地址),Offset字段决定页框内的相对位置。

你可能感兴趣的:(内存地址)