메모리 계층(Memory Hierarchy)이란?
- 성능과 용량의 균형을 맞추기 위해 다양한 종류의 메모리를 단계적으로 배열한 구조를 의미
- 레지스터(Register)
- CPU 내부에 있는 매우 빠른 메모리, CPU가 직접 접근할 수 있어 가장 빠른 속도를 자랑함(예 : CPU의 명령어 레지스터, 주소 레지스터)
- 캐시(Cache)
- CPU와 주기억장치 사이에 위치한 고속 메모리, 자주 사용되는 데이터를 저장하여 CPU가 더 빠르게 데이터를 읽고 쓸 수 있도록 도움
- 레지스터보다는 크지만 주기억장치보다 작고 빠름(예 : CPU 내부의 L1,L2 캐시, 메인보드의 L3 캐시)
- 주기억장치(Main Memory, RAM)
- 현재 실행 중인 프로그램과 데이터를 저장하는 휘발성 메모리, 시스템의 주된 작업 공간
- 캐시보다 크고 상대적으로 느리지만, 여전히 빠른 접근 속도를 가짐, 전원이 꺼지면 데이터가 사라짐 (예 : DDR4, DDR5 RAM)
- 보조기억장치(Secondary Storage)
- 데이터를 영구적으로 저장하는 장치, 용량이 크고 비휘발성
- 주기억장치보다 훨씬 크고 느리지만 데이터를 영구적으로 보존
- 예 : 하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), CD, DVD
계층이 존재하는 이유
- 속도
- 상위 계층 메모리 : 레지스터와 캐시는 매우 빠른 속도로 동작, 이는 CPU가 필요한 데이터를 빠르게 접근하고 처리할 수 있게 함
- 하위 계층 메모리 : 주기억장치와 보조기억장치는 상대적으로 느림, 하지만 큰 용량을 제공할 수 있음
- 속도가 빠른 메모리는 작고 비쌈, 이를 보완하기 위해 덜 자주 접근하는 데이터를 느린 메모리에 저장함으로써 전체 시스템의 효율을 높일 수 있음
- 비용
- 상위 계층 메모리 : 레지스터와 캐시는 매우 고가, 이는 고속 성능을 제공하기 위해 정교한 기술이 필요하기 때문
- 하위 계층 메모리 : 주기억장치와 보조기억장치는 저렴, 대량의 데이터를 저장할 수 있는 경제적인 방법을 제공
- 시스템 전체의 비용을 줄이기 위해 고속 메모리는 소량만 사용하고 대량 데이터 저장은 저렴한 메모리로 처리하는 것이 효율적
- 용량
- 상위 계층 메모리 : 용량이 매우 작음, 이는 주로 매우 빠른 접근 속도를 유지하기 위함
- 하위 계층 메모리 : 용량이 큼, 이는 많은 데이터를 저장하고 데이터 손실 없이 보존할 수 있음
- 데이터 접근 빈도에 따라 작은 용량의 빠른 메모리와 큰 용량의 느린 메모리를 적절히 배치함으로써 용량과 성능의 균형을 맞춤
- 자원의 효율성
- 상위 계층 메모리 : 제한된 자원(빠르고 고가의 메모리)을 가장 효과적으로 사용하기 위해 자주 접근하는 데이터를 저장
- 하위 계층 메모리 : 덜 자주 접근하는 데이터는 비용 효율적인 대용량 메모리에 저장
- 모든 데이터를 가장 빠른 메모리에 저장하면 비용이 과도하게 증가함, 따라서 자원의 효율성을 극대화하기 위해 계층 구조를 활용
- 접근 빈도
- 상위 계층 메모리 : 자주 접근되는 데이터와 명령어는 빠른 메모리에 저장, 이는 CPU의 성능을 최적화함
- 하위 계층 메모리 : 덜 자주 접근되는 데이터는 느린 메모리에 저장, 이는 비용 절감을 도모
- 자주 사용되는 데이터를 고속 메모리에 저장함으로써 전체 시스템의 응답 시간을 줄이고 성능을 향상시킬 수 있음