【微机原理及接口技术】中断控制器8259A
文章目录
前言
本篇文章将就8259芯片展开介绍,8259A的内部结构和引脚,8259A的中断工作过程,8259A的工作方式,8259A的编程以及外部中断服务程序。
一、介绍
Intel 8259A是可编程中断控制器
可用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中断
- 8259A的主要功能
具有8级优先权控制,通过级联可扩展至64级
每一级均可通过编程实现屏蔽或开放
能向CPU提供相应的中断类型号
可通过编程选择不同的工作方式
二、8259A的内部结构和引脚
- 1. 中断控制
中断请求寄存器IRR
保存8条外设中断请求信号IR0~IR7的请求状态
Di=1:IRi引脚有中断请求
Di=0:IRi引脚无中断请求
中断服务寄存器ISR
保存正在被8259A服务着的中断状态
Di=1:IRi中断正在服务中
Di=0:IRi中断没有被服务
中断屏蔽寄存器IMR
保存对中断请求信号IRi的屏蔽状态
Di=1:IRi中断被屏蔽(禁止)
Di=0:IRi中断被开放(允许) - 2. 读写控制
- 3. 中断级连
一个系统中,8259A可以级连,有一个主8259A,若干个(最多8个)从8259A
级连时,主8259A的三条级连线CAS0~CAS2作为输出线,连至每个从8259A的CAS0~CAS2
每个从8259A的中断请求信号INT,连至主8259A的一个中断请求输入端IRi
主8259A的INT线连至CPU的中断请求输入端INTR
CPU的中断响应输出端INTA连至主8259A和从8259A的INTA*端*
SP*/EN在非缓冲方式下,规定该8259A是**主片(SP=1)还是从片(SP*=0)**
三、8259A的中断工作过程
- 中断响应周期
第一个响应周期
——数据线浮空。通知发中断请求的设备,CPU准备响应中断,应该准备好中断类型号。
第二个响应周期
——被响应的外设将一个字节的中断类型号送数据线,CPU读取类型号。
四、8259A的工作方式
-
1. 设置优先权方式
普通全嵌套方式
8259A的中断优先权顺序固定不变,从高到低依次为IR0、IR1、IR2、……IR7
中断请求后,8259A对当前请求中断中优先权最高的中断IRi予以响应,将其向量号送上数据总线,对应ISR的Di位置位,直到中断结束(ISR的Di位复位)
在ISR的Di位置位期间,禁止再发生同级和低级优先权的中断&#