문제

L1/L2 캐시가 각 캐시 메인 메모리 데이터 단어의 여러 사본을 라인 할 수 있습니까?

도움이 되었습니까?

해결책

기본 메모리가 캐시에 두 번 이상있을 수 있습니다. 분명히 그것은 사실이며 멀티 프로세서 머신의 일반적인 발생입니다. 그러나 UNI 프로세서 머신에서도 발생할 수 있습니다.

분할 L1 명령/데이터 캐시가있는 Pentium CPU를 고려하십시오. 지침은 i-cache로만 이동하고 D- 캐시에만 데이터를 사용합니다. 이제 OS가 자체 수정 코드를 허용하면 동일한 메모리를 I- 및 D-Cache에 한 번 데이터로 한 번 지침으로로드 할 수 있습니다. 이제 L1 캐시에 해당 데이터가 두 번 있습니다. 따라서 이러한 분할 캐시 아키텍처가있는 CPU는 레이스 조건/손상을 피하기 위해 캐시 일관성 프로토콜을 사용해야합니다.

다른 팁

아니요 - 이미 캐시에있는 경우 MMU는 다른 사본을 작성하는 대신 해당 MMU를 사용합니다.

모든 캐시는 기본적으로 전체 메모리의 작은 부분 집합을 저장합니다. CPU가 메모리에서 단어가 필요할 때 메인 메모리가 확인되기 전에 먼저 L1로 이동 한 다음 L2 캐시 등으로 이동합니다.. 따라서 특정 메모리 단어는 L2와 L1에 동시에있을 수 있지만 L1에 두 번 저장할 수는 없습니다. 필요하지 않기 때문입니다.

예, 그럴 수 있습니다. L1 사본이 업데이트되었지만 L2로 플러시되지 않았습니다. 이것은 L1과 L2가 비 독점적 인 캐시 인 경우에만 발생합니다. 이것은 Uni-Processors에게는 분명하지만 일반적으로 각 코어에 대해 자체 L1 캐시를 갖는 다중 프로세서의 경우 더욱 그렇습니다.

그것은 모두 캐시 아키텍처에 따라 다릅니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top