多个外部中断源共享中断资源。
必须解决一些问题。
例如,CPU芯片上只有一个INTR输入,如何用INTR连接多个中断源,如何区分中断向量,以及如何确定每个中断源的优先级。
可编程中断控制器8259A是为此目的而设计的。
它可以接收来自多个外部中断源的中断请求,执行优先级判断,选择当前最高优先级的中断请求,并将此请求发送到CPU的INTR。
结束。
CPU响应中断并进入中断服务程序后,中断控制器仍负责管理外部中断请求。
例如,当外部中断请求的优先级高于当前正在处理的中断时,中断控制器将通过将其发送到CPU的INTR终端来嵌套它。
相反,禁止其他较低级别的中断。
可编程中断控制器8259A可用于管理八级优先级中断,九个8259A级联可形成具有多达64级优先级的中断管理系统。
8259A具有多种操作模式,可自动提供中断服务程序入口地址。
8259A的外部引脚信号8259A采用NMOS工艺制造。
它采用单5V电源,是28引脚双列直插式芯片。
除电源和地之外的外部引脚的功能如下:双向数据线三态直接连接到系统数据总线,以实现与CPU的数据交换。
在较大的系统中,它通常通过总线驱动器连接到系统数据总线。
:外部中断请求信号输入端,中断请求信号可以是电平触发或边沿触发,由编程决定。
当有多个8259A形成级联时,8级中断请求信号输入引脚连接到主片。
在8088系统中,数据总线是8位,8259A数据也是8位。
因此,可以将直接连接到8259A的地址总线分配给8259A的奇数地址和偶数地址,从而满足8259A编程的端口地址。
要求。
8259A的内部结构由以下部分组成:(1)数据总线缓冲区。
它是一个8位双向三态缓冲器,通常连接到数据总线的低8位。
它是8259A和CPU之间交换数据的接口。
交换的数据有8259A数据输入到CPU,状态信息和CPU发送到8259A的数据。
命令,控制字全部通过数据总线缓冲区。
(2)读/写控制电路。
它用于接收CPU发送的读写命令,片选信号和端口选择信号,以实现8259A的CPU读/写操作。
CPU执行OUT指令时,该信号有效。
(3)级联缓冲器/比较器。
一块8259A只能接收8级中断输入。
当它超过8级时,可以级联多个部分以形成主从关系中断系统。
(4)中断请求寄存器IRR。
中断请求寄存器IRR用于存储外部输入的中断请求信号。
(5)中断屏蔽寄存器IMR。
IMR是一个8位寄存器,用于保存各级中断请求的屏蔽信息。
(6)中断服务器寄存器ISR。
ISR是一个8位寄存器,对应于8级中断,用于记录正在处理的中断请求。
(7)优先光盘鉴别器PR。
用于管理和识别每个中断请求信号的优先级。
(8)控制电路。
它是8259A的内部控制器,用于控制8259A芯片的内部工作过程。