微机原理-ch2-part2

上传人:ji****n 文档编号:54361548 上传时间:2018-09-11 格式:PPT 页数:69 大小:2.53MB
返回 下载 相关 举报
微机原理-ch2-part2_第1页
第1页 / 共69页
微机原理-ch2-part2_第2页
第2页 / 共69页
微机原理-ch2-part2_第3页
第3页 / 共69页
微机原理-ch2-part2_第4页
第4页 / 共69页
微机原理-ch2-part2_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《微机原理-ch2-part2》由会员分享,可在线阅读,更多相关《微机原理-ch2-part2(69页珍藏版)》请在金锄头文库上搜索。

1、微机原理及程序设计,信自学院自动化系 Department of Automation km_,许江淳, 第二章 8086系统结构-part2,Kunming University of Science & Technology,第二章-part2-2,Outline-第二章 8086系统结构,2.1 8086 CPU结构 2.2 8086 CPU的引脚及功能 2.3 8086 存贮器组织 2.4 8086的I/O组织 2.5 8086 系统配置 2.6 8086 CPU时序,Kunming University of Science & Technology,第二章-part2-3,2.3

2、8086的存储器组织,Kunming University of Science & Technology,第二章-part2-4,8086存 储器的要点,2.3.1 存储器的分段概念 2.3.2 存储体的分体结构 2.3.3 堆栈的概念,Kunming University of Science & Technology,第二章-part2-5,2.3.1 存储器的分段概念,1、信息的存储方式 存储器以字节为单位进行存储。 一个字节对应一个地址。 相邻两个字节定义为一个字,其中,高地址放高字节,低地址放低字节。 字的地址是两个字节的地址中较小的地址。 存储的表达方式: (地址)=内容 (00

3、00H)=07H (0000H)=2A07H (0003H)=9F50H,低字节,高字节,从奇地址开始的字 9F50H,Kunming University of Science & Technology,第二章-part2-6,2、存储器地址的分段,存储器分段的原因是: 解决了16位地址寄存器对20位物理地址的寻址问题 实现了程序代码的浮动装配,浮动是针对地址而言的,是指程序代码的地址不是固定不变的。 程序浮动装配的意义: 程序装在内存中的不同位置都可以正确执行, 不需要程序员为了使程序装配在某一位置而修改程序代码。,Kunming University of Science & Techn

4、ology,第二章-part2-7,分段的具体含义:,1MB空间被分成若干段,每段的容量64KB。 段的起始地址必须能被16整除(起始地址是xxxx0H)。 段内地址是连续的. 段与段之间的位置关系可以紧密相连,也可部分/完全重叠。 CPU当前可以寻址的四个段的基值-放在CS,DS,SS,ES. 一旦这四个段寄存器的内容被设定,就规定了CPU当前可寻址的段。,.,.,附加段,00000H,10000H,代码段,.,0FFFFFH,数据段,堆栈段,20000H, 64KB, 64KB, 64KB,Kunming University of Science & Technology,第二章-par

5、t2-8,CPU当前可以寻址的四个段的基值-放在CS,DS,SS,ES。举例如下:,66H,8FH,7CH,90H,65H,5FH,1FH,2BH,8FH,A2H,C7H,4AH,代码段(64 KB),10000H,段地址+偏移地址,2A0F0H,0A0000H,0BC000H,1000: 0000,2A0F: 0000,A000: 0000,BC00: 0000,物理地址,数据段(64 KB),堆栈段段(64 KB),附加段(64 KB),10000H1FFFFH,2A0F0H?,0A0000H?,0BC000H ?,Kunming University of Science & Techn

6、ology,第二章-part2-9,物理地址的形成,段寄存器:存放段地址,又称段基址。 偏移地址:从段地址开始的相对偏移位置。逻辑地址: 由段地址和偏移地址组成。 无符号16位二进制数。 程序设计采用逻辑地址。 表达方式:段地址:偏移地址,Kunming University of Science & Technology,第二章-part2-10,物理地址: 存储器的绝对地址: 00000H0FFFFFH. 是CPU访问存储器的实际寻址地址。 地址加法器: 物理地址=段基址*16+偏移地址。 【注意】:一个逻辑地址对应一个物理地址,而一个物理地址可以对应多个逻辑地址。,Kunming Uni

7、versity of Science & Technology,第二章-part2-11,逻辑地址(寄存器的组合关系),逻辑地址的来源与访问存储器的操作类型有关。 对不同的操作,段寄存器和其他寄存器组合使用:,IP,CS,SI, DI, 或BX,DS,SP 或 BP,SS,代码段,数据段,堆栈段,取指令,堆栈操作,读写操作/访问变量,Kunming University of Science & Technology,第二章-part2-12,举例1:,已知CPU复位后,IP=0, CS=0FFFFH, 问CPU复位后从何处开始执行程序?答:因为:CS*16+IP=0FFFFH*16+0000

8、H =0FFFF0H 所以,从0FFFF0H处开始执行程序。,Kunming University of Science & Technology,第二章-part2-13,举例2:,观察存储器的段结构, CS=?, DS=?, SS=?, ES=?并根据逻辑地址写出相应的物理地址,,66H,8FH,7CH,90H,65H,5FH,1FH,2BH,8FH,A2H,C7H,4AH,代码段(64 KB),10000H,段地址+偏移地址,10001H,?,2A0F0H,2A0F1H,?,0A0000H,0A0001H,?,0BC000H,0BC001H,?,1000: 0000,1000: 0001

9、,1000: 0002,2A0F: 0000,2A0F: 0001,2A0F: 0002,A000: 0000,A000: 0001,A000: 0002,BC00: 0000,BC00: 0001,BC00: 0002,物理地址,数据段(64 KB),堆栈段段(64 KB),附加段(64 KB),Kunming University of Science & Technology,第二章-part2-14,2.3.2 存储体的分体结构,8086的1MB存储器分为2个存储体: 奇、偶地址存储体 各为512KB。分体的原因: 8086有16条数据线,但常用的存储器为8位数据线,为了实现8086即

10、可存取8位数据,又可存取16数据。,Kunming University of Science & Technology,第二章-part2-15,分体结构,8086通过BHE和A0线的逻辑组合将存储器分为两部分:奇地址存储器和偶地址存储器。,8086系统的存储器高低位连接逻辑结构图,高8位数据总线允许信号,低电平有效,Kunming University of Science & Technology,第二章-part2-16,选择线的编码含义,Tips:请注意将本表与前面的硬件连接图对应起来学习。,Kunming University of Science & Technology,第二章

11、-part2-17,8086CPU访问存储器的规则,访问规则:以字为单位,从偶地址开始。,为加快运行速度,编程时应注意从存储器的偶地址开始存放字数据,称“对准存放”。,Kunming University of Science & Technology,第二章-part2-18,2.3.3 堆栈,堆栈:是在存储器中开辟一个区域,用来存放需要暂时保存的数据,其工作方式是“先进后出”或“后进先出”的方式。 8086系统中的堆栈段是由段定义语句在存储器中定义的一个段,堆栈段容量小于等于64K字节。段基址由堆栈寄存器SS指定,栈顶由堆栈指针SP指定。 堆栈地址由高向低变化,栈底设在存储器的高地址区。,

12、Kunming University of Science & Technology,第二章-part2-19,堆栈的工作方式,堆栈的操作 堆栈地址: 段寄存器:堆栈指针=SS:SP 以字为单位,而且必须是“对准存放”的字。进栈(PUSH): 修改指针:SP-2 - SP 低位数据- (SP),高位数据- (SP+1)出栈(POP) : (SP) -低位数据,(SP+1) -高位数据 修改指针:SP+2 - SP,22,33,44,C1000H, SP,C0FFEH, SP,22,33,44,C1000H, SP,C0FFEH, SP,Kunming University of Science

13、 & Technology,第二章-part2-20,举例,设SP=0040H, 如果用进栈指令存入5个数据,则SP=?,若又用出栈指令取出2个数据,则SP=?解: PUSH 5个数据须占用10个字节,则SP-10, 即SP=0040H-0AH=0036H。 POP 2个数据,让出4个字节,SP+4, SP=0036H+04H=003AH.,Kunming University of Science & Technology,第二章-part2-21,举例,设AX=1122H, BX=3344H, CX=5566H, SS=095BH, SP=40H,下述程序执行之后AX,BX,CX,DX等通

14、用寄存器的内容各是多少?画出堆栈存储器的逻辑地址及其存储内容和SP指向的示意图。 PUSH AX PUSH BX PUSH CX POP BX POP AX POP DX解:AX=3344H, BX=5566HCX=5566H, DX=1122H.,44,33,22,11,095BH:0040H,SP,66,55,095BH:003AH,SP,进栈 方向,出栈 方向,Kunming University of Science & Technology,第二章-part2-22,2.4 8086的I/O组织,Kunming University of Science & Technology,第

15、二章-part2-23,2.4 8086的I/O组织,(1) I/O空间概念 CPU与外设之间通过I/O接口芯片来联系。 每个芯片有一个或多个I/O端口。 一个端口对应I/O芯片内部的一个寄存器或一组寄存器。 系统为每个端口分配一个地址,即端口号。 端口号不能重复。8086 I/O管理: 8086允许64K(65535个)个I/O端口; 两个相邻8位端口可组合成一个16位端口; 采用独立编址方式。,Kunming University of Science & Technology,第二章-part2-24,(2) I/O端口寻址,I/O端口的管理有2种方式:统一编址和独立编址。a、统一编址(

16、存储器映射方式): 含义:在这种编址方式下 ,I/O端口地址置于存储器空间中,在整个存储空间中划出一部分空间给外设端口 ,端口和存储单元统一编址。 优点:无需专门的I/O指令,对端口操作的指令类型多,从而简化了指令系统的设计。 缺点:端口占用存储器的地址空间,使存储器容量更加紧张,同时端口指令的长度增加,执行时间较长,端口地址译码器较复杂。 有些单片机或微处理器为了减少引脚,从而减少芯片占用面积,不支持IO独立编址,只能采用存储器统一编址。,Kunming University of Science & Technology,第二章-part2-25,b、独立编址方式(I/O映射方式) 含义:这种方式的端口单独编址构成一个I/O空间,不占用存储器地址空间。 优点:端口所需的地址线较少,地址译码器较简单,采用专用的I/O指令,端口操作指令执行时间少,指令长度短 。 缺点:输入输出指令类别少。 Intel的x86微处理器都支持IO独立编址,因为它们的指令系统中都有IO指令,并设置了可以区分IO访问和存储器访问的控制信号引脚。,

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

当前位置:首页 > 生活休闲 > 社会民生

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