difference between IRQ and Interrupt Priority level

1

Can someone tell me if the IRQ of a device is different to the Interrupt Priority level?

Tony The Lion

Posted 2010-01-02T11:22:54.650

Reputation: 597

Answers

2

An IRQ is an hardware interrupt request from a device. It is a hardware signal with alerts the CPU that external hardware wants it's attention. The interrupt usually causes the CPU to immediately stop what it was executing and jump to different code, usually an interrupt service routine that was registered earlier.

Then once the CPU is executing an interrupt service routine, what should happen when another interrupt request comes in while the CPU is processing a different interrupt? Interrupt priority level is what answers that question. The simplest priority seem, as pointed out in Wikipedia, is an interrupt disable setting. So while servicing an interrupt, all other interrupts will not interrupt the processor (they will no be lost, they will be serviced once the current service routine is finished). With more complex priority scheme, some interrupts will interrupt others.

For example, maybe the hard drive interrupt has a higher level than the keyboard, since the hard drive speed is important and no one is going to notice a < 1ms delay in processing a key press.

shf301

Posted 2010-01-02T11:22:54.650

Reputation: 7 582

3

No, they're not the same.

The IRQ is a hardware interrupt signal used to tell the CPU that something needs its attention.

It's been a while but I don't think there was any priority implied by the different IRQ signals.

Interrupt priority will be assigned to software interrupts, meaning that some are considered more urgent than others.

pavium

Posted 2010-01-02T11:22:54.650

Reputation: 5 956

so IRQ's themselves have no priority attached to them, but when handled by the PIC, they are prioritized by the PIC? – Tony The Lion – 2010-01-02T11:57:45.703

Oh, we're talking about PIC processors. You tagged the question 'windows'. I don't know about PICs, but it seems to me that if handling the IRQs is handled by software, anything is possible. Sorry, I can't be more specific because I don't know what the software does. – pavium – 2010-01-02T12:31:26.593

1I looked in Wikipedia, and found you meant Programmable Interrupt Controller. There was no mention of 'priority' in the article, so I must conclude that any prioritizing is indeed done by software. You can do anything with software, you know ;-D – pavium – 2010-01-02T12:39:35.437

IRQ in the general PC sense means "interrupt request line". different IRQs meant different addresses, and allowed multiple devices to interrupt the processor without sharing an interrupt line. had nothing to do with priority. – quack quixote – 2010-01-02T13:19:49.547