Memory Architecture

컴퓨터 시스템의 메모리 아키텍처는 데이터를 효율적으로 저장하고 접근하기 위한 구조이다.

컴퓨터에서는 빠른 속도와 큰 용량을 동시에 얻기가 어렵다. 빠른 메모리는 비용이 매우 높고, 큰 용량의 메모리는 상대적으로 느리다. 이러한 기술적, 경제적 제약을 해결하기 위해 여러 층의 메모리를 계층적으로 구성하게 되었다.

메모리 계층 구조

메모리 계층 구조는 접근 속도와 용량에 따라 여러 단계로 구성된다:

  1. 레지스터:
    CPU 내부에 위치한 소용량의 초고속 메모리로, 현재 실행 중인 명령어와 관련된 데이터를 저장한다. 일반적으로 몇 비트에서 수십 비트 정도의 용량을 가지며, 접근 속도는 한 사이클 이내로 가장 빠르다.
  2. 캐시 메모리:
    주기억장치와 CPU 레지스터 사이에 위치하여, 자주 사용되는 데이터를 일시적으로 저장함으로써 CPU의 처리 속도를 향상시킨다. 일반적으로 L1, L2, L3 등의 여러 레벨로 구성되며, 레벨이 높아질수록 용량은 증가하지만 접근 속도는 감소한다.
  3. 주 메모리 (RAM):
    프로그램과 데이터를 일시적으로 저장하는 휘발성 메모리로, 시스템의 작업 공간 역할을 한다. 용량은 수 기가바이트에서 수십 기가바이트에 이르며, 캐시 메모리보다 접근 속도는 느리지만 더 많은 데이터를 저장할 수 있다.
  4. 보조 기억 장치:
    하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD)와 같은 비휘발성 저장 장치로, 대용량의 데이터를 영구적으로 저장한다. 주기억장치보다 접근 속도는 느리지만, 데이터의 영구 저장이 가능하다.

이러한 계층 구조는 데이터 접근 시간을 최소화하고 전체 시스템의 성능을 향상시킨다.

주요 메모리 유형

  1. RAM (Random Access Memory):

    • 휘발성 메모리로, 전원이 꺼지면 데이터가 사라진다.
    • SRAM(Static RAM)과 DRAM(Dynamic RAM)으로 구분된다.
  2. ROM (Read Only Memory):

    • 비휘발성 메모리로, 데이터가 영구적으로 저장된다.
    • PROM, EPROM, EEPROM 등 여러 종류가 있다.
  3. 캐시 메모리:

    • CPU와 주 메모리 사이에 위치한 고속 메모리이다.
    • 자주 사용되는 데이터를 저장하여 접근 속도를 높인다.
    • 운영체제는 페이징이나 세그먼테이션을 통해 가상 주소를 물리 주소로 변환한다.

메모리 관리 기법

  1. 가상 메모리:

    • 물리적 메모리 크기의 한계를 극복하기 위한 기술이다.
    • 하드 디스크의 일부를 RAM처럼 사용한다.
  2. 메모리 매핑:

    • 물리적 메모리 주소와 논리적 메모리 주소를 연결한다.
    • 프로그램의 메모리 접근을 관리한다.

최적화

  1. 캐싱: 자주 사용되는 데이터를 고속 메모리에 저장한다.
  2. 병렬 처리: 여러 메모리 유닛을 동시에 접근하여 처리 속도를 높인다.
  3. 메모리 인터리빙: 연속된 메모리 주소를 여러 메모리 뱅크에 분산 저장한다.

참고 및 출처