RAM

 

RAM, 왜 CPU만큼 중요할까?

많은 사람들은 컴퓨터의 속도를 결정짓는 가장 중요한 요소로 CPU를 떠올린다. 물론 CPU는 연산을 담당하는 핵심 부품이며, 클럭 속도나 코어 수가 높을수록 빠른 처리가 가능하다. 하지만 CPU만 빠르다고 해서 시스템 전체가 빠를 수는 없다. 그 이유는 CPU 혼자서 데이터를 만들어낼 수 없기 때문이다.

CPU가 빠르면 다 해결이 될까?

CPU는 데이터를 RAM에서 불러와 연산을 수행한다.
만약 RAM의 속도가 느리거나, 용량이 부족해서 디스크를 가상 메모리로 사용하게 되면 CPU는 데이터를 기다리느라 제 성능을 발휘하지 못한다. 이를 메모리 병목(bottleneck)이라 부르며, 전체 시스템 성능의 저하로 이어진다.


RAM이란?

RAM은 Random Access Memory의 약자로, 프로그램이 실행되는 동안 데이터를 임시로 저장하는 메모리다.
전원이 꺼지면 내용이 사라지는 휘발성 메모리로, 저장장치(HDD, SSD)보다 훨씬 빠르다.

  • 실행 중인 프로그램의 코드와 데이터
  • CPU 연산 결과의 임시 저장
  • 캐시되지 않은 I/O 버퍼 등

이 모든 것들이 RAM 위에서 동작한다. 즉, RAM은 운영체제와 CPU 사이의 작업 공간이다.


RAM의 특징

RAM의 주요 특징은 다음과 같다:

  • 휘발성 메모리: 전원이 꺼지면 데이터가 사라진다.
  • 빠른 접근 속도: SSD보다도 훨씬 빠르게 데이터를 읽고 쓸 수 있다.
  • 임의 접근(Random Access): 원하는 위치의 데이터를 직접 접근할 수 있어 빠르다.
  • 용량이 제한적: 저장장치에 비해 상대적으로 적은 용량을 갖는다.

RAM이 필요한 이유

RAM이 없다면 CPU는 모든 데이터를 저장장치(SSD/HDD)에서 가져와야 한다.
하지만 저장장치는 RAM보다 수십~수백 배 느리기 때문에, 매번 접근할 때마다 큰 병목이 발생한다.
또한, RAM은 운영체제와 각종 실행 프로그램의 필수 기반 공간이기 때문에, 부족하면 다음과 같은 문제가 발생한다:

  • 프로그램 실행 속도 저하
  • 빈번한 스와핑으로 인한 SSD 수명 단축
  • 멀티태스킹 불가능
  • 시스템 프리징

SRAM과 DRAM

RAM은 내부 구조에 따라 크게 SRAMDRAM으로 나뉜다.

 

구분 SRAM (Static RAM) DRAM (Dynamic RAM)
저장 방식 플립플롭으로 저장 축전기(캐패시터)로 저장
속도 매우 빠름 비교적 느림
가격 고가 저가
용도 CPU 캐시(L1, L2 등) 일반 시스템 메모리(RAM)
필요 회로 리프레시 회로 불필요 주기적 리프레시 필요
 

일반적으로 우리가 ‘RAM’이라고 말하는 것은 DRAM을 의미한다.
SRAM은 소량만 사용되며 CPU 캐시 등 극한의 속도가 요구되는 곳에만 쓰인다.

 


DRAM의 종류

RAM 중에서도 우리가 일반적으로 사용하는 것은 DRAM(Dynamic RAM)이다. DRAM은 전하를 저장하는 축전기를 기반으로 동작하며, 시간이 지나면 전하가 새기 때문에 주기적인 리프레시가 필요하다.
이 DRAM도 발전 과정에 따라 다양한 종류가 존재한다.

SDRAM (Synchronous DRAM)

  • CPU 클럭과 동기화되어 동작하는 DRAM
  • 이전의 비동기 방식보다 성능이 향상됨
  • 1990년대에 보급되었고, 현재는 거의 사용되지 않음

DDR SDRAM (Double Data Rate SDRAM)

  • 클럭의 상승과 하강 에지 모두에서 데이터를 전송
  • SDRAM보다 2배의 전송 속도
  • DDR → DDR2 → DDR3 → DDR4 → DDR5로 지속적인 발전

 

세대 출시 시기 전압(V) 전송 속도 특징
DDR 2000년 2.5 266~400MT/s 최초의 더블 데이터 레이트
DDR2 2003년 1.8 400~1066MT/s 전력 절감 및 속도 향상
DDR3 2007년 1.5 800~2133MT/s 더 낮은 전력 소모
DDR4 2014년 1.2 1600~3200MT/s 대역폭 확장, 안정성 강화
DDR5 2020년 1.1 4800MT/s 이상 전력 효율, 병렬성 대폭 증가
 

LPDDR (Low Power DDR)

  • 모바일 기기에 최적화된 DDR
  • 전력 소모를 줄이는 데 초점
  • 스마트폰, 태블릿, 초경량 노트북 등에서 사용

버전 사용 예시 특징
LPDDR2 초기 스마트폰 낮은 전력, 낮은 속도
LPDDR4 중~고급 스마트폰 전력 대비 성능 향상
LPDDR5 플래그십 기기 고속 데이터 처리, 전력 최적화
 

GDDR (Graphics DDR)

  • GPU에 사용되는 전용 메모리
  • 병렬 처리에 최적화된 대역폭 중심 구조
  • 게이밍, 딥러닝, 3D 렌더링 등 그래픽 연산 집중 작업에 적합

버전 사용 분야 특징
GDDR5 중급 GPU 널리 보급된 세대
GDDR6 최신 GPU 고대역폭, 낮은 지연
GDDR6X 하이엔드 GPU 초고속 메모리 처리
 

메모리의 주소 공간

RAM은 단순한 저장 공간을 넘어서, 운영체제가 프로그램을 관리하는 데 필요한 논리적 구조를 제공한다.
이때 중요한 개념이 바로 주소 공간(Address Space)이다.

정의 및 설명

주소 공간은 메모리 상에서 접근 가능한 모든 주소의 범위를 의미한다.
쉽게 말하면, 프로그램이 사용할 수 있도록 주어진 메모리 구역이다.

  • 32비트 시스템: 2³² = 약 4GB
  • 64비트 시스템: 2⁶⁴ = 거의 무한에 가까움

물리 주소와 논리 주소

컴퓨터 시스템에서는 메모리를 두 가지 방식으로 구분한다.


구분 설명
물리 주소 실제 RAM의 주소. 하드웨어 입장에서의 위치
논리 주소 프로그램 입장에서의 주소. 가상의 메모리 공간
 

물리 주소

  • 실제 메모리 칩에 대응되는 주소
  • CPU가 직접 접근할 수 있는 메모리 위치
  • 물리적으로 고정되어 있음

논리 주소

  • 각 프로그램에 고유하게 부여되는 가상 주소 공간
  • 운영체제가 각 프로세스마다 독립된 논리 주소를 제공
  • 실제 메모리와 직접 대응되지 않음

논리 주소 → 물리 주소 변환 과정

프로그램은 논리 주소를 사용해 데이터를 요청하고, 운영체제는 해당 논리 주소를 실제 메모리 주소인 물리 주소로 변환해준다. 이 과정은 다음 구성 요소들이 담당한다:

  1. Base Register (베이스 레지스터): 시작 위치
  2. Limit Register (한계 레지스터): 허용 범위

MMU가 변환하는 과정

변환 과정은 MMU(Memory Management Unit)가 수행한다.

  • CPU가 논리 주소를 생성
  • MMU가 논리 주소 + base 값을 더해 물리 주소를 생성
  • 한계(limit)를 초과하면 메모리 접근 오류

논리 주소와 물리 주소 개념이 중요한 이유

  • 보안: 각 프로그램은 자기 주소 공간만 접근 가능
  • 안정성: 잘못된 접근을 방지
  • 다중 실행: 여러 프로그램이 동시에 RAM을 나누어 사용 가능
  • 프로세스 격리: 하나의 프로그램 오류가 전체 시스템에 영향을 미치지 않음

 


메모리 보호 기법

메모리는 프로그램이 실행되는 핵심 공간이다. 모든 프로세스가 이 공간을 공유하기 때문에, 하나의 잘못된 접근이 전체 시스템을 불안정하게 만들 수 있다. 이를 방지하기 위해 운영체제는 다양한 메모리 보호 기법을 도입한다.

정의

메모리 보호는 각 프로세스가 자신의 주소 공간만 사용할 수 있도록 제한하는 기술이다.
즉, 하나의 프로그램이 다른 프로그램이나 운영체제의 메모리를 침범하지 못하도록 막는다.


왜 메모리 보호가 필요할까?

  • 잘못된 포인터 연산, 버퍼 오버플로우 등의 오류 방지
  • 운영체제 커널 공간 보호
  • 사용자 간 데이터 격리
  • 악성 코드로부터 시스템 보호

메모리 보호는 단순한 안전장치가 아니라 시스템 전체의 안정성과 신뢰성을 유지하는 핵심 기초 장치다.


베이스 & 한계 레지스터 기반의 주요 메모리 보호 기법

고전적인 방식 중 하나는 Base Register(베이스 레지스터)Limit Register(한계 레지스터)를 이용하는 방식이다.

  • Base Register: 해당 프로세스의 메모리 시작 위치
  • Limit Register: 해당 프로세스가 접근 가능한 메모리 크기

이 구조를 통해 다음과 같은 보호가 가능하다:

[ 논리 주소 ] + [ 베이스 주소 ] = [ 물리 주소 ]
    ↓
물리 주소가 베이스 ~ (베이스 + 한계) 범위를 벗어나면 → 접근 거부

 

장점:

  • 하드웨어 기반이라 속도가 빠르다
  • 구현이 단순하다

단점:

  • 프로그램을 중간에 나눠서 로딩하거나 공유 메모리 사용이 어려움
  • 세분화된 보호가 불가능함

이 방식은 현대 시스템의 세그먼트 기반, 페이지 기반 메모리 관리의 기초가 되었다.

 


캐시 메모리

RAM보다 더 빠른 메모리가 있다면 어떨까? 바로 그것이 캐시(Cache) 메모리다. 캐시는 CPU와 RAM 사이에 위치해, 자주 사용하는 데이터를 더 빠르게 접근할 수 있도록 도와준다.

정의

캐시 메모리는 CPU 내부 혹은 가까운 위치에 존재하는 초고속 메모리로, 최근에 사용되었거나 곧 사용될 데이터를 미리 저장해 둔다.
RAM보다 용량은 작지만 속도는 훨씬 빠르다.


왜 캐시 메모리가 필요할까?

  • CPU는 연산 속도가 매우 빠르지만, RAM은 상대적으로 느리다.
  • RAM에서 매번 데이터를 가져오면 CPU가 빈번히 대기하게 된다.
  • 캐시는 이런 병목을 줄이고, CPU가 최대한 쉬지 않고 일할 수 있게 도와준다.

L1, L2, L3 캐시

캐시는 구조에 따라 계층적으로 나뉜다. 각 계층은 속도와 용량, 위치가 다르다.


구분 위치 속도 용량 공유 여부
L1 CPU 코어 내부 매우 빠름 작음 (수십 KB) 코어별 개별
L2 CPU 코어 내부/인근 빠름 중간 (수백 KB~수 MB) 코어별 또는 공유
L3 CPU 외부/공유 영역 느린 편 (그래도 빠름) 큼 (수 MB~수십 MB) 보통 전체 코어 공유

저장 장치 계층 구조

아래는 메모리 계층 구조를 단순화한 예시다.
위로 갈수록 속도는 빠르지만 용량은 작고, 아래로 갈수록 용량은 크지만 느려진다.

 
레지스터
  ↑
L1 캐시
  ↑
L2 캐시
  ↑
L3 캐시
  ↑
RAM
  ↑
SSD / HDD

L1, L2, L3 캐시의 위치

  • L1: CPU 연산 유닛 바로 옆. 속도 최우선. 프로그램 명령어와 데이터 캐시가 분리되기도 함.
  • L2: L1보다 큼. 일부는 코어 내부, 일부는 외부에 위치.
  • L3: CPU 외부에 위치하거나, 최신 CPU에서는 코어 간 공유 형태로 존재.

참조 지역성 원리

캐시는 데이터 접근 패턴을 예측하기 위해 두 가지 지역성(Locality) 원칙을 활용한다.

  • 시간 지역성: 최근에 접근한 데이터는 다시 접근할 가능성이 높다.
  • 공간 지역성: 현재 주소 근처의 데이터도 접근할 가능성이 높다.

캐시 히트와 캐시 미스

  • 캐시 히트: CPU가 찾는 데이터가 캐시에 있는 경우 → 빠른 접근
  • 캐시 미스: 데이터가 캐시에 없어 RAM 또는 그 이하 계층에서 가져와야 하는 경우 → 속도 저하

캐시의 효율을 높이기 위해 다양한 캐시 교체 정책사전 적재 전략이 사용된다.


캐시 동작 과정

  1. CPU는 필요한 데이터를 먼저 L1에서 찾는다.
  2. 없으면 L2 → L3 → RAM 순으로 내려가며 찾는다.
  3. 데이터를 찾으면 상위 캐시에 다시 저장해 다음에 더 빠르게 접근할 수 있게 한다.

캐시의 종류

  • 데이터 캐시(Data Cache): 변수, 배열 등의 데이터를 저장
  • 명령어 캐시(Instruction Cache): 프로그램 실행 명령어를 저장

 


RAM 용량이 많으면 많을수록 좋다?

컴퓨터를 업그레이드할 때 빠지지 않는 질문이 있다. "RAM은 많을수록 좋은 걸까?" 정답은 상황에 따라 다르다.

RAM이 많을 때의 장점

  • 더 많은 프로그램을 동시에 실행 가능
  • 고용량 데이터를 다루는 작업에 유리 (예: 영상 편집, 가상 머신, 대규모 데이터 처리)
  • 디스크를 사용하는 스와핑 발생 가능성 감소
  • 캐시나 버퍼로 사용할 여유 공간 확보

그러나, 무조건 좋은 건 아니다

  • 용도에 따라 과한 RAM은 낭비가 된다.
  • 일반적인 웹 서핑, 문서 작업, 스트리밍 용도라면 8~16GB도 충분하다.
  • 운영체제와 사용 환경이 활용하지 못하면 남는 RAM은 그냥 놀고 있는 자원일 뿐이다.
  • 데스크탑이라면 업그레이드가 쉬우므로 처음부터 최대한 올릴 필요는 없다.

예외: RAM을 적극적으로 활용하는 경우

  • RAM 디스크(RAMDisk) 사용
  • 대형 개발 환경 (예: Android Studio + Emulator)
  • 여러 개의 가상 환경 동시에 실행
  • 전문 그래픽 작업, 3D 렌더링, 과학 계산

결론적으로, RAM은 많을수록 좋다는 말이 무조건 많이 사야 한다는 뜻은 아니다.
자신의 사용 목적에 맞는 용량을 확보하는 것이 핵심이다.

 


CPU와 RAM의 상관관계

CPU와 RAM은 서로 독립적인 부품처럼 보이지만, 실질적으로는 긴밀하게 연결되어 있다.

빠른 CPU가 있어도 RAM이 느리거나 부족하면 성능을 제대로 발휘하지 못한다.

반대로 RAM이 충분하더라도 CPU가 너무 느리면 작업 속도는 개선되지 않는다.

속도 vs 용량

  • CPU는 연산 속도, RAM은 데이터 접근 속도와 용량에 영향을 준다.
  • CPU가 처리할 연산이 아무리 빨라도, 데이터를 기다리는 시간이 많으면 그 속도는 의미가 없다.
  • RAM이 충분하지 않으면 디스크 스와핑이 발생하고, 이때 CPU는 디스크 I/O를 기다리며 정지 상태가 된다.

캐시와 RAM 사이의 관계

  • CPU 내부에는 L1~L3 캐시가 존재하고, 그 아래 단계가 RAM이다.
  • 캐시 미스가 발생할 때마다 RAM을 참조하게 되므로, RAM의 응답 속도(latency)도 중요하다.
  • 고성능 CPU일수록 RAM 속도와 대역폭의 영향이 더 커진다.

병목(Bottleneck) 현상의 대표 예


구성 증상
고성능 CPU + 저용량 RAM CPU는 쉬지 않고 연산 가능하지만, 자주 스와핑 발생 → 전체 성능 저하
저성능 CPU + 고용량 RAM 메모리는 여유 있지만, 연산 처리가 느려서 작업 완료 시간 지연
 

실제 구성 시 고려사항

  • CPU 세대와 메모리 지원 규격이 호환되는지 확인 (예: DDR4 vs DDR5)
  • 용량뿐 아니라 RAM의 클럭 속도와 채널 구성도 성능에 영향을 준다
  • 메모리 오버클럭이 가능한 시스템에서는 RAM 성능 향상도 체감 가능

결론적으로, CPU와 RAM은 둘 중 하나만 좋아서는 안 된다.
컴퓨터 성능을 최적화하려면 두 부품이 서로의 속도와 특성에 맞춰 조화롭게 구성되어야 한다.

'CS > 컴퓨터 구조' 카테고리의 다른 글

저장 장치  (0) 2025.06.18
CPU (2)  (1) 2025.06.18
CPU (1)  (0) 2025.06.18
컴퓨터에게 명령하기  (0) 2025.06.17
컴퓨터가 사용하는 데이터 (0과 1)  (0) 2025.06.17