← Blog로 돌아가기

2026년 4월 27일

CS / Theory / OS

[OS] 컴퓨터 하드웨어의 구조

우리는 컴퓨터를 켜고, 프로그램을 실행하고, 파일을 저장한다. 운영체제가 이 모든 것을 관리한다는 건 앞선 글에서 살펴봤다. 그런데 운영체제가 관리하는 그 대상, 하드웨어는 정확히 어떻게 생겼을까?

이 글에서는 컴퓨터를 구성하는 핵심 부품들 — CPU, 메모리, 저장장치, 버스 — 이 어떤 역할을 하고 서로 어떻게 연결되는지 살펴본다.



목차


[1] 폰 노이만 구조
[2] 메인보드
[3] CPU
[4]메모리
[5]저장장치
[6]버스
전체 구조 정리



[1] 폰 노이만 구조


현대 컴퓨터는 거의 모두 폰 노이만 구조(Von Neumann Architecture) 를 따른다. 1945년 수학자 존 폰 노이만이 제안한 이 구조의 핵심 아이디어는 단순하다.

프로그램을 메모리에 저장해두고, CPU가 하나씩 꺼내 실행한다.

이전 컴퓨터는 프로그램을 바꾸려면 케이블을 물리적으로 다시 연결해야 했다. 폰 노이만 구조 덕분에 케이블 대신 프로그램만 바꾸면 됐고, 컴퓨터는 비로소 어떤 작업이든 처리할 수 있는 범용 기계가 되었다. 지금 우리가 같은 컴퓨터로 유튜브도 보고 문서도 작성할 수 있는 것도 이 구조 덕분이다.

폰 노이만 구조의 세 가지 핵심 요소는 다음과 같다.

  • CPU: 명령어를 읽고 연산을 처리한다.
  • 메모리: 실행할 프로그램과 데이터를 저장한다.
  • 버스: CPU와 메모리 사이에서 데이터를 주고받는 통로다.

한 가지 유명한 한계도 있다. CPU와 메모리가 하나의 버스를 공유하기 때문에, 명령어를 읽는 작업과 데이터를 읽는 작업이 동시에 일어날 수 없다. 이를 폰 노이만 병목(Von Neumann Bottleneck) 이라고 한다. 현대 CPU는 캐시 메모리 등으로 이 문제를 완화한다.



[2] 메인보드


메인보드(Mainboard) 는 컴퓨터의 모든 부품이 연결되는 큰 회로판이다. CPU, 메모리, 저장장치, 그래픽카드 등이 모두 메인보드에 꽂혀 서로 통신한다. 도시로 치면 모든 건물이 도로망으로 연결되듯, 메인보드는 각 부품을 하나의 시스템으로 묶어주는 토대다. 메인보드의 주요 구성 요소는 다음과 같다.

  • CPU 소켓: CPU가 장착되는 자리. CPU 제조사(Intel/AMD)마다 소켓 규격이 다르다
  • RAM 슬롯: 메모리 모듈이 꽂히는 자리
  • PCIe 슬롯: 그래픽카드, 고속 SSD 등이 연결되는 고속 인터페이스
  • 칩셋: CPU와 나머지 부품들 사이의 통신을 조율하는 관리자 역할
  • BIOS/UEFI 칩: 컴퓨터가 켜질 때 가장 먼저 실행되는 펌웨어가 저장된 칩


[3] CPU


**CPU(Central Processing Unit)**는 컴퓨터의 두뇌다. 메모리에서 명령어를 읽어 연산하고, 결과를 다시 메모리에 쓴다.

CPU의 내부 구성

구성 요소역할
ALU (산술논리연산장치)덧셈, 뺄셈 등 산술 연산과 AND, OR 등 논리 연산을 수행한다
제어장치메모리에서 명령어를 읽어 해석하고, 각 장치에 동작을 지시한다
레지스터CPU 내부의 초고속 임시 저장 공간. 현재 처리 중인 데이터나 주소를 담는다
캐시 메모리CPU와 메모리 속도 차이를 줄이기 위한 고속 버퍼. L1, L2, L3 계층으로 나뉜다

명령어 처리 흐름

CPU는 다음 세 단계를 반복하며 프로그램을 실행한다.

1. Fetch   — 메모리에서 명령어를 가져온다
2. Decode  — 명령어를 해석한다
3. Execute — 명령어를 실행한다

이 반복 주기를 명령어 사이클(Instruction Cycle) 이라고 한다.

클럭(Clock)

CPU는 클럭 신호에 맞춰 동작한다. 클럭 속도가 빠를수록 단위 시간당 더 많은 명령어를 처리할 수 있다. 3.5GHz CPU는 초당 약 35억 번의 클럭 신호를 받는다는 의미다.

단, 클럭 속도만으로 성능을 비교할 수는 없다. 코어 수, 아키텍처 설계 등 다른 요소도 영향을 준다.



[4] 메모리


메모리는 CPU가 현재 처리 중인 데이터와 프로그램을 저장하는 공간이다. 크게 RAMROM으로 나뉜다.

RAM (Random Access Memory)

  • 실행 중인 프로그램과 데이터를 저장한다.
  • 휘발성: 전원이 꺼지면 내용이 사라진다.
  • CPU가 직접 읽고 쓸 수 있는 작업 공간이다.
  • 용량이 클수록 더 많은 프로그램을 동시에 실행할 수 있다.

ROM (Read Only Memory)

  • 비휘발성: 전원이 꺼져도 내용이 유지된다.
  • 컴퓨터 제조 시 기본 정보가 저장되며, 일반적으로 수정이 불가능하다.
  • 부팅에 필요한 BIOS/UEFI 펌웨어가 ROM에 저장된다.

메모리 계층 구조

CPU에 가까울수록 빠르고 용량이 작으며, 멀어질수록 느리고 용량이 크다.

[레지스터]   — 가장 빠름, 수십 바이트
    ↓
[캐시 L1/L2/L3] — 매우 빠름, 수MB
    ↓
[RAM]        — 빠름, 수~수십 GB
    ↓
[SSD / HDD]  — 느림, 수백 GB ~ 수 TB

OS의 가상 메모리 기법은 이 계층 구조를 활용해, RAM이 부족할 때 저장장치 일부를 임시 메모리처럼 사용한다.



[5] 저장장치


저장장치는 전원이 꺼져도 데이터가 유지되는 비휘발성 공간이다. RAM과 달리 프로그램 실행에 직접 사용되지 않고, 데이터를 장기 보관하는 역할을 한다.

HDD (Hard Disk Drive)

  • 자기 원판(플래터)을 물리적으로 회전시켜 데이터를 읽고 쓴다.
  • 용량 대비 가격이 저렴하다.
  • 물리적 동작이 있어 SSD보다 느리고 충격에 약하다.

SSD (Solid State Drive)

  • 플래시 메모리 기반으로 물리적 동작이 없다.
  • HDD보다 훨씬 빠르고 충격에 강하다.
  • 가격이 HDD보다 비싸지만, 최근 많이 저렴해졌다.

현재 대부분의 개인 컴퓨터는 OS 설치 드라이브로 SSD를 사용하고, 대용량 데이터 보관용으로 HDD를 추가로 사용하는 경우가 많다.



[6] 버스


버스(Bus)는 CPU, 메모리, 저장장치, 입출력 장치 등 각 부품 사이에서 데이터를 주고받는 통로다.

버스는 전달하는 정보의 종류에 따라 세 가지로 나뉜다.

버스 종류역할
데이터 버스실제 데이터를 전달한다. 양방향이다
주소 버스데이터를 읽거나 쓸 메모리 위치(주소)를 전달한다. 단방향이다
제어 버스읽기/쓰기 등 동작 신호를 전달한다. 양방향이다

버스의 폭(비트 수)이 넓을수록 한 번에 더 많은 데이터를 전달할 수 있다. 32비트 시스템과 64비트 시스템의 차이가 여기서 비롯된다.



전체 구조 정리


지금까지 살펴본 하드웨어 구성요소를 한 그림으로 정리하면 다음과 같다.

hardware-components

  • CPU가 명령어를 읽고 연산한다
  • RAM에 현재 실행 중인 데이터가 올라온다
  • ROM에 부팅 펌웨어가 저장되어 있다
  • 모든 부품은 버스로 연결되어 데이터를 주고받는다
  • 모든 부품은 메인보드 위에 연결되어 하나의 시스템을 이룬다

OS는 이 하드웨어 구조 위에서 동작하며, 각 자원을 애플리케이션이 안전하게 사용할 수 있도록 관리한다.



다음 글에서는 컴퓨터가 전원을 켜는 순간부터 바탕화면이 뜨기까지의 부팅 과정을 살펴볼 예정이다.

댓글

댓글을 불러오는 중...