인피니티 패브릭이 뭔진 알지? CCX 대 CCX, CCX 대 멤컨, CCX 대 PCIe 컨트롤러 등 수많은 부위들을 연결해주는 공용 인터페이스다.


이 녀석은 대충 아래와 같은 구조로 되어 있는데....



0fb4dd21da8068f43eee87e54380706fadec27c788126e22601f52da167e0c1eedeeec325569155b03043369


CCD 다이 하나당 각각 cIOD 다이에 연결되어 있는 구조이며 클럭 당 32Byte, 쓰기는 클럭 당 16Byte로 작동하도록 되어 있지.

CCD 하나당이므로 CCD가 2개라면 2배로 늘어난다.



여기서 클럭이 무슨 클럭인가? 니들도 잘 아는 fCLK다. 메모리 클럭 절반 그거. 1:1 동기화면 절반이고 2:1 동기화면 1/4겠지.

즉 3200Mhz 시금치를 기준으로 한다면, 1600Mhz로 작동하게 된다.



그러면 읽기 대역폭을 계산해보자. 1600Mhz x 32Byte=51200MB/s가 나오게 된다. 3200Mhz 듀얼 채널에서 가용 가능한 최대 대역폭과 동일하다.

즉 읽기는 1CCD라고 해도 병목이 일어나지 않으며, 메모리 읽기 성능에 영향을 주지 않게 된다.


하지만 쓰기는 16Byte이므로, 저것의 절반이지. 즉 IF의 대역폭이 낮아서, 메모리 쓰기 성능 51200MB/s를 온전히 내지 못하게 되는 것이다.


CCD가 2개라면 32Byte로 늘어나므로 아까와 동일하게 메모리 쓰기 성능을 깎아먹지 않는 수준이 된다.



왜 1CCD에서만 메모리 쓰기 속도가 반토막나는가는 바로 여기에서 비롯된 거임.


애초부터 읽기에 비해 쓰기의 대역폭이 절반이기 때문. 그러면 왜 이렇게 설계했냐고?

주기억장치든 보조기억장치든 통상적인 실사용에 가장 큰 영향을 미치는 건 읽기 성능이므로 한정된 자원이라면 읽기 성능에 몰아주는 게 낫기 때문.



두 번째로 I/O는 연산 유닛이나 SRAM에 비해 공정빨을 적게 타는 부위라, i/o를 너무 키우면 다이 사이즈가 커지고, 전력소모랑 발열이 커짐.


ZEN1 이래로 AMD의 모토는 극한의 효율충이기 때문에 어차피 공정빨도 못받는거 싸구려 GF 12nm도 재탕한거고, i/o스펙도 대충 타협한거지.