교대최소제곱법
[컴퓨터 시스템 part 4] 입출력장치 본문
입출력장치
보조기억장치도 입출력장치임!
장치 컨트롤러 → 입출력장치와 cpu를 연결해주는 장치 + 데이터 버퍼
장치 컨트롤러 : 버스에 연결됨 - 데이터, 상태, 제어 레지스터
장치 드라이버 : 장치 컨트롤러를 제어하는 프로그램 + 운영체제가 이해할 수 있도록
입출력 방식
- 프로그램 입출력 : 명령어로 장치 컨트롤러를 제어 → 레지스터에 직접 씀
- 메모리 맵 입출력 : 같은 메모리 위치에 입출력장치를 위한 주소 공간을 사용
- 고립형 입출력 : 메모리를 두 개 사용 (메모리, 입출력장치) → 대신 입출력 전용 명령어를 사용
- 인터럽트 기반 입출력
- 순차적으로 처리하는건 현실적이지 않음PIC는 여러 장치 컨트롤러와 연결 → 인터럽트가 하나로 모여서 정리해서 cpu에게 알려줌
- PIC → PIC → cpu 같이 여러개의 PIC를 활용하기도 함
- 우선순위를 반영하여 기존에 인터럽트를 처리하고 있어도 멈추고 진행시킴 → PIC 하드웨어를 사용
- DMA 입출력 : cpu를 거치지 않고 메모리에 직접적으로 접근
- DMA 컨트롤러 = 척수, 세컨 브레인 같은거네 외주를 주는거임
- 근데 DMA도 시스템버스를 활용하는데?
- cpu가 시스템 버스를 안 쓸 때 이용
- 허락을 구하고 시스템 버스를 이용(사이클 스틸링)
근데 시스템 버스는 하나인데 너무 많이 연결되는거 아님?
= 입출력 버스를 사용하자 → PCI 버스, PCI express(PCIe)
+ 요즘에는 DMA가 발전해서 DMA가 cpu급으로 발전
DMA : 입출력장치에 달린 CPU라고 생각
'CS 기초 > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 시스템 part 3] 보조기억장치 (0) | 2023.09.08 |
---|---|
[컴퓨터 시스템 part 2] 메모리 RAM (0) | 2023.09.08 |
[컴퓨터 시스템 part 1] CPU (0) | 2023.09.08 |