> So I tested a bunch of (relatively modern, post-UART) vintage
 > systems: 4.77MHz PC w/ 1.8MHz/8250, 12MHz 286 (with Unknown),
 > 386/486, and a Pentium all null-modem connected to a modern-make PC -
 > just to verify how fast they should be pushed (download) a data
 > stream.  None of them (not even the Pentium) could be clocked past
 > 115.2K on this serial line.  (I know the host system isn't dictating
 > the speed, but whatever integrated UART is available-- then the
 > software that controls that UART to clock divide to "commonly defined
 > baud rates").

Most 80s-era UARTs probably don't support going faster than 115.2k, even
with a faster clock.  In many cases you could generate arbitrary baud
rates (up to some limit tied to clock rate) by picking arbitrary
divisors, for some rapidly shrinking values of interoperability.  The
8250 was deemed a bit pokey at the time, and the 16x50 chips faster,
partly because they were somewhat re-engineered, and partly because of
the built-in buffering that reduced interrupt rate on the main
processor.

 > - As IBM's own PC manual states, it can't be pushed past 9600
 > reliably (you can, but it starts dropping characters).  So despite a
 > UART that can technically achieve 115200, that system can't handle it
 > (settling on a YModem data exchange rate of about 0.9 KBps).

If you replace the brain dead BIOS serial routines, performance goes way
up.  This is why the FOSSIL drivers came about.  You still have the main
processor interrupt rate as a limitation, of course, but the FOSSILs
were overall much more efficient.

De

Reply via email to