[Computer Architecture] - 캐시 메모리(Cache Memory)

윤재열·2023년 3월 11일
0

CS지식

목록 보기
16/16

속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리를 말합니다.

  • CPU 코어와 메모리 사이의 병목 현상 완화
  • 웹 브라우저 캐시 파일은, 하드디스크와 웹페이지 사이의 병목 현상을 완화

캐시 메모리 특징

  • CPU가 주기억장치에서 저장된 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이요할 때 주 기억장치가 아닌 캐시 메모리에서 먼저 가져오면서 속도를 향상시킵니다.
  • 속도라는 장점을 얻지만, 용량이 적기도 하고 비용이 비싼 점이 있습니다.
  • CPU에는 이러한 캐시 메모리가 2~3개 정도 사용됩니다.
    • L1, L2, L3 메모리 라고 부른다.
      • 속도와 크기에 따라 분류한 것으로, 일반적으로 L1 캐시부터 먼저 사용됩니다.(CPU에서 가장 빠르게 접근하고, 여기서 데이터를 찾지 못한다면 L2로 갑니다.)
  • 듀얼 코어 프로세서의 캐시 메모리 : 각 코어마다 독립된 L1 캐시 메모리를 가지고, 두 코어가 공유하는 L2 캐시 메모리가 내장됩니다.
    • 만약 L1 캐시가 128kb면, 64/64로 나누어 64kb에 명령어를 처리하기 직전에 명령어를 임시 저장하고, 나머지 64kb에는 실행 후 명령어를 임시 저장합니다.

캐시 메모리 작동 원리

시간 지역성

  • for 나 while 같은 반복문에 사용하는 조건 변수처럼 한번 참조된 데이터는 잠시후에 또 참조될 가능성이 높습니다.

공간 지역성

  • A[0], a[1] 과 같은 연속 접근 시 , 참조된 데이터 근처에 있는 데이터가 잠시후 또 사용될 가능성이 높습니다.

캐시에 데이터를 저장할 때는, 이러한 참조 지역성(공간)을 최대한 활용하기 위해 해당 데이터뿌만 아니라, 옆 주소의 데이터도 같이 가져와 미래에 쓰일 것을 대비합니다.

CPU가 요청한 데이터가 캐시에 있으면 'Cache Hit', 없다면 'Cache Miss'

profile
블로그 이전합니다! https://jyyoun1022.tistory.com/

0개의 댓글