Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Page 1
Dive Into
Cache
by 레쓰비
Page 2
Direct Mapping
31 Tag 15 14 Index 6 5 Offset 0
Page 3
Fully Associative
31 Tag
6
5 Offset 0
Page 4
N-Way Set Associative
31 Tag 12 11 Set 6 5 Offset 0
Page 5
Mapping method Summary
종류 장점 단점
Direct Mapping
구조가 간단 (Cheap) 해당 Index 에 하나의
주소만 넣을 수 있기에 ,
Cache 공간을 효율적으
로 사용하지 못...
Page 6
Direct Mapping
Page 7
Page 8
Page 9
Page 10
Page 11
4-Way Associative
Page 12
4-Way Associative
Page 13
4-Way Associative
Page 14
4-Way Associative
Page 15
4-Way Associative
Page 16
Write-Through & No-Write-Allocate
Read:
1.Cache 내 해당 Memory 존재여부 검
사
2. 있을 때는 Cache 값을 사용
3. 없을 때는 Memory 에서 읽어서 할...
Page 17
Write-Back & Write-Allocate
Read:
1.Cache 내 해당 Memory 존재여부 검
사
2. 있을 때는 Cache 값을 사용
3. 없을때는 사용할 Cache 블럭 할당
4. 할당된...
Page 18
Write on Cache :
Write-Through : 바로 Memory 에 접근하여 쓰기를 수행
-> 매번 Stall 을 유발
Write-Back : Cache 에만 쓰기를 하며 해당 Cache Sl...
Page 19
Thank You
Upcoming SlideShare
Loading in …5
×

Cache, Set Associative, Write-Through, Write-Back

1,497 views

Published on

Cache, Set Associative, Write-Through, Write-Back

Published in: Devices & Hardware
  • Be the first to comment

Cache, Set Associative, Write-Through, Write-Back

  1. 1. Page 1 Dive Into Cache by 레쓰비
  2. 2. Page 2 Direct Mapping 31 Tag 15 14 Index 6 5 Offset 0
  3. 3. Page 3 Fully Associative 31 Tag 6 5 Offset 0
  4. 4. Page 4 N-Way Set Associative 31 Tag 12 11 Set 6 5 Offset 0
  5. 5. Page 5 Mapping method Summary 종류 장점 단점 Direct Mapping 구조가 간단 (Cheap) 해당 Index 에 하나의 주소만 넣을 수 있기에 , Cache 공간을 효율적으 로 사용하지 못한다 . Fully Associative Cache 의 남는 공간 어 디에든 주소를 넣을 수 있어서 Cache 공간을 효 율적으로 사용한다 구조가 복잡하고 (Expensive) 해당 주소 가 Cache 에 있는지 검 사할 때마다 모든 Slot 을 검사해야 한다 . N-Way Associative Direct Mapping 과 Fully Associative 의 타협점으로 , Fully Associative 보다 덜 복잡하고 (less expensive) Direct Mapping 보다 공간을 보다 효율적으로 사용한다 Direct Mapping 처럼 Index 를 통해서 한번에 접근할 수 있지만 여전히 N 번의 비교가 필요하 며 , 여전히 공간을 완전 히 효율적으로 사용하지 는 못한다 .
  6. 6. Page 6 Direct Mapping
  7. 7. Page 7
  8. 8. Page 8
  9. 9. Page 9
  10. 10. Page 10
  11. 11. Page 11 4-Way Associative
  12. 12. Page 12 4-Way Associative
  13. 13. Page 13 4-Way Associative
  14. 14. Page 14 4-Way Associative
  15. 15. Page 15 4-Way Associative
  16. 16. Page 16 Write-Through & No-Write-Allocate Read: 1.Cache 내 해당 Memory 존재여부 검 사 2. 있을 때는 Cache 값을 사용 3. 없을 때는 Memory 에서 읽어서 할 당 Write: 1.Cache 내 해당 Memory 존재여부 검사 2. 있을 때는 Cache 와 Memory 동시 기록 3. 없을 때는 Memory 에만 기록 [No-Write-Allocate 방식 ]
  17. 17. Page 17 Write-Back & Write-Allocate Read: 1.Cache 내 해당 Memory 존재여부 검 사 2. 있을 때는 Cache 값을 사용 3. 없을때는 사용할 Cache 블럭 할당 4. 할당된 블록이 Dirty-Flag-Setted 라면 해당블럭 Memory 에 쓰기 수행 5. 방금 쓰기를 수행한 Memory 를 다 시 Cache 에 적재 [Write-Allocate 방식 ] 6. 해당 Cache 블록의 Dirty-Flag 를 해제 Write: 1.Cache 내 해당 Memory 존재여부 검사 2. 있을 때는 Cache 에만 기록하고 Dirty-Flag 를 할당 3. 없을때는 사용할 Cache 블럭 할당 4. 할당된 블록이 Dirty-Flag-Setted 라면 해당블럭 Memory 에 쓰기 수행 5. 방금 쓰기를 수행한 Memory 를 다 시 Cache 에 적재 [Write-Allocate 방식 ]
  18. 18. Page 18 Write on Cache : Write-Through : 바로 Memory 에 접근하여 쓰기를 수행 -> 매번 Stall 을 유발 Write-Back : Cache 에만 쓰기를 하며 해당 Cache Slot 에는 Dirty-Bit 를 Set 한다 . -> 실제로 Memory 에 쓰기를 수행할 때만 Stall 이 발생 실제로 Memory 에 변경 사항이 적용되는 경우는 다음과 같다 . 1) Dirty-Bit 가 Set 된 Cache 를 읽으려 시도한 경우 , 2) Dirty-Bit 가 Set 된 Cache 를 대상으로 쓰기를 시도한 경우 , Write-Allocate : 만약 어떤 Memory 에 대해 쓰기를 수행하려 할때 해당 Memory 가 Cache 에 없는 경우 Memory 에 쓰기를 완료한 후 , 이를 다시 읽어들여 Cache 에 할당해 준다 . [Write-Back 과 함께 사용 ] No-Write-Allocate : Memory 에 대한 쓰기가 완료된 후 해당 내용을 Cache 로 다시 가져오지 않는다 . [Write-Through 와 함께 사 용 ]
  19. 19. Page 19 Thank You

×