컴퓨터 하드웨어의 구조와 원리
Part 1. 컴퓨터 일반 · 출제 빈도 ★★★
이 차시를 공부하는 이유
하드웨어는 용어 하나만 정확히 알아도 맞히는 문제가 많습니다. 특히 레지스터, 메모리 종류, 인터럽트는 1급에서 '설명 → 용어 고르기' 형태로 반복 출제됩니다.
2급에서 먼저 보면 좋은 내용
2급의 CPU·기억장치 개념 위에 레지스터별 역할, 인터럽트·DMA·채널, RAID가 더해집니다.
학습 목표
핵심 개념
| 구분 | 디지털 컴퓨터 | 아날로그 컴퓨터 |
|---|---|---|
| 입력 형태 | 숫자·문자 (이산 데이터) | 전류·온도·속도 (연속 데이터) |
| 출력 형태 | 숫자·문자 | 곡선·그래프 |
| 연산 | 사칙 연산 | 미적분 연산 |
| 구성 회로 | 논리 회로 | 증폭 회로 |
| 정밀도·기억 | 필요한 만큼 / 기억 기능 있음 | 제한적(0.01%까지) / 기억 기능 없음 |
| 프로그램 | 필요 | 불필요 |
- 자료 단위: 비트 → 니블(4비트) → 바이트(8비트) → 워드 → 필드 → 레코드 → 파일 → 데이터베이스
- 하프워드 2바이트, 풀워드 4바이트, 더블워드 8바이트 (워드는 CPU가 한 번에 처리하는 명령 단위)
- 하이브리드 컴퓨터는 디지털과 아날로그의 장점을 결합한 형태로 특수 목적에 쓰입니다.
| 코드 | 비트 구성 | 특징 |
|---|---|---|
| BCD | 6비트 (Zone 2 + Digit 4) | 64가지 문자 표현, 영문 소문자 표현 불가 |
| ASCII | 7비트 (Zone 3 + Digit 4) | 128가지 문자, 데이터 통신·PC에서 사용, 확장 ASCII는 8비트 |
| EBCDIC | 8비트 (Zone 4 + Digit 4) | 256가지 문자, 대형 컴퓨터에서 사용 |
| 유니코드 | 16비트 (2바이트) | 전 세계 문자를 하나의 코드 체계로 표현, 한글 11,172자 모두 표현 가능 |
- 해밍 코드: 오류를 검출하고 스스로 교정까지 할 수 있는 코드입니다. 패리티 비트는 오류 검출만 가능합니다.
- 그레이 코드: 인접한 수 사이에 1비트만 변하므로 A/D 변환기, 입출력 장치 코드에 사용합니다.
- 수치 표현: 정수는 고정 소수점(부호와 절대치, 1의 보수, 2의 보수), 실수는 부동 소수점(부호·지수부·가수부)으로 표현하며, 부동 소수점은 표현 범위가 넓지만 연산 속도는 느립니다.
'유니코드는 8비트로 256문자를 표현한다', '패리티 비트는 오류를 교정할 수 있다'는 모두 오답입니다.
제어장치
명령을 해독하고 각 장치에 제어 신호를 보냅니다. 프로그램 카운터(PC), 명령 레지스터(IR), 명령 해독기(Decoder), 부호기(Encoder), MAR, MBR로 구성됩니다.
연산장치(ALU)
산술·논리 연산을 수행합니다. 가산기, 보수기, 누산기(AC), 데이터 레지스터, 상태 레지스터로 구성됩니다.
| 레지스터 | 역할 |
|---|---|
| 프로그램 카운터(PC) | 다음에 실행할 명령어의 주소를 기억 |
| 명령 레지스터(IR) | 현재 실행 중인 명령어를 기억 |
| 메모리 주소 레지스터(MAR) | 읽거나 쓸 기억장소의 주소를 기억 |
| 메모리 버퍼 레지스터(MBR) | 기억장치에서 읽거나 쓸 데이터를 임시 기억 |
| 누산기(AC) | 연산 결과를 일시적으로 기억 |
| 상태 레지스터 | 연산 결과의 부호·오버플로·자리올림 상태를 기억 |
- 레지스터는 CPU 안에 있는 가장 빠른 임시 기억장치이며 플립플롭이나 래치로 구성됩니다.
- CPU 성능 단위: MIPS(초당 백만 개 명령 처리), FLOPS(초당 부동 소수점 연산 수), 클럭 속도 Hz
- RISC는 명령어가 적고 단순해 처리 속도가 빠르며 전력 소모가 적습니다. CISC는 명령어가 많고 복잡해 프로그래밍이 쉽지만 속도가 느립니다.
PC는 '현재' 명령이 아니라 '다음'에 실행할 명령의 주소, IR이 '현재' 명령입니다. 1급 단골 함정입니다.
캐시 메모리
CPU와 주기억장치 사이의 속도 차이를 줄이는 고속 메모리로 SRAM을 사용합니다. 적중률이 높을수록 성능이 좋아집니다.
가상 메모리
보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용해 주기억장치 용량을 확장하는 기법입니다. 속도 향상 목적이 아닙니다.
연관 메모리
주소가 아닌 내용(Content)으로 데이터를 찾는 메모리로 CAM이라고도 합니다. 캐시나 가상 메모리의 매핑 테이블에 사용됩니다.
플래시 메모리
EEPROM의 일종으로 비휘발성이면서 수정이 가능합니다. USB 메모리, SSD, 디지털카메라에 사용됩니다.
| 구분 | ROM | RAM |
|---|---|---|
| 휘발성 | 비휘발성 (전원이 꺼져도 유지) | 휘발성 (전원이 꺼지면 삭제) |
| 용도 | BIOS, 글꼴, POST 등 펌웨어 저장 | 실행 중인 프로그램과 데이터 저장 (주기억장치) |
| 종류 | Mask ROM, PROM(1회 기록), EPROM(자외선 삭제), EEPROM(전기로 삭제) | DRAM(재충전 필요, 주기억장치), SRAM(재충전 불필요, 캐시) |
- 기억장치 속도: 레지스터 > 캐시 > 주기억장치(RAM) > 보조기억장치 (용량은 반대)
- 버퍼 메모리는 속도가 다른 두 장치 사이에서 데이터를 임시 보관하며, 캐시도 버퍼의 일종입니다.
- SSD는 반도체를 이용한 보조기억장치로 HDD보다 빠르고 소음·발열·충격에 강하지만 저장 용량 대비 가격이 비쌉니다.
인터럽트(Interrupt)
프로그램 실행 중 예기치 않은 상황이 생기면 실행을 잠시 중단하고 그 상황을 처리한 뒤 원래 작업으로 돌아오는 것입니다.
채널(Channel)
CPU 대신 입출력을 전담하는 입출력 전용 프로세서입니다. 셀렉터·멀티플렉서·블록 멀티플렉서 채널이 있습니다.
DMA
CPU를 거치지 않고 입출력장치와 메모리가 직접 데이터를 주고받는 방식으로 CPU 부담을 줄입니다.
버스(Bus)
데이터 전송 통로. 내부 버스(CPU 내부)와 외부 버스(주소 버스·데이터 버스·제어 버스), 확장 버스(PCI, AGP, PCIe)로 나뉩니다.
| 인터럽트 종류 | 원인 |
|---|---|
| 외부 인터럽트 | 전원 이상, 기계 착오, 타이머, 입출력 요청, 운영자 조작 |
| 내부 인터럽트 (트랩) | 0으로 나누기, 오버플로, 잘못된 명령어 사용 등 프로그램 오류 |
| 소프트웨어 인터럽트 (SVC) | 프로그램이 운영체제 서비스를 요청 (Supervisor Call) |
| RAID | 방식 | 특징 |
|---|---|---|
| RAID 0 | 스트라이핑 | 여러 디스크에 나누어 저장해 속도 최고, 오류 복구 불가 |
| RAID 1 | 미러링 | 같은 데이터를 두 디스크에 복사해 안정성 최고, 용량 효율 50% |
| RAID 5 | 패리티 분산 | 패리티를 여러 디스크에 분산, 한 디스크 장애 시 복구 가능 |
- BIOS: 컴퓨터의 기본 입출력 시스템. 부팅 시 하드웨어 검사(POST) 후 운영체제를 불러오며 ROM(플래시 ROM)에 저장되어 펌웨어라고 합니다. CMOS 셋업에서 날짜·시간, 부팅 순서, 암호 등을 설정합니다.
- 펌웨어: 하드웨어를 제어하는 프로그램을 ROM에 저장한 것으로, 하드웨어 교체 없이 업그레이드로 기능을 개선할 수 있습니다.
- 포트: USB(최대 127개 장치, 핫 플러그 지원), HDMI(영상+음성 디지털 전송), IrDA(적외선 무선), 블루투스(근거리 무선)
RAID는 여러 개의 하드디스크를 하나처럼 사용하는 기술로, 목적은 속도 향상과 안정성(데이터 보호)입니다. '디스크 용량을 압축한다'는 틀린 설명입니다.
확인 문제
3차시 문제 더 풀기
확인문제와 실전 모의고사에서 이 차시 범위 문제만 모아 해설과 함께 볼 수 있습니다.