内存寻址 是否分段 形象描述
2012-05-01 19:11
274 查看
在早期的处理器中,比如8086/8088,最大可寻址1M空间,及20位宽度,而cpu的寄存器仅是16位的,也就是说一个cpu寄存器仅能寻址64k,这就产生了矛盾。所以要用两个寄存器来表示地址,看下面的例子: 比如现在有这样一个问题,一个学校有50个班(1班,2班,...,50班),每个班有60名学生,怎么标记识别出每个学生呢?简单:把所有学生从1开始编号,到3000为止。每个号码代表一个学生即可,但是有这么一个问题,如果有一个电子显示牌用于老师点名,由于技术及成本原因,只能显示两位数字,并且最大数是60(00-60),那么怎么用显示牌标记出所有学生呢。比如第300号学生?答案就是做两个显示牌,第一个显示牌显示班级,第二个显示牌显示其在班级中的编号。 而每个学生的最终编号 = 班号*60 + 在班级的编号 这里学生的最终编号和内存地址是一样的,班号就是段寄存器,在班级的编号就是偏移地址。 实质就是16位cpu的内存地址线有20根,16<20所以地址要分两部分表示。32位cpu的地址线有32根,32=32只有一个寄存器就能全部表示内存地址,不存在分段问题。 现代cpu一般有多个模式,dos操作系统工作在实模式,不论cpu多先进和8086的区别只是速度快,但仅能使用1M内存(段地址+偏移地址),而windows工作在保护模式,能识别32位地址内存,又称为flat模式,不用分段
相关文章推荐
- 深入理解计算机系统-之-内存寻址(三)--分段管理机制(段描述符,段选择子,描述符表)
- 二、内存寻址(分段)
- 内存寻址(二):linux中的分段与分页机制
- Linux 内存寻址之分段机制
- 内存寻址一(分段)
- Linux内存寻址之分段机制及分页机制
- 保护模式下的分段内存寻址
- Linux内存寻址之分段机制及分页机制【转】
- Linux内存寻址之分段机制
- Linux内存寻址之分段机制
- 深入理解Linux内存寻址的分段机制
- 8086的内存分段机制 内存寻址
- 深入理解计算机系统-之-内存寻址(四)--linux中分段机制的实现方式
- 内存寻址(一)硬件寻址的基本原理:硬件中的分段和分页机制,控制寄存器CR0与CR3
- 32位程序超过2G内存空间寻址问题
- VS 查看是否有内存泄露的方法
- 《Linux0.11内核完全注释》读后小结 --- 内存寻址
- 合纵连横 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 乱世天下,诸侯割据。每个诸侯王都有一片自己的领土。但是不是所有的诸侯王都是安分守己的,实力强大的诸侯国会设法吞并
- X86 - 再来一篇有关内存cacheable/write combine/uncacheable的文章,以及ioremap的内存是否cacheable
- 各种设计模式的形象描述