컴퓨터시스템기사 필기 06 — 컴퓨터 기억 및 입출력장치 (캐시·DMA·인터럽트·채널)
2과목 [2-2] 컴퓨터 기억 및 입출력장치 파트입니다.
DMA 동작 방식, 인터럽트 우선순위, 채널 종류는 매 회차 출제돼요.
기억장치 계층 구조
레지스터 (CPU 내부, 가장 빠름)
↓
캐시 메모리
↓
주기억장치 (RAM)
↓
보조기억장치 (HDD, SSD, 느림)
캐시 메모리 (Cache Memory) ⭐⭐
CPU와 주기억장치의 속도 차이를 줄이기 위한 고속 소형 기억장치예요.
캐시 사상(Mapping) 기법 ⭐⭐
| 방식 | 설명 | 특징 |
| 직접 매핑(Direct) | 블록이 지정된 하나의 캐시 라인에만 적재 | 구현 단순, 비용 적음, 적중률 낮음 |
| 연관 매핑(Associative) | 블록이 어떤 캐시 라인에든 적재 가능 | 적중률 높음, 하드웨어 복잡·고가 |
| 세트-연관 매핑(Set-Associative) | 직접+연관 절충 방식 | 실제 시스템에서 가장 많이 사용 |
캐시 쓰기 정책 ⭐
Write-Through — 캐시+주기억장치 동시 갱신
신뢰성↑, 쓰기 속도↓
Write-Back — 캐시에만 쓰고 교체 시 주기억장치 갱신
속도↑, 일관성 문제 가능
캐시 적중률 계산 ⭐⭐
평균 접근시간 Ta = Tc×H + Tm×(1-H)
캐시 미스율 = 1 - H
기출 문제
Q. 캐시 매핑 방식 중 주기억장치 블록이 어떤 캐시 라인에도 적재 가능한 방식은?
A. 연관 매핑(Associative Mapping)
Q. Write-Through 방식의 단점은?
A. 쓰기 동작 시 캐시와 주기억장치를 동시에 갱신하므로 쓰기 속도가 느려진다.
연관기억장치 (Associative Memory / CAM) ⭐
주소가 아닌 내용(Content)으로 검색하는 기억장치
CAM: Content Addressable Memory
캐시의 태그 검색에 활용
ROM 종류 ⭐
| 종류 | 특징 |
| Mask ROM | 제조사가 기록, 변경 불가 |
| PROM | 사용자가 1회만 기록 가능 |
| EPROM (UV) | 자외선으로 지운 후 재기록 |
| EEPROM | 전기적으로 지우고 재기록 |
| Flash Memory | 전자적 소자, 저전력, NOR/NAND 유형 |
NOR vs NAND Flash:
NOR — 랜덤 접근, 빠른 읽기, 느린 쓰기
NAND — 블록 단위 접근, 느린 읽기, 빠른 쓰기, 대용량
보조기억장치 접근시간 ⭐
접근시간 = 탐색시간(Seek) + 회전지연(Rotational Delay) + 전송시간(Transfer)
탐색시간: 헤드가 목표 트랙으로 이동하는 시간 (가장 오래 걸림)
입출력 제어 방식 ⭐⭐
| 방식 | CPU 관여 | 특징 |
| 프로그램 입출력(Polling) | 직접 관여 | CPU가 상태를 계속 확인 |
| 인터럽트 구동 | 부분 관여 | I/O 완료 시 인터럽트 발생 |
| DMA | 최소 | 대용량 전송, CPU 독립 |
| 채널 | 없음 | 대형 컴퓨터, I/O 전담 프로세서 |
DMA (Direct Memory Access) ⭐⭐⭐
DMA 동작 5단계
1. DMA 제어기 → CPU: BUS REQUEST (버스 사용 요청)
2. CPU → DMA 제어기: BUS GRANT (버스 사용 승인)
3. DMA 제어기가 주기억장치↔I/O 장치 직접 전송
4. 전송할 데이터가 남으면 계속, 없으면 완료
5. DMA 제어기 → CPU: INTERRUPT (전송 완료 알림)
DMA 동작 모드
버스트 모드 — 모든 데이터 연속 전송 후 버스 반환
사이클 스틸링 — 1개씩 전송할 때마다 버스를 잠시 가져옴
DMA 제어기 구성요소
주소 레지스터 — 접근할 주기억장치 번지
워드 카운트 레지스터 — 전송할 데이터 크기
제어 레지스터 — 전송 방향 (읽기/쓰기)
상태 레지스터 — DMA 동작 상태
기출 문제
Q. DMA 방식에서 전송이 완료되면 CPU에게 어떤 신호를 보내는가?
A. 인터럽트(INTERRUPT) 신호를 보낸다.
Q. DMA의 Cycle Stealing 방식이란?
A. DMA 제어기가 데이터를 하나씩 전송할 때마다 CPU로부터 버스 사이클을 잠시 가져와서 전송하는 방식이다.
채널 (Channel) ⭐⭐
DMA를 확장한 입출력 전담 프로세서(I/O Processor)예요.
채널 종류
| 종류 | 특징 |
| 선택 채널(Selector Channel) | 고속 장치(디스크/테이프) 전용, 한 번에 1개 장치 독점, 버스트 모드 |
| 바이트 다중 채널(Byte Multiplexer) | 여러 저속 장치 동시 처리, 바이트 단위 번갈아 처리 |
| 블록 다중 채널(Block Multiplexer) | 선택 채널 + 바이트 다중 채널 기능 동시 지원, 범용 |
기출 문제
Q. 여러 개의 저속 입출력장치를 동시에 처리하는 채널 방식은?
A. 바이트 다중 채널(Byte Multiplexer Channel)
인터럽트 (Interrupt) ⭐⭐⭐
인터럽트 종류
외부 인터럽트
전원 이상 인터럽트 — 정전, 전원 이상
기계 검사 인터럽트 — CPU 오류
외부 소스 인터럽트 — 타임슬라이스, 외부 장치
입출력 인터럽트 — I/O 완료 또는 오류
내부 인터럽트
프로그램 검사 — 오버플로우, 언더플로우
소프트웨어 인터럽트
SVC 인터럽트 — 사용자 프로그램이 OS에 서비스 요청
인터럽트 우선순위 ⭐ (높은 순)
전원 이상 → 기계 오류 → 외부 신호 → 입출력 → 프로그램 검사 → SVC
인터럽트 처리 순서 ⭐⭐
1. 인터럽트 요청 신호 발생 및 인식
2. 현재 명령 완료 후 프로그램 상태 저장
3. 인터럽트 서비스 루틴(ISR) 실행
4. ISR 실행 / PSW 해독
5. 보존한 복귀 주소로 복귀
6. 중단된 프로그램 재개
인터럽트 발생 시 저장 내용 ⭐
PC (다음 실행할 명령어 주소)
PSW (프로그램 상태 워드)
누산기(AC) 내용
플래그 레지스터 내용
기출 문제
Q. 인터럽트 우선순위가 가장 높은 것은?
A. 전원 이상(Power Fail) 인터럽트
Q. 사용자 프로그램이 운영체제에 서비스를 요청할 때 사용하는 인터럽트는?
A. SVC 인터럽트(Supervisor Call Interrupt)
입출력 주소 지정 방식 ⭐
Memory-Mapped I/O
→ 메모리와 I/O가 동일한 주소 공간 공유
→ 일반 메모리 명령어로 I/O 접근 가능
Isolated I/O (I/O Mapped I/O)
→ 메모리와 I/O가 별도의 주소 공간
→ 별도의 I/O 명령어(IN, OUT) 필요
💡 실무에서는?
인프라 SI 현장에서 서버에 대용량 데이터를 빠르게 쓰는 작업(예: 스토리지 대용량 복사)을 할 때 DMA가 핵심이에요. NAS나 SAN에서 파일을 대량 복사할 때 CPU를 거치지 않고 메모리↔스토리지 간 직접 전송하는 것이 DMA 원리예요. 인터럽트도 마찬가지로 — 보안 장비(IPS, WAF)에서 패킷이 들어올 때마다 인터럽트로 CPU에 알리는 구조라, 인터럽트 처리 비용이 성능에 직접 영향을 줘요.
핵심 정리
✅ 캐시 사상: 직접(단순/저적중) / 연관(고적중/고가) / 세트-연관(절충)
✅ Write-Through=동시갱신(느림) / Write-Back=나중갱신(빠름)
✅ DMA 5단계: BUS REQ → BUS GRANT → 직접전송 → 완료 → INTERRUPT
✅ 채널 3종: 선택(고속1개) / 바이트다중(저속多) / 블록다중(범용)
✅ 인터럽트 우선순위: 전원이상>기계오류>외부>입출력>프로그램>SVC
✅ 인터럽트 발생 시 저장: PC / PSW / AC / 플래그
✅ Memory-Mapped: 메모리명령어 사용 / Isolated: IN,OUT 별도 필요
다음 편에서는 컴퓨터 구조 응용 — RISC/CISC·Flynn분류·병렬처리·클라우드로 이어갑니다!
궁금한 점은 댓글로 남겨주세요!
2026.08.10 - [자격증 정복/컴퓨터시스템기사] - 컴퓨터시스템기사 필기 05 — 컴퓨터 프로세서 및 명령어 (레지스터·ALU·파이프라인·Flynn분류)
2026.08.09 - [자격증 정복/컴퓨터시스템기사] - 컴퓨터시스템기사 필기 04 — 시스템SW 아키텍처 + 인터페이스 구현 (IPC·세마포어·로더·어셈블러)
'자격증 정복 > 컴퓨터시스템기사' 카테고리의 다른 글
| 컴퓨터시스템기사 필기 05 — 컴퓨터 프로세서 및 명령어 (레지스터·ALU·파이프라인·Flynn분류) (0) | 2026.08.10 |
|---|---|
| 컴퓨터시스템기사 필기 04 — 시스템SW 아키텍처 + 인터페이스 구현 (IPC·세마포어·로더·어셈블러) (0) | 2026.08.09 |
| 컴퓨터시스템기사 필기 03 — 기억장치 관리 (가상기억장치·페이지교체·교착상태) (0) | 2026.08.08 |
| 컴퓨터시스템기사 필기 02 — 개발자 환경 구축 + 운영체제 기초 (프로세스·스케줄링) (1) | 2026.08.07 |
| 컴퓨터시스템기사 필기 01 — 핵심 키워드 정리 (4과목 빈출 총정리) (0) | 2026.08.06 |