Can someone explain to me why IRQ's are so frustrating and limiting?

Balt

Lifer
Mar 12, 2000
12,674
482
126
I understand how conflicts could arise with two devices sharing one IRQ, but what I don't understand is why we are limited to 15 of them (more or less). I have heard this is inherent in the architecture, is this true?

I've also heard of virtual IRQ's in win2k, where all of the devices seem to share the same IRQ, but have another virtual IRQ of some sort. This seems to work for some, but not for others.

Enlighten me.
 

Lore

Diamond Member
Oct 24, 1999
3,624
1
76
ACPI in Windows 2000 creates "virtual IRQs" where a bunch of devices are actually sharing something like IRQ 9 but are listed as using IRQ 17, 21, 24, etc. The burden of making this work is placed on the ACPI-supported operating system.

And as far as I know, the architecture limits us from IRQ 0 - 15, so a total of 16 physical IRQs.
 

Noriaki

Lifer
Jun 3, 2000
13,640
1
71
What you have to remember is that even a Pentium 4 is compatible with an original 8086.

Back in that time, they had 8 IRQs.
On a modern system you'll notice that there is one IRQ (2 and 9) in the high and low set that are linked.
Unfortuantely the number of interupt lines isn't really something you can change without breaking backwards compatibility.
And even this 2-9 link thing has some negative impact on IRQ performance.
I think they could theortetically expand it with another set of IRQs linked in in a similar fashion, but it would likely hurt performance as well.

Legacy compatiblity (aka a limitation inherent in the architecture) is the reason we are stuck with 16 of them.

You can expand the archtecture...but the base functionality has to stay the same. That's the same reason PCs are so bad at FPU calculations compared to an Alpha say. Intel is quite capable of making a good FPU, but it would break backwards compatibility.

Most newer devices are alright with sharing IRQs and in that case you should be ok, even in Win98. Or Win2k helps by having an extra 240 "Vritual" IRQs to assign to devices. I'm not sure how Vitural IRQs is better than regular sharing, I think it's just more effecient at sharing them.

And yes this can unfortunately cause problems for some pieces of hardware that don't play nice with sharing their IRQ.

Not much you can do in that case except install Win2k w/o ACPI IRQ assignments and hope you can juggle the IRQs to a setting that works will all your devices.
 

Balt

Lifer
Mar 12, 2000
12,674
482
126
Ah, so we keep these limitations for backwards compatibility? That makes sense, I guess.

Hopefully microsoft will be able to clear up the conflicts with virtual IRQ's. That would make people's lives a lot easier I think. IRQ conflicts seem to be one of the most frustrating problems out there, even if all these devices are supposed to get along.

Thanks for the info, future input welcome!
 

DAM

Diamond Member
Jan 10, 2000
6,102
1
76
I do not understand how the achitecture sets the limits on the IRQs, hell we have gone from a 286 the size of a silver dollar to a processor the size of a dollar, how can the architecture still limit this?






dam(confused look)
 

mackstann

Banned
Apr 17, 2001
1,013
0
0
I'm digging this from the bowels of my memory, but when PC's were at a very tender age, there was only one IRQ controller on a chipset. Later they added another that fed into one of the inputs of the first IRQ controller. You would then think that they could add more now, but apparently it's either too complicated or expensive or both.
 

jonnyGURU

Moderator <BR> Power Supplies
Moderator
Oct 30, 1999
11,815
102
106
Actually, there are 16 IRQs (number 0 through 15). Without getting into too much detail (because I am too ignorant to elaborate), I believe because we were dealing with 16 bit buses (full length ISA), we are limited to only 16 IRQs.

ACPI helps us put multiple devices on one IRQ by putting some devices &quot;too sleep&quot; so another device wanting to utilize that same IRQ can than interupt (pun intended). All of this happens in a fraction of a nanosecond, so the &quot;switching&quot; that occurs is impossible to notice. As long as both devices don't try to use the same interupt at the same time, everything should be fine. Remember &quot;back in the day&quot; when you could put two COM ports on the same IRQ and not have any problems... that is, until BOTH serial devices were in use at the same time? CRASH!

I have enough IRQs to go around, so my ACPI is disabled.

Technically, we are not &quot;limited&quot; to only 16 IRQs. Truth be told, there were 16 IRQs back in the day of 8 bit slots. What the designers of the AT standard did was cascade the two interrupt controllers together into an 8 bit bus.

Of course, with the PC99 standard coming in to completely retire the ISA standard, I don't think that 32 IRQs are too far behind. If the ISA slot is COMPLETELY alienated (and now, I think the only x86 chipset that DOESN'T have native ISA support is the ServerWorks chipset) and the slowest bus on the board is a 32 bit PCI slot, then 32 IRQs aren't too far behind... that is, if the OS supports it. This is why the current PC99 standard favors ACPI over more IRQs. Better backwards compatability (imagine such a thing coming from the minds of Intel and Microsoft).

Did I help or did I just confuse matters worse?
 

Noriaki

Lifer
Jun 3, 2000
13,640
1
71
I updated my post.
It's not quite true that all 16 are from the old old days.

But the problem is, the x86 ISA defines 8.
To add more requires &quot;kludging&quot; and would have negative impacts.
Even having 16 is a kludge.

Adding more would likely have more negative effects than moving to IRQ sharing does.

Dam: Everything is limited by the original architecture.
Intel has done some amazing juggling, but a Pentium 4 is 100% compatible with the very first x86-ISA ever made.

(ISA = Instruction Set Architecture, I don't mean the expansion slot
 

jonnyGURU

Moderator <BR> Power Supplies
Moderator
Oct 30, 1999
11,815
102
106
I would just like to say that all of these VERY QUALITY responses were NOT here when I began to type.

 

Balt

Lifer
Mar 12, 2000
12,674
482
126
johnnyguru,

I appreciate your post anyway. It seems if you are doing something that will use all of your cards, you are still limited even with ACPI? For instance, playing a game over the net will use your NIC, input devices, vid card, sound card, etc.
 

jonnyGURU

Moderator <BR> Power Supplies
Moderator
Oct 30, 1999
11,815
102
106
As I said, the &quot;switching&quot; (/jonny gropes for a better term) occurs at such a lightning fast rate, that RARELY there is an issue, but there is always the potential of hazard as it is physically impossible for two devices to truly share the same IRQ simultaneously.

For the most part it works, but I can think of a number of Microsoft seminars that I have attended where I was told that a possible solution to a potential problem was to disable ACPI.
 

MadRat

Lifer
Oct 14, 1999
11,922
259
126
C'mon, there are not 16 irq's. There are only really 8 irq's.

The irq range of 9-15 is not real irq's steppings. They are cascaded from irq 2. When irq 2 is &quot;active&quot; then its a flag to look for irq 9-15, right? *pokes the techies around here*

If a standard was put into place then we could use irq 3 to add 16-31. You probably are asking why 32 irq's and not 24 irq's. Well, I'd think we should grow them exponentially.
 

Akaz1976

Platinum Member
Jun 5, 2000
2,810
0
71
It seems that i have this damn IRQ problem with my ATi TV Wonder. Every time i want to use it, i have to reload its drivers . ATi has NO solution, so i am stuck with this workaround. I have tried switching IRQs around but to no avail.

Akaz
 

jonnyGURU

Moderator <BR> Power Supplies
Moderator
Oct 30, 1999
11,815
102
106
What slot is it in? Sharing IRQs? Does the motherboard have an AMR slot that is not in use?

If it's in the slot belw the AGP slot, try moving it down.

If it's sharing IRQs with an actual device (not PCI Steering, but a REAL device) try disabling ACPI or temporarily removing &quot;conflicting&quot; (despite what Windows has to say about the matter) device.

Make sure that the AMR slot is DISABLED in the BIOS and not set to AUTO. I've had problems with this, especially on MSI boards.
 

Noriaki

Lifer
Jun 3, 2000
13,640
1
71
Akaz: In Win98SE?
I had the exact same problem. Never found a way around it.

But oddly the Win2k beta drivers don't give me that problem.
 

CTho9305

Elite Member
Jul 26, 2000
9,214
1
81
I hope that before desktops hit 128-bit processors, we will have completely done away with:
1. the x87 floating-point unit
2. IRQ's

there's more, but I think those two are the biggest issues. Oh, and I hate the idea of everything-USB. I dont want my mouse &amp; keyboard on USB, I dont want USB harddrives / cd drives. Maybe its just cause I can handle putting things where they fit, maybe its because I view USB as a big overhead. That overhead should definitely not be placed on the CPU. Maybe on the mobo, but I hate devices that need massive resources just to interface with
 

ERJ

Senior member
Oct 9, 1999
325
0
0
I am not sure exactly how relavent this is anymore but here is a brief interrupt description coupled with an asm tutorial:

External Interrupts

ERJ

P.S. Why would processors ever need to be 128bit? 64bit processors give addressable memory up to 18*10^18 bits. Not big enough for ya?
 

Akaz1976

Platinum Member
Jun 5, 2000
2,810
0
71


<< Akaz: In Win98SE?
I had the exact same problem. Never found a way around it.

But oddly the Win2k beta drivers don't give me that problem.
>>



Ya its windows98se. And previous owner had no problems either. None of the ATi boards (official and otherwise) offered a solution. I tried pretty much everything (swaping cards, changing settings). Eventually gave up. I hoping when/if i switch to XP, the problem would be resolved.

Its not a major headache as i dont use it all that frequently but a small irritation none the less

Akaz
 

WarCon

Diamond Member
Feb 27, 2001
3,920
0
0
Realistically you could add any number of irq's simply by software. But it has to be accepted universally or card manufacturers would be stuck. I personally have always wondered why irq's haven't been hard assigned to card types, like modems to irq 3 (even more than one would simply be a matter of a sharing standard required on every card and much like hard drives use jumpers for master and slave or like scsi many different possiblilities depending on the card type). Then no conflicts are possible. Instead we have plug and pray, which has been upgraded to ACPI, which mostly works but at what cost in speed?

Computer technology needs a governing standards body that will stick by their decisions. I am sure it is much easier to implement a long term goal (could eliminate compatibility issues in one stroke of a pen) that is concrete than to decide out of which new invention sells best as the one to go with. So it stays competitive, let the company that completes the design (with complete stability) be the patent holder even though the governing board had the intellectual rights.

Ahh, but a perfect world this is not........

..........edit..........
spelling
 

Akaz1976

Platinum Member
Jun 5, 2000
2,810
0
71


<< What about my suggestions? >>



I will try em out over the weekend and let ya know

thanx

Akaz
 

RedBeard0531

Senior member
Jun 25, 2001
292
0
0


<< Why would processors ever need to be 128bit? 64bit processors give addressable memory up to 18*10^18 bits. Not big enough for ya? >>

- ERJ
I remember hearing that said about 640k of ram, and 100mb hdd's. But now ram is being mesured in gigs, and some RAID arrays go up to exo- and peta- bytes. Just remember, Too much is never enough(except latency)
 

schizoid

Banned
May 27, 2000
2,207
1
0
Well, as one of my collidge proffessors wuntz tolled me, &quot;64 bits is enough to uniquely address every atom in the universe&quot;.

There might be VLIW machines that are above 64 bit, to accomidate some super-crasy ISA, but other than that, 64 bits is as big as it is going to get, period.

J.
 

BartManInNZ

Member
Feb 19, 2001
95
0
0
MADRAT: You are correct in what you say from what I can remember from my early electronics days.

IMHO ACPI is a cop out by Intel, MS, Amd, etc so that they don't have to do some hard slog to bring the technology into the 21st century.
Let's face it why on earth does a P4 need to be backward compatible with a 8086/286/386/486...?
Surely with the new architecture and all the could have eliminated the 640k memory issue, the IRQ issue, ISA (the slot)... the list goes on! I was hoping that the new 64bit architecture would have sorted it out but not as far as I can tell at this stage.
 

cz

Senior member
Nov 23, 1999
284
0
0
Since IRQ stands for I/O Request Queue, a single Queue should be enough for a single CPU machine if (and only if) I/O requests are handled fast enough. The reason that PC desing provides multiple queues is that some low priority I/O requests are not being handled fast enough. So a higher priority I/O request can interrupt a lower priority I/O request processing routine.

So, 15 or even 8 IRQ should be more than enough for a PC which hardly requires more than 8 different priority levels for I/O requests. The problem of running out of IRQ is that a lot of device drivers forget about the fact that an IRQ is a QUEUE not a dedicated resource. A properly written I/O request handling routing should handle the I/O request interrupt very quickly without blocking the queue too long and do the actual lengthy data transfer later (in a different thread if possible).

May be an OS should impose some specific time limits on how long an I/O request should be handled and the queue to be released. Then each device should be asigned to a specific IRQ based on the speed of the I/O request handling routine.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |