[comp.sys.ibm.pc.hardware] Serial communication and internal MNP modems.

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