본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

메모리 계층 구조(Memory Hierarchy)는 컴퓨터의 기억장치를 접근 속도·용량·비트당 비용에 따라 층으로 나누고, 빠르고 작은 장치일수록 CPU 가까이 두어 전체를 하나의 빠르고 큰 기억장치처럼 쓰게 하는 구성 방식이다.

빠른 기억장치는 비트당 값이 비싸 크게 만들 수 없고, 크고 싼 기억장치는 느리다. 한 종류만으로는 속도와 용량을 함께 얻을 수 없으므로 여러 종류를 층으로 쌓는다. 위층으로 갈수록 접근 속도가 빠르고, 용량이 작고, 비트당 비용이 높다. 아래층으로 갈수록 그 반대다.

이 구성이 효과를 내는 근거는 참조 지역성이다. 프로그램은 최근에 쓴 데이터와 그 주변을 다시 쓰는 경향이 있으므로, 자주 쓰는 부분만 위층에 복사해 두어도 대부분의 접근이 빠른 층에서 끝난다.

계층 위치 접근 속도 용량 비트당 비용 휘발성
레지스터 CPU 내부 가장 빠름 가장 작음(수십~수백 개) 가장 비쌈 휘발성
캐시 메모리 CPU 와 주기억장치 사이(L1·L2·L3) 매우 빠름 수 KB~수십 MB 비쌈 휘발성
주기억장치 메인보드(DRAM) 빠름 수 GB~수백 GB 보통 휘발성
보조기억장치 SSD, HDD 느림 수백 GB~수십 TB 쌈 비휘발성
이동식·보관용 매체 광 디스크, 자기 테이프 가장 느림 매체를 바꿔 끼우며 거의 무제한 가장 쌈 비휘발성

빠른 순서로 적으면 레지스터 → 캐시 메모리 → 주기억장치 → 보조기억장치다.

  • 레지스터는 CPU 가 연산할 값을 직접 담는 저장소라 별도 주소 지정 없이 한 클록 안에 읽힌다
  • 캐시는 주기억장치의 일부를 복사해 두는 고속 SRAM 이다. 레지스터보다 느리지만 주기억장치보다 훨씬 빠르다
  • 주기억장치는 CPU 가 직접 주소를 지정해 읽고 쓰는 마지막 층이다. 그 아래 보조기억장치는 입출력 장치를 거쳐야 한다

층 사이의 관계

편집 원본 편집
  • 포함성 — 위층의 내용은 대체로 바로 아래층에도 있다. 캐시의 블록은 주기억장치의 복사본이다
  • 적중과 부재 — 찾는 데이터가 그 층에 있으면 적중(hit), 없으면 부재(miss)이고, 부재가 나면 아래층에서 블록이나 페이지를 가져온다
  • 평균 접근 시간 — 적중률이 높을수록 전체 접근 시간이 위층의 속도에 가까워진다
  • 주기억장치와 보조기억장치 사이를 가상 메모리가, CPU 와 주기억장치 사이를 캐시 메모리가 잇는다