CPU 비트 수·주소 공간·RAM 한계의 원자료
이 글의 목차
← LLM Wiki / 개발·기술 / 컴퓨터 구조

CPU 비트 수·주소 공간·RAM 한계의 원자료

WDC·Intel SDM·Microsoft·Linux 문서로 데이터 폭, PAE, 57비트 주소와 56비트 사용자 공간을 구분한다.

CPU의 비트 수, 주소의 비트 수, 제품의 최대 RAM 사양을 구분할 때 사용할 원자료를 정리한다. 8비트 CPU의 16비트 주소, 32비트 x86의 PAE, x86-64의 48·57비트 가상 주소는 서로 다른 폭이 공존하는 사례다.

먼저 구분할 항목

항목뜻다른 항목과 혼동하면 생기는 오류
기본 정수 데이터 폭범용 정수 레지스터와 연산 모델에서 다루는 폭CPU 안의 모든 회로·명령·주소가 같은 폭이라고 생각함
가상·선형 주소 폭프로그램이 사용하는 주소와 페이징 입력의 범위시스템 전체 물리 RAM과 한 프로세스의 공간을 같게 봄
물리 주소 폭주소 변환 이후 하드웨어가 구분하는 물리 주소의 범위주소 공간을 전부 장착 가능한 RAM으로 계산함
제품의 최대 RAM컨트롤러·모듈·플랫폼 등의 지원 조건64비트 CPU면 무조건 16EiB를 장착한다고 생각함

바이트 주소 지정에서 nn비트 주소의 공간은 2n2^n바이트다. 이 식의 nn은 해당 주소의 폭이다. 16비트는 64KiB, 32비트는 4GiB, 36비트는 64GiB, 46비트는 64TiB, 52비트는 4PiB, 64비트는 16EiB다. 제품 사양의 GB·TB 표기와 이진 접두어를 구별한다.

WDC: 8비트 데이터와 16비트 주소

W65C02S의 데이터 버스·ALU·A·X·Y는 8비트, 주소 버스·프로그램 카운터는 16비트다. 절대 주소 지정 명령에서는 opcode 뒤의 두 바이트가 16비트 주소를 만든다. STA $0200의 인코딩은 8D 00 02이며, 낮은 주소 바이트가 먼저 온다.

W65C02S 프로그래밍 모델

8비트 A·X·Y와 16비트 PC의 비교. WDC 데이터시트, 8쪽 Figure 2-2

이 자료는 초기 MOS 6502와 구별되는 CMOS 계열 W65C02S의 문서다. 같은 계열의 공통 구조를 설명할 때 유용하지만 확장 명령·타이밍·동작 차이를 원래 6502에 그대로 적용하지 않는다.

Intel: PAE와 구현별 물리 주소 폭

Pentium Pro부터 PAE로 36비트, 2362^{36}바이트의 물리 주소 공간을 지원했다. 현대 Intel 64의 물리 주소 폭은 구현에 따라 달라지며, 3.3.1절은 CPUID.80000008H:EAX[7:0]으로 그 폭을 확인하도록 설명한다. “32비트 CPU는 최대 4GiB RAM”을 아키텍처 전체의 불변 법칙으로 삼을 수 없는 직접 근거다.

Microsoft PAE 문서는 물리 주소 확장 이후에도 32비트 프로세스의 가상 주소 공간은 4GB 범위라는 점을 설명한다. 운영체제 지원과 실제 사용자 영역 제한은 별도로 확인해야 한다. Windows 가상 주소 공간 문서는 기본 사용자·시스템 분할을 읽을 때 유용하다.

PAE 지원, 운영체제 에디션의 지원, 메인보드의 RAM 확장 한도, 한 프로세스의 가상 주소 공간은 각각 다른 질문이다.

Intel 4004: 프로그램 메모리와 데이터 RAM

제조사 원문은 4비트 CPU에서 4K개의 8비트 프로그램 명령어와 5,120비트 데이터 RAM을 구분한다. 전자는 4KiB 프로그램 공간이고 후자는 640바이트다. 문서의 블록도에는 4비트 연산부와 12비트 프로그램 카운터가 함께 나온다. “4004는 4KB RAM”이라고 줄이면 서로 다른 저장 공간을 섞게 된다.

링크는 Intel이 현재 호스팅하는 주소가 아닌 원본 데이터시트의 외부 보존본이다. 배포 시점의 PDF 생성 날짜를 칩의 출시일이나 문서 최초 작성일로 쓰지 않는다.

제품 사양은 주소 공간과 다른 숫자다

Core Ultra 9 285K 공식 사양은 Instruction Set 64-bit, 최대 메모리 256GB, 메모리 채널 2개를 각각 기재한다. i5-9600K가 포함된 Intel 비교표는 최대 128GB를 기재한다. 확인일은 2026-10-18이며, 각 값은 해당 제품의 사양이다.

이 자료들은 CPU 분류만으로 최대 RAM을 계산할 수 없다는 예다. 특정 시스템의 증설 가능성에는 메인보드의 모듈 지원과 운영체제 조건까지 필요하다. 물리 주소 공간에는 RAM 외의 메모리 매핑 I/O도 포함될 수 있다. Xeon처럼 넓은 제품군은 정확한 모델 없이 특정 최대 RAM 수치를 전체에 적용하지 않는다.

Linux: 57비트 주소와 56비트 사용자 공간

Intel SDM의 CR4.LA57 설명은 4단계 페이징의 48비트 선형 주소와 5단계 페이징의 57비트를 구분한다. Linux 문서의 56비트는 사용자 공간에 관한 표현이다. 전체 가상 주소 공간과 사용자 쪽 범위를 혼용하지 않는다. 5단계 페이징 지원 여부와 실제 활성화 상태, 프로세스의 매핑 범위도 서로 같지 않다.

Linux에서는 다음 명령으로 시스템에 보고된 주소 폭을 확인할 수 있다.

LC_ALL=C lscpu | grep 'Address sizes'

physical과 virtual은 각 주소의 폭이며 설치된 RAM 용량이 아니다. 가상 머신에서는 게스트에 노출된 정보일 수 있다. 출력이 없으면 전체 LC_ALL=C lscpu와 환경의 지원 여부를 확인한다. 이 명령을 macOS 기본 명령으로 안내하지 않는다.

영상과 원자료를 함께 읽을 때

Core Dumped, You’ve Been Lied To About 64-Bit CPUs, 2026-10-16 게시, 13분 29초. 데이터 폭과 주소 폭의 분리를 설명하는 입문 자료다. 6분대 주소 조립과 8분대 가변 길이 명령어 예가 유용하다.

화면의 세부 표기는 원자료와 대조한다. 4004의 4 KB RAM은 위의 프로그램·데이터 메모리 구분으로 보정해야 한다. 6502 예시의 4C 09 80은 $8009로 점프하는 바이트열이므로 같은 행의 $800B 표기와 맞지 않는다. 32비트 x86 레지스터는 EAX·EBX 등이며 AX·BX는 16비트 이름이다. 말미 Xeon의 56 bits virtual은 표준 LA57의 57비트 전체 주소 폭과 구분한다. 이러한 표기 문제와 “CPU의 데이터 폭이 주소 폭을 자동으로 결정하지 않는다”는 핵심 설명의 타당성은 나눠 판단한다.

AI로 읽기 · Markdown
Markdown 열기 ↗
curl -fsSL 'https://www.readiz.com/llm-wiki/cpu-bit-width-address-space-memory-sources/index.md'

서비스 열기

열기 방식을 선택해 주세요.

새 브라우저 탭에서 열기현재 화면을 유지하며 별도 탭에서 사용합니다.

로그인이 필요하거나 창 안에서 열리지 않는 서비스는 새 브라우저 탭에서 열어 주세요.