벤치리뷰·뉴스·정보/아키텍처·정보분석

[분석정보] AMD가 차세대 Zen 개요를 더욱 밝혀

tware 2016. 8. 25. 18:00


 AMD가 차세대 GPU 코어 "Zen"의 베일을 더욱 벗겼다. 미국 쿠퍼티노에서 8월 21 ~ 23 일에 개최된 반도체 칩 컨퍼런스 "Hot Chips 28"의 최종 세션에서 AMD는 Zen에 대한 더 자세히 발표했다.


AMD의 Zen CPU 코어의 전체 모습


 이번으로 28번째로 역사를 새기는 Hot Chips은 첨단 프로세서 기술을 선보이는 장이 되었다. 고성능 프로세서의 세션은 최종일의 최후에 진행됐다. 이번에는 IBM의 새로운 CPU "Power 9"와 Intel의 "Skylake"그리고 AMD의 Zen 세션이 진행됐다.


 Zen 프런트엔드에서는 알고리즘은 공개되지 않았지만, 분기 예측이 대폭 강화 되었다. BTB (Branch Target Buffer) 엔트리마다 2 분기가 지원되고, 연산 파이프도 2개의 ALU가 분기 유닛을 갖는다. 명령 측의 Translation Lookaside Buffer (TLB)는 3레벨이 되어, 8 엔트리의 L0 TLB, 64 엔트리의 L1 TLB, 512 엔트리의 L2 TLB가 되었다.


Zen의 명령어 인출 구조


Zen의 명령 디코더



 명령 디코드는 4 명령 / 사이클로, x86 / x64 명령을 내부 명령 Micro-op로 변환한다. AMD 아키텍처에서는, 전통적으로 Micro-op는 CISC (Complex Instruction Set Computer)의 특성을 남긴 복합 op인 Micro-op가 된다. Micro-op는 디스패치 스테이지에서, 오퍼레이션 단위의 심플한 Micro-op로 분해된다. AMD는 이전에는 복합형의 Micro-op를 "Macro-op"라 불렀지만, Zen에서는 그러한 호칭 분류를 하지 않았기 때문에, 다소 이해하기 어렵다.



내부 명령은 복합형 Micro-op와 싱글 오퍼레이션인 Micro-op의 2 단계


 Zen에서 x86 / x64 명령은, 거의 1 대 1로 Micro-op로 변환된다. 디코더에 컴플렉스와 심플의 차이는 없다. 디코더에서 Micro-op큐로 보낸다. 마이크로 코드 ROM은, 이 Micro-op큐의 아래에 있다. 또 x86의 스택 조작을 줄이기 위해, 하드웨어 스택 엔진도 마련했다. AMD는 Micro-op를 캐시하는 Op ​​캐시도 갖춘다. 가변장이며 가변 포맷이기 때문에 명령 디코드가 매우 무거운 x86 / x64 명령 디코드를 스킵하는 것으로, 성능을 높일뿐만 아니라 전력을 절감한다. Op 캐시는 트레이스 캐시가 아닌, 명령 캐시 가져올 때의 Micro 태그로 끈을 달아둔다.


 큐로부터 Micro-op의 디스패치는 최대 6Micro-op / 사이클이 된다. 또 AMD는 분기 퓨전을 해서 (처리 해야할)명령 수를 줄인다. Intel 아키텍처에서 퓨전은 디코더 스테이지에서 행하지만, Zen은 큐에서 디스패치의 단계에서 행한다.


 Zen의 정수계 실행 파이프는 6개로, 스케줄러는 각 14큐. 최대 6op 발행 / 사이클로, 4 개가 연산 파이프 (ALU) 2개의 로드 / 스토어 파이프의 주소 생성 (AGU)이 된다. 물리 레지스터는 168으로 SMT (Simultaneous Multithreading)의 2스레드에서 물리 레지스터를 공유한다. ALU 중 1개는 곱하기 (MUL)을, 1개가 나누기 (DIV)를, 2개가 분기를 갖는다. 아웃 오브 오더의 리타이어는 8-wide로 광폭이다.


 로드 / 스토어는 72의 아웃 오브 오더 로드를 온더 플라이로 지원. 스토어 큐도 44 엔트리를 갖춘다. 데이터 측의 TLB는 64 엔트리 L1 TLB와 1.5K 엔트리 L2 TLB. L1과 L2에 프리 페처를 갖춘다.


Zen 연산 유닛



4 코어로 1 클러스터를 구성하는 Zen 프로세서


 부동 소수점 연산 엔진은 4 파이프. 128-bit 폭 SIMD (Single Instruction, Multiple Data)의 곱셈 (MUL)과 더하기 (ADD) 파이프 쌍이 2조로 되어 있다. 실제로는, MUL 파이프는 적화산 (MAD) 파이프로, FMA 명령어를 실행 가능하다. 다만 그 때에 ADD 파이프 측의 레지스터 포트를 한개 사용한다. 256-bit SIMD 명령을 실행하는 경우 2 파이프를 사용한다. x86 / x64 계의 SIMD 명령은, SSE / AVX1 / AVX2와 레거시인 MMX도 망라한​​다.


 Zen의 FP SIMD 유닛은, Intel의 현재 아키텍처와 비교하면 처리량은 반감 된다. 그러나 AMD는 강력한 GPU 코어를 범용 컴퓨팅에 사용할 수 있다. 부동 소수점 계의 스케줄러의 큐는 2 단계로 되어 있다.


Zen의 FP SIMD 엔진 부


4CPU 코어와 L3 캐시로 Zen의 CPU 콤플렉스는 구성된다


 이번 Zen 아키텍처는, 4CPU 코어로 1개의 "CPU COMPLEX"를 구성하고 있다. L3 캐시도 포함한 4CPU 코어 단위의 컴플렉스로, 8코어 구성의 경우는 콤플렉스를 2개로 한다. L3는 각 CPU 코어에 부속된 4 슬라이스로 나누어져 있는데, 평균 액세스 레이턴시는 같다.


 캐시 계층은 3 단계 + op 캐시. L1 명령 캐시가 64KB 4-way, L1 데이터 캐쉬가 32KB 8-way, L2는 512KB 16-way로 상대적으로 작다. 4코어에서 공유 L3 캐시는 8MB 16-way에, 기존의 L3가 단일 포트였던 것에 비해, Zen에서는 각 CPU 코어마다 32-byte의 리드와 라이트가 가능한 포트가 설치되어 있다. Zen에서도 빅팀 캐시 방식을 취한다.


Zen 캐시 계층


Zen의 SMT (Simultaneous Multithreading) 구성


 Zen의 SMT (Simultaneous Multithreading)는 2스레드의 병렬 실행으로, 실행 파이프나 캐시는 스레드간에 완전히 공유된다 (인텔과 같은 형태). 정수 파이프가 스레드마다 나누어져 있던 (모듈내의 2개의 정수 코어라고 했던 것) 기존의 AMD Bulldozer 계 구조와 다르다. Micro-op 큐와 리타이어 큐, 스토어 큐는 스레드마다 분리되어 있다. 레지스터는 물리 레지스터의 풀을 양 스레드에 동적으로 할당한다. (불도저 계열은 최초 나올때는 다들 1모듈내 2코어식으로 해서 8코어라고 했지만, 언제부턴가 여러 언론들에서 4코어 8스레드식으로 말을 합니다. 윈도에서도 윈도7은 패치이후, 윈도8 이상은 4코어 8논리 프로세서라고 표기가 되기도 하구요.)



NVIDIA GPU와 코히렌트 연결이 가능한 Power9


 IBM은 거대 서버 CPU의 정점인 Power 패밀리의 최신 CPU "Power9"를 발표했다. 2013 년 Hot Chips에서 발표한 "Power 8" 이후 3년만이다. 투입은 내년 (2017년).


 14nm FinFET 공정으로 제조되며, 17 층으로 이례적인 스택 수의 배선 계층의 공정을 사용한다. 트랜지스터 수는 80억. 120MB라는 방대한 eDRAM 캐시를 탑재하고, 온칩 캐시 계층의 대역은 합계로 7TB/s가 된다.


IBM의 Power도 FinFET 공정으로


거대 다이의 Power9


 CPU 코어 마이크로 아키텍처를 쇄신, 명령어 세트도 Power ISA v3.0이 되었다. CPU 코어는 확장 가능한 모듈러 설계로 되어 있으며, 4 스레드 SMT (Simultaneous Multithreading)의 "SMT4 Core" 와, 8 스레드 SMT의"SMT8 Core "의 양쪽의 구성이 제공된다. SMT4의 경우는 24 코어 / 다이, SMT8의 경우는 12 코어가 된다. 거기에 DDR4를 8ch 다이렉트 액세스하거나, 메모리 버퍼를 쓰거나의 구성의 차이가 있다.


4 스레드 코어, 8 스레드 코어의 두 가지 구성이 가능


CPU 코어의 구성과 메모리 인터페이스로 4 종류의 Power9가 있다.


 IBM은 Power 8에서 코프로세서를 연결하는 전용 포트를 장착했다. Power9에서는 발전시킨 25GHz 전송 속도의 BlueLink를 갖춘다. BlueLink PHY는 NVIDIA의 차세대 칩 인터커넥트 "NVLink 2.0"을 지원하고, NVIDIA GPU 코어를 메모리 코히렌시를 유지하며 연결 가능하도록 한다. CPU를 강화할뿐만 아니라, 이기종 컴퓨팅으로도 손을 뻗는다.


NVIDIA와의 협력에 의한 이기종 컴퓨팅



Intel은 Skylake 프론트엔드 확장을 명확히


 Intel은 1년 전에 발표한 "Skylake"를 한바퀴 지연 Hot Chips에서 발표했다. Skylake는 작년 (2015년)의 Intel의 기술 컨퍼런스 "Intel Developer Forum (IDF)"에서 발표되었지만, 기존과 달리 정보 공개가 매우 제한되어 있었다. 1년이 지난 이번에는 드디어 마이크로 아키텍처의 상세함을 명확히 말했다.


 Intel은 CPU의 마이크로 아키텍처를 단계적으로 개량하고 있으며, 그에 따라 Skylake는 매우 복잡한 마이크로 아키텍쳐가 되었다. Skylake는 CPU 파이프 라인의 프론트 엔드를 크게 확장한 것이 아키텍처상의 특징으로 있다. 구체적으로는, 기존에는 4 명령 / 사이클이었던 명령 디코드를 5 명령 / 사이클로 확장했다.


대폭 확장된 Skylake 프론트 엔드


 Intel 아키텍처도 AMD와 마찬가지로, CISC (Complex Instruction Set Computer)의 특징을 어느정도 남긴 채 내부 명령 Micro-op로 변환한다. 디스패치의 단계에서 오퍼레이션 단위의 Micro-op로 분해한다. 또 Micro-op를 캐시하는 uOP 캐쉬를 갖춘다. uOP 캐시로 부터의 디스패치는 기존 4uOPs / 사이클 이었지만, Skylake는 6uOPs / 사이클로 확장 되었다.


 작년 (2015년) IDF에서는, 이러한 정보는 세션에서는 밝혀지지 않고, 아키텍트에게 직접 질문하지 않으면 나오지 않았다. 이번 Hot Chips에서는 공식적으로 프론트 엔드 확장이 밝혀졌다. Skylake에서는 실행 유닛 측은 그렇게 확장되지 않았다.


스카이레이크 코어 다이어그램


스카이레이크 실행 유닛


2016년 8월 25일 기사


[분석정보] AMD가 차세대 CPU Zen 아키텍처의 개요를 발표



[분석정보] AMD Zen코어를 채용 Summit Ridge를 첫 공개



[분석정보] IPC가 40% 향상된 AMD의 차세대 CPU Zen과 2017년 까지의 로드맵



[분석정보] AMD, 차세대 CPU"Zen"은 8코어 16스레드의 하이엔드



[분석정보] IBM이 기술의 집대성 괴물 CPU Power8 발표



[분석정보] IBM, Oracle, 후지쯔가 최첨단 프로세서를 선보이다



[분석정보] 8 코어 AMD FX가 쿼드 코어로, MS의 불도저 아키텍처 최적화 패치



[분석정보] AMD 불도저 제품은 4GHz 이상



[분석정보] 드디어 등장한 최상위 x86 서버 프로세서, 아이비브릿지 세대 제온 E7 v2 시리즈



[분석정보] Skylake 아키텍처의 수수께끼 2 - 5명령 디코더와 6명령 uOP캐시



[분석정보] Skylake의 SpeedShift로 P스테이트의 소비 전력 삭감을 실현



[분석정보] 인텔의 차세대 마이크로 아키텍처 스카이레이크



[분석정보] 슬라이드로 보는 Skylake 아키텍처의 개요



[분석정보] GPU 컴퓨팅 기능을 강화한 Skylake의 GPU



[분석정보] 실행 모델을 변경한 Skylake의 GPU 코어, 보다 일반적인 GPU 컴퓨팅으로 향한 설계



[분석정보] 2016년 (서버) 프로세서와 운영체제 동향