Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

As x86 computers shifted from 32-bit to 64-bit, they also shifted from using 8259-style Programmable Interrupt Controllers with 8 interrupt lines. (Or two multiplexed PICs for a total of 15 interrupt lines.) Then, if you were to install 32-bit Windows for an operating system, Windows would implement 32 software IRQLs (Interrupt Request Levels) with IRQLs 3 through 26 (or so) being reserved for devices.

Then the x64 platform came along. You need a machine with an APIC, which has 256 interrupt lines, in order to install 64-bit Windows on it. However, 64-bit Windows only implements 16 IRQLs.

So my question is, does anyone know why 64-bit Windows would implement fewer IRQLs than its 32-bit counterpart even though it has many more hardware interrupt lines at its disposal?

share|improve this question
add comment

1 Answer 1

up vote 2 down vote accepted

Because with a DOS type system you broadly needed an IRQ for each event and so lots of IRQ levels to allow events to mask other events simply. With a real OS you pretty much just need a single event and let the kernel figure everything else out (actually it's convenient to have a couple of levels for NMI and real-time).

So I'm guessing that with 64bit and knowing that you aren't backward compatible supporting some DOS app on a 386 they took the opportunity to simplify.

share|improve this answer
    
How can a "real OS" fix a hardware deficiency? –  user1249 Aug 7 '12 at 18:59
    
@ThorbjørnRavnAndersen if the OS has proper kernel and protected hardware devices it can deal with any event in the kernel rather than having the CPU IRQL deal with different events happening at the same time –  Martin Beckett Aug 7 '12 at 19:37
    
The original PC-architecture did not have that... –  user1249 Aug 7 '12 at 19:46
    
Good answer. I'll wait a day to give a chance to anyone else wants to chime in, and then mark this as the answer. Thanks! –  Ryan Ries Aug 7 '12 at 20:51
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.