计算机中也是采用的这种方法,五个 中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。
基本定义就是:从发出 中断请求到进入 中断处理所用的时间
计算机接收到中断信号到操作系统作出响应,并完成切换转入 中断服务程序的时间。对于占先式 内核,要先调用一个特定的函数,该函数通知内核即将进行中断服务,使得内核可以跟踪中断的嵌套。占先式内核的中断响应时间由下式给出:
中断响应时间=关中断的最长时间 + 保护CPU内部寄存器的时间 + 进入中断服务函数的执行时间 + 开始执行中断服务程序(ISR)的第一条指令时间
中断响应时间是系统在最坏情况下响应中断的时间,某系统100次中有99次在50ms之内响应中断,只有一次响应中断的时间是250ms,只能认为中断响应时间是250ms。
另外,还有系统响应时间(系统发出处理要求到系统给出应答信号的时间)、最长关中断时间、非屏蔽中断响应时间等辅助的衡量指标。
具体地说,中断响应可以分为以下几个步骤:
1、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。
2、寻找中断入口,根据5个不同的 中断源所产生的中断,查找5个不同的入口地址。以上工作是由计算机自动完成的,与编程者无关。在这5个入口地址处存放有 中断处理程序(这是程序编写时放在那儿的,如果没把中断程序放在那儿,就错了,中断程序就不能被执行到)。
3、执行 中断处理程序。
4、中断返回:执行完 中断指令后,就从中断处返回到主程序,继续执行。
中断的实时性是实时系统的一个重要方面。中断响应时间是影响中断实时性的主要因素。