1. 장치 컨트롤러, 드라이버
더보기
장치 컨트롤러는 CPU와 입출력장치 사이의 통신을 중개하는 하드웨어
- 여기서 입출력 장치는 보조기억장치를 포함
- 장치 컨트롤러내에 RAM이 존재하는 경우도 있음
- 정보를 주고받는 방법으로 프로그램 입출력, 인터럽트 기반 입출력, DMA 입출력 존재
장치 드라이버는 장치 컨트롤러가 컴퓨터 내부의 정보를 주고받을 수 있도록 하는 프로그램
1-1. 프로그램 입출력
더보기
프로그램 속 명령어로 입출력 작업을 수행하는 방법
프로그램 입출력 방식
1. 고립형 입출력
: 입출력장치, 메모리에 접근하는 주소를 별도의 주소 공간으로 간주하는 방식
2. 메모리 맵 입출력
: 메모리에 부여된 주소 공간의 일부를 입출력장치를 식별하기 위한 주소 공간으로 사용하는 방식
1-2. 인터럽트 기반 입출력
더보기
PIC로 다중 인터럽트를 처리하며 입출력 작업을 수행
프로그래머블 인터럽트 컨트롤러 (PIC)
: 장치 컨트롤러에서 보낸 하드웨어 인터럽트 요청들의 우선순위를 판별하여 CPU에게 지금 처리해야할 하드웨어가 무엇인지 알려주는 장치이다. 2개이상의 계층으로 구성된다.
1-3. DMA 입출력
더보기
직접 메모리에 접근할 수 있는 입출력 기능
Direct Memory Access의 약어로, 입출력을 위해서는 시스템 버스에 연결된 DMA 컨트롤러라는 하드웨어가 필요하다.
1. CPU가 DMA 컨트롤러에게 입출력장치의 주소, 수행할 연산, 연산할 메모리 주소 등의 정보와 함께 입출력 작업을 명령한다.
2. DMA 컨트롤러가 장치 컨트롤러와 상호작용하며 입출력 작업을 수행한다. 필요한 경우 메모리에 직접 접근하여 정보를 읽거나 쓴다.
3. DMA 컨트롤러는 입출력 작업이 끝나면 CPU에게 인터럽트를 걸어 작업이 끝났음을 알린다.
사이클 스틸링
: 시스템 버스는 동시에 사용할 수 없다. 따라서, DMA 컨트롤러는 CPU가 시스템 버스를 사용하지 않을 때 혹은 CPU가 시스템 버스를 양보하여 권한을 얻게 된다.
![]() |
2. 입출력 버스
더보기
컴퓨터의 입출력 장치와 연결된 통로
PCIe (Peripheral Component Interconnect express)
- PCIe 버전에 따라 최대 속도가 다르다.
- PCIe 버스는 여러 레인을 통해 정보를 주고 받는다.
- 레인 : PCIe 버스를 통해 정보를 송수신하는 단위
- "x레인 수"와 같이 표기. PCIe 4.0 x4는 4개의 레인을 활용하는 PCIe 4.0을 의미한다.
![]() |
본 내용은 "이것이 취업을 위한 컴퓨터 과학이다 with CS 기술면접"을 토대로 작성된 내용입니다
'컴퓨터 과학 > 컴퓨터구조' 카테고리의 다른 글
[컴퓨터구조] RAID 기법에 대해서 (0) | 2025.01.13 |
---|---|
[컴퓨터구조] 캐시 메모리에 대해서 (0) | 2025.01.08 |
[컴퓨터구조] 빅 엔디안 vs 리틀 엔디안 (0) | 2025.01.08 |
[컴퓨터구조] RAM의 종류에 대해서 (0) | 2025.01.08 |
[컴퓨터구조] CPU의 성능을 높이는 방법 (1) | 2025.01.07 |