平坦内存模式、分段内存模式、实地址模式
2014-08-05 18:57
337 查看
IA-32处理器平台允许3种不同的访问系统内存的方法:
(1)平坦内存模式
(2)分段内存模式
(3)实地址模式
平坦内存模式把全部系统内存表示为连续的地址空间。所有指令、数据和堆栈都包含在相同的地址空间中。通过称为线性地址(linear address)的特定地址访问每个内存位置。
分段内存模式把系统内存划分为独立段的组,通过位于段寄存器中的指针进行引用。每个段用于包含特定类型的数据。一个段用于包含指令码,另一个段用于包含数据元素,第三个段用于包含程序堆栈。
段中的内存位置是通过逻辑地址定义的。逻辑地址由段地址(存放在段寄存器中)和偏移地址构成。处理器把逻辑地址转换为相应的线性地址位置以便访问内存的字节。
如果程序使用实地址模式,那么所有段寄存器都指向零线性地址,并且不会被程序改动。所有指令码、数据元素、堆栈元素都是通过它们的线性地址直接访问的。
摘自:《汇编语言程序设计》Richard Blum著
(1)平坦内存模式
(2)分段内存模式
(3)实地址模式
平坦内存模式把全部系统内存表示为连续的地址空间。所有指令、数据和堆栈都包含在相同的地址空间中。通过称为线性地址(linear address)的特定地址访问每个内存位置。
分段内存模式把系统内存划分为独立段的组,通过位于段寄存器中的指针进行引用。每个段用于包含特定类型的数据。一个段用于包含指令码,另一个段用于包含数据元素,第三个段用于包含程序堆栈。
段中的内存位置是通过逻辑地址定义的。逻辑地址由段地址(存放在段寄存器中)和偏移地址构成。处理器把逻辑地址转换为相应的线性地址位置以便访问内存的字节。
如果程序使用实地址模式,那么所有段寄存器都指向零线性地址,并且不会被程序改动。所有指令码、数据元素、堆栈元素都是通过它们的线性地址直接访问的。
摘自:《汇编语言程序设计》Richard Blum著
相关文章推荐
- Linux_平坦内存模式
- 保护模式下的分段内存寻址
- 什么是32位汇编的flat平坦内存模式
- 四、保护模式之内存分段管理机制
- 内存管理笔记(分页,分段,逻辑地址,物理地址与地址转换方式)
- 保护模式下,读写大地址内存 & 从32位保护模式跳回16位实模式
- 保护模式下,读写大地址内存 & 从32位保护模式跳回16位实模式
- DEBUG模式下, 内存中的变量地址分析
- Linux_平坦内存模式
- DEBUG模式下, 内存中的变量地址分析
- 物理地址扩展 (PAE) :Windows Server 2003 和 Windows 2000 提供大内存支持
- Windows2000下用户模式的内存扫描[转帖]
- 权威JavaScript 中的内存泄露模式
- [转帖] Windows2000下用户模式的内存扫描
- Jim's游戏外挂学习笔记4—查找怪数据数组的内存分布和地址
- 三种内存分配模式
- 如何在Visual Basic 中取得变量在内存中的地址(Address of Variables)
- 权威JavaScript 中的内存泄露模式
- 一次异常内存消耗问题的诊断及解决与热点块 (联接地址)
- 如何在Visual Basic 中取得变量在内存中的地址(Address of Variables)