Carnival7
Change Developer
Carnival7
전체 방문자
오늘
어제
  • 분류 전체보기
    • 자바의 정석
    • 프로그래밍 언어별 tools
      • 파이썬
      • 자바
    • 코딩 테스트
      • 백준 강의 기초편
      • 백준 강의 연습편
      • 백준 강의 문제편
      • 삼성 기출
      • 백준 - 일반
      • 카카오 기출
      • 프로그래머스 - 일반
      • 코테 풀이 Tools
    • CS
      • Network
      • 운영체제
      • 알고리즘
      • DB
    • Web_Backend
      • Spring
      • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
      • 스프링 핵심 원리 - 기본편
    • DevOps
    • IT 업무 지식
      • 인프라
      • 클라우드
    • 자격증
      • AWS - CLF
      • 정처기 - 실기
    • 생각 정리

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • DMZ
  • Github Actions
  • DevOps
  • 슬라이딩 윈도우 #덱
  • 삼성기출 #2023 #상반기
  • 스프링 부트 무중단 웹 서비스
  • 프로그래머스 #카카오기출 #레벨2
  • 알고리즘 #백준강의기초편 #코딩테스트
  • 슬라이딩 윈도우
  • 스프링 #인터셉터 #AOP #필터
  • ci/cd
  • 삼성기출 #백준강의문제편
  • nginx
  • 스프링 #AOP
  • code deploy
  • 코딩테스트 #삼성기출 #구현 #시뮬레이션

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Carnival7

Change Developer

CS/운영체제

13. 캐시 메모리

2024. 8. 3. 19:53

캐시 메모리


  • 캐시 메모리
    • 캐시 메모리란?
    • 지역성
    • Cache Metrics

캐시 메모리란?

캐시 메모리는 CPU와 메인 메모리 간에 데이터 접근 시 속도 차이를 줄이기 위해 사용

속도가 빠른 장치와 느린 장치 사이에서 버퍼 역할을 하며 속도 차에 따른 병목 현상을 줄여, 컴퓨터 시스템의 성능을 향상시키기 위해 별도로 탑재된 일종의 범용 메모리이다.

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

램보다 훨씬 빠르고 작고 매우 비싼 메모리이며, 레지스터와 함께 메모리 계층 구조의 전통적인 핵심 계층 중 하나이다.

지역성

CPU가 자주 참조하는 데이터가 고르게 분포되어 있지 않고 특정 부분에 몰려있는 것

캐시 메모리에 어떤 데이터를 저장할지는 지역성을 바탕으로 결정한다.

  • 시간 지역성(Temporal locality) : 최근 참조한 내용을 다시 참조할 가능성이 높다
  • 공간 지역성(Spatial locality) : 실제 참조한 주소 근처의 내용을 참조할 가능성이 높다.

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

Cache Metrics

캐시의 성능을 측정할 때는 히트 레이턴시(Hit latency)와 미스 레이턴시(Miss latency)가 중요한 요인으로 꼽힌다.

  • 캐시 히트(Hit)

    : CPU에서 요청한 데이터가 캐시에 존재하는 경우.

    • 히트 레이턴시 : 히트가 발생해 캐싱된 데이터를 가져올 때, 소요되는 시간을 의미한다.
  • 캐시 미스(Miss)

    : 요청한 데이터가 캐시에 존재하지 않는 경우.

    • 미스 레이턴시 : 미스가 발생해 상위 캐시에서 데이터를 가져오거나(L1 캐시에 데이터가 없어서 L2 캐시에서 데이터를 찾는 경우) 메모리에서 데이터를 가져올 때, 소요되는 시간

캐시의 성능을 높이기 위해서는 캐시의 크기를 줄여 히트 레이턴시를 줄이거나, 캐시의 크기를 늘려 미스 비율을 줄이거나, 더 빠른 캐시를 이용하여 레이턴시를 줄이는 방법이 있다.

Reference

  • 기술 면접 대비 CS 전공 핵심요약집
  • https://parksb.github.io/article/29.html
  • https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Computer%20Architecture/%EC%BA%90%EC%8B%9C%20%EB%A9%94%EB%AA%A8%EB%A6%AC(Cache%20Memory).md
  • https://it.donga.com/215/
  • https://namu.moe/w/%EC%BA%90%EC%8B%9C%20%EB%A9%94%EB%AA%A8%EB%A6%AC
  • https://namu.moe/w/%EB%A9%94%EB%AA%A8%EB%A6%AC%20%EA%B3%84%EC%B8%B5%20%EA%B5%AC%EC%A1%B0#s-3.3
  • https://velog.io/@rnjsrntkd95/%EC%BA%90%EC%8B%9C-%EB%A9%94%EB%AA%A8%EB%A6%ACCache-Memory
  • https://aidanbae.github.io/code/devops/computer/cpucache/

'CS > 운영체제' 카테고리의 다른 글

12. 가상기억장치 구현 기법  (0) 2024.08.03
11. 주기억장치 할당 기법  (0) 2024.08.03
10. 메모리 관리 전략  (0) 2024.08.03
9. 스케줄링  (0) 2024.08.03
8.좀비 프로세스와 고아 프로세스  (0) 2024.07.12
    'CS/운영체제' 카테고리의 다른 글
    • 12. 가상기억장치 구현 기법
    • 11. 주기억장치 할당 기법
    • 10. 메모리 관리 전략
    • 9. 스케줄링
    Carnival7
    Carnival7

    티스토리툴바