中断相关概念
♦中断源:引起中断的时间 或 发出中断的外设
♦分类
①外部中断
▷可屏蔽中断(INTR引脚,一般是指interrupt的缩写,也就是中断)、 ✔外设 ✔受IF控制,N=8~255 (IF标志位) ▷不可屏蔽中断(NMI引脚) (你妈超凶,你必须听) ✔电源,内存错误等 ✔不受IF控制,N=2
②内部中断
▷CPU内部 ▷软件中断(指令错误) ▷异常(指令执行时发生错误)
●内部中断(异常,Exception):8088内部执行程序错误
①DIV或IDIV指令 (符号整除法指令)
②INT指令 (向CPU发送中断的指令)
③INTO指令 (溢出中断指令)
④单步中断(陷阱标志位TF=1,每条指令执行完成引起中断,N=1)
▷为用户提供发现、调试并解决程序执行异常的途径
例如BIOS和DOS功能调用,DEBUG
◆软中断
♦INT n指令产生一个中断 ♦N=n ♦例子:n=21H,DOS系统功能调用
♦N=n
♦例子:n=21H,DOS系统功能调用
●中断源的优先权(由高到低)
♦软件中断
①除法错中断
②指令中断
③溢出中断
♦非屏蔽中断
♦可屏蔽中断
♦单步中断
8259A
8259A中断响应过程:
●8259A中断响应过程(单片)
❶当IR7-0有变高,中断请求寄存器IRR相应的位置1
❷若IMR相应位中断允许,则8259A通过INT向CPU送出中断请求
❸若CPU开中断,则用INTA响应2个负脉冲。
❹当8259A收INTA第1个负脉冲后,使最高优先权的ISR位置位,相应IRR位复位。优先权的顺序为: IR0﹥IR1……﹥IR7。
❺当8259A收第2个INTAA负脉冲,8259A向DB送出中断类型号N。
❻CPU读取DB上的N,自动计算中断向量(CS:IP)的保存地址(N4),在AB上出现N4,读取其中的中断向量(CS:IP)恢复到CS:IP中,实现进入中断服务程序。
●8259A中断响应过程(多片)
▷8259A可以级连,1个主片最多可以级连8个从片
♦级连时,主片CAS0~CAS2连至每个从片的CAS0~CAS2,输出被选中的从片ID,
♦每个从片的中断请求信号INT,连至主片8259A某个中断请求输入端IRi;主片的INT线连至CPU的中断请求输入端INTR
♦主片在第1个响应周期内通过CAS2~0送出从片ID,相应的从片在第2个响应周期内则将中断类型码N发送到数据总线上。
❶当IR7-0有变高,中断请求寄存器IRR相应的位置1
❷若IMR相应位中断允许,则8259A通过INT向CPU送出中断请求
❸若CPU开中断,则用INTA响应2个负脉冲。
❹当8259A收INTA第1个负脉冲后
♦若不是主8259A的中断源产生了的中断,则主8259A通过CAS输出从片ID,通过验证的从8259A负责(下面第5步)响应CPU。
♦使最高优先权的ISR位置位,相应IRR位复位。优先权的顺序为: IR0﹥IR1……﹥IR7。
❺当8259A收第2个INTA负脉冲,8259A向DB送出中断类型号N。
❻CPU读取DB上的N,自动计算中断向量(CS:IP)的保存地址(N4),在AB上出现N4,读取其中的中断向量(CS:IP)恢复到CS:IP中,实现进入中断服务程序
中断机制的硬件基础
●硬件方法(向量中断)
版权声明:本文为CSDN博主「燕无鸻」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43836778/article/details/122666580
中断相关概念
♦中断源:引起中断的时间 或 发出中断的外设
♦分类
①外部中断
▷可屏蔽中断(INTR引脚,一般是指interrupt的缩写,也就是中断)、 ✔外设 ✔受IF控制,N=8~255 (IF标志位) ▷不可屏蔽中断(NMI引脚) (你妈超凶,你必须听) ✔电源,内存错误等 ✔不受IF控制,N=2
②内部中断
▷CPU内部 ▷软件中断(指令错误) ▷异常(指令执行时发生错误)
●内部中断(异常,Exception):8088内部执行程序错误
①DIV或IDIV指令 (符号整除法指令)
②INT指令 (向CPU发送中断的指令)
③INTO指令 (溢出中断指令)
④单步中断(陷阱标志位TF=1,每条指令执行完成引起中断,N=1)
▷为用户提供发现、调试并解决程序执行异常的途径
例如BIOS和DOS功能调用,DEBUG
◆软中断
♦INT n指令产生一个中断 ♦N=n ♦例子:n=21H,DOS系统功能调用
♦N=n
♦例子:n=21H,DOS系统功能调用
●中断源的优先权(由高到低)
♦软件中断
①除法错中断
②指令中断
③溢出中断
♦非屏蔽中断
♦可屏蔽中断
♦单步中断
8259A
8259A中断响应过程:
●8259A中断响应过程(单片)
❶当IR7-0有变高,中断请求寄存器IRR相应的位置1
❷若IMR相应位中断允许,则8259A通过INT向CPU送出中断请求
❸若CPU开中断,则用INTA响应2个负脉冲。
❹当8259A收INTA第1个负脉冲后,使最高优先权的ISR位置位,相应IRR位复位。优先权的顺序为: IR0﹥IR1……﹥IR7。
❺当8259A收第2个INTAA负脉冲,8259A向DB送出中断类型号N。
❻CPU读取DB上的N,自动计算中断向量(CS:IP)的保存地址(N4),在AB上出现N4,读取其中的中断向量(CS:IP)恢复到CS:IP中,实现进入中断服务程序。
●8259A中断响应过程(多片)
▷8259A可以级连,1个主片最多可以级连8个从片
♦级连时,主片CAS0~CAS2连至每个从片的CAS0~CAS2,输出被选中的从片ID,
♦每个从片的中断请求信号INT,连至主片8259A某个中断请求输入端IRi;主片的INT线连至CPU的中断请求输入端INTR
♦主片在第1个响应周期内通过CAS2~0送出从片ID,相应的从片在第2个响应周期内则将中断类型码N发送到数据总线上。
❶当IR7-0有变高,中断请求寄存器IRR相应的位置1
❷若IMR相应位中断允许,则8259A通过INT向CPU送出中断请求
❸若CPU开中断,则用INTA响应2个负脉冲。
❹当8259A收INTA第1个负脉冲后
♦若不是主8259A的中断源产生了的中断,则主8259A通过CAS输出从片ID,通过验证的从8259A负责(下面第5步)响应CPU。
♦使最高优先权的ISR位置位,相应IRR位复位。优先权的顺序为: IR0﹥IR1……﹥IR7。
❺当8259A收第2个INTA负脉冲,8259A向DB送出中断类型号N。
❻CPU读取DB上的N,自动计算中断向量(CS:IP)的保存地址(N4),在AB上出现N4,读取其中的中断向量(CS:IP)恢复到CS:IP中,实现进入中断服务程序
中断机制的硬件基础
●硬件方法(向量中断)
版权声明:本文为CSDN博主「燕无鸻」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43836778/article/details/122666580
暂无评论