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.


    I've bookmarked it in my google bookmarks.

    A lot of people shall be benefited from your writing.

    Also visit my web-site: local directory submission

    but great topic. I needs to spend some time learning
    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

    his site, because here every data is quality based information.

    my homepage: bottle stopper lock