 This "double buffering" gives a receiving computer an entire character transmission time to fetch a received character.Many UARTs have a small first-in, first-out (FIFO) buffer memory between the receiver shift register and the host system interface.This allows the host processor even more time to handle an interrupt from the UART and prevents loss of received data at high rates.