NS16550 Print
Written by Robo   
Sunday, 01 June 2008 15:30

The NS16550 chip is a UART, which stands for Universal Asynchronous Receiver/Transmitter. It's the main chip that drives the serial port in PCs. Nowadays it rarely exists as a single chip, instead it's usually included in a multifunction chip on the motherboard (if a serial port is included at all). Back in the old days, there were several versions available: the original 8520, which was slow and buggy, the 16450 which was slow and clean, and the 16550 which was fast and reliable. The extra speed came not from higher line speeds, but from the use of buffers inside the chip, which meant that the CPU didn't need to talk to the UART as often. Although the old 8250 was capable of working at 115,200 kbps, most CPUs of its day were unable to process the data quickly enough.

NS16550

The NS16550AFN sitting on a motherboard. It's is a 286 board, which is quite remarkable since the 16550 (the fast one) was not widely used until the 486 era. Most 286 PCs were equipped with one of the older, slower versions.

NS16550

The inside of the chip. Quite a standard picture for moderately complex digital circuitry. I suspect the vertical bars on the left to be the buffers that I mentioned above.

NS16550

A look at the logo area. The National Semiconductor logo is there, but strangely enough the chip's name isn't mentioned. We can also see the alignment markers (the boxes and crosses) which are used to align the various layers of the chip.

NS16550

A closer look at one of the presumed buffers. The NS16550 has two buffers of 16 bytes each.

NS16550

A close-up of a relatively empty space. There's a rather big transistor on the right. At the bottom right you can clearly see how a couple of wires pass under a bigger one.