1、 I/O I/O设备设备 数据通道数据通道 实时钟实时钟 故障源故障源 CPU CPU执行指令产生的异常执行指令产生的异常 执行执行INT INT 软件中断指令软件中断指令 软件中断软件中断 没有随机性,类似于普没有随机性,类似于普通子程序的调用通子程序的调用 硬件中断硬件中断 具有随机性具有随机性 分为分为 可屏蔽中断可屏蔽中断与与不可屏蔽中不可屏蔽中断断两种两种信号形式应满足信号形式应满足CPUCPU要求。要求。中断请求信号应被有效地记录,以便中断请求信号应被有效地记录,以便CPUCPU能够检测到它。能够检测到它。一旦一旦CPUCPU对某中断源的请求提供了服对某中断源的请求提供了服务,则该
2、中断源的请求信号应及时撤消。务,则该中断源的请求信号应及时撤消。图 1 微机系统中实现中断的基本模型 中断事件(中断源)中断源1请求中断源1响应中断源n响应中断源n请求中断优先级控制逻辑中断控制逻辑中断请求中断响应CPU图2 有中断产生的情况下CPU运行程序的轨迹 CPU正在执行的程序CPU响应中断中断结束中断断点中断事件发生中断事件处理程序主程序中断源5处理程序中断源3请求中断源3处理程序中断源1请求中断源1处理程序返回返回返回中断源5请求(假设中断源1n的优先级为从高到低)D0D7D0 D7中断请求输入接口1INTRCPU中断源 1中断源 2中断源 n(a)(b)中断服务程序断点保护中断源
3、 1请求?中断源 2请求?中断源 n请求?断点恢复中断返回对中断源 1服务对中断源 2服务对中断源 n服务查询中断源YYNYNNOF DF IF TF SF ZFAFPFCF 2型中断。当型中断。当NMI引脚出现上升沿触发,表示有非引脚出现上升沿触发,表示有非屏蔽中断请求屏蔽中断请求 信号的有效高电平应持续信号的有效高电平应持续2个时钟周期以上个时钟周期以上 用来处理系统突发事件用来处理系统突发事件当当INTR引脚出现高电平,表示有可屏蔽中断请求引脚出现高电平,表示有可屏蔽中断请求 只有在只有在IF1时,时,CPU才响应此中断才响应此中断 CPU响应后,会执行两个响应周期,分别送两个响应后,会
4、执行两个响应周期,分别送两个INTA 负脉冲信号,以获得该中断源的中断类型码负脉冲信号,以获得该中断源的中断类型码 图7 中断向量表 CSIPCSIPCSIPCSIPCSIPCSIPCS段 地 址IP偏移地址CS段地址IP偏移地址3FFH3FCH084H080H018H014H010H00CH008H004H000Hn 255n 5溢出中断 n 4断点中断 n 3NMIn 2单步中断n 1除法错中断n 0用户使用系统使用中断向量地址指针中断向量地址指针中断向量地址指针中断向量地址指针4中断类型码中断类型码如:中断类型码为如:中断类型码为20H20H的中断的中断向量,存放在向量,存放在00000000:0080H0080H开开始的四个单元中。始的四个单元中。取指令执行当前指令执行完否有内部中断?有NMI?有INTR?有单步中断?NIF1TF1中断响应过程YYYYYNNYNNNNY 图6 中断响应时CPU查询中断源的顺序 图5 中断响应过程 第2个INTA周期(从D0D7读中断向量码n)第1个INTA周期中断请求可屏蔽中断(INTR)非屏蔽中断(NMI)内部中断(INT)FLAGS(SP)1)(SP)2)(CS)(SP)3)(SP)4)(IP)(SP)5)(SP)6)(SP)6SP0IF0TF(4n)(4n1)IP(4n2)(4n3)CS中断处理