Conventional Memories

This page is part of my Toshiba E.M.I.S. archive project, to learn more please visit the project page, Some of the files from the Toshiba BBS referenced here can also be found there.

Index

_______________________________________________________________

What is a 16550 and do I need one?

The 16550 is a UART with two 16 byte FIFOs. A UART is the part of a

serial port that takes byte-wide (characters) data and converts it to

bit-wide (serial) data, and visa versa. The FIFO is a buffer which

can hold characters until the CPU is ready to remove it or until the

serial line is ready to transmit it. The 'normal' UART in the PC (the

8250 or 16450) only has 1-byte FIFOs. The additional 15 bytes can be

useful when the CPU is busy doing other things - if the CPU isn't able

to remove data fast enough, it will be lost.

A very important thing to note is that under DOS, the CPU doesn't have

anything else to do, so the 16550 is wasted. Only under multitasking

operating systems does it really become useful. The 16550 will *not*

make your file transfers any faster, it will only prevent data from

being lost and relieve your CPU of some overhead. If you notice

system performance dropping like a rock when file transfers are

occurring, a 16550 may be helpful. If you see re-transmissions (bad

packets) or "FIFO overrun's" during file transfers under a

multitasking OS, try the same thing under DOS - if the errors go away,

then chances are a 16550 will be useful. If they remain, then your

problem is likely to be elsewhere.