다른 프로세서에서 단일 스레드를 예약 할 때마다 캐시를 지워야합니까? 캐시가 지워지지 않으면 다음과 같이 처리 할 수 없습니다.다른 프로세서에서 단일 스레드 예약 - 캐시를 지울 필요가 있습니까?
두 개의 프로세서 P1 및 P2에서 다음과 같은 (의사) 코드를 실행한다고 가정합니다.
1. foo() {
2. int x=5;
3. x=10;
4. print x;
5. }
초기 스레드는 (스택) (X)의 메모리 위치가 캐시 라인에 1, 2, 5 및 저장을 실행 P1에 예정되어있다.
그러면 스레드는 3 행을 실행하는 P2에서 예약되고 에 0을 저장하여 x의 메모리 위치에 대해 캐시에 저장합니다.
마지막으로 스레드는 P1에서 다시 예약되고 4 행을 실행하면 5가 인쇄됩니다 (P1의 캐시에서 x의 값).
아직 10 점이 인쇄 될 것으로 예상됩니다.