운영체제를 공부하기에 앞서 기본적인 컴퓨터 메모리 구조에 대한 개념을 정리해 보려 합니다
메모리 계층 구조(Memory hierarchy)란 메모리를 필요에 따라 여러가지 종류로 나누어 둠을 의미합니다. 이때 필요란 대부분의 경우 CPU가 메모리에 더 빨리 접근하기 위함을 뜻합니다.
메모리 특성인 용량, 접근속도, 비용은 상호절충(tradeoff) 관계에 있다. 하위 계층으로 갈수록 용량이 늘어나고 가격이 저렴하지만, 속도가 느리다. 상위 계층은 빠른 대신 용량이 작고 가격이 비싸다. 이를 보안하기 위하여 메모리 계층구조를 사용한다.
컴퓨터의 프로세서 내에서 자료를 보관하는 아주 빠른 기억 장소. 일반적으로 현재 계산을 수행중인 값을 저장하는 데 사용된다.
CPU 내부에 있는 메모리로 프로세서가 사용할 데이터를 일시적으로 저장한다.
CPU 캐시는 메인 메모리에서 가장 자주 사용되는 위치의 데이터를 갖고 있는, 크기는 작지만 빠른 메모리이다. 대부분의 메모리 접근은 특정한 위치의 근방에서 자주 일어나는 경향이 있기 때문에, 데이터를 크기는 작지만 속도가 빠른 캐시메모리에 복사해 두면 평균 메모리 접근 시간을 아낄 수 있다.(메인 메모리의 입출력 병목 현상 해결)
프로세서가 메인 메모리를 읽거나 쓰고자 할 때는, 먼저 그 주소에 해당하는 데이터가 캐시에 존재하는지를 살핀다. 만약 그 주소의 데이터가 캐시에 있으면 데이터를 캐시에서 직접 읽고, 그렇지 않으면 메인 메모리에 직접 접근한다.
캐시가 효율적으로 동작하려면, 캐시에 저장할 데이터가 지역성을 가져야 한다. 지역성이란 데이터 접근이 시간적, 혹은 공간적으로 가깝게 일어나는 것을 의미한다.
대체로는 주기억장치를 말하며 특히 램(RAM)을 가리키는 경우가 많다.(1차 기억 장치)
컴퓨터에서 데이터(자료)를 일시적으로, 또는 영구히 보존하는 장치를 말한다.(2차 기억 장치) 프로세스에서 직접 접근할 수 없다. 메모리(주기억장치)를 통해 프로세스에 접근한다.