中断处理流程深度剖析

1.中断概念

     CPU在工作的过程中,经常需要与外设进行交互,交互的方式包括‘轮询方式’,‘中断方式’。

     1.轮询方式:

           CPU不断地查询设备的状态,该方式实现简单,但是CPU的利用率低,不适合多任务系统。

     2.中断方式:

           CPU告知硬件开始一项工作后,就去做别的事了,当硬件将这件工作做完就会想CPU发送一个信号,告知它已经完成了工作。

 

   举一个例子描述两种方式:假如现在CPU要通过串口发送两组数据,而串口发送一组数据的需要的时间为3秒。轮询方式:串口在发送数据的3秒时间内,CPU每隔一段等待时间查询串口状态,期间只做了‘等待‘以及‘查询’两件事,利用率低;中断方式:CPU通知串口发送数据,然后转向处理其他事,当串口发送完数据就会向CPU发送一个中断信号通知CPU。

 

2.中断处理流程

      1.非向量中断:

       

       2.向量中断:

          

    总结:非向量中断与向量中断的不同在于:

                                              在发生了非向量中断时,有统一的中断入口,并且要判断中断源;

                                              在发生了向量中断时,CPU直接跳转到用户设置好的中断处理程序处,无需判断中断源,因此,与非向量中断相比,向量中断更加简单方                                               便。      

 

                                                  

posted @ 2015-03-23 17:14  Fight_for_a_sweet  阅读(221)  评论(0编辑  收藏  举报