ARM处理器的七种异常是严格按照顺序来放置的,那么为什么FIQ向量处于最后一个?

 我来答
genghao_ibr
推荐于2018-04-13 · 超过14用户采纳过TA的回答
知道答主
回答量:27
采纳率:100%
帮助的人:29.9万
展开全部
在ARM的异常向量表(如下图所示),为什么FIQ处于 异常向量表的最顶端?
——————————————————————————————————
中断向量地址 | 异常中断类型 | 异常中断模式 | 优先级(6最低) |
———————|——————— -|————————|—————————-|
0x00 | 复位 | 特权模式 | 1 |
0x04 | 未定义的指令 | UND终止模式 | 6 |
0x08 | 软件中断 | 特权模式 | 6 |
0x0C | 指令预取终止 | 终止模式 | 5 |
0x10 | 数据访问终止 | 终止模式 | 2 |
0x14 | 保留 | 未使用 | 未使用 |
0x18 | 外部中断请求 | IRQ模式 | 4 |
0x1C | 快速中断请求 | FIQ模式 | 3 |
———————————————————————————————————

在阅读了ARM的大量资料后得到的结论是:
FIQ异常向量放在所有向量最后,目的是可以将FIQ异常处理程序直接放在向量的地址上. 这样在执行FIQ处理时,就可以不用进行跳转,快速响应中断.FIQ向量放在最后,允许FIQ异常处理程序直接放在地址0x0000001C或0xFFFF001C开始 的位置,而不需要由向量的分支指令。也就是说直接从0x0000 0001C开始执行,这样省去了一个跳转指令,如果FIQ不是在顶端,那么当然需要一次跳转.
liuyusheng8812
2011-11-15
知道答主
回答量:11
采纳率:0%
帮助的人:9.5万
展开全部
ganfei,is anqingren,heihei
追问
难道还是老乡?
追答
NO
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式