
대략 3월 초 실물을 만나볼 수 있을 것으로 예상되는 AMD 라이젠(Ryzen)에 대한 관심으로 PC
시장이 뜨겁다.
무엇보다 큰 이유는 그동안 정체되어있던 PC 시장의 새로운 활력소가 될 것으로 기대되기
때문인인데, 가장 눈길을 끄는 부분은 인텔 코어 i7 6900K에 버금가는 성능(물론 실제 성능은 검증이
필요하겠지만)의 제품 가격이 그 절반 수준으로 책정된 것으로 알려진 점에 이의를 제기하긴 어려울 것이다.
심하게 말하면 산업 폐기물이라는 모욕까지 받았던 FX 시리즈. AMD는 2012년
파일드라이버 아키텍처 기반의 코드네임 비쉐라가 출시된 2012년 10월 이후 사실상 하이엔드 CPU 시장을 포기하고 라이젠
브랜드로 최종 확정된 후속 제품 개발에 올인한 결과물이 일반 소비자에게 전달되기 까지 한 달도 남지 않은 상황.
이번 기사에서는 횟수로 5년만에 심기일전하고 새롭게 등장할 AMD의 하이엔드 데스크탑
프로세서 라이젠의 근간을 이루는 젠(Zen) 아키텍처에 대한 이야기를 해보겠다.

엑스카베이터 대비 IPC 40% 향상, Zen 아키텍처의 비밀은?

AMD가 라이젠에 적용한 젠 아키텍처는 볼도저, 파일드라이버 아키텍처를 최적화한
스팀롤러, 엑스카베이터 중 6/ 7세대 APU에 적용된 엑스카베이터 아케틱처 대비 40%의 IPC 향상을 내세우고 있다.
이를 위해 AMD는 불도저 계열의 CMT(Cluster-based
Multithreading) 구조를 포기하고 인텔 하이퍼스레딩과 유사한 SMT(Simultaneous
Multithreading)구조 도입을 비롯해 아키텍처를 기본부터 재설계한 것으로 알려졌다.

전문적인 설명을 빼고 결론만 이야기하면, 젠 아키텍처는 코어 엔진 관련해서 코어당
2스레드, 개선된 분기예측, Op 캐시 신설로 인한 디코드 개선, 마이크로-옵 디스패치(Micro-op dispatch),
정수와 부동 소숫점 명령어 스케쥴러, 로드(Load)/ 스토어(Store)/ 리타이어(Retire) 큐 확대 등 대대적인
개선이 이뤄졌다.
또한 캐시 시스템의 속도 증가와 데이터 프리패치 개선, 두 배에 가까운 L1/ L2 캐시
대역폭 및 최대 다섯 배에 이른 L3 캐시 대역폭 개선, 분기 예측 실패시 패널티를 3 사이클로 개선, 최종적으로 엑스카베이터 아키텍처 대비 40%
이상의 IPC 향상과 15% 이상의 스위칭 용량 개선을 이뤄냈다.

기존 AMD CPU 아키텍처와 비교해 젠 아키텍처에서 주목할 변화 중 하나는 옵 캐시의
신설로, 기존 캐시가 디코드되지 않은 자료를 필요할 때 인출해 주는 것과 달리 옵 캐시는 이미 디코드된 마이크로옵을
저장, 경우에 따라 디코드 스테이지를 생략할 수 있다.
옵 캐시 도입과 함께 젠 아키텍처는 불도저의 모듈당 4개(코어당 2개꼴)의 디코더 대비
2배에 이르는 코어당 4개의 디코더를 탑재, 브로드웰과 동일한 사이클당 4~5개의 x86 명령어 처리가 가능해 작업 효율을
높일 수 있게 되었고, 디코더를 통해 실시간 디코드된 마이크로옵과 옵 캐시에 저장되었던
마이크로옵을 백엔드로 보내는 마이크로옵 대역폭은 스카이레이크와 동일한 사이클당 6개다.
정수 실행부의 경우 불도저의 코어당 2개 대비 4개로 늘어난 정수 유닛(ALU)과 2개의
로드&스토어 유닛(AGU)으로 구성된 4+2 구조이며, 젠의 부동소수점 유닛(FPU)은 하스웰/ 스카이레이크보다 2배 더
많은 4개지만, FPU당 2사이클당 256bit AVX 명령어를 처리할 수 있어, 하스웰/ 스카이레이크가
FPU 1사이클 당 256bit AVX 명령어를 처리할 수 있는 것과 비교할 때 전체적인 스루풋은 동일한 것으로 판단된다.

최근까지 논란이 되었던 6코어 12스레드 모델과 관련해 젠 아키텍처의 캐시 구조는 각
코어를 전담하는 L2 캐시의 내용을 L3 캐시에 전달하는 빅팀(Victim) 캐시 구조로 설계되었다. 불도저 아키텍처의 L2 캐시가 모듈
내에서 공유되고, 각 레벨별 캐시가 중복되는 내용이 없도록 크게 하나의 통합 캐시처럼 작동하던 것과 비교해 제어 알고리즘이
보다 단순 명료해지는 효과를 기대할 수 있다.
캐시 용량 또한 인텔 카비레이크의 코어당 L1/ L2 캐시보다 두 배 확대되어 싱글 스래드 성능
개선도 기대할 수 있는데, 정확한 수치는 공개되지는 않았으나 AMD는 젠의 캐시 대역폭이 불도저 대비 다섯배
수준으로 향상되었음을 알려왔다.
불도저의 성능 이슈 원인 중 하나가 캐시 성능 부족이었음을 감안하면 라이젠의 성능이
기대되는 내용이다.

젠 아키텍처 CPU의 기본 구조인 CCX(CPU Complex)를 보면 L3 캐시는
슬라이스(slice) 형태로 구성되어 있지만 로우 오더 어드래스 인터리브에 의해 각 코어가 모든 L3 캐시 슬라이스에
동일한 평균 레이턴시로 접속할 수 있다.
젠 아키텍처의 CCX는 외형상 불도저의 모듈 구조와 동일해 보이지만 각 코어끼리 중첩되거나
공유하는 기능이 없기 때문에, 특정 조건에서만 제대로된 성능을 발휘하거나 낮아지는 문제는 없을 것으로 예상된다.
하이퍼트랜스포트 대체, 인피니티 패브릭 지원

한편, 젠의 칩내 인터커넥트는 하이퍼 트랜스포트(Hyper Transport)를 기반으로 재설계된 Infinity
Fabric(인피니티 패브릭, IF)이 적용되었는데, 해당 인터커넥트 기술은 젠을 포함해 앞으로 출시 예정인 Vega에도 적용될 예정으로 알려졌다.

완전한 모듈 방식의 IF는 외부 멀티 프로세서와 내부 코어 스케일
업등 다양한 연결 토폴로지 환경에서 캐시 일관성을 제공하며, 젠의 신경망 예측 구현에 일조하는 지능형 데이터 접근 제어
방식의 Control-Fabric과
하이퍼 트랜스포트에 가까운 방식으로 대용ㄹ양 데이터 고속전송을 담당하는 Data-Fabric으로 구성되어 있다.
IF가 젠에 어떤 방식으로 적용되었는지 구체적인 정보는 확인되지
않았지만, 공개된 정보에 따르면 노트북에서의 대역폭은 30GB/s ~ 50GB/s로 최대 51.2GB/s 대역폭의 하이퍼 트랜스포트 3.1의
최대치에 가까운 대역폭을 제공하며, Vega GPU서는 HT 3.1의 열 배에 달하는 512GB/s의 대역폭을 구현한다.
참고로 IF는 GPU와 x85
서버 SoCs간의 클러스터링 링크, 네트워크 온 칩 솔루션에서도 사용 가능하다.

또한 모듈 방식을 사용함에 따라 추가 자원 투입을 최소화하면서 디자인의 스케일 업/ 다운
작업을 빠르게 끝낼 수 있는 것이 Infinity Fabric의 특징 중 하나로, AMD가 Zen 아키텍처를 임베디드/ 노트북/ 데스크탑/
서버 마켓 맞춰 스케일링 할 것이란 계획은 Infinity Fabric 기반으로 진행되리라 판단된다.

SMT는 프론트엔드의 스케줄링 방식으로 시분할(라운드 로빈) 방식이 쓰이는데, 젠
아키텍처에는 여기에 필요한 경우 우선 순위를 부여할 수 있도록 변형된 알고리즘을 사용해 1스레드 동작 모드에서도 모든
자원을 사용할 수 있도록 설계되었다.
이는 불도저 아키텍처가 모듈 단일 스레드 동작 환경에서도 모듈 내 모든 자원을 활용하지
못했던 문제를 개선하기 위한 것으로 부동소수점과 정수 스케줄러, 분기 예측기에 대해 알고리즘에 의해 우선 순위를 판별하고,
청녹색 부분에서는 레이턴시가 중요한 입출력등의 작업에서 태그한 우선 순위에 따라 동작한다.
우선 순위를 고려할 필요가 없는 마이크로 옵 큐와 라티이어 큐, 스토어 큐는 정적
방식으로 두 스레드의 공간을 분리하며, 그 외 부분에 대해서는 각 스레드가 필요한 유닛을 선점한 순으로 점유한다.