cache memory - 1

Posted by ironmask84
2008. 8. 31. 01:10 컴퓨터공학


캐시는 CPU의 성능을 향상시키기 위해 사용되는 전용의 소형고속기억 장치입니다. 
또는 같은 목적으로 사용되는 주기억 장치의 일부분을 말합니다. 

캐시는 CPU와 CPU에 비해 속도가 느린 주기억 장치(하드) 사이에 데이터와 명령어들을 일시적으로 저장하는기억 장소를 제공하며, CPU가 하드로부터 읽고 하드에 기록할 때보다 몇 배 빠른 속도또는 CPU에 가까운 속도로 접근할 수 있게 합니다. 캐시의 기억 용량이 클수록 요구되는데이터가 이미 캐시에 저장되어 있을 확률이 크기 때문에 그만큼 성능이 향상됩니다. 

컴퓨터 시스템에 사용되는 캐시에는 전용의 고속기억장치인 캐시 메모리(cache memory)와하드의 일부분을 사용한 디스크 캐시(disk cache)의 2종류가 있습니다. 

일반적으로 캐시라고 하면 캐시 메모리를 가리킵니다. CPU가 하드에 접근하여 데이터를 읽거나 기록하면, 그 내용의 사본이 주기억 장치 주소와 함께 캐시에 저장됩니다..

CPU가 어떤 주기억 장치 주소를 참조하면, 캐시는 그 주소가 캐시 내에 있는지를 점검하여 그 주소가 있으면 해당되는 데이터를 즉시 CPU에 전달한다. 

따라서 하드에 접근할 필요가 없게 됩니다. 그 주소가 캐시에 없으면 캐시는 해당되는 데이터를 하드로부터 읽어와 CPU에 전달하고 캐시 내에 저장합니다.. 또 캐시는 CPU가 다음 명령이나 프로그램을 실행하기 위해 필요한 데이터와 명령어를 미리 예측 알고리즘을 통해서 예측하여 하드로부터 큰 블록 단위로 읽어와 저장한다. 그럼으로써 CPU가 필요할 때마다 하드로부터 가져와야 하는 시간을 줄여 실행을 빠르게 합니다.

CPU에 내장되는 캐시를 주캐시(primary cache) 또는 1차 캐시(level 1 cache, L1 cache)라고 하고,컴퓨터 본체 기판에 탑재되는 캐시를 보조 캐시 또는 2차 캐시(L2 cache )라고 합니다.

펜티엄과 같은 최근의 CPU에는 캐시 충돌의 방지와 성능 향상을 위해 명령어 캐시와 데이터 캐시로 분리된 2개의 캐시가 내장되어 있다. 디스크 캐시는 디스크로부터 읽어온 데이터를 디스크와 CPU 사이에 일시적으로 저장하기 위해 특별히 할당되어 있는 하드의 일부분입니다.
최근에 디스크로부터 읽어온 데이터 또는 디스크에 기록된 데이터가 여기에 저장됩니다.
요구되는 데이터가 디스크 캐시에 있으면, 그 데이터를 디스크 장치가 디스크로부터 가져 오는 것을 프로그램이 기다리지 않아도 되기 때문에 접근 시간이 상당히 단축되고 실행이 빨라집니다.



'컴퓨터공학' 카테고리의 다른 글

퀵소트 - 알고리즘  (4) 2008.09.21
삽입정렬 - 알고리즘  (0) 2008.09.21
임베디드 시스템과 임베디드  (0) 2008.09.15
Embedded에서 ARM의 의미  (0) 2008.09.15
운영체제의 종류  (0) 2008.09.15
프로그래밍언어론 - 용어  (0) 2008.09.03
cache 적중률  (1) 2008.08.31
cache memory - 2  (0) 2008.08.31
컴퓨터 시스템에서의 계산표현에 쓰이는 보수들  (0) 2008.08.30
자료구조 - Tree  (0) 2008.08.30