Henu
개발냥발
Henu
전체 방문자
오늘
어제
  • 분류 전체보기 (411)
    • DevOps (52)
      • Kubernetes (19)
      • Docker (14)
      • AWS (3)
      • Nginx (4)
      • Linux (4)
      • ArgoCD (1)
      • CN (2)
      • NATS (0)
      • Git (5)
    • Back-End (30)
      • Django (18)
      • Spring (5)
      • JPA (1)
      • MSA (5)
    • CS (87)
      • SystemSoftware (20)
      • OS (25)
      • Computer Architecture (16)
      • Network (23)
      • Database (2)
    • Lang (21)
      • Java (9)
      • Python (4)
      • C# (8)
    • Life (12)
    • 블록체인 (2)
    • Algorithm (204)
      • BOJ (160)
      • 프로그래머스 (19)
      • LeetCode (4)
      • SWEA (1)
      • 알고리즘 문제 해결 전략 (8)
      • DS, algorithms (7)
      • Checkio (5)
    • IT (2)

블로그 메뉴

  • GitHub
  • 글쓰기
  • 관리자

공지사항

  • Free!

인기 글

태그

  • DFS
  • 프로그래머스
  • docker
  • 다이나믹 프로그래밍
  • django
  • boj
  • Kubernetes
  • BFS
  • 백트래킹
  • Network

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Henu

개발냥발

SystemSoftware - Cache Memory #2
CS/SystemSoftware

SystemSoftware - Cache Memory #2

2021. 6. 6. 22:53
 

SystemSoftware - Cache Memory #1

cache memory에 대해서 알아보자 Locality Temporal locality(시간 지역성) : 최근에 접근했던 data나 명령이 가까운 미래에 다시 사용될 가능성이 높다. (마지막으로 사용된 시간이 오래될수록 다시 사용될

hyeo-noo.tistory.com

 

cache write방식에 대해서 알아보자

 

 

Cache Write는 어떤 방식으로 동작할까?

 

만약 cache에 write를 했는데 hit가 발생한 경우

 

  • Write-through : cache에 데이터를 입력하고 메모리에 바로 작성한다. (cache와 메모리의 정보는 항상 같음)  비용이 많이 든다는 단점이 존재.

 

 

  • Write-back : 일단 cache에 수정사항을 입력하고 메모리에는 반영하지 않는다. dirty bit를 사용해서 수정이 되었다는 정보만 가지고 있다가, 해당 block이 방출될 때 메모리에 업데이트한다. cache가 replacement될 때 한 번만 업데이트 하면 되므로 비용은 적게 든다. 하지만 cache의 정보와 메모리의 정보의 일관성이 깨진다는 단점이 존재. 
    + 데이터를 잃을 가능성이 있다는 뜻이다. 그래서 대부분의 저장소 제품에서는 이 캐시를 별도의 캐시와 미러링해서 안정성을 높인다. (23.06.17 update)

 

 

만약 cache에 write를 했는데 miss가 발생한 경우

 

  • Write-allocate : 메모리를 cache로 모두 가져온 뒤 cache에 write를 해준다.
  • No-write-allocate : cache로 읽어오지 않고 메모리에 바로 write를 해준다.

 

 

Write-through + No-write-allocate

 

Write-back + Write-allocate : 더 일반적으로 사용된다.

 

 

 

'CS > SystemSoftware' 카테고리의 다른 글

SystemSoftware - Exceptional Control Flow #3  (0) 2021.06.09
Cache Lab csim.c #1  (1) 2021.06.07
SystemSoftware - Cache Memory #1  (1) 2021.06.06
SystemSoftware - Creating Processes #2  (0) 2021.06.06
SystemSoftware - Creating Processes #1  (0) 2021.06.06
    'CS/SystemSoftware' 카테고리의 다른 글
    • SystemSoftware - Exceptional Control Flow #3
    • Cache Lab csim.c #1
    • SystemSoftware - Cache Memory #1
    • SystemSoftware - Creating Processes #2

    티스토리툴바