시험전 복습
•
Snooping cc protocol 유한 상태 머신 그림에 구조 빈칸채우기
•
MSI Protocol 상태 전이 공부하두기
•
Snooping 이란
•
memory concistancy 순서
•
클라우드는 큰제목 위주 / 개념위주
•
앞단원은 그림 위주
Snooping Cache Coherence Protocol
MSI protocol State
M(Dirty or modified) | w/r | 1copy | |
S(Shared) | r | ncopy | |
I(Invalid) | - | - | 데이터가 없음 |
write-invalidation → 변경 즉시 잘못되었다는 상태만 뿌림(invalidate)
write-update → 변경 즉시 다른 곳으로 뿌림
Processor Event → 프로세서에서 나오면
Bus Transactions → 버스에서 나오면
Snoop Controller → 모니터링 유닛
MESI (intel Pentium 4)
•
한개의 copy만 있으면 broadcasting을 할 이유가 없음
•
그래서 Exclusive상태를 만들어서 최초로 읽은 상태를 E로 만들어서 M상태로 갈 때해당 값이 BusRdX를 보내지 않도록 함
MOESI (AMD64)
•
Owned state
•
cache to cache transfer by state M data(dirty data) → 메모리를 거치지 않고 캐시에서 캐시로 전달(빠른전달)
•
메모리와는 값이 다르기 때문에 O라는 상태를 따로 구분함
•
다른 캐시가 S요청을하면 O가 직접 데이터를 줌
MESIF - same as MESI (intel)
•
cache to cache transfer by state S data
•
여러개의 S data 중 하나인 core F를 만들어서 해당 cache가 전달
Directory based protocol
Motivation : scaling cache coherence to large machines
NUMA : non-uniform UMA Architecture → 어떤 메모리에 접근하느냐에 따라 시간이 다 달라짐
CC-NUMA : NUMA 지만, CC를 지킴
DSM : 메모리가 흩어져있지만 공유가 가능
broadcasting 대신에 필요한 곳으로 직접 변경 요청을 진행한다.
directory는 상태와 sharing list를 가지고 있다 (메모리 개수만큼)
•
Directory를 위한 공간이 필요하다 (space overhead)
•
Bus 트래픽이 줄었음.
•
각각에 통신에 있어서 지연이 생김(핸드쉐이킹 과정 등이 필요하기 때문 + 물리적 거리도 있음)