계층에서 아래에서 위로 갈수록 작고 비싼 메모리임을 의미한다.
CPU내에서 자료를 보관하는 메모리로, 모든 메모리 중 CPU로부터 가장 빠른 속도로 접근 가능하다.
프로세서의 종류마다 구성이나 레지스터 개수가 다르다. 일반적인 구성은 다음과 같다.
속도가 빠른 장치와 느린 장치사이에서의 처리 속도 차이를 개선하기 위한 하드웨어이다.
캐시에 원하는 값이 있으면 캐시 히트(hit), 없다면 캐시 미스(miss)가 발생했다고한다.
캐시는 히트율을 높이기위해 지역성에 근거해 메인메모리로부터 값들을 읽어들인다. 지역성에는 2가지 종류가 있다.
캐시 메모리 상에 물리 메모리 상의 주소가 매핑 되는 방식에는 3가지가 있다.
Direct mapped cache
지정된 인덱스에 매핑하는 방식이다. 물리적 주소가 하나의 인덱스에 대응되는 것이다.
탐색 속도가 O(1)로 매우 빠르다. 하지만 충돌이 많이 발생할 수 있어 다른 방법에 비해 충돌율이 높다.
N-way set associative
지정된 인덱스에 매핑되고 N개의 way중 하나에 대응하는 방식이다. 탐색 속도가 O(N)이다. Direct mapped 방식에 비해 충돌율이 낮다. Direct, Fully associative 사이의 성능을 가지고 있다고 할 수 있다.
Fully associative
지정되는 인덱스가 없다. 원하는 값을 찾기위해 모든 저장된 캐시 데이터를 읽어야한다 따라서 탐색 속도가 매우 느리다. 캐시 히트율이 높고, 충돌율이 낮다.
CPU와 하드디스크 사이에 위치하는 메모리이다. 프로그램이 실행되기 위해서 이 메모리에 적재되어야한다.
프로세스 실행 중 명령어 또는 데이터를 가져오기 위해 물리적 주소에 접근해야는데, 이 물리적 주소는 메인 메모리 상의 주소를 의미한다.
한정된 메인 메모리의 용량을 개선하기위해 보조기억장치의 공간의 일부를 이용하는 기술이다.
가상 메모리의 사용으로 얻을 수 있는 이점은 동시에 실행가능한 프로세스의 수를 늘릴 수 있다는 것과 메인 메모리보다 크기가 큰 프로그램도 실행시킬 수 있다는 점 등이 있다.