2009-05-19 7 views
1

L1/L2 캐시 라인은 각 캐시에 주 메모리 데이터 워드의 여러 복사본을 저장할 수 있습니까?L1/2 캐시 문제

답변

1

주 메모리가 두 번 이상 캐시에있을 가능성이 있습니다. 분명히 사실이며 멀티 프로세서 시스템에서 흔히 발생합니다. 그러나 유니 프로세서 머신이라 할지라도 그것은 발생할 수 있습니다.

분할 L1 명령/데이터 캐시가있는 펜티엄 CPU를 고려하십시오. 명령은 I- 캐시로 이동하며 데이터는 D- 캐시로만 이동합니다. 이제 OS가 자체 수정 코드를 허용하는 경우 같은 메모리를 I- 캐시와 D- 캐시 모두에 한 번 데이터로, 한 번 명령으로로드 할 수 있습니다. 이제 L1 캐시에서 두 번 데이터를 가져 왔습니다. 따라서 이러한 분할 캐시 아키텍처를 사용하는 CPU는 경쟁 조건/손상을 피하기 위해 캐시 일관성 프로토콜을 사용해야합니다.

0

아니요 - 이미 캐시에있는 경우 MMU는 다른 복사본을 만드는 대신이를 사용합니다.

+0

반드시 그렇지는 않습니다. 그것은 전적으로 캐시 아키텍처에 달려 있습니다. – sybreon

0

예. 가능합니다. L1 사본이 업데이트되었지만 L2로 플러시되지 않았습니다. 이는 L1과 L2가 비 독점 캐시 인 경우에만 발생합니다. 이것은 단일 프로세서에서 분명하지만 일반적으로 각 코어에 대해 고유 한 L1 캐시가있는 다중 프로세서의 경우 더욱 그렇습니다.

모든 것이 캐시 아키텍처에 달려 있습니다.