728x90
반응형
기본적인 입출력 제어 방식
메모리에서 데이터를 꺼낸 후 시스템 버스를 통해 CPU 레지스터에 옮겨지고 다시 시스템 버스를 통해 다시 시스템 버스를 통해 CPU 레지스터에서 메모리로 이동한다.
이처럼 모든 메모리 접근 연산이 CPU에 의해서만 이루어질 경우 주변 장치가 메모리 접근을 원할 때마다 인터럽트를 통해 CPU의 작업이 방해받게 되어 사용 효율성이 떨어진다.
DMA
메모리 버퍼, 포인터, 카운터를 사용해 장치 제어기가 CPU의 도움없이 DMA 컨트롤러를 이용해 데이터를 직접 메모리로 전송하는 입출력 방식을 말한다.
DMA의 필요성
- 고속의 I/O 장치의 경우 인터럽트로 CPU의 실제 프로세스 작업 시간 감소
- 디스크 같은 많은 데이터를 입/출력하는 장치를 위해 CPU가 매번 전송을 제어하는 방법의 비효율성
- 인터럽트 방식이 프로그램에 의한 입출력 방식보다 효율적이지만 입출력을 위한 상태, 제어정보, 데이터 전송을 위해 능동적인 CPU 개입이 필요
DMA 특징
- 프로그램 수행 중 인터럽트의 발생 횟수 최소화 및 시스템 효율성을 증대시킨다.
- CPU의 개입 없이 입출력장치와 주 기억장치와의 데이터 직접 전송이 가능하다.
728x90
반응형
'CS > 운영체제' 카테고리의 다른 글
[CS/운영체제] 프로세스 (0) | 2024.01.18 |
---|---|
[CS/운영체제] 동기 I/O와 비동기 I/O (0) | 2024.01.11 |
[CS/운영체제] 폴링과 인터럽트 (0) | 2024.01.11 |
[CS/운영체제] 운영체제의 분류 (1) | 2024.01.11 |
[CS/운영체제] 운영체제의 역할과 구조 (1) | 2024.01.11 |