SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Technology Stocks : Intel Corporation (INTC) -- Ignore unavailable to you. Want to Upgrade?


To: Pigboy who wrote (71840)1/22/1999 11:23:00 AM
From: Gerald Walls  Respond to of 186894
 
I have learned a lot in recent hours from a friend on IRQs...apparently Win98 only supports 15 of them at once and I may have them all booked up.

Actually it's the PC that only supports 15 hardware interrupts. There are a total of 256 interrupt vectors, of which vectors 0-15 are HW interrupts. The rest are software interrupts that are mainly used by software to make BIOS and OS service requests. Making requests via interrupts allows the OS to avoid active polling and unnecessarily eating CPU time. BTW, each vector is a four-byte address so the interrupt vector table occupies the first 1K of memory.

There are two interrupt handler chips to handle the HW interrupts, each handling eight. One of the interrupt lines on the first chip hands off to the second chip, hence 15 total. (EDIT: I had forgotten that the handoff interrupt can do shared duty so you do have 16.) At least all of this is the way it worked back in the 16-bit Real Mode Dark Ages of the x286 PC-AT.

Certain devices, like comm ports, can share interrupts with certain other devices. For instance, COM1 & COM3 share an interrupt and COM2 & COM4 share an interrupt. In the general case interrupt drivers aren't written to do it and you can't share.