allred@bongo.cc.utexas.edu (Kevin L. Allred) (05/17/91)
My 2400 baud MNP 5 internal modem (Cardinal 2450MNP) has an internal buffer of at least 200 bytes, which is used for packet buffering. The documentation doesn't make it clear whether it has a separate buffer for incoming and outgoing packets. I have the modem set to communicate with the terminal program at 9600 baud, to accommodate peak speeds. I am curious about the performance implications of having a big buffer. What I have read indicates that most high performance serial communication programs recommend using a 16550A UART because of the 16 byte FIFO buffer. The correct use of the buffer reduces the interrupt overhead and the chance of dropped characters. My modem looks like a 8250 to the software, but does it's internal buffer protect against dropped characters in the same way as the 16550's buffer? I have assumed that with the 16550 it is possible to move multiple bytes into or out of the buffer with only a single interrupt occurring, thus lowering the load on the CPU. Is the same true for the internal modem? This question would seem to be very important in a multitasking environment like Windows, OS2, or UNIX, where the CPU might be too busy to service an interrupt for each serial character transmitted at a high baud rate. As an example of this kind of slow down, I have seen Windows slow to a virtual stop when printing a large bitmap in a DOS window using the "copy/b foo.bar lpt1:" command. I assumed this is because it had to spend all it's time servicing the parallel port interrupt. The observed throughput was only about 4000 CPS -- very irritating, but I can't figure out how to use Windows Print Manager to print binary files. Windows doesn't seem to have any trouble keeping up with 2400 MNP5 (peak throughput ~500CPS), but I can imagine that things would slow considerably if it had to keep up with 14400 v.42bis. Are there any communications experts out there that can answer some of there questions? -- Kevin Allred Department of Chemical Engineering The University of Texas at Austin email: allred@emx.cc.utexas.edu