Re: serial ports

Chris Blum (chris@phil.uni-sb.de)
7 Aug 1996 02:04:05 +0200


Ronald Hesper <R.Hesper@phys.rug.nl> wrote:
> The problem is that the ISA bus architecture uses edge-triggered interrupts.

Sorry to disappoint you, but that's just plain wrong. I mean, it's
not the problem. :-)

> That means that the processor only takes notice when the IRQ line drops from
> the 1 state to the 0 state, not if it is held low.

This _would_ be the case if the specs of the 8259 ICU _were_ correct,
but luckily they aren't, because those who tested this marvel were no
boneheads. :-) In edge-triggered mode, you can always re-trigger the
edge detector by masking and unmasking the interrupt you are servicing
while the irq line is still in the raised state. According to some
guy at Intel this was a last minute hack, but don't nail me on that.

The ISA bus architecture is nevertheless braindead wrt interrupts,
because it doesn't make sense to have them rising-edge triggered when
the 8259 contains an internal pull-up. A simple TTL inverter per irq
line would have made life on the ISA bus very nice, but IBM decided
not to spend these few cents. Oh well, that's not the only flaw of
the PC design...

cb

-- 
Chris Blum    http://www.phil.uni-sb.de/~chris/    PGP encrypted mails welcome