컴퓨터의 구성 (Computer Components)
한눈에 보기
CPU, 기억장치, 입출력장치, 시스템 버스라는 컴퓨터의 4대 구성 요소와 폰 노이만 구조를 정리한다. 메모리 계층, 인터럽트와 DMA, 하버드 구조와의 절충까지 다룬다.
최종 업데이트 2026.09.17
컴퓨터는 크게 중앙처리장치(CPU, Central Processing Unit), 기억장치(memory), 입출력장치(I/O device), 그리고 이들을 연결하는 시스템 버스(system bus)로 구성된다. 이 구성은 프로그램과 데이터를 같은 기억장치에 저장하고 CPU가 명령어를 하나씩 꺼내 실행하는 폰 노이만 구조(Von Neumann Architecture)에 뿌리를 두며, 오늘날의 데스크톱부터 스마트폰까지 대부분의 컴퓨터가 이 골격을 따른다. 각 구성 요소가 어떤 역할을 맡고 어떻게 협력하는지 이해하는 것이 컴퓨터 구조 학습의 출발점이다.
중앙처리장치
CPU는 명령어를 해석하고 실행하는 컴퓨터의 두뇌로, 내부는 세 부분으로 나뉜다. 산술논리연산장치(ALU, Arithmetic Logic Unit)는 덧셈과 뺄셈 같은 산술 연산과 AND, OR 같은 논리 연산을 수행한다. 제어장치(Control Unit)는 명령어를 해석해 각 장치에 제어 신호를 보내며, 데이터가 언제 어디로 흘러야 하는지를 지휘한다. 레지스터(register)는 CPU 내부의 가장 빠른 임시 저장 공간으로, 다음에 실행할 명령어 주소를 담는 프로그램 카운터(PC, Program Counter), 현재 명령어를 담는 명령어 레지스터(IR, Instruction Register), 연산 대상과 결과를 담는 범용 레지스터 등이 있다.
현대 CPU는 여기에 더해 여러 개의 코어(core)를 한 칩에 담고, 각 코어 안에서 파이프라인과 비순차 실행으로 명령어를 병렬 처리하며, 코어와 주기억장치 사이의 속도 차이를 캐시 메모리(cache memory)로 메운다.
기억장치의 계층
기억장치는 속도와 용량이 반비례하기 때문에 하나의 저장소가 아니라 계층으로 구성된다. 주기억장치는 실행 중인 프로그램과 데이터를 담는 공간으로 주로 DRAM(Dynamic Random Access Memory)이 쓰이며, 전원이 꺼지면 내용이 사라지는 휘발성(volatile) 저장소다. 보조기억장치는 SSD(Solid State Drive)와 HDD(Hard Disk Drive)처럼 전원이 꺼져도 데이터가 유지되는 비휘발성 저장소로, 프로그램과 파일을 장기 보관한다.
| 계층 | 대표 소자 | 접근 속도 | 용량 | 휘발성 |
|---|---|---|---|---|
| 레지스터 | 플립플롭 | 1사이클 미만 | 수백 바이트 | 휘발성 |
| 캐시 | SRAM | 수 나노초 | 수십 KB에서 수십 MB | 휘발성 |
| 주기억장치 | DRAM | 수십 나노초 | 수 GB에서 수백 GB | 휘발성 |
| 보조기억장치 | SSD, HDD | 수십 마이크로초 이상 | 수백 GB에서 수십 TB | 비휘발성 |
이 계층 구조 덕분에 컴퓨터는 자주 쓰는 데이터를 빠른 층에 두고 나머지를 큰 층에 두어, 전체적으로는 빠르면서도 큰 저장소를 가진 것처럼 동작한다.
입출력장치와 시스템 버스
입출력장치는 키보드, 마우스, 디스플레이, 네트워크 카드처럼 컴퓨터와 외부 세계를 잇는 장치다. CPU와 입출력장치는 속도 차이가 매우 크기 때문에, CPU가 장치 상태를 계속 확인하는 폴링(polling) 대신 장치가 준비되었을 때 CPU에 신호를 보내는 인터럽트(interrupt) 방식이 널리 쓰인다. 또한 대량의 데이터 전송은 CPU를 거치지 않고 장치가 직접 주기억장치와 데이터를 주고받는 직접 메모리 접근(DMA, Direct Memory Access)으로 처리해 CPU의 부담을 줄인다.
시스템 버스는 구성 요소 사이의 공용 통로로, 읽거나 쓸 위치를 지정하는 주소 버스(address bus), 실제 데이터가 오가는 데이터 버스(data bus), 읽기와 쓰기 같은 동작을 지시하는 제어 버스(control bus)로 나뉜다. 현대 시스템에서는 단일 공유 버스 대신 PCIe(PCI Express) 같은 점대점 고속 인터커넥트가 GPU와 SSD를 연결하고, 메모리 컨트롤러는 CPU 칩 안으로 들어와 있다.
폰 노이만 구조와 그 한계
폰 노이만 구조의 핵심은 프로그램 내장 방식(stored program concept)이다. 명령어와 데이터를 같은 기억장치에 두기 때문에 프로그램을 바꾸려면 배선을 바꾸는 대신 메모리 내용만 바꾸면 되고, 이것이 소프트웨어라는 개념을 가능하게 했다. 반면 명령어와 데이터가 하나의 통로를 공유하므로 CPU가 아무리 빨라도 메모리 통로가 병목이 되는데, 이를 폰 노이만 병목(Von Neumann bottleneck)이라고 한다.
이를 완화하기 위해 명령어 메모리와 데이터 메모리를 분리하는 하버드 구조(Harvard Architecture)가 제안되었고, 현대 CPU는 L1 캐시를 명령어용과 데이터용으로 분리해 내부적으로는 하버드 구조, 외부적으로는 폰 노이만 구조인 절충 형태를 취한다. 더 나아가 GPU 같은 가속기는 수천 개의 단순한 연산 유닛으로 병렬 처리를 수행하며, 최근에는 연산을 메모리 가까이로 옮기는 근접 메모리 연산(processing-in-memory) 연구도 병목을 푸는 방향으로 진행되고 있다.
면접에서 이렇게 물어본다
- 컴퓨터의 4대 구성 요소를 나열하고 각 역할을 설명해보시오.
- 폰 노이만 구조의 핵심 아이디어와 폰 노이만 병목이 무엇인지 설명해보시오.
- 메모리 계층 구조가 왜 필요한지, RAM과 보조기억장치의 차이는 무엇인지 말해보시오.
- 폴링과 인터럽트의 차이, 그리고 DMA가 필요한 이유를 설명해보시오.
- 시스템 버스를 구성하는 세 가지 버스와 각각의 역할을 설명해보시오.
컴퓨터 구조에서 같이 읽기
- ARM 프로세서 (ARM Processor)RISC 철학 기반 ARM 프로세서의 설계 원칙과 적재 저장 구조, x86과의 비교, AArch64 세대 구분, Apple Silicon과 AWS Graviton 등 서버 칩으로의 확장 흐름까지 정리한다.
- 캐시 메모리 (Cache Memory)CPU와 주기억장치의 속도 차이를 메우는 캐시 메모리의 원리를 다룬다. 메모리 계층 구조, 시간과 공간 지역성, 매핑 방식 비교, 쓰기 정책과 MESI 캐시 일관성까지 정리한다.
- 고정 소수점과 부동 소수점 (Fixed Point and Floating Point)컴퓨터가 실수를 표현하는 고정 소수점과 부동 소수점 방식을 비교한다. IEEE 754의 비트 구성과 편향 지수, 0.1 + 0.2 오차의 원인, FP16과 bfloat16 등 최신 흐름까지 정리한다.
- 중앙처리장치(CPU) 작동 원리 (How CPU Works)CPU가 명령어를 인출, 해독, 실행하는 기본 사이클부터 파이프라이닝과 세 가지 위험, 분기 예측, 비순차 실행, 멀티코어 전환의 배경까지 현대 CPU의 성능 원리를 정리한다.
이 개념, 내 코드에서는 어떻게 물어볼까요
데브핏(DevFit)에 채용공고 URL을 붙여 넣고 레포지토리를 연결하면, 내가 쓴 커밋에서 예상 질문과 어필 포인트를 만듭니다. 하루 10회까지 무료입니다. 합불 판정이나 지원자 랭킹은 만들지 않고, 최종 판단은 사람이 합니다.
공고 넣고 시작하기