컴퓨터 메모리 구조

Perfer2·2021년 8월 23일
0

운영체제를 공부하기에 앞서 기본적인 컴퓨터 메모리 구조에 대한 개념을 정리해 보려 합니다

메모리 구조

메모리 계층 구조(Memory hierarchy)란 메모리를 필요에 따라 여러가지 종류로 나누어 둠을 의미합니다. 이때 필요란 대부분의 경우 CPU가 메모리에 더 빨리 접근하기 위함을 뜻합니다.

메모리 특성인 용량, 접근속도, 비용은 상호절충(tradeoff) 관계에 있다. 하위 계층으로 갈수록 용량이 늘어나고 가격이 저렴하지만, 속도가 느리다. 상위 계층은 빠른 대신 용량이 작고 가격이 비싸다. 이를 보안하기 위하여 메모리 계층구조를 사용한다.

  1. 레지스터와 캐시는 CPU 내부에 존재. CPU는 아주 빠르게 접근할 수 있다.
  2. 메모리는 CPU 외부에 존재. 레지스터와 캐시보다 더 느리게 접근.
  3. 하드 디스크는 CPU가 직접 접근할 방법조차 없다. CPU가 하드 디스크에 접근하기 위해서는 하드 디스크의 데이터를 메모리로 이동시키고, 메모리에서 접근해야 한다. 아주 느린 접근만 가능.

필요성

  • 참조의 지역성: 자주 쓰이는 데이터는 자주 쓰이고 그렇지 않은 데이터들은 계속해서 자주 쓰이지 않는다. 이를 이용해서 운영체제나 CPU는 자동으로 자주 쓰이는 데이터, 또는 자주 쓰일 것 같은 데이터를 메모리에서 캐시로 읽어온다. 자주 쓰이는 데이터는 전체 데이터 양에 비해 작은 양이기때문에, 캐시는 메모리보다 더 작아도 된다. 메모리와 하드 디스크의 관계도 마찬가지이다.
  • 경제성: 레지스터, 캐시, 메모리, 하드 디스크는 하드웨어적으로 만들어지는 방법이 다를 때가 많다. 그리고 메모리 구조에서 상층에 속할수록 더 비싸다. 비싼 하드웨어는 꼭 필요한 만큼의 크기만 사용하고, 싼 하드웨어를 넉넉한 크기만큼 사용하기 때문에 메모리 계층 구조가 피라미드 모양으로 나타나는 것이다.
  • 디코딩 속도: CPU가 빠르게 데이터에 접근하기 위해서는 데이터를 저장하는 메모리가 작아야 한다. 메모리가 클수록 디코딩에 걸리는 시간이 크다.

메모리 종류

레지스터

컴퓨터의 프로세서 내에서 자료를 보관하는 아주 빠른 기억 장소. 일반적으로 현재 계산을 수행중인 값을 저장하는 데 사용된다.

CPU 내부에 있는 메모리로 프로세서가 사용할 데이터를 일시적으로 저장한다.

캐시

CPU 캐시는 메인 메모리에서 가장 자주 사용되는 위치의 데이터를 갖고 있는, 크기는 작지만 빠른 메모리이다. 대부분의 메모리 접근은 특정한 위치의 근방에서 자주 일어나는 경향이 있기 때문에, 데이터를 크기는 작지만 속도가 빠른 캐시메모리에 복사해 두면 평균 메모리 접근 시간을 아낄 수 있다.(메인 메모리의 입출력 병목 현상 해결)

프로세서가 메인 메모리를 읽거나 쓰고자 할 때는, 먼저 그 주소에 해당하는 데이터가 캐시에 존재하는지를 살핀다. 만약 그 주소의 데이터가 캐시에 있으면 데이터를 캐시에서 직접 읽고, 그렇지 않으면 메인 메모리에 직접 접근한다.

지역성

캐시가 효율적으로 동작하려면, 캐시에 저장할 데이터가 지역성을 가져야 한다. 지역성이란 데이터 접근이 시간적, 혹은 공간적으로 가깝게 일어나는 것을 의미한다.

  • 공간적 지역성: 액세스된 기억장소와 인접한 기억장소가 액세스될 가능성 높음
  • 시간적 지역성: 특정 데이터가 한번 접근되었을 경우, 가까운 미래에 또 한번 데이터에 접근할 가능성이 높음

메모리

대체로는 주기억장치를 말하며 특히 램(RAM)을 가리키는 경우가 많다.(1차 기억 장치)

  • RAM: 임의의 영역에 접근하여 읽고 쓰기가 가능한 주기억 장치다. 반도체 회로로 구성되어 있으며 휘발성 메모리다.

하드디스크

컴퓨터에서 데이터(자료)를 일시적으로, 또는 영구히 보존하는 장치를 말한다.(2차 기억 장치) 프로세스에서 직접 접근할 수 없다. 메모리(주기억장치)를 통해 프로세스에 접근한다.

참조

메모리 계층 구조 - 위키백과, 우리 모두의 백과사전

프로세서 레지스터 - 위키백과, 우리 모두의 백과사전

CPU 캐시 - 위키백과, 우리 모두의 백과사전

0개의 댓글