80X86微机原理与接口技术 教学课件 作者 喻宗泉 第7-9章第7章.pptVIP

  • 1
  • 0
  • 约1.28万字
  • 约 104页
  • 2019-10-03 发布于广东
  • 举报

80X86微机原理与接口技术 教学课件 作者 喻宗泉 第7-9章第7章.ppt

端口地址为42H和43H。初始化程序为: 7.4.2 8259A对中断的管理 1.中断申请和响应过程 8259A中断申请和响应过程步骤如下:一个或多个I/O中断源通过IR7~IR0向8259A发出中断申请,把中断请求寄存器IRR相应位置位。IRR相应位置位后,与IMR相应屏蔽位比较,若两位相同,则屏蔽该中断申请;若两位不同,则中断申请送至PR。PR决定优先级,把当前未屏蔽的最高优先级中断申请经INT送至CPU INTR引脚。若CPU已开中断,则在当前指令执行完发出中断响应信号。8259A收到中断响应信号第一个负脉冲后将IRR相应位复位,同时使ISR中优先级最高的那一位置“1”。在此中断周期内,8259A不向数据总线送任何数据。8259A收到中断响应信号第二个负脉冲后,将被响应中断源的中断向量送至数据总线,CPU读入中断向量并从入口进行中断服务程序。 8259A送出的中断向量为1个字节,组成如下: 向量字节中的T7~T3由ICW2用程序设定。中断服务有两种结束方式:自动结束中断AEOI方式和非自动结束中断EOI方式。两种方式的区别是:自动结束方式下,在中断响应信号第二个负脉冲结束处,8259A将被置“1”的ISR某位复位成“0”;非自动结束方式下,在被置“1”的ISR某位一直保持高电平到中断结束,必须要由CPU发出EOI命令才能复位成“0”。由此画出8259A中断申请及响应流程图,如图7-15所示。 图7-15 中断响应流程图 2.中断申请触发方式 中断源向8259A的IR7~IR0提出中断申请,允许两种触发方式输入申请信号。 1) 电平触发方式 电平触发方式的中断申请由IRi输入端为高电平提出,高电平持续时间要持续到第一个中断响应信号到达8259A之前。这种触发方式主要用于要求连续执行中断服务程序,直至中断申请无效为止,并且能将所有中断源申请线相“或”后从同一IRi端送入,另行使用软件从“或”输入中寻找中断源。 2) 边沿触发方式 边沿触发方式的中断申请由IRi输入端信号上升沿来提出。上升沿后IRi允许维持高电平不变,不会产生第二次中断,脉冲信号的下降沿为下一次中断申请做准备。通常使用有正高电平的负脉冲作触发信号,而高电平应持续到中断响应发生之后。这种触发方式主要用于不需要重复申请中断、中断源能方便提供负脉冲的场合,并且能与自动结束中断EOI方式配合使用。 3.中断优先权管理方式 8259A对中断优先权的判断有5种管理方式。 1) 软件查询方式 由CPU用软件查询8259A的8个中断申请优先级,通过操作命令字向8259A发出查询命令,随后用输入命令读取IRR寄存器状态,看哪些位已被中断申请置位并识别优先级最高的中断申请。在整个操作过程前后,8259A的中断申请并未经INT输出到CPU,或者CPU已关中断。 2) 完全嵌套方式 这种方式的8个中断源优先级是固定的,IR0的优先级最高,IR1的其次,……,IR7的最低。其操作特点是CPU正在响应中断时,不再产生相同优先级或较低优先级的中断申请,但允许较高优先级的中断申请产生。如果初始化程序未预先设置优先级,则8259A自动处于这种方式。完全嵌套方式分为一般的和特殊的两种。前者用于单片,后者用于级联。级联连接工作时,主片8259A不仅能将一个从片8259A的一个中断申请送到CPU,而且还允许同一从片其它7个中断源更高优先级的中断,每个从片自身形成一个嵌套结构。不仅如此,其它从片所接中断源提出的中断申请,只要优先级别高于主片正在服务的中断源,主片8259A都能识别出。 图7-16 自动轮换方式 7.2 80X86 CPU的异常处理功能 7.2.1 异常的3个层次 1) 故障(Fault) 可由程序自行克服恢复正常运行的异常,称为故障。故障处理具有两个特征:一是对故障的检测既可以在引起故障的指令之前进行,也可以在引起故障的指令消除之后进行;二是故障处理过程是执行故障服务程序,该程序是中断服务程序的一种,在执行“引起故障的指令”时自动转入,以IRET结束,执行完毕意味着消除“引起故障的指令”。 2) 陷阱(Trap) 可由程序自行克服但不能恢复原主程序正常运行的异常,称为陷阱。陷阱发生在执行“能产生陷阱的指令”之后。陷阱处理也有两个特征:一是陷阱发生前程序浑然不知,只有发生后程序才能觉察;二是陷阱发生后CPU自动转入执行“陷阱处理服务程序”,让CPU“摆脱”陷阱,但服务程序

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档