Memory

Real Mode

  • real mode是Intel CPU的一种基本运行模式,是CPU在上电或reset后的默认工作模式
  • 在real mode下,CPU只能访问前1MB的memory space,这前1MB的memory被称为real or conventional memory system
  • 具有downward compatibility,可以允许旧的8088/8086应用在新的CPU如80286及后续的新CPU上继续运行

Segments and Offsets

  • 在real mode下,使用segment address和offset address结合定位内存中的某个位置
  • segment address定义了任意64K-Byte内存段的起始地址
  • offset address选择64-Byte内存段内的任意位置
  • 核心公式Physical Address = Segment × 10H + Offset
  • Example:对于segment register = 1000H, offset register = F000H,结合得到real-mode address = 1F000H(20-bit):

  • 20-bit real mode address可以访问内存前1M Byte的任意16字节边界段的起始位置,这是由于segment address必须乘10H,最小间隔为16字节

Protected Mode

  • 在80826及以后的Intel CPU中加入,允许CPU超出real mode只能访问前1MB内存的限制
  • 在Protected Mode下的寻址如图所示:


链接