嵌入式培训
美国上市嵌入式培训机构

400-111-8989

热门课程

嵌入式面试题之中断与异常有何区别?

  • 时间:2017-08-10
  • 发布:嵌入式培训
  • 来源:企业面试题

题一:

中断与异常有何区别?

题二:

当一个异常出现以后,ARM微处理器会执行哪几步操作?

题三:

ARM协处理器指令包括哪3类,请描述它们的功能。

题一答案:

异常在处理的时候必须考虑与处理器的时钟同步,实际上异常也称为同步中断,在处理器执行到因编译错误而导致的错误指令时,或者在执行期间出现特殊错误,必须靠内核处理的时候,处理器就会产生一个异常;所谓中断是指外部硬件产生的一个电信号从CPU的中断引脚进入,打断CPU的运行。所谓异常是指软件运行过程中发生了一些必须作出处理的事件,CPU自动产生一个陷入来打断CPU的运行。

题二答案:

当一个异常出现以后,ARM微处理器会执行以下几步操作。

A、将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。若异常是从ARM状态进入,则LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这样,异常处理程序就不需要确定异常是从何种状态进入的。例如:在软件中断异常SWI,指令MOVPC,R14_svc总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行。

B、将CPSR复制到相应的SPSR中。

C、根据异常类型,强制设置CPSR的运行模式位。

D、强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。

题三答案:

ARM协处理器指令包括以下3类:

用于ARM处理器初始化ARM协处理器的数据处理操作。

用于ARM处理器的寄存器和ARM协处理器的寄存器间的数据传送操作。

用于在ARM协处理器的寄存器和内存单元之间传送数据。

上一篇:浅谈我的一些嵌入式面试经历
下一篇:没有下一篇了

浅谈我的一些嵌入式面试经历

嵌入式工程师面试题

选择城市和中心
贵州省

广西省

海南省

台湾