[CS] 메모리 계층 구조

mgm-dev·2020년 12월 6일
0

📚TL;DR

**메모리 계층 구조(Memory hierarchy)**란 메모리를 필요에 따라 여러가지 종류로 나누는 것을 의미한다. 이때 필요란 대개, CPU가 필요한 정보에 빨리 접근하기 위해서이다.


메모리 계층

&nbsp 일반적으로 레지스터와 캐시는 CPU 내부에 존재한다. 메모리의 경우 CPU 외부에 존재하며 CPU와 직접적으로 정보를 주고 받는다. 하드 디스크의 경우 CPU와 직접적으로 소통하지 않는다. 하드 디스크의 정보를 메모리에 올리고 메모리에 올라간 정보를 CPU에서 액세스한다.


계층 존재의 이유?

  1. 자주 쓰는 데이터는 계속 자주 쓰인다
    프로그램은 메모리안의 데이터를 고르게 접근하지 않는다. 즉 자주 쓰이는 데이터는 계속 자주 쓰이고, 자주 쓰이지 않는 데이터는 계속 자주 쓰이지 않는다. 때문에 자주 쓰이는 데이터일 수록 빠른 메모리에 올려 빠르게 접근하고, 자주 쓰이지 않는 데이터일 수록 느린 메모리에 저장하는 것이 효율적이다.
  1. 경제성
    레지스터, 캐시, 메모리 하드 디스크 등은 하드웨어적으로 만들어지는 방식이 다르다. 일례로 DRAM의 경우 캐패시터에 전하를 충전하는 방식으로 데이터를 저장하고, HDD는 자성이 있는 원판에 자기를 정렬하는 방식으로 데이터를 저장한다. 만드는 방식도 상이하고 이에 따른 가격도 차이가 난다. 비싼 하드웨어는 꼭 필요한 만큼의 크기만 사용하고, 싼 하드웨어를 넉넉한 크기만큼 사용하기 때문에 메모리 계층 구조가 피라미드 모양으로 나타난다.
profile
never stop learning

관심 있을 만한 포스트

0개의 댓글

관심 있을 만한 포스트