汇编论文关于ARM的异常和中断

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



语| 言|

A
R
M






异常和中断的过程:当CPU内部或外部出现某种事件(中断源)需要处理的时候,暂停正在执行的的程序(断点),转去执行请求中断的那个事件的处理程序(中断服务程序),执行完后,再返回被暂停执行的程序(中断返回),从断点处继续执行,效果如下图。

异常和中断的处理过程基本一致,但并不是完全的等同。

ARM处理器有7种能够让正确指令顺序中止执行的异常情况:复位,未定义指令,软件中断,指令预取中止,数据中止,中断请求(IRQ),快速中断请求(FIQ)。

其中前五种异常发生后是不可屏蔽的,即一旦发生系统必须响应,后两种(IRQ和FIQ)异常是ARM处理器为外围模块提供的可屏蔽的中断源,外部模块通过控制逻辑可以把这两个中断源进行扩展,因而许多输入输出设备通过这两种方式heCPU进行交互的,ARM中把中断定义为一类特殊的异常,习惯上,称IRQ和FIQ这两种异常为中断。

微机的中断系统因具有以下功能:
1.中断响应:当中断源发送请求时,CPU自己决定是否响应。

2.断点保护和中断处理:在中断后,CPU会自动保护断点,并且去执行相关的中断的服务程序。

3.中断优先判断:当有两个或者两个以上的的中断申请的时候,就会对于申请的中断请求进行优先级的评断,然后按照优先级的先后进行中断的处理。

4.中断嵌套:指的是在进行中断处理的过程中又发生新的中断申请,这时候就会进行中断的优先级进行评断,当执行完中断后就返回执行刚才停止的中断。

5.中断返回:自动返回到断点地址,继续执行被中断的程序。

ARM的异常中断
ARM处理器支持7种异常情况:复位,未定义指令,软件中断,指令预取中止,数据中止,中断请求(IRQ),快速中断请求(FIQ)。

1.复位
ARM处理器中都有一个输入引脚nRESET,这是引起处理器复位异常的唯一原因。

对于ARM处理器复位是由外部复位逻辑引起的,有些复位可以通过软件进行控制,妇委会对系统造成很大的影响,复位后,内部寄存器重新恢复原值,对于ARM内部的数据有可能丢失,但是对于寄存器的值是不确定。

一般情况下会有以下几种情况引起复位:上电复位;复位引脚上的复位脉冲;
对于系统电源检测发现过压或欠压引起复位;时钟异常复位。

2.未定义
当ARM遇到不能处理的指令时就会产生未定义指令异常。

通常ARM未定义异常有两种情况
1.遇到一条无法执行的指令;
2.遇到一条对于协处理器的操作指令,但是协处理指令无应答
通常我们是不希望发生未定义指令异常,但是有时候可以利用他作为一
个软件中断来使用,同时对于一些没定义的代码,他们并不会引起未定
义异常,他们是用来作为ARN指令集的进一步扩展。

3. 软件中断
对于软件中断而言,他会把程序倒入到管理模式,而正常的长须是在用
户模式下的。

4.中止
(1)指令预取终止
指的是指令预取访问处理器时候失败从而产生的异常,此时存储器系统向ARM处理器发出存储器中止信号,预取的指令被记做无效,只有
处理器试着执行无效的指令,此时的终止异常才会发生,反之,就不会
被执行。

(2)数据中止
ARM处理器访问数据存储器失败时产生的异常,此时就会有存储器系统向ARM处理器发送存储器中止的信号,表明数据存储不能识别ARM处
理器的读取数据的请求!
5. 中断请求
主要是针对于CPSR的I位,当I位为1,就是禁止IRQ,反之就会检查IRQ的输入,注意这所发生的一切都是在特权模式下发生的。

6.快速中断请求
FIQ是针对于支持数据传输或者通道处理而设计的。

如果将CPSR的位置的f位置为1的话,就会禁止FIQ的中断,否则处理器就会在指令执行的时候检查FIQ的输入。

注意只有在特权模式下才能改变F位的状态。

可以由外部通过对处理器上的nFIQ引脚输入低电平产生FIQ。

异常处理优先级:
异常可以同时发生,但是当多个异常同时发生时,系统就会根据固定的优先级决定异常处理次序!
图片来源:
/i?ct=201326592&cl=2&lm=-1&nc=1&ps=2&ie=utf-8&t n=baiduimage&pv=&fm=rs1&word=%E4%B8%AD%E6%96%AD%E7%B3%BB%E7%BB%9F%E7% BB%93%E6%9E%84%E7%A4%BA%E6%84%8F%E5%9B%BE&ofr=%E4%B8%AD%E6%96%AD%E7%A 4%BA%E6%84%8F%E5%9B%BE
/i?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1& st=-1&fm=result&fr=&sf=1&fmq=1431603612134_R&pv=&ic=0&nc=1&z=&se=1&sh owtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&word=%E5%BC%82%E 5%B8%B8%E4%BC%98%E5%85%88%E7%BA%A7
文献内容《汇编语言程序设计》。

相关文档
最新文档