[CA/OS 목차]
개념 : 입출력 시간의 개선을 위한
- CPU가 주변장치를 제어하고 데이터를 처리하기 위해 입출력제어
필요성
- 데이터 처리에서 입출력은 반드시 필요하지만 중앙처리장치에 비해 많은 시간적 차이 있으며 또한 입출력 장치는 자율적으로 동작하므로 중앙처리장치에서처럼 동기화시켜 일률적 제어할 수 없음
- 입출력동작시간은 전체데이터처리시간에 비해 큰비중을 차지하기 때문에 입출력장치가 효율적으로 동작할수 있도록 제어하는 것이 매우 중요
입출력 제어방식 유형
- CPU 와 주변 장치의 처리 속도 차이로 인해, 주변장치와 시스템 특성에 따른 적절한 입출력 방식 필요
구분 | 입출력 제어방식 | 설명 |
중앙처리장치 관여 | Programmed I/O 방식 | 중앙처리장치 구동 프로그램에 의한 입출력 제어 |
중앙처리장치 독립적 |
인터럽트 I/O 방식 | 주변장치의 인터럽트 신호를 이용한 입출력 제어 |
DMA 방식 | 주변장치와 메모리간 직접 접근 | |
채널제어 방식 | 주변장치가 연결된 채널 제어기를 이용해 입출력 제어 |
- I/O제어방식 중 DMA방식과 채널 제어방식이 대표적임
프로그램 입출력(PIO, Programmed I/O)
- 입출력 동작의 모든 과정을 CPU가 통제하고 개입하는 가장 단순한 방식
인터럽트 구동 입출력(Interrupt driven I/O)
- CPU는 I/O 모듈에 입출력 명령을 보낸 후, 입출력장치가 입출력 준비를 할 때까지 신경쓰지 않고 다른 작업을 수행
- 입출력 장치가 입출력 준비를 하게 되면 I/O 모듈이 인터럽트를 요청
- 인터럽트가 발생하면 CPU는 수행하던 작업을 멈추고 데이터 전송에 개입
(1) 데이지 체인(Daisy Chain)
- CPU는 인터럽트 요청(INTR)에 대한 응답으로 인터럽트 승인(INTACK) 신호 전송
- INTA 출력선을 I/O 제어기들에 직렬로 접속하는 방식
(2) 다중 인터럽트
- 각 I/O 제어기와 CPU 사이에 별도의 인터럽트 요구(INTR)선과 인터럽트 확인(INTA) 선을 접속하여 장치별 인터럽트 처리
(3) 소프트웨어 폴링(Polling)
- CPU가 모든 I/O 제어기들에 접속된 TEST I/O 선을 이용하여 인터럽트를 요구한 장치를 검사하는 방식
직접 메모리 접근(DMA, Direct Memory Access)
- CPU의 개입 없이, 기억장치와 입출력 모듈 간의 데이터 전송을 별도의 하드웨어인 DMA 제어기가 처리
- DMA 제어기가 버스 제어권을 획득하여 중앙처리장치의 개입 없이 주변장치와 메모리간 직접 데이터를 전송하는
입출력 제어 방식
채널 제어방식
- 여러 주변장치가 연결되어 있는 채널제어기에 입출력 명령을 전달하여 CPU 의 개입없이 입출력을 수행하는 방식
'메가노트 > 토픽과제(정리)' 카테고리의 다른 글
스토리지 가상화(안혜진 선임님) (0) | 2022.11.12 |
---|---|
SoC(문경숙 수석님) (0) | 2022.11.12 |
입출력 인터페이스(이상희 부장님) (0) | 2022.11.12 |
기억장치 관리기법(이재용 부장님) (0) | 2022.11.12 |
기억장치 분할(배준호 대리님) (0) | 2022.11.12 |