what is difference between IRQ and FRQ ?

Answers were Sorted based on User's Feedback

what is difference between IRQ and FRQ ?..

Answer / prajosh premdas

"IRQ is serviced at a normal priority level and FIQ is
serviced at high priority level." This statement is wrong

FIQ is the fast interrupt i.e. the latency time taken is less because in the FIQ mode (in case of ARM architecture where these modes are encountered) the mode has an additional set of 8 general purpose registers which means in case of the banked registers there is no need to store these registers into stack when the interrupt occurs.

That means r0 to r7 only needs to be stored while moving from User mode to FIQ mode whereas while moving from to IRQ mode r0 to r12 needs to be stored.

Is This Answer Correct ?    29 Yes 3 No

what is difference between IRQ and FRQ ?..

Answer / ravi a joshi

I hope you wished to know the difference between IRQ and
FIQ. If so, here goes the answer:

CPU is a sequentially executing machine. It will execute the
instructions from it's instruction set one-by-one until
either program execution sequence is modified or the CPU is
instructed to stop execution.

However, if any peripheral device wishes the CPU to know
that it needs it's attention, then they inform through
interrupts. IRQ stands for Interrupt Request and FIQ stands
for Fast Interrupt Request.

IRQ is serviced at a normal priority level and FIQ is
serviced at high priority level.

Is This Answer Correct ?    35 Yes 11 No

what is difference between IRQ and FRQ ?..

Answer / thiagarajan

1.FIQ has the priority level 3 whereas IRQ has the priority
level 4.
2.FIQ will not be disabled in IRQ handler by default but
IRQ will be diasbled in FIQ handler.
3.IRQ vector presents at the address 0x00000018 where the
FIQ vector presents at the address 0x0000001C which is last
of the vector table. So if IRQ occurs, the handler at
0x00000018 should use a branch instruction to redirect to
service routine. But in FIQ,(as it is the last in vector
table) the service routine can start at the 0x0000001C
itself. One branch instruction processing time will be
saved in FIQ comparing to IRQ.
4.As already mentioned in other answer, FIQ mode has 5
extra general purpose banked register.So there is less
burden in storing the corresponding registers in other mode
to stack while entering FIQ and from stack to registers
while returning from FIQ.

In short FIQ has short interrupt latency(response) than

Is This Answer Correct ?    13 Yes 1 No

what is difference between IRQ and FRQ ?..

Answer / mujeer

FIQ has higher priority then IRQ.
As said above it has the 8 banked register to reduce context
switching which improves interrupt latency.

Is This Answer Correct ?    7 Yes 3 No

Post New Answer

More RTOS AllOther Interview Questions

what is the need of creating 4GB of pages in linux?

1 Answers   TCS,

What is the difference b/n any GPOS and RTOS?Give suitable examples or characteristic of RTOS to support your answer. What changes can be done in a GPOS to make it work like a RTOS? What basic features will you support, if you have to design a RTOS?

8 Answers   L&T, Emulogic, Bosch, Qualcomm,

What is priority inversion ? and What is the solution ?

6 Answers   Wipro, Qualcomm, Tandberg,

Describe different job scheduling in operating systems.

9 Answers  

What is the state of the processor, when a process is waiting for some event to occur?

14 Answers   MTS,

What do you mean by deadlock?

8 Answers   Bosch,

If two processes which shares same system memory and system clock in a distributed system, What is it called?

7 Answers  

what is major concerns about any RTOS selection ?

4 Answers   Bosch,

When would you choose top down methodology?

3 Answers   CTS,

What is the important aspect of a real-time system ?

6 Answers  

When would you choose bottom up methodology?

5 Answers   Knowx Innovations,

I have been working on one thread which manage and control a couple of circular buffers. It has api for other thread to access. As the thread grows bigger and bigger, I split it as 3 to 4 threads which need to share common buffers, and also their api could be used by other threads, (not these three threads). Inside api, I also allow other threads to access these three threads' common buffers(more than one buffer). SO I have to use mutex to avoid race condition . But I found mutex will be everwhere in all the threads when they update the common buffer. I am wondering whether I could reduce mutex usage(more mutex will hure my system performance). any ideas for how to reduce mutex usage meanwhile to avoid race condition. Thanks

2 Answers