본문 바로가기

컴퓨터/컴퓨터 시험

정보처리 기능사 - DMA(Direct Memory Access) 문제

728x90

문제 1: DMA의 기본 개념

문제: 다음 중 DMA(Direct Memory Access)에 대한 설명으로 옳지 않은 것은 무엇인가요?

  1. DMA는 입출력 장치와 메모리 간에 데이터를 직접 전송할 수 있는 기술이다.
  2. DMA는 데이터를 전송할 때 CPU를 거쳐야 한다.
  3. DMA를 사용하면 CPU의 부하를 줄일 수 있다.
  4. DMA 전송이 끝나면 CPU에게 인터럽트를 발생시켜 전송 완료를 알린다.

정답: 2번
해설: DMA는 CPU를 거치지 않고 입출력 장치와 메모리 간에 직접 데이터 전송을 수행합니다. 그래서 CPU의 부하를 줄일 수 있고, 인터럽트를 통해 전송이 완료되었음을 알리지만, CPU를 거쳐야 하는 것은 아닙니다.


문제 2: DMA의 동작 방식

문제: DMA가 데이터 전송을 수행하는 과정에서 CPU가 하는 역할로 옳지 않은 것은 무엇인가요?

  1. DMA 컨트롤러에 전송할 데이터의 주소를 설정한다.
  2. 데이터 전송 중에는 CPU가 개입하지 않는다.
  3. 데이터 전송이 완료되면 DMA가 CPU에게 인터럽트를 발생시킨다.
  4. DMA가 데이터 전송을 완료한 후 CPU가 전송을 시작한다.

정답: 4번
해설: DMA는 데이터 전송을 완료한 후 CPU에게 인터럽트를 발생시킵니다. 데이터 전송이 시작되면 DMA 컨트롤러가 데이터를 직접 전송하고, CPU는 전송 과정에서 개입하지 않습니다. CPU는 전송을 시작하지 않으며, 전송 완료 후에만 개입합니다.


문제 3: DMA의 종류

문제: 다음 중 DMA의 전송 방식에 대한 설명으로 옳지 않은 것은 무엇인가요?

  1. 단방향 DMA는 데이터를 한 방향으로만 전송한다.
  2. 양방향 DMA는 메모리와 I/O 장치 간에 양방향으로 데이터 전송을 한다.
  3. 블록 전송 방식은 데이터를 한 번에 모두 전송한다.
  4. 인터럽트 방식은 CPU가 데이터 전송을 전담한다.

정답: 4번
해설: 인터럽트 방식CPU가 데이터 전송을 전담하는 방식이 아니라, DMA 전송이 완료되었을 때 CPU에게 인터럽트를 발생시켜 알려주는 방식입니다. 이 방식은 CPU가 전송을 처리하지 않고, DMA가 데이터를 직접 전송합니다.


문제 4: DMA 우선순위

문제: DMA가 메모리와 입출력 장치 간에 데이터를 전송할 때, CPU와 DMA 간의 충돌을 방지하는 방법으로 옳은 것은 무엇인가요?

  1. DMA와 CPU가 동시에 메모리에 접근하지 않도록 DMA 우선순위를 설정한다.
  2. CPU가 메모리에 데이터를 쓸 때 DMA가 데이터를 읽지 못하도록 메모리 보호 모드를 활성화한다.
  3. DMA 전송을 CPU가 전담하도록 설정하여 충돌을 피한다.
  4. DMA가 데이터를 전송하는 동안 CPU는 전혀 작업을 하지 않도록 설정한다.

정답: 1번
해설: DMA 우선순위를 설정하여 DMA가 CPU보다 먼저 메모리와 입출력 장치 간의 데이터 전송을 수행하게 할 수 있습니다. 이를 통해 CPU와 DMA 간의 충돌을 방지합니다.


문제 5: DMA 전송 완료 후 CPU의 동작

문제: DMA 전송이 완료된 후, CPU가 해야 할 동작으로 옳은 것은 무엇인가요?

  1. DMA 전송을 계속해서 이어서 진행한다.
  2. 전송 완료 신호를 받아서 데이터를 처리한다.
  3. DMA의 작업을 중지시킨다.
  4. DMA가 데이터를 전송하는 동안 아무 작업도 하지 않는다.

정답: 2번
해설: DMA 전송이 완료되면 DMA 컨트롤러는 CPU에 인터럽트 신호를 보내 전송이 완료되었음을 알립니다. CPU는 이 신호를 받아서 후속 작업을 수행하게 됩니다. 데이터 처리, 후속 명령어 실행 등이 그 예입니다.


문제 6: DMA의 장점

문제: DMA의 주요 장점으로 가장 적합한 것은 무엇인가요?

  1. 데이터 전송을 CPU가 전담하므로 효율적이다.
  2. 메모리와 I/O 장치 간의 전송에 있어 CPU의 개입을 최소화한다.
  3. DMA는 CPU의 부하를 증가시킨다.
  4. DMA는 CPU와 메모리 간의 전송만 가능하다.

정답: 2번
해설: DMA는 CPU의 개입을 최소화하여 메모리와 I/O 장치 간의 전송을 효율적으로 처리할 수 있습니다. CPU가 다른 작업을 처리하는 동안 DMA는 데이터를 직접 전송하므로 시스템의 성능을 최적화할 수 있습니다.


문제 7: DMA 사용 시 주의할 점

문제: DMA를 사용할 때, CPU와 DMA가 동시에 메모리에 접근할 경우 발생할 수 있는 문제로 옳은 것은 무엇인가요?

  1. CPU와 DMA가 동시에 메모리를 사용할 수 없으며, 충돌이 발생할 수 있다.
  2. DMA가 우선하여 메모리 접근을 수행하고, CPU는 대기한다.
  3. CPU가 우선하여 메모리 접근을 수행하고, DMA는 대기한다.
  4. 메모리 충돌이 없으며, CPU와 DMA가 동시에 데이터를 전송할 수 있다.

정답: 1번
해설: CPU와 DMA가 동시에 메모리에 접근하는 경우, 메모리 충돌이 발생할 수 있습니다. 이를 방지하기 위해 DMA 우선순위를 설정하거나, DMA와 CPU의 동기화를 고려해야 합니다.


문제 8: DMA 사용 예시

문제: 다음 중 DMA를 활용하는 예시로 적합한 것은 무엇인가요?

  1. 데이터를 CPU가 직접 전송하는 방식
  2. 대량의 데이터를 빠르게 메모리로 전송하는 경우
  3. I/O 장치와 CPU 간에 인터럽트를 처리하는 경우
  4. CPU가 입출력 장치와의 데이터를 처리하는 경우

정답: 2번
해설: DMA는 대량의 데이터를 빠르게 메모리와 I/O 장치 간에 전송하는 경우에 유리합니다. CPU가 데이터를 직접 처리하지 않고, DMA가 효율적으로 데이터 전송을 담당합니다.


문제 9: DMA와 CPU의 상호작용

문제: DMA에서 데이터 전송을 완료한 후 CPU가 해야 할 일로 옳은 것은 무엇인가요?

  1. CPU는 데이터를 처리할 준비가 된 상태에서 DMA가 전송을 완료할 때까지 대기한다.
  2. CPU는 데이터 전송을 시작한 후 DMA에게 전송을 맡긴다.
  3. CPU는 DMA 전송이 완료되면 해당 데이터에 대해 후속 작업을 처리한다.
  4. CPU는 DMA의 작업을 종료시키고 다른 작업을 시작한다.

정답: 3번
해설: DMA는 데이터를 전송한 후, CPU에 인터럽트를 발생시켜 데이터 전송 완료를 알립니다. CPU는 이를 받아 후속 작업을 처리합니다.


문제 10: DMA 시스템에서의 인터럽트

문제: DMA에서 인터럽트를 사용하는 이유는 무엇인가요?

  1. DMA 전송이 완료되었음을 CPU에게 알리기 위해서
  2. DMA 전송 중 CPU가 데이터를 변경할 수 있도록 하기 위해서
  3. CPU의 데이터를 보호하기 위해서
  4. CPU와 DMA가 메모리를 동시에 사용할 수 있도록 하기 위해서

정답: 1번
해설: 인터럽트DMA 전송이 완료되었을 때 CPU에게 알리기 위해 사용됩니다. DMA가 데이터를 전송한 후, CPU는 인터럽트를 받아 전송 완료 후 작업을 수행할 수 있습니다.

728x90