ARM9处理器从哪些方面保证了FIQ异常响应的快速性

 我来答
小佚风
2014-12-10 · TA获得超过146个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:74.6万
展开全部
ARM微处理器对异常中断的响应过程如下:
●当异常中断发生时,程序将当前执行指令的下一条指令的地址存入新的异常模式的链接寄存器LR中(R14_<mode>),以便程序在异常处理完后,能正确返回原程序。
●保存当前的CPSR值,即将CPSR复制到新的异常模式的SPSR中。
●根据异常类型,重新设置CPSR的运行模式位CPSR[4:0],使微处理器进入相应的工作模式。
●强制给PC赋值,即将表2.4中相应的向量地址赋给PC,从而跳转到相应的异常处理程序处执行程序。
●设置CPSR中的中断禁止位,以禁止中断发生。
  上述过程用伪码可以描述为:
  R14_<Exception_Mode> = Return Link
  SPSR_<Exception_Mode> = CPSR
  CPSR[4:0] = Exception Mode Number
  CPSR[5] = 0
  If< Exception_Mode> == Reset or FIQ then
  CPSR[6] = 1 ;当响应FIQ或复位异常时,禁止新的FIQ中断
  CPSR[7] = 1 ;禁止IRQ中断
  PC = Exception Vector Address
  图2.6是一个从用户模式到 FIQ模式的例子。
  如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。

  异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:

●由链接寄存器LR的值恢复PC,返回到发生异常中断的指令的下一条指令处执行程序。
●将SPSR复制回CPSR中。
●若在进入异常处理时设置了中断禁止位,要在此清除。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式