Forum unknown
· Modems & Comm Q&A
v.32bis!!!
1 messages in this thread
Rod,
The thing with the serial I/O is the interrupt service time. If an
interrupt service routine must be performed for each character received,
then 57.6 would require 57,600/10 = 5,760cps…and 1/5,760 would be: 173.6
E-6. That means that the CPU would have to be able to shove everything on
the stack and perform the complete interrupt service routine for the
character in less than 173 microseconds. Anything which would delay that
would cause the loss of a character. (Actually the first character would be
overwritten by the next character.)
This same thing existed with 38.4Kbps, but the time period allowed was 260
microseconds. Those machines which could not cope at 38.4Kbps will
certainly not be able to cope with 57.6Kbps. However, replacement of the
standard UART with the 16550 allows reduction of the overhead for character
retrieval by using FIFO buffers in the UART. This means that instead of an
interrupt being issued and serviced for each character, multiple characters
can be fetched with each interrupt. The use of the 16550 should allow most
386 class machines to function reliably at 57.6Kbps, but I have not done
any testing on this question yet. As always, it will depend upon the other
variables involved: the application being run, the TSRs, disk cache, etc.