Wednesday, July 23, 2014

What is the difference between IRQ and FIQ in case of ARM?

ARM treats FIQ(Fast interrupt request) at a higher priority as compared to IRQ(interrupt request). When an IRQ is executing an FIQ can interrupt it while vice versa is not true.

ARM uses a dedicated banked out register for FIQ mode ; register numbers R8-R12.
So when an FIQ comes these registers are directly swapped with the normal working register and the CPU need not take the pain of storing these registers in the stack. So it makes it faster.

One more point worth noting is that  the FIQ is located at the end of exception vector table(0X1c) which means that the code can run directly from 0X1C and this saves few cycles on entry to the ISR.

For any clarifications or if you have any suggestion please post comments below.


  1. Hi there, I discovered your website by way of Google while searching for a comparable matter, your web site got here up, it seems to be good.
    I've bookmarked it in my google bookmarks.

    Hello there, simply became alert to your blog through Google, and found that it's truly informative.
    I'm going to watch out for brussels. I will appreciate for those who continue this in future.
    A lot of people shall be benefited from your writing.

    Also visit my web-site: local directory submission

  2. I am not sure where you are getting your information,
    but great topic. I needs to spend some time learning
    much more or understanding more. Thanks for magnificent info I was looking for this information for
    my mission.

    My weblog :: wedding venues Newcastle

  3. If you wish for to grow your experience simply keep visiting this web page and be updated
    with the most recent news update posted here.

    Refiew my webpage: Yellow pages Look Up

  4. I think the admin of this web page is genuinely working hard in favor of
    his site, because here every data is quality based information.

    my homepage: bottle stopper lock