George Toft <[EMAIL PROTECTED]> wrote:
> I would invite you to do the math: 115,200 baud with one start bit, one
> stop bit and eight data bits (total of 10) means the computer has to
> pump out 11,520 bytes per second to the serial port. I think if a 386
> at 25Mhz can handle a hard drive and move 700K bytes per second, it can
> surely handle less that 12K, especially since the modem has a higher
> priority interrupt than the hard drive.
Yes, but that's an apples-to-oranges comparison. I'm not disputing that a
relatively slow 486 can handle a single 115.2 Kbps serial port, but it will
use more of the CPU than the hard drive does.
When the hard drive generates an interrupt it is ready to transfer (at least)
512 bytes of data, essentially as fast as the processor can read it.
Similarly for writing.
The 16550 has only a 16-byte FIFO. You can't actually use it programmed
to generate an interrupt only when the FIFO is full, because you'll miss data
between when the FIFO fills and the interrupt is serviced. Typically you
end up getting an interrupt for every 8 characters. At 115200 bps, that is
144 interrupts per second.
On the transmit side, if you don't mind occasionally letting the line go idle,
things are somewhat easier, because you can use an interrupt on FIFO empty.
But in my experience people tend to be dissatisfied with software that can't
keep their modem busy, so you really end up using a threshold lower than the
full FIFO size on transmit as well.
Cheers,
Eric
--
PLEASE read the Red Hat FAQ, Tips, Errata and the MAILING LIST ARCHIVES!
http://www.redhat.com/RedHat-FAQ /RedHat-Errata /RedHat-Tips /mailing-lists
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject.