입출력장치
입출력장치는 장치 컨트롤러를 통해 컴퓨터 내부와 정보를 주고 받음
장치 컨트롤러
- CPU와 입출력장치 간의 통신 중개
- 오류 검출
- 데이터 버퍼링(전송률이 높은 장치와 낮은 장치에 주고받는 데이터를 버퍼에 저장해 전송률을 비슷하게 맞춤)
- 데이터 레지스터, 상태 레지스터, 제어 레지스터로 구성
장치 드라이버
장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 하는 프로그램
입출력 방법
- 프로그램 입출력 방식
- 프로그램 속 명령어로 입출력장치를 제어
- 메모리 맵 입출력: 메모리에 접근하는 명령어와 입출력 장치에 접근하는 명령어가 동일
- 고립형 입출력: 메모리에 접근하는 명령어와 다른 입출력 명령어를 사용
- 인터럽트 기반 입출력
- 장치 컨트롤러가 입출력 작업을 끝낸 뒤 CPU에게 인터럽트 요청 신호를 보내면 CPU는 하던일을 백업하고 인터럽트 서비스 루틴을 실행
- PIC(Programmable Interrupt Controller)로 우선순위를 반영해 다중 인터럽트 처리
- DMA 입출력
- CPU를 거치지 않고 메모리와 입출력장치 간의 데이터를 주고받는 입출력 방식
- CPU는 DMA 컨트롤러에게 입출력 작업 명령을 내리고 인터럽트만 받음
- 입출력 버스 사용
반응형
'CS > 컴퓨터구조' 카테고리의 다른 글
[컴퓨터구조] 메모리(RAM), 캐시 메모리 (1) | 2024.02.08 |
---|---|
[컴퓨터구조] CPU의 구성 요소, 작동 원리 (0) | 2024.02.08 |
[컴퓨터 구조] 명령어란? (0) | 2022.09.07 |
[컴퓨터 구조] 0과 1로 데이터를 표현하는 방법 (0) | 2022.09.06 |