윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 기술,IT
AMD Ryzen CPU 의 인피니티 패브릭 인터커넥트(Infinity Fabric Interconnect)와 메모리 클럭 동기화

AMD 의 Zen CPU 는 고전적인 의미의 CPU 가 아니다. SoC 라고 부른다. 칩 안에 여러가지 기능을 하는 모듈이 심어져 있다.

사용자 삽입 이미지

칩 안에는 고전적인 CPU 기능을 하는 코어 및 최대 4개의 코어를 묶은 CCX(Core CompleX) 및 CCX 2개를 묶은 CCD(Core Chiplet Die), L3 캐시, PCIe 모듈, NVMe 모듈, USB 모듈, GPU 모듈, 메모리 컨트롤러 등이 하나의 칩에 들어있다.

사용자 삽입 이미지

CPU안의 각각의 모듈을 서로 연결해주는게 인피니티 패브릭(Infinity Fabric Interconnect, 줄여서 IF)이다. 기존에 AMD 에서 CPU와 칩셋간 연결에 사용하던 하이퍼트랜스포트(HyperTransport)라는 기술과 같은 기술이다. 하이퍼트랜스포트가 2001년에 개발된건데, 이걸 성능을 향상시켜서 20여년이 지난 지금까지 사용한다는건 하이퍼트랜스포트가 얼마나 잘 설계된 기술인지, 앞서있는 기술인지 새삼 느끼게 해준다.

모든 모듈에서 메모리에 접근해야 때문에, IF는 주로 각각의 모듈과 메모리를 연결해주는 통로로 사용되고 있고, 이런 구조때문에 메모리 속도 및 메모리 컨트롤러 속도와 IF의 속도는 밀접한 관련이 있다. 가장 좋은건 메모리 속도와 IF의 속도가 같은것이고 이렇게 되면 지연이나 대기같은 작업이 없어진다. 이걸 IF 와 메모리 클럭이 1:1 동기화 되었다고 이야기 한다. (그리고 이걸 뒤집어서 이야기하면 메모리 속도가 빨라야 IF 속도가 빨라진다는 의미도 된다)

하지만 최신 메모리는 워낙 빠르기 때문에 일정한 클럭 이상으로 IF를 빠르게 할 수 없다. 르누아르 CPU 는 1:1 까지 지원되는게 IF 클럭 2266MHz 이고, 이는 DDR4-4532 과 1:1 동기화가 가능하다. 기존 3000번대 CPU 는 1900MHz 였고 DDR4-3800에 해당되는 수치다.

DDR4 메모리는 JEDEC 표준으로는 DDR4-3200 까지 나와있으니 DDR4-3800 까지 1:1동기화되는것에 대해 문제되진 않았다. 하지만 메모리 오버클러킹 할 때는 문제가 되었다. DDR4-4000 까지는 쉽게 오버클러킹 되었기 때문이다. 그래서 DDR4-3800 까지 지원되는건 아쉬움이 있을 수 밖에 없었다. 그나마 DDR4 메모리를 사용한 시스템까지는 표준 스펙으로는 모두 1:1 동기화가 가능했지만, 이후 DDR5 메모리에서는 1:1동기화가 안되고 있다. 현재 DDR5 에서는 1:2 가 일반적이다. (IF 가 1, 메모리가 2 다)

1:1 동기 되었는지 확인하는 방법은 CPU-Z 에서, Uncore Frequency 와 DRAM Frequency 가 같으면 된다.

사용자 삽입 이미지

최신 윈도에서는 WHEA (Windows Hardware Errors)를 리포트해준다. 여기에 CPU 내부 버스 오류에 대한 리포트가 있다. 무리하게 오버클럭하는 경우 내부적으로 오류가 발생하는데 이걸 확인할 수 있도록 해준다.

이중 눈여겨 볼 항목은 아래 2가지다. 이 오류값은 0이어야 한다. 이 값은 HWiNFO64 에서 "센서" 상태항목의 가장 아래에 있다. 오류가 없으면 나타나지 않는다.

사용자 삽입 이미지

CPU Bus/Interconnect Errors
CPU Cache L1 Errors

----

AMD Ryzen™ 7 PRO 4750G 메모리 오버클러킹