RAM
RAM은 CPU가 바로 읽고 쓰는 저장 공간이다. RAM의 바이트마다 0번부터 번호가 붙어 있고, CPU는 그 번호(주소)로 「몇 번 바이트를 읽어라」 하고 읽는다. 실행 중인 프로그램과 그 데이터, 운영체제 커널까지 전부 여기 올라와 있다. 전원이 꺼지면 지워진다.
이 페이지는 RAM을 여섯 장으로 나눠 파 내려간다. 2장까지 했다.
이 PC의 RAM — 마지막으로 잰 값
- 막대 · P0 CHANNEL A
- JM5600ASE-32G · 32 GB DDR5 SO-DIMM · 2랭크 · 4800 MT/s
- 막대 · P0 CHANNEL B
- JM5600ASE-32G · 32 GB DDR5 SO-DIMM · 2랭크 · 4800 MT/s
- 꽂힌 양
- 64 GB (막대 2장)
- 운영체제가 쓰는 양
- 62.8 GB
- 잰 때 비어 있던 양
- 24.6 GB
LENOVO ThinkPad E14 Gen 6 · 2026-10-11 11:04에 잰 값 · 다시 재려면 pwsh tools/hardware-snapshot.ps1
- 막대는 RAM 칩을 여러 개 얹어 보드에 꽂는 막대 모양 부품이다. SO-DIMM은 노트북용 짧은 막대, DDR5는 RAM 규격의 세대(다섯째)다
- MT/s는 1초에 데이터를 몇 백만 번 주고받는지다. 3장에서 다시 본다
- 표의 CHANNEL A · B는 CPU 쪽에서 막대로 가는 길(메모리 채널) 두 갈래다. 막대가 한 길에 한 장씩 꽂혀 있다
- 이 막대의 제품 사양은 2Rx8이다. 2랭크(2R)이고 칩이 x8 종류라는 뜻으로, 막대 하나에 16Gb 칩 16개가 있다. 소문자 b는 비트라 16Gb = 2 GB다. 랭크와 x8은 2장에서 푼다
- 「꽂힌 양」과 「운영체제가 쓰는 양」이 다른 이유는 6장에서 본다
RAM은 여섯 장으로 나눠 판다
- 셀 하나 — 비트 하나가 어떻게 저장되나. 끝냈다
- 셀이 모인 모양 — 뱅크 · 행 · 열 · 행 버퍼, 64바이트를 칩 넷이 나눠 낸다. 끝냈다
- CPU와 RAM 사이 — 메모리 컨트롤러 · 채널 · 전송 속도, 64바이트가 CPU까지 오는 길. 다음 차례다
- 주소가 두 가지 — 프로그램이 보는 가상 주소와 RAM의 물리 주소, 페이지 테이블 · MMU · TLB
- 운영체제가 메모리를 나눠 주는 법 — OS 메모리 분야와 잇는다
- 꽂힌 양과 운영체제가 쓰는 양이 다른 이유 — 내장 그래픽과 펌웨어가 떼어 가는 몫
1장. RAM 셀 하나는 축전기 하나와 트랜지스터 하나다
- RAM(정확히는 DRAM, Dynamic RAM)의 셀 하나는 축전기 하나와 트랜지스터 하나다. 축전기는 전하를 담는 작은 통이고, 전하가 차 있으면 1, 비어 있으면 0이다. 트랜지스터는 그 통과 바깥 선(비트선) 사이의 문이다. 그 셀이 든 행을 열 때만 열린다
- 축전기의 전하는 조금씩 샌다. 그래서 메모리 컨트롤러가 주기적으로 리프레시 명령을 보내고, 칩은 그때마다 행 몇 개씩을 읽었다가 다시 채운다(행은 2장에서 푼다). DDR5 표준값으로는 명령을 3.9 µs마다 보내서 32 ms 안에 모든 행을 한 바퀴 돈다 — 32 ms 동안 명령이 약 8,200번이니, 명령 한 번에 행을 여러 개 채운다. 표준 원문과 이 PC 설정은 확인하지 않았다
- 셀을 읽을 때 문이 열리면 통의 전하가 비트선으로 흘러 나간다(파괴적 읽기). 흘러 나간 아주 작은 전압 차이를 2장의 센스 앰프가 키워서 0인지 1인지 가리고, 그 값을 곧바로 셀에 다시 써 넣는다
- 전원이 꺼지면 다시 채워 줄 수 없어서 값이 사라진다. RAM이 휘발성인 이유다
- 다른 저장 칸과 비교하면 이렇다
- CPU 캐시의 셀(SRAM)은 트랜지스터 6개가 두 갈래로 서로의 상태를 붙잡는 회로라, 전원이 있는 동안 값이 저절로 유지된다. 리프레시가 필요 없고 빠르다. 대신 셀 하나가 차지하는 면적이 커서 작게만 둔다
- SSD(NAND 플래시)는 전하를 절연막 안에 가둬서 전원 없이도 남는다
2장. RAM 셀은 뱅크 안에 행과 열로 놓이고, 한 행씩 연다
이 PC 막대의 칩(16Gb x8)으로 본다. 숫자는 칩 제조사가 낸 사양 문서인 Micron 16Gb DDR5 데이터시트의 Table 1이다. 메모리 표준 단체(JEDEC)가 정한 구성이라 다른 회사 칩도 같다고 봤다. 이 막대에 실제로 어느 회사 칩이 들었는지는 확인하지 않았다.
- 칩 안의 셀은 큰 바둑판 여러 장으로 나뉘어 있다. 바둑판 하나가 뱅크다. 이 칩은 뱅크가 32개이고, 뱅크 4개씩이 한 뱅크 그룹(8개)이다
- 뱅크 하나는 65,536행 × 1,024열이다. x8 칩은 데이터를 한 번에 8비트씩 내보내는 칩이라, 열 번호 하나가 셀 8개(8비트)를 한꺼번에 가리킨다. 그래서 행 하나가 1,024 × 8비트 = 1 KB이고, 65,536 × 1 KB × 32 = 칩 하나 2 GB다
- 셀 하나만 집어 읽지 못한다. 셀 하나의 전하가 너무 작아서, 한 행을 통째로 센스 앰프로 끌어와 키운 다음에 읽기 때문이다. 순서는 이렇다
- ACTIVATE — 한 행 전체를 센스 앰프로 끌어온다. 센스 앰프는 행 길이만큼 늘어선 회로로, 끌어온 값을 키워 붙잡고 행에 다시 써 넣는다. 이 줄을 행 버퍼라고도 부른다. 1장의 리프레시도 칩 안에서 행을 이렇게 열었다 닫는 일이다
- READ · WRITE — 행 버퍼에서 필요한 열만 골라 읽거나 고친다. 행이 열려 있는 동안은 행 버퍼와 셀이 이어져 있어서, 고친 값이 셀에도 같이 들어간다
- PRECHARGE — 행을 닫는다. 비트선을 중간 전압으로 미리 맞춰 놓아야(그래서 이름이 「미리 충전」이다) 다음 행의 작은 전압 차이를 가릴 수 있어서, 다른 행을 읽으려면 닫고 새로 열어야 한다
- 그래서 같은 행을 이어 읽으면 빠르고(행 적중), 다른 행이면 닫고 여는 시간이 붙어 느리다(행 충돌)
- 뱅크마다 행 버퍼가 따로 있어서, 한 뱅크가 행을 여는 동안 다른 뱅크에서 읽는다. 행을 여는 느림을 이렇게 숨긴다. 다만 같은 뱅크 그룹의 뱅크는 데이터를 내보내는 회로를 같이 써서 연달아 접근하면 간격이 더 길다. 데이터시트에서는 그 간격을 tCCD_L(같은 그룹)과 tCCD_S(다른 그룹)라 부르고 tCCD_L이 더 길다. 짧은 시간에 열 수 있는 행 수에도 한도가 있다(tRRD · tFAW)
- 데이터시트는 행 하나(1 KB)를 page라 부른다. 운영체제가 메모리를 4 KB씩 나눠 관리하는 페이지와는 다른 것이다
2장. 64바이트 한 번은 칩 넷이 16바이트씩 나눠 낸다
CPU는 RAM을 한 바이트씩 가져가지 않고 64바이트(캐시 라인)씩 가져간다 — CPU 페이지. 그 64바이트가 칩에서 나오는 모양이다.
- DDR5 막대 하나에는 독립된 32비트 길(서브채널)이 둘 있다. 표의 CHANNEL A · B가 CPU에서 막대까지의 길이라면, 서브채널은 막대 하나 안을 다시 둘로 나눈 길이다. x8 칩 넷(8비트 × 4 = 32비트)이 서브채널 하나를 채운다
- 칩 넷은 같은 명령을 받아 같은 뱅크 · 같은 행을 함께 연다. READ 한 번에 각 칩이 이어진 열 16개를 16번에 나눠 내보낸다(버스트 길이 16, BL16). 한 번 내보낼 때마다 칩 넷이 8비트씩 동시에 내서 4바이트가 나란히 선다. 그걸 16번 하면 4바이트 × 16 = 64바이트 = 캐시 라인 하나다
- 그래서 이웃한 바이트 넷은 서로 다른 칩에 있다. 칩 하나는 64바이트 가운데 네 바이트마다 하나씩, 16바이트를 맡는다
- 이 PC 막대는 2랭크다. 랭크는 같은 데이터 선(칩과 CPU 사이에 데이터가 다니는 선)을 번갈아 쓰는 칩 묶음이다. 서브채널 2 × 랭크 2 × 칩 4 = 칩 16개다
- CPU 코어와 운영체제는 RAM을 0번부터 빈틈없이 이어진 번호(물리 주소)로만 본다. 그 번호를 「서브채널 · 랭크 · 뱅크 · 행 · 열」로 푸는 건 CPU 안의 메모리 컨트롤러다. 어떻게 푸는지는 3장에서 본다
RAM의 1 · 2장을 정하기까지
이 블로그에는 컴퓨터를 「땅 위의 도시와 도서관」으로 빗댄 세계관이 있다. 메모리는 땅(벌판), CPU는 땅 밑 작업대다. 처음에는 RAM 1 · 2장을 그 비유로 팠다 — 셀은 「구덩이에 흙」, 뱅크와 행 버퍼는 「판과 탁자」 같은 식이었다. 그러다 부품을 하나씩 땅에 놓다가 메인보드에서 「그럼 땅이 메인보드가 되나?」가 나왔다. 그대로 가면 비유가 아니라 컴퓨터 배치도를 그리게 된다. 그래서 2026-10-10에 하드웨어는 비유하지 않고 있는 그대로 보기로 했다. 비유로 팠던 경로와 버린 비유는 세계관 페이지의 「이 세계관을 정하기까지」에 있다.