Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

10
  • My family having first acquired a PC in the 486 era, having a 16550 rather than an 8250 was something some clone manufacturers still bothered to advertise. I guess that in the not-quite-yet-internet era others were still cheaping out. But I think this adds credibility to your argument, even if I didn't turn up until the sales boast had evolved from "we're asynchronous" to "we're even more asynchronous than those guys". Commented Nov 15, 2017 at 15:49
  • 16550 were not strictly required to communicate at the highest data rate supported by the PC/XT/AT. The 16450 worked perfectly stable at 115200 kbit/s. You did get issues if you tried to run operations that block interrupts for more than 80µs while communicating using the serial port, but in a single-tasking special-purpose application, you could control that. Using RTS/CTS handshaking, you could even run pipelined transfer protocols like ZMODEM and save blocks to disk without the FIFO of the 16550. The 16550 got relevant as soon as you had multitasking and lost control over... Commented Jan 3 at 22:30
  • ... the moments in which you got an "unacceptable" interrupt latency. This kind of "multitasking" could already be a disk cache with write-back support, so you better did not use one without a 16550. Commented Jan 3 at 22:31
  • @MichaelKarcher: Unfortunately, the 16550 lacked any hardware support for handshaking lines; chip with support for hardware handshaking but a 2-byte FIFO would have offered more robust communications under a wider range of conditions than the 16550 could offer when communicating with another 16550. Commented Jan 10 at 3:42
  • @supercat "under a wider range of conditions" depends on the scope you look at. While HW handshaking with a 2-byte FIFO clearly allows operation independent of any assumptions on throughput or interrupt latency on the host CPU, whereas the 16550 requires the host to have a worst-case latency below 14 character times, The HW handshaking approach requires that the communcation peer supports HW handshaking, and is connected in a way that the HW handshaking signals match the expectations of the 2-byte-FIFO chip (or the chip needs to be configurable for what lines to use). A 16550 works equally... Commented Jan 11 at 10:10