메모리 계층 구조
본 서비스가 제공하는 내용 및 자료가 사실임을 보증하지 않습니다. 시스템은 언제나 실수를 할 수 있습니다. 중요한 의사결정 및 법리적 해석, 금전적 의사결정에 사용하지 마십시오.
메모리 계층 구조(Memory Hierarchy)는 컴퓨터 시스템의 효율성을 극대화하기 위해 메모리를 접근 속도, 용량, 가격에 따라 여러 단계로 나누어 배치한 구조이다. CPU가 데이터에 접근하는 시간을 단축하는 것이 주요 목적이며, 상위 계층일수록 속도가 빠르고 비용이 높으며 용량이 작고, 하위 계층으로 갈수록 속도가 느리고 비용이 저렴하며 용량이 커지는 특성을 가진다.
개요
메모리 계층 구조는 메모리를 필요에 따라 여러 가지 종류로 나누어 두는 것을 의미한다. 이는 주로 CPU가 메모리에 더 빨리 접근할 수 있도록 하기 위함이다. CPU의 연산 속도는 비약적으로 발전했으나 메모리에서 데이터를 공급하는 속도가 이를 따라가지 못하는 병목 현상이 발생함에 따라, 빠른 메모리 요구가 대두되었다.
계층별 구성
현대 컴퓨터 시스템의 메모리 계층은 일반적으로 다음과 같이 구성된다.
- L0 (레지스터): CPU 내부에 존재하며 가장 빠르고 용량이 작다.
- L1/L2/L3 (캐시 메모리): SRAM 기반으로 CPU 내부 또는 근처에 위치하며, 데이터 버스를 거치지 않고 프로세서에 데이터를 전달할 수 있다.
- L4 (주기억 장치): DRAM 기반의 메인 메모리로 CPU와 직접 통신이 가능하다.
- L5 (로컬 디스크): 하드 디스크 등 보조 기억 장치로 CPU가 직접 접근할 수 없으며 데이터를 메모리로 이동시킨 후 접근해야 한다.
- L6 (원격 저장소): 네트워크를 통한 원격 디스크나 웹 서버 파일 등이 해당한다.
계층 구조의 특성
계층 구조를 따라 아래로 내려갈수록 다음과 같은 변화가 나타난다.
- 비트당 비용 감소: 물리적 위치가 낮은 계층일수록 저장 비용이 저렴해진다.
- 용량 증가: 상위 계층보다 훨씬 많은 데이터를 저장할 수 있다.
- 접근 시간 증가: 데이터에 접근하는 데 걸리는 시간이 길어지며 속도가 느려진다.
- 접근 빈도 감소: 상위 계층의 빠른 메모리를 통해 데이터를 처리하므로 하위 계층에 대한 접근 횟수가 줄어든다.
참조 지역성
메모리 계층 구조가 효율적으로 작동하는 근거는 **참조 지역성(Locality of Reference)**에 있다. 프로그램은 특정 데이터나 명령어를 반복적으로 참조하는 경향이 있다. 자주 사용되는 데이터를 상위 계층의 빠른 메모리에 복사해 두면, CPU가 느린 하위 계층까지 가지 않고도 데이터를 즉시 얻을 수 있어 전체 시스템 성능이 향상된다.
주기억 장치와 보조 기억 장치
기억 장치는 크게 주기억 장치와 보조 기억 장치로 분류된다.
- 주기억 장치: CPU가 현재 사용하는 정보가 저장되며 RAM과 ROM으로 구성된다. RAM은 읽고 쓰기가 가능하며, ROM은 부트스트랩 로더와 같이 전원이 켜졌을 때 운영체제를 적재하는 초기화 프로그램을 저장한다.
- 보조 기억 장치: 주기억 장치를 제외한 모든 정보를 저장하며, 용량이 크고 전원이 꺼져도 데이터가 유지된다.