메모리 계층 구조(Memory Hierarchy)는 컴퓨터 시스템에서 데이터 접근 속도, 용량, 비용에 따라 메모리를 여러 단계로 나누어 배치한 구조를 말합니다. 컴퓨터 시스템은 다양한 종류의 메모리를 사용하여 데이터를 저장하고 처리하는데, 각각의 메모리는 속도, 크기, 가격 등의 특성에서 차이가 있습니다. 메모리 계층 구조는 이러한 메모리의 상호 관계를 설명하는 데 사용되며, 고속의 소규모 메모리부터 저속의 대규모 메모리까지 나열됩니다.

메모리 계층 구조의 주요 단계

  1. 레지스터 (Register):
    • 가장 빠르고, 가장 비싼 메모리입니다.
    • CPU 내부에 존재하며, 매우 작은 용량(몇 바이트에서 수십 바이트)만 가지고 있습니다.
    • CPU가 바로 접근할 수 있기 때문에, 명령어 실행 시 가장 빈번하게 사용됩니다.
    • 명령어 실행 중 필요한 즉시 데이터를 저장하고, CPU의 명령어 처리 속도를 높여줍니다.
  2. 캐시 메모리 (Cache Memory):
    • 레지스터보다 약간 느리지만 여전히 매우 빠른 메모리입니다.
    • CPU와 주 메모리 사이에서 중간 단계로 작동하며, CPU가 자주 사용하는 데이터를 일시적으로 저장합니다.
    • L1, L2, L3 캐시로 구분되며, L1은 CPU 코어 내부에 있고 가장 빠르며 용량이 작고, L2와 L3는 더 크지만 조금 더 느립니다.
    • 적중률이 높을수록 CPU 성능이 향상됩니다. 즉, CPU가 필요한 데이터를 캐시에서 빠르게 가져올 수 있으면 메모리 병목 현상이 줄어듭니다.
  3. 주 메모리 (Main Memory, DRAM):
    • **주로 DRAM(Dynamic RAM)**을 사용하며, 메인 메모리라고도 부릅니다.
    • 휘발성 메모리로 전원이 꺼지면 데이터가 사라집니다.
    • CPU가 실행하는 프로그램과 데이터를 저장하는 역할을 하며, CPU가 직접 접근할 수 있는 메모리입니다.
    • 캐시보다 속도는 느리지만, 훨씬 더 큰 용량을 제공하고 상대적으로 저렴합니다.
  4. 보조 저장장치 (Secondary Storage):
    • 비휘발성 메모리로, **SSD(Solid State Drive)**와 **HDD(Hard Disk Drive)**가 여기에 속합니다.
    • 주 메모리보다 훨씬 느리지만, 용량이 매우 크고 비용이 저렴합니다.
    • 전원이 꺼져도 데이터를 유지할 수 있어, 프로그램과 파일, 운영 체제 등을 영구적으로 저장합니다.
    • 데이터를 필요할 때만 메인 메모리로 전송하여 처리합니다.
    • SSD는 HDD보다 빠르고, 점차 HDD를 대체하고 있습니다.  
        • 속도와 비용: 계층이 높을수록 메모리는 빠르고, 비용이 비쌉니다. 반면, 계층이 낮을수록 메모리는 느리고, 용량이 크며 비용이 저렴합니다.
        • 접근 빈도: CPU는 주로 높은 계층의 메모리에 접근하고, 낮은 계층의 메모리는 데이터가 자주 사용되지 않을 때나 대용량 데이터를 저장할 때 사용됩니다.
        • 데이터 이동: 상위 계층에서 캐시 미스가 발생하면 하위 계층에서 데이터를 불러옵니다. 이때 하위 계층에서 상위 계층으로 데이터를 옮기는 과정에서 속도의 차이가 발생하게 됩니다.
        이러한 메모리 계층 구조는 성능과 비용의 균형을 맞추기 위한 시스템 설계의 중요한 요소입니다. CPU는 속도가 빠른 레지스터와 캐시 메모리에서 우선 데이터를 처리하고, 주 메모리 및 보조 저장장치는 데이터가 필요할 때만 액세스하여 전체 시스템의 효율성을 극대화합니다.

 

 

 

* https://www.researchgate.net/figure/Simplified-hierarchy-of-computer-memory-41_fig8_364516996

'CPU ARCHITECTURE1 > CPU' 카테고리의 다른 글

05-1. Instruction Fetch(IF)  (0) 2024.09.30
05. CPU 5-Stage Pipeline  (0) 2024.09.30
04. SPR(Special Purpose Register)  (0) 2024.09.29
03. CPU main components  (1) 2024.09.29
02. Computer Architecture  (0) 2024.09.29

+ Recent posts