메모리 계층 구조(Memory Hierarchy)는 컴퓨터 시스템의 효율성을 극대화하기 위해 메모리를 접근 속도, 용량, 가격에 따라 여러 단계로 나누어 배치한 구조이다. CPU가 데이터에 접근하는 시간을 단축하는 것이 주요 목적이며, 상위 계층일수록 속도가 빠르고 비용이 높으며 용량이 작고, 하위 계층으로 갈수록 속도가 느리고 비용이 저렴하며 용량이 커지는 특성을 가진다.

배너 광고

개요

메모리 계층 구조는 메모리를 필요에 따라 여러 가지 종류로 나누어 두는 것을 의미한다. 이는 주로 CPU가 메모리에 더 빨리 접근할 수 있도록 하기 위함이다. CPU의 연산 속도는 비약적으로 발전했으나 메모리에서 데이터를 공급하는 속도가 이를 따라가지 못하는 병목 현상이 발생함에 따라, 빠른 메모리 요구가 대두되었다.

계층별 구성

현대 컴퓨터 시스템의 메모리 계층은 일반적으로 다음과 같이 구성된다.

  • L0 (레지스터): CPU 내부에 존재하며 가장 빠르고 용량이 작다.
  • L1/L2/L3 (캐시 메모리): SRAM 기반으로 CPU 내부 또는 근처에 위치하며, 데이터 버스를 거치지 않고 프로세서에 데이터를 전달할 수 있다.
  • L4 (주기억 장치): DRAM 기반의 메인 메모리로 CPU와 직접 통신이 가능하다.
  • L5 (로컬 디스크): 하드 디스크 등 보조 기억 장치로 CPU가 직접 접근할 수 없으며 데이터를 메모리로 이동시킨 후 접근해야 한다.
  • L6 (원격 저장소): 네트워크를 통한 원격 디스크나 웹 서버 파일 등이 해당한다.

계층 구조의 특성

계층 구조를 따라 아래로 내려갈수록 다음과 같은 변화가 나타난다.

  1. 비트당 비용 감소: 물리적 위치가 낮은 계층일수록 저장 비용이 저렴해진다.
  2. 용량 증가: 상위 계층보다 훨씬 많은 데이터를 저장할 수 있다.
  3. 접근 시간 증가: 데이터에 접근하는 데 걸리는 시간이 길어지며 속도가 느려진다.
  4. 접근 빈도 감소: 상위 계층의 빠른 메모리를 통해 데이터를 처리하므로 하위 계층에 대한 접근 횟수가 줄어든다.

참조 지역성

메모리 계층 구조가 효율적으로 작동하는 근거는 **참조 지역성(Locality of Reference)**에 있다. 프로그램은 특정 데이터나 명령어를 반복적으로 참조하는 경향이 있다. 자주 사용되는 데이터를 상위 계층의 빠른 메모리에 복사해 두면, CPU가 느린 하위 계층까지 가지 않고도 데이터를 즉시 얻을 수 있어 전체 시스템 성능이 향상된다.

주기억 장치와 보조 기억 장치

기억 장치는 크게 주기억 장치와 보조 기억 장치로 분류된다.

  • 주기억 장치: CPU가 현재 사용하는 정보가 저장되며 RAM과 ROM으로 구성된다. RAM은 읽고 쓰기가 가능하며, ROM은 부트스트랩 로더와 같이 전원이 켜졌을 때 운영체제를 적재하는 초기화 프로그램을 저장한다.
  • 보조 기억 장치: 주기억 장치를 제외한 모든 정보를 저장하며, 용량이 크고 전원이 꺼져도 데이터가 유지된다.

참고 자료

5
메모리 계층 구조메모리 계층 구조 메모리 계층 구조(영어: memory hierarchy)란 메모리를 필요에 따라 여러 가지 종류로 나누어 둠을 의미한다. 이때 필요한 대부분의 경우 CPU가 메모리에 더 빨리 접근하기 위함이다. 컴퓨터 메모리 계층구조 도식도 일반적으로 오른쪽 그림1과 같이 나타낸다.레지스터와캐시는 CPU 내부에 존재한…https://ko.wikipedia.org/wiki/%EB%A9%94%EB%AA%A8%EB%A6%AC_%EA%B3%84%EC%B8%B5_%EA%B5%AC%EC%A1%B0컴퓨터 구조 요약 - 12. 메모리 구조 - diadia blog컴퓨터 구조 요약 - 12. 메모리 구조 - diadia blog ## 12.1. 메모리 계층(Memory Hierarchy) 기억 장치는 CPU에 의해 실행될 프로그램이 저장되는 곳으로 주기억 장치와 보조 기억 장치 두 가지로 분류된다. 주기억 장치는 CPU와 직접 통신이 가능하며, CPU가 현재 사용하는 정보가 저장…https://jihunn-kim.github.io/computer_architecture/computer_architecture_12_/컴퓨터 시스템 : CSAPP 6장 정리 - 6.3 메모리 계층 구조컴퓨터 시스템 : CSAPP 6장 정리 - 6.3 메모리 계층 구조 close 크래프톤 정글 (컴퓨터 시스템: CSAPP) (57) - 3장 프로그램의 기계수준 표현 (16) - 6장 메모리 계층구조 (6) - 7장 링커 (6) - 8장 예외적 제어 흐름 (7) - 9장 가상 메모리 (16) - 11장 네트워크 프로그래…https://www.gowoong.com/119[OS 운영체제] 메모리 계층구조 (Memory Hierarchy) | iinaglow[OS 운영체제] 메모리 계층구조 (Memory Hierarchy) | iinaglow # 메모리 계층구조 (Memory Hierarchy) --- 메모리 계층구조는 컴퓨터 시스템에서 사용되는 여러 종류의 메모리들이 용량, 접근속도, 비용 간의 절충 관계를 파악해 필요에 따라 채택할 수 있게 나타낸 계층적 구조입니다.…https://iingang.github.io/posts/OS-memory/컴퓨터 구조 및 설계 - Memory Hierarchy 1(메모리 계층구조)컴퓨터 구조 및 설계 - Memory Hierarchy 1(메모리 계층구조) 로그인 로그인 # 컴퓨터 구조 및 설계 - Memory Hierarchy 1(메모리 계층구조) govlKH·2024년 2월 16일 팔로우 0 컴퓨터 구조 및 설계 ## 컴퓨터구조 및 설계 목록 보기 14/15 # Memory Hierarchy…https://velog.io/@lee9843/%EC%BB%B4%ED%93%A8%ED%84%B0-%EA%B5%AC%EC%A1%B0-%EB%B0%8F-%EC%84%A4%EA%B3%84-Memory-Hierarchy-1%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B3%84%EC%B8%B5%EA%B5%AC%EC%A1%B0

관련 문서