The Universal Asynchronous Receiver-Transmitter (UART) is the heart of a serial port. When transmitting, the UART receives the outbound byte stream from the system bus, converts the bytes into a bit stream, and places the bits onto the serial interface. When receiving, the UART receives an inbound bit stream from the serial interface, buffers the inbound bits, assembles them into bytes, and places those bytes onto the system bus. There are two types of UARTs.
A dumb UART generates an interrupt each time it sends or receives a byte. At low data rates this is acceptable, but at faster data rates these frequent interrupts put a heavy burden on the processor. Dumb UARTs have long been obsolete, but are often encountered in older systems such as 486s and Pentiums that have been converted to use as firewalls, fax servers, and other communications servers. Dumb UARTs can be used with Windows and Linux in applications for which data rates do not exceed 38.4 kb/s—e.g., 14.4 kb/s fax modems. The following are dumb UARTs:
The 8250 is an eight-bit UART used in original IBM PCs and compatibles, and occasionally encountered in newer PCs with secondhand serial cards installed. If you find an 8250, pull the card and throw it away.
The 16450 is a 16-bit UART used in PC/ATs and compatibles. It is common on 16-bit serial cards for 80286, 80386, and early 486 systems, and on the motherboards of such systems. It runs 19.2 Kb/s reliably, and may ...