문제 1: DMA의 기본 개념
문제: 다음 중 DMA(Direct Memory Access)에 대한 설명으로 옳지 않은 것은 무엇인가요?
- DMA는 입출력 장치와 메모리 간에 데이터를 직접 전송할 수 있는 기술이다.
- DMA는 데이터를 전송할 때 CPU를 거쳐야 한다.
- DMA를 사용하면 CPU의 부하를 줄일 수 있다.
- DMA 전송이 끝나면 CPU에게 인터럽트를 발생시켜 전송 완료를 알린다.
정답: 2번
해설: DMA는 CPU를 거치지 않고 입출력 장치와 메모리 간에 직접 데이터 전송을 수행합니다. 그래서 CPU의 부하를 줄일 수 있고, 인터럽트를 통해 전송이 완료되었음을 알리지만, CPU를 거쳐야 하는 것은 아닙니다.
문제 2: DMA의 동작 방식
문제: DMA가 데이터 전송을 수행하는 과정에서 CPU가 하는 역할로 옳지 않은 것은 무엇인가요?
- DMA 컨트롤러에 전송할 데이터의 주소를 설정한다.
- 데이터 전송 중에는 CPU가 개입하지 않는다.
- 데이터 전송이 완료되면 DMA가 CPU에게 인터럽트를 발생시킨다.
- DMA가 데이터 전송을 완료한 후 CPU가 전송을 시작한다.
정답: 4번
해설: DMA는 데이터 전송을 완료한 후 CPU에게 인터럽트를 발생시킵니다. 데이터 전송이 시작되면 DMA 컨트롤러가 데이터를 직접 전송하고, CPU는 전송 과정에서 개입하지 않습니다. CPU는 전송을 시작하지 않으며, 전송 완료 후에만 개입합니다.
문제 3: DMA의 종류
문제: 다음 중 DMA의 전송 방식에 대한 설명으로 옳지 않은 것은 무엇인가요?
- 단방향 DMA는 데이터를 한 방향으로만 전송한다.
- 양방향 DMA는 메모리와 I/O 장치 간에 양방향으로 데이터 전송을 한다.
- 블록 전송 방식은 데이터를 한 번에 모두 전송한다.
- 인터럽트 방식은 CPU가 데이터 전송을 전담한다.
정답: 4번
해설: 인터럽트 방식은 CPU가 데이터 전송을 전담하는 방식이 아니라, DMA 전송이 완료되었을 때 CPU에게 인터럽트를 발생시켜 알려주는 방식입니다. 이 방식은 CPU가 전송을 처리하지 않고, DMA가 데이터를 직접 전송합니다.
문제 4: DMA 우선순위
문제: DMA가 메모리와 입출력 장치 간에 데이터를 전송할 때, CPU와 DMA 간의 충돌을 방지하는 방법으로 옳은 것은 무엇인가요?
- DMA와 CPU가 동시에 메모리에 접근하지 않도록 DMA 우선순위를 설정한다.
- CPU가 메모리에 데이터를 쓸 때 DMA가 데이터를 읽지 못하도록 메모리 보호 모드를 활성화한다.
- DMA 전송을 CPU가 전담하도록 설정하여 충돌을 피한다.
- DMA가 데이터를 전송하는 동안 CPU는 전혀 작업을 하지 않도록 설정한다.
정답: 1번
해설: DMA 우선순위를 설정하여 DMA가 CPU보다 먼저 메모리와 입출력 장치 간의 데이터 전송을 수행하게 할 수 있습니다. 이를 통해 CPU와 DMA 간의 충돌을 방지합니다.
문제 5: DMA 전송 완료 후 CPU의 동작
문제: DMA 전송이 완료된 후, CPU가 해야 할 동작으로 옳은 것은 무엇인가요?
- DMA 전송을 계속해서 이어서 진행한다.
- 전송 완료 신호를 받아서 데이터를 처리한다.
- DMA의 작업을 중지시킨다.
- DMA가 데이터를 전송하는 동안 아무 작업도 하지 않는다.
정답: 2번
해설: DMA 전송이 완료되면 DMA 컨트롤러는 CPU에 인터럽트 신호를 보내 전송이 완료되었음을 알립니다. CPU는 이 신호를 받아서 후속 작업을 수행하게 됩니다. 데이터 처리, 후속 명령어 실행 등이 그 예입니다.
문제 6: DMA의 장점
문제: DMA의 주요 장점으로 가장 적합한 것은 무엇인가요?
- 데이터 전송을 CPU가 전담하므로 효율적이다.
- 메모리와 I/O 장치 간의 전송에 있어 CPU의 개입을 최소화한다.
- DMA는 CPU의 부하를 증가시킨다.
- DMA는 CPU와 메모리 간의 전송만 가능하다.
정답: 2번
해설: DMA는 CPU의 개입을 최소화하여 메모리와 I/O 장치 간의 전송을 효율적으로 처리할 수 있습니다. CPU가 다른 작업을 처리하는 동안 DMA는 데이터를 직접 전송하므로 시스템의 성능을 최적화할 수 있습니다.
문제 7: DMA 사용 시 주의할 점
문제: DMA를 사용할 때, CPU와 DMA가 동시에 메모리에 접근할 경우 발생할 수 있는 문제로 옳은 것은 무엇인가요?
- CPU와 DMA가 동시에 메모리를 사용할 수 없으며, 충돌이 발생할 수 있다.
- DMA가 우선하여 메모리 접근을 수행하고, CPU는 대기한다.
- CPU가 우선하여 메모리 접근을 수행하고, DMA는 대기한다.
- 메모리 충돌이 없으며, CPU와 DMA가 동시에 데이터를 전송할 수 있다.
정답: 1번
해설: CPU와 DMA가 동시에 메모리에 접근하는 경우, 메모리 충돌이 발생할 수 있습니다. 이를 방지하기 위해 DMA 우선순위를 설정하거나, DMA와 CPU의 동기화를 고려해야 합니다.
문제 8: DMA 사용 예시
문제: 다음 중 DMA를 활용하는 예시로 적합한 것은 무엇인가요?
- 데이터를 CPU가 직접 전송하는 방식
- 대량의 데이터를 빠르게 메모리로 전송하는 경우
- I/O 장치와 CPU 간에 인터럽트를 처리하는 경우
- CPU가 입출력 장치와의 데이터를 처리하는 경우
정답: 2번
해설: DMA는 대량의 데이터를 빠르게 메모리와 I/O 장치 간에 전송하는 경우에 유리합니다. CPU가 데이터를 직접 처리하지 않고, DMA가 효율적으로 데이터 전송을 담당합니다.
문제 9: DMA와 CPU의 상호작용
문제: DMA에서 데이터 전송을 완료한 후 CPU가 해야 할 일로 옳은 것은 무엇인가요?
- CPU는 데이터를 처리할 준비가 된 상태에서 DMA가 전송을 완료할 때까지 대기한다.
- CPU는 데이터 전송을 시작한 후 DMA에게 전송을 맡긴다.
- CPU는 DMA 전송이 완료되면 해당 데이터에 대해 후속 작업을 처리한다.
- CPU는 DMA의 작업을 종료시키고 다른 작업을 시작한다.
정답: 3번
해설: DMA는 데이터를 전송한 후, CPU에 인터럽트를 발생시켜 데이터 전송 완료를 알립니다. CPU는 이를 받아 후속 작업을 처리합니다.
문제 10: DMA 시스템에서의 인터럽트
문제: DMA에서 인터럽트를 사용하는 이유는 무엇인가요?
- DMA 전송이 완료되었음을 CPU에게 알리기 위해서
- DMA 전송 중 CPU가 데이터를 변경할 수 있도록 하기 위해서
- CPU의 데이터를 보호하기 위해서
- CPU와 DMA가 메모리를 동시에 사용할 수 있도록 하기 위해서
정답: 1번
해설: 인터럽트는 DMA 전송이 완료되었을 때 CPU에게 알리기 위해 사용됩니다. DMA가 데이터를 전송한 후, CPU는 인터럽트를 받아 전송 완료 후 작업을 수행할 수 있습니다.
'컴퓨터 > 컴퓨터 시험' 카테고리의 다른 글
정보처리 기능사 - 인터럽트(Interrupt) 문제 (0) | 2025.03.05 |
---|---|
정보처리 기능사 - 인터럽트(Interrupt) (0) | 2025.03.04 |
정보처리 기능사 - DMA(Direct Memory Access) (0) | 2025.02.06 |
정보처리 기능사(주소지정방식) 문제 (0) | 2025.02.05 |
정보처리 기능사(주소지정방식) (0) | 2025.02.05 |