导图社区 中断技术思维导图
这是一篇关于中断技术的思维导图,主要从中断、中段处理、中段类型进行了概述,内容详实,结构清晰,逻辑严密,非常值得学习
编辑于2021-06-27 00:36:30中断技术
中断处理
过程
中断请求:当中断源有中断请求时,将中断请求触发器置1,若中断屏蔽器为0,表示允许向CPU发出中断请求,CPU响应后中断请求触发器请0,若中断屏蔽器为1,表示禁止向CPU发出中断请求,尽管有请求也不能送出,称中断请求被屏蔽
中断响应:可用开中断指令STI和关中断指令CLI设置中断允许触发器状态,CPU复位时,中断允许触发器为0,即关中断,为响应可屏蔽中断请求,必须用STI开中断.非屏蔽中断不受中断允许触发器的影响
中断服务:CPU执行中断服务程序.一般有以下操作:1.保护有关寄存器内容(CPU自动完成CS,IP寄存器及标志寄存器Flags的入栈保护)2.开中断3.中断服务
中断返回:当完成中断服务程序后,执行中断服务程序的最后一条指令IRET,CPU自动八段点地址从堆栈中弹出,原来的标志寄存器内容弹回到FLAGS.一般有以下操作:1.关中断2.恢复现场3.恢复断点4.开中断
判断优先级
1.软件查询法 2.硬件优先权排队电路
8259A
内部结构
CS:片选信号,低电平有效.该信号有效时,CPU可通过数据总线对8259A进行读/写操作
WR:写控制信号,低电平有效.该信号有效时,CPU可向8259A写入命令控制字
RD:读控制信号,低电平有效.该信号有效时,8259A将状态信息送至数据总线供CPU检测.
D0~D7:双向三态数据线,直接与系统数据总线相连,用来·传送控制,状态和中断类型码等信息
CAS0~CAS2:级连信号线,最多能带动8个从片,控制64级中断.
IR0~IR7:外设中断请求信号线.
SP/EN:从片程序/允许缓冲器,双向,低电平有效.当工作在缓冲方式时,为输出信号,用作允许缓冲器接收和发送的控制信号;当工作在非缓冲方式时,为输入信号,指明该8259A是作为主片(1)还是从片(0)工作
INT:中断请求输出信号,接CPU的中断输入端INTR.
INTA:中断响应信号,低电平有效,接收CPU送来的中断响应信号
A0:地址选择信号,与CS,WR,RD一起对寄存器进行选择
初始化编程
ICW1--芯片控制初始化命令字.特征A0=0,D4=1.设置ICW1:D7~D5=X,D4=1,D3(0:边沿触发1:电平触发),D2=0,D1(0:级联使用1:单片使用),D0(0:不需要ICW4,1:需要ICW4)
必须写入偶地址端口
ICW2--中断类型码初始化命令字.特征A0=1。设置ICW2:D7~D3(决定中断类型码的具体值),D2~D0(自动填入,默认000)
ICW3--主/从片初始化命令字.特征A0=1.主片ICW3:有从片的引脚为1,其他为0.从片ICW3:由D2~D0确定从片接入引脚,其他为0
ICW4--方式控制初始化命令:特征A0=1.D7~D5=0,D4(0:非特殊全嵌套1:特殊全嵌套),D3(0:非缓冲1:缓冲),D2(0:从片1:主片),D1(0:非自动EOI,1;自动EOI),D0(0:8080/885系统1:8086/8088系统)
必须写入奇地址端口
固定顺序写入,ICW1中知名是否需要 设置ICW3,ICW4.级联方式下,主从片 都要写ICW3.一次写入
OCW1:--中断屏蔽操作命令字.M7~M0对应着IR7~IR0,Mi=1屏蔽对应的IRi输入.
必须写入奇地址端口
OCW2--控制中断结束和优先权循环的操作命令字.
OCW3--特殊屏蔽方式和中断查询方式操作命令字.
必须写入偶地址端口
写入没固定顺序,可重复写入
中断类型
内部中断
1.除法出错中断(类型0) 2.单步中断(类型1) 3.断点中断(类型3) 4.INTO溢出中断(类型4) 5.INTn指令中断(n为中断类型码0~255)
特点:1.中断向量号由CPU自动提供,不需要执行中断响应总线周期去读取向量号 2.除单步中断外,所有内部中断都无法禁止,即都不能通过执行CLI指令使IF位清零来禁止对它们的响应. 3.除单步中断外,任何内部中断的优先权都比外部中断高.
外部中断
非屏蔽中断:由NMI引脚引入,不受中断允许标志位IF的影响,即使在关中断的情况下,CPU也能在当前指令执行完毕后就响应NMI上的中断请求.(边缘触发,中断类型码为2)
可屏蔽中断:由INTR引脚引入,高电平有效.当INTR引脚为高电平,CPU将根据中断允许标志位IF的状态决定是否响应.若IF=0,屏蔽INTR线上的中断,CPU不理会该中断请求继续执行下一条指令;若IF=1,允许INTR线上的中断,CPU执行完现行指令后转中断响应.
中断处理顺序(由高到低)
顺序:1.除法错误中断,溢出中断,INTN指令中断,断点中断 2.非屏蔽中断NMI 3.可屏蔽中断INTR 4.单步中断
中断向量表
中断向量
1.每个中断服务程序都有一个唯一确定的入口地址称为中断向量,把所有中断向量集中起来存放的存储区称为中断向量表,中断服务程序入口地址包括段基址(CS)和偏移地址(IP),各占2字节,每个占4字节,8086中断系统可处理256种不同的中断,共占用1024字节(1KB) 2.8086系统在存储器最低端地址从0000H~03FFH作为中断向量存储区.每个入口地址的段基址CS存放在高字节单元,偏移地址存放在低字节单元IP.
分类
专用中断:类型0~类型4,共5种类型,由系统负责装入,用户不能随意修改.
系统保留中断:类型5~类型31,为Intel公司为软硬件开发保留的中断类型.如类型10H~1FH为ROM-BIOS中断,类型21H为DOS功能调用.
用户中断:类型32~类型255,为用户可用中断,由用户程序装入.定义为软件中断
计算
中断向量地址(4n)=中断类型码(n)x4
中断向量类型号n乘以4得到中断向量表的存放地址4n,然后将4n和4n+1两个单元的内容装入IP寄存器,将4n+2,4n+3的内容装入CS中.
中断
定义
中断具有随机性,实现中断功能的控制逻辑称为中断系统
特点
1.并行操作:提高了CPU利用率,加快了数据输入/输出速度 2.实时处理:系统响应速度快 3.故障处理:提高了·微型计算机工作的可靠性,降低了损失
中断源
分为内部中断和外部中断,内部中断是CPU处理某些事件时所引起的或通过内部逻辑结构自己去调用的中断,外部中断是由外围设备要求数据输入输出操作时请求CPU为之服务的一种中断.
ICW1
ICW2
级联?
ICW3
需要ICW4?
ICW4
取下一条指令
当前指令执行完毕
有无中断请求
识别中断源
保护现场
开中断
中断服务
关中断
恢复现场
开中断
返回