메모리 계층 구조
IT 위키
더 많은 작업
메모리 계층 구조(Memory Hierarchy)는 컴퓨터의 기억장치를 접근 속도·용량·비트당 비용에 따라 층으로 나누고, 빠르고 작은 장치일수록 CPU 가까이 두어 전체를 하나의 빠르고 큰 기억장치처럼 쓰게 하는 구성 방식이다.
빠른 기억장치는 비트당 값이 비싸 크게 만들 수 없고, 크고 싼 기억장치는 느리다. 한 종류만으로는 속도와 용량을 함께 얻을 수 없으므로 여러 종류를 층으로 쌓는다. 위층으로 갈수록 접근 속도가 빠르고, 용량이 작고, 비트당 비용이 높다. 아래층으로 갈수록 그 반대다.
이 구성이 효과를 내는 근거는 참조 지역성이다. 프로그램은 최근에 쓴 데이터와 그 주변을 다시 쓰는 경향이 있으므로, 자주 쓰는 부분만 위층에 복사해 두어도 대부분의 접근이 빠른 층에서 끝난다.
| 계층 | 위치 | 접근 속도 | 용량 | 비트당 비용 | 휘발성 |
|---|---|---|---|---|---|
| 레지스터 | CPU 내부 | 가장 빠름 | 가장 작음(수십~수백 개) | 가장 비쌈 | 휘발성 |
| 캐시 메모리 | CPU 와 주기억장치 사이(L1·L2·L3) | 매우 빠름 | 수 KB~수십 MB | 비쌈 | 휘발성 |
| 주기억장치 | 메인보드(DRAM) | 빠름 | 수 GB~수백 GB | 보통 | 휘발성 |
| 보조기억장치 | SSD, HDD | 느림 | 수백 GB~수십 TB | 쌈 | 비휘발성 |
| 이동식·보관용 매체 | 광 디스크, 자기 테이프 | 가장 느림 | 매체를 바꿔 끼우며 거의 무제한 | 가장 쌈 | 비휘발성 |
빠른 순서로 적으면 레지스터 → 캐시 메모리 → 주기억장치 → 보조기억장치다.
- 레지스터는 CPU 가 연산할 값을 직접 담는 저장소라 별도 주소 지정 없이 한 클록 안에 읽힌다
- 캐시는 주기억장치의 일부를 복사해 두는 고속 SRAM 이다. 레지스터보다 느리지만 주기억장치보다 훨씬 빠르다
- 주기억장치는 CPU 가 직접 주소를 지정해 읽고 쓰는 마지막 층이다. 그 아래 보조기억장치는 입출력 장치를 거쳐야 한다