处理器的当前程序状态寄存器CPSR中,最低8位为控制位,其中有中断禁止标志位I和F。
当发生异常时,控制位改变。当处理器在一个特权模式下操作时,可用软件操作这些位。
向量中断控制器
LP2000系列的ARM属于面向工业领域的微控制器,这要求处理器必须能够正确快速地响应,并且处理多个外部事件(特别是紧急事件)的能力。
ARM内核本身只有快速中断FIQ和普通中断IRQ这2条中断线,也就是说只能接受2个中断,因此不经特殊处理无法处理2个以上中断事件。于是,设置了 向量中断控制器(Vectored Interrupt Controller,VIC),它使得LP2000系列ARM具备了快速处理多个外部中断事件的能力。
中断控制系统
LPC2000系列ARM的中断系统可以分3个层次,如图所示。其最外层为数量众多的外设,外设可产生中断信号。处在最里层的为ARM内核,它通过IRQ和FIQ两根中断信号线接收外部的中断请求信号,并根据当前程序状态寄存器CPSR的I和F位来决定ARM内核是否要响应中断请求。处在中间层的是向量中断控制器(VIC),它的作用在于 承前启后,管理外设部件的中断信号,并且将其分配到ARM内核的仅有2根中断请求信号线上。
以中断为主线,贯穿整个CPU,渗透到各个部件,起到纽带作用:
内核到外设是以中断为主干线,外设为枝干,构成了“中断关联多叉树”。
至于后面使用外设,只要抓住中断和外设的使用。
LPC2000系列ARM的VIC特性
最多32个中断请求输入;
16个向量中断;
16个优先级,可动态分配优先级;
可产生软件中断。
ARM内核的7种模式,全部共享一个程序状态寄存器CPSR,并且ARM内核也是通过CPSR来监视和控制内部操作的。CPSR中的I和F位就是用于控制IRQ和FIQ模式的使能。
中断禁止标志位
标志位I和F都是中断禁止标志位,用于使能或禁止ARM的2种外部中断源。CPU的大多数外设都会与这2条中断线相连。要禁止任何一个中断源,要将对应位置1,而不是0。
问题:CPU什么条件下,可以响应中断?
当控制位I为1,IRQ中断被禁止,否则允许IRQ中断使能。FIQ也是如此。允许的意思是。CPU内核可以响应中断了。
问题:什么条件CPU才能响应外设的中断?
问题:什么条件下,CPU的外设会产生中断?
网友评论