微机原理与接口技术-郭兰英-第2章课件

上传人:我*** 文档编号:141686045 上传时间:2020-08-11 格式:PPT 页数:42 大小:835.50KB
返回 下载 相关 举报
微机原理与接口技术-郭兰英-第2章课件_第1页
第1页 / 共42页
微机原理与接口技术-郭兰英-第2章课件_第2页
第2页 / 共42页
微机原理与接口技术-郭兰英-第2章课件_第3页
第3页 / 共42页
微机原理与接口技术-郭兰英-第2章课件_第4页
第4页 / 共42页
微机原理与接口技术-郭兰英-第2章课件_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《微机原理与接口技术-郭兰英-第2章课件》由会员分享,可在线阅读,更多相关《微机原理与接口技术-郭兰英-第2章课件(42页珍藏版)》请在金锄头文库上搜索。

1、微机原理与接口技术,第2章 微处理器存储器管理技术,教学重点, 实模式存储器寻址, 保护模式存储器寻址, 分段存储器管理, 分页存储器管理,微处理器的工作模式,Intel系列微处理器如何寻址与微处理器的工作模式有关。 微处理器的工作模式: 实模式 保护模式,只允许微处理器寻址第一个1MB内存空间,允许微处理器寻址第一个1MB及第一个1MB以上的内存空间,在计算机的内存中存放着三类信息: 代码:即指令操作码,指出CPU执行什么操作; 数据:即数值和字符等,程序加工对象; 堆栈:即临时保存的返回地址和中间结果。 为了避免混淆,这三类信息分别存放在各自的存储区域内。段寄存器指示这些存储区域段地址。,

2、物理地址和逻辑地址,物理地址是存储器中某一单元的实际地址,用20位地址码表示,用16进制表示是00000HFFFFFH中的一个单元,CPU访问存储器时,地址总线上送出的是物理地址. PA(段地址)10H偏移地址 编制程序时,则采用逻辑地址,逻辑地址由段地址和偏移地址(偏移量)组成。 逻辑地址 = 段地址 : 偏移地址,注意:有些寻址方式将多个寄存器和一个偏移量组合构成偏移地址,在此情况下,这些值可能超过FFFFH。 如(CS)=4000H,(IP)=F000H+3000H =(1)2000H(偏移地址) 物理地址:42000H,而不是52000H。,实模式存储器寻址,实模式下寻址: 逻辑地址

3、段基址:偏移地址 物理地址=段地址10H+偏移地址。,1F000,64KB段,逻辑地址,段起始地址(段首地址/段基址)的高16位称为段地址 段基地址说明逻辑段在主存中的起始位置 8088规定段基地址必须是16的整数倍:xxxx0H 省略低4位0000B,段地址就可以用16位数据表示,就能用16位段寄存器表达段地址 偏移地址说明主存单元距离段起始位置的偏移量 每段不超过64KB,偏移地址也可用16位数据表示,物理地址和逻辑地址之间的转换关系,已知一个存储单元的逻辑地址为:1380H:0F00H,请计算其物理地址?,将逻辑地址中的段地址左移4位(二进制),加上偏移地址就得到20位物理地址,E.g.

4、 物理地址 14700H 逻辑地址 1460H:100H,物理地址和逻辑地址,E.g. 物理地址 14700H 逻辑地址 1450H:200H,一个物理地址可以有多个逻辑地址,段寄存器,8088有4个16位段寄存器 CS(代码段)指明当前代码段的段地址 SS(堆栈段)指明当前堆栈段的段地址 DS(数据段)指明当前数据段的段地址 ES(附加段)指明当前附加段的段地址 每个段寄存器用来确定一个逻辑段的段地址,每种逻辑段均有各自的用途,代码段寄存器CS(Code Segment),代码段用来存放程序的指令序列 代码段寄存器CS存放代码段的段地址 指令指针寄存器IP指示下一条指令的偏移地址 处理器利用

5、CS:IP取得下一条要执行的指令地址,代码段寄存器CS(Code Segment),堆栈段寄存器SS(Stack Segment),堆栈段确定堆栈所在的主存区域 堆栈段寄存器SS存放堆栈段的段地址 堆栈指针寄存器SP指示堆栈栈顶的偏移地址 处理器利用SS:SP操作堆栈顶的数据,堆栈段寄存器SS(Stack Segment),数据段寄存器DS(Data Segment),数据段存放运行程序所用的数据 数据段寄存器DS存放数据段的段地址 各种主存寻址方式(有效地址EA)得到存储器中操作数的偏移地址 处理器利用DS:EA存取数据段中的数据,数据段寄存器DS(Data Segment),附加段寄存器E

6、S(Extra Segment),附加段是附加的数据段,也保存数据: 附加段寄存器ES存放附加段的段地址 各种主存寻址方式(有效地址EA)得到存储器中操作数的偏移地址 处理器利用ES:EA存取附加段中的数据 串操作指令将附加段作为其目的操作数的存放区域,附加段寄存器ES(Extra Segment),如何分配各个逻辑段,程序的指令序列必须安排在代码段 程序使用的堆栈一定在堆栈段 程序中的数据默认是安排在数据段,也经常安排在附加段,尤其是串操作的目的区必须是附加段 数据的存放比较灵活,实际上可以存放在任何一种逻辑段中,如何分配各个逻辑段,段超越前缀指令,没有指明时,一般的数据访问在DS段; 默认

7、的情况允许改变,需要使用段超越前缀;8088指令系统中有4个: CS:;代码段超越,使用代码段的数据 SS: ;堆栈段超越,使用堆栈段的数据 DS: ;数据段超越,使用数据段的数据 ES: ;附加段超越,使用附加段的数据,段超越前缀指令,段超越的示例,没有段超越的指令实例: MOV AX,2000H;AXDS:2000H ;从默认的DS数据段取出数据 采用段超越前缀的指令实例: MOV AX,ES:2000H;AXES:2000H ;从指定的ES附加段取出数据,段超越实例,段寄存器的使用规定,段寄存器的使用规定,Intel 80 x86CPU的地址线条数,Intel 80 x86 地址条数 存

8、储容量 数据位数 构成 cache 浮点 8086 20 1MB 16 EU,BIU 8088 20 1MB 8 EU,BIU 80286 24 16MB 16 AU,BU,IU,EU 80386 32 4GB 32 6个部件 80486 32 4GB 32 6个部件 8K(d,i) 387 Pentium 32 4GB 32 6个部件 独立指令和 数据Cache,默认段和偏移寄存器,注意,存储器的分段方式并不唯一。 存储器各段之间可以连续、分开、部分重叠或完全重叠。 由各段寄存器的预置内容决定,程序重定位问题的实现,段加偏移地址寻址机制的优点: 段加偏移地址寻址机制允许程序和数据不需要任何的

9、修改,而使程序和数据重定位。(重定位:可以放在内存任何区域,不加修改而仍能执行),保护模式存储器寻址,逻辑地址 段寄存器:偏移地址 选择子:用于选择描述表内的一个描述符 描述符:描述段存储器段的位置、长度和访问权限 保护模式:是通过段寄存器中的段选择子,在描述符表中选择一个描述符,从而得到段的起始地址,再加上偏移地址得到的物理地址来访问内存。 分段存储器管理 分页存储器管理,分段存储器管理,分段管理就是把程序、数据和其他数据信息(如描述符表)都定义成长度不等的段,在内存和磁盘之间交换信息时,段作为独立的逻辑单位。,分段存储器管理选择子,分段管理就是把程序、数据和其他数据信息(如描述符表)都定义

10、成长度不等的段,在内存和磁盘之间交换信息时,段作为独立的逻辑单位。,分段存储器管理描述符,图2.5 80286和80386Pentium微处理器的描述符格式,6 4 2 0,80386Pentium,7 5 3 1,7 5 3 1,6 4 2 0,80286描述符,分段存储器管理访问字节功能,分段存储器管理,优点: 段的分界与程序的自然分解相对应 各段相互独立,从而使得程序易于编译、管理、修改和保护。 缺点 段的长短不固定,各段起点和终点不定,对内存空间的分配带来不便。 每次对内存清空的段长度必须大于将要从磁盘装入的段,产生碎片,分页存储器管理,分页存储器管理 长度固定,页的起点和终点固定 信息的交换均以页为单位进行 页面大小 太小,碎片减少,但页表占用内存过多 太大,页内碎片增大 页面的大小应选择得适中,且页面大小应是2的幂,通常为512 B8 KB,两级页表,对于一个具有32位逻辑地址空间的分页系统,规定页面大小为4 KB,则在每个进程页表中的页表项可达1兆个之多。因为每个页表项占用一个字节, 故每个进程仅仅其页表就要占用4 KB的内存空间,而且还要求是连续的。 离散分配方式多级页表,两级页表逻辑地址结构,两级页表结构,具有两级页表的地址变换机构,教学要求,了解并掌握实模式和保护模式 了解分段及分页存储器管理模式 作业:P26:1、2、4,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号