본문 바로가기

computer science/computer architecture

[오늘 CS] 컴퓨터 구조 - 캐시 메모리


1. 캐시 메모리

  • CPU와 메모리 사이에 위치한, 레지스터보다 용량은 크고 메모리보다 속도가 빠른 SRAM 기반 저장 장치
    • CPU가 프로그램을 실행하는 과정에서 메모리에 접근해 데이터를 가져오는 시간은, 연산 속도보다 느림
    • 아무리 연산 속도가 빨라도 메모리에 접근하는 시간이 느리면 소용이 없을 것
    • 이를 극복하기 위한 저장 장치가 바로 캐시 메모리

 

 

 

2. 캐시 적중률(Cache hit ratio)

  • 캐시가 히트되는 비율
  • 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수) 
    • 캐시 히트(Cache hit)
      • 예측한 데이터가 실제로 들어맞아 캐시 메모리 내 데이터가 CPU에서 활용될 경우
    • 캐시 미스(Cache miss)
      • 예측이 틀려, 메모리에서 필요한 데이터를 직접 가져와야 하는 경우

 

 

 

3. 참조 지역성 원리

  • 보조기억장치는 전원이 꺼져도 기억할 대상을 저장하고, 메모리는 실행 중인 대상을 저장한다면,
  • 캐시 메모리는 참조 지역성 원리에 입각해 CPU가 사용할 법한 대상을 예측해 저장함
    • 시간 지역성(temporal locality)
      • CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있음
    • 공간 지역성(spatial locality)
      • CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있음

 

 

 

4. 저장 장치 계층 구조

  • 'CPU에 얼마나 가까운가'를 기준으로 계층적으로 나타낸 구조
    • 모든 사용자들은 빠른 동시에 저장 용량이 큰 저장 장치를 원하지만 '빠른 저장 장치'와 '용량이 큰 저장 장치'는 양립하기 어려움
    • CPU와 가장 가까운 레지스터는 일반적으로 RAM보다 용량은 작지만, 접근 시간이 압도적으로 빠르고 가격은 더 비쌈
    • USB 메모리보다 CPU에 더 가까운 RAM은 접근 시간이 훨씬 더 빠르지만, 같은 용량이라 해도 가격은 더 비쌈

[출처] https://www.geeksforgeeks.org/memory-hierarchy-design-and-its-characteristics/

 

 

 

 

 

 

[출처] 혼자 공부하는 컴퓨터 구조 + 운영체제