微机原理 中断及+程序8259.ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理中断及程序8259

8086的中断(P99) 1 8086/8088的中断分类 硬件中断 (非屏蔽中断和可屏蔽中断) 软件中断(中断指令和内部中断) 非屏蔽中断 通过非屏蔽中断请求信号引脚(NMI)向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏蔽中断 8086的非屏蔽中断的类型号为2 非屏蔽中断主要用于处理系统的意外或故障。 可屏蔽中断 外部通过可屏蔽中断请求信号引脚(INTR)向微处理器提出的中断,微处理器在允许可屏蔽中断(IF=1)的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应信号(INTA#),这个中断就是可屏蔽中断 8086通常需要配合中断控制器8259A共同处理可屏蔽中断,中断类型号由8259A发出 可屏蔽中断主要用于主机与外设交换数据 指令中断 在执行中断调用指令INT n时产生的一个类型号为n(0 ~ 255)的内部中断,称为指令中断 除法错中断 在执行除法指令时,若除数为0或商超过了寄存器所能表达的范围,则产生一个类型号为0的内部中断,称为除法错中断 例如: 单步中断 若单步中断标志TF为1,则在每条指令执行结束后产生一个类型号为1的内部中断,称为单步中断 断点中断(INT 3) 其中类型号为3的内部中断,常用于程序调试,被称为断点中断 溢出中断(有符号数加减运算) 在执行溢出中断指令INTO时,若溢出标志OF为1,则产生一个类型号为4的内部中断,被称为溢出中断 8086/8088的中断分类 : 2 中断向量和中断向量表 中断向量:中断服务子程序的入口地址(首地址) 入口地址含有段地址CS和偏移地址IP(32位) 每个中断向量的低字是偏移地址IP、高字是段地址CS,需占用4个字节 8086微处理器从物理地址00000H开始,依次安排各个中断向量,类型号也从0开始 256个中断占用1KB区域,就形成中断向量表 例:中断类型号为10的中断处理子程序存放在1234H:5678H开始的内存区域中,求中断向量地址及其每个单元中所存放的数值。 3 硬件中断的响应和时序 可屏蔽中断的响应过程 :(CPU自动执行) ① 读取中断类型码 ② 将标志寄存器FR的值推入堆栈(IF=?) ③ 把标志寄存器的IF和TF清零 ④ 将断点地址保护到堆栈中。(CS:IP) ⑤ 寻找中断向量,转入中断处理程序 8086的中断响应时序 : 中断响应用2个总线周期 第1个总线周期,通知外设,CPU准备响应中断; 第2个总线周期,外设(8259A)发送中断类型码 4 中断处理子程序 ① 保护现场(PUSH) ② 开放中断(原因) ③ 中断处理的具体内容 ④ 恢复现场(POP) ⑤ 中断返回指令( ? ) 7 中断控制器8259A 7.1 8259A的内部结构 1.数据总线缓冲器 D0~D7接数据总线低8位(AD0~AD7) 接收命令字(8位) 输出中断类型码(8位)、查询字(8位)和相关寄存器的状态(8位) 3. 级联缓冲/比较器 CAS2~CAS0用于指出8个从片的地址; SP#/EN#可用于输入/输出,输入(SP#)决定主(1)/从片(0),输出(EN#)控制总线驱动器8286(缓冲器)工作。 4. 中断请求寄存器IRR 8位寄存器,可锁存由外部输入的中断请求信号IR7~IR0 5. 中断服务寄存器ISR 8位寄存器,用来记录正在处理中的中断请求 6. 中断屏蔽寄存器IMR 8位寄存器,用来存放对各级中断请求的屏蔽信息。 7. 优先权判别器PR 多个中断同时产生,判断优先响应哪个 出现多重中断,判断是否打断当前中断操作 8. 控制部件 输出中断请求信号INT至CPU INTA#接收来自CPU的中断应答信号,应为2个负脉冲才有效; CPU中断响应之后8259的动作: 1)第一个负脉冲:IRR锁存失效,ISR相应位置1,IRR相应位清0; 2)第二个负脉冲:送出中断类型码;若是中断自动结束方式(AEOI),则ISR相应位清0。? 7.2 8259A的工作方式 1. 设置优先级的方式(4) 2. 结束中断处理的方式(3) 3 . 引入中断请求的方式(2) 1. 设置优先级的方式 (1)全嵌套方式:(默认方式) 0级最高,只进行高级中断嵌套(最多实现8级中断嵌套)。PR比较ISR与IRR中优先级高低决定是否中断嵌套。 (2)特殊全嵌套方式:(级联系统) 0级最高,但同级中断也会响应、嵌套。级联系统中的主片必须使用该方式,保证来自同一从片但不同优先级的中断请求能被响应。 (3)普通循环方式:(优先级相同的系统) 设备中断请求被响应并执行中断服务程序后,其优先级自动降为最低,原先低一级

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档