장치 컨트롤러 ; 입출력 장치를 다루기 위한 제어기
- 입출력장치는 종류가 너무 많고 / 전송률이 CPU 대비 너무 낮기 때문
- 전송률 ; 데이터를 얼마나 빨리 교환하는 지
- 입출력 제어기 / 입출력 모듈 등으로 불림
장치 컨트롤러 역할
1 CPU-입출력 장치 간의 통신 중개
2 오류 검출
3 데이터 버퍼링 ; CPU와 장치 사이의 데이터를 버퍼에 임시저장하여 전송률을 맞추는 방법
장치 컨트롤러 레지스터
- 데이터 레지스터 ; 버퍼 역할 / 데이터가 많은 입출력장치는 RAM을 쓰기도 함
- 상태 레지스터 ; 작업 할 준비가 되었는지 / 작업이 완료되었는지 / 오류 있는지 상태 정보 저장
- 제어 레지스터 ; 입출력 장치가 수행할 제어 정보와 명령을 저장
장치 드라이버 ; 장치 컨트롤러의 동작을 감지하고 제어하는 프로그램
입출력
1 프로그램 입출력 ; 프로그램 속 명령어로 입출력장치를 제어하는 방법
- CPU가 모든 입출력장치의 레지스터를 알기 어렵다 !
- 메모리 맵 입출력 : 메모리에 입출력장치에 접근하기 위한 주소 공간을 마련
메로리와 입출력장치 접근 명령어가 같다
- 고립형 입출력 : 입출력장치 제어버스를 다르게 씀
메모리와 입출력장치 접근 명령어가 다르다
2 인터럽트 기반 입출력 ;
- PIC ; 프로그래머블 인터럽트 컨트롤러
3 DMA 입출력 ; 다이렉트 메모리 액세스
- CPU를 거치지 않고 입출력장치와 메모리 사이 전송되는 데이터를 옮김
- DMA 컨트롤러는 CPU와 시스템 버스를 공유하여 CPU에게 명령어를 받는다
- DMA와 CPU가 통신하여 시스템 버스를 언제 사용할지를 따로 스케줄링
- 최근 컴퓨터는 DMA와 다른 입출력장치를 연결하는 입출력 버스가 따로 있어서
시스템버스의 사용 부하를 줄임
'IT 공부 > 컴퓨터구조(완)' 카테고리의 다른 글
알고리즘 13 탐욕 알고리즘 (0) | 2025.03.30 |
---|---|
컴퓨터 구조 7 보조기억장치 (0) | 2025.02.17 |
컴퓨터 구조 6 RAM (0) | 2025.02.15 |
컴퓨터 구조 5 CISC / RISC (0) | 2025.02.13 |
컴퓨터 구조 4 CPU 성능향상 기법_1 (0) | 2025.02.08 |