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