1 / 15

第 2 节 可编程中断控制器 8259A (书上 P-209 ) —— (定性介绍)

1 、 8259A 的引脚 2 、编程结构 3 、工作过程. 第 2 节 可编程中断控制器 8259A (书上 P-209 ) —— (定性介绍). 1. 8259A 的引脚 双列直插式芯片, 28 个引脚. 8259A. Vcc. + 5V. 总线. 18.2Hz. IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7. 方 波. 数 据 线. D0 ~ D7. D0 ~ D7. 键 盘. 保 留. 串 口 2. IOR. RD. 串 口 1. IOW. WR. 硬 盘. A0. A0. 软 盘.

uriel-oneil
Download Presentation

第 2 节 可编程中断控制器 8259A (书上 P-209 ) —— (定性介绍)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1、8259A的引脚 2、编程结构 3、工作过程 第2节 可编程中断控制器8259A(书上P-209)——(定性介绍)

  2. 1.8259A的引脚双列直插式芯片,28个引脚 8259A Vcc + 5V 总线 18.2Hz IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 方 波 数 据 线 D0 ~ D7 D0 ~ D7 键 盘 保 留 串 口2 IOR RD 串 口1 IOW WR 硬 盘 A0 A0 软 盘 打印机 片 选 译 码 CS A5 ~ A9 20~3FH SP/EN CA0 CA1 CA2 GND 用于多片 8259A 级连情况 INTA INTA INT INTR 定时器

  3. 2.8259A的编程结构 处理部分 总线 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ISR 当前 中断 服务 寄存器 IRR 中断 申请 寄存器 数 据 线 D0 ~ D7 D0 ~ D7 PR 优先级 比较器 A0 A0 片 选 译 码 A5 ~ A9 CS ICW1芯片控制 A0 A0 1 0 0 1 0 1 0 0 0 1 OCW1中断屏蔽寄存器IMR ICW2中断类型号 RD SP/EN CA0 CA1 CA2 IOR WR 0 1 IOW OCW2优先级设置、发EOI ICW3主从片连接关系 INTA INTA VCC GND 0 1 0 0 1 0 × 1 I3 I4 INT OCW3特殊屏蔽,查询方式设置 ICW4方式控制 INTR 控制部分 1

  4. (1) 初始化命令字(ICW1- ICW4) 决定8259A的工作方式 • 通常是在计算机系统启动时在初始程序设置, • 一旦设定,一般在系统工作过程不再改变。 例 开机后,BIOS将8259A初始化为: ① IR0~IR7中断申请信号为上升沿触发方式; • ②IR0~IR7对应的中断类型号分别为08H~0FH; • ③ 优先级IR0最高, IR7最低; (2) 操作命令字(OCW1,OCW2,OCW3) • 在应用程序中设定,动态地控制CPU处理中断的过程 (3) ISR和IRR存放当前8259A的状态 通过读取 ISR 和 IRR 的内容,可了解当前8259A工作情况

  5. 3. 8259A 的工作过程 分两步: (1)处理外设中断申请,决定是否向CPU发中断申请信号。 (2)若发中断申请信号,且CPU响应, 则在CPU中断响应周期送出中断类型号。

  6. (1) 处理外设中断申请,决定是否向CPU发中断申请信号 ① 中断申请寄存器IRR 锁存外部的中断申请。 • 若 IR0~IR7 引脚上有中断申请,则将 IRR 相应位置1 ② 中断屏蔽寄存器 IMR 决定 IRR 中的中断申请 是否进入优先级裁决器 PR。 • IMR对应位为0,允许中断申请进入优先级裁决器, • 为 1,不允许进入,中断申请被IMR屏蔽。 ③当前中断服务寄存器 ISR记录CPU正在响应的中断。 • ISR中的某位为1,表示CPU正在响应此级中断, • ISR中的某位为 0,表示CPU没有或已响应完此级中断, ④优先级裁决器PR 据新进入的中断申请和 ISR的内容, 决定是否发中断申请信号。 • 如果进入的中断申请比 ISR 中记录的中断优先级高, • 则通过 8259A 的 INT 引脚向 CPU发出中断请求信号; • 如果进入的中断申请不比 ISR 中记录的中断优先级高, • 同级或低级,则不向 CPU 发中断请求信号。

  7. ① 中断申请寄存器IRR 锁存外部的中断申请。 • 若 IR0~IR7 引脚上有中断申请,则将 IRR 相应位置1 总线 ISR 当前 中断 服务 寄存器 IRR 中断 申请 寄存器 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 数 据 线 D0 ~ D7 D0 ~ D7 PR 优先级 裁决器 A0 A0 片 选 译 码 A5 ~ A9 CS 1 0 0 1 0 1 0 0 ICW1芯片控制 RD OCW1中断屏蔽寄存器 IMR ICW2中断类型号 IOR WR ICW3主从片关系 IOW OCW2优先级、发EOI INTA ICW4方式控制 INTA OCW3 特殊屏蔽设置 INT INTR 0 0

  8. ② 中断屏蔽寄存器 IMR 决定 IRR 中的中断申请 是否进入优先级裁决器 PR。 • IMR对应位为0,允许中断申请进入优先级裁决器, • 为 1,不允许进入,中断申请被IMR屏蔽。 总线 ISR 当前 中断 服务 寄存器 IRR 中断 申请 寄存器 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 数 据 线 D0 ~ D7 D0 ~ D7 PR 优先级 裁决器 A0 A0 片 选 译 码 1 0 0 1 0 1 0 0 A5 ~ A9 CS ICW1芯片控制 RD OCW1中断屏蔽寄存器 IMR ICW2中断类型号 IOR WR ICW3主从片关系 IOW OCW2优先级、发EOI INTA 0 0 ICW4方式控制 INTA OCW3 特殊屏蔽设置 INT INTR

  9. ③当前中断服务寄存器 ISR记录CPU正在响应的中断。 • ISR中的某位为1,表示CPU正在响应此级中断, • 即正在执行此中断源的中断子程; • ISR中的某位为 0,表示CPU没有或已响应完此级中断, • 即不在执行此中断源的中断子程 总线 ISR 当前 中断 服务 寄存器 IRR 中断 申请 寄存器 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 数 据 线 D0 ~ D7 D0 ~ D7 PR 优先级 裁决器 A0 A0 片 选 译 码 1 0 0 1 0 1 0 0 A5 ~ A9 CS ICW1芯片控制 RD OCW1中断屏蔽寄存器 IMR ICW2中断类型号 IOR WR ICW3主从片关系 IOW OCW2优先级、发EOI 0 0 INTA ICW4方式控制 INTA OCW3 特殊屏蔽设置 INT INTR

  10. ④优先级裁决器PR据新进入的中断申请和 ISR的内容, 决定是否发中断申请信号。 • 如果进入的中断申请比 ISR 中记录的中断优先级高, • 则通过 8259A 的 INT 引脚向 CPU发出中断请求信号; • 如果进入的中断申请不比 ISR 中记录的中断优先级高,同级或低级, • 则不向 CPU 发中断请求信号。 总线 ISR 当前 中断 服务 寄存器 IRR 中断 申请 寄存器 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 数 据 线 D0 ~ D7 D0 ~ D7 PR 优先级 裁决器 A0 A0 1 0 0 1 0 1 0 0 片 选 译 码 A5 ~ A9 CS ICW1芯片控制 RD OCW1中断屏蔽寄存器 IMR ICW2中断类型号 IOR 0 0 WR ICW3主从片关系 IOW OCW2优先级、发EOI INTA ICW4方式控制 INTA OCW3 特殊屏蔽设置 INT INTR

  11. CPU接收到 INTR上的中断申请信号后: • 如果 IF 标志为0,则CPU不响应此中断申请信号, 即中断申请被IF屏蔽。 • 如果 IF 标志为1, 则处理完当前的指令后, 进入中断响应周期 通过 INTA 引脚发出两个负脉冲信号, 从数据总线上获取中断类型号, 进入中断响应的过程。 (2) 若发中断申请信号,且CPU响应, 则在CPU中断响应周期送出中断类型号

  12. T1 T4 T1 T4 T2 T3 T2 T3 CLK INTA AD7~AD0 第 一 个 第 二 个 向量类型 中断响应周期 中断响应周期 8086CPU中断响应周期时序

  13. 0 1 1 0 0 1 0 1 0 0 0 0 8259A在接收到第一个INTA中断响应信号后: ① 将 ISR 中相应位置1, • 表示 CPU 响应此级中断,执行此中断源的中断子程。 ②把 IRR中对应的位清0,清除IRR中锁存的中断申请信号。 总线 ISR 当前 中断 服务 寄存器 IRR 中断 申请 寄存器 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 数 据 线 D0 ~ D7 D0 ~ D7 PR 优先级 裁决器 A0 A0 片 选 译 码 A5 ~ A9 CS ICW1芯片控制 RD OCW1中断屏蔽寄存器 IMR ICW2中断类型号 IOR WR ICW3主从片关系 IOW OCW2优先级、发EOI INTA ICW4方式控制 INTA OCW3 特殊屏蔽设置 INT INTR

  14. 0 总线 ISR 当前 中断 服务 寄存器 IRR 中断 申请 寄存器 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 数 据 线 1 D0 ~ D7 D0 ~ D7 8259A在接收到第二个INTA中断响应信号后: PR 优先级 裁决器 A0 A0 1 0 0 1 0 1 0 0 片 选 译 码 A5 ~ A9 CS ICW1芯片控制 RD OCW1中断屏蔽寄存器 IMR ICW2中断类型号 IOR 0 0 WR ICW3主从片关系 IOW OCW2优先级、发EOI INTA ICW4方式控制 INTA OCW3 特殊屏蔽设置 INT INTR ①通过数据线,将被响应申请的中断类型号送给CPU。 • 类型号由ICW2提供,在初始化8259A时已设定好。 ② CPU获得中断类型号后,进入CPU响应中断的过程, 执行中断子程,处理中断源申请的功能。

  15. CPU响应中断过程: • ① 取中断类型号N • ② 当前PSW的内容入栈 • ③ 清IF、TF标志为0 • ④当前CS的内容入栈 • ⑤ 当前IP的内容入栈 • ⑥ 取内存单元( 0 : N ×4 )字内容送IP 取中断子程 • ⑦ 取内存单元( 0 : N ×4 + 2 )字内容送CS入口地址 • 此时CS:IP指向中断程序的入口,开始执行中断程序。 保存现场 执行完中断子程中最后一条指令IRET后, 返回被中断处,继续执行被中断的程序。

More Related