如题所述
中断工作是一个软硬件协调工作的过程,整个工作过程可分为四个子过程来理解:
1、中断请求
中断请求泛指中断源为了请求CPU暂停正在执行的某个程序,而转去执行中断源请求执行的某个程序,所发出的中断请求信号。也可以特指加到CPU的INTR和NMI引脚的请求信号。
读者需要注意的是:内部中断源的请求总是在CPU内部建立相应请求标志,用户可以不去理睬它。外部的非可屏蔽中断请求可以通过NMI引脚加入CPU,也比较简单。需要特别处理的主要是可屏蔽中断源的请求,这是因为外部可屏蔽中断源常常有许多个,它们只能通过CPU的INTR一个引脚输入,这就出现了以下问题:
(1)如何保证不同外部中断源采用不同的中断请求信号(电平不同或边缘不同)均能与INTR端的电平要求匹配。
(2)当多个中断源同时提出中断请求时,如何保证让优先级最高的请求,优先获得服务。
(3)如何保证当某一中断请求被响应后能及时地除掉INTR端的相应请求信号(不管中断源的请求信号是否解除)。
(4)如何解决在中断中又响应中断。
为了解决以上四个问题,必须将中断源的中断请求信号经过一个中断控制器处理,由中断控制器再去控制INTR引脚。本章第三节将要介绍的8259就是完成这一功能的专用中断控制器芯片。
2、中断承认
3、中断响应
4、断点恢复与返回
这是在中断服务程序结束前完成的操作。首先用程序指令从栈中弹出前面保护起来的寄存器内容, 执行RET指令时,硬件将自动断点保护阶段保护的内容弹至CS、IP和FLAG。
1、中断请求
中断请求泛指中断源为了请求CPU暂停正在执行的某个程序,而转去执行中断源请求执行的某个程序,所发出的中断请求信号。也可以特指加到CPU的INTR和NMI引脚的请求信号。
读者需要注意的是:内部中断源的请求总是在CPU内部建立相应请求标志,用户可以不去理睬它。外部的非可屏蔽中断请求可以通过NMI引脚加入CPU,也比较简单。需要特别处理的主要是可屏蔽中断源的请求,这是因为外部可屏蔽中断源常常有许多个,它们只能通过CPU的INTR一个引脚输入,这就出现了以下问题:
(1)如何保证不同外部中断源采用不同的中断请求信号(电平不同或边缘不同)均能与INTR端的电平要求匹配。
(2)当多个中断源同时提出中断请求时,如何保证让优先级最高的请求,优先获得服务。
(3)如何保证当某一中断请求被响应后能及时地除掉INTR端的相应请求信号(不管中断源的请求信号是否解除)。
(4)如何解决在中断中又响应中断。
为了解决以上四个问题,必须将中断源的中断请求信号经过一个中断控制器处理,由中断控制器再去控制INTR引脚。本章第三节将要介绍的8259就是完成这一功能的专用中断控制器芯片。
2、中断承认
3、中断响应
4、断点恢复与返回
这是在中断服务程序结束前完成的操作。首先用程序指令从栈中弹出前面保护起来的寄存器内容, 执行RET指令时,硬件将自动断点保护阶段保护的内容弹至CS、IP和FLAG。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2008-06-10
中断的响应过程是当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不同的事情(因为处理完了,我们还要回来继续看书):电话铃响我们要到放电话的地方去,门铃响我们要到门那边去,也说是不同的中断,我们要在不同的地点处理,而这个地点通常还是固定的。计算机中也是采用的这种方法,五个中断源,每个中断产生后都到一个固定的地方去找处理这个中断的程序,当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方继续往下执行程序。具体地说,中断响应可以分为以下几个步骤:1、保护断点,即保存下一将要执行的指令的地址,就是把这个地址送入堆栈。2、寻找中断入口,根据5个不同的中断源所产生的中断,查找5个不同的入口地址。以上工作是由计算机自动完成的,与编程者无关。在这5个入口地址处存放有中断处理程序(这是程序编写时放在那儿的,如果没把中断程序放在那儿,就错了,中断程序就不能被执行到)。3、执行中断处理程序。4、中断返回:执行完中断指令后,就从中断处返回到主程序,继续执行。
希望对你有帮助
希望对你有帮助
第2个回答 2008-06-11
中断请求,中断判优,中断响应,中断处理,中断返回本回答被提问者采纳