Chinaunix首页 | 论坛 | 博客
  • 博客访问: 821004
  • 博文数量: 97
  • 博客积分: 3042
  • 博客等级: 中校
  • 技术积分: 1610
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-21 11:48
文章存档

2015年(1)

2014年(3)

2013年(4)

2012年(43)

2011年(44)

2010年(2)

分类: LINUX

2011-10-12 20:48:31

    在深入理解操作系统内存部分时,特别是在了解80x86微处理器时,经常要和三种地址打交道,他们分别是:逻辑地址, 线性地址,和物理地址
    逻辑地址:包含在机器语言指令中,用来指定一个操作数或者一条指令的地址。它促使MS-DOS和windows程序员把程序分成若干段,每一个逻辑地址都由一个段地址和一个偏移量组成,偏移量用来指示从段开始的地方到实际位置的距离。
    线性地址:线性地址也称虚拟地址。是一个32位的无符号整数,可以用来表示高达4GB的地址,线性地址通常用十六进制来表示,值从0x0000~0xffff。
    物理地址:用于内存芯片内存单元寻址。它从微处理器的地址引脚发送到内存总线上的电信号对应位。物理地址由32位或36位无符号数表示。
    内存控制单元(MMU)通过分段单元的硬件电路把逻辑地址转换成线性地址。接着,再由分页单元逻辑地址转换成物理地址。
   如何转换接下篇
 
阅读(902) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~