Skip to content

03. 컴퓨터 구조

CPU, RAM, 레지스터, ALU -- 컴퓨터가 계산하는 원리를 근본부터 이해한다.


학습 목표

  1. CPU와 RAM이 컴퓨터의 핵심인 이유를 설명할 수 있다.
  2. 메모리 주소(일련번호) 개념을 이해하고, 데이터가 어떻게 저장되는지 설명할 수 있다.
  3. 레지스터와 ALU의 역할을 구분할 수 있다.
  4. RAM -> 레지스터 -> ALU -> 레지스터 -> RAM 연산 흐름을 단계별로 설명할 수 있다.
  5. 메모리 계층 구조(레지스터, RAM, SSD/HDD)를 속도/용량/가격 기준으로 비교할 수 있다.
  6. 32비트와 64비트 주소 공간의 차이를 이해하고, 4GB 제한의 이유를 설명할 수 있다.
  7. 메인보드 위에서 각 부품이 어떻게 연결되는지 전체 그림을 그릴 수 있다.

1. 전체 구조 -- 컴퓨터를 한 장으로 보기

컴퓨터는 복잡해 보이지만, 핵심은 단 두 가지다: **연산하는 장치(CPU)**와 기억하는 장치(RAM). 나머지 모든 부품은 이 둘을 보조하는 역할이다.

위 다이어그램이 컴퓨터 구조의 전부다. 이 그림만 머릿속에 넣어 두면, 이후 내용은 각 부분을 확대해서 보는 것에 불과하다.


2. 컴퓨터의 핵심: CPU와 RAM

CPU -- 연산 장치 (비메모리 반도체)

CPU(Central Processing Unit, 중앙처리장치)는 컴퓨터의 두뇌다. 모든 계산, 판단, 명령 실행을 담당한다. "비메모리 반도체"라고도 부르는데, 데이터를 오래 저장하는 것이 아니라 계산하는 것이 목적이기 때문이다.

RAM -- 기억 장치 (메모리 반도체)

RAM(Random Access Memory, 주기억장치)은 CPU가 작업할 때 필요한 데이터를 임시로 올려놓는 공간이다. "메모리 반도체"라고 부른다.

비유: 요리사와 조리대

  • CPU는 요리사다. 재료를 다듬고, 볶고, 간을 맞추는 등 실제 작업을 수행한다.
  • RAM은 **조리대(작업대)**다. 요리사가 바로 손이 닿는 곳에 재료를 올려두는 공간이다.
  • SSD/HDD는 냉장고다. 재료를 대량으로 보관하지만, 요리하려면 꺼내서 조리대 위에 올려야 한다.
  • 조리대가 넓을수록(RAM이 클수록) 한 번에 더 많은 재료를 펼쳐놓고 작업할 수 있어서 효율이 좋다.
  • 요리사가 빠를수록(CPU가 빠를수록) 요리가 빨리 완성된다.

이 둘이 없으면 컴퓨터가 아니다

키보드, 마우스, 모니터, SSD 등은 주변기기에 해당한다. 이들이 없어도 컴퓨터 자체는 동작한다(결과를 사람이 볼 수 없을 뿐이다). 그러나 CPU와 RAM이 없으면 컴퓨터는 아무것도 할 수 없다. CPU 없이는 계산이 불가능하고, RAM 없이는 작업할 데이터를 올려둘 곳이 없기 때문이다.

참고: 한국과 DRAM

한국은 DRAM(Dynamic RAM) 분야에서 세계 1위 점유율을 차지하고 있다(2022년 기준). 삼성전자와 SK하이닉스가 전 세계 DRAM 시장의 약 70% 이상을 점유한다. 우리가 매일 사용하는 스마트폰, 노트북, 서버의 RAM 대부분이 한국에서 만들어진다.


3. 메모리와 일련번호 (주소)

메모리 주소란?

RAM에 데이터가 아무렇게나 쌓여 있다면, CPU가 원하는 데이터를 찾을 방법이 없다. 그래서 RAM의 각 저장 공간에는 **일련번호(주소, address)**가 붙어 있다. CPU는 이 주소를 이용해 원하는 데이터를 정확하게 읽고 쓴다.

엑셀 비유

엑셀을 떠올리면 이해하기 쉽다.

비교 항목엑셀RAM
위치 지정 방법셀 주소 (예: C3)메모리 주소 (예: 301번지)
저장 단위한 셀에 값 하나1바이트에 값 하나
값 읽기"C3에 뭐가 있지?""301번지에 뭐가 있지?"
값 쓰기"C3에 100을 넣자""301번지에 3을 넣자"

엑셀에서 C3 셀에 100이라는 값이 들어 있듯이, RAM에서 301번 주소에 3이라는 값이 들어 있다. CPU가 "301번 주소의 값을 가져와라"라고 명령하면, RAM은 그 주소에 저장된 값을 돌려준다.

관리 단위: 1바이트

메모리 주소는 1바이트(byte) 단위로 붙는다. 1바이트는 8비트로, 0~255 범위의 숫자 하나를 저장할 수 있다. 주소 0번부터 시작해서, 1번, 2번, 3번... 순서대로 번호가 매겨진다.

누가 관리하나?

메모리 주소를 관리하는 주체는 CPU와 **운영체제(OS)**다. CPU는 하드웨어 수준에서 주소 버스를 통해 메모리에 접근하고, 운영체제는 소프트웨어 수준에서 어떤 프로그램이 어느 주소 범위를 사용할지 관리한다(메모리 관리).

위 다이어그램에서 CPU가 "301번 주소의 값을 달라"고 요청하면, RAM은 해당 주소에 저장된 값 3을 돌려준다. 마치 엑셀에서 특정 셀을 클릭하면 그 셀의 값이 보이는 것과 같은 원리다.


4. 레지스터(Register) -- CPU 내부의 임시 저장소

레지스터란?

레지스터는 CPU 내부에 존재하는 극소량의 초고속 메모리다. RAM에서 가져온 데이터를 잠시 보관하거나, 연산 결과를 임시로 저장하는 용도로 사용한다.

특징 세 가지

특징설명
극소량CPU 안에 수십 개 정도만 존재한다. RAM이 수십억 바이트인 것과 비교하면 극히 적다.
초고속CPU와 같은 칩 안에 있으므로, 데이터 접근 속도가 RAM보다 수십~수백 배 빠르다.
CPU 내부별도의 부품이 아니라, CPU 칩 안에 내장되어 있다.

이름으로 관리

RAM은 **번호(주소)**로 관리하지만, 레지스터는 이름으로 관리한다.

  • A 레지스터 (AX / EAX / RAX)
  • B 레지스터 (BX / EBX / RBX)
  • C 레지스터 (CX / ECX / RCX)
  • D 레지스터 (DX / EDX / RDX)

이름이 단순한 이유는 특별한 의미가 있어서가 아니라, 그냥 순서대로 A, B, C, D... 하고 붙인 것이다(물론 역사적으로 각 레지스터에 관례적 용도가 있긴 하지만, 이름 자체는 순서일 뿐이다). AX는 16비트, EAX는 32비트, RAX는 64비트 시대에 확장된 이름이다.

용도

CPU가 연산을 수행하려면, 먼저 RAM에서 필요한 데이터를 레지스터로 가져와야 한다. ALU는 레지스터에 있는 데이터만 직접 연산할 수 있기 때문이다. 연산 결과도 레지스터에 먼저 저장된 후, 필요하면 RAM으로 옮겨진다.


5. ALU (Arithmetic Logic Unit) -- 산술논리연산장치

ALU란?

ALU는 CPU 내부에서 실제 연산을 수행하는 장치다. 이름 그대로 두 가지 연산을 담당한다.

  • 산술 연산: 더하기, 빼기, 곱하기, 나누기
  • 논리 연산: AND, OR, NOT, 비교(같은가? 큰가? 작은가?)

ALU와 레지스터의 관계

비유: ALU는 계산기, 레지스터는 계산기 옆 메모지

계산기(ALU)로 연산을 하려면, 먼저 숫자를 메모지(레지스터)에 적어둬야 한다. 계산기는 메모지에 적힌 숫자를 보고 연산한 뒤, 결과를 다시 메모지에 적는다. 이 메모지를 보고 최종 결과를 원하는 곳에 옮겨 적는다.

동작 순서는 다음과 같다:

  1. 레지스터에 피연산자(계산할 숫자)가 준비된다.
  2. ALU가 레지스터의 값을 받아 연산을 수행한다.
  3. 연산 결과를 다시 레지스터에 저장한다.

ALU는 독립적으로 동작하지 않는다. **제어장치(Control Unit)**가 "어떤 연산을 수행하라"는 지시를 내리면, ALU가 그에 따라 동작한다.


6. 연산의 전체 흐름 (핵심 중의 핵심)

이제 앞에서 배운 모든 것을 연결하자. "3 + 4 = 7"을 계산하는 과정을 단계별로 따라간다.

전제 조건

  • RAM 301번 주소에 값 3이 저장되어 있다.
  • RAM 503번 주소에 값 4가 저장되어 있다.
  • 연산 결과를 RAM 505번 주소에 저장해야 한다.

단계별 과정

단계동작설명
1RAM 301번 -> 레지스터 ARAM에서 값 3을 가져와 레지스터 A에 저장
2RAM 503번 -> 레지스터 BRAM에서 값 4를 가져와 레지스터 B에 저장
3ALU: A + B = 7ALU가 레지스터 A와 B의 값을 더함
4결과 7 -> 레지스터연산 결과 7을 레지스터에 저장
5레지스터 -> RAM 505번결과값 7을 RAM 505번 주소에 저장

이 다섯 단계가 컴퓨터 연산의 기본 원리이다. 아무리 복잡한 프로그램이라도, 분해하면 결국 이런 단순한 과정의 반복이다.

위 다이어그램을 왼쪽에서 오른쪽으로 따라가면 된다.

  1. RAM에서 두 값을 각각 레지스터로 가져온다.
  2. ALU가 두 레지스터의 값을 연산한다.
  3. 결과를 레지스터에 담고, 최종적으로 RAM에 다시 저장한다.

이 흐름을 한 줄로 요약하면: RAM -> 레지스터 -> ALU -> 레지스터 -> RAM


7. 메모리 계층 구조

속도와 용량의 반비례 관계

메모리에는 불변의 법칙이 있다: 빠를수록 작고, 비싸다.

계층위치속도용량가격 (1GB당)
레지스터CPU 내부가장 빠름 (1 클럭)수십~수백 바이트측정 불가 (극히 비쌈)
캐시 (L1/L2/L3)CPU 내부/근처매우 빠름수 KB ~ 수십 MB매우 비쌈
RAM (주기억장치)메인보드빠름8 ~ 64 GB (일반적)중간
SSD (보조기억장치)메인보드/별도보통256 GB ~ 수 TB저렴
HDD (보조기억장치)별도 장착느림1 TB ~ 수십 TB매우 저렴

데이터의 이동 경로

프로그램을 실행하면 데이터는 아래에서 위로 올라간다:

보조기억장치(SSD/HDD) -> RAM -> 레지스터 -> ALU

요리 비유로 다시 설명하면:

  • 냉장고(SSD/HDD)에서 재료를 꺼내 조리대(RAM)에 올린다.
  • 조리대에서 바로 쓸 재료를 손 옆 메모지(레지스터)에 놓는다.
  • 요리사(ALU)가 메모지의 재료를 가지고 요리(연산)한다.

피라미드의 꼭대기로 갈수록 빠르고 작고 비싸며, 아래로 갈수록 느리고 크고 저렴하다. 이 구조를 이해하면, "왜 RAM 용량을 늘리면 컴퓨터가 빨라지는가?"에 대한 답도 자연스럽게 나온다. RAM이 커지면 SSD/HDD에서 데이터를 가져오는 느린 작업이 줄어들기 때문이다.


8. 32비트 vs 64비트 주소 공간

32비트 체계

32비트 CPU는 메모리 주소를 32자리 이진수로 표현한다.

  • 주소 범위: 0 ~ 2^32 - 1
  • 2^32 = 4,294,967,296 (약 42억 9천만)
  • 1바이트 단위이므로: 약 4GB

이것이 바로 32비트 운영체제에서 RAM을 4GB까지만 인식하는 이유다. 주소가 32비트짜리 번호표밖에 없으니, 아무리 RAM을 많이 꽂아도 번호를 매길 수 없는 영역은 사용할 수 없다.

64비트 체계

64비트 CPU는 메모리 주소를 64자리 이진수로 표현한다.

  • 주소 범위: 0 ~ 2^64 - 1
  • 2^64 = 18,446,744,073,709,551,616 (약 1844경)
  • 1바이트 단위이므로: 약 16EB (엑사바이트)
  • 1EB = 1,048,576TB

현실적으로 16EB의 RAM을 장착할 일은 없으므로, 64비트 주소 공간은 매우 오랫동안 부족하지 않을 것이다.

비유: 전화번호 자릿수

  • 32비트4자리 전화번호 체계와 같다. 0000~9999까지 최대 10,000명에게만 번호를 부여할 수 있다. 인구가 늘면 번호가 부족해진다.
  • 64비트20자리 전화번호 체계와 같다. 지구 인구의 수십억 배에게도 번호를 부여할 수 있으니, 사실상 부족할 일이 없다.

9. 메인보드와 인터페이스

메인보드 (마더보드)

메인보드는 컴퓨터의 모든 부품이 장착되는 **큰 인쇄 회로 기판(PCB)**이다. CPU, RAM, SSD, 그래픽카드 등 모든 부품이 메인보드 위에서 서로 연결된다. 메인보드 없이는 각 부품이 서로 통신할 수 없다.

주요 구성 요소

구성 요소설명
CPU 소켓CPU를 꽂는 자리. CPU와 소켓의 규격이 맞아야 장착할 수 있다 (예: Intel LGA 1700, AMD AM5).
RAM 슬롯RAM을 꽂는 자리. 일반적으로 2~4개의 슬롯이 있으며, 빈 슬롯에 RAM을 추가 장착하면 메모리를 늘릴 수 있다.
확장 슬롯그래픽카드, 네트워크 카드 등을 장착하는 PCIe 슬롯.
저장장치 커넥터SSD/HDD를 연결하는 SATA 포트, M.2 슬롯 등.
후면 I/O 패널USB, HDMI, DisplayPort, LAN(이더넷), 오디오 잭 등 외부 장치를 연결하는 포트 모음.

인터페이스란?

인터페이스(Interface)는 **서로 다른 장치를 연결하는 접점(규격)**이다. 컴퓨터와 주변기기가 데이터를 주고받으려면 같은 인터페이스 규격을 사용해야 한다.

  • USB 키보드는 USB 포트에 꽂아야 한다.
  • HDMI 모니터는 HDMI 포트에 연결해야 한다.
  • 규격이 다르면 변환 어댑터가 필요하다.

주변기기

CPU와 RAM을 제외한, 사용자와 컴퓨터 사이의 입출력을 담당하는 장치들이다.

  • 입력 장치: 키보드, 마우스, 마이크, 웹캠, 스캐너
  • 출력 장치: 모니터, 스피커, 프린터
  • 입출력 겸용: 터치스크린, 외장 SSD

핵심 암기 포인트

번호핵심 내용
1컴퓨터 = CPU(연산) + RAM(기억). 이 둘이 없으면 컴퓨터가 아니다.
2메모리는 일련번호(주소)로 관리된다. 1바이트 단위로 번호가 붙는다.
3레지스터: CPU 내부에 있는 극소량의 초고속 임시 저장소. 이름(A, B, C...)으로 관리.
4ALU: CPU 내부에서 실제 산술/논리 연산을 수행하는 장치.
5연산 흐름: RAM -> 레지스터 -> ALU -> 레지스터 -> RAM
6메모리 계층: 레지스터 > 캐시 > RAM > SSD > HDD (속도순). 빠를수록 작고 비싸다.
732비트 = 최대 4GB, 64비트 = 최대 16EB (주소 공간의 차이)

확인 질문

Q1. CPU와 RAM의 역할 차이는?

정답 보기
  • CPU연산 장치로, 데이터를 계산하고 명령을 실행하는 역할을 한다. 비유하면 요리사.
  • RAM기억 장치로, CPU가 작업할 데이터를 임시로 올려놓는 공간이다. 비유하면 조리대.
  • CPU는 계산하고, RAM은 계산에 필요한 데이터를 보관한다.

Q2. 레지스터와 RAM의 차이점 3가지는?

정답 보기
비교 항목레지스터RAM
위치CPU 내부CPU 외부 (메인보드)
용량극소량 (수십~수백 바이트)대용량 (수~수십 GB)
속도가장 빠름레지스터보다 느림
관리 방식이름으로 관리 (A, B, C...)주소(번호)로 관리 (0번, 1번, 2번...)

Q3. ALU가 하는 일은 무엇인가?

정답 보기

ALU(산술논리연산장치)는 CPU 내부에서 실제 연산을 수행하는 장치다.

  • 산술 연산: 더하기, 빼기, 곱하기, 나누기
  • 논리 연산: AND, OR, NOT, 비교 연산

레지스터에서 데이터를 받아 연산을 수행하고, 결과를 다시 레지스터에 저장한다.

Q4. 32비트 운영체제에서 RAM을 4GB까지만 인식하는 이유는?

정답 보기

32비트 체계에서는 메모리 주소를 32자리 이진수로 표현한다.

  • 32비트로 만들 수 있는 주소의 수: 2^32 = 4,294,967,296개 (약 42억 9천만)
  • 메모리는 1바이트 단위로 주소가 붙으므로: 약 42억 9천만 바이트 = 약 4GB
  • 주소 번호표가 4GB 분량밖에 없으니, 그 이상의 RAM을 꽂아도 번호를 매길 수 없어 인식하지 못한다.

Q5. 보조기억장치에서 데이터가 CPU까지 도달하는 경로는?

정답 보기

보조기억장치(SSD/HDD) -> RAM(주기억장치) -> 레지스터 -> ALU

  1. 프로그램 실행 시, SSD/HDD에 저장된 데이터가 RAM으로 로딩된다.
  2. CPU가 필요한 데이터를 RAM에서 레지스터로 가져온다.
  3. ALU가 레지스터의 데이터를 이용해 연산을 수행한다.

요리 비유: 냉장고(SSD) -> 조리대(RAM) -> 손 옆 메모지(레지스터) -> 요리사의 손(ALU)