《ARM微处理器对异常中断的响应过程.docx》由会员分享,可在线阅读,更多相关《ARM微处理器对异常中断的响应过程.docx(1页珍藏版)》请在第一文库网上搜索。
ARM微处理器对异常中断的响应过程ARM微处理器对异常中断的响应过程如下:当异常中断发生时,程序将当前执行指令的下一条指令的地址存入新的异常模式的链接寄存器1R中(RI4_),以便程序在异常处理完后,能正确返回原程序。保存当前的CPSR值,即将CPSR复制到新的异常模式的SPSR中。根据异常类型,重新设置CPSR的运行模式位CPSR4:0,使微处理器进入相应的工作模式。强制给PC赋值,即将表2.4中相应的向量地址赋给PC,从而跳转到相应的异常处理程序处执行程序。设置CPSR中的中断禁止位,以禁止中断发生。上述过程用伪码可以描述为:R14_=Return1inkSPSR.=CPSRCPSR4:0=ExceptionModeNumberCPSR5=0If=ResetorFIQthenCPSR6=1;当响应FIQ或复位异常时,禁止新的FIQ中断CPSR7=1;禁止IRQ中断PC=ExceptionVectorAddress如果异常发生时,处理器处于ThUmb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回: 由链接寄存器1R的值恢复PC,返回到发生异常中断的指令的下一条指令处执行程序。 将SPSR复制回CPSR中。 若在进入异常处理时设置了中断禁止位,要在此清除。