Cache, Set Associative, Write-Through, Write-Back
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 311 views

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

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

Statistics

Views

Total Views
311
Views on SlideShare
311
Embed Views
0

Actions

Likes
1
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 0. 소개 <br /> 1. 캐쉬와 메모리간의 매핑 방법 설명 <br /> 1. Direct Mapping 방법 <br /> 2. n-Way mapping 방법 <br /> 3. Write-through, Write-back, Write-allocate, No-write-allocate 용어 설명 <br /> 4. Write-through, No-write-allocate 방식 캐쉬의 읽고 쓰기(순서도) <br /> 5. Write-back, Write-allocate 방식 캐쉬의 읽고 쓰기(순서도) <br /> 0. 소개 <br /> 1. Cache 의 정의 <br /> 2. 인텔씨퓨 다이 사진 <br /> 3. CPUID 사진 <br /> 4. 캐시 메모리 벤치마크 사진 <br /> 5. 씨퓨가 메모리를 읽을때 순서도(단순화한) <br /> 6. 캐시상에 메모리가 매핑되는 방법돠 TAG 등의 언급(그림) <br /> 7. Direct Mapping 방법 (1:1) [그림] <br /> 8. n-Way Mapping (Set-Asocciative) [그림] <br /> 9. 쓰기를 일어날때 캐쉬를 활용하는 법 [Write-through, Write-back, Write-allocate, No-write-allocate 설명] <br /> 10. Write-Through [순서도] <br /> 11. Write-Back [순서도] <br /> 12. 멀티코어를 위한 MESSI 알고리즘 <br /> 13. 레퍼런스 <br /> 안녕하세요,, 이번에 요약발표를 맡게된 레쓰비의 이동호 입니다. <br /> 전체적인 요약은 다른 조에서 잘 요약해 주실 거라고 생각되어, <br /> 저희조는 교수님이 강의하신 캐쉬의 동작에 대한 내용을 주된 주제로 삼아 발표를 하기로 했습니다. <br />
  • 0. 소개 <br /> 1. 캐쉬와 메모리간의 매핑 방법 설명 <br /> 1. Direct Mapping 방법 <br /> 2. n-Way mapping 방법 <br /> 3. Write-through, Write-back, Write-allocate, No-write-allocate 용어 설명 <br /> 4. Write-through, No-write-allocate 방식 캐쉬의 읽고 쓰기(순서도) <br /> 5. Write-back, Write-allocate 방식 캐쉬의 읽고 쓰기(순서도) <br /> 0. 소개 <br /> 1. Cache 의 정의 <br /> 2. 인텔씨퓨 다이 사진 <br /> 3. CPUID 사진 <br /> 4. 캐시 메모리 벤치마크 사진 <br /> 5. 씨퓨가 메모리를 읽을때 순서도(단순화한) <br /> 6. 캐시상에 메모리가 매핑되는 방법돠 TAG 등의 언급(그림) <br /> 7. Direct Mapping 방법 (1:1) [그림] <br /> 8. n-Way Mapping (Set-Asocciative) [그림] <br /> 9. 쓰기를 일어날때 캐쉬를 활용하는 법 [Write-through, Write-back, Write-allocate, No-write-allocate 설명] <br /> 10. Write-Through [순서도] <br /> 11. Write-Back [순서도] <br /> 12. 멀티코어를 위한 MESSI 알고리즘 <br /> 13. 레퍼런스 <br /> 안녕하세요,, 이번에 요약발표를 맡게된 레쓰비의 이동호 입니다. <br /> 전체적인 요약은 다른 조에서 잘 요약해 주실 거라고 생각되어, <br /> 저희조는 교수님이 강의하신 캐쉬의 동작에 대한 내용을 주된 주제로 삼아 발표를 하기로 했습니다. <br />

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

  • 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 공간을 효율적으 로 사용하지 못한다 . Fully Associative Cache 의 남는 공간 어 디에든 주소를 넣을 수 있어서 Cache 공간을 효 율적으로 사용한다 구조가 복잡하고 (Expensive) 해당 주소 가 Cache 에 있는지 검 사할 때마다 모든 Slot 을 검사해야 한다 . N-Way Associative Direct Mapping 과 Fully Associative 의 타협점으로 , Fully Associative 보다 덜 복잡하고 (less expensive) Direct Mapping 보다 공간을 보다 효율적으로 사용한다 Direct Mapping 처럼 Index 를 통해서 한번에 접근할 수 있지만 여전히 N 번의 비교가 필요하 며 , 여전히 공간을 완전 히 효율적으로 사용하지 는 못한다 .
  • 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 에서 읽어서 할 당 Write: 1.Cache 내 해당 Memory 존재여부 검사 2. 있을 때는 Cache 와 Memory 동시 기록 3. 없을 때는 Memory 에만 기록 [No-Write-Allocate 방식 ]
  • 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 방식 ]
  • 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 와 함께 사 용 ]
  • Page 19 Thank You