검색
색인
캐시 기억 장치, -記憶裝置, cache memory
중앙 처리 장치주기억 장치 간의 속도 차이를 극복하기 위해 사용하는 고속의 메모리.

캐시 기억 장치는 고속의 중앙 처리 장치(CPU)와 CPU에 비해 속도가 느린 주기억 장치 사이에 데이터와 명령어들을 일시적으로 저장하는 기억 장소를 제공하여, CPU주기억 장치로부터 읽고 주기억 장치에 기록할 때보다 몇 배 빠른 속도 또는 CPU에 가까운 속도로 접근할 수 있게 한다. 캐시 기억 장치의 기억 용량이 클수록 필요한 데이터가 이미 캐시에 저장되어 있을 확률이 크기 때문에 그만큼 성능이 향상된다.
CPU주기억 장치에 접근하여 데이터를 읽거나 기록하면, 그 내용의 사본이 주기억 장치 주소와 함께 캐시 기억 장치에 저장된다. CPU가 어떤 주기억 장치 주소를 참조하면, 캐시 기억 장치는 그 주소가 캐시 기억 장치 내에 있는지를 점검하여 그 주소가 있으면 해당되는 데이터를 즉시 CPU에 전달한다. 따라서 주기억 장치에 접근할 필요가 없게 된다. 그 주소가 캐시 기억 장치에 없으면 캐시 기억 장치는 해당되는 데이터를 주기억 장치로부터 읽어와서 CPU에 전달하고 캐시 기억 장치 내에 저장한다. 또 캐시 기억 장치는 CPU가 다음 명령이나 프로그램을 실행하기 위해 필요한 데이터와 명령어를 예측 알고리즘을 통해서 예측하여 주기억 장치로부터 큰 블록 단위로 읽어와 저장한다. 그럼으로써 CPU가 필요할 때마다 주기억 장치로부터 인출해야 하는 시간을 단축하여 실행을 고속화한다. CPU에 내장되는 캐시 기억 장치를 주 캐시 기억 장치(primary cache memory) 또는 1차 캐시 기억 장치라고 하고, 컴퓨터 본체 기판에 탑재되는 캐시 기억 장치를 보조 캐시 기억 장치 또는 2차 캐시 기억 장치라고 한다. 펜티엄과 같은 CPU에는 캐시 충돌(cache conflict)의 방지와 성능 향상을 위해 명령어 캐시와 데이터 캐시로 분리된 2개의 캐시 기억 장치가 내장되어 있다.

참고로 캐시 기억 장치와 유사한 용어로 주기억 장치의 일부분을 사용한 디스크 캐시(disk cache)가 있다.
디스크 캐시는 디스크로부터 읽어온 데이터를 디스크와 CPU 사이에 일시적으로 저장하기 위해 특별히 할당된 주기억 장치의 일부분(섹션)이다. 디스크로부터 읽어온 데이터 또는 디스크에 기록된 데이터가 여기에 저장된다. 요구되는 데이터가 디스크 캐시에 있으면, 그 데이터를 디스크 장치가 디스크로부터 인출해 오는 것을 프로그램이 기다리지 않아도 되기 때문에 접근 시간이 상당히 단축되고 실행이 고속화된다.