AMD는 Zen 6 코어의 클럭 속도를 높이는 작업을 마무리하고 있으며, 칩은 최대 256코어, 5.3GHz 클럭, 20~31% IPC 향상을 제공할 예정입니다. 다만 이러한 기능들이 모두 동일한 SKU에 포함되는 것은 아닙니다.
256코어 Epyc를 1년 넘게 예고해 온 AMD가 마침내 이를 가능하게 한 Zen 코어의 아키텍처 변경 사항에 대해 이야기할 준비가 됐다. 이 변경 사항은 궁극적으로 데스크톱과 모바일 PC용 차세대 Ryzen 프로세서의 동력이 될 예정이다.
지난주 라스베이거스에서 열린 프레스 행사에서 AMD는 최신 Zen 코어의 세부 사항을 공개했다. 이 코어는 다양한 AI 및 서버 워크로드에서 클록당 명령어 수(IPC)를 평균 27% 향상시키며, 클록 속도도 4.1GHz에서 5.3GHz까지 높아진다고 한다. 머지않아 소비자용 칩의 주파수는 이보다 더 높아질 것으로 보이지만, AMD는 아직 Ryzen에 대해서는 이야기할 준비가 되지 않았다.
CPU 성능은 전력, IPC, 클록의 함수다. 이 세 가지 모두에서 향상이 이루어지면서, 이 코어는 회사 역사상 가장 큰 세대 간 도약 중 하나가 될 조짐을 보이고 있다.
**두 가지 코어 이야기**
과거 Epyc 출시 때와 마찬가지로 Zen 6는 하나의 코어가 아니다. 주파수에 최적화된 변형(Zen 6)과 밀도에 최적화된 버전(Zen 6c), 두 가지 종류로 나온다.
이러한 구분은 AMD가 2023년 출시한 Bergamo Epyc에까지 거슬러 올라간다. 이 칩은 여덟 개의 칩렛에 128개의 소형 Zen 4c 코어를 집적했다. 칩의 등장은 자연스럽게 Intel의 비교적 새로운 고효율 코어(E-코어)와 비교되었다. 그러나 내부 구조를 보면 AMD의 Zen 4c는 Intel의 접근 방식과 전혀 달랐다. 이 코어는 Zen 4와 거의 동일했으며, 단지 코어당 클록과 캐시 일부를 줄이는 대신 다이를 더 촘촘하게 집적한 것이었다.
Bergamo와 Genoa에서 애플리케이션을 실행할 때 차이는 실행 속도뿐이었다. Intel의 P-코어와 E-코어는 서로 다른 ISA를 사용하기 때문에 이와 같이 말할 수 없었다.
이는 Zen 5까지 AMD 소형 코어 아키텍처의 핵심 특징이자 장점으로 유지되었다. 덕분에 AMD는 사용자가 자신의 앱이 소형 코어에서 실행되는지 걱정할 필요 없이 최대 192코어의 Turin 제품을 출시할 수 있었다.
우리가 이해하는 바로는, Zen 6c에서도 이 철학은 대체로 변하지 않았다. Zen 6와 Zen 6c는 동일한 ISA를 공유하며, 주요 차이는 클록 속도다. 두 코어 사이에는 IPC와 클록 속도의 균형을 더 효과적으로 맞추기 위해 설계된 다른 마이크로아키텍처 차이도 있다.
코어의 블록 다이어그램만 봐서는 이것이 즉시 드러나지 않는다. Zen 6와 Zen 5는 매우 유사한 프런트엔드와 백엔드를 공유한다.
AMD가 Zen 5 대비 클라우드 및 AI 워크로드에서 20~31%의 IPC 향상을 주장하지 않았다면, 이 코어를 점진적 개선이라고 부르고 싶은 유혹이 들었을 것이다. 이는 코어 대 코어로 비교할 때, 4.1GHz로 동작하는 Zen 6c 기반 Venice Epyc가 5GHz로 동작하는 Zen 5 기반 Turin Epyc와 비슷한 성능을 보일 것임을 시사한다.
상당한 도약이지만, AMD가 기업용 서버 및 클라우드 워크로드에서 세대 간 향상을 보았다고 해서 클라이언트 측에서도 같은 향상이 나타나는 것은 아니다. Ryzen 9000 시리즈에서 PC 게이밍 마니아들이 약 5%의 성능 향상을 보고했던 일을 기억하는 사람이 많을 것이다. 이로 인해 "Zen 5 percent(Zen 5 퍼센트)"라는 유감스러운 말장난이 생겨났다. 당시 게임 엔진은 CPU 병목이 걸려 있지 않았기 때문에, 더 빠른 코어가 성능 상한을 올릴 수 있는 폭이 제한적이었다. 그럼에도 AMD 펠로이자 "Zen의 아버지"로 불리는 Mike Clark은 El Reg에 PC 구매자들이 Zen 6에서 6% 이상의 향상을 기대한다고 말했다.
여기서는 여러 저수준 아키텍처 최적화를 간략히 다루고 있지만, Clark에 따르면 성능 향상의 가장 큰 동력 중 하나는 프런트엔드였다. Zen 5는 이중 프런트엔드를 도입했는데, 이는 단순한 워크로드에서는 잘 작동했지만 동적인 부하에서는 효과가 상당 부분 떨어졌다.
"Zen 6 팀은 양면적 성격을 지닌 대규모 풋프린트 워크로드에서 정말 훌륭한 일을 해냈습니다." Clark의 말이다. "이것은 잘 드러나지 않습니다. 블록 다이어그램에서도 잘 보이지 않죠. 미묘하지만... 큰 지렛대입니다."
또 다른 기여 요인은 아웃오브오더 파이프라인에서 분산 스케줄러로의 전환이었다. 현대 CPU 코어의 가장 큰 성능 동력 중 하나는 명령어를 받은 순서대로 실행하지 않는다는 점이다. 대신 백엔드 실행 유닛에 끊임없이 작업이 공급되도록 명령어 순서를 재배열한다.
Zen 6와 Zen 6c의 가장 큰 차이가 바로 여기서 나타난다. 후자의 느린 클록을 보완하기 위해 AMD는 Zen 6c의 스케줄러에 더 깊은 큐를 제공했는데, Clark는 이것이 지연 시간이 긴 워크로드에 도움이 된다고 말한다. 한편 우리가 파악한 바에 따르면, Zen 6의 더 얕은 큐 덕분에 더 적은 전력으로 더 높은 클록에서 동작할 수 있다.
마지막으로 AMD는 AI를 포함해 벡터 연산이 많은 워크로드에 큰 영향을 줄 여러 미묘한 백엔드 변경을 했다. 그중 더 중요한 것 하나는 사이클당 AVX2 로드 4회 또는 AVX-512 로드 2회를 수행할 수 있게 된 것이다.
이것이 AVX-512 성능을 크게 향상시키지는 않지만, AVX-512를 사용하도록 업데이트되지 않은 애플리케이션도 이제 로드 횟수가 두 배가 되는 혜택을 볼 수 있으며, 이는 레거시 소프트웨어의 처리량 향상으로 이어질 수 있다. Intel이 AVX-512를 지원하지 않으면서 AVX2가 많은 소프트웨어의 최저 공통 분모가 된 PC에서 특히 유용할 것으로 보인다.
이번 세대에서 AVX-512가 주목받지 않았다는 뜻은 아니다. CPU에서 AI 워크로드를 실행하는 사용자에게 Zen 6는 이제 FP16 데이터 타입을 네이티브로 지원한다. 이전에는 FP16이 지원되긴 했지만 데이터를 FP32로 패딩해야 했기 때문에, 낮은 정밀도가 성능 향상으로 거의 이어지지 않았다. Zen 6에서는 더 이상 그렇지 않다.
AI 가속과 관련해, Clark는 Zen 6가 VNNI-INT8 파이프를 2개에서 4개로 두 배 늘렸다고 설명한다. 이는 이를 지원하는 워크로드의 처리량을 사실상 두 배로 높여줄 것이다.
**거대한 코어에 먹이 주기**
엄밀히 말해 코어의 일부는 아니지만, AMD의 Zen 6 프로세서는 주파수 최적화 코어와 밀도 최적화 코어에 연관된 가장 큰 비대칭 중 하나도 해결한다.
Bergamo로 거슬러 올라가면, 밀도 최적화 Epyc를 선택하는 것은 클록뿐 아니라 캐시도 희생하는 대가가 따랐다. Zen 4c 또는 Zen 5c 칩렛은 코어 수가 두 배였지만 L3 캐시 용량은 동일했다.
Zen 6와 Zen 6c에서는 클록 속도를 일부 포기할 수도 있지만, 코어당 캐시는 이제 4MB로 일정하다. 9월 Venice 심층 분석에서 다룬 것처럼, 프로세서의 여덟 개 CPU 다이 각각은 12개 또는 32개의 코어를 포함하며, L3 캐시는 각각 48MB 또는 128MB다.
이로써 사용자는 AMD Epyc 프로세서용 소프트웨어 스택을 최적화할 때 서로 다른 ISA나 캐시 계층을 걱정할 필요가 없어진다. Intel Xeon 프로세서는 이와 같이 말할 수 없다.
앞서 언급했듯이, Intel의 성능 코어와 효율 코어는 서로 다른 마이크로아키텍처, ISA, 캐시 계층, 클록을 사용하며, 코어를 묶는 방식도 다르다. 이는 AVX-512처럼 넓은 벡터 레지스터를 활용하는 워크로드나, Intel의 P-코어에서는 실행되지만 E-코어에서는 실행되지 않는 AMX 같은 가속기를 사용하는 워크로드에 실질적인 골칫거리가 될 수 있다.
이 점과 Intel이 현재 중단한 SMT(하이퍼스레딩) 지원이 맞물려, Zen 가문은 오랜 라이벌로부터 시장 점유율을 더 많이 빼앗을 수 있을 것이다.