젠3와 젠4의 위치
AMD는 차세대 CPU 코어 아키텍처인 젠3를 출시합니다. 젠2 출시 후 1년만에 다음 세대의 마이크로 아키텍처를 도입하는 것입니다. AMD의 Mark Papermaster(Chief Technology Officer and Executive Vice President, Technology and Engineering, AMD)는 젠3가 젠2와 같은 7nm 공정으로 만들었지만 더 높은 클럭, 더 높은 IPC(Instruction-per- Clock), 그리고 디자인 개선이 있었다고 설명합니다.
젠3는 젠 CPU 코어의 마이크로 아키텍처를 확장하고, 클러스트 아키텍처를 혁신해 IPC를 높였으며, 캐시 효율을 향상시켜 대규모 워크로드의 성능을 높인 아키텍처입니다. 그러나 젠3와 젠2는 같은 7nm 공정이기에 트랜지스터가 크게 늘어나진 않습니다. 7nm 공정을 개선한 효과는 있겠으나, 노드가 바뀐 만큼 큰 변화는 없습니다. 트랜지스터의 수는 5nm 공정의 젠4에서 크게 늘어날 겁니다. 이에 비해 젠3는 공정의 한계 안에서 최대한 성능을 높인 버전이라 할 수 있습니다.
트랜지스터 수가 크게 늘어나는 확장은 공정이 바뀌는 젠4에 넣고, 작은 변화로 큰 성능 향상을 이끌어내는 건 젠3에 넣을 가능성이 큽니다. 예를 들어 7nm 공정을 도입한 젠2의 경우 상당한 트랜지스터 증가가 필요했던 부동소수점 SIMD (Single Instruction, Multiple Data) 연산 유닛을 강화한바 있습니다. 즉, AMD의 젠 라인업은 젠4에서 더 큰 변화가 있으리라 예상됩니다. AMD의 CPU 개발 과정은 제조 공정 기술과 맞춰 바뀌고 있으며, 공정 교체 사이에는 개량형 아키텍처가 등장합니다.
19%의 IPC 향상을 달성
젠3 아키텍처는 CPU 코어 뿐만 아니라 CPU 코어의 클러스터인 코어 컴플렉스(CCX) 아키텍처를 바꿔 캐시 연결 방식을 변경했습니다. 이건 매우 큰 변화입니다. 젠 계열 CPU 코어는 지금까지 4개의 코어가 1개의 CCX 클러스터를 구성했습니다. 4개의 CPU 코어가 L3 캐시를 공유하고, CCX 사이에는 버스를 통해 일관성을 유지합니다. 따라서 4개의 CPU 코어 이상이 필요한 작업인 경우 L3 캐시 레이턴시 성능이 떨어질 수 있습니다. 이 CCX를 바꾸면 게임이나 컨텐츠 제작 등에 큰 영향을 주게 됩니다.
젠3는 부스트 클럭도 올랐습니다. 7nm 공정의 개선을 통해 CPU 클럭을 더 끌어올렸다고 생각한다면 그리 놀랍지 않습니다. 하지만 젠2와 같은 클럭에서도 명령어 처리 성능이 19% 오르기에 기본 성능이 오르게 됩니다.
IPC가 19% 오른 내역입니다. 캐시 데이터 앞의 Cache Prefetching 개선이 2.7%, 실행 인진인 Execution Engine의 개선이 3.3%, 분기 예측 Branch Predictor의 개선이 1.3%, 내부 명령어 캐시인 Micro-op Cache의 개선이 2.7%, 프론트 엔드의 개선이 4.5%, 데이터 로드/스토어가 4.5%로 다 합해서 19%입니다.
CPU 기능 블럭에서 프론트 엔드 전체의 향상이 8.5%, 실행 엔진이 3.3%, 데이터 무브먼트가 7.2%입니다. 즉 젠3의 강화는 실행 엔진이 아니라 프론트 엔드와 데이터 무브먼트에서 나온 것입니다. 실행 엔진이 확장된 젠2와는 비율이 많이 다릅니다.
젠3의 마이크로 아키텍처 확장
젠3의 실행 엔진은 부동 소수점 연산 유닛과 정수 연산 유닛이 더 넓어졌다는게 AMD의 설명입니다. 슬라이드의 더 자세한 설명을 보면 더 넓은 명령 발행(wider issue)이라고 하는데요. 이대로라면 실행 유닛을 늘린게 아니라 실행 유닛을 분리해 명령 발행 포트가 분리된 것처럼 보입니다.
이건 젠2 아키텍처입니다. 정수 연산/로드/스토어가 7포트, 부동소수점 연산이 4포트로 스케줄러가 분리됐습니다. AMD가 밝힌 IPC 향상폭을 봐도 실행 엔진이 기여한 부분은 적기에, 여기에서 명령 포트를 분리했을 가능성이 높습니다. 인텔의 경우 부동소수점 연산에서 셔플 명령의 실행 유닛 포트를 분리한 적이 있습니다.
현재 고성능 CPU 기술에 경쟁이 치열한 분야 중 하나가 분기 예측입니다. AMD는 젠3에서 분기 예측 대역을 키우고 딜레이를 낮춰 '거품이 없다'고 말합니다. 명령 실행 파이프라인 안을 차지한 거품처럼 아무것도 실행하지 않는 순간이 없도록 제어했다는 말입니다. 또 젠2에서는 짧은 대기 시간을 예측하는데 Hash Perceptron, 긴 대기 시간은 TAGE(TAgged GEometric history length branch prediction)을 사용했는데, 젠3에서는 Hash Perceptron를 손본 것으로 보입니다.
IPC의 향상 부분을 보면 디코딩된 내부 명령어인 Micro-OP의 캐시 향상이 있습니다. 또 프론트 엔드 부분의 개선이 IPC에 큰 기여를 했지만, 그 정확한 내용은 밝혀지지 않았습니다. 로드/스토어는 그 수를 늘렸습니다. 내부에서 제어하는 수량을 늘린 것으로 보입니다. 프리페치는 알고리즘을 개량했으며 캐시 레벨의 변화에도 영향을 받았으리라 추측합니다.
5nm 공정으로 제조하는 젠4 아키텍처
AMD CPU는 현재 TSMC의 7nm 공정으로 제조합니다. 하지만 젠3가 TSMC의 어떤 7nm인지는 아직 모릅니다. TSMC 7nm에는 ArF 엑시머 레이저 광원의 액침 다중 노광 기술을 사용한 N7이 가장 먼저 나왔고, EUV(Extreme Ultraviolet)를 일부 사용한 향상 버전인 N7+, N7의 고성능 버전인 N7P, EUV를 더 많이 사용한 N6까지 7nm에 속합니다.
AMD는 젠4가 5nm를 최초로 사용하는 공정이라고 밝혔습니다. 이건 애널리스트 데이에서 이미 공개됐으며, 성능/전력 향상의 효과가 매우 크리라고 기대됩니다. 현재 최첨단 공정 경쟁은 5nm 노드까지 왔으며 TSMC와 삼성이 경쟁 중입니다. 하지만 두 회사의 5nm는 다른 부분이 많습니다.
TSMC의 첫 7nm인 N7은 액침 다중 노출 방식으로 기술적인 난이도가 아주 높진 않으나 5nm에서 공정을 대폭 개선합니다. 하지만 삼성은 7nm에서 EUV를 배선과 배선 사이에 도입해 TSMC보다 미세화 수준을 높였습니다. 그리고 삼성 5nm는 7nm와 같은 디자인이지만 DTCO (Design-Technology Co-Optimization)로 로직 셀을 줄입니다. 따라서 TSMC는 5nm를 정식 공적으로 취급하나 삼성의 5nm는 자사 7nm에서 파생된 공정으로 취급합니다. 하지만 두 회사의 5nm 스펙은 많이 비슷합니다.
TSMC의 삼성은 올해 5nm를 본격적으로 양산합니다. 애플 A14가 이미 TSMC의 N5로 생산 중입니다. PC용 고성능 CPU는 성능 튜닝에 시간이 걸리기에 2021년의 젠4가 되야 5nm를 쓰는 건 지극히 당연합니다. TSMC 5nm인 N5는 7nm의 N7과 비교해 동일 전력에서 15%의 속도 향상, 혹은 같은 속도에서 30%의 전력 절감 효과가 있습니다. 성능 향상 15%라면 적어 보이지만 이건 모바일의 이야기며, 젠4같은 CPU 제품에 eLVT를 적용하면 최고 25%의 속도 향상이 기대됩니다.
또 고성능 스탠다드 셀도 3핀/트랜지스터 라이브러리를 제공합니다. 3핀의 경우 모바일 2핀에 비해 성능이 10% 더 높으리라 기대됩니다. 이걸 그대로 CPU에 적용한다면 5nm의 젠4에서 몇십%의 성능/전력 향상이 기대됩니다. 또 로직 회로 밀도가 늘어나 같은 면적에 더 많은 트랜지스터를 넣어, 아키텍처를 확장할 수 있습니다.