LabHub

컴퓨터 구조 · 입출력과 버스 · 퀴즈

퀴즈: 입출력과 버스

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 초당 수십만 개의 패킷이 도착하는 네트워크 카드에서 인터럽트만 쓰면 어떤 문제가 생기는가?

    1. 패킷 순서가 뒤바뀌어 애플리케이션이 재정렬해야 한다
    2. DMA 가 비활성화되어 CPU 가 직접 데이터를 복사한다
    3. 인터럽트 처리 비용이 누적되어 시스템이 유용한 일을 못 하게 된다
    4. 체크섬 검증이 생략되어 손상된 패킷이 그대로 올라온다
  2. DMA 를 사용하는 주된 이유는?

    1. 전송 오류를 자동으로 정정하려고
    2. 데이터 전송 중에도 CPU 가 다른 일을 할 수 있게 하려고
    3. 장치의 대역폭 자체를 늘리려고
    4. 인터럽트를 완전히 없애려고
  3. 드라이버 코드에서 장치 상태 레지스터를 while 루프 안에서 계속 읽고 있다. 성능 관점에서 가장 정확한 지적은?

    1. 메모리 접근이므로 캐시에 올라가 두 번째부터는 싸다
    2. 컴파일러가 루프를 자동으로 제거해 준다
    3. MMIO 읽기는 캐시되지 않고 매번 버스 왕복이 필요하므로 그 루프는 I/O 왕복의 반복이다
    4. 루프 횟수만큼 인터럽트가 발생한다
  4. GPU 를 x16 대신 x4 슬롯에 장착했을 때 예상되는 증상은?

    1. GPU 의 연산 성능 자체가 4분의 1로 떨어진다
    2. GPU 메모리 용량이 줄어든다
    3. 호스트와 GPU 사이의 데이터 전송 대역폭이 줄어 전송이 병목이 된다
    4. 아무 차이가 없다
  5. 여러 GPU 를 묶어 학습할 때 NVLink 같은 전용 인터커넥트를 쓰는 이유는?

    1. PCIe 는 GPU 간 직접 통신을 아예 지원하지 않기 때문
    2. NVLink 가 GPU 메모리를 합쳐 하나로 만들어 주기 때문
    3. 카드 간 데이터 교환량이 커서 PCIe 대역폭이 병목이 되기 때문
    4. PCIe 는 전력 공급이 부족하기 때문
  6. 폴링 방식이 인터럽트보다 나은 상황으로 가장 적절한 것은?

    1. 장치가 아주 드물게, 예측할 수 없는 시점에 데이터를 보낼 때
    2. 지연에 극도로 민감하고 데이터가 거의 끊임없이 도착할 때
    3. CPU 코어가 하나뿐일 때
    4. 장치가 DMA 를 지원하지 않을 때