Cache 문제 해설편

2088 단어 Cache
1. Cache write→Cache Read일 경우
그림에서 보듯이 Cache에 명령을 쓰더라도 CPU 2의
Cache 2에서 읽은 값과 같은지 확인할 수 없습니다.
시기에 따라 명령이 제대로 전달되지 않는다.(다음 그림)

2. Non Cache write→ Cache Read일 경우
그림에서 보듯이 CPU 1에서 Shared memory에 명령을 기록해도
CPU2 측면의 Cache2에서 읽은 값과 동일한지 확인할 수 없습니다.
시기에 따라 명령이 제대로 전달되지 않는다.(다음 그림)

3. Cache write→Non Cache Read일 경우
그림에서 보듯이 Cache에 Cache 명령을 쓰는 경우에도 CPU 2의 명령은 Cache에 기록됩니다.
Shared memory에서 읽은 값과 같은지 확인할 수 없습니다.
시기에 따라 명령이 제대로 전달되지 않는다.(다음 그림)

4. Non Cache write→ Non Cache Read일 경우
①~④ 그런 일이 발생하면 CPU2 NonCache가 읽을 때 CPU 1 NonCache write에서 미리 실행한 명령이 바뀌어 명령 통신이 제대로 이루어지지 않을 때도 있다.(아래 그림①~④)
① CPU 1의 스레드 A에서 Non Cache Write로 명령 보내기

② CPU1 내 스레드 B에서 명령과 같은 Cache line의 기타 값 변경

③ ② CPU 1의 Cache 오버플로우를 통해 명령과 같은 라인 영역을 Non Cache 영역으로 돌려 Shared memory의 명령을 덮어씁니다.

④ CPU2 Non Cache Read의 명령구역은 이미 오른쪽 풀백이 파괴된 후의 부정확한 값이 되어 명령을 정확하게 전달할 수 없다.

좋은 웹페이지 즐겨찾기