实模式存储器寻址

实模式存储器寻址

ID:20836770

大小:24.50 KB

页数:3页

时间:2018-10-16

实模式存储器寻址_第1页
实模式存储器寻址_第2页
实模式存储器寻址_第3页
资源描述:

《实模式存储器寻址》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实模式存储器寻址  80x86中除8086/8088只能在实模式下工作外,其他微处理器均可在实模式或保护模式下工作。实模式就是为8086/8088而设计的工作方式,实模式下允许的最大寻址空间为1MB。它要解决在16位字长的机器里怎么提供20位地址的问题,而解决的办法是采用存储器地址分段的方法。  1.存储器地址的分段  段:程序员在编制程序时要把存储器划分成段,在每个段内地址空间是线性增长的。段的最大长度为64KB,以便能用16位二进制数表示段内地址。  小段:从0地址开始,每16字节为一小段。小段的首地址用16进制数表示时其最低位为0。  段的

2、起始地址:段不能起始于任意地址,而必须从任一小段(paragraph)的首地址开始。  物理地址、段地址、偏移地址  1.物理地址(PA):在1MB的存储器里,每一个存储单元都有一个唯一的20位地址,称为该存储单元的物理地址(20位)。20位物理地址由16位段地址和16位偏移地址组成。  2.段地址:段起始地址的高16位值(16位),低4位固定为0被省去。  3.偏移地址(偏移量EA):指在段内相对于段起始地址的偏移值(16位)。  4.物理地址 = 段地址×10H + 偏移地址。用段地址:偏移地址表示。  2.段寄存器  段寄存器:在8086~

3、80286中,有4个专门存放段地址的寄存器。  代码段CS:存放当前正在运行的程序。  数据段DS:存放当前运行程序所用的数据。  堆栈段SS:定义堆栈的所在区域。  附加段ES:附加的数据段。在80386及其后又增加了FS和GS两个附加数据段寄存器。  除非专门指定,一般情况下,各段在存储器中的分配是由操作系统负责的。而且允许段重叠。如果段超过64KB则将其作为2个以上的段,并动态修改段地址。  3.保护模式存储器寻址  从80286起,就引出了保护模式的存储器寻址,其直接原因:首先是实模式的寻址空间为1MB,这不能满足80286的16MB和8

4、0386等的4GB或更多的地址空间寻址。其次是为了使微机系统能支持多任务处理。在系统支持多任务功能的同时,系统也支持了虚拟存储器特性。  1)逻辑地址  在实模式下逻辑地址即为段地址:偏移地址。物理地址 = 段地址×10H + 偏移地址  在保护模式下逻辑地址则由选择器和偏移地址两部分组成。选择器存放在段寄存器中,但它不能直接表示段基地址,而由操作系统通过一定的方法取得段基地址,再和偏移地址相加,从而求得所选存储单元的物理地址。  2)描述符  描述符用来描述段的大小、段在存储器中的位置及其控制和状态信息,它由基地址、界限、访问权和附加字段四部分

5、组成。描述符的内容是由系统设置的,而不是由用户建立的。  基地址(base)部分用来指定段的起始地址;  界限(limit)部分存放着该段的段长度;  访问权(access rights)部分用来说明该段在系统中的功能,并给出该段的一些控制信息;  附加字段部分在386及其后继机型中存在,它用来表示该段的一些属性。  系统按选择器的内容,根据指定的途径可以找到所选段对应的描述符,从而可以根据其给出的基地址和界限值,确定所要找的存储单元所在的段,再加上逻辑地址中指定的偏移地址,就可以找到相应的存储单元。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。