[OS 운영체제] 메모리 계층구조 (Memory Hierarchy)
메모리 계층구조 (Memory Hierarchy)
메모리 계층구조는 컴퓨터 시스템에서 사용되는 여러 종류의 메모리들이 용량, 접근속도, 비용 간의 절충 관계를 파악해 필요에 따라 채택할 수 있게 나타낸 계층적 구조입니다.
이 구조는 데이터 접근의 효율성을 극대화하고 전체 시스템 성능을 향상시키기 위해 설계되었습니다.
계층구조 아래쪽으로 내려갈수록 다음과 같은 특성을 가집니다.
비트당 비용 감소: 계층구조의 아래로 내려갈수록 비트당 저장 비용이 저렴해집니다. 즉, 메모리의 물리적 위치가 높은 계층일수록 비용이 더 높습니다.
용량 증가: 계층구조의 아래쪽으로 갈수록 메모리의 용량이 증가합니다. 상위 계층의 메모리보다 많은 데이터를 저장할 수 있습니다.
접근 시간 증가 (속도 느림): 메모리 계층구조의 아래쪽으로 갈수록 데이터에 접근하는 데 걸리는 시간이 증가하며, 속도가 느려집니다. 이는 상위 계층에 비해 데이터 접근이 더 오래 걸리는 것을 의미합니다.
처리기에 의한 메모리 접근 회수 감소: 상위 계층의 빠른 메모리를 통해 데이터에 빠르게 접근할 수 있어 처리기가 메모리 접근 횟수를 줄일 수 있습니다. 이는 전체적인 시스템 성능을 향상시키는 데 기여합니다.
메모리 계층구조의 필요성
참조 지역성 (Locality of Reference)
참조 지역성은 프로그램이 특정 데이터나 명령어를 반복적으로 참조하는 경향을 의미합니다.
이는 프로그램이 일반적으로 반복 루프나 서브루틴을 포함하고 있어, 루프나 서브루틴에 진입하면 해당 데이터나 명령어가 반복적으로 사용됨을 나타냅니다.
자주 쓰이는 데이터는 반복해서 쓰인다 = 참조 지역성
메모리 계층구조의 이점
데이터 접근 속도 향상
- 메모리 계층구조는 데이터를 빠르게 접근할 수 있는 고속의 캐시와 상대적으로 느린 주 기억장치와 보조 기억장치를 조합하여 데이터 접근 속도를 최적화합니다.
- 자주 사용되는 데이터는 캐시에 저장되어 빠른 접근이 가능하게 하며, 이로 인해 프로그램의 실행 시간이 단축됩니다.
자원 효율성
- 캐시 메모리는 주 기억장치에 비해 용량이 작지만, 프로그램이 사용하는 데이터의 참조 지역성을 고려하여 매우 효율적으로 동작합니다.
- 즉, 전체 프로그램의 일부 데이터만을 집중적으로 캐시에 저장하여도 충분하며, 이는 메모리 자원을 효율적으로 관리할 수 있음을 의미합니다.
성능 최적화
- 메모리 계층구조는 전체 시스템의 성능을 최적화하는 데 중요한 역할을 합니다.
- 빠른 캐시 메모리를 통해 프로세서가 대기하는 시간을 줄이고, 데이터의 지역성을 활용하여 데이터 접근 시간을 최소화하여 전체적인 시스템 성능을 향상시킵니다.
메모리 계층구조는 참조 지역성을 활용하여 프로그램 실행 속도를 향상시키고, 자원을 효율적으로 관리하는 중요한 기술입니다.
데이터 접근의 빈도에 따라 적절한 계층에 데이터를 저장함으로써 컴퓨터 시스템의 성능과 효율성을 극대화할 수 있습니다.
Comments powered by Disqus.