운영체제(OS)/keyword

(Project2-User Programs) 캐시(Cache)

스탠딩 2023. 12. 15. 14:46

캐시는 데이터나 값을 미리 복사해 두는 고속의 임시 저장 공간을 말한다. 이는 주로 느린 주 기억장치(메인 메모리)와 빠른 CPU 간의 속도 차이를 극복하고자 도입되었다. 캐시는 데이터에 대한 빠른 액세스를 제공함으로써 전체 시스템 성능을 향상시킨다.

 

캐시의 동작 원리

  1. 적중(Hit): CPU가 필요한 데이터를 캐시에서 찾았을 때를 말한다. 이 경우, 메모리보다 캐시에서 데이터를 가져오기 때문에 더 빠른 속도로 처리된다.
  2. 실패(Miss): CPU가 필요한 데이터를 캐시에서 찾지 못했을 때를 말한다. 이 경우, 메모리에서 데이터를 가져와야 하므로 더 많은 시간이 소요된다.

캐시의 종류

  1. 레벨 1 캐시(L1 Cache): CPU 내부에 위치하며 매우 빠른 속도로 액세스 가능하다.
  2. 레벨 2 캐시(L2 Cache): CPU와 메인 메모리 사이에 위치하며, L1 캐시보다 크고 느리지만 여전히 빠른 속도를 제공한다.
  3. 레벨 3 캐시(L3 Cache): 멀티코어 프로세서에서 코어 간에 공유되는 캐시로, 더 크고 느린 속도를 가지며 여러 코어 간의 데이터 공유를 통해 성능을 향상시킨다.

캐시의 활용

  1. 명령어 캐시와 데이터 캐시: 명령어와 데이터를 따로 캐싱하여 동시에 명령어를 가져와 실행할 수 있게 한다.
  2. 웹 브라우저 캐싱: 웹 페이지에서 이미지, 스타일 시트 등을 로컬에 저장하여 다시 방문 시 서버에서 데이터를 다시 내려받지 않고 로컬에서 바로 로딩한다.
  3. 데이터베이스 캐싱: 많은 읽기 작업이 수행되는 시나리오에서 데이터베이스의 쿼리 결과를 캐시에 저장하여 빠른 응답 속도를 제공한다.

캐시는 컴퓨터 시스템에서 성능을 향상시키는 핵심적인 요소 중 하나이다. 데이터의 지역성(Locality)을 활용하여 빠른 액세스를 제공하며, 다양한 응용 분야에서 적절하게 활용된다. 이를 통해 효율적인 메모리 관리와 빠른 데이터 처리가 가능해지며, 현대 컴퓨팅에서 높은 중요성을 지니고 있다.