I/O 인터페이스와 버스

PCI Express에서 64바이트의 작은 데이터를 쓰는 패킷을 다수 보내면 실효 대역이 이론값보다 상당히 작아집니다. 그 주된 이유는 무엇입니까?

  1. A64바이트 데이터는 PCI Express로 보낼 수 없기 때문
  2. B패킷마다 헤더와 오류 검출 부호 등이 붙어 데이터에 비해 그 비율이 커지기 때문
  3. C작은 패킷은 반드시 틀려서 매번 다시 보내게 되기 때문
정답과 해설 보기

정답: B. 패킷마다 헤더와 오류 검출 부호 등이 붙어 데이터에 비해 그 비율이 커지기 때문

PCI Express의 패킷에는 데이터 외에 주소와 종류를 나타내는 헤더, 데이터 링크 계층의 일련번호와 CRC, 물리 계층의 구분자 등이 붙어 합하면 20~30바이트 정도가 됩니다. 데이터가 64바이트라면 보내는 비트의 3할 안팎이 데이터 이외가 됩니다. 256바이트 이상의 묶음 전송으로 하면 낭비 비율이 작아집니다. 이것도 대역뿐 아니라 패킷 크기에 주의해야 하는 이유입니다.

  • A. 64바이트도 문제없이 보낼 수 있습니다.
  • B. 올바릅니다. 큰 패킷일수록 효율이 좋아집니다.
  • C. 작다고 틀리는 것은 아닙니다.
이 분야 연습하기 분야로 돌아가기

I/O 인터페이스와 버스의 다른 문제

  1. 네트워크 카드나 NVMe SSD 등에서 널리 사용되는, 메모리 상의 기술자(디스크립터) 링을 사용한 DMA 구조에 대해 올바른 것은 무엇입니까?
  2. PCI Express 링크의 절전 기능(ASPM에 의한 L0s나 L1 상태)에 대해 올바른 것은 무엇입니까?
  3. 칩이나 보드 사이의 고속 연결이 많은 선을 나란히 두는 병렬 전송에서, 적은 선에 빠른 신호를 흘리는 직렬 전송으로 옮겨 온 주된 이유는 무엇입니까?
  4. 고속 직렬 전송에서 사용되는 SerDes(시리얼라이저/디시리얼라이저)의 역할로 올바른 것은 무엇입니까?
  5. 고속 직렬 전송에서 2개의 선에 반대 방향의 신호를 흘리는 차동 신호가 사용되는 주된 이유는 무엇입니까?

이 분야의 비교