Computer Science/운영체제
[컴퓨터공학개론 과제] 캐시 메모리(Cache Memory)
2sjin
2022. 10. 3. 14:03
■ 캐시 메모리 (Cache Memory)
1. 개요
캐시 메모리(Cache Memory)는 CPU와 주기억장치의 속도 차이를 보완하기 위해 사용하는 고속 버퍼(Buffer) 메모리이다. 캐시 메모리는 주기억장치인 RAM보다 훨씬 빠르고 작으나 용량 대비 가격이 비싸다.
주기억장치에 있는 데이터 중 자주 사용되는 데이터를 캐시 메모리에 별도로 불러와 저장해 놓으면, 중앙처리장치가 필요한 데이터를 캐시 메모리에서 찾아서 사용하게 된다. 이렇게 되면 중앙처리장치가 데이터를 찾기 위해 주기억장치까지 접근하는 것보다 속도가 매우 빨라 시스템 성능을 향상시킬 수 있다.
대부분 프로그램은 한 번 사용했던 데이터를 다시 사용할 가능성이 크다. 또한, 어떤 특정한 데이터와 연관성 있는 주변의 데이터들도 함께 사용될 수 있다. 이러한 데이터의 특성을 데이터 지역성(Data Locality)이라고 한다.
★ 데이터 지역성(Data Locality)
1) 시간적 지역성(Temporal Locality)
▶ 최근에 사용된 데이터가 가까운 미래에 다시 사용될 확률이 높다.
▶ for, while 등의 반복문이 대표적인 예이다.
2) 공간적 지역성(Spatial Locality)
▶ 서로 인접한 데이터들이 연속적으로 사용될 확률이 높다.
▶ A[0], A[1], A[2]와 같은 연속적인 배열이 대표적인 예이다.
2. 작동 원리
ㄱ. 주기억장치에 있는 데이터 중 사용 가능성이 큰 데이터를 캐시 메모리에 저장
ㄴ. CPU가 필요한 데이터를 찾기 위해 캐시 메모리에 우선으로 접근
ㄷ. 캐시 메모리에 데이터가 있으면 CPU에서 데이터 사용
ㄹ. 캐시 메모리에 데이터가 없으면 주기억장치에서 캐시 메모리로 데이터를 불러옴
ㅁ. 불러온 캐시 메모리의 데이터를 CPU에서 데이터 사용
3. 구조
캐시 메모리의 구조는 다음과 같다. L1, L2, L3에서 L은 레벨(Level)을 뜻하며 L1, L2, L3 순으로 CPU의 코어와 가까우며, 성능이 우수하고 가격이 비싸다. 반면 저장공간이 많은 것은 L3, L2, L1 순이다.