2011-04-23 4 views
1

loop unrolling은 어떤 식 으로든 데이터 캐시 성능에 영향을 줍니까? 이것은 simplescalar sim-cache의 코드를 시뮬레이트하여 루프 타일링, 캐시 액세스 및 캐시 실패율에 대한 내부 루프 등의 메모리 액세스의 효과를 테스트해야하는 숙제와 관련이 있습니다. 할당은 특별히 루프 언 롤링을 요청하지만 데이터 캐시에 어떤 영향을 미칠 수 있는지 이해하지 못합니다.루프 언 롤링 및 데이터 캐시 성능

답변

3

일반적으로 루프 풀림은 L1 데이터 캐시에는 영향을 미치지 않고 명령 캐시에만 영향을 미칩니다. 이 두 가지는 대부분의 아키텍처에서 서로 다르기 때문에. 그러나 다중 레벨 캐시 아키텍처를 사용하는 경우 대부분의 아키텍처에서 레벨 2 캐시는 명령어 캐시와 데이터 캐시 모두에 대해 레벨 2 캐시로 사용됩니다. 따라서 너무 많은 명령어를 언 롤링하면 L2 캐시에 영향을 미칠 수 있으므로 L2 캐시의 성능이 본질적으로 저하됩니다.

다음은 icache와 dcache가 분리되어 있지만 L2 캐시는 모두 동일한 코어 i7 아키텍처의 그림입니다. http://upload.wikimedia.org/wikipedia/commons/6/64/Intel_Nehalem_arch.svg