UART (Universal Asynchronous Receiver/Transmitter) – 범용 비동기화 송수신기
UART는 컴퓨터에 부착된 직렬 장치들로 향하는 인터페이스를 제어하는 프로그램이 들어 있는 마이크로칩이다. 명확하게 말하면, UART는 컴퓨터에게 RS-232C DTE 인터페이스를 제공함으로써, 모뎀이나 기타 다른 직렬장치들과 통신하거나 데이터를 주고받을 수 있게 한다. 이 인터페이스의 일부로서, UART는 또한 다음과 같은 일을 수행한다. 컴퓨터로부터 병렬 회로를 통해 받은 바이트들을, 외부에 전달하기 위해 하나의 단일 직렬 비트 스트림으로 변환한다. 내부로 전송할 때에는, 직렬 비트 스트림을 컴퓨터가 처리할 수 있도록 바이트로 변환한다. 외부 전송을 위해 패리티 비트를 추가하며, 수신되는 바이트들의 패리티를 확인하고, 패리티 비트를 제거한다. 데이터를 외부로 내보낼 때에는 시작 비트와 정지 비트를 추가하고, 수신되는 데이터에서는 그것들을 제거한다. 키보드나 마우스로부터 들어오는 인터럽트를 처리한다. 다른 종류의 인터럽트 처리와 컴퓨터의 동작 속도를 장치의 속도와 동등하게 맞추도록 요구하는 장치를 관리할 수 있다. 보다 진보된 UART들은 일정량의 데이터 버퍼링을 제공함으로써, 컴퓨터와 직렬 장치들의 데이터 스트림이 대등하도록 맞추어준다. 가장 최근의 UART인 16550은 16 바이트 버퍼를 가지고 있어서, 컴퓨터 프로세서가 처리하기 전에 데이터를 가지고 있을 수 있다. 원래의 UART는 8250이었다. 내장 모뎀을 살 때, 그 안에 16550 UART가 포함되어 있을 수 있다. 모뎀 제작회사인 US Robotics에 따르면, 외장 모뎀에는 UART가 포함되지 않는다고 한다. 만약 오래된 컴퓨터를 가지고 있다면, 외장 모뎀이 지원하지 않는 기능을 얻기 위해 내장 16550을 추가해야 할 경우도 있다.