데이터를 이루는 여러 비트를 실어 보낼 때, 하나의 통신선에 순서대로 실을 수도 있고 여러 통신선에 동시에 나눠 실을 수도 있다. 전자를 직렬(serial) 통신, 후자를 병렬(parallel) 통신이라 한다.

구분직렬 통신병렬 통신
데이터 선1개(또는 송수신 한 쌍)로 비트를 순서대로 전송[1]비트 수만큼 여러 선으로 동시에 전송[2]
배선·구현 비용선이 적어 저렴하고 단순선이 많아 고비용, 커넥터도 커짐
대표 예시UART, CAN, EthernetIEEE 1284 병렬 포트

직렬 통신은 하나의 통신선에서 한 번에 한 비트씩 순서대로 데이터를 전송한다. UART가 대표적인 예로, 한 프레임의 데이터 비트를 최하위 비트부터 차례로 실어 보낸다[1]. 선이 하나(또는 송수신 한 쌍)면 충분해 배선이 단순하고 저렴하지만, 같은 클럭 속도에서는 병렬보다 비트 전송 자체가 느리다.

병렬 통신은 여러 통신선에서 동시에 여러 비트를 전송한다. IEEE 1284는 개인용 컴퓨터와 프린터 등 주변기기를 잇는 양방향 병렬 인터페이스의 신호 방식을 표준화했다[2]. 데이터 선 수만큼 한 번에 비트를 실어 보낼 수 있어 이론적으로는 직렬보다 빠르지만, 선 수가 늘어난 만큼 배선·커넥터 비용이 커지고 구현도 복잡해진다.

CAN·LIN·Ethernet 같은 자동차 버스 프로토콜은 배선 비용을 줄이기 위해 모두 직렬 방식을 쓴다 — CAN은 두 가닥의 연선[3], LIN은 단일 배선[4], Ethernet은 단일 연선 케이블로 통신한다[5].

직렬 통신에서 여러 비트가 한 선을 타고 연속으로 도착할 때 각 비트의 경계를 구별하는 방법은 Synchronous vs Asynchronous Transmission에서 다룬다.

참고문헌

[1]
T. Hiers, “SPRA633C — TMS320C620x/C642x McBSP: UART”, 2008.
[2]
IEEE, “IEEE Std 1284-1994 — IEEE Standard Signaling Method for a Bidirectional Parallel Peripheral Interface for Personal Computers”, 1994.
[3]
S. Corrigan, “SLOA101B — Introduction to the Controller Area Network (CAN)”, 2016.
[4]
LIN Consortium, “LIN Specification Package, Revision 2.2A”, 2010.
[5]
IEEE, “IEEE 802.3bw-2015 — IEEE Standard for Ethernet Amendment 1: Physical Layer Specifications and Management Parameters for 100 Mb/s Operation over a Single Balanced Twisted Pair Cable (100BASE-T1)”, 2015.