I/O 인터페이스와 버스

PCI Express에서 사용되는 크레딧 방식 흐름 제어에 대한 설명으로 올바른 것은 무엇입니까?

  1. A수신 측이 버퍼의 빈 용량을 크레딧으로 송신 측에 알리고, 송신 측은 크레딧 범위 안에서만 패킷을 보낸다
  2. B송신 측은 수신 측의 상태와 관계없이 보내고, 넘친 패킷은 버린다
  3. C보내는 데이터의 양에 따라 이용자에게 요금을 청구한다
정답과 해설 보기

정답: A. 수신 측이 버퍼의 빈 용량을 크레딧으로 송신 측에 알리고, 송신 측은 크레딧 범위 안에서만 패킷을 보낸다

수신 측 버퍼가 가득 찼을 때 패킷을 보내면 버리고 다시 보내는 낭비가 생깁니다. 크레딧 방식에서는 수신 측이 「앞으로 이만큼 받을 수 있다」는 양을 송신 측에 알리고, 송신 측은 그 범위 안에서만 보내며, 수신 측은 처리하여 버퍼가 빌 때마다 크레딧을 돌려줍니다. 넘침이 일어나지 않으므로 버리고 재전송하는 수고가 없습니다.

  • A. 올바릅니다. 버퍼가 넘치는 일이 없습니다.
  • B. 넘치지 않게 하기 위한 구조입니다.
  • C. 돈의 크레딧과는 관계가 없습니다.
이 분야 연습하기 분야로 돌아가기

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

  1. AI용 GPU를 다수 연결하는 시스템에서 PCI Express와는 별도로 GPU끼리를 잇는 전용 고속 연결(NVIDIA의 NVLink 등)이 사용되는 주된 이유는 무엇입니까?
  2. PCI Express에서 64바이트의 작은 데이터를 쓰는 패킷을 다수 보내면 실효 대역이 이론값보다 상당히 작아집니다. 그 주된 이유는 무엇입니까?
  3. 네트워크 카드나 NVMe SSD 등에서 널리 사용되는, 메모리 상의 기술자(디스크립터) 링을 사용한 DMA 구조에 대해 올바른 것은 무엇입니까?
  4. PCI Express 링크의 절전 기능(ASPM에 의한 L0s나 L1 상태)에 대해 올바른 것은 무엇입니까?
  5. 칩이나 보드 사이의 고속 연결이 많은 선을 나란히 두는 병렬 전송에서, 적은 선에 빠른 신호를 흘리는 직렬 전송으로 옮겨 온 주된 이유는 무엇입니까?

이 분야의 비교