Un circuito elettronico integrato che governa la ricezione e la trasmissione
di dati su linea seriale. Per sua natura la linea seriale richiede che
i dati vengano trasmessi un bit alla volta e perciò l'UART converte i
byte in entrata (otto bit che gli arrivano in parallelo su altrettanti
piedini) in una serie di bit consecutivi a cui aggiunge i bit d'inizio
e di fine per ciascun carattere più l'eventuale bit di parità. Un analogo
circuito esegue, poi, la conversione inversa all'altro capo della linea.
Ne esistono di diversi tipi. Quello storicamente usato sui primi personal
computer prende il nome di 8250, ma si era dimostrato inadeguato già sui
286 (benché lo si trovi ancora su molti 486). Il suo difetto consiste
nel disporre di un buffer che contiene un solo byte alla volta. Questa
configurazione è insufficiente per lavorare in ambiente multitasking dove
il processore può essere momentaneamente impegnato e non può dedicare
attenzione immediata alla porta seriale. In una simile circostanza si
rischia di perdere uno o più byte in entrata e di dover richiedere la
trasmissione dell'intero pacchetto. Nel tentativo di aumentare le prestazioni
sulla porta seriale, nel 1984 alcuni produttori hanno iniziato a utilizzare
l'UART 16450 che funzionava a 16 anziché 8 bit, ma ancora aveva un buffer
capace di contenere un solo byte. Dal 1987 i produttori più attenti hanno
iniziato a utilizzare l'UART 16550 oppure il più moderno 16550A, e derivati,
che dispongono di un buffer da 16 byte e perciò consentono di trasmettere
e ricevere file in background, immagazzinando i byte al proprio interno
quando il processore è impegnato, così da non perdere informazioni ed
evitare inutili ritrasmissioni. Nei cloni e anche in molte macchine di
marca, questo chip sta scomparendo per lasciare posto a uno speciale chip
multifunzionale che magari contiene due UART 16550 più altre funzioni.
In ogni caso si continua a utilizzare anche in questo caso la sigla 16550
semplicemente per segnalare migliori prestazioni sulla linea seriale.
|