티스토리 뷰

🟩 학습 목표

  • CPU가 유일하게 직접 접근하는 저장 공간인 메모리의 특징과 계층 구조를 파악한다.
  • 물리 주소와 논리 주소의 차이를 이해하고 이를 연결하는 MMU의 역할을 습득한다.
  • 멀티 프로세스 환경에서 시스템 붕괴를 막는 메모리 보호 기법의 원리를 이해한다.

🟧 1. 메모리의 특징과 계층 구조

🟦 주기억장치의 주요 특성

메모리는 CPU가 직접 명령어를 읽고 데이터를 처리할 수 있는 유일한 공간이다.

  • 휘발성 : 전원이 차단되면 데이터가 소멸하는 특징이 있다. (RAM 기준)
  • 성능 : 보조기억장치보다 월등히 빠르지만 용량 대비 단가가 매우 높다.
  • 주소 체계 : 특정 위치를 찾기 위해 번지수(Address)라는 숫자를 부여해 관리한다.

🟦 메모리 계층 구조 (Hierarchy)

CPU와의 물리적 거리에 따라 속도, 용량, 가격이 비례하는 구조를 가진다. 가까울수록 빠르고 비싸며, 멀어질수록 느리고 저렴해진다.

  1. 레지스터 : CPU 내부의 가장 빠른 저장소.
  2. 캐시 (L1, L2, L3) : CPU와 RAM 사이의 속도 격차를 줄여주는 완충 지대.
  3. 주기억장치 (RAM) : 프로그램 실행 시 데이터가 올라오는 일반적인 메모리 공간.
  4. 보조기억장치 (SSD, HDD) : 데이터를 영구적으로 보관하는 대용량 저장소.

🟧 2. 메모리 주소 공간 (Address Space)

🟦 물리 주소와 논리 주소의 분리

컴퓨터는 하드웨어 효율성과 소프트웨어 보안을 위해 주소 공간을 이원화하여 관리한다.

  • 물리 주소 : 실제 메모리 칩(RAM)에 물리적으로 할당된 하드웨어 주소다.
  • 논리 주소 : 실행 중인 프로그램(프로세스)이 자신의 시작점을 0번지라고 가정하고 사용하는 가상 주소다.

🟦 MMU (Memory Management Unit)

MMU는 CPU가 요청하는 논리 주소를 실제 데이터가 담긴 물리 주소로 실시간 번역해 주는 하드웨어 장치다. 이를 통해 각 프로그램은 서로의 실제 위치를 몰라도 충돌 없이 독립적으로 작동할 수 있다.


🟧 3. 메모리 보호 기법 (Memory Protection)

🟦 시스템 붕괴 방지를 위한 제어

여러 프로그램이 동시에 구동될 때, 특정 프로세스가 타 영역이나 운영체제(OS) 영역을 침범하는 것을 방지하는 기술이다.

  • 경계 레지스터 : 프로세스가 접근 가능한 시작 주소(Base)와 크기(Limit)를 설정하여 범위를 벗어나면 인터럽트를 발생시켜 차단한다.
  • 보호 비트 : 메모리 영역마다 읽기 전용, 쓰기 가능, 실행 가능 등의 권한을 부여해 코드 오염을 막는다.
  • 주소 변환 기반 보호 : MMU를 통한 변환 과정 자체가 보호막 역할을 하며, 프로세스는 자신에게 허용된 논리 주소 범위 외에는 물리적 접근 경로가 원천 차단된다.

🟧핵심 요약

  • 메모리 계층 구조는 속도와 비용의 트레이드오프를 해결하기 위한 하드웨어적 지혜다.
  • MMU와 논리 주소의 존재는 현대 멀티태스킹 환경을 지탱하는 핵심 보안 장치다.
  • 효율적인 프로그램 설계를 위해서는 데이터가 주소 공간에 어떻게 배치되고 보호되는지 이해하는 것이 필수적이다.