번역하면 배타/포괄 뭐 이런거지만, 어감이 느낌이 안옵니당. 그래서 유식하게 영어로 씁니당.

1.JPG

AMD 코어 제품군은 Exclusive 캐시 입니다. 각기 캐시에 있는 데이터를 바로 Core에 전달해 주는데 바로 상위 레벨의 캐시에게는 전달해주지 않습니다.

이것의 장점은
 - 캐시의 용량을 최대 효율적으로 쓰게 됩니다. AMD의 캐시 실 효용량은 L1+L2+L3 입니다. 이것의 캐시는 절대 각기 캐시에 동일한 데이터가 오지 않는 특성이 있습니다.
 - 캐시의 용량을 구미에 맞게 짤 수 있습니다. L1>L2  같은 용량 상황을 만들 수도 있구용.지맘대롭니당.

이것의 단점은

- 자주쓰는 캐시의 데이터가 L3에 있다! 라고 하면 G-_-g 레이턴시가 아주기냥 몇배가 차이나니 이게 누적되면 작살나지용. 티끌 모아 태산.

이런 연유로 인해 여기에서는 x-way associative가 그렇게 넓지 않아도 그렇게 성능이 떨어지지 않게 될 듯 합니다.
일 것 같지만 x-way associative 는 CPU가 찾는 데이터를 몇방향으로 동시에 찾느냐 이므로 이것은 대역에 관한 문제라, x-way가 넓을수록 시크 타임이 상대적으로 줄어들 수 있는 알고리즘까지 같이 개발이 되어야 할 것입니다. AMD가 이게 way 갯수가 적습니다.


Capture2.JPG

Core 2 까지의 캐시는 대략적으로 Inclusive 입니다. 이것은 무조건 하위 캐시가 상위 캐시에 전달해주는 형태입니다.

이것의 장점으로는
- 자주 실행하는 데이터가 어디 있던지 간에 L1 캐시에 복사 되는 첫 타임 빼곤 최상의 레이턴시가 보장됩니다. 홱홱 지나가게 된다는겝니다. 뭐 얼마나 된다고 그러냐, 라고 하지만 우리는 잘 놀면서 우리가 갖고 노는 컴퓨터의 코어 부분은 노는꼴 보지 못하는게 우리 아닙니까.-_-b

이것의 단점으로는

- 역시 Exclusive와 정 반대 되게 캐시의 실효적 용량이 제일 하위 용량의 크기와 같게 됩니다. L2가 1MB라면 실효 용량은 1MB가 됩니다. 그리고 이것은 AMD와 달리 L1 캐시보다 L2 캐시가 적을 수가 없습니다. 아예 없으면 모를까. inclusive에서는 상위 캐시 영역이 갖고 있는 것을 하위 캐시 영역이 무조건 갖고 있어야 합니다.


Capture3.JPG

Nehalem에서는 L3만이 Exclusive가 됩니다. 캐시 규칙과 대략적인 추측을 해보다 보면 L3 캐시는 절대 Inclusive가 될 수 없거나, Inclusive가 된다면 절대 빠른 속도가 되지 않으리라는 것을 아시게 될 겁니다. 저는 컴맹이라 저 혼자 이해는 하지만 설명을 못하겠네영.

일단 화살표가 약간 다르니 그거 유념하시면 됩니다. 방향이 반대로 됐나?싶기도 하네용. 함 토론 해봐영.

대략적으로 L3는 4코어 이상이 공유하는 캐시입니다.

코어 간에는 coherency? 통로가 있습니당. Phenom도 마찬가지구용. Phenom이 다른거라곤 아마 L1, L2가 exclusive라는거 정도.

더 할 내용 있긴 한데 귀찮아.