中断概述;
中断源:
I/O设备;
实时时钟;
故障请求;
软件中断;
终端的处理过程:
中断请求→中断响应→中断服务→终端返回;
中断的优先级:
中断嵌套,多终端响应策略;
中断分类:
内部中断(软件中断):非屏蔽中断,由指令引起的中断;
CPU内部中断(00H至07H)
BIOS中断(10H至1FH号);
DOS中断(20H至2FH号)
外部中断:两条中断信号线INTR和NMI
可屏蔽中断(INTR)08H至0FH;——连接至8259A
不可屏蔽中断(NMI)02H-———不受IF限制
中断向量表:
存放中断服务程序的入口地址的表格;存放在存储器的最低端,大小为1KB;每四字节存放一个中断服务的入口地址,共可存放256个;
处理顺序——内部中断优先,然后是NMI和INTR,最后是单步中断;
同时,只有INTR对IF敏感;
概述
8259A是Intel公司生产的用于控制中断的一个可编程芯片;
可以实现的功能有:
级联;
屏蔽某一极的中断;
向CPU提供中断类型码;
具有多种工作方式;
多种中断优先权管理方式;
逻辑结构:
8个基本组成部分:
中断请求寄存器IRR:(一个8位锁存器)用来所锁存外设送来的中断请求;
优先权比较器:用于识别和管理各中断请求信号的优先级别;
中断服务寄存器ISR:(一个8位寄存器)用于记录当前正在服务的中断级;
中断屏蔽寄存器IMR:用于屏蔽某级的中断屏蔽信号;
读写控制电路:实现CPU对芯片的读写操作;包含初始化命令寄存器和操作命令寄存器;
级联缓冲比较器:
数据总线缓冲器:(一个8位的双向三态缓冲器)是8259A与系统数据总线的接口;
//图片
引脚结构:
//图片
命令字:
初始化命令字:
ICW1:芯片控制初始化命令字;
ICW2:中断类型码初始化命令字
ICW3:级联方式命令字
ICW4:方式控制初始化命令字;
操作控制字:
OCW1:终端屏蔽操作命令字
OCW2:控制中断结束和优先权循环
OCW3:控制——特殊终端屏蔽方式,查询中断,读寄存器的状态
8259A的初始化是通过CPU向芯片发送相应的控制字完成的:
CPU向8259A写入初始化控制字时必须按照冥灵子的顺序进行;1-4;
写入操作控制字的时候无顺序规定,但端口地址有严格要求:1的端口为奇数,23的端口地址相同,为偶数;
在编程初始化的时候,ICW1和ICW2是必须输入的;3和4由ICW1 控制;