Since when did a x86 system have more than 16 interrupts?!?!?

I'm looking through my device settings for one of my cards, and Windows XP reports that it's on interrupt 16!  I know that a standard x86 computer used to have interrupts 0-15 for hardware control...

Did they make changes when the Pentium 4 came out that allowed for more than 16 hardware interrupts?  Or is this just some smoke and mirror tactics done by Microsoft?

I even used a PCI32 program to get a list of the interrupts, and I had all the way up to Interrupt 22!

What I'm thinking is that Windows is somehow "binding" the hardware to a software interrupt.  If this is true, please let me know.

Thanks for any help you can provide.  This should be a rather easy question to answer.
Who is Participating?

Improve company productivity with a Business Account.Sign Up

CallandorConnect With a Mentor Commented:
Since APIC (Advanced Programmable Interface Controller) was introduced, interrupts can be shared and additional interrupts were added (I think there are 24 now).  Win2K and WinXP can take advantage of this (maybe Win98SE also).
stockhesConnect With a Mentor Commented:

Here is a breaf explanation

Windows2000/XP supports the advanced programmable interrupt controller (APIC) using MPS version 1.4.
APIC distribuate a set of devices that form an interrupt controller by connecting to a local APIC bus.

APIC expand to 24 IRQs and sharing of IRQs.
In Windows2000/XP with APIC enabled, it will show 24 IRQs instead of the classic 15 or less  .

On nForce2 chipsets enabling APIC can result in some minor performance hit in I/O itensive applications.
Systems seems to prefer to run the old-fashioned way.
Drawback with old way is less flexible assignments for interrupt requests ,but if you are not loaded with devices
this option can be concidered.
I suspect higher access latencys for the tha devices in APIC mode compared to the IRQ assignment without APIC is the reason for difference.

There are 24 different IRQs possible and it could be no sharing. However at "System Information"
some of the IRQs are unused ,and there is still sharing between e.g. the IDE controllers,USB and ethernet controller.Why this is i don't know.

APIC DISABLED: 15 IRQs are available and is schared between devices.
The assignments of IRQs is very different from with the APIC enbled situation.

With APIC enabled there is possible with more device support without IRQ sharing.

Without APIC you have more sharing but devices that have been assigned their own exclusive IRQs or may be running faster.With disabled it seems you have better contol yourself.And there has been benchmark that shows small
improvments in speed for some devices.

The previous NVIDIA SW-IDE driver
You install 2000/XP loads the drivers from the mb cd.
Answers yes to intsll the SW-IDE .Resultingt in complete crashes and possibly corrupting HDDs files.
Supposedly the earlier sw-ide driver bundled in chipset versions older than 3.13 didn't support APIC .Nvidia also removed the sw-ide driver from their unified 2.45 release leaving the users to run with the microsoft ide driver.

Be aware that switching from APIC enabled to disabled mode in BIOS does require a complete reinstallation of the operating system.(boot problems)
So you have to choose this prior to installing 2000/XP .

Lost_In_JavaScript_LandAuthor Commented:
Since Callandor answered the question first, he will get the original 25 points.  Since I am extremely low on points right now, I will wait a few days to award the points until I have 20 extra points to give to stockhes for his very detailed answer.
Even I would give stockhes points for his detailed answer! ;-)
Lost_In_JavaScript_LandAuthor Commented:
I'm assigning the points now.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.