微机第2章8086cpu(2010.09)

上传人:san****019 文档编号:70834900 上传时间:2019-01-18 格式:PPT 页数:37 大小:605.01KB
返回 下载 相关 举报
微机第2章8086cpu(2010.09)_第1页
第1页 / 共37页
微机第2章8086cpu(2010.09)_第2页
第2页 / 共37页
微机第2章8086cpu(2010.09)_第3页
第3页 / 共37页
微机第2章8086cpu(2010.09)_第4页
第4页 / 共37页
微机第2章8086cpu(2010.09)_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《微机第2章8086cpu(2010.09)》由会员分享,可在线阅读,更多相关《微机第2章8086cpu(2010.09)(37页珍藏版)》请在金锄头文库上搜索。

1、,主讲教师: 李朝纯 licaoc ,微机接口技术与应用,武汉理工大学计算机科学 与技术学院,接口技术主讲:李朝纯,第 2 章 8086系统结构与8086CPU 教学基本要求: 知识点 基本要求 备注 8086/8088CPU的 正确理解 着重了解、掌握CPU的 结构特点 熟练掌握 结构特点及其技术进步 8086/8088CPU的 正确理解 结构与外部引线 8086/8088CPU 正确理解 着重掌握基本寄存器 内部寄存器 熟练掌握 特别是通用寄存器的 一些特殊用法,接口技术主讲:李朝纯,2.1 8086/8088CPU的编程结构 2.1.1 8086/8088的内部结构,图 2.1,接口技术

2、主讲:李朝纯,8086/8088CPU从功能上来说分成两大部分: 总线接口单元BIU和执行单元EU,如图2-1所示: 1、执行部件EU(Execution Unit) 执行部件由4个通用寄存器、 4个专用寄存器、 标志寄存器PSW,算术逻辑单元(ALU) 和执行部分控制电路等组成。 执行部件的功能是负责指令的分析与执行。 2、总线接口部件BIU(Bus Interface Unit) 总线接口部件由: 1)4个16位段寄存器(CS、DS、ES、SS) 2)16位的指令指针(IP) 3)20位地址加法器(产生20位的物理地址) 4)总线控制逻辑和指令队列(Instruction Stream Q

3、ueue) 总线接口部件负责与存贮器、外设端口传送数据。,接口技术主讲:李朝纯,3、总线接口部件BIU和执行部件EU的动作管理和协调 1)当8086的BIU的6B指令队列为空时, BIU会自动从 内存中取出下面指令的字节放到指令队列中。 2) EU在执行指令的时候总是从BIU的指令队列的前部 取出将要执行的指令, 然后执行。 3)当指令队列已满,并且EU对BIU的内存和端口没有访 问请求时, BIU进入空闲状态。 4)在执行转移指令时, BIU会将指令队列清空,接着往 指令队列中装入转向目标地址处的指令。 以上说明BIU和EU是相互配合并行工作的,具体表 现为取指令和执行指令分别由BIU和EU

4、完成,这就 是并行处理的早期。,接口技术主讲:李朝纯,2.1.2 8086/8088 CPU的寄存器的结构如下页图2- 所示: 1. 通用寄存器: AX、BX、CX、DX 这4个寄存器是16位数据寄存器,其中 AX是累加器。它们都可以作为两个8位寄存器使用。高字节 寄存器分别是AH、BH、CH和DH, 低字节寄存器分别是AL、 BL、CL和DL。AX、BX、CX和DX的两种结构形式使 8086/8088CPU既能处理字节数据, 又能处理字数据。 2.另外三个16位寄存器即BP(基址寄存器)、SI(源变址寄 存器)和DI(目的变址寄存器)。 其中:BP用来存放在现行堆栈段内的一个数据区的“基地

5、址”的偏移量,称为基址指示器; SI和DI常用于字符串操作指令中保持操作数的偏移 地址, 一般源操作数的偏移地址存于SI中,而目的操作数的 偏移地址存于DI中。因而称SI为源变址寄存器,称DI 为目的变址寄存器。,接口技术主讲:李朝纯,1,接口技术主讲:李朝纯,3. 8086/8088中的堆栈指针SP,用于确定在堆栈操作时,堆栈 在内存中的相对位置。SP还必须与SS(堆栈段寄存器)一 起才能确定堆栈的实际的物理位置。 4. CS是代码段寄存器、DS是数据段寄存器、SS是堆栈段寄存 器、ES是附加数据段寄存器, 它们分别用来存放代码段、数 据段、堆栈段和附加数据段的16位段基址。 8086/80

6、88CPU可以通过这四个段寄存器分别配合IP、BX、 BP、SI和DI 16位的寄存器通过分段的方法来实现对1MB 内存空间的寻址。 5. IP是一个16位的指令指针,它总是指向下一条要取出的指令 在现行代码段中的偏移地址,但它必须与CS段寄存器相配合 使用才能形成下一条指令的物理地址。,接口技术主讲:李朝纯,6. FLAGS是一个16 位的状态标志寄存器,也称程序状态字 PSW,仅使用其中的9个标志位。 例2-1 0010 0011 0100 0101 例2-2 0101 0100 0011 1001 + 0011 0010 0001 1001 + 0100 0101 0110 1010 0

7、101 0101 0101 1110 1001 1001 1010 0011 SF=0 ZF=0 SF=1 ZF=0 PF=0 CF=0 AF=0 PF=1 CF=0 AF=1,图 2.2 标志寄存器(FR)格式,12,13,14,15,7,8,9,10,11,0,1,2,3,4,5,6,SF,ZF,AF,PF,CF,OF,DF,IF,TF,接口技术主讲:李朝纯,2.1.3 8086/8088微处理器的引脚及功能 8086/8088是有40个引脚的集成芯片,采用双列直扦式的 封装形式,如图2-3所示: 1. GND、VCC 2. AD15 AD0 3. AD19/S6 AD16 /S3 4.

8、BHE/ S7 5. RD WR 6. M/IO 7. INTR NMI INTA 8. TEST 9. RESET 10. ALE DT/R DEN 11. MN/MX 12. CLK,图2.3 8086 管脚分配图,接口技术主讲:李朝纯,2.2 8086/8088系统的结构和配置 P30 2.2.1 8086/8088的存储器结构 8086/8088有20条地址线,可直接地址220=1M字节的内存空 间,地址从00000HFFFFFH。 表2.5 字在存储器中的例子 内存地址 存储器 说 明 00000H 07 低字节,字以偶地址开始 00001H 6B 高字节,表示的数为6B07H 00

9、002H 00003H 00004H 00005H 60 低字节,字以奇地址开始 00006H 3E 高字节,表示的数为3E60H 00007H,接口技术主讲:李朝纯,1. 存储器的组成 8086存储器采用分体结构,两个存储体采用字节交叉编址 方式 奇数地址 D15D8 D7D0 偶数地址 00001 00000 00003 00002 00005 00004 5128 5128 奇地址 偶地址 存储体 存储体 (A0=1) (A0=0) FFFFFH FFFFEH,表2.6 两个存储体采用交叉编址方式,接口技术主讲:李朝纯,8086存储系统将1M字节存储空间分成两个体,如图2-4(a) 凡是

10、偶数地址单元形成一个体,它们的数据线连到数据总线 的低8位(D7-D0);而奇数地址单元形成另一个体,它们的数 据线连到数据总线的高8位(D15-D8)。 CPU由A0来区分两个体,并提供两条信号线BHE和A0,以决定 是访问高字节还是低字节还是整个字,如表27所示。 表2-7 BHE 和 A0 的编码 BHE A0 特性 0 0 全字(16位) 0 1 在数据总线高8位进行字节传送(D15 D8) 1 0 在数据总线低8位进行字节传送(D7 D0 ) 1 1 保 留,接口技术主讲:李朝纯,1,图2-4 存贮体与总线的连接,接口技术主讲:李朝纯,8086/8088的存储器系统按字节编址即一个基

11、本存储单元可存 放 8位二进制信息,每一个字节单元有一个唯一的物理地址, 8086/8088CPU既可以进行字节操作又可以进行字操作。字节 地址既可以是偶地址(地址的最低位A0=0),也可以是奇地址 (A0=1)。 对准字:字地址一般为偶地址,即偶地址对应低位字节,奇地 址对应高位字节,这种字称为对准字。 即从偶地址开始的字。 非对准字:若低字节存放在奇地址单元,而高字节存放在偶地 址(高位地址)单元,这种字称为非对准字。 从奇地址开始的字。 * 对奇地址存放的字需要进行两次读/写操作,而对偶地 址存放的字,仅需要进行一次读/写操作。,接口技术主讲:李朝纯,2. 存储器的分段 P34 8086

12、/8088有20条地址线,可直接地址 220=1M字节 的内存空间,地址从00000HFFFFFH。 8086内部有关地址的寄存器如IP、SP以及 BP、SI DI都是16位的。因此,各种寻址方式寻找操作数的范 围只能是64K字节。要想寻址 1M 字节范围, 8086/8088采用了分段技术。将1M字节空间最多可分 为16个逻辑段,每个逻辑段为64K字节。,接口技术主讲:李朝纯,1000H,7FFAH,8CFAH,250AH,CS,SS,DS,ES,代码段,数据段,堆栈段,附加段,10000H,25A00H,7FFA0H,8CFA0H,64K,64K,64K,64K,图2-6 存储器的分段,接

13、口技术主讲:李朝纯,3. 存储器中的物理地址和逻辑地址 逻辑地址由段基地址和偏移地址两部分组成,表示 形式为: 段基地址:偏移地址 物理地址= 段基址16 + 偏移地址 如: 逻辑地址: 1000H:0020H 物理地址: PA=10000H + 0020H=10020H CPU访问内存单元时使用物理地址,编制程序时 使用的是逻辑地址。 8086CPU在执行复位信号后,将从FFFF0H开始 执行程序。,接口技术主讲:李朝纯,段寄存器 8086/8088CPU中有4个段寄存器CS、DS、ES、SS, 专门用于存放段的起始地址: 代码段CS用于存放当前,正在执行的程序; 数据段DS用于存放当前运行

14、执行的程序所用的数据; 堆栈段SS定义了堆栈所在的区域,堆栈(Stack)是 以“后进先出”的方式操作的一个线性存储 区; 附加数据段ES用于存放当前的程序使用的数据。 寄存器组合指向存储单元如:P35 图2.8,接口技术主讲:李朝纯,8086/8088系统中, 在形成物理地址时,存储器的访问 如图2-7所示:,图2-6 8086对存储器的访问,图2-7 8086 中的物理地址的形式,接口技术主讲:李朝纯,4. 堆栈的使用: 堆栈(Stack)是以“后进先出”的方式操作的 一个线性存储区。在8086CPU的存储方式中, 堆栈被安排在堆栈段中,其段寄存器SS用于 存放段地址,SS同时也表示栈底指

15、针,一般 不作修改。这样堆栈只有一个出入口,它由 堆栈指针寄存器SP的内容来指示,表示栈顶。 入栈时: 存储区向低地址方向扩展,故首先 修改SP的内容,使SP=(SP)- 2,然后将 要存入的数据存入SP所指向的单元。 出栈时: 存储区向高地址方向缩小, 故首先取 出SP所指向的单元的数据,然后再修改SP 的内容,使SP=(SP)+ 2。,(PUSH),(POP),接口技术主讲:李朝纯,SP 12000H,11FFFH,11FFEH,11FFDH,11FFCH,11FFBH,11FFAH,SS 10000H, 堆栈段首地址, 栈底, , , 64KB,图2-9 堆栈在存储器中的分布情况,接口技术主讲:李朝纯,2.2.2 8086/8088输入/输出结构 P36 1. 8

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

当前位置:首页 > 高等教育 > 大学课件

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