메모리 계층 구조
두 프로그램을 같은 코어에서 번갈아 실행하면, 각각을 단독으로 실행하는 것보다 느려질 수 있습니다. 캐시의 관점에서 가장 적절한 설명은 무엇입니까?
- A번갈아 실행하면 각각이 실행하는 명령의 수 자체가 2배로 늘어나기 때문
- B번갈아 실행하면 캐시의 용량이 절반으로 재설정되기 때문
- C상대의 데이터에 자신의 데이터가 쫓겨나 다시 읽는 일이 늘어나기 때문
정답과 해설 보기
정답: C. 상대의 데이터에 자신의 데이터가 쫓겨나 다시 읽는 일이 늘어나기 때문
프로그램을 전환하면 상대 프로그램이 사용한 데이터로 캐시나 TLB가 채워져, 자신의 차례가 돌아왔을 때는 필요한 데이터가 쫓겨나 있습니다. 그래서 단독이라면 히트했을 접근에서 미스가 일어나 데이터를 주기억장치에서 다시 읽는 시간이 듭니다. 전환 간격이 짧을수록 이 영향은 커집니다. 실행하는 명령의 수는 변하지 않으며, 캐시의 용량이 재설정되는 것도 아닙니다. 캐시를 나누어 쓰는 영향 때문입니다.
- A. 각각의 명령 수는 변하지 않습니다.
- B. 캐시의 용량이 변하는 것은 아닙니다.
- C. 올바릅니다. 상대의 데이터에 쫓겨나 다시 읽는 미스가 늘어납니다.