[CS] Data Transmission

Data Transmission

데이터를 한 지점에서 다른 지점으로 보내는 방법에 대해 알아보자.

데이터 전송에서 살펴볼 주제들은 아래와 같다.

  • Serial Parallel
    • [직렬 Serial](#Serial)
    • [병렬 Parallel](#Parallel)
  • Synchronous Asynchronous Isochronous
    • [동기 Synchronous](#Synchronous)
    • [비동기 Asynchronous](#Asynchronous)
    • [등시성 Isochronous](#Isochronous)

data-transmission

Serial | Parallel

Digital Data 즉, 0과 1의 데이터를 보낼때는 고려해야 할 점들이 많다. 예를들어 한번에 데이터를 몇 개씩 전송할 것인지? 데이터를 보낼때 묶어서 보낼 것인지? 배선의 형태는 어떤 것을 선택할 것인지 등이 있다.

데이터 전송방식은 직렬전송 또는 병렬전송의 방법중 선택할 수 있다. 직렬 처리가 분기해서 병렬이 되거나 병렬이 다시 합류하여 직렬이 되기도 한다.

직렬과 병렬, 각각의 장단점에 대해 알아보자.

Serial

직렬 전송 : 1차선 도로
데이터(비트들)가 하나의 통로로만 직렬로 줄지어진채 전송된다.
serial-data

직렬 전송 방식은 3가지로 나눌 수 있다.
(각각에 대해서는 아래에서 자세히 알아보도록 하겠다.)

  1. 동기식 Synchronous
  2. 비동기식 Asynchronous
  3. 등시식 Isochronous

직렬 전송의 특징

직렬 전송의 예

Parallel

병렬 전송 : 2차선 이상의 도로
데이터가 2개 이상의 병렬로 늘여놓아진 통로를 통해 전송된다.

웹 서비스는 수많은 사용자들의 요청을 처리하기 위해 많은 서버를 배치하여 병렬로 처리한다. 병렬화만 한다고 성능이 향상되지는 않는다. CPU 코어나 서버를 병렬화 할 때는 ‘병렬화한 하드웨어들을 어떻게 효율적으로 활용하느냐’에 대해 관심을 가져야 한다.

병렬 전송의 특징

병렬 전송의 예

Synchronous | Asynchronous | Isochronous

Synchronous

동기

Asynchronous

비동기

Isochronous

등시성