cs(운영체제)

캐시 메모리

그zi운아이 2023. 9. 11. 10:52

캐시 메모리

캐시 메모리란 CPU 와 메인 메모리 사이에 위치한 고속의 일시적인 저장소이다.

캐시 메모리의 목적은 시스템의 성능을 향상시키는 것으로 CPU가 메인 메모리로 부터 데이터를 가져오는 것은 상대적으로 느리기 때문에 자주 사용되는 데이터나 명령어를 빠르게 접근할 수 있는 캐시 메모리에 저장하면 전체적인 처리 속도를 빠르게할 수 있다.

 

캐시 메모리는 보통 L1,L2,L3 메모리로 이루어져 있다.  L1과 L2는 각각의 코어에 할당되어 있고 L3는 CPU칩에 있는 모든 코어를 공유한다,

L1 캐시 

  • CPU코에 내부에 위치 
  • 속도가 가장 빠르다
  • 용약은 일반적으로 16 ~ 64KB 로 작은편이다
  • 현재 실행중인 프로그램의 매우 자주 사용되는 데이터나 명령어를 저장한다.

L2 캐시

  • 보통 L1과 같이 CPU 칩 내우에 위치해 있다.
  • L1보다는 느리다는 단점이 있지만 용량은 L1보다 크다
  • L1에서 놓친 데이터를 저장한다.

L3캐시 

  • 보통 CPU 외부에 위치해 있다
  • L1,L2보다 느리지만 용량은 더크다
  • 여러 CPU 코어 간에 공유되는 데이터를 저장한다. 

캐시 동작의 주요 개념

Cache Hit : CPU가 데이터를 찾을 때 데이터가 캐시에 있는 상태. 캐시 히트가 높을수록 성능이 좋아진다.

Cache Miss : CPU가 데이터를 찾을 때 해당 데이터가 캐시에 없어 메인 메모리에서 불러와야 하는 상태로 성능에 불리하다.

 

캐시의 지역성 원칙

캐시 메모리의 효율을 높이려면 Cache Hit를 높여야 한다. 이러한 캐시 적중율을 높히는 방법으로는 참조 지역성이 있다.

공간 지역성

공간 지역성은 프로그램이 한 번 접근한 데이터의 근처 데이터에 곧바로 접근할 확률이 높다는 것을 의미한다.

예를 들어 배열을 순차적으로 읽는 경우나, 구조체의 필드를 함께 접근하는 경우 공간 지역싱이 높을 수 있다

인접한 데이터 블록이 캐시에 로드되므로 캐시 히트 확률을 높여 성능을 향상 시킨다.

 

시간 지역성

시간 지역성은 프로그램이 한 번 접근한 데이터나 명령어에 잠시 후 또 다시 접근할 확률이 높다는 것을 의미한다.

반복문에서 사용되는 변수나 배열을 높은 다시 사용될 가능성이 높다. 시간 지역성이 높은 데이터를 캐시에 머무리게하여 캐시 히트 확률을 높일 수 있다

 

캐시 매핑 방식

캐시는 CPU와 메모리 중간에서 버퍼 역할을 하여 성능을 높이는 메모리 이다. 캐시는 일반적으로 메인 메모리보다 훨씬 작기 때문에 이 공간을 효율적으로 사용해야 되는데. 캐시 매핑은 이를 효율적으로 관리할 수 있게 한다.

 

직접 매핑(Direct_Mapped)

  • 메인 메모리의 각 블로은 캐시의 특정 위치에만 매핑된다.
  • 구현이 간단하고 빠른 검색속도를 제공한다.
  • 단순성 때문에 속도가 빠르지만 여러 메모리 블록이 같은 캐시 위치에 매핑되어 충동이 발생할 수 있다.

완전 연관 매핑(Fully Associative Cashe)

  • 메인 메모이릐 블록은 캐시의 어떤 위치에도 저장될 수 있다.
  • 태그 메로리를 사용하여 각 캐시 블록이 어떤 메모리 블록과 연결되어있는지 추적한다.
  • 모든 캐시 블록이 사용가능하므로 캐시 미스의 확률이 낮다는 장점이있다,
  • 캐시 블록으 태그를 확인하고 검색해야 하므로 시간이 오래 걸린다.

집합 연관 매핑(Set-Associative Cache)

  • 직접 매핑의 빠른 검색 속도와 완전 연관 매핑의 유연성을 합친 매핑 기법
  • 캐시는 여러 집합으로 나누어 지고 각 집합 내에는 여러 캐시 블록이 있으며 집합내 어느 블록에도 매핑될 수 있다.
  • 적적할 집합의 크기를 선택하면 캐시 미스를 줄여 성능을 높일 수 있다.

 

'cs(운영체제)' 카테고리의 다른 글

블로킹 논블로깅 ,동기 비동기  (0) 2023.09.08
가상 메모리  (1) 2023.09.08
IPC  (0) 2023.09.06
교착 상태(DeadLock)  (0) 2023.09.06
프로세스 동기화  (1) 2023.09.06