西南交大微机原理教师课件第2章.ppt

上传人:飞****9 文档编号:132584779 上传时间:2020-05-17 格式:PPT 页数:63 大小:1.15MB
返回 下载 相关 举报
西南交大微机原理教师课件第2章.ppt_第1页
第1页 / 共63页
西南交大微机原理教师课件第2章.ppt_第2页
第2页 / 共63页
西南交大微机原理教师课件第2章.ppt_第3页
第3页 / 共63页
西南交大微机原理教师课件第2章.ppt_第4页
第4页 / 共63页
西南交大微机原理教师课件第2章.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《西南交大微机原理教师课件第2章.ppt》由会员分享,可在线阅读,更多相关《西南交大微机原理教师课件第2章.ppt(63页珍藏版)》请在金锄头文库上搜索。

1、第二章 8086微处理器及其系统结构 1 本章学习目的 1 掌握微处理器的编程结构 2 掌握标志寄存器F各位的含义 作用及DEBUG运行后标 志位的表示方法 3 了解8086微处理器的主要引脚功能 4 掌握8086系统的存储器组织结构及堆栈的活动情况 5 掌握8086的时钟及其发生电路 记住系统复位后各寄存 器的状态2 第一节 8086微处理器内部结构 3 指令和程序 若干条指令构成程序4 机器指令 操作码 操作数 执行5 取指1 执行1 取指2 执行2 取指3 执行3 取指4 执行4 取指5 取指1 执行1 取指2 执行2 取指3 执行3 取指4 执行4 取指5 执行5 顺序解释 重叠解释

2、指令解释方式微处理器解释一条指令的完整步骤可以归纳为如下两个阶段 取指 从内存中取出指令 明确指令规定的功能 执行 分析指令要求实现的功能 读取所需要的操作数 执行指令规定的操作 并保存执行结果 时间 指令和程序的解释过程5 6 8086微处理器的内部结构地址总线 20位 CS DSESSS 通用寄存器 AXBX CXDX 地址形成 器 数据总线 16位 段寄存器 暂存寄存器 ALU 标志寄存器 EU控制系统 IP内部通信寄存器 ALU数据总线 16位 队列总线 8位 指令队列缓冲器123456 8086 逻辑总线 执行部件 EU 总线接口部件 BIU 图2 28086CPU内部结构 指令指针

3、总线控制 7 8086 8088CPU的内部是由两个独立的工作部件构成 分别是总线接口部件BIU BusInterfaceUnit 和执行部件EU ExecutionUnit 图中虚线右半部分是BIU 左半部分是EU 两者并行操作 提高了CPU的运行效率 下面分别介绍BIU和EU两者的功能 8 总线接口部件BIU 功能 实现8086CPU与存储器和外部设备之间的数据 传送 任务 1 从内存取指令 指令队列缓冲器 2 取数据到运行单元进行运算并将运算结果送到目 的单元 内存或外设端口 3 重叠实现取指令与执行指令 指令队列缓冲器结构 指令队列缓冲器为6字节 8088只有4字节 容量的FIFO 设

4、立指令队列缓冲器的目的是为了实现重叠解释指令 工作原理 缓冲器中只要有一条指令 EU就开始执行 缓冲器中只要有两个字节为空 BIU便自动执行取指 操作 当EU执行完转移 调用和返回等切换程序流程的指令 时 缓冲器中原来的内容将被清除 BIU从内存中新的位置开始重新预取指令填入队列中 9 10 地址发生器 组成 地址加法器 指令指针IP和段寄存器 设立地址加法器的目的 8086CPU地址总线有20位 而内部地址寄存器都是16位 需要加法器形成20位地址 工作原理 段寄存器内容 16 偏移地址 IP或指令中的操作数地址给出 11 执行部件EU功能 执行指令并暂时存储运算结果结构 1 16位算术逻辑

5、单元ALU 2 16位标志寄存器F 3 数据暂存寄存器 与编程无关 不对用户开放 4 通用寄存器组 AX BX CX DX 数据寄存器SP BP 指针寄存器SI DI 变址寄存器 5 EU控制电路 内部电路 不对用户开放 12 编程模型 8086CPU的编程模型程序设计者所看到 或程序可见 的8086CPU即为该CPU的编程模型 包括三个部分 寄存器组 存储器I O资源 13 8086CPU的寄存器结构 专用寄存器 通用寄存器段寄存器 AX 累加器 BXCXDX 基址寄存器计数寄存器数据寄存器 SPBPSIDICSDSESSS 堆栈指针基址指针源变址寄存器目的变址寄存器代码段寄存器数据段寄存器

6、附加段寄存器堆栈段寄存器 IPF 指令指针标志寄存器 数据寄存器 指针寄存器变址寄存器 通用寄存器 1 数据寄存器 用于存放8位或16位的二进制操作 数 这些操作数可以是参加操作的原始数据 运算得到的中间结果 也可以是操作数的地址 大多数算术和逻辑运算指令都可以使用这些寄存器 在8086微处理器中 数据寄存器有4个 累加器AX Accumulator 基址寄存器BX Base 计数寄存器CX Count 数据寄存器DX Data 每个16位数据寄存器又可分为高8位 AH BH CH和DH 和低8位 AL BL CL和DL 并可分别寻址 独立操作 14 2 指针寄存器和变址寄存器 指针寄存器和变

7、址寄存器一般用来存放地址偏移量 堆栈操作和变址运算中计算操作数的有效地址 指针寄存器指的是堆栈指针寄存器SP StackPointer 和基址指针寄存器BP BasePointer 其中SP用来指示堆栈顶部单元的位置 实现堆栈操作 而BP用来存放在现行堆栈段中的一个数据区的基地址 变址寄存器包括源变址寄存器SI SourceIndex 和目的变址寄存器DI DestinationIndex 分别用来存放源操作数和目的操作数的偏移地址 15 在某些指令中 以上各通用寄存器具有特定的用途 称为寄存器的隐含用法 17 指令指针IP 指令指针IP是一个16位专用寄存器 程序运行时 它始终指向EU要执行

8、的下一条指令所在单元 当EU执行本条指令时 IP中的内容自动增量 以指向下一条指令所在的内存单元 需要注意的是 程序中不能随意对IP进行存取操作 只有转移指令 子程序调用和返回指令以及中断处理时才能对IP的内容进行修改和设置 段寄存器8086系统对内存实行分段管理 在BIU中有4个16位的段寄存器 专门用于存放各段在内存中的起始地址 段基址 这4个段寄存器是 代码段寄存器CS CodeSegment 指向当前代码段 数据段寄存器DS DataSegment 指向当前数据段 附加段寄存器ES ExtraSegment 指向当前附加段 堆栈段寄存器SS StackSegment 指向当前堆栈段 1

9、M字节的地址是分段寻址的 分段是个动态概念 段基址与具体程序无关18 标志寄存器F标志寄存器位于EU中 它是一个16位的寄存器 但实际上只用了其中9位 根据各位的作用和含义 各标志位又分为状态标志位和控制标志位两大类 19 D15 D0 OFDFTFIFSFZF AF PF CF 1 状态标志位 进位标志CF CarryFlag 反映算术运算后最高位是否出现进位或借位 有则为 1 无则为 0 辅助进位标志AF AuxiliaryFlag 反映运算结果的低4位是否向高位产生进位或借位 有则为 1 无则为 0 奇偶标志PF ParityFlag 反映指令执行结果低8位数据中1的个数是否为偶数 若是

10、则该位置 1 否则置 0 20 21 零标志ZF Zero Flag 反映运算结果是否为零 若是 则该位置 1 否则置 0 符号标志SF Sign Flag 反映运算结果最高位的 状态 并与运算结果最高位状态相同 表明了本次运算的结果是正还是负 溢出标志OF Overflow Flag 反映带符号数进行算术运算后是否有溢出 有则为 1 无则为 0 22 2 控制标志位 用于对CPU的某些操作实施控制 并且都可以在程序中用相应的指令来设置其状态 方向标志DF Direction Flag 用于控制串操作指令执行时的步进方向 该位为 1 则串操作指令按地址递减的顺序对串进行操作 0按地址递增的顺序

11、进行操作 中断允许标志IF InterruptFlag 指示是否允许系统响应外部的可屏蔽中断请求 该位为 1 表示允许 开 中断 否则表示禁止 关中断 23 陷阱标志TF TraceFlag 当该位为 1 时 CPU每执行完一条指令便自动产生一个内部中断 并转去执行一个中断服务程序 可以借助该中断服务程序来检查每条指令的执行情况 称为 单步工作方式 常用于程序的调试 24 BEBUG中标志的表示 NV等价于OF 0 OV等价于OF 1UP等价于DF 0 DN等价于DF 1DI等价于IF 0 EI等价于IF 1PL等价于SF 0 NG等价于SF 1NZ等价于ZF 0 ZR等价于ZF 1NA等价于

12、AF 0 AC等价于AF 1PO等价于PF 0 PE等价于PF 1NC等价于CF 0 CY等价于CF 1 四8088与8086在内部结构上的比较 Intel8088是准16位CPU 其内部采用16位结构 与8086基本相同 外部数据总线宽度为8位 8088内部也包括两大功能部件 其中EU与8086完全一样 只是BIU略有区别 8086指令队列是6字节长 而8088指令队列只有4字节长 对于8086微处理器 当指令队列缓冲器中有2个字节变空时 BIU便自动执行取指操作 而对于8088 只要指令队列缓冲器中有1个字节变空便自动执行取指操作 25 第二节 8086微处理器引脚功能 26 引脚信号安排

13、 GNDAD14AD13AD12AD11 AD10AD9 AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLAKGAND 12345 4039383736 67 3534 891011121314151617181920 33323130292827262524232221 VccAD15A16 S3A17 S4A18 S5 A19 S6BHE S7 MN MXRDHOLD RQ GT0 HLDA RQ GT1 WR LOCK M IO S2 DT R S1 DEN S0 ALE QS0 INTA QS1 TESTREADYRESET 8086CPU 40引脚 DIP封装

14、 双列直插 27 8086是Intel公司的第三代微处理器 16位微处理器 特点 采用分时复用技术 在不同时刻通过相同引脚传送不 同的信息 从而减少了引脚数量 在两种不同的工作方式下 部分引脚具有两种不同的 功能定义 引脚功能8086的40条引脚信号按功能分为4部分 即地址总线 数据总线 控制总线以及其它 时钟和电源 29 引脚功能 1 地址总线和数据总线 数据总线 在CPU和内存 或I O设备 之间传递数据 为16位双向三态总线地址总线 传送CPU产生的内存单元 或I O端口 的地址 为20位输出三态总线 AD15 AD0为地址 数据分时复用总线 每个总线周期的开始 用作地址总线的低16位

15、传输地址 其它时间作为数据总线 用于传输数据 30 A19 A16 S6 S3为地址 状态分时复用总线 在每个总线周期开始 用作地址总线的高4位 以给出内存单元的高4位地址 在I O操作时 这4位置 0 在总线周期的其它时间 这4条信号线指示CPU的状态信息 其中 S6恒为低电平 S5反映标志寄存器中IF的当前值 S4和S3表示正在使用哪个段寄存器 31 BHE S7为地址高允许 状态分时复用引脚 在总线周 期的开始 作为数据总线高半部分允许信号 当BHE S7为低电平时 将读 写的8位数据与AD15 AD8接通 该信号与地址总线的最低位A0配合以决定传送的数据字中高字节是否有效 传送的是16

16、位还是8位数据 在总线周期的其它时间 该引脚输出备用状态信号S7 32 2 控制总线 控制总线是传送控制信号的一组信号线 其中有些是输出线 用来传送CPU送至其它部件的控制命令 有些是输入线 由外部向CPU输入状态及请求信号 复位 中断请求等 8086的控制总线中有一条MN MX线 即最小 最大方式控制线 用于决定8086的工作方式 当其接 5V时 8086处于最小方式 当其接地时 8086处于最大方式 33 有些引线的功能与方式无关以下几条不受MN MX影响的控制线 读控制信号RD 三态 输出 准备就绪信号READY 输入 可屏蔽中断请求信号INTR 输入 非屏蔽中断请求信号NMI 输入 当该引脚上产生从 低电平到高电平的正跳变时 表示外部向CPU发出非屏蔽中断请求 等待测试控制信号TEST 输入 复位信号RESET 输入 当其为高电平时 系统进入复 位状态 34 3 其它信号 时钟信号CLK 输入 该信号为8086提供基本的定时脉冲 电源Vcc 输入 要求接 5V 10 地线GND 35 36 工作方式 8086有最小和最大两种基本的工作方式 最小方式一 般用于构成一个小型的单处理

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

当前位置:首页 > IT计算机/网络 > 其它相关文档

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