0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FIQ比IRQ快,为什么快呢?

电子工程师 来源:FPGA设计论坛 作者:FPGA设计论坛 2020-11-10 17:22 次阅读

FIQ和IRQ是两种不同类型的中断,ARM为了支持这两种不同的中断,提供了对应的叫做FIQ和IRQ处理器模式(ARM有7种处理模式)。

一般的中断控制器里我们可以配置与控制器相连的某个中断输入是FIQ还是IRQ,所以一个中断是可以指定为FIQ或者IRQ的,为了合理,要求系统更快响应,自身处理所耗时间也很短的中断设置为FIQ,否则就设置了IRQ。

如果该中断设置为了IRQ,那么当该中断产生的时候,中断处理器通过IRQ请求线告诉ARM,ARM就知道有个IRQ中断来了,然后ARM切换到IRQ模式运行。类似的如果该中断设置为FIQ,那么当该中断产生的时候,中断处理器通过FIQ请求线告诉ARM,ARM就知道有个FIQ中断来了,然后切换到FIQ模式运行。

简单的对比的话就是FIQ比IRQ快,为什么快呢?

ARM的FIQ模式提供了更多的banked寄存器,r8到 r14还有SPSR,而IRQ模式就没有那么多,R8,R9,R10,R11,R12对应的banked的寄存器就没有,这就意味着在ARM的IRQ模式下,中断处理程序自己要保存R8到R12这几个寄存器,然后退出中断处理时程序要恢复这几个寄存器,而FIQ模式由于这几个寄存器都有banked寄存器,模式切换时CPU自动保存这些值到banked寄存器,退出FIQ模式时自动恢复,所以这个过程FIQ比IRQ快。

FIQ比IRQ有更高优先级,如果FIQ和IRQ同时产生,那么FIQ先处理。

在symbian系统里,当CPU处于FIQ模式处理FIQ 中断的过程中,预取指令异常,未定义指令异常,软件中断全被禁止,所有的中断被屏蔽。所以FIQ就会很快执行,不会被其他异常或者中断打断,所以它又比 IRQ快了。而IRQ不一样,当ARM处理IRQ模式处理IRQ中断时,如果来了一个FIQ中断请求,那正在执行的IRQ中断处理程序会被抢断,ARM切换到FIQ模式去执行这个FIQ,所以FIQ比IRQ快多了。

另外FIQ的入口地址是0x1c,IRQ的入口地址是0x18。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5363

    浏览量

    121030
  • IRQ
    IRQ
    +关注

    关注

    0

    文章

    16

    浏览量

    10785
  • FIQ
    FIQ
    +关注

    关注

    0

    文章

    9

    浏览量

    2313

原文标题:FIQ和IRQ

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    充协议芯片的特点

    充协议芯片的特点 1、充电速度提升:充协议芯片能够更高效地管理电源供应和电流传输,使得设备在短时间内充满电,大大缩短了充电时间,例如,华为的44W超级充和OPPO的5A/10V
    的头像 发表于 10-22 16:32 610次阅读
    <b class='flag-5'>快</b>充协议芯片的特点

    充工作原理,解读什么是充协议及协议芯片的应用

    随着手机充的出现传统的慢充模式已经满足不了我们对充电速度的要求,那么我们如何使产品也能使用上?下面我们来了解一下充的工作原理:
    的头像 发表于 10-19 16:29 1530次阅读
    <b class='flag-5'>快</b>充工作原理,解读什么是<b class='flag-5'>快</b>充协议及协议芯片的应用

    蓝牙音箱与PD协议

    随着科技的发展,蓝牙音箱已经成为我们生活中不可或缺的娱乐设备之一。与此同时,充技术也日益普及,越来越多的设备支持Type-C接口PD协议充。那么,蓝牙音箱如何实现Type-C接口PD协议
    的头像 发表于 09-07 11:00 520次阅读

    spark为什么mapreduce

    spark为什么mapreduce? 首先澄清几个误区: 1:两者都是基于内存计算的,任何计算框架都肯定是基于内存的,所以网上说的spark是基于内存计算所以,显然是错误的 2;DAG计算模型
    的头像 发表于 09-06 09:45 315次阅读

    恢复桥损坏如何判断

    恢复桥是一种广泛应用于电力电子设备中的整流器件,通常用于对电流要求较高且需要快速恢复特性的电路中。由于其快速切换特性,恢复桥在高频环境下的表现优越。然而,随着使用时间的增加或在不适当的操作条件下
    的头像 发表于 09-04 14:27 329次阅读
    <b class='flag-5'>快</b>恢复桥损坏如何判断

    充电线:高效充电体验的必备神器

    在快节奏的现代生活中,我们越来越依赖手机、平板电脑和其他电子设备。然而,随着设备的使用频率增加,电池续航时间似乎总是不够用。这就是为什么拥有一款高品质的充电线如此重要。 什么是充电线? 充电
    的头像 发表于 08-30 18:05 1182次阅读

    充协议方案——XSP04协议芯片集成多种充协议

    随着充技术的不断发展,市场上出现了多种充协议。然而USB-PD等主流充协议正在逐步统一充市场,为用户 提供更加统一和便捷的充电体验。
    的头像 发表于 08-27 10:43 509次阅读
    <b class='flag-5'>快</b>充协议方案——XSP04协议芯片集成多种<b class='flag-5'>快</b>充协议

    2024应用智慧服务生态白皮书发布,探索AI与应用融合之路

    8月8日,在北京望京凯悦酒店举办的2024应用开发者大会正式落下帷幕。本届应用开发者大会以“快意无界,与AI同行”为主题,聚焦于应用2.0版本与人工智能技术的深度融合,从技术升级、跨平台多终端
    的头像 发表于 08-26 14:57 404次阅读

    PD充协议芯片的应用

    充技术里PD协议起到至关重要的作用,想要使设备达到快速充电,充协议是不可或缺的
    的头像 发表于 08-19 12:18 545次阅读
    PD<b class='flag-5'>快</b>充协议芯片的应用

    什么是充协议芯片它又起到什么作用

    PD取电诱骗充协议芯片是产品实现充的关键
    的头像 发表于 08-10 15:29 1011次阅读

    PD充产品是如何进行工作的?

    PD充是由USB-IF组织制定的一种快速充电规范,是主流的充协议之一。PD充电协议可以使默认功率5V/2A的Type-c接口提高到100W。使用PD充规范制作的充电头具有充电智能、安全、高效
    的头像 发表于 07-26 15:21 769次阅读
    PD<b class='flag-5'>快</b>充产品是如何进行工作的?

    充技术的演变与PW6606充电压诱骗芯片的应用

    随着科技的快速发展,移动设备对电能的需求日益增长,充技术应运而生。从最初的USB A口快充协议QC3.0、QC2.0,到TYPE C口的PD充协议,充技术经历了从初级到高级的演进。本文旨在探讨
    的头像 发表于 05-28 14:11 994次阅读
    <b class='flag-5'>快</b>充技术的演变与PW6606<b class='flag-5'>快</b>充电压诱骗芯片的应用

    如何测试电池充技术的性能?电池充测试方法及标准介绍

    随着移动设备的普及,电池充技术也越来越成熟。电池充技术可以让我们在短时间内充满电池,大大提高了我们的使用效率。
    的头像 发表于 03-15 18:01 2440次阅读
    如何测试电池<b class='flag-5'>快</b>充技术的性能<b class='flag-5'>呢</b>?电池<b class='flag-5'>快</b>充测试方法及标准介绍

    充对电池有伤害吗 如何最大限度地减少充对电池的影响

    。 首先,我们需要了解充的原理。充技术通过增加充电器的输出电压和电流,以实现更快的充电速度。通常,充技术可以在较短时间内将手机电池充至相对较高的电量。然而,这种高效率的充电过程是否会对电池造成伤害
    的头像 发表于 02-19 10:01 2319次阅读

    什么是充协议芯片

    充协议芯片:技术发展、应用与未来展望 一、引言 随着科技的快速发展和消费者对于移动设备使用需求的日益增长,充技术已成为当下及未来移动电源发展的关键所在。而充协议芯片,作为实现
    的头像 发表于 01-31 19:14 1566次阅读
    什么是<b class='flag-5'>快</b>充协议芯片<b class='flag-5'>呢</b>?