中断处理流程

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

1.轮询方式:

CPU利用率很低,不适合多任务的系统。

2. 中断方式:

CPU发送一个信号,告知CPU它已经完成了这项工作。

一、中断生命周期

CPU减轻很多负担,不用不断的查询设备的状态。提高了CPU的效率。

  

Android CPU中断 cpu处理中断的五步过程_向量中断

CPU。中断信号发送给CPU后,CPU对中断进行处理,也就是调用中断函数。

  

Android CPU中断 cpu处理中断的五步过程_向量中断_02

1.1中断源

在中断的生命周期中,中断源的作用是负责产生中断信号。

  S3C2440支持60个中断源;

  S3C6410支持64个中断源;

  S5PV210支持93个中断源;

1.2中断过滤

  

Android CPU中断 cpu处理中断的五步过程_向量中断_03

1.3中断处理

  向量中断就是不同的中断有不同的入口地址,非向量中断就只有一个入口地址(中断异常),进去了在判断中断标志来识别具体是哪个中断(中断源)。向量中断实时性好,非向量中断简单。向量者,矢量也,即指方向,门路。

1.4非向量式

   

Android CPU中断 cpu处理中断的五步过程_中断处理_04

------由软件件提供中断服务程序入口地址;VIC中的vecaddr中会存放一个默认中断服务程序的地址,这个程序是被所有的非向量中断公用的,他执行的作用就是判断究竟是发生了哪个非向量中断,然后再转向真正要被执行的中断服务程序。

1.5向量方式(6410/210)

  向量中断------由硬件提供中断服务程序入口地址;VIC的vecaddr中存放的就是真正的中断服务程序的地址,直接取出来跳过去执行就可以了。所以向量中断较快。

  

Android CPU中断 cpu处理中断的五步过程_Android CPU中断_05

  

Android CPU中断 cpu处理中断的五步过程_服务程序_06

1.6软件角色

  1.初始化中断源

  2.初始化中断控制器

  3.中断处理