C6711 Chip의 Cache는 상당히 복잡한 구조를 가지고 있는거 같다.

L1, L2 Cache 간의 coherence는 snoop 커맨드로 지들이 알아서 동기화를 하는거 같
다.
L2, external 간의 coherence는 지들이 알아서 하는게 아니라 내 책임이란다. ㅡ_ㅡ;;
쿨럭.. 그래서 다음과 같은 상황에서는 앞서 아래와 같이 먼저 하라고 권고한다.

periperal -> external ram dma transfer 후 CPU가 buffer를 읽어야 할때
-> L2 write back Invalidate
CPU가 buffer를 조작 후 external ram -> periperal로 Transfer 할때
-> L2 write back

글고 CPU와 EDMA간에 external memory를 통한 array transfer를 할 시, array는
-> cache line 크기의 배수
-> cache line 경계에 정렬
되어야 한댄다. ㅡ_ㅡ;;;

이제야 지난번에 내가 EDMA로 external memory -> external memory로 transfer
를 했을때, 안됬는지 이유를 대강(??)알겠다.
쿨럭..;; 복합적인 이유였군.. @ㅠ@/~~

+ Recent posts