2013-02-05 5 views
5

메모리 시스템에 대한 정책에 대한 기본적인 질문이 있습니다.L2 퇴거시 L1 캐시에서 캐시 퇴거

개인 L1 및 L2 캐시가있는 코어를 생각해보십시오. L2 캐시 이후에는 일관성 트래픽이 실행되는 버스가 있습니다. 이제 주소 (X)에 대한 캐시 라인이 L2 캐시에서 제거되면 L1 캐시에서 해당 주소를 제거해야합니까 ??

퇴거의 이유는 일관성 프로토콜의 불변성을 유지하는 데 도움이 될 수 있습니다 [l2의 행에 잘못된이 코어가이 주소를 포함하지 않는다고 표시하는 경우].

답변

10

three different designs이 있으며 모두 사용됩니다.

  1. 독점 : L1 캐시의 데이터는 절대로 L2 캐시에 없습니다. L2 캐시의 데이터는 절대로 L1 캐시에 없습니다.

  2. 포함 : L1 캐시의 데이터도 L2 캐시에 있어야합니다.

  3. 아니요 : L1 캐시의 데이터가 L2 캐시에 있거나 없을 수 있습니다.

이들 각각에는 장단점이 있습니다. 포괄적 인 체계는 캐시 일관성 프로토콜이 L1 캐시를 무시하도록 허용합니다. 데이터가 L2 캐시에 없으면 L1 캐시에 없습니다. 그러나 독점 방식은 귀중한 캐시 메모리를 가장 효과적으로 사용합니다.

더 빠른 내부 캐시 동기화가 약간 더 큰 유효 캐시 크기를 갖는 것보다 중요하기 때문에 포괄적 인 디자인이 보편화되고 있습니다.

+0

줄 크기와 관련하여 의심의 여지가 있습니다. u는 동일한 http://stackoverflow.com/questions/14707803/line-size-of-l1-and-l2-caches를 명확히하십시오. –

+0

다음과 같은 추가 정보를 제공해주십시오 : "포괄적 인 디자인이 더 빠르게 코어 간 동기화가 약간 더 큰 유효 캐시 크기를 갖는 것보다 중요 해지고 있습니다. " – rkioji